summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPatrick J Volkerding <volkerdi@slackware.com>2018-05-25 23:29:36 +0000
committerEric Hameleers <alien@slackware.com>2018-05-31 15:04:55 -0700
commitd8220d28e5d53cd896b28d9dea13e2258923f35a (patch)
tree0ae3d22871d934a49ba1689084ba6fe301ee48e0
parent5a12e7c134274dba706667107d10d231517d3e05 (diff)
downloadcurrent-13.0.tar.gz
Fri May 25 23:29:36 UTC 201813.0
patches/packages/glibc-zoneinfo-2018e-noarch-2_slack13.0.txz: Rebuilt. Handle removal of US/Pacific-New timezone. If we see that the machine is using this, it will be automatically switched to US/Pacific.
-rw-r--r--ChangeLog.txt3798
-rw-r--r--FILELIST.TXT7177
-rw-r--r--GPG-KEY22
-rw-r--r--READ_DVD.TXT9105
-rw-r--r--extra/source/wicd/README.SLACKWARE8
-rw-r--r--extra/source/wicd/doinst.sh1
-rwxr-xr-xextra/source/wicd/wicd.SlackBuild31
-rw-r--r--extra/wicd/README.SLACKWARE8
-rw-r--r--isolinux/isolinux.bootbin2048 -> 0 bytes
-rw-r--r--pasture/source/seamonkey/doinst.sh11
-rw-r--r--pasture/source/seamonkey/seamonkey-icon.pngbin0 -> 12796 bytes
-rw-r--r--pasture/source/seamonkey/seamonkey-mail-icon.pngbin0 -> 185 bytes
-rw-r--r--pasture/source/seamonkey/seamonkey-mail.desktop8
-rwxr-xr-xpasture/source/seamonkey/seamonkey.SlackBuild236
-rw-r--r--pasture/source/seamonkey/seamonkey.desktop8
-rw-r--r--pasture/source/seamonkey/seamonkey.moz_plugin_path.diff16
-rw-r--r--pasture/source/seamonkey/seamonkey.sqlite3.static.diff11
-rw-r--r--pasture/source/seamonkey/slack-desc19
-rw-r--r--patches/packages/MPlayer-1.2_20160125-x86_64-1_slack13.0.txt11
-rw-r--r--patches/packages/acl-2.2.50-x86_64-1_slack13.0.txt11
-rw-r--r--patches/packages/apr-1.4.5-x86_64-1_slack13.0.txt11
-rw-r--r--patches/packages/apr-util-1.4.1-x86_64-1_slack13.0.txt11
-rw-r--r--patches/packages/bash-3.1.023-x86_64-1_slack13.0.txt11
-rw-r--r--patches/packages/bind-9.9.11_P1-x86_64-1_slack13.0.txt11
-rw-r--r--patches/packages/bzip2-1.0.6-x86_64-1_slack13.0.txt11
-rw-r--r--patches/packages/cairo-1.8.8-x86_64-1_slack13.0.txt11
-rw-r--r--patches/packages/coreutils-8.15-x86_64-1_slack13.0.txt11
-rw-r--r--patches/packages/cups-1.3.11-x86_64-3_slack13.0.txt11
-rw-r--r--patches/packages/curl-7.55.0-x86_64-1_slack13.0.txt11
-rw-r--r--patches/packages/dhcp-4.4.1-x86_64-1_slack13.0.txt11
-rw-r--r--patches/packages/dhcpcd-3.2.3-x86_64-2_slack13.0.txt11
-rw-r--r--patches/packages/dnsmasq-2.78-x86_64-1_slack13.0.txt11
-rw-r--r--patches/packages/emacs-25.3-x86_64-1_slack13.0.txt11
-rw-r--r--patches/packages/expat-2.2.2-x86_64-1_slack13.0.txt11
-rw-r--r--patches/packages/fetchmail-6.3.20-x86_64-1_slack13.0.txt11
-rw-r--r--patches/packages/fixesproto-5.0-x86_64-1_slack13.0.txt11
-rw-r--r--patches/packages/freetype-2.5.5-x86_64-2_slack13.0.txt11
-rw-r--r--patches/packages/gimp-2.6.8-x86_64-1_slack13.0.txt11
-rw-r--r--patches/packages/git-2.14.1-x86_64-1_slack13.0.txt11
-rw-r--r--patches/packages/glibc-2.9-x86_64-7_slack13.0.txt11
-rw-r--r--patches/packages/glibc-i18n-2.9-x86_64-7_slack13.0.txt11
-rw-r--r--patches/packages/glibc-profile-2.9-x86_64-7_slack13.0.txt11
-rw-r--r--patches/packages/glibc-solibs-2.9-x86_64-7_slack13.0.txt11
-rw-r--r--patches/packages/glibc-zoneinfo-2018e-noarch-2_slack13.0.txt11
-rw-r--r--patches/packages/gnupg-1.4.22-x86_64-1_slack13.0.txt11
-rw-r--r--patches/packages/gnupg2-2.0.12-x86_64-2_slack13.0.txt11
-rw-r--r--patches/packages/gnutls-2.8.4-x86_64-4_slack13.0.txt11
-rw-r--r--patches/packages/gzip-1.4-x86_64-1_slack13.0.txt11
-rw-r--r--patches/packages/hplip-3.9.4b-x86_64-3_slack13.0.txt11
-rw-r--r--patches/packages/httpd-2.2.34-x86_64-2_slack13.0.txt11
-rw-r--r--patches/packages/inputproto-2.3.2-noarch-1_slack13.0.txt11
-rw-r--r--patches/packages/irssi-0.8.21-x86_64-2_slack13.0.txt11
-rw-r--r--patches/packages/jasper-1.900.1-x86_64-3_slack13.0.txt11
-rw-r--r--patches/packages/kdebase-workspace-4.2.4-x86_64-2_slack13.0.txt11
-rw-r--r--patches/packages/libX11-1.6.4-x86_64-1_slack13.0.txt11
-rw-r--r--patches/packages/libXcursor-1.1.15-x86_64-1_slack13.0.txt11
-rw-r--r--patches/packages/libXext-1.3.3-x86_64-1_slack13.0.txt11
-rw-r--r--patches/packages/libXfixes-5.0.3-x86_64-1_slack13.0.txt11
-rw-r--r--patches/packages/libXfont-1.4.7-x86_64-2_slack13.0.txt11
-rw-r--r--patches/packages/libXi-1.7.8-x86_64-1_slack13.0.txt11
-rw-r--r--patches/packages/libXrandr-1.5.1-x86_64-1_slack13.0.txt11
-rw-r--r--patches/packages/libXrender-0.9.10-x86_64-1_slack13.0.txt11
-rw-r--r--patches/packages/libXtst-1.2.3-x86_64-1_slack13.0.txt11
-rw-r--r--patches/packages/libXv-1.0.11-x86_64-1_slack13.0.txt11
-rw-r--r--patches/packages/libXvMC-1.0.10-x86_64-1_slack13.0.txt11
-rw-r--r--patches/packages/libexif-0.6.21-x86_64-1_slack13.0.txt11
-rw-r--r--patches/packages/libgcrypt-1.5.6-x86_64-1_slack13.0.txt11
-rw-r--r--patches/packages/libgpg-error-1.11-x86_64-1_slack13.0.txt11
-rw-r--r--patches/packages/libidn-1.34-x86_64-1_slack13.0.txt11
-rw-r--r--patches/packages/libjpeg-6b-x86_64-6_slack13.0.txt11
-rw-r--r--patches/packages/libpng-1.2.57-x86_64-1_slack13.0.txt11
-rw-r--r--patches/packages/libtiff-3.9.7-x86_64-1_slack13.0.txt11
-rw-r--r--patches/packages/libwmf-0.2.8.4-x86_64-5_slack13.0.txt11
-rw-r--r--patches/packages/libxcb-1.11.1-x86_64-2_slack13.0.txt11
-rw-r--r--patches/packages/libxml2-2.7.3-x86_64-5_slack13.0.txt11
-rw-r--r--patches/packages/linux-2.6.29.6-3/kernel-firmware-2.6.29.6-noarch-3.txt11
-rw-r--r--patches/packages/linux-2.6.29.6-3/kernel-generic-2.6.29.6-x86_64-3.txt11
-rw-r--r--patches/packages/linux-2.6.29.6-3/kernel-headers-2.6.29.6-x86-3.txt11
-rw-r--r--patches/packages/linux-2.6.29.6-3/kernel-huge-2.6.29.6-x86_64-3.txt11
-rw-r--r--patches/packages/linux-2.6.29.6-3/kernel-modules-2.6.29.6-x86_64-3.txt11
-rw-r--r--patches/packages/linux-2.6.29.6-3/kernel-source-2.6.29.6-noarch-3.txt11
-rw-r--r--patches/packages/lm_sensors-3.3.4-x86_64-1_slack13.0.txt11
-rw-r--r--patches/packages/lynx-2.8.8rel.2-x86_64-1_slack13.0.txt11
-rw-r--r--patches/packages/mailx-12.5-x86_64-1_slack13.0.txt11
-rw-r--r--patches/packages/mercurial-3.8.1-x86_64-1_slack13.0.txt11
-rw-r--r--patches/packages/mesa-7.5-x86_64-2.txt11
-rw-r--r--patches/packages/minicom-2.7.1-x86_64-1_slack13.0.txt11
-rw-r--r--patches/packages/mozilla-firefox-3.6.28-x86_64-1_slack13.0.txt11
-rw-r--r--patches/packages/mozilla-thunderbird-3.1.20-x86_64-1_slack13.0.txt11
-rw-r--r--patches/packages/mysql-5.0.96-x86_64-2_slack13.0.txt11
-rw-r--r--patches/packages/ntp-4.2.8p10-x86_64-1_slack13.0.txt11
-rw-r--r--patches/packages/openssh-7.4p1-x86_64-2_slack13.0.txt11
-rw-r--r--patches/packages/openssl-0.9.8zh-x86_64-2_slack13.0.txt11
-rw-r--r--patches/packages/openssl-solibs-0.9.8zh-x86_64-2_slack13.0.txt11
-rw-r--r--patches/packages/openvpn-2.4.6-x86_64-1_slack13.0.txt11
-rw-r--r--patches/packages/patch-2.7.4-x86_64-2_slack13.0.txt11
-rw-r--r--patches/packages/php-5.3.29-x86_64-1_slack13.0.txt11
-rw-r--r--patches/packages/pidgin-2.12.0-x86_64-1_slack13.0.txt11
-rw-r--r--patches/packages/poppler-0.10.7-x86_64-3_slack13.0.txt11
-rw-r--r--patches/packages/ppp-2.4.4-x86_64-2_slack13.0.txt11
-rw-r--r--patches/packages/proftpd-1.3.5e-x86_64-1_slack13.0.txt11
-rw-r--r--patches/packages/randrproto-1.5.0-noarch-1_slack13.0.txt11
-rw-r--r--patches/packages/rdesktop-1.6.0-x86_64-2_slack13.0.txt11
-rw-r--r--patches/packages/recordproto-1.14.2-noarch-1_slack13.0.txt11
-rw-r--r--patches/packages/rsync-3.1.3-x86_64-1_slack13.0.txt11
-rw-r--r--patches/packages/rxvt-2.7.10-x86_64-5_slack13.0.txt11
-rw-r--r--patches/packages/samba-3.2.15-x86_64-5_slack13.0.txt11
-rw-r--r--patches/packages/seamonkey-2.0.14-x86_64-1_slack13.0.txt11
-rw-r--r--patches/packages/seamonkey-solibs-2.0.14-x86_64-1_slack13.0.txt11
-rw-r--r--patches/packages/sendmail-8.14.9-x86_64-1_slack13.0.txt11
-rw-r--r--patches/packages/sendmail-cf-8.14.9-noarch-1_slack13.0.txt11
-rw-r--r--patches/packages/slocate-3.1-x86_64-4_slack13.0.txt11
-rw-r--r--patches/packages/stunnel-5.35-x86_64-2_slack13.0.txt11
-rw-r--r--patches/packages/subversion-1.6.21-x86_64-1_slack13.0.txt11
-rw-r--r--patches/packages/sudo-1.8.20p2-x86_64-1_slack13.0.txt11
-rw-r--r--patches/packages/t1lib-5.1.2-x86_64-2_slack13.0.txt11
-rw-r--r--patches/packages/vsftpd-2.3.5-x86_64-1_slack13.0.txt11
-rw-r--r--patches/packages/wget-1.19.5-x86_64-1_slack13.0.txt11
-rw-r--r--patches/packages/wicd-1.7.2.4-x86_64-2_slack13.0.txt11
-rw-r--r--patches/packages/xcb-proto-1.11-x86_64-1_slack13.0.txt11
-rw-r--r--patches/packages/xextproto-7.3.0-x86_64-1_slack13.0.txt11
-rw-r--r--patches/packages/xorg-server-1.6.3-x86_64-4_slack13.0.txt11
-rw-r--r--patches/packages/xorg-server-xephyr-1.6.3-x86_64-4_slack13.0.txt11
-rw-r--r--patches/packages/xorg-server-xnest-1.6.3-x86_64-4_slack13.0.txt11
-rw-r--r--patches/packages/xorg-server-xvfb-1.6.3-x86_64-4_slack13.0.txt11
-rw-r--r--patches/packages/xpdf-3.03-x86_64-1_slack13.0.txt11
-rw-r--r--patches/packages/xproto-7.0.29-noarch-1_slack13.0.txt11
-rw-r--r--patches/packages/xrdb-1.0.9-x86_64-1_slack13.0.txt11
-rw-r--r--patches/packages/yasm-1.2.0-x86_64-1_slack13.0.txt11
-rwxr-xr-xpatches/source/MPlayer/MPlayer.SlackBuild488
-rw-r--r--patches/source/MPlayer/slack-desc20
-rwxr-xr-xpatches/source/acl/acl.SlackBuild120
-rw-r--r--patches/source/acl/acl.destdir.diff36
-rw-r--r--patches/source/acl/slack-desc19
-rwxr-xr-xpatches/source/apr-util/apr-util.SlackBuild112
-rw-r--r--patches/source/apr-util/slack-desc19
-rwxr-xr-xpatches/source/apr/apr.SlackBuild98
-rw-r--r--patches/source/apr/slack-desc19
-rwxr-xr-xpatches/source/bash/bash.SlackBuild107
-rw-r--r--patches/source/bash/doinst.sh18
-rw-r--r--patches/source/bash/patches/bash31-001104
-rw-r--r--patches/source/bash/patches/bash31-002239
-rw-r--r--patches/source/bash/patches/bash31-00347
-rw-r--r--patches/source/bash/patches/bash31-00448
-rw-r--r--patches/source/bash/patches/bash31-00554
-rw-r--r--patches/source/bash/patches/bash31-00658
-rw-r--r--patches/source/bash/patches/bash31-007121
-rw-r--r--patches/source/bash/patches/bash31-00851
-rw-r--r--patches/source/bash/patches/bash31-00966
-rw-r--r--patches/source/bash/patches/bash31-01054
-rw-r--r--patches/source/bash/patches/bash31-01147
-rw-r--r--patches/source/bash/patches/bash31-01247
-rw-r--r--patches/source/bash/patches/bash31-01344
-rw-r--r--patches/source/bash/patches/bash31-014105
-rw-r--r--patches/source/bash/patches/bash31-015106
-rw-r--r--patches/source/bash/patches/bash31-01651
-rw-r--r--patches/source/bash/patches/bash31-017131
-rw-r--r--patches/source/bash/patches/bash31-018104
-rw-r--r--patches/source/bash/patches/bash31-01943
-rw-r--r--patches/source/bash/patches/bash31-020217
-rw-r--r--patches/source/bash/patches/bash31-021147
-rw-r--r--patches/source/bash/patches/bash31-02259
-rw-r--r--patches/source/bash/patches/bash31-023125
-rw-r--r--patches/source/bash/slack-desc19
-rw-r--r--patches/source/bind/3link.sh136
-rwxr-xr-xpatches/source/bind/bind.SlackBuild165
-rw-r--r--patches/source/bind/bind.so_bsdcompat.diff11
-rw-r--r--patches/source/bind/caching-example/localhost.zone11
-rw-r--r--patches/source/bind/caching-example/named.conf31
-rw-r--r--patches/source/bind/caching-example/named.local10
-rw-r--r--patches/source/bind/caching-example/named.root90
-rw-r--r--patches/source/bind/doinst.sh36
-rw-r--r--patches/source/bind/rc.bind112
-rw-r--r--patches/source/bind/slack-desc19
-rwxr-xr-xpatches/source/bzip2/bzip2.SlackBuild121
-rw-r--r--patches/source/bzip2/bzip2.saneso.diff20
-rw-r--r--patches/source/bzip2/slack-desc19
-rwxr-xr-xpatches/source/cairo/cairo.SlackBuild98
-rw-r--r--patches/source/cairo/slack-desc20
-rw-r--r--patches/source/coreutils/DIR_COLORS235
-rw-r--r--patches/source/coreutils/coreutils-dircolors.csh48
-rw-r--r--patches/source/coreutils/coreutils-dircolors.sh54
-rwxr-xr-xpatches/source/coreutils/coreutils.SlackBuild195
-rw-r--r--patches/source/coreutils/coreutils.uname.diff152
-rw-r--r--patches/source/coreutils/doinst.sh13
-rw-r--r--patches/source/coreutils/slack-desc19
-rw-r--r--patches/source/cups/cups-1.3.x.CVE-2010-0542.diff25
-rw-r--r--patches/source/cups/cups-1.3.x.CVE-2010-2941.diff44
-rwxr-xr-xpatches/source/cups/cups.SlackBuild185
-rw-r--r--patches/source/cups/cups.firefox.desktop.diff11
-rw-r--r--patches/source/cups/doinst.sh28
-rw-r--r--patches/source/cups/slack-desc19
-rw-r--r--patches/source/cups/str4609-1.3.patch324
-rwxr-xr-xpatches/source/curl/cacert-fetch.sh1
-rw-r--r--patches/source/curl/cacert.pem3955
-rwxr-xr-xpatches/source/curl/curl.SlackBuild152
-rw-r--r--patches/source/curl/slack-desc19
-rw-r--r--patches/source/dhcp/dhclient-script.PATH.diff13
-rwxr-xr-xpatches/source/dhcp/dhcp-remove-bind-tarball.sh49
-rwxr-xr-xpatches/source/dhcp/dhcp.SlackBuild179
-rw-r--r--patches/source/dhcp/doinst.sh21
-rw-r--r--patches/source/dhcp/slack-desc19
-rw-r--r--patches/source/dhcpcd/COPYRIGHT26
-rwxr-xr-xpatches/source/dhcpcd/dhcpcd.SlackBuild127
-rw-r--r--patches/source/dhcpcd/dhcpcd.vararg.diff30
-rw-r--r--patches/source/dhcpcd/patches/config.h.diff17
-rw-r--r--patches/source/dhcpcd/patches/dhcpcd.8.in.diff12
-rw-r--r--patches/source/dhcpcd/patches/dhcpcd.sh.diff17
-rw-r--r--patches/source/dhcpcd/patches/dhcpcd3.sanitize_strings.diff346
-rw-r--r--patches/source/dhcpcd/slack-desc19
-rwxr-xr-xpatches/source/dnsmasq/dnsmasq.SlackBuild107
-rw-r--r--patches/source/dnsmasq/dnsmasq.leasedir.diff24
-rw-r--r--patches/source/dnsmasq/doinst.sh26
-rw-r--r--patches/source/dnsmasq/rc.dnsmasq36
-rw-r--r--patches/source/dnsmasq/slack-desc19
-rw-r--r--patches/source/emacs/doinst.sh10
-rwxr-xr-xpatches/source/emacs/emacs.SlackBuild190
-rw-r--r--patches/source/emacs/slack-desc12
-rwxr-xr-xpatches/source/expat/expat.SlackBuild101
-rw-r--r--patches/source/expat/slack-desc19
-rwxr-xr-xpatches/source/fetchmail/fetchmail.SlackBuild107
-rw-r--r--patches/source/fetchmail/slack-desc19
-rw-r--r--patches/source/fixesproto/arch.use.flags9
-rw-r--r--patches/source/fixesproto/build/fixesproto1
-rw-r--r--patches/source/fixesproto/configure/configure13
-rwxr-xr-xpatches/source/fixesproto/fixesproto.SlackBuild2
-rw-r--r--patches/source/fixesproto/modularize279
-rw-r--r--patches/source/fixesproto/noarch75
-rw-r--r--patches/source/fixesproto/package-blacklist44
-rw-r--r--patches/source/fixesproto/slack-desc/fixesproto19
-rwxr-xr-xpatches/source/fixesproto/x11.SlackBuild381
-rw-r--r--patches/source/freetype/freetype.CVE-2017-8287.diff31
-rwxr-xr-xpatches/source/freetype/freetype.SlackBuild123
-rw-r--r--patches/source/freetype/freetype.illadvisederror.diff31
-rw-r--r--patches/source/freetype/freetype.subpixel.rendering.diff11
-rw-r--r--patches/source/freetype/slack-desc19
-rwxr-xr-xpatches/source/gimp/gimp.SlackBuild114
-rw-r--r--patches/source/gimp/slack-desc19
-rw-r--r--patches/source/git/git-2.14.1.tar.signbin0 -> 543 bytes
-rwxr-xr-xpatches/source/git/git.SlackBuild170
-rw-r--r--patches/source/git/git.url1
-rw-r--r--patches/source/git/slack-desc19
-rw-r--r--patches/source/glibc-zoneinfo/doinst.sh57
-rwxr-xr-xpatches/source/glibc-zoneinfo/glibc-zoneinfo.SlackBuild147
-rw-r--r--patches/source/glibc-zoneinfo/slack-desc19
-rwxr-xr-xpatches/source/glibc-zoneinfo/timezone-scripts/output-updated-timeconfig.sh60
-rw-r--r--patches/source/glibc-zoneinfo/timezone-scripts/parts/00132
-rw-r--r--patches/source/glibc-zoneinfo/timezone-scripts/parts/01585
-rw-r--r--patches/source/glibc-zoneinfo/timezone-scripts/parts/0228
-rw-r--r--patches/source/glibc-zoneinfo/timezone-scripts/parts/03585
-rw-r--r--patches/source/glibc-zoneinfo/timezone-scripts/parts/0433
-rw-r--r--patches/source/glibc-zoneinfo/timezone-scripts/parts/README2
-rw-r--r--patches/source/glibc-zoneinfo/timezone-scripts/setup.timeconfig3
-rw-r--r--patches/source/glibc-zoneinfo/timezone-scripts/timeconfig1363
-rw-r--r--patches/source/glibc/doinst.sh-glibc193
-rw-r--r--patches/source/glibc/doinst.sh-glibc-solibs132
-rw-r--r--patches/source/glibc/doinst.sh-glibc-zoneinfo23
-rw-r--r--patches/source/glibc/glibc-2.10-dns-no-gethostbyname4.diff26
-rwxr-xr-xpatches/source/glibc/glibc-cvs-checkout.sh3
-rw-r--r--patches/source/glibc/glibc.CVE-2010-3847.diff70
-rw-r--r--patches/source/glibc/glibc.CVE-2010-3856.diff188
-rw-r--r--patches/source/glibc/glibc.CVE-2013-4332.diff64
-rw-r--r--patches/source/glibc/glibc.CVE-2015-0235.glibc29.diff208
-rwxr-xr-xpatches/source/glibc/glibc.SlackBuild475
-rw-r--r--patches/source/glibc/glibc.getcwd.max.macro.diff10
-rw-r--r--patches/source/glibc/glibc.locale.no-archive.diff10
-rw-r--r--patches/source/glibc/glibc.nis-netgroups.diff12
-rw-r--r--patches/source/glibc/glibc.revert.to.fix.build.breakages.diff13
-rw-r--r--patches/source/glibc/glibc.ru_RU.CP1251.diff10
-rw-r--r--patches/source/glibc/is_IS.diff19
-rwxr-xr-xpatches/source/glibc/profile.d/glibc.csh.new9
-rwxr-xr-xpatches/source/glibc/profile.d/glibc.sh.new8
-rw-r--r--patches/source/glibc/slack-desc.glibc19
-rw-r--r--patches/source/glibc/slack-desc.glibc-debug19
-rw-r--r--patches/source/glibc/slack-desc.glibc-i18n19
-rw-r--r--patches/source/glibc/slack-desc.glibc-profile19
-rw-r--r--patches/source/glibc/slack-desc.glibc-solibs19
-rw-r--r--patches/source/glibc/slack-desc.glibc-solibs-linuxthreads18
-rw-r--r--patches/source/glibc/slack-desc.glibc-zoneinfo19
-rw-r--r--patches/source/glibc/timezone-scripts/output-updated-timeconfig.sh53
-rw-r--r--patches/source/glibc/timezone-scripts/parts/00131
-rw-r--r--patches/source/glibc/timezone-scripts/parts/011658
-rw-r--r--patches/source/glibc/timezone-scripts/parts/0228
-rw-r--r--patches/source/glibc/timezone-scripts/parts/031658
-rw-r--r--patches/source/glibc/timezone-scripts/parts/0432
-rw-r--r--patches/source/glibc/timezone-scripts/parts/README2
-rw-r--r--patches/source/glibc/timezone-scripts/setup.timeconfig3
-rw-r--r--patches/source/glibc/timezone-scripts/timeconfig3695
-rwxr-xr-xpatches/source/gnupg/gnupg.SlackBuild105
-rw-r--r--patches/source/gnupg/slack-desc.gnupg19
-rw-r--r--patches/source/gnupg2/gnupg2.CVE-2010-2547.diff10
-rwxr-xr-xpatches/source/gnupg2/gnupg2.SlackBuild139
-rw-r--r--patches/source/gnupg2/slack-desc19
-rw-r--r--patches/source/gnutls/gnutls-2.8.4_CVE-2009-3555.diff7376
-rw-r--r--patches/source/gnutls/gnutls-2.8.4_CVE-2011-4128.diff36
-rw-r--r--patches/source/gnutls/gnutls-2.8.4_CVE-2012-1569.diff62
-rw-r--r--patches/source/gnutls/gnutls-2.8.4_CVE-2012-1573.diff39
-rw-r--r--patches/source/gnutls/gnutls-2.8.4_CVE-2013-1619_CVE-2013-2116.diff381
-rw-r--r--patches/source/gnutls/gnutls-2.8.4_CVE-2014-0092.diff108
-rw-r--r--patches/source/gnutls/gnutls-2.8.4_CVE-2014-3466.diff312
-rw-r--r--patches/source/gnutls/gnutls-2.8.4_CVE-2014-3467.diff45
-rw-r--r--patches/source/gnutls/gnutls-2.8.4_CVE-2014-3468.diff45
-rw-r--r--patches/source/gnutls/gnutls-2.8.4_CVE-2014-3469.diff122
-rw-r--r--patches/source/gnutls/gnutls-2.8.4_fix-expired-cert.diff23
-rw-r--r--patches/source/gnutls/gnutls-2.8.4_fix-timebomb.diff35
-rw-r--r--patches/source/gnutls/gnutls-2.8.4_ipv6.diff51
-rw-r--r--patches/source/gnutls/gnutls-2.8.4_libgcrypt150-fix.diff162
-rwxr-xr-xpatches/source/gnutls/gnutls.SlackBuild138
-rw-r--r--patches/source/gnutls/slack-desc19
-rwxr-xr-xpatches/source/gzip/gzip.SlackBuild170
-rw-r--r--patches/source/gzip/slack-desc19
-rw-r--r--patches/source/hplip/doinst.sh4
-rw-r--r--patches/source/hplip/hplip.CVE-2010-4267.diff12
-rwxr-xr-xpatches/source/hplip/hplip.SlackBuild123
-rw-r--r--patches/source/hplip/hplip.prevent_segfault.diff23
-rw-r--r--patches/source/hplip/slack-desc19
-rw-r--r--patches/source/httpd/README34
-rw-r--r--patches/source/httpd/apache-2.2.CVE-2017-9798.optionsbleed.patch21
-rw-r--r--patches/source/httpd/config.layout.diff30
-rw-r--r--patches/source/httpd/doinst.sh71
-rwxr-xr-xpatches/source/httpd/httpd.SlackBuild227
-rw-r--r--patches/source/httpd/httpd.brigade_move.__noinline__.gcc451.diff10
-rw-r--r--patches/source/httpd/httpd.nossldefault.diff11
-rw-r--r--patches/source/httpd/httpd.runasapache.diff13
-rw-r--r--patches/source/httpd/httpd.url2
-rw-r--r--patches/source/httpd/logrotate.httpd12
-rw-r--r--patches/source/httpd/rc.httpd35
-rw-r--r--patches/source/httpd/slack-desc19
-rw-r--r--patches/source/inputproto/arch.use.flags9
-rw-r--r--patches/source/inputproto/build/inputproto1
-rw-r--r--patches/source/inputproto/configure/configure13
-rwxr-xr-xpatches/source/inputproto/inputproto.SlackBuild2
-rw-r--r--patches/source/inputproto/modularize279
-rw-r--r--patches/source/inputproto/noarch75
-rw-r--r--patches/source/inputproto/package-blacklist44
-rw-r--r--patches/source/inputproto/slack-desc/inputproto19
-rwxr-xr-xpatches/source/inputproto/x11.SlackBuild381
-rw-r--r--patches/source/irssi/doinst.sh12
-rwxr-xr-xpatches/source/irssi/irssi.SlackBuild146
-rw-r--r--patches/source/irssi/patch-src_irc_dcc_dcc-get_c.diff23
-rw-r--r--patches/source/irssi/patch-src_irc_dcc_dcc-resume_c.diff12
-rw-r--r--patches/source/irssi/slack-desc19
-rwxr-xr-xpatches/source/jasper/jasper.SlackBuild137
-rw-r--r--patches/source/jasper/patches/jasper-1.900.1-CVE-2008-3520.patch928
-rw-r--r--patches/source/jasper/patches/jasper-1.900.1-CVE-2008-3522.patch14
-rw-r--r--patches/source/jasper/patches/jasper-1.900.1-CVE-2011-4516-CVE-2011-4517-CERT-VU-887409.patch23
-rw-r--r--patches/source/jasper/patches/jasper-1.900.1-Coverity-BAD_SIZEOF.patch17
-rw-r--r--patches/source/jasper/patches/jasper-1.900.1-Coverity-CHECKED_RETURN.patch141
-rw-r--r--patches/source/jasper/patches/jasper-1.900.1-Coverity-FORWARD_NULL.patch44
-rw-r--r--patches/source/jasper/patches/jasper-1.900.1-Coverity-NULL_RETURNS.patch61
-rw-r--r--patches/source/jasper/patches/jasper-1.900.1-Coverity-RESOURCE_LEAK.patch202
-rw-r--r--patches/source/jasper/patches/jasper-1.900.1-Coverity-UNREACHABLE.patch37
-rw-r--r--patches/source/jasper/patches/jasper-1.900.1-Coverity-UNUSED_VALUE.patch41
-rw-r--r--patches/source/jasper/patches/jasper-CVE-2014-8137.patch57
-rw-r--r--patches/source/jasper/patches/jasper-CVE-2014-8138.patch14
-rw-r--r--patches/source/jasper/patches/jasper-CVE-2014-8157.patch12
-rw-r--r--patches/source/jasper/patches/jasper-CVE-2014-8158.patch329
-rw-r--r--patches/source/jasper/patches/jasper-CVE-2014-9029.patch29
-rw-r--r--patches/source/jasper/patches/jpc_dec.c.patch18
-rw-r--r--patches/source/jasper/patches/patch-libjasper-stepsizes-overflow.diff14
-rw-r--r--patches/source/jasper/slack-desc19
-rw-r--r--patches/source/kdebase-workspace/config/Xsession88
-rw-r--r--patches/source/kdebase-workspace/config/Xsession.orig65
-rw-r--r--patches/source/kdebase-workspace/doinst.sh26
-rw-r--r--patches/source/kdebase-workspace/kdebase-workspace-4.3.5-CVE-2010-0436-really-for-4.3.5.diff193
-rwxr-xr-xpatches/source/kdebase-workspace/kdebase-workspace.SlackBuild117
-rw-r--r--patches/source/kdebase-workspace/local.options1
-rw-r--r--patches/source/kdebase-workspace/slack-desc12
-rwxr-xr-xpatches/source/kdebase-workspace/xinit/xinitrc.kde28
-rw-r--r--patches/source/libX11/arch.use.flags9
-rw-r--r--patches/source/libX11/build/libX111
-rw-r--r--patches/source/libX11/configure/libX1112
-rwxr-xr-xpatches/source/libX11/libX11.SlackBuild2
-rw-r--r--patches/source/libX11/modularize279
-rw-r--r--patches/source/libX11/noarch75
-rw-r--r--patches/source/libX11/package-blacklist44
-rw-r--r--patches/source/libX11/post-install/libX11.post-install2
-rw-r--r--patches/source/libX11/slack-desc/libX1119
-rwxr-xr-xpatches/source/libX11/x11.SlackBuild381
-rw-r--r--patches/source/libXcursor/arch.use.flags7
-rwxr-xr-xpatches/source/libXcursor/build/increment.sh17
-rw-r--r--patches/source/libXcursor/build/libXcursor1
-rw-r--r--patches/source/libXcursor/configure/configure12
-rwxr-xr-xpatches/source/libXcursor/libXcursor.SlackBuild26
-rw-r--r--patches/source/libXcursor/modularize272
-rw-r--r--patches/source/libXcursor/noarch76
-rw-r--r--patches/source/libXcursor/package-blacklist43
-rw-r--r--patches/source/libXcursor/slack-desc/libXcursor19
-rwxr-xr-xpatches/source/libXcursor/x11-build-script.sh374
-rw-r--r--patches/source/libXext/arch.use.flags9
-rw-r--r--patches/source/libXext/build/libXext1
-rw-r--r--patches/source/libXext/configure/configure13
-rwxr-xr-xpatches/source/libXext/libXext.SlackBuild2
-rw-r--r--patches/source/libXext/modularize279
-rw-r--r--patches/source/libXext/noarch75
-rw-r--r--patches/source/libXext/package-blacklist44
-rw-r--r--patches/source/libXext/slack-desc/libXext19
-rwxr-xr-xpatches/source/libXext/x11.SlackBuild381
-rw-r--r--patches/source/libXfixes/arch.use.flags9
-rw-r--r--patches/source/libXfixes/build/libXfixes1
-rw-r--r--patches/source/libXfixes/configure/configure13
-rwxr-xr-xpatches/source/libXfixes/libXfixes.SlackBuild2
-rw-r--r--patches/source/libXfixes/modularize279
-rw-r--r--patches/source/libXfixes/noarch75
-rw-r--r--patches/source/libXfixes/package-blacklist44
-rw-r--r--patches/source/libXfixes/slack-desc/libXfixes19
-rwxr-xr-xpatches/source/libXfixes/x11.SlackBuild381
-rw-r--r--patches/source/libXfont/arch.use.flags7
-rwxr-xr-xpatches/source/libXfont/build/increment.sh17
-rw-r--r--patches/source/libXfont/build/libXfont1
-rw-r--r--patches/source/libXfont/configure/configure12
-rwxr-xr-xpatches/source/libXfont/libXfont.SlackBuild26
-rw-r--r--patches/source/libXfont/modularize272
-rw-r--r--patches/source/libXfont/noarch76
-rw-r--r--patches/source/libXfont/package-blacklist43
-rw-r--r--patches/source/libXfont/patch/libXfont.patch1
-rw-r--r--patches/source/libXfont/patch/libXfont/libXfont.CVE-2017-16611.diff85
-rw-r--r--patches/source/libXfont/slack-desc/libXfont19
-rwxr-xr-xpatches/source/libXfont/x11-build-script.sh374
-rw-r--r--patches/source/libXi/arch.use.flags9
-rw-r--r--patches/source/libXi/build/libXi1
-rw-r--r--patches/source/libXi/configure/configure13
-rwxr-xr-xpatches/source/libXi/libXi.SlackBuild2
-rw-r--r--patches/source/libXi/modularize279
-rw-r--r--patches/source/libXi/noarch75
-rw-r--r--patches/source/libXi/package-blacklist44
-rw-r--r--patches/source/libXi/slack-desc/libXi19
-rw-r--r--patches/source/libXi/slack-desc/libXinerama19
-rwxr-xr-xpatches/source/libXi/x11.SlackBuild381
-rw-r--r--patches/source/libXrandr/arch.use.flags9
-rw-r--r--patches/source/libXrandr/build/libXrandr1
-rw-r--r--patches/source/libXrandr/configure/configure13
-rwxr-xr-xpatches/source/libXrandr/libXrandr.SlackBuild2
-rw-r--r--patches/source/libXrandr/modularize279
-rw-r--r--patches/source/libXrandr/noarch75
-rw-r--r--patches/source/libXrandr/package-blacklist44
-rw-r--r--patches/source/libXrandr/slack-desc/libXrandr19
-rwxr-xr-xpatches/source/libXrandr/x11.SlackBuild381
-rw-r--r--patches/source/libXrender/arch.use.flags9
-rw-r--r--patches/source/libXrender/build/libXrender1
-rw-r--r--patches/source/libXrender/configure/configure13
-rwxr-xr-xpatches/source/libXrender/libXrender.SlackBuild2
-rw-r--r--patches/source/libXrender/modularize279
-rw-r--r--patches/source/libXrender/noarch75
-rw-r--r--patches/source/libXrender/package-blacklist44
-rw-r--r--patches/source/libXrender/slack-desc/libXrender19
-rwxr-xr-xpatches/source/libXrender/x11.SlackBuild381
-rw-r--r--patches/source/libXtst/arch.use.flags9
-rw-r--r--patches/source/libXtst/build/libXtst1
-rw-r--r--patches/source/libXtst/configure/configure13
-rwxr-xr-xpatches/source/libXtst/libXtst.SlackBuild2
-rw-r--r--patches/source/libXtst/modularize279
-rw-r--r--patches/source/libXtst/noarch75
-rw-r--r--patches/source/libXtst/package-blacklist44
-rw-r--r--patches/source/libXtst/slack-desc/libXtst19
-rwxr-xr-xpatches/source/libXtst/x11.SlackBuild381
-rw-r--r--patches/source/libXv/arch.use.flags9
-rw-r--r--patches/source/libXv/build/libXv1
-rw-r--r--patches/source/libXv/configure/configure13
-rwxr-xr-xpatches/source/libXv/libXv.SlackBuild2
-rw-r--r--patches/source/libXv/modularize279
-rw-r--r--patches/source/libXv/noarch75
-rw-r--r--patches/source/libXv/package-blacklist44
-rw-r--r--patches/source/libXv/slack-desc/libXv19
-rw-r--r--patches/source/libXv/slack-desc/libXvMC19
-rwxr-xr-xpatches/source/libXv/x11.SlackBuild381
-rw-r--r--patches/source/libXvMC/arch.use.flags9
-rw-r--r--patches/source/libXvMC/build/libXvMC1
-rw-r--r--patches/source/libXvMC/configure/configure13
-rwxr-xr-xpatches/source/libXvMC/libXvMC.SlackBuild2
-rw-r--r--patches/source/libXvMC/modularize279
-rw-r--r--patches/source/libXvMC/noarch75
-rw-r--r--patches/source/libXvMC/package-blacklist44
-rw-r--r--patches/source/libXvMC/slack-desc/libXvMC19
-rwxr-xr-xpatches/source/libXvMC/x11.SlackBuild381
-rwxr-xr-xpatches/source/libexif/libexif.SlackBuild97
-rw-r--r--patches/source/libexif/libexif.pc.diff8
-rw-r--r--patches/source/libexif/slack-desc19
-rwxr-xr-xpatches/source/libgcrypt/libgcrypt.SlackBuild104
-rw-r--r--patches/source/libgcrypt/slack-desc19
-rwxr-xr-xpatches/source/libgpg-error/libgpg-error.SlackBuild118
-rw-r--r--patches/source/libgpg-error/slack-desc19
-rwxr-xr-xpatches/source/libidn/libidn.SlackBuild137
-rw-r--r--patches/source/libidn/slack-desc19
-rw-r--r--patches/source/libjpeg/jpeg-6b.diff59
-rw-r--r--patches/source/libjpeg/jpeg.CVE-2013-6629.diff32
-rwxr-xr-xpatches/source/libjpeg/libjpeg.SlackBuild103
-rw-r--r--patches/source/libjpeg/slack-desc19
-rwxr-xr-xpatches/source/libpng/libpng.SlackBuild102
-rw-r--r--patches/source/libpng/libpng.libs.diff18
-rw-r--r--patches/source/libpng/slack-desc19
-rwxr-xr-xpatches/source/libtiff/libtiff.SlackBuild122
-rw-r--r--patches/source/libtiff/slack-desc19
-rw-r--r--patches/source/libtiff/tiff-3.9.7_CVE-2012-4447_CVE-2012-4564_CVE-2013-1960_CVE-2013-1961.diff3813
-rw-r--r--patches/source/libtiff/tiff-3.9.7_CVE-2013-4231.diff23
-rw-r--r--patches/source/libtiff/tiff-3.9.7_CVE-2013-4232.diff24
-rw-r--r--patches/source/libtiff/tiff-3.9.7_CVE-2013-4244.diff24
-rw-r--r--patches/source/libwmf/libwmf-0.2.8.4-CVE-2004-0941.patch17
-rw-r--r--patches/source/libwmf/libwmf-0.2.8.4-CVE-2006-3376.patch27
-rw-r--r--patches/source/libwmf/libwmf-0.2.8.4-CVE-2007-0455.patch11
-rw-r--r--patches/source/libwmf/libwmf-0.2.8.4-CVE-2007-2756.patch16
-rw-r--r--patches/source/libwmf/libwmf-0.2.8.4-CVE-2007-3472.patch61
-rw-r--r--patches/source/libwmf/libwmf-0.2.8.4-CVE-2007-3473.patch13
-rw-r--r--patches/source/libwmf/libwmf-0.2.8.4-CVE-2007-3477.patch38
-rw-r--r--patches/source/libwmf/libwmf-0.2.8.4-CVE-2009-3546.patch13
-rw-r--r--patches/source/libwmf/libwmf-0.2.8.4-CVE-2015-0848+CVE-2015-4588.patch118
-rw-r--r--patches/source/libwmf/libwmf-0.2.8.4-CVE-2015-4695.patch56
-rw-r--r--patches/source/libwmf/libwmf-0.2.8.4-CVE-2015-4696.patch23
-rw-r--r--patches/source/libwmf/libwmf-0.2.8.4-CVE-2016-10167.patch30
-rw-r--r--patches/source/libwmf/libwmf-0.2.8.4-CVE-2016-10168.patch14
-rw-r--r--patches/source/libwmf/libwmf-0.2.8.4-CVE-2016-9011.patch36
-rw-r--r--patches/source/libwmf/libwmf-0.2.8.4-CVE-2016-9317.patch21
-rw-r--r--patches/source/libwmf/libwmf-0.2.8.4-CVE-2017-6362.patch32
-rw-r--r--patches/source/libwmf/libwmf-0.2.8.4-fallbackfont.patch18
-rw-r--r--patches/source/libwmf/libwmf-0.2.8.4-pixbufloaderdir.patch14
-rw-r--r--patches/source/libwmf/libwmf-0.2.8.4-reducesymbols.patch520
-rw-r--r--patches/source/libwmf/libwmf-0.2.8.4-useafterfree.patch10
-rwxr-xr-xpatches/source/libwmf/libwmf.SlackBuild142
-rw-r--r--patches/source/libwmf/libwmf.png14.diff11
-rw-r--r--patches/source/libwmf/slack-desc19
-rw-r--r--patches/source/libxcb/arch.use.flags9
-rw-r--r--patches/source/libxcb/build/libxcb1
-rw-r--r--patches/source/libxcb/configure/libxcb14
-rwxr-xr-xpatches/source/libxcb/libxcb.SlackBuild2
-rw-r--r--patches/source/libxcb/modularize279
-rw-r--r--patches/source/libxcb/noarch75
-rw-r--r--patches/source/libxcb/package-blacklist44
-rw-r--r--patches/source/libxcb/post-install/libxcb.post-install67
-rw-r--r--patches/source/libxcb/slack-desc/libxcb19
-rwxr-xr-xpatches/source/libxcb/x11.SlackBuild381
-rw-r--r--patches/source/libxml2/libxml.CVE-2011-3102.diff39
-rw-r--r--patches/source/libxml2/libxml2.CVE-2012-5134.diff21
-rwxr-xr-xpatches/source/libxml2/libxml2.SlackBuild109
-rw-r--r--patches/source/libxml2/slack-desc19
-rw-r--r--patches/source/linux-2.6.29.6-3/linux-2.6.29.6-01-sendpage.diff11
-rw-r--r--patches/source/linux-2.6.29.6-3/linux-2.6.29.6-02-default-mmap_min_addr-4096.diff22
-rw-r--r--patches/source/linux-2.6.29.6-3/linux-2.6.29.6-03-ip_fragment-CVE-2009-1298.diff11
-rwxr-xr-xpatches/source/lm_sensors/lm_sensors.SlackBuild125
-rw-r--r--patches/source/lm_sensors/lm_sensors.makefile.diff15
-rw-r--r--patches/source/lm_sensors/slack-desc19
-rw-r--r--patches/source/lynx/doinst.sh13
-rwxr-xr-xpatches/source/lynx/lynx.SlackBuild155
-rw-r--r--patches/source/lynx/lynx.cfg.diff31
-rw-r--r--patches/source/lynx/slack-desc19
-rw-r--r--patches/source/mailx/doinst.sh14
-rw-r--r--patches/source/mailx/heirloom-mailx-12.5-fixes-1.patch232
-rwxr-xr-xpatches/source/mailx/mailx.SlackBuild142
-rw-r--r--patches/source/mailx/slack-desc19
-rw-r--r--patches/source/mercurial/doinst.sh13
-rwxr-xr-xpatches/source/mercurial/mercurial.SlackBuild109
-rw-r--r--patches/source/mercurial/slack-desc22
-rw-r--r--patches/source/mesa/README.GIT16
-rw-r--r--patches/source/mesa/get-mesa.sh8
-rwxr-xr-xpatches/source/mesa/mesa.SlackBuild132
-rw-r--r--patches/source/mesa/slack-desc19
-rw-r--r--patches/source/minicom/config.sub-x86_64.diff20
-rw-r--r--patches/source/minicom/doinst.sh15
-rw-r--r--patches/source/minicom/lrzsz_0.12.21-5.diff4194
-rwxr-xr-xpatches/source/minicom/minicom.SlackBuild160
-rw-r--r--patches/source/minicom/minicom.users36
-rw-r--r--patches/source/minicom/slack-desc19
-rw-r--r--patches/source/mozilla-firefox/firefox.moz_plugin_path.diff17
-rw-r--r--patches/source/mozilla-firefox/firefox.pngbin0 -> 24263 bytes
-rw-r--r--patches/source/mozilla-firefox/mimeTypes.rdf28
-rw-r--r--patches/source/mozilla-firefox/mozilla-firefox-mimeTypes-fix.diff45
-rwxr-xr-xpatches/source/mozilla-firefox/mozilla-firefox.SlackBuild190
-rw-r--r--patches/source/mozilla-firefox/mozilla-firefox.desktop80
-rw-r--r--patches/source/mozilla-firefox/slack-desc19
-rw-r--r--patches/source/mozilla-thunderbird/mimeTypes.rdf113
-rwxr-xr-xpatches/source/mozilla-thunderbird/mozilla-thunderbird.SlackBuild181
-rw-r--r--patches/source/mozilla-thunderbird/mozilla-thunderbird.desktop84
-rw-r--r--patches/source/mozilla-thunderbird/slack-desc19
-rw-r--r--patches/source/mozilla-thunderbird/thunderbird.pngbin0 -> 47617 bytes
-rw-r--r--patches/source/mysql/doinst.sh22
-rw-r--r--patches/source/mysql/mirror-url1
-rwxr-xr-xpatches/source/mysql/mysql-embedded.build55
-rw-r--r--patches/source/mysql/mysql.CVE-2014-0001.diff11
-rwxr-xr-xpatches/source/mysql/mysql.SlackBuild195
-rw-r--r--patches/source/mysql/rc.mysqld86
-rw-r--r--patches/source/mysql/slack-desc19
-rw-r--r--patches/source/ntp/doinst.sh28
-rwxr-xr-xpatches/source/ntp/ntp.SlackBuild158
-rw-r--r--patches/source/ntp/ntp.conf72
-rw-r--r--patches/source/ntp/ntp.keys2
-rw-r--r--patches/source/ntp/ntp.nano.diff17
-rw-r--r--patches/source/ntp/rc.ntpd71
-rw-r--r--patches/source/ntp/slack-desc19
-rw-r--r--patches/source/openssh/doinst.sh49
-rw-r--r--patches/source/openssh/openssh-7.4p1-libwrap.diff137
-rw-r--r--patches/source/openssh/openssh.CVE-2017-15906.patch19
-rwxr-xr-xpatches/source/openssh/openssh.SlackBuild169
-rw-r--r--patches/source/openssh/rc.sshd59
-rw-r--r--patches/source/openssh/slack-desc19
-rw-r--r--patches/source/openssl/certwatch130
-rw-r--r--patches/source/openssl/doinst.sh-openssl15
-rw-r--r--patches/source/openssl/doinst.sh-openssl-solibs12
-rwxr-xr-xpatches/source/openssl/openssl.SlackBuild199
-rw-r--r--patches/source/openssl/openssl.no.weak.sslv2.ciphers.diff51
-rw-r--r--patches/source/openssl/openssl.no.weak.sslv3.ciphers.diff356
-rw-r--r--patches/source/openssl/openssl.optsx86.diff11
-rw-r--r--patches/source/openssl/openssl.soname.diff11
-rw-r--r--patches/source/openssl/slack-desc.openssl19
-rw-r--r--patches/source/openssl/slack-desc.openssl-solibs19
-rw-r--r--patches/source/openvpn/README26
-rw-r--r--patches/source/openvpn/doinst.sh25
-rwxr-xr-xpatches/source/openvpn/openvpn.SlackBuild169
-rw-r--r--patches/source/openvpn/openvpn.url2
-rw-r--r--patches/source/openvpn/rc.openvpn111
-rw-r--r--patches/source/openvpn/slack-desc19
-rw-r--r--patches/source/openvpn/slackware.conf178
-rw-r--r--patches/source/patch/0001-Refuse-to-apply-ed-scripts-by-default.patch79
-rwxr-xr-xpatches/source/patch/patch.SlackBuild119
-rw-r--r--patches/source/patch/slack-desc19
-rw-r--r--patches/source/php/doinst.sh8
-rwxr-xr-xpatches/source/php/fetch-php.sh1
-rw-r--r--patches/source/php/mod_php.conf.example29
-rwxr-xr-xpatches/source/php/php.SlackBuild301
-rw-r--r--patches/source/php/php.ini-development.diff47
-rw-r--r--patches/source/php/php.session.save_path.diff22
-rw-r--r--patches/source/php/slack-desc19
-rwxr-xr-xpatches/source/pidgin/pidgin.SlackBuild224
-rw-r--r--patches/source/pidgin/purple-allow-sign-rsa-md5.patch12
-rw-r--r--patches/source/pidgin/slack-desc19
-rw-r--r--patches/source/poppler/poppler-0.10.7.CVE-2009-3603_3604_3605_3606_3608_3609.diff213
-rw-r--r--patches/source/poppler/poppler-0.12.4-CVE-2010-3702.patch18
-rw-r--r--patches/source/poppler/poppler-0.12.4-CVE-2010-3703.patch10
-rw-r--r--patches/source/poppler/poppler-0.12.4-CVE-2010-3704.patch20
-rwxr-xr-xpatches/source/poppler/poppler.SlackBuild120
-rw-r--r--patches/source/poppler/slack-desc19
-rw-r--r--patches/source/ppp/doinst.sh21
-rw-r--r--patches/source/ppp/options.new276
-rw-r--r--patches/source/ppp/ppp.CVE-2014-3158.diff30
-rw-r--r--patches/source/ppp/ppp.CVE-2015-3310.diff11
-rwxr-xr-xpatches/source/ppp/ppp.SlackBuild171
-rw-r--r--patches/source/ppp/ppp.slack.diff28
-rw-r--r--patches/source/ppp/pppsetup-1.98.backupfiles.diff26
-rw-r--r--patches/source/ppp/pppsetup-1.98.moredevs.diff105
-rw-r--r--patches/source/ppp/pppsetup-1.98.pppoff.diff19
-rw-r--r--patches/source/ppp/pppsetup-1.98.slack.diff1709
-rw-r--r--patches/source/ppp/radius.msdict81
-rw-r--r--patches/source/ppp/realms22
-rw-r--r--patches/source/ppp/servers4
-rw-r--r--patches/source/ppp/slack-desc19
-rw-r--r--patches/source/proftpd/doinst.sh18
-rw-r--r--patches/source/proftpd/etc/ftpusers22
-rw-r--r--patches/source/proftpd/etc/proftpd.conf74
-rwxr-xr-xpatches/source/proftpd/proftpd.SlackBuild134
-rw-r--r--patches/source/proftpd/slack-desc19
-rw-r--r--patches/source/randrproto/arch.use.flags9
-rw-r--r--patches/source/randrproto/build/randrproto1
-rw-r--r--patches/source/randrproto/configure/configure13
-rw-r--r--patches/source/randrproto/modularize279
-rw-r--r--patches/source/randrproto/noarch75
-rw-r--r--patches/source/randrproto/package-blacklist44
-rwxr-xr-xpatches/source/randrproto/randrproto.SlackBuild2
-rw-r--r--patches/source/randrproto/slack-desc/randrproto19
-rwxr-xr-xpatches/source/randrproto/x11.SlackBuild381
-rw-r--r--patches/source/rdesktop/rdesktop.CVE-2011-1595.diff22
-rwxr-xr-xpatches/source/rdesktop/rdesktop.SlackBuild117
-rw-r--r--patches/source/rdesktop/slack-desc19
-rw-r--r--patches/source/recordproto/arch.use.flags9
-rw-r--r--patches/source/recordproto/build/recordproto1
-rw-r--r--patches/source/recordproto/configure/configure13
-rw-r--r--patches/source/recordproto/modularize279
-rw-r--r--patches/source/recordproto/noarch75
-rw-r--r--patches/source/recordproto/package-blacklist44
-rwxr-xr-xpatches/source/recordproto/recordproto.SlackBuild2
-rw-r--r--patches/source/recordproto/slack-desc/recordproto19
-rwxr-xr-xpatches/source/recordproto/x11.SlackBuild381
-rwxr-xr-xpatches/source/rsync/rsync.SlackBuild110
-rw-r--r--patches/source/rsync/slack-desc19
-rw-r--r--patches/source/rxvt/rxvt-integer-overflow-fix.patch11
-rwxr-xr-xpatches/source/rxvt/rxvt.SlackBuild127
-rw-r--r--patches/source/rxvt/rxvt.utempter.diff277
-rw-r--r--patches/source/rxvt/slack-desc19
-rw-r--r--patches/source/samba/doinst.sh16
-rw-r--r--patches/source/samba/rc.samba45
-rw-r--r--patches/source/samba/samba-3.2.15-CVE-2010-3069.patch78
-rw-r--r--patches/source/samba/samba-3.2.15-CVE-2012-1182.patch18790
-rw-r--r--patches/source/samba/samba-3.3.12-CVE-2010-2063.patch37
-rw-r--r--patches/source/samba/samba.3-2-fd_set.CVE-2011-0719.patch541
-rwxr-xr-xpatches/source/samba/samba.SlackBuild212
-rw-r--r--patches/source/samba/slack-desc19
-rw-r--r--patches/source/samba/smb.conf.default271
-rw-r--r--patches/source/samba/smb.conf.default.orig271
-rw-r--r--patches/source/samba/smb.conf.diff29
-rw-r--r--patches/source/seamonkey/doinst.sh11
-rw-r--r--patches/source/seamonkey/pkgconfig/seamonkey-gtkmozembed.pc11
-rw-r--r--patches/source/seamonkey/pkgconfig/seamonkey-js.pc11
-rw-r--r--patches/source/seamonkey/pkgconfig/seamonkey-nspr.pc12
-rw-r--r--patches/source/seamonkey/pkgconfig/seamonkey-nss.pc11
-rw-r--r--patches/source/seamonkey/pkgconfig/seamonkey-plugin.pc10
-rw-r--r--patches/source/seamonkey/pkgconfig/seamonkey-xpcom.pc12
-rw-r--r--patches/source/seamonkey/seamonkey-icon.pngbin0 -> 12796 bytes
-rw-r--r--patches/source/seamonkey/seamonkey-mail-icon.pngbin0 -> 185 bytes
-rw-r--r--patches/source/seamonkey/seamonkey-mail.desktop8
-rwxr-xr-xpatches/source/seamonkey/seamonkey.SlackBuild234
-rw-r--r--patches/source/seamonkey/seamonkey.desktop8
-rw-r--r--patches/source/seamonkey/slack-desc19
-rw-r--r--patches/source/sendmail/Build29
-rwxr-xr-xpatches/source/sendmail/SlackBuild-sendmail167
-rwxr-xr-xpatches/source/sendmail/SlackBuild-sendmail-cf58
-rw-r--r--patches/source/sendmail/linux.uucp.mc8
-rw-r--r--patches/source/sendmail/sendmail-slackware-tls-sasl.mc61
-rw-r--r--patches/source/sendmail/sendmail-slackware-tls.mc56
-rw-r--r--patches/source/sendmail/sendmail-slackware.mc42
-rwxr-xr-xpatches/source/sendmail/sendmail.SlackBuild3
-rw-r--r--patches/source/sendmail/site.config.m47
-rw-r--r--patches/source/sendmail/slack-desc.sendmail19
-rw-r--r--patches/source/sendmail/slack-desc.sendmail-cf19
-rw-r--r--patches/source/slocate/slack-desc19
-rw-r--r--patches/source/slocate/slocate-3.1.tar.gz.sign7
-rw-r--r--patches/source/slocate/slocate.CVE-2007-0277.diff42
-rwxr-xr-xpatches/source/slocate/slocate.SlackBuild90
-rw-r--r--patches/source/slocate/slocate.bigfile.diff33
-rw-r--r--patches/source/stunnel/doinst.sh12
-rw-r--r--patches/source/stunnel/generate-stunnel-key.sh13
-rw-r--r--patches/source/stunnel/slack-desc19
-rwxr-xr-xpatches/source/stunnel/stunnel.SlackBuild140
-rwxr-xr-xpatches/source/subversion/get-svn-book.sh9
-rw-r--r--patches/source/subversion/slack-desc19
-rwxr-xr-xpatches/source/subversion/subversion.SlackBuild170
-rw-r--r--patches/source/sudo/doinst.sh14
-rw-r--r--patches/source/sudo/slack-desc19
-rwxr-xr-xpatches/source/sudo/sudo.SlackBuild122
-rw-r--r--patches/source/t1lib/slack-desc19
-rwxr-xr-xpatches/source/t1lib/t1lib.SlackBuild131
-rw-r--r--patches/source/t1lib/t1lib_5.1.2-3.5.diff2109
-rw-r--r--patches/source/vsftpd/doinst.sh15
-rw-r--r--patches/source/vsftpd/slack-desc19
-rwxr-xr-xpatches/source/vsftpd/vsftpd.SlackBuild106
-rw-r--r--patches/source/vsftpd/vsftpd.builddefs.diff15
-rw-r--r--patches/source/vsftpd/vsftpd.conf.diff45
-rw-r--r--patches/source/vsftpd/vsftpd.log5
-rw-r--r--patches/source/wget/doinst.sh14
-rw-r--r--patches/source/wget/slack-desc19
-rwxr-xr-xpatches/source/wget/wget.SlackBuild109
-rw-r--r--patches/source/wicd/README.SLACKWARE17
-rw-r--r--patches/source/wicd/doinst.sh37
-rw-r--r--patches/source/wicd/slack-desc19
-rw-r--r--patches/source/wicd/wicd-1.7.2.4.sanitize.string.bugfix.diff11
-rwxr-xr-xpatches/source/wicd/wicd.SlackBuild100
-rw-r--r--patches/source/xcb-proto/arch.use.flags9
-rw-r--r--patches/source/xcb-proto/build/xcb-proto1
-rw-r--r--patches/source/xcb-proto/configure/configure13
-rw-r--r--patches/source/xcb-proto/modularize279
-rw-r--r--patches/source/xcb-proto/noarch75
-rw-r--r--patches/source/xcb-proto/package-blacklist44
-rw-r--r--patches/source/xcb-proto/post-install/xcb-proto.post-install5
-rw-r--r--patches/source/xcb-proto/slack-desc/xcb-proto19
-rwxr-xr-xpatches/source/xcb-proto/x11.SlackBuild381
-rwxr-xr-xpatches/source/xcb-proto/xcb-proto.SlackBuild2
-rw-r--r--patches/source/xextproto/arch.use.flags9
-rw-r--r--patches/source/xextproto/build/xextproto1
-rw-r--r--patches/source/xextproto/configure/configure13
-rw-r--r--patches/source/xextproto/modularize279
-rw-r--r--patches/source/xextproto/noarch75
-rw-r--r--patches/source/xextproto/package-blacklist44
-rw-r--r--patches/source/xextproto/slack-desc/xextproto19
-rwxr-xr-xpatches/source/xextproto/x11.SlackBuild381
-rwxr-xr-xpatches/source/xextproto/xextproto.SlackBuild2
-rw-r--r--patches/source/xorg-server/arch.use.flags7
-rw-r--r--patches/source/xorg-server/build/xorg-server1
-rw-r--r--patches/source/xorg-server/configure/xorg-server42
-rw-r--r--patches/source/xorg-server/makepkg/xorg-server35
-rw-r--r--patches/source/xorg-server/modularize265
-rw-r--r--patches/source/xorg-server/noarch76
-rw-r--r--patches/source/xorg-server/package-blacklist39
-rw-r--r--patches/source/xorg-server/patch/xorg-server.patch5
-rw-r--r--patches/source/xorg-server/patch/xorg-server/x11.startwithblackscreen.diff13
-rw-r--r--patches/source/xorg-server/patch/xorg-server/xorg-server.CVE-2010-2240.diff130
-rw-r--r--patches/source/xorg-server/patch/xorg-server/xorg-server.CVE-2013-4396.diff42
-rw-r--r--patches/source/xorg-server/patch/xorg-server/xorg-server.CVE-2017-10971.diff21
-rw-r--r--patches/source/xorg-server/patch/xorg-server/xorg-server.CVE-2017-10972.diff36
-rw-r--r--patches/source/xorg-server/post-install/xorg-server.post-install17
-rw-r--r--patches/source/xorg-server/slack-desc/xorg-server19
-rw-r--r--patches/source/xorg-server/slack-desc/xorg-server-xephyr19
-rw-r--r--patches/source/xorg-server/slack-desc/xorg-server-xnest19
-rw-r--r--patches/source/xorg-server/slack-desc/xorg-server-xvfb19
-rwxr-xr-xpatches/source/xorg-server/x11.SlackBuild364
-rwxr-xr-xpatches/source/xorg-server/xorg-server.SlackBuild2
-rw-r--r--patches/source/xpdf/doinst.sh19
-rw-r--r--patches/source/xpdf/lang/xpdf-arabic.diff7
-rw-r--r--patches/source/xpdf/lang/xpdf-chinese-simplified.diff19
-rw-r--r--patches/source/xpdf/lang/xpdf-chinese-traditional.diff17
-rw-r--r--patches/source/xpdf/lang/xpdf-cyrillic.diff9
-rw-r--r--patches/source/xpdf/lang/xpdf-greek.diff9
-rw-r--r--patches/source/xpdf/lang/xpdf-hebrew.diff9
-rw-r--r--patches/source/xpdf/lang/xpdf-japanese.diff55
-rw-r--r--patches/source/xpdf/lang/xpdf-korean.diff15
-rw-r--r--patches/source/xpdf/lang/xpdf-latin2.diff7
-rw-r--r--patches/source/xpdf/lang/xpdf-thai.diff9
-rw-r--r--patches/source/xpdf/lang/xpdf-turkish.diff7
-rw-r--r--patches/source/xpdf/patches/xpdf-3.03-CVE-2012-2142.diff55
-rw-r--r--patches/source/xpdf/patches/xpdf.XPDFViewer.diff11
-rw-r--r--patches/source/xpdf/patches/xpdfrc.diff43
-rw-r--r--patches/source/xpdf/slack-desc19
-rwxr-xr-xpatches/source/xpdf/xpdf.SlackBuild151
-rw-r--r--patches/source/xpdf/xpdf.desktop98
-rw-r--r--patches/source/xproto/arch.use.flags9
-rw-r--r--patches/source/xproto/build/xproto1
-rw-r--r--patches/source/xproto/configure/configure13
-rw-r--r--patches/source/xproto/modularize279
-rw-r--r--patches/source/xproto/noarch75
-rw-r--r--patches/source/xproto/package-blacklist44
-rw-r--r--patches/source/xproto/post-install/xproto.post-install2
-rw-r--r--patches/source/xproto/slack-desc/xproto19
-rwxr-xr-xpatches/source/xproto/x11.SlackBuild381
-rwxr-xr-xpatches/source/xproto/xproto.SlackBuild2
-rw-r--r--patches/source/xrdb/arch.use.flags7
-rw-r--r--patches/source/xrdb/build/xrdb1
-rw-r--r--patches/source/xrdb/configure/configure12
-rw-r--r--patches/source/xrdb/modularize293
-rw-r--r--patches/source/xrdb/noarch81
-rw-r--r--patches/source/xrdb/package-blacklist39
-rw-r--r--patches/source/xrdb/slack-desc/xrdb19
-rwxr-xr-xpatches/source/xrdb/x11.SlackBuild364
-rwxr-xr-xpatches/source/xrdb/xrdb.SlackBuild2
-rw-r--r--patches/source/yasm/slack-desc19
-rwxr-xr-xpatches/source/yasm/yasm.SlackBuild216
-rwxr-xr-xrecompress.sh1934
-rw-r--r--slackbook/html/TRADEMARKS.html80
-rw-r--r--slackbook/html/archive-files-bzip2.html103
-rw-r--r--slackbook/html/archive-files-tar.html232
-rw-r--r--slackbook/html/archive-files-zip.html114
-rw-r--r--slackbook/html/archive-files.html145
-rw-r--r--slackbook/html/basic-network-commands-dns.html181
-rw-r--r--slackbook/html/basic-network-commands-email.html241
-rw-r--r--slackbook/html/basic-network-commands-finger.html132
-rw-r--r--slackbook/html/basic-network-commands-ftp.html279
-rw-r--r--slackbook/html/basic-network-commands-ssh.html100
-rw-r--r--slackbook/html/basic-network-commands-talk.html184
-rw-r--r--slackbook/html/basic-network-commands-telnet.html173
-rw-r--r--slackbook/html/basic-network-commands-traceroute.html106
-rw-r--r--slackbook/html/basic-network-commands-web.html215
-rw-r--r--slackbook/html/basic-network-commands.html142
-rw-r--r--slackbook/html/basic-network-commands/elm.pngbin3421 -> 0 bytes
-rw-r--r--slackbook/html/basic-network-commands/links.pngbin5204 -> 0 bytes
-rw-r--r--slackbook/html/basic-network-commands/lynx.pngbin7544 -> 0 bytes
-rw-r--r--slackbook/html/basic-network-commands/mutt.pngbin2489 -> 0 bytes
-rw-r--r--slackbook/html/basic-network-commands/pine.pngbin4689 -> 0 bytes
-rw-r--r--slackbook/html/basic-network-commands/talk.pngbin491 -> 0 bytes
-rw-r--r--slackbook/html/basic-network-commands/ytalk.pngbin952 -> 0 bytes
-rw-r--r--slackbook/html/book-preface.html404
-rw-r--r--slackbook/html/book.html13511
-rw-r--r--slackbook/html/booting-dual.html341
-rw-r--r--slackbook/html/booting-loadlin.html116
-rw-r--r--slackbook/html/booting.html202
-rw-r--r--slackbook/html/booting/setup-lilo-expert-w.pngbin6986 -> 0 bytes
-rw-r--r--slackbook/html/booting/setup-lilo-w.pngbin5824 -> 0 bytes
-rw-r--r--slackbook/html/docbook.css162
-rw-r--r--slackbook/html/emacs-basic-editing.html227
-rw-r--r--slackbook/html/emacs-buffers.html112
-rw-r--r--slackbook/html/emacs-modes.html141
-rw-r--r--slackbook/html/emacs-saving-files.html136
-rw-r--r--slackbook/html/emacs.html173
-rw-r--r--slackbook/html/emacs/emacs.pngbin7842 -> 0 bytes
-rw-r--r--slackbook/html/essential-sysadmin-hardusers.html202
-rw-r--r--slackbook/html/essential-sysadmin-shutdown.html236
-rw-r--r--slackbook/html/essential-sysadmin.html524
-rw-r--r--slackbook/html/file-commands-copymove.html166
-rw-r--r--slackbook/html/file-commands-creation.html143
-rw-r--r--slackbook/html/file-commands-deletion.html189
-rw-r--r--slackbook/html/file-commands-link.html105
-rw-r--r--slackbook/html/file-commands-output.html147
-rw-r--r--slackbook/html/file-commands-pagers.html144
-rw-r--r--slackbook/html/file-commands.html275
-rw-r--r--slackbook/html/filesystem-structure-links.html105
-rw-r--r--slackbook/html/filesystem-structure-mounting.html184
-rw-r--r--slackbook/html/filesystem-structure-nfs.html78
-rw-r--r--slackbook/html/filesystem-structure-permissions.html314
-rw-r--r--slackbook/html/filesystem-structure.html168
-rw-r--r--slackbook/html/glossary.html647
-rw-r--r--slackbook/html/gpl.html452
-rw-r--r--slackbook/html/help-online.html247
-rw-r--r--slackbook/html/help.html292
-rw-r--r--slackbook/html/imagelib/admon/note.pngbin338 -> 0 bytes
-rw-r--r--slackbook/html/imagelib/admon/warning.pngbin1090 -> 0 bytes
-rw-r--r--slackbook/html/index.html1013
-rw-r--r--slackbook/html/installation-partitioning.html218
-rw-r--r--slackbook/html/installation-requirements.html388
-rw-r--r--slackbook/html/installation-setup.html387
-rw-r--r--slackbook/html/installation.html176
-rw-r--r--slackbook/html/installation/setup-bootdisk-w.pngbin4010 -> 0 bytes
-rw-r--r--slackbook/html/installation/setup-font-w.pngbin3856 -> 0 bytes
-rw-r--r--slackbook/html/installation/setup-hardware-clock-w.pngbin3916 -> 0 bytes
-rw-r--r--slackbook/html/installation/setup-help-w.pngbin4715 -> 0 bytes
-rw-r--r--slackbook/html/installation/setup-install-w.pngbin7100 -> 0 bytes
-rw-r--r--slackbook/html/installation/setup-kernel-w.pngbin6442 -> 0 bytes
-rw-r--r--slackbook/html/installation/setup-keymap-w.pngbin4526 -> 0 bytes
-rw-r--r--slackbook/html/installation/setup-lilo-w.pngbin5824 -> 0 bytes
-rw-r--r--slackbook/html/installation/setup-modem-w.pngbin5356 -> 0 bytes
-rw-r--r--slackbook/html/installation/setup-mouse-w.pngbin6516 -> 0 bytes
-rw-r--r--slackbook/html/installation/setup-program-w.pngbin5705 -> 0 bytes
-rw-r--r--slackbook/html/installation/setup-select-w.pngbin6817 -> 0 bytes
-rw-r--r--slackbook/html/installation/setup-source-w.pngbin3238 -> 0 bytes
-rw-r--r--slackbook/html/installation/setup-swap-w.pngbin3066 -> 0 bytes
-rw-r--r--slackbook/html/installation/setup-target-w.pngbin3153 -> 0 bytes
-rw-r--r--slackbook/html/installation/setup-timezone-w.pngbin3593 -> 0 bytes
-rw-r--r--slackbook/html/installation/setup-xwmconfig-w.pngbin6767 -> 0 bytes
-rw-r--r--slackbook/html/introduction-opensource.html126
-rw-r--r--slackbook/html/introduction-slackware.html93
-rw-r--r--slackbook/html/introduction.html122
-rw-r--r--slackbook/html/network-configuration-hardware.html173
-rw-r--r--slackbook/html/network-configuration-nfs.html308
-rw-r--r--slackbook/html/network-configuration-ppp.html166
-rw-r--r--slackbook/html/network-configuration-tcpip.html324
-rw-r--r--slackbook/html/network-configuration-wireless.html208
-rw-r--r--slackbook/html/network-configuration.html146
-rw-r--r--slackbook/html/package-management-making-packages.html120
-rw-r--r--slackbook/html/package-management-making-tags-and-tagfiles.html136
-rw-r--r--slackbook/html/package-management-package-utilities.html330
-rw-r--r--slackbook/html/package-management.html148
-rw-r--r--slackbook/html/package-management/pkgtool-view-w.pngbin5817 -> 0 bytes
-rw-r--r--slackbook/html/package-management/pkgtool-w.pngbin4784 -> 0 bytes
-rw-r--r--slackbook/html/process-control-foregrounding.html138
-rw-r--r--slackbook/html/process-control-kill.html182
-rw-r--r--slackbook/html/process-control-ps.html243
-rw-r--r--slackbook/html/process-control-top.html168
-rw-r--r--slackbook/html/process-control.html138
-rw-r--r--slackbook/html/security-current.html138
-rw-r--r--slackbook/html/security-host.html307
-rw-r--r--slackbook/html/security.html218
-rw-r--r--slackbook/html/shell-bash.html234
-rw-r--r--slackbook/html/shell-command-line.html307
-rw-r--r--slackbook/html/shell-vt.html137
-rw-r--r--slackbook/html/shell.html166
-rw-r--r--slackbook/html/slackware_logo.pngbin3675 -> 0 bytes
-rw-r--r--slackbook/html/system-configuration-kernel.html354
-rw-r--r--slackbook/html/system-configuration.html589
-rw-r--r--slackbook/html/system-configuration/make-menuconfig-w.pngbin6421 -> 0 bytes
-rw-r--r--slackbook/html/vi-configuration.html96
-rw-r--r--slackbook/html/vi-keys.html279
-rw-r--r--slackbook/html/vi-modes.html200
-rw-r--r--slackbook/html/vi-opening-files.html109
-rw-r--r--slackbook/html/vi-quitting-vi.html80
-rw-r--r--slackbook/html/vi-saving-files.html103
-rw-r--r--slackbook/html/vi.html199
-rw-r--r--slackbook/html/vi/vim-splitedit.pngbin3515 -> 0 bytes
-rw-r--r--slackbook/html/x-window-system-xdm.html202
-rw-r--r--slackbook/html/x-window-system-xinitrc.html145
-rw-r--r--slackbook/html/x-window-system-xorgsetup.html84
-rw-r--r--slackbook/html/x-window-system-xwmconfig.html134
-rw-r--r--slackbook/html/x-window-system.html210
-rw-r--r--slackbook/html/x-window-system/xorgconfig1-w.pngbin4003 -> 0 bytes
-rw-r--r--slackbook/html/x-window-system/xorgconfig2-w.pngbin6872 -> 0 bytes
-rw-r--r--slackbook/html/x-window-system/xorgconfig3-w.pngbin3069 -> 0 bytes
-rw-r--r--slackbook/html/x-window-system/xorgconfig4-w.pngbin5245 -> 0 bytes
-rw-r--r--slackbook/html/x-window-system/xwmconfig-w.pngbin6767 -> 0 bytes
-rw-r--r--slackbook/html/zipslack-booting.html93
-rw-r--r--slackbook/html/zipslack-getting.html110
-rw-r--r--slackbook/html/zipslack.html128
-rw-r--r--slackbook/slackbook-2.0.pdfbin1863038 -> 0 bytes
-rw-r--r--slackbook/slackbook-2.0.ps86611
-rw-r--r--source/l/lzo/.lzo.info8
955 files changed, 110633 insertions, 132119 deletions
diff --git a/ChangeLog.txt b/ChangeLog.txt
index e7cd15ef..6d95ccca 100644
--- a/ChangeLog.txt
+++ b/ChangeLog.txt
@@ -1,3 +1,3801 @@
+Fri May 25 23:29:36 UTC 2018
+patches/packages/glibc-zoneinfo-2018e-noarch-2_slack13.0.txz: Rebuilt.
+ Handle removal of US/Pacific-New timezone. If we see that the machine is
+ using this, it will be automatically switched to US/Pacific.
++--------------------------+
+Thu May 10 01:24:19 UTC 2018
+patches/packages/glibc-zoneinfo-2018e-noarch-1_slack13.0.txz: Upgraded.
+ This package provides the latest timezone updates.
+patches/packages/wget-1.19.5-x86_64-1_slack13.0.txz: Upgraded.
+ Fixed a security issue where a malicious web server could inject arbitrary
+ cookies into the cookie jar file.
+ For more information, see:
+ https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2018-0494
+ (* Security fix *)
++--------------------------+
+Mon Apr 30 22:35:43 UTC 2018
+patches/packages/libwmf-0.2.8.4-x86_64-5_slack13.0.txz: Rebuilt.
+ Patched denial of service and possible execution of arbitrary code
+ security issues.
+ For more information, see:
+ https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2004-0941
+ https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2006-3376
+ https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2007-0455
+ https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2007-2756
+ https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2007-3472
+ https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2007-3473
+ https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2007-3477
+ https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2009-3546
+ https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2015-0848
+ https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2015-4588
+ https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2015-4695
+ https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2015-4696
+ https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-10167
+ https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-10168
+ https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-9011
+ https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-9317
+ https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-6362
+ (* Security fix *)
++--------------------------+
+Fri Apr 27 03:58:48 UTC 2018
+patches/packages/openvpn-2.4.6-x86_64-1_slack13.0.txz: Upgraded.
+ This is a security update fixing a potential double-free() in Interactive
+ Service. This usually only leads to a process crash (DoS by an unprivileged
+ local account) but since it could possibly lead to memory corruption if
+ happening while multiple other threads are active at the same time,
+ CVE-2018-9336 has been assigned to acknowledge this risk.
+ For more information, see:
+ https://github.com/OpenVPN/openvpn/commit/1394192b210cb3c6624a7419bcf3ff966742e79b
+ https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2018-9336
+ (* Security fix *)
++--------------------------+
+Fri Apr 6 20:47:43 UTC 2018
+####################################################################
+# NOTICE OF INPENDING EOL (END OF LIFE) FOR OLD SLACKWARE VERSIONS #
+# #
+# Effective July 5, 2018, security patches will no longer be #
+# provided for the following versions of Slackware (which will all #
+# be more than 7 years old at that time): #
+# Slackware 13.0, Slackware 13.1, Slackware 13.37. #
+# If you are still running these versions you should consider #
+# migrating to a newer version (preferably as recent as possible). #
+# Alternately, you may make arrangements to handle your own #
+# security patches. #
+####################################################################
+patches/packages/patch-2.7.4-x86_64-2_slack13.0.txz: Rebuilt.
+ Fix arbitrary shell execution possible with obsolete ed format patches.
+ For more information, see:
+ https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2018-1000156
+ (* Security fix *)
++--------------------------+
+Sun Apr 1 19:45:12 UTC 2018
+patches/packages/libidn-1.34-x86_64-1_slack13.0.txz: Upgraded.
+ This update fixes security issues:
+ Fix integer overflow in combine_hangul()
+ Fix integer overflow in punycode decoder
+ Fix NULL pointer dereference in g_utf8_normalize()
+ Fix NULL pointer dereference in stringprep_ucs4_nfkc_normalize()
+ (* Security fix *)
++--------------------------+
+Fri Mar 23 22:28:20 UTC 2018
+patches/packages/glibc-zoneinfo-2018d-noarch-1_slack13.0.txz: Upgraded.
+ This package provides the latest timezone updates.
++--------------------------+
+Thu Mar 8 07:07:45 UTC 2018
+patches/packages/openssh-7.4p1-x86_64-2_slack13.0.txz: Rebuilt.
+ sftp-server: in read-only mode, sftp-server was incorrectly permitting
+ creation of zero-length files. Reported by Michal Zalewski.
+ Thanks to arny (of Bluewhite64 fame) for the heads-up.
+ For more information, see:
+ https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-15906
+ (* Security fix *)
++--------------------------+
+Thu Mar 1 23:24:54 UTC 2018
+patches/packages/dhcp-4.4.1-x86_64-1_slack13.0.txz: Upgraded.
+ This update fixes two security issues:
+ Corrected an issue where large sized 'X/x' format options were causing
+ option handling logic to overwrite memory when expanding them to human
+ readable form. Reported by Felix Wilhelm, Google Security Team.
+ Option reference count was not correctly decremented in error path
+ when parsing buffer for options. Reported by Felix Wilhelm, Google
+ Security Team.
+ For more information, see:
+ https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2018-5732
+ https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2018-5733
+ (* Security fix *)
++--------------------------+
+Sat Feb 24 07:41:40 UTC 2018
+patches/packages/wget-1.19.4-x86_64-2_slack13.0.txz: Rebuilt.
+ Applied upstream patch to fix logging in background mode.
+ Thanks to Willy Sudiarto Raharjo.
++--------------------------+
+Thu Feb 1 18:24:15 UTC 2018
+patches/packages/rsync-3.1.3-x86_64-1_slack13.0.txz: Upgraded.
+ This update fixes two security issues:
+ Fixed a buffer overrun in the protocol's handling of xattr names and
+ ensure that the received name is null terminated.
+ Fix an issue with --protect-args where the user could specify the arg in
+ the protected-arg list and short-circuit some of the arg-sanitizing code.
+ For more information, see:
+ https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-16548
+ https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2018-5764
+ (* Security fix *)
++--------------------------+
+Wed Jan 24 04:21:44 UTC 2018
+patches/packages/glibc-zoneinfo-2018c-noarch-1_slack13.0.txz: Upgraded.
+ This package provides the latest timezone updates.
++--------------------------+
+Mon Jan 22 22:47:47 UTC 2018
+patches/packages/wget-1.19.4-x86_64-1_slack13.0.txz: Upgraded.
+ More bug fixes:
+ A major bug that caused GZip'ed pages to never be decompressed has been fixed
+ Support for Content-Encoding and Transfer-Encoding have been marked as
+ experimental and disabled by default
++--------------------------+
+Sat Jan 20 16:00:51 UTC 2018
+patches/packages/wget-1.19.3-x86_64-1_slack13.0.txz: Upgraded.
+ This update fixes various non-security bugs, including this one:
+ Prevent erroneous decompression of .gz and .tgz files with broken servers.
++--------------------------+
+Wed Jan 17 21:36:23 UTC 2018
+patches/packages/bind-9.9.11_P1-x86_64-1_slack13.0.txz: Upgraded.
+ This update fixes a high severity security issue:
+ Improper sequencing during cleanup can lead to a use-after-free error,
+ triggering an assertion failure and crash in named.
+ For more information, see:
+ https://kb.isc.org/article/AA-01542
+ https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-3145
+ (* Security fix *)
++--------------------------+
+Wed Nov 29 08:15:09 UTC 2017
+patches/packages/libXcursor-1.1.15-x86_64-1_slack13.0.txz: Upgraded.
+ Fix heap overflows when parsing malicious files. (CVE-2017-16612)
+ It is possible to trigger heap overflows due to an integer overflow
+ while parsing images and a signedness issue while parsing comments.
+ The integer overflow occurs because the chosen limit 0x10000 for
+ dimensions is too large for 32 bit systems, because each pixel takes
+ 4 bytes. Properly chosen values allow an overflow which in turn will
+ lead to less allocated memory than needed for subsequent reads.
+ The signedness bug is triggered by reading the length of a comment
+ as unsigned int, but casting it to int when calling the function
+ XcursorCommentCreate. Turning length into a negative value allows the
+ check against XCURSOR_COMMENT_MAX_LEN to pass, and the following
+ addition of sizeof (XcursorComment) + 1 makes it possible to allocate
+ less memory than needed for subsequent reads.
+ For more information, see:
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-16612
+ (* Security fix *)
+patches/packages/libXfont-1.4.7-x86_64-2_slack13.0.txz: Rebuilt.
+ Open files with O_NOFOLLOW. (CVE-2017-16611)
+ A non-privileged X client can instruct X server running under root
+ to open any file by creating own directory with "fonts.dir",
+ "fonts.alias" or any font file being a symbolic link to any other
+ file in the system. X server will then open it. This can be issue
+ with special files such as /dev/watchdog (which could then reboot
+ the system).
+ For more information, see:
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-16611
+ (* Security fix *)
++--------------------------+
+Fri Oct 27 20:34:35 UTC 2017
+patches/packages/wget-1.19.2-x86_64-1_slack13.0.txz: Upgraded.
+ This update fixes stack and heap overflows in in HTTP protocol handling.
+ For more information, see:
+ https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-13089
+ https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-13090
+ (* Security fix *)
++--------------------------+
+Wed Oct 25 19:09:26 UTC 2017
+patches/packages/glibc-zoneinfo-2017c-noarch-1_slack13.0.txz: Upgraded.
+ This package provides the latest timezone updates.
++--------------------------+
+Mon Oct 2 17:16:06 UTC 2017
+patches/packages/dnsmasq-2.78-x86_64-1_slack13.0.txz: Upgraded.
+ This update fixes bugs and remotely exploitable security issues that may
+ have impacts including denial of service, information leak, and execution
+ of arbitrary code. Thanks to Felix Wilhelm, Fermin J. Serna, Gabriel Campana,
+ Kevin Hamacher, Ron Bowes, and Gynvael Coldwind of the Google Security Team.
+ For more information, see:
+ https://security.googleblog.com/2017/10/behind-masq-yet-more-dns-and-dhcp.html
+ https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-13704
+ https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-14491
+ https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-14492
+ https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-14493
+ https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-14494
+ https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-14495
+ https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-14496
+ (* Security fix *)
++--------------------------+
+Mon Sep 18 19:15:03 UTC 2017
+patches/packages/httpd-2.2.34-x86_64-2_slack13.0.txz: Rebuilt.
+ This update patches a security issue ("Optionsbleed") with the OPTIONS http
+ method which may leak arbitrary pieces of memory to a potential attacker.
+ Thanks to Hanno Bo:ck.
+ For more information, see:
+ http://seclists.org/oss-sec/2017/q3/477
+ https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-9798
+ (* Security fix *)
++--------------------------+
+Tue Sep 12 22:18:51 UTC 2017
+patches/packages/emacs-25.3-x86_64-1_slack13.0.txz: Upgraded.
+ This update fixes a security vulnerability in Emacs. Gnus no longer
+ supports "richtext" and "enriched" inline MIME objects. This support
+ was disabled to avoid evaluation of arbitrary Lisp code contained in
+ email messages and news articles.
+ For more information, see:
+ http://seclists.org/oss-sec/2017/q3/422
+ https://bugs.gnu.org/28350
+ (* Security fix *)
++--------------------------+
+Tue Aug 15 22:16:12 UTC 2017
+patches/packages/xorg-server-1.6.3-x86_64-4_slack13.0.txz: Rebuilt.
+ This update fixes two security issues:
+ A user authenticated to an X Session could crash or execute code in the
+ context of the X Server by exploiting a stack overflow in the endianness
+ conversion of X Events.
+ Uninitialized data in endianness conversion in the XEvent handling of the
+ X.Org X Server allowed authenticated malicious users to access potentially
+ privileged data from the X server.
+ For more information, see:
+ https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-10971
+ https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-10972
+ (* Security fix *)
+patches/packages/xorg-server-xephyr-1.6.3-x86_64-4_slack13.0.txz: Rebuilt.
+patches/packages/xorg-server-xnest-1.6.3-x86_64-4_slack13.0.txz: Rebuilt.
+patches/packages/xorg-server-xvfb-1.6.3-x86_64-4_slack13.0.txz: Rebuilt.
++--------------------------+
+Fri Aug 11 23:02:43 UTC 2017
+patches/packages/git-2.14.1-x86_64-1_slack13.0.txz: Upgraded.
+ Fixes security issues:
+ A "ssh://..." URL can result in a "ssh" command line with a hostname that
+ begins with a dash "-", which would cause the "ssh" command to instead
+ (mis)treat it as an option. This is now prevented by forbidding such a
+ hostname (which should not impact any real-world usage).
+ Similarly, when GIT_PROXY_COMMAND is configured, the command is run with
+ host and port that are parsed out from "ssh://..." URL; a poorly written
+ GIT_PROXY_COMMAND could be tricked into treating a string that begins with a
+ dash "-" as an option. This is now prevented by forbidding such a hostname
+ and port number (again, which should not impact any real-world usage).
+ For more information, see:
+ https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-1000117
+ (* Security fix *)
++--------------------------+
+Wed Aug 9 20:23:16 UTC 2017
+patches/packages/curl-7.55.0-x86_64-1_slack13.0.txz: Upgraded.
+ This update fixes three security issues:
+ URL globbing out of bounds read
+ TFTP sends more than buffer size
+ FILE buffer read out of bounds
+ For more information, see:
+ https://curl.haxx.se/docs/adv_20170809A.html
+ https://curl.haxx.se/docs/adv_20170809B.html
+ https://curl.haxx.se/docs/adv_20170809C.html
+ https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-1000101
+ https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-1000100
+ https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-1000099
+ (* Security fix *)
++--------------------------+
+Wed Aug 2 03:43:51 UTC 2017
+patches/packages/gnupg-1.4.22-x86_64-1_slack13.0.txz: Upgraded.
+ Mitigate a flush+reload side-channel attack on RSA secret keys dubbed
+ "Sliding right into disaster".
+ For more information, see:
+ https://eprint.iacr.org/2017/627
+ https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-7526
+ (* Security fix *)
++--------------------------+
+Tue Jul 25 21:09:42 UTC 2017
+patches/packages/bind-9.9.10_P3-x86_64-1_slack13.0.txz: Upgraded.
+ Fix a regression in the previous BIND release that broke verification
+ of TSIG signed TCP message sequences where not all the messages contain
+ TSIG records.
++--------------------------+
+Tue Jul 18 23:10:25 UTC 2017
+patches/packages/expat-2.2.2-x86_64-1_slack13.0.txz: Upgraded.
+ Fixes security issues including:
+ External entity infinite loop DoS
+ For more information, see:
+ https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-9233
+ https://libexpat.github.io/doc/cve-2017-9233/
+ (* Security fix *)
++--------------------------+
+Thu Jul 13 18:19:01 UTC 2017
+patches/packages/httpd-2.2.34-x86_64-1_slack13.0.txz: Upgraded.
+ This update fixes a security issue:
+ Uninitialized memory reflection in mod_auth_digest (CVE-2017-9788)
+ Thanks to Robert Swiecki for reporting this issue.
+ For more information, see:
+ https://httpd.apache.org/security/vulnerabilities_22.html
+ https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-9788
+ (* Security fix *)
++--------------------------+
+Thu Jun 29 20:55:09 UTC 2017
+patches/packages/bind-9.9.10_P2-x86_64-1_slack13.0.txz: Upgraded.
+ This update fixes a high severity security issue:
+ An error in TSIG handling could permit unauthorized zone transfers
+ or zone updates.
+ For more information, see:
+ https://kb.isc.org/article/AA-01503/0
+ https://kb.isc.org/article/AA-01504/0
+ https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-3142
+ https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-3143
+ (* Security fix *)
+patches/packages/httpd-2.2.32-x86_64-1_slack13.0.txz: Upgraded.
+ This update fixes security issues which may lead to an authentication bypass
+ or a denial of service:
+ important: ap_get_basic_auth_pw() Authentication Bypass CVE-2017-3167
+ important: mod_ssl Null Pointer Dereference CVE-2017-3169
+ important: mod_http2 Null Pointer Dereference CVE-2017-7659
+ important: ap_find_token() Buffer Overread CVE-2017-7668
+ important: mod_mime Buffer Overread CVE-2017-7679
+ For more information, see:
+ https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-3167
+ https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-3169
+ https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-7659
+ https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-7668
+ https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-7679
+ (* Security fix *)
++--------------------------+
+Wed Jun 21 18:38:46 UTC 2017
+patches/packages/openvpn-2.3.17-x86_64-1_slack13.0.txz: Upgraded.
+ This update fixes several denial of service issues discovered
+ by Guido Vranken.
+ For more information, see:
+ https://community.openvpn.net/openvpn/wiki/VulnerabilitiesFixedInOpenVPN243
+ https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-7508
+ https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-7520
+ https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-7521
+ https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-7512
+ https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-7522
+ (* Security fix *)
++--------------------------+
+Wed Jun 14 22:04:45 UTC 2017
+patches/packages/bind-9.9.10_P1-x86_64-1_slack13.0.txz: Upgraded.
+ Fixed denial of service security issue:
+ Some RPZ configurations could go into an infinite query loop when
+ encountering responses with TTL=0.
+ For more information, see:
+ https://kb.isc.org/article/AA-01495
+ https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-3140
+ (* Security fix *)
++--------------------------+
+Wed Jun 7 22:42:04 UTC 2017
+patches/packages/irssi-0.8.21-x86_64-2_slack13.0.txz: Rebuilt.
+ Fixed security issues that may result in a denial of service.
+ For more information, see:
+ https://irssi.org/security/irssi_sa_2017_06.txt
+ https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-9468
+ https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-9469
+ (* Security fix *)
++--------------------------+
+Wed May 31 23:07:23 UTC 2017
+patches/packages/sudo-1.8.20p2-x86_64-1_slack13.0.txz: Upgraded.
+ This is a bugfix release:
+ Fixed a bug parsing /proc/pid/stat when the process name contains
+ a newline. This is not exploitable due to the /dev traversal changes
+ made in sudo 1.8.20p1.
++--------------------------+
+Tue May 30 17:39:17 UTC 2017
+patches/packages/lynx-2.8.8rel.2-x86_64-1_slack13.0.txz: Upgraded.
+ Fixed lynx startup without a URL by correcting STARTFILE in lynx.cfg to use
+ the new URL for the Lynx homepage. Thanks to John David Yost.
+patches/packages/sudo-1.8.20p1-x86_64-1_slack13.0.txz: Upgraded.
+ This update fixes a potential overwrite of arbitrary system files.
+ This bug was discovered and analyzed by Qualys, Inc.
+ For more information, see:
+ https://www.sudo.ws/alerts/linux_tty.html
+ http://www.openwall.com/lists/oss-security/2017/05/30/16
+ https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-1000367
+ (* Security fix *)
++--------------------------+
+Tue May 16 20:11:03 UTC 2017
+patches/packages/freetype-2.5.5-x86_64-2_slack13.0.txz: Rebuilt.
+ This update fixes an out-of-bounds write caused by a heap-based buffer
+ overflow related to the t1_builder_close_contour function in psaux/psobjs.c.
+ For more information, see:
+ https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-8287
+ (* Security fix *)
++--------------------------+
+Mon May 1 23:31:02 UTC 2017
+patches/packages/rxvt-2.7.10-x86_64-5_slack13.0.txz: Rebuilt.
+ Patched an integer overflow that can crash rxvt with an escape sequence,
+ or possibly have unspecified other impact.
+ For more information, see:
+ https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-7483
+ (* Security fix *)
++--------------------------+
+Fri Apr 21 22:40:12 UTC 2017
+patches/packages/ntp-4.2.8p10-x86_64-1_slack13.0.txz: Upgraded.
+ In addition to bug fixes and enhancements, this release fixes security
+ issues of medium and low severity:
+ Denial of Service via Malformed Config (Medium)
+ Authenticated DoS via Malicious Config Option (Medium)
+ Potential Overflows in ctl_put() functions (Medium)
+ Buffer Overflow in ntpq when fetching reslist from a malicious ntpd (Medium)
+ 0rigin DoS (Medium)
+ Buffer Overflow in DPTS Clock (Low)
+ Improper use of snprintf() in mx4200_send() (Low)
+ The following issues do not apply to Linux systems:
+ Privileged execution of User Library code (WINDOWS PPSAPI ONLY) (Low)
+ Stack Buffer Overflow from Command Line (WINDOWS installer ONLY) (Low)
+ Data Structure terminated insufficiently (WINDOWS installer ONLY) (Low)
+ For more information, see:
+ https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-6464
+ https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-6463
+ https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-6458
+ https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-6460
+ https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-9042
+ https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-6462
+ https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-6451
+ https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-6455
+ https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-6452
+ https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-6459
+ (* Security fix *)
+patches/packages/proftpd-1.3.5e-x86_64-1_slack13.0.txz: Upgraded.
+ This release fixes a security issue:
+ AllowChrootSymlinks off does not check entire DefaultRoot path for symlinks.
+ For more information, see:
+ https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-7418
+ (* Security fix *)
++--------------------------+
+Wed Apr 19 04:46:45 UTC 2017
+patches/packages/minicom-2.7.1-x86_64-1_slack13.0.txz: Upgraded.
+ Fix an out of bounds data access that can lead to remote code execution.
+ This issue was found by Solar Designer of Openwall during a security audit
+ of the Virtuozzo 7 product, which contains derived downstream code in its
+ prl-vzvncserver component.
+ For more information, see:
+ https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-7467
+ (* Security fix *)
++--------------------------+
+Thu Apr 13 21:19:45 UTC 2017
+patches/packages/bind-9.9.9_P8-x86_64-1_slack13.0.txz: Upgraded.
+ Fixed denial of service security issues.
+ For more information, see:
+ https://kb.isc.org/article/AA-01465
+ https://kb.isc.org/article/AA-01466
+ https://kb.isc.org/article/AA-01471
+ https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-3136
+ https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-3137
+ https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-3138
+ (* Security fix *)
++--------------------------+
+Thu Mar 23 21:38:23 UTC 2017
+patches/packages/glibc-zoneinfo-2017b-noarch-1_slack13.0.txz: Upgraded.
+ This package provides the latest timezone updates.
++--------------------------+
+Thu Mar 16 01:37:05 UTC 2017
+patches/packages/pidgin-2.12.0-x86_64-1_slack13.0.txz: Upgraded.
+ This update fixes a minor security issue (out of bounds memory read in
+ purple_markup_unescape_entity).
+ For more information, see:
+ https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-2640
+ (* Security fix *)
++--------------------------+
+Tue Feb 28 23:51:55 UTC 2017
+patches/packages/glibc-zoneinfo-2017a-noarch-1_slack13.0.txz: Upgraded.
+ This package provides the latest timezone updates.
++--------------------------+
+Fri Feb 10 21:07:35 UTC 2017
+patches/packages/bind-9.9.9_P6-x86_64-1_slack13.0.txz: Upgraded.
+ This update fixes a denial-of-service vulnerability. Under some conditions
+ when using both DNS64 and RPZ to rewrite query responses, query processing
+ can resume in an inconsistent state leading to either an INSIST assertion
+ failure or an attempt to read through a NULL pointer.
+ For more information, see:
+ https://kb.isc.org/article/AA-01453
+ https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-3135
+ (* Security fix *)
++--------------------------+
+Thu Jan 12 01:15:52 UTC 2017
+patches/packages/bind-9.9.9_P5-x86_64-1_slack13.0.txz: Upgraded.
+ This update fixes a denial-of-service vulnerability. An error in handling
+ certain queries can cause an assertion failure when a server is using the
+ nxdomain-redirect feature to cover a zone for which it is also providing
+ authoritative service. A vulnerable server could be intentionally stopped
+ by an attacker if it was using a configuration that met the criteria for
+ the vulnerability and if the attacker could cause it to accept a query
+ that possessed the required attributes.
+ Please note: This vulnerability affects the "nxdomain-redirect" feature,
+ which is one of two methods of handling NXDOMAIN redirection, and is only
+ available in certain versions of BIND. Redirection using zones of type
+ "redirect" is not affected by this vulnerability.
+ For more information, see:
+ https://kb.isc.org/article/AA-01442
+ https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-9778
+ (* Security fix *)
+patches/packages/irssi-0.8.21-x86_64-1_slack13.0.txz: Upgraded.
+ Fixed security issues that may result in a denial of service.
+ For more information, see:
+ https://irssi.org/security/irssi_sa_2017_01.txt
+ https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-5193
+ https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-5194
+ https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-5195
+ https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-5196
+ (* Security fix *)
++--------------------------+
+Fri Dec 30 19:29:13 UTC 2016
+patches/packages/libpng-1.2.57-x86_64-1_slack13.0.txz: Upgraded.
+ This release fixes an old NULL pointer dereference bug in png_set_text_2()
+ discovered and patched by Patrick Keshishian. The potential "NULL
+ dereference" bug has existed in libpng since version 0.71 of June 26, 1995.
+ To be vulnerable, an application has to load a text chunk into the png
+ structure, then delete all text, then add another text chunk to the same
+ png structure, which seems to be an unlikely sequence, but it has happened.
+ For more information, see:
+ https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-10087
+ (* Security fix *)
++--------------------------+
+Sat Dec 24 18:14:51 UTC 2016
+patches/packages/expat-2.2.0-x86_64-1_slack13.0.txz: Upgraded.
+ This update fixes bugs and security issues:
+ Multiple integer overflows in XML_GetBuffer.
+ Fix crash on malformed input.
+ Improve insufficient fix to CVE-2015-1283 / CVE-2015-2716.
+ Use more entropy for hash initialization.
+ Resolve troublesome internal call to srand.
+ For more information, see:
+ https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2015-1283
+ https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-0718
+ https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-4472
+ https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-5300
+ https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2012-6702
+ (* Security fix *)
++--------------------------+
+Sat Dec 24 02:36:05 UTC 2016
+patches/packages/openssh-7.4p1-x86_64-1_slack13.0.txz: Upgraded.
+ This is primarily a bugfix release, and also addresses security issues.
+ ssh-agent(1): Will now refuse to load PKCS#11 modules from paths outside
+ a trusted whitelist.
+ sshd(8): When privilege separation is disabled, forwarded Unix-domain
+ sockets would be created by sshd(8) with the privileges of 'root'.
+ sshd(8): Avoid theoretical leak of host private key material to
+ privilege-separated child processes via realloc().
+ sshd(8): The shared memory manager used by pre-authentication compression
+ support had a bounds checks that could be elided by some optimising
+ compilers to potentially allow attacks against the privileged monitor.
+ process from the sandboxed privilege-separation process.
+ sshd(8): Validate address ranges for AllowUser and DenyUsers directives at
+ configuration load time and refuse to accept invalid ones. It was
+ previously possible to specify invalid CIDR address ranges
+ (e.g. user@127.1.2.3/55) and these would always match, possibly resulting
+ in granting access where it was not intended.
+ For more information, see:
+ https://www.openssh.com/txt/release-7.4
+ https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-10009
+ https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-10010
+ https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-10011
+ https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-10012
+ (* Security fix *)
++--------------------------+
+Sun Dec 18 05:20:25 UTC 2016
+patches/packages/glibc-zoneinfo-2016j-noarch-1_slack13.0.txz: Upgraded.
+ This package provides the latest timezone updates.
++--------------------------+
+Mon Nov 21 19:21:22 UTC 2016
+patches/packages/ntp-4.2.8p9-x86_64-1_slack13.0.txz: Upgraded.
+ In addition to bug fixes and enhancements, this release fixes the
+ following 1 high- (Windows only :-), 2 medium-, 2 medium-/low, and
+ 5 low-severity vulnerabilities, and provides 28 other non-security
+ fixes and improvements.
+ CVE-2016-9311: Trap crash
+ CVE-2016-9310: Mode 6 unauthenticated trap info disclosure and DDoS vector
+ CVE-2016-7427: Broadcast Mode Replay Prevention DoS
+ CVE-2016-7428: Broadcast Mode Poll Interval Enforcement DoS
+ CVE-2016-9312: Windows: ntpd DoS by oversized UDP packet
+ CVE-2016-7431: Regression: 010-origin: Zero Origin Timestamp Bypass
+ CVE-2016-7434: Null pointer dereference in _IO_str_init_static_internal()
+ CVE-2016-7429: Interface selection attack
+ CVE-2016-7426: Client rate limiting and server responses
+ CVE-2016-7433: Reboot sync calculation problem
+ For more information, see:
+ https://www.kb.cert.org/vuls/id/633847
+ https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-9311
+ https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-9310
+ https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-7427
+ https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-7428
+ https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-9312
+ https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-7431
+ https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-7434
+ https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-7429
+ https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-7426
+ https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-7433
+ (* Security fix *)
++--------------------------+
+Fri Nov 18 22:49:40 UTC 2016
+patches/packages/libxcb-1.11.1-x86_64-2_slack13.0.txz: Rebuilt.
+ This update fixes a regression where previously compiled binaries could be
+ broken due to a changed shared library soname. This package adds
+ compatibility symlinks to the old names where needed.
++--------------------------+
+Fri Nov 4 03:31:38 UTC 2016
+patches/packages/bind-9.9.9_P4-x86_64-1_slack13.0.txz: Upgraded.
+ This update fixes a denial-of-service vulnerability. A defect in BIND's
+ handling of responses containing a DNAME answer can cause a resolver to exit
+ after encountering an assertion failure in db.c or resolver.c. A server
+ encountering either of these error conditions will stop, resulting in denial
+ of service to clients. The risk to authoritative servers is minimal;
+ recursive servers are chiefly at risk.
+ For more information, see:
+ https://kb.isc.org/article/AA-01434
+ https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-8864
+ (* Security fix *)
+patches/packages/curl-7.51.0-x86_64-1_slack13.0.txz: Upgraded.
+ This release fixes security issues:
+ CVE-2016-8615: cookie injection for other servers
+ CVE-2016-8616: case insensitive password comparison
+ CVE-2016-8617: OOB write via unchecked multiplication
+ CVE-2016-8618: double-free in curl_maprintf
+ CVE-2016-8619: double-free in krb5 code
+ CVE-2016-8620: glob parser write/read out of bounds
+ CVE-2016-8621: curl_getdate read out of bounds
+ CVE-2016-8622: URL unescape heap overflow via integer truncation
+ CVE-2016-8623: Use-after-free via shared cookies
+ CVE-2016-8624: invalid URL parsing with '#'
+ CVE-2016-8625: IDNA 2003 makes curl use wrong host
+ For more information, see:
+ https://curl.haxx.se/docs/adv_20161102A.html
+ https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-8615
+ https://curl.haxx.se/docs/adv_20161102B.html
+ https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-8616
+ https://curl.haxx.se/docs/adv_20161102C.html
+ https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-8617
+ https://curl.haxx.se/docs/adv_20161102D.html
+ https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-8618
+ https://curl.haxx.se/docs/adv_20161102E.html
+ https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-8619
+ https://curl.haxx.se/docs/adv_20161102F.html
+ https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-8620
+ https://curl.haxx.se/docs/adv_20161102G.html
+ https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-8621
+ https://curl.haxx.se/docs/adv_20161102H.html
+ https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-8622
+ https://curl.haxx.se/docs/adv_20161102I.html
+ https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-8623
+ https://curl.haxx.se/docs/adv_20161102J.html
+ https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-8624
+ https://curl.haxx.se/docs/adv_20161102K.html
+ https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-8625
+ (* Security fix *)
+patches/packages/glibc-zoneinfo-2016i-noarch-1_slack13.0.txz: Upgraded.
+ This package provides the latest timezone updates.
++--------------------------+
+Mon Oct 31 23:38:24 UTC 2016
+patches/packages/fixesproto-5.0-x86_64-1_slack13.0.txz: Upgraded.
+ This update is a prerequisite for other security updates.
+patches/packages/inputproto-2.3.2-noarch-1_slack13.0.txz: Upgraded.
+ This update is a prerequisite for other security updates.
+patches/packages/libX11-1.6.4-x86_64-1_slack13.0.txz: Upgraded.
+ Insufficient validation of data from the X server can cause out of boundary
+ memory read in XGetImage() or write in XListFonts().
+ Affected versions libX11 <= 1.6.3.
+ For more information, see:
+ https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-7942
+ https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-7943
+ (* Security fix *)
+patches/packages/libXext-1.3.3-x86_64-1_slack13.0.txz: Upgraded.
+patches/packages/libXfixes-5.0.3-x86_64-1_slack13.0.txz: Upgraded.
+ Insufficient validation of data from the X server can cause an integer
+ overflow on 32 bit architectures.
+ Affected versions : libXfixes <= 5.0.2.
+ For more information, see:
+ https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-7944
+ (* Security fix *)
+patches/packages/libXi-1.7.8-x86_64-1_slack13.0.txz: Upgraded.
+ Insufficient validation of data from the X server can cause out of boundary
+ memory access or endless loops (Denial of Service).
+ Affected versions libXi <= 1.7.6.
+ For more information, see:
+ https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-7945
+ https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-7946
+ (* Security fix *)
+patches/packages/libXrandr-1.5.1-x86_64-1_slack13.0.txz: Upgraded.
+ Insufficient validation of data from the X server can cause out of boundary
+ memory writes.
+ Affected versions: libXrandr <= 1.5.0.
+ For more information, see:
+ https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-7947
+ https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-7948
+ (* Security fix *)
+patches/packages/libXrender-0.9.10-x86_64-1_slack13.0.txz: Upgraded.
+ Insufficient validation of data from the X server can cause out of boundary
+ memory writes.
+ Affected version: libXrender <= 0.9.9.
+ For more information, see:
+ https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-7949
+ https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-7950
+ (* Security fix *)
+patches/packages/libXtst-1.2.3-x86_64-1_slack13.0.txz: Upgraded.
+ Insufficient validation of data from the X server can cause out of boundary
+ memory access or endless loops (Denial of Service).
+ Affected version libXtst <= 1.2.2.
+ For more information, see:
+ https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-7951
+ https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-7952
+ (* Security fix *)
+patches/packages/libXv-1.0.11-x86_64-1_slack13.0.txz: Upgraded.
+ Insufficient validation of data from the X server can cause out of boundary
+ memory and memory corruption.
+ Affected version libXv <= 1.0.10.
+ For more information, see:
+ https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-5407
+ (* Security fix *)
+patches/packages/libXvMC-1.0.10-x86_64-1_slack13.0.txz: Upgraded.
+ Insufficient validation of data from the X server can cause a one byte buffer
+ read underrun.
+ Affected version: libXvMC <= 1.0.9.
+ For more information, see:
+ https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-7953
+ (* Security fix *)
+patches/packages/libxcb-1.11.1-x86_64-1_slack13.0.txz: Upgraded.
+ This update is a prerequisite for other security updates.
+patches/packages/randrproto-1.5.0-noarch-1_slack13.0.txz: Upgraded.
+ This update is a prerequisite for other security updates.
+patches/packages/recordproto-1.14.2-noarch-1_slack13.0.txz: Upgraded.
+ This update is a prerequisite for other security updates.
+patches/packages/xcb-proto-1.11-x86_64-1_slack13.0.txz: Upgraded.
+ This update is a prerequisite for other security updates.
+patches/packages/xextproto-7.3.0-x86_64-1_slack13.0.txz: Upgraded.
+ This update is a prerequisite for other security updates.
+patches/packages/xproto-7.0.29-noarch-1_slack13.0.txz: Upgraded.
+ This update is a prerequisite for other security updates.
++--------------------------+
+Wed Sep 28 23:24:37 UTC 2016
+patches/packages/glibc-zoneinfo-2016g-noarch-1_slack13.0.txz: Upgraded.
+ This package provides the latest timezone updates.
++--------------------------+
+Tue Sep 27 19:16:56 UTC 2016
+patches/packages/bind-9.9.9_P3-x86_64-1_slack13.0.txz: Upgraded.
+ This update fixes a denial-of-service vulnerability. Testing by ISC has
+ uncovered a critical error condition which can occur when a nameserver is
+ constructing a response. A defect in the rendering of messages into
+ packets can cause named to exit with an assertion failure in buffer.c while
+ constructing a response to a query that meets certain criteria.
+ For more information, see:
+ https://kb.isc.org/article/AA-01419/0
+ https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-2776
+ (* Security fix *)
++--------------------------+
+Thu Sep 22 18:38:07 UTC 2016
+patches/packages/pidgin-2.11.0-x86_64-1_slack13.0.txz: Upgraded.
+ NOTE: These packages provide updates to pidgin-2.11.0, since the previous
+ version was mistakenly reissued for Slackware 13.0 - 14.1. Sorry!
+ This release fixes bugs and security issues.
+ For more information, see:
+ https://www.pidgin.im/news/security/
+ (* Security fix *)
++--------------------------+
+Wed Sep 21 21:10:52 UTC 2016
+patches/packages/irssi-0.8.20-x86_64-1_slack13.0.txz: Upgraded.
+ This update fixes two remote crash and heap corruption vulnerabilites
+ in Irssi's format parsing code. Impact: Remote crash and heap
+ corruption. Remote code execution seems difficult since only Nuls are
+ written. Bugs discovered by, and patches provided by Gabriel Campana
+ and Adrien Guinet from Quarkslab.
+ For more information, see:
+ https://irssi.org/security/irssi_sa_2016.txt
+ https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-7044
+ https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-7045
+ (* Security fix *)
++--------------------------+
+Wed Sep 21 15:54:06 UTC 2016
+patches/packages/pidgin-2.10.11-x86_64-1_slack13.0.txz: Upgraded.
+ This release fixes bugs and security issues.
+ For more information, see:
+ https://www.pidgin.im/news/security/
+ (* Security fix *)
++--------------------------+
+Thu Sep 15 22:54:52 UTC 2016
+patches/packages/curl-7.50.3-x86_64-1_slack13.0.txz: Upgraded.
+ Fixed heap overflows in four libcurl functions: curl_escape(),
+ curl_easy_escape(), curl_unescape() and curl_easy_unescape().
+ For more information, see:
+ https://curl.haxx.se/docs/adv_20160914.html
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-7167
+ (* Security fix *)
++--------------------------+
+Tue Aug 23 19:45:33 UTC 2016
+patches/packages/gnupg-1.4.21-x86_64-1_slack13.0.txz: Upgraded.
+ Fix critical security bug in the RNG [CVE-2016-6313]. An attacker who
+ obtains 580 bytes from the standard RNG can trivially predict the next
+ 20 bytes of output. (This is according to the NEWS file included in the
+ source. According to the annoucement linked below, an attacker who obtains
+ 4640 bits from the RNG can trivially predict the next 160 bits of output.)
+ Problem detected by Felix Doerre and Vladimir Klebanov, KIT.
+ For more information, see:
+ https://lists.gnupg.org/pipermail/gnupg-announce/2016q3/000395.html
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-6313
+ (* Security fix *)
+patches/packages/libgcrypt-1.5.6-x86_64-1_slack13.0.txz: Upgraded.
+ Fix critical security bug in the RNG [CVE-2016-6313]. An attacker who
+ obtains 580 bytes from the standard RNG can trivially predict the next
+ 20 bytes of output. (This is according to the NEWS file included in the
+ source. According to the annoucement linked below, an attacker who obtains
+ 4640 bits from the RNG can trivially predict the next 160 bits of output.)
+ Problem detected by Felix Doerre and Vladimir Klebanov, KIT.
+ For more information, see:
+ https://lists.gnupg.org/pipermail/gnupg-announce/2016q3/000395.html
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-6313
+ (* Security fix *)
+patches/packages/stunnel-5.35-x86_64-2_slack13.0.txz: Rebuilt.
+ Fixed incorrect config file name in generate-stunnel-key.sh.
+ Thanks to Ebben Aries.
++--------------------------+
+Thu Aug 11 18:55:48 UTC 2016
+patches/packages/glibc-zoneinfo-2016f-noarch-1_slack13.0.txz: Upgraded.
+ This package provides the latest timezone updates.
++--------------------------+
+Sat Aug 6 19:29:16 UTC 2016
+patches/packages/curl-7.50.1-x86_64-1_slack13.0.txz: Upgraded.
+ This release fixes security issues:
+ TLS: switch off SSL session id when client cert is used
+ TLS: only reuse connections with the same client cert
+ curl_multi_cleanup: clear connection pointer for easy handles
+ For more information, see:
+ https://curl.haxx.se/docs/adv_20160803A.html
+ https://curl.haxx.se/docs/adv_20160803B.html
+ https://curl.haxx.se/docs/adv_20160803C.html
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-5419
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-5420
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-5421
+ (* Security fix *)
+patches/packages/openssh-7.3p1-x86_64-1_slack13.0.txz: Upgraded.
+ This is primarily a bugfix release, and also addresses security issues.
+ sshd(8): Mitigate a potential denial-of-service attack against the system's
+ crypt(3) function via sshd(8).
+ sshd(8): Mitigate timing differences in password authentication that could
+ be used to discern valid from invalid account names when long passwords were
+ sent and particular password hashing algorithms are in use on the server.
+ ssh(1), sshd(8): Fix observable timing weakness in the CBC padding oracle
+ countermeasures.
+ ssh(1), sshd(8): Improve operation ordering of MAC verification for
+ Encrypt-then-MAC (EtM) mode transport MAC algorithms to verify the MAC
+ before decrypting any ciphertext.
+ sshd(8): (portable only) Ignore PAM environment vars when UseLogin=yes.
+ For more information, see:
+ http://www.openssh.com/txt/release-7.3
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-6210
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2015-8325
+ (* Security fix *)
+patches/packages/stunnel-5.35-x86_64-1_slack13.0.txz: Upgraded.
+ Fixes security issues:
+ Fixed malfunctioning "verify = 4".
+ Fixed incorrectly enforced client certificate requests.
+ (* Security fix *)
++--------------------------+
+Thu Jul 28 18:17:17 UTC 2016
+patches/packages/libidn-1.33-x86_64-1_slack13.0.txz: Upgraded.
+ Fixed out-of-bounds read bugs. Fixed crashes on invalid UTF-8.
+ Thanks to Hanno Böck.
+ For more information, see:
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2015-8948
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-6261
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-6262
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-6263
+ (* Security fix *)
++--------------------------+
+Fri Jul 22 20:51:23 UTC 2016
+patches/packages/bind-9.9.9_P2-x86_64-1_slack13.0.txz: Upgraded.
+ Fixed a security issue:
+ getrrsetbyname with a non absolute name could trigger an infinite
+ recursion bug in lwresd and named with lwres configured if when
+ combined with a search list entry the resulting name is too long.
+ (CVE-2016-2775) [RT #42694]
+ For more information, see:
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-2775
+ (* Security fix *)
++--------------------------+
+Wed Jun 15 01:57:05 UTC 2016
+patches/packages/glibc-zoneinfo-2016e-noarch-1_slack13.0.txz: Upgraded.
+ This package provides the latest timezone updates.
++--------------------------+
+Mon Jun 13 07:07:39 UTC 2016
+patches/packages/wget-1.18-x86_64-1_slack13.0.txz: Upgraded.
+ This version fixes a security vulnerability present in all old versions
+ of wget. On a server redirect from HTTP to a FTP resource, wget would
+ trust the HTTP server and use the name in the redirected URL as the
+ destination filename. This behaviour was changed and now it works
+ similarly as a redirect from HTTP to another HTTP resource so the original
+ name is used as the destination file. To keep the previous behaviour the
+ user must provide --trust-server-names.
+ The vulnerability was discovered by Dawid Golunski and was reported by
+ Beyond Security's SecuriTeam.
+ For more information, see:
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-4971
+ (* Security fix *)
++--------------------------+
+Fri Jun 3 23:36:07 UTC 2016
+patches/packages/ntp-4.2.8p8-x86_64-1_slack13.0.txz: Upgraded.
+ This release patches one high and four low severity security issues:
+ CVE-2016-4957: Crypto-NAK crash
+ CVE-2016-4953: Bad authentication demobilizes ephemeral associations
+ CVE-2016-4954: Processing spoofed server packets
+ CVE-2016-4955: Autokey association reset
+ CVE-2016-4956: Broadcast interleave
+ For more information, see:
+ http://support.ntp.org/bin/view/Main/SecurityNotice#Recent_Vulnerabilities
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-4957
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-4953
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-4954
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-4955
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-4956
+ (* Security fix *)
++--------------------------+
+Fri May 20 21:20:29 UTC 2016
+patches/packages/curl-7.49.0-x86_64-1_slack13.0.txz: Upgraded.
+ Fixed a TLS certificate check bypass with mbedTLS/PolarSSL.
+ For more information, see:
+ https://curl.haxx.se/docs/adv_20160518.html
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-3739
+ (* Security fix *)
++--------------------------+
+Wed May 11 05:20:01 UTC 2016
+patches/packages/git-2.8.2-x86_64-1_slack13.0.txz: Upgraded.
+ This is a bugfix package update to change color "lime" to "00FF00" in
+ gitk. Otherwise it might not start if "lime" is not defined.
+ Thanks to AlvaroG.
++--------------------------+
+Mon May 2 19:42:54 UTC 2016
+patches/packages/mercurial-3.8.1-x86_64-1_slack13.0.txz: Upgraded.
+ This update fixes possible arbitrary code execution when converting Git
+ repos. Mercurial prior to 3.8 allowed arbitrary code execution when using
+ the convert extension on Git repos with hostile names. This could affect
+ automated code conversion services that allow arbitrary repository names.
+ This is a further side-effect of Git CVE-2015-7545.
+ Reported and fixed by Blake Burkhart.
+ For more information, see:
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-3105
+ (* Security fix *)
++--------------------------+
+Fri Apr 29 20:54:01 UTC 2016
+patches/packages/ntp-4.2.8p7-x86_64-1_slack13.0.txz: Upgraded.
+ This release patches several low and medium severity security issues:
+ CVE-2016-1551: Refclock impersonation vulnerability, AKA: refclock-peering
+ CVE-2016-1549: Sybil vulnerability: ephemeral association attack,
+ AKA: ntp-sybil - MITIGATION ONLY
+ CVE-2016-2516: Duplicate IPs on unconfig directives will cause an assertion
+ botch
+ CVE-2016-2517: Remote configuration trustedkey/requestkey values are not
+ properly validated
+ CVE-2016-2518: Crafted addpeer with hmode > 7 causes array wraparound with
+ MATCH_ASSOC
+ CVE-2016-2519: ctl_getitem() return value not always checked
+ CVE-2016-1547: Validate crypto-NAKs, AKA: nak-dos
+ CVE-2016-1548: Interleave-pivot - MITIGATION ONLY
+ CVE-2015-7704: KoD fix: peer associations were broken by the fix for
+ NtpBug2901, AKA: Symmetric active/passive mode is broken
+ CVE-2015-8138: Zero Origin Timestamp Bypass, AKA: Additional KoD Checks
+ CVE-2016-1550: Improve NTP security against buffer comparison timing attacks,
+ authdecrypt-timing, AKA: authdecrypt-timing
+ For more information, see:
+ http://support.ntp.org/bin/view/Main/SecurityNotice#Recent_Vulnerabilities
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2015-7704
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2015-8138
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-1547
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-1548
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-1549
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-1550
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-1551
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-2516
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-2517
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-2518
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-2519
+ (* Security fix *)
++--------------------------+
+Mon Apr 18 22:21:58 UTC 2016
+patches/packages/glibc-zoneinfo-2016d-noarch-1_slack13.0.txz: Upgraded.
+ This package provides the latest timezone updates.
++--------------------------+
+Fri Apr 1 21:17:37 UTC 2016
+patches/packages/dhcp-4.3.4-x86_64-1_slack13.0.txz: Upgraded.
+ This update fixes bugs and (previously patched) security issues.
+patches/packages/mercurial-3.7.3-x86_64-1_slack13.0.txz: Upgraded.
+ This update fixes security issues and bugs, including remote code execution
+ in binary delta decoding, arbitrary code execution with Git subrepos, and
+ arbitrary code execution when converting Git repos.
+ For more information, see:
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-3630
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-3068
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-3069
+ (* Security fix *)
++--------------------------+
+Fri Mar 25 20:43:59 UTC 2016
+patches/packages/glibc-zoneinfo-2016c-noarch-1_slack13.0.txz: Upgraded.
+ This package provides the latest timezone updates.
++--------------------------+
+Fri Mar 18 20:02:40 UTC 2016
+patches/packages/git-2.7.4-x86_64-1_slack13.0.txz: Upgraded.
+ NOTE: Issuing this patch again since the bug reporter listed the
+ wrong git version (2.7.1) as fixed. The vulnerability was actually
+ patched in git-2.7.4.
+ Fixed buffer overflows allowing server and client side remote code
+ execution in all git versions before 2.7.4.
+ For more information, see:
+ http://seclists.org/oss-sec/2016/q1/645
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-2315
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-2324
+ (* Security fix *)
++--------------------------+
+Tue Mar 15 21:31:49 UTC 2016
+patches/packages/git-2.7.3-x86_64-1_slack13.0.txz: Upgraded.
+ Fixed buffer overflows allowing server and client side remote code
+ execution in all git versions before 2.7.1.
+ For more information, see:
+ http://seclists.org/oss-sec/2016/q1/645
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-2315
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-2324
+ (* Security fix *)
+patches/packages/glibc-zoneinfo-2016b-noarch-1_slack13.0.txz: Upgraded.
+ This package provides the latest timezone updates.
++--------------------------+
+Thu Mar 10 23:43:47 UTC 2016
+patches/packages/openssh-7.2p2-x86_64-1_slack13.0.txz: Upgraded.
+ This release fixes a security bug:
+ sshd(8): sanitise X11 authentication credentials to avoid xauth
+ command injection when X11Forwarding is enabled.
+ For more information, see:
+ http://www.openssh.com/txt/x11fwd.adv
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-3115
+ (* Security fix *)
++--------------------------+
+Thu Mar 10 02:46:49 UTC 2016
+patches/packages/bind-9.9.8_P4-x86_64-1_slack13.0.txz: Upgraded.
+ Fixed security issues:
+ Fix resolver assertion failure due to improper DNAME handling when
+ parsing fetch reply messages. (CVE-2016-1286) [RT #41753]
+ Malformed control messages can trigger assertions in named and rndc.
+ (CVE-2016-1285) [RT #41666]
+ For more information, see:
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-1286
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-1285
+ (* Security fix *)
++--------------------------+
+Thu Mar 3 05:41:26 UTC 2016
+patches/packages/mailx-12.5-x86_64-1_slack13.0.txz: Upgraded.
+ Drop SSLv2 support (no longer supported by OpenSSL), and fix security issues
+ that could allow a local attacker to cause mailx to execute arbitrary
+ shell commands through the use of a specially-crafted email address.
+ For more information, see:
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2004-2771
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2014-7844
+ (* Security fix *)
+patches/packages/openssl-0.9.8zh-x86_64-2_slack13.0.txz: Rebuilt.
+ This update fixes the following security issues:
+ Cross-protocol attack on TLS using SSLv2 (DROWN) (CVE-2016-0800)
+ Double-free in DSA code (CVE-2016-0705)
+ Memory leak in SRP database lookups (CVE-2016-0798)
+ BN_hex2bn/BN_dec2bn NULL pointer deref/heap corruption (CVE-2016-0797)
+ Fix memory issues in BIO_*printf functions (CVE-2016-0799)
+ Side channel attack on modular exponentiation (CVE-2016-0702)
+ To avoid breaking the ABI, "enable-ssl2" is used, but all the vulnerable or
+ weak ciphers have been removed.
+ For more information, see:
+ https://www.openssl.org/news/secadv/20160301.txt
+ https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-0800
+ https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-0705
+ https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-0798
+ https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-0797
+ https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-0799
+ https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-0702
+ (* Security fix *)
+patches/packages/openssl-solibs-0.9.8zh-x86_64-2_slack13.0.txz: Rebuilt.
++--------------------------+
+Tue Feb 23 19:31:59 UTC 2016
+patches/packages/bind-9.9.8_P3-x86_64-1_slack13.0.txz: Upgraded.
+ This release fixes two possible denial-of-service issues:
+ render_ecs errors were mishandled when printing out a OPT record resulting
+ in a assertion failure. (CVE-2015-8705) [RT #41397]
+ Specific APL data could trigger a INSIST. (CVE-2015-8704) [RT #41396]
+ For more information, see:
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2015-8704
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2015-8705
+ (* Security fix *)
+patches/packages/libgcrypt-1.5.5-x86_64-1_slack13.0.txz: Upgraded.
+ Mitigate chosen cipher text attacks on ECDH with Weierstrass curves.
+ Use ciphertext blinding for Elgamal decryption.
+ For more information, see:
+ http://www.cs.tau.ac.IL/~tromer/ecdh/
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2015-7511
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2014-3591
+ (* Security fix *)
+patches/packages/ntp-4.2.8p6-x86_64-1_slack13.0.txz: Upgraded.
+ In addition to bug fixes and enhancements, this release fixes
+ several low and medium severity vulnerabilities.
+ For more information, see:
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2015-5300
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2015-7973
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2015-7974
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2015-7975
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2015-7976
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2015-7977
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2015-7978
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2015-7979
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2015-8138
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2015-8158
+ (* Security fix *)
++--------------------------+
+Mon Feb 8 22:08:35 UTC 2016
+patches/packages/curl-7.47.1-x86_64-1_slack13.0.txz: Upgraded.
+ This update fixes a security issue where NTLM credentials are not checked
+ for proxy connection reuse. The effects of this flaw is that the application
+ could be reusing a proxy connection using the previously used credentials
+ and thus it could be given to or prevented access from resources that it
+ wasn't intended to. Thanks to Isaac Boukris.
+ For more information, see:
+ https://curl.haxx.se/docs/adv_20160127A.html
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-0755
+ (* Security fix *)
++--------------------------+
+Wed Feb 3 22:39:25 UTC 2016
+patches/packages/glibc-zoneinfo-2016a-noarch-1_slack13.0.txz: Upgraded.
+ This package provides the latest timezone updates.
+patches/packages/MPlayer-1.2_20160125-x86_64-1_slack13.0.txz: Upgraded.
+ This is the latest MPlayer-1.2 branch, identical to the 1.2.1 stable release.
+ The bundled ffmpeg has been upgraded to 2.8.5, which fixes two security
+ issues by which a remote attacker may conduct a cross-origin attack and read
+ arbitrary files on the system.
+ For more information, see:
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-1897
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-1898
+ (* Security fix *)
++--------------------------+
+Fri Jan 15 02:29:54 UTC 2016
+patches/packages/openssh-7.1p2-x86_64-1_slack13.0.txz: Upgraded.
+ This update fixes an information leak and a buffer overflow. In particular,
+ the information leak allows a malicious SSH server to steal the client's
+ private keys. Thanks to Qualys for reporting this issue.
+ For more information, see:
+ https://www.qualys.com/2016/01/14/cve-2016-0777-cve-2016-0778/openssh-cve-2016-0777-cve-2016-0778.txt
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-0777
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-0778
+ *****************************************************************
+ * IMPORTANT: READ BELOW ABOUT POTENTIALLY INCOMPATIBLE CHANGES *
+ *****************************************************************
+ Rather than backport the fix for the information leak (which is the only
+ hazardous flaw), we have upgraded to the latest OpenSSH. As of version
+ 7.0, OpenSSH has deprecated some older (and presumably less secure)
+ algorithms, and also (by default) only allows root login by public-key,
+ hostbased and GSSAPI authentication. Make sure that your keys and
+ authentication method will allow you to continue accessing your system
+ after the upgrade.
+ The release notes for OpenSSH 7.0 list the following incompatible changes
+ to be aware of:
+ * Support for the legacy SSH version 1 protocol is disabled by
+ default at compile time.
+ * Support for the 1024-bit diffie-hellman-group1-sha1 key exchange
+ is disabled by default at run-time. It may be re-enabled using
+ the instructions at http://www.openssh.com/legacy.html
+ * Support for ssh-dss, ssh-dss-cert-* host and user keys is disabled
+ by default at run-time. These may be re-enabled using the
+ instructions at http://www.openssh.com/legacy.html
+ * Support for the legacy v00 cert format has been removed.
+ * The default for the sshd_config(5) PermitRootLogin option has
+ changed from "yes" to "prohibit-password".
+ * PermitRootLogin=without-password/prohibit-password now bans all
+ interactive authentication methods, allowing only public-key,
+ hostbased and GSSAPI authentication (previously it permitted
+ keyboard-interactive and password-less authentication if those
+ were enabled).
+ (* Security fix *)
++--------------------------+
+Wed Jan 13 00:01:23 UTC 2016
+patches/packages/dhcp-4.3.3_P1-x86_64-1_slack13.0.txz: Upgraded.
+ This update fixes a denial-of-service vulnerability.
+ For more information, see:
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2015-8605
+ (* Security fix *)
++--------------------------+
+Fri Dec 18 05:28:25 UTC 2015
+patches/packages/libpng-1.2.56-x86_64-1_slack13.0.txz: Upgraded.
+ Fixed an out-of-range read in png_check_keyword(). Thanks to Qixue Xiao.
+ For more information, see:
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2015-8540
+ (* Security fix *)
++--------------------------+
+Wed Dec 16 04:21:07 UTC 2015
+patches/packages/bind-9.9.8_P2-x86_64-1_slack13.0.txz: Upgraded.
+ This update fixes three security issues:
+ Update allowed OpenSSL versions as named is potentially vulnerable
+ to CVE-2015-3193.
+ Insufficient testing when parsing a message allowed records with an
+ incorrect class to be be accepted, triggering a REQUIRE failure when
+ those records were subsequently cached. (CVE-2015-8000)
+ Address fetch context reference count handling error on socket error.
+ (CVE-2015-8461)
+ For more information, see:
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2015-3193
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2015-8000
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2015-8461
+ (* Security fix *)
+patches/packages/libpng-1.2.55-x86_64-1_slack13.0.txz: Upgraded.
+ Fixed incorrect implementation of png_set_PLTE() that uses png_ptr
+ not info_ptr, that left png_set_PLTE() open to the CVE-2015-8126
+ vulnerability.
+ For more information, see:
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2015-8472
+ (* Security fix *)
+patches/packages/openssl-0.9.8zh-x86_64-1_slack13.0.txz: Upgraded.
+ This update fixes the following security issues:
+ BN_mod_exp may produce incorrect results on x86_64 (CVE-2015-3193).
+ Certificate verify crash with missing PSS parameter (CVE-2015-3194).
+ X509_ATTRIBUTE memory leak (CVE-2015-3195).
+ Race condition handling PSK identify hint (CVE-2015-3196).
+ Anon DH ServerKeyExchange with 0 p parameter (CVE-2015-1794).
+ For more information, see:
+ https://openssl.org/news/secadv_20151203.txt
+ https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2015-1794
+ https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2015-3193
+ https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2015-3194
+ https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2015-3195
+ https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2015-3196
+ (* Security fix *)
+patches/packages/openssl-solibs-0.9.8zh-x86_64-1_slack13.0.txz: Upgraded.
++--------------------------+
+Thu Dec 3 07:28:30 UTC 2015
+patches/packages/libpng-1.2.54-x86_64-1_slack13.0.txz: Upgraded.
+ Fixed buffer overflows in the png_set_PLTE(), png_get_PLTE(),
+ png_set_tIME(), and png_convert_to_rfc1123() functions that allow
+ attackers to cause a denial of service (application crash) or
+ possibly have unspecified other impact via a small bit-depth value
+ in an IHDR (aka image header) chunk in a PNG image.
+ For more information, see:
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2015-7981
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2015-8126.
+ (* Security fix *)
++--------------------------+
+Thu Oct 29 20:12:14 UTC 2015
+patches/packages/curl-7.45.0-x86_64-1_slack13.0.txz: Upgraded.
+ Fixes some security issues.
+ For more information, see:
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2015-3143
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2015-3144
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2015-3145
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2015-3148
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2015-3236
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2015-3237
+ (* Security fix *)
+patches/packages/jasper-1.900.1-x86_64-3_slack13.0.txz: Rebuilt.
+ Applied many security and bug fixes.
+ Thanks to Heinz Wiesinger.
+ For more information, see:
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2008-3520
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2008-3522
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2011-4516
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2011-4517
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2014-8137
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2014-8138
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2014-8157
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2014-8158
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2014-9029
+ (* Security fix *)
+patches/packages/ntp-4.2.8p4-x86_64-1_slack13.0.txz: Upgraded.
+ In addition to bug fixes and enhancements, this release fixes
+ several low and medium severity vulnerabilities.
+ For more information, see:
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2014-9750
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2015-5196
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2015-7691
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2015-7692
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2015-7701
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2015-7702
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2015-7704
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2015-7705
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2015-7848
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2015-7849
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2015-7850
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2015-7851
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2015-7852
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2015-7853
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2015-7854
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2015-7855
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2015-7871
+ (* Security fix *)
++--------------------------+
+Mon Oct 5 17:24:30 UTC 2015
+patches/packages/glibc-zoneinfo-2015g-noarch-1_slack13.0.txz: Upgraded.
+ This package provides the latest timezone updates.
++--------------------------+
+Wed Sep 2 19:36:31 UTC 2015
+patches/packages/bind-9.9.7_P3-x86_64-1_slack13.0.txz: Upgraded.
+ This update fixes two denial-of-service vulnerabilities:
+ + CVE-2015-5722 is a denial-of-service vector which can be
+ exploited remotely against a BIND server that is performing
+ validation on DNSSEC-signed records. Validating recursive
+ resolvers are at the greatest risk from this defect, but it has not
+ been ruled out that it could be exploited against an
+ authoritative-only nameserver under limited conditions. Servers
+ that are not performing validation are not vulnerable. However,
+ ISC does not recommend disabling validation as a workaround to
+ this issue as it exposes the server to other types of attacks.
+ Upgrading to the patched versions is the recommended solution.
+ All versions of BIND since 9.0.0 are vulnerable to CVE-2015-5722.
+ + CVE-2015-5986 is a denial-of-service vector which can be used
+ against a BIND server that is performing recursion. Validation
+ is not required. Recursive resolvers are at the greatest risk
+ from this defect, but it has not been ruled out that it could
+ be exploited against an authoritative-only nameserver under
+ limited conditions.
+ Only versions of BIND since 9.9.7 and 9.10.2 are vulnerable to
+ CVE-2015-5986.
+ For more information, see:
+ https://kb.isc.org/article/AA-01287/0
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2015-5722
+ https://kb.isc.org/article/AA-01291/0
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2015-5986
+ (* Security fix *)
++--------------------------+
+Tue Jul 28 19:36:39 UTC 2015
+patches/packages/bind-9.9.7_P2-x86_64-1_slack13.0.txz: Upgraded.
+ This update fixes a security issue where an error in the handling of TKEY
+ queries can be exploited by an attacker for use as a denial-of-service
+ vector, as a constructed packet can use the defect to trigger a REQUIRE
+ assertion failure, causing BIND to exit.
+ Impact:
+ Both recursive and authoritative servers are vulnerable to this defect.
+ Additionally, exposure is not prevented by either ACLs or configuration
+ options limiting or denying service because the exploitable code occurs
+ early in the packet handling, before checks enforcing those boundaries.
+ Operators should take steps to upgrade to a patched version as soon as
+ possible.
+ For more information, see:
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2015-5477
+ https://kb.isc.org/article/AA-01272
+ (* Security fix *)
++--------------------------+
+Tue Jul 7 22:59:17 UTC 2015
+patches/packages/bind-9.9.7_P1-x86_64-1_slack13.0.txz: Upgraded.
+ This update fixes a security issue where an attacker who can cause
+ a validating resolver to query a zone containing specifically constructed
+ contents can cause that resolver to fail an assertion and terminate due
+ to a defect in validation code. This means that a recursive resolver that
+ is performing DNSSEC validation can be deliberately stopped by an attacker
+ who can cause the resolver to perform a query against a
+ maliciously-constructed zone. This will result in a denial of service to
+ clients who rely on that resolver.
+ For more information, see:
+ https://kb.isc.org/article/AA-01267/
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2015-4620
+ (* Security fix *)
+patches/packages/cups-1.3.11-x86_64-3_slack13.0.txz: Rebuilt.
+ This release fixes a security issue:
+ CWE-911: Improper Update of Reference Count - CVE-2015-1158
+ This bug could allow an attacker to upload a replacement CUPS
+ configuration file and mount further attacks.
+ For more information, see:
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2015-1158
+ (* Security fix *)
+patches/packages/ntp-4.2.8p3-x86_64-1_slack13.0.txz: Upgraded.
+ This update fixes a security issue where under specific circumstances an
+ attacker can send a crafted packet to cause a vulnerable ntpd instance to
+ crash. Since this requires 1) ntpd set up to allow remote configuration
+ (not allowed by default), and 2) knowledge of the configuration password,
+ and 3) access to a computer entrusted to perform remote configuration,
+ the vulnerability is considered low-risk.
+ For more information, see:
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2015-5146
+ (* Security fix *)
++--------------------------+
+Thu Jun 11 21:31:47 UTC 2015
+patches/packages/openssl-0.9.8zg-x86_64-1_slack13.0.txz: Upgraded.
+ Fixes several bugs and security issues:
+ o Malformed ECParameters causes infinite loop (CVE-2015-1788)
+ o Exploitable out-of-bounds read in X509_cmp_time (CVE-2015-1789)
+ o PKCS7 crash with missing EnvelopedContent (CVE-2015-1790)
+ o CMS verify infinite loop with unknown hash function (CVE-2015-1792)
+ o Race condition handling NewSessionTicket (CVE-2015-1791)
+ For more information, see:
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2015-1788
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2015-1789
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2015-1790
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2015-1792
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2015-1791
+ (* Security fix *)
+patches/packages/openssl-solibs-0.9.8zg-x86_64-1_slack13.0.txz: Upgraded.
++--------------------------+
+Wed Apr 29 05:10:52 UTC 2015
+patches/packages/gnupg-1.4.19-x86_64-2_slack13.0.txz: Rebuilt.
+ Patched to fix spurious debug messages that may break sbopkg and slackpkg.
+ Thanks to Willy Sudiarto Raharjo.
++--------------------------+
+Tue Apr 21 23:44:00 UTC 2015
+patches/packages/bind-9.9.6_P2-x86_64-1_slack13.0.txz: Upgraded.
+ Fix some denial-of-service and other security issues.
+ For more information, see:
+ https://kb.isc.org/article/AA-01166/
+ https://kb.isc.org/article/AA-01161/
+ https://kb.isc.org/article/AA-01167/
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2015-1349
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2014-8500
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2014-8680
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2014-3214
+ (* Security fix *)
+patches/packages/gnupg-1.4.19-x86_64-1_slack13.0.txz: Upgraded.
+ * Use ciphertext blinding for Elgamal decryption [CVE-2014-3591].
+ See http://www.cs.tau.ac.il/~tromer/radioexp/ for details.
+ * Fixed data-dependent timing variations in modular exponentiation
+ [related to CVE-2015-0837, Last-Level Cache Side-Channel Attacks
+ are Practical].
+ For more information, see:
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2014-3591
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2015-0837
+ (* Security fix *)
+patches/packages/httpd-2.2.29-x86_64-1_slack13.0.txz: Upgraded.
+ This update fixes the following security issues:
+ * CVE-2014-3583 mod_proxy_fcgi: Fix a potential crash due to buffer
+ over-read, with response headers' size above 8K.
+ * CVE-2014-3581 mod_cache: Avoid a crash when Content-Type has an
+ empty value. PR 56924.
+ * CVE-2014-8109 mod_lua: Fix handling of the Require line when a
+ LuaAuthzProvider is used in multiple Require directives with
+ different arguments. PR57204.
+ * CVE-2013-5704 core: HTTP trailers could be used to replace HTTP
+ headers late during request processing, potentially undoing or
+ otherwise confusing modules that examined or modified request
+ headers earlier. Adds "MergeTrailers" directive to restore legacy
+ behavior.
+ For more information, see:
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2014-3583
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2014-3581
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2014-8109
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2013-5704
+ (* Security fix *)
+patches/packages/ntp-4.2.8p2-x86_64-1_slack13.0.txz: Upgraded.
+ In addition to bug fixes and enhancements, this release fixes the
+ following medium-severity vulnerabilities involving private key
+ authentication:
+ * ntpd accepts unauthenticated packets with symmetric key crypto.
+ * Authentication doesn't protect symmetric associations against DoS attacks.
+ For more information, see:
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2015-1798
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2015-1799
+ (* Security fix *)
+patches/packages/openssl-0.9.8zf-x86_64-1_slack13.0.txz: Upgraded.
+ Fixes several bugs and security issues:
+ o Segmentation fault in ASN1_TYPE_cmp fix (CVE-2015-0286)
+ o ASN.1 structure reuse memory corruption fix (CVE-2015-0287)
+ o PKCS7 NULL pointer dereferences fix (CVE-2015-0289)
+ o DoS via reachable assert in SSLv2 servers fix (CVE-2015-0293)
+ o Use After Free following d2i_ECPrivatekey error fix (CVE-2015-0209)
+ o X509_to_X509_REQ NULL pointer deref fix (CVE-2015-0288)
+ o Removed the export ciphers from the DEFAULT ciphers
+ For more information, see:
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2015-0286
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2015-0287
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2015-0289
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2015-0293
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2015-0209
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2015-0288
+ (* Security fix *)
+patches/packages/openssl-solibs-0.9.8zf-x86_64-1_slack13.0.txz: Upgraded.
+patches/packages/ppp-2.4.4-x86_64-2_slack13.0.txz: Rebuilt.
+ Fixed a potential security issue in parsing option files.
+ Fixed remotely triggerable PID overflow that causes pppd to crash.
+ For more information, see:
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2014-3158
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2015-3310
+ (* Security fix *)
+patches/packages/proftpd-1.3.4e-x86_64-1_slack13.0.txz: Upgraded.
+ Patched an issue where mod_copy allowed unauthenticated copying
+ of files via SITE CPFR/CPTO.
+ For more information, see:
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2015-3306
+ (* Security fix *)
++--------------------------+
+Mon Feb 16 19:33:36 UTC 2015
+patches/packages/patch-2.7.4-x86_64-1_slack13.0.txz: Upgraded.
+ Patch no longer follows symbolic links to input and output files. This
+ ensures that symbolic links created by git-style patches cannot cause
+ patch to write outside the working directory.
+ For more information, see:
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2015-1196
+ (* Security fix *)
+patches/packages/sudo-1.8.12-x86_64-1_slack13.0.txz: Upgraded.
+ This update fixes a potential security issue by only passing the TZ
+ environment variable it is considered safe. This prevents exploiting bugs
+ in glibc's TZ parser that could be used to read files that the user does
+ not have access to, or to cause a denial of service.
+ For more information, see:
+ http://www.sudo.ws/sudo/alerts/tz.html
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2014-9680
+ (* Security fix *)
++--------------------------+
+Wed Jan 28 19:23:00 UTC 2015
+patches/packages/glibc-2.9-x86_64-7_slack13.0.txz: Rebuilt.
+ This update patches a security issue __nss_hostname_digits_dots() function
+ of glibc which may be triggered through the gethostbyname*() set of
+ functions. This flaw could allow local or remote attackers to take control
+ of a machine running a vulnerable version of glibc. Thanks to Qualys for
+ discovering this issue (also known as the GHOST vulnerability.)
+ For more information, see:
+ https://www.qualys.com/research/security-advisories/GHOST-CVE-2015-0235.txt
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2015-0235
+ (* Security fix *)
+patches/packages/glibc-i18n-2.9-x86_64-7_slack13.0.txz: Rebuilt.
+patches/packages/glibc-profile-2.9-x86_64-7_slack13.0.txz: Rebuilt.
+patches/packages/glibc-solibs-2.9-x86_64-7_slack13.0.txz: Rebuilt.
+patches/packages/glibc-zoneinfo-2014j-noarch-1.txz: Upgraded.
+ Upgraded to tzcode2014j and tzdata2014j.
++--------------------------+
+Sat Jan 17 04:26:41 UTC 2015
+patches/packages/freetype-2.5.5-x86_64-1_slack13.0.txz: Upgraded.
++--------------------------+
+Fri Jan 9 17:47:53 UTC 2015
+patches/packages/openssl-0.9.8zd-x86_64-1_slack13.0.txz: Upgraded.
+ This update fixes several security issues:
+ DTLS segmentation fault in dtls1_get_record (CVE-2014-3571)
+ DTLS memory leak in dtls1_buffer_record (CVE-2015-0206)
+ no-ssl3 configuration sets method to NULL (CVE-2014-3569)
+ ECDHE silently downgrades to ECDH [Client] (CVE-2014-3572)
+ RSA silently downgrades to EXPORT_RSA [Client] (CVE-2015-0204)
+ DH client certificates accepted without verification [Server] (CVE-2015-0205)
+ Certificate fingerprints can be modified (CVE-2014-8275)
+ Bignum squaring may produce incorrect results (CVE-2014-3570)
+ For more information, see:
+ https://www.openssl.org/news/secadv_20150108.txt
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2014-3571
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2015-0206
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2014-3569
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2014-3572
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2015-0204
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2015-0205
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2014-8275
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2014-3570
+ (* Security fix *)
+patches/packages/openssl-solibs-0.9.8zd-x86_64-1_slack13.0.txz: Upgraded.
++--------------------------+
+Tue Dec 23 00:05:23 UTC 2014
+patches/packages/ntp-4.2.8-x86_64-1_slack13.0.txz: Upgraded.
+ In addition to bug fixes and enhancements, this release fixes
+ several high-severity vulnerabilities discovered by Neel Mehta
+ and Stephen Roettger of the Google Security Team.
+ For more information, see:
+ https://www.kb.cert.org/vuls/id/852879
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2014-9293
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2014-9294
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2014-9295
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2014-9296
+ (* Security fix *)
++--------------------------+
+Thu Dec 11 01:18:35 UTC 2014
+patches/packages/bind-9.9.6_P1-x86_64-1_slack13.0.txz: Upgraded.
+ This update fixes a security issue where a failure to place limits on
+ delegation chaining can allow an attacker to crash BIND or cause memory
+ exhaustion.
+ For more information, see:
+ https://kb.isc.org/article/AA-01216
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2014-8500
+ (* Security fix *)
+patches/packages/openvpn-2.3.6-x86_64-1_slack13.0.txz: Upgraded.
+ This update fixes a security issue that allows remote authenticated
+ users to cause a denial of service (server crash) via a small control
+ channel packet.
+ For more information, see:
+ https://community.openvpn.net/openvpn/wiki/SecurityAnnouncement-97597e732b
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2014-8104
+ (* Security fix *)
+patches/packages/pidgin-2.10.11-x86_64-1_slack13.0.txz: Upgraded.
+ This update contains login fixes for MSN and some XMPP servers.
++--------------------------+
+Fri Nov 7 21:02:55 UTC 2014
+patches/packages/bash-3.1.023-x86_64-1_slack13.0.txz: Upgraded.
+ Applied all upstream patches. The previously applied patch requiring
+ a specific prefix/suffix in order to parse variables for functions
+ closed all of the known vulnerabilities anyway, but it's clear that
+ until all the patches were applied that the "is this still vulnerable"
+ questions were not going to end...
++--------------------------+
+Wed Oct 29 18:21:12 UTC 2014
+patches/packages/wget-1.11.4-x86_64-2_slack13.0.txz: Rebuilt.
+ This update fixes a symlink vulnerability that could allow an attacker
+ to write outside of the expected directory.
+ For more information, see:
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2014-4877
+ (* Security fix *)
++--------------------------+
+Fri Oct 24 04:55:44 UTC 2014
+patches/packages/glibc-zoneinfo-2014i-noarch-1_slack13.0.txz: Upgraded.
+ This package provides the latest timezone updates.
+patches/packages/pidgin-2.10.10-x86_64-1_slack13.0.txz: Upgraded.
+ This update fixes several security issues:
+ Insufficient SSL certificate validation (CVE-2014-3694)
+ Remote crash parsing malformed MXit emoticon (CVE-2014-3695)
+ Remote crash parsing malformed Groupwise message (CVE-2014-3696)
+ Malicious smiley themes could alter arbitrary files (CVE-2014-3697)
+ Potential information leak from XMPP (CVE-2014-3698)
+ For more information, see:
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2014-3694
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2014-3695
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2014-3696
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2014-3697
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2014-3698
+ (* Security fix *)
++--------------------------+
+Mon Oct 20 22:21:45 UTC 2014
+patches/packages/openssh-5.9p1-x86_64-2_slack13.0.txz: Rebuilt.
+ This update fixes a security issue that allows remote servers to trigger
+ the skipping of SSHFP DNS RR checking by presenting an unacceptable
+ HostCertificate.
+ Thanks to mancha for the backported patch.
+ For more information, see:
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2014-2653
+ (* Security fix *)
++--------------------------+
+Wed Oct 15 17:28:59 UTC 2014
+patches/packages/openssl-solibs-0.9.8zc-x86_64-1_slack13.0.txz: Upgraded.
+ (* Security fix *)
+patches/packages/openssl-0.9.8zc-x86_64-1_slack13.0.txz: Upgraded.
+ This update fixes several security issues:
+ SRTP Memory Leak (CVE-2014-3513):
+ A flaw in the DTLS SRTP extension parsing code allows an attacker, who
+ sends a carefully crafted handshake message, to cause OpenSSL to fail
+ to free up to 64k of memory causing a memory leak. This could be
+ exploited in a Denial Of Service attack.
+ Session Ticket Memory Leak (CVE-2014-3567):
+ When an OpenSSL SSL/TLS/DTLS server receives a session ticket the
+ integrity of that ticket is first verified. In the event of a session
+ ticket integrity check failing, OpenSSL will fail to free memory
+ causing a memory leak. By sending a large number of invalid session
+ tickets an attacker could exploit this issue in a Denial Of Service
+ attack.
+ SSL 3.0 Fallback protection:
+ OpenSSL has added support for TLS_FALLBACK_SCSV to allow applications
+ to block the ability for a MITM attacker to force a protocol
+ downgrade.
+ Some client applications (such as browsers) will reconnect using a
+ downgraded protocol to work around interoperability bugs in older
+ servers. This could be exploited by an active man-in-the-middle to
+ downgrade connections to SSL 3.0 even if both sides of the connection
+ support higher protocols. SSL 3.0 contains a number of weaknesses
+ including POODLE (CVE-2014-3566).
+ Build option no-ssl3 is incomplete (CVE-2014-3568):
+ When OpenSSL is configured with "no-ssl3" as a build option, servers
+ could accept and complete a SSL 3.0 handshake, and clients could be
+ configured to send them.
+ For more information, see:
+ https://www.openssl.org/news/secadv_20141015.txt
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2014-3513
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2014-3566
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2014-3567
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2014-3568
+ (* Security fix *)
++--------------------------+
+Mon Sep 29 18:41:23 UTC 2014
+patches/packages/bash-3.1.020-x86_64-1_slack13.0.txz: Upgraded.
+ Another bash update. Here's some information included with the patch:
+ "This patch changes the encoding bash uses for exported functions to avoid
+ clashes with shell variables and to avoid depending only on an environment
+ variable's contents to determine whether or not to interpret it as a shell
+ function."
+ After this update, an environment variable will not go through the parser
+ unless it follows this naming structure: BASH_FUNC_*%%
+ Most scripts never expected to import functions from environment variables,
+ so this change (although not backwards compatible) is not likely to break
+ many existing scripts. It will, however, close off access to the parser as
+ an attack surface in the vast majority of cases. There's already another
+ vulnerability similar to CVE-2014-6271 for which there is not yet a fix,
+ but this hardening patch prevents it (and likely many more similar ones).
+ Thanks to Florian Weimer and Chet Ramey.
+ (* Security fix *)
++--------------------------+
+Fri Sep 26 22:23:32 UTC 2014
+patches/packages/bash-3.1.019-x86_64-1_slack13.0.txz: Upgraded.
+ This is essentially a rebuild as the preliminary patch for CVE-2014-7169
+ has been accepted by upstream and is now signed. This also bumps the
+ patchlevel, making it easy to tell this is the fixed version.
+ Possibly more changes to come, given the ongoing discussions on oss-sec.
++--------------------------+
+Thu Sep 25 22:46:52 UTC 2014
+patches/packages/bash-3.1.018-x86_64-3_slack13.0.txz: Rebuilt.
+ The patch for CVE-2014-7169 needed to be rebased against bash-3.1 in order
+ to apply correctly. Thanks to B. Watson for the bug report.
+ For more information, see:
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2014-7169
+ (* Security fix *)
++--------------------------+
+Thu Sep 25 19:55:13 UTC 2014
+patches/packages/bash-3.1.018-x86_64-2_slack13.0.txz: Rebuilt.
+ Patched an additional trailing string processing vulnerability discovered
+ by Tavis Ormandy.
+ For more information, see:
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2014-7169
+ (* Security fix *)
++--------------------------+
+Wed Sep 24 22:52:53 UTC 2014
+patches/packages/bash-3.1.018-x86_64-1_slack13.0.txz: Upgraded.
+ This update fixes a vulnerability in bash related to how environment
+ variables are processed: trailing code in function definitions was
+ executed, independent of the variable name. In many common configurations
+ (such as the use of CGI scripts), this vulnerability is exploitable over
+ the network. Thanks to Stephane Chazelas for discovering this issue.
+ For more information, see:
+ http://seclists.org/oss-sec/2014/q3/650
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2014-6271
+ (* Security fix *)
++--------------------------+
+Thu Sep 4 19:43:25 UTC 2014
+patches/packages/php-5.3.29-x86_64-1_slack13.0.txz: Upgraded.
+ This update fixes bugs and security issues.
+ The PHP 5.3.x series is now EOL -- no further updates are planned.
+ For more information, see:
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2013-6712
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2014-0207
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2014-0237
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2014-0238
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2014-3478
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2014-3479
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2014-3480
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2014-3487
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2014-3515
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2014-3981
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2014-4049
+ (* Security fix *)
++--------------------------+
+Fri Aug 8 19:02:50 UTC 2014
+patches/packages/openssl-0.9.8zb-x86_64-1_slack13.0.txz: Upgraded.
+ This update fixes several security issues:
+ Double Free when processing DTLS packets (CVE-2014-3505)
+ DTLS memory exhaustion (CVE-2014-3506)
+ DTLS memory leak from zero-length fragments (CVE-2014-3507)
+ Information leak in pretty printing functions (CVE-2014-3508)
+ Race condition in ssl_parse_serverhello_tlsext (CVE-2014-3509)
+ OpenSSL DTLS anonymous EC(DH) denial of service (CVE-2014-3510)
+ OpenSSL TLS protocol downgrade attack (CVE-2014-3511)
+ SRP buffer overrun (CVE-2014-3512)
+ Crash with SRP ciphersuite in Server Hello message (CVE-2014-5139)
+ For more information, see:
+ https://www.openssl.org/news/secadv_20140806.txt
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2014-3505
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2014-3506
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2014-3507
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2014-3508
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2014-3509
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2014-3510
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2014-3511
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2014-3512
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2014-5139
+ (* Security fix *)
+patches/packages/openssl-solibs-0.9.8zb-x86_64-1_slack13.0.txz: Upgraded.
+ (* Security fix *)
++--------------------------+
+Wed Jul 23 23:00:34 UTC 2014
+patches/packages/httpd-2.2.27-x86_64-1_slack13.0.txz: Upgraded.
+ This update fixes the following security issues:
+ *) SECURITY: CVE-2014-0117 (cve.mitre.org)
+ mod_proxy: Fix crash in Connection header handling which
+ allowed a denial of service attack against a reverse proxy
+ with a threaded MPM. [Ben Reser]
+ *) SECURITY: CVE-2014-0118 (cve.mitre.org)
+ mod_deflate: The DEFLATE input filter (inflates request bodies) now
+ limits the length and compression ratio of inflated request bodies to
+ avoid denial of sevice via highly compressed bodies. See directives
+ DeflateInflateLimitRequestBody, DeflateInflateRatioLimit,
+ and DeflateInflateRatioBurst. [Yann Ylavic, Eric Covener]
+ *) SECURITY: CVE-2014-0226 (cve.mitre.org)
+ Fix a race condition in scoreboard handling, which could lead to
+ a heap buffer overflow. [Joe Orton, Eric Covener]
+ *) SECURITY: CVE-2014-0231 (cve.mitre.org)
+ mod_cgid: Fix a denial of service against CGI scripts that do
+ not consume stdin that could lead to lingering HTTPD child processes
+ filling up the scoreboard and eventually hanging the server. By
+ default, the client I/O timeout (Timeout directive) now applies to
+ communication with scripts. The CGIDScriptTimeout directive can be
+ used to set a different timeout for communication with scripts.
+ [Rainer Jung, Eric Covener, Yann Ylavic]
+ For more information, see:
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2014-0117
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2014-0118
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2014-0226
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2014-0231
+ (* Security fix *)
++--------------------------+
+Tue Jun 24 22:35:07 UTC 2014
+patches/packages/bind-9.8.7_P1-x86_64-1_slack13.0.txz: Upgraded.
+ This fixes security issues and other bugs. Please note that the first
+ CVE only affects Windows, and the second one was claimed to be fixed by
+ an earlier version of BIND. But we'll update anyway just in case. :-)
+ For more information, see:
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2013-6230
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2014-0591
+ (* Security fix *)
+patches/packages/gnupg-1.4.17-x86_64-1_slack13.0.txz: Upgraded.
+ This release includes a security fix to stop a denial of service using
+ garbled compressed data packets which can be used to put gpg into an
+ infinite loop.
+ For more information, see:
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2014-4617
+ (* Security fix *)
++--------------------------+
+Mon Jun 9 20:16:02 UTC 2014
+patches/packages/php-5.3.28-x86_64-1_slack13.0.txz: Upgraded.
+ This update fixes bugs and security issues, including:
+ Fixed handling null bytes in subjectAltName.
+ Fixed memory corruption in openssl_x509_parse().
+ For more information, see:
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2013-4248
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2013-6420
+ (* Security fix *)
++--------------------------+
+Fri Jun 6 04:27:01 UTC 2014
+patches/packages/gnutls-2.8.4-x86_64-4_slack13.0.txz: Rebuilt.
+ A security issue has been corrected in gnutls. This vulnerability
+ affects the client side of the gnutls library. A server that sends
+ a specially crafted ServerHello could corrupt the memory of a requesting
+ client. This may allow a remote attacker to execute arbitrary code.
+ Additional vulnerabilities in the embedded libtasn1 library have also
+ been patched.
+ Thanks to mancha for the backported patches.
+ For more information, see:
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2014-3465
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2014-3466
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2014-3467
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2014-3468
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2014-3469
+ (* Security fix *)
+patches/packages/openssl-0.9.8za-x86_64-1_slack13.0.txz: Upgraded.
+ Multiple security issues have been corrected, including a possible
+ man-in-the-middle attack where weak keying material is forced, denial
+ of service, and the execution of arbitrary code.
+ For more information, see:
+ http://www.openssl.org/news/secadv_20140605.txt
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2010-5298
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2014-0195
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2014-0198
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2014-0221
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2014-0224
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2014-3470
+ (* Security fix *)
+patches/packages/openssl-solibs-0.9.8za-x86_64-1_slack13.0.txz: Upgraded.
+patches/packages/sendmail-8.14.9-x86_64-1_slack13.0.txz: Upgraded.
+ This release fixes one security related bug by properly closing file
+ descriptors (except stdin, stdout, and stderr) before executing programs.
+ This bug could enable local users to interfere with an open SMTP
+ connection if they can execute their own program for mail delivery
+ (e.g., via procmail or the prog mailer).
+ For more information, see:
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2014-3956
+ (* Security fix *)
+patches/packages/sendmail-cf-8.14.9-noarch-1_slack13.0.txz: Upgraded.
++--------------------------+
+Fri Mar 28 03:43:11 UTC 2014
+patches/packages/curl-7.36.0-x86_64-1_slack13.0.txz: Upgraded.
+ This update fixes four security issues.
+ For more information, see:
+ http://curl.haxx.se/docs/adv_20140326A.html
+ http://curl.haxx.se/docs/adv_20140326B.html
+ http://curl.haxx.se/docs/adv_20140326C.html
+ http://curl.haxx.se/docs/adv_20140326D.html
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2014-0138
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2014-0139
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2014-1263
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2014-2522
+ (* Security fix *)
+patches/packages/openssh-5.9p1-x86_64-1_slack13.0.txz: Upgraded.
+ This update fixes a security issue when using environment passing with
+ a sshd_config(5) AcceptEnv pattern with a wildcard. OpenSSH could be
+ tricked into accepting any environment variable that contains the
+ characters before the wildcard character.
+ For more information, see:
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2014-2532
+ (* Security fix *)
++--------------------------+
+Thu Mar 6 04:14:23 UTC 2014
+patches/packages/sudo-1.7.10p8-x86_64-1_slack13.0.txz: Upgraded.
+ This update fixes a security issue where if the env_reset option is disabled
+ in the sudoers file, a malicious user with sudo permissions may be able to
+ run arbitrary commands with elevated privileges by manipulating the
+ environment of a command the user is legitimately allowed to run.
+ For more information, see:
+ http://www.sudo.ws/sudo/alerts/env_add.html
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2014-0106
+ (* Security fix *)
++--------------------------+
+Mon Mar 3 23:32:18 UTC 2014
+patches/packages/gnutls-2.8.4-x86_64-3_slack13.0.txz: Rebuilt.
+ Fixed a security issue where a specially crafted certificate could
+ bypass certificate validation checks.
+ Thanks to mancha for the backported patch.
+ For more information, see:
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2014-0092
+ (* Security fix *)
++--------------------------+
+Thu Feb 20 00:30:49 UTC 2014
+patches/packages/mysql-5.0.96-x86_64-2_slack13.0.txz: Rebuilt.
+ This update fixes a buffer overflow in the mysql command line client which
+ may allow malicious or compromised database servers to cause a denial of
+ service (crash) and possibly execute arbitrary code via a long server
+ version string.
+ For more information, see:
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2014-0001
+ (* Security fix *)
++--------------------------+
+Thu Feb 13 23:45:53 UTC 2014
+patches/packages/curl-7.35.0-x86_64-1_slack13.0.txz: Upgraded.
+ This update fixes a flaw where libcurl could, in some circumstances, reuse
+ the wrong connection when asked to do an NTLM-authenticated HTTP or HTTPS
+ request.
+ For more information, see:
+ http://curl.haxx.se/docs/adv_20140129.html
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2014-0015
+ (* Security fix *)
+patches/packages/ntp-4.2.6p5-x86_64-1_slack13.0.txz: Upgraded.
+ All stable versions of NTP remain vulnerable to a remote attack where the
+ "ntpdc -c monlist" command can be used to amplify network traffic as part
+ of a denial of service attack. By default, Slackware is not vulnerable
+ since it includes "noquery" as a default restriction. However, it is
+ vulnerable if this restriction is removed. To help mitigate this flaw,
+ "disable monitor" has been added to the default ntp.conf (which will disable
+ the monlist command even if other queries are allowed), and the default
+ restrictions have been extended to IPv6 as well.
+ All users of the NTP daemon should make sure that their ntp.conf contains
+ "disable monitor" to prevent misuse of the NTP service. The new ntp.conf
+ file will be installed as /etc/ntp.conf.new with a package upgrade, but the
+ changes will need to be merged into any existing ntp.conf file by the admin.
+ For more information, see:
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2013-5211
+ http://www.kb.cert.org/vuls/id/348126
+ (* Security fix *)
++--------------------------+
+Mon Feb 3 20:58:32 UTC 2014
+patches/packages/pidgin-2.10.9-x86_64-1_slack13.0.txz: Upgraded.
+ This update fixes various security issues and other bugs.
+ For more information, see:
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2012-6152
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2013-6477
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2013-6478
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2013-6479
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2013-6481
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2013-6482
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2013-6483
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2013-6484
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2013-6485
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2013-6486
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2013-6487
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2013-6489
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2013-6490
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2014-0020
+ (* Security fix *)
++--------------------------+
+Tue Jan 28 21:07:13 UTC 2014
+patches/packages/bind-9.8.6_P2-x86_64-1_slack13.0.txz: Upgraded.
+ This update fixes a defect in the handling of NSEC3-signed zones that can
+ cause BIND to be crashed by a specific set of queries.
+ NOTE: According to the second link below, Slackware is probably not
+ vulnerable since we aren't using glibc-2.18 yet. Might as well fix it
+ anyway, though.
+ For more information, see:
+ https://kb.isc.org/article/AA-01078
+ https://kb.isc.org/article/AA-01085
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2014-0591
+ (* Security fix *)
++--------------------------+
+Tue Jan 14 03:54:48 UTC 2014
+patches/packages/libXfont-1.4.7-x86_64-1_slack13.0.txz: Upgraded.
+ This update fixes a stack overflow when reading a BDF font file containing
+ a longer than expected string, which could lead to crashes or privilege
+ escalation.
+ For more information, see:
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2013-6462
+ (* Security fix *)
++--------------------------+
+Fri Dec 20 22:46:09 UTC 2013
+patches/packages/gnupg-1.4.16-x86_64-1_slack13.0.txz: Upgraded.
+ Fixed the RSA Key Extraction via Low-Bandwidth Acoustic
+ Cryptanalysis attack as described by Genkin, Shamir, and Tromer.
+ For more information, see:
+ http://www.cs.tau.ac.il/~tromer/acoustic/
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2013-4576
+ (* Security fix *)
++--------------------------+
+Mon Dec 16 20:51:01 UTC 2013
+patches/packages/libjpeg-6b-x86_64-6_slack13.0.txz: Rebuilt.
+ Fix use of uninitialized memory when decoding images with missing SOS data
+ for the luminance component (Y) in presence of valid chroma data (Cr, Cb).
+ This could allow remote attackers to obtain sensitive information from
+ uninitialized memory locations via a crafted JPEG image.
+ For more information, see:
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2013-6629
+ (* Security fix *)
++--------------------------+
+Fri Oct 18 02:41:09 UTC 2013
+patches/packages/libtiff-3.9.7-x86_64-1_slack13.0.txz: Upgraded.
+ Patched overflows, crashes, and out of bounds writes.
+ Thanks to mancha for the backported patches.
+ For more information, see:
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2012-2088
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2012-2113
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2012-4447
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2012-4564
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2013-1960
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2013-1961
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2013-4231
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2013-4232
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2013-4244
+ (* Security fix *)
++--------------------------+
+Mon Oct 14 22:09:17 UTC 2013
+patches/packages/gnupg-1.4.15-x86_64-1_slack13.0.txz: Upgraded.
+ Fixed possible infinite recursion in the compressed packet
+ parser. [CVE-2013-4402]
+ Protect against rogue keyservers sending secret keys.
+ For more information, see:
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2013-4402
+ (* Security fix *)
+patches/packages/gnutls-2.8.4-x86_64-2_slack13.0.txz: Rebuilt.
+ [Updated to the correct version to fix fetching the "latest" from gnu.org]
+ This update prevents a side-channel attack which may allow remote attackers
+ to conduct distinguishing attacks and plaintext recovery attacks using
+ statistical analysis of timing data for crafted packets.
+ Other minor security issues are patched as well.
+ Thanks to mancha for backporting these patches.
+ For more information, see:
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2011-4128
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2012-1569
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2012-1573
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2013-1619
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2013-2116
+ (* Security fix *)
+patches/packages/xorg-server-1.6.3-x86_64-3_slack13.0.txz: Rebuilt.
+ Patched a use-after-free bug that can cause an X server crash or
+ memory corruption.
+ For more information, see:
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2013-4396
+ (* Security fix *)
+patches/packages/xorg-server-xephyr-1.6.3-x86_64-3_slack13.0.txz: Rebuilt.
+patches/packages/xorg-server-xnest-1.6.3-x86_64-3_slack13.0.txz: Rebuilt.
+patches/packages/xorg-server-xvfb-1.6.3-x86_64-3_slack13.0.txz: Rebuilt.
++--------------------------+
+Sun Sep 29 02:39:29 UTC 2013
+patches/packages/lm_sensors-3.3.4-x86_64-1_slack13.0.txz: Upgraded.
+ This update fixes issues with sensors-detect that may cause serious trouble
+ on recent hardware (most notably laptops.) The symptoms are that the
+ display starts misbehaving (wrong resolution or wrong gamma factor.)
+ The risk is mitigated in this package by changing the default behavior of
+ sensors-detect to no longer touch EDID EEPROMs and then to no longer probe
+ graphics adapters at all unless the user asks for it.
++--------------------------+
+Wed Sep 18 02:56:19 UTC 2013
+patches/packages/glibc-2.9-x86_64-6_slack13.0.txz: Rebuilt.
+ Patched to fix integer overflows in pvalloc, valloc, and
+ posix_memalign/memalign/aligned_alloc.
+ Thanks to mancha for the backported patch.
+ For more information, see:
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2013-4332
+ (* Security fix *)
+patches/packages/glibc-i18n-2.9-x86_64-6_slack13.0.txz: Rebuilt.
+patches/packages/glibc-profile-2.9-x86_64-6_slack13.0.txz: Rebuilt.
+patches/packages/glibc-solibs-2.9-x86_64-6_slack13.0.txz: Rebuilt.
+patches/packages/glibc-zoneinfo-2013d-noarch-6_slack13.0.txz: Rebuilt.
++--------------------------+
+Wed Aug 21 06:11:23 UTC 2013
+patches/packages/hplip-3.9.4b-x86_64-3_slack13.0.txz: Rebuilt.
+ This update fixes a stack-based buffer overflow in the hpmud_get_pml
+ function that can allow remote attackers to cause a denial of service
+ (crash) and possibly execute arbitrary code via a crafted SNMP response
+ with a large length value.
+ For more information, see:
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2010-4267
+ (* Security fix *)
+patches/packages/xpdf-3.03-x86_64-1_slack13.0.txz: Upgraded.
+ Sanitize error messages to remove escape sequences that could be used to
+ exploit vulnerable terminal emulators.
+ For more information, see:
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2012-2142
+ Thanks to mancha.
+ (* Security fix *)
++--------------------------+
+Tue Aug 6 05:23:34 UTC 2013
+patches/packages/bind-9.8.5_P2-x86_64-1_slack13.0.txz: Upgraded.
+ This update fixes a security issue where a specially crafted query can cause
+ BIND to terminate abnormally, resulting in a denial of service.
+ For more information, see:
+ https://kb.isc.org/article/AA-01015
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2013-4854
+ (* Security fix *)
+patches/packages/httpd-2.2.25-x86_64-1_slack13.0.txz: Upgraded.
+ This update addresses two security issues:
+ * SECURITY: CVE-2013-1862 (cve.mitre.org) mod_rewrite: Ensure that client
+ data written to the RewriteLog is escaped to prevent terminal escape
+ sequences from entering the log file.
+ * SECURITY: CVE-2013-1896 (cve.mitre.org) mod_dav: Sending a MERGE request
+ against a URI handled by mod_dav_svn with the source href (sent as part of
+ the request body as XML) pointing to a URI that is not configured for DAV
+ will trigger a segfault.
+ For more information, see:
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2013-1862
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2013-1896
+ (* Security fix *)
++--------------------------+
+Sat Aug 3 20:36:53 UTC 2013
+patches/packages/gnupg-1.4.14-x86_64-1_slack13.0.txz: Upgraded.
+ Mitigate the Yarom/Falkner flush+reload side-channel attack on RSA
+ secret keys.
+ For more information, see:
+ http://eprint.iacr.org/2013/448
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2013-4242
+ (* Security fix *)
+patches/packages/libgcrypt-1.5.3-x86_64-1_slack13.0.txz: Upgraded.
+ Mitigate the Yarom/Falkner flush+reload side-channel attack on RSA
+ secret keys.
+ For more information, see:
+ http://eprint.iacr.org/2013/448
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2013-4242
+ (* Security fix *)
+patches/packages/libgpg-error-1.11-x86_64-1_slack13.0.txz: Upgraded.
+ This package upgrade was needed by the new version of libgcrypt.
++--------------------------+
+Tue Jul 16 21:18:56 UTC 2013
+patches/packages/php-5.3.27-x86_64-1_slack13.0.txz: Upgraded.
+ This update fixes an issue where XML in PHP does not properly consider
+ parsing depth, which allows remote attackers to cause a denial of service
+ (heap memory corruption) or possibly have unspecified other impact via a
+ crafted document that is processed by the xml_parse_into_struct function.
+ For more information, see:
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2013-4113
+ (* Security fix *)
++--------------------------+
+Sun Jun 23 21:00:00 UTC 2013
+patches/packages/curl-7.19.6-x86_64-2_slack13.0.txz: Rebuilt.
+ This fixes a minor security issue where a decode buffer boundary flaw in
+ libcurl could lead to heap corruption.
+ For more information, see:
+ http://curl.haxx.se/docs/adv_20130622.html
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2013-2174
+ (* Security fix *)
++--------------------------+
+Mon Jun 10 21:51:54 UTC 2013
+patches/packages/php-5.3.26-x86_64-1_slack13.0.txz: Upgraded.
+ This is a bugfix release. It also fixes a security issue -- a heap-based
+ overflow in the quoted_printable_encode() function, which could be used by
+ a remote attacker to crash PHP or execute code as the 'apache' user.
+ For more information, see:
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2013-2110
+ (* Security fix *)
++--------------------------+
+Fri Apr 5 05:21:45 UTC 2013
+patches/packages/subversion-1.6.21-x86_64-1_slack13.0.txz: Upgraded.
+ This update fixes some denial of service bugs:
+ mod_dav_svn excessive memory usage from property changes
+ mod_dav_svn crashes on LOCK requests against activity URLs
+ mod_dav_svn crashes on LOCK requests against non-existant URLs
+ mod_dav_svn crashes on PROPFIND requests against activity URLs
+ For more information, see:
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2013-1845
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2013-1846
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2013-1847
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2013-1849
+ (* Security fix *)
++--------------------------+
+Wed Mar 27 06:09:29 UTC 2013
+patches/packages/bind-9.8.4_P2-x86_64-1_slack13.0.txz: Upgraded.
+ This update fixes a critical defect in BIND 9 that allows an attacker
+ to cause excessive memory consumption in named or other programs linked
+ to libdns.
+ For more information, see:
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2013-2266
+ https://kb.isc.org/article/AA-00871
+ (* Security fix *)
+patches/packages/dhcp-4.2.5_P1-x86_64-1_slack13.0.txz: Upgraded.
+ This update replaces the included BIND 9 code that the DHCP programs
+ link against. Those contained a defect that could possibly lead to
+ excessive memory consumption and a denial of service.
+ For more information, see:
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2013-2266
+ (* Security fix *)
++--------------------------+
+Sat Mar 23 20:22:12 UTC 2013
+patches/packages/php-5.3.23-x86_64-1_slack13.0.txz: Upgraded.
+ This release fixes two security issues in SOAP:
+ Added check that soap.wsdl_cache_dir conforms to open_basedir.
+ Disabled external entities loading.
+ For more information, see:
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2013-1635
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2013-1643
+ (* Security fix *)
++--------------------------+
+Tue Mar 12 06:59:27 UTC 2013
+patches/packages/glibc-zoneinfo-2013b-noarch-1_slack13.0.txz: Upgraded.
+ This package provides the latest timezone updates.
++--------------------------+
+Thu Mar 7 00:16:35 UTC 2013
+patches/packages/sudo-1.7.10p7-x86_64-1_slack13.0.txz: Upgraded.
+ This update fixes security issues that could allow a user to run commands
+ without authenticating after the password timeout has already expired.
+ Note that the vulnerability did not permit a user to run commands other
+ than those allowed by the sudoers policy.
+ For more information, see:
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2013-1775
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2013-1776
+ (* Security fix *)
++--------------------------+
+Sun Mar 3 22:10:56 UTC 2013
+patches/packages/httpd-2.2.24-x86_64-1_slack13.0.txz: Upgraded.
+ This update provides bugfixes and enhancements.
+ Two security issues are fixed:
+ * Various XSS flaws due to unescaped hostnames and URIs HTML output in
+ mod_info, mod_status, mod_imagemap, mod_ldap, and mod_proxy_ftp.
+ [Jim Jagielski, Stefan Fritsch, Niels Heinen <heinenn google com>]
+ * XSS in mod_proxy_balancer manager interface. [Jim Jagielski,
+ Niels Heinen <heinenn google com>]
+ For more information, see:
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2012-3499
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2012-4558
+ (* Security fix *)
++--------------------------+
+Fri Feb 15 22:46:52 UTC 2013
+patches/packages/pidgin-2.10.7-x86_64-3_slack13.0.txz: Rebuilt.
+ Fixed linking libirc.so with libsasl2.
+ Added Makefile.in and Makefile to the patch, and applied it after
+ running ./configure. Using autoreconf is not an option since most
+ versions of Slackware aren't using the same libtools versions as the
+ Pidgin developers are. Third times the charm?
+ Thanks to Willy Sudiarto Raharjo.
++--------------------------+
+Fri Feb 15 07:26:45 UTC 2013
+patches/packages/pidgin-2.10.7-x86_64-2_slack13.0.txz: Rebuilt.
+ Fixed IRC support. When building with SASL support (new in 2.10.7), the
+ IRC plugin needs to link against libsasl2, otherwise it will fail to load.
++--------------------------+
+Thu Feb 14 05:35:22 UTC 2013
+patches/packages/pidgin-2.10.7-x86_64-1_slack13.0.txz: Upgraded.
+ This update fixes several security issues:
+ Remote MXit user could specify local file path.
+ MXit buffer overflow reading data from network.
+ Sametime crash with long user IDs.
+ Crash when receiving a UPnP response with abnormally long values.
+ For more information, see:
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2013-0271
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2013-0272
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2013-0273
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2013-0274
+ (* Security fix *)
++--------------------------+
+Sat Feb 9 21:45:56 UTC 2013
+patches/packages/openssl-0.9.8y-x86_64-1_slack13.0.txz: Upgraded.
+ Make the decoding of SSLv3, TLS and DTLS CBC records constant time.
+ This addresses the flaw in CBC record processing discovered by
+ Nadhem Alfardan and Kenny Paterson. Details of this attack can be found
+ at: http://www.isg.rhul.ac.uk/tls/
+ Thanks go to Nadhem Alfardan and Kenny Paterson of the Information
+ Security Group at Royal Holloway, University of London
+ (www.isg.rhul.ac.uk) for discovering this flaw and Adam Langley and
+ Emilia Käsper for the initial patch.
+ (CVE-2013-0169)
+ [Emilia Käsper, Adam Langley, Ben Laurie, Andy Polyakov, Steve Henson]
+ Return an error when checking OCSP signatures when key is NULL.
+ This fixes a DoS attack. (CVE-2013-0166)
+ [Steve Henson]
+ For more information, see:
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2013-0166
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2013-0169
+ (* Security fix *)
+patches/packages/openssl-solibs-0.9.8y-x86_64-1_slack13.0.txz: Upgraded.
+ (* Security fix *)
++--------------------------+
+Tue Jan 22 23:40:16 UTC 2013
+patches/packages/mysql-5.0.96-x86_64-1_slack13.0.txz: Upgraded.
+ Upgraded to the latest upstream version to fix security issues and provide
+ other bug fixes and improvements. Note that some of the changes may
+ possibly introduce incompatibilities with the previous package.
+ (* Security fix *)
++--------------------------+
+Wed Jan 16 02:54:52 UTC 2013
+patches/packages/freetype-2.4.11-x86_64-1_slack13.0.txz: Upgraded.
+ This release fixes several security bugs that could cause freetype to
+ crash or run programs upon opening a specially crafted file.
+ For more information, see:
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2012-5668
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2012-5669
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2012-5670
+ (* Security fix *)
++--------------------------+
+Fri Dec 7 01:41:59 UTC 2012
+patches/packages/bind-9.8.4_P1-x86_64-1_slack13.0.txz: Upgraded.
+ IMPORTANT NOTE: This package updates BIND from 9.7.6_P4 to
+ 9.8.4_P1 since the 9.7 series is no longer supported. It is
+ possible that some changes may be required to your local
+ configuration.
+ This release addresses some denial-of-service and other bugs.
+ For more information, see:
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2012-5688
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2012-5166
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2012-3817
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2012-1667
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2012-3868
+ (* Security fix *)
+patches/packages/libxml2-2.7.3-x86_64-5_slack13.0.txz: Rebuilt.
+ Patched a heap-based buffer underflow in the xmlParseAttValueComplex
+ function in parser.c in libxml2 2.9.0 and earlier that could allow a
+ remote attacker to cause a denial of service or possibly execute
+ arbitrary code via crafted entities in an XML document.
+ For more information, see:
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2012-5134
+ (* Security fix *)
++--------------------------+
+Thu Oct 11 01:14:57 UTC 2012
+patches/packages/bind-9.7.6_P4-x86_64-1_slack13.0.txz: Upgraded.
+ This update fixes a security issue where a certain combination of records
+ in the RBT could cause named to hang while populating the additional
+ section of a response. [RT #31090]
+ (* Security fix *)
++--------------------------+
+Wed Sep 19 23:52:16 UTC 2012
+patches/packages/patch-2.7-x86_64-2_slack13.0.txz: Upgraded.
+ Applied two upstream git commits to fix bugs which could cause target
+ files to be removed or truncated. Thanks to Qun-Ying.
++--------------------------+
+Fri Sep 14 20:29:40 UTC 2012
+patches/packages/dhcp-4.1_ESV_R7-x86_64-1_slack13.0.txz: Upgraded.
+ An issue with the use of lease times was found and fixed. Making certain
+ changes to the end time of an IPv6 lease could cause the server to abort.
+ Thanks to Glen Eustace of Massey University, New Zealand for finding this
+ issue. [ISC-Bugs #30281]
+ For more information, see:
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2012-3955
+ (* Security fix *)
+patches/packages/php-5.3.17-x86_64-1_slack13.0.txz: Upgraded.
+ This is a bugfix release.
++--------------------------+
+Fri Sep 14 02:16:53 UTC 2012
+patches/packages/bind-9.7.6_P3-x86_64-1_slack13.0.txz: Upgraded.
+ This update fixes a security issue where named could crash on a specially
+ crafted record. [RT #30416]
+ (* Security fix *)
+patches/packages/patch-2.7-x86_64-1_slack13.0.txz: Upgraded.
+ This version of patch ignores destination filenames that are absolute or
+ that contain a component of "..", unless such a filename is provided as
+ an argument.
+ For more information, see:
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2010-4651
+ (* Security fix *)
++--------------------------+
+Thu Aug 30 23:35:53 UTC 2012
+patches/packages/slocate-3.1-x86_64-4_slack13.0.txz: Rebuilt.
+ Patched to use lstat64 and -D_LARGEFILE64_SOURCE. Thanks to Mancha+.
+ Patched to fix information leak of filenames in protected directories.
+ For more information, see:
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2007-0227
+ (* Security fix *)
++--------------------------+
+Fri Aug 24 20:08:37 UTC 2012
+patches/packages/php-5.3.16-x86_64-1_slack13.0.txz: Upgraded.
+ This is a bugfix release.
+patches/packages/dhcp-4.1_ESV_R6-x86_64-1_slack13.0.txz: Upgraded.
+ This fixes memory leaks, denial of service vulnerabilities, and
+ disallows packets with zero length client ids (not valid according to
+ RFC 2132 section 9.14).
+ For more information, see:
+ https://kb.isc.org/article/AA-00736
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2011-4539
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2011-4868
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2012-3954
+ (* Security fix *)
++--------------------------+
+Thu Aug 16 04:01:31 UTC 2012
+patches/packages/t1lib-5.1.2-x86_64-2_slack13.0.txz: Rebuilt.
+ Patched various overflows, crashes, and pointer bugs.
+ For more information, see:
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2010-2642
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2011-0764
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2011-1552
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2011-1553
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2011-1554
+ (* Security fix *)
++--------------------------+
+Fri Jul 27 17:15:24 UTC 2012
+patches/packages/bind-9.7.6_P2-x86_64-1_slack13.0.txz: Upgraded.
+ Prevents a named assert (crash) when validating caused by using
+ "Bad cache" data before it has been initialized. [RT #30025]
+ ISC_QUEUE handling for recursive clients was updated to address a
+ race condition that could cause a memory leak. This rarely occurred
+ with UDP clients, but could be a significant problem for a server
+ handling a steady rate of TCP queries. [RT #29539 & #30233]
+ Under heavy incoming TCP query loads named could experience a
+ memory leak which could lead to significant reductions in query
+ response or cause the server to be terminated on systems with
+ "out of memory" killers. [RT #29539]
+ A condition has been corrected where improper handling of zero-length
+ RDATA could cause undesirable behavior, including termination of
+ the named process. [RT #29644]
+ (* Security fix *)
++--------------------------+
+Wed Jul 25 02:02:40 UTC 2012
+patches/packages/libpng-1.2.50-x86_64-1_slack13.0.txz: Upgraded.
+ Fixed incorrect type (int copy should be png_size_t copy) in png_inflate()
+ (fixes CVE-2011-3045).
+ Revised png_set_text_2() to avoid potential memory corruption (fixes
+ CVE-2011-3048).
+ Changed "a+w" to "u+w" in Makefile.in to fix CVE-2012-3386.
+ For more information, see:
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2011-3045
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2011-3048
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2012-3386
+ (* Security fix *)
++--------------------------+
+Sun Jul 22 19:45:25 UTC 2012
+patches/packages/php-5.3.15-x86_64-1_slack13.0.txz: Upgraded.
+ Fixed potential overflow in _php_stream_scandir (CVE-2012-2688).
+ (Thanks to Jason Powell, Stas)
+ For more information, see:
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2012-2688
+ (* Security fix *)
++--------------------------+
+Wed Jul 18 05:35:26 UTC 2012
+patches/packages/libexif-0.6.21-x86_64-1_slack13.0.txz: Upgraded.
+ This update fixes a number of remotely exploitable issues in libexif
+ with effects ranging from information leakage to potential remote
+ code execution.
+ For more information, see:
+ http://sourceforge.net/mailarchive/message.php?msg_id=29534027
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2012-2812
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2012-2813
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2012-2814
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2012-2836
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2012-2837
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2012-2840
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2012-2841
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2012-2845
+ (* Security fix *)
++--------------------------+
+Fri Jul 13 23:14:15 UTC 2012
+patches/packages/php-5.3.14-x86_64-1_slack13.0.txz: Upgraded.
+ This release fixes a weakness in the DES implementation of crypt
+ and a heap overflow issue in the phar extension.
+ (* Security fix *)
+patches/packages/pidgin-2.10.6-x86_64-1_slack13.0.txz: Upgraded.
+ Fixes a security issue for users of MXit: Incorrect handing of inline
+ images in incoming instant messages can cause a buffer overflow and in
+ some cases can be exploited to execute arbitrary code.
+ For more information, see:
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2012-3374
+ (* Security fix *)
++--------------------------+
+Mon Jun 25 02:32:37 UTC 2012
+patches/packages/freetype-2.4.10-x86_64-1_slack13.0.txz: Upgraded.
+ Since freetype-2.4.8 many fixes were made to better handle invalid fonts.
+ Many of them are vulnerabilities (see CVE-2012-1126 up to CVE-2012-1144
+ and SA48320) so all users should upgrade.
+ (* Security fix *)
++--------------------------+
+Thu Jun 14 05:02:39 UTC 2012
+patches/packages/bind-9.7.6_P1-x86_64-1_slack13.0.txz: Upgraded.
+ This release fixes an issue that could crash BIND, leading to a denial of
+ service. It also fixes the so-called "ghost names attack" whereby a
+ remote attacker may trigger continued resolvability of revoked domain names.
+ For more information, see:
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2012-1033
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2012-1667
+ IMPORTANT NOTE: This is a upgraded version of BIND, _not_ a patched one.
+ It is likely to be more strict about the correctness of configuration files.
+ Care should be taken about deploying this upgrade on production servers to
+ avoid an unintended interruption of service.
+ (* Security fix *)
++--------------------------+
+Wed May 23 00:14:52 UTC 2012
+patches/packages/libxml2-2.7.3-x86_64-4_slack13.0.txz: Upgraded.
+ Patched an off-by-one error in XPointer that could lead to a crash or
+ possibly the execution of arbitrary code.
+ For more information, see:
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2011-3102
+ (* Security fix *)
++--------------------------+
+Sat May 19 19:03:37 UTC 2012
+patches/packages/openssl-0.9.8x-x86_64-1_slack13.0.txz: Upgraded.
+ This is a very minor security fix:
+ o Fix DTLS record length checking bug CVE-2012-2333
+ For more information, see:
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2012-2333
+ (* Security fix *)
+patches/packages/openssl-solibs-0.9.8x-x86_64-1_slack13.0.txz: Upgraded.
+ This is a very minor security fix:
+ o Fix DTLS record length checking bug CVE-2012-2333
+ For more information, see:
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2012-2333
+ (* Security fix *)
++--------------------------+
+Wed May 9 20:16:40 UTC 2012
+patches/packages/wicd-1.7.2.4-x86_64-2_slack13.0.txz: Rebuilt.
+ Fixed an input sanitization bug that breaks accepting a passphrase for a new
+ password protected access point. Patch from upstream.
+ Thanks to Willy Sudiarto Raharjo for the notice.
++--------------------------+
+Tue May 8 21:21:10 UTC 2012
+patches/packages/php-5.3.13-x86_64-1_slack13.0.txz: Upgraded.
+ This release completes a fix for a vulnerability in CGI-based setups.
+ Note: mod_php and php-fpm are not vulnerable to this attack.
+ For more information, see:
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2012-2311
+ (* Security fix *)
++--------------------------+
+Mon May 7 18:54:03 UTC 2012
+patches/packages/pidgin-2.10.4-x86_64-1_slack13.0.txz: Upgraded.
+ Fixed possible MSN remote crash.
+ Fixed XMPP remote crash.
+ For more information, see:
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2012-2214
+ (* Security fix *)
++--------------------------+
+Mon Apr 30 22:24:10 UTC 2012
+patches/packages/wicd-1.7.2.4-x86_64-1_slack13.0.txz: Upgraded.
+ Correct the fix for CVE-2012-2095 (and fix other new bugs).
+ For more information, see:
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2012-2095
+ (* Security fix *)
++--------------------------+
+Fri Apr 27 01:07:23 UTC 2012
+patches/packages/openssl-0.9.8w-x86_64-1_slack13.0.txz: Upgraded.
+ Fixes some potentially exploitable buffer overflows.
+ Thanks to Tavis Ormandy, Google Security Team, for discovering this
+ issue and to Adam Langley <agl@chromium.org> for fixing it.
+ For more information, see:
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2012-2110
+ (* Security fix *)
+patches/packages/openssl-solibs-0.9.8w-x86_64-1_slack13.0.txz: Upgraded.
+ Fixes some potentially exploitable buffer overflows.
+ Thanks to Tavis Ormandy, Google Security Team, for discovering this
+ issue and to Adam Langley <agl@chromium.org> for fixing it.
+ For more information, see:
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2012-2110
+ (* Security fix *)
++--------------------------+
+Mon Apr 23 18:18:31 UTC 2012
+patches/packages/openssl-0.9.8v-x86_64-1_slack13.0.txz: Upgraded.
+ Fixes some potentially exploitable buffer overflows.
+ Thanks to Tavis Ormandy, Google Security Team, for discovering this
+ issue and to Adam Langley <agl@chromium.org> for fixing it.
+ For more information, see:
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2012-2110
+ (* Security fix *)
+patches/packages/openssl-solibs-0.9.8v-x86_64-1_slack13.0.txz: Upgraded.
+ Fixes some potentially exploitable buffer overflows.
+ Thanks to Tavis Ormandy, Google Security Team, for discovering this
+ issue and to Adam Langley <agl@chromium.org> for fixing it.
+ For more information, see:
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2012-2110
+ (* Security fix *)
+extra/wicd/wicd-1.7.2.1-x86_64-1_slack13.0.txz: Upgraded.
+ This fixes a local privilege escalation that allows a user to set arbitrary
+ pre/post-connection scripts through D-Bus which are then executed as the
+ wicd user (generally root).
+ For more information, see:
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2012-2095
+ Thanks to dapal for the workaround allowing us to skip the pybabel
+ requirement (for now), and to Robby Workman for the script update.
+ (* Security fix *)
++--------------------------+
+Wed Apr 11 17:16:32 UTC 2012
+patches/packages/pidgin-2.10.3-x86_64-1_slack13.0.txz: Upgraded.
+ This update fixes several remotely triggerable crash bugs.
+ For more information, see:
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2011-2943
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2011-3184
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2011-3185
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2011-3594
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2011-4601
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2011-4602
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2011-4603
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2011-4939
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2012-1178
+ (* Security fix *)
+patches/packages/samba-3.2.15-x86_64-5_slack13.0.txz: Rebuilt.
+ This is a security release in order to address a vulnerability that allows
+ remote code execution as the "root" user. All sites running a Samba
+ server should update to the new Samba package and restart Samba.
+ For more information, see:
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2012-1182
+ (* Security fix *)
++--------------------------+
+Sat Apr 7 21:48:42 UTC 2012
+patches/packages/libtiff-3.8.2-x86_64-6_slack13.0.txz: Rebuilt.
+ Patched overflows that could lead to arbitrary code execution when parsing
+ a malformed image file.
+ For more information, see:
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2012-1173
+ (* Security fix *)
++--------------------------+
+Wed Mar 14 22:27:52 UTC 2012
+patches/packages/mozilla-firefox-3.6.28-x86_64-1_slack13.0.txz: Upgraded.
+ This release contains security fixes and improvements.
+ For more information, see:
+ http://www.mozilla.org/security/known-vulnerabilities/firefox.html
+ (* Security fix *)
+patches/packages/mozilla-thunderbird-3.1.20-x86_64-1_slack13.0.txz: Upgraded.
+ This release contains security fixes and improvements.
+ For more information, see:
+ http://www.mozilla.org/security/known-vulnerabilities/thunderbird.html
+ (* Security fix *)
++--------------------------+
+Wed Feb 22 18:14:58 UTC 2012
+patches/packages/libpng-1.2.47-x86_64-1_slack13.0.txz: Upgraded.
+ All branches of libpng prior to versions 1.5.9, 1.4.9, 1.2.47, and 1.0.57,
+ respectively, fail to correctly validate a heap allocation in
+ png_decompress_chunk(), which can lead to a buffer-overrun and the
+ possibility of execution of hostile code on 32-bit systems.
+ For more information, see:
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2011-3026
+ (* Security fix *)
+patches/packages/mozilla-firefox-3.6.27-x86_64-1_slack13.0.txz: Upgraded.
+ This fixes some security issues.
+ For more information, see:
+ http://www.mozilla.org/security/known-vulnerabilities/firefox36.html
+ (* Security fix *)
+patches/packages/mozilla-thunderbird-3.1.19-x86_64-1_slack13.0.txz: Upgraded.
+ This release contains security fixes and improvements.
+ For more information, see:
+ http://www.mozilla.org/security/known-vulnerabilities/thunderbird31.html
+ (* Security fix *)
++--------------------------+
+Wed Feb 8 01:21:42 UTC 2012
+patches/packages/apr-util-1.4.1-x86_64-1_slack13.0.txz: Upgraded.
+ Version bump for httpd upgrade.
+patches/packages/httpd-2.2.22-x86_64-1_slack13.0.txz: Upgraded.
+ *) SECURITY: CVE-2011-3368 (cve.mitre.org)
+ Reject requests where the request-URI does not match the HTTP
+ specification, preventing unexpected expansion of target URLs in
+ some reverse proxy configurations. [Joe Orton]
+ *) SECURITY: CVE-2011-3607 (cve.mitre.org)
+ Fix integer overflow in ap_pregsub() which, when the mod_setenvif module
+ is enabled, could allow local users to gain privileges via a .htaccess
+ file. [Stefan Fritsch, Greg Ames]
+ *) SECURITY: CVE-2011-4317 (cve.mitre.org)
+ Resolve additional cases of URL rewriting with ProxyPassMatch or
+ RewriteRule, where particular request-URIs could result in undesired
+ backend network exposure in some configurations.
+ [Joe Orton]
+ *) SECURITY: CVE-2012-0021 (cve.mitre.org)
+ mod_log_config: Fix segfault (crash) when the '%{cookiename}C' log format
+ string is in use and a client sends a nameless, valueless cookie, causing
+ a denial of service. The issue existed since version 2.2.17. PR 52256.
+ [Rainer Canavan <rainer-apache 7val com>]
+ *) SECURITY: CVE-2012-0031 (cve.mitre.org)
+ Fix scoreboard issue which could allow an unprivileged child process
+ could cause the parent to crash at shutdown rather than terminate
+ cleanly. [Joe Orton]
+ *) SECURITY: CVE-2012-0053 (cve.mitre.org)
+ Fix an issue in error responses that could expose "httpOnly" cookies
+ when no custom ErrorDocument is specified for status code 400.
+ [Eric Covener]
+ For more information, see:
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2011-3368
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2011-3607
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2011-4317
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2012-0021
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2012-0031
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2012-0053
+ (* Security fix *)
+patches/packages/php-5.3.10-x86_64-1_slack13.0.txz: Upgraded.
+ Fixed arbitrary remote code execution vulnerability reported by Stefan
+ Esser, CVE-2012-0830. (Stas, Dmitry)
+ For more information, see:
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2012-0830
+ (* Security fix *)
+patches/packages/proftpd-1.3.4a-x86_64-1_slack13.0.txz: Upgraded.
+ This update fixes a use-after-free() memory corruption error,
+ and possibly other unspecified issues.
+ For more information, see:
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2011-4130
+ (* Security fix *)
+patches/packages/vsftpd-2.3.5-x86_64-1_slack13.0.txz: Upgraded.
+ Minor version bump, this also works around a hard to trigger heap overflow
+ in glibc (glibc zoneinfo caching vuln). For there to be any possibility
+ to trigger the glibc bug within vsftpd, the non-default option
+ "chroot_local_user" must be set in /etc/vsftpd.conf.
+ Considered 1) low severity (hard to exploit) and 2) not a vsftpd bug :-)
+ Nevertheless:
+ (* Security fix *)
++--------------------------+
+Thu Feb 2 00:13:21 UTC 2012
+patches/packages/coreutils-8.15-x86_64-1_slack13.0.txz: Upgraded.
+ This will be provided as a patch to fix some important issues with ext4.
+ Thanks to Georgy Salnikov for the notification.
+patches/packages/freetype-2.4.8-x86_64-1_slack13.0.txz: Upgraded.
+ Some vulnerabilities in handling CID-keyed PostScript fonts have
+ been fixed.
+ For more information, see:
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2011-3439
+ (* Security fix *)
+patches/packages/mozilla-firefox-3.6.26-x86_64-1_slack13.0.txz: Upgraded.
+ This fixes some security issues.
+ For more information, see:
+ http://www.mozilla.org/security/known-vulnerabilities/firefox36.html
+ (* Security fix *)
+patches/packages/mozilla-thunderbird-3.1.18-x86_64-1_slack13.0.txz: Upgraded.
+ This release contains security fixes and improvements.
+ For more information, see:
+ http://www.mozilla.org/security/known-vulnerabilities/thunderbird31.html
+ (* Security fix *)
+patches/packages/openssl-0.9.8t-x86_64-1_slack13.0.txz: Upgraded.
+ This fixes a bug where DTLS applications were not properly supported. This
+ bug could have allowed remote attackers to cause a denial of service via
+ unspecified vectors.
+ CVE-2012-0050 has been assigned to this issue.
+ For more details see:
+ http://openssl.org/news/secadv_20120118.txt
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2011-0050
+ (* Security fix *)
+patches/packages/openssl-solibs-0.9.8t-x86_64-1_slack13.0.txz: Upgraded.
+ This fixes a bug where DTLS applications were not properly supported. This
+ bug could have allowed remote attackers to cause a denial of service via
+ unspecified vectors.
+ CVE-2012-0050 has been assigned to this issue.
+ For more details see:
+ http://openssl.org/news/secadv_20120118.txt
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2011-0050
+ (* Security fix *)
++--------------------------+
+Sun Nov 27 03:37:52 UTC 2011
+patches/packages/mozilla-thunderbird-3.1.16-x86_64-1_slack13.0.txz: Upgraded.
+ This release contains security fixes and improvements.
+ For more information, see:
+ http://www.mozilla.org/security/known-vulnerabilities/thunderbird31.html
+ (* Security fix *)
+patches/packages/mozilla-firefox-3.6.24-x86_64-1_slack13.0.txz: Upgraded.
+ This fixes some security issues.
+ For more information, see:
+ http://www.mozilla.org/security/known-vulnerabilities/firefox36.html
+ (* Security fix *)
+patches/packages/yasm-1.2.0-x86_64-1_slack13.0.txz: Upgraded.
++--------------------------+
+Thu Nov 17 02:09:25 UTC 2011
+patches/packages/bind-9.4_ESV_R5_P1-x86_64-1_slack13.0.txz: Upgraded.
+ --- 9.4-ESV-R5-P1 released ---
+3218. [security] Cache lookup could return RRSIG data associated with
+ nonexistent records, leading to an assertion
+ failure. [RT #26590]
+ (* Security fix *)
++--------------------------+
+Fri Nov 11 18:58:21 UTC 2011
+ Good 11-11-11, everyone! Enjoy some fresh time. :)
+patches/packages/glibc-zoneinfo-2011i_2011n-noarch-1.txz: Upgraded.
+ New upstream homepage: http://www.iana.org/time-zones
++--------------------------+
+Tue Oct 11 07:50:04 UTC 2011
+patches/packages/httpd-2.2.21-x86_64-1_slack13.0.txz: Upgraded.
+ Respond with HTTP_NOT_IMPLEMENTED when the method is not
+ recognized. [Jean-Frederic Clere] SECURITY: CVE-2011-3348
+ Fix a regression introduced by the CVE-2011-3192 byterange fix in 2.2.20.
+ PR 51748. [<lowprio20 gmail.com>]
+ For more information, see:
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2011-3348
+ (* Security fix *)
++--------------------------+
+Tue Sep 6 00:15:03 UTC 2011
+patches/packages/httpd-2.2.20-x86_64-1_slack13.0.txz: Upgraded.
+ SECURITY: CVE-2011-3192 (cve.mitre.org)
+ core: Fix handling of byte-range requests to use less memory, to avoid
+ denial of service. If the sum of all ranges in a request is larger than
+ the original file, ignore the ranges and send the complete file.
+ PR 51714. [Stefan Fritsch, Jim Jagielski, Ruediger Pluem, Eric Covener]
+ For more information, see:
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2011-3192
+ (* Security fix *)
+patches/packages/mozilla-firefox-3.6.22-x86_64-1_slack13.0.txz: Upgraded.
+ This release contains security fixes and improvements.
+ For more information, see:
+ http://www.mozilla.org/security/known-vulnerabilities/firefox36.html
+ http://www.mozilla.org/security/known-vulnerabilities/firefox.html
+ http://www.mozilla.org/security/announce/2011/mfsa2011-34.html
+ (* Security fix *)
+patches/packages/mozilla-thunderbird-3.1.13-x86_64-1_slack13.0.txz: Upgraded.
+ This release contains security fixes and improvements.
+ For more information, see:
+ http://www.mozilla.org/security/known-vulnerabilities/thunderbird31.html
+ http://www.mozilla.org/security/announce/2011/mfsa2011-34.html
+ (* Security fix *)
++--------------------------+
+Thu Aug 25 09:10:45 UTC 2011
+patches/packages/php-5.3.8-x86_64-1_slack13.0.txz: Upgraded.
+ Security fixes vs. 5.3.6 (5.3.7 was not usable):
+ Updated crypt_blowfish to 1.2. (CVE-2011-2483)
+ Fixed crash in error_log(). Reported by Mateusz Kocielski
+ Fixed buffer overflow on overlog salt in crypt().
+ Fixed bug #54939 (File path injection vulnerability in RFC1867
+ File upload filename). Reported by Krzysztof Kotowicz. (CVE-2011-2202)
+ Fixed stack buffer overflow in socket_connect(). (CVE-2011-1938)
+ Fixed bug #54238 (use-after-free in substr_replace()). (CVE-2011-1148)
+ For more information, see:
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2011-1148
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2011-1938
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2011-2202
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2011-2483
+ For those upgrading from PHP 5.2.x, be aware that quite a bit has
+ changed, and it will very likely not 'drop in', but PHP 5.2.x is not
+ supported by php.net any longer, so there wasn't a lot of choice
+ in the matter. We're not able to support a security fork of
+ PHP 5.2.x here either, so you'll have to just bite the bullet on
+ this. You'll be better off in the long run. :)
+ (* Security fix *)
++--------------------------+
+Fri Aug 12 23:20:00 UTC 2011
+patches/packages/bind-9.4_ESV_R5-x86_64-1_slack13.0.txz: Upgraded.
+ This BIND update addresses a couple of security issues:
+ * named, set up to be a caching resolver, is vulnerable to a user
+ querying a domain with very large resource record sets (RRSets)
+ when trying to negatively cache the response. Due to an off-by-one
+ error, caching the response could cause named to crash. [RT #24650]
+ [CVE-2011-1910]
+ * Change #2912 (see CHANGES) exposed a latent bug in the DNS message
+ processing code that could allow certain UPDATE requests to crash
+ named. [RT #24777] [CVE-2011-2464]
+ For more information, see:
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2011-1910
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2011-2464
+ (* Security fix *)
++--------------------------+
+Fri Jul 29 18:22:40 UTC 2011
+patches/packages/dhcpcd-3.2.3-x86_64-2_slack13.0.txz: Rebuilt.
+ Sanitize the host name provided by the DHCP server to insure that it does
+ not contain any shell metacharacters.
+ For more information, see:
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2011-0996
+ (* Security fix *)
+patches/packages/libpng-1.2.46-x86_64-1_slack13.0.txz: Upgraded.
+ Fixed uninitialized memory read in png_format_buffer()
+ (Bug report by Frank Busse, related to CVE-2004-0421).
+ For more information, see:
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2011-0421
+ (* Security fix *)
++--------------------------+
+Thu Jul 14 21:34:41 UTC 2011
+patches/packages/mozilla-firefox-3.6.19-x86_64-1_slack13.0.txz: Upgraded.
+ This release contains security fixes and improvements.
+ For more information, see:
+ http://www.mozilla.org/security/known-vulnerabilities/firefox36.html
+ (* Security fix *)
++--------------------------+
+Fri Jul 8 16:55:13 UTC 2011
+patches/packages/mozilla-thunderbird-3.1.11-x86_64-1_slack13.0.txz: Upgraded.
+ This release contains security fixes and improvements.
+ For more information, see:
+ http://www.mozilla.org/security/known-vulnerabilities/thunderbird30.html
+ (* Security fix *)
++--------------------------+
+Mon Jun 27 21:29:54 UTC 2011
+patches/packages/pidgin-2.9.0-x86_64-1_slack13.0.txz: Upgraded.
+ Fixed a remote denial of service. A remote attacker could set a specially
+ crafted GIF file as their buddy icon causing vulerable versions of pidgin
+ to crash due to excessive memory use.
+ For more information, see:
+ http://pidgin.im/news/security/?id=52
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2011-2485
+ (* Security fix *)
++--------------------------+
+Fri Jun 24 02:55:39 UTC 2011
+patches/packages/mozilla-firefox-3.6.18-x86_64-1_slack13.0.txz: Upgraded.
+ This release contains security fixes and improvements.
+ For more information, see:
+ http://www.mozilla.org/security/known-vulnerabilities/firefox36.html
+ (* Security fix *)
++--------------------------+
+Mon Jun 20 00:49:34 UTC 2011
+patches/packages/fetchmail-6.3.20-x86_64-1_slack13.0.txz: Upgraded.
+ This release fixes a denial of service in STARTTLS protocol phases.
+ For more information, see:
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2011-1947
+ http://www.fetchmail.info/fetchmail-SA-2011-01.txt
+ (* Security fix *)
++--------------------------+
+Fri May 27 22:56:00 UTC 2011
+patches/packages/bind-9.4_ESV_R4_P1-x86_64-1_slack13.0.txz: Upgraded.
+ This release fixes security issues:
+ * A large RRSET from a remote authoritative server that results in
+ the recursive resolver trying to negatively cache the response can
+ hit an off by one code error in named, resulting in named crashing.
+ [RT #24650] [CVE-2011-1910]
+ * Zones that have a DS record in the parent zone but are also listed
+ in a DLV and won't validate without DLV could fail to validate. [RT
+ #24631]
+ For more information, see:
+ http://www.isc.org/software/bind/advisories/cve-2011-1910
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2011-1910
+ (* Security fix *)
++--------------------------+
+Wed May 25 20:03:16 UTC 2011
+patches/packages/apr-1.4.5-x86_64-1_slack13.0.txz: Upgraded.
+ This fixes a possible denial of service due to a problem with a loop in
+ the new apr_fnmatch() implementation consuming CPU.
+ For more information, see:
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2011-1928
+ (* Security fix *)
+patches/packages/apr-util-1.3.12-x86_64-1_slack13.0.txz: Upgraded.
+ Fix crash because of NULL cleanup registered by apr_ldap_rebind_init().
+patches/packages/httpd-2.2.19-x86_64-1_slack13.0.txz: Upgraded.
+ Revert ABI breakage in 2.2.18 caused by the function signature change
+ of ap_unescape_url_keep2f(). This release restores the signature from
+ 2.2.17 and prior, and introduces ap_unescape_url_keep2f_ex().
+ Apache httpd-2.2.18 is considered abandoned. All users must upgrade.
++--------------------------+
+Fri May 13 20:30:07 UTC 2011
+patches/packages/apr-1.4.4-x86_64-1_slack13.0.txz: Upgraded.
+ This fixes a possible denial of service due to an unconstrained, recursive
+ invocation of apr_fnmatch(). This function has been reimplemented using a
+ non-recursive algorithm. Thanks to William Rowe.
+ For more information, see:
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2011-0419
+ (* Security fix *)
+patches/packages/apr-util-1.3.11-x86_64-1_slack13.0.txz: Upgraded.
+patches/packages/httpd-2.2.18-x86_64-1_slack13.0.txz: Upgraded.
+ This is a bug fix release, but since the upgrades to apr/apr-util require at
+ least an httpd recompile we opted to upgrade to the newest httpd.
++--------------------------+
+Mon May 2 20:20:50 UTC 2011
+patches/packages/mozilla-firefox-3.6.17-x86_64-1_slack13.0.txz: Upgraded.
+ This release contains security fixes and improvements.
+ For more information, see:
+ http://www.mozilla.org/security/known-vulnerabilities/firefox36.html
+ (* Security fix *)
+patches/packages/mozilla-thunderbird-3.1.10-x86_64-1_slack13.0.txz: Upgraded.
+ This release contains security fixes and improvements.
+ As Thunderbird 3.0.x will not have further releases, all the platforms for
+ which we still support Thunderbird are encouraged to upgrade to this
+ Thunderbird 3.1.10 package.
+ For more information, see:
+ http://www.mozilla.org/security/known-vulnerabilities/thunderbird30.html
+ (* Security fix *)
+patches/packages/seamonkey-2.0.14-x86_64-1_slack13.0.txz: Upgraded.
+ This release contains security fixes and improvements.
+ For more information, see:
+ http://www.mozilla.org/security/known-vulnerabilities/seamonkey20.html
+ (* Security fix *)
+patches/packages/seamonkey-solibs-2.0.14-x86_64-1_slack13.0.txz: Upgraded.
+ (* Security fix *)
++--------------------------+
+Thu Apr 21 03:13:14 UTC 2011
+patches/packages/rdesktop-1.6.0-x86_64-2_slack13.0.txz: Rebuilt.
+ Patched a traversal vulnerability (disallow /.. requests).
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2011-1595
+ (* Security fix *)
++--------------------------+
+Mon Apr 18 19:59:50 UTC 2011
+patches/packages/acl-2.2.50-x86_64-1_slack13.0.txz: Upgraded.
+ Fix the --physical option in setfacl and getfacl to prevent symlink attacks.
+ Thanks to Martijn Dekker for the notification.
+ For more information, see:
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2009-4411
+ (* Security fix *)
++--------------------------+
+Fri Apr 8 06:58:48 UTC 2011
+patches/packages/libtiff-3.8.2-x86_64-5_slack13.0.txz: Rebuilt.
+ Patched overflows that could lead to arbitrary code execution when parsing
+ a malformed image file.
+ For more information, see:
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2011-0192
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2011-1167
+ (* Security fix *)
++--------------------------+
+Thu Apr 7 04:07:29 UTC 2011
+patches/packages/dhcp-3.1_ESV_R1-x86_64-1_slack13.0.txz: Upgraded.
+ In dhclient, check the data for some string options for reasonableness
+ before passing it along to the script that interfaces with the OS.
+ This prevents some possible attacks by a hostile DHCP server.
+ For more information, see:
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2011-0997
+ (* Security fix *)
++--------------------------+
+Wed Apr 6 06:32:00 UTC 2011
+patches/packages/xrdb-1.0.9-x86_64-1_slack13.0.txz: Upgraded.
+ This fixes a security issue where improperly sanitized input could lead to
+ privilege escalation or arbitrary command execution as root.
+ For more information, see:
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2011-0465
+ (* Security fix *)
++--------------------------+
+Tue Apr 5 05:10:33 UTC 2011
+patches/packages/proftpd-1.3.3e-x86_64-1_slack13.0.txz: Upgraded.
+ Fixes CVE-2011-1137 (badly formed SSH messages cause DoS).
+ For more information, see:
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2011-1137
+ (* Security fix *)
++--------------------------+
+Sun Mar 27 08:28:47 UTC 2011
+patches/packages/seamonkey-2.0.13-x86_64-1_slack13.0.txz: Upgraded.
+ This release fixes a security vulnerability by blacklisting several
+ invalid HTTPS certificates.
+ For more information, see:
+ http://www.mozilla.org/security/announce/2011/mfsa2011-11.html
+ (* Security fix *)
+patches/packages/seamonkey-solibs-2.0.13-x86_64-1_slack13.0.txz: Upgraded.
+patches/packages/mozilla-firefox-3.6.16-x86_64-1_slack13.0.txz: Upgraded.
+ This release fixes a security vulnerability by blacklisting several
+ invalid HTTPS certificates.
+ For more information, see:
+ http://www.mozilla.org/security/announce/2011/mfsa2011-11.html
+ (* Security fix *)
++--------------------------+
+Fri Mar 11 20:10:16 UTC 2011
+patches/packages/pidgin-2.7.11-x86_64-1_slack13.0.txz: Upgraded.
+ Fixed denials of service caused by NULL pointer dereferences due to
+ improper handling of malformed YMSG packets.
+ For more information, see:
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2011-1091
+ (* Security fix *)
++--------------------------+
+Fri Mar 11 06:34:03 UTC 2011
+patches/packages/subversion-1.6.16-x86_64-1_slack13.0.txz: Upgraded.
+ Fixed a remotely triggerable NULL-pointer dereference in mod_dav_svn.
+ For more information, see:
+ http://subversion.apache.org/security/CVE-2011-0715-advisory.txt
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2011-0715
+ (* Security fix *)
++--------------------------+
+Wed Mar 9 05:52:06 UTC 2011
+patches/packages/mozilla-firefox-3.6.15-x86_64-1_slack13.0.txz: Upgraded.
+ Firefox 3.6.15 is a security and stability update to Firefox 3.6.x.
+ (* Security fix *)
+patches/packages/seamonkey-2.0.12-x86_64-1_slack13.0.txz: Upgraded.
+ This release fixes some more security vulnerabilities.
+ For more information, see:
+ http://www.mozilla.org/security/known-vulnerabilities/seamonkey20.html
+ (* Security fix *)
+patches/packages/seamonkey-solibs-2.0.12-x86_64-1_slack13.0.txz: Upgraded.
+ (* Security fix *)
++--------------------------+
+Wed Mar 2 03:13:56 UTC 2011
+patches/packages/mozilla-firefox-3.6.14-x86_64-1_slack13.0.txz: Upgraded.
+ Firefox 3.6.14 is a regular security and stability update to Firefox 3.6.x.
+ (* Security fix *)
++--------------------------+
+Mon Feb 28 22:19:08 UTC 2011
+patches/packages/samba-3.2.15-x86_64-4_slack13.0.txz: Rebuilt.
+ Fix memory corruption denial of service issue.
+ For more information, see:
+ http://www.samba.org/samba/security/CVE-2011-0719
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2011-0719
+ (* Security fix *)
++--------------------------+
+Fri Feb 25 01:10:49 UTC 2011
+patches/packages/pidgin-2.7.10-x86_64-1_slack13.0.txz: Upgraded.
+ Fixed potential information disclosure issue in libpurple.
+ (* Security fix *)
++--------------------------+
+Thu Feb 10 21:19:38 UTC 2011
+patches/packages/apr-1.3.12-x86_64-1_slack13.0.txz: Upgraded.
+patches/packages/apr-util-1.3.10-x86_64-1_slack13.0.txz: Upgraded.
+ Fixes a memory leak and DoS in apr_brigade_split_line().
+ For more information, see:
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2010-1623
+ (* Security fix *)
+patches/packages/expat-2.0.1-x86_64-2_slack13.0.txz: Upgraded.
+ Fixed various crash and hang bugs.
+ For more information, see:
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2009-2625
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2009-3560
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2009-3720
+ (* Security fix *)
+patches/packages/httpd-2.2.17-x86_64-1_slack13.0.txz: Upgraded.
+ This fixes some denial of service bugs in the bundled libraries.
+ On Slackware we do not use the bundled expat or apr-util, so the
+ issues are also fixed in those external libraries.
+ For more information, see:
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2009-3560
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2009-3720
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2010-1623
+ (* Security fix *)
+patches/packages/openssl-0.9.8r-x86_64-1_slack13.0.txz: Upgraded.
+ This OpenSSL update fixes an "OCSP stapling vulnerability".
+ For more information, see the included CHANGES and NEWS files, and:
+ http://www.openssl.org/news/secadv_20110208.txt
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2011-0014
+ (* Security fix *)
+ Patched certwatch to work with recent versions of "file".
+ Thanks to Ulrich Schäfer and Jan Rafaj.
+patches/packages/openssl-solibs-0.9.8r-x86_64-1_slack13.0.txz: Upgraded.
+ (* Security fix *)
+patches/packages/sudo-1.7.4p6-x86_64-1_slack13.0.txz: Upgraded.
+ Fix Runas group password checking.
+ For more information, see the included CHANGES and NEWS files, and:
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2011-0010
+ (* Security fix *)
++--------------------------+
+Mon Jan 10 20:03:00 UTC 2011
+patches/packages/php-5.2.17-x86_64-1_slack13.0.txz: Upgraded.
+ This update fixes an infinite loop with conversions from string to
+ double that may result in a denial of service.
+ For more information, see:
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2010-4645
+ (* Security fix *)
++--------------------------+
+Mon Dec 27 18:47:35 UTC 2010
+patches/packages/pidgin-2.7.9-x86_64-1_slack13.0.txz: Upgraded.
+ Fixed denial-of-service flaw in the MSN protocol.
+ (* Security fix *)
++--------------------------+
+Fri Dec 24 00:53:19 UTC 2010
+patches/packages/php-5.2.16-x86_64-1_slack13.0.txz: Upgraded.
+ This fixes many bugs, including some security issues.
+ For more information, see:
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2010-3436
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2010-3709
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2010-4150
+ (* Security fix *)
+patches/packages/proftpd-1.3.3d-x86_64-1_slack13.0.txz: Upgraded.
+ This update fixes an unbounded copy operation in sql_prepare_where() that
+ could be exploited to execute arbitrary code. However, this only affects
+ servers that use the sql_mod module (which Slackware does not ship), and
+ in addition the ability to exploit this depends on an SQL injection bug
+ that was already fixed in proftpd-1.3.2rc2 (this according to upstream).
+ So in theory, this fix should only be of academic interest.
+ But in practice, better safe than sorry.
+ (* Security fix *)
++--------------------------+
+Thu Dec 16 18:57:05 UTC 2010
+patches/packages/bind-9.4_ESV_R4-x86_64-1_slack13.0.txz: Upgraded.
+ This update fixes some security issues.
+ For more information, see:
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2010-3613
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2010-3614
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2010-3615
+ (* Security fix *)
++--------------------------+
+Sat Dec 11 01:49:31 UTC 2010
+patches/packages/seamonkey-2.0.11-x86_64-1_slack13.0.txz: Upgraded.
+ This release fixes some more security vulnerabilities.
+ For more information, see:
+ http://www.mozilla.org/security/known-vulnerabilities/seamonkey20.html
+ (* Security fix *)
+patches/packages/seamonkey-solibs-2.0.11-x86_64-1_slack13.0.txz: Upgraded.
+ (* Security fix *)
++--------------------------+
+Fri Dec 10 03:57:27 UTC 2010
+patches/packages/mozilla-firefox-3.6.13-x86_64-1_slack13.0.txz: Upgraded.
+ This fixes some security issues.
+ For more information, see:
+ http://www.mozilla.org/security/known-vulnerabilities/firefox36.html
+ (* Security fix *)
+patches/packages/mozilla-thunderbird-3.0.11-x86_64-1_slack13.0.txz: Upgraded.
+ This upgrade fixes some more security bugs.
+ For more information, see:
+ http://www.mozilla.org/security/known-vulnerabilities/thunderbird30.html
+ (* Security fix *)
++--------------------------+
+Tue Dec 7 05:01:53 UTC 2010
+patches/packages/openssl-0.9.8q-x86_64-1_slack13.0.txz: Upgraded.
+ This OpenSSL update contains some security related bugfixes.
+ For more information, see the included CHANGES and NEWS files, and:
+ http://www.openssl.org/news/secadv_20101202.txt
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2010-4180
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2010-4252
+ (* Security fix *)
+patches/packages/openssl-solibs-0.9.8q-x86_64-1_slack13.0.txz: Upgraded.
+ (* Security fix *)
++--------------------------+
+Tue Nov 30 23:12:00 UTC 2010
+patches/packages/pidgin-2.7.7-x86_64-1_slack13.0.txz: Upgraded.
+ This update fixes connection issues for AIM and MSN.
++--------------------------+
+Mon Nov 29 22:00:24 UTC 2010
+patches/packages/cups-1.3.11-x86_64-2_slack13.0.txz: Rebuilt.
+ Fixed memory corruption bugs that could lead to a denial of service
+ or possibly execution of arbitrary code through a crafted IPP request.
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2010-0542
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2010-2941
+ (* Security fix *)
++--------------------------+
+Mon Nov 22 04:11:40 UTC 2010
+patches/packages/openssl-0.9.8p-x86_64-1_slack13.0.txz: Rebuilt.
+ This OpenSSL update contains some security related bugfixes.
+ For more information, see the included CHANGES and NEWS files, and:
+ http://www.openssl.org/news/secadv_20101116.txt
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2010-2939
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2010-3864
+ (* Security fix *)
+patches/packages/openssl-solibs-0.9.8p-x86_64-1_slack13.0.txz: Rebuilt.
+ (* Security fix *)
++--------------------------+
+Sat Nov 20 21:20:27 UTC 2010
+patches/packages/xpdf-3.02pl5-x86_64-1_slack13.0.txz: Upgraded.
+ This update fixes security issues that could lead to an
+ application crash, or execution of arbitrary code.
+ For more information, see:
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2010-3702
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2010-3703
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2010-3704
+ (* Security fix *)
+patches/packages/poppler-0.10.7-x86_64-3_slack13.0.txz: Rebuilt.
+ This updated package includes patches based on xpdf 3.02pl5.
+ For more information, see:
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2010-3702
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2010-3703
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2010-3704
+ (* Security fix *)
++--------------------------+
+Sun Nov 14 01:03:51 UTC 2010
+patches/packages/mozilla-thunderbird-3.0.10-x86_64-1_slack13.0.txz: Upgraded.
+ With Thunderbird 2.x unmaintained, it seems like a good idea to provide a
+ upgrade to Thunderbird 3.x for security reasons. This will bring with it
+ quite a bit of changed functionality, so be prepared... one hint is that
+ it will now make local copies of remote mailboxes by default, so you will
+ need to have enough disk space to handle that.
+ For more information, see:
+ http://www.mozilla.org/security/known-vulnerabilities/thunderbird30.html
+ (* Security fix *)
++--------------------------+
+Mon Nov 1 23:21:39 UTC 2010
+patches/packages/pidgin-2.7.5-x86_64-1_slack13.0.txz: Upgraded.
+ This update addresses some denial of service bugs.
+ For more information, see:
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2010-3711
+ (* Security fix *)
+patches/packages/proftpd-1.3.3c-x86_64-1_slack13.0.txz: Upgraded.
+ Fixed Telnet IAC stack overflow vulnerability (ZDI-CAN-925), which can
+ allow remote execution of arbitrary code as the user running the
+ ProFTPD daemon. Thanks to TippingPoint and the Zero Day Initiative (ZDI).
+ For more information, see:
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2010-3867
+ (* Security fix *)
++--------------------------+
+Sun Oct 31 20:25:05 UTC 2010
+patches/packages/seamonkey-2.0.10-x86_64-1_slack13.0.txz: Upgraded.
+ This release fixes some more security vulnerabilities.
+ For more information, see:
+ http://www.mozilla.org/security/known-vulnerabilities/seamonkey20.html
+ (* Security fix *)
+patches/packages/seamonkey-solibs-2.0.10-x86_64-1_slack13.0.txz: Upgraded.
++--------------------------+
+Thu Oct 28 22:13:53 UTC 2010
+patches/packages/glibc-2.9-x86_64-5_slack13.0.txz: Rebuilt.
+ Patched "The GNU C library dynamic linker will dlopen arbitrary DSOs
+ during setuid loads." This security issue allows a local attacker to
+ gain root by specifying an unsafe DSO in the library search path to be
+ used with a setuid binary in LD_AUDIT mode.
+ Bug found by Tavis Ormandy (with thanks to Ben Hawkes and Julien Tinnes).
+ For more information, see:
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2010-3856
+ http://seclists.org/fulldisclosure/2010/Oct/344
+ (* Security fix *)
+patches/packages/glibc-i18n-2.9-x86_64-5_slack13.0.txz: Rebuilt.
+patches/packages/glibc-profile-2.9-x86_64-5_slack13.0.txz: Rebuilt.
+patches/packages/glibc-solibs-2.9-x86_64-5_slack13.0.txz: Upgraded.
+ (* Security fix *)
+patches/packages/glibc-zoneinfo-2.9-noarch-5_slack13.0.txz: Upgraded.
+ Rebuilt to tzcode2010n and tzdata2010n.
+patches/packages/mozilla-firefox-3.6.12-x86_64-1_slack13.0.txz: Upgraded.
+ This fixes some security issues.
+ For more information, see:
+ http://www.mozilla.org/security/known-vulnerabilities/firefox36.html
+ (* Security fix *)
++--------------------------+
+Tue Oct 26 17:02:19 UTC 2010
+patches/packages/seamonkey-2.0.9-x86_64-1_slack13.0.txz: Upgraded.
+ This release fixes some more security vulnerabilities.
+ For more information, see:
+ http://www.mozilla.org/security/known-vulnerabilities/seamonkey20.html
+ (* Security fix *)
+patches/packages/seamonkey-solibs-2.0.9-x86_64-1_slack13.0.txz: Upgraded.
++--------------------------+
+Wed Oct 20 21:54:05 UTC 2010
+patches/packages/glibc-2.9-x86_64-4_slack13.0.txz: Rebuilt.
+ Patched "dynamic linker expands $ORIGIN in setuid library search path".
+ This security issue allows a local attacker to gain root if they can create
+ a hard link to a setuid root binary. Thanks to Tavis Ormandy.
+ For more information, see:
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2010-3847
+ http://seclists.org/fulldisclosure/2010/Oct/257
+ (* Security fix *)
+patches/packages/glibc-i18n-2.9-x86_64-4_slack13.0.txz: Rebuilt.
+patches/packages/glibc-profile-2.9-x86_64-4_slack13.0.txz: Rebuilt.
+patches/packages/glibc-solibs-2.9-x86_64-4_slack13.0.txz: Rebuilt.
+patches/packages/glibc-zoneinfo-2.9-noarch-4_slack13.0.txz: Rebuilt.
+patches/packages/mozilla-firefox-3.6.11-x86_64-1_slack13.0.txz: Upgraded.
+ This fixes some security issues.
+ For more information, see:
+ http://www.mozilla.org/security/known-vulnerabilities/firefox36.html
+ (* Security fix *)
++--------------------------+
+Mon Sep 20 18:39:57 UTC 2010
+patches/packages/bzip2-1.0.6-x86_64-1_slack13.0.txz: Upgraded.
+ This update fixes an integer overflow that could allow a specially
+ crafted bzip2 archive to cause a crash (denial of service), or execute
+ arbitrary code.
+ For more information, see:
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2010-0405
+ (* Security fix *)
++--------------------------+
+Fri Sep 17 23:34:42 UTC 2010
+patches/packages/mozilla-firefox-3.6.10-x86_64-1_slack13.0.txz: Upgraded.
+patches/packages/seamonkey-2.0.8-x86_64-1_slack13.0.txz: Upgraded.
+patches/packages/seamonkey-solibs-2.0.8-x86_64-1_slack13.0.txz: Upgraded.
++--------------------------+
+Wed Sep 15 18:51:21 UTC 2010
+patches/packages/sudo-1.7.4p4-x86_64-3_slack13.0.txz: Rebuilt.
+ Hi folks, since the patches for old systems (8.1 - 10.2) were briefly
+ available containing a /var/lib with incorrect permissions, I'm issuing
+ these again just to be 100% sure that no systems out there will be left
+ with problems due to that. This should do it (third time's the charm).
++--------------------------+
+Wed Sep 15 05:58:55 UTC 2010
+patches/packages/sudo-1.7.4p4-x86_64-2_slack13.0.txz: Rebuilt.
+ The last sudo packages accidentally changed the permissions on /var from
+ 755 to 700. This build restores the proper permissions.
+ Thanks to Petri Kaukasoina for pointing this out.
++--------------------------+
+Wed Sep 15 00:41:13 UTC 2010
+patches/packages/samba-3.2.15-x86_64-3_slack13.0.txz: Upgraded.
+ This upgrade fixes a buffer overflow in the sid_parse() function.
+ For more information, see:
+ http://www.samba.org/samba/security/CVE-2010-3069
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2010-3069
+ (* Security fix *)
+patches/packages/sudo-1.7.4p4-x86_64-1_slack13.0.txz: Upgraded.
+ This fixes a flaw that could lead to privilege escalation.
+ For more information, see:
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2010-2956
+ (* Security fix *)
++--------------------------+
+Fri Sep 10 04:07:41 UTC 2010
+patches/packages/mozilla-firefox-3.6.9-x86_64-1.txz: Upgraded.
+ This fixes some security issues.
+ For more information, see:
+ http://www.mozilla.org/security/known-vulnerabilities/firefox36.html
+ (* Security fix *)
+patches/packages/seamonkey-2.0.7-x86_64-1_slack13.0.txz: Upgraded.
+ This release fixes some more security vulnerabilities.
+ For more information, see:
+ http://www.mozilla.org/security/known-vulnerabilities/seamonkey20.html
+ (* Security fix *)
+patches/packages/seamonkey-solibs-2.0.7-x86_64-1_slack13.0.txz: Upgraded.
++--------------------------+
+Fri Aug 27 00:23:17 UTC 2010
+patches/packages/gnupg2-2.0.12-x86_64-2_slack13.0.txz: Rebuilt.
+ Patched to fix "Realloc Bug with X.509 certificates in GnuPG".
+ For more information, see:
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2010-2547
+ (* Security fix *)
+patches/packages/httpd-2.2.16-x86_64-1_slack13.0.txz: Upgraded.
+ Fix Handling of requests without a path segment.
+ For more information, see:
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2010-1452
+ (* Security fix *)
+patches/packages/php-5.2.14-x86_64-1_slack13.0.txz: Upgraded.
+ Fixed several security issues.
+ For more information, see:
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2010-1917
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2010-2225
+ http://www.php-security.org/2010/05/31/mops-2010-060-php-session-serializer-session-data-injection-vulnerability/index.html
+ http://www.php-security.org/2010/06/25/mops-2010-061-php-splobjectstorage-deserialization-use-after-free-vulnerability/index.html
+ (* Security fix *)
+patches/packages/pidgin-2.7.3-x86_64-1_slack13.0.txz: Upgraded.
+ This fixes a crash due to malformed X-Status messages.
+ For more information, see:
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2010-2528
+ (* Security fix *)
+patches/packages/xorg-server-1.6.3-x86_64-2_slack13.0.txz: Rebuilt.
+ Patched to prevent overwriting stack memory and bypassing security mechanisms
+ on systems that use a 2.6 Linux kernel. Reported by Rafal Wojtczuk.
+ For more information, see:
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2010-2240
+ (* Security fix *)
+patches/packages/xorg-server-xephyr-1.6.3-x86_64-2_slack13.0.txz: Rebuilt.
+patches/packages/xorg-server-xnest-1.6.3-x86_64-2_slack13.0.txz: Rebuilt.
+patches/packages/xorg-server-xvfb-1.6.3-x86_64-2_slack13.0.txz: Rebuilt.
++--------------------------+
+Sat Jul 24 03:02:29 UTC 2010
+patches/packages/mozilla-firefox-3.6.8-x86_64-1_slack13.0.txz: Upgraded.
+ This fixes a regression in Firefox 3.6.7.
+ For more information, see:
+ http://www.mozilla.org/security/known-vulnerabilities/firefox36.html
+ (* Security fix *)
++--------------------------+
+Wed Jul 21 21:37:53 UTC 2010
+patches/packages/mozilla-firefox-3.6.7-x86_64-1_slack13.0.txz: Upgraded.
+ This fixes some security issues.
+ For more information, see:
+ http://www.mozilla.org/security/known-vulnerabilities/firefox36.html
+ (* Security fix *)
+patches/packages/seamonkey-solibs-2.0.6-x86_64-1_slack13.0.txz: Upgraded.
+patches/packages/seamonkey-2.0.6-x86_64-1_slack13.0.txz: Upgraded.
+ This release fixes some more security vulnerabilities.
+ For more information, see:
+ http://www.mozilla.org/security/known-vulnerabilities/seamonkey20.html
+ (* Security fix *)
++--------------------------+
+Wed Jun 30 04:51:49 UTC 2010
+patches/packages/libtiff-3.8.2-x86_64-4_slack13.0.txz: Rebuilt.
+ This fixes image structure handling bugs that could lead to crashes or
+ execution of arbitrary code if a specially-crafted TIFF image is loaded.
+ For more information, see:
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2010-1411
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2010-2065
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2010-2067
+ (* Security fix *)
+patches/packages/libpng-1.2.44-x86_64-1_slack13.0.txz: Upgraded.
+ This fixes out-of-bounds memory write bugs that could lead to crashes
+ or the execution of arbitrary code, and a memory leak bug which could
+ lead to application crashes.
+ For more information, see:
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2010-1205
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2010-2249
+ (* Security fix *)
++--------------------------+
+Sun Jun 27 17:25:18 UTC 2010
+patches/packages/mozilla-firefox-3.6.6-x86_64-1_slack13.0.txz: Upgraded.
+ This changes the crash protection feature to increase the timeout
+ before a plugin is considered non-responsive.
++--------------------------+
+Fri Jun 25 05:28:02 UTC 2010
+patches/packages/bind-9.4.3_P5-x86_64-1_slack13.0.txz: Upgraded.
+ This fixes possible DNS cache poisoning attacks when DNSSEC is enabled
+ and checking is disabled (CD).
+ For more information, see:
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2009-4022
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2010-0097
+ (* Security fix *)
+patches/packages/mozilla-firefox-3.6.4-x86_64-1_slack13.0.txz: Upgraded.
+ This fixes some security issues.
+ For more information, see:
+ http://www.mozilla.org/security/known-vulnerabilities/firefox36.html
+ (* Security fix *)
+patches/packages/seamonkey-2.0.5-x86_64-1_slack13.0.txz: Upgraded.
+ This release fixes some more security vulnerabilities.
+ For more information, see:
+ http://www.mozilla.org/security/known-vulnerabilities/seamonkey20.html
+ (* Security fix *)
+patches/packages/seamonkey-solibs-2.0.5-x86_64-1_slack13.0.txz: Upgraded.
++--------------------------+
+Fri Jun 18 18:09:28 UTC 2010
+patches/packages/samba-3.2.15-x86_64-2_slack13.0.txz: Rebuilt.
+ Patched a buffer overflow in smbd that allows remote attackers to cause
+ a denial of service (memory corruption and daemon crash) or possibly
+ execute arbitrary code via a crafted field in a packet.
+ For more information, see:
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2010-2063
+ (* Security fix *)
++--------------------------+
+Tue May 18 18:30:53 UTC 2010
+patches/packages/pidgin-2.7.0-x86_64-1_slack13.0.txz: Upgraded.
+ Upgraded to pidgin-2.7.0 and pidgin-encryption-3.1.
+ The msn_emoticon_msg function in slp.c in the MSN protocol plugin in
+ libpurple in Pidgin before 2.7.0 allows remote attackers to cause
+ a denial of service (application crash) via a custom emoticon in a
+ malformed SLP message.
+ For more information, see:
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2010-1624
+ (* Security fix *)
++--------------------------+
+Sun May 16 20:01:28 UTC 2010
+patches/packages/fetchmail-6.3.17-x86_64-1_slack13.0.txz: Upgraded.
+ A crafted header or POP3 UIDL list could cause a memory leak and crash
+ leading to a denial of service.
+ For more information, see:
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2010-1167
+ (* Security fix *)
++--------------------------+
+Thu Apr 22 19:13:54 UTC 2010
+patches/packages/irssi-0.8.15-x86_64-1_slack13.0.txz: Upgraded.
+ From the NEWS file:
+ - Check if an SSL certificate matches the hostname of the server we are
+ connecting to.
+ - Fix crash when checking for fuzzy nick match when not on the channel.
+ Reported by Aurelien Delaitre (SATE 2009).
+ For more information, see:
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2010-1155
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2010-1156
+ (* Security fix *)
++--------------------------+
+Tue Apr 20 14:45:24 UTC 2010
+patches/packages/kdebase-workspace-4.2.4-x86_64-2_slack13.0.txz: Rebuilt.
+ Patched a security issue with KDM.
+ For more information, see:
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2010-0436
+ (* Security fix *)
+patches/packages/sudo-1.7.2p6-x86_64-1_slack13.0.txz: Upgraded.
+ This update fixes security issues that may give a user with permission
+ to run sudoedit the ability to run arbitrary commands.
+ For more information, see:
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2010-0426
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2010-1163
+ http://www.gratisoft.us/sudo/alerts/sudoedit_escalate.html
+ http://www.gratisoft.us/sudo/alerts/sudoedit_escalate2.html
+ (* Security fix *)
++--------------------------+
+Mon Apr 5 03:06:19 UTC 2010
+patches/packages/mozilla-firefox-3.6.3-x86_64-1_slack13.0.txz: Upgraded.
+ This fixes some security issues.
+ For more information, see:
+ http://www.mozilla.org/security/known-vulnerabilities/firefox36.html
+ (* Security fix *)
+patches/packages/mozilla-thunderbird-2.0.0.24-x86_64-1.txz: Upgraded.
+ This upgrade fixes some more security bugs.
+ For more information, see:
+ http://www.mozilla.org/security/known-vulnerabilities/thunderbird20.html
+ (* Security fix *)
+patches/packages/seamonkey-2.0.4-x86_64-1_slack13.0.txz: Upgraded.
+ This release fixes some more security vulnerabilities.
+ For more information, see:
+ http://www.mozilla.org/security/known-vulnerabilities/seamonkey20.html
+ (* Security fix *)
+patches/packages/seamonkey-solibs-2.0.4-x86_64-1_slack13.0.txz: Upgraded.
++--------------------------+
+Wed Mar 31 05:05:47 UTC 2010
+patches/packages/openssl-0.9.8n-x86_64-1_slack13.0.txz: Upgraded.
+ This OpenSSL update contains some security related bugfixes.
+ For more information, see the included CHANGES and NEWS files, and:
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2010-0433
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2010-0740
+ (* Security fix *)
+patches/packages/openssl-solibs-0.9.8n-x86_64-1_slack13.0.txz: Upgraded.
+patches/packages/proftpd-1.3.3-x86_64-2_slack13.0.txz: Rebuilt.
+patches/packages/mozilla-firefox-3.6.2-x86_64-1.txz: Upgraded.
+ Upgraded to firefox-3.6.2.
+ This fixes some security issues.
+ For more information, see:
+ http://www.mozilla.org/security/known-vulnerabilities/firefox36.html
+ (* Security fix *)
++--------------------------+
+Wed Mar 10 22:38:18 UTC 2010
+patches/packages/pidgin-2.6.6-x86_64-1_slack13.0.txz: Upgraded.
+ This fixes a few denial-of-service flaws as well as other bugs.
+ For more information, see:
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2010-0277
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2010-0420
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2010-0423
+ (* Security fix *)
++--------------------------+
+Tue Mar 9 21:31:21 UTC 2010
+patches/packages/openssl-0.9.8m-x86_64-2_slack13.0.txz: Rebuilt.
+patches/packages/openssl-solibs-0.9.8m-x86_64-2_slack13.0.txz: Rebuilt.
+ The OpenSSL package has been patched and recompiled to revert a change that
+ broke decrypting some files encrypted with previous versions of OpenSSL.
+ This same fix appears in the latest upstream snapshots.
++--------------------------+
+Mon Mar 8 20:49:02 UTC 2010
+patches/packages/httpd-2.2.15-x86_64-1_slack13.0.txz: Upgraded.
+ This update addresses a few security issues.
+ mod_ssl: A partial fix for the TLS renegotiation prefix injection attack
+ by rejecting any client-initiated renegotiations.
+ mod_proxy_ajp: Respond with HTTP_BAD_REQUEST when the body is not sent
+ when request headers indicate a request body is incoming; not a case of
+ HTTP_INTERNAL_SERVER_ERROR.
+ mod_isapi: Do not unload an isapi .dll module until the request processing
+ is completed, avoiding orphaned callback pointers.
+ [This is the most serious flaw, but does not affect Linux systems]
+ For more information, see:
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2009-3555
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2010-0408
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2010-0425
+ (* Security fix *)
++--------------------------+
+Mon Mar 1 05:02:21 UTC 2010
+patches/packages/gzip-1.4-x86_64-1_slack13.0.tgz: Upgraded.
+ gzip -d could segfault and/or clobber the stack, possibly leading to
+ arbitrary code execution. This affects x86_64 but not 32-bit systems.
+ For more information, see:
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2010-0001
+ (* Security fix *)
+patches/packages/openssl-0.9.8m-x86_64-1_slack13.0.txz: Upgraded.
+ This OpenSSL update contains some security related bugfixes.
+ For more information, see the included CHANGES and NEWS files, and:
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2008-1678
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2009-1378
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2009-1377
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2009-1379
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2009-3245
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2009-4355
+ (* Security fix *)
+patches/packages/openssl-solibs-0.9.8m-x86_64-1_slack13.0.txz: Upgraded.
+patches/packages/proftpd-1.3.3-x86_64-1_slack13.0.txz: Upgraded.
+patches/packages/seamonkey-2.0.3-x86_64-1_slack13.0.txz: Upgraded.
+ This release fixes some more security vulnerabilities.
+ For more information, see:
+ http://www.mozilla.org/security/known-vulnerabilities/seamonkey20.html
+ (* Security fix *)
+patches/packages/seamonkey-solibs-2.0.3-x86_64-1_slack13.0.txz: Upgraded.
++--------------------------+
+Sun Jan 24 20:22:46 UTC 2010
+patches/packages/httpd-2.2.14-x86_64-1_slack13.0.txz: Upgraded.
+ This fixes a couple of security bugs when using mod_proxy_ftp.
+ For more information, see:
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2009-3094
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2009-3095
+ (* Security fix *)
+patches/packages/mozilla-firefox-3.6-x86_64-1_slack13.0.txz: Upgraded.
+patches/packages/php-5.2.12-x86_64-1_slack13.0.txz: Upgraded.
+ This fixes many bugs, including a few security issues.
+ For more information, see:
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2009-3557
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2009-3558
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2009-4017
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2009-4142
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2009-4143
+ (* Security fix *)
+patches/packages/pidgin-2.6.5-x86_64-1_slack13.0.txz : Upgraded.
+ This fixes a directory traversal vulnerability in Pidgin's MSN protocol
+ handling that may allow attackers to download arbitrary files.
+ For more information, see:
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2010-0013
+ (* Security fix *)
++--------------------------+
+Sat Dec 19 00:09:53 UTC 2009
+patches/packages/seamonkey-2.0.1-x86_64-3_slack13.0.txz: Upgraded.
+ Upgraded to seamonkey-2.0.1 shared libraries.
+patches/packages/seamonkey-solibs-2.0.1-x86_64-3_slack13.0.txz: Upgraded.
+ Upgraded to seamonkey-2.0.1.
+ This release fixes some more security vulnerabilities.
+ For more information, see:
+ http://www.mozilla.org/security/known-vulnerabilities/seamonkey20.html
+ (* Security fix *)
++--------------------------+
+Thu Dec 17 20:51:37 UTC 2009
+patches/packages/cairo-1.8.8-x86_64-1_slack13.0.txz: Upgraded.
+ Firefox 3.5.6 requires a new cairo to fix a bug on Windows. :-/
+patches/packages/mozilla-firefox-3.5.6-x86_64-1_slack13.0.txz: Upgraded.
+ Upgraded to firefox-3.5.6.
+ This fixes some security issues.
+ For more information, see:
+ http://www.mozilla.org/security/known-vulnerabilities/firefox35.html
+ (* Security fix *)
++--------------------------+
+Sat Dec 12 04:51:11 UTC 2009
+patches/packages/gimp-2.6.8-x86_64-1_slack13.0.txz: Upgraded.
+ This fixes integer overflows in the image handling plugins that could
+ lead to the execution of arbitrary code or an application crash if a
+ malicious image is loaded.
+ For more information, see:
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2009-1570
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2009-3909
+ (* Security fix *)
++--------------------------+
+Thu Dec 10 00:12:58 UTC 2009
+patches/packages/ntp-4.2.4p8-x86_64-1_slack13.0.txz: Upgraded.
+ Prevent a denial-of-service attack involving spoofed mode 7 packets.
+ For more information, see:
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2009-3563
+ (* Security fix *)
++--------------------------+
+Tue Dec 8 20:44:44 UTC 2009
+patches/packages/linux-2.6.29.6-3/:
+ Added new kernels and kernel packages with a patch for CVE-2009-1298,
+ a kernel bug where oversized IP packets cause a NULL pointer dereference
+ and immediate hang.
+ For more information, see:
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2009-1298
+ http://lkml.org/lkml/2009/11/25/104
+ Be sure to reinstall LILO after upgrading the kernel packages.
+ (* Security fix *)
++--------------------------+
+Wed Dec 2 20:51:55 UTC 2009
+patches/packages/bind-9.4.3_P4-x86_64-1_slack13.0.txz: Upgraded.
+ BIND 9.4.3-P4 is a SECURITY PATCH for BIND 9.4.3-P3. It addresses a
+ potential cache poisoning vulnerability, in which data in the additional
+ section of a response could be cached without proper DNSSEC validation.
+ For more information, see:
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2009-4022
+ http://www.kb.cert.org/vuls/id/418861
+ (* Security fix *)
++--------------------------+
+Mon Nov 16 18:56:26 UTC 2009
+patches/packages/openssl-0.9.8k-x86_64-3_slack13.0.txz: Rebuilt.
+ Patched to disable SSL renegotiation.
+ For more information, see:
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2009-3555
+ (* Security fix *)
+patches/packages/openssl-solibs-0.9.8k-x86_64-3_slack13.0.txz: Rebuilt.
+ Patched to disable SSL renegotiation.
+ For more information, see:
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2009-3555
+ (* Security fix *)
+patches/packages/seamonkey-2.0-x86_64-3_slack13.0.txz: Rebuilt.
+ Restored header files needed to build vlc and other programs.
+patches/packages/seamonkey-solibs-2.0-x86_64-3_slack13.0.txz: Rebuilt.
++--------------------------+
+Wed Nov 11 21:17:19 UTC 2009
+patches/packages/seamonkey-2.0-x86_64-2_slack13.0.txz: Rebuilt.
+patches/packages/seamonkey-solibs-2.0-x86_64-2_slack13.0.txz: Rebuilt.
+ As of version 2.0, SeaMonkey no longer includes a shared libgtkmozembed
+ library, so the pkgconfig and header files for this have been removed from
+ the package to avoid confusion over why trying to compile programs that
+ use it no longer works. There's not really any way to avoid this issue --
+ it's either upgrade SeaMonkey and lose libgtkmozembed, or keep using version
+ 1.1.18 and miss out on SeaMonkey security updates. If you really need
+ libgtkmozembed, the seamonkey-1.1.18 packages will be retained in either
+ /patches or /pasture for Slackware versions 13.0 and earlier.
++--------------------------+
+Sun Nov 8 04:14:58 UTC 2009
+patches/packages/mozilla-firefox-3.5.5-x86_64-1_slack13.0.txz: Upgraded.
+ Upgraded to firefox-3.5.5.
+ This fixes some stability bugs.
+patches/packages/seamonkey-2.0-x86_64-1_slack13.0.txz: Upgraded.
+ Upgraded to seamonkey-2.0.
+patches/packages/seamonkey-solibs-2.0-x86_64-1_slack13.0.txz: Upgraded.
++--------------------------+
+Mon Nov 2 20:41:16 UTC 2009
+patches/packages/mozilla-firefox-3.5.4-x86_64-1_slack13.0.txz: Upgraded.
+ Upgraded to firefox-3.5.4.
+ This fixes some security issues.
+ For more information, see:
+ http://www.mozilla.org/security/known-vulnerabilities/firefox35.html
+ (* Security fix *)
++--------------------------+
+Wed Oct 28 22:50:35 UTC 2009
+patches/packages/poppler-0.10.7-x86_64-2_slack13.0.txz: Rebuilt.
+ This updated package includes patches based on xpdf 3.02pl4.
+ For more information, see:
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2009-3603
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2009-3604
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2009-3605
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2009-3606
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2009-3608
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2009-3609
+ (* Security fix *)
+patches/packages/xpdf-3.02pl4-x86_64-1_slack13.0.tgz: Upgraded.
+ This update fixes several security issues that could lead to an
+ application crash, or execution of arbitrary code.
+ For more information, see:
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2009-3603
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2009-3604
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2009-3605
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2009-3606
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2009-3608
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2009-3609
+ (* Security fix *)
++--------------------------+
+Sat Oct 17 23:56:15 UTC 2009
+patches/packages/gnutls-2.8.4-x86_64-1_slack13.0.txz:
+ This contains a correct fix for the NUL in CN/SAN SSL vulnerability.
+ For more information, see:
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2009-2730
+ (* Security fix *)
+patches/packages/pidgin-2.6.3-x86_64-1_slack13.0.txz:
+ This update fixes an issue where a remote user can cause libpurple-based
+ clients to crash.
+ For more information, see:
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2009-3615
+ (* Security fix *)
++--------------------------+
+Sat Oct 3 18:19:00 CDT 2009
+patches/packages/php-5.2.11-x86_64-1_slack13.0.txz:
+ This release fixes some possible security issues, all of which have
+ "unknown impact and attack vectors".
+ For more information, see:
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2009-3291
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2009-3292
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2009-3293
+ (* Security fix *)
+patches/packages/samba-3.2.15-x86_64-1_slack13.0.txz:
+ This update fixes the following security issues.
+ A misconfigured /etc/passwd with no defined home directory could allow
+ security restrictions to be bypassed.
+ mount.cifs could allow a local user to read the first line of an arbitrary
+ file if installed setuid. (On Slackware, it was not installed setuid)
+ Specially crafted SMB requests could cause a denial of service.
+ For more information, see:
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2009-2813
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2009-2948
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2009-2906
+ (* Security fix *)
++--------------------------+
+Sat Sep 19 16:48:50 CDT 2009
+patches/packages/mesa-7.5-x86_64-2.txz: Rebuilt.
+ Fixed install script to add glxinfo and other programs that were part
+ of previous Mesa patches. I was under the impression that these no longer
+ built, and had been deprecated upstream. Thanks to Adam Kirchhoff for
+ setting me straight on that.
++--------------------------+
+Mon Sep 14 01:38:35 CDT 2009
+patches/packages/mozilla-firefox-3.5.3-x86_64-1.txz: Upgraded.
+ Upgraded to firefox-3.5.3.
+ This fixes some security issues.
+ For more information, see:
+ http://www.mozilla.org/security/known-vulnerabilities/firefox35.html
+ (* Security fix *)
++--------------------------+
+Fri Sep 11 20:17:06 CDT 2009
+patches/packages/seamonkey-solibs-1.1.18-x86_64-2.txz: Rebuilt.
+ Added libnssutil3.so, as several other libraries in the package depend
+ on it, and otherwise it is found only in the main seamonkey package
+ (which sort of defeats the purpose of this one).
+ Thanks to Grigorios Bouzakis for the bug report.
++--------------------------+
+Mon Sep 7 15:51:10 CDT 2009
+patches/packages/seamonkey-1.1.18-x86_64-1.txz:
+ Upgraded to seamonkey-1.1.18 shared libraries.
+ (* Security fix *)
+patches/packages/seamonkey-solibs-1.1.18-x86_64-1.txz:
+ Upgraded to seamonkey-1.1.18.
+ This release fixes some more security vulnerabilities.
+ For more information, see:
+ http://www.mozilla.org/security/known-vulnerabilities/seamonkey11.html
+ (* Security fix *)
++--------------------------+
Wed Aug 26 10:00:38 CDT 2009
Slackware 13.0 x86_64 is released as stable! Thanks to everyone who
helped make this release possible -- see the RELEASE_NOTES for the
diff --git a/FILELIST.TXT b/FILELIST.TXT
index 1d4c84c0..ad620525 100644
--- a/FILELIST.TXT
+++ b/FILELIST.TXT
@@ -1,23 +1,23 @@
-Wed Aug 26 16:45:17 UTC 2009
+Fri May 25 23:46:17 UTC 2018
Here is the file list for this directory. If you are using a
mirror site and find missing or extra files in the disk
subdirectories, please have the archive administrator refresh
the mirror.
-drwxr-xr-x 11 root root 4096 2009-08-26 16:44 .
+drwxr-xr-x 11 root root 4096 2018-05-25 23:29 .
-rw-r--r-- 1 root root 10116 2009-08-26 14:01 ./ANNOUNCE.13_0
-rw-r--r-- 1 root root 20933 2006-10-02 04:36 ./BOOTING.TXT
-rw-r--r-- 1 root root 16707 2009-08-26 00:32 ./CHANGES_AND_HINTS.TXT
--rw-r--r-- 1 root root 631081 2009-08-26 15:20 ./CHECKSUMS.md5
--rw-r--r-- 1 root root 197 2009-08-26 15:20 ./CHECKSUMS.md5.asc
+-rw-r--r-- 1 root root 735361 2018-05-10 01:43 ./CHECKSUMS.md5
+-rw-r--r-- 1 root root 163 2018-05-10 01:43 ./CHECKSUMS.md5.asc
-rw-r--r-- 1 root root 17976 1994-06-10 02:28 ./COPYING
-rw-r--r-- 1 root root 35147 2007-06-30 04:21 ./COPYING3
-rw-r--r-- 1 root root 19531 2009-08-26 02:07 ./COPYRIGHT.TXT
-rw-r--r-- 1 root root 616 2006-10-02 04:37 ./CRYPTO_NOTICE.TXT
--rw-r--r-- 1 root root 70342 2009-08-26 15:01 ./ChangeLog.txt
--rw-r--r-- 1 root root 823491 2009-08-26 15:18 ./FILELIST.TXT
--rw-r--r-- 1 root root 1565 2003-02-26 23:34 ./GPG-KEY
+-rw-r--r-- 1 root root 264883 2018-05-25 23:29 ./ChangeLog.txt
+-rw-r--r-- 1 root root 972075 2018-05-10 01:43 ./FILELIST.TXT
+-rw-r--r-- 1 root root 1572 2012-08-29 18:27 ./GPG-KEY
-rw-r--r-- 1 root root 518105 2009-08-26 15:15 ./PACKAGES.TXT
-rw-r--r-- 1 root root 9634 2009-08-26 02:12 ./README.TXT
-rw-r--r-- 1 root root 3723 2009-08-18 22:19 ./README.initrd
@@ -28,12 +28,12 @@ drwxr-xr-x 11 root root 4096 2009-08-26 16:44 .
-rw-r--r-- 1 root root 13855 2008-12-08 18:13 ./SPEAKUP_DOCS.TXT
-rw-r--r-- 1 root root 17294 2008-12-08 18:13 ./SPEAK_INSTALL.TXT
-rw-r--r-- 1 root root 57204 2009-08-26 14:19 ./Slackware-HOWTO
-drwxr-xr-x 18 root root 4096 2009-08-26 15:12 ./extra
--rw-r--r-- 1 root root 33318 2009-08-26 15:12 ./extra/CHECKSUMS.md5
--rw-r--r-- 1 root root 197 2009-08-26 15:12 ./extra/CHECKSUMS.md5.asc
--rw-r--r-- 1 root root 42466 2009-08-26 15:11 ./extra/FILE_LIST
--rw-r--r-- 1 root root 274995 2009-08-26 15:12 ./extra/MANIFEST.bz2
--rw-r--r-- 1 root root 36016 2009-08-26 15:12 ./extra/PACKAGES.TXT
+drwxr-xr-x 18 root root 4096 2012-04-23 18:32 ./extra
+-rw-r--r-- 1 root root 33360 2012-04-23 18:32 ./extra/CHECKSUMS.md5
+-rw-r--r-- 1 root root 198 2012-04-23 18:32 ./extra/CHECKSUMS.md5.asc
+-rw-r--r-- 1 root root 42938 2012-04-23 18:32 ./extra/FILE_LIST
+-rw-r--r-- 1 root root 275530 2012-04-23 18:32 ./extra/MANIFEST.bz2
+-rw-r--r-- 1 root root 36024 2012-04-23 18:32 ./extra/PACKAGES.TXT
-rw-r--r-- 1 root root 149 2002-02-09 00:18 ./extra/README.TXT
drwxr-xr-x 2 root root 20480 2009-08-14 20:40 ./extra/aspell-word-lists
-rw-r--r-- 1 root root 171 2008-10-03 20:55 ./extra/aspell-word-lists/aspell-af-0.50_0-noarch-4.txt
@@ -292,7 +292,7 @@ drwxr-xr-x 2 root root 4096 2009-08-21 04:03 ./extra/brltty
-rw-r--r-- 1 root root 326 2009-08-20 03:38 ./extra/brltty/brltty-4.0-x86_64-1.txt
-rw-r--r-- 1 root root 948368 2009-08-20 03:38 ./extra/brltty/brltty-4.0-x86_64-1.txz
-rw-r--r-- 1 root root 197 2009-08-20 03:38 ./extra/brltty/brltty-4.0-x86_64-1.txz.asc
-lrwxrwxrwx 1 root root 25 2009-08-26 16:30 ./extra/flashplayer-plugin -> source/flashplayer-plugin
+lrwxrwxrwx 1 root root 25 2009-08-28 04:24 ./extra/flashplayer-plugin -> source/flashplayer-plugin
drwxr-xr-x 2 root root 4096 2009-08-14 20:41 ./extra/jdk-6
-rw-r--r-- 1 root root 402 2009-08-13 21:17 ./extra/jdk-6/jdk-6u16-x86_64-1.txt
-rw-r--r-- 1 root root 69476144 2009-08-13 21:17 ./extra/jdk-6/jdk-6u16-x86_64-1.txz
@@ -331,7 +331,7 @@ drwxr-xr-x 2 root root 4096 2009-07-18 02:15 ./extra/slacktrack
-rw-r--r-- 1 root root 464 2009-07-17 19:08 ./extra/slacktrack/slacktrack-2.06-x86_64-1.txt
-rw-r--r-- 1 root root 94400 2009-07-17 19:08 ./extra/slacktrack/slacktrack-2.06-x86_64-1.txz
-rw-r--r-- 1 root root 197 2009-07-17 19:08 ./extra/slacktrack/slacktrack-2.06-x86_64-1.txz.asc
-drwxr-xr-x 18 root root 4096 2009-08-26 05:02 ./extra/source
+drwxr-xr-x 18 root root 4096 2012-04-23 18:11 ./extra/source
drwxr-xr-x 2 root root 4096 2009-07-15 22:32 ./extra/source/bash-completion
-rw-r--r-- 1 root root 102357 2006-03-01 16:40 ./extra/source/bash-completion/bash-completion-20060301.tar.bz2
-rw-r--r-- 1 root root 449 2009-07-15 21:46 ./extra/source/bash-completion/bash-completion-xz.diff.gz
@@ -361,19 +361,19 @@ drwxr-xr-x 2 root root 4096 2009-05-19 21:29 ./extra/source/grub
-rw-r--r-- 1 root root 466 2007-06-06 03:32 ./extra/source/grub/grubconfig_localefix.patch.gz
-rw-r--r-- 1 root root 959 2005-09-01 15:26 ./extra/source/grub/slack-desc
drwxr-xr-x 3 root root 4096 2009-08-13 21:39 ./extra/source/jdk-6
--r--r--r-- 1 root root 3767 2009-07-02 22:54 ./extra/source/jdk-6/COPYRIGHT
+-rw-r--r-- 1 root root 3767 2009-07-02 22:54 ./extra/source/jdk-6/COPYRIGHT
-rw-r--r-- 1 root root 270 2009-06-18 02:36 ./extra/source/jdk-6/HOWTO-BUILD-TXZ
--r--r--r-- 1 root root 17179 2009-07-02 22:54 ./extra/source/jdk-6/LICENSE
--r--r--r-- 1 root root 28329 2009-07-02 22:54 ./extra/source/jdk-6/README.html
--r--r--r-- 1 root root 25390 2009-07-02 22:54 ./extra/source/jdk-6/README_ja.html
--r--r--r-- 1 root root 20768 2009-07-02 22:54 ./extra/source/jdk-6/README_zh_CN.html
+-rw-r--r-- 1 root root 17179 2009-07-02 22:54 ./extra/source/jdk-6/LICENSE
+-rw-r--r-- 1 root root 28329 2009-07-02 22:54 ./extra/source/jdk-6/README.html
+-rw-r--r-- 1 root root 25390 2009-07-02 22:54 ./extra/source/jdk-6/README_ja.html
+-rw-r--r-- 1 root root 20768 2009-07-02 22:54 ./extra/source/jdk-6/README_zh_CN.html
-rwxr-xr-x 1 root root 3894 2009-08-13 21:13 ./extra/source/jdk-6/jdk.SlackBuild
drwxr-xr-x 2 root root 4096 2007-09-01 23:13 ./extra/source/jdk-6/profile.d
-rwxr-xr-x 1 root root 143 2007-08-29 00:32 ./extra/source/jdk-6/profile.d/jdk.csh
-rwxr-xr-x 1 root root 146 2007-08-29 00:33 ./extra/source/jdk-6/profile.d/jdk.sh
--r--r--r-- 1 root root 5295 2009-08-06 00:48 ./extra/source/jdk-6/register.html
--r--r--r-- 1 root root 5727 2009-08-06 00:48 ./extra/source/jdk-6/register_ja.html
--r--r--r-- 1 root root 4905 2009-08-06 00:48 ./extra/source/jdk-6/register_zh_CN.html
+-rw-r--r-- 1 root root 5295 2009-08-06 00:48 ./extra/source/jdk-6/register.html
+-rw-r--r-- 1 root root 5727 2009-08-06 00:48 ./extra/source/jdk-6/register_ja.html
+-rw-r--r-- 1 root root 4905 2009-08-06 00:48 ./extra/source/jdk-6/register_zh_CN.html
-rw-r--r-- 1 root root 857 2009-08-13 21:13 ./extra/source/jdk-6/slack-desc
drwxr-xr-x 6 root root 4096 2009-06-19 18:53 ./extra/source/kde3-compat
drwxr-xr-x 2 root root 4096 2008-09-15 18:16 ./extra/source/kde3-compat/arts
@@ -434,12 +434,12 @@ drwxr-xr-x 2 root root 4096 2009-06-03 00:11 ./extra/source/tightvnc
-rw-r--r-- 1 root root 1549080 2009-03-06 05:15 ./extra/source/tightvnc/tightvnc-1.3.10_unixsrc.tar.xz
-rwxr-xr-- 1 root root 4093 2009-06-14 18:18 ./extra/source/tightvnc/tightvnc.SlackBuild
-rw-r--r-- 1 root root 728 2009-06-02 21:57 ./extra/source/tightvnc/tightvnc.paths-and-perms.diff.gz
-drwxr-xr-x 2 root root 4096 2009-08-26 03:57 ./extra/source/wicd
--rw-r--r-- 1 root root 775 2009-06-21 04:34 ./extra/source/wicd/README.SLACKWARE
--rw-r--r-- 1 root root 500 2009-05-30 01:47 ./extra/source/wicd/doinst.sh.gz
+drwxr-xr-x 2 root root 4096 2012-04-14 16:40 ./extra/source/wicd
+-rw-r--r-- 1 root root 719 2012-03-19 16:58 ./extra/source/wicd/README.SLACKWARE
+-rw-r--r-- 1 root root 512 2012-03-12 01:39 ./extra/source/wicd/doinst.sh.gz
-rw-r--r-- 1 root root 863 2009-06-05 15:22 ./extra/source/wicd/slack-desc
--rw-r--r-- 1 root root 385828 2009-08-26 03:56 ./extra/source/wicd/wicd-1.6.2.1.tar.bz2
--rwxr-xr-x 1 root root 2678 2009-08-26 03:40 ./extra/source/wicd/wicd.SlackBuild
+-rw-r--r-- 1 root root 328396 2012-04-12 20:06 ./extra/source/wicd/wicd-1.7.2.1.tar.xz
+-rwxr-xr-x 1 root root 3219 2012-04-22 19:20 ./extra/source/wicd/wicd.SlackBuild
drwxr-xr-x 2 root root 4096 2009-03-08 01:06 ./extra/source/xfce-goodies
drwxr-xr-x 2 root root 4096 2009-05-19 19:16 ./extra/source/yasm
-rw-r--r-- 1 root root 1047 2008-06-16 08:56 ./extra/source/yasm/slack-desc
@@ -449,11 +449,11 @@ drwxr-xr-x 2 root root 4096 2009-06-03 23:48 ./extra/tightvnc
-rw-r--r-- 1 root root 530 2009-06-03 00:11 ./extra/tightvnc/tightvnc-1.3.10-x86_64-1.txt
-rw-r--r-- 1 root root 777368 2009-06-03 00:11 ./extra/tightvnc/tightvnc-1.3.10-x86_64-1.txz
-rw-r--r-- 1 root root 197 2009-06-03 00:11 ./extra/tightvnc/tightvnc-1.3.10-x86_64-1.txz.asc
-drwxr-xr-x 2 root root 4096 2009-08-26 15:11 ./extra/wicd
--rw-r--r-- 1 root root 775 2009-06-21 04:34 ./extra/wicd/README.SLACKWARE
--rw-r--r-- 1 root root 407 2009-08-26 04:30 ./extra/wicd/wicd-1.6.2.1-x86_64-1.txt
--rw-r--r-- 1 root root 347028 2009-08-26 04:30 ./extra/wicd/wicd-1.6.2.1-x86_64-1.txz
--rw-r--r-- 1 root root 197 2009-08-26 04:30 ./extra/wicd/wicd-1.6.2.1-x86_64-1.txz.asc
+drwxr-xr-x 2 root root 4096 2012-04-23 18:32 ./extra/wicd
+-rw-r--r-- 1 root root 719 2012-03-19 16:58 ./extra/wicd/README.SLACKWARE
+-rw-r--r-- 1 root root 407 2012-04-22 19:21 ./extra/wicd/wicd-1.7.2.1-x86_64-1_slack13.0.txt
+-rw-r--r-- 1 root root 358292 2012-04-22 19:21 ./extra/wicd/wicd-1.7.2.1-x86_64-1_slack13.0.txz
+-rw-r--r-- 1 root root 198 2012-04-22 19:21 ./extra/wicd/wicd-1.7.2.1-x86_64-1_slack13.0.txz.asc
drwxr-xr-x 2 root root 4096 2009-08-26 15:11 ./extra/xf86-video-intel-alternate
-rw-r--r-- 1 root root 400 2009-07-16 22:32 ./extra/xf86-video-intel-alternate/xf86-video-intel-2.5.1-x86_64-1.txt
-rw-r--r-- 1 root root 215412 2009-07-16 22:32 ./extra/xf86-video-intel-alternate/xf86-video-intel-2.5.1-x86_64-1.txz
@@ -484,7 +484,7 @@ drwxr-xr-x 2 root root 4096 2003-03-17 07:31 ./isolinux/sbootmgr
-rwxr-xr-x 1 root root 36064 1995-05-12 01:23 ./isolinux/sbootmgr/RAWRITE.EXE
-rw-r--r-- 1 root root 2138 1997-12-01 01:21 ./isolinux/sbootmgr/RAWRITE12.DOC
-rwxr-xr-x 1 root root 13052 1997-12-01 01:21 ./isolinux/sbootmgr/RAWRITE12.EXE
-lrwxrwxrwx 1 root root 11 2009-08-26 16:31 ./isolinux/sbootmgr/RAWRITE13.EXE -> RAWRITE.EXE
+lrwxrwxrwx 1 root root 11 2009-08-28 04:24 ./isolinux/sbootmgr/RAWRITE13.EXE -> RAWRITE.EXE
-rw-r--r-- 1 root root 6170 2000-08-29 08:23 ./isolinux/sbootmgr/RAWRITENT.DOC
-rwxr-xr-x 1 root root 24576 2000-08-29 08:26 ./isolinux/sbootmgr/RAWRITENT.EXE
-rw-r--r-- 1 root root 1291 2003-03-17 07:31 ./isolinux/sbootmgr/README.TXT
@@ -501,161 +501,1587 @@ drwxr-xr-x 2 root root 4096 2009-08-17 17:22 ./kernels/speakup.s
-rw-r--r-- 1 root root 5037536 2009-08-17 17:05 ./kernels/speakup.s/bzImage
-rw-r--r-- 1 root root 91169 2009-08-17 17:03 ./kernels/speakup.s/config
-rw-r--r-- 1 root root 11015 2009-08-17 17:13 ./kernels/speakup.s/speakup_decpc.ko
-drwxr-xr-x 3 root root 4096 2009-05-19 20:55 ./pasture
--rw-r--r-- 1 root root 0 1993-07-11 05:00 ./pasture/CHECKSUMS.md5.asc
-drwxr-xr-x 2 root root 4096 2009-05-19 20:16 ./pasture/source
-drwxr-xr-x 3 root root 4096 2006-09-25 06:28 ./slackbook
-drwxr-xr-x 11 root root 4096 2006-09-25 06:25 ./slackbook/html
--rw-r--r-- 1 root root 3259 2005-05-12 01:37 ./slackbook/html/TRADEMARKS.html
--rw-r--r-- 1 root root 4361 2005-04-23 19:49 ./slackbook/html/archive-files-bzip2.html
--rw-r--r-- 1 root root 9821 2005-05-10 15:25 ./slackbook/html/archive-files-tar.html
--rw-r--r-- 1 root root 3978 2005-04-23 19:49 ./slackbook/html/archive-files-zip.html
--rw-r--r-- 1 root root 5345 2005-04-23 19:49 ./slackbook/html/archive-files.html
-drwxr-xr-x 2 root root 4096 2006-09-25 06:25 ./slackbook/html/basic-network-commands
--rw-r--r-- 1 root root 6838 2005-05-12 01:37 ./slackbook/html/basic-network-commands-dns.html
--rw-r--r-- 1 root root 9768 2005-05-05 12:47 ./slackbook/html/basic-network-commands-email.html
--rw-r--r-- 1 root root 4453 2005-05-05 12:47 ./slackbook/html/basic-network-commands-finger.html
--rw-r--r-- 1 root root 9338 2005-05-12 01:37 ./slackbook/html/basic-network-commands-ftp.html
--rw-r--r-- 1 root root 3890 2005-04-23 19:49 ./slackbook/html/basic-network-commands-ssh.html
--rw-r--r-- 1 root root 6210 2005-05-12 01:37 ./slackbook/html/basic-network-commands-talk.html
--rw-r--r-- 1 root root 6298 2005-05-12 01:37 ./slackbook/html/basic-network-commands-telnet.html
--rw-r--r-- 1 root root 4092 2005-05-05 12:47 ./slackbook/html/basic-network-commands-traceroute.html
--rw-r--r-- 1 root root 7857 2005-05-12 01:37 ./slackbook/html/basic-network-commands-web.html
--rw-r--r-- 1 root root 5418 2005-05-12 01:37 ./slackbook/html/basic-network-commands.html
--rw-r--r-- 1 root root 3421 2005-05-01 07:38 ./slackbook/html/basic-network-commands/elm.png
--rw-r--r-- 1 root root 5204 2005-05-01 07:38 ./slackbook/html/basic-network-commands/links.png
--rw-r--r-- 1 root root 7544 2005-05-01 07:38 ./slackbook/html/basic-network-commands/lynx.png
--rw-r--r-- 1 root root 2489 2005-05-01 07:38 ./slackbook/html/basic-network-commands/mutt.png
--rw-r--r-- 1 root root 4689 2005-05-01 07:38 ./slackbook/html/basic-network-commands/pine.png
--rw-r--r-- 1 root root 491 2005-05-01 07:38 ./slackbook/html/basic-network-commands/talk.png
--rw-r--r-- 1 root root 952 2005-05-01 07:38 ./slackbook/html/basic-network-commands/ytalk.png
--rw-r--r-- 1 root root 13925 2005-05-05 12:47 ./slackbook/html/book-preface.html
--rw-r--r-- 1 root root 517269 2005-05-12 01:38 ./slackbook/html/book.html
-drwxr-xr-x 2 root root 4096 2006-09-25 06:25 ./slackbook/html/booting
--rw-r--r-- 1 root root 12607 2005-05-12 01:37 ./slackbook/html/booting-dual.html
--rw-r--r-- 1 root root 4110 2005-04-23 19:49 ./slackbook/html/booting-loadlin.html
--rw-r--r-- 1 root root 8952 2005-05-05 12:47 ./slackbook/html/booting.html
--rw-r--r-- 1 root root 6986 2005-05-01 10:05 ./slackbook/html/booting/setup-lilo-expert-w.png
--rw-r--r-- 1 root root 5824 2005-05-01 10:05 ./slackbook/html/booting/setup-lilo-w.png
--rw-r--r-- 1 root root 2950 2005-04-24 18:51 ./slackbook/html/docbook.css
-drwxr-xr-x 2 root root 4096 2006-09-25 06:25 ./slackbook/html/emacs
--rw-r--r-- 1 root root 7301 2005-04-24 12:49 ./slackbook/html/emacs-basic-editing.html
--rw-r--r-- 1 root root 4989 2005-05-05 12:47 ./slackbook/html/emacs-buffers.html
--rw-r--r-- 1 root root 6305 2005-05-05 12:47 ./slackbook/html/emacs-modes.html
--rw-r--r-- 1 root root 4466 2005-05-05 12:47 ./slackbook/html/emacs-saving-files.html
--rw-r--r-- 1 root root 7785 2005-05-12 01:37 ./slackbook/html/emacs.html
--rw-r--r-- 1 root root 7842 2005-04-24 16:56 ./slackbook/html/emacs/emacs.png
--rw-r--r-- 1 root root 9989 2005-05-05 12:47 ./slackbook/html/essential-sysadmin-hardusers.html
--rw-r--r-- 1 root root 10340 2005-05-05 12:47 ./slackbook/html/essential-sysadmin-shutdown.html
--rw-r--r-- 1 root root 18830 2005-05-05 12:47 ./slackbook/html/essential-sysadmin.html
--rw-r--r-- 1 root root 5492 2005-05-12 01:37 ./slackbook/html/file-commands-copymove.html
--rw-r--r-- 1 root root 4959 2005-05-12 01:37 ./slackbook/html/file-commands-creation.html
--rw-r--r-- 1 root root 6218 2005-05-12 01:37 ./slackbook/html/file-commands-deletion.html
--rw-r--r-- 1 root root 4034 2005-04-25 16:19 ./slackbook/html/file-commands-link.html
--rw-r--r-- 1 root root 5596 2005-05-12 01:37 ./slackbook/html/file-commands-output.html
--rw-r--r-- 1 root root 5798 2005-05-12 01:37 ./slackbook/html/file-commands-pagers.html
--rw-r--r-- 1 root root 10160 2005-05-12 01:37 ./slackbook/html/file-commands.html
--rw-r--r-- 1 root root 4506 2005-04-25 15:47 ./slackbook/html/filesystem-structure-links.html
--rw-r--r-- 1 root root 8053 2005-05-12 01:37 ./slackbook/html/filesystem-structure-mounting.html
--rw-r--r-- 1 root root 3139 2005-04-15 07:18 ./slackbook/html/filesystem-structure-nfs.html
--rw-r--r-- 1 root root 10810 2005-05-12 01:37 ./slackbook/html/filesystem-structure-permissions.html
--rw-r--r-- 1 root root 6249 2005-05-05 12:47 ./slackbook/html/filesystem-structure.html
--rw-r--r-- 1 root root 18013 2005-05-05 12:47 ./slackbook/html/glossary.html
--rw-r--r-- 1 root root 21544 2005-05-12 01:37 ./slackbook/html/gpl.html
--rw-r--r-- 1 root root 9377 2006-06-20 20:42 ./slackbook/html/help-online.html
--rw-r--r-- 1 root root 10039 2005-05-12 01:37 ./slackbook/html/help.html
-drwxr-xr-x 3 root root 4096 2006-09-25 06:25 ./slackbook/html/imagelib
-drwxr-xr-x 2 root root 4096 2006-09-25 06:25 ./slackbook/html/imagelib/admon
--rw-r--r-- 1 root root 338 2005-04-24 14:04 ./slackbook/html/imagelib/admon/note.png
--rw-r--r-- 1 root root 1090 2005-04-24 14:04 ./slackbook/html/imagelib/admon/warning.png
--rw-r--r-- 1 root root 27647 2005-05-12 01:37 ./slackbook/html/index.html
-drwxr-xr-x 2 root root 4096 2006-09-25 06:25 ./slackbook/html/installation
--rw-r--r-- 1 root root 9134 2005-04-24 14:04 ./slackbook/html/installation-partitioning.html
--rw-r--r-- 1 root root 13788 2005-05-12 01:37 ./slackbook/html/installation-requirements.html
--rw-r--r-- 1 root root 17913 2005-05-12 01:37 ./slackbook/html/installation-setup.html
--rw-r--r-- 1 root root 6196 2005-05-12 01:37 ./slackbook/html/installation.html
--rw-r--r-- 1 root root 4010 2005-05-01 09:28 ./slackbook/html/installation/setup-bootdisk-w.png
--rw-r--r-- 1 root root 3856 2005-05-01 09:28 ./slackbook/html/installation/setup-font-w.png
--rw-r--r-- 1 root root 3916 2005-05-01 09:28 ./slackbook/html/installation/setup-hardware-clock-w.png
--rw-r--r-- 1 root root 4715 2005-05-01 09:28 ./slackbook/html/installation/setup-help-w.png
--rw-r--r-- 1 root root 7100 2005-05-01 09:28 ./slackbook/html/installation/setup-install-w.png
--rw-r--r-- 1 root root 6442 2005-05-01 09:28 ./slackbook/html/installation/setup-kernel-w.png
--rw-r--r-- 1 root root 4526 2005-05-01 09:28 ./slackbook/html/installation/setup-keymap-w.png
--rw-r--r-- 1 root root 5824 2005-05-01 09:28 ./slackbook/html/installation/setup-lilo-w.png
--rw-r--r-- 1 root root 5356 2005-05-01 09:28 ./slackbook/html/installation/setup-modem-w.png
--rw-r--r-- 1 root root 6516 2005-05-01 09:28 ./slackbook/html/installation/setup-mouse-w.png
--rw-r--r-- 1 root root 5705 2005-05-01 09:28 ./slackbook/html/installation/setup-program-w.png
--rw-r--r-- 1 root root 6817 2005-05-01 09:28 ./slackbook/html/installation/setup-select-w.png
--rw-r--r-- 1 root root 3238 2005-05-01 09:28 ./slackbook/html/installation/setup-source-w.png
--rw-r--r-- 1 root root 3066 2005-05-01 09:28 ./slackbook/html/installation/setup-swap-w.png
--rw-r--r-- 1 root root 3153 2005-05-01 09:28 ./slackbook/html/installation/setup-target-w.png
--rw-r--r-- 1 root root 3593 2005-05-01 09:28 ./slackbook/html/installation/setup-timezone-w.png
--rw-r--r-- 1 root root 6767 2005-05-01 09:28 ./slackbook/html/installation/setup-xwmconfig-w.png
--rw-r--r-- 1 root root 6602 2005-05-05 12:47 ./slackbook/html/introduction-opensource.html
--rw-r--r-- 1 root root 4353 2005-04-15 07:18 ./slackbook/html/introduction-slackware.html
--rw-r--r-- 1 root root 5703 2005-05-05 12:47 ./slackbook/html/introduction.html
--rw-r--r-- 1 root root 9336 2005-05-07 01:34 ./slackbook/html/network-configuration-hardware.html
--rw-r--r-- 1 root root 13205 2005-05-07 01:34 ./slackbook/html/network-configuration-nfs.html
--rw-r--r-- 1 root root 5671 2005-05-12 01:37 ./slackbook/html/network-configuration-ppp.html
--rw-r--r-- 1 root root 14339 2005-05-07 01:34 ./slackbook/html/network-configuration-tcpip.html
--rw-r--r-- 1 root root 8762 2005-05-12 01:37 ./slackbook/html/network-configuration-wireless.html
--rw-r--r-- 1 root root 4503 2005-05-07 01:34 ./slackbook/html/network-configuration.html
-drwxr-xr-x 2 root root 4096 2006-09-25 06:25 ./slackbook/html/package-management
--rw-r--r-- 1 root root 5411 2005-05-05 12:47 ./slackbook/html/package-management-making-packages.html
--rw-r--r-- 1 root root 4408 2005-05-12 01:37 ./slackbook/html/package-management-making-tags-and-tagfiles.html
--rw-r--r-- 1 root root 11962 2005-05-12 01:37 ./slackbook/html/package-management-package-utilities.html
--rw-r--r-- 1 root root 5784 2005-05-10 15:35 ./slackbook/html/package-management.html
--rw-r--r-- 1 root root 5817 2005-05-01 10:05 ./slackbook/html/package-management/pkgtool-view-w.png
--rw-r--r-- 1 root root 4784 2005-05-01 10:05 ./slackbook/html/package-management/pkgtool-w.png
--rw-r--r-- 1 root root 4873 2005-04-25 15:56 ./slackbook/html/process-control-foregrounding.html
--rw-r--r-- 1 root root 6934 2005-05-05 12:47 ./slackbook/html/process-control-kill.html
--rw-r--r-- 1 root root 11978 2005-05-09 18:46 ./slackbook/html/process-control-ps.html
--rw-r--r-- 1 root root 7703 2005-04-23 19:49 ./slackbook/html/process-control-top.html
--rw-r--r-- 1 root root 5264 2005-04-25 22:24 ./slackbook/html/process-control.html
--rw-r--r-- 1 root root 5421 2005-05-10 14:53 ./slackbook/html/security-current.html
--rw-r--r-- 1 root root 9659 2005-05-10 14:53 ./slackbook/html/security-host.html
--rw-r--r-- 1 root root 7349 2005-05-12 01:37 ./slackbook/html/security.html
--rw-r--r-- 1 root root 9018 2005-05-05 12:47 ./slackbook/html/shell-bash.html
--rw-r--r-- 1 root root 12375 2005-05-09 16:13 ./slackbook/html/shell-command-line.html
--rw-r--r-- 1 root root 6609 2005-05-12 01:37 ./slackbook/html/shell-vt.html
--rw-r--r-- 1 root root 6764 2005-05-12 01:37 ./slackbook/html/shell.html
--rw-r--r-- 1 root root 3675 2005-05-03 13:25 ./slackbook/html/slackware_logo.png
-drwxr-xr-x 2 root root 4096 2006-09-25 06:25 ./slackbook/html/system-configuration
--rw-r--r-- 1 root root 14395 2005-05-12 01:37 ./slackbook/html/system-configuration-kernel.html
--rw-r--r-- 1 root root 21909 2005-05-12 01:37 ./slackbook/html/system-configuration.html
--rw-r--r-- 1 root root 6421 2005-05-01 10:05 ./slackbook/html/system-configuration/make-menuconfig-w.png
-drwxr-xr-x 2 root root 4096 2006-09-25 06:25 ./slackbook/html/vi
--rw-r--r-- 1 root root 4292 2005-04-24 14:17 ./slackbook/html/vi-configuration.html
--rw-r--r-- 1 root root 6414 2005-05-12 01:37 ./slackbook/html/vi-keys.html
--rw-r--r-- 1 root root 9546 2005-05-12 01:37 ./slackbook/html/vi-modes.html
--rw-r--r-- 1 root root 4019 2005-04-24 14:17 ./slackbook/html/vi-opening-files.html
--rw-r--r-- 1 root root 3434 2005-04-23 21:44 ./slackbook/html/vi-quitting-vi.html
--rw-r--r-- 1 root root 3698 2005-04-23 19:49 ./slackbook/html/vi-saving-files.html
--rw-r--r-- 1 root root 7379 2005-05-05 12:47 ./slackbook/html/vi.html
--rw-r--r-- 1 root root 3515 2005-05-01 07:38 ./slackbook/html/vi/vim-splitedit.png
-drwxr-xr-x 2 root root 4096 2006-09-25 06:25 ./slackbook/html/x-window-system
--rw-r--r-- 1 root root 7131 2005-04-23 19:49 ./slackbook/html/x-window-system-xdm.html
--rw-r--r-- 1 root root 5093 2005-05-05 12:47 ./slackbook/html/x-window-system-xinitrc.html
--rw-r--r-- 1 root root 3027 2005-04-23 19:49 ./slackbook/html/x-window-system-xorgsetup.html
--rw-r--r-- 1 root root 6352 2005-05-05 12:47 ./slackbook/html/x-window-system-xwmconfig.html
--rw-r--r-- 1 root root 9651 2005-05-09 14:36 ./slackbook/html/x-window-system.html
--rw-r--r-- 1 root root 4003 2005-05-01 10:05 ./slackbook/html/x-window-system/xorgconfig1-w.png
--rw-r--r-- 1 root root 6872 2005-05-01 10:05 ./slackbook/html/x-window-system/xorgconfig2-w.png
--rw-r--r-- 1 root root 3069 2005-05-01 10:05 ./slackbook/html/x-window-system/xorgconfig3-w.png
--rw-r--r-- 1 root root 5245 2005-05-01 10:05 ./slackbook/html/x-window-system/xorgconfig4-w.png
--rw-r--r-- 1 root root 6767 2005-05-01 10:05 ./slackbook/html/x-window-system/xwmconfig-w.png
--rw-r--r-- 1 root root 3839 2005-05-05 12:47 ./slackbook/html/zipslack-booting.html
--rw-r--r-- 1 root root 4577 2005-05-05 12:47 ./slackbook/html/zipslack-getting.html
--rw-r--r-- 1 root root 4260 2005-04-24 13:06 ./slackbook/html/zipslack.html
--rw-r--r-- 1 root root 1863038 2005-05-16 20:23 ./slackbook/slackbook-2.0.pdf
--rw-r--r-- 1 root root 3223923 2005-05-16 14:53 ./slackbook/slackbook-2.0.ps
+drwxr-xr-x 3 root root 4096 2009-11-11 21:38 ./pasture
+-rw-r--r-- 1 root root 1713 2009-11-11 21:38 ./pasture/CHECKSUMS.md5
+-rw-r--r-- 1 root root 197 2009-11-11 21:38 ./pasture/CHECKSUMS.md5.asc
+-rw-r--r-- 1 root root 1843 2009-11-11 21:38 ./pasture/FILE_LIST
+-rw-r--r-- 1 root root 333644 2009-11-11 21:38 ./pasture/MANIFEST.bz2
+-rw-r--r-- 1 root root 1897 2009-11-11 21:38 ./pasture/PACKAGES.TXT
+-rw-r--r-- 1 root root 534 2009-09-06 23:39 ./pasture/seamonkey-1.1.18-x86_64-1.txt
+-rw-r--r-- 1 root root 13643016 2009-09-06 23:39 ./pasture/seamonkey-1.1.18-x86_64-1.txz
+-rw-r--r-- 1 root root 197 2009-09-06 23:39 ./pasture/seamonkey-1.1.18-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 782 2009-09-12 00:25 ./pasture/seamonkey-solibs-1.1.18-x86_64-2.txt
+-rw-r--r-- 1 root root 1311284 2009-09-12 00:25 ./pasture/seamonkey-solibs-1.1.18-x86_64-2.txz
+-rw-r--r-- 1 root root 197 2009-09-12 00:25 ./pasture/seamonkey-solibs-1.1.18-x86_64-2.txz.asc
+drwxr-xr-x 3 root root 4096 2009-11-10 00:52 ./pasture/source
+drwxr-xr-x 2 root root 4096 2009-09-06 23:27 ./pasture/source/seamonkey
+-rw-r--r-- 1 root root 231 2007-06-01 23:47 ./pasture/source/seamonkey/doinst.sh.gz
+-rw-r--r-- 1 root root 29433692 2009-08-28 23:03 ./pasture/source/seamonkey/seamonkey-1.1.18.source.tar.xz
+-rw-r--r-- 1 root root 12796 2006-02-09 03:17 ./pasture/source/seamonkey/seamonkey-icon.png
+-rw-r--r-- 1 root root 185 2006-02-09 03:40 ./pasture/source/seamonkey/seamonkey-mail-icon.png
+-rw-r--r-- 1 root root 207 2006-02-09 03:23 ./pasture/source/seamonkey/seamonkey-mail.desktop
+-rwxr-xr-x 1 root root 8649 2009-09-12 00:17 ./pasture/source/seamonkey/seamonkey.SlackBuild
+-rw-r--r-- 1 root root 178 2006-02-09 03:23 ./pasture/source/seamonkey/seamonkey.desktop
+-rw-r--r-- 1 root root 333 2007-02-20 03:25 ./pasture/source/seamonkey/seamonkey.moz_plugin_path.diff.gz
+-rw-r--r-- 1 root root 246 2009-09-06 23:27 ./pasture/source/seamonkey/seamonkey.sqlite3.static.diff.gz
+-rw-r--r-- 1 root root 994 2006-02-09 02:07 ./pasture/source/seamonkey/slack-desc
+drwxr-xr-x 4 root root 4096 2018-05-25 23:46 ./patches
+-rw-r--r-- 1 root root 93443 2018-05-25 23:46 ./patches/CHECKSUMS.md5
+-rw-r--r-- 1 root root 163 2018-05-25 23:46 ./patches/CHECKSUMS.md5.asc
+-rw-r--r-- 1 root root 137074 2018-05-25 23:46 ./patches/FILE_LIST
+-rw-r--r-- 1 root root 2613937 2018-05-25 23:46 ./patches/MANIFEST.bz2
+-rw-r--r-- 1 root root 68796 2018-05-25 23:46 ./patches/PACKAGES.TXT
+drwxr-xr-x 3 root root 20480 2018-05-25 23:45 ./patches/packages
+-rw-r--r-- 1 root root 625 2016-01-25 20:48 ./patches/packages/MPlayer-1.2_20160125-x86_64-1_slack13.0.txt
+-rw-r--r-- 1 root root 12761124 2016-01-25 20:48 ./patches/packages/MPlayer-1.2_20160125-x86_64-1_slack13.0.txz
+-rw-r--r-- 1 root root 181 2016-01-25 20:48 ./patches/packages/MPlayer-1.2_20160125-x86_64-1_slack13.0.txz.asc
+-rw-r--r-- 1 root root 416 2011-04-18 19:58 ./patches/packages/acl-2.2.50-x86_64-1_slack13.0.txt
+-rw-r--r-- 1 root root 136344 2011-04-18 19:58 ./patches/packages/acl-2.2.50-x86_64-1_slack13.0.txz
+-rw-r--r-- 1 root root 198 2011-04-18 19:58 ./patches/packages/acl-2.2.50-x86_64-1_slack13.0.txz.asc
+-rw-r--r-- 1 root root 275 2011-05-25 19:09 ./patches/packages/apr-1.4.5-x86_64-1_slack13.0.txt
+-rw-r--r-- 1 root root 198184 2011-05-25 19:09 ./patches/packages/apr-1.4.5-x86_64-1_slack13.0.txz
+-rw-r--r-- 1 root root 198 2011-05-25 19:09 ./patches/packages/apr-1.4.5-x86_64-1_slack13.0.txz.asc
+-rw-r--r-- 1 root root 483 2012-02-07 17:06 ./patches/packages/apr-util-1.4.1-x86_64-1_slack13.0.txt
+-rw-r--r-- 1 root root 109628 2012-02-07 17:06 ./patches/packages/apr-util-1.4.1-x86_64-1_slack13.0.txz
+-rw-r--r-- 1 root root 198 2012-02-07 17:06 ./patches/packages/apr-util-1.4.1-x86_64-1_slack13.0.txz.asc
+-rw-r--r-- 1 root root 510 2014-11-07 19:34 ./patches/packages/bash-3.1.023-x86_64-1_slack13.0.txt
+-rw-r--r-- 1 root root 635092 2014-11-07 19:34 ./patches/packages/bash-3.1.023-x86_64-1_slack13.0.txz
+-rw-r--r-- 1 root root 181 2014-11-07 19:34 ./patches/packages/bash-3.1.023-x86_64-1_slack13.0.txz.asc
+-rw-r--r-- 1 root root 336 2018-01-17 03:02 ./patches/packages/bind-9.9.11_P1-x86_64-1_slack13.0.txt
+-rw-r--r-- 1 root root 2192280 2018-01-17 03:02 ./patches/packages/bind-9.9.11_P1-x86_64-1_slack13.0.txz
+-rw-r--r-- 1 root root 163 2018-01-17 03:02 ./patches/packages/bind-9.9.11_P1-x86_64-1_slack13.0.txz.asc
+-rw-r--r-- 1 root root 478 2010-09-20 17:59 ./patches/packages/bzip2-1.0.6-x86_64-1_slack13.0.txt
+-rw-r--r-- 1 root root 129116 2010-09-20 17:59 ./patches/packages/bzip2-1.0.6-x86_64-1_slack13.0.txz
+-rw-r--r-- 1 root root 198 2010-09-20 17:59 ./patches/packages/bzip2-1.0.6-x86_64-1_slack13.0.txz.asc
+-rw-r--r-- 1 root root 394 2009-12-16 19:56 ./patches/packages/cairo-1.8.8-x86_64-1_slack13.0.txt
+-rw-r--r-- 1 root root 375972 2009-12-16 19:56 ./patches/packages/cairo-1.8.8-x86_64-1_slack13.0.txz
+-rw-r--r-- 1 root root 197 2009-12-16 19:56 ./patches/packages/cairo-1.8.8-x86_64-1_slack13.0.txz.asc
+-rw-r--r-- 1 root root 525 2012-01-17 02:35 ./patches/packages/coreutils-8.15-x86_64-1_slack13.0.txt
+-rw-r--r-- 1 root root 2207048 2012-01-17 02:35 ./patches/packages/coreutils-8.15-x86_64-1_slack13.0.txz
+-rw-r--r-- 1 root root 198 2012-01-17 02:35 ./patches/packages/coreutils-8.15-x86_64-1_slack13.0.txz.asc
+-rw-r--r-- 1 root root 644 2015-07-07 19:23 ./patches/packages/cups-1.3.11-x86_64-3_slack13.0.txt
+-rw-r--r-- 1 root root 2061772 2015-07-07 19:23 ./patches/packages/cups-1.3.11-x86_64-3_slack13.0.txz
+-rw-r--r-- 1 root root 181 2015-07-07 19:23 ./patches/packages/cups-1.3.11-x86_64-3_slack13.0.txz.asc
+-rw-r--r-- 1 root root 555 2017-08-09 19:42 ./patches/packages/curl-7.55.0-x86_64-1_slack13.0.txt
+-rw-r--r-- 1 root root 1146460 2017-08-09 19:42 ./patches/packages/curl-7.55.0-x86_64-1_slack13.0.txz
+-rw-r--r-- 1 root root 163 2017-08-09 19:42 ./patches/packages/curl-7.55.0-x86_64-1_slack13.0.txz.asc
+-rw-r--r-- 1 root root 644 2018-02-28 21:51 ./patches/packages/dhcp-4.4.1-x86_64-1_slack13.0.txt
+-rw-r--r-- 1 root root 1781392 2018-02-28 21:51 ./patches/packages/dhcp-4.4.1-x86_64-1_slack13.0.txz
+-rw-r--r-- 1 root root 163 2018-02-28 21:51 ./patches/packages/dhcp-4.4.1-x86_64-1_slack13.0.txz.asc
+-rw-r--r-- 1 root root 443 2011-07-29 18:09 ./patches/packages/dhcpcd-3.2.3-x86_64-2_slack13.0.txt
+-rw-r--r-- 1 root root 36844 2011-07-29 18:09 ./patches/packages/dhcpcd-3.2.3-x86_64-2_slack13.0.txz
+-rw-r--r-- 1 root root 198 2011-07-29 18:09 ./patches/packages/dhcpcd-3.2.3-x86_64-2_slack13.0.txz.asc
+-rw-r--r-- 1 root root 444 2017-10-02 17:01 ./patches/packages/dnsmasq-2.78-x86_64-1_slack13.0.txt
+-rw-r--r-- 1 root root 325684 2017-10-02 17:01 ./patches/packages/dnsmasq-2.78-x86_64-1_slack13.0.txz
+-rw-r--r-- 1 root root 163 2017-10-02 17:01 ./patches/packages/dnsmasq-2.78-x86_64-1_slack13.0.txz.asc
+-rw-r--r-- 1 root root 471 2017-09-12 18:47 ./patches/packages/emacs-25.3-x86_64-1_slack13.0.txt
+-rw-r--r-- 1 root root 41351120 2017-09-12 18:47 ./patches/packages/emacs-25.3-x86_64-1_slack13.0.txz
+-rw-r--r-- 1 root root 163 2017-09-12 18:47 ./patches/packages/emacs-25.3-x86_64-1_slack13.0.txz.asc
+-rw-r--r-- 1 root root 264 2017-07-18 05:22 ./patches/packages/expat-2.2.2-x86_64-1_slack13.0.txt
+-rw-r--r-- 1 root root 105960 2017-07-18 05:22 ./patches/packages/expat-2.2.2-x86_64-1_slack13.0.txz
+-rw-r--r-- 1 root root 163 2017-07-18 05:22 ./patches/packages/expat-2.2.2-x86_64-1_slack13.0.txz.asc
+-rw-r--r-- 1 root root 607 2011-06-20 00:19 ./patches/packages/fetchmail-6.3.20-x86_64-1_slack13.0.txt
+-rw-r--r-- 1 root root 593072 2011-06-20 00:19 ./patches/packages/fetchmail-6.3.20-x86_64-1_slack13.0.txz
+-rw-r--r-- 1 root root 198 2011-06-20 00:19 ./patches/packages/fetchmail-6.3.20-x86_64-1_slack13.0.txz.asc
+-rw-r--r-- 1 root root 363 2016-10-27 05:52 ./patches/packages/fixesproto-5.0-x86_64-1_slack13.0.txt
+-rw-r--r-- 1 root root 14596 2016-10-27 05:52 ./patches/packages/fixesproto-5.0-x86_64-1_slack13.0.txz
+-rw-r--r-- 1 root root 163 2016-10-27 05:52 ./patches/packages/fixesproto-5.0-x86_64-1_slack13.0.txz.asc
+-rw-r--r-- 1 root root 344 2017-05-16 06:06 ./patches/packages/freetype-2.5.5-x86_64-2_slack13.0.txt
+-rw-r--r-- 1 root root 457808 2017-05-16 06:06 ./patches/packages/freetype-2.5.5-x86_64-2_slack13.0.txz
+-rw-r--r-- 1 root root 163 2017-05-16 06:06 ./patches/packages/freetype-2.5.5-x86_64-2_slack13.0.txz.asc
+-rw-r--r-- 1 root root 473 2009-12-11 23:45 ./patches/packages/gimp-2.6.8-x86_64-1_slack13.0.txt
+-rw-r--r-- 1 root root 9911556 2009-12-11 23:45 ./patches/packages/gimp-2.6.8-x86_64-1_slack13.0.txz
+-rw-r--r-- 1 root root 197 2009-12-11 23:45 ./patches/packages/gimp-2.6.8-x86_64-1_slack13.0.txz.asc
+-rw-r--r-- 1 root root 397 2017-08-11 20:27 ./patches/packages/git-2.14.1-x86_64-1_slack13.0.txt
+-rw-r--r-- 1 root root 5253668 2017-08-11 20:27 ./patches/packages/git-2.14.1-x86_64-1_slack13.0.txz
+-rw-r--r-- 1 root root 163 2017-08-11 20:27 ./patches/packages/git-2.14.1-x86_64-1_slack13.0.txz.asc
+-rw-r--r-- 1 root root 389 2015-01-28 05:37 ./patches/packages/glibc-2.9-x86_64-7_slack13.0.txt
+-rw-r--r-- 1 root root 10980512 2015-01-28 05:37 ./patches/packages/glibc-2.9-x86_64-7_slack13.0.txz
+-rw-r--r-- 1 root root 181 2015-01-28 05:37 ./patches/packages/glibc-2.9-x86_64-7_slack13.0.txz.asc
+-rw-r--r-- 1 root root 333 2015-01-28 05:36 ./patches/packages/glibc-i18n-2.9-x86_64-7_slack13.0.txt
+-rw-r--r-- 1 root root 5998828 2015-01-28 05:36 ./patches/packages/glibc-i18n-2.9-x86_64-7_slack13.0.txz
+-rw-r--r-- 1 root root 181 2015-01-28 05:36 ./patches/packages/glibc-i18n-2.9-x86_64-7_slack13.0.txz.asc
+-rw-r--r-- 1 root root 508 2015-01-28 05:35 ./patches/packages/glibc-profile-2.9-x86_64-7_slack13.0.txt
+-rw-r--r-- 1 root root 1097428 2015-01-28 05:35 ./patches/packages/glibc-profile-2.9-x86_64-7_slack13.0.txz
+-rw-r--r-- 1 root root 181 2015-01-28 05:35 ./patches/packages/glibc-profile-2.9-x86_64-7_slack13.0.txz.asc
+-rw-r--r-- 1 root root 323 2015-01-28 05:36 ./patches/packages/glibc-solibs-2.9-x86_64-7_slack13.0.txt
+-rw-r--r-- 1 root root 2364408 2015-01-28 05:36 ./patches/packages/glibc-solibs-2.9-x86_64-7_slack13.0.txz
+-rw-r--r-- 1 root root 181 2015-01-28 05:36 ./patches/packages/glibc-solibs-2.9-x86_64-7_slack13.0.txz.asc
+-rw-r--r-- 1 root root 504 2018-05-24 18:05 ./patches/packages/glibc-zoneinfo-2018e-noarch-2_slack13.0.txt
+-rw-r--r-- 1 root root 193904 2018-05-24 18:05 ./patches/packages/glibc-zoneinfo-2018e-noarch-2_slack13.0.txz
+-rw-r--r-- 1 root root 163 2018-05-24 18:05 ./patches/packages/glibc-zoneinfo-2018e-noarch-2_slack13.0.txz.asc
+-rw-r--r-- 1 root root 371 2017-08-02 03:17 ./patches/packages/gnupg-1.4.22-x86_64-1_slack13.0.txt
+-rw-r--r-- 1 root root 1150920 2017-08-02 03:17 ./patches/packages/gnupg-1.4.22-x86_64-1_slack13.0.txz
+-rw-r--r-- 1 root root 163 2017-08-02 03:17 ./patches/packages/gnupg-1.4.22-x86_64-1_slack13.0.txz.asc
+-rw-r--r-- 1 root root 601 2010-08-19 19:45 ./patches/packages/gnupg2-2.0.12-x86_64-2_slack13.0.txt
+-rw-r--r-- 1 root root 1579132 2010-08-19 19:45 ./patches/packages/gnupg2-2.0.12-x86_64-2_slack13.0.txz
+-rw-r--r-- 1 root root 198 2010-08-19 19:45 ./patches/packages/gnupg2-2.0.12-x86_64-2_slack13.0.txz.asc
+-rw-r--r-- 1 root root 493 2014-06-06 01:51 ./patches/packages/gnutls-2.8.4-x86_64-4_slack13.0.txt
+-rw-r--r-- 1 root root 1510200 2014-06-06 01:51 ./patches/packages/gnutls-2.8.4-x86_64-4_slack13.0.txz
+-rw-r--r-- 1 root root 181 2014-06-06 01:51 ./patches/packages/gnutls-2.8.4-x86_64-4_slack13.0.txz.asc
+-rw-r--r-- 1 root root 126624 2010-02-09 02:58 ./patches/packages/gzip-1.4-x86_64-1_slack13.0.tgz
+-rw-r--r-- 1 root root 197 2010-02-09 02:58 ./patches/packages/gzip-1.4-x86_64-1_slack13.0.tgz.asc
+-rw-r--r-- 1 root root 315 2010-02-09 02:58 ./patches/packages/gzip-1.4-x86_64-1_slack13.0.txt
+-rw-r--r-- 1 root root 477 2013-08-20 21:28 ./patches/packages/hplip-3.9.4b-x86_64-3_slack13.0.txt
+-rw-r--r-- 1 root root 9521400 2013-08-20 21:28 ./patches/packages/hplip-3.9.4b-x86_64-3_slack13.0.txz
+-rw-r--r-- 1 root root 198 2013-08-20 21:28 ./patches/packages/hplip-3.9.4b-x86_64-3_slack13.0.txz.asc
+-rw-r--r-- 1 root root 514 2017-09-18 17:47 ./patches/packages/httpd-2.2.34-x86_64-2_slack13.0.txt
+-rw-r--r-- 1 root root 1720128 2017-09-18 17:47 ./patches/packages/httpd-2.2.34-x86_64-2_slack13.0.txz
+-rw-r--r-- 1 root root 163 2017-09-18 17:47 ./patches/packages/httpd-2.2.34-x86_64-2_slack13.0.txz.asc
+-rw-r--r-- 1 root root 359 2016-10-27 05:48 ./patches/packages/inputproto-2.3.2-noarch-1_slack13.0.txt
+-rw-r--r-- 1 root root 89780 2016-10-27 05:48 ./patches/packages/inputproto-2.3.2-noarch-1_slack13.0.txz
+-rw-r--r-- 1 root root 163 2016-10-27 05:48 ./patches/packages/inputproto-2.3.2-noarch-1_slack13.0.txz.asc
+-rw-r--r-- 1 root root 333 2017-06-07 18:52 ./patches/packages/irssi-0.8.21-x86_64-2_slack13.0.txt
+-rw-r--r-- 1 root root 1099956 2017-06-07 18:52 ./patches/packages/irssi-0.8.21-x86_64-2_slack13.0.txz
+-rw-r--r-- 1 root root 163 2017-06-07 18:52 ./patches/packages/irssi-0.8.21-x86_64-2_slack13.0.txz.asc
+-rw-r--r-- 1 root root 390 2015-10-15 22:10 ./patches/packages/jasper-1.900.1-x86_64-3_slack13.0.txt
+-rw-r--r-- 1 root root 156992 2015-10-15 22:10 ./patches/packages/jasper-1.900.1-x86_64-3_slack13.0.txz
+-rw-r--r-- 1 root root 181 2015-10-15 22:10 ./patches/packages/jasper-1.900.1-x86_64-3_slack13.0.txz.asc
+-rw-r--r-- 1 root root 366 2010-04-20 05:32 ./patches/packages/kdebase-workspace-4.2.4-x86_64-2_slack13.0.txt
+-rw-r--r-- 1 root root 51615048 2010-04-20 05:32 ./patches/packages/kdebase-workspace-4.2.4-x86_64-2_slack13.0.txz
+-rw-r--r-- 1 root root 198 2010-04-20 05:32 ./patches/packages/kdebase-workspace-4.2.4-x86_64-2_slack13.0.txz.asc
+-rw-r--r-- 1 root root 305 2016-10-27 05:37 ./patches/packages/libX11-1.6.4-x86_64-1_slack13.0.txt
+-rw-r--r-- 1 root root 2040344 2016-10-27 05:37 ./patches/packages/libX11-1.6.4-x86_64-1_slack13.0.txz
+-rw-r--r-- 1 root root 163 2016-10-27 05:37 ./patches/packages/libX11-1.6.4-x86_64-1_slack13.0.txz.asc
+-rw-r--r-- 1 root root 366 2017-11-29 07:07 ./patches/packages/libXcursor-1.1.15-x86_64-1_slack13.0.txt
+-rw-r--r-- 1 root root 41892 2017-11-29 07:07 ./patches/packages/libXcursor-1.1.15-x86_64-1_slack13.0.txz
+-rw-r--r-- 1 root root 163 2017-11-29 07:07 ./patches/packages/libXcursor-1.1.15-x86_64-1_slack13.0.txz.asc
+-rw-r--r-- 1 root root 335 2016-10-27 05:50 ./patches/packages/libXext-1.3.3-x86_64-1_slack13.0.txt
+-rw-r--r-- 1 root root 114532 2016-10-27 05:50 ./patches/packages/libXext-1.3.3-x86_64-1_slack13.0.txz
+-rw-r--r-- 1 root root 163 2016-10-27 05:50 ./patches/packages/libXext-1.3.3-x86_64-1_slack13.0.txz.asc
+-rw-r--r-- 1 root root 351 2016-10-27 05:52 ./patches/packages/libXfixes-5.0.3-x86_64-1_slack13.0.txt
+-rw-r--r-- 1 root root 23864 2016-10-27 05:52 ./patches/packages/libXfixes-5.0.3-x86_64-1_slack13.0.txz
+-rw-r--r-- 1 root root 163 2016-10-27 05:52 ./patches/packages/libXfixes-5.0.3-x86_64-1_slack13.0.txz.asc
+-rw-r--r-- 1 root root 575 2017-11-29 06:37 ./patches/packages/libXfont-1.4.7-x86_64-2_slack13.0.txt
+-rw-r--r-- 1 root root 134352 2017-11-29 06:37 ./patches/packages/libXfont-1.4.7-x86_64-2_slack13.0.txz
+-rw-r--r-- 1 root root 163 2017-11-29 06:37 ./patches/packages/libXfont-1.4.7-x86_64-2_slack13.0.txz.asc
+-rw-r--r-- 1 root root 293 2016-10-27 05:53 ./patches/packages/libXi-1.7.8-x86_64-1_slack13.0.txt
+-rw-r--r-- 1 root root 155136 2016-10-27 05:53 ./patches/packages/libXi-1.7.8-x86_64-1_slack13.0.txz
+-rw-r--r-- 1 root root 163 2016-10-27 05:53 ./patches/packages/libXi-1.7.8-x86_64-1_slack13.0.txz.asc
+-rw-r--r-- 1 root root 361 2016-10-27 05:56 ./patches/packages/libXrandr-1.5.1-x86_64-1_slack13.0.txt
+-rw-r--r-- 1 root root 37552 2016-10-27 05:56 ./patches/packages/libXrandr-1.5.1-x86_64-1_slack13.0.txz
+-rw-r--r-- 1 root root 163 2016-10-27 05:56 ./patches/packages/libXrandr-1.5.1-x86_64-1_slack13.0.txz.asc
+-rw-r--r-- 1 root root 377 2016-10-27 05:58 ./patches/packages/libXrender-0.9.10-x86_64-1_slack13.0.txt
+-rw-r--r-- 1 root root 34044 2016-10-27 05:58 ./patches/packages/libXrender-0.9.10-x86_64-1_slack13.0.txz
+-rw-r--r-- 1 root root 163 2016-10-27 05:58 ./patches/packages/libXrender-0.9.10-x86_64-1_slack13.0.txz.asc
+-rw-r--r-- 1 root root 334 2016-10-27 06:00 ./patches/packages/libXtst-1.2.3-x86_64-1_slack13.0.txt
+-rw-r--r-- 1 root root 41532 2016-10-27 06:00 ./patches/packages/libXtst-1.2.3-x86_64-1_slack13.0.txz
+-rw-r--r-- 1 root root 163 2016-10-27 06:00 ./patches/packages/libXtst-1.2.3-x86_64-1_slack13.0.txz.asc
+-rw-r--r-- 1 root root 321 2016-10-27 06:01 ./patches/packages/libXv-1.0.11-x86_64-1_slack13.0.txt
+-rw-r--r-- 1 root root 47220 2016-10-27 06:01 ./patches/packages/libXv-1.0.11-x86_64-1_slack13.0.txz
+-rw-r--r-- 1 root root 163 2016-10-27 06:01 ./patches/packages/libXv-1.0.11-x86_64-1_slack13.0.txz.asc
+-rw-r--r-- 1 root root 319 2016-10-27 06:03 ./patches/packages/libXvMC-1.0.10-x86_64-1_slack13.0.txt
+-rw-r--r-- 1 root root 33100 2016-10-27 06:03 ./patches/packages/libXvMC-1.0.10-x86_64-1_slack13.0.txz
+-rw-r--r-- 1 root root 163 2016-10-27 06:03 ./patches/packages/libXvMC-1.0.10-x86_64-1_slack13.0.txz.asc
+-rw-r--r-- 1 root root 397 2012-07-18 03:24 ./patches/packages/libexif-0.6.21-x86_64-1_slack13.0.txt
+-rw-r--r-- 1 root root 322340 2012-07-18 03:24 ./patches/packages/libexif-0.6.21-x86_64-1_slack13.0.txz
+-rw-r--r-- 1 root root 198 2012-07-18 03:24 ./patches/packages/libexif-0.6.21-x86_64-1_slack13.0.txz.asc
+-rw-r--r-- 1 root root 245 2016-08-23 18:25 ./patches/packages/libgcrypt-1.5.6-x86_64-1_slack13.0.txt
+-rw-r--r-- 1 root root 406976 2016-08-23 18:25 ./patches/packages/libgcrypt-1.5.6-x86_64-1_slack13.0.txz
+-rw-r--r-- 1 root root 163 2016-08-23 18:25 ./patches/packages/libgcrypt-1.5.6-x86_64-1_slack13.0.txz.asc
+-rw-r--r-- 1 root root 393 2013-08-02 04:16 ./patches/packages/libgpg-error-1.11-x86_64-1_slack13.0.txt
+-rw-r--r-- 1 root root 82644 2013-08-02 04:16 ./patches/packages/libgpg-error-1.11-x86_64-1_slack13.0.txz
+-rw-r--r-- 1 root root 198 2013-08-02 04:16 ./patches/packages/libgpg-error-1.11-x86_64-1_slack13.0.txz.asc
+-rw-r--r-- 1 root root 336 2018-04-01 19:14 ./patches/packages/libidn-1.34-x86_64-1_slack13.0.txt
+-rw-r--r-- 1 root root 298512 2018-04-01 19:14 ./patches/packages/libidn-1.34-x86_64-1_slack13.0.txz
+-rw-r--r-- 1 root root 163 2018-04-01 19:14 ./patches/packages/libidn-1.34-x86_64-1_slack13.0.txz.asc
+-rw-r--r-- 1 root root 662 2013-12-14 06:09 ./patches/packages/libjpeg-6b-x86_64-6_slack13.0.txt
+-rw-r--r-- 1 root root 228324 2013-12-14 06:09 ./patches/packages/libjpeg-6b-x86_64-6_slack13.0.txz
+-rw-r--r-- 1 root root 198 2013-12-14 06:09 ./patches/packages/libjpeg-6b-x86_64-6_slack13.0.txz.asc
+-rw-r--r-- 1 root root 492 2016-12-30 17:02 ./patches/packages/libpng-1.2.57-x86_64-1_slack13.0.txt
+-rw-r--r-- 1 root root 314392 2016-12-30 17:02 ./patches/packages/libpng-1.2.57-x86_64-1_slack13.0.txz
+-rw-r--r-- 1 root root 163 2016-12-30 17:02 ./patches/packages/libpng-1.2.57-x86_64-1_slack13.0.txz.asc
+-rw-r--r-- 1 root root 394 2013-10-17 23:23 ./patches/packages/libtiff-3.9.7-x86_64-1_slack13.0.txt
+-rw-r--r-- 1 root root 473376 2013-10-17 23:23 ./patches/packages/libtiff-3.9.7-x86_64-1_slack13.0.txz
+-rw-r--r-- 1 root root 198 2013-10-17 23:23 ./patches/packages/libtiff-3.9.7-x86_64-1_slack13.0.txz.asc
+-rw-r--r-- 1 root root 288 2018-04-30 22:06 ./patches/packages/libwmf-0.2.8.4-x86_64-5_slack13.0.txt
+-rw-r--r-- 1 root root 964916 2018-04-30 22:06 ./patches/packages/libwmf-0.2.8.4-x86_64-5_slack13.0.txz
+-rw-r--r-- 1 root root 163 2018-04-30 22:06 ./patches/packages/libwmf-0.2.8.4-x86_64-5_slack13.0.txz.asc
+-rw-r--r-- 1 root root 446 2016-11-15 19:53 ./patches/packages/libxcb-1.11.1-x86_64-2_slack13.0.txt
+-rw-r--r-- 1 root root 879356 2016-11-15 19:53 ./patches/packages/libxcb-1.11.1-x86_64-2_slack13.0.txz
+-rw-r--r-- 1 root root 163 2016-11-15 19:53 ./patches/packages/libxcb-1.11.1-x86_64-2_slack13.0.txz.asc
+-rw-r--r-- 1 root root 522 2012-12-06 03:24 ./patches/packages/libxml2-2.7.3-x86_64-5_slack13.0.txt
+-rw-r--r-- 1 root root 1385896 2012-12-06 03:24 ./patches/packages/libxml2-2.7.3-x86_64-5_slack13.0.txz
+-rw-r--r-- 1 root root 198 2012-12-06 03:24 ./patches/packages/libxml2-2.7.3-x86_64-5_slack13.0.txz.asc
+drwxr-xr-x 3 root root 4096 2009-12-08 06:40 ./patches/packages/linux-2.6.29.6-3
+-rw-r--r-- 1 root root 344 2009-12-07 20:41 ./patches/packages/linux-2.6.29.6-3/kernel-firmware-2.6.29.6-noarch-3.txt
+-rw-r--r-- 1 root root 259644 2009-12-07 20:41 ./patches/packages/linux-2.6.29.6-3/kernel-firmware-2.6.29.6-noarch-3.txz
+-rw-r--r-- 1 root root 197 2009-12-07 20:41 ./patches/packages/linux-2.6.29.6-3/kernel-firmware-2.6.29.6-noarch-3.txz.asc
+-rw-r--r-- 1 root root 626 2009-12-07 20:40 ./patches/packages/linux-2.6.29.6-3/kernel-generic-2.6.29.6-x86_64-3.txt
+-rw-r--r-- 1 root root 2813612 2009-12-07 20:40 ./patches/packages/linux-2.6.29.6-3/kernel-generic-2.6.29.6-x86_64-3.txz
+-rw-r--r-- 1 root root 197 2009-12-07 20:40 ./patches/packages/linux-2.6.29.6-3/kernel-generic-2.6.29.6-x86_64-3.txz.asc
+-rw-r--r-- 1 root root 332 2009-12-07 20:34 ./patches/packages/linux-2.6.29.6-3/kernel-headers-2.6.29.6-x86-3.txt
+-rw-r--r-- 1 root root 537048 2009-12-07 20:34 ./patches/packages/linux-2.6.29.6-3/kernel-headers-2.6.29.6-x86-3.txz
+-rw-r--r-- 1 root root 197 2009-12-07 20:34 ./patches/packages/linux-2.6.29.6-3/kernel-headers-2.6.29.6-x86-3.txz.asc
+-rw-r--r-- 1 root root 638 2009-12-07 21:01 ./patches/packages/linux-2.6.29.6-3/kernel-huge-2.6.29.6-x86_64-3.txt
+-rw-r--r-- 1 root root 5281396 2009-12-07 21:01 ./patches/packages/linux-2.6.29.6-3/kernel-huge-2.6.29.6-x86_64-3.txz
+-rw-r--r-- 1 root root 197 2009-12-07 21:01 ./patches/packages/linux-2.6.29.6-3/kernel-huge-2.6.29.6-x86_64-3.txz.asc
+-rw-r--r-- 1 root root 520 2009-12-07 20:57 ./patches/packages/linux-2.6.29.6-3/kernel-modules-2.6.29.6-x86_64-3.txt
+-rw-r--r-- 1 root root 15437580 2009-12-07 20:57 ./patches/packages/linux-2.6.29.6-3/kernel-modules-2.6.29.6-x86_64-3.txz
+-rw-r--r-- 1 root root 197 2009-12-07 20:57 ./patches/packages/linux-2.6.29.6-3/kernel-modules-2.6.29.6-x86_64-3.txz.asc
+-rw-r--r-- 1 root root 461 2009-12-07 20:33 ./patches/packages/linux-2.6.29.6-3/kernel-source-2.6.29.6-noarch-3.txt
+-rw-r--r-- 1 root root 49121900 2009-12-07 20:33 ./patches/packages/linux-2.6.29.6-3/kernel-source-2.6.29.6-noarch-3.txz
+-rw-r--r-- 1 root root 197 2009-12-07 20:33 ./patches/packages/linux-2.6.29.6-3/kernel-source-2.6.29.6-noarch-3.txz.asc
+drwxr-xr-x 5 root root 4096 2009-12-08 04:07 ./patches/packages/linux-2.6.29.6-3/kernels
+drwxr-xr-x 2 root root 4096 2009-12-07 20:40 ./patches/packages/linux-2.6.29.6-3/kernels/generic.s
+-rw-r--r-- 1 root root 278072 2009-12-07 20:40 ./patches/packages/linux-2.6.29.6-3/kernels/generic.s/System.map.gz
+-rw-r--r-- 1 root root 2629280 2009-12-07 20:40 ./patches/packages/linux-2.6.29.6-3/kernels/generic.s/bzImage
+-rw-r--r-- 1 root root 90657 2009-12-07 20:14 ./patches/packages/linux-2.6.29.6-3/kernels/generic.s/config
+drwxr-xr-x 2 root root 4096 2009-12-07 21:01 ./patches/packages/linux-2.6.29.6-3/kernels/huge.s
+-rw-r--r-- 1 root root 405558 2009-12-07 21:01 ./patches/packages/linux-2.6.29.6-3/kernels/huge.s/System.map.gz
+-rw-r--r-- 1 root root 5004096 2009-12-07 21:01 ./patches/packages/linux-2.6.29.6-3/kernels/huge.s/bzImage
+-rw-r--r-- 1 root root 90685 2009-12-07 20:58 ./patches/packages/linux-2.6.29.6-3/kernels/huge.s/config
+drwxr-xr-x 2 root root 4096 2009-12-08 00:23 ./patches/packages/linux-2.6.29.6-3/kernels/speakup.s
+-rw-r--r-- 1 root root 410479 2009-12-08 00:20 ./patches/packages/linux-2.6.29.6-3/kernels/speakup.s/System.map.gz
+-rw-r--r-- 1 root root 5037504 2009-12-08 00:19 ./patches/packages/linux-2.6.29.6-3/kernels/speakup.s/bzImage
+-rw-r--r-- 1 root root 91169 2009-12-08 00:19 ./patches/packages/linux-2.6.29.6-3/kernels/speakup.s/config
+-rw-r--r-- 1 root root 11015 2009-12-08 00:16 ./patches/packages/linux-2.6.29.6-3/kernels/speakup.s/speakup_decpc.ko
+-rw-r--r-- 1 root root 644 2013-09-28 02:27 ./patches/packages/lm_sensors-3.3.4-x86_64-1_slack13.0.txt
+-rw-r--r-- 1 root root 134368 2013-09-28 02:27 ./patches/packages/lm_sensors-3.3.4-x86_64-1_slack13.0.txz
+-rw-r--r-- 1 root root 198 2013-09-28 02:27 ./patches/packages/lm_sensors-3.3.4-x86_64-1_slack13.0.txz.asc
+-rw-r--r-- 1 root root 498 2017-05-29 19:48 ./patches/packages/lynx-2.8.8rel.2-x86_64-1_slack13.0.txt
+-rw-r--r-- 1 root root 1558744 2017-05-29 19:48 ./patches/packages/lynx-2.8.8rel.2-x86_64-1_slack13.0.txz
+-rw-r--r-- 1 root root 163 2017-05-29 19:48 ./patches/packages/lynx-2.8.8rel.2-x86_64-1_slack13.0.txz.asc
+-rw-r--r-- 1 root root 567 2016-02-29 19:44 ./patches/packages/mailx-12.5-x86_64-1_slack13.0.txt
+-rw-r--r-- 1 root root 236964 2016-02-29 19:44 ./patches/packages/mailx-12.5-x86_64-1_slack13.0.txz
+-rw-r--r-- 1 root root 181 2016-02-29 19:44 ./patches/packages/mailx-12.5-x86_64-1_slack13.0.txz.asc
+-rw-r--r-- 1 root root 664 2016-05-02 18:21 ./patches/packages/mercurial-3.8.1-x86_64-1_slack13.0.txt
+-rw-r--r-- 1 root root 2750336 2016-05-02 18:21 ./patches/packages/mercurial-3.8.1-x86_64-1_slack13.0.txz
+-rw-r--r-- 1 root root 181 2016-05-02 18:21 ./patches/packages/mercurial-3.8.1-x86_64-1_slack13.0.txz.asc
+-rw-r--r-- 1 root root 335 2009-09-19 21:00 ./patches/packages/mesa-7.5-x86_64-2.txt
+-rw-r--r-- 1 root root 4131120 2009-09-19 21:00 ./patches/packages/mesa-7.5-x86_64-2.txz
+-rw-r--r-- 1 root root 197 2009-09-19 21:00 ./patches/packages/mesa-7.5-x86_64-2.txz.asc
+-rw-r--r-- 1 root root 376 2017-04-18 21:40 ./patches/packages/minicom-2.7.1-x86_64-1_slack13.0.txt
+-rw-r--r-- 1 root root 296764 2017-04-18 21:40 ./patches/packages/minicom-2.7.1-x86_64-1_slack13.0.txz
+-rw-r--r-- 1 root root 163 2017-04-18 21:40 ./patches/packages/minicom-2.7.1-x86_64-1_slack13.0.txz.asc
+-rw-r--r-- 1 root root 527 2012-03-14 16:38 ./patches/packages/mozilla-firefox-3.6.28-x86_64-1_slack13.0.txt
+-rw-r--r-- 1 root root 9671572 2012-03-14 16:38 ./patches/packages/mozilla-firefox-3.6.28-x86_64-1_slack13.0.txz
+-rw-r--r-- 1 root root 198 2012-03-14 16:38 ./patches/packages/mozilla-firefox-3.6.28-x86_64-1_slack13.0.txz.asc
+-rw-r--r-- 1 root root 702 2012-03-14 17:28 ./patches/packages/mozilla-thunderbird-3.1.20-x86_64-1_slack13.0.txt
+-rw-r--r-- 1 root root 10363528 2012-03-14 17:28 ./patches/packages/mozilla-thunderbird-3.1.20-x86_64-1_slack13.0.txz
+-rw-r--r-- 1 root root 198 2012-03-14 17:28 ./patches/packages/mozilla-thunderbird-3.1.20-x86_64-1_slack13.0.txz.asc
+-rw-r--r-- 1 root root 360 2014-02-19 04:35 ./patches/packages/mysql-5.0.96-x86_64-2_slack13.0.txt
+-rw-r--r-- 1 root root 6220884 2014-02-19 04:35 ./patches/packages/mysql-5.0.96-x86_64-2_slack13.0.txz
+-rw-r--r-- 1 root root 181 2014-02-19 04:35 ./patches/packages/mysql-5.0.96-x86_64-2_slack13.0.txz.asc
+-rw-r--r-- 1 root root 532 2017-04-20 17:37 ./patches/packages/ntp-4.2.8p10-x86_64-1_slack13.0.txt
+-rw-r--r-- 1 root root 2503820 2017-04-20 17:37 ./patches/packages/ntp-4.2.8p10-x86_64-1_slack13.0.txz
+-rw-r--r-- 1 root root 163 2017-04-20 17:37 ./patches/packages/ntp-4.2.8p10-x86_64-1_slack13.0.txz.asc
+-rw-r--r-- 1 root root 676 2018-03-08 03:26 ./patches/packages/openssh-7.4p1-x86_64-2_slack13.0.txt
+-rw-r--r-- 1 root root 758476 2018-03-08 03:26 ./patches/packages/openssh-7.4p1-x86_64-2_slack13.0.txz
+-rw-r--r-- 1 root root 163 2018-03-08 03:26 ./patches/packages/openssh-7.4p1-x86_64-2_slack13.0.txz.asc
+-rw-r--r-- 1 root root 561 2016-03-02 00:58 ./patches/packages/openssl-0.9.8zh-x86_64-2_slack13.0.txt
+-rw-r--r-- 1 root root 2433020 2016-03-02 00:58 ./patches/packages/openssl-0.9.8zh-x86_64-2_slack13.0.txz
+-rw-r--r-- 1 root root 181 2016-03-02 00:58 ./patches/packages/openssl-0.9.8zh-x86_64-2_slack13.0.txz.asc
+-rw-r--r-- 1 root root 678 2016-03-02 00:58 ./patches/packages/openssl-solibs-0.9.8zh-x86_64-2_slack13.0.txt
+-rw-r--r-- 1 root root 729376 2016-03-02 00:58 ./patches/packages/openssl-solibs-0.9.8zh-x86_64-2_slack13.0.txz
+-rw-r--r-- 1 root root 181 2016-03-02 00:58 ./patches/packages/openssl-solibs-0.9.8zh-x86_64-2_slack13.0.txz.asc
+-rw-r--r-- 1 root root 430 2018-04-26 19:05 ./patches/packages/openvpn-2.4.6-x86_64-1_slack13.0.txt
+-rw-r--r-- 1 root root 440740 2018-04-26 19:05 ./patches/packages/openvpn-2.4.6-x86_64-1_slack13.0.txz
+-rw-r--r-- 1 root root 163 2018-04-26 19:05 ./patches/packages/openvpn-2.4.6-x86_64-1_slack13.0.txz.asc
+-rw-r--r-- 1 root root 564 2018-04-06 20:23 ./patches/packages/patch-2.7.4-x86_64-2_slack13.0.txt
+-rw-r--r-- 1 root root 111420 2018-04-06 20:23 ./patches/packages/patch-2.7.4-x86_64-2_slack13.0.txz
+-rw-r--r-- 1 root root 163 2018-04-06 20:23 ./patches/packages/patch-2.7.4-x86_64-2_slack13.0.txz.asc
+-rw-r--r-- 1 root root 376 2014-09-04 18:53 ./patches/packages/php-5.3.29-x86_64-1_slack13.0.txt
+-rw-r--r-- 1 root root 5757552 2014-09-04 18:53 ./patches/packages/php-5.3.29-x86_64-1_slack13.0.txz
+-rw-r--r-- 1 root root 181 2014-09-04 18:53 ./patches/packages/php-5.3.29-x86_64-1_slack13.0.txz.asc
+-rw-r--r-- 1 root root 469 2017-03-10 19:05 ./patches/packages/pidgin-2.12.0-x86_64-1_slack13.0.txt
+-rw-r--r-- 1 root root 7107336 2017-03-10 19:05 ./patches/packages/pidgin-2.12.0-x86_64-1_slack13.0.txz
+-rw-r--r-- 1 root root 163 2017-03-10 19:05 ./patches/packages/pidgin-2.12.0-x86_64-1_slack13.0.txz.asc
+-rw-r--r-- 1 root root 494 2010-11-20 19:03 ./patches/packages/poppler-0.10.7-x86_64-3_slack13.0.txt
+-rw-r--r-- 1 root root 899056 2010-11-20 19:03 ./patches/packages/poppler-0.10.7-x86_64-3_slack13.0.txz
+-rw-r--r-- 1 root root 198 2010-11-20 19:03 ./patches/packages/poppler-0.10.7-x86_64-3_slack13.0.txz.asc
+-rw-r--r-- 1 root root 451 2015-04-22 01:00 ./patches/packages/ppp-2.4.4-x86_64-2_slack13.0.txt
+-rw-r--r-- 1 root root 422816 2015-04-22 01:00 ./patches/packages/ppp-2.4.4-x86_64-2_slack13.0.txz
+-rw-r--r-- 1 root root 181 2015-04-22 01:00 ./patches/packages/ppp-2.4.4-x86_64-2_slack13.0.txz.asc
+-rw-r--r-- 1 root root 339 2017-04-20 21:52 ./patches/packages/proftpd-1.3.5e-x86_64-1_slack13.0.txt
+-rw-r--r-- 1 root root 945032 2017-04-20 21:52 ./patches/packages/proftpd-1.3.5e-x86_64-1_slack13.0.txz
+-rw-r--r-- 1 root root 163 2017-04-20 21:52 ./patches/packages/proftpd-1.3.5e-x86_64-1_slack13.0.txz.asc
+-rw-r--r-- 1 root root 213 2016-10-27 05:55 ./patches/packages/randrproto-1.5.0-noarch-1_slack13.0.txt
+-rw-r--r-- 1 root root 42392 2016-10-27 05:55 ./patches/packages/randrproto-1.5.0-noarch-1_slack13.0.txz
+-rw-r--r-- 1 root root 163 2016-10-27 05:55 ./patches/packages/randrproto-1.5.0-noarch-1_slack13.0.txz.asc
+-rw-r--r-- 1 root root 395 2011-04-21 02:35 ./patches/packages/rdesktop-1.6.0-x86_64-2_slack13.0.txt
+-rw-r--r-- 1 root root 128716 2011-04-21 02:35 ./patches/packages/rdesktop-1.6.0-x86_64-2_slack13.0.txz
+-rw-r--r-- 1 root root 198 2011-04-21 02:35 ./patches/packages/rdesktop-1.6.0-x86_64-2_slack13.0.txz.asc
+-rw-r--r-- 1 root root 373 2016-10-27 05:59 ./patches/packages/recordproto-1.14.2-noarch-1_slack13.0.txt
+-rw-r--r-- 1 root root 23896 2016-10-27 05:59 ./patches/packages/recordproto-1.14.2-noarch-1_slack13.0.txz
+-rw-r--r-- 1 root root 163 2016-10-27 05:59 ./patches/packages/recordproto-1.14.2-noarch-1_slack13.0.txz.asc
+-rw-r--r-- 1 root root 528 2018-01-30 19:34 ./patches/packages/rsync-3.1.3-x86_64-1_slack13.0.txt
+-rw-r--r-- 1 root root 324928 2018-01-30 19:34 ./patches/packages/rsync-3.1.3-x86_64-1_slack13.0.txz
+-rw-r--r-- 1 root root 163 2018-01-30 19:34 ./patches/packages/rsync-3.1.3-x86_64-1_slack13.0.txz.asc
+-rw-r--r-- 1 root root 425 2017-05-01 23:17 ./patches/packages/rxvt-2.7.10-x86_64-5_slack13.0.txt
+-rw-r--r-- 1 root root 162356 2017-05-01 23:17 ./patches/packages/rxvt-2.7.10-x86_64-5_slack13.0.txz
+-rw-r--r-- 1 root root 163 2017-05-01 23:17 ./patches/packages/rxvt-2.7.10-x86_64-5_slack13.0.txz.asc
+-rw-r--r-- 1 root root 555 2012-04-11 04:45 ./patches/packages/samba-3.2.15-x86_64-5_slack13.0.txt
+-rw-r--r-- 1 root root 17751936 2012-04-11 04:45 ./patches/packages/samba-3.2.15-x86_64-5_slack13.0.txz
+-rw-r--r-- 1 root root 198 2012-04-11 04:45 ./patches/packages/samba-3.2.15-x86_64-5_slack13.0.txz.asc
+-rw-r--r-- 1 root root 434 2011-04-30 16:39 ./patches/packages/seamonkey-2.0.14-x86_64-1_slack13.0.txt
+-rw-r--r-- 1 root root 13978420 2011-04-30 16:39 ./patches/packages/seamonkey-2.0.14-x86_64-1_slack13.0.txz
+-rw-r--r-- 1 root root 198 2011-04-30 16:39 ./patches/packages/seamonkey-2.0.14-x86_64-1_slack13.0.txz.asc
+-rw-r--r-- 1 root root 782 2011-04-30 16:39 ./patches/packages/seamonkey-solibs-2.0.14-x86_64-1_slack13.0.txt
+-rw-r--r-- 1 root root 1218580 2011-04-30 16:39 ./patches/packages/seamonkey-solibs-2.0.14-x86_64-1_slack13.0.txz
+-rw-r--r-- 1 root root 198 2011-04-30 16:39 ./patches/packages/seamonkey-solibs-2.0.14-x86_64-1_slack13.0.txz.asc
+-rw-r--r-- 1 root root 503 2014-06-05 20:39 ./patches/packages/sendmail-8.14.9-x86_64-1_slack13.0.txt
+-rw-r--r-- 1 root root 989204 2014-06-05 20:39 ./patches/packages/sendmail-8.14.9-x86_64-1_slack13.0.txz
+-rw-r--r-- 1 root root 181 2014-06-05 20:39 ./patches/packages/sendmail-8.14.9-x86_64-1_slack13.0.txz.asc
+-rw-r--r-- 1 root root 588 2014-06-05 20:39 ./patches/packages/sendmail-cf-8.14.9-noarch-1_slack13.0.txt
+-rw-r--r-- 1 root root 112848 2014-06-05 20:39 ./patches/packages/sendmail-cf-8.14.9-noarch-1_slack13.0.txz
+-rw-r--r-- 1 root root 181 2014-06-05 20:39 ./patches/packages/sendmail-cf-8.14.9-noarch-1_slack13.0.txz.asc
+-rw-r--r-- 1 root root 553 2012-08-30 22:08 ./patches/packages/slocate-3.1-x86_64-4_slack13.0.txt
+-rw-r--r-- 1 root root 28168 2012-08-30 22:08 ./patches/packages/slocate-3.1-x86_64-4_slack13.0.txz
+-rw-r--r-- 1 root root 198 2012-08-30 22:08 ./patches/packages/slocate-3.1-x86_64-4_slack13.0.txz.asc
+-rw-r--r-- 1 root root 510 2016-08-22 18:32 ./patches/packages/stunnel-5.35-x86_64-2_slack13.0.txt
+-rw-r--r-- 1 root root 164872 2016-08-22 18:32 ./patches/packages/stunnel-5.35-x86_64-2_slack13.0.txz
+-rw-r--r-- 1 root root 163 2016-08-22 18:32 ./patches/packages/stunnel-5.35-x86_64-2_slack13.0.txz.asc
+-rw-r--r-- 1 root root 597 2013-04-05 04:45 ./patches/packages/subversion-1.6.21-x86_64-1_slack13.0.txt
+-rw-r--r-- 1 root root 3340384 2013-04-05 04:45 ./patches/packages/subversion-1.6.21-x86_64-1_slack13.0.txz
+-rw-r--r-- 1 root root 198 2013-04-05 04:45 ./patches/packages/subversion-1.6.21-x86_64-1_slack13.0.txz.asc
+-rw-r--r-- 1 root root 414 2017-05-31 22:49 ./patches/packages/sudo-1.8.20p2-x86_64-1_slack13.0.txt
+-rw-r--r-- 1 root root 621960 2017-05-31 22:49 ./patches/packages/sudo-1.8.20p2-x86_64-1_slack13.0.txz
+-rw-r--r-- 1 root root 163 2017-05-31 22:49 ./patches/packages/sudo-1.8.20p2-x86_64-1_slack13.0.txz.asc
+-rw-r--r-- 1 root root 357 2012-08-10 19:19 ./patches/packages/t1lib-5.1.2-x86_64-2_slack13.0.txt
+-rw-r--r-- 1 root root 512224 2012-08-10 19:19 ./patches/packages/t1lib-5.1.2-x86_64-2_slack13.0.txz
+-rw-r--r-- 1 root root 198 2012-08-10 19:19 ./patches/packages/t1lib-5.1.2-x86_64-2_slack13.0.txz.asc
+-rw-r--r-- 1 root root 496 2012-02-06 21:43 ./patches/packages/vsftpd-2.3.5-x86_64-1_slack13.0.txt
+-rw-r--r-- 1 root root 119616 2012-02-06 21:43 ./patches/packages/vsftpd-2.3.5-x86_64-1_slack13.0.txz
+-rw-r--r-- 1 root root 198 2012-02-06 21:43 ./patches/packages/vsftpd-2.3.5-x86_64-1_slack13.0.txz.asc
+-rw-r--r-- 1 root root 398 2018-05-08 01:23 ./patches/packages/wget-1.19.5-x86_64-1_slack13.0.txt
+-rw-r--r-- 1 root root 630348 2018-05-08 01:23 ./patches/packages/wget-1.19.5-x86_64-1_slack13.0.txz
+-rw-r--r-- 1 root root 163 2018-05-08 01:23 ./patches/packages/wget-1.19.5-x86_64-1_slack13.0.txz.asc
+-rw-r--r-- 1 root root 407 2012-05-09 19:17 ./patches/packages/wicd-1.7.2.4-x86_64-2_slack13.0.txt
+-rw-r--r-- 1 root root 349304 2012-05-09 19:17 ./patches/packages/wicd-1.7.2.4-x86_64-2_slack13.0.txz
+-rw-r--r-- 1 root root 198 2012-05-09 19:17 ./patches/packages/wicd-1.7.2.4-x86_64-2_slack13.0.txz.asc
+-rw-r--r-- 1 root root 462 2016-10-27 05:30 ./patches/packages/xcb-proto-1.11-x86_64-1_slack13.0.txt
+-rw-r--r-- 1 root root 92808 2016-10-27 05:30 ./patches/packages/xcb-proto-1.11-x86_64-1_slack13.0.txz
+-rw-r--r-- 1 root root 163 2016-10-27 05:30 ./patches/packages/xcb-proto-1.11-x86_64-1_slack13.0.txz.asc
+-rw-r--r-- 1 root root 350 2016-10-27 05:49 ./patches/packages/xextproto-7.3.0-x86_64-1_slack13.0.txt
+-rw-r--r-- 1 root root 114576 2016-10-27 05:49 ./patches/packages/xextproto-7.3.0-x86_64-1_slack13.0.txz
+-rw-r--r-- 1 root root 163 2016-10-27 05:49 ./patches/packages/xextproto-7.3.0-x86_64-1_slack13.0.txz.asc
+-rw-r--r-- 1 root root 698 2017-08-15 21:13 ./patches/packages/xorg-server-1.6.3-x86_64-4_slack13.0.txt
+-rw-r--r-- 1 root root 1652084 2017-08-15 21:13 ./patches/packages/xorg-server-1.6.3-x86_64-4_slack13.0.txz
+-rw-r--r-- 1 root root 163 2017-08-15 21:13 ./patches/packages/xorg-server-1.6.3-x86_64-4_slack13.0.txz.asc
+-rw-r--r-- 1 root root 370 2017-08-15 21:13 ./patches/packages/xorg-server-xephyr-1.6.3-x86_64-4_slack13.0.txt
+-rw-r--r-- 1 root root 690708 2017-08-15 21:13 ./patches/packages/xorg-server-xephyr-1.6.3-x86_64-4_slack13.0.txz
+-rw-r--r-- 1 root root 163 2017-08-15 21:13 ./patches/packages/xorg-server-xephyr-1.6.3-x86_64-4_slack13.0.txz.asc
+-rw-r--r-- 1 root root 595 2017-08-15 21:13 ./patches/packages/xorg-server-xnest-1.6.3-x86_64-4_slack13.0.txt
+-rw-r--r-- 1 root root 533372 2017-08-15 21:13 ./patches/packages/xorg-server-xnest-1.6.3-x86_64-4_slack13.0.txz
+-rw-r--r-- 1 root root 163 2017-08-15 21:13 ./patches/packages/xorg-server-xnest-1.6.3-x86_64-4_slack13.0.txz.asc
+-rw-r--r-- 1 root root 693 2017-08-15 21:13 ./patches/packages/xorg-server-xvfb-1.6.3-x86_64-4_slack13.0.txt
+-rw-r--r-- 1 root root 619624 2017-08-15 21:13 ./patches/packages/xorg-server-xvfb-1.6.3-x86_64-4_slack13.0.txz
+-rw-r--r-- 1 root root 163 2017-08-15 21:13 ./patches/packages/xorg-server-xvfb-1.6.3-x86_64-4_slack13.0.txz.asc
+-rw-r--r-- 1 root root 188 2013-08-20 19:15 ./patches/packages/xpdf-3.03-x86_64-1_slack13.0.txt
+-rw-r--r-- 1 root root 1799464 2013-08-20 19:15 ./patches/packages/xpdf-3.03-x86_64-1_slack13.0.txz
+-rw-r--r-- 1 root root 198 2013-08-20 19:15 ./patches/packages/xpdf-3.03-x86_64-1_slack13.0.txz.asc
+-rw-r--r-- 1 root root 319 2016-10-27 05:28 ./patches/packages/xproto-7.0.29-noarch-1_slack13.0.txt
+-rw-r--r-- 1 root root 158900 2016-10-27 05:28 ./patches/packages/xproto-7.0.29-noarch-1_slack13.0.txz
+-rw-r--r-- 1 root root 163 2016-10-27 05:28 ./patches/packages/xproto-7.0.29-noarch-1_slack13.0.txz.asc
+-rw-r--r-- 1 root root 244 2011-04-06 06:24 ./patches/packages/xrdb-1.0.9-x86_64-1_slack13.0.txt
+-rw-r--r-- 1 root root 23564 2011-04-06 06:24 ./patches/packages/xrdb-1.0.9-x86_64-1_slack13.0.txz
+-rw-r--r-- 1 root root 198 2011-04-06 06:24 ./patches/packages/xrdb-1.0.9-x86_64-1_slack13.0.txz.asc
+-rw-r--r-- 1 root root 592 2011-11-26 19:49 ./patches/packages/yasm-1.2.0-x86_64-1_slack13.0.txt
+-rw-r--r-- 1 root root 524108 2011-11-26 19:49 ./patches/packages/yasm-1.2.0-x86_64-1_slack13.0.txz
+-rw-r--r-- 1 root root 198 2011-11-26 19:49 ./patches/packages/yasm-1.2.0-x86_64-1_slack13.0.txz.asc
+drwxr-xr-x 99 root root 4096 2018-05-25 20:11 ./patches/source
+drwxr-xr-x 2 root root 4096 2016-01-25 19:30 ./patches/source/MPlayer
+-rw-r--r-- 1 root root 222529 2015-09-12 17:47 ./patches/source/MPlayer/Blue-1.11.tar.bz2
+-rw-r--r-- 1 root root 5234232 2016-01-25 01:47 ./patches/source/MPlayer/MPlayer-20160125.tar.xz
+-rwxr-xr-- 1 root root 18414 2016-01-25 20:57 ./patches/source/MPlayer/MPlayer.SlackBuild
+-rw-r--r-- 1 root root 7201100 2016-01-15 17:09 ./patches/source/MPlayer/ffmpeg-2.8.5.tar.xz
+-rw-r--r-- 1 root root 1084 2015-04-05 05:08 ./patches/source/MPlayer/slack-desc
+drwxr-xr-x 2 root root 4096 2011-04-18 18:46 ./patches/source/acl
+-rw-r--r-- 1 root root 365413 2011-04-16 00:05 ./patches/source/acl/acl-2.2.50.src.tar.gz
+-rwxr-xr-x 1 root root 3787 2011-04-18 19:17 ./patches/source/acl/acl.SlackBuild
+-rw-r--r-- 1 root root 509 2011-04-18 18:42 ./patches/source/acl/acl.destdir.diff.gz
+-rw-r--r-- 1 root root 870 2011-04-18 18:43 ./patches/source/acl/slack-desc
+drwxr-xr-x 2 root root 4096 2011-05-25 18:58 ./patches/source/apr
+drwxr-xr-x 2 root root 4096 2012-02-07 17:05 ./patches/source/apr-util
+-rw-r--r-- 1 root root 635000 2011-12-13 22:18 ./patches/source/apr-util/apr-util-1.4.1.tar.bz2
+-rw-r--r-- 1 root root 243 2011-12-13 22:19 ./patches/source/apr-util/apr-util-1.4.1.tar.bz2.asc
+-rwxr-xr-x 1 root root 3556 2011-05-25 19:18 ./patches/source/apr-util/apr-util.SlackBuild
+-rw-r--r-- 1 root root 942 2006-07-29 21:51 ./patches/source/apr-util/slack-desc
+-rw-r--r-- 1 root root 754763 2011-05-20 22:44 ./patches/source/apr/apr-1.4.5.tar.bz2
+-rw-r--r-- 1 root root 836 2011-05-20 22:44 ./patches/source/apr/apr-1.4.5.tar.bz2.asc
+-rwxr-xr-x 1 root root 3046 2011-05-25 19:08 ./patches/source/apr/apr.SlackBuild
+-rw-r--r-- 1 root root 729 2006-07-29 07:49 ./patches/source/apr/slack-desc
+drwxr-xr-x 3 root root 4096 2006-02-01 21:28 ./patches/source/bash
+-rw-r--r-- 1 root root 2533934 2005-12-08 16:51 ./patches/source/bash/bash-3.1.tar.gz
+-rwxr-xr-x 1 root root 3524 2014-09-26 22:19 ./patches/source/bash/bash.SlackBuild
+-rw-r--r-- 1 root root 205 2002-08-27 00:02 ./patches/source/bash/doinst.sh.gz
+drwxr-xr-x 2 root root 4096 2014-11-07 19:30 ./patches/source/bash/patches
+-rw-r--r-- 1 root root 1120 2005-12-21 22:49 ./patches/source/bash/patches/bash31-001.gz
+-rw-r--r-- 1 root root 65 2005-12-21 22:49 ./patches/source/bash/patches/bash31-001.sig
+-rw-r--r-- 1 root root 2247 2006-01-09 17:02 ./patches/source/bash/patches/bash31-002.gz
+-rw-r--r-- 1 root root 65 2006-01-09 17:02 ./patches/source/bash/patches/bash31-002.sig
+-rw-r--r-- 1 root root 762 2006-01-09 17:02 ./patches/source/bash/patches/bash31-003.gz
+-rw-r--r-- 1 root root 65 2006-01-09 17:02 ./patches/source/bash/patches/bash31-003.sig
+-rw-r--r-- 1 root root 684 2006-01-09 17:02 ./patches/source/bash/patches/bash31-004.gz
+-rw-r--r-- 1 root root 65 2006-01-09 17:02 ./patches/source/bash/patches/bash31-004.sig
+-rw-r--r-- 1 root root 692 2006-01-09 17:02 ./patches/source/bash/patches/bash31-005.gz
+-rw-r--r-- 1 root root 65 2006-01-09 17:02 ./patches/source/bash/patches/bash31-005.sig
+-rw-r--r-- 1 root root 730 2006-02-03 20:46 ./patches/source/bash/patches/bash31-006.gz
+-rw-r--r-- 1 root root 65 2006-02-03 20:46 ./patches/source/bash/patches/bash31-006.sig
+-rw-r--r-- 1 root root 1289 2006-02-03 20:46 ./patches/source/bash/patches/bash31-007.gz
+-rw-r--r-- 1 root root 65 2006-02-03 20:46 ./patches/source/bash/patches/bash31-007.sig
+-rw-r--r-- 1 root root 669 2006-02-15 22:20 ./patches/source/bash/patches/bash31-008.gz
+-rw-r--r-- 1 root root 65 2006-02-15 22:20 ./patches/source/bash/patches/bash31-008.sig
+-rw-r--r-- 1 root root 872 2006-02-20 13:30 ./patches/source/bash/patches/bash31-009.gz
+-rw-r--r-- 1 root root 65 2006-02-20 13:30 ./patches/source/bash/patches/bash31-009.sig
+-rw-r--r-- 1 root root 914 2006-02-20 13:30 ./patches/source/bash/patches/bash31-010.gz
+-rw-r--r-- 1 root root 65 2006-03-14 21:45 ./patches/source/bash/patches/bash31-010.sig
+-rw-r--r-- 1 root root 682 2006-02-27 22:45 ./patches/source/bash/patches/bash31-011.gz
+-rw-r--r-- 1 root root 65 2006-02-27 22:45 ./patches/source/bash/patches/bash31-011.sig
+-rw-r--r-- 1 root root 614 2006-03-16 14:14 ./patches/source/bash/patches/bash31-012.gz
+-rw-r--r-- 1 root root 65 2006-03-16 14:14 ./patches/source/bash/patches/bash31-012.sig
+-rw-r--r-- 1 root root 589 2006-03-16 14:14 ./patches/source/bash/patches/bash31-013.gz
+-rw-r--r-- 1 root root 65 2006-03-16 14:14 ./patches/source/bash/patches/bash31-013.sig
+-rw-r--r-- 1 root root 1155 2006-03-16 14:14 ./patches/source/bash/patches/bash31-014.gz
+-rw-r--r-- 1 root root 65 2006-03-16 14:14 ./patches/source/bash/patches/bash31-014.sig
+-rw-r--r-- 1 root root 1084 2006-03-30 14:20 ./patches/source/bash/patches/bash31-015.gz
+-rw-r--r-- 1 root root 65 2006-03-30 14:20 ./patches/source/bash/patches/bash31-015.sig
+-rw-r--r-- 1 root root 696 2006-03-30 14:20 ./patches/source/bash/patches/bash31-016.gz
+-rw-r--r-- 1 root root 65 2006-03-30 14:20 ./patches/source/bash/patches/bash31-016.sig
+-rw-r--r-- 1 root root 1276 2006-04-12 15:26 ./patches/source/bash/patches/bash31-017.gz
+-rw-r--r-- 1 root root 65 2006-04-12 15:26 ./patches/source/bash/patches/bash31-017.sig
+-rw-r--r-- 1 root root 1365 2014-09-24 14:26 ./patches/source/bash/patches/bash31-018.gz
+-rw-r--r-- 1 root root 72 2014-09-24 14:26 ./patches/source/bash/patches/bash31-018.sig
+-rw-r--r-- 1 root root 625 2014-09-26 21:04 ./patches/source/bash/patches/bash31-019.gz
+-rw-r--r-- 1 root root 72 2014-09-26 21:04 ./patches/source/bash/patches/bash31-019.sig
+-rw-r--r-- 1 root root 2058 2014-09-28 02:37 ./patches/source/bash/patches/bash31-020.gz
+-rw-r--r-- 1 root root 72 2014-09-28 02:37 ./patches/source/bash/patches/bash31-020.sig
+-rw-r--r-- 1 root root 1334 2014-10-01 14:39 ./patches/source/bash/patches/bash31-021.gz
+-rw-r--r-- 1 root root 72 2014-10-01 14:39 ./patches/source/bash/patches/bash31-021.sig
+-rw-r--r-- 1 root root 764 2014-10-03 02:15 ./patches/source/bash/patches/bash31-022.gz
+-rw-r--r-- 1 root root 72 2014-10-03 02:15 ./patches/source/bash/patches/bash31-022.sig
+-rw-r--r-- 1 root root 1433 2014-10-05 23:02 ./patches/source/bash/patches/bash31-023.gz
+-rw-r--r-- 1 root root 72 2014-10-05 23:02 ./patches/source/bash/patches/bash31-023.sig
+-rw-r--r-- 1 root root 965 2002-03-23 21:47 ./patches/source/bash/slack-desc
+drwxr-xr-x 3 root root 4096 2018-01-17 02:59 ./patches/source/bind
+-rw-r--r-- 1 root root 5120 2007-06-08 04:48 ./patches/source/bind/3link.sh
+-rw-r--r-- 1 root root 8868987 2018-01-16 19:37 ./patches/source/bind/bind-9.9.11-P1.tar.gz
+-rw-r--r-- 1 root root 873 2018-01-16 19:37 ./patches/source/bind/bind-9.9.11-P1.tar.gz.asc
+-rw-r--r-- 1 root root 873 2018-01-16 19:37 ./patches/source/bind/bind-9.9.11-P1.tar.gz.sha1.asc
+-rw-r--r-- 1 root root 873 2018-01-16 19:37 ./patches/source/bind/bind-9.9.11-P1.tar.gz.sha256.asc
+-rw-r--r-- 1 root root 873 2018-01-16 19:37 ./patches/source/bind/bind-9.9.11-P1.tar.gz.sha512.asc
+-rwxr-xr-x 1 root root 5193 2018-01-17 02:59 ./patches/source/bind/bind.SlackBuild
+-rw-r--r-- 1 root root 280 2006-02-18 19:10 ./patches/source/bind/bind.so_bsdcompat.diff.gz
+drwxr-xr-x 2 root root 4096 2014-12-09 19:28 ./patches/source/bind/caching-example
+-rw-r--r-- 1 root root 195 2001-05-18 02:03 ./patches/source/bind/caching-example/localhost.zone
+-rw-r--r-- 1 root root 681 2008-04-13 21:47 ./patches/source/bind/caching-example/named.conf
+-rw-r--r-- 1 root root 433 2011-03-26 06:54 ./patches/source/bind/caching-example/named.local
+-rw-r--r-- 1 root root 3175 2014-11-05 17:56 ./patches/source/bind/caching-example/named.root
+-rw-r--r-- 1 root root 514 2009-05-23 08:11 ./patches/source/bind/doinst.sh.gz
+-rw-r--r-- 1 root root 3378 2010-06-24 17:32 ./patches/source/bind/rc.bind
+-rw-r--r-- 1 root root 791 2002-02-27 02:45 ./patches/source/bind/slack-desc
+drwxr-xr-x 2 root root 4096 2010-09-20 17:30 ./patches/source/bzip2
+-rw-r--r-- 1 root root 782025 2010-09-20 07:31 ./patches/source/bzip2/bzip2-1.0.6.tar.gz
+-rwxr-xr-x 1 root root 4044 2010-09-20 17:58 ./patches/source/bzip2/bzip2.SlackBuild
+-rw-r--r-- 1 root root 288 2010-09-20 17:30 ./patches/source/bzip2/bzip2.saneso.diff.gz
+-rw-r--r-- 1 root root 934 2002-02-19 04:26 ./patches/source/bzip2/slack-desc
+drwxr-xr-x 2 root root 4096 2009-12-16 18:17 ./patches/source/cairo
+-rw-r--r-- 1 root root 4461032 2009-06-16 13:07 ./patches/source/cairo/cairo-1.8.8.tar.xz
+-rwxr-xr-x 1 root root 2954 2009-12-16 19:14 ./patches/source/cairo/cairo.SlackBuild
+-rw-r--r-- 1 root root 851 2006-01-18 02:12 ./patches/source/cairo/slack-desc
+drwxr-xr-x 2 root root 4096 2012-01-17 01:33 ./patches/source/coreutils
+-rw-r--r-- 1 root root 1854 2011-04-14 20:27 ./patches/source/coreutils/DIR_COLORS.gz
+-rw-r--r-- 1 root root 4943172 2012-01-06 17:34 ./patches/source/coreutils/coreutils-8.15.tar.xz
+-rw-r--r-- 1 root root 836 2012-01-06 17:34 ./patches/source/coreutils/coreutils-8.15.tar.xz.sig
+-rw-r--r-- 1 root root 778 2010-04-28 05:16 ./patches/source/coreutils/coreutils-dircolors.csh.gz
+-rw-r--r-- 1 root root 931 2010-05-11 19:37 ./patches/source/coreutils/coreutils-dircolors.sh.gz
+-rwxr-xr-x 1 root root 7052 2012-01-17 01:52 ./patches/source/coreutils/coreutils.SlackBuild
+-rw-r--r-- 1 root root 1610 2009-09-15 13:55 ./patches/source/coreutils/coreutils.uname.diff.gz
+-rw-r--r-- 1 root root 270 2009-02-23 03:00 ./patches/source/coreutils/doinst.sh.gz
+-rw-r--r-- 1 root root 985 2003-05-20 21:33 ./patches/source/coreutils/slack-desc
+drwxr-xr-x 2 root root 4096 2015-07-07 19:16 ./patches/source/cups
+-rw-r--r-- 1 root root 3048852 2009-07-02 22:13 ./patches/source/cups/cups-1.3.11-source.tar.xz
+-rw-r--r-- 1 root root 338 2010-11-27 18:42 ./patches/source/cups/cups-1.3.x.CVE-2010-0542.diff.gz
+-rw-r--r-- 1 root root 631 2010-11-27 19:06 ./patches/source/cups/cups-1.3.x.CVE-2010-2941.diff.gz
+-rw-r--r-- 1 root root 199167 2004-01-03 18:49 ./patches/source/cups/cups-samba-5.0rc3.tar.gz
+-rw-r--r-- 1 root root 38284 2006-04-19 23:55 ./patches/source/cups/cups-windows-6.0-source.tar.bz2
+-rwxr-xr-x 1 root root 6007 2015-07-07 19:18 ./patches/source/cups/cups.SlackBuild
+-rw-r--r-- 1 root root 286 2009-08-22 01:18 ./patches/source/cups/cups.firefox.desktop.diff.gz
+-rw-r--r-- 1 root root 453 2007-05-09 21:13 ./patches/source/cups/doinst.sh.gz
+-rw-r--r-- 1 root root 1099 2002-02-01 20:47 ./patches/source/cups/slack-desc
+-rw-r--r-- 1 root root 2433 2015-07-07 19:14 ./patches/source/cups/str4609-1.3.patch.gz
+drwxr-xr-x 2 root root 4096 2017-08-09 18:49 ./patches/source/curl
+-rwxr-xr-x 1 root root 86 2012-04-08 00:28 ./patches/source/curl/cacert-fetch.sh
+-rw-r--r-- 1 root root 144096 2017-06-07 03:12 ./patches/source/curl/cacert.pem.bz2
+-rw-r--r-- 1 root root 2228476 2017-08-09 05:53 ./patches/source/curl/curl-7.55.0.tar.xz
+-rw-r--r-- 1 root root 488 2017-08-09 05:53 ./patches/source/curl/curl-7.55.0.tar.xz.asc
+-rwxr-xr-x 1 root root 4552 2017-08-09 19:39 ./patches/source/curl/curl.SlackBuild
+-rw-r--r-- 1 root root 1010 2008-02-11 03:44 ./patches/source/curl/slack-desc
+drwxr-xr-x 2 root root 4096 2018-02-28 21:46 ./patches/source/dhcp
+-rw-r--r-- 1 root root 414 2017-08-03 20:32 ./patches/source/dhcp/dhclient-script.PATH.diff.gz
+-rw-r--r-- 1 root root 11164378 2018-02-28 12:46 ./patches/source/dhcp/dhcp-4.4.1.tar.gz
+-rw-r--r-- 1 root root 873 2018-02-28 12:46 ./patches/source/dhcp/dhcp-4.4.1.tar.gz.asc
+-rw-r--r-- 1 root root 873 2018-02-28 12:46 ./patches/source/dhcp/dhcp-4.4.1.tar.gz.sha1.asc
+-rw-r--r-- 1 root root 873 2018-02-28 12:46 ./patches/source/dhcp/dhcp-4.4.1.tar.gz.sha256.asc
+-rw-r--r-- 1 root root 873 2018-02-28 12:46 ./patches/source/dhcp/dhcp-4.4.1.tar.gz.sha512.asc
+-rwxr-xr-x 1 root root 1667 2011-04-06 19:13 ./patches/source/dhcp/dhcp-remove-bind-tarball.sh
+-rwxr-xr-x 1 root root 5322 2013-03-26 22:00 ./patches/source/dhcp/dhcp.SlackBuild
+-rw-r--r-- 1 root root 309 2011-03-24 13:39 ./patches/source/dhcp/doinst.sh.gz
+-rw-r--r-- 1 root root 1099 2002-02-27 02:14 ./patches/source/dhcp/slack-desc
+drwxr-xr-x 3 root root 4096 2011-07-27 17:27 ./patches/source/dhcpcd
+-rw-r--r-- 1 root root 759 2009-03-09 04:20 ./patches/source/dhcpcd/COPYRIGHT.gz
+-rw-r--r-- 1 root root 45030 2008-08-26 03:12 ./patches/source/dhcpcd/dhcpcd-3.2.3.tar.bz2
+-rwxr-xr-x 1 root root 4939 2011-07-27 17:28 ./patches/source/dhcpcd/dhcpcd.SlackBuild
+-rw-r--r-- 1 root root 442 2008-11-07 00:15 ./patches/source/dhcpcd/dhcpcd.vararg.diff.gz
+drwxr-xr-x 2 root root 4096 2011-07-27 17:27 ./patches/source/dhcpcd/patches
+-rw-r--r-- 1 root root 311 2009-03-06 20:55 ./patches/source/dhcpcd/patches/config.h.diff.gz
+-rw-r--r-- 1 root root 258 2009-03-07 01:36 ./patches/source/dhcpcd/patches/dhcpcd.8.in.diff.gz
+-rw-r--r-- 1 root root 391 2009-03-07 01:24 ./patches/source/dhcpcd/patches/dhcpcd.sh.diff.gz
+-rw-r--r-- 1 root root 3319 2011-07-27 17:23 ./patches/source/dhcpcd/patches/dhcpcd3.sanitize_strings.diff.gz
+-rw-r--r-- 1 root root 900 2008-04-10 21:01 ./patches/source/dhcpcd/slack-desc
+drwxr-xr-x 2 root root 4096 2017-10-02 17:00 ./patches/source/dnsmasq
+-rw-r--r-- 1 root root 489172 2017-10-02 13:42 ./patches/source/dnsmasq/dnsmasq-2.78.tar.xz
+-rw-r--r-- 1 root root 819 2017-10-02 13:42 ./patches/source/dnsmasq/dnsmasq-2.78.tar.xz.asc
+-rwxr-xr-x 1 root root 3536 2017-10-02 17:00 ./patches/source/dnsmasq/dnsmasq.SlackBuild
+-rw-r--r-- 1 root root 543 2010-01-22 21:33 ./patches/source/dnsmasq/dnsmasq.leasedir.diff.gz
+-rw-r--r-- 1 root root 376 2010-01-22 21:37 ./patches/source/dnsmasq/doinst.sh.gz
+-rw-r--r-- 1 root root 265 2005-10-16 20:02 ./patches/source/dnsmasq/rc.dnsmasq.gz
+-rw-r--r-- 1 root root 902 2017-10-02 16:51 ./patches/source/dnsmasq/slack-desc
+drwxr-xr-x 2 root root 4096 2017-09-12 18:42 ./patches/source/emacs
+-rw-r--r-- 1 root root 312 2008-04-06 03:10 ./patches/source/emacs/doinst.sh.gz
+-rw-r--r-- 1 root root 42854740 2017-09-11 20:45 ./patches/source/emacs/emacs-25.3.tar.xz
+-rw-r--r-- 1 root root 488 2017-09-11 20:45 ./patches/source/emacs/emacs-25.3.tar.xz.sig
+-rwxr-xr-x 1 root root 6007 2017-09-12 18:42 ./patches/source/emacs/emacs.SlackBuild
+-rw-r--r-- 1 root root 549 2008-04-06 03:11 ./patches/source/emacs/slack-desc
+drwxr-xr-x 2 root root 4096 2017-07-18 03:29 ./patches/source/expat
+-rw-r--r-- 1 root root 341768 2017-07-13 20:20 ./patches/source/expat/expat-2.2.2.tar.xz
+-rwxr-xr-x 1 root root 3147 2017-07-18 05:22 ./patches/source/expat/expat.SlackBuild
+-rw-r--r-- 1 root root 720 2008-02-11 03:44 ./patches/source/expat/slack-desc
+drwxr-xr-x 2 root root 4096 2011-06-20 00:18 ./patches/source/fetchmail
+-rw-r--r-- 1 root root 1723623 2011-06-17 19:12 ./patches/source/fetchmail/fetchmail-6.3.20.tar.bz2
+-rw-r--r-- 1 root root 198 2011-06-17 19:12 ./patches/source/fetchmail/fetchmail-6.3.20.tar.bz2.asc
+-rwxr-xr-x 1 root root 3293 2010-05-16 19:09 ./patches/source/fetchmail/fetchmail.SlackBuild
+-rw-r--r-- 1 root root 1067 2007-05-07 03:49 ./patches/source/fetchmail/slack-desc
+drwxr-xr-x 10 root root 4096 2016-10-26 20:39 ./patches/source/fixesproto
+-rw-r--r-- 1 root root 257 2015-08-19 06:05 ./patches/source/fixesproto/arch.use.flags
+drwxr-xr-x 2 root root 4096 2016-10-26 20:39 ./patches/source/fixesproto/build
+-rw-r--r-- 1 root root 12 2016-10-26 20:39 ./patches/source/fixesproto/build/fixesproto
+drwxr-xr-x 2 root root 4096 2016-10-26 20:39 ./patches/source/fixesproto/configure
+-rw-r--r-- 1 root root 361 2016-01-16 20:11 ./patches/source/fixesproto/configure/configure
+drwxr-xr-x 2 root root 4096 2016-10-26 20:39 ./patches/source/fixesproto/doinst.sh
+-rwxr-xr-x 1 root root 92 2016-10-26 20:39 ./patches/source/fixesproto/fixesproto.SlackBuild
+drwxr-xr-x 2 root root 4096 2016-10-26 20:39 ./patches/source/fixesproto/makepkg
+-rw-r--r-- 1 root root 3467 2015-11-19 17:51 ./patches/source/fixesproto/modularize
+-rw-r--r-- 1 root root 1206 2016-01-12 20:54 ./patches/source/fixesproto/noarch
+-rw-r--r-- 1 root root 856 2016-01-12 23:39 ./patches/source/fixesproto/package-blacklist
+drwxr-xr-x 2 root root 4096 2016-10-26 20:39 ./patches/source/fixesproto/patch
+drwxr-xr-x 2 root root 4096 2016-10-26 20:39 ./patches/source/fixesproto/post-install
+drwxr-xr-x 2 root root 4096 2016-10-26 20:39 ./patches/source/fixesproto/slack-desc
+-rw-r--r-- 1 root root 824 2012-04-08 01:22 ./patches/source/fixesproto/slack-desc/fixesproto
+drwxr-xr-x 3 root root 4096 2016-10-26 20:39 ./patches/source/fixesproto/src
+drwxr-xr-x 2 root root 4096 2016-10-26 20:39 ./patches/source/fixesproto/src/proto
+-rw-r--r-- 1 root root 93728 2011-03-08 16:19 ./patches/source/fixesproto/src/proto/fixesproto-5.0.tar.xz
+-rwxr-xr-x 1 root root 13192 2016-10-26 22:12 ./patches/source/fixesproto/x11.SlackBuild
+drwxr-xr-x 2 root root 4096 2017-05-16 03:44 ./patches/source/freetype
+-rw-r--r-- 1 root root 1472888 2014-12-30 20:43 ./patches/source/freetype/freetype-2.5.5.tar.xz
+-rw-r--r-- 1 root root 580 2017-05-16 03:40 ./patches/source/freetype/freetype.CVE-2017-8287.diff.gz
+-rwxr-xr-x 1 root root 4107 2017-05-16 03:46 ./patches/source/freetype/freetype.SlackBuild
+-rw-r--r-- 1 root root 504 2014-05-12 06:42 ./patches/source/freetype/freetype.illadvisederror.diff.gz
+-rw-r--r-- 1 root root 302 2014-08-27 18:43 ./patches/source/freetype/freetype.subpixel.rendering.diff.gz
+-rw-r--r-- 1 root root 803 2006-07-22 01:26 ./patches/source/freetype/slack-desc
+drwxr-xr-x 2 root root 4096 2009-12-11 22:21 ./patches/source/gimp
+-rw-r--r-- 1 root root 12405172 2009-12-10 21:26 ./patches/source/gimp/gimp-2.6.8.tar.xz
+-rwxr-xr-x 1 root root 3502 2009-12-11 22:21 ./patches/source/gimp/gimp.SlackBuild
+-rw-r--r-- 1 root root 928 2003-01-29 03:18 ./patches/source/gimp/slack-desc
+drwxr-xr-x 2 root root 4096 2017-08-11 20:23 ./patches/source/git
+-rw-r--r-- 1 root root 543 2017-08-10 17:57 ./patches/source/git/git-2.14.1.tar.sign
+-rw-r--r-- 1 root root 4791876 2017-08-10 17:57 ./patches/source/git/git-2.14.1.tar.xz
+-rwxr-xr-x 1 root root 4909 2017-08-11 20:23 ./patches/source/git/git.SlackBuild
+-rw-r--r-- 1 root root 45 2015-09-01 20:04 ./patches/source/git/git.url
+-rw-r--r-- 1 root root 851 2009-05-30 01:25 ./patches/source/git/slack-desc
+drwxr-xr-x 4 root root 4096 2015-01-28 00:36 ./patches/source/glibc
+drwxr-xr-x 3 root root 4096 2018-05-08 04:43 ./patches/source/glibc-zoneinfo
+-rw-r--r-- 1 root root 1137 2018-05-24 17:58 ./patches/source/glibc-zoneinfo/doinst.sh.gz
+-rwxr-xr-x 1 root root 5017 2018-05-24 18:03 ./patches/source/glibc-zoneinfo/glibc-zoneinfo.SlackBuild
+-rw-r--r-- 1 root root 969 2011-11-11 18:09 ./patches/source/glibc-zoneinfo/slack-desc
+drwxr-xr-x 3 root root 4096 2015-12-17 23:39 ./patches/source/glibc-zoneinfo/timezone-scripts
+-rwxr-xr-x 1 root root 2579 2015-12-11 17:32 ./patches/source/glibc-zoneinfo/timezone-scripts/output-updated-timeconfig.sh
+drwxr-xr-x 2 root root 4096 2006-12-03 23:10 ./patches/source/glibc-zoneinfo/timezone-scripts/parts
+-rw-r--r-- 1 root root 4548 2015-12-11 02:36 ./patches/source/glibc-zoneinfo/timezone-scripts/parts/00
+-rw-r--r-- 1 root root 13593 2015-12-17 23:39 ./patches/source/glibc-zoneinfo/timezone-scripts/parts/01
+-rw-r--r-- 1 root root 443 2006-12-03 22:53 ./patches/source/glibc-zoneinfo/timezone-scripts/parts/02
+-rw-r--r-- 1 root root 8913 2015-12-17 23:39 ./patches/source/glibc-zoneinfo/timezone-scripts/parts/03
+-rw-r--r-- 1 root root 888 2015-12-11 02:39 ./patches/source/glibc-zoneinfo/timezone-scripts/parts/04
+-rw-r--r-- 1 root root 87 2006-12-03 23:10 ./patches/source/glibc-zoneinfo/timezone-scripts/parts/README
+-rw-r--r-- 1 root root 66 2003-02-16 21:17 ./patches/source/glibc-zoneinfo/timezone-scripts/setup.timeconfig
+-rw-r--r-- 1 root root 28385 2015-12-17 21:29 ./patches/source/glibc-zoneinfo/timezone-scripts/timeconfig
+-rw-r--r-- 1 root root 231732 2018-05-03 23:55 ./patches/source/glibc-zoneinfo/tzcode2018e.tar.gz
+-rw-r--r-- 1 root root 819 2018-05-03 23:55 ./patches/source/glibc-zoneinfo/tzcode2018e.tar.gz.asc
+-rw-r--r-- 1 root root 353953 2018-05-03 23:55 ./patches/source/glibc-zoneinfo/tzdata2018e.tar.gz
+-rw-r--r-- 1 root root 819 2018-05-03 23:55 ./patches/source/glibc-zoneinfo/tzdata2018e.tar.gz.asc
+-rw-r--r-- 1 root root 7244 2009-01-29 04:59 ./patches/source/glibc/doinst.sh-glibc
+-rw-r--r-- 1 root root 4504 2009-01-29 04:59 ./patches/source/glibc/doinst.sh-glibc-solibs
+-rw-r--r-- 1 root root 1029 2007-02-18 04:26 ./patches/source/glibc/doinst.sh-glibc-zoneinfo
+-rw-r--r-- 1 root root 652 2009-01-09 04:49 ./patches/source/glibc/glibc-2.10-dns-no-gethostbyname4.diff.gz
+-rw-r--r-- 1 root root 16425893 2009-03-16 08:07 ./patches/source/glibc/glibc-2.9-20090316.tar.bz2
+-rwxr-xr-x 1 root root 174 2004-08-09 06:21 ./patches/source/glibc/glibc-cvs-checkout.sh
+-rw-r--r-- 1 root root 101939 2007-10-19 21:45 ./patches/source/glibc/glibc-libidn-2.7.tar.bz2
+-rw-r--r-- 1 root root 65 2007-10-19 21:45 ./patches/source/glibc/glibc-libidn-2.7.tar.bz2.sig
+-rw-r--r-- 1 root root 825 2010-10-19 17:30 ./patches/source/glibc/glibc.CVE-2010-3847.diff.gz
+-rw-r--r-- 1 root root 2297 2010-10-28 17:17 ./patches/source/glibc/glibc.CVE-2010-3856.diff.gz
+-rw-r--r-- 1 root root 857 2013-09-12 21:03 ./patches/source/glibc/glibc.CVE-2013-4332.diff.gz
+-rw-r--r-- 1 root root 1999 2015-01-27 23:53 ./patches/source/glibc/glibc.CVE-2015-0235.glibc29.diff.gz
+-rwxr-xr-x 1 root root 15695 2015-01-28 00:37 ./patches/source/glibc/glibc.SlackBuild
+-rw-r--r-- 1 root root 183 2006-10-11 03:11 ./patches/source/glibc/glibc.getcwd.max.macro.diff.gz
+-rw-r--r-- 1 root root 304 2004-08-04 00:21 ./patches/source/glibc/glibc.locale.no-archive.diff.gz
+-rw-r--r-- 1 root root 325 2006-10-11 01:49 ./patches/source/glibc/glibc.nis-netgroups.diff.gz
+-rw-r--r-- 1 root root 246 2009-02-24 23:39 ./patches/source/glibc/glibc.revert.to.fix.build.breakages.diff.gz
+-rw-r--r-- 1 root root 213 2006-08-22 06:33 ./patches/source/glibc/glibc.ru_RU.CP1251.diff.gz
+-rw-r--r-- 1 root root 254 2007-10-31 01:17 ./patches/source/glibc/is_IS.diff.gz
+drwxr-xr-x 2 root root 4096 2006-09-14 06:32 ./patches/source/glibc/profile.d
+-rwxr-xr-x 1 root root 328 2006-09-14 08:26 ./patches/source/glibc/profile.d/glibc.csh.new
+-rwxr-xr-x 1 root root 325 2006-09-14 08:26 ./patches/source/glibc/profile.d/glibc.sh.new
+-rw-r--r-- 1 root root 845 2002-10-11 19:15 ./patches/source/glibc/slack-desc.glibc
+-rw-r--r-- 1 root root 1139 2002-10-12 04:15 ./patches/source/glibc/slack-desc.glibc-debug
+-rw-r--r-- 1 root root 794 2002-05-01 00:01 ./patches/source/glibc/slack-desc.glibc-i18n
+-rw-r--r-- 1 root root 972 2005-11-18 17:02 ./patches/source/glibc/slack-desc.glibc-profile
+-rw-r--r-- 1 root root 786 2002-03-23 23:26 ./patches/source/glibc/slack-desc.glibc-solibs
+-rw-r--r-- 1 root root 1227 2006-11-23 03:35 ./patches/source/glibc/slack-desc.glibc-solibs-linuxthreads
+-rw-r--r-- 1 root root 965 2007-04-30 20:52 ./patches/source/glibc/slack-desc.glibc-zoneinfo
+drwxr-xr-x 3 root root 4096 2011-11-11 18:10 ./patches/source/glibc/timezone-scripts
+-rwxr-xr-x 1 root root 2136 2012-12-13 06:31 ./patches/source/glibc/timezone-scripts/output-updated-timeconfig.sh
+drwxr-xr-x 2 root root 4096 2006-12-03 23:10 ./patches/source/glibc/timezone-scripts/parts
+-rw-r--r-- 1 root root 4514 2014-10-23 06:33 ./patches/source/glibc/timezone-scripts/parts/00
+-rw-r--r-- 1 root root 44881 2014-10-23 06:32 ./patches/source/glibc/timezone-scripts/parts/01
+-rw-r--r-- 1 root root 443 2006-12-03 22:53 ./patches/source/glibc/timezone-scripts/parts/02
+-rw-r--r-- 1 root root 31616 2014-10-23 06:35 ./patches/source/glibc/timezone-scripts/parts/03
+-rw-r--r-- 1 root root 857 2006-12-03 22:54 ./patches/source/glibc/timezone-scripts/parts/04
+-rw-r--r-- 1 root root 87 2006-12-03 23:10 ./patches/source/glibc/timezone-scripts/parts/README
+-rw-r--r-- 1 root root 66 2003-02-16 21:17 ./patches/source/glibc/timezone-scripts/setup.timeconfig
+-rw-r--r-- 1 root root 87202 2015-01-28 00:12 ./patches/source/glibc/timezone-scripts/timeconfig
+-rw-r--r-- 1 root root 182416 2014-11-11 05:25 ./patches/source/glibc/tzcode2014j.tar.gz
+-rw-r--r-- 1 root root 290688 2014-11-11 05:25 ./patches/source/glibc/tzdata2014j.tar.gz
+drwxr-xr-x 2 root root 4096 2017-08-02 03:16 ./patches/source/gnupg
+-rw-r--r-- 1 root root 2660120 2017-07-19 09:24 ./patches/source/gnupg/gnupg-1.4.22.tar.xz
+-rwxr-xr-x 1 root root 3223 2016-08-23 18:35 ./patches/source/gnupg/gnupg.SlackBuild
+-rw-r--r-- 1 root root 827 2003-02-25 23:37 ./patches/source/gnupg/slack-desc.gnupg
+drwxr-xr-x 2 root root 4096 2010-08-19 16:39 ./patches/source/gnupg2
+-rw-r--r-- 1 root root 3924196 2009-06-18 02:18 ./patches/source/gnupg2/gnupg-2.0.12.tar.bz2
+-rw-r--r-- 1 root root 224 2010-08-19 01:10 ./patches/source/gnupg2/gnupg2.CVE-2010-2547.diff.gz
+-rwxr-xr-x 1 root root 4723 2010-08-19 16:40 ./patches/source/gnupg2/gnupg2.SlackBuild
+-rw-r--r-- 1 root root 1058 2008-02-11 03:44 ./patches/source/gnupg2/slack-desc
+drwxr-xr-x 2 root root 4096 2014-06-06 01:40 ./patches/source/gnutls
+-rw-r--r-- 1 root root 6193111 2009-09-18 08:51 ./patches/source/gnutls/gnutls-2.8.4.tar.bz2
+-rw-r--r-- 1 root root 42971 2013-10-04 04:50 ./patches/source/gnutls/gnutls-2.8.4_CVE-2009-3555.diff.gz
+-rw-r--r-- 1 root root 574 2013-09-29 16:08 ./patches/source/gnutls/gnutls-2.8.4_CVE-2011-4128.diff.gz
+-rw-r--r-- 1 root root 942 2013-10-03 22:37 ./patches/source/gnutls/gnutls-2.8.4_CVE-2012-1569.diff.gz
+-rw-r--r-- 1 root root 610 2013-09-29 16:08 ./patches/source/gnutls/gnutls-2.8.4_CVE-2012-1573.diff.gz
+-rw-r--r-- 1 root root 3622 2013-10-05 02:47 ./patches/source/gnutls/gnutls-2.8.4_CVE-2013-1619_CVE-2013-2116.diff.gz
+-rw-r--r-- 1 root root 864 2014-03-03 22:16 ./patches/source/gnutls/gnutls-2.8.4_CVE-2014-0092.diff.gz
+-rw-r--r-- 1 root root 4127 2014-06-03 03:50 ./patches/source/gnutls/gnutls-2.8.4_CVE-2014-3466.diff.gz
+-rw-r--r-- 1 root root 733 2014-06-03 03:51 ./patches/source/gnutls/gnutls-2.8.4_CVE-2014-3467.diff.gz
+-rw-r--r-- 1 root root 628 2014-06-03 03:51 ./patches/source/gnutls/gnutls-2.8.4_CVE-2014-3468.diff.gz
+-rw-r--r-- 1 root root 1358 2014-06-03 03:51 ./patches/source/gnutls/gnutls-2.8.4_CVE-2014-3469.diff.gz
+-rw-r--r-- 1 root root 483 2013-09-28 05:06 ./patches/source/gnutls/gnutls-2.8.4_fix-expired-cert.diff.gz
+-rw-r--r-- 1 root root 640 2013-09-28 05:06 ./patches/source/gnutls/gnutls-2.8.4_fix-timebomb.diff.gz
+-rw-r--r-- 1 root root 816 2013-10-05 19:52 ./patches/source/gnutls/gnutls-2.8.4_ipv6.diff.gz
+-rw-r--r-- 1 root root 966 2013-09-29 15:11 ./patches/source/gnutls/gnutls-2.8.4_libgcrypt150-fix.diff.gz
+-rwxr-xr-x 1 root root 4690 2014-06-06 01:40 ./patches/source/gnutls/gnutls.SlackBuild
+-rw-r--r-- 1 root root 950 2007-03-16 01:33 ./patches/source/gnutls/slack-desc
+drwxr-xr-x 2 root root 4096 2010-02-09 01:57 ./patches/source/gzip
+-rw-r--r-- 1 root root 613984 2010-01-20 18:52 ./patches/source/gzip/gzip-1.4.tar.xz
+-rw-r--r-- 1 root root 836 2010-01-20 18:52 ./patches/source/gzip/gzip-1.4.tar.xz.sig
+-rwxr-xr-x 1 root root 4944 2010-02-09 02:23 ./patches/source/gzip/gzip.SlackBuild
+-rw-r--r-- 1 root root 770 2002-03-23 21:58 ./patches/source/gzip/slack-desc
+drwxr-xr-x 2 root root 4096 2013-08-20 21:24 ./patches/source/hplip
+-rw-r--r-- 1 root root 118 2009-03-05 16:38 ./patches/source/hplip/doinst.sh.gz
+-rw-r--r-- 1 root root 14039442 2009-04-29 21:21 ./patches/source/hplip/hplip-3.9.4b.tar.bz2
+-rw-r--r-- 1 root root 286 2013-08-20 20:35 ./patches/source/hplip/hplip.CVE-2010-4267.diff.gz
+-rwxr-xr-x 1 root root 3900 2013-08-20 21:27 ./patches/source/hplip/hplip.SlackBuild
+-rw-r--r-- 1 root root 583 2009-06-09 05:44 ./patches/source/hplip/hplip.prevent_segfault.diff.gz
+-rw-r--r-- 1 root root 935 2009-03-05 17:13 ./patches/source/hplip/slack-desc
+drwxr-xr-x 2 root root 4096 2017-09-18 17:38 ./patches/source/httpd
+-rw-r--r-- 1 root root 1409 2007-05-18 22:51 ./patches/source/httpd/README
+-rw-r--r-- 1 root root 527 2017-09-18 17:29 ./patches/source/httpd/apache-2.2.CVE-2017-9798.optionsbleed.patch.gz
+-rw-r--r-- 1 root root 439 2007-06-05 19:38 ./patches/source/httpd/config.layout.diff.gz
+-rw-r--r-- 1 root root 991 2017-06-27 18:38 ./patches/source/httpd/doinst.sh.gz
+-rw-r--r-- 1 root root 5779739 2017-07-10 13:29 ./patches/source/httpd/httpd-2.2.34.tar.bz2
+-rw-r--r-- 1 root root 843 2017-07-10 13:29 ./patches/source/httpd/httpd-2.2.34.tar.bz2.asc
+-rwxr-xr-x 1 root root 7434 2017-09-18 17:38 ./patches/source/httpd/httpd.SlackBuild
+-rw-r--r-- 1 root root 238 2011-02-12 19:23 ./patches/source/httpd/httpd.brigade_move.__noinline__.gcc451.diff.gz
+-rw-r--r-- 1 root root 214 2007-05-18 20:56 ./patches/source/httpd/httpd.nossldefault.diff.gz
+-rw-r--r-- 1 root root 237 2008-02-14 21:36 ./patches/source/httpd/httpd.runasapache.diff.gz
+-rw-r--r-- 1 root root 112 2017-06-27 20:26 ./patches/source/httpd/httpd.url
+-rw-r--r-- 1 root root 171 2010-11-09 20:22 ./patches/source/httpd/logrotate.httpd
+-rw-r--r-- 1 root root 703 2007-05-27 01:49 ./patches/source/httpd/rc.httpd
+-rw-r--r-- 1 root root 970 2007-05-18 04:13 ./patches/source/httpd/slack-desc
+drwxr-xr-x 10 root root 4096 2016-10-26 20:32 ./patches/source/inputproto
+-rw-r--r-- 1 root root 257 2015-08-19 06:05 ./patches/source/inputproto/arch.use.flags
+drwxr-xr-x 2 root root 4096 2016-10-26 20:32 ./patches/source/inputproto/build
+-rw-r--r-- 1 root root 12 2016-10-26 20:32 ./patches/source/inputproto/build/inputproto
+drwxr-xr-x 2 root root 4096 2016-10-26 20:32 ./patches/source/inputproto/configure
+-rw-r--r-- 1 root root 361 2016-01-16 20:11 ./patches/source/inputproto/configure/configure
+drwxr-xr-x 2 root root 4096 2016-10-26 20:32 ./patches/source/inputproto/doinst.sh
+-rwxr-xr-x 1 root root 92 2016-10-26 20:32 ./patches/source/inputproto/inputproto.SlackBuild
+drwxr-xr-x 2 root root 4096 2016-10-26 20:32 ./patches/source/inputproto/makepkg
+-rw-r--r-- 1 root root 3467 2015-11-19 17:51 ./patches/source/inputproto/modularize
+-rw-r--r-- 1 root root 1206 2016-01-12 20:54 ./patches/source/inputproto/noarch
+-rw-r--r-- 1 root root 856 2016-01-12 23:39 ./patches/source/inputproto/package-blacklist
+drwxr-xr-x 2 root root 4096 2016-10-26 20:32 ./patches/source/inputproto/patch
+drwxr-xr-x 2 root root 4096 2016-10-26 20:32 ./patches/source/inputproto/post-install
+drwxr-xr-x 2 root root 4096 2016-10-26 20:32 ./patches/source/inputproto/slack-desc
+-rw-r--r-- 1 root root 820 2012-04-08 02:27 ./patches/source/inputproto/slack-desc/inputproto
+drwxr-xr-x 3 root root 4096 2016-10-26 20:32 ./patches/source/inputproto/src
+drwxr-xr-x 2 root root 4096 2016-10-26 20:32 ./patches/source/inputproto/src/proto
+-rw-r--r-- 1 root root 185524 2016-04-04 02:32 ./patches/source/inputproto/src/proto/inputproto-2.3.2.tar.xz
+-rwxr-xr-x 1 root root 13192 2016-10-26 22:13 ./patches/source/inputproto/x11.SlackBuild
+drwxr-xr-x 2 root root 4096 2017-06-07 18:50 ./patches/source/irssi
+-rw-r--r-- 1 root root 264 2009-07-29 00:34 ./patches/source/irssi/doinst.sh.gz
+-rw-r--r-- 1 root root 1007524 2017-01-05 15:24 ./patches/source/irssi/irssi-0.8.21.tar.xz
+-rw-r--r-- 1 root root 163 2017-01-05 15:26 ./patches/source/irssi/irssi-0.8.21.tar.xz.asc
+-rwxr-xr-x 1 root root 4504 2017-06-07 18:51 ./patches/source/irssi/irssi.SlackBuild
+-rw-r--r-- 1 root root 493 2017-06-07 18:48 ./patches/source/irssi/patch-src_irc_dcc_dcc-get_c.diff.gz
+-rw-r--r-- 1 root root 325 2017-06-07 18:48 ./patches/source/irssi/patch-src_irc_dcc_dcc-resume_c.diff.gz
+-rw-r--r-- 1 root root 789 2003-12-13 20:28 ./patches/source/irssi/slack-desc
+drwxr-xr-x 3 root root 4096 2015-09-03 19:30 ./patches/source/jasper
+-rw-r--r-- 1 root root 958519 2009-04-03 00:58 ./patches/source/jasper/jasper-1.900.1.tar.bz2
+-rwxr-xr-x 1 root root 5353 2015-10-15 22:05 ./patches/source/jasper/jasper.SlackBuild
+drwxr-xr-x 2 root root 4096 2015-09-03 19:27 ./patches/source/jasper/patches
+-rw-r--r-- 1 root root 7790 2015-09-03 19:22 ./patches/source/jasper/patches/jasper-1.900.1-CVE-2008-3520.patch.gz
+-rw-r--r-- 1 root root 324 2015-09-03 19:00 ./patches/source/jasper/patches/jasper-1.900.1-CVE-2008-3522.patch.gz
+-rw-r--r-- 1 root root 507 2015-09-03 19:26 ./patches/source/jasper/patches/jasper-1.900.1-CVE-2011-4516-CVE-2011-4517-CERT-VU-887409.patch.gz
+-rw-r--r-- 1 root root 508 2015-09-03 19:03 ./patches/source/jasper/patches/jasper-1.900.1-Coverity-BAD_SIZEOF.patch.gz
+-rw-r--r-- 1 root root 1395 2015-09-03 19:03 ./patches/source/jasper/patches/jasper-1.900.1-Coverity-CHECKED_RETURN.patch.gz
+-rw-r--r-- 1 root root 732 2015-09-03 19:03 ./patches/source/jasper/patches/jasper-1.900.1-Coverity-FORWARD_NULL.patch.gz
+-rw-r--r-- 1 root root 1013 2015-09-03 19:04 ./patches/source/jasper/patches/jasper-1.900.1-Coverity-NULL_RETURNS.patch.gz
+-rw-r--r-- 1 root root 2022 2015-09-03 19:04 ./patches/source/jasper/patches/jasper-1.900.1-Coverity-RESOURCE_LEAK.patch.gz
+-rw-r--r-- 1 root root 414 2015-09-03 19:04 ./patches/source/jasper/patches/jasper-1.900.1-Coverity-UNREACHABLE.patch.gz
+-rw-r--r-- 1 root root 714 2015-09-03 19:04 ./patches/source/jasper/patches/jasper-1.900.1-Coverity-UNUSED_VALUE.patch.gz
+-rw-r--r-- 1 root root 618 2015-09-03 18:54 ./patches/source/jasper/patches/jasper-CVE-2014-8137.patch.gz
+-rw-r--r-- 1 root root 404 2015-09-03 18:55 ./patches/source/jasper/patches/jasper-CVE-2014-8138.patch.gz
+-rw-r--r-- 1 root root 333 2015-09-03 18:55 ./patches/source/jasper/patches/jasper-CVE-2014-8157.patch.gz
+-rw-r--r-- 1 root root 1130 2015-09-03 18:56 ./patches/source/jasper/patches/jasper-CVE-2014-8158.patch.gz
+-rw-r--r-- 1 root root 397 2015-09-03 18:57 ./patches/source/jasper/patches/jasper-CVE-2014-9029.patch.gz
+-rw-r--r-- 1 root root 335 2015-09-03 18:58 ./patches/source/jasper/patches/jpc_dec.c.patch.gz
+-rw-r--r-- 1 root root 359 2015-09-03 19:26 ./patches/source/jasper/patches/patch-libjasper-stepsizes-overflow.diff.gz
+-rw-r--r-- 1 root root 847 2012-07-22 17:04 ./patches/source/jasper/slack-desc
+drwxr-xr-x 4 root root 4096 2010-04-20 02:49 ./patches/source/kdebase-workspace
+drwxr-xr-x 2 root root 4096 2007-12-21 06:08 ./patches/source/kdebase-workspace/config
+-rw-r--r-- 1 root root 2551 2007-12-21 05:56 ./patches/source/kdebase-workspace/config/Xsession
+-rw-r--r-- 1 root root 1844 2007-12-21 05:53 ./patches/source/kdebase-workspace/config/Xsession.orig
+-rw-r--r-- 1 root root 361 2007-12-21 06:10 ./patches/source/kdebase-workspace/doinst.sh.gz
+-rw-r--r-- 1 root root 6430 2010-04-19 20:43 ./patches/source/kdebase-workspace/kdebase-workspace-4.3.5-CVE-2010-0436-really-for-4.3.5.diff
+-rwxr-xr-x 1 root root 4059 2010-04-20 02:49 ./patches/source/kdebase-workspace/kdebase-workspace.SlackBuild
+-rw-r--r-- 1 root root 18 2010-04-20 02:49 ./patches/source/kdebase-workspace/local.options
+-rw-r--r-- 1 root root 456 2008-08-01 06:04 ./patches/source/kdebase-workspace/slack-desc
+drwxr-xr-x 2 root root 4096 2001-02-06 04:04 ./patches/source/kdebase-workspace/xinit
+-rwxr-xr-x 1 root root 516 2007-02-15 09:18 ./patches/source/kdebase-workspace/xinit/xinitrc.kde
+drwxr-xr-x 10 root root 4096 2016-10-26 20:10 ./patches/source/libX11
+-rw-r--r-- 1 root root 257 2015-08-19 06:05 ./patches/source/libX11/arch.use.flags
+drwxr-xr-x 2 root root 4096 2016-10-26 20:10 ./patches/source/libX11/build
+-rw-r--r-- 1 root root 12 2016-10-26 20:29 ./patches/source/libX11/build/libX11
+drwxr-xr-x 2 root root 4096 2016-10-26 20:10 ./patches/source/libX11/configure
+-rw-r--r-- 1 root root 317 2010-12-04 23:25 ./patches/source/libX11/configure/libX11
+drwxr-xr-x 2 root root 4096 2016-10-26 20:10 ./patches/source/libX11/doinst.sh
+-rwxr-xr-x 1 root root 82 2016-10-26 20:10 ./patches/source/libX11/libX11.SlackBuild
+drwxr-xr-x 2 root root 4096 2016-10-26 20:10 ./patches/source/libX11/makepkg
+-rw-r--r-- 1 root root 3467 2015-11-19 17:51 ./patches/source/libX11/modularize
+-rw-r--r-- 1 root root 1206 2016-01-12 20:54 ./patches/source/libX11/noarch
+-rw-r--r-- 1 root root 856 2016-01-12 23:39 ./patches/source/libX11/package-blacklist
+drwxr-xr-x 2 root root 4096 2016-10-26 20:10 ./patches/source/libX11/patch
+drwxr-xr-x 2 root root 4096 2016-10-26 20:10 ./patches/source/libX11/post-install
+-rw-r--r-- 1 root root 102 2011-04-16 03:30 ./patches/source/libX11/post-install/libX11.post-install
+drwxr-xr-x 2 root root 4096 2016-10-26 20:10 ./patches/source/libX11/slack-desc
+-rw-r--r-- 1 root root 762 2012-04-08 02:42 ./patches/source/libX11/slack-desc/libX11
+drwxr-xr-x 3 root root 4096 2016-10-26 20:10 ./patches/source/libX11/src
+drwxr-xr-x 2 root root 4096 2016-10-26 20:10 ./patches/source/libX11/src/lib
+-rw-r--r-- 1 root root 1762644 2016-10-04 20:21 ./patches/source/libX11/src/lib/libX11-1.6.4.tar.xz
+-rwxr-xr-x 1 root root 13192 2016-10-26 20:29 ./patches/source/libX11/x11.SlackBuild
+drwxr-xr-x 10 root root 4096 2017-11-29 07:02 ./patches/source/libXcursor
+-rw-r--r-- 1 root root 183 2009-05-30 01:47 ./patches/source/libXcursor/arch.use.flags
+drwxr-xr-x 2 root root 4096 2017-11-29 07:03 ./patches/source/libXcursor/build
+-rwxr-xr-x 1 root root 507 2013-03-07 23:41 ./patches/source/libXcursor/build/increment.sh
+-rw-r--r-- 1 root root 12 2017-11-29 07:03 ./patches/source/libXcursor/build/libXcursor
+drwxr-xr-x 2 root root 4096 2014-01-13 21:54 ./patches/source/libXcursor/configure
+-rw-r--r-- 1 root root 317 2010-11-05 06:13 ./patches/source/libXcursor/configure/configure
+drwxr-xr-x 2 root root 4096 2014-01-13 21:54 ./patches/source/libXcursor/doinst.sh
+-rwxr-xr-x 1 root root 1208 2017-11-29 07:02 ./patches/source/libXcursor/libXcursor.SlackBuild
+drwxr-xr-x 2 root root 4096 2014-01-13 21:54 ./patches/source/libXcursor/makepkg
+-rw-r--r-- 1 root root 3374 2013-09-07 20:34 ./patches/source/libXcursor/modularize
+-rw-r--r-- 1 root root 1220 2012-05-09 18:58 ./patches/source/libXcursor/noarch
+-rw-r--r-- 1 root root 833 2013-02-21 22:10 ./patches/source/libXcursor/package-blacklist
+drwxr-xr-x 2 root root 4096 2017-11-29 07:03 ./patches/source/libXcursor/patch
+drwxr-xr-x 2 root root 4096 2014-01-13 21:55 ./patches/source/libXcursor/post-install
+drwxr-xr-x 2 root root 4096 2017-11-29 07:04 ./patches/source/libXcursor/slack-desc
+-rw-r--r-- 1 root root 827 2012-04-08 03:06 ./patches/source/libXcursor/slack-desc/libXcursor
+drwxr-xr-x 12 root root 4096 2014-01-13 21:46 ./patches/source/libXcursor/src
+drwxr-xr-x 2 root root 4096 2014-01-13 21:46 ./patches/source/libXcursor/src/app
+drwxr-xr-x 2 root root 4096 2014-01-13 21:46 ./patches/source/libXcursor/src/data
+drwxr-xr-x 2 root root 4096 2014-01-13 21:46 ./patches/source/libXcursor/src/doc
+drwxr-xr-x 2 root root 4096 2014-01-13 21:46 ./patches/source/libXcursor/src/driver
+drwxr-xr-x 2 root root 4096 2014-01-13 21:46 ./patches/source/libXcursor/src/font
+drwxr-xr-x 2 root root 4096 2017-11-29 07:04 ./patches/source/libXcursor/src/lib
+-rw-r--r-- 1 root root 273708 2017-11-28 14:26 ./patches/source/libXcursor/src/lib/libXcursor-1.1.15.tar.xz
+drwxr-xr-x 2 root root 4096 2014-01-13 21:46 ./patches/source/libXcursor/src/proto
+drwxr-xr-x 2 root root 4096 2014-01-13 21:46 ./patches/source/libXcursor/src/util
+drwxr-xr-x 2 root root 4096 2014-01-13 21:46 ./patches/source/libXcursor/src/xcb
+drwxr-xr-x 2 root root 4096 2014-01-13 21:46 ./patches/source/libXcursor/src/xserver
+-rwxr-xr-x 1 root root 12673 2013-02-21 20:09 ./patches/source/libXcursor/x11-build-script.sh
+drwxr-xr-x 10 root root 4096 2016-10-26 20:34 ./patches/source/libXext
+-rw-r--r-- 1 root root 257 2015-08-19 06:05 ./patches/source/libXext/arch.use.flags
+drwxr-xr-x 2 root root 4096 2016-10-26 20:34 ./patches/source/libXext/build
+-rw-r--r-- 1 root root 12 2016-10-26 20:35 ./patches/source/libXext/build/libXext
+drwxr-xr-x 2 root root 4096 2016-10-26 20:34 ./patches/source/libXext/configure
+-rw-r--r-- 1 root root 361 2016-01-16 20:11 ./patches/source/libXext/configure/configure
+drwxr-xr-x 2 root root 4096 2016-10-26 20:34 ./patches/source/libXext/doinst.sh
+-rwxr-xr-x 1 root root 84 2016-10-26 20:34 ./patches/source/libXext/libXext.SlackBuild
+drwxr-xr-x 2 root root 4096 2016-10-26 20:34 ./patches/source/libXext/makepkg
+-rw-r--r-- 1 root root 3467 2015-11-19 17:51 ./patches/source/libXext/modularize
+-rw-r--r-- 1 root root 1206 2016-01-12 20:54 ./patches/source/libXext/noarch
+-rw-r--r-- 1 root root 856 2016-01-12 23:39 ./patches/source/libXext/package-blacklist
+drwxr-xr-x 2 root root 4096 2016-10-26 20:34 ./patches/source/libXext/patch
+drwxr-xr-x 2 root root 4096 2016-10-26 20:34 ./patches/source/libXext/post-install
+drwxr-xr-x 2 root root 4096 2016-10-26 20:34 ./patches/source/libXext/slack-desc
+-rw-r--r-- 1 root root 793 2012-04-08 03:08 ./patches/source/libXext/slack-desc/libXext
+drwxr-xr-x 3 root root 4096 2016-10-26 20:34 ./patches/source/libXext/src
+drwxr-xr-x 2 root root 4096 2016-10-26 20:34 ./patches/source/libXext/src/lib
+-rw-r--r-- 1 root root 314576 2014-07-24 01:41 ./patches/source/libXext/src/lib/libXext-1.3.3.tar.xz
+-rwxr-xr-x 1 root root 13192 2016-10-26 20:35 ./patches/source/libXext/x11.SlackBuild
+drwxr-xr-x 10 root root 4096 2016-10-26 20:40 ./patches/source/libXfixes
+-rw-r--r-- 1 root root 257 2015-08-19 06:05 ./patches/source/libXfixes/arch.use.flags
+drwxr-xr-x 2 root root 4096 2016-10-26 20:40 ./patches/source/libXfixes/build
+-rw-r--r-- 1 root root 12 2016-10-26 20:40 ./patches/source/libXfixes/build/libXfixes
+drwxr-xr-x 2 root root 4096 2016-10-26 20:40 ./patches/source/libXfixes/configure
+-rw-r--r-- 1 root root 361 2016-01-16 20:11 ./patches/source/libXfixes/configure/configure
+drwxr-xr-x 2 root root 4096 2016-10-26 20:40 ./patches/source/libXfixes/doinst.sh
+-rwxr-xr-x 1 root root 88 2016-10-26 20:40 ./patches/source/libXfixes/libXfixes.SlackBuild
+drwxr-xr-x 2 root root 4096 2016-10-26 20:40 ./patches/source/libXfixes/makepkg
+-rw-r--r-- 1 root root 3467 2015-11-19 17:51 ./patches/source/libXfixes/modularize
+-rw-r--r-- 1 root root 1206 2016-01-12 20:54 ./patches/source/libXfixes/noarch
+-rw-r--r-- 1 root root 856 2016-01-12 23:39 ./patches/source/libXfixes/package-blacklist
+drwxr-xr-x 2 root root 4096 2016-10-26 20:40 ./patches/source/libXfixes/patch
+drwxr-xr-x 2 root root 4096 2016-10-26 20:40 ./patches/source/libXfixes/post-install
+drwxr-xr-x 2 root root 4096 2016-10-26 20:40 ./patches/source/libXfixes/slack-desc
+-rw-r--r-- 1 root root 811 2012-04-08 03:08 ./patches/source/libXfixes/slack-desc/libXfixes
+drwxr-xr-x 3 root root 4096 2016-10-26 20:40 ./patches/source/libXfixes/src
+drwxr-xr-x 2 root root 4096 2016-10-26 20:40 ./patches/source/libXfixes/src/lib
+-rw-r--r-- 1 root root 243620 2016-10-04 20:22 ./patches/source/libXfixes/src/lib/libXfixes-5.0.3.tar.xz
+-rwxr-xr-x 1 root root 13192 2016-10-26 20:40 ./patches/source/libXfixes/x11.SlackBuild
+drwxr-xr-x 10 root root 4096 2014-01-13 21:55 ./patches/source/libXfont
+-rw-r--r-- 1 root root 183 2009-05-30 01:47 ./patches/source/libXfont/arch.use.flags
+drwxr-xr-x 2 root root 4096 2014-01-13 21:47 ./patches/source/libXfont/build
+-rwxr-xr-x 1 root root 507 2013-03-07 23:41 ./patches/source/libXfont/build/increment.sh
+-rw-r--r-- 1 root root 12 2017-11-29 06:33 ./patches/source/libXfont/build/libXfont
+drwxr-xr-x 2 root root 4096 2014-01-13 21:54 ./patches/source/libXfont/configure
+-rw-r--r-- 1 root root 317 2010-11-05 06:13 ./patches/source/libXfont/configure/configure
+drwxr-xr-x 2 root root 4096 2014-01-13 21:54 ./patches/source/libXfont/doinst.sh
+-rwxr-xr-x 1 root root 1206 2014-01-13 21:53 ./patches/source/libXfont/libXfont.SlackBuild
+drwxr-xr-x 2 root root 4096 2014-01-13 21:54 ./patches/source/libXfont/makepkg
+-rw-r--r-- 1 root root 3374 2013-09-07 20:34 ./patches/source/libXfont/modularize
+-rw-r--r-- 1 root root 1220 2012-05-09 18:58 ./patches/source/libXfont/noarch
+-rw-r--r-- 1 root root 833 2013-02-21 22:10 ./patches/source/libXfont/package-blacklist
+drwxr-xr-x 3 root root 4096 2017-11-29 06:33 ./patches/source/libXfont/patch
+drwxr-xr-x 2 root root 4096 2017-11-29 06:32 ./patches/source/libXfont/patch/libXfont
+-rw-r--r-- 1 root root 134 2017-11-29 06:32 ./patches/source/libXfont/patch/libXfont.patch
+-rw-r--r-- 1 root root 880 2017-11-29 06:37 ./patches/source/libXfont/patch/libXfont/libXfont.CVE-2017-16611.diff.gz
+drwxr-xr-x 2 root root 4096 2014-01-13 21:55 ./patches/source/libXfont/post-install
+drwxr-xr-x 2 root root 4096 2014-01-13 21:55 ./patches/source/libXfont/slack-desc
+-rw-r--r-- 1 root root 1034 2012-04-08 03:18 ./patches/source/libXfont/slack-desc/libXfont
+drwxr-xr-x 12 root root 4096 2014-01-13 21:46 ./patches/source/libXfont/src
+drwxr-xr-x 2 root root 4096 2014-01-13 21:46 ./patches/source/libXfont/src/app
+drwxr-xr-x 2 root root 4096 2014-01-13 21:46 ./patches/source/libXfont/src/data
+drwxr-xr-x 2 root root 4096 2014-01-13 21:46 ./patches/source/libXfont/src/doc
+drwxr-xr-x 2 root root 4096 2014-01-13 21:46 ./patches/source/libXfont/src/driver
+drwxr-xr-x 2 root root 4096 2014-01-13 21:46 ./patches/source/libXfont/src/font
+drwxr-xr-x 2 root root 4096 2014-01-13 21:46 ./patches/source/libXfont/src/lib
+-rw-r--r-- 1 root root 408060 2014-01-07 16:29 ./patches/source/libXfont/src/lib/libXfont-1.4.7.tar.xz
+drwxr-xr-x 2 root root 4096 2014-01-13 21:46 ./patches/source/libXfont/src/proto
+drwxr-xr-x 2 root root 4096 2014-01-13 21:46 ./patches/source/libXfont/src/util
+drwxr-xr-x 2 root root 4096 2014-01-13 21:46 ./patches/source/libXfont/src/xcb
+drwxr-xr-x 2 root root 4096 2014-01-13 21:46 ./patches/source/libXfont/src/xserver
+-rwxr-xr-x 1 root root 12673 2013-02-21 20:09 ./patches/source/libXfont/x11-build-script.sh
+drwxr-xr-x 10 root root 4096 2016-10-26 20:31 ./patches/source/libXi
+-rw-r--r-- 1 root root 257 2015-08-19 06:05 ./patches/source/libXi/arch.use.flags
+drwxr-xr-x 2 root root 4096 2016-10-26 20:31 ./patches/source/libXi/build
+-rw-r--r-- 1 root root 12 2016-10-26 20:31 ./patches/source/libXi/build/libXi
+drwxr-xr-x 2 root root 4096 2016-10-26 20:31 ./patches/source/libXi/configure
+-rw-r--r-- 1 root root 361 2016-01-16 20:11 ./patches/source/libXi/configure/configure
+drwxr-xr-x 2 root root 4096 2016-10-26 20:31 ./patches/source/libXi/doinst.sh
+-rwxr-xr-x 1 root root 80 2016-10-26 20:31 ./patches/source/libXi/libXi.SlackBuild
+drwxr-xr-x 2 root root 4096 2016-10-26 20:31 ./patches/source/libXi/makepkg
+-rw-r--r-- 1 root root 3467 2015-11-19 17:51 ./patches/source/libXi/modularize
+-rw-r--r-- 1 root root 1206 2016-01-12 20:54 ./patches/source/libXi/noarch
+-rw-r--r-- 1 root root 856 2016-01-12 23:39 ./patches/source/libXi/package-blacklist
+drwxr-xr-x 2 root root 4096 2016-10-26 20:31 ./patches/source/libXi/patch
+drwxr-xr-x 2 root root 4096 2016-10-26 20:31 ./patches/source/libXi/post-install
+drwxr-xr-x 2 root root 4096 2016-10-26 20:31 ./patches/source/libXi/slack-desc
+-rw-r--r-- 1 root root 749 2012-04-08 03:18 ./patches/source/libXi/slack-desc/libXi
+-rw-r--r-- 1 root root 846 2012-04-08 03:19 ./patches/source/libXi/slack-desc/libXinerama
+drwxr-xr-x 3 root root 4096 2016-10-26 20:31 ./patches/source/libXi/src
+drwxr-xr-x 2 root root 4096 2016-10-26 20:31 ./patches/source/libXi/src/lib
+-rw-r--r-- 1 root root 396928 2016-10-25 02:45 ./patches/source/libXi/src/lib/libXi-1.7.8.tar.xz
+-rw-r--r-- 1 root root 236468 2013-05-31 00:36 ./patches/source/libXi/src/lib/libXinerama-1.1.3.tar.xz
+-rwxr-xr-x 1 root root 13192 2016-10-26 20:31 ./patches/source/libXi/x11.SlackBuild
+drwxr-xr-x 10 root root 4096 2016-10-26 20:42 ./patches/source/libXrandr
+-rw-r--r-- 1 root root 257 2015-08-19 06:05 ./patches/source/libXrandr/arch.use.flags
+drwxr-xr-x 2 root root 4096 2016-10-26 20:42 ./patches/source/libXrandr/build
+-rw-r--r-- 1 root root 12 2016-10-26 20:42 ./patches/source/libXrandr/build/libXrandr
+drwxr-xr-x 2 root root 4096 2016-10-26 20:42 ./patches/source/libXrandr/configure
+-rw-r--r-- 1 root root 361 2016-01-16 20:11 ./patches/source/libXrandr/configure/configure
+drwxr-xr-x 2 root root 4096 2016-10-26 20:42 ./patches/source/libXrandr/doinst.sh
+-rwxr-xr-x 1 root root 88 2016-10-26 20:42 ./patches/source/libXrandr/libXrandr.SlackBuild
+drwxr-xr-x 2 root root 4096 2016-10-26 20:42 ./patches/source/libXrandr/makepkg
+-rw-r--r-- 1 root root 3467 2015-11-19 17:51 ./patches/source/libXrandr/modularize
+-rw-r--r-- 1 root root 1206 2016-01-12 20:54 ./patches/source/libXrandr/noarch
+-rw-r--r-- 1 root root 856 2016-01-12 23:39 ./patches/source/libXrandr/package-blacklist
+drwxr-xr-x 2 root root 4096 2016-10-26 20:42 ./patches/source/libXrandr/patch
+drwxr-xr-x 2 root root 4096 2016-10-26 20:42 ./patches/source/libXrandr/post-install
+drwxr-xr-x 2 root root 4096 2016-10-26 20:42 ./patches/source/libXrandr/slack-desc
+-rw-r--r-- 1 root root 821 2012-04-08 03:24 ./patches/source/libXrandr/slack-desc/libXrandr
+drwxr-xr-x 3 root root 4096 2016-10-26 20:42 ./patches/source/libXrandr/src
+drwxr-xr-x 2 root root 4096 2016-10-26 20:42 ./patches/source/libXrandr/src/lib
+-rw-r--r-- 1 root root 262536 2016-10-04 20:23 ./patches/source/libXrandr/src/lib/libXrandr-1.5.1.tar.xz
+-rwxr-xr-x 1 root root 13192 2016-10-26 20:42 ./patches/source/libXrandr/x11.SlackBuild
+drwxr-xr-x 10 root root 4096 2016-10-26 20:45 ./patches/source/libXrender
+-rw-r--r-- 1 root root 257 2015-08-19 06:05 ./patches/source/libXrender/arch.use.flags
+drwxr-xr-x 2 root root 4096 2016-10-26 20:45 ./patches/source/libXrender/build
+-rw-r--r-- 1 root root 12 2016-10-26 20:45 ./patches/source/libXrender/build/libXrender
+drwxr-xr-x 2 root root 4096 2016-10-26 20:45 ./patches/source/libXrender/configure
+-rw-r--r-- 1 root root 361 2016-01-16 20:11 ./patches/source/libXrender/configure/configure
+drwxr-xr-x 2 root root 4096 2016-10-26 20:45 ./patches/source/libXrender/doinst.sh
+-rwxr-xr-x 1 root root 90 2016-10-26 20:45 ./patches/source/libXrender/libXrender.SlackBuild
+drwxr-xr-x 2 root root 4096 2016-10-26 20:45 ./patches/source/libXrender/makepkg
+-rw-r--r-- 1 root root 3467 2015-11-19 17:51 ./patches/source/libXrender/modularize
+-rw-r--r-- 1 root root 1206 2016-01-12 20:54 ./patches/source/libXrender/noarch
+-rw-r--r-- 1 root root 856 2016-01-12 23:39 ./patches/source/libXrender/package-blacklist
+drwxr-xr-x 2 root root 4096 2016-10-26 20:45 ./patches/source/libXrender/patch
+drwxr-xr-x 2 root root 4096 2016-10-26 20:45 ./patches/source/libXrender/post-install
+drwxr-xr-x 2 root root 4096 2016-10-26 20:45 ./patches/source/libXrender/slack-desc
+-rw-r--r-- 1 root root 838 2012-04-08 03:24 ./patches/source/libXrender/slack-desc/libXrender
+drwxr-xr-x 3 root root 4096 2016-10-26 20:45 ./patches/source/libXrender/src
+drwxr-xr-x 2 root root 4096 2016-10-26 20:45 ./patches/source/libXrender/src/lib
+-rw-r--r-- 1 root root 255432 2016-10-04 20:24 ./patches/source/libXrender/src/lib/libXrender-0.9.10.tar.xz
+-rwxr-xr-x 1 root root 13192 2016-10-26 20:45 ./patches/source/libXrender/x11.SlackBuild
+drwxr-xr-x 10 root root 4096 2016-10-26 20:46 ./patches/source/libXtst
+-rw-r--r-- 1 root root 257 2015-08-19 06:05 ./patches/source/libXtst/arch.use.flags
+drwxr-xr-x 2 root root 4096 2016-10-26 20:46 ./patches/source/libXtst/build
+-rw-r--r-- 1 root root 12 2016-10-26 20:46 ./patches/source/libXtst/build/libXtst
+drwxr-xr-x 2 root root 4096 2016-10-26 20:46 ./patches/source/libXtst/configure
+-rw-r--r-- 1 root root 361 2016-01-16 20:11 ./patches/source/libXtst/configure/configure
+drwxr-xr-x 2 root root 4096 2016-10-26 20:46 ./patches/source/libXtst/doinst.sh
+-rwxr-xr-x 1 root root 84 2016-10-26 20:46 ./patches/source/libXtst/libXtst.SlackBuild
+drwxr-xr-x 2 root root 4096 2016-10-26 20:46 ./patches/source/libXtst/makepkg
+-rw-r--r-- 1 root root 3467 2015-11-19 17:51 ./patches/source/libXtst/modularize
+-rw-r--r-- 1 root root 1206 2016-01-12 20:54 ./patches/source/libXtst/noarch
+-rw-r--r-- 1 root root 856 2016-01-12 23:39 ./patches/source/libXtst/package-blacklist
+drwxr-xr-x 2 root root 4096 2016-10-26 20:46 ./patches/source/libXtst/patch
+drwxr-xr-x 2 root root 4096 2016-10-26 20:46 ./patches/source/libXtst/post-install
+drwxr-xr-x 2 root root 4096 2016-10-26 20:46 ./patches/source/libXtst/slack-desc
+-rw-r--r-- 1 root root 792 2012-04-08 03:26 ./patches/source/libXtst/slack-desc/libXtst
+drwxr-xr-x 3 root root 4096 2016-10-26 20:46 ./patches/source/libXtst/src
+drwxr-xr-x 2 root root 4096 2016-10-26 20:46 ./patches/source/libXtst/src/lib
+-rw-r--r-- 1 root root 267468 2016-10-04 20:25 ./patches/source/libXtst/src/lib/libXtst-1.2.3.tar.xz
+-rwxr-xr-x 1 root root 13192 2016-10-26 20:46 ./patches/source/libXtst/x11.SlackBuild
+drwxr-xr-x 10 root root 4096 2016-10-26 20:49 ./patches/source/libXv
+-rw-r--r-- 1 root root 257 2015-08-19 06:05 ./patches/source/libXv/arch.use.flags
+drwxr-xr-x 2 root root 4096 2016-10-26 20:49 ./patches/source/libXv/build
+-rw-r--r-- 1 root root 12 2016-10-26 20:49 ./patches/source/libXv/build/libXv
+drwxr-xr-x 2 root root 4096 2016-10-26 20:49 ./patches/source/libXv/configure
+-rw-r--r-- 1 root root 361 2016-01-16 20:11 ./patches/source/libXv/configure/configure
+drwxr-xr-x 2 root root 4096 2016-10-26 20:49 ./patches/source/libXv/doinst.sh
+-rwxr-xr-x 1 root root 80 2016-10-26 20:49 ./patches/source/libXv/libXv.SlackBuild
+drwxr-xr-x 2 root root 4096 2016-10-26 20:49 ./patches/source/libXv/makepkg
+-rw-r--r-- 1 root root 3467 2015-11-19 17:51 ./patches/source/libXv/modularize
+-rw-r--r-- 1 root root 1206 2016-01-12 20:54 ./patches/source/libXv/noarch
+-rw-r--r-- 1 root root 856 2016-01-12 23:39 ./patches/source/libXv/package-blacklist
+drwxr-xr-x 2 root root 4096 2016-10-26 20:49 ./patches/source/libXv/patch
+drwxr-xr-x 2 root root 4096 2016-10-26 20:49 ./patches/source/libXv/post-install
+drwxr-xr-x 2 root root 4096 2016-10-26 20:49 ./patches/source/libXv/slack-desc
+-rw-r--r-- 1 root root 777 2012-04-08 03:26 ./patches/source/libXv/slack-desc/libXv
+-rw-r--r-- 1 root root 777 2012-04-08 02:52 ./patches/source/libXv/slack-desc/libXvMC
+drwxr-xr-x 3 root root 4096 2016-10-26 20:49 ./patches/source/libXv/src
+drwxr-xr-x 2 root root 4096 2016-10-26 20:49 ./patches/source/libXv/src/lib
+-rw-r--r-- 1 root root 257292 2016-10-04 20:25 ./patches/source/libXv/src/lib/libXv-1.0.11.tar.xz
+-rw-r--r-- 1 root root 254256 2016-10-04 20:26 ./patches/source/libXv/src/lib/libXvMC-1.0.10.tar.xz
+-rwxr-xr-x 1 root root 13192 2016-10-26 20:49 ./patches/source/libXv/x11.SlackBuild
+drwxr-xr-x 10 root root 4096 2016-10-26 20:50 ./patches/source/libXvMC
+-rw-r--r-- 1 root root 257 2015-08-19 06:05 ./patches/source/libXvMC/arch.use.flags
+drwxr-xr-x 2 root root 4096 2016-10-26 20:50 ./patches/source/libXvMC/build
+-rw-r--r-- 1 root root 12 2016-10-26 20:50 ./patches/source/libXvMC/build/libXvMC
+drwxr-xr-x 2 root root 4096 2016-10-26 20:50 ./patches/source/libXvMC/configure
+-rw-r--r-- 1 root root 361 2016-01-16 20:11 ./patches/source/libXvMC/configure/configure
+drwxr-xr-x 2 root root 4096 2016-10-26 20:50 ./patches/source/libXvMC/doinst.sh
+-rwxr-xr-x 1 root root 84 2016-10-26 20:50 ./patches/source/libXvMC/libXvMC.SlackBuild
+drwxr-xr-x 2 root root 4096 2016-10-26 20:50 ./patches/source/libXvMC/makepkg
+-rw-r--r-- 1 root root 3467 2015-11-19 17:51 ./patches/source/libXvMC/modularize
+-rw-r--r-- 1 root root 1206 2016-01-12 20:54 ./patches/source/libXvMC/noarch
+-rw-r--r-- 1 root root 856 2016-01-12 23:39 ./patches/source/libXvMC/package-blacklist
+drwxr-xr-x 2 root root 4096 2016-10-26 20:50 ./patches/source/libXvMC/patch
+drwxr-xr-x 2 root root 4096 2016-10-26 20:50 ./patches/source/libXvMC/post-install
+drwxr-xr-x 2 root root 4096 2016-10-26 20:50 ./patches/source/libXvMC/slack-desc
+-rw-r--r-- 1 root root 777 2012-04-08 02:52 ./patches/source/libXvMC/slack-desc/libXvMC
+drwxr-xr-x 3 root root 4096 2016-10-26 20:50 ./patches/source/libXvMC/src
+drwxr-xr-x 2 root root 4096 2016-10-26 20:50 ./patches/source/libXvMC/src/lib
+-rw-r--r-- 1 root root 254256 2016-10-04 20:26 ./patches/source/libXvMC/src/lib/libXvMC-1.0.10.tar.xz
+-rwxr-xr-x 1 root root 13192 2016-10-26 20:50 ./patches/source/libXvMC/x11.SlackBuild
+drwxr-xr-x 2 root root 4096 2012-07-18 03:23 ./patches/source/libexif
+-rw-r--r-- 1 root root 899556 2012-07-12 20:35 ./patches/source/libexif/libexif-0.6.21.tar.xz
+-rwxr-xr-x 1 root root 3076 2012-07-18 03:22 ./patches/source/libexif/libexif.SlackBuild
+-rw-r--r-- 1 root root 196 2012-07-18 03:23 ./patches/source/libexif/libexif.pc.diff.gz
+-rw-r--r-- 1 root root 855 2008-02-11 03:44 ./patches/source/libexif/slack-desc
+drwxr-xr-x 2 root root 4096 2016-08-23 18:23 ./patches/source/libgcrypt
+-rw-r--r-- 1 root root 1548918 2016-08-17 12:18 ./patches/source/libgcrypt/libgcrypt-1.5.6.tar.bz2
+-rw-r--r-- 1 root root 287 2016-08-17 12:18 ./patches/source/libgcrypt/libgcrypt-1.5.6.tar.bz2.sig
+-rwxr-xr-x 1 root root 3242 2016-02-23 06:40 ./patches/source/libgcrypt/libgcrypt.SlackBuild
+-rw-r--r-- 1 root root 705 2007-03-15 20:47 ./patches/source/libgcrypt/slack-desc
+drwxr-xr-x 2 root root 4096 2013-05-19 07:31 ./patches/source/libgpg-error
+-rw-r--r-- 1 root root 489057 2013-02-25 12:17 ./patches/source/libgpg-error/libgpg-error-1.11.tar.bz2
+-rw-r--r-- 1 root root 287 2013-02-25 12:17 ./patches/source/libgpg-error/libgpg-error-1.11.tar.bz2.sig
+-rwxr-xr-x 1 root root 3701 2013-08-02 04:15 ./patches/source/libgpg-error/libgpg-error.SlackBuild
+-rw-r--r-- 1 root root 856 2007-03-15 20:47 ./patches/source/libgpg-error/slack-desc
+drwxr-xr-x 2 root root 4096 2018-04-01 19:02 ./patches/source/libidn
+-rw-r--r-- 1 root root 2176452 2018-03-31 15:03 ./patches/source/libidn/libidn-1.34.tar.xz
+-rwxr-xr-x 1 root root 4151 2018-04-01 19:12 ./patches/source/libidn/libidn.SlackBuild
+-rw-r--r-- 1 root root 790 2018-02-27 06:12 ./patches/source/libidn/slack-desc
+drwxr-xr-x 2 root root 4096 2013-12-14 06:06 ./patches/source/libjpeg
+-rw-r--r-- 1 root root 439 2006-12-11 21:45 ./patches/source/libjpeg/_libjpeg.tar.gz
+-rw-r--r-- 1 root root 943 1999-03-12 19:50 ./patches/source/libjpeg/jpeg-6b.diff.gz
+-rw-r--r-- 1 root root 694 2013-12-10 23:00 ./patches/source/libjpeg/jpeg.CVE-2013-6629.diff.gz
+-rw-r--r-- 1 root root 613261 1998-03-27 22:46 ./patches/source/libjpeg/jpegsrc.v6b.tar.gz
+-rwxr-xr-x 1 root root 3497 2013-12-14 06:06 ./patches/source/libjpeg/libjpeg.SlackBuild
+-rw-r--r-- 1 root root 1120 2002-03-23 23:37 ./patches/source/libjpeg/slack-desc
+drwxr-xr-x 2 root root 4096 2016-12-30 16:59 ./patches/source/libpng
+-rw-r--r-- 1 root root 656784 2016-12-29 14:13 ./patches/source/libpng/libpng-1.2.57.tar.xz
+-rwxr-xr-x 1 root root 3371 2016-12-30 16:59 ./patches/source/libpng/libpng.SlackBuild
+-rw-r--r-- 1 root root 315 2006-08-27 02:23 ./patches/source/libpng/libpng.libs.diff.gz
+-rw-r--r-- 1 root root 949 2002-03-23 23:42 ./patches/source/libpng/slack-desc
+drwxr-xr-x 2 root root 4096 2013-10-17 22:41 ./patches/source/libtiff
+-rwxr-xr-x 1 root root 4080 2013-10-17 23:21 ./patches/source/libtiff/libtiff.SlackBuild
+-rw-r--r-- 1 root root 852 2004-10-28 01:28 ./patches/source/libtiff/slack-desc
+-rw-r--r-- 1 root root 953828 2012-09-22 17:17 ./patches/source/libtiff/tiff-3.9.7.tar.xz
+-rw-r--r-- 1 root root 33516 2013-10-17 21:51 ./patches/source/libtiff/tiff-3.9.7_CVE-2012-4447_CVE-2012-4564_CVE-2013-1960_CVE-2013-1961.diff.gz
+-rw-r--r-- 1 root root 406 2013-10-17 21:51 ./patches/source/libtiff/tiff-3.9.7_CVE-2013-4231.diff.gz
+-rw-r--r-- 1 root root 472 2013-10-17 21:52 ./patches/source/libtiff/tiff-3.9.7_CVE-2013-4232.diff.gz
+-rw-r--r-- 1 root root 454 2013-10-17 21:52 ./patches/source/libtiff/tiff-3.9.7_CVE-2013-4244.diff.gz
+drwxr-xr-x 2 root root 4096 2018-04-30 21:27 ./patches/source/libwmf
+-rw-r--r-- 1 root root 354 2017-09-12 12:21 ./patches/source/libwmf/libwmf-0.2.8.4-CVE-2004-0941.patch.gz
+-rw-r--r-- 1 root root 480 2017-09-12 12:21 ./patches/source/libwmf/libwmf-0.2.8.4-CVE-2006-3376.patch.gz
+-rw-r--r-- 1 root root 221 2017-09-12 12:21 ./patches/source/libwmf/libwmf-0.2.8.4-CVE-2007-0455.patch.gz
+-rw-r--r-- 1 root root 337 2017-09-12 12:21 ./patches/source/libwmf/libwmf-0.2.8.4-CVE-2007-2756.patch.gz
+-rw-r--r-- 1 root root 720 2018-04-30 21:59 ./patches/source/libwmf/libwmf-0.2.8.4-CVE-2007-3472.patch.gz
+-rw-r--r-- 1 root root 269 2017-09-12 12:21 ./patches/source/libwmf/libwmf-0.2.8.4-CVE-2007-3473.patch.gz
+-rw-r--r-- 1 root root 302 2017-09-12 12:21 ./patches/source/libwmf/libwmf-0.2.8.4-CVE-2007-3477.patch.gz
+-rw-r--r-- 1 root root 282 2017-09-12 12:21 ./patches/source/libwmf/libwmf-0.2.8.4-CVE-2009-3546.patch.gz
+-rw-r--r-- 1 root root 1120 2017-09-12 12:21 ./patches/source/libwmf/libwmf-0.2.8.4-CVE-2015-0848+CVE-2015-4588.patch.gz
+-rw-r--r-- 1 root root 372 2017-09-12 12:21 ./patches/source/libwmf/libwmf-0.2.8.4-CVE-2015-4695.patch.gz
+-rw-r--r-- 1 root root 277 2017-09-12 12:21 ./patches/source/libwmf/libwmf-0.2.8.4-CVE-2015-4696.patch.gz
+-rw-r--r-- 1 root root 345 2017-09-12 12:21 ./patches/source/libwmf/libwmf-0.2.8.4-CVE-2016-10167.patch.gz
+-rw-r--r-- 1 root root 337 2018-04-30 21:59 ./patches/source/libwmf/libwmf-0.2.8.4-CVE-2016-10168.patch.gz
+-rw-r--r-- 1 root root 580 2017-09-12 12:21 ./patches/source/libwmf/libwmf-0.2.8.4-CVE-2016-9011.patch.gz
+-rw-r--r-- 1 root root 280 2017-09-12 12:21 ./patches/source/libwmf/libwmf-0.2.8.4-CVE-2016-9317.patch.gz
+-rw-r--r-- 1 root root 510 2017-09-12 12:21 ./patches/source/libwmf/libwmf-0.2.8.4-CVE-2017-6362.patch.gz
+-rw-r--r-- 1 root root 348 2017-09-12 12:21 ./patches/source/libwmf/libwmf-0.2.8.4-fallbackfont.patch.gz
+-rw-r--r-- 1 root root 404 2017-09-12 12:21 ./patches/source/libwmf/libwmf-0.2.8.4-pixbufloaderdir.patch.gz
+-rw-r--r-- 1 root root 3498 2017-09-12 12:21 ./patches/source/libwmf/libwmf-0.2.8.4-reducesymbols.patch.gz
+-rw-r--r-- 1 root root 320 2017-09-12 12:21 ./patches/source/libwmf/libwmf-0.2.8.4-useafterfree.patch.gz
+-rw-r--r-- 1 root root 1271924 2006-06-14 06:20 ./patches/source/libwmf/libwmf-0.2.8.4.tar.xz
+-rwxr-xr-x 1 root root 5372 2018-04-30 22:05 ./patches/source/libwmf/libwmf.SlackBuild
+-rw-r--r-- 1 root root 340 2010-02-15 00:24 ./patches/source/libwmf/libwmf.png14.diff.gz
+-rw-r--r-- 1 root root 742 2018-02-27 06:12 ./patches/source/libwmf/slack-desc
+drwxr-xr-x 10 root root 4096 2016-10-26 20:17 ./patches/source/libxcb
+-rw-r--r-- 1 root root 257 2015-08-19 06:05 ./patches/source/libxcb/arch.use.flags
+drwxr-xr-x 2 root root 4096 2016-10-26 20:17 ./patches/source/libxcb/build
+-rw-r--r-- 1 root root 12 2016-11-15 19:49 ./patches/source/libxcb/build/libxcb
+drwxr-xr-x 2 root root 4096 2016-10-26 20:17 ./patches/source/libxcb/configure
+-rw-r--r-- 1 root root 354 2014-05-31 08:54 ./patches/source/libxcb/configure/libxcb
+drwxr-xr-x 2 root root 4096 2016-10-26 20:17 ./patches/source/libxcb/doinst.sh
+-rwxr-xr-x 1 root root 82 2016-10-26 20:17 ./patches/source/libxcb/libxcb.SlackBuild
+drwxr-xr-x 2 root root 4096 2016-10-26 20:17 ./patches/source/libxcb/makepkg
+-rw-r--r-- 1 root root 3467 2015-11-19 17:51 ./patches/source/libxcb/modularize
+-rw-r--r-- 1 root root 1206 2016-01-12 20:54 ./patches/source/libxcb/noarch
+-rw-r--r-- 1 root root 856 2016-01-12 23:39 ./patches/source/libxcb/package-blacklist
+drwxr-xr-x 2 root root 4096 2016-10-26 20:17 ./patches/source/libxcb/patch
+drwxr-xr-x 2 root root 4096 2016-10-26 20:17 ./patches/source/libxcb/post-install
+-rw-r--r-- 1 root root 3141 2016-11-15 19:45 ./patches/source/libxcb/post-install/libxcb.post-install
+drwxr-xr-x 2 root root 4096 2016-10-26 20:17 ./patches/source/libxcb/slack-desc
+-rw-r--r-- 1 root root 903 2007-02-14 06:52 ./patches/source/libxcb/slack-desc/libxcb
+drwxr-xr-x 3 root root 4096 2016-10-26 20:17 ./patches/source/libxcb/src
+drwxr-xr-x 2 root root 4096 2016-10-26 20:17 ./patches/source/libxcb/src/xcb
+-rw-r--r-- 1 root root 357048 2015-09-06 10:48 ./patches/source/libxcb/src/xcb/libxcb-1.11.1.tar.xz
+-rwxr-xr-x 1 root root 13192 2016-10-26 20:23 ./patches/source/libxcb/x11.SlackBuild
+drwxr-xr-x 2 root root 4096 2012-12-06 03:12 ./patches/source/libxml2
+-rw-r--r-- 1 root root 520 2012-05-22 16:29 ./patches/source/libxml2/libxml.CVE-2011-3102.diff.gz
+-rw-r--r-- 1 root root 2631584 2009-01-18 21:43 ./patches/source/libxml2/libxml2-2.7.3.tar.xz
+-rw-r--r-- 1 root root 438 2012-12-06 03:11 ./patches/source/libxml2/libxml2.CVE-2012-5134.diff.gz
+-rwxr-xr-x 1 root root 3562 2012-12-06 03:15 ./patches/source/libxml2/libxml2.SlackBuild
+-rw-r--r-- 1 root root 980 2008-01-08 23:42 ./patches/source/libxml2/slack-desc
+drwxr-xr-x 2 root root 4096 2009-12-08 04:03 ./patches/source/linux-2.6.29.6-3
+-rw-r--r-- 1 root root 248 2009-08-17 01:17 ./patches/source/linux-2.6.29.6-3/linux-2.6.29.6-01-sendpage.diff.gz
+-rw-r--r-- 1 root root 293 2009-08-17 02:04 ./patches/source/linux-2.6.29.6-3/linux-2.6.29.6-02-default-mmap_min_addr-4096.diff.gz
+-rw-r--r-- 1 root root 264 2009-12-07 20:08 ./patches/source/linux-2.6.29.6-3/linux-2.6.29.6-03-ip_fragment-CVE-2009-1298.diff.gz
+drwxr-xr-x 2 root root 4096 2013-09-27 23:59 ./patches/source/lm_sensors
+-rw-r--r-- 1 root root 172226 2013-05-27 12:49 ./patches/source/lm_sensors/lm_sensors-3.3.4.tar.bz2
+-rw-r--r-- 1 root root 65 2013-05-27 12:49 ./patches/source/lm_sensors/lm_sensors-3.3.4.tar.bz2.sig
+-rwxr-xr-x 1 root root 3815 2013-09-28 00:01 ./patches/source/lm_sensors/lm_sensors.SlackBuild
+-rw-r--r-- 1 root root 312 2008-10-26 01:06 ./patches/source/lm_sensors/lm_sensors.makefile.diff.gz
+-rw-r--r-- 1 root root 1105 2006-09-20 03:52 ./patches/source/lm_sensors/slack-desc
+drwxr-xr-x 2 root root 4096 2017-05-29 19:39 ./patches/source/lynx
+-rw-r--r-- 1 root root 264 2017-05-29 19:39 ./patches/source/lynx/doinst.sh.gz
+-rwxr-xr-x 1 root root 4546 2017-05-29 19:45 ./patches/source/lynx/lynx.SlackBuild
+-rw-r--r-- 1 root root 539 2017-05-29 19:36 ./patches/source/lynx/lynx.cfg.diff.gz
+-rw-r--r-- 1 root root 2189048 2014-03-09 21:43 ./patches/source/lynx/lynx2.8.8rel.2.tar.xz
+-rw-r--r-- 1 root root 953 2002-02-27 06:50 ./patches/source/lynx/slack-desc
+drwxr-xr-x 2 root root 4096 2016-02-29 19:35 ./patches/source/mailx
+-rw-r--r-- 1 root root 281 2006-09-20 05:36 ./patches/source/mailx/doinst.sh.gz
+-rw-r--r-- 1 root root 2618 2016-02-28 17:47 ./patches/source/mailx/heirloom-mailx-12.5-fixes-1.patch.gz
+-rw-r--r-- 1 root root 249292 2010-10-26 12:55 ./patches/source/mailx/mailx-12.5.tar.xz
+-rwxr-xr-x 1 root root 4141 2016-02-29 19:41 ./patches/source/mailx/mailx.SlackBuild
+-rw-r--r-- 1 root root 1023 2008-04-11 02:52 ./patches/source/mailx/slack-desc
+drwxr-xr-x 2 root root 4096 2016-05-02 18:20 ./patches/source/mercurial
+-rw-r--r-- 1 root root 279 2010-05-18 06:20 ./patches/source/mercurial/doinst.sh.gz
+-rw-r--r-- 1 root root 2641600 2016-05-01 19:42 ./patches/source/mercurial/mercurial-3.8.1.tar.xz
+-rwxr-xr-x 1 root root 3773 2016-04-01 19:02 ./patches/source/mercurial/mercurial.SlackBuild
+-rw-r--r-- 1 root root 1253 2006-05-14 00:35 ./patches/source/mercurial/slack-desc
+drwxr-xr-x 2 root root 4096 2009-09-19 21:05 ./patches/source/mesa
+-rw-r--r-- 1 root root 1226672 2009-07-23 06:25 ./patches/source/mesa/MesaDemos-7.5.tar.xz
+-rw-r--r-- 1 root root 251084 2009-07-23 06:25 ./patches/source/mesa/MesaGLUT-7.5.tar.xz
+-rw-r--r-- 1 root root 3601424 2009-07-23 06:25 ./patches/source/mesa/MesaLib-7.5.tar.xz
+-rw-r--r-- 1 root root 352 2008-03-10 07:13 ./patches/source/mesa/README.GIT
+-rw-r--r-- 1 root root 301 2008-03-10 07:14 ./patches/source/mesa/get-mesa.sh
+-rwxr-xr-x 1 root root 4024 2009-09-19 20:54 ./patches/source/mesa/mesa.SlackBuild
+-rw-r--r-- 1 root root 790 2007-02-05 00:06 ./patches/source/mesa/slack-desc
+drwxr-xr-x 2 root root 4096 2017-04-19 03:21 ./patches/source/minicom
+-rw-r--r-- 1 root root 503 2008-09-30 10:20 ./patches/source/minicom/config.sub-x86_64.diff.gz
+-rw-r--r-- 1 root root 290 2011-02-01 21:44 ./patches/source/minicom/doinst.sh.gz
+-rw-r--r-- 1 root root 30271 2009-11-23 17:02 ./patches/source/minicom/lrzsz_0.12.21-5.diff.gz
+-rw-r--r-- 1 root root 287790 1999-09-19 19:01 ./patches/source/minicom/lrzsz_0.12.21.orig.tar.gz
+-rw-r--r-- 1 root root 476912 2017-04-18 09:57 ./patches/source/minicom/minicom-2.7.1.tar.xz
+-rwxr-xr-x 1 root root 4974 2017-04-19 03:21 ./patches/source/minicom/minicom.SlackBuild
+-rw-r--r-- 1 root root 570 2004-09-04 21:17 ./patches/source/minicom/minicom.users.gz
+-rw-r--r-- 1 root root 834 2017-01-05 00:32 ./patches/source/minicom/slack-desc
+drwxr-xr-x 2 root root 4096 2012-03-14 16:31 ./patches/source/mozilla-firefox
+-rw-r--r-- 1 root root 51698958 2012-03-06 07:56 ./patches/source/mozilla-firefox/firefox-3.6.28.source.tar.bz2
+-rw-r--r-- 1 root root 194 2012-03-06 10:47 ./patches/source/mozilla-firefox/firefox-3.6.28.source.tar.bz2.asc
+-rw-r--r-- 1 root root 327 2008-06-17 17:19 ./patches/source/mozilla-firefox/firefox.moz_plugin_path.diff.gz
+-rw-r--r-- 1 root root 24263 2009-06-18 08:34 ./patches/source/mozilla-firefox/firefox.png
+-rw-r--r-- 1 root root 462 2009-07-01 06:05 ./patches/source/mozilla-firefox/mimeTypes.rdf.gz
+-rw-r--r-- 1 root root 680 2009-07-01 13:28 ./patches/source/mozilla-firefox/mozilla-firefox-mimeTypes-fix.diff.gz
+-rwxr-xr-x 1 root root 6340 2012-01-18 20:41 ./patches/source/mozilla-firefox/mozilla-firefox.SlackBuild
+-rw-r--r-- 1 root root 2620 2009-07-01 06:10 ./patches/source/mozilla-firefox/mozilla-firefox.desktop
+-rw-r--r-- 1 root root 993 2005-03-08 04:51 ./patches/source/mozilla-firefox/slack-desc
+drwxr-xr-x 2 root root 4096 2012-03-14 16:50 ./patches/source/mozilla-thunderbird
+-rw-r--r-- 1 root root 1586 2009-12-12 01:10 ./patches/source/mozilla-thunderbird/mimeTypes.rdf.gz
+-rwxr-xr-x 1 root root 5962 2012-01-14 02:55 ./patches/source/mozilla-thunderbird/mozilla-thunderbird.SlackBuild
+-rw-r--r-- 1 root root 3378 2005-03-08 05:13 ./patches/source/mozilla-thunderbird/mozilla-thunderbird.desktop
+-rw-r--r-- 1 root root 1172 2005-03-08 04:50 ./patches/source/mozilla-thunderbird/slack-desc
+-rw-r--r-- 1 root root 68818773 2012-03-06 14:01 ./patches/source/mozilla-thunderbird/thunderbird-3.1.20.source.tar.bz2
+-rw-r--r-- 1 root root 499 2012-03-07 07:13 ./patches/source/mozilla-thunderbird/thunderbird-3.1.20.source.tar.bz2.asc
+-rw-r--r-- 1 root root 47617 2006-02-18 17:00 ./patches/source/mozilla-thunderbird/thunderbird.png
+drwxr-xr-x 2 root root 4096 2014-02-19 04:20 ./patches/source/mysql
+-rw-r--r-- 1 root root 330 2008-10-02 04:21 ./patches/source/mysql/doinst.sh.gz
+-rw-r--r-- 1 root root 35 2014-02-19 03:58 ./patches/source/mysql/mirror-url
+-rw-r--r-- 1 root root 11274280 2012-03-02 14:14 ./patches/source/mysql/mysql-5.0.96.tar.xz
+-rwxr-xr-x 1 root root 1647 2013-01-22 20:20 ./patches/source/mysql/mysql-embedded.build
+-rw-r--r-- 1 root root 330 2014-02-19 04:20 ./patches/source/mysql/mysql.CVE-2014-0001.diff.gz
+-rwxr-xr-x 1 root root 5562 2014-02-19 04:21 ./patches/source/mysql/mysql.SlackBuild
+-rw-r--r-- 1 root root 1208 2008-04-17 20:26 ./patches/source/mysql/rc.mysqld.gz
+-rw-r--r-- 1 root root 816 2002-03-23 22:31 ./patches/source/mysql/slack-desc
+drwxr-xr-x 2 root root 4096 2017-04-20 17:34 ./patches/source/ntp
+-rw-r--r-- 1 root root 391 2013-10-14 07:58 ./patches/source/ntp/doinst.sh.gz
+-rw-r--r-- 1 root root 4280388 2017-03-21 23:23 ./patches/source/ntp/ntp-4.2.8p10.tar.xz
+-rwxr-xr-x 1 root root 5043 2015-07-06 18:01 ./patches/source/ntp/ntp.SlackBuild
+-rw-r--r-- 1 root root 2534 2014-12-20 23:06 ./patches/source/ntp/ntp.conf
+-rw-r--r-- 1 root root 22 1999-10-07 19:50 ./patches/source/ntp/ntp.keys
+-rw-r--r-- 1 root root 269 2010-04-22 04:38 ./patches/source/ntp/ntp.nano.diff.gz
+-rw-r--r-- 1 root root 1481 2013-10-09 01:32 ./patches/source/ntp/rc.ntpd
+-rw-r--r-- 1 root root 986 2002-02-27 23:02 ./patches/source/ntp/slack-desc
+drwxr-xr-x 2 root root 4096 2018-03-08 01:09 ./patches/source/openssh
+-rw-r--r-- 1 root root 569 2014-01-30 21:21 ./patches/source/openssh/doinst.sh.gz
+-rw-r--r-- 1 root root 1631 2016-12-23 18:59 ./patches/source/openssh/openssh-7.4p1-libwrap.diff.gz
+-rw-r--r-- 1 root root 1511780 2016-12-19 13:00 ./patches/source/openssh/openssh-7.4p1.tar.gz
+-rw-r--r-- 1 root root 650 2016-12-19 13:00 ./patches/source/openssh/openssh-7.4p1.tar.gz.asc
+-rw-r--r-- 1 root root 481 2018-03-08 01:18 ./patches/source/openssh/openssh.CVE-2017-15906.patch.gz
+-rwxr-xr-x 1 root root 5255 2018-03-08 01:10 ./patches/source/openssh/openssh.SlackBuild
+-rw-r--r-- 1 root root 1726 2015-09-01 21:13 ./patches/source/openssh/rc.sshd
+-rw-r--r-- 1 root root 1134 2002-03-07 23:03 ./patches/source/openssh/slack-desc
+drwxr-xr-x 2 root root 4096 2016-03-02 00:43 ./patches/source/openssl
+-rw-r--r-- 1 root root 1758 2012-08-08 22:46 ./patches/source/openssl/certwatch.gz
+-rw-r--r-- 1 root root 281 2007-06-13 17:20 ./patches/source/openssl/doinst.sh-openssl-solibs.gz
+-rw-r--r-- 1 root root 336 2007-06-13 04:52 ./patches/source/openssl/doinst.sh-openssl.gz
+-rw-r--r-- 1 root root 3818524 2015-12-03 18:03 ./patches/source/openssl/openssl-0.9.8zh.tar.gz
+-rw-r--r-- 1 root root 473 2015-12-03 18:43 ./patches/source/openssl/openssl-0.9.8zh.tar.gz.asc
+-rwxr-xr-x 1 root root 7183 2016-03-02 00:45 ./patches/source/openssl/openssl.SlackBuild
+-rw-r--r-- 1 root root 377 2016-03-02 00:30 ./patches/source/openssl/openssl.no.weak.sslv2.ciphers.diff.gz
+-rw-r--r-- 1 root root 971 2016-03-02 00:42 ./patches/source/openssl/openssl.no.weak.sslv3.ciphers.diff.gz
+-rw-r--r-- 1 root root 501 2006-01-17 23:28 ./patches/source/openssl/openssl.optsx86.diff.gz
+-rw-r--r-- 1 root root 283 2005-10-13 03:02 ./patches/source/openssl/openssl.soname.diff.gz
+-rw-r--r-- 1 root root 1019 2002-04-06 20:23 ./patches/source/openssl/slack-desc.openssl
+-rw-r--r-- 1 root root 1143 2002-03-23 22:11 ./patches/source/openssl/slack-desc.openssl-solibs
+drwxr-xr-x 2 root root 4096 2018-04-26 17:44 ./patches/source/openvpn
+-rw-r--r-- 1 root root 1375 2007-06-10 01:25 ./patches/source/openvpn/README
+-rw-r--r-- 1 root root 355 2018-02-22 02:16 ./patches/source/openvpn/doinst.sh.gz
+-rw-r--r-- 1 root root 943376 2018-04-24 12:56 ./patches/source/openvpn/openvpn-2.4.6.tar.xz
+-rw-r--r-- 1 root root 833 2018-04-24 12:56 ./patches/source/openvpn/openvpn-2.4.6.tar.xz.asc
+-rwxr-xr-x 1 root root 5676 2018-04-26 19:03 ./patches/source/openvpn/openvpn.SlackBuild
+-rw-r--r-- 1 root root 142 2018-04-26 17:44 ./patches/source/openvpn/openvpn.url
+-rw-r--r-- 1 root root 3489 2018-02-28 21:25 ./patches/source/openvpn/rc.openvpn
+-rw-r--r-- 1 root root 885 2018-02-27 06:13 ./patches/source/openvpn/slack-desc
+-rw-r--r-- 1 root root 6942 2007-06-12 03:48 ./patches/source/openvpn/slackware.conf
+drwxr-xr-x 2 root root 4096 2018-04-06 20:21 ./patches/source/patch
+-rw-r--r-- 1 root root 1307 2018-04-06 20:11 ./patches/source/patch/0001-Refuse-to-apply-ed-scripts-by-default.patch.gz
+-rw-r--r-- 1 root root 714392 2015-01-31 21:20 ./patches/source/patch/patch-2.7.4.tar.xz
+-rw-r--r-- 1 root root 819 2015-01-31 21:20 ./patches/source/patch/patch-2.7.4.tar.xz.sig
+-rwxr-xr-x 1 root root 3764 2018-04-06 20:21 ./patches/source/patch/patch.SlackBuild
+-rw-r--r-- 1 root root 1020 2006-12-14 02:21 ./patches/source/patch/slack-desc
+drwxr-xr-x 3 root root 4096 2014-09-04 18:49 ./patches/source/php
+-rw-r--r-- 1 root root 152 2010-12-23 22:04 ./patches/source/php/doinst.sh.gz
+-rwxr-xr-x 1 root root 60 2014-09-04 18:48 ./patches/source/php/fetch-php.sh
+-rw-r--r-- 1 root root 1022 2009-10-02 23:56 ./patches/source/php/mod_php.conf.example
+drwxr-xr-x 2 root root 4096 2008-05-07 05:21 ./patches/source/php/pear
+-rw-r--r-- 1 root root 9142540 2014-08-14 08:41 ./patches/source/php/php-5.3.29.tar.xz
+-rwxr-xr-x 1 root root 8728 2014-06-09 19:25 ./patches/source/php/php.SlackBuild
+-rw-r--r-- 1 root root 555 2011-04-02 03:43 ./patches/source/php/php.ini-development.diff.gz
+-rw-r--r-- 1 root root 321 2011-04-14 19:39 ./patches/source/php/php.session.save_path.diff.gz
+-rw-r--r-- 1 root root 830 2005-12-09 05:18 ./patches/source/php/slack-desc
+drwxr-xr-x 2 root root 4096 2017-03-10 19:02 ./patches/source/pidgin
+-rw-r--r-- 1 root root 6802476 2017-03-10 02:46 ./patches/source/pidgin/pidgin-2.12.0.tar.xz
+-rw-r--r-- 1 root root 604129 2010-05-18 16:51 ./patches/source/pidgin/pidgin-encryption-3.1.tar.gz
+-rwxr-xr-x 1 root root 6813 2014-02-03 19:55 ./patches/source/pidgin/pidgin.SlackBuild
+-rw-r--r-- 1 root root 321 2008-12-07 04:57 ./patches/source/pidgin/purple-allow-sign-rsa-md5.patch.gz
+-rw-r--r-- 1 root root 926 2008-03-09 08:06 ./patches/source/pidgin/slack-desc
+drwxr-xr-x 2 root root 4096 2010-11-20 18:42 ./patches/source/poppler
+-rw-r--r-- 1 root root 1827 2009-10-28 21:44 ./patches/source/poppler/poppler-0.10.7.CVE-2009-3603_3604_3605_3606_3608_3609.diff.gz
+-rw-r--r-- 1 root root 1017696 2009-05-16 16:19 ./patches/source/poppler/poppler-0.10.7.tar.xz
+-rw-r--r-- 1 root root 307 2010-10-07 14:13 ./patches/source/poppler/poppler-0.12.4-CVE-2010-3702.patch.gz
+-rw-r--r-- 1 root root 241 2010-10-07 14:13 ./patches/source/poppler/poppler-0.12.4-CVE-2010-3703.patch.gz
+-rw-r--r-- 1 root root 489 2010-10-07 14:13 ./patches/source/poppler/poppler-0.12.4-CVE-2010-3704.patch.gz
+-rwxr-xr-x 1 root root 3800 2010-11-20 19:17 ./patches/source/poppler/poppler.SlackBuild
+-rw-r--r-- 1 root root 952 2007-04-10 20:40 ./patches/source/poppler/slack-desc
+drwxr-xr-x 2 root root 4096 2015-04-17 16:50 ./patches/source/ppp
+-rw-r--r-- 1 root root 324 2004-02-23 06:39 ./patches/source/ppp/doinst.sh.gz
+-rw-r--r-- 1 root root 3620 1999-09-30 05:49 ./patches/source/ppp/options.new.gz
+-rw-r--r-- 1 root root 555916 2006-06-28 00:30 ./patches/source/ppp/ppp-2.4.4.tar.bz2
+-rw-r--r-- 1 root root 371 2015-04-11 18:50 ./patches/source/ppp/ppp.CVE-2014-3158.diff.gz
+-rw-r--r-- 1 root root 278 2015-04-17 16:45 ./patches/source/ppp/ppp.CVE-2015-3310.diff.gz
+-rwxr-xr-x 1 root root 5487 2015-04-22 00:59 ./patches/source/ppp/ppp.SlackBuild
+-rw-r--r-- 1 root root 401 2004-02-23 05:37 ./patches/source/ppp/ppp.slack.diff.gz
+-rw-r--r-- 1 root root 348 2002-05-20 02:06 ./patches/source/ppp/pppsetup-1.98.backupfiles.diff.gz
+-rw-r--r-- 1 root root 1303 2002-05-20 01:53 ./patches/source/ppp/pppsetup-1.98.moredevs.diff.gz
+-rw-r--r-- 1 root root 270 2000-10-21 00:47 ./patches/source/ppp/pppsetup-1.98.pppoff.diff.gz
+-rw-r--r-- 1 root root 11656 2000-06-18 21:01 ./patches/source/ppp/pppsetup-1.98.slack.diff.gz
+-rw-r--r-- 1 root root 78697 1998-03-04 21:07 ./patches/source/ppp/pppsetup-1.98.tar.gz
+-rw-r--r-- 1 root root 812 2005-07-25 05:56 ./patches/source/ppp/radius.msdict.gz
+-rw-r--r-- 1 root root 119071 2002-02-03 13:59 ./patches/source/ppp/radiusclient-0.3.2.tar.bz2
+-rw-r--r-- 1 root root 372 2005-07-25 05:56 ./patches/source/ppp/realms.gz
+-rw-r--r-- 1 root root 129 2005-07-25 05:56 ./patches/source/ppp/servers.gz
+-rw-r--r-- 1 root root 905 2002-03-07 03:31 ./patches/source/ppp/slack-desc
+drwxr-xr-x 3 root root 4096 2017-04-20 21:47 ./patches/source/proftpd
+-rw-r--r-- 1 root root 306 2003-03-06 07:52 ./patches/source/proftpd/doinst.sh.gz
+drwxr-xr-x 2 root root 4096 2001-02-26 07:35 ./patches/source/proftpd/etc
+-rw-r--r-- 1 root root 581 2001-02-26 07:31 ./patches/source/proftpd/etc/ftpusers
+-rw-r--r-- 1 root root 2046 2008-07-29 18:18 ./patches/source/proftpd/etc/proftpd.conf
+-rw-r--r-- 1 root root 22018088 2017-04-09 21:16 ./patches/source/proftpd/proftpd-1.3.5e.tar.xz
+-rwxr-xr-x 1 root root 4175 2017-04-20 21:48 ./patches/source/proftpd/proftpd.SlackBuild
+-rw-r--r-- 1 root root 797 2004-09-18 22:48 ./patches/source/proftpd/slack-desc
+drwxr-xr-x 10 root root 4096 2016-10-26 20:43 ./patches/source/randrproto
+-rw-r--r-- 1 root root 257 2015-08-19 06:05 ./patches/source/randrproto/arch.use.flags
+drwxr-xr-x 2 root root 4096 2016-10-26 20:43 ./patches/source/randrproto/build
+-rw-r--r-- 1 root root 12 2016-10-26 20:43 ./patches/source/randrproto/build/randrproto
+drwxr-xr-x 2 root root 4096 2016-10-26 20:43 ./patches/source/randrproto/configure
+-rw-r--r-- 1 root root 361 2016-01-16 20:11 ./patches/source/randrproto/configure/configure
+drwxr-xr-x 2 root root 4096 2016-10-26 20:43 ./patches/source/randrproto/doinst.sh
+drwxr-xr-x 2 root root 4096 2016-10-26 20:43 ./patches/source/randrproto/makepkg
+-rw-r--r-- 1 root root 3467 2015-11-19 17:51 ./patches/source/randrproto/modularize
+-rw-r--r-- 1 root root 1206 2016-01-12 20:54 ./patches/source/randrproto/noarch
+-rw-r--r-- 1 root root 856 2016-01-12 23:39 ./patches/source/randrproto/package-blacklist
+drwxr-xr-x 2 root root 4096 2016-10-26 20:43 ./patches/source/randrproto/patch
+drwxr-xr-x 2 root root 4096 2016-10-26 20:43 ./patches/source/randrproto/post-install
+-rwxr-xr-x 1 root root 92 2016-10-26 20:43 ./patches/source/randrproto/randrproto.SlackBuild
+drwxr-xr-x 2 root root 4096 2016-10-26 20:43 ./patches/source/randrproto/slack-desc
+-rw-r--r-- 1 root root 674 2012-04-08 03:32 ./patches/source/randrproto/slack-desc/randrproto
+drwxr-xr-x 3 root root 4096 2016-10-26 20:43 ./patches/source/randrproto/src
+drwxr-xr-x 2 root root 4096 2016-10-26 20:43 ./patches/source/randrproto/src/proto
+-rw-r--r-- 1 root root 132864 2015-05-17 04:32 ./patches/source/randrproto/src/proto/randrproto-1.5.0.tar.xz
+-rwxr-xr-x 1 root root 13192 2016-10-26 20:43 ./patches/source/randrproto/x11.SlackBuild
+drwxr-xr-x 2 root root 4096 2011-04-21 01:31 ./patches/source/rdesktop
+-rw-r--r-- 1 root root 243001 2008-05-11 06:24 ./patches/source/rdesktop/rdesktop-1.6.0.tar.bz2
+-rw-r--r-- 1 root root 403 2011-04-21 01:29 ./patches/source/rdesktop/rdesktop.CVE-2011-1595.diff.gz
+-rwxr-xr-x 1 root root 3426 2011-04-21 02:20 ./patches/source/rdesktop/rdesktop.SlackBuild
+-rw-r--r-- 1 root root 854 2006-09-12 01:52 ./patches/source/rdesktop/slack-desc
+drwxr-xr-x 10 root root 4096 2016-10-26 20:47 ./patches/source/recordproto
+-rw-r--r-- 1 root root 257 2015-08-19 06:05 ./patches/source/recordproto/arch.use.flags
+drwxr-xr-x 2 root root 4096 2016-10-26 20:47 ./patches/source/recordproto/build
+-rw-r--r-- 1 root root 12 2016-10-26 20:47 ./patches/source/recordproto/build/recordproto
+drwxr-xr-x 2 root root 4096 2016-10-26 20:47 ./patches/source/recordproto/configure
+-rw-r--r-- 1 root root 361 2016-01-16 20:11 ./patches/source/recordproto/configure/configure
+drwxr-xr-x 2 root root 4096 2016-10-26 20:47 ./patches/source/recordproto/doinst.sh
+drwxr-xr-x 2 root root 4096 2016-10-26 20:47 ./patches/source/recordproto/makepkg
+-rw-r--r-- 1 root root 3467 2015-11-19 17:51 ./patches/source/recordproto/modularize
+-rw-r--r-- 1 root root 1206 2016-01-12 20:54 ./patches/source/recordproto/noarch
+-rw-r--r-- 1 root root 856 2016-01-12 23:39 ./patches/source/recordproto/package-blacklist
+drwxr-xr-x 2 root root 4096 2016-10-26 20:47 ./patches/source/recordproto/patch
+drwxr-xr-x 2 root root 4096 2016-10-26 20:47 ./patches/source/recordproto/post-install
+-rwxr-xr-x 1 root root 94 2016-10-26 20:47 ./patches/source/recordproto/recordproto.SlackBuild
+drwxr-xr-x 2 root root 4096 2016-10-26 20:47 ./patches/source/recordproto/slack-desc
+-rw-r--r-- 1 root root 835 2012-04-08 03:33 ./patches/source/recordproto/slack-desc/recordproto
+drwxr-xr-x 3 root root 4096 2016-10-26 20:47 ./patches/source/recordproto/src
+drwxr-xr-x 2 root root 4096 2016-10-26 20:47 ./patches/source/recordproto/src/proto
+-rw-r--r-- 1 root root 114164 2012-03-23 04:00 ./patches/source/recordproto/src/proto/recordproto-1.14.2.tar.xz
+-rwxr-xr-x 1 root root 13192 2016-10-26 22:12 ./patches/source/recordproto/x11.SlackBuild
+drwxr-xr-x 2 root root 4096 2018-01-30 19:32 ./patches/source/rsync
+-rw-r--r-- 1 root root 653524 2018-01-28 23:54 ./patches/source/rsync/rsync-3.1.3.tar.xz
+-rwxr-xr-x 1 root root 3322 2018-01-30 19:32 ./patches/source/rsync/rsync.SlackBuild
+-rw-r--r-- 1 root root 984 2015-04-23 21:38 ./patches/source/rsync/slack-desc
+drwxr-xr-x 2 root root 4096 2017-05-01 23:03 ./patches/source/rxvt
+-rw-r--r-- 1 root root 429356 2003-03-26 06:47 ./patches/source/rxvt/rxvt-2.7.10.tar.xz
+-rw-r--r-- 1 root root 304 2017-05-01 22:58 ./patches/source/rxvt/rxvt-integer-overflow-fix.patch.gz
+-rwxr-xr-x 1 root root 3912 2017-05-01 23:14 ./patches/source/rxvt/rxvt.SlackBuild
+-rw-r--r-- 1 root root 2002 2003-06-08 04:09 ./patches/source/rxvt/rxvt.utempter.diff.gz
+-rw-r--r-- 1 root root 880 2002-03-10 07:02 ./patches/source/rxvt/slack-desc
+drwxr-xr-x 2 root root 4096 2012-04-11 04:32 ./patches/source/samba
+-rw-r--r-- 1 root root 374 2003-03-07 21:49 ./patches/source/samba/doinst.sh.gz
+-rw-r--r-- 1 root root 791 2003-10-01 04:12 ./patches/source/samba/rc.samba
+-rw-r--r-- 1 root root 2243 2010-09-14 18:30 ./patches/source/samba/samba-3.2.15-CVE-2010-3069.patch
+-rw-r--r-- 1 root root 190 2012-04-10 09:00 ./patches/source/samba/samba-3.2.15-CVE-2012-1182.patch.asc
+-rw-r--r-- 1 root root 76719 2012-04-10 09:00 ./patches/source/samba/samba-3.2.15-CVE-2012-1182.patch.gz
+-rw-r--r-- 1 root root 10270320 2009-10-03 06:57 ./patches/source/samba/samba-3.2.15.tar.xz
+-rw-r--r-- 1 root root 1090 2010-06-16 10:07 ./patches/source/samba/samba-3.3.12-CVE-2010-2063.patch
+-rw-r--r-- 1 root root 190 2010-06-16 10:07 ./patches/source/samba/samba-3.3.12-CVE-2010-2063.patch.asc
+-rw-r--r-- 1 root root 4806 2011-02-28 20:08 ./patches/source/samba/samba.3-2-fd_set.CVE-2011-0719.patch.gz
+-rwxr-xr-x 1 root root 7072 2012-04-11 04:33 ./patches/source/samba/samba.SlackBuild
+-rw-r--r-- 1 root root 1011 2002-03-06 04:53 ./patches/source/samba/slack-desc
+-rw-r--r-- 1 root root 9672 2008-05-28 18:53 ./patches/source/samba/smb.conf.default
+-rw-r--r-- 1 root root 9684 2008-05-28 12:41 ./patches/source/samba/smb.conf.default.orig
+-rw-r--r-- 1 root root 523 2008-05-28 18:58 ./patches/source/samba/smb.conf.diff.gz
+drwxr-xr-x 3 root root 4096 2011-04-30 05:22 ./patches/source/seamonkey
+-rw-r--r-- 1 root root 231 2007-06-01 23:47 ./patches/source/seamonkey/doinst.sh.gz
+drwxr-xr-x 2 root root 4096 2009-11-06 05:06 ./patches/source/seamonkey/pkgconfig
+-rw-r--r-- 1 root root 320 2009-11-06 05:10 ./patches/source/seamonkey/pkgconfig/seamonkey-gtkmozembed.pc
+-rw-r--r-- 1 root root 305 2009-11-06 05:10 ./patches/source/seamonkey/pkgconfig/seamonkey-js.pc
+-rw-r--r-- 1 root root 308 2009-11-06 05:10 ./patches/source/seamonkey/pkgconfig/seamonkey-nspr.pc
+-rw-r--r-- 1 root root 302 2009-11-06 05:10 ./patches/source/seamonkey/pkgconfig/seamonkey-nss.pc
+-rw-r--r-- 1 root root 276 2009-11-06 05:10 ./patches/source/seamonkey/pkgconfig/seamonkey-plugin.pc
+-rw-r--r-- 1 root root 372 2009-11-06 05:10 ./patches/source/seamonkey/pkgconfig/seamonkey-xpcom.pc
+-rw-r--r-- 1 root root 49302004 2011-04-20 22:59 ./patches/source/seamonkey/seamonkey-2.0.14.source.tar.xz
+-rw-r--r-- 1 root root 12796 2006-02-09 03:17 ./patches/source/seamonkey/seamonkey-icon.png
+-rw-r--r-- 1 root root 185 2006-02-09 03:40 ./patches/source/seamonkey/seamonkey-mail-icon.png
+-rw-r--r-- 1 root root 207 2006-02-09 03:23 ./patches/source/seamonkey/seamonkey-mail.desktop
+-rwxr-xr-x 1 root root 8243 2010-04-04 05:56 ./patches/source/seamonkey/seamonkey.SlackBuild
+-rw-r--r-- 1 root root 178 2006-02-09 03:23 ./patches/source/seamonkey/seamonkey.desktop
+-rw-r--r-- 1 root root 894 2009-11-10 01:43 ./patches/source/seamonkey/slack-desc
+drwxr-xr-x 2 root root 4096 2014-06-05 20:38 ./patches/source/sendmail
+-rw-r--r-- 1 root root 799 2008-04-12 05:48 ./patches/source/sendmail/Build.gz
+-rwxr-xr-x 1 root root 5755 2014-06-03 23:38 ./patches/source/sendmail/SlackBuild-sendmail
+-rwxr-xr-x 1 root root 2121 2014-06-03 23:38 ./patches/source/sendmail/SlackBuild-sendmail-cf
+-rw-r--r-- 1 root root 4793 2009-06-26 19:34 ./patches/source/sendmail/_sendmail.tar.gz
+-rw-r--r-- 1 root root 224 2002-02-14 01:48 ./patches/source/sendmail/linux.uucp.mc
+-rw-r--r-- 1 root root 2742 2008-04-12 06:41 ./patches/source/sendmail/sendmail-slackware-tls-sasl.mc
+-rw-r--r-- 1 root root 2510 2008-04-12 07:06 ./patches/source/sendmail/sendmail-slackware-tls.mc
+-rw-r--r-- 1 root root 1825 2003-05-05 03:34 ./patches/source/sendmail/sendmail-slackware.mc
+-rw-r--r-- 1 root root 2114293 2014-05-21 14:40 ./patches/source/sendmail/sendmail.8.14.9.tar.gz
+-rw-r--r-- 1 root root 287 2014-05-21 14:40 ./patches/source/sendmail/sendmail.8.14.9.tar.gz.sig
+-rwxr-xr-x 1 root root 63 2002-05-06 05:25 ./patches/source/sendmail/sendmail.SlackBuild
+-rw-r--r-- 1 root root 429 2008-04-12 06:42 ./patches/source/sendmail/site.config.m4
+-rw-r--r-- 1 root root 962 2002-06-01 20:17 ./patches/source/sendmail/slack-desc.sendmail
+-rw-r--r-- 1 root root 1050 2002-06-01 20:19 ./patches/source/sendmail/slack-desc.sendmail-cf
+drwxr-xr-x 2 root root 4096 2012-08-30 18:56 ./patches/source/slocate
+-rw-r--r-- 1 root root 941 2009-07-18 00:05 ./patches/source/slocate/_slocate.tar.gz
+-rw-r--r-- 1 root root 1011 2002-04-07 09:50 ./patches/source/slocate/slack-desc
+-rw-r--r-- 1 root root 37748 2006-03-08 05:05 ./patches/source/slocate/slocate-3.1.tar.gz
+-rw-r--r-- 1 root root 189 2006-03-08 05:05 ./patches/source/slocate/slocate-3.1.tar.gz.sign
+-rw-r--r-- 1 root root 561 2012-08-30 17:33 ./patches/source/slocate/slocate.CVE-2007-0277.diff.gz
+-rwxr-xr-x 1 root root 2913 2012-08-30 21:59 ./patches/source/slocate/slocate.SlackBuild
+-rw-r--r-- 1 root root 485 2012-08-30 17:33 ./patches/source/slocate/slocate.bigfile.diff.gz
+drwxr-xr-x 2 root root 4096 2016-08-22 18:31 ./patches/source/stunnel
+-rw-r--r-- 1 root root 268 2015-09-17 19:39 ./patches/source/stunnel/doinst.sh.gz
+-rw-r--r-- 1 root root 286 2016-08-22 18:28 ./patches/source/stunnel/generate-stunnel-key.sh
+-rw-r--r-- 1 root root 968 2003-08-28 23:04 ./patches/source/stunnel/slack-desc
+-rw-r--r-- 1 root root 645148 2016-07-17 22:16 ./patches/source/stunnel/stunnel-5.35.tar.gz
+-rw-r--r-- 1 root root 811 2016-07-17 22:16 ./patches/source/stunnel/stunnel-5.35.tar.gz.asc
+-rwxr-xr-x 1 root root 4386 2016-08-22 18:31 ./patches/source/stunnel/stunnel.SlackBuild
+drwxr-xr-x 2 root root 4096 2013-04-05 04:30 ./patches/source/subversion
+-rwxr-xr-x 1 root root 185 2009-05-30 01:45 ./patches/source/subversion/get-svn-book.sh
+-rw-r--r-- 1 root root 1058 2009-05-30 01:45 ./patches/source/subversion/slack-desc
+-rw-r--r-- 1 root root 4458640 2013-04-04 17:26 ./patches/source/subversion/subversion-1.6.21.tar.xz
+-rwxr-xr-x 1 root root 5338 2013-04-05 04:42 ./patches/source/subversion/subversion.SlackBuild
+-rw-r--r-- 1 root root 421431 2011-03-09 07:03 ./patches/source/subversion/svn-book-html.tar.bz2
+drwxr-xr-x 2 root root 4096 2017-05-31 22:48 ./patches/source/sudo
+-rw-r--r-- 1 root root 275 2004-09-19 00:25 ./patches/source/sudo/doinst.sh.gz
+-rw-r--r-- 1 root root 869 2002-03-23 22:36 ./patches/source/sudo/slack-desc
+-rw-r--r-- 1 root root 1670448 2017-05-31 15:17 ./patches/source/sudo/sudo-1.8.20p2.tar.xz
+-rwxr-xr-x 1 root root 3743 2015-02-10 19:13 ./patches/source/sudo/sudo.SlackBuild
+drwxr-xr-x 2 root root 4096 2012-08-10 19:12 ./patches/source/t1lib
+-rw-r--r-- 1 root root 813 2002-04-30 02:17 ./patches/source/t1lib/slack-desc
+-rw-r--r-- 1 root root 1429408 2007-12-23 16:07 ./patches/source/t1lib/t1lib-5.1.2.tar.xz
+-rwxr-xr-x 1 root root 4603 2012-08-10 19:16 ./patches/source/t1lib/t1lib.SlackBuild
+-rw-r--r-- 1 root root 20775 2012-05-09 13:38 ./patches/source/t1lib/t1lib_5.1.2-3.5.diff.gz
+drwxr-xr-x 2 root root 4096 2012-02-04 15:13 ./patches/source/vsftpd
+-rw-r--r-- 1 root root 283 2009-02-19 17:05 ./patches/source/vsftpd/doinst.sh.gz
+-rw-r--r-- 1 root root 953 2004-09-03 18:38 ./patches/source/vsftpd/slack-desc
+-rw-r--r-- 1 root root 187691 2012-02-04 15:13 ./patches/source/vsftpd/vsftpd-2.3.5.tar.gz
+-rw-r--r-- 1 root root 198 2012-02-04 15:13 ./patches/source/vsftpd/vsftpd-2.3.5.tar.gz.asc
+-rwxr-xr-x 1 root root 3436 2012-02-06 21:38 ./patches/source/vsftpd/vsftpd.SlackBuild
+-rw-r--r-- 1 root root 198 2004-09-03 18:41 ./patches/source/vsftpd/vsftpd.builddefs.diff.gz
+-rw-r--r-- 1 root root 950 2009-10-19 15:22 ./patches/source/vsftpd/vsftpd.conf.diff.gz
+-rw-r--r-- 1 root root 115 2004-09-03 18:59 ./patches/source/vsftpd/vsftpd.log.gz
+drwxr-xr-x 2 root root 4096 2018-05-08 01:20 ./patches/source/wget
+-rw-r--r-- 1 root root 264 2008-10-01 23:27 ./patches/source/wget/doinst.sh.gz
+-rw-r--r-- 1 root root 853 2002-03-23 23:56 ./patches/source/wget/slack-desc
+-rw-r--r-- 1 root root 2252972 2018-05-08 01:20 ./patches/source/wget/wget-1.19.5.tar.xz
+-rwxr-xr-x 1 root root 3434 2018-05-08 01:21 ./patches/source/wget/wget.SlackBuild
+drwxr-xr-x 2 root root 4096 2012-05-09 19:10 ./patches/source/wicd
+-rw-r--r-- 1 root root 719 2012-03-19 16:58 ./patches/source/wicd/README.SLACKWARE
+-rw-r--r-- 1 root root 512 2012-03-12 01:39 ./patches/source/wicd/doinst.sh.gz
+-rw-r--r-- 1 root root 863 2009-06-05 15:22 ./patches/source/wicd/slack-desc
+-rw-r--r-- 1 root root 309 2012-05-09 19:09 ./patches/source/wicd/wicd-1.7.2.4.sanitize.string.bugfix.diff.gz
+-rw-r--r-- 1 root root 336140 2012-04-30 19:38 ./patches/source/wicd/wicd-1.7.2.4.tar.xz
+-rwxr-xr-x 1 root root 3306 2012-05-09 19:16 ./patches/source/wicd/wicd.SlackBuild
+drwxr-xr-x 10 root root 4096 2016-10-26 20:21 ./patches/source/xcb-proto
+-rw-r--r-- 1 root root 257 2015-08-19 06:05 ./patches/source/xcb-proto/arch.use.flags
+drwxr-xr-x 2 root root 4096 2016-10-26 20:21 ./patches/source/xcb-proto/build
+-rw-r--r-- 1 root root 12 2016-10-26 20:22 ./patches/source/xcb-proto/build/xcb-proto
+drwxr-xr-x 2 root root 4096 2016-10-26 20:21 ./patches/source/xcb-proto/configure
+-rw-r--r-- 1 root root 361 2016-01-16 20:11 ./patches/source/xcb-proto/configure/configure
+drwxr-xr-x 2 root root 4096 2016-10-26 20:21 ./patches/source/xcb-proto/doinst.sh
+drwxr-xr-x 2 root root 4096 2016-10-26 20:21 ./patches/source/xcb-proto/makepkg
+-rw-r--r-- 1 root root 3467 2015-11-19 17:51 ./patches/source/xcb-proto/modularize
+-rw-r--r-- 1 root root 1206 2016-01-12 20:54 ./patches/source/xcb-proto/noarch
+-rw-r--r-- 1 root root 856 2016-01-12 23:39 ./patches/source/xcb-proto/package-blacklist
+drwxr-xr-x 2 root root 4096 2016-10-26 20:21 ./patches/source/xcb-proto/patch
+drwxr-xr-x 2 root root 4096 2016-10-26 20:21 ./patches/source/xcb-proto/post-install
+-rw-r--r-- 1 root root 155 2007-02-14 06:42 ./patches/source/xcb-proto/post-install/xcb-proto.post-install
+drwxr-xr-x 2 root root 4096 2016-10-26 20:21 ./patches/source/xcb-proto/slack-desc
+-rw-r--r-- 1 root root 922 2012-04-08 01:17 ./patches/source/xcb-proto/slack-desc/xcb-proto
+drwxr-xr-x 3 root root 4096 2016-10-26 20:21 ./patches/source/xcb-proto/src
+drwxr-xr-x 2 root root 4096 2016-10-26 20:21 ./patches/source/xcb-proto/src/xcb
+-rw-r--r-- 1 root root 134016 2014-08-01 13:49 ./patches/source/xcb-proto/src/xcb/xcb-proto-1.11.tar.xz
+-rwxr-xr-x 1 root root 13192 2016-10-26 22:13 ./patches/source/xcb-proto/x11.SlackBuild
+-rwxr-xr-x 1 root root 88 2016-10-26 20:21 ./patches/source/xcb-proto/xcb-proto.SlackBuild
+drwxr-xr-x 10 root root 4096 2016-10-26 20:35 ./patches/source/xextproto
+-rw-r--r-- 1 root root 257 2015-08-19 06:05 ./patches/source/xextproto/arch.use.flags
+drwxr-xr-x 2 root root 4096 2016-10-26 20:35 ./patches/source/xextproto/build
+-rw-r--r-- 1 root root 12 2016-10-26 20:36 ./patches/source/xextproto/build/xextproto
+drwxr-xr-x 2 root root 4096 2016-10-26 20:35 ./patches/source/xextproto/configure
+-rw-r--r-- 1 root root 361 2016-01-16 20:11 ./patches/source/xextproto/configure/configure
+drwxr-xr-x 2 root root 4096 2016-10-26 20:35 ./patches/source/xextproto/doinst.sh
+drwxr-xr-x 2 root root 4096 2016-10-26 20:35 ./patches/source/xextproto/makepkg
+-rw-r--r-- 1 root root 3467 2015-11-19 17:51 ./patches/source/xextproto/modularize
+-rw-r--r-- 1 root root 1206 2016-01-12 20:54 ./patches/source/xextproto/noarch
+-rw-r--r-- 1 root root 856 2016-01-12 23:39 ./patches/source/xextproto/package-blacklist
+drwxr-xr-x 2 root root 4096 2016-10-26 20:35 ./patches/source/xextproto/patch
+drwxr-xr-x 2 root root 4096 2016-10-26 20:35 ./patches/source/xextproto/post-install
+drwxr-xr-x 2 root root 4096 2016-10-26 20:35 ./patches/source/xextproto/slack-desc
+-rw-r--r-- 1 root root 810 2012-04-08 03:57 ./patches/source/xextproto/slack-desc/xextproto
+drwxr-xr-x 3 root root 4096 2016-10-26 20:35 ./patches/source/xextproto/src
+drwxr-xr-x 2 root root 4096 2016-10-26 20:35 ./patches/source/xextproto/src/proto
+-rw-r--r-- 1 root root 211284 2013-12-27 18:17 ./patches/source/xextproto/src/proto/xextproto-7.3.0.tar.xz
+-rwxr-xr-x 1 root root 13192 2016-10-26 22:12 ./patches/source/xextproto/x11.SlackBuild
+-rwxr-xr-x 1 root root 90 2016-10-26 20:35 ./patches/source/xextproto/xextproto.SlackBuild
+drwxr-xr-x 10 root root 4096 2017-08-15 19:28 ./patches/source/xorg-server
+-rw-r--r-- 1 root root 183 2009-05-30 01:47 ./patches/source/xorg-server/arch.use.flags
+drwxr-xr-x 2 root root 4096 2010-08-26 21:08 ./patches/source/xorg-server/build
+-rw-r--r-- 1 root root 12 2017-08-15 19:27 ./patches/source/xorg-server/build/xorg-server
+drwxr-xr-x 2 root root 4096 2013-04-18 22:43 ./patches/source/xorg-server/configure
+-rw-r--r-- 1 root root 1392 2009-07-24 04:33 ./patches/source/xorg-server/configure/xorg-server
+drwxr-xr-x 2 root root 4096 2013-04-18 22:43 ./patches/source/xorg-server/doinst.sh
+drwxr-xr-x 2 root root 4096 2009-05-30 01:47 ./patches/source/xorg-server/makepkg
+-rw-r--r-- 1 root root 2198 2009-06-03 04:55 ./patches/source/xorg-server/makepkg/xorg-server
+-rw-r--r-- 1 root root 3275 2012-04-08 04:56 ./patches/source/xorg-server/modularize
+-rw-r--r-- 1 root root 1220 2012-05-09 18:58 ./patches/source/xorg-server/noarch
+-rw-r--r-- 1 root root 726 2009-06-08 22:38 ./patches/source/xorg-server/package-blacklist
+drwxr-xr-x 3 root root 4096 2010-08-26 21:09 ./patches/source/xorg-server/patch
+drwxr-xr-x 2 root root 4096 2017-08-15 19:27 ./patches/source/xorg-server/patch/xorg-server
+-rw-r--r-- 1 root root 642 2017-08-15 19:46 ./patches/source/xorg-server/patch/xorg-server.patch
+-rw-r--r-- 1 root root 245 2009-05-30 01:47 ./patches/source/xorg-server/patch/xorg-server/x11.startwithblackscreen.diff.gz
+-rw-r--r-- 1 root root 1476 2010-08-26 20:56 ./patches/source/xorg-server/patch/xorg-server/xorg-server.CVE-2010-2240.diff.gz
+-rw-r--r-- 1 root root 400 2013-10-10 02:49 ./patches/source/xorg-server/patch/xorg-server/xorg-server.CVE-2013-4396.diff.gz
+-rw-r--r-- 1 root root 378 2017-08-15 19:59 ./patches/source/xorg-server/patch/xorg-server/xorg-server.CVE-2017-10971.diff.gz
+-rw-r--r-- 1 root root 685 2017-08-15 18:49 ./patches/source/xorg-server/patch/xorg-server/xorg-server.CVE-2017-10972.diff.gz
+drwxr-xr-x 2 root root 4096 2013-04-18 22:44 ./patches/source/xorg-server/post-install
+-rw-r--r-- 1 root root 476 2009-08-02 03:48 ./patches/source/xorg-server/post-install/xorg-server.post-install
+drwxr-xr-x 2 root root 4096 2013-04-18 22:44 ./patches/source/xorg-server/slack-desc
+-rw-r--r-- 1 root root 1160 2007-02-13 18:20 ./patches/source/xorg-server/slack-desc/xorg-server
+-rw-r--r-- 1 root root 839 2009-05-30 01:47 ./patches/source/xorg-server/slack-desc/xorg-server-xephyr
+-rw-r--r-- 1 root root 1063 2007-02-13 18:18 ./patches/source/xorg-server/slack-desc/xorg-server-xnest
+-rw-r--r-- 1 root root 1160 2007-02-13 18:20 ./patches/source/xorg-server/slack-desc/xorg-server-xvfb
+drwxr-xr-x 3 root root 4096 2013-04-18 22:44 ./patches/source/xorg-server/src
+drwxr-xr-x 2 root root 4096 2013-10-10 01:49 ./patches/source/xorg-server/src/xserver
+-rw-r--r-- 1 root root 3760472 2009-08-01 12:59 ./patches/source/xorg-server/src/xserver/xorg-server-1.6.3.tar.xz
+-rwxr-xr-x 1 root root 12129 2010-02-22 17:35 ./patches/source/xorg-server/x11.SlackBuild
+-rwxr-xr-x 1 root root 85 2014-12-18 04:56 ./patches/source/xorg-server/xorg-server.SlackBuild
+drwxr-xr-x 4 root root 4096 2013-03-28 20:36 ./patches/source/xpdf
+-rw-r--r-- 1 root root 325 2010-01-11 04:59 ./patches/source/xpdf/doinst.sh.gz
+drwxr-xr-x 2 root root 4096 2013-03-31 02:58 ./patches/source/xpdf/lang
+-rw-r--r-- 1 root root 1057 2011-08-15 21:28 ./patches/source/xpdf/lang/xpdf-arabic-2011-aug-15.tar.gz
+-rw-r--r-- 1 root root 235 2013-03-28 20:51 ./patches/source/xpdf/lang/xpdf-arabic.diff.gz
+-rw-r--r-- 1 root root 907207 2011-09-02 22:29 ./patches/source/xpdf/lang/xpdf-chinese-simplified-2011-sep-02.tar.gz
+-rw-r--r-- 1 root root 401 2013-03-28 20:51 ./patches/source/xpdf/lang/xpdf-chinese-simplified.diff.gz
+-rw-r--r-- 1 root root 913558 2011-09-02 22:29 ./patches/source/xpdf/lang/xpdf-chinese-traditional-2011-sep-02.tar.gz
+-rw-r--r-- 1 root root 383 2013-03-28 20:51 ./patches/source/xpdf/lang/xpdf-chinese-traditional.diff.gz
+-rw-r--r-- 1 root root 1656 2011-08-15 21:28 ./patches/source/xpdf/lang/xpdf-cyrillic-2011-aug-15.tar.gz
+-rw-r--r-- 1 root root 266 2013-03-28 20:51 ./patches/source/xpdf/lang/xpdf-cyrillic.diff.gz
+-rw-r--r-- 1 root root 1259 2011-08-15 21:28 ./patches/source/xpdf/lang/xpdf-greek-2011-aug-15.tar.gz
+-rw-r--r-- 1 root root 258 2013-03-28 20:51 ./patches/source/xpdf/lang/xpdf-greek.diff.gz
+-rw-r--r-- 1 root root 1317 2011-08-15 21:28 ./patches/source/xpdf/lang/xpdf-hebrew-2011-aug-15.tar.gz
+-rw-r--r-- 1 root root 259 2013-03-28 20:51 ./patches/source/xpdf/lang/xpdf-hebrew.diff.gz
+-rw-r--r-- 1 root root 1006949 2011-09-02 22:30 ./patches/source/xpdf/lang/xpdf-japanese-2011-sep-02.tar.gz
+-rw-r--r-- 1 root root 738 2013-03-31 02:50 ./patches/source/xpdf/lang/xpdf-japanese.diff.gz
+-rw-r--r-- 1 root root 518995 2011-09-02 22:30 ./patches/source/xpdf/lang/xpdf-korean-2011-sep-02.tar.gz
+-rw-r--r-- 1 root root 330 2013-03-28 20:51 ./patches/source/xpdf/lang/xpdf-korean.diff.gz
+-rw-r--r-- 1 root root 1431 2011-08-15 21:28 ./patches/source/xpdf/lang/xpdf-latin2-2011-aug-15.tar.gz
+-rw-r--r-- 1 root root 224 2013-03-28 20:51 ./patches/source/xpdf/lang/xpdf-latin2.diff.gz
+-rw-r--r-- 1 root root 1878 2011-08-15 21:28 ./patches/source/xpdf/lang/xpdf-thai-2011-aug-15.tar.gz
+-rw-r--r-- 1 root root 252 2013-03-28 20:51 ./patches/source/xpdf/lang/xpdf-thai.diff.gz
+-rw-r--r-- 1 root root 1137 2011-08-15 21:28 ./patches/source/xpdf/lang/xpdf-turkish-2011-aug-15.tar.gz
+-rw-r--r-- 1 root root 239 2013-03-28 20:51 ./patches/source/xpdf/lang/xpdf-turkish.diff.gz
+drwxr-xr-x 2 root root 4096 2013-08-20 18:59 ./patches/source/xpdf/patches
+-rw-r--r-- 1 root root 837 2013-08-20 18:59 ./patches/source/xpdf/patches/xpdf-3.03-CVE-2012-2142.diff.gz
+-rw-r--r-- 1 root root 333 2013-03-28 20:36 ./patches/source/xpdf/patches/xpdf.XPDFViewer.diff.gz
+-rw-r--r-- 1 root root 610 2013-03-28 20:32 ./patches/source/xpdf/patches/xpdfrc.diff.gz
+-rw-r--r-- 1 root root 643 2011-03-31 02:49 ./patches/source/xpdf/slack-desc
+-rw-r--r-- 1 root root 795537 2011-08-16 21:18 ./patches/source/xpdf/xpdf-3.03.tar.gz
+-rw-r--r-- 1 root root 198 2011-08-16 21:54 ./patches/source/xpdf/xpdf-3.03.tar.gz.sig
+-rwxr-xr-x 1 root root 4962 2013-08-20 19:13 ./patches/source/xpdf/xpdf.SlackBuild
+-rw-r--r-- 1 root root 3260 2010-01-11 05:07 ./patches/source/xpdf/xpdf.desktop
+drwxr-xr-x 10 root root 4096 2016-10-26 20:13 ./patches/source/xproto
+-rw-r--r-- 1 root root 257 2015-08-19 06:05 ./patches/source/xproto/arch.use.flags
+drwxr-xr-x 2 root root 4096 2016-10-26 20:13 ./patches/source/xproto/build
+-rw-r--r-- 1 root root 12 2016-10-26 20:15 ./patches/source/xproto/build/xproto
+drwxr-xr-x 2 root root 4096 2016-10-26 20:13 ./patches/source/xproto/configure
+-rw-r--r-- 1 root root 361 2016-01-16 20:11 ./patches/source/xproto/configure/configure
+drwxr-xr-x 2 root root 4096 2016-10-26 20:13 ./patches/source/xproto/doinst.sh
+drwxr-xr-x 2 root root 4096 2016-10-26 20:13 ./patches/source/xproto/makepkg
+-rw-r--r-- 1 root root 3467 2015-11-19 17:51 ./patches/source/xproto/modularize
+-rw-r--r-- 1 root root 1206 2016-01-12 20:54 ./patches/source/xproto/noarch
+-rw-r--r-- 1 root root 856 2016-01-12 23:39 ./patches/source/xproto/package-blacklist
+drwxr-xr-x 2 root root 4096 2016-10-26 20:13 ./patches/source/xproto/patch
+drwxr-xr-x 2 root root 4096 2016-10-26 20:13 ./patches/source/xproto/post-install
+-rw-r--r-- 1 root root 35 2010-11-05 06:10 ./patches/source/xproto/post-install/xproto.post-install
+drwxr-xr-x 2 root root 4096 2016-10-26 20:13 ./patches/source/xproto/slack-desc
+-rw-r--r-- 1 root root 776 2012-04-08 04:45 ./patches/source/xproto/slack-desc/xproto
+drwxr-xr-x 3 root root 4096 2016-10-26 20:13 ./patches/source/xproto/src
+drwxr-xr-x 2 root root 4096 2016-10-26 20:13 ./patches/source/xproto/src/proto
+-rw-r--r-- 1 root root 272496 2016-05-13 08:34 ./patches/source/xproto/src/proto/xproto-7.0.29.tar.xz
+-rwxr-xr-x 1 root root 13192 2016-10-26 22:13 ./patches/source/xproto/x11.SlackBuild
+-rwxr-xr-x 1 root root 84 2016-10-26 20:13 ./patches/source/xproto/xproto.SlackBuild
+drwxr-xr-x 6 root root 4096 2011-04-06 05:50 ./patches/source/xrdb
+-rw-r--r-- 1 root root 183 2009-05-30 01:47 ./patches/source/xrdb/arch.use.flags
+drwxr-xr-x 2 root root 4096 2011-04-06 05:50 ./patches/source/xrdb/build
+-rw-r--r-- 1 root root 12 2011-04-06 05:52 ./patches/source/xrdb/build/xrdb
+drwxr-xr-x 2 root root 4096 2011-04-06 05:47 ./patches/source/xrdb/configure
+-rw-r--r-- 1 root root 317 2010-11-05 06:13 ./patches/source/xrdb/configure/configure
+-rw-r--r-- 1 root root 3645 2010-08-31 21:54 ./patches/source/xrdb/modularize
+-rw-r--r-- 1 root root 1287 2011-03-09 04:43 ./patches/source/xrdb/noarch
+-rw-r--r-- 1 root root 726 2009-06-08 22:38 ./patches/source/xrdb/package-blacklist
+drwxr-xr-x 2 root root 4096 2011-04-06 05:47 ./patches/source/xrdb/slack-desc
+-rw-r--r-- 1 root root 699 2007-02-13 23:03 ./patches/source/xrdb/slack-desc/xrdb
+drwxr-xr-x 3 root root 4096 2011-04-06 05:47 ./patches/source/xrdb/src
+drwxr-xr-x 2 root root 4096 2011-04-06 05:51 ./patches/source/xrdb/src/app
+-rw-r--r-- 1 root root 110064 2011-04-05 16:02 ./patches/source/xrdb/src/app/xrdb-1.0.9.tar.xz
+-rwxr-xr-x 1 root root 12129 2010-02-22 17:35 ./patches/source/xrdb/x11.SlackBuild
+-rwxr-xr-x 1 root root 56 2011-04-06 05:49 ./patches/source/xrdb/xrdb.SlackBuild
+drwxr-xr-x 2 root root 4096 2011-11-26 19:48 ./patches/source/yasm
+-rw-r--r-- 1 root root 1047 2008-06-16 08:56 ./patches/source/yasm/slack-desc
+-rw-r--r-- 1 root root 921492 2011-11-26 19:47 ./patches/source/yasm/yasm-1.2.0.tar.xz
+-rwxr-xr-- 1 root root 7488 2011-11-26 19:48 ./patches/source/yasm/yasm.SlackBuild
drwxr-xr-x 17 root root 4096 2009-08-26 15:15 ./slackware64
-rw-r--r-- 1 root root 206654 2009-08-26 15:15 ./slackware64/CHECKSUMS.md5
-rw-r--r-- 1 root root 197 2009-08-26 15:15 ./slackware64/CHECKSUMS.md5.asc
-rw-r--r-- 1 root root 255808 2009-08-26 15:12 ./slackware64/FILE_LIST
-rw-r--r-- 1 root root 2189265 2009-08-26 15:14 ./slackware64/MANIFEST.bz2
-lrwxrwxrwx 1 root root 15 2009-08-26 16:31 ./slackware64/PACKAGES.TXT -> ../PACKAGES.TXT
-drwxr-xr-x 2 root root 24576 2009-08-26 15:12 ./slackware64/a
+lrwxrwxrwx 1 root root 15 2009-08-28 04:21 ./slackware64/PACKAGES.TXT -> ../PACKAGES.TXT
+drwxr-xr-x 2 root root 20480 2009-08-26 15:12 ./slackware64/a
-rw-r--r-- 1 root root 327 2009-08-26 03:23 ./slackware64/a/aaa_base-13.0-x86_64-2.txt
-rw-r--r-- 1 root root 10400 2009-08-26 03:23 ./slackware64/a/aaa_base-13.0-x86_64-2.txz
-rw-r--r-- 1 root root 197 2009-08-26 03:23 ./slackware64/a/aaa_base-13.0-x86_64-2.txz.asc
@@ -946,7 +2372,7 @@ drwxr-xr-x 2 root root 24576 2009-08-26 15:12 ./slackware64/a
-rw-r--r-- 1 root root 542 2008-10-02 21:13 ./slackware64/a/zoo-2.10-x86_64-1.txt
-rw-r--r-- 1 root root 54236 2008-10-02 21:13 ./slackware64/a/zoo-2.10-x86_64-1.txz
-rw-r--r-- 1 root root 197 2008-10-02 21:13 ./slackware64/a/zoo-2.10-x86_64-1.txz.asc
-drwxr-xr-x 2 root root 16384 2009-08-25 04:55 ./slackware64/ap
+drwxr-xr-x 2 root root 12288 2009-08-25 04:55 ./slackware64/ap
-rw-r--r-- 1 root root 445 2009-05-23 04:17 ./slackware64/ap/a2ps-4.14-x86_64-4.txt
-rw-r--r-- 1 root root 760096 2009-05-23 04:17 ./slackware64/ap/a2ps-4.14-x86_64-4.txz
-rw-r--r-- 1 root root 197 2009-05-23 04:17 ./slackware64/ap/a2ps-4.14-x86_64-4.txz.asc
@@ -1420,7 +2846,7 @@ drwxr-xr-x 2 root root 4096 2009-08-14 20:41 ./slackware64/kde
-rw-r--r-- 1 root root 1183844 2009-06-03 17:51 ./slackware64/kde/skanlite-0.3_kde4.2.4-x86_64-1.txz
-rw-r--r-- 1 root root 197 2009-06-03 17:51 ./slackware64/kde/skanlite-0.3_kde4.2.4-x86_64-1.txz.asc
-rw-r--r-- 1 root root 468 2009-06-06 01:36 ./slackware64/kde/tagfile
-drwxr-xr-x 2 root root 24576 2009-08-14 20:42 ./slackware64/kdei
+drwxr-xr-x 2 root root 20480 2009-08-14 20:42 ./slackware64/kdei
-rwxr-xr-x 1 root root 2897 2009-06-24 22:06 ./slackware64/kdei/install-packages
-rw-r--r-- 1 root root 446 2006-09-18 10:41 ./slackware64/kdei/install.end
-rw-r--r-- 1 root root 188 2009-06-03 18:58 ./slackware64/kdei/kde-l10n-ar-4.2.4-noarch-1.txt
@@ -1675,7 +3101,7 @@ drwxr-xr-x 2 root root 24576 2009-08-14 20:42 ./slackware64/kdei
-rw-r--r-- 1 root root 7414 2009-06-29 02:02 ./slackware64/kdei/maketag
-rw-r--r-- 1 root root 7414 2009-06-29 02:02 ./slackware64/kdei/maketag.ez
-rw-r--r-- 1 root root 1467 2009-06-29 02:02 ./slackware64/kdei/tagfile
-drwxr-xr-x 2 root root 40960 2009-08-25 04:55 ./slackware64/l
+drwxr-xr-x 2 root root 36864 2009-08-25 04:55 ./slackware64/l
-rw-r--r-- 1 root root 592 2009-04-30 21:19 ./slackware64/l/M2Crypto-0.19.1-x86_64-2.txt
-rw-r--r-- 1 root root 212264 2009-04-30 21:19 ./slackware64/l/M2Crypto-0.19.1-x86_64-2.txz
-rw-r--r-- 1 root root 197 2009-04-30 21:19 ./slackware64/l/M2Crypto-0.19.1-x86_64-2.txz.asc
@@ -2188,7 +3614,7 @@ drwxr-xr-x 2 root root 40960 2009-08-25 04:55 ./slackware64/l
-rw-r--r-- 1 root root 359 2008-09-21 08:11 ./slackware64/l/zlib-1.2.3-x86_64-2.txt
-rw-r--r-- 1 root root 83180 2008-09-21 08:11 ./slackware64/l/zlib-1.2.3-x86_64-2.txz
-rw-r--r-- 1 root root 197 2008-09-21 08:11 ./slackware64/l/zlib-1.2.3-x86_64-2.txz.asc
-drwxr-xr-x 2 root root 28672 2009-08-25 04:55 ./slackware64/n
+drwxr-xr-x 2 root root 20480 2009-08-25 04:55 ./slackware64/n
-rw-r--r-- 1 root root 645 2009-05-23 04:11 ./slackware64/n/alpine-2.00-x86_64-2.txt
-rw-r--r-- 1 root root 1929600 2009-05-23 04:11 ./slackware64/n/alpine-2.00-x86_64-2.txz
-rw-r--r-- 1 root root 197 2009-05-23 04:11 ./slackware64/n/alpine-2.00-x86_64-2.txz.asc
@@ -2611,7 +4037,7 @@ drwxr-xr-x 2 root root 4096 2009-05-19 20:55 ./slackware64/tcl
-rw-r--r-- 1 root root 198 2009-04-29 19:43 ./slackware64/tcl/tk-8.5.7-x86_64-1.txt
-rw-r--r-- 1 root root 1648848 2009-04-29 19:43 ./slackware64/tcl/tk-8.5.7-x86_64-1.txz
-rw-r--r-- 1 root root 197 2009-04-29 19:43 ./slackware64/tcl/tk-8.5.7-x86_64-1.txz.asc
-drwxr-xr-x 2 root root 77824 2009-08-21 04:04 ./slackware64/x
+drwxr-xr-x 2 root root 65536 2009-08-21 04:04 ./slackware64/x
-rw-r--r-- 1 root root 258 2008-11-05 12:50 ./slackware64/x/anthy-9100e-x86_64-1.txt
-rw-r--r-- 1 root root 4869552 2008-11-05 12:50 ./slackware64/x/anthy-9100e-x86_64-1.txz
-rw-r--r-- 1 root root 197 2008-11-05 12:50 ./slackware64/x/anthy-9100e-x86_64-1.txz.asc
@@ -2853,1543 +4279,1543 @@ drwxr-xr-x 2 root root 77824 2009-08-21 04:04 ./slackware64/x
-rw-r--r-- 1 root root 197 2009-06-03 05:31 ./slackware64/x/libXcursor-1.1.9-x86_64-2.txz.asc
-rw-r--r-- 1 root root 322 2009-06-03 05:31 ./slackware64/x/libXdamage-1.1.1-x86_64-2.txt
-rw-r--r-- 1 root root 5400 2009-06-03 05:31 ./slackware64/x/libXdamage-1.1.1-x86_64-2.txz
--rw-r--r-- 1 root root 197 2009-06-03 05:31 ./slackware64/x/libXdamage-1.1.1-x86_64-2.txz.asc
--rw-r--r-- 1 root root 296 2009-06-03 05:31 ./slackware64/x/libXdmcp-1.0.2-x86_64-2.txt
--rw-r--r-- 1 root root 9884 2009-06-03 05:31 ./slackware64/x/libXdmcp-1.0.2-x86_64-2.txz
--rw-r--r-- 1 root root 197 2009-06-03 05:31 ./slackware64/x/libXdmcp-1.0.2-x86_64-2.txz.asc
--rw-r--r-- 1 root root 296 2009-06-03 05:31 ./slackware64/x/libXevie-1.0.2-x86_64-2.txt
--rw-r--r-- 1 root root 5852 2009-06-03 05:31 ./slackware64/x/libXevie-1.0.2-x86_64-2.txz
--rw-r--r-- 1 root root 197 2009-06-03 05:31 ./slackware64/x/libXevie-1.0.2-x86_64-2.txz.asc
--rw-r--r-- 1 root root 283 2009-06-03 05:31 ./slackware64/x/libXext-1.0.5-x86_64-1.txt
--rw-r--r-- 1 root root 71068 2009-06-03 05:31 ./slackware64/x/libXext-1.0.5-x86_64-1.txz
--rw-r--r-- 1 root root 197 2009-06-03 05:31 ./slackware64/x/libXext-1.0.5-x86_64-1.txz.asc
--rw-r--r-- 1 root root 309 2009-06-03 05:31 ./slackware64/x/libXfixes-4.0.3-x86_64-2.txt
--rw-r--r-- 1 root root 10712 2009-06-03 05:31 ./slackware64/x/libXfixes-4.0.3-x86_64-2.txz
--rw-r--r-- 1 root root 197 2009-06-03 05:31 ./slackware64/x/libXfixes-4.0.3-x86_64-2.txz.asc
--rw-r--r-- 1 root root 296 2009-06-03 05:32 ./slackware64/x/libXfont-1.4.0-x86_64-1.txt
--rw-r--r-- 1 root root 117940 2009-06-03 05:32 ./slackware64/x/libXfont-1.4.0-x86_64-1.txz
--rw-r--r-- 1 root root 197 2009-06-03 05:32 ./slackware64/x/libXfont-1.4.0-x86_64-1.txz.asc
--rw-r--r-- 1 root root 361 2009-06-03 05:32 ./slackware64/x/libXfontcache-1.0.4-x86_64-2.txt
--rw-r--r-- 1 root root 5636 2009-06-03 05:32 ./slackware64/x/libXfontcache-1.0.4-x86_64-2.txz
--rw-r--r-- 1 root root 197 2009-06-03 05:32 ./slackware64/x/libXfontcache-1.0.4-x86_64-2.txz.asc
--rw-r--r-- 1 root root 270 2009-06-03 05:32 ./slackware64/x/libXft-2.1.13-x86_64-2.txt
--rw-r--r-- 1 root root 45100 2009-06-03 05:32 ./slackware64/x/libXft-2.1.13-x86_64-2.txz
--rw-r--r-- 1 root root 197 2009-06-03 05:32 ./slackware64/x/libXft-2.1.13-x86_64-2.txz.asc
--rw-r--r-- 1 root root 257 2009-06-03 05:32 ./slackware64/x/libXi-1.2.1-x86_64-1.txt
--rw-r--r-- 1 root root 60916 2009-06-03 05:32 ./slackware64/x/libXi-1.2.1-x86_64-1.txz
--rw-r--r-- 1 root root 197 2009-06-03 05:32 ./slackware64/x/libXi-1.2.1-x86_64-1.txz.asc
--rw-r--r-- 1 root root 335 2009-06-03 05:32 ./slackware64/x/libXinerama-1.0.3-x86_64-2.txt
--rw-r--r-- 1 root root 6396 2009-06-03 05:32 ./slackware64/x/libXinerama-1.0.3-x86_64-2.txz
--rw-r--r-- 1 root root 197 2009-06-03 05:32 ./slackware64/x/libXinerama-1.0.3-x86_64-2.txz.asc
--rw-r--r-- 1 root root 270 2009-06-03 05:32 ./slackware64/x/libXmu-1.0.4-x86_64-2.txt
--rw-r--r-- 1 root root 53032 2009-06-03 05:32 ./slackware64/x/libXmu-1.0.4-x86_64-2.txz
--rw-r--r-- 1 root root 197 2009-06-03 05:32 ./slackware64/x/libXmu-1.0.4-x86_64-2.txz.asc
--rw-r--r-- 1 root root 257 2009-06-03 05:33 ./slackware64/x/libXp-1.0.0-x86_64-2.txt
--rw-r--r-- 1 root root 77220 2009-06-03 05:33 ./slackware64/x/libXp-1.0.0-x86_64-2.txz
--rw-r--r-- 1 root root 197 2009-06-03 05:33 ./slackware64/x/libXp-1.0.0-x86_64-2.txz.asc
--rw-r--r-- 1 root root 270 2009-06-03 05:33 ./slackware64/x/libXpm-3.5.7-x86_64-2.txt
--rw-r--r-- 1 root root 46672 2009-06-03 05:33 ./slackware64/x/libXpm-3.5.7-x86_64-2.txz
--rw-r--r-- 1 root root 197 2009-06-03 05:33 ./slackware64/x/libXpm-3.5.7-x86_64-2.txz.asc
--rw-r--r-- 1 root root 400 2009-06-03 05:33 ./slackware64/x/libXprintAppUtil-1.0.1-x86_64-2.txt
--rw-r--r-- 1 root root 7672 2009-06-03 05:33 ./slackware64/x/libXprintAppUtil-1.0.1-x86_64-2.txz
--rw-r--r-- 1 root root 197 2009-06-03 05:33 ./slackware64/x/libXprintAppUtil-1.0.1-x86_64-2.txz.asc
--rw-r--r-- 1 root root 361 2009-06-03 05:33 ./slackware64/x/libXprintUtil-1.0.1-x86_64-2.txt
--rw-r--r-- 1 root root 15644 2009-06-03 05:33 ./slackware64/x/libXprintUtil-1.0.1-x86_64-2.txz
--rw-r--r-- 1 root root 197 2009-06-03 05:33 ./slackware64/x/libXprintUtil-1.0.1-x86_64-2.txz.asc
--rw-r--r-- 1 root root 309 2009-06-03 05:33 ./slackware64/x/libXrandr-1.3.0-x86_64-1.txt
--rw-r--r-- 1 root root 20872 2009-06-03 05:33 ./slackware64/x/libXrandr-1.3.0-x86_64-1.txz
--rw-r--r-- 1 root root 197 2009-06-03 05:33 ./slackware64/x/libXrandr-1.3.0-x86_64-1.txz.asc
--rw-r--r-- 1 root root 322 2009-06-03 05:33 ./slackware64/x/libXrender-0.9.4-x86_64-2.txt
--rw-r--r-- 1 root root 17612 2009-06-03 05:33 ./slackware64/x/libXrender-0.9.4-x86_64-2.txz
--rw-r--r-- 1 root root 197 2009-06-03 05:33 ./slackware64/x/libXrender-0.9.4-x86_64-2.txz.asc
--rw-r--r-- 1 root root 283 2009-06-03 05:33 ./slackware64/x/libXres-1.0.3-x86_64-2.txt
--rw-r--r-- 1 root root 6436 2009-06-03 05:33 ./slackware64/x/libXres-1.0.3-x86_64-2.txz
--rw-r--r-- 1 root root 197 2009-06-03 05:33 ./slackware64/x/libXres-1.0.3-x86_64-2.txz.asc
--rw-r--r-- 1 root root 257 2009-07-16 22:28 ./slackware64/x/libXt-1.0.6-x86_64-1.txt
--rw-r--r-- 1 root root 418692 2009-07-16 22:28 ./slackware64/x/libXt-1.0.6-x86_64-1.txz
--rw-r--r-- 1 root root 197 2009-07-16 22:28 ./slackware64/x/libXt-1.0.6-x86_64-1.txz.asc
--rw-r--r-- 1 root root 283 2009-06-03 05:34 ./slackware64/x/libXtst-1.0.3-x86_64-2.txt
--rw-r--r-- 1 root root 12320 2009-06-03 05:34 ./slackware64/x/libXtst-1.0.3-x86_64-2.txz
--rw-r--r-- 1 root root 197 2009-06-03 05:34 ./slackware64/x/libXtst-1.0.3-x86_64-2.txz.asc
--rw-r--r-- 1 root root 257 2009-06-03 05:34 ./slackware64/x/libXv-1.0.4-x86_64-2.txt
--rw-r--r-- 1 root root 26028 2009-06-03 05:34 ./slackware64/x/libXv-1.0.4-x86_64-2.txz
--rw-r--r-- 1 root root 197 2009-06-03 05:34 ./slackware64/x/libXv-1.0.4-x86_64-2.txz.asc
--rw-r--r-- 1 root root 283 2009-06-03 05:34 ./slackware64/x/libXvMC-1.0.4-x86_64-2.txt
--rw-r--r-- 1 root root 11224 2009-06-03 05:34 ./slackware64/x/libXvMC-1.0.4-x86_64-2.txz
--rw-r--r-- 1 root root 197 2009-06-03 05:34 ./slackware64/x/libXvMC-1.0.4-x86_64-2.txz.asc
--rw-r--r-- 1 root root 335 2009-06-03 05:35 ./slackware64/x/libXxf86dga-1.0.2-x86_64-2.txt
--rw-r--r-- 1 root root 14092 2009-06-03 05:35 ./slackware64/x/libXxf86dga-1.0.2-x86_64-2.txz
--rw-r--r-- 1 root root 197 2009-06-03 05:35 ./slackware64/x/libXxf86dga-1.0.2-x86_64-2.txz.asc
--rw-r--r-- 1 root root 348 2009-06-03 05:35 ./slackware64/x/libXxf86misc-1.0.1-x86_64-2.txt
--rw-r--r-- 1 root root 7904 2009-06-03 05:35 ./slackware64/x/libXxf86misc-1.0.1-x86_64-2.txz
--rw-r--r-- 1 root root 197 2009-06-03 05:35 ./slackware64/x/libXxf86misc-1.0.1-x86_64-2.txz.asc
--rw-r--r-- 1 root root 322 2009-06-03 05:35 ./slackware64/x/libXxf86vm-1.0.2-x86_64-2.txt
--rw-r--r-- 1 root root 11748 2009-06-03 05:35 ./slackware64/x/libXxf86vm-1.0.2-x86_64-2.txz
--rw-r--r-- 1 root root 197 2009-06-03 05:35 ./slackware64/x/libXxf86vm-1.0.2-x86_64-2.txz.asc
--rw-r--r-- 1 root root 270 2009-06-03 05:35 ./slackware64/x/libdmx-1.0.2-x86_64-2.txt
--rw-r--r-- 1 root root 30944 2009-06-03 05:35 ./slackware64/x/libdmx-1.0.2-x86_64-2.txz
--rw-r--r-- 1 root root 197 2009-06-03 05:35 ./slackware64/x/libdmx-1.0.2-x86_64-2.txz.asc
--rw-r--r-- 1 root root 260 2009-08-04 00:30 ./slackware64/x/libdrm-2.4.12-x86_64-1.txt
--rw-r--r-- 1 root root 89912 2009-08-04 00:30 ./slackware64/x/libdrm-2.4.12-x86_64-1.txz
--rw-r--r-- 1 root root 197 2009-08-04 00:30 ./slackware64/x/libdrm-2.4.12-x86_64-1.txz.asc
--rw-r--r-- 1 root root 581 2008-11-06 15:32 ./slackware64/x/liberation-fonts-ttf-1.04-noarch-1.txt
--rw-r--r-- 1 root root 683360 2008-11-06 15:32 ./slackware64/x/liberation-fonts-ttf-1.04-noarch-1.txz
--rw-r--r-- 1 root root 197 2008-11-06 15:32 ./slackware64/x/liberation-fonts-ttf-1.04-noarch-1.txz.asc
--rw-r--r-- 1 root root 322 2009-06-03 05:35 ./slackware64/x/libfontenc-1.0.4-x86_64-2.txt
--rw-r--r-- 1 root root 12980 2009-06-03 05:35 ./slackware64/x/libfontenc-1.0.4-x86_64-2.txz
--rw-r--r-- 1 root root 197 2009-06-03 05:35 ./slackware64/x/libfontenc-1.0.4-x86_64-2.txz.asc
--rw-r--r-- 1 root root 381 2008-11-05 14:32 ./slackware64/x/libhangul-0.0.7-x86_64-1.txt
--rw-r--r-- 1 root root 1857876 2008-11-05 14:32 ./slackware64/x/libhangul-0.0.7-x86_64-1.txz
--rw-r--r-- 1 root root 197 2008-11-05 14:32 ./slackware64/x/libhangul-0.0.7-x86_64-1.txz.asc
--rw-r--r-- 1 root root 322 2009-06-03 05:35 ./slackware64/x/liblbxutil-1.0.1-x86_64-2.txt
--rw-r--r-- 1 root root 14760 2009-06-03 05:35 ./slackware64/x/liblbxutil-1.0.1-x86_64-2.txz
--rw-r--r-- 1 root root 197 2009-06-03 05:35 ./slackware64/x/liblbxutil-1.0.1-x86_64-2.txz.asc
--rw-r--r-- 1 root root 348 2009-06-03 05:35 ./slackware64/x/libpciaccess-0.10.6-x86_64-1.txt
--rw-r--r-- 1 root root 13408 2009-06-03 05:35 ./slackware64/x/libpciaccess-0.10.6-x86_64-1.txz
--rw-r--r-- 1 root root 197 2009-06-03 05:35 ./slackware64/x/libpciaccess-0.10.6-x86_64-1.txz.asc
--rw-r--r-- 1 root root 400 2009-06-03 05:35 ./slackware64/x/libpthread-stubs-0.1-noarch-2.txt
--rw-r--r-- 1 root root 1844 2009-06-03 05:35 ./slackware64/x/libpthread-stubs-0.1-noarch-2.txz
--rw-r--r-- 1 root root 197 2009-06-03 05:35 ./slackware64/x/libpthread-stubs-0.1-noarch-2.txz.asc
--rw-r--r-- 1 root root 446 2009-06-03 05:27 ./slackware64/x/libxcb-1.3-x86_64-1.txt
--rw-r--r-- 1 root root 217132 2009-06-03 05:27 ./slackware64/x/libxcb-1.3-x86_64-1.txz
--rw-r--r-- 1 root root 197 2009-06-03 05:27 ./slackware64/x/libxcb-1.3-x86_64-1.txz.asc
--rw-r--r-- 1 root root 322 2009-06-03 05:36 ./slackware64/x/libxkbfile-1.0.5-x86_64-2.txt
--rw-r--r-- 1 root root 64492 2009-06-03 05:36 ./slackware64/x/libxkbfile-1.0.5-x86_64-2.txz
--rw-r--r-- 1 root root 197 2009-06-03 05:36 ./slackware64/x/libxkbfile-1.0.5-x86_64-2.txz.asc
--rw-r--r-- 1 root root 296 2009-06-03 05:36 ./slackware64/x/libxkbui-1.0.2-x86_64-2.txt
--rw-r--r-- 1 root root 8080 2009-06-03 05:36 ./slackware64/x/libxkbui-1.0.2-x86_64-2.txz
--rw-r--r-- 1 root root 197 2009-06-03 05:36 ./slackware64/x/libxkbui-1.0.2-x86_64-2.txz.asc
--rw-r--r-- 1 root root 283 2009-06-03 05:38 ./slackware64/x/listres-1.0.1-x86_64-2.txt
--rw-r--r-- 1 root root 6272 2009-06-03 05:38 ./slackware64/x/listres-1.0.1-x86_64-2.txz
--rw-r--r-- 1 root root 197 2009-06-03 05:38 ./slackware64/x/listres-1.0.1-x86_64-2.txz.asc
--rw-r--r-- 1 root root 257 2009-06-03 05:26 ./slackware64/x/lndir-1.0.1-x86_64-2.txt
--rw-r--r-- 1 root root 6580 2009-06-03 05:26 ./slackware64/x/lndir-1.0.1-x86_64-2.txz
--rw-r--r-- 1 root root 197 2009-06-03 05:26 ./slackware64/x/lndir-1.0.1-x86_64-2.txz.asc
--rw-r--r-- 1 root root 244 2009-06-03 05:38 ./slackware64/x/luit-1.0.3-x86_64-2.txt
--rw-r--r-- 1 root root 18164 2009-06-03 05:38 ./slackware64/x/luit-1.0.3-x86_64-2.txz
--rw-r--r-- 1 root root 197 2009-06-03 05:38 ./slackware64/x/luit-1.0.3-x86_64-2.txz.asc
--rw-r--r-- 1 root root 416 2009-04-20 14:11 ./slackware64/x/m17n-lib-1.5.4-x86_64-1.txt
--rw-r--r-- 1 root root 2163616 2009-04-20 14:11 ./slackware64/x/m17n-lib-1.5.4-x86_64-1.txz
--rw-r--r-- 1 root root 197 2009-04-20 14:11 ./slackware64/x/m17n-lib-1.5.4-x86_64-1.txz.asc
--rw-r--r-- 1 root root 322 2009-06-03 05:26 ./slackware64/x/makedepend-1.0.1-x86_64-2.txt
--rw-r--r-- 1 root root 17904 2009-06-03 05:26 ./slackware64/x/makedepend-1.0.1-x86_64-2.txz
--rw-r--r-- 1 root root 197 2009-06-03 05:26 ./slackware64/x/makedepend-1.0.1-x86_64-2.txz.asc
--rw-r--r-- 1 root root 24094 2009-08-04 17:39 ./slackware64/x/maketag
--rw-r--r-- 1 root root 24094 2009-08-04 17:39 ./slackware64/x/maketag.ez
--rw-r--r-- 1 root root 335 2009-08-04 00:32 ./slackware64/x/mesa-7.5-x86_64-1.txt
--rw-r--r-- 1 root root 4099312 2009-08-04 00:32 ./slackware64/x/mesa-7.5-x86_64-1.txz
--rw-r--r-- 1 root root 197 2009-08-04 00:32 ./slackware64/x/mesa-7.5-x86_64-1.txz.asc
--rw-r--r-- 1 root root 374 2009-06-03 05:38 ./slackware64/x/mkcomposecache-1.2-x86_64-2.txt
--rw-r--r-- 1 root root 3800 2009-06-03 05:38 ./slackware64/x/mkcomposecache-1.2-x86_64-2.txz
--rw-r--r-- 1 root root 197 2009-06-03 05:38 ./slackware64/x/mkcomposecache-1.2-x86_64-2.txz.asc
--rw-r--r-- 1 root root 309 2009-06-03 05:38 ./slackware64/x/mkfontdir-1.0.4-noarch-2.txt
--rw-r--r-- 1 root root 4136 2009-06-03 05:38 ./slackware64/x/mkfontdir-1.0.4-noarch-2.txz
--rw-r--r-- 1 root root 197 2009-06-03 05:38 ./slackware64/x/mkfontdir-1.0.4-noarch-2.txz.asc
--rw-r--r-- 1 root root 335 2009-06-03 05:38 ./slackware64/x/mkfontscale-1.0.6-x86_64-1.txt
--rw-r--r-- 1 root root 14996 2009-06-03 05:38 ./slackware64/x/mkfontscale-1.0.6-x86_64-1.txz
--rw-r--r-- 1 root root 197 2009-06-03 05:38 ./slackware64/x/mkfontscale-1.0.6-x86_64-1.txz.asc
--rw-r--r-- 1 root root 270 2009-06-03 05:38 ./slackware64/x/oclock-1.0.1-x86_64-2.txt
--rw-r--r-- 1 root root 9056 2009-06-03 05:38 ./slackware64/x/oclock-1.0.1-x86_64-2.txz
--rw-r--r-- 1 root root 197 2009-06-03 05:38 ./slackware64/x/oclock-1.0.1-x86_64-2.txz.asc
--rw-r--r-- 1 root root 337 2009-08-04 00:35 ./slackware64/x/pixman-0.15.18-x86_64-1.txt
--rw-r--r-- 1 root root 123344 2009-08-04 00:35 ./slackware64/x/pixman-0.15.18-x86_64-1.txz
--rw-r--r-- 1 root root 197 2009-08-04 00:35 ./slackware64/x/pixman-0.15.18-x86_64-1.txz.asc
--rw-r--r-- 1 root root 322 2009-06-03 05:25 ./slackware64/x/printproto-1.0.4-noarch-2.txt
--rw-r--r-- 1 root root 8176 2009-06-03 05:25 ./slackware64/x/printproto-1.0.4-noarch-2.txz
--rw-r--r-- 1 root root 197 2009-06-03 05:25 ./slackware64/x/printproto-1.0.4-noarch-2.txz.asc
--rw-r--r-- 1 root root 309 2009-06-03 05:38 ./slackware64/x/proxymngr-1.0.1-x86_64-2.txt
--rw-r--r-- 1 root root 15644 2009-06-03 05:38 ./slackware64/x/proxymngr-1.0.1-x86_64-2.txz
--rw-r--r-- 1 root root 197 2009-06-03 05:38 ./slackware64/x/proxymngr-1.0.1-x86_64-2.txz.asc
--rw-r--r-- 1 root root 322 2009-06-03 05:25 ./slackware64/x/randrproto-1.3.0-noarch-1.txt
--rw-r--r-- 1 root root 23408 2009-06-03 05:25 ./slackware64/x/randrproto-1.3.0-noarch-1.txz
--rw-r--r-- 1 root root 197 2009-06-03 05:25 ./slackware64/x/randrproto-1.3.0-noarch-1.txz.asc
--rw-r--r-- 1 root root 335 2009-06-03 05:25 ./slackware64/x/recordproto-1.13.2-noarch-2.txt
--rw-r--r-- 1 root root 3956 2009-06-03 05:25 ./slackware64/x/recordproto-1.13.2-noarch-2.txz
--rw-r--r-- 1 root root 197 2009-06-03 05:25 ./slackware64/x/recordproto-1.13.2-noarch-2.txz.asc
--rw-r--r-- 1 root root 335 2009-06-03 05:38 ./slackware64/x/rendercheck-1.3-x86_64-2.txt
--rw-r--r-- 1 root root 18748 2009-06-03 05:38 ./slackware64/x/rendercheck-1.3-x86_64-2.txz
--rw-r--r-- 1 root root 197 2009-06-03 05:38 ./slackware64/x/rendercheck-1.3-x86_64-2.txz.asc
--rw-r--r-- 1 root root 335 2009-08-04 00:35 ./slackware64/x/renderproto-0.11-noarch-1.txt
--rw-r--r-- 1 root root 15320 2009-08-04 00:35 ./slackware64/x/renderproto-0.11-noarch-1.txz
--rw-r--r-- 1 root root 197 2009-08-04 00:35 ./slackware64/x/renderproto-0.11-noarch-1.txz.asc
--rw-r--r-- 1 root root 361 2009-06-03 05:25 ./slackware64/x/resourceproto-1.0.2-noarch-2.txt
--rw-r--r-- 1 root root 1448 2009-06-03 05:25 ./slackware64/x/resourceproto-1.0.2-noarch-2.txz
--rw-r--r-- 1 root root 197 2009-06-03 05:25 ./slackware64/x/resourceproto-1.0.2-noarch-2.txz.asc
--rw-r--r-- 1 root root 231 2009-06-03 05:39 ./slackware64/x/rgb-1.0.3-x86_64-1.txt
--rw-r--r-- 1 root root 7676 2009-06-03 05:39 ./slackware64/x/rgb-1.0.3-x86_64-1.txz
--rw-r--r-- 1 root root 197 2009-06-03 05:39 ./slackware64/x/rgb-1.0.3-x86_64-1.txz.asc
--rw-r--r-- 1 root root 270 2009-08-04 00:52 ./slackware64/x/rstart-1.0.3-x86_64-1.txt
--rw-r--r-- 1 root root 16596 2009-08-04 00:52 ./slackware64/x/rstart-1.0.3-x86_64-1.txz
--rw-r--r-- 1 root root 197 2009-08-04 00:52 ./slackware64/x/rstart-1.0.3-x86_64-1.txz.asc
--rw-r--r-- 1 root root 403 2008-11-06 16:24 ./slackware64/x/sazanami-fonts-ttf-20040629-noarch-1.txt
--rw-r--r-- 1 root root 5974804 2008-11-06 16:24 ./slackware64/x/sazanami-fonts-ttf-20040629-noarch-1.txz
--rw-r--r-- 1 root root 197 2008-11-06 16:24 ./slackware64/x/sazanami-fonts-ttf-20040629-noarch-1.txz.asc
--rw-r--r-- 1 root root 330 2009-06-09 00:28 ./slackware64/x/scim-1.4.9-x86_64-4.txt
--rw-r--r-- 1 root root 1055072 2009-06-09 00:28 ./slackware64/x/scim-1.4.9-x86_64-4.txz
--rw-r--r-- 1 root root 197 2009-06-09 00:28 ./slackware64/x/scim-1.4.9-x86_64-4.txz.asc
--rw-r--r-- 1 root root 508 2009-06-10 01:43 ./slackware64/x/scim-anthy-1.2.4-x86_64-2.txt
--rw-r--r-- 1 root root 250080 2009-06-10 01:43 ./slackware64/x/scim-anthy-1.2.4-x86_64-2.txz
--rw-r--r-- 1 root root 197 2009-06-10 01:43 ./slackware64/x/scim-anthy-1.2.4-x86_64-2.txz.asc
--rw-r--r-- 1 root root 505 2009-06-10 01:46 ./slackware64/x/scim-bridge-0.4.16-x86_64-4.txt
--rw-r--r-- 1 root root 115348 2009-06-10 01:46 ./slackware64/x/scim-bridge-0.4.16-x86_64-4.txz
--rw-r--r-- 1 root root 197 2009-06-10 01:46 ./slackware64/x/scim-bridge-0.4.16-x86_64-4.txz.asc
--rw-r--r-- 1 root root 611 2009-06-10 01:52 ./slackware64/x/scim-hangul-0.3.2-x86_64-2.txt
--rw-r--r-- 1 root root 44956 2009-06-10 01:52 ./slackware64/x/scim-hangul-0.3.2-x86_64-2.txz
--rw-r--r-- 1 root root 197 2009-06-10 01:52 ./slackware64/x/scim-hangul-0.3.2-x86_64-2.txz.asc
--rw-r--r-- 1 root root 356 2009-06-10 01:53 ./slackware64/x/scim-input-pad-0.1.2-x86_64-4.txt
--rw-r--r-- 1 root root 69624 2009-06-10 01:53 ./slackware64/x/scim-input-pad-0.1.2-x86_64-4.txz
--rw-r--r-- 1 root root 197 2009-06-10 01:53 ./slackware64/x/scim-input-pad-0.1.2-x86_64-4.txz.asc
--rw-r--r-- 1 root root 402 2009-04-20 14:18 ./slackware64/x/scim-m17n-0.2.3-x86_64-1.txt
--rw-r--r-- 1 root root 32356 2009-04-20 14:18 ./slackware64/x/scim-m17n-0.2.3-x86_64-1.txz
--rw-r--r-- 1 root root 197 2009-04-20 14:18 ./slackware64/x/scim-m17n-0.2.3-x86_64-1.txz.asc
--rw-r--r-- 1 root root 386 2009-06-10 01:55 ./slackware64/x/scim-pinyin-0.5.91-x86_64-2.txt
--rw-r--r-- 1 root root 1670432 2009-06-10 01:55 ./slackware64/x/scim-pinyin-0.5.91-x86_64-2.txz
--rw-r--r-- 1 root root 197 2009-06-10 01:55 ./slackware64/x/scim-pinyin-0.5.91-x86_64-2.txz.asc
--rw-r--r-- 1 root root 289 2009-06-10 01:56 ./slackware64/x/scim-tables-0.5.9-x86_64-3.txt
--rw-r--r-- 1 root root 3977628 2009-06-10 01:56 ./slackware64/x/scim-tables-0.5.9-x86_64-3.txz
--rw-r--r-- 1 root root 197 2009-06-10 01:56 ./slackware64/x/scim-tables-0.5.9-x86_64-3.txz.asc
--rw-r--r-- 1 root root 283 2009-06-03 05:39 ./slackware64/x/scripts-1.0.1-noarch-2.txt
--rw-r--r-- 1 root root 6628 2009-06-03 05:39 ./slackware64/x/scripts-1.0.1-noarch-2.txz
--rw-r--r-- 1 root root 197 2009-06-03 05:39 ./slackware64/x/scripts-1.0.1-noarch-2.txz.asc
--rw-r--r-- 1 root root 374 2009-06-03 05:25 ./slackware64/x/scrnsaverproto-1.1.0-noarch-2.txt
--rw-r--r-- 1 root root 3344 2009-06-03 05:25 ./slackware64/x/scrnsaverproto-1.1.0-noarch-2.txz
--rw-r--r-- 1 root root 197 2009-06-03 05:25 ./slackware64/x/scrnsaverproto-1.1.0-noarch-2.txz.asc
--rw-r--r-- 1 root root 283 2009-06-03 05:39 ./slackware64/x/sessreg-1.0.4-x86_64-1.txt
--rw-r--r-- 1 root root 6516 2009-06-03 05:39 ./slackware64/x/sessreg-1.0.4-x86_64-1.txz
--rw-r--r-- 1 root root 197 2009-06-03 05:39 ./slackware64/x/sessreg-1.0.4-x86_64-1.txz.asc
--rw-r--r-- 1 root root 309 2009-08-04 00:35 ./slackware64/x/setxkbmap-1.1.0-x86_64-1.txt
--rw-r--r-- 1 root root 10400 2009-08-04 00:35 ./slackware64/x/setxkbmap-1.1.0-x86_64-1.txz
--rw-r--r-- 1 root root 197 2009-08-04 00:35 ./slackware64/x/setxkbmap-1.1.0-x86_64-1.txz.asc
--rw-r--r-- 1 root root 296 2009-06-03 05:39 ./slackware64/x/showfont-1.0.2-x86_64-1.txt
--rw-r--r-- 1 root root 6660 2009-06-03 05:39 ./slackware64/x/showfont-1.0.2-x86_64-1.txz
--rw-r--r-- 1 root root 197 2009-06-03 05:39 ./slackware64/x/showfont-1.0.2-x86_64-1.txz.asc
--rw-r--r-- 1 root root 473 2008-11-06 18:22 ./slackware64/x/sinhala_lklug-font-ttf-20060929-noarch-1.txt
--rw-r--r-- 1 root root 67728 2008-11-06 18:22 ./slackware64/x/sinhala_lklug-font-ttf-20060929-noarch-1.txz
--rw-r--r-- 1 root root 197 2008-11-06 18:22 ./slackware64/x/sinhala_lklug-font-ttf-20060929-noarch-1.txz.asc
--rw-r--r-- 1 root root 283 2009-06-03 05:39 ./slackware64/x/smproxy-1.0.2-x86_64-2.txt
--rw-r--r-- 1 root root 10800 2009-06-03 05:39 ./slackware64/x/smproxy-1.0.2-x86_64-2.txz
--rw-r--r-- 1 root root 197 2009-06-03 05:39 ./slackware64/x/smproxy-1.0.2-x86_64-2.txz.asc
--rw-r--r-- 1 root root 4874 2009-08-04 17:39 ./slackware64/x/tagfile
--rw-r--r-- 1 root root 561 2008-11-06 18:23 ./slackware64/x/tibmachuni-font-ttf-1.901-noarch-1.txt
--rw-r--r-- 1 root root 860064 2008-11-06 18:23 ./slackware64/x/tibmachuni-font-ttf-1.901-noarch-1.txz
--rw-r--r-- 1 root root 197 2008-11-06 18:23 ./slackware64/x/tibmachuni-font-ttf-1.901-noarch-1.txz.asc
--rw-r--r-- 1 root root 309 2009-06-03 05:25 ./slackware64/x/trapproto-3.4.3-noarch-2.txt
--rw-r--r-- 1 root root 12824 2009-06-03 05:25 ./slackware64/x/trapproto-3.4.3-noarch-2.txz
--rw-r--r-- 1 root root 197 2009-06-03 05:25 ./slackware64/x/trapproto-3.4.3-noarch-2.txz.asc
--rw-r--r-- 1 root root 621 2008-11-06 18:24 ./slackware64/x/ttf-indic-fonts-0.4.7.4-noarch-1.txt
--rw-r--r-- 1 root root 2183528 2008-11-06 18:24 ./slackware64/x/ttf-indic-fonts-0.4.7.4-noarch-1.txz
--rw-r--r-- 1 root root 197 2008-11-06 18:24 ./slackware64/x/ttf-indic-fonts-0.4.7.4-noarch-1.txz.asc
--rw-r--r-- 1 root root 231 2009-06-03 05:39 ./slackware64/x/twm-1.0.4-x86_64-2.txt
--rw-r--r-- 1 root root 93544 2009-06-03 05:39 ./slackware64/x/twm-1.0.4-x86_64-2.txz
--rw-r--r-- 1 root root 197 2009-06-03 05:39 ./slackware64/x/twm-1.0.4-x86_64-2.txz.asc
--rw-r--r-- 1 root root 335 2009-07-16 22:27 ./slackware64/x/util-macros-1.2.2-noarch-1.txt
--rw-r--r-- 1 root root 5852 2009-07-16 22:27 ./slackware64/x/util-macros-1.2.2-noarch-1.txz
--rw-r--r-- 1 root root 197 2009-07-16 22:27 ./slackware64/x/util-macros-1.2.2-noarch-1.txz.asc
--rw-r--r-- 1 root root 322 2009-06-03 05:25 ./slackware64/x/videoproto-2.2.2-noarch-2.txt
--rw-r--r-- 1 root root 6984 2009-06-03 05:25 ./slackware64/x/videoproto-2.2.2-noarch-2.txz
--rw-r--r-- 1 root root 197 2009-06-03 05:25 ./slackware64/x/videoproto-2.2.2-noarch-2.txz.asc
--rw-r--r-- 1 root root 283 2009-06-03 05:39 ./slackware64/x/viewres-1.0.1-x86_64-3.txt
--rw-r--r-- 1 root root 12932 2009-06-03 05:39 ./slackware64/x/viewres-1.0.1-x86_64-3.txz
--rw-r--r-- 1 root root 197 2009-06-03 05:39 ./slackware64/x/viewres-1.0.1-x86_64-3.txz.asc
--rw-r--r-- 1 root root 686 2009-04-20 19:13 ./slackware64/x/wqy-zenhei-font-ttf-0.8.38_1-noarch-1.txt
--rw-r--r-- 1 root root 5752036 2009-04-20 19:13 ./slackware64/x/wqy-zenhei-font-ttf-0.8.38_1-noarch-1.txz
--rw-r--r-- 1 root root 197 2009-04-20 19:13 ./slackware64/x/wqy-zenhei-font-ttf-0.8.38_1-noarch-1.txz.asc
--rw-r--r-- 1 root root 607 2009-06-08 20:29 ./slackware64/x/x11-skel-7.4-x86_64-1.txt
--rw-r--r-- 1 root root 12176 2009-06-08 20:29 ./slackware64/x/x11-skel-7.4-x86_64-1.txz
--rw-r--r-- 1 root root 197 2009-06-08 20:29 ./slackware64/x/x11-skel-7.4-x86_64-1.txz.asc
--rw-r--r-- 1 root root 283 2009-06-03 05:39 ./slackware64/x/x11perf-1.5-x86_64-2.txt
--rw-r--r-- 1 root root 55076 2009-06-03 05:39 ./slackware64/x/x11perf-1.5-x86_64-2.txz
--rw-r--r-- 1 root root 197 2009-06-03 05:39 ./slackware64/x/x11perf-1.5-x86_64-2.txz.asc
--rw-r--r-- 1 root root 257 2009-06-03 05:39 ./slackware64/x/xauth-1.0.3-x86_64-2.txt
--rw-r--r-- 1 root root 19740 2009-06-03 05:39 ./slackware64/x/xauth-1.0.3-x86_64-2.txz
--rw-r--r-- 1 root root 197 2009-06-03 05:39 ./slackware64/x/xauth-1.0.3-x86_64-2.txz.asc
--rw-r--r-- 1 root root 519 2008-11-04 22:19 ./slackware64/x/xaw3d-1.5E-x86_64-1.txt
--rw-r--r-- 1 root root 166100 2008-11-04 22:19 ./slackware64/x/xaw3d-1.5E-x86_64-1.txz
--rw-r--r-- 1 root root 197 2008-11-04 22:19 ./slackware64/x/xaw3d-1.5E-x86_64-1.txz.asc
--rw-r--r-- 1 root root 322 2009-06-03 05:39 ./slackware64/x/xbacklight-1.1-x86_64-2.txt
--rw-r--r-- 1 root root 5360 2009-06-03 05:39 ./slackware64/x/xbacklight-1.1-x86_64-2.txz
--rw-r--r-- 1 root root 197 2009-06-03 05:39 ./slackware64/x/xbacklight-1.1-x86_64-2.txz.asc
--rw-r--r-- 1 root root 257 2009-06-03 05:39 ./slackware64/x/xbiff-1.0.1-x86_64-2.txt
--rw-r--r-- 1 root root 9536 2009-06-03 05:39 ./slackware64/x/xbiff-1.0.1-x86_64-2.txz
--rw-r--r-- 1 root root 197 2009-06-03 05:39 ./slackware64/x/xbiff-1.0.1-x86_64-2.txz.asc
--rw-r--r-- 1 root root 296 2009-06-03 05:26 ./slackware64/x/xbitmaps-1.0.1-noarch-2.txt
--rw-r--r-- 1 root root 18084 2009-06-03 05:26 ./slackware64/x/xbitmaps-1.0.1-noarch-2.txz
--rw-r--r-- 1 root root 197 2009-06-03 05:26 ./slackware64/x/xbitmaps-1.0.1-noarch-2.txz.asc
--rw-r--r-- 1 root root 257 2009-06-03 05:39 ./slackware64/x/xcalc-1.0.2-x86_64-2.txt
--rw-r--r-- 1 root root 20380 2009-06-03 05:39 ./slackware64/x/xcalc-1.0.2-x86_64-2.txz
--rw-r--r-- 1 root root 197 2009-06-03 05:39 ./slackware64/x/xcalc-1.0.2-x86_64-2.txz.asc
--rw-r--r-- 1 root root 309 2009-06-03 05:27 ./slackware64/x/xcb-proto-1.5-noarch-1.txt
--rw-r--r-- 1 root root 45456 2009-06-03 05:27 ./slackware64/x/xcb-proto-1.5-noarch-1.txz
--rw-r--r-- 1 root root 197 2009-06-03 05:27 ./slackware64/x/xcb-proto-1.5-noarch-1.txz.asc
--rw-r--r-- 1 root root 296 2009-06-03 05:27 ./slackware64/x/xcb-util-0.3.5-x86_64-1.txt
--rw-r--r-- 1 root root 44636 2009-06-03 05:27 ./slackware64/x/xcb-util-0.3.5-x86_64-1.txz
--rw-r--r-- 1 root root 197 2009-06-03 05:27 ./slackware64/x/xcb-util-0.3.5-x86_64-1.txz.asc
--rw-r--r-- 1 root root 322 2009-06-03 05:39 ./slackware64/x/xclipboard-1.0.1-x86_64-2.txt
--rw-r--r-- 1 root root 14112 2009-06-03 05:39 ./slackware64/x/xclipboard-1.0.1-x86_64-2.txz
--rw-r--r-- 1 root root 197 2009-06-03 05:39 ./slackware64/x/xclipboard-1.0.1-x86_64-2.txz.asc
--rw-r--r-- 1 root root 270 2009-06-03 05:39 ./slackware64/x/xclock-1.0.3-x86_64-2.txt
--rw-r--r-- 1 root root 20296 2009-06-03 05:39 ./slackware64/x/xclock-1.0.3-x86_64-2.txz
--rw-r--r-- 1 root root 197 2009-06-03 05:39 ./slackware64/x/xclock-1.0.3-x86_64-2.txz.asc
--rw-r--r-- 1 root root 335 2009-06-03 05:25 ./slackware64/x/xcmiscproto-1.1.2-noarch-2.txt
--rw-r--r-- 1 root root 1928 2009-06-03 05:25 ./slackware64/x/xcmiscproto-1.1.2-noarch-2.txz
--rw-r--r-- 1 root root 197 2009-06-03 05:25 ./slackware64/x/xcmiscproto-1.1.2-noarch-2.txz.asc
--rw-r--r-- 1 root root 270 2009-06-03 05:39 ./slackware64/x/xcmsdb-1.0.1-x86_64-2.txt
--rw-r--r-- 1 root root 13724 2009-06-03 05:39 ./slackware64/x/xcmsdb-1.0.1-x86_64-2.txz
--rw-r--r-- 1 root root 197 2009-06-03 05:39 ./slackware64/x/xcmsdb-1.0.1-x86_64-2.txz.asc
--rw-r--r-- 1 root root 296 2009-06-03 05:39 ./slackware64/x/xcompmgr-1.1.4-x86_64-2.txt
--rw-r--r-- 1 root root 15212 2009-06-03 05:39 ./slackware64/x/xcompmgr-1.1.4-x86_64-2.txz
--rw-r--r-- 1 root root 197 2009-06-03 05:39 ./slackware64/x/xcompmgr-1.1.4-x86_64-2.txz.asc
--rw-r--r-- 1 root root 296 2009-06-03 05:40 ./slackware64/x/xconsole-1.0.3-x86_64-2.txt
--rw-r--r-- 1 root root 8736 2009-06-03 05:40 ./slackware64/x/xconsole-1.0.3-x86_64-2.txz
--rw-r--r-- 1 root root 197 2009-06-03 05:40 ./slackware64/x/xconsole-1.0.3-x86_64-2.txz.asc
--rw-r--r-- 1 root root 374 2009-06-03 05:26 ./slackware64/x/xcursor-themes-1.0.1-noarch-2.txt
--rw-r--r-- 1 root root 293464 2009-06-03 05:26 ./slackware64/x/xcursor-themes-1.0.1-noarch-2.txz
--rw-r--r-- 1 root root 197 2009-06-03 05:26 ./slackware64/x/xcursor-themes-1.0.1-noarch-2.txz.asc
--rw-r--r-- 1 root root 322 2009-06-03 05:40 ./slackware64/x/xcursorgen-1.0.2-x86_64-2.txt
--rw-r--r-- 1 root root 6632 2009-06-03 05:40 ./slackware64/x/xcursorgen-1.0.2-x86_64-2.txz
--rw-r--r-- 1 root root 197 2009-06-03 05:40 ./slackware64/x/xcursorgen-1.0.2-x86_64-2.txz.asc
--rw-r--r-- 1 root root 309 2009-06-03 05:40 ./slackware64/x/xdbedizzy-1.0.2-x86_64-2.txt
--rw-r--r-- 1 root root 8492 2009-06-03 05:40 ./slackware64/x/xdbedizzy-1.0.2-x86_64-2.txz
--rw-r--r-- 1 root root 197 2009-06-03 05:40 ./slackware64/x/xdbedizzy-1.0.2-x86_64-2.txz.asc
--rw-r--r-- 1 root root 550 2009-02-03 19:45 ./slackware64/x/xdg-utils-1.0.2-noarch-3.txt
--rw-r--r-- 1 root root 42388 2009-02-03 19:45 ./slackware64/x/xdg-utils-1.0.2-noarch-3.txz
--rw-r--r-- 1 root root 197 2009-02-03 19:45 ./slackware64/x/xdg-utils-1.0.2-noarch-3.txz.asc
--rw-r--r-- 1 root root 296 2009-06-03 05:40 ./slackware64/x/xditview-1.0.1-x86_64-2.txt
--rw-r--r-- 1 root root 21056 2009-06-03 05:40 ./slackware64/x/xditview-1.0.1-x86_64-2.txz
--rw-r--r-- 1 root root 197 2009-06-03 05:40 ./slackware64/x/xditview-1.0.1-x86_64-2.txz.asc
--rw-r--r-- 1 root root 231 2009-06-03 05:40 ./slackware64/x/xdm-1.1.8-x86_64-1.txt
--rw-r--r-- 1 root root 97808 2009-06-03 05:40 ./slackware64/x/xdm-1.1.8-x86_64-1.txz
--rw-r--r-- 1 root root 197 2009-06-03 05:40 ./slackware64/x/xdm-1.1.8-x86_64-1.txz.asc
--rw-r--r-- 1 root root 296 2009-06-03 05:40 ./slackware64/x/xdpyinfo-1.0.3-x86_64-1.txt
--rw-r--r-- 1 root root 15544 2009-06-03 05:40 ./slackware64/x/xdpyinfo-1.0.3-x86_64-1.txz
--rw-r--r-- 1 root root 197 2009-06-03 05:40 ./slackware64/x/xdpyinfo-1.0.3-x86_64-1.txz.asc
--rw-r--r-- 1 root root 296 2009-06-03 05:40 ./slackware64/x/xdriinfo-1.0.2-x86_64-2.txt
--rw-r--r-- 1 root root 3892 2009-06-03 05:40 ./slackware64/x/xdriinfo-1.0.2-x86_64-2.txz
--rw-r--r-- 1 root root 197 2009-06-03 05:40 ./slackware64/x/xdriinfo-1.0.2-x86_64-2.txz.asc
--rw-r--r-- 1 root root 257 2009-06-03 05:40 ./slackware64/x/xedit-1.1.2-x86_64-1.txt
--rw-r--r-- 1 root root 282684 2009-06-03 05:40 ./slackware64/x/xedit-1.1.2-x86_64-1.txz
--rw-r--r-- 1 root root 197 2009-06-03 05:40 ./slackware64/x/xedit-1.1.2-x86_64-1.txz.asc
--rw-r--r-- 1 root root 231 2009-06-03 05:40 ./slackware64/x/xev-1.0.3-x86_64-2.txt
--rw-r--r-- 1 root root 10480 2009-06-03 05:40 ./slackware64/x/xev-1.0.3-x86_64-2.txz
--rw-r--r-- 1 root root 197 2009-06-03 05:40 ./slackware64/x/xev-1.0.3-x86_64-2.txz.asc
--rw-r--r-- 1 root root 309 2009-06-03 05:25 ./slackware64/x/xextproto-7.0.5-noarch-1.txt
--rw-r--r-- 1 root root 31640 2009-06-03 05:25 ./slackware64/x/xextproto-7.0.5-noarch-1.txz
--rw-r--r-- 1 root root 197 2009-06-03 05:25 ./slackware64/x/xextproto-7.0.5-noarch-1.txz.asc
--rw-r--r-- 1 root root 257 2009-06-03 05:40 ./slackware64/x/xeyes-1.0.1-x86_64-2.txt
--rw-r--r-- 1 root root 7188 2009-06-03 05:40 ./slackware64/x/xeyes-1.0.1-x86_64-2.txz
--rw-r--r-- 1 root root 197 2009-06-03 05:40 ./slackware64/x/xeyes-1.0.1-x86_64-2.txz.asc
--rw-r--r-- 1 root root 413 2009-06-03 05:44 ./slackware64/x/xf86-input-acecad-1.3.0-x86_64-1.txt
--rw-r--r-- 1 root root 9472 2009-06-03 05:44 ./slackware64/x/xf86-input-acecad-1.3.0-x86_64-1.txz
--rw-r--r-- 1 root root 197 2009-06-03 05:44 ./slackware64/x/xf86-input-acecad-1.3.0-x86_64-1.txz.asc
--rw-r--r-- 1 root root 413 2009-06-03 05:44 ./slackware64/x/xf86-input-aiptek-1.2.0-x86_64-1.txt
--rw-r--r-- 1 root root 13680 2009-06-03 05:44 ./slackware64/x/xf86-input-aiptek-1.2.0-x86_64-1.txz
--rw-r--r-- 1 root root 197 2009-06-03 05:44 ./slackware64/x/xf86-input-aiptek-1.2.0-x86_64-1.txz.asc
--rw-r--r-- 1 root root 413 2009-06-03 05:44 ./slackware64/x/xf86-input-citron-2.2.2-x86_64-1.txt
--rw-r--r-- 1 root root 23828 2009-06-03 05:44 ./slackware64/x/xf86-input-citron-2.2.2-x86_64-1.txz
--rw-r--r-- 1 root root 197 2009-06-03 05:44 ./slackware64/x/xf86-input-citron-2.2.2-x86_64-1.txz.asc
--rw-r--r-- 1 root root 478 2009-06-03 05:45 ./slackware64/x/xf86-input-elographics-1.2.3-x86_64-2.txt
--rw-r--r-- 1 root root 9236 2009-06-03 05:45 ./slackware64/x/xf86-input-elographics-1.2.3-x86_64-2.txz
--rw-r--r-- 1 root root 197 2009-06-03 05:45 ./slackware64/x/xf86-input-elographics-1.2.3-x86_64-2.txz.asc
--rw-r--r-- 1 root root 400 2009-08-21 03:15 ./slackware64/x/xf86-input-evdev-2.2.5-x86_64-1.txt
--rw-r--r-- 1 root root 18612 2009-08-21 03:15 ./slackware64/x/xf86-input-evdev-2.2.5-x86_64-1.txz
--rw-r--r-- 1 root root 197 2009-08-21 03:15 ./slackware64/x/xf86-input-evdev-2.2.5-x86_64-1.txz.asc
--rw-r--r-- 1 root root 387 2009-06-03 05:45 ./slackware64/x/xf86-input-fpit-1.3.0-x86_64-1.txt
--rw-r--r-- 1 root root 7800 2009-06-03 05:45 ./slackware64/x/xf86-input-fpit-1.3.0-x86_64-1.txz
--rw-r--r-- 1 root root 197 2009-06-03 05:45 ./slackware64/x/xf86-input-fpit-1.3.0-x86_64-1.txz.asc
--rw-r--r-- 1 root root 439 2009-06-03 05:45 ./slackware64/x/xf86-input-hyperpen-1.3.0-x86_64-1.txt
--rw-r--r-- 1 root root 8452 2009-06-03 05:45 ./slackware64/x/xf86-input-hyperpen-1.3.0-x86_64-1.txz
--rw-r--r-- 1 root root 197 2009-06-03 05:45 ./slackware64/x/xf86-input-hyperpen-1.3.0-x86_64-1.txz.asc
--rw-r--r-- 1 root root 439 2009-06-03 05:45 ./slackware64/x/xf86-input-joystick-1.4.0-x86_64-1.txt
--rw-r--r-- 1 root root 38372 2009-06-03 05:45 ./slackware64/x/xf86-input-joystick-1.4.0-x86_64-1.txz
--rw-r--r-- 1 root root 197 2009-06-03 05:45 ./slackware64/x/xf86-input-joystick-1.4.0-x86_64-1.txz.asc
--rw-r--r-- 1 root root 439 2009-06-03 05:46 ./slackware64/x/xf86-input-keyboard-1.3.2-x86_64-1.txt
--rw-r--r-- 1 root root 12080 2009-06-03 05:46 ./slackware64/x/xf86-input-keyboard-1.3.2-x86_64-1.txz
--rw-r--r-- 1 root root 197 2009-06-03 05:46 ./slackware64/x/xf86-input-keyboard-1.3.2-x86_64-1.txz.asc
--rw-r--r-- 1 root root 400 2009-06-03 05:46 ./slackware64/x/xf86-input-mouse-1.4.0-x86_64-1.txt
--rw-r--r-- 1 root root 24608 2009-06-03 05:46 ./slackware64/x/xf86-input-mouse-1.4.0-x86_64-1.txz
--rw-r--r-- 1 root root 197 2009-06-03 05:46 ./slackware64/x/xf86-input-mouse-1.4.0-x86_64-1.txz.asc
--rw-r--r-- 1 root root 426 2009-06-03 05:46 ./slackware64/x/xf86-input-mutouch-1.2.1-x86_64-2.txt
--rw-r--r-- 1 root root 9072 2009-06-03 05:46 ./slackware64/x/xf86-input-mutouch-1.2.1-x86_64-2.txz
--rw-r--r-- 1 root root 197 2009-06-03 05:46 ./slackware64/x/xf86-input-mutouch-1.2.1-x86_64-2.txz.asc
--rw-r--r-- 1 root root 439 2009-06-03 05:46 ./slackware64/x/xf86-input-penmount-1.4.0-x86_64-1.txt
--rw-r--r-- 1 root root 7344 2009-06-03 05:46 ./slackware64/x/xf86-input-penmount-1.4.0-x86_64-1.txz
--rw-r--r-- 1 root root 197 2009-06-03 05:46 ./slackware64/x/xf86-input-penmount-1.4.0-x86_64-1.txz.asc
--rw-r--r-- 1 root root 452 2009-08-04 00:35 ./slackware64/x/xf86-input-synaptics-1.1.3-x86_64-1.txt
--rw-r--r-- 1 root root 53688 2009-08-04 00:35 ./slackware64/x/xf86-input-synaptics-1.1.3-x86_64-1.txz
--rw-r--r-- 1 root root 197 2009-08-04 00:35 ./slackware64/x/xf86-input-synaptics-1.1.3-x86_64-1.txz.asc
--rw-r--r-- 1 root root 426 2009-06-03 05:47 ./slackware64/x/xf86-input-vmmouse-12.6.4-x86_64-1.txt
--rw-r--r-- 1 root root 11292 2009-06-03 05:47 ./slackware64/x/xf86-input-vmmouse-12.6.4-x86_64-1.txz
--rw-r--r-- 1 root root 197 2009-06-03 05:47 ./slackware64/x/xf86-input-vmmouse-12.6.4-x86_64-1.txz.asc
--rw-r--r-- 1 root root 387 2009-06-03 05:47 ./slackware64/x/xf86-input-void-1.2.0-x86_64-1.txt
--rw-r--r-- 1 root root 4108 2009-06-03 05:47 ./slackware64/x/xf86-input-void-1.2.0-x86_64-1.txz
--rw-r--r-- 1 root root 197 2009-06-03 05:47 ./slackware64/x/xf86-input-void-1.2.0-x86_64-1.txz.asc
--rw-r--r-- 1 root root 374 2009-08-04 00:35 ./slackware64/x/xf86-video-apm-1.2.2-x86_64-1.txt
--rw-r--r-- 1 root root 50348 2009-08-04 00:35 ./slackware64/x/xf86-video-apm-1.2.2-x86_64-1.txz
--rw-r--r-- 1 root root 197 2009-08-04 00:35 ./slackware64/x/xf86-video-apm-1.2.2-x86_64-1.txz.asc
--rw-r--r-- 1 root root 374 2009-06-03 05:47 ./slackware64/x/xf86-video-ark-0.7.1-x86_64-1.txt
--rw-r--r-- 1 root root 9412 2009-06-03 05:47 ./slackware64/x/xf86-video-ark-0.7.1-x86_64-1.txz
--rw-r--r-- 1 root root 197 2009-06-03 05:47 ./slackware64/x/xf86-video-ark-0.7.1-x86_64-1.txz.asc
--rw-r--r-- 1 root root 374 2009-08-04 00:35 ./slackware64/x/xf86-video-ast-0.89.9-x86_64-1.txt
--rw-r--r-- 1 root root 21168 2009-08-04 00:35 ./slackware64/x/xf86-video-ast-0.89.9-x86_64-1.txz
--rw-r--r-- 1 root root 197 2009-08-04 00:35 ./slackware64/x/xf86-video-ast-0.89.9-x86_64-1.txz.asc
--rw-r--r-- 1 root root 374 2009-07-16 22:31 ./slackware64/x/xf86-video-ati-6.12.2-x86_64-2.txt
--rw-r--r-- 1 root root 235436 2009-07-16 22:31 ./slackware64/x/xf86-video-ati-6.12.2-x86_64-2.txz
--rw-r--r-- 1 root root 197 2009-07-16 22:31 ./slackware64/x/xf86-video-ati-6.12.2-x86_64-2.txz.asc
--rw-r--r-- 1 root root 400 2009-06-03 05:48 ./slackware64/x/xf86-video-chips-1.2.1-x86_64-1.txt
--rw-r--r-- 1 root root 58656 2009-06-03 05:48 ./slackware64/x/xf86-video-chips-1.2.1-x86_64-1.txz
--rw-r--r-- 1 root root 197 2009-06-03 05:48 ./slackware64/x/xf86-video-chips-1.2.1-x86_64-1.txz.asc
--rw-r--r-- 1 root root 413 2009-08-04 00:36 ./slackware64/x/xf86-video-cirrus-1.3.2-x86_64-1.txt
--rw-r--r-- 1 root root 28780 2009-08-04 00:36 ./slackware64/x/xf86-video-cirrus-1.3.2-x86_64-1.txz
--rw-r--r-- 1 root root 197 2009-08-04 00:36 ./slackware64/x/xf86-video-cirrus-1.3.2-x86_64-1.txz.asc
--rw-r--r-- 1 root root 400 2009-07-16 22:31 ./slackware64/x/xf86-video-dummy-0.3.2-x86_64-1.txt
--rw-r--r-- 1 root root 7004 2009-07-16 22:31 ./slackware64/x/xf86-video-dummy-0.3.2-x86_64-1.txz
--rw-r--r-- 1 root root 197 2009-07-16 22:31 ./slackware64/x/xf86-video-dummy-0.3.2-x86_64-1.txz.asc
--rw-r--r-- 1 root root 400 2009-08-04 00:36 ./slackware64/x/xf86-video-glint-1.2.4-x86_64-1.txt
--rw-r--r-- 1 root root 77132 2009-08-04 00:36 ./slackware64/x/xf86-video-glint-1.2.4-x86_64-1.txz
--rw-r--r-- 1 root root 197 2009-08-04 00:36 ./slackware64/x/xf86-video-glint-1.2.4-x86_64-1.txz.asc
--rw-r--r-- 1 root root 387 2009-08-04 00:36 ./slackware64/x/xf86-video-i128-1.3.3-x86_64-1.txt
--rw-r--r-- 1 root root 22124 2009-08-04 00:36 ./slackware64/x/xf86-video-i128-1.3.3-x86_64-1.txz
--rw-r--r-- 1 root root 197 2009-08-04 00:36 ./slackware64/x/xf86-video-i128-1.3.3-x86_64-1.txz.asc
--rw-r--r-- 1 root root 387 2009-08-04 00:36 ./slackware64/x/xf86-video-i740-1.3.2-x86_64-1.txt
--rw-r--r-- 1 root root 20844 2009-08-04 00:36 ./slackware64/x/xf86-video-i740-1.3.2-x86_64-1.txz
--rw-r--r-- 1 root root 197 2009-08-04 00:36 ./slackware64/x/xf86-video-i740-1.3.2-x86_64-1.txz.asc
--rw-r--r-- 1 root root 400 2009-08-04 00:37 ./slackware64/x/xf86-video-intel-2.8.0-x86_64-1.txt
--rw-r--r-- 1 root root 239016 2009-08-04 00:37 ./slackware64/x/xf86-video-intel-2.8.0-x86_64-1.txz
--rw-r--r-- 1 root root 197 2009-08-04 00:37 ./slackware64/x/xf86-video-intel-2.8.0-x86_64-1.txz.asc
--rw-r--r-- 1 root root 413 2009-08-04 00:37 ./slackware64/x/xf86-video-mach64-6.8.2-x86_64-1.txt
--rw-r--r-- 1 root root 70800 2009-08-04 00:37 ./slackware64/x/xf86-video-mach64-6.8.2-x86_64-1.txz
--rw-r--r-- 1 root root 197 2009-08-04 00:37 ./slackware64/x/xf86-video-mach64-6.8.2-x86_64-1.txz.asc
--rw-r--r-- 1 root root 374 2009-08-04 00:37 ./slackware64/x/xf86-video-mga-1.4.11-x86_64-1.txt
--rw-r--r-- 1 root root 74336 2009-08-04 00:37 ./slackware64/x/xf86-video-mga-1.4.11-x86_64-1.txz
--rw-r--r-- 1 root root 197 2009-08-04 00:37 ./slackware64/x/xf86-video-mga-1.4.11-x86_64-1.txz.asc
--rw-r--r-- 1 root root 439 2009-08-04 00:37 ./slackware64/x/xf86-video-neomagic-1.2.4-x86_64-1.txt
--rw-r--r-- 1 root root 29836 2009-08-04 00:37 ./slackware64/x/xf86-video-neomagic-1.2.4-x86_64-1.txz
--rw-r--r-- 1 root root 197 2009-08-04 00:37 ./slackware64/x/xf86-video-neomagic-1.2.4-x86_64-1.txz.asc
--rw-r--r-- 1 root root 426 2009-06-03 05:51 ./slackware64/x/xf86-video-newport-0.2.2-x86_64-1.txt
--rw-r--r-- 1 root root 15988 2009-06-03 05:51 ./slackware64/x/xf86-video-newport-0.2.2-x86_64-1.txz
--rw-r--r-- 1 root root 197 2009-06-03 05:51 ./slackware64/x/xf86-video-newport-0.2.2-x86_64-1.txz.asc
--rw-r--r-- 1 root root 361 2009-07-16 22:34 ./slackware64/x/xf86-video-nv-2.1.14-x86_64-1.txt
--rw-r--r-- 1 root root 70340 2009-07-16 22:34 ./slackware64/x/xf86-video-nv-2.1.14-x86_64-1.txz
--rw-r--r-- 1 root root 197 2009-07-16 22:34 ./slackware64/x/xf86-video-nv-2.1.14-x86_64-1.txz.asc
--rw-r--r-- 1 root root 465 2009-06-03 05:52 ./slackware64/x/xf86-video-openchrome-0.2.903-x86_64-2.txt
--rw-r--r-- 1 root root 120584 2009-06-03 05:52 ./slackware64/x/xf86-video-openchrome-0.2.903-x86_64-2.txz
--rw-r--r-- 1 root root 197 2009-06-03 05:52 ./slackware64/x/xf86-video-openchrome-0.2.903-x86_64-2.txz.asc
--rw-r--r-- 1 root root 387 2009-08-04 00:37 ./slackware64/x/xf86-video-r128-6.8.1-x86_64-1.txt
--rw-r--r-- 1 root root 43168 2009-08-04 00:37 ./slackware64/x/xf86-video-r128-6.8.1-x86_64-1.txz
--rw-r--r-- 1 root root 197 2009-08-04 00:37 ./slackware64/x/xf86-video-r128-6.8.1-x86_64-1.txz.asc
--rw-r--r-- 1 root root 485 2009-06-03 05:52 ./slackware64/x/xf86-video-radeonhd-1.2.5-x86_64-1.txt
--rw-r--r-- 1 root root 180840 2009-06-03 05:52 ./slackware64/x/xf86-video-radeonhd-1.2.5-x86_64-1.txz
--rw-r--r-- 1 root root 197 2009-06-03 05:52 ./slackware64/x/xf86-video-radeonhd-1.2.5-x86_64-1.txz.asc
--rw-r--r-- 1 root root 452 2009-07-16 22:34 ./slackware64/x/xf86-video-rendition-4.2.2-x86_64-1.txt
--rw-r--r-- 1 root root 35940 2009-07-16 22:34 ./slackware64/x/xf86-video-rendition-4.2.2-x86_64-1.txz
--rw-r--r-- 1 root root 197 2009-07-16 22:34 ./slackware64/x/xf86-video-rendition-4.2.2-x86_64-1.txz.asc
--rw-r--r-- 1 root root 361 2009-08-04 00:38 ./slackware64/x/xf86-video-s3-0.6.3-x86_64-1.txt
--rw-r--r-- 1 root root 29404 2009-08-04 00:38 ./slackware64/x/xf86-video-s3-0.6.3-x86_64-1.txz
--rw-r--r-- 1 root root 197 2009-08-04 00:38 ./slackware64/x/xf86-video-s3-0.6.3-x86_64-1.txz.asc
--rw-r--r-- 1 root root 426 2009-08-04 00:38 ./slackware64/x/xf86-video-s3virge-1.10.4-x86_64-1.txt
--rw-r--r-- 1 root root 32672 2009-08-04 00:38 ./slackware64/x/xf86-video-s3virge-1.10.4-x86_64-1.txz
--rw-r--r-- 1 root root 197 2009-08-04 00:38 ./slackware64/x/xf86-video-s3virge-1.10.4-x86_64-1.txz.asc
--rw-r--r-- 1 root root 413 2009-08-04 00:38 ./slackware64/x/xf86-video-savage-2.3.1-x86_64-1.txt
--rw-r--r-- 1 root root 60368 2009-08-04 00:38 ./slackware64/x/xf86-video-savage-2.3.1-x86_64-1.txz
--rw-r--r-- 1 root root 197 2009-08-04 00:38 ./slackware64/x/xf86-video-savage-2.3.1-x86_64-1.txz.asc
--rw-r--r-- 1 root root 504 2009-07-16 22:34 ./slackware64/x/xf86-video-siliconmotion-1.7.2-x86_64-1.txt
--rw-r--r-- 1 root root 47860 2009-07-16 22:34 ./slackware64/x/xf86-video-siliconmotion-1.7.2-x86_64-1.txz
--rw-r--r-- 1 root root 197 2009-07-16 22:34 ./slackware64/x/xf86-video-siliconmotion-1.7.2-x86_64-1.txz.asc
--rw-r--r-- 1 root root 374 2009-08-04 00:38 ./slackware64/x/xf86-video-sis-0.10.2-x86_64-1.txt
--rw-r--r-- 1 root root 232268 2009-08-04 00:38 ./slackware64/x/xf86-video-sis-0.10.2-x86_64-1.txz
--rw-r--r-- 1 root root 197 2009-08-04 00:38 ./slackware64/x/xf86-video-sis-0.10.2-x86_64-1.txz.asc
--rw-r--r-- 1 root root 413 2009-08-04 00:38 ./slackware64/x/xf86-video-sisusb-0.9.3-x86_64-1.txt
--rw-r--r-- 1 root root 35096 2009-08-04 00:38 ./slackware64/x/xf86-video-sisusb-0.9.3-x86_64-1.txz
--rw-r--r-- 1 root root 197 2009-08-04 00:38 ./slackware64/x/xf86-video-sisusb-0.9.3-x86_64-1.txz.asc
--rw-r--r-- 1 root root 387 2009-08-04 00:38 ./slackware64/x/xf86-video-tdfx-1.4.3-x86_64-1.txt
--rw-r--r-- 1 root root 30684 2009-08-04 00:38 ./slackware64/x/xf86-video-tdfx-1.4.3-x86_64-1.txz
--rw-r--r-- 1 root root 197 2009-08-04 00:38 ./slackware64/x/xf86-video-tdfx-1.4.3-x86_64-1.txz.asc
--rw-r--r-- 1 root root 374 2009-06-03 05:54 ./slackware64/x/xf86-video-tga-1.2.0-x86_64-1.txt
--rw-r--r-- 1 root root 22740 2009-06-03 05:54 ./slackware64/x/xf86-video-tga-1.2.0-x86_64-1.txz
--rw-r--r-- 1 root root 197 2009-06-03 05:54 ./slackware64/x/xf86-video-tga-1.2.0-x86_64-1.txz.asc
--rw-r--r-- 1 root root 426 2009-07-16 22:35 ./slackware64/x/xf86-video-trident-1.3.2-x86_64-1.txt
--rw-r--r-- 1 root root 59696 2009-07-16 22:35 ./slackware64/x/xf86-video-trident-1.3.2-x86_64-1.txz
--rw-r--r-- 1 root root 197 2009-07-16 22:35 ./slackware64/x/xf86-video-trident-1.3.2-x86_64-1.txz.asc
--rw-r--r-- 1 root root 400 2009-07-16 22:35 ./slackware64/x/xf86-video-tseng-1.2.2-x86_64-1.txt
--rw-r--r-- 1 root root 21792 2009-07-16 22:35 ./slackware64/x/xf86-video-tseng-1.2.2-x86_64-1.txz
--rw-r--r-- 1 root root 197 2009-07-16 22:35 ./slackware64/x/xf86-video-tseng-1.2.2-x86_64-1.txz.asc
--rw-r--r-- 1 root root 374 2009-06-03 05:54 ./slackware64/x/xf86-video-v4l-0.2.0-x86_64-2.txt
--rw-r--r-- 1 root root 8580 2009-06-03 05:54 ./slackware64/x/xf86-video-v4l-0.2.0-x86_64-2.txz
--rw-r--r-- 1 root root 197 2009-06-03 05:54 ./slackware64/x/xf86-video-v4l-0.2.0-x86_64-2.txz.asc
--rw-r--r-- 1 root root 387 2009-08-04 00:38 ./slackware64/x/xf86-video-vesa-2.2.1-x86_64-1.txt
--rw-r--r-- 1 root root 11952 2009-08-04 00:38 ./slackware64/x/xf86-video-vesa-2.2.1-x86_64-1.txz
--rw-r--r-- 1 root root 197 2009-08-04 00:38 ./slackware64/x/xf86-video-vesa-2.2.1-x86_64-1.txz.asc
--rw-r--r-- 1 root root 413 2009-06-03 05:55 ./slackware64/x/xf86-video-vmware-10.16.6-x86_64-1.txt
--rw-r--r-- 1 root root 20968 2009-06-03 05:55 ./slackware64/x/xf86-video-vmware-10.16.6-x86_64-1.txz
--rw-r--r-- 1 root root 197 2009-06-03 05:55 ./slackware64/x/xf86-video-vmware-10.16.6-x86_64-1.txz.asc
--rw-r--r-- 1 root root 413 2009-08-04 00:38 ./slackware64/x/xf86-video-voodoo-1.2.3-x86_64-1.txt
--rw-r--r-- 1 root root 13332 2009-08-04 00:38 ./slackware64/x/xf86-video-voodoo-1.2.3-x86_64-1.txz
--rw-r--r-- 1 root root 197 2009-08-04 00:38 ./slackware64/x/xf86-video-voodoo-1.2.3-x86_64-1.txz.asc
--rw-r--r-- 1 root root 400 2009-06-03 05:25 ./slackware64/x/xf86bigfontproto-1.1.2-noarch-2.txt
--rw-r--r-- 1 root root 1948 2009-06-03 05:25 ./slackware64/x/xf86bigfontproto-1.1.2-noarch-2.txz
--rw-r--r-- 1 root root 197 2009-06-03 05:25 ./slackware64/x/xf86bigfontproto-1.1.2-noarch-2.txz.asc
--rw-r--r-- 1 root root 283 2009-06-03 05:41 ./slackware64/x/xf86dga-1.0.2-x86_64-2.txt
--rw-r--r-- 1 root root 4784 2009-06-03 05:41 ./slackware64/x/xf86dga-1.0.2-x86_64-2.txz
--rw-r--r-- 1 root root 197 2009-06-03 05:41 ./slackware64/x/xf86dga-1.0.2-x86_64-2.txz.asc
--rw-r--r-- 1 root root 348 2009-06-03 05:25 ./slackware64/x/xf86dgaproto-2.0.3-noarch-2.txt
--rw-r--r-- 1 root root 4408 2009-06-03 05:25 ./slackware64/x/xf86dgaproto-2.0.3-noarch-2.txz
--rw-r--r-- 1 root root 197 2009-06-03 05:25 ./slackware64/x/xf86dgaproto-2.0.3-noarch-2.txz.asc
--rw-r--r-- 1 root root 348 2009-06-03 05:25 ./slackware64/x/xf86driproto-2.0.4-noarch-2.txt
--rw-r--r-- 1 root root 3256 2009-06-03 05:25 ./slackware64/x/xf86driproto-2.0.4-noarch-2.txz
--rw-r--r-- 1 root root 197 2009-06-03 05:25 ./slackware64/x/xf86driproto-2.0.4-noarch-2.txz.asc
--rw-r--r-- 1 root root 361 2009-06-03 05:25 ./slackware64/x/xf86miscproto-0.9.2-noarch-2.txt
--rw-r--r-- 1 root root 2860 2009-06-03 05:25 ./slackware64/x/xf86miscproto-0.9.2-noarch-2.txz
--rw-r--r-- 1 root root 197 2009-06-03 05:25 ./slackware64/x/xf86miscproto-0.9.2-noarch-2.txz.asc
--rw-r--r-- 1 root root 361 2009-06-03 05:25 ./slackware64/x/xf86rushproto-1.1.2-noarch-2.txt
--rw-r--r-- 1 root root 2148 2009-06-03 05:25 ./slackware64/x/xf86rushproto-1.1.2-noarch-2.txz
--rw-r--r-- 1 root root 197 2009-06-03 05:25 ./slackware64/x/xf86rushproto-1.1.2-noarch-2.txz.asc
--rw-r--r-- 1 root root 400 2009-06-03 05:25 ./slackware64/x/xf86vidmodeproto-2.2.2-noarch-2.txt
--rw-r--r-- 1 root root 4428 2009-06-03 05:25 ./slackware64/x/xf86vidmodeproto-2.2.2-noarch-2.txz
--rw-r--r-- 1 root root 197 2009-06-03 05:25 ./slackware64/x/xf86vidmodeproto-2.2.2-noarch-2.txz.asc
--rw-r--r-- 1 root root 231 2009-06-03 05:41 ./slackware64/x/xfd-1.0.1-x86_64-2.txt
--rw-r--r-- 1 root root 14136 2009-06-03 05:41 ./slackware64/x/xfd-1.0.1-x86_64-2.txz
--rw-r--r-- 1 root root 197 2009-06-03 05:41 ./slackware64/x/xfd-1.0.1-x86_64-2.txz.asc
--rw-r--r-- 1 root root 322 2009-06-03 05:41 ./slackware64/x/xfindproxy-1.0.1-x86_64-2.txt
--rw-r--r-- 1 root root 7372 2009-06-03 05:41 ./slackware64/x/xfindproxy-1.0.1-x86_64-2.txz
--rw-r--r-- 1 root root 197 2009-06-03 05:41 ./slackware64/x/xfindproxy-1.0.1-x86_64-2.txz.asc
--rw-r--r-- 1 root root 296 2009-06-03 05:41 ./slackware64/x/xfontsel-1.0.2-x86_64-2.txt
--rw-r--r-- 1 root root 21676 2009-06-03 05:41 ./slackware64/x/xfontsel-1.0.2-x86_64-2.txz
--rw-r--r-- 1 root root 197 2009-06-03 05:41 ./slackware64/x/xfontsel-1.0.2-x86_64-2.txz.asc
--rw-r--r-- 1 root root 231 2009-08-04 00:38 ./slackware64/x/xfs-1.1.0-x86_64-1.txt
--rw-r--r-- 1 root root 55536 2009-08-04 00:38 ./slackware64/x/xfs-1.1.0-x86_64-1.txz
--rw-r--r-- 1 root root 197 2009-08-04 00:38 ./slackware64/x/xfs-1.1.0-x86_64-1.txz.asc
--rw-r--r-- 1 root root 283 2009-06-03 05:41 ./slackware64/x/xfsinfo-1.0.2-x86_64-1.txt
--rw-r--r-- 1 root root 4592 2009-06-03 05:41 ./slackware64/x/xfsinfo-1.0.2-x86_64-1.txz
--rw-r--r-- 1 root root 197 2009-06-03 05:41 ./slackware64/x/xfsinfo-1.0.2-x86_64-1.txz.asc
--rw-r--r-- 1 root root 244 2009-06-03 05:41 ./slackware64/x/xfwp-1.0.1-x86_64-2.txt
--rw-r--r-- 1 root root 21568 2009-06-03 05:41 ./slackware64/x/xfwp-1.0.1-x86_64-2.txz
--rw-r--r-- 1 root root 197 2009-06-03 05:41 ./slackware64/x/xfwp-1.0.1-x86_64-2.txz.asc
--rw-r--r-- 1 root root 270 2009-06-03 05:41 ./slackware64/x/xgamma-1.0.2-x86_64-2.txt
--rw-r--r-- 1 root root 5540 2009-06-03 05:41 ./slackware64/x/xgamma-1.0.2-x86_64-2.txz
--rw-r--r-- 1 root root 197 2009-06-03 05:41 ./slackware64/x/xgamma-1.0.2-x86_64-2.txz.asc
--rw-r--r-- 1 root root 231 2009-06-03 05:41 ./slackware64/x/xgc-1.0.1-x86_64-2.txt
--rw-r--r-- 1 root root 23680 2009-06-03 05:41 ./slackware64/x/xgc-1.0.1-x86_64-2.txz
--rw-r--r-- 1 root root 197 2009-06-03 05:41 ./slackware64/x/xgc-1.0.1-x86_64-2.txz.asc
--rw-r--r-- 1 root root 257 2009-06-03 05:41 ./slackware64/x/xhost-1.0.2-x86_64-2.txt
--rw-r--r-- 1 root root 8988 2009-06-03 05:41 ./slackware64/x/xhost-1.0.2-x86_64-2.txz
--rw-r--r-- 1 root root 197 2009-06-03 05:41 ./slackware64/x/xhost-1.0.2-x86_64-2.txz.asc
--rw-r--r-- 1 root root 361 2009-06-03 05:25 ./slackware64/x/xineramaproto-1.1.2-noarch-2.txt
--rw-r--r-- 1 root root 3176 2009-06-03 05:25 ./slackware64/x/xineramaproto-1.1.2-noarch-2.txz
--rw-r--r-- 1 root root 197 2009-06-03 05:25 ./slackware64/x/xineramaproto-1.1.2-noarch-2.txz.asc
--rw-r--r-- 1 root root 257 2009-06-03 05:41 ./slackware64/x/xinit-1.1.1-x86_64-1.txt
--rw-r--r-- 1 root root 14244 2009-06-03 05:41 ./slackware64/x/xinit-1.1.1-x86_64-1.txz
--rw-r--r-- 1 root root 197 2009-06-03 05:41 ./slackware64/x/xinit-1.1.1-x86_64-1.txz.asc
--rw-r--r-- 1 root root 468 2009-06-03 05:41 ./slackware64/x/xinput-1.4.2-x86_64-1.txt
--rw-r--r-- 1 root root 11296 2009-06-03 05:41 ./slackware64/x/xinput-1.4.2-x86_64-1.txz
--rw-r--r-- 1 root root 197 2009-06-03 05:41 ./slackware64/x/xinput-1.4.2-x86_64-1.txz.asc
--rw-r--r-- 1 root root 283 2009-08-04 00:39 ./slackware64/x/xkbcomp-1.1.0-x86_64-1.txt
--rw-r--r-- 1 root root 78844 2009-08-04 00:39 ./slackware64/x/xkbcomp-1.1.0-x86_64-1.txz
--rw-r--r-- 1 root root 197 2009-08-04 00:39 ./slackware64/x/xkbcomp-1.1.0-x86_64-1.txz.asc
--rw-r--r-- 1 root root 270 2009-06-03 05:41 ./slackware64/x/xkbevd-1.0.2-x86_64-2.txt
--rw-r--r-- 1 root root 16852 2009-06-03 05:41 ./slackware64/x/xkbevd-1.0.2-x86_64-2.txz
--rw-r--r-- 1 root root 197 2009-06-03 05:41 ./slackware64/x/xkbevd-1.0.2-x86_64-2.txz.asc
--rw-r--r-- 1 root root 296 2009-06-03 05:41 ./slackware64/x/xkbprint-1.0.1-x86_64-2.txt
--rw-r--r-- 1 root root 42012 2009-06-03 05:41 ./slackware64/x/xkbprint-1.0.1-x86_64-2.txz
--rw-r--r-- 1 root root 197 2009-06-03 05:41 ./slackware64/x/xkbprint-1.0.1-x86_64-2.txz.asc
--rw-r--r-- 1 root root 296 2009-06-03 05:41 ./slackware64/x/xkbutils-1.0.1-x86_64-2.txt
--rw-r--r-- 1 root root 13912 2009-06-03 05:41 ./slackware64/x/xkbutils-1.0.1-x86_64-2.txz
--rw-r--r-- 1 root root 197 2009-06-03 05:41 ./slackware64/x/xkbutils-1.0.1-x86_64-2.txz.asc
--rw-r--r-- 1 root root 400 2009-06-03 05:26 ./slackware64/x/xkeyboard-config-1.6-noarch-1.txt
--rw-r--r-- 1 root root 394820 2009-06-03 05:26 ./slackware64/x/xkeyboard-config-1.6-noarch-1.txz
--rw-r--r-- 1 root root 197 2009-06-03 05:26 ./slackware64/x/xkeyboard-config-1.6-noarch-1.txz.asc
--rw-r--r-- 1 root root 257 2009-06-03 05:41 ./slackware64/x/xkill-1.0.1-x86_64-2.txt
--rw-r--r-- 1 root root 7024 2009-06-03 05:41 ./slackware64/x/xkill-1.0.1-x86_64-2.txz
--rw-r--r-- 1 root root 197 2009-06-03 05:41 ./slackware64/x/xkill-1.0.1-x86_64-2.txz.asc
--rw-r--r-- 1 root root 257 2009-06-03 05:42 ./slackware64/x/xload-1.0.2-x86_64-2.txt
--rw-r--r-- 1 root root 7856 2009-06-03 05:42 ./slackware64/x/xload-1.0.2-x86_64-2.txz
--rw-r--r-- 1 root root 197 2009-06-03 05:42 ./slackware64/x/xload-1.0.2-x86_64-2.txz.asc
--rw-r--r-- 1 root root 257 2009-06-03 05:42 ./slackware64/x/xlogo-1.0.1-x86_64-2.txt
--rw-r--r-- 1 root root 8868 2009-06-03 05:42 ./slackware64/x/xlogo-1.0.1-x86_64-2.txz
--rw-r--r-- 1 root root 197 2009-06-03 05:42 ./slackware64/x/xlogo-1.0.1-x86_64-2.txz.asc
--rw-r--r-- 1 root root 296 2009-06-03 05:42 ./slackware64/x/xlsatoms-1.0.1-x86_64-2.txt
--rw-r--r-- 1 root root 5036 2009-06-03 05:42 ./slackware64/x/xlsatoms-1.0.1-x86_64-2.txz
--rw-r--r-- 1 root root 197 2009-06-03 05:42 ./slackware64/x/xlsatoms-1.0.1-x86_64-2.txz.asc
--rw-r--r-- 1 root root 322 2009-06-03 05:42 ./slackware64/x/xlsclients-1.0.1-x86_64-2.txt
--rw-r--r-- 1 root root 5676 2009-06-03 05:42 ./slackware64/x/xlsclients-1.0.1-x86_64-2.txz
--rw-r--r-- 1 root root 197 2009-06-03 05:42 ./slackware64/x/xlsclients-1.0.1-x86_64-2.txz.asc
--rw-r--r-- 1 root root 296 2009-06-03 05:42 ./slackware64/x/xlsfonts-1.0.2-x86_64-2.txt
--rw-r--r-- 1 root root 11372 2009-06-03 05:42 ./slackware64/x/xlsfonts-1.0.2-x86_64-2.txz
--rw-r--r-- 1 root root 197 2009-06-03 05:42 ./slackware64/x/xlsfonts-1.0.2-x86_64-2.txz.asc
--rw-r--r-- 1 root root 244 2009-06-03 05:42 ./slackware64/x/xmag-1.0.2-x86_64-2.txt
--rw-r--r-- 1 root root 16192 2009-06-03 05:42 ./slackware64/x/xmag-1.0.2-x86_64-2.txz
--rw-r--r-- 1 root root 197 2009-06-03 05:42 ./slackware64/x/xmag-1.0.2-x86_64-2.txz.asc
--rw-r--r-- 1 root root 244 2009-06-03 05:42 ./slackware64/x/xman-1.0.3-x86_64-2.txt
--rw-r--r-- 1 root root 32776 2009-06-03 05:42 ./slackware64/x/xman-1.0.3-x86_64-2.txz
--rw-r--r-- 1 root root 197 2009-06-03 05:42 ./slackware64/x/xman-1.0.3-x86_64-2.txz.asc
--rw-r--r-- 1 root root 296 2009-06-03 05:42 ./slackware64/x/xmessage-1.0.2-x86_64-2.txt
--rw-r--r-- 1 root root 10120 2009-06-03 05:42 ./slackware64/x/xmessage-1.0.2-x86_64-2.txz
--rw-r--r-- 1 root root 197 2009-06-03 05:42 ./slackware64/x/xmessage-1.0.2-x86_64-2.txz.asc
--rw-r--r-- 1 root root 231 2009-06-03 05:42 ./slackware64/x/xmh-1.0.1-x86_64-2.txt
--rw-r--r-- 1 root root 71004 2009-06-03 05:42 ./slackware64/x/xmh-1.0.1-x86_64-2.txz
--rw-r--r-- 1 root root 197 2009-06-03 05:42 ./slackware64/x/xmh-1.0.1-x86_64-2.txz.asc
--rw-r--r-- 1 root root 283 2009-06-03 05:42 ./slackware64/x/xmodmap-1.0.3-x86_64-2.txt
--rw-r--r-- 1 root root 17852 2009-06-03 05:42 ./slackware64/x/xmodmap-1.0.3-x86_64-2.txz
--rw-r--r-- 1 root root 197 2009-06-03 05:42 ./slackware64/x/xmodmap-1.0.3-x86_64-2.txz.asc
--rw-r--r-- 1 root root 257 2009-06-03 05:42 ./slackware64/x/xmore-1.0.1-x86_64-2.txt
--rw-r--r-- 1 root root 4936 2009-06-03 05:42 ./slackware64/x/xmore-1.0.1-x86_64-2.txz
--rw-r--r-- 1 root root 197 2009-06-03 05:42 ./slackware64/x/xmore-1.0.1-x86_64-2.txz.asc
--rw-r--r-- 1 root root 361 2009-08-11 03:33 ./slackware64/x/xorg-cf-files-1.0.2-noarch-3.txt
--rw-r--r-- 1 root root 163608 2009-08-11 03:33 ./slackware64/x/xorg-cf-files-1.0.2-noarch-3.txz
--rw-r--r-- 1 root root 197 2009-08-11 03:33 ./slackware64/x/xorg-cf-files-1.0.2-noarch-3.txz.asc
--rw-r--r-- 1 root root 309 2009-06-03 05:44 ./slackware64/x/xorg-docs-1.4-noarch-2.txt
--rw-r--r-- 1 root root 5630612 2009-06-03 05:44 ./slackware64/x/xorg-docs-1.4-noarch-2.txz
--rw-r--r-- 1 root root 197 2009-06-03 05:44 ./slackware64/x/xorg-docs-1.4-noarch-2.txz.asc
--rw-r--r-- 1 root root 698 2009-08-04 00:40 ./slackware64/x/xorg-server-1.6.3-x86_64-1.txt
--rw-r--r-- 1 root root 1643972 2009-08-04 00:40 ./slackware64/x/xorg-server-1.6.3-x86_64-1.txz
--rw-r--r-- 1 root root 197 2009-08-04 00:40 ./slackware64/x/xorg-server-1.6.3-x86_64-1.txz.asc
--rw-r--r-- 1 root root 370 2009-08-04 00:40 ./slackware64/x/xorg-server-xephyr-1.6.3-x86_64-1.txt
--rw-r--r-- 1 root root 690832 2009-08-04 00:40 ./slackware64/x/xorg-server-xephyr-1.6.3-x86_64-1.txz
--rw-r--r-- 1 root root 197 2009-08-04 00:40 ./slackware64/x/xorg-server-xephyr-1.6.3-x86_64-1.txz.asc
--rw-r--r-- 1 root root 595 2009-08-04 00:40 ./slackware64/x/xorg-server-xnest-1.6.3-x86_64-1.txt
--rw-r--r-- 1 root root 534068 2009-08-04 00:40 ./slackware64/x/xorg-server-xnest-1.6.3-x86_64-1.txz
--rw-r--r-- 1 root root 197 2009-08-04 00:40 ./slackware64/x/xorg-server-xnest-1.6.3-x86_64-1.txz.asc
--rw-r--r-- 1 root root 693 2009-08-04 00:40 ./slackware64/x/xorg-server-xvfb-1.6.3-x86_64-1.txt
--rw-r--r-- 1 root root 621068 2009-08-04 00:40 ./slackware64/x/xorg-server-xvfb-1.6.3-x86_64-1.txz
--rw-r--r-- 1 root root 197 2009-08-04 00:40 ./slackware64/x/xorg-server-xvfb-1.6.3-x86_64-1.txz.asc
--rw-r--r-- 1 root root 426 2009-06-03 05:44 ./slackware64/x/xorg-sgml-doctools-1.2-noarch-2.txt
--rw-r--r-- 1 root root 1276 2009-06-03 05:44 ./slackware64/x/xorg-sgml-doctools-1.2-noarch-2.txz
--rw-r--r-- 1 root root 197 2009-06-03 05:44 ./slackware64/x/xorg-sgml-doctools-1.2-noarch-2.txz.asc
--rw-r--r-- 1 root root 348 2009-06-03 05:42 ./slackware64/x/xplsprinters-1.0.1-x86_64-2.txt
--rw-r--r-- 1 root root 5424 2009-06-03 05:42 ./slackware64/x/xplsprinters-1.0.1-x86_64-2.txz
--rw-r--r-- 1 root root 197 2009-06-03 05:42 ./slackware64/x/xplsprinters-1.0.1-x86_64-2.txz.asc
--rw-r--r-- 1 root root 231 2009-06-03 05:42 ./slackware64/x/xpr-1.0.2-x86_64-2.txt
--rw-r--r-- 1 root root 29956 2009-06-03 05:42 ./slackware64/x/xpr-1.0.2-x86_64-2.txz
--rw-r--r-- 1 root root 197 2009-06-03 05:42 ./slackware64/x/xpr-1.0.2-x86_64-2.txz.asc
--rw-r--r-- 1 root root 439 2009-06-03 05:42 ./slackware64/x/xprehashprinterlist-1.0.1-x86_64-2.txt
--rw-r--r-- 1 root root 3848 2009-06-03 05:42 ./slackware64/x/xprehashprinterlist-1.0.1-x86_64-2.txz
--rw-r--r-- 1 root root 197 2009-06-03 05:42 ./slackware64/x/xprehashprinterlist-1.0.1-x86_64-2.txz.asc
--rw-r--r-- 1 root root 257 2009-06-03 05:42 ./slackware64/x/xprop-1.0.4-x86_64-2.txt
--rw-r--r-- 1 root root 19868 2009-06-03 05:42 ./slackware64/x/xprop-1.0.4-x86_64-2.txz
--rw-r--r-- 1 root root 197 2009-06-03 05:42 ./slackware64/x/xprop-1.0.4-x86_64-2.txz.asc
--rw-r--r-- 1 root root 270 2009-06-03 05:26 ./slackware64/x/xproto-7.0.15-noarch-1.txt
--rw-r--r-- 1 root root 59632 2009-06-03 05:26 ./slackware64/x/xproto-7.0.15-noarch-1.txz
--rw-r--r-- 1 root root 197 2009-06-03 05:26 ./slackware64/x/xproto-7.0.15-noarch-1.txz.asc
--rw-r--r-- 1 root root 504 2009-06-03 05:26 ./slackware64/x/xproxymanagementprotocol-1.0.2-noarch-2.txt
--rw-r--r-- 1 root root 2008 2009-06-03 05:26 ./slackware64/x/xproxymanagementprotocol-1.0.2-noarch-2.txz
--rw-r--r-- 1 root root 197 2009-06-03 05:26 ./slackware64/x/xproxymanagementprotocol-1.0.2-noarch-2.txz.asc
--rw-r--r-- 1 root root 244 2009-06-03 05:27 ./slackware64/x/xpyb-1.1-x86_64-1.txt
--rw-r--r-- 1 root root 101144 2009-06-03 05:27 ./slackware64/x/xpyb-1.1-x86_64-1.txz
--rw-r--r-- 1 root root 197 2009-06-03 05:27 ./slackware64/x/xpyb-1.1-x86_64-1.txz.asc
--rw-r--r-- 1 root root 270 2009-06-03 05:42 ./slackware64/x/xrandr-1.3.0-x86_64-1.txt
--rw-r--r-- 1 root root 30304 2009-06-03 05:42 ./slackware64/x/xrandr-1.3.0-x86_64-1.txz
--rw-r--r-- 1 root root 197 2009-06-03 05:42 ./slackware64/x/xrandr-1.3.0-x86_64-1.txz.asc
--rw-r--r-- 1 root root 244 2009-06-03 05:42 ./slackware64/x/xrdb-1.0.5-x86_64-2.txt
--rw-r--r-- 1 root root 15544 2009-06-03 05:42 ./slackware64/x/xrdb-1.0.5-x86_64-2.txz
--rw-r--r-- 1 root root 197 2009-06-03 05:42 ./slackware64/x/xrdb-1.0.5-x86_64-2.txz.asc
--rw-r--r-- 1 root root 296 2009-06-03 05:42 ./slackware64/x/xrefresh-1.0.2-x86_64-2.txt
--rw-r--r-- 1 root root 6096 2009-06-03 05:42 ./slackware64/x/xrefresh-1.0.2-x86_64-2.txz
--rw-r--r-- 1 root root 197 2009-06-03 05:42 ./slackware64/x/xrefresh-1.0.2-x86_64-2.txz.asc
--rw-r--r-- 1 root root 270 2009-06-03 05:43 ./slackware64/x/xscope-1.1-x86_64-1.txt
--rw-r--r-- 1 root root 52100 2009-06-03 05:43 ./slackware64/x/xscope-1.1-x86_64-1.txz
--rw-r--r-- 1 root root 197 2009-06-03 05:43 ./slackware64/x/xscope-1.1-x86_64-1.txz.asc
--rw-r--r-- 1 root root 244 2009-06-03 05:43 ./slackware64/x/xset-1.0.4-x86_64-2.txt
--rw-r--r-- 1 root root 17292 2009-06-03 05:43 ./slackware64/x/xset-1.0.4-x86_64-2.txz
--rw-r--r-- 1 root root 197 2009-06-03 05:43 ./slackware64/x/xset-1.0.4-x86_64-2.txz.asc
--rw-r--r-- 1 root root 296 2009-06-03 05:43 ./slackware64/x/xsetmode-1.0.0-x86_64-2.txt
--rw-r--r-- 1 root root 3428 2009-06-03 05:43 ./slackware64/x/xsetmode-1.0.0-x86_64-2.txz
--rw-r--r-- 1 root root 197 2009-06-03 05:43 ./slackware64/x/xsetmode-1.0.0-x86_64-2.txz.asc
--rw-r--r-- 1 root root 335 2009-06-03 05:43 ./slackware64/x/xsetpointer-1.0.1-x86_64-2.txt
--rw-r--r-- 1 root root 3908 2009-06-03 05:43 ./slackware64/x/xsetpointer-1.0.1-x86_64-2.txz
--rw-r--r-- 1 root root 197 2009-06-03 05:43 ./slackware64/x/xsetpointer-1.0.1-x86_64-2.txz.asc
--rw-r--r-- 1 root root 296 2009-06-03 05:43 ./slackware64/x/xsetroot-1.0.2-x86_64-2.txt
--rw-r--r-- 1 root root 8308 2009-06-03 05:43 ./slackware64/x/xsetroot-1.0.2-x86_64-2.txz
--rw-r--r-- 1 root root 197 2009-06-03 05:43 ./slackware64/x/xsetroot-1.0.2-x86_64-2.txz.asc
--rw-r--r-- 1 root root 231 2009-06-03 05:43 ./slackware64/x/xsm-1.0.1-x86_64-2.txt
--rw-r--r-- 1 root root 41896 2009-06-03 05:43 ./slackware64/x/xsm-1.0.1-x86_64-2.txz
--rw-r--r-- 1 root root 197 2009-06-03 05:43 ./slackware64/x/xsm-1.0.1-x86_64-2.txz.asc
--rw-r--r-- 1 root root 296 2009-06-03 05:43 ./slackware64/x/xstdcmap-1.0.1-x86_64-2.txt
--rw-r--r-- 1 root root 6512 2009-06-03 05:43 ./slackware64/x/xstdcmap-1.0.1-x86_64-2.txz
--rw-r--r-- 1 root root 197 2009-06-03 05:43 ./slackware64/x/xstdcmap-1.0.1-x86_64-2.txz.asc
--rw-r--r-- 1 root root 308 2009-06-09 00:02 ./slackware64/x/xterm-243-x86_64-2.txt
--rw-r--r-- 1 root root 224644 2009-06-09 00:02 ./slackware64/x/xterm-243-x86_64-2.txz
--rw-r--r-- 1 root root 197 2009-06-09 00:02 ./slackware64/x/xterm-243-x86_64-2.txz.asc
--rw-r--r-- 1 root root 270 2009-08-04 00:40 ./slackware64/x/xtrans-1.2.4-noarch-1.txt
--rw-r--r-- 1 root root 37704 2009-08-04 00:40 ./slackware64/x/xtrans-1.2.4-noarch-1.txz
--rw-r--r-- 1 root root 197 2009-08-04 00:40 ./slackware64/x/xtrans-1.2.4-noarch-1.txz.asc
--rw-r--r-- 1 root root 257 2009-06-03 05:43 ./slackware64/x/xtrap-1.0.2-x86_64-2.txt
--rw-r--r-- 1 root root 16856 2009-06-03 05:43 ./slackware64/x/xtrap-1.0.2-x86_64-2.txz
--rw-r--r-- 1 root root 197 2009-06-03 05:43 ./slackware64/x/xtrap-1.0.2-x86_64-2.txz.asc
--rw-r--r-- 1 root root 296 2009-06-03 05:43 ./slackware64/x/xvidtune-1.0.1-x86_64-2.txt
--rw-r--r-- 1 root root 16548 2009-06-03 05:43 ./slackware64/x/xvidtune-1.0.1-x86_64-2.txz
--rw-r--r-- 1 root root 197 2009-06-03 05:43 ./slackware64/x/xvidtune-1.0.1-x86_64-2.txz.asc
--rw-r--r-- 1 root root 270 2009-06-03 05:43 ./slackware64/x/xvinfo-1.0.2-x86_64-2.txt
--rw-r--r-- 1 root root 5052 2009-06-03 05:43 ./slackware64/x/xvinfo-1.0.2-x86_64-2.txz
--rw-r--r-- 1 root root 197 2009-06-03 05:43 ./slackware64/x/xvinfo-1.0.2-x86_64-2.txz.asc
--rw-r--r-- 1 root root 231 2009-06-03 05:43 ./slackware64/x/xwd-1.0.2-x86_64-1.txt
--rw-r--r-- 1 root root 14344 2009-06-03 05:43 ./slackware64/x/xwd-1.0.2-x86_64-1.txz
--rw-r--r-- 1 root root 197 2009-06-03 05:43 ./slackware64/x/xwd-1.0.2-x86_64-1.txz.asc
--rw-r--r-- 1 root root 296 2009-06-03 05:43 ./slackware64/x/xwininfo-1.0.4-x86_64-1.txt
--rw-r--r-- 1 root root 14856 2009-06-03 05:43 ./slackware64/x/xwininfo-1.0.4-x86_64-1.txz
--rw-r--r-- 1 root root 197 2009-06-03 05:43 ./slackware64/x/xwininfo-1.0.4-x86_64-1.txz.asc
--rw-r--r-- 1 root root 244 2009-06-03 05:43 ./slackware64/x/xwud-1.0.1-x86_64-2.txt
--rw-r--r-- 1 root root 13624 2009-06-03 05:43 ./slackware64/x/xwud-1.0.1-x86_64-2.txz
--rw-r--r-- 1 root root 197 2009-06-03 05:43 ./slackware64/x/xwud-1.0.1-x86_64-2.txz.asc
-drwxr-xr-x 2 root root 12288 2009-08-25 04:55 ./slackware64/xap
--rw-r--r-- 1 root root 479 2009-06-26 00:18 ./slackware64/xap/MPlayer-r29390-x86_64-1.txt
--rw-r--r-- 1 root root 7493452 2009-06-26 00:18 ./slackware64/xap/MPlayer-r29390-x86_64-1.txz
--rw-r--r-- 1 root root 197 2009-06-26 00:18 ./slackware64/xap/MPlayer-r29390-x86_64-1.txz.asc
--rw-r--r-- 1 root root 615 2009-04-11 15:56 ./slackware64/xap/audacious-1.5.1-x86_64-3.txt
--rw-r--r-- 1 root root 849348 2009-04-11 15:56 ./slackware64/xap/audacious-1.5.1-x86_64-3.txz
--rw-r--r-- 1 root root 197 2009-04-11 15:56 ./slackware64/xap/audacious-1.5.1-x86_64-3.txz.asc
--rw-r--r-- 1 root root 424 2008-11-30 13:00 ./slackware64/xap/audacious-plugins-1.5.1-x86_64-4.txt
--rw-r--r-- 1 root root 1032960 2008-11-30 13:00 ./slackware64/xap/audacious-plugins-1.5.1-x86_64-4.txz
--rw-r--r-- 1 root root 197 2008-11-30 13:00 ./slackware64/xap/audacious-plugins-1.5.1-x86_64-4.txz.asc
--rw-r--r-- 1 root root 441 2008-10-25 18:05 ./slackware64/xap/blackbox-0.65.0-x86_64-4.txt
--rw-r--r-- 1 root root 260988 2008-10-25 18:05 ./slackware64/xap/blackbox-0.65.0-x86_64-4.txz
--rw-r--r-- 1 root root 197 2008-10-25 18:05 ./slackware64/xap/blackbox-0.65.0-x86_64-4.txz.asc
--rw-r--r-- 1 root root 652 2009-07-01 20:32 ./slackware64/xap/electricsheep-20090306-x86_64-2.txt
--rw-r--r-- 1 root root 2460256 2009-07-01 20:32 ./slackware64/xap/electricsheep-20090306-x86_64-2.txz
--rw-r--r-- 1 root root 197 2009-07-01 20:32 ./slackware64/xap/electricsheep-20090306-x86_64-2.txz.asc
--rw-r--r-- 1 root root 229 2008-10-29 10:30 ./slackware64/xap/fluxbox-1.1.1-x86_64-1.txt
--rw-r--r-- 1 root root 726900 2008-10-29 10:30 ./slackware64/xap/fluxbox-1.1.1-x86_64-1.txz
--rw-r--r-- 1 root root 197 2008-10-29 10:30 ./slackware64/xap/fluxbox-1.1.1-x86_64-1.txz.asc
--rw-r--r-- 1 root root 337 2008-10-25 22:52 ./slackware64/xap/fvwm-2.4.20-x86_64-1.txt
--rw-r--r-- 1 root root 1000700 2008-10-25 22:52 ./slackware64/xap/fvwm-2.4.20-x86_64-1.txz
--rw-r--r-- 1 root root 197 2008-10-25 22:52 ./slackware64/xap/fvwm-2.4.20-x86_64-1.txz.asc
--rw-r--r-- 1 root root 444 2009-05-23 04:36 ./slackware64/xap/gftp-2.0.19-x86_64-2.txt
--rw-r--r-- 1 root root 589988 2009-05-23 04:36 ./slackware64/xap/gftp-2.0.19-x86_64-2.txz
--rw-r--r-- 1 root root 197 2009-05-23 04:36 ./slackware64/xap/gftp-2.0.19-x86_64-2.txz.asc
--rw-r--r-- 1 root root 473 2009-06-09 19:11 ./slackware64/xap/gimp-2.6.6-x86_64-2.txt
--rw-r--r-- 1 root root 9795212 2009-06-09 19:11 ./slackware64/xap/gimp-2.6.6-x86_64-2.txz
--rw-r--r-- 1 root root 197 2009-06-09 19:11 ./slackware64/xap/gimp-2.6.6-x86_64-2.txz.asc
--rw-r--r-- 1 root root 513 2008-10-29 10:13 ./slackware64/xap/gkrellm-2.3.2-x86_64-1.txt
--rw-r--r-- 1 root root 514812 2008-10-29 10:13 ./slackware64/xap/gkrellm-2.3.2-x86_64-1.txz
--rw-r--r-- 1 root root 197 2008-10-29 10:13 ./slackware64/xap/gkrellm-2.3.2-x86_64-1.txz.asc
--rw-r--r-- 1 root root 337 2009-05-23 04:36 ./slackware64/xap/gnuchess-5.07-x86_64-4.txt
--rw-r--r-- 1 root root 853964 2009-05-23 04:36 ./slackware64/xap/gnuchess-5.07-x86_64-4.txz
--rw-r--r-- 1 root root 197 2009-05-23 04:36 ./slackware64/xap/gnuchess-5.07-x86_64-4.txz.asc
--rw-r--r-- 1 root root 647 2009-08-11 00:49 ./slackware64/xap/gnuplot-4.2.5-x86_64-1.txt
--rw-r--r-- 1 root root 1051980 2009-08-11 00:49 ./slackware64/xap/gnuplot-4.2.5-x86_64-1.txz
--rw-r--r-- 1 root root 197 2009-08-11 00:49 ./slackware64/xap/gnuplot-4.2.5-x86_64-1.txz.asc
--rw-r--r-- 1 root root 272 2008-11-04 14:14 ./slackware64/xap/gqview-2.1.5-x86_64-2.txt
--rw-r--r-- 1 root root 650192 2008-11-04 14:14 ./slackware64/xap/gqview-2.1.5-x86_64-2.txz
--rw-r--r-- 1 root root 197 2008-11-04 14:14 ./slackware64/xap/gqview-2.1.5-x86_64-2.txz.asc
--rw-r--r-- 1 root root 209 2009-06-09 05:41 ./slackware64/xap/gucharmap-2.26.2-x86_64-1.txt
--rw-r--r-- 1 root root 1926508 2009-06-09 05:41 ./slackware64/xap/gucharmap-2.26.2-x86_64-1.txz
--rw-r--r-- 1 root root 197 2009-06-09 05:41 ./slackware64/xap/gucharmap-2.26.2-x86_64-1.txz.asc
--rw-r--r-- 1 root root 370 2009-05-09 21:44 ./slackware64/xap/gv-3.6.7-x86_64-1.txt
--rw-r--r-- 1 root root 183192 2009-05-09 21:44 ./slackware64/xap/gv-3.6.7-x86_64-1.txz
--rw-r--r-- 1 root root 197 2009-05-09 21:44 ./slackware64/xap/gv-3.6.7-x86_64-1.txz.asc
--rw-r--r-- 1 root root 336 2009-06-10 01:22 ./slackware64/xap/gxine-0.5.903-x86_64-2.txt
--rw-r--r-- 1 root root 366732 2009-06-10 01:22 ./slackware64/xap/gxine-0.5.903-x86_64-2.txz
--rw-r--r-- 1 root root 197 2009-06-10 01:22 ./slackware64/xap/gxine-0.5.903-x86_64-2.txz.asc
--rw-r--r-- 1 root root 540 2009-06-09 05:51 ./slackware64/xap/imagemagick-6.5.3_3-x86_64-1.txt
--rw-r--r-- 1 root root 4313328 2009-06-09 05:51 ./slackware64/xap/imagemagick-6.5.3_3-x86_64-1.txz
--rw-r--r-- 1 root root 197 2009-06-09 05:51 ./slackware64/xap/imagemagick-6.5.3_3-x86_64-1.txz.asc
--rwxr-xr-x 1 root root 2897 2009-06-24 22:06 ./slackware64/xap/install-packages
--rw-r--r-- 1 root root 446 2006-09-18 10:41 ./slackware64/xap/install.end
--rw-r--r-- 1 root root 4073 2009-08-19 00:07 ./slackware64/xap/maketag
--rw-r--r-- 1 root root 4073 2009-08-19 00:07 ./slackware64/xap/maketag.ez
--rw-r--r-- 1 root root 527 2009-08-03 19:09 ./slackware64/xap/mozilla-firefox-3.5.2-x86_64-1.txt
--rw-r--r-- 1 root root 8883560 2009-08-03 19:09 ./slackware64/xap/mozilla-firefox-3.5.2-x86_64-1.txz
--rw-r--r-- 1 root root 197 2009-08-03 19:09 ./slackware64/xap/mozilla-firefox-3.5.2-x86_64-1.txz.asc
--rw-r--r-- 1 root root 702 2009-08-21 02:53 ./slackware64/xap/mozilla-thunderbird-2.0.0.23-x86_64-1.txt
--rw-r--r-- 1 root root 10010248 2009-08-21 02:53 ./slackware64/xap/mozilla-thunderbird-2.0.0.23-x86_64-1.txz
--rw-r--r-- 1 root root 197 2009-08-21 02:53 ./slackware64/xap/mozilla-thunderbird-2.0.0.23-x86_64-1.txz.asc
--rw-r--r-- 1 root root 267 2008-11-06 15:38 ./slackware64/xap/pan-0.133-x86_64-1.txt
--rw-r--r-- 1 root root 740284 2008-11-06 15:38 ./slackware64/xap/pan-0.133-x86_64-1.txz
--rw-r--r-- 1 root root 197 2008-11-06 15:38 ./slackware64/xap/pan-0.133-x86_64-1.txz.asc
--rw-r--r-- 1 root root 469 2009-08-19 18:02 ./slackware64/xap/pidgin-2.5.9-x86_64-1.txt
--rw-r--r-- 1 root root 6119640 2009-08-19 18:02 ./slackware64/xap/pidgin-2.5.9-x86_64-1.txz
--rw-r--r-- 1 root root 197 2009-08-19 18:02 ./slackware64/xap/pidgin-2.5.9-x86_64-1.txz.asc
--rw-r--r-- 1 root root 395 2008-11-06 15:45 ./slackware64/xap/rdesktop-1.6.0-x86_64-1.txt
--rw-r--r-- 1 root root 130948 2008-11-06 15:45 ./slackware64/xap/rdesktop-1.6.0-x86_64-1.txz
--rw-r--r-- 1 root root 197 2008-11-06 15:45 ./slackware64/xap/rdesktop-1.6.0-x86_64-1.txz.asc
--rw-r--r-- 1 root root 425 2009-06-09 19:32 ./slackware64/xap/rxvt-2.7.10-x86_64-4.txt
--rw-r--r-- 1 root root 162500 2009-06-09 19:32 ./slackware64/xap/rxvt-2.7.10-x86_64-4.txz
--rw-r--r-- 1 root root 197 2009-06-09 19:32 ./slackware64/xap/rxvt-2.7.10-x86_64-4.txz.asc
--rw-r--r-- 1 root root 321 2009-05-23 06:36 ./slackware64/xap/sane-1.0.19-x86_64-4.txt
--rw-r--r-- 1 root root 2413448 2009-05-23 06:36 ./slackware64/xap/sane-1.0.19-x86_64-4.txz
--rw-r--r-- 1 root root 197 2009-05-23 06:36 ./slackware64/xap/sane-1.0.19-x86_64-4.txz.asc
--rw-r--r-- 1 root root 534 2009-06-24 19:08 ./slackware64/xap/seamonkey-1.1.17-x86_64-1.txt
--rw-r--r-- 1 root root 13176452 2009-06-24 19:08 ./slackware64/xap/seamonkey-1.1.17-x86_64-1.txz
--rw-r--r-- 1 root root 197 2009-06-24 19:08 ./slackware64/xap/seamonkey-1.1.17-x86_64-1.txz.asc
--rw-r--r-- 1 root root 609 2009-03-16 23:11 ./slackware64/xap/seyon-2.20c-x86_64-3.txt
--rw-r--r-- 1 root root 113164 2009-03-16 23:11 ./slackware64/xap/seyon-2.20c-x86_64-3.txz
--rw-r--r-- 1 root root 197 2009-03-16 23:11 ./slackware64/xap/seyon-2.20c-x86_64-3.txz.asc
--rw-r--r-- 1 root root 588 2009-08-19 00:07 ./slackware64/xap/tagfile
--rw-r--r-- 1 root root 488 2009-03-16 12:27 ./slackware64/xap/thunar-volman-0.3.80-x86_64-1.txt
--rw-r--r-- 1 root root 70548 2009-03-16 12:27 ./slackware64/xap/thunar-volman-0.3.80-x86_64-1.txz
--rw-r--r-- 1 root root 197 2009-03-16 12:27 ./slackware64/xap/thunar-volman-0.3.80-x86_64-1.txz.asc
--rw-r--r-- 1 root root 505 2009-08-25 01:14 ./slackware64/xap/vim-gvim-7.2.245-x86_64-1.txt
--rw-r--r-- 1 root root 1450992 2009-08-25 01:14 ./slackware64/xap/vim-gvim-7.2.245-x86_64-1.txz
--rw-r--r-- 1 root root 197 2009-08-25 01:14 ./slackware64/xap/vim-gvim-7.2.245-x86_64-1.txz.asc
--rw-r--r-- 1 root root 455 2009-06-09 20:06 ./slackware64/xap/windowmaker-20060427cvs-x86_64-2.txt
--rw-r--r-- 1 root root 1783284 2009-06-09 20:06 ./slackware64/xap/windowmaker-20060427cvs-x86_64-2.txz
--rw-r--r-- 1 root root 197 2009-06-09 20:06 ./slackware64/xap/windowmaker-20060427cvs-x86_64-2.txz.asc
--rw-r--r-- 1 root root 308 2009-08-18 23:17 ./slackware64/xap/x11-ssh-askpass-1.2.4.1-x86_64-1.txt
--rw-r--r-- 1 root root 20584 2009-08-18 23:17 ./slackware64/xap/x11-ssh-askpass-1.2.4.1-x86_64-1.txz
--rw-r--r-- 1 root root 197 2009-08-18 23:17 ./slackware64/xap/x11-ssh-askpass-1.2.4.1-x86_64-1.txz.asc
--rw-r--r-- 1 root root 310 2008-11-06 15:59 ./slackware64/xap/x3270-3.3.7p8-x86_64-1.txt
--rw-r--r-- 1 root root 508772 2008-11-06 15:59 ./slackware64/xap/x3270-3.3.7p8-x86_64-1.txz
--rw-r--r-- 1 root root 197 2008-11-06 15:59 ./slackware64/xap/x3270-3.3.7p8-x86_64-1.txz.asc
--rw-r--r-- 1 root root 164 2009-06-09 19:34 ./slackware64/xap/xchat-2.8.6-x86_64-3.txt
--rw-r--r-- 1 root root 1723072 2009-06-09 19:34 ./slackware64/xap/xchat-2.8.6-x86_64-3.txz
--rw-r--r-- 1 root root 197 2009-06-09 19:34 ./slackware64/xap/xchat-2.8.6-x86_64-3.txz.asc
--rw-r--r-- 1 root root 309 2009-08-06 03:16 ./slackware64/xap/xfce-4.6.1-x86_64-5.txt
--rw-r--r-- 1 root root 12328656 2009-08-06 03:16 ./slackware64/xap/xfce-4.6.1-x86_64-5.txz
--rw-r--r-- 1 root root 197 2009-08-06 03:16 ./slackware64/xap/xfce-4.6.1-x86_64-5.txz.asc
--rw-r--r-- 1 root root 472 2009-06-12 20:54 ./slackware64/xap/xfce4-power-manager-0.6.6-x86_64-1.txt
--rw-r--r-- 1 root root 237912 2009-06-12 20:54 ./slackware64/xap/xfce4-power-manager-0.6.6-x86_64-1.txz
--rw-r--r-- 1 root root 197 2009-06-12 20:54 ./slackware64/xap/xfce4-power-manager-0.6.6-x86_64-1.txz.asc
--rw-r--r-- 1 root root 411 2008-11-06 14:17 ./slackware64/xap/xfractint-20.04p09-x86_64-1.txt
--rw-r--r-- 1 root root 837944 2008-11-06 14:17 ./slackware64/xap/xfractint-20.04p09-x86_64-1.txz
--rw-r--r-- 1 root root 197 2008-11-06 14:17 ./slackware64/xap/xfractint-20.04p09-x86_64-1.txz.asc
--rw-r--r-- 1 root root 239 2009-08-22 21:21 ./slackware64/xap/xgames-0.3-x86_64-2.txt
--rw-r--r-- 1 root root 103428 2009-08-22 21:21 ./slackware64/xap/xgames-0.3-x86_64-2.txz
--rw-r--r-- 1 root root 197 2009-08-22 21:21 ./slackware64/xap/xgames-0.3-x86_64-2.txz.asc
--rw-r--r-- 1 root root 468 2009-06-09 18:54 ./slackware64/xap/xine-lib-1.1.16.3-x86_64-5.txt
--rw-r--r-- 1 root root 3579360 2009-06-09 18:54 ./slackware64/xap/xine-lib-1.1.16.3-x86_64-5.txz
--rw-r--r-- 1 root root 197 2009-06-09 18:54 ./slackware64/xap/xine-lib-1.1.16.3-x86_64-5.txz.asc
--rw-r--r-- 1 root root 374 2009-05-23 06:54 ./slackware64/xap/xine-ui-0.99.5-x86_64-2.txt
--rw-r--r-- 1 root root 1278736 2009-05-23 06:54 ./slackware64/xap/xine-ui-0.99.5-x86_64-2.txz
--rw-r--r-- 1 root root 197 2009-05-23 06:54 ./slackware64/xap/xine-ui-0.99.5-x86_64-2.txz.asc
--rw-r--r-- 1 root root 462 2009-08-08 01:11 ./slackware64/xap/xlockmore-5.28-x86_64-1.txt
--rw-r--r-- 1 root root 985268 2009-08-08 01:11 ./slackware64/xap/xlockmore-5.28-x86_64-1.txz
--rw-r--r-- 1 root root 197 2009-08-08 01:11 ./slackware64/xap/xlockmore-5.28-x86_64-1.txz.asc
--rw-r--r-- 1 root root 379 2009-06-09 20:22 ./slackware64/xap/xmms-1.2.11-x86_64-3.txt
--rw-r--r-- 1 root root 1025152 2009-06-09 20:22 ./slackware64/xap/xmms-1.2.11-x86_64-3.txz
--rw-r--r-- 1 root root 197 2009-06-09 20:22 ./slackware64/xap/xmms-1.2.11-x86_64-3.txz.asc
--rw-r--r-- 1 root root 445 2008-11-06 21:50 ./slackware64/xap/xpaint-2.7.8.1-x86_64-2.txt
--rw-r--r-- 1 root root 319984 2008-11-06 21:50 ./slackware64/xap/xpaint-2.7.8.1-x86_64-2.txz
--rw-r--r-- 1 root root 197 2008-11-06 21:50 ./slackware64/xap/xpaint-2.7.8.1-x86_64-2.txz.asc
--rw-r--r-- 1 root root 256 2009-05-10 10:58 ./slackware64/xap/xpdf-3.02pl3-x86_64-1.txt
--rw-r--r-- 1 root root 1509652 2009-05-10 10:58 ./slackware64/xap/xpdf-3.02pl3-x86_64-1.txz
--rw-r--r-- 1 root root 197 2009-05-10 10:58 ./slackware64/xap/xpdf-3.02pl3-x86_64-1.txz.asc
--rw-r--r-- 1 root root 499 2008-11-06 22:11 ./slackware64/xap/xsane-0.996-x86_64-1.txt
--rw-r--r-- 1 root root 1624816 2008-11-06 22:11 ./slackware64/xap/xsane-0.996-x86_64-1.txz
--rw-r--r-- 1 root root 197 2008-11-06 22:11 ./slackware64/xap/xsane-0.996-x86_64-1.txz.asc
--rw-r--r-- 1 root root 424 2009-05-16 00:18 ./slackware64/xap/xscreensaver-5.08-x86_64-2.txt
--rw-r--r-- 1 root root 3422516 2009-05-16 00:18 ./slackware64/xap/xscreensaver-5.08-x86_64-2.txz
--rw-r--r-- 1 root root 197 2009-05-16 00:18 ./slackware64/xap/xscreensaver-5.08-x86_64-2.txz.asc
--rw-r--r-- 1 root root 235 2008-11-06 22:31 ./slackware64/xap/xv-3.10a-x86_64-5.txt
--rw-r--r-- 1 root root 925876 2008-11-06 22:31 ./slackware64/xap/xv-3.10a-x86_64-5.txz
--rw-r--r-- 1 root root 197 2008-11-06 22:31 ./slackware64/xap/xv-3.10a-x86_64-5.txz.asc
--rw-r--r-- 1 root root 418 2008-11-06 22:42 ./slackware64/xap/xxgdb-1.12-x86_64-2.txt
--rw-r--r-- 1 root root 50184 2008-11-06 22:42 ./slackware64/xap/xxgdb-1.12-x86_64-2.txz
--rw-r--r-- 1 root root 197 2008-11-06 22:42 ./slackware64/xap/xxgdb-1.12-x86_64-2.txz.asc
-drwxr-xr-x 2 root root 4096 2009-05-23 08:11 ./slackware64/y
--rw-r--r-- 1 root root 596 2009-05-23 04:18 ./slackware64/y/bsd-games-2.13-x86_64-9.txt
--rw-r--r-- 1 root root 1754988 2009-05-23 04:18 ./slackware64/y/bsd-games-2.13-x86_64-9.txz
--rw-r--r-- 1 root root 197 2009-05-23 04:18 ./slackware64/y/bsd-games-2.13-x86_64-9.txz.asc
--rwxr-xr-x 1 root root 2897 2009-06-24 22:06 ./slackware64/y/install-packages
--rw-r--r-- 1 root root 446 2006-09-18 10:41 ./slackware64/y/install.end
--rw-r--r-- 1 root root 1136 2009-04-30 20:01 ./slackware64/y/maketag
--rw-r--r-- 1 root root 1136 2009-04-30 20:01 ./slackware64/y/maketag.ez
--rw-r--r-- 1 root root 14 2009-04-30 20:01 ./slackware64/y/tagfile
-drwxr-xr-x 18 root root 4096 2009-08-26 15:18 ./source
--rw-r--r-- 1 root root 311441 2009-08-26 15:18 ./source/CHECKSUMS.md5
--rw-r--r-- 1 root root 197 2009-08-26 15:18 ./source/CHECKSUMS.md5.asc
--rw-r--r-- 1 root root 434507 2009-08-26 15:17 ./source/FILE_LIST
--rw-r--r-- 1 root root 6118676 2009-08-26 15:17 ./source/MANIFEST.bz2
-drwxr-xr-x 90 root root 4096 2009-08-26 03:22 ./source/a
-drwxr-xr-x 2 root root 4096 2009-08-26 03:17 ./source/a/aaa_base
--rw-r--r-- 1 root root 11004 2009-08-26 03:17 ./source/a/aaa_base/_aaa_base.tar.gz
--rwxr-xr-x 1 root root 1812 2009-08-26 03:23 ./source/a/aaa_base/aaa_base.SlackBuild
--rw-r--r-- 1 root root 786 2002-03-28 08:05 ./source/a/aaa_base/slack-desc
--rw-r--r-- 1 root root 21 2009-06-16 18:05 ./source/a/aaa_base/slackware-version
-drwxr-xr-x 2 root root 4096 2009-05-23 00:41 ./source/a/aaa_elflibs
--rwxr-xr-x 1 root root 2335 2009-08-22 05:48 ./source/a/aaa_elflibs/aaa_elflibs.SlackBuild
--rw-r--r-- 1 root root 1030 2004-06-14 04:14 ./source/a/aaa_elflibs/slack-desc
--rw-r--r-- 1 root root 1233 2009-03-30 07:39 ./source/a/aaa_elflibs/symlinks-to-tracked-libs
--rw-r--r-- 1 root root 170 2008-04-03 04:10 ./source/a/aaa_elflibs/tracked-files
-drwxr-xr-x 2 root root 4096 2009-05-19 20:05 ./source/a/aaa_terminfo
--rwxr-xr-x 1 root root 2183 2009-05-19 20:05 ./source/a/aaa_terminfo/aaa_terminfo.SlackBuild
--rw-r--r-- 1 root root 968 2007-01-02 23:40 ./source/a/aaa_terminfo/slack-desc
-drwxr-xr-x 2 root root 4096 2009-05-19 20:05 ./source/a/acl
--rwxr-xr-x 1 root root 3474 2009-05-19 20:05 ./source/a/acl/acl.SlackBuild
--rw-r--r-- 1 root root 507 2008-04-01 04:58 ./source/a/acl/acl.destdir.diff.gz
--rw-r--r-- 1 root root 154823 2008-02-11 06:35 ./source/a/acl/acl_2.2.47-1.tar.gz
--rw-r--r-- 1 root root 819 2006-02-21 04:39 ./source/a/acl/slack-desc
-drwxr-xr-x 2 root root 4096 2009-05-19 20:05 ./source/a/acpid
--rw-r--r-- 1 root root 224 2004-02-05 01:54 ./source/a/acpid/acpi_handler.sh.gz
--rw-r--r-- 1 root root 23988 2008-10-29 03:57 ./source/a/acpid/acpid-1.0.8.tar.bz2
--rwxr-xr-x 1 root root 2592 2009-05-19 20:05 ./source/a/acpid/acpid.SlackBuild
--rw-r--r-- 1 root root 399 2002-05-16 21:44 ./source/a/acpid/default.gz
--rw-r--r-- 1 root root 277 2008-11-19 23:29 ./source/a/acpid/doinst.sh.gz
--rw-r--r-- 1 root root 258 2003-08-28 06:56 ./source/a/acpid/rc.acpid.gz
--rw-r--r-- 1 root root 867 2002-05-16 21:59 ./source/a/acpid/slack-desc
-drwxr-xr-x 2 root root 4096 2009-05-19 20:05 ./source/a/apmd
--rw-r--r-- 1 root root 61686 2004-04-30 04:29 ./source/a/apmd/apmd-3.2.2.tar.bz2
--rwxr-xr-x 1 root root 3158 2009-06-10 01:19 ./source/a/apmd/apmd.SlackBuild
--rw-r--r-- 1 root root 1009 2002-02-22 00:45 ./source/a/apmd/slack-desc
-drwxr-xr-x 2 root root 4096 2009-05-19 20:05 ./source/a/attr
--rwxr-xr-x 1 root root 3521 2009-05-19 20:05 ./source/a/attr/attr.SlackBuild
--rw-r--r-- 1 root root 510 2008-04-01 04:54 ./source/a/attr/attr.destdir.diff.gz
--rw-r--r-- 1 root root 116991 2008-07-03 07:41 ./source/a/attr/attr_2.4.43-1.tar.gz
--rw-r--r-- 1 root root 88 2006-02-28 00:02 ./source/a/attr/build
--rw-r--r-- 1 root root 1011 2006-02-21 04:44 ./source/a/attr/slack-desc
-drwxr-xr-x 3 root root 4096 2009-05-19 20:05 ./source/a/bash
--rw-r--r-- 1 root root 2533934 2005-12-08 16:51 ./source/a/bash/bash-3.1.tar.gz
--rwxr-xr-x 1 root root 3185 2009-05-19 20:05 ./source/a/bash/bash.SlackBuild
--rw-r--r-- 1 root root 205 2002-08-27 00:02 ./source/a/bash/doinst.sh.gz
-drwxr-xr-x 2 root root 4096 2006-05-13 23:54 ./source/a/bash/patches
--rw-r--r-- 1 root root 1120 2005-12-21 22:49 ./source/a/bash/patches/bash31-001.gz
--rw-r--r-- 1 root root 2247 2006-01-09 17:02 ./source/a/bash/patches/bash31-002.gz
--rw-r--r-- 1 root root 762 2006-01-09 17:02 ./source/a/bash/patches/bash31-003.gz
--rw-r--r-- 1 root root 684 2006-01-09 17:02 ./source/a/bash/patches/bash31-004.gz
--rw-r--r-- 1 root root 692 2006-01-09 17:02 ./source/a/bash/patches/bash31-005.gz
--rw-r--r-- 1 root root 730 2006-02-03 20:46 ./source/a/bash/patches/bash31-006.gz
--rw-r--r-- 1 root root 1289 2006-02-03 20:46 ./source/a/bash/patches/bash31-007.gz
--rw-r--r-- 1 root root 669 2006-02-15 22:20 ./source/a/bash/patches/bash31-008.gz
--rw-r--r-- 1 root root 872 2006-02-20 13:30 ./source/a/bash/patches/bash31-009.gz
--rw-r--r-- 1 root root 914 2006-02-20 13:30 ./source/a/bash/patches/bash31-010.gz
--rw-r--r-- 1 root root 682 2006-02-27 22:45 ./source/a/bash/patches/bash31-011.gz
--rw-r--r-- 1 root root 614 2006-03-16 14:14 ./source/a/bash/patches/bash31-012.gz
--rw-r--r-- 1 root root 589 2006-03-16 14:14 ./source/a/bash/patches/bash31-013.gz
--rw-r--r-- 1 root root 1155 2006-03-16 14:14 ./source/a/bash/patches/bash31-014.gz
--rw-r--r-- 1 root root 1084 2006-03-30 14:20 ./source/a/bash/patches/bash31-015.gz
--rw-r--r-- 1 root root 696 2006-03-30 14:20 ./source/a/bash/patches/bash31-016.gz
--rw-r--r-- 1 root root 1276 2006-04-12 15:26 ./source/a/bash/patches/bash31-017.gz
--rw-r--r-- 1 root root 965 2002-03-23 21:47 ./source/a/bash/slack-desc
-drwxr-xr-x 3 root root 4096 2009-05-19 20:05 ./source/a/bin
--rw-r--r-- 1 root root 7275 1994-12-30 09:11 ./source/a/bin/banners.tar.gz
--rwxr-xr-x 1 root root 4222 2009-05-19 20:05 ./source/a/bin/bin.SlackBuild
--rw-r--r-- 1 root root 478 2004-02-24 17:32 ./source/a/bin/debianutils_2.7.dsc
--rw-r--r-- 1 root root 165590 2004-02-24 17:32 ./source/a/bin/debianutils_2.7.tar.gz
--rw-r--r-- 1 root root 27721 1999-10-07 14:42 ./source/a/bin/fbset-2.1.tar.gz
-drwxr-xr-x 2 root root 4096 2006-12-23 06:28 ./source/a/bin/scripts
--rw-r--r-- 1 root root 195 2002-02-21 21:08 ./source/a/bin/scripts/diskcopy.gz
--rw-r--r-- 1 root root 595 1993-05-02 00:04 ./source/a/bin/scripts/xx.gz
--rw-r--r-- 1 root root 681 2006-12-21 20:40 ./source/a/bin/slack-desc
--rw-r--r-- 1 root root 2403 1997-06-15 20:38 ./source/a/bin/todos.tar.gz
-drwxr-xr-x 2 root root 4096 2009-05-19 20:05 ./source/a/bzip2
--rw-r--r-- 1 root root 280 2007-01-24 04:02 ./source/a/bzip2/bzip2-1.0.4.saneso.diff.gz
--rw-r--r-- 1 root root 841402 2008-03-17 23:25 ./source/a/bzip2/bzip2-1.0.5.tar.gz
--rwxr-xr-x 1 root root 3679 2009-05-19 20:05 ./source/a/bzip2/bzip2.SlackBuild
--rw-r--r-- 1 root root 934 2002-02-19 04:26 ./source/a/bzip2/slack-desc
-drwxr-xr-x 2 root root 4096 2009-05-19 20:05 ./source/a/coreutils
--rw-r--r-- 1 root root 1723 2009-04-11 18:47 ./source/a/coreutils/DIR_COLORS.gz
--rw-r--r-- 1 root root 4048924 2009-05-07 17:05 ./source/a/coreutils/coreutils-7.4.tar.xz
--rw-r--r-- 1 root root 835 2009-05-07 17:05 ./source/a/coreutils/coreutils-7.4.tar.xz.sig
--rw-r--r-- 1 root root 779 2007-01-01 22:56 ./source/a/coreutils/coreutils-dircolors.csh.gz
--rw-r--r-- 1 root root 1066 2007-01-01 22:57 ./source/a/coreutils/coreutils-dircolors.sh.gz
--rwxr-xr-x 1 root root 6211 2009-05-19 20:05 ./source/a/coreutils/coreutils.SlackBuild
--rw-r--r-- 1 root root 1794 2009-02-23 03:30 ./source/a/coreutils/coreutils.uname.diff.gz
--rw-r--r-- 1 root root 270 2009-02-23 03:00 ./source/a/coreutils/doinst.sh.gz
--rw-r--r-- 1 root root 985 2003-05-20 21:33 ./source/a/coreutils/slack-desc
-drwxr-xr-x 2 root root 4096 2009-05-23 02:17 ./source/a/cpio
--rw-r--r-- 1 root root 348 2009-03-15 20:17 ./source/a/cpio/cpio-2.9.gcc43.diff.gz
--rw-r--r-- 1 root root 758195 2007-06-29 16:51 ./source/a/cpio/cpio-2.9.tar.bz2
--rwxr-xr-x 1 root root 3664 2009-05-19 20:05 ./source/a/cpio/cpio.SlackBuild
--rw-r--r-- 1 root root 942 2002-03-23 21:52 ./source/a/cpio/slack-desc
-drwxr-xr-x 2 root root 4096 2009-08-24 03:23 ./source/a/cryptsetup
--rw-r--r-- 1 root root 417339 2009-07-22 11:28 ./source/a/cryptsetup/cryptsetup-1.0.7.tar.bz2
--rw-r--r-- 1 root root 197 2009-07-22 11:29 ./source/a/cryptsetup/cryptsetup-1.0.7.tar.bz2.asc
--rwxr-xr-x 1 root root 4440 2009-08-24 03:28 ./source/a/cryptsetup/cryptsetup.SlackBuild
--rw-r--r-- 1 root root 1042 2007-05-26 11:18 ./source/a/cryptsetup/slack-desc
-drwxr-xr-x 2 root root 4096 2009-08-22 02:31 ./source/a/cups
--rw-r--r-- 1 root root 3048852 2009-07-02 22:13 ./source/a/cups/cups-1.3.11-source.tar.xz
--rw-r--r-- 1 root root 199167 2004-01-03 18:49 ./source/a/cups/cups-samba-5.0rc3.tar.gz
--rw-r--r-- 1 root root 38284 2006-04-19 23:55 ./source/a/cups/cups-windows-6.0-source.tar.bz2
--rwxr-xr-x 1 root root 5487 2009-08-22 05:30 ./source/a/cups/cups.SlackBuild
--rw-r--r-- 1 root root 286 2009-08-22 01:18 ./source/a/cups/cups.firefox.desktop.diff.gz
--rw-r--r-- 1 root root 453 2007-05-09 21:13 ./source/a/cups/doinst.sh.gz
--rw-r--r-- 1 root root 1099 2002-02-01 20:47 ./source/a/cups/slack-desc
-drwxr-xr-x 3 root root 4096 2009-07-24 23:40 ./source/a/cxxlibs
--rwxr-xr-x 1 root root 1825 2009-07-24 23:41 ./source/a/cxxlibs/cxxlibs.SlackBuild
-drwxr-xr-x 2 root root 4096 2009-07-24 21:14 ./source/a/cxxlibs/oldgcc
--rw-r--r-- 1 root root 23972413 2007-05-31 19:07 ./source/a/cxxlibs/oldgcc/gcc-3.3.6.tar.bz2
--rw-r--r-- 1 root root 65 2007-05-31 19:07 ./source/a/cxxlibs/oldgcc/gcc-3.3.6.tar.bz2.sig
--rwxr-xr-x 1 root root 2455 2009-07-24 21:15 ./source/a/cxxlibs/oldgcc/oldgcc.build
--rw-r--r-- 1 root root 738 2002-03-23 21:52 ./source/a/cxxlibs/slack-desc
--rw-r--r-- 1 root root 224 2008-04-03 05:03 ./source/a/cxxlibs/symlinks-to-tracked-libs
--rw-r--r-- 1 root root 52 2009-07-24 23:39 ./source/a/cxxlibs/symlinks-to-tracked-libs64
-drwxr-xr-x 2 root root 4096 2009-06-09 02:52 ./source/a/dbus
--rw-r--r-- 1 root root 1001892 2009-05-13 03:29 ./source/a/dbus/dbus-1.2.14.tar.xz
--rwxr-xr-x 1 root root 3600 2009-06-09 02:52 ./source/a/dbus/dbus.SlackBuild
--rw-r--r-- 1 root root 355 2008-09-23 18:06 ./source/a/dbus/doinst.sh.gz
--rw-r--r-- 1 root root 773 2008-10-08 00:14 ./source/a/dbus/rc.messagebus.gz
--rw-r--r-- 1 root root 945 2007-10-21 22:41 ./source/a/dbus/slack-desc
-drwxr-xr-x 2 root root 4096 2009-05-19 20:05 ./source/a/dcron
--rw-r--r-- 1 root root 1127 2006-12-13 22:28 ./source/a/dcron/_dcron.tar.gz
--rw-r--r-- 1 root root 350 2002-02-20 22:33 ./source/a/dcron/dcron-2.3.3.crontab.diff4.gz
--rw-r--r-- 1 root root 544 1999-08-26 21:57 ./source/a/dcron/dcron-2.3.3.diff.gz
--rw-r--r-- 1 root root 3987 2000-05-12 22:10 ./source/a/dcron/dcron-2.3.3.diff2.gz
--rw-r--r-- 1 root root 192 2001-05-30 21:13 ./source/a/dcron/dcron-2.3.3.diff3.gz
--rw-r--r-- 1 root root 594 1998-02-16 19:35 ./source/a/dcron/dcron-2.3.3.lsm
--rw-r--r-- 1 root root 22962 1998-02-16 19:35 ./source/a/dcron/dcron-2.3.3.tar.gz
--rw-r--r-- 1 root root 168 2002-04-09 08:07 ./source/a/dcron/dcron-2.3.3.version.diff.gz
--rwxr-xr-x 1 root root 2957 2009-05-19 20:05 ./source/a/dcron/dcron.SlackBuild
--rw-r--r-- 1 root root 208 2005-09-11 23:38 ./source/a/dcron/dcron.fork.diff.gz
--rw-r--r-- 1 root root 198 1999-04-05 02:13 ./source/a/dcron/dcron.tmpdir.diff.gz
--rw-r--r-- 1 root root 699 2002-04-15 02:48 ./source/a/dcron/run-parts.8.gz
--rw-r--r-- 1 root root 566 2002-04-15 02:48 ./source/a/dcron/run-parts.gz
--rw-r--r-- 1 root root 815 2002-02-21 22:50 ./source/a/dcron/slack-desc
-drwxr-xr-x 2 root root 4096 2009-05-19 20:05 ./source/a/device-mapper
--rw-r--r-- 1 root root 1364 2008-10-06 11:19 ./source/a/device-mapper/64-device-mapper.rules
--rw-r--r-- 1 root root 167532 2008-10-06 11:19 ./source/a/device-mapper/device-mapper.1.02.28.tar.bz2
--rwxr-xr-x 1 root root 3645 2009-05-19 20:05 ./source/a/device-mapper/device-mapper.SlackBuild
--rw-r--r-- 1 root root 983 2008-02-08 17:25 ./source/a/device-mapper/slack-desc
-drwxr-xr-x 2 root root 4096 2009-05-19 20:05 ./source/a/devs
--rw-r--r-- 1 root root 92572 2006-09-20 03:46 ./source/a/devs/_devs.tar.gz
--rwxr-xr-x 1 root root 2044 2009-05-19 20:05 ./source/a/devs/devs.SlackBuild
--rw-r--r-- 1 root root 423 2002-06-09 19:32 ./source/a/devs/makedev.hd.diff.gz
--rw-r--r-- 1 root root 27096 2000-11-11 19:33 ./source/a/devs/makedev_2.3.1-46.2.diff.gz
--rw-r--r-- 1 root root 602 2003-09-02 20:00 ./source/a/devs/makedev_2.3.1.hd.diff.gz
--rw-r--r-- 1 root root 10037 1998-09-07 17:52 ./source/a/devs/makedev_2.3.1.orig.tar.gz
--rw-r--r-- 1 root root 262 2004-05-21 02:29 ./source/a/devs/makedev_2.3.1.slack.diff.gz
--rw-r--r-- 1 root root 766 2002-03-20 01:10 ./source/a/devs/slack-desc
-drwxr-xr-x 2 root root 4096 2009-05-23 00:41 ./source/a/dialog
--rw-r--r-- 1 root root 301393 2008-08-20 00:36 ./source/a/dialog/dialog-1.1-20080819.tar.bz2
--rwxr-xr-x 1 root root 3537 2009-05-23 00:41 ./source/a/dialog/dialog.SlackBuild
--rw-r--r-- 1 root root 334 2009-04-23 01:28 ./source/a/dialog/dialog.smaller.min.height.diff.gz
--rw-r--r-- 1 root root 970 2007-01-02 22:29 ./source/a/dialog/slack-desc
-drwxr-xr-x 2 root root 4096 2009-05-19 20:05 ./source/a/dosfstools
--rw-r--r-- 1 root root 68346 2005-03-12 16:33 ./source/a/dosfstools/dosfstools-2.11.src.tar.gz
--rwxr-xr-x 1 root root 2605 2009-05-19 20:05 ./source/a/dosfstools/dosfstools.SlackBuild
--rw-r--r-- 1 root root 742 2006-12-21 20:33 ./source/a/dosfstools/slack-desc
-drwxr-xr-x 2 root root 4096 2009-07-17 06:50 ./source/a/e2fsprogs
--rw-r--r-- 1 root root 325 2009-05-30 01:25 ./source/a/e2fsprogs/doinst.sh.gz
--rw-r--r-- 1 root root 3339836 2009-07-16 00:12 ./source/a/e2fsprogs/e2fsprogs-1.41.8.tar.xz
--rwxr-xr-x 1 root root 4945 2009-07-17 06:41 ./source/a/e2fsprogs/e2fsprogs.SlackBuild
--rw-r--r-- 1 root root 803 2009-05-30 01:25 ./source/a/e2fsprogs/slack-desc
-drwxr-xr-x 2 root root 4096 2009-06-12 20:59 ./source/a/ed
--rw-r--r-- 1 root root 69427 2009-05-23 22:58 ./source/a/ed/ed-1.3.tar.bz2
--rwxr-xr-x 1 root root 3177 2009-06-12 21:01 ./source/a/ed/ed.SlackBuild
--rw-r--r-- 1 root root 805 2006-12-13 23:11 ./source/a/ed/slack-desc
-drwxr-xr-x 2 root root 4096 2009-05-19 20:05 ./source/a/eject
--rw-r--r-- 1 root root 107301 2006-06-04 19:58 ./source/a/eject/eject-2.1.5.tar.bz2
--rwxr-xr-x 1 root root 3093 2009-05-19 20:05 ./source/a/eject/eject.SlackBuild
--rw-r--r-- 1 root root 886 2006-12-14 01:32 ./source/a/eject/slack-desc
-drwxr-xr-x 2 root root 4096 2009-05-19 20:05 ./source/a/elvis
--rw-r--r-- 1 root root 1143603 2003-10-21 02:35 ./source/a/elvis/elvis-2.2_0.tar.bz2
--rwxr-xr-x 1 root root 3567 2009-05-19 20:05 ./source/a/elvis/elvis.SlackBuild
--rw-r--r-- 1 root root 1633 2004-02-22 06:19 ./source/a/elvis/elvis.clr
--rw-r--r-- 1 root root 1584 2003-10-21 02:32 ./source/a/elvis/elvis.clr.orig
--rw-r--r-- 1 root root 845 2008-02-11 03:44 ./source/a/elvis/slack-desc
-drwxr-xr-x 2 root root 4096 2009-08-22 19:29 ./source/a/etc
--rw-r--r-- 1 root root 31788 2009-08-22 19:29 ./source/a/etc/_etc.tar.gz
--rwxr-xr-x 1 root root 1761 2009-08-22 19:42 ./source/a/etc/etc.SlackBuild
--rw-r--r-- 1 root root 536 2002-10-11 20:17 ./source/a/etc/nsswitch.conf.gz
--rw-r--r-- 1 root root 657 2002-03-23 21:54 ./source/a/etc/slack-desc
--rw-r--r-- 1 root root 226973 2000-03-02 23:51 ./source/a/etc/termcap-BSD.gz
-drwxr-xr-x 2 root root 4096 2009-06-12 23:07 ./source/a/file
--rw-r--r-- 1 root root 471570 2009-05-06 20:52 ./source/a/file/file-5.03.tar.bz2
--rwxr-xr-x 1 root root 4399 2009-06-12 22:44 ./source/a/file/file.SlackBuild
--rw-r--r-- 1 root root 195 2009-02-23 01:20 ./source/a/file/file.crdaregbin.magic.gz
--rw-r--r-- 1 root root 212 2009-06-12 22:40 ./source/a/file/file.etc.file.diff.gz
--rw-r--r-- 1 root root 336 2009-02-09 04:19 ./source/a/file/file.quiet.diff.gz
--rw-r--r-- 1 root root 272 2009-02-09 04:17 ./source/a/file/file.short.diff.gz
--rw-r--r-- 1 root root 248 2009-04-23 04:50 ./source/a/file/file.xz.magic.gz
--rw-r--r-- 1 root root 214 2005-09-07 03:59 ./source/a/file/file.zisofs.magic.gz
--rw-r--r-- 1 root root 680 2006-12-13 22:49 ./source/a/file/slack-desc
-drwxr-xr-x 2 root root 4096 2009-06-13 00:01 ./source/a/findutils
--rw-r--r-- 1 root root 1114432 2009-06-06 14:38 ./source/a/findutils/findutils-4.4.2.tar.xz
--rwxr-xr-x 1 root root 3575 2009-06-13 00:02 ./source/a/findutils/findutils.SlackBuild
--rw-r--r-- 1 root root 186 2009-02-21 21:50 ./source/a/findutils/findutils.no.default.options.warnings.diff.gz
--rw-r--r-- 1 root root 359 2009-02-21 21:19 ./source/a/findutils/findutils.nolocate.diff.gz
--rw-r--r-- 1 root root 828 2002-04-07 10:22 ./source/a/findutils/slack-desc
-drwxr-xr-x 2 root root 4096 2009-05-23 02:17 ./source/a/floppy
--rw-r--r-- 1 root root 25310 2002-05-01 02:18 ./source/a/floppy/fdutils-5.4-20020222.diff.gz
--rw-r--r-- 1 root root 190535 2001-02-04 04:36 ./source/a/floppy/fdutils-5.4.tar.gz
--rw-r--r-- 1 root root 182 2001-02-04 05:02 ./source/a/floppy/fdutils.mediaprm.diff.gz
--rwxr-xr-x 1 root root 3386 2009-05-19 20:05 ./source/a/floppy/floppy.SlackBuild
--rw-r--r-- 1 root root 11298 2002-05-01 02:21 ./source/a/floppy/mediaprm
--rw-r--r-- 1 root root 286730 2001-05-27 12:42 ./source/a/floppy/mtools-3.9.8.tar.gz
--rw-r--r-- 1 root root 1914 2001-02-04 04:50 ./source/a/floppy/mtools.conf
--rw-r--r-- 1 root root 728 2002-03-23 21:55 ./source/a/floppy/slack-desc
-drwxr-xr-x 2 root root 4096 2009-05-23 00:41 ./source/a/gawk
--rw-r--r-- 1 root root 1861630 2007-10-25 21:58 ./source/a/gawk/gawk-3.1.6.tar.bz2
--rw-r--r-- 1 root root 189 2007-10-25 21:58 ./source/a/gawk/gawk-3.1.6.tar.bz2.sig
--rwxr-xr-x 1 root root 2901 2009-05-23 00:41 ./source/a/gawk/gawk.SlackBuild
--rw-r--r-- 1 root root 1043 2002-03-23 21:56 ./source/a/gawk/slack-desc
-drwxr-xr-x 2 root root 4096 2009-05-19 20:05 ./source/a/genpower
--rw-r--r-- 1 root root 66728 2005-01-04 22:32 ./source/a/genpower/genpower-1.0.5.tar.gz
--rwxr-xr-x 1 root root 3077 2009-05-19 20:05 ./source/a/genpower/genpower.SlackBuild
--rw-r--r-- 1 root root 514 2008-12-03 00:22 ./source/a/genpower/genpower.halt.diff.gz
--rw-r--r-- 1 root root 460 2002-04-11 03:18 ./source/a/genpower/genpower.var.diff.gz
--rw-r--r-- 1 root root 957 2002-04-11 05:06 ./source/a/genpower/slack-desc
-drwxr-xr-x 2 root root 4096 2009-05-19 20:05 ./source/a/gettext
--rw-r--r-- 1 root root 8236607 2007-11-07 03:14 ./source/a/gettext/gettext-0.17.tar.bz2
--rwxr-xr-x 1 root root 3274 2009-05-22 22:33 ./source/a/gettext/gettext-tools.SlackBuild
--rwxr-xr-x 1 root root 3106 2009-05-19 20:05 ./source/a/gettext/gettext.SlackBuild
--rw-r--r-- 1 root root 737 2008-02-11 03:44 ./source/a/gettext/slack-desc
--rw-r--r-- 1 root root 1093 2008-02-11 03:44 ./source/a/gettext/slack-desc.gettext-tools
-drwxr-xr-x 2 root root 4096 2009-05-19 20:05 ./source/a/getty-ps
--rwxr-xr-x 1 root root 2667 2009-05-19 20:05 ./source/a/getty-ps/getty-ps.SlackBuild
--rw-r--r-- 1 root root 3609 2005-07-21 12:27 ./source/a/getty-ps/getty.bugfixes.diff.gz
--rw-r--r-- 1 root root 1223 2002-10-04 05:00 ./source/a/getty-ps/getty_ps-2.1.0.lsm
--rw-r--r-- 1 root root 117414 2005-07-21 12:27 ./source/a/getty-ps/getty_ps-2.1.0b.tar.gz
--rw-r--r-- 1 root root 969 2008-02-11 03:44 ./source/a/getty-ps/slack-desc
-drwxr-xr-x 2 root root 4096 2009-05-19 20:05 ./source/a/gpm
--rw-r--r-- 1 root root 344 2004-10-13 20:51 ./source/a/gpm/gpm-1.20.1-consolename.patch.gz
--rw-r--r-- 1 root root 404 2004-09-09 05:52 ./source/a/gpm/gpm-1.20.1-gpmopen.patch.gz
--rw-r--r-- 1 root root 274 2004-09-09 05:52 ./source/a/gpm/gpm-1.20.1-idie.patch.gz
--rw-r--r-- 1 root root 289 2006-12-12 02:00 ./source/a/gpm/gpm-1.20.1-input-defines.diff.gz
--rw-r--r-- 1 root root 301 2004-09-23 18:46 ./source/a/gpm/gpm-1.20.1-input.patch.gz
--rw-r--r-- 1 root root 362 2006-01-18 12:07 ./source/a/gpm/gpm-1.20.1-lib-silent.patch.gz
--rw-r--r-- 1 root root 294 2004-09-09 05:51 ./source/a/gpm/gpm-1.20.1-math.patch.gz
--rw-r--r-- 1 root root 791 2004-10-20 21:28 ./source/a/gpm/gpm-1.20.1-multilib.patch.gz
--rw-r--r-- 1 root root 356 2006-01-18 12:07 ./source/a/gpm/gpm-1.20.1-no-console-error.patch.gz
--rw-r--r-- 1 root root 249 2004-10-13 20:03 ./source/a/gpm/gpm-1.20.1-nodebug.patch.gz
--rw-r--r-- 1 root root 237 2004-09-09 05:52 ./source/a/gpm/gpm-1.20.1-subscript.patch.gz
--rw-r--r-- 1 root root 515 2004-09-09 05:52 ./source/a/gpm/gpm-1.20.1-weak-wgetch.patch.gz
--rw-r--r-- 1 root root 651 2006-08-20 19:46 ./source/a/gpm/gpm-1.20.1.send-noise-to-syslogs.diff.gz
--rw-r--r-- 1 root root 565014 2004-06-25 18:13 ./source/a/gpm/gpm-1.20.1.tar.bz2
--rw-r--r-- 1 root root 59408 2004-09-09 05:52 ./source/a/gpm/gpm-evdev-cumulative.patch.gz
--rwxr-xr-x 1 root root 5475 2009-05-19 20:05 ./source/a/gpm/gpm.SlackBuild
--rw-r--r-- 1 root root 285 2006-02-07 21:26 ./source/a/gpm/gpm.evdevmakefile.patch.gz
--rw-r--r-- 1 root root 4268 2004-09-09 05:52 ./source/a/gpm/inputattach.c.gz
--rw-r--r-- 1 root root 168 2001-04-15 23:47 ./source/a/gpm/mouseconfig.gz
--rw-r--r-- 1 root root 2117 2008-03-15 20:30 ./source/a/gpm/setup.mouse.gz
--rw-r--r-- 1 root root 965 2002-05-29 01:05 ./source/a/gpm/slack-desc
-drwxr-xr-x 2 root root 4096 2009-05-19 20:05 ./source/a/grep
--rw-r--r-- 1 root root 723181 2009-02-10 13:58 ./source/a/grep/grep-2.5.4.tar.bz2
--rwxr-xr-x 1 root root 3292 2009-05-19 20:05 ./source/a/grep/grep.SlackBuild
--rw-r--r-- 1 root root 747 2002-04-02 08:53 ./source/a/grep/slack-desc
-drwxr-xr-x 2 root root 4096 2009-05-19 20:05 ./source/a/gzip
--rw-r--r-- 1 root root 383783 2007-04-14 02:32 ./source/a/gzip/gzip-1.3.12.tar.bz2
--rw-r--r-- 1 root root 189 2007-04-14 02:32 ./source/a/gzip/gzip-1.3.12.tar.sig
--rwxr-xr-x 1 root root 4295 2009-05-19 20:05 ./source/a/gzip/gzip.SlackBuild
--rw-r--r-- 1 root root 770 2002-03-23 21:58 ./source/a/gzip/slack-desc
-drwxr-xr-x 2 root root 4096 2009-05-19 20:05 ./source/a/hdparm
--rw-r--r-- 1 root root 82912 2008-11-04 18:01 ./source/a/hdparm/hdparm-9.3.tar.bz2
--rwxr-xr-x 1 root root 2226 2009-05-19 20:05 ./source/a/hdparm/hdparm.SlackBuild
--rw-r--r-- 1 root root 805 2002-02-22 00:10 ./source/a/hdparm/slack-desc
-drwxr-xr-x 2 root root 4096 2009-08-24 08:47 ./source/a/infozip
--rwxr-xr-x 1 root root 3159 2009-08-24 08:48 ./source/a/infozip/infozip.SlackBuild
--rw-r--r-- 1 root root 924 2002-03-29 01:12 ./source/a/infozip/slack-desc
--rw-r--r-- 1 root root 882180 2009-01-02 16:33 ./source/a/infozip/unzip60.tar.xz
--rw-r--r-- 1 root root 775420 2008-07-05 17:31 ./source/a/infozip/zip30.tar.xz
-drwxr-xr-x 2 root root 4096 2009-05-19 20:05 ./source/a/inotify-tools
--rw-r--r-- 1 root root 283893 2008-01-01 08:51 ./source/a/inotify-tools/inotify-tools-3.13.tar.bz2
--rwxr-xr-x 1 root root 3344 2009-05-19 20:05 ./source/a/inotify-tools/inotify-tools.SlackBuild
--rw-r--r-- 1 root root 977 2008-02-11 03:44 ./source/a/inotify-tools/slack-desc
-drwxr-xr-x 2 root root 4096 2009-06-12 23:20 ./source/a/jfsutils
--rw-r--r-- 1 root root 414662 2009-04-06 19:17 ./source/a/jfsutils/jfsutils-1.1.14.tar.bz2
--rwxr-xr-x 1 root root 3047 2009-06-12 23:20 ./source/a/jfsutils/jfsutils.SlackBuild
--rw-r--r-- 1 root root 998 2003-02-16 21:43 ./source/a/jfsutils/slack-desc
-drwxr-xr-x 3 root root 4096 2009-05-16 19:10 ./source/a/kbd
--rwxr-xr-x 1 root root 5901 2009-08-25 01:23 ./source/a/kbd/kbd.SlackBuild
--rw-r--r-- 1 root root 11611 2009-05-16 22:41 ./source/a/kbd/setconsolefont
--rw-r--r-- 1 root root 283 2009-05-14 19:13 ./source/a/kbd/setup.setconsolefont
--rw-r--r-- 1 root root 919 2003-02-27 23:42 ./source/a/kbd/slack-desc
-drwxr-xr-x 2 root root 4096 2009-08-25 01:23 ./source/a/kbd/sources
--rw-r--r-- 1 root root 24797 2001-05-26 05:49 ./source/a/kbd/sources/extraf.tgz
--rw-r--r-- 1 root root 960 2009-01-08 14:46 ./source/a/kbd/sources/kbd-1.15-keycodes-man.patch.gz
--rw-r--r-- 1 root root 522 2009-01-08 14:46 ./source/a/kbd/sources/kbd-1.15-po.patch.gz
--rw-r--r-- 1 root root 659 2009-03-05 12:52 ./source/a/kbd/sources/kbd-1.15-quiet_doc.patch.gz
--rw-r--r-- 1 root root 270 2009-01-08 14:46 ./source/a/kbd/sources/kbd-1.15-resizecon-x86_64.patch.gz
--rw-r--r-- 1 root root 1243 2009-01-08 14:46 ./source/a/kbd/sources/kbd-1.15-sparc.patch.gz
--rw-r--r-- 1 root root 399 2009-08-25 01:23 ./source/a/kbd/sources/kbd-1.15-unicode_start.patch.gz
--rw-r--r-- 1 root root 875463 2008-12-01 19:58 ./source/a/kbd/sources/kbd-1.15.tar.bz2
--rw-r--r-- 1 root root 248 2008-12-01 19:58 ./source/a/kbd/sources/kbd-1.15.tar.bz2.sign
--rw-r--r-- 1 root root 4291 2007-10-15 12:16 ./source/a/kbd/sources/kbd-latarcyrheb-16-fixed.tar.bz2
--rw-r--r-- 1 root root 6155 2006-09-29 11:13 ./source/a/kbd/sources/kbd-latsun-fonts.tar.bz2
--rw-r--r-- 1 root root 224 2004-05-30 04:18 ./source/a/kbd/sources/nl.euro.diff.gz
--rw-r--r-- 1 root root 2338 2007-11-14 11:41 ./source/a/kbd/sources/ro_maps.tar.bz2
--rw-r--r-- 1 root root 3543 2002-05-24 21:22 ./source/a/kbd/sources/speakup-jfw.tar.gz
--rw-r--r-- 1 root root 2246 2001-10-05 13:14 ./source/a/kbd/sources/speakupmap.map.gz
-drwxr-xr-x 2 root root 4096 2009-05-23 00:41 ./source/a/less
--rw-r--r-- 1 root root 241227 2008-01-08 22:20 ./source/a/less/less-418.tar.bz2
--rwxr-xr-x 1 root root 3097 2009-05-23 00:41 ./source/a/less/less.SlackBuild
--rw-r--r-- 1 root root 313 2002-05-28 00:15 ./source/a/less/less.sysconfdir.diff.gz
--rw-r--r-- 1 root root 1343 2009-04-11 17:48 ./source/a/less/lesspipe.sh.gz
--rw-r--r-- 1 root root 841 2002-03-23 22:00 ./source/a/less/slack-desc
-drwxr-xr-x 2 root root 4096 2009-05-19 20:05 ./source/a/lha
--rw-r--r-- 1 root root 64608 2000-12-15 12:20 ./source/a/lha/lha-114i.tar.gz
--rwxr-xr-x 1 root root 2533 2009-05-19 20:05 ./source/a/lha/lha.SlackBuild
--rw-r--r-- 1 root root 45132 2006-12-13 19:47 ./source/a/lha/lha_1.14i-10.1.diff.gz
--rw-r--r-- 1 root root 606 2006-12-23 05:46 ./source/a/lha/slack-desc
-drwxr-xr-x 2 root root 4096 2009-05-19 20:05 ./source/a/lilo
--rw-r--r-- 1 root root 437555 2007-02-19 18:18 ./source/a/lilo/lilo-22.8.src.tar.gz
--rw-r--r-- 1 root root 536 2007-02-19 18:18 ./source/a/lilo/lilo-22.8.src.tar.gz.sig
--rwxr-xr-x 1 root root 2785 2009-05-19 20:05 ./source/a/lilo/lilo.SlackBuild
--rw-r--r-- 1 root root 38380 2009-02-23 11:00 ./source/a/lilo/liloconfig
--rw-r--r-- 1 root root 105 2002-03-09 08:27 ./source/a/lilo/setup.liloconfig
--rw-r--r-- 1 root root 1045 2002-03-23 22:00 ./source/a/lilo/slack-desc
--rw-r--r-- 1 root root 15754 2008-02-22 00:08 ./source/a/lilo/slack.bmp
--rw-r--r-- 1 root root 133 2008-02-22 00:08 ./source/a/lilo/slack.dat
--rw-r--r-- 1 root root 17318 2008-12-09 00:56 ./source/a/lilo/slack64.bmp
--rw-r--r-- 1 root root 3331 1994-07-08 18:55 ./source/a/lilo/text.lilohelp
-drwxr-xr-x 2 root root 4096 2009-05-19 20:05 ./source/a/logrotate
--rw-r--r-- 1 root root 1258 2006-09-21 06:38 ./source/a/logrotate/_logrotate.tar.gz
--rw-r--r-- 1 root root 38611 2006-07-24 12:13 ./source/a/logrotate/logrotate-3.7.4.tar.gz
--rwxr-xr-x 1 root root 2255 2009-05-19 20:05 ./source/a/logrotate/logrotate.SlackBuild
--rw-r--r-- 1 root root 775 2006-09-21 06:09 ./source/a/logrotate/logrotate.slackware.diff.gz
--rw-r--r-- 1 root root 989 2002-04-07 06:41 ./source/a/logrotate/slack-desc
-drwxr-xr-x 2 root root 4096 2009-05-23 02:17 ./source/a/lvm2
--rw-r--r-- 1 root root 474231 2008-10-06 12:21 ./source/a/lvm2/LVM2.2.02.40.tar.bz2
--rw-r--r-- 1 root root 271 2008-10-06 12:21 ./source/a/lvm2/doinst.sh.gz
--rwxr-xr-x 1 root root 3093 2009-05-19 20:05 ./source/a/lvm2/lvm2.SlackBuild
--rw-r--r-- 1 root root 1012 2008-02-08 17:26 ./source/a/lvm2/slack-desc
-drwxr-xr-x 2 root root 4096 2009-05-19 20:05 ./source/a/mdadm
--rw-r--r-- 1 root root 261 2004-05-27 18:31 ./source/a/mdadm/doinst.sh.gz
--rw-r--r-- 1 root root 152401 2007-10-19 04:12 ./source/a/mdadm/mdadm-2.6.4.tar.bz2
--rw-r--r-- 1 root root 248 2007-10-19 04:12 ./source/a/mdadm/mdadm-2.6.4.tar.bz2.sign
--rwxr-xr-x 1 root root 2543 2009-05-19 20:05 ./source/a/mdadm/mdadm.SlackBuild
--rw-r--r-- 1 root root 347 2006-06-25 05:30 ./source/a/mdadm/mdadm.static.small.diff.gz
--rw-r--r-- 1 root root 928 2004-05-27 18:23 ./source/a/mdadm/slack-desc
-drwxr-xr-x 2 root root 4096 2009-05-23 00:41 ./source/a/minicom
--rw-r--r-- 1 root root 503 2008-09-30 10:20 ./source/a/minicom/config.sub-x86_64.diff.gz
--rw-r--r-- 1 root root 289 2004-09-04 21:22 ./source/a/minicom/doinst.sh.gz
--rw-r--r-- 1 root root 16580 2001-03-25 19:17 ./source/a/minicom/lrzsz_0.12.21-4.diff.gz
--rw-r--r-- 1 root root 287790 1999-09-19 19:01 ./source/a/minicom/lrzsz_0.12.21.orig.tar.gz
--rw-r--r-- 1 root root 607939 2003-09-17 21:55 ./source/a/minicom/minicom-2.1.tar.gz
--rw-r--r-- 1 root root 189 2003-09-17 21:54 ./source/a/minicom/minicom-2.1.tar.gz.asc
--rwxr-xr-x 1 root root 4338 2009-05-23 00:41 ./source/a/minicom/minicom.SlackBuild
--rw-r--r-- 1 root root 570 2004-09-04 21:17 ./source/a/minicom/minicom.users.gz
--rw-r--r-- 1 root root 92 2004-09-04 21:16 ./source/a/minicom/minirc.dfl.gz
--rw-r--r-- 1 root root 781 2002-03-29 01:13 ./source/a/minicom/slack-desc
--rw-r--r-- 1 root root 568 2008-10-02 19:18 ./source/a/minicom/wintcap.diff.gz
-drwxr-xr-x 3 root root 4096 2009-07-15 19:16 ./source/a/mkinitrd
--rw-r--r-- 1 root root 3723 2009-06-17 06:49 ./source/a/mkinitrd/README.initrd
--rw-r--r-- 1 root root 2386 2009-04-21 03:21 ./source/a/mkinitrd/_initrd-tree.tar.gz
-drwxr-xr-x 2 root root 4096 2008-11-30 10:20 ./source/a/mkinitrd/archive
--rw-r--r-- 1 root root 1924980 2008-08-21 19:40 ./source/a/mkinitrd/archive/busybox-1.11.2.tar.bz2
--rw-r--r-- 1 root root 2017989 2008-08-20 23:27 ./source/a/mkinitrd/archive/busybox-1.12.0.tar.bz2
--rw-r--r-- 1 root root 280 2007-11-27 21:36 ./source/a/mkinitrd/archive/busybox-1.7.2.no-gc-sections.diff.gz
--rw-r--r-- 1 root root 470 2007-10-09 23:51 ./source/a/mkinitrd/archive/busybox-1.7.2.remove_warning.diff.gz
--rw-r--r-- 1 root root 1729040 2007-10-09 23:52 ./source/a/mkinitrd/archive/busybox-1.7.2.tar.bz2
--rw-r--r-- 1 root root 535 2007-10-09 23:52 ./source/a/mkinitrd/archive/busybox-1.7.2.tar.bz2.sign
--rw-r--r-- 1 root root 20223 2008-09-23 21:26 ./source/a/mkinitrd/archive/busybox-dot-config.1.11.2
--rw-r--r-- 1 root root 20380 2008-09-25 10:39 ./source/a/mkinitrd/archive/busybox-dot-config.1.12.0
--rw-r--r-- 1 root root 20369 2008-11-07 10:25 ./source/a/mkinitrd/archive/busybox-dot-config.1.12.1
--rw-r--r-- 1 root root 17000 2008-04-03 23:06 ./source/a/mkinitrd/archive/busybox-dot-config.1.7.2
--rw-r--r-- 1 root root 2022321 2008-09-28 18:08 ./source/a/mkinitrd/busybox-1.12.1.tar.bz2
--rw-r--r-- 1 root root 218 2008-11-07 01:40 ./source/a/mkinitrd/busybox-1.12.1_inotify.diff.gz
--rw-r--r-- 1 root root 20369 2008-11-30 10:19 ./source/a/mkinitrd/busybox-dot-config
--rwxr-xr-x 1 root root 7749 2009-04-02 22:13 ./source/a/mkinitrd/init
--rw-r--r-- 1 root root 29903 2009-05-17 07:21 ./source/a/mkinitrd/keymaps.tar.gz
--rw-r--r-- 1 root root 16243 2009-08-13 19:41 ./source/a/mkinitrd/mkinitrd
--rw-r--r-- 1 root root 5889 2008-04-20 05:17 ./source/a/mkinitrd/mkinitrd.8
--rwxr-xr-x 1 root root 4150 2009-08-13 20:00 ./source/a/mkinitrd/mkinitrd.SlackBuild
--rw-r--r-- 1 root root 4227 2008-12-19 13:11 ./source/a/mkinitrd/mkinitrd.conf.5
--rw-r--r-- 1 root root 343 2008-04-03 23:06 ./source/a/mkinitrd/mkinitrd.conf.sample
--rw-r--r-- 1 root root 27049 2009-05-17 07:21 ./source/a/mkinitrd/mkinitrd_command_generator.sh
--rw-r--r-- 1 root root 454 2008-12-11 11:02 ./source/a/mkinitrd/mkinitrd_kernelcheck.diff
--rw-r--r-- 1 root root 988 2008-04-03 23:07 ./source/a/mkinitrd/slack-desc
-drwxr-xr-x 2 root root 4096 2009-05-19 20:05 ./source/a/module-init-tools
--rw-r--r-- 1 root root 467 2007-09-24 14:55 ./source/a/module-init-tools/doinst.sh.gz
--rw-r--r-- 1 root root 642 2009-02-08 07:43 ./source/a/module-init-tools/modprobe.favor.etc.modprobe.d.diff.gz
--rw-r--r-- 1 root root 801 2009-02-08 07:58 ./source/a/module-init-tools/modprobe.ignore_some_suffixes.diff.gz
--rw-r--r-- 1 root root 960 2009-03-13 11:48 ./source/a/module-init-tools/modprobe.no_sys_check.diff.gz
--rw-r--r-- 1 root root 230327 2009-02-04 21:30 ./source/a/module-init-tools/module-init-tools-3.6.tar.bz2
--rwxr-xr-x 1 root root 4097 2009-05-19 20:05 ./source/a/module-init-tools/module-init-tools.SlackBuild
--rw-r--r-- 1 root root 856 2007-02-21 20:22 ./source/a/module-init-tools/slack-desc
-drwxr-xr-x 2 root root 4096 2009-05-19 20:05 ./source/a/mt-st
--rw-r--r-- 1 root root 375 2007-05-15 02:19 ./source/a/mt-st/_mt-st.tar.gz
--rw-r--r-- 1 root root 36537 2005-08-21 19:14 ./source/a/mt-st/mt-st-0.9b.tar.gz
--rwxr-xr-x 1 root root 2702 2009-05-19 20:05 ./source/a/mt-st/mt-st.SlackBuild
--rw-r--r-- 1 root root 949 2005-04-07 06:26 ./source/a/mt-st/mt-st.config.diff.gz
--rw-r--r-- 1 root root 358 2005-10-25 10:17 ./source/a/mt-st/mt-st.man.diff.gz
--rw-r--r-- 1 root root 236 2004-09-09 08:51 ./source/a/mt-st/mt-st.sdlt.diff.gz
--rw-r--r-- 1 root root 943 2002-02-24 20:29 ./source/a/mt-st/slack-desc
-drwxr-xr-x 2 root root 4096 2009-05-19 20:05 ./source/a/mtx
--rw-r--r-- 1 root root 220990 2007-01-25 23:16 ./source/a/mtx/mtx-1.3.9.tar.gz
--rwxr-xr-x 1 root root 2745 2009-05-19 20:05 ./source/a/mtx/mtx.SlackBuild
--rw-r--r-- 1 root root 854 2007-01-25 23:21 ./source/a/mtx/slack-desc
-drwxr-xr-x 2 root root 4096 2009-05-19 20:05 ./source/a/ncompress
--rw-r--r-- 1 root root 304 2006-08-11 11:44 ./source/a/ncompress/ncompress-4.2.4-bssUnderflow.patch.gz
--rw-r--r-- 1 root root 207 2006-09-19 12:34 ./source/a/ncompress/ncompress-4.2.4-endians.patch.gz
--rw-r--r-- 1 root root 32533 1996-12-24 07:00 ./source/a/ncompress/ncompress-4.2.4.tar.gz
--rw-r--r-- 1 root root 220 2004-10-05 09:15 ./source/a/ncompress/ncompress.2GB.diff.gz
--rwxr-xr-x 1 root root 3100 2009-05-19 20:05 ./source/a/ncompress/ncompress.SlackBuild
--rw-r--r-- 1 root root 1164 2004-09-09 09:01 ./source/a/ncompress/ncompress.filenamelen.diff.gz
--rw-r--r-- 1 root root 773 2004-09-09 09:01 ./source/a/ncompress/ncompress.lfs2.diff.gz
--rw-r--r-- 1 root root 952 2004-09-09 09:00 ./source/a/ncompress/ncompress.make.diff.gz
--rw-r--r-- 1 root root 389 2006-04-21 12:20 ./source/a/ncompress/ncompress.zerobyteforce.diff.gz
--rw-r--r-- 1 root root 1020 2006-12-14 01:48 ./source/a/ncompress/slack-desc
-drwxr-xr-x 2 root root 4096 2009-06-12 23:23 ./source/a/ntfs-3g
--rw-r--r-- 1 root root 481 2008-03-15 01:38 ./source/a/ntfs-3g/10-ntfs-3g-policy.fdi
--rw-r--r-- 1 root root 492893 2009-04-02 23:01 ./source/a/ntfs-3g/ntfs-3g-2009.4.4.tar.bz2
--rwxr-xr-x 1 root root 3350 2009-06-12 23:23 ./source/a/ntfs-3g/ntfs-3g.SlackBuild
--rw-r--r-- 1 root root 1003 2008-03-15 03:46 ./source/a/ntfs-3g/slack-desc
-drwxr-xr-x 2 root root 4096 2009-05-19 20:05 ./source/a/patch
--rw-r--r-- 1 root root 186879 1999-08-31 09:17 ./source/a/patch/patch-2.5.4.tar.gz
--rwxr-xr-x 1 root root 2191 2009-05-19 20:05 ./source/a/patch/patch.SlackBuild
--rw-r--r-- 1 root root 1020 2006-12-14 02:21 ./source/a/patch/slack-desc
-drwxr-xr-x 2 root root 4096 2009-07-29 07:48 ./source/a/pciutils
--rw-r--r-- 1 root root 271733 2009-07-29 07:19 ./source/a/pciutils/pciutils-3.1.3.tar.bz2
--rwxr-xr-x 1 root root 3190 2009-08-09 02:53 ./source/a/pciutils/pciutils.SlackBuild
--rw-r--r-- 1 root root 306 2009-07-29 07:26 ./source/a/pciutils/pciutils.ids.dest.diff.gz
--rw-r--r-- 1 root root 92 2008-04-01 21:00 ./source/a/pciutils/pciutils.url
--rw-r--r-- 1 root root 895 2006-12-19 23:55 ./source/a/pciutils/slack-desc
-drwxr-xr-x 3 root root 4096 2009-05-23 02:18 ./source/a/pcmciautils
--rw-r--r-- 1 root root 1429 2007-03-16 14:50 ./source/a/pcmciautils/cis-cs-3.2.8.tar.gz
-drwxr-xr-x 2 root root 4096 2008-09-12 04:35 ./source/a/pcmciautils/config
--rw-r--r-- 1 root root 926 2007-03-16 20:00 ./source/a/pcmciautils/config/60-pcmcia.rules
--rw-r--r-- 1 root root 2577 2008-03-05 03:14 ./source/a/pcmciautils/config/config.opts
--rwxr-xr-x 1 root root 1722 2007-03-16 21:09 ./source/a/pcmciautils/config/rc.pcmcia
--rw-r--r-- 1 root root 277 2009-04-14 04:38 ./source/a/pcmciautils/doinst.sh.gz
--rw-r--r-- 1 root root 43239 2008-07-15 04:16 ./source/a/pcmciautils/pcmciautils-015.tar.bz2
--rwxr-xr-x 1 root root 3555 2009-05-19 20:05 ./source/a/pcmciautils/pcmciautils.SlackBuild
--rw-r--r-- 1 root root 914 2009-04-14 04:35 ./source/a/pcmciautils/slack-desc
-drwxr-xr-x 5 root root 4096 2009-05-19 20:05 ./source/a/pkgtools
-drwxr-xr-x 2 root root 4096 2009-04-11 21:15 ./source/a/pkgtools/manpages
--rw-r--r-- 1 root root 1256 2009-04-11 20:54 ./source/a/pkgtools/manpages/explodepkg.8
--rw-r--r-- 1 root root 2561 2009-04-11 20:52 ./source/a/pkgtools/manpages/installpkg.8
--rw-r--r-- 1 root root 4557 2009-04-11 20:51 ./source/a/pkgtools/manpages/makepkg.8
--rw-r--r-- 1 root root 2518 2009-04-11 21:11 ./source/a/pkgtools/manpages/pkgtool.8
--rw-r--r-- 1 root root 3080 2009-04-11 21:15 ./source/a/pkgtools/manpages/removepkg.8
--rw-r--r-- 1 root root 3199 2001-06-07 08:29 ./source/a/pkgtools/manpages/setup.8-deprecated
--rw-r--r-- 1 root root 2665 2009-04-11 21:14 ./source/a/pkgtools/manpages/upgradepkg.8
-drwxr-xr-x 2 root root 4096 2008-04-19 23:44 ./source/a/pkgtools/obsolete-scripts
--rw-r--r-- 1 root root 155 2008-04-19 23:44 ./source/a/pkgtools/obsolete-scripts/README
--rw-r--r-- 1 root root 1326 2003-02-16 00:57 ./source/a/pkgtools/obsolete-scripts/setup.90.modem-device
--rwxr-xr-x 1 root root 2483 2009-08-16 21:35 ./source/a/pkgtools/pkgtools.SlackBuild
-drwxr-xr-x 2 root root 4096 2009-06-02 04:12 ./source/a/pkgtools/scripts
--rw-r--r-- 1 root root 3170 2009-04-06 02:21 ./source/a/pkgtools/scripts/explodepkg
--rw-r--r-- 1 root root 19653 2009-08-16 21:22 ./source/a/pkgtools/scripts/installpkg
--rw-r--r-- 1 root root 13749 2009-04-06 02:14 ./source/a/pkgtools/scripts/makebootdisk
--rw-r--r-- 1 root root 11315 2009-06-02 04:12 ./source/a/pkgtools/scripts/makepkg
--rw-r--r-- 1 root root 22615 2009-06-18 02:24 ./source/a/pkgtools/scripts/pkgtool
--rw-r--r-- 1 root root 14048 2009-04-28 20:44 ./source/a/pkgtools/scripts/removepkg
--rw-r--r-- 1 root root 170 2003-02-16 00:56 ./source/a/pkgtools/scripts/setup.70.install-kernel
--rw-r--r-- 1 root root 6356 2008-03-18 19:39 ./source/a/pkgtools/scripts/setup.80.make-bootdisk
--rw-r--r-- 1 root root 1070 2007-06-27 00:28 ./source/a/pkgtools/scripts/setup.htmlview
--rw-r--r-- 1 root root 7421 2008-03-19 08:13 ./source/a/pkgtools/scripts/setup.services
--rw-r--r-- 1 root root 12087 2009-08-16 21:38 ./source/a/pkgtools/scripts/upgradepkg
--rw-r--r-- 1 root root 1083 2002-03-23 04:15 ./source/a/pkgtools/slack-desc
-drwxr-xr-x 2 root root 4096 2009-05-23 00:41 ./source/a/procps
--rw-r--r-- 1 root root 24365 2001-03-02 18:54 ./source/a/procps/procinfo-18.tar.gz
--rw-r--r-- 1 root root 213 2003-02-07 21:39 ./source/a/procps/procinfo.gcc3.diff.gz
--rw-r--r-- 1 root root 504 2001-03-02 18:54 ./source/a/procps/procinfo.lsm
--rw-r--r-- 1 root root 824 2008-09-19 19:04 ./source/a/procps/procps-3.2.7-ps-eip64.diff.gz
--rw-r--r-- 1 root root 281965 2006-06-25 06:14 ./source/a/procps/procps-3.2.7.tar.gz
--rwxr-xr-x 1 root root 6216 2009-05-23 00:41 ./source/a/procps/procps.SlackBuild
--rw-r--r-- 1 root root 854 2004-08-17 01:30 ./source/a/procps/procps.nowarning.diff.gz
--rw-r--r-- 1 root root 182 2003-02-02 19:47 ./source/a/procps/procps.w.showfrom.diff.gz
--rw-r--r-- 1 root root 257325 2006-09-14 23:06 ./source/a/procps/psmisc-22.3.tar.gz
--rw-r--r-- 1 root root 739 2004-05-27 21:01 ./source/a/procps/slack-desc
-drwxr-xr-x 2 root root 4096 2009-06-22 20:00 ./source/a/quota
--rw-r--r-- 1 root root 216356 2009-01-05 14:29 ./source/a/quota/quota-3.17.tar.xz
--rwxr-xr-x 1 root root 3539 2009-06-22 19:58 ./source/a/quota/quota.SlackBuild
--rw-r--r-- 1 root root 980 2002-03-31 08:30 ./source/a/quota/slack-desc
-drwxr-xr-x 2 root root 4096 2009-05-19 20:05 ./source/a/reiserfsprogs
--rw-r--r-- 1 root root 324847 2009-01-12 22:13 ./source/a/reiserfsprogs/reiserfsprogs-3.6.21.tar.bz2
--rwxr-xr-x 1 root root 3507 2009-05-19 20:05 ./source/a/reiserfsprogs/reiserfsprogs.SlackBuild
--rw-r--r-- 1 root root 940 2008-02-11 03:44 ./source/a/reiserfsprogs/slack-desc
-drwxr-xr-x 2 root root 4096 2006-12-23 06:44 ./source/a/rpm2tgz
--rw-r--r-- 1 root root 1809 2002-11-27 21:47 ./source/a/rpm2tgz/getrpmtype.tar.gz
--rw-r--r-- 1 root root 4439 2009-08-08 22:26 ./source/a/rpm2tgz/rpm2targz
--rw-r--r-- 1 root root 986 2006-12-23 06:51 ./source/a/rpm2tgz/rpm2targz.README
--rwxr-xr-x 1 root root 2128 2009-08-08 22:50 ./source/a/rpm2tgz/rpm2tgz.SlackBuild
--rw-r--r-- 1 root root 835 2004-06-13 23:10 ./source/a/rpm2tgz/rpmoffset.c
--rw-r--r-- 1 root root 856 2008-02-11 03:44 ./source/a/rpm2tgz/slack-desc
-drwxr-xr-x 2 root root 4096 2009-05-19 20:05 ./source/a/sdparm
--rw-r--r-- 1 root root 195605 2007-04-07 21:15 ./source/a/sdparm/sdparm-1.01.tar.bz2
--rwxr-xr-x 1 root root 3176 2009-05-19 20:05 ./source/a/sdparm/sdparm.SlackBuild
--rw-r--r-- 1 root root 924 2007-06-02 18:27 ./source/a/sdparm/slack-desc
-drwxr-xr-x 2 root root 4096 2009-05-19 20:05 ./source/a/sed
--rw-r--r-- 1 root root 799584 2006-02-03 09:51 ./source/a/sed/sed-4.1.5.tar.gz
--rw-r--r-- 1 root root 65 2006-02-03 09:51 ./source/a/sed/sed-4.1.5.tar.gz.sig
--rwxr-xr-x 1 root root 2485 2009-05-19 20:05 ./source/a/sed/sed.SlackBuild
--rw-r--r-- 1 root root 862 2003-09-01 21:35 ./source/a/sed/slack-desc
-drwxr-xr-x 2 root root 4096 2009-05-23 00:42 ./source/a/shadow
--rw-r--r-- 1 root root 1293 2006-08-22 20:06 ./source/a/shadow/_shadow.tar.gz
--rw-r--r-- 1 root root 15448 2009-08-01 01:59 ./source/a/shadow/adduser
--rw-r--r-- 1 root root 778357 2002-03-14 04:27 ./source/a/shadow/shadow-4.0.3.tar.bz2
--rw-r--r-- 1 root root 1471 2008-11-30 19:01 ./source/a/shadow/shadow-4.0.3.x86_64.diff.gz
--rwxr-xr-x 1 root root 5002 2009-08-01 00:25 ./source/a/shadow/shadow.SlackBuild
--rw-r--r-- 1 root root 178 2006-08-13 00:03 ./source/a/shadow/shadow.gcc34.diff.gz
--rw-r--r-- 1 root root 1108 2008-03-24 20:11 ./source/a/shadow/shadow.login.defs.diff.gz
--rw-r--r-- 1 root root 353 2003-06-01 04:21 ./source/a/shadow/shadow.newgrp.getlogin.gz
--rw-r--r-- 1 root root 366 2002-10-13 19:47 ./source/a/shadow/shadow.newgrp.nopam.gz
--rw-r--r-- 1 root root 1248 2006-08-20 23:32 ./source/a/shadow/shadow.remove.obsolete.options.diff.gz
--rw-r--r-- 1 root root 657 2003-06-23 23:35 ./source/a/shadow/shadow.shadowconfig.diff.gz
--rw-r--r-- 1 root root 993 2002-04-30 23:51 ./source/a/shadow/slack-desc
-drwxr-xr-x 2 root root 4096 2009-06-22 18:47 ./source/a/sharutils
--rw-r--r-- 1 root root 640932 2007-07-01 12:05 ./source/a/sharutils/sharutils-4.7.tar.bz2
--rw-r--r-- 1 root root 65 2007-07-01 12:05 ./source/a/sharutils/sharutils-4.7.tar.bz2.sig
--rwxr-xr-x 1 root root 2632 2009-06-22 18:50 ./source/a/sharutils/sharutils.SlackBuild
--rw-r--r-- 1 root root 1087 2006-05-19 01:57 ./source/a/sharutils/slack-desc
-drwxr-xr-x 2 root root 4096 2009-06-30 19:16 ./source/a/slocate
--rw-r--r-- 1 root root 941 2009-07-18 00:05 ./source/a/slocate/_slocate.tar.gz
--rw-r--r-- 1 root root 1011 2002-04-07 09:50 ./source/a/slocate/slack-desc
--rw-r--r-- 1 root root 37748 2006-03-08 05:05 ./source/a/slocate/slocate-3.1.tar.gz
--rw-r--r-- 1 root root 189 2006-03-08 05:05 ./source/a/slocate/slocate-3.1.tar.gz.sign
--rwxr-xr-x 1 root root 2430 2009-07-18 00:43 ./source/a/slocate/slocate.SlackBuild
-drwxr-xr-x 2 root root 4096 2009-05-19 20:05 ./source/a/smartmontools
--rw-r--r-- 1 root root 270 2004-04-12 02:03 ./source/a/smartmontools/doinst.sh.gz
--rw-r--r-- 1 root root 1174 2002-10-21 22:55 ./source/a/smartmontools/slack-desc
--rw-r--r-- 1 root root 500392 2008-03-10 11:08 ./source/a/smartmontools/smartmontools-5.38.tar.bz2
--rwxr-xr-x 1 root root 2485 2009-05-19 20:05 ./source/a/smartmontools/smartmontools.SlackBuild
-drwxr-xr-x 2 root root 4096 2009-05-19 20:05 ./source/a/splitvt
--rw-r--r-- 1 root root 743 2006-12-13 23:26 ./source/a/splitvt/slack-desc
--rw-r--r-- 1 root root 64301 2001-01-18 07:58 ./source/a/splitvt/splitvt-1.6.5.tar.gz
--rwxr-xr-x 1 root root 2281 2009-05-19 20:05 ./source/a/splitvt/splitvt.SlackBuild
--rw-r--r-- 1 root root 10403 2005-07-19 22:17 ./source/a/splitvt/splitvt_1.6.5-9.diff.gz
-drwxr-xr-x 2 root root 4096 2009-05-19 20:05 ./source/a/sysfsutils
--rw-r--r-- 1 root root 1005 2006-08-03 23:45 ./source/a/sysfsutils/slack-desc
--rw-r--r-- 1 root root 288189 2006-12-12 01:33 ./source/a/sysfsutils/sysfsutils-2.1.0.tar.bz2
--rwxr-xr-x 1 root root 3195 2009-05-19 20:05 ./source/a/sysfsutils/sysfsutils.SlackBuild
-drwxr-xr-x 2 root root 4096 2009-05-19 20:05 ./source/a/sysklogd
--rw-r--r-- 1 root root 2289 2007-04-09 23:11 ./source/a/sysklogd/_sysklogd.tar.gz
--rw-r--r-- 1 root root 916 2002-03-23 22:05 ./source/a/sysklogd/slack-desc
--rw-r--r-- 1 root root 862 2007-04-09 23:25 ./source/a/sysklogd/sysklogd-1.4.1-owl-syslogd-crunch_list.diff.gz
--rw-r--r-- 1 root root 1197 2001-03-11 21:33 ./source/a/sysklogd/sysklogd-1.4.1.lsm
--rw-r--r-- 1 root root 81784 2001-03-11 21:33 ./source/a/sysklogd/sysklogd-1.4.1.tar.gz
--rwxr-xr-x 1 root root 2850 2009-05-19 20:05 ./source/a/sysklogd/sysklogd.SlackBuild
--rw-r--r-- 1 root root 26587 2006-09-28 21:52 ./source/a/sysklogd/sysklogd_1.4.1-20.diff.gz
-drwxr-xr-x 2 root root 4096 2009-05-19 20:05 ./source/a/syslinux
--rw-r--r-- 1 root root 977 2002-03-22 08:06 ./source/a/syslinux/slack-desc
--rw-r--r-- 1 root root 1691659 2007-09-25 23:37 ./source/a/syslinux/syslinux-3.52.tar.bz2
--rw-r--r-- 1 root root 248 2007-09-25 23:37 ./source/a/syslinux/syslinux-3.52.tar.bz2.sign
--rwxr-xr-x 1 root root 2829 2009-05-19 20:05 ./source/a/syslinux/syslinux.SlackBuild
-drwxr-xr-x 2 root root 4096 2009-05-19 20:05 ./source/a/sysvinit
-drwxr-xr-x 2 root root 4096 2009-05-19 20:05 ./source/a/sysvinit-functions
--rw-r--r-- 1 root root 832 2007-04-29 18:51 ./source/a/sysvinit-functions/README.functions
--rw-r--r-- 1 root root 226 2007-05-15 02:38 ./source/a/sysvinit-functions/doinst.sh.gz
--rw-r--r-- 1 root root 10001 2007-04-29 18:21 ./source/a/sysvinit-functions/function-src-8.53.tar.bz2
--rw-r--r-- 1 root root 13913 2006-10-26 20:57 ./source/a/sysvinit-functions/functions
--rw-r--r-- 1 root root 1164 2007-05-15 02:46 ./source/a/sysvinit-functions/slack-desc
--rwxr-xr-x 1 root root 3054 2009-05-19 20:05 ./source/a/sysvinit-functions/sysvinit-functions.SlackBuild
-drwxr-xr-x 3 root root 4096 2009-05-19 20:05 ./source/a/sysvinit-scripts
--rw-r--r-- 1 root root 339 2008-03-19 08:28 ./source/a/sysvinit-scripts/doinst.sh.gz
-drwxr-xr-x 2 root root 4096 2008-03-31 03:07 ./source/a/sysvinit-scripts/scripts
--rw-r--r-- 1 root root 60 2006-08-01 03:00 ./source/a/sysvinit-scripts/scripts/fetch-rescan-scsi-bus.sh
--rw-r--r-- 1 root root 2467 2006-07-26 23:41 ./source/a/sysvinit-scripts/scripts/inittab
--rw-r--r-- 1 root root 1282 2007-03-27 01:12 ./source/a/sysvinit-scripts/scripts/rc.4
--rw-r--r-- 1 root root 7453 2008-12-02 20:32 ./source/a/sysvinit-scripts/scripts/rc.6
--rw-r--r-- 1 root root 2425 2008-12-02 20:31 ./source/a/sysvinit-scripts/scripts/rc.K
--rw-r--r-- 1 root root 10906 2009-04-25 22:01 ./source/a/sysvinit-scripts/scripts/rc.M
--rw-r--r-- 1 root root 14253 2009-04-22 02:48 ./source/a/sysvinit-scripts/scripts/rc.S
--rw-r--r-- 1 root root 272 2006-08-12 02:07 ./source/a/sysvinit-scripts/scripts/rc.local
--rw-r--r-- 1 root root 1740 1999-09-11 20:48 ./source/a/sysvinit-scripts/scripts/rc.sysvinit
--rw-r--r-- 1 root root 15654 2008-10-29 10:07 ./source/a/sysvinit-scripts/scripts/rescan-scsi-bus.sh
--rw-r--r-- 1 root root 846 2007-05-15 02:47 ./source/a/sysvinit-scripts/slack-desc
--rwxr-xr-x 1 root root 2177 2009-07-18 01:39 ./source/a/sysvinit-scripts/sysvinit-scripts.SlackBuild
--rw-r--r-- 1 root root 681 2007-04-16 19:42 ./source/a/sysvinit/doinst.sh.gz
--rw-r--r-- 1 root root 972 2002-03-22 05:59 ./source/a/sysvinit/slack-desc
--rw-r--r-- 1 root root 489 2008-09-22 09:55 ./source/a/sysvinit/sysvinit-2.86-timeval.patch.gz
--rw-r--r-- 1 root root 99009 2006-12-08 20:10 ./source/a/sysvinit/sysvinit-2.86.tar.gz
--rwxr-xr-x 1 root root 3836 2009-05-19 20:05 ./source/a/sysvinit/sysvinit.SlackBuild
--rw-r--r-- 1 root root 1729 2008-04-03 02:33 ./source/a/sysvinit/sysvinit.diff.gz
--rw-r--r-- 1 root root 1107 2005-12-19 21:12 ./source/a/sysvinit/sysvinit.pidof.rhforkseverything.diff.gz
-drwxr-xr-x 2 root root 4096 2009-05-19 20:05 ./source/a/tar
--rw-r--r-- 1 root root 2429 1995-01-07 08:18 ./source/a/tar/rmt.8.gz
--rw-r--r-- 1 root root 834 2002-03-23 22:06 ./source/a/tar/slack-desc
--rw-r--r-- 1 root root 949 2006-11-30 21:52 ./source/a/tar/tar-1.13.bzip2.diff.gz
--rw-r--r-- 1 root root 1052531 1999-07-08 05:50 ./source/a/tar/tar-1.13.tar.gz
--rw-r--r-- 1 root root 218 2009-05-06 21:08 ./source/a/tar/tar-1.22-support_txz.diff.gz
--rw-r--r-- 1 root root 2094575 2009-03-05 07:46 ./source/a/tar/tar-1.22.tar.bz2
--rw-r--r-- 1 root root 2676 2002-02-22 03:24 ./source/a/tar/tar.1.gz
--rwxr-xr-x 1 root root 4539 2009-05-19 20:05 ./source/a/tar/tar.SlackBuild
--rw-r--r-- 1 root root 498 2004-06-06 20:15 ./source/a/tar/tar.nolonezero.diff.gz
--rw-r--r-- 1 root root 312 2009-03-10 01:18 ./source/a/tar/tar.norecordsizespam.diff.gz
-drwxr-xr-x 2 root root 4096 2009-05-19 20:05 ./source/a/tcsh
--rw-r--r-- 1 root root 146 1995-08-06 23:12 ./source/a/tcsh/doinst.sh.gz
--rw-r--r-- 1 root root 886 2002-03-23 22:06 ./source/a/tcsh/slack-desc
--rw-r--r-- 1 root root 727440 2007-03-03 20:08 ./source/a/tcsh/tcsh-6.15.00.tar.bz2
--rwxr-xr-x 1 root root 3004 2009-05-19 20:05 ./source/a/tcsh/tcsh.SlackBuild
--rw-r--r-- 1 root root 202 2006-02-09 20:33 ./source/a/tcsh/tcsh.nobuiltincolorls.diff.gz
-drwxr-xr-x 2 root root 4096 2009-05-19 20:05 ./source/a/time
--rw-r--r-- 1 root root 887 2008-02-11 03:44 ./source/a/time/slack-desc
--rw-r--r-- 1 root root 103066 1996-07-11 15:08 ./source/a/time/time-1.7.tar.gz
--rwxr-xr-x 1 root root 2263 2009-05-19 20:05 ./source/a/time/time.SlackBuild
-drwxr-xr-x 2 root root 4096 2009-05-19 20:05 ./source/a/tree
--rw-r--r-- 1 root root 873 2006-12-23 06:19 ./source/a/tree/slack-desc
--rw-r--r-- 1 root root 31732 2009-01-22 15:17 ./source/a/tree/tree-1.5.2.2.tar.bz2
--rwxr-xr-x 1 root root 2260 2009-05-19 20:05 ./source/a/tree/tree.SlackBuild
-drwxr-xr-x 3 root root 4096 2009-05-19 20:05 ./source/a/udev
-drwxr-xr-x 6 root root 4096 2008-12-01 02:00 ./source/a/udev/config
-drwxr-xr-x 2 root root 4096 2009-07-15 03:58 ./source/a/udev/config/modprobe.d
--rw-r--r-- 1 root root 6251 2009-07-15 02:38 ./source/a/udev/config/modprobe.d/blacklist.conf.new
--rw-r--r-- 1 root root 443 2009-04-20 23:01 ./source/a/udev/config/modprobe.d/isapnp.conf.new
--rw-r--r-- 1 root root 265 2009-07-15 03:54 ./source/a/udev/config/modprobe.d/psmouse.conf.new
--rw-r--r-- 1 root root 244 2008-12-01 02:00 ./source/a/udev/config/modprobe.d/usb-controller.conf.new
-drwxr-xr-x 2 root root 4096 2008-12-01 02:59 ./source/a/udev/config/rc.d
--rw-r--r-- 1 root root 4231 2009-04-22 02:01 ./source/a/udev/config/rc.d/rc.udev.new
-drwxr-xr-x 2 root root 4096 2008-08-31 06:31 ./source/a/udev/config/rules.d
--rw-r--r-- 1 root root 444 2008-12-03 23:46 ./source/a/udev/config/rules.d/40-slackware.rules
--rw-r--r-- 1 root root 1828 2009-04-22 02:06 ./source/a/udev/config/rules.d/65-permissions.rules
--rw-r--r-- 1 root root 305 2007-10-15 19:09 ./source/a/udev/config/rules.d/90-network.rules
-drwxr-xr-x 2 root root 4096 2008-08-30 22:16 ./source/a/udev/config/scripts
--rwxr-xr-x 1 root root 1978 2007-09-22 22:06 ./source/a/udev/config/scripts/nethelper.sh
--rw-r--r-- 1 root root 485 2008-08-31 03:46 ./source/a/udev/config/udev.conf
--rw-r--r-- 1 root root 555 2009-07-15 03:52 ./source/a/udev/doinst.sh.gz
--rw-r--r-- 1 root root 758 2007-08-22 23:19 ./source/a/udev/rule_generator.diff.gz
--rw-r--r-- 1 root root 825 2009-04-20 23:01 ./source/a/udev/slack-desc
--rw-r--r-- 1 root root 448373 2009-04-09 12:53 ./source/a/udev/udev-141.tar.bz2
--rw-r--r-- 1 root root 248 2009-04-08 23:38 ./source/a/udev/udev-141.tar.bz2.sign
--rw-r--r-- 1 root root 455 2008-10-09 12:40 ./source/a/udev/udev-fixed-devices.tar.gz
--rwxr-xr-x 1 root root 4370 2009-07-15 02:42 ./source/a/udev/udev.SlackBuild
-drwxr-xr-x 2 root root 4096 2009-05-19 20:05 ./source/a/unarj
--rw-r--r-- 1 root root 269 2006-12-23 05:36 ./source/a/unarj/Makefile.gz
--rw-r--r-- 1 root root 848 2006-12-23 05:29 ./source/a/unarj/slack-desc
--rwxr-xr-x 1 root root 1993 2009-05-19 20:05 ./source/a/unarj/unarj.SlackBuild
--rw-r--r-- 1 root root 23151 2002-06-05 05:00 ./source/a/unarj/unarj265.tar.gz
-drwxr-xr-x 2 root root 4096 2009-08-13 02:53 ./source/a/usbutils
--rw-r--r-- 1 root root 781 2009-05-30 01:47 ./source/a/usbutils/slack-desc
--rw-r--r-- 1 root root 218443 2009-05-06 22:22 ./source/a/usbutils/usbutils-0.82.tar.bz2
--rwxr-xr-x 1 root root 3735 2009-08-13 02:56 ./source/a/usbutils/usbutils.SlackBuild
--rw-r--r-- 1 root root 220 2009-05-30 01:47 ./source/a/usbutils/usbutils.ids.dest.gz
-drwxr-xr-x 2 root root 4096 2009-05-19 20:05 ./source/a/utempter
--rw-r--r-- 1 root root 230 2006-12-12 23:47 ./source/a/utempter/doinst.sh.gz
--rw-r--r-- 1 root root 14583 2005-12-11 13:16 ./source/a/utempter/libutempter-1.1.4.tar.bz2
--rw-r--r-- 1 root root 189 2005-12-12 12:56 ./source/a/utempter/libutempter-1.1.4.tar.bz2.asc
--rw-r--r-- 1 root root 809 2003-06-08 01:36 ./source/a/utempter/slack-desc
--rwxr-xr-x 1 root root 2843 2009-05-19 20:05 ./source/a/utempter/utempter.SlackBuild
-drwxr-xr-x 2 root root 4096 2009-05-23 00:42 ./source/a/util-linux-ng
--rw-r--r-- 1 root root 43150 2007-10-07 02:17 ./source/a/util-linux-ng/adjtimex_1.23-1.diff.gz
--rw-r--r-- 1 root root 56580 2007-10-07 02:17 ./source/a/util-linux-ng/adjtimex_1.23.orig.tar.gz
--rw-r--r-- 1 root root 4513 2008-03-17 05:37 ./source/a/util-linux-ng/bsdstrings.tar.gz
--rw-r--r-- 1 root root 337 2008-03-17 05:47 ./source/a/util-linux-ng/doinst.sh.gz
--rw-r--r-- 1 root root 198520 2001-04-15 14:21 ./source/a/util-linux-ng/net-tools-1.60.tar.bz2
--rw-r--r-- 1 root root 650 2001-03-22 05:23 ./source/a/util-linux-ng/net-tools.diff.gz
--rw-r--r-- 1 root root 173444 2007-12-02 05:47 ./source/a/util-linux-ng/net-tools_1.60-19.diff.gz
--rw-r--r-- 1 root root 1266 2009-02-09 22:33 ./source/a/util-linux-ng/scsi_ioctl.h
--rw-r--r-- 1 root root 52437 2008-03-17 05:37 ./source/a/util-linux-ng/setserial-2.17.tar.gz
--rw-r--r-- 1 root root 729 2008-03-17 05:37 ./source/a/util-linux-ng/setserial-rc.serial.diff.gz
--rw-r--r-- 1 root root 904 2008-03-17 04:45 ./source/a/util-linux-ng/slack-desc
--rw-r--r-- 1 root root 2956769 2009-02-09 17:06 ./source/a/util-linux-ng/util-linux-ng-2.14.2.tar.bz2
--rwxr-xr-x 1 root root 8503 2009-05-23 00:42 ./source/a/util-linux-ng/util-linux-ng.SlackBuild
--rw-r--r-- 1 root root 266 2008-03-31 19:54 ./source/a/util-linux-ng/util-linux-ng.fdisk-no-solaris.diff.gz
--rw-r--r-- 1 root root 11130 2008-03-17 05:37 ./source/a/util-linux-ng/ziptool-1.4.0.tar.bz2
--rw-r--r-- 1 root root 386 2009-02-09 22:34 ./source/a/util-linux-ng/ziptool-fix_build.patch.gz
-drwxr-xr-x 2 root root 4096 2009-05-19 20:05 ./source/a/which
--rw-r--r-- 1 root root 1038 2006-12-14 02:00 ./source/a/which/slack-desc
--rw-r--r-- 1 root root 135372 2008-08-06 15:21 ./source/a/which/which-2.20.tar.gz
--rw-r--r-- 1 root root 152 2008-08-06 15:21 ./source/a/which/which-2.20.tar.gz.sig
--rwxr-xr-x 1 root root 2806 2009-05-19 20:05 ./source/a/which/which.SlackBuild
-drwxr-xr-x 2 root root 4096 2009-06-16 06:30 ./source/a/xfsprogs
--rw-r--r-- 1 root root 954 2006-02-21 05:35 ./source/a/xfsprogs/slack-desc
--rw-r--r-- 1 root root 840452 2009-05-05 17:29 ./source/a/xfsprogs/xfsprogs-3.0.1.tar.xz
--rwxr-xr-x 1 root root 3487 2009-06-13 04:32 ./source/a/xfsprogs/xfsprogs.SlackBuild
-drwxr-xr-x 2 root root 4096 2009-05-19 20:05 ./source/a/xz
--rw-r--r-- 1 root root 952 2009-04-08 00:19 ./source/a/xz/slack-desc
--rw-r--r-- 1 root root 666579 2009-03-23 02:00 ./source/a/xz/xz-4.999.8beta.tar.bz2
--rwxr-xr-x 1 root root 4125 2009-05-19 20:05 ./source/a/xz/xz.SlackBuild
-drwxr-xr-x 2 root root 4096 2009-05-19 20:05 ./source/a/zoo
--rw-r--r-- 1 root root 996 2006-12-14 01:08 ./source/a/zoo/slack-desc
--rw-r--r-- 1 root root 173607 1994-12-30 20:19 ./source/a/zoo/zoo-2.10.tar.gz
--rwxr-xr-x 1 root root 2565 2009-05-19 20:05 ./source/a/zoo/zoo.SlackBuild
--rw-r--r-- 1 root root 12333 2006-05-29 21:19 ./source/a/zoo/zoo_2.10-18.diff.gz
-drwxr-xr-x 70 root root 4096 2009-08-22 05:44 ./source/ap
-drwxr-xr-x 2 root root 4096 2009-05-23 00:41 ./source/ap/a2ps
--rw-r--r-- 1 root root 1814364 2007-12-29 03:53 ./source/ap/a2ps/a2ps-4.14.tar.bz2
--rwxr-xr-x 1 root root 4858 2009-05-23 00:41 ./source/ap/a2ps/a2ps.SlackBuild
--rw-r--r-- 1 root root 298 2009-03-31 01:11 ./source/ap/a2ps/a2ps.a2ps_cfg.in.diff.gz
--rw-r--r-- 1 root root 249 2001-01-19 05:15 ./source/ap/a2ps/a2ps.diff.gz
--rw-r--r-- 1 root root 62039 1997-08-28 13:11 ./source/ap/a2ps/psutils-1.17.tar.gz
--rw-r--r-- 1 root root 574 2009-03-04 01:22 ./source/ap/a2ps/psutils.destdir.diff.gz
--rw-r--r-- 1 root root 471 2001-01-19 04:54 ./source/ap/a2ps/psutils.diff.gz
--rw-r--r-- 1 root root 900 2002-03-29 03:05 ./source/ap/a2ps/slack-desc
-drwxr-xr-x 2 root root 4096 2009-05-19 20:05 ./source/ap/acct
--rw-r--r-- 1 root root 23954 2008-03-08 08:47 ./source/ap/acct/acct-6.4pre1-6.diff.gz
--rw-r--r-- 1 root root 261410 2006-11-04 12:47 ./source/ap/acct/acct-6.4pre1.tar.bz2
--rwxr-xr-x 1 root root 4051 2009-05-19 20:05 ./source/ap/acct/acct.SlackBuild
--rw-r--r-- 1 root root 309 2008-11-12 18:52 ./source/ap/acct/acct.logdir.fhs.diff.gz
--rw-r--r-- 1 root root 1054 2008-11-12 20:20 ./source/ap/acct/slack-desc
-drwxr-xr-x 2 root root 4096 2009-05-23 00:41 ./source/ap/alsa-utils
--rw-r--r-- 1 root root 1039779 2008-10-29 12:51 ./source/ap/alsa-utils/alsa-utils-1.0.18.tar.bz2
--rwxr-xr-x 1 root root 3220 2009-05-23 00:41 ./source/ap/alsa-utils/alsa-utils.SlackBuild
--rw-r--r-- 1 root root 899 2007-06-06 00:01 ./source/ap/alsa-utils/alsa-utils.alsaconf.diff.gz
--rw-r--r-- 1 root root 1090 2008-12-03 01:49 ./source/ap/alsa-utils/rc.alsa.gz
--rw-r--r-- 1 root root 1086 2003-08-29 06:09 ./source/ap/alsa-utils/slack-desc
-drwxr-xr-x 2 root root 4096 2009-05-19 20:05 ./source/ap/amp
--rw-r--r-- 1 root root 236 2002-02-24 19:46 ./source/ap/amp/_amp.tar.gz
--rw-r--r-- 1 root root 100337 1999-03-17 18:11 ./source/ap/amp/amp-0.7.6.tar.gz
--rw-r--r-- 1 root root 239 2008-10-01 07:38 ./source/ap/amp/amp-gcc34.diff.gz
--rwxr-xr-x 1 root root 2004 2009-05-19 20:05 ./source/ap/amp/amp.SlackBuild
--rw-r--r-- 1 root root 1514 1999-03-17 18:33 ./source/ap/amp/license_excerpts
+-rw-r--r-- 1 root root 197 2009-06-03 05:31 ./slackware64/x/libXdamage-1.1.1-x86_64-2.txz.asc
+-rw-r--r-- 1 root root 296 2009-06-03 05:31 ./slackware64/x/libXdmcp-1.0.2-x86_64-2.txt
+-rw-r--r-- 1 root root 9884 2009-06-03 05:31 ./slackware64/x/libXdmcp-1.0.2-x86_64-2.txz
+-rw-r--r-- 1 root root 197 2009-06-03 05:31 ./slackware64/x/libXdmcp-1.0.2-x86_64-2.txz.asc
+-rw-r--r-- 1 root root 296 2009-06-03 05:31 ./slackware64/x/libXevie-1.0.2-x86_64-2.txt
+-rw-r--r-- 1 root root 5852 2009-06-03 05:31 ./slackware64/x/libXevie-1.0.2-x86_64-2.txz
+-rw-r--r-- 1 root root 197 2009-06-03 05:31 ./slackware64/x/libXevie-1.0.2-x86_64-2.txz.asc
+-rw-r--r-- 1 root root 283 2009-06-03 05:31 ./slackware64/x/libXext-1.0.5-x86_64-1.txt
+-rw-r--r-- 1 root root 71068 2009-06-03 05:31 ./slackware64/x/libXext-1.0.5-x86_64-1.txz
+-rw-r--r-- 1 root root 197 2009-06-03 05:31 ./slackware64/x/libXext-1.0.5-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 309 2009-06-03 05:31 ./slackware64/x/libXfixes-4.0.3-x86_64-2.txt
+-rw-r--r-- 1 root root 10712 2009-06-03 05:31 ./slackware64/x/libXfixes-4.0.3-x86_64-2.txz
+-rw-r--r-- 1 root root 197 2009-06-03 05:31 ./slackware64/x/libXfixes-4.0.3-x86_64-2.txz.asc
+-rw-r--r-- 1 root root 296 2009-06-03 05:32 ./slackware64/x/libXfont-1.4.0-x86_64-1.txt
+-rw-r--r-- 1 root root 117940 2009-06-03 05:32 ./slackware64/x/libXfont-1.4.0-x86_64-1.txz
+-rw-r--r-- 1 root root 197 2009-06-03 05:32 ./slackware64/x/libXfont-1.4.0-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 361 2009-06-03 05:32 ./slackware64/x/libXfontcache-1.0.4-x86_64-2.txt
+-rw-r--r-- 1 root root 5636 2009-06-03 05:32 ./slackware64/x/libXfontcache-1.0.4-x86_64-2.txz
+-rw-r--r-- 1 root root 197 2009-06-03 05:32 ./slackware64/x/libXfontcache-1.0.4-x86_64-2.txz.asc
+-rw-r--r-- 1 root root 270 2009-06-03 05:32 ./slackware64/x/libXft-2.1.13-x86_64-2.txt
+-rw-r--r-- 1 root root 45100 2009-06-03 05:32 ./slackware64/x/libXft-2.1.13-x86_64-2.txz
+-rw-r--r-- 1 root root 197 2009-06-03 05:32 ./slackware64/x/libXft-2.1.13-x86_64-2.txz.asc
+-rw-r--r-- 1 root root 257 2009-06-03 05:32 ./slackware64/x/libXi-1.2.1-x86_64-1.txt
+-rw-r--r-- 1 root root 60916 2009-06-03 05:32 ./slackware64/x/libXi-1.2.1-x86_64-1.txz
+-rw-r--r-- 1 root root 197 2009-06-03 05:32 ./slackware64/x/libXi-1.2.1-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 335 2009-06-03 05:32 ./slackware64/x/libXinerama-1.0.3-x86_64-2.txt
+-rw-r--r-- 1 root root 6396 2009-06-03 05:32 ./slackware64/x/libXinerama-1.0.3-x86_64-2.txz
+-rw-r--r-- 1 root root 197 2009-06-03 05:32 ./slackware64/x/libXinerama-1.0.3-x86_64-2.txz.asc
+-rw-r--r-- 1 root root 270 2009-06-03 05:32 ./slackware64/x/libXmu-1.0.4-x86_64-2.txt
+-rw-r--r-- 1 root root 53032 2009-06-03 05:32 ./slackware64/x/libXmu-1.0.4-x86_64-2.txz
+-rw-r--r-- 1 root root 197 2009-06-03 05:32 ./slackware64/x/libXmu-1.0.4-x86_64-2.txz.asc
+-rw-r--r-- 1 root root 257 2009-06-03 05:33 ./slackware64/x/libXp-1.0.0-x86_64-2.txt
+-rw-r--r-- 1 root root 77220 2009-06-03 05:33 ./slackware64/x/libXp-1.0.0-x86_64-2.txz
+-rw-r--r-- 1 root root 197 2009-06-03 05:33 ./slackware64/x/libXp-1.0.0-x86_64-2.txz.asc
+-rw-r--r-- 1 root root 270 2009-06-03 05:33 ./slackware64/x/libXpm-3.5.7-x86_64-2.txt
+-rw-r--r-- 1 root root 46672 2009-06-03 05:33 ./slackware64/x/libXpm-3.5.7-x86_64-2.txz
+-rw-r--r-- 1 root root 197 2009-06-03 05:33 ./slackware64/x/libXpm-3.5.7-x86_64-2.txz.asc
+-rw-r--r-- 1 root root 400 2009-06-03 05:33 ./slackware64/x/libXprintAppUtil-1.0.1-x86_64-2.txt
+-rw-r--r-- 1 root root 7672 2009-06-03 05:33 ./slackware64/x/libXprintAppUtil-1.0.1-x86_64-2.txz
+-rw-r--r-- 1 root root 197 2009-06-03 05:33 ./slackware64/x/libXprintAppUtil-1.0.1-x86_64-2.txz.asc
+-rw-r--r-- 1 root root 361 2009-06-03 05:33 ./slackware64/x/libXprintUtil-1.0.1-x86_64-2.txt
+-rw-r--r-- 1 root root 15644 2009-06-03 05:33 ./slackware64/x/libXprintUtil-1.0.1-x86_64-2.txz
+-rw-r--r-- 1 root root 197 2009-06-03 05:33 ./slackware64/x/libXprintUtil-1.0.1-x86_64-2.txz.asc
+-rw-r--r-- 1 root root 309 2009-06-03 05:33 ./slackware64/x/libXrandr-1.3.0-x86_64-1.txt
+-rw-r--r-- 1 root root 20872 2009-06-03 05:33 ./slackware64/x/libXrandr-1.3.0-x86_64-1.txz
+-rw-r--r-- 1 root root 197 2009-06-03 05:33 ./slackware64/x/libXrandr-1.3.0-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 322 2009-06-03 05:33 ./slackware64/x/libXrender-0.9.4-x86_64-2.txt
+-rw-r--r-- 1 root root 17612 2009-06-03 05:33 ./slackware64/x/libXrender-0.9.4-x86_64-2.txz
+-rw-r--r-- 1 root root 197 2009-06-03 05:33 ./slackware64/x/libXrender-0.9.4-x86_64-2.txz.asc
+-rw-r--r-- 1 root root 283 2009-06-03 05:33 ./slackware64/x/libXres-1.0.3-x86_64-2.txt
+-rw-r--r-- 1 root root 6436 2009-06-03 05:33 ./slackware64/x/libXres-1.0.3-x86_64-2.txz
+-rw-r--r-- 1 root root 197 2009-06-03 05:33 ./slackware64/x/libXres-1.0.3-x86_64-2.txz.asc
+-rw-r--r-- 1 root root 257 2009-07-16 22:28 ./slackware64/x/libXt-1.0.6-x86_64-1.txt
+-rw-r--r-- 1 root root 418692 2009-07-16 22:28 ./slackware64/x/libXt-1.0.6-x86_64-1.txz
+-rw-r--r-- 1 root root 197 2009-07-16 22:28 ./slackware64/x/libXt-1.0.6-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 283 2009-06-03 05:34 ./slackware64/x/libXtst-1.0.3-x86_64-2.txt
+-rw-r--r-- 1 root root 12320 2009-06-03 05:34 ./slackware64/x/libXtst-1.0.3-x86_64-2.txz
+-rw-r--r-- 1 root root 197 2009-06-03 05:34 ./slackware64/x/libXtst-1.0.3-x86_64-2.txz.asc
+-rw-r--r-- 1 root root 257 2009-06-03 05:34 ./slackware64/x/libXv-1.0.4-x86_64-2.txt
+-rw-r--r-- 1 root root 26028 2009-06-03 05:34 ./slackware64/x/libXv-1.0.4-x86_64-2.txz
+-rw-r--r-- 1 root root 197 2009-06-03 05:34 ./slackware64/x/libXv-1.0.4-x86_64-2.txz.asc
+-rw-r--r-- 1 root root 283 2009-06-03 05:34 ./slackware64/x/libXvMC-1.0.4-x86_64-2.txt
+-rw-r--r-- 1 root root 11224 2009-06-03 05:34 ./slackware64/x/libXvMC-1.0.4-x86_64-2.txz
+-rw-r--r-- 1 root root 197 2009-06-03 05:34 ./slackware64/x/libXvMC-1.0.4-x86_64-2.txz.asc
+-rw-r--r-- 1 root root 335 2009-06-03 05:35 ./slackware64/x/libXxf86dga-1.0.2-x86_64-2.txt
+-rw-r--r-- 1 root root 14092 2009-06-03 05:35 ./slackware64/x/libXxf86dga-1.0.2-x86_64-2.txz
+-rw-r--r-- 1 root root 197 2009-06-03 05:35 ./slackware64/x/libXxf86dga-1.0.2-x86_64-2.txz.asc
+-rw-r--r-- 1 root root 348 2009-06-03 05:35 ./slackware64/x/libXxf86misc-1.0.1-x86_64-2.txt
+-rw-r--r-- 1 root root 7904 2009-06-03 05:35 ./slackware64/x/libXxf86misc-1.0.1-x86_64-2.txz
+-rw-r--r-- 1 root root 197 2009-06-03 05:35 ./slackware64/x/libXxf86misc-1.0.1-x86_64-2.txz.asc
+-rw-r--r-- 1 root root 322 2009-06-03 05:35 ./slackware64/x/libXxf86vm-1.0.2-x86_64-2.txt
+-rw-r--r-- 1 root root 11748 2009-06-03 05:35 ./slackware64/x/libXxf86vm-1.0.2-x86_64-2.txz
+-rw-r--r-- 1 root root 197 2009-06-03 05:35 ./slackware64/x/libXxf86vm-1.0.2-x86_64-2.txz.asc
+-rw-r--r-- 1 root root 270 2009-06-03 05:35 ./slackware64/x/libdmx-1.0.2-x86_64-2.txt
+-rw-r--r-- 1 root root 30944 2009-06-03 05:35 ./slackware64/x/libdmx-1.0.2-x86_64-2.txz
+-rw-r--r-- 1 root root 197 2009-06-03 05:35 ./slackware64/x/libdmx-1.0.2-x86_64-2.txz.asc
+-rw-r--r-- 1 root root 260 2009-08-04 00:30 ./slackware64/x/libdrm-2.4.12-x86_64-1.txt
+-rw-r--r-- 1 root root 89912 2009-08-04 00:30 ./slackware64/x/libdrm-2.4.12-x86_64-1.txz
+-rw-r--r-- 1 root root 197 2009-08-04 00:30 ./slackware64/x/libdrm-2.4.12-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 581 2008-11-06 15:32 ./slackware64/x/liberation-fonts-ttf-1.04-noarch-1.txt
+-rw-r--r-- 1 root root 683360 2008-11-06 15:32 ./slackware64/x/liberation-fonts-ttf-1.04-noarch-1.txz
+-rw-r--r-- 1 root root 197 2008-11-06 15:32 ./slackware64/x/liberation-fonts-ttf-1.04-noarch-1.txz.asc
+-rw-r--r-- 1 root root 322 2009-06-03 05:35 ./slackware64/x/libfontenc-1.0.4-x86_64-2.txt
+-rw-r--r-- 1 root root 12980 2009-06-03 05:35 ./slackware64/x/libfontenc-1.0.4-x86_64-2.txz
+-rw-r--r-- 1 root root 197 2009-06-03 05:35 ./slackware64/x/libfontenc-1.0.4-x86_64-2.txz.asc
+-rw-r--r-- 1 root root 381 2008-11-05 14:32 ./slackware64/x/libhangul-0.0.7-x86_64-1.txt
+-rw-r--r-- 1 root root 1857876 2008-11-05 14:32 ./slackware64/x/libhangul-0.0.7-x86_64-1.txz
+-rw-r--r-- 1 root root 197 2008-11-05 14:32 ./slackware64/x/libhangul-0.0.7-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 322 2009-06-03 05:35 ./slackware64/x/liblbxutil-1.0.1-x86_64-2.txt
+-rw-r--r-- 1 root root 14760 2009-06-03 05:35 ./slackware64/x/liblbxutil-1.0.1-x86_64-2.txz
+-rw-r--r-- 1 root root 197 2009-06-03 05:35 ./slackware64/x/liblbxutil-1.0.1-x86_64-2.txz.asc
+-rw-r--r-- 1 root root 348 2009-06-03 05:35 ./slackware64/x/libpciaccess-0.10.6-x86_64-1.txt
+-rw-r--r-- 1 root root 13408 2009-06-03 05:35 ./slackware64/x/libpciaccess-0.10.6-x86_64-1.txz
+-rw-r--r-- 1 root root 197 2009-06-03 05:35 ./slackware64/x/libpciaccess-0.10.6-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 400 2009-06-03 05:35 ./slackware64/x/libpthread-stubs-0.1-noarch-2.txt
+-rw-r--r-- 1 root root 1844 2009-06-03 05:35 ./slackware64/x/libpthread-stubs-0.1-noarch-2.txz
+-rw-r--r-- 1 root root 197 2009-06-03 05:35 ./slackware64/x/libpthread-stubs-0.1-noarch-2.txz.asc
+-rw-r--r-- 1 root root 446 2009-06-03 05:27 ./slackware64/x/libxcb-1.3-x86_64-1.txt
+-rw-r--r-- 1 root root 217132 2009-06-03 05:27 ./slackware64/x/libxcb-1.3-x86_64-1.txz
+-rw-r--r-- 1 root root 197 2009-06-03 05:27 ./slackware64/x/libxcb-1.3-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 322 2009-06-03 05:36 ./slackware64/x/libxkbfile-1.0.5-x86_64-2.txt
+-rw-r--r-- 1 root root 64492 2009-06-03 05:36 ./slackware64/x/libxkbfile-1.0.5-x86_64-2.txz
+-rw-r--r-- 1 root root 197 2009-06-03 05:36 ./slackware64/x/libxkbfile-1.0.5-x86_64-2.txz.asc
+-rw-r--r-- 1 root root 296 2009-06-03 05:36 ./slackware64/x/libxkbui-1.0.2-x86_64-2.txt
+-rw-r--r-- 1 root root 8080 2009-06-03 05:36 ./slackware64/x/libxkbui-1.0.2-x86_64-2.txz
+-rw-r--r-- 1 root root 197 2009-06-03 05:36 ./slackware64/x/libxkbui-1.0.2-x86_64-2.txz.asc
+-rw-r--r-- 1 root root 283 2009-06-03 05:38 ./slackware64/x/listres-1.0.1-x86_64-2.txt
+-rw-r--r-- 1 root root 6272 2009-06-03 05:38 ./slackware64/x/listres-1.0.1-x86_64-2.txz
+-rw-r--r-- 1 root root 197 2009-06-03 05:38 ./slackware64/x/listres-1.0.1-x86_64-2.txz.asc
+-rw-r--r-- 1 root root 257 2009-06-03 05:26 ./slackware64/x/lndir-1.0.1-x86_64-2.txt
+-rw-r--r-- 1 root root 6580 2009-06-03 05:26 ./slackware64/x/lndir-1.0.1-x86_64-2.txz
+-rw-r--r-- 1 root root 197 2009-06-03 05:26 ./slackware64/x/lndir-1.0.1-x86_64-2.txz.asc
+-rw-r--r-- 1 root root 244 2009-06-03 05:38 ./slackware64/x/luit-1.0.3-x86_64-2.txt
+-rw-r--r-- 1 root root 18164 2009-06-03 05:38 ./slackware64/x/luit-1.0.3-x86_64-2.txz
+-rw-r--r-- 1 root root 197 2009-06-03 05:38 ./slackware64/x/luit-1.0.3-x86_64-2.txz.asc
+-rw-r--r-- 1 root root 416 2009-04-20 14:11 ./slackware64/x/m17n-lib-1.5.4-x86_64-1.txt
+-rw-r--r-- 1 root root 2163616 2009-04-20 14:11 ./slackware64/x/m17n-lib-1.5.4-x86_64-1.txz
+-rw-r--r-- 1 root root 197 2009-04-20 14:11 ./slackware64/x/m17n-lib-1.5.4-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 322 2009-06-03 05:26 ./slackware64/x/makedepend-1.0.1-x86_64-2.txt
+-rw-r--r-- 1 root root 17904 2009-06-03 05:26 ./slackware64/x/makedepend-1.0.1-x86_64-2.txz
+-rw-r--r-- 1 root root 197 2009-06-03 05:26 ./slackware64/x/makedepend-1.0.1-x86_64-2.txz.asc
+-rw-r--r-- 1 root root 24094 2009-08-04 17:39 ./slackware64/x/maketag
+-rw-r--r-- 1 root root 24094 2009-08-04 17:39 ./slackware64/x/maketag.ez
+-rw-r--r-- 1 root root 335 2009-08-04 00:32 ./slackware64/x/mesa-7.5-x86_64-1.txt
+-rw-r--r-- 1 root root 4099312 2009-08-04 00:32 ./slackware64/x/mesa-7.5-x86_64-1.txz
+-rw-r--r-- 1 root root 197 2009-08-04 00:32 ./slackware64/x/mesa-7.5-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 374 2009-06-03 05:38 ./slackware64/x/mkcomposecache-1.2-x86_64-2.txt
+-rw-r--r-- 1 root root 3800 2009-06-03 05:38 ./slackware64/x/mkcomposecache-1.2-x86_64-2.txz
+-rw-r--r-- 1 root root 197 2009-06-03 05:38 ./slackware64/x/mkcomposecache-1.2-x86_64-2.txz.asc
+-rw-r--r-- 1 root root 309 2009-06-03 05:38 ./slackware64/x/mkfontdir-1.0.4-noarch-2.txt
+-rw-r--r-- 1 root root 4136 2009-06-03 05:38 ./slackware64/x/mkfontdir-1.0.4-noarch-2.txz
+-rw-r--r-- 1 root root 197 2009-06-03 05:38 ./slackware64/x/mkfontdir-1.0.4-noarch-2.txz.asc
+-rw-r--r-- 1 root root 335 2009-06-03 05:38 ./slackware64/x/mkfontscale-1.0.6-x86_64-1.txt
+-rw-r--r-- 1 root root 14996 2009-06-03 05:38 ./slackware64/x/mkfontscale-1.0.6-x86_64-1.txz
+-rw-r--r-- 1 root root 197 2009-06-03 05:38 ./slackware64/x/mkfontscale-1.0.6-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 270 2009-06-03 05:38 ./slackware64/x/oclock-1.0.1-x86_64-2.txt
+-rw-r--r-- 1 root root 9056 2009-06-03 05:38 ./slackware64/x/oclock-1.0.1-x86_64-2.txz
+-rw-r--r-- 1 root root 197 2009-06-03 05:38 ./slackware64/x/oclock-1.0.1-x86_64-2.txz.asc
+-rw-r--r-- 1 root root 337 2009-08-04 00:35 ./slackware64/x/pixman-0.15.18-x86_64-1.txt
+-rw-r--r-- 1 root root 123344 2009-08-04 00:35 ./slackware64/x/pixman-0.15.18-x86_64-1.txz
+-rw-r--r-- 1 root root 197 2009-08-04 00:35 ./slackware64/x/pixman-0.15.18-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 322 2009-06-03 05:25 ./slackware64/x/printproto-1.0.4-noarch-2.txt
+-rw-r--r-- 1 root root 8176 2009-06-03 05:25 ./slackware64/x/printproto-1.0.4-noarch-2.txz
+-rw-r--r-- 1 root root 197 2009-06-03 05:25 ./slackware64/x/printproto-1.0.4-noarch-2.txz.asc
+-rw-r--r-- 1 root root 309 2009-06-03 05:38 ./slackware64/x/proxymngr-1.0.1-x86_64-2.txt
+-rw-r--r-- 1 root root 15644 2009-06-03 05:38 ./slackware64/x/proxymngr-1.0.1-x86_64-2.txz
+-rw-r--r-- 1 root root 197 2009-06-03 05:38 ./slackware64/x/proxymngr-1.0.1-x86_64-2.txz.asc
+-rw-r--r-- 1 root root 322 2009-06-03 05:25 ./slackware64/x/randrproto-1.3.0-noarch-1.txt
+-rw-r--r-- 1 root root 23408 2009-06-03 05:25 ./slackware64/x/randrproto-1.3.0-noarch-1.txz
+-rw-r--r-- 1 root root 197 2009-06-03 05:25 ./slackware64/x/randrproto-1.3.0-noarch-1.txz.asc
+-rw-r--r-- 1 root root 335 2009-06-03 05:25 ./slackware64/x/recordproto-1.13.2-noarch-2.txt
+-rw-r--r-- 1 root root 3956 2009-06-03 05:25 ./slackware64/x/recordproto-1.13.2-noarch-2.txz
+-rw-r--r-- 1 root root 197 2009-06-03 05:25 ./slackware64/x/recordproto-1.13.2-noarch-2.txz.asc
+-rw-r--r-- 1 root root 335 2009-06-03 05:38 ./slackware64/x/rendercheck-1.3-x86_64-2.txt
+-rw-r--r-- 1 root root 18748 2009-06-03 05:38 ./slackware64/x/rendercheck-1.3-x86_64-2.txz
+-rw-r--r-- 1 root root 197 2009-06-03 05:38 ./slackware64/x/rendercheck-1.3-x86_64-2.txz.asc
+-rw-r--r-- 1 root root 335 2009-08-04 00:35 ./slackware64/x/renderproto-0.11-noarch-1.txt
+-rw-r--r-- 1 root root 15320 2009-08-04 00:35 ./slackware64/x/renderproto-0.11-noarch-1.txz
+-rw-r--r-- 1 root root 197 2009-08-04 00:35 ./slackware64/x/renderproto-0.11-noarch-1.txz.asc
+-rw-r--r-- 1 root root 361 2009-06-03 05:25 ./slackware64/x/resourceproto-1.0.2-noarch-2.txt
+-rw-r--r-- 1 root root 1448 2009-06-03 05:25 ./slackware64/x/resourceproto-1.0.2-noarch-2.txz
+-rw-r--r-- 1 root root 197 2009-06-03 05:25 ./slackware64/x/resourceproto-1.0.2-noarch-2.txz.asc
+-rw-r--r-- 1 root root 231 2009-06-03 05:39 ./slackware64/x/rgb-1.0.3-x86_64-1.txt
+-rw-r--r-- 1 root root 7676 2009-06-03 05:39 ./slackware64/x/rgb-1.0.3-x86_64-1.txz
+-rw-r--r-- 1 root root 197 2009-06-03 05:39 ./slackware64/x/rgb-1.0.3-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 270 2009-08-04 00:52 ./slackware64/x/rstart-1.0.3-x86_64-1.txt
+-rw-r--r-- 1 root root 16596 2009-08-04 00:52 ./slackware64/x/rstart-1.0.3-x86_64-1.txz
+-rw-r--r-- 1 root root 197 2009-08-04 00:52 ./slackware64/x/rstart-1.0.3-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 403 2008-11-06 16:24 ./slackware64/x/sazanami-fonts-ttf-20040629-noarch-1.txt
+-rw-r--r-- 1 root root 5974804 2008-11-06 16:24 ./slackware64/x/sazanami-fonts-ttf-20040629-noarch-1.txz
+-rw-r--r-- 1 root root 197 2008-11-06 16:24 ./slackware64/x/sazanami-fonts-ttf-20040629-noarch-1.txz.asc
+-rw-r--r-- 1 root root 330 2009-06-09 00:28 ./slackware64/x/scim-1.4.9-x86_64-4.txt
+-rw-r--r-- 1 root root 1055072 2009-06-09 00:28 ./slackware64/x/scim-1.4.9-x86_64-4.txz
+-rw-r--r-- 1 root root 197 2009-06-09 00:28 ./slackware64/x/scim-1.4.9-x86_64-4.txz.asc
+-rw-r--r-- 1 root root 508 2009-06-10 01:43 ./slackware64/x/scim-anthy-1.2.4-x86_64-2.txt
+-rw-r--r-- 1 root root 250080 2009-06-10 01:43 ./slackware64/x/scim-anthy-1.2.4-x86_64-2.txz
+-rw-r--r-- 1 root root 197 2009-06-10 01:43 ./slackware64/x/scim-anthy-1.2.4-x86_64-2.txz.asc
+-rw-r--r-- 1 root root 505 2009-06-10 01:46 ./slackware64/x/scim-bridge-0.4.16-x86_64-4.txt
+-rw-r--r-- 1 root root 115348 2009-06-10 01:46 ./slackware64/x/scim-bridge-0.4.16-x86_64-4.txz
+-rw-r--r-- 1 root root 197 2009-06-10 01:46 ./slackware64/x/scim-bridge-0.4.16-x86_64-4.txz.asc
+-rw-r--r-- 1 root root 611 2009-06-10 01:52 ./slackware64/x/scim-hangul-0.3.2-x86_64-2.txt
+-rw-r--r-- 1 root root 44956 2009-06-10 01:52 ./slackware64/x/scim-hangul-0.3.2-x86_64-2.txz
+-rw-r--r-- 1 root root 197 2009-06-10 01:52 ./slackware64/x/scim-hangul-0.3.2-x86_64-2.txz.asc
+-rw-r--r-- 1 root root 356 2009-06-10 01:53 ./slackware64/x/scim-input-pad-0.1.2-x86_64-4.txt
+-rw-r--r-- 1 root root 69624 2009-06-10 01:53 ./slackware64/x/scim-input-pad-0.1.2-x86_64-4.txz
+-rw-r--r-- 1 root root 197 2009-06-10 01:53 ./slackware64/x/scim-input-pad-0.1.2-x86_64-4.txz.asc
+-rw-r--r-- 1 root root 402 2009-04-20 14:18 ./slackware64/x/scim-m17n-0.2.3-x86_64-1.txt
+-rw-r--r-- 1 root root 32356 2009-04-20 14:18 ./slackware64/x/scim-m17n-0.2.3-x86_64-1.txz
+-rw-r--r-- 1 root root 197 2009-04-20 14:18 ./slackware64/x/scim-m17n-0.2.3-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 386 2009-06-10 01:55 ./slackware64/x/scim-pinyin-0.5.91-x86_64-2.txt
+-rw-r--r-- 1 root root 1670432 2009-06-10 01:55 ./slackware64/x/scim-pinyin-0.5.91-x86_64-2.txz
+-rw-r--r-- 1 root root 197 2009-06-10 01:55 ./slackware64/x/scim-pinyin-0.5.91-x86_64-2.txz.asc
+-rw-r--r-- 1 root root 289 2009-06-10 01:56 ./slackware64/x/scim-tables-0.5.9-x86_64-3.txt
+-rw-r--r-- 1 root root 3977628 2009-06-10 01:56 ./slackware64/x/scim-tables-0.5.9-x86_64-3.txz
+-rw-r--r-- 1 root root 197 2009-06-10 01:56 ./slackware64/x/scim-tables-0.5.9-x86_64-3.txz.asc
+-rw-r--r-- 1 root root 283 2009-06-03 05:39 ./slackware64/x/scripts-1.0.1-noarch-2.txt
+-rw-r--r-- 1 root root 6628 2009-06-03 05:39 ./slackware64/x/scripts-1.0.1-noarch-2.txz
+-rw-r--r-- 1 root root 197 2009-06-03 05:39 ./slackware64/x/scripts-1.0.1-noarch-2.txz.asc
+-rw-r--r-- 1 root root 374 2009-06-03 05:25 ./slackware64/x/scrnsaverproto-1.1.0-noarch-2.txt
+-rw-r--r-- 1 root root 3344 2009-06-03 05:25 ./slackware64/x/scrnsaverproto-1.1.0-noarch-2.txz
+-rw-r--r-- 1 root root 197 2009-06-03 05:25 ./slackware64/x/scrnsaverproto-1.1.0-noarch-2.txz.asc
+-rw-r--r-- 1 root root 283 2009-06-03 05:39 ./slackware64/x/sessreg-1.0.4-x86_64-1.txt
+-rw-r--r-- 1 root root 6516 2009-06-03 05:39 ./slackware64/x/sessreg-1.0.4-x86_64-1.txz
+-rw-r--r-- 1 root root 197 2009-06-03 05:39 ./slackware64/x/sessreg-1.0.4-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 309 2009-08-04 00:35 ./slackware64/x/setxkbmap-1.1.0-x86_64-1.txt
+-rw-r--r-- 1 root root 10400 2009-08-04 00:35 ./slackware64/x/setxkbmap-1.1.0-x86_64-1.txz
+-rw-r--r-- 1 root root 197 2009-08-04 00:35 ./slackware64/x/setxkbmap-1.1.0-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 296 2009-06-03 05:39 ./slackware64/x/showfont-1.0.2-x86_64-1.txt
+-rw-r--r-- 1 root root 6660 2009-06-03 05:39 ./slackware64/x/showfont-1.0.2-x86_64-1.txz
+-rw-r--r-- 1 root root 197 2009-06-03 05:39 ./slackware64/x/showfont-1.0.2-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 473 2008-11-06 18:22 ./slackware64/x/sinhala_lklug-font-ttf-20060929-noarch-1.txt
+-rw-r--r-- 1 root root 67728 2008-11-06 18:22 ./slackware64/x/sinhala_lklug-font-ttf-20060929-noarch-1.txz
+-rw-r--r-- 1 root root 197 2008-11-06 18:22 ./slackware64/x/sinhala_lklug-font-ttf-20060929-noarch-1.txz.asc
+-rw-r--r-- 1 root root 283 2009-06-03 05:39 ./slackware64/x/smproxy-1.0.2-x86_64-2.txt
+-rw-r--r-- 1 root root 10800 2009-06-03 05:39 ./slackware64/x/smproxy-1.0.2-x86_64-2.txz
+-rw-r--r-- 1 root root 197 2009-06-03 05:39 ./slackware64/x/smproxy-1.0.2-x86_64-2.txz.asc
+-rw-r--r-- 1 root root 4874 2009-08-04 17:39 ./slackware64/x/tagfile
+-rw-r--r-- 1 root root 561 2008-11-06 18:23 ./slackware64/x/tibmachuni-font-ttf-1.901-noarch-1.txt
+-rw-r--r-- 1 root root 860064 2008-11-06 18:23 ./slackware64/x/tibmachuni-font-ttf-1.901-noarch-1.txz
+-rw-r--r-- 1 root root 197 2008-11-06 18:23 ./slackware64/x/tibmachuni-font-ttf-1.901-noarch-1.txz.asc
+-rw-r--r-- 1 root root 309 2009-06-03 05:25 ./slackware64/x/trapproto-3.4.3-noarch-2.txt
+-rw-r--r-- 1 root root 12824 2009-06-03 05:25 ./slackware64/x/trapproto-3.4.3-noarch-2.txz
+-rw-r--r-- 1 root root 197 2009-06-03 05:25 ./slackware64/x/trapproto-3.4.3-noarch-2.txz.asc
+-rw-r--r-- 1 root root 621 2008-11-06 18:24 ./slackware64/x/ttf-indic-fonts-0.4.7.4-noarch-1.txt
+-rw-r--r-- 1 root root 2183528 2008-11-06 18:24 ./slackware64/x/ttf-indic-fonts-0.4.7.4-noarch-1.txz
+-rw-r--r-- 1 root root 197 2008-11-06 18:24 ./slackware64/x/ttf-indic-fonts-0.4.7.4-noarch-1.txz.asc
+-rw-r--r-- 1 root root 231 2009-06-03 05:39 ./slackware64/x/twm-1.0.4-x86_64-2.txt
+-rw-r--r-- 1 root root 93544 2009-06-03 05:39 ./slackware64/x/twm-1.0.4-x86_64-2.txz
+-rw-r--r-- 1 root root 197 2009-06-03 05:39 ./slackware64/x/twm-1.0.4-x86_64-2.txz.asc
+-rw-r--r-- 1 root root 335 2009-07-16 22:27 ./slackware64/x/util-macros-1.2.2-noarch-1.txt
+-rw-r--r-- 1 root root 5852 2009-07-16 22:27 ./slackware64/x/util-macros-1.2.2-noarch-1.txz
+-rw-r--r-- 1 root root 197 2009-07-16 22:27 ./slackware64/x/util-macros-1.2.2-noarch-1.txz.asc
+-rw-r--r-- 1 root root 322 2009-06-03 05:25 ./slackware64/x/videoproto-2.2.2-noarch-2.txt
+-rw-r--r-- 1 root root 6984 2009-06-03 05:25 ./slackware64/x/videoproto-2.2.2-noarch-2.txz
+-rw-r--r-- 1 root root 197 2009-06-03 05:25 ./slackware64/x/videoproto-2.2.2-noarch-2.txz.asc
+-rw-r--r-- 1 root root 283 2009-06-03 05:39 ./slackware64/x/viewres-1.0.1-x86_64-3.txt
+-rw-r--r-- 1 root root 12932 2009-06-03 05:39 ./slackware64/x/viewres-1.0.1-x86_64-3.txz
+-rw-r--r-- 1 root root 197 2009-06-03 05:39 ./slackware64/x/viewres-1.0.1-x86_64-3.txz.asc
+-rw-r--r-- 1 root root 686 2009-04-20 19:13 ./slackware64/x/wqy-zenhei-font-ttf-0.8.38_1-noarch-1.txt
+-rw-r--r-- 1 root root 5752036 2009-04-20 19:13 ./slackware64/x/wqy-zenhei-font-ttf-0.8.38_1-noarch-1.txz
+-rw-r--r-- 1 root root 197 2009-04-20 19:13 ./slackware64/x/wqy-zenhei-font-ttf-0.8.38_1-noarch-1.txz.asc
+-rw-r--r-- 1 root root 607 2009-06-08 20:29 ./slackware64/x/x11-skel-7.4-x86_64-1.txt
+-rw-r--r-- 1 root root 12176 2009-06-08 20:29 ./slackware64/x/x11-skel-7.4-x86_64-1.txz
+-rw-r--r-- 1 root root 197 2009-06-08 20:29 ./slackware64/x/x11-skel-7.4-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 283 2009-06-03 05:39 ./slackware64/x/x11perf-1.5-x86_64-2.txt
+-rw-r--r-- 1 root root 55076 2009-06-03 05:39 ./slackware64/x/x11perf-1.5-x86_64-2.txz
+-rw-r--r-- 1 root root 197 2009-06-03 05:39 ./slackware64/x/x11perf-1.5-x86_64-2.txz.asc
+-rw-r--r-- 1 root root 257 2009-06-03 05:39 ./slackware64/x/xauth-1.0.3-x86_64-2.txt
+-rw-r--r-- 1 root root 19740 2009-06-03 05:39 ./slackware64/x/xauth-1.0.3-x86_64-2.txz
+-rw-r--r-- 1 root root 197 2009-06-03 05:39 ./slackware64/x/xauth-1.0.3-x86_64-2.txz.asc
+-rw-r--r-- 1 root root 519 2008-11-04 22:19 ./slackware64/x/xaw3d-1.5E-x86_64-1.txt
+-rw-r--r-- 1 root root 166100 2008-11-04 22:19 ./slackware64/x/xaw3d-1.5E-x86_64-1.txz
+-rw-r--r-- 1 root root 197 2008-11-04 22:19 ./slackware64/x/xaw3d-1.5E-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 322 2009-06-03 05:39 ./slackware64/x/xbacklight-1.1-x86_64-2.txt
+-rw-r--r-- 1 root root 5360 2009-06-03 05:39 ./slackware64/x/xbacklight-1.1-x86_64-2.txz
+-rw-r--r-- 1 root root 197 2009-06-03 05:39 ./slackware64/x/xbacklight-1.1-x86_64-2.txz.asc
+-rw-r--r-- 1 root root 257 2009-06-03 05:39 ./slackware64/x/xbiff-1.0.1-x86_64-2.txt
+-rw-r--r-- 1 root root 9536 2009-06-03 05:39 ./slackware64/x/xbiff-1.0.1-x86_64-2.txz
+-rw-r--r-- 1 root root 197 2009-06-03 05:39 ./slackware64/x/xbiff-1.0.1-x86_64-2.txz.asc
+-rw-r--r-- 1 root root 296 2009-06-03 05:26 ./slackware64/x/xbitmaps-1.0.1-noarch-2.txt
+-rw-r--r-- 1 root root 18084 2009-06-03 05:26 ./slackware64/x/xbitmaps-1.0.1-noarch-2.txz
+-rw-r--r-- 1 root root 197 2009-06-03 05:26 ./slackware64/x/xbitmaps-1.0.1-noarch-2.txz.asc
+-rw-r--r-- 1 root root 257 2009-06-03 05:39 ./slackware64/x/xcalc-1.0.2-x86_64-2.txt
+-rw-r--r-- 1 root root 20380 2009-06-03 05:39 ./slackware64/x/xcalc-1.0.2-x86_64-2.txz
+-rw-r--r-- 1 root root 197 2009-06-03 05:39 ./slackware64/x/xcalc-1.0.2-x86_64-2.txz.asc
+-rw-r--r-- 1 root root 309 2009-06-03 05:27 ./slackware64/x/xcb-proto-1.5-noarch-1.txt
+-rw-r--r-- 1 root root 45456 2009-06-03 05:27 ./slackware64/x/xcb-proto-1.5-noarch-1.txz
+-rw-r--r-- 1 root root 197 2009-06-03 05:27 ./slackware64/x/xcb-proto-1.5-noarch-1.txz.asc
+-rw-r--r-- 1 root root 296 2009-06-03 05:27 ./slackware64/x/xcb-util-0.3.5-x86_64-1.txt
+-rw-r--r-- 1 root root 44636 2009-06-03 05:27 ./slackware64/x/xcb-util-0.3.5-x86_64-1.txz
+-rw-r--r-- 1 root root 197 2009-06-03 05:27 ./slackware64/x/xcb-util-0.3.5-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 322 2009-06-03 05:39 ./slackware64/x/xclipboard-1.0.1-x86_64-2.txt
+-rw-r--r-- 1 root root 14112 2009-06-03 05:39 ./slackware64/x/xclipboard-1.0.1-x86_64-2.txz
+-rw-r--r-- 1 root root 197 2009-06-03 05:39 ./slackware64/x/xclipboard-1.0.1-x86_64-2.txz.asc
+-rw-r--r-- 1 root root 270 2009-06-03 05:39 ./slackware64/x/xclock-1.0.3-x86_64-2.txt
+-rw-r--r-- 1 root root 20296 2009-06-03 05:39 ./slackware64/x/xclock-1.0.3-x86_64-2.txz
+-rw-r--r-- 1 root root 197 2009-06-03 05:39 ./slackware64/x/xclock-1.0.3-x86_64-2.txz.asc
+-rw-r--r-- 1 root root 335 2009-06-03 05:25 ./slackware64/x/xcmiscproto-1.1.2-noarch-2.txt
+-rw-r--r-- 1 root root 1928 2009-06-03 05:25 ./slackware64/x/xcmiscproto-1.1.2-noarch-2.txz
+-rw-r--r-- 1 root root 197 2009-06-03 05:25 ./slackware64/x/xcmiscproto-1.1.2-noarch-2.txz.asc
+-rw-r--r-- 1 root root 270 2009-06-03 05:39 ./slackware64/x/xcmsdb-1.0.1-x86_64-2.txt
+-rw-r--r-- 1 root root 13724 2009-06-03 05:39 ./slackware64/x/xcmsdb-1.0.1-x86_64-2.txz
+-rw-r--r-- 1 root root 197 2009-06-03 05:39 ./slackware64/x/xcmsdb-1.0.1-x86_64-2.txz.asc
+-rw-r--r-- 1 root root 296 2009-06-03 05:39 ./slackware64/x/xcompmgr-1.1.4-x86_64-2.txt
+-rw-r--r-- 1 root root 15212 2009-06-03 05:39 ./slackware64/x/xcompmgr-1.1.4-x86_64-2.txz
+-rw-r--r-- 1 root root 197 2009-06-03 05:39 ./slackware64/x/xcompmgr-1.1.4-x86_64-2.txz.asc
+-rw-r--r-- 1 root root 296 2009-06-03 05:40 ./slackware64/x/xconsole-1.0.3-x86_64-2.txt
+-rw-r--r-- 1 root root 8736 2009-06-03 05:40 ./slackware64/x/xconsole-1.0.3-x86_64-2.txz
+-rw-r--r-- 1 root root 197 2009-06-03 05:40 ./slackware64/x/xconsole-1.0.3-x86_64-2.txz.asc
+-rw-r--r-- 1 root root 374 2009-06-03 05:26 ./slackware64/x/xcursor-themes-1.0.1-noarch-2.txt
+-rw-r--r-- 1 root root 293464 2009-06-03 05:26 ./slackware64/x/xcursor-themes-1.0.1-noarch-2.txz
+-rw-r--r-- 1 root root 197 2009-06-03 05:26 ./slackware64/x/xcursor-themes-1.0.1-noarch-2.txz.asc
+-rw-r--r-- 1 root root 322 2009-06-03 05:40 ./slackware64/x/xcursorgen-1.0.2-x86_64-2.txt
+-rw-r--r-- 1 root root 6632 2009-06-03 05:40 ./slackware64/x/xcursorgen-1.0.2-x86_64-2.txz
+-rw-r--r-- 1 root root 197 2009-06-03 05:40 ./slackware64/x/xcursorgen-1.0.2-x86_64-2.txz.asc
+-rw-r--r-- 1 root root 309 2009-06-03 05:40 ./slackware64/x/xdbedizzy-1.0.2-x86_64-2.txt
+-rw-r--r-- 1 root root 8492 2009-06-03 05:40 ./slackware64/x/xdbedizzy-1.0.2-x86_64-2.txz
+-rw-r--r-- 1 root root 197 2009-06-03 05:40 ./slackware64/x/xdbedizzy-1.0.2-x86_64-2.txz.asc
+-rw-r--r-- 1 root root 550 2009-02-03 19:45 ./slackware64/x/xdg-utils-1.0.2-noarch-3.txt
+-rw-r--r-- 1 root root 42388 2009-02-03 19:45 ./slackware64/x/xdg-utils-1.0.2-noarch-3.txz
+-rw-r--r-- 1 root root 197 2009-02-03 19:45 ./slackware64/x/xdg-utils-1.0.2-noarch-3.txz.asc
+-rw-r--r-- 1 root root 296 2009-06-03 05:40 ./slackware64/x/xditview-1.0.1-x86_64-2.txt
+-rw-r--r-- 1 root root 21056 2009-06-03 05:40 ./slackware64/x/xditview-1.0.1-x86_64-2.txz
+-rw-r--r-- 1 root root 197 2009-06-03 05:40 ./slackware64/x/xditview-1.0.1-x86_64-2.txz.asc
+-rw-r--r-- 1 root root 231 2009-06-03 05:40 ./slackware64/x/xdm-1.1.8-x86_64-1.txt
+-rw-r--r-- 1 root root 97808 2009-06-03 05:40 ./slackware64/x/xdm-1.1.8-x86_64-1.txz
+-rw-r--r-- 1 root root 197 2009-06-03 05:40 ./slackware64/x/xdm-1.1.8-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 296 2009-06-03 05:40 ./slackware64/x/xdpyinfo-1.0.3-x86_64-1.txt
+-rw-r--r-- 1 root root 15544 2009-06-03 05:40 ./slackware64/x/xdpyinfo-1.0.3-x86_64-1.txz
+-rw-r--r-- 1 root root 197 2009-06-03 05:40 ./slackware64/x/xdpyinfo-1.0.3-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 296 2009-06-03 05:40 ./slackware64/x/xdriinfo-1.0.2-x86_64-2.txt
+-rw-r--r-- 1 root root 3892 2009-06-03 05:40 ./slackware64/x/xdriinfo-1.0.2-x86_64-2.txz
+-rw-r--r-- 1 root root 197 2009-06-03 05:40 ./slackware64/x/xdriinfo-1.0.2-x86_64-2.txz.asc
+-rw-r--r-- 1 root root 257 2009-06-03 05:40 ./slackware64/x/xedit-1.1.2-x86_64-1.txt
+-rw-r--r-- 1 root root 282684 2009-06-03 05:40 ./slackware64/x/xedit-1.1.2-x86_64-1.txz
+-rw-r--r-- 1 root root 197 2009-06-03 05:40 ./slackware64/x/xedit-1.1.2-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 231 2009-06-03 05:40 ./slackware64/x/xev-1.0.3-x86_64-2.txt
+-rw-r--r-- 1 root root 10480 2009-06-03 05:40 ./slackware64/x/xev-1.0.3-x86_64-2.txz
+-rw-r--r-- 1 root root 197 2009-06-03 05:40 ./slackware64/x/xev-1.0.3-x86_64-2.txz.asc
+-rw-r--r-- 1 root root 309 2009-06-03 05:25 ./slackware64/x/xextproto-7.0.5-noarch-1.txt
+-rw-r--r-- 1 root root 31640 2009-06-03 05:25 ./slackware64/x/xextproto-7.0.5-noarch-1.txz
+-rw-r--r-- 1 root root 197 2009-06-03 05:25 ./slackware64/x/xextproto-7.0.5-noarch-1.txz.asc
+-rw-r--r-- 1 root root 257 2009-06-03 05:40 ./slackware64/x/xeyes-1.0.1-x86_64-2.txt
+-rw-r--r-- 1 root root 7188 2009-06-03 05:40 ./slackware64/x/xeyes-1.0.1-x86_64-2.txz
+-rw-r--r-- 1 root root 197 2009-06-03 05:40 ./slackware64/x/xeyes-1.0.1-x86_64-2.txz.asc
+-rw-r--r-- 1 root root 413 2009-06-03 05:44 ./slackware64/x/xf86-input-acecad-1.3.0-x86_64-1.txt
+-rw-r--r-- 1 root root 9472 2009-06-03 05:44 ./slackware64/x/xf86-input-acecad-1.3.0-x86_64-1.txz
+-rw-r--r-- 1 root root 197 2009-06-03 05:44 ./slackware64/x/xf86-input-acecad-1.3.0-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 413 2009-06-03 05:44 ./slackware64/x/xf86-input-aiptek-1.2.0-x86_64-1.txt
+-rw-r--r-- 1 root root 13680 2009-06-03 05:44 ./slackware64/x/xf86-input-aiptek-1.2.0-x86_64-1.txz
+-rw-r--r-- 1 root root 197 2009-06-03 05:44 ./slackware64/x/xf86-input-aiptek-1.2.0-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 413 2009-06-03 05:44 ./slackware64/x/xf86-input-citron-2.2.2-x86_64-1.txt
+-rw-r--r-- 1 root root 23828 2009-06-03 05:44 ./slackware64/x/xf86-input-citron-2.2.2-x86_64-1.txz
+-rw-r--r-- 1 root root 197 2009-06-03 05:44 ./slackware64/x/xf86-input-citron-2.2.2-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 478 2009-06-03 05:45 ./slackware64/x/xf86-input-elographics-1.2.3-x86_64-2.txt
+-rw-r--r-- 1 root root 9236 2009-06-03 05:45 ./slackware64/x/xf86-input-elographics-1.2.3-x86_64-2.txz
+-rw-r--r-- 1 root root 197 2009-06-03 05:45 ./slackware64/x/xf86-input-elographics-1.2.3-x86_64-2.txz.asc
+-rw-r--r-- 1 root root 400 2009-08-21 03:15 ./slackware64/x/xf86-input-evdev-2.2.5-x86_64-1.txt
+-rw-r--r-- 1 root root 18612 2009-08-21 03:15 ./slackware64/x/xf86-input-evdev-2.2.5-x86_64-1.txz
+-rw-r--r-- 1 root root 197 2009-08-21 03:15 ./slackware64/x/xf86-input-evdev-2.2.5-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 387 2009-06-03 05:45 ./slackware64/x/xf86-input-fpit-1.3.0-x86_64-1.txt
+-rw-r--r-- 1 root root 7800 2009-06-03 05:45 ./slackware64/x/xf86-input-fpit-1.3.0-x86_64-1.txz
+-rw-r--r-- 1 root root 197 2009-06-03 05:45 ./slackware64/x/xf86-input-fpit-1.3.0-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 439 2009-06-03 05:45 ./slackware64/x/xf86-input-hyperpen-1.3.0-x86_64-1.txt
+-rw-r--r-- 1 root root 8452 2009-06-03 05:45 ./slackware64/x/xf86-input-hyperpen-1.3.0-x86_64-1.txz
+-rw-r--r-- 1 root root 197 2009-06-03 05:45 ./slackware64/x/xf86-input-hyperpen-1.3.0-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 439 2009-06-03 05:45 ./slackware64/x/xf86-input-joystick-1.4.0-x86_64-1.txt
+-rw-r--r-- 1 root root 38372 2009-06-03 05:45 ./slackware64/x/xf86-input-joystick-1.4.0-x86_64-1.txz
+-rw-r--r-- 1 root root 197 2009-06-03 05:45 ./slackware64/x/xf86-input-joystick-1.4.0-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 439 2009-06-03 05:46 ./slackware64/x/xf86-input-keyboard-1.3.2-x86_64-1.txt
+-rw-r--r-- 1 root root 12080 2009-06-03 05:46 ./slackware64/x/xf86-input-keyboard-1.3.2-x86_64-1.txz
+-rw-r--r-- 1 root root 197 2009-06-03 05:46 ./slackware64/x/xf86-input-keyboard-1.3.2-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 400 2009-06-03 05:46 ./slackware64/x/xf86-input-mouse-1.4.0-x86_64-1.txt
+-rw-r--r-- 1 root root 24608 2009-06-03 05:46 ./slackware64/x/xf86-input-mouse-1.4.0-x86_64-1.txz
+-rw-r--r-- 1 root root 197 2009-06-03 05:46 ./slackware64/x/xf86-input-mouse-1.4.0-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 426 2009-06-03 05:46 ./slackware64/x/xf86-input-mutouch-1.2.1-x86_64-2.txt
+-rw-r--r-- 1 root root 9072 2009-06-03 05:46 ./slackware64/x/xf86-input-mutouch-1.2.1-x86_64-2.txz
+-rw-r--r-- 1 root root 197 2009-06-03 05:46 ./slackware64/x/xf86-input-mutouch-1.2.1-x86_64-2.txz.asc
+-rw-r--r-- 1 root root 439 2009-06-03 05:46 ./slackware64/x/xf86-input-penmount-1.4.0-x86_64-1.txt
+-rw-r--r-- 1 root root 7344 2009-06-03 05:46 ./slackware64/x/xf86-input-penmount-1.4.0-x86_64-1.txz
+-rw-r--r-- 1 root root 197 2009-06-03 05:46 ./slackware64/x/xf86-input-penmount-1.4.0-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 452 2009-08-04 00:35 ./slackware64/x/xf86-input-synaptics-1.1.3-x86_64-1.txt
+-rw-r--r-- 1 root root 53688 2009-08-04 00:35 ./slackware64/x/xf86-input-synaptics-1.1.3-x86_64-1.txz
+-rw-r--r-- 1 root root 197 2009-08-04 00:35 ./slackware64/x/xf86-input-synaptics-1.1.3-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 426 2009-06-03 05:47 ./slackware64/x/xf86-input-vmmouse-12.6.4-x86_64-1.txt
+-rw-r--r-- 1 root root 11292 2009-06-03 05:47 ./slackware64/x/xf86-input-vmmouse-12.6.4-x86_64-1.txz
+-rw-r--r-- 1 root root 197 2009-06-03 05:47 ./slackware64/x/xf86-input-vmmouse-12.6.4-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 387 2009-06-03 05:47 ./slackware64/x/xf86-input-void-1.2.0-x86_64-1.txt
+-rw-r--r-- 1 root root 4108 2009-06-03 05:47 ./slackware64/x/xf86-input-void-1.2.0-x86_64-1.txz
+-rw-r--r-- 1 root root 197 2009-06-03 05:47 ./slackware64/x/xf86-input-void-1.2.0-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 374 2009-08-04 00:35 ./slackware64/x/xf86-video-apm-1.2.2-x86_64-1.txt
+-rw-r--r-- 1 root root 50348 2009-08-04 00:35 ./slackware64/x/xf86-video-apm-1.2.2-x86_64-1.txz
+-rw-r--r-- 1 root root 197 2009-08-04 00:35 ./slackware64/x/xf86-video-apm-1.2.2-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 374 2009-06-03 05:47 ./slackware64/x/xf86-video-ark-0.7.1-x86_64-1.txt
+-rw-r--r-- 1 root root 9412 2009-06-03 05:47 ./slackware64/x/xf86-video-ark-0.7.1-x86_64-1.txz
+-rw-r--r-- 1 root root 197 2009-06-03 05:47 ./slackware64/x/xf86-video-ark-0.7.1-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 374 2009-08-04 00:35 ./slackware64/x/xf86-video-ast-0.89.9-x86_64-1.txt
+-rw-r--r-- 1 root root 21168 2009-08-04 00:35 ./slackware64/x/xf86-video-ast-0.89.9-x86_64-1.txz
+-rw-r--r-- 1 root root 197 2009-08-04 00:35 ./slackware64/x/xf86-video-ast-0.89.9-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 374 2009-07-16 22:31 ./slackware64/x/xf86-video-ati-6.12.2-x86_64-2.txt
+-rw-r--r-- 1 root root 235436 2009-07-16 22:31 ./slackware64/x/xf86-video-ati-6.12.2-x86_64-2.txz
+-rw-r--r-- 1 root root 197 2009-07-16 22:31 ./slackware64/x/xf86-video-ati-6.12.2-x86_64-2.txz.asc
+-rw-r--r-- 1 root root 400 2009-06-03 05:48 ./slackware64/x/xf86-video-chips-1.2.1-x86_64-1.txt
+-rw-r--r-- 1 root root 58656 2009-06-03 05:48 ./slackware64/x/xf86-video-chips-1.2.1-x86_64-1.txz
+-rw-r--r-- 1 root root 197 2009-06-03 05:48 ./slackware64/x/xf86-video-chips-1.2.1-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 413 2009-08-04 00:36 ./slackware64/x/xf86-video-cirrus-1.3.2-x86_64-1.txt
+-rw-r--r-- 1 root root 28780 2009-08-04 00:36 ./slackware64/x/xf86-video-cirrus-1.3.2-x86_64-1.txz
+-rw-r--r-- 1 root root 197 2009-08-04 00:36 ./slackware64/x/xf86-video-cirrus-1.3.2-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 400 2009-07-16 22:31 ./slackware64/x/xf86-video-dummy-0.3.2-x86_64-1.txt
+-rw-r--r-- 1 root root 7004 2009-07-16 22:31 ./slackware64/x/xf86-video-dummy-0.3.2-x86_64-1.txz
+-rw-r--r-- 1 root root 197 2009-07-16 22:31 ./slackware64/x/xf86-video-dummy-0.3.2-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 400 2009-08-04 00:36 ./slackware64/x/xf86-video-glint-1.2.4-x86_64-1.txt
+-rw-r--r-- 1 root root 77132 2009-08-04 00:36 ./slackware64/x/xf86-video-glint-1.2.4-x86_64-1.txz
+-rw-r--r-- 1 root root 197 2009-08-04 00:36 ./slackware64/x/xf86-video-glint-1.2.4-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 387 2009-08-04 00:36 ./slackware64/x/xf86-video-i128-1.3.3-x86_64-1.txt
+-rw-r--r-- 1 root root 22124 2009-08-04 00:36 ./slackware64/x/xf86-video-i128-1.3.3-x86_64-1.txz
+-rw-r--r-- 1 root root 197 2009-08-04 00:36 ./slackware64/x/xf86-video-i128-1.3.3-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 387 2009-08-04 00:36 ./slackware64/x/xf86-video-i740-1.3.2-x86_64-1.txt
+-rw-r--r-- 1 root root 20844 2009-08-04 00:36 ./slackware64/x/xf86-video-i740-1.3.2-x86_64-1.txz
+-rw-r--r-- 1 root root 197 2009-08-04 00:36 ./slackware64/x/xf86-video-i740-1.3.2-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 400 2009-08-04 00:37 ./slackware64/x/xf86-video-intel-2.8.0-x86_64-1.txt
+-rw-r--r-- 1 root root 239016 2009-08-04 00:37 ./slackware64/x/xf86-video-intel-2.8.0-x86_64-1.txz
+-rw-r--r-- 1 root root 197 2009-08-04 00:37 ./slackware64/x/xf86-video-intel-2.8.0-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 413 2009-08-04 00:37 ./slackware64/x/xf86-video-mach64-6.8.2-x86_64-1.txt
+-rw-r--r-- 1 root root 70800 2009-08-04 00:37 ./slackware64/x/xf86-video-mach64-6.8.2-x86_64-1.txz
+-rw-r--r-- 1 root root 197 2009-08-04 00:37 ./slackware64/x/xf86-video-mach64-6.8.2-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 374 2009-08-04 00:37 ./slackware64/x/xf86-video-mga-1.4.11-x86_64-1.txt
+-rw-r--r-- 1 root root 74336 2009-08-04 00:37 ./slackware64/x/xf86-video-mga-1.4.11-x86_64-1.txz
+-rw-r--r-- 1 root root 197 2009-08-04 00:37 ./slackware64/x/xf86-video-mga-1.4.11-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 439 2009-08-04 00:37 ./slackware64/x/xf86-video-neomagic-1.2.4-x86_64-1.txt
+-rw-r--r-- 1 root root 29836 2009-08-04 00:37 ./slackware64/x/xf86-video-neomagic-1.2.4-x86_64-1.txz
+-rw-r--r-- 1 root root 197 2009-08-04 00:37 ./slackware64/x/xf86-video-neomagic-1.2.4-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 426 2009-06-03 05:51 ./slackware64/x/xf86-video-newport-0.2.2-x86_64-1.txt
+-rw-r--r-- 1 root root 15988 2009-06-03 05:51 ./slackware64/x/xf86-video-newport-0.2.2-x86_64-1.txz
+-rw-r--r-- 1 root root 197 2009-06-03 05:51 ./slackware64/x/xf86-video-newport-0.2.2-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 361 2009-07-16 22:34 ./slackware64/x/xf86-video-nv-2.1.14-x86_64-1.txt
+-rw-r--r-- 1 root root 70340 2009-07-16 22:34 ./slackware64/x/xf86-video-nv-2.1.14-x86_64-1.txz
+-rw-r--r-- 1 root root 197 2009-07-16 22:34 ./slackware64/x/xf86-video-nv-2.1.14-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 465 2009-06-03 05:52 ./slackware64/x/xf86-video-openchrome-0.2.903-x86_64-2.txt
+-rw-r--r-- 1 root root 120584 2009-06-03 05:52 ./slackware64/x/xf86-video-openchrome-0.2.903-x86_64-2.txz
+-rw-r--r-- 1 root root 197 2009-06-03 05:52 ./slackware64/x/xf86-video-openchrome-0.2.903-x86_64-2.txz.asc
+-rw-r--r-- 1 root root 387 2009-08-04 00:37 ./slackware64/x/xf86-video-r128-6.8.1-x86_64-1.txt
+-rw-r--r-- 1 root root 43168 2009-08-04 00:37 ./slackware64/x/xf86-video-r128-6.8.1-x86_64-1.txz
+-rw-r--r-- 1 root root 197 2009-08-04 00:37 ./slackware64/x/xf86-video-r128-6.8.1-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 485 2009-06-03 05:52 ./slackware64/x/xf86-video-radeonhd-1.2.5-x86_64-1.txt
+-rw-r--r-- 1 root root 180840 2009-06-03 05:52 ./slackware64/x/xf86-video-radeonhd-1.2.5-x86_64-1.txz
+-rw-r--r-- 1 root root 197 2009-06-03 05:52 ./slackware64/x/xf86-video-radeonhd-1.2.5-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 452 2009-07-16 22:34 ./slackware64/x/xf86-video-rendition-4.2.2-x86_64-1.txt
+-rw-r--r-- 1 root root 35940 2009-07-16 22:34 ./slackware64/x/xf86-video-rendition-4.2.2-x86_64-1.txz
+-rw-r--r-- 1 root root 197 2009-07-16 22:34 ./slackware64/x/xf86-video-rendition-4.2.2-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 361 2009-08-04 00:38 ./slackware64/x/xf86-video-s3-0.6.3-x86_64-1.txt
+-rw-r--r-- 1 root root 29404 2009-08-04 00:38 ./slackware64/x/xf86-video-s3-0.6.3-x86_64-1.txz
+-rw-r--r-- 1 root root 197 2009-08-04 00:38 ./slackware64/x/xf86-video-s3-0.6.3-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 426 2009-08-04 00:38 ./slackware64/x/xf86-video-s3virge-1.10.4-x86_64-1.txt
+-rw-r--r-- 1 root root 32672 2009-08-04 00:38 ./slackware64/x/xf86-video-s3virge-1.10.4-x86_64-1.txz
+-rw-r--r-- 1 root root 197 2009-08-04 00:38 ./slackware64/x/xf86-video-s3virge-1.10.4-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 413 2009-08-04 00:38 ./slackware64/x/xf86-video-savage-2.3.1-x86_64-1.txt
+-rw-r--r-- 1 root root 60368 2009-08-04 00:38 ./slackware64/x/xf86-video-savage-2.3.1-x86_64-1.txz
+-rw-r--r-- 1 root root 197 2009-08-04 00:38 ./slackware64/x/xf86-video-savage-2.3.1-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 504 2009-07-16 22:34 ./slackware64/x/xf86-video-siliconmotion-1.7.2-x86_64-1.txt
+-rw-r--r-- 1 root root 47860 2009-07-16 22:34 ./slackware64/x/xf86-video-siliconmotion-1.7.2-x86_64-1.txz
+-rw-r--r-- 1 root root 197 2009-07-16 22:34 ./slackware64/x/xf86-video-siliconmotion-1.7.2-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 374 2009-08-04 00:38 ./slackware64/x/xf86-video-sis-0.10.2-x86_64-1.txt
+-rw-r--r-- 1 root root 232268 2009-08-04 00:38 ./slackware64/x/xf86-video-sis-0.10.2-x86_64-1.txz
+-rw-r--r-- 1 root root 197 2009-08-04 00:38 ./slackware64/x/xf86-video-sis-0.10.2-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 413 2009-08-04 00:38 ./slackware64/x/xf86-video-sisusb-0.9.3-x86_64-1.txt
+-rw-r--r-- 1 root root 35096 2009-08-04 00:38 ./slackware64/x/xf86-video-sisusb-0.9.3-x86_64-1.txz
+-rw-r--r-- 1 root root 197 2009-08-04 00:38 ./slackware64/x/xf86-video-sisusb-0.9.3-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 387 2009-08-04 00:38 ./slackware64/x/xf86-video-tdfx-1.4.3-x86_64-1.txt
+-rw-r--r-- 1 root root 30684 2009-08-04 00:38 ./slackware64/x/xf86-video-tdfx-1.4.3-x86_64-1.txz
+-rw-r--r-- 1 root root 197 2009-08-04 00:38 ./slackware64/x/xf86-video-tdfx-1.4.3-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 374 2009-06-03 05:54 ./slackware64/x/xf86-video-tga-1.2.0-x86_64-1.txt
+-rw-r--r-- 1 root root 22740 2009-06-03 05:54 ./slackware64/x/xf86-video-tga-1.2.0-x86_64-1.txz
+-rw-r--r-- 1 root root 197 2009-06-03 05:54 ./slackware64/x/xf86-video-tga-1.2.0-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 426 2009-07-16 22:35 ./slackware64/x/xf86-video-trident-1.3.2-x86_64-1.txt
+-rw-r--r-- 1 root root 59696 2009-07-16 22:35 ./slackware64/x/xf86-video-trident-1.3.2-x86_64-1.txz
+-rw-r--r-- 1 root root 197 2009-07-16 22:35 ./slackware64/x/xf86-video-trident-1.3.2-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 400 2009-07-16 22:35 ./slackware64/x/xf86-video-tseng-1.2.2-x86_64-1.txt
+-rw-r--r-- 1 root root 21792 2009-07-16 22:35 ./slackware64/x/xf86-video-tseng-1.2.2-x86_64-1.txz
+-rw-r--r-- 1 root root 197 2009-07-16 22:35 ./slackware64/x/xf86-video-tseng-1.2.2-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 374 2009-06-03 05:54 ./slackware64/x/xf86-video-v4l-0.2.0-x86_64-2.txt
+-rw-r--r-- 1 root root 8580 2009-06-03 05:54 ./slackware64/x/xf86-video-v4l-0.2.0-x86_64-2.txz
+-rw-r--r-- 1 root root 197 2009-06-03 05:54 ./slackware64/x/xf86-video-v4l-0.2.0-x86_64-2.txz.asc
+-rw-r--r-- 1 root root 387 2009-08-04 00:38 ./slackware64/x/xf86-video-vesa-2.2.1-x86_64-1.txt
+-rw-r--r-- 1 root root 11952 2009-08-04 00:38 ./slackware64/x/xf86-video-vesa-2.2.1-x86_64-1.txz
+-rw-r--r-- 1 root root 197 2009-08-04 00:38 ./slackware64/x/xf86-video-vesa-2.2.1-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 413 2009-06-03 05:55 ./slackware64/x/xf86-video-vmware-10.16.6-x86_64-1.txt
+-rw-r--r-- 1 root root 20968 2009-06-03 05:55 ./slackware64/x/xf86-video-vmware-10.16.6-x86_64-1.txz
+-rw-r--r-- 1 root root 197 2009-06-03 05:55 ./slackware64/x/xf86-video-vmware-10.16.6-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 413 2009-08-04 00:38 ./slackware64/x/xf86-video-voodoo-1.2.3-x86_64-1.txt
+-rw-r--r-- 1 root root 13332 2009-08-04 00:38 ./slackware64/x/xf86-video-voodoo-1.2.3-x86_64-1.txz
+-rw-r--r-- 1 root root 197 2009-08-04 00:38 ./slackware64/x/xf86-video-voodoo-1.2.3-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 400 2009-06-03 05:25 ./slackware64/x/xf86bigfontproto-1.1.2-noarch-2.txt
+-rw-r--r-- 1 root root 1948 2009-06-03 05:25 ./slackware64/x/xf86bigfontproto-1.1.2-noarch-2.txz
+-rw-r--r-- 1 root root 197 2009-06-03 05:25 ./slackware64/x/xf86bigfontproto-1.1.2-noarch-2.txz.asc
+-rw-r--r-- 1 root root 283 2009-06-03 05:41 ./slackware64/x/xf86dga-1.0.2-x86_64-2.txt
+-rw-r--r-- 1 root root 4784 2009-06-03 05:41 ./slackware64/x/xf86dga-1.0.2-x86_64-2.txz
+-rw-r--r-- 1 root root 197 2009-06-03 05:41 ./slackware64/x/xf86dga-1.0.2-x86_64-2.txz.asc
+-rw-r--r-- 1 root root 348 2009-06-03 05:25 ./slackware64/x/xf86dgaproto-2.0.3-noarch-2.txt
+-rw-r--r-- 1 root root 4408 2009-06-03 05:25 ./slackware64/x/xf86dgaproto-2.0.3-noarch-2.txz
+-rw-r--r-- 1 root root 197 2009-06-03 05:25 ./slackware64/x/xf86dgaproto-2.0.3-noarch-2.txz.asc
+-rw-r--r-- 1 root root 348 2009-06-03 05:25 ./slackware64/x/xf86driproto-2.0.4-noarch-2.txt
+-rw-r--r-- 1 root root 3256 2009-06-03 05:25 ./slackware64/x/xf86driproto-2.0.4-noarch-2.txz
+-rw-r--r-- 1 root root 197 2009-06-03 05:25 ./slackware64/x/xf86driproto-2.0.4-noarch-2.txz.asc
+-rw-r--r-- 1 root root 361 2009-06-03 05:25 ./slackware64/x/xf86miscproto-0.9.2-noarch-2.txt
+-rw-r--r-- 1 root root 2860 2009-06-03 05:25 ./slackware64/x/xf86miscproto-0.9.2-noarch-2.txz
+-rw-r--r-- 1 root root 197 2009-06-03 05:25 ./slackware64/x/xf86miscproto-0.9.2-noarch-2.txz.asc
+-rw-r--r-- 1 root root 361 2009-06-03 05:25 ./slackware64/x/xf86rushproto-1.1.2-noarch-2.txt
+-rw-r--r-- 1 root root 2148 2009-06-03 05:25 ./slackware64/x/xf86rushproto-1.1.2-noarch-2.txz
+-rw-r--r-- 1 root root 197 2009-06-03 05:25 ./slackware64/x/xf86rushproto-1.1.2-noarch-2.txz.asc
+-rw-r--r-- 1 root root 400 2009-06-03 05:25 ./slackware64/x/xf86vidmodeproto-2.2.2-noarch-2.txt
+-rw-r--r-- 1 root root 4428 2009-06-03 05:25 ./slackware64/x/xf86vidmodeproto-2.2.2-noarch-2.txz
+-rw-r--r-- 1 root root 197 2009-06-03 05:25 ./slackware64/x/xf86vidmodeproto-2.2.2-noarch-2.txz.asc
+-rw-r--r-- 1 root root 231 2009-06-03 05:41 ./slackware64/x/xfd-1.0.1-x86_64-2.txt
+-rw-r--r-- 1 root root 14136 2009-06-03 05:41 ./slackware64/x/xfd-1.0.1-x86_64-2.txz
+-rw-r--r-- 1 root root 197 2009-06-03 05:41 ./slackware64/x/xfd-1.0.1-x86_64-2.txz.asc
+-rw-r--r-- 1 root root 322 2009-06-03 05:41 ./slackware64/x/xfindproxy-1.0.1-x86_64-2.txt
+-rw-r--r-- 1 root root 7372 2009-06-03 05:41 ./slackware64/x/xfindproxy-1.0.1-x86_64-2.txz
+-rw-r--r-- 1 root root 197 2009-06-03 05:41 ./slackware64/x/xfindproxy-1.0.1-x86_64-2.txz.asc
+-rw-r--r-- 1 root root 296 2009-06-03 05:41 ./slackware64/x/xfontsel-1.0.2-x86_64-2.txt
+-rw-r--r-- 1 root root 21676 2009-06-03 05:41 ./slackware64/x/xfontsel-1.0.2-x86_64-2.txz
+-rw-r--r-- 1 root root 197 2009-06-03 05:41 ./slackware64/x/xfontsel-1.0.2-x86_64-2.txz.asc
+-rw-r--r-- 1 root root 231 2009-08-04 00:38 ./slackware64/x/xfs-1.1.0-x86_64-1.txt
+-rw-r--r-- 1 root root 55536 2009-08-04 00:38 ./slackware64/x/xfs-1.1.0-x86_64-1.txz
+-rw-r--r-- 1 root root 197 2009-08-04 00:38 ./slackware64/x/xfs-1.1.0-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 283 2009-06-03 05:41 ./slackware64/x/xfsinfo-1.0.2-x86_64-1.txt
+-rw-r--r-- 1 root root 4592 2009-06-03 05:41 ./slackware64/x/xfsinfo-1.0.2-x86_64-1.txz
+-rw-r--r-- 1 root root 197 2009-06-03 05:41 ./slackware64/x/xfsinfo-1.0.2-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 244 2009-06-03 05:41 ./slackware64/x/xfwp-1.0.1-x86_64-2.txt
+-rw-r--r-- 1 root root 21568 2009-06-03 05:41 ./slackware64/x/xfwp-1.0.1-x86_64-2.txz
+-rw-r--r-- 1 root root 197 2009-06-03 05:41 ./slackware64/x/xfwp-1.0.1-x86_64-2.txz.asc
+-rw-r--r-- 1 root root 270 2009-06-03 05:41 ./slackware64/x/xgamma-1.0.2-x86_64-2.txt
+-rw-r--r-- 1 root root 5540 2009-06-03 05:41 ./slackware64/x/xgamma-1.0.2-x86_64-2.txz
+-rw-r--r-- 1 root root 197 2009-06-03 05:41 ./slackware64/x/xgamma-1.0.2-x86_64-2.txz.asc
+-rw-r--r-- 1 root root 231 2009-06-03 05:41 ./slackware64/x/xgc-1.0.1-x86_64-2.txt
+-rw-r--r-- 1 root root 23680 2009-06-03 05:41 ./slackware64/x/xgc-1.0.1-x86_64-2.txz
+-rw-r--r-- 1 root root 197 2009-06-03 05:41 ./slackware64/x/xgc-1.0.1-x86_64-2.txz.asc
+-rw-r--r-- 1 root root 257 2009-06-03 05:41 ./slackware64/x/xhost-1.0.2-x86_64-2.txt
+-rw-r--r-- 1 root root 8988 2009-06-03 05:41 ./slackware64/x/xhost-1.0.2-x86_64-2.txz
+-rw-r--r-- 1 root root 197 2009-06-03 05:41 ./slackware64/x/xhost-1.0.2-x86_64-2.txz.asc
+-rw-r--r-- 1 root root 361 2009-06-03 05:25 ./slackware64/x/xineramaproto-1.1.2-noarch-2.txt
+-rw-r--r-- 1 root root 3176 2009-06-03 05:25 ./slackware64/x/xineramaproto-1.1.2-noarch-2.txz
+-rw-r--r-- 1 root root 197 2009-06-03 05:25 ./slackware64/x/xineramaproto-1.1.2-noarch-2.txz.asc
+-rw-r--r-- 1 root root 257 2009-06-03 05:41 ./slackware64/x/xinit-1.1.1-x86_64-1.txt
+-rw-r--r-- 1 root root 14244 2009-06-03 05:41 ./slackware64/x/xinit-1.1.1-x86_64-1.txz
+-rw-r--r-- 1 root root 197 2009-06-03 05:41 ./slackware64/x/xinit-1.1.1-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 468 2009-06-03 05:41 ./slackware64/x/xinput-1.4.2-x86_64-1.txt
+-rw-r--r-- 1 root root 11296 2009-06-03 05:41 ./slackware64/x/xinput-1.4.2-x86_64-1.txz
+-rw-r--r-- 1 root root 197 2009-06-03 05:41 ./slackware64/x/xinput-1.4.2-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 283 2009-08-04 00:39 ./slackware64/x/xkbcomp-1.1.0-x86_64-1.txt
+-rw-r--r-- 1 root root 78844 2009-08-04 00:39 ./slackware64/x/xkbcomp-1.1.0-x86_64-1.txz
+-rw-r--r-- 1 root root 197 2009-08-04 00:39 ./slackware64/x/xkbcomp-1.1.0-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 270 2009-06-03 05:41 ./slackware64/x/xkbevd-1.0.2-x86_64-2.txt
+-rw-r--r-- 1 root root 16852 2009-06-03 05:41 ./slackware64/x/xkbevd-1.0.2-x86_64-2.txz
+-rw-r--r-- 1 root root 197 2009-06-03 05:41 ./slackware64/x/xkbevd-1.0.2-x86_64-2.txz.asc
+-rw-r--r-- 1 root root 296 2009-06-03 05:41 ./slackware64/x/xkbprint-1.0.1-x86_64-2.txt
+-rw-r--r-- 1 root root 42012 2009-06-03 05:41 ./slackware64/x/xkbprint-1.0.1-x86_64-2.txz
+-rw-r--r-- 1 root root 197 2009-06-03 05:41 ./slackware64/x/xkbprint-1.0.1-x86_64-2.txz.asc
+-rw-r--r-- 1 root root 296 2009-06-03 05:41 ./slackware64/x/xkbutils-1.0.1-x86_64-2.txt
+-rw-r--r-- 1 root root 13912 2009-06-03 05:41 ./slackware64/x/xkbutils-1.0.1-x86_64-2.txz
+-rw-r--r-- 1 root root 197 2009-06-03 05:41 ./slackware64/x/xkbutils-1.0.1-x86_64-2.txz.asc
+-rw-r--r-- 1 root root 400 2009-06-03 05:26 ./slackware64/x/xkeyboard-config-1.6-noarch-1.txt
+-rw-r--r-- 1 root root 394820 2009-06-03 05:26 ./slackware64/x/xkeyboard-config-1.6-noarch-1.txz
+-rw-r--r-- 1 root root 197 2009-06-03 05:26 ./slackware64/x/xkeyboard-config-1.6-noarch-1.txz.asc
+-rw-r--r-- 1 root root 257 2009-06-03 05:41 ./slackware64/x/xkill-1.0.1-x86_64-2.txt
+-rw-r--r-- 1 root root 7024 2009-06-03 05:41 ./slackware64/x/xkill-1.0.1-x86_64-2.txz
+-rw-r--r-- 1 root root 197 2009-06-03 05:41 ./slackware64/x/xkill-1.0.1-x86_64-2.txz.asc
+-rw-r--r-- 1 root root 257 2009-06-03 05:42 ./slackware64/x/xload-1.0.2-x86_64-2.txt
+-rw-r--r-- 1 root root 7856 2009-06-03 05:42 ./slackware64/x/xload-1.0.2-x86_64-2.txz
+-rw-r--r-- 1 root root 197 2009-06-03 05:42 ./slackware64/x/xload-1.0.2-x86_64-2.txz.asc
+-rw-r--r-- 1 root root 257 2009-06-03 05:42 ./slackware64/x/xlogo-1.0.1-x86_64-2.txt
+-rw-r--r-- 1 root root 8868 2009-06-03 05:42 ./slackware64/x/xlogo-1.0.1-x86_64-2.txz
+-rw-r--r-- 1 root root 197 2009-06-03 05:42 ./slackware64/x/xlogo-1.0.1-x86_64-2.txz.asc
+-rw-r--r-- 1 root root 296 2009-06-03 05:42 ./slackware64/x/xlsatoms-1.0.1-x86_64-2.txt
+-rw-r--r-- 1 root root 5036 2009-06-03 05:42 ./slackware64/x/xlsatoms-1.0.1-x86_64-2.txz
+-rw-r--r-- 1 root root 197 2009-06-03 05:42 ./slackware64/x/xlsatoms-1.0.1-x86_64-2.txz.asc
+-rw-r--r-- 1 root root 322 2009-06-03 05:42 ./slackware64/x/xlsclients-1.0.1-x86_64-2.txt
+-rw-r--r-- 1 root root 5676 2009-06-03 05:42 ./slackware64/x/xlsclients-1.0.1-x86_64-2.txz
+-rw-r--r-- 1 root root 197 2009-06-03 05:42 ./slackware64/x/xlsclients-1.0.1-x86_64-2.txz.asc
+-rw-r--r-- 1 root root 296 2009-06-03 05:42 ./slackware64/x/xlsfonts-1.0.2-x86_64-2.txt
+-rw-r--r-- 1 root root 11372 2009-06-03 05:42 ./slackware64/x/xlsfonts-1.0.2-x86_64-2.txz
+-rw-r--r-- 1 root root 197 2009-06-03 05:42 ./slackware64/x/xlsfonts-1.0.2-x86_64-2.txz.asc
+-rw-r--r-- 1 root root 244 2009-06-03 05:42 ./slackware64/x/xmag-1.0.2-x86_64-2.txt
+-rw-r--r-- 1 root root 16192 2009-06-03 05:42 ./slackware64/x/xmag-1.0.2-x86_64-2.txz
+-rw-r--r-- 1 root root 197 2009-06-03 05:42 ./slackware64/x/xmag-1.0.2-x86_64-2.txz.asc
+-rw-r--r-- 1 root root 244 2009-06-03 05:42 ./slackware64/x/xman-1.0.3-x86_64-2.txt
+-rw-r--r-- 1 root root 32776 2009-06-03 05:42 ./slackware64/x/xman-1.0.3-x86_64-2.txz
+-rw-r--r-- 1 root root 197 2009-06-03 05:42 ./slackware64/x/xman-1.0.3-x86_64-2.txz.asc
+-rw-r--r-- 1 root root 296 2009-06-03 05:42 ./slackware64/x/xmessage-1.0.2-x86_64-2.txt
+-rw-r--r-- 1 root root 10120 2009-06-03 05:42 ./slackware64/x/xmessage-1.0.2-x86_64-2.txz
+-rw-r--r-- 1 root root 197 2009-06-03 05:42 ./slackware64/x/xmessage-1.0.2-x86_64-2.txz.asc
+-rw-r--r-- 1 root root 231 2009-06-03 05:42 ./slackware64/x/xmh-1.0.1-x86_64-2.txt
+-rw-r--r-- 1 root root 71004 2009-06-03 05:42 ./slackware64/x/xmh-1.0.1-x86_64-2.txz
+-rw-r--r-- 1 root root 197 2009-06-03 05:42 ./slackware64/x/xmh-1.0.1-x86_64-2.txz.asc
+-rw-r--r-- 1 root root 283 2009-06-03 05:42 ./slackware64/x/xmodmap-1.0.3-x86_64-2.txt
+-rw-r--r-- 1 root root 17852 2009-06-03 05:42 ./slackware64/x/xmodmap-1.0.3-x86_64-2.txz
+-rw-r--r-- 1 root root 197 2009-06-03 05:42 ./slackware64/x/xmodmap-1.0.3-x86_64-2.txz.asc
+-rw-r--r-- 1 root root 257 2009-06-03 05:42 ./slackware64/x/xmore-1.0.1-x86_64-2.txt
+-rw-r--r-- 1 root root 4936 2009-06-03 05:42 ./slackware64/x/xmore-1.0.1-x86_64-2.txz
+-rw-r--r-- 1 root root 197 2009-06-03 05:42 ./slackware64/x/xmore-1.0.1-x86_64-2.txz.asc
+-rw-r--r-- 1 root root 361 2009-08-11 03:33 ./slackware64/x/xorg-cf-files-1.0.2-noarch-3.txt
+-rw-r--r-- 1 root root 163608 2009-08-11 03:33 ./slackware64/x/xorg-cf-files-1.0.2-noarch-3.txz
+-rw-r--r-- 1 root root 197 2009-08-11 03:33 ./slackware64/x/xorg-cf-files-1.0.2-noarch-3.txz.asc
+-rw-r--r-- 1 root root 309 2009-06-03 05:44 ./slackware64/x/xorg-docs-1.4-noarch-2.txt
+-rw-r--r-- 1 root root 5630612 2009-06-03 05:44 ./slackware64/x/xorg-docs-1.4-noarch-2.txz
+-rw-r--r-- 1 root root 197 2009-06-03 05:44 ./slackware64/x/xorg-docs-1.4-noarch-2.txz.asc
+-rw-r--r-- 1 root root 698 2009-08-04 00:40 ./slackware64/x/xorg-server-1.6.3-x86_64-1.txt
+-rw-r--r-- 1 root root 1643972 2009-08-04 00:40 ./slackware64/x/xorg-server-1.6.3-x86_64-1.txz
+-rw-r--r-- 1 root root 197 2009-08-04 00:40 ./slackware64/x/xorg-server-1.6.3-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 370 2009-08-04 00:40 ./slackware64/x/xorg-server-xephyr-1.6.3-x86_64-1.txt
+-rw-r--r-- 1 root root 690832 2009-08-04 00:40 ./slackware64/x/xorg-server-xephyr-1.6.3-x86_64-1.txz
+-rw-r--r-- 1 root root 197 2009-08-04 00:40 ./slackware64/x/xorg-server-xephyr-1.6.3-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 595 2009-08-04 00:40 ./slackware64/x/xorg-server-xnest-1.6.3-x86_64-1.txt
+-rw-r--r-- 1 root root 534068 2009-08-04 00:40 ./slackware64/x/xorg-server-xnest-1.6.3-x86_64-1.txz
+-rw-r--r-- 1 root root 197 2009-08-04 00:40 ./slackware64/x/xorg-server-xnest-1.6.3-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 693 2009-08-04 00:40 ./slackware64/x/xorg-server-xvfb-1.6.3-x86_64-1.txt
+-rw-r--r-- 1 root root 621068 2009-08-04 00:40 ./slackware64/x/xorg-server-xvfb-1.6.3-x86_64-1.txz
+-rw-r--r-- 1 root root 197 2009-08-04 00:40 ./slackware64/x/xorg-server-xvfb-1.6.3-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 426 2009-06-03 05:44 ./slackware64/x/xorg-sgml-doctools-1.2-noarch-2.txt
+-rw-r--r-- 1 root root 1276 2009-06-03 05:44 ./slackware64/x/xorg-sgml-doctools-1.2-noarch-2.txz
+-rw-r--r-- 1 root root 197 2009-06-03 05:44 ./slackware64/x/xorg-sgml-doctools-1.2-noarch-2.txz.asc
+-rw-r--r-- 1 root root 348 2009-06-03 05:42 ./slackware64/x/xplsprinters-1.0.1-x86_64-2.txt
+-rw-r--r-- 1 root root 5424 2009-06-03 05:42 ./slackware64/x/xplsprinters-1.0.1-x86_64-2.txz
+-rw-r--r-- 1 root root 197 2009-06-03 05:42 ./slackware64/x/xplsprinters-1.0.1-x86_64-2.txz.asc
+-rw-r--r-- 1 root root 231 2009-06-03 05:42 ./slackware64/x/xpr-1.0.2-x86_64-2.txt
+-rw-r--r-- 1 root root 29956 2009-06-03 05:42 ./slackware64/x/xpr-1.0.2-x86_64-2.txz
+-rw-r--r-- 1 root root 197 2009-06-03 05:42 ./slackware64/x/xpr-1.0.2-x86_64-2.txz.asc
+-rw-r--r-- 1 root root 439 2009-06-03 05:42 ./slackware64/x/xprehashprinterlist-1.0.1-x86_64-2.txt
+-rw-r--r-- 1 root root 3848 2009-06-03 05:42 ./slackware64/x/xprehashprinterlist-1.0.1-x86_64-2.txz
+-rw-r--r-- 1 root root 197 2009-06-03 05:42 ./slackware64/x/xprehashprinterlist-1.0.1-x86_64-2.txz.asc
+-rw-r--r-- 1 root root 257 2009-06-03 05:42 ./slackware64/x/xprop-1.0.4-x86_64-2.txt
+-rw-r--r-- 1 root root 19868 2009-06-03 05:42 ./slackware64/x/xprop-1.0.4-x86_64-2.txz
+-rw-r--r-- 1 root root 197 2009-06-03 05:42 ./slackware64/x/xprop-1.0.4-x86_64-2.txz.asc
+-rw-r--r-- 1 root root 270 2009-06-03 05:26 ./slackware64/x/xproto-7.0.15-noarch-1.txt
+-rw-r--r-- 1 root root 59632 2009-06-03 05:26 ./slackware64/x/xproto-7.0.15-noarch-1.txz
+-rw-r--r-- 1 root root 197 2009-06-03 05:26 ./slackware64/x/xproto-7.0.15-noarch-1.txz.asc
+-rw-r--r-- 1 root root 504 2009-06-03 05:26 ./slackware64/x/xproxymanagementprotocol-1.0.2-noarch-2.txt
+-rw-r--r-- 1 root root 2008 2009-06-03 05:26 ./slackware64/x/xproxymanagementprotocol-1.0.2-noarch-2.txz
+-rw-r--r-- 1 root root 197 2009-06-03 05:26 ./slackware64/x/xproxymanagementprotocol-1.0.2-noarch-2.txz.asc
+-rw-r--r-- 1 root root 244 2009-06-03 05:27 ./slackware64/x/xpyb-1.1-x86_64-1.txt
+-rw-r--r-- 1 root root 101144 2009-06-03 05:27 ./slackware64/x/xpyb-1.1-x86_64-1.txz
+-rw-r--r-- 1 root root 197 2009-06-03 05:27 ./slackware64/x/xpyb-1.1-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 270 2009-06-03 05:42 ./slackware64/x/xrandr-1.3.0-x86_64-1.txt
+-rw-r--r-- 1 root root 30304 2009-06-03 05:42 ./slackware64/x/xrandr-1.3.0-x86_64-1.txz
+-rw-r--r-- 1 root root 197 2009-06-03 05:42 ./slackware64/x/xrandr-1.3.0-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 244 2009-06-03 05:42 ./slackware64/x/xrdb-1.0.5-x86_64-2.txt
+-rw-r--r-- 1 root root 15544 2009-06-03 05:42 ./slackware64/x/xrdb-1.0.5-x86_64-2.txz
+-rw-r--r-- 1 root root 197 2009-06-03 05:42 ./slackware64/x/xrdb-1.0.5-x86_64-2.txz.asc
+-rw-r--r-- 1 root root 296 2009-06-03 05:42 ./slackware64/x/xrefresh-1.0.2-x86_64-2.txt
+-rw-r--r-- 1 root root 6096 2009-06-03 05:42 ./slackware64/x/xrefresh-1.0.2-x86_64-2.txz
+-rw-r--r-- 1 root root 197 2009-06-03 05:42 ./slackware64/x/xrefresh-1.0.2-x86_64-2.txz.asc
+-rw-r--r-- 1 root root 270 2009-06-03 05:43 ./slackware64/x/xscope-1.1-x86_64-1.txt
+-rw-r--r-- 1 root root 52100 2009-06-03 05:43 ./slackware64/x/xscope-1.1-x86_64-1.txz
+-rw-r--r-- 1 root root 197 2009-06-03 05:43 ./slackware64/x/xscope-1.1-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 244 2009-06-03 05:43 ./slackware64/x/xset-1.0.4-x86_64-2.txt
+-rw-r--r-- 1 root root 17292 2009-06-03 05:43 ./slackware64/x/xset-1.0.4-x86_64-2.txz
+-rw-r--r-- 1 root root 197 2009-06-03 05:43 ./slackware64/x/xset-1.0.4-x86_64-2.txz.asc
+-rw-r--r-- 1 root root 296 2009-06-03 05:43 ./slackware64/x/xsetmode-1.0.0-x86_64-2.txt
+-rw-r--r-- 1 root root 3428 2009-06-03 05:43 ./slackware64/x/xsetmode-1.0.0-x86_64-2.txz
+-rw-r--r-- 1 root root 197 2009-06-03 05:43 ./slackware64/x/xsetmode-1.0.0-x86_64-2.txz.asc
+-rw-r--r-- 1 root root 335 2009-06-03 05:43 ./slackware64/x/xsetpointer-1.0.1-x86_64-2.txt
+-rw-r--r-- 1 root root 3908 2009-06-03 05:43 ./slackware64/x/xsetpointer-1.0.1-x86_64-2.txz
+-rw-r--r-- 1 root root 197 2009-06-03 05:43 ./slackware64/x/xsetpointer-1.0.1-x86_64-2.txz.asc
+-rw-r--r-- 1 root root 296 2009-06-03 05:43 ./slackware64/x/xsetroot-1.0.2-x86_64-2.txt
+-rw-r--r-- 1 root root 8308 2009-06-03 05:43 ./slackware64/x/xsetroot-1.0.2-x86_64-2.txz
+-rw-r--r-- 1 root root 197 2009-06-03 05:43 ./slackware64/x/xsetroot-1.0.2-x86_64-2.txz.asc
+-rw-r--r-- 1 root root 231 2009-06-03 05:43 ./slackware64/x/xsm-1.0.1-x86_64-2.txt
+-rw-r--r-- 1 root root 41896 2009-06-03 05:43 ./slackware64/x/xsm-1.0.1-x86_64-2.txz
+-rw-r--r-- 1 root root 197 2009-06-03 05:43 ./slackware64/x/xsm-1.0.1-x86_64-2.txz.asc
+-rw-r--r-- 1 root root 296 2009-06-03 05:43 ./slackware64/x/xstdcmap-1.0.1-x86_64-2.txt
+-rw-r--r-- 1 root root 6512 2009-06-03 05:43 ./slackware64/x/xstdcmap-1.0.1-x86_64-2.txz
+-rw-r--r-- 1 root root 197 2009-06-03 05:43 ./slackware64/x/xstdcmap-1.0.1-x86_64-2.txz.asc
+-rw-r--r-- 1 root root 308 2009-06-09 00:02 ./slackware64/x/xterm-243-x86_64-2.txt
+-rw-r--r-- 1 root root 224644 2009-06-09 00:02 ./slackware64/x/xterm-243-x86_64-2.txz
+-rw-r--r-- 1 root root 197 2009-06-09 00:02 ./slackware64/x/xterm-243-x86_64-2.txz.asc
+-rw-r--r-- 1 root root 270 2009-08-04 00:40 ./slackware64/x/xtrans-1.2.4-noarch-1.txt
+-rw-r--r-- 1 root root 37704 2009-08-04 00:40 ./slackware64/x/xtrans-1.2.4-noarch-1.txz
+-rw-r--r-- 1 root root 197 2009-08-04 00:40 ./slackware64/x/xtrans-1.2.4-noarch-1.txz.asc
+-rw-r--r-- 1 root root 257 2009-06-03 05:43 ./slackware64/x/xtrap-1.0.2-x86_64-2.txt
+-rw-r--r-- 1 root root 16856 2009-06-03 05:43 ./slackware64/x/xtrap-1.0.2-x86_64-2.txz
+-rw-r--r-- 1 root root 197 2009-06-03 05:43 ./slackware64/x/xtrap-1.0.2-x86_64-2.txz.asc
+-rw-r--r-- 1 root root 296 2009-06-03 05:43 ./slackware64/x/xvidtune-1.0.1-x86_64-2.txt
+-rw-r--r-- 1 root root 16548 2009-06-03 05:43 ./slackware64/x/xvidtune-1.0.1-x86_64-2.txz
+-rw-r--r-- 1 root root 197 2009-06-03 05:43 ./slackware64/x/xvidtune-1.0.1-x86_64-2.txz.asc
+-rw-r--r-- 1 root root 270 2009-06-03 05:43 ./slackware64/x/xvinfo-1.0.2-x86_64-2.txt
+-rw-r--r-- 1 root root 5052 2009-06-03 05:43 ./slackware64/x/xvinfo-1.0.2-x86_64-2.txz
+-rw-r--r-- 1 root root 197 2009-06-03 05:43 ./slackware64/x/xvinfo-1.0.2-x86_64-2.txz.asc
+-rw-r--r-- 1 root root 231 2009-06-03 05:43 ./slackware64/x/xwd-1.0.2-x86_64-1.txt
+-rw-r--r-- 1 root root 14344 2009-06-03 05:43 ./slackware64/x/xwd-1.0.2-x86_64-1.txz
+-rw-r--r-- 1 root root 197 2009-06-03 05:43 ./slackware64/x/xwd-1.0.2-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 296 2009-06-03 05:43 ./slackware64/x/xwininfo-1.0.4-x86_64-1.txt
+-rw-r--r-- 1 root root 14856 2009-06-03 05:43 ./slackware64/x/xwininfo-1.0.4-x86_64-1.txz
+-rw-r--r-- 1 root root 197 2009-06-03 05:43 ./slackware64/x/xwininfo-1.0.4-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 244 2009-06-03 05:43 ./slackware64/x/xwud-1.0.1-x86_64-2.txt
+-rw-r--r-- 1 root root 13624 2009-06-03 05:43 ./slackware64/x/xwud-1.0.1-x86_64-2.txz
+-rw-r--r-- 1 root root 197 2009-06-03 05:43 ./slackware64/x/xwud-1.0.1-x86_64-2.txz.asc
+drwxr-xr-x 2 root root 12288 2009-08-25 04:55 ./slackware64/xap
+-rw-r--r-- 1 root root 479 2009-06-26 00:18 ./slackware64/xap/MPlayer-r29390-x86_64-1.txt
+-rw-r--r-- 1 root root 7493452 2009-06-26 00:18 ./slackware64/xap/MPlayer-r29390-x86_64-1.txz
+-rw-r--r-- 1 root root 197 2009-06-26 00:18 ./slackware64/xap/MPlayer-r29390-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 615 2009-04-11 15:56 ./slackware64/xap/audacious-1.5.1-x86_64-3.txt
+-rw-r--r-- 1 root root 849348 2009-04-11 15:56 ./slackware64/xap/audacious-1.5.1-x86_64-3.txz
+-rw-r--r-- 1 root root 197 2009-04-11 15:56 ./slackware64/xap/audacious-1.5.1-x86_64-3.txz.asc
+-rw-r--r-- 1 root root 424 2008-11-30 13:00 ./slackware64/xap/audacious-plugins-1.5.1-x86_64-4.txt
+-rw-r--r-- 1 root root 1032960 2008-11-30 13:00 ./slackware64/xap/audacious-plugins-1.5.1-x86_64-4.txz
+-rw-r--r-- 1 root root 197 2008-11-30 13:00 ./slackware64/xap/audacious-plugins-1.5.1-x86_64-4.txz.asc
+-rw-r--r-- 1 root root 441 2008-10-25 18:05 ./slackware64/xap/blackbox-0.65.0-x86_64-4.txt
+-rw-r--r-- 1 root root 260988 2008-10-25 18:05 ./slackware64/xap/blackbox-0.65.0-x86_64-4.txz
+-rw-r--r-- 1 root root 197 2008-10-25 18:05 ./slackware64/xap/blackbox-0.65.0-x86_64-4.txz.asc
+-rw-r--r-- 1 root root 652 2009-07-01 20:32 ./slackware64/xap/electricsheep-20090306-x86_64-2.txt
+-rw-r--r-- 1 root root 2460256 2009-07-01 20:32 ./slackware64/xap/electricsheep-20090306-x86_64-2.txz
+-rw-r--r-- 1 root root 197 2009-07-01 20:32 ./slackware64/xap/electricsheep-20090306-x86_64-2.txz.asc
+-rw-r--r-- 1 root root 229 2008-10-29 10:30 ./slackware64/xap/fluxbox-1.1.1-x86_64-1.txt
+-rw-r--r-- 1 root root 726900 2008-10-29 10:30 ./slackware64/xap/fluxbox-1.1.1-x86_64-1.txz
+-rw-r--r-- 1 root root 197 2008-10-29 10:30 ./slackware64/xap/fluxbox-1.1.1-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 337 2008-10-25 22:52 ./slackware64/xap/fvwm-2.4.20-x86_64-1.txt
+-rw-r--r-- 1 root root 1000700 2008-10-25 22:52 ./slackware64/xap/fvwm-2.4.20-x86_64-1.txz
+-rw-r--r-- 1 root root 197 2008-10-25 22:52 ./slackware64/xap/fvwm-2.4.20-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 444 2009-05-23 04:36 ./slackware64/xap/gftp-2.0.19-x86_64-2.txt
+-rw-r--r-- 1 root root 589988 2009-05-23 04:36 ./slackware64/xap/gftp-2.0.19-x86_64-2.txz
+-rw-r--r-- 1 root root 197 2009-05-23 04:36 ./slackware64/xap/gftp-2.0.19-x86_64-2.txz.asc
+-rw-r--r-- 1 root root 473 2009-06-09 19:11 ./slackware64/xap/gimp-2.6.6-x86_64-2.txt
+-rw-r--r-- 1 root root 9795212 2009-06-09 19:11 ./slackware64/xap/gimp-2.6.6-x86_64-2.txz
+-rw-r--r-- 1 root root 197 2009-06-09 19:11 ./slackware64/xap/gimp-2.6.6-x86_64-2.txz.asc
+-rw-r--r-- 1 root root 513 2008-10-29 10:13 ./slackware64/xap/gkrellm-2.3.2-x86_64-1.txt
+-rw-r--r-- 1 root root 514812 2008-10-29 10:13 ./slackware64/xap/gkrellm-2.3.2-x86_64-1.txz
+-rw-r--r-- 1 root root 197 2008-10-29 10:13 ./slackware64/xap/gkrellm-2.3.2-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 337 2009-05-23 04:36 ./slackware64/xap/gnuchess-5.07-x86_64-4.txt
+-rw-r--r-- 1 root root 853964 2009-05-23 04:36 ./slackware64/xap/gnuchess-5.07-x86_64-4.txz
+-rw-r--r-- 1 root root 197 2009-05-23 04:36 ./slackware64/xap/gnuchess-5.07-x86_64-4.txz.asc
+-rw-r--r-- 1 root root 647 2009-08-11 00:49 ./slackware64/xap/gnuplot-4.2.5-x86_64-1.txt
+-rw-r--r-- 1 root root 1051980 2009-08-11 00:49 ./slackware64/xap/gnuplot-4.2.5-x86_64-1.txz
+-rw-r--r-- 1 root root 197 2009-08-11 00:49 ./slackware64/xap/gnuplot-4.2.5-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 272 2008-11-04 14:14 ./slackware64/xap/gqview-2.1.5-x86_64-2.txt
+-rw-r--r-- 1 root root 650192 2008-11-04 14:14 ./slackware64/xap/gqview-2.1.5-x86_64-2.txz
+-rw-r--r-- 1 root root 197 2008-11-04 14:14 ./slackware64/xap/gqview-2.1.5-x86_64-2.txz.asc
+-rw-r--r-- 1 root root 209 2009-06-09 05:41 ./slackware64/xap/gucharmap-2.26.2-x86_64-1.txt
+-rw-r--r-- 1 root root 1926508 2009-06-09 05:41 ./slackware64/xap/gucharmap-2.26.2-x86_64-1.txz
+-rw-r--r-- 1 root root 197 2009-06-09 05:41 ./slackware64/xap/gucharmap-2.26.2-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 370 2009-05-09 21:44 ./slackware64/xap/gv-3.6.7-x86_64-1.txt
+-rw-r--r-- 1 root root 183192 2009-05-09 21:44 ./slackware64/xap/gv-3.6.7-x86_64-1.txz
+-rw-r--r-- 1 root root 197 2009-05-09 21:44 ./slackware64/xap/gv-3.6.7-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 336 2009-06-10 01:22 ./slackware64/xap/gxine-0.5.903-x86_64-2.txt
+-rw-r--r-- 1 root root 366732 2009-06-10 01:22 ./slackware64/xap/gxine-0.5.903-x86_64-2.txz
+-rw-r--r-- 1 root root 197 2009-06-10 01:22 ./slackware64/xap/gxine-0.5.903-x86_64-2.txz.asc
+-rw-r--r-- 1 root root 540 2009-06-09 05:51 ./slackware64/xap/imagemagick-6.5.3_3-x86_64-1.txt
+-rw-r--r-- 1 root root 4313328 2009-06-09 05:51 ./slackware64/xap/imagemagick-6.5.3_3-x86_64-1.txz
+-rw-r--r-- 1 root root 197 2009-06-09 05:51 ./slackware64/xap/imagemagick-6.5.3_3-x86_64-1.txz.asc
+-rwxr-xr-x 1 root root 2897 2009-06-24 22:06 ./slackware64/xap/install-packages
+-rw-r--r-- 1 root root 446 2006-09-18 10:41 ./slackware64/xap/install.end
+-rw-r--r-- 1 root root 4073 2009-08-19 00:07 ./slackware64/xap/maketag
+-rw-r--r-- 1 root root 4073 2009-08-19 00:07 ./slackware64/xap/maketag.ez
+-rw-r--r-- 1 root root 527 2009-08-03 19:09 ./slackware64/xap/mozilla-firefox-3.5.2-x86_64-1.txt
+-rw-r--r-- 1 root root 8883560 2009-08-03 19:09 ./slackware64/xap/mozilla-firefox-3.5.2-x86_64-1.txz
+-rw-r--r-- 1 root root 197 2009-08-03 19:09 ./slackware64/xap/mozilla-firefox-3.5.2-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 702 2009-08-21 02:53 ./slackware64/xap/mozilla-thunderbird-2.0.0.23-x86_64-1.txt
+-rw-r--r-- 1 root root 10010248 2009-08-21 02:53 ./slackware64/xap/mozilla-thunderbird-2.0.0.23-x86_64-1.txz
+-rw-r--r-- 1 root root 197 2009-08-21 02:53 ./slackware64/xap/mozilla-thunderbird-2.0.0.23-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 267 2008-11-06 15:38 ./slackware64/xap/pan-0.133-x86_64-1.txt
+-rw-r--r-- 1 root root 740284 2008-11-06 15:38 ./slackware64/xap/pan-0.133-x86_64-1.txz
+-rw-r--r-- 1 root root 197 2008-11-06 15:38 ./slackware64/xap/pan-0.133-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 469 2009-08-19 18:02 ./slackware64/xap/pidgin-2.5.9-x86_64-1.txt
+-rw-r--r-- 1 root root 6119640 2009-08-19 18:02 ./slackware64/xap/pidgin-2.5.9-x86_64-1.txz
+-rw-r--r-- 1 root root 197 2009-08-19 18:02 ./slackware64/xap/pidgin-2.5.9-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 395 2008-11-06 15:45 ./slackware64/xap/rdesktop-1.6.0-x86_64-1.txt
+-rw-r--r-- 1 root root 130948 2008-11-06 15:45 ./slackware64/xap/rdesktop-1.6.0-x86_64-1.txz
+-rw-r--r-- 1 root root 197 2008-11-06 15:45 ./slackware64/xap/rdesktop-1.6.0-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 425 2009-06-09 19:32 ./slackware64/xap/rxvt-2.7.10-x86_64-4.txt
+-rw-r--r-- 1 root root 162500 2009-06-09 19:32 ./slackware64/xap/rxvt-2.7.10-x86_64-4.txz
+-rw-r--r-- 1 root root 197 2009-06-09 19:32 ./slackware64/xap/rxvt-2.7.10-x86_64-4.txz.asc
+-rw-r--r-- 1 root root 321 2009-05-23 06:36 ./slackware64/xap/sane-1.0.19-x86_64-4.txt
+-rw-r--r-- 1 root root 2413448 2009-05-23 06:36 ./slackware64/xap/sane-1.0.19-x86_64-4.txz
+-rw-r--r-- 1 root root 197 2009-05-23 06:36 ./slackware64/xap/sane-1.0.19-x86_64-4.txz.asc
+-rw-r--r-- 1 root root 534 2009-06-24 19:08 ./slackware64/xap/seamonkey-1.1.17-x86_64-1.txt
+-rw-r--r-- 1 root root 13176452 2009-06-24 19:08 ./slackware64/xap/seamonkey-1.1.17-x86_64-1.txz
+-rw-r--r-- 1 root root 197 2009-06-24 19:08 ./slackware64/xap/seamonkey-1.1.17-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 609 2009-03-16 23:11 ./slackware64/xap/seyon-2.20c-x86_64-3.txt
+-rw-r--r-- 1 root root 113164 2009-03-16 23:11 ./slackware64/xap/seyon-2.20c-x86_64-3.txz
+-rw-r--r-- 1 root root 197 2009-03-16 23:11 ./slackware64/xap/seyon-2.20c-x86_64-3.txz.asc
+-rw-r--r-- 1 root root 588 2009-08-19 00:07 ./slackware64/xap/tagfile
+-rw-r--r-- 1 root root 488 2009-03-16 12:27 ./slackware64/xap/thunar-volman-0.3.80-x86_64-1.txt
+-rw-r--r-- 1 root root 70548 2009-03-16 12:27 ./slackware64/xap/thunar-volman-0.3.80-x86_64-1.txz
+-rw-r--r-- 1 root root 197 2009-03-16 12:27 ./slackware64/xap/thunar-volman-0.3.80-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 505 2009-08-25 01:14 ./slackware64/xap/vim-gvim-7.2.245-x86_64-1.txt
+-rw-r--r-- 1 root root 1450992 2009-08-25 01:14 ./slackware64/xap/vim-gvim-7.2.245-x86_64-1.txz
+-rw-r--r-- 1 root root 197 2009-08-25 01:14 ./slackware64/xap/vim-gvim-7.2.245-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 455 2009-06-09 20:06 ./slackware64/xap/windowmaker-20060427cvs-x86_64-2.txt
+-rw-r--r-- 1 root root 1783284 2009-06-09 20:06 ./slackware64/xap/windowmaker-20060427cvs-x86_64-2.txz
+-rw-r--r-- 1 root root 197 2009-06-09 20:06 ./slackware64/xap/windowmaker-20060427cvs-x86_64-2.txz.asc
+-rw-r--r-- 1 root root 308 2009-08-18 23:17 ./slackware64/xap/x11-ssh-askpass-1.2.4.1-x86_64-1.txt
+-rw-r--r-- 1 root root 20584 2009-08-18 23:17 ./slackware64/xap/x11-ssh-askpass-1.2.4.1-x86_64-1.txz
+-rw-r--r-- 1 root root 197 2009-08-18 23:17 ./slackware64/xap/x11-ssh-askpass-1.2.4.1-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 310 2008-11-06 15:59 ./slackware64/xap/x3270-3.3.7p8-x86_64-1.txt
+-rw-r--r-- 1 root root 508772 2008-11-06 15:59 ./slackware64/xap/x3270-3.3.7p8-x86_64-1.txz
+-rw-r--r-- 1 root root 197 2008-11-06 15:59 ./slackware64/xap/x3270-3.3.7p8-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 164 2009-06-09 19:34 ./slackware64/xap/xchat-2.8.6-x86_64-3.txt
+-rw-r--r-- 1 root root 1723072 2009-06-09 19:34 ./slackware64/xap/xchat-2.8.6-x86_64-3.txz
+-rw-r--r-- 1 root root 197 2009-06-09 19:34 ./slackware64/xap/xchat-2.8.6-x86_64-3.txz.asc
+-rw-r--r-- 1 root root 309 2009-08-06 03:16 ./slackware64/xap/xfce-4.6.1-x86_64-5.txt
+-rw-r--r-- 1 root root 12328656 2009-08-06 03:16 ./slackware64/xap/xfce-4.6.1-x86_64-5.txz
+-rw-r--r-- 1 root root 197 2009-08-06 03:16 ./slackware64/xap/xfce-4.6.1-x86_64-5.txz.asc
+-rw-r--r-- 1 root root 472 2009-06-12 20:54 ./slackware64/xap/xfce4-power-manager-0.6.6-x86_64-1.txt
+-rw-r--r-- 1 root root 237912 2009-06-12 20:54 ./slackware64/xap/xfce4-power-manager-0.6.6-x86_64-1.txz
+-rw-r--r-- 1 root root 197 2009-06-12 20:54 ./slackware64/xap/xfce4-power-manager-0.6.6-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 411 2008-11-06 14:17 ./slackware64/xap/xfractint-20.04p09-x86_64-1.txt
+-rw-r--r-- 1 root root 837944 2008-11-06 14:17 ./slackware64/xap/xfractint-20.04p09-x86_64-1.txz
+-rw-r--r-- 1 root root 197 2008-11-06 14:17 ./slackware64/xap/xfractint-20.04p09-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 239 2009-08-22 21:21 ./slackware64/xap/xgames-0.3-x86_64-2.txt
+-rw-r--r-- 1 root root 103428 2009-08-22 21:21 ./slackware64/xap/xgames-0.3-x86_64-2.txz
+-rw-r--r-- 1 root root 197 2009-08-22 21:21 ./slackware64/xap/xgames-0.3-x86_64-2.txz.asc
+-rw-r--r-- 1 root root 468 2009-06-09 18:54 ./slackware64/xap/xine-lib-1.1.16.3-x86_64-5.txt
+-rw-r--r-- 1 root root 3579360 2009-06-09 18:54 ./slackware64/xap/xine-lib-1.1.16.3-x86_64-5.txz
+-rw-r--r-- 1 root root 197 2009-06-09 18:54 ./slackware64/xap/xine-lib-1.1.16.3-x86_64-5.txz.asc
+-rw-r--r-- 1 root root 374 2009-05-23 06:54 ./slackware64/xap/xine-ui-0.99.5-x86_64-2.txt
+-rw-r--r-- 1 root root 1278736 2009-05-23 06:54 ./slackware64/xap/xine-ui-0.99.5-x86_64-2.txz
+-rw-r--r-- 1 root root 197 2009-05-23 06:54 ./slackware64/xap/xine-ui-0.99.5-x86_64-2.txz.asc
+-rw-r--r-- 1 root root 462 2009-08-08 01:11 ./slackware64/xap/xlockmore-5.28-x86_64-1.txt
+-rw-r--r-- 1 root root 985268 2009-08-08 01:11 ./slackware64/xap/xlockmore-5.28-x86_64-1.txz
+-rw-r--r-- 1 root root 197 2009-08-08 01:11 ./slackware64/xap/xlockmore-5.28-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 379 2009-06-09 20:22 ./slackware64/xap/xmms-1.2.11-x86_64-3.txt
+-rw-r--r-- 1 root root 1025152 2009-06-09 20:22 ./slackware64/xap/xmms-1.2.11-x86_64-3.txz
+-rw-r--r-- 1 root root 197 2009-06-09 20:22 ./slackware64/xap/xmms-1.2.11-x86_64-3.txz.asc
+-rw-r--r-- 1 root root 445 2008-11-06 21:50 ./slackware64/xap/xpaint-2.7.8.1-x86_64-2.txt
+-rw-r--r-- 1 root root 319984 2008-11-06 21:50 ./slackware64/xap/xpaint-2.7.8.1-x86_64-2.txz
+-rw-r--r-- 1 root root 197 2008-11-06 21:50 ./slackware64/xap/xpaint-2.7.8.1-x86_64-2.txz.asc
+-rw-r--r-- 1 root root 256 2009-05-10 10:58 ./slackware64/xap/xpdf-3.02pl3-x86_64-1.txt
+-rw-r--r-- 1 root root 1509652 2009-05-10 10:58 ./slackware64/xap/xpdf-3.02pl3-x86_64-1.txz
+-rw-r--r-- 1 root root 197 2009-05-10 10:58 ./slackware64/xap/xpdf-3.02pl3-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 499 2008-11-06 22:11 ./slackware64/xap/xsane-0.996-x86_64-1.txt
+-rw-r--r-- 1 root root 1624816 2008-11-06 22:11 ./slackware64/xap/xsane-0.996-x86_64-1.txz
+-rw-r--r-- 1 root root 197 2008-11-06 22:11 ./slackware64/xap/xsane-0.996-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 424 2009-05-16 00:18 ./slackware64/xap/xscreensaver-5.08-x86_64-2.txt
+-rw-r--r-- 1 root root 3422516 2009-05-16 00:18 ./slackware64/xap/xscreensaver-5.08-x86_64-2.txz
+-rw-r--r-- 1 root root 197 2009-05-16 00:18 ./slackware64/xap/xscreensaver-5.08-x86_64-2.txz.asc
+-rw-r--r-- 1 root root 235 2008-11-06 22:31 ./slackware64/xap/xv-3.10a-x86_64-5.txt
+-rw-r--r-- 1 root root 925876 2008-11-06 22:31 ./slackware64/xap/xv-3.10a-x86_64-5.txz
+-rw-r--r-- 1 root root 197 2008-11-06 22:31 ./slackware64/xap/xv-3.10a-x86_64-5.txz.asc
+-rw-r--r-- 1 root root 418 2008-11-06 22:42 ./slackware64/xap/xxgdb-1.12-x86_64-2.txt
+-rw-r--r-- 1 root root 50184 2008-11-06 22:42 ./slackware64/xap/xxgdb-1.12-x86_64-2.txz
+-rw-r--r-- 1 root root 197 2008-11-06 22:42 ./slackware64/xap/xxgdb-1.12-x86_64-2.txz.asc
+drwxr-xr-x 2 root root 4096 2009-05-23 08:11 ./slackware64/y
+-rw-r--r-- 1 root root 596 2009-05-23 04:18 ./slackware64/y/bsd-games-2.13-x86_64-9.txt
+-rw-r--r-- 1 root root 1754988 2009-05-23 04:18 ./slackware64/y/bsd-games-2.13-x86_64-9.txz
+-rw-r--r-- 1 root root 197 2009-05-23 04:18 ./slackware64/y/bsd-games-2.13-x86_64-9.txz.asc
+-rwxr-xr-x 1 root root 2897 2009-06-24 22:06 ./slackware64/y/install-packages
+-rw-r--r-- 1 root root 446 2006-09-18 10:41 ./slackware64/y/install.end
+-rw-r--r-- 1 root root 1136 2009-04-30 20:01 ./slackware64/y/maketag
+-rw-r--r-- 1 root root 1136 2009-04-30 20:01 ./slackware64/y/maketag.ez
+-rw-r--r-- 1 root root 14 2009-04-30 20:01 ./slackware64/y/tagfile
+drwxr-xr-x 18 root root 4096 2015-10-31 21:08 ./source
+-rw-r--r-- 1 root root 311410 2015-10-31 21:08 ./source/CHECKSUMS.md5
+-rw-r--r-- 1 root root 181 2015-10-31 21:08 ./source/CHECKSUMS.md5.asc
+-rw-r--r-- 1 root root 434438 2015-10-31 21:07 ./source/FILE_LIST
+-rw-r--r-- 1 root root 6118676 2015-10-31 21:07 ./source/MANIFEST.bz2
+drwxr-xr-x 90 root root 4096 2009-08-26 03:22 ./source/a
+drwxr-xr-x 2 root root 4096 2009-08-26 03:17 ./source/a/aaa_base
+-rw-r--r-- 1 root root 11004 2009-08-26 03:17 ./source/a/aaa_base/_aaa_base.tar.gz
+-rwxr-xr-x 1 root root 1812 2009-08-26 03:23 ./source/a/aaa_base/aaa_base.SlackBuild
+-rw-r--r-- 1 root root 786 2002-03-28 08:05 ./source/a/aaa_base/slack-desc
+-rw-r--r-- 1 root root 21 2009-06-16 18:05 ./source/a/aaa_base/slackware-version
+drwxr-xr-x 2 root root 4096 2009-05-23 00:41 ./source/a/aaa_elflibs
+-rwxr-xr-x 1 root root 2335 2009-08-22 05:48 ./source/a/aaa_elflibs/aaa_elflibs.SlackBuild
+-rw-r--r-- 1 root root 1030 2004-06-14 04:14 ./source/a/aaa_elflibs/slack-desc
+-rw-r--r-- 1 root root 1233 2009-03-30 07:39 ./source/a/aaa_elflibs/symlinks-to-tracked-libs
+-rw-r--r-- 1 root root 170 2008-04-03 04:10 ./source/a/aaa_elflibs/tracked-files
+drwxr-xr-x 2 root root 4096 2009-05-19 20:05 ./source/a/aaa_terminfo
+-rwxr-xr-x 1 root root 2183 2009-05-19 20:05 ./source/a/aaa_terminfo/aaa_terminfo.SlackBuild
+-rw-r--r-- 1 root root 968 2007-01-02 23:40 ./source/a/aaa_terminfo/slack-desc
+drwxr-xr-x 2 root root 4096 2009-05-19 20:05 ./source/a/acl
+-rwxr-xr-x 1 root root 3474 2009-05-19 20:05 ./source/a/acl/acl.SlackBuild
+-rw-r--r-- 1 root root 507 2008-04-01 04:58 ./source/a/acl/acl.destdir.diff.gz
+-rw-r--r-- 1 root root 154823 2008-02-11 06:35 ./source/a/acl/acl_2.2.47-1.tar.gz
+-rw-r--r-- 1 root root 819 2006-02-21 04:39 ./source/a/acl/slack-desc
+drwxr-xr-x 2 root root 4096 2009-05-19 20:05 ./source/a/acpid
+-rw-r--r-- 1 root root 224 2004-02-05 01:54 ./source/a/acpid/acpi_handler.sh.gz
+-rw-r--r-- 1 root root 23988 2008-10-29 03:57 ./source/a/acpid/acpid-1.0.8.tar.bz2
+-rwxr-xr-x 1 root root 2592 2009-05-19 20:05 ./source/a/acpid/acpid.SlackBuild
+-rw-r--r-- 1 root root 399 2002-05-16 21:44 ./source/a/acpid/default.gz
+-rw-r--r-- 1 root root 277 2008-11-19 23:29 ./source/a/acpid/doinst.sh.gz
+-rw-r--r-- 1 root root 258 2003-08-28 06:56 ./source/a/acpid/rc.acpid.gz
+-rw-r--r-- 1 root root 867 2002-05-16 21:59 ./source/a/acpid/slack-desc
+drwxr-xr-x 2 root root 4096 2009-05-19 20:05 ./source/a/apmd
+-rw-r--r-- 1 root root 61686 2004-04-30 04:29 ./source/a/apmd/apmd-3.2.2.tar.bz2
+-rwxr-xr-x 1 root root 3158 2009-06-10 01:19 ./source/a/apmd/apmd.SlackBuild
+-rw-r--r-- 1 root root 1009 2002-02-22 00:45 ./source/a/apmd/slack-desc
+drwxr-xr-x 2 root root 4096 2009-05-19 20:05 ./source/a/attr
+-rwxr-xr-x 1 root root 3521 2009-05-19 20:05 ./source/a/attr/attr.SlackBuild
+-rw-r--r-- 1 root root 510 2008-04-01 04:54 ./source/a/attr/attr.destdir.diff.gz
+-rw-r--r-- 1 root root 116991 2008-07-03 07:41 ./source/a/attr/attr_2.4.43-1.tar.gz
+-rw-r--r-- 1 root root 88 2006-02-28 00:02 ./source/a/attr/build
+-rw-r--r-- 1 root root 1011 2006-02-21 04:44 ./source/a/attr/slack-desc
+drwxr-xr-x 3 root root 4096 2009-05-19 20:05 ./source/a/bash
+-rw-r--r-- 1 root root 2533934 2005-12-08 16:51 ./source/a/bash/bash-3.1.tar.gz
+-rwxr-xr-x 1 root root 3185 2009-05-19 20:05 ./source/a/bash/bash.SlackBuild
+-rw-r--r-- 1 root root 205 2002-08-27 00:02 ./source/a/bash/doinst.sh.gz
+drwxr-xr-x 2 root root 4096 2006-05-13 23:54 ./source/a/bash/patches
+-rw-r--r-- 1 root root 1120 2005-12-21 22:49 ./source/a/bash/patches/bash31-001.gz
+-rw-r--r-- 1 root root 2247 2006-01-09 17:02 ./source/a/bash/patches/bash31-002.gz
+-rw-r--r-- 1 root root 762 2006-01-09 17:02 ./source/a/bash/patches/bash31-003.gz
+-rw-r--r-- 1 root root 684 2006-01-09 17:02 ./source/a/bash/patches/bash31-004.gz
+-rw-r--r-- 1 root root 692 2006-01-09 17:02 ./source/a/bash/patches/bash31-005.gz
+-rw-r--r-- 1 root root 730 2006-02-03 20:46 ./source/a/bash/patches/bash31-006.gz
+-rw-r--r-- 1 root root 1289 2006-02-03 20:46 ./source/a/bash/patches/bash31-007.gz
+-rw-r--r-- 1 root root 669 2006-02-15 22:20 ./source/a/bash/patches/bash31-008.gz
+-rw-r--r-- 1 root root 872 2006-02-20 13:30 ./source/a/bash/patches/bash31-009.gz
+-rw-r--r-- 1 root root 914 2006-02-20 13:30 ./source/a/bash/patches/bash31-010.gz
+-rw-r--r-- 1 root root 682 2006-02-27 22:45 ./source/a/bash/patches/bash31-011.gz
+-rw-r--r-- 1 root root 614 2006-03-16 14:14 ./source/a/bash/patches/bash31-012.gz
+-rw-r--r-- 1 root root 589 2006-03-16 14:14 ./source/a/bash/patches/bash31-013.gz
+-rw-r--r-- 1 root root 1155 2006-03-16 14:14 ./source/a/bash/patches/bash31-014.gz
+-rw-r--r-- 1 root root 1084 2006-03-30 14:20 ./source/a/bash/patches/bash31-015.gz
+-rw-r--r-- 1 root root 696 2006-03-30 14:20 ./source/a/bash/patches/bash31-016.gz
+-rw-r--r-- 1 root root 1276 2006-04-12 15:26 ./source/a/bash/patches/bash31-017.gz
+-rw-r--r-- 1 root root 965 2002-03-23 21:47 ./source/a/bash/slack-desc
+drwxr-xr-x 3 root root 4096 2009-05-19 20:05 ./source/a/bin
+-rw-r--r-- 1 root root 7275 1994-12-30 09:11 ./source/a/bin/banners.tar.gz
+-rwxr-xr-x 1 root root 4222 2009-05-19 20:05 ./source/a/bin/bin.SlackBuild
+-rw-r--r-- 1 root root 478 2004-02-24 17:32 ./source/a/bin/debianutils_2.7.dsc
+-rw-r--r-- 1 root root 165590 2004-02-24 17:32 ./source/a/bin/debianutils_2.7.tar.gz
+-rw-r--r-- 1 root root 27721 1999-10-07 14:42 ./source/a/bin/fbset-2.1.tar.gz
+drwxr-xr-x 2 root root 4096 2006-12-23 06:28 ./source/a/bin/scripts
+-rw-r--r-- 1 root root 195 2002-02-21 21:08 ./source/a/bin/scripts/diskcopy.gz
+-rw-r--r-- 1 root root 595 1993-05-02 00:04 ./source/a/bin/scripts/xx.gz
+-rw-r--r-- 1 root root 681 2006-12-21 20:40 ./source/a/bin/slack-desc
+-rw-r--r-- 1 root root 2403 1997-06-15 20:38 ./source/a/bin/todos.tar.gz
+drwxr-xr-x 2 root root 4096 2009-05-19 20:05 ./source/a/bzip2
+-rw-r--r-- 1 root root 280 2007-01-24 04:02 ./source/a/bzip2/bzip2-1.0.4.saneso.diff.gz
+-rw-r--r-- 1 root root 841402 2008-03-17 23:25 ./source/a/bzip2/bzip2-1.0.5.tar.gz
+-rwxr-xr-x 1 root root 3679 2009-05-19 20:05 ./source/a/bzip2/bzip2.SlackBuild
+-rw-r--r-- 1 root root 934 2002-02-19 04:26 ./source/a/bzip2/slack-desc
+drwxr-xr-x 2 root root 4096 2009-05-19 20:05 ./source/a/coreutils
+-rw-r--r-- 1 root root 1723 2009-04-11 18:47 ./source/a/coreutils/DIR_COLORS.gz
+-rw-r--r-- 1 root root 4048924 2009-05-07 17:05 ./source/a/coreutils/coreutils-7.4.tar.xz
+-rw-r--r-- 1 root root 835 2009-05-07 17:05 ./source/a/coreutils/coreutils-7.4.tar.xz.sig
+-rw-r--r-- 1 root root 779 2007-01-01 22:56 ./source/a/coreutils/coreutils-dircolors.csh.gz
+-rw-r--r-- 1 root root 1066 2007-01-01 22:57 ./source/a/coreutils/coreutils-dircolors.sh.gz
+-rwxr-xr-x 1 root root 6211 2009-05-19 20:05 ./source/a/coreutils/coreutils.SlackBuild
+-rw-r--r-- 1 root root 1794 2009-02-23 03:30 ./source/a/coreutils/coreutils.uname.diff.gz
+-rw-r--r-- 1 root root 270 2009-02-23 03:00 ./source/a/coreutils/doinst.sh.gz
+-rw-r--r-- 1 root root 985 2003-05-20 21:33 ./source/a/coreutils/slack-desc
+drwxr-xr-x 2 root root 4096 2009-05-23 02:17 ./source/a/cpio
+-rw-r--r-- 1 root root 348 2009-03-15 20:17 ./source/a/cpio/cpio-2.9.gcc43.diff.gz
+-rw-r--r-- 1 root root 758195 2007-06-29 16:51 ./source/a/cpio/cpio-2.9.tar.bz2
+-rwxr-xr-x 1 root root 3664 2009-05-19 20:05 ./source/a/cpio/cpio.SlackBuild
+-rw-r--r-- 1 root root 942 2002-03-23 21:52 ./source/a/cpio/slack-desc
+drwxr-xr-x 2 root root 4096 2009-08-24 03:23 ./source/a/cryptsetup
+-rw-r--r-- 1 root root 417339 2009-07-22 11:28 ./source/a/cryptsetup/cryptsetup-1.0.7.tar.bz2
+-rw-r--r-- 1 root root 197 2009-07-22 11:29 ./source/a/cryptsetup/cryptsetup-1.0.7.tar.bz2.asc
+-rwxr-xr-x 1 root root 4440 2009-08-24 03:28 ./source/a/cryptsetup/cryptsetup.SlackBuild
+-rw-r--r-- 1 root root 1042 2007-05-26 11:18 ./source/a/cryptsetup/slack-desc
+drwxr-xr-x 2 root root 4096 2009-08-22 02:31 ./source/a/cups
+-rw-r--r-- 1 root root 3048852 2009-07-02 22:13 ./source/a/cups/cups-1.3.11-source.tar.xz
+-rw-r--r-- 1 root root 199167 2004-01-03 18:49 ./source/a/cups/cups-samba-5.0rc3.tar.gz
+-rw-r--r-- 1 root root 38284 2006-04-19 23:55 ./source/a/cups/cups-windows-6.0-source.tar.bz2
+-rwxr-xr-x 1 root root 5487 2009-08-22 05:30 ./source/a/cups/cups.SlackBuild
+-rw-r--r-- 1 root root 286 2009-08-22 01:18 ./source/a/cups/cups.firefox.desktop.diff.gz
+-rw-r--r-- 1 root root 453 2007-05-09 21:13 ./source/a/cups/doinst.sh.gz
+-rw-r--r-- 1 root root 1099 2002-02-01 20:47 ./source/a/cups/slack-desc
+drwxr-xr-x 3 root root 4096 2009-07-24 23:40 ./source/a/cxxlibs
+-rwxr-xr-x 1 root root 1825 2009-07-24 23:41 ./source/a/cxxlibs/cxxlibs.SlackBuild
+drwxr-xr-x 2 root root 4096 2009-07-24 21:14 ./source/a/cxxlibs/oldgcc
+-rw-r--r-- 1 root root 23972413 2007-05-31 19:07 ./source/a/cxxlibs/oldgcc/gcc-3.3.6.tar.bz2
+-rw-r--r-- 1 root root 65 2007-05-31 19:07 ./source/a/cxxlibs/oldgcc/gcc-3.3.6.tar.bz2.sig
+-rwxr-xr-x 1 root root 2455 2009-07-24 21:15 ./source/a/cxxlibs/oldgcc/oldgcc.build
+-rw-r--r-- 1 root root 738 2002-03-23 21:52 ./source/a/cxxlibs/slack-desc
+-rw-r--r-- 1 root root 224 2008-04-03 05:03 ./source/a/cxxlibs/symlinks-to-tracked-libs
+-rw-r--r-- 1 root root 52 2009-07-24 23:39 ./source/a/cxxlibs/symlinks-to-tracked-libs64
+drwxr-xr-x 2 root root 4096 2009-06-09 02:52 ./source/a/dbus
+-rw-r--r-- 1 root root 1001892 2009-05-13 03:29 ./source/a/dbus/dbus-1.2.14.tar.xz
+-rwxr-xr-x 1 root root 3600 2009-06-09 02:52 ./source/a/dbus/dbus.SlackBuild
+-rw-r--r-- 1 root root 355 2008-09-23 18:06 ./source/a/dbus/doinst.sh.gz
+-rw-r--r-- 1 root root 773 2008-10-08 00:14 ./source/a/dbus/rc.messagebus.gz
+-rw-r--r-- 1 root root 945 2007-10-21 22:41 ./source/a/dbus/slack-desc
+drwxr-xr-x 2 root root 4096 2009-05-19 20:05 ./source/a/dcron
+-rw-r--r-- 1 root root 1127 2006-12-13 22:28 ./source/a/dcron/_dcron.tar.gz
+-rw-r--r-- 1 root root 350 2002-02-20 22:33 ./source/a/dcron/dcron-2.3.3.crontab.diff4.gz
+-rw-r--r-- 1 root root 544 1999-08-26 21:57 ./source/a/dcron/dcron-2.3.3.diff.gz
+-rw-r--r-- 1 root root 3987 2000-05-12 22:10 ./source/a/dcron/dcron-2.3.3.diff2.gz
+-rw-r--r-- 1 root root 192 2001-05-30 21:13 ./source/a/dcron/dcron-2.3.3.diff3.gz
+-rw-r--r-- 1 root root 594 1998-02-16 19:35 ./source/a/dcron/dcron-2.3.3.lsm
+-rw-r--r-- 1 root root 22962 1998-02-16 19:35 ./source/a/dcron/dcron-2.3.3.tar.gz
+-rw-r--r-- 1 root root 168 2002-04-09 08:07 ./source/a/dcron/dcron-2.3.3.version.diff.gz
+-rwxr-xr-x 1 root root 2957 2009-05-19 20:05 ./source/a/dcron/dcron.SlackBuild
+-rw-r--r-- 1 root root 208 2005-09-11 23:38 ./source/a/dcron/dcron.fork.diff.gz
+-rw-r--r-- 1 root root 198 1999-04-05 02:13 ./source/a/dcron/dcron.tmpdir.diff.gz
+-rw-r--r-- 1 root root 699 2002-04-15 02:48 ./source/a/dcron/run-parts.8.gz
+-rw-r--r-- 1 root root 566 2002-04-15 02:48 ./source/a/dcron/run-parts.gz
+-rw-r--r-- 1 root root 815 2002-02-21 22:50 ./source/a/dcron/slack-desc
+drwxr-xr-x 2 root root 4096 2009-05-19 20:05 ./source/a/device-mapper
+-rw-r--r-- 1 root root 1364 2008-10-06 11:19 ./source/a/device-mapper/64-device-mapper.rules
+-rw-r--r-- 1 root root 167532 2008-10-06 11:19 ./source/a/device-mapper/device-mapper.1.02.28.tar.bz2
+-rwxr-xr-x 1 root root 3645 2009-05-19 20:05 ./source/a/device-mapper/device-mapper.SlackBuild
+-rw-r--r-- 1 root root 983 2008-02-08 17:25 ./source/a/device-mapper/slack-desc
+drwxr-xr-x 2 root root 4096 2009-05-19 20:05 ./source/a/devs
+-rw-r--r-- 1 root root 92572 2006-09-20 03:46 ./source/a/devs/_devs.tar.gz
+-rwxr-xr-x 1 root root 2044 2009-05-19 20:05 ./source/a/devs/devs.SlackBuild
+-rw-r--r-- 1 root root 423 2002-06-09 19:32 ./source/a/devs/makedev.hd.diff.gz
+-rw-r--r-- 1 root root 27096 2000-11-11 19:33 ./source/a/devs/makedev_2.3.1-46.2.diff.gz
+-rw-r--r-- 1 root root 602 2003-09-02 20:00 ./source/a/devs/makedev_2.3.1.hd.diff.gz
+-rw-r--r-- 1 root root 10037 1998-09-07 17:52 ./source/a/devs/makedev_2.3.1.orig.tar.gz
+-rw-r--r-- 1 root root 262 2004-05-21 02:29 ./source/a/devs/makedev_2.3.1.slack.diff.gz
+-rw-r--r-- 1 root root 766 2002-03-20 01:10 ./source/a/devs/slack-desc
+drwxr-xr-x 2 root root 4096 2009-05-23 00:41 ./source/a/dialog
+-rw-r--r-- 1 root root 301393 2008-08-20 00:36 ./source/a/dialog/dialog-1.1-20080819.tar.bz2
+-rwxr-xr-x 1 root root 3537 2009-05-23 00:41 ./source/a/dialog/dialog.SlackBuild
+-rw-r--r-- 1 root root 334 2009-04-23 01:28 ./source/a/dialog/dialog.smaller.min.height.diff.gz
+-rw-r--r-- 1 root root 970 2007-01-02 22:29 ./source/a/dialog/slack-desc
+drwxr-xr-x 2 root root 4096 2009-05-19 20:05 ./source/a/dosfstools
+-rw-r--r-- 1 root root 68346 2005-03-12 16:33 ./source/a/dosfstools/dosfstools-2.11.src.tar.gz
+-rwxr-xr-x 1 root root 2605 2009-05-19 20:05 ./source/a/dosfstools/dosfstools.SlackBuild
+-rw-r--r-- 1 root root 742 2006-12-21 20:33 ./source/a/dosfstools/slack-desc
+drwxr-xr-x 2 root root 4096 2009-07-17 06:50 ./source/a/e2fsprogs
+-rw-r--r-- 1 root root 325 2009-05-30 01:25 ./source/a/e2fsprogs/doinst.sh.gz
+-rw-r--r-- 1 root root 3339836 2009-07-16 00:12 ./source/a/e2fsprogs/e2fsprogs-1.41.8.tar.xz
+-rwxr-xr-x 1 root root 4945 2009-07-17 06:41 ./source/a/e2fsprogs/e2fsprogs.SlackBuild
+-rw-r--r-- 1 root root 803 2009-05-30 01:25 ./source/a/e2fsprogs/slack-desc
+drwxr-xr-x 2 root root 4096 2009-06-12 20:59 ./source/a/ed
+-rw-r--r-- 1 root root 69427 2009-05-23 22:58 ./source/a/ed/ed-1.3.tar.bz2
+-rwxr-xr-x 1 root root 3177 2009-06-12 21:01 ./source/a/ed/ed.SlackBuild
+-rw-r--r-- 1 root root 805 2006-12-13 23:11 ./source/a/ed/slack-desc
+drwxr-xr-x 2 root root 4096 2009-05-19 20:05 ./source/a/eject
+-rw-r--r-- 1 root root 107301 2006-06-04 19:58 ./source/a/eject/eject-2.1.5.tar.bz2
+-rwxr-xr-x 1 root root 3093 2009-05-19 20:05 ./source/a/eject/eject.SlackBuild
+-rw-r--r-- 1 root root 886 2006-12-14 01:32 ./source/a/eject/slack-desc
+drwxr-xr-x 2 root root 4096 2009-05-19 20:05 ./source/a/elvis
+-rw-r--r-- 1 root root 1143603 2003-10-21 02:35 ./source/a/elvis/elvis-2.2_0.tar.bz2
+-rwxr-xr-x 1 root root 3567 2009-05-19 20:05 ./source/a/elvis/elvis.SlackBuild
+-rw-r--r-- 1 root root 1633 2004-02-22 06:19 ./source/a/elvis/elvis.clr
+-rw-r--r-- 1 root root 1584 2003-10-21 02:32 ./source/a/elvis/elvis.clr.orig
+-rw-r--r-- 1 root root 845 2008-02-11 03:44 ./source/a/elvis/slack-desc
+drwxr-xr-x 2 root root 4096 2009-08-22 19:29 ./source/a/etc
+-rw-r--r-- 1 root root 31788 2009-08-22 19:29 ./source/a/etc/_etc.tar.gz
+-rwxr-xr-x 1 root root 1761 2009-08-22 19:42 ./source/a/etc/etc.SlackBuild
+-rw-r--r-- 1 root root 536 2002-10-11 20:17 ./source/a/etc/nsswitch.conf.gz
+-rw-r--r-- 1 root root 657 2002-03-23 21:54 ./source/a/etc/slack-desc
+-rw-r--r-- 1 root root 226973 2000-03-02 23:51 ./source/a/etc/termcap-BSD.gz
+drwxr-xr-x 2 root root 4096 2009-06-12 23:07 ./source/a/file
+-rw-r--r-- 1 root root 471570 2009-05-06 20:52 ./source/a/file/file-5.03.tar.bz2
+-rwxr-xr-x 1 root root 4399 2009-06-12 22:44 ./source/a/file/file.SlackBuild
+-rw-r--r-- 1 root root 195 2009-02-23 01:20 ./source/a/file/file.crdaregbin.magic.gz
+-rw-r--r-- 1 root root 212 2009-06-12 22:40 ./source/a/file/file.etc.file.diff.gz
+-rw-r--r-- 1 root root 336 2009-02-09 04:19 ./source/a/file/file.quiet.diff.gz
+-rw-r--r-- 1 root root 272 2009-02-09 04:17 ./source/a/file/file.short.diff.gz
+-rw-r--r-- 1 root root 248 2009-04-23 04:50 ./source/a/file/file.xz.magic.gz
+-rw-r--r-- 1 root root 214 2005-09-07 03:59 ./source/a/file/file.zisofs.magic.gz
+-rw-r--r-- 1 root root 680 2006-12-13 22:49 ./source/a/file/slack-desc
+drwxr-xr-x 2 root root 4096 2009-06-13 00:01 ./source/a/findutils
+-rw-r--r-- 1 root root 1114432 2009-06-06 14:38 ./source/a/findutils/findutils-4.4.2.tar.xz
+-rwxr-xr-x 1 root root 3575 2009-06-13 00:02 ./source/a/findutils/findutils.SlackBuild
+-rw-r--r-- 1 root root 186 2009-02-21 21:50 ./source/a/findutils/findutils.no.default.options.warnings.diff.gz
+-rw-r--r-- 1 root root 359 2009-02-21 21:19 ./source/a/findutils/findutils.nolocate.diff.gz
+-rw-r--r-- 1 root root 828 2002-04-07 10:22 ./source/a/findutils/slack-desc
+drwxr-xr-x 2 root root 4096 2009-05-23 02:17 ./source/a/floppy
+-rw-r--r-- 1 root root 25310 2002-05-01 02:18 ./source/a/floppy/fdutils-5.4-20020222.diff.gz
+-rw-r--r-- 1 root root 190535 2001-02-04 04:36 ./source/a/floppy/fdutils-5.4.tar.gz
+-rw-r--r-- 1 root root 182 2001-02-04 05:02 ./source/a/floppy/fdutils.mediaprm.diff.gz
+-rwxr-xr-x 1 root root 3386 2009-05-19 20:05 ./source/a/floppy/floppy.SlackBuild
+-rw-r--r-- 1 root root 11298 2002-05-01 02:21 ./source/a/floppy/mediaprm
+-rw-r--r-- 1 root root 286730 2001-05-27 12:42 ./source/a/floppy/mtools-3.9.8.tar.gz
+-rw-r--r-- 1 root root 1914 2001-02-04 04:50 ./source/a/floppy/mtools.conf
+-rw-r--r-- 1 root root 728 2002-03-23 21:55 ./source/a/floppy/slack-desc
+drwxr-xr-x 2 root root 4096 2009-05-23 00:41 ./source/a/gawk
+-rw-r--r-- 1 root root 1861630 2007-10-25 21:58 ./source/a/gawk/gawk-3.1.6.tar.bz2
+-rw-r--r-- 1 root root 189 2007-10-25 21:58 ./source/a/gawk/gawk-3.1.6.tar.bz2.sig
+-rwxr-xr-x 1 root root 2901 2009-05-23 00:41 ./source/a/gawk/gawk.SlackBuild
+-rw-r--r-- 1 root root 1043 2002-03-23 21:56 ./source/a/gawk/slack-desc
+drwxr-xr-x 2 root root 4096 2009-05-19 20:05 ./source/a/genpower
+-rw-r--r-- 1 root root 66728 2005-01-04 22:32 ./source/a/genpower/genpower-1.0.5.tar.gz
+-rwxr-xr-x 1 root root 3077 2009-05-19 20:05 ./source/a/genpower/genpower.SlackBuild
+-rw-r--r-- 1 root root 514 2008-12-03 00:22 ./source/a/genpower/genpower.halt.diff.gz
+-rw-r--r-- 1 root root 460 2002-04-11 03:18 ./source/a/genpower/genpower.var.diff.gz
+-rw-r--r-- 1 root root 957 2002-04-11 05:06 ./source/a/genpower/slack-desc
+drwxr-xr-x 2 root root 4096 2009-05-19 20:05 ./source/a/gettext
+-rw-r--r-- 1 root root 8236607 2007-11-07 03:14 ./source/a/gettext/gettext-0.17.tar.bz2
+-rwxr-xr-x 1 root root 3274 2009-05-22 22:33 ./source/a/gettext/gettext-tools.SlackBuild
+-rwxr-xr-x 1 root root 3106 2009-05-19 20:05 ./source/a/gettext/gettext.SlackBuild
+-rw-r--r-- 1 root root 737 2008-02-11 03:44 ./source/a/gettext/slack-desc
+-rw-r--r-- 1 root root 1093 2008-02-11 03:44 ./source/a/gettext/slack-desc.gettext-tools
+drwxr-xr-x 2 root root 4096 2009-05-19 20:05 ./source/a/getty-ps
+-rwxr-xr-x 1 root root 2667 2009-05-19 20:05 ./source/a/getty-ps/getty-ps.SlackBuild
+-rw-r--r-- 1 root root 3609 2005-07-21 12:27 ./source/a/getty-ps/getty.bugfixes.diff.gz
+-rw-r--r-- 1 root root 1223 2002-10-04 05:00 ./source/a/getty-ps/getty_ps-2.1.0.lsm
+-rw-r--r-- 1 root root 117414 2005-07-21 12:27 ./source/a/getty-ps/getty_ps-2.1.0b.tar.gz
+-rw-r--r-- 1 root root 969 2008-02-11 03:44 ./source/a/getty-ps/slack-desc
+drwxr-xr-x 2 root root 4096 2009-05-19 20:05 ./source/a/gpm
+-rw-r--r-- 1 root root 344 2004-10-13 20:51 ./source/a/gpm/gpm-1.20.1-consolename.patch.gz
+-rw-r--r-- 1 root root 404 2004-09-09 05:52 ./source/a/gpm/gpm-1.20.1-gpmopen.patch.gz
+-rw-r--r-- 1 root root 274 2004-09-09 05:52 ./source/a/gpm/gpm-1.20.1-idie.patch.gz
+-rw-r--r-- 1 root root 289 2006-12-12 02:00 ./source/a/gpm/gpm-1.20.1-input-defines.diff.gz
+-rw-r--r-- 1 root root 301 2004-09-23 18:46 ./source/a/gpm/gpm-1.20.1-input.patch.gz
+-rw-r--r-- 1 root root 362 2006-01-18 12:07 ./source/a/gpm/gpm-1.20.1-lib-silent.patch.gz
+-rw-r--r-- 1 root root 294 2004-09-09 05:51 ./source/a/gpm/gpm-1.20.1-math.patch.gz
+-rw-r--r-- 1 root root 791 2004-10-20 21:28 ./source/a/gpm/gpm-1.20.1-multilib.patch.gz
+-rw-r--r-- 1 root root 356 2006-01-18 12:07 ./source/a/gpm/gpm-1.20.1-no-console-error.patch.gz
+-rw-r--r-- 1 root root 249 2004-10-13 20:03 ./source/a/gpm/gpm-1.20.1-nodebug.patch.gz
+-rw-r--r-- 1 root root 237 2004-09-09 05:52 ./source/a/gpm/gpm-1.20.1-subscript.patch.gz
+-rw-r--r-- 1 root root 515 2004-09-09 05:52 ./source/a/gpm/gpm-1.20.1-weak-wgetch.patch.gz
+-rw-r--r-- 1 root root 651 2006-08-20 19:46 ./source/a/gpm/gpm-1.20.1.send-noise-to-syslogs.diff.gz
+-rw-r--r-- 1 root root 565014 2004-06-25 18:13 ./source/a/gpm/gpm-1.20.1.tar.bz2
+-rw-r--r-- 1 root root 59408 2004-09-09 05:52 ./source/a/gpm/gpm-evdev-cumulative.patch.gz
+-rwxr-xr-x 1 root root 5475 2009-05-19 20:05 ./source/a/gpm/gpm.SlackBuild
+-rw-r--r-- 1 root root 285 2006-02-07 21:26 ./source/a/gpm/gpm.evdevmakefile.patch.gz
+-rw-r--r-- 1 root root 4268 2004-09-09 05:52 ./source/a/gpm/inputattach.c.gz
+-rw-r--r-- 1 root root 168 2001-04-15 23:47 ./source/a/gpm/mouseconfig.gz
+-rw-r--r-- 1 root root 2117 2008-03-15 20:30 ./source/a/gpm/setup.mouse.gz
+-rw-r--r-- 1 root root 965 2002-05-29 01:05 ./source/a/gpm/slack-desc
+drwxr-xr-x 2 root root 4096 2009-05-19 20:05 ./source/a/grep
+-rw-r--r-- 1 root root 723181 2009-02-10 13:58 ./source/a/grep/grep-2.5.4.tar.bz2
+-rwxr-xr-x 1 root root 3292 2009-05-19 20:05 ./source/a/grep/grep.SlackBuild
+-rw-r--r-- 1 root root 747 2002-04-02 08:53 ./source/a/grep/slack-desc
+drwxr-xr-x 2 root root 4096 2009-05-19 20:05 ./source/a/gzip
+-rw-r--r-- 1 root root 383783 2007-04-14 02:32 ./source/a/gzip/gzip-1.3.12.tar.bz2
+-rw-r--r-- 1 root root 189 2007-04-14 02:32 ./source/a/gzip/gzip-1.3.12.tar.sig
+-rwxr-xr-x 1 root root 4295 2009-05-19 20:05 ./source/a/gzip/gzip.SlackBuild
+-rw-r--r-- 1 root root 770 2002-03-23 21:58 ./source/a/gzip/slack-desc
+drwxr-xr-x 2 root root 4096 2009-05-19 20:05 ./source/a/hdparm
+-rw-r--r-- 1 root root 82912 2008-11-04 18:01 ./source/a/hdparm/hdparm-9.3.tar.bz2
+-rwxr-xr-x 1 root root 2226 2009-05-19 20:05 ./source/a/hdparm/hdparm.SlackBuild
+-rw-r--r-- 1 root root 805 2002-02-22 00:10 ./source/a/hdparm/slack-desc
+drwxr-xr-x 2 root root 4096 2009-08-24 08:47 ./source/a/infozip
+-rwxr-xr-x 1 root root 3159 2009-08-24 08:48 ./source/a/infozip/infozip.SlackBuild
+-rw-r--r-- 1 root root 924 2002-03-29 01:12 ./source/a/infozip/slack-desc
+-rw-r--r-- 1 root root 882180 2009-01-02 16:33 ./source/a/infozip/unzip60.tar.xz
+-rw-r--r-- 1 root root 775420 2008-07-05 17:31 ./source/a/infozip/zip30.tar.xz
+drwxr-xr-x 2 root root 4096 2009-05-19 20:05 ./source/a/inotify-tools
+-rw-r--r-- 1 root root 283893 2008-01-01 08:51 ./source/a/inotify-tools/inotify-tools-3.13.tar.bz2
+-rwxr-xr-x 1 root root 3344 2009-05-19 20:05 ./source/a/inotify-tools/inotify-tools.SlackBuild
+-rw-r--r-- 1 root root 977 2008-02-11 03:44 ./source/a/inotify-tools/slack-desc
+drwxr-xr-x 2 root root 4096 2009-06-12 23:20 ./source/a/jfsutils
+-rw-r--r-- 1 root root 414662 2009-04-06 19:17 ./source/a/jfsutils/jfsutils-1.1.14.tar.bz2
+-rwxr-xr-x 1 root root 3047 2009-06-12 23:20 ./source/a/jfsutils/jfsutils.SlackBuild
+-rw-r--r-- 1 root root 998 2003-02-16 21:43 ./source/a/jfsutils/slack-desc
+drwxr-xr-x 3 root root 4096 2009-05-16 19:10 ./source/a/kbd
+-rwxr-xr-x 1 root root 5901 2009-08-25 01:23 ./source/a/kbd/kbd.SlackBuild
+-rw-r--r-- 1 root root 11611 2009-05-16 22:41 ./source/a/kbd/setconsolefont
+-rw-r--r-- 1 root root 283 2009-05-14 19:13 ./source/a/kbd/setup.setconsolefont
+-rw-r--r-- 1 root root 919 2003-02-27 23:42 ./source/a/kbd/slack-desc
+drwxr-xr-x 2 root root 4096 2009-08-25 01:23 ./source/a/kbd/sources
+-rw-r--r-- 1 root root 24797 2001-05-26 05:49 ./source/a/kbd/sources/extraf.tgz
+-rw-r--r-- 1 root root 960 2009-01-08 14:46 ./source/a/kbd/sources/kbd-1.15-keycodes-man.patch.gz
+-rw-r--r-- 1 root root 522 2009-01-08 14:46 ./source/a/kbd/sources/kbd-1.15-po.patch.gz
+-rw-r--r-- 1 root root 659 2009-03-05 12:52 ./source/a/kbd/sources/kbd-1.15-quiet_doc.patch.gz
+-rw-r--r-- 1 root root 270 2009-01-08 14:46 ./source/a/kbd/sources/kbd-1.15-resizecon-x86_64.patch.gz
+-rw-r--r-- 1 root root 1243 2009-01-08 14:46 ./source/a/kbd/sources/kbd-1.15-sparc.patch.gz
+-rw-r--r-- 1 root root 399 2009-08-25 01:23 ./source/a/kbd/sources/kbd-1.15-unicode_start.patch.gz
+-rw-r--r-- 1 root root 875463 2008-12-01 19:58 ./source/a/kbd/sources/kbd-1.15.tar.bz2
+-rw-r--r-- 1 root root 248 2008-12-01 19:58 ./source/a/kbd/sources/kbd-1.15.tar.bz2.sign
+-rw-r--r-- 1 root root 4291 2007-10-15 12:16 ./source/a/kbd/sources/kbd-latarcyrheb-16-fixed.tar.bz2
+-rw-r--r-- 1 root root 6155 2006-09-29 11:13 ./source/a/kbd/sources/kbd-latsun-fonts.tar.bz2
+-rw-r--r-- 1 root root 224 2004-05-30 04:18 ./source/a/kbd/sources/nl.euro.diff.gz
+-rw-r--r-- 1 root root 2338 2007-11-14 11:41 ./source/a/kbd/sources/ro_maps.tar.bz2
+-rw-r--r-- 1 root root 3543 2002-05-24 21:22 ./source/a/kbd/sources/speakup-jfw.tar.gz
+-rw-r--r-- 1 root root 2246 2001-10-05 13:14 ./source/a/kbd/sources/speakupmap.map.gz
+drwxr-xr-x 2 root root 4096 2009-05-23 00:41 ./source/a/less
+-rw-r--r-- 1 root root 241227 2008-01-08 22:20 ./source/a/less/less-418.tar.bz2
+-rwxr-xr-x 1 root root 3097 2009-05-23 00:41 ./source/a/less/less.SlackBuild
+-rw-r--r-- 1 root root 313 2002-05-28 00:15 ./source/a/less/less.sysconfdir.diff.gz
+-rw-r--r-- 1 root root 1343 2009-04-11 17:48 ./source/a/less/lesspipe.sh.gz
+-rw-r--r-- 1 root root 841 2002-03-23 22:00 ./source/a/less/slack-desc
+drwxr-xr-x 2 root root 4096 2009-05-19 20:05 ./source/a/lha
+-rw-r--r-- 1 root root 64608 2000-12-15 12:20 ./source/a/lha/lha-114i.tar.gz
+-rwxr-xr-x 1 root root 2533 2009-05-19 20:05 ./source/a/lha/lha.SlackBuild
+-rw-r--r-- 1 root root 45132 2006-12-13 19:47 ./source/a/lha/lha_1.14i-10.1.diff.gz
+-rw-r--r-- 1 root root 606 2006-12-23 05:46 ./source/a/lha/slack-desc
+drwxr-xr-x 2 root root 4096 2009-05-19 20:05 ./source/a/lilo
+-rw-r--r-- 1 root root 437555 2007-02-19 18:18 ./source/a/lilo/lilo-22.8.src.tar.gz
+-rw-r--r-- 1 root root 536 2007-02-19 18:18 ./source/a/lilo/lilo-22.8.src.tar.gz.sig
+-rwxr-xr-x 1 root root 2785 2009-05-19 20:05 ./source/a/lilo/lilo.SlackBuild
+-rw-r--r-- 1 root root 38380 2009-02-23 11:00 ./source/a/lilo/liloconfig
+-rw-r--r-- 1 root root 105 2002-03-09 08:27 ./source/a/lilo/setup.liloconfig
+-rw-r--r-- 1 root root 1045 2002-03-23 22:00 ./source/a/lilo/slack-desc
+-rw-r--r-- 1 root root 15754 2008-02-22 00:08 ./source/a/lilo/slack.bmp
+-rw-r--r-- 1 root root 133 2008-02-22 00:08 ./source/a/lilo/slack.dat
+-rw-r--r-- 1 root root 17318 2008-12-09 00:56 ./source/a/lilo/slack64.bmp
+-rw-r--r-- 1 root root 3331 1994-07-08 18:55 ./source/a/lilo/text.lilohelp
+drwxr-xr-x 2 root root 4096 2009-05-19 20:05 ./source/a/logrotate
+-rw-r--r-- 1 root root 1258 2006-09-21 06:38 ./source/a/logrotate/_logrotate.tar.gz
+-rw-r--r-- 1 root root 38611 2006-07-24 12:13 ./source/a/logrotate/logrotate-3.7.4.tar.gz
+-rwxr-xr-x 1 root root 2255 2009-05-19 20:05 ./source/a/logrotate/logrotate.SlackBuild
+-rw-r--r-- 1 root root 775 2006-09-21 06:09 ./source/a/logrotate/logrotate.slackware.diff.gz
+-rw-r--r-- 1 root root 989 2002-04-07 06:41 ./source/a/logrotate/slack-desc
+drwxr-xr-x 2 root root 4096 2009-05-23 02:17 ./source/a/lvm2
+-rw-r--r-- 1 root root 474231 2008-10-06 12:21 ./source/a/lvm2/LVM2.2.02.40.tar.bz2
+-rw-r--r-- 1 root root 271 2008-10-06 12:21 ./source/a/lvm2/doinst.sh.gz
+-rwxr-xr-x 1 root root 3093 2009-05-19 20:05 ./source/a/lvm2/lvm2.SlackBuild
+-rw-r--r-- 1 root root 1012 2008-02-08 17:26 ./source/a/lvm2/slack-desc
+drwxr-xr-x 2 root root 4096 2009-05-19 20:05 ./source/a/mdadm
+-rw-r--r-- 1 root root 261 2004-05-27 18:31 ./source/a/mdadm/doinst.sh.gz
+-rw-r--r-- 1 root root 152401 2007-10-19 04:12 ./source/a/mdadm/mdadm-2.6.4.tar.bz2
+-rw-r--r-- 1 root root 248 2007-10-19 04:12 ./source/a/mdadm/mdadm-2.6.4.tar.bz2.sign
+-rwxr-xr-x 1 root root 2543 2009-05-19 20:05 ./source/a/mdadm/mdadm.SlackBuild
+-rw-r--r-- 1 root root 347 2006-06-25 05:30 ./source/a/mdadm/mdadm.static.small.diff.gz
+-rw-r--r-- 1 root root 928 2004-05-27 18:23 ./source/a/mdadm/slack-desc
+drwxr-xr-x 2 root root 4096 2009-05-23 00:41 ./source/a/minicom
+-rw-r--r-- 1 root root 503 2008-09-30 10:20 ./source/a/minicom/config.sub-x86_64.diff.gz
+-rw-r--r-- 1 root root 289 2004-09-04 21:22 ./source/a/minicom/doinst.sh.gz
+-rw-r--r-- 1 root root 16580 2001-03-25 19:17 ./source/a/minicom/lrzsz_0.12.21-4.diff.gz
+-rw-r--r-- 1 root root 287790 1999-09-19 19:01 ./source/a/minicom/lrzsz_0.12.21.orig.tar.gz
+-rw-r--r-- 1 root root 607939 2003-09-17 21:55 ./source/a/minicom/minicom-2.1.tar.gz
+-rw-r--r-- 1 root root 189 2003-09-17 21:54 ./source/a/minicom/minicom-2.1.tar.gz.asc
+-rwxr-xr-x 1 root root 4338 2009-05-23 00:41 ./source/a/minicom/minicom.SlackBuild
+-rw-r--r-- 1 root root 570 2004-09-04 21:17 ./source/a/minicom/minicom.users.gz
+-rw-r--r-- 1 root root 92 2004-09-04 21:16 ./source/a/minicom/minirc.dfl.gz
+-rw-r--r-- 1 root root 781 2002-03-29 01:13 ./source/a/minicom/slack-desc
+-rw-r--r-- 1 root root 568 2008-10-02 19:18 ./source/a/minicom/wintcap.diff.gz
+drwxr-xr-x 3 root root 4096 2009-07-15 19:16 ./source/a/mkinitrd
+-rw-r--r-- 1 root root 3723 2009-06-17 06:49 ./source/a/mkinitrd/README.initrd
+-rw-r--r-- 1 root root 2386 2009-04-21 03:21 ./source/a/mkinitrd/_initrd-tree.tar.gz
+drwxr-xr-x 2 root root 4096 2008-11-30 10:20 ./source/a/mkinitrd/archive
+-rw-r--r-- 1 root root 1924980 2008-08-21 19:40 ./source/a/mkinitrd/archive/busybox-1.11.2.tar.bz2
+-rw-r--r-- 1 root root 2017989 2008-08-20 23:27 ./source/a/mkinitrd/archive/busybox-1.12.0.tar.bz2
+-rw-r--r-- 1 root root 280 2007-11-27 21:36 ./source/a/mkinitrd/archive/busybox-1.7.2.no-gc-sections.diff.gz
+-rw-r--r-- 1 root root 470 2007-10-09 23:51 ./source/a/mkinitrd/archive/busybox-1.7.2.remove_warning.diff.gz
+-rw-r--r-- 1 root root 1729040 2007-10-09 23:52 ./source/a/mkinitrd/archive/busybox-1.7.2.tar.bz2
+-rw-r--r-- 1 root root 535 2007-10-09 23:52 ./source/a/mkinitrd/archive/busybox-1.7.2.tar.bz2.sign
+-rw-r--r-- 1 root root 20223 2008-09-23 21:26 ./source/a/mkinitrd/archive/busybox-dot-config.1.11.2
+-rw-r--r-- 1 root root 20380 2008-09-25 10:39 ./source/a/mkinitrd/archive/busybox-dot-config.1.12.0
+-rw-r--r-- 1 root root 20369 2008-11-07 10:25 ./source/a/mkinitrd/archive/busybox-dot-config.1.12.1
+-rw-r--r-- 1 root root 17000 2008-04-03 23:06 ./source/a/mkinitrd/archive/busybox-dot-config.1.7.2
+-rw-r--r-- 1 root root 2022321 2008-09-28 18:08 ./source/a/mkinitrd/busybox-1.12.1.tar.bz2
+-rw-r--r-- 1 root root 218 2008-11-07 01:40 ./source/a/mkinitrd/busybox-1.12.1_inotify.diff.gz
+-rw-r--r-- 1 root root 20369 2008-11-30 10:19 ./source/a/mkinitrd/busybox-dot-config
+-rwxr-xr-x 1 root root 7749 2009-04-02 22:13 ./source/a/mkinitrd/init
+-rw-r--r-- 1 root root 29903 2009-05-17 07:21 ./source/a/mkinitrd/keymaps.tar.gz
+-rw-r--r-- 1 root root 16243 2009-08-13 19:41 ./source/a/mkinitrd/mkinitrd
+-rw-r--r-- 1 root root 5889 2008-04-20 05:17 ./source/a/mkinitrd/mkinitrd.8
+-rwxr-xr-x 1 root root 4150 2009-08-13 20:00 ./source/a/mkinitrd/mkinitrd.SlackBuild
+-rw-r--r-- 1 root root 4227 2008-12-19 13:11 ./source/a/mkinitrd/mkinitrd.conf.5
+-rw-r--r-- 1 root root 343 2008-04-03 23:06 ./source/a/mkinitrd/mkinitrd.conf.sample
+-rw-r--r-- 1 root root 27049 2009-05-17 07:21 ./source/a/mkinitrd/mkinitrd_command_generator.sh
+-rw-r--r-- 1 root root 454 2008-12-11 11:02 ./source/a/mkinitrd/mkinitrd_kernelcheck.diff
+-rw-r--r-- 1 root root 988 2008-04-03 23:07 ./source/a/mkinitrd/slack-desc
+drwxr-xr-x 2 root root 4096 2009-05-19 20:05 ./source/a/module-init-tools
+-rw-r--r-- 1 root root 467 2007-09-24 14:55 ./source/a/module-init-tools/doinst.sh.gz
+-rw-r--r-- 1 root root 642 2009-02-08 07:43 ./source/a/module-init-tools/modprobe.favor.etc.modprobe.d.diff.gz
+-rw-r--r-- 1 root root 801 2009-02-08 07:58 ./source/a/module-init-tools/modprobe.ignore_some_suffixes.diff.gz
+-rw-r--r-- 1 root root 960 2009-03-13 11:48 ./source/a/module-init-tools/modprobe.no_sys_check.diff.gz
+-rw-r--r-- 1 root root 230327 2009-02-04 21:30 ./source/a/module-init-tools/module-init-tools-3.6.tar.bz2
+-rwxr-xr-x 1 root root 4097 2009-05-19 20:05 ./source/a/module-init-tools/module-init-tools.SlackBuild
+-rw-r--r-- 1 root root 856 2007-02-21 20:22 ./source/a/module-init-tools/slack-desc
+drwxr-xr-x 2 root root 4096 2009-05-19 20:05 ./source/a/mt-st
+-rw-r--r-- 1 root root 375 2007-05-15 02:19 ./source/a/mt-st/_mt-st.tar.gz
+-rw-r--r-- 1 root root 36537 2005-08-21 19:14 ./source/a/mt-st/mt-st-0.9b.tar.gz
+-rwxr-xr-x 1 root root 2702 2009-05-19 20:05 ./source/a/mt-st/mt-st.SlackBuild
+-rw-r--r-- 1 root root 949 2005-04-07 06:26 ./source/a/mt-st/mt-st.config.diff.gz
+-rw-r--r-- 1 root root 358 2005-10-25 10:17 ./source/a/mt-st/mt-st.man.diff.gz
+-rw-r--r-- 1 root root 236 2004-09-09 08:51 ./source/a/mt-st/mt-st.sdlt.diff.gz
+-rw-r--r-- 1 root root 943 2002-02-24 20:29 ./source/a/mt-st/slack-desc
+drwxr-xr-x 2 root root 4096 2009-05-19 20:05 ./source/a/mtx
+-rw-r--r-- 1 root root 220990 2007-01-25 23:16 ./source/a/mtx/mtx-1.3.9.tar.gz
+-rwxr-xr-x 1 root root 2745 2009-05-19 20:05 ./source/a/mtx/mtx.SlackBuild
+-rw-r--r-- 1 root root 854 2007-01-25 23:21 ./source/a/mtx/slack-desc
+drwxr-xr-x 2 root root 4096 2009-05-19 20:05 ./source/a/ncompress
+-rw-r--r-- 1 root root 304 2006-08-11 11:44 ./source/a/ncompress/ncompress-4.2.4-bssUnderflow.patch.gz
+-rw-r--r-- 1 root root 207 2006-09-19 12:34 ./source/a/ncompress/ncompress-4.2.4-endians.patch.gz
+-rw-r--r-- 1 root root 32533 1996-12-24 07:00 ./source/a/ncompress/ncompress-4.2.4.tar.gz
+-rw-r--r-- 1 root root 220 2004-10-05 09:15 ./source/a/ncompress/ncompress.2GB.diff.gz
+-rwxr-xr-x 1 root root 3100 2009-05-19 20:05 ./source/a/ncompress/ncompress.SlackBuild
+-rw-r--r-- 1 root root 1164 2004-09-09 09:01 ./source/a/ncompress/ncompress.filenamelen.diff.gz
+-rw-r--r-- 1 root root 773 2004-09-09 09:01 ./source/a/ncompress/ncompress.lfs2.diff.gz
+-rw-r--r-- 1 root root 952 2004-09-09 09:00 ./source/a/ncompress/ncompress.make.diff.gz
+-rw-r--r-- 1 root root 389 2006-04-21 12:20 ./source/a/ncompress/ncompress.zerobyteforce.diff.gz
+-rw-r--r-- 1 root root 1020 2006-12-14 01:48 ./source/a/ncompress/slack-desc
+drwxr-xr-x 2 root root 4096 2009-06-12 23:23 ./source/a/ntfs-3g
+-rw-r--r-- 1 root root 481 2008-03-15 01:38 ./source/a/ntfs-3g/10-ntfs-3g-policy.fdi
+-rw-r--r-- 1 root root 492893 2009-04-02 23:01 ./source/a/ntfs-3g/ntfs-3g-2009.4.4.tar.bz2
+-rwxr-xr-x 1 root root 3350 2009-06-12 23:23 ./source/a/ntfs-3g/ntfs-3g.SlackBuild
+-rw-r--r-- 1 root root 1003 2008-03-15 03:46 ./source/a/ntfs-3g/slack-desc
+drwxr-xr-x 2 root root 4096 2009-05-19 20:05 ./source/a/patch
+-rw-r--r-- 1 root root 186879 1999-08-31 09:17 ./source/a/patch/patch-2.5.4.tar.gz
+-rwxr-xr-x 1 root root 2191 2009-05-19 20:05 ./source/a/patch/patch.SlackBuild
+-rw-r--r-- 1 root root 1020 2006-12-14 02:21 ./source/a/patch/slack-desc
+drwxr-xr-x 2 root root 4096 2009-07-29 07:48 ./source/a/pciutils
+-rw-r--r-- 1 root root 271733 2009-07-29 07:19 ./source/a/pciutils/pciutils-3.1.3.tar.bz2
+-rwxr-xr-x 1 root root 3190 2009-08-09 02:53 ./source/a/pciutils/pciutils.SlackBuild
+-rw-r--r-- 1 root root 306 2009-07-29 07:26 ./source/a/pciutils/pciutils.ids.dest.diff.gz
+-rw-r--r-- 1 root root 92 2008-04-01 21:00 ./source/a/pciutils/pciutils.url
+-rw-r--r-- 1 root root 895 2006-12-19 23:55 ./source/a/pciutils/slack-desc
+drwxr-xr-x 3 root root 4096 2009-05-23 02:18 ./source/a/pcmciautils
+-rw-r--r-- 1 root root 1429 2007-03-16 14:50 ./source/a/pcmciautils/cis-cs-3.2.8.tar.gz
+drwxr-xr-x 2 root root 4096 2008-09-12 04:35 ./source/a/pcmciautils/config
+-rw-r--r-- 1 root root 926 2007-03-16 20:00 ./source/a/pcmciautils/config/60-pcmcia.rules
+-rw-r--r-- 1 root root 2577 2008-03-05 03:14 ./source/a/pcmciautils/config/config.opts
+-rwxr-xr-x 1 root root 1722 2007-03-16 21:09 ./source/a/pcmciautils/config/rc.pcmcia
+-rw-r--r-- 1 root root 277 2009-04-14 04:38 ./source/a/pcmciautils/doinst.sh.gz
+-rw-r--r-- 1 root root 43239 2008-07-15 04:16 ./source/a/pcmciautils/pcmciautils-015.tar.bz2
+-rwxr-xr-x 1 root root 3555 2009-05-19 20:05 ./source/a/pcmciautils/pcmciautils.SlackBuild
+-rw-r--r-- 1 root root 914 2009-04-14 04:35 ./source/a/pcmciautils/slack-desc
+drwxr-xr-x 5 root root 4096 2009-05-19 20:05 ./source/a/pkgtools
+drwxr-xr-x 2 root root 4096 2009-04-11 21:15 ./source/a/pkgtools/manpages
+-rw-r--r-- 1 root root 1256 2009-04-11 20:54 ./source/a/pkgtools/manpages/explodepkg.8
+-rw-r--r-- 1 root root 2561 2009-04-11 20:52 ./source/a/pkgtools/manpages/installpkg.8
+-rw-r--r-- 1 root root 4557 2009-04-11 20:51 ./source/a/pkgtools/manpages/makepkg.8
+-rw-r--r-- 1 root root 2518 2009-04-11 21:11 ./source/a/pkgtools/manpages/pkgtool.8
+-rw-r--r-- 1 root root 3080 2009-04-11 21:15 ./source/a/pkgtools/manpages/removepkg.8
+-rw-r--r-- 1 root root 3199 2001-06-07 08:29 ./source/a/pkgtools/manpages/setup.8-deprecated
+-rw-r--r-- 1 root root 2665 2009-04-11 21:14 ./source/a/pkgtools/manpages/upgradepkg.8
+drwxr-xr-x 2 root root 4096 2008-04-19 23:44 ./source/a/pkgtools/obsolete-scripts
+-rw-r--r-- 1 root root 155 2008-04-19 23:44 ./source/a/pkgtools/obsolete-scripts/README
+-rw-r--r-- 1 root root 1326 2003-02-16 00:57 ./source/a/pkgtools/obsolete-scripts/setup.90.modem-device
+-rwxr-xr-x 1 root root 2483 2009-08-16 21:35 ./source/a/pkgtools/pkgtools.SlackBuild
+drwxr-xr-x 2 root root 4096 2009-06-02 04:12 ./source/a/pkgtools/scripts
+-rw-r--r-- 1 root root 3170 2009-04-06 02:21 ./source/a/pkgtools/scripts/explodepkg
+-rw-r--r-- 1 root root 19653 2009-08-16 21:22 ./source/a/pkgtools/scripts/installpkg
+-rw-r--r-- 1 root root 13749 2009-04-06 02:14 ./source/a/pkgtools/scripts/makebootdisk
+-rw-r--r-- 1 root root 11315 2009-06-02 04:12 ./source/a/pkgtools/scripts/makepkg
+-rw-r--r-- 1 root root 22615 2009-06-18 02:24 ./source/a/pkgtools/scripts/pkgtool
+-rw-r--r-- 1 root root 14048 2009-04-28 20:44 ./source/a/pkgtools/scripts/removepkg
+-rw-r--r-- 1 root root 170 2003-02-16 00:56 ./source/a/pkgtools/scripts/setup.70.install-kernel
+-rw-r--r-- 1 root root 6356 2008-03-18 19:39 ./source/a/pkgtools/scripts/setup.80.make-bootdisk
+-rw-r--r-- 1 root root 1070 2007-06-27 00:28 ./source/a/pkgtools/scripts/setup.htmlview
+-rw-r--r-- 1 root root 7421 2008-03-19 08:13 ./source/a/pkgtools/scripts/setup.services
+-rw-r--r-- 1 root root 12087 2009-08-16 21:38 ./source/a/pkgtools/scripts/upgradepkg
+-rw-r--r-- 1 root root 1083 2002-03-23 04:15 ./source/a/pkgtools/slack-desc
+drwxr-xr-x 2 root root 4096 2009-05-23 00:41 ./source/a/procps
+-rw-r--r-- 1 root root 24365 2001-03-02 18:54 ./source/a/procps/procinfo-18.tar.gz
+-rw-r--r-- 1 root root 213 2003-02-07 21:39 ./source/a/procps/procinfo.gcc3.diff.gz
+-rw-r--r-- 1 root root 504 2001-03-02 18:54 ./source/a/procps/procinfo.lsm
+-rw-r--r-- 1 root root 824 2008-09-19 19:04 ./source/a/procps/procps-3.2.7-ps-eip64.diff.gz
+-rw-r--r-- 1 root root 281965 2006-06-25 06:14 ./source/a/procps/procps-3.2.7.tar.gz
+-rwxr-xr-x 1 root root 6216 2009-05-23 00:41 ./source/a/procps/procps.SlackBuild
+-rw-r--r-- 1 root root 854 2004-08-17 01:30 ./source/a/procps/procps.nowarning.diff.gz
+-rw-r--r-- 1 root root 182 2003-02-02 19:47 ./source/a/procps/procps.w.showfrom.diff.gz
+-rw-r--r-- 1 root root 257325 2006-09-14 23:06 ./source/a/procps/psmisc-22.3.tar.gz
+-rw-r--r-- 1 root root 739 2004-05-27 21:01 ./source/a/procps/slack-desc
+drwxr-xr-x 2 root root 4096 2009-06-22 20:00 ./source/a/quota
+-rw-r--r-- 1 root root 216356 2009-01-05 14:29 ./source/a/quota/quota-3.17.tar.xz
+-rwxr-xr-x 1 root root 3539 2009-06-22 19:58 ./source/a/quota/quota.SlackBuild
+-rw-r--r-- 1 root root 980 2002-03-31 08:30 ./source/a/quota/slack-desc
+drwxr-xr-x 2 root root 4096 2009-05-19 20:05 ./source/a/reiserfsprogs
+-rw-r--r-- 1 root root 324847 2009-01-12 22:13 ./source/a/reiserfsprogs/reiserfsprogs-3.6.21.tar.bz2
+-rwxr-xr-x 1 root root 3507 2009-05-19 20:05 ./source/a/reiserfsprogs/reiserfsprogs.SlackBuild
+-rw-r--r-- 1 root root 940 2008-02-11 03:44 ./source/a/reiserfsprogs/slack-desc
+drwxr-xr-x 2 root root 4096 2006-12-23 06:44 ./source/a/rpm2tgz
+-rw-r--r-- 1 root root 1809 2002-11-27 21:47 ./source/a/rpm2tgz/getrpmtype.tar.gz
+-rw-r--r-- 1 root root 4439 2009-08-08 22:26 ./source/a/rpm2tgz/rpm2targz
+-rw-r--r-- 1 root root 986 2006-12-23 06:51 ./source/a/rpm2tgz/rpm2targz.README
+-rwxr-xr-x 1 root root 2128 2009-08-08 22:50 ./source/a/rpm2tgz/rpm2tgz.SlackBuild
+-rw-r--r-- 1 root root 835 2004-06-13 23:10 ./source/a/rpm2tgz/rpmoffset.c
+-rw-r--r-- 1 root root 856 2008-02-11 03:44 ./source/a/rpm2tgz/slack-desc
+drwxr-xr-x 2 root root 4096 2009-05-19 20:05 ./source/a/sdparm
+-rw-r--r-- 1 root root 195605 2007-04-07 21:15 ./source/a/sdparm/sdparm-1.01.tar.bz2
+-rwxr-xr-x 1 root root 3176 2009-05-19 20:05 ./source/a/sdparm/sdparm.SlackBuild
+-rw-r--r-- 1 root root 924 2007-06-02 18:27 ./source/a/sdparm/slack-desc
+drwxr-xr-x 2 root root 4096 2009-05-19 20:05 ./source/a/sed
+-rw-r--r-- 1 root root 799584 2006-02-03 09:51 ./source/a/sed/sed-4.1.5.tar.gz
+-rw-r--r-- 1 root root 65 2006-02-03 09:51 ./source/a/sed/sed-4.1.5.tar.gz.sig
+-rwxr-xr-x 1 root root 2485 2009-05-19 20:05 ./source/a/sed/sed.SlackBuild
+-rw-r--r-- 1 root root 862 2003-09-01 21:35 ./source/a/sed/slack-desc
+drwxr-xr-x 2 root root 4096 2009-05-23 00:42 ./source/a/shadow
+-rw-r--r-- 1 root root 1293 2006-08-22 20:06 ./source/a/shadow/_shadow.tar.gz
+-rw-r--r-- 1 root root 15448 2009-08-01 01:59 ./source/a/shadow/adduser
+-rw-r--r-- 1 root root 778357 2002-03-14 04:27 ./source/a/shadow/shadow-4.0.3.tar.bz2
+-rw-r--r-- 1 root root 1471 2008-11-30 19:01 ./source/a/shadow/shadow-4.0.3.x86_64.diff.gz
+-rwxr-xr-x 1 root root 5002 2009-08-01 00:25 ./source/a/shadow/shadow.SlackBuild
+-rw-r--r-- 1 root root 178 2006-08-13 00:03 ./source/a/shadow/shadow.gcc34.diff.gz
+-rw-r--r-- 1 root root 1108 2008-03-24 20:11 ./source/a/shadow/shadow.login.defs.diff.gz
+-rw-r--r-- 1 root root 353 2003-06-01 04:21 ./source/a/shadow/shadow.newgrp.getlogin.gz
+-rw-r--r-- 1 root root 366 2002-10-13 19:47 ./source/a/shadow/shadow.newgrp.nopam.gz
+-rw-r--r-- 1 root root 1248 2006-08-20 23:32 ./source/a/shadow/shadow.remove.obsolete.options.diff.gz
+-rw-r--r-- 1 root root 657 2003-06-23 23:35 ./source/a/shadow/shadow.shadowconfig.diff.gz
+-rw-r--r-- 1 root root 993 2002-04-30 23:51 ./source/a/shadow/slack-desc
+drwxr-xr-x 2 root root 4096 2009-06-22 18:47 ./source/a/sharutils
+-rw-r--r-- 1 root root 640932 2007-07-01 12:05 ./source/a/sharutils/sharutils-4.7.tar.bz2
+-rw-r--r-- 1 root root 65 2007-07-01 12:05 ./source/a/sharutils/sharutils-4.7.tar.bz2.sig
+-rwxr-xr-x 1 root root 2632 2009-06-22 18:50 ./source/a/sharutils/sharutils.SlackBuild
+-rw-r--r-- 1 root root 1087 2006-05-19 01:57 ./source/a/sharutils/slack-desc
+drwxr-xr-x 2 root root 4096 2009-06-30 19:16 ./source/a/slocate
+-rw-r--r-- 1 root root 941 2009-07-18 00:05 ./source/a/slocate/_slocate.tar.gz
+-rw-r--r-- 1 root root 1011 2002-04-07 09:50 ./source/a/slocate/slack-desc
+-rw-r--r-- 1 root root 37748 2006-03-08 05:05 ./source/a/slocate/slocate-3.1.tar.gz
+-rw-r--r-- 1 root root 189 2006-03-08 05:05 ./source/a/slocate/slocate-3.1.tar.gz.sign
+-rwxr-xr-x 1 root root 2430 2009-07-18 00:43 ./source/a/slocate/slocate.SlackBuild
+drwxr-xr-x 2 root root 4096 2009-05-19 20:05 ./source/a/smartmontools
+-rw-r--r-- 1 root root 270 2004-04-12 02:03 ./source/a/smartmontools/doinst.sh.gz
+-rw-r--r-- 1 root root 1174 2002-10-21 22:55 ./source/a/smartmontools/slack-desc
+-rw-r--r-- 1 root root 500392 2008-03-10 11:08 ./source/a/smartmontools/smartmontools-5.38.tar.bz2
+-rwxr-xr-x 1 root root 2485 2009-05-19 20:05 ./source/a/smartmontools/smartmontools.SlackBuild
+drwxr-xr-x 2 root root 4096 2009-05-19 20:05 ./source/a/splitvt
+-rw-r--r-- 1 root root 743 2006-12-13 23:26 ./source/a/splitvt/slack-desc
+-rw-r--r-- 1 root root 64301 2001-01-18 07:58 ./source/a/splitvt/splitvt-1.6.5.tar.gz
+-rwxr-xr-x 1 root root 2281 2009-05-19 20:05 ./source/a/splitvt/splitvt.SlackBuild
+-rw-r--r-- 1 root root 10403 2005-07-19 22:17 ./source/a/splitvt/splitvt_1.6.5-9.diff.gz
+drwxr-xr-x 2 root root 4096 2009-05-19 20:05 ./source/a/sysfsutils
+-rw-r--r-- 1 root root 1005 2006-08-03 23:45 ./source/a/sysfsutils/slack-desc
+-rw-r--r-- 1 root root 288189 2006-12-12 01:33 ./source/a/sysfsutils/sysfsutils-2.1.0.tar.bz2
+-rwxr-xr-x 1 root root 3195 2009-05-19 20:05 ./source/a/sysfsutils/sysfsutils.SlackBuild
+drwxr-xr-x 2 root root 4096 2009-05-19 20:05 ./source/a/sysklogd
+-rw-r--r-- 1 root root 2289 2007-04-09 23:11 ./source/a/sysklogd/_sysklogd.tar.gz
+-rw-r--r-- 1 root root 916 2002-03-23 22:05 ./source/a/sysklogd/slack-desc
+-rw-r--r-- 1 root root 862 2007-04-09 23:25 ./source/a/sysklogd/sysklogd-1.4.1-owl-syslogd-crunch_list.diff.gz
+-rw-r--r-- 1 root root 1197 2001-03-11 21:33 ./source/a/sysklogd/sysklogd-1.4.1.lsm
+-rw-r--r-- 1 root root 81784 2001-03-11 21:33 ./source/a/sysklogd/sysklogd-1.4.1.tar.gz
+-rwxr-xr-x 1 root root 2850 2009-05-19 20:05 ./source/a/sysklogd/sysklogd.SlackBuild
+-rw-r--r-- 1 root root 26587 2006-09-28 21:52 ./source/a/sysklogd/sysklogd_1.4.1-20.diff.gz
+drwxr-xr-x 2 root root 4096 2009-05-19 20:05 ./source/a/syslinux
+-rw-r--r-- 1 root root 977 2002-03-22 08:06 ./source/a/syslinux/slack-desc
+-rw-r--r-- 1 root root 1691659 2007-09-25 23:37 ./source/a/syslinux/syslinux-3.52.tar.bz2
+-rw-r--r-- 1 root root 248 2007-09-25 23:37 ./source/a/syslinux/syslinux-3.52.tar.bz2.sign
+-rwxr-xr-x 1 root root 2829 2009-05-19 20:05 ./source/a/syslinux/syslinux.SlackBuild
+drwxr-xr-x 2 root root 4096 2009-05-19 20:05 ./source/a/sysvinit
+drwxr-xr-x 2 root root 4096 2009-05-19 20:05 ./source/a/sysvinit-functions
+-rw-r--r-- 1 root root 832 2007-04-29 18:51 ./source/a/sysvinit-functions/README.functions
+-rw-r--r-- 1 root root 226 2007-05-15 02:38 ./source/a/sysvinit-functions/doinst.sh.gz
+-rw-r--r-- 1 root root 10001 2007-04-29 18:21 ./source/a/sysvinit-functions/function-src-8.53.tar.bz2
+-rw-r--r-- 1 root root 13913 2006-10-26 20:57 ./source/a/sysvinit-functions/functions
+-rw-r--r-- 1 root root 1164 2007-05-15 02:46 ./source/a/sysvinit-functions/slack-desc
+-rwxr-xr-x 1 root root 3054 2009-05-19 20:05 ./source/a/sysvinit-functions/sysvinit-functions.SlackBuild
+drwxr-xr-x 3 root root 4096 2009-05-19 20:05 ./source/a/sysvinit-scripts
+-rw-r--r-- 1 root root 339 2008-03-19 08:28 ./source/a/sysvinit-scripts/doinst.sh.gz
+drwxr-xr-x 2 root root 4096 2008-03-31 03:07 ./source/a/sysvinit-scripts/scripts
+-rw-r--r-- 1 root root 60 2006-08-01 03:00 ./source/a/sysvinit-scripts/scripts/fetch-rescan-scsi-bus.sh
+-rw-r--r-- 1 root root 2467 2006-07-26 23:41 ./source/a/sysvinit-scripts/scripts/inittab
+-rw-r--r-- 1 root root 1282 2007-03-27 01:12 ./source/a/sysvinit-scripts/scripts/rc.4
+-rw-r--r-- 1 root root 7453 2008-12-02 20:32 ./source/a/sysvinit-scripts/scripts/rc.6
+-rw-r--r-- 1 root root 2425 2008-12-02 20:31 ./source/a/sysvinit-scripts/scripts/rc.K
+-rw-r--r-- 1 root root 10906 2009-04-25 22:01 ./source/a/sysvinit-scripts/scripts/rc.M
+-rw-r--r-- 1 root root 14253 2009-04-22 02:48 ./source/a/sysvinit-scripts/scripts/rc.S
+-rw-r--r-- 1 root root 272 2006-08-12 02:07 ./source/a/sysvinit-scripts/scripts/rc.local
+-rw-r--r-- 1 root root 1740 1999-09-11 20:48 ./source/a/sysvinit-scripts/scripts/rc.sysvinit
+-rw-r--r-- 1 root root 15654 2008-10-29 10:07 ./source/a/sysvinit-scripts/scripts/rescan-scsi-bus.sh
+-rw-r--r-- 1 root root 846 2007-05-15 02:47 ./source/a/sysvinit-scripts/slack-desc
+-rwxr-xr-x 1 root root 2177 2009-07-18 01:39 ./source/a/sysvinit-scripts/sysvinit-scripts.SlackBuild
+-rw-r--r-- 1 root root 681 2007-04-16 19:42 ./source/a/sysvinit/doinst.sh.gz
+-rw-r--r-- 1 root root 972 2002-03-22 05:59 ./source/a/sysvinit/slack-desc
+-rw-r--r-- 1 root root 489 2008-09-22 09:55 ./source/a/sysvinit/sysvinit-2.86-timeval.patch.gz
+-rw-r--r-- 1 root root 99009 2006-12-08 20:10 ./source/a/sysvinit/sysvinit-2.86.tar.gz
+-rwxr-xr-x 1 root root 3836 2009-05-19 20:05 ./source/a/sysvinit/sysvinit.SlackBuild
+-rw-r--r-- 1 root root 1729 2008-04-03 02:33 ./source/a/sysvinit/sysvinit.diff.gz
+-rw-r--r-- 1 root root 1107 2005-12-19 21:12 ./source/a/sysvinit/sysvinit.pidof.rhforkseverything.diff.gz
+drwxr-xr-x 2 root root 4096 2009-05-19 20:05 ./source/a/tar
+-rw-r--r-- 1 root root 2429 1995-01-07 08:18 ./source/a/tar/rmt.8.gz
+-rw-r--r-- 1 root root 834 2002-03-23 22:06 ./source/a/tar/slack-desc
+-rw-r--r-- 1 root root 949 2006-11-30 21:52 ./source/a/tar/tar-1.13.bzip2.diff.gz
+-rw-r--r-- 1 root root 1052531 1999-07-08 05:50 ./source/a/tar/tar-1.13.tar.gz
+-rw-r--r-- 1 root root 218 2009-05-06 21:08 ./source/a/tar/tar-1.22-support_txz.diff.gz
+-rw-r--r-- 1 root root 2094575 2009-03-05 07:46 ./source/a/tar/tar-1.22.tar.bz2
+-rw-r--r-- 1 root root 2676 2002-02-22 03:24 ./source/a/tar/tar.1.gz
+-rwxr-xr-x 1 root root 4539 2009-05-19 20:05 ./source/a/tar/tar.SlackBuild
+-rw-r--r-- 1 root root 498 2004-06-06 20:15 ./source/a/tar/tar.nolonezero.diff.gz
+-rw-r--r-- 1 root root 312 2009-03-10 01:18 ./source/a/tar/tar.norecordsizespam.diff.gz
+drwxr-xr-x 2 root root 4096 2009-05-19 20:05 ./source/a/tcsh
+-rw-r--r-- 1 root root 146 1995-08-06 23:12 ./source/a/tcsh/doinst.sh.gz
+-rw-r--r-- 1 root root 886 2002-03-23 22:06 ./source/a/tcsh/slack-desc
+-rw-r--r-- 1 root root 727440 2007-03-03 20:08 ./source/a/tcsh/tcsh-6.15.00.tar.bz2
+-rwxr-xr-x 1 root root 3004 2009-05-19 20:05 ./source/a/tcsh/tcsh.SlackBuild
+-rw-r--r-- 1 root root 202 2006-02-09 20:33 ./source/a/tcsh/tcsh.nobuiltincolorls.diff.gz
+drwxr-xr-x 2 root root 4096 2009-05-19 20:05 ./source/a/time
+-rw-r--r-- 1 root root 887 2008-02-11 03:44 ./source/a/time/slack-desc
+-rw-r--r-- 1 root root 103066 1996-07-11 15:08 ./source/a/time/time-1.7.tar.gz
+-rwxr-xr-x 1 root root 2263 2009-05-19 20:05 ./source/a/time/time.SlackBuild
+drwxr-xr-x 2 root root 4096 2009-05-19 20:05 ./source/a/tree
+-rw-r--r-- 1 root root 873 2006-12-23 06:19 ./source/a/tree/slack-desc
+-rw-r--r-- 1 root root 31732 2009-01-22 15:17 ./source/a/tree/tree-1.5.2.2.tar.bz2
+-rwxr-xr-x 1 root root 2260 2009-05-19 20:05 ./source/a/tree/tree.SlackBuild
+drwxr-xr-x 3 root root 4096 2009-05-19 20:05 ./source/a/udev
+drwxr-xr-x 6 root root 4096 2008-12-01 02:00 ./source/a/udev/config
+drwxr-xr-x 2 root root 4096 2009-07-15 03:58 ./source/a/udev/config/modprobe.d
+-rw-r--r-- 1 root root 6251 2009-07-15 02:38 ./source/a/udev/config/modprobe.d/blacklist.conf.new
+-rw-r--r-- 1 root root 443 2009-04-20 23:01 ./source/a/udev/config/modprobe.d/isapnp.conf.new
+-rw-r--r-- 1 root root 265 2009-07-15 03:54 ./source/a/udev/config/modprobe.d/psmouse.conf.new
+-rw-r--r-- 1 root root 244 2008-12-01 02:00 ./source/a/udev/config/modprobe.d/usb-controller.conf.new
+drwxr-xr-x 2 root root 4096 2008-12-01 02:59 ./source/a/udev/config/rc.d
+-rw-r--r-- 1 root root 4231 2009-04-22 02:01 ./source/a/udev/config/rc.d/rc.udev.new
+drwxr-xr-x 2 root root 4096 2008-08-31 06:31 ./source/a/udev/config/rules.d
+-rw-r--r-- 1 root root 444 2008-12-03 23:46 ./source/a/udev/config/rules.d/40-slackware.rules
+-rw-r--r-- 1 root root 1828 2009-04-22 02:06 ./source/a/udev/config/rules.d/65-permissions.rules
+-rw-r--r-- 1 root root 305 2007-10-15 19:09 ./source/a/udev/config/rules.d/90-network.rules
+drwxr-xr-x 2 root root 4096 2008-08-30 22:16 ./source/a/udev/config/scripts
+-rwxr-xr-x 1 root root 1978 2007-09-22 22:06 ./source/a/udev/config/scripts/nethelper.sh
+-rw-r--r-- 1 root root 485 2008-08-31 03:46 ./source/a/udev/config/udev.conf
+-rw-r--r-- 1 root root 555 2009-07-15 03:52 ./source/a/udev/doinst.sh.gz
+-rw-r--r-- 1 root root 758 2007-08-22 23:19 ./source/a/udev/rule_generator.diff.gz
+-rw-r--r-- 1 root root 825 2009-04-20 23:01 ./source/a/udev/slack-desc
+-rw-r--r-- 1 root root 448373 2009-04-09 12:53 ./source/a/udev/udev-141.tar.bz2
+-rw-r--r-- 1 root root 248 2009-04-08 23:38 ./source/a/udev/udev-141.tar.bz2.sign
+-rw-r--r-- 1 root root 455 2008-10-09 12:40 ./source/a/udev/udev-fixed-devices.tar.gz
+-rwxr-xr-x 1 root root 4370 2009-07-15 02:42 ./source/a/udev/udev.SlackBuild
+drwxr-xr-x 2 root root 4096 2009-05-19 20:05 ./source/a/unarj
+-rw-r--r-- 1 root root 269 2006-12-23 05:36 ./source/a/unarj/Makefile.gz
+-rw-r--r-- 1 root root 848 2006-12-23 05:29 ./source/a/unarj/slack-desc
+-rwxr-xr-x 1 root root 1993 2009-05-19 20:05 ./source/a/unarj/unarj.SlackBuild
+-rw-r--r-- 1 root root 23151 2002-06-05 05:00 ./source/a/unarj/unarj265.tar.gz
+drwxr-xr-x 2 root root 4096 2009-08-13 02:53 ./source/a/usbutils
+-rw-r--r-- 1 root root 781 2009-05-30 01:47 ./source/a/usbutils/slack-desc
+-rw-r--r-- 1 root root 218443 2009-05-06 22:22 ./source/a/usbutils/usbutils-0.82.tar.bz2
+-rwxr-xr-x 1 root root 3735 2009-08-13 02:56 ./source/a/usbutils/usbutils.SlackBuild
+-rw-r--r-- 1 root root 220 2009-05-30 01:47 ./source/a/usbutils/usbutils.ids.dest.gz
+drwxr-xr-x 2 root root 4096 2009-05-19 20:05 ./source/a/utempter
+-rw-r--r-- 1 root root 230 2006-12-12 23:47 ./source/a/utempter/doinst.sh.gz
+-rw-r--r-- 1 root root 14583 2005-12-11 13:16 ./source/a/utempter/libutempter-1.1.4.tar.bz2
+-rw-r--r-- 1 root root 189 2005-12-12 12:56 ./source/a/utempter/libutempter-1.1.4.tar.bz2.asc
+-rw-r--r-- 1 root root 809 2003-06-08 01:36 ./source/a/utempter/slack-desc
+-rwxr-xr-x 1 root root 2843 2009-05-19 20:05 ./source/a/utempter/utempter.SlackBuild
+drwxr-xr-x 2 root root 4096 2009-05-23 00:42 ./source/a/util-linux-ng
+-rw-r--r-- 1 root root 43150 2007-10-07 02:17 ./source/a/util-linux-ng/adjtimex_1.23-1.diff.gz
+-rw-r--r-- 1 root root 56580 2007-10-07 02:17 ./source/a/util-linux-ng/adjtimex_1.23.orig.tar.gz
+-rw-r--r-- 1 root root 4513 2008-03-17 05:37 ./source/a/util-linux-ng/bsdstrings.tar.gz
+-rw-r--r-- 1 root root 337 2008-03-17 05:47 ./source/a/util-linux-ng/doinst.sh.gz
+-rw-r--r-- 1 root root 198520 2001-04-15 14:21 ./source/a/util-linux-ng/net-tools-1.60.tar.bz2
+-rw-r--r-- 1 root root 650 2001-03-22 05:23 ./source/a/util-linux-ng/net-tools.diff.gz
+-rw-r--r-- 1 root root 173444 2007-12-02 05:47 ./source/a/util-linux-ng/net-tools_1.60-19.diff.gz
+-rw-r--r-- 1 root root 1266 2009-02-09 22:33 ./source/a/util-linux-ng/scsi_ioctl.h
+-rw-r--r-- 1 root root 52437 2008-03-17 05:37 ./source/a/util-linux-ng/setserial-2.17.tar.gz
+-rw-r--r-- 1 root root 729 2008-03-17 05:37 ./source/a/util-linux-ng/setserial-rc.serial.diff.gz
+-rw-r--r-- 1 root root 904 2008-03-17 04:45 ./source/a/util-linux-ng/slack-desc
+-rw-r--r-- 1 root root 2956769 2009-02-09 17:06 ./source/a/util-linux-ng/util-linux-ng-2.14.2.tar.bz2
+-rwxr-xr-x 1 root root 8503 2009-05-23 00:42 ./source/a/util-linux-ng/util-linux-ng.SlackBuild
+-rw-r--r-- 1 root root 266 2008-03-31 19:54 ./source/a/util-linux-ng/util-linux-ng.fdisk-no-solaris.diff.gz
+-rw-r--r-- 1 root root 11130 2008-03-17 05:37 ./source/a/util-linux-ng/ziptool-1.4.0.tar.bz2
+-rw-r--r-- 1 root root 386 2009-02-09 22:34 ./source/a/util-linux-ng/ziptool-fix_build.patch.gz
+drwxr-xr-x 2 root root 4096 2009-05-19 20:05 ./source/a/which
+-rw-r--r-- 1 root root 1038 2006-12-14 02:00 ./source/a/which/slack-desc
+-rw-r--r-- 1 root root 135372 2008-08-06 15:21 ./source/a/which/which-2.20.tar.gz
+-rw-r--r-- 1 root root 152 2008-08-06 15:21 ./source/a/which/which-2.20.tar.gz.sig
+-rwxr-xr-x 1 root root 2806 2009-05-19 20:05 ./source/a/which/which.SlackBuild
+drwxr-xr-x 2 root root 4096 2009-06-16 06:30 ./source/a/xfsprogs
+-rw-r--r-- 1 root root 954 2006-02-21 05:35 ./source/a/xfsprogs/slack-desc
+-rw-r--r-- 1 root root 840452 2009-05-05 17:29 ./source/a/xfsprogs/xfsprogs-3.0.1.tar.xz
+-rwxr-xr-x 1 root root 3487 2009-06-13 04:32 ./source/a/xfsprogs/xfsprogs.SlackBuild
+drwxr-xr-x 2 root root 4096 2009-05-19 20:05 ./source/a/xz
+-rw-r--r-- 1 root root 952 2009-04-08 00:19 ./source/a/xz/slack-desc
+-rw-r--r-- 1 root root 666579 2009-03-23 02:00 ./source/a/xz/xz-4.999.8beta.tar.bz2
+-rwxr-xr-x 1 root root 4125 2009-05-19 20:05 ./source/a/xz/xz.SlackBuild
+drwxr-xr-x 2 root root 4096 2009-05-19 20:05 ./source/a/zoo
+-rw-r--r-- 1 root root 996 2006-12-14 01:08 ./source/a/zoo/slack-desc
+-rw-r--r-- 1 root root 173607 1994-12-30 20:19 ./source/a/zoo/zoo-2.10.tar.gz
+-rwxr-xr-x 1 root root 2565 2009-05-19 20:05 ./source/a/zoo/zoo.SlackBuild
+-rw-r--r-- 1 root root 12333 2006-05-29 21:19 ./source/a/zoo/zoo_2.10-18.diff.gz
+drwxr-xr-x 70 root root 4096 2009-08-22 05:44 ./source/ap
+drwxr-xr-x 2 root root 4096 2009-05-23 00:41 ./source/ap/a2ps
+-rw-r--r-- 1 root root 1814364 2007-12-29 03:53 ./source/ap/a2ps/a2ps-4.14.tar.bz2
+-rwxr-xr-x 1 root root 4858 2009-05-23 00:41 ./source/ap/a2ps/a2ps.SlackBuild
+-rw-r--r-- 1 root root 298 2009-03-31 01:11 ./source/ap/a2ps/a2ps.a2ps_cfg.in.diff.gz
+-rw-r--r-- 1 root root 249 2001-01-19 05:15 ./source/ap/a2ps/a2ps.diff.gz
+-rw-r--r-- 1 root root 62039 1997-08-28 13:11 ./source/ap/a2ps/psutils-1.17.tar.gz
+-rw-r--r-- 1 root root 574 2009-03-04 01:22 ./source/ap/a2ps/psutils.destdir.diff.gz
+-rw-r--r-- 1 root root 471 2001-01-19 04:54 ./source/ap/a2ps/psutils.diff.gz
+-rw-r--r-- 1 root root 900 2002-03-29 03:05 ./source/ap/a2ps/slack-desc
+drwxr-xr-x 2 root root 4096 2009-05-19 20:05 ./source/ap/acct
+-rw-r--r-- 1 root root 23954 2008-03-08 08:47 ./source/ap/acct/acct-6.4pre1-6.diff.gz
+-rw-r--r-- 1 root root 261410 2006-11-04 12:47 ./source/ap/acct/acct-6.4pre1.tar.bz2
+-rwxr-xr-x 1 root root 4051 2009-05-19 20:05 ./source/ap/acct/acct.SlackBuild
+-rw-r--r-- 1 root root 309 2008-11-12 18:52 ./source/ap/acct/acct.logdir.fhs.diff.gz
+-rw-r--r-- 1 root root 1054 2008-11-12 20:20 ./source/ap/acct/slack-desc
+drwxr-xr-x 2 root root 4096 2009-05-23 00:41 ./source/ap/alsa-utils
+-rw-r--r-- 1 root root 1039779 2008-10-29 12:51 ./source/ap/alsa-utils/alsa-utils-1.0.18.tar.bz2
+-rwxr-xr-x 1 root root 3220 2009-05-23 00:41 ./source/ap/alsa-utils/alsa-utils.SlackBuild
+-rw-r--r-- 1 root root 899 2007-06-06 00:01 ./source/ap/alsa-utils/alsa-utils.alsaconf.diff.gz
+-rw-r--r-- 1 root root 1090 2008-12-03 01:49 ./source/ap/alsa-utils/rc.alsa.gz
+-rw-r--r-- 1 root root 1086 2003-08-29 06:09 ./source/ap/alsa-utils/slack-desc
+drwxr-xr-x 2 root root 4096 2009-05-19 20:05 ./source/ap/amp
+-rw-r--r-- 1 root root 236 2002-02-24 19:46 ./source/ap/amp/_amp.tar.gz
+-rw-r--r-- 1 root root 100337 1999-03-17 18:11 ./source/ap/amp/amp-0.7.6.tar.gz
+-rw-r--r-- 1 root root 239 2008-10-01 07:38 ./source/ap/amp/amp-gcc34.diff.gz
+-rwxr-xr-x 1 root root 2004 2009-05-19 20:05 ./source/ap/amp/amp.SlackBuild
+-rw-r--r-- 1 root root 1514 1999-03-17 18:33 ./source/ap/amp/license_excerpts
-rw-r--r-- 1 root root 729 2002-03-29 01:09 ./source/ap/amp/slack-desc
drwxr-xr-x 3 root root 4096 2009-05-19 20:05 ./source/ap/ash
-rw-r--r-- 1 root root 7174 1998-10-19 21:42 ./source/ap/ash/_ash.tar.gz
@@ -6365,8 +7791,7 @@ drwxr-xr-x 2 root root 4096 2009-08-16 22:11 ./source/l/libzip
-rwxr-xr-x 1 root root 3467 2009-08-16 22:11 ./source/l/libzip/libzip.SlackBuild
-rw-r--r-- 1 root root 163 2008-01-08 04:45 ./source/l/libzip/libzip.info
-rw-r--r-- 1 root root 882 2008-08-01 05:16 ./source/l/libzip/slack-desc
-drwxr-xr-x 2 root root 4096 2009-05-19 20:05 ./source/l/lzo
--rw-r--r-- 1 root root 280 2006-12-11 19:07 ./source/l/lzo/.lzo.info
+drwxr-xr-x 2 root root 4096 2012-07-13 01:44 ./source/l/lzo
-rw-r--r-- 1 root root 599387 2005-10-17 16:10 ./source/l/lzo/lzo-2.02.tar.gz
-rwxr-xr-x 1 root root 2707 2009-05-19 20:05 ./source/l/lzo/lzo.SlackBuild
-rw-r--r-- 1 root root 728 2007-06-10 00:52 ./source/l/lzo/slack-desc
@@ -7953,1151 +9378,1151 @@ drwxr-xr-x 2 root root 4096 2007-02-22 01:03 ./source/x/x11/post-install/t
drwxr-xr-x 2 root root 4096 2007-02-14 01:08 ./source/x/x11/post-install/xdm
-rw-r--r-- 1 root root 585 2007-02-14 05:54 ./source/x/x11/post-install/xdm.post-install
-rwxr-xr-x 1 root root 5401 2007-02-14 01:17 ./source/x/x11/post-install/xdm/Xsession
--rwxr-xr-x 1 root root 708 2001-02-17 22:27 ./source/x/x11/post-install/xdm/Xsession.orig
--rwxr-xr-x 1 root root 503 2007-02-14 01:22 ./source/x/x11/post-install/xdm/Xsetup_0
--rwxr-xr-x 1 root root 145 2007-02-13 06:04 ./source/x/x11/post-install/xdm/Xsetup_0.orig
--rw-r--r-- 1 root root 40 2008-09-15 22:43 ./source/x/x11/post-install/xf86-input-joystick.post-install
--rw-r--r-- 1 root root 309 2009-05-30 01:47 ./source/x/x11/post-install/xf86-input-synaptics.post-install
--rw-r--r-- 1 root root 54 2009-08-01 05:00 ./source/x/x11/post-install/xfs.post-install
-drwxr-xr-x 2 root root 4096 2007-07-01 03:06 ./source/x/x11/post-install/xinit
--rw-r--r-- 1 root root 637 2007-07-01 03:13 ./source/x/x11/post-install/xinit.post-install
--rw-r--r-- 1 root root 321 2003-03-16 21:36 ./source/x/x11/post-install/xinit/README.Xmodmap
--rw-r--r-- 1 root root 341 2007-02-18 03:51 ./source/x/x11/post-install/xkeyboard-config.post-install
-drwxr-xr-x 2 root root 4096 2009-08-11 03:27 ./source/x/x11/post-install/xorg-cf-files
--rw-r--r-- 1 root root 237 2009-08-11 03:32 ./source/x/x11/post-install/xorg-cf-files.post-install
--rw-r--r-- 1 root root 203 2009-08-11 03:26 ./source/x/x11/post-install/xorg-cf-files/x11.tmpl.lib64.kludge.diff.gz
--rw-r--r-- 1 root root 30 2007-02-14 01:57 ./source/x/x11/post-install/xorg-docs.post-install
--rw-r--r-- 1 root root 476 2009-08-02 03:48 ./source/x/x11/post-install/xorg-server.post-install
--rw-r--r-- 1 root root 100 2007-02-13 23:26 ./source/x/x11/post-install/xsm.post-install
-drwxr-xr-x 2 root root 16384 2009-05-30 01:47 ./source/x/x11/slack-desc
--rw-r--r-- 1 root root 811 2007-02-13 23:03 ./source/x/x11/slack-desc/applewmproto
--rw-r--r-- 1 root root 727 2007-02-13 23:03 ./source/x/x11/slack-desc/appres
--rw-r--r-- 1 root root 755 2007-02-13 23:03 ./source/x/x11/slack-desc/bdftopcf
--rw-r--r-- 1 root root 797 2007-02-13 23:03 ./source/x/x11/slack-desc/beforelight
--rw-r--r-- 1 root root 811 2007-02-13 23:03 ./source/x/x11/slack-desc/bigreqsproto
--rw-r--r-- 1 root root 727 2007-02-13 23:03 ./source/x/x11/slack-desc/bitmap
--rw-r--r-- 1 root root 727 2007-02-13 23:03 ./source/x/x11/slack-desc/compiz
--rw-r--r-- 1 root root 839 2007-02-13 23:03 ./source/x/x11/slack-desc/compositeproto
--rw-r--r-- 1 root root 755 2009-05-30 01:47 ./source/x/x11/slack-desc/constype
--rw-r--r-- 1 root root 797 2007-02-13 23:03 ./source/x/x11/slack-desc/damageproto
--rw-r--r-- 1 root root 755 2007-02-13 23:03 ./source/x/x11/slack-desc/dmxproto
--rw-r--r-- 1 root root 769 2008-09-18 04:02 ./source/x/x11/slack-desc/dri2proto
--rw-r--r-- 1 root root 741 2007-02-13 23:03 ./source/x/x11/slack-desc/editres
--rw-r--r-- 1 root root 769 2007-02-13 23:03 ./source/x/x11/slack-desc/encodings
--rw-r--r-- 1 root root 741 2007-02-13 23:03 ./source/x/x11/slack-desc/evieext
--rw-r--r-- 1 root root 783 2007-02-13 23:03 ./source/x/x11/slack-desc/fixesproto
--rw-r--r-- 1 root root 881 2007-02-13 23:03 ./source/x/x11/slack-desc/font-adobe-100dpi
--rw-r--r-- 1 root root 867 2007-02-13 23:03 ./source/x/x11/slack-desc/font-adobe-75dpi
--rw-r--r-- 1 root root 979 2007-02-13 23:03 ./source/x/x11/slack-desc/font-adobe-utopia-100dpi
--rw-r--r-- 1 root root 965 2007-02-13 23:03 ./source/x/x11/slack-desc/font-adobe-utopia-75dpi
--rw-r--r-- 1 root root 965 2007-02-13 23:03 ./source/x/x11/slack-desc/font-adobe-utopia-type1
--rw-r--r-- 1 root root 783 2007-02-13 23:03 ./source/x/x11/slack-desc/font-alias
--rw-r--r-- 1 root root 867 2007-02-13 23:03 ./source/x/x11/slack-desc/font-arabic-misc
--rw-r--r-- 1 root root 839 2007-02-13 23:03 ./source/x/x11/slack-desc/font-bh-100dpi
--rw-r--r-- 1 root root 825 2007-02-13 23:03 ./source/x/x11/slack-desc/font-bh-75dpi
--rw-r--r-- 1 root root 1077 2007-02-13 23:03 ./source/x/x11/slack-desc/font-bh-lucidatypewriter-100dpi
--rw-r--r-- 1 root root 1063 2007-02-13 23:03 ./source/x/x11/slack-desc/font-bh-lucidatypewriter-75dpi
--rw-r--r-- 1 root root 797 2007-02-13 23:03 ./source/x/x11/slack-desc/font-bh-ttf
--rw-r--r-- 1 root root 825 2007-02-13 23:03 ./source/x/x11/slack-desc/font-bh-type1
--rw-r--r-- 1 root root 937 2007-02-13 23:03 ./source/x/x11/slack-desc/font-bitstream-100dpi
--rw-r--r-- 1 root root 923 2007-02-13 23:03 ./source/x/x11/slack-desc/font-bitstream-75dpi
--rw-r--r-- 1 root root 937 2007-02-13 23:03 ./source/x/x11/slack-desc/font-bitstream-speedo
--rw-r--r-- 1 root root 923 2007-02-13 23:03 ./source/x/x11/slack-desc/font-bitstream-type1
--rw-r--r-- 1 root root 923 2007-02-13 23:03 ./source/x/x11/slack-desc/font-cronyx-cyrillic
--rw-r--r-- 1 root root 867 2007-02-13 23:03 ./source/x/x11/slack-desc/font-cursor-misc
--rw-r--r-- 1 root root 867 2007-02-13 23:03 ./source/x/x11/slack-desc/font-daewoo-misc
--rw-r--r-- 1 root root 825 2007-02-13 23:03 ./source/x/x11/slack-desc/font-dec-misc
--rw-r--r-- 1 root root 839 2007-02-13 23:03 ./source/x/x11/slack-desc/font-ibm-type1
--rw-r--r-- 1 root root 839 2007-02-13 23:03 ./source/x/x11/slack-desc/font-isas-misc
--rw-r--r-- 1 root root 825 2007-02-13 23:03 ./source/x/x11/slack-desc/font-jis-misc
--rw-r--r-- 1 root root 853 2007-02-13 23:03 ./source/x/x11/slack-desc/font-micro-misc
--rw-r--r-- 1 root root 895 2007-02-13 23:03 ./source/x/x11/slack-desc/font-misc-cyrillic
--rw-r--r-- 1 root root 895 2007-02-13 23:03 ./source/x/x11/slack-desc/font-misc-ethiopic
--rw-r--r-- 1 root root 867 2007-02-13 23:03 ./source/x/x11/slack-desc/font-misc-meltho
--rw-r--r-- 1 root root 839 2007-02-13 23:03 ./source/x/x11/slack-desc/font-misc-misc
--rw-r--r-- 1 root root 839 2007-02-13 23:03 ./source/x/x11/slack-desc/font-mutt-misc
--rw-r--r-- 1 root root 923 2007-02-13 23:03 ./source/x/x11/slack-desc/font-schumacher-misc
--rw-r--r-- 1 root root 923 2007-02-13 23:03 ./source/x/x11/slack-desc/font-screen-cyrillic
--rw-r--r-- 1 root root 839 2007-02-13 23:03 ./source/x/x11/slack-desc/font-sony-misc
--rw-r--r-- 1 root root 825 2007-02-13 23:03 ./source/x/x11/slack-desc/font-sun-misc
--rw-r--r-- 1 root root 769 2007-02-13 23:03 ./source/x/x11/slack-desc/font-util
--rw-r--r-- 1 root root 951 2007-02-13 23:03 ./source/x/x11/slack-desc/font-winitzki-cyrillic
--rw-r--r-- 1 root root 895 2007-02-13 23:03 ./source/x/x11/slack-desc/font-xfree86-type1
--rw-r--r-- 1 root root 839 2007-02-13 23:03 ./source/x/x11/slack-desc/fontcacheproto
--rw-r--r-- 1 root root 783 2007-02-13 23:03 ./source/x/x11/slack-desc/fontsproto
--rw-r--r-- 1 root root 783 2007-02-13 23:03 ./source/x/x11/slack-desc/fonttosfnt
--rw-r--r-- 1 root root 769 2007-02-13 23:03 ./source/x/x11/slack-desc/fslsfonts
--rw-r--r-- 1 root root 741 2007-02-13 23:03 ./source/x/x11/slack-desc/fstobdf
--rw-r--r-- 1 root root 783 2007-02-13 23:03 ./source/x/x11/slack-desc/gccmakedep
--rw-r--r-- 1 root root 741 2007-02-13 23:03 ./source/x/x11/slack-desc/glproto
--rw-r--r-- 1 root root 741 2007-02-13 23:03 ./source/x/x11/slack-desc/iceauth
--rw-r--r-- 1 root root 685 2007-02-13 23:03 ./source/x/x11/slack-desc/ico
--rw-r--r-- 1 root root 713 2007-02-13 23:03 ./source/x/x11/slack-desc/imake
--rw-r--r-- 1 root root 783 2007-02-13 23:03 ./source/x/x11/slack-desc/inputproto
--rw-r--r-- 1 root root 886 2009-06-03 05:02 ./source/x/x11/slack-desc/intel-gpu-tools
--rw-r--r-- 1 root root 741 2007-02-13 23:03 ./source/x/x11/slack-desc/kbproto
--rw-r--r-- 1 root root 755 2007-02-13 23:03 ./source/x/x11/slack-desc/lbxproxy
--rw-r--r-- 1 root root 783 2007-02-13 23:03 ./source/x/x11/slack-desc/libAppleWM
--rw-r--r-- 1 root root 713 2007-02-13 23:03 ./source/x/x11/slack-desc/libFS
--rw-r--r-- 1 root root 727 2007-02-13 23:03 ./source/x/x11/slack-desc/libICE
--rw-r--r-- 1 root root 713 2007-02-13 23:03 ./source/x/x11/slack-desc/libSM
--rw-r--r-- 1 root root 811 2007-02-13 23:03 ./source/x/x11/slack-desc/libWindowsWM
--rw-r--r-- 1 root root 727 2007-02-13 23:03 ./source/x/x11/slack-desc/libX11
--rw-r--r-- 1 root root 825 2007-02-13 23:03 ./source/x/x11/slack-desc/libXScrnSaver
--rw-r--r-- 1 root root 755 2007-02-13 23:03 ./source/x/x11/slack-desc/libXTrap
--rw-r--r-- 1 root root 727 2007-02-13 23:03 ./source/x/x11/slack-desc/libXau
--rw-r--r-- 1 root root 727 2007-02-13 23:03 ./source/x/x11/slack-desc/libXaw
--rw-r--r-- 1 root root 825 2007-02-13 23:03 ./source/x/x11/slack-desc/libXcomposite
--rw-r--r-- 1 root root 783 2007-02-13 23:03 ./source/x/x11/slack-desc/libXcursor
--rw-r--r-- 1 root root 783 2007-02-13 23:03 ./source/x/x11/slack-desc/libXdamage
--rw-r--r-- 1 root root 755 2007-02-13 23:03 ./source/x/x11/slack-desc/libXdmcp
--rw-r--r-- 1 root root 755 2007-02-13 23:03 ./source/x/x11/slack-desc/libXevie
--rw-r--r-- 1 root root 741 2007-02-13 23:03 ./source/x/x11/slack-desc/libXext
--rw-r--r-- 1 root root 769 2007-02-13 23:03 ./source/x/x11/slack-desc/libXfixes
--rw-r--r-- 1 root root 755 2007-02-13 23:03 ./source/x/x11/slack-desc/libXfont
--rw-r--r-- 1 root root 825 2007-02-13 23:03 ./source/x/x11/slack-desc/libXfontcache
--rw-r--r-- 1 root root 727 2007-02-13 23:03 ./source/x/x11/slack-desc/libXft
--rw-r--r-- 1 root root 713 2007-02-13 23:03 ./source/x/x11/slack-desc/libXi
--rw-r--r-- 1 root root 797 2007-02-13 23:03 ./source/x/x11/slack-desc/libXinerama
--rw-r--r-- 1 root root 727 2007-02-13 23:03 ./source/x/x11/slack-desc/libXmu
--rw-r--r-- 1 root root 713 2007-02-13 23:03 ./source/x/x11/slack-desc/libXp
--rw-r--r-- 1 root root 727 2007-02-13 23:03 ./source/x/x11/slack-desc/libXpm
--rw-r--r-- 1 root root 867 2007-02-13 23:03 ./source/x/x11/slack-desc/libXprintAppUtil
--rw-r--r-- 1 root root 825 2007-02-13 23:03 ./source/x/x11/slack-desc/libXprintUtil
--rw-r--r-- 1 root root 769 2007-02-13 23:03 ./source/x/x11/slack-desc/libXrandr
--rw-r--r-- 1 root root 783 2007-02-13 23:03 ./source/x/x11/slack-desc/libXrender
--rw-r--r-- 1 root root 741 2007-02-13 23:03 ./source/x/x11/slack-desc/libXres
--rw-r--r-- 1 root root 713 2007-02-13 23:03 ./source/x/x11/slack-desc/libXt
--rw-r--r-- 1 root root 741 2007-02-13 23:03 ./source/x/x11/slack-desc/libXtst
--rw-r--r-- 1 root root 713 2007-02-13 23:03 ./source/x/x11/slack-desc/libXv
--rw-r--r-- 1 root root 741 2007-02-13 23:03 ./source/x/x11/slack-desc/libXvMC
--rw-r--r-- 1 root root 797 2007-02-13 23:03 ./source/x/x11/slack-desc/libXxf86dga
--rw-r--r-- 1 root root 811 2007-02-13 23:03 ./source/x/x11/slack-desc/libXxf86misc
--rw-r--r-- 1 root root 783 2007-02-13 23:03 ./source/x/x11/slack-desc/libXxf86vm
--rw-r--r-- 1 root root 727 2007-02-13 23:03 ./source/x/x11/slack-desc/libdmx
--rw-r--r-- 1 root root 783 2007-02-13 23:03 ./source/x/x11/slack-desc/libfontenc
--rw-r--r-- 1 root root 783 2007-02-13 23:03 ./source/x/x11/slack-desc/liblbxutil
--rw-r--r-- 1 root root 741 2007-02-13 23:03 ./source/x/x11/slack-desc/liboldX
--rw-r--r-- 1 root root 811 2008-03-10 05:32 ./source/x/x11/slack-desc/libpciaccess
--rw-r--r-- 1 root root 867 2007-02-14 06:45 ./source/x/x11/slack-desc/libpthread-stubs
--rw-r--r-- 1 root root 903 2007-02-14 06:52 ./source/x/x11/slack-desc/libxcb
--rw-r--r-- 1 root root 783 2007-02-13 23:03 ./source/x/x11/slack-desc/libxkbfile
--rw-r--r-- 1 root root 755 2007-02-13 23:03 ./source/x/x11/slack-desc/libxkbui
--rw-r--r-- 1 root root 741 2007-02-13 23:03 ./source/x/x11/slack-desc/listres
--rw-r--r-- 1 root root 713 2007-02-13 23:03 ./source/x/x11/slack-desc/lndir
--rw-r--r-- 1 root root 699 2007-02-13 23:03 ./source/x/x11/slack-desc/luit
--rw-r--r-- 1 root root 783 2007-02-13 23:03 ./source/x/x11/slack-desc/makedepend
--rw-r--r-- 1 root root 713 2007-02-13 23:03 ./source/x/x11/slack-desc/mkcfm
--rw-r--r-- 1 root root 839 2007-02-13 23:03 ./source/x/x11/slack-desc/mkcomposecache
--rw-r--r-- 1 root root 769 2007-02-13 23:03 ./source/x/x11/slack-desc/mkfontdir
--rw-r--r-- 1 root root 797 2007-02-13 23:03 ./source/x/x11/slack-desc/mkfontscale
--rw-r--r-- 1 root root 727 2007-02-13 23:03 ./source/x/x11/slack-desc/oclock
--rw-r--r-- 1 root root 794 2007-09-16 00:32 ./source/x/x11/slack-desc/pixman
--rw-r--r-- 1 root root 783 2007-02-13 23:03 ./source/x/x11/slack-desc/printproto
--rw-r--r-- 1 root root 769 2007-02-13 23:03 ./source/x/x11/slack-desc/proxymngr
--rw-r--r-- 1 root root 783 2007-02-13 23:03 ./source/x/x11/slack-desc/randrproto
--rw-r--r-- 1 root root 797 2007-02-13 23:03 ./source/x/x11/slack-desc/recordproto
--rw-r--r-- 1 root root 797 2007-02-13 23:03 ./source/x/x11/slack-desc/rendercheck
--rw-r--r-- 1 root root 797 2007-02-13 23:03 ./source/x/x11/slack-desc/renderproto
--rw-r--r-- 1 root root 825 2007-02-13 23:03 ./source/x/x11/slack-desc/resourceproto
--rw-r--r-- 1 root root 685 2007-02-13 23:03 ./source/x/x11/slack-desc/rgb
--rw-r--r-- 1 root root 727 2007-02-13 23:03 ./source/x/x11/slack-desc/rstart
--rw-r--r-- 1 root root 741 2007-02-13 23:03 ./source/x/x11/slack-desc/scripts
--rw-r--r-- 1 root root 839 2007-02-13 23:03 ./source/x/x11/slack-desc/scrnsaverproto
--rw-r--r-- 1 root root 741 2007-02-13 23:03 ./source/x/x11/slack-desc/sessreg
--rw-r--r-- 1 root root 769 2007-02-13 23:03 ./source/x/x11/slack-desc/setxkbmap
--rw-r--r-- 1 root root 755 2007-02-13 23:03 ./source/x/x11/slack-desc/showfont
--rw-r--r-- 1 root root 741 2007-02-13 23:03 ./source/x/x11/slack-desc/smproxy
--rw-r--r-- 1 root root 769 2007-02-13 23:03 ./source/x/x11/slack-desc/trapproto
--rw-r--r-- 1 root root 685 2007-02-13 23:03 ./source/x/x11/slack-desc/twm
--rw-r--r-- 1 root root 797 2007-02-13 23:03 ./source/x/x11/slack-desc/util-macros
--rw-r--r-- 1 root root 783 2007-02-13 23:03 ./source/x/x11/slack-desc/videoproto
--rw-r--r-- 1 root root 741 2007-02-13 23:03 ./source/x/x11/slack-desc/viewres
--rw-r--r-- 1 root root 839 2007-02-13 23:03 ./source/x/x11/slack-desc/windowswmproto
--rw-r--r-- 1 root root 677 2007-02-05 01:25 ./source/x/x11/slack-desc/x11-app
--rw-r--r-- 1 root root 601 2007-02-05 04:36 ./source/x/x11/slack-desc/x11-data
--rw-r--r-- 1 root root 587 2007-02-05 04:36 ./source/x/x11/slack-desc/x11-doc
--rw-r--r-- 1 root root 637 2007-02-05 04:36 ./source/x/x11/slack-desc/x11-driver
--rw-r--r-- 1 root root 605 2007-02-05 04:36 ./source/x/x11/slack-desc/x11-font
--rw-r--r-- 1 root root 598 2007-02-05 04:36 ./source/x/x11/slack-desc/x11-lib
--rw-r--r-- 1 root root 621 2007-02-05 04:36 ./source/x/x11/slack-desc/x11-proto
--rw-r--r-- 1 root root 613 2007-02-05 01:31 ./source/x/x11/slack-desc/x11-util
--rw-r--r-- 1 root root 741 2007-02-13 23:03 ./source/x/x11/slack-desc/x11perf
--rw-r--r-- 1 root root 713 2007-02-13 23:03 ./source/x/x11/slack-desc/xauth
--rw-r--r-- 1 root root 782 2007-09-16 00:02 ./source/x/x11/slack-desc/xbacklight
--rw-r--r-- 1 root root 713 2007-02-13 23:03 ./source/x/x11/slack-desc/xbiff
--rw-r--r-- 1 root root 755 2007-02-13 23:03 ./source/x/x11/slack-desc/xbitmaps
--rw-r--r-- 1 root root 713 2007-02-13 23:03 ./source/x/x11/slack-desc/xcalc
--rw-r--r-- 1 root root 769 2007-02-14 06:46 ./source/x/x11/slack-desc/xcb-proto
--rw-r--r-- 1 root root 756 2009-05-30 01:47 ./source/x/x11/slack-desc/xcb-util
--rw-r--r-- 1 root root 783 2007-02-13 23:03 ./source/x/x11/slack-desc/xclipboard
--rw-r--r-- 1 root root 727 2007-02-13 23:03 ./source/x/x11/slack-desc/xclock
--rw-r--r-- 1 root root 797 2007-02-13 23:03 ./source/x/x11/slack-desc/xcmiscproto
--rw-r--r-- 1 root root 727 2007-02-13 23:03 ./source/x/x11/slack-desc/xcmsdb
--rw-r--r-- 1 root root 755 2008-03-10 05:33 ./source/x/x11/slack-desc/xcompmgr
--rw-r--r-- 1 root root 755 2007-02-13 23:03 ./source/x/x11/slack-desc/xconsole
--rw-r--r-- 1 root root 839 2007-02-13 23:03 ./source/x/x11/slack-desc/xcursor-themes
--rw-r--r-- 1 root root 783 2007-02-13 23:03 ./source/x/x11/slack-desc/xcursorgen
--rw-r--r-- 1 root root 769 2007-02-13 23:03 ./source/x/x11/slack-desc/xdbedizzy
--rw-r--r-- 1 root root 755 2007-02-13 23:03 ./source/x/x11/slack-desc/xditview
--rw-r--r-- 1 root root 685 2007-02-13 23:03 ./source/x/x11/slack-desc/xdm
--rw-r--r-- 1 root root 755 2007-02-13 23:03 ./source/x/x11/slack-desc/xdpyinfo
--rw-r--r-- 1 root root 755 2007-02-13 23:03 ./source/x/x11/slack-desc/xdriinfo
--rw-r--r-- 1 root root 713 2007-02-13 23:03 ./source/x/x11/slack-desc/xedit
--rw-r--r-- 1 root root 685 2007-02-13 23:03 ./source/x/x11/slack-desc/xev
--rw-r--r-- 1 root root 769 2007-02-13 23:03 ./source/x/x11/slack-desc/xextproto
--rw-r--r-- 1 root root 713 2007-02-13 23:03 ./source/x/x11/slack-desc/xeyes
--rw-r--r-- 1 root root 881 2007-02-13 23:03 ./source/x/x11/slack-desc/xf86-input-acecad
--rw-r--r-- 1 root root 881 2007-02-13 23:03 ./source/x/x11/slack-desc/xf86-input-aiptek
--rw-r--r-- 1 root root 895 2008-11-19 21:28 ./source/x/x11/slack-desc/xf86-input-calcomp
--rw-r--r-- 1 root root 881 2007-02-13 23:03 ./source/x/x11/slack-desc/xf86-input-citron
--rw-r--r-- 1 root root 951 2007-02-13 23:03 ./source/x/x11/slack-desc/xf86-input-digitaledge
--rw-r--r-- 1 root root 839 2007-02-13 23:03 ./source/x/x11/slack-desc/xf86-input-dmc
--rw-r--r-- 1 root root 895 2007-02-13 23:03 ./source/x/x11/slack-desc/xf86-input-dynapro
--rw-r--r-- 1 root root 895 2007-02-13 23:03 ./source/x/x11/slack-desc/xf86-input-elo2300
--rw-r--r-- 1 root root 951 2007-02-13 23:03 ./source/x/x11/slack-desc/xf86-input-elographics
--rw-r--r-- 1 root root 867 2007-02-13 23:03 ./source/x/x11/slack-desc/xf86-input-evdev
--rw-r--r-- 1 root root 853 2007-02-13 23:03 ./source/x/x11/slack-desc/xf86-input-fpit
--rw-r--r-- 1 root root 909 2007-02-13 23:03 ./source/x/x11/slack-desc/xf86-input-hyperpen
--rw-r--r-- 1 root root 923 2007-02-13 23:03 ./source/x/x11/slack-desc/xf86-input-jamstudio
--rw-r--r-- 1 root root 909 2007-02-13 23:03 ./source/x/x11/slack-desc/xf86-input-joystick
--rw-r--r-- 1 root root 909 2007-02-13 23:03 ./source/x/x11/slack-desc/xf86-input-keyboard
--rw-r--r-- 1 root root 909 2007-02-13 23:03 ./source/x/x11/slack-desc/xf86-input-magellan
--rw-r--r-- 1 root root 937 2007-02-13 23:03 ./source/x/x11/slack-desc/xf86-input-magictouch
--rw-r--r-- 1 root root 937 2007-02-13 23:03 ./source/x/x11/slack-desc/xf86-input-microtouch
--rw-r--r-- 1 root root 867 2007-02-13 23:03 ./source/x/x11/slack-desc/xf86-input-mouse
--rw-r--r-- 1 root root 895 2007-02-13 23:03 ./source/x/x11/slack-desc/xf86-input-mutouch
--rw-r--r-- 1 root root 881 2007-02-13 23:03 ./source/x/x11/slack-desc/xf86-input-palmax
--rw-r--r-- 1 root root 909 2007-02-13 23:03 ./source/x/x11/slack-desc/xf86-input-penmount
--rw-r--r-- 1 root root 909 2007-02-13 23:03 ./source/x/x11/slack-desc/xf86-input-spaceorb
--rw-r--r-- 1 root root 867 2007-02-13 23:03 ./source/x/x11/slack-desc/xf86-input-summa
--rw-r--r-- 1 root root 923 2008-11-18 18:09 ./source/x/x11/slack-desc/xf86-input-synaptics
--rw-r--r-- 1 root root 895 2007-02-13 23:03 ./source/x/x11/slack-desc/xf86-input-tek4957
--rw-r--r-- 1 root root 853 2007-02-13 23:03 ./source/x/x11/slack-desc/xf86-input-ur98
--rw-r--r-- 1 root root 895 2007-02-13 23:03 ./source/x/x11/slack-desc/xf86-input-vmmouse
--rw-r--r-- 1 root root 853 2007-02-13 23:03 ./source/x/x11/slack-desc/xf86-input-void
--rw-r--r-- 1 root root 839 2007-02-13 23:03 ./source/x/x11/slack-desc/xf86-video-apm
--rw-r--r-- 1 root root 839 2007-02-13 23:03 ./source/x/x11/slack-desc/xf86-video-ark
--rw-r--r-- 1 root root 839 2007-02-13 23:03 ./source/x/x11/slack-desc/xf86-video-ast
--rw-r--r-- 1 root root 839 2007-02-13 23:03 ./source/x/x11/slack-desc/xf86-video-ati
--rw-r--r-- 1 root root 867 2007-02-13 23:03 ./source/x/x11/slack-desc/xf86-video-chips
--rw-r--r-- 1 root root 881 2007-02-13 23:03 ./source/x/x11/slack-desc/xf86-video-cirrus
--rw-r--r-- 1 root root 867 2007-02-13 23:03 ./source/x/x11/slack-desc/xf86-video-cyrix
--rw-r--r-- 1 root root 867 2007-02-13 23:03 ./source/x/x11/slack-desc/xf86-video-dummy
--rw-r--r-- 1 root root 867 2007-02-13 23:03 ./source/x/x11/slack-desc/xf86-video-fbdev
--rw-r--r-- 1 root root 902 2008-04-03 02:30 ./source/x/x11/slack-desc/xf86-video-geode
--rw-r--r-- 1 root root 867 2007-02-13 23:03 ./source/x/x11/slack-desc/xf86-video-glint
--rw-r--r-- 1 root root 853 2007-02-13 23:03 ./source/x/x11/slack-desc/xf86-video-i128
--rw-r--r-- 1 root root 853 2007-02-13 23:03 ./source/x/x11/slack-desc/xf86-video-i740
--rw-r--r-- 1 root root 853 2007-02-13 23:03 ./source/x/x11/slack-desc/xf86-video-i810
--rw-r--r-- 1 root root 881 2007-02-13 23:03 ./source/x/x11/slack-desc/xf86-video-impact
--rw-r--r-- 1 root root 867 2007-02-13 23:03 ./source/x/x11/slack-desc/xf86-video-imstt
--rw-r--r-- 1 root root 867 2007-03-07 21:18 ./source/x/x11/slack-desc/xf86-video-intel
--rw-r--r-- 1 root root 881 2008-07-10 23:31 ./source/x/x11/slack-desc/xf86-video-mach64
--rw-r--r-- 1 root root 839 2007-02-13 23:03 ./source/x/x11/slack-desc/xf86-video-mga
--rw-r--r-- 1 root root 909 2007-02-13 23:03 ./source/x/x11/slack-desc/xf86-video-neomagic
--rw-r--r-- 1 root root 895 2007-02-13 23:03 ./source/x/x11/slack-desc/xf86-video-newport
--rw-r--r-- 1 root root 839 2007-02-13 23:03 ./source/x/x11/slack-desc/xf86-video-nsc
--rw-r--r-- 1 root root 825 2007-02-13 23:03 ./source/x/x11/slack-desc/xf86-video-nv
--rw-r--r-- 1 root root 937 2008-11-18 19:25 ./source/x/x11/slack-desc/xf86-video-openchrome
--rw-r--r-- 1 root root 853 2008-07-10 23:31 ./source/x/x11/slack-desc/xf86-video-r128
--rw-r--r-- 1 root root 955 2008-04-12 05:04 ./source/x/x11/slack-desc/xf86-video-radeonhd
--rw-r--r-- 1 root root 923 2007-02-13 23:03 ./source/x/x11/slack-desc/xf86-video-rendition
--rw-r--r-- 1 root root 825 2007-02-13 23:03 ./source/x/x11/slack-desc/xf86-video-s3
--rw-r--r-- 1 root root 895 2007-02-13 23:03 ./source/x/x11/slack-desc/xf86-video-s3virge
--rw-r--r-- 1 root root 881 2007-02-13 23:03 ./source/x/x11/slack-desc/xf86-video-savage
--rw-r--r-- 1 root root 979 2007-02-13 23:03 ./source/x/x11/slack-desc/xf86-video-siliconmotion
--rw-r--r-- 1 root root 839 2007-02-13 23:03 ./source/x/x11/slack-desc/xf86-video-sis
--rw-r--r-- 1 root root 881 2007-02-13 23:03 ./source/x/x11/slack-desc/xf86-video-sisusb
--rw-r--r-- 1 root root 881 2007-02-13 23:03 ./source/x/x11/slack-desc/xf86-video-sunbw2
--rw-r--r-- 1 root root 895 2007-02-13 23:03 ./source/x/x11/slack-desc/xf86-video-suncg14
--rw-r--r-- 1 root root 881 2007-02-13 23:03 ./source/x/x11/slack-desc/xf86-video-suncg3
--rw-r--r-- 1 root root 881 2007-02-13 23:03 ./source/x/x11/slack-desc/xf86-video-suncg6
--rw-r--r-- 1 root root 881 2007-02-13 23:03 ./source/x/x11/slack-desc/xf86-video-sunffb
--rw-r--r-- 1 root root 881 2007-02-13 23:03 ./source/x/x11/slack-desc/xf86-video-sunleo
--rw-r--r-- 1 root root 881 2007-02-13 23:03 ./source/x/x11/slack-desc/xf86-video-suntcx
--rw-r--r-- 1 root root 853 2007-02-13 23:03 ./source/x/x11/slack-desc/xf86-video-tdfx
--rw-r--r-- 1 root root 839 2007-02-13 23:03 ./source/x/x11/slack-desc/xf86-video-tga
--rw-r--r-- 1 root root 895 2007-02-13 23:03 ./source/x/x11/slack-desc/xf86-video-trident
--rw-r--r-- 1 root root 867 2007-02-13 23:03 ./source/x/x11/slack-desc/xf86-video-tseng
--rw-r--r-- 1 root root 839 2007-02-13 23:03 ./source/x/x11/slack-desc/xf86-video-v4l
--rw-r--r-- 1 root root 955 2007-04-06 22:22 ./source/x/x11/slack-desc/xf86-video-vermilion
--rw-r--r-- 1 root root 853 2007-02-13 23:03 ./source/x/x11/slack-desc/xf86-video-vesa
--rw-r--r-- 1 root root 839 2007-02-13 23:03 ./source/x/x11/slack-desc/xf86-video-vga
--rw-r--r-- 1 root root 839 2007-02-13 23:03 ./source/x/x11/slack-desc/xf86-video-via
--rw-r--r-- 1 root root 881 2007-02-13 23:03 ./source/x/x11/slack-desc/xf86-video-vmware
--rw-r--r-- 1 root root 881 2007-02-13 23:03 ./source/x/x11/slack-desc/xf86-video-voodoo
--rw-r--r-- 1 root root 853 2007-02-13 23:03 ./source/x/x11/slack-desc/xf86-video-wsfb
--rw-r--r-- 1 root root 867 2007-02-13 23:03 ./source/x/x11/slack-desc/xf86bigfontproto
--rw-r--r-- 1 root root 741 2007-02-13 23:03 ./source/x/x11/slack-desc/xf86dga
--rw-r--r-- 1 root root 811 2007-02-13 23:03 ./source/x/x11/slack-desc/xf86dgaproto
--rw-r--r-- 1 root root 811 2007-02-13 23:03 ./source/x/x11/slack-desc/xf86driproto
--rw-r--r-- 1 root root 825 2007-02-13 23:03 ./source/x/x11/slack-desc/xf86miscproto
--rw-r--r-- 1 root root 825 2007-02-13 23:03 ./source/x/x11/slack-desc/xf86rushproto
--rw-r--r-- 1 root root 867 2007-02-13 23:03 ./source/x/x11/slack-desc/xf86vidmodeproto
--rw-r--r-- 1 root root 685 2007-02-13 23:03 ./source/x/x11/slack-desc/xfd
--rw-r--r-- 1 root root 783 2007-02-13 23:03 ./source/x/x11/slack-desc/xfindproxy
--rw-r--r-- 1 root root 755 2007-02-13 23:03 ./source/x/x11/slack-desc/xfontsel
--rw-r--r-- 1 root root 685 2007-02-13 23:03 ./source/x/x11/slack-desc/xfs
--rw-r--r-- 1 root root 741 2007-02-13 23:03 ./source/x/x11/slack-desc/xfsinfo
--rw-r--r-- 1 root root 699 2007-02-13 23:03 ./source/x/x11/slack-desc/xfwp
--rw-r--r-- 1 root root 727 2007-02-13 23:03 ./source/x/x11/slack-desc/xgamma
--rw-r--r-- 1 root root 685 2007-02-13 23:03 ./source/x/x11/slack-desc/xgc
--rw-r--r-- 1 root root 713 2007-02-13 23:03 ./source/x/x11/slack-desc/xhost
--rw-r--r-- 1 root root 825 2007-02-13 23:03 ./source/x/x11/slack-desc/xineramaproto
--rw-r--r-- 1 root root 713 2007-02-13 23:03 ./source/x/x11/slack-desc/xinit
--rw-r--r-- 1 root root 923 2008-01-31 06:21 ./source/x/x11/slack-desc/xinput
--rw-r--r-- 1 root root 741 2007-02-13 23:03 ./source/x/x11/slack-desc/xkbcomp
--rw-r--r-- 1 root root 741 2007-02-13 23:03 ./source/x/x11/slack-desc/xkbdata
--rw-r--r-- 1 root root 727 2007-02-13 23:03 ./source/x/x11/slack-desc/xkbevd
--rw-r--r-- 1 root root 755 2007-02-13 23:03 ./source/x/x11/slack-desc/xkbprint
--rw-r--r-- 1 root root 755 2007-02-13 23:03 ./source/x/x11/slack-desc/xkbutils
--rw-r--r-- 1 root root 867 2007-02-13 23:03 ./source/x/x11/slack-desc/xkeyboard-config
--rw-r--r-- 1 root root 713 2007-02-13 23:03 ./source/x/x11/slack-desc/xkill
--rw-r--r-- 1 root root 713 2007-02-13 23:03 ./source/x/x11/slack-desc/xload
--rw-r--r-- 1 root root 713 2007-02-13 23:03 ./source/x/x11/slack-desc/xlogo
--rw-r--r-- 1 root root 755 2007-02-13 23:03 ./source/x/x11/slack-desc/xlsatoms
--rw-r--r-- 1 root root 783 2007-02-13 23:03 ./source/x/x11/slack-desc/xlsclients
--rw-r--r-- 1 root root 755 2007-02-13 23:03 ./source/x/x11/slack-desc/xlsfonts
--rw-r--r-- 1 root root 699 2007-02-13 23:03 ./source/x/x11/slack-desc/xmag
--rw-r--r-- 1 root root 699 2007-02-13 23:03 ./source/x/x11/slack-desc/xman
--rw-r--r-- 1 root root 755 2007-02-13 23:03 ./source/x/x11/slack-desc/xmessage
--rw-r--r-- 1 root root 685 2007-02-13 23:03 ./source/x/x11/slack-desc/xmh
--rw-r--r-- 1 root root 741 2007-02-13 23:03 ./source/x/x11/slack-desc/xmodmap
--rw-r--r-- 1 root root 713 2007-02-13 23:03 ./source/x/x11/slack-desc/xmore
--rw-r--r-- 1 root root 825 2007-02-13 23:03 ./source/x/x11/slack-desc/xorg-cf-files
--rw-r--r-- 1 root root 769 2007-02-13 23:03 ./source/x/x11/slack-desc/xorg-docs
--rw-r--r-- 1 root root 1160 2007-02-13 18:20 ./source/x/x11/slack-desc/xorg-server
--rw-r--r-- 1 root root 901 2007-02-14 10:05 ./source/x/x11/slack-desc/xorg-server-xdmx
--rw-r--r-- 1 root root 839 2009-05-30 01:47 ./source/x/x11/slack-desc/xorg-server-xephyr
--rw-r--r-- 1 root root 1063 2007-02-13 18:18 ./source/x/x11/slack-desc/xorg-server-xnest
--rw-r--r-- 1 root root 1160 2007-02-13 18:20 ./source/x/x11/slack-desc/xorg-server-xvfb
--rw-r--r-- 1 root root 895 2007-02-13 23:03 ./source/x/x11/slack-desc/xorg-sgml-doctools
--rw-r--r-- 1 root root 811 2007-02-13 23:03 ./source/x/x11/slack-desc/xphelloworld
--rw-r--r-- 1 root root 811 2007-02-13 23:03 ./source/x/x11/slack-desc/xplsprinters
--rw-r--r-- 1 root root 685 2007-02-13 23:03 ./source/x/x11/slack-desc/xpr
--rw-r--r-- 1 root root 909 2007-02-13 23:03 ./source/x/x11/slack-desc/xprehashprinterlist
--rw-r--r-- 1 root root 713 2007-02-13 23:03 ./source/x/x11/slack-desc/xprop
--rw-r--r-- 1 root root 727 2007-02-13 23:03 ./source/x/x11/slack-desc/xproto
--rw-r--r-- 1 root root 979 2007-02-13 23:03 ./source/x/x11/slack-desc/xproxymanagementprotocol
--rw-r--r-- 1 root root 700 2009-05-30 01:47 ./source/x/x11/slack-desc/xpyb
--rw-r--r-- 1 root root 727 2007-02-13 23:03 ./source/x/x11/slack-desc/xrandr
--rw-r--r-- 1 root root 699 2007-02-13 23:03 ./source/x/x11/slack-desc/xrdb
--rw-r--r-- 1 root root 755 2007-02-13 23:03 ./source/x/x11/slack-desc/xrefresh
--rw-r--r-- 1 root root 685 2007-02-13 23:03 ./source/x/x11/slack-desc/xrx
--rw-r--r-- 1 root root 727 2009-05-30 01:47 ./source/x/x11/slack-desc/xscope
--rw-r--r-- 1 root root 699 2007-02-13 23:03 ./source/x/x11/slack-desc/xset
--rw-r--r-- 1 root root 755 2007-02-13 23:03 ./source/x/x11/slack-desc/xsetmode
--rw-r--r-- 1 root root 797 2007-02-13 23:03 ./source/x/x11/slack-desc/xsetpointer
--rw-r--r-- 1 root root 755 2007-02-13 23:03 ./source/x/x11/slack-desc/xsetroot
--rw-r--r-- 1 root root 685 2007-02-13 23:03 ./source/x/x11/slack-desc/xsm
--rw-r--r-- 1 root root 755 2007-02-13 23:03 ./source/x/x11/slack-desc/xstdcmap
--rw-r--r-- 1 root root 727 2007-02-13 23:03 ./source/x/x11/slack-desc/xtrans
--rw-r--r-- 1 root root 713 2007-02-13 23:03 ./source/x/x11/slack-desc/xtrap
--rw-r--r-- 1 root root 755 2007-02-13 23:03 ./source/x/x11/slack-desc/xvidtune
--rw-r--r-- 1 root root 727 2007-02-13 23:03 ./source/x/x11/slack-desc/xvinfo
--rw-r--r-- 1 root root 685 2007-02-13 23:03 ./source/x/x11/slack-desc/xwd
--rw-r--r-- 1 root root 755 2007-02-13 23:03 ./source/x/x11/slack-desc/xwininfo
--rw-r--r-- 1 root root 699 2007-02-13 23:03 ./source/x/x11/slack-desc/xwud
-drwxr-xr-x 12 root root 4096 2009-08-01 02:35 ./source/x/x11/src
-drwxr-xr-x 2 root root 4096 2009-08-03 22:31 ./source/x/x11/src/app
--rw-r--r-- 1 root root 78644 2007-01-23 02:18 ./source/x/x11/src/app/appres-1.0.1.tar.xz
--rw-r--r-- 1 root root 78868 2007-04-26 00:19 ./source/x/x11/src/app/bdftopcf-1.0.1.tar.xz
--rw-r--r-- 1 root root 79116 2007-09-08 20:25 ./source/x/x11/src/app/beforelight-1.0.3.tar.xz
--rw-r--r-- 1 root root 117944 2007-01-23 21:54 ./source/x/x11/src/app/bitmap-1.0.3.tar.xz
--rw-r--r-- 1 root root 845256 2008-09-17 12:13 ./source/x/x11/src/app/compiz-0.7.8.tar.xz
--rw-r--r-- 1 root root 81568 2007-08-28 23:08 ./source/x/x11/src/app/constype-1.0.1.tar.xz
--rw-r--r-- 1 root root 118876 2007-01-24 01:10 ./source/x/x11/src/app/editres-1.0.3.tar.xz
--rw-r--r-- 1 root root 98084 2008-05-10 22:53 ./source/x/x11/src/app/fonttosfnt-1.0.4.tar.xz
--rw-r--r-- 1 root root 81636 2008-05-23 23:33 ./source/x/x11/src/app/fslsfonts-1.0.2.tar.xz
--rw-r--r-- 1 root root 83136 2008-05-23 23:55 ./source/x/x11/src/app/fstobdf-1.0.3.tar.xz
--rw-r--r-- 1 root root 89364 2007-07-24 01:28 ./source/x/x11/src/app/iceauth-1.0.2.tar.xz
--rw-r--r-- 1 root root 89560 2007-07-21 00:22 ./source/x/x11/src/app/ico-1.0.2.tar.xz
--rw-r--r-- 1 root root 233128 2009-05-19 23:51 ./source/x/x11/src/app/intel-gpu-tools-1.0.1.tar.xz
--rw-r--r-- 1 root root 169456 2006-01-18 23:51 ./source/x/x11/src/app/lbxproxy-1.0.1.tar.xz
--rw-r--r-- 1 root root 70920 2006-01-18 23:51 ./source/x/x11/src/app/listres-1.0.1.tar.xz
--rw-r--r-- 1 root root 95920 2008-01-31 23:37 ./source/x/x11/src/app/luit-1.0.3.tar.xz
--rw-r--r-- 1 root root 70424 2006-01-18 23:51 ./source/x/x11/src/app/mkcfm-1.0.1.tar.xz
--rw-r--r-- 1 root root 60884 2007-01-29 11:59 ./source/x/x11/src/app/mkcomposecache-1.2.tar.xz
--rw-r--r-- 1 root root 65480 2008-03-06 21:48 ./source/x/x11/src/app/mkfontdir-1.0.4.tar.xz
--rw-r--r-- 1 root root 96952 2008-12-19 01:09 ./source/x/x11/src/app/mkfontscale-1.0.6.tar.xz
--rw-r--r-- 1 root root 76552 2006-01-18 23:51 ./source/x/x11/src/app/oclock-1.0.1.tar.xz
--rw-r--r-- 1 root root 84328 2006-01-18 23:51 ./source/x/x11/src/app/proxymngr-1.0.1.tar.xz
--rw-r--r-- 1 root root 81948 2008-03-07 21:48 ./source/x/x11/src/app/rendercheck-1.3.tar.xz
--rw-r--r-- 1 root root 93640 2008-06-06 03:18 ./source/x/x11/src/app/rgb-1.0.3.tar.xz
--rw-r--r-- 1 root root 96964 2009-08-02 13:41 ./source/x/x11/src/app/rstart-1.0.3.tar.xz
--rw-r--r-- 1 root root 67148 2006-01-18 23:51 ./source/x/x11/src/app/scripts-1.0.1.tar.xz
--rw-r--r-- 1 root root 88680 2008-06-11 22:50 ./source/x/x11/src/app/sessreg-1.0.4.tar.xz
--rw-r--r-- 1 root root 91836 2009-07-08 23:20 ./source/x/x11/src/app/setxkbmap-1.1.0.tar.xz
--rw-r--r-- 1 root root 83512 2008-05-24 00:14 ./source/x/x11/src/app/showfont-1.0.2.tar.xz
--rw-r--r-- 1 root root 80860 2006-04-02 00:41 ./source/x/x11/src/app/smproxy-1.0.2.tar.xz
--rw-r--r-- 1 root root 220032 2008-03-06 21:53 ./source/x/x11/src/app/twm-1.0.4.tar.xz
--rw-r--r-- 1 root root 78176 2006-01-18 23:51 ./source/x/x11/src/app/viewres-1.0.1.tar.xz
--rw-r--r-- 1 root root 132064 2008-03-07 21:55 ./source/x/x11/src/app/x11perf-1.5.tar.xz
--rw-r--r-- 1 root root 104196 2008-03-06 21:57 ./source/x/x11/src/app/xauth-1.0.3.tar.xz
--rw-r--r-- 1 root root 74184 2007-06-21 13:55 ./source/x/x11/src/app/xbacklight-1.1.tar.xz
--rw-r--r-- 1 root root 77224 2006-01-18 23:51 ./source/x/x11/src/app/xbiff-1.0.1.tar.xz
--rw-r--r-- 1 root root 96788 2007-08-21 18:28 ./source/x/x11/src/app/xcalc-1.0.2.tar.xz
--rw-r--r-- 1 root root 76940 2006-01-18 23:51 ./source/x/x11/src/app/xclipboard-1.0.1.tar.xz
--rw-r--r-- 1 root root 102988 2007-08-06 22:48 ./source/x/x11/src/app/xclock-1.0.3.tar.xz
--rw-r--r-- 1 root root 85988 2006-01-18 23:51 ./source/x/x11/src/app/xcmsdb-1.0.1.tar.xz
--rw-r--r-- 1 root root 73296 2008-03-06 22:02 ./source/x/x11/src/app/xcompmgr-1.1.4.tar.xz
--rw-r--r-- 1 root root 91192 2007-08-21 02:04 ./source/x/x11/src/app/xconsole-1.0.3.tar.xz
--rw-r--r-- 1 root root 83576 2007-08-21 01:32 ./source/x/x11/src/app/xcursorgen-1.0.2.tar.xz
--rw-r--r-- 1 root root 81204 2006-10-13 21:48 ./source/x/x11/src/app/xdbedizzy-1.0.2.tar.xz
--rw-r--r-- 1 root root 94716 2006-01-18 23:51 ./source/x/x11/src/app/xditview-1.0.1.tar.xz
--rw-r--r-- 1 root root 323404 2008-05-21 18:28 ./source/x/x11/src/app/xdm-1.1.8.tar.xz
--rw-r--r-- 1 root root 95224 2008-05-21 18:23 ./source/x/x11/src/app/xdpyinfo-1.0.3.tar.xz
--rw-r--r-- 1 root root 82072 2007-08-17 23:28 ./source/x/x11/src/app/xdriinfo-1.0.2.tar.xz
--rw-r--r-- 1 root root 452488 2008-11-07 19:14 ./source/x/x11/src/app/xedit-1.1.2.tar.xz
--rw-r--r-- 1 root root 85228 2008-03-07 22:15 ./source/x/x11/src/app/xev-1.0.3.tar.xz
--rw-r--r-- 1 root root 74588 2006-01-18 23:51 ./source/x/x11/src/app/xeyes-1.0.1.tar.xz
--rw-r--r-- 1 root root 74620 2006-10-13 21:50 ./source/x/x11/src/app/xf86dga-1.0.2.tar.xz
--rw-r--r-- 1 root root 81676 2006-01-18 23:51 ./source/x/x11/src/app/xfd-1.0.1.tar.xz
--rw-r--r-- 1 root root 71840 2006-01-18 23:51 ./source/x/x11/src/app/xfindproxy-1.0.1.tar.xz
--rw-r--r-- 1 root root 97148 2007-02-01 21:06 ./source/x/x11/src/app/xfontsel-1.0.2.tar.xz
--rw-r--r-- 1 root root 174808 2009-08-01 03:13 ./source/x/x11/src/app/xfs-1.1.0.tar.xz
--rw-r--r-- 1 root root 81172 2008-05-23 23:17 ./source/x/x11/src/app/xfsinfo-1.0.2.tar.xz
--rw-r--r-- 1 root root 98048 2006-01-18 23:51 ./source/x/x11/src/app/xfwp-1.0.1.tar.xz
--rw-r--r-- 1 root root 79880 2007-08-07 01:57 ./source/x/x11/src/app/xgamma-1.0.2.tar.xz
--rw-r--r-- 1 root root 119636 2006-01-18 23:51 ./source/x/x11/src/app/xgc-1.0.1.tar.xz
--rw-r--r-- 1 root root 90752 2007-07-16 23:04 ./source/x/x11/src/app/xhost-1.0.2.tar.xz
--rw-r--r-- 1 root root 117264 2008-12-17 23:43 ./source/x/x11/src/app/xinit-1.1.1.tar.xz
--rw-r--r-- 1 root root 99044 2009-05-07 05:25 ./source/x/x11/src/app/xinput-1.4.2.tar.xz
--rw-r--r-- 1 root root 197672 2009-07-08 22:58 ./source/x/x11/src/app/xkbcomp-1.1.0.tar.xz
--rw-r--r-- 1 root root 99508 2006-04-02 01:09 ./source/x/x11/src/app/xkbevd-1.0.2.tar.xz
--rw-r--r-- 1 root root 105928 2006-01-18 23:51 ./source/x/x11/src/app/xkbprint-1.0.1.tar.xz
--rw-r--r-- 1 root root 59792 2006-01-18 23:51 ./source/x/x11/src/app/xkbutils-1.0.1.tar.xz
--rw-r--r-- 1 root root 71472 2006-01-18 23:51 ./source/x/x11/src/app/xkill-1.0.1.tar.xz
--rw-r--r-- 1 root root 85624 2007-03-22 05:35 ./source/x/x11/src/app/xload-1.0.2.tar.xz
--rw-r--r-- 1 root root 80120 2006-01-18 23:51 ./source/x/x11/src/app/xlogo-1.0.1.tar.xz
--rw-r--r-- 1 root root 69384 2006-01-18 23:51 ./source/x/x11/src/app/xlsatoms-1.0.1.tar.xz
--rw-r--r-- 1 root root 69924 2006-01-18 23:51 ./source/x/x11/src/app/xlsclients-1.0.1.tar.xz
--rw-r--r-- 1 root root 91080 2007-02-01 22:15 ./source/x/x11/src/app/xlsfonts-1.0.2.tar.xz
--rw-r--r-- 1 root root 97920 2007-08-16 01:05 ./source/x/x11/src/app/xmag-1.0.2.tar.xz
--rw-r--r-- 1 root root 133816 2007-08-10 14:22 ./source/x/x11/src/app/xman-1.0.3.tar.xz
--rw-r--r-- 1 root root 87812 2007-08-10 09:25 ./source/x/x11/src/app/xmessage-1.0.2.tar.xz
--rw-r--r-- 1 root root 147888 2006-01-18 23:51 ./source/x/x11/src/app/xmh-1.0.1.tar.xz
--rw-r--r-- 1 root root 95024 2007-08-06 23:03 ./source/x/x11/src/app/xmodmap-1.0.3.tar.xz
--rw-r--r-- 1 root root 85148 2006-01-18 23:51 ./source/x/x11/src/app/xmore-1.0.1.tar.xz
--rw-r--r-- 1 root root 64084 2006-01-18 23:51 ./source/x/x11/src/app/xphelloworld-1.0.1.tar.xz
--rw-r--r-- 1 root root 71268 2006-01-18 23:51 ./source/x/x11/src/app/xplsprinters-1.0.1.tar.xz
--rw-r--r-- 1 root root 107484 2007-01-28 09:32 ./source/x/x11/src/app/xpr-1.0.2.tar.xz
--rw-r--r-- 1 root root 70076 2006-01-18 23:51 ./source/x/x11/src/app/xprehashprinterlist-1.0.1.tar.xz
--rw-r--r-- 1 root root 100896 2008-03-07 22:24 ./source/x/x11/src/app/xprop-1.0.4.tar.xz
--rw-r--r-- 1 root root 118860 2009-04-01 15:04 ./source/x/x11/src/app/xrandr-1.3.0.tar.xz
--rw-r--r-- 1 root root 94188 2008-03-06 22:16 ./source/x/x11/src/app/xrdb-1.0.5.tar.xz
--rw-r--r-- 1 root root 74764 2006-04-02 01:16 ./source/x/x11/src/app/xrefresh-1.0.2.tar.xz
--rw-r--r-- 1 root root 122604 2008-09-23 02:21 ./source/x/x11/src/app/xscope-1.1.tar.xz
--rw-r--r-- 1 root root 95868 2008-03-06 22:29 ./source/x/x11/src/app/xset-1.0.4.tar.xz
--rw-r--r-- 1 root root 68360 2006-01-18 23:51 ./source/x/x11/src/app/xsetmode-1.0.0.tar.xz
--rw-r--r-- 1 root root 76884 2006-11-02 01:38 ./source/x/x11/src/app/xsetpointer-1.0.1.tar.xz
--rw-r--r-- 1 root root 81732 2007-08-10 08:59 ./source/x/x11/src/app/xsetroot-1.0.2.tar.xz
--rw-r--r-- 1 root root 110080 2006-01-18 23:51 ./source/x/x11/src/app/xsm-1.0.1.tar.xz
--rw-r--r-- 1 root root 70724 2006-01-18 23:51 ./source/x/x11/src/app/xstdcmap-1.0.1.tar.xz
--rw-r--r-- 1 root root 88004 2006-05-12 16:23 ./source/x/x11/src/app/xtrap-1.0.2.tar.xz
--rw-r--r-- 1 root root 80872 2006-01-18 23:51 ./source/x/x11/src/app/xvidtune-1.0.1.tar.xz
--rw-r--r-- 1 root root 80204 2007-08-16 23:27 ./source/x/x11/src/app/xvinfo-1.0.2.tar.xz
--rw-r--r-- 1 root root 102728 2008-06-29 15:31 ./source/x/x11/src/app/xwd-1.0.2.tar.xz
--rw-r--r-- 1 root root 93464 2008-06-29 15:50 ./source/x/x11/src/app/xwininfo-1.0.4.tar.xz
--rw-r--r-- 1 root root 76664 2006-01-18 23:51 ./source/x/x11/src/app/xwud-1.0.1.tar.xz
-drwxr-xr-x 2 root root 4096 2009-05-27 00:05 ./source/x/x11/src/data
--rw-r--r-- 1 root root 54248 2006-01-18 23:51 ./source/x/x11/src/data/xbitmaps-1.0.1.tar.xz
--rw-r--r-- 1 root root 1439460 2006-01-18 23:51 ./source/x/x11/src/data/xcursor-themes-1.0.1.tar.xz
--rw-r--r-- 1 root root 514092 2009-05-27 00:05 ./source/x/x11/src/data/xkeyboard-config-1.6.tar.xz
-drwxr-xr-x 2 root root 4096 2007-03-03 20:32 ./source/x/x11/src/doc
--rw-r--r-- 1 root root 7580256 2007-03-03 20:10 ./source/x/x11/src/doc/xorg-docs-1.4.tar.xz
--rw-r--r-- 1 root root 36620 2007-03-03 20:32 ./source/x/x11/src/doc/xorg-sgml-doctools-1.2.tar.xz
-drwxr-xr-x 2 root root 4096 2009-08-26 03:48 ./source/x/x11/src/driver
--rw-r--r-- 1 root root 191536 2009-02-24 03:28 ./source/x/x11/src/driver/xf86-input-acecad-1.3.0.tar.xz
--rw-r--r-- 1 root root 200028 2009-02-24 03:49 ./source/x/x11/src/driver/xf86-input-aiptek-1.2.0.tar.xz
--rw-r--r-- 1 root root 183984 2008-03-20 19:04 ./source/x/x11/src/driver/xf86-input-calcomp-1.1.2.tar.xz
--rw-r--r-- 1 root root 207380 2009-04-29 00:56 ./source/x/x11/src/driver/xf86-input-citron-2.2.2.tar.xz
--rw-r--r-- 1 root root 182548 2008-03-20 19:15 ./source/x/x11/src/driver/xf86-input-digitaledge-1.1.1.tar.xz
--rw-r--r-- 1 root root 181760 2008-03-20 19:18 ./source/x/x11/src/driver/xf86-input-dmc-1.1.2.tar.xz
--rw-r--r-- 1 root root 181148 2008-03-20 19:23 ./source/x/x11/src/driver/xf86-input-dynapro-1.1.2.tar.xz
--rw-r--r-- 1 root root 183804 2008-05-21 18:58 ./source/x/x11/src/driver/xf86-input-elo2300-1.1.2.tar.xz
--rw-r--r-- 1 root root 189608 2008-10-21 05:10 ./source/x/x11/src/driver/xf86-input-elographics-1.2.3.tar.xz
--rw-r--r-- 1 root root 250780 2009-08-20 23:31 ./source/x/x11/src/driver/xf86-input-evdev-2.2.5.tar.xz
--rw-r--r-- 1 root root 189848 2009-02-18 01:42 ./source/x/x11/src/driver/xf86-input-fpit-1.3.0.tar.xz
--rw-r--r-- 1 root root 183932 2009-02-27 00:32 ./source/x/x11/src/driver/xf86-input-hyperpen-1.3.0.tar.xz
--rw-r--r-- 1 root root 177228 2008-03-20 19:59 ./source/x/x11/src/driver/xf86-input-jamstudio-1.2.0.tar.xz
--rw-r--r-- 1 root root 251880 2008-12-28 19:58 ./source/x/x11/src/driver/xf86-input-joystick-1.4.0.tar.xz
--rw-r--r-- 1 root root 216708 2009-01-07 17:43 ./source/x/x11/src/driver/xf86-input-keyboard-1.3.2.tar.xz
--rw-r--r-- 1 root root 181608 2008-03-20 20:12 ./source/x/x11/src/driver/xf86-input-magellan-1.2.0.tar.xz
--rw-r--r-- 1 root root 161972 2006-01-18 23:51 ./source/x/x11/src/driver/xf86-input-magictouch-1.0.0.5.tar.xz
--rw-r--r-- 1 root root 184172 2008-03-20 20:22 ./source/x/x11/src/driver/xf86-input-microtouch-1.2.0.tar.xz
--rw-r--r-- 1 root root 235672 2009-01-10 02:45 ./source/x/x11/src/driver/xf86-input-mouse-1.4.0.tar.xz
--rw-r--r-- 1 root root 185284 2008-10-01 23:51 ./source/x/x11/src/driver/xf86-input-mutouch-1.2.1.tar.xz
--rw-r--r-- 1 root root 180076 2008-03-20 20:35 ./source/x/x11/src/driver/xf86-input-palmax-1.2.0.tar.xz
--rw-r--r-- 1 root root 185904 2009-02-19 06:36 ./source/x/x11/src/driver/xf86-input-penmount-1.4.0.tar.xz
--rw-r--r-- 1 root root 180460 2007-09-10 17:16 ./source/x/x11/src/driver/xf86-input-spaceorb-1.1.1.tar.xz
--rw-r--r-- 1 root root 184212 2008-03-20 20:45 ./source/x/x11/src/driver/xf86-input-summa-1.2.0.tar.xz
--rw-r--r-- 1 root root 247252 2009-08-03 01:41 ./source/x/x11/src/driver/xf86-input-synaptics-1.1.3.tar.xz
--rw-r--r-- 1 root root 179536 2008-03-20 20:49 ./source/x/x11/src/driver/xf86-input-tek4957-1.2.0.tar.xz
--rw-r--r-- 1 root root 171836 2006-04-07 22:09 ./source/x/x11/src/driver/xf86-input-ur98-1.1.0.tar.xz
--rw-r--r-- 1 root root 194012 2009-05-11 17:37 ./source/x/x11/src/driver/xf86-input-vmmouse-12.6.4.tar.xz
--rw-r--r-- 1 root root 182900 2009-02-24 22:56 ./source/x/x11/src/driver/xf86-input-void-1.2.0.tar.xz
--rw-r--r-- 1 root root 223284 2009-07-30 01:25 ./source/x/x11/src/driver/xf86-video-apm-1.2.2.tar.xz
--rw-r--r-- 1 root root 183220 2008-12-22 05:26 ./source/x/x11/src/driver/xf86-video-ark-0.7.1.tar.xz
--rw-r--r-- 1 root root 208756 2009-07-30 02:29 ./source/x/x11/src/driver/xf86-video-ast-0.89.9.tar.xz
--rw-r--r-- 1 root root 748288 2009-04-08 14:37 ./source/x/x11/src/driver/xf86-video-ati-6.12.2.tar.xz
--rw-r--r-- 1 root root 273428 2008-12-22 04:27 ./source/x/x11/src/driver/xf86-video-chips-1.2.1.tar.xz
--rw-r--r-- 1 root root 223812 2009-07-30 02:12 ./source/x/x11/src/driver/xf86-video-cirrus-1.3.2.tar.xz
--rw-r--r-- 1 root root 189032 2006-04-07 22:43 ./source/x/x11/src/driver/xf86-video-cyrix-1.1.0.tar.xz
--rw-r--r-- 1 root root 196748 2009-07-02 15:09 ./source/x/x11/src/driver/xf86-video-dummy-0.3.2.tar.xz
--rw-r--r-- 1 root root 499472 2009-06-19 13:58 ./source/x/x11/src/driver/xf86-video-geode-2.11.3.tar.xz
--rw-r--r-- 1 root root 190248 2009-02-25 00:23 ./source/x/x11/src/driver/xf86-video-glide-1.0.2.tar.xz
--rw-r--r-- 1 root root 281928 2009-07-30 02:13 ./source/x/x11/src/driver/xf86-video-glint-1.2.4.tar.xz
--rw-r--r-- 1 root root 216052 2009-07-30 02:14 ./source/x/x11/src/driver/xf86-video-i128-1.3.3.tar.xz
--rw-r--r-- 1 root root 209584 2009-07-30 02:14 ./source/x/x11/src/driver/xf86-video-i740-1.3.2.tar.xz
--rw-r--r-- 1 root root 178892 2006-06-28 01:36 ./source/x/x11/src/driver/xf86-video-impact-0.2.0.tar.xz
--rw-r--r-- 1 root root 175160 2006-04-07 22:43 ./source/x/x11/src/driver/xf86-video-imstt-1.1.0.tar.xz
--rw-r--r-- 1 root root 566640 2008-11-13 20:38 ./source/x/x11/src/driver/xf86-video-intel-2.5.1.tar.xz
--rw-r--r-- 1 root root 602624 2009-03-02 20:17 ./source/x/x11/src/driver/xf86-video-intel-2.6.3.tar.xz
--rw-r--r-- 1 root root 625972 2009-05-13 00:16 ./source/x/x11/src/driver/xf86-video-intel-2.7.1.tar.xz
--rw-r--r-- 1 root root 585420 2009-07-21 06:16 ./source/x/x11/src/driver/xf86-video-intel-2.8.0.tar.xz
--rw-r--r-- 1 root root 587556 2009-08-25 23:59 ./source/x/x11/src/driver/xf86-video-intel-2.8.1.tar.xz
--rw-r--r-- 1 root root 416140 2009-07-30 02:14 ./source/x/x11/src/driver/xf86-video-mach64-6.8.2.tar.xz
--rw-r--r-- 1 root root 331660 2009-07-30 02:15 ./source/x/x11/src/driver/xf86-video-mga-1.4.11.tar.xz
--rw-r--r-- 1 root root 218964 2009-07-30 02:18 ./source/x/x11/src/driver/xf86-video-neomagic-1.2.4.tar.xz
--rw-r--r-- 1 root root 216404 2009-05-15 01:12 ./source/x/x11/src/driver/xf86-video-newport-0.2.2.tar.xz
--rw-r--r-- 1 root root 378740 2007-09-05 01:11 ./source/x/x11/src/driver/xf86-video-nsc-2.8.3.tar.xz
--rw-r--r-- 1 root root 342232 2009-07-02 19:15 ./source/x/x11/src/driver/xf86-video-nv-2.1.14.tar.xz
--rw-r--r-- 1 root root 349420 2008-08-18 23:15 ./source/x/x11/src/driver/xf86-video-openchrome-0.2.903.tar.xz
--rw-r--r-- 1 root root 351232 2009-07-30 02:15 ./source/x/x11/src/driver/xf86-video-r128-6.8.1.tar.xz
--rw-r--r-- 1 root root 631392 2009-04-09 13:18 ./source/x/x11/src/driver/xf86-video-radeonhd-1.2.5.tar.xz
--rw-r--r-- 1 root root 256504 2009-07-02 15:31 ./source/x/x11/src/driver/xf86-video-rendition-4.2.2.tar.xz
--rw-r--r-- 1 root root 214920 2009-07-30 02:16 ./source/x/x11/src/driver/xf86-video-s3-0.6.3.tar.xz
--rw-r--r-- 1 root root 236912 2009-07-30 02:16 ./source/x/x11/src/driver/xf86-video-s3virge-1.10.4.tar.xz
--rw-r--r-- 1 root root 269908 2009-07-30 02:24 ./source/x/x11/src/driver/xf86-video-savage-2.3.1.tar.xz
--rw-r--r-- 1 root root 281968 2009-07-02 15:44 ./source/x/x11/src/driver/xf86-video-siliconmotion-1.7.2.tar.xz
--rw-r--r-- 1 root root 524420 2009-07-30 02:16 ./source/x/x11/src/driver/xf86-video-sis-0.10.2.tar.xz
--rw-r--r-- 1 root root 261784 2009-07-30 02:28 ./source/x/x11/src/driver/xf86-video-sisusb-0.9.3.tar.xz
--rw-r--r-- 1 root root 227984 2009-07-30 02:17 ./source/x/x11/src/driver/xf86-video-tdfx-1.4.3.tar.xz
--rw-r--r-- 1 root root 211820 2008-09-03 22:16 ./source/x/x11/src/driver/xf86-video-tga-1.2.0.tar.xz
--rw-r--r-- 1 root root 248272 2009-07-02 15:51 ./source/x/x11/src/driver/xf86-video-trident-1.3.2.tar.xz
--rw-r--r-- 1 root root 236344 2009-07-02 15:53 ./source/x/x11/src/driver/xf86-video-tseng-1.2.2.tar.xz
--rw-r--r-- 1 root root 183872 2008-03-19 20:58 ./source/x/x11/src/driver/xf86-video-v4l-0.2.0.tar.xz
--rw-r--r-- 1 root root 191028 2007-04-05 14:50 ./source/x/x11/src/driver/xf86-video-vermilion-1.0.1.tar.xz
--rw-r--r-- 1 root root 191708 2009-07-30 02:17 ./source/x/x11/src/driver/xf86-video-vesa-2.2.1.tar.xz
--rw-r--r-- 1 root root 174860 2006-04-07 22:44 ./source/x/x11/src/driver/xf86-video-vga-4.1.0.tar.xz
--rw-r--r-- 1 root root 217192 2009-07-21 18:11 ./source/x/x11/src/driver/xf86-video-vmware-10.16.7.tar.xz
--rw-r--r-- 1 root root 199400 2009-07-30 02:18 ./source/x/x11/src/driver/xf86-video-voodoo-1.2.3.tar.xz
--rw-r--r-- 1 root root 178588 2007-01-02 15:15 ./source/x/x11/src/driver/xf86-video-wsfb-0.2.1.tar.xz
--rw-r--r-- 1 root root 346324 2007-08-27 23:56 ./source/x/x11/src/driver/xf86-video-xgi-1.5.0.tar.xz
--rw-r--r-- 1 root root 269476 2008-05-01 20:06 ./source/x/x11/src/driver/xf86-video-xgixp-1.7.99.3.tar.xz
-drwxr-xr-x 2 root root 4096 2008-03-07 01:23 ./source/x/x11/src/font
--rw-r--r-- 1 root root 248036 2006-11-08 14:03 ./source/x/x11/src/font/encodings-1.0.2.tar.xz
--rw-r--r-- 1 root root 894236 2006-01-18 23:51 ./source/x/x11/src/font/font-adobe-100dpi-1.0.0.tar.xz
--rw-r--r-- 1 root root 747096 2006-01-18 23:51 ./source/x/x11/src/font/font-adobe-75dpi-1.0.0.tar.xz
--rw-r--r-- 1 root root 246640 2006-01-18 23:51 ./source/x/x11/src/font/font-adobe-utopia-100dpi-1.0.1.tar.xz
--rw-r--r-- 1 root root 197904 2006-01-18 23:51 ./source/x/x11/src/font/font-adobe-utopia-75dpi-1.0.1.tar.xz
--rw-r--r-- 1 root root 207816 2006-01-18 23:51 ./source/x/x11/src/font/font-adobe-utopia-type1-1.0.1.tar.xz
--rw-r--r-- 1 root root 38596 2006-01-18 23:51 ./source/x/x11/src/font/font-alias-1.0.1.tar.xz
--rw-r--r-- 1 root root 47268 2006-01-18 23:51 ./source/x/x11/src/font/font-arabic-misc-1.0.0.tar.xz
--rw-r--r-- 1 root root 545340 2006-01-18 23:51 ./source/x/x11/src/font/font-bh-100dpi-1.0.0.tar.xz
--rw-r--r-- 1 root root 446048 2006-01-18 23:51 ./source/x/x11/src/font/font-bh-75dpi-1.0.0.tar.xz
--rw-r--r-- 1 root root 164756 2006-01-18 23:51 ./source/x/x11/src/font/font-bh-lucidatypewriter-100dpi-1.0.0.tar.xz
--rw-r--r-- 1 root root 142092 2006-01-18 23:51 ./source/x/x11/src/font/font-bh-lucidatypewriter-75dpi-1.0.0.tar.xz
--rw-r--r-- 1 root root 312480 2006-01-18 23:51 ./source/x/x11/src/font/font-bh-ttf-1.0.0.tar.xz
--rw-r--r-- 1 root root 570392 2006-01-18 23:51 ./source/x/x11/src/font/font-bh-type1-1.0.0.tar.xz
--rw-r--r-- 1 root root 119016 2006-01-18 23:51 ./source/x/x11/src/font/font-bitstream-100dpi-1.0.0.tar.xz
--rw-r--r-- 1 root root 101740 2006-01-18 23:51 ./source/x/x11/src/font/font-bitstream-75dpi-1.0.0.tar.xz
--rw-r--r-- 1 root root 274744 2006-01-18 23:51 ./source/x/x11/src/font/font-bitstream-speedo-1.0.0.tar.xz
--rw-r--r-- 1 root root 335976 2006-01-18 23:51 ./source/x/x11/src/font/font-bitstream-type1-1.0.0.tar.xz
--rw-r--r-- 1 root root 181532 2006-01-18 23:51 ./source/x/x11/src/font/font-cronyx-cyrillic-1.0.0.tar.xz
--rw-r--r-- 1 root root 39880 2006-01-18 23:51 ./source/x/x11/src/font/font-cursor-misc-1.0.0.tar.xz
--rw-r--r-- 1 root root 453956 2006-01-18 23:51 ./source/x/x11/src/font/font-daewoo-misc-1.0.0.tar.xz
--rw-r--r-- 1 root root 37860 2006-01-18 23:51 ./source/x/x11/src/font/font-dec-misc-1.0.0.tar.xz
--rw-r--r-- 1 root root 317652 2006-01-18 23:51 ./source/x/x11/src/font/font-ibm-type1-1.0.0.tar.xz
--rw-r--r-- 1 root root 665684 2006-01-18 23:51 ./source/x/x11/src/font/font-isas-misc-1.0.0.tar.xz
--rw-r--r-- 1 root root 463920 2006-01-18 23:51 ./source/x/x11/src/font/font-jis-misc-1.0.0.tar.xz
--rw-r--r-- 1 root root 36340 2006-01-18 23:51 ./source/x/x11/src/font/font-micro-misc-1.0.0.tar.xz
--rw-r--r-- 1 root root 66352 2006-01-18 23:51 ./source/x/x11/src/font/font-misc-cyrillic-1.0.0.tar.xz
--rw-r--r-- 1 root root 163988 2006-01-18 23:51 ./source/x/x11/src/font/font-misc-ethiopic-1.0.0.tar.xz
--rw-r--r-- 1 root root 770636 2006-01-18 23:51 ./source/x/x11/src/font/font-misc-meltho-1.0.0.tar.xz
--rw-r--r-- 1 root root 1351952 2006-01-18 23:51 ./source/x/x11/src/font/font-misc-misc-1.0.0.tar.xz
--rw-r--r-- 1 root root 164816 2006-01-18 23:51 ./source/x/x11/src/font/font-mutt-misc-1.0.0.tar.xz
--rw-r--r-- 1 root root 75392 2006-01-18 23:51 ./source/x/x11/src/font/font-schumacher-misc-1.0.0.tar.xz
--rw-r--r-- 1 root root 42372 2006-11-08 17:25 ./source/x/x11/src/font/font-screen-cyrillic-1.0.1.tar.xz
--rw-r--r-- 1 root root 44676 2006-01-18 23:51 ./source/x/x11/src/font/font-sony-misc-1.0.0.tar.xz
--rw-r--r-- 1 root root 52212 2006-01-18 23:51 ./source/x/x11/src/font/font-sun-misc-1.0.0.tar.xz
--rw-r--r-- 1 root root 88028 2006-05-19 18:35 ./source/x/x11/src/font/font-util-1.0.1.tar.xz
--rw-r--r-- 1 root root 38556 2006-01-18 23:51 ./source/x/x11/src/font/font-winitzki-cyrillic-1.0.0.tar.xz
--rw-r--r-- 1 root root 67212 2008-03-07 01:23 ./source/x/x11/src/font/font-xfree86-type1-1.0.1.tar.xz
-drwxr-xr-x 2 root root 4096 2009-08-01 02:32 ./source/x/x11/src/lib
--rw-r--r-- 1 root root 202008 2009-07-07 22:57 ./source/x/x11/src/lib/libFS-1.0.2.tar.xz
--rw-r--r-- 1 root root 216516 2009-01-06 19:57 ./source/x/x11/src/lib/libICE-1.0.5.tar.xz
--rw-r--r-- 1 root root 192216 2008-07-02 18:06 ./source/x/x11/src/lib/libSM-1.1.0.tar.xz
--rw-r--r-- 1 root root 1317640 2009-07-20 06:42 ./source/x/x11/src/lib/libX11-1.2.2.tar.xz
--rw-r--r-- 1 root root 182092 2008-03-18 01:33 ./source/x/x11/src/lib/libXScrnSaver-1.1.3.tar.xz
--rw-r--r-- 1 root root 166564 2006-01-18 23:51 ./source/x/x11/src/lib/libXTrap-1.0.0.tar.xz
--rw-r--r-- 1 root root 187444 2008-08-26 21:24 ./source/x/x11/src/lib/libXau-1.0.4.tar.xz
--rw-r--r-- 1 root root 448120 2009-07-02 17:37 ./source/x/x11/src/lib/libXaw-1.0.6.tar.xz
--rw-r--r-- 1 root root 180416 2007-07-04 02:53 ./source/x/x11/src/lib/libXcomposite-0.4.0.tar.xz
--rw-r--r-- 1 root root 196280 2007-08-24 21:06 ./source/x/x11/src/lib/libXcursor-1.1.9.tar.xz
--rw-r--r-- 1 root root 168644 2007-03-14 19:06 ./source/x/x11/src/lib/libXdamage-1.1.1.tar.xz
--rw-r--r-- 1 root root 183936 2006-08-11 22:05 ./source/x/x11/src/lib/libXdmcp-1.0.2.tar.xz
--rw-r--r-- 1 root root 171968 2006-10-13 20:03 ./source/x/x11/src/lib/libXevie-1.0.2.tar.xz
--rw-r--r-- 1 root root 241100 2009-01-29 23:10 ./source/x/x11/src/lib/libXext-1.0.5.tar.xz
--rw-r--r-- 1 root root 176204 2006-11-08 14:15 ./source/x/x11/src/lib/libXfixes-4.0.3.tar.xz
--rw-r--r-- 1 root root 352132 2009-02-18 18:53 ./source/x/x11/src/lib/libXfont-1.4.0.tar.xz
--rw-r--r-- 1 root root 175956 2006-12-15 23:28 ./source/x/x11/src/lib/libXfontcache-1.0.4.tar.xz
--rw-r--r-- 1 root root 215192 2008-07-02 19:49 ./source/x/x11/src/lib/libXft-2.1.13.tar.xz
--rw-r--r-- 1 root root 219888 2009-02-25 23:27 ./source/x/x11/src/lib/libXi-1.2.1.tar.xz
--rw-r--r-- 1 root root 180280 2008-03-06 20:43 ./source/x/x11/src/lib/libXinerama-1.0.3.tar.xz
--rw-r--r-- 1 root root 244428 2008-01-14 22:25 ./source/x/x11/src/lib/libXmu-1.0.4.tar.xz
--rw-r--r-- 1 root root 187292 2006-01-18 23:51 ./source/x/x11/src/lib/libXp-1.0.0.tar.xz
--rw-r--r-- 1 root root 297804 2007-08-22 20:29 ./source/x/x11/src/lib/libXpm-3.5.7.tar.xz
--rw-r--r-- 1 root root 156780 2006-01-18 23:51 ./source/x/x11/src/lib/libXprintAppUtil-1.0.1.tar.xz
--rw-r--r-- 1 root root 168108 2006-01-18 23:51 ./source/x/x11/src/lib/libXprintUtil-1.0.1.tar.xz
--rw-r--r-- 1 root root 213480 2009-03-06 14:17 ./source/x/x11/src/lib/libXrandr-1.3.0.tar.xz
--rw-r--r-- 1 root root 189444 2007-09-05 15:23 ./source/x/x11/src/lib/libXrender-0.9.4.tar.xz
--rw-r--r-- 1 root root 179104 2006-12-15 23:31 ./source/x/x11/src/lib/libXres-1.0.3.tar.xz
--rw-r--r-- 1 root root 457508 2009-07-02 17:28 ./source/x/x11/src/lib/libXt-1.0.6.tar.xz
--rw-r--r-- 1 root root 186500 2007-08-17 22:03 ./source/x/x11/src/lib/libXtst-1.0.3.tar.xz
--rw-r--r-- 1 root root 188440 2008-03-18 03:02 ./source/x/x11/src/lib/libXv-1.0.4.tar.xz
--rw-r--r-- 1 root root 183168 2006-12-15 23:34 ./source/x/x11/src/lib/libXvMC-1.0.4.tar.xz
--rw-r--r-- 1 root root 181388 2007-09-05 17:21 ./source/x/x11/src/lib/libXxf86dga-1.0.2.tar.xz
--rw-r--r-- 1 root root 168900 2006-04-27 00:26 ./source/x/x11/src/lib/libXxf86misc-1.0.1.tar.xz
--rw-r--r-- 1 root root 183588 2008-07-02 19:44 ./source/x/x11/src/lib/libXxf86vm-1.0.2.tar.xz
--rw-r--r-- 1 root root 176048 2006-04-26 23:51 ./source/x/x11/src/lib/libdmx-1.0.2.tar.xz
--rw-r--r-- 1 root root 184784 2006-12-15 23:20 ./source/x/x11/src/lib/libfontenc-1.0.4.tar.xz
--rw-r--r-- 1 root root 185464 2006-05-19 18:37 ./source/x/x11/src/lib/liblbxutil-1.0.1.tar.xz
--rw-r--r-- 1 root root 216668 2009-04-24 23:36 ./source/x/x11/src/lib/libpciaccess-0.10.6.tar.xz
--rw-r--r-- 1 root root 162620 2006-11-24 07:47 ./source/x/x11/src/lib/libpthread-stubs-0.1.tar.xz
--rw-r--r-- 1 root root 223076 2008-03-18 02:50 ./source/x/x11/src/lib/libxkbfile-1.0.5.tar.xz
--rw-r--r-- 1 root root 168088 2006-04-27 00:18 ./source/x/x11/src/lib/libxkbui-1.0.2.tar.xz
--rw-r--r-- 1 root root 306896 2009-07-21 18:10 ./source/x/x11/src/lib/pixman-0.15.18.tar.xz
--rw-r--r-- 1 root root 100236 2009-08-01 00:28 ./source/x/x11/src/lib/xtrans-1.2.4.tar.xz
-drwxr-xr-x 2 root root 4096 2009-08-01 03:33 ./source/x/x11/src/proto
--rw-r--r-- 1 root root 34512 2006-01-18 23:51 ./source/x/x11/src/proto/bigreqsproto-1.0.2.tar.xz
--rw-r--r-- 1 root root 42816 2007-07-03 21:20 ./source/x/x11/src/proto/compositeproto-0.4.tar.xz
--rw-r--r-- 1 root root 39112 2007-01-10 00:48 ./source/x/x11/src/proto/damageproto-1.1.0.tar.xz
--rw-r--r-- 1 root root 36948 2006-01-18 23:51 ./source/x/x11/src/proto/dmxproto-2.2.2.tar.xz
--rw-r--r-- 1 root root 47952 2009-07-09 19:55 ./source/x/x11/src/proto/dri2proto-2.1.tar.xz
--rw-r--r-- 1 root root 35232 2006-01-18 23:51 ./source/x/x11/src/proto/evieext-1.0.2.tar.xz
--rw-r--r-- 1 root root 36216 2009-08-01 03:33 ./source/x/x11/src/proto/fixesproto-4.0.tar.xz
--rw-r--r-- 1 root root 35784 2006-01-18 23:51 ./source/x/x11/src/proto/fontcacheproto-0.1.2.tar.xz
--rw-r--r-- 1 root root 41984 2006-01-18 23:51 ./source/x/x11/src/proto/fontsproto-2.0.2.tar.xz
--rw-r--r-- 1 root root 62416 2009-05-26 21:17 ./source/x/x11/src/proto/glproto-1.4.10.tar.xz
--rw-r--r-- 1 root root 58048 2009-06-18 01:52 ./source/x/x11/src/proto/inputproto-1.5.1.tar.xz
--rw-r--r-- 1 root root 54644 2006-07-18 19:24 ./source/x/x11/src/proto/kbproto-1.0.3.tar.xz
--rw-r--r-- 1 root root 46304 2008-03-06 21:25 ./source/x/x11/src/proto/printproto-1.0.4.tar.xz
--rw-r--r-- 1 root root 70912 2009-03-06 14:05 ./source/x/x11/src/proto/randrproto-1.3.0.tar.xz
--rw-r--r-- 1 root root 36812 2006-01-18 23:51 ./source/x/x11/src/proto/recordproto-1.13.2.tar.xz
--rw-r--r-- 1 root root 60804 2009-07-15 03:54 ./source/x/x11/src/proto/renderproto-0.11.tar.xz
--rw-r--r-- 1 root root 34692 2006-01-18 23:51 ./source/x/x11/src/proto/resourceproto-1.0.2.tar.xz
--rw-r--r-- 1 root root 35612 2006-04-01 21:43 ./source/x/x11/src/proto/scrnsaverproto-1.1.0.tar.xz
--rw-r--r-- 1 root root 45604 2006-01-18 23:51 ./source/x/x11/src/proto/trapproto-3.4.3.tar.xz
--rw-r--r-- 1 root root 39784 2006-01-18 23:51 ./source/x/x11/src/proto/videoproto-2.2.2.tar.xz
--rw-r--r-- 1 root root 34604 2006-01-18 23:51 ./source/x/x11/src/proto/xcmiscproto-1.1.2.tar.xz
--rw-r--r-- 1 root root 75732 2009-01-29 18:57 ./source/x/x11/src/proto/xextproto-7.0.5.tar.xz
--rw-r--r-- 1 root root 35220 2006-01-18 23:51 ./source/x/x11/src/proto/xf86bigfontproto-1.1.2.tar.xz
--rw-r--r-- 1 root root 40624 2007-09-05 17:14 ./source/x/x11/src/proto/xf86dgaproto-2.0.3.tar.xz
--rw-r--r-- 1 root root 40948 2008-04-01 17:44 ./source/x/x11/src/proto/xf86driproto-2.0.4.tar.xz
--rw-r--r-- 1 root root 36128 2006-01-18 23:51 ./source/x/x11/src/proto/xf86miscproto-0.9.2.tar.xz
--rw-r--r-- 1 root root 35400 2006-01-18 23:51 ./source/x/x11/src/proto/xf86rushproto-1.1.2.tar.xz
--rw-r--r-- 1 root root 37040 2006-01-18 23:51 ./source/x/x11/src/proto/xf86vidmodeproto-2.2.2.tar.xz
--rw-r--r-- 1 root root 35832 2006-01-18 23:51 ./source/x/x11/src/proto/xineramaproto-1.1.2.tar.xz
--rw-r--r-- 1 root root 141528 2009-03-02 19:02 ./source/x/x11/src/proto/xproto-7.0.15.tar.xz
--rw-r--r-- 1 root root 34688 2006-01-18 23:51 ./source/x/x11/src/proto/xproxymanagementprotocol-1.0.2.tar.xz
-drwxr-xr-x 2 root root 4096 2009-07-09 18:51 ./source/x/x11/src/util
--rw-r--r-- 1 root root 65616 2006-05-19 18:42 ./source/x/x11/src/util/gccmakedep-1.0.2.tar.xz
--rw-r--r-- 1 root root 105808 2006-05-19 18:45 ./source/x/x11/src/util/imake-1.0.2.tar.xz
--rw-r--r-- 1 root root 70672 2006-01-18 23:51 ./source/x/x11/src/util/lndir-1.0.1.tar.xz
--rw-r--r-- 1 root root 101024 2007-03-21 20:43 ./source/x/x11/src/util/makedepend-1.0.1.tar.xz
--rw-r--r-- 1 root root 46276 2009-06-18 20:05 ./source/x/x11/src/util/util-macros-1.2.2.tar.xz
--rw-r--r-- 1 root root 235664 2006-05-19 18:41 ./source/x/x11/src/util/xorg-cf-files-1.0.2.tar.xz
-drwxr-xr-x 2 root root 4096 2009-05-29 06:37 ./source/x/x11/src/xcb
--rw-r--r-- 1 root root 278996 2009-05-29 06:30 ./source/x/x11/src/xcb/libxcb-1.3.tar.xz
--rw-r--r-- 1 root root 87048 2009-05-29 06:15 ./source/x/x11/src/xcb/xcb-proto-1.5.tar.xz
--rw-r--r-- 1 root root 234900 2009-05-29 06:37 ./source/x/x11/src/xcb/xcb-util-0.3.5.tar.xz
--rw-r--r-- 1 root root 244308 2009-04-08 04:28 ./source/x/x11/src/xcb/xpyb-1.1.tar.xz
-drwxr-xr-x 2 root root 4096 2009-08-01 20:47 ./source/x/x11/src/xserver
--rw-r--r-- 1 root root 3760472 2009-08-01 12:59 ./source/x/x11/src/xserver/xorg-server-1.6.3.tar.xz
--rwxr-xr-x 1 root root 10950 2009-08-04 00:10 ./source/x/x11/x11.SlackBuild
-drwxr-xr-x 2 root root 4096 2009-05-19 20:05 ./source/x/xaw3d
--rw-r--r-- 1 root root 5180 2008-11-04 15:06 ./source/x/xaw3d/Xaw3d-1.5-debian-fixes.diff.gz
--rw-r--r-- 1 root root 579 2008-11-04 15:02 ./source/x/xaw3d/Xaw3d-1.5E.diff.gz
--rw-r--r-- 1 root root 309264 2008-11-04 14:57 ./source/x/xaw3d/Xaw3d-1.5E.tar.gz
--rw-r--r-- 1 root root 975 2002-03-23 23:45 ./source/x/xaw3d/slack-desc
--rwxr-xr-x 1 root root 3773 2009-05-19 20:05 ./source/x/xaw3d/xaw3d.SlackBuild
-drwxr-xr-x 2 root root 4096 2009-05-19 20:05 ./source/x/xdg-utils
--rw-r--r-- 1 root root 1432 2009-02-02 23:25 ./source/x/xdg-utils/doinst.sh.gz
--rw-r--r-- 1 root root 1010 2008-08-01 05:42 ./source/x/xdg-utils/slack-desc
--rw-r--r-- 1 root root 284747 2009-02-02 23:19 ./source/x/xdg-utils/xdg-utils-20090202cvs.tar.bz2
--rwxr-xr-x 1 root root 327 2009-02-02 19:15 ./source/x/xdg-utils/xdg-utils-cvs_checkout.sh
--rwxr-xr-x 1 root root 2310 2009-05-19 20:05 ./source/x/xdg-utils/xdg-utils.SlackBuild
--rw-r--r-- 1 root root 121 2008-07-12 04:41 ./source/x/xdg-utils/xdg-utils.info
-drwxr-xr-x 3 root root 4096 2009-06-03 19:52 ./source/x/xterm
-drwxr-xr-x 2 root root 4096 2008-02-21 20:54 ./source/x/xterm/patches
--rw-r--r-- 1 root root 764 2007-02-11 23:54 ./source/x/xterm/slack-desc
--rw-r--r-- 1 root root 612032 2009-03-28 20:18 ./source/x/xterm/xterm-243.tar.xz
--rwxr-xr-x 1 root root 3428 2009-06-09 00:02 ./source/x/xterm/xterm.SlackBuild
-drwxr-xr-x 47 root root 4096 2009-08-18 23:17 ./source/xap
-drwxr-xr-x 2 root root 4096 2009-06-25 23:48 ./source/xap/MPlayer
--rw-r--r-- 1 root root 222567 2006-12-23 03:06 ./source/xap/MPlayer/Blue-1.7.tar.bz2
--rwxr-xr-- 1 root root 15071 2009-06-26 00:11 ./source/xap/MPlayer/MPlayer.SlackBuild
--rw-r--r-- 1 root root 6987244 2009-06-25 23:48 ./source/xap/MPlayer/MPlayer_nolibdvdcss-r29390.tar.xz
--rw-r--r-- 1 root root 937 2009-05-15 20:43 ./source/xap/MPlayer/slack-desc
-drwxr-xr-x 2 root root 4096 2009-05-19 20:05 ./source/xap/audacious
-drwxr-xr-x 2 root root 4096 2009-05-19 20:05 ./source/xap/audacious-plugins
--rw-r--r-- 1 root root 238 2008-11-29 20:13 ./source/xap/audacious-plugins/amidi-plug.fix-drct.diff.gz
--rw-r--r-- 1 root root 2239522 2008-05-23 22:38 ./source/xap/audacious-plugins/audacious-plugins-1.5.1.tar.bz2
--rwxr-xr-x 1 root root 3608 2009-05-19 20:05 ./source/xap/audacious-plugins/audacious-plugins.SlackBuild
--rw-r--r-- 1 root root 345 2008-09-14 19:29 ./source/xap/audacious-plugins/audacious-plugins.libmtp8.diff.gz
--rw-r--r-- 1 root root 892 2007-03-08 06:08 ./source/xap/audacious-plugins/slack-desc
--rw-r--r-- 1 root root 1374028 2008-05-23 21:54 ./source/xap/audacious/audacious-1.5.1.tar.bz2
--rwxr-xr-x 1 root root 3739 2009-05-19 20:05 ./source/xap/audacious/audacious.SlackBuild
--rw-r--r-- 1 root root 406 2009-04-10 22:03 ./source/xap/audacious/audacious.handle_cmd_line_options.diff.gz
--rw-r--r-- 1 root root 1075 2007-03-08 05:46 ./source/xap/audacious/slack-desc
-drwxr-xr-x 2 root root 4096 2009-05-19 20:05 ./source/xap/blackbox
--rw-r--r-- 1 root root 185230 2002-11-04 01:43 ./source/xap/blackbox/bbkeys-0.8.6.tar.gz
--rw-r--r-- 1 root root 292950 2002-09-18 18:11 ./source/xap/blackbox/blackbox-0.65.0.tar.gz
--rwxr-xr-x 1 root root 4112 2009-05-19 20:05 ./source/xap/blackbox/blackbox.SlackBuild
--rw-r--r-- 1 root root 72210 2005-01-19 03:32 ./source/xap/blackbox/blackbox_0.65.0-5.diff.gz
--rw-r--r-- 1 root root 900 2002-05-05 23:41 ./source/xap/blackbox/slack-desc
--rw-r--r-- 1 root root 288 2007-02-07 04:58 ./source/xap/blackbox/xinitrc.blackbox.gz
-drwxr-xr-x 2 root root 4096 2009-07-01 20:18 ./source/xap/electricsheep
--rw-r--r-- 1 root root 1306 2009-01-07 22:42 ./source/xap/electricsheep/README.slackware
--rw-r--r-- 1 root root 3116176 2009-03-06 00:30 ./source/xap/electricsheep/electricsheep-20090306.tar.xz
--rwxr-xr-- 1 root root 9392 2009-07-01 20:27 ./source/xap/electricsheep/electricsheep.SlackBuild
--rw-r--r-- 1 root root 268 2009-07-01 19:53 ./source/xap/electricsheep/electricsheep.mplayer.diff.gz
--rw-r--r-- 1 root root 524 2009-01-07 21:38 ./source/xap/electricsheep/electricsheep_gnome-open.patch
--rw-r--r-- 1 root root 1116 2008-12-15 23:44 ./source/xap/electricsheep/slack-desc
-drwxr-xr-x 2 root root 4096 2009-05-19 20:05 ./source/xap/fluxbox
--rw-r--r-- 1 root root 777660 2008-09-19 16:00 ./source/xap/fluxbox/fluxbox-1.1.1.tar.bz2
--rwxr-xr-x 1 root root 2765 2009-05-19 20:05 ./source/xap/fluxbox/fluxbox.SlackBuild
--rw-r--r-- 1 root root 687 2005-07-21 19:03 ./source/xap/fluxbox/slack-desc
--rw-r--r-- 1 root root 289 2007-02-07 04:48 ./source/xap/fluxbox/xinitrc.fluxbox.gz
-drwxr-xr-x 2 root root 4096 2009-05-19 20:05 ./source/xap/fvwm
--rw-r--r-- 1 root root 23007 2007-02-18 02:02 ./source/xap/fvwm/ancient-icons.tar.gz
--rw-r--r-- 1 root root 279 2004-04-05 01:55 ./source/xap/fvwm/doinst.sh.gz
--rw-r--r-- 1 root root 1426470 2006-12-09 12:39 ./source/xap/fvwm/fvwm-2.4.20.tar.bz2
--rwxr-xr-x 1 root root 3827 2009-05-19 20:05 ./source/xap/fvwm/fvwm.SlackBuild
--rw-r--r-- 1 root root 442 1999-09-13 19:12 ./source/xap/fvwm/fvwm.colormap.diff.gz
--rw-r--r-- 1 root root 792 2008-02-11 03:44 ./source/xap/fvwm/slack-desc
--rw-r--r-- 1 root root 7625 2007-02-18 02:15 ./source/xap/fvwm/system.fvwm2rc.gz
--rw-r--r-- 1 root root 291 2007-02-18 02:12 ./source/xap/fvwm/xinitrc.fvwm2.gz
-drwxr-xr-x 2 root root 4096 2009-05-23 00:41 ./source/xap/gftp
--rw-r--r-- 1 root root 1687167 2008-12-02 14:07 ./source/xap/gftp/gftp-2.0.19.tar.bz2
--rwxr-xr-x 1 root root 2997 2009-05-23 00:41 ./source/xap/gftp/gftp.SlackBuild
--rw-r--r-- 1 root root 304 2008-12-02 20:08 ./source/xap/gftp/gftp.desktop.gz
--rw-r--r-- 1 root root 899 2008-02-11 03:44 ./source/xap/gftp/slack-desc
-drwxr-xr-x 2 root root 4096 2009-05-19 20:05 ./source/xap/gimp
--rw-r--r-- 1 root root 16075908 2009-03-16 21:56 ./source/xap/gimp/gimp-2.6.6.tar.bz2
--rwxr-xr-x 1 root root 3223 2009-06-09 19:03 ./source/xap/gimp/gimp.SlackBuild
--rw-r--r-- 1 root root 928 2003-01-29 03:18 ./source/xap/gimp/slack-desc
-drwxr-xr-x 2 root root 4096 2009-05-19 20:05 ./source/xap/gkrellm
--rw-r--r-- 1 root root 747697 2008-10-04 02:03 ./source/xap/gkrellm/gkrellm-2.3.2.tar.bz2
--rw-r--r-- 1 root root 12374 2004-02-01 16:30 ./source/xap/gkrellm/gkrellm-countdown-0.1.1.tar.gz
--rwxr-xr-x 1 root root 3712 2009-05-19 20:05 ./source/xap/gkrellm/gkrellm.SlackBuild
--rw-r--r-- 1 root root 211 2008-10-26 01:35 ./source/xap/gkrellm/gkrellm.theme.defaults.diff.gz
--rw-r--r-- 1 root root 971 2004-04-29 18:52 ./source/xap/gkrellm/slack-desc
-drwxr-xr-x 2 root root 4096 2009-05-23 00:41 ./source/xap/gnuchess
--rw-r--r-- 1 root root 142963 2004-01-19 11:50 ./source/xap/gnuchess/Sjeng-Free-11.2.tar.bz2
--rw-r--r-- 1 root root 652 2004-10-27 05:47 ./source/xap/gnuchess/chess.png
--rw-r--r-- 1 root root 428502 2007-01-22 18:04 ./source/xap/gnuchess/eboard-1.0.3.tar.bz2
--rw-r--r-- 1 root root 224 2004-10-27 06:07 ./source/xap/gnuchess/eboard.desktop
--rw-r--r-- 1 root root 193507 2003-08-07 14:15 ./source/xap/gnuchess/gnuchess-5.07.tar.bz2
--rwxr-xr-x 1 root root 5563 2009-05-23 00:41 ./source/xap/gnuchess/gnuchess.SlackBuild
--rw-r--r-- 1 root root 1229 2007-05-16 00:54 ./source/xap/gnuchess/gnuchess.SlackBuild.diff.gz
--rw-r--r-- 1 root root 241 2007-05-16 00:54 ./source/xap/gnuchess/gnuchess.gcc4_fix.diff.gz
--rw-r--r-- 1 root root 796 2004-10-27 22:53 ./source/xap/gnuchess/slack-desc
--rw-r--r-- 1 root root 786236 2004-10-27 22:40 ./source/xap/gnuchess/xboard-4.2.7.tar.bz2
--rw-r--r-- 1 root root 1311 2007-05-16 00:54 ./source/xap/gnuchess/xboard.buffer_overflow_fix.diff.gz
--rw-r--r-- 1 root root 224 2004-10-27 06:04 ./source/xap/gnuchess/xboard.desktop
--rw-r--r-- 1 root root 310 2004-10-27 22:40 ./source/xap/gnuchess/xboard.infodir.diff.gz
-drwxr-xr-x 2 root root 4096 2009-08-10 23:29 ./source/xap/gnuplot
--rw-r--r-- 1 root root 1926696 2009-03-30 05:16 ./source/xap/gnuplot/gnuplot-4.2.5.tar.xz
--rwxr-xr-x 1 root root 3411 2009-08-11 00:48 ./source/xap/gnuplot/gnuplot.SlackBuild
--rw-r--r-- 1 root root 1105 2002-03-16 08:23 ./source/xap/gnuplot/slack-desc
-drwxr-xr-x 2 root root 4096 2009-05-19 20:05 ./source/xap/gqview
--rw-r--r-- 1 root root 158 2007-02-18 22:16 ./source/xap/gqview/doinst.sh.gz
--rw-r--r-- 1 root root 1101019 2006-12-03 02:19 ./source/xap/gqview/gqview-2.1.5.tar.bz2
--rwxr-xr-x 1 root root 3148 2009-05-19 20:05 ./source/xap/gqview/gqview.SlackBuild
--rw-r--r-- 1 root root 729 2007-04-01 22:31 ./source/xap/gqview/slack-desc
-drwxr-xr-x 2 root root 4096 2009-06-09 05:40 ./source/xap/gucharmap
--rw-r--r-- 1 root root 121 2009-03-23 15:07 ./source/xap/gucharmap/doinst.sh.gz
--rw-r--r-- 1 root root 2429228 2009-05-18 20:37 ./source/xap/gucharmap/gucharmap-2.26.2.tar.xz
--rwxr-xr-x 1 root root 2832 2009-06-09 06:20 ./source/xap/gucharmap/gucharmap.SlackBuild
--rw-r--r-- 1 root root 669 2004-10-13 19:31 ./source/xap/gucharmap/slack-desc
-drwxr-xr-x 2 root root 4096 2009-05-19 20:05 ./source/xap/gv
--rw-r--r-- 1 root root 378928 2009-03-22 09:11 ./source/xap/gv/gv-3.6.7.tar.xz
--rwxr-xr-x 1 root root 3221 2009-05-19 20:05 ./source/xap/gv/gv.SlackBuild
--rw-r--r-- 1 root root 823 2002-03-15 04:27 ./source/xap/gv/slack-desc
-drwxr-xr-x 2 root root 4096 2009-05-19 20:05 ./source/xap/gxine
--rw-r--r-- 1 root root 1112012 2008-06-12 21:44 ./source/xap/gxine/gxine-0.5.903.tar.bz2
--rwxr-xr-x 1 root root 3142 2009-06-10 01:22 ./source/xap/gxine/gxine.SlackBuild
--rw-r--r-- 1 root root 453 2006-02-02 19:36 ./source/xap/gxine/gxine.desktop.gz
--rw-r--r-- 1 root root 792 2003-09-23 02:20 ./source/xap/gxine/slack-desc
-drwxr-xr-x 2 root root 4096 2009-06-15 01:56 ./source/xap/imagemagick
--rw-r--r-- 1 root root 5842976 2009-06-06 00:42 ./source/xap/imagemagick/ImageMagick-6.5.3-3.tar.xz
--rwxr-xr-x 1 root root 4503 2009-06-09 05:49 ./source/xap/imagemagick/imagemagick.SlackBuild
--rw-r--r-- 1 root root 1002 2004-04-11 20:51 ./source/xap/imagemagick/slack-desc
-drwxr-xr-x 2 root root 4096 2009-08-03 18:45 ./source/xap/mozilla-firefox
--rw-r--r-- 1 root root 46787928 2009-07-30 15:35 ./source/xap/mozilla-firefox/firefox-3.5.2-source.tar.bz2
--rw-r--r-- 1 root root 194 2009-07-31 00:28 ./source/xap/mozilla-firefox/firefox-3.5.2-source.tar.bz2.asc
--rw-r--r-- 1 root root 327 2008-06-17 17:19 ./source/xap/mozilla-firefox/firefox.moz_plugin_path.diff.gz
--rw-r--r-- 1 root root 24263 2009-06-18 08:34 ./source/xap/mozilla-firefox/firefox.png
--rw-r--r-- 1 root root 462 2009-07-01 06:05 ./source/xap/mozilla-firefox/mimeTypes.rdf.gz
--rw-r--r-- 1 root root 680 2009-07-01 13:28 ./source/xap/mozilla-firefox/mozilla-firefox-mimeTypes-fix.diff.gz
--rwxr-xr-x 1 root root 6060 2009-08-03 18:45 ./source/xap/mozilla-firefox/mozilla-firefox.SlackBuild
--rw-r--r-- 1 root root 2620 2009-07-01 06:10 ./source/xap/mozilla-firefox/mozilla-firefox.desktop
--rw-r--r-- 1 root root 993 2005-03-08 04:51 ./source/xap/mozilla-firefox/slack-desc
-drwxr-xr-x 2 root root 4096 2009-08-20 21:40 ./source/xap/mozilla-thunderbird
--rw-r--r-- 1 root root 308 2005-12-09 22:22 ./source/xap/mozilla-thunderbird/mozilla-thunderbird-firefox.diff.gz
--rwxr-xr-x 1 root root 4561 2009-08-20 21:40 ./source/xap/mozilla-thunderbird/mozilla-thunderbird.SlackBuild
--rw-r--r-- 1 root root 3378 2005-03-08 05:13 ./source/xap/mozilla-thunderbird/mozilla-thunderbird.desktop
--rw-r--r-- 1 root root 1172 2005-03-08 04:50 ./source/xap/mozilla-thunderbird/slack-desc
--rw-r--r-- 1 root root 38860245 2009-08-19 21:22 ./source/xap/mozilla-thunderbird/thunderbird-2.0.0.23-source.tar.bz2
--rw-r--r-- 1 root root 194 2009-08-19 21:42 ./source/xap/mozilla-thunderbird/thunderbird-2.0.0.23-source.tar.bz2.asc
--rw-r--r-- 1 root root 2980 2005-03-08 22:19 ./source/xap/mozilla-thunderbird/thunderbird.png
-drwxr-xr-x 2 root root 4096 2009-05-19 20:05 ./source/xap/pan
--rw-r--r-- 1 root root 1452883 2008-07-30 02:46 ./source/xap/pan/pan-0.133.tar.bz2
--rwxr-xr-x 1 root root 3212 2009-05-19 20:05 ./source/xap/pan/pan.SlackBuild
--rw-r--r-- 1 root root 721 2008-02-11 03:44 ./source/xap/pan/slack-desc
-drwxr-xr-x 2 root root 4096 2009-08-19 17:56 ./source/xap/pidgin
--rw-r--r-- 1 root root 6319964 2009-08-18 17:14 ./source/xap/pidgin/pidgin-2.5.9.tar.xz
--rw-r--r-- 1 root root 586394 2008-03-09 08:03 ./source/xap/pidgin/pidgin-encryption-3.0.tar.gz
--rwxr-xr-x 1 root root 5725 2009-08-19 17:59 ./source/xap/pidgin/pidgin.SlackBuild
--rw-r--r-- 1 root root 321 2008-12-07 04:57 ./source/xap/pidgin/purple-allow-sign-rsa-md5.patch.gz
--rw-r--r-- 1 root root 926 2008-03-09 08:06 ./source/xap/pidgin/slack-desc
-drwxr-xr-x 2 root root 4096 2009-05-19 20:05 ./source/xap/rdesktop
--rw-r--r-- 1 root root 243001 2008-05-11 06:24 ./source/xap/rdesktop/rdesktop-1.6.0.tar.bz2
--rwxr-xr-x 1 root root 3067 2009-05-19 20:05 ./source/xap/rdesktop/rdesktop.SlackBuild
--rw-r--r-- 1 root root 854 2006-09-12 01:52 ./source/xap/rdesktop/slack-desc
-drwxr-xr-x 2 root root 4096 2009-05-19 20:05 ./source/xap/rxvt
--rw-r--r-- 1 root root 493199 2003-03-26 06:47 ./source/xap/rxvt/rxvt-2.7.10.tar.bz2
--rwxr-xr-x 1 root root 3012 2009-06-09 19:32 ./source/xap/rxvt/rxvt.SlackBuild
--rw-r--r-- 1 root root 2002 2003-06-08 04:09 ./source/xap/rxvt/rxvt.utempter.diff.gz
--rw-r--r-- 1 root root 880 2002-03-10 07:02 ./source/xap/rxvt/slack-desc
-drwxr-xr-x 2 root root 4096 2009-05-23 00:41 ./source/xap/sane
--rw-r--r-- 1 root root 133 2006-09-23 08:33 ./source/xap/sane/dll.conf.additions.gz
--rw-r--r-- 1 root root 285 2008-02-12 16:23 ./source/xap/sane/doinst.sh.gz
--rw-r--r-- 1 root root 3126540 2008-02-12 02:12 ./source/xap/sane/sane-backends-1.0.19.tar.bz2
--rw-r--r-- 1 root root 190172 2005-09-18 07:21 ./source/xap/sane/sane-frontends-1.0.14.tar.bz2
--rwxr-xr-x 1 root root 4209 2009-05-23 00:41 ./source/xap/sane/sane.SlackBuild
--rw-r--r-- 1 root root 776 2002-04-04 02:41 ./source/xap/sane/slack-desc
-drwxr-xr-x 2 root root 4096 2009-06-24 18:25 ./source/xap/seamonkey
--rw-r--r-- 1 root root 231 2007-06-01 23:47 ./source/xap/seamonkey/doinst.sh.gz
--rw-r--r-- 1 root root 28513384 2009-06-06 21:58 ./source/xap/seamonkey/seamonkey-1.1.17.source.tar.xz
--rw-r--r-- 1 root root 12796 2006-02-09 03:17 ./source/xap/seamonkey/seamonkey-icon.png
--rw-r--r-- 1 root root 185 2006-02-09 03:40 ./source/xap/seamonkey/seamonkey-mail-icon.png
--rw-r--r-- 1 root root 207 2006-02-09 03:23 ./source/xap/seamonkey/seamonkey-mail.desktop
--rwxr-xr-x 1 root root 8518 2009-06-24 18:46 ./source/xap/seamonkey/seamonkey.SlackBuild
--rw-r--r-- 1 root root 178 2006-02-09 03:23 ./source/xap/seamonkey/seamonkey.desktop
--rw-r--r-- 1 root root 333 2007-02-20 03:25 ./source/xap/seamonkey/seamonkey.moz_plugin_path.diff.gz
--rw-r--r-- 1 root root 994 2006-02-09 02:07 ./source/xap/seamonkey/slack-desc
-drwxr-xr-x 2 root root 4096 2009-05-19 20:05 ./source/xap/seyon
--rw-r--r-- 1 root root 713 1999-05-09 22:46 ./source/xap/seyon/seyon-2.20c.lsm
--rw-r--r-- 1 root root 167487 1999-05-09 22:47 ./source/xap/seyon/seyon-2.20c.tar.gz
--rwxr-xr-x 1 root root 3601 2009-05-19 20:05 ./source/xap/seyon/seyon.SlackBuild
--rw-r--r-- 1 root root 36723 2005-01-03 22:32 ./source/xap/seyon/seyon_2.20c-16.diff.gz
--rw-r--r-- 1 root root 1065 2002-03-24 00:53 ./source/xap/seyon/slack-desc
-drwxr-xr-x 2 root root 4096 2009-05-19 20:05 ./source/xap/thunar-volman
--rw-r--r-- 1 root root 946 2009-02-26 03:27 ./source/xap/thunar-volman/slack-desc
--rw-r--r-- 1 root root 353504 2008-09-14 13:04 ./source/xap/thunar-volman/thunar-volman-0.3.80.tar.bz2
--rwxr-xr-x 1 root root 2594 2009-05-19 20:05 ./source/xap/thunar-volman/thunar-volman.SlackBuild
-lrwxrwxrwx 1 root root 9 2009-08-26 16:34 ./source/xap/vim-gvim -> ../ap/vim
-drwxr-xr-x 2 root root 4096 2009-05-23 02:30 ./source/xap/windowmaker
--rw-r--r-- 1 root root 2078830 2008-07-30 06:57 ./source/xap/windowmaker/WindowMaker-20060427cvs.tar.bz2
--rw-r--r-- 1 root root 238018 1999-04-01 14:30 ./source/xap/windowmaker/WindowMaker-extra-0.1.tar.gz
--rw-r--r-- 1 root root 917 2004-10-28 06:46 ./source/xap/windowmaker/slack-desc
--rwxr-xr-x 1 root root 3964 2009-06-09 20:05 ./source/xap/windowmaker/windowmaker.SlackBuild
--rw-r--r-- 1 root root 390 2008-07-30 05:51 ./source/xap/windowmaker/windowmaker.no-mmx.diff.gz
--rw-r--r-- 1 root root 669 2002-05-30 20:16 ./source/xap/windowmaker/wmaker.inst.diff.gz
--rw-r--r-- 1 root root 788 2002-05-30 20:01 ./source/xap/windowmaker/xinitrc.wmaker
-drwxr-xr-x 2 root root 4096 2009-08-18 22:26 ./source/xap/x11-ssh-askpass
--rw-r--r-- 1 root root 533 2009-07-11 03:15 ./source/xap/x11-ssh-askpass/README
--rw-r--r-- 1 root root 765 2009-01-17 08:31 ./source/xap/x11-ssh-askpass/slack-desc
--rw-r--r-- 1 root root 29229 2009-07-20 23:44 ./source/xap/x11-ssh-askpass/x11-ssh-askpass-1.2.4.1.tar.gz
--rwxr-xr-x 1 root root 1634 2009-08-18 23:17 ./source/xap/x11-ssh-askpass/x11-ssh-askpass.SlackBuild
--rw-r--r-- 1 root root 349 2009-07-11 03:15 ./source/xap/x11-ssh-askpass/x11-ssh-askpass.info
--rw-r--r-- 1 root root 261 2008-03-29 00:07 ./source/xap/x11-ssh-askpass/xprofile.sample
-drwxr-xr-x 2 root root 4096 2009-05-19 20:05 ./source/xap/x3270
--rw-r--r-- 1 root root 391 2007-04-02 02:36 ./source/xap/x3270/doinst.sh.gz
--rw-r--r-- 1 root root 766 2002-03-12 06:49 ./source/xap/x3270/slack-desc
--rw-r--r-- 1 root root 854545 2008-08-28 19:23 ./source/xap/x3270/x3270-3.3.7p8.tar.bz2
--rwxr-xr-x 1 root root 2936 2009-05-19 20:05 ./source/xap/x3270/x3270.SlackBuild
-drwxr-xr-x 3 root root 4096 2009-05-19 20:05 ./source/xap/xchat
-drwxr-xr-x 2 root root 4096 2009-04-10 14:28 ./source/xap/xchat/patches
--rw-r--r-- 1 root root 43 2007-02-15 05:32 ./source/xap/xchat/patches/patches.url
--rw-r--r-- 1 root root 903 2008-06-24 11:43 ./source/xap/xchat/patches/xc286-smallfixes.diff.gz
--rw-r--r-- 1 root root 848 2009-04-10 14:24 ./source/xap/xchat/patches/xchat.gtk_2_14.diff.gz
--rw-r--r-- 1 root root 620 2008-02-11 03:44 ./source/xap/xchat/slack-desc
--rw-r--r-- 1 root root 1423645 2008-06-12 08:47 ./source/xap/xchat/xchat-2.8.6.tar.bz2
--rwxr-xr-x 1 root root 3268 2009-06-09 19:33 ./source/xap/xchat/xchat.SlackBuild
-drwxr-xr-x 5 root root 4096 2009-07-31 06:11 ./source/xap/xfce
--rw-r--r-- 1 root root 26680 2009-07-31 06:10 ./source/xap/xfce/icons.tar.xz
-drwxr-xr-x 2 root root 4096 2009-07-31 06:05 ./source/xap/xfce/patches
--rw-r--r-- 1 root root 861 2009-07-19 22:36 ./source/xap/xfce/patches/exo_quoting_fix.diff.gz
--rw-r--r-- 1 root root 746 2009-03-14 23:51 ./source/xap/xfce/patches/launcher-plugin-migrate-icon-cat.diff.gz
--rw-r--r-- 1 root root 1014 2009-03-06 01:25 ./source/xap/xfce/patches/migrate-itheme-smartly.diff.gz
--rw-r--r-- 1 root root 898 2009-07-20 18:51 ./source/xap/xfce/patches/terminal-0.4.0-fixup_docdir.diff.gz
--rw-r--r-- 1 root root 1559 2009-07-21 00:37 ./source/xap/xfce/patches/thunar-1.0.1-fixup_docdir.diff.gz
--rw-r--r-- 1 root root 233 2009-03-01 16:14 ./source/xap/xfce/patches/xfcalendar.desktop.in.diff.gz
--rw-r--r-- 1 root root 289 2009-07-31 06:04 ./source/xap/xfce/patches/xfdesktop-fix_education_icon.diff.gz
-drwxr-xr-x 2 root root 4096 2007-04-21 19:12 ./source/xap/xfce/profile.d
--rwxr-xr-x 1 root root 162 2007-06-29 01:03 ./source/xap/xfce/profile.d/xfce.csh
--rwxr-xr-x 1 root root 170 2007-04-21 19:14 ./source/xap/xfce/profile.d/xfce.sh
--rw-r--r-- 1 root root 764 2008-04-06 20:19 ./source/xap/xfce/slack-desc
-drwxr-xr-x 2 root root 4096 2009-07-20 19:45 ./source/xap/xfce/src
--rw-r--r-- 1 root root 1368876 2009-07-20 18:15 ./source/xap/xfce/src/Terminal-0.4.0.tar.xz
--rw-r--r-- 1 root root 3473596 2009-04-19 07:55 ./source/xap/xfce/src/Thunar-1.0.1.tar.xz
--rw-r--r-- 1 root root 1163740 2009-04-19 07:55 ./source/xap/xfce/src/exo-0.3.101.tar.xz
--rw-r--r-- 1 root root 228668 2009-02-26 01:41 ./source/xap/xfce/src/gtk-xfce-engine-2.6.0.tar.xz
--rw-r--r-- 1 root root 331932 2009-04-19 07:55 ./source/xap/xfce/src/libxfce4menu-4.6.1.tar.xz
--rw-r--r-- 1 root root 332712 2009-04-19 07:55 ./source/xap/xfce/src/libxfce4util-4.6.1.tar.xz
--rw-r--r-- 1 root root 551248 2009-04-19 07:55 ./source/xap/xfce/src/libxfcegui4-4.6.1.tar.xz
--rw-r--r-- 1 root root 269176 2009-02-26 18:56 ./source/xap/xfce/src/mousepad-0.2.16.tar.xz
--rw-r--r-- 1 root root 1698784 2009-04-19 07:55 ./source/xap/xfce/src/orage-4.6.1.tar.xz
--rw-r--r-- 1 root root 501132 2009-04-19 07:55 ./source/xap/xfce/src/xfce-utils-4.6.1.tar.xz
--rw-r--r-- 1 root root 259900 2009-04-19 07:55 ./source/xap/xfce/src/xfce4-appfinder-4.6.1.tar.xz
--rw-r--r-- 1 root root 58600 2009-02-26 01:41 ./source/xap/xfce/src/xfce4-dev-tools-4.6.0.tar.xz
--rw-r--r-- 1 root root 334516 2009-04-19 07:55 ./source/xap/xfce/src/xfce4-mixer-4.6.1.tar.xz
--rw-r--r-- 1 root root 746908 2009-04-19 07:55 ./source/xap/xfce/src/xfce4-panel-4.6.1.tar.xz
--rw-r--r-- 1 root root 1201756 2009-04-19 07:55 ./source/xap/xfce/src/xfce4-session-4.6.1.tar.xz
--rw-r--r-- 1 root root 416284 2009-04-19 07:55 ./source/xap/xfce/src/xfce4-settings-4.6.1.tar.xz
--rw-r--r-- 1 root root 354500 2009-04-19 07:55 ./source/xap/xfce/src/xfconf-4.6.1.tar.xz
--rw-r--r-- 1 root root 3136772 2009-04-19 07:55 ./source/xap/xfce/src/xfdesktop-4.6.1.tar.xz
--rw-r--r-- 1 root root 728660 2009-04-19 07:55 ./source/xap/xfce/src/xfprint-4.6.1.tar.xz
--rw-r--r-- 1 root root 1543832 2009-04-19 07:55 ./source/xap/xfce/src/xfwm4-4.6.1.tar.xz
--rw-r--r-- 1 root root 372732 2009-02-26 01:41 ./source/xap/xfce/src/xfwm4-themes-4.6.0.tar.xz
--rwxr-xr-x 1 root root 7204 2009-07-31 06:41 ./source/xap/xfce/xfce.SlackBuild
-drwxr-xr-x 2 root root 4096 2009-05-15 13:16 ./source/xap/xfce4-power-manager
--rw-r--r-- 1 root root 172 2009-02-08 07:12 ./source/xap/xfce4-power-manager/doinst.sh.gz
--rw-r--r-- 1 root root 936 2009-03-06 23:51 ./source/xap/xfce4-power-manager/slack-desc
--rw-r--r-- 1 root root 419675 2009-05-15 12:58 ./source/xap/xfce4-power-manager/xfce4-power-manager-0.6.6.tar.bz2
--rwxr-xr-x 1 root root 2888 2009-06-12 20:54 ./source/xap/xfce4-power-manager/xfce4-power-manager.SlackBuild
-drwxr-xr-x 2 root root 4096 2009-05-19 20:05 ./source/xap/xfractint
--rw-r--r-- 1 root root 103531 2002-03-14 20:57 ./source/xap/xfractint/palette.maps.tar.gz
--rw-r--r-- 1 root root 871 2002-03-14 20:25 ./source/xap/xfractint/slack-desc
--rw-r--r-- 1 root root 1212397 2008-10-14 01:16 ./source/xap/xfractint/xfractint-20.04p09.tar.bz2
--rwxr-xr-x 1 root root 3446 2009-05-19 20:05 ./source/xap/xfractint/xfractint.SlackBuild
-drwxr-xr-x 2 root root 4096 2009-08-22 21:20 ./source/xap/xgames
--rw-r--r-- 1 root root 269 1999-08-04 18:49 ./source/xap/xgames/maze.diff.gz
--rw-r--r-- 1 root root 7945 1994-10-22 00:44 ./source/xap/xgames/maze.tar.gz
--rw-r--r-- 1 root root 696 2007-03-01 22:04 ./source/xap/xgames/slack-desc
--rw-r--r-- 1 root root 871 2007-02-22 02:20 ./source/xap/xgames/spider.diff.gz
--rw-r--r-- 1 root root 130637 1993-12-04 17:22 ./source/xap/xgames/spider.tar.gz
--rw-r--r-- 1 root root 287 1999-08-04 18:54 ./source/xap/xgames/xcolormap.diff.gz
--rw-r--r-- 1 root root 2808 1993-12-04 17:18 ./source/xap/xgames/xcolormap.tar.gz
--rw-r--r-- 1 root root 5937 1993-12-04 17:18 ./source/xap/xgames/xcuckoo-1.1.tar.gz
--rw-r--r-- 1 root root 228 2007-02-28 19:11 ./source/xap/xgames/xcuckoo.diff.gz
--rwxr-xr-x 1 root root 4706 2009-08-22 21:21 ./source/xap/xgames/xgames.SlackBuild
--rw-r--r-- 1 root root 1150 2009-08-22 20:58 ./source/xap/xgames/xlander-2009-07-18.diff.gz
--rw-r--r-- 1 root root 2543 2007-03-01 18:44 ./source/xap/xgames/xlander.fixes.diff.gz
--rw-r--r-- 1 root root 15612 1995-06-17 19:23 ./source/xap/xgames/xlander.tar.gz
--rw-r--r-- 1 root root 12791 2008-10-25 13:16 ./source/xap/xgames/xminesweep3.0.tar.gz
--rw-r--r-- 1 root root 22849 1999-08-04 19:05 ./source/xap/xgames/xneko.tar.gz
--rw-r--r-- 1 root root 21694 1993-12-02 07:19 ./source/xap/xgames/xroach.tar.gz
--rw-r--r-- 1 root root 37809 1995-12-01 02:04 ./source/xap/xgames/xsnow-1.40.tar.gz
-drwxr-xr-x 2 root root 4096 2009-04-06 21:09 ./source/xap/xine-lib
--rw-r--r-- 1 root root 927 2003-08-12 00:43 ./source/xap/xine-lib/slack-desc
--rw-r--r-- 1 root root 7468182 2009-04-03 16:02 ./source/xap/xine-lib/xine-lib-1.1.16.3.tar.bz2
--rwxr-xr-x 1 root root 3060 2009-06-14 03:43 ./source/xap/xine-lib/xine-lib.SlackBuild
-drwxr-xr-x 2 root root 4096 2009-05-23 00:42 ./source/xap/xine-ui
--rw-r--r-- 1 root root 832 2003-08-12 01:07 ./source/xap/xine-ui/slack-desc
--rw-r--r-- 1 root root 2138011 2007-05-03 22:47 ./source/xap/xine-ui/xine-ui-0.99.5.tar.bz2
--rwxr-xr-x 1 root root 2723 2009-05-23 00:42 ./source/xap/xine-ui/xine-ui.SlackBuild
--rw-r--r-- 1 root root 258 2007-05-04 22:27 ./source/xap/xine-ui/xine.desktop.gz
-drwxr-xr-x 2 root root 4096 2009-08-08 00:54 ./source/xap/xlockmore
--rw-r--r-- 1 root root 225 2002-02-23 22:23 ./source/xap/xlockmore/l-bob.README
--rw-r--r-- 1 root root 27870 1998-04-01 15:09 ./source/xap/xlockmore/l-bob.xbm
--rw-r--r-- 1 root root 15190 1998-04-01 15:09 ./source/xap/xlockmore/l-linux.xbm
--rw-r--r-- 1 root root 7025 2002-02-23 21:40 ./source/xap/xlockmore/s-bob.xbm
--rw-r--r-- 1 root root 922 2002-03-24 00:54 ./source/xap/xlockmore/slack-desc
--rw-r--r-- 1 root root 1901583 2009-04-13 23:37 ./source/xap/xlockmore/xlockmore-5.28.tar.bz2
--rw-r--r-- 1 root root 194 2009-04-13 23:37 ./source/xap/xlockmore/xlockmore-5.28.tar.bz2.asc
--rwxr-xr-x 1 root root 3449 2009-08-08 01:09 ./source/xap/xlockmore/xlockmore.SlackBuild
--rw-r--r-- 1 root root 371 2002-05-30 04:25 ./source/xap/xlockmore/xlockmore.bitmap.diff.gz
-drwxr-xr-x 2 root root 4096 2009-06-09 20:20 ./source/xap/xmms
--rw-r--r-- 1 root root 236839 2004-03-02 22:28 ./source/xap/xmms/arts_output-0.7.1.tar.gz
--rw-r--r-- 1 root root 834 2004-02-24 02:30 ./source/xap/xmms/slack-desc
--rw-r--r-- 1 root root 2581032 2007-11-16 22:53 ./source/xap/xmms/xmms-1.2.11.tar.bz2
--rwxr-xr-x 1 root root 2938 2009-06-09 20:21 ./source/xap/xmms/xmms.SlackBuild
--rw-r--r-- 1 root root 525 2008-09-11 20:50 ./source/xap/xmms/xmms.desktop
--rw-r--r-- 1 root root 279 2008-09-12 20:50 ./source/xap/xmms/xmms.gtk.doublesize.diff.gz
--rw-r--r-- 1 root root 260 2009-06-09 20:19 ./source/xap/xmms/xmms.wmxmms_vis_depth_workaround.diff.gz
-drwxr-xr-x 2 root root 4096 2009-05-19 20:05 ./source/xap/xpaint
--rw-r--r-- 1 root root 902 2002-03-12 23:40 ./source/xap/xpaint/slack-desc
--rw-r--r-- 1 root root 459429 2005-09-09 20:02 ./source/xap/xpaint/xpaint-2.7.8.1.tar.bz2
--rwxr-xr-x 1 root root 3529 2009-05-19 20:05 ./source/xap/xpaint/xpaint.SlackBuild
--rw-r--r-- 1 root root 702 2007-05-10 21:48 ./source/xap/xpaint/xpaint_2.7.8.1-1.2.diff.gz
--rw-r--r-- 1 root root 314 2008-11-06 21:49 ./source/xap/xpaint/xpaint_xaw3d_no_scroll_mode.diff.gz
-drwxr-xr-x 2 root root 4096 2009-05-19 20:05 ./source/xap/xpdf
--rw-r--r-- 1 root root 532 2007-08-08 19:25 ./source/xap/xpdf/VendorP.h.buggy.diff
--rw-r--r-- 1 root root 711 2007-04-12 01:49 ./source/xap/xpdf/slack-desc
--rw-r--r-- 1 root root 674912 2007-02-27 22:56 ./source/xap/xpdf/xpdf-3.02.tar.gz
--rw-r--r-- 1 root root 189 2007-02-27 22:50 ./source/xap/xpdf/xpdf-3.02.tar.gz.sig
--rw-r--r-- 1 root root 1050 2007-07-30 18:51 ./source/xap/xpdf/xpdf-3.02pl1.patch
--rw-r--r-- 1 root root 189 2007-07-30 18:51 ./source/xap/xpdf/xpdf-3.02pl1.patch.sig
--rw-r--r-- 1 root root 20843 2007-11-07 18:16 ./source/xap/xpdf/xpdf-3.02pl2.patch
--rw-r--r-- 1 root root 189 2007-11-07 18:16 ./source/xap/xpdf/xpdf-3.02pl2.patch.sig
--rw-r--r-- 1 root root 30727 2009-04-16 19:18 ./source/xap/xpdf/xpdf-3.02pl3.patch
--rw-r--r-- 1 root root 197 2009-04-16 19:18 ./source/xap/xpdf/xpdf-3.02pl3.patch.sig
--rw-r--r-- 1 root root 207 2008-03-02 07:24 ./source/xap/xpdf/xpdf-arabic.diff.gz
--rw-r--r-- 1 root root 1058 2004-07-18 23:14 ./source/xap/xpdf/xpdf-arabic.tar.gz
--rw-r--r-- 1 root root 375 2008-03-02 07:46 ./source/xap/xpdf/xpdf-chinese-simplified.diff.gz
--rw-r--r-- 1 root root 835960 2004-07-27 22:29 ./source/xap/xpdf/xpdf-chinese-simplified.tar.gz
--rw-r--r-- 1 root root 354 2008-03-02 07:45 ./source/xap/xpdf/xpdf-chinese-traditional.diff.gz
--rw-r--r-- 1 root root 794604 2004-07-27 22:30 ./source/xap/xpdf/xpdf-chinese-traditional.tar.gz
--rw-r--r-- 1 root root 242 2008-03-02 07:27 ./source/xap/xpdf/xpdf-cyrillic.diff.gz
--rw-r--r-- 1 root root 1660 2004-07-18 23:15 ./source/xap/xpdf/xpdf-cyrillic.tar.gz
--rw-r--r-- 1 root root 236 2008-03-02 07:28 ./source/xap/xpdf/xpdf-greek.diff.gz
--rw-r--r-- 1 root root 1263 2004-07-18 23:15 ./source/xap/xpdf/xpdf-greek.tar.gz
--rw-r--r-- 1 root root 224 2008-03-02 07:28 ./source/xap/xpdf/xpdf-hebrew.diff.gz
--rw-r--r-- 1 root root 1314 2004-07-18 23:15 ./source/xap/xpdf/xpdf-hebrew.tar.gz
--rw-r--r-- 1 root root 750 2008-03-02 07:48 ./source/xap/xpdf/xpdf-japanese.diff.gz
--rw-r--r-- 1 root root 494803 2004-07-27 22:30 ./source/xap/xpdf/xpdf-japanese.tar.gz
--rw-r--r-- 1 root root 312 2008-03-02 07:34 ./source/xap/xpdf/xpdf-korean.diff.gz
--rw-r--r-- 1 root root 470455 2005-07-07 18:05 ./source/xap/xpdf/xpdf-korean.tar.gz
--rw-r--r-- 1 root root 200 2008-03-02 07:36 ./source/xap/xpdf/xpdf-latin2.diff.gz
--rw-r--r-- 1 root root 1435 2004-07-18 23:15 ./source/xap/xpdf/xpdf-latin2.tar.gz
--rw-r--r-- 1 root root 498 2007-04-12 00:58 ./source/xap/xpdf/xpdf-resizefix.diff.gz
--rw-r--r-- 1 root root 231 2008-03-02 07:36 ./source/xap/xpdf/xpdf-thai.diff.gz
--rw-r--r-- 1 root root 1873 2004-07-18 23:17 ./source/xap/xpdf/xpdf-thai.tar.gz
--rw-r--r-- 1 root root 210 2008-03-02 07:37 ./source/xap/xpdf/xpdf-turkish.diff.gz
--rw-r--r-- 1 root root 1140 2004-07-18 23:17 ./source/xap/xpdf/xpdf-turkish.tar.gz
--rwxr-xr-x 1 root root 4735 2009-05-19 20:05 ./source/xap/xpdf/xpdf.SlackBuild
--rw-r--r-- 1 root root 3290 2008-03-18 02:37 ./source/xap/xpdf/xpdf.desktop
--rw-r--r-- 1 root root 37396 2007-11-12 05:27 ./source/xap/xpdf/xpdf_3.02-1.3.diff.gz
--rw-r--r-- 1 root root 636 2007-02-18 03:26 ./source/xap/xpdf/xpdfrc.diff.gz
-drwxr-xr-x 2 root root 4096 2009-05-19 20:05 ./source/xap/xsane
--rw-r--r-- 1 root root 955 2004-05-11 19:29 ./source/xap/xsane/slack-desc
--rw-r--r-- 1 root root 2531642 2008-09-21 18:31 ./source/xap/xsane/xsane-0.996.tar.bz2
--rwxr-xr-x 1 root root 2842 2009-05-19 20:05 ./source/xap/xsane/xsane.SlackBuild
-drwxr-xr-x 2 root root 4096 2009-05-19 20:05 ./source/xap/xscreensaver
--rw-r--r-- 1 root root 2868 2008-10-17 04:30 ./source/xap/xscreensaver/setuid.c.gz
--rw-r--r-- 1 root root 887 2008-10-17 04:31 ./source/xap/xscreensaver/slack-desc
--rw-r--r-- 1 root root 3310808 2008-12-28 07:59 ./source/xap/xscreensaver/xscreensaver-5.08.tar.xz
--rwxr-xr-x 1 root root 3186 2009-05-19 20:05 ./source/xap/xscreensaver/xscreensaver.SlackBuild
--rw-r--r-- 1 root root 285 2009-05-15 21:22 ./source/xap/xscreensaver/xscreensaver.electricsheep.diff.gz
--rw-r--r-- 1 root root 1763 2008-10-17 04:32 ./source/xap/xscreensaver/xscreensaver.setuid.diff.gz
-drwxr-xr-x 2 root root 4096 2009-05-19 20:05 ./source/xap/xv
--rw-r--r-- 1 root root 688 2002-03-10 06:26 ./source/xap/xv/slack-desc
--rw-r--r-- 1 root root 2271704 1994-12-22 15:50 ./source/xap/xv/xv-3.10.tar.gz
--rw-r--r-- 1 root root 20873 2005-05-01 20:45 ./source/xap/xv/xv-3.10a-jumbo-README.txt
--rw-r--r-- 1 root root 172642 2005-05-01 20:51 ./source/xap/xv/xv-3.10a-jumbo-enh-patch-20050501.txt.bz2
--rw-r--r-- 1 root root 197713 2005-04-11 03:01 ./source/xap/xv/xv-3.10a-jumbo-fix-patch-20050410.txt.bz2
--rw-r--r-- 1 root root 21943 1996-10-05 19:33 ./source/xap/xv/xv-3.10a.patch.gz
--rwxr-xr-x 1 root root 2734 2009-05-19 20:05 ./source/xap/xv/xv.SlackBuild
--rw-r--r-- 1 root root 200 2005-07-12 22:17 ./source/xap/xv/xv.prefix.diff.gz
--rw-r--r-- 1 root root 321 2008-11-06 22:29 ./source/xap/xv/xv.prefix_x86_64.diff.gz
-drwxr-xr-x 2 root root 4096 2009-05-19 20:05 ./source/xap/xxgdb
--rw-r--r-- 1 root root 874 2002-03-13 02:25 ./source/xap/xxgdb/slack-desc
--rw-r--r-- 1 root root 115537 1995-11-19 16:40 ./source/xap/xxgdb/xxgdb-1.12.tar.gz
--rwxr-xr-x 1 root root 3066 2009-05-19 20:05 ./source/xap/xxgdb/xxgdb.SlackBuild
--rw-r--r-- 1 root root 607 2007-02-21 18:30 ./source/xap/xxgdb/xxgdb.fix_glibc_and_gcc.diff.gz
-drwxr-xr-x 3 root root 4096 2008-10-28 21:34 ./source/y
-drwxr-xr-x 2 root root 4096 2009-05-23 00:41 ./source/y/bsd-games
--rw-r--r-- 1 root root 825 2001-08-30 23:25 ./source/y/bsd-games/bsd-games-2.13.lsm
--rw-r--r-- 1 root root 1861269 2001-08-30 23:25 ./source/y/bsd-games/bsd-games-2.13.tar.bz2
--rw-r--r-- 1 root root 164 1999-09-27 21:18 ./source/y/bsd-games/bsd-games-login-fortune.csh
--rw-r--r-- 1 root root 141 2003-03-14 00:40 ./source/y/bsd-games/bsd-games-login-fortune.sh
--rwxr-xr-x 1 root root 6427 2009-05-23 00:41 ./source/y/bsd-games/bsd-games.SlackBuild
--rw-r--r-- 1 root root 563 2003-02-03 21:48 ./source/y/bsd-games/bsd-games.config.params.diff.gz
--rw-r--r-- 1 root root 283 2003-02-03 22:28 ./source/y/bsd-games/bsd-games.fortlen.diff.gz
--rw-r--r-- 1 root root 181 2002-03-10 05:27 ./source/y/bsd-games/bsd-games.fortunepath.diff.gz
--rw-r--r-- 1 root root 265 2006-09-07 02:18 ./source/y/bsd-games/bsd-games.ospeed.diff.gz
--rw-r--r-- 1 root root 386 2007-08-27 17:51 ./source/y/bsd-games/bsd-games.phantasia_install_fix.diff.gz
--rw-r--r-- 1 root root 1960 2006-09-09 00:47 ./source/y/bsd-games/bsd-games.pom.diff.gz
--rw-r--r-- 1 root root 353 2003-02-03 22:51 ./source/y/bsd-games/bsd-games.strfile.8.diff.gz
--rw-r--r-- 1 root root 405 2007-08-27 17:57 ./source/y/bsd-games/bsd-games.trek-gcc4.diff.gz
--rw-r--r-- 1 root root 15107 2002-03-10 05:09 ./source/y/bsd-games/fortunes-linuxcookie.tar.gz
--rw-r--r-- 1 root root 364407 2002-03-10 05:09 ./source/y/bsd-games/fortunes-o.tar.gz
--rw-r--r-- 1 root root 104848 1993-10-25 00:02 ./source/y/bsd-games/hangman-words.gz
--rw-r--r-- 1 root root 1056 2002-03-10 04:51 ./source/y/bsd-games/slack-desc
-drwxr-xr-x 4 root root 4096 2009-08-23 08:05 ./testing
--rw-r--r-- 1 root root 6486 2009-08-23 08:05 ./testing/CHECKSUMS.md5
--rw-r--r-- 1 root root 197 2009-08-23 08:05 ./testing/CHECKSUMS.md5.asc
--rw-r--r-- 1 root root 8043 2009-08-23 08:05 ./testing/FILE_LIST
--rw-r--r-- 1 root root 266389 2009-08-23 08:05 ./testing/MANIFEST.bz2
--rw-r--r-- 1 root root 3805 2009-08-23 08:05 ./testing/PACKAGES.TXT
-drwxr-xr-x 3 root root 4096 2009-08-25 04:31 ./testing/packages
--rw-r--r-- 1 root root 510 2009-06-20 17:48 ./testing/packages/bash-4.0.024-x86_64-1.txt
--rw-r--r-- 1 root root 875636 2009-06-20 17:48 ./testing/packages/bash-4.0.024-x86_64-1.txz
--rw-r--r-- 1 root root 197 2009-06-20 17:48 ./testing/packages/bash-4.0.024-x86_64-1.txz.asc
-drwxr-xr-x 2 root root 4096 2009-08-23 08:05 ./testing/packages/linux-2.6.30.5
--rw-r--r-- 1 root root 3420 2009-08-23 07:23 ./testing/packages/linux-2.6.30.5/README_FIRST.TXT
--rw-r--r-- 1 root root 344 2009-08-23 00:55 ./testing/packages/linux-2.6.30.5/kernel-firmware-2.6.30.5-noarch-1_testing.txt
--rw-r--r-- 1 root root 470352 2009-08-23 00:55 ./testing/packages/linux-2.6.30.5/kernel-firmware-2.6.30.5-noarch-1_testing.txz
--rw-r--r-- 1 root root 197 2009-08-23 00:55 ./testing/packages/linux-2.6.30.5/kernel-firmware-2.6.30.5-noarch-1_testing.txz.asc
--rw-r--r-- 1 root root 626 2009-08-23 00:55 ./testing/packages/linux-2.6.30.5/kernel-generic-2.6.30.5-x86_64-1_testing.txt
--rw-r--r-- 1 root root 3068024 2009-08-23 00:55 ./testing/packages/linux-2.6.30.5/kernel-generic-2.6.30.5-x86_64-1_testing.txz
--rw-r--r-- 1 root root 197 2009-08-23 00:55 ./testing/packages/linux-2.6.30.5/kernel-generic-2.6.30.5-x86_64-1_testing.txz.asc
--rw-r--r-- 1 root root 332 2009-08-23 00:48 ./testing/packages/linux-2.6.30.5/kernel-headers-2.6.30.5-x86-1_testing.txt
--rw-r--r-- 1 root root 525272 2009-08-23 00:48 ./testing/packages/linux-2.6.30.5/kernel-headers-2.6.30.5-x86-1_testing.txz
--rw-r--r-- 1 root root 197 2009-08-23 00:48 ./testing/packages/linux-2.6.30.5/kernel-headers-2.6.30.5-x86-1_testing.txz.asc
--rw-r--r-- 1 root root 520 2009-08-23 05:03 ./testing/packages/linux-2.6.30.5/kernel-modules-2.6.30.5-x86_64-1_testing.txt
--rw-r--r-- 1 root root 16707836 2009-08-23 05:03 ./testing/packages/linux-2.6.30.5/kernel-modules-2.6.30.5-x86_64-1_testing.txz
--rw-r--r-- 1 root root 197 2009-08-23 05:03 ./testing/packages/linux-2.6.30.5/kernel-modules-2.6.30.5-x86_64-1_testing.txz.asc
--rw-r--r-- 1 root root 317 2009-08-23 00:47 ./testing/packages/linux-2.6.30.5/kernel-source-2.6.30.5-noarch-1_testing.txt
--rw-r--r-- 1 root root 50832812 2009-08-23 00:47 ./testing/packages/linux-2.6.30.5/kernel-source-2.6.30.5-noarch-1_testing.txz
--rw-r--r-- 1 root root 197 2009-08-23 00:47 ./testing/packages/linux-2.6.30.5/kernel-source-2.6.30.5-noarch-1_testing.txz.asc
-drwxr-xr-x 4 root root 4096 2009-08-25 04:31 ./testing/source
-drwxr-xr-x 3 root root 4096 2009-02-23 21:59 ./testing/source/bash
-drwxr-xr-x 2 root root 4096 2009-06-20 17:38 ./testing/source/bash/bash-4.0-patches
--rw-r--r-- 1 root root 5156 2009-03-09 15:00 ./testing/source/bash/bash-4.0-patches/bash40-001
--rw-r--r-- 1 root root 65 2009-03-09 15:01 ./testing/source/bash/bash-4.0-patches/bash40-001.sig
--rw-r--r-- 1 root root 1220 2009-03-09 15:00 ./testing/source/bash/bash-4.0-patches/bash40-002
--rw-r--r-- 1 root root 65 2009-03-09 15:01 ./testing/source/bash/bash-4.0-patches/bash40-002.sig
--rw-r--r-- 1 root root 1749 2009-03-09 15:00 ./testing/source/bash/bash-4.0-patches/bash40-003
--rw-r--r-- 1 root root 65 2009-03-09 15:01 ./testing/source/bash/bash-4.0-patches/bash40-003.sig
--rw-r--r-- 1 root root 1347 2009-03-09 15:00 ./testing/source/bash/bash-4.0-patches/bash40-004
--rw-r--r-- 1 root root 65 2009-03-09 15:01 ./testing/source/bash/bash-4.0-patches/bash40-004.sig
--rw-r--r-- 1 root root 2021 2009-03-09 15:00 ./testing/source/bash/bash-4.0-patches/bash40-005
--rw-r--r-- 1 root root 65 2009-03-09 15:01 ./testing/source/bash/bash-4.0-patches/bash40-005.sig
--rw-r--r-- 1 root root 1133 2009-03-09 15:00 ./testing/source/bash/bash-4.0-patches/bash40-006
--rw-r--r-- 1 root root 65 2009-03-09 15:01 ./testing/source/bash/bash-4.0-patches/bash40-006.sig
--rw-r--r-- 1 root root 6920 2009-03-09 15:00 ./testing/source/bash/bash-4.0-patches/bash40-007
--rw-r--r-- 1 root root 65 2009-03-09 15:01 ./testing/source/bash/bash-4.0-patches/bash40-007.sig
--rw-r--r-- 1 root root 1196 2009-03-09 15:00 ./testing/source/bash/bash-4.0-patches/bash40-008
--rw-r--r-- 1 root root 65 2009-03-09 15:01 ./testing/source/bash/bash-4.0-patches/bash40-008.sig
--rw-r--r-- 1 root root 1821 2009-03-09 15:00 ./testing/source/bash/bash-4.0-patches/bash40-009
--rw-r--r-- 1 root root 65 2009-03-09 15:01 ./testing/source/bash/bash-4.0-patches/bash40-009.sig
--rw-r--r-- 1 root root 2152 2009-03-09 15:00 ./testing/source/bash/bash-4.0-patches/bash40-010
--rw-r--r-- 1 root root 65 2009-03-09 15:01 ./testing/source/bash/bash-4.0-patches/bash40-010.sig
--rw-r--r-- 1 root root 1383 2009-04-06 12:35 ./testing/source/bash/bash-4.0-patches/bash40-011
--rw-r--r-- 1 root root 65 2009-04-06 12:35 ./testing/source/bash/bash-4.0-patches/bash40-011.sig
--rw-r--r-- 1 root root 1459 2009-04-06 12:35 ./testing/source/bash/bash-4.0-patches/bash40-012
--rw-r--r-- 1 root root 65 2009-04-06 12:35 ./testing/source/bash/bash-4.0-patches/bash40-012.sig
--rw-r--r-- 1 root root 4629 2009-04-06 12:35 ./testing/source/bash/bash-4.0-patches/bash40-013
--rw-r--r-- 1 root root 65 2009-04-06 12:35 ./testing/source/bash/bash-4.0-patches/bash40-013.sig
--rw-r--r-- 1 root root 3709 2009-04-06 12:35 ./testing/source/bash/bash-4.0-patches/bash40-014
--rw-r--r-- 1 root root 65 2009-04-06 12:35 ./testing/source/bash/bash-4.0-patches/bash40-014.sig
--rw-r--r-- 1 root root 1914 2009-04-06 12:35 ./testing/source/bash/bash-4.0-patches/bash40-015
--rw-r--r-- 1 root root 65 2009-04-06 12:35 ./testing/source/bash/bash-4.0-patches/bash40-015.sig
--rw-r--r-- 1 root root 3032 2009-04-06 12:35 ./testing/source/bash/bash-4.0-patches/bash40-016
--rw-r--r-- 1 root root 65 2009-04-06 12:35 ./testing/source/bash/bash-4.0-patches/bash40-016.sig
--rw-r--r-- 1 root root 1496 2009-04-06 12:35 ./testing/source/bash/bash-4.0-patches/bash40-017
--rw-r--r-- 1 root root 65 2009-04-06 12:35 ./testing/source/bash/bash-4.0-patches/bash40-017.sig
--rw-r--r-- 1 root root 2614 2009-05-16 20:39 ./testing/source/bash/bash-4.0-patches/bash40-018
--rw-r--r-- 1 root root 65 2009-05-16 20:39 ./testing/source/bash/bash-4.0-patches/bash40-018.sig
--rw-r--r-- 1 root root 3309 2009-05-16 20:40 ./testing/source/bash/bash-4.0-patches/bash40-019
--rw-r--r-- 1 root root 65 2009-05-16 20:40 ./testing/source/bash/bash-4.0-patches/bash40-019.sig
--rw-r--r-- 1 root root 2666 2009-05-16 20:40 ./testing/source/bash/bash-4.0-patches/bash40-020
--rw-r--r-- 1 root root 65 2009-05-16 20:40 ./testing/source/bash/bash-4.0-patches/bash40-020.sig
--rw-r--r-- 1 root root 1547 2009-05-16 20:40 ./testing/source/bash/bash-4.0-patches/bash40-021
--rw-r--r-- 1 root root 65 2009-05-16 20:40 ./testing/source/bash/bash-4.0-patches/bash40-021.sig
--rw-r--r-- 1 root root 1592 2009-05-16 20:40 ./testing/source/bash/bash-4.0-patches/bash40-022
--rw-r--r-- 1 root root 65 2009-05-16 20:40 ./testing/source/bash/bash-4.0-patches/bash40-022.sig
--rw-r--r-- 1 root root 2148 2009-05-16 20:41 ./testing/source/bash/bash-4.0-patches/bash40-023
--rw-r--r-- 1 root root 65 2009-05-16 20:41 ./testing/source/bash/bash-4.0-patches/bash40-023.sig
--rw-r--r-- 1 root root 3049 2009-05-16 20:41 ./testing/source/bash/bash-4.0-patches/bash40-024
--rw-r--r-- 1 root root 65 2009-05-16 20:41 ./testing/source/bash/bash-4.0-patches/bash40-024.sig
--rw-r--r-- 1 root root 4707018 2009-02-20 20:09 ./testing/source/bash/bash-4.0.tar.bz2
--rwxr-xr-x 1 root root 2109 2009-06-20 17:47 ./testing/source/bash/bash.SlackBuild
--rw-r--r-- 1 root root 189 2009-02-23 21:59 ./testing/source/bash/doinst.sh.gz
--rw-r--r-- 1 root root 965 2002-03-23 21:47 ./testing/source/bash/slack-desc
-drwxr-xr-x 2 root root 4096 2009-08-23 07:44 ./testing/source/linux-2.6.30.5
--rw-r--r-- 1 root root 94034 2009-08-23 00:55 ./testing/source/linux-2.6.30.5/config-generic-2.6.30.5
-drwxr-xr-x 2 root root 4096 2009-08-25 10:30 ./usb-and-pxe-installers
--rw-r--r-- 1 root root 31142 2009-07-22 14:49 ./usb-and-pxe-installers/README_PXE.TXT
--rw-r--r-- 1 root root 7938 2009-07-22 14:47 ./usb-and-pxe-installers/README_USB.TXT
--rw-r--r-- 1 root root 345 2009-02-17 13:57 ./usb-and-pxe-installers/pxelinux.cfg_default
--rw-r--r-- 1 root root 21266432 2009-08-25 10:28 ./usb-and-pxe-installers/usbboot.img
--rw-r--r-- 1 root root 7908 2009-05-14 10:30 ./usb-and-pxe-installers/usbimg2disk.sh
+-rwxr-xr-x 1 root root 708 2001-02-17 22:27 ./source/x/x11/post-install/xdm/Xsession.orig
+-rwxr-xr-x 1 root root 503 2007-02-14 01:22 ./source/x/x11/post-install/xdm/Xsetup_0
+-rwxr-xr-x 1 root root 145 2007-02-13 06:04 ./source/x/x11/post-install/xdm/Xsetup_0.orig
+-rw-r--r-- 1 root root 40 2008-09-15 22:43 ./source/x/x11/post-install/xf86-input-joystick.post-install
+-rw-r--r-- 1 root root 309 2009-05-30 01:47 ./source/x/x11/post-install/xf86-input-synaptics.post-install
+-rw-r--r-- 1 root root 54 2009-08-01 05:00 ./source/x/x11/post-install/xfs.post-install
+drwxr-xr-x 2 root root 4096 2007-07-01 03:06 ./source/x/x11/post-install/xinit
+-rw-r--r-- 1 root root 637 2007-07-01 03:13 ./source/x/x11/post-install/xinit.post-install
+-rw-r--r-- 1 root root 321 2003-03-16 21:36 ./source/x/x11/post-install/xinit/README.Xmodmap
+-rw-r--r-- 1 root root 341 2007-02-18 03:51 ./source/x/x11/post-install/xkeyboard-config.post-install
+drwxr-xr-x 2 root root 4096 2009-08-11 03:27 ./source/x/x11/post-install/xorg-cf-files
+-rw-r--r-- 1 root root 237 2009-08-11 03:32 ./source/x/x11/post-install/xorg-cf-files.post-install
+-rw-r--r-- 1 root root 203 2009-08-11 03:26 ./source/x/x11/post-install/xorg-cf-files/x11.tmpl.lib64.kludge.diff.gz
+-rw-r--r-- 1 root root 30 2007-02-14 01:57 ./source/x/x11/post-install/xorg-docs.post-install
+-rw-r--r-- 1 root root 476 2009-08-02 03:48 ./source/x/x11/post-install/xorg-server.post-install
+-rw-r--r-- 1 root root 100 2007-02-13 23:26 ./source/x/x11/post-install/xsm.post-install
+drwxr-xr-x 2 root root 12288 2009-05-30 01:47 ./source/x/x11/slack-desc
+-rw-r--r-- 1 root root 811 2007-02-13 23:03 ./source/x/x11/slack-desc/applewmproto
+-rw-r--r-- 1 root root 727 2007-02-13 23:03 ./source/x/x11/slack-desc/appres
+-rw-r--r-- 1 root root 755 2007-02-13 23:03 ./source/x/x11/slack-desc/bdftopcf
+-rw-r--r-- 1 root root 797 2007-02-13 23:03 ./source/x/x11/slack-desc/beforelight
+-rw-r--r-- 1 root root 811 2007-02-13 23:03 ./source/x/x11/slack-desc/bigreqsproto
+-rw-r--r-- 1 root root 727 2007-02-13 23:03 ./source/x/x11/slack-desc/bitmap
+-rw-r--r-- 1 root root 727 2007-02-13 23:03 ./source/x/x11/slack-desc/compiz
+-rw-r--r-- 1 root root 839 2007-02-13 23:03 ./source/x/x11/slack-desc/compositeproto
+-rw-r--r-- 1 root root 755 2009-05-30 01:47 ./source/x/x11/slack-desc/constype
+-rw-r--r-- 1 root root 797 2007-02-13 23:03 ./source/x/x11/slack-desc/damageproto
+-rw-r--r-- 1 root root 755 2007-02-13 23:03 ./source/x/x11/slack-desc/dmxproto
+-rw-r--r-- 1 root root 769 2008-09-18 04:02 ./source/x/x11/slack-desc/dri2proto
+-rw-r--r-- 1 root root 741 2007-02-13 23:03 ./source/x/x11/slack-desc/editres
+-rw-r--r-- 1 root root 769 2007-02-13 23:03 ./source/x/x11/slack-desc/encodings
+-rw-r--r-- 1 root root 741 2007-02-13 23:03 ./source/x/x11/slack-desc/evieext
+-rw-r--r-- 1 root root 783 2007-02-13 23:03 ./source/x/x11/slack-desc/fixesproto
+-rw-r--r-- 1 root root 881 2007-02-13 23:03 ./source/x/x11/slack-desc/font-adobe-100dpi
+-rw-r--r-- 1 root root 867 2007-02-13 23:03 ./source/x/x11/slack-desc/font-adobe-75dpi
+-rw-r--r-- 1 root root 979 2007-02-13 23:03 ./source/x/x11/slack-desc/font-adobe-utopia-100dpi
+-rw-r--r-- 1 root root 965 2007-02-13 23:03 ./source/x/x11/slack-desc/font-adobe-utopia-75dpi
+-rw-r--r-- 1 root root 965 2007-02-13 23:03 ./source/x/x11/slack-desc/font-adobe-utopia-type1
+-rw-r--r-- 1 root root 783 2007-02-13 23:03 ./source/x/x11/slack-desc/font-alias
+-rw-r--r-- 1 root root 867 2007-02-13 23:03 ./source/x/x11/slack-desc/font-arabic-misc
+-rw-r--r-- 1 root root 839 2007-02-13 23:03 ./source/x/x11/slack-desc/font-bh-100dpi
+-rw-r--r-- 1 root root 825 2007-02-13 23:03 ./source/x/x11/slack-desc/font-bh-75dpi
+-rw-r--r-- 1 root root 1077 2007-02-13 23:03 ./source/x/x11/slack-desc/font-bh-lucidatypewriter-100dpi
+-rw-r--r-- 1 root root 1063 2007-02-13 23:03 ./source/x/x11/slack-desc/font-bh-lucidatypewriter-75dpi
+-rw-r--r-- 1 root root 797 2007-02-13 23:03 ./source/x/x11/slack-desc/font-bh-ttf
+-rw-r--r-- 1 root root 825 2007-02-13 23:03 ./source/x/x11/slack-desc/font-bh-type1
+-rw-r--r-- 1 root root 937 2007-02-13 23:03 ./source/x/x11/slack-desc/font-bitstream-100dpi
+-rw-r--r-- 1 root root 923 2007-02-13 23:03 ./source/x/x11/slack-desc/font-bitstream-75dpi
+-rw-r--r-- 1 root root 937 2007-02-13 23:03 ./source/x/x11/slack-desc/font-bitstream-speedo
+-rw-r--r-- 1 root root 923 2007-02-13 23:03 ./source/x/x11/slack-desc/font-bitstream-type1
+-rw-r--r-- 1 root root 923 2007-02-13 23:03 ./source/x/x11/slack-desc/font-cronyx-cyrillic
+-rw-r--r-- 1 root root 867 2007-02-13 23:03 ./source/x/x11/slack-desc/font-cursor-misc
+-rw-r--r-- 1 root root 867 2007-02-13 23:03 ./source/x/x11/slack-desc/font-daewoo-misc
+-rw-r--r-- 1 root root 825 2007-02-13 23:03 ./source/x/x11/slack-desc/font-dec-misc
+-rw-r--r-- 1 root root 839 2007-02-13 23:03 ./source/x/x11/slack-desc/font-ibm-type1
+-rw-r--r-- 1 root root 839 2007-02-13 23:03 ./source/x/x11/slack-desc/font-isas-misc
+-rw-r--r-- 1 root root 825 2007-02-13 23:03 ./source/x/x11/slack-desc/font-jis-misc
+-rw-r--r-- 1 root root 853 2007-02-13 23:03 ./source/x/x11/slack-desc/font-micro-misc
+-rw-r--r-- 1 root root 895 2007-02-13 23:03 ./source/x/x11/slack-desc/font-misc-cyrillic
+-rw-r--r-- 1 root root 895 2007-02-13 23:03 ./source/x/x11/slack-desc/font-misc-ethiopic
+-rw-r--r-- 1 root root 867 2007-02-13 23:03 ./source/x/x11/slack-desc/font-misc-meltho
+-rw-r--r-- 1 root root 839 2007-02-13 23:03 ./source/x/x11/slack-desc/font-misc-misc
+-rw-r--r-- 1 root root 839 2007-02-13 23:03 ./source/x/x11/slack-desc/font-mutt-misc
+-rw-r--r-- 1 root root 923 2007-02-13 23:03 ./source/x/x11/slack-desc/font-schumacher-misc
+-rw-r--r-- 1 root root 923 2007-02-13 23:03 ./source/x/x11/slack-desc/font-screen-cyrillic
+-rw-r--r-- 1 root root 839 2007-02-13 23:03 ./source/x/x11/slack-desc/font-sony-misc
+-rw-r--r-- 1 root root 825 2007-02-13 23:03 ./source/x/x11/slack-desc/font-sun-misc
+-rw-r--r-- 1 root root 769 2007-02-13 23:03 ./source/x/x11/slack-desc/font-util
+-rw-r--r-- 1 root root 951 2007-02-13 23:03 ./source/x/x11/slack-desc/font-winitzki-cyrillic
+-rw-r--r-- 1 root root 895 2007-02-13 23:03 ./source/x/x11/slack-desc/font-xfree86-type1
+-rw-r--r-- 1 root root 839 2007-02-13 23:03 ./source/x/x11/slack-desc/fontcacheproto
+-rw-r--r-- 1 root root 783 2007-02-13 23:03 ./source/x/x11/slack-desc/fontsproto
+-rw-r--r-- 1 root root 783 2007-02-13 23:03 ./source/x/x11/slack-desc/fonttosfnt
+-rw-r--r-- 1 root root 769 2007-02-13 23:03 ./source/x/x11/slack-desc/fslsfonts
+-rw-r--r-- 1 root root 741 2007-02-13 23:03 ./source/x/x11/slack-desc/fstobdf
+-rw-r--r-- 1 root root 783 2007-02-13 23:03 ./source/x/x11/slack-desc/gccmakedep
+-rw-r--r-- 1 root root 741 2007-02-13 23:03 ./source/x/x11/slack-desc/glproto
+-rw-r--r-- 1 root root 741 2007-02-13 23:03 ./source/x/x11/slack-desc/iceauth
+-rw-r--r-- 1 root root 685 2007-02-13 23:03 ./source/x/x11/slack-desc/ico
+-rw-r--r-- 1 root root 713 2007-02-13 23:03 ./source/x/x11/slack-desc/imake
+-rw-r--r-- 1 root root 783 2007-02-13 23:03 ./source/x/x11/slack-desc/inputproto
+-rw-r--r-- 1 root root 886 2009-06-03 05:02 ./source/x/x11/slack-desc/intel-gpu-tools
+-rw-r--r-- 1 root root 741 2007-02-13 23:03 ./source/x/x11/slack-desc/kbproto
+-rw-r--r-- 1 root root 755 2007-02-13 23:03 ./source/x/x11/slack-desc/lbxproxy
+-rw-r--r-- 1 root root 783 2007-02-13 23:03 ./source/x/x11/slack-desc/libAppleWM
+-rw-r--r-- 1 root root 713 2007-02-13 23:03 ./source/x/x11/slack-desc/libFS
+-rw-r--r-- 1 root root 727 2007-02-13 23:03 ./source/x/x11/slack-desc/libICE
+-rw-r--r-- 1 root root 713 2007-02-13 23:03 ./source/x/x11/slack-desc/libSM
+-rw-r--r-- 1 root root 811 2007-02-13 23:03 ./source/x/x11/slack-desc/libWindowsWM
+-rw-r--r-- 1 root root 727 2007-02-13 23:03 ./source/x/x11/slack-desc/libX11
+-rw-r--r-- 1 root root 825 2007-02-13 23:03 ./source/x/x11/slack-desc/libXScrnSaver
+-rw-r--r-- 1 root root 755 2007-02-13 23:03 ./source/x/x11/slack-desc/libXTrap
+-rw-r--r-- 1 root root 727 2007-02-13 23:03 ./source/x/x11/slack-desc/libXau
+-rw-r--r-- 1 root root 727 2007-02-13 23:03 ./source/x/x11/slack-desc/libXaw
+-rw-r--r-- 1 root root 825 2007-02-13 23:03 ./source/x/x11/slack-desc/libXcomposite
+-rw-r--r-- 1 root root 783 2007-02-13 23:03 ./source/x/x11/slack-desc/libXcursor
+-rw-r--r-- 1 root root 783 2007-02-13 23:03 ./source/x/x11/slack-desc/libXdamage
+-rw-r--r-- 1 root root 755 2007-02-13 23:03 ./source/x/x11/slack-desc/libXdmcp
+-rw-r--r-- 1 root root 755 2007-02-13 23:03 ./source/x/x11/slack-desc/libXevie
+-rw-r--r-- 1 root root 741 2007-02-13 23:03 ./source/x/x11/slack-desc/libXext
+-rw-r--r-- 1 root root 769 2007-02-13 23:03 ./source/x/x11/slack-desc/libXfixes
+-rw-r--r-- 1 root root 755 2007-02-13 23:03 ./source/x/x11/slack-desc/libXfont
+-rw-r--r-- 1 root root 825 2007-02-13 23:03 ./source/x/x11/slack-desc/libXfontcache
+-rw-r--r-- 1 root root 727 2007-02-13 23:03 ./source/x/x11/slack-desc/libXft
+-rw-r--r-- 1 root root 713 2007-02-13 23:03 ./source/x/x11/slack-desc/libXi
+-rw-r--r-- 1 root root 797 2007-02-13 23:03 ./source/x/x11/slack-desc/libXinerama
+-rw-r--r-- 1 root root 727 2007-02-13 23:03 ./source/x/x11/slack-desc/libXmu
+-rw-r--r-- 1 root root 713 2007-02-13 23:03 ./source/x/x11/slack-desc/libXp
+-rw-r--r-- 1 root root 727 2007-02-13 23:03 ./source/x/x11/slack-desc/libXpm
+-rw-r--r-- 1 root root 867 2007-02-13 23:03 ./source/x/x11/slack-desc/libXprintAppUtil
+-rw-r--r-- 1 root root 825 2007-02-13 23:03 ./source/x/x11/slack-desc/libXprintUtil
+-rw-r--r-- 1 root root 769 2007-02-13 23:03 ./source/x/x11/slack-desc/libXrandr
+-rw-r--r-- 1 root root 783 2007-02-13 23:03 ./source/x/x11/slack-desc/libXrender
+-rw-r--r-- 1 root root 741 2007-02-13 23:03 ./source/x/x11/slack-desc/libXres
+-rw-r--r-- 1 root root 713 2007-02-13 23:03 ./source/x/x11/slack-desc/libXt
+-rw-r--r-- 1 root root 741 2007-02-13 23:03 ./source/x/x11/slack-desc/libXtst
+-rw-r--r-- 1 root root 713 2007-02-13 23:03 ./source/x/x11/slack-desc/libXv
+-rw-r--r-- 1 root root 741 2007-02-13 23:03 ./source/x/x11/slack-desc/libXvMC
+-rw-r--r-- 1 root root 797 2007-02-13 23:03 ./source/x/x11/slack-desc/libXxf86dga
+-rw-r--r-- 1 root root 811 2007-02-13 23:03 ./source/x/x11/slack-desc/libXxf86misc
+-rw-r--r-- 1 root root 783 2007-02-13 23:03 ./source/x/x11/slack-desc/libXxf86vm
+-rw-r--r-- 1 root root 727 2007-02-13 23:03 ./source/x/x11/slack-desc/libdmx
+-rw-r--r-- 1 root root 783 2007-02-13 23:03 ./source/x/x11/slack-desc/libfontenc
+-rw-r--r-- 1 root root 783 2007-02-13 23:03 ./source/x/x11/slack-desc/liblbxutil
+-rw-r--r-- 1 root root 741 2007-02-13 23:03 ./source/x/x11/slack-desc/liboldX
+-rw-r--r-- 1 root root 811 2008-03-10 05:32 ./source/x/x11/slack-desc/libpciaccess
+-rw-r--r-- 1 root root 867 2007-02-14 06:45 ./source/x/x11/slack-desc/libpthread-stubs
+-rw-r--r-- 1 root root 903 2007-02-14 06:52 ./source/x/x11/slack-desc/libxcb
+-rw-r--r-- 1 root root 783 2007-02-13 23:03 ./source/x/x11/slack-desc/libxkbfile
+-rw-r--r-- 1 root root 755 2007-02-13 23:03 ./source/x/x11/slack-desc/libxkbui
+-rw-r--r-- 1 root root 741 2007-02-13 23:03 ./source/x/x11/slack-desc/listres
+-rw-r--r-- 1 root root 713 2007-02-13 23:03 ./source/x/x11/slack-desc/lndir
+-rw-r--r-- 1 root root 699 2007-02-13 23:03 ./source/x/x11/slack-desc/luit
+-rw-r--r-- 1 root root 783 2007-02-13 23:03 ./source/x/x11/slack-desc/makedepend
+-rw-r--r-- 1 root root 713 2007-02-13 23:03 ./source/x/x11/slack-desc/mkcfm
+-rw-r--r-- 1 root root 839 2007-02-13 23:03 ./source/x/x11/slack-desc/mkcomposecache
+-rw-r--r-- 1 root root 769 2007-02-13 23:03 ./source/x/x11/slack-desc/mkfontdir
+-rw-r--r-- 1 root root 797 2007-02-13 23:03 ./source/x/x11/slack-desc/mkfontscale
+-rw-r--r-- 1 root root 727 2007-02-13 23:03 ./source/x/x11/slack-desc/oclock
+-rw-r--r-- 1 root root 794 2007-09-16 00:32 ./source/x/x11/slack-desc/pixman
+-rw-r--r-- 1 root root 783 2007-02-13 23:03 ./source/x/x11/slack-desc/printproto
+-rw-r--r-- 1 root root 769 2007-02-13 23:03 ./source/x/x11/slack-desc/proxymngr
+-rw-r--r-- 1 root root 783 2007-02-13 23:03 ./source/x/x11/slack-desc/randrproto
+-rw-r--r-- 1 root root 797 2007-02-13 23:03 ./source/x/x11/slack-desc/recordproto
+-rw-r--r-- 1 root root 797 2007-02-13 23:03 ./source/x/x11/slack-desc/rendercheck
+-rw-r--r-- 1 root root 797 2007-02-13 23:03 ./source/x/x11/slack-desc/renderproto
+-rw-r--r-- 1 root root 825 2007-02-13 23:03 ./source/x/x11/slack-desc/resourceproto
+-rw-r--r-- 1 root root 685 2007-02-13 23:03 ./source/x/x11/slack-desc/rgb
+-rw-r--r-- 1 root root 727 2007-02-13 23:03 ./source/x/x11/slack-desc/rstart
+-rw-r--r-- 1 root root 741 2007-02-13 23:03 ./source/x/x11/slack-desc/scripts
+-rw-r--r-- 1 root root 839 2007-02-13 23:03 ./source/x/x11/slack-desc/scrnsaverproto
+-rw-r--r-- 1 root root 741 2007-02-13 23:03 ./source/x/x11/slack-desc/sessreg
+-rw-r--r-- 1 root root 769 2007-02-13 23:03 ./source/x/x11/slack-desc/setxkbmap
+-rw-r--r-- 1 root root 755 2007-02-13 23:03 ./source/x/x11/slack-desc/showfont
+-rw-r--r-- 1 root root 741 2007-02-13 23:03 ./source/x/x11/slack-desc/smproxy
+-rw-r--r-- 1 root root 769 2007-02-13 23:03 ./source/x/x11/slack-desc/trapproto
+-rw-r--r-- 1 root root 685 2007-02-13 23:03 ./source/x/x11/slack-desc/twm
+-rw-r--r-- 1 root root 797 2007-02-13 23:03 ./source/x/x11/slack-desc/util-macros
+-rw-r--r-- 1 root root 783 2007-02-13 23:03 ./source/x/x11/slack-desc/videoproto
+-rw-r--r-- 1 root root 741 2007-02-13 23:03 ./source/x/x11/slack-desc/viewres
+-rw-r--r-- 1 root root 839 2007-02-13 23:03 ./source/x/x11/slack-desc/windowswmproto
+-rw-r--r-- 1 root root 677 2007-02-05 01:25 ./source/x/x11/slack-desc/x11-app
+-rw-r--r-- 1 root root 601 2007-02-05 04:36 ./source/x/x11/slack-desc/x11-data
+-rw-r--r-- 1 root root 587 2007-02-05 04:36 ./source/x/x11/slack-desc/x11-doc
+-rw-r--r-- 1 root root 637 2007-02-05 04:36 ./source/x/x11/slack-desc/x11-driver
+-rw-r--r-- 1 root root 605 2007-02-05 04:36 ./source/x/x11/slack-desc/x11-font
+-rw-r--r-- 1 root root 598 2007-02-05 04:36 ./source/x/x11/slack-desc/x11-lib
+-rw-r--r-- 1 root root 621 2007-02-05 04:36 ./source/x/x11/slack-desc/x11-proto
+-rw-r--r-- 1 root root 613 2007-02-05 01:31 ./source/x/x11/slack-desc/x11-util
+-rw-r--r-- 1 root root 741 2007-02-13 23:03 ./source/x/x11/slack-desc/x11perf
+-rw-r--r-- 1 root root 713 2007-02-13 23:03 ./source/x/x11/slack-desc/xauth
+-rw-r--r-- 1 root root 782 2007-09-16 00:02 ./source/x/x11/slack-desc/xbacklight
+-rw-r--r-- 1 root root 713 2007-02-13 23:03 ./source/x/x11/slack-desc/xbiff
+-rw-r--r-- 1 root root 755 2007-02-13 23:03 ./source/x/x11/slack-desc/xbitmaps
+-rw-r--r-- 1 root root 713 2007-02-13 23:03 ./source/x/x11/slack-desc/xcalc
+-rw-r--r-- 1 root root 769 2007-02-14 06:46 ./source/x/x11/slack-desc/xcb-proto
+-rw-r--r-- 1 root root 756 2009-05-30 01:47 ./source/x/x11/slack-desc/xcb-util
+-rw-r--r-- 1 root root 783 2007-02-13 23:03 ./source/x/x11/slack-desc/xclipboard
+-rw-r--r-- 1 root root 727 2007-02-13 23:03 ./source/x/x11/slack-desc/xclock
+-rw-r--r-- 1 root root 797 2007-02-13 23:03 ./source/x/x11/slack-desc/xcmiscproto
+-rw-r--r-- 1 root root 727 2007-02-13 23:03 ./source/x/x11/slack-desc/xcmsdb
+-rw-r--r-- 1 root root 755 2008-03-10 05:33 ./source/x/x11/slack-desc/xcompmgr
+-rw-r--r-- 1 root root 755 2007-02-13 23:03 ./source/x/x11/slack-desc/xconsole
+-rw-r--r-- 1 root root 839 2007-02-13 23:03 ./source/x/x11/slack-desc/xcursor-themes
+-rw-r--r-- 1 root root 783 2007-02-13 23:03 ./source/x/x11/slack-desc/xcursorgen
+-rw-r--r-- 1 root root 769 2007-02-13 23:03 ./source/x/x11/slack-desc/xdbedizzy
+-rw-r--r-- 1 root root 755 2007-02-13 23:03 ./source/x/x11/slack-desc/xditview
+-rw-r--r-- 1 root root 685 2007-02-13 23:03 ./source/x/x11/slack-desc/xdm
+-rw-r--r-- 1 root root 755 2007-02-13 23:03 ./source/x/x11/slack-desc/xdpyinfo
+-rw-r--r-- 1 root root 755 2007-02-13 23:03 ./source/x/x11/slack-desc/xdriinfo
+-rw-r--r-- 1 root root 713 2007-02-13 23:03 ./source/x/x11/slack-desc/xedit
+-rw-r--r-- 1 root root 685 2007-02-13 23:03 ./source/x/x11/slack-desc/xev
+-rw-r--r-- 1 root root 769 2007-02-13 23:03 ./source/x/x11/slack-desc/xextproto
+-rw-r--r-- 1 root root 713 2007-02-13 23:03 ./source/x/x11/slack-desc/xeyes
+-rw-r--r-- 1 root root 881 2007-02-13 23:03 ./source/x/x11/slack-desc/xf86-input-acecad
+-rw-r--r-- 1 root root 881 2007-02-13 23:03 ./source/x/x11/slack-desc/xf86-input-aiptek
+-rw-r--r-- 1 root root 895 2008-11-19 21:28 ./source/x/x11/slack-desc/xf86-input-calcomp
+-rw-r--r-- 1 root root 881 2007-02-13 23:03 ./source/x/x11/slack-desc/xf86-input-citron
+-rw-r--r-- 1 root root 951 2007-02-13 23:03 ./source/x/x11/slack-desc/xf86-input-digitaledge
+-rw-r--r-- 1 root root 839 2007-02-13 23:03 ./source/x/x11/slack-desc/xf86-input-dmc
+-rw-r--r-- 1 root root 895 2007-02-13 23:03 ./source/x/x11/slack-desc/xf86-input-dynapro
+-rw-r--r-- 1 root root 895 2007-02-13 23:03 ./source/x/x11/slack-desc/xf86-input-elo2300
+-rw-r--r-- 1 root root 951 2007-02-13 23:03 ./source/x/x11/slack-desc/xf86-input-elographics
+-rw-r--r-- 1 root root 867 2007-02-13 23:03 ./source/x/x11/slack-desc/xf86-input-evdev
+-rw-r--r-- 1 root root 853 2007-02-13 23:03 ./source/x/x11/slack-desc/xf86-input-fpit
+-rw-r--r-- 1 root root 909 2007-02-13 23:03 ./source/x/x11/slack-desc/xf86-input-hyperpen
+-rw-r--r-- 1 root root 923 2007-02-13 23:03 ./source/x/x11/slack-desc/xf86-input-jamstudio
+-rw-r--r-- 1 root root 909 2007-02-13 23:03 ./source/x/x11/slack-desc/xf86-input-joystick
+-rw-r--r-- 1 root root 909 2007-02-13 23:03 ./source/x/x11/slack-desc/xf86-input-keyboard
+-rw-r--r-- 1 root root 909 2007-02-13 23:03 ./source/x/x11/slack-desc/xf86-input-magellan
+-rw-r--r-- 1 root root 937 2007-02-13 23:03 ./source/x/x11/slack-desc/xf86-input-magictouch
+-rw-r--r-- 1 root root 937 2007-02-13 23:03 ./source/x/x11/slack-desc/xf86-input-microtouch
+-rw-r--r-- 1 root root 867 2007-02-13 23:03 ./source/x/x11/slack-desc/xf86-input-mouse
+-rw-r--r-- 1 root root 895 2007-02-13 23:03 ./source/x/x11/slack-desc/xf86-input-mutouch
+-rw-r--r-- 1 root root 881 2007-02-13 23:03 ./source/x/x11/slack-desc/xf86-input-palmax
+-rw-r--r-- 1 root root 909 2007-02-13 23:03 ./source/x/x11/slack-desc/xf86-input-penmount
+-rw-r--r-- 1 root root 909 2007-02-13 23:03 ./source/x/x11/slack-desc/xf86-input-spaceorb
+-rw-r--r-- 1 root root 867 2007-02-13 23:03 ./source/x/x11/slack-desc/xf86-input-summa
+-rw-r--r-- 1 root root 923 2008-11-18 18:09 ./source/x/x11/slack-desc/xf86-input-synaptics
+-rw-r--r-- 1 root root 895 2007-02-13 23:03 ./source/x/x11/slack-desc/xf86-input-tek4957
+-rw-r--r-- 1 root root 853 2007-02-13 23:03 ./source/x/x11/slack-desc/xf86-input-ur98
+-rw-r--r-- 1 root root 895 2007-02-13 23:03 ./source/x/x11/slack-desc/xf86-input-vmmouse
+-rw-r--r-- 1 root root 853 2007-02-13 23:03 ./source/x/x11/slack-desc/xf86-input-void
+-rw-r--r-- 1 root root 839 2007-02-13 23:03 ./source/x/x11/slack-desc/xf86-video-apm
+-rw-r--r-- 1 root root 839 2007-02-13 23:03 ./source/x/x11/slack-desc/xf86-video-ark
+-rw-r--r-- 1 root root 839 2007-02-13 23:03 ./source/x/x11/slack-desc/xf86-video-ast
+-rw-r--r-- 1 root root 839 2007-02-13 23:03 ./source/x/x11/slack-desc/xf86-video-ati
+-rw-r--r-- 1 root root 867 2007-02-13 23:03 ./source/x/x11/slack-desc/xf86-video-chips
+-rw-r--r-- 1 root root 881 2007-02-13 23:03 ./source/x/x11/slack-desc/xf86-video-cirrus
+-rw-r--r-- 1 root root 867 2007-02-13 23:03 ./source/x/x11/slack-desc/xf86-video-cyrix
+-rw-r--r-- 1 root root 867 2007-02-13 23:03 ./source/x/x11/slack-desc/xf86-video-dummy
+-rw-r--r-- 1 root root 867 2007-02-13 23:03 ./source/x/x11/slack-desc/xf86-video-fbdev
+-rw-r--r-- 1 root root 902 2008-04-03 02:30 ./source/x/x11/slack-desc/xf86-video-geode
+-rw-r--r-- 1 root root 867 2007-02-13 23:03 ./source/x/x11/slack-desc/xf86-video-glint
+-rw-r--r-- 1 root root 853 2007-02-13 23:03 ./source/x/x11/slack-desc/xf86-video-i128
+-rw-r--r-- 1 root root 853 2007-02-13 23:03 ./source/x/x11/slack-desc/xf86-video-i740
+-rw-r--r-- 1 root root 853 2007-02-13 23:03 ./source/x/x11/slack-desc/xf86-video-i810
+-rw-r--r-- 1 root root 881 2007-02-13 23:03 ./source/x/x11/slack-desc/xf86-video-impact
+-rw-r--r-- 1 root root 867 2007-02-13 23:03 ./source/x/x11/slack-desc/xf86-video-imstt
+-rw-r--r-- 1 root root 867 2007-03-07 21:18 ./source/x/x11/slack-desc/xf86-video-intel
+-rw-r--r-- 1 root root 881 2008-07-10 23:31 ./source/x/x11/slack-desc/xf86-video-mach64
+-rw-r--r-- 1 root root 839 2007-02-13 23:03 ./source/x/x11/slack-desc/xf86-video-mga
+-rw-r--r-- 1 root root 909 2007-02-13 23:03 ./source/x/x11/slack-desc/xf86-video-neomagic
+-rw-r--r-- 1 root root 895 2007-02-13 23:03 ./source/x/x11/slack-desc/xf86-video-newport
+-rw-r--r-- 1 root root 839 2007-02-13 23:03 ./source/x/x11/slack-desc/xf86-video-nsc
+-rw-r--r-- 1 root root 825 2007-02-13 23:03 ./source/x/x11/slack-desc/xf86-video-nv
+-rw-r--r-- 1 root root 937 2008-11-18 19:25 ./source/x/x11/slack-desc/xf86-video-openchrome
+-rw-r--r-- 1 root root 853 2008-07-10 23:31 ./source/x/x11/slack-desc/xf86-video-r128
+-rw-r--r-- 1 root root 955 2008-04-12 05:04 ./source/x/x11/slack-desc/xf86-video-radeonhd
+-rw-r--r-- 1 root root 923 2007-02-13 23:03 ./source/x/x11/slack-desc/xf86-video-rendition
+-rw-r--r-- 1 root root 825 2007-02-13 23:03 ./source/x/x11/slack-desc/xf86-video-s3
+-rw-r--r-- 1 root root 895 2007-02-13 23:03 ./source/x/x11/slack-desc/xf86-video-s3virge
+-rw-r--r-- 1 root root 881 2007-02-13 23:03 ./source/x/x11/slack-desc/xf86-video-savage
+-rw-r--r-- 1 root root 979 2007-02-13 23:03 ./source/x/x11/slack-desc/xf86-video-siliconmotion
+-rw-r--r-- 1 root root 839 2007-02-13 23:03 ./source/x/x11/slack-desc/xf86-video-sis
+-rw-r--r-- 1 root root 881 2007-02-13 23:03 ./source/x/x11/slack-desc/xf86-video-sisusb
+-rw-r--r-- 1 root root 881 2007-02-13 23:03 ./source/x/x11/slack-desc/xf86-video-sunbw2
+-rw-r--r-- 1 root root 895 2007-02-13 23:03 ./source/x/x11/slack-desc/xf86-video-suncg14
+-rw-r--r-- 1 root root 881 2007-02-13 23:03 ./source/x/x11/slack-desc/xf86-video-suncg3
+-rw-r--r-- 1 root root 881 2007-02-13 23:03 ./source/x/x11/slack-desc/xf86-video-suncg6
+-rw-r--r-- 1 root root 881 2007-02-13 23:03 ./source/x/x11/slack-desc/xf86-video-sunffb
+-rw-r--r-- 1 root root 881 2007-02-13 23:03 ./source/x/x11/slack-desc/xf86-video-sunleo
+-rw-r--r-- 1 root root 881 2007-02-13 23:03 ./source/x/x11/slack-desc/xf86-video-suntcx
+-rw-r--r-- 1 root root 853 2007-02-13 23:03 ./source/x/x11/slack-desc/xf86-video-tdfx
+-rw-r--r-- 1 root root 839 2007-02-13 23:03 ./source/x/x11/slack-desc/xf86-video-tga
+-rw-r--r-- 1 root root 895 2007-02-13 23:03 ./source/x/x11/slack-desc/xf86-video-trident
+-rw-r--r-- 1 root root 867 2007-02-13 23:03 ./source/x/x11/slack-desc/xf86-video-tseng
+-rw-r--r-- 1 root root 839 2007-02-13 23:03 ./source/x/x11/slack-desc/xf86-video-v4l
+-rw-r--r-- 1 root root 955 2007-04-06 22:22 ./source/x/x11/slack-desc/xf86-video-vermilion
+-rw-r--r-- 1 root root 853 2007-02-13 23:03 ./source/x/x11/slack-desc/xf86-video-vesa
+-rw-r--r-- 1 root root 839 2007-02-13 23:03 ./source/x/x11/slack-desc/xf86-video-vga
+-rw-r--r-- 1 root root 839 2007-02-13 23:03 ./source/x/x11/slack-desc/xf86-video-via
+-rw-r--r-- 1 root root 881 2007-02-13 23:03 ./source/x/x11/slack-desc/xf86-video-vmware
+-rw-r--r-- 1 root root 881 2007-02-13 23:03 ./source/x/x11/slack-desc/xf86-video-voodoo
+-rw-r--r-- 1 root root 853 2007-02-13 23:03 ./source/x/x11/slack-desc/xf86-video-wsfb
+-rw-r--r-- 1 root root 867 2007-02-13 23:03 ./source/x/x11/slack-desc/xf86bigfontproto
+-rw-r--r-- 1 root root 741 2007-02-13 23:03 ./source/x/x11/slack-desc/xf86dga
+-rw-r--r-- 1 root root 811 2007-02-13 23:03 ./source/x/x11/slack-desc/xf86dgaproto
+-rw-r--r-- 1 root root 811 2007-02-13 23:03 ./source/x/x11/slack-desc/xf86driproto
+-rw-r--r-- 1 root root 825 2007-02-13 23:03 ./source/x/x11/slack-desc/xf86miscproto
+-rw-r--r-- 1 root root 825 2007-02-13 23:03 ./source/x/x11/slack-desc/xf86rushproto
+-rw-r--r-- 1 root root 867 2007-02-13 23:03 ./source/x/x11/slack-desc/xf86vidmodeproto
+-rw-r--r-- 1 root root 685 2007-02-13 23:03 ./source/x/x11/slack-desc/xfd
+-rw-r--r-- 1 root root 783 2007-02-13 23:03 ./source/x/x11/slack-desc/xfindproxy
+-rw-r--r-- 1 root root 755 2007-02-13 23:03 ./source/x/x11/slack-desc/xfontsel
+-rw-r--r-- 1 root root 685 2007-02-13 23:03 ./source/x/x11/slack-desc/xfs
+-rw-r--r-- 1 root root 741 2007-02-13 23:03 ./source/x/x11/slack-desc/xfsinfo
+-rw-r--r-- 1 root root 699 2007-02-13 23:03 ./source/x/x11/slack-desc/xfwp
+-rw-r--r-- 1 root root 727 2007-02-13 23:03 ./source/x/x11/slack-desc/xgamma
+-rw-r--r-- 1 root root 685 2007-02-13 23:03 ./source/x/x11/slack-desc/xgc
+-rw-r--r-- 1 root root 713 2007-02-13 23:03 ./source/x/x11/slack-desc/xhost
+-rw-r--r-- 1 root root 825 2007-02-13 23:03 ./source/x/x11/slack-desc/xineramaproto
+-rw-r--r-- 1 root root 713 2007-02-13 23:03 ./source/x/x11/slack-desc/xinit
+-rw-r--r-- 1 root root 923 2008-01-31 06:21 ./source/x/x11/slack-desc/xinput
+-rw-r--r-- 1 root root 741 2007-02-13 23:03 ./source/x/x11/slack-desc/xkbcomp
+-rw-r--r-- 1 root root 741 2007-02-13 23:03 ./source/x/x11/slack-desc/xkbdata
+-rw-r--r-- 1 root root 727 2007-02-13 23:03 ./source/x/x11/slack-desc/xkbevd
+-rw-r--r-- 1 root root 755 2007-02-13 23:03 ./source/x/x11/slack-desc/xkbprint
+-rw-r--r-- 1 root root 755 2007-02-13 23:03 ./source/x/x11/slack-desc/xkbutils
+-rw-r--r-- 1 root root 867 2007-02-13 23:03 ./source/x/x11/slack-desc/xkeyboard-config
+-rw-r--r-- 1 root root 713 2007-02-13 23:03 ./source/x/x11/slack-desc/xkill
+-rw-r--r-- 1 root root 713 2007-02-13 23:03 ./source/x/x11/slack-desc/xload
+-rw-r--r-- 1 root root 713 2007-02-13 23:03 ./source/x/x11/slack-desc/xlogo
+-rw-r--r-- 1 root root 755 2007-02-13 23:03 ./source/x/x11/slack-desc/xlsatoms
+-rw-r--r-- 1 root root 783 2007-02-13 23:03 ./source/x/x11/slack-desc/xlsclients
+-rw-r--r-- 1 root root 755 2007-02-13 23:03 ./source/x/x11/slack-desc/xlsfonts
+-rw-r--r-- 1 root root 699 2007-02-13 23:03 ./source/x/x11/slack-desc/xmag
+-rw-r--r-- 1 root root 699 2007-02-13 23:03 ./source/x/x11/slack-desc/xman
+-rw-r--r-- 1 root root 755 2007-02-13 23:03 ./source/x/x11/slack-desc/xmessage
+-rw-r--r-- 1 root root 685 2007-02-13 23:03 ./source/x/x11/slack-desc/xmh
+-rw-r--r-- 1 root root 741 2007-02-13 23:03 ./source/x/x11/slack-desc/xmodmap
+-rw-r--r-- 1 root root 713 2007-02-13 23:03 ./source/x/x11/slack-desc/xmore
+-rw-r--r-- 1 root root 825 2007-02-13 23:03 ./source/x/x11/slack-desc/xorg-cf-files
+-rw-r--r-- 1 root root 769 2007-02-13 23:03 ./source/x/x11/slack-desc/xorg-docs
+-rw-r--r-- 1 root root 1160 2007-02-13 18:20 ./source/x/x11/slack-desc/xorg-server
+-rw-r--r-- 1 root root 901 2007-02-14 10:05 ./source/x/x11/slack-desc/xorg-server-xdmx
+-rw-r--r-- 1 root root 839 2009-05-30 01:47 ./source/x/x11/slack-desc/xorg-server-xephyr
+-rw-r--r-- 1 root root 1063 2007-02-13 18:18 ./source/x/x11/slack-desc/xorg-server-xnest
+-rw-r--r-- 1 root root 1160 2007-02-13 18:20 ./source/x/x11/slack-desc/xorg-server-xvfb
+-rw-r--r-- 1 root root 895 2007-02-13 23:03 ./source/x/x11/slack-desc/xorg-sgml-doctools
+-rw-r--r-- 1 root root 811 2007-02-13 23:03 ./source/x/x11/slack-desc/xphelloworld
+-rw-r--r-- 1 root root 811 2007-02-13 23:03 ./source/x/x11/slack-desc/xplsprinters
+-rw-r--r-- 1 root root 685 2007-02-13 23:03 ./source/x/x11/slack-desc/xpr
+-rw-r--r-- 1 root root 909 2007-02-13 23:03 ./source/x/x11/slack-desc/xprehashprinterlist
+-rw-r--r-- 1 root root 713 2007-02-13 23:03 ./source/x/x11/slack-desc/xprop
+-rw-r--r-- 1 root root 727 2007-02-13 23:03 ./source/x/x11/slack-desc/xproto
+-rw-r--r-- 1 root root 979 2007-02-13 23:03 ./source/x/x11/slack-desc/xproxymanagementprotocol
+-rw-r--r-- 1 root root 700 2009-05-30 01:47 ./source/x/x11/slack-desc/xpyb
+-rw-r--r-- 1 root root 727 2007-02-13 23:03 ./source/x/x11/slack-desc/xrandr
+-rw-r--r-- 1 root root 699 2007-02-13 23:03 ./source/x/x11/slack-desc/xrdb
+-rw-r--r-- 1 root root 755 2007-02-13 23:03 ./source/x/x11/slack-desc/xrefresh
+-rw-r--r-- 1 root root 685 2007-02-13 23:03 ./source/x/x11/slack-desc/xrx
+-rw-r--r-- 1 root root 727 2009-05-30 01:47 ./source/x/x11/slack-desc/xscope
+-rw-r--r-- 1 root root 699 2007-02-13 23:03 ./source/x/x11/slack-desc/xset
+-rw-r--r-- 1 root root 755 2007-02-13 23:03 ./source/x/x11/slack-desc/xsetmode
+-rw-r--r-- 1 root root 797 2007-02-13 23:03 ./source/x/x11/slack-desc/xsetpointer
+-rw-r--r-- 1 root root 755 2007-02-13 23:03 ./source/x/x11/slack-desc/xsetroot
+-rw-r--r-- 1 root root 685 2007-02-13 23:03 ./source/x/x11/slack-desc/xsm
+-rw-r--r-- 1 root root 755 2007-02-13 23:03 ./source/x/x11/slack-desc/xstdcmap
+-rw-r--r-- 1 root root 727 2007-02-13 23:03 ./source/x/x11/slack-desc/xtrans
+-rw-r--r-- 1 root root 713 2007-02-13 23:03 ./source/x/x11/slack-desc/xtrap
+-rw-r--r-- 1 root root 755 2007-02-13 23:03 ./source/x/x11/slack-desc/xvidtune
+-rw-r--r-- 1 root root 727 2007-02-13 23:03 ./source/x/x11/slack-desc/xvinfo
+-rw-r--r-- 1 root root 685 2007-02-13 23:03 ./source/x/x11/slack-desc/xwd
+-rw-r--r-- 1 root root 755 2007-02-13 23:03 ./source/x/x11/slack-desc/xwininfo
+-rw-r--r-- 1 root root 699 2007-02-13 23:03 ./source/x/x11/slack-desc/xwud
+drwxr-xr-x 12 root root 4096 2009-08-01 02:35 ./source/x/x11/src
+drwxr-xr-x 2 root root 4096 2009-08-03 22:31 ./source/x/x11/src/app
+-rw-r--r-- 1 root root 78644 2007-01-23 02:18 ./source/x/x11/src/app/appres-1.0.1.tar.xz
+-rw-r--r-- 1 root root 78868 2007-04-26 00:19 ./source/x/x11/src/app/bdftopcf-1.0.1.tar.xz
+-rw-r--r-- 1 root root 79116 2007-09-08 20:25 ./source/x/x11/src/app/beforelight-1.0.3.tar.xz
+-rw-r--r-- 1 root root 117944 2007-01-23 21:54 ./source/x/x11/src/app/bitmap-1.0.3.tar.xz
+-rw-r--r-- 1 root root 845256 2008-09-17 12:13 ./source/x/x11/src/app/compiz-0.7.8.tar.xz
+-rw-r--r-- 1 root root 81568 2007-08-28 23:08 ./source/x/x11/src/app/constype-1.0.1.tar.xz
+-rw-r--r-- 1 root root 118876 2007-01-24 01:10 ./source/x/x11/src/app/editres-1.0.3.tar.xz
+-rw-r--r-- 1 root root 98084 2008-05-10 22:53 ./source/x/x11/src/app/fonttosfnt-1.0.4.tar.xz
+-rw-r--r-- 1 root root 81636 2008-05-23 23:33 ./source/x/x11/src/app/fslsfonts-1.0.2.tar.xz
+-rw-r--r-- 1 root root 83136 2008-05-23 23:55 ./source/x/x11/src/app/fstobdf-1.0.3.tar.xz
+-rw-r--r-- 1 root root 89364 2007-07-24 01:28 ./source/x/x11/src/app/iceauth-1.0.2.tar.xz
+-rw-r--r-- 1 root root 89560 2007-07-21 00:22 ./source/x/x11/src/app/ico-1.0.2.tar.xz
+-rw-r--r-- 1 root root 233128 2009-05-19 23:51 ./source/x/x11/src/app/intel-gpu-tools-1.0.1.tar.xz
+-rw-r--r-- 1 root root 169456 2006-01-18 23:51 ./source/x/x11/src/app/lbxproxy-1.0.1.tar.xz
+-rw-r--r-- 1 root root 70920 2006-01-18 23:51 ./source/x/x11/src/app/listres-1.0.1.tar.xz
+-rw-r--r-- 1 root root 95920 2008-01-31 23:37 ./source/x/x11/src/app/luit-1.0.3.tar.xz
+-rw-r--r-- 1 root root 70424 2006-01-18 23:51 ./source/x/x11/src/app/mkcfm-1.0.1.tar.xz
+-rw-r--r-- 1 root root 60884 2007-01-29 11:59 ./source/x/x11/src/app/mkcomposecache-1.2.tar.xz
+-rw-r--r-- 1 root root 65480 2008-03-06 21:48 ./source/x/x11/src/app/mkfontdir-1.0.4.tar.xz
+-rw-r--r-- 1 root root 96952 2008-12-19 01:09 ./source/x/x11/src/app/mkfontscale-1.0.6.tar.xz
+-rw-r--r-- 1 root root 76552 2006-01-18 23:51 ./source/x/x11/src/app/oclock-1.0.1.tar.xz
+-rw-r--r-- 1 root root 84328 2006-01-18 23:51 ./source/x/x11/src/app/proxymngr-1.0.1.tar.xz
+-rw-r--r-- 1 root root 81948 2008-03-07 21:48 ./source/x/x11/src/app/rendercheck-1.3.tar.xz
+-rw-r--r-- 1 root root 93640 2008-06-06 03:18 ./source/x/x11/src/app/rgb-1.0.3.tar.xz
+-rw-r--r-- 1 root root 96964 2009-08-02 13:41 ./source/x/x11/src/app/rstart-1.0.3.tar.xz
+-rw-r--r-- 1 root root 67148 2006-01-18 23:51 ./source/x/x11/src/app/scripts-1.0.1.tar.xz
+-rw-r--r-- 1 root root 88680 2008-06-11 22:50 ./source/x/x11/src/app/sessreg-1.0.4.tar.xz
+-rw-r--r-- 1 root root 91836 2009-07-08 23:20 ./source/x/x11/src/app/setxkbmap-1.1.0.tar.xz
+-rw-r--r-- 1 root root 83512 2008-05-24 00:14 ./source/x/x11/src/app/showfont-1.0.2.tar.xz
+-rw-r--r-- 1 root root 80860 2006-04-02 00:41 ./source/x/x11/src/app/smproxy-1.0.2.tar.xz
+-rw-r--r-- 1 root root 220032 2008-03-06 21:53 ./source/x/x11/src/app/twm-1.0.4.tar.xz
+-rw-r--r-- 1 root root 78176 2006-01-18 23:51 ./source/x/x11/src/app/viewres-1.0.1.tar.xz
+-rw-r--r-- 1 root root 132064 2008-03-07 21:55 ./source/x/x11/src/app/x11perf-1.5.tar.xz
+-rw-r--r-- 1 root root 104196 2008-03-06 21:57 ./source/x/x11/src/app/xauth-1.0.3.tar.xz
+-rw-r--r-- 1 root root 74184 2007-06-21 13:55 ./source/x/x11/src/app/xbacklight-1.1.tar.xz
+-rw-r--r-- 1 root root 77224 2006-01-18 23:51 ./source/x/x11/src/app/xbiff-1.0.1.tar.xz
+-rw-r--r-- 1 root root 96788 2007-08-21 18:28 ./source/x/x11/src/app/xcalc-1.0.2.tar.xz
+-rw-r--r-- 1 root root 76940 2006-01-18 23:51 ./source/x/x11/src/app/xclipboard-1.0.1.tar.xz
+-rw-r--r-- 1 root root 102988 2007-08-06 22:48 ./source/x/x11/src/app/xclock-1.0.3.tar.xz
+-rw-r--r-- 1 root root 85988 2006-01-18 23:51 ./source/x/x11/src/app/xcmsdb-1.0.1.tar.xz
+-rw-r--r-- 1 root root 73296 2008-03-06 22:02 ./source/x/x11/src/app/xcompmgr-1.1.4.tar.xz
+-rw-r--r-- 1 root root 91192 2007-08-21 02:04 ./source/x/x11/src/app/xconsole-1.0.3.tar.xz
+-rw-r--r-- 1 root root 83576 2007-08-21 01:32 ./source/x/x11/src/app/xcursorgen-1.0.2.tar.xz
+-rw-r--r-- 1 root root 81204 2006-10-13 21:48 ./source/x/x11/src/app/xdbedizzy-1.0.2.tar.xz
+-rw-r--r-- 1 root root 94716 2006-01-18 23:51 ./source/x/x11/src/app/xditview-1.0.1.tar.xz
+-rw-r--r-- 1 root root 323404 2008-05-21 18:28 ./source/x/x11/src/app/xdm-1.1.8.tar.xz
+-rw-r--r-- 1 root root 95224 2008-05-21 18:23 ./source/x/x11/src/app/xdpyinfo-1.0.3.tar.xz
+-rw-r--r-- 1 root root 82072 2007-08-17 23:28 ./source/x/x11/src/app/xdriinfo-1.0.2.tar.xz
+-rw-r--r-- 1 root root 452488 2008-11-07 19:14 ./source/x/x11/src/app/xedit-1.1.2.tar.xz
+-rw-r--r-- 1 root root 85228 2008-03-07 22:15 ./source/x/x11/src/app/xev-1.0.3.tar.xz
+-rw-r--r-- 1 root root 74588 2006-01-18 23:51 ./source/x/x11/src/app/xeyes-1.0.1.tar.xz
+-rw-r--r-- 1 root root 74620 2006-10-13 21:50 ./source/x/x11/src/app/xf86dga-1.0.2.tar.xz
+-rw-r--r-- 1 root root 81676 2006-01-18 23:51 ./source/x/x11/src/app/xfd-1.0.1.tar.xz
+-rw-r--r-- 1 root root 71840 2006-01-18 23:51 ./source/x/x11/src/app/xfindproxy-1.0.1.tar.xz
+-rw-r--r-- 1 root root 97148 2007-02-01 21:06 ./source/x/x11/src/app/xfontsel-1.0.2.tar.xz
+-rw-r--r-- 1 root root 174808 2009-08-01 03:13 ./source/x/x11/src/app/xfs-1.1.0.tar.xz
+-rw-r--r-- 1 root root 81172 2008-05-23 23:17 ./source/x/x11/src/app/xfsinfo-1.0.2.tar.xz
+-rw-r--r-- 1 root root 98048 2006-01-18 23:51 ./source/x/x11/src/app/xfwp-1.0.1.tar.xz
+-rw-r--r-- 1 root root 79880 2007-08-07 01:57 ./source/x/x11/src/app/xgamma-1.0.2.tar.xz
+-rw-r--r-- 1 root root 119636 2006-01-18 23:51 ./source/x/x11/src/app/xgc-1.0.1.tar.xz
+-rw-r--r-- 1 root root 90752 2007-07-16 23:04 ./source/x/x11/src/app/xhost-1.0.2.tar.xz
+-rw-r--r-- 1 root root 117264 2008-12-17 23:43 ./source/x/x11/src/app/xinit-1.1.1.tar.xz
+-rw-r--r-- 1 root root 99044 2009-05-07 05:25 ./source/x/x11/src/app/xinput-1.4.2.tar.xz
+-rw-r--r-- 1 root root 197672 2009-07-08 22:58 ./source/x/x11/src/app/xkbcomp-1.1.0.tar.xz
+-rw-r--r-- 1 root root 99508 2006-04-02 01:09 ./source/x/x11/src/app/xkbevd-1.0.2.tar.xz
+-rw-r--r-- 1 root root 105928 2006-01-18 23:51 ./source/x/x11/src/app/xkbprint-1.0.1.tar.xz
+-rw-r--r-- 1 root root 59792 2006-01-18 23:51 ./source/x/x11/src/app/xkbutils-1.0.1.tar.xz
+-rw-r--r-- 1 root root 71472 2006-01-18 23:51 ./source/x/x11/src/app/xkill-1.0.1.tar.xz
+-rw-r--r-- 1 root root 85624 2007-03-22 05:35 ./source/x/x11/src/app/xload-1.0.2.tar.xz
+-rw-r--r-- 1 root root 80120 2006-01-18 23:51 ./source/x/x11/src/app/xlogo-1.0.1.tar.xz
+-rw-r--r-- 1 root root 69384 2006-01-18 23:51 ./source/x/x11/src/app/xlsatoms-1.0.1.tar.xz
+-rw-r--r-- 1 root root 69924 2006-01-18 23:51 ./source/x/x11/src/app/xlsclients-1.0.1.tar.xz
+-rw-r--r-- 1 root root 91080 2007-02-01 22:15 ./source/x/x11/src/app/xlsfonts-1.0.2.tar.xz
+-rw-r--r-- 1 root root 97920 2007-08-16 01:05 ./source/x/x11/src/app/xmag-1.0.2.tar.xz
+-rw-r--r-- 1 root root 133816 2007-08-10 14:22 ./source/x/x11/src/app/xman-1.0.3.tar.xz
+-rw-r--r-- 1 root root 87812 2007-08-10 09:25 ./source/x/x11/src/app/xmessage-1.0.2.tar.xz
+-rw-r--r-- 1 root root 147888 2006-01-18 23:51 ./source/x/x11/src/app/xmh-1.0.1.tar.xz
+-rw-r--r-- 1 root root 95024 2007-08-06 23:03 ./source/x/x11/src/app/xmodmap-1.0.3.tar.xz
+-rw-r--r-- 1 root root 85148 2006-01-18 23:51 ./source/x/x11/src/app/xmore-1.0.1.tar.xz
+-rw-r--r-- 1 root root 64084 2006-01-18 23:51 ./source/x/x11/src/app/xphelloworld-1.0.1.tar.xz
+-rw-r--r-- 1 root root 71268 2006-01-18 23:51 ./source/x/x11/src/app/xplsprinters-1.0.1.tar.xz
+-rw-r--r-- 1 root root 107484 2007-01-28 09:32 ./source/x/x11/src/app/xpr-1.0.2.tar.xz
+-rw-r--r-- 1 root root 70076 2006-01-18 23:51 ./source/x/x11/src/app/xprehashprinterlist-1.0.1.tar.xz
+-rw-r--r-- 1 root root 100896 2008-03-07 22:24 ./source/x/x11/src/app/xprop-1.0.4.tar.xz
+-rw-r--r-- 1 root root 118860 2009-04-01 15:04 ./source/x/x11/src/app/xrandr-1.3.0.tar.xz
+-rw-r--r-- 1 root root 94188 2008-03-06 22:16 ./source/x/x11/src/app/xrdb-1.0.5.tar.xz
+-rw-r--r-- 1 root root 74764 2006-04-02 01:16 ./source/x/x11/src/app/xrefresh-1.0.2.tar.xz
+-rw-r--r-- 1 root root 122604 2008-09-23 02:21 ./source/x/x11/src/app/xscope-1.1.tar.xz
+-rw-r--r-- 1 root root 95868 2008-03-06 22:29 ./source/x/x11/src/app/xset-1.0.4.tar.xz
+-rw-r--r-- 1 root root 68360 2006-01-18 23:51 ./source/x/x11/src/app/xsetmode-1.0.0.tar.xz
+-rw-r--r-- 1 root root 76884 2006-11-02 01:38 ./source/x/x11/src/app/xsetpointer-1.0.1.tar.xz
+-rw-r--r-- 1 root root 81732 2007-08-10 08:59 ./source/x/x11/src/app/xsetroot-1.0.2.tar.xz
+-rw-r--r-- 1 root root 110080 2006-01-18 23:51 ./source/x/x11/src/app/xsm-1.0.1.tar.xz
+-rw-r--r-- 1 root root 70724 2006-01-18 23:51 ./source/x/x11/src/app/xstdcmap-1.0.1.tar.xz
+-rw-r--r-- 1 root root 88004 2006-05-12 16:23 ./source/x/x11/src/app/xtrap-1.0.2.tar.xz
+-rw-r--r-- 1 root root 80872 2006-01-18 23:51 ./source/x/x11/src/app/xvidtune-1.0.1.tar.xz
+-rw-r--r-- 1 root root 80204 2007-08-16 23:27 ./source/x/x11/src/app/xvinfo-1.0.2.tar.xz
+-rw-r--r-- 1 root root 102728 2008-06-29 15:31 ./source/x/x11/src/app/xwd-1.0.2.tar.xz
+-rw-r--r-- 1 root root 93464 2008-06-29 15:50 ./source/x/x11/src/app/xwininfo-1.0.4.tar.xz
+-rw-r--r-- 1 root root 76664 2006-01-18 23:51 ./source/x/x11/src/app/xwud-1.0.1.tar.xz
+drwxr-xr-x 2 root root 4096 2009-05-27 00:05 ./source/x/x11/src/data
+-rw-r--r-- 1 root root 54248 2006-01-18 23:51 ./source/x/x11/src/data/xbitmaps-1.0.1.tar.xz
+-rw-r--r-- 1 root root 1439460 2006-01-18 23:51 ./source/x/x11/src/data/xcursor-themes-1.0.1.tar.xz
+-rw-r--r-- 1 root root 514092 2009-05-27 00:05 ./source/x/x11/src/data/xkeyboard-config-1.6.tar.xz
+drwxr-xr-x 2 root root 4096 2007-03-03 20:32 ./source/x/x11/src/doc
+-rw-r--r-- 1 root root 7580256 2007-03-03 20:10 ./source/x/x11/src/doc/xorg-docs-1.4.tar.xz
+-rw-r--r-- 1 root root 36620 2007-03-03 20:32 ./source/x/x11/src/doc/xorg-sgml-doctools-1.2.tar.xz
+drwxr-xr-x 2 root root 4096 2009-08-26 03:48 ./source/x/x11/src/driver
+-rw-r--r-- 1 root root 191536 2009-02-24 03:28 ./source/x/x11/src/driver/xf86-input-acecad-1.3.0.tar.xz
+-rw-r--r-- 1 root root 200028 2009-02-24 03:49 ./source/x/x11/src/driver/xf86-input-aiptek-1.2.0.tar.xz
+-rw-r--r-- 1 root root 183984 2008-03-20 19:04 ./source/x/x11/src/driver/xf86-input-calcomp-1.1.2.tar.xz
+-rw-r--r-- 1 root root 207380 2009-04-29 00:56 ./source/x/x11/src/driver/xf86-input-citron-2.2.2.tar.xz
+-rw-r--r-- 1 root root 182548 2008-03-20 19:15 ./source/x/x11/src/driver/xf86-input-digitaledge-1.1.1.tar.xz
+-rw-r--r-- 1 root root 181760 2008-03-20 19:18 ./source/x/x11/src/driver/xf86-input-dmc-1.1.2.tar.xz
+-rw-r--r-- 1 root root 181148 2008-03-20 19:23 ./source/x/x11/src/driver/xf86-input-dynapro-1.1.2.tar.xz
+-rw-r--r-- 1 root root 183804 2008-05-21 18:58 ./source/x/x11/src/driver/xf86-input-elo2300-1.1.2.tar.xz
+-rw-r--r-- 1 root root 189608 2008-10-21 05:10 ./source/x/x11/src/driver/xf86-input-elographics-1.2.3.tar.xz
+-rw-r--r-- 1 root root 250780 2009-08-20 23:31 ./source/x/x11/src/driver/xf86-input-evdev-2.2.5.tar.xz
+-rw-r--r-- 1 root root 189848 2009-02-18 01:42 ./source/x/x11/src/driver/xf86-input-fpit-1.3.0.tar.xz
+-rw-r--r-- 1 root root 183932 2009-02-27 00:32 ./source/x/x11/src/driver/xf86-input-hyperpen-1.3.0.tar.xz
+-rw-r--r-- 1 root root 177228 2008-03-20 19:59 ./source/x/x11/src/driver/xf86-input-jamstudio-1.2.0.tar.xz
+-rw-r--r-- 1 root root 251880 2008-12-28 19:58 ./source/x/x11/src/driver/xf86-input-joystick-1.4.0.tar.xz
+-rw-r--r-- 1 root root 216708 2009-01-07 17:43 ./source/x/x11/src/driver/xf86-input-keyboard-1.3.2.tar.xz
+-rw-r--r-- 1 root root 181608 2008-03-20 20:12 ./source/x/x11/src/driver/xf86-input-magellan-1.2.0.tar.xz
+-rw-r--r-- 1 root root 161972 2006-01-18 23:51 ./source/x/x11/src/driver/xf86-input-magictouch-1.0.0.5.tar.xz
+-rw-r--r-- 1 root root 184172 2008-03-20 20:22 ./source/x/x11/src/driver/xf86-input-microtouch-1.2.0.tar.xz
+-rw-r--r-- 1 root root 235672 2009-01-10 02:45 ./source/x/x11/src/driver/xf86-input-mouse-1.4.0.tar.xz
+-rw-r--r-- 1 root root 185284 2008-10-01 23:51 ./source/x/x11/src/driver/xf86-input-mutouch-1.2.1.tar.xz
+-rw-r--r-- 1 root root 180076 2008-03-20 20:35 ./source/x/x11/src/driver/xf86-input-palmax-1.2.0.tar.xz
+-rw-r--r-- 1 root root 185904 2009-02-19 06:36 ./source/x/x11/src/driver/xf86-input-penmount-1.4.0.tar.xz
+-rw-r--r-- 1 root root 180460 2007-09-10 17:16 ./source/x/x11/src/driver/xf86-input-spaceorb-1.1.1.tar.xz
+-rw-r--r-- 1 root root 184212 2008-03-20 20:45 ./source/x/x11/src/driver/xf86-input-summa-1.2.0.tar.xz
+-rw-r--r-- 1 root root 247252 2009-08-03 01:41 ./source/x/x11/src/driver/xf86-input-synaptics-1.1.3.tar.xz
+-rw-r--r-- 1 root root 179536 2008-03-20 20:49 ./source/x/x11/src/driver/xf86-input-tek4957-1.2.0.tar.xz
+-rw-r--r-- 1 root root 171836 2006-04-07 22:09 ./source/x/x11/src/driver/xf86-input-ur98-1.1.0.tar.xz
+-rw-r--r-- 1 root root 194012 2009-05-11 17:37 ./source/x/x11/src/driver/xf86-input-vmmouse-12.6.4.tar.xz
+-rw-r--r-- 1 root root 182900 2009-02-24 22:56 ./source/x/x11/src/driver/xf86-input-void-1.2.0.tar.xz
+-rw-r--r-- 1 root root 223284 2009-07-30 01:25 ./source/x/x11/src/driver/xf86-video-apm-1.2.2.tar.xz
+-rw-r--r-- 1 root root 183220 2008-12-22 05:26 ./source/x/x11/src/driver/xf86-video-ark-0.7.1.tar.xz
+-rw-r--r-- 1 root root 208756 2009-07-30 02:29 ./source/x/x11/src/driver/xf86-video-ast-0.89.9.tar.xz
+-rw-r--r-- 1 root root 748288 2009-04-08 14:37 ./source/x/x11/src/driver/xf86-video-ati-6.12.2.tar.xz
+-rw-r--r-- 1 root root 273428 2008-12-22 04:27 ./source/x/x11/src/driver/xf86-video-chips-1.2.1.tar.xz
+-rw-r--r-- 1 root root 223812 2009-07-30 02:12 ./source/x/x11/src/driver/xf86-video-cirrus-1.3.2.tar.xz
+-rw-r--r-- 1 root root 189032 2006-04-07 22:43 ./source/x/x11/src/driver/xf86-video-cyrix-1.1.0.tar.xz
+-rw-r--r-- 1 root root 196748 2009-07-02 15:09 ./source/x/x11/src/driver/xf86-video-dummy-0.3.2.tar.xz
+-rw-r--r-- 1 root root 499472 2009-06-19 13:58 ./source/x/x11/src/driver/xf86-video-geode-2.11.3.tar.xz
+-rw-r--r-- 1 root root 190248 2009-02-25 00:23 ./source/x/x11/src/driver/xf86-video-glide-1.0.2.tar.xz
+-rw-r--r-- 1 root root 281928 2009-07-30 02:13 ./source/x/x11/src/driver/xf86-video-glint-1.2.4.tar.xz
+-rw-r--r-- 1 root root 216052 2009-07-30 02:14 ./source/x/x11/src/driver/xf86-video-i128-1.3.3.tar.xz
+-rw-r--r-- 1 root root 209584 2009-07-30 02:14 ./source/x/x11/src/driver/xf86-video-i740-1.3.2.tar.xz
+-rw-r--r-- 1 root root 178892 2006-06-28 01:36 ./source/x/x11/src/driver/xf86-video-impact-0.2.0.tar.xz
+-rw-r--r-- 1 root root 175160 2006-04-07 22:43 ./source/x/x11/src/driver/xf86-video-imstt-1.1.0.tar.xz
+-rw-r--r-- 1 root root 566640 2008-11-13 20:38 ./source/x/x11/src/driver/xf86-video-intel-2.5.1.tar.xz
+-rw-r--r-- 1 root root 602624 2009-03-02 20:17 ./source/x/x11/src/driver/xf86-video-intel-2.6.3.tar.xz
+-rw-r--r-- 1 root root 625972 2009-05-13 00:16 ./source/x/x11/src/driver/xf86-video-intel-2.7.1.tar.xz
+-rw-r--r-- 1 root root 585420 2009-07-21 06:16 ./source/x/x11/src/driver/xf86-video-intel-2.8.0.tar.xz
+-rw-r--r-- 1 root root 587556 2009-08-25 23:59 ./source/x/x11/src/driver/xf86-video-intel-2.8.1.tar.xz
+-rw-r--r-- 1 root root 416140 2009-07-30 02:14 ./source/x/x11/src/driver/xf86-video-mach64-6.8.2.tar.xz
+-rw-r--r-- 1 root root 331660 2009-07-30 02:15 ./source/x/x11/src/driver/xf86-video-mga-1.4.11.tar.xz
+-rw-r--r-- 1 root root 218964 2009-07-30 02:18 ./source/x/x11/src/driver/xf86-video-neomagic-1.2.4.tar.xz
+-rw-r--r-- 1 root root 216404 2009-05-15 01:12 ./source/x/x11/src/driver/xf86-video-newport-0.2.2.tar.xz
+-rw-r--r-- 1 root root 378740 2007-09-05 01:11 ./source/x/x11/src/driver/xf86-video-nsc-2.8.3.tar.xz
+-rw-r--r-- 1 root root 342232 2009-07-02 19:15 ./source/x/x11/src/driver/xf86-video-nv-2.1.14.tar.xz
+-rw-r--r-- 1 root root 349420 2008-08-18 23:15 ./source/x/x11/src/driver/xf86-video-openchrome-0.2.903.tar.xz
+-rw-r--r-- 1 root root 351232 2009-07-30 02:15 ./source/x/x11/src/driver/xf86-video-r128-6.8.1.tar.xz
+-rw-r--r-- 1 root root 631392 2009-04-09 13:18 ./source/x/x11/src/driver/xf86-video-radeonhd-1.2.5.tar.xz
+-rw-r--r-- 1 root root 256504 2009-07-02 15:31 ./source/x/x11/src/driver/xf86-video-rendition-4.2.2.tar.xz
+-rw-r--r-- 1 root root 214920 2009-07-30 02:16 ./source/x/x11/src/driver/xf86-video-s3-0.6.3.tar.xz
+-rw-r--r-- 1 root root 236912 2009-07-30 02:16 ./source/x/x11/src/driver/xf86-video-s3virge-1.10.4.tar.xz
+-rw-r--r-- 1 root root 269908 2009-07-30 02:24 ./source/x/x11/src/driver/xf86-video-savage-2.3.1.tar.xz
+-rw-r--r-- 1 root root 281968 2009-07-02 15:44 ./source/x/x11/src/driver/xf86-video-siliconmotion-1.7.2.tar.xz
+-rw-r--r-- 1 root root 524420 2009-07-30 02:16 ./source/x/x11/src/driver/xf86-video-sis-0.10.2.tar.xz
+-rw-r--r-- 1 root root 261784 2009-07-30 02:28 ./source/x/x11/src/driver/xf86-video-sisusb-0.9.3.tar.xz
+-rw-r--r-- 1 root root 227984 2009-07-30 02:17 ./source/x/x11/src/driver/xf86-video-tdfx-1.4.3.tar.xz
+-rw-r--r-- 1 root root 211820 2008-09-03 22:16 ./source/x/x11/src/driver/xf86-video-tga-1.2.0.tar.xz
+-rw-r--r-- 1 root root 248272 2009-07-02 15:51 ./source/x/x11/src/driver/xf86-video-trident-1.3.2.tar.xz
+-rw-r--r-- 1 root root 236344 2009-07-02 15:53 ./source/x/x11/src/driver/xf86-video-tseng-1.2.2.tar.xz
+-rw-r--r-- 1 root root 183872 2008-03-19 20:58 ./source/x/x11/src/driver/xf86-video-v4l-0.2.0.tar.xz
+-rw-r--r-- 1 root root 191028 2007-04-05 14:50 ./source/x/x11/src/driver/xf86-video-vermilion-1.0.1.tar.xz
+-rw-r--r-- 1 root root 191708 2009-07-30 02:17 ./source/x/x11/src/driver/xf86-video-vesa-2.2.1.tar.xz
+-rw-r--r-- 1 root root 174860 2006-04-07 22:44 ./source/x/x11/src/driver/xf86-video-vga-4.1.0.tar.xz
+-rw-r--r-- 1 root root 217192 2009-07-21 18:11 ./source/x/x11/src/driver/xf86-video-vmware-10.16.7.tar.xz
+-rw-r--r-- 1 root root 199400 2009-07-30 02:18 ./source/x/x11/src/driver/xf86-video-voodoo-1.2.3.tar.xz
+-rw-r--r-- 1 root root 178588 2007-01-02 15:15 ./source/x/x11/src/driver/xf86-video-wsfb-0.2.1.tar.xz
+-rw-r--r-- 1 root root 346324 2007-08-27 23:56 ./source/x/x11/src/driver/xf86-video-xgi-1.5.0.tar.xz
+-rw-r--r-- 1 root root 269476 2008-05-01 20:06 ./source/x/x11/src/driver/xf86-video-xgixp-1.7.99.3.tar.xz
+drwxr-xr-x 2 root root 4096 2008-03-07 01:23 ./source/x/x11/src/font
+-rw-r--r-- 1 root root 248036 2006-11-08 14:03 ./source/x/x11/src/font/encodings-1.0.2.tar.xz
+-rw-r--r-- 1 root root 894236 2006-01-18 23:51 ./source/x/x11/src/font/font-adobe-100dpi-1.0.0.tar.xz
+-rw-r--r-- 1 root root 747096 2006-01-18 23:51 ./source/x/x11/src/font/font-adobe-75dpi-1.0.0.tar.xz
+-rw-r--r-- 1 root root 246640 2006-01-18 23:51 ./source/x/x11/src/font/font-adobe-utopia-100dpi-1.0.1.tar.xz
+-rw-r--r-- 1 root root 197904 2006-01-18 23:51 ./source/x/x11/src/font/font-adobe-utopia-75dpi-1.0.1.tar.xz
+-rw-r--r-- 1 root root 207816 2006-01-18 23:51 ./source/x/x11/src/font/font-adobe-utopia-type1-1.0.1.tar.xz
+-rw-r--r-- 1 root root 38596 2006-01-18 23:51 ./source/x/x11/src/font/font-alias-1.0.1.tar.xz
+-rw-r--r-- 1 root root 47268 2006-01-18 23:51 ./source/x/x11/src/font/font-arabic-misc-1.0.0.tar.xz
+-rw-r--r-- 1 root root 545340 2006-01-18 23:51 ./source/x/x11/src/font/font-bh-100dpi-1.0.0.tar.xz
+-rw-r--r-- 1 root root 446048 2006-01-18 23:51 ./source/x/x11/src/font/font-bh-75dpi-1.0.0.tar.xz
+-rw-r--r-- 1 root root 164756 2006-01-18 23:51 ./source/x/x11/src/font/font-bh-lucidatypewriter-100dpi-1.0.0.tar.xz
+-rw-r--r-- 1 root root 142092 2006-01-18 23:51 ./source/x/x11/src/font/font-bh-lucidatypewriter-75dpi-1.0.0.tar.xz
+-rw-r--r-- 1 root root 312480 2006-01-18 23:51 ./source/x/x11/src/font/font-bh-ttf-1.0.0.tar.xz
+-rw-r--r-- 1 root root 570392 2006-01-18 23:51 ./source/x/x11/src/font/font-bh-type1-1.0.0.tar.xz
+-rw-r--r-- 1 root root 119016 2006-01-18 23:51 ./source/x/x11/src/font/font-bitstream-100dpi-1.0.0.tar.xz
+-rw-r--r-- 1 root root 101740 2006-01-18 23:51 ./source/x/x11/src/font/font-bitstream-75dpi-1.0.0.tar.xz
+-rw-r--r-- 1 root root 274744 2006-01-18 23:51 ./source/x/x11/src/font/font-bitstream-speedo-1.0.0.tar.xz
+-rw-r--r-- 1 root root 335976 2006-01-18 23:51 ./source/x/x11/src/font/font-bitstream-type1-1.0.0.tar.xz
+-rw-r--r-- 1 root root 181532 2006-01-18 23:51 ./source/x/x11/src/font/font-cronyx-cyrillic-1.0.0.tar.xz
+-rw-r--r-- 1 root root 39880 2006-01-18 23:51 ./source/x/x11/src/font/font-cursor-misc-1.0.0.tar.xz
+-rw-r--r-- 1 root root 453956 2006-01-18 23:51 ./source/x/x11/src/font/font-daewoo-misc-1.0.0.tar.xz
+-rw-r--r-- 1 root root 37860 2006-01-18 23:51 ./source/x/x11/src/font/font-dec-misc-1.0.0.tar.xz
+-rw-r--r-- 1 root root 317652 2006-01-18 23:51 ./source/x/x11/src/font/font-ibm-type1-1.0.0.tar.xz
+-rw-r--r-- 1 root root 665684 2006-01-18 23:51 ./source/x/x11/src/font/font-isas-misc-1.0.0.tar.xz
+-rw-r--r-- 1 root root 463920 2006-01-18 23:51 ./source/x/x11/src/font/font-jis-misc-1.0.0.tar.xz
+-rw-r--r-- 1 root root 36340 2006-01-18 23:51 ./source/x/x11/src/font/font-micro-misc-1.0.0.tar.xz
+-rw-r--r-- 1 root root 66352 2006-01-18 23:51 ./source/x/x11/src/font/font-misc-cyrillic-1.0.0.tar.xz
+-rw-r--r-- 1 root root 163988 2006-01-18 23:51 ./source/x/x11/src/font/font-misc-ethiopic-1.0.0.tar.xz
+-rw-r--r-- 1 root root 770636 2006-01-18 23:51 ./source/x/x11/src/font/font-misc-meltho-1.0.0.tar.xz
+-rw-r--r-- 1 root root 1351952 2006-01-18 23:51 ./source/x/x11/src/font/font-misc-misc-1.0.0.tar.xz
+-rw-r--r-- 1 root root 164816 2006-01-18 23:51 ./source/x/x11/src/font/font-mutt-misc-1.0.0.tar.xz
+-rw-r--r-- 1 root root 75392 2006-01-18 23:51 ./source/x/x11/src/font/font-schumacher-misc-1.0.0.tar.xz
+-rw-r--r-- 1 root root 42372 2006-11-08 17:25 ./source/x/x11/src/font/font-screen-cyrillic-1.0.1.tar.xz
+-rw-r--r-- 1 root root 44676 2006-01-18 23:51 ./source/x/x11/src/font/font-sony-misc-1.0.0.tar.xz
+-rw-r--r-- 1 root root 52212 2006-01-18 23:51 ./source/x/x11/src/font/font-sun-misc-1.0.0.tar.xz
+-rw-r--r-- 1 root root 88028 2006-05-19 18:35 ./source/x/x11/src/font/font-util-1.0.1.tar.xz
+-rw-r--r-- 1 root root 38556 2006-01-18 23:51 ./source/x/x11/src/font/font-winitzki-cyrillic-1.0.0.tar.xz
+-rw-r--r-- 1 root root 67212 2008-03-07 01:23 ./source/x/x11/src/font/font-xfree86-type1-1.0.1.tar.xz
+drwxr-xr-x 2 root root 4096 2009-08-01 02:32 ./source/x/x11/src/lib
+-rw-r--r-- 1 root root 202008 2009-07-07 22:57 ./source/x/x11/src/lib/libFS-1.0.2.tar.xz
+-rw-r--r-- 1 root root 216516 2009-01-06 19:57 ./source/x/x11/src/lib/libICE-1.0.5.tar.xz
+-rw-r--r-- 1 root root 192216 2008-07-02 18:06 ./source/x/x11/src/lib/libSM-1.1.0.tar.xz
+-rw-r--r-- 1 root root 1317640 2009-07-20 06:42 ./source/x/x11/src/lib/libX11-1.2.2.tar.xz
+-rw-r--r-- 1 root root 182092 2008-03-18 01:33 ./source/x/x11/src/lib/libXScrnSaver-1.1.3.tar.xz
+-rw-r--r-- 1 root root 166564 2006-01-18 23:51 ./source/x/x11/src/lib/libXTrap-1.0.0.tar.xz
+-rw-r--r-- 1 root root 187444 2008-08-26 21:24 ./source/x/x11/src/lib/libXau-1.0.4.tar.xz
+-rw-r--r-- 1 root root 448120 2009-07-02 17:37 ./source/x/x11/src/lib/libXaw-1.0.6.tar.xz
+-rw-r--r-- 1 root root 180416 2007-07-04 02:53 ./source/x/x11/src/lib/libXcomposite-0.4.0.tar.xz
+-rw-r--r-- 1 root root 196280 2007-08-24 21:06 ./source/x/x11/src/lib/libXcursor-1.1.9.tar.xz
+-rw-r--r-- 1 root root 168644 2007-03-14 19:06 ./source/x/x11/src/lib/libXdamage-1.1.1.tar.xz
+-rw-r--r-- 1 root root 183936 2006-08-11 22:05 ./source/x/x11/src/lib/libXdmcp-1.0.2.tar.xz
+-rw-r--r-- 1 root root 171968 2006-10-13 20:03 ./source/x/x11/src/lib/libXevie-1.0.2.tar.xz
+-rw-r--r-- 1 root root 241100 2009-01-29 23:10 ./source/x/x11/src/lib/libXext-1.0.5.tar.xz
+-rw-r--r-- 1 root root 176204 2006-11-08 14:15 ./source/x/x11/src/lib/libXfixes-4.0.3.tar.xz
+-rw-r--r-- 1 root root 352132 2009-02-18 18:53 ./source/x/x11/src/lib/libXfont-1.4.0.tar.xz
+-rw-r--r-- 1 root root 175956 2006-12-15 23:28 ./source/x/x11/src/lib/libXfontcache-1.0.4.tar.xz
+-rw-r--r-- 1 root root 215192 2008-07-02 19:49 ./source/x/x11/src/lib/libXft-2.1.13.tar.xz
+-rw-r--r-- 1 root root 219888 2009-02-25 23:27 ./source/x/x11/src/lib/libXi-1.2.1.tar.xz
+-rw-r--r-- 1 root root 180280 2008-03-06 20:43 ./source/x/x11/src/lib/libXinerama-1.0.3.tar.xz
+-rw-r--r-- 1 root root 244428 2008-01-14 22:25 ./source/x/x11/src/lib/libXmu-1.0.4.tar.xz
+-rw-r--r-- 1 root root 187292 2006-01-18 23:51 ./source/x/x11/src/lib/libXp-1.0.0.tar.xz
+-rw-r--r-- 1 root root 297804 2007-08-22 20:29 ./source/x/x11/src/lib/libXpm-3.5.7.tar.xz
+-rw-r--r-- 1 root root 156780 2006-01-18 23:51 ./source/x/x11/src/lib/libXprintAppUtil-1.0.1.tar.xz
+-rw-r--r-- 1 root root 168108 2006-01-18 23:51 ./source/x/x11/src/lib/libXprintUtil-1.0.1.tar.xz
+-rw-r--r-- 1 root root 213480 2009-03-06 14:17 ./source/x/x11/src/lib/libXrandr-1.3.0.tar.xz
+-rw-r--r-- 1 root root 189444 2007-09-05 15:23 ./source/x/x11/src/lib/libXrender-0.9.4.tar.xz
+-rw-r--r-- 1 root root 179104 2006-12-15 23:31 ./source/x/x11/src/lib/libXres-1.0.3.tar.xz
+-rw-r--r-- 1 root root 457508 2009-07-02 17:28 ./source/x/x11/src/lib/libXt-1.0.6.tar.xz
+-rw-r--r-- 1 root root 186500 2007-08-17 22:03 ./source/x/x11/src/lib/libXtst-1.0.3.tar.xz
+-rw-r--r-- 1 root root 188440 2008-03-18 03:02 ./source/x/x11/src/lib/libXv-1.0.4.tar.xz
+-rw-r--r-- 1 root root 183168 2006-12-15 23:34 ./source/x/x11/src/lib/libXvMC-1.0.4.tar.xz
+-rw-r--r-- 1 root root 181388 2007-09-05 17:21 ./source/x/x11/src/lib/libXxf86dga-1.0.2.tar.xz
+-rw-r--r-- 1 root root 168900 2006-04-27 00:26 ./source/x/x11/src/lib/libXxf86misc-1.0.1.tar.xz
+-rw-r--r-- 1 root root 183588 2008-07-02 19:44 ./source/x/x11/src/lib/libXxf86vm-1.0.2.tar.xz
+-rw-r--r-- 1 root root 176048 2006-04-26 23:51 ./source/x/x11/src/lib/libdmx-1.0.2.tar.xz
+-rw-r--r-- 1 root root 184784 2006-12-15 23:20 ./source/x/x11/src/lib/libfontenc-1.0.4.tar.xz
+-rw-r--r-- 1 root root 185464 2006-05-19 18:37 ./source/x/x11/src/lib/liblbxutil-1.0.1.tar.xz
+-rw-r--r-- 1 root root 216668 2009-04-24 23:36 ./source/x/x11/src/lib/libpciaccess-0.10.6.tar.xz
+-rw-r--r-- 1 root root 162620 2006-11-24 07:47 ./source/x/x11/src/lib/libpthread-stubs-0.1.tar.xz
+-rw-r--r-- 1 root root 223076 2008-03-18 02:50 ./source/x/x11/src/lib/libxkbfile-1.0.5.tar.xz
+-rw-r--r-- 1 root root 168088 2006-04-27 00:18 ./source/x/x11/src/lib/libxkbui-1.0.2.tar.xz
+-rw-r--r-- 1 root root 306896 2009-07-21 18:10 ./source/x/x11/src/lib/pixman-0.15.18.tar.xz
+-rw-r--r-- 1 root root 100236 2009-08-01 00:28 ./source/x/x11/src/lib/xtrans-1.2.4.tar.xz
+drwxr-xr-x 2 root root 4096 2009-08-01 03:33 ./source/x/x11/src/proto
+-rw-r--r-- 1 root root 34512 2006-01-18 23:51 ./source/x/x11/src/proto/bigreqsproto-1.0.2.tar.xz
+-rw-r--r-- 1 root root 42816 2007-07-03 21:20 ./source/x/x11/src/proto/compositeproto-0.4.tar.xz
+-rw-r--r-- 1 root root 39112 2007-01-10 00:48 ./source/x/x11/src/proto/damageproto-1.1.0.tar.xz
+-rw-r--r-- 1 root root 36948 2006-01-18 23:51 ./source/x/x11/src/proto/dmxproto-2.2.2.tar.xz
+-rw-r--r-- 1 root root 47952 2009-07-09 19:55 ./source/x/x11/src/proto/dri2proto-2.1.tar.xz
+-rw-r--r-- 1 root root 35232 2006-01-18 23:51 ./source/x/x11/src/proto/evieext-1.0.2.tar.xz
+-rw-r--r-- 1 root root 36216 2009-08-01 03:33 ./source/x/x11/src/proto/fixesproto-4.0.tar.xz
+-rw-r--r-- 1 root root 35784 2006-01-18 23:51 ./source/x/x11/src/proto/fontcacheproto-0.1.2.tar.xz
+-rw-r--r-- 1 root root 41984 2006-01-18 23:51 ./source/x/x11/src/proto/fontsproto-2.0.2.tar.xz
+-rw-r--r-- 1 root root 62416 2009-05-26 21:17 ./source/x/x11/src/proto/glproto-1.4.10.tar.xz
+-rw-r--r-- 1 root root 58048 2009-06-18 01:52 ./source/x/x11/src/proto/inputproto-1.5.1.tar.xz
+-rw-r--r-- 1 root root 54644 2006-07-18 19:24 ./source/x/x11/src/proto/kbproto-1.0.3.tar.xz
+-rw-r--r-- 1 root root 46304 2008-03-06 21:25 ./source/x/x11/src/proto/printproto-1.0.4.tar.xz
+-rw-r--r-- 1 root root 70912 2009-03-06 14:05 ./source/x/x11/src/proto/randrproto-1.3.0.tar.xz
+-rw-r--r-- 1 root root 36812 2006-01-18 23:51 ./source/x/x11/src/proto/recordproto-1.13.2.tar.xz
+-rw-r--r-- 1 root root 60804 2009-07-15 03:54 ./source/x/x11/src/proto/renderproto-0.11.tar.xz
+-rw-r--r-- 1 root root 34692 2006-01-18 23:51 ./source/x/x11/src/proto/resourceproto-1.0.2.tar.xz
+-rw-r--r-- 1 root root 35612 2006-04-01 21:43 ./source/x/x11/src/proto/scrnsaverproto-1.1.0.tar.xz
+-rw-r--r-- 1 root root 45604 2006-01-18 23:51 ./source/x/x11/src/proto/trapproto-3.4.3.tar.xz
+-rw-r--r-- 1 root root 39784 2006-01-18 23:51 ./source/x/x11/src/proto/videoproto-2.2.2.tar.xz
+-rw-r--r-- 1 root root 34604 2006-01-18 23:51 ./source/x/x11/src/proto/xcmiscproto-1.1.2.tar.xz
+-rw-r--r-- 1 root root 75732 2009-01-29 18:57 ./source/x/x11/src/proto/xextproto-7.0.5.tar.xz
+-rw-r--r-- 1 root root 35220 2006-01-18 23:51 ./source/x/x11/src/proto/xf86bigfontproto-1.1.2.tar.xz
+-rw-r--r-- 1 root root 40624 2007-09-05 17:14 ./source/x/x11/src/proto/xf86dgaproto-2.0.3.tar.xz
+-rw-r--r-- 1 root root 40948 2008-04-01 17:44 ./source/x/x11/src/proto/xf86driproto-2.0.4.tar.xz
+-rw-r--r-- 1 root root 36128 2006-01-18 23:51 ./source/x/x11/src/proto/xf86miscproto-0.9.2.tar.xz
+-rw-r--r-- 1 root root 35400 2006-01-18 23:51 ./source/x/x11/src/proto/xf86rushproto-1.1.2.tar.xz
+-rw-r--r-- 1 root root 37040 2006-01-18 23:51 ./source/x/x11/src/proto/xf86vidmodeproto-2.2.2.tar.xz
+-rw-r--r-- 1 root root 35832 2006-01-18 23:51 ./source/x/x11/src/proto/xineramaproto-1.1.2.tar.xz
+-rw-r--r-- 1 root root 141528 2009-03-02 19:02 ./source/x/x11/src/proto/xproto-7.0.15.tar.xz
+-rw-r--r-- 1 root root 34688 2006-01-18 23:51 ./source/x/x11/src/proto/xproxymanagementprotocol-1.0.2.tar.xz
+drwxr-xr-x 2 root root 4096 2009-07-09 18:51 ./source/x/x11/src/util
+-rw-r--r-- 1 root root 65616 2006-05-19 18:42 ./source/x/x11/src/util/gccmakedep-1.0.2.tar.xz
+-rw-r--r-- 1 root root 105808 2006-05-19 18:45 ./source/x/x11/src/util/imake-1.0.2.tar.xz
+-rw-r--r-- 1 root root 70672 2006-01-18 23:51 ./source/x/x11/src/util/lndir-1.0.1.tar.xz
+-rw-r--r-- 1 root root 101024 2007-03-21 20:43 ./source/x/x11/src/util/makedepend-1.0.1.tar.xz
+-rw-r--r-- 1 root root 46276 2009-06-18 20:05 ./source/x/x11/src/util/util-macros-1.2.2.tar.xz
+-rw-r--r-- 1 root root 235664 2006-05-19 18:41 ./source/x/x11/src/util/xorg-cf-files-1.0.2.tar.xz
+drwxr-xr-x 2 root root 4096 2009-05-29 06:37 ./source/x/x11/src/xcb
+-rw-r--r-- 1 root root 278996 2009-05-29 06:30 ./source/x/x11/src/xcb/libxcb-1.3.tar.xz
+-rw-r--r-- 1 root root 87048 2009-05-29 06:15 ./source/x/x11/src/xcb/xcb-proto-1.5.tar.xz
+-rw-r--r-- 1 root root 234900 2009-05-29 06:37 ./source/x/x11/src/xcb/xcb-util-0.3.5.tar.xz
+-rw-r--r-- 1 root root 244308 2009-04-08 04:28 ./source/x/x11/src/xcb/xpyb-1.1.tar.xz
+drwxr-xr-x 2 root root 4096 2009-08-01 20:47 ./source/x/x11/src/xserver
+-rw-r--r-- 1 root root 3760472 2009-08-01 12:59 ./source/x/x11/src/xserver/xorg-server-1.6.3.tar.xz
+-rwxr-xr-x 1 root root 10950 2009-08-04 00:10 ./source/x/x11/x11.SlackBuild
+drwxr-xr-x 2 root root 4096 2009-05-19 20:05 ./source/x/xaw3d
+-rw-r--r-- 1 root root 5180 2008-11-04 15:06 ./source/x/xaw3d/Xaw3d-1.5-debian-fixes.diff.gz
+-rw-r--r-- 1 root root 579 2008-11-04 15:02 ./source/x/xaw3d/Xaw3d-1.5E.diff.gz
+-rw-r--r-- 1 root root 309264 2008-11-04 14:57 ./source/x/xaw3d/Xaw3d-1.5E.tar.gz
+-rw-r--r-- 1 root root 975 2002-03-23 23:45 ./source/x/xaw3d/slack-desc
+-rwxr-xr-x 1 root root 3773 2009-05-19 20:05 ./source/x/xaw3d/xaw3d.SlackBuild
+drwxr-xr-x 2 root root 4096 2009-05-19 20:05 ./source/x/xdg-utils
+-rw-r--r-- 1 root root 1432 2009-02-02 23:25 ./source/x/xdg-utils/doinst.sh.gz
+-rw-r--r-- 1 root root 1010 2008-08-01 05:42 ./source/x/xdg-utils/slack-desc
+-rw-r--r-- 1 root root 284747 2009-02-02 23:19 ./source/x/xdg-utils/xdg-utils-20090202cvs.tar.bz2
+-rwxr-xr-x 1 root root 327 2009-02-02 19:15 ./source/x/xdg-utils/xdg-utils-cvs_checkout.sh
+-rwxr-xr-x 1 root root 2310 2009-05-19 20:05 ./source/x/xdg-utils/xdg-utils.SlackBuild
+-rw-r--r-- 1 root root 121 2008-07-12 04:41 ./source/x/xdg-utils/xdg-utils.info
+drwxr-xr-x 3 root root 4096 2009-06-03 19:52 ./source/x/xterm
+drwxr-xr-x 2 root root 4096 2008-02-21 20:54 ./source/x/xterm/patches
+-rw-r--r-- 1 root root 764 2007-02-11 23:54 ./source/x/xterm/slack-desc
+-rw-r--r-- 1 root root 612032 2009-03-28 20:18 ./source/x/xterm/xterm-243.tar.xz
+-rwxr-xr-x 1 root root 3428 2009-06-09 00:02 ./source/x/xterm/xterm.SlackBuild
+drwxr-xr-x 47 root root 4096 2009-08-18 23:17 ./source/xap
+drwxr-xr-x 2 root root 4096 2009-06-25 23:48 ./source/xap/MPlayer
+-rw-r--r-- 1 root root 222567 2006-12-23 03:06 ./source/xap/MPlayer/Blue-1.7.tar.bz2
+-rwxr-xr-- 1 root root 15071 2009-06-26 00:11 ./source/xap/MPlayer/MPlayer.SlackBuild
+-rw-r--r-- 1 root root 6987244 2009-06-25 23:48 ./source/xap/MPlayer/MPlayer_nolibdvdcss-r29390.tar.xz
+-rw-r--r-- 1 root root 937 2009-05-15 20:43 ./source/xap/MPlayer/slack-desc
+drwxr-xr-x 2 root root 4096 2009-05-19 20:05 ./source/xap/audacious
+drwxr-xr-x 2 root root 4096 2009-05-19 20:05 ./source/xap/audacious-plugins
+-rw-r--r-- 1 root root 238 2008-11-29 20:13 ./source/xap/audacious-plugins/amidi-plug.fix-drct.diff.gz
+-rw-r--r-- 1 root root 2239522 2008-05-23 22:38 ./source/xap/audacious-plugins/audacious-plugins-1.5.1.tar.bz2
+-rwxr-xr-x 1 root root 3608 2009-05-19 20:05 ./source/xap/audacious-plugins/audacious-plugins.SlackBuild
+-rw-r--r-- 1 root root 345 2008-09-14 19:29 ./source/xap/audacious-plugins/audacious-plugins.libmtp8.diff.gz
+-rw-r--r-- 1 root root 892 2007-03-08 06:08 ./source/xap/audacious-plugins/slack-desc
+-rw-r--r-- 1 root root 1374028 2008-05-23 21:54 ./source/xap/audacious/audacious-1.5.1.tar.bz2
+-rwxr-xr-x 1 root root 3739 2009-05-19 20:05 ./source/xap/audacious/audacious.SlackBuild
+-rw-r--r-- 1 root root 406 2009-04-10 22:03 ./source/xap/audacious/audacious.handle_cmd_line_options.diff.gz
+-rw-r--r-- 1 root root 1075 2007-03-08 05:46 ./source/xap/audacious/slack-desc
+drwxr-xr-x 2 root root 4096 2009-05-19 20:05 ./source/xap/blackbox
+-rw-r--r-- 1 root root 185230 2002-11-04 01:43 ./source/xap/blackbox/bbkeys-0.8.6.tar.gz
+-rw-r--r-- 1 root root 292950 2002-09-18 18:11 ./source/xap/blackbox/blackbox-0.65.0.tar.gz
+-rwxr-xr-x 1 root root 4112 2009-05-19 20:05 ./source/xap/blackbox/blackbox.SlackBuild
+-rw-r--r-- 1 root root 72210 2005-01-19 03:32 ./source/xap/blackbox/blackbox_0.65.0-5.diff.gz
+-rw-r--r-- 1 root root 900 2002-05-05 23:41 ./source/xap/blackbox/slack-desc
+-rw-r--r-- 1 root root 288 2007-02-07 04:58 ./source/xap/blackbox/xinitrc.blackbox.gz
+drwxr-xr-x 2 root root 4096 2009-07-01 20:18 ./source/xap/electricsheep
+-rw-r--r-- 1 root root 1306 2009-01-07 22:42 ./source/xap/electricsheep/README.slackware
+-rw-r--r-- 1 root root 3116176 2009-03-06 00:30 ./source/xap/electricsheep/electricsheep-20090306.tar.xz
+-rwxr-xr-- 1 root root 9392 2009-07-01 20:27 ./source/xap/electricsheep/electricsheep.SlackBuild
+-rw-r--r-- 1 root root 268 2009-07-01 19:53 ./source/xap/electricsheep/electricsheep.mplayer.diff.gz
+-rw-r--r-- 1 root root 524 2009-01-07 21:38 ./source/xap/electricsheep/electricsheep_gnome-open.patch
+-rw-r--r-- 1 root root 1116 2008-12-15 23:44 ./source/xap/electricsheep/slack-desc
+drwxr-xr-x 2 root root 4096 2009-05-19 20:05 ./source/xap/fluxbox
+-rw-r--r-- 1 root root 777660 2008-09-19 16:00 ./source/xap/fluxbox/fluxbox-1.1.1.tar.bz2
+-rwxr-xr-x 1 root root 2765 2009-05-19 20:05 ./source/xap/fluxbox/fluxbox.SlackBuild
+-rw-r--r-- 1 root root 687 2005-07-21 19:03 ./source/xap/fluxbox/slack-desc
+-rw-r--r-- 1 root root 289 2007-02-07 04:48 ./source/xap/fluxbox/xinitrc.fluxbox.gz
+drwxr-xr-x 2 root root 4096 2009-05-19 20:05 ./source/xap/fvwm
+-rw-r--r-- 1 root root 23007 2007-02-18 02:02 ./source/xap/fvwm/ancient-icons.tar.gz
+-rw-r--r-- 1 root root 279 2004-04-05 01:55 ./source/xap/fvwm/doinst.sh.gz
+-rw-r--r-- 1 root root 1426470 2006-12-09 12:39 ./source/xap/fvwm/fvwm-2.4.20.tar.bz2
+-rwxr-xr-x 1 root root 3827 2009-05-19 20:05 ./source/xap/fvwm/fvwm.SlackBuild
+-rw-r--r-- 1 root root 442 1999-09-13 19:12 ./source/xap/fvwm/fvwm.colormap.diff.gz
+-rw-r--r-- 1 root root 792 2008-02-11 03:44 ./source/xap/fvwm/slack-desc
+-rw-r--r-- 1 root root 7625 2007-02-18 02:15 ./source/xap/fvwm/system.fvwm2rc.gz
+-rw-r--r-- 1 root root 291 2007-02-18 02:12 ./source/xap/fvwm/xinitrc.fvwm2.gz
+drwxr-xr-x 2 root root 4096 2009-05-23 00:41 ./source/xap/gftp
+-rw-r--r-- 1 root root 1687167 2008-12-02 14:07 ./source/xap/gftp/gftp-2.0.19.tar.bz2
+-rwxr-xr-x 1 root root 2997 2009-05-23 00:41 ./source/xap/gftp/gftp.SlackBuild
+-rw-r--r-- 1 root root 304 2008-12-02 20:08 ./source/xap/gftp/gftp.desktop.gz
+-rw-r--r-- 1 root root 899 2008-02-11 03:44 ./source/xap/gftp/slack-desc
+drwxr-xr-x 2 root root 4096 2009-05-19 20:05 ./source/xap/gimp
+-rw-r--r-- 1 root root 16075908 2009-03-16 21:56 ./source/xap/gimp/gimp-2.6.6.tar.bz2
+-rwxr-xr-x 1 root root 3223 2009-06-09 19:03 ./source/xap/gimp/gimp.SlackBuild
+-rw-r--r-- 1 root root 928 2003-01-29 03:18 ./source/xap/gimp/slack-desc
+drwxr-xr-x 2 root root 4096 2009-05-19 20:05 ./source/xap/gkrellm
+-rw-r--r-- 1 root root 747697 2008-10-04 02:03 ./source/xap/gkrellm/gkrellm-2.3.2.tar.bz2
+-rw-r--r-- 1 root root 12374 2004-02-01 16:30 ./source/xap/gkrellm/gkrellm-countdown-0.1.1.tar.gz
+-rwxr-xr-x 1 root root 3712 2009-05-19 20:05 ./source/xap/gkrellm/gkrellm.SlackBuild
+-rw-r--r-- 1 root root 211 2008-10-26 01:35 ./source/xap/gkrellm/gkrellm.theme.defaults.diff.gz
+-rw-r--r-- 1 root root 971 2004-04-29 18:52 ./source/xap/gkrellm/slack-desc
+drwxr-xr-x 2 root root 4096 2009-05-23 00:41 ./source/xap/gnuchess
+-rw-r--r-- 1 root root 142963 2004-01-19 11:50 ./source/xap/gnuchess/Sjeng-Free-11.2.tar.bz2
+-rw-r--r-- 1 root root 652 2004-10-27 05:47 ./source/xap/gnuchess/chess.png
+-rw-r--r-- 1 root root 428502 2007-01-22 18:04 ./source/xap/gnuchess/eboard-1.0.3.tar.bz2
+-rw-r--r-- 1 root root 224 2004-10-27 06:07 ./source/xap/gnuchess/eboard.desktop
+-rw-r--r-- 1 root root 193507 2003-08-07 14:15 ./source/xap/gnuchess/gnuchess-5.07.tar.bz2
+-rwxr-xr-x 1 root root 5563 2009-05-23 00:41 ./source/xap/gnuchess/gnuchess.SlackBuild
+-rw-r--r-- 1 root root 1229 2007-05-16 00:54 ./source/xap/gnuchess/gnuchess.SlackBuild.diff.gz
+-rw-r--r-- 1 root root 241 2007-05-16 00:54 ./source/xap/gnuchess/gnuchess.gcc4_fix.diff.gz
+-rw-r--r-- 1 root root 796 2004-10-27 22:53 ./source/xap/gnuchess/slack-desc
+-rw-r--r-- 1 root root 786236 2004-10-27 22:40 ./source/xap/gnuchess/xboard-4.2.7.tar.bz2
+-rw-r--r-- 1 root root 1311 2007-05-16 00:54 ./source/xap/gnuchess/xboard.buffer_overflow_fix.diff.gz
+-rw-r--r-- 1 root root 224 2004-10-27 06:04 ./source/xap/gnuchess/xboard.desktop
+-rw-r--r-- 1 root root 310 2004-10-27 22:40 ./source/xap/gnuchess/xboard.infodir.diff.gz
+drwxr-xr-x 2 root root 4096 2009-08-10 23:29 ./source/xap/gnuplot
+-rw-r--r-- 1 root root 1926696 2009-03-30 05:16 ./source/xap/gnuplot/gnuplot-4.2.5.tar.xz
+-rwxr-xr-x 1 root root 3411 2009-08-11 00:48 ./source/xap/gnuplot/gnuplot.SlackBuild
+-rw-r--r-- 1 root root 1105 2002-03-16 08:23 ./source/xap/gnuplot/slack-desc
+drwxr-xr-x 2 root root 4096 2009-05-19 20:05 ./source/xap/gqview
+-rw-r--r-- 1 root root 158 2007-02-18 22:16 ./source/xap/gqview/doinst.sh.gz
+-rw-r--r-- 1 root root 1101019 2006-12-03 02:19 ./source/xap/gqview/gqview-2.1.5.tar.bz2
+-rwxr-xr-x 1 root root 3148 2009-05-19 20:05 ./source/xap/gqview/gqview.SlackBuild
+-rw-r--r-- 1 root root 729 2007-04-01 22:31 ./source/xap/gqview/slack-desc
+drwxr-xr-x 2 root root 4096 2009-06-09 05:40 ./source/xap/gucharmap
+-rw-r--r-- 1 root root 121 2009-03-23 15:07 ./source/xap/gucharmap/doinst.sh.gz
+-rw-r--r-- 1 root root 2429228 2009-05-18 20:37 ./source/xap/gucharmap/gucharmap-2.26.2.tar.xz
+-rwxr-xr-x 1 root root 2832 2009-06-09 06:20 ./source/xap/gucharmap/gucharmap.SlackBuild
+-rw-r--r-- 1 root root 669 2004-10-13 19:31 ./source/xap/gucharmap/slack-desc
+drwxr-xr-x 2 root root 4096 2009-05-19 20:05 ./source/xap/gv
+-rw-r--r-- 1 root root 378928 2009-03-22 09:11 ./source/xap/gv/gv-3.6.7.tar.xz
+-rwxr-xr-x 1 root root 3221 2009-05-19 20:05 ./source/xap/gv/gv.SlackBuild
+-rw-r--r-- 1 root root 823 2002-03-15 04:27 ./source/xap/gv/slack-desc
+drwxr-xr-x 2 root root 4096 2009-05-19 20:05 ./source/xap/gxine
+-rw-r--r-- 1 root root 1112012 2008-06-12 21:44 ./source/xap/gxine/gxine-0.5.903.tar.bz2
+-rwxr-xr-x 1 root root 3142 2009-06-10 01:22 ./source/xap/gxine/gxine.SlackBuild
+-rw-r--r-- 1 root root 453 2006-02-02 19:36 ./source/xap/gxine/gxine.desktop.gz
+-rw-r--r-- 1 root root 792 2003-09-23 02:20 ./source/xap/gxine/slack-desc
+drwxr-xr-x 2 root root 4096 2009-06-15 01:56 ./source/xap/imagemagick
+-rw-r--r-- 1 root root 5842976 2009-06-06 00:42 ./source/xap/imagemagick/ImageMagick-6.5.3-3.tar.xz
+-rwxr-xr-x 1 root root 4503 2009-06-09 05:49 ./source/xap/imagemagick/imagemagick.SlackBuild
+-rw-r--r-- 1 root root 1002 2004-04-11 20:51 ./source/xap/imagemagick/slack-desc
+drwxr-xr-x 2 root root 4096 2009-08-03 18:45 ./source/xap/mozilla-firefox
+-rw-r--r-- 1 root root 46787928 2009-07-30 15:35 ./source/xap/mozilla-firefox/firefox-3.5.2-source.tar.bz2
+-rw-r--r-- 1 root root 194 2009-07-31 00:28 ./source/xap/mozilla-firefox/firefox-3.5.2-source.tar.bz2.asc
+-rw-r--r-- 1 root root 327 2008-06-17 17:19 ./source/xap/mozilla-firefox/firefox.moz_plugin_path.diff.gz
+-rw-r--r-- 1 root root 24263 2009-06-18 08:34 ./source/xap/mozilla-firefox/firefox.png
+-rw-r--r-- 1 root root 462 2009-07-01 06:05 ./source/xap/mozilla-firefox/mimeTypes.rdf.gz
+-rw-r--r-- 1 root root 680 2009-07-01 13:28 ./source/xap/mozilla-firefox/mozilla-firefox-mimeTypes-fix.diff.gz
+-rwxr-xr-x 1 root root 6060 2009-08-03 18:45 ./source/xap/mozilla-firefox/mozilla-firefox.SlackBuild
+-rw-r--r-- 1 root root 2620 2009-07-01 06:10 ./source/xap/mozilla-firefox/mozilla-firefox.desktop
+-rw-r--r-- 1 root root 993 2005-03-08 04:51 ./source/xap/mozilla-firefox/slack-desc
+drwxr-xr-x 2 root root 4096 2009-08-20 21:40 ./source/xap/mozilla-thunderbird
+-rw-r--r-- 1 root root 308 2005-12-09 22:22 ./source/xap/mozilla-thunderbird/mozilla-thunderbird-firefox.diff.gz
+-rwxr-xr-x 1 root root 4561 2009-08-20 21:40 ./source/xap/mozilla-thunderbird/mozilla-thunderbird.SlackBuild
+-rw-r--r-- 1 root root 3378 2005-03-08 05:13 ./source/xap/mozilla-thunderbird/mozilla-thunderbird.desktop
+-rw-r--r-- 1 root root 1172 2005-03-08 04:50 ./source/xap/mozilla-thunderbird/slack-desc
+-rw-r--r-- 1 root root 38860245 2009-08-19 21:22 ./source/xap/mozilla-thunderbird/thunderbird-2.0.0.23-source.tar.bz2
+-rw-r--r-- 1 root root 194 2009-08-19 21:42 ./source/xap/mozilla-thunderbird/thunderbird-2.0.0.23-source.tar.bz2.asc
+-rw-r--r-- 1 root root 2980 2005-03-08 22:19 ./source/xap/mozilla-thunderbird/thunderbird.png
+drwxr-xr-x 2 root root 4096 2009-05-19 20:05 ./source/xap/pan
+-rw-r--r-- 1 root root 1452883 2008-07-30 02:46 ./source/xap/pan/pan-0.133.tar.bz2
+-rwxr-xr-x 1 root root 3212 2009-05-19 20:05 ./source/xap/pan/pan.SlackBuild
+-rw-r--r-- 1 root root 721 2008-02-11 03:44 ./source/xap/pan/slack-desc
+drwxr-xr-x 2 root root 4096 2009-08-19 17:56 ./source/xap/pidgin
+-rw-r--r-- 1 root root 6319964 2009-08-18 17:14 ./source/xap/pidgin/pidgin-2.5.9.tar.xz
+-rw-r--r-- 1 root root 586394 2008-03-09 08:03 ./source/xap/pidgin/pidgin-encryption-3.0.tar.gz
+-rwxr-xr-x 1 root root 5725 2009-08-19 17:59 ./source/xap/pidgin/pidgin.SlackBuild
+-rw-r--r-- 1 root root 321 2008-12-07 04:57 ./source/xap/pidgin/purple-allow-sign-rsa-md5.patch.gz
+-rw-r--r-- 1 root root 926 2008-03-09 08:06 ./source/xap/pidgin/slack-desc
+drwxr-xr-x 2 root root 4096 2009-05-19 20:05 ./source/xap/rdesktop
+-rw-r--r-- 1 root root 243001 2008-05-11 06:24 ./source/xap/rdesktop/rdesktop-1.6.0.tar.bz2
+-rwxr-xr-x 1 root root 3067 2009-05-19 20:05 ./source/xap/rdesktop/rdesktop.SlackBuild
+-rw-r--r-- 1 root root 854 2006-09-12 01:52 ./source/xap/rdesktop/slack-desc
+drwxr-xr-x 2 root root 4096 2009-05-19 20:05 ./source/xap/rxvt
+-rw-r--r-- 1 root root 493199 2003-03-26 06:47 ./source/xap/rxvt/rxvt-2.7.10.tar.bz2
+-rwxr-xr-x 1 root root 3012 2009-06-09 19:32 ./source/xap/rxvt/rxvt.SlackBuild
+-rw-r--r-- 1 root root 2002 2003-06-08 04:09 ./source/xap/rxvt/rxvt.utempter.diff.gz
+-rw-r--r-- 1 root root 880 2002-03-10 07:02 ./source/xap/rxvt/slack-desc
+drwxr-xr-x 2 root root 4096 2009-05-23 00:41 ./source/xap/sane
+-rw-r--r-- 1 root root 133 2006-09-23 08:33 ./source/xap/sane/dll.conf.additions.gz
+-rw-r--r-- 1 root root 285 2008-02-12 16:23 ./source/xap/sane/doinst.sh.gz
+-rw-r--r-- 1 root root 3126540 2008-02-12 02:12 ./source/xap/sane/sane-backends-1.0.19.tar.bz2
+-rw-r--r-- 1 root root 190172 2005-09-18 07:21 ./source/xap/sane/sane-frontends-1.0.14.tar.bz2
+-rwxr-xr-x 1 root root 4209 2009-05-23 00:41 ./source/xap/sane/sane.SlackBuild
+-rw-r--r-- 1 root root 776 2002-04-04 02:41 ./source/xap/sane/slack-desc
+drwxr-xr-x 2 root root 4096 2009-06-24 18:25 ./source/xap/seamonkey
+-rw-r--r-- 1 root root 231 2007-06-01 23:47 ./source/xap/seamonkey/doinst.sh.gz
+-rw-r--r-- 1 root root 28513384 2009-06-06 21:58 ./source/xap/seamonkey/seamonkey-1.1.17.source.tar.xz
+-rw-r--r-- 1 root root 12796 2006-02-09 03:17 ./source/xap/seamonkey/seamonkey-icon.png
+-rw-r--r-- 1 root root 185 2006-02-09 03:40 ./source/xap/seamonkey/seamonkey-mail-icon.png
+-rw-r--r-- 1 root root 207 2006-02-09 03:23 ./source/xap/seamonkey/seamonkey-mail.desktop
+-rwxr-xr-x 1 root root 8518 2009-06-24 18:46 ./source/xap/seamonkey/seamonkey.SlackBuild
+-rw-r--r-- 1 root root 178 2006-02-09 03:23 ./source/xap/seamonkey/seamonkey.desktop
+-rw-r--r-- 1 root root 333 2007-02-20 03:25 ./source/xap/seamonkey/seamonkey.moz_plugin_path.diff.gz
+-rw-r--r-- 1 root root 994 2006-02-09 02:07 ./source/xap/seamonkey/slack-desc
+drwxr-xr-x 2 root root 4096 2009-05-19 20:05 ./source/xap/seyon
+-rw-r--r-- 1 root root 713 1999-05-09 22:46 ./source/xap/seyon/seyon-2.20c.lsm
+-rw-r--r-- 1 root root 167487 1999-05-09 22:47 ./source/xap/seyon/seyon-2.20c.tar.gz
+-rwxr-xr-x 1 root root 3601 2009-05-19 20:05 ./source/xap/seyon/seyon.SlackBuild
+-rw-r--r-- 1 root root 36723 2005-01-03 22:32 ./source/xap/seyon/seyon_2.20c-16.diff.gz
+-rw-r--r-- 1 root root 1065 2002-03-24 00:53 ./source/xap/seyon/slack-desc
+drwxr-xr-x 2 root root 4096 2009-05-19 20:05 ./source/xap/thunar-volman
+-rw-r--r-- 1 root root 946 2009-02-26 03:27 ./source/xap/thunar-volman/slack-desc
+-rw-r--r-- 1 root root 353504 2008-09-14 13:04 ./source/xap/thunar-volman/thunar-volman-0.3.80.tar.bz2
+-rwxr-xr-x 1 root root 2594 2009-05-19 20:05 ./source/xap/thunar-volman/thunar-volman.SlackBuild
+lrwxrwxrwx 1 root root 9 2009-08-28 04:23 ./source/xap/vim-gvim -> ../ap/vim
+drwxr-xr-x 2 root root 4096 2009-05-23 02:30 ./source/xap/windowmaker
+-rw-r--r-- 1 root root 2078830 2008-07-30 06:57 ./source/xap/windowmaker/WindowMaker-20060427cvs.tar.bz2
+-rw-r--r-- 1 root root 238018 1999-04-01 14:30 ./source/xap/windowmaker/WindowMaker-extra-0.1.tar.gz
+-rw-r--r-- 1 root root 917 2004-10-28 06:46 ./source/xap/windowmaker/slack-desc
+-rwxr-xr-x 1 root root 3964 2009-06-09 20:05 ./source/xap/windowmaker/windowmaker.SlackBuild
+-rw-r--r-- 1 root root 390 2008-07-30 05:51 ./source/xap/windowmaker/windowmaker.no-mmx.diff.gz
+-rw-r--r-- 1 root root 669 2002-05-30 20:16 ./source/xap/windowmaker/wmaker.inst.diff.gz
+-rw-r--r-- 1 root root 788 2002-05-30 20:01 ./source/xap/windowmaker/xinitrc.wmaker
+drwxr-xr-x 2 root root 4096 2009-08-18 22:26 ./source/xap/x11-ssh-askpass
+-rw-r--r-- 1 root root 533 2009-07-11 03:15 ./source/xap/x11-ssh-askpass/README
+-rw-r--r-- 1 root root 765 2009-01-17 08:31 ./source/xap/x11-ssh-askpass/slack-desc
+-rw-r--r-- 1 root root 29229 2009-07-20 23:44 ./source/xap/x11-ssh-askpass/x11-ssh-askpass-1.2.4.1.tar.gz
+-rwxr-xr-x 1 root root 1634 2009-08-18 23:17 ./source/xap/x11-ssh-askpass/x11-ssh-askpass.SlackBuild
+-rw-r--r-- 1 root root 349 2009-07-11 03:15 ./source/xap/x11-ssh-askpass/x11-ssh-askpass.info
+-rw-r--r-- 1 root root 261 2008-03-29 00:07 ./source/xap/x11-ssh-askpass/xprofile.sample
+drwxr-xr-x 2 root root 4096 2009-05-19 20:05 ./source/xap/x3270
+-rw-r--r-- 1 root root 391 2007-04-02 02:36 ./source/xap/x3270/doinst.sh.gz
+-rw-r--r-- 1 root root 766 2002-03-12 06:49 ./source/xap/x3270/slack-desc
+-rw-r--r-- 1 root root 854545 2008-08-28 19:23 ./source/xap/x3270/x3270-3.3.7p8.tar.bz2
+-rwxr-xr-x 1 root root 2936 2009-05-19 20:05 ./source/xap/x3270/x3270.SlackBuild
+drwxr-xr-x 3 root root 4096 2009-05-19 20:05 ./source/xap/xchat
+drwxr-xr-x 2 root root 4096 2009-04-10 14:28 ./source/xap/xchat/patches
+-rw-r--r-- 1 root root 43 2007-02-15 05:32 ./source/xap/xchat/patches/patches.url
+-rw-r--r-- 1 root root 903 2008-06-24 11:43 ./source/xap/xchat/patches/xc286-smallfixes.diff.gz
+-rw-r--r-- 1 root root 848 2009-04-10 14:24 ./source/xap/xchat/patches/xchat.gtk_2_14.diff.gz
+-rw-r--r-- 1 root root 620 2008-02-11 03:44 ./source/xap/xchat/slack-desc
+-rw-r--r-- 1 root root 1423645 2008-06-12 08:47 ./source/xap/xchat/xchat-2.8.6.tar.bz2
+-rwxr-xr-x 1 root root 3268 2009-06-09 19:33 ./source/xap/xchat/xchat.SlackBuild
+drwxr-xr-x 5 root root 4096 2009-07-31 06:11 ./source/xap/xfce
+-rw-r--r-- 1 root root 26680 2009-07-31 06:10 ./source/xap/xfce/icons.tar.xz
+drwxr-xr-x 2 root root 4096 2009-07-31 06:05 ./source/xap/xfce/patches
+-rw-r--r-- 1 root root 861 2009-07-19 22:36 ./source/xap/xfce/patches/exo_quoting_fix.diff.gz
+-rw-r--r-- 1 root root 746 2009-03-14 23:51 ./source/xap/xfce/patches/launcher-plugin-migrate-icon-cat.diff.gz
+-rw-r--r-- 1 root root 1014 2009-03-06 01:25 ./source/xap/xfce/patches/migrate-itheme-smartly.diff.gz
+-rw-r--r-- 1 root root 898 2009-07-20 18:51 ./source/xap/xfce/patches/terminal-0.4.0-fixup_docdir.diff.gz
+-rw-r--r-- 1 root root 1559 2009-07-21 00:37 ./source/xap/xfce/patches/thunar-1.0.1-fixup_docdir.diff.gz
+-rw-r--r-- 1 root root 233 2009-03-01 16:14 ./source/xap/xfce/patches/xfcalendar.desktop.in.diff.gz
+-rw-r--r-- 1 root root 289 2009-07-31 06:04 ./source/xap/xfce/patches/xfdesktop-fix_education_icon.diff.gz
+drwxr-xr-x 2 root root 4096 2007-04-21 19:12 ./source/xap/xfce/profile.d
+-rwxr-xr-x 1 root root 162 2007-06-29 01:03 ./source/xap/xfce/profile.d/xfce.csh
+-rwxr-xr-x 1 root root 170 2007-04-21 19:14 ./source/xap/xfce/profile.d/xfce.sh
+-rw-r--r-- 1 root root 764 2008-04-06 20:19 ./source/xap/xfce/slack-desc
+drwxr-xr-x 2 root root 4096 2009-07-20 19:45 ./source/xap/xfce/src
+-rw-r--r-- 1 root root 1368876 2009-07-20 18:15 ./source/xap/xfce/src/Terminal-0.4.0.tar.xz
+-rw-r--r-- 1 root root 3473596 2009-04-19 07:55 ./source/xap/xfce/src/Thunar-1.0.1.tar.xz
+-rw-r--r-- 1 root root 1163740 2009-04-19 07:55 ./source/xap/xfce/src/exo-0.3.101.tar.xz
+-rw-r--r-- 1 root root 228668 2009-02-26 01:41 ./source/xap/xfce/src/gtk-xfce-engine-2.6.0.tar.xz
+-rw-r--r-- 1 root root 331932 2009-04-19 07:55 ./source/xap/xfce/src/libxfce4menu-4.6.1.tar.xz
+-rw-r--r-- 1 root root 332712 2009-04-19 07:55 ./source/xap/xfce/src/libxfce4util-4.6.1.tar.xz
+-rw-r--r-- 1 root root 551248 2009-04-19 07:55 ./source/xap/xfce/src/libxfcegui4-4.6.1.tar.xz
+-rw-r--r-- 1 root root 269176 2009-02-26 18:56 ./source/xap/xfce/src/mousepad-0.2.16.tar.xz
+-rw-r--r-- 1 root root 1698784 2009-04-19 07:55 ./source/xap/xfce/src/orage-4.6.1.tar.xz
+-rw-r--r-- 1 root root 501132 2009-04-19 07:55 ./source/xap/xfce/src/xfce-utils-4.6.1.tar.xz
+-rw-r--r-- 1 root root 259900 2009-04-19 07:55 ./source/xap/xfce/src/xfce4-appfinder-4.6.1.tar.xz
+-rw-r--r-- 1 root root 58600 2009-02-26 01:41 ./source/xap/xfce/src/xfce4-dev-tools-4.6.0.tar.xz
+-rw-r--r-- 1 root root 334516 2009-04-19 07:55 ./source/xap/xfce/src/xfce4-mixer-4.6.1.tar.xz
+-rw-r--r-- 1 root root 746908 2009-04-19 07:55 ./source/xap/xfce/src/xfce4-panel-4.6.1.tar.xz
+-rw-r--r-- 1 root root 1201756 2009-04-19 07:55 ./source/xap/xfce/src/xfce4-session-4.6.1.tar.xz
+-rw-r--r-- 1 root root 416284 2009-04-19 07:55 ./source/xap/xfce/src/xfce4-settings-4.6.1.tar.xz
+-rw-r--r-- 1 root root 354500 2009-04-19 07:55 ./source/xap/xfce/src/xfconf-4.6.1.tar.xz
+-rw-r--r-- 1 root root 3136772 2009-04-19 07:55 ./source/xap/xfce/src/xfdesktop-4.6.1.tar.xz
+-rw-r--r-- 1 root root 728660 2009-04-19 07:55 ./source/xap/xfce/src/xfprint-4.6.1.tar.xz
+-rw-r--r-- 1 root root 1543832 2009-04-19 07:55 ./source/xap/xfce/src/xfwm4-4.6.1.tar.xz
+-rw-r--r-- 1 root root 372732 2009-02-26 01:41 ./source/xap/xfce/src/xfwm4-themes-4.6.0.tar.xz
+-rwxr-xr-x 1 root root 7204 2009-07-31 06:41 ./source/xap/xfce/xfce.SlackBuild
+drwxr-xr-x 2 root root 4096 2009-05-15 13:16 ./source/xap/xfce4-power-manager
+-rw-r--r-- 1 root root 172 2009-02-08 07:12 ./source/xap/xfce4-power-manager/doinst.sh.gz
+-rw-r--r-- 1 root root 936 2009-03-06 23:51 ./source/xap/xfce4-power-manager/slack-desc
+-rw-r--r-- 1 root root 419675 2009-05-15 12:58 ./source/xap/xfce4-power-manager/xfce4-power-manager-0.6.6.tar.bz2
+-rwxr-xr-x 1 root root 2888 2009-06-12 20:54 ./source/xap/xfce4-power-manager/xfce4-power-manager.SlackBuild
+drwxr-xr-x 2 root root 4096 2009-05-19 20:05 ./source/xap/xfractint
+-rw-r--r-- 1 root root 103531 2002-03-14 20:57 ./source/xap/xfractint/palette.maps.tar.gz
+-rw-r--r-- 1 root root 871 2002-03-14 20:25 ./source/xap/xfractint/slack-desc
+-rw-r--r-- 1 root root 1212397 2008-10-14 01:16 ./source/xap/xfractint/xfractint-20.04p09.tar.bz2
+-rwxr-xr-x 1 root root 3446 2009-05-19 20:05 ./source/xap/xfractint/xfractint.SlackBuild
+drwxr-xr-x 2 root root 4096 2009-08-22 21:20 ./source/xap/xgames
+-rw-r--r-- 1 root root 269 1999-08-04 18:49 ./source/xap/xgames/maze.diff.gz
+-rw-r--r-- 1 root root 7945 1994-10-22 00:44 ./source/xap/xgames/maze.tar.gz
+-rw-r--r-- 1 root root 696 2007-03-01 22:04 ./source/xap/xgames/slack-desc
+-rw-r--r-- 1 root root 871 2007-02-22 02:20 ./source/xap/xgames/spider.diff.gz
+-rw-r--r-- 1 root root 130637 1993-12-04 17:22 ./source/xap/xgames/spider.tar.gz
+-rw-r--r-- 1 root root 287 1999-08-04 18:54 ./source/xap/xgames/xcolormap.diff.gz
+-rw-r--r-- 1 root root 2808 1993-12-04 17:18 ./source/xap/xgames/xcolormap.tar.gz
+-rw-r--r-- 1 root root 5937 1993-12-04 17:18 ./source/xap/xgames/xcuckoo-1.1.tar.gz
+-rw-r--r-- 1 root root 228 2007-02-28 19:11 ./source/xap/xgames/xcuckoo.diff.gz
+-rwxr-xr-x 1 root root 4706 2009-08-22 21:21 ./source/xap/xgames/xgames.SlackBuild
+-rw-r--r-- 1 root root 1150 2009-08-22 20:58 ./source/xap/xgames/xlander-2009-07-18.diff.gz
+-rw-r--r-- 1 root root 2543 2007-03-01 18:44 ./source/xap/xgames/xlander.fixes.diff.gz
+-rw-r--r-- 1 root root 15612 1995-06-17 19:23 ./source/xap/xgames/xlander.tar.gz
+-rw-r--r-- 1 root root 12791 2008-10-25 13:16 ./source/xap/xgames/xminesweep3.0.tar.gz
+-rw-r--r-- 1 root root 22849 1999-08-04 19:05 ./source/xap/xgames/xneko.tar.gz
+-rw-r--r-- 1 root root 21694 1993-12-02 07:19 ./source/xap/xgames/xroach.tar.gz
+-rw-r--r-- 1 root root 37809 1995-12-01 02:04 ./source/xap/xgames/xsnow-1.40.tar.gz
+drwxr-xr-x 2 root root 4096 2009-04-06 21:09 ./source/xap/xine-lib
+-rw-r--r-- 1 root root 927 2003-08-12 00:43 ./source/xap/xine-lib/slack-desc
+-rw-r--r-- 1 root root 7468182 2009-04-03 16:02 ./source/xap/xine-lib/xine-lib-1.1.16.3.tar.bz2
+-rwxr-xr-x 1 root root 3060 2009-06-14 03:43 ./source/xap/xine-lib/xine-lib.SlackBuild
+drwxr-xr-x 2 root root 4096 2009-05-23 00:42 ./source/xap/xine-ui
+-rw-r--r-- 1 root root 832 2003-08-12 01:07 ./source/xap/xine-ui/slack-desc
+-rw-r--r-- 1 root root 2138011 2007-05-03 22:47 ./source/xap/xine-ui/xine-ui-0.99.5.tar.bz2
+-rwxr-xr-x 1 root root 2723 2009-05-23 00:42 ./source/xap/xine-ui/xine-ui.SlackBuild
+-rw-r--r-- 1 root root 258 2007-05-04 22:27 ./source/xap/xine-ui/xine.desktop.gz
+drwxr-xr-x 2 root root 4096 2009-08-08 00:54 ./source/xap/xlockmore
+-rw-r--r-- 1 root root 225 2002-02-23 22:23 ./source/xap/xlockmore/l-bob.README
+-rw-r--r-- 1 root root 27870 1998-04-01 15:09 ./source/xap/xlockmore/l-bob.xbm
+-rw-r--r-- 1 root root 15190 1998-04-01 15:09 ./source/xap/xlockmore/l-linux.xbm
+-rw-r--r-- 1 root root 7025 2002-02-23 21:40 ./source/xap/xlockmore/s-bob.xbm
+-rw-r--r-- 1 root root 922 2002-03-24 00:54 ./source/xap/xlockmore/slack-desc
+-rw-r--r-- 1 root root 1901583 2009-04-13 23:37 ./source/xap/xlockmore/xlockmore-5.28.tar.bz2
+-rw-r--r-- 1 root root 194 2009-04-13 23:37 ./source/xap/xlockmore/xlockmore-5.28.tar.bz2.asc
+-rwxr-xr-x 1 root root 3449 2009-08-08 01:09 ./source/xap/xlockmore/xlockmore.SlackBuild
+-rw-r--r-- 1 root root 371 2002-05-30 04:25 ./source/xap/xlockmore/xlockmore.bitmap.diff.gz
+drwxr-xr-x 2 root root 4096 2009-06-09 20:20 ./source/xap/xmms
+-rw-r--r-- 1 root root 236839 2004-03-02 22:28 ./source/xap/xmms/arts_output-0.7.1.tar.gz
+-rw-r--r-- 1 root root 834 2004-02-24 02:30 ./source/xap/xmms/slack-desc
+-rw-r--r-- 1 root root 2581032 2007-11-16 22:53 ./source/xap/xmms/xmms-1.2.11.tar.bz2
+-rwxr-xr-x 1 root root 2938 2009-06-09 20:21 ./source/xap/xmms/xmms.SlackBuild
+-rw-r--r-- 1 root root 525 2008-09-11 20:50 ./source/xap/xmms/xmms.desktop
+-rw-r--r-- 1 root root 279 2008-09-12 20:50 ./source/xap/xmms/xmms.gtk.doublesize.diff.gz
+-rw-r--r-- 1 root root 260 2009-06-09 20:19 ./source/xap/xmms/xmms.wmxmms_vis_depth_workaround.diff.gz
+drwxr-xr-x 2 root root 4096 2009-05-19 20:05 ./source/xap/xpaint
+-rw-r--r-- 1 root root 902 2002-03-12 23:40 ./source/xap/xpaint/slack-desc
+-rw-r--r-- 1 root root 459429 2005-09-09 20:02 ./source/xap/xpaint/xpaint-2.7.8.1.tar.bz2
+-rwxr-xr-x 1 root root 3529 2009-05-19 20:05 ./source/xap/xpaint/xpaint.SlackBuild
+-rw-r--r-- 1 root root 702 2007-05-10 21:48 ./source/xap/xpaint/xpaint_2.7.8.1-1.2.diff.gz
+-rw-r--r-- 1 root root 314 2008-11-06 21:49 ./source/xap/xpaint/xpaint_xaw3d_no_scroll_mode.diff.gz
+drwxr-xr-x 2 root root 4096 2009-05-19 20:05 ./source/xap/xpdf
+-rw-r--r-- 1 root root 532 2007-08-08 19:25 ./source/xap/xpdf/VendorP.h.buggy.diff
+-rw-r--r-- 1 root root 711 2007-04-12 01:49 ./source/xap/xpdf/slack-desc
+-rw-r--r-- 1 root root 674912 2007-02-27 22:56 ./source/xap/xpdf/xpdf-3.02.tar.gz
+-rw-r--r-- 1 root root 189 2007-02-27 22:50 ./source/xap/xpdf/xpdf-3.02.tar.gz.sig
+-rw-r--r-- 1 root root 1050 2007-07-30 18:51 ./source/xap/xpdf/xpdf-3.02pl1.patch
+-rw-r--r-- 1 root root 189 2007-07-30 18:51 ./source/xap/xpdf/xpdf-3.02pl1.patch.sig
+-rw-r--r-- 1 root root 20843 2007-11-07 18:16 ./source/xap/xpdf/xpdf-3.02pl2.patch
+-rw-r--r-- 1 root root 189 2007-11-07 18:16 ./source/xap/xpdf/xpdf-3.02pl2.patch.sig
+-rw-r--r-- 1 root root 30727 2009-04-16 19:18 ./source/xap/xpdf/xpdf-3.02pl3.patch
+-rw-r--r-- 1 root root 197 2009-04-16 19:18 ./source/xap/xpdf/xpdf-3.02pl3.patch.sig
+-rw-r--r-- 1 root root 207 2008-03-02 07:24 ./source/xap/xpdf/xpdf-arabic.diff.gz
+-rw-r--r-- 1 root root 1058 2004-07-18 23:14 ./source/xap/xpdf/xpdf-arabic.tar.gz
+-rw-r--r-- 1 root root 375 2008-03-02 07:46 ./source/xap/xpdf/xpdf-chinese-simplified.diff.gz
+-rw-r--r-- 1 root root 835960 2004-07-27 22:29 ./source/xap/xpdf/xpdf-chinese-simplified.tar.gz
+-rw-r--r-- 1 root root 354 2008-03-02 07:45 ./source/xap/xpdf/xpdf-chinese-traditional.diff.gz
+-rw-r--r-- 1 root root 794604 2004-07-27 22:30 ./source/xap/xpdf/xpdf-chinese-traditional.tar.gz
+-rw-r--r-- 1 root root 242 2008-03-02 07:27 ./source/xap/xpdf/xpdf-cyrillic.diff.gz
+-rw-r--r-- 1 root root 1660 2004-07-18 23:15 ./source/xap/xpdf/xpdf-cyrillic.tar.gz
+-rw-r--r-- 1 root root 236 2008-03-02 07:28 ./source/xap/xpdf/xpdf-greek.diff.gz
+-rw-r--r-- 1 root root 1263 2004-07-18 23:15 ./source/xap/xpdf/xpdf-greek.tar.gz
+-rw-r--r-- 1 root root 224 2008-03-02 07:28 ./source/xap/xpdf/xpdf-hebrew.diff.gz
+-rw-r--r-- 1 root root 1314 2004-07-18 23:15 ./source/xap/xpdf/xpdf-hebrew.tar.gz
+-rw-r--r-- 1 root root 750 2008-03-02 07:48 ./source/xap/xpdf/xpdf-japanese.diff.gz
+-rw-r--r-- 1 root root 494803 2004-07-27 22:30 ./source/xap/xpdf/xpdf-japanese.tar.gz
+-rw-r--r-- 1 root root 312 2008-03-02 07:34 ./source/xap/xpdf/xpdf-korean.diff.gz
+-rw-r--r-- 1 root root 470455 2005-07-07 18:05 ./source/xap/xpdf/xpdf-korean.tar.gz
+-rw-r--r-- 1 root root 200 2008-03-02 07:36 ./source/xap/xpdf/xpdf-latin2.diff.gz
+-rw-r--r-- 1 root root 1435 2004-07-18 23:15 ./source/xap/xpdf/xpdf-latin2.tar.gz
+-rw-r--r-- 1 root root 498 2007-04-12 00:58 ./source/xap/xpdf/xpdf-resizefix.diff.gz
+-rw-r--r-- 1 root root 231 2008-03-02 07:36 ./source/xap/xpdf/xpdf-thai.diff.gz
+-rw-r--r-- 1 root root 1873 2004-07-18 23:17 ./source/xap/xpdf/xpdf-thai.tar.gz
+-rw-r--r-- 1 root root 210 2008-03-02 07:37 ./source/xap/xpdf/xpdf-turkish.diff.gz
+-rw-r--r-- 1 root root 1140 2004-07-18 23:17 ./source/xap/xpdf/xpdf-turkish.tar.gz
+-rwxr-xr-x 1 root root 4735 2009-05-19 20:05 ./source/xap/xpdf/xpdf.SlackBuild
+-rw-r--r-- 1 root root 3290 2008-03-18 02:37 ./source/xap/xpdf/xpdf.desktop
+-rw-r--r-- 1 root root 37396 2007-11-12 05:27 ./source/xap/xpdf/xpdf_3.02-1.3.diff.gz
+-rw-r--r-- 1 root root 636 2007-02-18 03:26 ./source/xap/xpdf/xpdfrc.diff.gz
+drwxr-xr-x 2 root root 4096 2009-05-19 20:05 ./source/xap/xsane
+-rw-r--r-- 1 root root 955 2004-05-11 19:29 ./source/xap/xsane/slack-desc
+-rw-r--r-- 1 root root 2531642 2008-09-21 18:31 ./source/xap/xsane/xsane-0.996.tar.bz2
+-rwxr-xr-x 1 root root 2842 2009-05-19 20:05 ./source/xap/xsane/xsane.SlackBuild
+drwxr-xr-x 2 root root 4096 2009-05-19 20:05 ./source/xap/xscreensaver
+-rw-r--r-- 1 root root 2868 2008-10-17 04:30 ./source/xap/xscreensaver/setuid.c.gz
+-rw-r--r-- 1 root root 887 2008-10-17 04:31 ./source/xap/xscreensaver/slack-desc
+-rw-r--r-- 1 root root 3310808 2008-12-28 07:59 ./source/xap/xscreensaver/xscreensaver-5.08.tar.xz
+-rwxr-xr-x 1 root root 3186 2009-05-19 20:05 ./source/xap/xscreensaver/xscreensaver.SlackBuild
+-rw-r--r-- 1 root root 285 2009-05-15 21:22 ./source/xap/xscreensaver/xscreensaver.electricsheep.diff.gz
+-rw-r--r-- 1 root root 1763 2008-10-17 04:32 ./source/xap/xscreensaver/xscreensaver.setuid.diff.gz
+drwxr-xr-x 2 root root 4096 2009-05-19 20:05 ./source/xap/xv
+-rw-r--r-- 1 root root 688 2002-03-10 06:26 ./source/xap/xv/slack-desc
+-rw-r--r-- 1 root root 2271704 1994-12-22 15:50 ./source/xap/xv/xv-3.10.tar.gz
+-rw-r--r-- 1 root root 20873 2005-05-01 20:45 ./source/xap/xv/xv-3.10a-jumbo-README.txt
+-rw-r--r-- 1 root root 172642 2005-05-01 20:51 ./source/xap/xv/xv-3.10a-jumbo-enh-patch-20050501.txt.bz2
+-rw-r--r-- 1 root root 197713 2005-04-11 03:01 ./source/xap/xv/xv-3.10a-jumbo-fix-patch-20050410.txt.bz2
+-rw-r--r-- 1 root root 21943 1996-10-05 19:33 ./source/xap/xv/xv-3.10a.patch.gz
+-rwxr-xr-x 1 root root 2734 2009-05-19 20:05 ./source/xap/xv/xv.SlackBuild
+-rw-r--r-- 1 root root 200 2005-07-12 22:17 ./source/xap/xv/xv.prefix.diff.gz
+-rw-r--r-- 1 root root 321 2008-11-06 22:29 ./source/xap/xv/xv.prefix_x86_64.diff.gz
+drwxr-xr-x 2 root root 4096 2009-05-19 20:05 ./source/xap/xxgdb
+-rw-r--r-- 1 root root 874 2002-03-13 02:25 ./source/xap/xxgdb/slack-desc
+-rw-r--r-- 1 root root 115537 1995-11-19 16:40 ./source/xap/xxgdb/xxgdb-1.12.tar.gz
+-rwxr-xr-x 1 root root 3066 2009-05-19 20:05 ./source/xap/xxgdb/xxgdb.SlackBuild
+-rw-r--r-- 1 root root 607 2007-02-21 18:30 ./source/xap/xxgdb/xxgdb.fix_glibc_and_gcc.diff.gz
+drwxr-xr-x 3 root root 4096 2008-10-28 21:34 ./source/y
+drwxr-xr-x 2 root root 4096 2009-05-23 00:41 ./source/y/bsd-games
+-rw-r--r-- 1 root root 825 2001-08-30 23:25 ./source/y/bsd-games/bsd-games-2.13.lsm
+-rw-r--r-- 1 root root 1861269 2001-08-30 23:25 ./source/y/bsd-games/bsd-games-2.13.tar.bz2
+-rw-r--r-- 1 root root 164 1999-09-27 21:18 ./source/y/bsd-games/bsd-games-login-fortune.csh
+-rw-r--r-- 1 root root 141 2003-03-14 00:40 ./source/y/bsd-games/bsd-games-login-fortune.sh
+-rwxr-xr-x 1 root root 6427 2009-05-23 00:41 ./source/y/bsd-games/bsd-games.SlackBuild
+-rw-r--r-- 1 root root 563 2003-02-03 21:48 ./source/y/bsd-games/bsd-games.config.params.diff.gz
+-rw-r--r-- 1 root root 283 2003-02-03 22:28 ./source/y/bsd-games/bsd-games.fortlen.diff.gz
+-rw-r--r-- 1 root root 181 2002-03-10 05:27 ./source/y/bsd-games/bsd-games.fortunepath.diff.gz
+-rw-r--r-- 1 root root 265 2006-09-07 02:18 ./source/y/bsd-games/bsd-games.ospeed.diff.gz
+-rw-r--r-- 1 root root 386 2007-08-27 17:51 ./source/y/bsd-games/bsd-games.phantasia_install_fix.diff.gz
+-rw-r--r-- 1 root root 1960 2006-09-09 00:47 ./source/y/bsd-games/bsd-games.pom.diff.gz
+-rw-r--r-- 1 root root 353 2003-02-03 22:51 ./source/y/bsd-games/bsd-games.strfile.8.diff.gz
+-rw-r--r-- 1 root root 405 2007-08-27 17:57 ./source/y/bsd-games/bsd-games.trek-gcc4.diff.gz
+-rw-r--r-- 1 root root 15107 2002-03-10 05:09 ./source/y/bsd-games/fortunes-linuxcookie.tar.gz
+-rw-r--r-- 1 root root 364407 2002-03-10 05:09 ./source/y/bsd-games/fortunes-o.tar.gz
+-rw-r--r-- 1 root root 104848 1993-10-25 00:02 ./source/y/bsd-games/hangman-words.gz
+-rw-r--r-- 1 root root 1056 2002-03-10 04:51 ./source/y/bsd-games/slack-desc
+drwxr-xr-x 4 root root 4096 2009-08-23 08:05 ./testing
+-rw-r--r-- 1 root root 6486 2009-08-23 08:05 ./testing/CHECKSUMS.md5
+-rw-r--r-- 1 root root 197 2009-08-23 08:05 ./testing/CHECKSUMS.md5.asc
+-rw-r--r-- 1 root root 8043 2009-08-23 08:05 ./testing/FILE_LIST
+-rw-r--r-- 1 root root 266389 2009-08-23 08:05 ./testing/MANIFEST.bz2
+-rw-r--r-- 1 root root 3805 2009-08-23 08:05 ./testing/PACKAGES.TXT
+drwxr-xr-x 3 root root 4096 2009-08-25 04:31 ./testing/packages
+-rw-r--r-- 1 root root 510 2009-06-20 17:48 ./testing/packages/bash-4.0.024-x86_64-1.txt
+-rw-r--r-- 1 root root 875636 2009-06-20 17:48 ./testing/packages/bash-4.0.024-x86_64-1.txz
+-rw-r--r-- 1 root root 197 2009-06-20 17:48 ./testing/packages/bash-4.0.024-x86_64-1.txz.asc
+drwxr-xr-x 2 root root 4096 2009-08-23 08:05 ./testing/packages/linux-2.6.30.5
+-rw-r--r-- 1 root root 3420 2009-08-23 07:23 ./testing/packages/linux-2.6.30.5/README_FIRST.TXT
+-rw-r--r-- 1 root root 344 2009-08-23 00:55 ./testing/packages/linux-2.6.30.5/kernel-firmware-2.6.30.5-noarch-1_testing.txt
+-rw-r--r-- 1 root root 470352 2009-08-23 00:55 ./testing/packages/linux-2.6.30.5/kernel-firmware-2.6.30.5-noarch-1_testing.txz
+-rw-r--r-- 1 root root 197 2009-08-23 00:55 ./testing/packages/linux-2.6.30.5/kernel-firmware-2.6.30.5-noarch-1_testing.txz.asc
+-rw-r--r-- 1 root root 626 2009-08-23 00:55 ./testing/packages/linux-2.6.30.5/kernel-generic-2.6.30.5-x86_64-1_testing.txt
+-rw-r--r-- 1 root root 3068024 2009-08-23 00:55 ./testing/packages/linux-2.6.30.5/kernel-generic-2.6.30.5-x86_64-1_testing.txz
+-rw-r--r-- 1 root root 197 2009-08-23 00:55 ./testing/packages/linux-2.6.30.5/kernel-generic-2.6.30.5-x86_64-1_testing.txz.asc
+-rw-r--r-- 1 root root 332 2009-08-23 00:48 ./testing/packages/linux-2.6.30.5/kernel-headers-2.6.30.5-x86-1_testing.txt
+-rw-r--r-- 1 root root 525272 2009-08-23 00:48 ./testing/packages/linux-2.6.30.5/kernel-headers-2.6.30.5-x86-1_testing.txz
+-rw-r--r-- 1 root root 197 2009-08-23 00:48 ./testing/packages/linux-2.6.30.5/kernel-headers-2.6.30.5-x86-1_testing.txz.asc
+-rw-r--r-- 1 root root 520 2009-08-23 05:03 ./testing/packages/linux-2.6.30.5/kernel-modules-2.6.30.5-x86_64-1_testing.txt
+-rw-r--r-- 1 root root 16707836 2009-08-23 05:03 ./testing/packages/linux-2.6.30.5/kernel-modules-2.6.30.5-x86_64-1_testing.txz
+-rw-r--r-- 1 root root 197 2009-08-23 05:03 ./testing/packages/linux-2.6.30.5/kernel-modules-2.6.30.5-x86_64-1_testing.txz.asc
+-rw-r--r-- 1 root root 317 2009-08-23 00:47 ./testing/packages/linux-2.6.30.5/kernel-source-2.6.30.5-noarch-1_testing.txt
+-rw-r--r-- 1 root root 50832812 2009-08-23 00:47 ./testing/packages/linux-2.6.30.5/kernel-source-2.6.30.5-noarch-1_testing.txz
+-rw-r--r-- 1 root root 197 2009-08-23 00:47 ./testing/packages/linux-2.6.30.5/kernel-source-2.6.30.5-noarch-1_testing.txz.asc
+drwxr-xr-x 4 root root 4096 2009-08-25 04:31 ./testing/source
+drwxr-xr-x 3 root root 4096 2009-02-23 21:59 ./testing/source/bash
+drwxr-xr-x 2 root root 4096 2009-06-20 17:38 ./testing/source/bash/bash-4.0-patches
+-rw-r--r-- 1 root root 5156 2009-03-09 15:00 ./testing/source/bash/bash-4.0-patches/bash40-001
+-rw-r--r-- 1 root root 65 2009-03-09 15:01 ./testing/source/bash/bash-4.0-patches/bash40-001.sig
+-rw-r--r-- 1 root root 1220 2009-03-09 15:00 ./testing/source/bash/bash-4.0-patches/bash40-002
+-rw-r--r-- 1 root root 65 2009-03-09 15:01 ./testing/source/bash/bash-4.0-patches/bash40-002.sig
+-rw-r--r-- 1 root root 1749 2009-03-09 15:00 ./testing/source/bash/bash-4.0-patches/bash40-003
+-rw-r--r-- 1 root root 65 2009-03-09 15:01 ./testing/source/bash/bash-4.0-patches/bash40-003.sig
+-rw-r--r-- 1 root root 1347 2009-03-09 15:00 ./testing/source/bash/bash-4.0-patches/bash40-004
+-rw-r--r-- 1 root root 65 2009-03-09 15:01 ./testing/source/bash/bash-4.0-patches/bash40-004.sig
+-rw-r--r-- 1 root root 2021 2009-03-09 15:00 ./testing/source/bash/bash-4.0-patches/bash40-005
+-rw-r--r-- 1 root root 65 2009-03-09 15:01 ./testing/source/bash/bash-4.0-patches/bash40-005.sig
+-rw-r--r-- 1 root root 1133 2009-03-09 15:00 ./testing/source/bash/bash-4.0-patches/bash40-006
+-rw-r--r-- 1 root root 65 2009-03-09 15:01 ./testing/source/bash/bash-4.0-patches/bash40-006.sig
+-rw-r--r-- 1 root root 6920 2009-03-09 15:00 ./testing/source/bash/bash-4.0-patches/bash40-007
+-rw-r--r-- 1 root root 65 2009-03-09 15:01 ./testing/source/bash/bash-4.0-patches/bash40-007.sig
+-rw-r--r-- 1 root root 1196 2009-03-09 15:00 ./testing/source/bash/bash-4.0-patches/bash40-008
+-rw-r--r-- 1 root root 65 2009-03-09 15:01 ./testing/source/bash/bash-4.0-patches/bash40-008.sig
+-rw-r--r-- 1 root root 1821 2009-03-09 15:00 ./testing/source/bash/bash-4.0-patches/bash40-009
+-rw-r--r-- 1 root root 65 2009-03-09 15:01 ./testing/source/bash/bash-4.0-patches/bash40-009.sig
+-rw-r--r-- 1 root root 2152 2009-03-09 15:00 ./testing/source/bash/bash-4.0-patches/bash40-010
+-rw-r--r-- 1 root root 65 2009-03-09 15:01 ./testing/source/bash/bash-4.0-patches/bash40-010.sig
+-rw-r--r-- 1 root root 1383 2009-04-06 12:35 ./testing/source/bash/bash-4.0-patches/bash40-011
+-rw-r--r-- 1 root root 65 2009-04-06 12:35 ./testing/source/bash/bash-4.0-patches/bash40-011.sig
+-rw-r--r-- 1 root root 1459 2009-04-06 12:35 ./testing/source/bash/bash-4.0-patches/bash40-012
+-rw-r--r-- 1 root root 65 2009-04-06 12:35 ./testing/source/bash/bash-4.0-patches/bash40-012.sig
+-rw-r--r-- 1 root root 4629 2009-04-06 12:35 ./testing/source/bash/bash-4.0-patches/bash40-013
+-rw-r--r-- 1 root root 65 2009-04-06 12:35 ./testing/source/bash/bash-4.0-patches/bash40-013.sig
+-rw-r--r-- 1 root root 3709 2009-04-06 12:35 ./testing/source/bash/bash-4.0-patches/bash40-014
+-rw-r--r-- 1 root root 65 2009-04-06 12:35 ./testing/source/bash/bash-4.0-patches/bash40-014.sig
+-rw-r--r-- 1 root root 1914 2009-04-06 12:35 ./testing/source/bash/bash-4.0-patches/bash40-015
+-rw-r--r-- 1 root root 65 2009-04-06 12:35 ./testing/source/bash/bash-4.0-patches/bash40-015.sig
+-rw-r--r-- 1 root root 3032 2009-04-06 12:35 ./testing/source/bash/bash-4.0-patches/bash40-016
+-rw-r--r-- 1 root root 65 2009-04-06 12:35 ./testing/source/bash/bash-4.0-patches/bash40-016.sig
+-rw-r--r-- 1 root root 1496 2009-04-06 12:35 ./testing/source/bash/bash-4.0-patches/bash40-017
+-rw-r--r-- 1 root root 65 2009-04-06 12:35 ./testing/source/bash/bash-4.0-patches/bash40-017.sig
+-rw-r--r-- 1 root root 2614 2009-05-16 20:39 ./testing/source/bash/bash-4.0-patches/bash40-018
+-rw-r--r-- 1 root root 65 2009-05-16 20:39 ./testing/source/bash/bash-4.0-patches/bash40-018.sig
+-rw-r--r-- 1 root root 3309 2009-05-16 20:40 ./testing/source/bash/bash-4.0-patches/bash40-019
+-rw-r--r-- 1 root root 65 2009-05-16 20:40 ./testing/source/bash/bash-4.0-patches/bash40-019.sig
+-rw-r--r-- 1 root root 2666 2009-05-16 20:40 ./testing/source/bash/bash-4.0-patches/bash40-020
+-rw-r--r-- 1 root root 65 2009-05-16 20:40 ./testing/source/bash/bash-4.0-patches/bash40-020.sig
+-rw-r--r-- 1 root root 1547 2009-05-16 20:40 ./testing/source/bash/bash-4.0-patches/bash40-021
+-rw-r--r-- 1 root root 65 2009-05-16 20:40 ./testing/source/bash/bash-4.0-patches/bash40-021.sig
+-rw-r--r-- 1 root root 1592 2009-05-16 20:40 ./testing/source/bash/bash-4.0-patches/bash40-022
+-rw-r--r-- 1 root root 65 2009-05-16 20:40 ./testing/source/bash/bash-4.0-patches/bash40-022.sig
+-rw-r--r-- 1 root root 2148 2009-05-16 20:41 ./testing/source/bash/bash-4.0-patches/bash40-023
+-rw-r--r-- 1 root root 65 2009-05-16 20:41 ./testing/source/bash/bash-4.0-patches/bash40-023.sig
+-rw-r--r-- 1 root root 3049 2009-05-16 20:41 ./testing/source/bash/bash-4.0-patches/bash40-024
+-rw-r--r-- 1 root root 65 2009-05-16 20:41 ./testing/source/bash/bash-4.0-patches/bash40-024.sig
+-rw-r--r-- 1 root root 4707018 2009-02-20 20:09 ./testing/source/bash/bash-4.0.tar.bz2
+-rwxr-xr-x 1 root root 2109 2009-06-20 17:47 ./testing/source/bash/bash.SlackBuild
+-rw-r--r-- 1 root root 189 2009-02-23 21:59 ./testing/source/bash/doinst.sh.gz
+-rw-r--r-- 1 root root 965 2002-03-23 21:47 ./testing/source/bash/slack-desc
+drwxr-xr-x 2 root root 4096 2009-08-23 07:44 ./testing/source/linux-2.6.30.5
+-rw-r--r-- 1 root root 94034 2009-08-23 00:55 ./testing/source/linux-2.6.30.5/config-generic-2.6.30.5
+drwxr-xr-x 2 root root 4096 2009-08-25 10:30 ./usb-and-pxe-installers
+-rw-r--r-- 1 root root 31142 2009-07-22 14:49 ./usb-and-pxe-installers/README_PXE.TXT
+-rw-r--r-- 1 root root 7938 2009-07-22 14:47 ./usb-and-pxe-installers/README_USB.TXT
+-rw-r--r-- 1 root root 345 2009-02-17 13:57 ./usb-and-pxe-installers/pxelinux.cfg_default
+-rw-r--r-- 1 root root 21266432 2009-08-25 10:28 ./usb-and-pxe-installers/usbboot.img
+-rw-r--r-- 1 root root 7908 2009-05-14 10:30 ./usb-and-pxe-installers/usbimg2disk.sh
diff --git a/GPG-KEY b/GPG-KEY
index d6340f0c..a5d3d77a 100644
--- a/GPG-KEY
+++ b/GPG-KEY
@@ -1,11 +1,11 @@
security@slackware.com public key
-Type bits/keyID Date User ID
-pub 1024D/40102233 2003-02-26 Slackware Linux Project <security@slackware.com>
-sub 1024g/4E523569 2003-02-26 [expires: 2012-12-21]
+pub 1024D/40102233 2003-02-26 [expires: 2038-01-19]
+uid Slackware Linux Project <security@slackware.com>
+sub 1024g/4E523569 2003-02-26 [expires: 2038-01-19]
-----BEGIN PGP PUBLIC KEY BLOCK-----
-Version: GnuPG v1.2.1 (GNU/Linux)
+Version: GnuPG v1.4.12 (GNU/Linux)
mQGiBD5dIFQRBADB31WinbXdaGk/8RNkpnZclu1w3Xmd5ItACDLB2FhOhArw35EA
MOYzxI0gRtDNWN4pn9n74q4HbFzyRWElThWRtBTYLEpImzrk7HYVCjMxjw5A0fTr
@@ -16,16 +16,16 @@ JIz4LAZ3+rI77rbn7gHHdp7CSAuV+QHv3aNanUD/KGz5SPSvF4w+5qRM4PfPNT1h
LMV8BACzxiyX7vzeE4ZxNYvcuCtv0mvEHl9yD66NFA35RvXaO0QiRVYeoUa5JOQZ
gwq+fIB0zgsEYDhXFkC1hM/QL4NccMRk8C09nFn4eiz4dAEnwKt4rLCJKhkLl1DW
TSoXHe/dOXaLnFyLzB1J8hEYmUvw3SwPt//wMqDiVBLeZfFcdLQwU2xhY2t3YXJl
-IExpbnV4IFByb2plY3QgPHNlY3VyaXR5QHNsYWNrd2FyZS5jb20+iF8EExECAB8F
-Aj5dIFQFCRJ3owAECwcDAgMVAgMDFgIBAh4BAheAAAoJEGpEY8BAECIzee0An3My
-boalJ5nLePD0HCzMuf8Ix8gPAJ9lnU1wqNVGza0t89ACTurDoppQ2rkBDQQ+XSBV
+IExpbnV4IFByb2plY3QgPHNlY3VyaXR5QHNsYWNrd2FyZS5jb20+iF8EExECAB8E
+CwcDAgMVAgMDFgIBAh4BAheABQJQPlypBQlBo7MrAAoJEGpEY8BAECIzjOwAn3vp
+tb6K1v2wLI9eVlnCdx4m1btpAJ9sFt4KwJrEdiO5wFC4xe9G4eZl4rkBDQQ+XSBV
EAQA3VYlpPyRKdOKoM6t1SwNG0YgVFSvxy/eiratBf7misDBsJeH86Pf8H9OfVHO
cqscLiC+iqvDgqeTUX9vASjlnvcoS/3H5TDPlxiifIDggqd2euNtJ8+lyXRBV6yP
sBIA6zki9cR4zphe48hKpSsDfj7uL5sfyc2UmKKboSu3x7cAAwUD/1jmoLQs9bIt
bTosoy+5+Uzrl0ShRlv+iZV8RPzAMFuRJNxUJkUmmThowtXRaPKFI9AVd+pP44aA
J+zxCPtS2isiW20AxubJoBPpXcVatJWi4sG+TM5Z5VRoLg7tIDNVWsyHGXPAhIG2
-Y8Z1kyWwb4P8A/W2b1ZCqS7Fx4yEhTikiEwEGBECAAwFAj5dIFUFCRJ3owAACgkQ
-akRjwEAQIjM1uwCdE7V4mPCqdby/nV699NxKX0iW/OsAniaVhEip8Ptff74Sv4JV
-tb+Sth2l
-=H5uu
+Y8Z1kyWwb4P8A/W2b1ZCqS7Fx4yEhTikiEwEGBECAAwFAlA+XL8FCUGjs2IACgkQ
+akRjwEAQIjMsbQCgk59KFTbTlZfJ6FoZjjEmK3/xGR4AniYT+EdSdvEyRtZYkqWz
+p1ayvO1b
+=tibb
-----END PGP PUBLIC KEY BLOCK-----
diff --git a/READ_DVD.TXT b/READ_DVD.TXT
deleted file mode 100644
index 9fe54b21..00000000
--- a/READ_DVD.TXT
+++ /dev/null
@@ -1,9105 +0,0 @@
-
-Welcome to the Slackware Linux version 13.0 64-bit x86_64 DVD.
-
-Here's a tree showing the contents of this disc. For complete details,
-see additional documentation files.
-
-.
-|-- ANNOUNCE.13_0
-|-- BOOTING.TXT
-|-- CHANGES_AND_HINTS.TXT
-|-- CHECKSUMS.md5
-|-- CHECKSUMS.md5.asc
-|-- COPYING
-|-- COPYING3
-|-- COPYRIGHT.TXT
-|-- CRYPTO_NOTICE.TXT
-|-- ChangeLog.txt
-|-- FILELIST.TXT
-|-- GPG-KEY
-|-- PACKAGES.TXT
-|-- README.TXT
-|-- README.initrd
-|-- README_CRYPT.TXT
-|-- README_LVM.TXT
-|-- README_RAID.TXT
-|-- READ_DVD.TXT
-|-- RELEASE_NOTES
-|-- SPEAKUP_DOCS.TXT
-|-- SPEAK_INSTALL.TXT
-|-- Slackware-HOWTO
-|-- extra
-| |-- CHECKSUMS.md5
-| |-- CHECKSUMS.md5.asc
-| |-- FILE_LIST
-| |-- MANIFEST.bz2
-| |-- PACKAGES.TXT
-| |-- README.TXT
-| |-- aspell-word-lists
-| | |-- aspell-af-0.50_0-noarch-4.txt
-| | |-- aspell-af-0.50_0-noarch-4.txz
-| | |-- aspell-af-0.50_0-noarch-4.txz.asc
-| | |-- aspell-am-0.03_1-noarch-4.txt
-| | |-- aspell-am-0.03_1-noarch-4.txz
-| | |-- aspell-am-0.03_1-noarch-4.txz.asc
-| | |-- aspell-az-0.02_0-noarch-4.txt
-| | |-- aspell-az-0.02_0-noarch-4.txz
-| | |-- aspell-az-0.02_0-noarch-4.txz.asc
-| | |-- aspell-be-0.01-noarch-4.txt
-| | |-- aspell-be-0.01-noarch-4.txz
-| | |-- aspell-be-0.01-noarch-4.txz.asc
-| | |-- aspell-bg-4.0_0-noarch-4.txt
-| | |-- aspell-bg-4.0_0-noarch-4.txz
-| | |-- aspell-bg-4.0_0-noarch-4.txz.asc
-| | |-- aspell-bn-0.01.1_1-noarch-4.txt
-| | |-- aspell-bn-0.01.1_1-noarch-4.txz
-| | |-- aspell-bn-0.01.1_1-noarch-4.txz.asc
-| | |-- aspell-br-0.50_2-noarch-4.txt
-| | |-- aspell-br-0.50_2-noarch-4.txz
-| | |-- aspell-br-0.50_2-noarch-4.txz.asc
-| | |-- aspell-ca-20040130_1-noarch-4.txt
-| | |-- aspell-ca-20040130_1-noarch-4.txz
-| | |-- aspell-ca-20040130_1-noarch-4.txz.asc
-| | |-- aspell-cs-20040614_1-noarch-4.txt
-| | |-- aspell-cs-20040614_1-noarch-4.txz
-| | |-- aspell-cs-20040614_1-noarch-4.txz.asc
-| | |-- aspell-csb-0.02_0-noarch-4.txt
-| | |-- aspell-csb-0.02_0-noarch-4.txz
-| | |-- aspell-csb-0.02_0-noarch-4.txz.asc
-| | |-- aspell-cy-0.50_3-noarch-4.txt
-| | |-- aspell-cy-0.50_3-noarch-4.txz
-| | |-- aspell-cy-0.50_3-noarch-4.txz.asc
-| | |-- aspell-da-1.4.42_1-noarch-4.txt
-| | |-- aspell-da-1.4.42_1-noarch-4.txz
-| | |-- aspell-da-1.4.42_1-noarch-4.txz.asc
-| | |-- aspell-de-20030222_1-noarch-4.txt
-| | |-- aspell-de-20030222_1-noarch-4.txz
-| | |-- aspell-de-20030222_1-noarch-4.txz.asc
-| | |-- aspell-el-0.50_3-noarch-4.txt
-| | |-- aspell-el-0.50_3-noarch-4.txz
-| | |-- aspell-el-0.50_3-noarch-4.txz.asc
-| | |-- aspell-eo-0.50_2-noarch-4.txt
-| | |-- aspell-eo-0.50_2-noarch-4.txz
-| | |-- aspell-eo-0.50_2-noarch-4.txz.asc
-| | |-- aspell-es-0.50_2-noarch-4.txt
-| | |-- aspell-es-0.50_2-noarch-4.txz
-| | |-- aspell-es-0.50_2-noarch-4.txz.asc
-| | |-- aspell-et-0.1.21_1-noarch-4.txt
-| | |-- aspell-et-0.1.21_1-noarch-4.txz
-| | |-- aspell-et-0.1.21_1-noarch-4.txz.asc
-| | |-- aspell-fa-0.02_0-noarch-4.txt
-| | |-- aspell-fa-0.02_0-noarch-4.txz
-| | |-- aspell-fa-0.02_0-noarch-4.txz.asc
-| | |-- aspell-fi-0.7_0-noarch-4.txt
-| | |-- aspell-fi-0.7_0-noarch-4.txz
-| | |-- aspell-fi-0.7_0-noarch-4.txz.asc
-| | |-- aspell-fo-0.2.16_1-noarch-4.txt
-| | |-- aspell-fo-0.2.16_1-noarch-4.txz
-| | |-- aspell-fo-0.2.16_1-noarch-4.txz.asc
-| | |-- aspell-fr-0.50_3-noarch-4.txt
-| | |-- aspell-fr-0.50_3-noarch-4.txz
-| | |-- aspell-fr-0.50_3-noarch-4.txz.asc
-| | |-- aspell-ga-3.6_0-noarch-4.txt
-| | |-- aspell-ga-3.6_0-noarch-4.txz
-| | |-- aspell-ga-3.6_0-noarch-4.txz.asc
-| | |-- aspell-gd-0.1.1_1-noarch-4.txt
-| | |-- aspell-gd-0.1.1_1-noarch-4.txz
-| | |-- aspell-gd-0.1.1_1-noarch-4.txz.asc
-| | |-- aspell-gl-0.50_0-noarch-4.txt
-| | |-- aspell-gl-0.50_0-noarch-4.txz
-| | |-- aspell-gl-0.50_0-noarch-4.txz.asc
-| | |-- aspell-gu-0.02_0-noarch-4.txt
-| | |-- aspell-gu-0.02_0-noarch-4.txz
-| | |-- aspell-gu-0.02_0-noarch-4.txz.asc
-| | |-- aspell-gv-0.50_0-noarch-4.txt
-| | |-- aspell-gv-0.50_0-noarch-4.txz
-| | |-- aspell-gv-0.50_0-noarch-4.txz.asc
-| | |-- aspell-he-1.0_0-noarch-4.txt
-| | |-- aspell-he-1.0_0-noarch-4.txz
-| | |-- aspell-he-1.0_0-noarch-4.txz.asc
-| | |-- aspell-hi-0.01_0-noarch-4.txt
-| | |-- aspell-hi-0.01_0-noarch-4.txz
-| | |-- aspell-hi-0.01_0-noarch-4.txz.asc
-| | |-- aspell-hil-0.11_0-noarch-4.txt
-| | |-- aspell-hil-0.11_0-noarch-4.txz
-| | |-- aspell-hil-0.11_0-noarch-4.txz.asc
-| | |-- aspell-hr-0.51_0-noarch-4.txt
-| | |-- aspell-hr-0.51_0-noarch-4.txz
-| | |-- aspell-hr-0.51_0-noarch-4.txz.asc
-| | |-- aspell-hsb-0.01_1-noarch-4.txt
-| | |-- aspell-hsb-0.01_1-noarch-4.txz
-| | |-- aspell-hsb-0.01_1-noarch-4.txz.asc
-| | |-- aspell-hu-0.99.4.2_0-noarch-4.txt
-| | |-- aspell-hu-0.99.4.2_0-noarch-4.txz
-| | |-- aspell-hu-0.99.4.2_0-noarch-4.txz.asc
-| | |-- aspell-ia-0.50_1-noarch-4.txt
-| | |-- aspell-ia-0.50_1-noarch-4.txz
-| | |-- aspell-ia-0.50_1-noarch-4.txz.asc
-| | |-- aspell-id-1.2_0-noarch-4.txt
-| | |-- aspell-id-1.2_0-noarch-4.txz
-| | |-- aspell-id-1.2_0-noarch-4.txz.asc
-| | |-- aspell-is-0.51.1_0-noarch-4.txt
-| | |-- aspell-is-0.51.1_0-noarch-4.txz
-| | |-- aspell-is-0.51.1_0-noarch-4.txz.asc
-| | |-- aspell-it-2.2_20050523_0-noarch-4.txt
-| | |-- aspell-it-2.2_20050523_0-noarch-4.txz
-| | |-- aspell-it-2.2_20050523_0-noarch-4.txz.asc
-| | |-- aspell-ku-0.12_0-noarch-4.txt
-| | |-- aspell-ku-0.12_0-noarch-4.txz
-| | |-- aspell-ku-0.12_0-noarch-4.txz.asc
-| | |-- aspell-la-20020503_0-noarch-4.txt
-| | |-- aspell-la-20020503_0-noarch-4.txz
-| | |-- aspell-la-20020503_0-noarch-4.txz.asc
-| | |-- aspell-lt-1.1+cvs20060103_0-noarch-4.txt
-| | |-- aspell-lt-1.1+cvs20060103_0-noarch-4.txz
-| | |-- aspell-lt-1.1+cvs20060103_0-noarch-4.txz.asc
-| | |-- aspell-lv-0.5.5_1-noarch-4.txt
-| | |-- aspell-lv-0.5.5_1-noarch-4.txz
-| | |-- aspell-lv-0.5.5_1-noarch-4.txz.asc
-| | |-- aspell-mg-0.03_0-noarch-4.txt
-| | |-- aspell-mg-0.03_0-noarch-4.txz
-| | |-- aspell-mg-0.03_0-noarch-4.txz.asc
-| | |-- aspell-mi-0.50_0-noarch-4.txt
-| | |-- aspell-mi-0.50_0-noarch-4.txz
-| | |-- aspell-mi-0.50_0-noarch-4.txz.asc
-| | |-- aspell-mk-0.50_0-noarch-4.txt
-| | |-- aspell-mk-0.50_0-noarch-4.txz
-| | |-- aspell-mk-0.50_0-noarch-4.txz.asc
-| | |-- aspell-mn-0.01_0-noarch-4.txt
-| | |-- aspell-mn-0.01_0-noarch-4.txz
-| | |-- aspell-mn-0.01_0-noarch-4.txz.asc
-| | |-- aspell-mr-0.10_0-noarch-4.txt
-| | |-- aspell-mr-0.10_0-noarch-4.txz
-| | |-- aspell-mr-0.10_0-noarch-4.txz.asc
-| | |-- aspell-ms-0.50_0-noarch-4.txt
-| | |-- aspell-ms-0.50_0-noarch-4.txz
-| | |-- aspell-ms-0.50_0-noarch-4.txz.asc
-| | |-- aspell-mt-0.50_0-noarch-4.txt
-| | |-- aspell-mt-0.50_0-noarch-4.txz
-| | |-- aspell-mt-0.50_0-noarch-4.txz.asc
-| | |-- aspell-nb-0.50.1_0-noarch-4.txt
-| | |-- aspell-nb-0.50.1_0-noarch-4.txz
-| | |-- aspell-nb-0.50.1_0-noarch-4.txz.asc
-| | |-- aspell-nds-0.01_0-noarch-4.txt
-| | |-- aspell-nds-0.01_0-noarch-4.txz
-| | |-- aspell-nds-0.01_0-noarch-4.txz.asc
-| | |-- aspell-nl-0.50_2-noarch-4.txt
-| | |-- aspell-nl-0.50_2-noarch-4.txz
-| | |-- aspell-nl-0.50_2-noarch-4.txz.asc
-| | |-- aspell-nn-0.50.1_1-noarch-4.txt
-| | |-- aspell-nn-0.50.1_1-noarch-4.txz
-| | |-- aspell-nn-0.50.1_1-noarch-4.txz.asc
-| | |-- aspell-no-0.50_2-noarch-4.txt
-| | |-- aspell-no-0.50_2-noarch-4.txz
-| | |-- aspell-no-0.50_2-noarch-4.txz.asc
-| | |-- aspell-ny-0.01_0-noarch-4.txt
-| | |-- aspell-ny-0.01_0-noarch-4.txz
-| | |-- aspell-ny-0.01_0-noarch-4.txz.asc
-| | |-- aspell-or-0.03_1-noarch-4.txt
-| | |-- aspell-or-0.03_1-noarch-4.txz
-| | |-- aspell-or-0.03_1-noarch-4.txz.asc
-| | |-- aspell-pa-0.01_1-noarch-4.txt
-| | |-- aspell-pa-0.01_1-noarch-4.txz
-| | |-- aspell-pa-0.01_1-noarch-4.txz.asc
-| | |-- aspell-pl-0.51_0-noarch-4.txt
-| | |-- aspell-pl-0.51_0-noarch-4.txz
-| | |-- aspell-pl-0.51_0-noarch-4.txz.asc
-| | |-- aspell-pt-0.50_2-noarch-4.txt
-| | |-- aspell-pt-0.50_2-noarch-4.txz
-| | |-- aspell-pt-0.50_2-noarch-4.txz.asc
-| | |-- aspell-pt_BR-20080707_0-noarch-4.txt
-| | |-- aspell-pt_BR-20080707_0-noarch-4.txz
-| | |-- aspell-pt_BR-20080707_0-noarch-4.txz.asc
-| | |-- aspell-qu-0.02_0-noarch-4.txt
-| | |-- aspell-qu-0.02_0-noarch-4.txz
-| | |-- aspell-qu-0.02_0-noarch-4.txz.asc
-| | |-- aspell-ro-0.50_2-noarch-4.txt
-| | |-- aspell-ro-0.50_2-noarch-4.txz
-| | |-- aspell-ro-0.50_2-noarch-4.txz.asc
-| | |-- aspell-ru-0.99f7_1-noarch-4.txt
-| | |-- aspell-ru-0.99f7_1-noarch-4.txz
-| | |-- aspell-ru-0.99f7_1-noarch-4.txz.asc
-| | |-- aspell-rw-0.50_0-noarch-4.txt
-| | |-- aspell-rw-0.50_0-noarch-4.txz
-| | |-- aspell-rw-0.50_0-noarch-4.txz.asc
-| | |-- aspell-sc-1.0-noarch-4.txt
-| | |-- aspell-sc-1.0-noarch-4.txz
-| | |-- aspell-sc-1.0-noarch-4.txz.asc
-| | |-- aspell-sk-0.52_0-noarch-4.txt
-| | |-- aspell-sk-0.52_0-noarch-4.txz
-| | |-- aspell-sk-0.52_0-noarch-4.txz.asc
-| | |-- aspell-sl-0.50_0-noarch-4.txt
-| | |-- aspell-sl-0.50_0-noarch-4.txz
-| | |-- aspell-sl-0.50_0-noarch-4.txz.asc
-| | |-- aspell-sr-0.02-noarch-4.txt
-| | |-- aspell-sr-0.02-noarch-4.txz
-| | |-- aspell-sr-0.02-noarch-4.txz.asc
-| | |-- aspell-sv-0.51_0-noarch-4.txt
-| | |-- aspell-sv-0.51_0-noarch-4.txz
-| | |-- aspell-sv-0.51_0-noarch-4.txz.asc
-| | |-- aspell-sw-0.50_0-noarch-4.txt
-| | |-- aspell-sw-0.50_0-noarch-4.txz
-| | |-- aspell-sw-0.50_0-noarch-4.txz.asc
-| | |-- aspell-ta-20040424_1-noarch-4.txt
-| | |-- aspell-ta-20040424_1-noarch-4.txz
-| | |-- aspell-ta-20040424_1-noarch-4.txz.asc
-| | |-- aspell-te-0.01_2-noarch-4.txt
-| | |-- aspell-te-0.01_2-noarch-4.txz
-| | |-- aspell-te-0.01_2-noarch-4.txz.asc
-| | |-- aspell-tet-0.1.1-noarch-4.txt
-| | |-- aspell-tet-0.1.1-noarch-4.txz
-| | |-- aspell-tet-0.1.1-noarch-4.txz.asc
-| | |-- aspell-tl-0.02_1-noarch-4.txt
-| | |-- aspell-tl-0.02_1-noarch-4.txz
-| | |-- aspell-tl-0.02_1-noarch-4.txz.asc
-| | |-- aspell-tn-1.0.1_0-noarch-4.txt
-| | |-- aspell-tn-1.0.1_0-noarch-4.txz
-| | |-- aspell-tn-1.0.1_0-noarch-4.txz.asc
-| | |-- aspell-tr-0.50_0-noarch-4.txt
-| | |-- aspell-tr-0.50_0-noarch-4.txz
-| | |-- aspell-tr-0.50_0-noarch-4.txz.asc
-| | |-- aspell-uk-0.51_0-noarch-4.txt
-| | |-- aspell-uk-0.51_0-noarch-4.txz
-| | |-- aspell-uk-0.51_0-noarch-4.txz.asc
-| | |-- aspell-uk-1.1_0-noarch-4.txt
-| | |-- aspell-uk-1.1_0-noarch-4.txz
-| | |-- aspell-uk-1.1_0-noarch-4.txz.asc
-| | |-- aspell-uz-0.5_0-noarch-4.txt
-| | |-- aspell-uz-0.5_0-noarch-4.txz
-| | |-- aspell-uz-0.5_0-noarch-4.txz.asc
-| | |-- aspell-vi-0.01.1_1-noarch-4.txt
-| | |-- aspell-vi-0.01.1_1-noarch-4.txz
-| | |-- aspell-vi-0.01.1_1-noarch-4.txz.asc
-| | |-- aspell-wa-0.50_0-noarch-4.txt
-| | |-- aspell-wa-0.50_0-noarch-4.txz
-| | |-- aspell-wa-0.50_0-noarch-4.txz.asc
-| | |-- aspell-yi-0.01.1_1-noarch-4.txt
-| | |-- aspell-yi-0.01.1_1-noarch-4.txz
-| | |-- aspell-yi-0.01.1_1-noarch-4.txz.asc
-| | |-- aspell-zu-0.50_0-noarch-4.txt
-| | |-- aspell-zu-0.50_0-noarch-4.txz
-| | `-- aspell-zu-0.50_0-noarch-4.txz.asc
-| |-- bash-completion
-| | |-- bash-completion-20060301-noarch-2.txt
-| | |-- bash-completion-20060301-noarch-2.txz
-| | `-- bash-completion-20060301-noarch-2.txz.asc
-| |-- bittorrent
-| | |-- README
-| | |-- bittorrent-4.4.0-noarch-3.txt
-| | |-- bittorrent-4.4.0-noarch-3.txz
-| | `-- bittorrent-4.4.0-noarch-3.txz.asc
-| |-- brltty
-| | |-- brltty-4.0-x86_64-1.txt
-| | |-- brltty-4.0-x86_64-1.txz
-| | `-- brltty-4.0-x86_64-1.txz.asc
-| |-- flashplayer-plugin -> source/flashplayer-plugin
-| |-- jdk-6
-| | |-- jdk-6u16-x86_64-1.txt
-| | |-- jdk-6u16-x86_64-1.txz
-| | `-- jdk-6u16-x86_64-1.txz.asc
-| |-- kde3-compat
-| | |-- arts-1.5.10-x86_64-opt1.txt
-| | |-- arts-1.5.10-x86_64-opt1.txz
-| | |-- arts-1.5.10-x86_64-opt1.txz.asc
-| | |-- k3b3-1.0.5-x86_64-opt1.txt
-| | |-- k3b3-1.0.5-x86_64-opt1.txz
-| | |-- k3b3-1.0.5-x86_64-opt1.txz.asc
-| | |-- kdelibs3-3.5.10-x86_64-opt1.txt
-| | |-- kdelibs3-3.5.10-x86_64-opt1.txz
-| | |-- kdelibs3-3.5.10-x86_64-opt1.txz.asc
-| | |-- qt3-3.3.8b-x86_64-opt2.txt
-| | |-- qt3-3.3.8b-x86_64-opt2.txz
-| | `-- qt3-3.3.8b-x86_64-opt2.txz.asc
-| |-- mpg123
-| | |-- mpg123-0.65-x86_64-1.txt
-| | |-- mpg123-0.65-x86_64-1.txz
-| | `-- mpg123-0.65-x86_64-1.txz.asc
-| |-- mplayerplug-in
-| | |-- mplayerplug-in-3.55-x86_64-1.txt
-| | |-- mplayerplug-in-3.55-x86_64-1.txz
-| | `-- mplayerplug-in-3.55-x86_64-1.txz.asc
-| |-- partitionmanager
-| | |-- partitionmanager-1.0.0_BETA1-x86_64-1.txt
-| | |-- partitionmanager-1.0.0_BETA1-x86_64-1.txz
-| | `-- partitionmanager-1.0.0_BETA1-x86_64-1.txz.asc
-| |-- recordmydesktop
-| | |-- recordmydesktop-0.3.8.1-x86_64-2.txt
-| | |-- recordmydesktop-0.3.8.1-x86_64-2.txz
-| | `-- recordmydesktop-0.3.8.1-x86_64-2.txz.asc
-| |-- slacktrack
-| | |-- OVERVIEW
-| | |-- slacktrack-2.06-x86_64-1.txt
-| | |-- slacktrack-2.06-x86_64-1.txz
-| | `-- slacktrack-2.06-x86_64-1.txz.asc
-| |-- source
-| | |-- bash-completion
-| | | |-- bash-completion-20060301.tar.bz2
-| | | |-- bash-completion-xz.diff.gz
-| | | |-- bash-completion.SlackBuild
-| | | |-- bash_completion.sh.gz
-| | | `-- slack-desc
-| | |-- bittorrent
-| | | |-- BitTorrent-4.4.0.tar.bz2
-| | | |-- bittorrent-xterm.sh.gz
-| | | |-- bittorrent.SlackBuild
-| | | |-- doinst.sh.gz
-| | | `-- slack-desc
-| | |-- brltty
-| | | |-- brltty-4.0.tar.xz
-| | | |-- brltty.SlackBuild
-| | | `-- slack-desc
-| | |-- flashplayer-plugin
-| | | |-- flashplayer-plugin.SlackBuild
-| | | `-- slack-desc
-| | |-- grub
-| | | |-- grub-0.97-x86_64.patch.gz
-| | | |-- grub-0.97.tar.gz
-| | | |-- grub-0.97.tar.gz.sig
-| | | |-- grub.SlackBuild
-| | | |-- grub_support_256byte_inode.patch.gz
-| | | |-- grubconfig-1.28.tar.gz
-| | | |-- grubconfig_localefix.patch.gz
-| | | `-- slack-desc
-| | |-- jdk-6
-| | | |-- COPYRIGHT
-| | | |-- HOWTO-BUILD-TXZ
-| | | |-- LICENSE
-| | | |-- README.html
-| | | |-- README_ja.html
-| | | |-- README_zh_CN.html
-| | | |-- jdk.SlackBuild
-| | | |-- profile.d
-| | | | |-- jdk.csh
-| | | | `-- jdk.sh
-| | | |-- register.html
-| | | |-- register_ja.html
-| | | |-- register_zh_CN.html
-| | | `-- slack-desc
-| | |-- kde3-compat
-| | | |-- arts
-| | | | |-- arts-1.5.10.tar.bz2
-| | | | |-- arts.SlackBuild
-| | | | |-- arts.tmpdir.diff.gz
-| | | | `-- slack-desc
-| | | |-- k3b3
-| | | | |-- k3b-1.0.5.tar.bz2
-| | | | |-- k3b3.SlackBuild
-| | | | `-- slack-desc
-| | | |-- kdelibs3
-| | | | |-- apply-patches.sh
-| | | | |-- kdelibs-3.5.10.tar.bz2
-| | | | |-- kdelibs-utempter.diff.gz
-| | | | |-- kdelibs.inotify.diff.gz
-| | | | |-- kdelibs.no.inotify.externs.diff.gz
-| | | | |-- kdelibs3.SlackBuild
-| | | | |-- local.options
-| | | | `-- slack-desc
-| | | `-- qt3
-| | | |-- doinst.sh.gz
-| | | |-- profile.d
-| | | | |-- qt.csh
-| | | | `-- qt.sh
-| | | |-- qt-x11-free-3.3.8b.tar.bz2
-| | | |-- qt-x11.diff.gz
-| | | |-- qt.mysql.h.diff.gz
-| | | |-- qt.x86.cflags.diff.gz
-| | | |-- qt3.SlackBuild
-| | | `-- slack-desc
-| | |-- mpg123
-| | | |-- mpg123-0.65.tar.bz2
-| | | |-- mpg123-0.65.tar.bz2.sig
-| | | |-- mpg123.SlackBuild
-| | | `-- slack-desc
-| | |-- mplayerplug-in
-| | | |-- mplayerplug-in-3.55.tar.gz
-| | | |-- mplayerplug-in.SlackBuild
-| | | `-- slack-desc
-| | |-- partitionmanager
-| | | |-- doinst.sh.gz
-| | | |-- partitionmanager-1.0.0-BETA1.tar.bz2
-| | | |-- partitionmanager.SlackBuild
-| | | `-- slack-desc
-| | |-- recordmydesktop
-| | | |-- qt-recordmydesktop-0.3.8.tar.gz
-| | | |-- recordmydesktop-0.3.8.1.tar.gz
-| | | |-- recordmydesktop.SlackBuild
-| | | `-- slack-desc
-| | |-- slacktrack
-| | | |-- slacktrack-2.06-source.tar.gz
-| | | `-- slacktrack.SlackBuild
-| | |-- tightvnc
-| | | |-- _tightvnc.tar.gz
-| | | |-- doinst.sh.gz
-| | | |-- slack-desc
-| | | |-- tightvnc-1.3.10_unixsrc.tar.xz
-| | | |-- tightvnc.SlackBuild
-| | | `-- tightvnc.paths-and-perms.diff.gz
-| | |-- wicd
-| | | |-- README.SLACKWARE
-| | | |-- doinst.sh.gz
-| | | |-- slack-desc
-| | | |-- wicd-1.6.2.1.tar.bz2
-| | | `-- wicd.SlackBuild
-| | |-- xfce-goodies
-| | `-- yasm
-| | |-- slack-desc
-| | |-- yasm-0.8.0.tar.gz
-| | `-- yasm.SlackBuild
-| |-- tightvnc
-| | |-- tightvnc-1.3.10-x86_64-1.txt
-| | |-- tightvnc-1.3.10-x86_64-1.txz
-| | `-- tightvnc-1.3.10-x86_64-1.txz.asc
-| |-- wicd
-| | |-- README.SLACKWARE
-| | |-- wicd-1.6.2.1-x86_64-1.txt
-| | |-- wicd-1.6.2.1-x86_64-1.txz
-| | `-- wicd-1.6.2.1-x86_64-1.txz.asc
-| |-- xf86-video-intel-alternate
-| | |-- xf86-video-intel-2.5.1-x86_64-1.txt
-| | |-- xf86-video-intel-2.5.1-x86_64-1.txz
-| | |-- xf86-video-intel-2.5.1-x86_64-1.txz.asc
-| | |-- xf86-video-intel-2.6.3-x86_64-1.txt
-| | |-- xf86-video-intel-2.6.3-x86_64-1.txz
-| | |-- xf86-video-intel-2.6.3-x86_64-1.txz.asc
-| | |-- xf86-video-intel-2.7.1-x86_64-2.txt
-| | |-- xf86-video-intel-2.7.1-x86_64-2.txz
-| | |-- xf86-video-intel-2.7.1-x86_64-2.txz.asc
-| | |-- xf86-video-intel-2.8.1-x86_64-1.txt
-| | |-- xf86-video-intel-2.8.1-x86_64-1.txz
-| | `-- xf86-video-intel-2.8.1-x86_64-1.txz.asc
-| `-- yasm
-| |-- yasm-0.8.0-x86_64-1.txt
-| |-- yasm-0.8.0-x86_64-1.txz
-| `-- yasm-0.8.0-x86_64-1.txz.asc
-|-- isolinux
-| |-- README.TXT
-| |-- README_SPLIT.TXT
-| |-- f2.txt
-| |-- initrd.img
-| |-- iso.sort
-| |-- isolinux.bin
-| |-- isolinux.cfg
-| |-- message.txt
-| |-- sbootmgr
-| | |-- RAWRITE.EXE
-| | |-- RAWRITE12.DOC
-| | |-- RAWRITE12.EXE
-| | |-- RAWRITE13.EXE -> RAWRITE.EXE
-| | |-- RAWRITENT.DOC
-| | |-- RAWRITENT.EXE
-| | |-- README.TXT
-| | `-- sbootmgr.dsk
-| `-- setpkg
-|-- kernels
-| |-- VERSIONS.TXT
-| |-- huge.s
-| | |-- System.map.gz
-| | |-- bzImage
-| | `-- config
-| `-- speakup.s
-| |-- System.map.gz
-| |-- bzImage
-| |-- config
-| `-- speakup_decpc.ko
-|-- pasture
-| |-- CHECKSUMS.md5.asc
-| `-- source
-|-- slackbook
-| |-- html
-| | |-- TRADEMARKS.html
-| | |-- archive-files-bzip2.html
-| | |-- archive-files-tar.html
-| | |-- archive-files-zip.html
-| | |-- archive-files.html
-| | |-- basic-network-commands
-| | | |-- elm.png
-| | | |-- links.png
-| | | |-- lynx.png
-| | | |-- mutt.png
-| | | |-- pine.png
-| | | |-- talk.png
-| | | `-- ytalk.png
-| | |-- basic-network-commands-dns.html
-| | |-- basic-network-commands-email.html
-| | |-- basic-network-commands-finger.html
-| | |-- basic-network-commands-ftp.html
-| | |-- basic-network-commands-ssh.html
-| | |-- basic-network-commands-talk.html
-| | |-- basic-network-commands-telnet.html
-| | |-- basic-network-commands-traceroute.html
-| | |-- basic-network-commands-web.html
-| | |-- basic-network-commands.html
-| | |-- book-preface.html
-| | |-- book.html
-| | |-- booting
-| | | |-- setup-lilo-expert-w.png
-| | | `-- setup-lilo-w.png
-| | |-- booting-dual.html
-| | |-- booting-loadlin.html
-| | |-- booting.html
-| | |-- docbook.css
-| | |-- emacs
-| | | `-- emacs.png
-| | |-- emacs-basic-editing.html
-| | |-- emacs-buffers.html
-| | |-- emacs-modes.html
-| | |-- emacs-saving-files.html
-| | |-- emacs.html
-| | |-- essential-sysadmin-hardusers.html
-| | |-- essential-sysadmin-shutdown.html
-| | |-- essential-sysadmin.html
-| | |-- file-commands-copymove.html
-| | |-- file-commands-creation.html
-| | |-- file-commands-deletion.html
-| | |-- file-commands-link.html
-| | |-- file-commands-output.html
-| | |-- file-commands-pagers.html
-| | |-- file-commands.html
-| | |-- filesystem-structure-links.html
-| | |-- filesystem-structure-mounting.html
-| | |-- filesystem-structure-nfs.html
-| | |-- filesystem-structure-permissions.html
-| | |-- filesystem-structure.html
-| | |-- glossary.html
-| | |-- gpl.html
-| | |-- help-online.html
-| | |-- help.html
-| | |-- imagelib
-| | | `-- admon
-| | | |-- note.png
-| | | `-- warning.png
-| | |-- index.html
-| | |-- installation
-| | | |-- setup-bootdisk-w.png
-| | | |-- setup-font-w.png
-| | | |-- setup-hardware-clock-w.png
-| | | |-- setup-help-w.png
-| | | |-- setup-install-w.png
-| | | |-- setup-kernel-w.png
-| | | |-- setup-keymap-w.png
-| | | |-- setup-lilo-w.png
-| | | |-- setup-modem-w.png
-| | | |-- setup-mouse-w.png
-| | | |-- setup-program-w.png
-| | | |-- setup-select-w.png
-| | | |-- setup-source-w.png
-| | | |-- setup-swap-w.png
-| | | |-- setup-target-w.png
-| | | |-- setup-timezone-w.png
-| | | `-- setup-xwmconfig-w.png
-| | |-- installation-partitioning.html
-| | |-- installation-requirements.html
-| | |-- installation-setup.html
-| | |-- installation.html
-| | |-- introduction-opensource.html
-| | |-- introduction-slackware.html
-| | |-- introduction.html
-| | |-- network-configuration-hardware.html
-| | |-- network-configuration-nfs.html
-| | |-- network-configuration-ppp.html
-| | |-- network-configuration-tcpip.html
-| | |-- network-configuration-wireless.html
-| | |-- network-configuration.html
-| | |-- package-management
-| | | |-- pkgtool-view-w.png
-| | | `-- pkgtool-w.png
-| | |-- package-management-making-packages.html
-| | |-- package-management-making-tags-and-tagfiles.html
-| | |-- package-management-package-utilities.html
-| | |-- package-management.html
-| | |-- process-control-foregrounding.html
-| | |-- process-control-kill.html
-| | |-- process-control-ps.html
-| | |-- process-control-top.html
-| | |-- process-control.html
-| | |-- security-current.html
-| | |-- security-host.html
-| | |-- security.html
-| | |-- shell-bash.html
-| | |-- shell-command-line.html
-| | |-- shell-vt.html
-| | |-- shell.html
-| | |-- slackware_logo.png
-| | |-- system-configuration
-| | | `-- make-menuconfig-w.png
-| | |-- system-configuration-kernel.html
-| | |-- system-configuration.html
-| | |-- vi
-| | | `-- vim-splitedit.png
-| | |-- vi-configuration.html
-| | |-- vi-keys.html
-| | |-- vi-modes.html
-| | |-- vi-opening-files.html
-| | |-- vi-quitting-vi.html
-| | |-- vi-saving-files.html
-| | |-- vi.html
-| | |-- x-window-system
-| | | |-- xorgconfig1-w.png
-| | | |-- xorgconfig2-w.png
-| | | |-- xorgconfig3-w.png
-| | | |-- xorgconfig4-w.png
-| | | `-- xwmconfig-w.png
-| | |-- x-window-system-xdm.html
-| | |-- x-window-system-xinitrc.html
-| | |-- x-window-system-xorgsetup.html
-| | |-- x-window-system-xwmconfig.html
-| | |-- x-window-system.html
-| | |-- zipslack-booting.html
-| | |-- zipslack-getting.html
-| | `-- zipslack.html
-| |-- slackbook-2.0.pdf
-| `-- slackbook-2.0.ps
-|-- slackware64
-| |-- CHECKSUMS.md5
-| |-- CHECKSUMS.md5.asc
-| |-- FILE_LIST
-| |-- MANIFEST.bz2
-| |-- PACKAGES.TXT -> ../PACKAGES.TXT
-| |-- a
-| | |-- aaa_base-13.0-x86_64-2.txt
-| | |-- aaa_base-13.0-x86_64-2.txz
-| | |-- aaa_base-13.0-x86_64-2.txz.asc
-| | |-- aaa_elflibs-13.0-x86_64-2.txt
-| | |-- aaa_elflibs-13.0-x86_64-2.txz
-| | |-- aaa_elflibs-13.0-x86_64-2.txz.asc
-| | |-- aaa_terminfo-5.7-noarch-1.txt
-| | |-- aaa_terminfo-5.7-noarch-1.txz
-| | |-- aaa_terminfo-5.7-noarch-1.txz.asc
-| | |-- acl-2.2.47_1-x86_64-1.txt
-| | |-- acl-2.2.47_1-x86_64-1.txz
-| | |-- acl-2.2.47_1-x86_64-1.txz.asc
-| | |-- acpid-1.0.8-x86_64-2.txt
-| | |-- acpid-1.0.8-x86_64-2.txz
-| | |-- acpid-1.0.8-x86_64-2.txz.asc
-| | |-- apmd-3.2.2-x86_64-2.txt
-| | |-- apmd-3.2.2-x86_64-2.txz
-| | |-- apmd-3.2.2-x86_64-2.txz.asc
-| | |-- attr-2.4.43_1-x86_64-1.txt
-| | |-- attr-2.4.43_1-x86_64-1.txz
-| | |-- attr-2.4.43_1-x86_64-1.txz.asc
-| | |-- bash-3.1.017-x86_64-2.txt
-| | |-- bash-3.1.017-x86_64-2.txz
-| | |-- bash-3.1.017-x86_64-2.txz.asc
-| | |-- bin-11.1-x86_64-1.txt
-| | |-- bin-11.1-x86_64-1.txz
-| | |-- bin-11.1-x86_64-1.txz.asc
-| | |-- bzip2-1.0.5-x86_64-1.txt
-| | |-- bzip2-1.0.5-x86_64-1.txz
-| | |-- bzip2-1.0.5-x86_64-1.txz.asc
-| | |-- coreutils-7.4-x86_64-1.txt
-| | |-- coreutils-7.4-x86_64-1.txz
-| | |-- coreutils-7.4-x86_64-1.txz.asc
-| | |-- cpio-2.9-x86_64-2.txt
-| | |-- cpio-2.9-x86_64-2.txz
-| | |-- cpio-2.9-x86_64-2.txz.asc
-| | |-- cryptsetup-1.0.7-x86_64-1.txt
-| | |-- cryptsetup-1.0.7-x86_64-1.txz
-| | |-- cryptsetup-1.0.7-x86_64-1.txz.asc
-| | |-- cups-1.3.11-x86_64-1.txt
-| | |-- cups-1.3.11-x86_64-1.txz
-| | |-- cups-1.3.11-x86_64-1.txz.asc
-| | |-- cxxlibs-6.0.10-x86_64-1.txt
-| | |-- cxxlibs-6.0.10-x86_64-1.txz
-| | |-- cxxlibs-6.0.10-x86_64-1.txz.asc
-| | |-- dbus-1.2.14-x86_64-1.txt
-| | |-- dbus-1.2.14-x86_64-1.txz
-| | |-- dbus-1.2.14-x86_64-1.txz.asc
-| | |-- dcron-2.3.3-x86_64-6.txt
-| | |-- dcron-2.3.3-x86_64-6.txz
-| | |-- dcron-2.3.3-x86_64-6.txz.asc
-| | |-- device-mapper-1.02.28-x86_64-1.txt
-| | |-- device-mapper-1.02.28-x86_64-1.txz
-| | |-- device-mapper-1.02.28-x86_64-1.txz.asc
-| | |-- devs-2.3.1-noarch-25.txt
-| | |-- devs-2.3.1-noarch-25.txz
-| | |-- devs-2.3.1-noarch-25.txz.asc
-| | |-- dialog-1.1_20080819-x86_64-3.txt
-| | |-- dialog-1.1_20080819-x86_64-3.txz
-| | |-- dialog-1.1_20080819-x86_64-3.txz.asc
-| | |-- dosfstools-2.11-x86_64-1.txt
-| | |-- dosfstools-2.11-x86_64-1.txz
-| | |-- dosfstools-2.11-x86_64-1.txz.asc
-| | |-- e2fsprogs-1.41.8-x86_64-1.txt
-| | |-- e2fsprogs-1.41.8-x86_64-1.txz
-| | |-- e2fsprogs-1.41.8-x86_64-1.txz.asc
-| | |-- ed-1.3-x86_64-1.txt
-| | |-- ed-1.3-x86_64-1.txz
-| | |-- ed-1.3-x86_64-1.txz.asc
-| | |-- eject-2.1.5-x86_64-1.txt
-| | |-- eject-2.1.5-x86_64-1.txz
-| | |-- eject-2.1.5-x86_64-1.txz.asc
-| | |-- elvis-2.2_0-x86_64-2.txt
-| | |-- elvis-2.2_0-x86_64-2.txz
-| | |-- elvis-2.2_0-x86_64-2.txz.asc
-| | |-- etc-13.0-x86_64-2.txt
-| | |-- etc-13.0-x86_64-2.txz
-| | |-- etc-13.0-x86_64-2.txz.asc
-| | |-- file-5.03-x86_64-1.txt
-| | |-- file-5.03-x86_64-1.txz
-| | |-- file-5.03-x86_64-1.txz.asc
-| | |-- findutils-4.4.2-x86_64-1.txt
-| | |-- findutils-4.4.2-x86_64-1.txz
-| | |-- findutils-4.4.2-x86_64-1.txz.asc
-| | |-- floppy-5.4-x86_64-3.txt
-| | |-- floppy-5.4-x86_64-3.txz
-| | |-- floppy-5.4-x86_64-3.txz.asc
-| | |-- gawk-3.1.6-x86_64-2.txt
-| | |-- gawk-3.1.6-x86_64-2.txz
-| | |-- gawk-3.1.6-x86_64-2.txz.asc
-| | |-- genpower-1.0.5-x86_64-2.txt
-| | |-- genpower-1.0.5-x86_64-2.txz
-| | |-- genpower-1.0.5-x86_64-2.txz.asc
-| | |-- gettext-0.17-x86_64-2.txt
-| | |-- gettext-0.17-x86_64-2.txz
-| | |-- gettext-0.17-x86_64-2.txz.asc
-| | |-- getty-ps-2.1.0b-x86_64-1.txt
-| | |-- getty-ps-2.1.0b-x86_64-1.txz
-| | |-- getty-ps-2.1.0b-x86_64-1.txz.asc
-| | |-- glibc-solibs-2.9-x86_64-3.txt
-| | |-- glibc-solibs-2.9-x86_64-3.txz
-| | |-- glibc-solibs-2.9-x86_64-3.txz.asc
-| | |-- glibc-zoneinfo-2.9-noarch-3.txt
-| | |-- glibc-zoneinfo-2.9-noarch-3.txz
-| | |-- glibc-zoneinfo-2.9-noarch-3.txz.asc
-| | |-- gpm-1.20.1-x86_64-5.txt
-| | |-- gpm-1.20.1-x86_64-5.txz
-| | |-- gpm-1.20.1-x86_64-5.txz.asc
-| | |-- grep-2.5.4-x86_64-1.txt
-| | |-- grep-2.5.4-x86_64-1.txz
-| | |-- grep-2.5.4-x86_64-1.txz.asc
-| | |-- gzip-1.3.12-x86_64-1.tgz
-| | |-- gzip-1.3.12-x86_64-1.tgz.asc
-| | |-- gzip-1.3.12-x86_64-1.txt
-| | |-- hdparm-9.3-x86_64-1.txt
-| | |-- hdparm-9.3-x86_64-1.txz
-| | |-- hdparm-9.3-x86_64-1.txz.asc
-| | |-- infozip-6.0-x86_64-1.txt
-| | |-- infozip-6.0-x86_64-1.txz
-| | |-- infozip-6.0-x86_64-1.txz.asc
-| | |-- inotify-tools-3.13-x86_64-1.txt
-| | |-- inotify-tools-3.13-x86_64-1.txz
-| | |-- inotify-tools-3.13-x86_64-1.txz.asc
-| | |-- install-packages
-| | |-- install.end
-| | |-- jfsutils-1.1.14-x86_64-1.txt
-| | |-- jfsutils-1.1.14-x86_64-1.txz
-| | |-- jfsutils-1.1.14-x86_64-1.txz.asc
-| | |-- kbd-1.15-x86_64-3.txt
-| | |-- kbd-1.15-x86_64-3.txz
-| | |-- kbd-1.15-x86_64-3.txz.asc
-| | |-- kernel-firmware-2.6.29.6-noarch-2.txt
-| | |-- kernel-firmware-2.6.29.6-noarch-2.txz
-| | |-- kernel-firmware-2.6.29.6-noarch-2.txz.asc
-| | |-- kernel-generic-2.6.29.6-x86_64-2.txt
-| | |-- kernel-generic-2.6.29.6-x86_64-2.txz
-| | |-- kernel-generic-2.6.29.6-x86_64-2.txz.asc
-| | |-- kernel-huge-2.6.29.6-x86_64-2.txt
-| | |-- kernel-huge-2.6.29.6-x86_64-2.txz
-| | |-- kernel-huge-2.6.29.6-x86_64-2.txz.asc
-| | |-- kernel-modules-2.6.29.6-x86_64-2.txt
-| | |-- kernel-modules-2.6.29.6-x86_64-2.txz
-| | |-- kernel-modules-2.6.29.6-x86_64-2.txz.asc
-| | |-- less-418-x86_64-3.txt
-| | |-- less-418-x86_64-3.txz
-| | |-- less-418-x86_64-3.txz.asc
-| | |-- lha-114i-x86_64-1.txt
-| | |-- lha-114i-x86_64-1.txz
-| | |-- lha-114i-x86_64-1.txz.asc
-| | |-- lilo-22.8-x86_64-14.txt
-| | |-- lilo-22.8-x86_64-14.txz
-| | |-- lilo-22.8-x86_64-14.txz.asc
-| | |-- logrotate-3.7.4-x86_64-1.txt
-| | |-- logrotate-3.7.4-x86_64-1.txz
-| | |-- logrotate-3.7.4-x86_64-1.txz.asc
-| | |-- lvm2-2.02.40-x86_64-1.txt
-| | |-- lvm2-2.02.40-x86_64-1.txz
-| | |-- lvm2-2.02.40-x86_64-1.txz.asc
-| | |-- maketag
-| | |-- maketag.ez
-| | |-- mdadm-2.6.4-x86_64-1.txt
-| | |-- mdadm-2.6.4-x86_64-1.txz
-| | |-- mdadm-2.6.4-x86_64-1.txz.asc
-| | |-- minicom-2.1-x86_64-3.txt
-| | |-- minicom-2.1-x86_64-3.txz
-| | |-- minicom-2.1-x86_64-3.txz.asc
-| | |-- mkinitrd-1.3.4-x86_64-3.txt
-| | |-- mkinitrd-1.3.4-x86_64-3.txz
-| | |-- mkinitrd-1.3.4-x86_64-3.txz.asc
-| | |-- module-init-tools-3.6-x86_64-2.txt
-| | |-- module-init-tools-3.6-x86_64-2.txz
-| | |-- module-init-tools-3.6-x86_64-2.txz.asc
-| | |-- mt-st-0.9b-x86_64-2.txt
-| | |-- mt-st-0.9b-x86_64-2.txz
-| | |-- mt-st-0.9b-x86_64-2.txz.asc
-| | |-- mtx-1.3.9-x86_64-2.txt
-| | |-- mtx-1.3.9-x86_64-2.txz
-| | |-- mtx-1.3.9-x86_64-2.txz.asc
-| | |-- ncompress-4.2.4-x86_64-1.txt
-| | |-- ncompress-4.2.4-x86_64-1.txz
-| | |-- ncompress-4.2.4-x86_64-1.txz.asc
-| | |-- ntfs-3g-2009.4.4-x86_64-1.txt
-| | |-- ntfs-3g-2009.4.4-x86_64-1.txz
-| | |-- ntfs-3g-2009.4.4-x86_64-1.txz.asc
-| | |-- openssl-solibs-0.9.8k-x86_64-2.txt
-| | |-- openssl-solibs-0.9.8k-x86_64-2.txz
-| | |-- openssl-solibs-0.9.8k-x86_64-2.txz.asc
-| | |-- patch-2.5.4-x86_64-1.txt
-| | |-- patch-2.5.4-x86_64-1.txz
-| | |-- patch-2.5.4-x86_64-1.txz.asc
-| | |-- pciutils-3.1.3-x86_64-1.txt
-| | |-- pciutils-3.1.3-x86_64-1.txz
-| | |-- pciutils-3.1.3-x86_64-1.txz.asc
-| | |-- pcmciautils-015-x86_64-2.txt
-| | |-- pcmciautils-015-x86_64-2.txz
-| | |-- pcmciautils-015-x86_64-2.txz.asc
-| | |-- pkgtools-13.0-noarch-3.tgz
-| | |-- pkgtools-13.0-noarch-3.tgz.asc
-| | |-- pkgtools-13.0-noarch-3.txt
-| | |-- procps-3.2.7-x86_64-3.txt
-| | |-- procps-3.2.7-x86_64-3.txz
-| | |-- procps-3.2.7-x86_64-3.txz.asc
-| | |-- quota-3.17-x86_64-1.txt
-| | |-- quota-3.17-x86_64-1.txz
-| | |-- quota-3.17-x86_64-1.txz.asc
-| | |-- reiserfsprogs-3.6.21-x86_64-1.txt
-| | |-- reiserfsprogs-3.6.21-x86_64-1.txz
-| | |-- reiserfsprogs-3.6.21-x86_64-1.txz.asc
-| | |-- rpm2tgz-1.1-x86_64-1.txt
-| | |-- rpm2tgz-1.1-x86_64-1.txz
-| | |-- rpm2tgz-1.1-x86_64-1.txz.asc
-| | |-- sdparm-1.01-x86_64-2.txt
-| | |-- sdparm-1.01-x86_64-2.txz
-| | |-- sdparm-1.01-x86_64-2.txz.asc
-| | |-- sed-4.1.5-x86_64-1.txt
-| | |-- sed-4.1.5-x86_64-1.txz
-| | |-- sed-4.1.5-x86_64-1.txz.asc
-| | |-- shadow-4.0.3-x86_64-18.txt
-| | |-- shadow-4.0.3-x86_64-18.txz
-| | |-- shadow-4.0.3-x86_64-18.txz.asc
-| | |-- sharutils-4.7-x86_64-1.txt
-| | |-- sharutils-4.7-x86_64-1.txz
-| | |-- sharutils-4.7-x86_64-1.txz.asc
-| | |-- slocate-3.1-x86_64-3.txt
-| | |-- slocate-3.1-x86_64-3.txz
-| | |-- slocate-3.1-x86_64-3.txz.asc
-| | |-- smartmontools-5.38-x86_64-1.txt
-| | |-- smartmontools-5.38-x86_64-1.txz
-| | |-- smartmontools-5.38-x86_64-1.txz.asc
-| | |-- splitvt-1.6.5-x86_64-1.txt
-| | |-- splitvt-1.6.5-x86_64-1.txz
-| | |-- splitvt-1.6.5-x86_64-1.txz.asc
-| | |-- sysfsutils-2.1.0-x86_64-1.txt
-| | |-- sysfsutils-2.1.0-x86_64-1.txz
-| | |-- sysfsutils-2.1.0-x86_64-1.txz.asc
-| | |-- sysklogd-1.4.1-x86_64-10.txt
-| | |-- sysklogd-1.4.1-x86_64-10.txz
-| | |-- sysklogd-1.4.1-x86_64-10.txz.asc
-| | |-- syslinux-3.52-x86_64-1.txt
-| | |-- syslinux-3.52-x86_64-1.txz
-| | |-- syslinux-3.52-x86_64-1.txz.asc
-| | |-- sysvinit-2.86-x86_64-6.txt
-| | |-- sysvinit-2.86-x86_64-6.txz
-| | |-- sysvinit-2.86-x86_64-6.txz.asc
-| | |-- sysvinit-functions-8.53-x86_64-2.txt
-| | |-- sysvinit-functions-8.53-x86_64-2.txz
-| | |-- sysvinit-functions-8.53-x86_64-2.txz.asc
-| | |-- sysvinit-scripts-1.2-noarch-30.txt
-| | |-- sysvinit-scripts-1.2-noarch-30.txz
-| | |-- sysvinit-scripts-1.2-noarch-30.txz.asc
-| | |-- tagfile
-| | |-- tar-1.22-x86_64-2.tgz
-| | |-- tar-1.22-x86_64-2.tgz.asc
-| | |-- tar-1.22-x86_64-2.txt
-| | |-- tcsh-6.15.00-x86_64-1.txt
-| | |-- tcsh-6.15.00-x86_64-1.txz
-| | |-- tcsh-6.15.00-x86_64-1.txz.asc
-| | |-- time-1.7-x86_64-1.txt
-| | |-- time-1.7-x86_64-1.txz
-| | |-- time-1.7-x86_64-1.txz.asc
-| | |-- tree-1.5.2.2-x86_64-1.txt
-| | |-- tree-1.5.2.2-x86_64-1.txz
-| | |-- tree-1.5.2.2-x86_64-1.txz.asc
-| | |-- udev-141-x86_64-3.txt
-| | |-- udev-141-x86_64-3.txz
-| | |-- udev-141-x86_64-3.txz.asc
-| | |-- unarj-265-x86_64-1.txt
-| | |-- unarj-265-x86_64-1.txz
-| | |-- unarj-265-x86_64-1.txz.asc
-| | |-- usbutils-0.82-x86_64-2.txt
-| | |-- usbutils-0.82-x86_64-2.txz
-| | |-- usbutils-0.82-x86_64-2.txz.asc
-| | |-- utempter-1.1.4-x86_64-1.txt
-| | |-- utempter-1.1.4-x86_64-1.txz
-| | |-- utempter-1.1.4-x86_64-1.txz.asc
-| | |-- util-linux-ng-2.14.2-x86_64-2.txt
-| | |-- util-linux-ng-2.14.2-x86_64-2.txz
-| | |-- util-linux-ng-2.14.2-x86_64-2.txz.asc
-| | |-- which-2.20-x86_64-1.txt
-| | |-- which-2.20-x86_64-1.txz
-| | |-- which-2.20-x86_64-1.txz.asc
-| | |-- xfsprogs-3.0.1-x86_64-1.txt
-| | |-- xfsprogs-3.0.1-x86_64-1.txz
-| | |-- xfsprogs-3.0.1-x86_64-1.txz.asc
-| | |-- xz-4.999.8beta-x86_64-1.tgz
-| | |-- xz-4.999.8beta-x86_64-1.tgz.asc
-| | |-- xz-4.999.8beta-x86_64-1.txt
-| | |-- zoo-2.10-x86_64-1.txt
-| | |-- zoo-2.10-x86_64-1.txz
-| | `-- zoo-2.10-x86_64-1.txz.asc
-| |-- ap
-| | |-- a2ps-4.14-x86_64-4.txt
-| | |-- a2ps-4.14-x86_64-4.txz
-| | |-- a2ps-4.14-x86_64-4.txz.asc
-| | |-- acct-6.4pre1-x86_64-1.txt
-| | |-- acct-6.4pre1-x86_64-1.txz
-| | |-- acct-6.4pre1-x86_64-1.txz.asc
-| | |-- alsa-utils-1.0.18-x86_64-2.txt
-| | |-- alsa-utils-1.0.18-x86_64-2.txz
-| | |-- alsa-utils-1.0.18-x86_64-2.txz.asc
-| | |-- amp-0.7.6-x86_64-1.txt
-| | |-- amp-0.7.6-x86_64-1.txz
-| | |-- amp-0.7.6-x86_64-1.txz.asc
-| | |-- ash-0.4.0-x86_64-1.txt
-| | |-- ash-0.4.0-x86_64-1.txz
-| | |-- ash-0.4.0-x86_64-1.txz.asc
-| | |-- at-3.1.10-x86_64-1.txt
-| | |-- at-3.1.10-x86_64-1.txz
-| | |-- at-3.1.10-x86_64-1.txz.asc
-| | |-- aumix-2.8-x86_64-2.txt
-| | |-- aumix-2.8-x86_64-2.txz
-| | |-- aumix-2.8-x86_64-2.txz.asc
-| | |-- bc-1.06.95-x86_64-2.txt
-| | |-- bc-1.06.95-x86_64-2.txz
-| | |-- bc-1.06.95-x86_64-2.txz.asc
-| | |-- bpe-2.01.00-x86_64-2.txt
-| | |-- bpe-2.01.00-x86_64-2.txz
-| | |-- bpe-2.01.00-x86_64-2.txz.asc
-| | |-- cdparanoia-III_10.2-x86_64-1.txt
-| | |-- cdparanoia-III_10.2-x86_64-1.txz
-| | |-- cdparanoia-III_10.2-x86_64-1.txz.asc
-| | |-- cdrdao-1.2.1-x86_64-1.txt
-| | |-- cdrdao-1.2.1-x86_64-1.txz
-| | |-- cdrdao-1.2.1-x86_64-1.txz.asc
-| | |-- cdrtools-2.01.01a57-x86_64-3.txt
-| | |-- cdrtools-2.01.01a57-x86_64-3.txz
-| | |-- cdrtools-2.01.01a57-x86_64-3.txz.asc
-| | |-- cupsddk-1.2.3-x86_64-1.txt
-| | |-- cupsddk-1.2.3-x86_64-1.txz
-| | |-- cupsddk-1.2.3-x86_64-1.txz.asc
-| | |-- dc3dd-6.12.3-x86_64-1.txt
-| | |-- dc3dd-6.12.3-x86_64-1.txz
-| | |-- dc3dd-6.12.3-x86_64-1.txz.asc
-| | |-- diffstat-1.43-x86_64-1.txt
-| | |-- diffstat-1.43-x86_64-1.txz
-| | |-- diffstat-1.43-x86_64-1.txz.asc
-| | |-- diffutils-2.8.1-x86_64-3.txt
-| | |-- diffutils-2.8.1-x86_64-3.txz
-| | |-- diffutils-2.8.1-x86_64-3.txz.asc
-| | |-- dmapi-2.2.10-x86_64-1.txt
-| | |-- dmapi-2.2.10-x86_64-1.txz
-| | |-- dmapi-2.2.10-x86_64-1.txz.asc
-| | |-- dmidecode-2.10-x86_64-1.txt
-| | |-- dmidecode-2.10-x86_64-1.txz
-| | |-- dmidecode-2.10-x86_64-1.txz.asc
-| | |-- dvd+rw-tools-7.1-x86_64-1.txt
-| | |-- dvd+rw-tools-7.1-x86_64-1.txz
-| | |-- dvd+rw-tools-7.1-x86_64-1.txz.asc
-| | |-- enscript-1.6.3-x86_64-1.txt
-| | |-- enscript-1.6.3-x86_64-1.txz
-| | |-- enscript-1.6.3-x86_64-1.txz.asc
-| | |-- flac-1.2.1-x86_64-2.txt
-| | |-- flac-1.2.1-x86_64-2.txz
-| | |-- flac-1.2.1-x86_64-2.txz.asc
-| | |-- foomatic-filters-4.0.2-x86_64-1.txt
-| | |-- foomatic-filters-4.0.2-x86_64-1.txz
-| | |-- foomatic-filters-4.0.2-x86_64-1.txz.asc
-| | |-- ghostscript-8.70-x86_64-1.txt
-| | |-- ghostscript-8.70-x86_64-1.txz
-| | |-- ghostscript-8.70-x86_64-1.txz.asc
-| | |-- ghostscript-fonts-std-8.11-noarch-1.txt
-| | |-- ghostscript-fonts-std-8.11-noarch-1.txz
-| | |-- ghostscript-fonts-std-8.11-noarch-1.txz.asc
-| | |-- gphoto2-2.4.5-x86_64-1.txt
-| | |-- gphoto2-2.4.5-x86_64-1.txz
-| | |-- gphoto2-2.4.5-x86_64-1.txz.asc
-| | |-- groff-1.20.1-x86_64-1.txt
-| | |-- groff-1.20.1-x86_64-1.txz
-| | |-- groff-1.20.1-x86_64-1.txz.asc
-| | |-- gutenprint-5.2.4-x86_64-1.txt
-| | |-- gutenprint-5.2.4-x86_64-1.txz
-| | |-- gutenprint-5.2.4-x86_64-1.txz.asc
-| | |-- hplip-3.9.4b-x86_64-2.txt
-| | |-- hplip-3.9.4b-x86_64-2.txz
-| | |-- hplip-3.9.4b-x86_64-2.txz.asc
-| | |-- install-packages
-| | |-- install.end
-| | |-- ispell-3.2.06-x86_64-1.txt
-| | |-- ispell-3.2.06-x86_64-1.txz
-| | |-- ispell-3.2.06-x86_64-1.txz.asc
-| | |-- jed-0.99_18-x86_64-3.txt
-| | |-- jed-0.99_18-x86_64-3.txz
-| | |-- jed-0.99_18-x86_64-3.txz.asc
-| | |-- joe-3.5-x86_64-2.txt
-| | |-- joe-3.5-x86_64-2.txz
-| | |-- joe-3.5-x86_64-2.txz.asc
-| | |-- jove-4.16.0.70-x86_64-2.txt
-| | |-- jove-4.16.0.70-x86_64-2.txz
-| | |-- jove-4.16.0.70-x86_64-2.txz.asc
-| | |-- ksh93-2007_03_28-x86_64-2.txt
-| | |-- ksh93-2007_03_28-x86_64-2.txz
-| | |-- ksh93-2007_03_28-x86_64-2.txz.asc
-| | |-- libx86-1.1-x86_64-1.txt
-| | |-- libx86-1.1-x86_64-1.txz
-| | |-- libx86-1.1-x86_64-1.txz.asc
-| | |-- linuxdoc-tools-0.9.56-x86_64-5.txt
-| | |-- linuxdoc-tools-0.9.56-x86_64-5.txz
-| | |-- linuxdoc-tools-0.9.56-x86_64-5.txz.asc
-| | |-- lm_sensors-3.1.1-x86_64-1.txt
-| | |-- lm_sensors-3.1.1-x86_64-1.txz
-| | |-- lm_sensors-3.1.1-x86_64-1.txz.asc
-| | |-- lsof-4.78-x86_64-1.txt
-| | |-- lsof-4.78-x86_64-1.txz
-| | |-- lsof-4.78-x86_64-1.txz.asc
-| | |-- lsscsi-0.22-x86_64-1.txt
-| | |-- lsscsi-0.22-x86_64-1.txz
-| | |-- lsscsi-0.22-x86_64-1.txz.asc
-| | |-- madplay-0.15.2b-x86_64-2.txt
-| | |-- madplay-0.15.2b-x86_64-2.txz
-| | |-- madplay-0.15.2b-x86_64-2.txz.asc
-| | |-- maketag
-| | |-- maketag.ez
-| | |-- man-1.6f-x86_64-2.txt
-| | |-- man-1.6f-x86_64-2.txz
-| | |-- man-1.6f-x86_64-2.txz.asc
-| | |-- man-pages-3.22-noarch-2.txt
-| | |-- man-pages-3.22-noarch-2.txz
-| | |-- man-pages-3.22-noarch-2.txz.asc
-| | |-- mc-20090714_git-x86_64-1.txt
-| | |-- mc-20090714_git-x86_64-1.txz
-| | |-- mc-20090714_git-x86_64-1.txz.asc
-| | |-- most-5.0.0a-x86_64-2.txt
-| | |-- most-5.0.0a-x86_64-2.txz
-| | |-- most-5.0.0a-x86_64-2.txz.asc
-| | |-- mpg321-0.2.10-x86_64-2.txt
-| | |-- mpg321-0.2.10-x86_64-2.txz
-| | |-- mpg321-0.2.10-x86_64-2.txz.asc
-| | |-- mysql-5.0.84-x86_64-1.txt
-| | |-- mysql-5.0.84-x86_64-1.txz
-| | |-- mysql-5.0.84-x86_64-1.txz.asc
-| | |-- nano-2.0.9-x86_64-2.txt
-| | |-- nano-2.0.9-x86_64-2.txz
-| | |-- nano-2.0.9-x86_64-2.txz.asc
-| | |-- normalize-0.7.7-x86_64-1.txt
-| | |-- normalize-0.7.7-x86_64-1.txz
-| | |-- normalize-0.7.7-x86_64-1.txz.asc
-| | |-- ntfsprogs-2.0.0-x86_64-2.txt
-| | |-- ntfsprogs-2.0.0-x86_64-2.txz
-| | |-- ntfsprogs-2.0.0-x86_64-2.txz.asc
-| | |-- pm-utils-1.2.5-x86_64-1.txt
-| | |-- pm-utils-1.2.5-x86_64-1.txz
-| | |-- pm-utils-1.2.5-x86_64-1.txz.asc
-| | |-- radeontool-1.5-x86_64-1.txt
-| | |-- radeontool-1.5-x86_64-1.txz
-| | |-- radeontool-1.5-x86_64-1.txz.asc
-| | |-- rexima-1.4-x86_64-2.txt
-| | |-- rexima-1.4-x86_64-2.txz
-| | |-- rexima-1.4-x86_64-2.txz.asc
-| | |-- rpm-4.7.0-x86_64-2.txt
-| | |-- rpm-4.7.0-x86_64-2.txz
-| | |-- rpm-4.7.0-x86_64-2.txz.asc
-| | |-- rzip-2.1-x86_64-1.txt
-| | |-- rzip-2.1-x86_64-1.txz
-| | |-- rzip-2.1-x86_64-1.txz.asc
-| | |-- sc-7.16-x86_64-2.txt
-| | |-- sc-7.16-x86_64-2.txz
-| | |-- sc-7.16-x86_64-2.txz.asc
-| | |-- screen-4.0.3-x86_64-2.txt
-| | |-- screen-4.0.3-x86_64-2.txz
-| | |-- screen-4.0.3-x86_64-2.txz.asc
-| | |-- seejpeg-1.10-x86_64-1.txt
-| | |-- seejpeg-1.10-x86_64-1.txz
-| | |-- seejpeg-1.10-x86_64-1.txz.asc
-| | |-- slackpkg-2.80.2-noarch-3.tgz
-| | |-- slackpkg-2.80.2-noarch-3.tgz.asc
-| | |-- slackpkg-2.80.2-noarch-3.txt
-| | |-- sox-14.3.0-x86_64-1.txt
-| | |-- sox-14.3.0-x86_64-1.txz
-| | |-- sox-14.3.0-x86_64-1.txz.asc
-| | |-- sqlite-3.6.14.2-x86_64-1.txt
-| | |-- sqlite-3.6.14.2-x86_64-1.txz
-| | |-- sqlite-3.6.14.2-x86_64-1.txz.asc
-| | |-- sudo-1.6.8p12-x86_64-1.txt
-| | |-- sudo-1.6.8p12-x86_64-1.txz
-| | |-- sudo-1.6.8p12-x86_64-1.txz.asc
-| | |-- sysstat-7.0.0-x86_64-1.txt
-| | |-- sysstat-7.0.0-x86_64-1.txz
-| | |-- sysstat-7.0.0-x86_64-1.txz.asc
-| | |-- tagfile
-| | |-- texinfo-4.13a-x86_64-3.txt
-| | |-- texinfo-4.13a-x86_64-3.txz
-| | |-- texinfo-4.13a-x86_64-3.txz.asc
-| | |-- vbetool-1.1-x86_64-1.txt
-| | |-- vbetool-1.1-x86_64-1.txz
-| | |-- vbetool-1.1-x86_64-1.txz.asc
-| | |-- vim-7.2.245-x86_64-1.txt
-| | |-- vim-7.2.245-x86_64-1.txz
-| | |-- vim-7.2.245-x86_64-1.txz.asc
-| | |-- vorbis-tools-1.2.0-x86_64-1.txt
-| | |-- vorbis-tools-1.2.0-x86_64-1.txz
-| | |-- vorbis-tools-1.2.0-x86_64-1.txz.asc
-| | |-- workbone-2.40-x86_64-3.txt
-| | |-- workbone-2.40-x86_64-3.txz
-| | |-- workbone-2.40-x86_64-3.txz.asc
-| | |-- xfsdump-3.0.1-x86_64-1.txt
-| | |-- xfsdump-3.0.1-x86_64-1.txz
-| | |-- xfsdump-3.0.1-x86_64-1.txz.asc
-| | |-- zsh-4.3.10-x86_64-1.txt
-| | |-- zsh-4.3.10-x86_64-1.txz
-| | `-- zsh-4.3.10-x86_64-1.txz.asc
-| |-- d
-| | |-- autoconf-2.63-noarch-1.txt
-| | |-- autoconf-2.63-noarch-1.txz
-| | |-- autoconf-2.63-noarch-1.txz.asc
-| | |-- automake-1.10.1-noarch-1.txt
-| | |-- automake-1.10.1-noarch-1.txz
-| | |-- automake-1.10.1-noarch-1.txz.asc
-| | |-- binutils-2.18.50.0.9-x86_64-2.txt
-| | |-- binutils-2.18.50.0.9-x86_64-2.txz
-| | |-- binutils-2.18.50.0.9-x86_64-2.txz.asc
-| | |-- bison-2.4.1-x86_64-1.txt
-| | |-- bison-2.4.1-x86_64-1.txz
-| | |-- bison-2.4.1-x86_64-1.txz.asc
-| | |-- ccache-2.4-x86_64-1.txt
-| | |-- ccache-2.4-x86_64-1.txz
-| | |-- ccache-2.4-x86_64-1.txz.asc
-| | |-- clisp-2.47-x86_64-2.txt
-| | |-- clisp-2.47-x86_64-2.txz
-| | |-- clisp-2.47-x86_64-2.txz.asc
-| | |-- cmake-2.6.2-x86_64-2.txt
-| | |-- cmake-2.6.2-x86_64-2.txz
-| | |-- cmake-2.6.2-x86_64-2.txz.asc
-| | |-- cscope-15.6-x86_64-2.txt
-| | |-- cscope-15.6-x86_64-2.txz
-| | |-- cscope-15.6-x86_64-2.txz.asc
-| | |-- cvs-1.11.23-x86_64-1.txt
-| | |-- cvs-1.11.23-x86_64-1.txz
-| | |-- cvs-1.11.23-x86_64-1.txz.asc
-| | |-- dev86-0.16.17-x86_64-2.txt
-| | |-- dev86-0.16.17-x86_64-2.txz
-| | |-- dev86-0.16.17-x86_64-2.txz.asc
-| | |-- distcc-2.18.3-x86_64-2.txt
-| | |-- distcc-2.18.3-x86_64-2.txz
-| | |-- distcc-2.18.3-x86_64-2.txz.asc
-| | |-- doxygen-1.5.8-x86_64-1.txt
-| | |-- doxygen-1.5.8-x86_64-1.txz
-| | |-- doxygen-1.5.8-x86_64-1.txz.asc
-| | |-- flex-2.5.35-x86_64-1.txt
-| | |-- flex-2.5.35-x86_64-1.txz
-| | |-- flex-2.5.35-x86_64-1.txz.asc
-| | |-- gcc-4.3.3-x86_64-4.txt
-| | |-- gcc-4.3.3-x86_64-4.txz
-| | |-- gcc-4.3.3-x86_64-4.txz.asc
-| | |-- gcc-g++-4.3.3-x86_64-4.txt
-| | |-- gcc-g++-4.3.3-x86_64-4.txz
-| | |-- gcc-g++-4.3.3-x86_64-4.txz.asc
-| | |-- gcc-gfortran-4.3.3-x86_64-4.txt
-| | |-- gcc-gfortran-4.3.3-x86_64-4.txz
-| | |-- gcc-gfortran-4.3.3-x86_64-4.txz.asc
-| | |-- gcc-gnat-4.3.3-x86_64-4.txt
-| | |-- gcc-gnat-4.3.3-x86_64-4.txz
-| | |-- gcc-gnat-4.3.3-x86_64-4.txz.asc
-| | |-- gcc-java-4.3.3-x86_64-4.txt
-| | |-- gcc-java-4.3.3-x86_64-4.txz
-| | |-- gcc-java-4.3.3-x86_64-4.txz.asc
-| | |-- gcc-objc-4.3.3-x86_64-4.txt
-| | |-- gcc-objc-4.3.3-x86_64-4.txz
-| | |-- gcc-objc-4.3.3-x86_64-4.txz.asc
-| | |-- gdb-6.8-x86_64-2.txt
-| | |-- gdb-6.8-x86_64-2.txz
-| | |-- gdb-6.8-x86_64-2.txz.asc
-| | |-- gettext-tools-0.17-x86_64-3.txt
-| | |-- gettext-tools-0.17-x86_64-3.txz
-| | |-- gettext-tools-0.17-x86_64-3.txz.asc
-| | |-- git-1.6.4-x86_64-1.txt
-| | |-- git-1.6.4-x86_64-1.txz
-| | |-- git-1.6.4-x86_64-1.txz.asc
-| | |-- gperf-3.0.3-x86_64-1.txt
-| | |-- gperf-3.0.3-x86_64-1.txz
-| | |-- gperf-3.0.3-x86_64-1.txz.asc
-| | |-- guile-1.8.7-x86_64-1.txt
-| | |-- guile-1.8.7-x86_64-1.txz
-| | |-- guile-1.8.7-x86_64-1.txz.asc
-| | |-- indent-2.2.10-x86_64-1.txt
-| | |-- indent-2.2.10-x86_64-1.txz
-| | |-- indent-2.2.10-x86_64-1.txz.asc
-| | |-- install-packages
-| | |-- install.end
-| | |-- intltool-0.40.5-x86_64-1.txt
-| | |-- intltool-0.40.5-x86_64-1.txz
-| | |-- intltool-0.40.5-x86_64-1.txz.asc
-| | |-- kernel-headers-2.6.29.6-x86-2.txt
-| | |-- kernel-headers-2.6.29.6-x86-2.txz
-| | |-- kernel-headers-2.6.29.6-x86-2.txz.asc
-| | |-- libtool-1.5.26-x86_64-1.txt
-| | |-- libtool-1.5.26-x86_64-1.txz
-| | |-- libtool-1.5.26-x86_64-1.txz.asc
-| | |-- m4-1.4.13-x86_64-1.txt
-| | |-- m4-1.4.13-x86_64-1.txz
-| | |-- m4-1.4.13-x86_64-1.txz.asc
-| | |-- make-3.81-x86_64-1.txt
-| | |-- make-3.81-x86_64-1.txz
-| | |-- make-3.81-x86_64-1.txz.asc
-| | |-- maketag
-| | |-- maketag.ez
-| | |-- mercurial-1.2.1-x86_64-1.txt
-| | |-- mercurial-1.2.1-x86_64-1.txz
-| | |-- mercurial-1.2.1-x86_64-1.txz.asc
-| | |-- nasm-2.05.01-x86_64-1.txt
-| | |-- nasm-2.05.01-x86_64-1.txz
-| | |-- nasm-2.05.01-x86_64-1.txz.asc
-| | |-- oprofile-0.9.4-x86_64-2.txt
-| | |-- oprofile-0.9.4-x86_64-2.txz
-| | |-- oprofile-0.9.4-x86_64-2.txz.asc
-| | |-- p2c-1.21alpha2-x86_64-3.txt
-| | |-- p2c-1.21alpha2-x86_64-3.txz
-| | |-- p2c-1.21alpha2-x86_64-3.txz.asc
-| | |-- perl-5.10.0-x86_64-2.txt
-| | |-- perl-5.10.0-x86_64-2.txz
-| | |-- perl-5.10.0-x86_64-2.txz.asc
-| | |-- pkg-config-0.23-x86_64-3.txt
-| | |-- pkg-config-0.23-x86_64-3.txz
-| | |-- pkg-config-0.23-x86_64-3.txz.asc
-| | |-- pmake-1.111-x86_64-3.txt
-| | |-- pmake-1.111-x86_64-3.txz
-| | |-- pmake-1.111-x86_64-3.txz.asc
-| | |-- python-2.6.2-x86_64-3.txt
-| | |-- python-2.6.2-x86_64-3.txz
-| | |-- python-2.6.2-x86_64-3.txz.asc
-| | |-- rcs-5.7-x86_64-2.txt
-| | |-- rcs-5.7-x86_64-2.txz
-| | |-- rcs-5.7-x86_64-2.txz.asc
-| | |-- ruby-1.8.7_p174-x86_64-1.txt
-| | |-- ruby-1.8.7_p174-x86_64-1.txz
-| | |-- ruby-1.8.7_p174-x86_64-1.txz.asc
-| | |-- strace-4.5.18-x86_64-1.txt
-| | |-- strace-4.5.18-x86_64-1.txz
-| | |-- strace-4.5.18-x86_64-1.txz.asc
-| | |-- subversion-1.6.4-x86_64-1.txt
-| | |-- subversion-1.6.4-x86_64-1.txz
-| | |-- subversion-1.6.4-x86_64-1.txz.asc
-| | |-- swig-1.3.38-x86_64-1.txt
-| | |-- swig-1.3.38-x86_64-1.txz
-| | |-- swig-1.3.38-x86_64-1.txz.asc
-| | `-- tagfile
-| |-- e
-| | |-- emacs-22.3-x86_64-3.txt
-| | |-- emacs-22.3-x86_64-3.txz
-| | |-- emacs-22.3-x86_64-3.txz.asc
-| | |-- install-packages
-| | |-- install.end
-| | |-- maketag
-| | |-- maketag.ez
-| | `-- tagfile
-| |-- f
-| | |-- install-packages
-| | |-- install.end
-| | |-- linux-faqs-20060228-noarch-1.txt
-| | |-- linux-faqs-20060228-noarch-1.txz
-| | |-- linux-faqs-20060228-noarch-1.txz.asc
-| | |-- linux-howtos-20090805-noarch-1.txt
-| | |-- linux-howtos-20090805-noarch-1.txz
-| | |-- linux-howtos-20090805-noarch-1.txz.asc
-| | |-- maketag
-| | |-- maketag.ez
-| | `-- tagfile
-| |-- k
-| | |-- install-packages
-| | |-- install.end
-| | |-- kernel-source-2.6.29.6-noarch-2.txt
-| | |-- kernel-source-2.6.29.6-noarch-2.txz
-| | |-- kernel-source-2.6.29.6-noarch-2.txz.asc
-| | |-- maketag
-| | |-- maketag.ez
-| | `-- tagfile
-| |-- kde
-| | |-- amarok-2.1.1-x86_64-1.txt
-| | |-- amarok-2.1.1-x86_64-1.txz
-| | |-- amarok-2.1.1-x86_64-1.txz.asc
-| | |-- guidance-power-manager-4.2.4-x86_64-1.txt
-| | |-- guidance-power-manager-4.2.4-x86_64-1.txz
-| | |-- guidance-power-manager-4.2.4-x86_64-1.txz.asc
-| | |-- install-packages
-| | |-- install.end
-| | |-- k3b-r948463-x86_64-1.txt
-| | |-- k3b-r948463-x86_64-1.txz
-| | |-- k3b-r948463-x86_64-1.txz.asc
-| | |-- kaudiocreator-r1008583-x86_64-1.txt
-| | |-- kaudiocreator-r1008583-x86_64-1.txz
-| | |-- kaudiocreator-r1008583-x86_64-1.txz.asc
-| | |-- kdeaccessibility-4.2.4-x86_64-1.txt
-| | |-- kdeaccessibility-4.2.4-x86_64-1.txz
-| | |-- kdeaccessibility-4.2.4-x86_64-1.txz.asc
-| | |-- kdeadmin-4.2.4-x86_64-1.txt
-| | |-- kdeadmin-4.2.4-x86_64-1.txz
-| | |-- kdeadmin-4.2.4-x86_64-1.txz.asc
-| | |-- kdeartwork-4.2.4-x86_64-1.txt
-| | |-- kdeartwork-4.2.4-x86_64-1.txz
-| | |-- kdeartwork-4.2.4-x86_64-1.txz.asc
-| | |-- kdebase-4.2.4-x86_64-1.txt
-| | |-- kdebase-4.2.4-x86_64-1.txz
-| | |-- kdebase-4.2.4-x86_64-1.txz.asc
-| | |-- kdebase-runtime-4.2.4-x86_64-2.txt
-| | |-- kdebase-runtime-4.2.4-x86_64-2.txz
-| | |-- kdebase-runtime-4.2.4-x86_64-2.txz.asc
-| | |-- kdebase-workspace-4.2.4-x86_64-1.txt
-| | |-- kdebase-workspace-4.2.4-x86_64-1.txz
-| | |-- kdebase-workspace-4.2.4-x86_64-1.txz.asc
-| | |-- kdebindings-4.2.4-x86_64-1.txt
-| | |-- kdebindings-4.2.4-x86_64-1.txz
-| | |-- kdebindings-4.2.4-x86_64-1.txz.asc
-| | |-- kdeedu-4.2.4-x86_64-1.txt
-| | |-- kdeedu-4.2.4-x86_64-1.txz
-| | |-- kdeedu-4.2.4-x86_64-1.txz.asc
-| | |-- kdegames-4.2.4-x86_64-1.txt
-| | |-- kdegames-4.2.4-x86_64-1.txz
-| | |-- kdegames-4.2.4-x86_64-1.txz.asc
-| | |-- kdegraphics-4.2.4-x86_64-1.txt
-| | |-- kdegraphics-4.2.4-x86_64-1.txz
-| | |-- kdegraphics-4.2.4-x86_64-1.txz.asc
-| | |-- kdelibs-4.2.4-x86_64-3.txt
-| | |-- kdelibs-4.2.4-x86_64-3.txz
-| | |-- kdelibs-4.2.4-x86_64-3.txz.asc
-| | |-- kdemultimedia-4.2.4-x86_64-1.txt
-| | |-- kdemultimedia-4.2.4-x86_64-1.txz
-| | |-- kdemultimedia-4.2.4-x86_64-1.txz.asc
-| | |-- kdenetwork-4.2.4-x86_64-2.txt
-| | |-- kdenetwork-4.2.4-x86_64-2.txz
-| | |-- kdenetwork-4.2.4-x86_64-2.txz.asc
-| | |-- kdepim-4.2.4-x86_64-1.txt
-| | |-- kdepim-4.2.4-x86_64-1.txz
-| | |-- kdepim-4.2.4-x86_64-1.txz.asc
-| | |-- kdepimlibs-4.2.4-x86_64-1.txt
-| | |-- kdepimlibs-4.2.4-x86_64-1.txz
-| | |-- kdepimlibs-4.2.4-x86_64-1.txz.asc
-| | |-- kdeplasma-addons-4.2.4-x86_64-1.txt
-| | |-- kdeplasma-addons-4.2.4-x86_64-1.txz
-| | |-- kdeplasma-addons-4.2.4-x86_64-1.txz.asc
-| | |-- kdesdk-4.2.4-x86_64-1.txt
-| | |-- kdesdk-4.2.4-x86_64-1.txz
-| | |-- kdesdk-4.2.4-x86_64-1.txz.asc
-| | |-- kdetoys-4.2.4-x86_64-1.txt
-| | |-- kdetoys-4.2.4-x86_64-1.txz
-| | |-- kdetoys-4.2.4-x86_64-1.txz.asc
-| | |-- kdeutils-4.2.4-x86_64-1.txt
-| | |-- kdeutils-4.2.4-x86_64-1.txz
-| | |-- kdeutils-4.2.4-x86_64-1.txz.asc
-| | |-- kdevelop-3.9.91-x86_64-1.txt
-| | |-- kdevelop-3.9.91-x86_64-1.txz
-| | |-- kdevelop-3.9.91-x86_64-1.txz.asc
-| | |-- kdevplatform-0.9.91-x86_64-1.txt
-| | |-- kdevplatform-0.9.91-x86_64-1.txz
-| | |-- kdevplatform-0.9.91-x86_64-1.txz.asc
-| | |-- kdewebdev-4.2.4-x86_64-1.txt
-| | |-- kdewebdev-4.2.4-x86_64-1.txz
-| | |-- kdewebdev-4.2.4-x86_64-1.txz.asc
-| | |-- koffice-2.0.2-x86_64-1.txt
-| | |-- koffice-2.0.2-x86_64-1.txz
-| | |-- koffice-2.0.2-x86_64-1.txz.asc
-| | |-- konq-plugins-4.2.4-x86_64-1.txt
-| | |-- konq-plugins-4.2.4-x86_64-1.txz
-| | |-- konq-plugins-4.2.4-x86_64-1.txz.asc
-| | |-- ktorrent-3.2.2-x86_64-1.txt
-| | |-- ktorrent-3.2.2-x86_64-1.txz
-| | |-- ktorrent-3.2.2-x86_64-1.txz.asc
-| | |-- maketag
-| | |-- maketag.ez
-| | |-- mplayerthumbs-1.2-x86_64-2.txt
-| | |-- mplayerthumbs-1.2-x86_64-2.txz
-| | |-- mplayerthumbs-1.2-x86_64-2.txz.asc
-| | |-- skanlite-0.3_kde4.2.4-x86_64-1.txt
-| | |-- skanlite-0.3_kde4.2.4-x86_64-1.txz
-| | |-- skanlite-0.3_kde4.2.4-x86_64-1.txz.asc
-| | `-- tagfile
-| |-- kdei
-| | |-- install-packages
-| | |-- install.end
-| | |-- kde-l10n-ar-4.2.4-noarch-1.txt
-| | |-- kde-l10n-ar-4.2.4-noarch-1.txz
-| | |-- kde-l10n-ar-4.2.4-noarch-1.txz.asc
-| | |-- kde-l10n-bg-4.2.4-noarch-1.txt
-| | |-- kde-l10n-bg-4.2.4-noarch-1.txz
-| | |-- kde-l10n-bg-4.2.4-noarch-1.txz.asc
-| | |-- kde-l10n-bn_IN-4.2.4-noarch-1.txt
-| | |-- kde-l10n-bn_IN-4.2.4-noarch-1.txz
-| | |-- kde-l10n-bn_IN-4.2.4-noarch-1.txz.asc
-| | |-- kde-l10n-ca-4.2.4-noarch-1.txt
-| | |-- kde-l10n-ca-4.2.4-noarch-1.txz
-| | |-- kde-l10n-ca-4.2.4-noarch-1.txz.asc
-| | |-- kde-l10n-cs-4.2.4-noarch-1.txt
-| | |-- kde-l10n-cs-4.2.4-noarch-1.txz
-| | |-- kde-l10n-cs-4.2.4-noarch-1.txz.asc
-| | |-- kde-l10n-csb-4.2.4-noarch-1.txt
-| | |-- kde-l10n-csb-4.2.4-noarch-1.txz
-| | |-- kde-l10n-csb-4.2.4-noarch-1.txz.asc
-| | |-- kde-l10n-da-4.2.4-noarch-1.txt
-| | |-- kde-l10n-da-4.2.4-noarch-1.txz
-| | |-- kde-l10n-da-4.2.4-noarch-1.txz.asc
-| | |-- kde-l10n-de-4.2.4-noarch-1.txt
-| | |-- kde-l10n-de-4.2.4-noarch-1.txz
-| | |-- kde-l10n-de-4.2.4-noarch-1.txz.asc
-| | |-- kde-l10n-el-4.2.4-noarch-1.txt
-| | |-- kde-l10n-el-4.2.4-noarch-1.txz
-| | |-- kde-l10n-el-4.2.4-noarch-1.txz.asc
-| | |-- kde-l10n-en_GB-4.2.4-noarch-1.txt
-| | |-- kde-l10n-en_GB-4.2.4-noarch-1.txz
-| | |-- kde-l10n-en_GB-4.2.4-noarch-1.txz.asc
-| | |-- kde-l10n-es-4.2.4-noarch-1.txt
-| | |-- kde-l10n-es-4.2.4-noarch-1.txz
-| | |-- kde-l10n-es-4.2.4-noarch-1.txz.asc
-| | |-- kde-l10n-et-4.2.4-noarch-1.txt
-| | |-- kde-l10n-et-4.2.4-noarch-1.txz
-| | |-- kde-l10n-et-4.2.4-noarch-1.txz.asc
-| | |-- kde-l10n-eu-4.2.4-noarch-1.txt
-| | |-- kde-l10n-eu-4.2.4-noarch-1.txz
-| | |-- kde-l10n-eu-4.2.4-noarch-1.txz.asc
-| | |-- kde-l10n-fi-4.2.4-noarch-1.txt
-| | |-- kde-l10n-fi-4.2.4-noarch-1.txz
-| | |-- kde-l10n-fi-4.2.4-noarch-1.txz.asc
-| | |-- kde-l10n-fr-4.2.4-noarch-1.txt
-| | |-- kde-l10n-fr-4.2.4-noarch-1.txz
-| | |-- kde-l10n-fr-4.2.4-noarch-1.txz.asc
-| | |-- kde-l10n-ga-4.2.4-noarch-1.txt
-| | |-- kde-l10n-ga-4.2.4-noarch-1.txz
-| | |-- kde-l10n-ga-4.2.4-noarch-1.txz.asc
-| | |-- kde-l10n-gl-4.2.4-noarch-1.txt
-| | |-- kde-l10n-gl-4.2.4-noarch-1.txz
-| | |-- kde-l10n-gl-4.2.4-noarch-1.txz.asc
-| | |-- kde-l10n-gu-4.2.4-noarch-1.txt
-| | |-- kde-l10n-gu-4.2.4-noarch-1.txz
-| | |-- kde-l10n-gu-4.2.4-noarch-1.txz.asc
-| | |-- kde-l10n-he-4.2.4-noarch-1.txt
-| | |-- kde-l10n-he-4.2.4-noarch-1.txz
-| | |-- kde-l10n-he-4.2.4-noarch-1.txz.asc
-| | |-- kde-l10n-hi-4.2.4-noarch-1.txt
-| | |-- kde-l10n-hi-4.2.4-noarch-1.txz
-| | |-- kde-l10n-hi-4.2.4-noarch-1.txz.asc
-| | |-- kde-l10n-hu-4.2.4-noarch-1.txt
-| | |-- kde-l10n-hu-4.2.4-noarch-1.txz
-| | |-- kde-l10n-hu-4.2.4-noarch-1.txz.asc
-| | |-- kde-l10n-is-4.2.4-noarch-1.txt
-| | |-- kde-l10n-is-4.2.4-noarch-1.txz
-| | |-- kde-l10n-is-4.2.4-noarch-1.txz.asc
-| | |-- kde-l10n-it-4.2.4-noarch-1.txt
-| | |-- kde-l10n-it-4.2.4-noarch-1.txz
-| | |-- kde-l10n-it-4.2.4-noarch-1.txz.asc
-| | |-- kde-l10n-ja-4.2.4-noarch-1.txt
-| | |-- kde-l10n-ja-4.2.4-noarch-1.txz
-| | |-- kde-l10n-ja-4.2.4-noarch-1.txz.asc
-| | |-- kde-l10n-kk-4.2.4-noarch-1.txt
-| | |-- kde-l10n-kk-4.2.4-noarch-1.txz
-| | |-- kde-l10n-kk-4.2.4-noarch-1.txz.asc
-| | |-- kde-l10n-km-4.2.4-noarch-1.txt
-| | |-- kde-l10n-km-4.2.4-noarch-1.txz
-| | |-- kde-l10n-km-4.2.4-noarch-1.txz.asc
-| | |-- kde-l10n-kn-4.2.4-noarch-1.txt
-| | |-- kde-l10n-kn-4.2.4-noarch-1.txz
-| | |-- kde-l10n-kn-4.2.4-noarch-1.txz.asc
-| | |-- kde-l10n-ko-4.2.4-noarch-1.txt
-| | |-- kde-l10n-ko-4.2.4-noarch-1.txz
-| | |-- kde-l10n-ko-4.2.4-noarch-1.txz.asc
-| | |-- kde-l10n-ku-4.2.4-noarch-1.txt
-| | |-- kde-l10n-ku-4.2.4-noarch-1.txz
-| | |-- kde-l10n-ku-4.2.4-noarch-1.txz.asc
-| | |-- kde-l10n-lt-4.2.4-noarch-1.txt
-| | |-- kde-l10n-lt-4.2.4-noarch-1.txz
-| | |-- kde-l10n-lt-4.2.4-noarch-1.txz.asc
-| | |-- kde-l10n-lv-4.2.4-noarch-1.txt
-| | |-- kde-l10n-lv-4.2.4-noarch-1.txz
-| | |-- kde-l10n-lv-4.2.4-noarch-1.txz.asc
-| | |-- kde-l10n-mai-4.2.4-noarch-1.txt
-| | |-- kde-l10n-mai-4.2.4-noarch-1.txz
-| | |-- kde-l10n-mai-4.2.4-noarch-1.txz.asc
-| | |-- kde-l10n-mk-4.2.4-noarch-1.txt
-| | |-- kde-l10n-mk-4.2.4-noarch-1.txz
-| | |-- kde-l10n-mk-4.2.4-noarch-1.txz.asc
-| | |-- kde-l10n-ml-4.2.4-noarch-1.txt
-| | |-- kde-l10n-ml-4.2.4-noarch-1.txz
-| | |-- kde-l10n-ml-4.2.4-noarch-1.txz.asc
-| | |-- kde-l10n-mr-4.2.4-noarch-1.txt
-| | |-- kde-l10n-mr-4.2.4-noarch-1.txz
-| | |-- kde-l10n-mr-4.2.4-noarch-1.txz.asc
-| | |-- kde-l10n-nb-4.2.4-noarch-1.txt
-| | |-- kde-l10n-nb-4.2.4-noarch-1.txz
-| | |-- kde-l10n-nb-4.2.4-noarch-1.txz.asc
-| | |-- kde-l10n-nds-4.2.4-noarch-1.txt
-| | |-- kde-l10n-nds-4.2.4-noarch-1.txz
-| | |-- kde-l10n-nds-4.2.4-noarch-1.txz.asc
-| | |-- kde-l10n-nl-4.2.4-noarch-1.txt
-| | |-- kde-l10n-nl-4.2.4-noarch-1.txz
-| | |-- kde-l10n-nl-4.2.4-noarch-1.txz.asc
-| | |-- kde-l10n-nn-4.2.4-noarch-1.txt
-| | |-- kde-l10n-nn-4.2.4-noarch-1.txz
-| | |-- kde-l10n-nn-4.2.4-noarch-1.txz.asc
-| | |-- kde-l10n-pa-4.2.4-noarch-1.txt
-| | |-- kde-l10n-pa-4.2.4-noarch-1.txz
-| | |-- kde-l10n-pa-4.2.4-noarch-1.txz.asc
-| | |-- kde-l10n-pl-4.2.4-noarch-1.txt
-| | |-- kde-l10n-pl-4.2.4-noarch-1.txz
-| | |-- kde-l10n-pl-4.2.4-noarch-1.txz.asc
-| | |-- kde-l10n-pt-4.2.4-noarch-1.txt
-| | |-- kde-l10n-pt-4.2.4-noarch-1.txz
-| | |-- kde-l10n-pt-4.2.4-noarch-1.txz.asc
-| | |-- kde-l10n-pt_BR-4.2.4-noarch-1.txt
-| | |-- kde-l10n-pt_BR-4.2.4-noarch-1.txz
-| | |-- kde-l10n-pt_BR-4.2.4-noarch-1.txz.asc
-| | |-- kde-l10n-ro-4.2.4-noarch-1.txt
-| | |-- kde-l10n-ro-4.2.4-noarch-1.txz
-| | |-- kde-l10n-ro-4.2.4-noarch-1.txz.asc
-| | |-- kde-l10n-ru-4.2.4-noarch-1.txt
-| | |-- kde-l10n-ru-4.2.4-noarch-1.txz
-| | |-- kde-l10n-ru-4.2.4-noarch-1.txz.asc
-| | |-- kde-l10n-sk-4.2.4-noarch-1.txt
-| | |-- kde-l10n-sk-4.2.4-noarch-1.txz
-| | |-- kde-l10n-sk-4.2.4-noarch-1.txz.asc
-| | |-- kde-l10n-sl-4.2.4-noarch-1.txt
-| | |-- kde-l10n-sl-4.2.4-noarch-1.txz
-| | |-- kde-l10n-sl-4.2.4-noarch-1.txz.asc
-| | |-- kde-l10n-sr-4.2.4-noarch-1.txt
-| | |-- kde-l10n-sr-4.2.4-noarch-1.txz
-| | |-- kde-l10n-sr-4.2.4-noarch-1.txz.asc
-| | |-- kde-l10n-sv-4.2.4-noarch-1.txt
-| | |-- kde-l10n-sv-4.2.4-noarch-1.txz
-| | |-- kde-l10n-sv-4.2.4-noarch-1.txz.asc
-| | |-- kde-l10n-tg-4.2.4-noarch-1.txt
-| | |-- kde-l10n-tg-4.2.4-noarch-1.txz
-| | |-- kde-l10n-tg-4.2.4-noarch-1.txz.asc
-| | |-- kde-l10n-th-4.2.4-noarch-1.txt
-| | |-- kde-l10n-th-4.2.4-noarch-1.txz
-| | |-- kde-l10n-th-4.2.4-noarch-1.txz.asc
-| | |-- kde-l10n-tr-4.2.4-noarch-1.txt
-| | |-- kde-l10n-tr-4.2.4-noarch-1.txz
-| | |-- kde-l10n-tr-4.2.4-noarch-1.txz.asc
-| | |-- kde-l10n-uk-4.2.4-noarch-1.txt
-| | |-- kde-l10n-uk-4.2.4-noarch-1.txz
-| | |-- kde-l10n-uk-4.2.4-noarch-1.txz.asc
-| | |-- kde-l10n-wa-4.2.4-noarch-1.txt
-| | |-- kde-l10n-wa-4.2.4-noarch-1.txz
-| | |-- kde-l10n-wa-4.2.4-noarch-1.txz.asc
-| | |-- kde-l10n-zh_CN-4.2.4-noarch-1.txt
-| | |-- kde-l10n-zh_CN-4.2.4-noarch-1.txz
-| | |-- kde-l10n-zh_CN-4.2.4-noarch-1.txz.asc
-| | |-- kde-l10n-zh_TW-4.2.4-noarch-1.txt
-| | |-- kde-l10n-zh_TW-4.2.4-noarch-1.txz
-| | |-- kde-l10n-zh_TW-4.2.4-noarch-1.txz.asc
-| | |-- koffice-l10n-ca-2.0.2-noarch-1.txt
-| | |-- koffice-l10n-ca-2.0.2-noarch-1.txz
-| | |-- koffice-l10n-ca-2.0.2-noarch-1.txz.asc
-| | |-- koffice-l10n-cs-2.0.2-noarch-1.txt
-| | |-- koffice-l10n-cs-2.0.2-noarch-1.txz
-| | |-- koffice-l10n-cs-2.0.2-noarch-1.txz.asc
-| | |-- koffice-l10n-da-2.0.2-noarch-1.txt
-| | |-- koffice-l10n-da-2.0.2-noarch-1.txz
-| | |-- koffice-l10n-da-2.0.2-noarch-1.txz.asc
-| | |-- koffice-l10n-de-2.0.2-noarch-1.txt
-| | |-- koffice-l10n-de-2.0.2-noarch-1.txz
-| | |-- koffice-l10n-de-2.0.2-noarch-1.txz.asc
-| | |-- koffice-l10n-el-2.0.2-noarch-1.txt
-| | |-- koffice-l10n-el-2.0.2-noarch-1.txz
-| | |-- koffice-l10n-el-2.0.2-noarch-1.txz.asc
-| | |-- koffice-l10n-en_GB-2.0.2-noarch-1.txt
-| | |-- koffice-l10n-en_GB-2.0.2-noarch-1.txz
-| | |-- koffice-l10n-en_GB-2.0.2-noarch-1.txz.asc
-| | |-- koffice-l10n-es-2.0.2-noarch-1.txt
-| | |-- koffice-l10n-es-2.0.2-noarch-1.txz
-| | |-- koffice-l10n-es-2.0.2-noarch-1.txz.asc
-| | |-- koffice-l10n-et-2.0.2-noarch-1.txt
-| | |-- koffice-l10n-et-2.0.2-noarch-1.txz
-| | |-- koffice-l10n-et-2.0.2-noarch-1.txz.asc
-| | |-- koffice-l10n-fr-2.0.2-noarch-1.txt
-| | |-- koffice-l10n-fr-2.0.2-noarch-1.txz
-| | |-- koffice-l10n-fr-2.0.2-noarch-1.txz.asc
-| | |-- koffice-l10n-fy-2.0.2-noarch-1.txt
-| | |-- koffice-l10n-fy-2.0.2-noarch-1.txz
-| | |-- koffice-l10n-fy-2.0.2-noarch-1.txz.asc
-| | |-- koffice-l10n-gl-2.0.2-noarch-1.txt
-| | |-- koffice-l10n-gl-2.0.2-noarch-1.txz
-| | |-- koffice-l10n-gl-2.0.2-noarch-1.txz.asc
-| | |-- koffice-l10n-hi-2.0.2-noarch-1.txt
-| | |-- koffice-l10n-hi-2.0.2-noarch-1.txz
-| | |-- koffice-l10n-hi-2.0.2-noarch-1.txz.asc
-| | |-- koffice-l10n-it-2.0.2-noarch-1.txt
-| | |-- koffice-l10n-it-2.0.2-noarch-1.txz
-| | |-- koffice-l10n-it-2.0.2-noarch-1.txz.asc
-| | |-- koffice-l10n-ja-2.0.2-noarch-1.txt
-| | |-- koffice-l10n-ja-2.0.2-noarch-1.txz
-| | |-- koffice-l10n-ja-2.0.2-noarch-1.txz.asc
-| | |-- koffice-l10n-kk-2.0.2-noarch-1.txt
-| | |-- koffice-l10n-kk-2.0.2-noarch-1.txz
-| | |-- koffice-l10n-kk-2.0.2-noarch-1.txz.asc
-| | |-- koffice-l10n-nb-2.0.2-noarch-1.txt
-| | |-- koffice-l10n-nb-2.0.2-noarch-1.txz
-| | |-- koffice-l10n-nb-2.0.2-noarch-1.txz.asc
-| | |-- koffice-l10n-nds-2.0.2-noarch-1.txt
-| | |-- koffice-l10n-nds-2.0.2-noarch-1.txz
-| | |-- koffice-l10n-nds-2.0.2-noarch-1.txz.asc
-| | |-- koffice-l10n-nl-2.0.2-noarch-1.txt
-| | |-- koffice-l10n-nl-2.0.2-noarch-1.txz
-| | |-- koffice-l10n-nl-2.0.2-noarch-1.txz.asc
-| | |-- koffice-l10n-pl-2.0.2-noarch-1.txt
-| | |-- koffice-l10n-pl-2.0.2-noarch-1.txz
-| | |-- koffice-l10n-pl-2.0.2-noarch-1.txz.asc
-| | |-- koffice-l10n-pt-2.0.2-noarch-1.txt
-| | |-- koffice-l10n-pt-2.0.2-noarch-1.txz
-| | |-- koffice-l10n-pt-2.0.2-noarch-1.txz.asc
-| | |-- koffice-l10n-pt_BR-2.0.2-noarch-1.txt
-| | |-- koffice-l10n-pt_BR-2.0.2-noarch-1.txz
-| | |-- koffice-l10n-pt_BR-2.0.2-noarch-1.txz.asc
-| | |-- koffice-l10n-sv-2.0.2-noarch-1.txt
-| | |-- koffice-l10n-sv-2.0.2-noarch-1.txz
-| | |-- koffice-l10n-sv-2.0.2-noarch-1.txz.asc
-| | |-- koffice-l10n-tr-2.0.2-noarch-1.txt
-| | |-- koffice-l10n-tr-2.0.2-noarch-1.txz
-| | |-- koffice-l10n-tr-2.0.2-noarch-1.txz.asc
-| | |-- koffice-l10n-uk-2.0.2-noarch-1.txt
-| | |-- koffice-l10n-uk-2.0.2-noarch-1.txz
-| | |-- koffice-l10n-uk-2.0.2-noarch-1.txz.asc
-| | |-- koffice-l10n-wa-2.0.2-noarch-1.txt
-| | |-- koffice-l10n-wa-2.0.2-noarch-1.txz
-| | |-- koffice-l10n-wa-2.0.2-noarch-1.txz.asc
-| | |-- koffice-l10n-zh_CN-2.0.2-noarch-1.txt
-| | |-- koffice-l10n-zh_CN-2.0.2-noarch-1.txz
-| | |-- koffice-l10n-zh_CN-2.0.2-noarch-1.txz.asc
-| | |-- koffice-l10n-zh_TW-2.0.2-noarch-1.txt
-| | |-- koffice-l10n-zh_TW-2.0.2-noarch-1.txz
-| | |-- koffice-l10n-zh_TW-2.0.2-noarch-1.txz.asc
-| | |-- maketag
-| | |-- maketag.ez
-| | `-- tagfile
-| |-- l
-| | |-- M2Crypto-0.19.1-x86_64-2.txt
-| | |-- M2Crypto-0.19.1-x86_64-2.txz
-| | |-- M2Crypto-0.19.1-x86_64-2.txz.asc
-| | |-- PyQt-4.4.4-x86_64-2.txt
-| | |-- PyQt-4.4.4-x86_64-2.txz
-| | |-- PyQt-4.4.4-x86_64-2.txz.asc
-| | |-- QScintilla-2.3.2-x86_64-2.txt
-| | |-- QScintilla-2.3.2-x86_64-2.txz
-| | |-- QScintilla-2.3.2-x86_64-2.txz.asc
-| | |-- aalib-1.4rc5-x86_64-2.txt
-| | |-- aalib-1.4rc5-x86_64-2.txz
-| | |-- aalib-1.4rc5-x86_64-2.txz.asc
-| | |-- akonadi-1.1.2-x86_64-1.txt
-| | |-- akonadi-1.1.2-x86_64-1.txz
-| | |-- akonadi-1.1.2-x86_64-1.txz.asc
-| | |-- alsa-lib-1.0.18-x86_64-2.txt
-| | |-- alsa-lib-1.0.18-x86_64-2.txz
-| | |-- alsa-lib-1.0.18-x86_64-2.txz.asc
-| | |-- alsa-oss-1.0.17-x86_64-1.txt
-| | |-- alsa-oss-1.0.17-x86_64-1.txz
-| | |-- alsa-oss-1.0.17-x86_64-1.txz.asc
-| | |-- apr-1.3.8-x86_64-1.txt
-| | |-- apr-1.3.8-x86_64-1.txz
-| | |-- apr-1.3.8-x86_64-1.txz.asc
-| | |-- apr-util-1.3.9-x86_64-1.txt
-| | |-- apr-util-1.3.9-x86_64-1.txz
-| | |-- apr-util-1.3.9-x86_64-1.txz.asc
-| | |-- aspell-0.60.5-x86_64-2.txt
-| | |-- aspell-0.60.5-x86_64-2.txz
-| | |-- aspell-0.60.5-x86_64-2.txz.asc
-| | |-- aspell-en-6.0_0-noarch-4.txt
-| | |-- aspell-en-6.0_0-noarch-4.txz
-| | |-- aspell-en-6.0_0-noarch-4.txz.asc
-| | |-- atk-1.26.0-x86_64-1.txt
-| | |-- atk-1.26.0-x86_64-1.txz
-| | |-- atk-1.26.0-x86_64-1.txz.asc
-| | |-- audiofile-0.2.6-x86_64-2.txt
-| | |-- audiofile-0.2.6-x86_64-2.txz
-| | |-- audiofile-0.2.6-x86_64-2.txz.asc
-| | |-- automoc4-0.9.88-x86_64-1.txt
-| | |-- automoc4-0.9.88-x86_64-1.txz
-| | |-- automoc4-0.9.88-x86_64-1.txz.asc
-| | |-- babl-0.0.22-x86_64-1.txt
-| | |-- babl-0.0.22-x86_64-1.txz
-| | |-- babl-0.0.22-x86_64-1.txz.asc
-| | |-- boost-1.38.0-x86_64-2.txt
-| | |-- boost-1.38.0-x86_64-2.txz
-| | |-- boost-1.38.0-x86_64-2.txz.asc
-| | |-- cairo-1.8.6-x86_64-3.txt
-| | |-- cairo-1.8.6-x86_64-3.txz
-| | |-- cairo-1.8.6-x86_64-3.txz.asc
-| | |-- chmlib-0.39-x86_64-1.txt
-| | |-- chmlib-0.39-x86_64-1.txz
-| | |-- chmlib-0.39-x86_64-1.txz.asc
-| | |-- clucene-0.9.21b-x86_64-1.txt
-| | |-- clucene-0.9.21b-x86_64-1.txz
-| | |-- clucene-0.9.21b-x86_64-1.txz.asc
-| | |-- db42-4.2.52-x86_64-3.txt
-| | |-- db42-4.2.52-x86_64-3.txz
-| | |-- db42-4.2.52-x86_64-3.txz.asc
-| | |-- db44-4.4.20-x86_64-2.txt
-| | |-- db44-4.4.20-x86_64-2.txz
-| | |-- db44-4.4.20-x86_64-2.txz.asc
-| | |-- dbus-glib-0.80-x86_64-1.txt
-| | |-- dbus-glib-0.80-x86_64-1.txz
-| | |-- dbus-glib-0.80-x86_64-1.txz.asc
-| | |-- dbus-python-0.83.0-x86_64-2.txt
-| | |-- dbus-python-0.83.0-x86_64-2.txz
-| | |-- dbus-python-0.83.0-x86_64-2.txz.asc
-| | |-- desktop-file-utils-0.15-x86_64-1.txt
-| | |-- desktop-file-utils-0.15-x86_64-1.txz
-| | |-- desktop-file-utils-0.15-x86_64-1.txz.asc
-| | |-- djvulibre-3.5.21-x86_64-1.txt
-| | |-- djvulibre-3.5.21-x86_64-1.txz
-| | |-- djvulibre-3.5.21-x86_64-1.txz.asc
-| | |-- eigen2-r948353-x86_64-1.txt
-| | |-- eigen2-r948353-x86_64-1.txz
-| | |-- eigen2-r948353-x86_64-1.txz.asc
-| | |-- enchant-1.4.2-x86_64-1.txt
-| | |-- enchant-1.4.2-x86_64-1.txz
-| | |-- enchant-1.4.2-x86_64-1.txz.asc
-| | |-- esound-0.2.41-x86_64-1.txt
-| | |-- esound-0.2.41-x86_64-1.txz
-| | |-- esound-0.2.41-x86_64-1.txz.asc
-| | |-- exiv2-0.18.1-x86_64-1.txt
-| | |-- exiv2-0.18.1-x86_64-1.txz
-| | |-- exiv2-0.18.1-x86_64-1.txz.asc
-| | |-- expat-2.0.1-x86_64-1.txt
-| | |-- expat-2.0.1-x86_64-1.txz
-| | |-- expat-2.0.1-x86_64-1.txz.asc
-| | |-- freetype-2.3.9-x86_64-1.txt
-| | |-- freetype-2.3.9-x86_64-1.txz
-| | |-- freetype-2.3.9-x86_64-1.txz.asc
-| | |-- fribidi-0.10.9-x86_64-2.txt
-| | |-- fribidi-0.10.9-x86_64-2.txz
-| | |-- fribidi-0.10.9-x86_64-2.txz.asc
-| | |-- fuse-2.7.4-x86_64-2.txt
-| | |-- fuse-2.7.4-x86_64-2.txz
-| | |-- fuse-2.7.4-x86_64-2.txz.asc
-| | |-- gamin-0.1.10-x86_64-2.txt
-| | |-- gamin-0.1.10-x86_64-2.txz
-| | |-- gamin-0.1.10-x86_64-2.txz.asc
-| | |-- gd-2.0.35-x86_64-3.txt
-| | |-- gd-2.0.35-x86_64-3.txz
-| | |-- gd-2.0.35-x86_64-3.txz.asc
-| | |-- gdbm-1.8.3-x86_64-4.txt
-| | |-- gdbm-1.8.3-x86_64-4.txz
-| | |-- gdbm-1.8.3-x86_64-4.txz.asc
-| | |-- gegl-0.0.22-x86_64-1.txt
-| | |-- gegl-0.0.22-x86_64-1.txz
-| | |-- gegl-0.0.22-x86_64-1.txz.asc
-| | |-- glib-1.2.10-x86_64-3.txt
-| | |-- glib-1.2.10-x86_64-3.txz
-| | |-- glib-1.2.10-x86_64-3.txz.asc
-| | |-- glib2-2.18.4-x86_64-1.txt
-| | |-- glib2-2.18.4-x86_64-1.txz
-| | |-- glib2-2.18.4-x86_64-1.txz.asc
-| | |-- glibc-2.9-x86_64-3.txt
-| | |-- glibc-2.9-x86_64-3.txz
-| | |-- glibc-2.9-x86_64-3.txz.asc
-| | |-- glibc-i18n-2.9-x86_64-3.txt
-| | |-- glibc-i18n-2.9-x86_64-3.txz
-| | |-- glibc-i18n-2.9-x86_64-3.txz.asc
-| | |-- glibc-profile-2.9-x86_64-3.txt
-| | |-- glibc-profile-2.9-x86_64-3.txz
-| | |-- glibc-profile-2.9-x86_64-3.txz.asc
-| | |-- gmime-2.2.23-x86_64-1.txt
-| | |-- gmime-2.2.23-x86_64-1.txz
-| | |-- gmime-2.2.23-x86_64-1.txz.asc
-| | |-- gmm-3.1-noarch-1.txt
-| | |-- gmm-3.1-noarch-1.txz
-| | |-- gmm-3.1-noarch-1.txz.asc
-| | |-- gmp-4.2.4-x86_64-1.txt
-| | |-- gmp-4.2.4-x86_64-1.txz
-| | |-- gmp-4.2.4-x86_64-1.txz.asc
-| | |-- gnome-icon-theme-2.26.0-x86_64-1.txt
-| | |-- gnome-icon-theme-2.26.0-x86_64-1.txz
-| | |-- gnome-icon-theme-2.26.0-x86_64-1.txz.asc
-| | |-- gst-plugins-base-0.10.23-x86_64-1.txt
-| | |-- gst-plugins-base-0.10.23-x86_64-1.txz
-| | |-- gst-plugins-base-0.10.23-x86_64-1.txz.asc
-| | |-- gstreamer-0.10.23-x86_64-1.txt
-| | |-- gstreamer-0.10.23-x86_64-1.txz
-| | |-- gstreamer-0.10.23-x86_64-1.txz.asc
-| | |-- gtk+-1.2.10-x86_64-5.txt
-| | |-- gtk+-1.2.10-x86_64-5.txz
-| | |-- gtk+-1.2.10-x86_64-5.txz.asc
-| | |-- gtk+2-2.14.7-x86_64-4.txt
-| | |-- gtk+2-2.14.7-x86_64-4.txz
-| | |-- gtk+2-2.14.7-x86_64-4.txz.asc
-| | |-- gtkspell-2.0.15-x86_64-1.txt
-| | |-- gtkspell-2.0.15-x86_64-1.txz
-| | |-- gtkspell-2.0.15-x86_64-1.txz.asc
-| | |-- hal-0.5.11-x86_64-6.txt
-| | |-- hal-0.5.11-x86_64-6.txz
-| | |-- hal-0.5.11-x86_64-6.txz.asc
-| | |-- hal-info-20090716-noarch-1.txt
-| | |-- hal-info-20090716-noarch-1.txz
-| | |-- hal-info-20090716-noarch-1.txz.asc
-| | |-- hicolor-icon-theme-0.10-noarch-5.txt
-| | |-- hicolor-icon-theme-0.10-noarch-5.txz
-| | |-- hicolor-icon-theme-0.10-noarch-5.txz.asc
-| | |-- icon-naming-utils-0.8.90-x86_64-2.txt
-| | |-- icon-naming-utils-0.8.90-x86_64-2.txz
-| | |-- icon-naming-utils-0.8.90-x86_64-2.txz.asc
-| | |-- ilmbase-1.0.1-x86_64-1.txt
-| | |-- ilmbase-1.0.1-x86_64-1.txz
-| | |-- ilmbase-1.0.1-x86_64-1.txz.asc
-| | |-- imlib-1.9.15-x86_64-5.txt
-| | |-- imlib-1.9.15-x86_64-5.txz
-| | |-- imlib-1.9.15-x86_64-5.txz.asc
-| | |-- install-packages
-| | |-- install.end
-| | |-- iso-codes-3.8-noarch-1.txt
-| | |-- iso-codes-3.8-noarch-1.txz
-| | |-- iso-codes-3.8-noarch-1.txz.asc
-| | |-- jasper-1.900.1-x86_64-2.txt
-| | |-- jasper-1.900.1-x86_64-2.txz
-| | |-- jasper-1.900.1-x86_64-2.txz.asc
-| | |-- jre-6u16-x86_64-1.txt
-| | |-- jre-6u16-x86_64-1.txz
-| | |-- jre-6u16-x86_64-1.txz.asc
-| | |-- lcms-1.18-x86_64-1.txt
-| | |-- lcms-1.18-x86_64-1.txz
-| | |-- lcms-1.18-x86_64-1.txz.asc
-| | |-- lesstif-0.95.0-x86_64-5.txt
-| | |-- lesstif-0.95.0-x86_64-5.txz
-| | |-- lesstif-0.95.0-x86_64-5.txz.asc
-| | |-- libaio-0.3.106-x86_64-1.txt
-| | |-- libaio-0.3.106-x86_64-1.txz
-| | |-- libaio-0.3.106-x86_64-1.txz.asc
-| | |-- libao-0.8.8-x86_64-1.txt
-| | |-- libao-0.8.8-x86_64-1.txz
-| | |-- libao-0.8.8-x86_64-1.txz.asc
-| | |-- libarchive-2.6.2-x86_64-1.txt
-| | |-- libarchive-2.6.2-x86_64-1.txz
-| | |-- libarchive-2.6.2-x86_64-1.txz.asc
-| | |-- libart_lgpl-2.3.20-x86_64-1.txt
-| | |-- libart_lgpl-2.3.20-x86_64-1.txz
-| | |-- libart_lgpl-2.3.20-x86_64-1.txz.asc
-| | |-- libcaca-0.99.beta16-x86_64-3.txt
-| | |-- libcaca-0.99.beta16-x86_64-3.txz
-| | |-- libcaca-0.99.beta16-x86_64-3.txz.asc
-| | |-- libcap-2.16-x86_64-2.txt
-| | |-- libcap-2.16-x86_64-2.txz
-| | |-- libcap-2.16-x86_64-2.txz.asc
-| | |-- libcddb-1.3.0-x86_64-1.txt
-| | |-- libcddb-1.3.0-x86_64-1.txz
-| | |-- libcddb-1.3.0-x86_64-1.txz.asc
-| | |-- libcdio-0.79-x86_64-1.txt
-| | |-- libcdio-0.79-x86_64-1.txz
-| | |-- libcdio-0.79-x86_64-1.txz.asc
-| | |-- libdvdread-4.1.3-x86_64-1.txt
-| | |-- libdvdread-4.1.3-x86_64-1.txz
-| | |-- libdvdread-4.1.3-x86_64-1.txz.asc
-| | |-- libexif-0.6.16-x86_64-1.txt
-| | |-- libexif-0.6.16-x86_64-1.txz
-| | |-- libexif-0.6.16-x86_64-1.txz.asc
-| | |-- libglade-2.6.4-x86_64-2.txt
-| | |-- libglade-2.6.4-x86_64-2.txz
-| | |-- libglade-2.6.4-x86_64-2.txz.asc
-| | |-- libgphoto2-2.4.6-x86_64-1.txt
-| | |-- libgphoto2-2.4.6-x86_64-1.txz
-| | |-- libgphoto2-2.4.6-x86_64-1.txz.asc
-| | |-- libgpod-0.7.2-x86_64-1.txt
-| | |-- libgpod-0.7.2-x86_64-1.txz
-| | |-- libgpod-0.7.2-x86_64-1.txz.asc
-| | |-- libgsf-1.14.15-x86_64-1.txt
-| | |-- libgsf-1.14.15-x86_64-1.txz
-| | |-- libgsf-1.14.15-x86_64-1.txz.asc
-| | |-- libgtkhtml-2.11.1-x86_64-2.txt
-| | |-- libgtkhtml-2.11.1-x86_64-2.txz
-| | |-- libgtkhtml-2.11.1-x86_64-2.txz.asc
-| | |-- libical-0.43-x86_64-1.txt
-| | |-- libical-0.43-x86_64-1.txz
-| | |-- libical-0.43-x86_64-1.txz.asc
-| | |-- libid3tag-0.15.1b-x86_64-3.txt
-| | |-- libid3tag-0.15.1b-x86_64-3.txz
-| | |-- libid3tag-0.15.1b-x86_64-3.txz.asc
-| | |-- libidl-0.8.10-x86_64-1.txt
-| | |-- libidl-0.8.10-x86_64-1.txz
-| | |-- libidl-0.8.10-x86_64-1.txz.asc
-| | |-- libidn-1.5-x86_64-1.txt
-| | |-- libidn-1.5-x86_64-1.txz
-| | |-- libidn-1.5-x86_64-1.txz.asc
-| | |-- libieee1284-0.2.11-x86_64-2.txt
-| | |-- libieee1284-0.2.11-x86_64-2.txz
-| | |-- libieee1284-0.2.11-x86_64-2.txz.asc
-| | |-- libjpeg-6b-x86_64-5.txt
-| | |-- libjpeg-6b-x86_64-5.txz
-| | |-- libjpeg-6b-x86_64-5.txz.asc
-| | |-- libkarma-0.1.1-x86_64-1.txt
-| | |-- libkarma-0.1.1-x86_64-1.txz
-| | |-- libkarma-0.1.1-x86_64-1.txz.asc
-| | |-- libmad-0.15.1b-x86_64-3.txt
-| | |-- libmad-0.15.1b-x86_64-3.txz
-| | |-- libmad-0.15.1b-x86_64-3.txz.asc
-| | |-- libmcrypt-2.5.8-x86_64-1.txt
-| | |-- libmcrypt-2.5.8-x86_64-1.txz
-| | |-- libmcrypt-2.5.8-x86_64-1.txz.asc
-| | |-- libmcs-0.7.1-x86_64-1.txt
-| | |-- libmcs-0.7.1-x86_64-1.txz
-| | |-- libmcs-0.7.1-x86_64-1.txz.asc
-| | |-- libmng-1.0.10-x86_64-1.txt
-| | |-- libmng-1.0.10-x86_64-1.txz
-| | |-- libmng-1.0.10-x86_64-1.txz.asc
-| | |-- libmowgli-0.6.0-x86_64-1.txt
-| | |-- libmowgli-0.6.0-x86_64-1.txz
-| | |-- libmowgli-0.6.0-x86_64-1.txz.asc
-| | |-- libmsn-r96-x86_64-1.txt
-| | |-- libmsn-r96-x86_64-1.txz
-| | |-- libmsn-r96-x86_64-1.txz.asc
-| | |-- libmtp-0.3.6-x86_64-1.txt
-| | |-- libmtp-0.3.6-x86_64-1.txz
-| | |-- libmtp-0.3.6-x86_64-1.txz.asc
-| | |-- libnjb-2.2.6-x86_64-4.txt
-| | |-- libnjb-2.2.6-x86_64-4.txz
-| | |-- libnjb-2.2.6-x86_64-4.txz.asc
-| | |-- libnl-1.1-x86_64-1.txt
-| | |-- libnl-1.1-x86_64-1.txz
-| | |-- libnl-1.1-x86_64-1.txz.asc
-| | |-- libogg-1.1.3-x86_64-2.txt
-| | |-- libogg-1.1.3-x86_64-2.txz
-| | |-- libogg-1.1.3-x86_64-2.txz.asc
-| | |-- liboil-0.3.16-x86_64-1.txt
-| | |-- liboil-0.3.16-x86_64-1.txz
-| | |-- liboil-0.3.16-x86_64-1.txz.asc
-| | |-- libpng-1.2.37-x86_64-1.txt
-| | |-- libpng-1.2.37-x86_64-1.txz
-| | |-- libpng-1.2.37-x86_64-1.txz.asc
-| | |-- libraw1394-2.0.0-x86_64-1.txt
-| | |-- libraw1394-2.0.0-x86_64-1.txz
-| | |-- libraw1394-2.0.0-x86_64-1.txz.asc
-| | |-- librsvg-2.26.0-x86_64-2.txt
-| | |-- librsvg-2.26.0-x86_64-2.txz
-| | |-- librsvg-2.26.0-x86_64-2.txz.asc
-| | |-- libspectre-0.2.2-x86_64-1.txt
-| | |-- libspectre-0.2.2-x86_64-1.txz
-| | |-- libspectre-0.2.2-x86_64-1.txz.asc
-| | |-- libtermcap-1.2.3-x86_64-7.txt
-| | |-- libtermcap-1.2.3-x86_64-7.txz
-| | |-- libtermcap-1.2.3-x86_64-7.txz.asc
-| | |-- libtheora-1.0-x86_64-1.txt
-| | |-- libtheora-1.0-x86_64-1.txz
-| | |-- libtheora-1.0-x86_64-1.txz.asc
-| | |-- libtiff-3.8.2-x86_64-3.txt
-| | |-- libtiff-3.8.2-x86_64-3.txz
-| | |-- libtiff-3.8.2-x86_64-3.txz.asc
-| | |-- libungif-4.1.4-x86_64-4.txt
-| | |-- libungif-4.1.4-x86_64-4.txz
-| | |-- libungif-4.1.4-x86_64-4.txz.asc
-| | |-- libusb-0.1.12-x86_64-2.txt
-| | |-- libusb-0.1.12-x86_64-2.txz
-| | |-- libusb-0.1.12-x86_64-2.txz.asc
-| | |-- libvisual-0.4.0-x86_64-2.txt
-| | |-- libvisual-0.4.0-x86_64-2.txz
-| | |-- libvisual-0.4.0-x86_64-2.txz.asc
-| | |-- libvisual-plugins-0.4.0-x86_64-2.txt
-| | |-- libvisual-plugins-0.4.0-x86_64-2.txz
-| | |-- libvisual-plugins-0.4.0-x86_64-2.txz.asc
-| | |-- libvncserver-0.9.7-x86_64-1.txt
-| | |-- libvncserver-0.9.7-x86_64-1.txz
-| | |-- libvncserver-0.9.7-x86_64-1.txz.asc
-| | |-- libvorbis-1.2.0-x86_64-1.txt
-| | |-- libvorbis-1.2.0-x86_64-1.txz
-| | |-- libvorbis-1.2.0-x86_64-1.txz.asc
-| | |-- libwmf-0.2.8.4-x86_64-4.txt
-| | |-- libwmf-0.2.8.4-x86_64-4.txz
-| | |-- libwmf-0.2.8.4-x86_64-4.txz.asc
-| | |-- libwmf-docs-0.2.8.4-noarch-4.txt
-| | |-- libwmf-docs-0.2.8.4-noarch-4.txz
-| | |-- libwmf-docs-0.2.8.4-noarch-4.txz.asc
-| | |-- libwnck-2.26.1-x86_64-1.txt
-| | |-- libwnck-2.26.1-x86_64-1.txz
-| | |-- libwnck-2.26.1-x86_64-1.txz.asc
-| | |-- libwpd-0.8.14-x86_64-1.txt
-| | |-- libwpd-0.8.14-x86_64-1.txz
-| | |-- libwpd-0.8.14-x86_64-1.txz.asc
-| | |-- libxklavier-3.9-x86_64-2.txt
-| | |-- libxklavier-3.9-x86_64-2.txz
-| | |-- libxklavier-3.9-x86_64-2.txz.asc
-| | |-- libxml2-2.7.3-x86_64-3.txt
-| | |-- libxml2-2.7.3-x86_64-3.txz
-| | |-- libxml2-2.7.3-x86_64-3.txz.asc
-| | |-- libxslt-1.1.24-x86_64-2.txt
-| | |-- libxslt-1.1.24-x86_64-2.txz
-| | |-- libxslt-1.1.24-x86_64-2.txz.asc
-| | |-- libzip-0.9-x86_64-2.txt
-| | |-- libzip-0.9-x86_64-2.txz
-| | |-- libzip-0.9-x86_64-2.txz.asc
-| | |-- lzo-2.02-x86_64-1.txt
-| | |-- lzo-2.02-x86_64-1.txz
-| | |-- lzo-2.02-x86_64-1.txz.asc
-| | |-- maketag
-| | |-- maketag.ez
-| | |-- mhash-0.9.9-x86_64-1.txt
-| | |-- mhash-0.9.9-x86_64-1.txz
-| | |-- mhash-0.9.9-x86_64-1.txz.asc
-| | |-- mm-1.4.2-x86_64-2.txt
-| | |-- mm-1.4.2-x86_64-2.txz
-| | |-- mm-1.4.2-x86_64-2.txz.asc
-| | |-- mpfr-2.3.1-x86_64-1.txt
-| | |-- mpfr-2.3.1-x86_64-1.txz
-| | |-- mpfr-2.3.1-x86_64-1.txz.asc
-| | |-- ncurses-5.7-x86_64-2.txt
-| | |-- ncurses-5.7-x86_64-2.txz
-| | |-- ncurses-5.7-x86_64-2.txz.asc
-| | |-- neon-0.28.4-x86_64-1.txt
-| | |-- neon-0.28.4-x86_64-1.txz
-| | |-- neon-0.28.4-x86_64-1.txz.asc
-| | |-- netpbm-10.35.22-x86_64-1.txt
-| | |-- netpbm-10.35.22-x86_64-1.txz
-| | |-- netpbm-10.35.22-x86_64-1.txz.asc
-| | |-- openexr-1.6.1-x86_64-2.txt
-| | |-- openexr-1.6.1-x86_64-2.txz
-| | |-- openexr-1.6.1-x86_64-2.txz.asc
-| | |-- pango-1.22.4-x86_64-4.txt
-| | |-- pango-1.22.4-x86_64-4.txz
-| | |-- pango-1.22.4-x86_64-4.txz.asc
-| | |-- parted-1.8.8-x86_64-2.txt
-| | |-- parted-1.8.8-x86_64-2.txz
-| | |-- parted-1.8.8-x86_64-2.txz.asc
-| | |-- pcre-7.7-x86_64-1.txt
-| | |-- pcre-7.7-x86_64-1.txz
-| | |-- pcre-7.7-x86_64-1.txz.asc
-| | |-- phonon-4.3.1-x86_64-1.txt
-| | |-- phonon-4.3.1-x86_64-1.txz
-| | |-- phonon-4.3.1-x86_64-1.txz.asc
-| | |-- pil-1.1.6-x86_64-1.txt
-| | |-- pil-1.1.6-x86_64-1.txz
-| | |-- pil-1.1.6-x86_64-1.txz.asc
-| | |-- pilot-link-0.12.3-x86_64-9.txt
-| | |-- pilot-link-0.12.3-x86_64-9.txz
-| | |-- pilot-link-0.12.3-x86_64-9.txz.asc
-| | |-- poppler-0.10.7-x86_64-1.txt
-| | |-- poppler-0.10.7-x86_64-1.txz
-| | |-- poppler-0.10.7-x86_64-1.txz.asc
-| | |-- poppler-data-0.2.1-noarch-1.txt
-| | |-- poppler-data-0.2.1-noarch-1.txz
-| | |-- poppler-data-0.2.1-noarch-1.txz.asc
-| | |-- popt-1.7-x86_64-2.txt
-| | |-- popt-1.7-x86_64-2.txz
-| | |-- popt-1.7-x86_64-2.txz.asc
-| | |-- pycairo-1.8.4-x86_64-3.txt
-| | |-- pycairo-1.8.4-x86_64-3.txz
-| | |-- pycairo-1.8.4-x86_64-3.txz.asc
-| | |-- pycups-1.9.45-x86_64-2.txt
-| | |-- pycups-1.9.45-x86_64-2.txz
-| | |-- pycups-1.9.45-x86_64-2.txz.asc
-| | |-- pygobject-2.16.1-x86_64-1.txt
-| | |-- pygobject-2.16.1-x86_64-1.txz
-| | |-- pygobject-2.16.1-x86_64-1.txz.asc
-| | |-- pygtk-2.14.1-x86_64-2.txt
-| | |-- pygtk-2.14.1-x86_64-2.txz
-| | |-- pygtk-2.14.1-x86_64-2.txz.asc
-| | |-- pyrex-0.9.8.5-x86_64-2.txt
-| | |-- pyrex-0.9.8.5-x86_64-2.txz
-| | |-- pyrex-0.9.8.5-x86_64-2.txz.asc
-| | |-- qca-2.0.1-x86_64-1.txt
-| | |-- qca-2.0.1-x86_64-1.txz
-| | |-- qca-2.0.1-x86_64-1.txz.asc
-| | |-- qca-cyrus-sasl-2.0.0_beta3-x86_64-1.txt
-| | |-- qca-cyrus-sasl-2.0.0_beta3-x86_64-1.txz
-| | |-- qca-cyrus-sasl-2.0.0_beta3-x86_64-1.txz.asc
-| | |-- qca-gnupg-2.0.0_beta3-x86_64-1.txt
-| | |-- qca-gnupg-2.0.0_beta3-x86_64-1.txz
-| | |-- qca-gnupg-2.0.0_beta3-x86_64-1.txz.asc
-| | |-- qca-ossl-2.0.0_beta3-x86_64-1.txt
-| | |-- qca-ossl-2.0.0_beta3-x86_64-1.txz
-| | |-- qca-ossl-2.0.0_beta3-x86_64-1.txz.asc
-| | |-- qimageblitz-r948358-x86_64-1.txt
-| | |-- qimageblitz-r948358-x86_64-1.txz
-| | |-- qimageblitz-r948358-x86_64-1.txz.asc
-| | |-- qt-r1008952-x86_64-1.txt
-| | |-- qt-r1008952-x86_64-1.txz
-| | |-- qt-r1008952-x86_64-1.txz.asc
-| | |-- qtscriptgenerator-0.1.0-x86_64-1.txt
-| | |-- qtscriptgenerator-0.1.0-x86_64-1.txz
-| | |-- qtscriptgenerator-0.1.0-x86_64-1.txz.asc
-| | |-- raptor-1.4.18-x86_64-1.txt
-| | |-- raptor-1.4.18-x86_64-1.txz
-| | |-- raptor-1.4.18-x86_64-1.txz.asc
-| | |-- rasqal-0.9.16-x86_64-1.txt
-| | |-- rasqal-0.9.16-x86_64-1.txz
-| | |-- rasqal-0.9.16-x86_64-1.txz.asc
-| | |-- readline-5.2-x86_64-4.txt
-| | |-- readline-5.2-x86_64-4.txz
-| | |-- readline-5.2-x86_64-4.txz.asc
-| | |-- redland-1.0.8-x86_64-1.txt
-| | |-- redland-1.0.8-x86_64-1.txz
-| | |-- redland-1.0.8-x86_64-1.txz.asc
-| | |-- sdl-1.2.13-x86_64-4.txt
-| | |-- sdl-1.2.13-x86_64-4.txz
-| | |-- sdl-1.2.13-x86_64-4.txz.asc
-| | |-- seamonkey-solibs-1.1.17-x86_64-1.txt
-| | |-- seamonkey-solibs-1.1.17-x86_64-1.txz
-| | |-- seamonkey-solibs-1.1.17-x86_64-1.txz.asc
-| | |-- shared-mime-info-0.60-x86_64-1.txt
-| | |-- shared-mime-info-0.60-x86_64-1.txz
-| | |-- shared-mime-info-0.60-x86_64-1.txz.asc
-| | |-- sip-4.7.9-x86_64-2.txt
-| | |-- sip-4.7.9-x86_64-2.txz
-| | |-- sip-4.7.9-x86_64-2.txz.asc
-| | |-- slang-2.1.4-x86_64-1.txt
-| | |-- slang-2.1.4-x86_64-1.txz
-| | |-- slang-2.1.4-x86_64-1.txz.asc
-| | |-- slang1-1.4.9-x86_64-1.txt
-| | |-- slang1-1.4.9-x86_64-1.txz
-| | |-- slang1-1.4.9-x86_64-1.txz.asc
-| | |-- soprano-2.2.3-x86_64-1.txt
-| | |-- soprano-2.2.3-x86_64-1.txz
-| | |-- soprano-2.2.3-x86_64-1.txz.asc
-| | |-- startup-notification-0.9-x86_64-2.txt
-| | |-- startup-notification-0.9-x86_64-2.txz
-| | |-- startup-notification-0.9-x86_64-2.txz.asc
-| | |-- strigi-0.6.4-x86_64-1.txt
-| | |-- strigi-0.6.4-x86_64-1.txz
-| | |-- strigi-0.6.4-x86_64-1.txz.asc
-| | |-- svgalib-1.9.25-x86_64-2.txt
-| | |-- svgalib-1.9.25-x86_64-2.txz
-| | |-- svgalib-1.9.25-x86_64-2.txz.asc
-| | |-- t1lib-5.1.2-x86_64-1.txt
-| | |-- t1lib-5.1.2-x86_64-1.txz
-| | |-- t1lib-5.1.2-x86_64-1.txz.asc
-| | |-- tagfile
-| | |-- taglib-1.5-x86_64-1.txt
-| | |-- taglib-1.5-x86_64-1.txz
-| | |-- taglib-1.5-x86_64-1.txz.asc
-| | |-- taglib-extras-0.1.3-x86_64-1.txt
-| | |-- taglib-extras-0.1.3-x86_64-1.txz
-| | |-- taglib-extras-0.1.3-x86_64-1.txz.asc
-| | |-- tango-icon-theme-0.8.90-noarch-1.txt
-| | |-- tango-icon-theme-0.8.90-noarch-1.txz
-| | |-- tango-icon-theme-0.8.90-noarch-1.txz.asc
-| | |-- tango-icon-theme-extras-0.1.0-noarch-1.txt
-| | |-- tango-icon-theme-extras-0.1.0-noarch-1.txz
-| | |-- tango-icon-theme-extras-0.1.0-noarch-1.txz.asc
-| | |-- urwid-0.9.8.4-x86_64-1.txt
-| | |-- urwid-0.9.8.4-x86_64-1.txz
-| | |-- urwid-0.9.8.4-x86_64-1.txz.asc
-| | |-- vte-0.20.5-x86_64-1.txt
-| | |-- vte-0.20.5-x86_64-1.txz
-| | |-- vte-0.20.5-x86_64-1.txz.asc
-| | |-- wavpack-4.41.0-x86_64-1.txt
-| | |-- wavpack-4.41.0-x86_64-1.txz
-| | |-- wavpack-4.41.0-x86_64-1.txz.asc
-| | |-- wv2-0.2.3-x86_64-1.txt
-| | |-- wv2-0.2.3-x86_64-1.txz
-| | |-- wv2-0.2.3-x86_64-1.txz.asc
-| | |-- zlib-1.2.3-x86_64-2.txt
-| | |-- zlib-1.2.3-x86_64-2.txz
-| | `-- zlib-1.2.3-x86_64-2.txz.asc
-| |-- n
-| | |-- alpine-2.00-x86_64-2.txt
-| | |-- alpine-2.00-x86_64-2.txz
-| | |-- alpine-2.00-x86_64-2.txz.asc
-| | |-- autofs-3.1.7-x86_64-1.txt
-| | |-- autofs-3.1.7-x86_64-1.txz
-| | |-- autofs-3.1.7-x86_64-1.txz.asc
-| | |-- biff+comsat-0.17-x86_64-1.txt
-| | |-- biff+comsat-0.17-x86_64-1.txz
-| | |-- biff+comsat-0.17-x86_64-1.txz.asc
-| | |-- bind-9.4.3_P3-x86_64-1.txt
-| | |-- bind-9.4.3_P3-x86_64-1.txz
-| | |-- bind-9.4.3_P3-x86_64-1.txz.asc
-| | |-- bluez-firmware-1.2-x86_64-1.txt
-| | |-- bluez-firmware-1.2-x86_64-1.txz
-| | |-- bluez-firmware-1.2-x86_64-1.txz.asc
-| | |-- bluez-hcidump-1.42-x86_64-2.txt
-| | |-- bluez-hcidump-1.42-x86_64-2.txz
-| | |-- bluez-hcidump-1.42-x86_64-2.txz.asc
-| | |-- bluez-libs-3.36-x86_64-2.txt
-| | |-- bluez-libs-3.36-x86_64-2.txz
-| | |-- bluez-libs-3.36-x86_64-2.txz.asc
-| | |-- bluez-utils-3.36-x86_64-7.txt
-| | |-- bluez-utils-3.36-x86_64-7.txz
-| | |-- bluez-utils-3.36-x86_64-7.txz.asc
-| | |-- bootp-2.4.3-x86_64-2.txt
-| | |-- bootp-2.4.3-x86_64-2.txz
-| | |-- bootp-2.4.3-x86_64-2.txz.asc
-| | |-- bridge-utils-1.2-x86_64-2.txt
-| | |-- bridge-utils-1.2-x86_64-2.txz
-| | |-- bridge-utils-1.2-x86_64-2.txz.asc
-| | |-- bsd-finger-0.17-x86_64-1.txt
-| | |-- bsd-finger-0.17-x86_64-1.txz
-| | |-- bsd-finger-0.17-x86_64-1.txz.asc
-| | |-- crda-1.0.1-x86_64-2.txt
-| | |-- crda-1.0.1-x86_64-2.txz
-| | |-- crda-1.0.1-x86_64-2.txz.asc
-| | |-- curl-7.19.6-x86_64-1.txt
-| | |-- curl-7.19.6-x86_64-1.txz
-| | |-- curl-7.19.6-x86_64-1.txz.asc
-| | |-- cyrus-sasl-2.1.23-x86_64-1.txt
-| | |-- cyrus-sasl-2.1.23-x86_64-1.txz
-| | |-- cyrus-sasl-2.1.23-x86_64-1.txz.asc
-| | |-- dhcp-3.1.2p1-x86_64-1.txt
-| | |-- dhcp-3.1.2p1-x86_64-1.txz
-| | |-- dhcp-3.1.2p1-x86_64-1.txz.asc
-| | |-- dhcpcd-3.2.3-x86_64-1.txt
-| | |-- dhcpcd-3.2.3-x86_64-1.txz
-| | |-- dhcpcd-3.2.3-x86_64-1.txz.asc
-| | |-- dirmngr-1.0.3-x86_64-1.txt
-| | |-- dirmngr-1.0.3-x86_64-1.txz
-| | |-- dirmngr-1.0.3-x86_64-1.txz.asc
-| | |-- dnsmasq-2.49-x86_64-1.txt
-| | |-- dnsmasq-2.49-x86_64-1.txz
-| | |-- dnsmasq-2.49-x86_64-1.txz.asc
-| | |-- elm-2.5.8-x86_64-3.txt
-| | |-- elm-2.5.8-x86_64-3.txz
-| | |-- elm-2.5.8-x86_64-3.txz.asc
-| | |-- epic4-2.8-x86_64-2.txt
-| | |-- epic4-2.8-x86_64-2.txz
-| | |-- epic4-2.8-x86_64-2.txz.asc
-| | |-- ethtool-6-x86_64-1.txt
-| | |-- ethtool-6-x86_64-1.txz
-| | |-- ethtool-6-x86_64-1.txz.asc
-| | |-- fetchmail-6.3.11-x86_64-1.txt
-| | |-- fetchmail-6.3.11-x86_64-1.txz
-| | |-- fetchmail-6.3.11-x86_64-1.txz.asc
-| | |-- getmail-4.11.0-x86_64-1.txt
-| | |-- getmail-4.11.0-x86_64-1.txz
-| | |-- getmail-4.11.0-x86_64-1.txz.asc
-| | |-- gnupg-1.4.9-x86_64-1.txt
-| | |-- gnupg-1.4.9-x86_64-1.txz
-| | |-- gnupg-1.4.9-x86_64-1.txz.asc
-| | |-- gnupg2-2.0.12-x86_64-1.txt
-| | |-- gnupg2-2.0.12-x86_64-1.txz
-| | |-- gnupg2-2.0.12-x86_64-1.txz.asc
-| | |-- gnutls-2.6.6-x86_64-2.txt
-| | |-- gnutls-2.6.6-x86_64-2.txz
-| | |-- gnutls-2.6.6-x86_64-2.txz.asc
-| | |-- gpa-0.7.5-x86_64-1.txt
-| | |-- gpa-0.7.5-x86_64-1.txz
-| | |-- gpa-0.7.5-x86_64-1.txz.asc
-| | |-- gpgme-1.1.8-x86_64-1.txt
-| | |-- gpgme-1.1.8-x86_64-1.txz
-| | |-- gpgme-1.1.8-x86_64-1.txz.asc
-| | |-- htdig-3.2.0b6-x86_64-3.txt
-| | |-- htdig-3.2.0b6-x86_64-3.txz
-| | |-- htdig-3.2.0b6-x86_64-3.txz.asc
-| | |-- httpd-2.2.13-x86_64-1.txt
-| | |-- httpd-2.2.13-x86_64-1.txz
-| | |-- httpd-2.2.13-x86_64-1.txz.asc
-| | |-- icmpinfo-1.11-x86_64-1.txt
-| | |-- icmpinfo-1.11-x86_64-1.txz
-| | |-- icmpinfo-1.11-x86_64-1.txz.asc
-| | |-- imapd-2.00-x86_64-2.txt
-| | |-- imapd-2.00-x86_64-2.txz
-| | |-- imapd-2.00-x86_64-2.txz.asc
-| | |-- inetd-1.79s-x86_64-8.txt
-| | |-- inetd-1.79s-x86_64-8.txz
-| | |-- inetd-1.79s-x86_64-8.txz.asc
-| | |-- install-packages
-| | |-- install.end
-| | |-- iproute2-2.6.29_1-x86_64-2.txt
-| | |-- iproute2-2.6.29_1-x86_64-2.txz
-| | |-- iproute2-2.6.29_1-x86_64-2.txz.asc
-| | |-- iptables-1.4.3.2-x86_64-1.txt
-| | |-- iptables-1.4.3.2-x86_64-1.txz
-| | |-- iptables-1.4.3.2-x86_64-1.txz.asc
-| | |-- iptraf-3.0.0-x86_64-3.txt
-| | |-- iptraf-3.0.0-x86_64-3.txz
-| | |-- iptraf-3.0.0-x86_64-3.txz.asc
-| | |-- iputils-s20070202-x86_64-2.txt
-| | |-- iputils-s20070202-x86_64-2.txz
-| | |-- iputils-s20070202-x86_64-2.txz.asc
-| | |-- ipw2100-fw-1.3-fw-1.txt
-| | |-- ipw2100-fw-1.3-fw-1.txz
-| | |-- ipw2100-fw-1.3-fw-1.txz.asc
-| | |-- ipw2200-fw-3.0-fw-2.txt
-| | |-- ipw2200-fw-3.0-fw-2.txz
-| | |-- ipw2200-fw-3.0-fw-2.txz.asc
-| | |-- irssi-0.8.14-x86_64-1.txt
-| | |-- irssi-0.8.14-x86_64-1.txz
-| | |-- irssi-0.8.14-x86_64-1.txz.asc
-| | |-- iw-0.9.14-x86_64-1.txt
-| | |-- iw-0.9.14-x86_64-1.txz
-| | |-- iw-0.9.14-x86_64-1.txz.asc
-| | |-- iwlwifi-3945-ucode-15.32.2.9-fw-1.txt
-| | |-- iwlwifi-3945-ucode-15.32.2.9-fw-1.txz
-| | |-- iwlwifi-3945-ucode-15.32.2.9-fw-1.txz.asc
-| | |-- iwlwifi-4965-ucode-228.61.2.24-fw-1.txt
-| | |-- iwlwifi-4965-ucode-228.61.2.24-fw-1.txz
-| | |-- iwlwifi-4965-ucode-228.61.2.24-fw-1.txz.asc
-| | |-- iwlwifi-5000-ucode-8.24.2.12-fw-1.txt
-| | |-- iwlwifi-5000-ucode-8.24.2.12-fw-1.txz
-| | |-- iwlwifi-5000-ucode-8.24.2.12-fw-1.txz.asc
-| | |-- iwlwifi-5150-ucode-8.24.2.2-fw-1.txt
-| | |-- iwlwifi-5150-ucode-8.24.2.2-fw-1.txz
-| | |-- iwlwifi-5150-ucode-8.24.2.2-fw-1.txz.asc
-| | |-- lftp-3.7.14-x86_64-1.txt
-| | |-- lftp-3.7.14-x86_64-1.txz
-| | |-- lftp-3.7.14-x86_64-1.txz.asc
-| | |-- libassuan-1.0.4-x86_64-1.txt
-| | |-- libassuan-1.0.4-x86_64-1.txz
-| | |-- libassuan-1.0.4-x86_64-1.txz.asc
-| | |-- libgcrypt-1.4.4-x86_64-1.txt
-| | |-- libgcrypt-1.4.4-x86_64-1.txz
-| | |-- libgcrypt-1.4.4-x86_64-1.txz.asc
-| | |-- libgpg-error-1.7-x86_64-1.txt
-| | |-- libgpg-error-1.7-x86_64-1.txz
-| | |-- libgpg-error-1.7-x86_64-1.txz.asc
-| | |-- libksba-1.0.6-x86_64-1.txt
-| | |-- libksba-1.0.6-x86_64-1.txz
-| | |-- libksba-1.0.6-x86_64-1.txz.asc
-| | |-- links-2.2-x86_64-1.txt
-| | |-- links-2.2-x86_64-1.txz
-| | |-- links-2.2-x86_64-1.txz.asc
-| | |-- lynx-2.8.6rel.5-x86_64-2.txt
-| | |-- lynx-2.8.6rel.5-x86_64-2.txz
-| | |-- lynx-2.8.6rel.5-x86_64-2.txz.asc
-| | |-- mailx-12.4-x86_64-1.txt
-| | |-- mailx-12.4-x86_64-1.txz
-| | |-- mailx-12.4-x86_64-1.txz.asc
-| | |-- maketag
-| | |-- maketag.ez
-| | |-- mcabber-0.9.9-x86_64-2.txt
-| | |-- mcabber-0.9.9-x86_64-2.txz
-| | |-- mcabber-0.9.9-x86_64-2.txz.asc
-| | |-- metamail-2.7-x86_64-4.txt
-| | |-- metamail-2.7-x86_64-4.txz
-| | |-- metamail-2.7-x86_64-4.txz.asc
-| | |-- mtr-0.73-x86_64-2.txt
-| | |-- mtr-0.73-x86_64-2.txz
-| | |-- mtr-0.73-x86_64-2.txz.asc
-| | |-- mutt-1.4.2.3-x86_64-2.txt
-| | |-- mutt-1.4.2.3-x86_64-2.txz
-| | |-- mutt-1.4.2.3-x86_64-2.txz.asc
-| | |-- nc-1.10-x86_64-1.txt
-| | |-- nc-1.10-x86_64-1.txz
-| | |-- nc-1.10-x86_64-1.txz.asc
-| | |-- ncftp-3.2.2-x86_64-2.txt
-| | |-- ncftp-3.2.2-x86_64-2.txz
-| | |-- ncftp-3.2.2-x86_64-2.txz.asc
-| | |-- net-snmp-5.4.2.1-x86_64-2.txt
-| | |-- net-snmp-5.4.2.1-x86_64-2.txz
-| | |-- net-snmp-5.4.2.1-x86_64-2.txz.asc
-| | |-- net-tools-1.60-x86_64-2.txt
-| | |-- net-tools-1.60-x86_64-2.txz
-| | |-- net-tools-1.60-x86_64-2.txz.asc
-| | |-- netatalk-2.0.4-x86_64-2.txt
-| | |-- netatalk-2.0.4-x86_64-2.txz
-| | |-- netatalk-2.0.4-x86_64-2.txz.asc
-| | |-- netdate-bsd4-x86_64-1.txt
-| | |-- netdate-bsd4-x86_64-1.txz
-| | |-- netdate-bsd4-x86_64-1.txz.asc
-| | |-- netkit-bootparamd-0.17-x86_64-2.txt
-| | |-- netkit-bootparamd-0.17-x86_64-2.txz
-| | |-- netkit-bootparamd-0.17-x86_64-2.txz.asc
-| | |-- netkit-ftp-0.17-x86_64-1.txt
-| | |-- netkit-ftp-0.17-x86_64-1.txz
-| | |-- netkit-ftp-0.17-x86_64-1.txz.asc
-| | |-- netkit-ntalk-0.17-x86_64-3.txt
-| | |-- netkit-ntalk-0.17-x86_64-3.txz
-| | |-- netkit-ntalk-0.17-x86_64-3.txz.asc
-| | |-- netkit-routed-0.17-x86_64-1.txt
-| | |-- netkit-routed-0.17-x86_64-1.txz
-| | |-- netkit-routed-0.17-x86_64-1.txz.asc
-| | |-- netkit-rsh-0.17-x86_64-1.txt
-| | |-- netkit-rsh-0.17-x86_64-1.txz
-| | |-- netkit-rsh-0.17-x86_64-1.txz.asc
-| | |-- netkit-rusers-0.17-x86_64-1.txt
-| | |-- netkit-rusers-0.17-x86_64-1.txz
-| | |-- netkit-rusers-0.17-x86_64-1.txz.asc
-| | |-- netkit-rwall-0.17-x86_64-1.txt
-| | |-- netkit-rwall-0.17-x86_64-1.txz
-| | |-- netkit-rwall-0.17-x86_64-1.txz.asc
-| | |-- netkit-rwho-0.17-x86_64-2.txt
-| | |-- netkit-rwho-0.17-x86_64-2.txz
-| | |-- netkit-rwho-0.17-x86_64-2.txz.asc
-| | |-- netkit-timed-0.17-x86_64-1.txt
-| | |-- netkit-timed-0.17-x86_64-1.txz
-| | |-- netkit-timed-0.17-x86_64-1.txz.asc
-| | |-- netpipes-4.2-x86_64-1.txt
-| | |-- netpipes-4.2-x86_64-1.txz
-| | |-- netpipes-4.2-x86_64-1.txz.asc
-| | |-- netwatch-1.3.0-x86_64-2.txt
-| | |-- netwatch-1.3.0-x86_64-2.txz
-| | |-- netwatch-1.3.0-x86_64-2.txz.asc
-| | |-- network-scripts-13.0-noarch-2.txt
-| | |-- network-scripts-13.0-noarch-2.txz
-| | |-- network-scripts-13.0-noarch-2.txz.asc
-| | |-- netwrite-0.17-x86_64-1.txt
-| | |-- netwrite-0.17-x86_64-1.txz
-| | |-- netwrite-0.17-x86_64-1.txz.asc
-| | |-- newspost-2.1.1-x86_64-1.txt
-| | |-- newspost-2.1.1-x86_64-1.txz
-| | |-- newspost-2.1.1-x86_64-1.txz.asc
-| | |-- nfs-utils-1.1.4-x86_64-1.txt
-| | |-- nfs-utils-1.1.4-x86_64-1.txz
-| | |-- nfs-utils-1.1.4-x86_64-1.txz.asc
-| | |-- nmap-5.00-x86_64-1.txt
-| | |-- nmap-5.00-x86_64-1.txz
-| | |-- nmap-5.00-x86_64-1.txz.asc
-| | |-- nn-6.7.3-x86_64-2.txt
-| | |-- nn-6.7.3-x86_64-2.txz
-| | |-- nn-6.7.3-x86_64-2.txz.asc
-| | |-- ntp-4.2.4p7-x86_64-1.txt
-| | |-- ntp-4.2.4p7-x86_64-1.txz
-| | |-- ntp-4.2.4p7-x86_64-1.txz.asc
-| | |-- obexftp-0.23-x86_64-1.txt
-| | |-- obexftp-0.23-x86_64-1.txz
-| | |-- obexftp-0.23-x86_64-1.txz.asc
-| | |-- openldap-client-2.3.43-x86_64-1.txt
-| | |-- openldap-client-2.3.43-x86_64-1.txz
-| | |-- openldap-client-2.3.43-x86_64-1.txz.asc
-| | |-- openobex-1.3-x86_64-3.txt
-| | |-- openobex-1.3-x86_64-3.txz
-| | |-- openobex-1.3-x86_64-3.txz.asc
-| | |-- openssh-5.2p1-x86_64-2.txt
-| | |-- openssh-5.2p1-x86_64-2.txz
-| | |-- openssh-5.2p1-x86_64-2.txz.asc
-| | |-- openssl-0.9.8k-x86_64-2.txt
-| | |-- openssl-0.9.8k-x86_64-2.txz
-| | |-- openssl-0.9.8k-x86_64-2.txz.asc
-| | |-- openvpn-2.0.9-x86_64-1.txt
-| | |-- openvpn-2.0.9-x86_64-1.txz
-| | |-- openvpn-2.0.9-x86_64-1.txz.asc
-| | |-- php-5.2.10-x86_64-2.txt
-| | |-- php-5.2.10-x86_64-2.txz
-| | |-- php-5.2.10-x86_64-2.txz.asc
-| | |-- pidentd-3.0.19-x86_64-1.txt
-| | |-- pidentd-3.0.19-x86_64-1.txz
-| | |-- pidentd-3.0.19-x86_64-1.txz.asc
-| | |-- pinentry-0.7.6-x86_64-1.txt
-| | |-- pinentry-0.7.6-x86_64-1.txz
-| | |-- pinentry-0.7.6-x86_64-1.txz.asc
-| | |-- popa3d-1.0.2-x86_64-2.txt
-| | |-- popa3d-1.0.2-x86_64-2.txz
-| | |-- popa3d-1.0.2-x86_64-2.txz.asc
-| | |-- portmap-6.0-x86_64-1.txt
-| | |-- portmap-6.0-x86_64-1.txz
-| | |-- portmap-6.0-x86_64-1.txz.asc
-| | |-- ppp-2.4.4-x86_64-1.txt
-| | |-- ppp-2.4.4-x86_64-1.txz
-| | |-- ppp-2.4.4-x86_64-1.txz.asc
-| | |-- procmail-3.22-x86_64-2.txt
-| | |-- procmail-3.22-x86_64-2.txz
-| | |-- procmail-3.22-x86_64-2.txz.asc
-| | |-- proftpd-1.3.2-x86_64-2.txt
-| | |-- proftpd-1.3.2-x86_64-2.txz
-| | |-- proftpd-1.3.2-x86_64-2.txz.asc
-| | |-- pssh-1.3.1-noarch-1.txt
-| | |-- pssh-1.3.1-noarch-1.txz
-| | |-- pssh-1.3.1-noarch-1.txz.asc
-| | |-- pth-2.0.7-x86_64-1.txt
-| | |-- pth-2.0.7-x86_64-1.txz
-| | |-- pth-2.0.7-x86_64-1.txz.asc
-| | |-- rdist-6.1.5-x86_64-1.txt
-| | |-- rdist-6.1.5-x86_64-1.txz
-| | |-- rdist-6.1.5-x86_64-1.txz.asc
-| | |-- rp-pppoe-3.10-x86_64-1.txt
-| | |-- rp-pppoe-3.10-x86_64-1.txz
-| | |-- rp-pppoe-3.10-x86_64-1.txz.asc
-| | |-- rsync-3.0.6-x86_64-1.txt
-| | |-- rsync-3.0.6-x86_64-1.txz
-| | |-- rsync-3.0.6-x86_64-1.txz.asc
-| | |-- rt61-firmware-1.2-fw-1.txt
-| | |-- rt61-firmware-1.2-fw-1.txz
-| | |-- rt61-firmware-1.2-fw-1.txz.asc
-| | |-- rt71w-firmware-1.8-fw-1.txt
-| | |-- rt71w-firmware-1.8-fw-1.txz
-| | |-- rt71w-firmware-1.8-fw-1.txz.asc
-| | |-- samba-3.2.13-x86_64-1.txt
-| | |-- samba-3.2.13-x86_64-1.txz
-| | |-- samba-3.2.13-x86_64-1.txz.asc
-| | |-- sendmail-8.14.3-x86_64-2.txt
-| | |-- sendmail-8.14.3-x86_64-2.txz
-| | |-- sendmail-8.14.3-x86_64-2.txz.asc
-| | |-- sendmail-cf-8.14.3-noarch-2.txt
-| | |-- sendmail-cf-8.14.3-noarch-2.txz
-| | |-- sendmail-cf-8.14.3-noarch-2.txz.asc
-| | |-- slrn-0.9.9p1-x86_64-2.txt
-| | |-- slrn-0.9.9p1-x86_64-2.txz
-| | |-- slrn-0.9.9p1-x86_64-2.txz.asc
-| | |-- snownews-1.5.11-x86_64-2.txt
-| | |-- snownews-1.5.11-x86_64-2.txz
-| | |-- snownews-1.5.11-x86_64-2.txz.asc
-| | |-- stunnel-4.17-x86_64-1.txt
-| | |-- stunnel-4.17-x86_64-1.txz
-| | |-- stunnel-4.17-x86_64-1.txz.asc
-| | |-- tagfile
-| | |-- tcp_wrappers-7.6-x86_64-1.txt
-| | |-- tcp_wrappers-7.6-x86_64-1.txz
-| | |-- tcp_wrappers-7.6-x86_64-1.txz.asc
-| | |-- tcpdump-4.0.0-x86_64-1.txt
-| | |-- tcpdump-4.0.0-x86_64-1.txz
-| | |-- tcpdump-4.0.0-x86_64-1.txz.asc
-| | |-- telnet-0.17-x86_64-2.txt
-| | |-- telnet-0.17-x86_64-2.txz
-| | |-- telnet-0.17-x86_64-2.txz.asc
-| | |-- tftp-hpa-0.48-x86_64-1.txt
-| | |-- tftp-hpa-0.48-x86_64-1.txz
-| | |-- tftp-hpa-0.48-x86_64-1.txz.asc
-| | |-- tin-1.8.2-x86_64-2.txt
-| | |-- tin-1.8.2-x86_64-2.txz
-| | |-- tin-1.8.2-x86_64-2.txz.asc
-| | |-- traceroute-1.4a12-x86_64-2.txt
-| | |-- traceroute-1.4a12-x86_64-2.txz
-| | |-- traceroute-1.4a12-x86_64-2.txz.asc
-| | |-- trn-3.6-x86_64-2.txt
-| | |-- trn-3.6-x86_64-2.txz
-| | |-- trn-3.6-x86_64-2.txz.asc
-| | |-- uucp-1.07-x86_64-1.txt
-| | |-- uucp-1.07-x86_64-1.txz
-| | |-- uucp-1.07-x86_64-1.txz.asc
-| | |-- vlan-1.9-x86_64-2.txt
-| | |-- vlan-1.9-x86_64-2.txz
-| | |-- vlan-1.9-x86_64-2.txz.asc
-| | |-- vsftpd-2.1.2-x86_64-1.txt
-| | |-- vsftpd-2.1.2-x86_64-1.txz
-| | |-- vsftpd-2.1.2-x86_64-1.txz.asc
-| | |-- wget-1.11.4-x86_64-1.txt
-| | |-- wget-1.11.4-x86_64-1.txz
-| | |-- wget-1.11.4-x86_64-1.txz.asc
-| | |-- whois-4.7.26-x86_64-1.txt
-| | |-- whois-4.7.26-x86_64-1.txz
-| | |-- whois-4.7.26-x86_64-1.txz.asc
-| | |-- wireless-tools-29-x86_64-5.txt
-| | |-- wireless-tools-29-x86_64-5.txz
-| | |-- wireless-tools-29-x86_64-5.txz.asc
-| | |-- wpa_supplicant-0.6.9-x86_64-2.txt
-| | |-- wpa_supplicant-0.6.9-x86_64-2.txz
-| | |-- wpa_supplicant-0.6.9-x86_64-2.txz.asc
-| | |-- yptools-2.9-x86_64-1.txt
-| | |-- yptools-2.9-x86_64-1.txz
-| | |-- yptools-2.9-x86_64-1.txz.asc
-| | |-- ytalk-3.3.0-x86_64-2.txt
-| | |-- ytalk-3.3.0-x86_64-2.txz
-| | |-- ytalk-3.3.0-x86_64-2.txz.asc
-| | |-- zd1211-firmware-1.4-fw-1.txt
-| | |-- zd1211-firmware-1.4-fw-1.txz
-| | `-- zd1211-firmware-1.4-fw-1.txz.asc
-| |-- t
-| | |-- install-packages
-| | |-- install.end
-| | |-- maketag
-| | |-- maketag.ez
-| | |-- tagfile
-| | |-- tetex-3.0-x86_64-6.txt
-| | |-- tetex-3.0-x86_64-6.txz
-| | |-- tetex-3.0-x86_64-6.txz.asc
-| | |-- tetex-doc-3.0-x86_64-6.txt
-| | |-- tetex-doc-3.0-x86_64-6.txz
-| | |-- tetex-doc-3.0-x86_64-6.txz.asc
-| | |-- transfig-3.2.4-x86_64-2.txt
-| | |-- transfig-3.2.4-x86_64-2.txz
-| | |-- transfig-3.2.4-x86_64-2.txz.asc
-| | |-- xfig-3.2.4-x86_64-3.txt
-| | |-- xfig-3.2.4-x86_64-3.txz
-| | `-- xfig-3.2.4-x86_64-3.txz.asc
-| |-- tcl
-| | |-- expect-5.44.1.11-x86_64-3.txt
-| | |-- expect-5.44.1.11-x86_64-3.txz
-| | |-- expect-5.44.1.11-x86_64-3.txz.asc
-| | |-- hfsutils-3.2.6-x86_64-4.txt
-| | |-- hfsutils-3.2.6-x86_64-4.txz
-| | |-- hfsutils-3.2.6-x86_64-4.txz.asc
-| | |-- install-packages
-| | |-- install.end
-| | |-- maketag
-| | |-- maketag.ez
-| | |-- tagfile
-| | |-- tcl-8.5.7-x86_64-1.txt
-| | |-- tcl-8.5.7-x86_64-1.txz
-| | |-- tcl-8.5.7-x86_64-1.txz.asc
-| | |-- tclx-8.4-x86_64-2.txt
-| | |-- tclx-8.4-x86_64-2.txz
-| | |-- tclx-8.4-x86_64-2.txz.asc
-| | |-- tix-8.4.3-x86_64-1.txt
-| | |-- tix-8.4.3-x86_64-1.txz
-| | |-- tix-8.4.3-x86_64-1.txz.asc
-| | |-- tk-8.5.7-x86_64-1.txt
-| | |-- tk-8.5.7-x86_64-1.txz
-| | `-- tk-8.5.7-x86_64-1.txz.asc
-| |-- x
-| | |-- anthy-9100e-x86_64-1.txt
-| | |-- anthy-9100e-x86_64-1.txz
-| | |-- anthy-9100e-x86_64-1.txz.asc
-| | |-- appres-1.0.1-x86_64-2.txt
-| | |-- appres-1.0.1-x86_64-2.txz
-| | |-- appres-1.0.1-x86_64-2.txz.asc
-| | |-- bdftopcf-1.0.1-x86_64-2.txt
-| | |-- bdftopcf-1.0.1-x86_64-2.txz
-| | |-- bdftopcf-1.0.1-x86_64-2.txz.asc
-| | |-- beforelight-1.0.3-x86_64-1.txt
-| | |-- beforelight-1.0.3-x86_64-1.txz
-| | |-- beforelight-1.0.3-x86_64-1.txz.asc
-| | |-- bigreqsproto-1.0.2-noarch-2.txt
-| | |-- bigreqsproto-1.0.2-noarch-2.txz
-| | |-- bigreqsproto-1.0.2-noarch-2.txz.asc
-| | |-- bitmap-1.0.3-x86_64-2.txt
-| | |-- bitmap-1.0.3-x86_64-2.txz
-| | |-- bitmap-1.0.3-x86_64-2.txz.asc
-| | |-- compiz-0.7.8-x86_64-4.txt
-| | |-- compiz-0.7.8-x86_64-4.txz
-| | |-- compiz-0.7.8-x86_64-4.txz.asc
-| | |-- compositeproto-0.4-noarch-2.txt
-| | |-- compositeproto-0.4-noarch-2.txz
-| | |-- compositeproto-0.4-noarch-2.txz.asc
-| | |-- damageproto-1.1.0-noarch-2.txt
-| | |-- damageproto-1.1.0-noarch-2.txz
-| | |-- damageproto-1.1.0-noarch-2.txz.asc
-| | |-- dejavu-fonts-ttf-2.29-noarch-1.txt
-| | |-- dejavu-fonts-ttf-2.29-noarch-1.txz
-| | |-- dejavu-fonts-ttf-2.29-noarch-1.txz.asc
-| | |-- dmxproto-2.2.2-noarch-2.txt
-| | |-- dmxproto-2.2.2-noarch-2.txz
-| | |-- dmxproto-2.2.2-noarch-2.txz.asc
-| | |-- dri2proto-2.1-x86_64-1.txt
-| | |-- dri2proto-2.1-x86_64-1.txz
-| | |-- dri2proto-2.1-x86_64-1.txz.asc
-| | |-- editres-1.0.3-x86_64-2.txt
-| | |-- editres-1.0.3-x86_64-2.txz
-| | |-- editres-1.0.3-x86_64-2.txz.asc
-| | |-- encodings-1.0.2-noarch-2.txt
-| | |-- encodings-1.0.2-noarch-2.txz
-| | |-- encodings-1.0.2-noarch-2.txz.asc
-| | |-- evieext-1.0.2-noarch-2.txt
-| | |-- evieext-1.0.2-noarch-2.txz
-| | |-- evieext-1.0.2-noarch-2.txz.asc
-| | |-- fixesproto-4.0-noarch-2.txt
-| | |-- fixesproto-4.0-noarch-2.txz
-| | |-- fixesproto-4.0-noarch-2.txz.asc
-| | |-- font-adobe-100dpi-1.0.0-noarch-3.txt
-| | |-- font-adobe-100dpi-1.0.0-noarch-3.txz
-| | |-- font-adobe-100dpi-1.0.0-noarch-3.txz.asc
-| | |-- font-adobe-75dpi-1.0.0-noarch-3.txt
-| | |-- font-adobe-75dpi-1.0.0-noarch-3.txz
-| | |-- font-adobe-75dpi-1.0.0-noarch-3.txz.asc
-| | |-- font-adobe-utopia-100dpi-1.0.1-noarch-3.txt
-| | |-- font-adobe-utopia-100dpi-1.0.1-noarch-3.txz
-| | |-- font-adobe-utopia-100dpi-1.0.1-noarch-3.txz.asc
-| | |-- font-adobe-utopia-75dpi-1.0.1-noarch-3.txt
-| | |-- font-adobe-utopia-75dpi-1.0.1-noarch-3.txz
-| | |-- font-adobe-utopia-75dpi-1.0.1-noarch-3.txz.asc
-| | |-- font-adobe-utopia-type1-1.0.1-noarch-3.txt
-| | |-- font-adobe-utopia-type1-1.0.1-noarch-3.txz
-| | |-- font-adobe-utopia-type1-1.0.1-noarch-3.txz.asc
-| | |-- font-alias-1.0.1-noarch-2.txt
-| | |-- font-alias-1.0.1-noarch-2.txz
-| | |-- font-alias-1.0.1-noarch-2.txz.asc
-| | |-- font-arabic-misc-1.0.0-noarch-3.txt
-| | |-- font-arabic-misc-1.0.0-noarch-3.txz
-| | |-- font-arabic-misc-1.0.0-noarch-3.txz.asc
-| | |-- font-bh-100dpi-1.0.0-noarch-3.txt
-| | |-- font-bh-100dpi-1.0.0-noarch-3.txz
-| | |-- font-bh-100dpi-1.0.0-noarch-3.txz.asc
-| | |-- font-bh-75dpi-1.0.0-noarch-3.txt
-| | |-- font-bh-75dpi-1.0.0-noarch-3.txz
-| | |-- font-bh-75dpi-1.0.0-noarch-3.txz.asc
-| | |-- font-bh-lucidatypewriter-100dpi-1.0.0-noarch-3.txt
-| | |-- font-bh-lucidatypewriter-100dpi-1.0.0-noarch-3.txz
-| | |-- font-bh-lucidatypewriter-100dpi-1.0.0-noarch-3.txz.asc
-| | |-- font-bh-lucidatypewriter-75dpi-1.0.0-noarch-3.txt
-| | |-- font-bh-lucidatypewriter-75dpi-1.0.0-noarch-3.txz
-| | |-- font-bh-lucidatypewriter-75dpi-1.0.0-noarch-3.txz.asc
-| | |-- font-bh-ttf-1.0.0-noarch-3.txt
-| | |-- font-bh-ttf-1.0.0-noarch-3.txz
-| | |-- font-bh-ttf-1.0.0-noarch-3.txz.asc
-| | |-- font-bh-type1-1.0.0-noarch-3.txt
-| | |-- font-bh-type1-1.0.0-noarch-3.txz
-| | |-- font-bh-type1-1.0.0-noarch-3.txz.asc
-| | |-- font-bitstream-100dpi-1.0.0-noarch-3.txt
-| | |-- font-bitstream-100dpi-1.0.0-noarch-3.txz
-| | |-- font-bitstream-100dpi-1.0.0-noarch-3.txz.asc
-| | |-- font-bitstream-75dpi-1.0.0-noarch-3.txt
-| | |-- font-bitstream-75dpi-1.0.0-noarch-3.txz
-| | |-- font-bitstream-75dpi-1.0.0-noarch-3.txz.asc
-| | |-- font-bitstream-speedo-1.0.0-noarch-3.txt
-| | |-- font-bitstream-speedo-1.0.0-noarch-3.txz
-| | |-- font-bitstream-speedo-1.0.0-noarch-3.txz.asc
-| | |-- font-bitstream-type1-1.0.0-noarch-3.txt
-| | |-- font-bitstream-type1-1.0.0-noarch-3.txz
-| | |-- font-bitstream-type1-1.0.0-noarch-3.txz.asc
-| | |-- font-cronyx-cyrillic-1.0.0-noarch-3.txt
-| | |-- font-cronyx-cyrillic-1.0.0-noarch-3.txz
-| | |-- font-cronyx-cyrillic-1.0.0-noarch-3.txz.asc
-| | |-- font-cursor-misc-1.0.0-noarch-3.txt
-| | |-- font-cursor-misc-1.0.0-noarch-3.txz
-| | |-- font-cursor-misc-1.0.0-noarch-3.txz.asc
-| | |-- font-daewoo-misc-1.0.0-noarch-3.txt
-| | |-- font-daewoo-misc-1.0.0-noarch-3.txz
-| | |-- font-daewoo-misc-1.0.0-noarch-3.txz.asc
-| | |-- font-dec-misc-1.0.0-noarch-3.txt
-| | |-- font-dec-misc-1.0.0-noarch-3.txz
-| | |-- font-dec-misc-1.0.0-noarch-3.txz.asc
-| | |-- font-ibm-type1-1.0.0-noarch-3.txt
-| | |-- font-ibm-type1-1.0.0-noarch-3.txz
-| | |-- font-ibm-type1-1.0.0-noarch-3.txz.asc
-| | |-- font-isas-misc-1.0.0-noarch-3.txt
-| | |-- font-isas-misc-1.0.0-noarch-3.txz
-| | |-- font-isas-misc-1.0.0-noarch-3.txz.asc
-| | |-- font-jis-misc-1.0.0-noarch-3.txt
-| | |-- font-jis-misc-1.0.0-noarch-3.txz
-| | |-- font-jis-misc-1.0.0-noarch-3.txz.asc
-| | |-- font-micro-misc-1.0.0-noarch-3.txt
-| | |-- font-micro-misc-1.0.0-noarch-3.txz
-| | |-- font-micro-misc-1.0.0-noarch-3.txz.asc
-| | |-- font-misc-cyrillic-1.0.0-noarch-3.txt
-| | |-- font-misc-cyrillic-1.0.0-noarch-3.txz
-| | |-- font-misc-cyrillic-1.0.0-noarch-3.txz.asc
-| | |-- font-misc-ethiopic-1.0.0-noarch-3.txt
-| | |-- font-misc-ethiopic-1.0.0-noarch-3.txz
-| | |-- font-misc-ethiopic-1.0.0-noarch-3.txz.asc
-| | |-- font-misc-meltho-1.0.0-noarch-3.txt
-| | |-- font-misc-meltho-1.0.0-noarch-3.txz
-| | |-- font-misc-meltho-1.0.0-noarch-3.txz.asc
-| | |-- font-misc-misc-1.0.0-noarch-4.txt
-| | |-- font-misc-misc-1.0.0-noarch-4.txz
-| | |-- font-misc-misc-1.0.0-noarch-4.txz.asc
-| | |-- font-mutt-misc-1.0.0-noarch-3.txt
-| | |-- font-mutt-misc-1.0.0-noarch-3.txz
-| | |-- font-mutt-misc-1.0.0-noarch-3.txz.asc
-| | |-- font-schumacher-misc-1.0.0-noarch-3.txt
-| | |-- font-schumacher-misc-1.0.0-noarch-3.txz
-| | |-- font-schumacher-misc-1.0.0-noarch-3.txz.asc
-| | |-- font-screen-cyrillic-1.0.1-noarch-3.txt
-| | |-- font-screen-cyrillic-1.0.1-noarch-3.txz
-| | |-- font-screen-cyrillic-1.0.1-noarch-3.txz.asc
-| | |-- font-sony-misc-1.0.0-noarch-3.txt
-| | |-- font-sony-misc-1.0.0-noarch-3.txz
-| | |-- font-sony-misc-1.0.0-noarch-3.txz.asc
-| | |-- font-sun-misc-1.0.0-noarch-3.txt
-| | |-- font-sun-misc-1.0.0-noarch-3.txz
-| | |-- font-sun-misc-1.0.0-noarch-3.txz.asc
-| | |-- font-util-1.0.1-x86_64-2.txt
-| | |-- font-util-1.0.1-x86_64-2.txz
-| | |-- font-util-1.0.1-x86_64-2.txz.asc
-| | |-- font-winitzki-cyrillic-1.0.0-noarch-3.txt
-| | |-- font-winitzki-cyrillic-1.0.0-noarch-3.txz
-| | |-- font-winitzki-cyrillic-1.0.0-noarch-3.txz.asc
-| | |-- font-xfree86-type1-1.0.1-noarch-2.txt
-| | |-- font-xfree86-type1-1.0.1-noarch-2.txz
-| | |-- font-xfree86-type1-1.0.1-noarch-2.txz.asc
-| | |-- fontcacheproto-0.1.2-noarch-2.txt
-| | |-- fontcacheproto-0.1.2-noarch-2.txz
-| | |-- fontcacheproto-0.1.2-noarch-2.txz.asc
-| | |-- fontconfig-2.6.0-x86_64-2.txt
-| | |-- fontconfig-2.6.0-x86_64-2.txz
-| | |-- fontconfig-2.6.0-x86_64-2.txz.asc
-| | |-- fontsproto-2.0.2-noarch-2.txt
-| | |-- fontsproto-2.0.2-noarch-2.txz
-| | |-- fontsproto-2.0.2-noarch-2.txz.asc
-| | |-- fonttosfnt-1.0.4-x86_64-1.txt
-| | |-- fonttosfnt-1.0.4-x86_64-1.txz
-| | |-- fonttosfnt-1.0.4-x86_64-1.txz.asc
-| | |-- fslsfonts-1.0.2-x86_64-1.txt
-| | |-- fslsfonts-1.0.2-x86_64-1.txz
-| | |-- fslsfonts-1.0.2-x86_64-1.txz.asc
-| | |-- fstobdf-1.0.3-x86_64-1.txt
-| | |-- fstobdf-1.0.3-x86_64-1.txz
-| | |-- fstobdf-1.0.3-x86_64-1.txz.asc
-| | |-- gccmakedep-1.0.2-noarch-2.txt
-| | |-- gccmakedep-1.0.2-noarch-2.txz
-| | |-- gccmakedep-1.0.2-noarch-2.txz.asc
-| | |-- glew-1.5.1-x86_64-1.txt
-| | |-- glew-1.5.1-x86_64-1.txz
-| | |-- glew-1.5.1-x86_64-1.txz.asc
-| | |-- glproto-1.4.10-noarch-1.txt
-| | |-- glproto-1.4.10-noarch-1.txz
-| | |-- glproto-1.4.10-noarch-1.txz.asc
-| | |-- iceauth-1.0.2-x86_64-2.txt
-| | |-- iceauth-1.0.2-x86_64-2.txz
-| | |-- iceauth-1.0.2-x86_64-2.txz.asc
-| | |-- ico-1.0.2-x86_64-2.txt
-| | |-- ico-1.0.2-x86_64-2.txz
-| | |-- ico-1.0.2-x86_64-2.txz.asc
-| | |-- imake-1.0.2-x86_64-3.txt
-| | |-- imake-1.0.2-x86_64-3.txz
-| | |-- imake-1.0.2-x86_64-3.txz.asc
-| | |-- inputproto-1.5.1-noarch-1.txt
-| | |-- inputproto-1.5.1-noarch-1.txz
-| | |-- inputproto-1.5.1-noarch-1.txz.asc
-| | |-- install-packages
-| | |-- install.end
-| | |-- intel-gpu-tools-1.0.1-x86_64-1.txt
-| | |-- intel-gpu-tools-1.0.1-x86_64-1.txz
-| | |-- intel-gpu-tools-1.0.1-x86_64-1.txz.asc
-| | |-- kbproto-1.0.3-noarch-2.txt
-| | |-- kbproto-1.0.3-noarch-2.txz
-| | |-- kbproto-1.0.3-noarch-2.txz.asc
-| | |-- lbxproxy-1.0.1-x86_64-2.txt
-| | |-- lbxproxy-1.0.1-x86_64-2.txz
-| | |-- lbxproxy-1.0.1-x86_64-2.txz.asc
-| | |-- libFS-1.0.2-x86_64-1.txt
-| | |-- libFS-1.0.2-x86_64-1.txz
-| | |-- libFS-1.0.2-x86_64-1.txz.asc
-| | |-- libICE-1.0.5-x86_64-2.txt
-| | |-- libICE-1.0.5-x86_64-2.txz
-| | |-- libICE-1.0.5-x86_64-2.txz.asc
-| | |-- libSM-1.1.0-x86_64-1.txt
-| | |-- libSM-1.1.0-x86_64-1.txz
-| | |-- libSM-1.1.0-x86_64-1.txz.asc
-| | |-- libX11-1.2.2-x86_64-1.txt
-| | |-- libX11-1.2.2-x86_64-1.txz
-| | |-- libX11-1.2.2-x86_64-1.txz.asc
-| | |-- libXScrnSaver-1.1.3-x86_64-2.txt
-| | |-- libXScrnSaver-1.1.3-x86_64-2.txz
-| | |-- libXScrnSaver-1.1.3-x86_64-2.txz.asc
-| | |-- libXTrap-1.0.0-x86_64-2.txt
-| | |-- libXTrap-1.0.0-x86_64-2.txz
-| | |-- libXTrap-1.0.0-x86_64-2.txz.asc
-| | |-- libXau-1.0.4-x86_64-2.txt
-| | |-- libXau-1.0.4-x86_64-2.txz
-| | |-- libXau-1.0.4-x86_64-2.txz.asc
-| | |-- libXaw-1.0.6-x86_64-1.txt
-| | |-- libXaw-1.0.6-x86_64-1.txz
-| | |-- libXaw-1.0.6-x86_64-1.txz.asc
-| | |-- libXcomposite-0.4.0-x86_64-2.txt
-| | |-- libXcomposite-0.4.0-x86_64-2.txz
-| | |-- libXcomposite-0.4.0-x86_64-2.txz.asc
-| | |-- libXcursor-1.1.9-x86_64-2.txt
-| | |-- libXcursor-1.1.9-x86_64-2.txz
-| | |-- libXcursor-1.1.9-x86_64-2.txz.asc
-| | |-- libXdamage-1.1.1-x86_64-2.txt
-| | |-- libXdamage-1.1.1-x86_64-2.txz
-| | |-- libXdamage-1.1.1-x86_64-2.txz.asc
-| | |-- libXdmcp-1.0.2-x86_64-2.txt
-| | |-- libXdmcp-1.0.2-x86_64-2.txz
-| | |-- libXdmcp-1.0.2-x86_64-2.txz.asc
-| | |-- libXevie-1.0.2-x86_64-2.txt
-| | |-- libXevie-1.0.2-x86_64-2.txz
-| | |-- libXevie-1.0.2-x86_64-2.txz.asc
-| | |-- libXext-1.0.5-x86_64-1.txt
-| | |-- libXext-1.0.5-x86_64-1.txz
-| | |-- libXext-1.0.5-x86_64-1.txz.asc
-| | |-- libXfixes-4.0.3-x86_64-2.txt
-| | |-- libXfixes-4.0.3-x86_64-2.txz
-| | |-- libXfixes-4.0.3-x86_64-2.txz.asc
-| | |-- libXfont-1.4.0-x86_64-1.txt
-| | |-- libXfont-1.4.0-x86_64-1.txz
-| | |-- libXfont-1.4.0-x86_64-1.txz.asc
-| | |-- libXfontcache-1.0.4-x86_64-2.txt
-| | |-- libXfontcache-1.0.4-x86_64-2.txz
-| | |-- libXfontcache-1.0.4-x86_64-2.txz.asc
-| | |-- libXft-2.1.13-x86_64-2.txt
-| | |-- libXft-2.1.13-x86_64-2.txz
-| | |-- libXft-2.1.13-x86_64-2.txz.asc
-| | |-- libXi-1.2.1-x86_64-1.txt
-| | |-- libXi-1.2.1-x86_64-1.txz
-| | |-- libXi-1.2.1-x86_64-1.txz.asc
-| | |-- libXinerama-1.0.3-x86_64-2.txt
-| | |-- libXinerama-1.0.3-x86_64-2.txz
-| | |-- libXinerama-1.0.3-x86_64-2.txz.asc
-| | |-- libXmu-1.0.4-x86_64-2.txt
-| | |-- libXmu-1.0.4-x86_64-2.txz
-| | |-- libXmu-1.0.4-x86_64-2.txz.asc
-| | |-- libXp-1.0.0-x86_64-2.txt
-| | |-- libXp-1.0.0-x86_64-2.txz
-| | |-- libXp-1.0.0-x86_64-2.txz.asc
-| | |-- libXpm-3.5.7-x86_64-2.txt
-| | |-- libXpm-3.5.7-x86_64-2.txz
-| | |-- libXpm-3.5.7-x86_64-2.txz.asc
-| | |-- libXprintAppUtil-1.0.1-x86_64-2.txt
-| | |-- libXprintAppUtil-1.0.1-x86_64-2.txz
-| | |-- libXprintAppUtil-1.0.1-x86_64-2.txz.asc
-| | |-- libXprintUtil-1.0.1-x86_64-2.txt
-| | |-- libXprintUtil-1.0.1-x86_64-2.txz
-| | |-- libXprintUtil-1.0.1-x86_64-2.txz.asc
-| | |-- libXrandr-1.3.0-x86_64-1.txt
-| | |-- libXrandr-1.3.0-x86_64-1.txz
-| | |-- libXrandr-1.3.0-x86_64-1.txz.asc
-| | |-- libXrender-0.9.4-x86_64-2.txt
-| | |-- libXrender-0.9.4-x86_64-2.txz
-| | |-- libXrender-0.9.4-x86_64-2.txz.asc
-| | |-- libXres-1.0.3-x86_64-2.txt
-| | |-- libXres-1.0.3-x86_64-2.txz
-| | |-- libXres-1.0.3-x86_64-2.txz.asc
-| | |-- libXt-1.0.6-x86_64-1.txt
-| | |-- libXt-1.0.6-x86_64-1.txz
-| | |-- libXt-1.0.6-x86_64-1.txz.asc
-| | |-- libXtst-1.0.3-x86_64-2.txt
-| | |-- libXtst-1.0.3-x86_64-2.txz
-| | |-- libXtst-1.0.3-x86_64-2.txz.asc
-| | |-- libXv-1.0.4-x86_64-2.txt
-| | |-- libXv-1.0.4-x86_64-2.txz
-| | |-- libXv-1.0.4-x86_64-2.txz.asc
-| | |-- libXvMC-1.0.4-x86_64-2.txt
-| | |-- libXvMC-1.0.4-x86_64-2.txz
-| | |-- libXvMC-1.0.4-x86_64-2.txz.asc
-| | |-- libXxf86dga-1.0.2-x86_64-2.txt
-| | |-- libXxf86dga-1.0.2-x86_64-2.txz
-| | |-- libXxf86dga-1.0.2-x86_64-2.txz.asc
-| | |-- libXxf86misc-1.0.1-x86_64-2.txt
-| | |-- libXxf86misc-1.0.1-x86_64-2.txz
-| | |-- libXxf86misc-1.0.1-x86_64-2.txz.asc
-| | |-- libXxf86vm-1.0.2-x86_64-2.txt
-| | |-- libXxf86vm-1.0.2-x86_64-2.txz
-| | |-- libXxf86vm-1.0.2-x86_64-2.txz.asc
-| | |-- libdmx-1.0.2-x86_64-2.txt
-| | |-- libdmx-1.0.2-x86_64-2.txz
-| | |-- libdmx-1.0.2-x86_64-2.txz.asc
-| | |-- libdrm-2.4.12-x86_64-1.txt
-| | |-- libdrm-2.4.12-x86_64-1.txz
-| | |-- libdrm-2.4.12-x86_64-1.txz.asc
-| | |-- liberation-fonts-ttf-1.04-noarch-1.txt
-| | |-- liberation-fonts-ttf-1.04-noarch-1.txz
-| | |-- liberation-fonts-ttf-1.04-noarch-1.txz.asc
-| | |-- libfontenc-1.0.4-x86_64-2.txt
-| | |-- libfontenc-1.0.4-x86_64-2.txz
-| | |-- libfontenc-1.0.4-x86_64-2.txz.asc
-| | |-- libhangul-0.0.7-x86_64-1.txt
-| | |-- libhangul-0.0.7-x86_64-1.txz
-| | |-- libhangul-0.0.7-x86_64-1.txz.asc
-| | |-- liblbxutil-1.0.1-x86_64-2.txt
-| | |-- liblbxutil-1.0.1-x86_64-2.txz
-| | |-- liblbxutil-1.0.1-x86_64-2.txz.asc
-| | |-- libpciaccess-0.10.6-x86_64-1.txt
-| | |-- libpciaccess-0.10.6-x86_64-1.txz
-| | |-- libpciaccess-0.10.6-x86_64-1.txz.asc
-| | |-- libpthread-stubs-0.1-noarch-2.txt
-| | |-- libpthread-stubs-0.1-noarch-2.txz
-| | |-- libpthread-stubs-0.1-noarch-2.txz.asc
-| | |-- libxcb-1.3-x86_64-1.txt
-| | |-- libxcb-1.3-x86_64-1.txz
-| | |-- libxcb-1.3-x86_64-1.txz.asc
-| | |-- libxkbfile-1.0.5-x86_64-2.txt
-| | |-- libxkbfile-1.0.5-x86_64-2.txz
-| | |-- libxkbfile-1.0.5-x86_64-2.txz.asc
-| | |-- libxkbui-1.0.2-x86_64-2.txt
-| | |-- libxkbui-1.0.2-x86_64-2.txz
-| | |-- libxkbui-1.0.2-x86_64-2.txz.asc
-| | |-- listres-1.0.1-x86_64-2.txt
-| | |-- listres-1.0.1-x86_64-2.txz
-| | |-- listres-1.0.1-x86_64-2.txz.asc
-| | |-- lndir-1.0.1-x86_64-2.txt
-| | |-- lndir-1.0.1-x86_64-2.txz
-| | |-- lndir-1.0.1-x86_64-2.txz.asc
-| | |-- luit-1.0.3-x86_64-2.txt
-| | |-- luit-1.0.3-x86_64-2.txz
-| | |-- luit-1.0.3-x86_64-2.txz.asc
-| | |-- m17n-lib-1.5.4-x86_64-1.txt
-| | |-- m17n-lib-1.5.4-x86_64-1.txz
-| | |-- m17n-lib-1.5.4-x86_64-1.txz.asc
-| | |-- makedepend-1.0.1-x86_64-2.txt
-| | |-- makedepend-1.0.1-x86_64-2.txz
-| | |-- makedepend-1.0.1-x86_64-2.txz.asc
-| | |-- maketag
-| | |-- maketag.ez
-| | |-- mesa-7.5-x86_64-1.txt
-| | |-- mesa-7.5-x86_64-1.txz
-| | |-- mesa-7.5-x86_64-1.txz.asc
-| | |-- mkcomposecache-1.2-x86_64-2.txt
-| | |-- mkcomposecache-1.2-x86_64-2.txz
-| | |-- mkcomposecache-1.2-x86_64-2.txz.asc
-| | |-- mkfontdir-1.0.4-noarch-2.txt
-| | |-- mkfontdir-1.0.4-noarch-2.txz
-| | |-- mkfontdir-1.0.4-noarch-2.txz.asc
-| | |-- mkfontscale-1.0.6-x86_64-1.txt
-| | |-- mkfontscale-1.0.6-x86_64-1.txz
-| | |-- mkfontscale-1.0.6-x86_64-1.txz.asc
-| | |-- oclock-1.0.1-x86_64-2.txt
-| | |-- oclock-1.0.1-x86_64-2.txz
-| | |-- oclock-1.0.1-x86_64-2.txz.asc
-| | |-- pixman-0.15.18-x86_64-1.txt
-| | |-- pixman-0.15.18-x86_64-1.txz
-| | |-- pixman-0.15.18-x86_64-1.txz.asc
-| | |-- printproto-1.0.4-noarch-2.txt
-| | |-- printproto-1.0.4-noarch-2.txz
-| | |-- printproto-1.0.4-noarch-2.txz.asc
-| | |-- proxymngr-1.0.1-x86_64-2.txt
-| | |-- proxymngr-1.0.1-x86_64-2.txz
-| | |-- proxymngr-1.0.1-x86_64-2.txz.asc
-| | |-- randrproto-1.3.0-noarch-1.txt
-| | |-- randrproto-1.3.0-noarch-1.txz
-| | |-- randrproto-1.3.0-noarch-1.txz.asc
-| | |-- recordproto-1.13.2-noarch-2.txt
-| | |-- recordproto-1.13.2-noarch-2.txz
-| | |-- recordproto-1.13.2-noarch-2.txz.asc
-| | |-- rendercheck-1.3-x86_64-2.txt
-| | |-- rendercheck-1.3-x86_64-2.txz
-| | |-- rendercheck-1.3-x86_64-2.txz.asc
-| | |-- renderproto-0.11-noarch-1.txt
-| | |-- renderproto-0.11-noarch-1.txz
-| | |-- renderproto-0.11-noarch-1.txz.asc
-| | |-- resourceproto-1.0.2-noarch-2.txt
-| | |-- resourceproto-1.0.2-noarch-2.txz
-| | |-- resourceproto-1.0.2-noarch-2.txz.asc
-| | |-- rgb-1.0.3-x86_64-1.txt
-| | |-- rgb-1.0.3-x86_64-1.txz
-| | |-- rgb-1.0.3-x86_64-1.txz.asc
-| | |-- rstart-1.0.3-x86_64-1.txt
-| | |-- rstart-1.0.3-x86_64-1.txz
-| | |-- rstart-1.0.3-x86_64-1.txz.asc
-| | |-- sazanami-fonts-ttf-20040629-noarch-1.txt
-| | |-- sazanami-fonts-ttf-20040629-noarch-1.txz
-| | |-- sazanami-fonts-ttf-20040629-noarch-1.txz.asc
-| | |-- scim-1.4.9-x86_64-4.txt
-| | |-- scim-1.4.9-x86_64-4.txz
-| | |-- scim-1.4.9-x86_64-4.txz.asc
-| | |-- scim-anthy-1.2.4-x86_64-2.txt
-| | |-- scim-anthy-1.2.4-x86_64-2.txz
-| | |-- scim-anthy-1.2.4-x86_64-2.txz.asc
-| | |-- scim-bridge-0.4.16-x86_64-4.txt
-| | |-- scim-bridge-0.4.16-x86_64-4.txz
-| | |-- scim-bridge-0.4.16-x86_64-4.txz.asc
-| | |-- scim-hangul-0.3.2-x86_64-2.txt
-| | |-- scim-hangul-0.3.2-x86_64-2.txz
-| | |-- scim-hangul-0.3.2-x86_64-2.txz.asc
-| | |-- scim-input-pad-0.1.2-x86_64-4.txt
-| | |-- scim-input-pad-0.1.2-x86_64-4.txz
-| | |-- scim-input-pad-0.1.2-x86_64-4.txz.asc
-| | |-- scim-m17n-0.2.3-x86_64-1.txt
-| | |-- scim-m17n-0.2.3-x86_64-1.txz
-| | |-- scim-m17n-0.2.3-x86_64-1.txz.asc
-| | |-- scim-pinyin-0.5.91-x86_64-2.txt
-| | |-- scim-pinyin-0.5.91-x86_64-2.txz
-| | |-- scim-pinyin-0.5.91-x86_64-2.txz.asc
-| | |-- scim-tables-0.5.9-x86_64-3.txt
-| | |-- scim-tables-0.5.9-x86_64-3.txz
-| | |-- scim-tables-0.5.9-x86_64-3.txz.asc
-| | |-- scripts-1.0.1-noarch-2.txt
-| | |-- scripts-1.0.1-noarch-2.txz
-| | |-- scripts-1.0.1-noarch-2.txz.asc
-| | |-- scrnsaverproto-1.1.0-noarch-2.txt
-| | |-- scrnsaverproto-1.1.0-noarch-2.txz
-| | |-- scrnsaverproto-1.1.0-noarch-2.txz.asc
-| | |-- sessreg-1.0.4-x86_64-1.txt
-| | |-- sessreg-1.0.4-x86_64-1.txz
-| | |-- sessreg-1.0.4-x86_64-1.txz.asc
-| | |-- setxkbmap-1.1.0-x86_64-1.txt
-| | |-- setxkbmap-1.1.0-x86_64-1.txz
-| | |-- setxkbmap-1.1.0-x86_64-1.txz.asc
-| | |-- showfont-1.0.2-x86_64-1.txt
-| | |-- showfont-1.0.2-x86_64-1.txz
-| | |-- showfont-1.0.2-x86_64-1.txz.asc
-| | |-- sinhala_lklug-font-ttf-20060929-noarch-1.txt
-| | |-- sinhala_lklug-font-ttf-20060929-noarch-1.txz
-| | |-- sinhala_lklug-font-ttf-20060929-noarch-1.txz.asc
-| | |-- smproxy-1.0.2-x86_64-2.txt
-| | |-- smproxy-1.0.2-x86_64-2.txz
-| | |-- smproxy-1.0.2-x86_64-2.txz.asc
-| | |-- tagfile
-| | |-- tibmachuni-font-ttf-1.901-noarch-1.txt
-| | |-- tibmachuni-font-ttf-1.901-noarch-1.txz
-| | |-- tibmachuni-font-ttf-1.901-noarch-1.txz.asc
-| | |-- trapproto-3.4.3-noarch-2.txt
-| | |-- trapproto-3.4.3-noarch-2.txz
-| | |-- trapproto-3.4.3-noarch-2.txz.asc
-| | |-- ttf-indic-fonts-0.4.7.4-noarch-1.txt
-| | |-- ttf-indic-fonts-0.4.7.4-noarch-1.txz
-| | |-- ttf-indic-fonts-0.4.7.4-noarch-1.txz.asc
-| | |-- twm-1.0.4-x86_64-2.txt
-| | |-- twm-1.0.4-x86_64-2.txz
-| | |-- twm-1.0.4-x86_64-2.txz.asc
-| | |-- util-macros-1.2.2-noarch-1.txt
-| | |-- util-macros-1.2.2-noarch-1.txz
-| | |-- util-macros-1.2.2-noarch-1.txz.asc
-| | |-- videoproto-2.2.2-noarch-2.txt
-| | |-- videoproto-2.2.2-noarch-2.txz
-| | |-- videoproto-2.2.2-noarch-2.txz.asc
-| | |-- viewres-1.0.1-x86_64-3.txt
-| | |-- viewres-1.0.1-x86_64-3.txz
-| | |-- viewres-1.0.1-x86_64-3.txz.asc
-| | |-- wqy-zenhei-font-ttf-0.8.38_1-noarch-1.txt
-| | |-- wqy-zenhei-font-ttf-0.8.38_1-noarch-1.txz
-| | |-- wqy-zenhei-font-ttf-0.8.38_1-noarch-1.txz.asc
-| | |-- x11-skel-7.4-x86_64-1.txt
-| | |-- x11-skel-7.4-x86_64-1.txz
-| | |-- x11-skel-7.4-x86_64-1.txz.asc
-| | |-- x11perf-1.5-x86_64-2.txt
-| | |-- x11perf-1.5-x86_64-2.txz
-| | |-- x11perf-1.5-x86_64-2.txz.asc
-| | |-- xauth-1.0.3-x86_64-2.txt
-| | |-- xauth-1.0.3-x86_64-2.txz
-| | |-- xauth-1.0.3-x86_64-2.txz.asc
-| | |-- xaw3d-1.5E-x86_64-1.txt
-| | |-- xaw3d-1.5E-x86_64-1.txz
-| | |-- xaw3d-1.5E-x86_64-1.txz.asc
-| | |-- xbacklight-1.1-x86_64-2.txt
-| | |-- xbacklight-1.1-x86_64-2.txz
-| | |-- xbacklight-1.1-x86_64-2.txz.asc
-| | |-- xbiff-1.0.1-x86_64-2.txt
-| | |-- xbiff-1.0.1-x86_64-2.txz
-| | |-- xbiff-1.0.1-x86_64-2.txz.asc
-| | |-- xbitmaps-1.0.1-noarch-2.txt
-| | |-- xbitmaps-1.0.1-noarch-2.txz
-| | |-- xbitmaps-1.0.1-noarch-2.txz.asc
-| | |-- xcalc-1.0.2-x86_64-2.txt
-| | |-- xcalc-1.0.2-x86_64-2.txz
-| | |-- xcalc-1.0.2-x86_64-2.txz.asc
-| | |-- xcb-proto-1.5-noarch-1.txt
-| | |-- xcb-proto-1.5-noarch-1.txz
-| | |-- xcb-proto-1.5-noarch-1.txz.asc
-| | |-- xcb-util-0.3.5-x86_64-1.txt
-| | |-- xcb-util-0.3.5-x86_64-1.txz
-| | |-- xcb-util-0.3.5-x86_64-1.txz.asc
-| | |-- xclipboard-1.0.1-x86_64-2.txt
-| | |-- xclipboard-1.0.1-x86_64-2.txz
-| | |-- xclipboard-1.0.1-x86_64-2.txz.asc
-| | |-- xclock-1.0.3-x86_64-2.txt
-| | |-- xclock-1.0.3-x86_64-2.txz
-| | |-- xclock-1.0.3-x86_64-2.txz.asc
-| | |-- xcmiscproto-1.1.2-noarch-2.txt
-| | |-- xcmiscproto-1.1.2-noarch-2.txz
-| | |-- xcmiscproto-1.1.2-noarch-2.txz.asc
-| | |-- xcmsdb-1.0.1-x86_64-2.txt
-| | |-- xcmsdb-1.0.1-x86_64-2.txz
-| | |-- xcmsdb-1.0.1-x86_64-2.txz.asc
-| | |-- xcompmgr-1.1.4-x86_64-2.txt
-| | |-- xcompmgr-1.1.4-x86_64-2.txz
-| | |-- xcompmgr-1.1.4-x86_64-2.txz.asc
-| | |-- xconsole-1.0.3-x86_64-2.txt
-| | |-- xconsole-1.0.3-x86_64-2.txz
-| | |-- xconsole-1.0.3-x86_64-2.txz.asc
-| | |-- xcursor-themes-1.0.1-noarch-2.txt
-| | |-- xcursor-themes-1.0.1-noarch-2.txz
-| | |-- xcursor-themes-1.0.1-noarch-2.txz.asc
-| | |-- xcursorgen-1.0.2-x86_64-2.txt
-| | |-- xcursorgen-1.0.2-x86_64-2.txz
-| | |-- xcursorgen-1.0.2-x86_64-2.txz.asc
-| | |-- xdbedizzy-1.0.2-x86_64-2.txt
-| | |-- xdbedizzy-1.0.2-x86_64-2.txz
-| | |-- xdbedizzy-1.0.2-x86_64-2.txz.asc
-| | |-- xdg-utils-1.0.2-noarch-3.txt
-| | |-- xdg-utils-1.0.2-noarch-3.txz
-| | |-- xdg-utils-1.0.2-noarch-3.txz.asc
-| | |-- xditview-1.0.1-x86_64-2.txt
-| | |-- xditview-1.0.1-x86_64-2.txz
-| | |-- xditview-1.0.1-x86_64-2.txz.asc
-| | |-- xdm-1.1.8-x86_64-1.txt
-| | |-- xdm-1.1.8-x86_64-1.txz
-| | |-- xdm-1.1.8-x86_64-1.txz.asc
-| | |-- xdpyinfo-1.0.3-x86_64-1.txt
-| | |-- xdpyinfo-1.0.3-x86_64-1.txz
-| | |-- xdpyinfo-1.0.3-x86_64-1.txz.asc
-| | |-- xdriinfo-1.0.2-x86_64-2.txt
-| | |-- xdriinfo-1.0.2-x86_64-2.txz
-| | |-- xdriinfo-1.0.2-x86_64-2.txz.asc
-| | |-- xedit-1.1.2-x86_64-1.txt
-| | |-- xedit-1.1.2-x86_64-1.txz
-| | |-- xedit-1.1.2-x86_64-1.txz.asc
-| | |-- xev-1.0.3-x86_64-2.txt
-| | |-- xev-1.0.3-x86_64-2.txz
-| | |-- xev-1.0.3-x86_64-2.txz.asc
-| | |-- xextproto-7.0.5-noarch-1.txt
-| | |-- xextproto-7.0.5-noarch-1.txz
-| | |-- xextproto-7.0.5-noarch-1.txz.asc
-| | |-- xeyes-1.0.1-x86_64-2.txt
-| | |-- xeyes-1.0.1-x86_64-2.txz
-| | |-- xeyes-1.0.1-x86_64-2.txz.asc
-| | |-- xf86-input-acecad-1.3.0-x86_64-1.txt
-| | |-- xf86-input-acecad-1.3.0-x86_64-1.txz
-| | |-- xf86-input-acecad-1.3.0-x86_64-1.txz.asc
-| | |-- xf86-input-aiptek-1.2.0-x86_64-1.txt
-| | |-- xf86-input-aiptek-1.2.0-x86_64-1.txz
-| | |-- xf86-input-aiptek-1.2.0-x86_64-1.txz.asc
-| | |-- xf86-input-citron-2.2.2-x86_64-1.txt
-| | |-- xf86-input-citron-2.2.2-x86_64-1.txz
-| | |-- xf86-input-citron-2.2.2-x86_64-1.txz.asc
-| | |-- xf86-input-elographics-1.2.3-x86_64-2.txt
-| | |-- xf86-input-elographics-1.2.3-x86_64-2.txz
-| | |-- xf86-input-elographics-1.2.3-x86_64-2.txz.asc
-| | |-- xf86-input-evdev-2.2.5-x86_64-1.txt
-| | |-- xf86-input-evdev-2.2.5-x86_64-1.txz
-| | |-- xf86-input-evdev-2.2.5-x86_64-1.txz.asc
-| | |-- xf86-input-fpit-1.3.0-x86_64-1.txt
-| | |-- xf86-input-fpit-1.3.0-x86_64-1.txz
-| | |-- xf86-input-fpit-1.3.0-x86_64-1.txz.asc
-| | |-- xf86-input-hyperpen-1.3.0-x86_64-1.txt
-| | |-- xf86-input-hyperpen-1.3.0-x86_64-1.txz
-| | |-- xf86-input-hyperpen-1.3.0-x86_64-1.txz.asc
-| | |-- xf86-input-joystick-1.4.0-x86_64-1.txt
-| | |-- xf86-input-joystick-1.4.0-x86_64-1.txz
-| | |-- xf86-input-joystick-1.4.0-x86_64-1.txz.asc
-| | |-- xf86-input-keyboard-1.3.2-x86_64-1.txt
-| | |-- xf86-input-keyboard-1.3.2-x86_64-1.txz
-| | |-- xf86-input-keyboard-1.3.2-x86_64-1.txz.asc
-| | |-- xf86-input-mouse-1.4.0-x86_64-1.txt
-| | |-- xf86-input-mouse-1.4.0-x86_64-1.txz
-| | |-- xf86-input-mouse-1.4.0-x86_64-1.txz.asc
-| | |-- xf86-input-mutouch-1.2.1-x86_64-2.txt
-| | |-- xf86-input-mutouch-1.2.1-x86_64-2.txz
-| | |-- xf86-input-mutouch-1.2.1-x86_64-2.txz.asc
-| | |-- xf86-input-penmount-1.4.0-x86_64-1.txt
-| | |-- xf86-input-penmount-1.4.0-x86_64-1.txz
-| | |-- xf86-input-penmount-1.4.0-x86_64-1.txz.asc
-| | |-- xf86-input-synaptics-1.1.3-x86_64-1.txt
-| | |-- xf86-input-synaptics-1.1.3-x86_64-1.txz
-| | |-- xf86-input-synaptics-1.1.3-x86_64-1.txz.asc
-| | |-- xf86-input-vmmouse-12.6.4-x86_64-1.txt
-| | |-- xf86-input-vmmouse-12.6.4-x86_64-1.txz
-| | |-- xf86-input-vmmouse-12.6.4-x86_64-1.txz.asc
-| | |-- xf86-input-void-1.2.0-x86_64-1.txt
-| | |-- xf86-input-void-1.2.0-x86_64-1.txz
-| | |-- xf86-input-void-1.2.0-x86_64-1.txz.asc
-| | |-- xf86-video-apm-1.2.2-x86_64-1.txt
-| | |-- xf86-video-apm-1.2.2-x86_64-1.txz
-| | |-- xf86-video-apm-1.2.2-x86_64-1.txz.asc
-| | |-- xf86-video-ark-0.7.1-x86_64-1.txt
-| | |-- xf86-video-ark-0.7.1-x86_64-1.txz
-| | |-- xf86-video-ark-0.7.1-x86_64-1.txz.asc
-| | |-- xf86-video-ast-0.89.9-x86_64-1.txt
-| | |-- xf86-video-ast-0.89.9-x86_64-1.txz
-| | |-- xf86-video-ast-0.89.9-x86_64-1.txz.asc
-| | |-- xf86-video-ati-6.12.2-x86_64-2.txt
-| | |-- xf86-video-ati-6.12.2-x86_64-2.txz
-| | |-- xf86-video-ati-6.12.2-x86_64-2.txz.asc
-| | |-- xf86-video-chips-1.2.1-x86_64-1.txt
-| | |-- xf86-video-chips-1.2.1-x86_64-1.txz
-| | |-- xf86-video-chips-1.2.1-x86_64-1.txz.asc
-| | |-- xf86-video-cirrus-1.3.2-x86_64-1.txt
-| | |-- xf86-video-cirrus-1.3.2-x86_64-1.txz
-| | |-- xf86-video-cirrus-1.3.2-x86_64-1.txz.asc
-| | |-- xf86-video-dummy-0.3.2-x86_64-1.txt
-| | |-- xf86-video-dummy-0.3.2-x86_64-1.txz
-| | |-- xf86-video-dummy-0.3.2-x86_64-1.txz.asc
-| | |-- xf86-video-glint-1.2.4-x86_64-1.txt
-| | |-- xf86-video-glint-1.2.4-x86_64-1.txz
-| | |-- xf86-video-glint-1.2.4-x86_64-1.txz.asc
-| | |-- xf86-video-i128-1.3.3-x86_64-1.txt
-| | |-- xf86-video-i128-1.3.3-x86_64-1.txz
-| | |-- xf86-video-i128-1.3.3-x86_64-1.txz.asc
-| | |-- xf86-video-i740-1.3.2-x86_64-1.txt
-| | |-- xf86-video-i740-1.3.2-x86_64-1.txz
-| | |-- xf86-video-i740-1.3.2-x86_64-1.txz.asc
-| | |-- xf86-video-intel-2.8.0-x86_64-1.txt
-| | |-- xf86-video-intel-2.8.0-x86_64-1.txz
-| | |-- xf86-video-intel-2.8.0-x86_64-1.txz.asc
-| | |-- xf86-video-mach64-6.8.2-x86_64-1.txt
-| | |-- xf86-video-mach64-6.8.2-x86_64-1.txz
-| | |-- xf86-video-mach64-6.8.2-x86_64-1.txz.asc
-| | |-- xf86-video-mga-1.4.11-x86_64-1.txt
-| | |-- xf86-video-mga-1.4.11-x86_64-1.txz
-| | |-- xf86-video-mga-1.4.11-x86_64-1.txz.asc
-| | |-- xf86-video-neomagic-1.2.4-x86_64-1.txt
-| | |-- xf86-video-neomagic-1.2.4-x86_64-1.txz
-| | |-- xf86-video-neomagic-1.2.4-x86_64-1.txz.asc
-| | |-- xf86-video-newport-0.2.2-x86_64-1.txt
-| | |-- xf86-video-newport-0.2.2-x86_64-1.txz
-| | |-- xf86-video-newport-0.2.2-x86_64-1.txz.asc
-| | |-- xf86-video-nv-2.1.14-x86_64-1.txt
-| | |-- xf86-video-nv-2.1.14-x86_64-1.txz
-| | |-- xf86-video-nv-2.1.14-x86_64-1.txz.asc
-| | |-- xf86-video-openchrome-0.2.903-x86_64-2.txt
-| | |-- xf86-video-openchrome-0.2.903-x86_64-2.txz
-| | |-- xf86-video-openchrome-0.2.903-x86_64-2.txz.asc
-| | |-- xf86-video-r128-6.8.1-x86_64-1.txt
-| | |-- xf86-video-r128-6.8.1-x86_64-1.txz
-| | |-- xf86-video-r128-6.8.1-x86_64-1.txz.asc
-| | |-- xf86-video-radeonhd-1.2.5-x86_64-1.txt
-| | |-- xf86-video-radeonhd-1.2.5-x86_64-1.txz
-| | |-- xf86-video-radeonhd-1.2.5-x86_64-1.txz.asc
-| | |-- xf86-video-rendition-4.2.2-x86_64-1.txt
-| | |-- xf86-video-rendition-4.2.2-x86_64-1.txz
-| | |-- xf86-video-rendition-4.2.2-x86_64-1.txz.asc
-| | |-- xf86-video-s3-0.6.3-x86_64-1.txt
-| | |-- xf86-video-s3-0.6.3-x86_64-1.txz
-| | |-- xf86-video-s3-0.6.3-x86_64-1.txz.asc
-| | |-- xf86-video-s3virge-1.10.4-x86_64-1.txt
-| | |-- xf86-video-s3virge-1.10.4-x86_64-1.txz
-| | |-- xf86-video-s3virge-1.10.4-x86_64-1.txz.asc
-| | |-- xf86-video-savage-2.3.1-x86_64-1.txt
-| | |-- xf86-video-savage-2.3.1-x86_64-1.txz
-| | |-- xf86-video-savage-2.3.1-x86_64-1.txz.asc
-| | |-- xf86-video-siliconmotion-1.7.2-x86_64-1.txt
-| | |-- xf86-video-siliconmotion-1.7.2-x86_64-1.txz
-| | |-- xf86-video-siliconmotion-1.7.2-x86_64-1.txz.asc
-| | |-- xf86-video-sis-0.10.2-x86_64-1.txt
-| | |-- xf86-video-sis-0.10.2-x86_64-1.txz
-| | |-- xf86-video-sis-0.10.2-x86_64-1.txz.asc
-| | |-- xf86-video-sisusb-0.9.3-x86_64-1.txt
-| | |-- xf86-video-sisusb-0.9.3-x86_64-1.txz
-| | |-- xf86-video-sisusb-0.9.3-x86_64-1.txz.asc
-| | |-- xf86-video-tdfx-1.4.3-x86_64-1.txt
-| | |-- xf86-video-tdfx-1.4.3-x86_64-1.txz
-| | |-- xf86-video-tdfx-1.4.3-x86_64-1.txz.asc
-| | |-- xf86-video-tga-1.2.0-x86_64-1.txt
-| | |-- xf86-video-tga-1.2.0-x86_64-1.txz
-| | |-- xf86-video-tga-1.2.0-x86_64-1.txz.asc
-| | |-- xf86-video-trident-1.3.2-x86_64-1.txt
-| | |-- xf86-video-trident-1.3.2-x86_64-1.txz
-| | |-- xf86-video-trident-1.3.2-x86_64-1.txz.asc
-| | |-- xf86-video-tseng-1.2.2-x86_64-1.txt
-| | |-- xf86-video-tseng-1.2.2-x86_64-1.txz
-| | |-- xf86-video-tseng-1.2.2-x86_64-1.txz.asc
-| | |-- xf86-video-v4l-0.2.0-x86_64-2.txt
-| | |-- xf86-video-v4l-0.2.0-x86_64-2.txz
-| | |-- xf86-video-v4l-0.2.0-x86_64-2.txz.asc
-| | |-- xf86-video-vesa-2.2.1-x86_64-1.txt
-| | |-- xf86-video-vesa-2.2.1-x86_64-1.txz
-| | |-- xf86-video-vesa-2.2.1-x86_64-1.txz.asc
-| | |-- xf86-video-vmware-10.16.6-x86_64-1.txt
-| | |-- xf86-video-vmware-10.16.6-x86_64-1.txz
-| | |-- xf86-video-vmware-10.16.6-x86_64-1.txz.asc
-| | |-- xf86-video-voodoo-1.2.3-x86_64-1.txt
-| | |-- xf86-video-voodoo-1.2.3-x86_64-1.txz
-| | |-- xf86-video-voodoo-1.2.3-x86_64-1.txz.asc
-| | |-- xf86bigfontproto-1.1.2-noarch-2.txt
-| | |-- xf86bigfontproto-1.1.2-noarch-2.txz
-| | |-- xf86bigfontproto-1.1.2-noarch-2.txz.asc
-| | |-- xf86dga-1.0.2-x86_64-2.txt
-| | |-- xf86dga-1.0.2-x86_64-2.txz
-| | |-- xf86dga-1.0.2-x86_64-2.txz.asc
-| | |-- xf86dgaproto-2.0.3-noarch-2.txt
-| | |-- xf86dgaproto-2.0.3-noarch-2.txz
-| | |-- xf86dgaproto-2.0.3-noarch-2.txz.asc
-| | |-- xf86driproto-2.0.4-noarch-2.txt
-| | |-- xf86driproto-2.0.4-noarch-2.txz
-| | |-- xf86driproto-2.0.4-noarch-2.txz.asc
-| | |-- xf86miscproto-0.9.2-noarch-2.txt
-| | |-- xf86miscproto-0.9.2-noarch-2.txz
-| | |-- xf86miscproto-0.9.2-noarch-2.txz.asc
-| | |-- xf86rushproto-1.1.2-noarch-2.txt
-| | |-- xf86rushproto-1.1.2-noarch-2.txz
-| | |-- xf86rushproto-1.1.2-noarch-2.txz.asc
-| | |-- xf86vidmodeproto-2.2.2-noarch-2.txt
-| | |-- xf86vidmodeproto-2.2.2-noarch-2.txz
-| | |-- xf86vidmodeproto-2.2.2-noarch-2.txz.asc
-| | |-- xfd-1.0.1-x86_64-2.txt
-| | |-- xfd-1.0.1-x86_64-2.txz
-| | |-- xfd-1.0.1-x86_64-2.txz.asc
-| | |-- xfindproxy-1.0.1-x86_64-2.txt
-| | |-- xfindproxy-1.0.1-x86_64-2.txz
-| | |-- xfindproxy-1.0.1-x86_64-2.txz.asc
-| | |-- xfontsel-1.0.2-x86_64-2.txt
-| | |-- xfontsel-1.0.2-x86_64-2.txz
-| | |-- xfontsel-1.0.2-x86_64-2.txz.asc
-| | |-- xfs-1.1.0-x86_64-1.txt
-| | |-- xfs-1.1.0-x86_64-1.txz
-| | |-- xfs-1.1.0-x86_64-1.txz.asc
-| | |-- xfsinfo-1.0.2-x86_64-1.txt
-| | |-- xfsinfo-1.0.2-x86_64-1.txz
-| | |-- xfsinfo-1.0.2-x86_64-1.txz.asc
-| | |-- xfwp-1.0.1-x86_64-2.txt
-| | |-- xfwp-1.0.1-x86_64-2.txz
-| | |-- xfwp-1.0.1-x86_64-2.txz.asc
-| | |-- xgamma-1.0.2-x86_64-2.txt
-| | |-- xgamma-1.0.2-x86_64-2.txz
-| | |-- xgamma-1.0.2-x86_64-2.txz.asc
-| | |-- xgc-1.0.1-x86_64-2.txt
-| | |-- xgc-1.0.1-x86_64-2.txz
-| | |-- xgc-1.0.1-x86_64-2.txz.asc
-| | |-- xhost-1.0.2-x86_64-2.txt
-| | |-- xhost-1.0.2-x86_64-2.txz
-| | |-- xhost-1.0.2-x86_64-2.txz.asc
-| | |-- xineramaproto-1.1.2-noarch-2.txt
-| | |-- xineramaproto-1.1.2-noarch-2.txz
-| | |-- xineramaproto-1.1.2-noarch-2.txz.asc
-| | |-- xinit-1.1.1-x86_64-1.txt
-| | |-- xinit-1.1.1-x86_64-1.txz
-| | |-- xinit-1.1.1-x86_64-1.txz.asc
-| | |-- xinput-1.4.2-x86_64-1.txt
-| | |-- xinput-1.4.2-x86_64-1.txz
-| | |-- xinput-1.4.2-x86_64-1.txz.asc
-| | |-- xkbcomp-1.1.0-x86_64-1.txt
-| | |-- xkbcomp-1.1.0-x86_64-1.txz
-| | |-- xkbcomp-1.1.0-x86_64-1.txz.asc
-| | |-- xkbevd-1.0.2-x86_64-2.txt
-| | |-- xkbevd-1.0.2-x86_64-2.txz
-| | |-- xkbevd-1.0.2-x86_64-2.txz.asc
-| | |-- xkbprint-1.0.1-x86_64-2.txt
-| | |-- xkbprint-1.0.1-x86_64-2.txz
-| | |-- xkbprint-1.0.1-x86_64-2.txz.asc
-| | |-- xkbutils-1.0.1-x86_64-2.txt
-| | |-- xkbutils-1.0.1-x86_64-2.txz
-| | |-- xkbutils-1.0.1-x86_64-2.txz.asc
-| | |-- xkeyboard-config-1.6-noarch-1.txt
-| | |-- xkeyboard-config-1.6-noarch-1.txz
-| | |-- xkeyboard-config-1.6-noarch-1.txz.asc
-| | |-- xkill-1.0.1-x86_64-2.txt
-| | |-- xkill-1.0.1-x86_64-2.txz
-| | |-- xkill-1.0.1-x86_64-2.txz.asc
-| | |-- xload-1.0.2-x86_64-2.txt
-| | |-- xload-1.0.2-x86_64-2.txz
-| | |-- xload-1.0.2-x86_64-2.txz.asc
-| | |-- xlogo-1.0.1-x86_64-2.txt
-| | |-- xlogo-1.0.1-x86_64-2.txz
-| | |-- xlogo-1.0.1-x86_64-2.txz.asc
-| | |-- xlsatoms-1.0.1-x86_64-2.txt
-| | |-- xlsatoms-1.0.1-x86_64-2.txz
-| | |-- xlsatoms-1.0.1-x86_64-2.txz.asc
-| | |-- xlsclients-1.0.1-x86_64-2.txt
-| | |-- xlsclients-1.0.1-x86_64-2.txz
-| | |-- xlsclients-1.0.1-x86_64-2.txz.asc
-| | |-- xlsfonts-1.0.2-x86_64-2.txt
-| | |-- xlsfonts-1.0.2-x86_64-2.txz
-| | |-- xlsfonts-1.0.2-x86_64-2.txz.asc
-| | |-- xmag-1.0.2-x86_64-2.txt
-| | |-- xmag-1.0.2-x86_64-2.txz
-| | |-- xmag-1.0.2-x86_64-2.txz.asc
-| | |-- xman-1.0.3-x86_64-2.txt
-| | |-- xman-1.0.3-x86_64-2.txz
-| | |-- xman-1.0.3-x86_64-2.txz.asc
-| | |-- xmessage-1.0.2-x86_64-2.txt
-| | |-- xmessage-1.0.2-x86_64-2.txz
-| | |-- xmessage-1.0.2-x86_64-2.txz.asc
-| | |-- xmh-1.0.1-x86_64-2.txt
-| | |-- xmh-1.0.1-x86_64-2.txz
-| | |-- xmh-1.0.1-x86_64-2.txz.asc
-| | |-- xmodmap-1.0.3-x86_64-2.txt
-| | |-- xmodmap-1.0.3-x86_64-2.txz
-| | |-- xmodmap-1.0.3-x86_64-2.txz.asc
-| | |-- xmore-1.0.1-x86_64-2.txt
-| | |-- xmore-1.0.1-x86_64-2.txz
-| | |-- xmore-1.0.1-x86_64-2.txz.asc
-| | |-- xorg-cf-files-1.0.2-noarch-3.txt
-| | |-- xorg-cf-files-1.0.2-noarch-3.txz
-| | |-- xorg-cf-files-1.0.2-noarch-3.txz.asc
-| | |-- xorg-docs-1.4-noarch-2.txt
-| | |-- xorg-docs-1.4-noarch-2.txz
-| | |-- xorg-docs-1.4-noarch-2.txz.asc
-| | |-- xorg-server-1.6.3-x86_64-1.txt
-| | |-- xorg-server-1.6.3-x86_64-1.txz
-| | |-- xorg-server-1.6.3-x86_64-1.txz.asc
-| | |-- xorg-server-xephyr-1.6.3-x86_64-1.txt
-| | |-- xorg-server-xephyr-1.6.3-x86_64-1.txz
-| | |-- xorg-server-xephyr-1.6.3-x86_64-1.txz.asc
-| | |-- xorg-server-xnest-1.6.3-x86_64-1.txt
-| | |-- xorg-server-xnest-1.6.3-x86_64-1.txz
-| | |-- xorg-server-xnest-1.6.3-x86_64-1.txz.asc
-| | |-- xorg-server-xvfb-1.6.3-x86_64-1.txt
-| | |-- xorg-server-xvfb-1.6.3-x86_64-1.txz
-| | |-- xorg-server-xvfb-1.6.3-x86_64-1.txz.asc
-| | |-- xorg-sgml-doctools-1.2-noarch-2.txt
-| | |-- xorg-sgml-doctools-1.2-noarch-2.txz
-| | |-- xorg-sgml-doctools-1.2-noarch-2.txz.asc
-| | |-- xplsprinters-1.0.1-x86_64-2.txt
-| | |-- xplsprinters-1.0.1-x86_64-2.txz
-| | |-- xplsprinters-1.0.1-x86_64-2.txz.asc
-| | |-- xpr-1.0.2-x86_64-2.txt
-| | |-- xpr-1.0.2-x86_64-2.txz
-| | |-- xpr-1.0.2-x86_64-2.txz.asc
-| | |-- xprehashprinterlist-1.0.1-x86_64-2.txt
-| | |-- xprehashprinterlist-1.0.1-x86_64-2.txz
-| | |-- xprehashprinterlist-1.0.1-x86_64-2.txz.asc
-| | |-- xprop-1.0.4-x86_64-2.txt
-| | |-- xprop-1.0.4-x86_64-2.txz
-| | |-- xprop-1.0.4-x86_64-2.txz.asc
-| | |-- xproto-7.0.15-noarch-1.txt
-| | |-- xproto-7.0.15-noarch-1.txz
-| | |-- xproto-7.0.15-noarch-1.txz.asc
-| | |-- xproxymanagementprotocol-1.0.2-noarch-2.txt
-| | |-- xproxymanagementprotocol-1.0.2-noarch-2.txz
-| | |-- xproxymanagementprotocol-1.0.2-noarch-2.txz.asc
-| | |-- xpyb-1.1-x86_64-1.txt
-| | |-- xpyb-1.1-x86_64-1.txz
-| | |-- xpyb-1.1-x86_64-1.txz.asc
-| | |-- xrandr-1.3.0-x86_64-1.txt
-| | |-- xrandr-1.3.0-x86_64-1.txz
-| | |-- xrandr-1.3.0-x86_64-1.txz.asc
-| | |-- xrdb-1.0.5-x86_64-2.txt
-| | |-- xrdb-1.0.5-x86_64-2.txz
-| | |-- xrdb-1.0.5-x86_64-2.txz.asc
-| | |-- xrefresh-1.0.2-x86_64-2.txt
-| | |-- xrefresh-1.0.2-x86_64-2.txz
-| | |-- xrefresh-1.0.2-x86_64-2.txz.asc
-| | |-- xscope-1.1-x86_64-1.txt
-| | |-- xscope-1.1-x86_64-1.txz
-| | |-- xscope-1.1-x86_64-1.txz.asc
-| | |-- xset-1.0.4-x86_64-2.txt
-| | |-- xset-1.0.4-x86_64-2.txz
-| | |-- xset-1.0.4-x86_64-2.txz.asc
-| | |-- xsetmode-1.0.0-x86_64-2.txt
-| | |-- xsetmode-1.0.0-x86_64-2.txz
-| | |-- xsetmode-1.0.0-x86_64-2.txz.asc
-| | |-- xsetpointer-1.0.1-x86_64-2.txt
-| | |-- xsetpointer-1.0.1-x86_64-2.txz
-| | |-- xsetpointer-1.0.1-x86_64-2.txz.asc
-| | |-- xsetroot-1.0.2-x86_64-2.txt
-| | |-- xsetroot-1.0.2-x86_64-2.txz
-| | |-- xsetroot-1.0.2-x86_64-2.txz.asc
-| | |-- xsm-1.0.1-x86_64-2.txt
-| | |-- xsm-1.0.1-x86_64-2.txz
-| | |-- xsm-1.0.1-x86_64-2.txz.asc
-| | |-- xstdcmap-1.0.1-x86_64-2.txt
-| | |-- xstdcmap-1.0.1-x86_64-2.txz
-| | |-- xstdcmap-1.0.1-x86_64-2.txz.asc
-| | |-- xterm-243-x86_64-2.txt
-| | |-- xterm-243-x86_64-2.txz
-| | |-- xterm-243-x86_64-2.txz.asc
-| | |-- xtrans-1.2.4-noarch-1.txt
-| | |-- xtrans-1.2.4-noarch-1.txz
-| | |-- xtrans-1.2.4-noarch-1.txz.asc
-| | |-- xtrap-1.0.2-x86_64-2.txt
-| | |-- xtrap-1.0.2-x86_64-2.txz
-| | |-- xtrap-1.0.2-x86_64-2.txz.asc
-| | |-- xvidtune-1.0.1-x86_64-2.txt
-| | |-- xvidtune-1.0.1-x86_64-2.txz
-| | |-- xvidtune-1.0.1-x86_64-2.txz.asc
-| | |-- xvinfo-1.0.2-x86_64-2.txt
-| | |-- xvinfo-1.0.2-x86_64-2.txz
-| | |-- xvinfo-1.0.2-x86_64-2.txz.asc
-| | |-- xwd-1.0.2-x86_64-1.txt
-| | |-- xwd-1.0.2-x86_64-1.txz
-| | |-- xwd-1.0.2-x86_64-1.txz.asc
-| | |-- xwininfo-1.0.4-x86_64-1.txt
-| | |-- xwininfo-1.0.4-x86_64-1.txz
-| | |-- xwininfo-1.0.4-x86_64-1.txz.asc
-| | |-- xwud-1.0.1-x86_64-2.txt
-| | |-- xwud-1.0.1-x86_64-2.txz
-| | `-- xwud-1.0.1-x86_64-2.txz.asc
-| |-- xap
-| | |-- MPlayer-r29390-x86_64-1.txt
-| | |-- MPlayer-r29390-x86_64-1.txz
-| | |-- MPlayer-r29390-x86_64-1.txz.asc
-| | |-- audacious-1.5.1-x86_64-3.txt
-| | |-- audacious-1.5.1-x86_64-3.txz
-| | |-- audacious-1.5.1-x86_64-3.txz.asc
-| | |-- audacious-plugins-1.5.1-x86_64-4.txt
-| | |-- audacious-plugins-1.5.1-x86_64-4.txz
-| | |-- audacious-plugins-1.5.1-x86_64-4.txz.asc
-| | |-- blackbox-0.65.0-x86_64-4.txt
-| | |-- blackbox-0.65.0-x86_64-4.txz
-| | |-- blackbox-0.65.0-x86_64-4.txz.asc
-| | |-- electricsheep-20090306-x86_64-2.txt
-| | |-- electricsheep-20090306-x86_64-2.txz
-| | |-- electricsheep-20090306-x86_64-2.txz.asc
-| | |-- fluxbox-1.1.1-x86_64-1.txt
-| | |-- fluxbox-1.1.1-x86_64-1.txz
-| | |-- fluxbox-1.1.1-x86_64-1.txz.asc
-| | |-- fvwm-2.4.20-x86_64-1.txt
-| | |-- fvwm-2.4.20-x86_64-1.txz
-| | |-- fvwm-2.4.20-x86_64-1.txz.asc
-| | |-- gftp-2.0.19-x86_64-2.txt
-| | |-- gftp-2.0.19-x86_64-2.txz
-| | |-- gftp-2.0.19-x86_64-2.txz.asc
-| | |-- gimp-2.6.6-x86_64-2.txt
-| | |-- gimp-2.6.6-x86_64-2.txz
-| | |-- gimp-2.6.6-x86_64-2.txz.asc
-| | |-- gkrellm-2.3.2-x86_64-1.txt
-| | |-- gkrellm-2.3.2-x86_64-1.txz
-| | |-- gkrellm-2.3.2-x86_64-1.txz.asc
-| | |-- gnuchess-5.07-x86_64-4.txt
-| | |-- gnuchess-5.07-x86_64-4.txz
-| | |-- gnuchess-5.07-x86_64-4.txz.asc
-| | |-- gnuplot-4.2.5-x86_64-1.txt
-| | |-- gnuplot-4.2.5-x86_64-1.txz
-| | |-- gnuplot-4.2.5-x86_64-1.txz.asc
-| | |-- gqview-2.1.5-x86_64-2.txt
-| | |-- gqview-2.1.5-x86_64-2.txz
-| | |-- gqview-2.1.5-x86_64-2.txz.asc
-| | |-- gucharmap-2.26.2-x86_64-1.txt
-| | |-- gucharmap-2.26.2-x86_64-1.txz
-| | |-- gucharmap-2.26.2-x86_64-1.txz.asc
-| | |-- gv-3.6.7-x86_64-1.txt
-| | |-- gv-3.6.7-x86_64-1.txz
-| | |-- gv-3.6.7-x86_64-1.txz.asc
-| | |-- gxine-0.5.903-x86_64-2.txt
-| | |-- gxine-0.5.903-x86_64-2.txz
-| | |-- gxine-0.5.903-x86_64-2.txz.asc
-| | |-- imagemagick-6.5.3_3-x86_64-1.txt
-| | |-- imagemagick-6.5.3_3-x86_64-1.txz
-| | |-- imagemagick-6.5.3_3-x86_64-1.txz.asc
-| | |-- install-packages
-| | |-- install.end
-| | |-- maketag
-| | |-- maketag.ez
-| | |-- mozilla-firefox-3.5.2-x86_64-1.txt
-| | |-- mozilla-firefox-3.5.2-x86_64-1.txz
-| | |-- mozilla-firefox-3.5.2-x86_64-1.txz.asc
-| | |-- mozilla-thunderbird-2.0.0.23-x86_64-1.txt
-| | |-- mozilla-thunderbird-2.0.0.23-x86_64-1.txz
-| | |-- mozilla-thunderbird-2.0.0.23-x86_64-1.txz.asc
-| | |-- pan-0.133-x86_64-1.txt
-| | |-- pan-0.133-x86_64-1.txz
-| | |-- pan-0.133-x86_64-1.txz.asc
-| | |-- pidgin-2.5.9-x86_64-1.txt
-| | |-- pidgin-2.5.9-x86_64-1.txz
-| | |-- pidgin-2.5.9-x86_64-1.txz.asc
-| | |-- rdesktop-1.6.0-x86_64-1.txt
-| | |-- rdesktop-1.6.0-x86_64-1.txz
-| | |-- rdesktop-1.6.0-x86_64-1.txz.asc
-| | |-- rxvt-2.7.10-x86_64-4.txt
-| | |-- rxvt-2.7.10-x86_64-4.txz
-| | |-- rxvt-2.7.10-x86_64-4.txz.asc
-| | |-- sane-1.0.19-x86_64-4.txt
-| | |-- sane-1.0.19-x86_64-4.txz
-| | |-- sane-1.0.19-x86_64-4.txz.asc
-| | |-- seamonkey-1.1.17-x86_64-1.txt
-| | |-- seamonkey-1.1.17-x86_64-1.txz
-| | |-- seamonkey-1.1.17-x86_64-1.txz.asc
-| | |-- seyon-2.20c-x86_64-3.txt
-| | |-- seyon-2.20c-x86_64-3.txz
-| | |-- seyon-2.20c-x86_64-3.txz.asc
-| | |-- tagfile
-| | |-- thunar-volman-0.3.80-x86_64-1.txt
-| | |-- thunar-volman-0.3.80-x86_64-1.txz
-| | |-- thunar-volman-0.3.80-x86_64-1.txz.asc
-| | |-- vim-gvim-7.2.245-x86_64-1.txt
-| | |-- vim-gvim-7.2.245-x86_64-1.txz
-| | |-- vim-gvim-7.2.245-x86_64-1.txz.asc
-| | |-- windowmaker-20060427cvs-x86_64-2.txt
-| | |-- windowmaker-20060427cvs-x86_64-2.txz
-| | |-- windowmaker-20060427cvs-x86_64-2.txz.asc
-| | |-- x11-ssh-askpass-1.2.4.1-x86_64-1.txt
-| | |-- x11-ssh-askpass-1.2.4.1-x86_64-1.txz
-| | |-- x11-ssh-askpass-1.2.4.1-x86_64-1.txz.asc
-| | |-- x3270-3.3.7p8-x86_64-1.txt
-| | |-- x3270-3.3.7p8-x86_64-1.txz
-| | |-- x3270-3.3.7p8-x86_64-1.txz.asc
-| | |-- xchat-2.8.6-x86_64-3.txt
-| | |-- xchat-2.8.6-x86_64-3.txz
-| | |-- xchat-2.8.6-x86_64-3.txz.asc
-| | |-- xfce-4.6.1-x86_64-5.txt
-| | |-- xfce-4.6.1-x86_64-5.txz
-| | |-- xfce-4.6.1-x86_64-5.txz.asc
-| | |-- xfce4-power-manager-0.6.6-x86_64-1.txt
-| | |-- xfce4-power-manager-0.6.6-x86_64-1.txz
-| | |-- xfce4-power-manager-0.6.6-x86_64-1.txz.asc
-| | |-- xfractint-20.04p09-x86_64-1.txt
-| | |-- xfractint-20.04p09-x86_64-1.txz
-| | |-- xfractint-20.04p09-x86_64-1.txz.asc
-| | |-- xgames-0.3-x86_64-2.txt
-| | |-- xgames-0.3-x86_64-2.txz
-| | |-- xgames-0.3-x86_64-2.txz.asc
-| | |-- xine-lib-1.1.16.3-x86_64-5.txt
-| | |-- xine-lib-1.1.16.3-x86_64-5.txz
-| | |-- xine-lib-1.1.16.3-x86_64-5.txz.asc
-| | |-- xine-ui-0.99.5-x86_64-2.txt
-| | |-- xine-ui-0.99.5-x86_64-2.txz
-| | |-- xine-ui-0.99.5-x86_64-2.txz.asc
-| | |-- xlockmore-5.28-x86_64-1.txt
-| | |-- xlockmore-5.28-x86_64-1.txz
-| | |-- xlockmore-5.28-x86_64-1.txz.asc
-| | |-- xmms-1.2.11-x86_64-3.txt
-| | |-- xmms-1.2.11-x86_64-3.txz
-| | |-- xmms-1.2.11-x86_64-3.txz.asc
-| | |-- xpaint-2.7.8.1-x86_64-2.txt
-| | |-- xpaint-2.7.8.1-x86_64-2.txz
-| | |-- xpaint-2.7.8.1-x86_64-2.txz.asc
-| | |-- xpdf-3.02pl3-x86_64-1.txt
-| | |-- xpdf-3.02pl3-x86_64-1.txz
-| | |-- xpdf-3.02pl3-x86_64-1.txz.asc
-| | |-- xsane-0.996-x86_64-1.txt
-| | |-- xsane-0.996-x86_64-1.txz
-| | |-- xsane-0.996-x86_64-1.txz.asc
-| | |-- xscreensaver-5.08-x86_64-2.txt
-| | |-- xscreensaver-5.08-x86_64-2.txz
-| | |-- xscreensaver-5.08-x86_64-2.txz.asc
-| | |-- xv-3.10a-x86_64-5.txt
-| | |-- xv-3.10a-x86_64-5.txz
-| | |-- xv-3.10a-x86_64-5.txz.asc
-| | |-- xxgdb-1.12-x86_64-2.txt
-| | |-- xxgdb-1.12-x86_64-2.txz
-| | `-- xxgdb-1.12-x86_64-2.txz.asc
-| `-- y
-| |-- bsd-games-2.13-x86_64-9.txt
-| |-- bsd-games-2.13-x86_64-9.txz
-| |-- bsd-games-2.13-x86_64-9.txz.asc
-| |-- install-packages
-| |-- install.end
-| |-- maketag
-| |-- maketag.ez
-| `-- tagfile
-|-- source
-| |-- CHECKSUMS.md5
-| |-- CHECKSUMS.md5.asc
-| |-- FILE_LIST
-| |-- MANIFEST.bz2
-| |-- a
-| | |-- aaa_base
-| | | |-- _aaa_base.tar.gz
-| | | |-- aaa_base.SlackBuild
-| | | |-- slack-desc
-| | | `-- slackware-version
-| | |-- aaa_elflibs
-| | | |-- aaa_elflibs.SlackBuild
-| | | |-- slack-desc
-| | | |-- symlinks-to-tracked-libs
-| | | `-- tracked-files
-| | |-- aaa_terminfo
-| | | |-- aaa_terminfo.SlackBuild
-| | | `-- slack-desc
-| | |-- acl
-| | | |-- acl.SlackBuild
-| | | |-- acl.destdir.diff.gz
-| | | |-- acl_2.2.47-1.tar.gz
-| | | `-- slack-desc
-| | |-- acpid
-| | | |-- acpi_handler.sh.gz
-| | | |-- acpid-1.0.8.tar.bz2
-| | | |-- acpid.SlackBuild
-| | | |-- default.gz
-| | | |-- doinst.sh.gz
-| | | |-- rc.acpid.gz
-| | | `-- slack-desc
-| | |-- apmd
-| | | |-- apmd-3.2.2.tar.bz2
-| | | |-- apmd.SlackBuild
-| | | `-- slack-desc
-| | |-- attr
-| | | |-- attr.SlackBuild
-| | | |-- attr.destdir.diff.gz
-| | | |-- attr_2.4.43-1.tar.gz
-| | | |-- build
-| | | `-- slack-desc
-| | |-- bash
-| | | |-- bash-3.1.tar.gz
-| | | |-- bash.SlackBuild
-| | | |-- doinst.sh.gz
-| | | |-- patches
-| | | | |-- bash31-001.gz
-| | | | |-- bash31-002.gz
-| | | | |-- bash31-003.gz
-| | | | |-- bash31-004.gz
-| | | | |-- bash31-005.gz
-| | | | |-- bash31-006.gz
-| | | | |-- bash31-007.gz
-| | | | |-- bash31-008.gz
-| | | | |-- bash31-009.gz
-| | | | |-- bash31-010.gz
-| | | | |-- bash31-011.gz
-| | | | |-- bash31-012.gz
-| | | | |-- bash31-013.gz
-| | | | |-- bash31-014.gz
-| | | | |-- bash31-015.gz
-| | | | |-- bash31-016.gz
-| | | | `-- bash31-017.gz
-| | | `-- slack-desc
-| | |-- bin
-| | | |-- banners.tar.gz
-| | | |-- bin.SlackBuild
-| | | |-- debianutils_2.7.dsc
-| | | |-- debianutils_2.7.tar.gz
-| | | |-- fbset-2.1.tar.gz
-| | | |-- scripts
-| | | | |-- diskcopy.gz
-| | | | `-- xx.gz
-| | | |-- slack-desc
-| | | `-- todos.tar.gz
-| | |-- bzip2
-| | | |-- bzip2-1.0.4.saneso.diff.gz
-| | | |-- bzip2-1.0.5.tar.gz
-| | | |-- bzip2.SlackBuild
-| | | `-- slack-desc
-| | |-- coreutils
-| | | |-- DIR_COLORS.gz
-| | | |-- coreutils-7.4.tar.xz
-| | | |-- coreutils-7.4.tar.xz.sig
-| | | |-- coreutils-dircolors.csh.gz
-| | | |-- coreutils-dircolors.sh.gz
-| | | |-- coreutils.SlackBuild
-| | | |-- coreutils.uname.diff.gz
-| | | |-- doinst.sh.gz
-| | | `-- slack-desc
-| | |-- cpio
-| | | |-- cpio-2.9.gcc43.diff.gz
-| | | |-- cpio-2.9.tar.bz2
-| | | |-- cpio.SlackBuild
-| | | `-- slack-desc
-| | |-- cryptsetup
-| | | |-- cryptsetup-1.0.7.tar.bz2
-| | | |-- cryptsetup-1.0.7.tar.bz2.asc
-| | | |-- cryptsetup.SlackBuild
-| | | `-- slack-desc
-| | |-- cups
-| | | |-- cups-1.3.11-source.tar.xz
-| | | |-- cups-samba-5.0rc3.tar.gz
-| | | |-- cups-windows-6.0-source.tar.bz2
-| | | |-- cups.SlackBuild
-| | | |-- cups.firefox.desktop.diff.gz
-| | | |-- doinst.sh.gz
-| | | `-- slack-desc
-| | |-- cxxlibs
-| | | |-- cxxlibs.SlackBuild
-| | | |-- oldgcc
-| | | | |-- gcc-3.3.6.tar.bz2
-| | | | |-- gcc-3.3.6.tar.bz2.sig
-| | | | `-- oldgcc.build
-| | | |-- slack-desc
-| | | |-- symlinks-to-tracked-libs
-| | | `-- symlinks-to-tracked-libs64
-| | |-- dbus
-| | | |-- dbus-1.2.14.tar.xz
-| | | |-- dbus.SlackBuild
-| | | |-- doinst.sh.gz
-| | | |-- rc.messagebus.gz
-| | | `-- slack-desc
-| | |-- dcron
-| | | |-- _dcron.tar.gz
-| | | |-- dcron-2.3.3.crontab.diff4.gz
-| | | |-- dcron-2.3.3.diff.gz
-| | | |-- dcron-2.3.3.diff2.gz
-| | | |-- dcron-2.3.3.diff3.gz
-| | | |-- dcron-2.3.3.lsm
-| | | |-- dcron-2.3.3.tar.gz
-| | | |-- dcron-2.3.3.version.diff.gz
-| | | |-- dcron.SlackBuild
-| | | |-- dcron.fork.diff.gz
-| | | |-- dcron.tmpdir.diff.gz
-| | | |-- run-parts.8.gz
-| | | |-- run-parts.gz
-| | | `-- slack-desc
-| | |-- device-mapper
-| | | |-- 64-device-mapper.rules
-| | | |-- device-mapper.1.02.28.tar.bz2
-| | | |-- device-mapper.SlackBuild
-| | | `-- slack-desc
-| | |-- devs
-| | | |-- _devs.tar.gz
-| | | |-- devs.SlackBuild
-| | | |-- makedev.hd.diff.gz
-| | | |-- makedev_2.3.1-46.2.diff.gz
-| | | |-- makedev_2.3.1.hd.diff.gz
-| | | |-- makedev_2.3.1.orig.tar.gz
-| | | |-- makedev_2.3.1.slack.diff.gz
-| | | `-- slack-desc
-| | |-- dialog
-| | | |-- dialog-1.1-20080819.tar.bz2
-| | | |-- dialog.SlackBuild
-| | | |-- dialog.smaller.min.height.diff.gz
-| | | `-- slack-desc
-| | |-- dosfstools
-| | | |-- dosfstools-2.11.src.tar.gz
-| | | |-- dosfstools.SlackBuild
-| | | `-- slack-desc
-| | |-- e2fsprogs
-| | | |-- doinst.sh.gz
-| | | |-- e2fsprogs-1.41.8.tar.xz
-| | | |-- e2fsprogs.SlackBuild
-| | | `-- slack-desc
-| | |-- ed
-| | | |-- ed-1.3.tar.bz2
-| | | |-- ed.SlackBuild
-| | | `-- slack-desc
-| | |-- eject
-| | | |-- eject-2.1.5.tar.bz2
-| | | |-- eject.SlackBuild
-| | | `-- slack-desc
-| | |-- elvis
-| | | |-- elvis-2.2_0.tar.bz2
-| | | |-- elvis.SlackBuild
-| | | |-- elvis.clr
-| | | |-- elvis.clr.orig
-| | | `-- slack-desc
-| | |-- etc
-| | | |-- _etc.tar.gz
-| | | |-- etc.SlackBuild
-| | | |-- nsswitch.conf.gz
-| | | |-- slack-desc
-| | | `-- termcap-BSD.gz
-| | |-- file
-| | | |-- file-5.03.tar.bz2
-| | | |-- file.SlackBuild
-| | | |-- file.crdaregbin.magic.gz
-| | | |-- file.etc.file.diff.gz
-| | | |-- file.quiet.diff.gz
-| | | |-- file.short.diff.gz
-| | | |-- file.xz.magic.gz
-| | | |-- file.zisofs.magic.gz
-| | | `-- slack-desc
-| | |-- findutils
-| | | |-- findutils-4.4.2.tar.xz
-| | | |-- findutils.SlackBuild
-| | | |-- findutils.no.default.options.warnings.diff.gz
-| | | |-- findutils.nolocate.diff.gz
-| | | `-- slack-desc
-| | |-- floppy
-| | | |-- fdutils-5.4-20020222.diff.gz
-| | | |-- fdutils-5.4.tar.gz
-| | | |-- fdutils.mediaprm.diff.gz
-| | | |-- floppy.SlackBuild
-| | | |-- mediaprm
-| | | |-- mtools-3.9.8.tar.gz
-| | | |-- mtools.conf
-| | | `-- slack-desc
-| | |-- gawk
-| | | |-- gawk-3.1.6.tar.bz2
-| | | |-- gawk-3.1.6.tar.bz2.sig
-| | | |-- gawk.SlackBuild
-| | | `-- slack-desc
-| | |-- genpower
-| | | |-- genpower-1.0.5.tar.gz
-| | | |-- genpower.SlackBuild
-| | | |-- genpower.halt.diff.gz
-| | | |-- genpower.var.diff.gz
-| | | `-- slack-desc
-| | |-- gettext
-| | | |-- gettext-0.17.tar.bz2
-| | | |-- gettext-tools.SlackBuild
-| | | |-- gettext.SlackBuild
-| | | |-- slack-desc
-| | | `-- slack-desc.gettext-tools
-| | |-- getty-ps
-| | | |-- getty-ps.SlackBuild
-| | | |-- getty.bugfixes.diff.gz
-| | | |-- getty_ps-2.1.0.lsm
-| | | |-- getty_ps-2.1.0b.tar.gz
-| | | `-- slack-desc
-| | |-- gpm
-| | | |-- gpm-1.20.1-consolename.patch.gz
-| | | |-- gpm-1.20.1-gpmopen.patch.gz
-| | | |-- gpm-1.20.1-idie.patch.gz
-| | | |-- gpm-1.20.1-input-defines.diff.gz
-| | | |-- gpm-1.20.1-input.patch.gz
-| | | |-- gpm-1.20.1-lib-silent.patch.gz
-| | | |-- gpm-1.20.1-math.patch.gz
-| | | |-- gpm-1.20.1-multilib.patch.gz
-| | | |-- gpm-1.20.1-no-console-error.patch.gz
-| | | |-- gpm-1.20.1-nodebug.patch.gz
-| | | |-- gpm-1.20.1-subscript.patch.gz
-| | | |-- gpm-1.20.1-weak-wgetch.patch.gz
-| | | |-- gpm-1.20.1.send-noise-to-syslogs.diff.gz
-| | | |-- gpm-1.20.1.tar.bz2
-| | | |-- gpm-evdev-cumulative.patch.gz
-| | | |-- gpm.SlackBuild
-| | | |-- gpm.evdevmakefile.patch.gz
-| | | |-- inputattach.c.gz
-| | | |-- mouseconfig.gz
-| | | |-- setup.mouse.gz
-| | | `-- slack-desc
-| | |-- grep
-| | | |-- grep-2.5.4.tar.bz2
-| | | |-- grep.SlackBuild
-| | | `-- slack-desc
-| | |-- gzip
-| | | |-- gzip-1.3.12.tar.bz2
-| | | |-- gzip-1.3.12.tar.sig
-| | | |-- gzip.SlackBuild
-| | | `-- slack-desc
-| | |-- hdparm
-| | | |-- hdparm-9.3.tar.bz2
-| | | |-- hdparm.SlackBuild
-| | | `-- slack-desc
-| | |-- infozip
-| | | |-- infozip.SlackBuild
-| | | |-- slack-desc
-| | | |-- unzip60.tar.xz
-| | | `-- zip30.tar.xz
-| | |-- inotify-tools
-| | | |-- inotify-tools-3.13.tar.bz2
-| | | |-- inotify-tools.SlackBuild
-| | | `-- slack-desc
-| | |-- jfsutils
-| | | |-- jfsutils-1.1.14.tar.bz2
-| | | |-- jfsutils.SlackBuild
-| | | `-- slack-desc
-| | |-- kbd
-| | | |-- kbd.SlackBuild
-| | | |-- setconsolefont
-| | | |-- setup.setconsolefont
-| | | |-- slack-desc
-| | | `-- sources
-| | | |-- extraf.tgz
-| | | |-- kbd-1.15-keycodes-man.patch.gz
-| | | |-- kbd-1.15-po.patch.gz
-| | | |-- kbd-1.15-quiet_doc.patch.gz
-| | | |-- kbd-1.15-resizecon-x86_64.patch.gz
-| | | |-- kbd-1.15-sparc.patch.gz
-| | | |-- kbd-1.15-unicode_start.patch.gz
-| | | |-- kbd-1.15.tar.bz2
-| | | |-- kbd-1.15.tar.bz2.sign
-| | | |-- kbd-latarcyrheb-16-fixed.tar.bz2
-| | | |-- kbd-latsun-fonts.tar.bz2
-| | | |-- nl.euro.diff.gz
-| | | |-- ro_maps.tar.bz2
-| | | |-- speakup-jfw.tar.gz
-| | | `-- speakupmap.map.gz
-| | |-- less
-| | | |-- less-418.tar.bz2
-| | | |-- less.SlackBuild
-| | | |-- less.sysconfdir.diff.gz
-| | | |-- lesspipe.sh.gz
-| | | `-- slack-desc
-| | |-- lha
-| | | |-- lha-114i.tar.gz
-| | | |-- lha.SlackBuild
-| | | |-- lha_1.14i-10.1.diff.gz
-| | | `-- slack-desc
-| | |-- lilo
-| | | |-- lilo-22.8.src.tar.gz
-| | | |-- lilo-22.8.src.tar.gz.sig
-| | | |-- lilo.SlackBuild
-| | | |-- liloconfig
-| | | |-- setup.liloconfig
-| | | |-- slack-desc
-| | | |-- slack.bmp
-| | | |-- slack.dat
-| | | |-- slack64.bmp
-| | | `-- text.lilohelp
-| | |-- logrotate
-| | | |-- _logrotate.tar.gz
-| | | |-- logrotate-3.7.4.tar.gz
-| | | |-- logrotate.SlackBuild
-| | | |-- logrotate.slackware.diff.gz
-| | | `-- slack-desc
-| | |-- lvm2
-| | | |-- LVM2.2.02.40.tar.bz2
-| | | |-- doinst.sh.gz
-| | | |-- lvm2.SlackBuild
-| | | `-- slack-desc
-| | |-- mdadm
-| | | |-- doinst.sh.gz
-| | | |-- mdadm-2.6.4.tar.bz2
-| | | |-- mdadm-2.6.4.tar.bz2.sign
-| | | |-- mdadm.SlackBuild
-| | | |-- mdadm.static.small.diff.gz
-| | | `-- slack-desc
-| | |-- minicom
-| | | |-- config.sub-x86_64.diff.gz
-| | | |-- doinst.sh.gz
-| | | |-- lrzsz_0.12.21-4.diff.gz
-| | | |-- lrzsz_0.12.21.orig.tar.gz
-| | | |-- minicom-2.1.tar.gz
-| | | |-- minicom-2.1.tar.gz.asc
-| | | |-- minicom.SlackBuild
-| | | |-- minicom.users.gz
-| | | |-- minirc.dfl.gz
-| | | |-- slack-desc
-| | | `-- wintcap.diff.gz
-| | |-- mkinitrd
-| | | |-- README.initrd
-| | | |-- _initrd-tree.tar.gz
-| | | |-- archive
-| | | | |-- busybox-1.11.2.tar.bz2
-| | | | |-- busybox-1.12.0.tar.bz2
-| | | | |-- busybox-1.7.2.no-gc-sections.diff.gz
-| | | | |-- busybox-1.7.2.remove_warning.diff.gz
-| | | | |-- busybox-1.7.2.tar.bz2
-| | | | |-- busybox-1.7.2.tar.bz2.sign
-| | | | |-- busybox-dot-config.1.11.2
-| | | | |-- busybox-dot-config.1.12.0
-| | | | |-- busybox-dot-config.1.12.1
-| | | | `-- busybox-dot-config.1.7.2
-| | | |-- busybox-1.12.1.tar.bz2
-| | | |-- busybox-1.12.1_inotify.diff.gz
-| | | |-- busybox-dot-config
-| | | |-- init
-| | | |-- keymaps.tar.gz
-| | | |-- mkinitrd
-| | | |-- mkinitrd.8
-| | | |-- mkinitrd.SlackBuild
-| | | |-- mkinitrd.conf.5
-| | | |-- mkinitrd.conf.sample
-| | | |-- mkinitrd_command_generator.sh
-| | | |-- mkinitrd_kernelcheck.diff
-| | | `-- slack-desc
-| | |-- module-init-tools
-| | | |-- doinst.sh.gz
-| | | |-- modprobe.favor.etc.modprobe.d.diff.gz
-| | | |-- modprobe.ignore_some_suffixes.diff.gz
-| | | |-- modprobe.no_sys_check.diff.gz
-| | | |-- module-init-tools-3.6.tar.bz2
-| | | |-- module-init-tools.SlackBuild
-| | | `-- slack-desc
-| | |-- mt-st
-| | | |-- _mt-st.tar.gz
-| | | |-- mt-st-0.9b.tar.gz
-| | | |-- mt-st.SlackBuild
-| | | |-- mt-st.config.diff.gz
-| | | |-- mt-st.man.diff.gz
-| | | |-- mt-st.sdlt.diff.gz
-| | | `-- slack-desc
-| | |-- mtx
-| | | |-- mtx-1.3.9.tar.gz
-| | | |-- mtx.SlackBuild
-| | | `-- slack-desc
-| | |-- ncompress
-| | | |-- ncompress-4.2.4-bssUnderflow.patch.gz
-| | | |-- ncompress-4.2.4-endians.patch.gz
-| | | |-- ncompress-4.2.4.tar.gz
-| | | |-- ncompress.2GB.diff.gz
-| | | |-- ncompress.SlackBuild
-| | | |-- ncompress.filenamelen.diff.gz
-| | | |-- ncompress.lfs2.diff.gz
-| | | |-- ncompress.make.diff.gz
-| | | |-- ncompress.zerobyteforce.diff.gz
-| | | `-- slack-desc
-| | |-- ntfs-3g
-| | | |-- 10-ntfs-3g-policy.fdi
-| | | |-- ntfs-3g-2009.4.4.tar.bz2
-| | | |-- ntfs-3g.SlackBuild
-| | | `-- slack-desc
-| | |-- patch
-| | | |-- patch-2.5.4.tar.gz
-| | | |-- patch.SlackBuild
-| | | `-- slack-desc
-| | |-- pciutils
-| | | |-- pciutils-3.1.3.tar.bz2
-| | | |-- pciutils.SlackBuild
-| | | |-- pciutils.ids.dest.diff.gz
-| | | |-- pciutils.url
-| | | `-- slack-desc
-| | |-- pcmciautils
-| | | |-- cis-cs-3.2.8.tar.gz
-| | | |-- config
-| | | | |-- 60-pcmcia.rules
-| | | | |-- config.opts
-| | | | `-- rc.pcmcia
-| | | |-- doinst.sh.gz
-| | | |-- pcmciautils-015.tar.bz2
-| | | |-- pcmciautils.SlackBuild
-| | | `-- slack-desc
-| | |-- pkgtools
-| | | |-- manpages
-| | | | |-- explodepkg.8
-| | | | |-- installpkg.8
-| | | | |-- makepkg.8
-| | | | |-- pkgtool.8
-| | | | |-- removepkg.8
-| | | | |-- setup.8-deprecated
-| | | | `-- upgradepkg.8
-| | | |-- obsolete-scripts
-| | | | |-- README
-| | | | `-- setup.90.modem-device
-| | | |-- pkgtools.SlackBuild
-| | | |-- scripts
-| | | | |-- explodepkg
-| | | | |-- installpkg
-| | | | |-- makebootdisk
-| | | | |-- makepkg
-| | | | |-- pkgtool
-| | | | |-- removepkg
-| | | | |-- setup.70.install-kernel
-| | | | |-- setup.80.make-bootdisk
-| | | | |-- setup.htmlview
-| | | | |-- setup.services
-| | | | `-- upgradepkg
-| | | `-- slack-desc
-| | |-- procps
-| | | |-- procinfo-18.tar.gz
-| | | |-- procinfo.gcc3.diff.gz
-| | | |-- procinfo.lsm
-| | | |-- procps-3.2.7-ps-eip64.diff.gz
-| | | |-- procps-3.2.7.tar.gz
-| | | |-- procps.SlackBuild
-| | | |-- procps.nowarning.diff.gz
-| | | |-- procps.w.showfrom.diff.gz
-| | | |-- psmisc-22.3.tar.gz
-| | | `-- slack-desc
-| | |-- quota
-| | | |-- quota-3.17.tar.xz
-| | | |-- quota.SlackBuild
-| | | `-- slack-desc
-| | |-- reiserfsprogs
-| | | |-- reiserfsprogs-3.6.21.tar.bz2
-| | | |-- reiserfsprogs.SlackBuild
-| | | `-- slack-desc
-| | |-- rpm2tgz
-| | | |-- getrpmtype.tar.gz
-| | | |-- rpm2targz
-| | | |-- rpm2targz.README
-| | | |-- rpm2tgz.SlackBuild
-| | | |-- rpmoffset.c
-| | | `-- slack-desc
-| | |-- sdparm
-| | | |-- sdparm-1.01.tar.bz2
-| | | |-- sdparm.SlackBuild
-| | | `-- slack-desc
-| | |-- sed
-| | | |-- sed-4.1.5.tar.gz
-| | | |-- sed-4.1.5.tar.gz.sig
-| | | |-- sed.SlackBuild
-| | | `-- slack-desc
-| | |-- shadow
-| | | |-- _shadow.tar.gz
-| | | |-- adduser
-| | | |-- shadow-4.0.3.tar.bz2
-| | | |-- shadow-4.0.3.x86_64.diff.gz
-| | | |-- shadow.SlackBuild
-| | | |-- shadow.gcc34.diff.gz
-| | | |-- shadow.login.defs.diff.gz
-| | | |-- shadow.newgrp.getlogin.gz
-| | | |-- shadow.newgrp.nopam.gz
-| | | |-- shadow.remove.obsolete.options.diff.gz
-| | | |-- shadow.shadowconfig.diff.gz
-| | | `-- slack-desc
-| | |-- sharutils
-| | | |-- sharutils-4.7.tar.bz2
-| | | |-- sharutils-4.7.tar.bz2.sig
-| | | |-- sharutils.SlackBuild
-| | | `-- slack-desc
-| | |-- slocate
-| | | |-- _slocate.tar.gz
-| | | |-- slack-desc
-| | | |-- slocate-3.1.tar.gz
-| | | |-- slocate-3.1.tar.gz.sign
-| | | `-- slocate.SlackBuild
-| | |-- smartmontools
-| | | |-- doinst.sh.gz
-| | | |-- slack-desc
-| | | |-- smartmontools-5.38.tar.bz2
-| | | `-- smartmontools.SlackBuild
-| | |-- splitvt
-| | | |-- slack-desc
-| | | |-- splitvt-1.6.5.tar.gz
-| | | |-- splitvt.SlackBuild
-| | | `-- splitvt_1.6.5-9.diff.gz
-| | |-- sysfsutils
-| | | |-- slack-desc
-| | | |-- sysfsutils-2.1.0.tar.bz2
-| | | `-- sysfsutils.SlackBuild
-| | |-- sysklogd
-| | | |-- _sysklogd.tar.gz
-| | | |-- slack-desc
-| | | |-- sysklogd-1.4.1-owl-syslogd-crunch_list.diff.gz
-| | | |-- sysklogd-1.4.1.lsm
-| | | |-- sysklogd-1.4.1.tar.gz
-| | | |-- sysklogd.SlackBuild
-| | | `-- sysklogd_1.4.1-20.diff.gz
-| | |-- syslinux
-| | | |-- slack-desc
-| | | |-- syslinux-3.52.tar.bz2
-| | | |-- syslinux-3.52.tar.bz2.sign
-| | | `-- syslinux.SlackBuild
-| | |-- sysvinit
-| | | |-- doinst.sh.gz
-| | | |-- slack-desc
-| | | |-- sysvinit-2.86-timeval.patch.gz
-| | | |-- sysvinit-2.86.tar.gz
-| | | |-- sysvinit.SlackBuild
-| | | |-- sysvinit.diff.gz
-| | | `-- sysvinit.pidof.rhforkseverything.diff.gz
-| | |-- sysvinit-functions
-| | | |-- README.functions
-| | | |-- doinst.sh.gz
-| | | |-- function-src-8.53.tar.bz2
-| | | |-- functions
-| | | |-- slack-desc
-| | | `-- sysvinit-functions.SlackBuild
-| | |-- sysvinit-scripts
-| | | |-- doinst.sh.gz
-| | | |-- scripts
-| | | | |-- fetch-rescan-scsi-bus.sh
-| | | | |-- inittab
-| | | | |-- rc.4
-| | | | |-- rc.6
-| | | | |-- rc.K
-| | | | |-- rc.M
-| | | | |-- rc.S
-| | | | |-- rc.local
-| | | | |-- rc.sysvinit
-| | | | `-- rescan-scsi-bus.sh
-| | | |-- slack-desc
-| | | `-- sysvinit-scripts.SlackBuild
-| | |-- tar
-| | | |-- rmt.8.gz
-| | | |-- slack-desc
-| | | |-- tar-1.13.bzip2.diff.gz
-| | | |-- tar-1.13.tar.gz
-| | | |-- tar-1.22-support_txz.diff.gz
-| | | |-- tar-1.22.tar.bz2
-| | | |-- tar.1.gz
-| | | |-- tar.SlackBuild
-| | | |-- tar.nolonezero.diff.gz
-| | | `-- tar.norecordsizespam.diff.gz
-| | |-- tcsh
-| | | |-- doinst.sh.gz
-| | | |-- slack-desc
-| | | |-- tcsh-6.15.00.tar.bz2
-| | | |-- tcsh.SlackBuild
-| | | `-- tcsh.nobuiltincolorls.diff.gz
-| | |-- time
-| | | |-- slack-desc
-| | | |-- time-1.7.tar.gz
-| | | `-- time.SlackBuild
-| | |-- tree
-| | | |-- slack-desc
-| | | |-- tree-1.5.2.2.tar.bz2
-| | | `-- tree.SlackBuild
-| | |-- udev
-| | | |-- config
-| | | | |-- modprobe.d
-| | | | | |-- blacklist.conf.new
-| | | | | |-- isapnp.conf.new
-| | | | | |-- psmouse.conf.new
-| | | | | `-- usb-controller.conf.new
-| | | | |-- rc.d
-| | | | | `-- rc.udev.new
-| | | | |-- rules.d
-| | | | | |-- 40-slackware.rules
-| | | | | |-- 65-permissions.rules
-| | | | | `-- 90-network.rules
-| | | | |-- scripts
-| | | | | `-- nethelper.sh
-| | | | `-- udev.conf
-| | | |-- doinst.sh.gz
-| | | |-- rule_generator.diff.gz
-| | | |-- slack-desc
-| | | |-- udev-141.tar.bz2
-| | | |-- udev-141.tar.bz2.sign
-| | | |-- udev-fixed-devices.tar.gz
-| | | `-- udev.SlackBuild
-| | |-- unarj
-| | | |-- Makefile.gz
-| | | |-- slack-desc
-| | | |-- unarj.SlackBuild
-| | | `-- unarj265.tar.gz
-| | |-- usbutils
-| | | |-- slack-desc
-| | | |-- usbutils-0.82.tar.bz2
-| | | |-- usbutils.SlackBuild
-| | | `-- usbutils.ids.dest.gz
-| | |-- utempter
-| | | |-- doinst.sh.gz
-| | | |-- libutempter-1.1.4.tar.bz2
-| | | |-- libutempter-1.1.4.tar.bz2.asc
-| | | |-- slack-desc
-| | | `-- utempter.SlackBuild
-| | |-- util-linux-ng
-| | | |-- adjtimex_1.23-1.diff.gz
-| | | |-- adjtimex_1.23.orig.tar.gz
-| | | |-- bsdstrings.tar.gz
-| | | |-- doinst.sh.gz
-| | | |-- net-tools-1.60.tar.bz2
-| | | |-- net-tools.diff.gz
-| | | |-- net-tools_1.60-19.diff.gz
-| | | |-- scsi_ioctl.h
-| | | |-- setserial-2.17.tar.gz
-| | | |-- setserial-rc.serial.diff.gz
-| | | |-- slack-desc
-| | | |-- util-linux-ng-2.14.2.tar.bz2
-| | | |-- util-linux-ng.SlackBuild
-| | | |-- util-linux-ng.fdisk-no-solaris.diff.gz
-| | | |-- ziptool-1.4.0.tar.bz2
-| | | `-- ziptool-fix_build.patch.gz
-| | |-- which
-| | | |-- slack-desc
-| | | |-- which-2.20.tar.gz
-| | | |-- which-2.20.tar.gz.sig
-| | | `-- which.SlackBuild
-| | |-- xfsprogs
-| | | |-- slack-desc
-| | | |-- xfsprogs-3.0.1.tar.xz
-| | | `-- xfsprogs.SlackBuild
-| | |-- xz
-| | | |-- slack-desc
-| | | |-- xz-4.999.8beta.tar.bz2
-| | | `-- xz.SlackBuild
-| | `-- zoo
-| | |-- slack-desc
-| | |-- zoo-2.10.tar.gz
-| | |-- zoo.SlackBuild
-| | `-- zoo_2.10-18.diff.gz
-| |-- ap
-| | |-- a2ps
-| | | |-- a2ps-4.14.tar.bz2
-| | | |-- a2ps.SlackBuild
-| | | |-- a2ps.a2ps_cfg.in.diff.gz
-| | | |-- a2ps.diff.gz
-| | | |-- psutils-1.17.tar.gz
-| | | |-- psutils.destdir.diff.gz
-| | | |-- psutils.diff.gz
-| | | `-- slack-desc
-| | |-- acct
-| | | |-- acct-6.4pre1-6.diff.gz
-| | | |-- acct-6.4pre1.tar.bz2
-| | | |-- acct.SlackBuild
-| | | |-- acct.logdir.fhs.diff.gz
-| | | `-- slack-desc
-| | |-- alsa-utils
-| | | |-- alsa-utils-1.0.18.tar.bz2
-| | | |-- alsa-utils.SlackBuild
-| | | |-- alsa-utils.alsaconf.diff.gz
-| | | |-- rc.alsa.gz
-| | | `-- slack-desc
-| | |-- amp
-| | | |-- _amp.tar.gz
-| | | |-- amp-0.7.6.tar.gz
-| | | |-- amp-gcc34.diff.gz
-| | | |-- amp.SlackBuild
-| | | |-- license_excerpts
-| | | `-- slack-desc
-| | |-- ash
-| | | |-- _ash.tar.gz
-| | | |-- ash-0.4.0.tar.gz
-| | | |-- ash.SlackBuild
-| | | |-- patches
-| | | | |-- ash-builtin.patch.gz
-| | | | |-- ash-debian.patch.gz
-| | | | |-- ash-echo.patch.gz
-| | | | |-- ash-freebsd.patch.gz
-| | | | |-- ash-getcwd.patch.gz
-| | | | |-- ash-getopt.patch.gz
-| | | | |-- ash-glob.patch.gz
-| | | | |-- ash-hetio.patch.gz
-| | | | |-- ash-jobs.patch.gz
-| | | | |-- ash-kill.patch.gz
-| | | | |-- ash-makefile.patch.gz
-| | | | |-- ash-manpage.patch.gz
-| | | | |-- ash-memout.patch.gz
-| | | | |-- ash-misc.patch.gz
-| | | | |-- ash-ppid.patch.gz
-| | | | |-- ash-redir.patch.gz
-| | | | |-- ash-setmode.patch.gz
-| | | | |-- ash-sighup.patch.gz
-| | | | |-- ash-syntax.patch.gz
-| | | | |-- ash-test.patch.gz
-| | | | `-- ash-times.patch.gz
-| | | `-- slack-desc
-| | |-- at
-| | | |-- at-3.1.10.tar.bz2
-| | | |-- at.SlackBuild
-| | | |-- doinst.sh.gz
-| | | `-- slack-desc
-| | |-- aumix
-| | | |-- aumix-2.8.tar.bz2
-| | | |-- aumix.SlackBuild
-| | | |-- aumix.alsa.diff.gz
-| | | `-- slack-desc
-| | |-- bc
-| | | |-- bc-1.06.95.tar.bz2
-| | | |-- bc-1.06.95.tar.bz2.sig
-| | | |-- bc.SlackBuild
-| | | `-- slack-desc
-| | |-- bpe
-| | | |-- bpe-2.01.00.tar.gz
-| | | |-- bpe.SlackBuild
-| | | `-- slack-desc
-| | |-- cdparanoia
-| | | |-- cdparanoia-III-10.2.src.tar.gz
-| | | |-- cdparanoia-III-10.2_cdda_private.patch.gz
-| | | |-- cdparanoia.SlackBuild
-| | | `-- slack-desc
-| | |-- cdrdao
-| | | |-- cdrdao-1.2.1.tar.bz2
-| | | |-- cdrdao.SlackBuild
-| | | `-- slack-desc
-| | |-- cdrtools
-| | | |-- cdrtools-2.01.01a57.tar.bz2
-| | | |-- cdrtools.SlackBuild
-| | | |-- doinst.sh.gz
-| | | |-- slack-desc
-| | | |-- zisofs-tools-1.0.8.tar.bz2
-| | | `-- zisofs-tools-1.0.8.tar.bz2.sign
-| | |-- cupsddk
-| | | |-- cupsddk-1.2.3-source.tar.bz2
-| | | |-- cupsddk.SlackBuild
-| | | `-- slack-desc
-| | |-- dc3dd
-| | | |-- dc3dd-6.12.3.tar.xz
-| | | |-- dc3dd.SlackBuild
-| | | `-- slack-desc
-| | |-- diffstat
-| | | |-- diffstat-1.43.tar.bz2
-| | | |-- diffstat.SlackBuild
-| | | `-- slack-desc
-| | |-- diffutils
-| | | |-- diffutils-2.8.1.tar.gz
-| | | |-- diffutils-sdiff-no-waitpid.patch.gz
-| | | |-- diffutils.SlackBuild
-| | | |-- doinst.sh.gz
-| | | `-- slack-desc
-| | |-- dmapi
-| | | |-- dmapi-2.2.10.tar.xz
-| | | |-- dmapi.SlackBuild
-| | | |-- dmapi.destdir.diff.gz
-| | | `-- slack-desc
-| | |-- dmidecode
-| | | |-- dmidecode-2.10.tar.bz2
-| | | |-- dmidecode-2.10.tar.bz2.sig
-| | | |-- dmidecode.SlackBuild
-| | | |-- dmidecode.makefile.diff.gz
-| | | `-- slack-desc
-| | |-- dvd+rw-tools
-| | | |-- dvd+rw-tools-7.1.tar.gz
-| | | |-- dvd+rw-tools.SlackBuild
-| | | |-- dvd+rw-tools.limits.h.diff.gz
-| | | |-- dvd+rw-tools.url
-| | | `-- slack-desc
-| | |-- enscript
-| | | |-- enscript-1.6.3.tar.gz
-| | | |-- enscript.SlackBuild
-| | | `-- slack-desc
-| | |-- flac
-| | | |-- flac-1.2.1.tar.bz2
-| | | |-- flac.SlackBuild
-| | | |-- flac.man.diff.gz
-| | | `-- slack-desc
-| | |-- foomatic-filters
-| | | |-- doinst.sh.gz
-| | | |-- foomatic-filters-4.0.2.tar.gz
-| | | |-- foomatic-filters.SlackBuild
-| | | `-- slack-desc
-| | |-- ghostscript
-| | | |-- cidfmap.gz
-| | | |-- ghostscript-8.70.tar.xz
-| | | |-- ghostscript.SlackBuild
-| | | `-- slack-desc
-| | |-- ghostscript-fonts-std
-| | | |-- doinst.sh.gz
-| | | |-- ghostscript-fonts-std-8.11.tar.bz2
-| | | |-- ghostscript-fonts-std.SlackBuild
-| | | `-- slack-desc
-| | |-- gphoto2
-| | | |-- gphoto2-2.4.5.tar.bz2
-| | | |-- gphoto2.SlackBuild
-| | | `-- slack-desc
-| | |-- groff
-| | | |-- groff-1.20.1.tar.bz2
-| | | |-- groff.SlackBuild
-| | | |-- groff.docdir.diff.gz
-| | | |-- groff.man.mdoc.local.gz
-| | | `-- slack-desc
-| | |-- gutenprint
-| | | |-- gutenprint-5.2.4.tar.xz
-| | | |-- gutenprint.SlackBuild
-| | | `-- slack-desc
-| | |-- hplip
-| | | |-- doinst.sh.gz
-| | | |-- hplip-3.9.4b.tar.bz2
-| | | |-- hplip.SlackBuild
-| | | |-- hplip.prevent_segfault.diff.gz
-| | | `-- slack-desc
-| | |-- ispell
-| | | |-- ispell-3.2.06.tar.gz
-| | | |-- ispell.SlackBuild
-| | | |-- ispell.diff.gz
-| | | `-- slack-desc
-| | |-- jed
-| | | |-- jed-0.99-18.tar.bz2
-| | | |-- jed-0.99-18.tar.bz2.sig
-| | | |-- jed.SlackBuild
-| | | |-- jed.mouse.diff.gz
-| | | |-- jed.multibyte.diff.gz
-| | | `-- slack-desc
-| | |-- joe
-| | | |-- joe-3.5.tar.bz2
-| | | |-- joe.SlackBuild
-| | | `-- slack-desc
-| | |-- jove
-| | | |-- jove.SlackBuild
-| | | |-- jove.makefile.diff.gz
-| | | |-- jove4.16.0.70.tar.gz
-| | | `-- slack-desc
-| | |-- ksh93
-| | | |-- CPL
-| | | |-- INIT.2007-03-28.tgz
-| | | |-- ast-ksh-locale.2007-03-28.tgz
-| | | |-- ast-ksh.2007-03-28.tgz
-| | | |-- ksh93.SlackBuild
-| | | `-- slack-desc
-| | |-- libx86
-| | | |-- libx86-1.1.tar.gz
-| | | |-- libx86.SlackBuild
-| | | |-- libx86.info
-| | | |-- lrmi.c.diff.gz
-| | | `-- slack-desc
-| | |-- linuxdoc-tools
-| | | |-- ChangeLog.txt
-| | | |-- arm
-| | | | `-- build
-| | | |-- linuxdoc-tools.SlackBuild
-| | | |-- linuxdoc-tools.build
-| | | |-- postbuildfixes.sh
-| | | |-- slack-desc
-| | | |-- sources
-| | | | |-- asciidoc-8.4.5.tar.gz
-| | | | |-- docbook-dsssl-1.79.tar.bz2
-| | | | |-- docbook-dsssl-doc-1.79.tar.bz2
-| | | | |-- docbook-style-xsl-1.75.1-1.fc12.src.rpm
-| | | | |-- docbook-utils-0.6.14-17.fc12.src.rpm
-| | | | |-- docbook-xml-4.5.zip
-| | | | |-- docbook_4.5-4.diff.gz
-| | | | |-- docbook_4.5.orig.tar.gz
-| | | | |-- gnome-doc-utils-0.17.2.tar.bz2
-| | | | |-- gtk-doc-1.11.tar.bz2
-| | | | |-- libsgmls-perl_1.03ii-32.diff.gz
-| | | | |-- libsgmls-perl_1.03ii.orig.tar.gz
-| | | | |-- linuxdoc-tools.lib64.diff
-| | | | |-- linuxdoc-tools_0.9.56.tar.gz
-| | | | |-- openjade-1.3.3-pre1.tar.gz
-| | | | |-- opensp-1.5.2-11.fc11.src.rpm
-| | | | |-- sgml-common-0.6.3-29.fc12.src.rpm
-| | | | |-- source.download
-| | | | `-- xmlto-0.0.22.tar.bz2
-| | | `-- trackbuild.linuxdoc-tools
-| | |-- lm_sensors
-| | | |-- lm_sensors-3.1.1.tar.bz2
-| | | |-- lm_sensors-3.1.1.tar.bz2.sig
-| | | |-- lm_sensors.SlackBuild
-| | | |-- lm_sensors.makefile.diff.gz
-| | | `-- slack-desc
-| | |-- lsof
-| | | |-- lsof.SlackBuild
-| | | |-- lsof_4.78.tar.bz2
-| | | |-- lsof_4.78.tar.bz2.sig
-| | | `-- slack-desc
-| | |-- lsscsi
-| | | |-- lsscsi-0.22.tar.bz2
-| | | |-- lsscsi.SlackBuild
-| | | |-- lsscsi.url
-| | | `-- slack-desc
-| | |-- madplay
-| | | |-- madplay-0.15.2b.tar.gz
-| | | |-- madplay-0.15.2b.tar.gz.sign
-| | | |-- madplay.SlackBuild
-| | | `-- slack-desc
-| | |-- man
-| | | |-- doinst.sh.gz
-| | | |-- man-1.6f.nroff.mandoc.diff.gz
-| | | |-- man-1.6f.tar.bz2
-| | | |-- man.SlackBuild
-| | | `-- slack-desc
-| | |-- man-pages
-| | | |-- doinst.sh.gz
-| | | |-- man-pages-3.22.tar.bz2
-| | | |-- man-pages-posix-2003-a.tar.bz2
-| | | |-- man-pages.SlackBuild
-| | | |-- slack-desc
-| | | `-- whatis.sample.xz
-| | |-- mc
-| | | |-- mc-20090714_git.tar.xz
-| | | |-- mc.SlackBuild
-| | | |-- profile.d
-| | | | |-- mc-wrapper.csh
-| | | | |-- mc-wrapper.sh
-| | | | |-- mc.csh
-| | | | `-- mc.sh
-| | | `-- slack-desc
-| | |-- most
-| | | |-- most-5.0.0a.tar.bz2
-| | | |-- most.SlackBuild
-| | | `-- slack-desc
-| | |-- mpg321
-| | | |-- mpg321-0.2.10.tar.gz
-| | | |-- mpg321.SlackBuild
-| | | `-- slack-desc
-| | |-- mysql
-| | | |-- doinst.sh.gz
-| | | |-- mirror-url
-| | | |-- mysql-5.0.84.tar.xz
-| | | |-- mysql-embedded.build
-| | | |-- mysql.SlackBuild
-| | | |-- rc.mysqld.gz
-| | | `-- slack-desc
-| | |-- nano
-| | | |-- nano-2.0.9.tar.bz2
-| | | |-- nano.SlackBuild
-| | | `-- slack-desc
-| | |-- normalize
-| | | |-- normalize-0.7.7.tar.bz2
-| | | |-- normalize.SlackBuild
-| | | `-- slack-desc
-| | |-- ntfsprogs
-| | | |-- ntfsprogs-2.0.0.tar.bz2
-| | | |-- ntfsprogs.SlackBuild
-| | | `-- slack-desc
-| | |-- pm-utils
-| | | |-- README.SLACKWARE
-| | | |-- pm-utils-1.2.5.tar.xz
-| | | |-- pm-utils.SlackBuild
-| | | |-- pm-utils.url
-| | | `-- slack-desc
-| | |-- radeontool
-| | | |-- radeontool-1.5.tar.gz
-| | | |-- radeontool.SlackBuild
-| | | |-- radeontool.c.diff.gz
-| | | |-- radeontool.info
-| | | `-- slack-desc
-| | |-- rexima
-| | | |-- rexima-1.4.tar.gz
-| | | |-- rexima.SlackBuild
-| | | `-- slack-desc
-| | |-- rpm
-| | | |-- Packages.gz
-| | | |-- doinst.sh.gz
-| | | |-- rpm-4.7.0.tar.xz
-| | | |-- rpm.SlackBuild
-| | | `-- slack-desc
-| | |-- rzip
-| | | |-- rzip-2.1.tar.gz
-| | | |-- rzip.SlackBuild
-| | | `-- slack-desc
-| | |-- sc
-| | | |-- _sc.tar.gz
-| | | |-- sc-7.16.lsm
-| | | |-- sc-7.16.tar.gz
-| | | |-- sc-gcc34.diff.gz
-| | | |-- sc-malloc.diff.gz
-| | | |-- sc.SlackBuild
-| | | `-- slack-desc
-| | |-- screen
-| | | |-- screen-4.0.3.tar.bz2
-| | | |-- screen.SlackBuild
-| | | `-- slack-desc
-| | |-- seejpeg
-| | | |-- _seejpeg.tar.gz
-| | | |-- libjpeg-6a.tar.gz
-| | | |-- seejpeg-1.10.diff.gz
-| | | |-- seejpeg-1.10.lsm
-| | | |-- seejpeg-1.10.tgz
-| | | |-- seejpeg.SlackBuild
-| | | `-- slack-desc
-| | |-- slackpkg
-| | | `-- README
-| | |-- sox
-| | | |-- slack-desc
-| | | |-- sox-14.3.0.tar.xz
-| | | `-- sox.SlackBuild
-| | |-- sqlite
-| | | |-- COPYRIGHT.gz
-| | | |-- slack-desc
-| | | |-- sqlite-3.6.14.2.tar.xz
-| | | `-- sqlite.SlackBuild
-| | |-- sudo
-| | | |-- doinst.sh.gz
-| | | |-- slack-desc
-| | | |-- sudo-1.6.8p12.tar.gz
-| | | |-- sudo-1.6.8p12.tar.gz.sig
-| | | `-- sudo.SlackBuild
-| | |-- sysstat
-| | | |-- slack-desc
-| | | |-- sysstat-7.0.0.tar.bz2
-| | | |-- sysstat.SlackBuild
-| | | |-- sysstat.etc.sysstat.diff.gz
-| | | |-- sysstat.prefix.usr.diff.gz
-| | | `-- sysstat.var.run.diff.gz
-| | |-- texinfo
-| | | |-- dir.gz
-| | | |-- doinst.sh.gz
-| | | |-- slack-desc
-| | | |-- texinfo-4.13a.tar.bz2
-| | | `-- texinfo.SlackBuild
-| | |-- vbetool
-| | | |-- slack-desc
-| | | |-- vbetool-1.1.tar.gz
-| | | |-- vbetool.SlackBuild
-| | | `-- vbetool.info
-| | |-- vim
-| | | |-- ctags-5.7.tar.gz
-| | | |-- doinst.sh.gz
-| | | |-- gvim.desktop
-| | | |-- gvim.png
-| | | |-- patches
-| | | | |-- 7.2.001.gz
-| | | | |-- 7.2.002.gz
-| | | | |-- 7.2.003.gz
-| | | | |-- 7.2.004.gz
-| | | | |-- 7.2.005.gz
-| | | | |-- 7.2.006.gz
-| | | | |-- 7.2.007.gz
-| | | | |-- 7.2.008.gz
-| | | | |-- 7.2.009.gz
-| | | | |-- 7.2.010.gz
-| | | | |-- 7.2.011.gz
-| | | | |-- 7.2.012.gz
-| | | | |-- 7.2.013.gz
-| | | | |-- 7.2.014.gz
-| | | | |-- 7.2.015.gz
-| | | | |-- 7.2.016.gz
-| | | | |-- 7.2.017.gz
-| | | | |-- 7.2.018.gz
-| | | | |-- 7.2.019.gz
-| | | | |-- 7.2.020.gz
-| | | | |-- 7.2.021.gz
-| | | | |-- 7.2.022.gz
-| | | | |-- 7.2.023.gz
-| | | | |-- 7.2.024.gz
-| | | | |-- 7.2.025.gz
-| | | | |-- 7.2.026.gz
-| | | | |-- 7.2.027.gz
-| | | | |-- 7.2.028.gz
-| | | | |-- 7.2.029.gz
-| | | | |-- 7.2.030.gz
-| | | | |-- 7.2.031.gz
-| | | | |-- 7.2.032.gz
-| | | | |-- 7.2.033.gz
-| | | | |-- 7.2.034.gz
-| | | | |-- 7.2.035.gz
-| | | | |-- 7.2.036.gz
-| | | | |-- 7.2.037.gz
-| | | | |-- 7.2.038.gz
-| | | | |-- 7.2.039.gz
-| | | | |-- 7.2.040.gz
-| | | | |-- 7.2.041.gz
-| | | | |-- 7.2.042.gz
-| | | | |-- 7.2.043.gz
-| | | | |-- 7.2.044.gz
-| | | | |-- 7.2.045.gz
-| | | | |-- 7.2.046.gz
-| | | | |-- 7.2.047.gz
-| | | | |-- 7.2.048.gz
-| | | | |-- 7.2.049.gz
-| | | | |-- 7.2.050.gz
-| | | | |-- 7.2.051.gz
-| | | | |-- 7.2.052.gz
-| | | | |-- 7.2.053.gz
-| | | | |-- 7.2.054.gz
-| | | | |-- 7.2.055.gz
-| | | | |-- 7.2.056.gz
-| | | | |-- 7.2.057.gz
-| | | | |-- 7.2.058.gz
-| | | | |-- 7.2.059.gz
-| | | | |-- 7.2.060.gz
-| | | | |-- 7.2.061.gz
-| | | | |-- 7.2.062.gz
-| | | | |-- 7.2.063.gz
-| | | | |-- 7.2.064.gz
-| | | | |-- 7.2.065.gz
-| | | | |-- 7.2.066.gz
-| | | | |-- 7.2.067.gz
-| | | | |-- 7.2.068.gz
-| | | | |-- 7.2.069.gz
-| | | | |-- 7.2.070.gz
-| | | | |-- 7.2.071.gz
-| | | | |-- 7.2.072.gz
-| | | | |-- 7.2.073.gz
-| | | | |-- 7.2.074.gz
-| | | | |-- 7.2.075.gz
-| | | | |-- 7.2.076.gz
-| | | | |-- 7.2.077.gz
-| | | | |-- 7.2.078.gz
-| | | | |-- 7.2.079.gz
-| | | | |-- 7.2.080.gz
-| | | | |-- 7.2.081.gz
-| | | | |-- 7.2.082.gz
-| | | | |-- 7.2.083.gz
-| | | | |-- 7.2.084.gz
-| | | | |-- 7.2.085.gz
-| | | | |-- 7.2.086.gz
-| | | | |-- 7.2.087.gz
-| | | | |-- 7.2.088.gz
-| | | | |-- 7.2.089.gz
-| | | | |-- 7.2.090.gz
-| | | | |-- 7.2.091.gz
-| | | | |-- 7.2.092.gz
-| | | | |-- 7.2.093.gz
-| | | | |-- 7.2.094.gz
-| | | | |-- 7.2.095.gz
-| | | | |-- 7.2.096.gz
-| | | | |-- 7.2.097.gz
-| | | | |-- 7.2.098.gz
-| | | | |-- 7.2.099.gz
-| | | | |-- 7.2.100.gz
-| | | | |-- 7.2.101.gz
-| | | | |-- 7.2.102.gz
-| | | | |-- 7.2.103.gz
-| | | | |-- 7.2.104.gz
-| | | | |-- 7.2.105.gz
-| | | | |-- 7.2.106.gz
-| | | | |-- 7.2.107.gz
-| | | | |-- 7.2.108.gz
-| | | | |-- 7.2.109.gz
-| | | | |-- 7.2.110.gz
-| | | | |-- 7.2.111.gz
-| | | | |-- 7.2.112.gz
-| | | | |-- 7.2.113.gz
-| | | | |-- 7.2.114.gz
-| | | | |-- 7.2.115.gz
-| | | | |-- 7.2.116.gz
-| | | | |-- 7.2.117.gz
-| | | | |-- 7.2.118.gz
-| | | | |-- 7.2.119.gz
-| | | | |-- 7.2.120.gz
-| | | | |-- 7.2.121.gz
-| | | | |-- 7.2.122.gz
-| | | | |-- 7.2.123.gz
-| | | | |-- 7.2.124.gz
-| | | | |-- 7.2.125.gz
-| | | | |-- 7.2.126.gz
-| | | | |-- 7.2.127.gz
-| | | | |-- 7.2.128.gz
-| | | | |-- 7.2.129.gz
-| | | | |-- 7.2.130.gz
-| | | | |-- 7.2.131.gz
-| | | | |-- 7.2.132.gz
-| | | | |-- 7.2.133.gz
-| | | | |-- 7.2.134.gz
-| | | | |-- 7.2.135.gz
-| | | | |-- 7.2.136.gz
-| | | | |-- 7.2.137.gz
-| | | | |-- 7.2.138.gz
-| | | | |-- 7.2.139.gz
-| | | | |-- 7.2.140.gz
-| | | | |-- 7.2.141.gz
-| | | | |-- 7.2.142.gz
-| | | | |-- 7.2.143.gz
-| | | | |-- 7.2.144.gz
-| | | | |-- 7.2.145.gz
-| | | | |-- 7.2.146.gz
-| | | | |-- 7.2.147.gz
-| | | | |-- 7.2.148.gz
-| | | | |-- 7.2.149.gz
-| | | | |-- 7.2.150.gz
-| | | | |-- 7.2.151.gz
-| | | | |-- 7.2.152.gz
-| | | | |-- 7.2.153.gz
-| | | | |-- 7.2.154.gz
-| | | | |-- 7.2.155.gz
-| | | | |-- 7.2.156.gz
-| | | | |-- 7.2.157.gz
-| | | | |-- 7.2.158.gz
-| | | | |-- 7.2.159.gz
-| | | | |-- 7.2.160.gz
-| | | | |-- 7.2.161.gz
-| | | | |-- 7.2.162.gz
-| | | | |-- 7.2.163.gz
-| | | | |-- 7.2.164.gz
-| | | | |-- 7.2.165.gz
-| | | | |-- 7.2.166.gz
-| | | | |-- 7.2.167.gz
-| | | | |-- 7.2.168.gz
-| | | | |-- 7.2.169.gz
-| | | | |-- 7.2.170.gz
-| | | | |-- 7.2.171.gz
-| | | | |-- 7.2.172.gz
-| | | | |-- 7.2.173.gz
-| | | | |-- 7.2.174.gz
-| | | | |-- 7.2.175.gz
-| | | | |-- 7.2.176.gz
-| | | | |-- 7.2.177.gz
-| | | | |-- 7.2.178.gz
-| | | | |-- 7.2.179.gz
-| | | | |-- 7.2.180.gz
-| | | | |-- 7.2.181.gz
-| | | | |-- 7.2.182.gz
-| | | | |-- 7.2.183.gz
-| | | | |-- 7.2.184.gz
-| | | | |-- 7.2.185.gz
-| | | | |-- 7.2.186.gz
-| | | | |-- 7.2.187.gz
-| | | | |-- 7.2.188.gz
-| | | | |-- 7.2.189.gz
-| | | | |-- 7.2.190.gz
-| | | | |-- 7.2.191.gz
-| | | | |-- 7.2.192.gz
-| | | | |-- 7.2.193.gz
-| | | | |-- 7.2.194.gz
-| | | | |-- 7.2.195.gz
-| | | | |-- 7.2.196.gz
-| | | | |-- 7.2.197.gz
-| | | | |-- 7.2.198.gz
-| | | | |-- 7.2.199.gz
-| | | | |-- 7.2.200.gz
-| | | | |-- 7.2.201.gz
-| | | | |-- 7.2.202.gz
-| | | | |-- 7.2.203.gz
-| | | | |-- 7.2.204.gz
-| | | | |-- 7.2.205.gz
-| | | | |-- 7.2.206.gz
-| | | | |-- 7.2.207.gz
-| | | | |-- 7.2.208.gz
-| | | | |-- 7.2.209.gz
-| | | | |-- 7.2.210.gz
-| | | | |-- 7.2.211.gz
-| | | | |-- 7.2.212.gz
-| | | | |-- 7.2.213.gz
-| | | | |-- 7.2.214.gz
-| | | | |-- 7.2.215.gz
-| | | | |-- 7.2.216.gz
-| | | | |-- 7.2.217.gz
-| | | | |-- 7.2.218.gz
-| | | | |-- 7.2.219.gz
-| | | | |-- 7.2.220.gz
-| | | | |-- 7.2.221.gz
-| | | | |-- 7.2.222.gz
-| | | | |-- 7.2.223.gz
-| | | | |-- 7.2.224.gz
-| | | | |-- 7.2.225.gz
-| | | | |-- 7.2.226.gz
-| | | | |-- 7.2.227.gz
-| | | | |-- 7.2.228.gz
-| | | | |-- 7.2.229.gz
-| | | | |-- 7.2.230.gz
-| | | | |-- 7.2.231.gz
-| | | | |-- 7.2.232.gz
-| | | | |-- 7.2.233.gz
-| | | | |-- 7.2.234.gz
-| | | | |-- 7.2.235.gz
-| | | | |-- 7.2.236.gz
-| | | | |-- 7.2.237.gz
-| | | | |-- 7.2.238.gz
-| | | | |-- 7.2.239.gz
-| | | | |-- 7.2.240.gz
-| | | | |-- 7.2.241.gz
-| | | | |-- 7.2.242.gz
-| | | | |-- 7.2.243.gz
-| | | | |-- 7.2.244.gz
-| | | | `-- 7.2.245.gz
-| | | |-- slack-desc.vim
-| | | |-- slack-desc.vim-gvim
-| | | |-- vim-7.2-lang.tar.xz
-| | | |-- vim-7.2.tar.xz
-| | | |-- vim-gvim.SlackBuild
-| | | |-- vim.SlackBuild
-| | | `-- vim.vimrc.diff.gz
-| | |-- vorbis-tools
-| | | |-- slack-desc
-| | | |-- vorbis-tools-1.2.0.tar.bz2
-| | | `-- vorbis-tools.SlackBuild
-| | |-- workbone
-| | | |-- slack-desc
-| | | |-- workbone.1.diff.gz
-| | | |-- workbone.SlackBuild
-| | | |-- workbone_2.40-3.diff.gz
-| | | `-- workbone_2.40.orig.tar.gz
-| | |-- xfsdump
-| | | |-- slack-desc
-| | | |-- xfsdump-3.0.1.tar.xz
-| | | |-- xfsdump.SlackBuild
-| | | `-- xfsdump.destdir.diff.gz
-| | `-- zsh
-| | |-- doinst.sh.gz
-| | |-- slack-desc
-| | |-- zsh-4.3.10-add_new_pkg_completion.diff.gz
-| | |-- zsh-4.3.10-doc.tar.xz
-| | |-- zsh-4.3.10.tar.xz
-| | `-- zsh.SlackBuild
-| |-- d
-| | |-- autoconf
-| | | |-- autoconf-2.63.tar.bz2
-| | | |-- autoconf.SlackBuild
-| | | |-- doinst.sh.gz
-| | | `-- slack-desc
-| | |-- automake
-| | | |-- automake-1.10.1.tar.bz2
-| | | |-- automake.SlackBuild
-| | | |-- doinst.sh.gz
-| | | `-- slack-desc
-| | |-- binutils
-| | | |-- binutils-2.18.50.0.9.tar.bz2
-| | | |-- binutils.SlackBuild
-| | | |-- release.binutils-2.18.50.0.9
-| | | `-- slack-desc
-| | |-- bison
-| | | |-- bison-2.4.1.tar.bz2
-| | | |-- bison-2.4.1.tar.bz2.sig
-| | | |-- bison.SlackBuild
-| | | `-- slack-desc
-| | |-- ccache
-| | | |-- ccache-2.4.tar.gz
-| | | |-- ccache.SlackBuild
-| | | `-- slack-desc
-| | |-- clisp
-| | | |-- clisp-2.47.tar.bz2
-| | | |-- clisp-2.47.tar.bz2.sig
-| | | |-- clisp.SlackBuild
-| | | |-- ffcall-20080704cvs.tar.bz2
-| | | |-- libsigsegv-2.6.tar.bz2
-| | | |-- slack-desc
-| | | `-- source.download
-| | |-- cmake
-| | | |-- cmake-2.6.2.tar.bz2
-| | | |-- cmake.SlackBuild
-| | | `-- slack-desc
-| | |-- cscope
-| | | |-- cscope-15.6.tar.bz2
-| | | |-- cscope.SlackBuild
-| | | `-- slack-desc
-| | |-- cvs
-| | | |-- cvs-1.11.23.tar.bz2
-| | | |-- cvs-1.11.23.tar.bz2.sig
-| | | |-- cvs.SlackBuild
-| | | `-- slack-desc
-| | |-- dev86
-| | | |-- Dev86src-0.16.17.tar.gz
-| | | |-- README
-| | | |-- dev86-x86_64.noelks.patch.gz
-| | | |-- dev86-x86_64.patch.gz
-| | | |-- dev86.SlackBuild
-| | | |-- dev86.info
-| | | `-- slack-desc
-| | |-- distcc
-| | | |-- distcc-2.18.3.tar.bz2
-| | | |-- distcc-2.18.3.tar.bz2.asc
-| | | |-- distcc.SlackBuild
-| | | `-- slack-desc
-| | |-- doxygen
-| | | |-- doxygen-1.5.8.src.tar.bz2
-| | | |-- doxygen.SlackBuild
-| | | |-- doxygen.qt4.diff.gz
-| | | `-- slack-desc
-| | |-- flex
-| | | |-- flex-2.5.35.tar.bz2
-| | | |-- flex.SlackBuild
-| | | `-- slack-desc
-| | |-- gcc
-| | | |-- ecj-4.3.jar
-| | | |-- gcc-4.3.3.tar.xz
-| | | |-- gcc-no_fixincludes.diff.gz
-| | | |-- gcc.SlackBuild
-| | | |-- slack-desc.gcc
-| | | |-- slack-desc.gcc-g++
-| | | |-- slack-desc.gcc-gfortran
-| | | |-- slack-desc.gcc-gnat
-| | | |-- slack-desc.gcc-java
-| | | `-- slack-desc.gcc-objc
-| | |-- gdb
-| | | |-- gdb-6.8.tar.bz2
-| | | |-- gdb-6.8.tar.bz2.sig
-| | | |-- gdb.SlackBuild
-| | | `-- slack-desc
-| | |-- git
-| | | |-- git-1.6.4.tar.sign
-| | | |-- git-1.6.4.tar.xz
-| | | |-- git.SlackBuild
-| | | `-- slack-desc
-| | |-- gperf
-| | | |-- gperf-3.0.3.tar.bz2
-| | | |-- gperf.SlackBuild
-| | | `-- slack-desc
-| | |-- guile
-| | | |-- guile-1.8.7.tar.xz
-| | | |-- guile.SlackBuild
-| | | `-- slack-desc
-| | |-- indent
-| | | |-- indent-2.2.10.tar.bz2
-| | | |-- indent.SlackBuild
-| | | `-- slack-desc
-| | |-- intltool
-| | | |-- intltool-0.40.5.tar.bz2
-| | | |-- intltool.SlackBuild
-| | | `-- slack-desc
-| | |-- kernel-headers
-| | | `-- slack-desc
-| | |-- libtool
-| | | |-- doinst.sh.gz
-| | | |-- libtool-1.5.26.tar.bz2
-| | | |-- libtool.SlackBuild
-| | | |-- libtool.no.moved.warning.diff.gz
-| | | `-- slack-desc
-| | |-- m4
-| | | |-- m4-1.4.13.tar.xz
-| | | |-- m4.SlackBuild
-| | | `-- slack-desc
-| | |-- make
-| | | |-- make-3.81.tar.bz2
-| | | |-- make-3.81.tar.bz2.sig
-| | | |-- make.SlackBuild
-| | | `-- slack-desc
-| | |-- mercurial
-| | | |-- mercurial-1.2.1.tar.bz2
-| | | |-- mercurial.SlackBuild
-| | | `-- slack-desc
-| | |-- nasm
-| | | |-- nasm-2.05.01.tar.bz2
-| | | |-- nasm.SlackBuild
-| | | `-- slack-desc
-| | |-- oprofile
-| | | |-- oprofile-0.9.4.tar.bz2
-| | | |-- oprofile.SlackBuild
-| | | `-- slack-desc
-| | |-- p2c
-| | | |-- _p2c.tar.gz
-| | | |-- p2c-1.21alpha2.tar.gz
-| | | |-- p2c.SlackBuild
-| | | |-- p2c.examples.diff.gz
-| | | |-- p2c_1.21alpha2-2.1.diff.gz
-| | | |-- p2c_time.diff.gz
-| | | `-- slack-desc
-| | |-- perl
-| | | |-- DBD-mysql-4.008.tar.gz
-| | | |-- DBI-1.607.tar.gz
-| | | |-- URI-1.37.tar.gz
-| | | |-- XML-Parser-2.36.tar.gz
-| | | |-- XML-Simple-2.18.tar.gz
-| | | |-- doinst.sh.gz
-| | | |-- perl-5.10.0.tar.bz2
-| | | |-- perl.SlackBuild
-| | | |-- perl.configure.multilib.patch.gz
-| | | `-- slack-desc
-| | |-- pkg-config
-| | | |-- doinst.sh.gz
-| | | |-- pkg-config-0.23.tar.bz2
-| | | |-- pkg-config.SlackBuild
-| | | |-- scripts
-| | | | |-- pkgconfig.csh
-| | | | `-- pkgconfig.sh
-| | | `-- slack-desc
-| | |-- pmake
-| | | |-- pmake-1.111.tar.gz
-| | | |-- pmake.SlackBuild
-| | | |-- pmake.strerror.strdup.diff.gz
-| | | |-- pmake.txt.gz
-| | | |-- pmake_1.111-1.diff.gz
-| | | `-- slack-desc
-| | |-- python
-| | | |-- Python-2.6.2.tar.xz
-| | | |-- python-2.6.2-docs-text.tar.xz
-| | | |-- python.SlackBuild
-| | | |-- python.pure64.diff.gz
-| | | |-- python.readline.set_pre_input_hook.diff.gz
-| | | |-- python.x86_64.diff.gz
-| | | `-- slack-desc
-| | |-- rcs
-| | | |-- _rcs.tar.gz
-| | | |-- rcs-5.7.diff.gz
-| | | |-- rcs-5.7.tar.gz
-| | | |-- rcs.SlackBuild
-| | | `-- slack-desc
-| | |-- ruby
-| | | |-- ruby-1.8.7-p174.tar.xz
-| | | |-- ruby.SlackBuild
-| | | |-- ruby.x86_64.diff.gz
-| | | `-- slack-desc
-| | |-- strace
-| | | |-- slack-desc
-| | | |-- strace-4.5.18.tar.bz2
-| | | `-- strace.SlackBuild
-| | |-- subversion
-| | | |-- get-svn-book.sh
-| | | |-- slack-desc
-| | | |-- subversion-1.6.4.tar.xz
-| | | |-- subversion.SlackBuild
-| | | `-- svn-book-html.tar.bz2
-| | `-- swig
-| | |-- slack-desc
-| | |-- swig-1.3.38.tar.bz2
-| | |-- swig.SlackBuild
-| | `-- swig.url
-| |-- e
-| | `-- emacs
-| | |-- doinst.sh
-| | |-- emacs-22.3.tar.bz2
-| | |-- emacs.SlackBuild
-| | |-- emacs.info
-| | `-- slack-desc
-| |-- f
-| | |-- slack-desc.linux-faqs
-| | `-- slack-desc.linux-howtos
-| |-- installer
-| | |-- busybox-1.12.1.tar.bz2
-| | |-- busybox-1.12.1_inotify.diff.gz
-| | |-- busybox-dot-config
-| | |-- busybox.SlackBuild
-| | `-- dropbear
-| | |-- doinst.sh
-| | |-- dropbear-0.50.tar.bz2
-| | |-- dropbear.Slackbuild
-| | |-- dropbear.xauth.patch
-| | |-- dropbear_dbclientpath.patch
-| | |-- dropbear_emptypass.patch
-| | |-- rc.dropbear.new
-| | `-- slack-desc
-| |-- k
-| | |-- 2.6.29.x-intel-crash-patch.diff.gz
-| | |-- README.TXT
-| | |-- README_SECURITY.TXT
-| | |-- README_SPEAKUP_PATCH.TXT
-| | |-- config-generic-2.6.29.6
-| | |-- config-huge-2.6.29.6
-| | |-- config-speakup-2.6.29.6
-| | |-- kernel-firmware
-| | | |-- kernel-firmware.SlackBuild
-| | | `-- slack-desc
-| | |-- kernel-generic
-| | | |-- kernel-generic.SlackBuild
-| | | `-- slack-desc
-| | |-- kernel-huge
-| | | |-- kernel-huge.SlackBuild
-| | | `-- slack-desc
-| | |-- kernel-modules
-| | | |-- kernel-modules.SlackBuild
-| | | |-- rc.modules.new
-| | | `-- slack-desc
-| | |-- linux-2.6.29.6-01-sendpage.diff.gz
-| | |-- linux-2.6.29.6-02-default-mmap_min_addr-4096.diff.gz
-| | |-- linux-2.6.29.6.tar.sign
-| | |-- linux-2.6.29.6.tar.xz
-| | `-- speakup-2009-02-24.tar.bz2
-| |-- kde
-| | |-- KDE.SlackBuild
-| | |-- KDE.options
-| | |-- amarok
-| | | |-- amarok.SlackBuild
-| | | |-- amarok.qtscript.optional.diff.gz
-| | | |-- doinst.sh.gz
-| | | |-- local.options
-| | | `-- slack-desc
-| | |-- guidance-power-manager
-| | | |-- guidance-power-manager.SlackBuild
-| | | `-- slack-desc
-| | |-- k3b
-| | | |-- doinst.sh.gz
-| | | |-- k3b.SlackBuild
-| | | |-- k3b.internal.libsamplerate.diff.gz
-| | | |-- local.options
-| | | `-- slack-desc
-| | |-- kaudiocreator
-| | | |-- doinst.sh.gz
-| | | |-- kaudiocreator.SlackBuild
-| | | |-- local.options
-| | | `-- slack-desc
-| | |-- kdeaccessibility
-| | | |-- doinst.sh.gz
-| | | |-- kdeaccessibility.SlackBuild
-| | | `-- slack-desc
-| | |-- kdeadmin
-| | | |-- doinst.sh.gz
-| | | |-- kdeadmin.SlackBuild
-| | | `-- slack-desc
-| | |-- kdeartwork
-| | | |-- doinst.sh.gz
-| | | |-- kdeartwork.SlackBuild
-| | | `-- slack-desc
-| | |-- kdebase
-| | | |-- config
-| | | | `-- kdeglobals
-| | | |-- doinst.sh.gz
-| | | |-- kdebase.SlackBuild
-| | | |-- profile.d
-| | | | |-- kde.csh
-| | | | `-- kde.sh
-| | | `-- slack-desc
-| | |-- kdebase-runtime
-| | | |-- doinst.sh.gz
-| | | |-- kdebase-runtime-text-render-969192.diff.gz
-| | | |-- kdebase-runtime.SlackBuild
-| | | |-- local.options
-| | | `-- slack-desc
-| | |-- kdebase-workspace
-| | | |-- config
-| | | | |-- Xsession
-| | | | `-- Xsession.orig
-| | | |-- doinst.sh.gz
-| | | |-- kdebase-workspace.SlackBuild
-| | | |-- slack-desc
-| | | `-- xinit
-| | | `-- xinitrc.kde
-| | |-- kdebindings
-| | | |-- kdebindings.SlackBuild
-| | | `-- slack-desc
-| | |-- kdeedu
-| | | |-- doinst.sh.gz
-| | | |-- kdeedu.SlackBuild
-| | | `-- slack-desc
-| | |-- kdegames
-| | | |-- doinst.sh.gz
-| | | |-- kdegames.SlackBuild
-| | | `-- slack-desc
-| | |-- kdegraphics
-| | | |-- doinst.sh.gz
-| | | |-- kdegraphics.SlackBuild
-| | | `-- slack-desc
-| | |-- kdelibs
-| | | |-- doinst.sh.gz
-| | | |-- fixPopupForPlasmaboard.diff.gz
-| | | |-- kdelibs.SlackBuild
-| | | |-- kdesu-allow_NOPASS_in_suauth.patch.gz
-| | | |-- local.options
-| | | `-- slack-desc
-| | |-- kdemultimedia
-| | | |-- doinst.sh.gz
-| | | |-- kdemultimedia.SlackBuild
-| | | `-- slack-desc
-| | |-- kdenetwork
-| | | |-- doinst.sh.gz
-| | | |-- kdenetwork.SlackBuild
-| | | |-- kopete-r986796.diff.gz
-| | | |-- local.options
-| | | `-- slack-desc
-| | |-- kdepim
-| | | |-- doinst.sh.gz
-| | | |-- kdepim.SlackBuild
-| | | `-- slack-desc
-| | |-- kdepimlibs
-| | | |-- kdepimlibs.SlackBuild
-| | | `-- slack-desc
-| | |-- kdeplasma-addons
-| | | |-- doinst.sh.gz
-| | | |-- kdeplasma-addons.SlackBuild
-| | | `-- slack-desc
-| | |-- kdesdk
-| | | |-- doinst.sh.gz
-| | | |-- kdesdk.SlackBuild
-| | | `-- slack-desc
-| | |-- kdetoys
-| | | |-- doinst.sh.gz
-| | | |-- kdetoys.SlackBuild
-| | | `-- slack-desc
-| | |-- kdeutils
-| | | |-- doinst.sh.gz
-| | | |-- kdeutils.SlackBuild
-| | | `-- slack-desc
-| | |-- kdevelop
-| | | |-- doinst.sh.gz
-| | | |-- kdevelop.SlackBuild
-| | | |-- local.options
-| | | `-- slack-desc
-| | |-- kdevplatform
-| | | |-- doinst.sh.gz
-| | | |-- kdevplatform.SlackBuild
-| | | |-- local.options
-| | | `-- slack-desc
-| | |-- kdewebdev
-| | | |-- doinst.sh.gz
-| | | |-- kde4-kdewebdev-findtidy.diff.gz
-| | | |-- kdewebdev.SlackBuild
-| | | |-- slack-desc
-| | | `-- tidy
-| | | |-- get-tidy-cvs.sh
-| | | |-- tidy-20090604T2303.tar.xz
-| | | |-- tidy.SlackBuild
-| | | `-- tidy.build
-| | |-- koffice
-| | | |-- doinst.sh.gz
-| | | |-- koffice.SlackBuild
-| | | |-- local.options
-| | | `-- slack-desc
-| | |-- konq-plugins
-| | | |-- konq-plugins.SlackBuild
-| | | `-- slack-desc
-| | |-- ktorrent
-| | | |-- doinst.sh.gz
-| | | |-- ktorrent.SlackBuild
-| | | |-- local.options
-| | | `-- slack-desc
-| | |-- mplayerthumbs
-| | | |-- mplayerthumbs-1.2.tar.gz
-| | | |-- mplayerthumbs.SlackBuild
-| | | `-- slack-desc
-| | |-- skanlite
-| | | |-- doinst.sh.gz
-| | | |-- local.options
-| | | |-- skanlite.SlackBuild
-| | | `-- slack-desc
-| | `-- src
-| | |-- extragear
-| | | |-- amarok-2.1.1.tar.xz
-| | | |-- guidance-power-manager-4.2.4.tar.xz
-| | | |-- k3b-r948463.tar.xz
-| | | |-- kaudiocreator-r1008583.tar.xz
-| | | |-- konq-plugins-4.2.4.tar.xz
-| | | |-- ktorrent-3.2.2.tar.xz
-| | | `-- skanlite-0.3-kde4.2.4.tar.xz
-| | |-- kdeaccessibility-4.2.4.tar.xz
-| | |-- kdeadmin-4.2.4.tar.xz
-| | |-- kdeartwork-4.2.4.tar.xz
-| | |-- kdebase-4.2.4.tar.xz
-| | |-- kdebase-runtime-4.2.4.tar.xz
-| | |-- kdebase-workspace-4.2.4.tar.xz
-| | |-- kdebindings-4.2.4.tar.xz
-| | |-- kdeedu-4.2.4.tar.xz
-| | |-- kdegames-4.2.4.tar.xz
-| | |-- kdegraphics-4.2.4.tar.xz
-| | |-- kdelibs-4.2.4.tar.xz
-| | |-- kdemultimedia-4.2.4.tar.xz
-| | |-- kdenetwork-4.2.4.tar.xz
-| | |-- kdepim-4.2.4.tar.xz
-| | |-- kdepimlibs-4.2.4.tar.xz
-| | |-- kdeplasma-addons-4.2.4.tar.xz
-| | |-- kdesdk-4.2.4.tar.xz
-| | |-- kdetoys-4.2.4.tar.xz
-| | |-- kdeutils-4.2.4.tar.xz
-| | |-- kdevelop-3.9.91.tar.xz
-| | |-- kdevplatform-0.9.91.tar.xz
-| | |-- kdewebdev-4.2.4.tar.xz
-| | `-- koffice-2.0.2.tar.xz
-| |-- kdei
-| | |-- kde-l10n-ar-4.2.4.tar.bz2
-| | |-- kde-l10n-bg-4.2.4.tar.bz2
-| | |-- kde-l10n-bn_IN-4.2.4.tar.bz2
-| | |-- kde-l10n-ca-4.2.4.tar.bz2
-| | |-- kde-l10n-cs-4.2.4.tar.bz2
-| | |-- kde-l10n-csb-4.2.4.tar.bz2
-| | |-- kde-l10n-da-4.2.4.tar.bz2
-| | |-- kde-l10n-de-4.2.4.tar.bz2
-| | |-- kde-l10n-el-4.2.4.tar.bz2
-| | |-- kde-l10n-en_GB-4.2.4.tar.bz2
-| | |-- kde-l10n-es-4.2.4.tar.bz2
-| | |-- kde-l10n-et-4.2.4.tar.bz2
-| | |-- kde-l10n-eu-4.2.4.tar.bz2
-| | |-- kde-l10n-fi-4.2.4.tar.bz2
-| | |-- kde-l10n-fr-4.2.4.tar.bz2
-| | |-- kde-l10n-ga-4.2.4.tar.bz2
-| | |-- kde-l10n-gl-4.2.4.tar.bz2
-| | |-- kde-l10n-gu-4.2.4.tar.bz2
-| | |-- kde-l10n-he-4.2.4.tar.bz2
-| | |-- kde-l10n-hi-4.2.4.tar.bz2
-| | |-- kde-l10n-hu-4.2.4.tar.bz2
-| | |-- kde-l10n-is-4.2.4.tar.bz2
-| | |-- kde-l10n-it-4.2.4.tar.bz2
-| | |-- kde-l10n-ja-4.2.4.tar.bz2
-| | |-- kde-l10n-kk-4.2.4.tar.bz2
-| | |-- kde-l10n-km-4.2.4.tar.bz2
-| | |-- kde-l10n-kn-4.2.4.tar.bz2
-| | |-- kde-l10n-ko-4.2.4.tar.bz2
-| | |-- kde-l10n-ku-4.2.4.tar.bz2
-| | |-- kde-l10n-lt-4.2.4.tar.bz2
-| | |-- kde-l10n-lv-4.2.4.tar.bz2
-| | |-- kde-l10n-mai-4.2.4.tar.bz2
-| | |-- kde-l10n-mk-4.2.4.tar.bz2
-| | |-- kde-l10n-ml-4.2.4.tar.bz2
-| | |-- kde-l10n-mr-4.2.4.tar.bz2
-| | |-- kde-l10n-nb-4.2.4.tar.bz2
-| | |-- kde-l10n-nds-4.2.4.tar.bz2
-| | |-- kde-l10n-nl-4.2.4.tar.bz2
-| | |-- kde-l10n-nn-4.2.4.tar.bz2
-| | |-- kde-l10n-pa-4.2.4.tar.bz2
-| | |-- kde-l10n-pl-4.2.4.tar.bz2
-| | |-- kde-l10n-pt-4.2.4.tar.bz2
-| | |-- kde-l10n-pt_BR-4.2.4.tar.bz2
-| | |-- kde-l10n-ro-4.2.4.tar.bz2
-| | |-- kde-l10n-ru-4.2.4.tar.bz2
-| | |-- kde-l10n-sk-4.2.4.tar.bz2
-| | |-- kde-l10n-sl-4.2.4.tar.bz2
-| | |-- kde-l10n-sr-4.2.4.tar.bz2
-| | |-- kde-l10n-sv-4.2.4.tar.bz2
-| | |-- kde-l10n-tg-4.2.4.tar.bz2
-| | |-- kde-l10n-th-4.2.4.tar.bz2
-| | |-- kde-l10n-tr-4.2.4.tar.bz2
-| | |-- kde-l10n-uk-4.2.4.tar.bz2
-| | |-- kde-l10n-wa-4.2.4.tar.bz2
-| | |-- kde-l10n-zh_CN-4.2.4.tar.bz2
-| | |-- kde-l10n-zh_TW-4.2.4.tar.bz2
-| | |-- kde-l10n.SlackBuild
-| | |-- koffice
-| | | |-- koffice-l10n-ca-2.0.2.tar.bz2
-| | | |-- koffice-l10n-cs-2.0.2.tar.bz2
-| | | |-- koffice-l10n-da-2.0.2.tar.bz2
-| | | |-- koffice-l10n-de-2.0.2.tar.bz2
-| | | |-- koffice-l10n-el-2.0.2.tar.bz2
-| | | |-- koffice-l10n-en_GB-2.0.2.tar.bz2
-| | | |-- koffice-l10n-es-2.0.2.tar.bz2
-| | | |-- koffice-l10n-et-2.0.2.tar.bz2
-| | | |-- koffice-l10n-fr-2.0.2.tar.bz2
-| | | |-- koffice-l10n-fy-2.0.2.tar.bz2
-| | | |-- koffice-l10n-gl-2.0.2.tar.bz2
-| | | |-- koffice-l10n-hi-2.0.2.tar.bz2
-| | | |-- koffice-l10n-it-2.0.2.tar.bz2
-| | | |-- koffice-l10n-ja-2.0.2.tar.bz2
-| | | |-- koffice-l10n-kk-2.0.2.tar.bz2
-| | | |-- koffice-l10n-nb-2.0.2.tar.bz2
-| | | |-- koffice-l10n-nds-2.0.2.tar.bz2
-| | | |-- koffice-l10n-nl-2.0.2.tar.bz2
-| | | |-- koffice-l10n-pl-2.0.2.tar.bz2
-| | | |-- koffice-l10n-pt-2.0.2.tar.bz2
-| | | |-- koffice-l10n-pt_BR-2.0.2.tar.bz2
-| | | |-- koffice-l10n-sv-2.0.2.tar.bz2
-| | | |-- koffice-l10n-tr-2.0.2.tar.bz2
-| | | |-- koffice-l10n-uk-2.0.2.tar.bz2
-| | | |-- koffice-l10n-wa-2.0.2.tar.bz2
-| | | |-- koffice-l10n-zh_CN-2.0.2.tar.bz2
-| | | |-- koffice-l10n-zh_TW-2.0.2.tar.bz2
-| | | |-- koffice-l10n.SlackBuild
-| | | |-- languages
-| | | `-- slack-desc
-| | | |-- slack-desc.koffice-l10n-af
-| | | |-- slack-desc.koffice-l10n-ar
-| | | |-- slack-desc.koffice-l10n-az
-| | | |-- slack-desc.koffice-l10n-bg
-| | | |-- slack-desc.koffice-l10n-br
-| | | |-- slack-desc.koffice-l10n-bs
-| | | |-- slack-desc.koffice-l10n-ca
-| | | |-- slack-desc.koffice-l10n-cs
-| | | |-- slack-desc.koffice-l10n-cy
-| | | |-- slack-desc.koffice-l10n-da
-| | | |-- slack-desc.koffice-l10n-de
-| | | |-- slack-desc.koffice-l10n-el
-| | | |-- slack-desc.koffice-l10n-en_GB
-| | | |-- slack-desc.koffice-l10n-eo
-| | | |-- slack-desc.koffice-l10n-es
-| | | |-- slack-desc.koffice-l10n-et
-| | | |-- slack-desc.koffice-l10n-eu
-| | | |-- slack-desc.koffice-l10n-fa
-| | | |-- slack-desc.koffice-l10n-fi
-| | | |-- slack-desc.koffice-l10n-fr
-| | | |-- slack-desc.koffice-l10n-fy
-| | | |-- slack-desc.koffice-l10n-ga
-| | | |-- slack-desc.koffice-l10n-gl
-| | | |-- slack-desc.koffice-l10n-he
-| | | |-- slack-desc.koffice-l10n-hi
-| | | |-- slack-desc.koffice-l10n-hsb
-| | | |-- slack-desc.koffice-l10n-hu
-| | | |-- slack-desc.koffice-l10n-is
-| | | |-- slack-desc.koffice-l10n-it
-| | | |-- slack-desc.koffice-l10n-ja
-| | | |-- slack-desc.koffice-l10n-kk
-| | | |-- slack-desc.koffice-l10n-km
-| | | |-- slack-desc.koffice-l10n-lo
-| | | |-- slack-desc.koffice-l10n-lt
-| | | |-- slack-desc.koffice-l10n-lv
-| | | |-- slack-desc.koffice-l10n-mk
-| | | |-- slack-desc.koffice-l10n-ms
-| | | |-- slack-desc.koffice-l10n-mt
-| | | |-- slack-desc.koffice-l10n-nb
-| | | |-- slack-desc.koffice-l10n-nds
-| | | |-- slack-desc.koffice-l10n-ne
-| | | |-- slack-desc.koffice-l10n-nl
-| | | |-- slack-desc.koffice-l10n-nn
-| | | |-- slack-desc.koffice-l10n-no
-| | | |-- slack-desc.koffice-l10n-no_NY
-| | | |-- slack-desc.koffice-l10n-pl
-| | | |-- slack-desc.koffice-l10n-pt
-| | | |-- slack-desc.koffice-l10n-pt_BR
-| | | |-- slack-desc.koffice-l10n-ro
-| | | |-- slack-desc.koffice-l10n-ru
-| | | |-- slack-desc.koffice-l10n-se
-| | | |-- slack-desc.koffice-l10n-sk
-| | | |-- slack-desc.koffice-l10n-sl
-| | | |-- slack-desc.koffice-l10n-sr
-| | | |-- slack-desc.koffice-l10n-sr@Latn
-| | | |-- slack-desc.koffice-l10n-sv
-| | | |-- slack-desc.koffice-l10n-ta
-| | | |-- slack-desc.koffice-l10n-tg
-| | | |-- slack-desc.koffice-l10n-th
-| | | |-- slack-desc.koffice-l10n-tr
-| | | |-- slack-desc.koffice-l10n-uk
-| | | |-- slack-desc.koffice-l10n-uz
-| | | |-- slack-desc.koffice-l10n-ven
-| | | |-- slack-desc.koffice-l10n-wa
-| | | |-- slack-desc.koffice-l10n-xh
-| | | |-- slack-desc.koffice-l10n-zh_CN
-| | | |-- slack-desc.koffice-l10n-zh_TW
-| | | `-- slack-desc.koffice-l10n-zu
-| | |-- languages
-| | |-- local.options
-| | `-- slack-desc
-| | |-- slack-desc.kde-l10n-ar
-| | |-- slack-desc.kde-l10n-bg
-| | |-- slack-desc.kde-l10n-bn_IN
-| | |-- slack-desc.kde-l10n-ca
-| | |-- slack-desc.kde-l10n-cs
-| | |-- slack-desc.kde-l10n-csb
-| | |-- slack-desc.kde-l10n-da
-| | |-- slack-desc.kde-l10n-de
-| | |-- slack-desc.kde-l10n-el
-| | |-- slack-desc.kde-l10n-en_GB
-| | |-- slack-desc.kde-l10n-eo
-| | |-- slack-desc.kde-l10n-es
-| | |-- slack-desc.kde-l10n-et
-| | |-- slack-desc.kde-l10n-eu
-| | |-- slack-desc.kde-l10n-fi
-| | |-- slack-desc.kde-l10n-fr
-| | |-- slack-desc.kde-l10n-fy
-| | |-- slack-desc.kde-l10n-ga
-| | |-- slack-desc.kde-l10n-gl
-| | |-- slack-desc.kde-l10n-gu
-| | |-- slack-desc.kde-l10n-he
-| | |-- slack-desc.kde-l10n-hi
-| | |-- slack-desc.kde-l10n-hu
-| | |-- slack-desc.kde-l10n-is
-| | |-- slack-desc.kde-l10n-it
-| | |-- slack-desc.kde-l10n-ja
-| | |-- slack-desc.kde-l10n-kk
-| | |-- slack-desc.kde-l10n-km
-| | |-- slack-desc.kde-l10n-kn
-| | |-- slack-desc.kde-l10n-ko
-| | |-- slack-desc.kde-l10n-ku
-| | |-- slack-desc.kde-l10n-lt
-| | |-- slack-desc.kde-l10n-lv
-| | |-- slack-desc.kde-l10n-mai
-| | |-- slack-desc.kde-l10n-mk
-| | |-- slack-desc.kde-l10n-ml
-| | |-- slack-desc.kde-l10n-mr
-| | |-- slack-desc.kde-l10n-nb
-| | |-- slack-desc.kde-l10n-nds
-| | |-- slack-desc.kde-l10n-nl
-| | |-- slack-desc.kde-l10n-nn
-| | |-- slack-desc.kde-l10n-pa
-| | |-- slack-desc.kde-l10n-pl
-| | |-- slack-desc.kde-l10n-pt
-| | |-- slack-desc.kde-l10n-pt_BR
-| | |-- slack-desc.kde-l10n-ro
-| | |-- slack-desc.kde-l10n-ru
-| | |-- slack-desc.kde-l10n-sk
-| | |-- slack-desc.kde-l10n-sl
-| | |-- slack-desc.kde-l10n-sr
-| | |-- slack-desc.kde-l10n-sv
-| | |-- slack-desc.kde-l10n-ta
-| | |-- slack-desc.kde-l10n-tg
-| | |-- slack-desc.kde-l10n-th
-| | |-- slack-desc.kde-l10n-tr
-| | |-- slack-desc.kde-l10n-uk
-| | |-- slack-desc.kde-l10n-wa
-| | |-- slack-desc.kde-l10n-zh_CN
-| | `-- slack-desc.kde-l10n-zh_TW
-| |-- l
-| | |-- M2Crypto
-| | | |-- M2Crypto-0.19.1.tar.bz2
-| | | |-- M2Crypto.SlackBuild
-| | | `-- slack-desc
-| | |-- PyQt
-| | | |-- PyQt-x11-gpl-4.4.4.tar.bz2
-| | | |-- PyQt.SlackBuild
-| | | |-- PyQt.info
-| | | `-- slack-desc
-| | |-- QScintilla
-| | | |-- QScintilla-gpl-2.3.2.tar.bz2
-| | | |-- QScintilla.SlackBuild
-| | | |-- QScintilla.info
-| | | `-- slack-desc
-| | |-- aalib
-| | | |-- aalib-1.4rc5.tar.gz
-| | | |-- aalib.SlackBuild
-| | | |-- slack-desc
-| | | `-- slack-desc.11line
-| | |-- akonadi
-| | | |-- akonadi-1.1.2.tar.bz2
-| | | |-- akonadi.SlackBuild
-| | | |-- doinst.sh.gz
-| | | `-- slack-desc
-| | |-- alsa-lib
-| | | |-- alsa-lib-1.0.18.tar.bz2
-| | | |-- alsa-lib.SlackBuild
-| | | `-- slack-desc
-| | |-- alsa-oss
-| | | |-- alsa-oss-1.0.17.tar.bz2
-| | | |-- alsa-oss.SlackBuild
-| | | `-- slack-desc
-| | |-- apr
-| | | |-- apr-1.3.8.tar.bz2
-| | | |-- apr-1.3.8.tar.bz2.asc
-| | | |-- apr.SlackBuild
-| | | `-- slack-desc
-| | |-- apr-util
-| | | |-- apr-util-1.3.9.tar.bz2
-| | | |-- apr-util-1.3.9.tar.bz2.asc
-| | | |-- apr-util.SlackBuild
-| | | `-- slack-desc
-| | |-- aspell
-| | | |-- aspell-0.60.5.tar.bz2
-| | | |-- aspell.SlackBuild
-| | | `-- slack-desc
-| | |-- aspell-dict
-| | | |-- aspell-af-0.50-0.tar.bz2
-| | | |-- aspell-br-0.50-2.tar.bz2
-| | | |-- aspell-cy-0.50-3.tar.bz2
-| | | |-- aspell-dict.SlackBuild
-| | | |-- aspell-el-0.50-3.tar.bz2
-| | | |-- aspell-eo-0.50-2.tar.bz2
-| | | |-- aspell-es-0.50-2.tar.bz2
-| | | |-- aspell-fr-0.50-3.tar.bz2
-| | | |-- aspell-gl-0.50-0.tar.bz2
-| | | |-- aspell-gv-0.50-0.tar.bz2
-| | | |-- aspell-hr-0.51-0.tar.bz2
-| | | |-- aspell-ia-0.50-1.tar.bz2
-| | | |-- aspell-is-0.51.1-0.tar.bz2
-| | | |-- aspell-mi-0.50-0.tar.bz2
-| | | |-- aspell-mk-0.50-0.tar.bz2
-| | | |-- aspell-ms-0.50-0.tar.bz2
-| | | |-- aspell-mt-0.50-0.tar.bz2
-| | | |-- aspell-nb-0.50.1-0.tar.bz2
-| | | |-- aspell-nl-0.50-2.tar.bz2
-| | | |-- aspell-nn-0.50.1-1.tar.bz2
-| | | |-- aspell-no-0.50-2.tar.bz2
-| | | |-- aspell-pl-0.51-0.tar.bz2
-| | | |-- aspell-pt-0.50-2.tar.bz2
-| | | |-- aspell-ro-0.50-2.tar.bz2
-| | | |-- aspell-rw-0.50-0.tar.bz2
-| | | |-- aspell-sk-0.52-0.tar.bz2
-| | | |-- aspell-sl-0.50-0.tar.bz2
-| | | |-- aspell-sv-0.51-0.tar.bz2
-| | | |-- aspell-sw-0.50-0.tar.bz2
-| | | |-- aspell-tr-0.50-0.tar.bz2
-| | | |-- aspell-uk-0.51-0.tar.bz2
-| | | |-- aspell-wa-0.50-0.tar.bz2
-| | | |-- aspell-zu-0.50-0.tar.bz2
-| | | |-- aspell5-be-0.01.tar.bz2
-| | | |-- aspell5-bg-4.0-0.tar.bz2
-| | | |-- aspell5-da-1.4.42-1.tar.bz2
-| | | |-- aspell5-fo-0.2.16-1.tar.bz2
-| | | |-- aspell5-ga-3.6-0.tar.bz2
-| | | |-- aspell5-gd-0.1.1-1.tar.bz2
-| | | |-- aspell5-hil-0.11-0.tar.bz2
-| | | |-- aspell5-id-1.2-0.tar.bz2
-| | | |-- aspell5-ku-0.12-0.tar.bz2
-| | | |-- aspell5-mg-0.03-0.tar.bz2
-| | | |-- aspell5-ny-0.01-0.tar.bz2
-| | | |-- aspell5-sc-1.0.tar.bz2
-| | | |-- aspell5-tet-0.1.1.tar.bz2
-| | | |-- aspell5-tl-0.02-1.tar.bz2
-| | | |-- aspell5-tn-1.0.1-0.tar.bz2
-| | | |-- aspell6-am-0.03-1.tar.bz2
-| | | |-- aspell6-az-0.02-0.tar.bz2
-| | | |-- aspell6-bn-0.01.1-1.tar.bz2
-| | | |-- aspell6-ca-20040130-1.tar.bz2
-| | | |-- aspell6-cs-20040614-1.tar.bz2
-| | | |-- aspell6-csb-0.02-0.tar.bz2
-| | | |-- aspell6-de-20030222-1.tar.bz2
-| | | |-- aspell6-en-6.0-0.tar.bz2
-| | | |-- aspell6-et-0.1.21-1.tar.bz2
-| | | |-- aspell6-fa-0.02-0.tar.bz2
-| | | |-- aspell6-fi-0.7-0.tar.bz2
-| | | |-- aspell6-gu-0.02-0.tar.bz2
-| | | |-- aspell6-he-1.0-0.tar.bz2
-| | | |-- aspell6-hi-0.01-0.tar.bz2
-| | | |-- aspell6-hsb-0.01-1.tar.bz2
-| | | |-- aspell6-hu-0.99.4.2-0.tar.bz2
-| | | |-- aspell6-it-2.2_20050523-0.tar.bz2
-| | | |-- aspell6-la-20020503-0.tar.bz2
-| | | |-- aspell6-lt-1.1+cvs20060103-0.tar.bz2
-| | | |-- aspell6-lv-0.5.5-1.tar.bz2
-| | | |-- aspell6-mn-0.01-0.tar.bz2
-| | | |-- aspell6-mr-0.10-0.tar.bz2
-| | | |-- aspell6-nds-0.01-0.tar.bz2
-| | | |-- aspell6-or-0.03-1.tar.bz2
-| | | |-- aspell6-pa-0.01-1.tar.bz2
-| | | |-- aspell6-pt_BR-20080707-0.tar.bz2
-| | | |-- aspell6-qu-0.02-0.tar.bz2
-| | | |-- aspell6-ru-0.99f7-1.tar.bz2
-| | | |-- aspell6-sr-0.02.tar.bz2
-| | | |-- aspell6-ta-20040424-1.tar.bz2
-| | | |-- aspell6-te-0.01-2.tar.bz2
-| | | |-- aspell6-uk-1.1-0.tar.bz2
-| | | |-- aspell6-uz-0.5-0.tar.bz2
-| | | |-- aspell6-vi-0.01.1-1.tar.bz2
-| | | `-- aspell6-yi-0.01.1-1.tar.bz2
-| | |-- atk
-| | | |-- atk-1.26.0.tar.bz2
-| | | |-- atk.SlackBuild
-| | | `-- slack-desc
-| | |-- audiofile
-| | | |-- audiofile-0.2.6.tar.bz2
-| | | |-- audiofile.SlackBuild
-| | | `-- slack-desc
-| | |-- automoc4
-| | | |-- automoc4-0.9.88.tar.bz2
-| | | |-- automoc4.SlackBuild
-| | | `-- slack-desc
-| | |-- babl
-| | | |-- babl-0.0.22.tar.bz2
-| | | |-- babl.SlackBuild
-| | | `-- slack-desc
-| | |-- boost
-| | | |-- boost.SlackBuild
-| | | |-- boost.ifdef_placement.diff.gz
-| | | |-- boost_1_38_0.tar.bz2
-| | | `-- slack-desc
-| | |-- cairo
-| | | |-- cairo-1.8.6.tar.bz2
-| | | |-- cairo.SlackBuild
-| | | `-- slack-desc
-| | |-- chmlib
-| | | |-- chmlib-0.39.tar.bz2
-| | | |-- chmlib.SlackBuild
-| | | |-- chmlib.info
-| | | `-- slack-desc
-| | |-- clucene
-| | | |-- clucene-core-0.9.21b.tar.bz2
-| | | |-- clucene.SlackBuild
-| | | |-- clucene.info
-| | | `-- slack-desc
-| | |-- db42
-| | | |-- db-4.2.52.tar.bz2
-| | | |-- db42.SlackBuild
-| | | |-- patch.4.2.52.1.gz
-| | | |-- patch.4.2.52.2.gz
-| | | |-- patch.4.2.52.3.gz
-| | | |-- patch.4.2.52.4.gz
-| | | `-- slack-desc
-| | |-- db44
-| | | |-- db-4.4.20.tar.bz2
-| | | |-- db44.SlackBuild
-| | | |-- patch.4.4.20.1.gz
-| | | |-- patch.4.4.20.2.gz
-| | | `-- slack-desc
-| | |-- dbus-glib
-| | | |-- dbus-glib-0.80.tar.gz
-| | | |-- dbus-glib.SlackBuild
-| | | `-- slack-desc
-| | |-- dbus-python
-| | | |-- dbus-python-0.83.0.tar.bz2
-| | | |-- dbus-python.SlackBuild
-| | | `-- slack-desc
-| | |-- desktop-file-utils
-| | | |-- desktop-file-utils-0.15.tar.bz2
-| | | |-- desktop-file-utils.SlackBuild
-| | | |-- doinst.sh.gz
-| | | `-- slack-desc
-| | |-- djvulibre
-| | | |-- djvulibre-3.5.21.tar.bz2
-| | | |-- djvulibre.SlackBuild
-| | | |-- djvulibre.info
-| | | |-- doinst.sh.gz
-| | | `-- slack-desc
-| | |-- eigen2
-| | | |-- eigen2-r948353.tar.bz2
-| | | |-- eigen2.SlackBuild
-| | | `-- slack-desc
-| | |-- enchant
-| | | |-- enchant-1.4.2.tar.bz2
-| | | |-- enchant.SlackBuild
-| | | |-- enchant.info
-| | | `-- slack-desc
-| | |-- esound
-| | | |-- doinst.sh.gz
-| | | |-- esound-0.2.41.tar.bz2
-| | | |-- esound.SlackBuild
-| | | `-- slack-desc
-| | |-- exiv2
-| | | |-- exiv2-0.18.1.tar.xz
-| | | |-- exiv2.SlackBuild
-| | | `-- slack-desc
-| | |-- expat
-| | | |-- expat-2.0.1.tar.gz
-| | | |-- expat.SlackBuild
-| | | `-- slack-desc
-| | |-- freetype
-| | | |-- freetype-2.3.9.tar.bz2
-| | | |-- freetype-2.3.9.tar.bz2.asc
-| | | |-- freetype.SlackBuild
-| | | |-- freetype.bytecode.interpreter.diff.gz
-| | | |-- freetype.illadvisederror.diff.gz
-| | | |-- freetype.subpixel.rendering.diff.gz
-| | | `-- slack-desc
-| | |-- fribidi
-| | | |-- fribidi-0.10.9.tar.bz2
-| | | |-- fribidi.SlackBuild
-| | | `-- slack-desc
-| | |-- fuse
-| | | |-- doinst.sh.gz
-| | | |-- fuse-2.7.4.tar.gz
-| | | |-- fuse.SlackBuild
-| | | `-- slack-desc
-| | |-- gamin
-| | | |-- gamin-0.1.10.tar.bz2
-| | | |-- gamin.SlackBuild
-| | | `-- slack-desc
-| | |-- gd
-| | | |-- gd-2.0.35.tar.bz2
-| | | |-- gd.SlackBuild
-| | | |-- gdlib.pc
-| | | `-- slack-desc
-| | |-- gdbm
-| | | |-- gdbm-1.8.3.tar.gz
-| | | |-- gdbm.SlackBuild
-| | | `-- slack-desc
-| | |-- gegl
-| | | |-- gegl-0.0.22.tar.bz2
-| | | |-- gegl.SlackBuild
-| | | `-- slack-desc
-| | |-- glib
-| | | |-- glib-1.2.10.tar.bz2
-| | | |-- glib.SlackBuild
-| | | |-- glib1.2_1.2.10-17.diff.bz2
-| | | `-- slack-desc
-| | |-- glib2
-| | | |-- doinst.sh.gz
-| | | |-- glib-2.18.4.tar.bz2
-| | | |-- glib-CVE-2008-4316.diff.gz
-| | | |-- glib2.SlackBuild
-| | | |-- libglib2.csh
-| | | |-- libglib2.sh
-| | | `-- slack-desc
-| | |-- glibc
-| | | |-- doinst.sh-glibc
-| | | |-- doinst.sh-glibc-solibs
-| | | |-- doinst.sh-glibc-zoneinfo
-| | | |-- glibc-2.10-dns-no-gethostbyname4.diff.gz
-| | | |-- glibc-2.9-20090316.tar.bz2
-| | | |-- glibc-cvs-checkout.sh
-| | | |-- glibc-libidn-2.7.tar.bz2
-| | | |-- glibc-libidn-2.7.tar.bz2.sig
-| | | |-- glibc.SlackBuild
-| | | |-- glibc.getcwd.max.macro.diff.gz
-| | | |-- glibc.locale.no-archive.diff.gz
-| | | |-- glibc.nis-netgroups.diff.gz
-| | | |-- glibc.revert.to.fix.build.breakages.diff.gz
-| | | |-- glibc.ru_RU.CP1251.diff.gz
-| | | |-- is_IS.diff.gz
-| | | |-- profile.d
-| | | | |-- glibc.csh.new
-| | | | `-- glibc.sh.new
-| | | |-- slack-desc.glibc
-| | | |-- slack-desc.glibc-debug
-| | | |-- slack-desc.glibc-i18n
-| | | |-- slack-desc.glibc-profile
-| | | |-- slack-desc.glibc-solibs
-| | | |-- slack-desc.glibc-solibs-linuxthreads
-| | | |-- slack-desc.glibc-zoneinfo
-| | | |-- timezone-scripts
-| | | | |-- output-updated-timeconfig.sh
-| | | | |-- parts
-| | | | | |-- 00
-| | | | | |-- 01
-| | | | | |-- 02
-| | | | | |-- 03
-| | | | | |-- 04
-| | | | | `-- README
-| | | | |-- setup.timeconfig
-| | | | `-- timeconfig
-| | | |-- tzcode2009d.tar.gz
-| | | `-- tzdata2009d.tar.gz
-| | |-- gmime
-| | | |-- gmime-2.2.23.tar.bz2
-| | | |-- gmime.SlackBuild
-| | | `-- slack-desc
-| | |-- gmm
-| | | |-- gmm-3.1.tar.bz2
-| | | |-- gmm.SlackBuild
-| | | |-- gmm.info
-| | | `-- slack-desc
-| | |-- gmp
-| | | |-- gmp-4.2.4.tar.bz2
-| | | |-- gmp-4.2.4.tar.bz2.sig
-| | | |-- gmp.SlackBuild
-| | | `-- slack-desc
-| | |-- gnome-icon-theme
-| | | |-- doinst.sh.gz
-| | | |-- gnome-icon-theme-2.26.0.tar.xz
-| | | |-- gnome-icon-theme.SlackBuild
-| | | |-- gnome-icon-theme.pkgconfig.path.diff.gz
-| | | `-- slack-desc
-| | |-- gst-plugins-base
-| | | |-- gst-plugins-base-0.10.23.tar.xz
-| | | |-- gst-plugins-base.SlackBuild
-| | | `-- slack-desc
-| | |-- gstreamer
-| | | |-- gstreamer-0.10.23.tar.xz
-| | | |-- gstreamer.SlackBuild
-| | | `-- slack-desc
-| | |-- gtk+
-| | | |-- gtk+-1.2.10.tar.bz2
-| | | |-- gtk+.SlackBuild
-| | | |-- gtk+1.2_1.2.10-18.diff.bz2
-| | | `-- slack-desc
-| | |-- gtk+2
-| | | |-- doinst.sh.gz
-| | | |-- gtk+-2.14.7.tar.bz2
-| | | |-- gtk+2.SlackBuild
-| | | |-- gtk.nsplugin.diff.gz
-| | | |-- gtk.pnglz.diff.gz
-| | | |-- profile.d
-| | | | |-- gtk+.csh
-| | | | `-- gtk+.sh
-| | | |-- slack-desc
-| | | |-- update-gdk-pixbuf-loaders
-| | | `-- update-gtk-immodules
-| | |-- gtkspell
-| | | |-- gtkspell-2.0.15.tar.bz2
-| | | |-- gtkspell.SlackBuild
-| | | `-- slack-desc
-| | |-- hal
-| | | |-- doinst.sh.gz
-| | | |-- hal-0.5.11.tar.xz
-| | | |-- hal.SlackBuild
-| | | |-- hal.conf.gz
-| | | |-- patches
-| | | | |-- 10-keymap.fdi-restore_zap.diff.gz
-| | | | |-- allow_uid_gid_ntfs.diff.gz
-| | | | |-- check_udi_properly.diff.gz
-| | | | |-- fix_led_crash.diff.gz
-| | | | |-- fix_md_crash.diff.gz
-| | | | |-- fix_segfault_in_mdraid.diff.gz
-| | | | |-- fixup_udi_strings.diff.gz
-| | | | |-- hide_more_invalid_partitions.diff.gz
-| | | | |-- ignore_dupe_add_events.diff.gz
-| | | | |-- regen_fdi_cache_if_zero_size.diff.gz
-| | | | |-- set_X_keymap_properly.diff.gz
-| | | | `-- use_udevadm_not_udevinfo.patch.gz
-| | | |-- rc.hald.gz
-| | | `-- slack-desc
-| | |-- hal-info
-| | | |-- hal-info-20090716.tar.gz
-| | | |-- hal-info.SlackBuild
-| | | `-- slack-desc
-| | |-- hicolor-icon-theme
-| | | |-- doinst.sh.gz
-| | | |-- hicolor-icon-theme-0.10.tar.gz
-| | | |-- hicolor-icon-theme.SlackBuild
-| | | |-- setup.08.gtk-update-icon-cache
-| | | `-- slack-desc
-| | |-- icon-naming-utils
-| | | |-- icon-naming-utils-0.8.90.tar.gz
-| | | |-- icon-naming-utils.SlackBuild
-| | | |-- icon-naming-utils.pkgconfigdir.diff.gz
-| | | `-- slack-desc
-| | |-- ilmbase
-| | | |-- ilmbase-1.0.1.tar.bz2
-| | | |-- ilmbase.SlackBuild
-| | | |-- ilmbase.info
-| | | `-- slack-desc
-| | |-- imlib
-| | | |-- imlib-1.9.15.tar.bz2
-| | | |-- imlib.SlackBuild
-| | | |-- imlib.mitshm.render.diff.gz
-| | | `-- slack-desc
-| | |-- iso-codes
-| | | |-- iso-codes-3.8.tar.bz2
-| | | |-- iso-codes.SlackBuild
-| | | |-- iso-codes.info
-| | | `-- slack-desc
-| | |-- jasper
-| | | |-- jasper-1.900.1.tar.bz2
-| | | |-- jasper.SlackBuild
-| | | `-- slack-desc
-| | |-- jre
-| | | |-- COPYRIGHT
-| | | |-- LICENSE
-| | | |-- README
-| | | |-- THIRDPARTYLICENSEREADME.txt
-| | | |-- Welcome.html
-| | | |-- jre-6u16-linux-x64.bin
-| | | |-- jre.SlackBuild
-| | | |-- profile.d
-| | | | |-- jre.csh
-| | | | `-- jre.sh
-| | | `-- slack-desc
-| | |-- lcms
-| | | |-- lcms-1.18.tar.bz2
-| | | |-- lcms.SlackBuild
-| | | `-- slack-desc
-| | |-- lesstif
-| | | |-- doinst.sh.gz
-| | | |-- lesstif-0.95.0.tar.bz2
-| | | |-- lesstif.Makefile.in.patch.gz
-| | | |-- lesstif.PutPixel32.patch.gz
-| | | |-- lesstif.SlackBuild
-| | | |-- lesstif.gcc42.diff.gz
-| | | |-- lesstif.rendertable.check.diff.gz
-| | | |-- lesstif.x86_64.patch.gz
-| | | `-- slack-desc
-| | |-- libaio
-| | | |-- libaio-0.3.106.tar.gz
-| | | |-- libaio.SlackBuild
-| | | `-- slack-desc
-| | |-- libao
-| | | |-- libao-0.8.8.tar.gz
-| | | |-- libao.SlackBuild
-| | | `-- slack-desc
-| | |-- libarchive
-| | | |-- libarchive-2.6.2.tar.bz2
-| | | |-- libarchive.SlackBuild
-| | | |-- libarchive.info
-| | | `-- slack-desc
-| | |-- libart_lgpl
-| | | |-- libart_lgpl-2.3.20.tar.bz2
-| | | |-- libart_lgpl.SlackBuild
-| | | `-- slack-desc
-| | |-- libcaca
-| | | |-- libcaca-0.99.beta16.tar.bz2
-| | | |-- libcaca.SlackBuild
-| | | `-- slack-desc
-| | |-- libcap
-| | | |-- README.SLACKWARE
-| | | |-- capfaq-0.2.txt
-| | | |-- libcap-2.16.tar.bz2
-| | | |-- libcap-2.16.tar.bz2.sign
-| | | |-- libcap.SlackBuild
-| | | |-- libcap.capability.h.fix.broken.includes.diff.gz
-| | | `-- slack-desc
-| | |-- libcddb
-| | | |-- libcddb-1.3.0.tar.bz2
-| | | |-- libcddb.SlackBuild
-| | | `-- slack-desc
-| | |-- libcdio
-| | | |-- libcdio-0.79.tar.bz2
-| | | |-- libcdio.SlackBuild
-| | | `-- slack-desc
-| | |-- libdvdread
-| | | |-- libdvdread-4.1.3.tar.bz2
-| | | |-- libdvdread.SlackBuild
-| | | `-- slack-desc
-| | |-- libexif
-| | | |-- libexif-0.6.16.tar.bz2
-| | | |-- libexif.SlackBuild
-| | | |-- libexif.pc.diff.gz
-| | | `-- slack-desc
-| | |-- libglade
-| | | |-- libglade-2.6.4.tar.bz2
-| | | |-- libglade.SlackBuild
-| | | `-- slack-desc
-| | |-- libgphoto2
-| | | |-- libgphoto2-2.4.6.tar.xz
-| | | |-- libgphoto2.SlackBuild
-| | | `-- slack-desc
-| | |-- libgpod
-| | | |-- libgpod-0.7.2.tar.xz
-| | | |-- libgpod.SlackBuild
-| | | `-- slack-desc
-| | |-- libgsf
-| | | |-- libgsf-1.14.15.tar.bz2
-| | | |-- libgsf.SlackBuild
-| | | `-- slack-desc
-| | |-- libgtkhtml
-| | | |-- libgtkhtml-2.11.1.tar.bz2
-| | | |-- libgtkhtml.SlackBuild
-| | | `-- slack-desc
-| | |-- libical
-| | | |-- README
-| | | |-- libical-0.43.tar.bz2
-| | | |-- libical.SlackBuild
-| | | |-- libical.info
-| | | `-- slack-desc
-| | |-- libid3tag
-| | | |-- id3tag.pc
-| | | |-- libid3tag-0.15.1b.tar.gz
-| | | |-- libid3tag-0.15.1b.tar.gz.sign
-| | | |-- libid3tag.SlackBuild
-| | | `-- slack-desc
-| | |-- libidl
-| | | |-- libIDL-0.8.10.tar.bz2
-| | | |-- libidl.SlackBuild
-| | | `-- slack-desc
-| | |-- libidn
-| | | |-- libidn-1.5.tar.bz2
-| | | |-- libidn.SlackBuild
-| | | `-- slack-desc
-| | |-- libieee1284
-| | | |-- libieee1284-0.2.11.tar.bz2
-| | | |-- libieee1284.SlackBuild
-| | | `-- slack-desc
-| | |-- libjpeg
-| | | |-- _libjpeg.tar.gz
-| | | |-- jpeg-6b.diff.gz
-| | | |-- jpegsrc.v6b.tar.gz
-| | | |-- libjpeg.SlackBuild
-| | | `-- slack-desc
-| | |-- libkarma
-| | | |-- libkarma-0.1.1.tar.gz
-| | | |-- libkarma.SlackBuild
-| | | `-- slack-desc
-| | |-- libmad
-| | | |-- libmad-0.15.1b.tar.gz
-| | | |-- libmad-0.15.1b.tar.gz.sign
-| | | |-- libmad.SlackBuild
-| | | |-- mad.pc
-| | | `-- slack-desc
-| | |-- libmcrypt
-| | | |-- libmcrypt-2.5.8.tar.bz2
-| | | |-- libmcrypt.SlackBuild
-| | | `-- slack-desc
-| | |-- libmcs
-| | | |-- libmcs-0.7.1.tar.bz2
-| | | |-- libmcs.SlackBuild
-| | | `-- slack-desc
-| | |-- libmng
-| | | |-- libmng-1.0.10.tar.bz2
-| | | |-- libmng.SlackBuild
-| | | `-- slack-desc
-| | |-- libmowgli
-| | | |-- libmowgli-0.6.0.tar.bz2
-| | | |-- libmowgli.SlackBuild
-| | | `-- slack-desc
-| | |-- libmsn
-| | | |-- libmsn-r96.tar.bz2
-| | | |-- libmsn.SlackBuild
-| | | `-- slack-desc
-| | |-- libmtp
-| | | |-- libmtp-0.3.6.tar.xz
-| | | |-- libmtp.SlackBuild
-| | | `-- slack-desc
-| | |-- libnjb
-| | | |-- 80-libnjb.rules
-| | | |-- libnjb-2.2.6.tar.bz2
-| | | |-- libnjb.SlackBuild
-| | | `-- slack-desc
-| | |-- libnl
-| | | |-- libnl-1.1.tar.bz2
-| | | |-- libnl-include_limits.h.patch.gz
-| | | |-- libnl.SlackBuild
-| | | |-- libnl.info
-| | | `-- slack-desc
-| | |-- libogg
-| | | |-- libogg-1.1.3.tar.bz2
-| | | |-- libogg.SlackBuild
-| | | `-- slack-desc
-| | |-- liboil
-| | | |-- liboil-0.3.16.tar.xz
-| | | |-- liboil.SlackBuild
-| | | `-- slack-desc
-| | |-- libpng
-| | | |-- libpng-1.2.37.tar.bz2
-| | | |-- libpng.SlackBuild
-| | | |-- libpng.libs.diff.gz
-| | | `-- slack-desc
-| | |-- libraw1394
-| | | |-- README
-| | | |-- libraw1394-2.0.0.tar.bz2
-| | | |-- libraw1394.SlackBuild
-| | | |-- libraw1394.info
-| | | `-- slack-desc
-| | |-- librsvg
-| | | |-- librsvg-2.26.0.tar.bz2
-| | | |-- librsvg.SlackBuild
-| | | |-- librsvg_seamonkey-config.diff.gz
-| | | `-- slack-desc
-| | |-- libspectre
-| | | |-- libspectre-0.2.2.tar.bz2
-| | | |-- libspectre.SlackBuild
-| | | `-- slack-desc
-| | |-- libtermcap
-| | | |-- libtermcap.SlackBuild
-| | | |-- slack-desc
-| | | |-- termcap-compat_1.2.3.diff.gz
-| | | |-- termcap-compat_1.2.3.dsc
-| | | |-- termcap-compat_1.2.3.tar.gz
-| | | |-- termcap.bufsize.diff.gz
-| | | `-- termcap.h.diff.gz
-| | |-- libtheora
-| | | |-- libtheora-1.0.tar.bz2
-| | | |-- libtheora.SlackBuild
-| | | `-- slack-desc
-| | |-- libtiff
-| | | |-- libtiff.SlackBuild
-| | | |-- slack-desc
-| | | |-- tiff-3.8.2.goo-sec.diff.gz
-| | | |-- tiff-3.8.2.tar.bz2
-| | | `-- tiff-3.8.2.tiffsplit.commandline.overflow.diff.gz
-| | |-- libungif
-| | | |-- libungif-4.1.4.tar.bz2
-| | | |-- libungif.SlackBuild
-| | | `-- slack-desc
-| | |-- libusb
-| | | |-- libusb-0.1.12.tar.gz
-| | | |-- libusb.SlackBuild
-| | | `-- slack-desc
-| | |-- libvisual
-| | | |-- libvisual-0.4.0.tar.bz2
-| | | |-- libvisual.SlackBuild
-| | | `-- slack-desc
-| | |-- libvisual-plugins
-| | | |-- libvisual-plugins-0.4.0.tar.bz2
-| | | |-- libvisual-plugins.SlackBuild
-| | | |-- libvisual-plugins.gstreamer.diff.gz
-| | | `-- slack-desc
-| | |-- libvncserver
-| | | |-- LibVNCServer-0.9.7.tar.bz2
-| | | |-- libvncserver.SlackBuild
-| | | |-- libvncserver.info
-| | | `-- slack-desc
-| | |-- libvorbis
-| | | |-- libvorbis-1.2.0.tar.bz2
-| | | |-- libvorbis.SlackBuild
-| | | `-- slack-desc
-| | |-- libwmf
-| | | |-- libwmf-0.2.8.4.tar.bz2
-| | | |-- libwmf.SlackBuild
-| | | |-- slack-desc
-| | | `-- slack-desc-docs
-| | |-- libwnck
-| | | |-- libwnck-2.26.1.tar.bz2
-| | | |-- libwnck.SlackBuild
-| | | `-- slack-desc
-| | |-- libwpd
-| | | |-- libwpd-0.8.14.tar.bz2
-| | | |-- libwpd.SlackBuild
-| | | `-- slack-desc
-| | |-- libxklavier
-| | | |-- libxklavier-3.9.tar.bz2
-| | | |-- libxklavier.SlackBuild
-| | | `-- slack-desc
-| | |-- libxml2
-| | | |-- libxml2-2.7.3.tar.xz
-| | | |-- libxml2.SlackBuild
-| | | `-- slack-desc
-| | |-- libxslt
-| | | |-- libxslt-1.1.24.tar.bz2
-| | | |-- libxslt.SlackBuild
-| | | `-- slack-desc
-| | |-- libzip
-| | | |-- libzip-0.9.tar.bz2
-| | | |-- libzip.SlackBuild
-| | | |-- libzip.info
-| | | `-- slack-desc
-| | |-- lzo
-| | | |-- lzo-2.02.tar.gz
-| | | |-- lzo.SlackBuild
-| | | `-- slack-desc
-| | |-- mhash
-| | | |-- mhash-0.9.9.tar.bz2
-| | | |-- mhash.SlackBuild
-| | | `-- slack-desc
-| | |-- mm
-| | | |-- mm-1.4.2.tar.bz2
-| | | |-- mm.SlackBuild
-| | | `-- slack-desc
-| | |-- mpfr
-| | | |-- mpfr-2.3.1.tar.bz2
-| | | |-- mpfr.SlackBuild
-| | | |-- patches
-| | | `-- slack-desc
-| | |-- ncurses
-| | | |-- Eterm.ti
-| | | |-- ncurses-5.7.tar.gz
-| | | |-- ncurses-5.7.tar.gz.asc
-| | | |-- ncurses.SlackBuild
-| | | |-- ncurses.mkhashsize.diff.gz
-| | | |-- patches
-| | | |-- rxvt.terminfo
-| | | |-- screeninfo.src
-| | | |-- slack-desc
-| | | `-- xterm.terminfo
-| | |-- neon
-| | | |-- neon-0.28.4.tar.xz
-| | | |-- neon.SlackBuild
-| | | `-- slack-desc
-| | |-- netpbm
-| | | |-- Makefile.config.gz
-| | | |-- netpbm-10.35.22.tar.bz2
-| | | |-- netpbm-manpages.tar.bz2
-| | | |-- netpbm.SlackBuild
-| | | |-- slack-desc
-| | | `-- svn-checkout-stable.sh
-| | |-- openexr
-| | | |-- openexr-1.6.1.tar.bz2
-| | | |-- openexr.SlackBuild
-| | | |-- openexr.gcc43.diff.gz
-| | | |-- openexr.info
-| | | `-- slack-desc
-| | |-- pango
-| | | |-- pango-1.22.4.tar.bz2
-| | | |-- pango.SlackBuild
-| | | |-- pango.etc.host.location.diff.gz
-| | | |-- slack-desc
-| | | `-- update-pango-querymodules
-| | |-- parted
-| | | |-- parted-1.8.8.tar.bz2
-| | | |-- parted-1.8.8.tar.bz2.sig
-| | | |-- parted.SlackBuild
-| | | |-- parted.SlackBuild.static
-| | | |-- parted.configure.diff.gz
-| | | `-- slack-desc
-| | |-- pcre
-| | | |-- pcre-7.7.tar.bz2
-| | | |-- pcre-7.7.tar.bz2.sig
-| | | |-- pcre.SlackBuild
-| | | `-- slack-desc
-| | |-- phonon
-| | | |-- phonon-4.3.1.tar.bz2
-| | | |-- phonon.SlackBuild
-| | | `-- slack-desc
-| | |-- pil
-| | | |-- Imaging-1.1.6.tar.bz2
-| | | |-- pil.SlackBuild
-| | | `-- slack-desc
-| | |-- pilot-link
-| | | |-- pilot-link-0.12.3.tar.bz2
-| | | |-- pilot-link-0.12.3.tar.bz2.asc
-| | | |-- pilot-link.SlackBuild
-| | | `-- slack-desc
-| | |-- poppler
-| | | |-- poppler-0.10.7.tar.xz
-| | | |-- poppler.SlackBuild
-| | | `-- slack-desc
-| | |-- poppler-data
-| | | |-- poppler-data-0.2.1.tar.bz2
-| | | |-- poppler-data.SlackBuild
-| | | `-- slack-desc
-| | |-- popt
-| | | |-- popt-1.7.tar.bz2
-| | | |-- popt.SlackBuild
-| | | `-- slack-desc
-| | |-- pycairo
-| | | |-- pycairo-1.8.4.tar.bz2
-| | | |-- pycairo.SlackBuild
-| | | |-- pycairo.info
-| | | `-- slack-desc
-| | |-- pycups
-| | | |-- pycups-1.9.45.tar.bz2
-| | | |-- pycups.SlackBuild
-| | | |-- pycups.info
-| | | `-- slack-desc
-| | |-- pygobject
-| | | |-- pygobject-2.16.1.tar.bz2
-| | | |-- pygobject.SlackBuild
-| | | |-- pygobject.info
-| | | `-- slack-desc
-| | |-- pygtk
-| | | |-- pygtk-2.14.1.tar.bz2
-| | | |-- pygtk.SlackBuild
-| | | `-- slack-desc
-| | |-- pyrex
-| | | |-- Pyrex-0.9.8.5.tar.bz2
-| | | |-- Pyrex.url
-| | | |-- pyrex.SlackBuild
-| | | `-- slack-desc
-| | |-- qca
-| | | |-- qca-2.0.1.tar.bz2
-| | | |-- qca.SlackBuild
-| | | |-- qca.info
-| | | `-- slack-desc
-| | |-- qca-cyrus-sasl
-| | | |-- qca-cyrus-sasl-2.0.0-beta3.tar.bz2
-| | | |-- qca-cyrus-sasl.SlackBuild
-| | | `-- slack-desc
-| | |-- qca-gnupg
-| | | |-- qca-gnupg-2.0.0-beta3.tar.bz2
-| | | |-- qca-gnupg.SlackBuild
-| | | `-- slack-desc
-| | |-- qca-ossl
-| | | |-- qca-ossl-2.0.0-beta3.tar.bz2
-| | | |-- qca-ossl.SlackBuild
-| | | |-- qca-ossl.nowhirlpool.diff.gz
-| | | `-- slack-desc
-| | |-- qimageblitz
-| | | |-- qimageblitz-r948358.tar.bz2
-| | | |-- qimageblitz.SlackBuild
-| | | |-- qimageblitz.info
-| | | `-- slack-desc
-| | |-- qt
-| | | |-- README
-| | | |-- doinst.sh.gz
-| | | |-- profile.d
-| | | | |-- qt4.csh
-| | | | `-- qt4.sh
-| | | |-- qt-r1008952.tar.xz
-| | | |-- qt.SlackBuild
-| | | |-- qt.mysql.h.diff.gz
-| | | |-- qt.x86.cflags.diff.gz
-| | | `-- slack-desc
-| | |-- qtscriptgenerator
-| | | |-- include-everything.patch.gz
-| | | |-- qtscriptgenerator-src-0.1.0.tar.gz
-| | | |-- qtscriptgenerator.SlackBuild
-| | | |-- qtscriptgenerator.info
-| | | `-- slack-desc
-| | |-- raptor
-| | | |-- raptor-1.4.18.tar.bz2
-| | | |-- raptor.SlackBuild
-| | | |-- raptor.info
-| | | `-- slack-desc
-| | |-- rasqal
-| | | |-- rasqal-0.9.16.tar.bz2
-| | | |-- rasqal.SlackBuild
-| | | |-- rasqal.info
-| | | `-- slack-desc
-| | |-- readline
-| | | |-- readline-5.2-patches
-| | | | |-- readline52-001
-| | | | |-- readline52-001.sig
-| | | | |-- readline52-002
-| | | | |-- readline52-002.sig
-| | | | |-- readline52-003
-| | | | |-- readline52-003.sig
-| | | | |-- readline52-004
-| | | | |-- readline52-004.sig
-| | | | |-- readline52-005
-| | | | |-- readline52-005.sig
-| | | | |-- readline52-006
-| | | | |-- readline52-006.sig
-| | | | |-- readline52-007
-| | | | |-- readline52-007.sig
-| | | | |-- readline52-008
-| | | | |-- readline52-008.sig
-| | | | |-- readline52-009
-| | | | |-- readline52-009.sig
-| | | | |-- readline52-010
-| | | | |-- readline52-010.sig
-| | | | |-- readline52-011
-| | | | |-- readline52-011.sig
-| | | | |-- readline52-012
-| | | | |-- readline52-012.sig
-| | | | |-- readline52-013
-| | | | `-- readline52-013.sig
-| | | |-- readline-5.2.tar.bz2
-| | | |-- readline.SlackBuild
-| | | `-- slack-desc
-| | |-- redland
-| | | |-- redland-1.0.8.tar.bz2
-| | | |-- redland.SlackBuild
-| | | |-- redland.info
-| | | `-- slack-desc
-| | |-- sdl
-| | | |-- SDL-1.2.13.tar.bz2
-| | | |-- SDL_image-1.2.7.tar.bz2
-| | | |-- SDL_mixer-1.2.8.tar.bz2
-| | | |-- SDL_mixer-1.2.8.usrlocal.diff.gz
-| | | |-- SDL_net-1.2.7.tar.bz2
-| | | |-- SDL_ttf-2.0.9.tar.bz2
-| | | |-- sdl.SlackBuild
-| | | `-- slack-desc
-| | |-- shared-mime-info
-| | | |-- doinst.sh.gz
-| | | |-- shared-mime-info-0.60.tar.bz2
-| | | |-- shared-mime-info.SlackBuild
-| | | `-- slack-desc
-| | |-- sip
-| | | |-- sip-4.7.9.tar.bz2
-| | | |-- sip.SlackBuild
-| | | |-- sip.info
-| | | `-- slack-desc
-| | |-- slang
-| | | |-- slack-desc
-| | | |-- slang-2.1.4.tar.bz2
-| | | |-- slang-2.1.4.tar.bz2.asc
-| | | `-- slang.SlackBuild
-| | |-- slang1
-| | | |-- slack-desc
-| | | |-- slang-1.4.9.tar.bz2
-| | | `-- slang1.SlackBuild
-| | |-- soprano
-| | | |-- slack-desc
-| | | |-- soprano-2.2.3.tar.bz2
-| | | |-- soprano.SlackBuild
-| | | `-- soprano.info
-| | |-- startup-notification
-| | | |-- slack-desc
-| | | |-- startup-notification-0.9.tar.bz2
-| | | `-- startup-notification.SlackBuild
-| | |-- strigi
-| | | |-- slack-desc
-| | | |-- strigi-0.6.4.tar.bz2
-| | | |-- strigi.SlackBuild
-| | | `-- strigi.info
-| | |-- svgalib
-| | | |-- slack-desc
-| | | |-- svgalib-1.9.25-kernel-2.6.26.diff.gz
-| | | |-- svgalib-1.9.25.tar.bz2
-| | | |-- svgalib.SlackBuild
-| | | |-- svgalib.nohelper.diff.gz
-| | | `-- svgalib.prefix.diff.gz
-| | |-- t1lib
-| | | |-- slack-desc
-| | | |-- t1lib-5.1.2.tar.xz
-| | | `-- t1lib.SlackBuild
-| | |-- taglib
-| | | |-- slack-desc
-| | | |-- taglib-1.5.tar.bz2
-| | | `-- taglib.SlackBuild
-| | |-- taglib-extras
-| | | |-- slack-desc
-| | | |-- taglib-extras-0.1.3.tar.gz
-| | | `-- taglib-extras.SlackBuild
-| | |-- tango-icon-theme
-| | | |-- slack-desc
-| | | |-- tango-icon-theme-0.8.90.tar.bz2
-| | | `-- tango-icon-theme.SlackBuild
-| | |-- tango-icon-theme-extras
-| | | |-- slack-desc
-| | | |-- tango-icon-theme-extras-0.1.0.tar.bz2
-| | | `-- tango-icon-theme-extras.SlackBuild
-| | |-- urwid
-| | | |-- LICENSE.gz
-| | | |-- slack-desc
-| | | |-- urwid-0.9.8.4.tar.gz
-| | | |-- urwid.SlackBuild
-| | | `-- urwid.url
-| | |-- vte
-| | | |-- slack-desc
-| | | |-- vte-0.20.5.tar.xz
-| | | `-- vte.SlackBuild
-| | |-- wavpack
-| | | |-- slack-desc
-| | | |-- wavpack-4.41.0.tar.bz2
-| | | `-- wavpack.SlackBuild
-| | |-- wv2
-| | | |-- slack-desc
-| | | |-- wv2-0.2.3.tar.bz2
-| | | |-- wv2-0.2.3.tar.bz2.asc
-| | | `-- wv2.SlackBuild
-| | `-- zlib
-| | |-- slack-desc
-| | |-- zlib-1.2.3.tar.bz2
-| | `-- zlib.SlackBuild
-| |-- n
-| | |-- alpine
-| | | |-- alpine-2.00.tar.bz2
-| | | |-- alpine.SlackBuild
-| | | |-- alpine.config.h.diff.gz
-| | | |-- alpine.manpage.diff.gz
-| | | |-- alpine.tech-notes.txt.diff.gz
-| | | |-- doinst.sh.alpine
-| | | |-- pinepgp-0.18.0-makefile-sed-fix.diff.gz
-| | | |-- pinepgp-0.18.0.tar.gz
-| | | |-- pinepgp-0.18.0.tar.gz.sig
-| | | |-- pinepgp.pinegpgp.in.diff.gz
-| | | |-- slack-desc.alpine
-| | | `-- slack-desc.imapd
-| | |-- autofs
-| | | |-- autofs-3.1.7.diff.gz
-| | | |-- autofs-3.1.7.tar.bz2
-| | | |-- autofs-3.1.7.tar.bz2.sign
-| | | |-- autofs.SlackBuild
-| | | |-- autofs.gcc.fix.diff.gz
-| | | |-- autofs.x86_64.diff.gz
-| | | `-- slack-desc
-| | |-- biff+comsat
-| | | |-- biff+comsat-0.17.diff.gz
-| | | |-- biff+comsat-0.17.tar.gz
-| | | |-- biff+comsat.SlackBuild
-| | | |-- biff+comsat.badutmp.diff.gz
-| | | |-- biff+comsat.offset.diff.gz
-| | | `-- slack-desc
-| | |-- bind
-| | | |-- 3link.sh
-| | | |-- bind-9.4.3-P3.tar.gz
-| | | |-- bind-9.4.3-P3.tar.gz.asc
-| | | |-- bind.SlackBuild
-| | | |-- bind.man.diff.gz
-| | | |-- bind.so_bsdcompat.diff.gz
-| | | |-- bind.var.run.named.diff.gz
-| | | |-- caching-example
-| | | | |-- localhost.zone
-| | | | |-- named.conf
-| | | | |-- named.local
-| | | | `-- named.root
-| | | |-- doinst.sh.gz
-| | | |-- rc.bind
-| | | `-- slack-desc
-| | |-- bluez-firmware
-| | | |-- bluez-firmware-1.2.tar.bz2
-| | | |-- bluez-firmware.SlackBuild
-| | | `-- slack-desc
-| | |-- bluez-hcidump
-| | | |-- bluez-hcidump-1.42.tar.bz2
-| | | |-- bluez-hcidump.SlackBuild
-| | | `-- slack-desc
-| | |-- bluez-libs
-| | | |-- bluez-libs-3.36.tar.bz2
-| | | |-- bluez-libs.SlackBuild
-| | | `-- slack-desc
-| | |-- bluez-utils
-| | | |-- 60-bluetooth.rules
-| | | |-- README.SLACKWARE
-| | | |-- add-passkey.c
-| | | |-- bluetooth.conf
-| | | |-- bluez-utils-3.36.tar.bz2
-| | | |-- bluez-utils.SlackBuild
-| | | |-- doinst.sh.gz
-| | | |-- rc.bluetooth
-| | | |-- rc.bluetooth.conf
-| | | |-- register-passkeys
-| | | `-- slack-desc
-| | |-- bootp
-| | | |-- _bootp.tar.gz
-| | | |-- bootp.SlackBuild
-| | | |-- bootp_2.4.3-15.diff.gz
-| | | |-- bootp_2.4.3.orig.tar.gz
-| | | |-- bootptab.gz
-| | | `-- slack-desc
-| | |-- bridge-utils
-| | | |-- bridge-utils-1.2.tar.gz
-| | | |-- bridge-utils.SlackBuild
-| | | |-- bridge-utils.isbridge.diff.gz
-| | | `-- slack-desc
-| | |-- bsd-finger
-| | | |-- bsd-finger-0.17.diff.gz
-| | | |-- bsd-finger-0.17.tar.gz
-| | | |-- bsd-finger.SlackBuild
-| | | `-- slack-desc
-| | |-- crda
-| | | |-- crda-1.0.1.tar.bz2
-| | | |-- crda.SlackBuild
-| | | |-- get_regdb.sh
-| | | |-- slack-desc
-| | | `-- wireless-regdb-git_20090222.tar.bz2
-| | |-- curl
-| | | |-- cacert.pem.bz2
-| | | |-- curl-7.19.6.tar.bz2
-| | | |-- curl-7.19.6.tar.bz2.asc
-| | | |-- curl.SlackBuild
-| | | `-- slack-desc
-| | |-- cyrus-sasl
-| | | |-- cyrus-sasl-2.1.23.tar.xz
-| | | |-- cyrus-sasl.SlackBuild
-| | | |-- doinst.sh.gz
-| | | |-- rc.saslauthd.gz
-| | | `-- slack-desc
-| | |-- dhcp
-| | | |-- dhcp-3.1.2p1.tar.gz
-| | | |-- dhcp-3.1.2p1.tar.gz.asc
-| | | |-- dhcp.SlackBuild
-| | | `-- slack-desc
-| | |-- dhcpcd
-| | | |-- COPYRIGHT.gz
-| | | |-- dhcpcd-3.2.3.tar.bz2
-| | | |-- dhcpcd.SlackBuild
-| | | |-- dhcpcd.vararg.diff.gz
-| | | |-- patches
-| | | | |-- config.h.diff.gz
-| | | | |-- dhcpcd.8.in.diff.gz
-| | | | `-- dhcpcd.sh.diff.gz
-| | | `-- slack-desc
-| | |-- dirmngr
-| | | |-- dirmngr-1.0.3.tar.bz2
-| | | |-- dirmngr.SlackBuild
-| | | `-- slack-desc
-| | |-- dnsmasq
-| | | |-- dnsmasq-2.49.tar.bz2
-| | | |-- dnsmasq.SlackBuild
-| | | |-- dnsmasq.leasedir.diff.gz
-| | | |-- doinst.sh.gz
-| | | |-- rc.dnsmasq.gz
-| | | `-- slack-desc
-| | |-- elm
-| | | |-- config.sh
-| | | |-- elm.SlackBuild
-| | | |-- elm2.5.8.tar.bz2
-| | | `-- slack-desc
-| | |-- epic4
-| | | |-- epic4-2.8.tar.bz2
-| | | |-- epic4-help-20070509.tar.bz2
-| | | |-- epic4.SlackBuild
-| | | `-- slack-desc
-| | |-- ethtool
-| | | |-- ethtool-6.tar.gz
-| | | |-- ethtool.SlackBuild
-| | | `-- slack-desc
-| | |-- fetchmail
-| | | |-- fetchmail-6.3.11.tar.bz2
-| | | |-- fetchmail-6.3.11.tar.bz2.asc
-| | | |-- fetchmail.SlackBuild
-| | | `-- slack-desc
-| | |-- getmail
-| | | |-- getmail-4.11.0.tar.gz
-| | | |-- getmail.SlackBuild
-| | | `-- slack-desc
-| | |-- gnupg
-| | | |-- gnupg-1.4.9.tar.bz2
-| | | |-- gnupg-1.4.9.tar.bz2.sig
-| | | |-- gnupg.SlackBuild
-| | | `-- slack-desc.gnupg
-| | |-- gnupg2
-| | | |-- gnupg-2.0.12.tar.bz2
-| | | |-- gnupg2.SlackBuild
-| | | `-- slack-desc
-| | |-- gnutls
-| | | |-- gnutls-2.6.6.tar.xz
-| | | |-- gnutls.SlackBuild
-| | | `-- slack-desc
-| | |-- gpa
-| | | |-- doinst.sh.gz
-| | | |-- gpa-0.7.5.tar.bz2
-| | | |-- gpa.SlackBuild
-| | | `-- slack-desc
-| | |-- gpgme
-| | | |-- gpgme-1.1.8.tar.bz2
-| | | |-- gpgme.SlackBuild
-| | | `-- slack-desc
-| | |-- htdig
-| | | |-- doinst.sh.gz
-| | | |-- htdig-3.2.0b6.diff.gz
-| | | |-- htdig-3.2.0b6.tar.bz2
-| | | |-- htdig.SlackBuild
-| | | |-- htdig.conf.diff.gz
-| | | `-- slack-desc
-| | |-- httpd
-| | | |-- README
-| | | |-- config.layout.diff.gz
-| | | |-- doinst.sh.gz
-| | | |-- httpd-2.2.13.tar.bz2
-| | | |-- httpd-2.2.13.tar.bz2.asc
-| | | |-- httpd.SlackBuild
-| | | |-- httpd.nossldefault.diff.gz
-| | | |-- httpd.runasapache.diff.gz
-| | | |-- logrotate.httpd
-| | | |-- rc.httpd
-| | | `-- slack-desc
-| | |-- icmpinfo
-| | | |-- icmpinfo-1.11.diff.gz
-| | | |-- icmpinfo-1.11.tar.gz
-| | | |-- icmpinfo.SlackBuild
-| | | `-- slack-desc
-| | |-- inetd
-| | | |-- _inetd.tar.gz
-| | | |-- inetd-OpenBSD-1.79.diff.gz
-| | | |-- inetd-OpenBSD-1.79.tar.gz
-| | | |-- inetd.SlackBuild
-| | | |-- inetd.loopingdos.diff.gz
-| | | `-- slack-desc
-| | |-- iproute2
-| | | |-- doinst.sh.gz
-| | | |-- iproute2-2.6.29-1.tar.bz2
-| | | |-- iproute2-2.6.29-1.tar.bz2.sig
-| | | |-- iproute2.SlackBuild
-| | | |-- iproute2.dbpath.diff.gz
-| | | |-- iproute2.iptablespath.diff.gz
-| | | `-- slack-desc
-| | |-- iptables
-| | | |-- iptables-1.4.3.2.tar.bz2
-| | | |-- iptables.SlackBuild
-| | | `-- slack-desc
-| | |-- iptraf
-| | | |-- iptraf-3.0.0.tar.gz
-| | | |-- iptraf.SlackBuild
-| | | |-- iptraf.paths.diff.gz
-| | | |-- iptraf_3.0.0-6.diff.gz
-| | | `-- slack-desc
-| | |-- iputils
-| | | |-- iputils-s20070202.tar.bz2
-| | | |-- iputils.SlackBuild
-| | | `-- slack-desc
-| | |-- ipw2100-fw
-| | | |-- ipw2100-fw-1.3.tar.bz2
-| | | `-- ipw2100-fw.SlackBuild
-| | |-- ipw2200-fw
-| | | |-- ipw2200-fw-3.0.tar.bz2
-| | | `-- ipw2200-fw.SlackBuild
-| | |-- irssi
-| | | |-- doinst.sh.gz
-| | | |-- irsi-0.8.14.manpage_fix.diff.gz
-| | | |-- irssi-0.8.14.tar.bz2
-| | | |-- irssi-0.8.14.tar.bz2.sig
-| | | |-- irssi.SlackBuild
-| | | `-- slack-desc
-| | |-- iw
-| | | |-- iw-0.9.14.tar.bz2
-| | | |-- iw.SlackBuild
-| | | |-- iw.info
-| | | `-- slack-desc
-| | |-- iwlwifi-3945-ucode
-| | | |-- iwlwifi-3945-ucode-15.28.1.8.tar.bz2
-| | | |-- iwlwifi-3945-ucode-15.32.2.9.tar.bz2
-| | | |-- iwlwifi-3945-ucode.SlackBuild
-| | | `-- slack-desc
-| | |-- iwlwifi-4965-ucode
-| | | |-- iwlwifi-4965-ucode-228.57.1.21.tar.bz2
-| | | |-- iwlwifi-4965-ucode-228.61.2.24.tar.bz2
-| | | |-- iwlwifi-4965-ucode.SlackBuild
-| | | `-- slack-desc
-| | |-- iwlwifi-5000-ucode
-| | | |-- iwlwifi-5000-ucode-5.4.A.11.tar.bz2
-| | | |-- iwlwifi-5000-ucode-8.24.2.12.tar.bz2
-| | | |-- iwlwifi-5000-ucode.SlackBuild
-| | | `-- slack-desc
-| | |-- iwlwifi-5150-ucode
-| | | |-- iwlwifi-5150-ucode-8.24.2.2.tar.bz2
-| | | |-- iwlwifi-5150-ucode.SlackBuild
-| | | `-- slack-desc
-| | |-- lftp
-| | | |-- doinst.sh.gz
-| | | |-- lftp-3.7.14.tar.bz2
-| | | |-- lftp.SlackBuild
-| | | `-- slack-desc
-| | |-- libassuan
-| | | |-- libassuan-1.0.4.tar.bz2
-| | | |-- libassuan-1.0.4.tar.bz2.sig
-| | | |-- libassuan.SlackBuild
-| | | `-- slack-desc
-| | |-- libgcrypt
-| | | |-- libgcrypt-1.4.4.tar.bz2
-| | | |-- libgcrypt.SlackBuild
-| | | `-- slack-desc
-| | |-- libgpg-error
-| | | |-- libgpg-error-1.7.tar.bz2
-| | | |-- libgpg-error.SlackBuild
-| | | `-- slack-desc
-| | |-- libksba
-| | | |-- libksba-1.0.6.tar.bz2
-| | | |-- libksba.SlackBuild
-| | | `-- slack-desc
-| | |-- links
-| | | |-- links-2.2.tar.bz2
-| | | |-- links.SlackBuild
-| | | `-- slack-desc
-| | |-- lynx
-| | | |-- lynx.SlackBuild
-| | | |-- lynx.cfg.diff.gz
-| | | |-- lynx.path.diff.gz
-| | | |-- lynx2.8.6rel.5.tar.bz2
-| | | `-- slack-desc
-| | |-- mailx
-| | | |-- doinst.sh.gz
-| | | |-- mailx-12.4.tar.bz2
-| | | |-- mailx.SlackBuild
-| | | `-- slack-desc
-| | |-- mcabber
-| | | |-- mcabber-0.9.9.tar.bz2
-| | | |-- mcabber.SlackBuild
-| | | `-- slack-desc
-| | |-- metamail
-| | | |-- metamail-2.7.tar.xz
-| | | |-- metamail.SlackBuild
-| | | |-- metamail.automake.diff.xz
-| | | |-- metamail_2.7-52.diff.xz
-| | | `-- slack-desc
-| | |-- mtr
-| | | |-- mtr-0.73.configure.error.diff.gz
-| | | |-- mtr-0.73.tar.bz2
-| | | |-- mtr.SlackBuild
-| | | `-- slack-desc
-| | |-- mutt
-| | | |-- doinst.sh.gz
-| | | |-- mutt-1.4.2.3.tar.bz2
-| | | |-- mutt.SlackBuild
-| | | `-- slack-desc
-| | |-- nc
-| | | |-- nc-110-21.diff.gz
-| | | |-- nc.SlackBuild
-| | | |-- nc.diff.gz
-| | | |-- nc110.tgz
-| | | `-- slack-desc
-| | |-- ncftp
-| | | |-- ncftp-3.2.2-src.tar.bz2
-| | | |-- ncftp.SlackBuild
-| | | `-- slack-desc
-| | |-- net-snmp
-| | | |-- doinst.sh.gz
-| | | |-- net-snmp-5.4.2.1.tar.bz2
-| | | |-- net-snmp.SlackBuild
-| | | |-- rc.snmpd
-| | | |-- slack-desc
-| | | `-- snmpd.conf.gz
-| | |-- net-tools
-| | | |-- ipmask.8
-| | | |-- ipmask.c
-| | | |-- net-tools-1.60.tar.bz2
-| | | |-- net-tools.SlackBuild
-| | | |-- net-tools.diff.gz
-| | | |-- net-tools_1.60-19.diff.gz
-| | | `-- slack-desc
-| | |-- netatalk
-| | | |-- afppasswd
-| | | |-- doinst.sh.gz
-| | | |-- netatalk-2.0.4-afpdconf.diff.gz
-| | | |-- netatalk-2.0.4-without_xfs.diff.gz
-| | | |-- netatalk-2.0.4.tar.xz
-| | | |-- netatalk.SlackBuild
-| | | |-- netatalk.etc2ps.diff.gz
-| | | |-- rc.atalk.new
-| | | `-- slack-desc
-| | |-- netdate
-| | | |-- netdate.SlackBuild
-| | | |-- netdate.diff.gz
-| | | |-- netdate.diff2.gz
-| | | |-- netdate.tar.gz
-| | | `-- slack-desc
-| | |-- netkit-bootparamd
-| | | |-- netkit-bootparamd-0.17.tar.gz
-| | | |-- netkit-bootparamd.SlackBuild
-| | | `-- slack-desc
-| | |-- netkit-ftp
-| | | |-- netkit-ftp-0.17.tar.gz
-| | | |-- netkit-ftp.SlackBuild
-| | | `-- slack-desc
-| | |-- netkit-ntalk
-| | | |-- netkit-ntalk-0.11.diff.gz
-| | | |-- netkit-ntalk-0.11.tar.gz
-| | | |-- netkit-ntalk-0.17.diff.gz
-| | | |-- netkit-ntalk-0.17.tar.gz
-| | | |-- netkit-ntalk.SlackBuild
-| | | |-- ntalk-0.17-slackware-alt-talkd.patch.gz
-| | | `-- slack-desc
-| | |-- netkit-routed
-| | | |-- netkit-routed-0.17.diff.gz
-| | | |-- netkit-routed-0.17.tar.gz
-| | | |-- netkit-routed.SlackBuild
-| | | |-- routed.18.candidate.final.patch.gz
-| | | `-- slack-desc
-| | |-- netkit-rsh
-| | | |-- netkit-rsh-0.17.tar.gz
-| | | |-- netkit-rsh.SlackBuild
-| | | `-- slack-desc
-| | |-- netkit-rusers
-| | | |-- netkit-rusers-0.17.diff.gz
-| | | |-- netkit-rusers-0.17.tar.gz
-| | | |-- netkit-rusers.SlackBuild
-| | | `-- slack-desc
-| | |-- netkit-rwall
-| | | |-- netkit-rwall-0.17.tar.gz
-| | | |-- netkit-rwall.SlackBuild
-| | | `-- slack-desc
-| | |-- netkit-rwho
-| | | |-- netkit-rwho-0.17.diff.gz
-| | | |-- netkit-rwho-0.17.tar.gz
-| | | |-- netkit-rwho.SlackBuild
-| | | |-- rwhod_getloadavg.diff.gz
-| | | `-- slack-desc
-| | |-- netkit-timed
-| | | |-- netkit-timed-0.17.diff.gz
-| | | |-- netkit-timed-0.17.tar.gz
-| | | |-- netkit-timed.SlackBuild
-| | | `-- slack-desc
-| | |-- netpipes
-| | | |-- _netpipes.tar.gz
-| | | |-- netpipes-4.2-export.tar.gz
-| | | |-- netpipes.SlackBuild
-| | | `-- slack-desc
-| | |-- netwatch
-| | | |-- netwatch-1.3.0-1.tar.gz
-| | | |-- netwatch.SlackBuild
-| | | |-- netwatch.makefile.diff.gz
-| | | |-- netwatch.phonemyself.diff.gz
-| | | `-- slack-desc
-| | |-- network-scripts
-| | | |-- README.rc.inet1
-| | | |-- doinst.sh.gz
-| | | |-- manpages
-| | | | |-- rc.inet1.8
-| | | | `-- rc.inet1.conf.5
-| | | |-- network-scripts.SlackBuild
-| | | |-- scripts
-| | | | |-- HOSTNAME
-| | | | |-- host.conf
-| | | | |-- hosts
-| | | | |-- hosts.allow
-| | | | |-- hosts.deny
-| | | | |-- hosts.equiv
-| | | | |-- netconfig
-| | | | |-- networks
-| | | | |-- nntpserver
-| | | | |-- protocols
-| | | | |-- rc.inet1
-| | | | |-- rc.inet1.conf
-| | | | |-- rc.inet2
-| | | | |-- rc.ip_forward
-| | | | |-- resolv.conf
-| | | | `-- setup.netconfig
-| | | `-- slack-desc
-| | |-- netwrite
-| | | |-- netwrite-0.17.diff.gz
-| | | |-- netwrite-0.17.tar.gz
-| | | |-- netwrite.SlackBuild
-| | | `-- slack-desc
-| | |-- newspost
-| | | |-- newspost-2.1.1.tar.gz
-| | | |-- newspost.SlackBuild
-| | | `-- slack-desc
-| | |-- nfs-utils
-| | | |-- _nfs-utils.tar.gz
-| | | |-- nfs-utils-1.1.4.tar.bz2
-| | | |-- nfs-utils-1.1.4.tar.bz2.sign
-| | | |-- nfs-utils.SlackBuild
-| | | |-- nfs-utils.lwrap.needs.lnsl.diff.gz
-| | | |-- rc.nfsd
-| | | `-- slack-desc
-| | |-- nmap
-| | | |-- nmap-5.00.tar.xz
-| | | |-- nmap.SlackBuild
-| | | |-- nmap.ndiff.mandir.diff.gz
-| | | `-- slack-desc
-| | |-- nn
-| | | |-- NNTP.gz
-| | | |-- doinst.sh.gz
-| | | |-- nn-6.7.3.tar.bz2
-| | | |-- nn.SlackBuild
-| | | |-- nn.badnntphost.diff.gz
-| | | |-- nn.destdir.diff.gz
-| | | |-- nn.diff.gz
-| | | |-- nntpserver.gz
-| | | `-- slack-desc
-| | |-- ntp
-| | | |-- doinst.sh.gz
-| | | |-- ntp-4.2.4p7.tar.xz
-| | | |-- ntp.SlackBuild
-| | | |-- ntp.conf
-| | | |-- ntp.keys
-| | | |-- rc.ntpd
-| | | `-- slack-desc
-| | |-- obexftp
-| | | |-- obexftp-0.23.tar.bz2
-| | | |-- obexftp.SlackBuild
-| | | `-- slack-desc
-| | |-- openldap-client
-| | | |-- doinst.sh.gz
-| | | |-- openldap-2.3.43.tar.bz2
-| | | |-- openldap-client.SlackBuild
-| | | `-- slack-desc
-| | |-- openobex
-| | | |-- openobex-1.3.tar.bz2
-| | | |-- openobex.SlackBuild
-| | | `-- slack-desc
-| | |-- openssh
-| | | |-- doinst.sh.gz
-| | | |-- openssh-5.2p1.tar.bz2
-| | | |-- openssh.SlackBuild
-| | | |-- rc.sshd
-| | | `-- slack-desc
-| | |-- openssl
-| | | |-- certwatch.gz
-| | | |-- doinst.sh-openssl-solibs.gz
-| | | |-- doinst.sh-openssl.gz
-| | | |-- openssl-0.9.8k.tar.bz2
-| | | |-- openssl.SlackBuild
-| | | |-- openssl.no-extssl.diff.gz
-| | | |-- openssl.optsx86.diff.gz
-| | | |-- openssl.soname.diff.gz
-| | | |-- slack-desc.openssl
-| | | `-- slack-desc.openssl-solibs
-| | |-- openvpn
-| | | |-- README
-| | | |-- openvpn-2.0.9.tar.gz
-| | | |-- openvpn-2.0.9.tar.gz.asc
-| | | |-- openvpn.SlackBuild
-| | | |-- openvpn.conf.sample
-| | | `-- slack-desc
-| | |-- php
-| | | |-- channels
-| | | | |-- pear.php.net.reg
-| | | | `-- pecl.php.net.reg
-| | | |-- doinst.sh.gz
-| | | |-- mod_php.conf.example
-| | | |-- pear
-| | | |-- php-5.2.10.tar.bz2
-| | | |-- php.SlackBuild
-| | | |-- php.ini.diff.gz
-| | | |-- php.recommended.ini.diff.gz
-| | | `-- slack-desc
-| | |-- pidentd
-| | | |-- doinst.sh.gz
-| | | |-- pidentd-3.0.19.tar.gz
-| | | |-- pidentd-3.0.19.tar.gz.sig
-| | | |-- pidentd.SlackBuild
-| | | |-- pidentd.conf.diff.gz
-| | | `-- slack-desc
-| | |-- pinentry
-| | | |-- pinentry-0.7.6.tar.bz2
-| | | |-- pinentry.SlackBuild
-| | | `-- slack-desc
-| | |-- popa3d
-| | | |-- doinst.sh.gz
-| | | |-- popa3d-1.0.2.tar.gz
-| | | |-- popa3d-1.0.2.tar.gz.sign
-| | | |-- popa3d.SlackBuild
-| | | |-- popa3d.diff.gz
-| | | `-- slack-desc
-| | |-- portmap
-| | | |-- doinst.sh.gz
-| | | |-- portmap-6.0.tar.bz2
-| | | |-- portmap.SlackBuild
-| | | |-- portmap.lwrap.needs.lnsl.diff.gz
-| | | |-- rc.rpc.gz
-| | | `-- slack-desc
-| | |-- ppp
-| | | |-- doinst.sh.gz
-| | | |-- options.new.gz
-| | | |-- ppp-2.4.4.tar.bz2
-| | | |-- ppp.SlackBuild
-| | | |-- ppp.slack.diff.gz
-| | | |-- pppsetup-1.98.backupfiles.diff.gz
-| | | |-- pppsetup-1.98.moredevs.diff.gz
-| | | |-- pppsetup-1.98.pppoff.diff.gz
-| | | |-- pppsetup-1.98.slack.diff.gz
-| | | |-- pppsetup-1.98.tar.gz
-| | | |-- radius.msdict.gz
-| | | |-- radiusclient-0.3.2.tar.bz2
-| | | |-- realms.gz
-| | | |-- servers.gz
-| | | `-- slack-desc
-| | |-- procmail
-| | | |-- _procmail.tar.gz
-| | | |-- procmail-3.22.tar.gz
-| | | |-- procmail-3.22.tar.gz.sig
-| | | |-- procmail.SlackBuild
-| | | |-- procmail.lfs.diff.gz
-| | | |-- procmail_3.22-5.diff.gz
-| | | `-- slack-desc
-| | |-- proftpd
-| | | |-- _proftpd.tar.gz
-| | | |-- doinst.sh.gz
-| | | |-- etc
-| | | | |-- ftpusers
-| | | | `-- proftpd.conf
-| | | |-- proftpd-1.3.2.tar.bz2
-| | | |-- proftpd-1.3.2.tar.bz2.asc
-| | | |-- proftpd.SlackBuild
-| | | `-- slack-desc
-| | |-- pssh
-| | | |-- pssh-1.3.1.tar.gz
-| | | |-- pssh.SlackBuild
-| | | `-- slack-desc
-| | |-- pth
-| | | |-- pth-2.0.7.tar.bz2
-| | | |-- pth.SlackBuild
-| | | `-- slack-desc
-| | |-- rdist
-| | | |-- _rdist.tar.gz
-| | | |-- rdist-6.1.5-bison.diff.gz
-| | | |-- rdist-6.1.5-cleanup.diff.gz
-| | | |-- rdist-6.1.5-varargs.diff.gz
-| | | |-- rdist-6.1.5.diff.gz
-| | | |-- rdist-6.1.5.tar.gz
-| | | |-- rdist.SlackBuild
-| | | `-- slack-desc
-| | |-- rp-pppoe
-| | | |-- doinst.sh.gz
-| | | |-- rp-pppoe-3.10.tar.gz
-| | | |-- rp-pppoe.SlackBuild
-| | | `-- slack-desc
-| | |-- rsync
-| | | |-- rsync-3.0.6.tar.xz
-| | | |-- rsync.SlackBuild
-| | | `-- slack-desc
-| | |-- rt61-firmware
-| | | |-- RT61_Firmware_V1.2.zip
-| | | |-- rt61-firmware.SlackBuild
-| | | `-- slack-desc
-| | |-- rt71w-firmware
-| | | |-- RT71W_Firmware_V1.8.zip
-| | | |-- rt71w-firmware.SlackBuild
-| | | `-- slack-desc
-| | |-- samba
-| | | |-- doinst.sh.gz
-| | | |-- rc.samba
-| | | |-- samba-3.2.13.tar.xz
-| | | |-- samba.SlackBuild
-| | | |-- slack-desc
-| | | |-- smb.conf.default
-| | | |-- smb.conf.default.orig
-| | | `-- smb.conf.diff.gz
-| | |-- sendmail
-| | | |-- Build.gz
-| | | |-- SlackBuild
-| | | |-- SlackBuild-sendmail
-| | | |-- SlackBuild-sendmail-cf
-| | | |-- _sendmail.tar.gz
-| | | |-- linux.uucp.mc
-| | | |-- sendmail-slackware-tls-sasl.mc
-| | | |-- sendmail-slackware-tls.mc
-| | | |-- sendmail-slackware.mc
-| | | |-- sendmail.8.14.3.tar.gz
-| | | |-- sendmail.8.14.3.tar.gz.sig
-| | | |-- site.config.m4
-| | | |-- slack-desc.sendmail
-| | | `-- slack-desc.sendmail-cf
-| | |-- slrn
-| | | |-- doinst.sh.gz
-| | | |-- slack-desc
-| | | |-- slrn-0.9.9p1.tar.bz2
-| | | `-- slrn.SlackBuild
-| | |-- snownews
-| | | |-- slack-desc
-| | | |-- snownews-1.5.11.tar.gz
-| | | |-- snownews-1.5.11.tar.gz.asc
-| | | `-- snownews.SlackBuild
-| | |-- stunnel
-| | | |-- doinst.sh.gz
-| | | |-- generate-stunnel-key.sh
-| | | |-- slack-desc
-| | | |-- stunnel-4.17.tar.gz
-| | | |-- stunnel-4.17.tar.gz.asc
-| | | `-- stunnel.SlackBuild
-| | |-- tcp_wrappers
-| | | |-- slack-desc
-| | | |-- tcp_wrappers.SlackBuild
-| | | `-- tcp_wrappers_7.6.tar.gz
-| | |-- tcpdump
-| | | |-- libpcap-1.0.0.tar.gz
-| | | |-- libpcap-1.0.0.tar.gz.sig
-| | | |-- slack-desc
-| | | |-- tcpdump-4.0.0.tar.gz
-| | | |-- tcpdump-4.0.0.tar.gz.sig
-| | | `-- tcpdump.SlackBuild
-| | |-- telnet
-| | | |-- netkit-telnet-0.17-ayt.patch.gz
-| | | |-- netkit-telnet-0.17.diff.gz
-| | | |-- netkit-telnet-0.17.tar.gz
-| | | |-- slack-desc
-| | | |-- telnet-OpenBSD-014_telnet.diff.gz
-| | | |-- telnet-OpenBSD-20020321.diff.gz
-| | | |-- telnet-OpenBSD-20020321.tar.gz
-| | | `-- telnet.SlackBuild
-| | |-- tftp-hpa
-| | | |-- slack-desc
-| | | |-- tftp-hpa-0.48.tar.bz2
-| | | |-- tftp-hpa-0.48.tar.bz2.sign
-| | | `-- tftp-hpa.SlackBuild
-| | |-- tin
-| | | |-- slack-desc
-| | | |-- tin-1.8.2.tar.bz2
-| | | |-- tin-1.8.2.tar.bz2.sign
-| | | `-- tin.SlackBuild
-| | |-- traceroute
-| | | |-- slack-desc
-| | | |-- traceroute-1.4a12.tar.gz
-| | | |-- traceroute.SlackBuild
-| | | |-- traceroute.no.domain.strip.diff.gz
-| | | `-- traceroute_1.4a12-5.diff.gz
-| | |-- trn
-| | | |-- _trn.tar.gz
-| | | |-- config.sh.gz
-| | | |-- config.x86_64.sh.gz
-| | | |-- slack-desc
-| | | |-- trn-3.6.tar.gz
-| | | `-- trn.SlackBuild
-| | |-- uucp
-| | | |-- _uucp.tar.gz
-| | | |-- policy.h.diff.gz
-| | | |-- slack-desc
-| | | |-- uucp-1.07.tar.gz
-| | | `-- uucp.SlackBuild
-| | |-- vlan
-| | | |-- slack-desc
-| | | |-- vlan.1.9.tar.bz2
-| | | `-- vlan.SlackBuild
-| | |-- vsftpd
-| | | |-- doinst.sh.gz
-| | | |-- slack-desc
-| | | |-- vsftpd-2.1.2.tar.xz
-| | | |-- vsftpd.SlackBuild
-| | | |-- vsftpd.builddefs.diff.gz
-| | | |-- vsftpd.conf.diff.gz
-| | | |-- vsftpd.log.gz
-| | | `-- vsftpd.vsf_findlibs.sh.diff.gz
-| | |-- wget
-| | | |-- doinst.sh.gz
-| | | |-- slack-desc
-| | | |-- wget-1.11.4.tar.bz2
-| | | `-- wget.SlackBuild
-| | |-- whois
-| | | |-- slack-desc
-| | | |-- whois.SlackBuild
-| | | `-- whois_4.7.26.tar.gz
-| | |-- wireless-tools
-| | | |-- doinst.sh.gz
-| | | |-- scripts
-| | | | |-- rc.wireless
-| | | | `-- rc.wireless.conf
-| | | |-- slack-desc
-| | | |-- wireless_tools.29.tar.gz
-| | | |-- wireless_tools.SlackBuild
-| | | |-- wireless_tools.nowhine.diff.gz
-| | | `-- wireless_tools.static.diff.gz
-| | |-- wpa_supplicant
-| | | |-- README.slackware
-| | | |-- slack-desc
-| | | |-- wpa_gui.png
-| | | |-- wpa_supplicant-0.6.9.tar.bz2
-| | | |-- wpa_supplicant.SlackBuild
-| | | `-- wpa_supplicant.defconfig
-| | |-- yptools
-| | | |-- nsswitch.conf-nis.gz
-| | | |-- rc.yp.gz
-| | | |-- slack-desc
-| | | |-- yp-tools-2.9.tar.bz2
-| | | |-- yp-tools-2.9.tar.bz2.sign
-| | | |-- ypbind-mt-1.19.1.tar.bz2
-| | | |-- ypbind-mt-1.19.1.tar.bz2.sign
-| | | |-- ypserv-2.18.tar.bz2
-| | | |-- ypserv-2.18.tar.bz2.sign
-| | | `-- yptools.SlackBuild
-| | |-- ytalk
-| | | |-- doinst.sh.gz
-| | | |-- slack-desc
-| | | |-- ytalk-3.3.0.tar.bz2
-| | | `-- ytalk.SlackBuild
-| | `-- zd1211-firmware
-| | |-- zd1211-firmware-1.4.tar.bz2
-| | `-- zd1211-firmware.SlackBuild
-| |-- t
-| | |-- tetex
-| | | |-- jadetex-3.13.tar.gz
-| | | |-- jadetex.build
-| | | |-- profile.d
-| | | | |-- tetex.csh
-| | | | `-- tetex.sh
-| | | |-- slack-desc.tetex
-| | | |-- slack-desc.tetex-doc
-| | | |-- tetex-src-3.0.tar.xz
-| | | |-- tetex-texmf-3.0.tar.xz
-| | | |-- tetex-texmfsrc-3.0.tar.xz
-| | | |-- tetex.CVE-2005-3193.diff.gz
-| | | |-- tetex.SlackBuild
-| | | |-- tetex.amstex.fmtutil.diff.gz
-| | | |-- tetex.browsers.diff.gz
-| | | |-- tetex.dvipdfm.mkstemp.diff.gz
-| | | |-- tetex.etex.diff.gz
-| | | |-- tetex.fontcachedirinhome.diff.gz
-| | | |-- tetex.scripts.mktemp.diff.gz
-| | | |-- tetex.tmp.cleanup.diff.gz
-| | | `-- tetex.var.fonts.diff.gz
-| | |-- transfig
-| | | |-- slack-desc
-| | | |-- transfig.3.2.4-gcc4.patch.gz
-| | | |-- transfig.3.2.4.tar.gz
-| | | |-- transfig.SlackBuild
-| | | `-- transfig.diff.gz
-| | `-- xfig
-| | |-- slack-desc
-| | |-- xfig-3.2.4-mkstemp.diff.gz
-| | |-- xfig.3.2.3d-international-std-fonts.diff.gz
-| | |-- xfig.3.2.3d-xcolor.diff.gz
-| | |-- xfig.3.2.3d-xim.diff.gz
-| | |-- xfig.3.2.4-gcc4.diff.gz
-| | |-- xfig.3.2.4-locale.diff.gz
-| | |-- xfig.3.2.4-null.diff.gz
-| | |-- xfig.3.2.4-quiet.diff.gz
-| | |-- xfig.3.2.4-urw-fonts.diff.gz
-| | |-- xfig.3.2.4.diff.gz
-| | |-- xfig.3.2.4.full.tar.bz2
-| | |-- xfig.SlackBuild
-| | |-- xfig.docs.location.diff.gz
-| | |-- xfig.fig.ad.diff.gz
-| | |-- xfig.no.pdf.ref.diff.gz
-| | `-- xfig.no.xfig_ref_en.pdf.diff.gz
-| |-- tcl
-| | |-- expect
-| | | |-- expect-5.44.1.11.tar.bz2
-| | | |-- expect.SlackBuild
-| | | |-- expect.exp_main_tk.c.version.require.diff.gz
-| | | `-- slack-desc
-| | |-- hfsutils
-| | | |-- hfsutils-3.2.6.tar.gz
-| | | |-- hfsutils-3.2.6.tar.gz.sign
-| | | |-- hfsutils.SlackBuild
-| | | |-- hfsutils.errno.diff.gz
-| | | `-- slack-desc
-| | |-- tcl
-| | | |-- slack-desc
-| | | |-- tcl.SlackBuild
-| | | `-- tcl8.5.7-src.tar.xz
-| | |-- tclx
-| | | |-- slack-desc
-| | | |-- tclx-8.4.configure.diff.gz
-| | | |-- tclx-8.4.gcc4.diff.gz
-| | | |-- tclx.SlackBuild
-| | | `-- tclx8.4.tar.bz2
-| | |-- tix
-| | | |-- Tix8.4.3.tar.gz
-| | | |-- slack-desc
-| | | |-- tix.SlackBuild
-| | | |-- tix.soname.patch.gz
-| | | `-- tix.tcl8.5.patch.gz
-| | `-- tk
-| | |-- slack-desc
-| | |-- tk.SlackBuild
-| | `-- tk8.5.7-src.tar.xz
-| |-- x
-| | |-- anthy
-| | | |-- anthy-9100e.tar.gz
-| | | |-- anthy.SlackBuild
-| | | `-- slack-desc
-| | |-- dejavu-fonts-ttf
-| | | |-- dejavu-fonts-ttf-2.29.tar.bz2
-| | | |-- dejavu-fonts-ttf.SlackBuild
-| | | |-- doinst.sh.gz
-| | | `-- slack-desc
-| | |-- fontconfig
-| | | |-- fontconfig-2.6.0.tar.bz2
-| | | |-- fontconfig.SlackBuild
-| | | |-- fontconfig.dejavu.diff.gz
-| | | |-- fontconfig.font.dir.list.diff.gz
-| | | |-- setup.05.fontconfig
-| | | `-- slack-desc
-| | |-- glew
-| | | |-- glew-1.5.1-src.tar.xz
-| | | |-- glew.SlackBuild
-| | | |-- glew.url
-| | | `-- slack-desc
-| | |-- libdrm
-| | | |-- libdrm-2.4.12.tar.xz
-| | | |-- libdrm.SlackBuild
-| | | `-- slack-desc
-| | |-- liberation-fonts-ttf
-| | | |-- 60-liberation.conf
-| | | |-- doinst.sh.gz
-| | | |-- liberation-fonts-1.04.tar.bz2
-| | | |-- liberation-fonts-ttf.SlackBuild
-| | | `-- slack-desc
-| | |-- libhangul
-| | | |-- libhangul-0.0.7.tar.gz
-| | | |-- libhangul.SlackBuild
-| | | `-- slack-desc
-| | |-- m17n-lib
-| | | |-- internal-flt.h
-| | | |-- m17n-db-1.5.4.tar.gz
-| | | |-- m17n-docs-1.5.2.tar.gz
-| | | |-- m17n-docs_makefile.patch
-| | | |-- m17n-lib-1.5.4.tar.gz
-| | | |-- m17n-lib.SlackBuild
-| | | `-- slack-desc
-| | |-- mesa
-| | | |-- MesaDemos-7.5.tar.xz
-| | | |-- MesaGLUT-7.5.tar.xz
-| | | |-- MesaLib-7.5.tar.xz
-| | | |-- README.GIT
-| | | |-- get-mesa.sh
-| | | |-- mesa.SlackBuild
-| | | `-- slack-desc
-| | |-- sazanami-fonts-ttf
-| | | |-- sazanami-20040629.tar.bz2
-| | | |-- sazanami-fonts-ttf.SlackBuild
-| | | `-- slack-desc
-| | |-- scim
-| | | |-- scim-1.4.9.tar.gz
-| | | |-- scim-setup.desktop
-| | | |-- scim.SlackBuild
-| | | |-- scim.desktop
-| | | `-- slack-desc
-| | |-- scim-anthy
-| | | |-- scim-anthy-1.2.4.tar.gz
-| | | |-- scim-anthy.SlackBuild
-| | | |-- scim-anthy.gcc43.diff.gz
-| | | `-- slack-desc
-| | |-- scim-bridge
-| | | |-- scim-bridge-0.4.16.tar.gz
-| | | |-- scim-bridge.SlackBuild
-| | | `-- slack-desc
-| | |-- scim-hangul
-| | | |-- scim-hangul-0.3.2.tar.gz
-| | | |-- scim-hangul.SlackBuild
-| | | |-- scim-hangul.gcc43.diff.gz
-| | | `-- slack-desc
-| | |-- scim-input-pad
-| | | |-- scim-input-pad-0.1.2.tar.bz2
-| | | |-- scim-input-pad.SlackBuild
-| | | `-- slack-desc
-| | |-- scim-m17n
-| | | |-- scim-m17n-0.2.3.tar.gz
-| | | |-- scim-m17n.SlackBuild
-| | | `-- slack-desc
-| | |-- scim-pinyin
-| | | |-- scim-pinyin-0.5.91.tar.gz
-| | | |-- scim-pinyin.SlackBuild
-| | | |-- scim-pinyin.gcc43.diff.gz
-| | | `-- slack-desc
-| | |-- scim-tables
-| | | |-- scim-tables-0.5.9.tar.gz
-| | | |-- scim-tables.SlackBuild
-| | | `-- slack-desc
-| | |-- sinhala_lklug-font-ttf
-| | | |-- sinhala_lklug-font-ttf.SlackBuild
-| | | |-- sinhala_lklug.ttf
-| | | `-- slack-desc
-| | |-- tibmachuni-font-ttf
-| | | |-- TibetanMachineUnicodeFont.zip
-| | | |-- slack-desc
-| | | `-- tibmachuni-font-ttf.SlackBuild
-| | |-- ttf-indic-fonts
-| | | |-- COPYING.bz2
-| | | |-- Samyak_Malayalam.ttf.bz2
-| | | |-- Samyak_Malayalam.url
-| | | |-- doinst.sh.gz
-| | | |-- slack-desc
-| | | |-- ttf-indic-fonts-0.4.7.4.tar.bz2
-| | | |-- ttf-indic-fonts.SlackBuild
-| | | `-- ttf-indic-fonts.copyright.diff.gz
-| | |-- wqy-zenhei-font-ttf
-| | | |-- slack-desc
-| | | |-- wqy-zenhei-0.8.38-1.tar.bz2
-| | | `-- wqy-zenhei-font-ttf.SlackBuild
-| | |-- x11
-| | | |-- arch.use.flags
-| | | |-- build
-| | | | |-- appres
-| | | | |-- bdftopcf
-| | | | |-- bigreqsproto
-| | | | |-- bitmap
-| | | | |-- compiz
-| | | | |-- compositeproto
-| | | | |-- damageproto
-| | | | |-- dmxproto
-| | | | |-- editres
-| | | | |-- encodings
-| | | | |-- evieext
-| | | | |-- fixesproto
-| | | | |-- font-adobe-100dpi
-| | | | |-- font-adobe-75dpi
-| | | | |-- font-adobe-utopia-100dpi
-| | | | |-- font-adobe-utopia-75dpi
-| | | | |-- font-adobe-utopia-type1
-| | | | |-- font-alias
-| | | | |-- font-arabic-misc
-| | | | |-- font-bh-100dpi
-| | | | |-- font-bh-75dpi
-| | | | |-- font-bh-lucidatypewriter-100dpi
-| | | | |-- font-bh-lucidatypewriter-75dpi
-| | | | |-- font-bh-ttf
-| | | | |-- font-bh-type1
-| | | | |-- font-bitstream-100dpi
-| | | | |-- font-bitstream-75dpi
-| | | | |-- font-bitstream-speedo
-| | | | |-- font-bitstream-type1
-| | | | |-- font-cronyx-cyrillic
-| | | | |-- font-cursor-misc
-| | | | |-- font-daewoo-misc
-| | | | |-- font-dec-misc
-| | | | |-- font-ibm-type1
-| | | | |-- font-isas-misc
-| | | | |-- font-jis-misc
-| | | | |-- font-micro-misc
-| | | | |-- font-misc-cyrillic
-| | | | |-- font-misc-ethiopic
-| | | | |-- font-misc-meltho
-| | | | |-- font-misc-misc
-| | | | |-- font-mutt-misc
-| | | | |-- font-schumacher-misc
-| | | | |-- font-screen-cyrillic
-| | | | |-- font-sony-misc
-| | | | |-- font-sun-misc
-| | | | |-- font-util
-| | | | |-- font-winitzki-cyrillic
-| | | | |-- font-xfree86-type1
-| | | | |-- fontcacheproto
-| | | | |-- fontsproto
-| | | | |-- gccmakedep
-| | | | |-- iceauth
-| | | | |-- ico
-| | | | |-- imake
-| | | | |-- kbproto
-| | | | |-- lbxproxy
-| | | | |-- libICE
-| | | | |-- libXScrnSaver
-| | | | |-- libXTrap
-| | | | |-- libXau
-| | | | |-- libXcomposite
-| | | | |-- libXcursor
-| | | | |-- libXdamage
-| | | | |-- libXdmcp
-| | | | |-- libXevie
-| | | | |-- libXfixes
-| | | | |-- libXfontcache
-| | | | |-- libXft
-| | | | |-- libXinerama
-| | | | |-- libXmu
-| | | | |-- libXp
-| | | | |-- libXpm
-| | | | |-- libXprintAppUtil
-| | | | |-- libXprintUtil
-| | | | |-- libXrender
-| | | | |-- libXres
-| | | | |-- libXtst
-| | | | |-- libXv
-| | | | |-- libXvMC
-| | | | |-- libXxf86dga
-| | | | |-- libXxf86misc
-| | | | |-- libXxf86vm
-| | | | |-- libdmx
-| | | | |-- libfontenc
-| | | | |-- liblbxutil
-| | | | |-- libpthread-stubs
-| | | | |-- libxkbfile
-| | | | |-- libxkbui
-| | | | |-- listres
-| | | | |-- lndir
-| | | | |-- luit
-| | | | |-- makedepend
-| | | | |-- mkcomposecache
-| | | | |-- mkfontdir
-| | | | |-- oclock
-| | | | |-- printproto
-| | | | |-- proxymngr
-| | | | |-- recordproto
-| | | | |-- rendercheck
-| | | | |-- resourceproto
-| | | | |-- scripts
-| | | | |-- scrnsaverproto
-| | | | |-- smproxy
-| | | | |-- trapproto
-| | | | |-- twm
-| | | | |-- videoproto
-| | | | |-- viewres
-| | | | |-- x11perf
-| | | | |-- xauth
-| | | | |-- xbacklight
-| | | | |-- xbiff
-| | | | |-- xbitmaps
-| | | | |-- xcalc
-| | | | |-- xclipboard
-| | | | |-- xclock
-| | | | |-- xcmiscproto
-| | | | |-- xcmsdb
-| | | | |-- xcompmgr
-| | | | |-- xconsole
-| | | | |-- xcursor-themes
-| | | | |-- xcursorgen
-| | | | |-- xdbedizzy
-| | | | |-- xditview
-| | | | |-- xdriinfo
-| | | | |-- xev
-| | | | |-- xeyes
-| | | | |-- xf86-input-elographics
-| | | | |-- xf86-input-mutouch
-| | | | |-- xf86-video-ati
-| | | | |-- xf86-video-nsc
-| | | | |-- xf86-video-openchrome
-| | | | |-- xf86-video-v4l
-| | | | |-- xf86bigfontproto
-| | | | |-- xf86dga
-| | | | |-- xf86dgaproto
-| | | | |-- xf86driproto
-| | | | |-- xf86miscproto
-| | | | |-- xf86rushproto
-| | | | |-- xf86vidmodeproto
-| | | | |-- xfd
-| | | | |-- xfindproxy
-| | | | |-- xfontsel
-| | | | |-- xfwp
-| | | | |-- xgamma
-| | | | |-- xgc
-| | | | |-- xhost
-| | | | |-- xineramaproto
-| | | | |-- xkbevd
-| | | | |-- xkbprint
-| | | | |-- xkbutils
-| | | | |-- xkill
-| | | | |-- xload
-| | | | |-- xlogo
-| | | | |-- xlsatoms
-| | | | |-- xlsclients
-| | | | |-- xlsfonts
-| | | | |-- xmag
-| | | | |-- xman
-| | | | |-- xmessage
-| | | | |-- xmh
-| | | | |-- xmodmap
-| | | | |-- xmore
-| | | | |-- xorg-cf-files
-| | | | |-- xorg-docs
-| | | | |-- xorg-sgml-doctools
-| | | | |-- xplsprinters
-| | | | |-- xpr
-| | | | |-- xprehashprinterlist
-| | | | |-- xprop
-| | | | |-- xproxymanagementprotocol
-| | | | |-- xrdb
-| | | | |-- xrefresh
-| | | | |-- xset
-| | | | |-- xsetmode
-| | | | |-- xsetpointer
-| | | | |-- xsetroot
-| | | | |-- xsm
-| | | | |-- xstdcmap
-| | | | |-- xtrap
-| | | | |-- xvidtune
-| | | | |-- xvinfo
-| | | | `-- xwud
-| | | |-- configure
-| | | | |-- compiz
-| | | | |-- configure
-| | | | |-- libX11
-| | | | |-- libXt
-| | | | |-- pixman
-| | | | |-- setxkbmap
-| | | | |-- xf86-video-ati
-| | | | |-- xf86-video-nv
-| | | | |-- xfs
-| | | | |-- xkbcomp
-| | | | |-- xkeyboard-config
-| | | | |-- xorg-docs
-| | | | `-- xorg-server
-| | | |-- doinst.sh
-| | | | |-- font-adobe-100dpi
-| | | | |-- font-adobe-75dpi
-| | | | |-- font-adobe-utopia-100dpi
-| | | | |-- font-adobe-utopia-75dpi
-| | | | |-- font-adobe-utopia-type1
-| | | | |-- font-arabic-misc
-| | | | |-- font-bh-100dpi
-| | | | |-- font-bh-75dpi
-| | | | |-- font-bh-lucidatypewriter-100dpi
-| | | | |-- font-bh-lucidatypewriter-75dpi
-| | | | |-- font-bh-ttf
-| | | | |-- font-bh-type1
-| | | | |-- font-bitstream-100dpi
-| | | | |-- font-bitstream-75dpi
-| | | | |-- font-bitstream-speedo
-| | | | |-- font-bitstream-type1
-| | | | |-- font-cronyx-cyrillic
-| | | | |-- font-cursor-misc
-| | | | |-- font-daewoo-misc
-| | | | |-- font-dec-misc
-| | | | |-- font-ibm-type1
-| | | | |-- font-isas-misc
-| | | | |-- font-jis-misc
-| | | | |-- font-micro-misc
-| | | | |-- font-misc-cyrillic
-| | | | |-- font-misc-ethiopic
-| | | | |-- font-misc-meltho
-| | | | |-- font-misc-misc
-| | | | |-- font-mutt-misc
-| | | | |-- font-schumacher-misc
-| | | | |-- font-screen-cyrillic
-| | | | |-- font-sony-misc
-| | | | |-- font-sun-misc
-| | | | |-- font-winitzki-cyrillic
-| | | | |-- font-xfree86-type1
-| | | | |-- xdm
-| | | | |-- xfs
-| | | | |-- xinit
-| | | | |-- xkeyboard-config
-| | | | `-- xorg-cf-files
-| | | |-- makepkg
-| | | | `-- xorg-server
-| | | |-- modularize
-| | | |-- noarch
-| | | |-- package-blacklist
-| | | |-- patch
-| | | | |-- compiz
-| | | | | |-- compiz-0.7.8-kde42-crash.patch.gz
-| | | | | |-- compiz-0.7.8-kde42-krunner.patch.gz
-| | | | | `-- compiz-0.7.8-kde42.patch.gz
-| | | | |-- compiz.patch
-| | | | |-- xorg-server
-| | | | | `-- x11.startwithblackscreen.diff.gz
-| | | | |-- xorg-server.patch
-| | | | |-- xscope
-| | | | | `-- xscope-1.1-scope.c.diff.gz
-| | | | `-- xscope.patch
-| | | |-- post-install
-| | | | |-- beforelight.post-install
-| | | | |-- encodings.post-install
-| | | | |-- font-adobe-100dpi.post-install
-| | | | |-- font-adobe-75dpi.post-install
-| | | | |-- font-adobe-utopia-100dpi.post-install
-| | | | |-- font-adobe-utopia-75dpi.post-install
-| | | | |-- font-adobe-utopia-type1.post-install
-| | | | |-- font-alias.post-install
-| | | | |-- font-arabic-misc.post-install
-| | | | |-- font-bh-100dpi.post-install
-| | | | |-- font-bh-75dpi.post-install
-| | | | |-- font-bh-lucidatypewriter-100dpi.post-install
-| | | | |-- font-bh-lucidatypewriter-75dpi.post-install
-| | | | |-- font-bh-ttf.post-install
-| | | | |-- font-bh-type1.post-install
-| | | | |-- font-bitstream-100dpi.post-install
-| | | | |-- font-bitstream-75dpi.post-install
-| | | | |-- font-bitstream-speedo.post-install
-| | | | |-- font-bitstream-type1.post-install
-| | | | |-- font-cronyx-cyrillic.post-install
-| | | | |-- font-cursor-misc.post-install
-| | | | |-- font-daewoo-misc.post-install
-| | | | |-- font-dec-misc.post-install
-| | | | |-- font-ibm-type1.post-install
-| | | | |-- font-isas-misc.post-install
-| | | | |-- font-jis-misc.post-install
-| | | | |-- font-micro-misc.post-install
-| | | | |-- font-misc-cyrillic.post-install
-| | | | |-- font-misc-ethiopic.post-install
-| | | | |-- font-misc-meltho.post-install
-| | | | |-- font-misc-misc.post-install
-| | | | |-- font-mutt-misc.post-install
-| | | | |-- font-schumacher-misc.post-install
-| | | | |-- font-screen-cyrillic.post-install
-| | | | |-- font-sony-misc.post-install
-| | | | |-- font-sun-misc.post-install
-| | | | |-- font-util.post-install
-| | | | |-- font-winitzki-cyrillic.post-install
-| | | | |-- font-xfree86-type1.post-install
-| | | | |-- lbxproxy.post-install
-| | | | |-- libXaw.post-install
-| | | | |-- libpthread-stubs.post-install
-| | | | |-- libxcb.post-install
-| | | | |-- mkfontdir
-| | | | | `-- setup.04.mkfontdir
-| | | | |-- mkfontdir.post-install
-| | | | |-- pixman.post-install
-| | | | |-- proxymngr.post-install
-| | | | |-- rstart.post-install
-| | | | |-- twm
-| | | | | `-- xinitrc.twm
-| | | | |-- twm.post-install
-| | | | |-- x11-app-test.post-install
-| | | | |-- x11-font.post-install
-| | | | |-- x11-util.post-install
-| | | | |-- xcb-proto.post-install
-| | | | |-- xdm
-| | | | | |-- Xsession
-| | | | | |-- Xsession.orig
-| | | | | |-- Xsetup_0
-| | | | | `-- Xsetup_0.orig
-| | | | |-- xdm.post-install
-| | | | |-- xf86-input-joystick.post-install
-| | | | |-- xf86-input-synaptics.post-install
-| | | | |-- xfs.post-install
-| | | | |-- xinit
-| | | | | `-- README.Xmodmap
-| | | | |-- xinit.post-install
-| | | | |-- xkeyboard-config.post-install
-| | | | |-- xorg-cf-files
-| | | | | `-- x11.tmpl.lib64.kludge.diff.gz
-| | | | |-- xorg-cf-files.post-install
-| | | | |-- xorg-docs.post-install
-| | | | |-- xorg-server.post-install
-| | | | `-- xsm.post-install
-| | | |-- slack-desc
-| | | | |-- applewmproto
-| | | | |-- appres
-| | | | |-- bdftopcf
-| | | | |-- beforelight
-| | | | |-- bigreqsproto
-| | | | |-- bitmap
-| | | | |-- compiz
-| | | | |-- compositeproto
-| | | | |-- constype
-| | | | |-- damageproto
-| | | | |-- dmxproto
-| | | | |-- dri2proto
-| | | | |-- editres
-| | | | |-- encodings
-| | | | |-- evieext
-| | | | |-- fixesproto
-| | | | |-- font-adobe-100dpi
-| | | | |-- font-adobe-75dpi
-| | | | |-- font-adobe-utopia-100dpi
-| | | | |-- font-adobe-utopia-75dpi
-| | | | |-- font-adobe-utopia-type1
-| | | | |-- font-alias
-| | | | |-- font-arabic-misc
-| | | | |-- font-bh-100dpi
-| | | | |-- font-bh-75dpi
-| | | | |-- font-bh-lucidatypewriter-100dpi
-| | | | |-- font-bh-lucidatypewriter-75dpi
-| | | | |-- font-bh-ttf
-| | | | |-- font-bh-type1
-| | | | |-- font-bitstream-100dpi
-| | | | |-- font-bitstream-75dpi
-| | | | |-- font-bitstream-speedo
-| | | | |-- font-bitstream-type1
-| | | | |-- font-cronyx-cyrillic
-| | | | |-- font-cursor-misc
-| | | | |-- font-daewoo-misc
-| | | | |-- font-dec-misc
-| | | | |-- font-ibm-type1
-| | | | |-- font-isas-misc
-| | | | |-- font-jis-misc
-| | | | |-- font-micro-misc
-| | | | |-- font-misc-cyrillic
-| | | | |-- font-misc-ethiopic
-| | | | |-- font-misc-meltho
-| | | | |-- font-misc-misc
-| | | | |-- font-mutt-misc
-| | | | |-- font-schumacher-misc
-| | | | |-- font-screen-cyrillic
-| | | | |-- font-sony-misc
-| | | | |-- font-sun-misc
-| | | | |-- font-util
-| | | | |-- font-winitzki-cyrillic
-| | | | |-- font-xfree86-type1
-| | | | |-- fontcacheproto
-| | | | |-- fontsproto
-| | | | |-- fonttosfnt
-| | | | |-- fslsfonts
-| | | | |-- fstobdf
-| | | | |-- gccmakedep
-| | | | |-- glproto
-| | | | |-- iceauth
-| | | | |-- ico
-| | | | |-- imake
-| | | | |-- inputproto
-| | | | |-- intel-gpu-tools
-| | | | |-- kbproto
-| | | | |-- lbxproxy
-| | | | |-- libAppleWM
-| | | | |-- libFS
-| | | | |-- libICE
-| | | | |-- libSM
-| | | | |-- libWindowsWM
-| | | | |-- libX11
-| | | | |-- libXScrnSaver
-| | | | |-- libXTrap
-| | | | |-- libXau
-| | | | |-- libXaw
-| | | | |-- libXcomposite
-| | | | |-- libXcursor
-| | | | |-- libXdamage
-| | | | |-- libXdmcp
-| | | | |-- libXevie
-| | | | |-- libXext
-| | | | |-- libXfixes
-| | | | |-- libXfont
-| | | | |-- libXfontcache
-| | | | |-- libXft
-| | | | |-- libXi
-| | | | |-- libXinerama
-| | | | |-- libXmu
-| | | | |-- libXp
-| | | | |-- libXpm
-| | | | |-- libXprintAppUtil
-| | | | |-- libXprintUtil
-| | | | |-- libXrandr
-| | | | |-- libXrender
-| | | | |-- libXres
-| | | | |-- libXt
-| | | | |-- libXtst
-| | | | |-- libXv
-| | | | |-- libXvMC
-| | | | |-- libXxf86dga
-| | | | |-- libXxf86misc
-| | | | |-- libXxf86vm
-| | | | |-- libdmx
-| | | | |-- libfontenc
-| | | | |-- liblbxutil
-| | | | |-- liboldX
-| | | | |-- libpciaccess
-| | | | |-- libpthread-stubs
-| | | | |-- libxcb
-| | | | |-- libxkbfile
-| | | | |-- libxkbui
-| | | | |-- listres
-| | | | |-- lndir
-| | | | |-- luit
-| | | | |-- makedepend
-| | | | |-- mkcfm
-| | | | |-- mkcomposecache
-| | | | |-- mkfontdir
-| | | | |-- mkfontscale
-| | | | |-- oclock
-| | | | |-- pixman
-| | | | |-- printproto
-| | | | |-- proxymngr
-| | | | |-- randrproto
-| | | | |-- recordproto
-| | | | |-- rendercheck
-| | | | |-- renderproto
-| | | | |-- resourceproto
-| | | | |-- rgb
-| | | | |-- rstart
-| | | | |-- scripts
-| | | | |-- scrnsaverproto
-| | | | |-- sessreg
-| | | | |-- setxkbmap
-| | | | |-- showfont
-| | | | |-- smproxy
-| | | | |-- trapproto
-| | | | |-- twm
-| | | | |-- util-macros
-| | | | |-- videoproto
-| | | | |-- viewres
-| | | | |-- windowswmproto
-| | | | |-- x11-app
-| | | | |-- x11-data
-| | | | |-- x11-doc
-| | | | |-- x11-driver
-| | | | |-- x11-font
-| | | | |-- x11-lib
-| | | | |-- x11-proto
-| | | | |-- x11-util
-| | | | |-- x11perf
-| | | | |-- xauth
-| | | | |-- xbacklight
-| | | | |-- xbiff
-| | | | |-- xbitmaps
-| | | | |-- xcalc
-| | | | |-- xcb-proto
-| | | | |-- xcb-util
-| | | | |-- xclipboard
-| | | | |-- xclock
-| | | | |-- xcmiscproto
-| | | | |-- xcmsdb
-| | | | |-- xcompmgr
-| | | | |-- xconsole
-| | | | |-- xcursor-themes
-| | | | |-- xcursorgen
-| | | | |-- xdbedizzy
-| | | | |-- xditview
-| | | | |-- xdm
-| | | | |-- xdpyinfo
-| | | | |-- xdriinfo
-| | | | |-- xedit
-| | | | |-- xev
-| | | | |-- xextproto
-| | | | |-- xeyes
-| | | | |-- xf86-input-acecad
-| | | | |-- xf86-input-aiptek
-| | | | |-- xf86-input-calcomp
-| | | | |-- xf86-input-citron
-| | | | |-- xf86-input-digitaledge
-| | | | |-- xf86-input-dmc
-| | | | |-- xf86-input-dynapro
-| | | | |-- xf86-input-elo2300
-| | | | |-- xf86-input-elographics
-| | | | |-- xf86-input-evdev
-| | | | |-- xf86-input-fpit
-| | | | |-- xf86-input-hyperpen
-| | | | |-- xf86-input-jamstudio
-| | | | |-- xf86-input-joystick
-| | | | |-- xf86-input-keyboard
-| | | | |-- xf86-input-magellan
-| | | | |-- xf86-input-magictouch
-| | | | |-- xf86-input-microtouch
-| | | | |-- xf86-input-mouse
-| | | | |-- xf86-input-mutouch
-| | | | |-- xf86-input-palmax
-| | | | |-- xf86-input-penmount
-| | | | |-- xf86-input-spaceorb
-| | | | |-- xf86-input-summa
-| | | | |-- xf86-input-synaptics
-| | | | |-- xf86-input-tek4957
-| | | | |-- xf86-input-ur98
-| | | | |-- xf86-input-vmmouse
-| | | | |-- xf86-input-void
-| | | | |-- xf86-video-apm
-| | | | |-- xf86-video-ark
-| | | | |-- xf86-video-ast
-| | | | |-- xf86-video-ati
-| | | | |-- xf86-video-chips
-| | | | |-- xf86-video-cirrus
-| | | | |-- xf86-video-cyrix
-| | | | |-- xf86-video-dummy
-| | | | |-- xf86-video-fbdev
-| | | | |-- xf86-video-geode
-| | | | |-- xf86-video-glint
-| | | | |-- xf86-video-i128
-| | | | |-- xf86-video-i740
-| | | | |-- xf86-video-i810
-| | | | |-- xf86-video-impact
-| | | | |-- xf86-video-imstt
-| | | | |-- xf86-video-intel
-| | | | |-- xf86-video-mach64
-| | | | |-- xf86-video-mga
-| | | | |-- xf86-video-neomagic
-| | | | |-- xf86-video-newport
-| | | | |-- xf86-video-nsc
-| | | | |-- xf86-video-nv
-| | | | |-- xf86-video-openchrome
-| | | | |-- xf86-video-r128
-| | | | |-- xf86-video-radeonhd
-| | | | |-- xf86-video-rendition
-| | | | |-- xf86-video-s3
-| | | | |-- xf86-video-s3virge
-| | | | |-- xf86-video-savage
-| | | | |-- xf86-video-siliconmotion
-| | | | |-- xf86-video-sis
-| | | | |-- xf86-video-sisusb
-| | | | |-- xf86-video-sunbw2
-| | | | |-- xf86-video-suncg14
-| | | | |-- xf86-video-suncg3
-| | | | |-- xf86-video-suncg6
-| | | | |-- xf86-video-sunffb
-| | | | |-- xf86-video-sunleo
-| | | | |-- xf86-video-suntcx
-| | | | |-- xf86-video-tdfx
-| | | | |-- xf86-video-tga
-| | | | |-- xf86-video-trident
-| | | | |-- xf86-video-tseng
-| | | | |-- xf86-video-v4l
-| | | | |-- xf86-video-vermilion
-| | | | |-- xf86-video-vesa
-| | | | |-- xf86-video-vga
-| | | | |-- xf86-video-via
-| | | | |-- xf86-video-vmware
-| | | | |-- xf86-video-voodoo
-| | | | |-- xf86-video-wsfb
-| | | | |-- xf86bigfontproto
-| | | | |-- xf86dga
-| | | | |-- xf86dgaproto
-| | | | |-- xf86driproto
-| | | | |-- xf86miscproto
-| | | | |-- xf86rushproto
-| | | | |-- xf86vidmodeproto
-| | | | |-- xfd
-| | | | |-- xfindproxy
-| | | | |-- xfontsel
-| | | | |-- xfs
-| | | | |-- xfsinfo
-| | | | |-- xfwp
-| | | | |-- xgamma
-| | | | |-- xgc
-| | | | |-- xhost
-| | | | |-- xineramaproto
-| | | | |-- xinit
-| | | | |-- xinput
-| | | | |-- xkbcomp
-| | | | |-- xkbdata
-| | | | |-- xkbevd
-| | | | |-- xkbprint
-| | | | |-- xkbutils
-| | | | |-- xkeyboard-config
-| | | | |-- xkill
-| | | | |-- xload
-| | | | |-- xlogo
-| | | | |-- xlsatoms
-| | | | |-- xlsclients
-| | | | |-- xlsfonts
-| | | | |-- xmag
-| | | | |-- xman
-| | | | |-- xmessage
-| | | | |-- xmh
-| | | | |-- xmodmap
-| | | | |-- xmore
-| | | | |-- xorg-cf-files
-| | | | |-- xorg-docs
-| | | | |-- xorg-server
-| | | | |-- xorg-server-xdmx
-| | | | |-- xorg-server-xephyr
-| | | | |-- xorg-server-xnest
-| | | | |-- xorg-server-xvfb
-| | | | |-- xorg-sgml-doctools
-| | | | |-- xphelloworld
-| | | | |-- xplsprinters
-| | | | |-- xpr
-| | | | |-- xprehashprinterlist
-| | | | |-- xprop
-| | | | |-- xproto
-| | | | |-- xproxymanagementprotocol
-| | | | |-- xpyb
-| | | | |-- xrandr
-| | | | |-- xrdb
-| | | | |-- xrefresh
-| | | | |-- xrx
-| | | | |-- xscope
-| | | | |-- xset
-| | | | |-- xsetmode
-| | | | |-- xsetpointer
-| | | | |-- xsetroot
-| | | | |-- xsm
-| | | | |-- xstdcmap
-| | | | |-- xtrans
-| | | | |-- xtrap
-| | | | |-- xvidtune
-| | | | |-- xvinfo
-| | | | |-- xwd
-| | | | |-- xwininfo
-| | | | `-- xwud
-| | | |-- src
-| | | | |-- app
-| | | | | |-- appres-1.0.1.tar.xz
-| | | | | |-- bdftopcf-1.0.1.tar.xz
-| | | | | |-- beforelight-1.0.3.tar.xz
-| | | | | |-- bitmap-1.0.3.tar.xz
-| | | | | |-- compiz-0.7.8.tar.xz
-| | | | | |-- constype-1.0.1.tar.xz
-| | | | | |-- editres-1.0.3.tar.xz
-| | | | | |-- fonttosfnt-1.0.4.tar.xz
-| | | | | |-- fslsfonts-1.0.2.tar.xz
-| | | | | |-- fstobdf-1.0.3.tar.xz
-| | | | | |-- iceauth-1.0.2.tar.xz
-| | | | | |-- ico-1.0.2.tar.xz
-| | | | | |-- intel-gpu-tools-1.0.1.tar.xz
-| | | | | |-- lbxproxy-1.0.1.tar.xz
-| | | | | |-- listres-1.0.1.tar.xz
-| | | | | |-- luit-1.0.3.tar.xz
-| | | | | |-- mkcfm-1.0.1.tar.xz
-| | | | | |-- mkcomposecache-1.2.tar.xz
-| | | | | |-- mkfontdir-1.0.4.tar.xz
-| | | | | |-- mkfontscale-1.0.6.tar.xz
-| | | | | |-- oclock-1.0.1.tar.xz
-| | | | | |-- proxymngr-1.0.1.tar.xz
-| | | | | |-- rendercheck-1.3.tar.xz
-| | | | | |-- rgb-1.0.3.tar.xz
-| | | | | |-- rstart-1.0.3.tar.xz
-| | | | | |-- scripts-1.0.1.tar.xz
-| | | | | |-- sessreg-1.0.4.tar.xz
-| | | | | |-- setxkbmap-1.1.0.tar.xz
-| | | | | |-- showfont-1.0.2.tar.xz
-| | | | | |-- smproxy-1.0.2.tar.xz
-| | | | | |-- twm-1.0.4.tar.xz
-| | | | | |-- viewres-1.0.1.tar.xz
-| | | | | |-- x11perf-1.5.tar.xz
-| | | | | |-- xauth-1.0.3.tar.xz
-| | | | | |-- xbacklight-1.1.tar.xz
-| | | | | |-- xbiff-1.0.1.tar.xz
-| | | | | |-- xcalc-1.0.2.tar.xz
-| | | | | |-- xclipboard-1.0.1.tar.xz
-| | | | | |-- xclock-1.0.3.tar.xz
-| | | | | |-- xcmsdb-1.0.1.tar.xz
-| | | | | |-- xcompmgr-1.1.4.tar.xz
-| | | | | |-- xconsole-1.0.3.tar.xz
-| | | | | |-- xcursorgen-1.0.2.tar.xz
-| | | | | |-- xdbedizzy-1.0.2.tar.xz
-| | | | | |-- xditview-1.0.1.tar.xz
-| | | | | |-- xdm-1.1.8.tar.xz
-| | | | | |-- xdpyinfo-1.0.3.tar.xz
-| | | | | |-- xdriinfo-1.0.2.tar.xz
-| | | | | |-- xedit-1.1.2.tar.xz
-| | | | | |-- xev-1.0.3.tar.xz
-| | | | | |-- xeyes-1.0.1.tar.xz
-| | | | | |-- xf86dga-1.0.2.tar.xz
-| | | | | |-- xfd-1.0.1.tar.xz
-| | | | | |-- xfindproxy-1.0.1.tar.xz
-| | | | | |-- xfontsel-1.0.2.tar.xz
-| | | | | |-- xfs-1.1.0.tar.xz
-| | | | | |-- xfsinfo-1.0.2.tar.xz
-| | | | | |-- xfwp-1.0.1.tar.xz
-| | | | | |-- xgamma-1.0.2.tar.xz
-| | | | | |-- xgc-1.0.1.tar.xz
-| | | | | |-- xhost-1.0.2.tar.xz
-| | | | | |-- xinit-1.1.1.tar.xz
-| | | | | |-- xinput-1.4.2.tar.xz
-| | | | | |-- xkbcomp-1.1.0.tar.xz
-| | | | | |-- xkbevd-1.0.2.tar.xz
-| | | | | |-- xkbprint-1.0.1.tar.xz
-| | | | | |-- xkbutils-1.0.1.tar.xz
-| | | | | |-- xkill-1.0.1.tar.xz
-| | | | | |-- xload-1.0.2.tar.xz
-| | | | | |-- xlogo-1.0.1.tar.xz
-| | | | | |-- xlsatoms-1.0.1.tar.xz
-| | | | | |-- xlsclients-1.0.1.tar.xz
-| | | | | |-- xlsfonts-1.0.2.tar.xz
-| | | | | |-- xmag-1.0.2.tar.xz
-| | | | | |-- xman-1.0.3.tar.xz
-| | | | | |-- xmessage-1.0.2.tar.xz
-| | | | | |-- xmh-1.0.1.tar.xz
-| | | | | |-- xmodmap-1.0.3.tar.xz
-| | | | | |-- xmore-1.0.1.tar.xz
-| | | | | |-- xphelloworld-1.0.1.tar.xz
-| | | | | |-- xplsprinters-1.0.1.tar.xz
-| | | | | |-- xpr-1.0.2.tar.xz
-| | | | | |-- xprehashprinterlist-1.0.1.tar.xz
-| | | | | |-- xprop-1.0.4.tar.xz
-| | | | | |-- xrandr-1.3.0.tar.xz
-| | | | | |-- xrdb-1.0.5.tar.xz
-| | | | | |-- xrefresh-1.0.2.tar.xz
-| | | | | |-- xscope-1.1.tar.xz
-| | | | | |-- xset-1.0.4.tar.xz
-| | | | | |-- xsetmode-1.0.0.tar.xz
-| | | | | |-- xsetpointer-1.0.1.tar.xz
-| | | | | |-- xsetroot-1.0.2.tar.xz
-| | | | | |-- xsm-1.0.1.tar.xz
-| | | | | |-- xstdcmap-1.0.1.tar.xz
-| | | | | |-- xtrap-1.0.2.tar.xz
-| | | | | |-- xvidtune-1.0.1.tar.xz
-| | | | | |-- xvinfo-1.0.2.tar.xz
-| | | | | |-- xwd-1.0.2.tar.xz
-| | | | | |-- xwininfo-1.0.4.tar.xz
-| | | | | `-- xwud-1.0.1.tar.xz
-| | | | |-- data
-| | | | | |-- xbitmaps-1.0.1.tar.xz
-| | | | | |-- xcursor-themes-1.0.1.tar.xz
-| | | | | `-- xkeyboard-config-1.6.tar.xz
-| | | | |-- doc
-| | | | | |-- xorg-docs-1.4.tar.xz
-| | | | | `-- xorg-sgml-doctools-1.2.tar.xz
-| | | | |-- driver
-| | | | | |-- xf86-input-acecad-1.3.0.tar.xz
-| | | | | |-- xf86-input-aiptek-1.2.0.tar.xz
-| | | | | |-- xf86-input-calcomp-1.1.2.tar.xz
-| | | | | |-- xf86-input-citron-2.2.2.tar.xz
-| | | | | |-- xf86-input-digitaledge-1.1.1.tar.xz
-| | | | | |-- xf86-input-dmc-1.1.2.tar.xz
-| | | | | |-- xf86-input-dynapro-1.1.2.tar.xz
-| | | | | |-- xf86-input-elo2300-1.1.2.tar.xz
-| | | | | |-- xf86-input-elographics-1.2.3.tar.xz
-| | | | | |-- xf86-input-evdev-2.2.5.tar.xz
-| | | | | |-- xf86-input-fpit-1.3.0.tar.xz
-| | | | | |-- xf86-input-hyperpen-1.3.0.tar.xz
-| | | | | |-- xf86-input-jamstudio-1.2.0.tar.xz
-| | | | | |-- xf86-input-joystick-1.4.0.tar.xz
-| | | | | |-- xf86-input-keyboard-1.3.2.tar.xz
-| | | | | |-- xf86-input-magellan-1.2.0.tar.xz
-| | | | | |-- xf86-input-magictouch-1.0.0.5.tar.xz
-| | | | | |-- xf86-input-microtouch-1.2.0.tar.xz
-| | | | | |-- xf86-input-mouse-1.4.0.tar.xz
-| | | | | |-- xf86-input-mutouch-1.2.1.tar.xz
-| | | | | |-- xf86-input-palmax-1.2.0.tar.xz
-| | | | | |-- xf86-input-penmount-1.4.0.tar.xz
-| | | | | |-- xf86-input-spaceorb-1.1.1.tar.xz
-| | | | | |-- xf86-input-summa-1.2.0.tar.xz
-| | | | | |-- xf86-input-synaptics-1.1.3.tar.xz
-| | | | | |-- xf86-input-tek4957-1.2.0.tar.xz
-| | | | | |-- xf86-input-ur98-1.1.0.tar.xz
-| | | | | |-- xf86-input-vmmouse-12.6.4.tar.xz
-| | | | | |-- xf86-input-void-1.2.0.tar.xz
-| | | | | |-- xf86-video-apm-1.2.2.tar.xz
-| | | | | |-- xf86-video-ark-0.7.1.tar.xz
-| | | | | |-- xf86-video-ast-0.89.9.tar.xz
-| | | | | |-- xf86-video-ati-6.12.2.tar.xz
-| | | | | |-- xf86-video-chips-1.2.1.tar.xz
-| | | | | |-- xf86-video-cirrus-1.3.2.tar.xz
-| | | | | |-- xf86-video-cyrix-1.1.0.tar.xz
-| | | | | |-- xf86-video-dummy-0.3.2.tar.xz
-| | | | | |-- xf86-video-geode-2.11.3.tar.xz
-| | | | | |-- xf86-video-glide-1.0.2.tar.xz
-| | | | | |-- xf86-video-glint-1.2.4.tar.xz
-| | | | | |-- xf86-video-i128-1.3.3.tar.xz
-| | | | | |-- xf86-video-i740-1.3.2.tar.xz
-| | | | | |-- xf86-video-impact-0.2.0.tar.xz
-| | | | | |-- xf86-video-imstt-1.1.0.tar.xz
-| | | | | |-- xf86-video-intel-2.5.1.tar.xz
-| | | | | |-- xf86-video-intel-2.6.3.tar.xz
-| | | | | |-- xf86-video-intel-2.7.1.tar.xz
-| | | | | |-- xf86-video-intel-2.8.0.tar.xz
-| | | | | |-- xf86-video-intel-2.8.1.tar.xz
-| | | | | |-- xf86-video-mach64-6.8.2.tar.xz
-| | | | | |-- xf86-video-mga-1.4.11.tar.xz
-| | | | | |-- xf86-video-neomagic-1.2.4.tar.xz
-| | | | | |-- xf86-video-newport-0.2.2.tar.xz
-| | | | | |-- xf86-video-nsc-2.8.3.tar.xz
-| | | | | |-- xf86-video-nv-2.1.14.tar.xz
-| | | | | |-- xf86-video-openchrome-0.2.903.tar.xz
-| | | | | |-- xf86-video-r128-6.8.1.tar.xz
-| | | | | |-- xf86-video-radeonhd-1.2.5.tar.xz
-| | | | | |-- xf86-video-rendition-4.2.2.tar.xz
-| | | | | |-- xf86-video-s3-0.6.3.tar.xz
-| | | | | |-- xf86-video-s3virge-1.10.4.tar.xz
-| | | | | |-- xf86-video-savage-2.3.1.tar.xz
-| | | | | |-- xf86-video-siliconmotion-1.7.2.tar.xz
-| | | | | |-- xf86-video-sis-0.10.2.tar.xz
-| | | | | |-- xf86-video-sisusb-0.9.3.tar.xz
-| | | | | |-- xf86-video-tdfx-1.4.3.tar.xz
-| | | | | |-- xf86-video-tga-1.2.0.tar.xz
-| | | | | |-- xf86-video-trident-1.3.2.tar.xz
-| | | | | |-- xf86-video-tseng-1.2.2.tar.xz
-| | | | | |-- xf86-video-v4l-0.2.0.tar.xz
-| | | | | |-- xf86-video-vermilion-1.0.1.tar.xz
-| | | | | |-- xf86-video-vesa-2.2.1.tar.xz
-| | | | | |-- xf86-video-vga-4.1.0.tar.xz
-| | | | | |-- xf86-video-vmware-10.16.7.tar.xz
-| | | | | |-- xf86-video-voodoo-1.2.3.tar.xz
-| | | | | |-- xf86-video-wsfb-0.2.1.tar.xz
-| | | | | |-- xf86-video-xgi-1.5.0.tar.xz
-| | | | | `-- xf86-video-xgixp-1.7.99.3.tar.xz
-| | | | |-- font
-| | | | | |-- encodings-1.0.2.tar.xz
-| | | | | |-- font-adobe-100dpi-1.0.0.tar.xz
-| | | | | |-- font-adobe-75dpi-1.0.0.tar.xz
-| | | | | |-- font-adobe-utopia-100dpi-1.0.1.tar.xz
-| | | | | |-- font-adobe-utopia-75dpi-1.0.1.tar.xz
-| | | | | |-- font-adobe-utopia-type1-1.0.1.tar.xz
-| | | | | |-- font-alias-1.0.1.tar.xz
-| | | | | |-- font-arabic-misc-1.0.0.tar.xz
-| | | | | |-- font-bh-100dpi-1.0.0.tar.xz
-| | | | | |-- font-bh-75dpi-1.0.0.tar.xz
-| | | | | |-- font-bh-lucidatypewriter-100dpi-1.0.0.tar.xz
-| | | | | |-- font-bh-lucidatypewriter-75dpi-1.0.0.tar.xz
-| | | | | |-- font-bh-ttf-1.0.0.tar.xz
-| | | | | |-- font-bh-type1-1.0.0.tar.xz
-| | | | | |-- font-bitstream-100dpi-1.0.0.tar.xz
-| | | | | |-- font-bitstream-75dpi-1.0.0.tar.xz
-| | | | | |-- font-bitstream-speedo-1.0.0.tar.xz
-| | | | | |-- font-bitstream-type1-1.0.0.tar.xz
-| | | | | |-- font-cronyx-cyrillic-1.0.0.tar.xz
-| | | | | |-- font-cursor-misc-1.0.0.tar.xz
-| | | | | |-- font-daewoo-misc-1.0.0.tar.xz
-| | | | | |-- font-dec-misc-1.0.0.tar.xz
-| | | | | |-- font-ibm-type1-1.0.0.tar.xz
-| | | | | |-- font-isas-misc-1.0.0.tar.xz
-| | | | | |-- font-jis-misc-1.0.0.tar.xz
-| | | | | |-- font-micro-misc-1.0.0.tar.xz
-| | | | | |-- font-misc-cyrillic-1.0.0.tar.xz
-| | | | | |-- font-misc-ethiopic-1.0.0.tar.xz
-| | | | | |-- font-misc-meltho-1.0.0.tar.xz
-| | | | | |-- font-misc-misc-1.0.0.tar.xz
-| | | | | |-- font-mutt-misc-1.0.0.tar.xz
-| | | | | |-- font-schumacher-misc-1.0.0.tar.xz
-| | | | | |-- font-screen-cyrillic-1.0.1.tar.xz
-| | | | | |-- font-sony-misc-1.0.0.tar.xz
-| | | | | |-- font-sun-misc-1.0.0.tar.xz
-| | | | | |-- font-util-1.0.1.tar.xz
-| | | | | |-- font-winitzki-cyrillic-1.0.0.tar.xz
-| | | | | `-- font-xfree86-type1-1.0.1.tar.xz
-| | | | |-- lib
-| | | | | |-- libFS-1.0.2.tar.xz
-| | | | | |-- libICE-1.0.5.tar.xz
-| | | | | |-- libSM-1.1.0.tar.xz
-| | | | | |-- libX11-1.2.2.tar.xz
-| | | | | |-- libXScrnSaver-1.1.3.tar.xz
-| | | | | |-- libXTrap-1.0.0.tar.xz
-| | | | | |-- libXau-1.0.4.tar.xz
-| | | | | |-- libXaw-1.0.6.tar.xz
-| | | | | |-- libXcomposite-0.4.0.tar.xz
-| | | | | |-- libXcursor-1.1.9.tar.xz
-| | | | | |-- libXdamage-1.1.1.tar.xz
-| | | | | |-- libXdmcp-1.0.2.tar.xz
-| | | | | |-- libXevie-1.0.2.tar.xz
-| | | | | |-- libXext-1.0.5.tar.xz
-| | | | | |-- libXfixes-4.0.3.tar.xz
-| | | | | |-- libXfont-1.4.0.tar.xz
-| | | | | |-- libXfontcache-1.0.4.tar.xz
-| | | | | |-- libXft-2.1.13.tar.xz
-| | | | | |-- libXi-1.2.1.tar.xz
-| | | | | |-- libXinerama-1.0.3.tar.xz
-| | | | | |-- libXmu-1.0.4.tar.xz
-| | | | | |-- libXp-1.0.0.tar.xz
-| | | | | |-- libXpm-3.5.7.tar.xz
-| | | | | |-- libXprintAppUtil-1.0.1.tar.xz
-| | | | | |-- libXprintUtil-1.0.1.tar.xz
-| | | | | |-- libXrandr-1.3.0.tar.xz
-| | | | | |-- libXrender-0.9.4.tar.xz
-| | | | | |-- libXres-1.0.3.tar.xz
-| | | | | |-- libXt-1.0.6.tar.xz
-| | | | | |-- libXtst-1.0.3.tar.xz
-| | | | | |-- libXv-1.0.4.tar.xz
-| | | | | |-- libXvMC-1.0.4.tar.xz
-| | | | | |-- libXxf86dga-1.0.2.tar.xz
-| | | | | |-- libXxf86misc-1.0.1.tar.xz
-| | | | | |-- libXxf86vm-1.0.2.tar.xz
-| | | | | |-- libdmx-1.0.2.tar.xz
-| | | | | |-- libfontenc-1.0.4.tar.xz
-| | | | | |-- liblbxutil-1.0.1.tar.xz
-| | | | | |-- libpciaccess-0.10.6.tar.xz
-| | | | | |-- libpthread-stubs-0.1.tar.xz
-| | | | | |-- libxkbfile-1.0.5.tar.xz
-| | | | | |-- libxkbui-1.0.2.tar.xz
-| | | | | |-- pixman-0.15.18.tar.xz
-| | | | | `-- xtrans-1.2.4.tar.xz
-| | | | |-- proto
-| | | | | |-- bigreqsproto-1.0.2.tar.xz
-| | | | | |-- compositeproto-0.4.tar.xz
-| | | | | |-- damageproto-1.1.0.tar.xz
-| | | | | |-- dmxproto-2.2.2.tar.xz
-| | | | | |-- dri2proto-2.1.tar.xz
-| | | | | |-- evieext-1.0.2.tar.xz
-| | | | | |-- fixesproto-4.0.tar.xz
-| | | | | |-- fontcacheproto-0.1.2.tar.xz
-| | | | | |-- fontsproto-2.0.2.tar.xz
-| | | | | |-- glproto-1.4.10.tar.xz
-| | | | | |-- inputproto-1.5.1.tar.xz
-| | | | | |-- kbproto-1.0.3.tar.xz
-| | | | | |-- printproto-1.0.4.tar.xz
-| | | | | |-- randrproto-1.3.0.tar.xz
-| | | | | |-- recordproto-1.13.2.tar.xz
-| | | | | |-- renderproto-0.11.tar.xz
-| | | | | |-- resourceproto-1.0.2.tar.xz
-| | | | | |-- scrnsaverproto-1.1.0.tar.xz
-| | | | | |-- trapproto-3.4.3.tar.xz
-| | | | | |-- videoproto-2.2.2.tar.xz
-| | | | | |-- xcmiscproto-1.1.2.tar.xz
-| | | | | |-- xextproto-7.0.5.tar.xz
-| | | | | |-- xf86bigfontproto-1.1.2.tar.xz
-| | | | | |-- xf86dgaproto-2.0.3.tar.xz
-| | | | | |-- xf86driproto-2.0.4.tar.xz
-| | | | | |-- xf86miscproto-0.9.2.tar.xz
-| | | | | |-- xf86rushproto-1.1.2.tar.xz
-| | | | | |-- xf86vidmodeproto-2.2.2.tar.xz
-| | | | | |-- xineramaproto-1.1.2.tar.xz
-| | | | | |-- xproto-7.0.15.tar.xz
-| | | | | `-- xproxymanagementprotocol-1.0.2.tar.xz
-| | | | |-- util
-| | | | | |-- gccmakedep-1.0.2.tar.xz
-| | | | | |-- imake-1.0.2.tar.xz
-| | | | | |-- lndir-1.0.1.tar.xz
-| | | | | |-- makedepend-1.0.1.tar.xz
-| | | | | |-- util-macros-1.2.2.tar.xz
-| | | | | `-- xorg-cf-files-1.0.2.tar.xz
-| | | | |-- xcb
-| | | | | |-- libxcb-1.3.tar.xz
-| | | | | |-- xcb-proto-1.5.tar.xz
-| | | | | |-- xcb-util-0.3.5.tar.xz
-| | | | | `-- xpyb-1.1.tar.xz
-| | | | `-- xserver
-| | | | `-- xorg-server-1.6.3.tar.xz
-| | | `-- x11.SlackBuild
-| | |-- x11-skel
-| | | |-- doinst.sh.gz
-| | | |-- manpages
-| | | | `-- xwmconfig.1
-| | | |-- scripts
-| | | | |-- setup.xwmconfig
-| | | | |-- xorg.conf-fbdev
-| | | | |-- xorg.conf-vesa
-| | | | |-- xorgsetup
-| | | | `-- xwmconfig
-| | | |-- slack-desc
-| | | `-- x11-skel.SlackBuild
-| | |-- xaw3d
-| | | |-- Xaw3d-1.5-debian-fixes.diff.gz
-| | | |-- Xaw3d-1.5E.diff.gz
-| | | |-- Xaw3d-1.5E.tar.gz
-| | | |-- slack-desc
-| | | `-- xaw3d.SlackBuild
-| | |-- xdg-utils
-| | | |-- doinst.sh.gz
-| | | |-- slack-desc
-| | | |-- xdg-utils-20090202cvs.tar.bz2
-| | | |-- xdg-utils-cvs_checkout.sh
-| | | |-- xdg-utils.SlackBuild
-| | | `-- xdg-utils.info
-| | `-- xterm
-| | |-- patches
-| | |-- slack-desc
-| | |-- xterm-243.tar.xz
-| | `-- xterm.SlackBuild
-| |-- xap
-| | |-- MPlayer
-| | | |-- Blue-1.7.tar.bz2
-| | | |-- MPlayer.SlackBuild
-| | | |-- MPlayer_nolibdvdcss-r29390.tar.xz
-| | | `-- slack-desc
-| | |-- audacious
-| | | |-- audacious-1.5.1.tar.bz2
-| | | |-- audacious.SlackBuild
-| | | |-- audacious.handle_cmd_line_options.diff.gz
-| | | `-- slack-desc
-| | |-- audacious-plugins
-| | | |-- amidi-plug.fix-drct.diff.gz
-| | | |-- audacious-plugins-1.5.1.tar.bz2
-| | | |-- audacious-plugins.SlackBuild
-| | | |-- audacious-plugins.libmtp8.diff.gz
-| | | `-- slack-desc
-| | |-- blackbox
-| | | |-- bbkeys-0.8.6.tar.gz
-| | | |-- blackbox-0.65.0.tar.gz
-| | | |-- blackbox.SlackBuild
-| | | |-- blackbox_0.65.0-5.diff.gz
-| | | |-- slack-desc
-| | | `-- xinitrc.blackbox.gz
-| | |-- electricsheep
-| | | |-- README.slackware
-| | | |-- electricsheep-20090306.tar.xz
-| | | |-- electricsheep.SlackBuild
-| | | |-- electricsheep.mplayer.diff.gz
-| | | |-- electricsheep_gnome-open.patch
-| | | `-- slack-desc
-| | |-- fluxbox
-| | | |-- fluxbox-1.1.1.tar.bz2
-| | | |-- fluxbox.SlackBuild
-| | | |-- slack-desc
-| | | `-- xinitrc.fluxbox.gz
-| | |-- fvwm
-| | | |-- ancient-icons.tar.gz
-| | | |-- doinst.sh.gz
-| | | |-- fvwm-2.4.20.tar.bz2
-| | | |-- fvwm.SlackBuild
-| | | |-- fvwm.colormap.diff.gz
-| | | |-- slack-desc
-| | | |-- system.fvwm2rc.gz
-| | | `-- xinitrc.fvwm2.gz
-| | |-- gftp
-| | | |-- gftp-2.0.19.tar.bz2
-| | | |-- gftp.SlackBuild
-| | | |-- gftp.desktop.gz
-| | | `-- slack-desc
-| | |-- gimp
-| | | |-- gimp-2.6.6.tar.bz2
-| | | |-- gimp.SlackBuild
-| | | `-- slack-desc
-| | |-- gkrellm
-| | | |-- gkrellm-2.3.2.tar.bz2
-| | | |-- gkrellm-countdown-0.1.1.tar.gz
-| | | |-- gkrellm.SlackBuild
-| | | |-- gkrellm.theme.defaults.diff.gz
-| | | `-- slack-desc
-| | |-- gnuchess
-| | | |-- Sjeng-Free-11.2.tar.bz2
-| | | |-- chess.png
-| | | |-- eboard-1.0.3.tar.bz2
-| | | |-- eboard.desktop
-| | | |-- gnuchess-5.07.tar.bz2
-| | | |-- gnuchess.SlackBuild
-| | | |-- gnuchess.SlackBuild.diff.gz
-| | | |-- gnuchess.gcc4_fix.diff.gz
-| | | |-- slack-desc
-| | | |-- xboard-4.2.7.tar.bz2
-| | | |-- xboard.buffer_overflow_fix.diff.gz
-| | | |-- xboard.desktop
-| | | `-- xboard.infodir.diff.gz
-| | |-- gnuplot
-| | | |-- gnuplot-4.2.5.tar.xz
-| | | |-- gnuplot.SlackBuild
-| | | `-- slack-desc
-| | |-- gqview
-| | | |-- doinst.sh.gz
-| | | |-- gqview-2.1.5.tar.bz2
-| | | |-- gqview.SlackBuild
-| | | `-- slack-desc
-| | |-- gucharmap
-| | | |-- doinst.sh.gz
-| | | |-- gucharmap-2.26.2.tar.xz
-| | | |-- gucharmap.SlackBuild
-| | | `-- slack-desc
-| | |-- gv
-| | | |-- gv-3.6.7.tar.xz
-| | | |-- gv.SlackBuild
-| | | `-- slack-desc
-| | |-- gxine
-| | | |-- gxine-0.5.903.tar.bz2
-| | | |-- gxine.SlackBuild
-| | | |-- gxine.desktop.gz
-| | | `-- slack-desc
-| | |-- imagemagick
-| | | |-- ImageMagick-6.5.3-3.tar.xz
-| | | |-- imagemagick.SlackBuild
-| | | `-- slack-desc
-| | |-- mozilla-firefox
-| | | |-- firefox-3.5.2-source.tar.bz2
-| | | |-- firefox-3.5.2-source.tar.bz2.asc
-| | | |-- firefox.moz_plugin_path.diff.gz
-| | | |-- firefox.png
-| | | |-- mimeTypes.rdf.gz
-| | | |-- mozilla-firefox-mimeTypes-fix.diff.gz
-| | | |-- mozilla-firefox.SlackBuild
-| | | |-- mozilla-firefox.desktop
-| | | `-- slack-desc
-| | |-- mozilla-thunderbird
-| | | |-- mozilla-thunderbird-firefox.diff.gz
-| | | |-- mozilla-thunderbird.SlackBuild
-| | | |-- mozilla-thunderbird.desktop
-| | | |-- slack-desc
-| | | |-- thunderbird-2.0.0.23-source.tar.bz2
-| | | |-- thunderbird-2.0.0.23-source.tar.bz2.asc
-| | | `-- thunderbird.png
-| | |-- pan
-| | | |-- pan-0.133.tar.bz2
-| | | |-- pan.SlackBuild
-| | | `-- slack-desc
-| | |-- pidgin
-| | | |-- pidgin-2.5.9.tar.xz
-| | | |-- pidgin-encryption-3.0.tar.gz
-| | | |-- pidgin.SlackBuild
-| | | |-- purple-allow-sign-rsa-md5.patch.gz
-| | | `-- slack-desc
-| | |-- rdesktop
-| | | |-- rdesktop-1.6.0.tar.bz2
-| | | |-- rdesktop.SlackBuild
-| | | `-- slack-desc
-| | |-- rxvt
-| | | |-- rxvt-2.7.10.tar.bz2
-| | | |-- rxvt.SlackBuild
-| | | |-- rxvt.utempter.diff.gz
-| | | `-- slack-desc
-| | |-- sane
-| | | |-- dll.conf.additions.gz
-| | | |-- doinst.sh.gz
-| | | |-- sane-backends-1.0.19.tar.bz2
-| | | |-- sane-frontends-1.0.14.tar.bz2
-| | | |-- sane.SlackBuild
-| | | `-- slack-desc
-| | |-- seamonkey
-| | | |-- doinst.sh.gz
-| | | |-- seamonkey-1.1.17.source.tar.xz
-| | | |-- seamonkey-icon.png
-| | | |-- seamonkey-mail-icon.png
-| | | |-- seamonkey-mail.desktop
-| | | |-- seamonkey.SlackBuild
-| | | |-- seamonkey.desktop
-| | | |-- seamonkey.moz_plugin_path.diff.gz
-| | | `-- slack-desc
-| | |-- seyon
-| | | |-- seyon-2.20c.lsm
-| | | |-- seyon-2.20c.tar.gz
-| | | |-- seyon.SlackBuild
-| | | |-- seyon_2.20c-16.diff.gz
-| | | `-- slack-desc
-| | |-- thunar-volman
-| | | |-- slack-desc
-| | | |-- thunar-volman-0.3.80.tar.bz2
-| | | `-- thunar-volman.SlackBuild
-| | |-- vim-gvim -> ../ap/vim
-| | |-- windowmaker
-| | | |-- WindowMaker-20060427cvs.tar.bz2
-| | | |-- WindowMaker-extra-0.1.tar.gz
-| | | |-- slack-desc
-| | | |-- windowmaker.SlackBuild
-| | | |-- windowmaker.no-mmx.diff.gz
-| | | |-- wmaker.inst.diff.gz
-| | | `-- xinitrc.wmaker
-| | |-- x11-ssh-askpass
-| | | |-- README
-| | | |-- slack-desc
-| | | |-- x11-ssh-askpass-1.2.4.1.tar.gz
-| | | |-- x11-ssh-askpass.SlackBuild
-| | | |-- x11-ssh-askpass.info
-| | | `-- xprofile.sample
-| | |-- x3270
-| | | |-- doinst.sh.gz
-| | | |-- slack-desc
-| | | |-- x3270-3.3.7p8.tar.bz2
-| | | `-- x3270.SlackBuild
-| | |-- xchat
-| | | |-- patches
-| | | | |-- patches.url
-| | | | |-- xc286-smallfixes.diff.gz
-| | | | `-- xchat.gtk_2_14.diff.gz
-| | | |-- slack-desc
-| | | |-- xchat-2.8.6.tar.bz2
-| | | `-- xchat.SlackBuild
-| | |-- xfce
-| | | |-- icons.tar.xz
-| | | |-- patches
-| | | | |-- exo_quoting_fix.diff.gz
-| | | | |-- launcher-plugin-migrate-icon-cat.diff.gz
-| | | | |-- migrate-itheme-smartly.diff.gz
-| | | | |-- terminal-0.4.0-fixup_docdir.diff.gz
-| | | | |-- thunar-1.0.1-fixup_docdir.diff.gz
-| | | | |-- xfcalendar.desktop.in.diff.gz
-| | | | `-- xfdesktop-fix_education_icon.diff.gz
-| | | |-- profile.d
-| | | | |-- xfce.csh
-| | | | `-- xfce.sh
-| | | |-- slack-desc
-| | | |-- src
-| | | | |-- Terminal-0.4.0.tar.xz
-| | | | |-- Thunar-1.0.1.tar.xz
-| | | | |-- exo-0.3.101.tar.xz
-| | | | |-- gtk-xfce-engine-2.6.0.tar.xz
-| | | | |-- libxfce4menu-4.6.1.tar.xz
-| | | | |-- libxfce4util-4.6.1.tar.xz
-| | | | |-- libxfcegui4-4.6.1.tar.xz
-| | | | |-- mousepad-0.2.16.tar.xz
-| | | | |-- orage-4.6.1.tar.xz
-| | | | |-- xfce-utils-4.6.1.tar.xz
-| | | | |-- xfce4-appfinder-4.6.1.tar.xz
-| | | | |-- xfce4-dev-tools-4.6.0.tar.xz
-| | | | |-- xfce4-mixer-4.6.1.tar.xz
-| | | | |-- xfce4-panel-4.6.1.tar.xz
-| | | | |-- xfce4-session-4.6.1.tar.xz
-| | | | |-- xfce4-settings-4.6.1.tar.xz
-| | | | |-- xfconf-4.6.1.tar.xz
-| | | | |-- xfdesktop-4.6.1.tar.xz
-| | | | |-- xfprint-4.6.1.tar.xz
-| | | | |-- xfwm4-4.6.1.tar.xz
-| | | | `-- xfwm4-themes-4.6.0.tar.xz
-| | | `-- xfce.SlackBuild
-| | |-- xfce4-power-manager
-| | | |-- doinst.sh.gz
-| | | |-- slack-desc
-| | | |-- xfce4-power-manager-0.6.6.tar.bz2
-| | | `-- xfce4-power-manager.SlackBuild
-| | |-- xfractint
-| | | |-- palette.maps.tar.gz
-| | | |-- slack-desc
-| | | |-- xfractint-20.04p09.tar.bz2
-| | | `-- xfractint.SlackBuild
-| | |-- xgames
-| | | |-- maze.diff.gz
-| | | |-- maze.tar.gz
-| | | |-- slack-desc
-| | | |-- spider.diff.gz
-| | | |-- spider.tar.gz
-| | | |-- xcolormap.diff.gz
-| | | |-- xcolormap.tar.gz
-| | | |-- xcuckoo-1.1.tar.gz
-| | | |-- xcuckoo.diff.gz
-| | | |-- xgames.SlackBuild
-| | | |-- xlander-2009-07-18.diff.gz
-| | | |-- xlander.fixes.diff.gz
-| | | |-- xlander.tar.gz
-| | | |-- xminesweep3.0.tar.gz
-| | | |-- xneko.tar.gz
-| | | |-- xroach.tar.gz
-| | | `-- xsnow-1.40.tar.gz
-| | |-- xine-lib
-| | | |-- slack-desc
-| | | |-- xine-lib-1.1.16.3.tar.bz2
-| | | `-- xine-lib.SlackBuild
-| | |-- xine-ui
-| | | |-- slack-desc
-| | | |-- xine-ui-0.99.5.tar.bz2
-| | | |-- xine-ui.SlackBuild
-| | | `-- xine.desktop.gz
-| | |-- xlockmore
-| | | |-- l-bob.README
-| | | |-- l-bob.xbm
-| | | |-- l-linux.xbm
-| | | |-- s-bob.xbm
-| | | |-- slack-desc
-| | | |-- xlockmore-5.28.tar.bz2
-| | | |-- xlockmore-5.28.tar.bz2.asc
-| | | |-- xlockmore.SlackBuild
-| | | `-- xlockmore.bitmap.diff.gz
-| | |-- xmms
-| | | |-- arts_output-0.7.1.tar.gz
-| | | |-- slack-desc
-| | | |-- xmms-1.2.11.tar.bz2
-| | | |-- xmms.SlackBuild
-| | | |-- xmms.desktop
-| | | |-- xmms.gtk.doublesize.diff.gz
-| | | `-- xmms.wmxmms_vis_depth_workaround.diff.gz
-| | |-- xpaint
-| | | |-- slack-desc
-| | | |-- xpaint-2.7.8.1.tar.bz2
-| | | |-- xpaint.SlackBuild
-| | | |-- xpaint_2.7.8.1-1.2.diff.gz
-| | | `-- xpaint_xaw3d_no_scroll_mode.diff.gz
-| | |-- xpdf
-| | | |-- VendorP.h.buggy.diff
-| | | |-- slack-desc
-| | | |-- xpdf-3.02.tar.gz
-| | | |-- xpdf-3.02.tar.gz.sig
-| | | |-- xpdf-3.02pl1.patch
-| | | |-- xpdf-3.02pl1.patch.sig
-| | | |-- xpdf-3.02pl2.patch
-| | | |-- xpdf-3.02pl2.patch.sig
-| | | |-- xpdf-3.02pl3.patch
-| | | |-- xpdf-3.02pl3.patch.sig
-| | | |-- xpdf-arabic.diff.gz
-| | | |-- xpdf-arabic.tar.gz
-| | | |-- xpdf-chinese-simplified.diff.gz
-| | | |-- xpdf-chinese-simplified.tar.gz
-| | | |-- xpdf-chinese-traditional.diff.gz
-| | | |-- xpdf-chinese-traditional.tar.gz
-| | | |-- xpdf-cyrillic.diff.gz
-| | | |-- xpdf-cyrillic.tar.gz
-| | | |-- xpdf-greek.diff.gz
-| | | |-- xpdf-greek.tar.gz
-| | | |-- xpdf-hebrew.diff.gz
-| | | |-- xpdf-hebrew.tar.gz
-| | | |-- xpdf-japanese.diff.gz
-| | | |-- xpdf-japanese.tar.gz
-| | | |-- xpdf-korean.diff.gz
-| | | |-- xpdf-korean.tar.gz
-| | | |-- xpdf-latin2.diff.gz
-| | | |-- xpdf-latin2.tar.gz
-| | | |-- xpdf-resizefix.diff.gz
-| | | |-- xpdf-thai.diff.gz
-| | | |-- xpdf-thai.tar.gz
-| | | |-- xpdf-turkish.diff.gz
-| | | |-- xpdf-turkish.tar.gz
-| | | |-- xpdf.SlackBuild
-| | | |-- xpdf.desktop
-| | | |-- xpdf_3.02-1.3.diff.gz
-| | | `-- xpdfrc.diff.gz
-| | |-- xsane
-| | | |-- slack-desc
-| | | |-- xsane-0.996.tar.bz2
-| | | `-- xsane.SlackBuild
-| | |-- xscreensaver
-| | | |-- setuid.c.gz
-| | | |-- slack-desc
-| | | |-- xscreensaver-5.08.tar.xz
-| | | |-- xscreensaver.SlackBuild
-| | | |-- xscreensaver.electricsheep.diff.gz
-| | | `-- xscreensaver.setuid.diff.gz
-| | |-- xv
-| | | |-- slack-desc
-| | | |-- xv-3.10.tar.gz
-| | | |-- xv-3.10a-jumbo-README.txt
-| | | |-- xv-3.10a-jumbo-enh-patch-20050501.txt.bz2
-| | | |-- xv-3.10a-jumbo-fix-patch-20050410.txt.bz2
-| | | |-- xv-3.10a.patch.gz
-| | | |-- xv.SlackBuild
-| | | |-- xv.prefix.diff.gz
-| | | `-- xv.prefix_x86_64.diff.gz
-| | `-- xxgdb
-| | |-- slack-desc
-| | |-- xxgdb-1.12.tar.gz
-| | |-- xxgdb.SlackBuild
-| | `-- xxgdb.fix_glibc_and_gcc.diff.gz
-| `-- y
-| `-- bsd-games
-| |-- bsd-games-2.13.lsm
-| |-- bsd-games-2.13.tar.bz2
-| |-- bsd-games-login-fortune.csh
-| |-- bsd-games-login-fortune.sh
-| |-- bsd-games.SlackBuild
-| |-- bsd-games.config.params.diff.gz
-| |-- bsd-games.fortlen.diff.gz
-| |-- bsd-games.fortunepath.diff.gz
-| |-- bsd-games.ospeed.diff.gz
-| |-- bsd-games.phantasia_install_fix.diff.gz
-| |-- bsd-games.pom.diff.gz
-| |-- bsd-games.strfile.8.diff.gz
-| |-- bsd-games.trek-gcc4.diff.gz
-| |-- fortunes-linuxcookie.tar.gz
-| |-- fortunes-o.tar.gz
-| |-- hangman-words.gz
-| `-- slack-desc
-|-- testing
-| |-- CHECKSUMS.md5
-| |-- CHECKSUMS.md5.asc
-| |-- FILE_LIST
-| |-- MANIFEST.bz2
-| |-- PACKAGES.TXT
-| |-- packages
-| | |-- bash-4.0.024-x86_64-1.txt
-| | |-- bash-4.0.024-x86_64-1.txz
-| | |-- bash-4.0.024-x86_64-1.txz.asc
-| | `-- linux-2.6.30.5
-| | |-- README_FIRST.TXT
-| | |-- kernel-firmware-2.6.30.5-noarch-1_testing.txt
-| | |-- kernel-firmware-2.6.30.5-noarch-1_testing.txz
-| | |-- kernel-firmware-2.6.30.5-noarch-1_testing.txz.asc
-| | |-- kernel-generic-2.6.30.5-x86_64-1_testing.txt
-| | |-- kernel-generic-2.6.30.5-x86_64-1_testing.txz
-| | |-- kernel-generic-2.6.30.5-x86_64-1_testing.txz.asc
-| | |-- kernel-headers-2.6.30.5-x86-1_testing.txt
-| | |-- kernel-headers-2.6.30.5-x86-1_testing.txz
-| | |-- kernel-headers-2.6.30.5-x86-1_testing.txz.asc
-| | |-- kernel-modules-2.6.30.5-x86_64-1_testing.txt
-| | |-- kernel-modules-2.6.30.5-x86_64-1_testing.txz
-| | |-- kernel-modules-2.6.30.5-x86_64-1_testing.txz.asc
-| | |-- kernel-source-2.6.30.5-noarch-1_testing.txt
-| | |-- kernel-source-2.6.30.5-noarch-1_testing.txz
-| | `-- kernel-source-2.6.30.5-noarch-1_testing.txz.asc
-| `-- source
-| |-- bash
-| | |-- bash-4.0-patches
-| | | |-- bash40-001
-| | | |-- bash40-001.sig
-| | | |-- bash40-002
-| | | |-- bash40-002.sig
-| | | |-- bash40-003
-| | | |-- bash40-003.sig
-| | | |-- bash40-004
-| | | |-- bash40-004.sig
-| | | |-- bash40-005
-| | | |-- bash40-005.sig
-| | | |-- bash40-006
-| | | |-- bash40-006.sig
-| | | |-- bash40-007
-| | | |-- bash40-007.sig
-| | | |-- bash40-008
-| | | |-- bash40-008.sig
-| | | |-- bash40-009
-| | | |-- bash40-009.sig
-| | | |-- bash40-010
-| | | |-- bash40-010.sig
-| | | |-- bash40-011
-| | | |-- bash40-011.sig
-| | | |-- bash40-012
-| | | |-- bash40-012.sig
-| | | |-- bash40-013
-| | | |-- bash40-013.sig
-| | | |-- bash40-014
-| | | |-- bash40-014.sig
-| | | |-- bash40-015
-| | | |-- bash40-015.sig
-| | | |-- bash40-016
-| | | |-- bash40-016.sig
-| | | |-- bash40-017
-| | | |-- bash40-017.sig
-| | | |-- bash40-018
-| | | |-- bash40-018.sig
-| | | |-- bash40-019
-| | | |-- bash40-019.sig
-| | | |-- bash40-020
-| | | |-- bash40-020.sig
-| | | |-- bash40-021
-| | | |-- bash40-021.sig
-| | | |-- bash40-022
-| | | |-- bash40-022.sig
-| | | |-- bash40-023
-| | | |-- bash40-023.sig
-| | | |-- bash40-024
-| | | `-- bash40-024.sig
-| | |-- bash-4.0.tar.bz2
-| | |-- bash.SlackBuild
-| | |-- doinst.sh.gz
-| | `-- slack-desc
-| `-- linux-2.6.30.5
-| `-- config-generic-2.6.30.5
-`-- usb-and-pxe-installers
- |-- README_PXE.TXT
- |-- README_USB.TXT
- |-- pxelinux.cfg_default
- |-- usbboot.img
- `-- usbimg2disk.sh
-
-785 directories, 8310 files
-
diff --git a/extra/source/wicd/README.SLACKWARE b/extra/source/wicd/README.SLACKWARE
index 47a9cba9..e7a374dc 100644
--- a/extra/source/wicd/README.SLACKWARE
+++ b/extra/source/wicd/README.SLACKWARE
@@ -13,9 +13,5 @@ Your user account will need to be a member of the 'netdev' group
in order to use wicd.
Note that urwid will need to be installed if you want to use the
-curses client.
-
-Also, if you don't have kde installed, you won't have a graphical
-sudo client available; you might wish to consider ktsuss from
-SlackBuilds.org.
-
+curses client. Also, if you don't have kde installed, you won't
+have a graphical sudo client available.
diff --git a/extra/source/wicd/doinst.sh b/extra/source/wicd/doinst.sh
index 2c0f7d98..78732c5b 100644
--- a/extra/source/wicd/doinst.sh
+++ b/extra/source/wicd/doinst.sh
@@ -33,4 +33,5 @@ fi
config etc/dbus-1/system.d/wicd.conf.new
config etc/rc.d/rc.wicd.new
config etc/wicd/manager-settings.conf.new
+config etc/logrotate.d/wicd.logrotate.new
diff --git a/extra/source/wicd/wicd.SlackBuild b/extra/source/wicd/wicd.SlackBuild
index 21d6d454..b2175a40 100755
--- a/extra/source/wicd/wicd.SlackBuild
+++ b/extra/source/wicd/wicd.SlackBuild
@@ -1,6 +1,6 @@
#!/bin/sh
-# Copyright 2008,2009 Robby Workman Northport, AL, USA
+# Copyright 2008,2009,2010,2011,2012 Robby Workman Northport, AL, USA
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
@@ -21,9 +21,17 @@
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
PRGNAM=wicd
-VERSION=${VERSION:-1.6.2.1}
-ARCH=${ARCH:-x86_64} # This should be the same as the python package
-BUILD=${BUILD:-1}
+VERSION=${VERSION:-1.7.2.1}
+BUILD=${BUILD:-1_slack13.0}
+
+# Automatically determine architecture for build & packaging:
+if [ -z "$ARCH" ]; then
+ case "$( uname -m )" in
+ i?86) export ARCH=i486 ;;
+ # Unless $ARCH is already set, use uname -m for all other archs:
+ *) export ARCH=$( uname -m ) ;;
+ esac
+fi
CWD=$(pwd)
TMP=${TMP:-/tmp}
@@ -35,13 +43,15 @@ elif [ "$ARCH" = "s390" ]; then
LIBDIRSUFFIX=""
elif [ "$ARCH" = "x86_64" ]; then
LIBDIRSUFFIX="64"
+else
+ LIBDIRSUFFIX=""
fi
rm -rf $PKG
mkdir -p $TMP $PKG
cd $TMP
rm -rf $PRGNAM-$VERSION
-tar xvf $CWD/$PRGNAM-$VERSION.tar.bz2 || exit 1
+tar xvf $CWD/$PRGNAM-$VERSION.tar.xz || exit 1
cd $PRGNAM-$VERSION || exit 1
chown -R root:root .
@@ -49,8 +59,14 @@ python setup.py configure \
--lib=/usr/lib${LIBDIRSUFFIX}/wicd \
--kdedir=/usr/share/autostart \
--backends=/usr/lib${LIBDIRSUFFIX}/wicd/backends \
- --wicdgroup=netdev \
|| exit 1
+
+# Bypass the need for pybabel (thanks, dapal!)
+for pofile in $(find po/ -type f -name "*.po") ; do
+ mkdir -p translations/$(basename ${pofile} .po)/LC_MESSAGES
+ msgfmt -o translations/$(basename ${pofile} .po)/LC_MESSAGES/wicd.mo ${pofile}
+done
+
python setup.py install --root=$PKG || exit 1
# Handle some Slackware defaults
@@ -62,8 +78,9 @@ dhcp_client = 2
sudo_app = 2
EOF
-# Don't clobber dbus config on upgrade
+# Don't clobber configs on upgrade
mv $PKG/etc/dbus-1/system.d/wicd.conf $PKG/etc/dbus-1/system.d/wicd.conf.new
+mv $PKG/etc/logrotate.d/wicd.logrotate $PKG/etc/logrotate.d/wicd.logrotate.new
mv $PKG/etc/rc.d/rc.wicd $PKG/etc/rc.d/rc.wicd.new
# Compress the man pages and add a bit to the package docs
diff --git a/extra/wicd/README.SLACKWARE b/extra/wicd/README.SLACKWARE
index 47a9cba9..e7a374dc 100644
--- a/extra/wicd/README.SLACKWARE
+++ b/extra/wicd/README.SLACKWARE
@@ -13,9 +13,5 @@ Your user account will need to be a member of the 'netdev' group
in order to use wicd.
Note that urwid will need to be installed if you want to use the
-curses client.
-
-Also, if you don't have kde installed, you won't have a graphical
-sudo client available; you might wish to consider ktsuss from
-SlackBuilds.org.
-
+curses client. Also, if you don't have kde installed, you won't
+have a graphical sudo client available.
diff --git a/isolinux/isolinux.boot b/isolinux/isolinux.boot
deleted file mode 100644
index 97f9401e..00000000
--- a/isolinux/isolinux.boot
+++ /dev/null
Binary files differ
diff --git a/pasture/source/seamonkey/doinst.sh b/pasture/source/seamonkey/doinst.sh
new file mode 100644
index 00000000..c236bea5
--- /dev/null
+++ b/pasture/source/seamonkey/doinst.sh
@@ -0,0 +1,11 @@
+# If there's no mozilla here, then take over:
+if [ ! -r usr/bin/mozilla ]; then
+ ( cd usr/bin ; ln -sf seamonkey mozilla )
+fi
+# Hopefully this won't break everything. ;-)
+if ! grep /usr/lib/seamonkey etc/ld.so.conf 1> /dev/null 2> /dev/null ; then
+ echo "/usr/lib/seamonkey" >> etc/ld.so.conf
+fi
+if [ -x /sbin/ldconfig ]; then
+ /sbin/ldconfig 2> /dev/null
+fi
diff --git a/pasture/source/seamonkey/seamonkey-icon.png b/pasture/source/seamonkey/seamonkey-icon.png
new file mode 100644
index 00000000..824ab7a5
--- /dev/null
+++ b/pasture/source/seamonkey/seamonkey-icon.png
Binary files differ
diff --git a/pasture/source/seamonkey/seamonkey-mail-icon.png b/pasture/source/seamonkey/seamonkey-mail-icon.png
new file mode 100644
index 00000000..123b077b
--- /dev/null
+++ b/pasture/source/seamonkey/seamonkey-mail-icon.png
Binary files differ
diff --git a/pasture/source/seamonkey/seamonkey-mail.desktop b/pasture/source/seamonkey/seamonkey-mail.desktop
new file mode 100644
index 00000000..1e0b62b1
--- /dev/null
+++ b/pasture/source/seamonkey/seamonkey-mail.desktop
@@ -0,0 +1,8 @@
+[Desktop Entry]
+Name=SeaMonkey Mail
+Comment=Read Mail with SeaMonkey
+Exec=/usr/bin/seamonkey -mail
+Icon=/usr/share/pixmaps/seamonkey-mail-icon.png
+Terminal=0
+Type=Application
+Categories=Application;Network;
diff --git a/pasture/source/seamonkey/seamonkey.SlackBuild b/pasture/source/seamonkey/seamonkey.SlackBuild
new file mode 100755
index 00000000..96c0b468
--- /dev/null
+++ b/pasture/source/seamonkey/seamonkey.SlackBuild
@@ -0,0 +1,236 @@
+#!/bin/sh
+
+# Copyright 2008, 2009 Patrick J. Volkerding, Sebeka, MN, USA
+# All rights reserved.
+#
+# Redistribution and use of this script, with or without modification, is
+# permitted provided that the following conditions are met:
+#
+# 1. Redistributions of this script must retain the above copyright
+# notice, this list of conditions and the following disclaimer.
+#
+# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED
+# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
+# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
+# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+VERSION=${VERSION:-1.1.18}
+ARCH=${ARCH:-x86_64}
+BUILD=${BUILD:-2}
+
+NUMJOBS=${NUMJOBS:-" -j7 "}
+
+if [ "$ARCH" = "i486" ]; then
+ SLKCFLAGS="-O2 -march=i486 -mtune=i686"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "s390" ]; then
+ SLKCFLAGS="-O2"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "x86_64" ]; then
+ SLKCFLAGS="-O2 -fPIC"
+ LIBDIRSUFFIX="64"
+elif [ "$ARCH" = "arm" ]; then
+ SLKCFLAGS="-O2 -march=armv4 -mtune=xscale"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "armel" ]; then
+ SLKCFLAGS="-O2 -march=armv4t"
+ LIBDIRSUFFIX=""
+fi
+
+CWD=$(pwd)
+TMP=${TMP:-/tmp}
+PKG=$TMP/package-seamonkey
+rm -rf $PKG
+mkdir -p $TMP $PKG/usr
+
+cd $TMP
+rm -rf mozilla
+tar xvf $CWD/seamonkey-${VERSION}.source.tar.xz || exit 1
+cd mozilla || exit 1
+
+# The build seems to fail without this:
+zcat $CWD/seamonkey.sqlite3.static.diff.gz | patch -p1 --verbose || exit 1
+
+# Add /usr/lib/mozilla/plugins to MOZ_PLUGINS_PATH:
+zcat $CWD/seamonkey.moz_plugin_path.diff.gz \
+ | sed -e "s#usr/lib#usr/lib${LIBDIRSUFFIX}#g" \
+ | patch -p1 --verbose || exit 1
+rm -f xpfe/bootstrap/mozilla.in.orig
+
+# Make sure the perms/ownerships are sane:
+chown -R root:root .
+find . \
+ \( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \
+ -exec chmod 755 {} \; -o \
+ \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \
+ -exec chmod 644 {} \;
+
+# Fix a long standing bug that's prevented staying current on GTK+.
+# Thanks to the BLFS folks. :-)
+cat >> layout/build/Makefile.in << EOF
+
+ifdef MOZ_ENABLE_CANVAS
+EXTRA_DSO_LDOPTS += \$(XLDFLAGS) -lX11 -lXrender
+endif
+
+EOF
+
+chown -R root:root .
+BUILD_OFFICIAL=1 MOZILLA_OFFICIAL=1 \
+./configure --prefix=/usr \
+ --libdir=/usr/lib${LIBDIRSUFFIX} \
+ --enable-optimize="$CFLAGS" \
+ --disable-debug \
+ --with-default-mozilla-five-home=/usr/lib${LIBDIRSUFFIX}/seamonkey-${VERSION} \
+ --enable-strip \
+ --disable-tests \
+ --enable-svg \
+ --enable-system-cairo \
+ --enable-canvas \
+ --disable-short-wchar \
+ --enable-nspr-autoconf \
+ --enable-extensions=default,irc \
+ --enable-crypto \
+ --disable-xprint \
+ --without-system-nspr \
+ --with-system-zlib \
+ --with-system-jpeg \
+ --with-system-png \
+ --with-system-mng \
+ --enable-application=suite \
+ --enable-xft \
+ --host=$ARCH-slackware-linux \
+ --target=$ARCH-slackware-linux \
+ --build=$ARCH-slackware-linux
+
+BUILD_OFFICIAL=1 MOZILLA_OFFICIAL=1 make $NUMJOBS -s export || exit 1
+BUILD_OFFICIAL=1 MOZILLA_OFFICIAL=1 make $NUMJOBS -s libs || exit 1
+BUILD_OFFICIAL=1 MOZILLA_OFFICIAL=1 DESTDIR=$PKG make install || exit 1
+
+# Install nss headers.
+mkdir -p $PKG/usr/include/seamonkey-${VERSION}/nss
+find security/nss/lib -name "*.h" -type f -exec cp -a {} $PKG/usr/include/seamonkey-${VERSION}/nss \;
+chown -R root:root $PKG/usr/include/seamonkey-${VERSION}/nss
+chmod 644 $PKG/usr/include/seamonkey-${VERSION}/nss/*
+# Create a more generic include files symlink:
+( cd $PKG/usr/include
+ if [ ! -e seamonkey ]; then
+ ln -sf seamonkey-${VERSION} seamonkey
+ fi
+)
+
+# Let the nspr be found by gxine:
+( cd $PKG/usr/lib${LIBDIRSUFFIX}/pkgconfig; ln -s seamonkey-nspr.pc nspr.pc )
+
+# A Better Way to handle the problem below is simply to add /usr/lib/seamonkey
+# to /etc/ld.so.conf. After all, the various Mozilla offshoots all set an
+# LD_LIBRARY_PATH to make sure *they* use the right libraries anyway, and as
+# far as I know seamonkey has the only set of Mozilla development libraries
+# right now. Plus, doing it this way doesn't stomp all over efforts by people
+# who would like to use seamonkey-nss-solibs.
+
+## Link some libraries into /usr/lib. Unless this is done, some things (like gxine)
+## will be unable to load them, even if they linked with them successfully.
+#( cd $PKG/usr/lib${LIBDIRSUFFIX} && ( for somelib in libmozjs.so libnspr4.so libnss3.so libplc4.so libplds4.so libsmime3.so libsoftokn3.so libssl3.so ; do
+# # Link to it:
+# ln -sf seamonkey-${VERSION}/$somelib .
+# done )
+#)
+
+# Compress and if needed symlink the man pages:
+if [ -d $PKG/usr/man ]; then
+ ( cd $PKG/usr/man
+ for manpagedir in $(find . -type d -name "man*") ; do
+ ( cd $manpagedir
+ for eachpage in $( find . -type l -maxdepth 1) ; do
+ ln -s $( readlink $eachpage ).gz $eachpage.gz
+ rm $eachpage
+ done
+ gzip -9 *.?
+ )
+ done
+ )
+fi
+
+# Strip files:
+find $PKG | xargs file | grep -e "executable" -e "shared object" | grep ELF \
+ | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
+
+# This remains the standard plugin directory for all browsers.
+mkdir -p $PKG/usr/lib${LIBDIRSUFFIX}/mozilla/plugins
+
+# Some software won't compile without this symlink:
+( cd $PKG/usr/lib${LIBDIRSUFFIX}
+ if [ ! -e seamonkey ]; then
+ ln -sf seamonkey-${VERSION} seamonkey
+ fi
+)
+
+mkdir -p $PKG/usr/share/applications
+cp -a $CWD/*.desktop $PKG/usr/share/applications
+chown -R root:root $PKG/usr/share/applications
+chmod 644 $PKG/usr/share/applications/*
+mkdir -p $PKG/usr/share/pixmaps
+cp -a $CWD/*.png $PKG/usr/share/pixmaps
+chown -R root:root $PKG/usr/share/pixmaps
+chmod 644 $PKG/usr/share/pixmaps/*
+
+mkdir -p $PKG/usr/doc/seamonkey-$VERSION
+cp -a \
+ LEGAL LICENSE README.txt \
+ $PKG/usr/doc/seamonkey-$VERSION
+
+mkdir -p $PKG/install
+cat $CWD/slack-desc > $PKG/install/slack-desc
+zcat $CWD/doinst.sh.gz | sed -e "s#usr/lib#usr/lib${LIBDIRSUFFIX}#g" \
+ > $PKG/install/doinst.sh
+
+cd $TMP/package-seamonkey
+/sbin/makepkg -l y -c n -p $TMP/seamonkey-$VERSION-$ARCH-$BUILD.txz
+
+# Create a standalone seamonkey-solibs package for RPM, gxine, etc.
+rm -r $TMP/package-seamonkey-solibs
+mkdir -p $TMP/package-seamonkey-solibs/usr/doc
+cp -a $PKG/usr/doc/seamonkey-$VERSION $TMP/package-seamonkey-solibs/usr/doc
+mkdir -p $TMP/package-seamonkey-solibs/usr/lib${LIBDIRSUFFIX}/seamonkey-${VERSION}
+for file in libfreebl3.chk libfreebl3.so libmozjs.so libnspr4.so libnss3.so \
+ libnssckbi.so libnssutil3.so libplc4.so libplds4.so libsmime3.so \
+ libsoftokn3.chk libsoftokn3.so libssl3.so ; do
+ cp -a $PKG/usr/lib${LIBDIRSUFFIX}/seamonkey-${VERSION}/$file \
+ $TMP/package-seamonkey-solibs/usr/lib${LIBDIRSUFFIX}/seamonkey-${VERSION}
+done
+mkdir $TMP/package-seamonkey-solibs/install
+cat << EOF | sed -e "s#usr/lib#usr/lib${LIBDIRSUFFIX}#g" > $TMP/package-seamonkey-solibs/install/doinst.sh
+( cd usr/lib ; rm -rf seamonkey )
+( cd usr/lib ; ln -sf seamonkey-$VERSION seamonkey )
+if ! grep /usr/lib/seamonkey etc/ld.so.conf 1> /dev/null 2> /dev/null ; then
+ echo "/usr/lib/seamonkey" >> etc/ld.so.conf
+fi
+if [ -x /sbin/ldconfig ]; then
+ /sbin/ldconfig 2> /dev/null
+fi
+EOF
+cat << EOF > $TMP/package-seamonkey-solibs/install/slack-desc
+ |-----handy-ruler------------------------------------------------------|
+seamonkey-solibs: seamonkey-solibs (Shared libraries from Seamonkey)
+seamonkey-solibs:
+seamonkey-solibs: This package contains a subset of the shared libraries from Seamonkey
+seamonkey-solibs: to provide runtime support for programs that require nss, nspr, and
+seamonkey-solibs: js. These libraries are used in programs like RPM and gxine, and can
+seamonkey-solibs: be used in others. This package is built from the Seamonkey sources
+seamonkey-solibs: and is provided as a standalone runtime package for people who do not
+seamonkey-solibs: want to install the entire seamonkey package (as for server use).
+seamonkey-solibs:
+seamonkey-solibs: This package is runtime only. The include files and other files for
+seamonkey-solibs: development can be found in the seamonkey package.
+EOF
+cd $TMP/package-seamonkey-solibs
+/sbin/makepkg -l y -c n -p $TMP/seamonkey-solibs-$VERSION-$ARCH-$BUILD.txz
+
diff --git a/pasture/source/seamonkey/seamonkey.desktop b/pasture/source/seamonkey/seamonkey.desktop
new file mode 100644
index 00000000..7c988a76
--- /dev/null
+++ b/pasture/source/seamonkey/seamonkey.desktop
@@ -0,0 +1,8 @@
+[Desktop Entry]
+Name=SeaMonkey
+Comment=Web Browser
+Exec=/usr/bin/seamonkey
+Icon=/usr/share/pixmaps/seamonkey-icon.png
+Terminal=0
+Type=Application
+Categories=Application;Network;
diff --git a/pasture/source/seamonkey/seamonkey.moz_plugin_path.diff b/pasture/source/seamonkey/seamonkey.moz_plugin_path.diff
new file mode 100644
index 00000000..f967580b
--- /dev/null
+++ b/pasture/source/seamonkey/seamonkey.moz_plugin_path.diff
@@ -0,0 +1,16 @@
+--- ./xpfe/bootstrap/mozilla.in.orig 2006-08-20 17:44:28.000000000 -0500
++++ ./xpfe/bootstrap/mozilla.in 2007-02-19 21:25:32.000000000 -0600
+@@ -60,6 +60,13 @@
+ MOZ_PIS_SESSION_PID="$$"
+ MOZ_PIS_USER_DIR="${MOZ_USER_DIR}"
+ export MOZ_PIS_API MOZ_PIS_MOZBINDIR MOZ_PIS_SESSION_PID MOZ_PIS_USER_DIR
++ # Include /usr/lib/mozilla/plugins in the plugin path:
++ if [ "$MOZ_PLUGIN_PATH" ] ; then
++ MOZ_PLUGIN_PATH=$MOZ_PLUGIN_PATH:${moz_libdir}/plugins:/usr/lib/mozilla/plugins
++ else
++ MOZ_PLUGIN_PATH=${moz_libdir}/plugins:/usr/lib/mozilla/plugins
++ fi
++ export MOZ_PLUGIN_PATH
+
+ case "${1}" in
+ "start")
diff --git a/pasture/source/seamonkey/seamonkey.sqlite3.static.diff b/pasture/source/seamonkey/seamonkey.sqlite3.static.diff
new file mode 100644
index 00000000..067d76e7
--- /dev/null
+++ b/pasture/source/seamonkey/seamonkey.sqlite3.static.diff
@@ -0,0 +1,11 @@
+--- ./db/sqlite3/src/Makefile.in.orig 2009-08-10 12:59:12.000000000 -0500
++++ ./db/sqlite3/src/Makefile.in 2009-09-06 18:27:02.000000000 -0500
+@@ -46,7 +46,7 @@
+ MODULE = sqlite3
+ LIBRARY_NAME = sqlite3
+ MODULE_NAME = sqlite3
+-FORCE_SHARED_LIB = 1
++FORCE_STATIC_LIB = 1
+ VISIBILITY_FLAGS =
+
+ ifeq (,$(filter-out WINNT WINCE, $(OS_ARCH)))
diff --git a/pasture/source/seamonkey/slack-desc b/pasture/source/seamonkey/slack-desc
new file mode 100644
index 00000000..978c1d09
--- /dev/null
+++ b/pasture/source/seamonkey/slack-desc
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|'
+# on the right side marks the last column you can put a character in. You must
+# make exactly 11 lines for the formatting to be correct. It's also
+# customary to leave one space after the ':'.
+
+ |-----handy-ruler------------------------------------------------------|
+seamonkey: SeaMonkey (an open-source web browser suite)
+seamonkey:
+seamonkey: The SeaMonkey browser suite. SeaMonkey features a state-of-the-art
+seamonkey: web browser and powerful email client, as well as a WYSIWYG web page
+seamonkey: composer and a feature-rich IRC chat client. For web developers,
+seamonkey: mozilla.org's DOM inspector and JavaScript debugger tools are
+seamonkey: included as well.
+seamonkey:
+seamonkey: Visit the SeaMonkey project at this URL:
+seamonkey: http://www.mozilla.org/projects/seamonkey/
+seamonkey:
diff --git a/patches/packages/MPlayer-1.2_20160125-x86_64-1_slack13.0.txt b/patches/packages/MPlayer-1.2_20160125-x86_64-1_slack13.0.txt
new file mode 100644
index 00000000..fcba8f20
--- /dev/null
+++ b/patches/packages/MPlayer-1.2_20160125-x86_64-1_slack13.0.txt
@@ -0,0 +1,11 @@
+MPlayer: MPlayer (Linux movie player)
+MPlayer:
+MPlayer: MPlayer is a movie player for Linux. It plays most MPEG, VOB, AVI,
+MPlayer: Ogg/OGM, VIVO, ASF/WMA/WMV, QT/MOV/MP4, FLI, RM, NuppelVideo,
+MPlayer: YUV4MPEG, FILM, RoQ, PVA files, supported by many native, XAnim,
+MPlayer: and Win32 DLL codecs. You can watch VideoCD, SVCD, DVD, 3ivx,
+MPlayer: DivX 3/4/5 and even WMV movies, too (without the avifile library).
+MPlayer: MPlayer supports 10 types of subtitles formats: VobSub,
+MPlayer: MicroDVD, SubRip, SubViewer, Sami, VPlayer, RT, SSA, AQTitle, MPsub.
+MPlayer:
+MPlayer: Homepage for MPLayer is http://www.mplayerhq.hu/
diff --git a/patches/packages/acl-2.2.50-x86_64-1_slack13.0.txt b/patches/packages/acl-2.2.50-x86_64-1_slack13.0.txt
new file mode 100644
index 00000000..38dace93
--- /dev/null
+++ b/patches/packages/acl-2.2.50-x86_64-1_slack13.0.txt
@@ -0,0 +1,11 @@
+acl: acl (tools for using POSIX Access Control Lists)
+acl:
+acl: This package contains a set of tools and libraries for manipulating
+acl: POSIX Access Control Lists. POSIX Access Control Lists (defined in
+acl: POSIX 1003.1e draft standard 17) are used to define more fine-grained
+acl: discretionary access rights for files and directories.
+acl:
+acl:
+acl:
+acl: Homepage: http://savannah.nongnu.org/projects/acl
+acl:
diff --git a/patches/packages/apr-1.4.5-x86_64-1_slack13.0.txt b/patches/packages/apr-1.4.5-x86_64-1_slack13.0.txt
new file mode 100644
index 00000000..462103da
--- /dev/null
+++ b/patches/packages/apr-1.4.5-x86_64-1_slack13.0.txt
@@ -0,0 +1,11 @@
+apr: apr (Apache Portable Runtime)
+apr:
+apr: The mission of the Apache Portable Runtime (APR) is to provide a
+apr: free library of C data structures and routines, forming a system
+apr: portability layer to as many operating systems as possible.
+apr:
+apr:
+apr:
+apr:
+apr:
+apr:
diff --git a/patches/packages/apr-util-1.4.1-x86_64-1_slack13.0.txt b/patches/packages/apr-util-1.4.1-x86_64-1_slack13.0.txt
new file mode 100644
index 00000000..8a5614af
--- /dev/null
+++ b/patches/packages/apr-util-1.4.1-x86_64-1_slack13.0.txt
@@ -0,0 +1,11 @@
+apr-util: apr-util (Apache Portable Runtime utilities)
+apr-util:
+apr-util: The mission of the Apache Portable Runtime (APR) is to provide a
+apr-util: free library of C data structures and routines, forming a system
+apr-util: portability layer to as many operating systems as possible.
+apr-util:
+apr-util: This package contains additional utility interfaces for APR;
+apr-util: including support for XML, LDAP, database interfaces, URI parsing,
+apr-util: and more.
+apr-util:
+apr-util:
diff --git a/patches/packages/bash-3.1.023-x86_64-1_slack13.0.txt b/patches/packages/bash-3.1.023-x86_64-1_slack13.0.txt
new file mode 100644
index 00000000..99268883
--- /dev/null
+++ b/patches/packages/bash-3.1.023-x86_64-1_slack13.0.txt
@@ -0,0 +1,11 @@
+bash: bash (sh-compatible shell)
+bash:
+bash: The GNU Bourne-Again SHell. Bash is a sh-compatible command
+bash: interpreter that executes commands read from the standard input or
+bash: from a file. Bash also incorporates useful features from the Korn
+bash: and C shells (ksh and csh). Bash is ultimately intended to be a
+bash: conformant implementation of the IEEE Posix Shell and Tools
+bash: specification (IEEE Working Group 1003.2).
+bash:
+bash: Bash must be present for the system to boot properly.
+bash:
diff --git a/patches/packages/bind-9.9.11_P1-x86_64-1_slack13.0.txt b/patches/packages/bind-9.9.11_P1-x86_64-1_slack13.0.txt
new file mode 100644
index 00000000..3289b10d
--- /dev/null
+++ b/patches/packages/bind-9.9.11_P1-x86_64-1_slack13.0.txt
@@ -0,0 +1,11 @@
+bind: bind (DNS server and utilities)
+bind:
+bind: The named daemon and support utilities such as dig, host, and
+bind: nslookup. Sample configuration files for running a simple caching
+bind: nameserver are included. Documentation for advanced name server
+bind: setup can be found in /usr/doc/bind-9.x.x/.
+bind:
+bind:
+bind:
+bind:
+bind:
diff --git a/patches/packages/bzip2-1.0.6-x86_64-1_slack13.0.txt b/patches/packages/bzip2-1.0.6-x86_64-1_slack13.0.txt
new file mode 100644
index 00000000..acda18b8
--- /dev/null
+++ b/patches/packages/bzip2-1.0.6-x86_64-1_slack13.0.txt
@@ -0,0 +1,11 @@
+bzip2: bzip2 (a block-sorting file compressor)
+bzip2:
+bzip2: Bzip2 compresses files using the Burrows-Wheeler block sorting text
+bzip2: compression algorithm, and Huffman coding. Compression is generally
+bzip2: considerably better than that achieved by more conventional LZ77/LZ78-
+bzip2: based compressors, and approaches the performance of the PPM family of
+bzip2: statistical compressors.
+bzip2:
+bzip2: Julian Seward <jseward@acm.org> is the author of bzip2.
+bzip2:
+bzip2:
diff --git a/patches/packages/cairo-1.8.8-x86_64-1_slack13.0.txt b/patches/packages/cairo-1.8.8-x86_64-1_slack13.0.txt
new file mode 100644
index 00000000..375ea054
--- /dev/null
+++ b/patches/packages/cairo-1.8.8-x86_64-1_slack13.0.txt
@@ -0,0 +1,11 @@
+cairo: cairo (graphics library used by GTK+)
+cairo:
+cairo: Cairo is a vector graphics library designed to provide high-quality
+cairo: display and print output. Cairo is designed to produce
+cairo: identical output on all output media while taking advantage of display
+cairo: hardware acceleration when available (eg. through the X Render
+cairo: Extension or OpenGL).
+cairo:
+cairo:
+cairo:
+cairo:
diff --git a/patches/packages/coreutils-8.15-x86_64-1_slack13.0.txt b/patches/packages/coreutils-8.15-x86_64-1_slack13.0.txt
new file mode 100644
index 00000000..b41ad37d
--- /dev/null
+++ b/patches/packages/coreutils-8.15-x86_64-1_slack13.0.txt
@@ -0,0 +1,11 @@
+coreutils: coreutils (core GNU utilities)
+coreutils:
+coreutils: These are the GNU core utilities, the basic command line programs
+coreutils: such as 'mkdir', 'ls', and 'rm' that are needed for the system to
+coreutils: run. This package is the union of the GNU fileutils, sh-utils, and
+coreutils: textutils packages. Most of these programs have significant
+coreutils: advantages over their Unix counterparts, such as greater speed,
+coreutils: additional options, and fewer arbitrary limits.
+coreutils:
+coreutils:
+coreutils:
diff --git a/patches/packages/cups-1.3.11-x86_64-3_slack13.0.txt b/patches/packages/cups-1.3.11-x86_64-3_slack13.0.txt
new file mode 100644
index 00000000..55818635
--- /dev/null
+++ b/patches/packages/cups-1.3.11-x86_64-3_slack13.0.txt
@@ -0,0 +1,11 @@
+cups: CUPS (Common UNIX Printing System)
+cups:
+cups: The Common UNIX Printing System provides a portable printing layer for
+cups: UNIX(R)-like operating systems. It has been developed by Easy Software
+cups: Products to promote a standard printing solution for all UNIX vendors
+cups: and users. CUPS uses the Internet Printing Protocol ("IPP") as the
+cups: basis for managing print jobs and queues. The CUPS package includes
+cups: System V and Berkeley command-line interfaces, a PostScript RIP
+cups: package for supporting non-PostScript printer drivers, and tools for
+cups: creating additional printer drivers and other CUPS services.
+cups:
diff --git a/patches/packages/curl-7.55.0-x86_64-1_slack13.0.txt b/patches/packages/curl-7.55.0-x86_64-1_slack13.0.txt
new file mode 100644
index 00000000..eda0c0f2
--- /dev/null
+++ b/patches/packages/curl-7.55.0-x86_64-1_slack13.0.txt
@@ -0,0 +1,11 @@
+curl: curl (command line URL data transfer tool)
+curl:
+curl: Curl is a command line tool for transferring data specified with URL
+curl: syntax. The command is designed to work without user interaction or
+curl: any kind of interactivity. Curl offers a busload of useful tricks
+curl: like proxy support, user authentication, ftp upload, HTTP post, SSL
+curl: (https:) connections, cookies, file transfer resume and more.
+curl:
+curl: libcurl is a library that Curl uses to do its job. It is readily
+curl: available to be used by your software, too.
+curl:
diff --git a/patches/packages/dhcp-4.4.1-x86_64-1_slack13.0.txt b/patches/packages/dhcp-4.4.1-x86_64-1_slack13.0.txt
new file mode 100644
index 00000000..beaa83c2
--- /dev/null
+++ b/patches/packages/dhcp-4.4.1-x86_64-1_slack13.0.txt
@@ -0,0 +1,11 @@
+dhcp: dhcp (DHCP server and client utilities)
+dhcp:
+dhcp: This package provides the ISC's DHCP utilities, including both a
+dhcp: server and client. The DHCP protocol allows a host to contact a
+dhcp: central server which maintains a list of IP addresses which may be
+dhcp: assigned on one or more subnets. A DHCP client may request an
+dhcp: address from this pool, and then use it temporarily for communication
+dhcp: on the network. The DHCP protocol also provides a mechanism whereby
+dhcp: a client can learn important details about the network to which it is
+dhcp: attached, such as the location of a default router or name server.
+dhcp:
diff --git a/patches/packages/dhcpcd-3.2.3-x86_64-2_slack13.0.txt b/patches/packages/dhcpcd-3.2.3-x86_64-2_slack13.0.txt
new file mode 100644
index 00000000..31304a2a
--- /dev/null
+++ b/patches/packages/dhcpcd-3.2.3-x86_64-2_slack13.0.txt
@@ -0,0 +1,11 @@
+dhcpcd: dhcpcd (DHCP client daemon)
+dhcpcd:
+dhcpcd: The DHCP client program dhcpcd is used to connect to a network by
+dhcpcd: contacting a DHCP server. dhcpcd gets an IP address and other
+dhcpcd: information from a corresponding DHCP server, configures the network
+dhcpcd: interface automatically, and tries to renew the lease time according
+dhcpcd: to RFC2131 or RFC1541 depending on the command line option.
+dhcpcd:
+dhcpcd:
+dhcpcd:
+dhcpcd:
diff --git a/patches/packages/dnsmasq-2.78-x86_64-1_slack13.0.txt b/patches/packages/dnsmasq-2.78-x86_64-1_slack13.0.txt
new file mode 100644
index 00000000..4029c10f
--- /dev/null
+++ b/patches/packages/dnsmasq-2.78-x86_64-1_slack13.0.txt
@@ -0,0 +1,11 @@
+dnsmasq: dnsmasq (small DNS and DHCP server)
+dnsmasq:
+dnsmasq: Dnsmasq is a lightweight, easy to configure DNS forwarder and DHCP
+dnsmasq: server. It is designed to provide DNS (and optionally DHCP) to a
+dnsmasq: small network, and can serve the names of local machines which are not
+dnsmasq: in the global DNS.
+dnsmasq:
+dnsmasq: Dnsmasq was written by Simon Kelley.
+dnsmasq:
+dnsmasq: Homepage: http://www.thekelleys.org.uk/dnsmasq/
+dnsmasq:
diff --git a/patches/packages/emacs-25.3-x86_64-1_slack13.0.txt b/patches/packages/emacs-25.3-x86_64-1_slack13.0.txt
new file mode 100644
index 00000000..77e793c2
--- /dev/null
+++ b/patches/packages/emacs-25.3-x86_64-1_slack13.0.txt
@@ -0,0 +1,11 @@
+emacs: emacs (GNU Emacs)
+emacs:
+emacs: Emacs is the extensible, customizable, self-documenting real-time
+emacs: display editor. If this seems to be a bit of a mouthful, an
+emacs: easier explanation is that Emacs is a text editor and more. At
+emacs: its core is an interpreter for Emacs Lisp, a dialect of the Lisp
+emacs: programming language with extensions to support text editing.
+emacs: This version supports X.
+emacs:
+emacs: http://www.gnu.org/software/emacs/
+emacs:
diff --git a/patches/packages/expat-2.2.2-x86_64-1_slack13.0.txt b/patches/packages/expat-2.2.2-x86_64-1_slack13.0.txt
new file mode 100644
index 00000000..fcd3a006
--- /dev/null
+++ b/patches/packages/expat-2.2.2-x86_64-1_slack13.0.txt
@@ -0,0 +1,11 @@
+expat: expat (C library for parsing XML)
+expat:
+expat: This is Expat, a C library for parsing XML, written by James Clark.
+expat: Expat is a stream-oriented XML parser used by Python, GNOME, Xft2,
+expat: and other things.
+expat:
+expat:
+expat:
+expat:
+expat:
+expat:
diff --git a/patches/packages/fetchmail-6.3.20-x86_64-1_slack13.0.txt b/patches/packages/fetchmail-6.3.20-x86_64-1_slack13.0.txt
new file mode 100644
index 00000000..a637f456
--- /dev/null
+++ b/patches/packages/fetchmail-6.3.20-x86_64-1_slack13.0.txt
@@ -0,0 +1,11 @@
+fetchmail: fetchmail (mail retrieval and forwarding utility)
+fetchmail:
+fetchmail: fetchmail is a mail retrieval and forwarding utility. It fetches
+fetchmail: mail from a POP, IMAP, or ETRN-capable remote mailserver and forwards
+fetchmail: it to your local (client) machine's delivery system. You can then
+fetchmail: handle the retrieved mail using normal mail user agents such as elm,
+fetchmail: pine, or mutt. The fetchmail utility can be run in a daemon mode to
+fetchmail: repeatedly poll one or more systems at a specified interval.
+fetchmail:
+fetchmail: fetchmail is probably not secure.
+fetchmail:
diff --git a/patches/packages/fixesproto-5.0-x86_64-1_slack13.0.txt b/patches/packages/fixesproto-5.0-x86_64-1_slack13.0.txt
new file mode 100644
index 00000000..3f4eca10
--- /dev/null
+++ b/patches/packages/fixesproto-5.0-x86_64-1_slack13.0.txt
@@ -0,0 +1,11 @@
+fixesproto: fixesproto (C prototypes for X11 X Fixes Extension)
+fixesproto:
+fixesproto: fixesproto is part of X11.
+fixesproto:
+fixesproto: For more information about the X.Org Foundation (the providers of the
+fixesproto: X.Org implementation of the X Window System), see their website:
+fixesproto:
+fixesproto: http://www.x.org
+fixesproto:
+fixesproto:
+fixesproto:
diff --git a/patches/packages/freetype-2.5.5-x86_64-2_slack13.0.txt b/patches/packages/freetype-2.5.5-x86_64-2_slack13.0.txt
new file mode 100644
index 00000000..89d99c6d
--- /dev/null
+++ b/patches/packages/freetype-2.5.5-x86_64-2_slack13.0.txt
@@ -0,0 +1,11 @@
+freetype: freetype (A Free, High-Quality, and Portable Font Engine)
+freetype:
+freetype: The FreeType engine is a free and portable TrueType font rendering
+freetype: engine. It has been developed to provide TrueType support to a
+freetype: great variety of platforms and environments.
+freetype:
+freetype:
+freetype:
+freetype:
+freetype:
+freetype:
diff --git a/patches/packages/gimp-2.6.8-x86_64-1_slack13.0.txt b/patches/packages/gimp-2.6.8-x86_64-1_slack13.0.txt
new file mode 100644
index 00000000..7759a7ef
--- /dev/null
+++ b/patches/packages/gimp-2.6.8-x86_64-1_slack13.0.txt
@@ -0,0 +1,11 @@
+gimp: gimp (The GNU Image Manipulation Program)
+gimp:
+gimp: The GIMP is a powerful tool for the preparation and manipulation of
+gimp: digital images. The GIMP provides the user with a wide variety of
+gimp: image manipulation, painting, processing, and rendering tools. The
+gimp: GIMP's open design and extensible architecture make for a very
+gimp: powerful end product for photo and image retouching, web graphics
+gimp: design, or digital illustration.
+gimp:
+gimp:
+gimp:
diff --git a/patches/packages/git-2.14.1-x86_64-1_slack13.0.txt b/patches/packages/git-2.14.1-x86_64-1_slack13.0.txt
new file mode 100644
index 00000000..059a95ba
--- /dev/null
+++ b/patches/packages/git-2.14.1-x86_64-1_slack13.0.txt
@@ -0,0 +1,11 @@
+git: git (the stupid content tracker)
+git:
+git: Git is a fast, scalable, distributed revision control system with an
+git: unusually rich command set that provides both high-level operations
+git: and full access to internals.
+git:
+git: "git" can mean anything, depending on your mood.
+git:
+git: Git was originally written by Linus Torvalds and is currently
+git: maintained by Junio C. Hamano.
+git:
diff --git a/patches/packages/glibc-2.9-x86_64-7_slack13.0.txt b/patches/packages/glibc-2.9-x86_64-7_slack13.0.txt
new file mode 100644
index 00000000..9b940f88
--- /dev/null
+++ b/patches/packages/glibc-2.9-x86_64-7_slack13.0.txt
@@ -0,0 +1,11 @@
+glibc: glibc (GNU C libraries)
+glibc:
+glibc: This package contains the GNU C libraries and header files. The GNU
+glibc: C library was written originally by Roland McGrath, and is currently
+glibc: maintained by Ulrich Drepper. Some parts of the library were
+glibc: contributed or worked on by other people.
+glibc:
+glibc: You'll need this package to compile programs.
+glibc:
+glibc:
+glibc:
diff --git a/patches/packages/glibc-i18n-2.9-x86_64-7_slack13.0.txt b/patches/packages/glibc-i18n-2.9-x86_64-7_slack13.0.txt
new file mode 100644
index 00000000..7384659b
--- /dev/null
+++ b/patches/packages/glibc-i18n-2.9-x86_64-7_slack13.0.txt
@@ -0,0 +1,11 @@
+glibc-i18n: glibc-i18n (locale files from glibc)
+glibc-i18n:
+glibc-i18n: These files go in /usr/lib/locale and /usr/share/i18n/ to provide
+glibc-i18n: internationalization support. You'll need this package unless you
+glibc-i18n: will be using US English only.
+glibc-i18n:
+glibc-i18n:
+glibc-i18n:
+glibc-i18n:
+glibc-i18n:
+glibc-i18n:
diff --git a/patches/packages/glibc-profile-2.9-x86_64-7_slack13.0.txt b/patches/packages/glibc-profile-2.9-x86_64-7_slack13.0.txt
new file mode 100644
index 00000000..f9b53ba6
--- /dev/null
+++ b/patches/packages/glibc-profile-2.9-x86_64-7_slack13.0.txt
@@ -0,0 +1,11 @@
+glibc-profile: glibc-profile (GNU C libraries with profiling support)
+glibc-profile:
+glibc-profile: This package contains static versions of the GNU C libraries with
+glibc-profile: support for profiling binaries using gprof. gprof calculates how
+glibc-profile: much time a program spends in each routine which can suggest where
+glibc-profile: to concentrate efforts to improve performance.
+glibc-profile:
+glibc-profile: See the gprof man page for more details.
+glibc-profile:
+glibc-profile:
+glibc-profile:
diff --git a/patches/packages/glibc-solibs-2.9-x86_64-7_slack13.0.txt b/patches/packages/glibc-solibs-2.9-x86_64-7_slack13.0.txt
new file mode 100644
index 00000000..3824184d
--- /dev/null
+++ b/patches/packages/glibc-solibs-2.9-x86_64-7_slack13.0.txt
@@ -0,0 +1,11 @@
+glibc-solibs: glibc-solibs (shared GNU C libraries)
+glibc-solibs:
+glibc-solibs: This package contains the shared libraries, binaries, and support
+glibc-solibs: files required to run most Linux applications linked with glibc.
+glibc-solibs:
+glibc-solibs:
+glibc-solibs:
+glibc-solibs:
+glibc-solibs:
+glibc-solibs:
+glibc-solibs:
diff --git a/patches/packages/glibc-zoneinfo-2018e-noarch-2_slack13.0.txt b/patches/packages/glibc-zoneinfo-2018e-noarch-2_slack13.0.txt
new file mode 100644
index 00000000..c74ccc6a
--- /dev/null
+++ b/patches/packages/glibc-zoneinfo-2018e-noarch-2_slack13.0.txt
@@ -0,0 +1,11 @@
+glibc-zoneinfo: glibc-zoneinfo (timezone database)
+glibc-zoneinfo:
+glibc-zoneinfo: This package allows you to configure your time zone.
+glibc-zoneinfo:
+glibc-zoneinfo: This timezone database comes from the tzdata and tzcode packages by
+glibc-zoneinfo: Arthur David Olson et.al. The latest version and more information
+glibc-zoneinfo: may be found at: http://www.iana.org/time-zones
+glibc-zoneinfo:
+glibc-zoneinfo: Use the timeconfig utility to set your local time zone.
+glibc-zoneinfo:
+glibc-zoneinfo:
diff --git a/patches/packages/gnupg-1.4.22-x86_64-1_slack13.0.txt b/patches/packages/gnupg-1.4.22-x86_64-1_slack13.0.txt
new file mode 100644
index 00000000..59d38136
--- /dev/null
+++ b/patches/packages/gnupg-1.4.22-x86_64-1_slack13.0.txt
@@ -0,0 +1,11 @@
+gnupg: gnupg (The GNU Privacy Guard)
+gnupg:
+gnupg: GnuPG is GNU's tool for secure communication and data storage. It can
+gnupg: be used to encrypt data and to create digital signatures. It includes
+gnupg: an advanced key management facility and is compliant with the proposed
+gnupg: OpenPGP Internet standard as described in RFC2440.
+gnupg:
+gnupg:
+gnupg:
+gnupg:
+gnupg:
diff --git a/patches/packages/gnupg2-2.0.12-x86_64-2_slack13.0.txt b/patches/packages/gnupg2-2.0.12-x86_64-2_slack13.0.txt
new file mode 100644
index 00000000..73fb401d
--- /dev/null
+++ b/patches/packages/gnupg2-2.0.12-x86_64-2_slack13.0.txt
@@ -0,0 +1,11 @@
+gnupg2: GnuPG2 (The GNU Privacy Guard version 2.x)
+gnupg2:
+gnupg2: GnuPG is GNU's tool for secure communication and data storage. It can
+gnupg2: be used to encrypt data and to create digital signatures. It includes
+gnupg2: an advanced key management facility and is compliant with the proposed
+gnupg2: OpenPGP Internet standard as described in RFC2440 and the S/MIME
+gnupg2: standard as described by several RFCs.
+gnupg2:
+gnupg2: GnuPG 2.0 is the stable version of GnuPG integrating support for
+gnupg2: OpenPGP and S/MIME. It does not conflict with an installed 1.4.x
+gnupg2: OpenPGP-only version.
diff --git a/patches/packages/gnutls-2.8.4-x86_64-4_slack13.0.txt b/patches/packages/gnutls-2.8.4-x86_64-4_slack13.0.txt
new file mode 100644
index 00000000..40c151dc
--- /dev/null
+++ b/patches/packages/gnutls-2.8.4-x86_64-4_slack13.0.txt
@@ -0,0 +1,11 @@
+gnutls: gnutls (GNU TLS library)
+gnutls:
+gnutls: This is a TLS (Transport Layer Security) 1.0 and SSL (Secure Sockets
+gnutls: Layer) 3.0 implementation. In brief, GnuTLS can be described as a
+gnutls: library which offers an API to access secure communication protocols.
+gnutls: These protocols provide privacy over insecure lines, and were designed
+gnutls: to prevent eavesdropping, tampering, or message forgery.
+gnutls:
+gnutls: Homepage: http://www.gnu.org/software/gnutls/
+gnutls:
+gnutls:
diff --git a/patches/packages/gzip-1.4-x86_64-1_slack13.0.txt b/patches/packages/gzip-1.4-x86_64-1_slack13.0.txt
new file mode 100644
index 00000000..dbccb833
--- /dev/null
+++ b/patches/packages/gzip-1.4-x86_64-1_slack13.0.txt
@@ -0,0 +1,11 @@
+gzip: gzip (file compression utility)
+gzip:
+gzip: Gzip reduces the size of the named files using Lempel-Ziv coding
+gzip: (LZ77). Whenever possible, each file is replaced by one with the
+gzip: extension .gz, while keeping the same ownership modes, access and
+gzip: modification times.
+gzip:
+gzip:
+gzip:
+gzip:
+gzip:
diff --git a/patches/packages/hplip-3.9.4b-x86_64-3_slack13.0.txt b/patches/packages/hplip-3.9.4b-x86_64-3_slack13.0.txt
new file mode 100644
index 00000000..d6179a47
--- /dev/null
+++ b/patches/packages/hplip-3.9.4b-x86_64-3_slack13.0.txt
@@ -0,0 +1,11 @@
+hplip: hplip (HP print/scan/fax support)
+hplip:
+hplip: HPLIP is an HP developed solution for printing, scanning, and faxing
+hplip: with HP inkjet and laser based printers in Linux. The HPLIP project
+hplip: provides printing support for more than 1400 HP printer models,
+hplip: including Deskjet, Officejet, Photosmart, PSC (Print Scan Copy),
+hplip: Business Inkjet, LaserJet, and LaserJet MFP.
+hplip:
+hplip: For more information, see: http://hplipopensource.com
+hplip:
+hplip:
diff --git a/patches/packages/httpd-2.2.34-x86_64-2_slack13.0.txt b/patches/packages/httpd-2.2.34-x86_64-2_slack13.0.txt
new file mode 100644
index 00000000..e0fe474d
--- /dev/null
+++ b/patches/packages/httpd-2.2.34-x86_64-2_slack13.0.txt
@@ -0,0 +1,11 @@
+httpd: httpd (The Apache HTTP Server)
+httpd:
+httpd: Apache is an HTTP server designed as a plug-in replacement for the
+httpd: NCSA HTTP server. It fixes numerous bugs in the NCSA server and
+httpd: includes many frequently requested new features, and has an API which
+httpd: allows it to be extended to meet users' needs more easily.
+httpd:
+httpd: Apache is the most popular web server in the known universe; over
+httpd: half of the servers on the Internet are running Apache or one of
+httpd: its variants.
+httpd:
diff --git a/patches/packages/inputproto-2.3.2-noarch-1_slack13.0.txt b/patches/packages/inputproto-2.3.2-noarch-1_slack13.0.txt
new file mode 100644
index 00000000..e5287dfe
--- /dev/null
+++ b/patches/packages/inputproto-2.3.2-noarch-1_slack13.0.txt
@@ -0,0 +1,11 @@
+inputproto: inputproto (C prototypes for X Input extension)
+inputproto:
+inputproto: inputproto is part of X11.
+inputproto:
+inputproto: For more information about the X.Org Foundation (the providers of the
+inputproto: X.Org implementation of the X Window System), see their website:
+inputproto:
+inputproto: http://www.x.org
+inputproto:
+inputproto:
+inputproto:
diff --git a/patches/packages/irssi-0.8.21-x86_64-2_slack13.0.txt b/patches/packages/irssi-0.8.21-x86_64-2_slack13.0.txt
new file mode 100644
index 00000000..c7127d1f
--- /dev/null
+++ b/patches/packages/irssi-0.8.21-x86_64-2_slack13.0.txt
@@ -0,0 +1,11 @@
+irssi: irssi (Internet Relay Chat client)
+irssi:
+irssi: Irssi is an Internet Relay Chat client. Designed to be both secure
+irssi: and expandable, irssi is easily customized using modules and scripts.
+irssi:
+irssi: For more information, visit: http://irssi.org
+irssi:
+irssi: irssi was written by Timo Sirainen.
+irssi:
+irssi:
+irssi:
diff --git a/patches/packages/jasper-1.900.1-x86_64-3_slack13.0.txt b/patches/packages/jasper-1.900.1-x86_64-3_slack13.0.txt
new file mode 100644
index 00000000..77319af7
--- /dev/null
+++ b/patches/packages/jasper-1.900.1-x86_64-3_slack13.0.txt
@@ -0,0 +1,11 @@
+jasper: jasper (free implementation of the JPEG-2000 standard)
+jasper:
+jasper: The JasPer Project is an open-source initiative to provide a free
+jasper: software-based reference implementation of the codec specified in the
+jasper: JPEG-2000 Part-1 standard (i.e., ISO/IEC 15444-1).jasper:
+jasper:
+jasper: jasper home: http://www.ece.uvic.ca/~mdadams/jasper/
+jasper:
+jasper:
+jasper:
+jasper:
diff --git a/patches/packages/kdebase-workspace-4.2.4-x86_64-2_slack13.0.txt b/patches/packages/kdebase-workspace-4.2.4-x86_64-2_slack13.0.txt
new file mode 100644
index 00000000..715edaa2
--- /dev/null
+++ b/patches/packages/kdebase-workspace-4.2.4-x86_64-2_slack13.0.txt
@@ -0,0 +1,11 @@
+kdebase-workspace: kdebase-workspace - the KDE Workspace
+kdebase-workspace:
+kdebase-workspace: The KDE Workspace (kdebase-workspace) package consists of what is
+kdebase-workspace: essentially the KDE workspace presented to the user.
+kdebase-workspace:
+kdebase-workspace:
+kdebase-workspace:
+kdebase-workspace:
+kdebase-workspace:
+kdebase-workspace:
+kdebase-workspace:
diff --git a/patches/packages/libX11-1.6.4-x86_64-1_slack13.0.txt b/patches/packages/libX11-1.6.4-x86_64-1_slack13.0.txt
new file mode 100644
index 00000000..7a0038ff
--- /dev/null
+++ b/patches/packages/libX11-1.6.4-x86_64-1_slack13.0.txt
@@ -0,0 +1,11 @@
+libX11: libX11 (Core X11 protocol client library)
+libX11:
+libX11: libX11 is part of X11.
+libX11:
+libX11: For more information about the X.Org Foundation (the providers of the
+libX11: X.Org implementation of the X Window System), see their website:
+libX11:
+libX11: http://www.x.org
+libX11:
+libX11:
+libX11:
diff --git a/patches/packages/libXcursor-1.1.15-x86_64-1_slack13.0.txt b/patches/packages/libXcursor-1.1.15-x86_64-1_slack13.0.txt
new file mode 100644
index 00000000..a95a82df
--- /dev/null
+++ b/patches/packages/libXcursor-1.1.15-x86_64-1_slack13.0.txt
@@ -0,0 +1,11 @@
+libXcursor: libXcursor (X Window System Cursor management library)
+libXcursor:
+libXcursor: libXcursor is part of X11.
+libXcursor:
+libXcursor: For more information about the X.Org Foundation (the providers of the
+libXcursor: X.Org implementation of the X Window System), see their website:
+libXcursor:
+libXcursor: http://www.x.org
+libXcursor:
+libXcursor:
+libXcursor:
diff --git a/patches/packages/libXext-1.3.3-x86_64-1_slack13.0.txt b/patches/packages/libXext-1.3.3-x86_64-1_slack13.0.txt
new file mode 100644
index 00000000..4a7d5952
--- /dev/null
+++ b/patches/packages/libXext-1.3.3-x86_64-1_slack13.0.txt
@@ -0,0 +1,11 @@
+libXext: libXext (library for common extensions to the X11 protocol)
+libXext:
+libXext: libXext is part of X11.
+libXext:
+libXext: For more information about the X.Org Foundation (the providers of the
+libXext: X.Org implementation of the X Window System), see their website:
+libXext:
+libXext: http://www.x.org
+libXext:
+libXext:
+libXext:
diff --git a/patches/packages/libXfixes-5.0.3-x86_64-1_slack13.0.txt b/patches/packages/libXfixes-5.0.3-x86_64-1_slack13.0.txt
new file mode 100644
index 00000000..cad880c5
--- /dev/null
+++ b/patches/packages/libXfixes-5.0.3-x86_64-1_slack13.0.txt
@@ -0,0 +1,11 @@
+libXfixes: libXfixes (client library for the Xfixes extension)
+libXfixes:
+libXfixes: libXfixes is part of X11.
+libXfixes:
+libXfixes: For more information about the X.Org Foundation (the providers of the
+libXfixes: X.Org implementation of the X Window System), see their website:
+libXfixes:
+libXfixes: http://www.x.org
+libXfixes:
+libXfixes:
+libXfixes:
diff --git a/patches/packages/libXfont-1.4.7-x86_64-2_slack13.0.txt b/patches/packages/libXfont-1.4.7-x86_64-2_slack13.0.txt
new file mode 100644
index 00000000..fd4ecec9
--- /dev/null
+++ b/patches/packages/libXfont-1.4.7-x86_64-2_slack13.0.txt
@@ -0,0 +1,11 @@
+libXfont: libXfont (library for legacy X11 font system)
+libXfont:
+libXfont: libXfont provides the core of the legacy X11 font system, handling the
+libXfont: index files (fonts.dir, fonts.alias, fonts.scale), the various font
+libXfont: file formats, and rasterizing them. It is used by the X servers, the
+libXfont: X Font Server (xfs), and some font utilities (bdftopcf for instance),
+libXfont: but should not be used by normal X11 clients. X11 clients access fonts
+libXfont: via either the new API's in libXft, or the legacy API's in libX11.
+libXfont:
+libXfont:
+libXfont:
diff --git a/patches/packages/libXi-1.7.8-x86_64-1_slack13.0.txt b/patches/packages/libXi-1.7.8-x86_64-1_slack13.0.txt
new file mode 100644
index 00000000..f8ef8ec2
--- /dev/null
+++ b/patches/packages/libXi-1.7.8-x86_64-1_slack13.0.txt
@@ -0,0 +1,11 @@
+libXi: libXi (library for the X Input Extension)
+libXi:
+libXi: libXi is part of X11.
+libXi:
+libXi: For more information about the X.Org Foundation (the providers of the
+libXi: X.Org implementation of the X Window System), see their website:
+libXi:
+libXi: http://www.x.org
+libXi:
+libXi:
+libXi:
diff --git a/patches/packages/libXrandr-1.5.1-x86_64-1_slack13.0.txt b/patches/packages/libXrandr-1.5.1-x86_64-1_slack13.0.txt
new file mode 100644
index 00000000..7025c9ef
--- /dev/null
+++ b/patches/packages/libXrandr-1.5.1-x86_64-1_slack13.0.txt
@@ -0,0 +1,11 @@
+libXrandr: libXrandr (X Resize, Rotate and Reflection extension library)
+libXrandr:
+libXrandr: libXrandr is part of X11.
+libXrandr:
+libXrandr: For more information about the X.Org Foundation (the providers of the
+libXrandr: X.Org implementation of the X Window System), see their website:
+libXrandr:
+libXrandr: http://www.x.org
+libXrandr:
+libXrandr:
+libXrandr:
diff --git a/patches/packages/libXrender-0.9.10-x86_64-1_slack13.0.txt b/patches/packages/libXrender-0.9.10-x86_64-1_slack13.0.txt
new file mode 100644
index 00000000..254411dd
--- /dev/null
+++ b/patches/packages/libXrender-0.9.10-x86_64-1_slack13.0.txt
@@ -0,0 +1,11 @@
+libXrender: libXrender (library for the Render Extension to the X11 protocol)
+libXrender:
+libXrender: libXrender is part of X11.
+libXrender:
+libXrender: For more information about the X.Org Foundation (the providers of the
+libXrender: X.Org implementation of the X Window System), see their website:
+libXrender:
+libXrender: http://www.x.org
+libXrender:
+libXrender:
+libXrender:
diff --git a/patches/packages/libXtst-1.2.3-x86_64-1_slack13.0.txt b/patches/packages/libXtst-1.2.3-x86_64-1_slack13.0.txt
new file mode 100644
index 00000000..b44d139f
--- /dev/null
+++ b/patches/packages/libXtst-1.2.3-x86_64-1_slack13.0.txt
@@ -0,0 +1,11 @@
+libXtst: libXtst (client library for the XTEST & RECORD extensions)
+libXtst:
+libXtst: libXtst is part of X11.
+libXtst:
+libXtst: For more information about the X.Org Foundation (the providers of the
+libXtst: X.Org implementation of the X Window System), see their website:
+libXtst:
+libXtst: http://www.x.org
+libXtst:
+libXtst:
+libXtst:
diff --git a/patches/packages/libXv-1.0.11-x86_64-1_slack13.0.txt b/patches/packages/libXv-1.0.11-x86_64-1_slack13.0.txt
new file mode 100644
index 00000000..57e51905
--- /dev/null
+++ b/patches/packages/libXv-1.0.11-x86_64-1_slack13.0.txt
@@ -0,0 +1,11 @@
+libXv: libXv (library for the X Video (Xv) extension to the X Window System)
+libXv:
+libXv: libXv is part of X11.
+libXv:
+libXv: For more information about the X.Org Foundation (the providers of the
+libXv: X.Org implementation of the X Window System), see their website:
+libXv:
+libXv: http://www.x.org
+libXv:
+libXv:
+libXv:
diff --git a/patches/packages/libXvMC-1.0.10-x86_64-1_slack13.0.txt b/patches/packages/libXvMC-1.0.10-x86_64-1_slack13.0.txt
new file mode 100644
index 00000000..b23d9bd2
--- /dev/null
+++ b/patches/packages/libXvMC-1.0.10-x86_64-1_slack13.0.txt
@@ -0,0 +1,11 @@
+libXvMC: libXvMC (X.Org X11 libXvMC runtime library)
+libXvMC:
+libXvMC: libXvMC is part of X11.
+libXvMC:
+libXvMC: For more information about the X.Org Foundation (the providers of the
+libXvMC: X.Org implementation of the X Window System), see their website:
+libXvMC:
+libXvMC: http://www.x.org
+libXvMC:
+libXvMC:
+libXvMC:
diff --git a/patches/packages/libexif-0.6.21-x86_64-1_slack13.0.txt b/patches/packages/libexif-0.6.21-x86_64-1_slack13.0.txt
new file mode 100644
index 00000000..6610204e
--- /dev/null
+++ b/patches/packages/libexif-0.6.21-x86_64-1_slack13.0.txt
@@ -0,0 +1,11 @@
+libexif: libexif (Exchangeable Image File Format library)
+libexif:
+libexif: EXIF stands for Exchangeable Image File Format, which is a format used
+libexif: to store extra information in images such as the JPEG files produced
+libexif: by digital cameras. The libexif library allows programs such as
+libexif: gthumb to parse, edit, and save EXIF data.
+libexif:
+libexif:
+libexif:
+libexif:
+libexif:
diff --git a/patches/packages/libgcrypt-1.5.6-x86_64-1_slack13.0.txt b/patches/packages/libgcrypt-1.5.6-x86_64-1_slack13.0.txt
new file mode 100644
index 00000000..079f2133
--- /dev/null
+++ b/patches/packages/libgcrypt-1.5.6-x86_64-1_slack13.0.txt
@@ -0,0 +1,11 @@
+libgcrypt: libgcrypt (General purpose crypto library)
+libgcrypt:
+libgcrypt: Libgcrypt is a general purpose crypto library based on the code
+libgcrypt: used in GnuPG.
+libgcrypt:
+libgcrypt:
+libgcrypt:
+libgcrypt:
+libgcrypt:
+libgcrypt:
+libgcrypt:
diff --git a/patches/packages/libgpg-error-1.11-x86_64-1_slack13.0.txt b/patches/packages/libgpg-error-1.11-x86_64-1_slack13.0.txt
new file mode 100644
index 00000000..65f09d5e
--- /dev/null
+++ b/patches/packages/libgpg-error-1.11-x86_64-1_slack13.0.txt
@@ -0,0 +1,11 @@
+libgpg-error: libgpg-error (GnuPG Error Definitions Library)
+libgpg-error:
+libgpg-error: This is a library that defines common error values for all GnuPG
+libgpg-error: components. Among these are GPG, GPGSM, GPGME, GPG-Agent,
+libgpg-error: libgcrypt, Libksba, DirMngr, Pinentry, SmartCard Daemon, and more.
+libgpg-error:
+libgpg-error:
+libgpg-error:
+libgpg-error:
+libgpg-error:
+libgpg-error:
diff --git a/patches/packages/libidn-1.34-x86_64-1_slack13.0.txt b/patches/packages/libidn-1.34-x86_64-1_slack13.0.txt
new file mode 100644
index 00000000..86ffee4f
--- /dev/null
+++ b/patches/packages/libidn-1.34-x86_64-1_slack13.0.txt
@@ -0,0 +1,11 @@
+libidn: libidn (GNU Internationalized Domain Name library)
+libidn:
+libidn: GNU Libidn is an implementation of the Stringprep, Punycode and IDNA
+libidn: specifications defined by the IETF Internationalized Domain Names
+libidn: (IDN) working group, used for internationalized domain names.
+libidn:
+libidn:
+libidn:
+libidn:
+libidn:
+libidn:
diff --git a/patches/packages/libjpeg-6b-x86_64-6_slack13.0.txt b/patches/packages/libjpeg-6b-x86_64-6_slack13.0.txt
new file mode 100644
index 00000000..5b4a1f09
--- /dev/null
+++ b/patches/packages/libjpeg-6b-x86_64-6_slack13.0.txt
@@ -0,0 +1,11 @@
+libjpeg: libjpeg (Independent JPEG Group's JPEG software)
+libjpeg:
+libjpeg: Software to implement JPEG image compression and decompression. JPEG
+libjpeg: (pronounced 'jay-peg') is a standardized compression method for
+libjpeg: full-color and gray-scale images. JPEG is intended for compressing
+libjpeg: 'real-world' scenes; cartoons and other non-realistic images are not
+libjpeg: its strong suit. JPEG is lossy, however, on typical images of
+libjpeg: real-world scenes, very good compression levels can be obtained with
+libjpeg: no visible change, and amazingly high compression levels are possible
+libjpeg: if you can tolerate a low-quality image.
+libjpeg:
diff --git a/patches/packages/libpng-1.2.57-x86_64-1_slack13.0.txt b/patches/packages/libpng-1.2.57-x86_64-1_slack13.0.txt
new file mode 100644
index 00000000..3d0deb67
--- /dev/null
+++ b/patches/packages/libpng-1.2.57-x86_64-1_slack13.0.txt
@@ -0,0 +1,11 @@
+libpng: libpng (Portable Network Graphics library)
+libpng:
+libpng: PNG (Portable Network Graphics) is an extensible file format for the
+libpng: lossless, portable, well-compressed storage of raster images. PNG
+libpng: provides a patent-free replacement for GIF and can also replace many
+libpng: common uses of TIFF. Indexed-color, grayscale, and truecolor images
+libpng: are supported, plus an optional alpha channel. Sample depths range
+libpng: from 1 to 16 bits.
+libpng:
+libpng:
+libpng:
diff --git a/patches/packages/libtiff-3.9.7-x86_64-1_slack13.0.txt b/patches/packages/libtiff-3.9.7-x86_64-1_slack13.0.txt
new file mode 100644
index 00000000..89df05ed
--- /dev/null
+++ b/patches/packages/libtiff-3.9.7-x86_64-1_slack13.0.txt
@@ -0,0 +1,11 @@
+libtiff: libtiff (a library for reading and writing TIFF files)
+libtiff:
+libtiff: This package provides support for the Tag Image File Format (TIFF),
+libtiff: a widely used format for storing image data. Included is the libtiff
+libtiff: library (for reading and writing TIFF files), and a collection of
+libtiff: tools for working with TIFF images.
+libtiff:
+libtiff:
+libtiff:
+libtiff:
+libtiff:
diff --git a/patches/packages/libwmf-0.2.8.4-x86_64-5_slack13.0.txt b/patches/packages/libwmf-0.2.8.4-x86_64-5_slack13.0.txt
new file mode 100644
index 00000000..9ce901b8
--- /dev/null
+++ b/patches/packages/libwmf-0.2.8.4-x86_64-5_slack13.0.txt
@@ -0,0 +1,11 @@
+libwmf: libwmf (WMF graphics format library)
+libwmf:
+libwmf: libwmf is a library for interpreting metafile images and either
+libwmf: displaying them using X or converting them to standard formats such
+libwmf: as PNG, JPEG, PS, EPS and SVG.
+libwmf:
+libwmf:
+libwmf:
+libwmf:
+libwmf:
+libwmf:
diff --git a/patches/packages/libxcb-1.11.1-x86_64-2_slack13.0.txt b/patches/packages/libxcb-1.11.1-x86_64-2_slack13.0.txt
new file mode 100644
index 00000000..cc9d7054
--- /dev/null
+++ b/patches/packages/libxcb-1.11.1-x86_64-2_slack13.0.txt
@@ -0,0 +1,11 @@
+libxcb: libxcb (X protocol C-language Binding)
+libxcb:
+libxcb: The XCB library provides an interface to the X Window System protocol
+libxcb: which is fully capable of replacing Xlib. In fact, libX11 makes use
+libxcb: of libxcb as much as possible. :-) Porting to XCB has several
+libxcb: advantages such as a smaller memory footprint, latency hiding, direct
+libxcb: protocol access, and improved thread support.
+libxcb:
+libxcb:
+libxcb:
+libxcb:
diff --git a/patches/packages/libxml2-2.7.3-x86_64-5_slack13.0.txt b/patches/packages/libxml2-2.7.3-x86_64-5_slack13.0.txt
new file mode 100644
index 00000000..806c9765
--- /dev/null
+++ b/patches/packages/libxml2-2.7.3-x86_64-5_slack13.0.txt
@@ -0,0 +1,11 @@
+libxml2: libxml2 (XML parser library)
+libxml2:
+libxml2: Libxml2 is the XML C parser library and toolkit. XML itself is a
+libxml2: metalanguage to design markup languages -- i.e. a text language where
+libxml2: structures are added to the content using extra "markup" information
+libxml2: enclosed between angle brackets. HTML is the most well-known markup
+libxml2: language. Though the library is written in C, a variety of language
+libxml2: bindings make it available in other environments.
+libxml2:
+libxml2:
+libxml2:
diff --git a/patches/packages/linux-2.6.29.6-3/kernel-firmware-2.6.29.6-noarch-3.txt b/patches/packages/linux-2.6.29.6-3/kernel-firmware-2.6.29.6-noarch-3.txt
new file mode 100644
index 00000000..8a2d40cc
--- /dev/null
+++ b/patches/packages/linux-2.6.29.6-3/kernel-firmware-2.6.29.6-noarch-3.txt
@@ -0,0 +1,11 @@
+kernel-firmware: kernel-firmware (Firmware installed by the kernel)
+kernel-firmware:
+kernel-firmware: These are the firmware files from the Linux kernel.
+kernel-firmware:
+kernel-firmware: You'll need these to use certain hardware with Linux.
+kernel-firmware:
+kernel-firmware:
+kernel-firmware:
+kernel-firmware:
+kernel-firmware:
+kernel-firmware:
diff --git a/patches/packages/linux-2.6.29.6-3/kernel-generic-2.6.29.6-x86_64-3.txt b/patches/packages/linux-2.6.29.6-3/kernel-generic-2.6.29.6-x86_64-3.txt
new file mode 100644
index 00000000..b99e5509
--- /dev/null
+++ b/patches/packages/linux-2.6.29.6-3/kernel-generic-2.6.29.6-x86_64-3.txt
@@ -0,0 +1,11 @@
+kernel-generic: kernel-generic (a general purpose SMP Linux kernel)
+kernel-generic:
+kernel-generic: This is a Linux kernel with built-in support for most disk
+kernel-generic: controllers. To use filesystems, or to load support for a SCSI or
+kernel-generic: other controller, then you'll need to load one or more kernel
+kernel-generic: modules using an initial ramdisk, or initrd. For more information
+kernel-generic: about creating an initrd, see the README.initrd file in the /boot
+kernel-generic: directory.
+kernel-generic:
+kernel-generic: SMP is "Symmetric multiprocessing", or multiple CPU/core support.
+kernel-generic:
diff --git a/patches/packages/linux-2.6.29.6-3/kernel-headers-2.6.29.6-x86-3.txt b/patches/packages/linux-2.6.29.6-3/kernel-headers-2.6.29.6-x86-3.txt
new file mode 100644
index 00000000..27b46a0e
--- /dev/null
+++ b/patches/packages/linux-2.6.29.6-3/kernel-headers-2.6.29.6-x86-3.txt
@@ -0,0 +1,11 @@
+kernel-headers: kernel-headers (Linux kernel include files)
+kernel-headers:
+kernel-headers: These are the include files from the Linux kernel.
+kernel-headers:
+kernel-headers: You'll need these to compile most system software for Linux.
+kernel-headers:
+kernel-headers:
+kernel-headers:
+kernel-headers:
+kernel-headers:
+kernel-headers:
diff --git a/patches/packages/linux-2.6.29.6-3/kernel-huge-2.6.29.6-x86_64-3.txt b/patches/packages/linux-2.6.29.6-3/kernel-huge-2.6.29.6-x86_64-3.txt
new file mode 100644
index 00000000..95357007
--- /dev/null
+++ b/patches/packages/linux-2.6.29.6-3/kernel-huge-2.6.29.6-x86_64-3.txt
@@ -0,0 +1,11 @@
+kernel-huge: kernel-huge (a fully-loaded SMP Linux kernel)
+kernel-huge:
+kernel-huge: This is a Linux kernel with built-in support for most disk
+kernel-huge: controllers. If you're looking for a more stripped down kernel
+kernel-huge: (this one contains everything but the kitchen sink ;-), then install
+kernel-huge: the kernel-generic in the /boot directory along with an initrd to
+kernel-huge: load support for your boot device and filesystem. For instructions
+kernel-huge: on the initrd, see README.initrd in the /boot directory.
+kernel-huge:
+kernel-huge: SMP is "Symmetric multiprocessing", or multiple CPU/core support.
+kernel-huge:
diff --git a/patches/packages/linux-2.6.29.6-3/kernel-modules-2.6.29.6-x86_64-3.txt b/patches/packages/linux-2.6.29.6-3/kernel-modules-2.6.29.6-x86_64-3.txt
new file mode 100644
index 00000000..56067d43
--- /dev/null
+++ b/patches/packages/linux-2.6.29.6-3/kernel-modules-2.6.29.6-x86_64-3.txt
@@ -0,0 +1,11 @@
+kernel-modules: kernel-modules (Linux kernel modules)
+kernel-modules:
+kernel-modules: A kernel module is a piece of object code that can be dynamically
+kernel-modules: loaded into the Linux kernel to provide new kernel functions. Most of
+kernel-modules: these modules provide support for devices such as CD-ROM drives, tape
+kernel-modules: drives, and ethernet cards. You can choose which modules to load by
+kernel-modules: editing /etc/rc.d/rc.modules.
+kernel-modules:
+kernel-modules:
+kernel-modules:
+kernel-modules:
diff --git a/patches/packages/linux-2.6.29.6-3/kernel-source-2.6.29.6-noarch-3.txt b/patches/packages/linux-2.6.29.6-3/kernel-source-2.6.29.6-noarch-3.txt
new file mode 100644
index 00000000..d78ecdf2
--- /dev/null
+++ b/patches/packages/linux-2.6.29.6-3/kernel-source-2.6.29.6-noarch-3.txt
@@ -0,0 +1,11 @@
+kernel-source: kernel-source (Linux kernel source)
+kernel-source:
+kernel-source: Source code for Linus Torvalds' Linux kernel.
+kernel-source:
+kernel-source: This is the complete source code for the Linux kernel.
+kernel-source:
+kernel-source: This kernel has been patched to fix:
+kernel-source: Null dereference bug in net/socket.c (CVE-2009-2692).
+kernel-source: Null dereference bug in net/ipv4/ip_fragment.c (CVE-2009-1298).
+kernel-source:
+kernel-source:
diff --git a/patches/packages/lm_sensors-3.3.4-x86_64-1_slack13.0.txt b/patches/packages/lm_sensors-3.3.4-x86_64-1_slack13.0.txt
new file mode 100644
index 00000000..025e3f68
--- /dev/null
+++ b/patches/packages/lm_sensors-3.3.4-x86_64-1_slack13.0.txt
@@ -0,0 +1,11 @@
+lm_sensors: lm_sensors (hardware monitoring package)
+lm_sensors:
+lm_sensors: lm_sensors provides tools for monitoring the temperatures, voltages,
+lm_sensors: and fans of Linux systems with hardware monitoring devices. Included
+lm_sensors: are text-based tools for sensor reporting, and a library for sensors
+lm_sensors: access called libsensors. It also contains tools for sensor hardware
+lm_sensors: identification and I2C bus probing.
+lm_sensors:
+lm_sensors: IMPORTANT NOTE: If you have a Thinkpad, please read the warnings in
+lm_sensors: the README.thinkpad file. lm_sensors has been known to cause damage
+lm_sensors: to some Thinkpads.
diff --git a/patches/packages/lynx-2.8.8rel.2-x86_64-1_slack13.0.txt b/patches/packages/lynx-2.8.8rel.2-x86_64-1_slack13.0.txt
new file mode 100644
index 00000000..925b5830
--- /dev/null
+++ b/patches/packages/lynx-2.8.8rel.2-x86_64-1_slack13.0.txt
@@ -0,0 +1,11 @@
+lynx: Lynx (text mode browser)
+lynx:
+lynx: Lynx is a distributed hypertext browser with full World Wide Web
+lynx: capabilities. Lynx can be used to access information on the World
+lynx: Wide Web, or to build information systems intended primarily for local
+lynx: access. For example, Lynx has been used to build several Campus Wide
+lynx: Information Systems (CWIS).
+lynx:
+lynx: Lynx's authors include Lou Montulli, Garrett Blythe, Craig Lavender,
+lynx: Michael Grobe, and Charles Rezac.
+lynx:
diff --git a/patches/packages/mailx-12.5-x86_64-1_slack13.0.txt b/patches/packages/mailx-12.5-x86_64-1_slack13.0.txt
new file mode 100644
index 00000000..5ae7aa79
--- /dev/null
+++ b/patches/packages/mailx-12.5-x86_64-1_slack13.0.txt
@@ -0,0 +1,11 @@
+mailx: mailx (a simple mail client)
+mailx:
+mailx: Mailx is derived from Berkeley Mail and is intended provide the
+mailx: functionality of the POSIX mailx command with additional support
+mailx: for MIME, IMAP, POP3, SMTP, and S/MIME. It provides enhanced
+mailx: features for interactive use, such as caching and disconnected
+mailx: operation for IMAP, message threading, scoring, and filtering.
+mailx: It is also usable as a mail batch language, both for sending
+mailx: and receiving mail.
+mailx:
+mailx: The maintainer and primary developer of mailx is Gunnar Ritter.
diff --git a/patches/packages/mercurial-3.8.1-x86_64-1_slack13.0.txt b/patches/packages/mercurial-3.8.1-x86_64-1_slack13.0.txt
new file mode 100644
index 00000000..74728542
--- /dev/null
+++ b/patches/packages/mercurial-3.8.1-x86_64-1_slack13.0.txt
@@ -0,0 +1,11 @@
+mercurial: mercurial (a distributed source management system)
+mercurial:
+mercurial: Mercurial is a cross-platform, distributed source management tool for
+mercurial: software developers. It is written in Python, with a binary diff
+mercurial: implementation written in C. Its major features include high-
+mercurial: performance; serverless, fully distributed collaborative development;
+mercurial: robust handling of both plain text and binary files; advanced
+mercurial: branching and merging capabilities; and full source code available
+mercurial: under the terms of the LGPL.
+mercurial:
+mercurial: Mercurial was written by Matt Mackall and other contributors.
diff --git a/patches/packages/mesa-7.5-x86_64-2.txt b/patches/packages/mesa-7.5-x86_64-2.txt
new file mode 100644
index 00000000..364e4021
--- /dev/null
+++ b/patches/packages/mesa-7.5-x86_64-2.txt
@@ -0,0 +1,11 @@
+mesa: mesa (a 3-D graphics library)
+mesa:
+mesa: Mesa is a 3-D graphics library with an API very similar to that of
+mesa: another well-known 3-D graphics library. :-) The Mesa libraries are
+mesa: used by X to provide both software and hardware accelerated graphics.
+mesa:
+mesa: Mesa was written by Brian Paul.
+mesa:
+mesa:
+mesa:
+mesa:
diff --git a/patches/packages/minicom-2.7.1-x86_64-1_slack13.0.txt b/patches/packages/minicom-2.7.1-x86_64-1_slack13.0.txt
new file mode 100644
index 00000000..ec008506
--- /dev/null
+++ b/patches/packages/minicom-2.7.1-x86_64-1_slack13.0.txt
@@ -0,0 +1,11 @@
+minicom: minicom (communications package)
+minicom:
+minicom: Minicom - a full featured menu-driven communications package similar
+minicom: to the DOS program 'Telix'. Also includes sz/rz - utilities used to
+minicom: upload and download files using the Zmodem protocol.
+minicom:
+minicom: Homepage: http://alioth.debian.org/projects/minicom
+minicom:
+minicom:
+minicom:
+minicom:
diff --git a/patches/packages/mozilla-firefox-3.6.28-x86_64-1_slack13.0.txt b/patches/packages/mozilla-firefox-3.6.28-x86_64-1_slack13.0.txt
new file mode 100644
index 00000000..1d399dbf
--- /dev/null
+++ b/patches/packages/mozilla-firefox-3.6.28-x86_64-1_slack13.0.txt
@@ -0,0 +1,11 @@
+mozilla-firefox: mozilla-firefox (Mozilla Firefox Web browser)
+mozilla-firefox:
+mozilla-firefox: This project is a redesign of the Mozilla browser component written
+mozilla-firefox: using the XUL user interface language. Firefox empowers you to
+mozilla-firefox: browse faster, more safely and more efficiently than with any other
+mozilla-firefox: browser.
+mozilla-firefox:
+mozilla-firefox: Visit the Mozilla Firefox project online:
+mozilla-firefox: http://www.mozilla.org/projects/firefox/
+mozilla-firefox:
+mozilla-firefox:
diff --git a/patches/packages/mozilla-thunderbird-3.1.20-x86_64-1_slack13.0.txt b/patches/packages/mozilla-thunderbird-3.1.20-x86_64-1_slack13.0.txt
new file mode 100644
index 00000000..79d02252
--- /dev/null
+++ b/patches/packages/mozilla-thunderbird-3.1.20-x86_64-1_slack13.0.txt
@@ -0,0 +1,11 @@
+mozilla-thunderbird: mozilla-thunderbird (Mozilla Thunderbird mail application)
+mozilla-thunderbird:
+mozilla-thunderbird: Mozilla Thunderbird is a redesign of the Mozilla mail component
+mozilla-thunderbird: written using the XUL user interface language. Thunderbird makes
+mozilla-thunderbird: emailing safer, faster, and easier than ever before with the
+mozilla-thunderbird: industry's best implementations of features such as intelligent spam
+mozilla-thunderbird: filters, built-in RSS reader, quick search, and much more.
+mozilla-thunderbird:
+mozilla-thunderbird: Visit the Mozilla Thunderbird project online:
+mozilla-thunderbird: http://www.mozilla.org/projects/thunderbird/
+mozilla-thunderbird:
diff --git a/patches/packages/mysql-5.0.96-x86_64-2_slack13.0.txt b/patches/packages/mysql-5.0.96-x86_64-2_slack13.0.txt
new file mode 100644
index 00000000..f11c282f
--- /dev/null
+++ b/patches/packages/mysql-5.0.96-x86_64-2_slack13.0.txt
@@ -0,0 +1,11 @@
+mysql: mysql (SQL-based relational database server)
+mysql:
+mysql: MySQL is a fast, multi-threaded, multi-user, and robust SQL
+mysql: (Structured Query Language) database server. It comes with a nice API
+mysql: which makes it easy to integrate into other applications.
+mysql:
+mysql: The home page for MySQL is http://www.mysql.com/
+mysql:
+mysql:
+mysql:
+mysql:
diff --git a/patches/packages/ntp-4.2.8p10-x86_64-1_slack13.0.txt b/patches/packages/ntp-4.2.8p10-x86_64-1_slack13.0.txt
new file mode 100644
index 00000000..128dd5c6
--- /dev/null
+++ b/patches/packages/ntp-4.2.8p10-x86_64-1_slack13.0.txt
@@ -0,0 +1,11 @@
+ntp: ntp (Network Time Protocol daemon)
+ntp:
+ntp: The Network Time Protocol (NTP) is used to synchronize the time of a
+ntp: computer client or server to another server or reference time source,
+ntp: such as a radio or satellite receiver or modem. It provides client
+ntp: accuracies typically within a millisecond on LANs and up to a few tens
+ntp: of milliseconds on WANs relative to a primary server synchronized to
+ntp: Coordinated Universal Time (UTC) via a Global Positioning Service
+ntp: (GPS) receiver, for example.
+ntp:
+ntp:
diff --git a/patches/packages/openssh-7.4p1-x86_64-2_slack13.0.txt b/patches/packages/openssh-7.4p1-x86_64-2_slack13.0.txt
new file mode 100644
index 00000000..65f39171
--- /dev/null
+++ b/patches/packages/openssh-7.4p1-x86_64-2_slack13.0.txt
@@ -0,0 +1,11 @@
+openssh: openssh (Secure Shell daemon and clients)
+openssh:
+openssh: ssh (Secure Shell) is a program for logging into a remote machine and
+openssh: for executing commands on a remote machine. It is intended to replace
+openssh: rlogin and rsh, and provide secure encrypted communications between
+openssh: two untrusted hosts over an insecure network. sshd (SSH Daemon) is
+openssh: the daemon program for ssh. OpenSSH is based on the last free version
+openssh: of Tatu Ylonen's SSH, further enhanced and cleaned up by Aaron
+openssh: Campbell, Bob Beck, Markus Friedl, Niels Provos, Theo de Raadt, and
+openssh: Dug Song. It has a homepage at http://www.openssh.com/
+openssh:
diff --git a/patches/packages/openssl-0.9.8zh-x86_64-2_slack13.0.txt b/patches/packages/openssl-0.9.8zh-x86_64-2_slack13.0.txt
new file mode 100644
index 00000000..26048b4f
--- /dev/null
+++ b/patches/packages/openssl-0.9.8zh-x86_64-2_slack13.0.txt
@@ -0,0 +1,11 @@
+openssl: openssl (Secure Sockets Layer toolkit)
+openssl:
+openssl: The OpenSSL certificate management tool and the shared libraries that
+openssl: provide various encryption and decryption algorithms and protocols.
+openssl:
+openssl: This product includes software developed by the OpenSSL Project for
+openssl: use in the OpenSSL Toolkit (http://www.openssl.org). This product
+openssl: includes cryptographic software written by Eric Young
+openssl: (eay@cryptsoft.com). This product includes software written by Tim
+openssl: Hudson (tjh@cryptsoft.com).
+openssl:
diff --git a/patches/packages/openssl-solibs-0.9.8zh-x86_64-2_slack13.0.txt b/patches/packages/openssl-solibs-0.9.8zh-x86_64-2_slack13.0.txt
new file mode 100644
index 00000000..becd3123
--- /dev/null
+++ b/patches/packages/openssl-solibs-0.9.8zh-x86_64-2_slack13.0.txt
@@ -0,0 +1,11 @@
+openssl-solibs: openssl-solibs (OpenSSL shared libraries)
+openssl-solibs:
+openssl-solibs: These shared libraries provide encryption routines required by
+openssl-solibs: programs such as openssh. They are also used by KDE's Konqueror web
+openssl-solibs: browser to provide secure web connections.
+openssl-solibs:
+openssl-solibs: This product includes software developed by the OpenSSL Project for
+openssl-solibs: use in the OpenSSL Toolkit (http://www.openssl.org). This product
+openssl-solibs: includes cryptographic software written by Eric Young
+openssl-solibs: (eay@cryptsoft.com). This product includes software written by Tim
+openssl-solibs: Hudson (tjh@cryptsoft.com).
diff --git a/patches/packages/openvpn-2.4.6-x86_64-1_slack13.0.txt b/patches/packages/openvpn-2.4.6-x86_64-1_slack13.0.txt
new file mode 100644
index 00000000..73bb76e0
--- /dev/null
+++ b/patches/packages/openvpn-2.4.6-x86_64-1_slack13.0.txt
@@ -0,0 +1,11 @@
+openvpn: openvpn (secure IP tunnel daemon)
+openvpn:
+openvpn: OpenVPN is a full-featured SSL VPN which can accommodate a wide range
+openvpn: of configurations, including remote access, site-to-site VPNs, WiFi
+openvpn: security, and enterprise-scale remote access with load balancing,
+openvpn: failover, and fine-grained access-controls.
+openvpn:
+openvpn: OpenVPN's home on the net is: http://openvpn.net
+openvpn:
+openvpn:
+openvpn:
diff --git a/patches/packages/patch-2.7.4-x86_64-2_slack13.0.txt b/patches/packages/patch-2.7.4-x86_64-2_slack13.0.txt
new file mode 100644
index 00000000..f298d860
--- /dev/null
+++ b/patches/packages/patch-2.7.4-x86_64-2_slack13.0.txt
@@ -0,0 +1,11 @@
+patch: patch (apply a diff file to an original file or files)
+patch:
+patch: Patch is a utility used to apply diffs (or patches) to files, which
+patch: are usually source code.
+patch:
+patch: Larry Wall wrote the original version of patch. Paul Eggert removed
+patch: patch's arbitrary limits; added support for binary files, setting
+patch: file times, and deleting files; and made it conform better to POSIX.
+patch: Other contributors include Wayne Davison, who added unidiff support,
+patch: and David MacKenzie, who added configuration and backup support.
+patch:
diff --git a/patches/packages/php-5.3.29-x86_64-1_slack13.0.txt b/patches/packages/php-5.3.29-x86_64-1_slack13.0.txt
new file mode 100644
index 00000000..e771b5f3
--- /dev/null
+++ b/patches/packages/php-5.3.29-x86_64-1_slack13.0.txt
@@ -0,0 +1,11 @@
+php: php (HTML-embedded scripting language)
+php:
+php: PHP is an HTML-embedded scripting language. It shares syntax
+php: characteristics with C, Java, and Perl. The primary objective behind
+php: this language is to make a fast and easy-to-use scripting language
+php: for dynamic web sites.
+php:
+php: More information can be found online at http://www.php.net/
+php:
+php:
+php:
diff --git a/patches/packages/pidgin-2.12.0-x86_64-1_slack13.0.txt b/patches/packages/pidgin-2.12.0-x86_64-1_slack13.0.txt
new file mode 100644
index 00000000..1eb97f00
--- /dev/null
+++ b/patches/packages/pidgin-2.12.0-x86_64-1_slack13.0.txt
@@ -0,0 +1,11 @@
+pidgin: pidgin (GTK+ instant messaging program)
+pidgin:
+pidgin: Pidgin allows you to talk to anyone using a variety of messaging
+pidgin: protocols, including AIM (Oscar and TOC), ICQ, IRC, Yahoo!, MSN
+pidgin: Messenger, Jabber, Gadu-Gadu, Napster, and Zephyr. These protocols
+pidgin: are implemented using a modular, easy to use design. To use a
+pidgin: protocol, just load the plugin for it.
+pidgin:
+pidgin: For more info, see: http://www.pidgin.im
+pidgin:
+pidgin:
diff --git a/patches/packages/poppler-0.10.7-x86_64-3_slack13.0.txt b/patches/packages/poppler-0.10.7-x86_64-3_slack13.0.txt
new file mode 100644
index 00000000..4c0f4a66
--- /dev/null
+++ b/patches/packages/poppler-0.10.7-x86_64-3_slack13.0.txt
@@ -0,0 +1,11 @@
+poppler: poppler (a library for rendering PDF documents)
+poppler:
+poppler: Poppler is a library based on the xpdf PDF viewer developed by Derek
+poppler: Noonburg of Glyph and Cog, LLC. Since xpdf does not provide a shared
+poppler: library, whenever a flaw was found potentially dozens of applications
+poppler: incorporating code from xpdf would have to be patched. By providing
+poppler: a centralized PDF library this duplicated effort will be eliminated.
+poppler:
+poppler:
+poppler:
+poppler:
diff --git a/patches/packages/ppp-2.4.4-x86_64-2_slack13.0.txt b/patches/packages/ppp-2.4.4-x86_64-2_slack13.0.txt
new file mode 100644
index 00000000..1c0d758c
--- /dev/null
+++ b/patches/packages/ppp-2.4.4-x86_64-2_slack13.0.txt
@@ -0,0 +1,11 @@
+ppp: ppp (Point-to-Point Protocol)
+ppp:
+ppp: The Point-to-Point Protocol (PPP) provides a method for transmitting
+ppp: data over serial links. It's commonly used for connecting to the
+ppp: Internet using a modem. This package includes the PPP daemon (pppd),
+ppp: which negotiates with the peer to establish the link and sets up the
+ppp: ppp network interface, and pppsetup, an easy-to-use utility for
+ppp: setting up your PPP daemon.
+ppp:
+ppp:
+ppp:
diff --git a/patches/packages/proftpd-1.3.5e-x86_64-1_slack13.0.txt b/patches/packages/proftpd-1.3.5e-x86_64-1_slack13.0.txt
new file mode 100644
index 00000000..7053edf3
--- /dev/null
+++ b/patches/packages/proftpd-1.3.5e-x86_64-1_slack13.0.txt
@@ -0,0 +1,11 @@
+proftpd: proftpd (FTP server daemon)
+proftpd:
+proftpd: ProFTPD is the Professional File Transfer Protocol (FTP) server
+proftpd: daemon. ProFTPD grew out of the desire to have a secure and
+proftpd: configurable FTP server, and out of a significant admiration of the
+proftpd: Apache web server.
+proftpd:
+proftpd:
+proftpd:
+proftpd:
+proftpd:
diff --git a/patches/packages/randrproto-1.5.0-noarch-1_slack13.0.txt b/patches/packages/randrproto-1.5.0-noarch-1_slack13.0.txt
new file mode 100644
index 00000000..f2807263
--- /dev/null
+++ b/patches/packages/randrproto-1.5.0-noarch-1_slack13.0.txt
@@ -0,0 +1,11 @@
+randrproto: randrproto (C prototypes for RandR)
+randrproto:
+randrproto: RandR is the X11 Resize and Rotate Extension
+randrproto:
+randrproto:
+randrproto:
+randrproto:
+randrproto:
+randrproto:
+randrproto:
+randrproto:
diff --git a/patches/packages/rdesktop-1.6.0-x86_64-2_slack13.0.txt b/patches/packages/rdesktop-1.6.0-x86_64-2_slack13.0.txt
new file mode 100644
index 00000000..5f857ead
--- /dev/null
+++ b/patches/packages/rdesktop-1.6.0-x86_64-2_slack13.0.txt
@@ -0,0 +1,11 @@
+rdesktop: rdesktop (Remote Desktop Protocol client)
+rdesktop:
+rdesktop: rdesktop is a client for Remote Desktop Protocol (RDP), used in a
+rdesktop: number of Microsoft products including Windows NT Terminal Server,
+rdesktop: Windows 2000 Server, Windows XP, and Windows 2003 Server.
+rdesktop:
+rdesktop: For more information, see: http://www.rdesktop.org
+rdesktop:
+rdesktop:
+rdesktop:
+rdesktop:
diff --git a/patches/packages/recordproto-1.14.2-noarch-1_slack13.0.txt b/patches/packages/recordproto-1.14.2-noarch-1_slack13.0.txt
new file mode 100644
index 00000000..5cd58fba
--- /dev/null
+++ b/patches/packages/recordproto-1.14.2-noarch-1_slack13.0.txt
@@ -0,0 +1,11 @@
+recordproto: recordproto (C prototypes for X Record Extension)
+recordproto:
+recordproto: recordproto is part of X11.
+recordproto:
+recordproto: For more information about the X.Org Foundation (the providers of the
+recordproto: X.Org implementation of the X Window System), see their website:
+recordproto:
+recordproto: http://www.x.org
+recordproto:
+recordproto:
+recordproto:
diff --git a/patches/packages/rsync-3.1.3-x86_64-1_slack13.0.txt b/patches/packages/rsync-3.1.3-x86_64-1_slack13.0.txt
new file mode 100644
index 00000000..7565757a
--- /dev/null
+++ b/patches/packages/rsync-3.1.3-x86_64-1_slack13.0.txt
@@ -0,0 +1,11 @@
+rsync: rsync (remote file sync)
+rsync:
+rsync: rsync is a replacement for rcp that has many more features. It
+rsync: uses the "rsync algorithm" which provides a very fast method for
+rsync: bringing remote files into sync. It does this by sending just the
+rsync: differences in the files across the link, without requiring that both
+rsync: sets of files are present at one of the ends of the link beforehand.
+rsync: rsync was written by Andrew Tridgell and Paul Mackerras.
+rsync:
+rsync: Homepage: http://rsync.samba.org
+rsync:
diff --git a/patches/packages/rxvt-2.7.10-x86_64-5_slack13.0.txt b/patches/packages/rxvt-2.7.10-x86_64-5_slack13.0.txt
new file mode 100644
index 00000000..21fc353f
--- /dev/null
+++ b/patches/packages/rxvt-2.7.10-x86_64-5_slack13.0.txt
@@ -0,0 +1,11 @@
+rxvt: rxvt (terminal emulator)
+rxvt:
+rxvt: rxvt is a color vt102 terminal emulator intended as an xterm
+rxvt: replacement for users who do not require features such as Tektronix
+rxvt: 4014 emulation and toolkit-style configurability. As a result, rxvt
+rxvt: uses much less memory -- a significant advantage on a machine serving
+rxvt: many X sessions. Also included is rclock, an analog clock for X.
+rxvt:
+rxvt:
+rxvt:
+rxvt:
diff --git a/patches/packages/samba-3.2.15-x86_64-5_slack13.0.txt b/patches/packages/samba-3.2.15-x86_64-5_slack13.0.txt
new file mode 100644
index 00000000..79c5b690
--- /dev/null
+++ b/patches/packages/samba-3.2.15-x86_64-5_slack13.0.txt
@@ -0,0 +1,11 @@
+samba: samba (SMB file and print server)
+samba:
+samba: Samba is an SMB file and print server for SMB and CIFS clients. It
+samba: allows you to make file space or printers on a Samba host available to
+samba: any PCs running SMB clients (such as PCs running Windows).
+samba:
+samba: If you have any SMB servers (such as Windows NT/2K Server), you may be
+samba: able to replace them by or supplement them with Samba. One of Samba's
+samba: big strengths is integration, so you can use it to tie together your
+samba: Linux hosts and Windows PC clients.
+samba:
diff --git a/patches/packages/seamonkey-2.0.14-x86_64-1_slack13.0.txt b/patches/packages/seamonkey-2.0.14-x86_64-1_slack13.0.txt
new file mode 100644
index 00000000..da07187a
--- /dev/null
+++ b/patches/packages/seamonkey-2.0.14-x86_64-1_slack13.0.txt
@@ -0,0 +1,11 @@
+seamonkey: SeaMonkey (an open-source web browser suite)
+seamonkey:
+seamonkey: The SeaMonkey browser suite. SeaMonkey features a state-of-the-art
+seamonkey: web browser and powerful email client, as well as a WYSIWYG web page
+seamonkey: composer and a feature-rich IRC chat client.
+seamonkey:
+seamonkey:
+seamonkey:
+seamonkey: Visit the SeaMonkey project at this URL:
+seamonkey: http://www.mozilla.org/projects/seamonkey/
+seamonkey:
diff --git a/patches/packages/seamonkey-solibs-2.0.14-x86_64-1_slack13.0.txt b/patches/packages/seamonkey-solibs-2.0.14-x86_64-1_slack13.0.txt
new file mode 100644
index 00000000..57181134
--- /dev/null
+++ b/patches/packages/seamonkey-solibs-2.0.14-x86_64-1_slack13.0.txt
@@ -0,0 +1,11 @@
+seamonkey-solibs: seamonkey-solibs (Shared libraries from Seamonkey)
+seamonkey-solibs:
+seamonkey-solibs: This package contains a subset of the shared libraries from Seamonkey
+seamonkey-solibs: to provide runtime support for programs that require nss, nspr, and
+seamonkey-solibs: js. These libraries are used in programs like RPM and gxine, and can
+seamonkey-solibs: be used in others. This package is built from the Seamonkey sources
+seamonkey-solibs: and is provided as a standalone runtime package for people who do not
+seamonkey-solibs: want to install the entire seamonkey package (as for server use).
+seamonkey-solibs:
+seamonkey-solibs: This package is runtime only. The include files and other files for
+seamonkey-solibs: development can be found in the seamonkey package.
diff --git a/patches/packages/sendmail-8.14.9-x86_64-1_slack13.0.txt b/patches/packages/sendmail-8.14.9-x86_64-1_slack13.0.txt
new file mode 100644
index 00000000..7498d7c9
--- /dev/null
+++ b/patches/packages/sendmail-8.14.9-x86_64-1_slack13.0.txt
@@ -0,0 +1,11 @@
+sendmail: sendmail (mail transfer agent)
+sendmail:
+sendmail: Eric Allman's mail transport agent. The _Unix System Administration
+sendmail: Handbook_ calls sendmail 'The most complex and complete mail delivery
+sendmail: system in common use...'
+sendmail:
+sendmail: Ready-made configuration files are included for systems connected by
+sendmail: TCP/IP (with or without a nameserver) and for systems using UUCP.
+sendmail:
+sendmail: The procmail package is required to handle local mail delivery.
+sendmail:
diff --git a/patches/packages/sendmail-cf-8.14.9-noarch-1_slack13.0.txt b/patches/packages/sendmail-cf-8.14.9-noarch-1_slack13.0.txt
new file mode 100644
index 00000000..da73ab70
--- /dev/null
+++ b/patches/packages/sendmail-cf-8.14.9-noarch-1_slack13.0.txt
@@ -0,0 +1,11 @@
+sendmail-cf: sendmail-cf (configuration files for sendmail)
+sendmail-cf:
+sendmail-cf: These files are used to create sendmail.cf configuration files. The
+sendmail-cf: m4 macro processor is also required in order to make use of these
+sendmail-cf: files.
+sendmail-cf:
+sendmail-cf: The files and documentation in /usr/share/sendmail should make it
+sendmail-cf: possible to support virtually any mail configuration. NOTE: You
+sendmail-cf: probably won't need this package if you're planning to use one of the
+sendmail-cf: sendmail.cf samples included in the sendmail package.
+sendmail-cf:
diff --git a/patches/packages/slocate-3.1-x86_64-4_slack13.0.txt b/patches/packages/slocate-3.1-x86_64-4_slack13.0.txt
new file mode 100644
index 00000000..774993a8
--- /dev/null
+++ b/patches/packages/slocate-3.1-x86_64-4_slack13.0.txt
@@ -0,0 +1,11 @@
+slocate: slocate (Secure Locate)
+slocate:
+slocate: Slocate is an enhanced version of locate, a command to help you locate
+slocate: files on the system. Like the original version of locate, Slocate
+slocate: maintains a database of files on the system, updating it nightly.
+slocate: Unlike the original, Slocate indexes every file on the machine rather
+slocate: than only the ones that can be seen by everyone. The "secure" part of
+slocate: slocate is that it will only return matches if the user is allowed to
+slocate: see the files.
+slocate:
+slocate:
diff --git a/patches/packages/stunnel-5.35-x86_64-2_slack13.0.txt b/patches/packages/stunnel-5.35-x86_64-2_slack13.0.txt
new file mode 100644
index 00000000..2e5c70ca
--- /dev/null
+++ b/patches/packages/stunnel-5.35-x86_64-2_slack13.0.txt
@@ -0,0 +1,11 @@
+stunnel: stunnel (Universal SSL tunnel)
+stunnel:
+stunnel: The stunnel program is designed to work as an SSL encryption wrapper
+stunnel: between remote client and local (inetd-startable) or remote servers.
+stunnel: The goal is to facilitate SSL encryption and authentication for
+stunnel: non-SSL-aware programs.
+stunnel:
+stunnel: stunnel can be used to add SSL functionality to commonly used inetd
+stunnel: daemons like POP-2, POP-3 and IMAP servers without any changes in the
+stunnel: programs' code.
+stunnel:
diff --git a/patches/packages/subversion-1.6.21-x86_64-1_slack13.0.txt b/patches/packages/subversion-1.6.21-x86_64-1_slack13.0.txt
new file mode 100644
index 00000000..bedcebbf
--- /dev/null
+++ b/patches/packages/subversion-1.6.21-x86_64-1_slack13.0.txt
@@ -0,0 +1,11 @@
+subversion: subversion (a version control system)
+subversion:
+subversion: Subversion is a version control system which allows you to keep old
+subversion: versions of files and directories (usually source code), and keep a
+subversion: log of who, when, and why changes occurred, similar to other such
+subversion: systems like CVS, RCS or SCCS. Subversion keeps all the information
+subversion: to permit extracting previous versions of those files at any time.
+subversion:
+subversion: For more information about the Subversion project, visit:
+subversion: http://subversion.tigris.org
+subversion:
diff --git a/patches/packages/sudo-1.8.20p2-x86_64-1_slack13.0.txt b/patches/packages/sudo-1.8.20p2-x86_64-1_slack13.0.txt
new file mode 100644
index 00000000..1f1087d7
--- /dev/null
+++ b/patches/packages/sudo-1.8.20p2-x86_64-1_slack13.0.txt
@@ -0,0 +1,11 @@
+sudo: sudo (give limited root privileges to certain users)
+sudo:
+sudo: 'sudo' is a command that allows users to execute some commands as
+sudo: root. The /etc/sudoers file (edited with 'visudo') specifies which
+sudo: users have access to sudo and which commands they can run. 'sudo'
+sudo: logs all its activities to /var/log/ so the system administrator
+sudo: can keep an eye on things.
+sudo:
+sudo:
+sudo:
+sudo:
diff --git a/patches/packages/t1lib-5.1.2-x86_64-2_slack13.0.txt b/patches/packages/t1lib-5.1.2-x86_64-2_slack13.0.txt
new file mode 100644
index 00000000..fe5cb0f6
--- /dev/null
+++ b/patches/packages/t1lib-5.1.2-x86_64-2_slack13.0.txt
@@ -0,0 +1,11 @@
+t1lib: t1lib (Type 1 font rasterizer library)
+t1lib:
+t1lib: t1lib is a library distributed under the GNU General Public Library
+t1lib: License for generating character and string glyphs from Adobe Type 1
+t1lib: fonts under UNIX. t1lib uses most of the code of the X11 rasterizer
+t1lib: donated by IBM to the X11 project.
+t1lib:
+t1lib:
+t1lib:
+t1lib:
+t1lib:
diff --git a/patches/packages/vsftpd-2.3.5-x86_64-1_slack13.0.txt b/patches/packages/vsftpd-2.3.5-x86_64-1_slack13.0.txt
new file mode 100644
index 00000000..90b70017
--- /dev/null
+++ b/patches/packages/vsftpd-2.3.5-x86_64-1_slack13.0.txt
@@ -0,0 +1,11 @@
+vsftpd: vsftpd (Very Secure FTP Daemon)
+vsftpd:
+vsftpd: vsftpd is an FTP server, or daemon. The 'vs' stands for Very Secure.
+vsftpd: Obviously this is not a guarantee, but a reflection that the entire
+vsftpd: codebase was written with security in mind, and carefully designed to
+vsftpd: be resilient to attack (as well as extremely fast and scalable).
+vsftpd:
+vsftpd: The vsftpd homepage is http://vsftpd.beasts.org/
+vsftpd:
+vsftpd: The Very Secure FTP Daemon was written by Chris Evans.
+vsftpd:
diff --git a/patches/packages/wget-1.19.5-x86_64-1_slack13.0.txt b/patches/packages/wget-1.19.5-x86_64-1_slack13.0.txt
new file mode 100644
index 00000000..cd0faad0
--- /dev/null
+++ b/patches/packages/wget-1.19.5-x86_64-1_slack13.0.txt
@@ -0,0 +1,11 @@
+wget: wget (a non-interactive network retriever)
+wget:
+wget: GNU Wget is a free network utility to retrieve files from the
+wget: World Wide Web using HTTP and FTP, the two most widely used Internet
+wget: protocols. It works non-interactively, thus enabling work in the
+wget: background after having logged off.
+wget:
+wget: The author of Wget is Hrvoje Niksic <hniksic@srce.hr>.
+wget:
+wget:
+wget:
diff --git a/patches/packages/wicd-1.7.2.4-x86_64-2_slack13.0.txt b/patches/packages/wicd-1.7.2.4-x86_64-2_slack13.0.txt
new file mode 100644
index 00000000..237a18d2
--- /dev/null
+++ b/patches/packages/wicd-1.7.2.4-x86_64-2_slack13.0.txt
@@ -0,0 +1,11 @@
+wicd: wicd (network manager for linux)
+wicd:
+wicd: wicd is a wired and wireless network manager for Linux.
+wicd: Some features include:
+wicd: - Ability to connect to wired and wireless networks
+wicd: - Profiles for each wireless network and wired network
+wicd: - Many encryption schemes, some of which include WEP/WPA/WPA2
+wicd: - Compatible with wireless-tools
+wicd:
+wicd: Homepage: http://wicd.net
+wicd:
diff --git a/patches/packages/xcb-proto-1.11-x86_64-1_slack13.0.txt b/patches/packages/xcb-proto-1.11-x86_64-1_slack13.0.txt
new file mode 100644
index 00000000..df6cd924
--- /dev/null
+++ b/patches/packages/xcb-proto-1.11-x86_64-1_slack13.0.txt
@@ -0,0 +1,11 @@
+xcb-proto: xcb-proto (X protocol C-language Binding protocol descriptions)
+xcb-proto:
+xcb-proto: xcb-proto provides the XML-XCB protocol descriptions that libxcb
+xcb-proto: uses to generate the majority of its code and API. We provide them
+xcb-proto: separately from libxcb to allow reuse by other projects, such as
+xcb-proto: additional language bindings, protocol dissectors, or documentation
+xcb-proto: generators.
+xcb-proto:
+xcb-proto:
+xcb-proto:
+xcb-proto:
diff --git a/patches/packages/xextproto-7.3.0-x86_64-1_slack13.0.txt b/patches/packages/xextproto-7.3.0-x86_64-1_slack13.0.txt
new file mode 100644
index 00000000..40d18943
--- /dev/null
+++ b/patches/packages/xextproto-7.3.0-x86_64-1_slack13.0.txt
@@ -0,0 +1,11 @@
+xextproto: xextproto (C prototypes for X Protocol Extensions)
+xextproto:
+xextproto: xextproto is part of X11.
+xextproto:
+xextproto: For more information about the X.Org Foundation (the providers of the
+xextproto: X.Org implementation of the X Window System), see their website:
+xextproto:
+xextproto: http://www.x.org
+xextproto:
+xextproto:
+xextproto:
diff --git a/patches/packages/xorg-server-1.6.3-x86_64-4_slack13.0.txt b/patches/packages/xorg-server-1.6.3-x86_64-4_slack13.0.txt
new file mode 100644
index 00000000..1ebe1b27
--- /dev/null
+++ b/patches/packages/xorg-server-1.6.3-x86_64-4_slack13.0.txt
@@ -0,0 +1,11 @@
+xorg-server: xorg-server (The Xorg server, the core of the X Window System)
+xorg-server:
+xorg-server: Xorg is a full featured X server that was originally designed for UNIX
+xorg-server: and UNIX-like operating systems running on Intel x86 hardware. It now
+xorg-server: runs on a wider range of hardware and OS platforms. This work was
+xorg-server: derived by the X.Org Foundation from the XFree86 Project's XFree86
+xorg-server: 4.4rc2 release. The XFree86 release was originally derived from X386
+xorg-server: 1.2 by Thomas Roell which was contributed to X11R5 by Snitily Graphics
+xorg-server: Consulting Service.
+xorg-server:
+xorg-server: The home page for the X project is: http://www.x.org
diff --git a/patches/packages/xorg-server-xephyr-1.6.3-x86_64-4_slack13.0.txt b/patches/packages/xorg-server-xephyr-1.6.3-x86_64-4_slack13.0.txt
new file mode 100644
index 00000000..2ffb35f6
--- /dev/null
+++ b/patches/packages/xorg-server-xephyr-1.6.3-x86_64-4_slack13.0.txt
@@ -0,0 +1,11 @@
+xorg-server-xephyr: xorg-server-xephyr (Improved nested X server/client)
+xorg-server-xephyr:
+xorg-server-xephyr: Xephyr is a nested X-Client like Xnest, but with some additional
+xorg-server-xephyr: features like XRender support.
+xorg-server-xephyr:
+xorg-server-xephyr:
+xorg-server-xephyr:
+xorg-server-xephyr:
+xorg-server-xephyr:
+xorg-server-xephyr:
+xorg-server-xephyr:
diff --git a/patches/packages/xorg-server-xnest-1.6.3-x86_64-4_slack13.0.txt b/patches/packages/xorg-server-xnest-1.6.3-x86_64-4_slack13.0.txt
new file mode 100644
index 00000000..31dc1e78
--- /dev/null
+++ b/patches/packages/xorg-server-xnest-1.6.3-x86_64-4_slack13.0.txt
@@ -0,0 +1,11 @@
+xorg-server-xnest: xorg-server-xnest (a nested X server)
+xorg-server-xnest:
+xorg-server-xnest: Xnest is an experimental nested server for X that acts as both a
+xorg-server-xnest: client and a server. Xnest is a client of the real server which
+xorg-server-xnest: manages windows and graphics requests on its behalf. Xnest is a
+xorg-server-xnest: server to its own clients. Xnest manages windows and graphics
+xorg-server-xnest: requests on their behalf. To these clients Xnest appears to be a
+xorg-server-xnest: conventional server.
+xorg-server-xnest:
+xorg-server-xnest:
+xorg-server-xnest:
diff --git a/patches/packages/xorg-server-xvfb-1.6.3-x86_64-4_slack13.0.txt b/patches/packages/xorg-server-xvfb-1.6.3-x86_64-4_slack13.0.txt
new file mode 100644
index 00000000..3a7122df
--- /dev/null
+++ b/patches/packages/xorg-server-xvfb-1.6.3-x86_64-4_slack13.0.txt
@@ -0,0 +1,11 @@
+xorg-server-xvfb: xorg-server-xvfb (virtual framebuffer X server)
+xorg-server-xvfb:
+xorg-server-xvfb: Xvfb is an X server that can run on machines with no display hardware
+xorg-server-xvfb: and no physical input devices. It emulates a dumb framebuffer using
+xorg-server-xvfb: virtual memory. The primary use of this server is intended to be
+xorg-server-xvfb: server testing. The mfb or cfb code for any depth can be exercised
+xorg-server-xvfb: with this server without the need for real hardware that supports the
+xorg-server-xvfb: desired depths. A secondary use is testing clients against unusual
+xorg-server-xvfb: depths and screen configurations.
+xorg-server-xvfb:
+xorg-server-xvfb:
diff --git a/patches/packages/xpdf-3.03-x86_64-1_slack13.0.txt b/patches/packages/xpdf-3.03-x86_64-1_slack13.0.txt
new file mode 100644
index 00000000..3eeb1423
--- /dev/null
+++ b/patches/packages/xpdf-3.03-x86_64-1_slack13.0.txt
@@ -0,0 +1,11 @@
+xpdf: xpdf (PDF viewer for X)
+xpdf:
+xpdf: Xpdf is a viewer for Portable Document Format (PDF) files.
+xpdf:
+xpdf: xpdf was written by Derek B. Noonburg.
+xpdf:
+xpdf:
+xpdf:
+xpdf:
+xpdf:
+xpdf:
diff --git a/patches/packages/xproto-7.0.29-noarch-1_slack13.0.txt b/patches/packages/xproto-7.0.29-noarch-1_slack13.0.txt
new file mode 100644
index 00000000..b4397153
--- /dev/null
+++ b/patches/packages/xproto-7.0.29-noarch-1_slack13.0.txt
@@ -0,0 +1,11 @@
+xproto: xproto (C prototypes for X Window System Core Protocol)
+xproto:
+xproto: xproto is part of X11.
+xproto:
+xproto: For more information about the X.Org Foundation (the providers of the
+xproto: X.Org implementation of the X Window System), see their website:
+xproto:
+xproto: http://www.x.org
+xproto:
+xproto:
+xproto:
diff --git a/patches/packages/xrdb-1.0.9-x86_64-1_slack13.0.txt b/patches/packages/xrdb-1.0.9-x86_64-1_slack13.0.txt
new file mode 100644
index 00000000..05cdda83
--- /dev/null
+++ b/patches/packages/xrdb-1.0.9-x86_64-1_slack13.0.txt
@@ -0,0 +1,11 @@
+xrdb: xrdb
+xrdb:
+xrdb: xrdb is part of X11.
+xrdb:
+xrdb: For more information about the X.Org Foundation (the providers of the
+xrdb: X.Org implementation of the X Window System), see their website:
+xrdb:
+xrdb: http://www.x.org
+xrdb:
+xrdb:
+xrdb:
diff --git a/patches/packages/yasm-1.2.0-x86_64-1_slack13.0.txt b/patches/packages/yasm-1.2.0-x86_64-1_slack13.0.txt
new file mode 100644
index 00000000..3181e05f
--- /dev/null
+++ b/patches/packages/yasm-1.2.0-x86_64-1_slack13.0.txt
@@ -0,0 +1,11 @@
+yasm: yasm (complete rewrite of the NASM assembler)
+yasm:
+yasm: Yasm is a complete rewrite of the NASM assembler under the "new" BSD
+yasm: License (some portions are under other licenses, see COPYING for
+yasm: details). Yasm currently supports the x86 and AMD64 instruction sets,
+yasm: accepts NASM and GAS assembler syntaxes, outputs binary, ELF32, ELF64,
+yasm: 32 and 64-bit Mach-O, RDOFF2, COFF, Win32, and Win64 object formats,
+yasm: and generates source debugging information in STABS, DWARF 2, and
+yasm: CodeView 8 formats.
+yasm:
+yasm: yasm home: http://www.tortall.net/projects/yasm/
diff --git a/patches/source/MPlayer/MPlayer.SlackBuild b/patches/source/MPlayer/MPlayer.SlackBuild
new file mode 100755
index 00000000..ae64cb98
--- /dev/null
+++ b/patches/source/MPlayer/MPlayer.SlackBuild
@@ -0,0 +1,488 @@
+#!/bin/sh
+# $Id: MPlayer.SlackBuild,v 1.27 2012/07/01 13:07:08 root Exp root $
+# Copyright 2006, 2007, 2008, 2010, 2011, 2012 Eric Hameleers, Eindhoven, NL
+# Copyright 2013 Patrick J. Volkerding, Sebeka, MN, USA
+# All rights reserved.
+#
+# Permission to use, copy, modify, and distribute this software for
+# any purpose with or without fee is hereby granted, provided that
+# the above copyright notice and this permission notice appear in all
+# copies.
+#
+# THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
+# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+# IN NO EVENT SHALL THE AUTHORS AND COPYRIGHT HOLDERS AND THEIR
+# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
+# USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+# ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+# OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
+# OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+# SUCH DAMAGE.
+# -----------------------------------------------------------------------------
+#
+# Slackware SlackBuild script
+# ===========================
+# By: Eric Hameleers <alien@slackware.com>
+# For: MPlayer
+# Descr: a movie player for LINUX
+# URL: http://www.mplayerhq.hu/
+# Needs:
+# Changelog:
+# 1.0rc1-1: 05/Nov/2006 by Eric Hameleers <alien@slackware.com>
+# * Initial build.
+# 1.0rc1-2: 07/Nov/2006 by Eric Hameleers <alien@slackware.com>
+# * Removed MPlayer's internal libdvdcss code from the build, so
+# that MPlayer no longer plays encrypted DVD's by default (and the
+# package is now safe to upload to public repositories).
+# If it is allowed in your country, you can either install
+# libdvdcss (which is picked up automatically by MPlayer), or
+# rebuild MPlayer yourself using this SlackBuild - and set the
+# variable REMOVECSS="no" first (see further down).
+# Use this commandline if you can't or won't modify the script:
+# REMOVECSS="no" ./MPlayer.SlackBuild
+# 1.0rc1-3: 08/Nov/2006 by Eric Hameleers <alien@slackware.com>
+# * Install the mplayer.conf into correct location '/etc/mplayer/'
+# 1.0rc1-4: 15/mar/2007 by Eric Hameleers <alien@slackware.com>
+# * Differentiate between versions of X11 (modular X has another
+# install-prefix); update default skin; enable mplayer menu;
+# add security fix
+# 1.0rc1-5: 07/jun/2007 by Eric Hameleers <alien@slackware.com>
+# * Add security fix.
+# 1.0rc2-1: 09/oct/2007 by Eric Hameleers <alien@slackware.com>
+# * New version.
+# 1.0rc2-2: 01/feb/2008 by Eric Hameleers <alien@slackware.com>
+# * Apply 4 security fixes.
+# 1.0rc2-3: 10/mar/2008 by Eric Hameleers <alien@slackware.com>
+# * Apply a patch that allows compilation against the ivtv driver
+# in the 2.6.24.x kernels.
+# r28148-1: 14/dec/2008 by Eric Hameleers <alien@slackware.com>
+# * Build SVN snapshot - remove support for *all* patented or
+# questionable software if "USE_PATENTS" is set to "NO" - think
+# of DECSS dvd decryption code, and mp3/aac/amr audio encoders.
+# r28929-1: 10/mar/2009 by Eric Hameleers <alien@slackware.com>
+# * Update.
+# r29301-1: 12/may/2009 by Eric Hameleers <alien@slackware.com>
+# * Update.
+# r29301-1: 12/may/2009 by Eric Hameleers <alien@slackware.com>
+# * Update.
+# 20100926-1: 26/sep/2010 by Eric Hameleers <alien@slackware.com>
+# * Slackware has MPlayer now of course, but it does not hurt
+# to have a full-featured binary package available. The 1.0rc3
+# was released recently but I prefer to build a snapshot.
+# 20110624-1: 24/jun/2011 by Eric Hameleers <alien@slackware.com>
+# * Provide an up-to-date snapshot to be used in conjunction
+# with UMPlayer (a MPlayer GUI). New MPlayer source requires
+# a separate ffmpeg download.
+# 20120514-1: 14/may/2012 by volkerdi@slackware.com
+# * Update.
+# 1.1_20120701-1: 28/jun/2012 by alien@slackware.com
+# * Update to the 1.1 branch (essentially this is MPlayer-1.1 but
+# I like to check it out of SVN).
+# 1.1_20130819-1: 19/aug/2013 by volkerdi@slackware.com
+# * Update to the latest 1.1 branch, and the same ffmpeg that was
+# shipped with the 1.1.1 tarball. The official 1.1.1 release
+# did not start a new repo branch, so this is the latest.
+# 20150308-1: 09/mar/2015 by pprkut@slackware.com
+# * Update to latest version from trunk, together with ffmpeg 2.6,
+# which was released roughly around that date as well.
+# 20140403-1: 03/apr/2015 by volkerdi@slackware.com
+# * Update to latest version from trunk and ffmpeg-2.6.1.
+#
+# Run 'sh MPlayer.SlackBuild' to build a Slackware package.
+# The package (.txz) plus descriptive .txt file are created in /tmp .
+# Install using 'installpkg'.
+#
+# -----------------------------------------------------------------------------
+
+# Set initial variables:
+
+PRGNAM=MPlayer
+VERSION=${VERSION:-20160125}
+BRANCH=${BRANCH:-1.2} # leave empty if you want to build MPlayer trunk
+FFMPEG=${FFMPEG:-2.8.5}
+BUILD=${BUILD:-1_slack13.0}
+TAG=${TAG:-}
+NUMJOBS=${NUMJOBS:-" -j7 "}
+
+# Show the branch version in the package name if we build from a branch:
+[ -n "$BRANCH" ] && PKGVERSION=${BRANCH}_${VERSION} || PKGVERSION=${VERSION}
+
+DOCS="AUTHORS Changelog Copyright LICENSE README VERSION DOCS/HTML DOCS/tech"
+
+# MPlayer repository characteristics:
+MPURI="svn://svn.mplayerhq.hu/mplayer/"
+if [ -n "$BRANCH" ]; then
+ MPBRANCH="branches/$BRANCH"
+else
+ MPBRANCH="trunk"
+fi
+
+FFURI=git://git.videolan.org/ffmpeg.git
+
+DEFSKIN=${DEFSKIN:-"Blue"} # Download more skins at the following url:
+SKINVER=${SKINVER:-"1.11"} # http://www.mplayerhq.hu/design7/dload.html
+
+# Available languages: all cs de en es fr hu it pl ru zh_CN
+LANGUAGES="en,de,es,fr"
+
+# Automatically determine the architecture we're building on:
+MARCH=$( uname -m )
+if [ -z "$ARCH" ]; then
+ case "$MARCH" in
+ i?86) export ARCH=i486 ;;
+ armv7hl) export ARCH=$MARCH ;;
+ arm*) export ARCH=arm ;;
+ # Unless $ARCH is already set, use uname -m for all other archs:
+ *) export ARCH=$MARCH ;;
+ esac
+fi
+
+if [ "$ARCH" = "x86_64" ]; then
+ LIBDIRSUFFIX="64"
+ # --enable-runtime-cpudetection is supported only for x86, x86_64, and PPC
+ EXTRACONFIGUREOPTIONS="--enable-runtime-cpudetection"
+elif [ "$ARCH" = "i486" -o \
+ "$ARCH" = "i586" -o \
+ "$ARCH" = "i686" ]; then
+ LIBDIRSUFFIX=""
+ EXTRACONFIGUREOPTIONS="--enable-runtime-cpudetection"
+else
+ LIBDIRSUFFIX=""
+ EXTRACONFIGUREOPTIONS=""
+fi
+
+# Where the WIN32 codecs are expectedfor instance
+CODECSDIR=/usr/lib${LIBDIRSUFFIX}/codecs
+
+# ---------------------------------------------------------------------------
+# -- PATENT ALERT! --
+# MPLayer can be built with MP3 (lame) and AMR audio encoders
+# (needed for FLV and .3GP videos) but these libraries are 'contaminated'
+# with patents from Fraunhofer and GGP.
+# Also, the AAC encoder has patent issues.
+# You can build these patended algorithms into ffmpeg, and if you are an
+# ordinary end user, no one will bother you for using them.
+# For the binaries based on this SlackBuild that I distribute, it is a
+# different story. I am not allowed to distribute binary packages that
+# incorporate patented code. So here you go. My Slackware package was
+# built with "USE_PATENTS=NO" i.e. without using
+# the lame mp3, faac, AMR and dvdcss libraries.
+# ---------------------------------------------------------------------------
+USE_PATENTS=${USE_PATENTS:-"NO"}
+
+# MPlayer will try to use one of the TrueType fonts present on the target
+# system for it's On Screen Display (OSD) font.
+# Slackware 11.0 ships with the Vera and DejaVu fonts, you may want to add
+# more fonts to this list. The first font found will be used by creating a
+# symbolic link "/usr/share/mplayer/subfont.ttf" to it.
+# The use of bitmapped fonts is considered deprecated, but you can still use
+# those if you want. Read http://www.mplayerhq.hu/DOCS/HTML/en/fonts-osd.html
+# if you want to know more about OSD font configuration.
+OSDFONTS="LiberationSans-Regular.ttf \
+ Arialuni.ttf arial.ttf \
+ DejaVuSans.ttf Vera.ttf"
+
+# Where do we look for sources?
+SRCDIR=$(cd $(dirname $0); pwd)
+
+SOURCE[0]="$SRCDIR/${PRGNAM}-${VERSION}.tar.xz"
+SRCURL[0]=""
+
+# The default skin to use (we need to add at least one)
+SOURCE[1]="$SRCDIR/${DEFSKIN}-${SKINVER}.tar.bz2"
+SRCURL[1]="http://www.mplayerhq.hu/MPlayer/skins/${DEFSKIN}-${SKINVER}.tar.bz2"
+
+# Ffmpeg needs to be checked out separately now:
+SOURCE[2]="$SRCDIR/ffmpeg-${FFMPEG}.tar.xz"
+SRCURL[2]=""
+
+# Use the src_checkout() function if no downloadable tarball exists.
+# This function checks out sources from SVN/CVS and creates a tarball of them.
+src_checkout() {
+ # Param #1 : index in the SOURCE[] array.
+ # Param #2 : full path to where SOURCE[$1] tarball should be created.
+ # Determine the tarball extension:
+ PEXT=$(echo "${2}" | sed -r -e 's/.*[^.].(tar.xz|tar.gz|tar.bz2|tgz).*/\1/')
+ case "$PEXT" in
+ "tar.xz") TARCOMP="J" ;;
+ "tar.gz") TARCOMP="z" ;;
+ "tgz") TARCOMP="z" ;;
+ "tar.bz2") TARCOMP="j" ;;
+ *) echo "Archive can only have extension 'tar.xz', '.tar.gz' '.tar.bz2' or '.tgz'" ; exit 1 ;;
+ esac
+ case ${1} in
+ 0) # mplayer
+ if [ "$(echo ${VERSION}|cut -c1)" == 'r' ]; then # revision instead of date
+ echo "Only supported VERSION is a date - yyyymmdd - or 'HEAD'"
+ else
+ REV="{${VERSION}}"
+ fi
+ mkdir MPlayer-${VERSION} \
+ && cd MPlayer-${VERSION} \
+ && svn checkout --revision $REV ${MPURI}/${MPBRANCH} . \
+ && svn propget svn:externals | sed -e 's/[[:space:]].*$//g' | xargs svn up --revision $REV \
+ && chown -R root:root . \
+ && cd .. \
+ && tar --exclude-vcs -${TARCOMP}cf ${2} MPlayer-${VERSION}
+ rm -rf MPlayer-${VERSION}
+ ;;
+ 2) # ffmpeg-${FFMPEG}
+ mkdir ffmpeg_temp_checkout_$$ \
+ && cd ffmpeg_temp_checkout_$$
+ echo "Checking out tag n$FFMPEG from '$FFURI':"
+ git clone ${FFURI} ffmpeg \
+ && cd ffmpeg \
+ && git checkout n$FFMPEG \
+ && cd ..
+ chown -R root:root . \
+ && tar --exclude-vcs -${TARCOMP}cf ${2} ffmpeg
+ cd ..
+ rm -rf ffmpeg_temp_checkout_$$
+ ;;
+ *) # Do nothing
+ ;;
+ esac
+}
+
+# Place to build (TMP) package (PKG) and output (OUTPUT) the program:
+TMP=${TMP:-/tmp/build}
+PKG=$TMP/package-$PRGNAM
+OUTPUT=${OUTPUT:-/tmp}
+
+##
+## --- with a little luck, you won't have to edit below this point --- ##
+##
+
+# Exit the script on errors:
+set -e
+trap 'echo "$0 FAILED at line $LINENO!" | tee $OUTPUT/error-${PRGNAM}.log' ERR
+# Catch unitialized variables:
+set -u
+P1=${1:-1}
+
+# Create working directories:
+mkdir -p $TMP/tmp-$PRGNAM # location to build the source
+rm -rf $TMP/tmp-$PRGNAM/* # remove the remnants of previous build
+mkdir -p $PKG # place for the package to be built
+rm -rf $PKG/* # erase old package's contents
+mkdir -p $OUTPUT # place for the package to be saved
+
+# Source file availability:
+for (( i = 0; i < ${#SOURCE[*]}; i++ )) ; do
+ if ! [ -f ${SOURCE[$i]} ]; then
+ echo "Source '$(basename ${SOURCE[$i]})' not available yet..."
+ # Check if the $SRCDIR is writable at all - if not, download to $OUTPUT
+ [ -w "$SRCDIR" ] || SOURCE[$i]="$OUTPUT/$(basename ${SOURCE[$i]})"
+ if ! [ "x${SRCURL[$i]}" == "x" ]; then
+ echo "Will download file to $(dirname $SOURCE[$i])"
+ wget -nv -T 20 -O "${SOURCE[$i]}" "${SRCURL[$i]}" || true
+ if [ $? -ne 0 -o ! -s "${SOURCE[$i]}" ]; then
+ echo "Downloading '$(basename ${SOURCE[$i]})' failed.. aborting the build."
+ mv -f "${SOURCE[$i]}" "${SOURCE[$i]}".FAIL
+ exit 1
+ fi
+ else
+ # Try if we have a SVN/CVS download routine for ${SOURCE[$i]}
+ echo "Will checkout sources to $(dirname $SOURCE[$i])"
+ src_checkout $i "${SOURCE[$i]}" 2>&1 > $OUTPUT/checkout-$(basename ${SOURCE[$i]}).log
+ fi
+ if [ ! -f "${SOURCE[$i]}" -o ! -s "${SOURCE[$i]}" ]; then
+ echo "File '$(basename ${SOURCE[$i]})' not available.. aborting the build."
+ exit 1
+ fi
+ fi
+done
+
+if [ "$P1" == "--download" ]; then
+ echo "Download complete."
+ exit 0
+fi
+
+# --- PACKAGE BUILDING ---
+
+echo "++"
+echo "|| $PRGNAM-$VERSION"
+echo "++"
+
+cd $TMP/tmp-$PRGNAM
+echo "Extracting the source archive(s) for $PRGNAM..."
+tar -xvf ${SOURCE[0]}
+
+cd ${PRGNAM}-${VERSION}
+ # remove MPlayer's copy of libswscale
+ rm -rf ffmpeg
+
+ # Extract the ffmpeg source inside the MPlayer directory:
+ tar -xvf ${SOURCE[2]}
+
+ # in case we build with an official tarball
+ if [ -e "ffmpeg-$FFMPEG" ]; then
+ mv "ffmpeg-$FFMPEG" ffmpeg
+ fi
+
+cd ..
+
+chown -R root:root *
+chmod -R u+w,go+r-w,a+X-s *
+cd ${PRGNAM}-${VERSION}
+
+# Determine what X we're running (the modular X returns the prefix
+# in the next command, while older versions stay silent):
+XPREF=$(pkg-config --variable=prefix x11) || true
+[ "$XPREF" == "" ] && XPREF='/usr/X11R6'
+
+# Remove support for patent encumbered and possibly illegal code:
+if [ "$USE_PATENTS" != "YES" ]; then
+ DO_PATENTED="--disable-mp3lame --disable-mp3lame-lavc \
+ --disable-libopencore_amrnb \
+ --disable-libopencore_amrwb"
+else
+ DO_PATENTED=""
+fi
+
+echo Building ...
+# MPlayer wants to automatically determine compiler flags,
+# so we don't provide CFLAGS.
+./configure \
+ --prefix=/usr \
+ --mandir=/usr/man \
+ --confdir=/etc/mplayer \
+ --enable-gui \
+ --enable-menu \
+ --disable-arts \
+ --disable-bitmap-font \
+ --codecsdir=${CODECSDIR} \
+ --language="${LANGUAGES}" \
+ ${EXTRACONFIGUREOPTIONS} \
+ ${DO_PATENTED} \
+ 2>&1 | tee $OUTPUT/configure-${PRGNAM}.log
+# So that MPlayer does not report "UNKNOWN" as it's version:
+if [ ! -f VERSION ]; then
+ echo $VERSION > VERSION
+fi
+make $NUMJOBS 2>&1 | tee $OUTPUT/make-${PRGNAM}.log
+make DESTDIR=$PKG install 2>&1 |tee $OUTPUT/install-${PRGNAM}.log
+
+# Build the html documentation (not all languages are available):
+if [ "$LANGUAGES" = "all" ]; then
+ # make html-chunked
+ make html-single
+else
+ for i in $(echo $LANGUAGES | tr , ' ') ; do
+ # make html-chunked-$i ;
+ make html-single-$i ;
+ done
+fi
+
+# Prepare the configfile:
+mkdir -p $PKG/etc/mplayer
+cp etc/example.conf $PKG/etc/mplayer/mplayer.conf.new
+
+# Install our default skin:
+cd $PKG/usr/share/mplayer/skins
+tar -xvf ${SOURCE[1]}
+chown -R root:root *
+chmod -R u+w,go+r-w,a+X-s *
+ln -s ${DEFSKIN} default
+cd -
+
+# Add this to the doinst.sh:
+mkdir -p $PKG/install
+cat <<EOINS >> $PKG/install/doinst.sh
+# Handle the incoming configuration files:
+config() {
+ for infile in \$1; do
+ NEW="\$infile"
+ OLD="\`dirname \$NEW\`/\`basename \$NEW .new\`"
+ # If there's no config file by that name, mv it over:
+ if [ ! -r \$OLD ]; then
+ mv \$NEW \$OLD
+ elif [ "\`cat \$OLD | md5sum\`" = "\`cat \$NEW | md5sum\`" ]; then
+ # toss the redundant copy
+ rm \$NEW
+ fi
+ # Otherwise, we leave the .new copy for the admin to consider...
+ done
+}
+
+# Installing a bitmap font is considered deprecated; use a TTF font instead.
+# We try to link to an installed TTF font at install time.
+# Configure a default TrueType font to use for the OSD :
+if [ ! -f usr/share/mplayer/subfont.ttf ]; then
+ for font in ${OSDFONTS}; do
+ if [ -f .${XPREF}/lib${LIBDIRSUFFIX}/X11/fonts/TTF/\${font} ]; then
+ ( cd usr/share/mplayer/
+ ln -sf ${XPREF}/lib${LIBDIRSUFFIX}/X11/fonts/TTF/\${font} subfont.ttf
+ )
+ break
+ fi
+ done
+fi
+
+# Prepare the new configuration file
+config etc/mplayer/mplayer.conf.new
+
+# Update the desktop database:
+if [ -x usr/bin/update-desktop-database ]; then
+ chroot . /usr/bin/update-desktop-database usr/share/applications 1> /dev/null 2> /dev/null
+fi
+
+# Update hicolor theme cache:
+if [ -e usr/share/icons/hicolor/icon-theme.cache ]; then
+ if [ -x usr/bin/gtk-update-icon-cache ]; then
+ chroot . /usr/bin/gtk-update-icon-cache /usr/share/icons/hicolor >/dev/null 2>&1
+ fi
+fi
+
+# Update the mime database:
+if [ -x usr/bin/update-mime-database ]; then
+ chroot . /usr/bin/update-mime-database usr/share/mime >/dev/null 2>&1
+fi
+
+EOINS
+
+# Add documentation:
+mkdir -p $PKG/usr/doc/$PRGNAM-$PKGVERSION
+cp -a $DOCS $PKG/usr/doc/$PRGNAM-$PKGVERSION || true
+cp -a $SRCDIR/$(basename $0) $PKG/usr/doc/$PRGNAM-$PKGVERSION/$PRGNAM.SlackBuild
+mv $PKG/usr/doc/$PRGNAM-$PKGVERSION/HTML $PKG/usr/doc/$PRGNAM-$PKGVERSION/html
+# Save a sample of all configuration files:
+for i in etc/*.conf ; do
+ cp $i $PKG/usr/doc/$PRGNAM-$PKGVERSION/$(basename $i)-sample
+done
+# Save a transcript of all configured options for this specific build:
+if [ -n $OUTPUT/configure-${PRGNAM}.log ]; then
+ cat $OUTPUT/configure-${PRGNAM}.log \
+ | sed -n "/^Config files successfully generated/,/^'config.h' and 'config.mak' contain your configuration options./p" \
+ > $PKG/usr/doc/$PRGNAM-$PKGVERSION/${PRGNAM}.configuration
+fi
+find $PKG/usr/doc -type f -exec chmod 644 {} \;
+
+# Compress the man page(s):
+if [ -d $PKG/usr/man ]; then
+ find $PKG/usr/man -type f -name "*.?" -exec gzip -9f {} \;
+ for i in $(find $PKG/usr/man -type l -name "*.?") ; do ln -s $( readlink $i ).gz $i.gz ; rm $i ; done
+fi
+
+# Strip binaries:
+( find $PKG | xargs file | grep -e "executable" -e "shared object" \
+ | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null )
+
+# Add a package description:
+mkdir -p $PKG/install
+cat $SRCDIR/slack-desc > $PKG/install/slack-desc
+if [ -f $SRCDIR/doinst.sh ]; then
+ cat $SRCDIR/doinst.sh >> $PKG/install/doinst.sh
+fi
+
+# Build the package:
+cd $PKG
+makepkg --linkadd y --chown n $OUTPUT/${PRGNAM}-${PKGVERSION}-${ARCH}-${BUILD}${TAG}.txz 2>&1 | tee $OUTPUT/makepkg-${PRGNAM}.log
+cd $OUTPUT
+md5sum ${PRGNAM}-${PKGVERSION}-${ARCH}-${BUILD}${TAG}.txz > ${PRGNAM}-${PKGVERSION}-${ARCH}-${BUILD}${TAG}.txz.md5
+cd -
+cat $PKG/install/slack-desc | grep "^${PRGNAM}" > $OUTPUT/${PRGNAM}-${PKGVERSION}-${ARCH}-${BUILD}${TAG}.txt
+
diff --git a/patches/source/MPlayer/slack-desc b/patches/source/MPlayer/slack-desc
new file mode 100644
index 00000000..033b4170
--- /dev/null
+++ b/patches/source/MPlayer/slack-desc
@@ -0,0 +1,20 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|'
+# on the right side marks the last column you can put a character in. You must
+# make exactly 11 lines for the formatting to be correct. It's also
+# customary to leave one space after the ':'.
+
+ |-----handy-ruler------------------------------------------------------|
+MPlayer: MPlayer (Linux movie player)
+MPlayer:
+MPlayer: MPlayer is a movie player for Linux. It plays most MPEG, VOB, AVI,
+MPlayer: Ogg/OGM, VIVO, ASF/WMA/WMV, QT/MOV/MP4, FLI, RM, NuppelVideo,
+MPlayer: YUV4MPEG, FILM, RoQ, PVA files, supported by many native, XAnim,
+MPlayer: and Win32 DLL codecs. You can watch VideoCD, SVCD, DVD, 3ivx,
+MPlayer: DivX 3/4/5 and even WMV movies, too (without the avifile library).
+MPlayer: MPlayer supports 10 types of subtitles formats: VobSub,
+MPlayer: MicroDVD, SubRip, SubViewer, Sami, VPlayer, RT, SSA, AQTitle, MPsub.
+MPlayer:
+MPlayer: Homepage for MPLayer is http://www.mplayerhq.hu/
+
diff --git a/patches/source/acl/acl.SlackBuild b/patches/source/acl/acl.SlackBuild
new file mode 100755
index 00000000..3b230268
--- /dev/null
+++ b/patches/source/acl/acl.SlackBuild
@@ -0,0 +1,120 @@
+#!/bin/sh
+
+# Copyright 2005-2011 Patrick J. Volkerding, Sebeka, Minnesota, USA
+# All rights reserved.
+#
+# Redistribution and use of this script, with or without modification, is
+# permitted provided that the following conditions are met:
+#
+# 1. Redistributions of this script must retain the above copyright
+# notice, this list of conditions and the following disclaimer.
+#
+# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED
+# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
+# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
+# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+PKGNAM=acl
+VERSION=2.2.50
+BUILD=${BUILD:-1_slack13.0}
+
+# Automatically determine the architecture we're building on:
+if [ -z "$ARCH" ]; then
+ case "$( uname -m )" in
+ i?86) export ARCH=i486 ;;
+ arm*) export ARCH=arm ;;
+ # Unless $ARCH is already set, use uname -m for all other archs:
+ *) export ARCH=$( uname -m ) ;;
+ esac
+fi
+
+CWD=$(pwd)
+TMP=${TMP:-/tmp}
+PKG=$TMP/package-acl
+
+if [ "$ARCH" = "x86_64" ]; then
+ LIBDIRSUFFIX="64"
+else
+ LIBDIRSUFFIX=""
+fi
+
+rm -rf $PKG
+mkdir -p $TMP $PKG
+
+cd $TMP
+
+rm -rf acl-$(echo $VERSION | cut -f 1 -d '-')
+tar xzvf $CWD/acl-$VERSION.src.tar.gz || exit 1
+cd acl-$(echo $VERSION | cut -f 1 -d '-') || exit 1
+
+chown -R root:root .
+find . \
+ \( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \
+ -exec chmod 755 {} \; -o \
+ \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \
+ -exec chmod 644 {} \;
+
+# Add DESTDIR support and improve docs install location:
+zcat $CWD/acl.destdir.diff.gz | patch -p1 --verbose --backup --suffix=.orig || exit
+
+# Make sure you have the same version of autoconf as the
+# developers did... ;-)
+autoconf
+
+./configure \
+ --prefix=/ \
+ --exec-prefix=/ \
+ --sbindir=/bin \
+ --bindir=/usr/bin \
+ --libdir=/lib${LIBDIRSUFFIX} \
+ --libexecdir=/usr/lib${LIBDIRSUFFIX} \
+ --includedir=/usr/include \
+ --mandir=/usr/man \
+ --datadir=/usr/share
+
+make || exit 1
+make install DESTDIR=$PKG
+make install-dev DESTDIR=$PKG
+make install-lib DESTDIR=$PKG
+
+mv $PKG/usr/share/doc $PKG/usr
+( cd $PKG/usr/doc ; mv acl acl-$VERSION )
+#It would be nice to keep the same timestamps that the files have in the source:
+cp -a \
+ README doc/COPYING* doc/PORTING \
+ $PKG/usr/doc/acl-$VERSION
+
+( cd $PKG
+ find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
+ find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
+)
+strip -g $PKG/usr/lib${LIBDIRSUFFIX}/*.a
+
+# Remove bogus files:
+rm -f $PKG/lib${LIBDIRSUFFIX}/*.a $PKG/lib${LIBDIRSUFFIX}/libacl.so $PKG/lib${LIBDIRSUFFIX}/*.la $PKG/usr/lib${LIBDIRSUFFIX}/*.la
+# Make /usr/lib${LIBDIRSUFFIX}/libacl.so a symlink to /lib${LIBDIRSUFFIX}:
+( cd $PKG/usr/lib${LIBDIRSUFFIX}
+ rm -f libacl.so
+ ln -sf /lib${LIBDIRSUFFIX}/libacl.so.1 libacl.so
+)
+# Fix shared library perms:
+chmod 755 $PKG/lib${LIBDIRSUFFIX}/*
+
+# Gzip the man pages:
+( cd $PKG/usr/man
+ for i in `find . -type l` ; do ln -s $( readlink $i ).gz $i.gz ; rm $i ; done
+ gzip -9 */*.?
+)
+
+mkdir -p $PKG/install
+cat $CWD/slack-desc > $PKG/install/slack-desc
+
+cd $PKG
+makepkg -l y -c n $TMP/acl-$(echo $VERSION | tr - _ )-$ARCH-$BUILD.txz
+
diff --git a/patches/source/acl/acl.destdir.diff b/patches/source/acl/acl.destdir.diff
new file mode 100644
index 00000000..aa4b42e8
--- /dev/null
+++ b/patches/source/acl/acl.destdir.diff
@@ -0,0 +1,36 @@
+--- ./include/builddefs.in.orig 2011-04-08 11:55:52.000000000 -0500
++++ ./include/builddefs.in 2011-04-18 13:41:25.000000000 -0500
+@@ -28,14 +28,14 @@
+ PKG_VERSION = @pkg_version@
+ PKG_PLATFORM = @pkg_platform@
+ PKG_DISTRIBUTION= @pkg_distribution@
+-PKG_BIN_DIR = @bindir@
+-PKG_SBIN_DIR = @sbindir@
+-PKG_LIB_DIR = @libdir@@libdirsuffix@
+-PKG_DEVLIB_DIR = @libexecdir@@libdirsuffix@
+-PKG_INC_DIR = @includedir@
+-PKG_MAN_DIR = @mandir@
+-PKG_DOC_DIR = @datadir@/doc/@pkg_name@
+-PKG_LOCALE_DIR = @datadir@/locale
++PKG_BIN_DIR = $(DESTDIR)@bindir@
++PKG_SBIN_DIR = $(DESTDIR)@sbindir@
++PKG_LIB_DIR = $(DESTDIR)@libdir@@libdirsuffix@
++PKG_DEVLIB_DIR = $(DESTDIR)@libexecdir@@libdirsuffix@
++PKG_INC_DIR = $(DESTDIR)@includedir@
++PKG_MAN_DIR = $(DESTDIR)@mandir@
++PKG_DOC_DIR = $(DESTDIR)@datadir@/doc/@pkg_name@
++PKG_LOCALE_DIR = $(DESTDIR)@datadir@/locale
+
+ CC = @cc@
+ AWK = @awk@
+--- ./include/buildmacros.orig 2011-04-08 11:55:52.000000000 -0500
++++ ./include/buildmacros 2011-04-18 13:41:54.000000000 -0500
+@@ -40,7 +40,7 @@
+ $(LFILES:.l=.o) \
+ $(YFILES:%.y=%.tab.o)
+
+-INSTALL = $(TOPDIR)/include/install-sh -o $(PKG_USER) -g $(PKG_GROUP)
++INSTALL = $(TOPDIR)/include/install-sh
+
+ SHELL = /bin/sh
+ IMAGES_DIR = $(TOPDIR)/all-images
diff --git a/patches/source/acl/slack-desc b/patches/source/acl/slack-desc
new file mode 100644
index 00000000..93484df3
--- /dev/null
+++ b/patches/source/acl/slack-desc
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|' on
+# the right side marks the last column you can put a character in. You must make
+# exactly 11 lines for the formatting to be correct. It's also customary to
+# leave one space after the ':'.
+
+ |-----handy-ruler------------------------------------------------------|
+acl: acl (tools for using POSIX Access Control Lists)
+acl:
+acl: This package contains a set of tools and libraries for manipulating
+acl: POSIX Access Control Lists. POSIX Access Control Lists (defined in
+acl: POSIX 1003.1e draft standard 17) are used to define more fine-grained
+acl: discretionary access rights for files and directories.
+acl:
+acl:
+acl:
+acl: Homepage: http://savannah.nongnu.org/projects/acl
+acl:
diff --git a/patches/source/apr-util/apr-util.SlackBuild b/patches/source/apr-util/apr-util.SlackBuild
new file mode 100755
index 00000000..b0ca944b
--- /dev/null
+++ b/patches/source/apr-util/apr-util.SlackBuild
@@ -0,0 +1,112 @@
+#!/bin/sh
+
+# Copyright 2008, 2009, 2011 Patrick J. Volkerding, Sebeka, Minnesota, USA
+# All rights reserved.
+#
+# Redistribution and use of this script, with or without modification, is
+# permitted provided that the following conditions are met:
+#
+# 1. Redistributions of this script must retain the above copyright
+# notice, this list of conditions and the following disclaimer.
+#
+# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED
+# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
+# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
+# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+VERSION=${VERSION:-$(echo apr-util-*.tar.bz2 | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
+BUILD=${BUILD:-1_slack13.0}
+
+# Automatically determine the architecture we're building on:
+if [ -z "$ARCH" ]; then
+ case "$( uname -m )" in
+ i?86) export ARCH=i486 ;;
+ arm*) export ARCH=arm ;;
+ # Unless $ARCH is already set, use uname -m for all other archs:
+ *) export ARCH=$( uname -m ) ;;
+ esac
+fi
+
+if [ "$ARCH" = "i486" ]; then
+ SLKCFLAGS="-O2 -march=i486 -mtune=i686"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "s390" ]; then
+ SLKCFLAGS="-O2"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "x86_64" ]; then
+ SLKCFLAGS="-O2 -fPIC"
+ LIBDIRSUFFIX="64"
+fi
+
+CWD=$(pwd)
+TMP=${TMP:-/tmp}
+PKG=$TMP/package-apr-util
+
+rm -rf $PKG
+mkdir -p $TMP $PKG
+NUMJOBS=${NUMJOBS:-" -j7 "}
+
+cd $TMP
+rm -rf apr-util-$VERSION
+tar xvf $CWD/apr-util-$VERSION.tar.bz2 || exit 1
+cd apr-util-$VERSION
+
+# For now, this isn't working with svn (here, anyway) and is probably
+# more trouble than it's worth. Could be a grey area in regards to
+# licensing, too -- the Apache people say it's fine for third parties
+# to link this and distribute the result, but there are usually some
+# differing opinions when it comes to this sort of thing...
+#( cd dbd ; lftpget http://apache.webthing.com/svn/apache/apr/apr_dbd_mysql.c )
+# --with-mysql=/usr \
+#
+
+chown -R root:root .
+find . \
+ \( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \
+ -exec chmod 755 {} \; -o \
+ \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \
+ -exec chmod 644 {} \;
+
+CFLAGS="$SLKCFLAGS" \
+./configure \
+ --prefix=/usr \
+ --libdir=/usr/lib${LIBDIRSUFFIX} \
+ --with-apr=/usr \
+ --with-dbm=db44 \
+ --with-berkeley-db \
+ --disable-util-dso \
+ --without-gdbm \
+ --with-ldap \
+ --disable-static \
+ --without-sqlite2 \
+ $ARCH-slackware-linux
+
+make $NUMJOBS || make || exit 1
+make dox || exit 1
+make install DESTDIR=$PKG
+
+find $PKG | xargs file | grep -e "executable" -e "shared object" \
+ | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
+
+mkdir -p $PKG/usr/doc/apr-util-$VERSION
+cp -a \
+ CHANGES INSTALL.MySQL LICENSE NOTICE \
+ $PKG/usr/doc/apr-util-$VERSION
+
+# This just seems like way too much stuff...
+#mv docs/dox/html $PKG/usr/doc/apr-util-$VERSION
+
+mkdir -p $PKG/install
+cat $CWD/slack-desc > $PKG/install/slack-desc
+
+# Build the package:
+cd $PKG
+/sbin/makepkg -l y -c n $TMP/apr-util-$VERSION-$ARCH-$BUILD.txz
+
diff --git a/patches/source/apr-util/slack-desc b/patches/source/apr-util/slack-desc
new file mode 100644
index 00000000..cec19063
--- /dev/null
+++ b/patches/source/apr-util/slack-desc
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|'
+# on the right side marks the last column you can put a character in. You must
+# make exactly 11 lines for the formatting to be correct. It's also
+# customary to leave one space after the ':'.
+
+ |-----handy-ruler------------------------------------------------------|
+apr-util: apr-util (Apache Portable Runtime utilities)
+apr-util:
+apr-util: The mission of the Apache Portable Runtime (APR) is to provide a
+apr-util: free library of C data structures and routines, forming a system
+apr-util: portability layer to as many operating systems as possible.
+apr-util:
+apr-util: This package contains additional utility interfaces for APR;
+apr-util: including support for XML, LDAP, database interfaces, URI parsing,
+apr-util: and more.
+apr-util:
+apr-util:
diff --git a/patches/source/apr/apr.SlackBuild b/patches/source/apr/apr.SlackBuild
new file mode 100755
index 00000000..f1f01ded
--- /dev/null
+++ b/patches/source/apr/apr.SlackBuild
@@ -0,0 +1,98 @@
+#!/bin/sh
+
+# Copyright 2008, 2009, 2010, 2011 Patrick J. Volkerding, Sebeka, Minnesota, USA
+# All rights reserved.
+#
+# Redistribution and use of this script, with or without modification, is
+# permitted provided that the following conditions are met:
+#
+# 1. Redistributions of this script must retain the above copyright
+# notice, this list of conditions and the following disclaimer.
+#
+# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED
+# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
+# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
+# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+VERSION=${VERSION:-$(echo apr-*.tar.bz2 | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
+BUILD=${BUILD:-1_slack13.0}
+
+# Automatically determine the architecture we're building on:
+if [ -z "$ARCH" ]; then
+ case "$( uname -m )" in
+ i?86) export ARCH=i486 ;;
+ arm*) export ARCH=arm ;;
+ # Unless $ARCH is already set, use uname -m for all other archs:
+ *) export ARCH=$( uname -m ) ;;
+ esac
+fi
+
+if [ "$ARCH" = "i486" ]; then
+ SLKCFLAGS="-O2 -march=i486 -mtune=i686"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "s390" ]; then
+ SLKCFLAGS="-O2"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "x86_64" ]; then
+ SLKCFLAGS="-O2 -fPIC"
+ LIBDIRSUFFIX="64"
+fi
+
+CWD=$(pwd)
+TMP=${TMP:-/tmp}
+PKG=$TMP/package-apr
+NUMJOBS=${NUMJOBS:-" -j7 "}
+
+rm -rf $PKG
+mkdir -p $TMP $PKG
+
+cd $TMP
+rm -rf apr-$VERSION
+tar xvf $CWD/apr-$VERSION.tar.bz2 || exit 1
+cd apr-$VERSION
+
+chown -R root:root .
+find . \
+ \( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \
+ -exec chmod 755 {} \; -o \
+ \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \
+ -exec chmod 644 {} \;
+
+CFLAGS="$SLKCFLAGS" \
+./configure \
+ --prefix=/usr \
+ --libdir=/usr/lib${LIBDIRSUFFIX} \
+ --with-installbuilddir=/usr/lib${LIBDIRSUFFIX}/apr-${VERSION}/build-1 \
+ --disable-static \
+ --with-devrandom=/dev/urandom \
+ $ARCH-slackware-linux
+
+make $NUMJOBS || make || exit 1
+make dox || exit 1
+make install DESTDIR=$PKG || exit 1
+
+find $PKG | xargs file | grep -e "executable" -e "shared object" \
+ | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
+
+mkdir -p $PKG/usr/doc/apr-$VERSION
+cp -a \
+ CHANGES LICENSE NOTICE README.dev \
+ $PKG/usr/doc/apr-$VERSION
+
+# This just seems like way too much stuff...
+#mv docs/dox/html $PKG/usr/doc/apr-$VERSION
+
+mkdir -p $PKG/install
+cat $CWD/slack-desc > $PKG/install/slack-desc
+
+# Build the package:
+cd $PKG
+/sbin/makepkg -l y -c n $TMP/apr-$VERSION-$ARCH-$BUILD.txz
+
diff --git a/patches/source/apr/slack-desc b/patches/source/apr/slack-desc
new file mode 100644
index 00000000..2e52660d
--- /dev/null
+++ b/patches/source/apr/slack-desc
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|'
+# on the right side marks the last column you can put a character in. You must
+# make exactly 11 lines for the formatting to be correct. It's also
+# customary to leave one space after the ':'.
+
+ |-----handy-ruler------------------------------------------------------|
+apr: apr (Apache Portable Runtime)
+apr:
+apr: The mission of the Apache Portable Runtime (APR) is to provide a
+apr: free library of C data structures and routines, forming a system
+apr: portability layer to as many operating systems as possible.
+apr:
+apr:
+apr:
+apr:
+apr:
+apr:
diff --git a/patches/source/bash/bash.SlackBuild b/patches/source/bash/bash.SlackBuild
new file mode 100755
index 00000000..11a1820c
--- /dev/null
+++ b/patches/source/bash/bash.SlackBuild
@@ -0,0 +1,107 @@
+#!/bin/sh
+
+# Copyright 2005-2014 Patrick J. Volkerding, Sebeka, Minnesota, USA
+# All rights reserved.
+#
+# Redistribution and use of this script, with or without modification, is
+# permitted provided that the following conditions are met:
+#
+# 1. Redistributions of this script must retain the above copyright
+# notice, this list of conditions and the following disclaimer.
+#
+# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED
+# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
+# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
+# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+VERSION=3.1
+BUILD=${BUILD:-1_slack13.0}
+
+# Automatically determine the architecture we're building on:
+if [ -z "$ARCH" ]; then
+ case "$(uname -m)" in
+ i?86) ARCH=i486 ;;
+ arm*) readelf /usr/bin/file -A | egrep -q "Tag_CPU.*[4,5]" && ARCH=arm || ARCH=armv7lh ;;
+ # Unless $ARCH is already set, use uname -m for all other archs:
+ *) ARCH=$(uname -m) ;;
+ esac
+ export ARCH
+fi
+
+CWD=$(pwd)
+TMP=${TMP:-/tmp}
+PKG=$TMP/package-bash
+
+if [ "$ARCH" = "i386" ]; then
+ SLKCFLAGS="-O2 -march=i386 -mcpu=i686"
+elif [ "$ARCH" = "i486" ]; then
+ SLKCFLAGS="-O2 -march=i486 -mtune=i686"
+elif [ "$ARCH" = "s390" ]; then
+ SLKCFLAGS="-O2"
+elif [ "$ARCH" = "x86_64" ]; then
+ SLKCFLAGS="-O2 -fPIC"
+fi
+
+rm -rf $PKG
+mkdir -p $TMP $PKG
+
+# Determine bash patchlevel:
+PATCHLEVEL=`( cd $CWD/patches ; /bin/ls *gz | tail -1 | cut -f 2 -d - | cut -f 1 -d . 2> /dev/null )`
+if [ "$PATCHLEVEL" = "" ]; then
+ PATCHLEVEL=0
+fi
+
+cd $TMP
+rm -rf bash-$VERSION
+tar xzvf $CWD/bash-$VERSION.tar.gz || exit 1
+cd bash-$VERSION
+chown -R root:root .
+find . \
+ \( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \
+ -exec chmod 755 {} \; -o \
+ \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \
+ -exec chmod 644 {} \;
+
+for patch in $CWD/patches/bash*gz ; do
+ zcat $patch | patch -p0 --verbose || exit 1
+done
+CFLAGS="$SLKCFLAGS" \
+./configure --prefix=/usr $ARCH-slackware-linux
+make -j3 || exit 1
+make install DESTDIR=$PKG
+mkdir -p $PKG/bin
+mv $PKG/usr/bin/bash $PKG/bin/bash2.new
+strip --strip-unneeded $PKG/bin/bash2.new
+# We don't include the "bashbug" script.
+rm -rf $PKG/usr/bin $PKG/usr/man/man1/bashbug.1
+gzip -9 $PKG/usr/man/man1/*
+mkdir -p $PKG/usr/doc/bash-$VERSION
+cp -a AUTHORS CHANGES COMPAT COPYING INSTALL MANIFEST NEWS NOTES \
+ README Y2K doc/FAQ doc/INTRO $PKG/usr/doc/bash-$VERSION
+cd doc
+groff -ms -Tascii article.ms > $PKG/usr/doc/bash-$VERSION/article.txt
+# bash.1 is already installed by "make install"
+for page in builtins.1 rbash.1 ; do
+ cat $page | gzip -9c > $PKG/usr/man/man1/$page.gz
+done
+rm -f $PKG/usr/info/dir
+gzip -9 $PKG/usr/info/*
+mkdir -p $PKG/install
+zcat $CWD/doinst.sh.gz > $PKG/install/doinst.sh
+cat $CWD/slack-desc > $PKG/install/slack-desc
+
+# Build the package:
+cd $PKG
+makepkg -l y -c n $TMP/bash-$VERSION.$PATCHLEVEL-$ARCH-$BUILD.txz
+
+# Clean up the extra stuff:
+if [ "$1" = "--cleanup" ]; then
+ rm -rf $TMP/bash-$VERSION
+ rm -rf $PKG
+fi
diff --git a/patches/source/bash/doinst.sh b/patches/source/bash/doinst.sh
new file mode 100644
index 00000000..21760838
--- /dev/null
+++ b/patches/source/bash/doinst.sh
@@ -0,0 +1,18 @@
+if [ -r bin/bash ]; then
+ mv bin/bash bin/bash.old
+fi
+mv bin/bash2.new bin/bash
+if [ -f bin/bash.old ]; then
+ rm -f bin/bash.old
+fi
+if [ ! -r etc/shells ]; then
+ touch etc/shells
+ chmod 644 etc/shells
+fi
+if fgrep "/bin/bash" etc/shells 1> /dev/null 2> /dev/null ; then
+ true
+else
+ echo "/bin/bash" >> etc/shells
+fi
+( cd usr/bin ; rm -rf bash )
+( cd usr/bin ; ln -sf /bin/bash bash )
diff --git a/patches/source/bash/patches/bash31-001 b/patches/source/bash/patches/bash31-001
new file mode 100644
index 00000000..4a10a02c
--- /dev/null
+++ b/patches/source/bash/patches/bash31-001
@@ -0,0 +1,104 @@
+ BASH PATCH REPORT
+ =================
+
+Bash-Release: 3.1
+Patch-ID: bash31-001
+
+Bug-Reported-by: Mike Frysinger <vapier@gentoo.org>
+Bug-Reference-ID: <20051212015924.GA820@toucan.gentoo.org> <20051214034438.GK1863@toucan.gentoo.org>
+Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-bash/2005-12/msg00030.html http://lists.gnu.org/archive/html/bug-bash/2005-12/msg00041.html
+
+Bug-Description:
+
+There are parsing problems with compound assignments in several contexts,
+including as arguments to builtins like `local', `eval', and `let', and
+as multiple assignments in a single command.
+
+Patch:
+
+*** ../bash-3.1/parse.y Fri Nov 11 23:14:18 2005
+--- parse.y Fri Dec 16 20:43:07 2005
+***************
+*** 3696,3700 ****
+ b = builtin_address_internal (token, 0);
+ if (b && (b->flags & ASSIGNMENT_BUILTIN))
+! parser_state |= PST_ASSIGNOK;
+ }
+
+--- 3696,3702 ----
+ b = builtin_address_internal (token, 0);
+ if (b && (b->flags & ASSIGNMENT_BUILTIN))
+! parser_state |= PST_ASSIGNOK;
+! else if (STREQ (token, "eval") || STREQ (token, "let"))
+! parser_state |= PST_ASSIGNOK;
+ }
+
+***************
+*** 4687,4691 ****
+ {
+ WORD_LIST *wl, *rl;
+! int tok, orig_line_number, orig_token_size;
+ char *saved_token, *ret;
+
+--- 4689,4693 ----
+ {
+ WORD_LIST *wl, *rl;
+! int tok, orig_line_number, orig_token_size, orig_last_token, assignok;
+ char *saved_token, *ret;
+
+***************
+*** 4693,4696 ****
+--- 4695,4699 ----
+ orig_token_size = token_buffer_size;
+ orig_line_number = line_number;
++ orig_last_token = last_read_token;
+
+ last_read_token = WORD; /* WORD to allow reserved words here */
+***************
+*** 4699,4702 ****
+--- 4702,4707 ----
+ token_buffer_size = 0;
+
++ assignok = parser_state&PST_ASSIGNOK; /* XXX */
++
+ wl = (WORD_LIST *)NULL; /* ( */
+ parser_state |= PST_COMPASSIGN;
+***************
+*** 4741,4745 ****
+ }
+
+! last_read_token = WORD;
+ if (wl)
+ {
+--- 4746,4750 ----
+ }
+
+! last_read_token = orig_last_token; /* XXX - was WORD? */
+ if (wl)
+ {
+***************
+*** 4753,4756 ****
+--- 4758,4765 ----
+ if (retlenp)
+ *retlenp = (ret && *ret) ? strlen (ret) : 0;
++
++ if (assignok)
++ parser_state |= PST_ASSIGNOK;
++
+ return ret;
+ }
+*** ../bash-3.1/patchlevel.h Wed Jul 20 13:58:20 2005
+--- patchlevel.h Wed Dec 7 13:48:42 2005
+***************
+*** 26,30 ****
+ looks for to find the patch level (for the sccs version string). */
+
+! #define PATCHLEVEL 0
+
+ #endif /* _PATCHLEVEL_H_ */
+--- 26,30 ----
+ looks for to find the patch level (for the sccs version string). */
+
+! #define PATCHLEVEL 1
+
+ #endif /* _PATCHLEVEL_H_ */
diff --git a/patches/source/bash/patches/bash31-002 b/patches/source/bash/patches/bash31-002
new file mode 100644
index 00000000..fac9a99a
--- /dev/null
+++ b/patches/source/bash/patches/bash31-002
@@ -0,0 +1,239 @@
+ BASH PATCH REPORT
+ =================
+
+Bash-Release: 3.1
+Patch-ID: bash31-002
+
+Bug-Reported-by: vapier@gentoo.org
+Bug-Reference-ID: <20051210223218.GD3324@toucan.gentoo.org>
+Bug-Reference-URL:http://lists.gnu.org/archive/html/bug-bash/2005-12/msg00021.html
+
+Bug-Description:
+
+This corrects several omissions in the bash documentation: It adds the new
+options to `ulimit', the exact expansions for `case' patterns, clarification
+of the language concerning the return value of `[[', and updated version
+information.
+
+Patch:
+
+*** ../bash-3.1/doc/bash.1 Wed Oct 12 11:40:52 2005
+--- doc/bash.1 Wed Dec 28 19:58:54 2005
+***************
+*** 7,16 ****
+ .\" chet@po.cwru.edu
+ .\"
+! .\" Last Change: Sat Aug 27 13:28:44 EDT 2005
+ .\"
+ .\" bash_builtins, strip all but Built-Ins section
+ .if \n(zZ=1 .ig zZ
+ .if \n(zY=1 .ig zY
+! .TH BASH 1 "2005 Aug 27" "GNU Bash-3.1-beta1"
+ .\"
+ .\" There's some problem with having a `@'
+--- 7,16 ----
+ .\" chet@po.cwru.edu
+ .\"
+! .\" Last Change: Wed Dec 28 19:58:45 EST 2005
+ .\"
+ .\" bash_builtins, strip all but Built-Ins section
+ .if \n(zZ=1 .ig zZ
+ .if \n(zY=1 .ig zY
+! .TH BASH 1 "2005 Dec 28" "GNU Bash-3.1"
+ .\"
+ .\" There's some problem with having a `@'
+***************
+*** 678,683 ****
+ is enabled, the match is performed without regard to the case
+ of alphabetic characters.
+! The return value is 0 if the string matches or does not match
+! the pattern, respectively, and 1 otherwise.
+ Any part of the pattern may be quoted to force it to be matched as a
+ string.
+--- 678,683 ----
+ is enabled, the match is performed without regard to the case
+ of alphabetic characters.
+! The return value is 0 if the string matches (\fB==\fP) or does not match
+! (\fB!=\fP) the pattern, and 1 otherwise.
+ Any part of the pattern may be quoted to force it to be matched as a
+ string.
+***************
+*** 808,811 ****
+--- 808,817 ----
+ .B Pathname Expansion
+ below).
++ The \fIword\fP is expanded using tilde
++ expansion, parameter and variable expansion, arithmetic substituion,
++ command substitution, process substitution and quote removal.
++ Each \fIpattern\fP examined is expanded using tilde
++ expansion, parameter and variable expansion, arithmetic substituion,
++ command substitution, and process substitution.
+ If the shell option
+ .B nocasematch
+***************
+*** 8485,8489 ****
+ none are found.
+ .TP
+! \fBulimit\fP [\fB\-SHacdflmnpstuv\fP [\fIlimit\fP]]
+ Provides control over the resources available to the shell and to
+ processes started by it, on systems that allow such control.
+--- 8485,8489 ----
+ none are found.
+ .TP
+! \fBulimit\fP [\fB\-SHacdfilmnpqstuvx\fP [\fIlimit\fP]]
+ Provides control over the resources available to the shell and to
+ processes started by it, on systems that allow such control.
+***************
+*** 8524,8527 ****
+--- 8524,8530 ----
+ The maximum size of files created by the shell
+ .TP
++ .B \-i
++ The maximum number of pending signals
++ .TP
+ .B \-l
+ The maximum size that may be locked into memory
+***************
+*** 8537,8540 ****
+--- 8540,8546 ----
+ The pipe size in 512-byte blocks (this may not be set)
+ .TP
++ .B \-q
++ The maximum number of bytes in POSIX message queues
++ .TP
+ .B \-s
+ The maximum stack size
+***************
+*** 8548,8551 ****
+--- 8554,8560 ----
+ .B \-v
+ The maximum amount of virtual memory available to the shell
++ .TP
++ .B \-x
++ The maximum number of file locks
+ .PD
+ .PP
+*** ../bash-3.1/doc/bashref.texi Mon Oct 3 15:07:21 2005
+--- doc/bashref.texi Fri Dec 30 10:50:39 2005
+***************
+*** 962,967 ****
+ is enabled, the match is performed without regard to the case
+ of alphabetic characters.
+! The return value is 0 if the string matches or does not match
+! the pattern, respectively, and 1 otherwise.
+ Any part of the pattern may be quoted to force it to be matched as a
+ string.
+--- 962,967 ----
+ is enabled, the match is performed without regard to the case
+ of alphabetic characters.
+! The return value is 0 if the string matches (@samp{==}) or does not
+! match (@samp{!=})the pattern, and 1 otherwise.
+ Any part of the pattern may be quoted to force it to be matched as a
+ string.
+***************
+*** 2599,2603 ****
+ or inconvenient to obtain with separate utilities.
+
+! This section briefly the builtins which Bash inherits from
+ the Bourne Shell, as well as the builtin commands which are unique
+ to or have been extended in Bash.
+--- 2597,2601 ----
+ or inconvenient to obtain with separate utilities.
+
+! This section briefly describes the builtins which Bash inherits from
+ the Bourne Shell, as well as the builtin commands which are unique
+ to or have been extended in Bash.
+***************
+*** 3834,3838 ****
+ @btindex ulimit
+ @example
+! ulimit [-acdflmnpstuvSH] [@var{limit}]
+ @end example
+ @code{ulimit} provides control over the resources available to processes
+--- 3834,3838 ----
+ @btindex ulimit
+ @example
+! ulimit [-acdfilmnpqstuvxSH] [@var{limit}]
+ @end example
+ @code{ulimit} provides control over the resources available to processes
+***************
+*** 3858,3861 ****
+--- 3858,3864 ----
+ The maximum size of files created by the shell.
+
++ @item -i
++ The maximum number of pending signals.
++
+ @item -l
+ The maximum size that may be locked into memory.
+***************
+*** 3870,3873 ****
+--- 3873,3879 ----
+ The pipe buffer size.
+
++ @item -q
++ The maximum number of bytes in POSIX message queues.
++
+ @item -s
+ The maximum stack size.
+***************
+*** 3882,3885 ****
+--- 3888,3894 ----
+ The maximum amount of virtual memory available to the process.
+
++ @item -x
++ The maximum number of file locks.
++
+ @end table
+
+***************
+*** 4090,4095 ****
+
+ @item -x
+! Print a trace of simple commands, \fBfor\fP commands, \fBcase\fP
+! commands, \fBselect\fP commands, and arithmetic \fBfor\fP commands
+ and their arguments or associated word lists after they are
+ expanded and before they are executed. The value of the @env{PS4}
+--- 4103,4108 ----
+
+ @item -x
+! Print a trace of simple commands, @code{for} commands, @code{case}
+! commands, @code{select} commands, and arithmetic @code{for} commands
+ and their arguments or associated word lists after they are
+ expanded and before they are executed. The value of the @env{PS4}
+*** ../bash-3.1/doc/version.texi Tue Sep 20 14:52:56 2005
+--- doc/version.texi Fri Dec 30 10:50:58 2005
+***************
+*** 3,10 ****
+ @end ignore
+
+! @set LASTCHANGE Mon Sep 5 11:47:04 EDT 2005
+
+! @set EDITION 3.1-beta1
+! @set VERSION 3.1-beta1
+! @set UPDATED 5 September 2005
+! @set UPDATED-MONTH September 2005
+--- 3,10 ----
+ @end ignore
+
+! @set LASTCHANGE Fri Dec 30 10:50:51 EST 2005
+
+! @set EDITION 3.1
+! @set VERSION 3.1
+! @set UPDATED 30 December 2005
+! @set UPDATED-MONTH December 2005
+*** ../bash-3.1/patchlevel.h Wed Jul 20 13:58:20 2005
+--- patchlevel.h Wed Dec 7 13:48:42 2005
+***************
+*** 26,30 ****
+ looks for to find the patch level (for the sccs version string). */
+
+! #define PATCHLEVEL 1
+
+ #endif /* _PATCHLEVEL_H_ */
+--- 26,30 ----
+ looks for to find the patch level (for the sccs version string). */
+
+! #define PATCHLEVEL 2
+
+ #endif /* _PATCHLEVEL_H_ */
diff --git a/patches/source/bash/patches/bash31-003 b/patches/source/bash/patches/bash31-003
new file mode 100644
index 00000000..cd36dc83
--- /dev/null
+++ b/patches/source/bash/patches/bash31-003
@@ -0,0 +1,47 @@
+ BASH PATCH REPORT
+ =================
+
+Bash-Release: 3.1
+Patch-ID: bash31-003
+
+Bug-Reported-by: Adam Buraczewski <adamb@nor.pl>
+Bug-Reference-ID: <200512210950.jBL9o4C2008608@localhost.localdomain>
+Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-bash/2005-12/msg00055.html
+
+Bug-Description:
+
+A missing #define guard causes bash to not compile when readline is not
+configured in, either as the result of explicit disabling or when the
+`--enable-minimal-config' option is given to configure.
+
+Patch:
+
+*** ../bash-3.1/variables.c Sat Nov 12 21:22:37 2005
+--- variables.c Mon Dec 26 13:34:03 2005
+***************
+*** 861,867 ****
+--- 863,871 ----
+ char val[INT_STRLEN_BOUND(int) + 1], *v;
+
++ #if defined (READLINE)
+ /* If we are currently assigning to LINES or COLUMNS, don't do anything. */
+ if (winsize_assignment)
+ return;
++ #endif
+
+ v = inttostr (lines, val, sizeof (val));
+*** ../bash-3.1/patchlevel.h Wed Jul 20 13:58:20 2005
+--- patchlevel.h Wed Dec 7 13:48:42 2005
+***************
+*** 26,30 ****
+ looks for to find the patch level (for the sccs version string). */
+
+! #define PATCHLEVEL 2
+
+ #endif /* _PATCHLEVEL_H_ */
+--- 26,30 ----
+ looks for to find the patch level (for the sccs version string). */
+
+! #define PATCHLEVEL 3
+
+ #endif /* _PATCHLEVEL_H_ */
diff --git a/patches/source/bash/patches/bash31-004 b/patches/source/bash/patches/bash31-004
new file mode 100644
index 00000000..4f9d578e
--- /dev/null
+++ b/patches/source/bash/patches/bash31-004
@@ -0,0 +1,48 @@
+ BASH PATCH REPORT
+ =================
+
+Bash-Release: 3.1
+Patch-ID: bash31-004
+
+Bug-Reported-by: Mike Frysinger <vapier@gentoo.org>
+Bug-Reference-ID: <20051223172359.GF14579@toucan.gentoo.org>
+Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-bash/2005-12/msg00062.html
+
+Bug-Description:
+
+A local array variable declared at function scope that shadows a variable
+of the same name declared in a previous scope did not create a separate
+variable instance, but used the previous one.
+
+Patch:
+
+*** ../bash-3.1/subst.c Mon Oct 24 09:51:13 2005
+--- subst.c Fri Dec 30 12:11:53 2005
+***************
+*** 2188,2192 ****
+ {
+ v = find_variable (name);
+! if (v == 0 || array_p (v) == 0)
+ v = make_local_array_variable (name);
+ v = assign_array_var_from_string (v, value, flags);
+--- 2188,2192 ----
+ {
+ v = find_variable (name);
+! if (v == 0 || array_p (v) == 0 || v->context != variable_context)
+ v = make_local_array_variable (name);
+ v = assign_array_var_from_string (v, value, flags);
+*** ../bash-3.1/patchlevel.h Wed Jul 20 13:58:20 2005
+--- patchlevel.h Wed Dec 7 13:48:42 2005
+***************
+*** 26,30 ****
+ looks for to find the patch level (for the sccs version string). */
+
+! #define PATCHLEVEL 3
+
+ #endif /* _PATCHLEVEL_H_ */
+--- 26,30 ----
+ looks for to find the patch level (for the sccs version string). */
+
+! #define PATCHLEVEL 4
+
+ #endif /* _PATCHLEVEL_H_ */
diff --git a/patches/source/bash/patches/bash31-005 b/patches/source/bash/patches/bash31-005
new file mode 100644
index 00000000..b6d5cdca
--- /dev/null
+++ b/patches/source/bash/patches/bash31-005
@@ -0,0 +1,54 @@
+ BASH PATCH REPORT
+ =================
+
+Bash-Release: 3.1
+Patch-ID: bash31-005
+
+Bug-Reported-by:
+Bug-Reference-ID:
+Bug-Reference-URL:
+
+Bug-Description:
+
+When tilde expansion fails, POSIX leaves it unspecified whether or not the
+word undergoes the additional word expansions. Bash-3.1 as distributed
+skipped the rest of the expansions; this patch restores the bash-3.0 behavior.
+
+This means that something like
+ USER=ratbert
+ echo ~$USER
+
+will echo `~ratbert' rather than `~$USER'.
+
+Patch:
+
+*** ../bash-3.1/subst.c Mon Oct 24 09:51:13 2005
+--- subst.c Fri Dec 30 12:11:53 2005
+***************
+*** 6796,6799 ****
+--- 6823,6832 ----
+ {
+ temp1 = bash_tilde_expand (temp, tflag);
++ if (temp1 && *temp1 == '~' && STREQ (temp, temp1))
++ {
++ FREE (temp);
++ FREE (temp1);
++ goto add_character; /* tilde expansion failed */
++ }
+ free (temp);
+ temp = temp1;
+*** ../bash-3.1/patchlevel.h Wed Jul 20 13:58:20 2005
+--- patchlevel.h Wed Dec 7 13:48:42 2005
+***************
+*** 26,30 ****
+ looks for to find the patch level (for the sccs version string). */
+
+! #define PATCHLEVEL 4
+
+ #endif /* _PATCHLEVEL_H_ */
+--- 26,30 ----
+ looks for to find the patch level (for the sccs version string). */
+
+! #define PATCHLEVEL 5
+
+ #endif /* _PATCHLEVEL_H_ */
diff --git a/patches/source/bash/patches/bash31-006 b/patches/source/bash/patches/bash31-006
new file mode 100644
index 00000000..8d749938
--- /dev/null
+++ b/patches/source/bash/patches/bash31-006
@@ -0,0 +1,58 @@
+ BASH PATCH REPORT
+ =================
+
+Bash-Release: 3.1
+Patch-ID: bash31-006
+
+Bug-Reported-by: Mike Frysinger <vapier@gentoo.org>
+Bug-Reference-ID: <200601120613.11907.vapier@gentoo.org>
+Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-bash/2006-01/msg00045.html
+
+Bug-Description:
+
+Under some circumstances, Bash can use an incorrect setting for the flag
+that indicates whether or not the terminal can auto-wrap, resulting in line-
+wrapping errors.
+
+Patch:
+
+*** ../bash-3.1/lib/readline/terminal.c Sat Nov 12 20:46:54 2005
+--- lib/readline/terminal.c Tue Jan 31 10:57:54 2006
+***************
+*** 123,127 ****
+
+ /* Non-zero means the terminal can auto-wrap lines. */
+! int _rl_term_autowrap;
+
+ /* Non-zero means that this terminal has a meta key. */
+--- 126,130 ----
+
+ /* Non-zero means the terminal can auto-wrap lines. */
+! int _rl_term_autowrap = -1;
+
+ /* Non-zero means that this terminal has a meta key. */
+***************
+*** 275,278 ****
+--- 278,284 ----
+ int rows, cols;
+ {
++ if (_rl_term_autowrap == -1)
++ _rl_init_terminal_io (rl_terminal_name);
++
+ if (rows > 0)
+ _rl_screenheight = rows;
+*** ../bash-3.1/patchlevel.h Wed Jul 20 13:58:20 2005
+--- patchlevel.h Wed Dec 7 13:48:42 2005
+***************
+*** 26,30 ****
+ looks for to find the patch level (for the sccs version string). */
+
+! #define PATCHLEVEL 5
+
+ #endif /* _PATCHLEVEL_H_ */
+--- 26,30 ----
+ looks for to find the patch level (for the sccs version string). */
+
+! #define PATCHLEVEL 6
+
+ #endif /* _PATCHLEVEL_H_ */
diff --git a/patches/source/bash/patches/bash31-007 b/patches/source/bash/patches/bash31-007
new file mode 100644
index 00000000..6233786c
--- /dev/null
+++ b/patches/source/bash/patches/bash31-007
@@ -0,0 +1,121 @@
+ BASH PATCH REPORT
+ =================
+
+Bash-Release: 3.1
+Patch-ID: bash31-007
+
+Bug-Reported-by: Tim Waugh <twaugh@redhat.com>, Laird Breyer <laird@lbreyer.com>
+Bug-Reference-ID: <20060105174434.GY16000@redhat.com>
+Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-bash/2006-01/msg00009.html
+ http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=347695
+
+Bug-Description:
+
+When the number of saved jobs exceeds the initial size of the jobs array
+(4096 slots), the array must be compacted and reallocated. An error in
+the code to do that could cause a segmentation fault.
+
+Patch:
+
+*** ../bash-3.1/jobs.c Fri Nov 11 23:13:27 2005
+--- jobs.c Wed Feb 1 13:55:38 2006
+***************
+*** 845,851 ****
+ {
+ sigset_t set, oset;
+! int nsize, i, j;
+ JOB **nlist;
+
+ nsize = ((js.j_njobs + JOB_SLOTS - 1) / JOB_SLOTS);
+ nsize *= JOB_SLOTS;
+--- 888,895 ----
+ {
+ sigset_t set, oset;
+! int nsize, i, j, ncur, nprev;
+ JOB **nlist;
+
++ ncur = nprev = NO_JOB;
+ nsize = ((js.j_njobs + JOB_SLOTS - 1) / JOB_SLOTS);
+ nsize *= JOB_SLOTS;
+***************
+*** 855,869 ****
+
+ BLOCK_CHILD (set, oset);
+! nlist = (JOB **) xmalloc (nsize * sizeof (JOB *));
+ for (i = j = 0; i < js.j_jobslots; i++)
+ if (jobs[i])
+! nlist[j++] = jobs[i];
+
+ js.j_firstj = 0;
+! js.j_lastj = (j > 0) ? j - 1: 0;
+ js.j_jobslots = nsize;
+
+! free (jobs);
+! jobs = nlist;
+
+ UNBLOCK_CHILD (oset);
+--- 899,947 ----
+
+ BLOCK_CHILD (set, oset);
+! nlist = (js.j_jobslots == nsize) ? jobs : (JOB **) xmalloc (nsize * sizeof (JOB *));
+!
+ for (i = j = 0; i < js.j_jobslots; i++)
+ if (jobs[i])
+! {
+! if (i == js.j_current)
+! ncur = j;
+! if (i == js.j_previous)
+! nprev = j;
+! nlist[j++] = jobs[i];
+! }
+!
+! #if defined (DEBUG)
+! itrace ("realloc_jobs_list: resize jobs list from %d to %d", js.j_jobslots, nsize);
+! itrace ("realloc_jobs_list: j_lastj changed from %d to %d", js.j_lastj, (j > 0) ? j - 1 : 0);
+! itrace ("realloc_jobs_list: j_njobs changed from %d to %d", js.j_njobs, (j > 0) ? j - 1 : 0);
+! #endif
+
+ js.j_firstj = 0;
+! js.j_lastj = (j > 0) ? j - 1 : 0;
+! js.j_njobs = j;
+ js.j_jobslots = nsize;
+
+! /* Zero out remaining slots in new jobs list */
+! for ( ; j < nsize; j++)
+! nlist[j] = (JOB *)NULL;
+!
+! if (jobs != nlist)
+! {
+! free (jobs);
+! jobs = nlist;
+! }
+!
+! if (ncur != NO_JOB)
+! js.j_current = ncur;
+! if (nprev != NO_JOB)
+! js.j_previous = nprev;
+!
+! /* Need to reset these */
+! if (js.j_current == NO_JOB || js.j_previous == NO_JOB || js.j_current > js.j_lastj || js.j_previous > js.j_lastj)
+! reset_current ();
+!
+! #ifdef DEBUG
+! itrace ("realloc_jobs_list: reset js.j_current (%d) and js.j_previous (%d)", js.j_current, js.j_previous);
+! #endif
+
+ UNBLOCK_CHILD (oset);
+*** ../bash-3.1/patchlevel.h Wed Jul 20 13:58:20 2005
+--- patchlevel.h Wed Dec 7 13:48:42 2005
+***************
+*** 26,30 ****
+ looks for to find the patch level (for the sccs version string). */
+
+! #define PATCHLEVEL 6
+
+ #endif /* _PATCHLEVEL_H_ */
+--- 26,30 ----
+ looks for to find the patch level (for the sccs version string). */
+
+! #define PATCHLEVEL 7
+
+ #endif /* _PATCHLEVEL_H_ */
diff --git a/patches/source/bash/patches/bash31-008 b/patches/source/bash/patches/bash31-008
new file mode 100644
index 00000000..3427b64e
--- /dev/null
+++ b/patches/source/bash/patches/bash31-008
@@ -0,0 +1,51 @@
+ BASH PATCH REPORT
+ =================
+
+Bash-Release: 3.1
+Patch-ID: bash31-008
+
+Bug-Reported-by: Ingemar Nilsson <init@kth.se>
+Bug-Reference-ID: <43C38D35.7020404@kth.se>
+Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-bash/2006-01/msg00044.html
+
+Bug-Description:
+
+In some cases, bash inappropriately allows SIGINT from the terminal to
+reach background processes.
+
+Patch:
+
+*** ../bash-3.1/jobs.c Fri Nov 11 23:13:27 2005
+--- jobs.c Wed Feb 1 13:55:38 2006
+***************
+*** 2199,2203 ****
+ wait_sigint_received = 0;
+ if (job_control == 0)
+! old_sigint_handler = set_signal_handler (SIGINT, wait_sigint_handler);
+
+ termination_state = last_command_exit_value;
+--- 2298,2306 ----
+ wait_sigint_received = 0;
+ if (job_control == 0)
+! {
+! old_sigint_handler = set_signal_handler (SIGINT, wait_sigint_handler);
+! if (old_sigint_handler == SIG_IGN)
+! set_signal_handler (SIGINT, old_sigint_handler);
+! }
+
+ termination_state = last_command_exit_value;
+*** ../bash-3.1/patchlevel.h Wed Jul 20 13:58:20 2005
+--- patchlevel.h Wed Dec 7 13:48:42 2005
+***************
+*** 26,30 ****
+ looks for to find the patch level (for the sccs version string). */
+
+! #define PATCHLEVEL 7
+
+ #endif /* _PATCHLEVEL_H_ */
+--- 26,30 ----
+ looks for to find the patch level (for the sccs version string). */
+
+! #define PATCHLEVEL 8
+
+ #endif /* _PATCHLEVEL_H_ */
diff --git a/patches/source/bash/patches/bash31-009 b/patches/source/bash/patches/bash31-009
new file mode 100644
index 00000000..8ef22958
--- /dev/null
+++ b/patches/source/bash/patches/bash31-009
@@ -0,0 +1,66 @@
+ BASH PATCH REPORT
+ =================
+
+Bash-Release: 3.1
+Patch-ID: bash31-009
+
+Bug-Reported-by: Joshua Neuheisel <jneuheisel@gmail.com>
+Bug-Reference-ID: <25d873330601140820v4ad8efd2t8bf683b073c138b3@mail.gmail.com>
+Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-bash/2006-01/msg00062.html
+
+Bug-Description:
+
+Under some circumstances, background (asynchronous) jobs can set the terminal
+process group incorrectly. This can cause a foreground process (including
+the foreground shell) to get read errors and exit.
+
+Patch:
+
+*** ../bash-3.1/jobs.c Fri Nov 11 23:13:27 2005
+--- jobs.c Wed Feb 1 13:55:38 2006
+***************
+*** 620,625 ****
+ * the parent gives it away.
+ *
+ */
+! if (job_control && newjob->pgrp)
+ give_terminal_to (newjob->pgrp, 0);
+ }
+--- 634,642 ----
+ * the parent gives it away.
+ *
++ * Don't give the terminal away if this shell is an asynchronous
++ * subshell.
++ *
+ */
+! if (job_control && newjob->pgrp && (subshell_environment&SUBSHELL_ASYNC) == 0)
+ give_terminal_to (newjob->pgrp, 0);
+ }
+***************
+*** 1656,1660 ****
+ shell's process group (we could be in the middle of a
+ pipeline, for example). */
+! if (async_p == 0 && pipeline_pgrp != shell_pgrp)
+ give_terminal_to (pipeline_pgrp, 0);
+
+--- 1743,1747 ----
+ shell's process group (we could be in the middle of a
+ pipeline, for example). */
+! if (async_p == 0 && pipeline_pgrp != shell_pgrp && ((subshell_environment&SUBSHELL_ASYNC) == 0))
+ give_terminal_to (pipeline_pgrp, 0);
+
+*** ../bash-3.1/patchlevel.h Wed Jul 20 13:58:20 2005
+--- patchlevel.h Wed Dec 7 13:48:42 2005
+***************
+*** 26,30 ****
+ looks for to find the patch level (for the sccs version string). */
+
+! #define PATCHLEVEL 8
+
+ #endif /* _PATCHLEVEL_H_ */
+--- 26,30 ----
+ looks for to find the patch level (for the sccs version string). */
+
+! #define PATCHLEVEL 9
+
+ #endif /* _PATCHLEVEL_H_ */
diff --git a/patches/source/bash/patches/bash31-010 b/patches/source/bash/patches/bash31-010
new file mode 100644
index 00000000..066a3242
--- /dev/null
+++ b/patches/source/bash/patches/bash31-010
@@ -0,0 +1,54 @@
+ BASH PATCH REPORT
+ =================
+
+Bash-Release: 3.1
+Patch-ID: bash31-010
+
+Bug-Reported-by: vw@vonwolff.de
+Bug-Reference-ID: <20060123135234.1AC2F1D596@wst07.vonwolff.de>
+Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-bash/2006-01/msg00090.html
+
+Bug-Description:
+
+There is a difference in behavior between bash-3.0 and bash-3.1 involving
+parsing of single- and double-quoted strings occurring in old-style
+command substitution. The difference has to do with how backslashes are
+processed. This patch restores a measure of backwards compatibility while
+the question of POSIX conformance and ultimately correct behavior is discussed.
+
+Patch:
+
+*** ../bash-3.1/parse.y Fri Nov 11 23:14:18 2005
+--- parse.y Wed Jan 25 14:55:18 2006
+***************
+*** 2899,2903 ****
+ else if MBTEST(qc == '`' && (ch == '"' || ch == '\'') && in_comment == 0)
+ {
+! nestret = parse_matched_pair (0, ch, ch, &nestlen, rflags);
+ goto add_nestret;
+ }
+--- 2901,2909 ----
+ else if MBTEST(qc == '`' && (ch == '"' || ch == '\'') && in_comment == 0)
+ {
+! /* Add P_ALLOWESC so backslash quotes the next character and
+! shell_getc does the right thing with \<newline>. We do this for
+! a measure of backwards compatibility -- it's not strictly the
+! right POSIX thing. */
+! nestret = parse_matched_pair (0, ch, ch, &nestlen, rflags|P_ALLOWESC);
+ goto add_nestret;
+ }
+*** ../bash-3.1/patchlevel.h Wed Jul 20 13:58:20 2005
+--- patchlevel.h Wed Dec 7 13:48:42 2005
+***************
+*** 26,30 ****
+ looks for to find the patch level (for the sccs version string). */
+
+! #define PATCHLEVEL 9
+
+ #endif /* _PATCHLEVEL_H_ */
+--- 26,30 ----
+ looks for to find the patch level (for the sccs version string). */
+
+! #define PATCHLEVEL 10
+
+ #endif /* _PATCHLEVEL_H_ */
diff --git a/patches/source/bash/patches/bash31-011 b/patches/source/bash/patches/bash31-011
new file mode 100644
index 00000000..025b8390
--- /dev/null
+++ b/patches/source/bash/patches/bash31-011
@@ -0,0 +1,47 @@
+ BASH PATCH REPORT
+ =================
+
+Bash-Release: 3.1
+Patch-ID: bash31-011
+
+Bug-Reported-by: Mike Stroyan <mike.stroyan@hp.com>
+Bug-Reference-ID: <E1EvwxP-0004LD-GC@localhost.localdomain>
+Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-bash/2006-01/msg00033.html
+
+Bug-Description:
+
+A change in bash-3.1 caused the single quotes to be stripped from ANSI-C
+quoting inside double-quoted command substitutions.
+
+Patch:
+
+*** ../bash-3.1/parse.y Fri Nov 11 23:14:18 2005
+--- parse.y Wed Jan 25 14:55:18 2006
+***************
+*** 2908,2912 ****
+ count--;
+ if (ch == '(') /* ) */
+! nestret = parse_matched_pair (0, '(', ')', &nestlen, rflags);
+ else if (ch == '{') /* } */
+ nestret = parse_matched_pair (0, '{', '}', &nestlen, P_FIRSTCLOSE|rflags);
+--- 2914,2918 ----
+ count--;
+ if (ch == '(') /* ) */
+! nestret = parse_matched_pair (0, '(', ')', &nestlen, rflags & ~P_DQUOTE);
+ else if (ch == '{') /* } */
+ nestret = parse_matched_pair (0, '{', '}', &nestlen, P_FIRSTCLOSE|rflags);
+*** ../bash-3.1/patchlevel.h Wed Jul 20 13:58:20 2005
+--- patchlevel.h Wed Dec 7 13:48:42 2005
+***************
+*** 26,30 ****
+ looks for to find the patch level (for the sccs version string). */
+
+! #define PATCHLEVEL 10
+
+ #endif /* _PATCHLEVEL_H_ */
+--- 26,30 ----
+ looks for to find the patch level (for the sccs version string). */
+
+! #define PATCHLEVEL 11
+
+ #endif /* _PATCHLEVEL_H_ */
diff --git a/patches/source/bash/patches/bash31-012 b/patches/source/bash/patches/bash31-012
new file mode 100644
index 00000000..b0ddb3a4
--- /dev/null
+++ b/patches/source/bash/patches/bash31-012
@@ -0,0 +1,47 @@
+ BASH PATCH REPORT
+ =================
+
+Bash-Release: 3.1
+Patch-ID: bash31-012
+
+Bug-Reported-by: Alexander Kshevetskiy <alex@dgap.mipt.ru>
+Bug-Reference-ID: <308374997.20060124175849@dgap.mipt.ru>
+Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-bash/2006-01/msg00097.html
+
+Bug-Description:
+
+There is a parsing problem involving parentheses in assignment statements
+that causes words to be terminated prematurely.
+
+Patch:
+
+*** ../bash-3.1/parse.y Fri Nov 11 23:14:18 2005
+--- parse.y Wed Jan 25 14:55:18 2006
+***************
+*** 3579,3583 ****
+ all_digit_token = 0;
+ compound_assignment = 1;
+! #if 0
+ goto next_character;
+ #else
+--- 3584,3588 ----
+ all_digit_token = 0;
+ compound_assignment = 1;
+! #if 1
+ goto next_character;
+ #else
+*** ../bash-3.1/patchlevel.h Wed Jul 20 13:58:20 2005
+--- patchlevel.h Wed Dec 7 13:48:42 2005
+***************
+*** 26,30 ****
+ looks for to find the patch level (for the sccs version string). */
+
+! #define PATCHLEVEL 11
+
+ #endif /* _PATCHLEVEL_H_ */
+--- 26,30 ----
+ looks for to find the patch level (for the sccs version string). */
+
+! #define PATCHLEVEL 12
+
+ #endif /* _PATCHLEVEL_H_ */
diff --git a/patches/source/bash/patches/bash31-013 b/patches/source/bash/patches/bash31-013
new file mode 100644
index 00000000..93c7c8fc
--- /dev/null
+++ b/patches/source/bash/patches/bash31-013
@@ -0,0 +1,44 @@
+ BASH PATCH REPORT
+ =================
+
+Bash-Release: 3.1
+Patch-ID: bash31-013
+
+Bug-Reported-by: Bob Rossi <bob@brasko.net>
+Bug-Reference-ID: <43F60606.80708@case.edu>
+Bug-Reference-URL:
+
+Bug-Description:
+
+In some cases, readline will reference freed memory when attempting to
+display a portion of the prompt.
+
+Patch:
+
+*** ../bash-3.1-patched/lib/readline/readline.c Mon Jul 4 22:29:35 2005
+--- lib/readline/readline.c Fri Feb 17 22:54:22 2006
+***************
+*** 282,287 ****
+--- 282,288 ----
+ {
+ FREE (rl_prompt);
+ rl_prompt = prompt ? savestring (prompt) : (char *)NULL;
++ rl_display_prompt = rl_prompt ? rl_prompt : "";
+
+ rl_visible_prompt_length = rl_expand_prompt (rl_prompt);
+ return 0;
+*** ../bash-3.1/patchlevel.h Wed Jul 20 13:58:20 2005
+--- patchlevel.h Wed Dec 7 13:48:42 2005
+***************
+*** 26,30 ****
+ looks for to find the patch level (for the sccs version string). */
+
+! #define PATCHLEVEL 12
+
+ #endif /* _PATCHLEVEL_H_ */
+--- 26,30 ----
+ looks for to find the patch level (for the sccs version string). */
+
+! #define PATCHLEVEL 13
+
+ #endif /* _PATCHLEVEL_H_ */
diff --git a/patches/source/bash/patches/bash31-014 b/patches/source/bash/patches/bash31-014
new file mode 100644
index 00000000..82ff9b40
--- /dev/null
+++ b/patches/source/bash/patches/bash31-014
@@ -0,0 +1,105 @@
+ BASH PATCH REPORT
+ =================
+
+Bash-Release: 3.1
+Patch-ID: bash31-014
+
+Bug-Reported-by: Mike Stroyan <mike.stroyan@hp.com>
+Bug-Reference-ID: <20060203191607.GC27614@localhost>
+Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-bash/2006-02/msg00004.html
+
+Bug-Description:
+
+The displayed search prompt is corrupted when using non-incremental
+searches in vi and emacs mode if the prompt contains non-printing
+characters or spans multiple lines. The prompt is expanded more than
+once; the second time without the escape sequences that protect non-
+printing characters from the length calculations.
+
+Patch:
+
+*** ../bash-3.1-patched/lib/readline/display.c Wed Nov 30 14:05:02 2005
+--- lib/readline/display.c Sat Feb 18 12:14:58 2006
+***************
+*** 1983,1993 ****
+ int pchar;
+ {
+ int len;
+! char *pmt;
+
+ rl_save_prompt ();
+
+! if (saved_local_prompt == 0)
+ {
+ len = (rl_prompt && *rl_prompt) ? strlen (rl_prompt) : 0;
+ pmt = (char *)xmalloc (len + 2);
+--- 1998,2012 ----
+ int pchar;
+ {
+ int len;
+! char *pmt, *p;
+
+ rl_save_prompt ();
+
+! /* We've saved the prompt, and can do anything with the various prompt
+! strings we need before they're restored. We want the unexpanded
+! portion of the prompt string after any final newline. */
+! p = rl_prompt ? strrchr (rl_prompt, '\n') : 0;
+! if (p == 0)
+ {
+ len = (rl_prompt && *rl_prompt) ? strlen (rl_prompt) : 0;
+ pmt = (char *)xmalloc (len + 2);
+***************
+*** 1998,2016 ****
+ }
+ else
+ {
+! len = *saved_local_prompt ? strlen (saved_local_prompt) : 0;
+ pmt = (char *)xmalloc (len + 2);
+ if (len)
+! strcpy (pmt, saved_local_prompt);
+ pmt[len] = pchar;
+ pmt[len+1] = '\0';
+! local_prompt = savestring (pmt);
+! prompt_last_invisible = saved_last_invisible;
+! prompt_visible_length = saved_visible_length + 1;
+! }
+
+ prompt_physical_chars = saved_physical_chars + 1;
+-
+ return pmt;
+ }
+
+--- 2017,2033 ----
+ }
+ else
+ {
+! p++;
+! len = strlen (p);
+ pmt = (char *)xmalloc (len + 2);
+ if (len)
+! strcpy (pmt, p);
+ pmt[len] = pchar;
+ pmt[len+1] = '\0';
+! }
+
++ /* will be overwritten by expand_prompt, called from rl_message */
+ prompt_physical_chars = saved_physical_chars + 1;
+ return pmt;
+ }
+
+*** ../bash-3.1/patchlevel.h Wed Jul 20 13:58:20 2005
+--- patchlevel.h Wed Dec 7 13:48:42 2005
+***************
+*** 26,30 ****
+ looks for to find the patch level (for the sccs version string). */
+
+! #define PATCHLEVEL 13
+
+ #endif /* _PATCHLEVEL_H_ */
+--- 26,30 ----
+ looks for to find the patch level (for the sccs version string). */
+
+! #define PATCHLEVEL 14
+
+ #endif /* _PATCHLEVEL_H_ */
diff --git a/patches/source/bash/patches/bash31-015 b/patches/source/bash/patches/bash31-015
new file mode 100644
index 00000000..deb9eed5
--- /dev/null
+++ b/patches/source/bash/patches/bash31-015
@@ -0,0 +1,106 @@
+ BASH PATCH REPORT
+ =================
+
+Bash-Release: 3.1
+Patch-ID: bash31-015
+
+Bug-Reported-by: Benoit Vila
+Bug-Reference-ID: <43FCA614.1090108@free.fr>
+Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-bash/2006-02/msg00058.html
+
+Bug-Description:
+
+A problem with the extended globbing code prevented dots from matching
+filenames when used in some extended matching patterns.
+
+Patch:
+
+*** ../bash-3.1-patched/lib/glob/sm_loop.c Sun Oct 16 21:21:04 2005
+--- lib/glob/sm_loop.c Mon Feb 27 17:18:43 2006
+***************
+*** 639,643 ****
+ CHAR *pnext; /* pointer to next sub-pattern */
+ CHAR *srest; /* pointer to rest of string */
+! int m1, m2;
+
+ #if DEBUG_MATCHING
+--- 638,642 ----
+ CHAR *pnext; /* pointer to next sub-pattern */
+ CHAR *srest; /* pointer to rest of string */
+! int m1, m2, xflags; /* xflags = flags passed to recursive matches */
+
+ #if DEBUG_MATCHING
+***************
+*** 645,648 ****
+--- 644,648 ----
+ fprintf(stderr, "extmatch: s = %s; se = %s\n", s, se);
+ fprintf(stderr, "extmatch: p = %s; pe = %s\n", p, pe);
++ fprintf(stderr, "extmatch: flags = %d\n", flags);
+ #endif
+
+***************
+*** 678,683 ****
+ multiple matches of the pattern. */
+ if (m1)
+! m2 = (GMATCH (srest, se, prest, pe, flags) == 0) ||
+! (s != srest && GMATCH (srest, se, p - 1, pe, flags) == 0);
+ if (m1 && m2)
+ return (0);
+--- 678,687 ----
+ multiple matches of the pattern. */
+ if (m1)
+! {
+! /* if srest > s, we are not at start of string */
+! xflags = (srest > s) ? (flags & ~FNM_PERIOD) : flags;
+! m2 = (GMATCH (srest, se, prest, pe, xflags) == 0) ||
+! (s != srest && GMATCH (srest, se, p - 1, pe, xflags) == 0);
+! }
+ if (m1 && m2)
+ return (0);
+***************
+*** 705,710 ****
+ for ( ; srest <= se; srest++)
+ {
+ if (GMATCH (s, srest, psub, pnext - 1, flags) == 0 &&
+! GMATCH (srest, se, prest, pe, flags) == 0)
+ return (0);
+ }
+--- 709,716 ----
+ for ( ; srest <= se; srest++)
+ {
++ /* if srest > s, we are not at start of string */
++ xflags = (srest > s) ? (flags & ~FNM_PERIOD) : flags;
+ if (GMATCH (s, srest, psub, pnext - 1, flags) == 0 &&
+! GMATCH (srest, se, prest, pe, xflags) == 0)
+ return (0);
+ }
+***************
+*** 727,731 ****
+ break;
+ }
+! if (m1 == 0 && GMATCH (srest, se, prest, pe, flags) == 0)
+ return (0);
+ }
+--- 733,739 ----
+ break;
+ }
+! /* if srest > s, we are not at start of string */
+! xflags = (srest > s) ? (flags & ~FNM_PERIOD) : flags;
+! if (m1 == 0 && GMATCH (srest, se, prest, pe, xflags) == 0)
+ return (0);
+ }
+*** ../bash-3.1/patchlevel.h Wed Jul 20 13:58:20 2005
+--- patchlevel.h Wed Dec 7 13:48:42 2005
+***************
+*** 26,30 ****
+ looks for to find the patch level (for the sccs version string). */
+
+! #define PATCHLEVEL 14
+
+ #endif /* _PATCHLEVEL_H_ */
+--- 26,30 ----
+ looks for to find the patch level (for the sccs version string). */
+
+! #define PATCHLEVEL 15
+
+ #endif /* _PATCHLEVEL_H_ */
diff --git a/patches/source/bash/patches/bash31-016 b/patches/source/bash/patches/bash31-016
new file mode 100644
index 00000000..fa0ffe1c
--- /dev/null
+++ b/patches/source/bash/patches/bash31-016
@@ -0,0 +1,51 @@
+ BASH PATCH REPORT
+ =================
+
+Bash-Release: 3.1
+Patch-ID: bash31-016
+
+Bug-Reported-by: Nikita Danilov <nikita@clusterfs.com>
+Bug-Reference-ID: <17397.51015.769854.541057@gargle.gargle.HOWL>
+Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-bash/2006-02/msg00064.html
+
+Bug-Description:
+
+Bash will dump core when attempting to perform globbing in directories with
+very large numbers of files.
+
+Patch:
+
+*** ../bash-3.1-patched/lib/glob/glob.c Thu Mar 24 12:42:27 2005
+--- lib/glob/glob.c Fri Mar 3 16:54:12 2006
+***************
+*** 361,364 ****
+--- 361,365 ----
+
+ firstmalloc = 0;
++ nalloca = 0;
+
+ /* If PAT is empty, skip the loop, but return one (empty) filename. */
+***************
+*** 547,550 ****
+--- 551,556 ----
+ tmplink = lastlink;
+ }
++ else
++ tmplink = 0;
+ free (lastlink->name);
+ lastlink = lastlink->next;
+*** ../bash-3.1/patchlevel.h Wed Jul 20 13:58:20 2005
+--- patchlevel.h Wed Dec 7 13:48:42 2005
+***************
+*** 26,30 ****
+ looks for to find the patch level (for the sccs version string). */
+
+! #define PATCHLEVEL 15
+
+ #endif /* _PATCHLEVEL_H_ */
+--- 26,30 ----
+ looks for to find the patch level (for the sccs version string). */
+
+! #define PATCHLEVEL 16
+
+ #endif /* _PATCHLEVEL_H_ */
diff --git a/patches/source/bash/patches/bash31-017 b/patches/source/bash/patches/bash31-017
new file mode 100644
index 00000000..84f89155
--- /dev/null
+++ b/patches/source/bash/patches/bash31-017
@@ -0,0 +1,131 @@
+ BASH PATCH REPORT
+ =================
+
+Bash-Release: 3.1
+Patch-ID: bash31-017
+
+Bug-Reported-by: syphir@syphir.sytes.net
+Bug-Reference-ID: <442421F5.3010105@syphir.sytes.net>
+Bug-Reference-URL: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=358831
+
+Bug-Description:
+
+Array expansion fails with an arithmetic syntax error when the subscript
+appears within double quotes. For example: ${a["4"]}.
+
+Patch:
+
+*** ../bash-3.1-patched/subst.c Wed Apr 12 08:47:08 2006
+--- subst.c Wed Apr 12 08:49:02 2006
+***************
+*** 2576,2579 ****
+--- 2576,2586 ----
+ }
+
++ char *
++ expand_arith_string (string, quoted)
++ char *string;
++ {
++ return (expand_string_if_necessary (string, quoted, expand_string));
++ }
++
+ #if defined (COND_COMMAND)
+ /* Just remove backslashes in STRING. Returns a new string. */
+***************
+*** 5249,5253 ****
+ t = (char *)0;
+
+! temp1 = expand_string_if_necessary (substr, Q_DOUBLE_QUOTES, expand_string);
+ *e1p = evalexp (temp1, &expok);
+ free (temp1);
+--- 5256,5260 ----
+ t = (char *)0;
+
+! temp1 = expand_arith_string (substr, Q_DOUBLE_QUOTES);
+ *e1p = evalexp (temp1, &expok);
+ free (temp1);
+***************
+*** 5294,5298 ****
+ t++;
+ temp2 = savestring (t);
+! temp1 = expand_string_if_necessary (temp2, Q_DOUBLE_QUOTES, expand_string);
+ free (temp2);
+ t[-1] = ':';
+--- 5301,5305 ----
+ t++;
+ temp2 = savestring (t);
+! temp1 = expand_arith_string (temp2, Q_DOUBLE_QUOTES);
+ free (temp2);
+ t[-1] = ':';
+***************
+*** 6436,6440 ****
+
+ /* Expand variables found inside the expression. */
+! temp1 = expand_string_if_necessary (temp2, Q_DOUBLE_QUOTES, expand_string);
+ free (temp2);
+
+--- 6443,6447 ----
+
+ /* Expand variables found inside the expression. */
+! temp1 = expand_arith_string (temp2, Q_DOUBLE_QUOTES);
+ free (temp2);
+
+***************
+*** 6478,6482 ****
+
+ /* Do initial variable expansion. */
+! temp1 = expand_string_if_necessary (temp, Q_DOUBLE_QUOTES, expand_string);
+
+ goto arithsub;
+--- 6485,6489 ----
+
+ /* Do initial variable expansion. */
+! temp1 = expand_arith_string (temp, Q_DOUBLE_QUOTES);
+
+ goto arithsub;
+*** ../bash-3.1-patched/subst.h Sun Nov 7 15:12:28 2004
+--- subst.h Mon Mar 27 09:10:38 2006
+***************
+*** 152,155 ****
+--- 152,158 ----
+ extern char *expand_assignment_string_to_string __P((char *, int));
+
++ /* Expand an arithmetic expression string */
++ extern char *expand_arith_string __P((char *, int));
++
+ /* De-quoted quoted characters in STRING. */
+ extern char *dequote_string __P((char *));
+*** ../bash-3.1-patched/arrayfunc.c Mon Jul 4 20:25:58 2005
+--- arrayfunc.c Mon Mar 27 09:10:47 2006
+***************
+*** 593,601 ****
+ strncpy (exp, s, len - 1);
+ exp[len - 1] = '\0';
+! #if 0
+! t = expand_string_to_string (exp, 0);
+! #else
+! t = expand_string_to_string (exp, Q_DOUBLE_QUOTES);
+! #endif
+ this_command_name = (char *)NULL;
+ val = evalexp (t, &expok);
+--- 591,595 ----
+ strncpy (exp, s, len - 1);
+ exp[len - 1] = '\0';
+! t = expand_arith_string (exp, 0);
+ this_command_name = (char *)NULL;
+ val = evalexp (t, &expok);
+*** ../bash-3.1/patchlevel.h Wed Jul 20 13:58:20 2005
+--- patchlevel.h Wed Dec 7 13:48:42 2005
+***************
+*** 26,30 ****
+ looks for to find the patch level (for the sccs version string). */
+
+! #define PATCHLEVEL 16
+
+ #endif /* _PATCHLEVEL_H_ */
+--- 26,30 ----
+ looks for to find the patch level (for the sccs version string). */
+
+! #define PATCHLEVEL 17
+
+ #endif /* _PATCHLEVEL_H_ */
diff --git a/patches/source/bash/patches/bash31-018 b/patches/source/bash/patches/bash31-018
new file mode 100644
index 00000000..38510f90
--- /dev/null
+++ b/patches/source/bash/patches/bash31-018
@@ -0,0 +1,104 @@
+ BASH PATCH REPORT
+ =================
+
+Bash-Release: 3.1
+Patch-ID: bash31-018
+
+Bug-Reported-by: Stephane Chazelas <stephane.chazelas@gmail.com>
+Bug-Reference-ID:
+Bug-Reference-URL:
+
+Bug-Description:
+
+Under certain circumstances, bash will execute user code while processing the
+environment for exported function definitions.
+
+Patch:
+
+*** ../bash-3.1.17/builtins/common.h 2004-09-09 13:21:08.000000000 -0400
+--- builtins/common.h 2014-09-16 22:00:02.000000000 -0400
+***************
+*** 34,37 ****
+--- 34,39 ----
+
+ /* Flags for describe_command, shared between type.def and command.def */
++ #define SEVAL_FUNCDEF 0x080 /* only allow function definitions */
++ #define SEVAL_ONECMD 0x100 /* only allow a single command */
+ #define CDESC_ALL 0x001 /* type -a */
+ #define CDESC_SHORTDESC 0x002 /* command -V */
+*** ../bash-3.1.17/builtins/evalstring.c 2005-10-30 18:28:24.000000000 -0500
+--- builtins/evalstring.c 2014-09-16 22:00:02.000000000 -0400
+***************
+*** 224,227 ****
+--- 224,235 ----
+ struct fd_bitmap *bitmap;
+
++ if ((flags & SEVAL_FUNCDEF) && command->type != cm_function_def)
++ {
++ internal_warning ("%s: ignoring function definition attempt", from_file);
++ should_jump_to_top_level = 0;
++ last_result = last_command_exit_value = EX_BADUSAGE;
++ break;
++ }
++
+ bitmap = new_fd_bitmap (FD_BITMAP_SIZE);
+ begin_unwind_frame ("pe_dispose");
+***************
+*** 279,282 ****
+--- 287,293 ----
+ dispose_fd_bitmap (bitmap);
+ discard_unwind_frame ("pe_dispose");
++
++ if (flags & SEVAL_ONECMD)
++ break;
+ }
+ }
+*** ../bash-3.1.17/variables.c 2006-03-10 16:56:29.000000000 -0500
+--- variables.c 2014-09-16 22:00:02.000000000 -0400
+***************
+*** 311,320 ****
+ strcpy (temp_string + char_index + 1, string);
+
+! parse_and_execute (temp_string, name, SEVAL_NONINT|SEVAL_NOHIST);
+!
+! /* Ancient backwards compatibility. Old versions of bash exported
+! functions like name()=() {...} */
+! if (name[char_index - 1] == ')' && name[char_index - 2] == '(')
+! name[char_index - 2] = '\0';
+
+ if (temp_var = find_function (name))
+--- 311,318 ----
+ strcpy (temp_string + char_index + 1, string);
+
+! /* Don't import function names that are invalid identifiers from the
+! environment. */
+! if (legal_identifier (name))
+! parse_and_execute (temp_string, name, SEVAL_NONINT|SEVAL_NOHIST|SEVAL_FUNCDEF|SEVAL_ONECMD);
+
+ if (temp_var = find_function (name))
+***************
+*** 325,332 ****
+ else
+ report_error (_("error importing function definition for `%s'"), name);
+-
+- /* ( */
+- if (name[char_index - 1] == ')' && name[char_index - 2] == '\0')
+- name[char_index - 2] = '('; /* ) */
+ }
+ #if defined (ARRAY_VARS)
+--- 323,326 ----
+*** ../bash-3.1/patchlevel.h Wed Jul 20 13:58:20 2005
+--- patchlevel.h Wed Dec 7 13:48:42 2005
+***************
+*** 26,30 ****
+ looks for to find the patch level (for the sccs version string). */
+
+! #define PATCHLEVEL 17
+
+ #endif /* _PATCHLEVEL_H_ */
+--- 26,30 ----
+ looks for to find the patch level (for the sccs version string). */
+
+! #define PATCHLEVEL 18
+
+ #endif /* _PATCHLEVEL_H_ */
diff --git a/patches/source/bash/patches/bash31-019 b/patches/source/bash/patches/bash31-019
new file mode 100644
index 00000000..d39f63b4
--- /dev/null
+++ b/patches/source/bash/patches/bash31-019
@@ -0,0 +1,43 @@
+ BASH PATCH REPORT
+ =================
+
+Bash-Release: 3.1
+Patch-ID: bash31-019
+
+Bug-Reported-by: Tavis Ormandy <taviso@cmpxchg8b.com>
+Bug-Reference-ID:
+Bug-Reference-URL: http://twitter.com/taviso/statuses/514887394294652929
+
+Bug-Description:
+
+Under certain circumstances, bash can incorrectly save a lookahead character and
+return it on a subsequent call, even when reading a new line.
+
+Patch:
+
+*** ../bash-3.1.18/parse.y 2006-04-12 08:40:35.000000000 -0400
+--- parse.y 2014-09-25 16:40:46.000000000 -0400
+***************
+*** 2501,2504 ****
+--- 2501,2506 ----
+ word_desc_to_read = (WORD_DESC *)NULL;
+
++ eol_ungetc_lookahead = 0;
++
+ last_read_token = '\n';
+ token_to_read = '\n';
+*** ../bash-3.1/patchlevel.h Wed Jul 20 13:58:20 2005
+--- patchlevel.h Wed Dec 7 13:48:42 2005
+***************
+*** 26,30 ****
+ looks for to find the patch level (for the sccs version string). */
+
+! #define PATCHLEVEL 18
+
+ #endif /* _PATCHLEVEL_H_ */
+--- 26,30 ----
+ looks for to find the patch level (for the sccs version string). */
+
+! #define PATCHLEVEL 19
+
+ #endif /* _PATCHLEVEL_H_ */
diff --git a/patches/source/bash/patches/bash31-020 b/patches/source/bash/patches/bash31-020
new file mode 100644
index 00000000..8a488a4f
--- /dev/null
+++ b/patches/source/bash/patches/bash31-020
@@ -0,0 +1,217 @@
+ BASH PATCH REPORT
+ =================
+
+Bash-Release: 3.1
+Patch-ID: bash31-020
+
+Bug-Reported-by: Florian Weimer <fweimer@redhat.com>
+Bug-Reference-ID:
+Bug-Reference-URL:
+
+Bug-Description:
+
+This patch changes the encoding bash uses for exported functions to avoid
+clashes with shell variables and to avoid depending only on an environment
+variable's contents to determine whether or not to interpret it as a shell
+function.
+
+Patch:
+
+*** ../bash-3.1.19/variables.c 2014-09-16 22:00:02.000000000 -0400
+--- variables.c 2014-09-27 21:02:50.000000000 -0400
+***************
+*** 75,78 ****
+--- 75,83 ----
+ #define ifsname(s) ((s)[0] == 'I' && (s)[1] == 'F' && (s)[2] == 'S' && (s)[3] == '\0')
+
++ #define BASHFUNC_PREFIX "BASH_FUNC_"
++ #define BASHFUNC_PREFLEN 10 /* == strlen(BASHFUNC_PREFIX */
++ #define BASHFUNC_SUFFIX "%%"
++ #define BASHFUNC_SUFFLEN 2 /* == strlen(BASHFUNC_SUFFIX) */
++
+ extern char **environ;
+
+***************
+*** 240,244 ****
+ static void dispose_temporary_env __P((sh_free_func_t *));
+
+! static inline char *mk_env_string __P((const char *, const char *));
+ static char **make_env_array_from_var_list __P((SHELL_VAR **));
+ static char **make_var_export_array __P((VAR_CONTEXT *));
+--- 245,249 ----
+ static void dispose_temporary_env __P((sh_free_func_t *));
+
+! static inline char *mk_env_string __P((const char *, const char *, int));
+ static char **make_env_array_from_var_list __P((SHELL_VAR **));
+ static char **make_var_export_array __P((VAR_CONTEXT *));
+***************
+*** 302,320 ****
+ /* If exported function, define it now. Don't import functions from
+ the environment in privileged mode. */
+! if (privmode == 0 && read_but_dont_execute == 0 && STREQN ("() {", string, 4))
+ {
+ string_length = strlen (string);
+! temp_string = (char *)xmalloc (3 + string_length + char_index);
+
+! strcpy (temp_string, name);
+! temp_string[char_index] = ' ';
+! strcpy (temp_string + char_index + 1, string);
+
+ /* Don't import function names that are invalid identifiers from the
+ environment. */
+! if (legal_identifier (name))
+! parse_and_execute (temp_string, name, SEVAL_NONINT|SEVAL_NOHIST|SEVAL_FUNCDEF|SEVAL_ONECMD);
+
+! if (temp_var = find_function (name))
+ {
+ VSETATTR (temp_var, (att_exported|att_imported));
+--- 307,336 ----
+ /* If exported function, define it now. Don't import functions from
+ the environment in privileged mode. */
+! if (privmode == 0 && read_but_dont_execute == 0 &&
+! STREQN (BASHFUNC_PREFIX, name, BASHFUNC_PREFLEN) &&
+! STREQ (BASHFUNC_SUFFIX, name + char_index - BASHFUNC_SUFFLEN) &&
+! STREQN ("() {", string, 4))
+ {
++ size_t namelen;
++ char *tname; /* desired imported function name */
++
++ namelen = char_index - BASHFUNC_PREFLEN - BASHFUNC_SUFFLEN;
++
++ tname = name + BASHFUNC_PREFLEN; /* start of func name */
++ tname[namelen] = '\0'; /* now tname == func name */
++
+ string_length = strlen (string);
+! temp_string = (char *)xmalloc (namelen + string_length + 2);
+
+! memcpy (temp_string, tname, namelen);
+! temp_string[namelen] = ' ';
+! memcpy (temp_string + namelen + 1, string, string_length + 1);
+
+ /* Don't import function names that are invalid identifiers from the
+ environment. */
+! if (absolute_program (tname) == 0 && (posixly_correct == 0 || legal_identifier (tname)))
+! parse_and_execute (temp_string, tname, SEVAL_NONINT|SEVAL_NOHIST|SEVAL_FUNCDEF|SEVAL_ONECMD);
+
+! if (temp_var = find_function (tname))
+ {
+ VSETATTR (temp_var, (att_exported|att_imported));
+***************
+*** 322,326 ****
+ }
+ else
+! report_error (_("error importing function definition for `%s'"), name);
+ }
+ #if defined (ARRAY_VARS)
+--- 338,345 ----
+ }
+ else
+! report_error (_("error importing function definition for `%s'"), tname);
+!
+! /* Restore original suffix */
+! tname[namelen] = BASHFUNC_SUFFIX[0];
+ }
+ #if defined (ARRAY_VARS)
+***************
+*** 2215,2219 ****
+
+ INVALIDATE_EXPORTSTR (var);
+! var->exportstr = mk_env_string (name, value);
+
+ array_needs_making = 1;
+--- 2234,2238 ----
+
+ INVALIDATE_EXPORTSTR (var);
+! var->exportstr = mk_env_string (name, value, 0);
+
+ array_needs_making = 1;
+***************
+*** 3003,3021 ****
+
+ static inline char *
+! mk_env_string (name, value)
+ const char *name, *value;
+ {
+! int name_len, value_len;
+! char *p;
+
+ name_len = strlen (name);
+ value_len = STRLEN (value);
+! p = (char *)xmalloc (2 + name_len + value_len);
+! strcpy (p, name);
+! p[name_len] = '=';
+ if (value && *value)
+! strcpy (p + name_len + 1, value);
+ else
+! p[name_len + 1] = '\0';
+ return (p);
+ }
+--- 3022,3061 ----
+
+ static inline char *
+! mk_env_string (name, value, isfunc)
+ const char *name, *value;
++ int isfunc;
+ {
+! size_t name_len, value_len;
+! char *p, *q;
+
+ name_len = strlen (name);
+ value_len = STRLEN (value);
+!
+! /* If we are exporting a shell function, construct the encoded function
+! name. */
+! if (isfunc && value)
+! {
+! p = (char *)xmalloc (BASHFUNC_PREFLEN + name_len + BASHFUNC_SUFFLEN + value_len + 2);
+! q = p;
+! memcpy (q, BASHFUNC_PREFIX, BASHFUNC_PREFLEN);
+! q += BASHFUNC_PREFLEN;
+! memcpy (q, name, name_len);
+! q += name_len;
+! memcpy (q, BASHFUNC_SUFFIX, BASHFUNC_SUFFLEN);
+! q += BASHFUNC_SUFFLEN;
+! }
+! else
+! {
+! p = (char *)xmalloc (2 + name_len + value_len);
+! memcpy (p, name, name_len);
+! q = p + name_len;
+! }
+!
+! q[0] = '=';
+ if (value && *value)
+! memcpy (q + 1, value, value_len + 1);
+ else
+! q[1] = '\0';
+!
+ return (p);
+ }
+***************
+*** 3092,3096 ****
+ using the cached exportstr... */
+ list[list_index] = USE_EXPORTSTR ? savestring (value)
+! : mk_env_string (var->name, value);
+
+ if (USE_EXPORTSTR == 0)
+--- 3132,3136 ----
+ using the cached exportstr... */
+ list[list_index] = USE_EXPORTSTR ? savestring (value)
+! : mk_env_string (var->name, value, function_p (var));
+
+ if (USE_EXPORTSTR == 0)
+*** ../bash-3.1/patchlevel.h Wed Jul 20 13:58:20 2005
+--- patchlevel.h Wed Dec 7 13:48:42 2005
+***************
+*** 26,30 ****
+ looks for to find the patch level (for the sccs version string). */
+
+! #define PATCHLEVEL 19
+
+ #endif /* _PATCHLEVEL_H_ */
+--- 26,30 ----
+ looks for to find the patch level (for the sccs version string). */
+
+! #define PATCHLEVEL 20
+
+ #endif /* _PATCHLEVEL_H_ */
diff --git a/patches/source/bash/patches/bash31-021 b/patches/source/bash/patches/bash31-021
new file mode 100644
index 00000000..9e07c286
--- /dev/null
+++ b/patches/source/bash/patches/bash31-021
@@ -0,0 +1,147 @@
+ BASH PATCH REPORT
+ =================
+
+Bash-Release: 3.1
+Patch-ID: bash31-021
+
+Bug-Reported-by: Florian Weimer <fweimer@redhat.com>
+Bug-Reference-ID:
+Bug-Reference-URL:
+
+Bug-Description:
+
+There are two local buffer overflows in parse.y that can cause the shell
+to dump core when given many here-documents attached to a single command
+or many nested loops.
+
+Patch:
+
+*** ../bash-3.1.20/parse.y 2014-09-27 12:16:39.000000000 -0400
+--- parse.y 2014-09-30 19:49:41.000000000 -0400
+***************
+*** 167,170 ****
+--- 167,173 ----
+ static int reserved_word_acceptable __P((int));
+ static int yylex __P((void));
++
++ static void push_heredoc __P((REDIRECT *));
++ static char *mk_alexpansion __P((char *));
+ static int alias_expand_token __P((char *));
+ static int time_command_acceptable __P((void));
+***************
+*** 259,263 ****
+ /* Variables to manage the task of reading here documents, because we need to
+ defer the reading until after a complete command has been collected. */
+! static REDIRECT *redir_stack[10];
+ int need_here_doc;
+
+--- 262,268 ----
+ /* Variables to manage the task of reading here documents, because we need to
+ defer the reading until after a complete command has been collected. */
+! #define HEREDOC_MAX 16
+!
+! static REDIRECT *redir_stack[HEREDOC_MAX];
+ int need_here_doc;
+
+***************
+*** 285,289 ****
+ index is decremented after a case, select, or for command is parsed. */
+ #define MAX_CASE_NEST 128
+! static int word_lineno[MAX_CASE_NEST];
+ static int word_top = -1;
+
+--- 290,294 ----
+ index is decremented after a case, select, or for command is parsed. */
+ #define MAX_CASE_NEST 128
+! static int word_lineno[MAX_CASE_NEST+1];
+ static int word_top = -1;
+
+***************
+*** 430,434 ****
+ redir.filename = $2;
+ $$ = make_redirection (0, r_reading_until, redir);
+! redir_stack[need_here_doc++] = $$;
+ }
+ | NUMBER LESS_LESS WORD
+--- 435,439 ----
+ redir.filename = $2;
+ $$ = make_redirection (0, r_reading_until, redir);
+! push_heredoc ($$);
+ }
+ | NUMBER LESS_LESS WORD
+***************
+*** 436,440 ****
+ redir.filename = $3;
+ $$ = make_redirection ($1, r_reading_until, redir);
+! redir_stack[need_here_doc++] = $$;
+ }
+ | LESS_LESS_LESS WORD
+--- 441,445 ----
+ redir.filename = $3;
+ $$ = make_redirection ($1, r_reading_until, redir);
+! push_heredoc ($$);
+ }
+ | LESS_LESS_LESS WORD
+***************
+*** 493,497 ****
+ $$ = make_redirection
+ (0, r_deblank_reading_until, redir);
+! redir_stack[need_here_doc++] = $$;
+ }
+ | NUMBER LESS_LESS_MINUS WORD
+--- 498,502 ----
+ $$ = make_redirection
+ (0, r_deblank_reading_until, redir);
+! push_heredoc ($$);
+ }
+ | NUMBER LESS_LESS_MINUS WORD
+***************
+*** 500,504 ****
+ $$ = make_redirection
+ ($1, r_deblank_reading_until, redir);
+! redir_stack[need_here_doc++] = $$;
+ }
+ | GREATER_AND '-'
+--- 505,509 ----
+ $$ = make_redirection
+ ($1, r_deblank_reading_until, redir);
+! push_heredoc ($$);
+ }
+ | GREATER_AND '-'
+***************
+*** 2211,2214 ****
+--- 2216,2234 ----
+ static int esacs_needed_count;
+
++ static void
++ push_heredoc (r)
++ REDIRECT *r;
++ {
++ if (need_here_doc >= HEREDOC_MAX)
++ {
++ last_command_exit_value = EX_BADUSAGE;
++ need_here_doc = 0;
++ report_syntax_error (_("maximum here-document count exceeded"));
++ reset_parser ();
++ exit_shell (last_command_exit_value);
++ }
++ redir_stack[need_here_doc++] = r;
++ }
++
+ void
+ gather_here_documents ()
+*** ../bash-3.1/patchlevel.h Wed Jul 20 13:58:20 2005
+--- patchlevel.h Wed Dec 7 13:48:42 2005
+***************
+*** 26,30 ****
+ looks for to find the patch level (for the sccs version string). */
+
+! #define PATCHLEVEL 20
+
+ #endif /* _PATCHLEVEL_H_ */
+--- 26,30 ----
+ looks for to find the patch level (for the sccs version string). */
+
+! #define PATCHLEVEL 21
+
+ #endif /* _PATCHLEVEL_H_ */
diff --git a/patches/source/bash/patches/bash31-022 b/patches/source/bash/patches/bash31-022
new file mode 100644
index 00000000..503ad0f9
--- /dev/null
+++ b/patches/source/bash/patches/bash31-022
@@ -0,0 +1,59 @@
+ BASH PATCH REPORT
+ =================
+
+Bash-Release: 3.1
+Patch-ID: bash31-022
+
+Bug-Reported-by: Michal Zalewski <lcamtuf@coredump.cx>
+Bug-Reference-ID:
+Bug-Reference-URL:
+
+Bug-Description:
+
+When bash is parsing a function definition that contains a here-document
+delimited by end-of-file (or end-of-string), it leaves the closing delimiter
+uninitialized. This can result in an invalid memory access when the parsed
+function is later copied.
+
+Patch:
+
+*** ../bash-3.1.21/make_cmd.c 2005-07-07 08:14:57.000000000 -0400
+--- make_cmd.c 2014-10-02 20:33:47.000000000 -0400
+***************
+*** 672,675 ****
+--- 672,676 ----
+ temp->redirector = source;
+ temp->redirectee = dest_and_filename;
++ temp->here_doc_eof = 0;
+ temp->instruction = instruction;
+ temp->flags = 0;
+*** ../bash-3.1.21/copy_cmd.c 2003-10-07 11:43:44.000000000 -0400
+--- copy_cmd.c 2014-10-02 20:33:47.000000000 -0400
+***************
+*** 117,121 ****
+ case r_reading_until:
+ case r_deblank_reading_until:
+! new_redirect->here_doc_eof = savestring (redirect->here_doc_eof);
+ /*FALLTHROUGH*/
+ case r_reading_string:
+--- 117,121 ----
+ case r_reading_until:
+ case r_deblank_reading_until:
+! new_redirect->here_doc_eof = redirect->here_doc_eof ? savestring (redirect->here_doc_eof) : 0;
+ /*FALLTHROUGH*/
+ case r_reading_string:
+*** ../bash-3.1/patchlevel.h Wed Jul 20 13:58:20 2005
+--- patchlevel.h Wed Dec 7 13:48:42 2005
+***************
+*** 26,30 ****
+ looks for to find the patch level (for the sccs version string). */
+
+! #define PATCHLEVEL 21
+
+ #endif /* _PATCHLEVEL_H_ */
+--- 26,30 ----
+ looks for to find the patch level (for the sccs version string). */
+
+! #define PATCHLEVEL 22
+
+ #endif /* _PATCHLEVEL_H_ */
diff --git a/patches/source/bash/patches/bash31-023 b/patches/source/bash/patches/bash31-023
new file mode 100644
index 00000000..4dbbf78b
--- /dev/null
+++ b/patches/source/bash/patches/bash31-023
@@ -0,0 +1,125 @@
+ BASH PATCH REPORT
+ =================
+
+Bash-Release: 3.1
+Patch-ID: bash31-023
+
+Bug-Reported-by: Michal Zalewski <lcamtuf@coredump.cx>
+Bug-Reference-ID:
+Bug-Reference-URL:
+
+Bug-Description:
+
+A combination of nested command substitutions and function importing from
+the environment can cause bash to execute code appearing in the environment
+variable value following the function definition.
+
+Patch:
+
+*** ../bash-3.1.22/builtins/evalstring.c 2014-09-16 22:00:02.000000000 -0400
+--- builtins/evalstring.c 2014-10-04 16:10:47.000000000 -0400
+***************
+*** 44,47 ****
+--- 44,48 ----
+ #include "../redir.h"
+ #include "../trap.h"
++ #include "../bashintl.h"
+
+ #if defined (HISTORY)
+***************
+*** 224,233 ****
+ struct fd_bitmap *bitmap;
+
+! if ((flags & SEVAL_FUNCDEF) && command->type != cm_function_def)
+ {
+! internal_warning ("%s: ignoring function definition attempt", from_file);
+! should_jump_to_top_level = 0;
+! last_result = last_command_exit_value = EX_BADUSAGE;
+! break;
+ }
+
+--- 225,247 ----
+ struct fd_bitmap *bitmap;
+
+! if (flags & SEVAL_FUNCDEF)
+ {
+! char *x;
+!
+! /* If the command parses to something other than a straight
+! function definition, or if we have not consumed the entire
+! string, or if the parser has transformed the function
+! name (as parsing will if it begins or ends with shell
+! whitespace, for example), reject the attempt */
+! if (command->type != cm_function_def ||
+! ((x = parser_remaining_input ()) && *x) ||
+! (STREQ (from_file, command->value.Function_def->name->word) == 0))
+! {
+! internal_warning (_("%s: ignoring function definition attempt"), from_file);
+! should_jump_to_top_level = 0;
+! last_result = last_command_exit_value = EX_BADUSAGE;
+! reset_parser ();
+! break;
+! }
+ }
+
+***************
+*** 289,293 ****
+
+ if (flags & SEVAL_ONECMD)
+! break;
+ }
+ }
+--- 303,310 ----
+
+ if (flags & SEVAL_ONECMD)
+! {
+! reset_parser ();
+! break;
+! }
+ }
+ }
+*** ../bash-3.1.22/parse.y 2014-09-30 19:49:41.000000000 -0400
+--- parse.y 2014-10-04 16:10:47.000000000 -0400
+***************
+*** 2122,2125 ****
+--- 2122,2135 ----
+ }
+
++ char *
++ parser_remaining_input ()
++ {
++ if (shell_input_line == 0)
++ return 0;
++ if (shell_input_line_index < 0 || shell_input_line_index >= shell_input_line_len)
++ return '\0'; /* XXX */
++ return (shell_input_line + shell_input_line_index);
++ }
++
+ #ifdef INCLUDE_UNUSED
+ /* Back the input pointer up by one, effectively `ungetting' a character. */
+*** ../bash-3.1.22/shell.h 2003-06-01 15:04:36.000000000 -0400
+--- shell.h 2014-10-04 16:10:47.000000000 -0400
+***************
+*** 160,163 ****
+--- 160,165 ----
+
+ /* Let's try declaring these here. */
++ extern char *parser_remaining_input __P((void));
++
+ extern sh_parser_state_t *save_parser_state __P((sh_parser_state_t *));
+ extern void restore_parser_state __P((sh_parser_state_t *));
+*** ../bash-3.1/patchlevel.h Wed Jul 20 13:58:20 2005
+--- patchlevel.h Wed Dec 7 13:48:42 2005
+***************
+*** 26,30 ****
+ looks for to find the patch level (for the sccs version string). */
+
+! #define PATCHLEVEL 22
+
+ #endif /* _PATCHLEVEL_H_ */
+--- 26,30 ----
+ looks for to find the patch level (for the sccs version string). */
+
+! #define PATCHLEVEL 23
+
+ #endif /* _PATCHLEVEL_H_ */
diff --git a/patches/source/bash/slack-desc b/patches/source/bash/slack-desc
new file mode 100644
index 00000000..f2fdb929
--- /dev/null
+++ b/patches/source/bash/slack-desc
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|'
+# on the right side marks the last column you can put a character in. You must
+# make exactly 11 lines for the formatting to be correct. It's also
+# customary to leave one space after the ':'.
+
+ |-----handy-ruler------------------------------------------------------|
+bash: bash (sh-compatible shell)
+bash:
+bash: The GNU Bourne-Again SHell. Bash is a sh-compatible command
+bash: interpreter that executes commands read from the standard input or
+bash: from a file. Bash also incorporates useful features from the Korn
+bash: and C shells (ksh and csh). Bash is ultimately intended to be a
+bash: conformant implementation of the IEEE Posix Shell and Tools
+bash: specification (IEEE Working Group 1003.2).
+bash:
+bash: Bash must be present for the system to boot properly.
+bash:
diff --git a/patches/source/bind/3link.sh b/patches/source/bind/3link.sh
new file mode 100644
index 00000000..ec8ba4d1
--- /dev/null
+++ b/patches/source/bind/3link.sh
@@ -0,0 +1,136 @@
+rm -f lwres_addr_parse.3
+ln -sf lwres_resutil.3 lwres_addr_parse.3
+rm -f lwres_buffer_add.3
+ln -sf lwres_buffer.3 lwres_buffer_add.3
+rm -f lwres_buffer_back.3
+ln -sf lwres_buffer.3 lwres_buffer_back.3
+rm -f lwres_buffer_clear.3
+ln -sf lwres_buffer.3 lwres_buffer_clear.3
+rm -f lwres_buffer_first.3
+ln -sf lwres_buffer.3 lwres_buffer_first.3
+rm -f lwres_buffer_forward.3
+ln -sf lwres_buffer.3 lwres_buffer_forward.3
+rm -f lwres_buffer_getmem.3
+ln -sf lwres_buffer.3 lwres_buffer_getmem.3
+rm -f lwres_buffer_getuint16.3
+ln -sf lwres_buffer.3 lwres_buffer_getuint16.3
+rm -f lwres_buffer_getuint32.3
+ln -sf lwres_buffer.3 lwres_buffer_getuint32.3
+rm -f lwres_buffer_getuint8.3
+ln -sf lwres_buffer.3 lwres_buffer_getuint8.3
+rm -f lwres_buffer_init.3
+ln -sf lwres_buffer.3 lwres_buffer_init.3
+rm -f lwres_buffer_invalidate.3
+ln -sf lwres_buffer.3 lwres_buffer_invalidate.3
+rm -f lwres_buffer_putmem.3
+ln -sf lwres_buffer.3 lwres_buffer_putmem.3
+rm -f lwres_buffer_putuint16.3
+ln -sf lwres_buffer.3 lwres_buffer_putuint16.3
+rm -f lwres_buffer_putuint32.3
+ln -sf lwres_buffer.3 lwres_buffer_putuint32.3
+rm -f lwres_buffer_putuint8.3
+ln -sf lwres_buffer.3 lwres_buffer_putuint8.3
+rm -f lwres_buffer_subtract.3
+ln -sf lwres_buffer.3 lwres_buffer_subtract.3
+rm -f lwres_conf_clear.3
+ln -sf lwres_config.3 lwres_conf_clear.3
+rm -f lwres_conf_get.3
+ln -sf lwres_config.3 lwres_conf_get.3
+rm -f lwres_conf_init.3
+ln -sf lwres_config.3 lwres_conf_init.3
+rm -f lwres_conf_parse.3
+ln -sf lwres_config.3 lwres_conf_parse.3
+rm -f lwres_conf_print.3
+ln -sf lwres_config.3 lwres_conf_print.3
+rm -f lwres_context_allocmem.3
+ln -sf lwres_context.3 lwres_context_allocmem.3
+rm -f lwres_context_create.3
+ln -sf lwres_context.3 lwres_context_create.3
+rm -f lwres_context_destroy.3
+ln -sf lwres_context.3 lwres_context_destroy.3
+rm -f lwres_context_freemem.3
+ln -sf lwres_context.3 lwres_context_freemem.3
+rm -f lwres_context_initserial.3
+ln -sf lwres_context.3 lwres_context_initserial.3
+rm -f lwres_context_nextserial.3
+ln -sf lwres_context.3 lwres_context_nextserial.3
+rm -f lwres_context_sendrecv.3
+ln -sf lwres_context.3 lwres_context_sendrecv.3
+rm -f lwres_endhostent.3
+ln -sf lwres_gethostent.3 lwres_endhostent.3
+rm -f lwres_endhostent_r.3
+ln -sf lwres_gethostent.3 lwres_endhostent_r.3
+rm -f lwres_freeaddrinfo.3
+ln -sf lwres_getaddrinfo.3 lwres_freeaddrinfo.3
+rm -f lwres_freehostent.3
+ln -sf lwres_getipnode.3 lwres_freehostent.3
+rm -f lwres_gabnrequest_free.3
+ln -sf lwres_gabn.3 lwres_gabnrequest_free.3
+rm -f lwres_gabnrequest_parse.3
+ln -sf lwres_gabn.3 lwres_gabnrequest_parse.3
+rm -f lwres_gabnrequest_render.3
+ln -sf lwres_gabn.3 lwres_gabnrequest_render.3
+rm -f lwres_gabnresponse_free.3
+ln -sf lwres_gabn.3 lwres_gabnresponse_free.3
+rm -f lwres_gabnresponse_parse.3
+ln -sf lwres_gabn.3 lwres_gabnresponse_parse.3
+rm -f lwres_gabnresponse_render.3
+ln -sf lwres_gabn.3 lwres_gabnresponse_render.3
+rm -f lwres_getaddrsbyname.3
+ln -sf lwres_resutil.3 lwres_getaddrsbyname.3
+rm -f lwres_gethostbyaddr.3
+ln -sf lwres_gethostent.3 lwres_gethostbyaddr.3
+rm -f lwres_gethostbyaddr_r.3
+ln -sf lwres_gethostent.3 lwres_gethostbyaddr_r.3
+rm -f lwres_gethostbyname.3
+ln -sf lwres_gethostent.3 lwres_gethostbyname.3
+rm -f lwres_gethostbyname2.3
+ln -sf lwres_gethostent.3 lwres_gethostbyname2.3
+rm -f lwres_gethostbyname_r.3
+ln -sf lwres_gethostent.3 lwres_gethostbyname_r.3
+rm -f lwres_gethostent_r.3
+ln -sf lwres_gethostent.3 lwres_gethostent_r.3
+rm -f lwres_getipnodebyaddr.3
+ln -sf lwres_getipnode.3 lwres_getipnodebyaddr.3
+rm -f lwres_getipnodebyname.3
+ln -sf lwres_getipnode.3 lwres_getipnodebyname.3
+rm -f lwres_getnamebyaddr.3
+ln -sf lwres_resutil.3 lwres_getnamebyaddr.3
+rm -f lwres_gnbarequest_free.3
+ln -sf lwres_gnba.3 lwres_gnbarequest_free.3
+rm -f lwres_gnbarequest_parse.3
+ln -sf lwres_gnba.3 lwres_gnbarequest_parse.3
+rm -f lwres_gnbarequest_render.3
+ln -sf lwres_gnba.3 lwres_gnbarequest_render.3
+rm -f lwres_gnbaresponse_free.3
+ln -sf lwres_gnba.3 lwres_gnbaresponse_free.3
+rm -f lwres_gnbaresponse_parse.3
+ln -sf lwres_gnba.3 lwres_gnbaresponse_parse.3
+rm -f lwres_gnbaresponse_render.3
+ln -sf lwres_gnba.3 lwres_gnbaresponse_render.3
+rm -f lwres_herror.3
+ln -sf lwres_hstrerror.3 lwres_herror.3
+rm -f lwres_lwpacket_parseheader.3
+ln -sf lwres_packet.3 lwres_lwpacket_parseheader.3
+rm -f lwres_lwpacket_renderheader.3
+ln -sf lwres_packet.3 lwres_lwpacket_renderheader.3
+rm -f lwres_net_ntop.3
+ln -sf lwres_inetntop.3 lwres_net_ntop.3
+rm -f lwres_nooprequest_free.3
+ln -sf lwres_noop.3 lwres_nooprequest_free.3
+rm -f lwres_nooprequest_parse.3
+ln -sf lwres_noop.3 lwres_nooprequest_parse.3
+rm -f lwres_nooprequest_render.3
+ln -sf lwres_noop.3 lwres_nooprequest_render.3
+rm -f lwres_noopresponse_free.3
+ln -sf lwres_noop.3 lwres_noopresponse_free.3
+rm -f lwres_noopresponse_parse.3
+ln -sf lwres_noop.3 lwres_noopresponse_parse.3
+rm -f lwres_noopresponse_render.3
+ln -sf lwres_noop.3 lwres_noopresponse_render.3
+rm -f lwres_sethostent.3
+ln -sf lwres_gethostent.3 lwres_sethostent.3
+rm -f lwres_sethostent_r.3
+ln -sf lwres_gethostent.3 lwres_sethostent_r.3
+rm -f lwres_string_parse.3
+ln -sf lwres_resutil.3 lwres_string_parse.3
diff --git a/patches/source/bind/bind.SlackBuild b/patches/source/bind/bind.SlackBuild
new file mode 100755
index 00000000..3f059213
--- /dev/null
+++ b/patches/source/bind/bind.SlackBuild
@@ -0,0 +1,165 @@
+#!/bin/sh
+
+# Copyright 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015 Patrick J. Volkerding, Sebeka, MN, USA
+# All rights reserved.
+#
+# Redistribution and use of this script, with or without modification, is
+# permitted provided that the following conditions are met:
+#
+# 1. Redistributions of this script must retain the above copyright
+# notice, this list of conditions and the following disclaimer.
+#
+# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED
+# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
+# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
+# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+PKGNAM=bind
+VERSION=${VERSION:-9.9.11-P1}
+BUILD=${BUILD:-1_slack13.0}
+
+# Automatically determine the architecture we're building on:
+if [ -z "$ARCH" ]; then
+ case "$( uname -m )" in
+ i?86) export ARCH=i486 ;;
+ arm*) export ARCH=arm ;;
+ # Unless $ARCH is already set, use uname -m for all other archs:
+ *) export ARCH=$( uname -m ) ;;
+ esac
+fi
+
+NUMJOBS=${NUMJOBS:-" -j7 "}
+
+CWD=$(pwd)
+TMP=/bind-$(mcookie)
+PKG=$TMP/package-${PKGNAM}
+rm -rf $PKG
+mkdir -p $TMP $PKG/etc/default
+
+if [ "$ARCH" = "i486" ]; then
+ SLKCFLAGS="-O2 -march=i486 -mtune=i686"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "s390" ]; then
+ SLKCFLAGS="-O2"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "x86_64" ]; then
+ SLKCFLAGS="-O2 -fPIC"
+ LIBDIRSUFFIX="64"
+fi
+
+cd $TMP
+rm -rf ${PKGNAM}-${VERSION}
+tar xvf $CWD/${PKGNAM}-$VERSION.tar.gz || exit 1
+cd ${PKGNAM}-$VERSION || exit 1
+
+# Remove use of SO_BSDCOMPAT which has been obsolete since the 2.2.x kernel
+# series, and generates warnings under 2.6.x kernels. This _might_ be fixed
+# upstream already, but an explicit #undef SO_BSDCOMPAT does not hurt:
+zcat $CWD/bind.so_bsdcompat.diff.gz | patch -p1 --verbose || exit
+
+# Make sure ownerships and permissions are sane:
+chown -R root:root .
+find . \
+ \( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \
+ -exec chmod 755 {} \; -o \
+ \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \
+ -exec chmod 644 {} \;
+
+# Configure:
+CFLAGS="$SLKCFLAGS" \
+./configure \
+ --prefix=/usr \
+ --libdir=/usr/lib${LIBDIRSUFFIX} \
+ --sysconfdir=/etc \
+ --localstatedir=/var \
+ --with-libtool \
+ --mandir=/usr/man \
+ --enable-shared \
+ --disable-static \
+ --enable-threads \
+ --with-openssl=/usr \
+ --build=$ARCH-slackware-linux || exit 1
+
+# Build and install:
+make $NUMJOBS || make || exit 1
+make install DESTDIR=$PKG || exit 1
+
+# We like symlinks.
+( cd $PKG/usr/sbin
+ ln -sf named lwresd
+)
+
+# We like a lot of symlinks.
+( cd $PKG/usr/man/man3
+ sh $CWD/3link.sh
+)
+
+# Install init script:
+mkdir -p $PKG/etc/rc.d
+cp -a $CWD/rc.bind $PKG/etc/rc.d/rc.bind.new
+chmod 644 $PKG/etc/rc.d/rc.bind.new
+
+# Add /var/run/named directory:
+mkdir -p $PKG/var/run/named
+
+# Fix library perms:
+chmod 755 $PKG/usr/lib${LIBDIRSUFFIX}/*
+
+# Strip binaries:
+find $PKG | xargs file | grep -e "executable" -e "shared object" | grep ELF \
+ | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
+
+# Compress and link manpages, if any:
+if [ -d $PKG/usr/man ]; then
+ ( cd $PKG/usr/man
+ for manpagedir in $(find . -type d -name "man*") ; do
+ ( cd $manpagedir
+ for eachpage in $( find . -type l -maxdepth 1) ; do
+ ln -s $( readlink $eachpage ).gz $eachpage.gz
+ rm $eachpage
+ done
+ gzip -9 *.* 2> /dev/null
+ )
+ done
+ )
+fi
+
+# Add a documentation directory:
+mkdir -p $PKG/usr/doc/${PKGNAM}-$VERSION
+cp -a \
+ CHANGES COPYRIGHT FAQ* README* \
+ doc/arm doc/misc \
+ $PKG/usr/doc/${PKGNAM}-$VERSION
+
+# This one should have the correct perms of the config file:
+chmod 644 $PKG/usr/doc/${PKGNAM}-$VERSION/misc/rndc.conf-sample
+
+# One format of this is plenty. Especially get rid of the bloated PDF.
+( cd $PKG/usr/doc/bind-$VERSION/arm
+ rm -f Makefile* *.pdf *.xml README.SGML latex-fixup.pl
+)
+
+# Add sample config files for a simple caching nameserver:
+mkdir -p $PKG/var/named/caching-example
+cat $CWD/caching-example/named.conf > $PKG/etc/named.conf.new
+cat $CWD/caching-example/localhost.zone > $PKG/var/named/caching-example/localhost.zone
+cat $CWD/caching-example/named.local > $PKG/var/named/caching-example/named.local
+cat $CWD/caching-example/named.root > $PKG/var/named/caching-example/named.root
+# This name is deprecated, but having it here doesn't hurt in case
+# an old configuration file wants it:
+cat $CWD/caching-example/named.root > $PKG/var/named/caching-example/named.ca
+
+mkdir -p $PKG/install
+zcat $CWD/doinst.sh.gz > $PKG/install/doinst.sh
+cat $CWD/slack-desc > $PKG/install/slack-desc
+
+cd $PKG
+/sbin/makepkg -l y -c n $TMP/${PKGNAM}-$(echo $VERSION | tr - _)-$ARCH-$BUILD.txz
+
diff --git a/patches/source/bind/bind.so_bsdcompat.diff b/patches/source/bind/bind.so_bsdcompat.diff
new file mode 100644
index 00000000..5d78031b
--- /dev/null
+++ b/patches/source/bind/bind.so_bsdcompat.diff
@@ -0,0 +1,11 @@
+--- ./lib/isc/unix/socket.c.orig 2005-11-03 17:08:42.000000000 -0600
++++ ./lib/isc/unix/socket.c 2006-02-18 13:09:15.000000000 -0600
+@@ -245,6 +245,8 @@
+
+ #define SOCK_DEAD(s) ((s)->references == 0)
+
++#undef SO_BSDCOMPAT
++
+ static void
+ manager_log(isc_socketmgr_t *sockmgr,
+ isc_logcategory_t *category, isc_logmodule_t *module, int level,
diff --git a/patches/source/bind/caching-example/localhost.zone b/patches/source/bind/caching-example/localhost.zone
new file mode 100644
index 00000000..c47baf5f
--- /dev/null
+++ b/patches/source/bind/caching-example/localhost.zone
@@ -0,0 +1,11 @@
+$TTL 86400
+$ORIGIN localhost.
+@ 1D IN SOA @ root (
+ 42 ; serial (d. adams)
+ 3H ; refresh
+ 15M ; retry
+ 1W ; expiry
+ 1D ) ; minimum
+
+ 1D IN NS @
+ 1D IN A 127.0.0.1
diff --git a/patches/source/bind/caching-example/named.conf b/patches/source/bind/caching-example/named.conf
new file mode 100644
index 00000000..a8ee2795
--- /dev/null
+++ b/patches/source/bind/caching-example/named.conf
@@ -0,0 +1,31 @@
+options {
+ directory "/var/named";
+ /*
+ * If there is a firewall between you and nameservers you want
+ * to talk to, you might need to uncomment the query-source
+ * directive below. Previous versions of BIND always asked
+ * questions using port 53, but BIND 8.1 uses an unprivileged
+ * port by default.
+ */
+ // query-source address * port 53;
+};
+
+//
+// a caching only nameserver config
+//
+zone "." IN {
+ type hint;
+ file "caching-example/named.root";
+};
+
+zone "localhost" IN {
+ type master;
+ file "caching-example/localhost.zone";
+ allow-update { none; };
+};
+
+zone "0.0.127.in-addr.arpa" IN {
+ type master;
+ file "caching-example/named.local";
+ allow-update { none; };
+};
diff --git a/patches/source/bind/caching-example/named.local b/patches/source/bind/caching-example/named.local
new file mode 100644
index 00000000..8f40bcf3
--- /dev/null
+++ b/patches/source/bind/caching-example/named.local
@@ -0,0 +1,10 @@
+$TTL 86400
+@ IN SOA localhost. root.localhost. (
+ 2011032500 ; Serial
+ 28800 ; Refresh
+ 14400 ; Retry
+ 3600000 ; Expire
+ 86400 ) ; Minimum
+ IN NS localhost.
+
+1 IN PTR localhost.
diff --git a/patches/source/bind/caching-example/named.root b/patches/source/bind/caching-example/named.root
new file mode 100644
index 00000000..9cc20228
--- /dev/null
+++ b/patches/source/bind/caching-example/named.root
@@ -0,0 +1,90 @@
+; This file holds the information on root name servers needed to
+; initialize cache of Internet domain name servers
+; (e.g. reference this file in the "cache . <file>"
+; configuration file of BIND domain name servers).
+;
+; This file is made available by InterNIC
+; under anonymous FTP as
+; file /domain/named.cache
+; on server FTP.INTERNIC.NET
+; -OR- RS.INTERNIC.NET
+;
+; last update: November 05, 2014
+; related version of root zone: 2014110501
+;
+; formerly NS.INTERNIC.NET
+;
+. 3600000 NS A.ROOT-SERVERS.NET.
+A.ROOT-SERVERS.NET. 3600000 A 198.41.0.4
+A.ROOT-SERVERS.NET. 3600000 AAAA 2001:503:ba3e::2:30
+;
+; FORMERLY NS1.ISI.EDU
+;
+. 3600000 NS B.ROOT-SERVERS.NET.
+B.ROOT-SERVERS.NET. 3600000 A 192.228.79.201
+B.ROOT-SERVERS.NET. 3600000 AAAA 2001:500:84::b
+;
+; FORMERLY C.PSI.NET
+;
+. 3600000 NS C.ROOT-SERVERS.NET.
+C.ROOT-SERVERS.NET. 3600000 A 192.33.4.12
+C.ROOT-SERVERS.NET. 3600000 AAAA 2001:500:2::c
+;
+; FORMERLY TERP.UMD.EDU
+;
+. 3600000 NS D.ROOT-SERVERS.NET.
+D.ROOT-SERVERS.NET. 3600000 A 199.7.91.13
+D.ROOT-SERVERS.NET. 3600000 AAAA 2001:500:2d::d
+;
+; FORMERLY NS.NASA.GOV
+;
+. 3600000 NS E.ROOT-SERVERS.NET.
+E.ROOT-SERVERS.NET. 3600000 A 192.203.230.10
+;
+; FORMERLY NS.ISC.ORG
+;
+. 3600000 NS F.ROOT-SERVERS.NET.
+F.ROOT-SERVERS.NET. 3600000 A 192.5.5.241
+F.ROOT-SERVERS.NET. 3600000 AAAA 2001:500:2f::f
+;
+; FORMERLY NS.NIC.DDN.MIL
+;
+. 3600000 NS G.ROOT-SERVERS.NET.
+G.ROOT-SERVERS.NET. 3600000 A 192.112.36.4
+;
+; FORMERLY AOS.ARL.ARMY.MIL
+;
+. 3600000 NS H.ROOT-SERVERS.NET.
+H.ROOT-SERVERS.NET. 3600000 A 128.63.2.53
+H.ROOT-SERVERS.NET. 3600000 AAAA 2001:500:1::803f:235
+;
+; FORMERLY NIC.NORDU.NET
+;
+. 3600000 NS I.ROOT-SERVERS.NET.
+I.ROOT-SERVERS.NET. 3600000 A 192.36.148.17
+I.ROOT-SERVERS.NET. 3600000 AAAA 2001:7fe::53
+;
+; OPERATED BY VERISIGN, INC.
+;
+. 3600000 NS J.ROOT-SERVERS.NET.
+J.ROOT-SERVERS.NET. 3600000 A 192.58.128.30
+J.ROOT-SERVERS.NET. 3600000 AAAA 2001:503:c27::2:30
+;
+; OPERATED BY RIPE NCC
+;
+. 3600000 NS K.ROOT-SERVERS.NET.
+K.ROOT-SERVERS.NET. 3600000 A 193.0.14.129
+K.ROOT-SERVERS.NET. 3600000 AAAA 2001:7fd::1
+;
+; OPERATED BY ICANN
+;
+. 3600000 NS L.ROOT-SERVERS.NET.
+L.ROOT-SERVERS.NET. 3600000 A 199.7.83.42
+L.ROOT-SERVERS.NET. 3600000 AAAA 2001:500:3::42
+;
+; OPERATED BY WIDE
+;
+. 3600000 NS M.ROOT-SERVERS.NET.
+M.ROOT-SERVERS.NET. 3600000 A 202.12.27.33
+M.ROOT-SERVERS.NET. 3600000 AAAA 2001:dc3::35
+; End of file
diff --git a/patches/source/bind/doinst.sh b/patches/source/bind/doinst.sh
new file mode 100644
index 00000000..afeff946
--- /dev/null
+++ b/patches/source/bind/doinst.sh
@@ -0,0 +1,36 @@
+#!/bin/sh
+config() {
+ NEW="$1"
+ OLD="`dirname $NEW`/`basename $NEW .new`"
+ # If there's no config file by that name, mv it over:
+ if [ ! -r $OLD ]; then
+ mv $NEW $OLD
+ elif [ "`cat $OLD | md5sum`" = "`cat $NEW | md5sum`" ]; then # toss the redundant copy
+ rm $NEW
+ fi
+ # Otherwise, we leave the .new copy for the admin to consider...
+}
+
+# Keep same perms on rc.bind.new:
+if [ -e etc/rc.d/rc.bind ]; then
+ cp -a etc/rc.d/rc.bind etc/rc.d/rc.bind.new.incoming
+ cat etc/rc.d/rc.bind.new > etc/rc.d/rc.bind.new.incoming
+ mv etc/rc.d/rc.bind.new.incoming etc/rc.d/rc.bind.new
+fi
+
+config etc/named.conf.new
+config etc/rc.d/rc.bind.new
+
+# Add a /var/named if it doesn't exist:
+if [ ! -d var/named ]; then
+ mkdir -p var/named
+ chmod 755 var/named
+fi
+
+# Generate /etc/rndc.key if there's none there,
+# and there also no /etc/rndc.conf (the other
+# way to set this up).
+if [ ! -r etc/rndc.key -a ! -r /etc/rndc.conf ]; then
+ chroot . /sbin/ldconfig
+ chroot . /usr/sbin/rndc-confgen -r /dev/urandom -a 2> /dev/null
+fi
diff --git a/patches/source/bind/rc.bind b/patches/source/bind/rc.bind
new file mode 100644
index 00000000..6d77d73d
--- /dev/null
+++ b/patches/source/bind/rc.bind
@@ -0,0 +1,112 @@
+#!/bin/sh
+# Start/stop/restart the BIND name server daemon (named).
+
+
+# Start bind. In the past it was more secure to run BIND as a non-root
+# user (for example, with '-u daemon'), but the modern version of BIND
+# knows how to use the kernel's capability mechanism to drop all root
+# privileges except the ability to bind() to a privileged port and set
+# process resource limits, so -u should not be needed. If you wish to
+# use it anyway, chown the /var/run/named and /var/named directories to
+# the non-root user. The command options can be set like this in
+# /etc/default/named :
+# NAMED_OPTIONS="-u daemon"
+# So you will not have to edit this script.
+
+# You might also consider running BIND in a "chroot jail",
+# a discussion of which may be found in
+# /usr/doc/Linux-HOWTOs/Chroot-BIND-HOWTO.
+
+# One last note: rndc has a lot of other nice features that it is not
+# within the scope of this start/stop/restart script to support.
+# For more details, see "man rndc" or just type "rndc" to see the options.
+
+# Load command defaults:
+if [ -f /etc/default/named ] ; then . /etc/default/named ; fi
+if [ -f /etc/default/rndc ] ; then . /etc/default/rndc ; fi
+
+# Sanity check. If /usr/sbin/named is missing then it
+# doesn't make much sense to try to run this script:
+if [ ! -x /usr/sbin/named ]; then
+ echo "/etc/rc.d/rc.bind: no /usr/sbin/named found (or not executable); cannot start."
+ exit 1
+fi
+
+# Start BIND. As many times as you like. ;-)
+# Seriously, don't run "rc.bind start" if BIND is already
+# running or you'll get more than one copy running.
+bind_start() {
+ if [ -x /usr/sbin/named ]; then
+ echo "Starting BIND: /usr/sbin/named $NAMED_OPTIONS"
+ /usr/sbin/named $NAMED_OPTIONS
+ sleep 1
+ fi
+ if ! ps axc | grep -q named ; then
+ echo "WARNING: named did not start."
+ echo "Attempting to start named again: /usr/sbin/named $NAMED_OPTIONS"
+ /usr/sbin/named $NAMED_OPTIONS
+ sleep 1
+ if ps axc | grep -q named ; then
+ echo "SUCCESS: named started."
+ else
+ echo "FAILED: Sorry, a second attempt to start named has also failed."
+ echo "There may be a configuration error that needs fixing. Good luck!"
+ fi
+ fi
+}
+
+# Stop all running copies of BIND (/usr/sbin/named):
+bind_stop() {
+ echo "Stopping BIND: /usr/sbin/rndc $RDNC_OPTIONS stop"
+ /usr/sbin/rndc $RDNC_OPTIONS stop
+ # A problem with using "/usr/sbin/rndc stop" is that if you
+ # managed to get multiple copies of named running it will
+ # only stop one of them and then can't stop the others even
+ # if you run it again. So, after doing things the nice way
+ # we'll do them the old-fashioned way. If you don't like
+ # it you can comment it out, but unless you have a lot of
+ # other programs you run called "named" this is unlikely
+ # to have any ill effects:
+ sleep 1
+ if ps axc | grep -q named ; then
+ echo "Using "killall named" on additional BIND processes..."
+ /bin/killall named 2> /dev/null
+ fi
+}
+
+# Reload BIND:
+bind_reload() {
+ /usr/sbin/rndc $RDNC_OPTIONS reload
+}
+
+# Restart BIND:
+bind_restart() {
+ bind_stop
+ bind_start
+}
+
+# Get BIND status:
+bind_status() {
+ /usr/sbin/rndc $RDNC_OPTIONS status
+}
+
+case "$1" in
+'start')
+ bind_start
+ ;;
+'stop')
+ bind_stop
+ ;;
+'reload')
+ bind_reload
+ ;;
+'restart')
+ bind_restart
+ ;;
+'status')
+ bind_status
+ ;;
+*)
+ echo "usage $0 start|stop|reload|restart|status"
+esac
+
diff --git a/patches/source/bind/slack-desc b/patches/source/bind/slack-desc
new file mode 100644
index 00000000..9e9b15d1
--- /dev/null
+++ b/patches/source/bind/slack-desc
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|'
+# on the right side marks the last column you can put a character in. You must
+# make exactly 11 lines for the formatting to be correct. It's also
+# customary to leave one space after the ':'.
+
+ |-----handy-ruler------------------------------------------------------|
+bind: bind (DNS server and utilities)
+bind:
+bind: The named daemon and support utilities such as dig, host, and
+bind: nslookup. Sample configuration files for running a simple caching
+bind: nameserver are included. Documentation for advanced name server
+bind: setup can be found in /usr/doc/bind-9.x.x/.
+bind:
+bind:
+bind:
+bind:
+bind:
diff --git a/patches/source/bzip2/bzip2.SlackBuild b/patches/source/bzip2/bzip2.SlackBuild
new file mode 100755
index 00000000..a3c848be
--- /dev/null
+++ b/patches/source/bzip2/bzip2.SlackBuild
@@ -0,0 +1,121 @@
+#!/bin/sh
+
+# Copyright 2005-2009, 2010 Patrick J. Volkerding, Sebeka, Minnesota, USA
+# All rights reserved.
+#
+# Redistribution and use of this script, with or without modification, is
+# permitted provided that the following conditions are met:
+#
+# 1. Redistributions of this script must retain the above copyright
+# notice, this list of conditions and the following disclaimer.
+#
+# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED
+# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
+# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
+# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+PKGNAM=bzip2
+VERSION=${VERSION:-$(echo $PKGNAM-*.tar.?z* | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
+SOLIB=1.0.6
+BUILD=${BUILD:-1_slack13.0}
+
+# Automatically determine the architecture we're building on:
+if [ -z "$ARCH" ]; then
+ case "$( uname -m )" in
+ i?86) export ARCH=i486 ;;
+ arm*) export ARCH=arm ;;
+ # Unless $ARCH is already set, use uname -m for all other archs:
+ *) export ARCH=$( uname -m ) ;;
+ esac
+fi
+
+CWD=$(pwd)
+TMP=${TMP:-/tmp}
+PKG=$TMP/package-bzip2
+
+if [ "$ARCH" = "x86_64" ]; then
+ LIBDIRSUFFIX="64"
+else
+ LIBDIRSUFFIX=""
+fi
+
+rm -rf $PKG
+mkdir -p $TMP $PKG
+
+cd $TMP
+rm -rf bzip2-$VERSION
+tar xzvf $CWD/bzip2-$VERSION.tar.gz || exit 1
+cd bzip2-$VERSION || exit 1
+chown -R root:root .
+# This should be ok, since libbz2.so.1.0 will still exist.
+zcat $CWD/bzip2.saneso.diff.gz | patch -p1 || exit
+make -f Makefile-libbz2_so || exit 1
+make -j3 || make || exit 1
+mkdir -p $PKG/usr/include
+cp -a bzlib.h $PKG/usr/include
+chown root:root $PKG/usr/include/bzlib.h
+chmod 644 $PKG/usr/include/bzlib.h
+mkdir -p $PKG/usr/lib${LIBDIRSUFFIX}
+cp -a libbz2.a $PKG/usr/lib${LIBDIRSUFFIX}/libbz2.a
+mkdir -p $PKG/lib${LIBDIRSUFFIX}
+cp -a libbz2.so.$SOLIB $PKG/lib${LIBDIRSUFFIX}/libbz2.so.$SOLIB
+chmod 644 $PKG/usr/lib${LIBDIRSUFFIX}/libbz2.a
+chmod 755 $PKG/lib${LIBDIRSUFFIX}/libbz2.so.$SOLIB
+mkdir -p $PKG/bin
+cat bzip2-shared > $PKG/bin/bzip2
+cat bzip2recover > $PKG/bin/bzip2recover
+mkdir -p $PKG/usr/man/man1
+cat bzip2.1 | gzip -9c > $PKG/usr/man/man1/bzip2.1.gz
+echo '.so man1/bzip2.1' | gzip -9c > $PKG/usr/man/man1/bzip2recover.1.gz
+mkdir -p $PKG/usr/doc/bzip2-$VERSION
+cp -a CHANGES LICENSE README* \
+ bzip2.txt *.html $PKG/usr/doc/bzip2-$VERSION
+chmod 644 $PKG/usr/doc/bzip2-$VERSION/*
+# Link up them links
+( cd $PKG
+ ( cd lib${LIBDIRSUFFIX}
+ rm -f libbz2.so.1.0 libbz2.so.1
+ ln -sf libbz2.so.$SOLIB libbz2.so.1.0
+ ln -sf libbz2.so.1.0 libbz2.so.1
+ )
+ ( cd usr/lib${LIBDIRSUFFIX}
+ ln -sf ../../lib${LIBDIRSUFFIX}/libbz2.so.1 libbz2.so
+ )
+ ( cd bin ; ln -sf bzip2 bunzip2 )
+ ( cd bin ; ln -sf bzip2 bzcat )
+ mkdir -p usr/bin
+ ( cd usr/bin
+ ln -sf ../../bin/bzip2 .
+ ln -sf ../../bin/bzip2 bunzip2
+ ln -sf ../../bin/bzip2 bzcat
+ ln -sf bzmore bzless
+ )
+)
+# Here are some optional scripts:
+for file in bzdiff bzgrep bzmore ; do
+ cat $file > $PKG/usr/bin/$file
+ cat ${file}.1 | gzip -9c > $PKG/usr/man/man1/${file}.1.gz
+done
+( cd $PKG
+ find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
+ find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
+)
+chmod 755 $PKG/bin/* $PKG/usr/bin/*
+mkdir -p $PKG/install
+cat $CWD/slack-desc > $PKG/install/slack-desc
+
+# Build the package:
+cd $PKG
+makepkg -l y -c n $TMP/bzip2-$VERSION-$ARCH-$BUILD.txz
+
+# Clean up the extra stuff:
+if [ "$1" = "--cleanup" ]; then
+ rm -rf $TMP/bzip2-$VERSION
+ rm -rf $PKG
+fi
diff --git a/patches/source/bzip2/bzip2.saneso.diff b/patches/source/bzip2/bzip2.saneso.diff
new file mode 100644
index 00000000..4f0acc6e
--- /dev/null
+++ b/patches/source/bzip2/bzip2.saneso.diff
@@ -0,0 +1,20 @@
+--- ./Makefile-libbz2_so.orig 2010-09-10 18:07:52.000000000 -0500
++++ ./Makefile-libbz2_so 2010-09-20 12:30:10.475525363 -0500
+@@ -35,13 +35,13 @@
+ bzlib.o
+
+ all: $(OBJS)
+- $(CC) -shared -Wl,-soname -Wl,libbz2.so.1.0 -o libbz2.so.1.0.6 $(OBJS)
++ $(CC) -shared -Wl,-soname -Wl,libbz2.so.1 -o libbz2.so.1.0.6 $(OBJS)
+ $(CC) $(CFLAGS) -o bzip2-shared bzip2.c libbz2.so.1.0.6
+- rm -f libbz2.so.1.0
+- ln -s libbz2.so.1.0.6 libbz2.so.1.0
++ rm -f libbz2.so.1
++ ln -s libbz2.so.1.0.6 libbz2.so.1
+
+ clean:
+- rm -f $(OBJS) bzip2.o libbz2.so.1.0.6 libbz2.so.1.0 bzip2-shared
++ rm -f $(OBJS) bzip2.o libbz2.so.1.0.6 libbz2.so.1 bzip2-shared
+
+ blocksort.o: blocksort.c
+ $(CC) $(CFLAGS) -c blocksort.c
diff --git a/patches/source/bzip2/slack-desc b/patches/source/bzip2/slack-desc
new file mode 100644
index 00000000..8026e755
--- /dev/null
+++ b/patches/source/bzip2/slack-desc
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|'
+# on the right side marks the last column you can put a character in. You must
+# make exactly 11 lines for the formatting to be correct. It's also
+# customary to leave one space after the ':'.
+
+ |-----handy-ruler------------------------------------------------------|
+bzip2: bzip2 (a block-sorting file compressor)
+bzip2:
+bzip2: Bzip2 compresses files using the Burrows-Wheeler block sorting text
+bzip2: compression algorithm, and Huffman coding. Compression is generally
+bzip2: considerably better than that achieved by more conventional LZ77/LZ78-
+bzip2: based compressors, and approaches the performance of the PPM family of
+bzip2: statistical compressors.
+bzip2:
+bzip2: Julian Seward <jseward@acm.org> is the author of bzip2.
+bzip2:
+bzip2:
diff --git a/patches/source/cairo/cairo.SlackBuild b/patches/source/cairo/cairo.SlackBuild
new file mode 100755
index 00000000..870ca456
--- /dev/null
+++ b/patches/source/cairo/cairo.SlackBuild
@@ -0,0 +1,98 @@
+#!/bin/sh
+
+# Copyright 2008, 2009 Patrick J. Volkerding, Sebeka, MN, USA
+# All rights reserved.
+#
+# Redistribution and use of this script, with or without modification, is
+# permitted provided that the following conditions are met:
+#
+# 1. Redistributions of this script must retain the above copyright
+# notice, this list of conditions and the following disclaimer.
+#
+# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED
+# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
+# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
+# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+VERSION=1.8.8
+BUILD=${BUILD:-1_slack13.0}
+
+# Automatically determine the architecture we're building on:
+if [ -z "$ARCH" ]; then
+ case "$( uname -m )" in
+ i?86) export ARCH=i486 ;;
+ arm*) export ARCH=arm ;;
+ # Unless $ARCH is already set, use uname -m for all other archs:
+ *) export ARCH=$( uname -m ) ;;
+ esac
+fi
+
+NUMJOBS=${NUMJOBS:-" -j7 "}
+
+if [ "$ARCH" = "i486" ]; then
+ SLKCFLAGS="-O2 -march=i486 -mtune=i686"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "s390" ]; then
+ SLKCFLAGS="-O2"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "x86_64" ]; then
+ SLKCFLAGS="-O2 -fPIC"
+ LIBDIRSUFFIX="64"
+fi
+
+CWD=$(pwd)
+TMP=${TMP:-/tmp}
+PKG=$TMP/package-cairo
+rm -rf $PKG
+mkdir -p $TMP $PKG
+
+cd $TMP
+rm -rf cairo-$VERSION
+tar xvf $CWD/cairo-$VERSION.tar.?z* || exit 1
+cd cairo-$VERSION
+chown -R root:root .
+find . \
+ \( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \
+ -exec chmod 755 {} \; -o \
+ \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \
+ -exec chmod 644 {} \;
+
+# Time to try leaving this out again?
+# --disable-xcb
+
+CFLAGS="$SLKCFLAGS" \
+./configure \
+ --prefix=/usr \
+ --libdir=/usr/lib${LIBDIRSUFFIX} \
+ --mandir=/usr/man \
+ --sysconfdir=/etc \
+ --disable-gtk-doc \
+ --disable-glitz \
+ --disable-quartz \
+ --disable-static \
+ --disable-win32
+make $NUMJOBS || make || exit 1
+make install DESTDIR=$PKG
+
+find $PKG | xargs file | grep -e "executable" -e "shared object" \
+ | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
+
+mkdir -p $PKG/usr/doc/cairo-$VERSION
+cp -a \
+ AUTHORS COPYING* NEWS README TODO \
+ $PKG/usr/doc/cairo-$VERSION
+( cd $PKG/usr/doc/cairo-$VERSION ; ln -sf /usr/share/gtk-doc/html/cairo html )
+
+mkdir -p $PKG/install
+cat $CWD/slack-desc > $PKG/install/slack-desc
+
+cd $PKG
+/sbin/makepkg -l y -c n $TMP/cairo-$VERSION-$ARCH-$BUILD.txz
+
diff --git a/patches/source/cairo/slack-desc b/patches/source/cairo/slack-desc
new file mode 100644
index 00000000..b70ae035
--- /dev/null
+++ b/patches/source/cairo/slack-desc
@@ -0,0 +1,20 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|' on
+# the right side marks the last column you can put a character in. You must make
+# exactly 11 lines for the formatting to be correct. It's also customary to
+# leave one space after the ':'.
+
+ |-----handy-ruler------------------------------------------------------|
+cairo: cairo (graphics library used by GTK+)
+cairo:
+cairo: Cairo is a vector graphics library designed to provide high-quality
+cairo: display and print output. Cairo is designed to produce
+cairo: identical output on all output media while taking advantage of display
+cairo: hardware acceleration when available (eg. through the X Render
+cairo: Extension or OpenGL).
+cairo:
+cairo:
+cairo:
+cairo:
+
diff --git a/patches/source/coreutils/DIR_COLORS b/patches/source/coreutils/DIR_COLORS
new file mode 100644
index 00000000..fd77f563
--- /dev/null
+++ b/patches/source/coreutils/DIR_COLORS
@@ -0,0 +1,235 @@
+# Configuration file for dircolors, a utility to help you set the
+# LS_COLORS environment variable used by GNU ls with the --color option.
+
+# The keywords COLOR, OPTIONS, and EIGHTBIT (honored by the
+# slackware version of dircolors) are recognized but ignored.
+# (see the scripts in /etc/profile.d/coreutils-dircolors.* to change default
+# options in the Slackware aliases)
+
+# Below, there should be one TERM entry for each termtype that is colorizable
+TERM Eterm
+TERM ansi
+TERM color-xterm
+TERM con132x25
+TERM con132x30
+TERM con132x43
+TERM con132x60
+TERM con80x25
+TERM con80x28
+TERM con80x30
+TERM con80x43
+TERM con80x50
+TERM con80x60
+TERM cons25
+TERM console
+TERM cygwin
+TERM dtterm
+TERM eterm-color
+TERM gnome
+TERM gnome-256color
+TERM jfbterm
+TERM konsole
+TERM kterm
+TERM linux
+TERM linux-c
+TERM mach-color
+TERM mlterm
+TERM putty
+TERM rxvt
+TERM rxvt-256color
+TERM rxvt-cygwin
+TERM rxvt-cygwin-native
+TERM rxvt-unicode
+TERM rxvt-unicode-256color
+TERM rxvt-unicode256
+TERM screen
+TERM screen-256color
+TERM screen-256color-bce
+TERM screen-bce
+TERM screen-w
+TERM screen.linux
+TERM screen.rxvt
+TERM terminator
+TERM vt100
+TERM xterm
+TERM xterm-16color
+TERM xterm-256color
+TERM xterm-88color
+TERM xterm-color
+TERM xterm-debian
+
+# Below are the color init strings for the basic file types. A color init
+# string consists of one or more of the following numeric codes:
+# Attribute codes:
+# 00=none 01=bold 04=underscore 05=blink 07=reverse 08=concealed
+# Text color codes:
+# 30=black 31=red 32=green 33=yellow 34=blue 35=magenta 36=cyan 37=white
+# Background color codes:
+# 40=black 41=red 42=green 43=yellow 44=blue 45=magenta 46=cyan 47=white
+NORMAL 00 # global default, although everything should be something.
+FILE 00 # normal file
+# RESET 0 # reset to "normal" color
+DIR 01;34 # directory
+LINK 01;36 # symbolic link. (If you set this to 'target' instead of a
+ # numerical value, the color is as for the file pointed to.)
+# HARDLINK 44;37 # regular file with more than one link
+FIFO 40;33 # pipe
+SOCK 01;35 # socket
+DOOR 01;35 # door
+BLK 40;33;01 # block device driver
+CHR 40;33;01 # character device driver
+ORPHAN 40;31;01 # symlink to nonexistent file
+SETUID 37;41 # file that is setuid (u+s)
+SETGID 30;43 # file that is setgid (g+s)
+CAPABILITY 30;41 # file with capability
+STICKY_OTHER_WRITABLE 30;42 # dir that is sticky and other-writable (+t,o+w)
+OTHER_WRITABLE 34;42 # dir that is other-writable (o+w) and not sticky
+STICKY 37;44 # dir with the sticky bit set (+t) and not other-writable
+EXEC 01;32 # This is for files with execute permission:
+
+# List any file extensions like '.gz' or '.tar' that you would like ls
+# to colorize below. Put the extension, a space, and the color init string.
+# (and any comments you want to add after a '#')
+
+# DOS-style executables (bright green)
+.bat 01;32
+.BAT 01;32
+.btm 01;32
+.BTM 01;32
+.cmd 01;32
+.CMD 01;32
+.com 01;32
+.COM 01;32
+.dll 01;32
+.DLL 01;32
+.exe 01;32
+.EXE 01;32
+
+# archives or compressed (bright red)
+.7z 01;31
+.ace 01;31
+.ACE 01;31
+.arj 01;31
+.bz2 01;31
+.cpio 01;31
+.deb 01;31
+.dz 01;31
+.gz 01;31
+.jar 01;31
+.lzh 01;31
+.lzma 01;31
+.rar 01;31
+.RAR 01;31
+.rpm 01;31
+.rz 01;31
+.tar 01;31
+.taz 01;31
+.tb2 01;31
+.tbz2 01;31
+.tbz 01;31
+.tgz 01;31
+.tlz 01;31
+.trz 01;31
+.txz 01;31
+.tz 01;31
+.tz2 01;31
+.xz 01;31
+.z 01;31
+.Z 01;31
+.zip 01;31
+.ZIP 01;31
+.zoo 01;31
+
+# multimedia (video/image/sound) file formats
+.aac 01;35
+.AAC 01;35
+.anx 01;35
+.asf 01;35
+.ASF 01;35
+.au 01;35
+.axa 01;35
+.axv 01;35
+.avi 01;35
+.AVI 01;35
+.bmp 01;35
+.BMP 01;35
+.divx 01;35
+.DIVX 01;35
+.flac 01;35
+.FLAC 01;35
+.gif 01;35
+.GIF 01;35
+.jpg 01;35
+.JPG 01;35
+.jpeg 01;35
+.JPEG 01;35
+.m2a 01;35
+.M2A 01;35
+.m2v 01;35
+.M2V 01;35
+.m4a 01;35
+.M4A 01;35
+.m4p 01;35
+.M4P 01;35
+.m4v 01;35
+.M4V 01;35
+.mid 01;35
+.midi 01;35
+.mka 01;35
+.mkv 01;35
+.MKV 01;35
+.mov 01;35
+.MOV 01;35
+.mp3 01;35
+.MP3 01;35
+.mp4 01;35
+.MP4 01;35
+.mp4v 01;35
+.mpc 01;35
+.MPC 01;35
+.mpeg 01;35
+.MPEG 01;35
+.mpg 01;35
+.MPG 01;35
+.nuv 01;35
+.oga 01;35
+.ogv 01;35
+.ogx 01;35
+.ogg 01;35
+.OGG 01;35
+.pbm 01;35
+.pgm 01;35
+.png 01;35
+.PNG 01;35
+.ppm 01;35
+.qt 01;35
+.ra 01;35
+.RA 01;35
+.ram 01;35
+.RAM 01;35
+.rm 01;35
+.RM 01;35
+.spx 01;35
+.svg 01;35
+.svgz 01;35
+.tga 01;35
+.TGA 01;35
+.tif 01;35
+.TIF 01;35
+.tiff 01;35
+.TIFF 01;35
+.vob 01;35
+.VOB 01;35
+.wav 01;35
+.WAV 01;35
+.wma 01;35
+.WMA 01;35
+.wmv 01;35
+.WMV 01;35
+.xbm 01;35
+.xcf 01;35
+.xpm 01;35
+.xspf 01;35
+.xwd 01;35
+.XWD 01;35
+.xvid 01;35
diff --git a/patches/source/coreutils/coreutils-dircolors.csh b/patches/source/coreutils/coreutils-dircolors.csh
new file mode 100644
index 00000000..d7234c85
--- /dev/null
+++ b/patches/source/coreutils/coreutils-dircolors.csh
@@ -0,0 +1,48 @@
+# Slackware color ls profile script for /bin/csh-like shells.
+
+# Set up LS_OPTIONS environment variable.
+# This contains extra command line options to use with ls.
+# The default ones are:
+# -F = show '/' for dirs, '*' for executables, etc.
+# -T 0 = don't trust tab spacing when formatting ls output.
+# -b = better support for special characters
+setenv OPTIONS "-F -b -T 0"
+
+# COLOR needs one of these arguments:
+# 'auto' colorizes output to ttys, but not pipes.
+# 'always' adds color characters to all output.
+# 'never' shuts colorization off.
+setenv COLOR auto
+
+# This section shouldn't require any user adjustment since it is
+# simply setting the LS_OPTIONS variable using the information
+# already given above:
+setenv LS_OPTIONS " $OPTIONS --color=$COLOR "
+unsetenv COLOR
+unsetenv OPTIONS
+
+# Set up aliases to use color ls by default. A few additional
+# aliases like 'dir', 'vdir', etc, are some ancient artifacts
+# from 1992 or so... possibly they should be disabled, but maybe
+# someone out there is actually using them? :-)
+alias ls '/bin/ls $LS_OPTIONS';
+alias dir '/bin/ls $LS_OPTIONS --format=vertical';
+alias vdir '/bin/ls $LS_OPTIONS --format=long';
+alias d dir;
+alias v vdir;
+unsetenv noglob;
+
+# Set up the LS_COLORS environment:
+[ -f $HOME/.dir_colors ]
+if ($status == 0) then
+ eval `/bin/dircolors -c $HOME/.dir_colors`
+endif
+[ -f /etc/DIR_COLORS ]
+if ($status == 0) then
+ eval `/bin/dircolors -c /etc/DIR_COLORS`
+endif
+[ ! -f $HOME/.dir_colors -a ! -f /etc/DIR_COLORS ]
+if ($status == 0) then
+ eval `/bin/dircolors -c`
+endif
+
diff --git a/patches/source/coreutils/coreutils-dircolors.sh b/patches/source/coreutils/coreutils-dircolors.sh
new file mode 100644
index 00000000..fc848c6f
--- /dev/null
+++ b/patches/source/coreutils/coreutils-dircolors.sh
@@ -0,0 +1,54 @@
+# Slackware color ls profile script for /bin/sh-like shells.
+
+# Set up LS_OPTIONS environment variable.
+# This contains extra command line options to use with ls.
+# The default ones are:
+# -F = show '/' for dirs, '*' for executables, etc.
+# -T 0 = don't trust tab spacing when formatting ls output.
+# -b = better support for special characters
+OPTIONS="-F -b -T 0"
+
+# COLOR needs one of these arguments:
+# 'auto' colorizes output to ttys, but not pipes.
+# 'always' adds color characters to all output.
+# 'never' shuts colorization off.
+COLOR=auto
+
+
+# This section shouldn't require any user adjustment since it is
+# simply setting the LS_OPTIONS variable using the information
+# already given above:
+LS_OPTIONS="$OPTIONS --color=$COLOR";
+export LS_OPTIONS;
+unset COLOR
+unset OPTIONS
+
+# Set up aliases to use color ls by default. A few additional
+# aliases like 'dir', 'vdir', etc, are some ancient artifacts
+# from 1992 or so... possibly they should be disabled, but maybe
+# someone out there is actually using them? :-)
+# Assume shell aliases are supported.
+if [ "$SHELL" = "/bin/zsh" ] ; then
+ # By default, zsh doesn't split parameters into separate words
+ # when it encounters whitespace. The '=' flag will fix this.
+ # see zshexpn(1) man-page regarding SH_WORD_SPLIT.
+ alias ls='/bin/ls ${=LS_OPTIONS}'
+ alias dir='/bin/ls ${=LS_OPTIONS} --format=vertical'
+ alias vdir='/bin/ls ${=LS_OPTIONS} --format=long'
+else
+ alias ls='/bin/ls $LS_OPTIONS'
+ alias dir='/bin/ls $LS_OPTIONS --format=vertical'
+ alias vdir='/bin/ls $LS_OPTIONS --format=long'
+fi
+alias d=dir
+alias v=vdir
+
+# Set up the LS_COLORS environment:
+if [ -f $HOME/.dir_colors ]; then
+ eval `/bin/dircolors -b $HOME/.dir_colors`
+elif [ -f /etc/DIR_COLORS ]; then
+ eval `/bin/dircolors -b /etc/DIR_COLORS`
+else
+ eval `/bin/dircolors -b`
+fi
+
diff --git a/patches/source/coreutils/coreutils.SlackBuild b/patches/source/coreutils/coreutils.SlackBuild
new file mode 100755
index 00000000..f804dfc9
--- /dev/null
+++ b/patches/source/coreutils/coreutils.SlackBuild
@@ -0,0 +1,195 @@
+#!/bin/sh
+
+# Copyright 2005-2010, 2012 Patrick J. Volkerding, Sebeka, MN, USA
+# All rights reserved.
+#
+# Redistribution and use of this script, with or without modification, is
+# permitted provided that the following conditions are met:
+#
+# 1. Redistributions of this script must retain the above copyright
+# notice, this list of conditions and the following disclaimer.
+#
+# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED
+# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
+# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
+# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+PKGNAM=coreutils
+VERSION=${VERSION:-$(echo $PKGNAM-*.tar.?z | cut -d - -f 2 | rev | cut -f 3- -d . | rev)}
+BUILD=${BUILD:-1_slack13.0}
+
+NUMJOBS=${NUMJOBS:--j6}
+
+# Automatically determine the architecture we're building on:
+if [ -z "$ARCH" ]; then
+ case "$( uname -m )" in
+ i?86) export ARCH=i486 ;;
+ arm*) export ARCH=arm ;;
+ # Unless $ARCH is already set, use uname -m for all other archs:
+ *) export ARCH=$( uname -m ) ;;
+ esac
+fi
+
+CWD=$(pwd)
+TMP=${TMP:-/tmp}
+PKG=$TMP/package-$PKGNAM
+
+if [ "$ARCH" = "i486" ]; then
+ SLKCFLAGS="-O2 -march=i486 -mtune=i686"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "s390" ]; then
+ SLKCFLAGS="-O2"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "x86_64" ]; then
+ SLKCFLAGS="-O2 -fPIC"
+ LIBDIRSUFFIX="64"
+elif [ "$ARCH" = "arm" ]; then
+ SLKCFLAGS="-O2 -march=armv4 -mtune=xscale"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "armel" ]; then
+ SLKCFLAGS="-O2 -march=armv4t"
+ LIBDIRSUFFIX=""
+else
+ SLKCFLAGS="-O2"
+ LIBDIRSUFFIX=""
+fi
+
+rm -rf $PKG
+mkdir -p $TMP $PKG
+cd $TMP
+
+rm -rf $PKGNAM-$VERSION
+if [ -r $CWD/$PKGNAM-$VERSION.tar.gz ]; then
+ tar xf $CWD/$PKGNAM-$VERSION.tar.gz || exit 1
+elif [ -r $CWD/$PKGNAM-$VERSION.tar.bz2 ]; then
+ tar xf $CWD/$PKGNAM-$VERSION.tar.bz2 || exit 1
+elif [ -r $CWD/$PKGNAM-$VERSION.tar.xz ]; then
+ tar xf $CWD/$PKGNAM-$VERSION.tar.xz || exit 1
+elif [ -r $CWD/$PKGNAM-$VERSION.tar.lzma ]; then
+ tar xf $CWD/$PKGNAM-$VERSION.tar.lzma || exit 1
+else
+ exit 1
+fi
+
+cd $PKGNAM-$VERSION
+chown -R root:root .
+find . \
+ \( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \
+ -exec chmod 755 {} \; -o \
+ \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \
+ -exec chmod 644 {} \;
+
+# Patch uname to correctly display CPU information:
+zcat $CWD/$PKGNAM.uname.diff.gz | patch -p1 --verbose --backup --suffix=.orig || exit 1
+
+# Compilation with glibc version later than 2.3.2 needs the environment
+# variable DEFAULT_POSIX2_VERSION set to 199209.
+# Without the next line, the coreutils will start complaining about 'obsolete'
+# command switches, like "tail -20" will be considered obsolete.
+# This behaviour breaks many other packages... the 'obsolete' parameters are
+# too commonly used to disregard them. Better to stick with the older more
+# widely accepted standards until things begin to demand the new way.
+
+CFLAGS="$SLKCFLAGS" \
+DEFAULT_POSIX2_VERSION=199209 \
+./configure \
+ --prefix=/usr \
+ --bindir=/bin \
+ --mandir=/usr/man \
+ --infodir=/usr/info \
+ --sysconfdir=/etc \
+ --libdir=/usr/lib${LIBDIRSUFFIX} \
+ --without-gmp \
+ --build=$ARCH-slackware-linux
+
+make $NUMJOBS || make || exit 1
+make install DESTDIR=$PKG
+
+find $PKG | xargs file | grep -e "executable" -e "shared object" \
+ | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
+
+# We have had the mktemp from debianutils included with Slackware for quite a
+# long time, and certain options are changed here, like changing -u to mean a
+# dry-run rather than to unlink the tempfile when finished. Since this could
+# break existing scripts, unless someone can tell me a good reason why we
+# should start using a new version of mktemp, we will continue to use the
+# one we've been using. If the new one starts to become expected, let me know.
+# We'll figure out what the best options are and go from there.
+mv $PKG/bin/mktemp $PKG/bin/mktemp-gnu
+mv $PKG/usr/man/man1/mktemp.1 $PKG/usr/man/man1/mktemp-gnu.1
+
+# This seems wrong, and it stomps on files in the ksh93 package, though I'm
+# not sure the placement of those is correct, either... The ksh93 package
+# installs them as flat text files, while coreutils installs empty directories
+# Oh well, this is what we've done for years, and nobody's complained...
+rm -rf $PKG/usr/share/locale/*/LC_TIME
+
+# These are important enough that they should probably all go into /bin at this
+# point... Having some of them unavailable when /usr isn't mounted is just a
+# source of unending bug reports for various third party applications.
+# Time to end those reports. :-)
+mkdir -p $PKG/bin $PKG/usr/bin
+( cd $PKG/usr/bin
+ for file in ../../bin/* ; do
+ ln --verbose -sf $file .
+ done
+)
+
+# Add some defaults, although a very slack-like set of default options are built
+# into /bin/ls now anyway:
+mkdir -p $PKG/etc
+zcat $CWD/DIR_COLORS.gz > $PKG/etc/DIR_COLORS.new
+
+# Since dircolors no longer provides any default aliases these scripts
+# will be needed for ls to act as expected:
+mkdir -p $PKG/etc/profile.d
+zcat $CWD/coreutils-dircolors.csh.gz > $PKG/etc/profile.d/coreutils-dircolors.csh
+zcat $CWD/coreutils-dircolors.sh.gz > $PKG/etc/profile.d/coreutils-dircolors.sh
+chmod 755 $PKG/etc/profile.d/*
+
+# Remove things that are provided by other Slackware packages:
+for dupe in hostname kill su uptime ; do
+ rm -f $PKG/bin/${dupe} $PKG/usr/bin/${dupe} \
+ $PKG/usr/sbin/${dupe} $PKG/usr/man/man?/${dupe}.* ;
+done
+
+# Add ginstall links (there's still a lot of stuff that needs this to compile):
+( cd $PKG/bin ; ln -sf install ginstall )
+( cd $PKG/usr/bin ; ln -sf ../../bin/ginstall ginstall )
+( cd $PKG/usr/man/man1 ; ln -sf install.1 ginstall.1 )
+
+( cd $PKG/usr/man
+ find . -type f -exec gzip -9 {} \;
+ for i in $(find . -type l) ; do ln -s $(readlink $i).gz $i.gz ; rm $i ; done
+)
+
+rm -f $PKG/usr/info/dir
+gzip -9 $PKG/usr/info/*
+
+mkdir -p $PKG/usr/doc/$PKGNAM-$VERSION
+cp -a \
+ AUTHORS COPYING* NEWS README* THANKS THANKS-to-translators TODO \
+ $PKG/usr/doc/$PKGNAM-$VERSION
+
+# If there's a ChangeLog, installing at least part of the recent history
+# is useful, but don't let it get totally out of control:
+if [ -r ChangeLog ]; then
+ DOCSDIR=$(echo $PKG/usr/doc/${PKGNAM}-$VERSION)
+ cat ChangeLog | head -n 1000 > $DOCSDIR/ChangeLog
+ touch -r ChangeLog $DOCSDIR/ChangeLog
+fi
+
+mkdir -p $PKG/install
+zcat $CWD/doinst.sh.gz > $PKG/install/doinst.sh
+cat $CWD/slack-desc > $PKG/install/slack-desc
+
+# Build the package:
+cd $PKG
+/sbin/makepkg -l y -c n $TMP/$PKGNAM-$VERSION-$ARCH-$BUILD.txz
+
diff --git a/patches/source/coreutils/coreutils.uname.diff b/patches/source/coreutils/coreutils.uname.diff
new file mode 100644
index 00000000..69911031
--- /dev/null
+++ b/patches/source/coreutils/coreutils.uname.diff
@@ -0,0 +1,152 @@
+diff -Nur coreutils-7.6.orig/src/uname.c coreutils-7.6/src/uname.c
+--- coreutils-7.6.orig/src/uname.c 2009-09-01 06:01:16.000000000 -0500
++++ coreutils-7.6/src/uname.c 2009-09-15 08:55:26.239452858 -0500
+@@ -50,6 +50,11 @@
+ # include <mach-o/arch.h>
+ #endif
+
++#if defined (__linux__)
++# define USE_PROCINFO
++# define UNAME_HARDWARE_PLATFORM
++#endif
++
+ #include "system.h"
+ #include "error.h"
+ #include "quote.h"
+@@ -155,6 +160,106 @@
+ exit (status);
+ }
+
++#if defined(USE_PROCINFO)
++
++# if defined(__s390__) || defined(__s390x__)
++# define CPUINFO_FILE "/proc/sysinfo"
++# define CPUINFO_FORMAT "%64[^\t :]%*[ :]%256[^\n]%c"
++# else
++# define CPUINFO_FILE "/proc/cpuinfo"
++# define CPUINFO_FORMAT "%64[^\t:]\t:%256[^\n]%c"
++# endif
++
++# define PROCINFO_PROCESSOR 0
++# define PROCINFO_HARDWARE_PLATFORM 1
++
++static void __eat_cpuinfo_space(char *buf)
++{
++ /* first eat trailing space */
++ char *tmp = buf + strlen(buf) - 1;
++ while (tmp > buf && isspace(*tmp))
++ *tmp-- = '\0';
++ /* then eat leading space */
++ tmp = buf;
++ while (*tmp && isspace(*tmp))
++ tmp++;
++ if (tmp != buf)
++ memmove(buf, tmp, strlen(tmp)+1);
++}
++
++static int __linux_procinfo (int x, char *fstr, size_t s)
++{
++ FILE *fp;
++
++ char *procinfo_keys[] = {
++ /* --processor --hardware-platform */
++ #if defined(__alpha__)
++ "cpu model", "system type"
++ #elif defined(__arm__)
++ "Processor", "Hardware"
++ #elif defined(bfin)
++ "CPU", "BOARD Name"
++ #elif defined(__cris__)
++ "cpu", "cpu model"
++ #elif defined(__frv__)
++ "CPU-Core", "System"
++ #elif defined(__i386__) || defined(__x86_64__)
++ "model name", "vendor_id"
++ #elif defined(__ia64__)
++ "family", "vendor"
++ #elif defined(__hppa__)
++ "cpu", "model"
++ #elif defined(__m68k__)
++ "CPU", "MMU"
++ #elif defined(__mips__)
++ "cpu model", "system type"
++ #elif defined(__powerpc__) || defined(__powerpc64__)
++ "cpu", "machine"
++ #elif defined(__s390__) || defined(__s390x__)
++ "Type", "Manufacturer"
++ #elif defined(__sh__)
++ "cpu type", "machine"
++ #elif defined(sparc) || defined(__sparc__)
++ "type", "cpu"
++ #elif defined(__vax__)
++ "cpu type", "cpu"
++ #else
++ "unknown", "unknown"
++ #endif
++ };
++
++ if ((fp = fopen(CPUINFO_FILE, "r")) != NULL) {
++ char key[65], value[257], eol, *ret = NULL;
++
++ while (fscanf(fp, CPUINFO_FORMAT, key, value, &eol) != EOF) {
++ __eat_cpuinfo_space(key);
++ if (!strcmp(key, procinfo_keys[x])) {
++ __eat_cpuinfo_space(value);
++ ret = value;
++ break;
++ }
++ if (eol != '\n') {
++ /* we need two fscanf's here in case the previous
++ * length limit caused us to read right up to the
++ * newline ... doing "%*[^\n]\n" wont eat the newline
++ */
++ fscanf(fp, "%*[^\n]");
++ fscanf(fp, "\n");
++ }
++ }
++ fclose(fp);
++
++ if (ret) {
++ strncpy(fstr, ret, s);
++ return 0;
++ }
++ }
++
++ return -1;
++}
++
++#endif
++
+ /* Print ELEMENT, preceded by a space if something has already been
+ printed. */
+
+@@ -302,10 +407,14 @@
+ if (toprint & PRINT_PROCESSOR)
+ {
+ char const *element = unknown;
+-#if HAVE_SYSINFO && defined SI_ARCHITECTURE
++#if ( HAVE_SYSINFO && defined SI_ARCHITECTURE ) || defined(USE_PROCINFO)
+ {
+ static char processor[257];
++#if defined(USE_PROCINFO)
++ if (0 <= __linux_procinfo (PROCINFO_PROCESSOR, processor, sizeof processor))
++#else
+ if (0 <= sysinfo (SI_ARCHITECTURE, processor, sizeof processor))
++#endif
+ element = processor;
+ }
+ #endif
+@@ -358,9 +467,13 @@
+ if (element == unknown)
+ {
+ static char hardware_platform[257];
++#if defined(USE_PROCINFO)
++ if (0 <= __linux_procinfo (PROCINFO_HARDWARE_PLATFORM, hardware_platform, sizeof hardware_platform))
++#else
+ size_t s = sizeof hardware_platform;
+ static int mib[] = { CTL_HW, UNAME_HARDWARE_PLATFORM };
+ if (sysctl (mib, 2, hardware_platform, &s, 0, 0) >= 0)
++#endif
+ element = hardware_platform;
+ }
+ #endif
diff --git a/patches/source/coreutils/doinst.sh b/patches/source/coreutils/doinst.sh
new file mode 100644
index 00000000..b1a6112f
--- /dev/null
+++ b/patches/source/coreutils/doinst.sh
@@ -0,0 +1,13 @@
+config() {
+ NEW="$1"
+ OLD="$(dirname $NEW)/$(basename $NEW .new)"
+ # If there's no config file by that name, mv it over:
+ if [ ! -r $OLD ]; then
+ mv $NEW $OLD
+ elif [ "$(cat $OLD | md5sum)" = "$(cat $NEW | md5sum)" ]; then # toss the redundant copy
+ rm $NEW
+ fi
+ # Otherwise, we leave the .new copy for the admin to consider...
+}
+config etc/DIR_COLORS.new
+
diff --git a/patches/source/coreutils/slack-desc b/patches/source/coreutils/slack-desc
new file mode 100644
index 00000000..57e562d3
--- /dev/null
+++ b/patches/source/coreutils/slack-desc
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|'
+# on the right side marks the last column you can put a character in. You must
+# make exactly 11 lines for the formatting to be correct. It's also
+# customary to leave one space after the ':'.
+
+ |-----handy-ruler------------------------------------------------------|
+coreutils: coreutils (core GNU utilities)
+coreutils:
+coreutils: These are the GNU core utilities, the basic command line programs
+coreutils: such as 'mkdir', 'ls', and 'rm' that are needed for the system to
+coreutils: run. This package is the union of the GNU fileutils, sh-utils, and
+coreutils: textutils packages. Most of these programs have significant
+coreutils: advantages over their Unix counterparts, such as greater speed,
+coreutils: additional options, and fewer arbitrary limits.
+coreutils:
+coreutils:
+coreutils:
diff --git a/patches/source/cups/cups-1.3.x.CVE-2010-0542.diff b/patches/source/cups/cups-1.3.x.CVE-2010-0542.diff
new file mode 100644
index 00000000..6c234f03
--- /dev/null
+++ b/patches/source/cups/cups-1.3.x.CVE-2010-0542.diff
@@ -0,0 +1,25 @@
+--- ./filter/texttops.c.orig 2008-10-09 15:12:03.000000000 -0500
++++ ./filter/texttops.c 2010-11-27 12:42:33.000000000 -0600
+@@ -181,8 +181,20 @@
+ exit(1);
+ }
+
+- Page = calloc(sizeof(lchar_t *), SizeLines);
+- Page[0] = calloc(sizeof(lchar_t), SizeColumns * SizeLines);
++ if ((Page = calloc(sizeof(lchar_t *), SizeLines)) == NULL)
++ {
++ _cupsLangPrintf(stderr, _("ERROR: Unable to print %dx%d text page.\n"),
++ SizeColumns, SizeLines);
++ exit(1);
++ }
++
++ if ((Page[0] = calloc(sizeof(lchar_t), SizeColumns * SizeLines)) == NULL)
++ {
++ _cupsLangPrintf(stderr, _("ERROR: Unable to print %dx%d text page.\n"),
++ SizeColumns, SizeLines);
++ exit(1);
++ }
++
+ for (i = 1; i < SizeLines; i ++)
+ Page[i] = Page[0] + i * SizeColumns;
+
diff --git a/patches/source/cups/cups-1.3.x.CVE-2010-2941.diff b/patches/source/cups/cups-1.3.x.CVE-2010-2941.diff
new file mode 100644
index 00000000..5dd4d7c0
--- /dev/null
+++ b/patches/source/cups/cups-1.3.x.CVE-2010-2941.diff
@@ -0,0 +1,44 @@
+--- ./cups/ipp.c.orig 2009-01-21 17:43:53.000000000 -0600
++++ ./cups/ipp.c 2010-11-27 13:05:25.000000000 -0600
+@@ -1187,15 +1187,18 @@
+
+ attr->value_tag = tag;
+ }
+- else if (value_tag >= IPP_TAG_TEXTLANG &&
+- value_tag <= IPP_TAG_MIMETYPE)
++ else if (value_tag == IPP_TAG_TEXTLANG ||
++ value_tag == IPP_TAG_NAMELANG ||
++ (value_tag >= IPP_TAG_TEXT &&
++ value_tag <= IPP_TAG_MIMETYPE))
+ {
+ /*
+ * String values can sometimes come across in different
+ * forms; accept sets of differing values...
+ */
+
+- if (tag < IPP_TAG_TEXTLANG || tag > IPP_TAG_MIMETYPE)
++ if (tag != IPP_TAG_TEXTLANG && tag != IPP_TAG_NAMELANG &&
++ (tag < IPP_TAG_TEXT || tag > IPP_TAG_MIMETYPE))
+ return (IPP_ERROR);
+ }
+ else if (value_tag != tag)
+@@ -2529,6 +2532,7 @@
+ {
+ case IPP_TAG_TEXT :
+ case IPP_TAG_NAME :
++ case IPP_TAG_RESERVED_STRING :
+ case IPP_TAG_KEYWORD :
+ case IPP_TAG_URI :
+ case IPP_TAG_URISCHEME :
+--- ./cups/ipp.h.orig 2008-07-11 17:48:49.000000000 -0500
++++ ./cups/ipp.h 2010-11-27 13:05:25.000000000 -0600
+@@ -94,7 +94,8 @@
+ IPP_TAG_END_COLLECTION, /* End of collection value */
+ IPP_TAG_TEXT = 0x41, /* Text value */
+ IPP_TAG_NAME, /* Name value */
+- IPP_TAG_KEYWORD = 0x44, /* Keyword value */
++ IPP_TAG_RESERVED_STRING, /* Reserved for future string value @private@ */
++ IPP_TAG_KEYWORD, /* Keyword value */
+ IPP_TAG_URI, /* URI value */
+ IPP_TAG_URISCHEME, /* URI scheme value */
+ IPP_TAG_CHARSET, /* Character set value */
diff --git a/patches/source/cups/cups.SlackBuild b/patches/source/cups/cups.SlackBuild
new file mode 100755
index 00000000..fc60430d
--- /dev/null
+++ b/patches/source/cups/cups.SlackBuild
@@ -0,0 +1,185 @@
+#!/bin/sh
+
+# Copyright 2008, 2009, 2010 Patrick J. Volkerding, Sebeka, Minnesota, USA
+# All rights reserved.
+#
+# Redistribution and use of this script, with or without modification, is
+# permitted provided that the following conditions are met:
+#
+# 1. Redistributions of this script must retain the above copyright
+# notice, this list of conditions and the following disclaimer.
+#
+# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED
+# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
+# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
+# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+# CUPS build script by volkerdi@slackware.com.
+
+VERSION=1.3.11
+BUILD=${BUILD:-3_slack13.0}
+
+# Automatically determine the architecture we're building on:
+if [ -z "$ARCH" ]; then
+ case "$( uname -m )" in
+ i?86) export ARCH=i486 ;;
+ arm*) export ARCH=arm ;;
+ # Unless $ARCH is already set, use uname -m for all other archs:
+ *) export ARCH=$( uname -m ) ;;
+ esac
+fi
+
+NUMJOBS=${NUMJOBS:-" -j7 "}
+
+if [ "$ARCH" = "x86_64" ]; then
+ LIBDIRSUFFIX="64"
+else
+ LIBDIRSUFFIX=""
+fi
+
+CWD=$(pwd)
+TMP=${TMP:-/tmp}
+PKG=$TMP/package-cups
+
+rm -rf $PKG
+mkdir -p $TMP $PKG
+
+cd $TMP
+rm -rf cups-$VERSION
+tar xvf $CWD/cups-$VERSION-source.tar.?z* || exit 1
+cd cups-$VERSION
+
+zcat $CWD/cups.firefox.desktop.diff.gz | patch -p1 --verbose || exit 1
+
+zcat $CWD/cups-1.3.x.CVE-2010-0542.diff.gz | patch -p1 --verbose || exit 1
+zcat $CWD/cups-1.3.x.CVE-2010-2941.diff.gz | patch -p1 --verbose || exit 1
+zcat $CWD/str4609-1.3.patch.gz | patch -p0 --verbose --ignore-whitespace || exit 1
+
+sed -i.orig -e 's#$exec_prefix/lib/cups#$libdir/cups#g' configure
+./configure \
+ --libdir=/usr/lib${LIBDIRSUFFIX} \
+ --enable-ssl \
+ --enable-openssl=yes \
+ --enable-gnutls=no \
+ --enable-cdsassl=no \
+ --docdir=/usr/doc \
+ --without-php \
+ --disable-pam \
+ --build=$ARCH-slackware-linux
+
+make $NUMJOBS || exit 1
+mkdir -p $PKG/etc/cups
+mkdir -p $PKG/var/spool
+make BUILDROOT=$PKG install || exit 1
+
+# I've added so many things like /etc/init.d/ to Slackware that CUPS
+# is now installing init scripts to the Red Hat locations. We'll move
+# them to the usual locations:
+mkdir -p $PKG/etc/rc.d
+# Handle this as a config file, and non-executable in a default install:
+mv $PKG/etc/init.d/cups $PKG/etc/rc.d/rc.cups.new
+chmod 644 $PKG/etc/rc.d/rc.cups.new
+# Clear out the additions:
+rm -rf $PKG/etc/init.d $PKG/etc/rc{0,2,3,5}.d
+
+# I'm not sure if overwriting this blindly could have ill effects,
+# but it never hurts to play it safe. According to the dbus-daemon
+# manpage, only files ending in .conf will be used, so there won't
+# be any unintended doubling up.
+mv $PKG/etc/dbus-1/system.d/cups.conf $PKG/etc/dbus-1/system.d/cups.conf.new
+
+# For full CUPS SMB support, you'll need to install the cups-samba
+# package from the source in this directory. There's no easy way
+# to add that to a package build, and the requests aren't pouring in,
+# so you'll have to install it yourself. It's easy to do.
+
+# However, this will get you the most useful SMB support for free.
+# Thanks to Boris Kurktchiev for the tip. :-)
+( cd $PKG/usr/lib${LIBDIRSUFFIX}/cups/backend
+ if [ ! -e smb ]; then
+ ln -sf /usr/bin/smbspool smb
+ fi
+)
+
+mkdir -p $PKG/install
+cat $CWD/slack-desc > $PKG/install/slack-desc
+
+# Remove preformatted manpages and move the manpages to /usr/man:
+( cd $PKG/usr/share/man
+ find . -type d -name "cat*" | xargs rm -rf
+ cd ..
+ mv man ..
+)
+
+# Adjust/expand docs:
+( mkdir -p $PKG/usr/doc
+ mv $PKG/usr/share/doc/cups $PKG/usr/doc/cups-$VERSION
+ rmdir $PKG/usr/share/doc
+ cd $PKG/usr/doc
+ ln -sf cups-$VERSION cups )
+
+# I'm sorry, but PDF files are almost as bloated and annoying as
+# MS Word documents. We'll retain the HTML files in /usr/doc.
+( cd $PKG/usr/doc
+ find . -name "*.pdf" -exec rm -f {} \; )
+
+# Apply no-clobber fix to conffiles:
+( cd $PKG/etc/cups
+ for file in * ; do
+ if [ -f $file ]; then
+ mv $file $file.new
+ fi
+ done )
+
+# Strip stuff:
+find $PKG | xargs file | grep -e "executable" -e "shared object" \
+ | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
+
+# Use symlinks to certain binaries so that CUPS and LPRng can coexist:
+SUFFIX=cups
+for file in \
+usr/bin/cancel \
+usr/bin/lp \
+usr/bin/lpq \
+usr/bin/lpr \
+usr/bin/lprm \
+usr/bin/lpstat \
+usr/sbin/lpc ; do
+ ( cd $PKG
+ mv ${file} ${file}-${SUFFIX}
+ ( cd `dirname ${file}` ; ln -sf `basename ${file}`-${SUFFIX} `basename ${file}` )
+ )
+done
+# Now fix the associated man pages:
+mv $PKG/usr/man/man1/cancel.1.gz $PKG/usr/man/man1/cancel-${SUFFIX}.1.gz
+mv $PKG/usr/man/man1/lp.1.gz $PKG/usr/man/man1/lp-${SUFFIX}.1.gz
+mv $PKG/usr/man/man1/lpq.1.gz $PKG/usr/man/man1/lpq-${SUFFIX}.1.gz
+mv $PKG/usr/man/man1/lpr.1.gz $PKG/usr/man/man1/lpr-${SUFFIX}.1.gz
+mv $PKG/usr/man/man1/lprm.1.gz $PKG/usr/man/man1/lprm-${SUFFIX}.1.gz
+mv $PKG/usr/man/man1/lpstat.1.gz $PKG/usr/man/man1/lpstat-${SUFFIX}.1.gz
+mv $PKG/usr/man/man8/lpc.8.gz $PKG/usr/man/man8/lpc-${SUFFIX}.8.gz
+( cd $PKG/usr/man/man1
+ ln -sf cancel-${SUFFIX}.1.gz cancel.1.gz
+ ln -sf lp-${SUFFIX}.1.gz lp.1.gz
+ ln -sf lpq-${SUFFIX}.1.gz lpq.1.gz
+ ln -sf lpr-${SUFFIX}.1.gz lpr.1.gz
+ ln -sf lprm-${SUFFIX}.1.gz lprm.1.gz
+ ln -sf lpstat-${SUFFIX}.1.gz lpstat.1.gz
+)
+( cd $PKG/usr/man/man8
+ ln -sf lpc-${SUFFIX}.8.gz lpc.8.gz
+)
+
+# Add the doinst.sh that installs the .new conffiles:
+zcat $CWD/doinst.sh.gz > $PKG/install/doinst.sh
+
+# Build the package:
+cd $PKG
+/sbin/makepkg -l y -c n $TMP/cups-$VERSION-$ARCH-$BUILD.txz
+
diff --git a/patches/source/cups/cups.firefox.desktop.diff b/patches/source/cups/cups.firefox.desktop.diff
new file mode 100644
index 00000000..96affd5a
--- /dev/null
+++ b/patches/source/cups/cups.firefox.desktop.diff
@@ -0,0 +1,11 @@
+diff -u -r --new-file cups-1.3.11.orig/desktop/cups.desktop cups-1.3.11/desktop/cups.desktop
+--- cups-1.3.11.orig/desktop/cups.desktop 2008-09-05 19:30:39.000000000 -0500
++++ cups-1.3.11/desktop/cups.desktop 2009-08-21 20:18:23.604682681 -0500
+@@ -1,6 +1,6 @@
+ [Desktop Entry]
+ Categories=System;Printing;HardwareSettings;X-Red-Hat-Base;
+-Exec=htmlview http://localhost:631/
++Exec=firefox http://localhost:631/
+ Icon=cups
+ StartupNotify=false
+ Terminal=false
diff --git a/patches/source/cups/doinst.sh b/patches/source/cups/doinst.sh
new file mode 100644
index 00000000..3f56dab3
--- /dev/null
+++ b/patches/source/cups/doinst.sh
@@ -0,0 +1,28 @@
+config() {
+ NEW="$1"
+ OLD="`dirname $NEW`/`basename $NEW .new`"
+ # If there's no config file by that name, mv it over:
+ if [ ! -r $OLD ]; then
+ mv $NEW $OLD
+ elif [ "`cat $OLD | md5sum`" = "`cat $NEW | md5sum`" ]; then # toss the redundant copy
+ rm $NEW
+ fi
+ # Otherwise, we leave the .new copy for the admin to consider...
+}
+for file in etc/cups/*.new ; do
+ config $file
+done
+config etc/dbus-1/system.d/cups.conf.new
+
+# Leave any new rc.cups with the same permissions as the old one:
+# This is a kludge, but it's because there's no --reference option
+# on busybox's 'chmod':
+if [ -e etc/rc.d/rc.cups ]; then
+ if [ -x etc/rc.d/rc.cups ]; then
+ chmod 755 etc/rc.d/rc.cups.new
+ else
+ chmod 644 etc/rc.d/rc.cups.new
+ fi
+fi
+# Then config() it:
+config etc/rc.d/rc.cups.new
diff --git a/patches/source/cups/slack-desc b/patches/source/cups/slack-desc
new file mode 100644
index 00000000..c2e1643c
--- /dev/null
+++ b/patches/source/cups/slack-desc
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|' on
+# the right side marks the last column you can put a character in. You must make
+# exactly 11 lines for the formatting to be correct. It's also customary to
+# leave one space after the ':'.
+
+ |-----handy-ruler------------------------------------------------------|
+cups: CUPS (Common UNIX Printing System)
+cups:
+cups: The Common UNIX Printing System provides a portable printing layer for
+cups: UNIX(R)-like operating systems. It has been developed by Easy Software
+cups: Products to promote a standard printing solution for all UNIX vendors
+cups: and users. CUPS uses the Internet Printing Protocol ("IPP") as the
+cups: basis for managing print jobs and queues. The CUPS package includes
+cups: System V and Berkeley command-line interfaces, a PostScript RIP
+cups: package for supporting non-PostScript printer drivers, and tools for
+cups: creating additional printer drivers and other CUPS services.
+cups:
diff --git a/patches/source/cups/str4609-1.3.patch b/patches/source/cups/str4609-1.3.patch
new file mode 100644
index 00000000..da4664a0
--- /dev/null
+++ b/patches/source/cups/str4609-1.3.patch
@@ -0,0 +1,324 @@
+Index: cgi-bin/ipp-var.c
+===================================================================
+--- cgi-bin/ipp-var.c (revision 12588)
++++ cgi-bin/ipp-var.c (working copy)
+@@ -1048,21 +1048,7 @@
+ * Rewrite URIs...
+ */
+
+- if (!strcmp(name, "member_uris"))
+- {
+- char url[1024]; /* URL for class member... */
+-
+-
+- cgiRewriteURL(attr->values[i].string.text, url,
+- sizeof(url), NULL);
+-
+- snprintf(valptr, sizeof(value) - (valptr - value),
+- "<A HREF=\"%s\">%s</A>", url,
+- strrchr(attr->values[i].string.text, '/') + 1);
+- }
+- else
+- cgiRewriteURL(attr->values[i].string.text, valptr,
+- sizeof(value) - (valptr - value), NULL);
++ cgiRewriteURL(attr->values[i].string.text, valptr, sizeof(value) - (valptr - value), NULL);
+ break;
+ }
+
+Index: cgi-bin/template.c
+===================================================================
+--- cgi-bin/template.c (revision 12588)
++++ cgi-bin/template.c (working copy)
+@@ -602,39 +602,7 @@
+ while (*s)
+ {
+ if (*s == '<')
+- {
+- /*
+- * Pass <A HREF="url"> and </A>, otherwise quote it...
+- */
+-
+- if (!strncasecmp(s, "<A HREF=\"", 9))
+- {
+- fputs("<A HREF=\"", out);
+- s += 9;
+-
+- while (*s && *s != '\"')
+- {
+- if (*s == '&')
+- fputs("&amp;", out);
+- else
+- putc(*s, out);
+-
+- s ++;
+- }
+-
+- if (*s)
+- s ++;
+-
+- fputs("\">", out);
+- }
+- else if (!strncasecmp(s, "</A>", 4))
+- {
+- fputs("</A>", out);
+- s += 3;
+- }
+- else
+- fputs("&lt;", out);
+- }
++ fputs("&lt;", out);
+ else if (*s == '>')
+ fputs("&gt;", out);
+ else if (*s == '\"')
+Index: scheduler/ipp.c
+===================================================================
+--- scheduler/ipp.c (revision 12588)
++++ scheduler/ipp.c (working copy)
+@@ -463,8 +463,8 @@
+ * Remote unauthenticated user masquerading as local root...
+ */
+
+- _cupsStrFree(username->values[0].string.text);
+- username->values[0].string.text = _cupsStrAlloc(RemoteRoot);
++ _cupsStrFree(username->values[0].string.text);
++ username->values[0].string.text = _cupsStrAlloc(RemoteRoot);
+ }
+ }
+
+@@ -1517,7 +1517,10 @@
+ cupsdSetString(&job->username, con->username);
+
+ if (attr)
+- cupsdSetString(&attr->values[0].string.text, con->username);
++ {
++ _cupsStrFree(attr->values[0].string.text);
++ attr->values[0].string.text = _cupsStrAlloc(con->username);
++ }
+ }
+ else if (attr)
+ {
+@@ -1568,48 +1571,11 @@
+ * Also, we can only have 1 value and it must be a name value.
+ */
+
+- switch (attr->value_tag)
+- {
+- case IPP_TAG_STRING :
+- case IPP_TAG_TEXTLANG :
+- case IPP_TAG_NAMELANG :
+- case IPP_TAG_TEXT :
+- case IPP_TAG_NAME :
+- case IPP_TAG_KEYWORD :
+- case IPP_TAG_URI :
+- case IPP_TAG_URISCHEME :
+- case IPP_TAG_CHARSET :
+- case IPP_TAG_LANGUAGE :
+- case IPP_TAG_MIMETYPE :
+- /*
+- * Free old strings...
+- */
+-
+- for (i = 0; i < attr->num_values; i ++)
+- {
+- _cupsStrFree(attr->values[i].string.text);
+- attr->values[i].string.text = NULL;
+- if (attr->values[i].string.charset)
+- {
+- _cupsStrFree(attr->values[i].string.charset);
+- attr->values[i].string.charset = NULL;
+- }
+- }
+-
+- default :
+- break;
+- }
+-
+- /*
+- * Use the default connection hostname instead...
+- */
+-
+- attr->value_tag = IPP_TAG_NAME;
+- attr->num_values = 1;
+- attr->values[0].string.text = _cupsStrAlloc(con->http.hostname);
++ ippDeleteAttribute(job->attrs, attr);
++ ippAddString(job->attrs, IPP_TAG_JOB, IPP_TAG_NAME, "job-originating-host-name", NULL, con->http.hostname);
+ }
+-
+- attr->group_tag = IPP_TAG_JOB;
++ else
++ attr->group_tag = IPP_TAG_JOB;
+ }
+ else
+ {
+@@ -1731,7 +1697,8 @@
+ * Force the leading banner to have the classification on it...
+ */
+
+- cupsdSetString(&attr->values[0].string.text, Classification);
++ _cupsStrFree(attr->values[0].string.text);
++ attr->values[0].string.text = _cupsStrAlloc(Classification);
+
+ cupsdLogMessage(CUPSD_LOG_NOTICE, "[Job %d] CLASSIFICATION FORCED "
+ "job-sheets=\"%s,none\", "
+@@ -1748,7 +1715,8 @@
+ * Can't put two different security markings on the same document!
+ */
+
+- cupsdSetString(&attr->values[1].string.text, attr->values[0].string.text);
++ _cupsStrFree(attr->values[1].string.text);
++ attr->values[1].string.text = _cupsStrAlloc(attr->values[0].string.text);
+
+ cupsdLogMessage(CUPSD_LOG_NOTICE, "[Job %d] CLASSIFICATION FORCED "
+ "job-sheets=\"%s,%s\", "
+@@ -1788,18 +1756,26 @@
+ if (attr->num_values > 1 &&
+ !strcmp(attr->values[0].string.text, attr->values[1].string.text))
+ {
+- cupsdSetString(&(attr->values[0].string.text), Classification);
+- cupsdSetString(&(attr->values[1].string.text), Classification);
++ _cupsStrFree(attr->values[0].string.text);
++ attr->values[0].string.text = _cupsStrAlloc(Classification);
++ _cupsStrFree(attr->values[1].string.text);
++ attr->values[1].string.text = _cupsStrAlloc(Classification);
+ }
+ else
+ {
+ if (attr->num_values == 1 ||
+ strcmp(attr->values[0].string.text, "none"))
+- cupsdSetString(&(attr->values[0].string.text), Classification);
++ {
++ _cupsStrFree(attr->values[0].string.text);
++ attr->values[0].string.text = _cupsStrAlloc(Classification);
++ }
+
+ if (attr->num_values > 1 &&
+ strcmp(attr->values[1].string.text, "none"))
+- cupsdSetString(&(attr->values[1].string.text), Classification);
++ {
++ _cupsStrFree(attr->values[1].string.text);
++ attr->values[1].string.text = _cupsStrAlloc(Classification);
++ }
+ }
+
+ if (attr->num_values > 1)
+@@ -3088,7 +3064,8 @@
+ if (attr)
+ {
+ attr->value_tag = IPP_TAG_KEYWORD;
+- cupsdSetString(&(attr->values[0].string.text), "no-hold");
++ _cupsStrFree(attr->values[0].string.text);
++ attr->values[0].string.text = _cupsStrAlloc("no-hold");
+ }
+
+ /*
+@@ -7665,7 +7642,6 @@
+ if (format)
+ {
+ _cupsStrFree(format->values[0].string.text);
+-
+ format->values[0].string.text = _cupsStrAlloc(mimetype);
+ }
+ else
+@@ -8137,9 +8113,8 @@
+
+ if (attr)
+ {
++ attr->value_tag = IPP_TAG_KEYWORD;
+ _cupsStrFree(attr->values[0].string.text);
+-
+- attr->value_tag = IPP_TAG_KEYWORD;
+ attr->values[0].string.text = _cupsStrAlloc("no-hold");
+
+ cupsdAddEvent(CUPSD_EVENT_JOB_CONFIG_CHANGED, job->printer, job,
+@@ -8894,7 +8869,6 @@
+ if (jformat)
+ {
+ _cupsStrFree(jformat->values[0].string.text);
+-
+ jformat->values[0].string.text = _cupsStrAlloc(mimetype);
+ }
+ else
+Index: scheduler/job.c
+===================================================================
+--- scheduler/job.c (revision 12588)
++++ scheduler/job.c (working copy)
+@@ -393,7 +393,8 @@
+ if (attr)
+ {
+ attr->value_tag = IPP_TAG_KEYWORD;
+- cupsdSetString(&(attr->values[0].string.text), "no-hold");
++ _cupsStrFree(attr->values[0].string.text);
++ attr->values[0].string.text = _cupsStrAlloc("no-hold");
+ cupsdSaveJob(job);
+ }
+ }
+@@ -457,7 +458,10 @@
+
+ if ((attr = ippFindAttribute(job->attrs, "job-actual-printer-uri",
+ IPP_TAG_URI)) != NULL)
+- cupsdSetString(&attr->values[0].string.text, printer->uri);
++ {
++ _cupsStrFree(attr->values[0].string.text);
++ attr->values[0].string.text = _cupsStrAlloc(printer->uri);
++ }
+ else
+ ippAddString(job->attrs, IPP_TAG_JOB, IPP_TAG_URI,
+ "job-actual-printer-uri", NULL, printer->uri);
+@@ -468,7 +472,7 @@
+ ((printer->type & CUPS_PRINTER_DISCOVERED) && /* Printer is remote */
+ !printer->job)) /* and not printing */
+ {
+- /*
++ /*
+ * Clear any message and reasons for the queue...
+ */
+
+@@ -761,8 +765,8 @@
+ if (attr)
+ {
+ attr->value_tag = IPP_TAG_KEYWORD;
+- cupsdSetString(&(attr->values[0].string.text),
+- "auth-info-required");
++ _cupsStrFree(attr->values[0].string.text);
++ attr->values[0].string.text = _cupsStrAlloc("auth-info-required");
+ }
+
+ job->state->values[0].integer = IPP_JOB_HELD;
+@@ -1350,7 +1354,10 @@
+
+ if ((attr = ippFindAttribute(job->attrs, "job-printer-uri",
+ IPP_TAG_URI)) != NULL)
+- cupsdSetString(&(attr->values[0].string.text), p->uri);
++ {
++ _cupsStrFree(attr->values[0].string.text);
++ attr->values[0].string.text = _cupsStrAlloc(p->uri);
++ }
+
+ cupsdAddEvent(CUPSD_EVENT_JOB_STOPPED, p, job,
+ "Job #%d moved from %s to %s.", job->id, olddest,
+@@ -2425,7 +2432,10 @@
+ ippAddString(job->attrs, IPP_TAG_JOB, IPP_TAG_KEYWORD, "job-hold-until",
+ NULL, holdstr);
+ else
+- cupsdSetString(&attr->values[0].string.text, holdstr);
++ {
++ _cupsStrFree(attr->values[0].string.text);
++ attr->values[0].string.text = _cupsStrAlloc(holdstr);
++ }
+
+ cupsdSaveJob(job);
+ }
+@@ -3880,9 +3890,10 @@
+ */
+
+ if (job->printer->state_message[0])
+- cupsdSetString(&(job->printer_message->values[0].string.text),
+- job->printer->state_message);
+-
++ {
++ _cupsStrFree(job->printer_message->values[0].string.text);
++ job->printer_message->values[0].string.text = _cupsStrAlloc(job->printer->state_message);
++ }
+ /*
+ * ... and the printer-state-reasons value...
+ */
diff --git a/patches/source/curl/cacert-fetch.sh b/patches/source/curl/cacert-fetch.sh
new file mode 100755
index 00000000..d0f156e2
--- /dev/null
+++ b/patches/source/curl/cacert-fetch.sh
@@ -0,0 +1 @@
+lftpget http://curl.haxx.se/ca/cacert.pem && rm cacert.pem.bz2 && bzip2 -9 cacert.pem
diff --git a/patches/source/curl/cacert.pem b/patches/source/curl/cacert.pem
new file mode 100644
index 00000000..8f1357b6
--- /dev/null
+++ b/patches/source/curl/cacert.pem
@@ -0,0 +1,3955 @@
+##
+## Bundle of CA Root Certificates
+##
+## Certificate data from Mozilla as of: Wed Jun 7 03:12:05 2017 GMT
+##
+## This is a bundle of X.509 certificates of public Certificate Authorities
+## (CA). These were automatically extracted from Mozilla's root certificates
+## file (certdata.txt). This file can be found in the mozilla source tree:
+## https://hg.mozilla.org/releases/mozilla-release/raw-file/default/security/nss/lib/ckfw/builtins/certdata.txt
+##
+## It contains the certificates in PEM format and therefore
+## can be directly used with curl / libcurl / php_curl, or with
+## an Apache+mod_ssl webserver for SSL client authentication.
+## Just configure this file as the SSLCACertificateFile.
+##
+## Conversion done with mk-ca-bundle.pl version 1.27.
+## SHA256: 93753268e1c596aee21893fb1c6975338389132f15c942ed65fc394a904371d7
+##
+
+
+GlobalSign Root CA
+==================
+-----BEGIN CERTIFICATE-----
+MIIDdTCCAl2gAwIBAgILBAAAAAABFUtaw5QwDQYJKoZIhvcNAQEFBQAwVzELMAkGA1UEBhMCQkUx
+GTAXBgNVBAoTEEdsb2JhbFNpZ24gbnYtc2ExEDAOBgNVBAsTB1Jvb3QgQ0ExGzAZBgNVBAMTEkds
+b2JhbFNpZ24gUm9vdCBDQTAeFw05ODA5MDExMjAwMDBaFw0yODAxMjgxMjAwMDBaMFcxCzAJBgNV
+BAYTAkJFMRkwFwYDVQQKExBHbG9iYWxTaWduIG52LXNhMRAwDgYDVQQLEwdSb290IENBMRswGQYD
+VQQDExJHbG9iYWxTaWduIFJvb3QgQ0EwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDa
+DuaZjc6j40+Kfvvxi4Mla+pIH/EqsLmVEQS98GPR4mdmzxzdzxtIK+6NiY6arymAZavpxy0Sy6sc
+THAHoT0KMM0VjU/43dSMUBUc71DuxC73/OlS8pF94G3VNTCOXkNz8kHp1Wrjsok6Vjk4bwY8iGlb
+Kk3Fp1S4bInMm/k8yuX9ifUSPJJ4ltbcdG6TRGHRjcdGsnUOhugZitVtbNV4FpWi6cgKOOvyJBNP
+c1STE4U6G7weNLWLBYy5d4ux2x8gkasJU26Qzns3dLlwR5EiUWMWea6xrkEmCMgZK9FGqkjWZCrX
+gzT/LCrBbBlDSgeF59N89iFo7+ryUp9/k5DPAgMBAAGjQjBAMA4GA1UdDwEB/wQEAwIBBjAPBgNV
+HRMBAf8EBTADAQH/MB0GA1UdDgQWBBRge2YaRQ2XyolQL30EzTSo//z9SzANBgkqhkiG9w0BAQUF
+AAOCAQEA1nPnfE920I2/7LqivjTFKDK1fPxsnCwrvQmeU79rXqoRSLblCKOzyj1hTdNGCbM+w6Dj
+Y1Ub8rrvrTnhQ7k4o+YviiY776BQVvnGCv04zcQLcFGUl5gE38NflNUVyRRBnMRddWQVDf9VMOyG
+j/8N7yy5Y0b2qvzfvGn9LhJIZJrglfCm7ymPAbEVtQwdpf5pLGkkeB6zpxxxYu7KyJesF12KwvhH
+hm4qxFYxldBniYUr+WymXUadDKqC5JlR3XC321Y9YeRq4VzW9v493kHMB65jUr9TU/Qr6cf9tveC
+X4XSQRjbgbMEHMUfpIBvFSDJ3gyICh3WZlXi/EjJKSZp4A==
+-----END CERTIFICATE-----
+
+GlobalSign Root CA - R2
+=======================
+-----BEGIN CERTIFICATE-----
+MIIDujCCAqKgAwIBAgILBAAAAAABD4Ym5g0wDQYJKoZIhvcNAQEFBQAwTDEgMB4GA1UECxMXR2xv
+YmFsU2lnbiBSb290IENBIC0gUjIxEzARBgNVBAoTCkdsb2JhbFNpZ24xEzARBgNVBAMTCkdsb2Jh
+bFNpZ24wHhcNMDYxMjE1MDgwMDAwWhcNMjExMjE1MDgwMDAwWjBMMSAwHgYDVQQLExdHbG9iYWxT
+aWduIFJvb3QgQ0EgLSBSMjETMBEGA1UEChMKR2xvYmFsU2lnbjETMBEGA1UEAxMKR2xvYmFsU2ln
+bjCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAKbPJA6+Lm8omUVCxKs+IVSbC9N/hHD6
+ErPLv4dfxn+G07IwXNb9rfF73OX4YJYJkhD10FPe+3t+c4isUoh7SqbKSaZeqKeMWhG8eoLrvozp
+s6yWJQeXSpkqBy+0Hne/ig+1AnwblrjFuTosvNYSuetZfeLQBoZfXklqtTleiDTsvHgMCJiEbKjN
+S7SgfQx5TfC4LcshytVsW33hoCmEofnTlEnLJGKRILzdC9XZzPnqJworc5HGnRusyMvo4KD0L5CL
+TfuwNhv2GXqF4G3yYROIXJ/gkwpRl4pazq+r1feqCapgvdzZX99yqWATXgAByUr6P6TqBwMhAo6C
+ygPCm48CAwEAAaOBnDCBmTAOBgNVHQ8BAf8EBAMCAQYwDwYDVR0TAQH/BAUwAwEB/zAdBgNVHQ4E
+FgQUm+IHV2ccHsBqBt5ZtJot39wZhi4wNgYDVR0fBC8wLTAroCmgJ4YlaHR0cDovL2NybC5nbG9i
+YWxzaWduLm5ldC9yb290LXIyLmNybDAfBgNVHSMEGDAWgBSb4gdXZxwewGoG3lm0mi3f3BmGLjAN
+BgkqhkiG9w0BAQUFAAOCAQEAmYFThxxol4aR7OBKuEQLq4GsJ0/WwbgcQ3izDJr86iw8bmEbTUsp
+9Z8FHSbBuOmDAGJFtqkIk7mpM0sYmsL4h4hO291xNBrBVNpGP+DTKqttVCL1OmLNIG+6KYnX3ZHu
+01yiPqFbQfXf5WRDLenVOavSot+3i9DAgBkcRcAtjOj4LaR0VknFBbVPFd5uRHg5h6h+u/N5GJG7
+9G+dwfCMNYxdAfvDbbnvRG15RjF+Cv6pgsH/76tuIMRQyV+dTZsXjAzlAcmgQWpzU/qlULRuJQ/7
+TBj0/VLZjmmx6BEP3ojY+x1J96relc8geMJgEtslQIxq/H5COEBkEveegeGTLg==
+-----END CERTIFICATE-----
+
+Verisign Class 3 Public Primary Certification Authority - G3
+============================================================
+-----BEGIN CERTIFICATE-----
+MIIEGjCCAwICEQCbfgZJoz5iudXukEhxKe9XMA0GCSqGSIb3DQEBBQUAMIHKMQswCQYDVQQGEwJV
+UzEXMBUGA1UEChMOVmVyaVNpZ24sIEluYy4xHzAdBgNVBAsTFlZlcmlTaWduIFRydXN0IE5ldHdv
+cmsxOjA4BgNVBAsTMShjKSAxOTk5IFZlcmlTaWduLCBJbmMuIC0gRm9yIGF1dGhvcml6ZWQgdXNl
+IG9ubHkxRTBDBgNVBAMTPFZlcmlTaWduIENsYXNzIDMgUHVibGljIFByaW1hcnkgQ2VydGlmaWNh
+dGlvbiBBdXRob3JpdHkgLSBHMzAeFw05OTEwMDEwMDAwMDBaFw0zNjA3MTYyMzU5NTlaMIHKMQsw
+CQYDVQQGEwJVUzEXMBUGA1UEChMOVmVyaVNpZ24sIEluYy4xHzAdBgNVBAsTFlZlcmlTaWduIFRy
+dXN0IE5ldHdvcmsxOjA4BgNVBAsTMShjKSAxOTk5IFZlcmlTaWduLCBJbmMuIC0gRm9yIGF1dGhv
+cml6ZWQgdXNlIG9ubHkxRTBDBgNVBAMTPFZlcmlTaWduIENsYXNzIDMgUHVibGljIFByaW1hcnkg
+Q2VydGlmaWNhdGlvbiBBdXRob3JpdHkgLSBHMzCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoC
+ggEBAMu6nFL8eB8aHm8bN3O9+MlrlBIwT/A2R/XQkQr1F8ilYcEWQE37imGQ5XYgwREGfassbqb1
+EUGO+i2tKmFZpGcmTNDovFJbcCAEWNF6yaRpvIMXZK0Fi7zQWM6NjPXr8EJJC52XJ2cybuGukxUc
+cLwgTS8Y3pKI6GyFVxEa6X7jJhFUokWWVYPKMIno3Nij7SqAP395ZVc+FSBmCC+Vk7+qRy+oRpfw
+EuL+wgorUeZ25rdGt+INpsyow0xZVYnm6FNcHOqd8GIWC6fJXwzw3sJ2zq/3avL6QaaiMxTJ5Xpj
+055iN9WFZZ4O5lMkdBteHRJTW8cs54NJOxWuimi5V5cCAwEAATANBgkqhkiG9w0BAQUFAAOCAQEA
+ERSWwauSCPc/L8my/uRan2Te2yFPhpk0djZX3dAVL8WtfxUfN2JzPtTnX84XA9s1+ivbrmAJXx5f
+j267Cz3qWhMeDGBvtcC1IyIuBwvLqXTLR7sdwdela8wv0kL9Sd2nic9TutoAWii/gt/4uhMdUIaC
+/Y4wjylGsB49Ndo4YhYYSq3mtlFs3q9i6wHQHiT+eo8SGhJouPtmmRQURVyu565pF4ErWjfJXir0
+xuKhXFSbplQAz/DxwceYMBo7Nhbbo27q/a2ywtrvAkcTisDxszGtTxzhT5yvDwyd93gN2PQ1VoDa
+t20Xj50egWTh/sVFuq1ruQp6Tk9LhO5L8X3dEQ==
+-----END CERTIFICATE-----
+
+Entrust.net Premium 2048 Secure Server CA
+=========================================
+-----BEGIN CERTIFICATE-----
+MIIEKjCCAxKgAwIBAgIEOGPe+DANBgkqhkiG9w0BAQUFADCBtDEUMBIGA1UEChMLRW50cnVzdC5u
+ZXQxQDA+BgNVBAsUN3d3dy5lbnRydXN0Lm5ldC9DUFNfMjA0OCBpbmNvcnAuIGJ5IHJlZi4gKGxp
+bWl0cyBsaWFiLikxJTAjBgNVBAsTHChjKSAxOTk5IEVudHJ1c3QubmV0IExpbWl0ZWQxMzAxBgNV
+BAMTKkVudHJ1c3QubmV0IENlcnRpZmljYXRpb24gQXV0aG9yaXR5ICgyMDQ4KTAeFw05OTEyMjQx
+NzUwNTFaFw0yOTA3MjQxNDE1MTJaMIG0MRQwEgYDVQQKEwtFbnRydXN0Lm5ldDFAMD4GA1UECxQ3
+d3d3LmVudHJ1c3QubmV0L0NQU18yMDQ4IGluY29ycC4gYnkgcmVmLiAobGltaXRzIGxpYWIuKTEl
+MCMGA1UECxMcKGMpIDE5OTkgRW50cnVzdC5uZXQgTGltaXRlZDEzMDEGA1UEAxMqRW50cnVzdC5u
+ZXQgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkgKDIwNDgpMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8A
+MIIBCgKCAQEArU1LqRKGsuqjIAcVFmQqK0vRvwtKTY7tgHalZ7d4QMBzQshowNtTK91euHaYNZOL
+Gp18EzoOH1u3Hs/lJBQesYGpjX24zGtLA/ECDNyrpUAkAH90lKGdCCmziAv1h3edVc3kw37XamSr
+hRSGlVuXMlBvPci6Zgzj/L24ScF2iUkZ/cCovYmjZy/Gn7xxGWC4LeksyZB2ZnuU4q941mVTXTzW
+nLLPKQP5L6RQstRIzgUyVYr9smRMDuSYB3Xbf9+5CFVghTAp+XtIpGmG4zU/HoZdenoVve8AjhUi
+VBcAkCaTvA5JaJG/+EfTnZVCwQ5N328mz8MYIWJmQ3DW1cAH4QIDAQABo0IwQDAOBgNVHQ8BAf8E
+BAMCAQYwDwYDVR0TAQH/BAUwAwEB/zAdBgNVHQ4EFgQUVeSB0RGAvtiJuQijMfmhJAkWuXAwDQYJ
+KoZIhvcNAQEFBQADggEBADubj1abMOdTmXx6eadNl9cZlZD7Bh/KM3xGY4+WZiT6QBshJ8rmcnPy
+T/4xmf3IDExoU8aAghOY+rat2l098c5u9hURlIIM7j+VrxGrD9cv3h8Dj1csHsm7mhpElesYT6Yf
+zX1XEC+bBAlahLVu2B064dae0Wx5XnkcFMXj0EyTO2U87d89vqbllRrDtRnDvV5bu/8j72gZyxKT
+J1wDLW8w0B62GqzeWvfRqqgnpv55gcR5mTNXuhKwqeBCbJPKVt7+bYQLCIt+jerXmCHG8+c8eS9e
+nNFMFY3h7CI3zJpDC5fcgJCNs2ebb0gIFVbPv/ErfF6adulZkMV8gzURZVE=
+-----END CERTIFICATE-----
+
+Baltimore CyberTrust Root
+=========================
+-----BEGIN CERTIFICATE-----
+MIIDdzCCAl+gAwIBAgIEAgAAuTANBgkqhkiG9w0BAQUFADBaMQswCQYDVQQGEwJJRTESMBAGA1UE
+ChMJQmFsdGltb3JlMRMwEQYDVQQLEwpDeWJlclRydXN0MSIwIAYDVQQDExlCYWx0aW1vcmUgQ3li
+ZXJUcnVzdCBSb290MB4XDTAwMDUxMjE4NDYwMFoXDTI1MDUxMjIzNTkwMFowWjELMAkGA1UEBhMC
+SUUxEjAQBgNVBAoTCUJhbHRpbW9yZTETMBEGA1UECxMKQ3liZXJUcnVzdDEiMCAGA1UEAxMZQmFs
+dGltb3JlIEN5YmVyVHJ1c3QgUm9vdDCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAKME
+uyKrmD1X6CZymrV51Cni4eiVgLGw41uOKymaZN+hXe2wCQVt2yguzmKiYv60iNoS6zjrIZ3AQSsB
+UnuId9Mcj8e6uYi1agnnc+gRQKfRzMpijS3ljwumUNKoUMMo6vWrJYeKmpYcqWe4PwzV9/lSEy/C
+G9VwcPCPwBLKBsua4dnKM3p31vjsufFoREJIE9LAwqSuXmD+tqYF/LTdB1kC1FkYmGP1pWPgkAx9
+XbIGevOF6uvUA65ehD5f/xXtabz5OTZydc93Uk3zyZAsuT3lySNTPx8kmCFcB5kpvcY67Oduhjpr
+l3RjM71oGDHweI12v/yejl0qhqdNkNwnGjkCAwEAAaNFMEMwHQYDVR0OBBYEFOWdWTCCR1jMrPoI
+VDaGezq1BE3wMBIGA1UdEwEB/wQIMAYBAf8CAQMwDgYDVR0PAQH/BAQDAgEGMA0GCSqGSIb3DQEB
+BQUAA4IBAQCFDF2O5G9RaEIFoN27TyclhAO992T9Ldcw46QQF+vaKSm2eT929hkTI7gQCvlYpNRh
+cL0EYWoSihfVCr3FvDB81ukMJY2GQE/szKN+OMY3EU/t3WgxjkzSswF07r51XgdIGn9w/xZchMB5
+hbgF/X++ZRGjD8ACtPhSNzkE1akxehi/oCr0Epn3o0WC4zxe9Z2etciefC7IpJ5OCBRLbf1wbWsa
+Y71k5h+3zvDyny67G7fyUIhzksLi4xaNmjICq44Y3ekQEe5+NauQrz4wlHrQMz2nZQ/1/I6eYs9H
+RCwBXbsdtTLSR9I4LtD+gdwyah617jzV/OeBHRnDJELqYzmp
+-----END CERTIFICATE-----
+
+AddTrust Low-Value Services Root
+================================
+-----BEGIN CERTIFICATE-----
+MIIEGDCCAwCgAwIBAgIBATANBgkqhkiG9w0BAQUFADBlMQswCQYDVQQGEwJTRTEUMBIGA1UEChML
+QWRkVHJ1c3QgQUIxHTAbBgNVBAsTFEFkZFRydXN0IFRUUCBOZXR3b3JrMSEwHwYDVQQDExhBZGRU
+cnVzdCBDbGFzcyAxIENBIFJvb3QwHhcNMDAwNTMwMTAzODMxWhcNMjAwNTMwMTAzODMxWjBlMQsw
+CQYDVQQGEwJTRTEUMBIGA1UEChMLQWRkVHJ1c3QgQUIxHTAbBgNVBAsTFEFkZFRydXN0IFRUUCBO
+ZXR3b3JrMSEwHwYDVQQDExhBZGRUcnVzdCBDbGFzcyAxIENBIFJvb3QwggEiMA0GCSqGSIb3DQEB
+AQUAA4IBDwAwggEKAoIBAQCWltQhSWDia+hBBwzexODcEyPNwTXH+9ZOEQpnXvUGW2ulCDtbKRY6
+54eyNAbFvAWlA3yCyykQruGIgb3WntP+LVbBFc7jJp0VLhD7Bo8wBN6ntGO0/7Gcrjyvd7ZWxbWr
+oulpOj0OM3kyP3CCkplhbY0wCI9xP6ZIVxn4JdxLZlyldI+Yrsj5wAYi56xz36Uu+1LcsRVlIPo1
+Zmne3yzxbrww2ywkEtvrNTVokMsAsJchPXQhI2U0K7t4WaPW4XY5mqRJjox0r26kmqPZm9I4XJui
+GMx1I4S+6+JNM3GOGvDC+Mcdoq0Dlyz4zyXG9rgkMbFjXZJ/Y/AlyVMuH79NAgMBAAGjgdIwgc8w
+HQYDVR0OBBYEFJWxtPCUtr3H2tERCSG+wa9J/RB7MAsGA1UdDwQEAwIBBjAPBgNVHRMBAf8EBTAD
+AQH/MIGPBgNVHSMEgYcwgYSAFJWxtPCUtr3H2tERCSG+wa9J/RB7oWmkZzBlMQswCQYDVQQGEwJT
+RTEUMBIGA1UEChMLQWRkVHJ1c3QgQUIxHTAbBgNVBAsTFEFkZFRydXN0IFRUUCBOZXR3b3JrMSEw
+HwYDVQQDExhBZGRUcnVzdCBDbGFzcyAxIENBIFJvb3SCAQEwDQYJKoZIhvcNAQEFBQADggEBACxt
+ZBsfzQ3duQH6lmM0MkhHma6X7f1yFqZzR1r0693p9db7RcwpiURdv0Y5PejuvE1Uhh4dbOMXJ0Ph
+iVYrqW9yTkkz43J8KiOavD7/KCrto/8cI7pDVwlnTUtiBi34/2ydYB7YHEt9tTEv2dB8Xfjea4MY
+eDdXL+gzB2ffHsdrKpV2ro9Xo/D0UrSpUwjP4E/TelOL/bscVjby/rK25Xa71SJlpz/+0WatC7xr
+mYbvP33zGDLKe8bjq2RGlfgmadlVg3sslgf/WSxEo8bl6ancoWOAWiFeIc9TVPC6b4nbqKqVz4vj
+ccweGyBECMB6tkD9xOQ14R0WHNC8K47Wcdk=
+-----END CERTIFICATE-----
+
+AddTrust External Root
+======================
+-----BEGIN CERTIFICATE-----
+MIIENjCCAx6gAwIBAgIBATANBgkqhkiG9w0BAQUFADBvMQswCQYDVQQGEwJTRTEUMBIGA1UEChML
+QWRkVHJ1c3QgQUIxJjAkBgNVBAsTHUFkZFRydXN0IEV4dGVybmFsIFRUUCBOZXR3b3JrMSIwIAYD
+VQQDExlBZGRUcnVzdCBFeHRlcm5hbCBDQSBSb290MB4XDTAwMDUzMDEwNDgzOFoXDTIwMDUzMDEw
+NDgzOFowbzELMAkGA1UEBhMCU0UxFDASBgNVBAoTC0FkZFRydXN0IEFCMSYwJAYDVQQLEx1BZGRU
+cnVzdCBFeHRlcm5hbCBUVFAgTmV0d29yazEiMCAGA1UEAxMZQWRkVHJ1c3QgRXh0ZXJuYWwgQ0Eg
+Um9vdDCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBALf3GjPm8gAELTngTlvtH7xsD821
++iO2zt6bETOXpClMfZOfvUq8k+0DGuOPz+VtUFrWlymUWoCwSXrbLpX9uMq/NzgtHj6RQa1wVsfw
+Tz/oMp50ysiQVOnGXw94nZpAPA6sYapeFI+eh6FqUNzXmk6vBbOmcZSccbNQYArHE504B4YCqOmo
+aSYYkKtMsE8jqzpPhNjfzp/haW+710LXa0Tkx63ubUFfclpxCDezeWWkWaCUN/cALw3CknLa0Dhy
+2xSoRcRdKn23tNbE7qzNE0S3ySvdQwAl+mG5aWpYIxG3pzOPVnVZ9c0p10a3CitlttNCbxWyuHv7
+7+ldU9U0WicCAwEAAaOB3DCB2TAdBgNVHQ4EFgQUrb2YejS0Jvf6xCZU7wO94CTLVBowCwYDVR0P
+BAQDAgEGMA8GA1UdEwEB/wQFMAMBAf8wgZkGA1UdIwSBkTCBjoAUrb2YejS0Jvf6xCZU7wO94CTL
+VBqhc6RxMG8xCzAJBgNVBAYTAlNFMRQwEgYDVQQKEwtBZGRUcnVzdCBBQjEmMCQGA1UECxMdQWRk
+VHJ1c3QgRXh0ZXJuYWwgVFRQIE5ldHdvcmsxIjAgBgNVBAMTGUFkZFRydXN0IEV4dGVybmFsIENB
+IFJvb3SCAQEwDQYJKoZIhvcNAQEFBQADggEBALCb4IUlwtYj4g+WBpKdQZic2YR5gdkeWxQHIzZl
+j7DYd7usQWxHYINRsPkyPef89iYTx4AWpb9a/IfPeHmJIZriTAcKhjW88t5RxNKWt9x+Tu5w/Rw5
+6wwCURQtjr0W4MHfRnXnJK3s9EK0hZNwEGe6nQY1ShjTK3rMUUKhemPR5ruhxSvCNr4TDea9Y355
+e6cJDUCrat2PisP29owaQgVR1EX1n6diIWgVIEM8med8vSTYqZEXc4g/VhsxOBi0cQ+azcgOno4u
+G+GMmIPLHzHxREzGBHNJdmAPx/i9F4BrLunMTA5amnkPIAou1Z5jJh5VkpTYghdae9C8x49OhgQ=
+-----END CERTIFICATE-----
+
+AddTrust Public Services Root
+=============================
+-----BEGIN CERTIFICATE-----
+MIIEFTCCAv2gAwIBAgIBATANBgkqhkiG9w0BAQUFADBkMQswCQYDVQQGEwJTRTEUMBIGA1UEChML
+QWRkVHJ1c3QgQUIxHTAbBgNVBAsTFEFkZFRydXN0IFRUUCBOZXR3b3JrMSAwHgYDVQQDExdBZGRU
+cnVzdCBQdWJsaWMgQ0EgUm9vdDAeFw0wMDA1MzAxMDQxNTBaFw0yMDA1MzAxMDQxNTBaMGQxCzAJ
+BgNVBAYTAlNFMRQwEgYDVQQKEwtBZGRUcnVzdCBBQjEdMBsGA1UECxMUQWRkVHJ1c3QgVFRQIE5l
+dHdvcmsxIDAeBgNVBAMTF0FkZFRydXN0IFB1YmxpYyBDQSBSb290MIIBIjANBgkqhkiG9w0BAQEF
+AAOCAQ8AMIIBCgKCAQEA6Rowj4OIFMEg2Dybjxt+A3S72mnTRqX4jsIMEZBRpS9mVEBV6tsfSlbu
+nyNu9DnLoblv8n75XYcmYZ4c+OLspoH4IcUkzBEMP9smcnrHAZcHF/nXGCwwfQ56HmIexkvA/X1i
+d9NEHif2P0tEs7c42TkfYNVRknMDtABp4/MUTu7R3AnPdzRGULD4EfL+OHn3Bzn+UZKXC1sIXzSG
+Aa2Il+tmzV7R/9x98oTaunet3IAIx6eH1lWfl2royBFkuucZKT8Rs3iQhCBSWxHveNCD9tVIkNAw
+HM+A+WD+eeSI8t0A65RF62WUaUC6wNW0uLp9BBGo6zEFlpROWCGOn9Bg/QIDAQABo4HRMIHOMB0G
+A1UdDgQWBBSBPjfYkrAfd59ctKtzquf2NGAv+jALBgNVHQ8EBAMCAQYwDwYDVR0TAQH/BAUwAwEB
+/zCBjgYDVR0jBIGGMIGDgBSBPjfYkrAfd59ctKtzquf2NGAv+qFopGYwZDELMAkGA1UEBhMCU0Ux
+FDASBgNVBAoTC0FkZFRydXN0IEFCMR0wGwYDVQQLExRBZGRUcnVzdCBUVFAgTmV0d29yazEgMB4G
+A1UEAxMXQWRkVHJ1c3QgUHVibGljIENBIFJvb3SCAQEwDQYJKoZIhvcNAQEFBQADggEBAAP3FUr4
+JNojVhaTdt02KLmuG7jD8WS6IBh4lSknVwW8fCr0uVFV2ocC3g8WFzH4qnkuCRO7r7IgGRLlk/lL
++YPoRNWyQSW/iHVv/xD8SlTQX/D67zZzfRs2RcYhbbQVuE7PnFylPVoAjgbjPGsye/Kf8Lb93/Ao
+GEjwxrzQvzSAlsJKsW2Ox5BF3i9nrEUEo3rcVZLJR2bYGozH7ZxOmuASu7VqTITh4SINhwBk/ox9
+Yjllpu9CtoAlEmEBqCQTcAARJl/6NVDFSMwGR+gn2HCNX2TmoUQmXiLsks3/QppEIW1cxeMiHV9H
+EufOX1362KqxMy3ZdvJOOjMMK7MtkAY=
+-----END CERTIFICATE-----
+
+AddTrust Qualified Certificates Root
+====================================
+-----BEGIN CERTIFICATE-----
+MIIEHjCCAwagAwIBAgIBATANBgkqhkiG9w0BAQUFADBnMQswCQYDVQQGEwJTRTEUMBIGA1UEChML
+QWRkVHJ1c3QgQUIxHTAbBgNVBAsTFEFkZFRydXN0IFRUUCBOZXR3b3JrMSMwIQYDVQQDExpBZGRU
+cnVzdCBRdWFsaWZpZWQgQ0EgUm9vdDAeFw0wMDA1MzAxMDQ0NTBaFw0yMDA1MzAxMDQ0NTBaMGcx
+CzAJBgNVBAYTAlNFMRQwEgYDVQQKEwtBZGRUcnVzdCBBQjEdMBsGA1UECxMUQWRkVHJ1c3QgVFRQ
+IE5ldHdvcmsxIzAhBgNVBAMTGkFkZFRydXN0IFF1YWxpZmllZCBDQSBSb290MIIBIjANBgkqhkiG
+9w0BAQEFAAOCAQ8AMIIBCgKCAQEA5B6a/twJWoekn0e+EV+vhDTbYjx5eLfpMLXsDBwqxBb/4Oxx
+64r1EW7tTw2R0hIYLUkVAcKkIhPHEWT/IhKauY5cLwjPcWqzZwFZ8V1G87B4pfYOQnrjfxvM0PC3
+KP0q6p6zsLkEqv32x7SxuCqg+1jxGaBvcCV+PmlKfw8i2O+tCBGaKZnhqkRFmhJePp1tUvznoD1o
+L/BLcHwTOK28FSXx1s6rosAx1i+f4P8UWfyEk9mHfExUE+uf0S0R+Bg6Ot4l2ffTQO2kBhLEO+GR
+wVY18BTcZTYJbqukB8c10cIDMzZbdSZtQvESa0NvS3GU+jQd7RNuyoB/mC9suWXY6QIDAQABo4HU
+MIHRMB0GA1UdDgQWBBQ5lYtii1zJ1IC6WA+XPxUIQ8yYpzALBgNVHQ8EBAMCAQYwDwYDVR0TAQH/
+BAUwAwEB/zCBkQYDVR0jBIGJMIGGgBQ5lYtii1zJ1IC6WA+XPxUIQ8yYp6FrpGkwZzELMAkGA1UE
+BhMCU0UxFDASBgNVBAoTC0FkZFRydXN0IEFCMR0wGwYDVQQLExRBZGRUcnVzdCBUVFAgTmV0d29y
+azEjMCEGA1UEAxMaQWRkVHJ1c3QgUXVhbGlmaWVkIENBIFJvb3SCAQEwDQYJKoZIhvcNAQEFBQAD
+ggEBABmrder4i2VhlRO6aQTvhsoToMeqT2QbPxj2qC0sVY8FtzDqQmodwCVRLae/DLPt7wh/bDxG
+GuoYQ992zPlmhpwsaPXpF/gxsxjE1kh9I0xowX67ARRvxdlu3rsEQmr49lx95dr6h+sNNVJn0J6X
+dgWTP5XHAeZpVTh/EGGZyeNfpso+gmNIquIISD6q8rKFYqa0p9m9N5xotS1WfbC3P6CxB9bpT9ze
+RXEwMn8bLgn5v1Kh7sKAPgZcLlVAwRv1cEWw3F369nJad9Jjzc9YiQBCYz95OdBEsIJuQRno3eDB
+iFrRHnGTHyQwdOUeqN48Jzd/g66ed8/wMLH/S5noxqE=
+-----END CERTIFICATE-----
+
+Entrust Root Certification Authority
+====================================
+-----BEGIN CERTIFICATE-----
+MIIEkTCCA3mgAwIBAgIERWtQVDANBgkqhkiG9w0BAQUFADCBsDELMAkGA1UEBhMCVVMxFjAUBgNV
+BAoTDUVudHJ1c3QsIEluYy4xOTA3BgNVBAsTMHd3dy5lbnRydXN0Lm5ldC9DUFMgaXMgaW5jb3Jw
+b3JhdGVkIGJ5IHJlZmVyZW5jZTEfMB0GA1UECxMWKGMpIDIwMDYgRW50cnVzdCwgSW5jLjEtMCsG
+A1UEAxMkRW50cnVzdCBSb290IENlcnRpZmljYXRpb24gQXV0aG9yaXR5MB4XDTA2MTEyNzIwMjM0
+MloXDTI2MTEyNzIwNTM0MlowgbAxCzAJBgNVBAYTAlVTMRYwFAYDVQQKEw1FbnRydXN0LCBJbmMu
+MTkwNwYDVQQLEzB3d3cuZW50cnVzdC5uZXQvQ1BTIGlzIGluY29ycG9yYXRlZCBieSByZWZlcmVu
+Y2UxHzAdBgNVBAsTFihjKSAyMDA2IEVudHJ1c3QsIEluYy4xLTArBgNVBAMTJEVudHJ1c3QgUm9v
+dCBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEB
+ALaVtkNC+sZtKm9I35RMOVcF7sN5EUFoNu3s/poBj6E4KPz3EEZmLk0eGrEaTsbRwJWIsMn/MYsz
+A9u3g3s+IIRe7bJWKKf44LlAcTfFy0cOlypowCKVYhXbR9n10Cv/gkvJrT7eTNuQgFA/CYqEAOww
+Cj0Yzfv9KlmaI5UXLEWeH25DeW0MXJj+SKfFI0dcXv1u5x609mhF0YaDW6KKjbHjKYD+JXGIrb68
+j6xSlkuqUY3kEzEZ6E5Nn9uss2rVvDlUccp6en+Q3X0dgNmBu1kmwhH+5pPi94DkZfs0Nw4pgHBN
+rziGLp5/V6+eF67rHMsoIV+2HNjnogQi+dPa2MsCAwEAAaOBsDCBrTAOBgNVHQ8BAf8EBAMCAQYw
+DwYDVR0TAQH/BAUwAwEB/zArBgNVHRAEJDAigA8yMDA2MTEyNzIwMjM0MlqBDzIwMjYxMTI3MjA1
+MzQyWjAfBgNVHSMEGDAWgBRokORnpKZTgMeGZqTx90tD+4S9bTAdBgNVHQ4EFgQUaJDkZ6SmU4DH
+hmak8fdLQ/uEvW0wHQYJKoZIhvZ9B0EABBAwDhsIVjcuMTo0LjADAgSQMA0GCSqGSIb3DQEBBQUA
+A4IBAQCT1DCw1wMgKtD5Y+iRDAUgqV8ZyntyTtSx29CW+1RaGSwMCPeyvIWonX9tO1KzKtvn1ISM
+Y/YPyyYBkVBs9F8U4pN0wBOeMDpQ47RgxRzwIkSNcUesyBrJ6ZuaAGAT/3B+XxFNSRuzFVJ7yVTa
+v52Vr2ua2J7p8eRDjeIRRDq/r72DQnNSi6q7pynP9WQcCk3RvKqsnyrQ/39/2n3qse0wJcGE2jTS
+W3iDVuycNsMm4hH2Z0kdkquM++v/eu6FSqdQgPCnXEqULl8FmTxSQeDNtGPPAUO6nIPcj2A781q0
+tHuu2guQOHXvgR1m0vdXcDazv/wor3ElhVsT/h5/WrQ8
+-----END CERTIFICATE-----
+
+GeoTrust Global CA
+==================
+-----BEGIN CERTIFICATE-----
+MIIDVDCCAjygAwIBAgIDAjRWMA0GCSqGSIb3DQEBBQUAMEIxCzAJBgNVBAYTAlVTMRYwFAYDVQQK
+Ew1HZW9UcnVzdCBJbmMuMRswGQYDVQQDExJHZW9UcnVzdCBHbG9iYWwgQ0EwHhcNMDIwNTIxMDQw
+MDAwWhcNMjIwNTIxMDQwMDAwWjBCMQswCQYDVQQGEwJVUzEWMBQGA1UEChMNR2VvVHJ1c3QgSW5j
+LjEbMBkGA1UEAxMSR2VvVHJ1c3QgR2xvYmFsIENBMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIB
+CgKCAQEA2swYYzD99BcjGlZ+W988bDjkcbd4kdS8odhM+KhDtgPpTSEHCIjaWC9mOSm9BXiLnTjo
+BbdqfnGk5sRgprDvgOSJKA+eJdbtg/OtppHHmMlCGDUUna2YRpIuT8rxh0PBFpVXLVDviS2Aelet
+8u5fa9IAjbkU+BQVNdnARqN7csiRv8lVK83Qlz6cJmTM386DGXHKTubU1XupGc1V3sjs0l44U+Vc
+T4wt/lAjNvxm5suOpDkZALeVAjmRCw7+OC7RHQWa9k0+bw8HHa8sHo9gOeL6NlMTOdReJivbPagU
+vTLrGAMoUgRx5aszPeE4uwc2hGKceeoWMPRfwCvocWvk+QIDAQABo1MwUTAPBgNVHRMBAf8EBTAD
+AQH/MB0GA1UdDgQWBBTAephojYn7qwVkDBF9qn1luMrMTjAfBgNVHSMEGDAWgBTAephojYn7qwVk
+DBF9qn1luMrMTjANBgkqhkiG9w0BAQUFAAOCAQEANeMpauUvXVSOKVCUn5kaFOSPeCpilKInZ57Q
+zxpeR+nBsqTP3UEaBU6bS+5Kb1VSsyShNwrrZHYqLizz/Tt1kL/6cdjHPTfStQWVYrmm3ok9Nns4
+d0iXrKYgjy6myQzCsplFAMfOEVEiIuCl6rYVSAlk6l5PdPcFPseKUgzbFbS9bZvlxrFUaKnjaZC2
+mqUPuLk/IH2uSrW4nOQdtqvmlKXBx4Ot2/Unhw4EbNX/3aBd7YdStysVAq45pmp06drE57xNNB6p
+XE0zX5IJL4hmXXeXxx12E6nV5fEWCRE11azbJHFwLJhWC9kXtNHjUStedejV0NxPNO3CBWaAocvm
+Mw==
+-----END CERTIFICATE-----
+
+GeoTrust Global CA 2
+====================
+-----BEGIN CERTIFICATE-----
+MIIDZjCCAk6gAwIBAgIBATANBgkqhkiG9w0BAQUFADBEMQswCQYDVQQGEwJVUzEWMBQGA1UEChMN
+R2VvVHJ1c3QgSW5jLjEdMBsGA1UEAxMUR2VvVHJ1c3QgR2xvYmFsIENBIDIwHhcNMDQwMzA0MDUw
+MDAwWhcNMTkwMzA0MDUwMDAwWjBEMQswCQYDVQQGEwJVUzEWMBQGA1UEChMNR2VvVHJ1c3QgSW5j
+LjEdMBsGA1UEAxMUR2VvVHJ1c3QgR2xvYmFsIENBIDIwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAw
+ggEKAoIBAQDvPE1APRDfO1MA4Wf+lGAVPoWI8YkNkMgoI5kF6CsgncbzYEbYwbLVjDHZ3CB5JIG/
+NTL8Y2nbsSpr7iFY8gjpeMtvy/wWUsiRxP89c96xPqfCfWbB9X5SJBri1WeR0IIQ13hLTytCOb1k
+LUCgsBDTOEhGiKEMuzozKmKY+wCdE1l/bztyqu6mD4b5BWHqZ38MN5aL5mkWRxHCJ1kDs6ZgwiFA
+Vvqgx306E+PsV8ez1q6diYD3Aecs9pYrEw15LNnA5IZ7S4wMcoKK+xfNAGw6EzywhIdLFnopsk/b
+HdQL82Y3vdj2V7teJHq4PIu5+pIaGoSe2HSPqht/XvT+RSIhAgMBAAGjYzBhMA8GA1UdEwEB/wQF
+MAMBAf8wHQYDVR0OBBYEFHE4NvICMVNHK266ZUapEBVYIAUJMB8GA1UdIwQYMBaAFHE4NvICMVNH
+K266ZUapEBVYIAUJMA4GA1UdDwEB/wQEAwIBhjANBgkqhkiG9w0BAQUFAAOCAQEAA/e1K6tdEPx7
+srJerJsOflN4WT5CBP51o62sgU7XAotexC3IUnbHLB/8gTKY0UvGkpMzNTEv/NgdRN3ggX+d6Yvh
+ZJFiCzkIjKx0nVnZellSlxG5FntvRdOW2TF9AjYPnDtuzywNA0ZF66D0f0hExghAzN4bcLUprbqL
+OzRldRtxIR0sFAqwlpW41uryZfspuk/qkZN0abby/+Ea0AzRdoXLiiW9l14sbxWZJue2Kf8i7MkC
+x1YAzUm5s2x7UwQa4qjJqhIFI8LO57sEAszAR6LkxCkvW0VXiVHuPOtSCP8HNR6fNWpHSlaY0VqF
+H4z1Ir+rzoPz4iIprn2DQKi6bA==
+-----END CERTIFICATE-----
+
+GeoTrust Universal CA
+=====================
+-----BEGIN CERTIFICATE-----
+MIIFaDCCA1CgAwIBAgIBATANBgkqhkiG9w0BAQUFADBFMQswCQYDVQQGEwJVUzEWMBQGA1UEChMN
+R2VvVHJ1c3QgSW5jLjEeMBwGA1UEAxMVR2VvVHJ1c3QgVW5pdmVyc2FsIENBMB4XDTA0MDMwNDA1
+MDAwMFoXDTI5MDMwNDA1MDAwMFowRTELMAkGA1UEBhMCVVMxFjAUBgNVBAoTDUdlb1RydXN0IElu
+Yy4xHjAcBgNVBAMTFUdlb1RydXN0IFVuaXZlcnNhbCBDQTCCAiIwDQYJKoZIhvcNAQEBBQADggIP
+ADCCAgoCggIBAKYVVaCjxuAfjJ0hUNfBvitbtaSeodlyWL0AG0y/YckUHUWCq8YdgNY96xCcOq9t
+JPi8cQGeBvV8Xx7BDlXKg5pZMK4ZyzBIle0iN430SppyZj6tlcDgFgDgEB8rMQ7XlFTTQjOgNB0e
+RXbdT8oYN+yFFXoZCPzVx5zw8qkuEKmS5j1YPakWaDwvdSEYfyh3peFhF7em6fgemdtzbvQKoiFs
+7tqqhZJmr/Z6a4LauiIINQ/PQvE1+mrufislzDoR5G2vc7J2Ha3QsnhnGqQ5HFELZ1aD/ThdDc7d
+8Lsrlh/eezJS/R27tQahsiFepdaVaH/wmZ7cRQg+59IJDTWU3YBOU5fXtQlEIGQWFwMCTFMNaN7V
+qnJNk22CDtucvc+081xdVHppCZbW2xHBjXWotM85yM48vCR85mLK4b19p71XZQvk/iXttmkQ3Cga
+Rr0BHdCXteGYO8A3ZNY9lO4L4fUorgtWv3GLIylBjobFS1J72HGrH4oVpjuDWtdYAVHGTEHZf9hB
+Z3KiKN9gg6meyHv8U3NyWfWTehd2Ds735VzZC1U0oqpbtWpU5xPKV+yXbfReBi9Fi1jUIxaS5BZu
+KGNZMN9QAZxjiRqf2xeUgnA3wySemkfWWspOqGmJch+RbNt+nhutxx9z3SxPGWX9f5NAEC7S8O08
+ni4oPmkmM8V7AgMBAAGjYzBhMA8GA1UdEwEB/wQFMAMBAf8wHQYDVR0OBBYEFNq7LqqwDLiIJlF0
+XG0D08DYj3rWMB8GA1UdIwQYMBaAFNq7LqqwDLiIJlF0XG0D08DYj3rWMA4GA1UdDwEB/wQEAwIB
+hjANBgkqhkiG9w0BAQUFAAOCAgEAMXjmx7XfuJRAyXHEqDXsRh3ChfMoWIawC/yOsjmPRFWrZIRc
+aanQmjg8+uUfNeVE44B5lGiku8SfPeE0zTBGi1QrlaXv9z+ZhP015s8xxtxqv6fXIwjhmF7DWgh2
+qaavdy+3YL1ERmrvl/9zlcGO6JP7/TG37FcREUWbMPEaiDnBTzynANXH/KttgCJwpQzgXQQpAvvL
+oJHRfNbDflDVnVi+QTjruXU8FdmbyUqDWcDaU/0zuzYYm4UPFd3uLax2k7nZAY1IEKj79TiG8dsK
+xr2EoyNB3tZ3b4XUhRxQ4K5RirqNPnbiucon8l+f725ZDQbYKxek0nxru18UGkiPGkzns0ccjkxF
+KyDuSN/n3QmOGKjaQI2SJhFTYXNd673nxE0pN2HrrDktZy4W1vUAg4WhzH92xH3kt0tm7wNFYGm2
+DFKWkoRepqO1pD4r2czYG0eq8kTaT/kD6PAUyz/zg97QwVTjt+gKN02LIFkDMBmhLMi9ER/frslK
+xfMnZmaGrGiR/9nmUxwPi1xpZQomyB40w11Re9epnAahNt3ViZS82eQtDF4JbAiXfKM9fJP/P6EU
+p8+1Xevb2xzEdt+Iub1FBZUbrvxGakyvSOPOrg/SfuvmbJxPgWp6ZKy7PtXny3YuxadIwVyQD8vI
+P/rmMuGNG2+k5o7Y+SlIis5z/iw=
+-----END CERTIFICATE-----
+
+GeoTrust Universal CA 2
+=======================
+-----BEGIN CERTIFICATE-----
+MIIFbDCCA1SgAwIBAgIBATANBgkqhkiG9w0BAQUFADBHMQswCQYDVQQGEwJVUzEWMBQGA1UEChMN
+R2VvVHJ1c3QgSW5jLjEgMB4GA1UEAxMXR2VvVHJ1c3QgVW5pdmVyc2FsIENBIDIwHhcNMDQwMzA0
+MDUwMDAwWhcNMjkwMzA0MDUwMDAwWjBHMQswCQYDVQQGEwJVUzEWMBQGA1UEChMNR2VvVHJ1c3Qg
+SW5jLjEgMB4GA1UEAxMXR2VvVHJ1c3QgVW5pdmVyc2FsIENBIDIwggIiMA0GCSqGSIb3DQEBAQUA
+A4ICDwAwggIKAoICAQCzVFLByT7y2dyxUxpZKeexw0Uo5dfR7cXFS6GqdHtXr0om/Nj1XqduGdt0
+DE81WzILAePb63p3NeqqWuDW6KFXlPCQo3RWlEQwAx5cTiuFJnSCegx2oG9NzkEtoBUGFF+3Qs17
+j1hhNNwqCPkuwwGmIkQcTAeC5lvO0Ep8BNMZcyfwqph/Lq9O64ceJHdqXbboW0W63MOhBW9Wjo8Q
+JqVJwy7XQYci4E+GymC16qFjwAGXEHm9ADwSbSsVsaxLse4YuU6W3Nx2/zu+z18DwPw76L5GG//a
+QMJS9/7jOvdqdzXQ2o3rXhhqMcceujwbKNZrVMaqW9eiLBsZzKIC9ptZvTdrhrVtgrrY6slWvKk2
+WP0+GfPtDCapkzj4T8FdIgbQl+rhrcZV4IErKIM6+vR7IVEAvlI4zs1meaj0gVbi0IMJR1FbUGrP
+20gaXT73y/Zl92zxlfgCOzJWgjl6W70viRu/obTo/3+NjN8D8WBOWBFM66M/ECuDmgFz2ZRthAAn
+ZqzwcEAJQpKtT5MNYQlRJNiS1QuUYbKHsu3/mjX/hVTK7URDrBs8FmtISgocQIgfksILAAX/8sgC
+SqSqqcyZlpwvWOB94b67B9xfBHJcMTTD7F8t4D1kkCLm0ey4Lt1ZrtmhN79UNdxzMk+MBB4zsslG
+8dhcyFVQyWi9qLo2CQIDAQABo2MwYTAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBR281Xh+qQ2
++/CfXGJx7Tz0RzgQKzAfBgNVHSMEGDAWgBR281Xh+qQ2+/CfXGJx7Tz0RzgQKzAOBgNVHQ8BAf8E
+BAMCAYYwDQYJKoZIhvcNAQEFBQADggIBAGbBxiPz2eAubl/oz66wsCVNK/g7WJtAJDday6sWSf+z
+dXkzoS9tcBc0kf5nfo/sm+VegqlVHy/c1FEHEv6sFj4sNcZj/NwQ6w2jqtB8zNHQL1EuxBRa3ugZ
+4T7GzKQp5y6EqgYweHZUcyiYWTjgAA1i00J9IZ+uPTqM1fp3DRgrFg5fNuH8KrUwJM/gYwx7WBr+
+mbpCErGR9Hxo4sjoryzqyX6uuyo9DRXcNJW2GHSoag/HtPQTxORb7QrSpJdMKu0vbBKJPfEncKpq
+A1Ihn0CoZ1Dy81of398j9tx4TuaYT1U6U+Pv8vSfx3zYWK8pIpe44L2RLrB27FcRz+8pRPPphXpg
+Y+RdM4kX2TGq2tbzGDVyz4crL2MjhF2EjD9XoIj8mZEoJmmZ1I+XRL6O1UixpCgp8RW04eWe3fiP
+pm8m1wk8OhwRDqZsN/etRIcsKMfYdIKz0G9KV7s1KSegi+ghp4dkNl3M2Basx7InQJJVOCiNUW7d
+FGdTbHFcJoRNdVq2fmBWqU2t+5sel/MN2dKXVHfaPRK34B7vCAas+YWH6aLcr34YEoP9VhdBLtUp
+gn2Z9DH2canPLAEnpQW5qrJITirvn5NSUZU8UnOOVkwXQMAJKOSLakhT2+zNVVXxxvjpoixMptEm
+X36vWkzaH6byHCx+rgIW0lbQL1dTR+iS
+-----END CERTIFICATE-----
+
+Visa eCommerce Root
+===================
+-----BEGIN CERTIFICATE-----
+MIIDojCCAoqgAwIBAgIQE4Y1TR0/BvLB+WUF1ZAcYjANBgkqhkiG9w0BAQUFADBrMQswCQYDVQQG
+EwJVUzENMAsGA1UEChMEVklTQTEvMC0GA1UECxMmVmlzYSBJbnRlcm5hdGlvbmFsIFNlcnZpY2Ug
+QXNzb2NpYXRpb24xHDAaBgNVBAMTE1Zpc2EgZUNvbW1lcmNlIFJvb3QwHhcNMDIwNjI2MDIxODM2
+WhcNMjIwNjI0MDAxNjEyWjBrMQswCQYDVQQGEwJVUzENMAsGA1UEChMEVklTQTEvMC0GA1UECxMm
+VmlzYSBJbnRlcm5hdGlvbmFsIFNlcnZpY2UgQXNzb2NpYXRpb24xHDAaBgNVBAMTE1Zpc2EgZUNv
+bW1lcmNlIFJvb3QwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCvV95WHm6h2mCxlCfL
+F9sHP4CFT8icttD0b0/Pmdjh28JIXDqsOTPHH2qLJj0rNfVIsZHBAk4ElpF7sDPwsRROEW+1QK8b
+RaVK7362rPKgH1g/EkZgPI2h4H3PVz4zHvtH8aoVlwdVZqW1LS7YgFmypw23RuwhY/81q6UCzyr0
+TP579ZRdhE2o8mCP2w4lPJ9zcc+U30rq299yOIzzlr3xF7zSujtFWsan9sYXiwGd/BmoKoMWuDpI
+/k4+oKsGGelT84ATB+0tvz8KPFUgOSwsAGl0lUq8ILKpeeUYiZGo3BxN77t+Nwtd/jmliFKMAGzs
+GHxBvfaLdXe6YJ2E5/4tAgMBAAGjQjBAMA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgEG
+MB0GA1UdDgQWBBQVOIMPPyw/cDMezUb+B4wg4NfDtzANBgkqhkiG9w0BAQUFAAOCAQEAX/FBfXxc
+CLkr4NWSR/pnXKUTwwMhmytMiUbPWU3J/qVAtmPN3XEolWcRzCSs00Rsca4BIGsDoo8Ytyk6feUW
+YFN4PMCvFYP3j1IzJL1kk5fui/fbGKhtcbP3LBfQdCVp9/5rPJS+TUtBjE7ic9DjkCJzQ83z7+pz
+zkWKsKZJ/0x9nXGIxHYdkFsd7v3M9+79YKWxehZx0RbQfBI8bGmX265fOZpwLwU8GUYEmSA20GBu
+YQa7FkKMcPcw++DbZqMAAb3mLNqRX6BGi01qnD093QVG/na/oAo85ADmJ7f/hC3euiInlhBx6yLt
+398znM/jra6O1I7mT1GvFpLgXPYHDw==
+-----END CERTIFICATE-----
+
+Certum Root CA
+==============
+-----BEGIN CERTIFICATE-----
+MIIDDDCCAfSgAwIBAgIDAQAgMA0GCSqGSIb3DQEBBQUAMD4xCzAJBgNVBAYTAlBMMRswGQYDVQQK
+ExJVbml6ZXRvIFNwLiB6IG8uby4xEjAQBgNVBAMTCUNlcnR1bSBDQTAeFw0wMjA2MTExMDQ2Mzla
+Fw0yNzA2MTExMDQ2MzlaMD4xCzAJBgNVBAYTAlBMMRswGQYDVQQKExJVbml6ZXRvIFNwLiB6IG8u
+by4xEjAQBgNVBAMTCUNlcnR1bSBDQTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAM6x
+wS7TT3zNJc4YPk/EjG+AanPIW1H4m9LcuwBcsaD8dQPugfCI7iNS6eYVM42sLQnFdvkrOYCJ5JdL
+kKWoePhzQ3ukYbDYWMzhbGZ+nPMJXlVjhNWo7/OxLjBos8Q82KxujZlakE403Daaj4GIULdtlkIJ
+89eVgw1BS7Bqa/j8D35in2fE7SZfECYPCE/wpFcozo+47UX2bu4lXapuOb7kky/ZR6By6/qmW6/K
+Uz/iDsaWVhFu9+lmqSbYf5VT7QqFiLpPKaVCjF62/IUgAKpoC6EahQGcxEZjgoi2IrHu/qpGWX7P
+NSzVttpd90gzFFS269lvzs2I1qsb2pY7HVkCAwEAAaMTMBEwDwYDVR0TAQH/BAUwAwEB/zANBgkq
+hkiG9w0BAQUFAAOCAQEAuI3O7+cUus/usESSbLQ5PqKEbq24IXfS1HeCh+YgQYHu4vgRt2PRFze+
+GXYkHAQaTOs9qmdvLdTN/mUxcMUbpgIKumB7bVjCmkn+YzILa+M6wKyrO7Do0wlRjBCDxjTgxSvg
+GrZgFCdsMneMvLJymM/NzD+5yCRCFNZX/OYmQ6kd5YCQzgNUKD73P9P4Te1qCjqTE5s7FCMTY5w/
+0YcneeVMUeMBrYVdGjux1XMQpNPyvG5k9VpWkKjHDkx0Dy5xO/fIR/RpbxXyEV6DHpx8Uq79AtoS
+qFlnGNu8cN2bsWntgM6JQEhqDjXKKWYVIZQs6GAqm4VKQPNriiTsBhYscw==
+-----END CERTIFICATE-----
+
+Comodo AAA Services root
+========================
+-----BEGIN CERTIFICATE-----
+MIIEMjCCAxqgAwIBAgIBATANBgkqhkiG9w0BAQUFADB7MQswCQYDVQQGEwJHQjEbMBkGA1UECAwS
+R3JlYXRlciBNYW5jaGVzdGVyMRAwDgYDVQQHDAdTYWxmb3JkMRowGAYDVQQKDBFDb21vZG8gQ0Eg
+TGltaXRlZDEhMB8GA1UEAwwYQUFBIENlcnRpZmljYXRlIFNlcnZpY2VzMB4XDTA0MDEwMTAwMDAw
+MFoXDTI4MTIzMTIzNTk1OVowezELMAkGA1UEBhMCR0IxGzAZBgNVBAgMEkdyZWF0ZXIgTWFuY2hl
+c3RlcjEQMA4GA1UEBwwHU2FsZm9yZDEaMBgGA1UECgwRQ29tb2RvIENBIExpbWl0ZWQxITAfBgNV
+BAMMGEFBQSBDZXJ0aWZpY2F0ZSBTZXJ2aWNlczCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoC
+ggEBAL5AnfRu4ep2hxxNRUSOvkbIgwadwSr+GB+O5AL686tdUIoWMQuaBtDFcCLNSS1UY8y2bmhG
+C1Pqy0wkwLxyTurxFa70VJoSCsN6sjNg4tqJVfMiWPPe3M/vg4aijJRPn2jymJBGhCfHdr/jzDUs
+i14HZGWCwEiwqJH5YZ92IFCokcdmtet4YgNW8IoaE+oxox6gmf049vYnMlhvB/VruPsUK6+3qszW
+Y19zjNoFmag4qMsXeDZRrOme9Hg6jc8P2ULimAyrL58OAd7vn5lJ8S3frHRNG5i1R8XlKdH5kBjH
+Ypy+g8cmez6KJcfA3Z3mNWgQIJ2P2N7Sw4ScDV7oL8kCAwEAAaOBwDCBvTAdBgNVHQ4EFgQUoBEK
+Iz6W8Qfs4q8p74Klf9AwpLQwDgYDVR0PAQH/BAQDAgEGMA8GA1UdEwEB/wQFMAMBAf8wewYDVR0f
+BHQwcjA4oDagNIYyaHR0cDovL2NybC5jb21vZG9jYS5jb20vQUFBQ2VydGlmaWNhdGVTZXJ2aWNl
+cy5jcmwwNqA0oDKGMGh0dHA6Ly9jcmwuY29tb2RvLm5ldC9BQUFDZXJ0aWZpY2F0ZVNlcnZpY2Vz
+LmNybDANBgkqhkiG9w0BAQUFAAOCAQEACFb8AvCb6P+k+tZ7xkSAzk/ExfYAWMymtrwUSWgEdujm
+7l3sAg9g1o1QGE8mTgHj5rCl7r+8dFRBv/38ErjHT1r0iWAFf2C3BUrz9vHCv8S5dIa2LX1rzNLz
+Rt0vxuBqw8M0Ayx9lt1awg6nCpnBBYurDC/zXDrPbDdVCYfeU0BsWO/8tqtlbgT2G9w84FoVxp7Z
+8VlIMCFlA2zs6SFz7JsDoeA3raAVGI/6ugLOpyypEBMs1OUIJqsil2D4kF501KKaU73yqWjgom7C
+12yxow+ev+to51byrvLjKzg6CYG1a4XXvi3tPxq3smPi9WIsgtRqAEFQ8TmDn5XpNpaYbg==
+-----END CERTIFICATE-----
+
+Comodo Secure Services root
+===========================
+-----BEGIN CERTIFICATE-----
+MIIEPzCCAyegAwIBAgIBATANBgkqhkiG9w0BAQUFADB+MQswCQYDVQQGEwJHQjEbMBkGA1UECAwS
+R3JlYXRlciBNYW5jaGVzdGVyMRAwDgYDVQQHDAdTYWxmb3JkMRowGAYDVQQKDBFDb21vZG8gQ0Eg
+TGltaXRlZDEkMCIGA1UEAwwbU2VjdXJlIENlcnRpZmljYXRlIFNlcnZpY2VzMB4XDTA0MDEwMTAw
+MDAwMFoXDTI4MTIzMTIzNTk1OVowfjELMAkGA1UEBhMCR0IxGzAZBgNVBAgMEkdyZWF0ZXIgTWFu
+Y2hlc3RlcjEQMA4GA1UEBwwHU2FsZm9yZDEaMBgGA1UECgwRQ29tb2RvIENBIExpbWl0ZWQxJDAi
+BgNVBAMMG1NlY3VyZSBDZXJ0aWZpY2F0ZSBTZXJ2aWNlczCCASIwDQYJKoZIhvcNAQEBBQADggEP
+ADCCAQoCggEBAMBxM4KK0HDrc4eCQNUd5MvJDkKQ+d40uaG6EfQlhfPMcm3ye5drswfxdySRXyWP
+9nQ95IDC+DwN879A6vfIUtFyb+/Iq0G4bi4XKpVpDM3SHpR7LZQdqnXXs5jLrLxkU0C8j6ysNstc
+rbvd4JQX7NFc0L/vpZXJkMWwrPsbQ996CF23uPJAGysnnlDOXmWCiIxe004MeuoIkbY2qitC++rC
+oznl2yY4rYsK7hljxxwk3wN42ubqwUcaCwtGCd0C/N7Lh1/XMGNooa7cMqG6vv5Eq2i2pRcV/b3V
+p6ea5EQz6YiO/O1R65NxTq0B50SOqy3LqP4BSUjwwN3HaNiS/j0CAwEAAaOBxzCBxDAdBgNVHQ4E
+FgQUPNiTiMLAggnMAZkGkyDpnnAJY08wDgYDVR0PAQH/BAQDAgEGMA8GA1UdEwEB/wQFMAMBAf8w
+gYEGA1UdHwR6MHgwO6A5oDeGNWh0dHA6Ly9jcmwuY29tb2RvY2EuY29tL1NlY3VyZUNlcnRpZmlj
+YXRlU2VydmljZXMuY3JsMDmgN6A1hjNodHRwOi8vY3JsLmNvbW9kby5uZXQvU2VjdXJlQ2VydGlm
+aWNhdGVTZXJ2aWNlcy5jcmwwDQYJKoZIhvcNAQEFBQADggEBAIcBbSMdflsXfcFhMs+P5/OKlFlm
+4J4oqF7Tt/Q05qo5spcWxYJvMqTpjOev/e/C6LlLqqP05tqNZSH7uoDrJiiFGv45jN5bBAS0VPmj
+Z55B+glSzAVIqMk/IQQezkhr/IXownuvf7fM+F86/TXGDe+X3EyrEeFryzHRbPtIgKvcnDe4IRRL
+DXE97IMzbtFuMhbsmMcWi1mmNKsFVy2T96oTy9IT4rcuO81rUBcJaD61JlfutuC23bkpgHl9j6Pw
+pCikFcSF9CfUa7/lXORlAnZUtOM3ZiTTGWHIUhDlizeauan5Hb/qmZJhlv8BzaFfDbxxvA6sCx1H
+RR3B7Hzs/Sk=
+-----END CERTIFICATE-----
+
+Comodo Trusted Services root
+============================
+-----BEGIN CERTIFICATE-----
+MIIEQzCCAyugAwIBAgIBATANBgkqhkiG9w0BAQUFADB/MQswCQYDVQQGEwJHQjEbMBkGA1UECAwS
+R3JlYXRlciBNYW5jaGVzdGVyMRAwDgYDVQQHDAdTYWxmb3JkMRowGAYDVQQKDBFDb21vZG8gQ0Eg
+TGltaXRlZDElMCMGA1UEAwwcVHJ1c3RlZCBDZXJ0aWZpY2F0ZSBTZXJ2aWNlczAeFw0wNDAxMDEw
+MDAwMDBaFw0yODEyMzEyMzU5NTlaMH8xCzAJBgNVBAYTAkdCMRswGQYDVQQIDBJHcmVhdGVyIE1h
+bmNoZXN0ZXIxEDAOBgNVBAcMB1NhbGZvcmQxGjAYBgNVBAoMEUNvbW9kbyBDQSBMaW1pdGVkMSUw
+IwYDVQQDDBxUcnVzdGVkIENlcnRpZmljYXRlIFNlcnZpY2VzMIIBIjANBgkqhkiG9w0BAQEFAAOC
+AQ8AMIIBCgKCAQEA33FvNlhTWvI2VFeAxHQIIO0Yfyod5jWaHiWsnOWWfnJSoBVC21ndZHoa0Lh7
+3TkVvFVIxO06AOoxEbrycXQaZ7jPM8yoMa+j49d/vzMtTGo87IvDktJTdyR0nAducPy9C1t2ul/y
+/9c3S0pgePfw+spwtOpZqqPOSC+pw7ILfhdyFgymBwwbOM/JYrc/oJOlh0Hyt3BAd9i+FHzjqMB6
+juljatEPmsbS9Is6FARW1O24zG71++IsWL1/T2sr92AkWCTOJu80kTrV44HQsvAEAtdbtz6SrGsS
+ivnkBbA7kUlcsutT6vifR4buv5XAwAaf0lteERv0xwQ1KdJVXOTt6wIDAQABo4HJMIHGMB0GA1Ud
+DgQWBBTFe1i97doladL3WRaoszLAeydb9DAOBgNVHQ8BAf8EBAMCAQYwDwYDVR0TAQH/BAUwAwEB
+/zCBgwYDVR0fBHwwejA8oDqgOIY2aHR0cDovL2NybC5jb21vZG9jYS5jb20vVHJ1c3RlZENlcnRp
+ZmljYXRlU2VydmljZXMuY3JsMDqgOKA2hjRodHRwOi8vY3JsLmNvbW9kby5uZXQvVHJ1c3RlZENl
+cnRpZmljYXRlU2VydmljZXMuY3JsMA0GCSqGSIb3DQEBBQUAA4IBAQDIk4E7ibSvuIQSTI3S8Ntw
+uleGFTQQuS9/HrCoiWChisJ3DFBKmwCL2Iv0QeLQg4pKHBQGsKNoBXAxMKdTmw7pSqBYaWcOrp32
+pSxBvzwGa+RZzG0Q8ZZvH9/0BAKkn0U+yNj6NkZEUD+Cl5EfKNsYEYwq5GWDVxISjBc/lDb+XbDA
+BHcTuPQV1T84zJQ6VdCsmPW6AF/ghhmBeC8owH7TzEIK9a5QoNE+xqFx7D+gIIxmOom0jtTYsU0l
+R+4viMi14QVFwL4Ucd56/Y57fU0IlqUSc/AtyjcndBInTMu2l+nZrghtWjlA3QVHdWpaIbOjGM9O
+9y5Xt5hwXsjEeLBi
+-----END CERTIFICATE-----
+
+QuoVadis Root CA
+================
+-----BEGIN CERTIFICATE-----
+MIIF0DCCBLigAwIBAgIEOrZQizANBgkqhkiG9w0BAQUFADB/MQswCQYDVQQGEwJCTTEZMBcGA1UE
+ChMQUXVvVmFkaXMgTGltaXRlZDElMCMGA1UECxMcUm9vdCBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0
+eTEuMCwGA1UEAxMlUXVvVmFkaXMgUm9vdCBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTAeFw0wMTAz
+MTkxODMzMzNaFw0yMTAzMTcxODMzMzNaMH8xCzAJBgNVBAYTAkJNMRkwFwYDVQQKExBRdW9WYWRp
+cyBMaW1pdGVkMSUwIwYDVQQLExxSb290IENlcnRpZmljYXRpb24gQXV0aG9yaXR5MS4wLAYDVQQD
+EyVRdW9WYWRpcyBSb290IENlcnRpZmljYXRpb24gQXV0aG9yaXR5MIIBIjANBgkqhkiG9w0BAQEF
+AAOCAQ8AMIIBCgKCAQEAv2G1lVO6V/z68mcLOhrfEYBklbTRvM16z/Ypli4kVEAkOPcahdxYTMuk
+J0KX0J+DisPkBgNbAKVRHnAEdOLB1Dqr1607BxgFjv2DrOpm2RgbaIr1VxqYuvXtdj182d6UajtL
+F8HVj71lODqV0D1VNk7feVcxKh7YWWVJWCCYfqtffp/p1k3sg3Spx2zY7ilKhSoGFPlU5tPaZQeL
+YzcS19Dsw3sgQUSj7cugF+FxZc4dZjH3dgEZyH0DWLaVSR2mEiboxgx24ONmy+pdpibu5cxfvWen
+AScOospUxbF6lR1xHkopigPcakXBpBlebzbNw6Kwt/5cOOJSvPhEQ+aQuwIDAQABo4ICUjCCAk4w
+PQYIKwYBBQUHAQEEMTAvMC0GCCsGAQUFBzABhiFodHRwczovL29jc3AucXVvdmFkaXNvZmZzaG9y
+ZS5jb20wDwYDVR0TAQH/BAUwAwEB/zCCARoGA1UdIASCAREwggENMIIBCQYJKwYBBAG+WAABMIH7
+MIHUBggrBgEFBQcCAjCBxxqBxFJlbGlhbmNlIG9uIHRoZSBRdW9WYWRpcyBSb290IENlcnRpZmlj
+YXRlIGJ5IGFueSBwYXJ0eSBhc3N1bWVzIGFjY2VwdGFuY2Ugb2YgdGhlIHRoZW4gYXBwbGljYWJs
+ZSBzdGFuZGFyZCB0ZXJtcyBhbmQgY29uZGl0aW9ucyBvZiB1c2UsIGNlcnRpZmljYXRpb24gcHJh
+Y3RpY2VzLCBhbmQgdGhlIFF1b1ZhZGlzIENlcnRpZmljYXRlIFBvbGljeS4wIgYIKwYBBQUHAgEW
+Fmh0dHA6Ly93d3cucXVvdmFkaXMuYm0wHQYDVR0OBBYEFItLbe3TKbkGGew5Oanwl4Rqy+/fMIGu
+BgNVHSMEgaYwgaOAFItLbe3TKbkGGew5Oanwl4Rqy+/foYGEpIGBMH8xCzAJBgNVBAYTAkJNMRkw
+FwYDVQQKExBRdW9WYWRpcyBMaW1pdGVkMSUwIwYDVQQLExxSb290IENlcnRpZmljYXRpb24gQXV0
+aG9yaXR5MS4wLAYDVQQDEyVRdW9WYWRpcyBSb290IENlcnRpZmljYXRpb24gQXV0aG9yaXR5ggQ6
+tlCLMA4GA1UdDwEB/wQEAwIBBjANBgkqhkiG9w0BAQUFAAOCAQEAitQUtf70mpKnGdSkfnIYj9lo
+fFIk3WdvOXrEql494liwTXCYhGHoG+NpGA7O+0dQoE7/8CQfvbLO9Sf87C9TqnN7Az10buYWnuul
+LsS/VidQK2K6vkscPFVcQR0kvoIgR13VRH56FmjffU1RcHhXHTMe/QKZnAzNCgVPx7uOpHX6Sm2x
+gI4JVrmcGmD+XcHXetwReNDWXcG31a0ymQM6isxUJTkxgXsTIlG6Rmyhu576BGxJJnSP0nPrzDCi
+5upZIof4l/UO/erMkqQWxFIY6iHOsfHmhIHluqmGKPJDWl0Snawe2ajlCmqnf6CHKc/yiU3U7MXi
+5nrQNiOKSnQ2+Q==
+-----END CERTIFICATE-----
+
+QuoVadis Root CA 2
+==================
+-----BEGIN CERTIFICATE-----
+MIIFtzCCA5+gAwIBAgICBQkwDQYJKoZIhvcNAQEFBQAwRTELMAkGA1UEBhMCQk0xGTAXBgNVBAoT
+EFF1b1ZhZGlzIExpbWl0ZWQxGzAZBgNVBAMTElF1b1ZhZGlzIFJvb3QgQ0EgMjAeFw0wNjExMjQx
+ODI3MDBaFw0zMTExMjQxODIzMzNaMEUxCzAJBgNVBAYTAkJNMRkwFwYDVQQKExBRdW9WYWRpcyBM
+aW1pdGVkMRswGQYDVQQDExJRdW9WYWRpcyBSb290IENBIDIwggIiMA0GCSqGSIb3DQEBAQUAA4IC
+DwAwggIKAoICAQCaGMpLlA0ALa8DKYrwD4HIrkwZhR0In6spRIXzL4GtMh6QRr+jhiYaHv5+HBg6
+XJxgFyo6dIMzMH1hVBHL7avg5tKifvVrbxi3Cgst/ek+7wrGsxDp3MJGF/hd/aTa/55JWpzmM+Yk
+lvc/ulsrHHo1wtZn/qtmUIttKGAr79dgw8eTvI02kfN/+NsRE8Scd3bBrrcCaoF6qUWD4gXmuVbB
+lDePSHFjIuwXZQeVikvfj8ZaCuWw419eaxGrDPmF60Tp+ARz8un+XJiM9XOva7R+zdRcAitMOeGy
+lZUtQofX1bOQQ7dsE/He3fbE+Ik/0XX1ksOR1YqI0JDs3G3eicJlcZaLDQP9nL9bFqyS2+r+eXyt
+66/3FsvbzSUr5R/7mp/iUcw6UwxI5g69ybR2BlLmEROFcmMDBOAENisgGQLodKcftslWZvB1Jdxn
+wQ5hYIizPtGo/KPaHbDRsSNU30R2be1B2MGyIrZTHN81Hdyhdyox5C315eXbyOD/5YDXC2Og/zOh
+D7osFRXql7PSorW+8oyWHhqPHWykYTe5hnMz15eWniN9gqRMgeKh0bpnX5UHoycR7hYQe7xFSkyy
+BNKr79X9DFHOUGoIMfmR2gyPZFwDwzqLID9ujWc9Otb+fVuIyV77zGHcizN300QyNQliBJIWENie
+J0f7OyHj+OsdWwIDAQABo4GwMIGtMA8GA1UdEwEB/wQFMAMBAf8wCwYDVR0PBAQDAgEGMB0GA1Ud
+DgQWBBQahGK8SEwzJQTU7tD2A8QZRtGUazBuBgNVHSMEZzBlgBQahGK8SEwzJQTU7tD2A8QZRtGU
+a6FJpEcwRTELMAkGA1UEBhMCQk0xGTAXBgNVBAoTEFF1b1ZhZGlzIExpbWl0ZWQxGzAZBgNVBAMT
+ElF1b1ZhZGlzIFJvb3QgQ0EgMoICBQkwDQYJKoZIhvcNAQEFBQADggIBAD4KFk2fBluornFdLwUv
+Z+YTRYPENvbzwCYMDbVHZF34tHLJRqUDGCdViXh9duqWNIAXINzng/iN/Ae42l9NLmeyhP3ZRPx3
+UIHmfLTJDQtyU/h2BwdBR5YM++CCJpNVjP4iH2BlfF/nJrP3MpCYUNQ3cVX2kiF495V5+vgtJodm
+VjB3pjd4M1IQWK4/YY7yarHvGH5KWWPKjaJW1acvvFYfzznB4vsKqBUsfU16Y8Zsl0Q80m/DShcK
++JDSV6IZUaUtl0HaB0+pUNqQjZRG4T7wlP0QADj1O+hA4bRuVhogzG9Yje0uRY/W6ZM/57Es3zrW
+IozchLsib9D45MY56QSIPMO661V6bYCZJPVsAfv4l7CUW+v90m/xd2gNNWQjrLhVoQPRTUIZ3Ph1
+WVaj+ahJefivDrkRoHy3au000LYmYjgahwz46P0u05B/B5EqHdZ+XIWDmbA4CD/pXvk1B+TJYm5X
+f6dQlfe6yJvmjqIBxdZmv3lh8zwc4bmCXF2gw+nYSL0ZohEUGW6yhhtoPkg3Goi3XZZenMfvJ2II
+4pEZXNLxId26F0KCl3GBUzGpn/Z9Yr9y4aOTHcyKJloJONDO1w2AFrR4pTqHTI2KpdVGl/IsELm8
+VCLAAVBpQ570su9t+Oza8eOx79+Rj1QqCyXBJhnEUhAFZdWCEOrCMc0u
+-----END CERTIFICATE-----
+
+QuoVadis Root CA 3
+==================
+-----BEGIN CERTIFICATE-----
+MIIGnTCCBIWgAwIBAgICBcYwDQYJKoZIhvcNAQEFBQAwRTELMAkGA1UEBhMCQk0xGTAXBgNVBAoT
+EFF1b1ZhZGlzIExpbWl0ZWQxGzAZBgNVBAMTElF1b1ZhZGlzIFJvb3QgQ0EgMzAeFw0wNjExMjQx
+OTExMjNaFw0zMTExMjQxOTA2NDRaMEUxCzAJBgNVBAYTAkJNMRkwFwYDVQQKExBRdW9WYWRpcyBM
+aW1pdGVkMRswGQYDVQQDExJRdW9WYWRpcyBSb290IENBIDMwggIiMA0GCSqGSIb3DQEBAQUAA4IC
+DwAwggIKAoICAQDMV0IWVJzmmNPTTe7+7cefQzlKZbPoFog02w1ZkXTPkrgEQK0CSzGrvI2RaNgg
+DhoB4hp7Thdd4oq3P5kazethq8Jlph+3t723j/z9cI8LoGe+AaJZz3HmDyl2/7FWeUUrH556VOij
+KTVopAFPD6QuN+8bv+OPEKhyq1hX51SGyMnzW9os2l2ObjyjPtr7guXd8lyyBTNvijbO0BNO/79K
+DDRMpsMhvVAEVeuxu537RR5kFd5VAYwCdrXLoT9CabwvvWhDFlaJKjdhkf2mrk7AyxRllDdLkgbv
+BNDInIjbC3uBr7E9KsRlOni27tyAsdLTmZw67mtaa7ONt9XOnMK+pUsvFrGeaDsGb659n/je7Mwp
+p5ijJUMv7/FfJuGITfhebtfZFG4ZM2mnO4SJk8RTVROhUXhA+LjJou57ulJCg54U7QVSWllWp5f8
+nT8KKdjcT5EOE7zelaTfi5m+rJsziO+1ga8bxiJTyPbH7pcUsMV8eFLI8M5ud2CEpukqdiDtWAEX
+MJPpGovgc2PZapKUSU60rUqFxKMiMPwJ7Wgic6aIDFUhWMXhOp8q3crhkODZc6tsgLjoC2SToJyM
+Gf+z0gzskSaHirOi4XCPLArlzW1oUevaPwV/izLmE1xr/l9A4iLItLRkT9a6fUg+qGkM17uGcclz
+uD87nSVL2v9A6wIDAQABo4IBlTCCAZEwDwYDVR0TAQH/BAUwAwEB/zCB4QYDVR0gBIHZMIHWMIHT
+BgkrBgEEAb5YAAMwgcUwgZMGCCsGAQUFBwICMIGGGoGDQW55IHVzZSBvZiB0aGlzIENlcnRpZmlj
+YXRlIGNvbnN0aXR1dGVzIGFjY2VwdGFuY2Ugb2YgdGhlIFF1b1ZhZGlzIFJvb3QgQ0EgMyBDZXJ0
+aWZpY2F0ZSBQb2xpY3kgLyBDZXJ0aWZpY2F0aW9uIFByYWN0aWNlIFN0YXRlbWVudC4wLQYIKwYB
+BQUHAgEWIWh0dHA6Ly93d3cucXVvdmFkaXNnbG9iYWwuY29tL2NwczALBgNVHQ8EBAMCAQYwHQYD
+VR0OBBYEFPLAE+CCQz777i9nMpY1XNu4ywLQMG4GA1UdIwRnMGWAFPLAE+CCQz777i9nMpY1XNu4
+ywLQoUmkRzBFMQswCQYDVQQGEwJCTTEZMBcGA1UEChMQUXVvVmFkaXMgTGltaXRlZDEbMBkGA1UE
+AxMSUXVvVmFkaXMgUm9vdCBDQSAzggIFxjANBgkqhkiG9w0BAQUFAAOCAgEAT62gLEz6wPJv92ZV
+qyM07ucp2sNbtrCD2dDQ4iH782CnO11gUyeim/YIIirnv6By5ZwkajGxkHon24QRiSemd1o417+s
+hvzuXYO8BsbRd2sPbSQvS3pspweWyuOEn62Iix2rFo1bZhfZFvSLgNLd+LJ2w/w4E6oM3kJpK27z
+POuAJ9v1pkQNn1pVWQvVDVJIxa6f8i+AxeoyUDUSly7B4f/xI4hROJ/yZlZ25w9Rl6VSDE1JUZU2
+Pb+iSwwQHYaZTKrzchGT5Or2m9qoXadNt54CrnMAyNojA+j56hl0YgCUyyIgvpSnWbWCar6ZeXqp
+8kokUvd0/bpO5qgdAm6xDYBEwa7TIzdfu4V8K5Iu6H6li92Z4b8nby1dqnuH/grdS/yO9SbkbnBC
+bjPsMZ57k8HkyWkaPcBrTiJt7qtYTcbQQcEr6k8Sh17rRdhs9ZgC06DYVYoGmRmioHfRMJ6szHXu
+g/WwYjnPbFfiTNKRCw51KBuav/0aQ/HKd/s7j2G4aSgWQgRecCocIdiP4b0jWy10QJLZYxkNc91p
+vGJHvOB0K7Lrfb5BG7XARsWhIstfTsEokt4YutUqKLsRixeTmJlglFwjz1onl14LBQaTNx47aTbr
+qZ5hHY8y2o4M1nQ+ewkk2gF3R8Q7zTSMmfXK4SVhM7JZG+Ju1zdXtg2pEto=
+-----END CERTIFICATE-----
+
+Security Communication Root CA
+==============================
+-----BEGIN CERTIFICATE-----
+MIIDWjCCAkKgAwIBAgIBADANBgkqhkiG9w0BAQUFADBQMQswCQYDVQQGEwJKUDEYMBYGA1UEChMP
+U0VDT00gVHJ1c3QubmV0MScwJQYDVQQLEx5TZWN1cml0eSBDb21tdW5pY2F0aW9uIFJvb3RDQTEw
+HhcNMDMwOTMwMDQyMDQ5WhcNMjMwOTMwMDQyMDQ5WjBQMQswCQYDVQQGEwJKUDEYMBYGA1UEChMP
+U0VDT00gVHJ1c3QubmV0MScwJQYDVQQLEx5TZWN1cml0eSBDb21tdW5pY2F0aW9uIFJvb3RDQTEw
+ggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCzs/5/022x7xZ8V6UMbXaKL0u/ZPtM7orw
+8yl89f/uKuDp6bpbZCKamm8sOiZpUQWZJtzVHGpxxpp9Hp3dfGzGjGdnSj74cbAZJ6kJDKaVv0uM
+DPpVmDvY6CKhS3E4eayXkmmziX7qIWgGmBSWh9JhNrxtJ1aeV+7AwFb9Ms+k2Y7CI9eNqPPYJayX
+5HA49LY6tJ07lyZDo6G8SVlyTCMwhwFY9k6+HGhWZq/NQV3Is00qVUarH9oe4kA92819uZKAnDfd
+DJZkndwi92SL32HeFZRSFaB9UslLqCHJxrHty8OVYNEP8Ktw+N/LTX7s1vqr2b1/VPKl6Xn62dZ2
+JChzAgMBAAGjPzA9MB0GA1UdDgQWBBSgc0mZaNyFW2XjmygvV5+9M7wHSDALBgNVHQ8EBAMCAQYw
+DwYDVR0TAQH/BAUwAwEB/zANBgkqhkiG9w0BAQUFAAOCAQEAaECpqLvkT115swW1F7NgE+vGkl3g
+0dNq/vu+m22/xwVtWSDEHPC32oRYAmP6SBbvT6UL90qY8j+eG61Ha2POCEfrUj94nK9NrvjVT8+a
+mCoQQTlSxN3Zmw7vkwGusi7KaEIkQmywszo+zenaSMQVy+n5Bw+SUEmK3TGXX8npN6o7WWWXlDLJ
+s58+OmJYxUmtYg5xpTKqL8aJdkNAExNnPaJUJRDL8Try2frbSVa7pv6nQTXD4IhhyYjH3zYQIphZ
+6rBK+1YWc26sTfcioU+tHXotRSflMMFe8toTyyVCUZVHA4xsIcx0Qu1T/zOLjw9XARYvz6buyXAi
+FL39vmwLAw==
+-----END CERTIFICATE-----
+
+Sonera Class 2 Root CA
+======================
+-----BEGIN CERTIFICATE-----
+MIIDIDCCAgigAwIBAgIBHTANBgkqhkiG9w0BAQUFADA5MQswCQYDVQQGEwJGSTEPMA0GA1UEChMG
+U29uZXJhMRkwFwYDVQQDExBTb25lcmEgQ2xhc3MyIENBMB4XDTAxMDQwNjA3Mjk0MFoXDTIxMDQw
+NjA3Mjk0MFowOTELMAkGA1UEBhMCRkkxDzANBgNVBAoTBlNvbmVyYTEZMBcGA1UEAxMQU29uZXJh
+IENsYXNzMiBDQTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAJAXSjWdyvANlsdE+hY3
+/Ei9vX+ALTU74W+oZ6m/AxxNjG8yR9VBaKQTBME1DJqEQ/xcHf+Js+gXGM2RX/uJ4+q/Tl18GybT
+dXnt5oTjV+WtKcT0OijnpXuENmmz/V52vaMtmdOQTiMofRhj8VQ7Jp12W5dCsv+u8E7s3TmVToMG
+f+dJQMjFAbJUWmYdPfz56TwKnoG4cPABi+QjVHzIrviQHgCWctRUz2EjvOr7nQKV0ba5cTppCD8P
+tOFCx4j1P5iop7oc4HFx71hXgVB6XGt0Rg6DA5jDjqhu8nYybieDwnPz3BjotJPqdURrBGAgcVeH
+nfO+oJAjPYok4doh28MCAwEAAaMzMDEwDwYDVR0TAQH/BAUwAwEB/zARBgNVHQ4ECgQISqCqWITT
+XjwwCwYDVR0PBAQDAgEGMA0GCSqGSIb3DQEBBQUAA4IBAQBazof5FnIVV0sd2ZvnoiYw7JNn39Yt
+0jSv9zilzqsWuasvfDXLrNAPtEwr/IDva4yRXzZ299uzGxnq9LIR/WFxRL8oszodv7ND6J+/3DEI
+cbCdjdY0RzKQxmUk96BKfARzjzlvF4xytb1LyHr4e4PDKE6cCepnP7JnBBvDFNr450kkkdAdavph
+Oe9r5yF1BgfYErQhIHBCcYHaPJo2vqZbDWpsmh+Re/n570K6Tk6ezAyNlNzZRZxe7EJQY670XcSx
+EtzKO6gunRRaBXW37Ndj4ro1tgQIkejanZz2ZrUYrAqmVCY0M9IbwdR/GjqOC6oybtv8TyWf2TLH
+llpwrN9M
+-----END CERTIFICATE-----
+
+UTN USERFirst Hardware Root CA
+==============================
+-----BEGIN CERTIFICATE-----
+MIIEdDCCA1ygAwIBAgIQRL4Mi1AAJLQR0zYq/mUK/TANBgkqhkiG9w0BAQUFADCBlzELMAkGA1UE
+BhMCVVMxCzAJBgNVBAgTAlVUMRcwFQYDVQQHEw5TYWx0IExha2UgQ2l0eTEeMBwGA1UEChMVVGhl
+IFVTRVJUUlVTVCBOZXR3b3JrMSEwHwYDVQQLExhodHRwOi8vd3d3LnVzZXJ0cnVzdC5jb20xHzAd
+BgNVBAMTFlVUTi1VU0VSRmlyc3QtSGFyZHdhcmUwHhcNOTkwNzA5MTgxMDQyWhcNMTkwNzA5MTgx
+OTIyWjCBlzELMAkGA1UEBhMCVVMxCzAJBgNVBAgTAlVUMRcwFQYDVQQHEw5TYWx0IExha2UgQ2l0
+eTEeMBwGA1UEChMVVGhlIFVTRVJUUlVTVCBOZXR3b3JrMSEwHwYDVQQLExhodHRwOi8vd3d3LnVz
+ZXJ0cnVzdC5jb20xHzAdBgNVBAMTFlVUTi1VU0VSRmlyc3QtSGFyZHdhcmUwggEiMA0GCSqGSIb3
+DQEBAQUAA4IBDwAwggEKAoIBAQCx98M4P7Sof885glFn0G2f0v9Y8+efK+wNiVSZuTiZFvfgIXlI
+wrthdBKWHTxqctU8EGc6Oe0rE81m65UJM6Rsl7HoxuzBdXmcRl6Nq9Bq/bkqVRcQVLMZ8Jr28bFd
+tqdt++BxF2uiiPsA3/4aMXcMmgF6sTLjKwEHOG7DpV4jvEWbe1DByTCP2+UretNb+zNAHqDVmBe8
+i4fDidNdoI6yqqr2jmmIBsX6iSHzCJ1pLgkzmykNRg+MzEk0sGlRvfkGzWitZky8PqxhvQqIDsjf
+Pe58BEydCl5rkdbux+0ojatNh4lz0G6k0B4WixThdkQDf2Os5M1JnMWS9KsyoUhbAgMBAAGjgbkw
+gbYwCwYDVR0PBAQDAgHGMA8GA1UdEwEB/wQFMAMBAf8wHQYDVR0OBBYEFKFyXyYbKJhDlV0HN9WF
+lp1L0sNFMEQGA1UdHwQ9MDswOaA3oDWGM2h0dHA6Ly9jcmwudXNlcnRydXN0LmNvbS9VVE4tVVNF
+UkZpcnN0LUhhcmR3YXJlLmNybDAxBgNVHSUEKjAoBggrBgEFBQcDAQYIKwYBBQUHAwUGCCsGAQUF
+BwMGBggrBgEFBQcDBzANBgkqhkiG9w0BAQUFAAOCAQEARxkP3nTGmZev/K0oXnWO6y1n7k57K9cM
+//bey1WiCuFMVGWTYGufEpytXoMs61quwOQt9ABjHbjAbPLPSbtNk28GpgoiskliCE7/yMgUsogW
+XecB5BKV5UU0s4tpvc+0hY91UZ59Ojg6FEgSxvunOxqNDYJAB+gECJChicsZUN/KHAG8HQQZexB2
+lzvukJDKxA4fFm517zP4029bHpbj4HR3dHuKom4t3XbWOTCC8KucUvIqx69JXn7HaOWCgchqJ/kn
+iCrVWFCVH/A7HFe7fRQ5YiuayZSSKqMiDP+JJn1fIytH1xUdqWqeUQ0qUZ6B+dQ7XnASfxAynB67
+nfhmqA==
+-----END CERTIFICATE-----
+
+Camerfirma Chambers of Commerce Root
+====================================
+-----BEGIN CERTIFICATE-----
+MIIEvTCCA6WgAwIBAgIBADANBgkqhkiG9w0BAQUFADB/MQswCQYDVQQGEwJFVTEnMCUGA1UEChMe
+QUMgQ2FtZXJmaXJtYSBTQSBDSUYgQTgyNzQzMjg3MSMwIQYDVQQLExpodHRwOi8vd3d3LmNoYW1i
+ZXJzaWduLm9yZzEiMCAGA1UEAxMZQ2hhbWJlcnMgb2YgQ29tbWVyY2UgUm9vdDAeFw0wMzA5MzAx
+NjEzNDNaFw0zNzA5MzAxNjEzNDRaMH8xCzAJBgNVBAYTAkVVMScwJQYDVQQKEx5BQyBDYW1lcmZp
+cm1hIFNBIENJRiBBODI3NDMyODcxIzAhBgNVBAsTGmh0dHA6Ly93d3cuY2hhbWJlcnNpZ24ub3Jn
+MSIwIAYDVQQDExlDaGFtYmVycyBvZiBDb21tZXJjZSBSb290MIIBIDANBgkqhkiG9w0BAQEFAAOC
+AQ0AMIIBCAKCAQEAtzZV5aVdGDDg2olUkfzIx1L4L1DZ77F1c2VHfRtbunXF/KGIJPov7coISjlU
+xFF6tdpg6jg8gbLL8bvZkSM/SAFwdakFKq0fcfPJVD0dBmpAPrMMhe5cG3nCYsS4No41XQEMIwRH
+NaqbYE6gZj3LJgqcQKH0XZi/caulAGgq7YN6D6IUtdQis4CwPAxaUWktWBiP7Zme8a7ileb2R6jW
+DA+wWFjbw2Y3npuRVDM30pQcakjJyfKl2qUMI/cjDpwyVV5xnIQFUZot/eZOKjRa3spAN2cMVCFV
+d9oKDMyXroDclDZK9D7ONhMeU+SsTjoF7Nuucpw4i9A5O4kKPnf+dQIBA6OCAUQwggFAMBIGA1Ud
+EwEB/wQIMAYBAf8CAQwwPAYDVR0fBDUwMzAxoC+gLYYraHR0cDovL2NybC5jaGFtYmVyc2lnbi5v
+cmcvY2hhbWJlcnNyb290LmNybDAdBgNVHQ4EFgQU45T1sU3p26EpW1eLTXYGduHRooowDgYDVR0P
+AQH/BAQDAgEGMBEGCWCGSAGG+EIBAQQEAwIABzAnBgNVHREEIDAegRxjaGFtYmVyc3Jvb3RAY2hh
+bWJlcnNpZ24ub3JnMCcGA1UdEgQgMB6BHGNoYW1iZXJzcm9vdEBjaGFtYmVyc2lnbi5vcmcwWAYD
+VR0gBFEwTzBNBgsrBgEEAYGHLgoDATA+MDwGCCsGAQUFBwIBFjBodHRwOi8vY3BzLmNoYW1iZXJz
+aWduLm9yZy9jcHMvY2hhbWJlcnNyb290Lmh0bWwwDQYJKoZIhvcNAQEFBQADggEBAAxBl8IahsAi
+fJ/7kPMa0QOx7xP5IV8EnNrJpY0nbJaHkb5BkAFyk+cefV/2icZdp0AJPaxJRUXcLo0waLIJuvvD
+L8y6C98/d3tGfToSJI6WjzwFCm/SlCgdbQzALogi1djPHRPH8EjX1wWnz8dHnjs8NMiAT9QUu/wN
+UPf6s+xCX6ndbcj0dc97wXImsQEcXCz9ek60AcUFV7nnPKoF2YjpB0ZBzu9Bga5Y34OirsrXdx/n
+ADydb47kMgkdTXg0eDQ8lJsm7U9xxhl6vSAiSFr+S30Dt+dYvsYyTnQeaN2oaFuzPu5ifdmA6Ap1
+erfutGWaIZDgqtCYvDi1czyL+Nw=
+-----END CERTIFICATE-----
+
+Camerfirma Global Chambersign Root
+==================================
+-----BEGIN CERTIFICATE-----
+MIIExTCCA62gAwIBAgIBADANBgkqhkiG9w0BAQUFADB9MQswCQYDVQQGEwJFVTEnMCUGA1UEChMe
+QUMgQ2FtZXJmaXJtYSBTQSBDSUYgQTgyNzQzMjg3MSMwIQYDVQQLExpodHRwOi8vd3d3LmNoYW1i
+ZXJzaWduLm9yZzEgMB4GA1UEAxMXR2xvYmFsIENoYW1iZXJzaWduIFJvb3QwHhcNMDMwOTMwMTYx
+NDE4WhcNMzcwOTMwMTYxNDE4WjB9MQswCQYDVQQGEwJFVTEnMCUGA1UEChMeQUMgQ2FtZXJmaXJt
+YSBTQSBDSUYgQTgyNzQzMjg3MSMwIQYDVQQLExpodHRwOi8vd3d3LmNoYW1iZXJzaWduLm9yZzEg
+MB4GA1UEAxMXR2xvYmFsIENoYW1iZXJzaWduIFJvb3QwggEgMA0GCSqGSIb3DQEBAQUAA4IBDQAw
+ggEIAoIBAQCicKLQn0KuWxfH2H3PFIP8T8mhtxOviteePgQKkotgVvq0Mi+ITaFgCPS3CU6gSS9J
+1tPfnZdan5QEcOw/Wdm3zGaLmFIoCQLfxS+EjXqXd7/sQJ0lcqu1PzKY+7e3/HKE5TWH+VX6ox8O
+by4o3Wmg2UIQxvi1RMLQQ3/bvOSiPGpVeAp3qdjqGTK3L/5cPxvusZjsyq16aUXjlg9V9ubtdepl
+6DJWk0aJqCWKZQbua795B9Dxt6/tLE2Su8CoX6dnfQTyFQhwrJLWfQTSM/tMtgsL+xrJxI0DqX5c
+8lCrEqWhz0hQpe/SyBoT+rB/sYIcd2oPX9wLlY/vQ37mRQklAgEDo4IBUDCCAUwwEgYDVR0TAQH/
+BAgwBgEB/wIBDDA/BgNVHR8EODA2MDSgMqAwhi5odHRwOi8vY3JsLmNoYW1iZXJzaWduLm9yZy9j
+aGFtYmVyc2lnbnJvb3QuY3JsMB0GA1UdDgQWBBRDnDafsJ4wTcbOX60Qq+UDpfqpFDAOBgNVHQ8B
+Af8EBAMCAQYwEQYJYIZIAYb4QgEBBAQDAgAHMCoGA1UdEQQjMCGBH2NoYW1iZXJzaWducm9vdEBj
+aGFtYmVyc2lnbi5vcmcwKgYDVR0SBCMwIYEfY2hhbWJlcnNpZ25yb290QGNoYW1iZXJzaWduLm9y
+ZzBbBgNVHSAEVDBSMFAGCysGAQQBgYcuCgEBMEEwPwYIKwYBBQUHAgEWM2h0dHA6Ly9jcHMuY2hh
+bWJlcnNpZ24ub3JnL2Nwcy9jaGFtYmVyc2lnbnJvb3QuaHRtbDANBgkqhkiG9w0BAQUFAAOCAQEA
+PDtwkfkEVCeR4e3t/mh/YV3lQWVPMvEYBZRqHN4fcNs+ezICNLUMbKGKfKX0j//U2K0X1S0E0T9Y
+gOKBWYi+wONGkyT+kL0mojAt6JcmVzWJdJYY9hXiryQZVgICsroPFOrGimbBhkVVi76SvpykBMdJ
+PJ7oKXqJ1/6v/2j1pReQvayZzKWGVwlnRtvWFsJG8eSpUPWP0ZIV018+xgBJOm5YstHRJw0lyDL4
+IBHNfTIzSJRUTN3cecQwn+uOuFW114hcxWokPbLTBQNRxgfvzBRydD1ucs4YKIxKoHflCStFREes
+t2d/AYoFWpO+ocH/+OcOZ6RHSXZddZAa9SaP8A==
+-----END CERTIFICATE-----
+
+XRamp Global CA Root
+====================
+-----BEGIN CERTIFICATE-----
+MIIEMDCCAxigAwIBAgIQUJRs7Bjq1ZxN1ZfvdY+grTANBgkqhkiG9w0BAQUFADCBgjELMAkGA1UE
+BhMCVVMxHjAcBgNVBAsTFXd3dy54cmFtcHNlY3VyaXR5LmNvbTEkMCIGA1UEChMbWFJhbXAgU2Vj
+dXJpdHkgU2VydmljZXMgSW5jMS0wKwYDVQQDEyRYUmFtcCBHbG9iYWwgQ2VydGlmaWNhdGlvbiBB
+dXRob3JpdHkwHhcNMDQxMTAxMTcxNDA0WhcNMzUwMTAxMDUzNzE5WjCBgjELMAkGA1UEBhMCVVMx
+HjAcBgNVBAsTFXd3dy54cmFtcHNlY3VyaXR5LmNvbTEkMCIGA1UEChMbWFJhbXAgU2VjdXJpdHkg
+U2VydmljZXMgSW5jMS0wKwYDVQQDEyRYUmFtcCBHbG9iYWwgQ2VydGlmaWNhdGlvbiBBdXRob3Jp
+dHkwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCYJB69FbS638eMpSe2OAtp87ZOqCwu
+IR1cRN8hXX4jdP5efrRKt6atH67gBhbim1vZZ3RrXYCPKZ2GG9mcDZhtdhAoWORlsH9KmHmf4MMx
+foArtYzAQDsRhtDLooY2YKTVMIJt2W7QDxIEM5dfT2Fa8OT5kavnHTu86M/0ay00fOJIYRyO82FE
+zG+gSqmUsE3a56k0enI4qEHMPJQRfevIpoy3hsvKMzvZPTeL+3o+hiznc9cKV6xkmxnr9A8ECIqs
+AxcZZPRaJSKNNCyy9mgdEm3Tih4U2sSPpuIjhdV6Db1q4Ons7Be7QhtnqiXtRYMh/MHJfNViPvry
+xS3T/dRlAgMBAAGjgZ8wgZwwEwYJKwYBBAGCNxQCBAYeBABDAEEwCwYDVR0PBAQDAgGGMA8GA1Ud
+EwEB/wQFMAMBAf8wHQYDVR0OBBYEFMZPoj0GY4QJnM5i5ASsjVy16bYbMDYGA1UdHwQvMC0wK6Ap
+oCeGJWh0dHA6Ly9jcmwueHJhbXBzZWN1cml0eS5jb20vWEdDQS5jcmwwEAYJKwYBBAGCNxUBBAMC
+AQEwDQYJKoZIhvcNAQEFBQADggEBAJEVOQMBG2f7Shz5CmBbodpNl2L5JFMn14JkTpAuw0kbK5rc
+/Kh4ZzXxHfARvbdI4xD2Dd8/0sm2qlWkSLoC295ZLhVbO50WfUfXN+pfTXYSNrsf16GBBEYgoyxt
+qZ4Bfj8pzgCT3/3JknOJiWSe5yvkHJEs0rnOfc5vMZnT5r7SHpDwCRR5XCOrTdLaIR9NmXmd4c8n
+nxCbHIgNsIpkQTG4DmyQJKSbXHGPurt+HBvbaoAPIbzp26a3QPSyi6mx5O+aGtA9aZnuqCij4Tyz
+8LIRnM98QObd50N9otg6tamN8jSZxNQQ4Qb9CYQQO+7ETPTsJ3xCwnR8gooJybQDJbw=
+-----END CERTIFICATE-----
+
+Go Daddy Class 2 CA
+===================
+-----BEGIN CERTIFICATE-----
+MIIEADCCAuigAwIBAgIBADANBgkqhkiG9w0BAQUFADBjMQswCQYDVQQGEwJVUzEhMB8GA1UEChMY
+VGhlIEdvIERhZGR5IEdyb3VwLCBJbmMuMTEwLwYDVQQLEyhHbyBEYWRkeSBDbGFzcyAyIENlcnRp
+ZmljYXRpb24gQXV0aG9yaXR5MB4XDTA0MDYyOTE3MDYyMFoXDTM0MDYyOTE3MDYyMFowYzELMAkG
+A1UEBhMCVVMxITAfBgNVBAoTGFRoZSBHbyBEYWRkeSBHcm91cCwgSW5jLjExMC8GA1UECxMoR28g
+RGFkZHkgQ2xhc3MgMiBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTCCASAwDQYJKoZIhvcNAQEBBQAD
+ggENADCCAQgCggEBAN6d1+pXGEmhW+vXX0iG6r7d/+TvZxz0ZWizV3GgXne77ZtJ6XCAPVYYYwhv
+2vLM0D9/AlQiVBDYsoHUwHU9S3/Hd8M+eKsaA7Ugay9qK7HFiH7Eux6wwdhFJ2+qN1j3hybX2C32
+qRe3H3I2TqYXP2WYktsqbl2i/ojgC95/5Y0V4evLOtXiEqITLdiOr18SPaAIBQi2XKVlOARFmR6j
+YGB0xUGlcmIbYsUfb18aQr4CUWWoriMYavx4A6lNf4DD+qta/KFApMoZFv6yyO9ecw3ud72a9nmY
+vLEHZ6IVDd2gWMZEewo+YihfukEHU1jPEX44dMX4/7VpkI+EdOqXG68CAQOjgcAwgb0wHQYDVR0O
+BBYEFNLEsNKR1EwRcbNhyz2h/t2oatTjMIGNBgNVHSMEgYUwgYKAFNLEsNKR1EwRcbNhyz2h/t2o
+atTjoWekZTBjMQswCQYDVQQGEwJVUzEhMB8GA1UEChMYVGhlIEdvIERhZGR5IEdyb3VwLCBJbmMu
+MTEwLwYDVQQLEyhHbyBEYWRkeSBDbGFzcyAyIENlcnRpZmljYXRpb24gQXV0aG9yaXR5ggEAMAwG
+A1UdEwQFMAMBAf8wDQYJKoZIhvcNAQEFBQADggEBADJL87LKPpH8EsahB4yOd6AzBhRckB4Y9wim
+PQoZ+YeAEW5p5JYXMP80kWNyOO7MHAGjHZQopDH2esRU1/blMVgDoszOYtuURXO1v0XJJLXVggKt
+I3lpjbi2Tc7PTMozI+gciKqdi0FuFskg5YmezTvacPd+mSYgFFQlq25zheabIZ0KbIIOqPjCDPoQ
+HmyW74cNxA9hi63ugyuV+I6ShHI56yDqg+2DzZduCLzrTia2cyvk0/ZM/iZx4mERdEr/VxqHD3VI
+Ls9RaRegAhJhldXRQLIQTO7ErBBDpqWeCtWVYpoNz4iCxTIM5CufReYNnyicsbkqWletNw+vHX/b
+vZ8=
+-----END CERTIFICATE-----
+
+Starfield Class 2 CA
+====================
+-----BEGIN CERTIFICATE-----
+MIIEDzCCAvegAwIBAgIBADANBgkqhkiG9w0BAQUFADBoMQswCQYDVQQGEwJVUzElMCMGA1UEChMc
+U3RhcmZpZWxkIFRlY2hub2xvZ2llcywgSW5jLjEyMDAGA1UECxMpU3RhcmZpZWxkIENsYXNzIDIg
+Q2VydGlmaWNhdGlvbiBBdXRob3JpdHkwHhcNMDQwNjI5MTczOTE2WhcNMzQwNjI5MTczOTE2WjBo
+MQswCQYDVQQGEwJVUzElMCMGA1UEChMcU3RhcmZpZWxkIFRlY2hub2xvZ2llcywgSW5jLjEyMDAG
+A1UECxMpU3RhcmZpZWxkIENsYXNzIDIgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkwggEgMA0GCSqG
+SIb3DQEBAQUAA4IBDQAwggEIAoIBAQC3Msj+6XGmBIWtDBFk385N78gDGIc/oav7PKaf8MOh2tTY
+bitTkPskpD6E8J7oX+zlJ0T1KKY/e97gKvDIr1MvnsoFAZMej2YcOadN+lq2cwQlZut3f+dZxkqZ
+JRRU6ybH838Z1TBwj6+wRir/resp7defqgSHo9T5iaU0X9tDkYI22WY8sbi5gv2cOj4QyDvvBmVm
+epsZGD3/cVE8MC5fvj13c7JdBmzDI1aaK4UmkhynArPkPw2vCHmCuDY96pzTNbO8acr1zJ3o/WSN
+F4Azbl5KXZnJHoe0nRrA1W4TNSNe35tfPe/W93bC6j67eA0cQmdrBNj41tpvi/JEoAGrAgEDo4HF
+MIHCMB0GA1UdDgQWBBS/X7fRzt0fhvRbVazc1xDCDqmI5zCBkgYDVR0jBIGKMIGHgBS/X7fRzt0f
+hvRbVazc1xDCDqmI56FspGowaDELMAkGA1UEBhMCVVMxJTAjBgNVBAoTHFN0YXJmaWVsZCBUZWNo
+bm9sb2dpZXMsIEluYy4xMjAwBgNVBAsTKVN0YXJmaWVsZCBDbGFzcyAyIENlcnRpZmljYXRpb24g
+QXV0aG9yaXR5ggEAMAwGA1UdEwQFMAMBAf8wDQYJKoZIhvcNAQEFBQADggEBAAWdP4id0ckaVaGs
+afPzWdqbAYcaT1epoXkJKtv3L7IezMdeatiDh6GX70k1PncGQVhiv45YuApnP+yz3SFmH8lU+nLM
+PUxA2IGvd56Deruix/U0F47ZEUD0/CwqTRV/p2JdLiXTAAsgGh1o+Re49L2L7ShZ3U0WixeDyLJl
+xy16paq8U4Zt3VekyvggQQto8PT7dL5WXXp59fkdheMtlb71cZBDzI0fmgAKhynpVSJYACPq4xJD
+KVtHCN2MQWplBqjlIapBtJUhlbl90TSrE9atvNziPTnNvT51cKEYWQPJIrSPnNVeKtelttQKbfi3
+QBFGmh95DmK/D5fs4C8fF5Q=
+-----END CERTIFICATE-----
+
+StartCom Certification Authority
+================================
+-----BEGIN CERTIFICATE-----
+MIIHyTCCBbGgAwIBAgIBATANBgkqhkiG9w0BAQUFADB9MQswCQYDVQQGEwJJTDEWMBQGA1UEChMN
+U3RhcnRDb20gTHRkLjErMCkGA1UECxMiU2VjdXJlIERpZ2l0YWwgQ2VydGlmaWNhdGUgU2lnbmlu
+ZzEpMCcGA1UEAxMgU3RhcnRDb20gQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkwHhcNMDYwOTE3MTk0
+NjM2WhcNMzYwOTE3MTk0NjM2WjB9MQswCQYDVQQGEwJJTDEWMBQGA1UEChMNU3RhcnRDb20gTHRk
+LjErMCkGA1UECxMiU2VjdXJlIERpZ2l0YWwgQ2VydGlmaWNhdGUgU2lnbmluZzEpMCcGA1UEAxMg
+U3RhcnRDb20gQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAw
+ggIKAoICAQDBiNsJvGxGfHiflXu1M5DycmLWwTYgIiRezul38kMKogZkpMyONvg45iPwbm2xPN1y
+o4UcodM9tDMr0y+v/uqwQVlntsQGfQqedIXWeUyAN3rfOQVSWff0G0ZDpNKFhdLDcfN1YjS6LIp/
+Ho/u7TTQEceWzVI9ujPW3U3eCztKS5/CJi/6tRYccjV3yjxd5srhJosaNnZcAdt0FCX+7bWgiA/d
+eMotHweXMAEtcnn6RtYTKqi5pquDSR3l8u/d5AGOGAqPY1MWhWKpDhk6zLVmpsJrdAfkK+F2PrRt
+2PZE4XNiHzvEvqBTViVsUQn3qqvKv3b9bZvzndu/PWa8DFaqr5hIlTpL36dYUNk4dalb6kMMAv+Z
+6+hsTXBbKWWc3apdzK8BMewM69KN6Oqce+Zu9ydmDBpI125C4z/eIT574Q1w+2OqqGwaVLRcJXrJ
+osmLFqa7LH4XXgVNWG4SHQHuEhANxjJ/GP/89PrNbpHoNkm+Gkhpi8KWTRoSsmkXwQqQ1vp5Iki/
+untp+HDH+no32NgN0nZPV/+Qt+OR0t3vwmC3Zzrd/qqc8NSLf3Iizsafl7b4r4qgEKjZ+xjGtrVc
+UjyJthkqcwEKDwOzEmDyei+B26Nu/yYwl/WL3YlXtq09s68rxbd2AvCl1iuahhQqcvbjM4xdCUsT
+37uMdBNSSwIDAQABo4ICUjCCAk4wDAYDVR0TBAUwAwEB/zALBgNVHQ8EBAMCAa4wHQYDVR0OBBYE
+FE4L7xqkQFulF2mHMMo0aEPQQa7yMGQGA1UdHwRdMFswLKAqoCiGJmh0dHA6Ly9jZXJ0LnN0YXJ0
+Y29tLm9yZy9zZnNjYS1jcmwuY3JsMCugKaAnhiVodHRwOi8vY3JsLnN0YXJ0Y29tLm9yZy9zZnNj
+YS1jcmwuY3JsMIIBXQYDVR0gBIIBVDCCAVAwggFMBgsrBgEEAYG1NwEBATCCATswLwYIKwYBBQUH
+AgEWI2h0dHA6Ly9jZXJ0LnN0YXJ0Y29tLm9yZy9wb2xpY3kucGRmMDUGCCsGAQUFBwIBFilodHRw
+Oi8vY2VydC5zdGFydGNvbS5vcmcvaW50ZXJtZWRpYXRlLnBkZjCB0AYIKwYBBQUHAgIwgcMwJxYg
+U3RhcnQgQ29tbWVyY2lhbCAoU3RhcnRDb20pIEx0ZC4wAwIBARqBl0xpbWl0ZWQgTGlhYmlsaXR5
+LCByZWFkIHRoZSBzZWN0aW9uICpMZWdhbCBMaW1pdGF0aW9ucyogb2YgdGhlIFN0YXJ0Q29tIENl
+cnRpZmljYXRpb24gQXV0aG9yaXR5IFBvbGljeSBhdmFpbGFibGUgYXQgaHR0cDovL2NlcnQuc3Rh
+cnRjb20ub3JnL3BvbGljeS5wZGYwEQYJYIZIAYb4QgEBBAQDAgAHMDgGCWCGSAGG+EIBDQQrFilT
+dGFydENvbSBGcmVlIFNTTCBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTANBgkqhkiG9w0BAQUFAAOC
+AgEAFmyZ9GYMNPXQhV59CuzaEE44HF7fpiUFS5Eyweg78T3dRAlbB0mKKctmArexmvclmAk8jhvh
+3TaHK0u7aNM5Zj2gJsfyOZEdUauCe37Vzlrk4gNXcGmXCPleWKYK34wGmkUWFjgKXlf2Ysd6AgXm
+vB618p70qSmD+LIU424oh0TDkBreOKk8rENNZEXO3SipXPJzewT4F+irsfMuXGRuczE6Eri8sxHk
+fY+BUZo7jYn0TZNmezwD7dOaHZrzZVD1oNB1ny+v8OqCQ5j4aZyJecRDjkZy42Q2Eq/3JR44iZB3
+fsNrarnDy0RLrHiQi+fHLB5LEUTINFInzQpdn4XBidUaePKVEFMy3YCEZnXZtWgo+2EuvoSoOMCZ
+EoalHmdkrQYuL6lwhceWD3yJZfWOQ1QOq92lgDmUYMA0yZZwLKMS9R9Ie70cfmu3nZD0Ijuu+Pwq
+yvqCUqDvr0tVk+vBtfAii6w0TiYiBKGHLHVKt+V9E9e4DGTANtLJL4YSjCMJwRuCO3NJo2pXh5Tl
+1njFmUNj403gdy3hZZlyaQQaRwnmDwFWJPsfvw55qVguucQJAX6Vum0ABj6y6koQOdjQK/W/7HW/
+lwLFCRsI3FU34oH7N4RDYiDK51ZLZer+bMEkkyShNOsF/5oirpt9P/FlUQqmMGqz9IgcgA38coro
+g14=
+-----END CERTIFICATE-----
+
+Taiwan GRCA
+===========
+-----BEGIN CERTIFICATE-----
+MIIFcjCCA1qgAwIBAgIQH51ZWtcvwgZEpYAIaeNe9jANBgkqhkiG9w0BAQUFADA/MQswCQYDVQQG
+EwJUVzEwMC4GA1UECgwnR292ZXJubWVudCBSb290IENlcnRpZmljYXRpb24gQXV0aG9yaXR5MB4X
+DTAyMTIwNTEzMjMzM1oXDTMyMTIwNTEzMjMzM1owPzELMAkGA1UEBhMCVFcxMDAuBgNVBAoMJ0dv
+dmVybm1lbnQgUm9vdCBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTCCAiIwDQYJKoZIhvcNAQEBBQAD
+ggIPADCCAgoCggIBAJoluOzMonWoe/fOW1mKydGGEghU7Jzy50b2iPN86aXfTEc2pBsBHH8eV4qN
+w8XRIePaJD9IK/ufLqGU5ywck9G/GwGHU5nOp/UKIXZ3/6m3xnOUT0b3EEk3+qhZSV1qgQdW8or5
+BtD3cCJNtLdBuTK4sfCxw5w/cP1T3YGq2GN49thTbqGsaoQkclSGxtKyyhwOeYHWtXBiCAEuTk8O
+1RGvqa/lmr/czIdtJuTJV6L7lvnM4T9TjGxMfptTCAtsF/tnyMKtsc2AtJfcdgEWFelq16TheEfO
+htX7MfP6Mb40qij7cEwdScevLJ1tZqa2jWR+tSBqnTuBto9AAGdLiYa4zGX+FVPpBMHWXx1E1wov
+J5pGfaENda1UhhXcSTvxls4Pm6Dso3pdvtUqdULle96ltqqvKKyskKw4t9VoNSZ63Pc78/1Fm9G7
+Q3hub/FCVGqY8A2tl+lSXunVanLeavcbYBT0peS2cWeqH+riTcFCQP5nRhc4L0c/cZyu5SHKYS1t
+B6iEfC3uUSXxY5Ce/eFXiGvviiNtsea9P63RPZYLhY3Naye7twWb7LuRqQoHEgKXTiCQ8P8NHuJB
+O9NAOueNXdpm5AKwB1KYXA6OM5zCppX7VRluTI6uSw+9wThNXo+EHWbNxWCWtFJaBYmOlXqYwZE8
+lSOyDvR5tMl8wUohAgMBAAGjajBoMB0GA1UdDgQWBBTMzO/MKWCkO7GStjz6MmKPrCUVOzAMBgNV
+HRMEBTADAQH/MDkGBGcqBwAEMTAvMC0CAQAwCQYFKw4DAhoFADAHBgVnKgMAAAQUA5vwIhP/lSg2
+09yewDL7MTqKUWUwDQYJKoZIhvcNAQEFBQADggIBAECASvomyc5eMN1PhnR2WPWus4MzeKR6dBcZ
+TulStbngCnRiqmjKeKBMmo4sIy7VahIkv9Ro04rQ2JyftB8M3jh+Vzj8jeJPXgyfqzvS/3WXy6Tj
+Zwj/5cAWtUgBfen5Cv8b5Wppv3ghqMKnI6mGq3ZW6A4M9hPdKmaKZEk9GhiHkASfQlK3T8v+R0F2
+Ne//AHY2RTKbxkaFXeIksB7jSJaYV0eUVXoPQbFEJPPB/hprv4j9wabak2BegUqZIJxIZhm1AHlU
+D7gsL0u8qV1bYH+Mh6XgUmMqvtg7hUAV/h62ZT/FS9p+tXo1KaMuephgIqP0fSdOLeq0dDzpD6Qz
+DxARvBMB1uUO07+1EqLhRSPAzAhuYbeJq4PjJB7mXQfnHyA+z2fI56wwbSdLaG5LKlwCCDTb+Hbk
+Z6MmnD+iMsJKxYEYMRBWqoTvLQr/uB930r+lWKBi5NdLkXWNiYCYfm3LU05er/ayl4WXudpVBrkk
+7tfGOB5jGxI7leFYrPLfhNVfmS8NVVvmONsuP3LpSIXLuykTjx44VbnzssQwmSNOXfJIoRIM3BKQ
+CZBUkQM8R+XVyWXgt0t97EfTsws+rZ7QdAAO671RrcDeLMDDav7v3Aun+kbfYNucpllQdSNpc5Oy
++fwC00fmcc4QAu4njIT/rEUNE1yDMuAlpYYsfPQS
+-----END CERTIFICATE-----
+
+Swisscom Root CA 1
+==================
+-----BEGIN CERTIFICATE-----
+MIIF2TCCA8GgAwIBAgIQXAuFXAvnWUHfV8w/f52oNjANBgkqhkiG9w0BAQUFADBkMQswCQYDVQQG
+EwJjaDERMA8GA1UEChMIU3dpc3Njb20xJTAjBgNVBAsTHERpZ2l0YWwgQ2VydGlmaWNhdGUgU2Vy
+dmljZXMxGzAZBgNVBAMTElN3aXNzY29tIFJvb3QgQ0EgMTAeFw0wNTA4MTgxMjA2MjBaFw0yNTA4
+MTgyMjA2MjBaMGQxCzAJBgNVBAYTAmNoMREwDwYDVQQKEwhTd2lzc2NvbTElMCMGA1UECxMcRGln
+aXRhbCBDZXJ0aWZpY2F0ZSBTZXJ2aWNlczEbMBkGA1UEAxMSU3dpc3Njb20gUm9vdCBDQSAxMIIC
+IjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEA0LmwqAzZuz8h+BvVM5OAFmUgdbI9m2BtRsiM
+MW8Xw/qabFbtPMWRV8PNq5ZJkCoZSx6jbVfd8StiKHVFXqrWW/oLJdihFvkcxC7mlSpnzNApbjyF
+NDhhSbEAn9Y6cV9Nbc5fuankiX9qUvrKm/LcqfmdmUc/TilftKaNXXsLmREDA/7n29uj/x2lzZAe
+AR81sH8A25Bvxn570e56eqeqDFdvpG3FEzuwpdntMhy0XmeLVNxzh+XTF3xmUHJd1BpYwdnP2IkC
+b6dJtDZd0KTeByy2dbcokdaXvij1mB7qWybJvbCXc9qukSbraMH5ORXWZ0sKbU/Lz7DkQnGMU3nn
+7uHbHaBuHYwadzVcFh4rUx80i9Fs/PJnB3r1re3WmquhsUvhzDdf/X/NTa64H5xD+SpYVUNFvJbN
+cA78yeNmuk6NO4HLFWR7uZToXTNShXEuT46iBhFRyePLoW4xCGQMwtI89Tbo19AOeCMgkckkKmUp
+WyL3Ic6DXqTz3kvTaI9GdVyDCW4pa8RwjPWd1yAv/0bSKzjCL3UcPX7ape8eYIVpQtPM+GP+HkM5
+haa2Y0EQs3MevNP6yn0WR+Kn1dCjigoIlmJWbjTb2QK5MHXjBNLnj8KwEUAKrNVxAmKLMb7dxiNY
+MUJDLXT5xp6mig/p/r+D5kNXJLrvRjSq1xIBOO0CAwEAAaOBhjCBgzAOBgNVHQ8BAf8EBAMCAYYw
+HQYDVR0hBBYwFDASBgdghXQBUwABBgdghXQBUwABMBIGA1UdEwEB/wQIMAYBAf8CAQcwHwYDVR0j
+BBgwFoAUAyUv3m+CATpcLNwroWm1Z9SM0/0wHQYDVR0OBBYEFAMlL95vggE6XCzcK6FptWfUjNP9
+MA0GCSqGSIb3DQEBBQUAA4ICAQA1EMvspgQNDQ/NwNurqPKIlwzfky9NfEBWMXrrpA9gzXrzvsMn
+jgM+pN0S734edAY8PzHyHHuRMSG08NBsl9Tpl7IkVh5WwzW9iAUPWxAaZOHHgjD5Mq2eUCzneAXQ
+MbFamIp1TpBcahQq4FJHgmDmHtqBsfsUC1rxn9KVuj7QG9YVHaO+htXbD8BJZLsuUBlL0iT43R4H
+VtA4oJVwIHaM190e3p9xxCPvgxNcoyQVTSlAPGrEqdi3pkSlDfTgnXceQHAm/NrZNuR55LU/vJtl
+vrsRls/bxig5OgjOR1tTWsWZ/l2p3e9M1MalrQLmjAcSHm8D0W+go/MpvRLHUKKwf4ipmXeascCl
+OS5cfGniLLDqN2qk4Vrh9VDlg++luyqI54zb/W1elxmofmZ1a3Hqv7HHb6D0jqTsNFFbjCYDcKF3
+1QESVwA12yPeDooomf2xEG9L/zgtYE4snOtnta1J7ksfrK/7DZBaZmBwXarNeNQk7shBoJMBkpxq
+nvy5JMWzFYJ+vq6VK+uxwNrjAWALXmmshFZhvnEX/h0TD/7Gh0Xp/jKgGg0TpJRVcaUWi7rKibCy
+x/yP2FS1k2Kdzs9Z+z0YzirLNRWCXf9UIltxUvu3yf5gmwBBZPCqKuy2QkPOiWaByIufOVQDJdMW
+NY6E0F/6MBr1mmz0DlP5OlvRHA==
+-----END CERTIFICATE-----
+
+DigiCert Assured ID Root CA
+===========================
+-----BEGIN CERTIFICATE-----
+MIIDtzCCAp+gAwIBAgIQDOfg5RfYRv6P5WD8G/AwOTANBgkqhkiG9w0BAQUFADBlMQswCQYDVQQG
+EwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3d3cuZGlnaWNlcnQuY29tMSQw
+IgYDVQQDExtEaWdpQ2VydCBBc3N1cmVkIElEIFJvb3QgQ0EwHhcNMDYxMTEwMDAwMDAwWhcNMzEx
+MTEwMDAwMDAwWjBlMQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQL
+ExB3d3cuZGlnaWNlcnQuY29tMSQwIgYDVQQDExtEaWdpQ2VydCBBc3N1cmVkIElEIFJvb3QgQ0Ew
+ggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCtDhXO5EOAXLGH87dg+XESpa7cJpSIqvTO
+9SA5KFhgDPiA2qkVlTJhPLWxKISKityfCgyDF3qPkKyK53lTXDGEKvYPmDI2dsze3Tyoou9q+yHy
+UmHfnyDXH+Kx2f4YZNISW1/5WBg1vEfNoTb5a3/UsDg+wRvDjDPZ2C8Y/igPs6eD1sNuRMBhNZYW
+/lmci3Zt1/GiSw0r/wty2p5g0I6QNcZ4VYcgoc/lbQrISXwxmDNsIumH0DJaoroTghHtORedmTpy
+oeb6pNnVFzF1roV9Iq4/AUaG9ih5yLHa5FcXxH4cDrC0kqZWs72yl+2qp/C3xag/lRbQ/6GW6whf
+GHdPAgMBAAGjYzBhMA4GA1UdDwEB/wQEAwIBhjAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBRF
+66Kv9JLLgjEtUYunpyGd823IDzAfBgNVHSMEGDAWgBRF66Kv9JLLgjEtUYunpyGd823IDzANBgkq
+hkiG9w0BAQUFAAOCAQEAog683+Lt8ONyc3pklL/3cmbYMuRCdWKuh+vy1dneVrOfzM4UKLkNl2Bc
+EkxY5NM9g0lFWJc1aRqoR+pWxnmrEthngYTffwk8lOa4JiwgvT2zKIn3X/8i4peEH+ll74fg38Fn
+SbNd67IJKusm7Xi+fT8r87cmNW1fiQG2SVufAQWbqz0lwcy2f8Lxb4bG+mRo64EtlOtCt/qMHt1i
+8b5QZ7dsvfPxH2sMNgcWfzd8qVttevESRmCD1ycEvkvOl77DZypoEd+A5wwzZr8TDRRu838fYxAe
++o0bJW1sj6W3YQGx0qMmoRBxna3iw/nDmVG3KwcIzi7mULKn+gpFL6Lw8g==
+-----END CERTIFICATE-----
+
+DigiCert Global Root CA
+=======================
+-----BEGIN CERTIFICATE-----
+MIIDrzCCApegAwIBAgIQCDvgVpBCRrGhdWrJWZHHSjANBgkqhkiG9w0BAQUFADBhMQswCQYDVQQG
+EwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3d3cuZGlnaWNlcnQuY29tMSAw
+HgYDVQQDExdEaWdpQ2VydCBHbG9iYWwgUm9vdCBDQTAeFw0wNjExMTAwMDAwMDBaFw0zMTExMTAw
+MDAwMDBaMGExCzAJBgNVBAYTAlVTMRUwEwYDVQQKEwxEaWdpQ2VydCBJbmMxGTAXBgNVBAsTEHd3
+dy5kaWdpY2VydC5jb20xIDAeBgNVBAMTF0RpZ2lDZXJ0IEdsb2JhbCBSb290IENBMIIBIjANBgkq
+hkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA4jvhEXLeqKTTo1eqUKKPC3eQyaKl7hLOllsBCSDMAZOn
+TjC3U/dDxGkAV53ijSLdhwZAAIEJzs4bg7/fzTtxRuLWZscFs3YnFo97nh6Vfe63SKMI2tavegw5
+BmV/Sl0fvBf4q77uKNd0f3p4mVmFaG5cIzJLv07A6Fpt43C/dxC//AH2hdmoRBBYMql1GNXRor5H
+4idq9Joz+EkIYIvUX7Q6hL+hqkpMfT7PT19sdl6gSzeRntwi5m3OFBqOasv+zbMUZBfHWymeMr/y
+7vrTC0LUq7dBMtoM1O/4gdW7jVg/tRvoSSiicNoxBN33shbyTApOB6jtSj1etX+jkMOvJwIDAQAB
+o2MwYTAOBgNVHQ8BAf8EBAMCAYYwDwYDVR0TAQH/BAUwAwEB/zAdBgNVHQ4EFgQUA95QNVbRTLtm
+8KPiGxvDl7I90VUwHwYDVR0jBBgwFoAUA95QNVbRTLtm8KPiGxvDl7I90VUwDQYJKoZIhvcNAQEF
+BQADggEBAMucN6pIExIK+t1EnE9SsPTfrgT1eXkIoyQY/EsrhMAtudXH/vTBH1jLuG2cenTnmCmr
+EbXjcKChzUyImZOMkXDiqw8cvpOp/2PV5Adg06O/nVsJ8dWO41P0jmP6P6fbtGbfYmbW0W5BjfIt
+tep3Sp+dWOIrWcBAI+0tKIJFPnlUkiaY4IBIqDfv8NZ5YBberOgOzW6sRBc4L0na4UU+Krk2U886
+UAb3LujEV0lsYSEY1QSteDwsOoBrp+uvFRTp2InBuThs4pFsiv9kuXclVzDAGySj4dzp30d8tbQk
+CAUw7C29C79Fv1C5qfPrmAESrciIxpg0X40KPMbp1ZWVbd4=
+-----END CERTIFICATE-----
+
+DigiCert High Assurance EV Root CA
+==================================
+-----BEGIN CERTIFICATE-----
+MIIDxTCCAq2gAwIBAgIQAqxcJmoLQJuPC3nyrkYldzANBgkqhkiG9w0BAQUFADBsMQswCQYDVQQG
+EwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3d3cuZGlnaWNlcnQuY29tMSsw
+KQYDVQQDEyJEaWdpQ2VydCBIaWdoIEFzc3VyYW5jZSBFViBSb290IENBMB4XDTA2MTExMDAwMDAw
+MFoXDTMxMTExMDAwMDAwMFowbDELMAkGA1UEBhMCVVMxFTATBgNVBAoTDERpZ2lDZXJ0IEluYzEZ
+MBcGA1UECxMQd3d3LmRpZ2ljZXJ0LmNvbTErMCkGA1UEAxMiRGlnaUNlcnQgSGlnaCBBc3N1cmFu
+Y2UgRVYgUm9vdCBDQTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAMbM5XPm+9S75S0t
+Mqbf5YE/yc0lSbZxKsPVlDRnogocsF9ppkCxxLeyj9CYpKlBWTrT3JTWPNt0OKRKzE0lgvdKpVMS
+OO7zSW1xkX5jtqumX8OkhPhPYlG++MXs2ziS4wblCJEMxChBVfvLWokVfnHoNb9Ncgk9vjo4UFt3
+MRuNs8ckRZqnrG0AFFoEt7oT61EKmEFBIk5lYYeBQVCmeVyJ3hlKV9Uu5l0cUyx+mM0aBhakaHPQ
+NAQTXKFx01p8VdteZOE3hzBWBOURtCmAEvF5OYiiAhF8J2a3iLd48soKqDirCmTCv2ZdlYTBoSUe
+h10aUAsgEsxBu24LUTi4S8sCAwEAAaNjMGEwDgYDVR0PAQH/BAQDAgGGMA8GA1UdEwEB/wQFMAMB
+Af8wHQYDVR0OBBYEFLE+w2kD+L9HAdSYJhoIAu9jZCvDMB8GA1UdIwQYMBaAFLE+w2kD+L9HAdSY
+JhoIAu9jZCvDMA0GCSqGSIb3DQEBBQUAA4IBAQAcGgaX3NecnzyIZgYIVyHbIUf4KmeqvxgydkAQ
+V8GK83rZEWWONfqe/EW1ntlMMUu4kehDLI6zeM7b41N5cdblIZQB2lWHmiRk9opmzN6cN82oNLFp
+myPInngiK3BD41VHMWEZ71jFhS9OMPagMRYjyOfiZRYzy78aG6A9+MpeizGLYAiJLQwGXFK3xPkK
+mNEVX58Svnw2Yzi9RKR/5CYrCsSXaQ3pjOLAEFe4yHYSkVXySGnYvCoCWw9E1CAx2/S6cCZdkGCe
+vEsXCS+0yx5DaMkHJ8HSXPfqIbloEpw8nL+e/IBcm2PN7EeqJSdnoDfzAIJ9VNep+OkuE6N36B9K
+-----END CERTIFICATE-----
+
+Certplus Class 2 Primary CA
+===========================
+-----BEGIN CERTIFICATE-----
+MIIDkjCCAnqgAwIBAgIRAIW9S/PY2uNp9pTXX8OlRCMwDQYJKoZIhvcNAQEFBQAwPTELMAkGA1UE
+BhMCRlIxETAPBgNVBAoTCENlcnRwbHVzMRswGQYDVQQDExJDbGFzcyAyIFByaW1hcnkgQ0EwHhcN
+OTkwNzA3MTcwNTAwWhcNMTkwNzA2MjM1OTU5WjA9MQswCQYDVQQGEwJGUjERMA8GA1UEChMIQ2Vy
+dHBsdXMxGzAZBgNVBAMTEkNsYXNzIDIgUHJpbWFyeSBDQTCCASIwDQYJKoZIhvcNAQEBBQADggEP
+ADCCAQoCggEBANxQltAS+DXSCHh6tlJw/W/uz7kRy1134ezpfgSN1sxvc0NXYKwzCkTsA18cgCSR
+5aiRVhKC9+Ar9NuuYS6JEI1rbLqzAr3VNsVINyPi8Fo3UjMXEuLRYE2+L0ER4/YXJQyLkcAbmXuZ
+Vg2v7tK8R1fjeUl7NIknJITesezpWE7+Tt9avkGtrAjFGA7v0lPubNCdEgETjdyAYveVqUSISnFO
+YFWe2yMZeVYHDD9jC1yw4r5+FfyUM1hBOHTE4Y+L3yasH7WLO7dDWWuwJKZtkIvEcupdM5i3y95e
+e++U8Rs+yskhwcWYAqqi9lt3m/V+llU0HGdpwPFC40es/CgcZlUCAwEAAaOBjDCBiTAPBgNVHRME
+CDAGAQH/AgEKMAsGA1UdDwQEAwIBBjAdBgNVHQ4EFgQU43Mt38sOKAze3bOkynm4jrvoMIkwEQYJ
+YIZIAYb4QgEBBAQDAgEGMDcGA1UdHwQwMC4wLKAqoCiGJmh0dHA6Ly93d3cuY2VydHBsdXMuY29t
+L0NSTC9jbGFzczIuY3JsMA0GCSqGSIb3DQEBBQUAA4IBAQCnVM+IRBnL39R/AN9WM2K191EBkOvD
+P9GIROkkXe/nFL0gt5o8AP5tn9uQ3Nf0YtaLcF3n5QRIqWh8yfFC82x/xXp8HVGIutIKPidd3i1R
+TtMTZGnkLuPT55sJmabglZvOGtd/vjzOUrMRFcEPF80Du5wlFbqidon8BvEY0JNLDnyCt6X09l/+
+7UCmnYR0ObncHoUW2ikbhiMAybuJfm6AiB4vFLQDJKgybwOaRywwvlbGp0ICcBvqQNi6BQNwB6SW
+//1IMwrh3KWBkJtN3X3n57LNXMhqlfil9o3EXXgIvnsG1knPGTZQIy4I5p4FTUcY1Rbpsda2ENW7
+l7+ijrRU
+-----END CERTIFICATE-----
+
+DST Root CA X3
+==============
+-----BEGIN CERTIFICATE-----
+MIIDSjCCAjKgAwIBAgIQRK+wgNajJ7qJMDmGLvhAazANBgkqhkiG9w0BAQUFADA/MSQwIgYDVQQK
+ExtEaWdpdGFsIFNpZ25hdHVyZSBUcnVzdCBDby4xFzAVBgNVBAMTDkRTVCBSb290IENBIFgzMB4X
+DTAwMDkzMDIxMTIxOVoXDTIxMDkzMDE0MDExNVowPzEkMCIGA1UEChMbRGlnaXRhbCBTaWduYXR1
+cmUgVHJ1c3QgQ28uMRcwFQYDVQQDEw5EU1QgUm9vdCBDQSBYMzCCASIwDQYJKoZIhvcNAQEBBQAD
+ggEPADCCAQoCggEBAN+v6ZdQCINXtMxiZfaQguzH0yxrMMpb7NnDfcdAwRgUi+DoM3ZJKuM/IUmT
+rE4Orz5Iy2Xu/NMhD2XSKtkyj4zl93ewEnu1lcCJo6m67XMuegwGMoOifooUMM0RoOEqOLl5CjH9
+UL2AZd+3UWODyOKIYepLYYHsUmu5ouJLGiifSKOeDNoJjj4XLh7dIN9bxiqKqy69cK3FCxolkHRy
+xXtqqzTWMIn/5WgTe1QLyNau7Fqckh49ZLOMxt+/yUFw7BZy1SbsOFU5Q9D8/RhcQPGX69Wam40d
+utolucbY38EVAjqr2m7xPi71XAicPNaDaeQQmxkqtilX4+U9m5/wAl0CAwEAAaNCMEAwDwYDVR0T
+AQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMCAQYwHQYDVR0OBBYEFMSnsaR7LHH62+FLkHX/xBVghYkQ
+MA0GCSqGSIb3DQEBBQUAA4IBAQCjGiybFwBcqR7uKGY3Or+Dxz9LwwmglSBd49lZRNI+DT69ikug
+dB/OEIKcdBodfpga3csTS7MgROSR6cz8faXbauX+5v3gTt23ADq1cEmv8uXrAvHRAosZy5Q6XkjE
+GB5YGV8eAlrwDPGxrancWYaLbumR9YbK+rlmM6pZW87ipxZzR8srzJmwN0jP41ZL9c8PDHIyh8bw
+RLtTcm1D9SZImlJnt1ir/md2cXjbDaJWFBM5JDGFoqgCWjBH4d1QB7wCCZAA62RjYJsWvIjJEubS
+fZGL+T0yjWW06XyxV3bqxbYoOb8VZRzI9neWagqNdwvYkQsEjgfbKbYK7p2CNTUQ
+-----END CERTIFICATE-----
+
+DST ACES CA X6
+==============
+-----BEGIN CERTIFICATE-----
+MIIECTCCAvGgAwIBAgIQDV6ZCtadt3js2AdWO4YV2TANBgkqhkiG9w0BAQUFADBbMQswCQYDVQQG
+EwJVUzEgMB4GA1UEChMXRGlnaXRhbCBTaWduYXR1cmUgVHJ1c3QxETAPBgNVBAsTCERTVCBBQ0VT
+MRcwFQYDVQQDEw5EU1QgQUNFUyBDQSBYNjAeFw0wMzExMjAyMTE5NThaFw0xNzExMjAyMTE5NTha
+MFsxCzAJBgNVBAYTAlVTMSAwHgYDVQQKExdEaWdpdGFsIFNpZ25hdHVyZSBUcnVzdDERMA8GA1UE
+CxMIRFNUIEFDRVMxFzAVBgNVBAMTDkRTVCBBQ0VTIENBIFg2MIIBIjANBgkqhkiG9w0BAQEFAAOC
+AQ8AMIIBCgKCAQEAuT31LMmU3HWKlV1j6IR3dma5WZFcRt2SPp/5DgO0PWGSvSMmtWPuktKe1jzI
+DZBfZIGxqAgNTNj50wUoUrQBJcWVHAx+PhCEdc/BGZFjz+iokYi5Q1K7gLFViYsx+tC3dr5BPTCa
+pCIlF3PoHuLTrCq9Wzgh1SpL11V94zpVvddtawJXa+ZHfAjIgrrep4c9oW24MFbCswKBXy314pow
+GCi4ZtPLAZZv6opFVdbgnf9nKxcCpk4aahELfrd755jWjHZvwTvbUJN+5dCOHze4vbrGn2zpfDPy
+MjwmR/onJALJfh1biEITajV8fTXpLmaRcpPVMibEdPVTo7NdmvYJywIDAQABo4HIMIHFMA8GA1Ud
+EwEB/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgHGMB8GA1UdEQQYMBaBFHBraS1vcHNAdHJ1c3Rkc3Qu
+Y29tMGIGA1UdIARbMFkwVwYKYIZIAWUDAgEBATBJMEcGCCsGAQUFBwIBFjtodHRwOi8vd3d3LnRy
+dXN0ZHN0LmNvbS9jZXJ0aWZpY2F0ZXMvcG9saWN5L0FDRVMtaW5kZXguaHRtbDAdBgNVHQ4EFgQU
+CXIGThhDD+XWzMNqizF7eI+og7gwDQYJKoZIhvcNAQEFBQADggEBAKPYjtay284F5zLNAdMEA+V2
+5FYrnJmQ6AgwbN99Pe7lv7UkQIRJ4dEorsTCOlMwiPH1d25Ryvr/ma8kXxug/fKshMrfqfBfBC6t
+Fr8hlxCBPeP/h40y3JTlR4peahPJlJU90u7INJXQgNStMgiAVDzgvVJT11J8smk/f3rPanTK+gQq
+nExaBqXpIK1FZg9p8d2/6eMyi/rgwYZNcjwu2JN4Cir42NInPRmJX1p7ijvMDNpRrscL9yuwNwXs
+vFcj4jjSm2jzVhKIT0J8uDHEtdvkyCE06UgRNe76x5JXxZ805Mf29w4LTJxoeHtxMcfrHuBnQfO3
+oKfN5XozNmr6mis=
+-----END CERTIFICATE-----
+
+SwissSign Gold CA - G2
+======================
+-----BEGIN CERTIFICATE-----
+MIIFujCCA6KgAwIBAgIJALtAHEP1Xk+wMA0GCSqGSIb3DQEBBQUAMEUxCzAJBgNVBAYTAkNIMRUw
+EwYDVQQKEwxTd2lzc1NpZ24gQUcxHzAdBgNVBAMTFlN3aXNzU2lnbiBHb2xkIENBIC0gRzIwHhcN
+MDYxMDI1MDgzMDM1WhcNMzYxMDI1MDgzMDM1WjBFMQswCQYDVQQGEwJDSDEVMBMGA1UEChMMU3dp
+c3NTaWduIEFHMR8wHQYDVQQDExZTd2lzc1NpZ24gR29sZCBDQSAtIEcyMIICIjANBgkqhkiG9w0B
+AQEFAAOCAg8AMIICCgKCAgEAr+TufoskDhJuqVAtFkQ7kpJcyrhdhJJCEyq8ZVeCQD5XJM1QiyUq
+t2/876LQwB8CJEoTlo8jE+YoWACjR8cGp4QjK7u9lit/VcyLwVcfDmJlD909Vopz2q5+bbqBHH5C
+jCA12UNNhPqE21Is8w4ndwtrvxEvcnifLtg+5hg3Wipy+dpikJKVyh+c6bM8K8vzARO/Ws/BtQpg
+vd21mWRTuKCWs2/iJneRjOBiEAKfNA+k1ZIzUd6+jbqEemA8atufK+ze3gE/bk3lUIbLtK/tREDF
+ylqM2tIrfKjuvqblCqoOpd8FUrdVxyJdMmqXl2MT28nbeTZ7hTpKxVKJ+STnnXepgv9VHKVxaSvR
+AiTysybUa9oEVeXBCsdtMDeQKuSeFDNeFhdVxVu1yzSJkvGdJo+hB9TGsnhQ2wwMC3wLjEHXuend
+jIj3o02yMszYF9rNt85mndT9Xv+9lz4pded+p2JYryU0pUHHPbwNUMoDAw8IWh+Vc3hiv69yFGkO
+peUDDniOJihC8AcLYiAQZzlG+qkDzAQ4embvIIO1jEpWjpEA/I5cgt6IoMPiaG59je883WX0XaxR
+7ySArqpWl2/5rX3aYT+YdzylkbYcjCbaZaIJbcHiVOO5ykxMgI93e2CaHt+28kgeDrpOVG2Y4OGi
+GqJ3UM/EY5LsRxmd6+ZrzsECAwEAAaOBrDCBqTAOBgNVHQ8BAf8EBAMCAQYwDwYDVR0TAQH/BAUw
+AwEB/zAdBgNVHQ4EFgQUWyV7lqRlUX64OfPAeGZe6Drn8O4wHwYDVR0jBBgwFoAUWyV7lqRlUX64
+OfPAeGZe6Drn8O4wRgYDVR0gBD8wPTA7BglghXQBWQECAQEwLjAsBggrBgEFBQcCARYgaHR0cDov
+L3JlcG9zaXRvcnkuc3dpc3NzaWduLmNvbS8wDQYJKoZIhvcNAQEFBQADggIBACe645R88a7A3hfm
+5djV9VSwg/S7zV4Fe0+fdWavPOhWfvxyeDgD2StiGwC5+OlgzczOUYrHUDFu4Up+GC9pWbY9ZIEr
+44OE5iKHjn3g7gKZYbge9LgriBIWhMIxkziWMaa5O1M/wySTVltpkuzFwbs4AOPsF6m43Md8AYOf
+Mke6UiI0HTJ6CVanfCU2qT1L2sCCbwq7EsiHSycR+R4tx5M/nttfJmtS2S6K8RTGRI0Vqbe/vd6m
+Gu6uLftIdxf+u+yvGPUqUfA5hJeVbG4bwyvEdGB5JbAKJ9/fXtI5z0V9QkvfsywexcZdylU6oJxp
+mo/a77KwPJ+HbBIrZXAVUjEaJM9vMSNQH4xPjyPDdEFjHFWoFN0+4FFQz/EbMFYOkrCChdiDyyJk
+vC24JdVUorgG6q2SpCSgwYa1ShNqR88uC1aVVMvOmttqtKay20EIhid392qgQmwLOM7XdVAyksLf
+KzAiSNDVQTglXaTpXZ/GlHXQRf0wl0OPkKsKx4ZzYEppLd6leNcG2mqeSz53OiATIgHQv2ieY2Br
+NU0LbbqhPcCT4H8js1WtciVORvnSFu+wZMEBnunKoGqYDs/YYPIvSbjkQuE4NRb0yG5P94FW6Lqj
+viOvrv1vA+ACOzB2+httQc8Bsem4yWb02ybzOqR08kkkW8mw0FfB+j564ZfJ
+-----END CERTIFICATE-----
+
+SwissSign Silver CA - G2
+========================
+-----BEGIN CERTIFICATE-----
+MIIFvTCCA6WgAwIBAgIITxvUL1S7L0swDQYJKoZIhvcNAQEFBQAwRzELMAkGA1UEBhMCQ0gxFTAT
+BgNVBAoTDFN3aXNzU2lnbiBBRzEhMB8GA1UEAxMYU3dpc3NTaWduIFNpbHZlciBDQSAtIEcyMB4X
+DTA2MTAyNTA4MzI0NloXDTM2MTAyNTA4MzI0NlowRzELMAkGA1UEBhMCQ0gxFTATBgNVBAoTDFN3
+aXNzU2lnbiBBRzEhMB8GA1UEAxMYU3dpc3NTaWduIFNpbHZlciBDQSAtIEcyMIICIjANBgkqhkiG
+9w0BAQEFAAOCAg8AMIICCgKCAgEAxPGHf9N4Mfc4yfjDmUO8x/e8N+dOcbpLj6VzHVxumK4DV644
+N0MvFz0fyM5oEMF4rhkDKxD6LHmD9ui5aLlV8gREpzn5/ASLHvGiTSf5YXu6t+WiE7brYT7QbNHm
++/pe7R20nqA1W6GSy/BJkv6FCgU+5tkL4k+73JU3/JHpMjUi0R86TieFnbAVlDLaYQ1HTWBCrpJH
+6INaUFjpiou5XaHc3ZlKHzZnu0jkg7Y360g6rw9njxcH6ATK72oxh9TAtvmUcXtnZLi2kUpCe2Uu
+MGoM9ZDulebyzYLs2aFK7PayS+VFheZteJMELpyCbTapxDFkH4aDCyr0NQp4yVXPQbBH6TCfmb5h
+qAaEuSh6XzjZG6k4sIN/c8HDO0gqgg8hm7jMqDXDhBuDsz6+pJVpATqJAHgE2cn0mRmrVn5bi4Y5
+FZGkECwJMoBgs5PAKrYYC51+jUnyEEp/+dVGLxmSo5mnJqy7jDzmDrxHB9xzUfFwZC8I+bRHHTBs
+ROopN4WSaGa8gzj+ezku01DwH/teYLappvonQfGbGHLy9YR0SslnxFSuSGTfjNFusB3hB48IHpmc
+celM2KX3RxIfdNFRnobzwqIjQAtz20um53MGjMGg6cFZrEb65i/4z3GcRm25xBWNOHkDRUjvxF3X
+CO6HOSKGsg0PWEP3calILv3q1h8CAwEAAaOBrDCBqTAOBgNVHQ8BAf8EBAMCAQYwDwYDVR0TAQH/
+BAUwAwEB/zAdBgNVHQ4EFgQUF6DNweRBtjpbO8tFnb0cwpj6hlgwHwYDVR0jBBgwFoAUF6DNweRB
+tjpbO8tFnb0cwpj6hlgwRgYDVR0gBD8wPTA7BglghXQBWQEDAQEwLjAsBggrBgEFBQcCARYgaHR0
+cDovL3JlcG9zaXRvcnkuc3dpc3NzaWduLmNvbS8wDQYJKoZIhvcNAQEFBQADggIBAHPGgeAn0i0P
+4JUw4ppBf1AsX19iYamGamkYDHRJ1l2E6kFSGG9YrVBWIGrGvShpWJHckRE1qTodvBqlYJ7YH39F
+kWnZfrt4csEGDyrOj4VwYaygzQu4OSlWhDJOhrs9xCrZ1x9y7v5RoSJBsXECYxqCsGKrXlcSH9/L
+3XWgwF15kIwb4FDm3jH+mHtwX6WQ2K34ArZv02DdQEsixT2tOnqfGhpHkXkzuoLcMmkDlm4fS/Bx
+/uNncqCxv1yL5PqZIseEuRuNI5c/7SXgz2W79WEE790eslpBIlqhn10s6FvJbakMDHiqYMZWjwFa
+DGi8aRl5xB9+lwW/xekkUV7U1UtT7dkjWjYDZaPBA61BMPNGG4WQr2W11bHkFlt4dR2Xem1ZqSqP
+e97Dh4kQmUlzeMg9vVE1dCrV8X5pGyq7O70luJpaPXJhkGaH7gzWTdQRdAtq/gsD/KNVV4n+Ssuu
+WxcFyPKNIzFTONItaj+CuY0IavdeQXRuwxF+B6wpYJE/OMpXEA29MC/HpeZBoNquBYeaoKRlbEwJ
+DIm6uNO5wJOKMPqN5ZprFQFOZ6raYlY+hAhm0sQ2fac+EPyI4NSA5QC9qvNOBqN6avlicuMJT+ub
+DgEj8Z+7fNzcbBGXJbLytGMU0gYqZ4yD9c7qB9iaah7s5Aq7KkzrCWA5zspi2C5u
+-----END CERTIFICATE-----
+
+GeoTrust Primary Certification Authority
+========================================
+-----BEGIN CERTIFICATE-----
+MIIDfDCCAmSgAwIBAgIQGKy1av1pthU6Y2yv2vrEoTANBgkqhkiG9w0BAQUFADBYMQswCQYDVQQG
+EwJVUzEWMBQGA1UEChMNR2VvVHJ1c3QgSW5jLjExMC8GA1UEAxMoR2VvVHJ1c3QgUHJpbWFyeSBD
+ZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTAeFw0wNjExMjcwMDAwMDBaFw0zNjA3MTYyMzU5NTlaMFgx
+CzAJBgNVBAYTAlVTMRYwFAYDVQQKEw1HZW9UcnVzdCBJbmMuMTEwLwYDVQQDEyhHZW9UcnVzdCBQ
+cmltYXJ5IENlcnRpZmljYXRpb24gQXV0aG9yaXR5MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIB
+CgKCAQEAvrgVe//UfH1nrYNke8hCUy3f9oQIIGHWAVlqnEQRr+92/ZV+zmEwu3qDXwK9AWbK7hWN
+b6EwnL2hhZ6UOvNWiAAxz9juapYC2e0DjPt1befquFUWBRaa9OBesYjAZIVcFU2Ix7e64HXprQU9
+nceJSOC7KMgD4TCTZF5SwFlwIjVXiIrxlQqD17wxcwE07e9GceBrAqg1cmuXm2bgyxx5X9gaBGge
+RwLmnWDiNpcB3841kt++Z8dtd1k7j53WkBWUvEI0EME5+bEnPn7WinXFsq+W06Lem+SYvn3h6YGt
+tm/81w7a4DSwDRp35+MImO9Y+pyEtzavwt+s0vQQBnBxNQIDAQABo0IwQDAPBgNVHRMBAf8EBTAD
+AQH/MA4GA1UdDwEB/wQEAwIBBjAdBgNVHQ4EFgQULNVQQZcVi/CPNmFbSvtr2ZnJM5IwDQYJKoZI
+hvcNAQEFBQADggEBAFpwfyzdtzRP9YZRqSa+S7iq8XEN3GHHoOo0Hnp3DwQ16CePbJC/kRYkRj5K
+Ts4rFtULUh38H2eiAkUxT87z+gOneZ1TatnaYzr4gNfTmeGl4b7UVXGYNTq+k+qurUKykG/g/CFN
+NWMziUnWm07Kx+dOCQD32sfvmWKZd7aVIl6KoKv0uHiYyjgZmclynnjNS6yvGaBzEi38wkG6gZHa
+Floxt/m0cYASSJlyc1pZU8FjUjPtp8nSOQJw+uCxQmYpqptR7TBUIhRf2asdweSU8Pj1K/fqynhG
+1riR/aYNKxoUAT6A8EKglQdebc3MS6RFjasS6LPeWuWgfOgPIh1a6Vk=
+-----END CERTIFICATE-----
+
+thawte Primary Root CA
+======================
+-----BEGIN CERTIFICATE-----
+MIIEIDCCAwigAwIBAgIQNE7VVyDV7exJ9C/ON9srbTANBgkqhkiG9w0BAQUFADCBqTELMAkGA1UE
+BhMCVVMxFTATBgNVBAoTDHRoYXd0ZSwgSW5jLjEoMCYGA1UECxMfQ2VydGlmaWNhdGlvbiBTZXJ2
+aWNlcyBEaXZpc2lvbjE4MDYGA1UECxMvKGMpIDIwMDYgdGhhd3RlLCBJbmMuIC0gRm9yIGF1dGhv
+cml6ZWQgdXNlIG9ubHkxHzAdBgNVBAMTFnRoYXd0ZSBQcmltYXJ5IFJvb3QgQ0EwHhcNMDYxMTE3
+MDAwMDAwWhcNMzYwNzE2MjM1OTU5WjCBqTELMAkGA1UEBhMCVVMxFTATBgNVBAoTDHRoYXd0ZSwg
+SW5jLjEoMCYGA1UECxMfQ2VydGlmaWNhdGlvbiBTZXJ2aWNlcyBEaXZpc2lvbjE4MDYGA1UECxMv
+KGMpIDIwMDYgdGhhd3RlLCBJbmMuIC0gRm9yIGF1dGhvcml6ZWQgdXNlIG9ubHkxHzAdBgNVBAMT
+FnRoYXd0ZSBQcmltYXJ5IFJvb3QgQ0EwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCs
+oPD7gFnUnMekz52hWXMJEEUMDSxuaPFsW0hoSVk3/AszGcJ3f8wQLZU0HObrTQmnHNK4yZc2AreJ
+1CRfBsDMRJSUjQJib+ta3RGNKJpchJAQeg29dGYvajig4tVUROsdB58Hum/u6f1OCyn1PoSgAfGc
+q/gcfomk6KHYcWUNo1F77rzSImANuVud37r8UVsLr5iy6S7pBOhih94ryNdOwUxkHt3Ph1i6Sk/K
+aAcdHJ1KxtUvkcx8cXIcxcBn6zL9yZJclNqFwJu/U30rCfSMnZEfl2pSy94JNqR32HuHUETVPm4p
+afs5SSYeCaWAe0At6+gnhcn+Yf1+5nyXHdWdAgMBAAGjQjBAMA8GA1UdEwEB/wQFMAMBAf8wDgYD
+VR0PAQH/BAQDAgEGMB0GA1UdDgQWBBR7W0XPr87Lev0xkhpqtvNG61dIUDANBgkqhkiG9w0BAQUF
+AAOCAQEAeRHAS7ORtvzw6WfUDW5FvlXok9LOAz/t2iWwHVfLHjp2oEzsUHboZHIMpKnxuIvW1oeE
+uzLlQRHAd9mzYJ3rG9XRbkREqaYB7FViHXe4XI5ISXycO1cRrK1zN44veFyQaEfZYGDm/Ac9IiAX
+xPcW6cTYcvnIc3zfFi8VqT79aie2oetaupgf1eNNZAqdE8hhuvU5HIe6uL17In/2/qxAeeWsEG89
+jxt5dovEN7MhGITlNgDrYyCZuen+MwS7QcjBAvlEYyCegc5C09Y/LHbTY5xZ3Y+m4Q6gLkH3LpVH
+z7z9M/P2C2F+fpErgUfCJzDupxBdN49cOSvkBPB7jVaMaA==
+-----END CERTIFICATE-----
+
+VeriSign Class 3 Public Primary Certification Authority - G5
+============================================================
+-----BEGIN CERTIFICATE-----
+MIIE0zCCA7ugAwIBAgIQGNrRniZ96LtKIVjNzGs7SjANBgkqhkiG9w0BAQUFADCByjELMAkGA1UE
+BhMCVVMxFzAVBgNVBAoTDlZlcmlTaWduLCBJbmMuMR8wHQYDVQQLExZWZXJpU2lnbiBUcnVzdCBO
+ZXR3b3JrMTowOAYDVQQLEzEoYykgMjAwNiBWZXJpU2lnbiwgSW5jLiAtIEZvciBhdXRob3JpemVk
+IHVzZSBvbmx5MUUwQwYDVQQDEzxWZXJpU2lnbiBDbGFzcyAzIFB1YmxpYyBQcmltYXJ5IENlcnRp
+ZmljYXRpb24gQXV0aG9yaXR5IC0gRzUwHhcNMDYxMTA4MDAwMDAwWhcNMzYwNzE2MjM1OTU5WjCB
+yjELMAkGA1UEBhMCVVMxFzAVBgNVBAoTDlZlcmlTaWduLCBJbmMuMR8wHQYDVQQLExZWZXJpU2ln
+biBUcnVzdCBOZXR3b3JrMTowOAYDVQQLEzEoYykgMjAwNiBWZXJpU2lnbiwgSW5jLiAtIEZvciBh
+dXRob3JpemVkIHVzZSBvbmx5MUUwQwYDVQQDEzxWZXJpU2lnbiBDbGFzcyAzIFB1YmxpYyBQcmlt
+YXJ5IENlcnRpZmljYXRpb24gQXV0aG9yaXR5IC0gRzUwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAw
+ggEKAoIBAQCvJAgIKXo1nmAMqudLO07cfLw8RRy7K+D+KQL5VwijZIUVJ/XxrcgxiV0i6CqqpkKz
+j/i5Vbext0uz/o9+B1fs70PbZmIVYc9gDaTY3vjgw2IIPVQT60nKWVSFJuUrjxuf6/WhkcIzSdhD
+Y2pSS9KP6HBRTdGJaXvHcPaz3BJ023tdS1bTlr8Vd6Gw9KIl8q8ckmcY5fQGBO+QueQA5N06tRn/
+Arr0PO7gi+s3i+z016zy9vA9r911kTMZHRxAy3QkGSGT2RT+rCpSx4/VBEnkjWNHiDxpg8v+R70r
+fk/Fla4OndTRQ8Bnc+MUCH7lP59zuDMKz10/NIeWiu5T6CUVAgMBAAGjgbIwga8wDwYDVR0TAQH/
+BAUwAwEB/zAOBgNVHQ8BAf8EBAMCAQYwbQYIKwYBBQUHAQwEYTBfoV2gWzBZMFcwVRYJaW1hZ2Uv
+Z2lmMCEwHzAHBgUrDgMCGgQUj+XTGoasjY5rw8+AatRIGCx7GS4wJRYjaHR0cDovL2xvZ28udmVy
+aXNpZ24uY29tL3ZzbG9nby5naWYwHQYDVR0OBBYEFH/TZafC3ey78DAJ80M5+gKvMzEzMA0GCSqG
+SIb3DQEBBQUAA4IBAQCTJEowX2LP2BqYLz3q3JktvXf2pXkiOOzEp6B4Eq1iDkVwZMXnl2YtmAl+
+X6/WzChl8gGqCBpH3vn5fJJaCGkgDdk+bW48DW7Y5gaRQBi5+MHt39tBquCWIMnNZBU4gcmU7qKE
+KQsTb47bDN0lAtukixlE0kF6BWlKWE9gyn6CagsCqiUXObXbf+eEZSqVir2G3l6BFoMtEMze/aiC
+Km0oHw0LxOXnGiYZ4fQRbxC1lfznQgUy286dUV4otp6F01vvpX1FQHKOtw5rDgb7MzVIcbidJ4vE
+ZV8NhnacRHr2lVz2XTIIM6RUthg/aFzyQkqFOFSDX9HoLPKsEdao7WNq
+-----END CERTIFICATE-----
+
+SecureTrust CA
+==============
+-----BEGIN CERTIFICATE-----
+MIIDuDCCAqCgAwIBAgIQDPCOXAgWpa1Cf/DrJxhZ0DANBgkqhkiG9w0BAQUFADBIMQswCQYDVQQG
+EwJVUzEgMB4GA1UEChMXU2VjdXJlVHJ1c3QgQ29ycG9yYXRpb24xFzAVBgNVBAMTDlNlY3VyZVRy
+dXN0IENBMB4XDTA2MTEwNzE5MzExOFoXDTI5MTIzMTE5NDA1NVowSDELMAkGA1UEBhMCVVMxIDAe
+BgNVBAoTF1NlY3VyZVRydXN0IENvcnBvcmF0aW9uMRcwFQYDVQQDEw5TZWN1cmVUcnVzdCBDQTCC
+ASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAKukgeWVzfX2FI7CT8rU4niVWJxB4Q2ZQCQX
+OZEzZum+4YOvYlyJ0fwkW2Gz4BERQRwdbvC4u/jep4G6pkjGnx29vo6pQT64lO0pGtSO0gMdA+9t
+DWccV9cGrcrI9f4Or2YlSASWC12juhbDCE/RRvgUXPLIXgGZbf2IzIaowW8xQmxSPmjL8xk037uH
+GFaAJsTQ3MBv396gwpEWoGQRS0S8Hvbn+mPeZqx2pHGj7DaUaHp3pLHnDi+BeuK1cobvomuL8A/b
+01k/unK8RCSc43Oz969XL0Imnal0ugBS8kvNU3xHCzaFDmapCJcWNFfBZveA4+1wVMeT4C4oFVmH
+ursCAwEAAaOBnTCBmjATBgkrBgEEAYI3FAIEBh4EAEMAQTALBgNVHQ8EBAMCAYYwDwYDVR0TAQH/
+BAUwAwEB/zAdBgNVHQ4EFgQUQjK2FvoE/f5dS3rD/fdMQB1aQ68wNAYDVR0fBC0wKzApoCegJYYj
+aHR0cDovL2NybC5zZWN1cmV0cnVzdC5jb20vU1RDQS5jcmwwEAYJKwYBBAGCNxUBBAMCAQAwDQYJ
+KoZIhvcNAQEFBQADggEBADDtT0rhWDpSclu1pqNlGKa7UTt36Z3q059c4EVlew3KW+JwULKUBRSu
+SceNQQcSc5R+DCMh/bwQf2AQWnL1mA6s7Ll/3XpvXdMc9P+IBWlCqQVxyLesJugutIxq/3HcuLHf
+mbx8IVQr5Fiiu1cprp6poxkmD5kuCLDv/WnPmRoJjeOnnyvJNjR7JLN4TJUXpAYmHrZkUjZfYGfZ
+nMUFdAvnZyPSCPyI6a6Lf+Ew9Dd+/cYy2i2eRDAwbO4H3tI0/NL/QPZL9GZGBlSm8jIKYyYwa5vR
+3ItHuuG51WLQoqD0ZwV4KWMabwTW+MZMo5qxN7SN5ShLHZ4swrhovO0C7jE=
+-----END CERTIFICATE-----
+
+Secure Global CA
+================
+-----BEGIN CERTIFICATE-----
+MIIDvDCCAqSgAwIBAgIQB1YipOjUiolN9BPI8PjqpTANBgkqhkiG9w0BAQUFADBKMQswCQYDVQQG
+EwJVUzEgMB4GA1UEChMXU2VjdXJlVHJ1c3QgQ29ycG9yYXRpb24xGTAXBgNVBAMTEFNlY3VyZSBH
+bG9iYWwgQ0EwHhcNMDYxMTA3MTk0MjI4WhcNMjkxMjMxMTk1MjA2WjBKMQswCQYDVQQGEwJVUzEg
+MB4GA1UEChMXU2VjdXJlVHJ1c3QgQ29ycG9yYXRpb24xGTAXBgNVBAMTEFNlY3VyZSBHbG9iYWwg
+Q0EwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCvNS7YrGxVaQZx5RNoJLNP2MwhR/jx
+YDiJiQPpvepeRlMJ3Fz1Wuj3RSoC6zFh1ykzTM7HfAo3fg+6MpjhHZevj8fcyTiW89sa/FHtaMbQ
+bqR8JNGuQsiWUGMu4P51/pinX0kuleM5M2SOHqRfkNJnPLLZ/kG5VacJjnIFHovdRIWCQtBJwB1g
+8NEXLJXr9qXBkqPFwqcIYA1gBBCWeZ4WNOaptvolRTnIHmX5k/Wq8VLcmZg9pYYaDDUz+kulBAYV
+HDGA76oYa8J719rO+TMg1fW9ajMtgQT7sFzUnKPiXB3jqUJ1XnvUd+85VLrJChgbEplJL4hL/VBi
+0XPnj3pDAgMBAAGjgZ0wgZowEwYJKwYBBAGCNxQCBAYeBABDAEEwCwYDVR0PBAQDAgGGMA8GA1Ud
+EwEB/wQFMAMBAf8wHQYDVR0OBBYEFK9EBMJBfkiD2045AuzshHrmzsmkMDQGA1UdHwQtMCswKaAn
+oCWGI2h0dHA6Ly9jcmwuc2VjdXJldHJ1c3QuY29tL1NHQ0EuY3JsMBAGCSsGAQQBgjcVAQQDAgEA
+MA0GCSqGSIb3DQEBBQUAA4IBAQBjGghAfaReUw132HquHw0LURYD7xh8yOOvaliTFGCRsoTciE6+
+OYo68+aCiV0BN7OrJKQVDpI1WkpEXk5X+nXOH0jOZvQ8QCaSmGwb7iRGDBezUqXbpZGRzzfTb+cn
+CDpOGR86p1hcF895P4vkp9MmI50mD1hp/Ed+stCNi5O/KU9DaXR2Z0vPB4zmAve14bRDtUstFJ/5
+3CYNv6ZHdAbYiNE6KTCEztI5gGIbqMdXSbxqVVFnFUq+NQfk1XWYN3kwFNspnWzFacxHVaIw98xc
+f8LDmBxrThaA63p4ZUWiABqvDA1VZDRIuJK58bRQKfJPIx/abKwfROHdI3hRW8cW
+-----END CERTIFICATE-----
+
+COMODO Certification Authority
+==============================
+-----BEGIN CERTIFICATE-----
+MIIEHTCCAwWgAwIBAgIQToEtioJl4AsC7j41AkblPTANBgkqhkiG9w0BAQUFADCBgTELMAkGA1UE
+BhMCR0IxGzAZBgNVBAgTEkdyZWF0ZXIgTWFuY2hlc3RlcjEQMA4GA1UEBxMHU2FsZm9yZDEaMBgG
+A1UEChMRQ09NT0RPIENBIExpbWl0ZWQxJzAlBgNVBAMTHkNPTU9ETyBDZXJ0aWZpY2F0aW9uIEF1
+dGhvcml0eTAeFw0wNjEyMDEwMDAwMDBaFw0yOTEyMzEyMzU5NTlaMIGBMQswCQYDVQQGEwJHQjEb
+MBkGA1UECBMSR3JlYXRlciBNYW5jaGVzdGVyMRAwDgYDVQQHEwdTYWxmb3JkMRowGAYDVQQKExFD
+T01PRE8gQ0EgTGltaXRlZDEnMCUGA1UEAxMeQ09NT0RPIENlcnRpZmljYXRpb24gQXV0aG9yaXR5
+MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA0ECLi3LjkRv3UcEbVASY06m/weaKXTuH
++7uIzg3jLz8GlvCiKVCZrts7oVewdFFxze1CkU1B/qnI2GqGd0S7WWaXUF601CxwRM/aN5VCaTww
+xHGzUvAhTaHYujl8HJ6jJJ3ygxaYqhZ8Q5sVW7euNJH+1GImGEaaP+vB+fGQV+useg2L23IwambV
+4EajcNxo2f8ESIl33rXp+2dtQem8Ob0y2WIC8bGoPW43nOIv4tOiJovGuFVDiOEjPqXSJDlqR6sA
+1KGzqSX+DT+nHbrTUcELpNqsOO9VUCQFZUaTNE8tja3G1CEZ0o7KBWFxB3NH5YoZEr0ETc5OnKVI
+rLsm9wIDAQABo4GOMIGLMB0GA1UdDgQWBBQLWOWLxkwVN6RAqTCpIb5HNlpW/zAOBgNVHQ8BAf8E
+BAMCAQYwDwYDVR0TAQH/BAUwAwEB/zBJBgNVHR8EQjBAMD6gPKA6hjhodHRwOi8vY3JsLmNvbW9k
+b2NhLmNvbS9DT01PRE9DZXJ0aWZpY2F0aW9uQXV0aG9yaXR5LmNybDANBgkqhkiG9w0BAQUFAAOC
+AQEAPpiem/Yb6dc5t3iuHXIYSdOH5EOC6z/JqvWote9VfCFSZfnVDeFs9D6Mk3ORLgLETgdxb8CP
+OGEIqB6BCsAvIC9Bi5HcSEW88cbeunZrM8gALTFGTO3nnc+IlP8zwFboJIYmuNg4ON8qa90SzMc/
+RxdMosIGlgnW2/4/PEZB31jiVg88O8EckzXZOFKs7sjsLjBOlDW0JB9LeGna8gI4zJVSk/BwJVmc
+IGfE7vmLV2H0knZ9P4SNVbfo5azV8fUZVqZa+5Acr5Pr5RzUZ5ddBA6+C4OmF4O5MBKgxTMVBbkN
++8cFduPYSo38NBejxiEovjBFMR7HeL5YYTisO+IBZQ==
+-----END CERTIFICATE-----
+
+Network Solutions Certificate Authority
+=======================================
+-----BEGIN CERTIFICATE-----
+MIID5jCCAs6gAwIBAgIQV8szb8JcFuZHFhfjkDFo4DANBgkqhkiG9w0BAQUFADBiMQswCQYDVQQG
+EwJVUzEhMB8GA1UEChMYTmV0d29yayBTb2x1dGlvbnMgTC5MLkMuMTAwLgYDVQQDEydOZXR3b3Jr
+IFNvbHV0aW9ucyBDZXJ0aWZpY2F0ZSBBdXRob3JpdHkwHhcNMDYxMjAxMDAwMDAwWhcNMjkxMjMx
+MjM1OTU5WjBiMQswCQYDVQQGEwJVUzEhMB8GA1UEChMYTmV0d29yayBTb2x1dGlvbnMgTC5MLkMu
+MTAwLgYDVQQDEydOZXR3b3JrIFNvbHV0aW9ucyBDZXJ0aWZpY2F0ZSBBdXRob3JpdHkwggEiMA0G
+CSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDkvH6SMG3G2I4rC7xGzuAnlt7e+foS0zwzc7MEL7xx
+jOWftiJgPl9dzgn/ggwbmlFQGiaJ3dVhXRncEg8tCqJDXRfQNJIg6nPPOCwGJgl6cvf6UDL4wpPT
+aaIjzkGxzOTVHzbRijr4jGPiFFlp7Q3Tf2vouAPlT2rlmGNpSAW+Lv8ztumXWWn4Zxmuk2GWRBXT
+crA/vGp97Eh/jcOrqnErU2lBUzS1sLnFBgrEsEX1QV1uiUV7PTsmjHTC5dLRfbIR1PtYMiKagMnc
+/Qzpf14Dl847ABSHJ3A4qY5usyd2mFHgBeMhqxrVhSI8KbWaFsWAqPS7azCPL0YCorEMIuDTAgMB
+AAGjgZcwgZQwHQYDVR0OBBYEFCEwyfsA106Y2oeqKtCnLrFAMadMMA4GA1UdDwEB/wQEAwIBBjAP
+BgNVHRMBAf8EBTADAQH/MFIGA1UdHwRLMEkwR6BFoEOGQWh0dHA6Ly9jcmwubmV0c29sc3NsLmNv
+bS9OZXR3b3JrU29sdXRpb25zQ2VydGlmaWNhdGVBdXRob3JpdHkuY3JsMA0GCSqGSIb3DQEBBQUA
+A4IBAQC7rkvnt1frf6ott3NHhWrB5KUd5Oc86fRZZXe1eltajSU24HqXLjjAV2CDmAaDn7l2em5Q
+4LqILPxFzBiwmZVRDuwduIj/h1AcgsLj4DKAv6ALR8jDMe+ZZzKATxcheQxpXN5eNK4CtSbqUN9/
+GGUsyfJj4akH/nxxH2szJGoeBfcFaMBqEssuXmHLrijTfsK0ZpEmXzwuJF/LWA/rKOyvEZbz3Htv
+wKeI8lN3s2Berq4o2jUsbzRF0ybh3uxbTydrFny9RAQYgrOJeRcQcT16ohZO9QHNpGxlaKFJdlxD
+ydi8NmdspZS11My5vWo1ViHe2MPr+8ukYEywVaCge1ey
+-----END CERTIFICATE-----
+
+COMODO ECC Certification Authority
+==================================
+-----BEGIN CERTIFICATE-----
+MIICiTCCAg+gAwIBAgIQH0evqmIAcFBUTAGem2OZKjAKBggqhkjOPQQDAzCBhTELMAkGA1UEBhMC
+R0IxGzAZBgNVBAgTEkdyZWF0ZXIgTWFuY2hlc3RlcjEQMA4GA1UEBxMHU2FsZm9yZDEaMBgGA1UE
+ChMRQ09NT0RPIENBIExpbWl0ZWQxKzApBgNVBAMTIkNPTU9ETyBFQ0MgQ2VydGlmaWNhdGlvbiBB
+dXRob3JpdHkwHhcNMDgwMzA2MDAwMDAwWhcNMzgwMTE4MjM1OTU5WjCBhTELMAkGA1UEBhMCR0Ix
+GzAZBgNVBAgTEkdyZWF0ZXIgTWFuY2hlc3RlcjEQMA4GA1UEBxMHU2FsZm9yZDEaMBgGA1UEChMR
+Q09NT0RPIENBIExpbWl0ZWQxKzApBgNVBAMTIkNPTU9ETyBFQ0MgQ2VydGlmaWNhdGlvbiBBdXRo
+b3JpdHkwdjAQBgcqhkjOPQIBBgUrgQQAIgNiAAQDR3svdcmCFYX7deSRFtSrYpn1PlILBs5BAH+X
+4QokPB0BBO490o0JlwzgdeT6+3eKKvUDYEs2ixYjFq0JcfRK9ChQtP6IHG4/bC8vCVlbpVsLM5ni
+wz2J+Wos77LTBumjQjBAMB0GA1UdDgQWBBR1cacZSBm8nZ3qQUfflMRId5nTeTAOBgNVHQ8BAf8E
+BAMCAQYwDwYDVR0TAQH/BAUwAwEB/zAKBggqhkjOPQQDAwNoADBlAjEA7wNbeqy3eApyt4jf/7VG
+FAkK+qDmfQjGGoe9GKhzvSbKYAydzpmfz1wPMOG+FDHqAjAU9JM8SaczepBGR7NjfRObTrdvGDeA
+U/7dIOA1mjbRxwG55tzd8/8dLDoWV9mSOdY=
+-----END CERTIFICATE-----
+
+Security Communication EV RootCA1
+=================================
+-----BEGIN CERTIFICATE-----
+MIIDfTCCAmWgAwIBAgIBADANBgkqhkiG9w0BAQUFADBgMQswCQYDVQQGEwJKUDElMCMGA1UEChMc
+U0VDT00gVHJ1c3QgU3lzdGVtcyBDTy4sTFRELjEqMCgGA1UECxMhU2VjdXJpdHkgQ29tbXVuaWNh
+dGlvbiBFViBSb290Q0ExMB4XDTA3MDYwNjAyMTIzMloXDTM3MDYwNjAyMTIzMlowYDELMAkGA1UE
+BhMCSlAxJTAjBgNVBAoTHFNFQ09NIFRydXN0IFN5c3RlbXMgQ08uLExURC4xKjAoBgNVBAsTIVNl
+Y3VyaXR5IENvbW11bmljYXRpb24gRVYgUm9vdENBMTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCC
+AQoCggEBALx/7FebJOD+nLpCeamIivqA4PUHKUPqjgo0No0c+qe1OXj/l3X3L+SqawSERMqm4miO
+/VVQYg+kcQ7OBzgtQoVQrTyWb4vVog7P3kmJPdZkLjjlHmy1V4qe70gOzXppFodEtZDkBp2uoQSX
+WHnvIEqCa4wiv+wfD+mEce3xDuS4GBPMVjZd0ZoeUWs5bmB2iDQL87PRsJ3KYeJkHcFGB7hj3R4z
+ZbOOCVVSPbW9/wfrrWFVGCypaZhKqkDFMxRldAD5kd6vA0jFQFTcD4SQaCDFkpbcLuUCRarAX1T4
+bepJz11sS6/vmsJWXMY1VkJqMF/Cq/biPT+zyRGPMUzXn0kCAwEAAaNCMEAwHQYDVR0OBBYEFDVK
+9U2vP9eCOKyrcWUXdYydVZPmMA4GA1UdDwEB/wQEAwIBBjAPBgNVHRMBAf8EBTADAQH/MA0GCSqG
+SIb3DQEBBQUAA4IBAQCoh+ns+EBnXcPBZsdAS5f8hxOQWsTvoMpfi7ent/HWtWS3irO4G8za+6xm
+iEHO6Pzk2x6Ipu0nUBsCMCRGef4Eh3CXQHPRwMFXGZpppSeZq51ihPZRwSzJIxXYKLerJRO1RuGG
+Av8mjMSIkh1W/hln8lXkgKNrnKt34VFxDSDbEJrbvXZ5B3eZKK2aXtqxT0QsNY6llsf9g/BYxnnW
+mHyojf6GPgcWkuF75x3sM3Z+Qi5KhfmRiWiEA4Glm5q+4zfFVKtWOxgtQaQM+ELbmaDgcm+7XeEW
+T1MKZPlO9L9OVL14bIjqv5wTJMJwaaJ/D8g8rQjJsJhAoyrniIPtd490
+-----END CERTIFICATE-----
+
+OISTE WISeKey Global Root GA CA
+===============================
+-----BEGIN CERTIFICATE-----
+MIID8TCCAtmgAwIBAgIQQT1yx/RrH4FDffHSKFTfmjANBgkqhkiG9w0BAQUFADCBijELMAkGA1UE
+BhMCQ0gxEDAOBgNVBAoTB1dJU2VLZXkxGzAZBgNVBAsTEkNvcHlyaWdodCAoYykgMjAwNTEiMCAG
+A1UECxMZT0lTVEUgRm91bmRhdGlvbiBFbmRvcnNlZDEoMCYGA1UEAxMfT0lTVEUgV0lTZUtleSBH
+bG9iYWwgUm9vdCBHQSBDQTAeFw0wNTEyMTExNjAzNDRaFw0zNzEyMTExNjA5NTFaMIGKMQswCQYD
+VQQGEwJDSDEQMA4GA1UEChMHV0lTZUtleTEbMBkGA1UECxMSQ29weXJpZ2h0IChjKSAyMDA1MSIw
+IAYDVQQLExlPSVNURSBGb3VuZGF0aW9uIEVuZG9yc2VkMSgwJgYDVQQDEx9PSVNURSBXSVNlS2V5
+IEdsb2JhbCBSb290IEdBIENBMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAy0+zAJs9
+Nt350UlqaxBJH+zYK7LG+DKBKUOVTJoZIyEVRd7jyBxRVVuuk+g3/ytr6dTqvirdqFEr12bDYVxg
+Asj1znJ7O7jyTmUIms2kahnBAbtzptf2w93NvKSLtZlhuAGio9RN1AU9ka34tAhxZK9w8RxrfvbD
+d50kc3vkDIzh2TbhmYsFmQvtRTEJysIA2/dyoJaqlYfQjse2YXMNdmaM3Bu0Y6Kff5MTMPGhJ9vZ
+/yxViJGg4E8HsChWjBgbl0SOid3gF27nKu+POQoxhILYQBRJLnpB5Kf+42TMwVlxSywhp1t94B3R
+LoGbw9ho972WG6xwsRYUC9tguSYBBQIDAQABo1EwTzALBgNVHQ8EBAMCAYYwDwYDVR0TAQH/BAUw
+AwEB/zAdBgNVHQ4EFgQUswN+rja8sHnR3JQmthG+IbJphpQwEAYJKwYBBAGCNxUBBAMCAQAwDQYJ
+KoZIhvcNAQEFBQADggEBAEuh/wuHbrP5wUOxSPMowB0uyQlB+pQAHKSkq0lPjz0e701vvbyk9vIm
+MMkQyh2I+3QZH4VFvbBsUfk2ftv1TDI6QU9bR8/oCy22xBmddMVHxjtqD6wU2zz0c5ypBd8A3HR4
++vg1YFkCExh8vPtNsCBtQ7tgMHpnM1zFmdH4LTlSc/uMqpclXHLZCB6rTjzjgTGfA6b7wP4piFXa
+hNVQA7bihKOmNqoROgHhGEvWRGizPflTdISzRpFGlgC3gCy24eMQ4tui5yiPAZZiFj4A4xylNoEY
+okxSdsARo27mHbrjWr42U8U+dY+GaSlYU7Wcu2+fXMUY7N0v4ZjJ/L7fCg0=
+-----END CERTIFICATE-----
+
+Certigna
+========
+-----BEGIN CERTIFICATE-----
+MIIDqDCCApCgAwIBAgIJAP7c4wEPyUj/MA0GCSqGSIb3DQEBBQUAMDQxCzAJBgNVBAYTAkZSMRIw
+EAYDVQQKDAlEaGlteW90aXMxETAPBgNVBAMMCENlcnRpZ25hMB4XDTA3MDYyOTE1MTMwNVoXDTI3
+MDYyOTE1MTMwNVowNDELMAkGA1UEBhMCRlIxEjAQBgNVBAoMCURoaW15b3RpczERMA8GA1UEAwwI
+Q2VydGlnbmEwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDIaPHJ1tazNHUmgh7stL7q
+XOEm7RFHYeGifBZ4QCHkYJ5ayGPhxLGWkv8YbWkj4Sti993iNi+RB7lIzw7sebYs5zRLcAglozyH
+GxnygQcPOJAZ0xH+hrTy0V4eHpbNgGzOOzGTtvKg0KmVEn2lmsxryIRWijOp5yIVUxbwzBfsV1/p
+ogqYCd7jX5xv3EjjhQsVWqa6n6xI4wmy9/Qy3l40vhx4XUJbzg4ij02Q130yGLMLLGq/jj8UEYkg
+DncUtT2UCIf3JR7VsmAA7G8qKCVuKj4YYxclPz5EIBb2JsglrgVKtOdjLPOMFlN+XPsRGgjBRmKf
+Irjxwo1p3Po6WAbfAgMBAAGjgbwwgbkwDwYDVR0TAQH/BAUwAwEB/zAdBgNVHQ4EFgQUGu3+QTmQ
+tCRZvgHyUtVF9lo53BEwZAYDVR0jBF0wW4AUGu3+QTmQtCRZvgHyUtVF9lo53BGhOKQ2MDQxCzAJ
+BgNVBAYTAkZSMRIwEAYDVQQKDAlEaGlteW90aXMxETAPBgNVBAMMCENlcnRpZ25hggkA/tzjAQ/J
+SP8wDgYDVR0PAQH/BAQDAgEGMBEGCWCGSAGG+EIBAQQEAwIABzANBgkqhkiG9w0BAQUFAAOCAQEA
+hQMeknH2Qq/ho2Ge6/PAD/Kl1NqV5ta+aDY9fm4fTIrv0Q8hbV6lUmPOEvjvKtpv6zf+EwLHyzs+
+ImvaYS5/1HI93TDhHkxAGYwP15zRgzB7mFncfca5DClMoTOi62c6ZYTTluLtdkVwj7Ur3vkj1klu
+PBS1xp81HlDQwY9qcEQCYsuuHWhBp6pX6FOqB9IG9tUUBguRA3UsbHK1YZWaDYu5Def131TN3ubY
+1gkIl2PlwS6wt0QmwCbAr1UwnjvVNioZBPRcHv/PLLf/0P2HQBHVESO7SMAhqaQoLf0V+LBOK/Qw
+WyH8EZE0vkHve52Xdf+XlcCWWC/qu0bXu+TZLg==
+-----END CERTIFICATE-----
+
+Deutsche Telekom Root CA 2
+==========================
+-----BEGIN CERTIFICATE-----
+MIIDnzCCAoegAwIBAgIBJjANBgkqhkiG9w0BAQUFADBxMQswCQYDVQQGEwJERTEcMBoGA1UEChMT
+RGV1dHNjaGUgVGVsZWtvbSBBRzEfMB0GA1UECxMWVC1UZWxlU2VjIFRydXN0IENlbnRlcjEjMCEG
+A1UEAxMaRGV1dHNjaGUgVGVsZWtvbSBSb290IENBIDIwHhcNOTkwNzA5MTIxMTAwWhcNMTkwNzA5
+MjM1OTAwWjBxMQswCQYDVQQGEwJERTEcMBoGA1UEChMTRGV1dHNjaGUgVGVsZWtvbSBBRzEfMB0G
+A1UECxMWVC1UZWxlU2VjIFRydXN0IENlbnRlcjEjMCEGA1UEAxMaRGV1dHNjaGUgVGVsZWtvbSBS
+b290IENBIDIwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCrC6M14IspFLEUha88EOQ5
+bzVdSq7d6mGNlUn0b2SjGmBmpKlAIoTZ1KXleJMOaAGtuU1cOs7TuKhCQN/Po7qCWWqSG6wcmtoI
+KyUn+WkjR/Hg6yx6m/UTAtB+NHzCnjwAWav12gz1MjwrrFDa1sPeg5TKqAyZMg4ISFZbavva4VhY
+AUlfckE8FQYBjl2tqriTtM2e66foai1SNNs671x1Udrb8zH57nGYMsRUFUQM+ZtV7a3fGAigo4aK
+Se5TBY8ZTNXeWHmb0mocQqvF1afPaA+W5OFhmHZhyJF81j4A4pFQh+GdCuatl9Idxjp9y7zaAzTV
+jlsB9WoHtxa2bkp/AgMBAAGjQjBAMB0GA1UdDgQWBBQxw3kbuvVT1xfgiXotF2wKsyudMzAPBgNV
+HRMECDAGAQH/AgEFMA4GA1UdDwEB/wQEAwIBBjANBgkqhkiG9w0BAQUFAAOCAQEAlGRZrTlk5ynr
+E/5aw4sTV8gEJPB0d8Bg42f76Ymmg7+Wgnxu1MM9756AbrsptJh6sTtU6zkXR34ajgv8HzFZMQSy
+zhfzLMdiNlXiItiJVbSYSKpk+tYcNthEeFpaIzpXl/V6ME+un2pMSyuOoAPjPuCp1NJ70rOo4nI8
+rZ7/gFnkm0W09juwzTkZmDLl6iFhkOQxIY40sfcvNUqFENrnijchvllj4PKFiDFT1FQUhXB59C4G
+dyd1Lx+4ivn+xbrYNuSD7Odlt79jWvNGr4GUN9RBjNYj1h7P9WgbRGOiWrqnNVmh5XAFmw4jV5mU
+Cm26OWMohpLzGITY+9HPBVZkVw==
+-----END CERTIFICATE-----
+
+Cybertrust Global Root
+======================
+-----BEGIN CERTIFICATE-----
+MIIDoTCCAomgAwIBAgILBAAAAAABD4WqLUgwDQYJKoZIhvcNAQEFBQAwOzEYMBYGA1UEChMPQ3li
+ZXJ0cnVzdCwgSW5jMR8wHQYDVQQDExZDeWJlcnRydXN0IEdsb2JhbCBSb290MB4XDTA2MTIxNTA4
+MDAwMFoXDTIxMTIxNTA4MDAwMFowOzEYMBYGA1UEChMPQ3liZXJ0cnVzdCwgSW5jMR8wHQYDVQQD
+ExZDeWJlcnRydXN0IEdsb2JhbCBSb290MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA
++Mi8vRRQZhP/8NN57CPytxrHjoXxEnOmGaoQ25yiZXRadz5RfVb23CO21O1fWLE3TdVJDm71aofW
+0ozSJ8bi/zafmGWgE07GKmSb1ZASzxQG9Dvj1Ci+6A74q05IlG2OlTEQXO2iLb3VOm2yHLtgwEZL
+AfVJrn5GitB0jaEMAs7u/OePuGtm839EAL9mJRQr3RAwHQeWP032a7iPt3sMpTjr3kfb1V05/Iin
+89cqdPHoWqI7n1C6poxFNcJQZZXcY4Lv3b93TZxiyWNzFtApD0mpSPCzqrdsxacwOUBdrsTiXSZT
+8M4cIwhhqJQZugRiQOwfOHB3EgZxpzAYXSUnpQIDAQABo4GlMIGiMA4GA1UdDwEB/wQEAwIBBjAP
+BgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBS2CHsNesysIEyGVjJez6tuhS1wVzA/BgNVHR8EODA2
+MDSgMqAwhi5odHRwOi8vd3d3Mi5wdWJsaWMtdHJ1c3QuY29tL2NybC9jdC9jdHJvb3QuY3JsMB8G
+A1UdIwQYMBaAFLYIew16zKwgTIZWMl7Pq26FLXBXMA0GCSqGSIb3DQEBBQUAA4IBAQBW7wojoFRO
+lZfJ+InaRcHUowAl9B8Tq7ejhVhpwjCt2BWKLePJzYFa+HMjWqd8BfP9IjsO0QbE2zZMcwSO5bAi
+5MXzLqXZI+O4Tkogp24CJJ8iYGd7ix1yCcUxXOl5n4BHPa2hCwcUPUf/A2kaDAtE52Mlp3+yybh2
+hO0j9n0Hq0V+09+zv+mKts2oomcrUtW3ZfA5TGOgkXmTUg9U3YO7n9GPp1Nzw8v/MOx8BLjYRB+T
+X3EJIrduPuocA06dGiBh+4E37F78CkWr1+cXVdCg6mCbpvbjjFspwgZgFJ0tl0ypkxWdYcQBX0jW
+WL1WMRJOEcgh4LMRkWXbtKaIOM5V
+-----END CERTIFICATE-----
+
+ePKI Root Certification Authority
+=================================
+-----BEGIN CERTIFICATE-----
+MIIFsDCCA5igAwIBAgIQFci9ZUdcr7iXAF7kBtK8nTANBgkqhkiG9w0BAQUFADBeMQswCQYDVQQG
+EwJUVzEjMCEGA1UECgwaQ2h1bmdod2EgVGVsZWNvbSBDby4sIEx0ZC4xKjAoBgNVBAsMIWVQS0kg
+Um9vdCBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTAeFw0wNDEyMjAwMjMxMjdaFw0zNDEyMjAwMjMx
+MjdaMF4xCzAJBgNVBAYTAlRXMSMwIQYDVQQKDBpDaHVuZ2h3YSBUZWxlY29tIENvLiwgTHRkLjEq
+MCgGA1UECwwhZVBLSSBSb290IENlcnRpZmljYXRpb24gQXV0aG9yaXR5MIICIjANBgkqhkiG9w0B
+AQEFAAOCAg8AMIICCgKCAgEA4SUP7o3biDN1Z82tH306Tm2d0y8U82N0ywEhajfqhFAHSyZbCUNs
+IZ5qyNUD9WBpj8zwIuQf5/dqIjG3LBXy4P4AakP/h2XGtRrBp0xtInAhijHyl3SJCRImHJ7K2RKi
+lTza6We/CKBk49ZCt0Xvl/T29de1ShUCWH2YWEtgvM3XDZoTM1PRYfl61dd4s5oz9wCGzh1NlDiv
+qOx4UXCKXBCDUSH3ET00hl7lSM2XgYI1TBnsZfZrxQWh7kcT1rMhJ5QQCtkkO7q+RBNGMD+XPNjX
+12ruOzjjK9SXDrkb5wdJfzcq+Xd4z1TtW0ado4AOkUPB1ltfFLqfpo0kR0BZv3I4sjZsN/+Z0V0O
+WQqraffAsgRFelQArr5T9rXn4fg8ozHSqf4hUmTFpmfwdQcGlBSBVcYn5AGPF8Fqcde+S/uUWH1+
+ETOxQvdibBjWzwloPn9s9h6PYq2lY9sJpx8iQkEeb5mKPtf5P0B6ebClAZLSnT0IFaUQAS2zMnao
+lQ2zepr7BxB4EW/hj8e6DyUadCrlHJhBmd8hh+iVBmoKs2pHdmX2Os+PYhcZewoozRrSgx4hxyy/
+vv9haLdnG7t4TY3OZ+XkwY63I2binZB1NJipNiuKmpS5nezMirH4JYlcWrYvjB9teSSnUmjDhDXi
+Zo1jDiVN1Rmy5nk3pyKdVDECAwEAAaNqMGgwHQYDVR0OBBYEFB4M97Zn8uGSJglFwFU5Lnc/Qkqi
+MAwGA1UdEwQFMAMBAf8wOQYEZyoHAAQxMC8wLQIBADAJBgUrDgMCGgUAMAcGBWcqAwAABBRFsMLH
+ClZ87lt4DJX5GFPBphzYEDANBgkqhkiG9w0BAQUFAAOCAgEACbODU1kBPpVJufGBuvl2ICO1J2B0
+1GqZNF5sAFPZn/KmsSQHRGoqxqWOeBLoR9lYGxMqXnmbnwoqZ6YlPwZpVnPDimZI+ymBV3QGypzq
+KOg4ZyYr8dW1P2WT+DZdjo2NQCCHGervJ8A9tDkPJXtoUHRVnAxZfVo9QZQlUgjgRywVMRnVvwdV
+xrsStZf0X4OFunHB2WyBEXYKCrC/gpf36j36+uwtqSiUO1bd0lEursC9CBWMd1I0ltabrNMdjmEP
+NXubrjlpC2JgQCA2j6/7Nu4tCEoduL+bXPjqpRugc6bY+G7gMwRfaKonh+3ZwZCc7b3jajWvY9+r
+GNm65ulK6lCKD2GTHuItGeIwlDWSXQ62B68ZgI9HkFFLLk3dheLSClIKF5r8GrBQAuUBo2M3IUxE
+xJtRmREOc5wGj1QupyheRDmHVi03vYVElOEMSyycw5KFNGHLD7ibSkNS/jQ6fbjpKdx2qcgw+BRx
+gMYeNkh0IkFch4LoGHGLQYlE535YW6i4jRPpp2zDR+2zGp1iro2C6pSe3VkQw63d4k3jMdXH7Ojy
+sP6SHhYKGvzZ8/gntsm+HbRsZJB/9OTEW9c3rkIO3aQab3yIVMUWbuF6aC74Or8NpDyJO3inTmOD
+BCEIZ43ygknQW/2xzQ+DhNQ+IIX3Sj0rnP0qCglN6oH4EZw=
+-----END CERTIFICATE-----
+
+T\xc3\x9c\x42\xC4\xB0TAK UEKAE K\xC3\xB6k Sertifika Hizmet Sa\xC4\x9Flay\xc4\xb1\x63\xc4\xb1s\xc4\xb1 - S\xC3\xBCr\xC3\xBCm 3
+=============================================================================================================================
+-----BEGIN CERTIFICATE-----
+MIIFFzCCA/+gAwIBAgIBETANBgkqhkiG9w0BAQUFADCCASsxCzAJBgNVBAYTAlRSMRgwFgYDVQQH
+DA9HZWJ6ZSAtIEtvY2FlbGkxRzBFBgNVBAoMPlTDvHJraXllIEJpbGltc2VsIHZlIFRla25vbG9q
+aWsgQXJhxZ90xLFybWEgS3VydW11IC0gVMOcQsSwVEFLMUgwRgYDVQQLDD9VbHVzYWwgRWxla3Ry
+b25payB2ZSBLcmlwdG9sb2ppIEFyYcWfdMSxcm1hIEVuc3RpdMO8c8O8IC0gVUVLQUUxIzAhBgNV
+BAsMGkthbXUgU2VydGlmaWthc3lvbiBNZXJrZXppMUowSAYDVQQDDEFUw5xCxLBUQUsgVUVLQUUg
+S8O2ayBTZXJ0aWZpa2EgSGl6bWV0IFNhxJ9sYXnEsWPEsXPEsSAtIFPDvHLDvG0gMzAeFw0wNzA4
+MjQxMTM3MDdaFw0xNzA4MjExMTM3MDdaMIIBKzELMAkGA1UEBhMCVFIxGDAWBgNVBAcMD0dlYnpl
+IC0gS29jYWVsaTFHMEUGA1UECgw+VMO8cmtpeWUgQmlsaW1zZWwgdmUgVGVrbm9sb2ppayBBcmHF
+n3TEsXJtYSBLdXJ1bXUgLSBUw5xCxLBUQUsxSDBGBgNVBAsMP1VsdXNhbCBFbGVrdHJvbmlrIHZl
+IEtyaXB0b2xvamkgQXJhxZ90xLFybWEgRW5zdGl0w7xzw7wgLSBVRUtBRTEjMCEGA1UECwwaS2Ft
+dSBTZXJ0aWZpa2FzeW9uIE1lcmtlemkxSjBIBgNVBAMMQVTDnELEsFRBSyBVRUtBRSBLw7ZrIFNl
+cnRpZmlrYSBIaXptZXQgU2HEn2xhecSxY8Sxc8SxIC0gU8O8csO8bSAzMIIBIjANBgkqhkiG9w0B
+AQEFAAOCAQ8AMIIBCgKCAQEAim1L/xCIOsP2fpTo6iBkcK4hgb46ezzb8R1Sf1n68yJMlaCQvEhO
+Eav7t7WNeoMojCZG2E6VQIdhn8WebYGHV2yKO7Rm6sxA/OOqbLLLAdsyv9Lrhc+hDVXDWzhXcLh1
+xnnRFDDtG1hba+818qEhTsXOfJlfbLm4IpNQp81McGq+agV/E5wrHur+R84EpW+sky58K5+eeROR
+6Oqeyjh1jmKwlZMq5d/pXpduIF9fhHpEORlAHLpVK/swsoHvhOPc7Jg4OQOFCKlUAwUp8MmPi+oL
+hmUZEdPpCSPeaJMDyTYcIW7OjGbxmTDY17PDHfiBLqi9ggtm/oLL4eAagsNAgQIDAQABo0IwQDAd
+BgNVHQ4EFgQUvYiHyY/2pAoLquvF/pEjnatKijIwDgYDVR0PAQH/BAQDAgEGMA8GA1UdEwEB/wQF
+MAMBAf8wDQYJKoZIhvcNAQEFBQADggEBAB18+kmPNOm3JpIWmgV050vQbTlswyb2zrgxvMTfvCr4
+N5EY3ATIZJkrGG2AA1nJrvhY0D7twyOfaTyGOBye79oneNGEN3GKPEs5z35FBtYt2IpNeBLWrcLT
+y9LQQfMmNkqblWwM7uXRQydmwYj3erMgbOqwaSvHIOgMA8RBBZniP+Rr+KCGgceExh/VS4ESshYh
+LBOhgLJeDEoTniDYYkCrkOpkSi+sDQESeUWoL4cZaMjihccwsnX5OD+ywJO0a+IDRM5noN+J1q2M
+dqMTw5RhK2vZbMEHCiIHhWyFJEapvj+LeISCfiQMnf2BN+MlqO02TpUsyZyQ2uypQjyttgI=
+-----END CERTIFICATE-----
+
+certSIGN ROOT CA
+================
+-----BEGIN CERTIFICATE-----
+MIIDODCCAiCgAwIBAgIGIAYFFnACMA0GCSqGSIb3DQEBBQUAMDsxCzAJBgNVBAYTAlJPMREwDwYD
+VQQKEwhjZXJ0U0lHTjEZMBcGA1UECxMQY2VydFNJR04gUk9PVCBDQTAeFw0wNjA3MDQxNzIwMDRa
+Fw0zMTA3MDQxNzIwMDRaMDsxCzAJBgNVBAYTAlJPMREwDwYDVQQKEwhjZXJ0U0lHTjEZMBcGA1UE
+CxMQY2VydFNJR04gUk9PVCBDQTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBALczuX7I
+JUqOtdu0KBuqV5Do0SLTZLrTk+jUrIZhQGpgV2hUhE28alQCBf/fm5oqrl0Hj0rDKH/v+yv6efHH
+rfAQUySQi2bJqIirr1qjAOm+ukbuW3N7LBeCgV5iLKECZbO9xSsAfsT8AzNXDe3i+s5dRdY4zTW2
+ssHQnIFKquSyAVwdj1+ZxLGt24gh65AIgoDzMKND5pCCrlUoSe1b16kQOA7+j0xbm0bqQfWwCHTD
+0IgztnzXdN/chNFDDnU5oSVAKOp4yw4sLjmdjItuFhwvJoIQ4uNllAoEwF73XVv4EOLQunpL+943
+AAAaWyjj0pxzPjKHmKHJUS/X3qwzs08CAwEAAaNCMEAwDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8B
+Af8EBAMCAcYwHQYDVR0OBBYEFOCMm9slSbPxfIbWskKHC9BroNnkMA0GCSqGSIb3DQEBBQUAA4IB
+AQA+0hyJLjX8+HXd5n9liPRyTMks1zJO890ZeUe9jjtbkw9QSSQTaxQGcu8J06Gh40CEyecYMnQ8
+SG4Pn0vU9x7Tk4ZkVJdjclDVVc/6IJMCopvDI5NOFlV2oHB5bc0hH88vLbwZ44gx+FkagQnIl6Z0
+x2DEW8xXjrJ1/RsCCdtZb3KTafcxQdaIOL+Hsr0Wefmq5L6IJd1hJyMctTEHBDa0GpC9oHRxUIlt
+vBTjD4au8as+x6AJzKNI0eDbZOeStc+vckNwi/nDhDwTqn6Sm1dTk/pwwpEOMfmbZ13pljheX7Nz
+TogVZ96edhBiIL5VaZVDADlN9u6wWk5JRFRYX0KD
+-----END CERTIFICATE-----
+
+CNNIC ROOT
+==========
+-----BEGIN CERTIFICATE-----
+MIIDVTCCAj2gAwIBAgIESTMAATANBgkqhkiG9w0BAQUFADAyMQswCQYDVQQGEwJDTjEOMAwGA1UE
+ChMFQ05OSUMxEzARBgNVBAMTCkNOTklDIFJPT1QwHhcNMDcwNDE2MDcwOTE0WhcNMjcwNDE2MDcw
+OTE0WjAyMQswCQYDVQQGEwJDTjEOMAwGA1UEChMFQ05OSUMxEzARBgNVBAMTCkNOTklDIFJPT1Qw
+ggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDTNfc/c3et6FtzF8LRb+1VvG7q6KR5smzD
+o+/hn7E7SIX1mlwhIhAsxYLO2uOabjfhhyzcuQxauohV3/2q2x8x6gHx3zkBwRP9SFIhxFXf2tiz
+VHa6dLG3fdfA6PZZxU3Iva0fFNrfWEQlMhkqx35+jq44sDB7R3IJMfAw28Mbdim7aXZOV/kbZKKT
+VrdvmW7bCgScEeOAH8tjlBAKqeFkgjH5jCftppkA9nCTGPihNIaj3XrCGHn2emU1z5DrvTOTn1Or
+czvmmzQgLx3vqR1jGqCA2wMv+SYahtKNu6m+UjqHZ0gNv7Sg2Ca+I19zN38m5pIEo3/PIKe38zrK
+y5nLAgMBAAGjczBxMBEGCWCGSAGG+EIBAQQEAwIABzAfBgNVHSMEGDAWgBRl8jGtKvf33VKWCscC
+wQ7vptU7ETAPBgNVHRMBAf8EBTADAQH/MAsGA1UdDwQEAwIB/jAdBgNVHQ4EFgQUZfIxrSr3991S
+lgrHAsEO76bVOxEwDQYJKoZIhvcNAQEFBQADggEBAEs17szkrr/Dbq2flTtLP1se31cpolnKOOK5
+Gv+e5m4y3R6u6jW39ZORTtpC4cMXYFDy0VwmuYK36m3knITnA3kXr5g9lNvHugDnuL8BV8F3RTIM
+O/G0HAiw/VGgod2aHRM2mm23xzy54cXZF/qD1T0VoDy7HgviyJA/qIYM/PmLXoXLT1tLYhFHxUV8
+BS9BsZ4QaRuZluBVeftOhpm4lNqGOGqTo+fLbuXf6iFViZx9fX+Y9QCJ7uOEwFyWtcVG6kbghVW2
+G8kS1sHNzYDzAgE8yGnLRUhj2JTQ7IUOO04RZfSCjKY9ri4ilAnIXOo8gV0WKgOXFlUJ24pBgp5m
+mxE=
+-----END CERTIFICATE-----
+
+GeoTrust Primary Certification Authority - G3
+=============================================
+-----BEGIN CERTIFICATE-----
+MIID/jCCAuagAwIBAgIQFaxulBmyeUtB9iepwxgPHzANBgkqhkiG9w0BAQsFADCBmDELMAkGA1UE
+BhMCVVMxFjAUBgNVBAoTDUdlb1RydXN0IEluYy4xOTA3BgNVBAsTMChjKSAyMDA4IEdlb1RydXN0
+IEluYy4gLSBGb3IgYXV0aG9yaXplZCB1c2Ugb25seTE2MDQGA1UEAxMtR2VvVHJ1c3QgUHJpbWFy
+eSBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eSAtIEczMB4XDTA4MDQwMjAwMDAwMFoXDTM3MTIwMTIz
+NTk1OVowgZgxCzAJBgNVBAYTAlVTMRYwFAYDVQQKEw1HZW9UcnVzdCBJbmMuMTkwNwYDVQQLEzAo
+YykgMjAwOCBHZW9UcnVzdCBJbmMuIC0gRm9yIGF1dGhvcml6ZWQgdXNlIG9ubHkxNjA0BgNVBAMT
+LUdlb1RydXN0IFByaW1hcnkgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkgLSBHMzCCASIwDQYJKoZI
+hvcNAQEBBQADggEPADCCAQoCggEBANziXmJYHTNXOTIz+uvLh4yn1ErdBojqZI4xmKU4kB6Yzy5j
+K/BGvESyiaHAKAxJcCGVn2TAppMSAmUmhsalifD614SgcK9PGpc/BkTVyetyEH3kMSj7HGHmKAdE
+c5IiaacDiGydY8hS2pgn5whMcD60yRLBxWeDXTPzAxHsatBT4tG6NmCUgLthY2xbF37fQJQeqw3C
+IShwiP/WJmxsYAQlTlV+fe+/lEjetx3dcI0FX4ilm/LC7urRQEFtYjgdVgbFA0dRIBn8exALDmKu
+dlW/X3e+PkkBUz2YJQN2JFodtNuJ6nnltrM7P7pMKEF/BqxqjsHQ9gUdfeZChuOl1UcCAwEAAaNC
+MEAwDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMCAQYwHQYDVR0OBBYEFMR5yo6hTgMdHNxr
+2zFblD4/MH8tMA0GCSqGSIb3DQEBCwUAA4IBAQAtxRPPVoB7eni9n64smefv2t+UXglpp+duaIy9
+cr5HqQ6XErhK8WTTOd8lNNTBzU6B8A8ExCSzNJbGpqow32hhc9f5joWJ7w5elShKKiePEI4ufIbE
+Ap7aDHdlDkQNkv39sxY2+hENHYwOB4lqKVb3cvTdFZx3NWZXqxNT2I7BQMXXExZacse3aQHEerGD
+AWh9jUGhlBjBJVz88P6DAod8DQ3PLghcSkANPuyBYeYk28rgDi0Hsj5W3I31QYUHSJsMC8tJP33s
+t/3LjWeJGqvtux6jAAgIFyqCXDFdRootD4abdNlF+9RAsXqqaC2Gspki4cErx5z481+oghLrGREt
+-----END CERTIFICATE-----
+
+thawte Primary Root CA - G2
+===========================
+-----BEGIN CERTIFICATE-----
+MIICiDCCAg2gAwIBAgIQNfwmXNmET8k9Jj1Xm67XVjAKBggqhkjOPQQDAzCBhDELMAkGA1UEBhMC
+VVMxFTATBgNVBAoTDHRoYXd0ZSwgSW5jLjE4MDYGA1UECxMvKGMpIDIwMDcgdGhhd3RlLCBJbmMu
+IC0gRm9yIGF1dGhvcml6ZWQgdXNlIG9ubHkxJDAiBgNVBAMTG3RoYXd0ZSBQcmltYXJ5IFJvb3Qg
+Q0EgLSBHMjAeFw0wNzExMDUwMDAwMDBaFw0zODAxMTgyMzU5NTlaMIGEMQswCQYDVQQGEwJVUzEV
+MBMGA1UEChMMdGhhd3RlLCBJbmMuMTgwNgYDVQQLEy8oYykgMjAwNyB0aGF3dGUsIEluYy4gLSBG
+b3IgYXV0aG9yaXplZCB1c2Ugb25seTEkMCIGA1UEAxMbdGhhd3RlIFByaW1hcnkgUm9vdCBDQSAt
+IEcyMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAEotWcgnuVnfFSeIf+iha/BebfowJPDQfGAFG6DAJS
+LSKkQjnE/o/qycG+1E3/n3qe4rF8mq2nhglzh9HnmuN6papu+7qzcMBniKI11KOasf2twu8x+qi5
+8/sIxpHR+ymVo0IwQDAPBgNVHRMBAf8EBTADAQH/MA4GA1UdDwEB/wQEAwIBBjAdBgNVHQ4EFgQU
+mtgAMADna3+FGO6Lts6KDPgR4bswCgYIKoZIzj0EAwMDaQAwZgIxAN344FdHW6fmCsO99YCKlzUN
+G4k8VIZ3KMqh9HneteY4sPBlcIx/AlTCv//YoT7ZzwIxAMSNlPzcU9LcnXgWHxUzI1NS41oxXZ3K
+rr0TKUQNJ1uo52icEvdYPy5yAlejj6EULg==
+-----END CERTIFICATE-----
+
+thawte Primary Root CA - G3
+===========================
+-----BEGIN CERTIFICATE-----
+MIIEKjCCAxKgAwIBAgIQYAGXt0an6rS0mtZLL/eQ+zANBgkqhkiG9w0BAQsFADCBrjELMAkGA1UE
+BhMCVVMxFTATBgNVBAoTDHRoYXd0ZSwgSW5jLjEoMCYGA1UECxMfQ2VydGlmaWNhdGlvbiBTZXJ2
+aWNlcyBEaXZpc2lvbjE4MDYGA1UECxMvKGMpIDIwMDggdGhhd3RlLCBJbmMuIC0gRm9yIGF1dGhv
+cml6ZWQgdXNlIG9ubHkxJDAiBgNVBAMTG3RoYXd0ZSBQcmltYXJ5IFJvb3QgQ0EgLSBHMzAeFw0w
+ODA0MDIwMDAwMDBaFw0zNzEyMDEyMzU5NTlaMIGuMQswCQYDVQQGEwJVUzEVMBMGA1UEChMMdGhh
+d3RlLCBJbmMuMSgwJgYDVQQLEx9DZXJ0aWZpY2F0aW9uIFNlcnZpY2VzIERpdmlzaW9uMTgwNgYD
+VQQLEy8oYykgMjAwOCB0aGF3dGUsIEluYy4gLSBGb3IgYXV0aG9yaXplZCB1c2Ugb25seTEkMCIG
+A1UEAxMbdGhhd3RlIFByaW1hcnkgUm9vdCBDQSAtIEczMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8A
+MIIBCgKCAQEAsr8nLPvb2FvdeHsbnndmgcs+vHyu86YnmjSjaDFxODNi5PNxZnmxqWWjpYvVj2At
+P0LMqmsywCPLLEHd5N/8YZzic7IilRFDGF/Eth9XbAoFWCLINkw6fKXRz4aviKdEAhN0cXMKQlkC
++BsUa0Lfb1+6a4KinVvnSr0eAXLbS3ToO39/fR8EtCab4LRarEc9VbjXsCZSKAExQGbY2SS99irY
+7CFJXJv2eul/VTV+lmuNk5Mny5K76qxAwJ/C+IDPXfRa3M50hqY+bAtTyr2SzhkGcuYMXDhpxwTW
+vGzOW/b3aJzcJRVIiKHpqfiYnODz1TEoYRFsZ5aNOZnLwkUkOQIDAQABo0IwQDAPBgNVHRMBAf8E
+BTADAQH/MA4GA1UdDwEB/wQEAwIBBjAdBgNVHQ4EFgQUrWyqlGCc7eT/+j4KdCtjA/e2Wb8wDQYJ
+KoZIhvcNAQELBQADggEBABpA2JVlrAmSicY59BDlqQ5mU1143vokkbvnRFHfxhY0Cu9qRFHqKweK
+A3rD6z8KLFIWoCtDuSWQP3CpMyVtRRooOyfPqsMpQhvfO0zAMzRbQYi/aytlryjvsvXDqmbOe1bu
+t8jLZ8HJnBoYuMTDSQPxYA5QzUbF83d597YV4Djbxy8ooAw/dyZ02SUS2jHaGh7cKUGRIjxpp7sC
+8rZcJwOJ9Abqm+RyguOhCcHpABnTPtRwa7pxpqpYrvS76Wy274fMm7v/OeZWYdMKp8RcTGB7BXcm
+er/YB1IsYvdwY9k5vG8cwnncdimvzsUsZAReiDZuMdRAGmI0Nj81Aa6sY6A=
+-----END CERTIFICATE-----
+
+GeoTrust Primary Certification Authority - G2
+=============================================
+-----BEGIN CERTIFICATE-----
+MIICrjCCAjWgAwIBAgIQPLL0SAoA4v7rJDteYD7DazAKBggqhkjOPQQDAzCBmDELMAkGA1UEBhMC
+VVMxFjAUBgNVBAoTDUdlb1RydXN0IEluYy4xOTA3BgNVBAsTMChjKSAyMDA3IEdlb1RydXN0IElu
+Yy4gLSBGb3IgYXV0aG9yaXplZCB1c2Ugb25seTE2MDQGA1UEAxMtR2VvVHJ1c3QgUHJpbWFyeSBD
+ZXJ0aWZpY2F0aW9uIEF1dGhvcml0eSAtIEcyMB4XDTA3MTEwNTAwMDAwMFoXDTM4MDExODIzNTk1
+OVowgZgxCzAJBgNVBAYTAlVTMRYwFAYDVQQKEw1HZW9UcnVzdCBJbmMuMTkwNwYDVQQLEzAoYykg
+MjAwNyBHZW9UcnVzdCBJbmMuIC0gRm9yIGF1dGhvcml6ZWQgdXNlIG9ubHkxNjA0BgNVBAMTLUdl
+b1RydXN0IFByaW1hcnkgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkgLSBHMjB2MBAGByqGSM49AgEG
+BSuBBAAiA2IABBWx6P0DFUPlrOuHNxFi79KDNlJ9RVcLSo17VDs6bl8VAsBQps8lL33KSLjHUGMc
+KiEIfJo22Av+0SbFWDEwKCXzXV2juLaltJLtbCyf691DiaI8S0iRHVDsJt/WYC69IaNCMEAwDwYD
+VR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMCAQYwHQYDVR0OBBYEFBVfNVdRVfslsq0DafwBo/q+
+EVXVMAoGCCqGSM49BAMDA2cAMGQCMGSWWaboCd6LuvpaiIjwH5HTRqjySkwCY/tsXzjbLkGTqQ7m
+ndwxHLKgpxgceeHHNgIwOlavmnRs9vuD4DPTCF+hnMJbn0bWtsuRBmOiBuczrD6ogRLQy7rQkgu2
+npaqBA+K
+-----END CERTIFICATE-----
+
+VeriSign Universal Root Certification Authority
+===============================================
+-----BEGIN CERTIFICATE-----
+MIIEuTCCA6GgAwIBAgIQQBrEZCGzEyEDDrvkEhrFHTANBgkqhkiG9w0BAQsFADCBvTELMAkGA1UE
+BhMCVVMxFzAVBgNVBAoTDlZlcmlTaWduLCBJbmMuMR8wHQYDVQQLExZWZXJpU2lnbiBUcnVzdCBO
+ZXR3b3JrMTowOAYDVQQLEzEoYykgMjAwOCBWZXJpU2lnbiwgSW5jLiAtIEZvciBhdXRob3JpemVk
+IHVzZSBvbmx5MTgwNgYDVQQDEy9WZXJpU2lnbiBVbml2ZXJzYWwgUm9vdCBDZXJ0aWZpY2F0aW9u
+IEF1dGhvcml0eTAeFw0wODA0MDIwMDAwMDBaFw0zNzEyMDEyMzU5NTlaMIG9MQswCQYDVQQGEwJV
+UzEXMBUGA1UEChMOVmVyaVNpZ24sIEluYy4xHzAdBgNVBAsTFlZlcmlTaWduIFRydXN0IE5ldHdv
+cmsxOjA4BgNVBAsTMShjKSAyMDA4IFZlcmlTaWduLCBJbmMuIC0gRm9yIGF1dGhvcml6ZWQgdXNl
+IG9ubHkxODA2BgNVBAMTL1ZlcmlTaWduIFVuaXZlcnNhbCBSb290IENlcnRpZmljYXRpb24gQXV0
+aG9yaXR5MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAx2E3XrEBNNti1xWb/1hajCMj
+1mCOkdeQmIN65lgZOIzF9uVkhbSicfvtvbnazU0AtMgtc6XHaXGVHzk8skQHnOgO+k1KxCHfKWGP
+MiJhgsWHH26MfF8WIFFE0XBPV+rjHOPMee5Y2A7Cs0WTwCznmhcrewA3ekEzeOEz4vMQGn+HLL72
+9fdC4uW/h2KJXwBL38Xd5HVEMkE6HnFuacsLdUYI0crSK5XQz/u5QGtkjFdN/BMReYTtXlT2NJ8I
+AfMQJQYXStrxHXpma5hgZqTZ79IugvHw7wnqRMkVauIDbjPTrJ9VAMf2CGqUuV/c4DPxhGD5WycR
+tPwW8rtWaoAljQIDAQABo4GyMIGvMA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgEGMG0G
+CCsGAQUFBwEMBGEwX6FdoFswWTBXMFUWCWltYWdlL2dpZjAhMB8wBwYFKw4DAhoEFI/l0xqGrI2O
+a8PPgGrUSBgsexkuMCUWI2h0dHA6Ly9sb2dvLnZlcmlzaWduLmNvbS92c2xvZ28uZ2lmMB0GA1Ud
+DgQWBBS2d/ppSEefUxLVwuoHMnYH0ZcHGTANBgkqhkiG9w0BAQsFAAOCAQEASvj4sAPmLGd75JR3
+Y8xuTPl9Dg3cyLk1uXBPY/ok+myDjEedO2Pzmvl2MpWRsXe8rJq+seQxIcaBlVZaDrHC1LGmWazx
+Y8u4TB1ZkErvkBYoH1quEPuBUDgMbMzxPcP1Y+Oz4yHJJDnp/RVmRvQbEdBNc6N9Rvk97ahfYtTx
+P/jgdFcrGJ2BtMQo2pSXpXDrrB2+BxHw1dvd5Yzw1TKwg+ZX4o+/vqGqvz0dtdQ46tewXDpPaj+P
+wGZsY6rp2aQW9IHRlRQOfc2VNNnSj3BzgXucfr2YYdhFh5iQxeuGMMY1v/D/w1WIg0vvBZIGcfK4
+mJO37M2CYfE45k+XmCpajQ==
+-----END CERTIFICATE-----
+
+VeriSign Class 3 Public Primary Certification Authority - G4
+============================================================
+-----BEGIN CERTIFICATE-----
+MIIDhDCCAwqgAwIBAgIQL4D+I4wOIg9IZxIokYesszAKBggqhkjOPQQDAzCByjELMAkGA1UEBhMC
+VVMxFzAVBgNVBAoTDlZlcmlTaWduLCBJbmMuMR8wHQYDVQQLExZWZXJpU2lnbiBUcnVzdCBOZXR3
+b3JrMTowOAYDVQQLEzEoYykgMjAwNyBWZXJpU2lnbiwgSW5jLiAtIEZvciBhdXRob3JpemVkIHVz
+ZSBvbmx5MUUwQwYDVQQDEzxWZXJpU2lnbiBDbGFzcyAzIFB1YmxpYyBQcmltYXJ5IENlcnRpZmlj
+YXRpb24gQXV0aG9yaXR5IC0gRzQwHhcNMDcxMTA1MDAwMDAwWhcNMzgwMTE4MjM1OTU5WjCByjEL
+MAkGA1UEBhMCVVMxFzAVBgNVBAoTDlZlcmlTaWduLCBJbmMuMR8wHQYDVQQLExZWZXJpU2lnbiBU
+cnVzdCBOZXR3b3JrMTowOAYDVQQLEzEoYykgMjAwNyBWZXJpU2lnbiwgSW5jLiAtIEZvciBhdXRo
+b3JpemVkIHVzZSBvbmx5MUUwQwYDVQQDEzxWZXJpU2lnbiBDbGFzcyAzIFB1YmxpYyBQcmltYXJ5
+IENlcnRpZmljYXRpb24gQXV0aG9yaXR5IC0gRzQwdjAQBgcqhkjOPQIBBgUrgQQAIgNiAASnVnp8
+Utpkmw4tXNherJI9/gHmGUo9FANL+mAnINmDiWn6VMaaGF5VKmTeBvaNSjutEDxlPZCIBIngMGGz
+rl0Bp3vefLK+ymVhAIau2o970ImtTR1ZmkGxvEeA3J5iw/mjgbIwga8wDwYDVR0TAQH/BAUwAwEB
+/zAOBgNVHQ8BAf8EBAMCAQYwbQYIKwYBBQUHAQwEYTBfoV2gWzBZMFcwVRYJaW1hZ2UvZ2lmMCEw
+HzAHBgUrDgMCGgQUj+XTGoasjY5rw8+AatRIGCx7GS4wJRYjaHR0cDovL2xvZ28udmVyaXNpZ24u
+Y29tL3ZzbG9nby5naWYwHQYDVR0OBBYEFLMWkf3upm7ktS5Jj4d4gYDs5bG1MAoGCCqGSM49BAMD
+A2gAMGUCMGYhDBgmYFo4e1ZC4Kf8NoRRkSAsdk1DPcQdhCPQrNZ8NQbOzWm9kA3bbEhCHQ6qQgIx
+AJw9SDkjOVgaFRJZap7v1VmyHVIsmXHNxynfGyphe3HR3vPA5Q06Sqotp9iGKt0uEA==
+-----END CERTIFICATE-----
+
+NetLock Arany (Class Gold) Főtanúsítvány
+========================================
+-----BEGIN CERTIFICATE-----
+MIIEFTCCAv2gAwIBAgIGSUEs5AAQMA0GCSqGSIb3DQEBCwUAMIGnMQswCQYDVQQGEwJIVTERMA8G
+A1UEBwwIQnVkYXBlc3QxFTATBgNVBAoMDE5ldExvY2sgS2Z0LjE3MDUGA1UECwwuVGFuw7pzw610
+dsOhbnlraWFkw7NrIChDZXJ0aWZpY2F0aW9uIFNlcnZpY2VzKTE1MDMGA1UEAwwsTmV0TG9jayBB
+cmFueSAoQ2xhc3MgR29sZCkgRsWRdGFuw7pzw610dsOhbnkwHhcNMDgxMjExMTUwODIxWhcNMjgx
+MjA2MTUwODIxWjCBpzELMAkGA1UEBhMCSFUxETAPBgNVBAcMCEJ1ZGFwZXN0MRUwEwYDVQQKDAxO
+ZXRMb2NrIEtmdC4xNzA1BgNVBAsMLlRhbsO6c8OtdHbDoW55a2lhZMOzayAoQ2VydGlmaWNhdGlv
+biBTZXJ2aWNlcykxNTAzBgNVBAMMLE5ldExvY2sgQXJhbnkgKENsYXNzIEdvbGQpIEbFkXRhbsO6
+c8OtdHbDoW55MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAxCRec75LbRTDofTjl5Bu
+0jBFHjzuZ9lk4BqKf8owyoPjIMHj9DrTlF8afFttvzBPhCf2nx9JvMaZCpDyD/V/Q4Q3Y1GLeqVw
+/HpYzY6b7cNGbIRwXdrzAZAj/E4wqX7hJ2Pn7WQ8oLjJM2P+FpD/sLj916jAwJRDC7bVWaaeVtAk
+H3B5r9s5VA1lddkVQZQBr17s9o3x/61k/iCa11zr/qYfCGSji3ZVrR47KGAuhyXoqq8fxmRGILdw
+fzzeSNuWU7c5d+Qa4scWhHaXWy+7GRWF+GmF9ZmnqfI0p6m2pgP8b4Y9VHx2BJtr+UBdADTHLpl1
+neWIA6pN+APSQnbAGwIDAKiLo0UwQzASBgNVHRMBAf8ECDAGAQH/AgEEMA4GA1UdDwEB/wQEAwIB
+BjAdBgNVHQ4EFgQUzPpnk/C2uNClwB7zU/2MU9+D15YwDQYJKoZIhvcNAQELBQADggEBAKt/7hwW
+qZw8UQCgwBEIBaeZ5m8BiFRhbvG5GK1Krf6BQCOUL/t1fC8oS2IkgYIL9WHxHG64YTjrgfpioTta
+YtOUZcTh5m2C+C8lcLIhJsFyUR+MLMOEkMNaj7rP9KdlpeuY0fsFskZ1FSNqb4VjMIDw1Z4fKRzC
+bLBQWV2QWzuoDTDPv31/zvGdg73JRm4gpvlhUbohL3u+pRVjodSVh/GeufOJ8z2FuLjbvrW5Kfna
+NwUASZQDhETnv0Mxz3WLJdH0pmT1kvarBes96aULNmLazAZfNou2XjG4Kvte9nHfRCaexOYNkbQu
+dZWAUWpLMKawYqGT8ZvYzsRjdT9ZR7E=
+-----END CERTIFICATE-----
+
+Staat der Nederlanden Root CA - G2
+==================================
+-----BEGIN CERTIFICATE-----
+MIIFyjCCA7KgAwIBAgIEAJiWjDANBgkqhkiG9w0BAQsFADBaMQswCQYDVQQGEwJOTDEeMBwGA1UE
+CgwVU3RhYXQgZGVyIE5lZGVybGFuZGVuMSswKQYDVQQDDCJTdGFhdCBkZXIgTmVkZXJsYW5kZW4g
+Um9vdCBDQSAtIEcyMB4XDTA4MDMyNjExMTgxN1oXDTIwMDMyNTExMDMxMFowWjELMAkGA1UEBhMC
+TkwxHjAcBgNVBAoMFVN0YWF0IGRlciBOZWRlcmxhbmRlbjErMCkGA1UEAwwiU3RhYXQgZGVyIE5l
+ZGVybGFuZGVuIFJvb3QgQ0EgLSBHMjCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBAMVZ
+5291qj5LnLW4rJ4L5PnZyqtdj7U5EILXr1HgO+EASGrP2uEGQxGZqhQlEq0i6ABtQ8SpuOUfiUtn
+vWFI7/3S4GCI5bkYYCjDdyutsDeqN95kWSpGV+RLufg3fNU254DBtvPUZ5uW6M7XxgpT0GtJlvOj
+CwV3SPcl5XCsMBQgJeN/dVrlSPhOewMHBPqCYYdu8DvEpMfQ9XQ+pV0aCPKbJdL2rAQmPlU6Yiil
+e7Iwr/g3wtG61jj99O9JMDeZJiFIhQGp5Rbn3JBV3w/oOM2ZNyFPXfUib2rFEhZgF1XyZWampzCR
+OME4HYYEhLoaJXhena/MUGDWE4dS7WMfbWV9whUYdMrhfmQpjHLYFhN9C0lK8SgbIHRrxT3dsKpI
+CT0ugpTNGmXZK4iambwYfp/ufWZ8Pr2UuIHOzZgweMFvZ9C+X+Bo7d7iscksWXiSqt8rYGPy5V65
+48r6f1CGPqI0GAwJaCgRHOThuVw+R7oyPxjMW4T182t0xHJ04eOLoEq9jWYv6q012iDTiIJh8BIi
+trzQ1aTsr1SIJSQ8p22xcik/Plemf1WvbibG/ufMQFxRRIEKeN5KzlW/HdXZt1bv8Hb/C3m1r737
+qWmRRpdogBQ2HbN/uymYNqUg+oJgYjOk7Na6B6duxc8UpufWkjTYgfX8HV2qXB72o007uPc5AgMB
+AAGjgZcwgZQwDwYDVR0TAQH/BAUwAwEB/zBSBgNVHSAESzBJMEcGBFUdIAAwPzA9BggrBgEFBQcC
+ARYxaHR0cDovL3d3dy5wa2lvdmVyaGVpZC5ubC9wb2xpY2llcy9yb290LXBvbGljeS1HMjAOBgNV
+HQ8BAf8EBAMCAQYwHQYDVR0OBBYEFJFoMocVHYnitfGsNig0jQt8YojrMA0GCSqGSIb3DQEBCwUA
+A4ICAQCoQUpnKpKBglBu4dfYszk78wIVCVBR7y29JHuIhjv5tLySCZa59sCrI2AGeYwRTlHSeYAz
++51IvuxBQ4EffkdAHOV6CMqqi3WtFMTC6GY8ggen5ieCWxjmD27ZUD6KQhgpxrRW/FYQoAUXvQwj
+f/ST7ZwaUb7dRUG/kSS0H4zpX897IZmflZ85OkYcbPnNe5yQzSipx6lVu6xiNGI1E0sUOlWDuYaN
+kqbG9AclVMwWVxJKgnjIFNkXgiYtXSAfea7+1HAWFpWD2DU5/1JddRwWxRNVz0fMdWVSSt7wsKfk
+CpYL+63C4iWEst3kvX5ZbJvw8NjnyvLplzh+ib7M+zkXYT9y2zqR2GUBGR2tUKRXCnxLvJxxcypF
+URmFzI79R6d0lR2o0a9OF7FpJsKqeFdbxU2n5Z4FF5TKsl+gSRiNNOkmbEgeqmiSBeGCc1qb3Adb
+CG19ndeNIdn8FCCqwkXfP+cAslHkwvgFuXkajDTznlvkN1trSt8sV4pAWja63XVECDdCcAz+3F4h
+oKOKwJCcaNpQ5kUQR3i2TtJlycM33+FCY7BXN0Ute4qcvwXqZVUz9zkQxSgqIXobisQk+T8VyJoV
+IPVVYpbtbZNQvOSqeK3Zywplh6ZmwcSBo3c6WB4L7oOLnR7SUqTMHW+wmG2UMbX4cQrcufx9MmDm
+66+KAQ==
+-----END CERTIFICATE-----
+
+Hongkong Post Root CA 1
+=======================
+-----BEGIN CERTIFICATE-----
+MIIDMDCCAhigAwIBAgICA+gwDQYJKoZIhvcNAQEFBQAwRzELMAkGA1UEBhMCSEsxFjAUBgNVBAoT
+DUhvbmdrb25nIFBvc3QxIDAeBgNVBAMTF0hvbmdrb25nIFBvc3QgUm9vdCBDQSAxMB4XDTAzMDUx
+NTA1MTMxNFoXDTIzMDUxNTA0NTIyOVowRzELMAkGA1UEBhMCSEsxFjAUBgNVBAoTDUhvbmdrb25n
+IFBvc3QxIDAeBgNVBAMTF0hvbmdrb25nIFBvc3QgUm9vdCBDQSAxMIIBIjANBgkqhkiG9w0BAQEF
+AAOCAQ8AMIIBCgKCAQEArP84tulmAknjorThkPlAj3n54r15/gK97iSSHSL22oVyaf7XPwnU3ZG1
+ApzQjVrhVcNQhrkpJsLj2aDxaQMoIIBFIi1WpztUlVYiWR8o3x8gPW2iNr4joLFutbEnPzlTCeqr
+auh0ssJlXI6/fMN4hM2eFvz1Lk8gKgifd/PFHsSaUmYeSF7jEAaPIpjhZY4bXSNmO7ilMlHIhqqh
+qZ5/dpTCpmy3QfDVyAY45tQM4vM7TG1QjMSDJ8EThFk9nnV0ttgCXjqQesBCNnLsak3c78QA3xMY
+V18meMjWCnl3v/evt3a5pQuEF10Q6m/hq5URX208o1xNg1vysxmKgIsLhwIDAQABoyYwJDASBgNV
+HRMBAf8ECDAGAQH/AgEDMA4GA1UdDwEB/wQEAwIBxjANBgkqhkiG9w0BAQUFAAOCAQEADkbVPK7i
+h9legYsCmEEIjEy82tvuJxuC52pF7BaLT4Wg87JwvVqWuspube5Gi27nKi6Wsxkz67SfqLI37pio
+l7Yutmcn1KZJ/RyTZXaeQi/cImyaT/JaFTmxcdcrUehtHJjA2Sr0oYJ71clBoiMBdDhViw+5Lmei
+IAQ32pwL0xch4I+XeTRvhEgCIDMb5jREn5Fw9IBehEPCKdJsEhTkYY2sEJCehFC78JZvRZ+K88ps
+T/oROhUVRsPNH4NbLUES7VBnQRM9IauUiqpOfMGx+6fWtScvl6tu4B3i0RwsH0Ti/L6RoZz71ilT
+c4afU9hDDl3WY4JxHYB0yvbiAmvZWg==
+-----END CERTIFICATE-----
+
+SecureSign RootCA11
+===================
+-----BEGIN CERTIFICATE-----
+MIIDbTCCAlWgAwIBAgIBATANBgkqhkiG9w0BAQUFADBYMQswCQYDVQQGEwJKUDErMCkGA1UEChMi
+SmFwYW4gQ2VydGlmaWNhdGlvbiBTZXJ2aWNlcywgSW5jLjEcMBoGA1UEAxMTU2VjdXJlU2lnbiBS
+b290Q0ExMTAeFw0wOTA0MDgwNDU2NDdaFw0yOTA0MDgwNDU2NDdaMFgxCzAJBgNVBAYTAkpQMSsw
+KQYDVQQKEyJKYXBhbiBDZXJ0aWZpY2F0aW9uIFNlcnZpY2VzLCBJbmMuMRwwGgYDVQQDExNTZWN1
+cmVTaWduIFJvb3RDQTExMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA/XeqpRyQBTvL
+TJszi1oURaTnkBbR31fSIRCkF/3frNYfp+TbfPfs37gD2pRY/V1yfIw/XwFndBWW4wI8h9uuywGO
+wvNmxoVF9ALGOrVisq/6nL+k5tSAMJjzDbaTj6nU2DbysPyKyiyhFTOVMdrAG/LuYpmGYz+/3ZMq
+g6h2uRMft85OQoWPIucuGvKVCbIFtUROd6EgvanyTgp9UK31BQ1FT0Zx/Sg+U/sE2C3XZR1KG/rP
+O7AxmjVuyIsG0wCR8pQIZUyxNAYAeoni8McDWc/V1uinMrPmmECGxc0nEovMe863ETxiYAcjPitA
+bpSACW22s293bzUIUPsCh8U+iQIDAQABo0IwQDAdBgNVHQ4EFgQUW/hNT7KlhtQ60vFjmqC+CfZX
+t94wDgYDVR0PAQH/BAQDAgEGMA8GA1UdEwEB/wQFMAMBAf8wDQYJKoZIhvcNAQEFBQADggEBAKCh
+OBZmLqdWHyGcBvod7bkixTgm2E5P7KN/ed5GIaGHd48HCJqypMWvDzKYC3xmKbabfSVSSUOrTC4r
+bnpwrxYO4wJs+0LmGJ1F2FXI6Dvd5+H0LgscNFxsWEr7jIhQX5Ucv+2rIrVls4W6ng+4reV6G4pQ
+Oh29Dbx7VFALuUKvVaAYga1lme++5Jy/xIWrQbJUb9wlze144o4MjQlJ3WN7WmmWAiGovVJZ6X01
+y8hSyn+B/tlr0/cR7SXf+Of5pPpyl4RTDaXQMhhRdlkUbA/r7F+AjHVDg8OFmP9Mni0N5HeDk061
+lgeLKBObjBmNQSdJQO7e5iNEOdyhIta6A/I=
+-----END CERTIFICATE-----
+
+ACEDICOM Root
+=============
+-----BEGIN CERTIFICATE-----
+MIIFtTCCA52gAwIBAgIIYY3HhjsBggUwDQYJKoZIhvcNAQEFBQAwRDEWMBQGA1UEAwwNQUNFRElD
+T00gUm9vdDEMMAoGA1UECwwDUEtJMQ8wDQYDVQQKDAZFRElDT00xCzAJBgNVBAYTAkVTMB4XDTA4
+MDQxODE2MjQyMloXDTI4MDQxMzE2MjQyMlowRDEWMBQGA1UEAwwNQUNFRElDT00gUm9vdDEMMAoG
+A1UECwwDUEtJMQ8wDQYDVQQKDAZFRElDT00xCzAJBgNVBAYTAkVTMIICIjANBgkqhkiG9w0BAQEF
+AAOCAg8AMIICCgKCAgEA/5KV4WgGdrQsyFhIyv2AVClVYyT/kGWbEHV7w2rbYgIB8hiGtXxaOLHk
+WLn709gtn70yN78sFW2+tfQh0hOR2QetAQXW8713zl9CgQr5auODAKgrLlUTY4HKRxx7XBZXehuD
+YAQ6PmXDzQHe3qTWDLqO3tkE7hdWIpuPY/1NFgu3e3eM+SW10W2ZEi5PGrjm6gSSrj0RuVFCPYew
+MYWveVqc/udOXpJPQ/yrOq2lEiZmueIM15jO1FillUAKt0SdE3QrwqXrIhWYENiLxQSfHY9g5QYb
+m8+5eaA9oiM/Qj9r+hwDezCNzmzAv+YbX79nuIQZ1RXve8uQNjFiybwCq0Zfm/4aaJQ0PZCOrfbk
+HQl/Sog4P75n/TSW9R28MHTLOO7VbKvU/PQAtwBbhTIWdjPp2KOZnQUAqhbm84F9b32qhm2tFXTT
+xKJxqvQUfecyuB+81fFOvW8XAjnXDpVCOscAPukmYxHqC9FK/xidstd7LzrZlvvoHpKuE1XI2Sf2
+3EgbsCTBheN3nZqk8wwRHQ3ItBTutYJXCb8gWH8vIiPYcMt5bMlL8qkqyPyHK9caUPgn6C9D4zq9
+2Fdx/c6mUlv53U3t5fZvie27k5x2IXXwkkwp9y+cAS7+UEaeZAwUswdbxcJzbPEHXEUkFDWug/Fq
+TYl6+rPYLWbwNof1K1MCAwEAAaOBqjCBpzAPBgNVHRMBAf8EBTADAQH/MB8GA1UdIwQYMBaAFKaz
+4SsrSbbXc6GqlPUB53NlTKxQMA4GA1UdDwEB/wQEAwIBhjAdBgNVHQ4EFgQUprPhKytJttdzoaqU
+9QHnc2VMrFAwRAYDVR0gBD0wOzA5BgRVHSAAMDEwLwYIKwYBBQUHAgEWI2h0dHA6Ly9hY2VkaWNv
+bS5lZGljb21ncm91cC5jb20vZG9jMA0GCSqGSIb3DQEBBQUAA4ICAQDOLAtSUWImfQwng4/F9tqg
+aHtPkl7qpHMyEVNEskTLnewPeUKzEKbHDZ3Ltvo/Onzqv4hTGzz3gvoFNTPhNahXwOf9jU8/kzJP
+eGYDdwdY6ZXIfj7QeQCM8htRM5u8lOk6e25SLTKeI6RF+7YuE7CLGLHdztUdp0J/Vb77W7tH1Pwk
+zQSulgUV1qzOMPPKC8W64iLgpq0i5ALudBF/TP94HTXa5gI06xgSYXcGCRZj6hitoocf8seACQl1
+ThCojz2GuHURwCRiipZ7SkXp7FnFvmuD5uHorLUwHv4FB4D54SMNUI8FmP8sX+g7tq3PgbUhh8oI
+KiMnMCArz+2UW6yyetLHKKGKC5tNSixthT8Jcjxn4tncB7rrZXtaAWPWkFtPF2Y9fwsZo5NjEFIq
+nxQWWOLcpfShFosOkYuByptZ+thrkQdlVV9SH686+5DdaaVbnG0OLLb6zqylfDJKZ0DcMDQj3dcE
+I2bw/FWAp/tmGYI1Z2JwOV5vx+qQQEQIHriy1tvuWacNGHk0vFQYXlPKNFHtRQrmjseCNj6nOGOp
+MCwXEGCSn1WHElkQwg9naRHMTh5+Spqtr0CodaxWkHS4oJyleW/c6RrIaQXpuvoDs3zk4E7Czp3o
+tkYNbn5XOmeUwssfnHdKZ05phkOTOPu220+DkdRgfks+KzgHVZhepA==
+-----END CERTIFICATE-----
+
+Microsec e-Szigno Root CA 2009
+==============================
+-----BEGIN CERTIFICATE-----
+MIIECjCCAvKgAwIBAgIJAMJ+QwRORz8ZMA0GCSqGSIb3DQEBCwUAMIGCMQswCQYDVQQGEwJIVTER
+MA8GA1UEBwwIQnVkYXBlc3QxFjAUBgNVBAoMDU1pY3Jvc2VjIEx0ZC4xJzAlBgNVBAMMHk1pY3Jv
+c2VjIGUtU3ppZ25vIFJvb3QgQ0EgMjAwOTEfMB0GCSqGSIb3DQEJARYQaW5mb0BlLXN6aWduby5o
+dTAeFw0wOTA2MTYxMTMwMThaFw0yOTEyMzAxMTMwMThaMIGCMQswCQYDVQQGEwJIVTERMA8GA1UE
+BwwIQnVkYXBlc3QxFjAUBgNVBAoMDU1pY3Jvc2VjIEx0ZC4xJzAlBgNVBAMMHk1pY3Jvc2VjIGUt
+U3ppZ25vIFJvb3QgQ0EgMjAwOTEfMB0GCSqGSIb3DQEJARYQaW5mb0BlLXN6aWduby5odTCCASIw
+DQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOn4j/NjrdqG2KfgQvvPkd6mJviZpWNwrZuuyjNA
+fW2WbqEORO7hE52UQlKavXWFdCyoDh2Tthi3jCyoz/tccbna7P7ofo/kLx2yqHWH2Leh5TvPmUpG
+0IMZfcChEhyVbUr02MelTTMuhTlAdX4UfIASmFDHQWe4oIBhVKZsTh/gnQ4H6cm6M+f+wFUoLAKA
+pxn1ntxVUwOXewdI/5n7N4okxFnMUBBjjqqpGrCEGob5X7uxUG6k0QrM1XF+H6cbfPVTbiJfyyvm
+1HxdrtbCxkzlBQHZ7Vf8wSN5/PrIJIOV87VqUQHQd9bpEqH5GoP7ghu5sJf0dgYzQ0mg/wu1+rUC
+AwEAAaOBgDB+MA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgEGMB0GA1UdDgQWBBTLD8bf
+QkPMPcu1SCOhGnqmKrs0aDAfBgNVHSMEGDAWgBTLD8bfQkPMPcu1SCOhGnqmKrs0aDAbBgNVHREE
+FDASgRBpbmZvQGUtc3ppZ25vLmh1MA0GCSqGSIb3DQEBCwUAA4IBAQDJ0Q5eLtXMs3w+y/w9/w0o
+lZMEyL/azXm4Q5DwpL7v8u8hmLzU1F0G9u5C7DBsoKqpyvGvivo/C3NqPuouQH4frlRheesuCDfX
+I/OMn74dseGkddug4lQUsbocKaQY9hK6ohQU4zE1yED/t+AFdlfBHFny+L/k7SViXITwfn4fs775
+tyERzAMBVnCnEJIeGzSBHq2cGsMEPO0CYdYeBvNfOofyK/FFh+U9rNHHV4S9a67c2Pm2G2JwCz02
+yULyMtd6YebS2z3PyKnJm9zbWETXbzivf3jTo60adbocwTZ8jx5tHMN1Rq41Bab2XD0h7lbwyYIi
+LXpUq3DDfSJlgnCW
+-----END CERTIFICATE-----
+
+GlobalSign Root CA - R3
+=======================
+-----BEGIN CERTIFICATE-----
+MIIDXzCCAkegAwIBAgILBAAAAAABIVhTCKIwDQYJKoZIhvcNAQELBQAwTDEgMB4GA1UECxMXR2xv
+YmFsU2lnbiBSb290IENBIC0gUjMxEzARBgNVBAoTCkdsb2JhbFNpZ24xEzARBgNVBAMTCkdsb2Jh
+bFNpZ24wHhcNMDkwMzE4MTAwMDAwWhcNMjkwMzE4MTAwMDAwWjBMMSAwHgYDVQQLExdHbG9iYWxT
+aWduIFJvb3QgQ0EgLSBSMzETMBEGA1UEChMKR2xvYmFsU2lnbjETMBEGA1UEAxMKR2xvYmFsU2ln
+bjCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAMwldpB5BngiFvXAg7aEyiie/QV2EcWt
+iHL8RgJDx7KKnQRfJMsuS+FggkbhUqsMgUdwbN1k0ev1LKMPgj0MK66X17YUhhB5uzsTgHeMCOFJ
+0mpiLx9e+pZo34knlTifBtc+ycsmWQ1z3rDI6SYOgxXG71uL0gRgykmmKPZpO/bLyCiR5Z2KYVc3
+rHQU3HTgOu5yLy6c+9C7v/U9AOEGM+iCK65TpjoWc4zdQQ4gOsC0p6Hpsk+QLjJg6VfLuQSSaGjl
+OCZgdbKfd/+RFO+uIEn8rUAVSNECMWEZXriX7613t2Saer9fwRPvm2L7DWzgVGkWqQPabumDk3F2
+xmmFghcCAwEAAaNCMEAwDgYDVR0PAQH/BAQDAgEGMA8GA1UdEwEB/wQFMAMBAf8wHQYDVR0OBBYE
+FI/wS3+oLkUkrk1Q+mOai97i3Ru8MA0GCSqGSIb3DQEBCwUAA4IBAQBLQNvAUKr+yAzv95ZURUm7
+lgAJQayzE4aGKAczymvmdLm6AC2upArT9fHxD4q/c2dKg8dEe3jgr25sbwMpjjM5RcOO5LlXbKr8
+EpbsU8Yt5CRsuZRj+9xTaGdWPoO4zzUhw8lo/s7awlOqzJCK6fBdRoyV3XpYKBovHd7NADdBj+1E
+bddTKJd+82cEHhXXipa0095MJ6RMG3NzdvQXmcIfeg7jLQitChws/zyrVQ4PkX4268NXSb7hLi18
+YIvDQVETI53O9zJrlAGomecsMx86OyXShkDOOyyGeMlhLxS67ttVb9+E7gUJTb0o2HLO02JQZR7r
+kpeDMdmztcpHWD9f
+-----END CERTIFICATE-----
+
+Autoridad de Certificacion Firmaprofesional CIF A62634068
+=========================================================
+-----BEGIN CERTIFICATE-----
+MIIGFDCCA/ygAwIBAgIIU+w77vuySF8wDQYJKoZIhvcNAQEFBQAwUTELMAkGA1UEBhMCRVMxQjBA
+BgNVBAMMOUF1dG9yaWRhZCBkZSBDZXJ0aWZpY2FjaW9uIEZpcm1hcHJvZmVzaW9uYWwgQ0lGIEE2
+MjYzNDA2ODAeFw0wOTA1MjAwODM4MTVaFw0zMDEyMzEwODM4MTVaMFExCzAJBgNVBAYTAkVTMUIw
+QAYDVQQDDDlBdXRvcmlkYWQgZGUgQ2VydGlmaWNhY2lvbiBGaXJtYXByb2Zlc2lvbmFsIENJRiBB
+NjI2MzQwNjgwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQDKlmuO6vj78aI14H9M2uDD
+Utd9thDIAl6zQyrET2qyyhxdKJp4ERppWVevtSBC5IsP5t9bpgOSL/UR5GLXMnE42QQMcas9UX4P
+B99jBVzpv5RvwSmCwLTaUbDBPLutN0pcyvFLNg4kq7/DhHf9qFD0sefGL9ItWY16Ck6WaVICqjaY
+7Pz6FIMMNx/Jkjd/14Et5cS54D40/mf0PmbR0/RAz15iNA9wBj4gGFrO93IbJWyTdBSTo3OxDqqH
+ECNZXyAFGUftaI6SEspd/NYrspI8IM/hX68gvqB2f3bl7BqGYTM+53u0P6APjqK5am+5hyZvQWyI
+plD9amML9ZMWGxmPsu2bm8mQ9QEM3xk9Dz44I8kvjwzRAv4bVdZO0I08r0+k8/6vKtMFnXkIoctX
+MbScyJCyZ/QYFpM6/EfY0XiWMR+6KwxfXZmtY4laJCB22N/9q06mIqqdXuYnin1oKaPnirjaEbsX
+LZmdEyRG98Xi2J+Of8ePdG1asuhy9azuJBCtLxTa/y2aRnFHvkLfuwHb9H/TKI8xWVvTyQKmtFLK
+bpf7Q8UIJm+K9Lv9nyiqDdVF8xM6HdjAeI9BZzwelGSuewvF6NkBiDkal4ZkQdU7hwxu+g/GvUgU
+vzlN1J5Bto+WHWOWk9mVBngxaJ43BjuAiUVhOSPHG0SjFeUc+JIwuwIDAQABo4HvMIHsMBIGA1Ud
+EwEB/wQIMAYBAf8CAQEwDgYDVR0PAQH/BAQDAgEGMB0GA1UdDgQWBBRlzeurNR4APn7VdMActHNH
+DhpkLzCBpgYDVR0gBIGeMIGbMIGYBgRVHSAAMIGPMC8GCCsGAQUFBwIBFiNodHRwOi8vd3d3LmZp
+cm1hcHJvZmVzaW9uYWwuY29tL2NwczBcBggrBgEFBQcCAjBQHk4AUABhAHMAZQBvACAAZABlACAA
+bABhACAAQgBvAG4AYQBuAG8AdgBhACAANAA3ACAAQgBhAHIAYwBlAGwAbwBuAGEAIAAwADgAMAAx
+ADcwDQYJKoZIhvcNAQEFBQADggIBABd9oPm03cXF661LJLWhAqvdpYhKsg9VSytXjDvlMd3+xDLx
+51tkljYyGOylMnfX40S2wBEqgLk9am58m9Ot/MPWo+ZkKXzR4Tgegiv/J2Wv+xYVxC5xhOW1//qk
+R71kMrv2JYSiJ0L1ILDCExARzRAVukKQKtJE4ZYm6zFIEv0q2skGz3QeqUvVhyj5eTSSPi5E6PaP
+T481PyWzOdxjKpBrIF/EUhJOlywqrJ2X3kjyo2bbwtKDlaZmp54lD+kLM5FlClrD2VQS3a/DTg4f
+Jl4N3LON7NWBcN7STyQF82xO9UxJZo3R/9ILJUFI/lGExkKvgATP0H5kSeTy36LssUzAKh3ntLFl
+osS88Zj0qnAHY7S42jtM+kAiMFsRpvAFDsYCA0irhpuF3dvd6qJ2gHN99ZwExEWN57kci57q13XR
+crHedUTnQn3iV2t93Jm8PYMo6oCTjcVMZcFwgbg4/EMxsvYDNEeyrPsiBsse3RdHHF9mudMaotoR
+saS8I8nkvof/uZS2+F0gStRf571oe2XyFR7SOqkt6dhrJKyXWERHrVkY8SFlcN7ONGCoQPHzPKTD
+KCOM/iczQ0CgFzzr6juwcqajuUpLXhZI9LK8yIySxZ2frHI2vDSANGupi5LAuBft7HZT9SQBjLMi
+6Et8Vcad+qMUu2WFbm5PEn4KPJ2V
+-----END CERTIFICATE-----
+
+Izenpe.com
+==========
+-----BEGIN CERTIFICATE-----
+MIIF8TCCA9mgAwIBAgIQALC3WhZIX7/hy/WL1xnmfTANBgkqhkiG9w0BAQsFADA4MQswCQYDVQQG
+EwJFUzEUMBIGA1UECgwLSVpFTlBFIFMuQS4xEzARBgNVBAMMCkl6ZW5wZS5jb20wHhcNMDcxMjEz
+MTMwODI4WhcNMzcxMjEzMDgyNzI1WjA4MQswCQYDVQQGEwJFUzEUMBIGA1UECgwLSVpFTlBFIFMu
+QS4xEzARBgNVBAMMCkl6ZW5wZS5jb20wggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQDJ
+03rKDx6sp4boFmVqscIbRTJxldn+EFvMr+eleQGPicPK8lVx93e+d5TzcqQsRNiekpsUOqHnJJAK
+ClaOxdgmlOHZSOEtPtoKct2jmRXagaKH9HtuJneJWK3W6wyyQXpzbm3benhB6QiIEn6HLmYRY2xU
++zydcsC8Lv/Ct90NduM61/e0aL6i9eOBbsFGb12N4E3GVFWJGjMxCrFXuaOKmMPsOzTFlUFpfnXC
+PCDFYbpRR6AgkJOhkEvzTnyFRVSa0QUmQbC1TR0zvsQDyCV8wXDbO/QJLVQnSKwv4cSsPsjLkkxT
+OTcj7NMB+eAJRE1NZMDhDVqHIrytG6P+JrUV86f8hBnp7KGItERphIPzidF0BqnMC9bC3ieFUCbK
+F7jJeodWLBoBHmy+E60QrLUk9TiRodZL2vG70t5HtfG8gfZZa88ZU+mNFctKy6lvROUbQc/hhqfK
+0GqfvEyNBjNaooXlkDWgYlwWTvDjovoDGrQscbNYLN57C9saD+veIR8GdwYDsMnvmfzAuU8Lhij+
+0rnq49qlw0dpEuDb8PYZi+17cNcC1u2HGCgsBCRMd+RIihrGO5rUD8r6ddIBQFqNeb+Lz0vPqhbB
+leStTIo+F5HUsWLlguWABKQDfo2/2n+iD5dPDNMN+9fR5XJ+HMh3/1uaD7euBUbl8agW7EekFwID
+AQABo4H2MIHzMIGwBgNVHREEgagwgaWBD2luZm9AaXplbnBlLmNvbaSBkTCBjjFHMEUGA1UECgw+
+SVpFTlBFIFMuQS4gLSBDSUYgQTAxMzM3MjYwLVJNZXJjLlZpdG9yaWEtR2FzdGVpeiBUMTA1NSBG
+NjIgUzgxQzBBBgNVBAkMOkF2ZGEgZGVsIE1lZGl0ZXJyYW5lbyBFdG9yYmlkZWEgMTQgLSAwMTAx
+MCBWaXRvcmlhLUdhc3RlaXowDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMCAQYwHQYDVR0O
+BBYEFB0cZQ6o8iV7tJHP5LGx5r1VdGwFMA0GCSqGSIb3DQEBCwUAA4ICAQB4pgwWSp9MiDrAyw6l
+Fn2fuUhfGI8NYjb2zRlrrKvV9pF9rnHzP7MOeIWblaQnIUdCSnxIOvVFfLMMjlF4rJUT3sb9fbga
+kEyrkgPH7UIBzg/YsfqikuFgba56awmqxinuaElnMIAkejEWOVt+8Rwu3WwJrfIxwYJOubv5vr8q
+hT/AQKM6WfxZSzwoJNu0FXWuDYi6LnPAvViH5ULy617uHjAimcs30cQhbIHsvm0m5hzkQiCeR7Cs
+g1lwLDXWrzY0tM07+DKo7+N4ifuNRSzanLh+QBxh5z6ikixL8s36mLYp//Pye6kfLqCTVyvehQP5
+aTfLnnhqBbTFMXiJ7HqnheG5ezzevh55hM6fcA5ZwjUukCox2eRFekGkLhObNA5me0mrZJfQRsN5
+nXJQY6aYWwa9SG3YOYNw6DXwBdGqvOPbyALqfP2C2sJbUjWumDqtujWTI6cfSN01RpiyEGjkpTHC
+ClguGYEQyVB1/OpaFs4R1+7vUIgtYf8/QnMFlEPVjjxOAToZpR9GTnfQXeWBIiGH/pR9hNiTrdZo
+Q0iy2+tzJOeRf1SktoA+naM8THLCV8Sg1Mw4J87VBp6iSNnpn86CcDaTmjvfliHjWbcM2pE38P1Z
+WrOZyGlsQyYBNWNgVYkDOnXYukrZVP/u3oDYLdE41V4tC5h9Pmzb/CaIxw==
+-----END CERTIFICATE-----
+
+Chambers of Commerce Root - 2008
+================================
+-----BEGIN CERTIFICATE-----
+MIIHTzCCBTegAwIBAgIJAKPaQn6ksa7aMA0GCSqGSIb3DQEBBQUAMIGuMQswCQYDVQQGEwJFVTFD
+MEEGA1UEBxM6TWFkcmlkIChzZWUgY3VycmVudCBhZGRyZXNzIGF0IHd3dy5jYW1lcmZpcm1hLmNv
+bS9hZGRyZXNzKTESMBAGA1UEBRMJQTgyNzQzMjg3MRswGQYDVQQKExJBQyBDYW1lcmZpcm1hIFMu
+QS4xKTAnBgNVBAMTIENoYW1iZXJzIG9mIENvbW1lcmNlIFJvb3QgLSAyMDA4MB4XDTA4MDgwMTEy
+Mjk1MFoXDTM4MDczMTEyMjk1MFowga4xCzAJBgNVBAYTAkVVMUMwQQYDVQQHEzpNYWRyaWQgKHNl
+ZSBjdXJyZW50IGFkZHJlc3MgYXQgd3d3LmNhbWVyZmlybWEuY29tL2FkZHJlc3MpMRIwEAYDVQQF
+EwlBODI3NDMyODcxGzAZBgNVBAoTEkFDIENhbWVyZmlybWEgUy5BLjEpMCcGA1UEAxMgQ2hhbWJl
+cnMgb2YgQ29tbWVyY2UgUm9vdCAtIDIwMDgwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoIC
+AQCvAMtwNyuAWko6bHiUfaN/Gh/2NdW928sNRHI+JrKQUrpjOyhYb6WzbZSm891kDFX29ufyIiKA
+XuFixrYp4YFs8r/lfTJqVKAyGVn+H4vXPWCGhSRv4xGzdz4gljUha7MI2XAuZPeEklPWDrCQiorj
+h40G072QDuKZoRuGDtqaCrsLYVAGUvGef3bsyw/QHg3PmTA9HMRFEFis1tPo1+XqxQEHd9ZR5gN/
+ikilTWh1uem8nk4ZcfUyS5xtYBkL+8ydddy/Js2Pk3g5eXNeJQ7KXOt3EgfLZEFHcpOrUMPrCXZk
+NNI5t3YRCQ12RcSprj1qr7V9ZS+UWBDsXHyvfuK2GNnQm05aSd+pZgvMPMZ4fKecHePOjlO+Bd5g
+D2vlGts/4+EhySnB8esHnFIbAURRPHsl18TlUlRdJQfKFiC4reRB7noI/plvg6aRArBsNlVq5331
+lubKgdaX8ZSD6e2wsWsSaR6s+12pxZjptFtYer49okQ6Y1nUCyXeG0+95QGezdIp1Z8XGQpvvwyQ
+0wlf2eOKNcx5Wk0ZN5K3xMGtr/R5JJqyAQuxr1yW84Ay+1w9mPGgP0revq+ULtlVmhduYJ1jbLhj
+ya6BXBg14JC7vjxPNyK5fuvPnnchpj04gftI2jE9K+OJ9dC1vX7gUMQSibMjmhAxhduub+84Mxh2
+EQIDAQABo4IBbDCCAWgwEgYDVR0TAQH/BAgwBgEB/wIBDDAdBgNVHQ4EFgQU+SSsD7K1+HnA+mCI
+G8TZTQKeFxkwgeMGA1UdIwSB2zCB2IAU+SSsD7K1+HnA+mCIG8TZTQKeFxmhgbSkgbEwga4xCzAJ
+BgNVBAYTAkVVMUMwQQYDVQQHEzpNYWRyaWQgKHNlZSBjdXJyZW50IGFkZHJlc3MgYXQgd3d3LmNh
+bWVyZmlybWEuY29tL2FkZHJlc3MpMRIwEAYDVQQFEwlBODI3NDMyODcxGzAZBgNVBAoTEkFDIENh
+bWVyZmlybWEgUy5BLjEpMCcGA1UEAxMgQ2hhbWJlcnMgb2YgQ29tbWVyY2UgUm9vdCAtIDIwMDiC
+CQCj2kJ+pLGu2jAOBgNVHQ8BAf8EBAMCAQYwPQYDVR0gBDYwNDAyBgRVHSAAMCowKAYIKwYBBQUH
+AgEWHGh0dHA6Ly9wb2xpY3kuY2FtZXJmaXJtYS5jb20wDQYJKoZIhvcNAQEFBQADggIBAJASryI1
+wqM58C7e6bXpeHxIvj99RZJe6dqxGfwWPJ+0W2aeaufDuV2I6A+tzyMP3iU6XsxPpcG1Lawk0lgH
+3qLPaYRgM+gQDROpI9CF5Y57pp49chNyM/WqfcZjHwj0/gF/JM8rLFQJ3uIrbZLGOU8W6jx+ekbU
+RWpGqOt1glanq6B8aBMz9p0w8G8nOSQjKpD9kCk18pPfNKXG9/jvjA9iSnyu0/VU+I22mlaHFoI6
+M6taIgj3grrqLuBHmrS1RaMFO9ncLkVAO+rcf+g769HsJtg1pDDFOqxXnrN2pSB7+R5KBWIBpih1
+YJeSDW4+TTdDDZIVnBgizVGZoCkaPF+KMjNbMMeJL0eYD6MDxvbxrN8y8NmBGuScvfaAFPDRLLmF
+9dijscilIeUcE5fuDr3fKanvNFNb0+RqE4QGtjICxFKuItLcsiFCGtpA8CnJ7AoMXOLQusxI0zcK
+zBIKinmwPQN/aUv0NCB9szTqjktk9T79syNnFQ0EuPAtwQlRPLJsFfClI9eDdOTlLsn+mCdCxqvG
+nrDQWzilm1DefhiYtUU79nm06PcaewaD+9CL2rvHvRirCG88gGtAPxkZumWK5r7VXNM21+9AUiRg
+OGcEMeyP84LG3rlV8zsxkVrctQgVrXYlCg17LofiDKYGvCYQbTed7N14jHyAxfDZd0jQ
+-----END CERTIFICATE-----
+
+Global Chambersign Root - 2008
+==============================
+-----BEGIN CERTIFICATE-----
+MIIHSTCCBTGgAwIBAgIJAMnN0+nVfSPOMA0GCSqGSIb3DQEBBQUAMIGsMQswCQYDVQQGEwJFVTFD
+MEEGA1UEBxM6TWFkcmlkIChzZWUgY3VycmVudCBhZGRyZXNzIGF0IHd3dy5jYW1lcmZpcm1hLmNv
+bS9hZGRyZXNzKTESMBAGA1UEBRMJQTgyNzQzMjg3MRswGQYDVQQKExJBQyBDYW1lcmZpcm1hIFMu
+QS4xJzAlBgNVBAMTHkdsb2JhbCBDaGFtYmVyc2lnbiBSb290IC0gMjAwODAeFw0wODA4MDExMjMx
+NDBaFw0zODA3MzExMjMxNDBaMIGsMQswCQYDVQQGEwJFVTFDMEEGA1UEBxM6TWFkcmlkIChzZWUg
+Y3VycmVudCBhZGRyZXNzIGF0IHd3dy5jYW1lcmZpcm1hLmNvbS9hZGRyZXNzKTESMBAGA1UEBRMJ
+QTgyNzQzMjg3MRswGQYDVQQKExJBQyBDYW1lcmZpcm1hIFMuQS4xJzAlBgNVBAMTHkdsb2JhbCBD
+aGFtYmVyc2lnbiBSb290IC0gMjAwODCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBAMDf
+VtPkOpt2RbQT2//BthmLN0EYlVJH6xedKYiONWwGMi5HYvNJBL99RDaxccy9Wglz1dmFRP+RVyXf
+XjaOcNFccUMd2drvXNL7G706tcuto8xEpw2uIRU/uXpbknXYpBI4iRmKt4DS4jJvVpyR1ogQC7N0
+ZJJ0YPP2zxhPYLIj0Mc7zmFLmY/CDNBAspjcDahOo7kKrmCgrUVSY7pmvWjg+b4aqIG7HkF4ddPB
+/gBVsIdU6CeQNR1MM62X/JcumIS/LMmjv9GYERTtY/jKmIhYF5ntRQOXfjyGHoiMvvKRhI9lNNgA
+TH23MRdaKXoKGCQwoze1eqkBfSbW+Q6OWfH9GzO1KTsXO0G2Id3UwD2ln58fQ1DJu7xsepeY7s2M
+H/ucUa6LcL0nn3HAa6x9kGbo1106DbDVwo3VyJ2dwW3Q0L9R5OP4wzg2rtandeavhENdk5IMagfe
+Ox2YItaswTXbo6Al/3K1dh3ebeksZixShNBFks4c5eUzHdwHU1SjqoI7mjcv3N2gZOnm3b2u/GSF
+HTynyQbehP9r6GsaPMWis0L7iwk+XwhSx2LE1AVxv8Rk5Pihg+g+EpuoHtQ2TS9x9o0o9oOpE9Jh
+wZG7SMA0j0GMS0zbaRL/UJScIINZc+18ofLx/d33SdNDWKBWY8o9PeU1VlnpDsogzCtLkykPAgMB
+AAGjggFqMIIBZjASBgNVHRMBAf8ECDAGAQH/AgEMMB0GA1UdDgQWBBS5CcqcHtvTbDprru1U8VuT
+BjUuXjCB4QYDVR0jBIHZMIHWgBS5CcqcHtvTbDprru1U8VuTBjUuXqGBsqSBrzCBrDELMAkGA1UE
+BhMCRVUxQzBBBgNVBAcTOk1hZHJpZCAoc2VlIGN1cnJlbnQgYWRkcmVzcyBhdCB3d3cuY2FtZXJm
+aXJtYS5jb20vYWRkcmVzcykxEjAQBgNVBAUTCUE4Mjc0MzI4NzEbMBkGA1UEChMSQUMgQ2FtZXJm
+aXJtYSBTLkEuMScwJQYDVQQDEx5HbG9iYWwgQ2hhbWJlcnNpZ24gUm9vdCAtIDIwMDiCCQDJzdPp
+1X0jzjAOBgNVHQ8BAf8EBAMCAQYwPQYDVR0gBDYwNDAyBgRVHSAAMCowKAYIKwYBBQUHAgEWHGh0
+dHA6Ly9wb2xpY3kuY2FtZXJmaXJtYS5jb20wDQYJKoZIhvcNAQEFBQADggIBAICIf3DekijZBZRG
+/5BXqfEv3xoNa/p8DhxJJHkn2EaqbylZUohwEurdPfWbU1Rv4WCiqAm57OtZfMY18dwY6fFn5a+6
+ReAJ3spED8IXDneRRXozX1+WLGiLwUePmJs9wOzL9dWCkoQ10b42OFZyMVtHLaoXpGNR6woBrX/s
+dZ7LoR/xfxKxueRkf2fWIyr0uDldmOghp+G9PUIadJpwr2hsUF1Jz//7Dl3mLEfXgTpZALVza2Mg
+9jFFCDkO9HB+QHBaP9BrQql0PSgvAm11cpUJjUhjxsYjV5KTXjXBjfkK9yydYhz2rXzdpjEetrHH
+foUm+qRqtdpjMNHvkzeyZi99Bffnt0uYlDXA2TopwZ2yUDMdSqlapskD7+3056huirRXhOukP9Du
+qqqHW2Pok+JrqNS4cnhrG+055F3Lm6qH1U9OAP7Zap88MQ8oAgF9mOinsKJknnn4SPIVqczmyETr
+P3iZ8ntxPjzxmKfFGBI/5rsoM0LpRQp8bfKGeS/Fghl9CYl8slR2iK7ewfPM4W7bMdaTrpmg7yVq
+c5iJWzouE4gev8CSlDQb4ye3ix5vQv/n6TebUB0tovkC7stYWDpxvGjjqsGvHCgfotwjZT+B6q6Z
+09gwzxMNTxXJhLynSC34MCN32EZLeW32jO06f2ARePTpm67VVMB0gNELQp/B
+-----END CERTIFICATE-----
+
+Go Daddy Root Certificate Authority - G2
+========================================
+-----BEGIN CERTIFICATE-----
+MIIDxTCCAq2gAwIBAgIBADANBgkqhkiG9w0BAQsFADCBgzELMAkGA1UEBhMCVVMxEDAOBgNVBAgT
+B0FyaXpvbmExEzARBgNVBAcTClNjb3R0c2RhbGUxGjAYBgNVBAoTEUdvRGFkZHkuY29tLCBJbmMu
+MTEwLwYDVQQDEyhHbyBEYWRkeSBSb290IENlcnRpZmljYXRlIEF1dGhvcml0eSAtIEcyMB4XDTA5
+MDkwMTAwMDAwMFoXDTM3MTIzMTIzNTk1OVowgYMxCzAJBgNVBAYTAlVTMRAwDgYDVQQIEwdBcml6
+b25hMRMwEQYDVQQHEwpTY290dHNkYWxlMRowGAYDVQQKExFHb0RhZGR5LmNvbSwgSW5jLjExMC8G
+A1UEAxMoR28gRGFkZHkgUm9vdCBDZXJ0aWZpY2F0ZSBBdXRob3JpdHkgLSBHMjCCASIwDQYJKoZI
+hvcNAQEBBQADggEPADCCAQoCggEBAL9xYgjx+lk09xvJGKP3gElY6SKDE6bFIEMBO4Tx5oVJnyfq
+9oQbTqC023CYxzIBsQU+B07u9PpPL1kwIuerGVZr4oAH/PMWdYA5UXvl+TW2dE6pjYIT5LY/qQOD
++qK+ihVqf94Lw7YZFAXK6sOoBJQ7RnwyDfMAZiLIjWltNowRGLfTshxgtDj6AozO091GB94KPutd
+fMh8+7ArU6SSYmlRJQVhGkSBjCypQ5Yj36w6gZoOKcUcqeldHraenjAKOc7xiID7S13MMuyFYkMl
+NAJWJwGRtDtwKj9useiciAF9n9T521NtYJ2/LOdYq7hfRvzOxBsDPAnrSTFcaUaz4EcCAwEAAaNC
+MEAwDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMCAQYwHQYDVR0OBBYEFDqahQcQZyi27/a9
+BUFuIMGU2g/eMA0GCSqGSIb3DQEBCwUAA4IBAQCZ21151fmXWWcDYfF+OwYxdS2hII5PZYe096ac
+vNjpL9DbWu7PdIxztDhC2gV7+AJ1uP2lsdeu9tfeE8tTEH6KRtGX+rcuKxGrkLAngPnon1rpN5+r
+5N9ss4UXnT3ZJE95kTXWXwTrgIOrmgIttRD02JDHBHNA7XIloKmf7J6raBKZV8aPEjoJpL1E/QYV
+N8Gb5DKj7Tjo2GTzLH4U/ALqn83/B2gX2yKQOC16jdFU8WnjXzPKej17CuPKf1855eJ1usV2GDPO
+LPAvTK33sefOT6jEm0pUBsV/fdUID+Ic/n4XuKxe9tQWskMJDE32p2u0mYRlynqI4uJEvlz36hz1
+-----END CERTIFICATE-----
+
+Starfield Root Certificate Authority - G2
+=========================================
+-----BEGIN CERTIFICATE-----
+MIID3TCCAsWgAwIBAgIBADANBgkqhkiG9w0BAQsFADCBjzELMAkGA1UEBhMCVVMxEDAOBgNVBAgT
+B0FyaXpvbmExEzARBgNVBAcTClNjb3R0c2RhbGUxJTAjBgNVBAoTHFN0YXJmaWVsZCBUZWNobm9s
+b2dpZXMsIEluYy4xMjAwBgNVBAMTKVN0YXJmaWVsZCBSb290IENlcnRpZmljYXRlIEF1dGhvcml0
+eSAtIEcyMB4XDTA5MDkwMTAwMDAwMFoXDTM3MTIzMTIzNTk1OVowgY8xCzAJBgNVBAYTAlVTMRAw
+DgYDVQQIEwdBcml6b25hMRMwEQYDVQQHEwpTY290dHNkYWxlMSUwIwYDVQQKExxTdGFyZmllbGQg
+VGVjaG5vbG9naWVzLCBJbmMuMTIwMAYDVQQDEylTdGFyZmllbGQgUm9vdCBDZXJ0aWZpY2F0ZSBB
+dXRob3JpdHkgLSBHMjCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAL3twQP89o/8ArFv
+W59I2Z154qK3A2FWGMNHttfKPTUuiUP3oWmb3ooa/RMgnLRJdzIpVv257IzdIvpy3Cdhl+72WoTs
+bhm5iSzchFvVdPtrX8WJpRBSiUZV9Lh1HOZ/5FSuS/hVclcCGfgXcVnrHigHdMWdSL5stPSksPNk
+N3mSwOxGXn/hbVNMYq/NHwtjuzqd+/x5AJhhdM8mgkBj87JyahkNmcrUDnXMN/uLicFZ8WJ/X7Nf
+ZTD4p7dNdloedl40wOiWVpmKs/B/pM293DIxfJHP4F8R+GuqSVzRmZTRouNjWwl2tVZi4Ut0HZbU
+JtQIBFnQmA4O5t78w+wfkPECAwEAAaNCMEAwDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMC
+AQYwHQYDVR0OBBYEFHwMMh+n2TB/xH1oo2Kooc6rB1snMA0GCSqGSIb3DQEBCwUAA4IBAQARWfol
+TwNvlJk7mh+ChTnUdgWUXuEok21iXQnCoKjUsHU48TRqneSfioYmUeYs0cYtbpUgSpIB7LiKZ3sx
+4mcujJUDJi5DnUox9g61DLu34jd/IroAow57UvtruzvE03lRTs2Q9GcHGcg8RnoNAX3FWOdt5oUw
+F5okxBDgBPfg8n/Uqgr/Qh037ZTlZFkSIHc40zI+OIF1lnP6aI+xy84fxez6nH7PfrHxBy22/L/K
+pL/QlwVKvOoYKAKQvVR4CSFx09F9HdkWsKlhPdAKACL8x3vLCWRFCztAgfd9fDL1mMpYjn0q7pBZ
+c2T5NnReJaH1ZgUufzkVqSr7UIuOhWn0
+-----END CERTIFICATE-----
+
+Starfield Services Root Certificate Authority - G2
+==================================================
+-----BEGIN CERTIFICATE-----
+MIID7zCCAtegAwIBAgIBADANBgkqhkiG9w0BAQsFADCBmDELMAkGA1UEBhMCVVMxEDAOBgNVBAgT
+B0FyaXpvbmExEzARBgNVBAcTClNjb3R0c2RhbGUxJTAjBgNVBAoTHFN0YXJmaWVsZCBUZWNobm9s
+b2dpZXMsIEluYy4xOzA5BgNVBAMTMlN0YXJmaWVsZCBTZXJ2aWNlcyBSb290IENlcnRpZmljYXRl
+IEF1dGhvcml0eSAtIEcyMB4XDTA5MDkwMTAwMDAwMFoXDTM3MTIzMTIzNTk1OVowgZgxCzAJBgNV
+BAYTAlVTMRAwDgYDVQQIEwdBcml6b25hMRMwEQYDVQQHEwpTY290dHNkYWxlMSUwIwYDVQQKExxT
+dGFyZmllbGQgVGVjaG5vbG9naWVzLCBJbmMuMTswOQYDVQQDEzJTdGFyZmllbGQgU2VydmljZXMg
+Um9vdCBDZXJ0aWZpY2F0ZSBBdXRob3JpdHkgLSBHMjCCASIwDQYJKoZIhvcNAQEBBQADggEPADCC
+AQoCggEBANUMOsQq+U7i9b4Zl1+OiFOxHz/Lz58gE20pOsgPfTz3a3Y4Y9k2YKibXlwAgLIvWX/2
+h/klQ4bnaRtSmpDhcePYLQ1Ob/bISdm28xpWriu2dBTrz/sm4xq6HZYuajtYlIlHVv8loJNwU4Pa
+hHQUw2eeBGg6345AWh1KTs9DkTvnVtYAcMtS7nt9rjrnvDH5RfbCYM8TWQIrgMw0R9+53pBlbQLP
+LJGmpufehRhJfGZOozptqbXuNC66DQO4M99H67FrjSXZm86B0UVGMpZwh94CDklDhbZsc7tk6mFB
+rMnUVN+HL8cisibMn1lUaJ/8viovxFUcdUBgF4UCVTmLfwUCAwEAAaNCMEAwDwYDVR0TAQH/BAUw
+AwEB/zAOBgNVHQ8BAf8EBAMCAQYwHQYDVR0OBBYEFJxfAN+qAdcwKziIorhtSpzyEZGDMA0GCSqG
+SIb3DQEBCwUAA4IBAQBLNqaEd2ndOxmfZyMIbw5hyf2E3F/YNoHN2BtBLZ9g3ccaaNnRbobhiCPP
+E95Dz+I0swSdHynVv/heyNXBve6SbzJ08pGCL72CQnqtKrcgfU28elUSwhXqvfdqlS5sdJ/PHLTy
+xQGjhdByPq1zqwubdQxtRbeOlKyWN7Wg0I8VRw7j6IPdj/3vQQF3zCepYoUz8jcI73HPdwbeyBkd
+iEDPfUYd/x7H4c7/I9vG+o1VTqkC50cRRj70/b17KSa7qWFiNyi2LSr2EIZkyXCn0q23KXB56jza
+YyWf/Wi3MOxw+3WKt21gZ7IeyLnp2KhvAotnDU0mV3HaIPzBSlCNsSi6
+-----END CERTIFICATE-----
+
+AffirmTrust Commercial
+======================
+-----BEGIN CERTIFICATE-----
+MIIDTDCCAjSgAwIBAgIId3cGJyapsXwwDQYJKoZIhvcNAQELBQAwRDELMAkGA1UEBhMCVVMxFDAS
+BgNVBAoMC0FmZmlybVRydXN0MR8wHQYDVQQDDBZBZmZpcm1UcnVzdCBDb21tZXJjaWFsMB4XDTEw
+MDEyOTE0MDYwNloXDTMwMTIzMTE0MDYwNlowRDELMAkGA1UEBhMCVVMxFDASBgNVBAoMC0FmZmly
+bVRydXN0MR8wHQYDVQQDDBZBZmZpcm1UcnVzdCBDb21tZXJjaWFsMIIBIjANBgkqhkiG9w0BAQEF
+AAOCAQ8AMIIBCgKCAQEA9htPZwcroRX1BiLLHwGy43NFBkRJLLtJJRTWzsO3qyxPxkEylFf6Eqdb
+DuKPHx6GGaeqtS25Xw2Kwq+FNXkyLbscYjfysVtKPcrNcV/pQr6U6Mje+SJIZMblq8Yrba0F8PrV
+C8+a5fBQpIs7R6UjW3p6+DM/uO+Zl+MgwdYoic+U+7lF7eNAFxHUdPALMeIrJmqbTFeurCA+ukV6
+BfO9m2kVrn1OIGPENXY6BwLJN/3HR+7o8XYdcxXyl6S1yHp52UKqK39c/s4mT6NmgTWvRLpUHhww
+MmWd5jyTXlBOeuM61G7MGvv50jeuJCqrVwMiKA1JdX+3KNp1v47j3A55MQIDAQABo0IwQDAdBgNV
+HQ4EFgQUnZPGU4teyq8/nx4P5ZmVvCT2lI8wDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMC
+AQYwDQYJKoZIhvcNAQELBQADggEBAFis9AQOzcAN/wr91LoWXym9e2iZWEnStB03TX8nfUYGXUPG
+hi4+c7ImfU+TqbbEKpqrIZcUsd6M06uJFdhrJNTxFq7YpFzUf1GO7RgBsZNjvbz4YYCanrHOQnDi
+qX0GJX0nof5v7LMeJNrjS1UaADs1tDvZ110w/YETifLCBivtZ8SOyUOyXGsViQK8YvxO8rUzqrJv
+0wqiUOP2O+guRMLbZjipM1ZI8W0bM40NjD9gN53Tym1+NH4Nn3J2ixufcv1SNUFFApYvHLKac0kh
+sUlHRUe072o0EclNmsxZt9YCnlpOZbWUrhvfKbAW8b8Angc6F2S1BLUjIZkKlTuXfO8=
+-----END CERTIFICATE-----
+
+AffirmTrust Networking
+======================
+-----BEGIN CERTIFICATE-----
+MIIDTDCCAjSgAwIBAgIIfE8EORzUmS0wDQYJKoZIhvcNAQEFBQAwRDELMAkGA1UEBhMCVVMxFDAS
+BgNVBAoMC0FmZmlybVRydXN0MR8wHQYDVQQDDBZBZmZpcm1UcnVzdCBOZXR3b3JraW5nMB4XDTEw
+MDEyOTE0MDgyNFoXDTMwMTIzMTE0MDgyNFowRDELMAkGA1UEBhMCVVMxFDASBgNVBAoMC0FmZmly
+bVRydXN0MR8wHQYDVQQDDBZBZmZpcm1UcnVzdCBOZXR3b3JraW5nMIIBIjANBgkqhkiG9w0BAQEF
+AAOCAQ8AMIIBCgKCAQEAtITMMxcua5Rsa2FSoOujz3mUTOWUgJnLVWREZY9nZOIG41w3SfYvm4SE
+Hi3yYJ0wTsyEheIszx6e/jarM3c1RNg1lho9Nuh6DtjVR6FqaYvZ/Ls6rnla1fTWcbuakCNrmreI
+dIcMHl+5ni36q1Mr3Lt2PpNMCAiMHqIjHNRqrSK6mQEubWXLviRmVSRLQESxG9fhwoXA3hA/Pe24
+/PHxI1Pcv2WXb9n5QHGNfb2V1M6+oF4nI979ptAmDgAp6zxG8D1gvz9Q0twmQVGeFDdCBKNwV6gb
+h+0t+nvujArjqWaJGctB+d1ENmHP4ndGyH329JKBNv3bNPFyfvMMFr20FQIDAQABo0IwQDAdBgNV
+HQ4EFgQUBx/S55zawm6iQLSwelAQUHTEyL0wDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMC
+AQYwDQYJKoZIhvcNAQEFBQADggEBAIlXshZ6qML91tmbmzTCnLQyFE2npN/svqe++EPbkTfOtDIu
+UFUaNU52Q3Eg75N3ThVwLofDwR1t3Mu1J9QsVtFSUzpE0nPIxBsFZVpikpzuQY0x2+c06lkh1QF6
+12S4ZDnNye2v7UsDSKegmQGA3GWjNq5lWUhPgkvIZfFXHeVZLgo/bNjR9eUJtGxUAArgFU2HdW23
+WJZa3W3SAKD0m0i+wzekujbgfIeFlxoVot4uolu9rxj5kFDNcFn4J2dHy8egBzp90SxdbBk6ZrV9
+/ZFvgrG+CJPbFEfxojfHRZ48x3evZKiT3/Zpg4Jg8klCNO1aAFSFHBY2kgxc+qatv9s=
+-----END CERTIFICATE-----
+
+AffirmTrust Premium
+===================
+-----BEGIN CERTIFICATE-----
+MIIFRjCCAy6gAwIBAgIIbYwURrGmCu4wDQYJKoZIhvcNAQEMBQAwQTELMAkGA1UEBhMCVVMxFDAS
+BgNVBAoMC0FmZmlybVRydXN0MRwwGgYDVQQDDBNBZmZpcm1UcnVzdCBQcmVtaXVtMB4XDTEwMDEy
+OTE0MTAzNloXDTQwMTIzMTE0MTAzNlowQTELMAkGA1UEBhMCVVMxFDASBgNVBAoMC0FmZmlybVRy
+dXN0MRwwGgYDVQQDDBNBZmZpcm1UcnVzdCBQcmVtaXVtMIICIjANBgkqhkiG9w0BAQEFAAOCAg8A
+MIICCgKCAgEAxBLfqV/+Qd3d9Z+K4/as4Tx4mrzY8H96oDMq3I0gW64tb+eT2TZwamjPjlGjhVtn
+BKAQJG9dKILBl1fYSCkTtuG+kU3fhQxTGJoeJKJPj/CihQvL9Cl/0qRY7iZNyaqoe5rZ+jjeRFcV
+5fiMyNlI4g0WJx0eyIOFJbe6qlVBzAMiSy2RjYvmia9mx+n/K+k8rNrSs8PhaJyJ+HoAVt70VZVs
++7pk3WKL3wt3MutizCaam7uqYoNMtAZ6MMgpv+0GTZe5HMQxK9VfvFMSF5yZVylmd2EhMQcuJUmd
+GPLu8ytxjLW6OQdJd/zvLpKQBY0tL3d770O/Nbua2Plzpyzy0FfuKE4mX4+QaAkvuPjcBukumj5R
+p9EixAqnOEhss/n/fauGV+O61oV4d7pD6kh/9ti+I20ev9E2bFhc8e6kGVQa9QPSdubhjL08s9NI
+S+LI+H+SqHZGnEJlPqQewQcDWkYtuJfzt9WyVSHvutxMAJf7FJUnM7/oQ0dG0giZFmA7mn7S5u04
+6uwBHjxIVkkJx0w3AJ6IDsBz4W9m6XJHMD4Q5QsDyZpCAGzFlH5hxIrff4IaC1nEWTJ3s7xgaVY5
+/bQGeyzWZDbZvUjthB9+pSKPKrhC9IK31FOQeE4tGv2Bb0TXOwF0lkLgAOIua+rF7nKsu7/+6qqo
++Nz2snmKtmcCAwEAAaNCMEAwHQYDVR0OBBYEFJ3AZ6YMItkm9UWrpmVSESfYRaxjMA8GA1UdEwEB
+/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgEGMA0GCSqGSIb3DQEBDAUAA4ICAQCzV00QYk465KzquByv
+MiPIs0laUZx2KI15qldGF9X1Uva3ROgIRL8YhNILgM3FEv0AVQVhh0HctSSePMTYyPtwni94loMg
+Nt58D2kTiKV1NpgIpsbfrM7jWNa3Pt668+s0QNiigfV4Py/VpfzZotReBA4Xrf5B8OWycvpEgjNC
+6C1Y91aMYj+6QrCcDFx+LmUmXFNPALJ4fqENmS2NuB2OosSw/WDQMKSOyARiqcTtNd56l+0OOF6S
+L5Nwpamcb6d9Ex1+xghIsV5n61EIJenmJWtSKZGc0jlzCFfemQa0W50QBuHCAKi4HEoCChTQwUHK
++4w1IX2COPKpVJEZNZOUbWo6xbLQu4mGk+ibyQ86p3q4ofB4Rvr8Ny/lioTz3/4E2aFooC8k4gmV
+BtWVyuEklut89pMFu+1z6S3RdTnX5yTb2E5fQ4+e0BQ5v1VwSJlXMbSc7kqYA5YwH2AG7hsj/oFg
+IxpHYoWlzBk0gG+zrBrjn/B7SK3VAdlntqlyk+otZrWyuOQ9PLLvTIzq6we/qzWaVYa8GKa1qF60
+g2xraUDTn9zxw2lrueFtCfTxqlB2Cnp9ehehVZZCmTEJ3WARjQUwfuaORtGdFNrHF+QFlozEJLUb
+zxQHskD4o55BhrwE0GuWyCqANP2/7waj3VjFhT0+j/6eKeC2uAloGRwYQw==
+-----END CERTIFICATE-----
+
+AffirmTrust Premium ECC
+=======================
+-----BEGIN CERTIFICATE-----
+MIIB/jCCAYWgAwIBAgIIdJclisc/elQwCgYIKoZIzj0EAwMwRTELMAkGA1UEBhMCVVMxFDASBgNV
+BAoMC0FmZmlybVRydXN0MSAwHgYDVQQDDBdBZmZpcm1UcnVzdCBQcmVtaXVtIEVDQzAeFw0xMDAx
+MjkxNDIwMjRaFw00MDEyMzExNDIwMjRaMEUxCzAJBgNVBAYTAlVTMRQwEgYDVQQKDAtBZmZpcm1U
+cnVzdDEgMB4GA1UEAwwXQWZmaXJtVHJ1c3QgUHJlbWl1bSBFQ0MwdjAQBgcqhkjOPQIBBgUrgQQA
+IgNiAAQNMF4bFZ0D0KF5Nbc6PJJ6yhUczWLznCZcBz3lVPqj1swS6vQUX+iOGasvLkjmrBhDeKzQ
+N8O9ss0s5kfiGuZjuD0uL3jET9v0D6RoTFVya5UdThhClXjMNzyR4ptlKymjQjBAMB0GA1UdDgQW
+BBSaryl6wBE1NSZRMADDav5A1a7WPDAPBgNVHRMBAf8EBTADAQH/MA4GA1UdDwEB/wQEAwIBBjAK
+BggqhkjOPQQDAwNnADBkAjAXCfOHiFBar8jAQr9HX/VsaobgxCd05DhT1wV/GzTjxi+zygk8N53X
+57hG8f2h4nECMEJZh0PUUd+60wkyWs6Iflc9nF9Ca/UHLbXwgpP5WW+uZPpY5Yse42O+tYHNbwKM
+eQ==
+-----END CERTIFICATE-----
+
+Certum Trusted Network CA
+=========================
+-----BEGIN CERTIFICATE-----
+MIIDuzCCAqOgAwIBAgIDBETAMA0GCSqGSIb3DQEBBQUAMH4xCzAJBgNVBAYTAlBMMSIwIAYDVQQK
+ExlVbml6ZXRvIFRlY2hub2xvZ2llcyBTLkEuMScwJQYDVQQLEx5DZXJ0dW0gQ2VydGlmaWNhdGlv
+biBBdXRob3JpdHkxIjAgBgNVBAMTGUNlcnR1bSBUcnVzdGVkIE5ldHdvcmsgQ0EwHhcNMDgxMDIy
+MTIwNzM3WhcNMjkxMjMxMTIwNzM3WjB+MQswCQYDVQQGEwJQTDEiMCAGA1UEChMZVW5pemV0byBU
+ZWNobm9sb2dpZXMgUy5BLjEnMCUGA1UECxMeQ2VydHVtIENlcnRpZmljYXRpb24gQXV0aG9yaXR5
+MSIwIAYDVQQDExlDZXJ0dW0gVHJ1c3RlZCBOZXR3b3JrIENBMIIBIjANBgkqhkiG9w0BAQEFAAOC
+AQ8AMIIBCgKCAQEA4/t9o3K6wvDJFIf1awFO4W5AB7ptJ11/91sts1rHUV+rpDKmYYe2bg+G0jAC
+l/jXaVehGDldamR5xgFZrDwxSjh80gTSSyjoIF87B6LMTXPb865Px1bVWqeWifrzq2jUI4ZZJ88J
+J7ysbnKDHDBy3+Ci6dLhdHUZvSqeexVUBBvXQzmtVSjF4hq79MDkrjhJM8x2hZ85RdKknvISjFH4
+fOQtf/WsX+sWn7Et0brMkUJ3TCXJkDhv2/DM+44el1k+1WBO5gUo7Ul5E0u6SNsv+XLTOcr+H9g0
+cvW0QM8xAcPs3hEtF10fuFDRXhmnad4HMyjKUJX5p1TLVIZQRan5SQIDAQABo0IwQDAPBgNVHRMB
+Af8EBTADAQH/MB0GA1UdDgQWBBQIds3LB/8k9sXN7buQvOKEN0Z19zAOBgNVHQ8BAf8EBAMCAQYw
+DQYJKoZIhvcNAQEFBQADggEBAKaorSLOAT2mo/9i0Eidi15ysHhE49wcrwn9I0j6vSrEuVUEtRCj
+jSfeC4Jj0O7eDDd5QVsisrCaQVymcODU0HfLI9MA4GxWL+FpDQ3Zqr8hgVDZBqWo/5U30Kr+4rP1
+mS1FhIrlQgnXdAIv94nYmem8J9RHjboNRhx3zxSkHLmkMcScKHQDNP8zGSal6Q10tz6XxnboJ5aj
+Zt3hrvJBW8qYVoNzcOSGGtIxQbovvi0TWnZvTuhOgQ4/WwMioBK+ZlgRSssDxLQqKi2WF+A5VLxI
+03YnnZotBqbJ7DnSq9ufmgsnAjUpsUCV5/nonFWIGUbWtzT1fs45mtk48VH3Tyw=
+-----END CERTIFICATE-----
+
+Certinomis - Autorité Racine
+============================
+-----BEGIN CERTIFICATE-----
+MIIFnDCCA4SgAwIBAgIBATANBgkqhkiG9w0BAQUFADBjMQswCQYDVQQGEwJGUjETMBEGA1UEChMK
+Q2VydGlub21pczEXMBUGA1UECxMOMDAwMiA0MzM5OTg5MDMxJjAkBgNVBAMMHUNlcnRpbm9taXMg
+LSBBdXRvcml0w6kgUmFjaW5lMB4XDTA4MDkxNzA4Mjg1OVoXDTI4MDkxNzA4Mjg1OVowYzELMAkG
+A1UEBhMCRlIxEzARBgNVBAoTCkNlcnRpbm9taXMxFzAVBgNVBAsTDjAwMDIgNDMzOTk4OTAzMSYw
+JAYDVQQDDB1DZXJ0aW5vbWlzIC0gQXV0b3JpdMOpIFJhY2luZTCCAiIwDQYJKoZIhvcNAQEBBQAD
+ggIPADCCAgoCggIBAJ2Fn4bT46/HsmtuM+Cet0I0VZ35gb5j2CN2DpdUzZlMGvE5x4jYF1AMnmHa
+wE5V3udauHpOd4cN5bjr+p5eex7Ezyh0x5P1FMYiKAT5kcOrJ3NqDi5N8y4oH3DfVS9O7cdxbwly
+Lu3VMpfQ8Vh30WC8Tl7bmoT2R2FFK/ZQpn9qcSdIhDWerP5pqZ56XjUl+rSnSTV3lqc2W+HN3yNw
+2F1MpQiD8aYkOBOo7C+ooWfHpi2GR+6K/OybDnT0K0kCe5B1jPyZOQE51kqJ5Z52qz6WKDgmi92N
+jMD2AR5vpTESOH2VwnHu7XSu5DaiQ3XV8QCb4uTXzEIDS3h65X27uK4uIJPT5GHfceF2Z5c/tt9q
+c1pkIuVC28+BA5PY9OMQ4HL2AHCs8MF6DwV/zzRpRbWT5BnbUhYjBYkOjUjkJW+zeL9i9Qf6lSTC
+lrLooyPCXQP8w9PlfMl1I9f09bze5N/NgL+RiH2nE7Q5uiy6vdFrzPOlKO1Enn1So2+WLhl+HPNb
+xxaOu2B9d2ZHVIIAEWBsMsGoOBvrbpgT1u449fCfDu/+MYHB0iSVL1N6aaLwD4ZFjliCK0wi1F6g
+530mJ0jfJUaNSih8hp75mxpZuWW/Bd22Ql095gBIgl4g9xGC3srYn+Y3RyYe63j3YcNBZFgCQfna
+4NH4+ej9Uji29YnfAgMBAAGjWzBZMA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgEGMB0G
+A1UdDgQWBBQNjLZh2kS40RR9w759XkjwzspqsDAXBgNVHSAEEDAOMAwGCiqBegFWAgIAAQEwDQYJ
+KoZIhvcNAQEFBQADggIBACQ+YAZ+He86PtvqrxyaLAEL9MW12Ukx9F1BjYkMTv9sov3/4gbIOZ/x
+WqndIlgVqIrTseYyCYIDbNc/CMf4uboAbbnW/FIyXaR/pDGUu7ZMOH8oMDX/nyNTt7buFHAAQCva
+R6s0fl6nVjBhK4tDrP22iCj1a7Y+YEq6QpA0Z43q619FVDsXrIvkxmUP7tCMXWY5zjKn2BCXwH40
+nJ+U8/aGH88bc62UeYdocMMzpXDn2NU4lG9jeeu/Cg4I58UvD0KgKxRA/yHgBcUn4YQRE7rWhh1B
+CxMjidPJC+iKunqjo3M3NYB9Ergzd0A4wPpeMNLytqOx1qKVl4GbUu1pTP+A5FPbVFsDbVRfsbjv
+JL1vnxHDx2TCDyhihWZeGnuyt++uNckZM6i4J9szVb9o4XVIRFb7zdNIu0eJOqxp9YDG5ERQL1TE
+qkPFMTFYvZbF6nVsmnWxTfj3l/+WFvKXTej28xH5On2KOG4Ey+HTRRWqpdEdnV1j6CTmNhTih60b
+WfVEm/vXd3wfAXBioSAaosUaKPQhA+4u2cGA6rnZgtZbdsLLO7XSAPCjDuGtbkD326C00EauFddE
+wk01+dIL8hf2rGbVJLJP0RyZwG71fet0BLj5TXcJ17TPBzAJ8bgAVtkXFhYKK4bfjwEZGuW7gmP/
+vgt2Fl43N+bYdJeimUV5
+-----END CERTIFICATE-----
+
+TWCA Root Certification Authority
+=================================
+-----BEGIN CERTIFICATE-----
+MIIDezCCAmOgAwIBAgIBATANBgkqhkiG9w0BAQUFADBfMQswCQYDVQQGEwJUVzESMBAGA1UECgwJ
+VEFJV0FOLUNBMRAwDgYDVQQLDAdSb290IENBMSowKAYDVQQDDCFUV0NBIFJvb3QgQ2VydGlmaWNh
+dGlvbiBBdXRob3JpdHkwHhcNMDgwODI4MDcyNDMzWhcNMzAxMjMxMTU1OTU5WjBfMQswCQYDVQQG
+EwJUVzESMBAGA1UECgwJVEFJV0FOLUNBMRAwDgYDVQQLDAdSb290IENBMSowKAYDVQQDDCFUV0NB
+IFJvb3QgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEK
+AoIBAQCwfnK4pAOU5qfeCTiRShFAh6d8WWQUe7UREN3+v9XAu1bihSX0NXIP+FPQQeFEAcK0HMMx
+QhZHhTMidrIKbw/lJVBPhYa+v5guEGcevhEFhgWQxFnQfHgQsIBct+HHK3XLfJ+utdGdIzdjp9xC
+oi2SBBtQwXu4PhvJVgSLL1KbralW6cH/ralYhzC2gfeXRfwZVzsrb+RH9JlF/h3x+JejiB03HFyP
+4HYlmlD4oFT/RJB2I9IyxsOrBr/8+7/zrX2SYgJbKdM1o5OaQ2RgXbL6Mv87BK9NQGr5x+PvI/1r
+y+UPizgN7gr8/g+YnzAx3WxSZfmLgb4i4RxYA7qRG4kHAgMBAAGjQjBAMA4GA1UdDwEB/wQEAwIB
+BjAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBRqOFsmjd6LWvJPelSDGRjjCDWmujANBgkqhkiG
+9w0BAQUFAAOCAQEAPNV3PdrfibqHDAhUaiBQkr6wQT25JmSDCi/oQMCXKCeCMErJk/9q56YAf4lC
+mtYR5VPOL8zy2gXE/uJQxDqGfczafhAJO5I1KlOy/usrBdlsXebQ79NqZp4VKIV66IIArB6nCWlW
+QtNoURi+VJq/REG6Sb4gumlc7rh3zc5sH62Dlhh9DrUUOYTxKOkto557HnpyWoOzeW/vtPzQCqVY
+T0bf+215WfKEIlKuD8z7fDvnaspHYcN6+NOSBB+4IIThNlQWx0DeO4pz3N/GCUzf7Nr/1FNCocny
+Yh0igzyXxfkZYiesZSLX0zzG5Y6yU8xJzrww/nsOM5D77dIUkR8Hrw==
+-----END CERTIFICATE-----
+
+Security Communication RootCA2
+==============================
+-----BEGIN CERTIFICATE-----
+MIIDdzCCAl+gAwIBAgIBADANBgkqhkiG9w0BAQsFADBdMQswCQYDVQQGEwJKUDElMCMGA1UEChMc
+U0VDT00gVHJ1c3QgU3lzdGVtcyBDTy4sTFRELjEnMCUGA1UECxMeU2VjdXJpdHkgQ29tbXVuaWNh
+dGlvbiBSb290Q0EyMB4XDTA5MDUyOTA1MDAzOVoXDTI5MDUyOTA1MDAzOVowXTELMAkGA1UEBhMC
+SlAxJTAjBgNVBAoTHFNFQ09NIFRydXN0IFN5c3RlbXMgQ08uLExURC4xJzAlBgNVBAsTHlNlY3Vy
+aXR5IENvbW11bmljYXRpb24gUm9vdENBMjCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEB
+ANAVOVKxUrO6xVmCxF1SrjpDZYBLx/KWvNs2l9amZIyoXvDjChz335c9S672XewhtUGrzbl+dp++
++T42NKA7wfYxEUV0kz1XgMX5iZnK5atq1LXaQZAQwdbWQonCv/Q4EpVMVAX3NuRFg3sUZdbcDE3R
+3n4MqzvEFb46VqZab3ZpUql6ucjrappdUtAtCms1FgkQhNBqyjoGADdH5H5XTz+L62e4iKrFvlNV
+spHEfbmwhRkGeC7bYRr6hfVKkaHnFtWOojnflLhwHyg/i/xAXmODPIMqGplrz95Zajv8bxbXH/1K
+EOtOghY6rCcMU/Gt1SSwawNQwS08Ft1ENCcadfsCAwEAAaNCMEAwHQYDVR0OBBYEFAqFqXdlBZh8
+QIH4D5csOPEK7DzPMA4GA1UdDwEB/wQEAwIBBjAPBgNVHRMBAf8EBTADAQH/MA0GCSqGSIb3DQEB
+CwUAA4IBAQBMOqNErLlFsceTfsgLCkLfZOoc7llsCLqJX2rKSpWeeo8HxdpFcoJxDjrSzG+ntKEj
+u/Ykn8sX/oymzsLS28yN/HH8AynBbF0zX2S2ZTuJbxh2ePXcokgfGT+Ok+vx+hfuzU7jBBJV1uXk
+3fs+BXziHV7Gp7yXT2g69ekuCkO2r1dcYmh8t/2jioSgrGK+KwmHNPBqAbubKVY8/gA3zyNs8U6q
+tnRGEmyR7jTV7JqR50S+kDFy1UkC9gLl9B/rfNmWVan/7Ir5mUf/NVoCqgTLiluHcSmRvaS0eg29
+mvVXIwAHIRc/SjnRBUkLp7Y3gaVdjKozXoEofKd9J+sAro03
+-----END CERTIFICATE-----
+
+EC-ACC
+======
+-----BEGIN CERTIFICATE-----
+MIIFVjCCBD6gAwIBAgIQ7is969Qh3hSoYqwE893EATANBgkqhkiG9w0BAQUFADCB8zELMAkGA1UE
+BhMCRVMxOzA5BgNVBAoTMkFnZW5jaWEgQ2F0YWxhbmEgZGUgQ2VydGlmaWNhY2lvIChOSUYgUS0w
+ODAxMTc2LUkpMSgwJgYDVQQLEx9TZXJ2ZWlzIFB1YmxpY3MgZGUgQ2VydGlmaWNhY2lvMTUwMwYD
+VQQLEyxWZWdldSBodHRwczovL3d3dy5jYXRjZXJ0Lm5ldC92ZXJhcnJlbCAoYykwMzE1MDMGA1UE
+CxMsSmVyYXJxdWlhIEVudGl0YXRzIGRlIENlcnRpZmljYWNpbyBDYXRhbGFuZXMxDzANBgNVBAMT
+BkVDLUFDQzAeFw0wMzAxMDcyMzAwMDBaFw0zMTAxMDcyMjU5NTlaMIHzMQswCQYDVQQGEwJFUzE7
+MDkGA1UEChMyQWdlbmNpYSBDYXRhbGFuYSBkZSBDZXJ0aWZpY2FjaW8gKE5JRiBRLTA4MDExNzYt
+SSkxKDAmBgNVBAsTH1NlcnZlaXMgUHVibGljcyBkZSBDZXJ0aWZpY2FjaW8xNTAzBgNVBAsTLFZl
+Z2V1IGh0dHBzOi8vd3d3LmNhdGNlcnQubmV0L3ZlcmFycmVsIChjKTAzMTUwMwYDVQQLEyxKZXJh
+cnF1aWEgRW50aXRhdHMgZGUgQ2VydGlmaWNhY2lvIENhdGFsYW5lczEPMA0GA1UEAxMGRUMtQUND
+MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAsyLHT+KXQpWIR4NA9h0X84NzJB5R85iK
+w5K4/0CQBXCHYMkAqbWUZRkiFRfCQ2xmRJoNBD45b6VLeqpjt4pEndljkYRm4CgPukLjbo73FCeT
+ae6RDqNfDrHrZqJyTxIThmV6PttPB/SnCWDaOkKZx7J/sxaVHMf5NLWUhdWZXqBIoH7nF2W4onW4
+HvPlQn2v7fOKSGRdghST2MDk/7NQcvJ29rNdQlB50JQ+awwAvthrDk4q7D7SzIKiGGUzE3eeml0a
+E9jD2z3Il3rucO2n5nzbcc8tlGLfbdb1OL4/pYUKGbio2Al1QnDE6u/LDsg0qBIimAy4E5S2S+zw
+0JDnJwIDAQABo4HjMIHgMB0GA1UdEQQWMBSBEmVjX2FjY0BjYXRjZXJ0Lm5ldDAPBgNVHRMBAf8E
+BTADAQH/MA4GA1UdDwEB/wQEAwIBBjAdBgNVHQ4EFgQUoMOLRKo3pUW/l4Ba0fF4opvpXY0wfwYD
+VR0gBHgwdjB0BgsrBgEEAfV4AQMBCjBlMCwGCCsGAQUFBwIBFiBodHRwczovL3d3dy5jYXRjZXJ0
+Lm5ldC92ZXJhcnJlbDA1BggrBgEFBQcCAjApGidWZWdldSBodHRwczovL3d3dy5jYXRjZXJ0Lm5l
+dC92ZXJhcnJlbCAwDQYJKoZIhvcNAQEFBQADggEBAKBIW4IB9k1IuDlVNZyAelOZ1Vr/sXE7zDkJ
+lF7W2u++AVtd0x7Y/X1PzaBB4DSTv8vihpw3kpBWHNzrKQXlxJ7HNd+KDM3FIUPpqojlNcAZQmNa
+Al6kSBg6hW/cnbw/nZzBh7h6YQjpdwt/cKt63dmXLGQehb+8dJahw3oS7AwaboMMPOhyRp/7SNVe
+l+axofjk70YllJyJ22k4vuxcDlbHZVHlUIiIv0LVKz3l+bqeLrPK9HOSAgu+TGbrIP65y7WZf+a2
+E/rKS03Z7lNGBjvGTq2TWoF+bCpLagVFjPIhpDGQh2xlnJ2lYJU6Un/10asIbvPuW/mIPX64b24D
+5EI=
+-----END CERTIFICATE-----
+
+Hellenic Academic and Research Institutions RootCA 2011
+=======================================================
+-----BEGIN CERTIFICATE-----
+MIIEMTCCAxmgAwIBAgIBADANBgkqhkiG9w0BAQUFADCBlTELMAkGA1UEBhMCR1IxRDBCBgNVBAoT
+O0hlbGxlbmljIEFjYWRlbWljIGFuZCBSZXNlYXJjaCBJbnN0aXR1dGlvbnMgQ2VydC4gQXV0aG9y
+aXR5MUAwPgYDVQQDEzdIZWxsZW5pYyBBY2FkZW1pYyBhbmQgUmVzZWFyY2ggSW5zdGl0dXRpb25z
+IFJvb3RDQSAyMDExMB4XDTExMTIwNjEzNDk1MloXDTMxMTIwMTEzNDk1MlowgZUxCzAJBgNVBAYT
+AkdSMUQwQgYDVQQKEztIZWxsZW5pYyBBY2FkZW1pYyBhbmQgUmVzZWFyY2ggSW5zdGl0dXRpb25z
+IENlcnQuIEF1dGhvcml0eTFAMD4GA1UEAxM3SGVsbGVuaWMgQWNhZGVtaWMgYW5kIFJlc2VhcmNo
+IEluc3RpdHV0aW9ucyBSb290Q0EgMjAxMTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEB
+AKlTAOMupvaO+mDYLZU++CwqVE7NuYRhlFhPjz2L5EPzdYmNUeTDN9KKiE15HrcS3UN4SoqS5tdI
+1Q+kOilENbgH9mgdVc04UfCMJDGFr4PJfel3r+0ae50X+bOdOFAPplp5kYCvN66m0zH7tSYJnTxa
+71HFK9+WXesyHgLacEnsbgzImjeN9/E2YEsmLIKe0HjzDQ9jpFEw4fkrJxIH2Oq9GGKYsFk3fb7u
+8yBRQlqD75O6aRXxYp2fmTmCobd0LovUxQt7L/DICto9eQqakxylKHJzkUOap9FNhYS5qXSPFEDH
+3N6sQWRstBmbAmNtJGSPRLIl6s5ddAxjMlyNh+UCAwEAAaOBiTCBhjAPBgNVHRMBAf8EBTADAQH/
+MAsGA1UdDwQEAwIBBjAdBgNVHQ4EFgQUppFC/RNhSiOeCKQp5dgTBCPuQSUwRwYDVR0eBEAwPqA8
+MAWCAy5ncjAFggMuZXUwBoIELmVkdTAGggQub3JnMAWBAy5ncjAFgQMuZXUwBoEELmVkdTAGgQQu
+b3JnMA0GCSqGSIb3DQEBBQUAA4IBAQAf73lB4XtuP7KMhjdCSk4cNx6NZrokgclPEg8hwAOXhiVt
+XdMiKahsog2p6z0GW5k6x8zDmjR/qw7IThzh+uTczQ2+vyT+bOdrwg3IBp5OjWEopmr95fZi6hg8
+TqBTnbI6nOulnJEWtk2C4AwFSKls9cz4y51JtPACpf1wA+2KIaWuE4ZJwzNzvoc7dIsXRSZMFpGD
+/md9zU1jZ/rzAxKWeAaNsWftjj++n08C9bMJL/NMh98qy5V8AcysNnq/onN694/BtZqhFLKPM58N
+7yLcZnuEvUUXBj08yrl3NI/K6s8/MT7jiOOASSXIl7WdmplNsDz4SgCbZN2fOUvRJ9e4
+-----END CERTIFICATE-----
+
+Actalis Authentication Root CA
+==============================
+-----BEGIN CERTIFICATE-----
+MIIFuzCCA6OgAwIBAgIIVwoRl0LE48wwDQYJKoZIhvcNAQELBQAwazELMAkGA1UEBhMCSVQxDjAM
+BgNVBAcMBU1pbGFuMSMwIQYDVQQKDBpBY3RhbGlzIFMucC5BLi8wMzM1ODUyMDk2NzEnMCUGA1UE
+AwweQWN0YWxpcyBBdXRoZW50aWNhdGlvbiBSb290IENBMB4XDTExMDkyMjExMjIwMloXDTMwMDky
+MjExMjIwMlowazELMAkGA1UEBhMCSVQxDjAMBgNVBAcMBU1pbGFuMSMwIQYDVQQKDBpBY3RhbGlz
+IFMucC5BLi8wMzM1ODUyMDk2NzEnMCUGA1UEAwweQWN0YWxpcyBBdXRoZW50aWNhdGlvbiBSb290
+IENBMIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAp8bEpSmkLO/lGMWwUKNvUTufClrJ
+wkg4CsIcoBh/kbWHuUA/3R1oHwiD1S0eiKD4j1aPbZkCkpAW1V8IbInX4ay8IMKx4INRimlNAJZa
+by/ARH6jDuSRzVju3PvHHkVH3Se5CAGfpiEd9UEtL0z9KK3giq0itFZljoZUj5NDKd45RnijMCO6
+zfB9E1fAXdKDa0hMxKufgFpbOr3JpyI/gCczWw63igxdBzcIy2zSekciRDXFzMwujt0q7bd9Zg1f
+YVEiVRvjRuPjPdA1YprbrxTIW6HMiRvhMCb8oJsfgadHHwTrozmSBp+Z07/T6k9QnBn+locePGX2
+oxgkg4YQ51Q+qDp2JE+BIcXjDwL4k5RHILv+1A7TaLndxHqEguNTVHnd25zS8gebLra8Pu2Fbe8l
+EfKXGkJh90qX6IuxEAf6ZYGyojnP9zz/GPvG8VqLWeICrHuS0E4UT1lF9gxeKF+w6D9Fz8+vm2/7
+hNN3WpVvrJSEnu68wEqPSpP4RCHiMUVhUE4Q2OM1fEwZtN4Fv6MGn8i1zeQf1xcGDXqVdFUNaBr8
+EBtiZJ1t4JWgw5QHVw0U5r0F+7if5t+L4sbnfpb2U8WANFAoWPASUHEXMLrmeGO89LKtmyuy/uE5
+jF66CyCU3nuDuP/jVo23Eek7jPKxwV2dpAtMK9myGPW1n0sCAwEAAaNjMGEwHQYDVR0OBBYEFFLY
+iDrIn3hm7YnzezhwlMkCAjbQMA8GA1UdEwEB/wQFMAMBAf8wHwYDVR0jBBgwFoAUUtiIOsifeGbt
+ifN7OHCUyQICNtAwDgYDVR0PAQH/BAQDAgEGMA0GCSqGSIb3DQEBCwUAA4ICAQALe3KHwGCmSUyI
+WOYdiPcUZEim2FgKDk8TNd81HdTtBjHIgT5q1d07GjLukD0R0i70jsNjLiNmsGe+b7bAEzlgqqI0
+JZN1Ut6nna0Oh4lScWoWPBkdg/iaKWW+9D+a2fDzWochcYBNy+A4mz+7+uAwTc+G02UQGRjRlwKx
+K3JCaKygvU5a2hi/a5iB0P2avl4VSM0RFbnAKVy06Ij3Pjaut2L9HmLecHgQHEhb2rykOLpn7VU+
+Xlff1ANATIGk0k9jpwlCCRT8AKnCgHNPLsBA2RF7SOp6AsDT6ygBJlh0wcBzIm2Tlf05fbsq4/aC
+4yyXX04fkZT6/iyj2HYauE2yOE+b+h1IYHkm4vP9qdCa6HCPSXrW5b0KDtst842/6+OkfcvHlXHo
+2qN8xcL4dJIEG4aspCJTQLas/kx2z/uUMsA1n3Y/buWQbqCmJqK4LL7RK4X9p2jIugErsWx0Hbhz
+lefut8cl8ABMALJ+tguLHPPAUJ4lueAI3jZm/zel0btUZCzJJ7VLkn5l/9Mt4blOvH+kQSGQQXem
+OR/qnuOf0GZvBeyqdn6/axag67XH/JJULysRJyU3eExRarDzzFhdFPFqSBX/wge2sY0PjlxQRrM9
+vwGYT7JZVEc+NHt4bVaTLnPqZih4zR0Uv6CPLy64Lo7yFIrM6bV8+2ydDKXhlg==
+-----END CERTIFICATE-----
+
+Trustis FPS Root CA
+===================
+-----BEGIN CERTIFICATE-----
+MIIDZzCCAk+gAwIBAgIQGx+ttiD5JNM2a/fH8YygWTANBgkqhkiG9w0BAQUFADBFMQswCQYDVQQG
+EwJHQjEYMBYGA1UEChMPVHJ1c3RpcyBMaW1pdGVkMRwwGgYDVQQLExNUcnVzdGlzIEZQUyBSb290
+IENBMB4XDTAzMTIyMzEyMTQwNloXDTI0MDEyMTExMzY1NFowRTELMAkGA1UEBhMCR0IxGDAWBgNV
+BAoTD1RydXN0aXMgTGltaXRlZDEcMBoGA1UECxMTVHJ1c3RpcyBGUFMgUm9vdCBDQTCCASIwDQYJ
+KoZIhvcNAQEBBQADggEPADCCAQoCggEBAMVQe547NdDfxIzNjpvto8A2mfRC6qc+gIMPpqdZh8mQ
+RUN+AOqGeSoDvT03mYlmt+WKVoaTnGhLaASMk5MCPjDSNzoiYYkchU59j9WvezX2fihHiTHcDnlk
+H5nSW7r+f2C/revnPDgpai/lkQtV/+xvWNUtyd5MZnGPDNcE2gfmHhjjvSkCqPoc4Vu5g6hBSLwa
+cY3nYuUtsuvffM/bq1rKMfFMIvMFE/eC+XN5DL7XSxzA0RU8k0Fk0ea+IxciAIleH2ulrG6nS4zt
+o3Lmr2NNL4XSFDWaLk6M6jKYKIahkQlBOrTh4/L68MkKokHdqeMDx4gVOxzUGpTXn2RZEm0CAwEA
+AaNTMFEwDwYDVR0TAQH/BAUwAwEB/zAfBgNVHSMEGDAWgBS6+nEleYtXQSUhhgtx67JkDoshZzAd
+BgNVHQ4EFgQUuvpxJXmLV0ElIYYLceuyZA6LIWcwDQYJKoZIhvcNAQEFBQADggEBAH5Y//01GX2c
+GE+esCu8jowU/yyg2kdbw++BLa8F6nRIW/M+TgfHbcWzk88iNVy2P3UnXwmWzaD+vkAMXBJV+JOC
+yinpXj9WV4s4NvdFGkwozZ5BuO1WTISkQMi4sKUraXAEasP41BIy+Q7DsdwyhEQsb8tGD+pmQQ9P
+8Vilpg0ND2HepZ5dfWWhPBfnqFVO76DH7cZEf1T1o+CP8HxVIo8ptoGj4W1OLBuAZ+ytIJ8MYmHV
+l/9D7S3B2l0pKoU/rGXuhg8FjZBf3+6f9L/uHfuY5H+QK4R4EA5sSVPvFVtlRkpdr7r7OnIdzfYl
+iB6XzCGcKQENZetX2fNXlrtIzYE=
+-----END CERTIFICATE-----
+
+StartCom Certification Authority
+================================
+-----BEGIN CERTIFICATE-----
+MIIHhzCCBW+gAwIBAgIBLTANBgkqhkiG9w0BAQsFADB9MQswCQYDVQQGEwJJTDEWMBQGA1UEChMN
+U3RhcnRDb20gTHRkLjErMCkGA1UECxMiU2VjdXJlIERpZ2l0YWwgQ2VydGlmaWNhdGUgU2lnbmlu
+ZzEpMCcGA1UEAxMgU3RhcnRDb20gQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkwHhcNMDYwOTE3MTk0
+NjM3WhcNMzYwOTE3MTk0NjM2WjB9MQswCQYDVQQGEwJJTDEWMBQGA1UEChMNU3RhcnRDb20gTHRk
+LjErMCkGA1UECxMiU2VjdXJlIERpZ2l0YWwgQ2VydGlmaWNhdGUgU2lnbmluZzEpMCcGA1UEAxMg
+U3RhcnRDb20gQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAw
+ggIKAoICAQDBiNsJvGxGfHiflXu1M5DycmLWwTYgIiRezul38kMKogZkpMyONvg45iPwbm2xPN1y
+o4UcodM9tDMr0y+v/uqwQVlntsQGfQqedIXWeUyAN3rfOQVSWff0G0ZDpNKFhdLDcfN1YjS6LIp/
+Ho/u7TTQEceWzVI9ujPW3U3eCztKS5/CJi/6tRYccjV3yjxd5srhJosaNnZcAdt0FCX+7bWgiA/d
+eMotHweXMAEtcnn6RtYTKqi5pquDSR3l8u/d5AGOGAqPY1MWhWKpDhk6zLVmpsJrdAfkK+F2PrRt
+2PZE4XNiHzvEvqBTViVsUQn3qqvKv3b9bZvzndu/PWa8DFaqr5hIlTpL36dYUNk4dalb6kMMAv+Z
+6+hsTXBbKWWc3apdzK8BMewM69KN6Oqce+Zu9ydmDBpI125C4z/eIT574Q1w+2OqqGwaVLRcJXrJ
+osmLFqa7LH4XXgVNWG4SHQHuEhANxjJ/GP/89PrNbpHoNkm+Gkhpi8KWTRoSsmkXwQqQ1vp5Iki/
+untp+HDH+no32NgN0nZPV/+Qt+OR0t3vwmC3Zzrd/qqc8NSLf3Iizsafl7b4r4qgEKjZ+xjGtrVc
+UjyJthkqcwEKDwOzEmDyei+B26Nu/yYwl/WL3YlXtq09s68rxbd2AvCl1iuahhQqcvbjM4xdCUsT
+37uMdBNSSwIDAQABo4ICEDCCAgwwDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMCAQYwHQYD
+VR0OBBYEFE4L7xqkQFulF2mHMMo0aEPQQa7yMB8GA1UdIwQYMBaAFE4L7xqkQFulF2mHMMo0aEPQ
+Qa7yMIIBWgYDVR0gBIIBUTCCAU0wggFJBgsrBgEEAYG1NwEBATCCATgwLgYIKwYBBQUHAgEWImh0
+dHA6Ly93d3cuc3RhcnRzc2wuY29tL3BvbGljeS5wZGYwNAYIKwYBBQUHAgEWKGh0dHA6Ly93d3cu
+c3RhcnRzc2wuY29tL2ludGVybWVkaWF0ZS5wZGYwgc8GCCsGAQUFBwICMIHCMCcWIFN0YXJ0IENv
+bW1lcmNpYWwgKFN0YXJ0Q29tKSBMdGQuMAMCAQEagZZMaW1pdGVkIExpYWJpbGl0eSwgcmVhZCB0
+aGUgc2VjdGlvbiAqTGVnYWwgTGltaXRhdGlvbnMqIG9mIHRoZSBTdGFydENvbSBDZXJ0aWZpY2F0
+aW9uIEF1dGhvcml0eSBQb2xpY3kgYXZhaWxhYmxlIGF0IGh0dHA6Ly93d3cuc3RhcnRzc2wuY29t
+L3BvbGljeS5wZGYwEQYJYIZIAYb4QgEBBAQDAgAHMDgGCWCGSAGG+EIBDQQrFilTdGFydENvbSBG
+cmVlIFNTTCBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTANBgkqhkiG9w0BAQsFAAOCAgEAjo/n3JR5
+fPGFf59Jb2vKXfuM/gTFwWLRfUKKvFO3lANmMD+x5wqnUCBVJX92ehQN6wQOQOY+2IirByeDqXWm
+N3PH/UvSTa0XQMhGvjt/UfzDtgUx3M2FIk5xt/JxXrAaxrqTi3iSSoX4eA+D/i+tLPfkpLst0OcN
+Org+zvZ49q5HJMqjNTbOx8aHmNrs++myziebiMMEofYLWWivydsQD032ZGNcpRJvkrKTlMeIFw6T
+tn5ii5B/q06f/ON1FE8qMt9bDeD1e5MNq6HPh+GlBEXoPBKlCcWw0bdT82AUuoVpaiF8H3VhFyAX
+e2w7QSlc4axa0c2Mm+tgHRns9+Ww2vl5GKVFP0lDV9LdJNUso/2RjSe15esUBppMeyG7Oq0wBhjA
+2MFrLH9ZXF2RsXAiV+uKa0hK1Q8p7MZAwC+ITGgBF3f0JBlPvfrhsiAhS90a2Cl9qrjeVOwhVYBs
+HvUwyKMQ5bLmKhQxw4UtjJixhlpPiVktucf3HMiKf8CdBUrmQk9io20ppB+Fq9vlgcitKj1MXVuE
+JnHEhV5xJMqlG2zYYdMa4FTbzrqpMrUi9nNBCV24F10OD5mQ1kfabwo6YigUZ4LZ8dCAWZvLMdib
+D4x3TrVoivJs9iQOLWxwxXPR3hTQcY+203sC9uO41Alua551hDnmfyWl8kgAwKQB2j8=
+-----END CERTIFICATE-----
+
+StartCom Certification Authority G2
+===================================
+-----BEGIN CERTIFICATE-----
+MIIFYzCCA0ugAwIBAgIBOzANBgkqhkiG9w0BAQsFADBTMQswCQYDVQQGEwJJTDEWMBQGA1UEChMN
+U3RhcnRDb20gTHRkLjEsMCoGA1UEAxMjU3RhcnRDb20gQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkg
+RzIwHhcNMTAwMTAxMDEwMDAxWhcNMzkxMjMxMjM1OTAxWjBTMQswCQYDVQQGEwJJTDEWMBQGA1UE
+ChMNU3RhcnRDb20gTHRkLjEsMCoGA1UEAxMjU3RhcnRDb20gQ2VydGlmaWNhdGlvbiBBdXRob3Jp
+dHkgRzIwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQC2iTZbB7cgNr2Cu+EWIAOVeq8O
+o1XJJZlKxdBWQYeQTSFgpBSHO839sj60ZwNq7eEPS8CRhXBF4EKe3ikj1AENoBB5uNsDvfOpL9HG
+4A/LnooUCri99lZi8cVytjIl2bLzvWXFDSxu1ZJvGIsAQRSCb0AgJnooD/Uefyf3lLE3PbfHkffi
+Aez9lInhzG7TNtYKGXmu1zSCZf98Qru23QumNK9LYP5/Q0kGi4xDuFby2X8hQxfqp0iVAXV16iul
+Q5XqFYSdCI0mblWbq9zSOdIxHWDirMxWRST1HFSr7obdljKF+ExP6JV2tgXdNiNnvP8V4so75qbs
+O+wmETRIjfaAKxojAuuKHDp2KntWFhxyKrOq42ClAJ8Em+JvHhRYW6Vsi1g8w7pOOlz34ZYrPu8H
+vKTlXcxNnw3h3Kq74W4a7I/htkxNeXJdFzULHdfBR9qWJODQcqhaX2YtENwvKhOuJv4KHBnM0D4L
+nMgJLvlblnpHnOl68wVQdJVznjAJ85eCXuaPOQgeWeU1FEIT/wCc976qUM/iUUjXuG+v+E5+M5iS
+FGI6dWPPe/regjupuznixL0sAA7IF6wT700ljtizkC+p2il9Ha90OrInwMEePnWjFqmveiJdnxMa
+z6eg6+OGCtP95paV1yPIN93EfKo2rJgaErHgTuixO/XWb/Ew1wIDAQABo0IwQDAPBgNVHRMBAf8E
+BTADAQH/MA4GA1UdDwEB/wQEAwIBBjAdBgNVHQ4EFgQUS8W0QGutHLOlHGVuRjaJhwUMDrYwDQYJ
+KoZIhvcNAQELBQADggIBAHNXPyzVlTJ+N9uWkusZXn5T50HsEbZH77Xe7XRcxfGOSeD8bpkTzZ+K
+2s06Ctg6Wgk/XzTQLwPSZh0avZyQN8gMjgdalEVGKua+etqhqaRpEpKwfTbURIfXUfEpY9Z1zRbk
+J4kd+MIySP3bmdCPX1R0zKxnNBFi2QwKN4fRoxdIjtIXHfbX/dtl6/2o1PXWT6RbdejF0mCy2wl+
+JYt7ulKSnj7oxXehPOBKc2thz4bcQ///If4jXSRK9dNtD2IEBVeC2m6kMyV5Sy5UGYvMLD0w6dEG
+/+gyRr61M3Z3qAFdlsHB1b6uJcDJHgoJIIihDsnzb02CVAAgp9KP5DlUFy6NHrgbuxu9mk47EDTc
+nIhT76IxW1hPkWLIwpqazRVdOKnWvvgTtZ8SafJQYqz7Fzf07rh1Z2AQ+4NQ+US1dZxAF7L+/Xld
+blhYXzD8AK6vM8EOTmy6p6ahfzLbOOCxchcKK5HsamMm7YnUeMx0HgX4a/6ManY5Ka5lIxKVCCIc
+l85bBu4M4ru8H0ST9tg4RQUh7eStqxK2A6RCLi3ECToDZ2mEmuFZkIoohdVddLHRDiBYmxOlsGOm
+7XtH/UVVMKTumtTm4ofvmMkyghEpIrwACjFeLQ/Ajulrso8uBtjRkcfGEvRM/TAXw8HaOFvjqerm
+obp573PYtlNXLfbQ4ddI
+-----END CERTIFICATE-----
+
+Buypass Class 2 Root CA
+=======================
+-----BEGIN CERTIFICATE-----
+MIIFWTCCA0GgAwIBAgIBAjANBgkqhkiG9w0BAQsFADBOMQswCQYDVQQGEwJOTzEdMBsGA1UECgwU
+QnV5cGFzcyBBUy05ODMxNjMzMjcxIDAeBgNVBAMMF0J1eXBhc3MgQ2xhc3MgMiBSb290IENBMB4X
+DTEwMTAyNjA4MzgwM1oXDTQwMTAyNjA4MzgwM1owTjELMAkGA1UEBhMCTk8xHTAbBgNVBAoMFEJ1
+eXBhc3MgQVMtOTgzMTYzMzI3MSAwHgYDVQQDDBdCdXlwYXNzIENsYXNzIDIgUm9vdCBDQTCCAiIw
+DQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBANfHXvfBB9R3+0Mh9PT1aeTuMgHbo4Yf5FkNuud1
+g1Lr6hxhFUi7HQfKjK6w3Jad6sNgkoaCKHOcVgb/S2TwDCo3SbXlzwx87vFKu3MwZfPVL4O2fuPn
+9Z6rYPnT8Z2SdIrkHJasW4DptfQxh6NR/Md+oW+OU3fUl8FVM5I+GC911K2GScuVr1QGbNgGE41b
+/+EmGVnAJLqBcXmQRFBoJJRfuLMR8SlBYaNByyM21cHxMlAQTn/0hpPshNOOvEu/XAFOBz3cFIqU
+CqTqc/sLUegTBxj6DvEr0VQVfTzh97QZQmdiXnfgolXsttlpF9U6r0TtSsWe5HonfOV116rLJeff
+awrbD02TTqigzXsu8lkBarcNuAeBfos4GzjmCleZPe4h6KP1DBbdi+w0jpwqHAAVF41og9JwnxgI
+zRFo1clrUs3ERo/ctfPYV3Me6ZQ5BL/T3jjetFPsaRyifsSP5BtwrfKi+fv3FmRmaZ9JUaLiFRhn
+Bkp/1Wy1TbMz4GHrXb7pmA8y1x1LPC5aAVKRCfLf6o3YBkBjqhHk/sM3nhRSP/TizPJhk9H9Z2vX
+Uq6/aKtAQ6BXNVN48FP4YUIHZMbXb5tMOA1jrGKvNouicwoN9SG9dKpN6nIDSdvHXx1iY8f93ZHs
+M+71bbRuMGjeyNYmsHVee7QHIJihdjK4TWxPAgMBAAGjQjBAMA8GA1UdEwEB/wQFMAMBAf8wHQYD
+VR0OBBYEFMmAd+BikoL1RpzzuvdMw964o605MA4GA1UdDwEB/wQEAwIBBjANBgkqhkiG9w0BAQsF
+AAOCAgEAU18h9bqwOlI5LJKwbADJ784g7wbylp7ppHR/ehb8t/W2+xUbP6umwHJdELFx7rxP462s
+A20ucS6vxOOto70MEae0/0qyexAQH6dXQbLArvQsWdZHEIjzIVEpMMpghq9Gqx3tOluwlN5E40EI
+osHsHdb9T7bWR9AUC8rmyrV7d35BH16Dx7aMOZawP5aBQW9gkOLo+fsicdl9sz1Gv7SEr5AcD48S
+aq/v7h56rgJKihcrdv6sVIkkLE8/trKnToyokZf7KcZ7XC25y2a2t6hbElGFtQl+Ynhw/qlqYLYd
+DnkM/crqJIByw5c/8nerQyIKx+u2DISCLIBrQYoIwOula9+ZEsuK1V6ADJHgJgg2SMX6OBE1/yWD
+LfJ6v9r9jv6ly0UsH8SIU653DtmadsWOLB2jutXsMq7Aqqz30XpN69QH4kj3Io6wpJ9qzo6ysmD0
+oyLQI+uUWnpp3Q+/QFesa1lQ2aOZ4W7+jQF5JyMV3pKdewlNWudLSDBaGOYKbeaP4NK75t98biGC
+wWg5TbSYWGZizEqQXsP6JwSxeRV0mcy+rSDeJmAc61ZRpqPq5KM/p/9h3PFaTWwyI0PurKju7koS
+CTxdccK+efrCh2gdC/1cacwG0Jp9VJkqyTkaGa9LKkPzY11aWOIv4x3kqdbQCtCev9eBCfHJxyYN
+rJgWVqA=
+-----END CERTIFICATE-----
+
+Buypass Class 3 Root CA
+=======================
+-----BEGIN CERTIFICATE-----
+MIIFWTCCA0GgAwIBAgIBAjANBgkqhkiG9w0BAQsFADBOMQswCQYDVQQGEwJOTzEdMBsGA1UECgwU
+QnV5cGFzcyBBUy05ODMxNjMzMjcxIDAeBgNVBAMMF0J1eXBhc3MgQ2xhc3MgMyBSb290IENBMB4X
+DTEwMTAyNjA4Mjg1OFoXDTQwMTAyNjA4Mjg1OFowTjELMAkGA1UEBhMCTk8xHTAbBgNVBAoMFEJ1
+eXBhc3MgQVMtOTgzMTYzMzI3MSAwHgYDVQQDDBdCdXlwYXNzIENsYXNzIDMgUm9vdCBDQTCCAiIw
+DQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBAKXaCpUWUOOV8l6ddjEGMnqb8RB2uACatVI2zSRH
+sJ8YZLya9vrVediQYkwiL944PdbgqOkcLNt4EemOaFEVcsfzM4fkoF0LXOBXByow9c3EN3coTRiR
+5r/VUv1xLXA+58bEiuPwKAv0dpihi4dVsjoT/Lc+JzeOIuOoTyrvYLs9tznDDgFHmV0ST9tD+leh
+7fmdvhFHJlsTmKtdFoqwNxxXnUX/iJY2v7vKB3tvh2PX0DJq1l1sDPGzbjniazEuOQAnFN44wOwZ
+ZoYS6J1yFhNkUsepNxz9gjDthBgd9K5c/3ATAOux9TN6S9ZV+AWNS2mw9bMoNlwUxFFzTWsL8TQH
+2xc519woe2v1n/MuwU8XKhDzzMro6/1rqy6any2CbgTUUgGTLT2G/H783+9CHaZr77kgxve9oKeV
+/afmiSTYzIw0bOIjL9kSGiG5VZFvC5F5GQytQIgLcOJ60g7YaEi7ghM5EFjp2CoHxhLbWNvSO1UQ
+RwUVZ2J+GGOmRj8JDlQyXr8NYnon74Do29lLBlo3WiXQCBJ31G8JUJc9yB3D34xFMFbG02SrZvPA
+Xpacw8Tvw3xrizp5f7NJzz3iiZ+gMEuFuZyUJHmPfWupRWgPK9Dx2hzLabjKSWJtyNBjYt1gD1iq
+j6G8BaVmos8bdrKEZLFMOVLAMLrwjEsCsLa3AgMBAAGjQjBAMA8GA1UdEwEB/wQFMAMBAf8wHQYD
+VR0OBBYEFEe4zf/lb+74suwvTg75JbCOPGvDMA4GA1UdDwEB/wQEAwIBBjANBgkqhkiG9w0BAQsF
+AAOCAgEAACAjQTUEkMJAYmDv4jVM1z+s4jSQuKFvdvoWFqRINyzpkMLyPPgKn9iB5btb2iUspKdV
+cSQy9sgL8rxq+JOssgfCX5/bzMiKqr5qb+FJEMwx14C7u8jYog5kV+qi9cKpMRXSIGrs/CIBKM+G
+uIAeqcwRpTzyFrNHnfzSgCHEy9BHcEGhyoMZCCxt8l13nIoUE9Q2HJLw5QY33KbmkJs4j1xrG0aG
+Q0JfPgEHU1RdZX33inOhmlRaHylDFCfChQ+1iHsaO5S3HWCntZznKWlXWpuTekMwGwPXYshApqr8
+ZORK15FTAaggiG6cX0S5y2CBNOxv033aSF/rtJC8LakcC6wc1aJoIIAE1vyxjy+7SjENSoYc6+I2
+KSb12tjE8nVhz36udmNKekBlk4f4HoCMhuWG1o8O/FMsYOgWYRqiPkN7zTlgVGr18okmAWiDSKIz
+6MkEkbIRNBE+6tBDGR8Dk5AM/1E9V/RBbuHLoL7ryWPNbczk+DaqaJ3tvV2XcEQNtg413OEMXbug
+UZTLfhbrES+jkkXITHHZvMmZUldGL1DPvTVp9D0VzgalLA8+9oG6lLvDu79leNKGef9JOxqDDPDe
+eOzI8k1MGt6CKfjBWtrt7uYnXuhF0J0cUahoq0Tj0Itq4/g7u9xN12TyUb7mqqta6THuBrxzvxNi
+Cp/HuZc=
+-----END CERTIFICATE-----
+
+T-TeleSec GlobalRoot Class 3
+============================
+-----BEGIN CERTIFICATE-----
+MIIDwzCCAqugAwIBAgIBATANBgkqhkiG9w0BAQsFADCBgjELMAkGA1UEBhMCREUxKzApBgNVBAoM
+IlQtU3lzdGVtcyBFbnRlcnByaXNlIFNlcnZpY2VzIEdtYkgxHzAdBgNVBAsMFlQtU3lzdGVtcyBU
+cnVzdCBDZW50ZXIxJTAjBgNVBAMMHFQtVGVsZVNlYyBHbG9iYWxSb290IENsYXNzIDMwHhcNMDgx
+MDAxMTAyOTU2WhcNMzMxMDAxMjM1OTU5WjCBgjELMAkGA1UEBhMCREUxKzApBgNVBAoMIlQtU3lz
+dGVtcyBFbnRlcnByaXNlIFNlcnZpY2VzIEdtYkgxHzAdBgNVBAsMFlQtU3lzdGVtcyBUcnVzdCBD
+ZW50ZXIxJTAjBgNVBAMMHFQtVGVsZVNlYyBHbG9iYWxSb290IENsYXNzIDMwggEiMA0GCSqGSIb3
+DQEBAQUAA4IBDwAwggEKAoIBAQC9dZPwYiJvJK7genasfb3ZJNW4t/zN8ELg63iIVl6bmlQdTQyK
+9tPPcPRStdiTBONGhnFBSivwKixVA9ZIw+A5OO3yXDw/RLyTPWGrTs0NvvAgJ1gORH8EGoel15YU
+NpDQSXuhdfsaa3Ox+M6pCSzyU9XDFES4hqX2iys52qMzVNn6chr3IhUciJFrf2blw2qAsCTz34ZF
+iP0Zf3WHHx+xGwpzJFu5ZeAsVMhg02YXP+HMVDNzkQI6pn97djmiH5a2OK61yJN0HZ65tOVgnS9W
+0eDrXltMEnAMbEQgqxHY9Bn20pxSN+f6tsIxO0rUFJmtxxr1XV/6B7h8DR/Wgx6zAgMBAAGjQjBA
+MA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgEGMB0GA1UdDgQWBBS1A/d2O2GCahKqGFPr
+AyGUv/7OyjANBgkqhkiG9w0BAQsFAAOCAQEAVj3vlNW92nOyWL6ukK2YJ5f+AbGwUgC4TeQbIXQb
+fsDuXmkqJa9c1h3a0nnJ85cp4IaH3gRZD/FZ1GSFS5mvJQQeyUapl96Cshtwn5z2r3Ex3XsFpSzT
+ucpH9sry9uetuUg/vBa3wW306gmv7PO15wWeph6KU1HWk4HMdJP2udqmJQV0eVp+QD6CSyYRMG7h
+P0HHRwA11fXT91Q+gT3aSWqas+8QPebrb9HIIkfLzM8BMZLZGOMivgkeGj5asuRrDFR6fUNOuIml
+e9eiPZaGzPImNC1qkp2aGtAw4l1OBLBfiyB+d8E9lYLRRpo7PHi4b6HQDWSieB4pTpPDpFQUWw==
+-----END CERTIFICATE-----
+
+EE Certification Centre Root CA
+===============================
+-----BEGIN CERTIFICATE-----
+MIIEAzCCAuugAwIBAgIQVID5oHPtPwBMyonY43HmSjANBgkqhkiG9w0BAQUFADB1MQswCQYDVQQG
+EwJFRTEiMCAGA1UECgwZQVMgU2VydGlmaXRzZWVyaW1pc2tlc2t1czEoMCYGA1UEAwwfRUUgQ2Vy
+dGlmaWNhdGlvbiBDZW50cmUgUm9vdCBDQTEYMBYGCSqGSIb3DQEJARYJcGtpQHNrLmVlMCIYDzIw
+MTAxMDMwMTAxMDMwWhgPMjAzMDEyMTcyMzU5NTlaMHUxCzAJBgNVBAYTAkVFMSIwIAYDVQQKDBlB
+UyBTZXJ0aWZpdHNlZXJpbWlza2Vza3VzMSgwJgYDVQQDDB9FRSBDZXJ0aWZpY2F0aW9uIENlbnRy
+ZSBSb290IENBMRgwFgYJKoZIhvcNAQkBFglwa2lAc2suZWUwggEiMA0GCSqGSIb3DQEBAQUAA4IB
+DwAwggEKAoIBAQDIIMDs4MVLqwd4lfNE7vsLDP90jmG7sWLqI9iroWUyeuuOF0+W2Ap7kaJjbMeM
+TC55v6kF/GlclY1i+blw7cNRfdCT5mzrMEvhvH2/UpvObntl8jixwKIy72KyaOBhU8E2lf/slLo2
+rpwcpzIP5Xy0xm90/XsY6KxX7QYgSzIwWFv9zajmofxwvI6Sc9uXp3whrj3B9UiHbCe9nyV0gVWw
+93X2PaRka9ZP585ArQ/dMtO8ihJTmMmJ+xAdTX7Nfh9WDSFwhfYggx/2uh8Ej+p3iDXE/+pOoYtN
+P2MbRMNE1CV2yreN1x5KZmTNXMWcg+HCCIia7E6j8T4cLNlsHaFLAgMBAAGjgYowgYcwDwYDVR0T
+AQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMCAQYwHQYDVR0OBBYEFBLyWj7qVhy/zQas8fElyalL1BSZ
+MEUGA1UdJQQ+MDwGCCsGAQUFBwMCBggrBgEFBQcDAQYIKwYBBQUHAwMGCCsGAQUFBwMEBggrBgEF
+BQcDCAYIKwYBBQUHAwkwDQYJKoZIhvcNAQEFBQADggEBAHv25MANqhlHt01Xo/6tu7Fq1Q+e2+Rj
+xY6hUFaTlrg4wCQiZrxTFGGVv9DHKpY5P30osxBAIWrEr7BSdxjhlthWXePdNl4dp1BUoMUq5KqM
+lIpPnTX/dqQGE5Gion0ARD9V04I8GtVbvFZMIi5GQ4okQC3zErg7cBqklrkar4dBGmoYDQZPxz5u
+uSlNDUmJEYcyW+ZLBMjkXOZ0c5RdFpgTlf7727FE5TpwrDdr5rMzcijJs1eg9gIWiAYLtqZLICjU
+3j2LrTcFU3T+bsy8QxdxXvnFzBqpYe73dgzzcvRyrc9yAjYHR8/vGVCJYMzpJJUPwssd8m92kMfM
+dcGWxZ0=
+-----END CERTIFICATE-----
+
+TURKTRUST Certificate Services Provider Root 2007
+=================================================
+-----BEGIN CERTIFICATE-----
+MIIEPTCCAyWgAwIBAgIBATANBgkqhkiG9w0BAQUFADCBvzE/MD0GA1UEAww2VMOcUktUUlVTVCBF
+bGVrdHJvbmlrIFNlcnRpZmlrYSBIaXptZXQgU2HEn2xhecSxY8Sxc8SxMQswCQYDVQQGEwJUUjEP
+MA0GA1UEBwwGQW5rYXJhMV4wXAYDVQQKDFVUw5xSS1RSVVNUIEJpbGdpIMSwbGV0acWfaW0gdmUg
+QmlsacWfaW0gR8O8dmVubGnEn2kgSGl6bWV0bGVyaSBBLsWeLiAoYykgQXJhbMSxayAyMDA3MB4X
+DTA3MTIyNTE4MzcxOVoXDTE3MTIyMjE4MzcxOVowgb8xPzA9BgNVBAMMNlTDnFJLVFJVU1QgRWxl
+a3Ryb25payBTZXJ0aWZpa2EgSGl6bWV0IFNhxJ9sYXnEsWPEsXPEsTELMAkGA1UEBhMCVFIxDzAN
+BgNVBAcMBkFua2FyYTFeMFwGA1UECgxVVMOcUktUUlVTVCBCaWxnaSDEsGxldGnFn2ltIHZlIEJp
+bGnFn2ltIEfDvHZlbmxpxJ9pIEhpem1ldGxlcmkgQS7Fni4gKGMpIEFyYWzEsWsgMjAwNzCCASIw
+DQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAKu3PgqMyKVYFeaK7yc9SrToJdPNM8Ig3BnuiD9N
+YvDdE3ePYakqtdTyuTFYKTsvP2qcb3N2Je40IIDu6rfwxArNK4aUyeNgsURSsloptJGXg9i3phQv
+KUmi8wUG+7RP2qFsmmaf8EMJyupyj+sA1zU511YXRxcw9L6/P8JorzZAwan0qafoEGsIiveGHtya
+KhUG9qPw9ODHFNRRf8+0222vR5YXm3dx2KdxnSQM9pQ/hTEST7ruToK4uT6PIzdezKKqdfcYbwnT
+rqdUKDT74eA7YH2gvnmJhsifLfkKS8RQouf9eRbHegsYz85M733WB2+Y8a+xwXrXgTW4qhe04MsC
+AwEAAaNCMEAwHQYDVR0OBBYEFCnFkKslrxHkYb+j/4hhkeYO/pyBMA4GA1UdDwEB/wQEAwIBBjAP
+BgNVHRMBAf8EBTADAQH/MA0GCSqGSIb3DQEBBQUAA4IBAQAQDdr4Ouwo0RSVgrESLFF6QSU2TJ/s
+Px+EnWVUXKgWAkD6bho3hO9ynYYKVZ1WKKxmLNA6VpM0ByWtCLCPyA8JWcqdmBzlVPi5RX9ql2+I
+aE1KBiY3iAIOtsbWcpnOa3faYjGkVh+uX4132l32iPwa2Z61gfAyuOOI0JzzaqC5mxRZNTZPz/OO
+Xl0XrRWV2N2y1RVuAE6zS89mlOTgzbUF2mNXi+WzqtvALhyQRNsaXRik7r4EW5nVcV9VZWRi1aKb
+BFmGyGJ353yCRWo9F7/snXUMrqNvWtMvmDb08PUZqxFdyKbjKlhqQgnDvZImZjINXQhVdP+MmNAK
+poRq0Tl9
+-----END CERTIFICATE-----
+
+D-TRUST Root Class 3 CA 2 2009
+==============================
+-----BEGIN CERTIFICATE-----
+MIIEMzCCAxugAwIBAgIDCYPzMA0GCSqGSIb3DQEBCwUAME0xCzAJBgNVBAYTAkRFMRUwEwYDVQQK
+DAxELVRydXN0IEdtYkgxJzAlBgNVBAMMHkQtVFJVU1QgUm9vdCBDbGFzcyAzIENBIDIgMjAwOTAe
+Fw0wOTExMDUwODM1NThaFw0yOTExMDUwODM1NThaME0xCzAJBgNVBAYTAkRFMRUwEwYDVQQKDAxE
+LVRydXN0IEdtYkgxJzAlBgNVBAMMHkQtVFJVU1QgUm9vdCBDbGFzcyAzIENBIDIgMjAwOTCCASIw
+DQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANOySs96R+91myP6Oi/WUEWJNTrGa9v+2wBoqOAD
+ER03UAifTUpolDWzU9GUY6cgVq/eUXjsKj3zSEhQPgrfRlWLJ23DEE0NkVJD2IfgXU42tSHKXzlA
+BF9bfsyjxiupQB7ZNoTWSPOSHjRGICTBpFGOShrvUD9pXRl/RcPHAY9RySPocq60vFYJfxLLHLGv
+KZAKyVXMD9O0Gu1HNVpK7ZxzBCHQqr0ME7UAyiZsxGsMlFqVlNpQmvH/pStmMaTJOKDfHR+4CS7z
+p+hnUquVH+BGPtikw8paxTGA6Eian5Rp/hnd2HN8gcqW3o7tszIFZYQ05ub9VxC1X3a/L7AQDcUC
+AwEAAaOCARowggEWMA8GA1UdEwEB/wQFMAMBAf8wHQYDVR0OBBYEFP3aFMSfMN4hvR5COfyrYyNJ
+4PGEMA4GA1UdDwEB/wQEAwIBBjCB0wYDVR0fBIHLMIHIMIGAoH6gfIZ6bGRhcDovL2RpcmVjdG9y
+eS5kLXRydXN0Lm5ldC9DTj1ELVRSVVNUJTIwUm9vdCUyMENsYXNzJTIwMyUyMENBJTIwMiUyMDIw
+MDksTz1ELVRydXN0JTIwR21iSCxDPURFP2NlcnRpZmljYXRlcmV2b2NhdGlvbmxpc3QwQ6BBoD+G
+PWh0dHA6Ly93d3cuZC10cnVzdC5uZXQvY3JsL2QtdHJ1c3Rfcm9vdF9jbGFzc18zX2NhXzJfMjAw
+OS5jcmwwDQYJKoZIhvcNAQELBQADggEBAH+X2zDI36ScfSF6gHDOFBJpiBSVYEQBrLLpME+bUMJm
+2H6NMLVwMeniacfzcNsgFYbQDfC+rAF1hM5+n02/t2A7nPPKHeJeaNijnZflQGDSNiH+0LS4F9p0
+o3/U37CYAqxva2ssJSRyoWXuJVrl5jLn8t+rSfrzkGkj2wTZ51xY/GXUl77M/C4KzCUqNQT4YJEV
+dT1B/yMfGchs64JTBKbkTCJNjYy6zltz7GRUUG3RnFX7acM2w4y8PIWmawomDeCTmGCufsYkl4ph
+X5GOZpIJhzbNi5stPvZR1FDUWSi9g/LMKHtThm3YJohw1+qRzT65ysCQblrGXnRl11z+o+I=
+-----END CERTIFICATE-----
+
+D-TRUST Root Class 3 CA 2 EV 2009
+=================================
+-----BEGIN CERTIFICATE-----
+MIIEQzCCAyugAwIBAgIDCYP0MA0GCSqGSIb3DQEBCwUAMFAxCzAJBgNVBAYTAkRFMRUwEwYDVQQK
+DAxELVRydXN0IEdtYkgxKjAoBgNVBAMMIUQtVFJVU1QgUm9vdCBDbGFzcyAzIENBIDIgRVYgMjAw
+OTAeFw0wOTExMDUwODUwNDZaFw0yOTExMDUwODUwNDZaMFAxCzAJBgNVBAYTAkRFMRUwEwYDVQQK
+DAxELVRydXN0IEdtYkgxKjAoBgNVBAMMIUQtVFJVU1QgUm9vdCBDbGFzcyAzIENBIDIgRVYgMjAw
+OTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAJnxhDRwui+3MKCOvXwEz75ivJn9gpfS
+egpnljgJ9hBOlSJzmY3aFS3nBfwZcyK3jpgAvDw9rKFs+9Z5JUut8Mxk2og+KbgPCdM03TP1YtHh
+zRnp7hhPTFiu4h7WDFsVWtg6uMQYZB7jM7K1iXdODL/ZlGsTl28So/6ZqQTMFexgaDbtCHu39b+T
+7WYxg4zGcTSHThfqr4uRjRxWQa4iN1438h3Z0S0NL2lRp75mpoo6Kr3HGrHhFPC+Oh25z1uxav60
+sUYgovseO3Dvk5h9jHOW8sXvhXCtKSb8HgQ+HKDYD8tSg2J87otTlZCpV6LqYQXY+U3EJ/pure35
+11H3a6UCAwEAAaOCASQwggEgMA8GA1UdEwEB/wQFMAMBAf8wHQYDVR0OBBYEFNOUikxiEyoZLsyv
+cop9NteaHNxnMA4GA1UdDwEB/wQEAwIBBjCB3QYDVR0fBIHVMIHSMIGHoIGEoIGBhn9sZGFwOi8v
+ZGlyZWN0b3J5LmQtdHJ1c3QubmV0L0NOPUQtVFJVU1QlMjBSb290JTIwQ2xhc3MlMjAzJTIwQ0El
+MjAyJTIwRVYlMjAyMDA5LE89RC1UcnVzdCUyMEdtYkgsQz1ERT9jZXJ0aWZpY2F0ZXJldm9jYXRp
+b25saXN0MEagRKBChkBodHRwOi8vd3d3LmQtdHJ1c3QubmV0L2NybC9kLXRydXN0X3Jvb3RfY2xh
+c3NfM19jYV8yX2V2XzIwMDkuY3JsMA0GCSqGSIb3DQEBCwUAA4IBAQA07XtaPKSUiO8aEXUHL7P+
+PPoeUSbrh/Yp3uDx1MYkCenBz1UbtDDZzhr+BlGmFaQt77JLvyAoJUnRpjZ3NOhk31KxEcdzes05
+nsKtjHEh8lprr988TlWvsoRlFIm5d8sqMb7Po23Pb0iUMkZv53GMoKaEGTcH8gNFCSuGdXzfX2lX
+ANtu2KZyIktQ1HWYVt+3GP9DQ1CuekR78HlR10M9p9OB0/DJT7naxpeG0ILD5EJt/rDiZE4OJudA
+NCa1CInXCGNjOCd1HjPqbqjdn5lPdE2BiYBL3ZqXKVwvvoFBuYz/6n1gBp7N1z3TLqMVvKjmJuVv
+w9y4AyHqnxbxLFS1
+-----END CERTIFICATE-----
+
+PSCProcert
+==========
+-----BEGIN CERTIFICATE-----
+MIIJhjCCB26gAwIBAgIBCzANBgkqhkiG9w0BAQsFADCCAR4xPjA8BgNVBAMTNUF1dG9yaWRhZCBk
+ZSBDZXJ0aWZpY2FjaW9uIFJhaXogZGVsIEVzdGFkbyBWZW5lem9sYW5vMQswCQYDVQQGEwJWRTEQ
+MA4GA1UEBxMHQ2FyYWNhczEZMBcGA1UECBMQRGlzdHJpdG8gQ2FwaXRhbDE2MDQGA1UEChMtU2lz
+dGVtYSBOYWNpb25hbCBkZSBDZXJ0aWZpY2FjaW9uIEVsZWN0cm9uaWNhMUMwQQYDVQQLEzpTdXBl
+cmludGVuZGVuY2lhIGRlIFNlcnZpY2lvcyBkZSBDZXJ0aWZpY2FjaW9uIEVsZWN0cm9uaWNhMSUw
+IwYJKoZIhvcNAQkBFhZhY3JhaXpAc3VzY2VydGUuZ29iLnZlMB4XDTEwMTIyODE2NTEwMFoXDTIw
+MTIyNTIzNTk1OVowgdExJjAkBgkqhkiG9w0BCQEWF2NvbnRhY3RvQHByb2NlcnQubmV0LnZlMQ8w
+DQYDVQQHEwZDaGFjYW8xEDAOBgNVBAgTB01pcmFuZGExKjAoBgNVBAsTIVByb3ZlZWRvciBkZSBD
+ZXJ0aWZpY2Fkb3MgUFJPQ0VSVDE2MDQGA1UEChMtU2lzdGVtYSBOYWNpb25hbCBkZSBDZXJ0aWZp
+Y2FjaW9uIEVsZWN0cm9uaWNhMQswCQYDVQQGEwJWRTETMBEGA1UEAxMKUFNDUHJvY2VydDCCAiIw
+DQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBANW39KOUM6FGqVVhSQ2oh3NekS1wwQYalNo97BVC
+wfWMrmoX8Yqt/ICV6oNEolt6Vc5Pp6XVurgfoCfAUFM+jbnADrgV3NZs+J74BCXfgI8Qhd19L3uA
+3VcAZCP4bsm+lU/hdezgfl6VzbHvvnpC2Mks0+saGiKLt38GieU89RLAu9MLmV+QfI4tL3czkkoh
+RqipCKzx9hEC2ZUWno0vluYC3XXCFCpa1sl9JcLB/KpnheLsvtF8PPqv1W7/U0HU9TI4seJfxPmO
+EO8GqQKJ/+MMbpfg353bIdD0PghpbNjU5Db4g7ayNo+c7zo3Fn2/omnXO1ty0K+qP1xmk6wKImG2
+0qCZyFSTXai20b1dCl53lKItwIKOvMoDKjSuc/HUtQy9vmebVOvh+qBa7Dh+PsHMosdEMXXqP+UH
+0quhJZb25uSgXTcYOWEAM11G1ADEtMo88aKjPvM6/2kwLkDd9p+cJsmWN63nOaK/6mnbVSKVUyqU
+td+tFjiBdWbjxywbk5yqjKPK2Ww8F22c3HxT4CAnQzb5EuE8XL1mv6JpIzi4mWCZDlZTOpx+FIyw
+Bm/xhnaQr/2v/pDGj59/i5IjnOcVdo/Vi5QTcmn7K2FjiO/mpF7moxdqWEfLcU8UC17IAggmosvp
+r2uKGcfLFFb14dq12fy/czja+eevbqQ34gcnAgMBAAGjggMXMIIDEzASBgNVHRMBAf8ECDAGAQH/
+AgEBMDcGA1UdEgQwMC6CD3N1c2NlcnRlLmdvYi52ZaAbBgVghl4CAqASDBBSSUYtRy0yMDAwNDAz
+Ni0wMB0GA1UdDgQWBBRBDxk4qpl/Qguk1yeYVKIXTC1RVDCCAVAGA1UdIwSCAUcwggFDgBStuyId
+xuDSAaj9dlBSk+2YwU2u06GCASakggEiMIIBHjE+MDwGA1UEAxM1QXV0b3JpZGFkIGRlIENlcnRp
+ZmljYWNpb24gUmFpeiBkZWwgRXN0YWRvIFZlbmV6b2xhbm8xCzAJBgNVBAYTAlZFMRAwDgYDVQQH
+EwdDYXJhY2FzMRkwFwYDVQQIExBEaXN0cml0byBDYXBpdGFsMTYwNAYDVQQKEy1TaXN0ZW1hIE5h
+Y2lvbmFsIGRlIENlcnRpZmljYWNpb24gRWxlY3Ryb25pY2ExQzBBBgNVBAsTOlN1cGVyaW50ZW5k
+ZW5jaWEgZGUgU2VydmljaW9zIGRlIENlcnRpZmljYWNpb24gRWxlY3Ryb25pY2ExJTAjBgkqhkiG
+9w0BCQEWFmFjcmFpekBzdXNjZXJ0ZS5nb2IudmWCAQowDgYDVR0PAQH/BAQDAgEGME0GA1UdEQRG
+MESCDnByb2NlcnQubmV0LnZloBUGBWCGXgIBoAwMClBTQy0wMDAwMDKgGwYFYIZeAgKgEgwQUklG
+LUotMzE2MzUzNzMtNzB2BgNVHR8EbzBtMEagRKBChkBodHRwOi8vd3d3LnN1c2NlcnRlLmdvYi52
+ZS9sY3IvQ0VSVElGSUNBRE8tUkFJWi1TSEEzODRDUkxERVIuY3JsMCOgIaAfhh1sZGFwOi8vYWNy
+YWl6LnN1c2NlcnRlLmdvYi52ZTA3BggrBgEFBQcBAQQrMCkwJwYIKwYBBQUHMAGGG2h0dHA6Ly9v
+Y3NwLnN1c2NlcnRlLmdvYi52ZTBBBgNVHSAEOjA4MDYGBmCGXgMBAjAsMCoGCCsGAQUFBwIBFh5o
+dHRwOi8vd3d3LnN1c2NlcnRlLmdvYi52ZS9kcGMwDQYJKoZIhvcNAQELBQADggIBACtZ6yKZu4Sq
+T96QxtGGcSOeSwORR3C7wJJg7ODU523G0+1ng3dS1fLld6c2suNUvtm7CpsR72H0xpkzmfWvADmN
+g7+mvTV+LFwxNG9s2/NkAZiqlCxB3RWGymspThbASfzXg0gTB1GEMVKIu4YXx2sviiCtxQuPcD4q
+uxtxj7mkoP3YldmvWb8lK5jpY5MvYB7Eqvh39YtsL+1+LrVPQA3uvFd359m21D+VJzog1eWuq2w1
+n8GhHVnchIHuTQfiSLaeS5UtQbHh6N5+LwUeaO6/u5BlOsju6rEYNxxik6SgMexxbJHmpHmJWhSn
+FFAFTKQAVzAswbVhltw+HoSvOULP5dAssSS830DD7X9jSr3hTxJkhpXzsOfIt+FTvZLm8wyWuevo
+5pLtp4EJFAv8lXrPj9Y0TzYS3F7RNHXGRoAvlQSMx4bEqCaJqD8Zm4G7UaRKhqsLEQ+xrmNTbSjq
+3TNWOByyrYDT13K9mmyZY+gAu0F2BbdbmRiKw7gSXFbPVgx96OLP7bx0R/vu0xdOIk9W/1DzLuY5
+poLWccret9W6aAjtmcz9opLLabid+Qqkpj5PkygqYWwHJgD/ll9ohri4zspV4KuxPX+Y1zMOWj3Y
+eMLEYC/HYvBhkdI4sPaeVdtAgAUSM84dkpvRabP/v/GSCmE1P93+hvS84Bpxs2Km
+-----END CERTIFICATE-----
+
+China Internet Network Information Center EV Certificates Root
+==============================================================
+-----BEGIN CERTIFICATE-----
+MIID9zCCAt+gAwIBAgIESJ8AATANBgkqhkiG9w0BAQUFADCBijELMAkGA1UEBhMCQ04xMjAwBgNV
+BAoMKUNoaW5hIEludGVybmV0IE5ldHdvcmsgSW5mb3JtYXRpb24gQ2VudGVyMUcwRQYDVQQDDD5D
+aGluYSBJbnRlcm5ldCBOZXR3b3JrIEluZm9ybWF0aW9uIENlbnRlciBFViBDZXJ0aWZpY2F0ZXMg
+Um9vdDAeFw0xMDA4MzEwNzExMjVaFw0zMDA4MzEwNzExMjVaMIGKMQswCQYDVQQGEwJDTjEyMDAG
+A1UECgwpQ2hpbmEgSW50ZXJuZXQgTmV0d29yayBJbmZvcm1hdGlvbiBDZW50ZXIxRzBFBgNVBAMM
+PkNoaW5hIEludGVybmV0IE5ldHdvcmsgSW5mb3JtYXRpb24gQ2VudGVyIEVWIENlcnRpZmljYXRl
+cyBSb290MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAm35z7r07eKpkQ0H1UN+U8i6y
+jUqORlTSIRLIOTJCBumD1Z9S7eVnAztUwYyZmczpwA//DdmEEbK40ctb3B75aDFk4Zv6dOtouSCV
+98YPjUesWgbdYavi7NifFy2cyjw1l1VxzUOFsUcW9SxTgHbP0wBkvUCZ3czY28Sf1hNfQYOL+Q2H
+klY0bBoQCxfVWhyXWIQ8hBouXJE0bhlffxdpxWXvayHG1VA6v2G5BY3vbzQ6sm8UY78WO5upKv23
+KzhmBsUs4qpnHkWnjQRmQvaPK++IIGmPMowUc9orhpFjIpryp9vOiYurXccUwVswah+xt54ugQEC
+7c+WXmPbqOY4twIDAQABo2MwYTAfBgNVHSMEGDAWgBR8cks5x8DbYqVPm6oYNJKiyoOCWTAPBgNV
+HRMBAf8EBTADAQH/MA4GA1UdDwEB/wQEAwIBBjAdBgNVHQ4EFgQUfHJLOcfA22KlT5uqGDSSosqD
+glkwDQYJKoZIhvcNAQEFBQADggEBACrDx0M3j92tpLIM7twUbY8opJhJywyA6vPtI2Z1fcXTIWd5
+0XPFtQO3WKwMVC/GVhMPMdoG52U7HW8228gd+f2ABsqjPWYWqJ1MFn3AlUa1UeTiH9fqBk1jjZaM
+7+czV0I664zBechNdn3e9rG3geCg+aF4RhcaVpjwTj2rHO3sOdwHSPdj/gauwqRcalsyiMXHM4Ws
+ZkJHwlgkmeHlPuV1LI5D1l08eB6olYIpUNHRFrrvwb562bTYzB5MRuF3sTGrvSrIzo9uoV1/A3U0
+5K2JRVRevq4opbs/eHnrc7MKDf2+yfdWrPa37S+bISnHOLaVxATywy39FCqQmbkHzJ8=
+-----END CERTIFICATE-----
+
+Swisscom Root CA 2
+==================
+-----BEGIN CERTIFICATE-----
+MIIF2TCCA8GgAwIBAgIQHp4o6Ejy5e/DfEoeWhhntjANBgkqhkiG9w0BAQsFADBkMQswCQYDVQQG
+EwJjaDERMA8GA1UEChMIU3dpc3Njb20xJTAjBgNVBAsTHERpZ2l0YWwgQ2VydGlmaWNhdGUgU2Vy
+dmljZXMxGzAZBgNVBAMTElN3aXNzY29tIFJvb3QgQ0EgMjAeFw0xMTA2MjQwODM4MTRaFw0zMTA2
+MjUwNzM4MTRaMGQxCzAJBgNVBAYTAmNoMREwDwYDVQQKEwhTd2lzc2NvbTElMCMGA1UECxMcRGln
+aXRhbCBDZXJ0aWZpY2F0ZSBTZXJ2aWNlczEbMBkGA1UEAxMSU3dpc3Njb20gUm9vdCBDQSAyMIIC
+IjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAlUJOhJ1R5tMJ6HJaI2nbeHCOFvErjw0DzpPM
+LgAIe6szjPTpQOYXTKueuEcUMncy3SgM3hhLX3af+Dk7/E6J2HzFZ++r0rk0X2s682Q2zsKwzxNo
+ysjL67XiPS4h3+os1OD5cJZM/2pYmLcX5BtS5X4HAB1f2uY+lQS3aYg5oUFgJWFLlTloYhyxCwWJ
+wDaCFCE/rtuh/bxvHGCGtlOUSbkrRsVPACu/obvLP+DHVxxX6NZp+MEkUp2IVd3Chy50I9AU/SpH
+Wrumnf2U5NGKpV+GY3aFy6//SSj8gO1MedK75MDvAe5QQQg1I3ArqRa0jG6F6bYRzzHdUyYb3y1a
+SgJA/MTAtukxGggo5WDDH8SQjhBiYEQN7Aq+VRhxLKX0srwVYv8c474d2h5Xszx+zYIdkeNL6yxS
+NLCK/RJOlrDrcH+eOfdmQrGrrFLadkBXeyq96G4DsguAhYidDMfCd7Camlf0uPoTXGiTOmekl9Ab
+mbeGMktg2M7v0Ax/lZ9vh0+Hio5fCHyqW/xavqGRn1V9TrALacywlKinh/LTSlDcX3KwFnUey7QY
+Ypqwpzmqm59m2I2mbJYV4+by+PGDYmy7Velhk6M99bFXi08jsJvllGov34zflVEpYKELKeRcVVi3
+qPyZ7iVNTA6z00yPhOgpD/0QVAKFyPnlw4vP5w8CAwEAAaOBhjCBgzAOBgNVHQ8BAf8EBAMCAYYw
+HQYDVR0hBBYwFDASBgdghXQBUwIBBgdghXQBUwIBMBIGA1UdEwEB/wQIMAYBAf8CAQcwHQYDVR0O
+BBYEFE0mICKJS9PVpAqhb97iEoHF8TwuMB8GA1UdIwQYMBaAFE0mICKJS9PVpAqhb97iEoHF8Twu
+MA0GCSqGSIb3DQEBCwUAA4ICAQAyCrKkG8t9voJXiblqf/P0wS4RfbgZPnm3qKhyN2abGu2sEzsO
+v2LwnN+ee6FTSA5BesogpxcbtnjsQJHzQq0Qw1zv/2BZf82Fo4s9SBwlAjxnffUy6S8w5X2lejjQ
+82YqZh6NM4OKb3xuqFp1mrjX2lhIREeoTPpMSQpKwhI3qEAMw8jh0FcNlzKVxzqfl9NX+Ave5XLz
+o9v/tdhZsnPdTSpxsrpJ9csc1fV5yJmz/MFMdOO0vSk3FQQoHt5FRnDsr7p4DooqzgB53MBfGWcs
+a0vvaGgLQ+OswWIJ76bdZWGgr4RVSJFSHMYlkSrQwSIjYVmvRRGFHQEkNI/Ps/8XciATwoCqISxx
+OQ7Qj1zB09GOInJGTB2Wrk9xseEFKZZZ9LuedT3PDTcNYtsmjGOpI99nBjx8Oto0QuFmtEYE3saW
+mA9LSHokMnWRn6z3aOkquVVlzl1h0ydw2Df+n7mvoC5Wt6NlUe07qxS/TFED6F+KBZvuim6c779o
++sjaC+NCydAXFJy3SuCvkychVSa1ZC+N8f+mQAWFBVzKBxlcCxMoTFh/wqXvRdpg065lYZ1Tg3TC
+rvJcwhbtkj6EPnNgiLx29CzP0H1907he0ZESEOnN3col49XtmS++dYFLJPlFRpTJKSFTnCZFqhMX
+5OfNeOI5wSsSnqaeG8XmDtkx2Q==
+-----END CERTIFICATE-----
+
+Swisscom Root EV CA 2
+=====================
+-----BEGIN CERTIFICATE-----
+MIIF4DCCA8igAwIBAgIRAPL6ZOJ0Y9ON/RAdBB92ylgwDQYJKoZIhvcNAQELBQAwZzELMAkGA1UE
+BhMCY2gxETAPBgNVBAoTCFN3aXNzY29tMSUwIwYDVQQLExxEaWdpdGFsIENlcnRpZmljYXRlIFNl
+cnZpY2VzMR4wHAYDVQQDExVTd2lzc2NvbSBSb290IEVWIENBIDIwHhcNMTEwNjI0MDk0NTA4WhcN
+MzEwNjI1MDg0NTA4WjBnMQswCQYDVQQGEwJjaDERMA8GA1UEChMIU3dpc3Njb20xJTAjBgNVBAsT
+HERpZ2l0YWwgQ2VydGlmaWNhdGUgU2VydmljZXMxHjAcBgNVBAMTFVN3aXNzY29tIFJvb3QgRVYg
+Q0EgMjCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBAMT3HS9X6lds93BdY7BxUglgRCgz
+o3pOCvrY6myLURYaVa5UJsTMRQdBTxB5f3HSek4/OE6zAMaVylvNwSqD1ycfMQ4jFrclyxy0uYAy
+Xhqdk/HoPGAsp15XGVhRXrwsVgu42O+LgrQ8uMIkqBPHoCE2G3pXKSinLr9xJZDzRINpUKTk4Rti
+GZQJo/PDvO/0vezbE53PnUgJUmfANykRHvvSEaeFGHR55E+FFOtSN+KxRdjMDUN/rhPSays/p8Li
+qG12W0OfvrSdsyaGOx9/5fLoZigWJdBLlzin5M8J0TbDC77aO0RYjb7xnglrPvMyxyuHxuxenPaH
+Za0zKcQvidm5y8kDnftslFGXEBuGCxobP/YCfnvUxVFkKJ3106yDgYjTdLRZncHrYTNaRdHLOdAG
+alNgHa/2+2m8atwBz735j9m9W8E6X47aD0upm50qKGsaCnw8qyIL5XctcfaCNYGu+HuB5ur+rPQa
+m3Rc6I8k9l2dRsQs0h4rIWqDJ2dVSqTjyDKXZpBy2uPUZC5f46Fq9mDU5zXNysRojddxyNMkM3Ox
+bPlq4SjbX8Y96L5V5jcb7STZDxmPX2MYWFCBUWVv8p9+agTnNCRxunZLWB4ZvRVgRaoMEkABnRDi
+xzgHcgplwLa7JSnaFp6LNYth7eVxV4O1PHGf40+/fh6Bn0GXAgMBAAGjgYYwgYMwDgYDVR0PAQH/
+BAQDAgGGMB0GA1UdIQQWMBQwEgYHYIV0AVMCAgYHYIV0AVMCAjASBgNVHRMBAf8ECDAGAQH/AgED
+MB0GA1UdDgQWBBRF2aWBbj2ITY1x0kbBbkUe88SAnTAfBgNVHSMEGDAWgBRF2aWBbj2ITY1x0kbB
+bkUe88SAnTANBgkqhkiG9w0BAQsFAAOCAgEAlDpzBp9SSzBc1P6xXCX5145v9Ydkn+0UjrgEjihL
+j6p7jjm02Vj2e6E1CqGdivdj5eu9OYLU43otb98TPLr+flaYC/NUn81ETm484T4VvwYmneTwkLbU
+wp4wLh/vx3rEUMfqe9pQy3omywC0Wqu1kx+AiYQElY2NfwmTv9SoqORjbdlk5LgpWgi/UOGED1V7
+XwgiG/W9mR4U9s70WBCCswo9GcG/W6uqmdjyMb3lOGbcWAXH7WMaLgqXfIeTK7KK4/HsGOV1timH
+59yLGn602MnTihdsfSlEvoqq9X46Lmgxk7lq2prg2+kupYTNHAq4Sgj5nPFhJpiTt3tm7JFe3VE/
+23MPrQRYCd0EApUKPtN236YQHoA96M2kZNEzx5LH4k5E4wnJTsJdhw4Snr8PyQUQ3nqjsTzyP6Wq
+J3mtMX0f/fwZacXduT98zca0wjAefm6S139hdlqP65VNvBFuIXxZN5nQBrz5Bm0yFqXZaajh3DyA
+HmBR3NdUIR7KYndP+tiPsys6DXhyyWhBWkdKwqPrGtcKqzwyVcgKEZzfdNbwQBUdyLmPtTbFr/gi
+uMod89a2GQ+fYWVq6nTIfI/DT11lgh/ZDYnadXL77/FHZxOzyNEZiCcmmpl5fx7kLD977vHeTYuW
+l8PVP3wbI+2ksx0WckNLIOFZfsLorSa/ovc=
+-----END CERTIFICATE-----
+
+CA Disig Root R1
+================
+-----BEGIN CERTIFICATE-----
+MIIFaTCCA1GgAwIBAgIJAMMDmu5QkG4oMA0GCSqGSIb3DQEBBQUAMFIxCzAJBgNVBAYTAlNLMRMw
+EQYDVQQHEwpCcmF0aXNsYXZhMRMwEQYDVQQKEwpEaXNpZyBhLnMuMRkwFwYDVQQDExBDQSBEaXNp
+ZyBSb290IFIxMB4XDTEyMDcxOTA5MDY1NloXDTQyMDcxOTA5MDY1NlowUjELMAkGA1UEBhMCU0sx
+EzARBgNVBAcTCkJyYXRpc2xhdmExEzARBgNVBAoTCkRpc2lnIGEucy4xGTAXBgNVBAMTEENBIERp
+c2lnIFJvb3QgUjEwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQCqw3j33Jijp1pedxiy
+3QRkD2P9m5YJgNXoqqXinCaUOuiZc4yd39ffg/N4T0Dhf9Kn0uXKE5Pn7cZ3Xza1lK/oOI7bm+V8
+u8yN63Vz4STN5qctGS7Y1oprFOsIYgrY3LMATcMjfF9DCCMyEtztDK3AfQ+lekLZWnDZv6fXARz2
+m6uOt0qGeKAeVjGu74IKgEH3G8muqzIm1Cxr7X1r5OJeIgpFy4QxTaz+29FHuvlglzmxZcfe+5nk
+CiKxLU3lSCZpq+Kq8/v8kiky6bM+TR8noc2OuRf7JT7JbvN32g0S9l3HuzYQ1VTW8+DiR0jm3hTa
+YVKvJrT1cU/J19IG32PK/yHoWQbgCNWEFVP3Q+V8xaCJmGtzxmjOZd69fwX3se72V6FglcXM6pM6
+vpmumwKjrckWtc7dXpl4fho5frLABaTAgqWjR56M6ly2vGfb5ipN0gTco65F97yLnByn1tUD3AjL
+LhbKXEAz6GfDLuemROoRRRw1ZS0eRWEkG4IupZ0zXWX4Qfkuy5Q/H6MMMSRE7cderVC6xkGbrPAX
+ZcD4XW9boAo0PO7X6oifmPmvTiT6l7Jkdtqr9O3jw2Dv1fkCyC2fg69naQanMVXVz0tv/wQFx1is
+XxYb5dKj6zHbHzMVTdDypVP1y+E9Tmgt2BLdqvLmTZtJ5cUoobqwWsagtQIDAQABo0IwQDAPBgNV
+HRMBAf8EBTADAQH/MA4GA1UdDwEB/wQEAwIBBjAdBgNVHQ4EFgQUiQq0OJMa5qvum5EY+fU8PjXQ
+04IwDQYJKoZIhvcNAQEFBQADggIBADKL9p1Kyb4U5YysOMo6CdQbzoaz3evUuii+Eq5FLAR0rBNR
+xVgYZk2C2tXck8An4b58n1KeElb21Zyp9HWc+jcSjxyT7Ff+Bw+r1RL3D65hXlaASfX8MPWbTx9B
+LxyE04nH4toCdu0Jz2zBuByDHBb6lM19oMgY0sidbvW9adRtPTXoHqJPYNcHKfyyo6SdbhWSVhlM
+CrDpfNIZTUJG7L399ldb3Zh+pE3McgODWF3vkzpBemOqfDqo9ayk0d2iLbYq/J8BjuIQscTK5Gfb
+VSUZP/3oNn6z4eGBrxEWi1CXYBmCAMBrTXO40RMHPuq2MU/wQppt4hF05ZSsjYSVPCGvxdpHyN85
+YmLLW1AL14FABZyb7bq2ix4Eb5YgOe2kfSnbSM6C3NQCjR0EMVrHS/BsYVLXtFHCgWzN4funodKS
+ds+xDzdYpPJScWc/DIh4gInByLUfkmO+p3qKViwaqKactV2zY9ATIKHrkWzQjX2v3wvkF7mGnjix
+lAxYjOBVqjtjbZqJYLhkKpLGN/R+Q0O3c+gB53+XD9fyexn9GtePyfqFa3qdnom2piiZk4hA9z7N
+UaPK6u95RyG1/jLix8NRb76AdPCkwzryT+lf3xkK8jsTQ6wxpLPn6/wY1gGp8yqPNg7rtLG8t0zJ
+a7+h89n07eLw4+1knj0vllJPgFOL
+-----END CERTIFICATE-----
+
+CA Disig Root R2
+================
+-----BEGIN CERTIFICATE-----
+MIIFaTCCA1GgAwIBAgIJAJK4iNuwisFjMA0GCSqGSIb3DQEBCwUAMFIxCzAJBgNVBAYTAlNLMRMw
+EQYDVQQHEwpCcmF0aXNsYXZhMRMwEQYDVQQKEwpEaXNpZyBhLnMuMRkwFwYDVQQDExBDQSBEaXNp
+ZyBSb290IFIyMB4XDTEyMDcxOTA5MTUzMFoXDTQyMDcxOTA5MTUzMFowUjELMAkGA1UEBhMCU0sx
+EzARBgNVBAcTCkJyYXRpc2xhdmExEzARBgNVBAoTCkRpc2lnIGEucy4xGTAXBgNVBAMTEENBIERp
+c2lnIFJvb3QgUjIwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQCio8QACdaFXS1tFPbC
+w3OeNcJxVX6B+6tGUODBfEl45qt5WDza/3wcn9iXAng+a0EE6UG9vgMsRfYvZNSrXaNHPWSb6Wia
+xswbP7q+sos0Ai6YVRn8jG+qX9pMzk0DIaPY0jSTVpbLTAwAFjxfGs3Ix2ymrdMxp7zo5eFm1tL7
+A7RBZckQrg4FY8aAamkw/dLukO8NJ9+flXP04SXabBbeQTg06ov80egEFGEtQX6sx3dOy1FU+16S
+GBsEWmjGycT6txOgmLcRK7fWV8x8nhfRyyX+hk4kLlYMeE2eARKmK6cBZW58Yh2EhN/qwGu1pSqV
+g8NTEQxzHQuyRpDRQjrOQG6Vrf/GlK1ul4SOfW+eioANSW1z4nuSHsPzwfPrLgVv2RvPN3YEyLRa
+5Beny912H9AZdugsBbPWnDTYltxhh5EF5EQIM8HauQhl1K6yNg3ruji6DOWbnuuNZt2Zz9aJQfYE
+koopKW1rOhzndX0CcQ7zwOe9yxndnWCywmZgtrEE7snmhrmaZkCo5xHtgUUDi/ZnWejBBhG93c+A
+Ak9lQHhcR1DIm+YfgXvkRKhbhZri3lrVx/k6RGZL5DJUfORsnLMOPReisjQS1n6yqEm70XooQL6i
+Fh/f5DcfEXP7kAplQ6INfPgGAVUzfbANuPT1rqVCV3w2EYx7XsQDnYx5nQIDAQABo0IwQDAPBgNV
+HRMBAf8EBTADAQH/MA4GA1UdDwEB/wQEAwIBBjAdBgNVHQ4EFgQUtZn4r7CU9eMg1gqtzk5WpC5u
+Qu0wDQYJKoZIhvcNAQELBQADggIBACYGXnDnZTPIgm7ZnBc6G3pmsgH2eDtpXi/q/075KMOYKmFM
+tCQSin1tERT3nLXK5ryeJ45MGcipvXrA1zYObYVybqjGom32+nNjf7xueQgcnYqfGopTpti72TVV
+sRHFqQOzVju5hJMiXn7B9hJSi+osZ7z+Nkz1uM/Rs0mSO9MpDpkblvdhuDvEK7Z4bLQjb/D907Je
+dR+Zlais9trhxTF7+9FGs9K8Z7RiVLoJ92Owk6Ka+elSLotgEqv89WBW7xBci8QaQtyDW2QOy7W8
+1k/BfDxujRNt+3vrMNDcTa/F1balTFtxyegxvug4BkihGuLq0t4SOVga/4AOgnXmt8kHbA7v/zjx
+mHHEt38OFdAlab0inSvtBfZGR6ztwPDUO+Ls7pZbkBNOHlY667DvlruWIxG68kOGdGSVyCh13x01
+utI3gzhTODY7z2zp+WsO0PsE6E9312UBeIYMej4hYvF/Y3EMyZ9E26gnonW+boE+18DrG5gPcFw0
+sorMwIUY6256s/daoQe/qUKS82Ail+QUoQebTnbAjn39pCXHR+3/H3OszMOl6W8KjptlwlCFtaOg
+UxLMVYdh84GuEEZhvUQhuMI9dM9+JDX6HAcOmz0iyu8xL4ysEr3vQCj8KWefshNPZiTEUxnpHikV
+7+ZtsH8tZ/3zbBt1RqPlShfppNcL
+-----END CERTIFICATE-----
+
+ACCVRAIZ1
+=========
+-----BEGIN CERTIFICATE-----
+MIIH0zCCBbugAwIBAgIIXsO3pkN/pOAwDQYJKoZIhvcNAQEFBQAwQjESMBAGA1UEAwwJQUNDVlJB
+SVoxMRAwDgYDVQQLDAdQS0lBQ0NWMQ0wCwYDVQQKDARBQ0NWMQswCQYDVQQGEwJFUzAeFw0xMTA1
+MDUwOTM3MzdaFw0zMDEyMzEwOTM3MzdaMEIxEjAQBgNVBAMMCUFDQ1ZSQUlaMTEQMA4GA1UECwwH
+UEtJQUNDVjENMAsGA1UECgwEQUNDVjELMAkGA1UEBhMCRVMwggIiMA0GCSqGSIb3DQEBAQUAA4IC
+DwAwggIKAoICAQCbqau/YUqXry+XZpp0X9DZlv3P4uRm7x8fRzPCRKPfmt4ftVTdFXxpNRFvu8gM
+jmoYHtiP2Ra8EEg2XPBjs5BaXCQ316PWywlxufEBcoSwfdtNgM3802/J+Nq2DoLSRYWoG2ioPej0
+RGy9ocLLA76MPhMAhN9KSMDjIgro6TenGEyxCQ0jVn8ETdkXhBilyNpAlHPrzg5XPAOBOp0KoVdD
+aaxXbXmQeOW1tDvYvEyNKKGno6e6Ak4l0Squ7a4DIrhrIA8wKFSVf+DuzgpmndFALW4ir50awQUZ
+0m/A8p/4e7MCQvtQqR0tkw8jq8bBD5L/0KIV9VMJcRz/RROE5iZe+OCIHAr8Fraocwa48GOEAqDG
+WuzndN9wrqODJerWx5eHk6fGioozl2A3ED6XPm4pFdahD9GILBKfb6qkxkLrQaLjlUPTAYVtjrs7
+8yM2x/474KElB0iryYl0/wiPgL/AlmXz7uxLaL2diMMxs0Dx6M/2OLuc5NF/1OVYm3z61PMOm3WR
+5LpSLhl+0fXNWhn8ugb2+1KoS5kE3fj5tItQo05iifCHJPqDQsGH+tUtKSpacXpkatcnYGMN285J
+9Y0fkIkyF/hzQ7jSWpOGYdbhdQrqeWZ2iE9x6wQl1gpaepPluUsXQA+xtrn13k/c4LOsOxFwYIRK
+Q26ZIMApcQrAZQIDAQABo4ICyzCCAscwfQYIKwYBBQUHAQEEcTBvMEwGCCsGAQUFBzAChkBodHRw
+Oi8vd3d3LmFjY3YuZXMvZmlsZWFkbWluL0FyY2hpdm9zL2NlcnRpZmljYWRvcy9yYWl6YWNjdjEu
+Y3J0MB8GCCsGAQUFBzABhhNodHRwOi8vb2NzcC5hY2N2LmVzMB0GA1UdDgQWBBTSh7Tj3zcnk1X2
+VuqB5TbMjB4/vTAPBgNVHRMBAf8EBTADAQH/MB8GA1UdIwQYMBaAFNKHtOPfNyeTVfZW6oHlNsyM
+Hj+9MIIBcwYDVR0gBIIBajCCAWYwggFiBgRVHSAAMIIBWDCCASIGCCsGAQUFBwICMIIBFB6CARAA
+QQB1AHQAbwByAGkAZABhAGQAIABkAGUAIABDAGUAcgB0AGkAZgBpAGMAYQBjAGkA8wBuACAAUgBh
+AO0AegAgAGQAZQAgAGwAYQAgAEEAQwBDAFYAIAAoAEEAZwBlAG4AYwBpAGEAIABkAGUAIABUAGUA
+YwBuAG8AbABvAGcA7QBhACAAeQAgAEMAZQByAHQAaQBmAGkAYwBhAGMAaQDzAG4AIABFAGwAZQBj
+AHQAcgDzAG4AaQBjAGEALAAgAEMASQBGACAAUQA0ADYAMAAxADEANQA2AEUAKQAuACAAQwBQAFMA
+IABlAG4AIABoAHQAdABwADoALwAvAHcAdwB3AC4AYQBjAGMAdgAuAGUAczAwBggrBgEFBQcCARYk
+aHR0cDovL3d3dy5hY2N2LmVzL2xlZ2lzbGFjaW9uX2MuaHRtMFUGA1UdHwROMEwwSqBIoEaGRGh0
+dHA6Ly93d3cuYWNjdi5lcy9maWxlYWRtaW4vQXJjaGl2b3MvY2VydGlmaWNhZG9zL3JhaXphY2N2
+MV9kZXIuY3JsMA4GA1UdDwEB/wQEAwIBBjAXBgNVHREEEDAOgQxhY2N2QGFjY3YuZXMwDQYJKoZI
+hvcNAQEFBQADggIBAJcxAp/n/UNnSEQU5CmH7UwoZtCPNdpNYbdKl02125DgBS4OxnnQ8pdpD70E
+R9m+27Up2pvZrqmZ1dM8MJP1jaGo/AaNRPTKFpV8M9xii6g3+CfYCS0b78gUJyCpZET/LtZ1qmxN
+YEAZSUNUY9rizLpm5U9EelvZaoErQNV/+QEnWCzI7UiRfD+mAM/EKXMRNt6GGT6d7hmKG9Ww7Y49
+nCrADdg9ZuM8Db3VlFzi4qc1GwQA9j9ajepDvV+JHanBsMyZ4k0ACtrJJ1vnE5Bc5PUzolVt3OAJ
+TS+xJlsndQAJxGJ3KQhfnlmstn6tn1QwIgPBHnFk/vk4CpYY3QIUrCPLBhwepH2NDd4nQeit2hW3
+sCPdK6jT2iWH7ehVRE2I9DZ+hJp4rPcOVkkO1jMl1oRQQmwgEh0q1b688nCBpHBgvgW1m54ERL5h
+I6zppSSMEYCUWqKiuUnSwdzRp+0xESyeGabu4VXhwOrPDYTkF7eifKXeVSUG7szAh1xA2syVP1Xg
+Nce4hL60Xc16gwFy7ofmXx2utYXGJt/mwZrpHgJHnyqobalbz+xFd3+YJ5oyXSrjhO7FmGYvliAd
+3djDJ9ew+f7Zfc3Qn48LFFhRny+Lwzgt3uiP1o2HpPVWQxaZLPSkVrQ0uGE3ycJYgBugl6H8WY3p
+EfbRD0tVNEYqi4Y7
+-----END CERTIFICATE-----
+
+TWCA Global Root CA
+===================
+-----BEGIN CERTIFICATE-----
+MIIFQTCCAymgAwIBAgICDL4wDQYJKoZIhvcNAQELBQAwUTELMAkGA1UEBhMCVFcxEjAQBgNVBAoT
+CVRBSVdBTi1DQTEQMA4GA1UECxMHUm9vdCBDQTEcMBoGA1UEAxMTVFdDQSBHbG9iYWwgUm9vdCBD
+QTAeFw0xMjA2MjcwNjI4MzNaFw0zMDEyMzExNTU5NTlaMFExCzAJBgNVBAYTAlRXMRIwEAYDVQQK
+EwlUQUlXQU4tQ0ExEDAOBgNVBAsTB1Jvb3QgQ0ExHDAaBgNVBAMTE1RXQ0EgR2xvYmFsIFJvb3Qg
+Q0EwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQCwBdvI64zEbooh745NnHEKH1Jw7W2C
+nJfF10xORUnLQEK1EjRsGcJ0pDFfhQKX7EMzClPSnIyOt7h52yvVavKOZsTuKwEHktSz0ALfUPZV
+r2YOy+BHYC8rMjk1Ujoog/h7FsYYuGLWRyWRzvAZEk2tY/XTP3VfKfChMBwqoJimFb3u/Rk28OKR
+Q4/6ytYQJ0lM793B8YVwm8rqqFpD/G2Gb3PpN0Wp8DbHzIh1HrtsBv+baz4X7GGqcXzGHaL3SekV
+tTzWoWH1EfcFbx39Eb7QMAfCKbAJTibc46KokWofwpFFiFzlmLhxpRUZyXx1EcxwdE8tmx2RRP1W
+KKD+u4ZqyPpcC1jcxkt2yKsi2XMPpfRaAok/T54igu6idFMqPVMnaR1sjjIsZAAmY2E2TqNGtz99
+sy2sbZCilaLOz9qC5wc0GZbpuCGqKX6mOL6OKUohZnkfs8O1CWfe1tQHRvMq2uYiN2DLgbYPoA/p
+yJV/v1WRBXrPPRXAb94JlAGD1zQbzECl8LibZ9WYkTunhHiVJqRaCPgrdLQABDzfuBSO6N+pjWxn
+kjMdwLfS7JLIvgm/LCkFbwJrnu+8vyq8W8BQj0FwcYeyTbcEqYSjMq+u7msXi7Kx/mzhkIyIqJdI
+zshNy/MGz19qCkKxHh53L46g5pIOBvwFItIm4TFRfTLcDwIDAQABoyMwITAOBgNVHQ8BAf8EBAMC
+AQYwDwYDVR0TAQH/BAUwAwEB/zANBgkqhkiG9w0BAQsFAAOCAgEAXzSBdu+WHdXltdkCY4QWwa6g
+cFGn90xHNcgL1yg9iXHZqjNB6hQbbCEAwGxCGX6faVsgQt+i0trEfJdLjbDorMjupWkEmQqSpqsn
+LhpNgb+E1HAerUf+/UqdM+DyucRFCCEK2mlpc3INvjT+lIutwx4116KD7+U4x6WFH6vPNOw/KP4M
+8VeGTslV9xzU2KV9Bnpv1d8Q34FOIWWxtuEXeZVFBs5fzNxGiWNoRI2T9GRwoD2dKAXDOXC4Ynsg
+/eTb6QihuJ49CcdP+yz4k3ZB3lLg4VfSnQO8d57+nile98FRYB/e2guyLXW3Q0iT5/Z5xoRdgFlg
+lPx4mI88k1HtQJAH32RjJMtOcQWh15QaiDLxInQirqWm2BJpTGCjAu4r7NRjkgtevi92a6O2JryP
+A9gK8kxkRr05YuWW6zRjESjMlfGt7+/cgFhI6Uu46mWs6fyAtbXIRfmswZ/ZuepiiI7E8UuDEq3m
+i4TWnsLrgxifarsbJGAzcMzs9zLzXNl5fe+epP7JI8Mk7hWSsT2RTyaGvWZzJBPqpK5jwa19hAM8
+EHiGG3njxPPyBJUgriOCxLM6AGK/5jYk4Ve6xx6QddVfP5VhK8E7zeWzaGHQRiapIVJpLesux+t3
+zqY6tQMzT3bR51xUAV3LePTJDL/PEo4XLSNolOer/qmyKwbQBM0=
+-----END CERTIFICATE-----
+
+TeliaSonera Root CA v1
+======================
+-----BEGIN CERTIFICATE-----
+MIIFODCCAyCgAwIBAgIRAJW+FqD3LkbxezmCcvqLzZYwDQYJKoZIhvcNAQEFBQAwNzEUMBIGA1UE
+CgwLVGVsaWFTb25lcmExHzAdBgNVBAMMFlRlbGlhU29uZXJhIFJvb3QgQ0EgdjEwHhcNMDcxMDE4
+MTIwMDUwWhcNMzIxMDE4MTIwMDUwWjA3MRQwEgYDVQQKDAtUZWxpYVNvbmVyYTEfMB0GA1UEAwwW
+VGVsaWFTb25lcmEgUm9vdCBDQSB2MTCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBAMK+
+6yfwIaPzaSZVfp3FVRaRXP3vIb9TgHot0pGMYzHw7CTww6XScnwQbfQ3t+XmfHnqjLWCi65ItqwA
+3GV17CpNX8GH9SBlK4GoRz6JI5UwFpB/6FcHSOcZrr9FZ7E3GwYq/t75rH2D+1665I+XZ75Ljo1k
+B1c4VWk0Nj0TSO9P4tNmHqTPGrdeNjPUtAa9GAH9d4RQAEX1jF3oI7x+/jXh7VB7qTCNGdMJjmhn
+Xb88lxhTuylixcpecsHHltTbLaC0H2kD7OriUPEMPPCs81Mt8Bz17Ww5OXOAFshSsCPN4D7c3TxH
+oLs1iuKYaIu+5b9y7tL6pe0S7fyYGKkmdtwoSxAgHNN/Fnct7W+A90m7UwW7XWjH1Mh1Fj+JWov3
+F0fUTPHSiXk+TT2YqGHeOh7S+F4D4MHJHIzTjU3TlTazN19jY5szFPAtJmtTfImMMsJu7D0hADnJ
+oWjiUIMusDor8zagrC/kb2HCUQk5PotTubtn2txTuXZZNp1D5SDgPTJghSJRt8czu90VL6R4pgd7
+gUY2BIbdeTXHlSw7sKMXNeVzH7RcWe/a6hBle3rQf5+ztCo3O3CLm1u5K7fsslESl1MpWtTwEhDc
+TwK7EpIvYtQ/aUN8Ddb8WHUBiJ1YFkveupD/RwGJBmr2X7KQarMCpgKIv7NHfirZ1fpoeDVNAgMB
+AAGjPzA9MA8GA1UdEwEB/wQFMAMBAf8wCwYDVR0PBAQDAgEGMB0GA1UdDgQWBBTwj1k4ALP1j5qW
+DNXr+nuqF+gTEjANBgkqhkiG9w0BAQUFAAOCAgEAvuRcYk4k9AwI//DTDGjkk0kiP0Qnb7tt3oNm
+zqjMDfz1mgbldxSR651Be5kqhOX//CHBXfDkH1e3damhXwIm/9fH907eT/j3HEbAek9ALCI18Bmx
+0GtnLLCo4MBANzX2hFxc469CeP6nyQ1Q6g2EdvZR74NTxnr/DlZJLo961gzmJ1TjTQpgcmLNkQfW
+pb/ImWvtxBnmq0wROMVvMeJuScg/doAmAyYp4Db29iBT4xdwNBedY2gea+zDTYa4EzAvXUYNR0PV
+G6pZDrlcjQZIrXSHX8f8MVRBE+LHIQ6e4B4N4cB7Q4WQxYpYxmUKeFfyxiMPAdkgS94P+5KFdSpc
+c41teyWRyu5FrgZLAMzTsVlQ2jqIOylDRl6XK1TOU2+NSueW+r9xDkKLfP0ooNBIytrEgUy7onOT
+JsjrDNYmiLbAJM+7vVvrdX3pCI6GMyx5dwlppYn8s3CQh3aP0yK7Qs69cwsgJirQmz1wHiRszYd2
+qReWt88NkvuOGKmYSdGe/mBEciG5Ge3C9THxOUiIkCR1VBatzvT4aRRkOfujuLpwQMcnHL/EVlP6
+Y2XQ8xwOFvVrhlhNGNTkDY6lnVuR3HYkUD/GKvvZt5y11ubQ2egZixVxSK236thZiNSQvxaz2ems
+WWFUyBy6ysHK4bkgTI86k4mloMy/0/Z1pHWWbVY=
+-----END CERTIFICATE-----
+
+E-Tugra Certification Authority
+===============================
+-----BEGIN CERTIFICATE-----
+MIIGSzCCBDOgAwIBAgIIamg+nFGby1MwDQYJKoZIhvcNAQELBQAwgbIxCzAJBgNVBAYTAlRSMQ8w
+DQYDVQQHDAZBbmthcmExQDA+BgNVBAoMN0UtVHXEn3JhIEVCRyBCaWxpxZ9pbSBUZWtub2xvamls
+ZXJpIHZlIEhpem1ldGxlcmkgQS7Fni4xJjAkBgNVBAsMHUUtVHVncmEgU2VydGlmaWthc3lvbiBN
+ZXJrZXppMSgwJgYDVQQDDB9FLVR1Z3JhIENlcnRpZmljYXRpb24gQXV0aG9yaXR5MB4XDTEzMDMw
+NTEyMDk0OFoXDTIzMDMwMzEyMDk0OFowgbIxCzAJBgNVBAYTAlRSMQ8wDQYDVQQHDAZBbmthcmEx
+QDA+BgNVBAoMN0UtVHXEn3JhIEVCRyBCaWxpxZ9pbSBUZWtub2xvamlsZXJpIHZlIEhpem1ldGxl
+cmkgQS7Fni4xJjAkBgNVBAsMHUUtVHVncmEgU2VydGlmaWthc3lvbiBNZXJrZXppMSgwJgYDVQQD
+DB9FLVR1Z3JhIENlcnRpZmljYXRpb24gQXV0aG9yaXR5MIICIjANBgkqhkiG9w0BAQEFAAOCAg8A
+MIICCgKCAgEA4vU/kwVRHoViVF56C/UYB4Oufq9899SKa6VjQzm5S/fDxmSJPZQuVIBSOTkHS0vd
+hQd2h8y/L5VMzH2nPbxHD5hw+IyFHnSOkm0bQNGZDbt1bsipa5rAhDGvykPL6ys06I+XawGb1Q5K
+CKpbknSFQ9OArqGIW66z6l7LFpp3RMih9lRozt6Plyu6W0ACDGQXwLWTzeHxE2bODHnv0ZEoq1+g
+ElIwcxmOj+GMB6LDu0rw6h8VqO4lzKRG+Bsi77MOQ7osJLjFLFzUHPhdZL3Dk14opz8n8Y4e0ypQ
+BaNV2cvnOVPAmJ6MVGKLJrD3fY185MaeZkJVgkfnsliNZvcHfC425lAcP9tDJMW/hkd5s3kc91r0
+E+xs+D/iWR+V7kI+ua2oMoVJl0b+SzGPWsutdEcf6ZG33ygEIqDUD13ieU/qbIWGvaimzuT6w+Gz
+rt48Ue7LE3wBf4QOXVGUnhMMti6lTPk5cDZvlsouDERVxcr6XQKj39ZkjFqzAQqptQpHF//vkUAq
+jqFGOjGY5RH8zLtJVor8udBhmm9lbObDyz51Sf6Pp+KJxWfXnUYTTjF2OySznhFlhqt/7x3U+Lzn
+rFpct1pHXFXOVbQicVtbC/DP3KBhZOqp12gKY6fgDT+gr9Oq0n7vUaDmUStVkhUXU8u3Zg5mTPj5
+dUyQ5xJwx0UCAwEAAaNjMGEwHQYDVR0OBBYEFC7j27JJ0JxUeVz6Jyr+zE7S6E5UMA8GA1UdEwEB
+/wQFMAMBAf8wHwYDVR0jBBgwFoAULuPbsknQnFR5XPonKv7MTtLoTlQwDgYDVR0PAQH/BAQDAgEG
+MA0GCSqGSIb3DQEBCwUAA4ICAQAFNzr0TbdF4kV1JI+2d1LoHNgQk2Xz8lkGpD4eKexd0dCrfOAK
+kEh47U6YA5n+KGCRHTAduGN8qOY1tfrTYXbm1gdLymmasoR6d5NFFxWfJNCYExL/u6Au/U5Mh/jO
+XKqYGwXgAEZKgoClM4so3O0409/lPun++1ndYYRP0lSWE2ETPo+Aab6TR7U1Q9Jauz1c77NCR807
+VRMGsAnb/WP2OogKmW9+4c4bU2pEZiNRCHu8W1Ki/QY3OEBhj0qWuJA3+GbHeJAAFS6LrVE1Uweo
+a2iu+U48BybNCAVwzDk/dr2l02cmAYamU9JgO3xDf1WKvJUawSg5TB9D0pH0clmKuVb8P7Sd2nCc
+dlqMQ1DujjByTd//SffGqWfZbawCEeI6FiWnWAjLb1NBnEg4R2gz0dfHj9R0IdTDBZB6/86WiLEV
+KV0jq9BgoRJP3vQXzTLlyb/IQ639Lo7xr+L0mPoSHyDYwKcMhcWQ9DstliaxLL5Mq+ux0orJ23gT
+Dx4JnW2PAJ8C2sH6H3p6CcRK5ogql5+Ji/03X186zjhZhkuvcQu02PJwT58yE+Owp1fl2tpDy4Q0
+8ijE6m30Ku/Ba3ba+367hTzSU8JNvnHhRdH9I2cNE3X7z2VnIp2usAnRCf8dNL/+I5c30jn6PQ0G
+C7TbO6Orb1wdtn7os4I07QZcJA==
+-----END CERTIFICATE-----
+
+T-TeleSec GlobalRoot Class 2
+============================
+-----BEGIN CERTIFICATE-----
+MIIDwzCCAqugAwIBAgIBATANBgkqhkiG9w0BAQsFADCBgjELMAkGA1UEBhMCREUxKzApBgNVBAoM
+IlQtU3lzdGVtcyBFbnRlcnByaXNlIFNlcnZpY2VzIEdtYkgxHzAdBgNVBAsMFlQtU3lzdGVtcyBU
+cnVzdCBDZW50ZXIxJTAjBgNVBAMMHFQtVGVsZVNlYyBHbG9iYWxSb290IENsYXNzIDIwHhcNMDgx
+MDAxMTA0MDE0WhcNMzMxMDAxMjM1OTU5WjCBgjELMAkGA1UEBhMCREUxKzApBgNVBAoMIlQtU3lz
+dGVtcyBFbnRlcnByaXNlIFNlcnZpY2VzIEdtYkgxHzAdBgNVBAsMFlQtU3lzdGVtcyBUcnVzdCBD
+ZW50ZXIxJTAjBgNVBAMMHFQtVGVsZVNlYyBHbG9iYWxSb290IENsYXNzIDIwggEiMA0GCSqGSIb3
+DQEBAQUAA4IBDwAwggEKAoIBAQCqX9obX+hzkeXaXPSi5kfl82hVYAUdAqSzm1nzHoqvNK38DcLZ
+SBnuaY/JIPwhqgcZ7bBcrGXHX+0CfHt8LRvWurmAwhiCFoT6ZrAIxlQjgeTNuUk/9k9uN0goOA/F
+vudocP05l03Sx5iRUKrERLMjfTlH6VJi1hKTXrcxlkIF+3anHqP1wvzpesVsqXFP6st4vGCvx970
+2cu+fjOlbpSD8DT6IavqjnKgP6TeMFvvhk1qlVtDRKgQFRzlAVfFmPHmBiiRqiDFt1MmUUOyCxGV
+WOHAD3bZwI18gfNycJ5v/hqO2V81xrJvNHy+SE/iWjnX2J14np+GPgNeGYtEotXHAgMBAAGjQjBA
+MA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgEGMB0GA1UdDgQWBBS/WSA2AHmgoCJrjNXy
+YdK4LMuCSjANBgkqhkiG9w0BAQsFAAOCAQEAMQOiYQsfdOhyNsZt+U2e+iKo4YFWz827n+qrkRk4
+r6p8FU3ztqONpfSO9kSpp+ghla0+AGIWiPACuvxhI+YzmzB6azZie60EI4RYZeLbK4rnJVM3YlNf
+vNoBYimipidx5joifsFvHZVwIEoHNN/q/xWA5brXethbdXwFeilHfkCoMRN3zUA7tFFHei4R40cR
+3p1m0IvVVGb6g1XqfMIpiRvpb7PO4gWEyS8+eIVibslfwXhjdFjASBgMmTnrpMwatXlajRWc2BQN
+9noHV8cigwUtPJslJj0Ys6lDfMjIq2SPDqO/nBudMNva0Bkuqjzx+zOAduTNrRlPBSeOE6Fuwg==
+-----END CERTIFICATE-----
+
+Atos TrustedRoot 2011
+=====================
+-----BEGIN CERTIFICATE-----
+MIIDdzCCAl+gAwIBAgIIXDPLYixfszIwDQYJKoZIhvcNAQELBQAwPDEeMBwGA1UEAwwVQXRvcyBU
+cnVzdGVkUm9vdCAyMDExMQ0wCwYDVQQKDARBdG9zMQswCQYDVQQGEwJERTAeFw0xMTA3MDcxNDU4
+MzBaFw0zMDEyMzEyMzU5NTlaMDwxHjAcBgNVBAMMFUF0b3MgVHJ1c3RlZFJvb3QgMjAxMTENMAsG
+A1UECgwEQXRvczELMAkGA1UEBhMCREUwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCV
+hTuXbyo7LjvPpvMpNb7PGKw+qtn4TaA+Gke5vJrf8v7MPkfoepbCJI419KkM/IL9bcFyYie96mvr
+54rMVD6QUM+A1JX76LWC1BTFtqlVJVfbsVD2sGBkWXppzwO3bw2+yj5vdHLqqjAqc2K+SZFhyBH+
+DgMq92og3AIVDV4VavzjgsG1xZ1kCWyjWZgHJ8cblithdHFsQ/H3NYkQ4J7sVaE3IqKHBAUsR320
+HLliKWYoyrfhk/WklAOZuXCFteZI6o1Q/NnezG8HDt0Lcp2AMBYHlT8oDv3FdU9T1nSatCQujgKR
+z3bFmx5VdJx4IbHwLfELn8LVlhgf8FQieowHAgMBAAGjfTB7MB0GA1UdDgQWBBSnpQaxLKYJYO7R
+l+lwrrw7GWzbITAPBgNVHRMBAf8EBTADAQH/MB8GA1UdIwQYMBaAFKelBrEspglg7tGX6XCuvDsZ
+bNshMBgGA1UdIAQRMA8wDQYLKwYBBAGwLQMEAQEwDgYDVR0PAQH/BAQDAgGGMA0GCSqGSIb3DQEB
+CwUAA4IBAQAmdzTblEiGKkGdLD4GkGDEjKwLVLgfuXvTBznk+j57sj1O7Z8jvZfza1zv7v1Apt+h
+k6EKhqzvINB5Ab149xnYJDE0BAGmuhWawyfc2E8PzBhj/5kPDpFrdRbhIfzYJsdHt6bPWHJxfrrh
+TZVHO8mvbaG0weyJ9rQPOLXiZNwlz6bb65pcmaHFCN795trV1lpFDMS3wrUU77QR/w4VtfX128a9
+61qn8FYiqTxlVMYVqL2Gns2Dlmh6cYGJ4Qvh6hEbaAjMaZ7snkGeRDImeuKHCnE96+RapNLbxc3G
+3mB/ufNPRJLvKrcYPqcZ2Qt9sTdBQrC6YB3y/gkRsPCHe6ed
+-----END CERTIFICATE-----
+
+QuoVadis Root CA 1 G3
+=====================
+-----BEGIN CERTIFICATE-----
+MIIFYDCCA0igAwIBAgIUeFhfLq0sGUvjNwc1NBMotZbUZZMwDQYJKoZIhvcNAQELBQAwSDELMAkG
+A1UEBhMCQk0xGTAXBgNVBAoTEFF1b1ZhZGlzIExpbWl0ZWQxHjAcBgNVBAMTFVF1b1ZhZGlzIFJv
+b3QgQ0EgMSBHMzAeFw0xMjAxMTIxNzI3NDRaFw00MjAxMTIxNzI3NDRaMEgxCzAJBgNVBAYTAkJN
+MRkwFwYDVQQKExBRdW9WYWRpcyBMaW1pdGVkMR4wHAYDVQQDExVRdW9WYWRpcyBSb290IENBIDEg
+RzMwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQCgvlAQjunybEC0BJyFuTHK3C3kEakE
+PBtVwedYMB0ktMPvhd6MLOHBPd+C5k+tR4ds7FtJwUrVu4/sh6x/gpqG7D0DmVIB0jWerNrwU8lm
+PNSsAgHaJNM7qAJGr6Qc4/hzWHa39g6QDbXwz8z6+cZM5cOGMAqNF34168Xfuw6cwI2H44g4hWf6
+Pser4BOcBRiYz5P1sZK0/CPTz9XEJ0ngnjybCKOLXSoh4Pw5qlPafX7PGglTvF0FBM+hSo+LdoIN
+ofjSxxR3W5A2B4GbPgb6Ul5jxaYA/qXpUhtStZI5cgMJYr2wYBZupt0lwgNm3fME0UDiTouG9G/l
+g6AnhF4EwfWQvTA9xO+oabw4m6SkltFi2mnAAZauy8RRNOoMqv8hjlmPSlzkYZqn0ukqeI1RPToV
+7qJZjqlc3sX5kCLliEVx3ZGZbHqfPT2YfF72vhZooF6uCyP8Wg+qInYtyaEQHeTTRCOQiJ/GKubX
+9ZqzWB4vMIkIG1SitZgj7Ah3HJVdYdHLiZxfokqRmu8hqkkWCKi9YSgxyXSthfbZxbGL0eUQMk1f
+iyA6PEkfM4VZDdvLCXVDaXP7a3F98N/ETH3Goy7IlXnLc6KOTk0k+17kBL5yG6YnLUlamXrXXAkg
+t3+UuU/xDRxeiEIbEbfnkduebPRq34wGmAOtzCjvpUfzUwIDAQABo0IwQDAPBgNVHRMBAf8EBTAD
+AQH/MA4GA1UdDwEB/wQEAwIBBjAdBgNVHQ4EFgQUo5fW816iEOGrRZ88F2Q87gFwnMwwDQYJKoZI
+hvcNAQELBQADggIBABj6W3X8PnrHX3fHyt/PX8MSxEBd1DKquGrX1RUVRpgjpeaQWxiZTOOtQqOC
+MTaIzen7xASWSIsBx40Bz1szBpZGZnQdT+3Btrm0DWHMY37XLneMlhwqI2hrhVd2cDMT/uFPpiN3
+GPoajOi9ZcnPP/TJF9zrx7zABC4tRi9pZsMbj/7sPtPKlL92CiUNqXsCHKnQO18LwIE6PWThv6ct
+Tr1NxNgpxiIY0MWscgKCP6o6ojoilzHdCGPDdRS5YCgtW2jgFqlmgiNR9etT2DGbe+m3nUvriBbP
++V04ikkwj+3x6xn0dxoxGE1nVGwvb2X52z3sIexe9PSLymBlVNFxZPT5pqOBMzYzcfCkeF9OrYMh
+3jRJjehZrJ3ydlo28hP0r+AJx2EqbPfgna67hkooby7utHnNkDPDs3b69fBsnQGQ+p6Q9pxyz0fa
+wx/kNSBT8lTR32GDpgLiJTjehTItXnOQUl1CxM49S+H5GYQd1aJQzEH7QRTDvdbJWqNjZgKAvQU6
+O0ec7AAmTPWIUb+oI38YB7AL7YsmoWTTYUrrXJ/es69nA7Mf3W1daWhpq1467HxpvMc7hU6eFbm0
+FU/DlXpY18ls6Wy58yljXrQs8C097Vpl4KlbQMJImYFtnh8GKjwStIsPm6Ik8KaN1nrgS7ZklmOV
+hMJKzRwuJIczYOXD
+-----END CERTIFICATE-----
+
+QuoVadis Root CA 2 G3
+=====================
+-----BEGIN CERTIFICATE-----
+MIIFYDCCA0igAwIBAgIURFc0JFuBiZs18s64KztbpybwdSgwDQYJKoZIhvcNAQELBQAwSDELMAkG
+A1UEBhMCQk0xGTAXBgNVBAoTEFF1b1ZhZGlzIExpbWl0ZWQxHjAcBgNVBAMTFVF1b1ZhZGlzIFJv
+b3QgQ0EgMiBHMzAeFw0xMjAxMTIxODU5MzJaFw00MjAxMTIxODU5MzJaMEgxCzAJBgNVBAYTAkJN
+MRkwFwYDVQQKExBRdW9WYWRpcyBMaW1pdGVkMR4wHAYDVQQDExVRdW9WYWRpcyBSb290IENBIDIg
+RzMwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQChriWyARjcV4g/Ruv5r+LrI3HimtFh
+ZiFfqq8nUeVuGxbULX1QsFN3vXg6YOJkApt8hpvWGo6t/x8Vf9WVHhLL5hSEBMHfNrMWn4rjyduY
+NM7YMxcoRvynyfDStNVNCXJJ+fKH46nafaF9a7I6JaltUkSs+L5u+9ymc5GQYaYDFCDy54ejiK2t
+oIz/pgslUiXnFgHVy7g1gQyjO/Dh4fxaXc6AcW34Sas+O7q414AB+6XrW7PFXmAqMaCvN+ggOp+o
+MiwMzAkd056OXbxMmO7FGmh77FOm6RQ1o9/NgJ8MSPsc9PG/Srj61YxxSscfrf5BmrODXfKEVu+l
+V0POKa2Mq1W/xPtbAd0jIaFYAI7D0GoT7RPjEiuA3GfmlbLNHiJuKvhB1PLKFAeNilUSxmn1uIZo
+L1NesNKqIcGY5jDjZ1XHm26sGahVpkUG0CM62+tlXSoREfA7T8pt9DTEceT/AFr2XK4jYIVz8eQQ
+sSWu1ZK7E8EM4DnatDlXtas1qnIhO4M15zHfeiFuuDIIfR0ykRVKYnLP43ehvNURG3YBZwjgQQvD
+6xVu+KQZ2aKrr+InUlYrAoosFCT5v0ICvybIxo/gbjh9Uy3l7ZizlWNof/k19N+IxWA1ksB8aRxh
+lRbQ694Lrz4EEEVlWFA4r0jyWbYW8jwNkALGcC4BrTwV1wIDAQABo0IwQDAPBgNVHRMBAf8EBTAD
+AQH/MA4GA1UdDwEB/wQEAwIBBjAdBgNVHQ4EFgQU7edvdlq/YOxJW8ald7tyFnGbxD0wDQYJKoZI
+hvcNAQELBQADggIBAJHfgD9DCX5xwvfrs4iP4VGyvD11+ShdyLyZm3tdquXK4Qr36LLTn91nMX66
+AarHakE7kNQIXLJgapDwyM4DYvmL7ftuKtwGTTwpD4kWilhMSA/ohGHqPHKmd+RCroijQ1h5fq7K
+pVMNqT1wvSAZYaRsOPxDMuHBR//47PERIjKWnML2W2mWeyAMQ0GaW/ZZGYjeVYg3UQt4XAoeo0L9
+x52ID8DyeAIkVJOviYeIyUqAHerQbj5hLja7NQ4nlv1mNDthcnPxFlxHBlRJAHpYErAK74X9sbgz
+dWqTHBLmYF5vHX/JHyPLhGGfHoJE+V+tYlUkmlKY7VHnoX6XOuYvHxHaU4AshZ6rNRDbIl9qxV6X
+U/IyAgkwo1jwDQHVcsaxfGl7w/U2Rcxhbl5MlMVerugOXou/983g7aEOGzPuVBj+D77vfoRrQ+Nw
+mNtddbINWQeFFSM51vHfqSYP1kjHs6Yi9TM3WpVHn3u6GBVv/9YUZINJ0gpnIdsPNWNgKCLjsZWD
+zYWm3S8P52dSbrsvhXz1SnPnxT7AvSESBT/8twNJAlvIJebiVDj1eYeMHVOyToV7BjjHLPj4sHKN
+JeV3UvQDHEimUF+IIDBu8oJDqz2XhOdT+yHBTw8imoa4WSr2Rz0ZiC3oheGe7IUIarFsNMkd7Egr
+O3jtZsSOeWmD3n+M
+-----END CERTIFICATE-----
+
+QuoVadis Root CA 3 G3
+=====================
+-----BEGIN CERTIFICATE-----
+MIIFYDCCA0igAwIBAgIULvWbAiin23r/1aOp7r0DoM8Sah0wDQYJKoZIhvcNAQELBQAwSDELMAkG
+A1UEBhMCQk0xGTAXBgNVBAoTEFF1b1ZhZGlzIExpbWl0ZWQxHjAcBgNVBAMTFVF1b1ZhZGlzIFJv
+b3QgQ0EgMyBHMzAeFw0xMjAxMTIyMDI2MzJaFw00MjAxMTIyMDI2MzJaMEgxCzAJBgNVBAYTAkJN
+MRkwFwYDVQQKExBRdW9WYWRpcyBMaW1pdGVkMR4wHAYDVQQDExVRdW9WYWRpcyBSb290IENBIDMg
+RzMwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQCzyw4QZ47qFJenMioKVjZ/aEzHs286
+IxSR/xl/pcqs7rN2nXrpixurazHb+gtTTK/FpRp5PIpM/6zfJd5O2YIyC0TeytuMrKNuFoM7pmRL
+Mon7FhY4futD4tN0SsJiCnMK3UmzV9KwCoWdcTzeo8vAMvMBOSBDGzXRU7Ox7sWTaYI+FrUoRqHe
+6okJ7UO4BUaKhvVZR74bbwEhELn9qdIoyhA5CcoTNs+cra1AdHkrAj80//ogaX3T7mH1urPnMNA3
+I4ZyYUUpSFlob3emLoG+B01vr87ERRORFHAGjx+f+IdpsQ7vw4kZ6+ocYfx6bIrc1gMLnia6Et3U
+VDmrJqMz6nWB2i3ND0/kA9HvFZcba5DFApCTZgIhsUfei5pKgLlVj7WiL8DWM2fafsSntARE60f7
+5li59wzweyuxwHApw0BiLTtIadwjPEjrewl5qW3aqDCYz4ByA4imW0aucnl8CAMhZa634RylsSqi
+Md5mBPfAdOhx3v89WcyWJhKLhZVXGqtrdQtEPREoPHtht+KPZ0/l7DxMYIBpVzgeAVuNVejH38DM
+dyM0SXV89pgR6y3e7UEuFAUCf+D+IOs15xGsIs5XPd7JMG0QA4XN8f+MFrXBsj6IbGB/kE+V9/Yt
+rQE5BwT6dYB9v0lQ7e/JxHwc64B+27bQ3RP+ydOc17KXqQIDAQABo0IwQDAPBgNVHRMBAf8EBTAD
+AQH/MA4GA1UdDwEB/wQEAwIBBjAdBgNVHQ4EFgQUxhfQvKjqAkPyGwaZXSuQILnXnOQwDQYJKoZI
+hvcNAQELBQADggIBADRh2Va1EodVTd2jNTFGu6QHcrxfYWLopfsLN7E8trP6KZ1/AvWkyaiTt3px
+KGmPc+FSkNrVvjrlt3ZqVoAh313m6Tqe5T72omnHKgqwGEfcIHB9UqM+WXzBusnIFUBhynLWcKzS
+t/Ac5IYp8M7vaGPQtSCKFWGafoaYtMnCdvvMujAWzKNhxnQT5WvvoxXqA/4Ti2Tk08HS6IT7SdEQ
+TXlm66r99I0xHnAUrdzeZxNMgRVhvLfZkXdxGYFgu/BYpbWcC/ePIlUnwEsBbTuZDdQdm2NnL9Du
+DcpmvJRPpq3t/O5jrFc/ZSXPsoaP0Aj/uHYUbt7lJ+yreLVTubY/6CD50qi+YUbKh4yE8/nxoGib
+Ih6BJpsQBJFxwAYf3KDTuVan45gtf4Od34wrnDKOMpTwATwiKp9Dwi7DmDkHOHv8XgBCH/MyJnmD
+hPbl8MFREsALHgQjDFSlTC9JxUrRtm5gDWv8a4uFJGS3iQ6rJUdbPM9+Sb3H6QrG2vd+DhcI00iX
+0HGS8A85PjRqHH3Y8iKuu2n0M7SmSFXRDw4m6Oy2Cy2nhTXN/VnIn9HNPlopNLk9hM6xZdRZkZFW
+dSHBd575euFgndOtBBj0fOtek49TSiIp+EgrPk2GrFt/ywaZWWDYWGWVjUTR939+J399roD1B0y2
+PpxxVJkES/1Y+Zj0
+-----END CERTIFICATE-----
+
+DigiCert Assured ID Root G2
+===========================
+-----BEGIN CERTIFICATE-----
+MIIDljCCAn6gAwIBAgIQC5McOtY5Z+pnI7/Dr5r0SzANBgkqhkiG9w0BAQsFADBlMQswCQYDVQQG
+EwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3d3cuZGlnaWNlcnQuY29tMSQw
+IgYDVQQDExtEaWdpQ2VydCBBc3N1cmVkIElEIFJvb3QgRzIwHhcNMTMwODAxMTIwMDAwWhcNMzgw
+MTE1MTIwMDAwWjBlMQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQL
+ExB3d3cuZGlnaWNlcnQuY29tMSQwIgYDVQQDExtEaWdpQ2VydCBBc3N1cmVkIElEIFJvb3QgRzIw
+ggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDZ5ygvUj82ckmIkzTz+GoeMVSAn61UQbVH
+35ao1K+ALbkKz3X9iaV9JPrjIgwrvJUXCzO/GU1BBpAAvQxNEP4HteccbiJVMWWXvdMX0h5i89vq
+bFCMP4QMls+3ywPgym2hFEwbid3tALBSfK+RbLE4E9HpEgjAALAcKxHad3A2m67OeYfcgnDmCXRw
+VWmvo2ifv922ebPynXApVfSr/5Vh88lAbx3RvpO704gqu52/clpWcTs/1PPRCv4o76Pu2ZmvA9OP
+YLfykqGxvYmJHzDNw6YuYjOuFgJ3RFrngQo8p0Quebg/BLxcoIfhG69Rjs3sLPr4/m3wOnyqi+Rn
+lTGNAgMBAAGjQjBAMA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgGGMB0GA1UdDgQWBBTO
+w0q5mVXyuNtgv6l+vVa1lzan1jANBgkqhkiG9w0BAQsFAAOCAQEAyqVVjOPIQW5pJ6d1Ee88hjZv
+0p3GeDgdaZaikmkuOGybfQTUiaWxMTeKySHMq2zNixya1r9I0jJmwYrA8y8678Dj1JGG0VDjA9tz
+d29KOVPt3ibHtX2vK0LRdWLjSisCx1BL4GnilmwORGYQRI+tBev4eaymG+g3NJ1TyWGqolKvSnAW
+hsI6yLETcDbYz+70CjTVW0z9B5yiutkBclzzTcHdDrEcDcRjvq30FPuJ7KJBDkzMyFdA0G4Dqs0M
+jomZmWzwPDCvON9vvKO+KSAnq3T/EyJ43pdSVR6DtVQgA+6uwE9W3jfMw3+qBCe703e4YtsXfJwo
+IhNzbM8m9Yop5w==
+-----END CERTIFICATE-----
+
+DigiCert Assured ID Root G3
+===========================
+-----BEGIN CERTIFICATE-----
+MIICRjCCAc2gAwIBAgIQC6Fa+h3foLVJRK/NJKBs7DAKBggqhkjOPQQDAzBlMQswCQYDVQQGEwJV
+UzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3d3cuZGlnaWNlcnQuY29tMSQwIgYD
+VQQDExtEaWdpQ2VydCBBc3N1cmVkIElEIFJvb3QgRzMwHhcNMTMwODAxMTIwMDAwWhcNMzgwMTE1
+MTIwMDAwWjBlMQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3
+d3cuZGlnaWNlcnQuY29tMSQwIgYDVQQDExtEaWdpQ2VydCBBc3N1cmVkIElEIFJvb3QgRzMwdjAQ
+BgcqhkjOPQIBBgUrgQQAIgNiAAQZ57ysRGXtzbg/WPuNsVepRC0FFfLvC/8QdJ+1YlJfZn4f5dwb
+RXkLzMZTCp2NXQLZqVneAlr2lSoOjThKiknGvMYDOAdfVdp+CW7if17QRSAPWXYQ1qAk8C3eNvJs
+KTmjQjBAMA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgGGMB0GA1UdDgQWBBTL0L2p4ZgF
+UaFNN6KDec6NHSrkhDAKBggqhkjOPQQDAwNnADBkAjAlpIFFAmsSS3V0T8gj43DydXLefInwz5Fy
+YZ5eEJJZVrmDxxDnOOlYJjZ91eQ0hjkCMHw2U/Aw5WJjOpnitqM7mzT6HtoQknFekROn3aRukswy
+1vUhZscv6pZjamVFkpUBtA==
+-----END CERTIFICATE-----
+
+DigiCert Global Root G2
+=======================
+-----BEGIN CERTIFICATE-----
+MIIDjjCCAnagAwIBAgIQAzrx5qcRqaC7KGSxHQn65TANBgkqhkiG9w0BAQsFADBhMQswCQYDVQQG
+EwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3d3cuZGlnaWNlcnQuY29tMSAw
+HgYDVQQDExdEaWdpQ2VydCBHbG9iYWwgUm9vdCBHMjAeFw0xMzA4MDExMjAwMDBaFw0zODAxMTUx
+MjAwMDBaMGExCzAJBgNVBAYTAlVTMRUwEwYDVQQKEwxEaWdpQ2VydCBJbmMxGTAXBgNVBAsTEHd3
+dy5kaWdpY2VydC5jb20xIDAeBgNVBAMTF0RpZ2lDZXJ0IEdsb2JhbCBSb290IEcyMIIBIjANBgkq
+hkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAuzfNNNx7a8myaJCtSnX/RrohCgiN9RlUyfuI2/Ou8jqJ
+kTx65qsGGmvPrC3oXgkkRLpimn7Wo6h+4FR1IAWsULecYxpsMNzaHxmx1x7e/dfgy5SDN67sH0NO
+3Xss0r0upS/kqbitOtSZpLYl6ZtrAGCSYP9PIUkY92eQq2EGnI/yuum06ZIya7XzV+hdG82MHauV
+BJVJ8zUtluNJbd134/tJS7SsVQepj5WztCO7TG1F8PapspUwtP1MVYwnSlcUfIKdzXOS0xZKBgyM
+UNGPHgm+F6HmIcr9g+UQvIOlCsRnKPZzFBQ9RnbDhxSJITRNrw9FDKZJobq7nMWxM4MphQIDAQAB
+o0IwQDAPBgNVHRMBAf8EBTADAQH/MA4GA1UdDwEB/wQEAwIBhjAdBgNVHQ4EFgQUTiJUIBiV5uNu
+5g/6+rkS7QYXjzkwDQYJKoZIhvcNAQELBQADggEBAGBnKJRvDkhj6zHd6mcY1Yl9PMWLSn/pvtsr
+F9+wX3N3KjITOYFnQoQj8kVnNeyIv/iPsGEMNKSuIEyExtv4NeF22d+mQrvHRAiGfzZ0JFrabA0U
+WTW98kndth/Jsw1HKj2ZL7tcu7XUIOGZX1NGFdtom/DzMNU+MeKNhJ7jitralj41E6Vf8PlwUHBH
+QRFXGU7Aj64GxJUTFy8bJZ918rGOmaFvE7FBcf6IKshPECBV1/MUReXgRPTqh5Uykw7+U0b6LJ3/
+iyK5S9kJRaTepLiaWN0bfVKfjllDiIGknibVb63dDcY3fe0Dkhvld1927jyNxF1WW6LZZm6zNTfl
+MrY=
+-----END CERTIFICATE-----
+
+DigiCert Global Root G3
+=======================
+-----BEGIN CERTIFICATE-----
+MIICPzCCAcWgAwIBAgIQBVVWvPJepDU1w6QP1atFcjAKBggqhkjOPQQDAzBhMQswCQYDVQQGEwJV
+UzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3d3cuZGlnaWNlcnQuY29tMSAwHgYD
+VQQDExdEaWdpQ2VydCBHbG9iYWwgUm9vdCBHMzAeFw0xMzA4MDExMjAwMDBaFw0zODAxMTUxMjAw
+MDBaMGExCzAJBgNVBAYTAlVTMRUwEwYDVQQKEwxEaWdpQ2VydCBJbmMxGTAXBgNVBAsTEHd3dy5k
+aWdpY2VydC5jb20xIDAeBgNVBAMTF0RpZ2lDZXJ0IEdsb2JhbCBSb290IEczMHYwEAYHKoZIzj0C
+AQYFK4EEACIDYgAE3afZu4q4C/sLfyHS8L6+c/MzXRq8NOrexpu80JX28MzQC7phW1FGfp4tn+6O
+YwwX7Adw9c+ELkCDnOg/QW07rdOkFFk2eJ0DQ+4QE2xy3q6Ip6FrtUPOZ9wj/wMco+I+o0IwQDAP
+BgNVHRMBAf8EBTADAQH/MA4GA1UdDwEB/wQEAwIBhjAdBgNVHQ4EFgQUs9tIpPmhxdiuNkHMEWNp
+Yim8S8YwCgYIKoZIzj0EAwMDaAAwZQIxAK288mw/EkrRLTnDCgmXc/SINoyIJ7vmiI1Qhadj+Z4y
+3maTD/HMsQmP3Wyr+mt/oAIwOWZbwmSNuJ5Q3KjVSaLtx9zRSX8XAbjIho9OjIgrqJqpisXRAL34
+VOKa5Vt8sycX
+-----END CERTIFICATE-----
+
+DigiCert Trusted Root G4
+========================
+-----BEGIN CERTIFICATE-----
+MIIFkDCCA3igAwIBAgIQBZsbV56OITLiOQe9p3d1XDANBgkqhkiG9w0BAQwFADBiMQswCQYDVQQG
+EwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3d3cuZGlnaWNlcnQuY29tMSEw
+HwYDVQQDExhEaWdpQ2VydCBUcnVzdGVkIFJvb3QgRzQwHhcNMTMwODAxMTIwMDAwWhcNMzgwMTE1
+MTIwMDAwWjBiMQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3
+d3cuZGlnaWNlcnQuY29tMSEwHwYDVQQDExhEaWdpQ2VydCBUcnVzdGVkIFJvb3QgRzQwggIiMA0G
+CSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQC/5pBzaN675F1KPDAiMGkz7MKnJS7JIT3yithZwuEp
+pz1Yq3aaza57G4QNxDAf8xukOBbrVsaXbR2rsnnyyhHS5F/WBTxSD1Ifxp4VpX6+n6lXFllVcq9o
+k3DCsrp1mWpzMpTREEQQLt+C8weE5nQ7bXHiLQwb7iDVySAdYyktzuxeTsiT+CFhmzTrBcZe7Fsa
+vOvJz82sNEBfsXpm7nfISKhmV1efVFiODCu3T6cw2Vbuyntd463JT17lNecxy9qTXtyOj4DatpGY
+QJB5w3jHtrHEtWoYOAMQjdjUN6QuBX2I9YI+EJFwq1WCQTLX2wRzKm6RAXwhTNS8rhsDdV14Ztk6
+MUSaM0C/CNdaSaTC5qmgZ92kJ7yhTzm1EVgX9yRcRo9k98FpiHaYdj1ZXUJ2h4mXaXpI8OCiEhtm
+mnTK3kse5w5jrubU75KSOp493ADkRSWJtppEGSt+wJS00mFt6zPZxd9LBADMfRyVw4/3IbKyEbe7
+f/LVjHAsQWCqsWMYRJUadmJ+9oCw++hkpjPRiQfhvbfmQ6QYuKZ3AeEPlAwhHbJUKSWJbOUOUlFH
+dL4mrLZBdd56rF+NP8m800ERElvlEFDrMcXKchYiCd98THU/Y+whX8QgUWtvsauGi0/C1kVfnSD8
+oR7FwI+isX4KJpn15GkvmB0t9dmpsh3lGwIDAQABo0IwQDAPBgNVHRMBAf8EBTADAQH/MA4GA1Ud
+DwEB/wQEAwIBhjAdBgNVHQ4EFgQU7NfjgtJxXWRM3y5nP+e6mK4cD08wDQYJKoZIhvcNAQEMBQAD
+ggIBALth2X2pbL4XxJEbw6GiAI3jZGgPVs93rnD5/ZpKmbnJeFwMDF/k5hQpVgs2SV1EY+CtnJYY
+ZhsjDT156W1r1lT40jzBQ0CuHVD1UvyQO7uYmWlrx8GnqGikJ9yd+SeuMIW59mdNOj6PWTkiU0Tr
+yF0Dyu1Qen1iIQqAyHNm0aAFYF/opbSnr6j3bTWcfFqK1qI4mfN4i/RN0iAL3gTujJtHgXINwBQy
+7zBZLq7gcfJW5GqXb5JQbZaNaHqasjYUegbyJLkJEVDXCLG4iXqEI2FCKeWjzaIgQdfRnGTZ6iah
+ixTXTBmyUEFxPT9NcCOGDErcgdLMMpSEDQgJlxxPwO5rIHQw0uA5NBCFIRUBCOhVMt5xSdkoF1BN
+5r5N0XWs0Mr7QbhDparTwwVETyw2m+L64kW4I1NsBm9nVX9GtUw/bihaeSbSpKhil9Ie4u1Ki7wb
+/UdKDd9nZn6yW0HQO+T0O/QEY+nvwlQAUaCKKsnOeMzV6ocEGLPOr0mIr/OSmbaz5mEP0oUA51Aa
+5BuVnRmhuZyxm7EAHu/QD09CbMkKvO5D+jpxpchNJqU1/YldvIViHTLSoCtU7ZpXwdv6EM8Zt4tK
+G48BtieVU+i2iW1bvGjUI+iLUaJW+fCmgKDWHrO8Dw9TdSmq6hN35N6MgSGtBxBHEa2HPQfRdbzP
+82Z+
+-----END CERTIFICATE-----
+
+WoSign
+======
+-----BEGIN CERTIFICATE-----
+MIIFdjCCA16gAwIBAgIQXmjWEXGUY1BWAGjzPsnFkTANBgkqhkiG9w0BAQUFADBVMQswCQYDVQQG
+EwJDTjEaMBgGA1UEChMRV29TaWduIENBIExpbWl0ZWQxKjAoBgNVBAMTIUNlcnRpZmljYXRpb24g
+QXV0aG9yaXR5IG9mIFdvU2lnbjAeFw0wOTA4MDgwMTAwMDFaFw0zOTA4MDgwMTAwMDFaMFUxCzAJ
+BgNVBAYTAkNOMRowGAYDVQQKExFXb1NpZ24gQ0EgTGltaXRlZDEqMCgGA1UEAxMhQ2VydGlmaWNh
+dGlvbiBBdXRob3JpdHkgb2YgV29TaWduMIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEA
+vcqNrLiRFVaXe2tcesLea9mhsMMQI/qnobLMMfo+2aYpbxY94Gv4uEBf2zmoAHqLoE1UfcIiePyO
+CbiohdfMlZdLdNiefvAA5A6JrkkoRBoQmTIPJYhTpA2zDxIIFgsDcSccf+Hb0v1naMQFXQoOXXDX
+2JegvFNBmpGN9J42Znp+VsGQX+axaCA2pIwkLCxHC1l2ZjC1vt7tj/id07sBMOby8w7gLJKA84X5
+KIq0VC6a7fd2/BVoFutKbOsuEo/Uz/4Mx1wdC34FMr5esAkqQtXJTpCzWQ27en7N1QhatH/YHGkR
++ScPewavVIMYe+HdVHpRaG53/Ma/UkpmRqGyZxq7o093oL5d//xWC0Nyd5DKnvnyOfUNqfTq1+ez
+EC8wQjchzDBwyYaYD8xYTYO7feUapTeNtqwylwA6Y3EkHp43xP901DfA4v6IRmAR3Qg/UDaruHqk
+lWJqbrDKaiFaafPz+x1wOZXzp26mgYmhiMU7ccqjUu6Du/2gd/Tkb+dC221KmYo0SLwX3OSACCK2
+8jHAPwQ+658geda4BmRkAjHXqc1S+4RFaQkAKtxVi8QGRkvASh0JWzko/amrzgD5LkhLJuYwTKVY
+yrREgk/nkR4zw7CT/xH8gdLKH3Ep3XZPkiWvHYG3Dy+MwwbMLyejSuQOmbp8HkUff6oZRZb9/D0C
+AwEAAaNCMEAwDgYDVR0PAQH/BAQDAgEGMA8GA1UdEwEB/wQFMAMBAf8wHQYDVR0OBBYEFOFmzw7R
+8bNLtwYgFP6HEtX2/vs+MA0GCSqGSIb3DQEBBQUAA4ICAQCoy3JAsnbBfnv8rWTjMnvMPLZdRtP1
+LOJwXcgu2AZ9mNELIaCJWSQBnfmvCX0KI4I01fx8cpm5o9dU9OpScA7F9dY74ToJMuYhOZO9sxXq
+T2r09Ys/L3yNWC7F4TmgPsc9SnOeQHrAK2GpZ8nzJLmzbVUsWh2eJXLOC62qx1ViC777Y7NhRCOj
+y+EaDveaBk3e1CNOIZZbOVtXHS9dCF4Jef98l7VNg64N1uajeeAz0JmWAjCnPv/So0M/BVoG6kQC
+2nz4SNAzqfkHx5Xh9T71XXG68pWpdIhhWeO/yloTunK0jF02h+mmxTwTv97QRCbut+wucPrXnbes
+5cVAWubXbHssw1abR80LzvobtCHXt2a49CUwi1wNuepnsvRtrtWhnk/Yn+knArAdBtaP4/tIEp9/
+EaEQPkxROpaw0RPxx9gmrjrKkcRpnd8BKWRRb2jaFOwIQZeQjdCygPLPwj2/kWjFgGcexGATVdVh
+mVd8upUPYUk6ynW8yQqTP2cOEvIo4jEbwFcW3wh8GcF+Dx+FHgo2fFt+J7x6v+Db9NpSvd4MVHAx
+kUOVyLzwPt0JfjBkUO1/AaQzZ01oT74V77D2AhGiGxMlOtzCWfHjXEa7ZywCRuoeSKbmW9m1vFGi
+kpbbqsY3Iqb+zCB0oy2pLmvLwIIRIbWTee5Ehr7XHuQe+w==
+-----END CERTIFICATE-----
+
+WoSign China
+============
+-----BEGIN CERTIFICATE-----
+MIIFWDCCA0CgAwIBAgIQUHBrzdgT/BtOOzNy0hFIjTANBgkqhkiG9w0BAQsFADBGMQswCQYDVQQG
+EwJDTjEaMBgGA1UEChMRV29TaWduIENBIExpbWl0ZWQxGzAZBgNVBAMMEkNBIOayg+mAmuagueiv
+geS5pjAeFw0wOTA4MDgwMTAwMDFaFw0zOTA4MDgwMTAwMDFaMEYxCzAJBgNVBAYTAkNOMRowGAYD
+VQQKExFXb1NpZ24gQ0EgTGltaXRlZDEbMBkGA1UEAwwSQ0Eg5rKD6YCa5qC56K+B5LmmMIICIjAN
+BgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEA0EkhHiX8h8EqwqzbdoYGTufQdDTc7WU1/FDWiD+k
+8H/rD195L4mx/bxjWDeTmzj4t1up+thxx7S8gJeNbEvxUNUqKaqoGXqW5pWOdO2XCld19AXbbQs5
+uQF/qvbW2mzmBeCkTVL829B0txGMe41P/4eDrv8FAxNXUDf+jJZSEExfv5RxadmWPgxDT74wwJ85
+dE8GRV2j1lY5aAfMh09Qd5Nx2UQIsYo06Yms25tO4dnkUkWMLhQfkWsZHWgpLFbE4h4TV2TwYeO5
+Ed+w4VegG63XX9Gv2ystP9Bojg/qnw+LNVgbExz03jWhCl3W6t8Sb8D7aQdGctyB9gQjF+BNdeFy
+b7Ao65vh4YOhn0pdr8yb+gIgthhid5E7o9Vlrdx8kHccREGkSovrlXLp9glk3Kgtn3R46MGiCWOc
+76DbT52VqyBPt7D3h1ymoOQ3OMdc4zUPLK2jgKLsLl3Az+2LBcLmc272idX10kaO6m1jGx6KyX2m
++Jzr5dVjhU1zZmkR/sgO9MHHZklTfuQZa/HpelmjbX7FF+Ynxu8b22/8DU0GAbQOXDBGVWCvOGU6
+yke6rCzMRh+yRpY/8+0mBe53oWprfi1tWFxK1I5nuPHa1UaKJ/kR8slC/k7e3x9cxKSGhxYzoacX
+GKUN5AXlK8IrC6KVkLn9YDxOiT7nnO4fuwECAwEAAaNCMEAwDgYDVR0PAQH/BAQDAgEGMA8GA1Ud
+EwEB/wQFMAMBAf8wHQYDVR0OBBYEFOBNv9ybQV0T6GTwp+kVpOGBwboxMA0GCSqGSIb3DQEBCwUA
+A4ICAQBqinA4WbbaixjIvirTthnVZil6Xc1bL3McJk6jfW+rtylNpumlEYOnOXOvEESS5iVdT2H6
+yAa+Tkvv/vMx/sZ8cApBWNromUuWyXi8mHwCKe0JgOYKOoICKuLJL8hWGSbueBwj/feTZU7n85iY
+r83d2Z5AiDEoOqsuC7CsDCT6eiaY8xJhEPRdF/d+4niXVOKM6Cm6jBAyvd0zaziGfjk9DgNyp115
+j0WKWa5bIW4xRtVZjc8VX90xJc/bYNaBRHIpAlf2ltTW/+op2znFuCyKGo3Oy+dCMYYFaA6eFN0A
+kLppRQjbbpCBhqcqBT/mhDn4t/lXX0ykeVoQDF7Va/81XwVRHmyjdanPUIPTfPRm94KNPQx96N97
+qA4bLJyuQHCH2u2nFoJavjVsIE4iYdm8UXrNemHcSxH5/mc0zy4EZmFcV5cjjPOGG0jfKq+nwf/Y
+jj4Du9gqsPoUJbJRa4ZDhS4HIxaAjUz7tGM7zMN07RujHv41D198HRaG9Q7DlfEvr10lO1Hm13ZB
+ONFLAzkopR6RctR9q5czxNM+4Gm2KHmgCY0c0f9BckgG/Jou5yD5m6Leie2uPAmvylezkolwQOQv
+T8Jwg0DXJCxr5wkf09XHwQj02w47HAcLQxGEIYbpgNR12KvxAmLBsX5VYc8T1yaw15zLKYs4SgsO
+kI26oQ==
+-----END CERTIFICATE-----
+
+COMODO RSA Certification Authority
+==================================
+-----BEGIN CERTIFICATE-----
+MIIF2DCCA8CgAwIBAgIQTKr5yttjb+Af907YWwOGnTANBgkqhkiG9w0BAQwFADCBhTELMAkGA1UE
+BhMCR0IxGzAZBgNVBAgTEkdyZWF0ZXIgTWFuY2hlc3RlcjEQMA4GA1UEBxMHU2FsZm9yZDEaMBgG
+A1UEChMRQ09NT0RPIENBIExpbWl0ZWQxKzApBgNVBAMTIkNPTU9ETyBSU0EgQ2VydGlmaWNhdGlv
+biBBdXRob3JpdHkwHhcNMTAwMTE5MDAwMDAwWhcNMzgwMTE4MjM1OTU5WjCBhTELMAkGA1UEBhMC
+R0IxGzAZBgNVBAgTEkdyZWF0ZXIgTWFuY2hlc3RlcjEQMA4GA1UEBxMHU2FsZm9yZDEaMBgGA1UE
+ChMRQ09NT0RPIENBIExpbWl0ZWQxKzApBgNVBAMTIkNPTU9ETyBSU0EgQ2VydGlmaWNhdGlvbiBB
+dXRob3JpdHkwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQCR6FSS0gpWsawNJN3Fz0Rn
+dJkrN6N9I3AAcbxT38T6KhKPS38QVr2fcHK3YX/JSw8Xpz3jsARh7v8Rl8f0hj4K+j5c+ZPmNHrZ
+FGvnnLOFoIJ6dq9xkNfs/Q36nGz637CC9BR++b7Epi9Pf5l/tfxnQ3K9DADWietrLNPtj5gcFKt+
+5eNu/Nio5JIk2kNrYrhV/erBvGy2i/MOjZrkm2xpmfh4SDBF1a3hDTxFYPwyllEnvGfDyi62a+pG
+x8cgoLEfZd5ICLqkTqnyg0Y3hOvozIFIQ2dOciqbXL1MGyiKXCJ7tKuY2e7gUYPDCUZObT6Z+pUX
+2nwzV0E8jVHtC7ZcryxjGt9XyD+86V3Em69FmeKjWiS0uqlWPc9vqv9JWL7wqP/0uK3pN/u6uPQL
+OvnoQ0IeidiEyxPx2bvhiWC4jChWrBQdnArncevPDt09qZahSL0896+1DSJMwBGB7FY79tOi4lu3
+sgQiUpWAk2nojkxl8ZEDLXB0AuqLZxUpaVICu9ffUGpVRr+goyhhf3DQw6KqLCGqR84onAZFdr+C
+GCe01a60y1Dma/RMhnEw6abfFobg2P9A3fvQQoh/ozM6LlweQRGBY84YcWsr7KaKtzFcOmpH4MN5
+WdYgGq/yapiqcrxXStJLnbsQ/LBMQeXtHT1eKJ2czL+zUdqnR+WEUwIDAQABo0IwQDAdBgNVHQ4E
+FgQUu69+Aj36pvE8hI6t7jiY7NkyMtQwDgYDVR0PAQH/BAQDAgEGMA8GA1UdEwEB/wQFMAMBAf8w
+DQYJKoZIhvcNAQEMBQADggIBAArx1UaEt65Ru2yyTUEUAJNMnMvlwFTPoCWOAvn9sKIN9SCYPBMt
+rFaisNZ+EZLpLrqeLppysb0ZRGxhNaKatBYSaVqM4dc+pBroLwP0rmEdEBsqpIt6xf4FpuHA1sj+
+nq6PK7o9mfjYcwlYRm6mnPTXJ9OV2jeDchzTc+CiR5kDOF3VSXkAKRzH7JsgHAckaVd4sjn8OoSg
+tZx8jb8uk2IntznaFxiuvTwJaP+EmzzV1gsD41eeFPfR60/IvYcjt7ZJQ3mFXLrrkguhxuhoqEwW
+sRqZCuhTLJK7oQkYdQxlqHvLI7cawiiFwxv/0Cti76R7CZGYZ4wUAc1oBmpjIXUDgIiKboHGhfKp
+pC3n9KUkEEeDys30jXlYsQab5xoq2Z0B15R97QNKyvDb6KkBPvVWmckejkk9u+UJueBPSZI9FoJA
+zMxZxuY67RIuaTxslbH9qh17f4a+Hg4yRvv7E491f0yLS0Zj/gA0QHDBw7mh3aZw4gSzQbzpgJHq
+ZJx64SIDqZxubw5lT2yHh17zbqD5daWbQOhTsiedSrnAdyGN/4fy3ryM7xfft0kL0fJuMAsaDk52
+7RH89elWsn2/x20Kk4yl0MC2Hb46TpSi125sC8KKfPog88Tk5c0NqMuRkrF8hey1FGlmDoLnzc7I
+LaZRfyHBNVOFBkpdn627G190
+-----END CERTIFICATE-----
+
+USERTrust RSA Certification Authority
+=====================================
+-----BEGIN CERTIFICATE-----
+MIIF3jCCA8agAwIBAgIQAf1tMPyjylGoG7xkDjUDLTANBgkqhkiG9w0BAQwFADCBiDELMAkGA1UE
+BhMCVVMxEzARBgNVBAgTCk5ldyBKZXJzZXkxFDASBgNVBAcTC0plcnNleSBDaXR5MR4wHAYDVQQK
+ExVUaGUgVVNFUlRSVVNUIE5ldHdvcmsxLjAsBgNVBAMTJVVTRVJUcnVzdCBSU0EgQ2VydGlmaWNh
+dGlvbiBBdXRob3JpdHkwHhcNMTAwMjAxMDAwMDAwWhcNMzgwMTE4MjM1OTU5WjCBiDELMAkGA1UE
+BhMCVVMxEzARBgNVBAgTCk5ldyBKZXJzZXkxFDASBgNVBAcTC0plcnNleSBDaXR5MR4wHAYDVQQK
+ExVUaGUgVVNFUlRSVVNUIE5ldHdvcmsxLjAsBgNVBAMTJVVTRVJUcnVzdCBSU0EgQ2VydGlmaWNh
+dGlvbiBBdXRob3JpdHkwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQCAEmUXNg7D2wiz
+0KxXDXbtzSfTTK1Qg2HiqiBNCS1kCdzOiZ/MPans9s/B3PHTsdZ7NygRK0faOca8Ohm0X6a9fZ2j
+Y0K2dvKpOyuR+OJv0OwWIJAJPuLodMkYtJHUYmTbf6MG8YgYapAiPLz+E/CHFHv25B+O1ORRxhFn
+RghRy4YUVD+8M/5+bJz/Fp0YvVGONaanZshyZ9shZrHUm3gDwFA66Mzw3LyeTP6vBZY1H1dat//O
++T23LLb2VN3I5xI6Ta5MirdcmrS3ID3KfyI0rn47aGYBROcBTkZTmzNg95S+UzeQc0PzMsNT79uq
+/nROacdrjGCT3sTHDN/hMq7MkztReJVni+49Vv4M0GkPGw/zJSZrM233bkf6c0Plfg6lZrEpfDKE
+Y1WJxA3Bk1QwGROs0303p+tdOmw1XNtB1xLaqUkL39iAigmTYo61Zs8liM2EuLE/pDkP2QKe6xJM
+lXzzawWpXhaDzLhn4ugTncxbgtNMs+1b/97lc6wjOy0AvzVVdAlJ2ElYGn+SNuZRkg7zJn0cTRe8
+yexDJtC/QV9AqURE9JnnV4eeUB9XVKg+/XRjL7FQZQnmWEIuQxpMtPAlR1n6BB6T1CZGSlCBst6+
+eLf8ZxXhyVeEHg9j1uliutZfVS7qXMYoCAQlObgOK6nyTJccBz8NUvXt7y+CDwIDAQABo0IwQDAd
+BgNVHQ4EFgQUU3m/WqorSs9UgOHYm8Cd8rIDZsswDgYDVR0PAQH/BAQDAgEGMA8GA1UdEwEB/wQF
+MAMBAf8wDQYJKoZIhvcNAQEMBQADggIBAFzUfA3P9wF9QZllDHPFUp/L+M+ZBn8b2kMVn54CVVeW
+FPFSPCeHlCjtHzoBN6J2/FNQwISbxmtOuowhT6KOVWKR82kV2LyI48SqC/3vqOlLVSoGIG1VeCkZ
+7l8wXEskEVX/JJpuXior7gtNn3/3ATiUFJVDBwn7YKnuHKsSjKCaXqeYalltiz8I+8jRRa8YFWSQ
+Eg9zKC7F4iRO/Fjs8PRF/iKz6y+O0tlFYQXBl2+odnKPi4w2r78NBc5xjeambx9spnFixdjQg3IM
+8WcRiQycE0xyNN+81XHfqnHd4blsjDwSXWXavVcStkNr/+XeTWYRUc+ZruwXtuhxkYzeSf7dNXGi
+FSeUHM9h4ya7b6NnJSFd5t0dCy5oGzuCr+yDZ4XUmFF0sbmZgIn/f3gZXHlKYC6SQK5MNyosycdi
+yA5d9zZbyuAlJQG03RoHnHcAP9Dc1ew91Pq7P8yF1m9/qS3fuQL39ZeatTXaw2ewh0qpKJ4jjv9c
+J2vhsE/zB+4ALtRZh8tSQZXq9EfX7mRBVXyNWQKV3WKdwrnuWih0hKWbt5DHDAff9Yk2dDLWKMGw
+sAvgnEzDHNb842m1R0aBL6KCq9NjRHDEjf8tM7qtj3u1cIiuPhnPQCjY/MiQu12ZIvVS5ljFH4gx
+Q+6IHdfGjjxDah2nGN59PRbxYvnKkKj9
+-----END CERTIFICATE-----
+
+USERTrust ECC Certification Authority
+=====================================
+-----BEGIN CERTIFICATE-----
+MIICjzCCAhWgAwIBAgIQXIuZxVqUxdJxVt7NiYDMJjAKBggqhkjOPQQDAzCBiDELMAkGA1UEBhMC
+VVMxEzARBgNVBAgTCk5ldyBKZXJzZXkxFDASBgNVBAcTC0plcnNleSBDaXR5MR4wHAYDVQQKExVU
+aGUgVVNFUlRSVVNUIE5ldHdvcmsxLjAsBgNVBAMTJVVTRVJUcnVzdCBFQ0MgQ2VydGlmaWNhdGlv
+biBBdXRob3JpdHkwHhcNMTAwMjAxMDAwMDAwWhcNMzgwMTE4MjM1OTU5WjCBiDELMAkGA1UEBhMC
+VVMxEzARBgNVBAgTCk5ldyBKZXJzZXkxFDASBgNVBAcTC0plcnNleSBDaXR5MR4wHAYDVQQKExVU
+aGUgVVNFUlRSVVNUIE5ldHdvcmsxLjAsBgNVBAMTJVVTRVJUcnVzdCBFQ0MgQ2VydGlmaWNhdGlv
+biBBdXRob3JpdHkwdjAQBgcqhkjOPQIBBgUrgQQAIgNiAAQarFRaqfloI+d61SRvU8Za2EurxtW2
+0eZzca7dnNYMYf3boIkDuAUU7FfO7l0/4iGzzvfUinngo4N+LZfQYcTxmdwlkWOrfzCjtHDix6Ez
+nPO/LlxTsV+zfTJ/ijTjeXmjQjBAMB0GA1UdDgQWBBQ64QmG1M8ZwpZ2dEl23OA1xmNjmjAOBgNV
+HQ8BAf8EBAMCAQYwDwYDVR0TAQH/BAUwAwEB/zAKBggqhkjOPQQDAwNoADBlAjA2Z6EWCNzklwBB
+HU6+4WMBzzuqQhFkoJ2UOQIReVx7Hfpkue4WQrO/isIJxOzksU0CMQDpKmFHjFJKS04YcPbWRNZu
+9YO6bVi9JNlWSOrvxKJGgYhqOkbRqZtNyWHa0V1Xahg=
+-----END CERTIFICATE-----
+
+GlobalSign ECC Root CA - R4
+===========================
+-----BEGIN CERTIFICATE-----
+MIIB4TCCAYegAwIBAgIRKjikHJYKBN5CsiilC+g0mAIwCgYIKoZIzj0EAwIwUDEkMCIGA1UECxMb
+R2xvYmFsU2lnbiBFQ0MgUm9vdCBDQSAtIFI0MRMwEQYDVQQKEwpHbG9iYWxTaWduMRMwEQYDVQQD
+EwpHbG9iYWxTaWduMB4XDTEyMTExMzAwMDAwMFoXDTM4MDExOTAzMTQwN1owUDEkMCIGA1UECxMb
+R2xvYmFsU2lnbiBFQ0MgUm9vdCBDQSAtIFI0MRMwEQYDVQQKEwpHbG9iYWxTaWduMRMwEQYDVQQD
+EwpHbG9iYWxTaWduMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEuMZ5049sJQ6fLjkZHAOkrprl
+OQcJFspjsbmG+IpXwVfOQvpzofdlQv8ewQCybnMO/8ch5RikqtlxP6jUuc6MHaNCMEAwDgYDVR0P
+AQH/BAQDAgEGMA8GA1UdEwEB/wQFMAMBAf8wHQYDVR0OBBYEFFSwe61FuOJAf/sKbvu+M8k8o4TV
+MAoGCCqGSM49BAMCA0gAMEUCIQDckqGgE6bPA7DmxCGXkPoUVy0D7O48027KqGx2vKLeuwIgJ6iF
+JzWbVsaj8kfSt24bAgAXqmemFZHe+pTsewv4n4Q=
+-----END CERTIFICATE-----
+
+GlobalSign ECC Root CA - R5
+===========================
+-----BEGIN CERTIFICATE-----
+MIICHjCCAaSgAwIBAgIRYFlJ4CYuu1X5CneKcflK2GwwCgYIKoZIzj0EAwMwUDEkMCIGA1UECxMb
+R2xvYmFsU2lnbiBFQ0MgUm9vdCBDQSAtIFI1MRMwEQYDVQQKEwpHbG9iYWxTaWduMRMwEQYDVQQD
+EwpHbG9iYWxTaWduMB4XDTEyMTExMzAwMDAwMFoXDTM4MDExOTAzMTQwN1owUDEkMCIGA1UECxMb
+R2xvYmFsU2lnbiBFQ0MgUm9vdCBDQSAtIFI1MRMwEQYDVQQKEwpHbG9iYWxTaWduMRMwEQYDVQQD
+EwpHbG9iYWxTaWduMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAER0UOlvt9Xb/pOdEh+J8LttV7HpI6
+SFkc8GIxLcB6KP4ap1yztsyX50XUWPrRd21DosCHZTQKH3rd6zwzocWdTaRvQZU4f8kehOvRnkmS
+h5SHDDqFSmafnVmTTZdhBoZKo0IwQDAOBgNVHQ8BAf8EBAMCAQYwDwYDVR0TAQH/BAUwAwEB/zAd
+BgNVHQ4EFgQUPeYpSJvqB8ohREom3m7e0oPQn1kwCgYIKoZIzj0EAwMDaAAwZQIxAOVpEslu28Yx
+uglB4Zf4+/2a4n0Sye18ZNPLBSWLVtmg515dTguDnFt2KaAJJiFqYgIwcdK1j1zqO+F4CYWodZI7
+yFz9SO8NdCKoCOJuxUnOxwy8p2Fp8fc74SrL+SvzZpA3
+-----END CERTIFICATE-----
+
+Staat der Nederlanden Root CA - G3
+==================================
+-----BEGIN CERTIFICATE-----
+MIIFdDCCA1ygAwIBAgIEAJiiOTANBgkqhkiG9w0BAQsFADBaMQswCQYDVQQGEwJOTDEeMBwGA1UE
+CgwVU3RhYXQgZGVyIE5lZGVybGFuZGVuMSswKQYDVQQDDCJTdGFhdCBkZXIgTmVkZXJsYW5kZW4g
+Um9vdCBDQSAtIEczMB4XDTEzMTExNDExMjg0MloXDTI4MTExMzIzMDAwMFowWjELMAkGA1UEBhMC
+TkwxHjAcBgNVBAoMFVN0YWF0IGRlciBOZWRlcmxhbmRlbjErMCkGA1UEAwwiU3RhYXQgZGVyIE5l
+ZGVybGFuZGVuIFJvb3QgQ0EgLSBHMzCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBAL4y
+olQPcPssXFnrbMSkUeiFKrPMSjTysF/zDsccPVMeiAho2G89rcKezIJnByeHaHE6n3WWIkYFsO2t
+x1ueKt6c/DrGlaf1F2cY5y9JCAxcz+bMNO14+1Cx3Gsy8KL+tjzk7FqXxz8ecAgwoNzFs21v0IJy
+EavSgWhZghe3eJJg+szeP4TrjTgzkApyI/o1zCZxMdFyKJLZWyNtZrVtB0LrpjPOktvA9mxjeM3K
+Tj215VKb8b475lRgsGYeCasH/lSJEULR9yS6YHgamPfJEf0WwTUaVHXvQ9Plrk7O53vDxk5hUUur
+mkVLoR9BvUhTFXFkC4az5S6+zqQbwSmEorXLCCN2QyIkHxcE1G6cxvx/K2Ya7Irl1s9N9WMJtxU5
+1nus6+N86U78dULI7ViVDAZCopz35HCz33JvWjdAidiFpNfxC95DGdRKWCyMijmev4SH8RY7Ngzp
+07TKbBlBUgmhHbBqv4LvcFEhMtwFdozL92TkA1CvjJFnq8Xy7ljY3r735zHPbMk7ccHViLVlvMDo
+FxcHErVc0qsgk7TmgoNwNsXNo42ti+yjwUOH5kPiNL6VizXtBznaqB16nzaeErAMZRKQFWDZJkBE
+41ZgpRDUajz9QdwOWke275dhdU/Z/seyHdTtXUmzqWrLZoQT1Vyg3N9udwbRcXXIV2+vD3dbAgMB
+AAGjQjBAMA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgEGMB0GA1UdDgQWBBRUrfrHkleu
+yjWcLhL75LpdINyUVzANBgkqhkiG9w0BAQsFAAOCAgEAMJmdBTLIXg47mAE6iqTnB/d6+Oea31BD
+U5cqPco8R5gu4RV78ZLzYdqQJRZlwJ9UXQ4DO1t3ApyEtg2YXzTdO2PCwyiBwpwpLiniyMMB8jPq
+KqrMCQj3ZWfGzd/TtiunvczRDnBfuCPRy5FOCvTIeuXZYzbB1N/8Ipf3YF3qKS9Ysr1YvY2WTxB1
+v0h7PVGHoTx0IsL8B3+A3MSs/mrBcDCw6Y5p4ixpgZQJut3+TcCDjJRYwEYgr5wfAvg1VUkvRtTA
+8KCWAg8zxXHzniN9lLf9OtMJgwYh/WA9rjLA0u6NpvDntIJ8CsxwyXmA+P5M9zWEGYox+wrZ13+b
+8KKaa8MFSu1BYBQw0aoRQm7TIwIEC8Zl3d1Sd9qBa7Ko+gE4uZbqKmxnl4mUnrzhVNXkanjvSr0r
+mj1AfsbAddJu+2gw7OyLnflJNZoaLNmzlTnVHpL3prllL+U9bTpITAjc5CgSKL59NVzq4BZ+Extq
+1z7XnvwtdbLBFNUjA9tbbws+eC8N3jONFrdI54OagQ97wUNNVQQXOEpR1VmiiXTTn74eS9fGbbeI
+JG9gkaSChVtWQbzQRKtqE77RLFi3EjNYsjdj3BP1lB0/QFH1T/U67cjF68IeHRaVesd+QnGTbksV
+tzDfqu1XhUisHWrdOWnk4Xl4vs4Fv6EM94B7IWcnMFk=
+-----END CERTIFICATE-----
+
+Staat der Nederlanden EV Root CA
+================================
+-----BEGIN CERTIFICATE-----
+MIIFcDCCA1igAwIBAgIEAJiWjTANBgkqhkiG9w0BAQsFADBYMQswCQYDVQQGEwJOTDEeMBwGA1UE
+CgwVU3RhYXQgZGVyIE5lZGVybGFuZGVuMSkwJwYDVQQDDCBTdGFhdCBkZXIgTmVkZXJsYW5kZW4g
+RVYgUm9vdCBDQTAeFw0xMDEyMDgxMTE5MjlaFw0yMjEyMDgxMTEwMjhaMFgxCzAJBgNVBAYTAk5M
+MR4wHAYDVQQKDBVTdGFhdCBkZXIgTmVkZXJsYW5kZW4xKTAnBgNVBAMMIFN0YWF0IGRlciBOZWRl
+cmxhbmRlbiBFViBSb290IENBMIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEA48d+ifkk
+SzrSM4M1LGns3Amk41GoJSt5uAg94JG6hIXGhaTK5skuU6TJJB79VWZxXSzFYGgEt9nCUiY4iKTW
+O0Cmws0/zZiTs1QUWJZV1VD+hq2kY39ch/aO5ieSZxeSAgMs3NZmdO3dZ//BYY1jTw+bbRcwJu+r
+0h8QoPnFfxZpgQNH7R5ojXKhTbImxrpsX23Wr9GxE46prfNeaXUmGD5BKyF/7otdBwadQ8QpCiv8
+Kj6GyzyDOvnJDdrFmeK8eEEzduG/L13lpJhQDBXd4Pqcfzho0LKmeqfRMb1+ilgnQ7O6M5HTp5gV
+XJrm0w912fxBmJc+qiXbj5IusHsMX/FjqTf5m3VpTCgmJdrV8hJwRVXj33NeN/UhbJCONVrJ0yPr
+08C+eKxCKFhmpUZtcALXEPlLVPxdhkqHz3/KRawRWrUgUY0viEeXOcDPusBCAUCZSCELa6fS/ZbV
+0b5GnUngC6agIk440ME8MLxwjyx1zNDFjFE7PZQIZCZhfbnDZY8UnCHQqv0XcgOPvZuM5l5Tnrmd
+74K74bzickFbIZTTRTeU0d8JOV3nI6qaHcptqAqGhYqCvkIH1vI4gnPah1vlPNOePqc7nvQDs/nx
+fRN0Av+7oeX6AHkcpmZBiFxgV6YuCcS6/ZrPpx9Aw7vMWgpVSzs4dlG4Y4uElBbmVvMCAwEAAaNC
+MEAwDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMCAQYwHQYDVR0OBBYEFP6rAJCYniT8qcwa
+ivsnuL8wbqg7MA0GCSqGSIb3DQEBCwUAA4ICAQDPdyxuVr5Os7aEAJSrR8kN0nbHhp8dB9O2tLsI
+eK9p0gtJ3jPFrK3CiAJ9Brc1AsFgyb/E6JTe1NOpEyVa/m6irn0F3H3zbPB+po3u2dfOWBfoqSmu
+c0iH55vKbimhZF8ZE/euBhD/UcabTVUlT5OZEAFTdfETzsemQUHSv4ilf0X8rLiltTMMgsT7B/Zq
+5SWEXwbKwYY5EdtYzXc7LMJMD16a4/CrPmEbUCTCwPTxGfARKbalGAKb12NMcIxHowNDXLldRqAN
+b/9Zjr7dn3LDWyvfjFvO5QxGbJKyCqNMVEIYFRIYvdr8unRu/8G2oGTYqV9Vrp9canaW2HNnh/tN
+f1zuacpzEPuKqf2evTY4SUmH9A4U8OmHuD+nT3pajnnUk+S7aFKErGzp85hwVXIy+TSrK0m1zSBi
+5Dp6Z2Orltxtrpfs/J92VoguZs9btsmksNcFuuEnL5O7Jiqik7Ab846+HUCjuTaPPoIaGl6I6lD4
+WeKDRikL40Rc4ZW2aZCaFG+XroHPaO+Zmr615+F/+PoTRxZMzG0IQOeLeG9QgkRQP2YGiqtDhFZK
+DyAthg710tvSeopLzaXoTvFeJiUBWSOgftL2fiFX1ye8FVdMpEbB4IMeDExNH08GGeL5qPQ6gqGy
+eUN51q1veieQA6TqJIc/2b3Z6fJfUEkc7uzXLg==
+-----END CERTIFICATE-----
+
+IdenTrust Commercial Root CA 1
+==============================
+-----BEGIN CERTIFICATE-----
+MIIFYDCCA0igAwIBAgIQCgFCgAAAAUUjyES1AAAAAjANBgkqhkiG9w0BAQsFADBKMQswCQYDVQQG
+EwJVUzESMBAGA1UEChMJSWRlblRydXN0MScwJQYDVQQDEx5JZGVuVHJ1c3QgQ29tbWVyY2lhbCBS
+b290IENBIDEwHhcNMTQwMTE2MTgxMjIzWhcNMzQwMTE2MTgxMjIzWjBKMQswCQYDVQQGEwJVUzES
+MBAGA1UEChMJSWRlblRydXN0MScwJQYDVQQDEx5JZGVuVHJ1c3QgQ29tbWVyY2lhbCBSb290IENB
+IDEwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQCnUBneP5k91DNG8W9RYYKyqU+PZ4ld
+hNlT3Qwo2dfw/66VQ3KZ+bVdfIrBQuExUHTRgQ18zZshq0PirK1ehm7zCYofWjK9ouuU+ehcCuz/
+mNKvcbO0U59Oh++SvL3sTzIwiEsXXlfEU8L2ApeN2WIrvyQfYo3fw7gpS0l4PJNgiCL8mdo2yMKi
+1CxUAGc1bnO/AljwpN3lsKImesrgNqUZFvX9t++uP0D1bVoE/c40yiTcdCMbXTMTEl3EASX2MN0C
+XZ/g1Ue9tOsbobtJSdifWwLziuQkkORiT0/Br4sOdBeo0XKIanoBScy0RnnGF7HamB4HWfp1IYVl
+3ZBWzvurpWCdxJ35UrCLvYf5jysjCiN2O/cz4ckA82n5S6LgTrx+kzmEB/dEcH7+B1rlsazRGMzy
+NeVJSQjKVsk9+w8YfYs7wRPCTY/JTw436R+hDmrfYi7LNQZReSzIJTj0+kuniVyc0uMNOYZKdHzV
+WYfCP04MXFL0PfdSgvHqo6z9STQaKPNBiDoT7uje/5kdX7rL6B7yuVBgwDHTc+XvvqDtMwt0viAg
+xGds8AgDelWAf0ZOlqf0Hj7h9tgJ4TNkK2PXMl6f+cB7D3hvl7yTmvmcEpB4eoCHFddydJxVdHix
+uuFucAS6T6C6aMN7/zHwcz09lCqxC0EOoP5NiGVreTO01wIDAQABo0IwQDAOBgNVHQ8BAf8EBAMC
+AQYwDwYDVR0TAQH/BAUwAwEB/zAdBgNVHQ4EFgQU7UQZwNPwBovupHu+QucmVMiONnYwDQYJKoZI
+hvcNAQELBQADggIBAA2ukDL2pkt8RHYZYR4nKM1eVO8lvOMIkPkp165oCOGUAFjvLi5+U1KMtlwH
+6oi6mYtQlNeCgN9hCQCTrQ0U5s7B8jeUeLBfnLOic7iPBZM4zY0+sLj7wM+x8uwtLRvM7Kqas6pg
+ghstO8OEPVeKlh6cdbjTMM1gCIOQ045U8U1mwF10A0Cj7oV+wh93nAbowacYXVKV7cndJZ5t+qnt
+ozo00Fl72u1Q8zW/7esUTTHHYPTa8Yec4kjixsU3+wYQ+nVZZjFHKdp2mhzpgq7vmrlR94gjmmmV
+YjzlVYA211QC//G5Xc7UI2/YRYRKW2XviQzdFKcgyxilJbQN+QHwotL0AMh0jqEqSI5l2xPE4iUX
+feu+h1sXIFRRk0pTAwvsXcoz7WL9RccvW9xYoIA55vrX/hMUpu09lEpCdNTDd1lzzY9GvlU47/ro
+kTLql1gEIt44w8y8bckzOmoKaT+gyOpyj4xjhiO9bTyWnpXgSUyqorkqG5w2gXjtw+hG4iZZRHUe
+2XWJUc0QhJ1hYMtd+ZciTY6Y5uN/9lu7rs3KSoFrXgvzUeF0K+l+J6fZmUlO+KWA2yUPHGNiiskz
+Z2s8EIPGrd6ozRaOjfAHN3Gf8qv8QfXBi+wAN10J5U6A7/qxXDgGpRtK4dw4LTzcqx+QGtVKnO7R
+cGzM7vRX+Bi6hG6H
+-----END CERTIFICATE-----
+
+IdenTrust Public Sector Root CA 1
+=================================
+-----BEGIN CERTIFICATE-----
+MIIFZjCCA06gAwIBAgIQCgFCgAAAAUUjz0Z8AAAAAjANBgkqhkiG9w0BAQsFADBNMQswCQYDVQQG
+EwJVUzESMBAGA1UEChMJSWRlblRydXN0MSowKAYDVQQDEyFJZGVuVHJ1c3QgUHVibGljIFNlY3Rv
+ciBSb290IENBIDEwHhcNMTQwMTE2MTc1MzMyWhcNMzQwMTE2MTc1MzMyWjBNMQswCQYDVQQGEwJV
+UzESMBAGA1UEChMJSWRlblRydXN0MSowKAYDVQQDEyFJZGVuVHJ1c3QgUHVibGljIFNlY3RvciBS
+b290IENBIDEwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQC2IpT8pEiv6EdrCvsnduTy
+P4o7ekosMSqMjbCpwzFrqHd2hCa2rIFCDQjrVVi7evi8ZX3yoG2LqEfpYnYeEe4IFNGyRBb06tD6
+Hi9e28tzQa68ALBKK0CyrOE7S8ItneShm+waOh7wCLPQ5CQ1B5+ctMlSbdsHyo+1W/CD80/HLaXI
+rcuVIKQxKFdYWuSNG5qrng0M8gozOSI5Cpcu81N3uURF/YTLNiCBWS2ab21ISGHKTN9T0a9SvESf
+qy9rg3LvdYDaBjMbXcjaY8ZNzaxmMc3R3j6HEDbhuaR672BQssvKplbgN6+rNBM5Jeg5ZuSYeqoS
+mJxZZoY+rfGwyj4GD3vwEUs3oERte8uojHH01bWRNszwFcYr3lEXsZdMUD2xlVl8BX0tIdUAvwFn
+ol57plzy9yLxkA2T26pEUWbMfXYD62qoKjgZl3YNa4ph+bz27nb9cCvdKTz4Ch5bQhyLVi9VGxyh
+LrXHFub4qjySjmm2AcG1hp2JDws4lFTo6tyePSW8Uybt1as5qsVATFSrsrTZ2fjXctscvG29ZV/v
+iDUqZi/u9rNl8DONfJhBaUYPQxxp+pu10GFqzcpL2UyQRqsVWaFHVCkugyhfHMKiq3IXAAaOReyL
+4jM9f9oZRORicsPfIsbyVtTdX5Vy7W1f90gDW/3FKqD2cyOEEBsB5wIDAQABo0IwQDAOBgNVHQ8B
+Af8EBAMCAQYwDwYDVR0TAQH/BAUwAwEB/zAdBgNVHQ4EFgQU43HgntinQtnbcZFrlJPrw6PRFKMw
+DQYJKoZIhvcNAQELBQADggIBAEf63QqwEZE4rU1d9+UOl1QZgkiHVIyqZJnYWv6IAcVYpZmxI1Qj
+t2odIFflAWJBF9MJ23XLblSQdf4an4EKwt3X9wnQW3IV5B4Jaj0z8yGa5hV+rVHVDRDtfULAj+7A
+mgjVQdZcDiFpboBhDhXAuM/FSRJSzL46zNQuOAXeNf0fb7iAaJg9TaDKQGXSc3z1i9kKlT/YPyNt
+GtEqJBnZhbMX73huqVjRI9PHE+1yJX9dsXNw0H8GlwmEKYBhHfpe/3OsoOOJuBxxFcbeMX8S3OFt
+m6/n6J91eEyrRjuazr8FGF1NFTwWmhlQBJqymm9li1JfPFgEKCXAZmExfrngdbkaqIHWchezxQMx
+NRF4eKLg6TCMf4DfWN88uieW4oA0beOY02QnrEh+KHdcxiVhJfiFDGX6xDIvpZgF5PgLZxYWxoK4
+Mhn5+bl53B/N66+rDt0b20XkeucC4pVd/GnwU2lhlXV5C15V5jgclKlZM57IcXR5f1GJtshquDDI
+ajjDbp7hNxbqBWJMWxJH7ae0s1hWx0nzfxJoCTFx8G34Tkf71oXuxVhAGaQdp/lLQzfcaFpPz+vC
+ZHTetBXZ9FRUGi8c15dxVJCO2SCdUyt/q4/i6jC8UDfv8Ue1fXwsBOxonbRJRBD0ckscZOf85muQ
+3Wl9af0AVqW3rLatt8o+Ae+c
+-----END CERTIFICATE-----
+
+Entrust Root Certification Authority - G2
+=========================================
+-----BEGIN CERTIFICATE-----
+MIIEPjCCAyagAwIBAgIESlOMKDANBgkqhkiG9w0BAQsFADCBvjELMAkGA1UEBhMCVVMxFjAUBgNV
+BAoTDUVudHJ1c3QsIEluYy4xKDAmBgNVBAsTH1NlZSB3d3cuZW50cnVzdC5uZXQvbGVnYWwtdGVy
+bXMxOTA3BgNVBAsTMChjKSAyMDA5IEVudHJ1c3QsIEluYy4gLSBmb3IgYXV0aG9yaXplZCB1c2Ug
+b25seTEyMDAGA1UEAxMpRW50cnVzdCBSb290IENlcnRpZmljYXRpb24gQXV0aG9yaXR5IC0gRzIw
+HhcNMDkwNzA3MTcyNTU0WhcNMzAxMjA3MTc1NTU0WjCBvjELMAkGA1UEBhMCVVMxFjAUBgNVBAoT
+DUVudHJ1c3QsIEluYy4xKDAmBgNVBAsTH1NlZSB3d3cuZW50cnVzdC5uZXQvbGVnYWwtdGVybXMx
+OTA3BgNVBAsTMChjKSAyMDA5IEVudHJ1c3QsIEluYy4gLSBmb3IgYXV0aG9yaXplZCB1c2Ugb25s
+eTEyMDAGA1UEAxMpRW50cnVzdCBSb290IENlcnRpZmljYXRpb24gQXV0aG9yaXR5IC0gRzIwggEi
+MA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQC6hLZy254Ma+KZ6TABp3bqMriVQRrJ2mFOWHLP
+/vaCeb9zYQYKpSfYs1/TRU4cctZOMvJyig/3gxnQaoCAAEUesMfnmr8SVycco2gvCoe9amsOXmXz
+HHfV1IWNcCG0szLni6LVhjkCsbjSR87kyUnEO6fe+1R9V77w6G7CebI6C1XiUJgWMhNcL3hWwcKU
+s/Ja5CeanyTXxuzQmyWC48zCxEXFjJd6BmsqEZ+pCm5IO2/b1BEZQvePB7/1U1+cPvQXLOZprE4y
+TGJ36rfo5bs0vBmLrpxR57d+tVOxMyLlbc9wPBr64ptntoP0jaWvYkxN4FisZDQSA/i2jZRjJKRx
+AgMBAAGjQjBAMA4GA1UdDwEB/wQEAwIBBjAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBRqciZ6
+0B7vfec7aVHUbI2fkBJmqzANBgkqhkiG9w0BAQsFAAOCAQEAeZ8dlsa2eT8ijYfThwMEYGprmi5Z
+iXMRrEPR9RP/jTkrwPK9T3CMqS/qF8QLVJ7UG5aYMzyorWKiAHarWWluBh1+xLlEjZivEtRh2woZ
+Rkfz6/djwUAFQKXSt/S1mja/qYh2iARVBCuch38aNzx+LaUa2NSJXsq9rD1s2G2v1fN2D807iDgi
+nWyTmsQ9v4IbZT+mD12q/OWyFcq1rca8PdCE6OoGcrBNOTJ4vz4RnAuknZoh8/CbCzB428Hch0P+
+vGOaysXCHMnHjf87ElgI5rY97HosTvuDls4MPGmHVHOkc8KT/1EQrBVUAdj8BbGJoX90g5pJ19xO
+e4pIb4tF9g==
+-----END CERTIFICATE-----
+
+Entrust Root Certification Authority - EC1
+==========================================
+-----BEGIN CERTIFICATE-----
+MIIC+TCCAoCgAwIBAgINAKaLeSkAAAAAUNCR+TAKBggqhkjOPQQDAzCBvzELMAkGA1UEBhMCVVMx
+FjAUBgNVBAoTDUVudHJ1c3QsIEluYy4xKDAmBgNVBAsTH1NlZSB3d3cuZW50cnVzdC5uZXQvbGVn
+YWwtdGVybXMxOTA3BgNVBAsTMChjKSAyMDEyIEVudHJ1c3QsIEluYy4gLSBmb3IgYXV0aG9yaXpl
+ZCB1c2Ugb25seTEzMDEGA1UEAxMqRW50cnVzdCBSb290IENlcnRpZmljYXRpb24gQXV0aG9yaXR5
+IC0gRUMxMB4XDTEyMTIxODE1MjUzNloXDTM3MTIxODE1NTUzNlowgb8xCzAJBgNVBAYTAlVTMRYw
+FAYDVQQKEw1FbnRydXN0LCBJbmMuMSgwJgYDVQQLEx9TZWUgd3d3LmVudHJ1c3QubmV0L2xlZ2Fs
+LXRlcm1zMTkwNwYDVQQLEzAoYykgMjAxMiBFbnRydXN0LCBJbmMuIC0gZm9yIGF1dGhvcml6ZWQg
+dXNlIG9ubHkxMzAxBgNVBAMTKkVudHJ1c3QgUm9vdCBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eSAt
+IEVDMTB2MBAGByqGSM49AgEGBSuBBAAiA2IABIQTydC6bUF74mzQ61VfZgIaJPRbiWlH47jCffHy
+AsWfoPZb1YsGGYZPUxBtByQnoaD41UcZYUx9ypMn6nQM72+WCf5j7HBdNq1nd67JnXxVRDqiY1Ef
+9eNi1KlHBz7MIKNCMEAwDgYDVR0PAQH/BAQDAgEGMA8GA1UdEwEB/wQFMAMBAf8wHQYDVR0OBBYE
+FLdj5xrdjekIplWDpOBqUEFlEUJJMAoGCCqGSM49BAMDA2cAMGQCMGF52OVCR98crlOZF7ZvHH3h
+vxGU0QOIdeSNiaSKd0bebWHvAvX7td/M/k7//qnmpwIwW5nXhTcGtXsI/esni0qU+eH6p44mCOh8
+kmhtc9hvJqwhAriZtyZBWyVgrtBIGu4G
+-----END CERTIFICATE-----
+
+CFCA EV ROOT
+============
+-----BEGIN CERTIFICATE-----
+MIIFjTCCA3WgAwIBAgIEGErM1jANBgkqhkiG9w0BAQsFADBWMQswCQYDVQQGEwJDTjEwMC4GA1UE
+CgwnQ2hpbmEgRmluYW5jaWFsIENlcnRpZmljYXRpb24gQXV0aG9yaXR5MRUwEwYDVQQDDAxDRkNB
+IEVWIFJPT1QwHhcNMTIwODA4MDMwNzAxWhcNMjkxMjMxMDMwNzAxWjBWMQswCQYDVQQGEwJDTjEw
+MC4GA1UECgwnQ2hpbmEgRmluYW5jaWFsIENlcnRpZmljYXRpb24gQXV0aG9yaXR5MRUwEwYDVQQD
+DAxDRkNBIEVWIFJPT1QwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQDXXWvNED8fBVnV
+BU03sQ7smCuOFR36k0sXgiFxEFLXUWRwFsJVaU2OFW2fvwwbwuCjZ9YMrM8irq93VCpLTIpTUnrD
+7i7es3ElweldPe6hL6P3KjzJIx1qqx2hp/Hz7KDVRM8Vz3IvHWOX6Jn5/ZOkVIBMUtRSqy5J35DN
+uF++P96hyk0g1CXohClTt7GIH//62pCfCqktQT+x8Rgp7hZZLDRJGqgG16iI0gNyejLi6mhNbiyW
+ZXvKWfry4t3uMCz7zEasxGPrb382KzRzEpR/38wmnvFyXVBlWY9ps4deMm/DGIq1lY+wejfeWkU7
+xzbh72fROdOXW3NiGUgthxwG+3SYIElz8AXSG7Ggo7cbcNOIabla1jj0Ytwli3i/+Oh+uFzJlU9f
+py25IGvPa931DfSCt/SyZi4QKPaXWnuWFo8BGS1sbn85WAZkgwGDg8NNkt0yxoekN+kWzqotaK8K
+gWU6cMGbrU1tVMoqLUuFG7OA5nBFDWteNfB/O7ic5ARwiRIlk9oKmSJgamNgTnYGmE69g60dWIol
+hdLHZR4tjsbftsbhf4oEIRUpdPA+nJCdDC7xij5aqgwJHsfVPKPtl8MeNPo4+QgO48BdK4PRVmrJ
+tqhUUy54Mmc9gn900PvhtgVguXDbjgv5E1hvcWAQUhC5wUEJ73IfZzF4/5YFjQIDAQABo2MwYTAf
+BgNVHSMEGDAWgBTj/i39KNALtbq2osS/BqoFjJP7LzAPBgNVHRMBAf8EBTADAQH/MA4GA1UdDwEB
+/wQEAwIBBjAdBgNVHQ4EFgQU4/4t/SjQC7W6tqLEvwaqBYyT+y8wDQYJKoZIhvcNAQELBQADggIB
+ACXGumvrh8vegjmWPfBEp2uEcwPenStPuiB/vHiyz5ewG5zz13ku9Ui20vsXiObTej/tUxPQ4i9q
+ecsAIyjmHjdXNYmEwnZPNDatZ8POQQaIxffu2Bq41gt/UP+TqhdLjOztUmCypAbqTuv0axn96/Ua
+4CUqmtzHQTb3yHQFhDmVOdYLO6Qn+gjYXB74BGBSESgoA//vU2YApUo0FmZ8/Qmkrp5nGm9BC2sG
+E5uPhnEFtC+NiWYzKXZUmhH4J/qyP5Hgzg0b8zAarb8iXRvTvyUFTeGSGn+ZnzxEk8rUQElsgIfX
+BDrDMlI1Dlb4pd19xIsNER9Tyx6yF7Zod1rg1MvIB671Oi6ON7fQAUtDKXeMOZePglr4UeWJoBjn
+aH9dCi77o0cOPaYjesYBx4/IXr9tgFa+iiS6M+qf4TIRnvHST4D2G0CvOJ4RUHlzEhLN5mydLIhy
+PDCBBpEi6lmt2hkuIsKNuYyH4Ga8cyNfIWRjgEj1oDwYPZTISEEdQLpe/v5WOaHIz16eGWRGENoX
+kbcFgKyLmZJ956LYBws2J+dIeWCKw9cTXPhyQN9Ky8+ZAAoACxGV2lZFA4gKn2fQ1XmxqI1AbQ3C
+ekD6819kR5LLU7m7Wc5P/dAVUwHY3+vZ5nbv0CO7O6l5s9UCKc2Jo5YPSjXnTkLAdc0Hz+Ys63su
+-----END CERTIFICATE-----
+
+TÜRKTRUST Elektronik Sertifika Hizmet Sağlayıcısı H5
+====================================================
+-----BEGIN CERTIFICATE-----
+MIIEJzCCAw+gAwIBAgIHAI4X/iQggTANBgkqhkiG9w0BAQsFADCBsTELMAkGA1UEBhMCVFIxDzAN
+BgNVBAcMBkFua2FyYTFNMEsGA1UECgxEVMOcUktUUlVTVCBCaWxnaSDEsGxldGnFn2ltIHZlIEJp
+bGnFn2ltIEfDvHZlbmxpxJ9pIEhpem1ldGxlcmkgQS7Fni4xQjBABgNVBAMMOVTDnFJLVFJVU1Qg
+RWxla3Ryb25payBTZXJ0aWZpa2EgSGl6bWV0IFNhxJ9sYXnEsWPEsXPEsSBINTAeFw0xMzA0MzAw
+ODA3MDFaFw0yMzA0MjgwODA3MDFaMIGxMQswCQYDVQQGEwJUUjEPMA0GA1UEBwwGQW5rYXJhMU0w
+SwYDVQQKDERUw5xSS1RSVVNUIEJpbGdpIMSwbGV0acWfaW0gdmUgQmlsacWfaW0gR8O8dmVubGnE
+n2kgSGl6bWV0bGVyaSBBLsWeLjFCMEAGA1UEAww5VMOcUktUUlVTVCBFbGVrdHJvbmlrIFNlcnRp
+ZmlrYSBIaXptZXQgU2HEn2xhecSxY8Sxc8SxIEg1MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIB
+CgKCAQEApCUZ4WWe60ghUEoI5RHwWrom/4NZzkQqL/7hzmAD/I0Dpe3/a6i6zDQGn1k19uwsu537
+jVJp45wnEFPzpALFp/kRGml1bsMdi9GYjZOHp3GXDSHHmflS0yxjXVW86B8BSLlg/kJK9siArs1m
+ep5Fimh34khon6La8eHBEJ/rPCmBp+EyCNSgBbGM+42WAA4+Jd9ThiI7/PS98wl+d+yG6w8z5UNP
+9FR1bSmZLmZaQ9/LXMrI5Tjxfjs1nQ/0xVqhzPMggCTTV+wVunUlm+hkS7M0hO8EuPbJbKoCPrZV
+4jI3X/xml1/N1p7HIL9Nxqw/dV8c7TKcfGkAaZHjIxhT6QIDAQABo0IwQDAdBgNVHQ4EFgQUVpkH
+HtOsDGlktAxQR95DLL4gwPswDgYDVR0PAQH/BAQDAgEGMA8GA1UdEwEB/wQFMAMBAf8wDQYJKoZI
+hvcNAQELBQADggEBAJ5FdnsXSDLyOIspve6WSk6BGLFRRyDN0GSxDsnZAdkJzsiZ3GglE9Rc8qPo
+BP5yCccLqh0lVX6Wmle3usURehnmp349hQ71+S4pL+f5bFgWV1Al9j4uPqrtd3GqqpmWRgqujuwq
+URawXs3qZwQcWDD1YIq9pr1N5Za0/EKJAWv2cMhQOQwt1WbZyNKzMrcbGW3LM/nfpeYVhDfwwvJl
+lpKQd/Ct9JDpEXjXk4nAPQu6KfTomZ1yju2dL+6SfaHx/126M2CFYv4HAqGEVka+lgqaE9chTLd8
+B59OTj+RdPsnnRHM3eaxynFNExc5JsUpISuTKWqW+qtB4Uu2NQvAmxU=
+-----END CERTIFICATE-----
+
+Certinomis - Root CA
+====================
+-----BEGIN CERTIFICATE-----
+MIIFkjCCA3qgAwIBAgIBATANBgkqhkiG9w0BAQsFADBaMQswCQYDVQQGEwJGUjETMBEGA1UEChMK
+Q2VydGlub21pczEXMBUGA1UECxMOMDAwMiA0MzM5OTg5MDMxHTAbBgNVBAMTFENlcnRpbm9taXMg
+LSBSb290IENBMB4XDTEzMTAyMTA5MTcxOFoXDTMzMTAyMTA5MTcxOFowWjELMAkGA1UEBhMCRlIx
+EzARBgNVBAoTCkNlcnRpbm9taXMxFzAVBgNVBAsTDjAwMDIgNDMzOTk4OTAzMR0wGwYDVQQDExRD
+ZXJ0aW5vbWlzIC0gUm9vdCBDQTCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBANTMCQos
+P5L2fxSeC5yaah1AMGT9qt8OHgZbn1CF6s2Nq0Nn3rD6foCWnoR4kkjW4znuzuRZWJflLieY6pOo
+d5tK8O90gC3rMB+12ceAnGInkYjwSond3IjmFPnVAy//ldu9n+ws+hQVWZUKxkd8aRi5pwP5ynap
+z8dvtF4F/u7BUrJ1Mofs7SlmO/NKFoL21prbcpjp3vDFTKWrteoB4owuZH9kb/2jJZOLyKIOSY00
+8B/sWEUuNKqEUL3nskoTuLAPrjhdsKkb5nPJWqHZZkCqqU2mNAKthH6yI8H7KsZn9DS2sJVqM09x
+RLWtwHkziOC/7aOgFLScCbAK42C++PhmiM1b8XcF4LVzbsF9Ri6OSyemzTUK/eVNfaoqoynHWmgE
+6OXWk6RiwsXm9E/G+Z8ajYJJGYrKWUM66A0ywfRMEwNvbqY/kXPLynNvEiCL7sCCeN5LLsJJwx3t
+FvYk9CcbXFcx3FXuqB5vbKziRcxXV4p1VxngtViZSTYxPDMBbRZKzbgqg4SGm/lg0h9tkQPTYKbV
+PZrdd5A9NaSfD171UkRpucC63M9933zZxKyGIjK8e2uR73r4F2iw4lNVYC2vPsKD2NkJK/DAZNuH
+i5HMkesE/Xa0lZrmFAYb1TQdvtj/dBxThZngWVJKYe2InmtJiUZ+IFrZ50rlau7SZRFDAgMBAAGj
+YzBhMA4GA1UdDwEB/wQEAwIBBjAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBTvkUz1pcMw6C8I
+6tNxIqSSaHh02TAfBgNVHSMEGDAWgBTvkUz1pcMw6C8I6tNxIqSSaHh02TANBgkqhkiG9w0BAQsF
+AAOCAgEAfj1U2iJdGlg+O1QnurrMyOMaauo++RLrVl89UM7g6kgmJs95Vn6RHJk/0KGRHCwPT5iV
+WVO90CLYiF2cN/z7ZMF4jIuaYAnq1fohX9B0ZedQxb8uuQsLrbWwF6YSjNRieOpWauwK0kDDPAUw
+Pk2Ut59KA9N9J0u2/kTO+hkzGm2kQtHdzMjI1xZSg081lLMSVX3l4kLr5JyTCcBMWwerx20RoFAX
+lCOotQqSD7J6wWAsOMwaplv/8gzjqh8c3LigkyfeY+N/IZ865Z764BNqdeuWXGKRlI5nU7aJ+BIJ
+y29SWwNyhlCVCNSNh4YVH5Uk2KRvms6knZtt0rJ2BobGVgjF6wnaNsIbW0G+YSrjcOa4pvi2WsS9
+Iff/ql+hbHY5ZtbqTFXhADObE5hjyW/QASAJN1LnDE8+zbz1X5YnpyACleAu6AdBBR8Vbtaw5Bng
+DwKTACdyxYvRVB9dSsNAl35VpnzBMwQUAR1JIGkLGZOdblgi90AMRgwjY/M50n92Uaf0yKHxDHYi
+I0ZSKS3io0EHVmmY0gUJvGnHWmHNj4FgFU2A3ZDifcRQ8ow7bkrHxuaAKzyBvBGAFhAn1/DNP3nM
+cyrDflOR1m749fPH0FFNjkulW+YZFzvWgQncItzujrnEj1PhZ7szuIgVRs/taTX/dQ1G885x4cVr
+hkIGuUE=
+-----END CERTIFICATE-----
+
+OISTE WISeKey Global Root GB CA
+===============================
+-----BEGIN CERTIFICATE-----
+MIIDtTCCAp2gAwIBAgIQdrEgUnTwhYdGs/gjGvbCwDANBgkqhkiG9w0BAQsFADBtMQswCQYDVQQG
+EwJDSDEQMA4GA1UEChMHV0lTZUtleTEiMCAGA1UECxMZT0lTVEUgRm91bmRhdGlvbiBFbmRvcnNl
+ZDEoMCYGA1UEAxMfT0lTVEUgV0lTZUtleSBHbG9iYWwgUm9vdCBHQiBDQTAeFw0xNDEyMDExNTAw
+MzJaFw0zOTEyMDExNTEwMzFaMG0xCzAJBgNVBAYTAkNIMRAwDgYDVQQKEwdXSVNlS2V5MSIwIAYD
+VQQLExlPSVNURSBGb3VuZGF0aW9uIEVuZG9yc2VkMSgwJgYDVQQDEx9PSVNURSBXSVNlS2V5IEds
+b2JhbCBSb290IEdCIENBMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA2Be3HEokKtaX
+scriHvt9OO+Y9bI5mE4nuBFde9IllIiCFSZqGzG7qFshISvYD06fWvGxWuR51jIjK+FTzJlFXHtP
+rby/h0oLS5daqPZI7H17Dc0hBt+eFf1Biki3IPShehtX1F1Q/7pn2COZH8g/497/b1t3sWtuuMlk
+9+HKQUYOKXHQuSP8yYFfTvdv37+ErXNku7dCjmn21HYdfp2nuFeKUWdy19SouJVUQHMD9ur06/4o
+Qnc/nSMbsrY9gBQHTC5P99UKFg29ZkM3fiNDecNAhvVMKdqOmq0NpQSHiB6F4+lT1ZvIiwNjeOvg
+GUpuuy9rM2RYk61pv48b74JIxwIDAQABo1EwTzALBgNVHQ8EBAMCAYYwDwYDVR0TAQH/BAUwAwEB
+/zAdBgNVHQ4EFgQUNQ/INmNe4qPs+TtmFc5RUuORmj0wEAYJKwYBBAGCNxUBBAMCAQAwDQYJKoZI
+hvcNAQELBQADggEBAEBM+4eymYGQfp3FsLAmzYh7KzKNbrghcViXfa43FK8+5/ea4n32cZiZBKpD
+dHij40lhPnOMTZTg+XHEthYOU3gf1qKHLwI5gSk8rxWYITD+KJAAjNHhy/peyP34EEY7onhCkRd0
+VQreUGdNZtGn//3ZwLWoo4rOZvUPQ82nK1d7Y0Zqqi5S2PTt4W2tKZB4SLrhI6qjiey1q5bAtEui
+HZeeevJuQHHfaPFlTc58Bd9TZaml8LGXBHAVRgOY1NK/VLSgWH1Sb9pWJmLU2NuJMW8c8CLC02Ic
+Nc1MaRVUGpCY3useX8p3x8uOPUNpnJpY0CQ73xtAln41rYHHTnG6iBM=
+-----END CERTIFICATE-----
+
+Certification Authority of WoSign G2
+====================================
+-----BEGIN CERTIFICATE-----
+MIIDfDCCAmSgAwIBAgIQayXaioidfLwPBbOxemFFRDANBgkqhkiG9w0BAQsFADBYMQswCQYDVQQG
+EwJDTjEaMBgGA1UEChMRV29TaWduIENBIExpbWl0ZWQxLTArBgNVBAMTJENlcnRpZmljYXRpb24g
+QXV0aG9yaXR5IG9mIFdvU2lnbiBHMjAeFw0xNDExMDgwMDU4NThaFw00NDExMDgwMDU4NThaMFgx
+CzAJBgNVBAYTAkNOMRowGAYDVQQKExFXb1NpZ24gQ0EgTGltaXRlZDEtMCsGA1UEAxMkQ2VydGlm
+aWNhdGlvbiBBdXRob3JpdHkgb2YgV29TaWduIEcyMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIB
+CgKCAQEAvsXEoCKASU+/2YcRxlPhuw+9YH+v9oIOH9ywjj2X4FA8jzrvZjtFB5sg+OPXJYY1kBai
+XW8wGQiHC38Gsp1ij96vkqVg1CuAmlI/9ZqD6TRay9nVYlzmDuDfBpgOgHzKtB0TiGsOqCR3A9Du
+W/PKaZE1OVbFbeP3PU9ekzgkyhjpJMuSA93MHD0JcOQg5PGurLtzaaNjOg9FD6FKmsLRY6zLEPg9
+5k4ot+vElbGs/V6r+kHLXZ1L3PR8du9nfwB6jdKgGlxNIuG12t12s9R23164i5jIFFTMaxeSt+BK
+v0mUYQs4kI9dJGwlezt52eJ+na2fmKEG/HgUYFf47oB3sQIDAQABo0IwQDAOBgNVHQ8BAf8EBAMC
+AQYwDwYDVR0TAQH/BAUwAwEB/zAdBgNVHQ4EFgQU+mCp62XF3RYUCE4MD42b4Pdkr2cwDQYJKoZI
+hvcNAQELBQADggEBAFfDejaCnI2Y4qtAqkePx6db7XznPWZaOzG73/MWM5H8fHulwqZm46qwtyeY
+P0nXYGdnPzZPSsvxFPpahygc7Y9BMsaV+X3avXtbwrAh449G3CE4Q3RM+zD4F3LBMvzIkRfEzFg3
+TgvMWvchNSiDbGAtROtSjFA9tWwS1/oJu2yySrHFieT801LYYRf+epSEj3m2M1m6D8QL4nCgS3gu
++sif/a+RZQp4OBXllxcU3fngLDT4ONCEIgDAFFEYKwLcMFrw6AF8NTojrwjkr6qOKEJJLvD1mTS+
+7Q9LGOHSJDy7XUe3IfKN0QqZjuNuPq1w4I+5ysxugTH2e5x6eeRncRg=
+-----END CERTIFICATE-----
+
+CA WoSign ECC Root
+==================
+-----BEGIN CERTIFICATE-----
+MIICCTCCAY+gAwIBAgIQaEpYcIBr8I8C+vbe6LCQkDAKBggqhkjOPQQDAzBGMQswCQYDVQQGEwJD
+TjEaMBgGA1UEChMRV29TaWduIENBIExpbWl0ZWQxGzAZBgNVBAMTEkNBIFdvU2lnbiBFQ0MgUm9v
+dDAeFw0xNDExMDgwMDU4NThaFw00NDExMDgwMDU4NThaMEYxCzAJBgNVBAYTAkNOMRowGAYDVQQK
+ExFXb1NpZ24gQ0EgTGltaXRlZDEbMBkGA1UEAxMSQ0EgV29TaWduIEVDQyBSb290MHYwEAYHKoZI
+zj0CAQYFK4EEACIDYgAE4f2OuEMkq5Z7hcK6C62N4DrjJLnSsb6IOsq/Srj57ywvr1FQPEd1bPiU
+t5v8KB7FVMxjnRZLU8HnIKvNrCXSf4/CwVqCXjCLelTOA7WRf6qU0NGKSMyCBSah1VES1ns2o0Iw
+QDAOBgNVHQ8BAf8EBAMCAQYwDwYDVR0TAQH/BAUwAwEB/zAdBgNVHQ4EFgQUqv3VWqP2h4syhf3R
+MluARZPzA7gwCgYIKoZIzj0EAwMDaAAwZQIxAOSkhLCB1T2wdKyUpOgOPQB0TKGXa/kNUTyh2Tv0
+Daupn75OcsqF1NnstTJFGG+rrQIwfcf3aWMvoeGY7xMQ0Xk/0f7qO3/eVvSQsRUR2LIiFdAvwyYu
+a/GRspBl9JrmkO5K
+-----END CERTIFICATE-----
+
+SZAFIR ROOT CA2
+===============
+-----BEGIN CERTIFICATE-----
+MIIDcjCCAlqgAwIBAgIUPopdB+xV0jLVt+O2XwHrLdzk1uQwDQYJKoZIhvcNAQELBQAwUTELMAkG
+A1UEBhMCUEwxKDAmBgNVBAoMH0tyYWpvd2EgSXpiYSBSb3psaWN6ZW5pb3dhIFMuQS4xGDAWBgNV
+BAMMD1NaQUZJUiBST09UIENBMjAeFw0xNTEwMTkwNzQzMzBaFw0zNTEwMTkwNzQzMzBaMFExCzAJ
+BgNVBAYTAlBMMSgwJgYDVQQKDB9LcmFqb3dhIEl6YmEgUm96bGljemVuaW93YSBTLkEuMRgwFgYD
+VQQDDA9TWkFGSVIgUk9PVCBDQTIwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQC3vD5Q
+qEvNQLXOYeeWyrSh2gwisPq1e3YAd4wLz32ohswmUeQgPYUM1ljj5/QqGJ3a0a4m7utT3PSQ1hNK
+DJA8w/Ta0o4NkjrcsbH/ON7Dui1fgLkCvUqdGw+0w8LBZwPd3BucPbOw3gAeqDRHu5rr/gsUvTaE
+2g0gv/pby6kWIK05YO4vdbbnl5z5Pv1+TW9NL++IDWr63fE9biCloBK0TXC5ztdyO4mTp4CEHCdJ
+ckm1/zuVnsHMyAHs6A6KCpbns6aH5db5BSsNl0BwPLqsdVqc1U2dAgrSS5tmS0YHF2Wtn2yIANwi
+ieDhZNRnvDF5YTy7ykHNXGoAyDw4jlivAgMBAAGjQjBAMA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0P
+AQH/BAQDAgEGMB0GA1UdDgQWBBQuFqlKGLXLzPVvUPMjX/hd56zwyDANBgkqhkiG9w0BAQsFAAOC
+AQEAtXP4A9xZWx126aMqe5Aosk3AM0+qmrHUuOQn/6mWmc5G4G18TKI4pAZw8PRBEew/R40/cof5
+O/2kbytTAOD/OblqBw7rHRz2onKQy4I9EYKL0rufKq8h5mOGnXkZ7/e7DDWQw4rtTw/1zBLZpD67
+oPwglV9PJi8RI4NOdQcPv5vRtB3pEAT+ymCPoky4rc/hkA/NrgrHXXu3UNLUYfrVFdvXn4dRVOul
+4+vJhaAlIDf7js4MNIThPIGyd05DpYhfhmehPea0XGG2Ptv+tyjFogeutcrKjSoS75ftwjCkySp6
++/NNIxuZMzSgLvWpCz/UXeHPhJ/iGcJfitYgHuNztw==
+-----END CERTIFICATE-----
+
+Certum Trusted Network CA 2
+===========================
+-----BEGIN CERTIFICATE-----
+MIIF0jCCA7qgAwIBAgIQIdbQSk8lD8kyN/yqXhKN6TANBgkqhkiG9w0BAQ0FADCBgDELMAkGA1UE
+BhMCUEwxIjAgBgNVBAoTGVVuaXpldG8gVGVjaG5vbG9naWVzIFMuQS4xJzAlBgNVBAsTHkNlcnR1
+bSBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTEkMCIGA1UEAxMbQ2VydHVtIFRydXN0ZWQgTmV0d29y
+ayBDQSAyMCIYDzIwMTExMDA2MDgzOTU2WhgPMjA0NjEwMDYwODM5NTZaMIGAMQswCQYDVQQGEwJQ
+TDEiMCAGA1UEChMZVW5pemV0byBUZWNobm9sb2dpZXMgUy5BLjEnMCUGA1UECxMeQ2VydHVtIENl
+cnRpZmljYXRpb24gQXV0aG9yaXR5MSQwIgYDVQQDExtDZXJ0dW0gVHJ1c3RlZCBOZXR3b3JrIENB
+IDIwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQC9+Xj45tWADGSdhhuWZGc/IjoedQF9
+7/tcZ4zJzFxrqZHmuULlIEub2pt7uZld2ZuAS9eEQCsn0+i6MLs+CRqnSZXvK0AkwpfHp+6bJe+o
+CgCXhVqqndwpyeI1B+twTUrWwbNWuKFBOJvR+zF/j+Bf4bE/D44WSWDXBo0Y+aomEKsq09DRZ40b
+Rr5HMNUuctHFY9rnY3lEfktjJImGLjQ/KUxSiyqnwOKRKIm5wFv5HdnnJ63/mgKXwcZQkpsCLL2p
+uTRZCr+ESv/f/rOf69me4Jgj7KZrdxYq28ytOxykh9xGc14ZYmhFV+SQgkK7QtbwYeDBoz1mo130
+GO6IyY0XRSmZMnUCMe4pJshrAua1YkV/NxVaI2iJ1D7eTiew8EAMvE0Xy02isx7QBlrd9pPPV3WZ
+9fqGGmd4s7+W/jTcvedSVuWz5XV710GRBdxdaeOVDUO5/IOWOZV7bIBaTxNyxtd9KXpEulKkKtVB
+Rgkg/iKgtlswjbyJDNXXcPiHUv3a76xRLgezTv7QCdpw75j6VuZt27VXS9zlLCUVyJ4ueE742pye
+hizKV/Ma5ciSixqClnrDvFASadgOWkaLOusm+iPJtrCBvkIApPjW/jAux9JG9uWOdf3yzLnQh1vM
+BhBgu4M1t15n3kfsmUjxpKEV/q2MYo45VU85FrmxY53/twIDAQABo0IwQDAPBgNVHRMBAf8EBTAD
+AQH/MB0GA1UdDgQWBBS2oVQ5AsOgP46KvPrU+Bym0ToO/TAOBgNVHQ8BAf8EBAMCAQYwDQYJKoZI
+hvcNAQENBQADggIBAHGlDs7k6b8/ONWJWsQCYftMxRQXLYtPU2sQF/xlhMcQSZDe28cmk4gmb3DW
+Al45oPePq5a1pRNcgRRtDoGCERuKTsZPpd1iHkTfCVn0W3cLN+mLIMb4Ck4uWBzrM9DPhmDJ2vuA
+L55MYIR4PSFk1vtBHxgP58l1cb29XN40hz5BsA72udY/CROWFC/emh1auVbONTqwX3BNXuMp8SMo
+clm2q8KMZiYcdywmdjWLKKdpoPk79SPdhRB0yZADVpHnr7pH1BKXESLjokmUbOe3lEu6LaTaM4tM
+pkT/WjzGHWTYtTHkpjx6qFcL2+1hGsvxznN3Y6SHb0xRONbkX8eftoEq5IVIeVheO/jbAoJnwTnb
+w3RLPTYe+SmTiGhbqEQZIfCn6IENLOiTNrQ3ssqwGyZ6miUfmpqAnksqP/ujmv5zMnHCnsZy4Ypo
+J/HkD7TETKVhk/iXEAcqMCWpuchxuO9ozC1+9eB+D4Kob7a6bINDd82Kkhehnlt4Fj1F4jNy3eFm
+ypnTycUm/Q1oBEauttmbjL4ZvrHG8hnjXALKLNhvSgfZyTXaQHXyxKcZb55CEJh15pWLYLztxRLX
+is7VmFxWlgPF7ncGNf/P5O4/E2Hu29othfDNrp2yGAlFw5Khchf8R7agCyzxxN5DaAhqXzvwdmP7
+zAYspsbiDrW5viSP
+-----END CERTIFICATE-----
+
+Hellenic Academic and Research Institutions RootCA 2015
+=======================================================
+-----BEGIN CERTIFICATE-----
+MIIGCzCCA/OgAwIBAgIBADANBgkqhkiG9w0BAQsFADCBpjELMAkGA1UEBhMCR1IxDzANBgNVBAcT
+BkF0aGVuczFEMEIGA1UEChM7SGVsbGVuaWMgQWNhZGVtaWMgYW5kIFJlc2VhcmNoIEluc3RpdHV0
+aW9ucyBDZXJ0LiBBdXRob3JpdHkxQDA+BgNVBAMTN0hlbGxlbmljIEFjYWRlbWljIGFuZCBSZXNl
+YXJjaCBJbnN0aXR1dGlvbnMgUm9vdENBIDIwMTUwHhcNMTUwNzA3MTAxMTIxWhcNNDAwNjMwMTAx
+MTIxWjCBpjELMAkGA1UEBhMCR1IxDzANBgNVBAcTBkF0aGVuczFEMEIGA1UEChM7SGVsbGVuaWMg
+QWNhZGVtaWMgYW5kIFJlc2VhcmNoIEluc3RpdHV0aW9ucyBDZXJ0LiBBdXRob3JpdHkxQDA+BgNV
+BAMTN0hlbGxlbmljIEFjYWRlbWljIGFuZCBSZXNlYXJjaCBJbnN0aXR1dGlvbnMgUm9vdENBIDIw
+MTUwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQDC+Kk/G4n8PDwEXT2QNrCROnk8Zlrv
+bTkBSRq0t89/TSNTt5AA4xMqKKYx8ZEA4yjsriFBzh/a/X0SWwGDD7mwX5nh8hKDgE0GPt+sr+eh
+iGsxr/CL0BgzuNtFajT0AoAkKAoCFZVedioNmToUW/bLy1O8E00BiDeUJRtCvCLYjqOWXjrZMts+
+6PAQZe104S+nfK8nNLspfZu2zwnI5dMK/IhlZXQK3HMcXM1AsRzUtoSMTFDPaI6oWa7CJ06CojXd
+FPQf/7J31Ycvqm59JCfnxssm5uX+Zwdj2EUN3TpZZTlYepKZcj2chF6IIbjV9Cz82XBST3i4vTwr
+i5WY9bPRaM8gFH5MXF/ni+X1NYEZN9cRCLdmvtNKzoNXADrDgfgXy5I2XdGj2HUb4Ysn6npIQf1F
+GQatJ5lOwXBH3bWfgVMS5bGMSF0xQxfjjMZ6Y5ZLKTBOhE5iGV48zpeQpX8B653g+IuJ3SWYPZK2
+fu/Z8VFRfS0myGlZYeCsargqNhEEelC9MoS+L9xy1dcdFkfkR2YgP/SWxa+OAXqlD3pk9Q0Yh9mu
+iNX6hME6wGkoLfINaFGq46V3xqSQDqE3izEjR8EJCOtu93ib14L8hCCZSRm2Ekax+0VVFqmjZayc
+Bw/qa9wfLgZy7IaIEuQt218FL+TwA9MmM+eAws1CoRc0CwIDAQABo0IwQDAPBgNVHRMBAf8EBTAD
+AQH/MA4GA1UdDwEB/wQEAwIBBjAdBgNVHQ4EFgQUcRVnyMjJvXVdctA4GGqd83EkVAswDQYJKoZI
+hvcNAQELBQADggIBAHW7bVRLqhBYRjTyYtcWNl0IXtVsyIe9tC5G8jH4fOpCtZMWVdyhDBKg2mF+
+D1hYc2Ryx+hFjtyp8iY/xnmMsVMIM4GwVhO+5lFc2JsKT0ucVlMC6U/2DWDqTUJV6HwbISHTGzrM
+d/K4kPFox/la/vot9L/J9UUbzjgQKjeKeaO04wlshYaT/4mWJ3iBj2fjRnRUjtkNaeJK9E10A/+y
+d+2VZ5fkscWrv2oj6NSU4kQoYsRL4vDY4ilrGnB+JGGTe08DMiUNRSQrlrRGar9KC/eaj8GsGsVn
+82800vpzY4zvFrCopEYq+OsS7HK07/grfoxSwIuEVPkvPuNVqNxmsdnhX9izjFk0WaSrT2y7Hxjb
+davYy5LNlDhhDgcGH0tGEPEVvo2FXDtKK4F5D7Rpn0lQl033DlZdwJVqwjbDG2jJ9SrcR5q+ss7F
+Jej6A7na+RZukYT1HCjI/CbM1xyQVqdfbzoEvM14iQuODy+jqk+iGxI9FghAD/FGTNeqewjBCvVt
+J94Cj8rDtSvK6evIIVM4pcw72Hc3MKJP2W/R8kCtQXoXxdZKNYm3QdV8hn9VTYNKpXMgwDqvkPGa
+JI7ZjnHKe7iG2rKPmT4dEw0SEe7Uq/DpFXYC5ODfqiAeW2GFZECpkJcNrVPSWh2HagCXZWK0vm9q
+p/UsQu0yrbYhnr68
+-----END CERTIFICATE-----
+
+Hellenic Academic and Research Institutions ECC RootCA 2015
+===========================================================
+-----BEGIN CERTIFICATE-----
+MIICwzCCAkqgAwIBAgIBADAKBggqhkjOPQQDAjCBqjELMAkGA1UEBhMCR1IxDzANBgNVBAcTBkF0
+aGVuczFEMEIGA1UEChM7SGVsbGVuaWMgQWNhZGVtaWMgYW5kIFJlc2VhcmNoIEluc3RpdHV0aW9u
+cyBDZXJ0LiBBdXRob3JpdHkxRDBCBgNVBAMTO0hlbGxlbmljIEFjYWRlbWljIGFuZCBSZXNlYXJj
+aCBJbnN0aXR1dGlvbnMgRUNDIFJvb3RDQSAyMDE1MB4XDTE1MDcwNzEwMzcxMloXDTQwMDYzMDEw
+MzcxMlowgaoxCzAJBgNVBAYTAkdSMQ8wDQYDVQQHEwZBdGhlbnMxRDBCBgNVBAoTO0hlbGxlbmlj
+IEFjYWRlbWljIGFuZCBSZXNlYXJjaCBJbnN0aXR1dGlvbnMgQ2VydC4gQXV0aG9yaXR5MUQwQgYD
+VQQDEztIZWxsZW5pYyBBY2FkZW1pYyBhbmQgUmVzZWFyY2ggSW5zdGl0dXRpb25zIEVDQyBSb290
+Q0EgMjAxNTB2MBAGByqGSM49AgEGBSuBBAAiA2IABJKgQehLgoRc4vgxEZmGZE4JJS+dQS8KrjVP
+dJWyUWRrjWvmP3CV8AVER6ZyOFB2lQJajq4onvktTpnvLEhvTCUp6NFxW98dwXU3tNf6e3pCnGoK
+Vlp8aQuqgAkkbH7BRqNCMEAwDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMCAQYwHQYDVR0O
+BBYEFLQiC4KZJAEOnLvkDv2/+5cgk5kqMAoGCCqGSM49BAMCA2cAMGQCMGfOFmI4oqxiRaeplSTA
+GiecMjvAwNW6qef4BENThe5SId6d9SWDPp5YSy/XZxMOIQIwBeF1Ad5o7SofTUwJCA3sS61kFyjn
+dc5FZXIhF8siQQ6ME5g4mlRtm8rifOoCWCKR
+-----END CERTIFICATE-----
+
+Certplus Root CA G1
+===================
+-----BEGIN CERTIFICATE-----
+MIIFazCCA1OgAwIBAgISESBVg+QtPlRWhS2DN7cs3EYRMA0GCSqGSIb3DQEBDQUAMD4xCzAJBgNV
+BAYTAkZSMREwDwYDVQQKDAhDZXJ0cGx1czEcMBoGA1UEAwwTQ2VydHBsdXMgUm9vdCBDQSBHMTAe
+Fw0xNDA1MjYwMDAwMDBaFw0zODAxMTUwMDAwMDBaMD4xCzAJBgNVBAYTAkZSMREwDwYDVQQKDAhD
+ZXJ0cGx1czEcMBoGA1UEAwwTQ2VydHBsdXMgUm9vdCBDQSBHMTCCAiIwDQYJKoZIhvcNAQEBBQAD
+ggIPADCCAgoCggIBANpQh7bauKk+nWT6VjOaVj0W5QOVsjQcmm1iBdTYj+eJZJ+622SLZOZ5KmHN
+r49aiZFluVj8tANfkT8tEBXgfs+8/H9DZ6itXjYj2JizTfNDnjl8KvzsiNWI7nC9hRYt6kuJPKNx
+Qv4c/dMcLRC4hlTqQ7jbxofaqK6AJc96Jh2qkbBIb6613p7Y1/oA/caP0FG7Yn2ksYyy/yARujVj
+BYZHYEMzkPZHogNPlk2dT8Hq6pyi/jQu3rfKG3akt62f6ajUeD94/vI4CTYd0hYCyOwqaK/1jpTv
+LRN6HkJKHRUxrgwEV/xhc/MxVoYxgKDEEW4wduOU8F8ExKyHcomYxZ3MVwia9Az8fXoFOvpHgDm2
+z4QTd28n6v+WZxcIbekN1iNQMLAVdBM+5S//Ds3EC0pd8NgAM0lm66EYfFkuPSi5YXHLtaW6uOrc
+4nBvCGrch2c0798wct3zyT8j/zXhviEpIDCB5BmlIOklynMxdCm+4kLV87ImZsdo/Rmz5yCTmehd
+4F6H50boJZwKKSTUzViGUkAksnsPmBIgJPaQbEfIDbsYIC7Z/fyL8inqh3SV4EJQeIQEQWGw9CEj
+jy3LKCHyamz0GqbFFLQ3ZU+V/YDI+HLlJWvEYLF7bY5KinPOWftwenMGE9nTdDckQQoRb5fc5+R+
+ob0V8rqHDz1oihYHAgMBAAGjYzBhMA4GA1UdDwEB/wQEAwIBBjAPBgNVHRMBAf8EBTADAQH/MB0G
+A1UdDgQWBBSowcCbkahDFXxdBie0KlHYlwuBsTAfBgNVHSMEGDAWgBSowcCbkahDFXxdBie0KlHY
+lwuBsTANBgkqhkiG9w0BAQ0FAAOCAgEAnFZvAX7RvUz1isbwJh/k4DgYzDLDKTudQSk0YcbX8ACh
+66Ryj5QXvBMsdbRX7gp8CXrc1cqh0DQT+Hern+X+2B50ioUHj3/MeXrKls3N/U/7/SMNkPX0XtPG
+YX2eEeAC7gkE2Qfdpoq3DIMku4NQkv5gdRE+2J2winq14J2by5BSS7CTKtQ+FjPlnsZlFT5kOwQ/
+2wyPX1wdaR+v8+khjPPvl/aatxm2hHSco1S1cE5j2FddUyGbQJJD+tZ3VTNPZNX70Cxqjm0lpu+F
+6ALEUz65noe8zDUa3qHpimOHZR4RKttjd5cUvpoUmRGywO6wT/gUITJDT5+rosuoD6o7BlXGEilX
+CNQ314cnrUlZp5GrRHpejXDbl85IULFzk/bwg2D5zfHhMf1bfHEhYxQUqq/F3pN+aLHsIqKqkHWe
+tUNy6mSjhEv9DKgma3GX7lZjZuhCVPnHHd/Qj1vfyDBviP4NxDMcU6ij/UgQ8uQKTuEVV/xuZDDC
+VRHc6qnNSlSsKWNEz0pAoNZoWRsz+e86i9sgktxChL8Bq4fA1SCC28a5g4VCXA9DO2pJNdWY9BW/
++mGBDAkgGNLQFwzLSABQ6XaCjGTXOqAHVcweMcDvOrRl++O/QmueD6i9a5jc2NvLi6Td11n0bt3+
+qsOR0C5CB8AMTVPNJLFMWx5R9N/pkvo=
+-----END CERTIFICATE-----
+
+Certplus Root CA G2
+===================
+-----BEGIN CERTIFICATE-----
+MIICHDCCAaKgAwIBAgISESDZkc6uo+jF5//pAq/Pc7xVMAoGCCqGSM49BAMDMD4xCzAJBgNVBAYT
+AkZSMREwDwYDVQQKDAhDZXJ0cGx1czEcMBoGA1UEAwwTQ2VydHBsdXMgUm9vdCBDQSBHMjAeFw0x
+NDA1MjYwMDAwMDBaFw0zODAxMTUwMDAwMDBaMD4xCzAJBgNVBAYTAkZSMREwDwYDVQQKDAhDZXJ0
+cGx1czEcMBoGA1UEAwwTQ2VydHBsdXMgUm9vdCBDQSBHMjB2MBAGByqGSM49AgEGBSuBBAAiA2IA
+BM0PW1aC3/BFGtat93nwHcmsltaeTpwftEIRyoa/bfuFo8XlGVzX7qY/aWfYeOKmycTbLXku54uN
+Am8xIk0G42ByRZ0OQneezs/lf4WbGOT8zC5y0xaTTsqZY1yhBSpsBqNjMGEwDgYDVR0PAQH/BAQD
+AgEGMA8GA1UdEwEB/wQFMAMBAf8wHQYDVR0OBBYEFNqDYwJ5jtpMxjwjFNiPwyCrKGBZMB8GA1Ud
+IwQYMBaAFNqDYwJ5jtpMxjwjFNiPwyCrKGBZMAoGCCqGSM49BAMDA2gAMGUCMHD+sAvZ94OX7PNV
+HdTcswYO/jOYnYs5kGuUIe22113WTNchp+e/IQ8rzfcq3IUHnQIxAIYUFuXcsGXCwI4Un78kFmjl
+vPl5adytRSv3tjFzzAalU5ORGpOucGpnutee5WEaXw==
+-----END CERTIFICATE-----
+
+OpenTrust Root CA G1
+====================
+-----BEGIN CERTIFICATE-----
+MIIFbzCCA1egAwIBAgISESCzkFU5fX82bWTCp59rY45nMA0GCSqGSIb3DQEBCwUAMEAxCzAJBgNV
+BAYTAkZSMRIwEAYDVQQKDAlPcGVuVHJ1c3QxHTAbBgNVBAMMFE9wZW5UcnVzdCBSb290IENBIEcx
+MB4XDTE0MDUyNjA4NDU1MFoXDTM4MDExNTAwMDAwMFowQDELMAkGA1UEBhMCRlIxEjAQBgNVBAoM
+CU9wZW5UcnVzdDEdMBsGA1UEAwwUT3BlblRydXN0IFJvb3QgQ0EgRzEwggIiMA0GCSqGSIb3DQEB
+AQUAA4ICDwAwggIKAoICAQD4eUbalsUwXopxAy1wpLuwxQjczeY1wICkES3d5oeuXT2R0odsN7fa
+Yp6bwiTXj/HbpqbfRm9RpnHLPhsxZ2L3EVs0J9V5ToybWL0iEA1cJwzdMOWo010hOHQX/uMftk87
+ay3bfWAfjH1MBcLrARYVmBSO0ZB3Ij/swjm4eTrwSSTilZHcYTSSjFR077F9jAHiOH3BX2pfJLKO
+YheteSCtqx234LSWSE9mQxAGFiQD4eCcjsZGT44ameGPuY4zbGneWK2gDqdkVBFpRGZPTBKnjix9
+xNRbxQA0MMHZmf4yzgeEtE7NCv82TWLxp2NX5Ntqp66/K7nJ5rInieV+mhxNaMbBGN4zK1FGSxyO
+9z0M+Yo0FMT7MzUj8czxKselu7Cizv5Ta01BG2Yospb6p64KTrk5M0ScdMGTHPjgniQlQ/GbI4Kq
+3ywgsNw2TgOzfALU5nsaqocTvz6hdLubDuHAk5/XpGbKuxs74zD0M1mKB3IDVedzagMxbm+WG+Oi
+n6+Sx+31QrclTDsTBM8clq8cIqPQqwWyTBIjUtz9GVsnnB47ev1CI9sjgBPwvFEVVJSmdz7QdFG9
+URQIOTfLHzSpMJ1ShC5VkLG631UAC9hWLbFJSXKAqWLXwPYYEQRVzXR7z2FwefR7LFxckvzluFqr
+TJOVoSfupb7PcSNCupt2LQIDAQABo2MwYTAOBgNVHQ8BAf8EBAMCAQYwDwYDVR0TAQH/BAUwAwEB
+/zAdBgNVHQ4EFgQUl0YhVyE12jZVx/PxN3DlCPaTKbYwHwYDVR0jBBgwFoAUl0YhVyE12jZVx/Px
+N3DlCPaTKbYwDQYJKoZIhvcNAQELBQADggIBAB3dAmB84DWn5ph76kTOZ0BP8pNuZtQ5iSas000E
+PLuHIT839HEl2ku6q5aCgZG27dmxpGWX4m9kWaSW7mDKHyP7Rbr/jyTwyqkxf3kfgLMtMrpkZ2Cv
+uVnN35pJ06iCsfmYlIrM4LvgBBuZYLFGZdwIorJGnkSI6pN+VxbSFXJfLkur1J1juONI5f6ELlgK
+n0Md/rcYkoZDSw6cMoYsYPXpSOqV7XAp8dUv/TW0V8/bhUiZucJvbI/NeJWsZCj9VrDDb8O+WVLh
+X4SPgPL0DTatdrOjteFkdjpY3H1PXlZs5VVZV6Xf8YpmMIzUUmI4d7S+KNfKNsSbBfD4Fdvb8e80
+nR14SohWZ25g/4/Ii+GOvUKpMwpZQhISKvqxnUOOBZuZ2mKtVzazHbYNeS2WuOvyDEsMpZTGMKcm
+GS3tTAZQMPH9WD25SxdfGbRqhFS0OE85og2WaMMolP3tLR9Ka0OWLpABEPs4poEL0L9109S5zvE/
+bw4cHjdx5RiHdRk/ULlepEU0rbDK5uUTdg8xFKmOLZTW1YVNcxVPS/KyPu1svf0OnWZzsD2097+o
+4BGkxK51CUpjAEggpsadCwmKtODmzj7HPiY46SvepghJAwSQiumPv+i2tCqjI40cHLI5kqiPAlxA
+OXXUc0ECd97N4EOH1uS6SsNsEn/+KuYj1oxx
+-----END CERTIFICATE-----
+
+OpenTrust Root CA G2
+====================
+-----BEGIN CERTIFICATE-----
+MIIFbzCCA1egAwIBAgISESChaRu/vbm9UpaPI+hIvyYRMA0GCSqGSIb3DQEBDQUAMEAxCzAJBgNV
+BAYTAkZSMRIwEAYDVQQKDAlPcGVuVHJ1c3QxHTAbBgNVBAMMFE9wZW5UcnVzdCBSb290IENBIEcy
+MB4XDTE0MDUyNjAwMDAwMFoXDTM4MDExNTAwMDAwMFowQDELMAkGA1UEBhMCRlIxEjAQBgNVBAoM
+CU9wZW5UcnVzdDEdMBsGA1UEAwwUT3BlblRydXN0IFJvb3QgQ0EgRzIwggIiMA0GCSqGSIb3DQEB
+AQUAA4ICDwAwggIKAoICAQDMtlelM5QQgTJT32F+D3Y5z1zCU3UdSXqWON2ic2rxb95eolq5cSG+
+Ntmh/LzubKh8NBpxGuga2F8ORAbtp+Dz0mEL4DKiltE48MLaARf85KxP6O6JHnSrT78eCbY2albz
+4e6WiWYkBuTNQjpK3eCasMSCRbP+yatcfD7J6xcvDH1urqWPyKwlCm/61UWY0jUJ9gNDlP7ZvyCV
+eYCYitmJNbtRG6Q3ffyZO6v/v6wNj0OxmXsWEH4db0fEFY8ElggGQgT4hNYdvJGmQr5J1WqIP7wt
+UdGejeBSzFfdNTVY27SPJIjki9/ca1TSgSuyzpJLHB9G+h3Ykst2Z7UJmQnlrBcUVXDGPKBWCgOz
+3GIZ38i1MH/1PCZ1Eb3XG7OHngevZXHloM8apwkQHZOJZlvoPGIytbU6bumFAYueQ4xncyhZW+vj
+3CzMpSZyYhK05pyDRPZRpOLAeiRXyg6lPzq1O4vldu5w5pLeFlwoW5cZJ5L+epJUzpM5ChaHvGOz
+9bGTXOBut9Dq+WIyiET7vycotjCVXRIouZW+j1MY5aIYFuJWpLIsEPUdN6b4t/bQWVyJ98LVtZR0
+0dX+G7bw5tYee9I8y6jj9RjzIR9u701oBnstXW5DiabA+aC/gh7PU3+06yzbXfZqfUAkBXKJOAGT
+y3HCOV0GEfZvePg3DTmEJwIDAQABo2MwYTAOBgNVHQ8BAf8EBAMCAQYwDwYDVR0TAQH/BAUwAwEB
+/zAdBgNVHQ4EFgQUajn6QiL35okATV59M4PLuG53hq8wHwYDVR0jBBgwFoAUajn6QiL35okATV59
+M4PLuG53hq8wDQYJKoZIhvcNAQENBQADggIBAJjLq0A85TMCl38th6aP1F5Kr7ge57tx+4BkJamz
+Gj5oXScmp7oq4fBXgwpkTx4idBvpkF/wrM//T2h6OKQQbA2xx6R3gBi2oihEdqc0nXGEL8pZ0keI
+mUEiyTCYYW49qKgFbdEfwFFEVn8nNQLdXpgKQuswv42hm1GqO+qTRmTFAHneIWv2V6CG1wZy7HBG
+S4tz3aAhdT7cHcCP009zHIXZ/n9iyJVvttN7jLpTwm+bREx50B1ws9efAvSyB7DH5fitIw6mVskp
+EndI2S9G/Tvw/HRwkqWOOAgfZDC2t0v7NqwQjqBSM2OdAzVWxWm9xiNaJ5T2pBL4LTM8oValX9YZ
+6e18CL13zSdkzJTaTkZQh+D5wVOAHrut+0dSixv9ovneDiK3PTNZbNTe9ZUGMg1RGUFcPk8G97kr
+gCf2o6p6fAbhQ8MTOWIaNr3gKC6UAuQpLmBVrkA9sHSSXvAgZJY/X0VdiLWK2gKgW0VU3jg9CcCo
+SmVGFvyqv1ROTVu+OEO3KMqLM6oaJbolXCkvW0pujOotnCr2BXbgd5eAiN1nE28daCSLT7d0geX0
+YJ96Vdc+N9oWaz53rK4YcJUIeSkDiv7BO7M/Gg+kO14fWKGVyasvc0rQLW6aWQ9VGHgtPFGml4vm
+u7JwqkwR3v98KzfUetF3NI/n+UL3PIEMS1IK
+-----END CERTIFICATE-----
+
+OpenTrust Root CA G3
+====================
+-----BEGIN CERTIFICATE-----
+MIICITCCAaagAwIBAgISESDm+Ez8JLC+BUCs2oMbNGA/MAoGCCqGSM49BAMDMEAxCzAJBgNVBAYT
+AkZSMRIwEAYDVQQKDAlPcGVuVHJ1c3QxHTAbBgNVBAMMFE9wZW5UcnVzdCBSb290IENBIEczMB4X
+DTE0MDUyNjAwMDAwMFoXDTM4MDExNTAwMDAwMFowQDELMAkGA1UEBhMCRlIxEjAQBgNVBAoMCU9w
+ZW5UcnVzdDEdMBsGA1UEAwwUT3BlblRydXN0IFJvb3QgQ0EgRzMwdjAQBgcqhkjOPQIBBgUrgQQA
+IgNiAARK7liuTcpm3gY6oxH84Bjwbhy6LTAMidnW7ptzg6kjFYwvWYpa3RTqnVkrQ7cG7DK2uu5B
+ta1doYXM6h0UZqNnfkbilPPntlahFVmhTzeXuSIevRHr9LIfXsMUmuXZl5mjYzBhMA4GA1UdDwEB
+/wQEAwIBBjAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBRHd8MUi2I5DMlv4VBN0BBY3JWIbTAf
+BgNVHSMEGDAWgBRHd8MUi2I5DMlv4VBN0BBY3JWIbTAKBggqhkjOPQQDAwNpADBmAjEAj6jcnboM
+BBf6Fek9LykBl7+BFjNAk2z8+e2AcG+qj9uEwov1NcoG3GRvaBbhj5G5AjEA2Euly8LQCGzpGPta
+3U1fJAuwACEl74+nBCZx4nxp5V2a+EEfOzmTk51V6s2N8fvB
+-----END CERTIFICATE-----
+
+ISRG Root X1
+============
+-----BEGIN CERTIFICATE-----
+MIIFazCCA1OgAwIBAgIRAIIQz7DSQONZRGPgu2OCiwAwDQYJKoZIhvcNAQELBQAwTzELMAkGA1UE
+BhMCVVMxKTAnBgNVBAoTIEludGVybmV0IFNlY3VyaXR5IFJlc2VhcmNoIEdyb3VwMRUwEwYDVQQD
+EwxJU1JHIFJvb3QgWDEwHhcNMTUwNjA0MTEwNDM4WhcNMzUwNjA0MTEwNDM4WjBPMQswCQYDVQQG
+EwJVUzEpMCcGA1UEChMgSW50ZXJuZXQgU2VjdXJpdHkgUmVzZWFyY2ggR3JvdXAxFTATBgNVBAMT
+DElTUkcgUm9vdCBYMTCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBAK3oJHP0FDfzm54r
+Vygch77ct984kIxuPOZXoHj3dcKi/vVqbvYATyjb3miGbESTtrFj/RQSa78f0uoxmyF+0TM8ukj1
+3Xnfs7j/EvEhmkvBioZxaUpmZmyPfjxwv60pIgbz5MDmgK7iS4+3mX6UA5/TR5d8mUgjU+g4rk8K
+b4Mu0UlXjIB0ttov0DiNewNwIRt18jA8+o+u3dpjq+sWT8KOEUt+zwvo/7V3LvSye0rgTBIlDHCN
+Aymg4VMk7BPZ7hm/ELNKjD+Jo2FR3qyHB5T0Y3HsLuJvW5iB4YlcNHlsdu87kGJ55tukmi8mxdAQ
+4Q7e2RCOFvu396j3x+UCB5iPNgiV5+I3lg02dZ77DnKxHZu8A/lJBdiB3QW0KtZB6awBdpUKD9jf
+1b0SHzUvKBds0pjBqAlkd25HN7rOrFleaJ1/ctaJxQZBKT5ZPt0m9STJEadao0xAH0ahmbWnOlFu
+hjuefXKnEgV4We0+UXgVCwOPjdAvBbI+e0ocS3MFEvzG6uBQE3xDk3SzynTnjh8BCNAw1FtxNrQH
+usEwMFxIt4I7mKZ9YIqioymCzLq9gwQbooMDQaHWBfEbwrbwqHyGO0aoSCqI3Haadr8faqU9GY/r
+OPNk3sgrDQoo//fb4hVC1CLQJ13hef4Y53CIrU7m2Ys6xt0nUW7/vGT1M0NPAgMBAAGjQjBAMA4G
+A1UdDwEB/wQEAwIBBjAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBR5tFnme7bl5AFzgAiIyBpY
+9umbbjANBgkqhkiG9w0BAQsFAAOCAgEAVR9YqbyyqFDQDLHYGmkgJykIrGF1XIpu+ILlaS/V9lZL
+ubhzEFnTIZd+50xx+7LSYK05qAvqFyFWhfFQDlnrzuBZ6brJFe+GnY+EgPbk6ZGQ3BebYhtF8GaV
+0nxvwuo77x/Py9auJ/GpsMiu/X1+mvoiBOv/2X/qkSsisRcOj/KKNFtY2PwByVS5uCbMiogziUwt
+hDyC3+6WVwW6LLv3xLfHTjuCvjHIInNzktHCgKQ5ORAzI4JMPJ+GslWYHb4phowim57iaztXOoJw
+TdwJx4nLCgdNbOhdjsnvzqvHu7UrTkXWStAmzOVyyghqpZXjFaH3pO3JLF+l+/+sKAIuvtd7u+Nx
+e5AW0wdeRlN8NwdCjNPElpzVmbUq4JUagEiuTDkHzsxHpFKVK7q4+63SM1N95R1NbdWhscdCb+ZA
+JzVcoyi3B43njTOQ5yOf+1CceWxG1bQVs5ZufpsMljq4Ui0/1lvh+wjChP4kqKOJ2qxq4RgqsahD
+YVvTH9w7jXbyLeiNdd8XM2w9U/t7y0Ff/9yi0GE44Za4rF2LN9d11TPAmRGunUHBcnWEvgJBQl9n
+JEiU0Zsnvgc/ubhPgXRR4Xq37Z0j4r7g1SgEEzwxA57demyPxgcYxn/eR44/KJ4EBs+lVDR3veyJ
+m+kXQ99b21/+jh5Xos1AnX5iItreGCc=
+-----END CERTIFICATE-----
+
+AC RAIZ FNMT-RCM
+================
+-----BEGIN CERTIFICATE-----
+MIIFgzCCA2ugAwIBAgIPXZONMGc2yAYdGsdUhGkHMA0GCSqGSIb3DQEBCwUAMDsxCzAJBgNVBAYT
+AkVTMREwDwYDVQQKDAhGTk1ULVJDTTEZMBcGA1UECwwQQUMgUkFJWiBGTk1ULVJDTTAeFw0wODEw
+MjkxNTU5NTZaFw0zMDAxMDEwMDAwMDBaMDsxCzAJBgNVBAYTAkVTMREwDwYDVQQKDAhGTk1ULVJD
+TTEZMBcGA1UECwwQQUMgUkFJWiBGTk1ULVJDTTCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoC
+ggIBALpxgHpMhm5/yBNtwMZ9HACXjywMI7sQmkCpGreHiPibVmr75nuOi5KOpyVdWRHbNi63URcf
+qQgfBBckWKo3Shjf5TnUV/3XwSyRAZHiItQDwFj8d0fsjz50Q7qsNI1NOHZnjrDIbzAzWHFctPVr
+btQBULgTfmxKo0nRIBnuvMApGGWn3v7v3QqQIecaZ5JCEJhfTzC8PhxFtBDXaEAUwED653cXeuYL
+j2VbPNmaUtu1vZ5Gzz3rkQUCwJaydkxNEJY7kvqcfw+Z374jNUUeAlz+taibmSXaXvMiwzn15Cou
+08YfxGyqxRxqAQVKL9LFwag0Jl1mpdICIfkYtwb1TplvqKtMUejPUBjFd8g5CSxJkjKZqLsXF3mw
+WsXmo8RZZUc1g16p6DULmbvkzSDGm0oGObVo/CK67lWMK07q87Hj/LaZmtVC+nFNCM+HHmpxffnT
+tOmlcYF7wk5HlqX2doWjKI/pgG6BU6VtX7hI+cL5NqYuSf+4lsKMB7ObiFj86xsc3i1w4peSMKGJ
+47xVqCfWS+2QrYv6YyVZLag13cqXM7zlzced0ezvXg5KkAYmY6252TUtB7p2ZSysV4999AeU14EC
+ll2jB0nVetBX+RvnU0Z1qrB5QstocQjpYL05ac70r8NWQMetUqIJ5G+GR4of6ygnXYMgrwTJbFaa
+i0b1AgMBAAGjgYMwgYAwDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMCAQYwHQYDVR0OBBYE
+FPd9xf3E6Jobd2Sn9R2gzL+HYJptMD4GA1UdIAQ3MDUwMwYEVR0gADArMCkGCCsGAQUFBwIBFh1o
+dHRwOi8vd3d3LmNlcnQuZm5tdC5lcy9kcGNzLzANBgkqhkiG9w0BAQsFAAOCAgEAB5BK3/MjTvDD
+nFFlm5wioooMhfNzKWtN/gHiqQxjAb8EZ6WdmF/9ARP67Jpi6Yb+tmLSbkyU+8B1RXxlDPiyN8+s
+D8+Nb/kZ94/sHvJwnvDKuO+3/3Y3dlv2bojzr2IyIpMNOmqOFGYMLVN0V2Ue1bLdI4E7pWYjJ2cJ
+j+F3qkPNZVEI7VFY/uY5+ctHhKQV8Xa7pO6kO8Rf77IzlhEYt8llvhjho6Tc+hj507wTmzl6NLrT
+Qfv6MooqtyuGC2mDOL7Nii4LcK2NJpLuHvUBKwrZ1pebbuCoGRw6IYsMHkCtA+fdZn71uSANA+iW
++YJF1DngoABd15jmfZ5nc8OaKveri6E6FO80vFIOiZiaBECEHX5FaZNXzuvO+FB8TxxuBEOb+dY7
+Ixjp6o7RTUaN8Tvkasq6+yO3m/qZASlaWFot4/nUbQ4mrcFuNLwy+AwF+mWj2zs3gyLp1txyM/1d
+8iC9djwj2ij3+RvrWWTV3F9yfiD8zYm1kGdNYno/Tq0dwzn+evQoFt9B9kiABdcPUXmsEKvU7ANm
+5mqwujGSQkBqvjrTcuFqN1W8rB2Vt2lh8kORdOag0wokRqEIr9baRRmW1FMdW4R58MD3R++Lj8UG
+rp1MYp3/RgT408m2ECVAdf4WqslKYIYvuu8wd+RU4riEmViAqhOLUTpPSPaLtrM=
+-----END CERTIFICATE-----
+
+Amazon Root CA 1
+================
+-----BEGIN CERTIFICATE-----
+MIIDQTCCAimgAwIBAgITBmyfz5m/jAo54vB4ikPmljZbyjANBgkqhkiG9w0BAQsFADA5MQswCQYD
+VQQGEwJVUzEPMA0GA1UEChMGQW1hem9uMRkwFwYDVQQDExBBbWF6b24gUm9vdCBDQSAxMB4XDTE1
+MDUyNjAwMDAwMFoXDTM4MDExNzAwMDAwMFowOTELMAkGA1UEBhMCVVMxDzANBgNVBAoTBkFtYXpv
+bjEZMBcGA1UEAxMQQW1hem9uIFJvb3QgQ0EgMTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoC
+ggEBALJ4gHHKeNXjca9HgFB0fW7Y14h29Jlo91ghYPl0hAEvrAIthtOgQ3pOsqTQNroBvo3bSMgH
+FzZM9O6II8c+6zf1tRn4SWiw3te5djgdYZ6k/oI2peVKVuRF4fn9tBb6dNqcmzU5L/qwIFAGbHrQ
+gLKm+a/sRxmPUDgH3KKHOVj4utWp+UhnMJbulHheb4mjUcAwhmahRWa6VOujw5H5SNz/0egwLX0t
+dHA114gk957EWW67c4cX8jJGKLhD+rcdqsq08p8kDi1L93FcXmn/6pUCyziKrlA4b9v7LWIbxcce
+VOF34GfID5yHI9Y/QCB/IIDEgEw+OyQmjgSubJrIqg0CAwEAAaNCMEAwDwYDVR0TAQH/BAUwAwEB
+/zAOBgNVHQ8BAf8EBAMCAYYwHQYDVR0OBBYEFIQYzIU07LwMlJQuCFmcx7IQTgoIMA0GCSqGSIb3
+DQEBCwUAA4IBAQCY8jdaQZChGsV2USggNiMOruYou6r4lK5IpDB/G/wkjUu0yKGX9rbxenDIU5PM
+CCjjmCXPI6T53iHTfIUJrU6adTrCC2qJeHZERxhlbI1Bjjt/msv0tadQ1wUsN+gDS63pYaACbvXy
+8MWy7Vu33PqUXHeeE6V/Uq2V8viTO96LXFvKWlJbYK8U90vvo/ufQJVtMVT8QtPHRh8jrdkPSHCa
+2XV4cdFyQzR1bldZwgJcJmApzyMZFo6IQ6XU5MsI+yMRQ+hDKXJioaldXgjUkK642M4UwtBV8ob2
+xJNDd2ZhwLnoQdeXeGADbkpyrqXRfboQnoZsG4q5WTP468SQvvG5
+-----END CERTIFICATE-----
+
+Amazon Root CA 2
+================
+-----BEGIN CERTIFICATE-----
+MIIFQTCCAymgAwIBAgITBmyf0pY1hp8KD+WGePhbJruKNzANBgkqhkiG9w0BAQwFADA5MQswCQYD
+VQQGEwJVUzEPMA0GA1UEChMGQW1hem9uMRkwFwYDVQQDExBBbWF6b24gUm9vdCBDQSAyMB4XDTE1
+MDUyNjAwMDAwMFoXDTQwMDUyNjAwMDAwMFowOTELMAkGA1UEBhMCVVMxDzANBgNVBAoTBkFtYXpv
+bjEZMBcGA1UEAxMQQW1hem9uIFJvb3QgQ0EgMjCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoC
+ggIBAK2Wny2cSkxKgXlRmeyKy2tgURO8TW0G/LAIjd0ZEGrHJgw12MBvIITplLGbhQPDW9tK6Mj4
+kHbZW0/jTOgGNk3Mmqw9DJArktQGGWCsN0R5hYGCrVo34A3MnaZMUnbqQ523BNFQ9lXg1dKmSYXp
+N+nKfq5clU1Imj+uIFptiJXZNLhSGkOQsL9sBbm2eLfq0OQ6PBJTYv9K8nu+NQWpEjTj82R0Yiw9
+AElaKP4yRLuH3WUnAnE72kr3H9rN9yFVkE8P7K6C4Z9r2UXTu/Bfh+08LDmG2j/e7HJV63mjrdvd
+fLC6HM783k81ds8P+HgfajZRRidhW+mez/CiVX18JYpvL7TFz4QuK/0NURBs+18bvBt+xa47mAEx
+kv8LV/SasrlX6avvDXbR8O70zoan4G7ptGmh32n2M8ZpLpcTnqWHsFcQgTfJU7O7f/aS0ZzQGPSS
+btqDT6ZjmUyl+17vIWR6IF9sZIUVyzfpYgwLKhbcAS4y2j5L9Z469hdAlO+ekQiG+r5jqFoz7Mt0
+Q5X5bGlSNscpb/xVA1wf+5+9R+vnSUeVC06JIglJ4PVhHvG/LopyboBZ/1c6+XUyo05f7O0oYtlN
+c/LMgRdg7c3r3NunysV+Ar3yVAhU/bQtCSwXVEqY0VThUWcI0u1ufm8/0i2BWSlmy5A5lREedCf+
+3euvAgMBAAGjQjBAMA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgGGMB0GA1UdDgQWBBSw
+DPBMMPQFWAJI/TPlUq9LhONmUjANBgkqhkiG9w0BAQwFAAOCAgEAqqiAjw54o+Ci1M3m9Zh6O+oA
+A7CXDpO8Wqj2LIxyh6mx/H9z/WNxeKWHWc8w4Q0QshNabYL1auaAn6AFC2jkR2vHat+2/XcycuUY
++gn0oJMsXdKMdYV2ZZAMA3m3MSNjrXiDCYZohMr/+c8mmpJ5581LxedhpxfL86kSk5Nrp+gvU5LE
+YFiwzAJRGFuFjWJZY7attN6a+yb3ACfAXVU3dJnJUH/jWS5E4ywl7uxMMne0nxrpS10gxdr9HIcW
+xkPo1LsmmkVwXqkLN1PiRnsn/eBG8om3zEK2yygmbtmlyTrIQRNg91CMFa6ybRoVGld45pIq2WWQ
+gj9sAq+uEjonljYE1x2igGOpm/HlurR8FLBOybEfdF849lHqm/osohHUqS0nGkWxr7JOcQ3AWEbW
+aQbLU8uz/mtBzUF+fUwPfHJ5elnNXkoOrJupmHN5fLT0zLm4BwyydFy4x2+IoZCn9Kr5v2c69BoV
+Yh63n749sSmvZ6ES8lgQGVMDMBu4Gon2nL2XA46jCfMdiyHxtN/kHNGfZQIG6lzWE7OE76KlXIx3
+KadowGuuQNKotOrN8I1LOJwZmhsoVLiJkO/KdYE+HvJkJMcYr07/R54H9jVlpNMKVv/1F2Rs76gi
+JUmTtt8AF9pYfl3uxRuw0dFfIRDH+fO6AgonB8Xx1sfT4PsJYGw=
+-----END CERTIFICATE-----
+
+Amazon Root CA 3
+================
+-----BEGIN CERTIFICATE-----
+MIIBtjCCAVugAwIBAgITBmyf1XSXNmY/Owua2eiedgPySjAKBggqhkjOPQQDAjA5MQswCQYDVQQG
+EwJVUzEPMA0GA1UEChMGQW1hem9uMRkwFwYDVQQDExBBbWF6b24gUm9vdCBDQSAzMB4XDTE1MDUy
+NjAwMDAwMFoXDTQwMDUyNjAwMDAwMFowOTELMAkGA1UEBhMCVVMxDzANBgNVBAoTBkFtYXpvbjEZ
+MBcGA1UEAxMQQW1hem9uIFJvb3QgQ0EgMzBZMBMGByqGSM49AgEGCCqGSM49AwEHA0IABCmXp8ZB
+f8ANm+gBG1bG8lKlui2yEujSLtf6ycXYqm0fc4E7O5hrOXwzpcVOho6AF2hiRVd9RFgdszflZwjr
+Zt6jQjBAMA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgGGMB0GA1UdDgQWBBSrttvXBp43
+rDCGB5Fwx5zEGbF4wDAKBggqhkjOPQQDAgNJADBGAiEA4IWSoxe3jfkrBqWTrBqYaGFy+uGh0Psc
+eGCmQ5nFuMQCIQCcAu/xlJyzlvnrxir4tiz+OpAUFteMYyRIHN8wfdVoOw==
+-----END CERTIFICATE-----
+
+Amazon Root CA 4
+================
+-----BEGIN CERTIFICATE-----
+MIIB8jCCAXigAwIBAgITBmyf18G7EEwpQ+Vxe3ssyBrBDjAKBggqhkjOPQQDAzA5MQswCQYDVQQG
+EwJVUzEPMA0GA1UEChMGQW1hem9uMRkwFwYDVQQDExBBbWF6b24gUm9vdCBDQSA0MB4XDTE1MDUy
+NjAwMDAwMFoXDTQwMDUyNjAwMDAwMFowOTELMAkGA1UEBhMCVVMxDzANBgNVBAoTBkFtYXpvbjEZ
+MBcGA1UEAxMQQW1hem9uIFJvb3QgQ0EgNDB2MBAGByqGSM49AgEGBSuBBAAiA2IABNKrijdPo1MN
+/sGKe0uoe0ZLY7Bi9i0b2whxIdIA6GO9mif78DluXeo9pcmBqqNbIJhFXRbb/egQbeOc4OO9X4Ri
+83BkM6DLJC9wuoihKqB1+IGuYgbEgds5bimwHvouXKNCMEAwDwYDVR0TAQH/BAUwAwEB/zAOBgNV
+HQ8BAf8EBAMCAYYwHQYDVR0OBBYEFNPsxzplbszh2naaVvuc84ZtV+WBMAoGCCqGSM49BAMDA2gA
+MGUCMDqLIfG9fhGt0O9Yli/W651+kI0rz2ZVwyzjKKlwCkcO8DdZEv8tmZQoTipPNU0zWgIxAOp1
+AE47xDqUEpHJWEadIRNyp4iciuRMStuW1KyLa2tJElMzrdfkviT8tQp21KW8EA==
+-----END CERTIFICATE-----
+
+LuxTrust Global Root 2
+======================
+-----BEGIN CERTIFICATE-----
+MIIFwzCCA6ugAwIBAgIUCn6m30tEntpqJIWe5rgV0xZ/u7EwDQYJKoZIhvcNAQELBQAwRjELMAkG
+A1UEBhMCTFUxFjAUBgNVBAoMDUx1eFRydXN0IFMuQS4xHzAdBgNVBAMMFkx1eFRydXN0IEdsb2Jh
+bCBSb290IDIwHhcNMTUwMzA1MTMyMTU3WhcNMzUwMzA1MTMyMTU3WjBGMQswCQYDVQQGEwJMVTEW
+MBQGA1UECgwNTHV4VHJ1c3QgUy5BLjEfMB0GA1UEAwwWTHV4VHJ1c3QgR2xvYmFsIFJvb3QgMjCC
+AiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBANeFl78RmOnwYoNMPIf5U2o3C/IPPIfOb9wm
+Kb3FibrJgz337spbxm1Jc7TJRqMbNBM/wYlFV/TZsfs2ZUv7COJIcRHIbjuend+JZTemhfY7RBi2
+xjcwYkSSl2l9QjAk5A0MiWtj3sXh306pFGxT4GHO9hcvHTy95iJMHZP1EMShduxq3sVs35a0VkBC
+wGKSMKEtFZSg0iAGCW5qbeXrt77U8PEVfIvmTroTzEsnXpk8F12PgX8zPU/TPxvsXD/wPEx1bvKm
+1Z3aLQdjAsZy6ZS8TEmVT4hSyNvoaYL4zDRbIvCGp4m9SAptZoFtyMhk+wHh9OHe2Z7d21vUKpkm
+FRseTJIpgp7VkoGSQXAZ96Tlk0u8d2cx3Rz9MXANF5kM+Qw5GSoXtTBxVdUPrljhPS80m8+f9niF
+wpN6cj5mj5wWEWCPnolvZ77gR1o7DJpni89Gxq44o/KnvObWhWszJHAiS8sIm7vI+AIpHb4gDEa/
+a4ebsypmQjVGbKq6rfmYe+lQVRQxv7HaLe2ArWgk+2mr2HETMOZns4dA/Yl+8kPREd8vZS9kzl8U
+ubG/Mb2HeFpZZYiq/FkySIbWTLkpS5XTdvN3JW1CHDiDTf2jX5t/Lax5Gw5CMZdjpPuKadUiDTSQ
+MC6otOBttpSsvItO13D8xTiOZCXhTTmQzsmHhFhxAgMBAAGjgagwgaUwDwYDVR0TAQH/BAUwAwEB
+/zBCBgNVHSAEOzA5MDcGByuBKwEBAQowLDAqBggrBgEFBQcCARYeaHR0cHM6Ly9yZXBvc2l0b3J5
+Lmx1eHRydXN0Lmx1MA4GA1UdDwEB/wQEAwIBBjAfBgNVHSMEGDAWgBT/GCh2+UgFLKGu8SsbK7JT
++Et8szAdBgNVHQ4EFgQU/xgodvlIBSyhrvErGyuyU/hLfLMwDQYJKoZIhvcNAQELBQADggIBAGoZ
+FO1uecEsh9QNcH7X9njJCwROxLHOk3D+sFTAMs2ZMGQXvw/l4jP9BzZAcg4atmpZ1gDlaCDdLnIN
+H2pkMSCEfUmmWjfrRcmF9dTHF5kH5ptV5AzoqbTOjFu1EVzPig4N1qx3gf4ynCSecs5U89BvolbW
+7MM3LGVYvlcAGvI1+ut7MV3CwRI9loGIlonBWVx65n9wNOeD4rHh4bhY79SV5GCc8JaXcozrhAIu
+ZY+kt9J/Z93I055cqqmkoCUUBpvsT34tC38ddfEz2O3OuHVtPlu5mB0xDVbYQw8wkbIEa91WvpWA
+VWe+2M2D2RjuLg+GLZKecBPs3lHJQ3gCpU3I+V/EkVhGFndadKpAvAefMLmx9xIX3eP/JEAdemrR
+TxgKqpAd60Ae36EeRJIQmvKN4dFLRp7oRUKX6kWZ8+xm1QL68qZKJKrezrnK+T+Tb/mjuuqlPpmt
+/f97mfVl7vBZKGfXkJWkE4SphMHozs51k2MavDzq1WQfLSoSOcbDWjLtR5EWDrw4wVDej8oqkDQc
+7kGUnF4ZLvhFSZl0kbAEb+MEWrGrKqv+x9CWttrhSmQGbmBNvUJO/3jaJMobtNeWOWyu8Q6qp31I
+iyBMz2TWuJdGsE7RKlY6oJO9r4Ak4Ap+58rVyuiFVdw2KuGUaJPHZnJED4AhMmwlxyOAgwrr
+-----END CERTIFICATE-----
+
+TUBITAK Kamu SM SSL Kok Sertifikasi - Surum 1
+=============================================
+-----BEGIN CERTIFICATE-----
+MIIEYzCCA0ugAwIBAgIBATANBgkqhkiG9w0BAQsFADCB0jELMAkGA1UEBhMCVFIxGDAWBgNVBAcT
+D0dlYnplIC0gS29jYWVsaTFCMEAGA1UEChM5VHVya2l5ZSBCaWxpbXNlbCB2ZSBUZWtub2xvamlr
+IEFyYXN0aXJtYSBLdXJ1bXUgLSBUVUJJVEFLMS0wKwYDVQQLEyRLYW11IFNlcnRpZmlrYXN5b24g
+TWVya2V6aSAtIEthbXUgU00xNjA0BgNVBAMTLVRVQklUQUsgS2FtdSBTTSBTU0wgS29rIFNlcnRp
+ZmlrYXNpIC0gU3VydW0gMTAeFw0xMzExMjUwODI1NTVaFw00MzEwMjUwODI1NTVaMIHSMQswCQYD
+VQQGEwJUUjEYMBYGA1UEBxMPR2ViemUgLSBLb2NhZWxpMUIwQAYDVQQKEzlUdXJraXllIEJpbGlt
+c2VsIHZlIFRla25vbG9qaWsgQXJhc3Rpcm1hIEt1cnVtdSAtIFRVQklUQUsxLTArBgNVBAsTJEth
+bXUgU2VydGlmaWthc3lvbiBNZXJrZXppIC0gS2FtdSBTTTE2MDQGA1UEAxMtVFVCSVRBSyBLYW11
+IFNNIFNTTCBLb2sgU2VydGlmaWthc2kgLSBTdXJ1bSAxMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8A
+MIIBCgKCAQEAr3UwM6q7a9OZLBI3hNmNe5eA027n/5tQlT6QlVZC1xl8JoSNkvoBHToP4mQ4t4y8
+6Ij5iySrLqP1N+RAjhgleYN1Hzv/bKjFxlb4tO2KRKOrbEz8HdDc72i9z+SqzvBV96I01INrN3wc
+wv61A+xXzry0tcXtAA9TNypN9E8Mg/uGz8v+jE69h/mniyFXnHrfA2eJLJ2XYacQuFWQfw4tJzh0
+3+f92k4S400VIgLI4OD8D62K18lUUMw7D8oWgITQUVbDjlZ/iSIzL+aFCr2lqBs23tPcLG07xxO9
+WSMs5uWk99gL7eqQQESolbuT1dCANLZGeA4fAJNG4e7p+exPFwIDAQABo0IwQDAdBgNVHQ4EFgQU
+ZT/HiobGPN08VFw1+DrtUgxHV8gwDgYDVR0PAQH/BAQDAgEGMA8GA1UdEwEB/wQFMAMBAf8wDQYJ
+KoZIhvcNAQELBQADggEBACo/4fEyjq7hmFxLXs9rHmoJ0iKpEsdeV31zVmSAhHqT5Am5EM2fKifh
+AHe+SMg1qIGf5LgsyX8OsNJLN13qudULXjS99HMpw+0mFZx+CFOKWI3QSyjfwbPfIPP54+M638yc
+lNhOT8NrF7f3cuitZjO1JVOr4PhMqZ398g26rrnZqsZr+ZO7rqu4lzwDGrpDxpa5RXI4s6ehlj2R
+e37AIVNMh+3yC1SVUZPVIqUNivGTDj5UDrDYyU7c8jEyVupk+eq1nRZmQnLzf9OxMUP8pI4X8W0j
+q5Rm+K37DwhuJi1/FwcJsoz7UMCflo3Ptv0AnVoUmr8CRPXBwp8iXqIPoeM=
+-----END CERTIFICATE-----
diff --git a/patches/source/curl/curl.SlackBuild b/patches/source/curl/curl.SlackBuild
new file mode 100755
index 00000000..9c5cd620
--- /dev/null
+++ b/patches/source/curl/curl.SlackBuild
@@ -0,0 +1,152 @@
+#!/bin/sh
+
+# Copyright 2008, 2009, 2010, 2011, 2013, 2014, 2016, 2017 Patrick J. Volkerding, Sebeka, MN, USA
+# All rights reserved.
+#
+# Redistribution and use of this script, with or without modification, is
+# permitted provided that the following conditions are met:
+#
+# 1. Redistributions of this script must retain the above copyright
+# notice, this list of conditions and the following disclaimer.
+#
+# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED
+# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
+# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
+# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+PKGNAM=curl
+VERSION=${VERSION:-$(echo curl-*.tar.xz | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
+BUILD=${BUILD:-1_slack13.0}
+
+# Automatically determine the architecture we're building on:
+if [ -z "$ARCH" ]; then
+ case "$( uname -m )" in
+ i?86) export ARCH=i486 ;;
+ arm*) export ARCH=arm ;;
+ # Unless $ARCH is already set, use uname -m for all other archs:
+ *) export ARCH=$( uname -m ) ;;
+ esac
+fi
+
+NUMJOBS=${NUMJOBS:-" -j7 "}
+
+CWD=$(pwd)
+TMP=${TMP:-/tmp}
+PKG=$TMP/package-curl
+
+# Uncomment to build a no-SSL version:
+#SSLOPT=--without-ssl
+
+if [ "$ARCH" = "i486" ]; then
+ SLKCFLAGS="-O2 -march=i486 -mtune=i686"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "s390" ]; then
+ SLKCFLAGS="-O2"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "x86_64" ]; then
+ SLKCFLAGS="-O2 -fPIC"
+ LIBDIRSUFFIX="64"
+else
+ SLKCFLAGS="-O2"
+ LIBDIRSUFFIX=""
+fi
+
+rm -rf $PKG
+mkdir -p $PKG
+cd $TMP
+rm -rf curl-$VERSION
+tar xvf $CWD/curl-$VERSION.tar.xz || exit 1
+cd curl-$VERSION
+
+chown -R root:root .
+find . \
+ \( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \
+ -exec chmod 755 {} \; -o \
+ \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \
+ -exec chmod 644 {} \;
+
+CFLAGS="$SLKCFLAGS" \
+./configure \
+ --prefix=/usr \
+ --libdir=/usr/lib${LIBDIRSUFFIX} \
+ --mandir=/usr/man \
+ --with-ca-bundle=/usr/share/curl/ca-bundle.crt \
+ --enable-static=no \
+ $SSLOPT || exit 1
+
+make $NUMJOBS || make || exit 1
+make install DESTDIR=$PKG || exit 1
+
+# We have always installed the man3 documentation, so we'll keep doing it
+# even though these are no longer installed by default. No || exit 1, if
+# it works, it works, and if it doesn't, we tried.
+( cd docs/libcurl
+ make install-man3 DESTDIR=$PKG
+ cd opts
+ make install-man3 DESTDIR=$PKG
+)
+
+mkdir -p $PKG/usr/share/curl
+cp -a $CWD/cacert.pem.bz2 $PKG/usr/share/curl
+( cd $PKG/usr/share/curl
+ bzip2 -d cacert.pem.bz2
+ mv cacert.pem ca-bundle.crt
+ chown root:root ca-bundle.crt
+ chmod 644 ca-bundle.crt
+)
+
+# We don't ship the related perl script (yet):
+rm -f $PKG/usr/man/man1/mk-ca-bundle.1
+
+find $PKG | xargs file | grep -e "executable" -e "shared object" | grep ELF \
+ | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
+
+strip -g $PKG/usr/lib${LIBDIRSUFFIX}/libcurl.a
+
+mkdir -p $PKG/usr/doc/curl-$VERSION
+cp -a \
+ COPYING* README* UPGRADE \
+ $PKG/usr/doc/curl-$VERSION
+( cd docs
+ cp -a \
+ BUGS CONTRIBUTE FAQ FEATURES INSTALL INTERNALS MANUAL README* RESOURCES THANKS TODO examples \
+ $PKG/usr/doc/curl-$VERSION )
+# Get rid of .deps cruft:
+rm -rf $PKG/usr/doc/curl-$VERSION/examples/.deps
+
+# If there's a CHANGES file, installing at least part of the recent history
+# is useful, but don't let it get totally out of control:
+if [ -r CHANGES ]; then
+ DOCSDIR=$(echo $PKG/usr/doc/${PKGNAM}-$VERSION)
+ cat CHANGES | head -n 1000 > $DOCSDIR/ChangeLog
+ touch -r CHANGES $DOCSDIR/ChangeLog
+fi
+
+# Compress and if needed symlink the man pages:
+if [ -d $PKG/usr/man ]; then
+ ( cd $PKG/usr/man
+ for manpagedir in $(find . -type d -name "man*") ; do
+ ( cd $manpagedir
+ for eachpage in $( find . -type l -maxdepth 1) ; do
+ ln -s $( readlink $eachpage ).gz $eachpage.gz
+ rm $eachpage
+ done
+ gzip -9 *.?
+ )
+ done
+ )
+fi
+
+mkdir -p $PKG/install
+cat $CWD/slack-desc > $PKG/install/slack-desc
+
+cd $PKG
+/sbin/makepkg -l y -c n $TMP/curl-$VERSION-$ARCH-$BUILD.txz
+
diff --git a/patches/source/curl/slack-desc b/patches/source/curl/slack-desc
new file mode 100644
index 00000000..0fe5c532
--- /dev/null
+++ b/patches/source/curl/slack-desc
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|'
+# on the right side marks the last column you can put a character in. You must
+# make exactly 11 lines for the formatting to be correct. It's also
+# customary to leave one space after the ':'.
+
+ |-----handy-ruler------------------------------------------------------|
+curl: curl (command line URL data transfer tool)
+curl:
+curl: Curl is a command line tool for transferring data specified with URL
+curl: syntax. The command is designed to work without user interaction or
+curl: any kind of interactivity. Curl offers a busload of useful tricks
+curl: like proxy support, user authentication, ftp upload, HTTP post, SSL
+curl: (https:) connections, cookies, file transfer resume and more.
+curl:
+curl: libcurl is a library that Curl uses to do its job. It is readily
+curl: available to be used by your software, too.
+curl:
diff --git a/patches/source/dhcp/dhclient-script.PATH.diff b/patches/source/dhcp/dhclient-script.PATH.diff
new file mode 100644
index 00000000..567ed2a4
--- /dev/null
+++ b/patches/source/dhcp/dhclient-script.PATH.diff
@@ -0,0 +1,13 @@
+--- ./client/scripts/linux.orig 2017-07-25 08:39:54.000000000 -0500
++++ ./client/scripts/linux 2017-08-03 15:31:41.067873392 -0500
+@@ -22,6 +22,10 @@
+ # 4. TIMEOUT not tested. ping has a flag I don't know, and I'm suspicious
+ # of the $1 in its args.
+
++# Set a reasonable default path for Linux:
++PATH=/usr/local/sbin:/usr/sbin:/sbin:/usr/local/bin:/usr/bin:/bin
++export PATH
++
+ # 5. Script refresh in 2017. The aliasing code was too convoluted and needs
+ # to go away. Migrated DHCPv4 script to ip command from iproute2 suite.
+ # This is based on Debian script with some tweaks. ifconfig is no longer
diff --git a/patches/source/dhcp/dhcp-remove-bind-tarball.sh b/patches/source/dhcp/dhcp-remove-bind-tarball.sh
new file mode 100755
index 00000000..5249f967
--- /dev/null
+++ b/patches/source/dhcp/dhcp-remove-bind-tarball.sh
@@ -0,0 +1,49 @@
+#!/bin/sh
+
+# Copyright 2011 Patrick J. Volkerding, Sebeka, MN, USA
+# All rights reserved.
+#
+# Redistribution and use of this script, with or without modification, is
+# permitted provided that the following conditions are met:
+#
+# 1. Redistributions of this script must retain the above copyright
+# notice, this list of conditions and the following disclaimer.
+#
+# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED
+# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
+# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
+# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+PKGNAM=dhcp
+VERSION=${VERSION:-4.2.1-P1}
+BUILD=${BUILD:-1}
+
+# This is not yet used, but eventually we would like to be able to purge
+# the bundled BIND and use the system's instead. Maybe wishful thinking.
+
+CWD=$(pwd)
+TMP=${TMP:-/tmp}
+
+cd $TMP
+rm -rf dhcp-$VERSION
+tar xvf $CWD/dhcp-$VERSION.tar.?z* || exit 1
+cd dhcp-$VERSION || exit 1
+
+# good "bob" why? ...
+rm -rf bind/*
+
+# Generate a new .xz compressed tarball in /tmp:
+cd $TMP
+rm -f dhcp-$VERSION.tar*
+tar cf dhcp-$VERSION.tar dhcp-$VERSION
+xz -9 dhcp-$VERSION.tar
+
+echo "$TMP/dhcp-$VERSION.tar.xz created"
+
diff --git a/patches/source/dhcp/dhcp.SlackBuild b/patches/source/dhcp/dhcp.SlackBuild
new file mode 100755
index 00000000..3a6957d9
--- /dev/null
+++ b/patches/source/dhcp/dhcp.SlackBuild
@@ -0,0 +1,179 @@
+#!/bin/sh
+
+# Copyright 2008, 2009, 2010, 2011, 2012 Patrick J. Volkerding, Sebeka, MN, USA
+# All rights reserved.
+#
+# Redistribution and use of this script, with or without modification, is
+# permitted provided that the following conditions are met:
+#
+# 1. Redistributions of this script must retain the above copyright
+# notice, this list of conditions and the following disclaimer.
+#
+# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED
+# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
+# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
+# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+PKGNAM=dhcp
+# Leave this one .gz as other compressors do not help much and we can keep
+# the original upstream .asc
+VERSION=${VERSION:-$(basename $(echo $PKGNAM-*.tar.gz | cut -f 2- -d -) .tar.gz)}
+BUILD=${BUILD:-1_slack13.0}
+
+PKG_VERSION=$(echo $VERSION | tr - _)
+
+NUMJOBS=${NUMJOBS:-" -j7 "}
+
+# Automatically determine the architecture we're building on:
+if [ -z "$ARCH" ]; then
+ case "$( uname -m )" in
+ i?86) export ARCH=i486 ;;
+ arm*) export ARCH=arm ;;
+ # Unless $ARCH is already set, use uname -m for all other archs:
+ *) export ARCH=$( uname -m ) ;;
+ esac
+fi
+
+CWD=$(pwd)
+TMP=${TMP:-/tmp}
+PKG=$TMP/package-dhcp
+
+if [ "$ARCH" = "i486" ]; then
+ SLKCFLAGS="-O2 -march=i486 -mtune=i686"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "s390" ]; then
+ SLKCFLAGS="-O2"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "x86_64" ]; then
+ SLKCFLAGS="-O2 -fPIC"
+ LIBDIRSUFFIX="64"
+else
+ SLKCFLAGS="-O2"
+ LIBDIRSUFFIX=""
+fi
+
+rm -rf $PKG
+mkdir -p $TMP $PKG
+
+cd $TMP
+rm -rf dhcp-$VERSION
+tar xvf $CWD/dhcp-$VERSION.tar.gz || exit 1
+cd dhcp-$VERSION || exit 1
+
+chown -R root:root .
+find . \
+ \( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \
+ -exec chmod 755 {} \; -o \
+ \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \
+ -exec chmod 644 {} \;
+
+# Add PATH setting to /sbin/dhclient-script
+zcat $CWD/dhclient-script.PATH.diff.gz | patch -p1 || exit 1
+
+# Fix paths in manual pages
+sed -i \
+ -e "s,ETCDIR,/etc,g" \
+ -e "s,DBDIR,/var/state/dhcp,g" \
+ -e "s,RUNDIR,/var/run,g" \
+ client/*.{5,8} \
+ server/*.{5,8} \
+ doc/*/*.{5,8}
+
+CFLAGS="$SLKCFLAGS" \
+./configure \
+ --prefix=/usr \
+ --sysconfdir=/etc \
+ --localstatedir=/var \
+ --infodir=/usr/info \
+ --mandir=/usr/man \
+ --libdir=/usr/lib${LIBDIRSUFFIX} \
+ --docdir=/usr/doc/dhcp-$VERSION \
+ --build=$ARCH-slackware-linux \
+ --with-srv-lease-file=/var/state/dhcp/dhcpd.leases \
+ --with-srv6-lease-file=/var/state/dhcp/dhcpd6.leases \
+ --with-cli-lease-file=/var/state/dhcp/dhclient.leases \
+ --with-cli6-lease-file=/var/state/dhcp/dhclient6.leases
+# Default pid dir is still /var/run, so no need to declare it
+
+make $NUMJOBS || make || exit 1
+make install DESTDIR=$PKG || exit 1
+
+# DHCP libraries need not be included, yet.
+rm -rf $PKG/usr/{include,lib${LIBDIRSUFFIX}}
+
+# We need this in /sbin
+mkdir -p $PKG/sbin
+mv $PKG/usr/sbin/dhclient $PKG/sbin
+
+# Install the dhclient-script for linux
+cat client/scripts/linux > $PKG/sbin/dhclient-script
+chmod 700 $PKG/sbin/dhclient-script
+
+# Create the initial *.leases files:
+mkdir -p $PKG/var/state/dhcp
+touch $PKG/var/state/dhcp/dhcpd.leases.new
+touch $PKG/var/state/dhcp/dhcpd6.leases.new
+touch $PKG/var/state/dhcp/dhclient.leases.new
+touch $PKG/var/state/dhcp/dhclient6.leases.new
+
+cat << EOF > $PKG/etc/dhcpd.conf.new
+# dhcpd.conf
+#
+# Configuration file for ISC dhcpd (see 'man dhcpd.conf')
+#
+EOF
+
+cat << EOF > $PKG/etc/dhclient.conf.new
+# dhclient.conf
+#
+# Configuration file for ISC dhclient (see 'man dhclient.conf')
+#
+EOF
+
+# Compress and if needed symlink the man pages:
+if [ -d $PKG/usr/man ]; then
+ ( cd $PKG/usr/man
+ for manpagedir in $(find . -type d -name "man*") ; do
+ ( cd $manpagedir
+ for eachpage in $( find . -type l -maxdepth 1) ; do
+ ln -s $( readlink $eachpage ).gz $eachpage.gz
+ rm $eachpage
+ done
+ gzip -9 *.?
+ )
+ done
+ )
+fi
+
+find $PKG | xargs file | grep -e "executable" -e "shared object" | grep ELF \
+ | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
+
+mkdir -p $PKG/usr/doc/dhcp-$VERSION/examples
+cp -a \
+ LICENSE README RELNOTES \
+ $PKG/usr/doc/dhcp-$VERSION
+mv $PKG/etc/dhcpd.conf $PKG/etc/dhclient.conf \
+ $PKG/usr/doc/dhcp-$VERSION/examples
+
+# If there's a ChangeLog, installing at least part of the recent history
+# is useful, but don't let it get totally out of control:
+if [ -r ChangeLog ]; then
+ DOCSDIR=$(echo $PKG/usr/doc/*-$VERSION)
+ cat ChangeLog | head -n 1000 > $DOCSDIR/ChangeLog
+ touch -r ChangeLog $DOCSDIR/ChangeLog
+fi
+
+mkdir -p $PKG/install
+cat $CWD/slack-desc > $PKG/install/slack-desc
+zcat $CWD/doinst.sh.gz > $PKG/install/doinst.sh
+
+cd $PKG
+/sbin/makepkg -l y -c n $TMP/dhcp-$PKG_VERSION-$ARCH-$BUILD.txz
+
diff --git a/patches/source/dhcp/doinst.sh b/patches/source/dhcp/doinst.sh
new file mode 100644
index 00000000..a376034a
--- /dev/null
+++ b/patches/source/dhcp/doinst.sh
@@ -0,0 +1,21 @@
+config() {
+ NEW="$1"
+ OLD="$(dirname $NEW)/$(basename $NEW .new)"
+ # If there's no config file by that name, mv it over:
+ if [ ! -r $OLD ]; then
+ mv $NEW $OLD
+ elif [ "$(cat $OLD | md5sum)" = "$(cat $NEW | md5sum)" ]; then
+ # toss the redundant copy
+ rm $NEW
+ fi
+ # Otherwise, we leave the .new copy for the admin to consider...
+}
+
+config etc/dhcpd.conf.new
+config etc/dhclient.conf.new
+config var/state/dhcp/dhcpd.leases.new
+config var/state/dhcp/dhcpd6.leases.new
+config var/state/dhcp/dhclient.leases.new
+config var/state/dhcp/dhclient6.leases.new
+rm -f var/state/dhcp/*.leases.new
+
diff --git a/patches/source/dhcp/slack-desc b/patches/source/dhcp/slack-desc
new file mode 100644
index 00000000..f586e4e1
--- /dev/null
+++ b/patches/source/dhcp/slack-desc
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|'
+# on the right side marks the last column you can put a character in. You must
+# make exactly 11 lines for the formatting to be correct. It's also
+# customary to leave one space after the ':'.
+
+ |-----handy-ruler------------------------------------------------------|
+dhcp: dhcp (DHCP server and client utilities)
+dhcp:
+dhcp: This package provides the ISC's DHCP utilities, including both a
+dhcp: server and client. The DHCP protocol allows a host to contact a
+dhcp: central server which maintains a list of IP addresses which may be
+dhcp: assigned on one or more subnets. A DHCP client may request an
+dhcp: address from this pool, and then use it temporarily for communication
+dhcp: on the network. The DHCP protocol also provides a mechanism whereby
+dhcp: a client can learn important details about the network to which it is
+dhcp: attached, such as the location of a default router or name server.
+dhcp:
diff --git a/patches/source/dhcpcd/COPYRIGHT b/patches/source/dhcpcd/COPYRIGHT
new file mode 100644
index 00000000..07d9e683
--- /dev/null
+++ b/patches/source/dhcpcd/COPYRIGHT
@@ -0,0 +1,26 @@
+/*
+ * dhcpcd - DHCP client daemon
+ * Copyright 2006-2008 Roy Marples <roy@marples.name>
+ * All rights reserved
+
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ */
diff --git a/patches/source/dhcpcd/dhcpcd.SlackBuild b/patches/source/dhcpcd/dhcpcd.SlackBuild
new file mode 100755
index 00000000..75ec85a2
--- /dev/null
+++ b/patches/source/dhcpcd/dhcpcd.SlackBuild
@@ -0,0 +1,127 @@
+#!/bin/sh
+
+# Copyright 2008, 2009, 2011 Patrick J. Volkerding, Sebeka, MN, USA
+# All rights reserved.
+#
+# Redistribution and use of this script, with or without modification, is
+# permitted provided that the following conditions are met:
+#
+# 1. Redistributions of this script must retain the above copyright
+# notice, this list of conditions and the following disclaimer.
+#
+# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED
+# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
+# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
+# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+VERSION=${VERSION:-3.2.3}
+BUILD=${BUILD:-2_slack13.0}
+
+# Automatically determine the architecture we're building on:
+if [ -z "$ARCH" ]; then
+ case "$( uname -m )" in
+ i?86) export ARCH=i486 ;;
+ arm*) export ARCH=arm ;;
+ # Unless $ARCH is already set, use uname -m for all other archs:
+ *) export ARCH=$( uname -m ) ;;
+ esac
+fi
+
+CWD=$(pwd)
+TMP=${TMP:-/tmp}
+PKG=$TMP/package-dhcpcd
+
+if [ "$ARCH" = "i486" ]; then
+ SLKCFLAGS="-O2 -march=i486 -mtune=i686"
+elif [ "$ARCH" = "s390" ]; then
+ SLKCFLAGS="-O2"
+elif [ "$ARCH" = "x86_64" ]; then
+ SLKCFLAGS="-O2 -fPIC"
+fi
+
+rm -rf $PKG
+mkdir -p $TMP $PKG
+cd $TMP
+rm -rf dhcpcd-$VERSION
+tar xvf $CWD/dhcpcd-$VERSION.tar.bz2 || exit 1
+cd dhcpcd-$VERSION
+
+chown -R root:root .
+find . \
+ \( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \
+ -exec chmod 755 {} \; -o \
+ \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \
+ -exec chmod 644 {} \;
+
+# Sanitize shell metacharacters from strings provided by the DHCP server:
+zcat $CWD/patches/dhcpcd3.sanitize_strings.diff.gz | patch -p1 --verbose || exit 1
+
+# This changes the default locations where *.pid and other files are
+# written - instead of various locations, use /etc/dhcpc
+# The latter directory was long traditional, and (more importantly)
+# you can't be sure that /var is mounted yet when dhcpcd is invoked.
+zcat $CWD/patches/config.h.diff.gz | patch -p1 || exit 1
+
+# Fixup the sample dhcpcd.sh script to reflect our changes
+zcat $CWD/patches/dhcpcd.sh.diff.gz | patch -p1 || exit 1
+
+# Fix a typo in the manpage
+zcat $CWD/patches/dhcpcd.8.in.diff.gz | patch -p1 || exit 1
+
+# Disable zeroconf support
+# I'm not sure if this is necessary, to be honest. If we do this though,
+# I think we'll want to edit the man page to remove references to it.
+#sed -i 's%#define ENABLE_IPV4LL%#undef ENABLE_IPV4LL%' config.h
+
+# Fix segfaulting on x86_64. Apparently i?86 is more forgiving
+#zcat $CWD/dhcpcd.vararg.diff.gz | patch -p1 --verbose || exit 1
+
+CFLAGS="$SLKCFLAGS" \
+ make INFODIR=/etc/dhcpc || exit 1
+
+# We'll install this manually, as the only thing "make install" actually
+# installs is the executable and the man page, and the man page goes to
+# the wrong place :-)
+mkdir -p $PKG/sbin
+cp -a dhcpcd $PKG/sbin
+
+mkdir -p $PKG/usr/man/man8
+gzip -9c dhcpcd.8 > $PKG/usr/man/man8/dhcpcd.8.gz
+
+# This script (or its equivalent) has been installed non-executable for
+# several dhcpcd releases leading me to believe this is intentional on the
+# part of the developers. Indeed, the script is called a "sample" in the
+# included comments, and there's been at least one security issue related
+# to its use in the past, so it's probably a safer bet to not install it so
+# that it works "out of the box". However, making it non-executable is not
+# the best solution for this as it leads to error messages in the system
+# logs which I hear about from time to time. Instead, we'll make it
+# executable, but will give it a suffix of -sample so that dhcpcd won't
+# attempt to run it unless the admin specifically configure it to do so.
+# As far as I can tell it does nothing more than add some extra verbosity
+# to the logs anyway, and rc.inet1 already does that. There's really no
+# need that I can see to enable the script.
+mkdir -p $PKG/etc/dhcpc
+cp -a dhcpcd.sh $PKG/etc/dhcpc/dhcpcd.sh-sample
+chmod 755 $PKG/etc/dhcpc/dhcpcd.sh-sample
+
+find $PKG | xargs file | grep -e "executable" -e "shared object" \
+ | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
+
+mkdir -p $PKG/usr/doc/dhcpcd-$VERSION
+cp -a README $PKG/usr/doc/dhcpcd-$VERSION
+zcat $CWD/COPYRIGHT.gz > $PKG/usr/doc/dhcpcd-$VERSION/COPYRIGHT
+
+mkdir -p $PKG/install
+cat $CWD/slack-desc > $PKG/install/slack-desc
+
+cd $PKG
+/sbin/makepkg -l y -c n $TMP/dhcpcd-$VERSION-$ARCH-$BUILD.txz
+
diff --git a/patches/source/dhcpcd/dhcpcd.vararg.diff b/patches/source/dhcpcd/dhcpcd.vararg.diff
new file mode 100644
index 00000000..b3ac81ca
--- /dev/null
+++ b/patches/source/dhcpcd/dhcpcd.vararg.diff
@@ -0,0 +1,30 @@
+--- dhcpcd-2.0.8.orig/src/logger.c 2008-11-07 00:10:23.000000000 +0000
++++ dhcpcd-2.0.8/src/logger.c 2008-11-07 00:13:46.000000000 +0000
+@@ -46,21 +46,25 @@
+ {
+ va_list p;
+ va_list p2;
++ va_list p3;
+ FILE *f = stderr;
+
+ va_start(p, fmt);
+ va_copy(p2, p);
++ va_copy(p3, p);
+ /* The default to send debug to stderr is just WAY too much console noise, IMHO */
+ if(!Daemonized && strcmp(syslog_level_msg[level],"Info")) {
+ f = stdout;
+ /* fprintf(f, "%s, ", syslog_level_msg[level]); */
+ vfprintf(f, fmt, p);
+ fputc('\n', f);
+- vsyslog(level, fmt, p);
++ vsyslog(level, fmt, p2);
+ }
+ if ( level <= LogLevel )
+- vsyslog(level, fmt, p2);
++ vsyslog(level, fmt, p3);
+ va_end(p);
++ va_end(p2);
++ va_end(p3);
+ }
+
+ // vim: set ts=4 :
diff --git a/patches/source/dhcpcd/patches/config.h.diff b/patches/source/dhcpcd/patches/config.h.diff
new file mode 100644
index 00000000..7bdefb60
--- /dev/null
+++ b/patches/source/dhcpcd/patches/config.h.diff
@@ -0,0 +1,17 @@
+diff -Nur dhcpcd-3.2.3.orig/config.h dhcpcd-3.2.3/config.h
+--- dhcpcd-3.2.3.orig/config.h 2008-02-25 02:28:19.000000000 -0600
++++ dhcpcd-3.2.3/config.h 2009-03-06 14:55:01.998436374 -0600
+@@ -71,10 +71,10 @@
+
+ #define OPENNTPFILE ETCDIR "/ntpd.conf"
+
+-#define DEFAULT_SCRIPT ETCDIR "/" PACKAGE ".sh"
++#define DEFAULT_SCRIPT INFODIR "/" PACKAGE ".sh"
+
+-#define STATEDIR "/var"
+-#define PIDFILE STATEDIR "/run/" PACKAGE "-%s.pid"
++#define STATEDIR INFODIR
++#define PIDFILE INFODIR "/" PACKAGE "-%s.pid"
+
+ #ifndef INFODIR
+ # define INFODIR "/var/lib/dhcpcd"
diff --git a/patches/source/dhcpcd/patches/dhcpcd.8.in.diff b/patches/source/dhcpcd/patches/dhcpcd.8.in.diff
new file mode 100644
index 00000000..7486c769
--- /dev/null
+++ b/patches/source/dhcpcd/patches/dhcpcd.8.in.diff
@@ -0,0 +1,12 @@
+diff -Nur dhcpcd-3.2.3.orig/dhcpcd.8.in dhcpcd-3.2.3/dhcpcd.8.in
+--- dhcpcd-3.2.3.orig/dhcpcd.8.in 2008-02-25 02:28:19.000000000 -0600
++++ dhcpcd-3.2.3/dhcpcd.8.in 2009-03-06 19:36:02.207109931 -0600
+@@ -117,7 +117,7 @@
+ up, down or new depending on the state of
+ .Nm .
+ .Nm
+-ignores the exist code of the script.
++ignores the exit code of the script.
+ .Ss Fine tuning
+ You can fine tune the behaviour of
+ .Nm
diff --git a/patches/source/dhcpcd/patches/dhcpcd.sh.diff b/patches/source/dhcpcd/patches/dhcpcd.sh.diff
new file mode 100644
index 00000000..290665a9
--- /dev/null
+++ b/patches/source/dhcpcd/patches/dhcpcd.sh.diff
@@ -0,0 +1,17 @@
+--- a/dhcpcd.sh 2009-03-06 19:22:41.247171672 -0600
++++ b/dhcpcd.sh 2009-03-06 19:24:19.186014526 -0600
+@@ -1,10 +1,10 @@
+ #!/bin/sh
+ #
+-# This is a sample /etc/dhcpcd.sh script.
+-# /etc/dhcpcd.sh script is executed by dhcpcd daemon
++# This is a sample /etc/dhcpc/dhcpcd.sh script.
++# /etc/dhcpc/dhcpcd.sh script is executed by dhcpcd daemon
+ # any time it configures or shuts down interface.
+-# The following parameters are passed to dhcpcd.exe script:
+-# $1 = HostInfoFilePath, e.g "/var/lib/dhcpcd/dhcpcd-eth0.info"
++# The following parameters are passed to the dhcpcd.sh script:
++# $1 = HostInfoFilePath, e.g "/etc/dhcpc/dhcpcd-eth0.info"
+ # $2 = "up" if interface has been configured with the same
+ # IP address as before reboot;
+ # $2 = "down" if interface has been shut down;
diff --git a/patches/source/dhcpcd/patches/dhcpcd3.sanitize_strings.diff b/patches/source/dhcpcd/patches/dhcpcd3.sanitize_strings.diff
new file mode 100644
index 00000000..406846f3
--- /dev/null
+++ b/patches/source/dhcpcd/patches/dhcpcd3.sanitize_strings.diff
@@ -0,0 +1,346 @@
+From 1e664b472a2a915ad31567de729ee0a521db93d0 Mon Sep 17 00:00:00 2001
+From: Marius Tomaschewski <mt@suse.de>
+Date: Thu, 17 Mar 2011 22:18:16 +0100
+Subject: [PATCH] Discard string options with incorrect values
+
+Discard string options such as host and domain names
+containing disallowed characters or beeing too long.
+This proctive patch limits root-path to the a-zA-Z0-9,
+space and the #%+-_:.,@~/\[]= characters.
+
+Signed-off-by: Marius Tomaschewski <mt@suse.de>
+---
+ configure.c | 15 +++---
+ dhcp.c | 160 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++--
+ dhcp.h | 8 +++
+ dhcpcd.c | 9 +++-
+ 4 files changed, 177 insertions(+), 15 deletions(-)
+
+diff --git a/configure.c b/configure.c
+index 0969f73..24dd6e8 100644
+--- a/configure.c
++++ b/configure.c
+@@ -453,7 +453,7 @@ static char *lookuphostname (char *hostname, const dhcp_t *dhcp,
+ char *addr;
+ struct addrinfo hints;
+ struct addrinfo *res = NULL;
+- int result;
++ int result, check;
+ char *p;
+
+ logger (LOG_DEBUG, "Looking up hostname via DNS");
+@@ -479,9 +479,10 @@ static char *lookuphostname (char *hostname, const dhcp_t *dhcp,
+ result = getaddrinfo (addr, "0", &hints, &res);
+ if (res)
+ freeaddrinfo (res);
+- if (result == 0)
++ check = check_domain_name(addr, strlen(addr), 0);
++ if (result == 0 || check != 0)
+ logger (LOG_ERR, "malicious PTR record detected");
+- if (result == 0 || ! *addr) {
++ if (result == 0 || ! *addr || check != 0) {
+ free (addr);
+ return (NULL);
+ }
+@@ -758,12 +759,12 @@ int configure (const options_t *options, interface_t *iface,
+ #endif
+
+ curhostname = xmalloc (sizeof (char) * MAXHOSTNAMELEN);
+- *curhostname = '\0';
++ memset(curhostname, 0, MAXHOSTNAMELEN);
+
+- gethostname (curhostname, MAXHOSTNAMELEN);
++ gethostname (curhostname, MAXHOSTNAMELEN - 1);
++ curhostname[MAXHOSTNAMELEN - 1] = '\0';
+ if (options->dohostname ||
+- strlen (curhostname) == 0 ||
+- strcmp (curhostname, "(none)") == 0 ||
++ check_domain_name(curhostname, strlen (curhostname), 0) != 0 ||
+ strcmp (curhostname, "localhost") == 0)
+ {
+ newhostname = xmalloc (sizeof (char) * MAXHOSTNAMELEN);
+diff --git a/dhcp.c b/dhcp.c
+index 8ed66da..5165078 100644
+--- a/dhcp.c
++++ b/dhcp.c
+@@ -41,6 +41,8 @@
+ #include <stdint.h>
+ #include <stdlib.h>
+ #include <string.h>
++#include <stddef.h>
++#include <ctype.h>
+
+ #include "config.h"
+
+@@ -618,6 +620,106 @@ static struct route_head *decode_routers (const unsigned char *data, int length)
+ return (head);
+ }
+
++int check_domain_name(const char *ptr, size_t len, int dots)
++{
++ const char *p;
++
++ /* not empty or complete length not over 255 characters */
++ if (len == 0 || len > 256)
++ return -1;
++
++ /* consists of [[:alnum:]-]+ labels separated by [.] */
++ /* a [_] is against RFC but seems to be "widely used"... */
++ for (p=ptr; *p && len-- > 0; p++) {
++ if ( *p == '-' || *p == '_') {
++ /* not allowed at begin or end of a label */
++ if ((p - ptr) == 0 || len == 0 || p[1] == '.')
++ return -1;
++ } else
++ if ( *p == '.') {
++ /* each label has to be 1-63 characters;
++ we allow [.] at the end ('foo.bar.') */
++ ptrdiff_t d = p - ptr;
++ if( d <= 0 || d >= 64)
++ return -1;
++ ptr = p + 1; /* jump to the next label */
++ if(dots > 0 && len > 0)
++ dots--;
++ } else
++ if ( !isalnum((int)*p)) {
++ /* also numbers at the begin are fine */
++ return -1;
++ }
++ }
++ return dots ? -1 : 0;
++}
++
++int check_domain_name_list(const char *ptr, size_t len, int dots)
++{
++ const char *p;
++ int ret = -1; /* at least one needed */
++
++ if (!ptr || !len)
++ return -1;
++
++ for (p=ptr; *p && len > 0; p++, len--) {
++ if (*p != ' ')
++ continue;
++ if (p > ptr) {
++ if (check_domain_name(ptr, p - ptr, dots) != 0)
++ return -1;
++ ret = 0;
++ }
++ ptr = p + 1;
++ }
++ if (p > ptr)
++ return check_domain_name(ptr, p - ptr, dots);
++ else
++ return ret;
++}
++
++int check_dhcpoption(unsigned char option, const char *ptr, size_t len)
++{
++ if( !ptr)
++ return -1;
++
++ switch (option) {
++ case DHCP_NETBIOSNODETYPE:
++ if(len == 1 && ((int)*ptr == 1 || (int)*ptr == 2 ||
++ (int)*ptr == 4 || (int)*ptr == 8))
++ return 0;
++ break;
++ case DHCP_HOSTNAME:
++ case DHCP_DNSDOMAIN:
++ case DHCP_NISDOMAIN:
++ case DHCP_NETBIOSSCOPE:
++ return check_domain_name(ptr, len, 0);
++ break;
++ case DHCP_SIPSERVER:
++ case DHCP_DNSSEARCH:
++ return check_domain_name_list(ptr, len, 0);
++ break;
++ case DHCP_ROOTPATH:
++ if( len == 0)
++ return -1;
++ for (; *ptr && len-- > 0; ptr++) {
++ if( !(isalnum((int)*ptr) ||
++ *ptr == '#' || *ptr == '%' ||
++ *ptr == '+' || *ptr == '-' ||
++ *ptr == '_' || *ptr == ':' ||
++ *ptr == '.' || *ptr == ',' ||
++ *ptr == '@' || *ptr == '~' ||
++ *ptr == '\\' || *ptr == '/' ||
++ *ptr == '[' || *ptr == ']' ||
++ *ptr == '=' || *ptr == ' '))
++ return -1;
++ }
++ return 0;
++ break;
++ }
++ return -1;
++}
++
+ int parse_dhcpmessage (dhcp_t *dhcp, const dhcpmessage_t *message)
+ {
+ const unsigned char *p = message->options;
+@@ -646,8 +748,16 @@ int parse_dhcpmessage (dhcp_t *dhcp, const dhcpmessage_t *message)
+ dhcp->leasedfrom = tv.tv_sec;
+ dhcp->frominfo = false;
+ dhcp->address.s_addr = message->yiaddr;
+- strlcpy (dhcp->servername, (char *) message->servername,
+- sizeof (dhcp->servername));
++ if (message->servername[0] != '\0' &&
++ check_domain_name((const char *)message->servername,
++ strlen((const char *)message->servername), 0) != 0)
++ {
++ logger (LOG_ERR, "suspect value in SERVERNAME - discarded");
++ dhcp->servername[0] = '\0';
++ } else {
++ strlcpy (dhcp->servername, (char *) message->servername,
++ sizeof (dhcp->servername));
++ }
+
+ #define LEN_ERR \
+ { \
+@@ -768,10 +878,20 @@ parse_start:
+ memcpy (_var, p, (size_t) length); \
+ memset (_var + length, 0, 1); \
+ }
++#define CHECKOPT(_opt,_var) \
++ if(check_dhcpoption(_opt, (const char *)p, length) != 0) { \
++ logger (LOG_ERR, "suspect value in option %s - discarded", #_opt); \
++ if (_var) free (_var); \
++ _var = NULL; \
++ }
+ case DHCP_HOSTNAME:
++ CHECKOPT (DHCP_HOSTNAME, dhcp->hostname)
++ else
+ GETSTR (dhcp->hostname);
+ break;
+ case DHCP_DNSDOMAIN:
++ CHECKOPT (DHCP_DNSDOMAIN, dhcp->dnsdomain)
++ else
+ GETSTR (dhcp->dnsdomain);
+ break;
+ case DHCP_MESSAGE:
+@@ -779,11 +899,15 @@ parse_start:
+ break;
+ #ifdef ENABLE_INFO
+ case DHCP_ROOTPATH:
++ CHECKOPT (DHCP_ROOTPATH, dhcp->rootpath)
++ else
+ GETSTR (dhcp->rootpath);
+ break;
+ #endif
+ #ifdef ENABLE_NIS
+ case DHCP_NISDOMAIN:
++ CHECKOPT (DHCP_NISDOMAIN, dhcp->nisdomain)
++ else
+ GETSTR (dhcp->nisdomain);
+ break;
+ #endif
+@@ -814,11 +938,21 @@ parse_start:
+ case DHCP_DNSSEARCH:
+ MIN_LENGTH (1);
+ free (dhcp->dnssearch);
++ dhcp->dnssearch = NULL;
+ len = decode_search (p, length, NULL);
+ if (len > 0) {
+- dhcp->dnssearch = xmalloc (len);
+- decode_search (p, length,
+- dhcp->dnssearch);
++ char *str = xmalloc (len);
++ decode_search (p, length, str);
++ if(check_dhcpoption(DHCP_DNSSEARCH,
++ str, len - 1) != 0) {
++ logger (LOG_ERR,
++ "suspect value in "
++ "option %s - discarded",
++ "DHCP_DNSSEARCH");
++ free(str);
++ } else {
++ dhcp->dnssearch = str;
++ }
+ }
+ break;
+
+@@ -837,7 +971,20 @@ parse_start:
+ #ifdef ENABLE_INFO
+ case DHCP_SIPSERVER:
+ free (dhcp->sipservers);
+- dhcp->sipservers = decode_sipservers (p,length);
++ dhcp->sipservers = NULL;
++ {
++ char *str = decode_sipservers (p,length);
++ if(check_dhcpoption(DHCP_SIPSERVER,
++ str, strlen(str)) != 0) {
++ logger (LOG_ERR,
++ "suspect value in "
++ "option %s - discarded",
++ "DHCP_SIPSERVER");
++ free(str);
++ } else {
++ dhcp->sipservers = str;
++ }
++ }
+ break;
+ #endif
+
+@@ -873,6 +1020,7 @@ parse_start:
+ #undef LENGTH
+ #undef MIN_LENGTH
+ #undef MULT_LENGTH
++#undef CHECKOPT
+
+ default:
+ logger (LOG_DEBUG,
+diff --git a/dhcp.h b/dhcp.h
+index cc66d13..d2cdc45 100644
+--- a/dhcp.h
++++ b/dhcp.h
+@@ -86,6 +86,10 @@ enum DHCP_OPTIONS
+ DHCP_NISDOMAIN = 40,
+ DHCP_NISSERVER = 41,
+ DHCP_NTPSERVER = 42,
++ DHCP_NETBIOSNAMESERVER = 44,
++ DHCP_NETBIOSDDSERVER = 45,
++ DHCP_NETBIOSNODETYPE = 46,
++ DHCP_NETBIOSSCOPE = 47,
+ DHCP_ADDRESS = 50,
+ DHCP_LEASETIME = 51,
+ DHCP_OPTIONSOVERLOADED = 52,
+@@ -213,4 +217,8 @@ ssize_t send_message (const interface_t *iface, const dhcp_t *dhcp,
+ void free_dhcp (dhcp_t *dhcp);
+ int parse_dhcpmessage (dhcp_t *dhcp, const dhcpmessage_t *message);
+
++int check_dhcpoption (unsigned char option, const char *ptr, size_t len);
++int check_domain_name(const char *ptr, size_t len, int dots);
++int check_domain_name_list(const char *ptr, size_t len, int dots);
++
+ #endif
+diff --git a/dhcpcd.c b/dhcpcd.c
+index e101847..318dd7f 100644
+--- a/dhcpcd.c
++++ b/dhcpcd.c
+@@ -178,8 +178,10 @@ int main(int argc, char **argv)
+ options->doduid = true;
+ options->timeout = DEFAULT_TIMEOUT;
+
+- gethostname (options->hostname, sizeof (options->hostname));
+- if (strcmp (options->hostname, "(none)") == 0 ||
++ memset (options->hostname, 0, sizeof (options->hostname));
++ gethostname (options->hostname, sizeof (options->hostname) - 1);
++ options->hostname[sizeof (options->hostname) - 1] = '\0';
++ if (check_domain_name(options->hostname, strlen(options->hostname), 0) != 0 ||
+ strcmp (options->hostname, "localhost") == 0)
+ memset (options->hostname, 0, sizeof (options->hostname));
+
+@@ -228,6 +230,9 @@ int main(int argc, char **argv)
+ "`%s' too long for HostName string, max is %d",
+ optarg, MAXHOSTNAMELEN);
+ goto abort;
++ } else if(check_domain_name(optarg, strlen(optarg), 0) != 0) {
++ logger (LOG_ERR, "suspect string in hostname argument");
++ goto abort;
+ } else
+ strlcpy (options->hostname, optarg,
+ sizeof (options->hostname));
+--
+1.7.1
+
diff --git a/patches/source/dhcpcd/slack-desc b/patches/source/dhcpcd/slack-desc
new file mode 100644
index 00000000..04859d7c
--- /dev/null
+++ b/patches/source/dhcpcd/slack-desc
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|'
+# on the right side marks the last column you can put a character in. You must
+# make exactly 11 lines for the formatting to be correct. It's also
+# customary to leave one space after the ':'.
+
+ |-----handy-ruler------------------------------------------------------|
+dhcpcd: dhcpcd (DHCP client daemon)
+dhcpcd:
+dhcpcd: The DHCP client program dhcpcd is used to connect to a network by
+dhcpcd: contacting a DHCP server. dhcpcd gets an IP address and other
+dhcpcd: information from a corresponding DHCP server, configures the network
+dhcpcd: interface automatically, and tries to renew the lease time according
+dhcpcd: to RFC2131 or RFC1541 depending on the command line option.
+dhcpcd:
+dhcpcd:
+dhcpcd:
+dhcpcd:
diff --git a/patches/source/dnsmasq/dnsmasq.SlackBuild b/patches/source/dnsmasq/dnsmasq.SlackBuild
new file mode 100755
index 00000000..a9c5c046
--- /dev/null
+++ b/patches/source/dnsmasq/dnsmasq.SlackBuild
@@ -0,0 +1,107 @@
+#!/bin/sh
+
+# Copyright 2008, 2009, 2010, 2015, 2017 Patrick J. Volkerding, Sebeka, MN, USA
+# All rights reserved.
+#
+# Redistribution and use of this script, with or without modification, is
+# permitted provided that the following conditions are met:
+#
+# 1. Redistributions of this script must retain the above copyright
+# notice, this list of conditions and the following disclaimer.
+#
+# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED
+# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
+# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
+# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+VERSION=${VERSION:-$(echo dnsmasq-*.tar.xz | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
+BUILD=${BUILD:-1_slack13.0}
+
+NUMJOBS=${NUMJOBS:-" -j7 "}
+
+# Automatically determine the architecture we're building on:
+if [ -z "$ARCH" ]; then
+ case "$( uname -m )" in
+ i?86) export ARCH=i486 ;;
+ arm*) export ARCH=arm ;;
+ # Unless $ARCH is already set, use uname -m for all other archs:
+ *) export ARCH=$( uname -m ) ;;
+ esac
+fi
+
+CWD=$(pwd)
+TMP=${TMP:-/tmp}
+PKG=$TMP/package-dnsmasq
+
+rm -rf $PKG
+mkdir -p $TMP $PKG
+cd $TMP
+rm -rf dnsmasq-$VERSION
+tar xvf $CWD/dnsmasq-$VERSION.tar.xz || exit 1
+cd dnsmasq-$VERSION || exit 1
+chown -R root:root .
+find . \
+ \( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \
+ -exec chmod 755 {} \; -o \
+ \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \
+ -exec chmod 644 {} \;
+
+zcat $CWD/dnsmasq.leasedir.diff.gz | patch -p1 --verbose --backup --suffix=.orig || exit 1
+
+make $NUMJOBS all-i18n PREFIX=/usr MANDIR=/usr/man || exit 1
+make install-i18n PREFIX=/usr DESTDIR=$PKG MANDIR=/usr/man || exit 1
+chmod 0755 $PKG/usr/sbin/dnsmasq
+
+mkdir -p $PKG/etc/dnsmasq.d
+
+if [ -d $PKG/usr/man ]; then
+ ( cd $PKG/usr/man
+ for manpagedir in $(find . -type d -name "man*") ; do
+ ( cd $manpagedir
+ for eachpage in $( find . -type l -maxdepth 1) ; do
+ ln -s $( readlink $eachpage ).gz $eachpage.gz
+ rm $eachpage
+ done
+ gzip -9 *.?
+ )
+ done
+ )
+fi
+
+mkdir -p $PKG/var/state/dnsmasq
+
+find $PKG | xargs file | grep -e "executable" -e "shared object" \
+ | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
+
+mkdir -p $PKG/etc
+cat dnsmasq.conf.example > $PKG/etc/dnsmasq.conf.new
+mkdir -p $PKG/etc/rc.d
+zcat $CWD/rc.dnsmasq.gz > $PKG/etc/rc.d/rc.dnsmasq.new
+
+mkdir -p $PKG/usr/doc/dnsmasq-$VERSION
+cp -a \
+ COPYING FAQ doc.html setup.html \
+ $PKG/usr/doc/dnsmasq-$VERSION
+
+# If there's a ChangeLog, installing at least part of the recent history
+# is useful, but don't let it get totally out of control:
+if [ -r CHANGELOG ]; then
+ DOCSDIR=$(echo $PKG/usr/doc/*-$VERSION)
+ cat CHANGELOG | head -n 1000 > $DOCSDIR/CHANGELOG
+ touch -r CHANGELOG $DOCSDIR/CHANGELOG
+fi
+
+mkdir -p $PKG/install
+cat $CWD/slack-desc > $PKG/install/slack-desc
+zcat $CWD/doinst.sh.gz > $PKG/install/doinst.sh
+
+cd $PKG
+/sbin/makepkg -l y -c n $TMP/dnsmasq-$VERSION-$ARCH-$BUILD.txz
+
diff --git a/patches/source/dnsmasq/dnsmasq.leasedir.diff b/patches/source/dnsmasq/dnsmasq.leasedir.diff
new file mode 100644
index 00000000..9fec6b43
--- /dev/null
+++ b/patches/source/dnsmasq/dnsmasq.leasedir.diff
@@ -0,0 +1,24 @@
+diff -Nur dnsmasq-2.52.orig/dnsmasq.conf.example dnsmasq-2.52/dnsmasq.conf.example
+--- dnsmasq-2.52.orig/dnsmasq.conf.example 2009-11-25 06:55:16.000000000 -0600
++++ dnsmasq-2.52/dnsmasq.conf.example 2010-01-22 15:32:41.137807274 -0600
+@@ -415,7 +415,7 @@
+ # The DHCP server needs somewhere on disk to keep its lease database.
+ # This defaults to a sane location, but if you want to change it, use
+ # the line below.
+-#dhcp-leasefile=/var/lib/misc/dnsmasq.leases
++#dhcp-leasefile=/var/state/dnsmasq/dnsmasq.leases
+
+ # Set the DHCP server to authoritative mode. In this mode it will barge in
+ # and take over the lease for any client which broadcasts on the network,
+diff -Nur dnsmasq-2.52.orig/src/config.h dnsmasq-2.52/src/config.h
+--- dnsmasq-2.52.orig/src/config.h 2010-01-21 08:22:06.000000000 -0600
++++ dnsmasq-2.52/src/config.h 2010-01-22 15:32:41.136833058 -0600
+@@ -47,7 +47,7 @@
+ # elif defined(__sun__) || defined (__sun)
+ # define LEASEFILE "/var/cache/dnsmasq.leases"
+ # else
+-# define LEASEFILE "/var/lib/misc/dnsmasq.leases"
++# define LEASEFILE "/var/state/dnsmasq/dnsmasq.leases"
+ # endif
+ #endif
+
diff --git a/patches/source/dnsmasq/doinst.sh b/patches/source/dnsmasq/doinst.sh
new file mode 100644
index 00000000..9aadc3e5
--- /dev/null
+++ b/patches/source/dnsmasq/doinst.sh
@@ -0,0 +1,26 @@
+config() {
+ NEW="$1"
+ OLD="$(dirname $NEW)/$(basename $NEW .new)"
+ # If there's no config file by that name, mv it over:
+ if [ ! -r $OLD ]; then
+ mv $NEW $OLD
+ elif [ "$(cat $OLD | md5sum)" = "$(cat $NEW | md5sum)" ]; then # toss the redundant copy
+ rm $NEW
+ fi
+ # Otherwise, we leave the .new copy for the admin to consider...
+}
+preserve_perms() {
+ NEW="$1"
+ OLD="$(dirname ${NEW})/$(basename ${NEW} .new)"
+ if [ -e ${OLD} ]; then
+ cp -a ${OLD} ${NEW}.incoming
+ cat ${NEW} > ${NEW}.incoming
+ mv ${NEW}.incoming ${NEW}
+ fi
+ config ${NEW}
+}
+config etc/dnsmasq.conf.new
+preserve_perms etc/rc.d/rc.dnsmasq.new
+
+# This should be mostly useless...
+rm -f etc/rc.d/rc.dnsmasq.new
diff --git a/patches/source/dnsmasq/rc.dnsmasq b/patches/source/dnsmasq/rc.dnsmasq
new file mode 100644
index 00000000..ce584cbd
--- /dev/null
+++ b/patches/source/dnsmasq/rc.dnsmasq
@@ -0,0 +1,36 @@
+#!/bin/sh
+# Start/stop/restart dnsmasq (a small DNS/DHCP server):
+
+# Start dnsmasq:
+dnsmasq_start() {
+ if [ -x /usr/sbin/dnsmasq ]; then
+ echo "Starting dnsmasq: /usr/sbin/dnsmasq"
+ /usr/sbin/dnsmasq
+ fi
+}
+
+# Stop dnsmasq:
+dnsmasq_stop() {
+ killall dnsmasq
+}
+
+# Restart dnsmasq:
+dnsmasq_restart() {
+ dnsmasq_stop
+ sleep 1
+ dnsmasq_start
+}
+
+case "$1" in
+'start')
+ dnsmasq_start
+ ;;
+'stop')
+ dnsmasq_stop
+ ;;
+'restart')
+ dnsmasq_restart
+ ;;
+*)
+ echo "usage rc.dnsmasq: start|stop|restart"
+esac
diff --git a/patches/source/dnsmasq/slack-desc b/patches/source/dnsmasq/slack-desc
new file mode 100644
index 00000000..3db2c42e
--- /dev/null
+++ b/patches/source/dnsmasq/slack-desc
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|' on
+# the right side marks the last column you can put a character in. You must make
+# exactly 11 lines for the formatting to be correct. It's also customary to
+# leave one space after the ':'.
+
+ |-----handy-ruler------------------------------------------------------|
+dnsmasq: dnsmasq (small DNS and DHCP server)
+dnsmasq:
+dnsmasq: Dnsmasq is a lightweight, easy to configure DNS forwarder and DHCP
+dnsmasq: server. It is designed to provide DNS (and optionally DHCP) to a
+dnsmasq: small network, and can serve the names of local machines which are not
+dnsmasq: in the global DNS.
+dnsmasq:
+dnsmasq: Dnsmasq was written by Simon Kelley.
+dnsmasq:
+dnsmasq: Homepage: http://www.thekelleys.org.uk/dnsmasq/
+dnsmasq:
diff --git a/patches/source/emacs/doinst.sh b/patches/source/emacs/doinst.sh
new file mode 100644
index 00000000..64a3adff
--- /dev/null
+++ b/patches/source/emacs/doinst.sh
@@ -0,0 +1,10 @@
+# Vim ships a better (IMHO) version of ctags, and we don't want
+# to overwrite it with this one. If you really want emacs' ctags
+# either copy or link it into place yourself, or remove the vim
+# packages and reinstall emacs. Besides, does anyone know/use
+# *both* emacs and vi? I'd think that would bring the universe
+# to an end. ;-)
+if [ ! -e usr/bin/ctags ]; then
+ cp -a usr/bin/ctags-emacs usr/bin/ctags
+ cp -a usr/man/man1/ctags-emacs.1.gz usr/man/man1/ctags.1.gz
+fi
diff --git a/patches/source/emacs/emacs.SlackBuild b/patches/source/emacs/emacs.SlackBuild
new file mode 100755
index 00000000..ecc972e6
--- /dev/null
+++ b/patches/source/emacs/emacs.SlackBuild
@@ -0,0 +1,190 @@
+#!/bin/sh
+
+# Copyright 2008, 2009, 2010, 2011, 2012, 2014, 2015, 2017 Patrick J. Volkerding, Sebeka, MN, USA
+# All rights reserved.
+#
+# Redistribution and use of this script, with or without modification, is
+# permitted provided that the following conditions are met:
+#
+# 1. Redistributions of this script must retain the above copyright
+# notice, this list of conditions and the following disclaimer.
+#
+# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED
+# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
+# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
+# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+# Slackware build script for emacs-22
+
+# Written by Dušan Stefanović (stefanovic.dusan@gmail.com)
+# Modified by Robby Workman <rworkman@slackbuilds.org>
+# Modified by Patrick Volkerding <volkerdi@slackware.com>
+
+PKGNAM=emacs
+BUILD=${BUILD:-1_slack13.0}
+# Determine version number the tarball is labeled with:
+TARBALLVER=${TARBALLVER:-$(echo $PKGNAM-*.tar.xz | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
+# OK, now what's being used as the source directory version number... account
+# for subversions a, b, c, and d in the $TARBALLVER:
+SRCDIRVER=$(echo $TARBALLVER | tr -d a | tr -d b | tr -d c | tr -d d)
+# I guess this is the main "version"... we don't use this variable anywhere below, but
+# defining it is traditional:
+VERSION=$SRCDIRVER
+
+# Automatically determine the architecture we're building on:
+if [ -z "$ARCH" ]; then
+ case "$(uname -m)" in
+ i?86) ARCH=i486 ;;
+ arm*) readelf /usr/bin/file -A | egrep -q "Tag_CPU.*[4,5]" && ARCH=arm || ARCH=armv7hl ;;
+ # Unless $ARCH is already set, use uname -m for all other archs:
+ *) ARCH=$(uname -m) ;;
+ esac
+ export ARCH
+fi
+
+if [ "$ARCH" = "i486" ]; then
+ SLKCFLAGS="-O2 -march=i486 -mtune=i686"
+elif [ "$ARCH" = "i686" ]; then
+ SLKCFLAGS="-O2 -march=i686 -mtune=i686"
+elif [ "$ARCH" = "s390" ]; then
+ SLKCFLAGS="-O2"
+elif [ "$ARCH" = "x86_64" ]; then
+ SLKCFLAGS="-O2 -fPIC"
+elif [ "$ARCH" = "armv7hl" ]; then
+ SLKCFLAGS="-O2 -march=armv7-a -mfpu=vfpv3-d16"
+else
+ SLKCFLAGS="-O2"
+fi
+
+NUMJOBS=${NUMJOBS:-" -j7 "}
+
+CWD=$(pwd)
+TMP=${TMP:-/tmp}
+PKG=$TMP/package-$PKGNAM
+
+rm -rf $PKG
+mkdir -p $TMP $PKG
+cd $TMP
+rm -rf $PKGNAM-$TARBALLVER
+tar xvf $CWD/$PKGNAM-$TARBALLVER.tar.xz || exit 1
+cd $PKGNAM-$SRCDIRVER || exit 1
+
+chown -R root:root .
+find . \
+ \( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \
+ -exec chmod 755 {} \; -o \
+ \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \
+ -exec chmod 644 {} \;
+
+CFLAGS="$SLKCFLAGS" \
+CXXFLAGS="$SLKCFLAGS" \
+./configure \
+ --prefix=/usr \
+ --sysconfdir=/etc \
+ --localstatedir=/var \
+ --program-prefix="" \
+ --program-suffix="" \
+ --mandir=/usr/man \
+ --infodir=/usr/info \
+ --without-gconf \
+ --without-gsettings \
+ --with-x \
+ --with-x-toolkit=gtk2 \
+ --build=${ARCH}-slackware-linux || exit 1
+
+make $NUMJOBS || make || exit 1
+make install DESTDIR=$PKG || exit 1
+
+( cd $PKG/usr/bin
+ rm emacs
+ mv emacs-${SRCDIRVER} emacs-${TARBALLVER}-with-x11
+ ln -sf emacs-${TARBALLVER}-with-x11 emacs
+)
+
+# Also add a version of the binary that is not linked to X11:
+cd $TMP
+rm -rf $PKGNAM-$TARBALLVER
+tar xvf $CWD/$PKGNAM-$TARBALLVER.tar.xz || exit 1
+cd $PKGNAM-$SRCDIRVER || exit 1
+
+chown -R root:root .
+find . \
+ \( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \
+ -exec chmod 755 {} \; -o \
+ \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \
+ -exec chmod 644 {} \;
+
+CFLAGS="$SLKCFLAGS" \
+CXXFLAGS="$SLKCFLAGS" \
+./configure \
+ --prefix=/usr \
+ --sysconfdir=/etc \
+ --localstatedir=/var \
+ --program-prefix="" \
+ --program-suffix="" \
+ --mandir=/usr/man \
+ --infodir=/usr/info \
+ --without-gconf \
+ --without-gsettings \
+ --with-x=no \
+ --build=${ARCH}-slackware-linux || exit 1
+
+make $NUMJOBS || make || exit 1
+
+# Install the non-x version:
+cat src/emacs > $PKG/usr/bin/emacs-${TARBALLVER}-no-x11
+chown root:root $PKG/usr/bin/emacs-${TARBALLVER}-no-x11
+chmod 1755 $PKG/usr/bin/emacs-${TARBALLVER}-no-x11
+
+# I don't care for broken permissions.
+chmod 755 $PKG/var/games/emacs
+chown -R root:games $PKG/var/games/emacs
+chmod 664 $PKG/var/games/emacs/*
+
+# This avoids a collision with Exuberant Ctags...
+mv $PKG/usr/bin/ctags $PKG/usr/bin/ctags-emacs
+if [ -r $PKG/usr/man/man1/ctags.1 ]; then
+ mv $PKG/usr/man/man1/ctags.1 $PKG/usr/man/man1/ctags-emacs.1
+elif [ -r $PKG/usr/man/man1/ctags.1.gz ]; then
+ mv $PKG/usr/man/man1/ctags.1.gz $PKG/usr/man/man1/ctags-emacs.1.gz
+fi
+
+find $PKG | xargs file | grep -e "executable" -e "shared object" \
+ | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
+
+( cd $PKG/usr/man
+ find . -type f -exec gzip -9 {} \;
+ for i in $(find . -type l) ; do ln -s $( readlink $i ).gz $i.gz ; rm $i ; done
+)
+
+( cd $PKG/usr/info
+ rm -f dir
+ gzip -9 *
+)
+
+mkdir -p $PKG/usr/doc/$PKGNAM-$TARBALLVER
+cp -a \
+ AUTHORS COPYING* INSTALL README* \
+ $PKG/usr/doc/$PKGNAM-$TARBALLVER
+
+# If there's a ChangeLog, installing at least part of the recent history
+# is useful, but don't let it get totally out of control:
+if [ -r ChangeLog ]; then
+ DOCSDIR=$(echo $PKG/usr/doc/${PKGNAM}-$TARBALLVER)
+ cat ChangeLog | head -n 1000 > $DOCSDIR/ChangeLog
+ touch -r ChangeLog $DOCSDIR/ChangeLog
+fi
+
+mkdir -p $PKG/install
+cat $CWD/slack-desc > $PKG/install/slack-desc
+zcat $CWD/doinst.sh.gz > $PKG/install/doinst.sh
+
+cd $PKG
+/sbin/makepkg -l y -c n $TMP/$PKGNAM-$TARBALLVER-$ARCH-$BUILD.txz
+
diff --git a/patches/source/emacs/slack-desc b/patches/source/emacs/slack-desc
new file mode 100644
index 00000000..94ba8e13
--- /dev/null
+++ b/patches/source/emacs/slack-desc
@@ -0,0 +1,12 @@
+ |-----handy-ruler------------------------------------------------------|
+emacs: emacs (GNU Emacs)
+emacs:
+emacs: Emacs is the extensible, customizable, self-documenting real-time
+emacs: display editor. If this seems to be a bit of a mouthful, an
+emacs: easier explanation is that Emacs is a text editor and more. At
+emacs: its core is an interpreter for Emacs Lisp, a dialect of the Lisp
+emacs: programming language with extensions to support text editing.
+emacs: This version supports X.
+emacs:
+emacs: http://www.gnu.org/software/emacs/
+emacs:
diff --git a/patches/source/expat/expat.SlackBuild b/patches/source/expat/expat.SlackBuild
new file mode 100755
index 00000000..96aea521
--- /dev/null
+++ b/patches/source/expat/expat.SlackBuild
@@ -0,0 +1,101 @@
+#!/bin/sh
+
+# Copyright 2008, 2009, 2010, 2011, 2013, 2017 Patrick J. Volkerding, Sebeka, Minnesota, USA
+# All rights reserved.
+#
+# Redistribution and use of this script, with or without modification, is
+# permitted provided that the following conditions are met:
+#
+# 1. Redistributions of this script must retain the above copyright
+# notice, this list of conditions and the following disclaimer.
+#
+# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED
+# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
+# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
+# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+PKGNAM=expat
+VERSION=${VERSION:-$(echo $PKGNAM-*.tar.?z* | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
+BUILD=${BUILD:-1_slack13.0}
+
+# Automatically determine the architecture we're building on:
+if [ -z "$ARCH" ]; then
+ case "$( uname -m )" in
+ i?86) export ARCH=i486 ;;
+ arm*) export ARCH=arm ;;
+ # Unless $ARCH is already set, use uname -m for all other archs:
+ *) export ARCH=$( uname -m ) ;;
+ esac
+fi
+
+# Choose an entropy source:
+if [ "$ENTROPY" = "" ]; then
+ #ENTROPY="-DHAVE_GETRANDOM"
+ #ENTROPY="-DHAVE_SYSCALL_GETRANDOM"
+ #ENTROPY="-DHAVE_ARC4RANDOM_BUF"
+ ENTROPY="-DXML_POOR_ENTROPY"
+fi
+
+if [ "$ARCH" = "i486" ]; then
+ SLKCFLAGS="-O2 -march=i486 -mtune=i686 $ENTROPY"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "s390" ]; then
+ SLKCFLAGS="-O2 $ENTROPY"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "x86_64" ]; then
+ SLKCFLAGS="-O2 -fPIC $ENTROPY"
+ LIBDIRSUFFIX="64"
+else
+ SLKCFLAGS="-O2 $ENTROPY"
+ LIBDIRSUFFIX=""
+fi
+
+NUMJOBS=${NUMJOBS:-" -j7 "}
+
+CWD=$(pwd)
+TMP=${TMP:-/tmp}
+PKG=$TMP/package-expat
+
+rm -rf $PKG
+mkdir -p $TMP $PKG
+cd $TMP
+rm -rf expat-$VERSION
+tar xvf $CWD/expat-$VERSION.tar.?z* || exit 1
+cd expat-$VERSION
+
+chown -R root:root .
+find . -perm 777 -exec chmod 755 {} \;
+find . -perm 664 -exec chmod 644 {} \;
+CFLAGS="$SLKCFLAGS" \
+./configure \
+ --prefix=/usr \
+ --libdir=/usr/lib${LIBDIRSUFFIX} \
+ --mandir=/usr/man \
+ --disable-static \
+ --build=$ARCH-slackware-linux || exit 1
+
+make $NUMJOBS || exit 1
+make install DESTDIR=$PKG || exit 1
+
+( cd $PKG
+ find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
+ find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
+)
+
+mkdir -p $PKG/usr/doc/expat-$VERSION
+cp -a \
+ COPYING* Changes README* doc/reference.html \
+ $PKG/usr/doc/expat-$VERSION
+gzip -9 $PKG/usr/man/man?/*.?
+mkdir -p $PKG/install
+cat $CWD/slack-desc > $PKG/install/slack-desc
+
+cd $PKG
+makepkg -l y -c n $TMP/expat-$VERSION-$ARCH-$BUILD.txz
+
diff --git a/patches/source/expat/slack-desc b/patches/source/expat/slack-desc
new file mode 100644
index 00000000..348df3c3
--- /dev/null
+++ b/patches/source/expat/slack-desc
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|'
+# on the right side marks the last column you can put a character in. You must
+# make exactly 11 lines for the formatting to be correct. It's also
+# customary to leave one space after the ':'.
+
+ |-----handy-ruler------------------------------------------------------|
+expat: expat (C library for parsing XML)
+expat:
+expat: This is Expat, a C library for parsing XML, written by James Clark.
+expat: Expat is a stream-oriented XML parser used by Python, GNOME, Xft2,
+expat: and other things.
+expat:
+expat:
+expat:
+expat:
+expat:
+expat:
diff --git a/patches/source/fetchmail/fetchmail.SlackBuild b/patches/source/fetchmail/fetchmail.SlackBuild
new file mode 100755
index 00000000..a65f2529
--- /dev/null
+++ b/patches/source/fetchmail/fetchmail.SlackBuild
@@ -0,0 +1,107 @@
+#!/bin/sh
+
+# Copyright 2008, 2009, 2010 Patrick J. Volkerding, Sebeka, MN, USA
+# All rights reserved.
+#
+# Redistribution and use of this script, with or without modification, is
+# permitted provided that the following conditions are met:
+#
+# 1. Redistributions of this script must retain the above copyright
+# notice, this list of conditions and the following disclaimer.
+#
+# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED
+# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
+# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
+# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+PKGNAM=fetchmail
+VERSION=${VERSION:-$(echo $PKGNAM-*.tar.bz2 | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
+BUILD=${BUILD:-1_slack13.0}
+
+# Automatically determine the architecture we're building on:
+if [ -z "$ARCH" ]; then
+ case "$( uname -m )" in
+ i?86) export ARCH=i486 ;;
+ arm*) export ARCH=arm ;;
+ # Unless $ARCH is already set, use uname -m for all other archs:
+ *) export ARCH=$( uname -m ) ;;
+ esac
+fi
+
+if [ "$ARCH" = "i486" ]; then
+ SLKCFLAGS="-O2 -march=i486 -mtune=i686"
+elif [ "$ARCH" = "s390" ]; then
+ SLKCFLAGS="-O2"
+elif [ "$ARCH" = "x86_64" ]; then
+ SLKCFLAGS="-O2 -fPIC"
+else
+ SLKCFLAGS="-O2"
+fi
+
+NUMJOBS=${NUMJOBS:-" -j7 "}
+
+CWD=$(pwd)
+TMP=${TMP:-/tmp}
+PKG=$TMP/package-fetchmail
+
+rm -rf $PKG
+mkdir -p $TMP $PKG
+
+cd $TMP
+rm -rf fetchmail-$VERSION
+tar xvf $CWD/fetchmail-$VERSION.tar.bz2 || exit 1
+cd fetchmail-$VERSION || exit 1
+
+# this is the sloppiest source tarball ever
+# [NOTE: *was*... the new maintainers are much better]
+chown -R root:root .
+find . \
+ \( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \
+ -exec chmod 755 {} \; -o \
+ \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \
+ -exec chmod 644 {} \;
+
+CFLAGS="$SLKCFLAGS" \
+./configure \
+ --prefix=/usr \
+ --mandir=/usr/man \
+ --enable-nls \
+ --with-ssl \
+ --program-prefix="" \
+ --program-suffix="" \
+ --build=$ARCH-slackware-linux
+
+make $NUMJOBS || make || exit 1
+make install DESTDIR=$PKG || exit 1
+
+find $PKG | xargs file | grep -e "executable" -e "shared object" \
+ | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
+
+( cd $PKG/usr/man/man1
+ rm fetchmailconf.1
+ gzip -9 *
+ ln -sf fetchmail.1.gz fetchmailconf.1.gz
+)
+
+mkdir -p $PKG/usr/doc/fetchmail-$VERSION
+cp -a \
+ ABOUT-NLS COPYING* FAQ FEATURES INSTALL NEWS* NOTES* README* TODO \
+ *.html contrib *.lsm \
+ $PKG/usr/doc/fetchmail-$VERSION
+
+rm -rf $PKG/usr/doc/fetchmail-$VERSION/RCS \
+ $PKG/usr/doc/fetchmail-$VERSION/contrib/RCS \
+ $PKG/usr/doc/fetchmail-$VERSION/fetchmail-man.html
+
+mkdir -p $PKG/install
+cat $CWD/slack-desc > $PKG/install/slack-desc
+
+cd $PKG
+/sbin/makepkg -l y -c n $TMP/fetchmail-$VERSION-$ARCH-$BUILD.txz
+
diff --git a/patches/source/fetchmail/slack-desc b/patches/source/fetchmail/slack-desc
new file mode 100644
index 00000000..7be0c1e4
--- /dev/null
+++ b/patches/source/fetchmail/slack-desc
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|'
+# on the right side marks the last column you can put a character in. You must
+# make exactly 11 lines for the formatting to be correct. It's also
+# customary to leave one space after the ':'.
+
+ |-----handy-ruler------------------------------------------------------|
+fetchmail: fetchmail (mail retrieval and forwarding utility)
+fetchmail:
+fetchmail: fetchmail is a mail retrieval and forwarding utility. It fetches
+fetchmail: mail from a POP, IMAP, or ETRN-capable remote mailserver and forwards
+fetchmail: it to your local (client) machine's delivery system. You can then
+fetchmail: handle the retrieved mail using normal mail user agents such as elm,
+fetchmail: pine, or mutt. The fetchmail utility can be run in a daemon mode to
+fetchmail: repeatedly poll one or more systems at a specified interval.
+fetchmail:
+fetchmail: fetchmail is probably not secure.
+fetchmail:
diff --git a/patches/source/fixesproto/arch.use.flags b/patches/source/fixesproto/arch.use.flags
new file mode 100644
index 00000000..11087c88
--- /dev/null
+++ b/patches/source/fixesproto/arch.use.flags
@@ -0,0 +1,9 @@
+if [ "$ARCH" = "i486" ]; then
+ SLKCFLAGS="-O2 -march=i486 -mtune=i686"
+elif [ "$ARCH" = "i586" ]; then
+ SLKCFLAGS="-O2 -march=i586 -mtune=i686"
+elif [ "$ARCH" = "s390" ]; then
+ SLKCFLAGS="-O2"
+elif [ "$ARCH" = "x86_64" ]; then
+ SLKCFLAGS="-O2 -fPIC"
+fi
diff --git a/patches/source/fixesproto/build/fixesproto b/patches/source/fixesproto/build/fixesproto
new file mode 100644
index 00000000..1551cb6a
--- /dev/null
+++ b/patches/source/fixesproto/build/fixesproto
@@ -0,0 +1 @@
+1_slack13.0
diff --git a/patches/source/fixesproto/configure/configure b/patches/source/fixesproto/configure/configure
new file mode 100644
index 00000000..dcb1109b
--- /dev/null
+++ b/patches/source/fixesproto/configure/configure
@@ -0,0 +1,13 @@
+CFLAGS=$SLKCFLAGS \
+CXXFLAGS=$SLKCFLAGS \
+./configure \
+ --prefix=/usr \
+ --libdir=/usr/lib${LIBDIRSUFFIX} \
+ --sysconfdir=/etc \
+ --localstatedir=/var \
+ --infodir=/usr/info \
+ --mandir=/usr/man \
+ --docdir=/usr/doc/${PKGNAME}-${MODULAR_PACKAGE_VERSION} \
+ --with-udev-rules-dir=/lib/udev/rules.d \
+ --disable-static \
+ --build=$ARCH-slackware-linux
diff --git a/patches/source/fixesproto/fixesproto.SlackBuild b/patches/source/fixesproto/fixesproto.SlackBuild
new file mode 100755
index 00000000..260a042a
--- /dev/null
+++ b/patches/source/fixesproto/fixesproto.SlackBuild
@@ -0,0 +1,2 @@
+UPGRADE_PACKAGES=no ./x11.SlackBuild proto fixesproto
+mv /tmp/x11-build/fixesproto*txz /tmp
diff --git a/patches/source/fixesproto/modularize b/patches/source/fixesproto/modularize
new file mode 100644
index 00000000..8a28ed93
--- /dev/null
+++ b/patches/source/fixesproto/modularize
@@ -0,0 +1,279 @@
+# If a package is listed here, it will be built apart from the
+# usual "grab bag" package that's made from each source directory.
+
+appres
+bdftopcf
+beforelight
+bigreqsproto
+bitmap
+compiz
+compositeproto
+damageproto
+dmxproto
+dri2proto
+dri3proto
+editres
+encodings
+evieext
+fixesproto
+font-adobe-100dpi
+font-adobe-75dpi
+font-adobe-utopia-100dpi
+font-adobe-utopia-75dpi
+font-adobe-utopia-type1
+font-alias
+font-arabic-misc
+font-bh-100dpi
+font-bh-75dpi
+font-bh-lucidatypewriter-100dpi
+font-bh-lucidatypewriter-75dpi
+font-bh-ttf
+font-bh-type1
+font-bitstream-100dpi
+font-bitstream-75dpi
+font-bitstream-speedo
+font-bitstream-type1
+font-cronyx-cyrillic
+font-cursor-misc
+font-daewoo-misc
+font-dec-misc
+font-ibm-type1
+font-isas-misc
+font-jis-misc
+font-micro-misc
+font-misc-cyrillic
+font-misc-ethiopic
+font-misc-meltho
+font-misc-misc
+font-mutt-misc
+font-schumacher-misc
+font-screen-cyrillic
+font-sony-misc
+font-sun-misc
+font-util
+font-winitzki-cyrillic
+font-xfree86-type1
+fontcacheproto
+fontsproto
+fonttosfnt
+fslsfonts
+fstobdf
+gccmakedep
+glamor-egl
+glproto
+iceauth
+ico
+imake
+inputproto
+intel-gpu-tools
+kbproto
+libFS
+libICE
+libSM
+libX11
+libXScrnSaver
+libXau
+libXaw
+libXaw3d
+libXcm
+libXcomposite
+libXcursor
+libXdamage
+libXdmcp
+libXevie
+libXext
+libXfixes
+libXfont
+libXfontcache
+libXft
+libXi
+libXinerama
+libXmu
+libXp
+libXpm
+libXpresent
+libXrandr
+libXrender
+libXres
+libXt
+libXtst
+libXv
+libXvMC
+libXxf86dga
+libXxf86misc
+libXxf86vm
+libdmx
+libfontenc
+libpciaccess
+libpthread-stubs
+libxcb
+libxkbfile
+libxshmfence
+listres
+lndir
+luit
+makedepend
+mkcomposecache
+mkfontdir
+mkfontscale
+oclock
+pixman
+presentproto
+printproto
+randrproto
+recordproto
+rendercheck
+renderproto
+resourceproto
+rgb
+scrnsaverproto
+sessreg
+setxkbmap
+showfont
+smproxy
+transset
+twm
+util-macros
+videoproto
+viewres
+x11perf
+xauth
+xbacklight
+xbiff
+xbitmaps
+xcalc
+xcb-proto
+xcb-util
+xcb-util-cursor
+xcb-util-errors
+xcb-util-image
+xcb-util-keysyms
+xcb-util-renderutil
+xcb-util-wm
+xclipboard
+xclock
+xcm
+xcmiscproto
+xcmsdb
+xcompmgr
+xconsole
+xcursor-themes
+xcursorgen
+xdbedizzy
+xditview
+xdm
+xdpyinfo
+xdriinfo
+xedit
+xev
+xextproto
+xeyes
+xf86-input-acecad
+xf86-input-aiptek
+xf86-input-evdev
+xf86-input-joystick
+xf86-input-keyboard
+xf86-input-mouse
+xf86-input-penmount
+xf86-input-synaptics
+xf86-input-vmmouse
+xf86-input-void
+xf86-input-wacom
+xf86-video-amdgpu
+xf86-video-apm
+xf86-video-ark
+xf86-video-ast
+xf86-video-ati
+xf86-video-chips
+xf86-video-cirrus
+xf86-video-dummy
+xf86-video-geode
+xf86-video-glint
+xf86-video-i128
+xf86-video-i740
+xf86-video-intel
+xf86-video-mach64
+xf86-video-mga
+xf86-video-modesetting
+xf86-video-neomagic
+xf86-video-nouveau
+xf86-video-nv
+xf86-video-omap
+xf86-video-openchrome
+xf86-video-qxl
+xf86-video-r128
+xf86-video-rendition
+xf86-video-s3
+xf86-video-s3virge
+xf86-video-savage
+xf86-video-siliconmotion
+xf86-video-sis
+xf86-video-sisusb
+xf86-video-tdfx
+xf86-video-tga
+xf86-video-trident
+xf86-video-tseng
+xf86-video-v4l
+xf86-video-vesa
+xf86-video-vmware
+xf86-video-voodoo
+xf86-video-xgi
+xf86-video-xgixp
+xf86bigfontproto
+xf86dga
+xf86dgaproto
+xf86driproto
+xf86miscproto
+xf86vidmodeproto
+xfd
+xfontsel
+xfs
+xfsinfo
+xgamma
+xgc
+xhost
+xineramaproto
+xinit
+xinput
+xkbcomp
+xkbevd
+xkbprint
+xkbutils
+xkeyboard-config
+xkill
+xload
+xlogo
+xlsatoms
+xlsclients
+xlsfonts
+xmag
+xman
+xmessage
+xmh
+xmodmap
+xmore
+xorg-cf-files
+xorg-docs
+xorg-server
+xorg-server-xephyr
+xorg-server-xnest
+xorg-server-xvfb
+xorg-sgml-doctools
+xpr
+xprop
+xproto
+xpyb
+xrandr
+xrdb
+xrefresh
+xscope
+xset
+xsetroot
+xsm
+xstdcmap
+xtrans
+xvidtune
+xvinfo
+xwd
+xwininfo
+xwud
diff --git a/patches/source/fixesproto/noarch b/patches/source/fixesproto/noarch
new file mode 100644
index 00000000..8785ee52
--- /dev/null
+++ b/patches/source/fixesproto/noarch
@@ -0,0 +1,75 @@
+# List packages with an $ARCH of "noarch" (i.e. packages
+# that contain no binaries) here:
+bigreqsproto
+compositeproto
+damageproto
+dejavu-ttf
+dmxproto
+encodings
+evieext
+font-adobe-100dpi
+font-adobe-75dpi
+font-adobe-utopia-100dpi
+font-adobe-utopia-75dpi
+font-adobe-utopia-type1
+font-alias
+font-arabic-misc
+font-bh-100dpi
+font-bh-75dpi
+font-bh-lucidatypewriter-100dpi
+font-bh-lucidatypewriter-75dpi
+font-bh-ttf
+font-bh-type1
+font-bitstream-100dpi
+font-bitstream-75dpi
+font-bitstream-speedo
+font-bitstream-type1
+font-cronyx-cyrillic
+font-cursor-misc
+font-daewoo-misc
+font-dec-misc
+font-ibm-type1
+font-isas-misc
+font-jis-misc
+font-micro-misc
+font-misc-cyrillic
+font-misc-ethiopic
+font-misc-meltho
+font-misc-misc
+font-mutt-misc
+font-schumacher-misc
+font-screen-cyrillic
+font-sony-misc
+font-sun-misc
+font-winitzki-cyrillic
+font-xfree86-type1
+fontcacheproto
+fontsproto
+gccmakedep
+glproto
+inputproto
+kbproto
+libpthread-stubs
+mkfontdir
+printproto
+randrproto
+recordproto
+renderproto
+resourceproto
+scrnsaverproto
+ttf-indic-fonts
+util-macros
+videoproto
+x11-skel
+xcmiscproto
+xcursor-themes
+xf86bigfontproto
+xf86dgaproto
+xf86driproto
+xf86miscproto
+xf86vidmodeproto
+xineramaproto
+xkeyboard-config
+xorg-docs
+xproto
+xtrans
diff --git a/patches/source/fixesproto/package-blacklist b/patches/source/fixesproto/package-blacklist
new file mode 100644
index 00000000..603b8c31
--- /dev/null
+++ b/patches/source/fixesproto/package-blacklist
@@ -0,0 +1,44 @@
+# Enter packages to skip (perhaps because they aren't used on
+# this platform) below. Just the package name -- no version
+# number is needed.
+
+# ARM only packages:
+# They also say in the README for this one that it is not yet ready:
+xf86-video-omap
+
+# MacOS related packages:
+applewmproto
+windowswmproto
+libAppleWM
+libWindowsWM
+
+# Sun video cards:
+xf86-video-sunbw2
+xf86-video-suncg14
+xf86-video-suncg3
+xf86-video-suncg6
+xf86-video-sunffb
+xf86-video-sunleo
+xf86-video-suntcx
+
+# Obsolete packages:
+liboldX
+xf86-video-amd
+xf86-video-via
+xkbdata
+xphelloworld
+xrx
+xf86-video-modesetting
+
+# Not applicable to us
+grandr
+constype
+
+# CAREFUL NOT TO "SHIP" THE STUFF BELOW IN THE MAIN X PACKAGES DIR!
+
+# This is probably obsolete, and kills "X -configure" too
+xf86-video-nsc
+
+# We don't want this one, as it causes failure of X with no xorg.conf
+xf86-video-fbdev
+
diff --git a/patches/source/fixesproto/slack-desc/fixesproto b/patches/source/fixesproto/slack-desc/fixesproto
new file mode 100644
index 00000000..83cfded0
--- /dev/null
+++ b/patches/source/fixesproto/slack-desc/fixesproto
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|'
+# on the right side marks the last column you can put a character in. You must
+# make exactly 11 lines for the formatting to be correct. It's also
+# customary to leave one space after the ':'.
+
+ |-----handy-ruler------------------------------------------------------|
+fixesproto: fixesproto (C prototypes for X11 X Fixes Extension)
+fixesproto:
+fixesproto: fixesproto is part of X11.
+fixesproto:
+fixesproto: For more information about the X.Org Foundation (the providers of the
+fixesproto: X.Org implementation of the X Window System), see their website:
+fixesproto:
+fixesproto: http://www.x.org
+fixesproto:
+fixesproto:
+fixesproto:
diff --git a/patches/source/fixesproto/x11.SlackBuild b/patches/source/fixesproto/x11.SlackBuild
new file mode 100755
index 00000000..c3887dff
--- /dev/null
+++ b/patches/source/fixesproto/x11.SlackBuild
@@ -0,0 +1,381 @@
+#!/bin/sh
+# Copyright 2007-2014 Patrick J. Volkerding, Sebeka, MN, USA
+# All rights reserved.
+#
+# Redistribution and use of this script, with or without modification, is
+# permitted provided that the following conditions are met:
+#
+# 1. Redistributions of this script must retain the above copyright
+# notice, this list of conditions and the following disclaimer.
+#
+# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED
+# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
+# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
+# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+# To build only a single package group, specify it as $1, like:
+# ./x11.SlackBuild lib
+# To build only a single package, specify both the source directory
+# and the name of the package, like:
+# ./x11.SlackBuild lib libX11
+
+# Upgrade packages as they are built.
+# Default is to upgrade new packages (UPGRADE_PACKAGES=yes).
+# To install ALL newly built packages (even if they are already installed),
+# use UPGRADE_PACKAGES=always
+# To not upgrade, pass UPGRADE_PACKAGES=no
+UPGRADE_PACKAGES=${UPGRADE_PACKAGES:-yes}
+
+pkgbase() {
+ PKGEXT=$(echo $1 | rev | cut -f 1 -d . | rev)
+ case $PKGEXT in
+ 'gz' )
+ PKGRETURN=$(basename $1 .tar.gz)
+ ;;
+ 'bz2' )
+ PKGRETURN=$(basename $1 .tar.bz2)
+ ;;
+ 'lzma' )
+ PKGRETURN=$(basename $1 .tar.lzma)
+ ;;
+ 'xz' )
+ PKGRETURN=$(basename $1 .tar.xz)
+ ;;
+ *)
+ PKGRETURN=$(basename $1)
+ ;;
+ esac
+ echo $PKGRETURN
+}
+
+# Set initial variables:
+CWD=$(pwd)
+TMP=${TMP:-/tmp}
+
+# Automatically determine the architecture we're building on:
+if [ -z "$ARCH" ]; then
+ case "$( uname -m )" in
+ i?86) export ARCH=i486 ;;
+ arm*) export ARCH=arm ;;
+ # Unless $ARCH is already set, use uname -m for all other archs:
+ *) export ARCH=$( uname -m ) ;;
+ esac
+fi
+
+# A lot of this stuff just controls the package names this time:
+VERSION=${VERSION:-7.5}
+BUILD=${BUILD:-1}
+PKGARCH=$ARCH
+NUMJOBS=${NUMJOBS:-" -j7 "}
+
+if [ "$ARCH" = "x86_64" ]; then
+ LIBDIRSUFFIX="64"
+else
+ LIBDIRSUFFIX=""
+fi
+
+# Set up a few useful functions:
+
+fix_perms() {
+ chown -R root:root .
+ find . \
+ \( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \
+ -exec chmod 755 {} \; -o \
+ \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \
+ -exec chmod 644 {} \;
+}
+
+process_man_pages() {
+ # Compress and if needed symlink the man pages:
+ if [ -d usr/man ]; then
+ ( cd usr/man
+ for manpagedir in $(find . -type d -name "man*") ; do
+ ( cd $manpagedir
+ for eachpage in $( find . -type l -maxdepth 1) ; do
+ ln -s $( readlink $eachpage ).gz $eachpage.gz
+ rm $eachpage
+ done
+ gzip -9 *.*
+ )
+ done
+ )
+ fi
+}
+
+process_info_pages() {
+ # Compress info pages and purge "dir" file from the package:
+ if [ -d usr/info ]; then
+ ( cd usr/info
+ rm -f dir
+ gzip -9 *
+ )
+ fi
+}
+
+no_usr_share_doc() {
+ # If there are docs, move them:
+ if [ -d usr/share/doc ]; then
+ mkdir -p usr/doc
+ mv usr/share/doc/* usr/doc
+ rmdir usr/share/doc
+ fi
+}
+
+# Set the compile options for the $ARCH being used:
+. $CWD/arch.use.flags
+
+SLACK_X_BUILD_DIR=$TMP/x11-build
+mkdir -p $SLACK_X_BUILD_DIR
+
+# Better have some binaries installed first, as this may not be
+# in the "magic order". I built mine by hand through trial-and-error
+# before getting this script to work. It wasn't that hard... I think. ;-)
+( cd src
+ for x_source_dir in proto data util xcb lib app doc xserver driver font ; do
+ # See if $1 is a source directory like "lib":
+ if [ ! -z "$1" ]; then
+ if [ ! "$1" = "${x_source_dir}" ]; then
+ continue
+ fi
+ fi
+ PKG=${SLACK_X_BUILD_DIR}/package-${x_source_dir}
+ rm -rf $PKG
+ mkdir -p $PKG
+ ( cd $x_source_dir
+ for x_pkg in *.tar.?z* ; do
+ # Reset $PKGARCH to its initial value:
+ PKGARCH=$ARCH
+ PKGNAME=$(echo $x_pkg | rev | cut -f 2- -d - | rev)
+ # Perhaps $PKGARCH should be something different:
+ if grep -wq "^$PKGNAME" ${CWD}/noarch ; then
+ PKGARCH=noarch
+ fi
+ if grep -wq "^$PKGNAME" ${CWD}/package-blacklist ; then
+ continue
+ fi
+ cd $SLACK_X_BUILD_DIR
+ # If $2 is set, we only want to build one package:
+ if [ ! -z "$2" ]; then
+ if [ "$2" = "$PKGNAME" ]; then
+ # Set $PKG to a private dir for the modular package build:
+ PKG=$SLACK_X_BUILD_DIR/package-$PKGNAME
+ rm -rf $PKG
+ mkdir -p $PKG
+ else
+ continue
+ fi
+ else
+ echo
+ echo "Building from source ${x_pkg}"
+ echo
+ fi
+ if grep -wq "^$PKGNAME" ${CWD}/modularize ; then
+ # Set $PKG to a private dir for the modular package build:
+ PKG=$SLACK_X_BUILD_DIR/package-$PKGNAME
+ rm -rf $PKG
+ mkdir -p $PKG
+ fi
+
+ # Let's figure out the version number on the modular package:
+ MODULAR_PACKAGE_VERSION=$(echo $x_pkg | rev | cut -f 3- -d . | cut -f 1 -d - | rev)
+
+ rm -rf $(pkgbase $x_pkg)
+ tar xf $CWD/src/${x_source_dir}/${x_pkg} || exit 1
+ cd $(pkgbase $x_pkg) || exit 1
+
+ fix_perms
+
+ # If any patches are needed, call this script to apply them:
+ if [ -r $CWD/patch/${PKGNAME}.patch ]; then
+ . $CWD/patch/${PKGNAME}.patch
+ fi
+
+ # I heard somewhere that -O2 breaks some chipset or another. If you encounter
+ # problems, please contact volkerdi@slackware.com. Thanks! :-)
+
+ # ./configure, using custom configure script if needed:
+ if [ -r $CWD/configure/${PKGNAME} ]; then
+ . $CWD/configure/${PKGNAME}
+ else
+ # This is the default configure script:
+ . $CWD/configure/configure
+ fi
+
+ if ! make $NUMJOBS ; then
+ touch ${SLACK_X_BUILD_DIR}/${PKGNAME}.failed
+ continue
+ fi
+
+ make install DESTDIR=$PKG
+
+ mkdir -p $PKG/usr/doc/${PKGNAME}-${MODULAR_PACKAGE_VERSION}
+ cp -a \
+ AUTHORS* COPYING* INSTALL* README* NEWS* TODO* \
+ $PKG/usr/doc/${PKGNAME}-${MODULAR_PACKAGE_VERSION}
+
+ # If there's a ChangeLog, installing at least part of the recent history
+ # is useful, but don't let it get totally out of control:
+ if [ -r ChangeLog ]; then
+ DOCSDIR=$(echo $PKG/usr/doc/${PKGNAME}-$MODULAR_PACKAGE_VERSION)
+ cat ChangeLog | head -n 1000 > $DOCSDIR/ChangeLog
+ touch -r ChangeLog $DOCSDIR/ChangeLog
+ fi
+
+ # Get rid of zero-length junk files:
+ find $PKG/usr/doc/${PKGNAME}-$MODULAR_PACKAGE_VERSION -type f -size 0 -exec rm --verbose "{}" \;
+ rmdir --verbose $PKG/usr/doc/${PKGNAME}-$MODULAR_PACKAGE_VERSION 2> /dev/null
+
+ # Strip binaries:
+ ( cd $PKG
+ find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
+ find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
+ find . | xargs file | grep "current ar archive" | grep ELF | cut -f 1 -d : | xargs strip -g 2> /dev/null
+ )
+
+ # If there's any special post-install things to do, do them:
+ if [ -r $CWD/post-install/${PKGNAME}.post-install ]; then
+ RUNSCRIPT=$(mktemp -p $TMP) || exit 1
+ cat $CWD/post-install/${PKGNAME}.post-install \
+ | sed -e "s#usr/lib#usr/lib${LIBDIRSUFFIX}#g" > $RUNSCRIPT
+ . $RUNSCRIPT
+ rm -f $RUNSCRIPT
+ fi
+
+ # If this package requires some doinst.sh material, add it here:
+ if [ -r $CWD/doinst.sh/${PKGNAME} ]; then
+ mkdir -p $PKG/install
+ cat $CWD/doinst.sh/${PKGNAME} \
+ | sed -e "s#usr/lib#usr/lib${LIBDIRSUFFIX}#g" \
+ >> $PKG/install/doinst.sh
+ fi
+
+ # If this is a modular package, build it here:
+ if [ -d $SLACK_X_BUILD_DIR/package-$PKGNAME ]; then
+ cd $PKG
+ process_man_pages
+ process_info_pages
+ no_usr_share_doc
+ mkdir -p $PKG/install
+ if [ -r $CWD/slack-desc/${PKGNAME} ]; then
+ cat $CWD/slack-desc/${PKGNAME} > $PKG/install/slack-desc
+ else
+ touch $PKG/install/slack-desc-missing
+ fi
+ if [ -r $CWD/build/${PKGNAME} ]; then
+ MODBUILD=$(cat $CWD/build/${PKGNAME})
+ else
+ MODBUILD=$BUILD
+ fi
+ if [ -r $CWD/makepkg/${PKGNAME} ]; then
+ BUILD=$MODBUILD . $CWD/makepkg/${PKGNAME}
+ else
+ /sbin/makepkg -l y -c n ${SLACK_X_BUILD_DIR}/${PKGNAME}-${MODULAR_PACKAGE_VERSION}-${PKGARCH}-${MODBUILD}.txz
+ if [ "$UPGRADE_PACKAGES" = "yes" ]; then
+ /sbin/upgradepkg --install-new ${SLACK_X_BUILD_DIR}/${PKGNAME}-${MODULAR_PACKAGE_VERSION}-${PKGARCH}-${MODBUILD}.txz
+ elif [ "$UPGRADE_PACKAGES" = "always" ]; then
+ /sbin/upgradepkg --install-new --reinstall ${SLACK_X_BUILD_DIR}/${PKGNAME}-${MODULAR_PACKAGE_VERSION}-${PKGARCH}-${MODBUILD}.txz
+ fi
+ fi
+ fi
+
+ # Reset $PKG to assume we're building the whole source dir:
+ PKG=${SLACK_X_BUILD_DIR}/package-${x_source_dir}
+
+ done
+
+ # Nothing here? Must have been fully modular. :-)
+ if [ ! -d ${SLACK_X_BUILD_DIR}/package-${x_source_dir}/etc -a \
+ ! -d ${SLACK_X_BUILD_DIR}/package-${x_source_dir}/usr ]; then
+ continue
+ fi
+
+ # Build an "x11-<sourcedir>" package for anything that wasn't built modular:
+ # It's safer to consider these to have binaries in them. ;-)
+ PKGARCH=$ARCH
+ cd $PKG
+ process_man_pages
+ process_info_pages
+ no_usr_share_doc
+ # If there are post-install things to do for the combined package,
+ # we do them here. This could be used for things like making a
+ # VERSION number for a combined package. :-)
+ if [ -r $CWD/post-install/x11-${x_source_dir}.post-install ]; then
+ RUNSCRIPT=$(mktemp -p $TMP) || exit 1
+ cat $CWD/post-install/x11-${x_source_dir}.post-install \
+ | sed -e "s#usr/lib#usr/lib${LIBDIRSUFFIX}#g" > $RUNSCRIPT
+ . $RUNSCRIPT
+ rm -f $RUNSCRIPT
+ fi
+ mkdir -p $PKG/install
+ if [ -r $CWD/slack-desc/x11-${x_source_dir} ]; then
+ cat $CWD/slack-desc/x11-${x_source_dir} > $PKG/install/slack-desc
+ else
+ touch $PKG/install/slack-desc-missing
+ fi
+ if [ -r $CWD/doinst.sh/x11-${x_source_dir} ]; then
+ cat $CWD/doinst.sh/x11-${x_source_dir} \
+ | sed -e "s#usr/lib#usr/lib${LIBDIRSUFFIX}#g" \
+ >> $PKG/install/doinst.sh
+ fi
+ if [ -r $CWD/build/x11-${PKGNAME} ]; then
+ SRCDIRBUILD=$(cat $CWD/build/x11-${PKGNAME})
+ else
+ SRCDIRBUILD=$BUILD
+ fi
+ if [ -r $CWD/makepkg/${PKGNAME} ]; then
+ BUILD=$MODBUILD . $CWD/makepkg/${PKGNAME}
+ else
+ /sbin/makepkg -l y -c n ${SLACK_X_BUILD_DIR}/x11-${x_source_dir}-${VERSION}-${PKGARCH}-${SRCDIRBUILD}.txz
+ if [ "$UPGRADE_PACKAGES" = "yes" ]; then
+ /sbin/upgradepkg --install-new ${SLACK_X_BUILD_DIR}/x11-${x_source_dir}-${VERSION}-${PKGARCH}-${SRCDIRBUILD}.txz
+ elif [ "$UPGRADE_PACKAGES" = "always" ]; then
+ /sbin/upgradepkg --install-new --reinstall ${SLACK_X_BUILD_DIR}/x11-${x_source_dir}-${VERSION}-${PKGARCH}-${SRCDIRBUILD}.txz
+ fi
+ fi
+ )
+ done
+)
+
+exit 0
+
+# I don't think I'll be using the following stuff, since I went for the latest in
+# "individual", rather than a release. That was mostly because version 7.1 depends
+# on a version of Mesa that won't build against kernel headers this new (&etc.).
+
+# If environment variable "REFRESH" is exported, start by refreshing the source tree:
+# export REFRESH yes
+if [ ! -z "$REFRESH" ]; then
+ # Only works once, unless you uncomment above.
+ unset REFRESH
+ ( cd patches
+ lftp -c \
+ "lftp ftp://ftp.x.org:/pub/X11R7.1/patches
+ mirror --delete --dereference .
+ exit"
+ chmod 644 *
+ )
+ ( cd src
+ mkdir -p update everything
+ for dir in app data deprecated doc driver extras font lib proto util xserver ; do
+ # We won't really download "update", as problems ensue. Plus, --dereference is
+ # bringing us updated files when needed, so it's redundant (like "everything").
+ if [ ! -d $dir ]; then
+ mkdir $dir
+ fi
+ ( cd $dir
+ lftp -c \
+ "lftp ftp://ftp.x.org:/pub/X11R7.1/src/$dir
+ mirror -c --delete --dereference --include-glob "*.tar.bz2" .
+ exit"
+ chmod 644 *
+ )
+ done
+ )
+fi
+
diff --git a/patches/source/freetype/freetype.CVE-2017-8287.diff b/patches/source/freetype/freetype.CVE-2017-8287.diff
new file mode 100644
index 00000000..4f4b67b1
--- /dev/null
+++ b/patches/source/freetype/freetype.CVE-2017-8287.diff
@@ -0,0 +1,31 @@
+From 3774fc08b502c3e685afca098b6e8a195aded6a0 Mon Sep 17 00:00:00 2001
+From: Werner Lemberg <wl@gnu.org>
+Date: Sun, 26 Mar 2017 08:32:09 +0200
+Subject: * src/psaux/psobjs.c (t1_builder_close_contour): Add safety guard.
+
+Reported as
+
+ https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=941
+
+diff --git a/src/psaux/psobjs.c b/src/psaux/psobjs.c
+index d18e821..0baf836 100644
+--- a/src/psaux/psobjs.c
++++ b/src/psaux/psobjs.c
+@@ -1718,6 +1718,14 @@
+ first = outline->n_contours <= 1
+ ? 0 : outline->contours[outline->n_contours - 2] + 1;
+
++ /* in malformed fonts it can happen that a contour was started */
++ /* but no points were added */
++ if ( outline->n_contours && first == outline->n_points )
++ {
++ outline->n_contours--;
++ return;
++ }
++
+ /* We must not include the last point in the path if it */
+ /* is located on the first point. */
+ if ( outline->n_points > 1 )
+--
+cgit v1.0-41-gc330
+
diff --git a/patches/source/freetype/freetype.SlackBuild b/patches/source/freetype/freetype.SlackBuild
new file mode 100755
index 00000000..08aeed4d
--- /dev/null
+++ b/patches/source/freetype/freetype.SlackBuild
@@ -0,0 +1,123 @@
+#!/bin/sh
+
+# Copyright 2005-2012 Patrick J. Volkerding, Sebeka, MN, USA
+# All rights reserved.
+#
+# Redistribution and use of this script, with or without modification, is
+# permitted provided that the following conditions are met:
+#
+# 1. Redistributions of this script must retain the above copyright
+# notice, this list of conditions and the following disclaimer.
+#
+# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED
+# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
+# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
+# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+PKGNAM=freetype
+VERSION=${VERSION:-$(echo $PKGNAM-*.tar.xz | cut -d - -f 2 | rev | cut -f 3- -d . | rev)}
+BUILD=${BUILD:-2_slack13.0}
+
+NUMJOBS=${NUMJOBS:-" -j7 "}
+
+# Automatically determine the architecture we're building on:
+if [ -z "$ARCH" ]; then
+ case "$( uname -m )" in
+ i?86) export ARCH=i486 ;;
+ arm*) export ARCH=arm ;;
+ # Unless $ARCH is already set, use uname -m for all other archs:
+ *) export ARCH=$( uname -m ) ;;
+ esac
+fi
+
+if [ "$ARCH" = "i486" ]; then
+ SLKCFLAGS="-O2 -march=i486 -mtune=i686"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "s390" ]; then
+ SLKCFLAGS="-O2"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "x86_64" ]; then
+ SLKCFLAGS="-O2 -fPIC"
+ LIBDIRSUFFIX="64"
+else
+ SLKCFLAGS="-O2"
+ LIBDIRSUFFIX=""
+fi
+
+CWD=$(pwd)
+TMP=${TMP:-/tmp}
+PKG=$TMP/package-freetype
+
+rm -rf $PKG
+mkdir -p $TMP $PKG
+cd $TMP
+rm -rf freetype-$VERSION
+tar xvf $CWD/freetype-$VERSION.tar.xz || exit 1
+cd freetype-$VERSION
+
+chown -R root:root .
+find . \
+ \( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \
+ -exec chmod 755 {} \; -o \
+ \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \
+ -exec chmod 644 {} \;
+
+# This breaks far too many things. Freetype2 developers will have to get their
+# punishment on someone else's distribution.
+zcat $CWD/freetype.illadvisederror.diff.gz | patch -p1 --verbose || exit 1
+
+# The line below enables code patented by Microsoft, so don't uncomment it
+# unless you have a license to use the code and take all legal responsibility
+# for doing so.
+# Please see this web site for more details:
+# http://www.freetype.org/patents.html
+#zcat $CWD/freetype.subpixel.rendering.diff.gz | patch -p1 --verbose || exit 1
+
+# Security fix:
+zcat $CWD/freetype.CVE-2017-8287.diff.gz | patch -p1 --verbose || exit 1
+
+chown -R root:root .
+CFLAGS="$SLKCFLAGS" make setup CFG="--prefix=/usr --libdir=/usr/lib${LIBDIRSUFFIX} --build=$ARCH-slackware-linux"
+make $NUMJOBS || make || exit 1
+make install DESTDIR=$PKG
+
+# This shouldn't be needed (apps should pick up -I/usr/include/freetype2 from
+# `freetype-config --cflags` while compiling), but it's so often reported as
+# a bug that I'll give in to the point. Now that Freetype1 is pretty much gone
+# having this link shouldn't hurt anything. Try not to rely on it, though.
+mkdir -p $PKG/usr/include
+( cd $PKG/usr/include
+ rm -rf freetype
+ ln -sf freetype2 freetype
+)
+
+# Can't imagine a lot of use for this:
+rm -f $PKG/usr/lib${LIBDIRSUFFIX}/*.a
+
+find $PKG | xargs file | grep -e "executable" -e "shared object" \
+ | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
+
+mv $PKG/usr/share/man $PKG/usr/man
+find $PKG/usr/man -type f -exec gzip -9 {} \;
+
+mkdir -p $PKG/usr/doc/freetype-$VERSION
+cp -a \
+ docs \
+ README \
+ $PKG/usr/doc/freetype-$VERSION
+# too much
+rm -rf $PKG/usr/doc/freetype-$VERSION/docs/reference
+
+mkdir $PKG/install
+cat $CWD/slack-desc > $PKG/install/slack-desc
+
+cd $PKG
+/sbin/makepkg -l y -c n $TMP/freetype-$VERSION-$ARCH-$BUILD.txz
+
diff --git a/patches/source/freetype/freetype.illadvisederror.diff b/patches/source/freetype/freetype.illadvisederror.diff
new file mode 100644
index 00000000..b0a33694
--- /dev/null
+++ b/patches/source/freetype/freetype.illadvisederror.diff
@@ -0,0 +1,31 @@
+diff -Nur freetype-2.5.3.orig/include/freetype.h freetype-2.5.3/include/freetype.h
+--- freetype-2.5.3.orig/include/freetype.h 2014-03-06 12:10:31.661681917 -0600
++++ freetype-2.5.3/include/freetype.h 2014-05-12 01:41:42.002526416 -0500
+@@ -20,13 +20,20 @@
+ #define __FREETYPE_H__
+
+
+-#ifndef FT_FREETYPE_H
+-#error "`ft2build.h' hasn't been included yet!"
+-#error "Please always use macros to include FreeType header files."
+-#error "Example:"
+-#error " #include <ft2build.h>"
+-#error " #include FT_FREETYPE_H"
+-#endif
++/***************************************************************************/
++/* */
++/* If you think breaking almost 100% of all source that links with */
++/* freetype (anything using a configure file for sure) is a good idea, */
++/* then feel free to uncomment this block. */
++/* */
++/* #ifndef FT_FREETYPE_H */
++/* #error "`ft2build.h' hasn't been included yet!" */
++/* #error "Please always use macros to include FreeType header files." */
++/* #error "Example:" */
++/* #error " #include <ft2build.h>" */
++/* #error " #include FT_FREETYPE_H" */
++/* #endif */
++/***************************************************************************/
+
+
+ #include <ft2build.h>
diff --git a/patches/source/freetype/freetype.subpixel.rendering.diff b/patches/source/freetype/freetype.subpixel.rendering.diff
new file mode 100644
index 00000000..ab3d479e
--- /dev/null
+++ b/patches/source/freetype/freetype.subpixel.rendering.diff
@@ -0,0 +1,11 @@
+--- ./include/config/ftoption.h.orig 2014-03-01 05:27:34.842960857 -0600
++++ ./include/config/ftoption.h 2014-08-27 13:43:07.351974078 -0500
+@@ -92,7 +92,7 @@
+ /* This is done to allow FreeType clients to run unmodified, forcing */
+ /* them to display normal gray-level anti-aliased glyphs. */
+ /* */
+-/* #define FT_CONFIG_OPTION_SUBPIXEL_RENDERING */
++#define FT_CONFIG_OPTION_SUBPIXEL_RENDERING
+
+
+ /*************************************************************************/
diff --git a/patches/source/freetype/slack-desc b/patches/source/freetype/slack-desc
new file mode 100644
index 00000000..0d179401
--- /dev/null
+++ b/patches/source/freetype/slack-desc
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|' on
+# the right side marks the last column you can put a character in. You must make
+# exactly 11 lines for the formatting to be correct. It's also customary to
+# leave one space after the ':'.
+
+ |-----handy-ruler------------------------------------------------------|
+freetype: freetype (A Free, High-Quality, and Portable Font Engine)
+freetype:
+freetype: The FreeType engine is a free and portable TrueType font rendering
+freetype: engine. It has been developed to provide TrueType support to a
+freetype: great variety of platforms and environments.
+freetype:
+freetype:
+freetype:
+freetype:
+freetype:
+freetype:
diff --git a/patches/source/gimp/gimp.SlackBuild b/patches/source/gimp/gimp.SlackBuild
new file mode 100755
index 00000000..3707e535
--- /dev/null
+++ b/patches/source/gimp/gimp.SlackBuild
@@ -0,0 +1,114 @@
+#!/bin/sh
+
+# Copyright 2008, 2009 Patrick J. Volkerding, Sebeka, MN, USA
+# All rights reserved.
+#
+# Redistribution and use of this script, with or without modification, is
+# permitted provided that the following conditions are met:
+#
+# 1. Redistributions of this script must retain the above copyright
+# notice, this list of conditions and the following disclaimer.
+#
+# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED
+# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
+# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
+# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+VERSION=2.6.8
+BUILD=${BUILD:-1_slack13.0}
+
+# Automatically determine the architecture we're building on:
+if [ -z "$ARCH" ]; then
+ case "$( uname -m )" in
+ i?86) export ARCH=i486 ;;
+ arm*) export ARCH=arm ;;
+ # Unless $ARCH is already set, use uname -m for all other archs:
+ *) export ARCH=$( uname -m ) ;;
+ esac
+fi
+
+NUMJOBS=${NUMJOBS:-" -j7 "}
+
+CWD=$(pwd)
+TMP=${TMP:-/tmp}
+PKG=$TMP/package-gimp
+rm -rf $PKG
+mkdir -p $TMP $PKG
+
+if [ "$ARCH" = "i486" ]; then
+ SLKCFLAGS="-O2 -march=i486 -mtune=i686"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "s390" ]; then
+ SLKCFLAGS="-O2"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "x86_64" ]; then
+ SLKCFLAGS="-O2 -fPIC"
+ LIBDIRSUFFIX="64"
+fi
+
+cd $TMP
+rm -rf gimp-$VERSION
+tar xvf $CWD/gimp-$VERSION.tar.?z* || exit 1
+cd gimp-$VERSION || exit 1
+chown -R root:root .
+find . \
+ \( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \
+ -exec chmod 755 {} \; -o \
+ \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \
+ -exec chmod 644 {} \;
+
+CFLAGS="$SLKCFLAGS" \
+./configure \
+ --prefix=/usr \
+ --libdir=/usr/lib${LIBDIRSUFFIX} \
+ --sysconfdir=/etc \
+ --localstatedir=/var/lib \
+ --mandir=/usr/man \
+ --infodir=/usr/info \
+ --docdir=/usr/doc/gimp-$VERSION \
+ --disable-static \
+ --enable-gimp-remote \
+ --without-gvfs \
+ --with-libcurl \
+ --build=$ARCH-slackware-linux
+
+make $NUMJOBS || make || exit 1
+mkdir -p $PKG/usr/share/applications $PKG/usr/share/application-registry
+make install DESTDIR=$PKG || exit 1
+
+# Add a manpage symlink for POLA-compliance
+( cd $PKG/usr/man/man1 ; ln -sf gimptool-2.?.1 gimptool.1 )
+
+( cd $PKG/usr/man
+ find . -type f -exec gzip -9 {} \;
+ for i in $(find . -type l) ; do ln -s $(readlink $i).gz $i.gz ; rm $i ; done
+)
+
+mkdir -p $PKG/usr/doc/gimp-$VERSION
+cp -a \
+ AUTHORS COPYING HACKING INSTALL LICENSE NEWS README* docs/Wilber* \
+ $PKG/usr/doc/gimp-$VERSION
+( cd $PKG/usr/doc/gimp-$VERSION
+ for i in \
+ libgimp libgimpbase libgimpcolor libgimpconfig libgimpmath \
+ libgimpmodule libgimpthumb libgimpwidgets ; do \
+ ln -s /usr/share/gtk-doc/html/$i $i-html ;
+ done
+)
+
+find $PKG | xargs file | grep -e "executable" -e "shared object" | grep ELF \
+ | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
+
+mkdir -p $PKG/install
+cat $CWD/slack-desc > $PKG/install/slack-desc
+
+cd $PKG
+/sbin/makepkg -l y -c n $TMP/gimp-$VERSION-$ARCH-$BUILD.txz
+
diff --git a/patches/source/gimp/slack-desc b/patches/source/gimp/slack-desc
new file mode 100644
index 00000000..9f9aca38
--- /dev/null
+++ b/patches/source/gimp/slack-desc
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|'
+# on the right side marks the last column you can put a character in. You must
+# make exactly 11 lines for the formatting to be correct. It's also
+# customary to leave one space after the ':'.
+
+ |-----handy-ruler------------------------------------------------------|
+gimp: gimp (The GNU Image Manipulation Program)
+gimp:
+gimp: The GIMP is a powerful tool for the preparation and manipulation of
+gimp: digital images. The GIMP provides the user with a wide variety of
+gimp: image manipulation, painting, processing, and rendering tools. The
+gimp: GIMP's open design and extensible architecture make for a very
+gimp: powerful end product for photo and image retouching, web graphics
+gimp: design, or digital illustration.
+gimp:
+gimp:
+gimp:
diff --git a/patches/source/git/git-2.14.1.tar.sign b/patches/source/git/git-2.14.1.tar.sign
new file mode 100644
index 00000000..2dffd4d3
--- /dev/null
+++ b/patches/source/git/git-2.14.1.tar.sign
Binary files differ
diff --git a/patches/source/git/git.SlackBuild b/patches/source/git/git.SlackBuild
new file mode 100755
index 00000000..f5422d1d
--- /dev/null
+++ b/patches/source/git/git.SlackBuild
@@ -0,0 +1,170 @@
+#!/bin/sh
+
+# Copyright 2008, 2009, 2010, 2011, 2016 Patrick J. Volkerding, Sebeka, Minnesota, USA
+# All rights reserved.
+#
+# Redistribution and use of this script, with or without modification, is
+# permitted provided that the following conditions are met:
+#
+# 1. Redistributions of this script must retain the above copyright
+# notice, this list of conditions and the following disclaimer.
+#
+# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED
+# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
+# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
+# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+BUILD=${BUILD:-1_slack13.0}
+
+PKGNAM=git
+VERSION=${VERSION:-$(echo $PKGNAM-*.tar.?z* | cut -d - -f 2 | rev | cut -f 3- -d . | rev)}
+NUMJOBS=${NUMJOBS:-" -j7 "}
+
+# Automatically determine the architecture we're building on:
+if [ -z "$ARCH" ]; then
+ case "$( uname -m )" in
+ i?86) export ARCH=i486 ;;
+ arm*) export ARCH=arm ;;
+ # Unless $ARCH is already set, use uname -m for all other archs:
+ *) export ARCH=$( uname -m ) ;;
+ esac
+fi
+
+eval $(perl '-V:installvendorlib')
+PERLDIR=$installvendorlib/$ARCH-linux-thread-multi/auto
+
+if ls /var/log/packages/git-* 1> /dev/null 2> /dev/null ; then
+ echo "The git package needs to be removed before building to ensure that"
+ echo "the perl modules are included in the new package."
+ echo
+ echo "Removing the git package in 15 seconds, and then continuing with the build."
+ sleep 15
+ removepkg git
+fi
+
+if [ "$ARCH" = "i486" ]; then
+ SLKCFLAGS="-O2 -march=i486 -mtune=i686"
+elif [ "$ARCH" = "s390" ]; then
+ SLKCFLAGS="-O2"
+elif [ "$ARCH" = "x86_64" ]; then
+ SLKCFLAGS="-O2 -fPIC"
+else
+ SLKCFLAGS="-O2"
+fi
+
+CWD=$(pwd)
+TMP=${TMP:-/tmp}
+PKG=$TMP/package-git
+
+rm -rf $PKG
+mkdir -p $TMP $PKG
+
+cd $TMP
+rm -rf git-$VERSION
+tar xvf $CWD/git-$VERSION.tar.?z* || exit 1
+cd git-$VERSION
+
+chown -R root:root .
+find . \
+ \( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \
+ -exec chmod 755 {} \; -o \
+ \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \
+ -exec chmod 644 {} \;
+
+mkdir -p $PKG/usr/doc/git-$VERSION
+cp -a \
+ COPYING* INSTALL README \
+ Documentation \
+ contrib \
+ $PKG/usr/doc/git-$VERSION
+( cd $PKG/usr/doc/git-$VERSION/Documentation ; rm *.1 *.3 *.7 )
+( cd $PKG/usr/doc/git-$VERSION && find . -name ".git*" -exec rm -r "{}" \; )
+
+make $NUMJOBS \
+ prefix=/usr \
+ mandir=/usr/man \
+ CFLAGS="$SLKCFLAGS" \
+ INSTALLDIRS=vendor \
+ ASCIIDOC8=YesPlease \
+ all doc || exit 1
+
+make \
+ prefix=/usr \
+ mandir=/usr/man \
+ "CFLAGS=$SLKCFLAGS" \
+ INSTALLDIRS=vendor \
+ ASCIIDOC8=YesPlease \
+ install \
+ install-doc \
+ DESTDIR=$PKG || exit 1
+
+mv $PKG/usr/share/man/man3 $PKG/usr/man
+rmdir $PKG/usr/share/man
+
+# Don't stomp on perl's file:
+rm -f $PKG/usr/lib*/perl5/perllocal.pod
+
+# Compress and if needed symlink the man pages:
+if [ -d $PKG/usr/man ]; then
+ ( cd $PKG/usr/man
+ for manpagedir in $(find . -type d -name "man*") ; do
+ ( cd $manpagedir
+ for eachpage in $( find . -type l -maxdepth 1) ; do
+ ln -s $( readlink $eachpage ).gz $eachpage.gz
+ rm $eachpage
+ done
+ gzip -9 *.?
+ )
+ done
+ )
+fi
+
+find $PKG | xargs file | grep -e "executable" -e "shared object" | grep ELF \
+ | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
+
+# Since Stuart Winter hates hard links. ;-)
+#
+# Switch a hard link with a soft link:
+( cd $PKG/usr/bin
+ find . -links +1 -not -name git | while read gitfile ; do
+ if [ git -ef $gitfile ]; then
+ rm -vf $gitfile
+ ln -vfs git $gitfile
+ fi
+ done
+)
+
+# This removes our DESTDIR from the packlist filenames, to keep perl's
+# internal inventories consistent and correct.
+find $PKG -name .packlist | while read plist ; do
+ sed -e "s%/share/man%/man%g" \
+ -e "s%$PKG%%g" \
+ -e "s%\.1$%\.1\.gz%g" \
+ -e "s%\.2$%\.2\.gz%g" \
+ -e "s%\.3$%\.3\.gz%g" \
+ -e "s%\.3pm$%\.3pm\.gz%g" \
+ -e "s%\.4$%\.4\.gz%g" \
+ -e "s%\.5$%\.5\.gz%g" \
+ -e "s%\.6$%\.6\.gz%g" \
+ -e "s%\.7$%\.7\.gz%g" \
+ -e "s%\.8$%\.8\.gz%g" \
+ ${plist} > ${plist}.new
+ mv -f ${plist}.new ${plist}
+done
+
+# This is junk:
+eval $(perl '-V:privlib')
+( cd $PKG$(dirname $privlib) && rm -rf 5.* )
+
+mkdir -p $PKG/install
+cat $CWD/slack-desc > $PKG/install/slack-desc
+
+cd $PKG
+/sbin/makepkg -l y -c n $TMP/git-$VERSION-$ARCH-$BUILD.txz
+
diff --git a/patches/source/git/git.url b/patches/source/git/git.url
new file mode 100644
index 00000000..a4c15db3
--- /dev/null
+++ b/patches/source/git/git.url
@@ -0,0 +1 @@
+https://www.kernel.org/pub/software/scm/git/
diff --git a/patches/source/git/slack-desc b/patches/source/git/slack-desc
new file mode 100644
index 00000000..271b863a
--- /dev/null
+++ b/patches/source/git/slack-desc
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|' on
+# the right side marks the last column you can put a character in. You must make
+# exactly 11 lines for the formatting to be correct. It's also customary to
+# leave one space after the ':'.
+
+ |-----handy-ruler------------------------------------------------------|
+git: git (the stupid content tracker)
+git:
+git: Git is a fast, scalable, distributed revision control system with an
+git: unusually rich command set that provides both high-level operations
+git: and full access to internals.
+git:
+git: "git" can mean anything, depending on your mood.
+git:
+git: Git was originally written by Linus Torvalds and is currently
+git: maintained by Junio C. Hamano.
+git:
diff --git a/patches/source/glibc-zoneinfo/doinst.sh b/patches/source/glibc-zoneinfo/doinst.sh
new file mode 100644
index 00000000..3c86f65e
--- /dev/null
+++ b/patches/source/glibc-zoneinfo/doinst.sh
@@ -0,0 +1,57 @@
+# In order to properly handle time before /usr is mounted (in
+# the event that /usr is a separate partition, which for a number
+# of reasons isn't really a great idea), the /etc/localtime file
+# should be a copy of the desired zoneinfo file and not a symlink
+# to a file in /usr/share/zoneinfo. But if we find a symlink here
+# we should defer to the admin's wishes and leave it alone.
+#
+# Note that setting the timezone with timeconfig will wipe both
+# /etc/localtime and /etc/localtime-copied from.
+# /etc/localtime-copied-from will be a symlink to a file under
+# /usr/share/zoneinfo, and /etc/localtime will be a copy of that file.
+
+# In a special case, we will handle the removal of the US/Pacific-New
+# timezone. A bit of background information on this:
+#
+# "US/Pacific-New' stands for 'Pacific Presidential Election Time',
+# which was passed by the House in April 1989 but never signed into law.
+# In presidential election years, this rule would have delayed the
+# PDT-to-PST switchover until after the election, to lessen the effect
+# of broadcast news election projections on last-minute west-coast
+# voters. "
+#
+# In nearly all cases, a machine that uses the US/Pacific-New timezone
+# has chosen it by mistake. In 2016, having this as the system timezone
+# actually led to clock errors, and after that it was decided that the
+# timezone (only of historical interest anyway) should be removed from
+# the timezone database.
+#
+# If we see that the machine's localtime-copied-from symlink is pointing
+# to US/Pacific-New, change it to point to US/Pacific instead.
+if [ "$(/bin/ls -l etc/localtime-copied-from | rev | cut -f 1,2 -d / | rev)" = "US/Pacific-New" ]; then
+ ( cd etc ; rm -rf localtime-copied-from )
+ ( cd etc ; ln -sf /usr/share/zoneinfo/US/Pacific localtime-copied-from )
+fi
+
+# If we have no /etc/localtime, but we do have a localtime-copied-from
+# symlink to locate what we would want there, then add a copy now:
+if [ ! -r etc/localtime -a -L etc/localtime-copied-from ]; then
+ chroot . /bin/cp etc/localtime-copied-from etc/localtime
+fi
+
+# Add the default timezone in /etc, if none exists:
+if [ ! -r etc/localtime -a ! -L etc/localtime-copied-from ]; then
+ ( cd etc ; rm -rf localtime localtime-copied-from )
+ ( cd etc ; ln -sf /usr/share/zoneinfo/Factory localtime-copied-from )
+fi
+
+# Make sure /etc/localtime is updated, unless it is a symlink (in which
+# case leave it alone):
+if [ ! -L etc/localtime ]; then
+ chroot . /bin/cp etc/localtime-copied-from etc/localtime
+fi
+
+# Add a link to the timeconfig script in /usr/share/zoneinfo:
+( cd usr/share/zoneinfo ; rm -rf timeconfig )
+( cd usr/share/zoneinfo ; ln -sf /usr/sbin/timeconfig timeconfig )
+### Make the rest of the symbolic links in the zoneinfo database:
diff --git a/patches/source/glibc-zoneinfo/glibc-zoneinfo.SlackBuild b/patches/source/glibc-zoneinfo/glibc-zoneinfo.SlackBuild
new file mode 100755
index 00000000..060858be
--- /dev/null
+++ b/patches/source/glibc-zoneinfo/glibc-zoneinfo.SlackBuild
@@ -0,0 +1,147 @@
+#!/bin/sh
+
+# Copyright 2015, 2016, 2018 Patrick J. Volkerding, Sebeka, Minnesota, USA
+# All rights reserved.
+#
+# Redistribution and use of this script, with or without modification, is
+# permitted provided that the following conditions are met:
+#
+# 1. Redistributions of this script must retain the above copyright
+# notice, this list of conditions and the following disclaimer.
+#
+# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED
+# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
+# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
+# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+PKGNAM=glibc-zoneinfo
+ZONE_VERSIONS="$(echo tzdata* | cut -f1 -d . | cut -b7-11)"
+BUILD=${BUILD:-2_slack13.0}
+
+# Automatically determine the architecture we're building on:
+if [ -z "$ARCH" ]; then
+ case "$(uname -m)" in
+ i?86) ARCH=i486 ;;
+ arm*) readelf /usr/bin/file -A | egrep -q "Tag_CPU.*[4,5]" && ARCH=arm || ARCH=armv7hl ;;
+ # Unless $ARCH is already set, use uname -m for all other archs:
+ *) ARCH=$(uname -m) ;;
+ esac
+ export ARCH
+fi
+
+NUMJOBS=${NUMJOBS:-" -j7 "}
+
+if [ "$ARCH" = "i386" ]; then
+ SLKCFLAGS="-DHAVE_SNPRINTF=1 -O2 -march=i386 -mcpu=i686"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "i486" ]; then
+ SLKCFLAGS="-DHAVE_SNPRINTF=1 -O2 -march=i486 -mtune=i686"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "i586" ]; then
+ SLKCFLAGS="-DHAVE_SNPRINTF=1 -O2 -march=i586 -mtune=i686"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "i686" ]; then
+ SLKCFLAGS="-DHAVE_SNPRINTF=1 -O2 -march=i686"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "s390" ]; then
+ SLKCFLAGS="-DHAVE_SNPRINTF=1 -O2"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "x86_64" ]; then
+ SLKCFLAGS="-DHAVE_SNPRINTF=1 -O2 -fPIC"
+ LIBDIRSUFFIX="64"
+elif [ "$ARCH" = "armv7hl" ]; then
+ SLKCFLAGS="-DHAVE_SNPRINTF=1 -O3 -march=armv7-a -mfpu=vfpv3-d16"
+ LIBDIRSUFFIX=""
+else
+ SLKCFLAGS="-DHAVE_SNPRINTF=1 -O2"
+ LIBDIRSUFFIX=""
+fi
+
+CWD=$(pwd)
+TMP=${TMP:-/tmp}
+PKG=$TMP/package-$PKGNAM
+
+rm -rf $PKG
+mkdir -p $TMP $PKG/etc
+
+# Build and install the zoneinfo database:
+cd $TMP
+rm -rf tzcodedata-build
+mkdir tzcodedata-build
+cd tzcodedata-build
+tar xzf $CWD/tzdata?????.tar.gz
+tar xzf $CWD/tzcode?????.tar.gz
+
+chown -R root:root .
+find . \
+ \( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \
+ -exec chmod 755 {} \; -o \
+ \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \
+ -exec chmod 644 {} \;
+
+sed -i "s,/usr/local,$(pwd),g" Makefile
+sed -i "s,/etc/zoneinfo,/zoneinfo,g" Makefile
+sed -i "s,^CFLAGS=,CFLAGS= $SLKCFLAGS,g" Makefile
+make
+make install DESTDIR=$PKG/stage
+
+# Install the primary zone files:
+mkdir -p $PKG/usr/share
+mv $PKG/stage/usr/share/zoneinfo $PKG/usr/share
+
+# These are all identical to the normal zoneinfo files, so let's hard link
+# them to save space:
+cp -al $PKG/usr/share/zoneinfo $PKG/usr/share/posix
+mv $PKG/usr/share/posix $PKG/usr/share/zoneinfo
+
+# Install the "right" files:
+mkdir -p $PKG/usr/share/zoneinfo/right
+cp -a $PKG/stage/usr/share/zoneinfo-leaps/* $PKG/usr/share/zoneinfo/right
+
+# Clean up staged file residue:
+rm -rf $PKG/stage
+
+# Remove $PKG/usr/share/zoneinfo/localtime -- the install script will
+# create it as a link to /etc/localtime.
+rm -f $PKG/usr/share/zoneinfo/localtime
+
+# Install some scripts to help select a timezone:
+mkdir -p $PKG/var/log/setup
+cp -a $CWD/timezone-scripts/setup.timeconfig $PKG/var/log/setup
+chown root:root $PKG/var/log/setup/setup.timeconfig
+chmod 755 $PKG/var/log/setup/setup.timeconfig
+mkdir -p $PKG/usr/sbin
+cp -a $CWD/timezone-scripts/timeconfig $PKG/usr/sbin
+chown root:root $PKG/usr/sbin/timeconfig
+chmod 755 $PKG/usr/sbin/timeconfig
+( cd $CWD/timezone-scripts
+ # Try to rebuild this:
+ sh output-updated-timeconfig.sh $PKG/usr/share/zoneinfo > $PKG/usr/sbin/timeconfig 2> /dev/null
+)
+# Note in timeconfig which zoneinfo database was used:
+sed -i "s/# ChangeLog:/# ChangeLog:\n# $(date '+%Y-%m-%d'): Updated timezones from tzdata${ZONE_VERSIONS}./g" $PKG/usr/sbin/timeconfig
+
+# Don't forget to add the /usr/share/zoneinfo/localtime -> /etc/localtime symlink! :)
+if [ ! -r $PKG/usr/share/zoneinfo/localtime ]; then
+ ( cd $PKG/usr/share/zoneinfo ; ln -sf /etc/localtime . )
+fi
+
+mkdir -p $PKG/usr/doc/glibc-zoneinfo-$ZONE_VERSIONS
+cp -a \
+ CONTRIBUTING NEWS README Theory \
+ $PKG/usr/doc/glibc-zoneinfo-$ZONE_VERSIONS
+
+mkdir -p $PKG/install
+zcat $CWD/doinst.sh.gz > $PKG/install/doinst.sh
+cat $CWD/slack-desc > $PKG/install/slack-desc
+
+cd $PKG
+makepkg -l y -c n $TMP/glibc-zoneinfo-$ZONE_VERSIONS-noarch-$BUILD.txz
+
diff --git a/patches/source/glibc-zoneinfo/slack-desc b/patches/source/glibc-zoneinfo/slack-desc
new file mode 100644
index 00000000..69420f78
--- /dev/null
+++ b/patches/source/glibc-zoneinfo/slack-desc
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|' on
+# the right side marks the last column you can put a character in. You must make
+# exactly 11 lines for the formatting to be correct. It's also customary to
+# leave one space after the ':'.
+
+ |-----handy-ruler------------------------------------------------------|
+glibc-zoneinfo: glibc-zoneinfo (timezone database)
+glibc-zoneinfo:
+glibc-zoneinfo: This package allows you to configure your time zone.
+glibc-zoneinfo:
+glibc-zoneinfo: This timezone database comes from the tzdata and tzcode packages by
+glibc-zoneinfo: Arthur David Olson et.al. The latest version and more information
+glibc-zoneinfo: may be found at: http://www.iana.org/time-zones
+glibc-zoneinfo:
+glibc-zoneinfo: Use the timeconfig utility to set your local time zone.
+glibc-zoneinfo:
+glibc-zoneinfo:
diff --git a/patches/source/glibc-zoneinfo/timezone-scripts/output-updated-timeconfig.sh b/patches/source/glibc-zoneinfo/timezone-scripts/output-updated-timeconfig.sh
new file mode 100755
index 00000000..268e4c6c
--- /dev/null
+++ b/patches/source/glibc-zoneinfo/timezone-scripts/output-updated-timeconfig.sh
@@ -0,0 +1,60 @@
+#!/bin/sh
+# Copyright 2000, 2001, 2006, 2007, 2008, 2012 Patrick J. Volkerding, Sebeka, MN, USA.
+# All rights reserved.
+#
+# Redistribution and use of this script, with or without modification, is
+# permitted provided that the following conditions are met:
+#
+# 1. Redistributions of this script must retain the above copyright
+# notice, this list of conditions and the following disclaimer.
+#
+# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED
+# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
+# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
+# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+#
+
+if [ ! "$(basename "$1")" = "zoneinfo" -o ! -d "$1" ]; then
+ echo " Usage: output-updated-timeconfig.sh <zoneinfo directory>"
+ exit 1
+fi
+
+CWD=$(pwd)
+cat $CWD/parts/00
+# Sorry, I'd rather not be US-centric but some people here have a hard
+# time finding things. ;-)
+( cd $1
+ find . -type f | xargs file | grep "timezone data" | cut -f 1 -d : | cut -f 2- -d / | sort | grep "^US/" | while read zone ; do
+ echo "\"${zone}\" \" \" \\"
+ done
+)
+# Don't list right/ and posix/ zones, as these are wrong choices for most
+# people. posix/ is just a duplicate of the normal zones, while right/ do
+# not include leap seconds. Anyone actually needing something from one of
+# those trees will have no problem selecting it by manually adjusting
+# /etc/localtime.
+( cd $1
+ find . -type f | xargs file | grep "timezone data" | cut -f 1 -d : | cut -f 2- -d / | sort | grep -v "^US/" | grep -v "^posix/" | grep -v "^right/" | while read zone ; do
+ echo "\"${zone}\" \" \" \\"
+ done
+)
+cat $CWD/parts/02
+# US/ first:
+( cd $1
+ find . -type f | xargs file | grep "timezone data" | cut -f 1 -d : | cut -f 2- -d / | sort | grep "^US/" | while read zone ; do
+ echo "${zone}"
+ done
+)
+# Don't list right/ and posix/ zones:
+( cd $1
+ find . -type f | xargs file | grep "timezone data" | cut -f 1 -d : | cut -f 2- -d / | sort | grep -v "^US/" | grep -v "^posix/" | grep -v "^right/" | while read zone ; do
+ echo "${zone}"
+ done
+)
+cat $CWD/parts/04
diff --git a/patches/source/glibc-zoneinfo/timezone-scripts/parts/00 b/patches/source/glibc-zoneinfo/timezone-scripts/parts/00
new file mode 100644
index 00000000..678094e1
--- /dev/null
+++ b/patches/source/glibc-zoneinfo/timezone-scripts/parts/00
@@ -0,0 +1,132 @@
+#!/bin/sh
+#
+# timeconfig Slackware Linux timezone configuration utility.
+#
+# Author: Patrick Volkerding <volkerdi@slackware.com>
+# Modified by: David Cantrell <david@slackware.com>, 06-Oct-2000
+#
+# ChangeLog:
+# 2014-10-22: Updated timezones from tzdata2014i. <pjv>
+# 2012-12-12: Updated timezones from tzdata2012j. <pjv>
+# 2008-03-10: Updated timezones from tzdata2008a. <pjv>
+# 2007-12-21: Updated timezones from tzdata2007j. <pjv>
+# 2006-12-03: Updated timezones from tzdata2006p. <pjv>
+# 2006-09-14: Updated timezones from tzdata2006k. <pjv>
+# 2006-08-22: Updated timezones from tzdata2006j.
+# 2006-08-13: Updated timezones from tzdata2006g.
+# 2006-03-13: Updated timezones from tzdata2006c.
+# 19-Feb-2001 Add new timezones from glibc-2.2.2.
+# 06-Oct-2000 Fixed a problem with selecting UTC time. It was writing
+# the hardwareclock file to the root disk and not your dest
+# partition. Changed the HWCLOCK_CONF variable to be
+# $T_PX/etc/hardwareclock to fix this. Thanks to David L.
+# Dickman <softbear@optonline.net> for finding this and
+# submitting a patch.
+#
+# 15-Mar-2000 Added the writeconf function to write out the
+# /etc/hardwareclock file which tells what the hardware clock
+# is set to (UTC or localtime).
+#
+# 03-Mar-2000 Reorganized script. Made one timezone set block, added
+# stage that asks the user if the hardware clock is set to
+# UTC.
+
+# setup our temp locations and variables
+TMP=/var/log/setup/tmp
+if [ -r $TMP/SeTT_PX ]; then
+ T_PX="`cat $TMP/SeTT_PX`"
+elif [ ! "$!" = "" ]; then
+ T_PX=$1
+else
+ T_PX=/
+fi
+
+# the hardware clock configuration file
+HWCLOCK_CONF=$T_PX/etc/hardwareclock
+
+# setzone( $TIMEZONE )
+#
+# This function accepts a time zone as the only parameter and sets it as
+# the default system time zone.
+setzone()
+{
+ TZ=$1
+
+ cd $T_PX/etc
+ if [ -r $T_PX/usr/share/zoneinfo/$TZ -o \
+ -r /var/log/mount/usr/share/zoneinfo/$TZ -o \
+ -L $T_PX/usr/share/zoneinfo/$TZ -o \
+ -L /var/log/mount/usr/share/zoneinfo/$TZ ]; then
+ rm -f localtime-copied-from
+ ln -sf /usr/share/zoneinfo/$TZ localtime-copied-from
+ rm -f localtime
+ cd ..
+ chroot . cp etc/localtime-copied-from etc/localtime
+ fi
+}
+
+# writeconf( $CLOCK_SET_TO )
+#
+# Writes out $HWCLOCK_CONF that tells rc.S how the hardware clock
+# value is stored.
+writeconf()
+{
+ echo "# /etc/hardwareclock" > $HWCLOCK_CONF
+ echo "#" >> $HWCLOCK_CONF
+ echo "# Tells how the hardware clock time is stored." >> $HWCLOCK_CONF
+ echo "# You should run timeconfig to edit this file." >> $HWCLOCK_CONF
+ echo >> $HWCLOCK_CONF
+ echo $1 >> $HWCLOCK_CONF
+}
+
+# ask the user if the hardware clock is set for UTC/GMT
+if [ "$COLOR" = "on" -o -r $TMP/SeTcolor -o "$T_PX" = "/" ]; then
+ ###
+ ### use color menus here
+ ###
+ dialog --title "HARDWARE CLOCK SET TO UTC?" --menu "Is the hardware clock set \
+to Coordinated Universal Time (UTC/GMT)? If it is, select YES here. If the \
+hardware clock is set to the current local time (this is how most PCs are set \
+up), then say NO here. If you are not sure what this is, you should answer NO \
+here." 13 60 2 \
+ "NO" "Hardware clock is set to local time" \
+ "YES" "Hardware clock is set to UTC" \
+ 2> $TMP/utc
+ if [ $? = 1 -o $? = 255 ]; then
+ rm -f $TMP/utc
+ exit
+ fi
+ if [ "`cat $TMP/utc`" = "YES" ]; then
+ # yes, the hardware clock is UTC
+ writeconf "UTC"
+ else # must be NO
+ writeconf "localtime"
+ fi
+ rm -f $TMP/utc
+else
+ ###
+ ### use text prompts
+ ###
+ echo "Is the hardware clock set to Coordinated Universal Time (UTC/GMT)?"
+ echo "If it is, select 'y' here. If the hardware clock is set to the"
+ echo "current local time (this is how most PCs are set up), then say 'n'"
+ echo "here. If you are not sure what this is, you should answer 'n' here."
+ echo
+ echo -n "Is your hardware clock set to UTC ([y]es, [n]o)? "
+ read HEJAZ
+
+ if [ "$HEJAZ" = "y" -o "$HEJAZ" = "Y" -o "$HEJAZ" = "YES" -o "$HEJAZ" = "yes" ]; then
+ # yes, the hardware clock is UTC
+ writeconf "UTC"
+ else
+ # default to localtime
+ writeconf "localtime"
+ fi
+fi
+
+# Now set the correct timezone link:
+if [ "$COLOR" = "on" -o -r $TMP/SeTcolor -o "$T_PX" = "/" ]; then
+ ###
+ ### use color menus here
+ ###
+ dialog --title "TIMEZONE CONFIGURATION" --menu "Please select one of the following timezones for your machine:" 21 50 13 \
diff --git a/patches/source/glibc-zoneinfo/timezone-scripts/parts/01 b/patches/source/glibc-zoneinfo/timezone-scripts/parts/01
new file mode 100644
index 00000000..999f67d7
--- /dev/null
+++ b/patches/source/glibc-zoneinfo/timezone-scripts/parts/01
@@ -0,0 +1,585 @@
+"US/Alaska" " " \
+"US/Aleutian" " " \
+"US/Arizona" " " \
+"US/Central" " " \
+"US/East-Indiana" " " \
+"US/Eastern" " " \
+"US/Hawaii" " " \
+"US/Indiana-Starke" " " \
+"US/Michigan" " " \
+"US/Mountain" " " \
+"US/Pacific" " " \
+"US/Pacific-New" " " \
+"US/Samoa" " " \
+"Africa/Abidjan" " " \
+"Africa/Accra" " " \
+"Africa/Addis_Ababa" " " \
+"Africa/Algiers" " " \
+"Africa/Asmara" " " \
+"Africa/Asmera" " " \
+"Africa/Bamako" " " \
+"Africa/Bangui" " " \
+"Africa/Banjul" " " \
+"Africa/Bissau" " " \
+"Africa/Blantyre" " " \
+"Africa/Brazzaville" " " \
+"Africa/Bujumbura" " " \
+"Africa/Cairo" " " \
+"Africa/Casablanca" " " \
+"Africa/Ceuta" " " \
+"Africa/Conakry" " " \
+"Africa/Dakar" " " \
+"Africa/Dar_es_Salaam" " " \
+"Africa/Djibouti" " " \
+"Africa/Douala" " " \
+"Africa/El_Aaiun" " " \
+"Africa/Freetown" " " \
+"Africa/Gaborone" " " \
+"Africa/Harare" " " \
+"Africa/Johannesburg" " " \
+"Africa/Juba" " " \
+"Africa/Kampala" " " \
+"Africa/Khartoum" " " \
+"Africa/Kigali" " " \
+"Africa/Kinshasa" " " \
+"Africa/Lagos" " " \
+"Africa/Libreville" " " \
+"Africa/Lome" " " \
+"Africa/Luanda" " " \
+"Africa/Lubumbashi" " " \
+"Africa/Lusaka" " " \
+"Africa/Malabo" " " \
+"Africa/Maputo" " " \
+"Africa/Maseru" " " \
+"Africa/Mbabane" " " \
+"Africa/Mogadishu" " " \
+"Africa/Monrovia" " " \
+"Africa/Nairobi" " " \
+"Africa/Ndjamena" " " \
+"Africa/Niamey" " " \
+"Africa/Nouakchott" " " \
+"Africa/Ouagadougou" " " \
+"Africa/Porto-Novo" " " \
+"Africa/Sao_Tome" " " \
+"Africa/Timbuktu" " " \
+"Africa/Tripoli" " " \
+"Africa/Tunis" " " \
+"Africa/Windhoek" " " \
+"America/Adak" " " \
+"America/Anchorage" " " \
+"America/Anguilla" " " \
+"America/Antigua" " " \
+"America/Araguaina" " " \
+"America/Argentina/Buenos_Aires" " " \
+"America/Argentina/Catamarca" " " \
+"America/Argentina/ComodRivadavia" " " \
+"America/Argentina/Cordoba" " " \
+"America/Argentina/Jujuy" " " \
+"America/Argentina/La_Rioja" " " \
+"America/Argentina/Mendoza" " " \
+"America/Argentina/Rio_Gallegos" " " \
+"America/Argentina/Salta" " " \
+"America/Argentina/San_Juan" " " \
+"America/Argentina/San_Luis" " " \
+"America/Argentina/Tucuman" " " \
+"America/Argentina/Ushuaia" " " \
+"America/Aruba" " " \
+"America/Asuncion" " " \
+"America/Atikokan" " " \
+"America/Atka" " " \
+"America/Bahia" " " \
+"America/Bahia_Banderas" " " \
+"America/Barbados" " " \
+"America/Belem" " " \
+"America/Belize" " " \
+"America/Blanc-Sablon" " " \
+"America/Boa_Vista" " " \
+"America/Bogota" " " \
+"America/Boise" " " \
+"America/Buenos_Aires" " " \
+"America/Cambridge_Bay" " " \
+"America/Campo_Grande" " " \
+"America/Cancun" " " \
+"America/Caracas" " " \
+"America/Catamarca" " " \
+"America/Cayenne" " " \
+"America/Cayman" " " \
+"America/Chicago" " " \
+"America/Chihuahua" " " \
+"America/Coral_Harbour" " " \
+"America/Cordoba" " " \
+"America/Costa_Rica" " " \
+"America/Creston" " " \
+"America/Cuiaba" " " \
+"America/Curacao" " " \
+"America/Danmarkshavn" " " \
+"America/Dawson" " " \
+"America/Dawson_Creek" " " \
+"America/Denver" " " \
+"America/Detroit" " " \
+"America/Dominica" " " \
+"America/Edmonton" " " \
+"America/Eirunepe" " " \
+"America/El_Salvador" " " \
+"America/Ensenada" " " \
+"America/Fort_Nelson" " " \
+"America/Fort_Wayne" " " \
+"America/Fortaleza" " " \
+"America/Glace_Bay" " " \
+"America/Godthab" " " \
+"America/Goose_Bay" " " \
+"America/Grand_Turk" " " \
+"America/Grenada" " " \
+"America/Guadeloupe" " " \
+"America/Guatemala" " " \
+"America/Guayaquil" " " \
+"America/Guyana" " " \
+"America/Halifax" " " \
+"America/Havana" " " \
+"America/Hermosillo" " " \
+"America/Indiana/Indianapolis" " " \
+"America/Indiana/Knox" " " \
+"America/Indiana/Marengo" " " \
+"America/Indiana/Petersburg" " " \
+"America/Indiana/Tell_City" " " \
+"America/Indiana/Vevay" " " \
+"America/Indiana/Vincennes" " " \
+"America/Indiana/Winamac" " " \
+"America/Indianapolis" " " \
+"America/Inuvik" " " \
+"America/Iqaluit" " " \
+"America/Jamaica" " " \
+"America/Jujuy" " " \
+"America/Juneau" " " \
+"America/Kentucky/Louisville" " " \
+"America/Kentucky/Monticello" " " \
+"America/Knox_IN" " " \
+"America/Kralendijk" " " \
+"America/La_Paz" " " \
+"America/Lima" " " \
+"America/Los_Angeles" " " \
+"America/Louisville" " " \
+"America/Lower_Princes" " " \
+"America/Maceio" " " \
+"America/Managua" " " \
+"America/Manaus" " " \
+"America/Marigot" " " \
+"America/Martinique" " " \
+"America/Matamoros" " " \
+"America/Mazatlan" " " \
+"America/Mendoza" " " \
+"America/Menominee" " " \
+"America/Merida" " " \
+"America/Metlakatla" " " \
+"America/Mexico_City" " " \
+"America/Miquelon" " " \
+"America/Moncton" " " \
+"America/Monterrey" " " \
+"America/Montevideo" " " \
+"America/Montreal" " " \
+"America/Montserrat" " " \
+"America/Nassau" " " \
+"America/New_York" " " \
+"America/Nipigon" " " \
+"America/Nome" " " \
+"America/Noronha" " " \
+"America/North_Dakota/Beulah" " " \
+"America/North_Dakota/Center" " " \
+"America/North_Dakota/New_Salem" " " \
+"America/Ojinaga" " " \
+"America/Panama" " " \
+"America/Pangnirtung" " " \
+"America/Paramaribo" " " \
+"America/Phoenix" " " \
+"America/Port-au-Prince" " " \
+"America/Port_of_Spain" " " \
+"America/Porto_Acre" " " \
+"America/Porto_Velho" " " \
+"America/Puerto_Rico" " " \
+"America/Rainy_River" " " \
+"America/Rankin_Inlet" " " \
+"America/Recife" " " \
+"America/Regina" " " \
+"America/Resolute" " " \
+"America/Rio_Branco" " " \
+"America/Rosario" " " \
+"America/Santa_Isabel" " " \
+"America/Santarem" " " \
+"America/Santiago" " " \
+"America/Santo_Domingo" " " \
+"America/Sao_Paulo" " " \
+"America/Scoresbysund" " " \
+"America/Shiprock" " " \
+"America/Sitka" " " \
+"America/St_Barthelemy" " " \
+"America/St_Johns" " " \
+"America/St_Kitts" " " \
+"America/St_Lucia" " " \
+"America/St_Thomas" " " \
+"America/St_Vincent" " " \
+"America/Swift_Current" " " \
+"America/Tegucigalpa" " " \
+"America/Thule" " " \
+"America/Thunder_Bay" " " \
+"America/Tijuana" " " \
+"America/Toronto" " " \
+"America/Tortola" " " \
+"America/Vancouver" " " \
+"America/Virgin" " " \
+"America/Whitehorse" " " \
+"America/Winnipeg" " " \
+"America/Yakutat" " " \
+"America/Yellowknife" " " \
+"Antarctica/Casey" " " \
+"Antarctica/Davis" " " \
+"Antarctica/DumontDUrville" " " \
+"Antarctica/Macquarie" " " \
+"Antarctica/Mawson" " " \
+"Antarctica/McMurdo" " " \
+"Antarctica/Palmer" " " \
+"Antarctica/Rothera" " " \
+"Antarctica/South_Pole" " " \
+"Antarctica/Syowa" " " \
+"Antarctica/Troll" " " \
+"Antarctica/Vostok" " " \
+"Arctic/Longyearbyen" " " \
+"Asia/Aden" " " \
+"Asia/Almaty" " " \
+"Asia/Amman" " " \
+"Asia/Anadyr" " " \
+"Asia/Aqtau" " " \
+"Asia/Aqtobe" " " \
+"Asia/Ashgabat" " " \
+"Asia/Ashkhabad" " " \
+"Asia/Baghdad" " " \
+"Asia/Bahrain" " " \
+"Asia/Baku" " " \
+"Asia/Bangkok" " " \
+"Asia/Beirut" " " \
+"Asia/Bishkek" " " \
+"Asia/Brunei" " " \
+"Asia/Calcutta" " " \
+"Asia/Chita" " " \
+"Asia/Choibalsan" " " \
+"Asia/Chongqing" " " \
+"Asia/Chungking" " " \
+"Asia/Colombo" " " \
+"Asia/Dacca" " " \
+"Asia/Damascus" " " \
+"Asia/Dhaka" " " \
+"Asia/Dili" " " \
+"Asia/Dubai" " " \
+"Asia/Dushanbe" " " \
+"Asia/Gaza" " " \
+"Asia/Harbin" " " \
+"Asia/Hebron" " " \
+"Asia/Ho_Chi_Minh" " " \
+"Asia/Hong_Kong" " " \
+"Asia/Hovd" " " \
+"Asia/Irkutsk" " " \
+"Asia/Istanbul" " " \
+"Asia/Jakarta" " " \
+"Asia/Jayapura" " " \
+"Asia/Jerusalem" " " \
+"Asia/Kabul" " " \
+"Asia/Kamchatka" " " \
+"Asia/Karachi" " " \
+"Asia/Kashgar" " " \
+"Asia/Kathmandu" " " \
+"Asia/Katmandu" " " \
+"Asia/Khandyga" " " \
+"Asia/Kolkata" " " \
+"Asia/Krasnoyarsk" " " \
+"Asia/Kuala_Lumpur" " " \
+"Asia/Kuching" " " \
+"Asia/Kuwait" " " \
+"Asia/Macao" " " \
+"Asia/Macau" " " \
+"Asia/Magadan" " " \
+"Asia/Makassar" " " \
+"Asia/Manila" " " \
+"Asia/Muscat" " " \
+"Asia/Nicosia" " " \
+"Asia/Novokuznetsk" " " \
+"Asia/Novosibirsk" " " \
+"Asia/Omsk" " " \
+"Asia/Oral" " " \
+"Asia/Phnom_Penh" " " \
+"Asia/Pontianak" " " \
+"Asia/Pyongyang" " " \
+"Asia/Qatar" " " \
+"Asia/Qyzylorda" " " \
+"Asia/Rangoon" " " \
+"Asia/Riyadh" " " \
+"Asia/Saigon" " " \
+"Asia/Sakhalin" " " \
+"Asia/Samarkand" " " \
+"Asia/Seoul" " " \
+"Asia/Shanghai" " " \
+"Asia/Singapore" " " \
+"Asia/Srednekolymsk" " " \
+"Asia/Taipei" " " \
+"Asia/Tashkent" " " \
+"Asia/Tbilisi" " " \
+"Asia/Tehran" " " \
+"Asia/Tel_Aviv" " " \
+"Asia/Thimbu" " " \
+"Asia/Thimphu" " " \
+"Asia/Tokyo" " " \
+"Asia/Ujung_Pandang" " " \
+"Asia/Ulaanbaatar" " " \
+"Asia/Ulan_Bator" " " \
+"Asia/Urumqi" " " \
+"Asia/Ust-Nera" " " \
+"Asia/Vientiane" " " \
+"Asia/Vladivostok" " " \
+"Asia/Yakutsk" " " \
+"Asia/Yekaterinburg" " " \
+"Asia/Yerevan" " " \
+"Atlantic/Azores" " " \
+"Atlantic/Bermuda" " " \
+"Atlantic/Canary" " " \
+"Atlantic/Cape_Verde" " " \
+"Atlantic/Faeroe" " " \
+"Atlantic/Faroe" " " \
+"Atlantic/Jan_Mayen" " " \
+"Atlantic/Madeira" " " \
+"Atlantic/Reykjavik" " " \
+"Atlantic/South_Georgia" " " \
+"Atlantic/St_Helena" " " \
+"Atlantic/Stanley" " " \
+"Australia/ACT" " " \
+"Australia/Adelaide" " " \
+"Australia/Brisbane" " " \
+"Australia/Broken_Hill" " " \
+"Australia/Canberra" " " \
+"Australia/Currie" " " \
+"Australia/Darwin" " " \
+"Australia/Eucla" " " \
+"Australia/Hobart" " " \
+"Australia/LHI" " " \
+"Australia/Lindeman" " " \
+"Australia/Lord_Howe" " " \
+"Australia/Melbourne" " " \
+"Australia/NSW" " " \
+"Australia/North" " " \
+"Australia/Perth" " " \
+"Australia/Queensland" " " \
+"Australia/South" " " \
+"Australia/Sydney" " " \
+"Australia/Tasmania" " " \
+"Australia/Victoria" " " \
+"Australia/West" " " \
+"Australia/Yancowinna" " " \
+"Brazil/Acre" " " \
+"Brazil/DeNoronha" " " \
+"Brazil/East" " " \
+"Brazil/West" " " \
+"CET" " " \
+"CST6CDT" " " \
+"Canada/Atlantic" " " \
+"Canada/Central" " " \
+"Canada/East-Saskatchewan" " " \
+"Canada/Eastern" " " \
+"Canada/Mountain" " " \
+"Canada/Newfoundland" " " \
+"Canada/Pacific" " " \
+"Canada/Saskatchewan" " " \
+"Canada/Yukon" " " \
+"Chile/Continental" " " \
+"Chile/EasterIsland" " " \
+"Cuba" " " \
+"EET" " " \
+"EST" " " \
+"EST5EDT" " " \
+"Egypt" " " \
+"Eire" " " \
+"Etc/GMT" " " \
+"Etc/GMT+0" " " \
+"Etc/GMT+1" " " \
+"Etc/GMT+10" " " \
+"Etc/GMT+11" " " \
+"Etc/GMT+12" " " \
+"Etc/GMT+2" " " \
+"Etc/GMT+3" " " \
+"Etc/GMT+4" " " \
+"Etc/GMT+5" " " \
+"Etc/GMT+6" " " \
+"Etc/GMT+7" " " \
+"Etc/GMT+8" " " \
+"Etc/GMT+9" " " \
+"Etc/GMT-0" " " \
+"Etc/GMT-1" " " \
+"Etc/GMT-10" " " \
+"Etc/GMT-11" " " \
+"Etc/GMT-12" " " \
+"Etc/GMT-13" " " \
+"Etc/GMT-14" " " \
+"Etc/GMT-2" " " \
+"Etc/GMT-3" " " \
+"Etc/GMT-4" " " \
+"Etc/GMT-5" " " \
+"Etc/GMT-6" " " \
+"Etc/GMT-7" " " \
+"Etc/GMT-8" " " \
+"Etc/GMT-9" " " \
+"Etc/GMT0" " " \
+"Etc/Greenwich" " " \
+"Etc/UCT" " " \
+"Etc/UTC" " " \
+"Etc/Universal" " " \
+"Etc/Zulu" " " \
+"Europe/Amsterdam" " " \
+"Europe/Andorra" " " \
+"Europe/Athens" " " \
+"Europe/Belfast" " " \
+"Europe/Belgrade" " " \
+"Europe/Berlin" " " \
+"Europe/Bratislava" " " \
+"Europe/Brussels" " " \
+"Europe/Bucharest" " " \
+"Europe/Budapest" " " \
+"Europe/Busingen" " " \
+"Europe/Chisinau" " " \
+"Europe/Copenhagen" " " \
+"Europe/Dublin" " " \
+"Europe/Gibraltar" " " \
+"Europe/Guernsey" " " \
+"Europe/Helsinki" " " \
+"Europe/Isle_of_Man" " " \
+"Europe/Istanbul" " " \
+"Europe/Jersey" " " \
+"Europe/Kaliningrad" " " \
+"Europe/Kiev" " " \
+"Europe/Lisbon" " " \
+"Europe/Ljubljana" " " \
+"Europe/London" " " \
+"Europe/Luxembourg" " " \
+"Europe/Madrid" " " \
+"Europe/Malta" " " \
+"Europe/Mariehamn" " " \
+"Europe/Minsk" " " \
+"Europe/Monaco" " " \
+"Europe/Moscow" " " \
+"Europe/Nicosia" " " \
+"Europe/Oslo" " " \
+"Europe/Paris" " " \
+"Europe/Podgorica" " " \
+"Europe/Prague" " " \
+"Europe/Riga" " " \
+"Europe/Rome" " " \
+"Europe/Samara" " " \
+"Europe/San_Marino" " " \
+"Europe/Sarajevo" " " \
+"Europe/Simferopol" " " \
+"Europe/Skopje" " " \
+"Europe/Sofia" " " \
+"Europe/Stockholm" " " \
+"Europe/Tallinn" " " \
+"Europe/Tirane" " " \
+"Europe/Tiraspol" " " \
+"Europe/Uzhgorod" " " \
+"Europe/Vaduz" " " \
+"Europe/Vatican" " " \
+"Europe/Vienna" " " \
+"Europe/Vilnius" " " \
+"Europe/Volgograd" " " \
+"Europe/Warsaw" " " \
+"Europe/Zagreb" " " \
+"Europe/Zaporozhye" " " \
+"Europe/Zurich" " " \
+"Factory" " " \
+"GB" " " \
+"GB-Eire" " " \
+"GMT" " " \
+"GMT+0" " " \
+"GMT-0" " " \
+"GMT0" " " \
+"Greenwich" " " \
+"HST" " " \
+"Hongkong" " " \
+"Iceland" " " \
+"Indian/Antananarivo" " " \
+"Indian/Chagos" " " \
+"Indian/Christmas" " " \
+"Indian/Cocos" " " \
+"Indian/Comoro" " " \
+"Indian/Kerguelen" " " \
+"Indian/Mahe" " " \
+"Indian/Maldives" " " \
+"Indian/Mauritius" " " \
+"Indian/Mayotte" " " \
+"Indian/Reunion" " " \
+"Iran" " " \
+"Israel" " " \
+"Jamaica" " " \
+"Japan" " " \
+"Kwajalein" " " \
+"Libya" " " \
+"MET" " " \
+"MST" " " \
+"MST7MDT" " " \
+"Mexico/BajaNorte" " " \
+"Mexico/BajaSur" " " \
+"Mexico/General" " " \
+"NZ" " " \
+"NZ-CHAT" " " \
+"Navajo" " " \
+"PRC" " " \
+"PST8PDT" " " \
+"Pacific/Apia" " " \
+"Pacific/Auckland" " " \
+"Pacific/Bougainville" " " \
+"Pacific/Chatham" " " \
+"Pacific/Chuuk" " " \
+"Pacific/Easter" " " \
+"Pacific/Efate" " " \
+"Pacific/Enderbury" " " \
+"Pacific/Fakaofo" " " \
+"Pacific/Fiji" " " \
+"Pacific/Funafuti" " " \
+"Pacific/Galapagos" " " \
+"Pacific/Gambier" " " \
+"Pacific/Guadalcanal" " " \
+"Pacific/Guam" " " \
+"Pacific/Honolulu" " " \
+"Pacific/Johnston" " " \
+"Pacific/Kiritimati" " " \
+"Pacific/Kosrae" " " \
+"Pacific/Kwajalein" " " \
+"Pacific/Majuro" " " \
+"Pacific/Marquesas" " " \
+"Pacific/Midway" " " \
+"Pacific/Nauru" " " \
+"Pacific/Niue" " " \
+"Pacific/Norfolk" " " \
+"Pacific/Noumea" " " \
+"Pacific/Pago_Pago" " " \
+"Pacific/Palau" " " \
+"Pacific/Pitcairn" " " \
+"Pacific/Pohnpei" " " \
+"Pacific/Ponape" " " \
+"Pacific/Port_Moresby" " " \
+"Pacific/Rarotonga" " " \
+"Pacific/Saipan" " " \
+"Pacific/Samoa" " " \
+"Pacific/Tahiti" " " \
+"Pacific/Tarawa" " " \
+"Pacific/Tongatapu" " " \
+"Pacific/Truk" " " \
+"Pacific/Wake" " " \
+"Pacific/Wallis" " " \
+"Pacific/Yap" " " \
+"Poland" " " \
+"Portugal" " " \
+"ROC" " " \
+"ROK" " " \
+"Singapore" " " \
+"Turkey" " " \
+"UCT" " " \
+"UTC" " " \
+"Universal" " " \
+"W-SU" " " \
+"WET" " " \
+"Zulu" " " \
+"posixrules" " " \
diff --git a/patches/source/glibc-zoneinfo/timezone-scripts/parts/02 b/patches/source/glibc-zoneinfo/timezone-scripts/parts/02
new file mode 100644
index 00000000..bd5a50bb
--- /dev/null
+++ b/patches/source/glibc-zoneinfo/timezone-scripts/parts/02
@@ -0,0 +1,28 @@
+ 2> $TMP/tz
+
+ if [ $? = 1 -o $? = 255 ]; then
+ rm -f $TMP/tz
+ exit
+ fi
+
+ TIMEZONE="`cat $TMP/tz`"
+ rm -f $TMP/tz
+
+ setzone $TIMEZONE
+ exit
+else
+ ###
+ ### use text prompts
+ ###
+ while [ 0 ]; do
+ echo -n "Would you like to configure your timezone ([y]es, [n]o)? "
+ read TIMECONF;
+ echo
+
+ if [ "$TIMECONF" = "n" ]; then
+ break
+ fi
+
+ cat << EOF
+Select one of these timezones:
+
diff --git a/patches/source/glibc-zoneinfo/timezone-scripts/parts/03 b/patches/source/glibc-zoneinfo/timezone-scripts/parts/03
new file mode 100644
index 00000000..f595dfab
--- /dev/null
+++ b/patches/source/glibc-zoneinfo/timezone-scripts/parts/03
@@ -0,0 +1,585 @@
+US/Alaska
+US/Aleutian
+US/Arizona
+US/Central
+US/East-Indiana
+US/Eastern
+US/Hawaii
+US/Indiana-Starke
+US/Michigan
+US/Mountain
+US/Pacific
+US/Pacific-New
+US/Samoa
+Africa/Abidjan
+Africa/Accra
+Africa/Addis_Ababa
+Africa/Algiers
+Africa/Asmara
+Africa/Asmera
+Africa/Bamako
+Africa/Bangui
+Africa/Banjul
+Africa/Bissau
+Africa/Blantyre
+Africa/Brazzaville
+Africa/Bujumbura
+Africa/Cairo
+Africa/Casablanca
+Africa/Ceuta
+Africa/Conakry
+Africa/Dakar
+Africa/Dar_es_Salaam
+Africa/Djibouti
+Africa/Douala
+Africa/El_Aaiun
+Africa/Freetown
+Africa/Gaborone
+Africa/Harare
+Africa/Johannesburg
+Africa/Juba
+Africa/Kampala
+Africa/Khartoum
+Africa/Kigali
+Africa/Kinshasa
+Africa/Lagos
+Africa/Libreville
+Africa/Lome
+Africa/Luanda
+Africa/Lubumbashi
+Africa/Lusaka
+Africa/Malabo
+Africa/Maputo
+Africa/Maseru
+Africa/Mbabane
+Africa/Mogadishu
+Africa/Monrovia
+Africa/Nairobi
+Africa/Ndjamena
+Africa/Niamey
+Africa/Nouakchott
+Africa/Ouagadougou
+Africa/Porto-Novo
+Africa/Sao_Tome
+Africa/Timbuktu
+Africa/Tripoli
+Africa/Tunis
+Africa/Windhoek
+America/Adak
+America/Anchorage
+America/Anguilla
+America/Antigua
+America/Araguaina
+America/Argentina/Buenos_Aires
+America/Argentina/Catamarca
+America/Argentina/ComodRivadavia
+America/Argentina/Cordoba
+America/Argentina/Jujuy
+America/Argentina/La_Rioja
+America/Argentina/Mendoza
+America/Argentina/Rio_Gallegos
+America/Argentina/Salta
+America/Argentina/San_Juan
+America/Argentina/San_Luis
+America/Argentina/Tucuman
+America/Argentina/Ushuaia
+America/Aruba
+America/Asuncion
+America/Atikokan
+America/Atka
+America/Bahia
+America/Bahia_Banderas
+America/Barbados
+America/Belem
+America/Belize
+America/Blanc-Sablon
+America/Boa_Vista
+America/Bogota
+America/Boise
+America/Buenos_Aires
+America/Cambridge_Bay
+America/Campo_Grande
+America/Cancun
+America/Caracas
+America/Catamarca
+America/Cayenne
+America/Cayman
+America/Chicago
+America/Chihuahua
+America/Coral_Harbour
+America/Cordoba
+America/Costa_Rica
+America/Creston
+America/Cuiaba
+America/Curacao
+America/Danmarkshavn
+America/Dawson
+America/Dawson_Creek
+America/Denver
+America/Detroit
+America/Dominica
+America/Edmonton
+America/Eirunepe
+America/El_Salvador
+America/Ensenada
+America/Fort_Nelson
+America/Fort_Wayne
+America/Fortaleza
+America/Glace_Bay
+America/Godthab
+America/Goose_Bay
+America/Grand_Turk
+America/Grenada
+America/Guadeloupe
+America/Guatemala
+America/Guayaquil
+America/Guyana
+America/Halifax
+America/Havana
+America/Hermosillo
+America/Indiana/Indianapolis
+America/Indiana/Knox
+America/Indiana/Marengo
+America/Indiana/Petersburg
+America/Indiana/Tell_City
+America/Indiana/Vevay
+America/Indiana/Vincennes
+America/Indiana/Winamac
+America/Indianapolis
+America/Inuvik
+America/Iqaluit
+America/Jamaica
+America/Jujuy
+America/Juneau
+America/Kentucky/Louisville
+America/Kentucky/Monticello
+America/Knox_IN
+America/Kralendijk
+America/La_Paz
+America/Lima
+America/Los_Angeles
+America/Louisville
+America/Lower_Princes
+America/Maceio
+America/Managua
+America/Manaus
+America/Marigot
+America/Martinique
+America/Matamoros
+America/Mazatlan
+America/Mendoza
+America/Menominee
+America/Merida
+America/Metlakatla
+America/Mexico_City
+America/Miquelon
+America/Moncton
+America/Monterrey
+America/Montevideo
+America/Montreal
+America/Montserrat
+America/Nassau
+America/New_York
+America/Nipigon
+America/Nome
+America/Noronha
+America/North_Dakota/Beulah
+America/North_Dakota/Center
+America/North_Dakota/New_Salem
+America/Ojinaga
+America/Panama
+America/Pangnirtung
+America/Paramaribo
+America/Phoenix
+America/Port-au-Prince
+America/Port_of_Spain
+America/Porto_Acre
+America/Porto_Velho
+America/Puerto_Rico
+America/Rainy_River
+America/Rankin_Inlet
+America/Recife
+America/Regina
+America/Resolute
+America/Rio_Branco
+America/Rosario
+America/Santa_Isabel
+America/Santarem
+America/Santiago
+America/Santo_Domingo
+America/Sao_Paulo
+America/Scoresbysund
+America/Shiprock
+America/Sitka
+America/St_Barthelemy
+America/St_Johns
+America/St_Kitts
+America/St_Lucia
+America/St_Thomas
+America/St_Vincent
+America/Swift_Current
+America/Tegucigalpa
+America/Thule
+America/Thunder_Bay
+America/Tijuana
+America/Toronto
+America/Tortola
+America/Vancouver
+America/Virgin
+America/Whitehorse
+America/Winnipeg
+America/Yakutat
+America/Yellowknife
+Antarctica/Casey
+Antarctica/Davis
+Antarctica/DumontDUrville
+Antarctica/Macquarie
+Antarctica/Mawson
+Antarctica/McMurdo
+Antarctica/Palmer
+Antarctica/Rothera
+Antarctica/South_Pole
+Antarctica/Syowa
+Antarctica/Troll
+Antarctica/Vostok
+Arctic/Longyearbyen
+Asia/Aden
+Asia/Almaty
+Asia/Amman
+Asia/Anadyr
+Asia/Aqtau
+Asia/Aqtobe
+Asia/Ashgabat
+Asia/Ashkhabad
+Asia/Baghdad
+Asia/Bahrain
+Asia/Baku
+Asia/Bangkok
+Asia/Beirut
+Asia/Bishkek
+Asia/Brunei
+Asia/Calcutta
+Asia/Chita
+Asia/Choibalsan
+Asia/Chongqing
+Asia/Chungking
+Asia/Colombo
+Asia/Dacca
+Asia/Damascus
+Asia/Dhaka
+Asia/Dili
+Asia/Dubai
+Asia/Dushanbe
+Asia/Gaza
+Asia/Harbin
+Asia/Hebron
+Asia/Ho_Chi_Minh
+Asia/Hong_Kong
+Asia/Hovd
+Asia/Irkutsk
+Asia/Istanbul
+Asia/Jakarta
+Asia/Jayapura
+Asia/Jerusalem
+Asia/Kabul
+Asia/Kamchatka
+Asia/Karachi
+Asia/Kashgar
+Asia/Kathmandu
+Asia/Katmandu
+Asia/Khandyga
+Asia/Kolkata
+Asia/Krasnoyarsk
+Asia/Kuala_Lumpur
+Asia/Kuching
+Asia/Kuwait
+Asia/Macao
+Asia/Macau
+Asia/Magadan
+Asia/Makassar
+Asia/Manila
+Asia/Muscat
+Asia/Nicosia
+Asia/Novokuznetsk
+Asia/Novosibirsk
+Asia/Omsk
+Asia/Oral
+Asia/Phnom_Penh
+Asia/Pontianak
+Asia/Pyongyang
+Asia/Qatar
+Asia/Qyzylorda
+Asia/Rangoon
+Asia/Riyadh
+Asia/Saigon
+Asia/Sakhalin
+Asia/Samarkand
+Asia/Seoul
+Asia/Shanghai
+Asia/Singapore
+Asia/Srednekolymsk
+Asia/Taipei
+Asia/Tashkent
+Asia/Tbilisi
+Asia/Tehran
+Asia/Tel_Aviv
+Asia/Thimbu
+Asia/Thimphu
+Asia/Tokyo
+Asia/Ujung_Pandang
+Asia/Ulaanbaatar
+Asia/Ulan_Bator
+Asia/Urumqi
+Asia/Ust-Nera
+Asia/Vientiane
+Asia/Vladivostok
+Asia/Yakutsk
+Asia/Yekaterinburg
+Asia/Yerevan
+Atlantic/Azores
+Atlantic/Bermuda
+Atlantic/Canary
+Atlantic/Cape_Verde
+Atlantic/Faeroe
+Atlantic/Faroe
+Atlantic/Jan_Mayen
+Atlantic/Madeira
+Atlantic/Reykjavik
+Atlantic/South_Georgia
+Atlantic/St_Helena
+Atlantic/Stanley
+Australia/ACT
+Australia/Adelaide
+Australia/Brisbane
+Australia/Broken_Hill
+Australia/Canberra
+Australia/Currie
+Australia/Darwin
+Australia/Eucla
+Australia/Hobart
+Australia/LHI
+Australia/Lindeman
+Australia/Lord_Howe
+Australia/Melbourne
+Australia/NSW
+Australia/North
+Australia/Perth
+Australia/Queensland
+Australia/South
+Australia/Sydney
+Australia/Tasmania
+Australia/Victoria
+Australia/West
+Australia/Yancowinna
+Brazil/Acre
+Brazil/DeNoronha
+Brazil/East
+Brazil/West
+CET
+CST6CDT
+Canada/Atlantic
+Canada/Central
+Canada/East-Saskatchewan
+Canada/Eastern
+Canada/Mountain
+Canada/Newfoundland
+Canada/Pacific
+Canada/Saskatchewan
+Canada/Yukon
+Chile/Continental
+Chile/EasterIsland
+Cuba
+EET
+EST
+EST5EDT
+Egypt
+Eire
+Etc/GMT
+Etc/GMT+0
+Etc/GMT+1
+Etc/GMT+10
+Etc/GMT+11
+Etc/GMT+12
+Etc/GMT+2
+Etc/GMT+3
+Etc/GMT+4
+Etc/GMT+5
+Etc/GMT+6
+Etc/GMT+7
+Etc/GMT+8
+Etc/GMT+9
+Etc/GMT-0
+Etc/GMT-1
+Etc/GMT-10
+Etc/GMT-11
+Etc/GMT-12
+Etc/GMT-13
+Etc/GMT-14
+Etc/GMT-2
+Etc/GMT-3
+Etc/GMT-4
+Etc/GMT-5
+Etc/GMT-6
+Etc/GMT-7
+Etc/GMT-8
+Etc/GMT-9
+Etc/GMT0
+Etc/Greenwich
+Etc/UCT
+Etc/UTC
+Etc/Universal
+Etc/Zulu
+Europe/Amsterdam
+Europe/Andorra
+Europe/Athens
+Europe/Belfast
+Europe/Belgrade
+Europe/Berlin
+Europe/Bratislava
+Europe/Brussels
+Europe/Bucharest
+Europe/Budapest
+Europe/Busingen
+Europe/Chisinau
+Europe/Copenhagen
+Europe/Dublin
+Europe/Gibraltar
+Europe/Guernsey
+Europe/Helsinki
+Europe/Isle_of_Man
+Europe/Istanbul
+Europe/Jersey
+Europe/Kaliningrad
+Europe/Kiev
+Europe/Lisbon
+Europe/Ljubljana
+Europe/London
+Europe/Luxembourg
+Europe/Madrid
+Europe/Malta
+Europe/Mariehamn
+Europe/Minsk
+Europe/Monaco
+Europe/Moscow
+Europe/Nicosia
+Europe/Oslo
+Europe/Paris
+Europe/Podgorica
+Europe/Prague
+Europe/Riga
+Europe/Rome
+Europe/Samara
+Europe/San_Marino
+Europe/Sarajevo
+Europe/Simferopol
+Europe/Skopje
+Europe/Sofia
+Europe/Stockholm
+Europe/Tallinn
+Europe/Tirane
+Europe/Tiraspol
+Europe/Uzhgorod
+Europe/Vaduz
+Europe/Vatican
+Europe/Vienna
+Europe/Vilnius
+Europe/Volgograd
+Europe/Warsaw
+Europe/Zagreb
+Europe/Zaporozhye
+Europe/Zurich
+Factory
+GB
+GB-Eire
+GMT
+GMT+0
+GMT-0
+GMT0
+Greenwich
+HST
+Hongkong
+Iceland
+Indian/Antananarivo
+Indian/Chagos
+Indian/Christmas
+Indian/Cocos
+Indian/Comoro
+Indian/Kerguelen
+Indian/Mahe
+Indian/Maldives
+Indian/Mauritius
+Indian/Mayotte
+Indian/Reunion
+Iran
+Israel
+Jamaica
+Japan
+Kwajalein
+Libya
+MET
+MST
+MST7MDT
+Mexico/BajaNorte
+Mexico/BajaSur
+Mexico/General
+NZ
+NZ-CHAT
+Navajo
+PRC
+PST8PDT
+Pacific/Apia
+Pacific/Auckland
+Pacific/Bougainville
+Pacific/Chatham
+Pacific/Chuuk
+Pacific/Easter
+Pacific/Efate
+Pacific/Enderbury
+Pacific/Fakaofo
+Pacific/Fiji
+Pacific/Funafuti
+Pacific/Galapagos
+Pacific/Gambier
+Pacific/Guadalcanal
+Pacific/Guam
+Pacific/Honolulu
+Pacific/Johnston
+Pacific/Kiritimati
+Pacific/Kosrae
+Pacific/Kwajalein
+Pacific/Majuro
+Pacific/Marquesas
+Pacific/Midway
+Pacific/Nauru
+Pacific/Niue
+Pacific/Norfolk
+Pacific/Noumea
+Pacific/Pago_Pago
+Pacific/Palau
+Pacific/Pitcairn
+Pacific/Pohnpei
+Pacific/Ponape
+Pacific/Port_Moresby
+Pacific/Rarotonga
+Pacific/Saipan
+Pacific/Samoa
+Pacific/Tahiti
+Pacific/Tarawa
+Pacific/Tongatapu
+Pacific/Truk
+Pacific/Wake
+Pacific/Wallis
+Pacific/Yap
+Poland
+Portugal
+ROC
+ROK
+Singapore
+Turkey
+UCT
+UTC
+Universal
+W-SU
+WET
+Zulu
+posixrules
diff --git a/patches/source/glibc-zoneinfo/timezone-scripts/parts/04 b/patches/source/glibc-zoneinfo/timezone-scripts/parts/04
new file mode 100644
index 00000000..5b0da0e8
--- /dev/null
+++ b/patches/source/glibc-zoneinfo/timezone-scripts/parts/04
@@ -0,0 +1,33 @@
+
+Type it at the prompt below exactly as it appears above. (NOTE: If you don't
+see your timezone, use "timeconfig" again after booting for the verbose list)
+
+EOF
+ echo -n "Timezone? "
+ read TIMEZONE;
+ echo
+
+ if [ -n "$TIMEZONE" -a \
+ -r $T_PX/usr/share/zoneinfo/$TIMEZONE -o \
+ -r /var/log/mount/usr/share/zoneinfo/$TIMEZONE -o \
+ -L $T_PX/usr/share/zoneinfo/$TIMEZONE -o \
+ -L /var/log/mount/usr/share/zoneinfo/$TIMEZONE ]; then
+ echo "Creating link from $TIMEZONE to localtime in /etc..."
+ echo
+ setzone $TIMEZONE
+ exit
+ else
+ cat << EOF
+
+Timezone $TIMEZONE could not be found. You may try again if you wish.
+Make sure you type the name exactly as it appears - this configuration script
+is case sensitive.
+
+Press [enter] to continue.
+
+EOF
+ read JUNK;
+ fi
+ done
+fi
+
diff --git a/patches/source/glibc-zoneinfo/timezone-scripts/parts/README b/patches/source/glibc-zoneinfo/timezone-scripts/parts/README
new file mode 100644
index 00000000..80d5cf5b
--- /dev/null
+++ b/patches/source/glibc-zoneinfo/timezone-scripts/parts/README
@@ -0,0 +1,2 @@
+Files 01 and 03 are samples, showing the format, and are
+not necessarily up to date...
diff --git a/patches/source/glibc-zoneinfo/timezone-scripts/setup.timeconfig b/patches/source/glibc-zoneinfo/timezone-scripts/setup.timeconfig
new file mode 100644
index 00000000..81ff7055
--- /dev/null
+++ b/patches/source/glibc-zoneinfo/timezone-scripts/setup.timeconfig
@@ -0,0 +1,3 @@
+#!/bin/sh
+#BLURB="Select your timezone"
+sh usr/sbin/timeconfig $*
diff --git a/patches/source/glibc-zoneinfo/timezone-scripts/timeconfig b/patches/source/glibc-zoneinfo/timezone-scripts/timeconfig
new file mode 100644
index 00000000..0fa59ac0
--- /dev/null
+++ b/patches/source/glibc-zoneinfo/timezone-scripts/timeconfig
@@ -0,0 +1,1363 @@
+#!/bin/sh
+#
+# timeconfig Slackware Linux timezone configuration utility.
+#
+# Author: Patrick Volkerding <volkerdi@slackware.com>
+# Modified by: David Cantrell <david@slackware.com>, 06-Oct-2000
+#
+# ChangeLog:
+# 2014-10-22: Updated timezones from tzdata2014i. <pjv>
+# 2012-12-12: Updated timezones from tzdata2012j. <pjv>
+# 2008-03-10: Updated timezones from tzdata2008a. <pjv>
+# 2007-12-21: Updated timezones from tzdata2007j. <pjv>
+# 2006-12-03: Updated timezones from tzdata2006p. <pjv>
+# 2006-09-14: Updated timezones from tzdata2006k. <pjv>
+# 2006-08-22: Updated timezones from tzdata2006j.
+# 2006-08-13: Updated timezones from tzdata2006g.
+# 2006-03-13: Updated timezones from tzdata2006c.
+# 19-Feb-2001 Add new timezones from glibc-2.2.2.
+# 06-Oct-2000 Fixed a problem with selecting UTC time. It was writing
+# the hardwareclock file to the root disk and not your dest
+# partition. Changed the HWCLOCK_CONF variable to be
+# $T_PX/etc/hardwareclock to fix this. Thanks to David L.
+# Dickman <softbear@optonline.net> for finding this and
+# submitting a patch.
+#
+# 15-Mar-2000 Added the writeconf function to write out the
+# /etc/hardwareclock file which tells what the hardware clock
+# is set to (UTC or localtime).
+#
+# 03-Mar-2000 Reorganized script. Made one timezone set block, added
+# stage that asks the user if the hardware clock is set to
+# UTC.
+
+# setup our temp locations and variables
+TMP=/var/log/setup/tmp
+if [ -r $TMP/SeTT_PX ]; then
+ T_PX="`cat $TMP/SeTT_PX`"
+elif [ ! "$!" = "" ]; then
+ T_PX=$1
+else
+ T_PX=/
+fi
+
+# the hardware clock configuration file
+HWCLOCK_CONF=$T_PX/etc/hardwareclock
+
+# setzone( $TIMEZONE )
+#
+# This function accepts a time zone as the only parameter and sets it as
+# the default system time zone.
+setzone()
+{
+ TZ=$1
+
+ cd $T_PX/etc
+ if [ -r $T_PX/usr/share/zoneinfo/$TZ -o \
+ -r /var/log/mount/usr/share/zoneinfo/$TZ -o \
+ -L $T_PX/usr/share/zoneinfo/$TZ -o \
+ -L /var/log/mount/usr/share/zoneinfo/$TZ ]; then
+ rm -f localtime-copied-from
+ ln -sf /usr/share/zoneinfo/$TZ localtime-copied-from
+ rm -f localtime
+ cd ..
+ chroot . cp etc/localtime-copied-from etc/localtime
+ fi
+}
+
+# writeconf( $CLOCK_SET_TO )
+#
+# Writes out $HWCLOCK_CONF that tells rc.S how the hardware clock
+# value is stored.
+writeconf()
+{
+ echo "# /etc/hardwareclock" > $HWCLOCK_CONF
+ echo "#" >> $HWCLOCK_CONF
+ echo "# Tells how the hardware clock time is stored." >> $HWCLOCK_CONF
+ echo "# You should run timeconfig to edit this file." >> $HWCLOCK_CONF
+ echo >> $HWCLOCK_CONF
+ echo $1 >> $HWCLOCK_CONF
+}
+
+# ask the user if the hardware clock is set for UTC/GMT
+if [ "$COLOR" = "on" -o -r $TMP/SeTcolor -o "$T_PX" = "/" ]; then
+ ###
+ ### use color menus here
+ ###
+ dialog --title "HARDWARE CLOCK SET TO UTC?" --menu "Is the hardware clock set \
+to Coordinated Universal Time (UTC/GMT)? If it is, select YES here. If the \
+hardware clock is set to the current local time (this is how most PCs are set \
+up), then say NO here. If you are not sure what this is, you should answer NO \
+here." 13 60 2 \
+ "NO" "Hardware clock is set to local time" \
+ "YES" "Hardware clock is set to UTC" \
+ 2> $TMP/utc
+ if [ $? = 1 -o $? = 255 ]; then
+ rm -f $TMP/utc
+ exit
+ fi
+ if [ "`cat $TMP/utc`" = "YES" ]; then
+ # yes, the hardware clock is UTC
+ writeconf "UTC"
+ else # must be NO
+ writeconf "localtime"
+ fi
+ rm -f $TMP/utc
+else
+ ###
+ ### use text prompts
+ ###
+ echo "Is the hardware clock set to Coordinated Universal Time (UTC/GMT)?"
+ echo "If it is, select 'y' here. If the hardware clock is set to the"
+ echo "current local time (this is how most PCs are set up), then say 'n'"
+ echo "here. If you are not sure what this is, you should answer 'n' here."
+ echo
+ echo -n "Is your hardware clock set to UTC ([y]es, [n]o)? "
+ read HEJAZ
+
+ if [ "$HEJAZ" = "y" -o "$HEJAZ" = "Y" -o "$HEJAZ" = "YES" -o "$HEJAZ" = "yes" ]; then
+ # yes, the hardware clock is UTC
+ writeconf "UTC"
+ else
+ # default to localtime
+ writeconf "localtime"
+ fi
+fi
+
+# Now set the correct timezone link:
+if [ "$COLOR" = "on" -o -r $TMP/SeTcolor -o "$T_PX" = "/" ]; then
+ ###
+ ### use color menus here
+ ###
+ dialog --title "TIMEZONE CONFIGURATION" --menu "Please select one of the following timezones for your machine:" 21 50 13 \
+"US/Alaska" " " \
+"US/Aleutian" " " \
+"US/Arizona" " " \
+"US/Central" " " \
+"US/East-Indiana" " " \
+"US/Eastern" " " \
+"US/Hawaii" " " \
+"US/Indiana-Starke" " " \
+"US/Michigan" " " \
+"US/Mountain" " " \
+"US/Pacific" " " \
+"US/Pacific-New" " " \
+"US/Samoa" " " \
+"Africa/Abidjan" " " \
+"Africa/Accra" " " \
+"Africa/Addis_Ababa" " " \
+"Africa/Algiers" " " \
+"Africa/Asmara" " " \
+"Africa/Asmera" " " \
+"Africa/Bamako" " " \
+"Africa/Bangui" " " \
+"Africa/Banjul" " " \
+"Africa/Bissau" " " \
+"Africa/Blantyre" " " \
+"Africa/Brazzaville" " " \
+"Africa/Bujumbura" " " \
+"Africa/Cairo" " " \
+"Africa/Casablanca" " " \
+"Africa/Ceuta" " " \
+"Africa/Conakry" " " \
+"Africa/Dakar" " " \
+"Africa/Dar_es_Salaam" " " \
+"Africa/Djibouti" " " \
+"Africa/Douala" " " \
+"Africa/El_Aaiun" " " \
+"Africa/Freetown" " " \
+"Africa/Gaborone" " " \
+"Africa/Harare" " " \
+"Africa/Johannesburg" " " \
+"Africa/Juba" " " \
+"Africa/Kampala" " " \
+"Africa/Khartoum" " " \
+"Africa/Kigali" " " \
+"Africa/Kinshasa" " " \
+"Africa/Lagos" " " \
+"Africa/Libreville" " " \
+"Africa/Lome" " " \
+"Africa/Luanda" " " \
+"Africa/Lubumbashi" " " \
+"Africa/Lusaka" " " \
+"Africa/Malabo" " " \
+"Africa/Maputo" " " \
+"Africa/Maseru" " " \
+"Africa/Mbabane" " " \
+"Africa/Mogadishu" " " \
+"Africa/Monrovia" " " \
+"Africa/Nairobi" " " \
+"Africa/Ndjamena" " " \
+"Africa/Niamey" " " \
+"Africa/Nouakchott" " " \
+"Africa/Ouagadougou" " " \
+"Africa/Porto-Novo" " " \
+"Africa/Sao_Tome" " " \
+"Africa/Timbuktu" " " \
+"Africa/Tripoli" " " \
+"Africa/Tunis" " " \
+"Africa/Windhoek" " " \
+"America/Adak" " " \
+"America/Anchorage" " " \
+"America/Anguilla" " " \
+"America/Antigua" " " \
+"America/Araguaina" " " \
+"America/Argentina/Buenos_Aires" " " \
+"America/Argentina/Catamarca" " " \
+"America/Argentina/ComodRivadavia" " " \
+"America/Argentina/Cordoba" " " \
+"America/Argentina/Jujuy" " " \
+"America/Argentina/La_Rioja" " " \
+"America/Argentina/Mendoza" " " \
+"America/Argentina/Rio_Gallegos" " " \
+"America/Argentina/Salta" " " \
+"America/Argentina/San_Juan" " " \
+"America/Argentina/San_Luis" " " \
+"America/Argentina/Tucuman" " " \
+"America/Argentina/Ushuaia" " " \
+"America/Aruba" " " \
+"America/Asuncion" " " \
+"America/Atikokan" " " \
+"America/Atka" " " \
+"America/Bahia" " " \
+"America/Bahia_Banderas" " " \
+"America/Barbados" " " \
+"America/Belem" " " \
+"America/Belize" " " \
+"America/Blanc-Sablon" " " \
+"America/Boa_Vista" " " \
+"America/Bogota" " " \
+"America/Boise" " " \
+"America/Buenos_Aires" " " \
+"America/Cambridge_Bay" " " \
+"America/Campo_Grande" " " \
+"America/Cancun" " " \
+"America/Caracas" " " \
+"America/Catamarca" " " \
+"America/Cayenne" " " \
+"America/Cayman" " " \
+"America/Chicago" " " \
+"America/Chihuahua" " " \
+"America/Coral_Harbour" " " \
+"America/Cordoba" " " \
+"America/Costa_Rica" " " \
+"America/Creston" " " \
+"America/Cuiaba" " " \
+"America/Curacao" " " \
+"America/Danmarkshavn" " " \
+"America/Dawson" " " \
+"America/Dawson_Creek" " " \
+"America/Denver" " " \
+"America/Detroit" " " \
+"America/Dominica" " " \
+"America/Edmonton" " " \
+"America/Eirunepe" " " \
+"America/El_Salvador" " " \
+"America/Ensenada" " " \
+"America/Fort_Nelson" " " \
+"America/Fort_Wayne" " " \
+"America/Fortaleza" " " \
+"America/Glace_Bay" " " \
+"America/Godthab" " " \
+"America/Goose_Bay" " " \
+"America/Grand_Turk" " " \
+"America/Grenada" " " \
+"America/Guadeloupe" " " \
+"America/Guatemala" " " \
+"America/Guayaquil" " " \
+"America/Guyana" " " \
+"America/Halifax" " " \
+"America/Havana" " " \
+"America/Hermosillo" " " \
+"America/Indiana/Indianapolis" " " \
+"America/Indiana/Knox" " " \
+"America/Indiana/Marengo" " " \
+"America/Indiana/Petersburg" " " \
+"America/Indiana/Tell_City" " " \
+"America/Indiana/Vevay" " " \
+"America/Indiana/Vincennes" " " \
+"America/Indiana/Winamac" " " \
+"America/Indianapolis" " " \
+"America/Inuvik" " " \
+"America/Iqaluit" " " \
+"America/Jamaica" " " \
+"America/Jujuy" " " \
+"America/Juneau" " " \
+"America/Kentucky/Louisville" " " \
+"America/Kentucky/Monticello" " " \
+"America/Knox_IN" " " \
+"America/Kralendijk" " " \
+"America/La_Paz" " " \
+"America/Lima" " " \
+"America/Los_Angeles" " " \
+"America/Louisville" " " \
+"America/Lower_Princes" " " \
+"America/Maceio" " " \
+"America/Managua" " " \
+"America/Manaus" " " \
+"America/Marigot" " " \
+"America/Martinique" " " \
+"America/Matamoros" " " \
+"America/Mazatlan" " " \
+"America/Mendoza" " " \
+"America/Menominee" " " \
+"America/Merida" " " \
+"America/Metlakatla" " " \
+"America/Mexico_City" " " \
+"America/Miquelon" " " \
+"America/Moncton" " " \
+"America/Monterrey" " " \
+"America/Montevideo" " " \
+"America/Montreal" " " \
+"America/Montserrat" " " \
+"America/Nassau" " " \
+"America/New_York" " " \
+"America/Nipigon" " " \
+"America/Nome" " " \
+"America/Noronha" " " \
+"America/North_Dakota/Beulah" " " \
+"America/North_Dakota/Center" " " \
+"America/North_Dakota/New_Salem" " " \
+"America/Ojinaga" " " \
+"America/Panama" " " \
+"America/Pangnirtung" " " \
+"America/Paramaribo" " " \
+"America/Phoenix" " " \
+"America/Port-au-Prince" " " \
+"America/Port_of_Spain" " " \
+"America/Porto_Acre" " " \
+"America/Porto_Velho" " " \
+"America/Puerto_Rico" " " \
+"America/Rainy_River" " " \
+"America/Rankin_Inlet" " " \
+"America/Recife" " " \
+"America/Regina" " " \
+"America/Resolute" " " \
+"America/Rio_Branco" " " \
+"America/Rosario" " " \
+"America/Santa_Isabel" " " \
+"America/Santarem" " " \
+"America/Santiago" " " \
+"America/Santo_Domingo" " " \
+"America/Sao_Paulo" " " \
+"America/Scoresbysund" " " \
+"America/Shiprock" " " \
+"America/Sitka" " " \
+"America/St_Barthelemy" " " \
+"America/St_Johns" " " \
+"America/St_Kitts" " " \
+"America/St_Lucia" " " \
+"America/St_Thomas" " " \
+"America/St_Vincent" " " \
+"America/Swift_Current" " " \
+"America/Tegucigalpa" " " \
+"America/Thule" " " \
+"America/Thunder_Bay" " " \
+"America/Tijuana" " " \
+"America/Toronto" " " \
+"America/Tortola" " " \
+"America/Vancouver" " " \
+"America/Virgin" " " \
+"America/Whitehorse" " " \
+"America/Winnipeg" " " \
+"America/Yakutat" " " \
+"America/Yellowknife" " " \
+"Antarctica/Casey" " " \
+"Antarctica/Davis" " " \
+"Antarctica/DumontDUrville" " " \
+"Antarctica/Macquarie" " " \
+"Antarctica/Mawson" " " \
+"Antarctica/McMurdo" " " \
+"Antarctica/Palmer" " " \
+"Antarctica/Rothera" " " \
+"Antarctica/South_Pole" " " \
+"Antarctica/Syowa" " " \
+"Antarctica/Troll" " " \
+"Antarctica/Vostok" " " \
+"Arctic/Longyearbyen" " " \
+"Asia/Aden" " " \
+"Asia/Almaty" " " \
+"Asia/Amman" " " \
+"Asia/Anadyr" " " \
+"Asia/Aqtau" " " \
+"Asia/Aqtobe" " " \
+"Asia/Ashgabat" " " \
+"Asia/Ashkhabad" " " \
+"Asia/Baghdad" " " \
+"Asia/Bahrain" " " \
+"Asia/Baku" " " \
+"Asia/Bangkok" " " \
+"Asia/Beirut" " " \
+"Asia/Bishkek" " " \
+"Asia/Brunei" " " \
+"Asia/Calcutta" " " \
+"Asia/Chita" " " \
+"Asia/Choibalsan" " " \
+"Asia/Chongqing" " " \
+"Asia/Chungking" " " \
+"Asia/Colombo" " " \
+"Asia/Dacca" " " \
+"Asia/Damascus" " " \
+"Asia/Dhaka" " " \
+"Asia/Dili" " " \
+"Asia/Dubai" " " \
+"Asia/Dushanbe" " " \
+"Asia/Gaza" " " \
+"Asia/Harbin" " " \
+"Asia/Hebron" " " \
+"Asia/Ho_Chi_Minh" " " \
+"Asia/Hong_Kong" " " \
+"Asia/Hovd" " " \
+"Asia/Irkutsk" " " \
+"Asia/Istanbul" " " \
+"Asia/Jakarta" " " \
+"Asia/Jayapura" " " \
+"Asia/Jerusalem" " " \
+"Asia/Kabul" " " \
+"Asia/Kamchatka" " " \
+"Asia/Karachi" " " \
+"Asia/Kashgar" " " \
+"Asia/Kathmandu" " " \
+"Asia/Katmandu" " " \
+"Asia/Khandyga" " " \
+"Asia/Kolkata" " " \
+"Asia/Krasnoyarsk" " " \
+"Asia/Kuala_Lumpur" " " \
+"Asia/Kuching" " " \
+"Asia/Kuwait" " " \
+"Asia/Macao" " " \
+"Asia/Macau" " " \
+"Asia/Magadan" " " \
+"Asia/Makassar" " " \
+"Asia/Manila" " " \
+"Asia/Muscat" " " \
+"Asia/Nicosia" " " \
+"Asia/Novokuznetsk" " " \
+"Asia/Novosibirsk" " " \
+"Asia/Omsk" " " \
+"Asia/Oral" " " \
+"Asia/Phnom_Penh" " " \
+"Asia/Pontianak" " " \
+"Asia/Pyongyang" " " \
+"Asia/Qatar" " " \
+"Asia/Qyzylorda" " " \
+"Asia/Rangoon" " " \
+"Asia/Riyadh" " " \
+"Asia/Saigon" " " \
+"Asia/Sakhalin" " " \
+"Asia/Samarkand" " " \
+"Asia/Seoul" " " \
+"Asia/Shanghai" " " \
+"Asia/Singapore" " " \
+"Asia/Srednekolymsk" " " \
+"Asia/Taipei" " " \
+"Asia/Tashkent" " " \
+"Asia/Tbilisi" " " \
+"Asia/Tehran" " " \
+"Asia/Tel_Aviv" " " \
+"Asia/Thimbu" " " \
+"Asia/Thimphu" " " \
+"Asia/Tokyo" " " \
+"Asia/Ujung_Pandang" " " \
+"Asia/Ulaanbaatar" " " \
+"Asia/Ulan_Bator" " " \
+"Asia/Urumqi" " " \
+"Asia/Ust-Nera" " " \
+"Asia/Vientiane" " " \
+"Asia/Vladivostok" " " \
+"Asia/Yakutsk" " " \
+"Asia/Yekaterinburg" " " \
+"Asia/Yerevan" " " \
+"Atlantic/Azores" " " \
+"Atlantic/Bermuda" " " \
+"Atlantic/Canary" " " \
+"Atlantic/Cape_Verde" " " \
+"Atlantic/Faeroe" " " \
+"Atlantic/Faroe" " " \
+"Atlantic/Jan_Mayen" " " \
+"Atlantic/Madeira" " " \
+"Atlantic/Reykjavik" " " \
+"Atlantic/South_Georgia" " " \
+"Atlantic/St_Helena" " " \
+"Atlantic/Stanley" " " \
+"Australia/ACT" " " \
+"Australia/Adelaide" " " \
+"Australia/Brisbane" " " \
+"Australia/Broken_Hill" " " \
+"Australia/Canberra" " " \
+"Australia/Currie" " " \
+"Australia/Darwin" " " \
+"Australia/Eucla" " " \
+"Australia/Hobart" " " \
+"Australia/LHI" " " \
+"Australia/Lindeman" " " \
+"Australia/Lord_Howe" " " \
+"Australia/Melbourne" " " \
+"Australia/NSW" " " \
+"Australia/North" " " \
+"Australia/Perth" " " \
+"Australia/Queensland" " " \
+"Australia/South" " " \
+"Australia/Sydney" " " \
+"Australia/Tasmania" " " \
+"Australia/Victoria" " " \
+"Australia/West" " " \
+"Australia/Yancowinna" " " \
+"Brazil/Acre" " " \
+"Brazil/DeNoronha" " " \
+"Brazil/East" " " \
+"Brazil/West" " " \
+"CET" " " \
+"CST6CDT" " " \
+"Canada/Atlantic" " " \
+"Canada/Central" " " \
+"Canada/East-Saskatchewan" " " \
+"Canada/Eastern" " " \
+"Canada/Mountain" " " \
+"Canada/Newfoundland" " " \
+"Canada/Pacific" " " \
+"Canada/Saskatchewan" " " \
+"Canada/Yukon" " " \
+"Chile/Continental" " " \
+"Chile/EasterIsland" " " \
+"Cuba" " " \
+"EET" " " \
+"EST" " " \
+"EST5EDT" " " \
+"Egypt" " " \
+"Eire" " " \
+"Etc/GMT" " " \
+"Etc/GMT+0" " " \
+"Etc/GMT+1" " " \
+"Etc/GMT+10" " " \
+"Etc/GMT+11" " " \
+"Etc/GMT+12" " " \
+"Etc/GMT+2" " " \
+"Etc/GMT+3" " " \
+"Etc/GMT+4" " " \
+"Etc/GMT+5" " " \
+"Etc/GMT+6" " " \
+"Etc/GMT+7" " " \
+"Etc/GMT+8" " " \
+"Etc/GMT+9" " " \
+"Etc/GMT-0" " " \
+"Etc/GMT-1" " " \
+"Etc/GMT-10" " " \
+"Etc/GMT-11" " " \
+"Etc/GMT-12" " " \
+"Etc/GMT-13" " " \
+"Etc/GMT-14" " " \
+"Etc/GMT-2" " " \
+"Etc/GMT-3" " " \
+"Etc/GMT-4" " " \
+"Etc/GMT-5" " " \
+"Etc/GMT-6" " " \
+"Etc/GMT-7" " " \
+"Etc/GMT-8" " " \
+"Etc/GMT-9" " " \
+"Etc/GMT0" " " \
+"Etc/Greenwich" " " \
+"Etc/UCT" " " \
+"Etc/UTC" " " \
+"Etc/Universal" " " \
+"Etc/Zulu" " " \
+"Europe/Amsterdam" " " \
+"Europe/Andorra" " " \
+"Europe/Athens" " " \
+"Europe/Belfast" " " \
+"Europe/Belgrade" " " \
+"Europe/Berlin" " " \
+"Europe/Bratislava" " " \
+"Europe/Brussels" " " \
+"Europe/Bucharest" " " \
+"Europe/Budapest" " " \
+"Europe/Busingen" " " \
+"Europe/Chisinau" " " \
+"Europe/Copenhagen" " " \
+"Europe/Dublin" " " \
+"Europe/Gibraltar" " " \
+"Europe/Guernsey" " " \
+"Europe/Helsinki" " " \
+"Europe/Isle_of_Man" " " \
+"Europe/Istanbul" " " \
+"Europe/Jersey" " " \
+"Europe/Kaliningrad" " " \
+"Europe/Kiev" " " \
+"Europe/Lisbon" " " \
+"Europe/Ljubljana" " " \
+"Europe/London" " " \
+"Europe/Luxembourg" " " \
+"Europe/Madrid" " " \
+"Europe/Malta" " " \
+"Europe/Mariehamn" " " \
+"Europe/Minsk" " " \
+"Europe/Monaco" " " \
+"Europe/Moscow" " " \
+"Europe/Nicosia" " " \
+"Europe/Oslo" " " \
+"Europe/Paris" " " \
+"Europe/Podgorica" " " \
+"Europe/Prague" " " \
+"Europe/Riga" " " \
+"Europe/Rome" " " \
+"Europe/Samara" " " \
+"Europe/San_Marino" " " \
+"Europe/Sarajevo" " " \
+"Europe/Simferopol" " " \
+"Europe/Skopje" " " \
+"Europe/Sofia" " " \
+"Europe/Stockholm" " " \
+"Europe/Tallinn" " " \
+"Europe/Tirane" " " \
+"Europe/Tiraspol" " " \
+"Europe/Uzhgorod" " " \
+"Europe/Vaduz" " " \
+"Europe/Vatican" " " \
+"Europe/Vienna" " " \
+"Europe/Vilnius" " " \
+"Europe/Volgograd" " " \
+"Europe/Warsaw" " " \
+"Europe/Zagreb" " " \
+"Europe/Zaporozhye" " " \
+"Europe/Zurich" " " \
+"Factory" " " \
+"GB" " " \
+"GB-Eire" " " \
+"GMT" " " \
+"GMT+0" " " \
+"GMT-0" " " \
+"GMT0" " " \
+"Greenwich" " " \
+"HST" " " \
+"Hongkong" " " \
+"Iceland" " " \
+"Indian/Antananarivo" " " \
+"Indian/Chagos" " " \
+"Indian/Christmas" " " \
+"Indian/Cocos" " " \
+"Indian/Comoro" " " \
+"Indian/Kerguelen" " " \
+"Indian/Mahe" " " \
+"Indian/Maldives" " " \
+"Indian/Mauritius" " " \
+"Indian/Mayotte" " " \
+"Indian/Reunion" " " \
+"Iran" " " \
+"Israel" " " \
+"Jamaica" " " \
+"Japan" " " \
+"Kwajalein" " " \
+"Libya" " " \
+"MET" " " \
+"MST" " " \
+"MST7MDT" " " \
+"Mexico/BajaNorte" " " \
+"Mexico/BajaSur" " " \
+"Mexico/General" " " \
+"NZ" " " \
+"NZ-CHAT" " " \
+"Navajo" " " \
+"PRC" " " \
+"PST8PDT" " " \
+"Pacific/Apia" " " \
+"Pacific/Auckland" " " \
+"Pacific/Bougainville" " " \
+"Pacific/Chatham" " " \
+"Pacific/Chuuk" " " \
+"Pacific/Easter" " " \
+"Pacific/Efate" " " \
+"Pacific/Enderbury" " " \
+"Pacific/Fakaofo" " " \
+"Pacific/Fiji" " " \
+"Pacific/Funafuti" " " \
+"Pacific/Galapagos" " " \
+"Pacific/Gambier" " " \
+"Pacific/Guadalcanal" " " \
+"Pacific/Guam" " " \
+"Pacific/Honolulu" " " \
+"Pacific/Johnston" " " \
+"Pacific/Kiritimati" " " \
+"Pacific/Kosrae" " " \
+"Pacific/Kwajalein" " " \
+"Pacific/Majuro" " " \
+"Pacific/Marquesas" " " \
+"Pacific/Midway" " " \
+"Pacific/Nauru" " " \
+"Pacific/Niue" " " \
+"Pacific/Norfolk" " " \
+"Pacific/Noumea" " " \
+"Pacific/Pago_Pago" " " \
+"Pacific/Palau" " " \
+"Pacific/Pitcairn" " " \
+"Pacific/Pohnpei" " " \
+"Pacific/Ponape" " " \
+"Pacific/Port_Moresby" " " \
+"Pacific/Rarotonga" " " \
+"Pacific/Saipan" " " \
+"Pacific/Samoa" " " \
+"Pacific/Tahiti" " " \
+"Pacific/Tarawa" " " \
+"Pacific/Tongatapu" " " \
+"Pacific/Truk" " " \
+"Pacific/Wake" " " \
+"Pacific/Wallis" " " \
+"Pacific/Yap" " " \
+"Poland" " " \
+"Portugal" " " \
+"ROC" " " \
+"ROK" " " \
+"Singapore" " " \
+"Turkey" " " \
+"UCT" " " \
+"UTC" " " \
+"Universal" " " \
+"W-SU" " " \
+"WET" " " \
+"Zulu" " " \
+"posixrules" " " \
+ 2> $TMP/tz
+
+ if [ $? = 1 -o $? = 255 ]; then
+ rm -f $TMP/tz
+ exit
+ fi
+
+ TIMEZONE="`cat $TMP/tz`"
+ rm -f $TMP/tz
+
+ setzone $TIMEZONE
+ exit
+else
+ ###
+ ### use text prompts
+ ###
+ while [ 0 ]; do
+ echo -n "Would you like to configure your timezone ([y]es, [n]o)? "
+ read TIMECONF;
+ echo
+
+ if [ "$TIMECONF" = "n" ]; then
+ break
+ fi
+
+ cat << EOF
+Select one of these timezones:
+
+US/Alaska
+US/Aleutian
+US/Arizona
+US/Central
+US/East-Indiana
+US/Eastern
+US/Hawaii
+US/Indiana-Starke
+US/Michigan
+US/Mountain
+US/Pacific
+US/Pacific-New
+US/Samoa
+Africa/Abidjan
+Africa/Accra
+Africa/Addis_Ababa
+Africa/Algiers
+Africa/Asmara
+Africa/Asmera
+Africa/Bamako
+Africa/Bangui
+Africa/Banjul
+Africa/Bissau
+Africa/Blantyre
+Africa/Brazzaville
+Africa/Bujumbura
+Africa/Cairo
+Africa/Casablanca
+Africa/Ceuta
+Africa/Conakry
+Africa/Dakar
+Africa/Dar_es_Salaam
+Africa/Djibouti
+Africa/Douala
+Africa/El_Aaiun
+Africa/Freetown
+Africa/Gaborone
+Africa/Harare
+Africa/Johannesburg
+Africa/Juba
+Africa/Kampala
+Africa/Khartoum
+Africa/Kigali
+Africa/Kinshasa
+Africa/Lagos
+Africa/Libreville
+Africa/Lome
+Africa/Luanda
+Africa/Lubumbashi
+Africa/Lusaka
+Africa/Malabo
+Africa/Maputo
+Africa/Maseru
+Africa/Mbabane
+Africa/Mogadishu
+Africa/Monrovia
+Africa/Nairobi
+Africa/Ndjamena
+Africa/Niamey
+Africa/Nouakchott
+Africa/Ouagadougou
+Africa/Porto-Novo
+Africa/Sao_Tome
+Africa/Timbuktu
+Africa/Tripoli
+Africa/Tunis
+Africa/Windhoek
+America/Adak
+America/Anchorage
+America/Anguilla
+America/Antigua
+America/Araguaina
+America/Argentina/Buenos_Aires
+America/Argentina/Catamarca
+America/Argentina/ComodRivadavia
+America/Argentina/Cordoba
+America/Argentina/Jujuy
+America/Argentina/La_Rioja
+America/Argentina/Mendoza
+America/Argentina/Rio_Gallegos
+America/Argentina/Salta
+America/Argentina/San_Juan
+America/Argentina/San_Luis
+America/Argentina/Tucuman
+America/Argentina/Ushuaia
+America/Aruba
+America/Asuncion
+America/Atikokan
+America/Atka
+America/Bahia
+America/Bahia_Banderas
+America/Barbados
+America/Belem
+America/Belize
+America/Blanc-Sablon
+America/Boa_Vista
+America/Bogota
+America/Boise
+America/Buenos_Aires
+America/Cambridge_Bay
+America/Campo_Grande
+America/Cancun
+America/Caracas
+America/Catamarca
+America/Cayenne
+America/Cayman
+America/Chicago
+America/Chihuahua
+America/Coral_Harbour
+America/Cordoba
+America/Costa_Rica
+America/Creston
+America/Cuiaba
+America/Curacao
+America/Danmarkshavn
+America/Dawson
+America/Dawson_Creek
+America/Denver
+America/Detroit
+America/Dominica
+America/Edmonton
+America/Eirunepe
+America/El_Salvador
+America/Ensenada
+America/Fort_Nelson
+America/Fort_Wayne
+America/Fortaleza
+America/Glace_Bay
+America/Godthab
+America/Goose_Bay
+America/Grand_Turk
+America/Grenada
+America/Guadeloupe
+America/Guatemala
+America/Guayaquil
+America/Guyana
+America/Halifax
+America/Havana
+America/Hermosillo
+America/Indiana/Indianapolis
+America/Indiana/Knox
+America/Indiana/Marengo
+America/Indiana/Petersburg
+America/Indiana/Tell_City
+America/Indiana/Vevay
+America/Indiana/Vincennes
+America/Indiana/Winamac
+America/Indianapolis
+America/Inuvik
+America/Iqaluit
+America/Jamaica
+America/Jujuy
+America/Juneau
+America/Kentucky/Louisville
+America/Kentucky/Monticello
+America/Knox_IN
+America/Kralendijk
+America/La_Paz
+America/Lima
+America/Los_Angeles
+America/Louisville
+America/Lower_Princes
+America/Maceio
+America/Managua
+America/Manaus
+America/Marigot
+America/Martinique
+America/Matamoros
+America/Mazatlan
+America/Mendoza
+America/Menominee
+America/Merida
+America/Metlakatla
+America/Mexico_City
+America/Miquelon
+America/Moncton
+America/Monterrey
+America/Montevideo
+America/Montreal
+America/Montserrat
+America/Nassau
+America/New_York
+America/Nipigon
+America/Nome
+America/Noronha
+America/North_Dakota/Beulah
+America/North_Dakota/Center
+America/North_Dakota/New_Salem
+America/Ojinaga
+America/Panama
+America/Pangnirtung
+America/Paramaribo
+America/Phoenix
+America/Port-au-Prince
+America/Port_of_Spain
+America/Porto_Acre
+America/Porto_Velho
+America/Puerto_Rico
+America/Rainy_River
+America/Rankin_Inlet
+America/Recife
+America/Regina
+America/Resolute
+America/Rio_Branco
+America/Rosario
+America/Santa_Isabel
+America/Santarem
+America/Santiago
+America/Santo_Domingo
+America/Sao_Paulo
+America/Scoresbysund
+America/Shiprock
+America/Sitka
+America/St_Barthelemy
+America/St_Johns
+America/St_Kitts
+America/St_Lucia
+America/St_Thomas
+America/St_Vincent
+America/Swift_Current
+America/Tegucigalpa
+America/Thule
+America/Thunder_Bay
+America/Tijuana
+America/Toronto
+America/Tortola
+America/Vancouver
+America/Virgin
+America/Whitehorse
+America/Winnipeg
+America/Yakutat
+America/Yellowknife
+Antarctica/Casey
+Antarctica/Davis
+Antarctica/DumontDUrville
+Antarctica/Macquarie
+Antarctica/Mawson
+Antarctica/McMurdo
+Antarctica/Palmer
+Antarctica/Rothera
+Antarctica/South_Pole
+Antarctica/Syowa
+Antarctica/Troll
+Antarctica/Vostok
+Arctic/Longyearbyen
+Asia/Aden
+Asia/Almaty
+Asia/Amman
+Asia/Anadyr
+Asia/Aqtau
+Asia/Aqtobe
+Asia/Ashgabat
+Asia/Ashkhabad
+Asia/Baghdad
+Asia/Bahrain
+Asia/Baku
+Asia/Bangkok
+Asia/Beirut
+Asia/Bishkek
+Asia/Brunei
+Asia/Calcutta
+Asia/Chita
+Asia/Choibalsan
+Asia/Chongqing
+Asia/Chungking
+Asia/Colombo
+Asia/Dacca
+Asia/Damascus
+Asia/Dhaka
+Asia/Dili
+Asia/Dubai
+Asia/Dushanbe
+Asia/Gaza
+Asia/Harbin
+Asia/Hebron
+Asia/Ho_Chi_Minh
+Asia/Hong_Kong
+Asia/Hovd
+Asia/Irkutsk
+Asia/Istanbul
+Asia/Jakarta
+Asia/Jayapura
+Asia/Jerusalem
+Asia/Kabul
+Asia/Kamchatka
+Asia/Karachi
+Asia/Kashgar
+Asia/Kathmandu
+Asia/Katmandu
+Asia/Khandyga
+Asia/Kolkata
+Asia/Krasnoyarsk
+Asia/Kuala_Lumpur
+Asia/Kuching
+Asia/Kuwait
+Asia/Macao
+Asia/Macau
+Asia/Magadan
+Asia/Makassar
+Asia/Manila
+Asia/Muscat
+Asia/Nicosia
+Asia/Novokuznetsk
+Asia/Novosibirsk
+Asia/Omsk
+Asia/Oral
+Asia/Phnom_Penh
+Asia/Pontianak
+Asia/Pyongyang
+Asia/Qatar
+Asia/Qyzylorda
+Asia/Rangoon
+Asia/Riyadh
+Asia/Saigon
+Asia/Sakhalin
+Asia/Samarkand
+Asia/Seoul
+Asia/Shanghai
+Asia/Singapore
+Asia/Srednekolymsk
+Asia/Taipei
+Asia/Tashkent
+Asia/Tbilisi
+Asia/Tehran
+Asia/Tel_Aviv
+Asia/Thimbu
+Asia/Thimphu
+Asia/Tokyo
+Asia/Ujung_Pandang
+Asia/Ulaanbaatar
+Asia/Ulan_Bator
+Asia/Urumqi
+Asia/Ust-Nera
+Asia/Vientiane
+Asia/Vladivostok
+Asia/Yakutsk
+Asia/Yekaterinburg
+Asia/Yerevan
+Atlantic/Azores
+Atlantic/Bermuda
+Atlantic/Canary
+Atlantic/Cape_Verde
+Atlantic/Faeroe
+Atlantic/Faroe
+Atlantic/Jan_Mayen
+Atlantic/Madeira
+Atlantic/Reykjavik
+Atlantic/South_Georgia
+Atlantic/St_Helena
+Atlantic/Stanley
+Australia/ACT
+Australia/Adelaide
+Australia/Brisbane
+Australia/Broken_Hill
+Australia/Canberra
+Australia/Currie
+Australia/Darwin
+Australia/Eucla
+Australia/Hobart
+Australia/LHI
+Australia/Lindeman
+Australia/Lord_Howe
+Australia/Melbourne
+Australia/NSW
+Australia/North
+Australia/Perth
+Australia/Queensland
+Australia/South
+Australia/Sydney
+Australia/Tasmania
+Australia/Victoria
+Australia/West
+Australia/Yancowinna
+Brazil/Acre
+Brazil/DeNoronha
+Brazil/East
+Brazil/West
+CET
+CST6CDT
+Canada/Atlantic
+Canada/Central
+Canada/East-Saskatchewan
+Canada/Eastern
+Canada/Mountain
+Canada/Newfoundland
+Canada/Pacific
+Canada/Saskatchewan
+Canada/Yukon
+Chile/Continental
+Chile/EasterIsland
+Cuba
+EET
+EST
+EST5EDT
+Egypt
+Eire
+Etc/GMT
+Etc/GMT+0
+Etc/GMT+1
+Etc/GMT+10
+Etc/GMT+11
+Etc/GMT+12
+Etc/GMT+2
+Etc/GMT+3
+Etc/GMT+4
+Etc/GMT+5
+Etc/GMT+6
+Etc/GMT+7
+Etc/GMT+8
+Etc/GMT+9
+Etc/GMT-0
+Etc/GMT-1
+Etc/GMT-10
+Etc/GMT-11
+Etc/GMT-12
+Etc/GMT-13
+Etc/GMT-14
+Etc/GMT-2
+Etc/GMT-3
+Etc/GMT-4
+Etc/GMT-5
+Etc/GMT-6
+Etc/GMT-7
+Etc/GMT-8
+Etc/GMT-9
+Etc/GMT0
+Etc/Greenwich
+Etc/UCT
+Etc/UTC
+Etc/Universal
+Etc/Zulu
+Europe/Amsterdam
+Europe/Andorra
+Europe/Athens
+Europe/Belfast
+Europe/Belgrade
+Europe/Berlin
+Europe/Bratislava
+Europe/Brussels
+Europe/Bucharest
+Europe/Budapest
+Europe/Busingen
+Europe/Chisinau
+Europe/Copenhagen
+Europe/Dublin
+Europe/Gibraltar
+Europe/Guernsey
+Europe/Helsinki
+Europe/Isle_of_Man
+Europe/Istanbul
+Europe/Jersey
+Europe/Kaliningrad
+Europe/Kiev
+Europe/Lisbon
+Europe/Ljubljana
+Europe/London
+Europe/Luxembourg
+Europe/Madrid
+Europe/Malta
+Europe/Mariehamn
+Europe/Minsk
+Europe/Monaco
+Europe/Moscow
+Europe/Nicosia
+Europe/Oslo
+Europe/Paris
+Europe/Podgorica
+Europe/Prague
+Europe/Riga
+Europe/Rome
+Europe/Samara
+Europe/San_Marino
+Europe/Sarajevo
+Europe/Simferopol
+Europe/Skopje
+Europe/Sofia
+Europe/Stockholm
+Europe/Tallinn
+Europe/Tirane
+Europe/Tiraspol
+Europe/Uzhgorod
+Europe/Vaduz
+Europe/Vatican
+Europe/Vienna
+Europe/Vilnius
+Europe/Volgograd
+Europe/Warsaw
+Europe/Zagreb
+Europe/Zaporozhye
+Europe/Zurich
+Factory
+GB
+GB-Eire
+GMT
+GMT+0
+GMT-0
+GMT0
+Greenwich
+HST
+Hongkong
+Iceland
+Indian/Antananarivo
+Indian/Chagos
+Indian/Christmas
+Indian/Cocos
+Indian/Comoro
+Indian/Kerguelen
+Indian/Mahe
+Indian/Maldives
+Indian/Mauritius
+Indian/Mayotte
+Indian/Reunion
+Iran
+Israel
+Jamaica
+Japan
+Kwajalein
+Libya
+MET
+MST
+MST7MDT
+Mexico/BajaNorte
+Mexico/BajaSur
+Mexico/General
+NZ
+NZ-CHAT
+Navajo
+PRC
+PST8PDT
+Pacific/Apia
+Pacific/Auckland
+Pacific/Bougainville
+Pacific/Chatham
+Pacific/Chuuk
+Pacific/Easter
+Pacific/Efate
+Pacific/Enderbury
+Pacific/Fakaofo
+Pacific/Fiji
+Pacific/Funafuti
+Pacific/Galapagos
+Pacific/Gambier
+Pacific/Guadalcanal
+Pacific/Guam
+Pacific/Honolulu
+Pacific/Johnston
+Pacific/Kiritimati
+Pacific/Kosrae
+Pacific/Kwajalein
+Pacific/Majuro
+Pacific/Marquesas
+Pacific/Midway
+Pacific/Nauru
+Pacific/Niue
+Pacific/Norfolk
+Pacific/Noumea
+Pacific/Pago_Pago
+Pacific/Palau
+Pacific/Pitcairn
+Pacific/Pohnpei
+Pacific/Ponape
+Pacific/Port_Moresby
+Pacific/Rarotonga
+Pacific/Saipan
+Pacific/Samoa
+Pacific/Tahiti
+Pacific/Tarawa
+Pacific/Tongatapu
+Pacific/Truk
+Pacific/Wake
+Pacific/Wallis
+Pacific/Yap
+Poland
+Portugal
+ROC
+ROK
+Singapore
+Turkey
+UCT
+UTC
+Universal
+W-SU
+WET
+Zulu
+posixrules
+
+Type it at the prompt below exactly as it appears above. (NOTE: If you don't
+see your timezone, use "timeconfig" again after booting for the verbose list)
+
+EOF
+ echo -n "Timezone? "
+ read TIMEZONE;
+ echo
+
+ if [ -n "$TIMEZONE" -a \
+ -r $T_PX/usr/share/zoneinfo/$TIMEZONE -o \
+ -r /var/log/mount/usr/share/zoneinfo/$TIMEZONE -o \
+ -L $T_PX/usr/share/zoneinfo/$TIMEZONE -o \
+ -L /var/log/mount/usr/share/zoneinfo/$TIMEZONE ]; then
+ echo "Creating link from $TIMEZONE to localtime in /etc..."
+ echo
+ setzone $TIMEZONE
+ exit
+ else
+ cat << EOF
+
+Timezone $TIMEZONE could not be found. You may try again if you wish.
+Make sure you type the name exactly as it appears - this configuration script
+is case sensitive.
+
+Press [enter] to continue.
+
+EOF
+ read JUNK;
+ fi
+ done
+fi
+
diff --git a/patches/source/glibc/doinst.sh-glibc b/patches/source/glibc/doinst.sh-glibc
new file mode 100644
index 00000000..e85810f7
--- /dev/null
+++ b/patches/source/glibc/doinst.sh-glibc
@@ -0,0 +1,193 @@
+#!/bin/sh
+# Copyright (C) 2002, 2005 Slackware Linux, Inc.
+# Copyright 2005, 2006, 2007 Patrick J. Volkerding, Sebeka, Minnesota, USA
+#
+# This program is free software; you can redistribute it and/or
+# modify it under the terms of the GNU General Public License
+# as published by the Free Software Foundation; either version 2
+# of the License, or (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# Swap glibc on the fly.
+#
+# If we're on a running system we have to handle this _very_ carefully. :-)
+# The tricks involved here get trickier every time...
+
+# OK, now we have to be sure of a few things. First, you do have a 2.6
+# kernel running, right?
+
+if [ -r /proc/ksyms ]; then
+ echo "FATAL: you need to be running a 2.6.x kernel in order to upgrade"
+ echo "to this version of glibc."
+ echo
+ sleep 999
+ exit 1
+fi
+
+# Next, stop using the /lib/ntpl libraries. These are now obsolete and
+# will break the installation if present:
+if [ -d lib/tls ]; then
+ mkdir -p lib/obsolete
+ mv lib/tls lib/obsolete
+fi
+if [ -x sbin/ldconfig ]; then
+ sbin/ldconfig -r .
+fi
+
+# Install NPTL glibc libraries:
+if [ -x /sbin/ldconfig -a -d lib/incoming ]; then # swap on the fly
+ # First create copies of the incoming libraries:
+ ( cd lib/incoming
+ for file in * ; do
+ if [ ! -r ../${file}.incoming ]; then
+ cp -a $file ../${file}.incoming
+ fi
+ done
+ )
+ # Then switch to them all at once:
+ /sbin/ldconfig -l lib/*.incoming 2> /dev/null
+ # Finally, rename them and clean up:
+ ( cd lib
+ for file in *.incoming ; do
+ rm -f `basename $file .incoming`
+ cp -a $file `basename $file .incoming`
+ /sbin/ldconfig -l `basename $file .incoming`
+ rm -f $file
+ done
+ )
+else # no ldconfig? Good, it's safe to just jam it on home (and make links below):
+ ( cd lib/incoming
+ for file in * ; do
+ cp -a $file ..
+ done
+ )
+fi
+# Now, get rid of the temporary directory:
+rm -rf lib/incoming
+# Done installing NPTL glibc libraries.
+
+# Timezone stuff:
+if [ -L etc/localtime -a ! -r etc/localtime-copied-from ]; then
+ mv etc/localtime etc/localtime-copied-from
+ chroot . /bin/cp etc/localtime-copied-from etc/localtime
+fi
+# Add the default timezone in /etc, if none exists:
+if [ ! -r etc/localtime ]; then
+ ( cd etc ; rm -rf localtime localtime-copied-from )
+ ( cd etc ; ln -sf /usr/share/zoneinfo/Factory localtime-copied-from )
+ chroot . /bin/cp etc/localtime-copied-from etc/localtime
+fi
+# Add the default link in /usr/share/zoneinfo, if none exists:
+if [ ! -L usr/share/zoneinfo/localtime ]; then
+ ( cd usr/share/zoneinfo ; rm -rf localtime )
+ ( cd usr/share/zoneinfo ; ln -sf /etc/localtime localtime )
+fi
+( cd usr/share/zoneinfo ; rm -rf timeconfig )
+( cd usr/share/zoneinfo ; ln -sf /usr/sbin/timeconfig timeconfig )
+
+# Handle config files:
+config() {
+ NEW="$1"
+ OLD="$(dirname $NEW)/$(basename $NEW .new)"
+ # If there's no config file by that name, mv it over:
+ if [ ! -r $OLD ]; then
+ mv $NEW $OLD
+ elif [ "$(cat $OLD | md5sum)" = "$(cat $NEW | md5sum)" ]; then # toss the redundant copy
+ rm $NEW
+ fi
+ # Otherwise, we leave the .new copy for the admin to consider...
+}
+config etc/nscd.conf.new
+config etc/profile.d/glibc.csh.new
+config etc/profile.d/glibc.sh.new
+# Clearly you already decided this issue. :-)
+rm -f etc/profile.d/glibc.csh.new
+rm -f etc/profile.d/glibc.sh.new
+
+# In case there's no ldconfig, make the links manually:
+if [ ! -x /sbin/ldconfig ]; then
+# linuxthreads:
+( cd lib ; rm -rf libnss_nis.so.2 )
+( cd lib ; ln -sf libnss_nis-2.9.so libnss_nis.so.2 )
+( cd lib ; rm -rf libm.so.6 )
+( cd lib ; ln -sf libm-2.9.so libm.so.6 )
+( cd lib ; rm -rf libnss_files.so.2 )
+( cd lib ; ln -sf libnss_files-2.9.so libnss_files.so.2 )
+( cd lib ; rm -rf libresolv.so.2 )
+( cd lib ; ln -sf libresolv-2.9.so libresolv.so.2 )
+( cd lib ; rm -rf libnsl.so.1 )
+( cd lib ; ln -sf libnsl-2.9.so libnsl.so.1 )
+( cd lib ; rm -rf libutil.so.1 )
+( cd lib ; ln -sf libutil-2.9.so libutil.so.1 )
+( cd lib ; rm -rf libnss_compat.so.2 )
+( cd lib ; ln -sf libnss_compat-2.9.so libnss_compat.so.2 )
+( cd lib ; rm -rf libthread_db.so.1 )
+( cd lib ; ln -sf libthread_db-1.0.so libthread_db.so.1 )
+( cd lib ; rm -rf libnss_hesiod.so.2 )
+( cd lib ; ln -sf libnss_hesiod-2.9.so libnss_hesiod.so.2 )
+( cd lib ; rm -rf libanl.so.1 )
+( cd lib ; ln -sf libanl-2.9.so libanl.so.1 )
+( cd lib ; rm -rf libcrypt.so.1 )
+( cd lib ; ln -sf libcrypt-2.9.so libcrypt.so.1 )
+( cd lib ; rm -rf libBrokenLocale.so.1 )
+( cd lib ; ln -sf libBrokenLocale-2.9.so libBrokenLocale.so.1 )
+( cd lib ; rm -rf ld-linux.so.2 )
+( cd lib ; ln -sf ld-2.9.so ld-linux.so.2 )
+( cd lib ; rm -rf libdl.so.2 )
+( cd lib ; ln -sf libdl-2.9.so libdl.so.2 )
+( cd lib ; rm -rf libnss_dns.so.2 )
+( cd lib ; ln -sf libnss_dns-2.9.so libnss_dns.so.2 )
+( cd lib ; rm -rf libpthread.so.0 )
+( cd lib ; ln -sf libpthread-2.9.so libpthread.so.0 )
+( cd lib ; rm -rf libnss_nisplus.so.2 )
+( cd lib ; ln -sf libnss_nisplus-2.9.so libnss_nisplus.so.2 )
+( cd lib ; rm -rf libc.so.6 )
+( cd lib ; ln -sf libc-2.9.so libc.so.6 )
+( cd lib ; rm -rf librt.so.1 )
+( cd lib ; ln -sf librt-2.9.so librt.so.1 )
+fi
+
+# More links:
+( cd usr/lib ; rm -rf libnss_nisplus.so )
+( cd usr/lib ; ln -sf ../../lib/libnss_nisplus.so.2 libnss_nisplus.so )
+# This is now a linker script:
+#( cd usr/lib ; rm -rf libpthread.so )
+#( cd usr/lib ; ln -sf ../../lib/libpthread.so.0 libpthread.so )
+( cd usr/lib ; rm -rf libresolv.so )
+( cd usr/lib ; ln -sf ../../lib/libresolv.so.2 libresolv.so )
+( cd usr/lib ; rm -rf libnsl.so )
+( cd usr/lib ; ln -sf ../../lib/libnsl.so.1 libnsl.so )
+( cd usr/lib ; rm -rf libnss_hesiod.so )
+( cd usr/lib ; ln -sf ../../lib/libnss_hesiod.so.2 libnss_hesiod.so )
+( cd usr/lib ; rm -rf libnss_files.so )
+( cd usr/lib ; ln -sf ../../lib/libnss_files.so.2 libnss_files.so )
+( cd usr/lib ; rm -rf libm.so )
+( cd usr/lib ; ln -sf ../../lib/libm.so.6 libm.so )
+( cd usr/lib ; rm -rf libutil.so )
+( cd usr/lib ; ln -sf ../../lib/libutil.so.1 libutil.so )
+( cd usr/lib ; rm -rf libnss_compat.so )
+( cd usr/lib ; ln -sf ../../lib/libnss_compat.so.2 libnss_compat.so )
+( cd usr/lib ; rm -rf libthread_db.so )
+( cd usr/lib ; ln -sf ../../lib/libthread_db.so.1 libthread_db.so )
+( cd usr/lib ; rm -rf libcrypt.so )
+( cd usr/lib ; ln -sf ../../lib/libcrypt.so.1 libcrypt.so )
+( cd usr/lib ; rm -rf libBrokenLocale.so )
+( cd usr/lib ; ln -sf ../../lib/libBrokenLocale.so.1 libBrokenLocale.so )
+( cd usr/lib ; rm -rf libdl.so )
+( cd usr/lib ; ln -sf ../../lib/libdl.so.2 libdl.so )
+( cd usr/lib ; rm -rf libnss_dns.so )
+( cd usr/lib ; ln -sf ../../lib/libnss_dns.so.2 libnss_dns.so )
+( cd usr/lib ; rm -rf librt.so )
+( cd usr/lib ; ln -sf ../../lib/librt.so.1 librt.so )
+( cd usr/lib ; rm -rf libanl.so )
+( cd usr/lib ; ln -sf ../../lib/libanl.so.1 libanl.so )
+( cd usr/lib ; rm -rf libnss_nis.so )
+( cd usr/lib ; ln -sf ../../lib/libnss_nis.so.2 libnss_nis.so )
+( cd usr/share/zoneinfo ; rm -rf localtime )
+( cd usr/share/zoneinfo ; ln -sf /etc/localtime localtime )
+( cd bin ; rm -rf sln )
+( cd bin ; ln -sf /sbin/sln sln )
diff --git a/patches/source/glibc/doinst.sh-glibc-solibs b/patches/source/glibc/doinst.sh-glibc-solibs
new file mode 100644
index 00000000..bfc7ad85
--- /dev/null
+++ b/patches/source/glibc/doinst.sh-glibc-solibs
@@ -0,0 +1,132 @@
+#!/bin/sh
+# Copyright (C) 2002, 2005 Slackware Linux, Inc.
+# Copyright 2005, 2006 Patrick J. Volkerding, Sebeka, Minnesota, USA
+#
+# This program is free software; you can redistribute it and/or
+# modify it under the terms of the GNU General Public License
+# as published by the Free Software Foundation; either version 2
+# of the License, or (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# Swap glibc on the fly.
+#
+# If we're on a running system we have to handle this _very_ carefully. :-)
+# The tricks involved here get trickier every time...
+
+# OK, now we have to be sure of a few things. First, you do have a 2.6
+# kernel running, right?
+
+if [ -r /proc/ksyms ]; then
+ echo "FATAL: you need to be running a 2.6.x kernel in order to upgrade"
+ echo "to this version of glibc."
+ echo
+ sleep 999
+ exit 1
+fi
+
+# Next, stop using the /lib/ntpl libraries. These are now obsolete and
+# will break the installation if present:
+if [ -d lib/tls ]; then
+ mkdir -p lib/obsolete
+ mv lib/tls lib/obsolete
+fi
+if [ -x sbin/ldconfig ]; then
+ sbin/ldconfig -r .
+fi
+
+# Install NPTL glibc libraries:
+if [ -x /sbin/ldconfig -a -d lib/incoming ]; then # swap on the fly
+ # First create copies of the incoming libraries:
+ ( cd lib/incoming
+ for file in * ; do
+ if [ ! -r ../${file}.incoming ]; then
+ cp -a $file ../${file}.incoming
+ fi
+ done
+ )
+ # Then switch to them all at once:
+ /sbin/ldconfig -l lib/*.incoming 2> /dev/null
+ # Finally, rename them and clean up:
+ ( cd lib
+ for file in *.incoming ; do
+ rm -f `basename $file .incoming`
+ cp -a $file `basename $file .incoming`
+ /sbin/ldconfig -l `basename $file .incoming`
+ rm -f $file
+ done
+ )
+else # no ldconfig? Good, it's safe to just jam it on home (and make links below):
+ ( cd lib/incoming
+ for file in * ; do
+ cp -a $file ..
+ done
+ )
+fi
+# Now, get rid of the temporary directory:
+rm -rf lib/incoming
+# Done installing NPTL glibc libraries.
+
+# Handle config files:
+config() {
+ NEW="$1"
+ OLD="$(dirname $NEW)/$(basename $NEW .new)"
+ # If there's no config file by that name, mv it over:
+ if [ ! -r $OLD ]; then
+ mv $NEW $OLD
+ elif [ "$(cat $OLD | md5sum)" = "$(cat $NEW | md5sum)" ]; then # toss the redundant copy
+ rm $NEW
+ fi
+ # Otherwise, we leave the .new copy for the admin to consider...
+}
+config etc/profile.d/glibc.csh.new
+config etc/profile.d/glibc.sh.new
+# Clearly you already decided this issue. :-)
+rm -f etc/profile.d/glibc.csh.new
+rm -f etc/profile.d/glibc.sh.new
+
+# In case there's no ldconfig, make the links manually:
+if [ ! -x /sbin/ldconfig ]; then
+# linuxthreads:
+( cd lib ; rm -rf libnss_nis.so.2 )
+( cd lib ; ln -sf libnss_nis-2.9.so libnss_nis.so.2 )
+( cd lib ; rm -rf libm.so.6 )
+( cd lib ; ln -sf libm-2.9.so libm.so.6 )
+( cd lib ; rm -rf libnss_files.so.2 )
+( cd lib ; ln -sf libnss_files-2.9.so libnss_files.so.2 )
+( cd lib ; rm -rf libresolv.so.2 )
+( cd lib ; ln -sf libresolv-2.9.so libresolv.so.2 )
+( cd lib ; rm -rf libnsl.so.1 )
+( cd lib ; ln -sf libnsl-2.9.so libnsl.so.1 )
+( cd lib ; rm -rf libutil.so.1 )
+( cd lib ; ln -sf libutil-2.9.so libutil.so.1 )
+( cd lib ; rm -rf libnss_compat.so.2 )
+( cd lib ; ln -sf libnss_compat-2.9.so libnss_compat.so.2 )
+( cd lib ; rm -rf libthread_db.so.1 )
+( cd lib ; ln -sf libthread_db-1.0.so libthread_db.so.1 )
+( cd lib ; rm -rf libnss_hesiod.so.2 )
+( cd lib ; ln -sf libnss_hesiod-2.9.so libnss_hesiod.so.2 )
+( cd lib ; rm -rf libanl.so.1 )
+( cd lib ; ln -sf libanl-2.9.so libanl.so.1 )
+( cd lib ; rm -rf libcrypt.so.1 )
+( cd lib ; ln -sf libcrypt-2.9.so libcrypt.so.1 )
+( cd lib ; rm -rf libBrokenLocale.so.1 )
+( cd lib ; ln -sf libBrokenLocale-2.9.so libBrokenLocale.so.1 )
+( cd lib ; rm -rf ld-linux.so.2 )
+( cd lib ; ln -sf ld-2.9.so ld-linux.so.2 )
+( cd lib ; rm -rf libdl.so.2 )
+( cd lib ; ln -sf libdl-2.9.so libdl.so.2 )
+( cd lib ; rm -rf libnss_dns.so.2 )
+( cd lib ; ln -sf libnss_dns-2.9.so libnss_dns.so.2 )
+( cd lib ; rm -rf libpthread.so.0 )
+( cd lib ; ln -sf libpthread-2.9.so libpthread.so.0 )
+( cd lib ; rm -rf libnss_nisplus.so.2 )
+( cd lib ; ln -sf libnss_nisplus-2.9.so libnss_nisplus.so.2 )
+( cd lib ; rm -rf libc.so.6 )
+( cd lib ; ln -sf libc-2.9.so libc.so.6 )
+( cd lib ; rm -rf librt.so.1 )
+( cd lib ; ln -sf librt-2.9.so librt.so.1 )
+fi
diff --git a/patches/source/glibc/doinst.sh-glibc-zoneinfo b/patches/source/glibc/doinst.sh-glibc-zoneinfo
new file mode 100644
index 00000000..7afabf89
--- /dev/null
+++ b/patches/source/glibc/doinst.sh-glibc-zoneinfo
@@ -0,0 +1,23 @@
+# Prep the library links:
+ldconfig -r .
+# Fix existing old style /etc/localtime symlink:
+if [ -L etc/localtime -a ! -r etc/localtime-copied-from ]; then
+ mv etc/localtime etc/localtime-copied-from
+ chroot . /bin/cp etc/localtime-copied-from etc/localtime
+fi
+# Add the default timezone in /etc, if none exists:
+if [ ! -r etc/localtime ]; then
+ ( cd etc ; rm -rf localtime localtime-copied-from )
+ ( cd etc ; ln -sf /usr/share/zoneinfo/Factory localtime-copied-from )
+ chroot . /bin/cp etc/localtime-copied-from etc/localtime
+fi
+# Add the default link in /usr/share/zoneinfo, if none exists:
+if [ ! -L usr/share/zoneinfo/localtime ]; then
+ ( cd usr/share/zoneinfo ; rm -rf localtime )
+ ( cd usr/share/zoneinfo ; ln -sf /etc/localtime localtime )
+fi
+# Make sure /etc/localtime is updated:
+chroot . /bin/cp etc/localtime-copied-from etc/localtime
+( cd usr/share/zoneinfo ; rm -rf timeconfig )
+( cd usr/share/zoneinfo ; ln -sf /usr/sbin/timeconfig timeconfig )
+### Make the rest of the symbolic links in the zoneinfo database:
diff --git a/patches/source/glibc/glibc-2.10-dns-no-gethostbyname4.diff b/patches/source/glibc/glibc-2.10-dns-no-gethostbyname4.diff
new file mode 100644
index 00000000..3fa365af
--- /dev/null
+++ b/patches/source/glibc/glibc-2.10-dns-no-gethostbyname4.diff
@@ -0,0 +1,26 @@
+The gethostbyname4() lookup method is problematic since it fires out both
+the A and AAAA DNS queries in parallel and over the same socket. This
+should work in theory, but it turns out that many cheap DSL modems and
+similar devices have buggy DNS servers - if the AAAA query arrives too
+quickly after the A query, the server will generate only a single reply
+with the A query id but returning an error for the AAAA query; we get
+stuck waiting for the second reply.
+
+For gethostbyname4() users affected, disabling IPv6 in the system might
+work around the issue, unfortunately it only helps with applications
+using AI_ADDRCONFIG (e.g. Firefox); some (notably e.g. Pidgin) neglect
+to do that.
+
+Real fix should be using separate ports for the A and AAAA queries.
+
+--- resolv/Versions 2008-08-02 10:26:09.000000000 +0200
++++ resolv/Versions 2008-12-08 12:51:53.000000000 +0100
+@@ -102,7 +102,7 @@ libnss_dns {
+ _nss_dns_gethostbyname_r; _nss_dns_getnetbyaddr_r;
+ _nss_dns_getnetbyname_r; _nss_dns_getcanonname_r;
+ _nss_dns_gethostbyaddr2_r;
+- _nss_dns_gethostbyname4_r;
++# _nss_dns_gethostbyname4_r;
+ }
+ }
+
diff --git a/patches/source/glibc/glibc-cvs-checkout.sh b/patches/source/glibc/glibc-cvs-checkout.sh
new file mode 100755
index 00000000..022d0117
--- /dev/null
+++ b/patches/source/glibc/glibc-cvs-checkout.sh
@@ -0,0 +1,3 @@
+echo "The password below is \"anoncvs\":"
+cvs -z 9 -d :pserver:anoncvs@sources.redhat.com:/cvs/glibc login
+cvs -z 9 -d :pserver:anoncvs@sources.redhat.com:/cvs/glibc co libc
diff --git a/patches/source/glibc/glibc.CVE-2010-3847.diff b/patches/source/glibc/glibc.CVE-2010-3847.diff
new file mode 100644
index 00000000..89af16fa
--- /dev/null
+++ b/patches/source/glibc/glibc.CVE-2010-3847.diff
@@ -0,0 +1,70 @@
+--- ./elf/dl-load.c.orig 2010-07-27 06:34:39.000000000 -0500
++++ ./elf/dl-load.c 2010-10-19 12:30:16.366002034 -0500
+@@ -169,8 +169,7 @@
+
+
+ static size_t
+-is_dst (const char *start, const char *name, const char *str,
+- int is_path, int secure)
++is_dst (const char *start, const char *name, const char *str, int is_path)
+ {
+ size_t len;
+ bool is_curly = false;
+@@ -199,11 +198,6 @@
+ && (!is_path || name[len] != ':'))
+ return 0;
+
+- if (__builtin_expect (secure, 0)
+- && ((name[len] != '\0' && (!is_path || name[len] != ':'))
+- || (name != start + 1 && (!is_path || name[-2] != ':'))))
+- return 0;
+-
+ return len;
+ }
+
+@@ -218,13 +212,12 @@
+ {
+ size_t len;
+
+- /* $ORIGIN is not expanded for SUID/GUID programs (except if it
+- is $ORIGIN alone) and it must always appear first in path. */
++ /* $ORIGIN is not expanded for SUID/GUID programs. */
+ ++name;
+- if ((len = is_dst (start, name, "ORIGIN", is_path,
+- INTUSE(__libc_enable_secure))) != 0
+- || (len = is_dst (start, name, "PLATFORM", is_path, 0)) != 0
+- || (len = is_dst (start, name, "LIB", is_path, 0)) != 0)
++ if (((len = is_dst (start, name, "ORIGIN", is_path)) != 0
++ && !INTUSE(__libc_enable_secure))
++ || (len = is_dst (start, name, "PLATFORM", is_path)) != 0
++ || (len = is_dst (start, name, "LIB", is_path)) != 0)
+ ++cnt;
+
+ name = strchr (name + len, '$');
+@@ -256,9 +249,12 @@
+ size_t len;
+
+ ++name;
+- if ((len = is_dst (start, name, "ORIGIN", is_path,
+- INTUSE(__libc_enable_secure))) != 0)
++ if ((len = is_dst (start, name, "ORIGIN", is_path)) != 0)
+ {
++ /* Ignore this path element in SUID/SGID programs. */
++ if (INTUSE(__libc_enable_secure))
++ repl = (const char *) -1;
++ else
+ #ifndef SHARED
+ if (l == NULL)
+ repl = _dl_get_origin ();
+@@ -266,9 +262,9 @@
+ #endif
+ repl = l->l_origin;
+ }
+- else if ((len = is_dst (start, name, "PLATFORM", is_path, 0)) != 0)
++ else if ((len = is_dst (start, name, "PLATFORM", is_path)) != 0)
+ repl = GLRO(dl_platform);
+- else if ((len = is_dst (start, name, "LIB", is_path, 0)) != 0)
++ else if ((len = is_dst (start, name, "LIB", is_path)) != 0)
+ repl = DL_DST_LIB;
+
+ if (repl != NULL && repl != (const char *) -1)
diff --git a/patches/source/glibc/glibc.CVE-2010-3856.diff b/patches/source/glibc/glibc.CVE-2010-3856.diff
new file mode 100644
index 00000000..49b45296
--- /dev/null
+++ b/patches/source/glibc/glibc.CVE-2010-3856.diff
@@ -0,0 +1,188 @@
+--- ./include/dlfcn.h.orig 2005-06-12 11:23:41.000000000 -0500
++++ ./include/dlfcn.h 2010-10-28 12:16:36.000000000 -0500
+@@ -9,6 +9,7 @@
+ #define __RTLD_OPENEXEC 0x20000000
+ #define __RTLD_CALLMAP 0x10000000
+ #define __RTLD_AUDIT 0x08000000
++#define __RTLD_SECURE 0x04000000 /* Apply additional security checks. */
+
+ #define __LM_ID_CALLER -2
+
+--- ./elf/dl-deps.c.orig 2006-06-17 11:51:56.000000000 -0500
++++ ./elf/dl-deps.c 2010-10-28 12:16:36.000000000 -0500
+@@ -60,7 +60,7 @@
+ {
+ struct openaux_args *args = (struct openaux_args *) a;
+
+- args->aux = _dl_map_object (args->map, args->name, 0,
++ args->aux = _dl_map_object (args->map, args->name,
+ (args->map->l_type == lt_executable
+ ? lt_library : args->map->l_type),
+ args->trace_mode, args->open_mode,
+--- ./elf/dl-open.c.orig 2006-08-28 17:56:50.000000000 -0500
++++ ./elf/dl-open.c 2010-10-28 12:17:30.000000000 -0500
+@@ -245,7 +245,7 @@
+ }
+
+ /* Load the named object. */
+- args->map = new = _dl_map_object (call_map, file, 0, lt_loaded, 0,
++ args->map = new = _dl_map_object (call_map, file, lt_loaded, 0,
+ mode | __RTLD_CALLMAP, args->nsid);
+
+ /* If the pointer returned is NULL this means the RTLD_NOLOAD flag is
+--- ./elf/rtld.c.orig 2006-09-29 11:56:15.000000000 -0500
++++ ./elf/rtld.c 2010-10-28 12:16:36.000000000 -0500
+@@ -578,7 +578,6 @@
+ /* Argument to map_doit. */
+ char *str;
+ struct link_map *loader;
+- int is_preloaded;
+ int mode;
+ /* Return value of map_doit. */
+ struct link_map *map;
+@@ -616,16 +615,17 @@
+ map_doit (void *a)
+ {
+ struct map_args *args = (struct map_args *) a;
+- args->map = _dl_map_object (args->loader, args->str,
+- args->is_preloaded, lt_library, 0, args->mode,
+- LM_ID_BASE);
++ args->map = _dl_map_object (args->loader, args->str, lt_library, 0,
++ args->mode, LM_ID_BASE);
+ }
+
+ static void
+ dlmopen_doit (void *a)
+ {
+ struct dlmopen_args *args = (struct dlmopen_args *) a;
+- args->map = _dl_open (args->fname, RTLD_LAZY | __RTLD_DLOPEN | __RTLD_AUDIT,
++ args->map = _dl_open (args->fname,
++ (RTLD_LAZY | __RTLD_DLOPEN | __RTLD_AUDIT
++ | __RTLD_SECURE),
+ dl_main, LM_ID_NEWLM, _dl_argc, INTUSE(_dl_argv),
+ __environ);
+ }
+@@ -797,8 +797,7 @@
+
+ args.str = fname;
+ args.loader = main_map;
+- args.is_preloaded = 1;
+- args.mode = 0;
++ args.mode = __RTLD_SECURE;
+
+ unsigned int old_nloaded = GL(dl_ns)[LM_ID_BASE]._ns_nloaded;
+
+@@ -1018,7 +1017,6 @@
+
+ args.str = rtld_progname;
+ args.loader = NULL;
+- args.is_preloaded = 0;
+ args.mode = __RTLD_OPENEXEC;
+ (void) _dl_catch_error (&objname, &err_str, &malloced, map_doit,
+ &args);
+@@ -1030,7 +1028,7 @@
+ else
+ {
+ HP_TIMING_NOW (start);
+- _dl_map_object (NULL, rtld_progname, 0, lt_library, 0,
++ _dl_map_object (NULL, rtld_progname, lt_library, 0,
+ __RTLD_OPENEXEC, LM_ID_BASE);
+ HP_TIMING_NOW (stop);
+
+--- ./elf/dl-load.c.orig 2010-10-28 12:16:14.000000000 -0500
++++ ./elf/dl-load.c 2010-10-28 12:16:36.000000000 -0500
+@@ -1798,7 +1798,7 @@
+ if MAY_FREE_DIRS is true. */
+
+ static int
+-open_path (const char *name, size_t namelen, int preloaded,
++open_path (const char *name, size_t namelen, int secure,
+ struct r_search_path_struct *sps, char **realname,
+ struct filebuf *fbp, struct link_map *loader, int whatcode,
+ bool *found_other_class)
+@@ -1880,7 +1880,7 @@
+ /* Remember whether we found any existing directory. */
+ here_any |= this_dir->status[cnt] != nonexisting;
+
+- if (fd != -1 && __builtin_expect (preloaded, 0)
++ if (fd != -1 && __builtin_expect (secure, 0)
+ && INTUSE(__libc_enable_secure))
+ {
+ /* This is an extra security effort to make sure nobody can
+@@ -1950,7 +1950,7 @@
+
+ struct link_map *
+ internal_function
+-_dl_map_object (struct link_map *loader, const char *name, int preloaded,
++_dl_map_object (struct link_map *loader, const char *name,
+ int type, int trace_mode, int mode, Lmid_t nsid)
+ {
+ int fd;
+@@ -2054,7 +2054,8 @@
+ for (l = loader; l; l = l->l_loader)
+ if (cache_rpath (l, &l->l_rpath_dirs, DT_RPATH, "RPATH"))
+ {
+- fd = open_path (name, namelen, preloaded, &l->l_rpath_dirs,
++ fd = open_path (name, namelen, mode & __RTLD_SECURE,
++ &l->l_rpath_dirs,
+ &realname, &fb, loader, LA_SER_RUNPATH,
+ &found_other_class);
+ if (fd != -1)
+@@ -2069,14 +2070,15 @@
+ && main_map != NULL && main_map->l_type != lt_loaded
+ && cache_rpath (main_map, &main_map->l_rpath_dirs, DT_RPATH,
+ "RPATH"))
+- fd = open_path (name, namelen, preloaded, &main_map->l_rpath_dirs,
++ fd = open_path (name, namelen, mode & __RTLD_SECURE,
++ &main_map->l_rpath_dirs,
+ &realname, &fb, loader ?: main_map, LA_SER_RUNPATH,
+ &found_other_class);
+ }
+
+ /* Try the LD_LIBRARY_PATH environment variable. */
+ if (fd == -1 && env_path_list.dirs != (void *) -1)
+- fd = open_path (name, namelen, preloaded, &env_path_list,
++ fd = open_path (name, namelen, mode & __RTLD_SECURE, &env_path_list,
+ &realname, &fb,
+ loader ?: GL(dl_ns)[LM_ID_BASE]._ns_loaded,
+ LA_SER_LIBPATH, &found_other_class);
+@@ -2085,12 +2087,12 @@
+ if (fd == -1 && loader != NULL
+ && cache_rpath (loader, &loader->l_runpath_dirs,
+ DT_RUNPATH, "RUNPATH"))
+- fd = open_path (name, namelen, preloaded,
++ fd = open_path (name, namelen, mode & __RTLD_SECURE,
+ &loader->l_runpath_dirs, &realname, &fb, loader,
+ LA_SER_RUNPATH, &found_other_class);
+
+ if (fd == -1
+- && (__builtin_expect (! preloaded, 1)
++ && (__builtin_expect (! (mode & __RTLD_SECURE), 1)
+ || ! INTUSE(__libc_enable_secure)))
+ {
+ /* Check the list of libraries in the file /etc/ld.so.cache,
+@@ -2156,7 +2158,7 @@
+ && ((l = loader ?: GL(dl_ns)[nsid]._ns_loaded) == NULL
+ || __builtin_expect (!(l->l_flags_1 & DF_1_NODEFLIB), 1))
+ && rtld_search_dirs.dirs != (void *) -1)
+- fd = open_path (name, namelen, preloaded, &rtld_search_dirs,
++ fd = open_path (name, namelen, mode & __RTLD_SECURE, &rtld_search_dirs,
+ &realname, &fb, l, LA_SER_DEFAULT, &found_other_class);
+
+ /* Add another newline when we are tracing the library loading. */
+--- ./sysdeps/generic/ldsodefs.h.orig 2006-08-24 15:27:05.000000000 -0500
++++ ./sysdeps/generic/ldsodefs.h 2010-10-28 12:16:36.000000000 -0500
+@@ -804,11 +804,9 @@
+
+ /* Open the shared object NAME and map in its segments.
+ LOADER's DT_RPATH is used in searching for NAME.
+- If the object is already opened, returns its existing map.
+- For preloaded shared objects PRELOADED is set to a non-zero
+- value to allow additional security checks. */
++ If the object is already opened, returns its existing map. */
+ extern struct link_map *_dl_map_object (struct link_map *loader,
+- const char *name, int preloaded,
++ const char *name,
+ int type, int trace_mode, int mode,
+ Lmid_t nsid)
+ internal_function attribute_hidden;
diff --git a/patches/source/glibc/glibc.CVE-2013-4332.diff b/patches/source/glibc/glibc.CVE-2013-4332.diff
new file mode 100644
index 00000000..9f7f5886
--- /dev/null
+++ b/patches/source/glibc/glibc.CVE-2013-4332.diff
@@ -0,0 +1,64 @@
+From 0d6085cb1b4330b835ad08a3ec8f80b30f0cadb4 Mon Sep 17 00:00:00 2001
+From: mancha <mancha1@hush.com>
+Date: Wed, 11 Sep 2013
+Subject: CVE-2013-4332
+
+malloc: Check for integer overflow in pvalloc, valloc, and memalign.
+
+A large bytes parameter to pvalloc, valloc, or memalign could cause
+an integer overflow and corrupt allocator internals. Check the
+overflow does not occur before continuing with the allocation.
+
+Note: This is a backport to glibc 2.17 of the following three commits:
+ * https://sourceware.org/git/?p=glibc.git;a=commit;h=1159a193696a
+ * https://sourceware.org/git/?p=glibc.git;a=commit;h=55e17aadc1ef
+ * https://sourceware.org/git/?p=glibc.git;a=commit;h=b73ed247781d
+---
+
+malloc.c | 21 +++++++++++++++++++++
+ 1 file changed, 21 insertions(+)
+
+--- a/malloc/malloc.c
++++ b/malloc/malloc.c
+@@ -3020,6 +3020,13 @@ __libc_memalign(size_t alignment, size_t
+ /* Otherwise, ensure that it is at least a minimum chunk size */
+ if (alignment < MINSIZE) alignment = MINSIZE;
+
++ /* Check for overflow. */
++ if (bytes > SIZE_MAX - alignment - MINSIZE)
++ {
++ __set_errno (ENOMEM);
++ return 0;
++ }
++
+ arena_get(ar_ptr, bytes + alignment + MINSIZE);
+ if(!ar_ptr)
+ return 0;
+@@ -3051,6 +3058,13 @@ __libc_valloc(size_t bytes)
+
+ size_t pagesz = GLRO(dl_pagesize);
+
++ /* Check for overflow. */
++ if (bytes > SIZE_MAX - pagesz - MINSIZE)
++ {
++ __set_errno (ENOMEM);
++ return 0;
++ }
++
+ __malloc_ptr_t (*hook) __MALLOC_PMT ((size_t, size_t,
+ const __malloc_ptr_t)) =
+ force_reg (__memalign_hook);
+@@ -3088,6 +3102,13 @@ __libc_pvalloc(size_t bytes)
+ size_t page_mask = GLRO(dl_pagesize) - 1;
+ size_t rounded_bytes = (bytes + page_mask) & ~(page_mask);
+
++ /* Check for overflow. */
++ if (bytes > SIZE_MAX - 2*pagesz - MINSIZE)
++ {
++ __set_errno (ENOMEM);
++ return 0;
++ }
++
+ __malloc_ptr_t (*hook) __MALLOC_PMT ((size_t, size_t,
+ const __malloc_ptr_t)) =
+ force_reg (__memalign_hook);
diff --git a/patches/source/glibc/glibc.CVE-2015-0235.glibc29.diff b/patches/source/glibc/glibc.CVE-2015-0235.glibc29.diff
new file mode 100644
index 00000000..d2e7bbde
--- /dev/null
+++ b/patches/source/glibc/glibc.CVE-2015-0235.glibc29.diff
@@ -0,0 +1,208 @@
+--- ./nss/getXXbyYY_r.c.orig 2007-10-29 19:47:26.000000000 -0500
++++ ./nss/getXXbyYY_r.c 2015-01-27 17:52:55.081039748 -0600
+@@ -178,6 +178,9 @@
+ case -1:
+ return errno;
+ case 1:
++#ifdef NEED_H_ERRNO
++ any_service = true;
++#endif
+ goto done;
+ }
+ #endif
+--- ./nss/digits_dots.c.orig 2004-08-05 18:32:09.000000000 -0500
++++ ./nss/digits_dots.c 2015-01-27 17:52:55.083039748 -0600
+@@ -47,7 +47,10 @@
+ {
+ if (h_errnop)
+ *h_errnop = NETDB_INTERNAL;
+- *result = NULL;
++ if (buffer_size == NULL)
++ *status = NSS_STATUS_TRYAGAIN;
++ else
++ *result = NULL;
+ return -1;
+ }
+
+@@ -84,14 +87,16 @@
+ }
+
+ size_needed = (sizeof (*host_addr)
+- + sizeof (*h_addr_ptrs) + strlen (name) + 1);
++ + sizeof (*h_addr_ptrs)
++ + sizeof (*h_alias_ptr) + strlen (name) + 1);
+
+ if (buffer_size == NULL)
+ {
+ if (buflen < size_needed)
+ {
++ *status = NSS_STATUS_TRYAGAIN;
+ if (h_errnop != NULL)
+- *h_errnop = TRY_AGAIN;
++ *h_errnop = NETDB_INTERNAL;
+ __set_errno (ERANGE);
+ goto done;
+ }
+@@ -110,7 +115,7 @@
+ *buffer_size = 0;
+ __set_errno (save);
+ if (h_errnop != NULL)
+- *h_errnop = TRY_AGAIN;
++ *h_errnop = NETDB_INTERNAL;
+ *result = NULL;
+ goto done;
+ }
+@@ -150,7 +155,9 @@
+ if (! ok)
+ {
+ *h_errnop = HOST_NOT_FOUND;
+- if (buffer_size)
++ if (buffer_size == NULL)
++ *status = NSS_STATUS_NOTFOUND;
++ else
+ *result = NULL;
+ goto done;
+ }
+@@ -191,7 +198,7 @@
+ if (buffer_size == NULL)
+ *status = NSS_STATUS_SUCCESS;
+ else
+- *result = resbuf;
++ *result = resbuf;
+ goto done;
+ }
+
+@@ -202,15 +209,6 @@
+
+ if ((isxdigit (name[0]) && strchr (name, ':') != NULL) || name[0] == ':')
+ {
+- const char *cp;
+- char *hostname;
+- typedef unsigned char host_addr_t[16];
+- host_addr_t *host_addr;
+- typedef char *host_addr_list_t[2];
+- host_addr_list_t *h_addr_ptrs;
+- size_t size_needed;
+- int addr_size;
+-
+ switch (af)
+ {
+ default:
+@@ -226,7 +224,10 @@
+ /* This is not possible. We cannot represent an IPv6 address
+ in an `struct in_addr' variable. */
+ *h_errnop = HOST_NOT_FOUND;
+- *result = NULL;
++ if (buffer_size == NULL)
++ *status = NSS_STATUS_NOTFOUND;
++ else
++ *result = NULL;
+ goto done;
+
+ case AF_INET6:
+@@ -234,42 +235,6 @@
+ break;
+ }
+
+- size_needed = (sizeof (*host_addr)
+- + sizeof (*h_addr_ptrs) + strlen (name) + 1);
+-
+- if (buffer_size == NULL && buflen < size_needed)
+- {
+- if (h_errnop != NULL)
+- *h_errnop = TRY_AGAIN;
+- __set_errno (ERANGE);
+- goto done;
+- }
+- else if (buffer_size != NULL && *buffer_size < size_needed)
+- {
+- char *new_buf;
+- *buffer_size = size_needed;
+- new_buf = realloc (*buffer, *buffer_size);
+-
+- if (new_buf == NULL)
+- {
+- save = errno;
+- free (*buffer);
+- __set_errno (save);
+- *buffer = NULL;
+- *buffer_size = 0;
+- *result = NULL;
+- goto done;
+- }
+- *buffer = new_buf;
+- }
+-
+- memset (*buffer, '\0', size_needed);
+-
+- host_addr = (host_addr_t *) *buffer;
+- h_addr_ptrs = (host_addr_list_t *)
+- ((char *) host_addr + sizeof (*host_addr));
+- hostname = (char *) h_addr_ptrs + sizeof (*h_addr_ptrs);
+-
+ for (cp = name;; ++cp)
+ {
+ if (!*cp)
+@@ -282,7 +247,9 @@
+ if (inet_pton (AF_INET6, name, host_addr) <= 0)
+ {
+ *h_errnop = HOST_NOT_FOUND;
+- if (buffer_size)
++ if (buffer_size == NULL)
++ *status = NSS_STATUS_NOTFOUND;
++ else
+ *result = NULL;
+ goto done;
+ }
+--- ./nss/test-digits-dots.c.orig 2015-01-27 17:52:55.084039748 -0600
++++ ./nss/test-digits-dots.c 2015-01-27 17:52:55.084039748 -0600
+@@ -0,0 +1,38 @@
++/* Copyright (C) 2013 Free Software Foundation, Inc.
++ This file is part of the GNU C Library.
++
++ The GNU C Library is free software; you can redistribute it and/or
++ modify it under the terms of the GNU Lesser General Public
++ License as published by the Free Software Foundation; either
++ version 2.1 of the License, or (at your option) any later version.
++
++ The GNU C Library is distributed in the hope that it will be useful,
++ but WITHOUT ANY WARRANTY; without even the implied warranty of
++ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
++ Lesser General Public License for more details.
++
++ You should have received a copy of the GNU Lesser General Public
++ License along with the GNU C Library; if not, see
++ <http://www.gnu.org/licenses/>. */
++
++/* Testcase for BZ #15014 */
++
++#include <stdlib.h>
++#include <netdb.h>
++#include <errno.h>
++
++static int
++do_test (void)
++{
++ char buf[32];
++ struct hostent *result = NULL;
++ struct hostent ret;
++ int h_err = 0;
++ int err;
++
++ err = gethostbyname_r ("1.2.3.4", &ret, buf, sizeof (buf), &result, &h_err);
++ return err == ERANGE && h_err == NETDB_INTERNAL ? EXIT_SUCCESS : EXIT_FAILURE;
++}
++
++#define TEST_FUNCTION do_test ()
++#include "../test-skeleton.c"
+--- ./nss/Makefile.orig 2007-08-10 18:39:41.000000000 -0500
++++ ./nss/Makefile 2015-01-27 17:52:55.085039748 -0600
+@@ -39,7 +39,7 @@
+ others := getent
+ install-bin := getent
+
+-tests = test-netdb
++tests = test-netdb test-digits-dots
+ xtests = bug-erange
+
+ include ../Makeconfig
diff --git a/patches/source/glibc/glibc.SlackBuild b/patches/source/glibc/glibc.SlackBuild
new file mode 100755
index 00000000..639307dd
--- /dev/null
+++ b/patches/source/glibc/glibc.SlackBuild
@@ -0,0 +1,475 @@
+#!/bin/sh
+
+# Copyright 2006, 2008, 2009, 2013 Patrick J. Volkerding, Sebeka, MN, USA
+# All rights reserved.
+#
+# Redistribution and use of this script, with or without modification, is
+# permitted provided that the following conditions are met:
+#
+# 1. Redistributions of this script must retain the above copyright
+# notice, this list of conditions and the following disclaimer.
+#
+# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED
+# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
+# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
+# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+## build glibc-$VERSION for Slackware
+
+
+VERSION=${VERSION:-2.9}
+CHECKOUT=${CHECKOUT:--20090316}
+BUILD=${BUILD:-7_slack13.0}
+
+# $ARCH may be preset, otherwise i486 compatibility with i686 binary
+# structuring is the Slackware default, since this is what gcc-3.2+
+# requires for binary compatibility with previous releases.
+if [ -z "$ARCH" ]; then
+ case "$( uname -m )" in
+ i?86) export ARCH=i486 ;;
+ arm*) export ARCH=arm ;;
+ # Unless $ARCH is already set, use uname -m for all other archs:
+ *) export ARCH=$( uname -m ) ;;
+ esac
+fi
+
+CVSVER=${VERSION}${CHECKOUT}
+
+# NOTE!!! glibc needs to be built against the sanitized kernel headers,
+# which will be installed under /usr/include by the kernel-headers package.
+# Be sure the correct version of the headers package is installed BEFORE
+# building glibc!
+
+CWD=$(pwd)
+# Temporary build location. This should not be a directory
+# path a non-root user could create later...
+TMP=${TMP:-/glibc-tmp-$(mcookie)}
+mkdir -p $TMP
+
+# Sanity check on the version number in the install scripts:
+if ! grep -vq libutil-$VERSION}.so $CWD/doinst.sh-glibc ; then
+ echo "FATAL: doinst.sh scripts have wrong version numbers."
+ exit 1
+fi
+
+case $ARCH in
+ x86_64)
+ TARGET=${TARGET:-x86_64}
+ ;;
+ i486)
+ # This should be i486 for all 32-bit x86 arch:
+ TARGET=${TARGET:-i486}
+ ;;
+esac
+
+# This function fixes a doinst.sh file for x86_64.
+# With thanks to Fred Emmott.
+fix_doinst() {
+ if [ "x$LIBDIRSUFFIX" = "x" ]; then
+ return;
+ fi;
+ # Fix "( cd usr/lib ;" occurrences
+ sed -i "s#lib ;#lib${LIBDIRSUFFIX} ;#" install/doinst.sh
+ # Fix "lib/" occurrences
+ sed -i "s#lib/#lib${LIBDIRSUFFIX}/#g" install/doinst.sh
+ # Fix "( cd lib" occurrences
+ sed -i "s#( cd lib\$#( cd lib${LIBDIRSUFFIX}#" install/doinst.sh
+
+ if [ "$ARCH" = "x86_64" ]; then
+ sed -i 's#ld-linux.so.2#ld-linux-x86-64.so.2#' install/doinst.sh
+ fi
+}
+
+# This is a patch function to put all glibc patches in the build script
+# up near the top.
+apply_patches() {
+ # Use old-style locale directories rather than a single (and strangely
+ # formatted) /usr/lib/locale/locale-archive file:
+ zcat $CWD/glibc.locale.no-archive.diff.gz | patch -p1 --verbose || exit 1
+ # The is_IS locale is causing a strange error about the "echn" command
+ # not existing. This patch reverts is_IS to the version shipped in
+ # glibc-2.5:
+ zcat $CWD/is_IS.diff.gz | patch -p1 --verbose || exit 1
+ # Fix NIS netgroups:
+ zcat $CWD/glibc.nis-netgroups.diff.gz | patch -p1 --verbose || exit 1
+ # Support ru_RU.CP1251 locale:
+ zcat $CWD/glibc.ru_RU.CP1251.diff.gz | patch -p1 --verbose || exit 1
+ # Fix missing MAX macro in getcwd.c:
+ zcat $CWD/glibc.getcwd.max.macro.diff.gz | patch -p1 --verbose || exit 1
+ # Fix resolver problem with glibc-2.9:
+ zcat $CWD/glibc-2.10-dns-no-gethostbyname4.diff.gz | patch -p0 --verbose || exit 1
+ # This reverts a patch that was made to glibc to fix "namespace leakage",
+ # which seems to cause some build failures (e.g. with conntrack):
+ zcat $CWD/glibc.revert.to.fix.build.breakages.diff.gz | patch -p1 --verbose || exit 1
+ # This fixes a security issue in glibc 2.12.1 and earlier:
+ zcat $CWD/glibc.CVE-2010-3847.diff.gz | patch -p1 --verbose || exit 1
+ # This fixes a security issue in glibc 2.12.1 and earlier:
+ zcat $CWD/glibc.CVE-2010-3856.diff.gz | patch -p1 --verbose || exit 1
+ # Patch integer overflows in pvalloc, valloc, and
+ # posix_memalign/memalign/aligned_alloc (CVE-2013-4332).
+ zcat $CWD/glibc.CVE-2013-4332.diff.gz | patch -p1 --verbose || exit 1
+ # Fix parsing of numeric hosts in gethostbyname_r:
+ zcat $CWD/glibc.CVE-2015-0235.glibc29.diff.gz | patch -p1 --verbose || exit 1
+}
+
+# I'll break this out as an option for fun :-)
+case $ARCH in
+ i386)
+ OPTIMIZ="-O3 -march=i386 -mcpu=i686"
+ LIBDIRSUFFIX=""
+ ;;
+ i486)
+ OPTIMIZ="-O3 -march=i486 -mtune=i686"
+ LIBDIRSUFFIX=""
+ ;;
+ i586)
+ OPTIMIZ="-O3 -march=i586"
+ LIBDIRSUFFIX=""
+ ;;
+ i686)
+ OPTIMIZ="-O3 -march=i686"
+ LIBDIRSUFFIX=""
+ ;;
+ athlon)
+ OPTIMIZ="-O3 -march=athlon"
+ LIBDIRSUFFIX=""
+ ;;
+ s390)
+ OPTIMIZ="-O3"
+ LIBDIRSUFFIX=""
+ ;;
+ x86_64)
+ OPTIMIZ="-O3 -fPIC"
+ LIBDIRSUFFIX="64"
+ ;;
+ *)
+ OPTIMIZ="-O3"
+ LIBDIRSUFFIX=""
+ ;;
+esac
+
+# This is going to be the initial $DESTDIR:
+export PKG=$TMP/package-glibc-incoming-tree
+PGLIBC=$TMP/package-glibc
+PSOLIBS=$TMP/package-glibc-solibs
+PZONE=$TMP/package-glibc-zoneinfo
+PI18N=$TMP/package-glibc-i18n
+PPROFILE=$TMP/package-glibc-profile
+PDEBUG=$TMP/package-glibc-debug
+
+# Empty these locations first:
+for dir in $PKG $PGLIBC $PSOLIBS $PZONE $PI18N $PPROFILE $PDEBUG ; do
+ if [ -d $dir ]; then
+ rm -rf $dir
+ fi
+ mkdir -p $dir
+done
+if [ -d $TMP/glibc-$VERSION ]; then
+ rm -rf $TMP/glibc-$VERSION
+fi
+
+# Create an incoming directory structure for glibc to be built into:
+mkdir -p $PKG/lib${LIBDIRSUFFIX}
+mkdir -p $PKG/sbin
+mkdir -p $PKG/usr/bin
+mkdir -p $PKG/usr/lib${LIBDIRSUFFIX}
+mkdir -p $PKG/usr/sbin
+mkdir -p $PKG/usr/include
+mkdir -p $PKG/usr/doc
+mkdir -p $PKG/usr/man
+mkdir -p $PKG/usr/share
+mkdir -p $PKG/var/db/nscd
+mkdir -p $PKG/var/run/nscd
+
+# Begin extract/compile:
+cd $TMP
+rm -rf glibc-$CVSVER
+tar xjvf $CWD/glibc-$CVSVER.tar.bz2
+cd glibc-$CVSVER
+
+chown -R root:root .
+find . -perm 666 -exec chmod 644 {} \;
+find . -perm 664 -exec chmod 644 {} \;
+find . -perm 600 -exec chmod 644 {} \;
+find . -perm 444 -exec chmod 644 {} \;
+find . -perm 400 -exec chmod 644 {} \;
+find . -perm 440 -exec chmod 644 {} \;
+find . -perm 777 -exec chmod 755 {} \;
+find . -perm 775 -exec chmod 755 {} \;
+find . -perm 511 -exec chmod 755 {} \;
+find . -perm 711 -exec chmod 755 {} \;
+find . -perm 555 -exec chmod 755 {} \;
+
+# Clean up leftover CVS directories:
+find . -type d -name CVS -exec rm -r {} \; 2> /dev/null
+
+# Apply patches; exit if any fail.
+apply_patches
+if [ ! $? = 0 ]; then
+ exit 1
+fi
+
+# Make build directory:
+mkdir build-glibc-$VERSION
+cd build-glibc-$VERSION
+
+echo "BUILDING DAS NPTL GLIBC"
+CFLAGS="-g $OPTIMIZ" \
+../configure \
+ --prefix=/usr \
+ --libdir=/usr/lib${LIBDIRSUFFIX} \
+ --enable-kernel=2.6.18 \
+ --with-headers=/usr/include \
+ --enable-add-ons=libidn,nptl \
+ --enable-profile \
+ --infodir=/usr/info \
+ --mandir=/usr/man \
+ --with-tls \
+ --with-__thread \
+ --without-cvs \
+ $TARGET-slackware-linux
+
+make -j4 || exit 1
+make install install_root=$PKG || exit 1
+make localedata/install-locales install_root=$PKG || exit 1
+
+# The prevailing standard seems to be putting unstripped libraries in
+# /usr/lib/debug/ and stripping the debugging symbols from all the other
+# libraries.
+mkdir -p $PKG/usr/lib${LIBDIRSUFFIX}/debug
+cp -a $PKG/lib${LIBDIRSUFFIX}/l*.so* $PKG/usr/lib${LIBDIRSUFFIX}/debug
+cp -a $PKG/usr/lib${LIBDIRSUFFIX}/*.a $PKG/usr/lib${LIBDIRSUFFIX}/debug
+# Don't need debug+profile:
+( cd $PKG/usr/lib${LIBDIRSUFFIX}/debug ; rm -f *_p.* )
+# NOTE: Is there really a reason for the glibc-debug package?
+# If you're debugging glibc, you can also compile it, right?
+
+## COMMENTED OUT: There's no reason for profile libs to include -g information.
+## Put back unstripped profiling libraries:
+#mv $PKG/usr/lib${LIBDIRSUFFIX}/debug/*_p.a $PKG/usr/lib${LIBDIRSUFFIX}
+# It might be best to put the unstripped and profiling libraries in glibc-debug and glibc-profile.
+
+# I don't think "strip -g" causes the pthread problems. It's --strip-unneeded that does.
+strip -g $PKG/lib${LIBDIRSUFFIX}/l*.so*
+strip -g $PKG/usr/lib${LIBDIRSUFFIX}/l*.so*
+strip -g $PKG/usr/lib${LIBDIRSUFFIX}/lib*.a
+
+# Build and install the zoneinfo database:
+cd $TMP
+rm -rf tzcodedata-build
+mkdir tzcodedata-build
+cd tzcodedata-build
+tar xzf $CWD/tzdata?????.tar.gz
+tar xzf $CWD/tzcode?????.tar.gz
+sed -i "s,/usr/local,$(pwd),g" Makefile
+sed -i "s,/etc/zoneinfo,/zoneinfo,g" Makefile
+make
+make install
+mkdir -p $PKG/usr/share/zoneinfo/{posix,right}
+cp -a zoneinfo/* $PKG/usr/share/zoneinfo
+cp -a zoneinfo-posix/* $PKG/usr/share/zoneinfo/posix
+cp -a zoneinfo-leaps/* $PKG/usr/share/zoneinfo/right
+# Remove $PKG/usr/share/zoneinfo/localtime -- the install script will
+# create it as a link to /etc/localtime.
+rm -f $PKG/usr/share/zoneinfo/localtime
+
+# Back to the sources dir to add some files/docs:
+cd $TMP/glibc-$CVSVER
+
+# We'll automatically install the config file for the Name Server Cache Daemon.
+# Perhaps this should also have some commented-out startup code in rc.inet2...
+mkdir -p $PKG/etc
+cat nscd/nscd.conf > $PKG/etc/nscd.conf.new
+
+# Install some scripts to help select a timezone:
+mkdir -p $PKG/var/log/setup
+cp -a $CWD/timezone-scripts/setup.timeconfig $PKG/var/log/setup
+chown root:root $PKG/var/log/setup/setup.timeconfig
+chmod 755 $PKG/var/log/setup/setup.timeconfig
+mkdir -p $PKG/usr/sbin
+cp -a $CWD/timezone-scripts/timeconfig $PKG/usr/sbin
+chown root:root $PKG/usr/sbin/timeconfig
+chmod 755 $PKG/usr/sbin/timeconfig
+
+## Install docs:
+( mkdir -p $PKG/usr/doc/glibc-$VERSION
+ cp -a \
+ BUGS CONFORMANCE COPYING COPYING.LIB FAQ INSTALL LICENSES NAMESPACE \
+ NEWS NOTES PROJECTS README README.libm \
+ $PKG/usr/doc/glibc-$VERSION
+)
+
+# Don't forget to add the /usr/share/zoneinfo/localtime -> /etc/localtime symlink! :)
+if [ ! -r $PKG/usr/share/zoneinfo/localtime ]; then
+ ( cd $PKG/usr/share/zoneinfo ; ln -sf /etc/localtime . )
+fi
+
+# OK, there are some very old Linux standards that say that any binaries in a /bin or
+# /sbin directory (and the directories themselves) should be group bin rather than
+# group root, unless a specific group is really needed for some reason.
+#
+# I can't find any mention of this in more recent standards docs, and always thought
+# that it was pretty cosmetic anyway (hey, if there's a reason -- fill me in!), so
+# it's possible that this ownership change won't be followed in the near future
+# (it's a PITA, and causes many bug reports when the perms change is occasionally
+# forgotten).
+#
+# But, it's hard to get me to break old habits, so we'll continue the tradition here:
+#
+# No, no we won't. You know how we love to break traditions.
+
+# Strip most binaries:
+( cd $PKG
+ find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | xargs strip --strip-debug 2> /dev/null
+ find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | xargs strip -g 2> /dev/null
+)
+
+# Fix info dir:
+rm $PKG/usr/info/dir
+gzip -9 $PKG/usr/info/*
+
+# This is junk
+rm $PKG/etc/ld.so.cache
+( cd $PKG
+ find . -name "*.orig" -exec rm {} \;
+)
+
+##################################
+# OK, time to make some packages #
+##################################
+
+# glibc-zoneinfo. We will start with an easy one to avoid breaking a sweat. ;-)
+cd $CWD
+ZONE_VERSIONS="$(echo tzdata* | cut -f1 -d . | cut -b7-11)"
+echo $ZONE_VERSIONS
+cd $PZONE
+# Install some scripts to help select a timezone:
+mkdir -p $PZONE/var/log/setup
+cp -a $CWD/timezone-scripts/setup.timeconfig $PZONE/var/log/setup
+chown root:root $PZONE/var/log/setup/setup.timeconfig
+chmod 755 $PZONE/var/log/setup/setup.timeconfig
+mkdir -p $PZONE/usr/sbin
+cp -a $CWD/timezone-scripts/timeconfig $PZONE/usr/sbin
+chown root:root $PZONE/usr/sbin/timeconfig
+chmod 755 $PZONE/usr/sbin/timeconfig
+mkdir $PZONE/install
+cat $CWD/doinst.sh-glibc-zoneinfo > $PZONE/install/doinst.sh
+cat $CWD/slack-desc.glibc-zoneinfo > $PZONE/install/slack-desc
+mkdir -p $PZONE/usr/share
+cd $PZONE/usr/share
+cp -a --verbose $PKG/usr/share/zoneinfo .
+cd $PZONE
+mkdir -p $PZONE/etc
+# This is already hard-coded into doinst.sh (like it'll be there anyway ;-):
+rm -f etc/localtime
+# Wrap it up:
+makepkg -l y -c n $TMP/glibc-zoneinfo-$ZONE_VERSIONS-noarch-$BUILD.txz
+
+# glibc-profile:
+cd $PPROFILE
+mkdir -p usr/lib${LIBDIRSUFFIX}
+# Might as well just grab these with 'mv' to simplify things later:
+mv $PKG/usr/lib${LIBDIRSUFFIX}/lib*_p.a usr/lib${LIBDIRSUFFIX}
+# Profile libs should be stripped. Use the debug libs to debug...
+( cd usr/lib${LIBDIRSUFFIX} ; strip -g *.a )
+mkdir install
+cp -a $CWD/slack-desc.glibc-profile install/slack-desc
+makepkg -l y -c n $TMP/glibc-profile-$VERSION-$ARCH-$BUILD.txz
+
+# THIS IS NO LONGER PACKAGED (or is it? might be better to let it be made, and then ship it or not...)
+# glibc-debug:
+cd $PDEBUG
+mkdir -p usr/lib${LIBDIRSUFFIX}
+# Might as well just grab these with 'mv' to simplify things later:
+mv $PKG/usr/lib${LIBDIRSUFFIX}/debug usr/lib${LIBDIRSUFFIX}
+mkdir install
+cp -a $CWD/slack-desc.glibc-debug install/slack-desc
+makepkg -l y -c n $TMP/glibc-debug-$VERSION-$ARCH-$BUILD.txz
+## INSTEAD, NUKE THESE LIBS
+#rm -rf $PKG/usr/lib${LIBDIRSUFFIX}/debug
+
+# glibc-i18n:
+cd $PI18N
+mkdir -p usr/lib${LIBDIRSUFFIX}
+rm -rf usr/lib${LIBDIRSUFFIX}/locale
+cp -a $PKG/usr/lib${LIBDIRSUFFIX}/locale usr/lib${LIBDIRSUFFIX}
+mkdir -p usr/share
+cp -a $PKG/usr/share/i18n usr/share
+cp -a $PKG/usr/share/locale usr/share
+mkdir install
+cp -a $CWD/slack-desc.glibc-i18n install/slack-desc
+makepkg -l y -c n $TMP/glibc-i18n-$VERSION-$ARCH-$BUILD.txz
+
+# glibc-solibs:
+cd $PSOLIBS
+mkdir -p etc/profile.d
+cp -a $CWD/profile.d/* etc/profile.d
+chown -R root:root etc
+chmod 755 etc/profile.d/*
+mkdir -p lib${LIBDIRSUFFIX}
+cp -a $PKG/lib${LIBDIRSUFFIX}/* lib${LIBDIRSUFFIX}
+( cd lib${LIBDIRSUFFIX}
+ mkdir incoming
+ mv *so* incoming
+ mv incoming/libSegFault.so .
+)
+mkdir -p usr
+cp -a $PKG/usr/bin usr
+mv usr/bin/ldd .
+rm usr/bin/*
+mv ldd usr/bin
+mkdir -p usr/lib${LIBDIRSUFFIX}
+# The gconv directory has a lot of stuff, but including it here will save some problems.
+# Seems standard elsewhere.
+cp -a $PKG/usr/lib${LIBDIRSUFFIX}/gconv usr/lib${LIBDIRSUFFIX}
+# Another manpage abandoned by GNU...
+#mkdir -p usr/man/man1
+#cp -a $PKG/usr/man/man1/ldd.1.gz usr/man/man1
+mkdir -p usr/libexec
+cp -a $PKG/usr/libexec/pt_chown usr/libexec
+# Same usr.bin deal:
+cp -a $PKG/sbin .
+mv sbin/ldconfig .
+rm sbin/*
+mv ldconfig sbin
+mkdir install
+cp -a $CWD/slack-desc.glibc-solibs install/slack-desc
+cp -a $CWD/doinst.sh-glibc-solibs install/doinst.sh
+fix_doinst
+# Ditch links:
+find . -type l -exec rm {} \;
+# Build the package:
+makepkg -l y -c n $TMP/glibc-solibs-$VERSION-$ARCH-$BUILD.txz
+
+# And finally, the complete "all-in-one" glibc package is created
+# from whatever was leftover:
+cd $PGLIBC
+mv $PKG/* .
+mkdir -p etc/profile.d
+cp -a $CWD/profile.d/* etc/profile.d
+chown -R root:root etc
+chmod 755 etc/profile.d/*
+# Ditch links (these are in doinst.sh-glibc):
+find . -type l -exec rm {} \;
+mkdir install
+cp -a $CWD/slack-desc.glibc install/slack-desc
+cp -a $CWD/doinst.sh-glibc install/doinst.sh
+fix_doinst
+( cd lib${LIBDIRSUFFIX}
+ mkdir incoming
+ mv *so* incoming
+ mv incoming/libSegFault.so .
+)
+# Build the package:
+makepkg -l y -c n $TMP/glibc-$VERSION-$ARCH-$BUILD.txz
+
+# Done!
+echo
+echo "glibc packages built in $TMP!"
+
diff --git a/patches/source/glibc/glibc.getcwd.max.macro.diff b/patches/source/glibc/glibc.getcwd.max.macro.diff
new file mode 100644
index 00000000..e26e14d9
--- /dev/null
+++ b/patches/source/glibc/glibc.getcwd.max.macro.diff
@@ -0,0 +1,10 @@
+--- ./sysdeps/unix/sysv/linux/getcwd.c.orig 2006-04-02 12:58:28.000000000 -0500
++++ ./sysdeps/unix/sysv/linux/getcwd.c 2006-10-10 22:11:02.000000000 -0500
+@@ -28,6 +28,7 @@
+ #include <sysdep.h>
+ #include <sys/syscall.h>
+ #include <bp-checks.h>
++#include <sys/param.h>
+
+ #include <kernel-features.h>
+
diff --git a/patches/source/glibc/glibc.locale.no-archive.diff b/patches/source/glibc/glibc.locale.no-archive.diff
new file mode 100644
index 00000000..bf1a83b7
--- /dev/null
+++ b/patches/source/glibc/glibc.locale.no-archive.diff
@@ -0,0 +1,10 @@
+--- ./localedata/Makefile.orig 2003-11-20 15:31:38.000000000 -0800
++++ ./localedata/Makefile 2004-08-03 17:20:54.000000000 -0700
+@@ -222,6 +222,7 @@
+ echo -n '...'; \
+ input=`echo $$locale | sed 's/\([^.]*\)[^@]*\(.*\)/\1\2/'`; \
+ $(LOCALEDEF) --alias-file=../intl/locale.alias \
++ --no-archive \
+ -i locales/$$input -c -f charmaps/$$charset \
+ $(addprefix --prefix=,$(install_root)) $$locale; \
+ echo ' done'; \
diff --git a/patches/source/glibc/glibc.nis-netgroups.diff b/patches/source/glibc/glibc.nis-netgroups.diff
new file mode 100644
index 00000000..2473e976
--- /dev/null
+++ b/patches/source/glibc/glibc.nis-netgroups.diff
@@ -0,0 +1,12 @@
+--- ./nis/nss_nis/nis-netgrp.c.orig 2006-04-08 21:08:28.000000000 -0500
++++ ./nis/nss_nis/nis-netgrp.c 2006-10-10 20:49:11.000000000 -0500
+@@ -72,7 +72,8 @@
+ and the last byte is filled with NUL. So we can simply
+ use that buffer. */
+ assert (len >= 0);
+- assert (malloc_usable_size (netgrp->data) >= len + 1);
++ /* The next line break NIS netgroups on non-PAM systems, so we will comment it out */
++ /* assert (malloc_usable_size (netgrp->data) >= len + 1); */
+ assert (netgrp->data[len] == '\0');
+
+ netgrp->data_size = len;
diff --git a/patches/source/glibc/glibc.revert.to.fix.build.breakages.diff b/patches/source/glibc/glibc.revert.to.fix.build.breakages.diff
new file mode 100644
index 00000000..9c8e93b9
--- /dev/null
+++ b/patches/source/glibc/glibc.revert.to.fix.build.breakages.diff
@@ -0,0 +1,13 @@
+--- ./sysdeps/unix/sysv/linux/bits/socket.h.orig 2008-07-27 03:25:30.000000000 -0500
++++ ./sysdeps/unix/sysv/linux/bits/socket.h 2009-02-24 17:38:52.000000000 -0600
+@@ -26,8 +26,9 @@
+ #endif
+
+ #define __need_size_t
++#define __need_NULL
+ #include <stddef.h>
+-
++#include <limits.h>
+ #include <sys/types.h>
+
+ /* Type for length arguments in socket calls. */
diff --git a/patches/source/glibc/glibc.ru_RU.CP1251.diff b/patches/source/glibc/glibc.ru_RU.CP1251.diff
new file mode 100644
index 00000000..376cf76a
--- /dev/null
+++ b/patches/source/glibc/glibc.ru_RU.CP1251.diff
@@ -0,0 +1,10 @@
+--- ./localedata/SUPPORTED.orig 2005-07-17 20:50:35.000000000 -0500
++++ ./localedata/SUPPORTED 2006-08-22 01:33:09.000000000 -0500
+@@ -270,6 +270,7 @@
+ ro_RO/ISO-8859-2 \
+ ru_RU.KOI8-R/KOI8-R \
+ ru_RU.UTF-8/UTF-8 \
++ru_RU.CP1251/CP1251 \
+ ru_RU/ISO-8859-5 \
+ ru_UA.UTF-8/UTF-8 \
+ ru_UA/KOI8-U \
diff --git a/patches/source/glibc/is_IS.diff b/patches/source/glibc/is_IS.diff
new file mode 100644
index 00000000..52a99696
--- /dev/null
+++ b/patches/source/glibc/is_IS.diff
@@ -0,0 +1,19 @@
+--- ./localedata/locales/is_IS.orig 2007-09-30 17:30:17.000000000 -0500
++++ ./localedata/locales/is_IS 2006-07-30 17:19:43.000000000 -0500
+@@ -947,6 +947,7 @@
+ <UE00D> IGNORE;IGNORE;IGNORE;<UE00D>
+ <UE00E> IGNORE;IGNORE;IGNORE;<UE00E>
+ <UE00F> IGNORE;IGNORE;IGNORE;<UE00F>
++<"=> IGNORE;IGNORE;IGNORE;<"=>
+ <UE011> IGNORE;IGNORE;IGNORE;<UE011>
+ <UE012> IGNORE;IGNORE;IGNORE;<UE012>
+ <UE013> IGNORE;IGNORE;IGNORE;<UE013>
+@@ -955,6 +956,8 @@
+ <UE017> IGNORE;IGNORE;IGNORE;<UE017>
+ <UE018> IGNORE;IGNORE;IGNORE;<UE018>
+ <UE019> IGNORE;IGNORE;IGNORE;<UE019>
++<Mc> IGNORE;IGNORE;IGNORE;<Mc>
++<Fl> IGNORE;IGNORE;IGNORE;<Fl>
+ UNDEFINED IGNORE;IGNORE;IGNORE
+
+ <U0030> <U0030>;<U0030>;IGNORE;IGNORE
diff --git a/patches/source/glibc/profile.d/glibc.csh.new b/patches/source/glibc/profile.d/glibc.csh.new
new file mode 100755
index 00000000..adcc4060
--- /dev/null
+++ b/patches/source/glibc/profile.d/glibc.csh.new
@@ -0,0 +1,9 @@
+#!/bin/csh
+# Set more relaxed (glibc-2.3.5 like) malloc() checking.
+#
+# This relaxes the default paranoia level so that it reports
+# bugs, but does not kill the questionable process. You can
+# get away with running broken programs with this setting,
+# but at a possible performance and security cost.
+#
+#setenv MALLOC_CHECK_=1
diff --git a/patches/source/glibc/profile.d/glibc.sh.new b/patches/source/glibc/profile.d/glibc.sh.new
new file mode 100755
index 00000000..979f4879
--- /dev/null
+++ b/patches/source/glibc/profile.d/glibc.sh.new
@@ -0,0 +1,8 @@
+#!/bin/sh
+# Set more relaxed (glibc-2.3.5 like) malloc() checking.
+#
+# This relaxes the default paranoia level so that it reports
+# bugs, but does not kill the questionable process. You can
+# get away with running broken programs with this setting,
+# but at a possible performance and security cost.
+#export MALLOC_CHECK_=1
diff --git a/patches/source/glibc/slack-desc.glibc b/patches/source/glibc/slack-desc.glibc
new file mode 100644
index 00000000..c9c35c2d
--- /dev/null
+++ b/patches/source/glibc/slack-desc.glibc
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|' on
+# the right side marks the last column you can put a character in. You must make
+# exactly 11 lines for the formatting to be correct. It's also customary to
+# leave one space after the ':'.
+
+ |-----handy-ruler------------------------------------------------------|
+glibc: glibc (GNU C libraries)
+glibc:
+glibc: This package contains the GNU C libraries and header files. The GNU
+glibc: C library was written originally by Roland McGrath, and is currently
+glibc: maintained by Ulrich Drepper. Some parts of the library were
+glibc: contributed or worked on by other people.
+glibc:
+glibc: You'll need this package to compile programs.
+glibc:
+glibc:
+glibc:
diff --git a/patches/source/glibc/slack-desc.glibc-debug b/patches/source/glibc/slack-desc.glibc-debug
new file mode 100644
index 00000000..79398d0b
--- /dev/null
+++ b/patches/source/glibc/slack-desc.glibc-debug
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|' on
+# the right side marks the last column you can put a character in. You must make
+# exactly 11 lines for the formatting to be correct. It's also customary to
+# leave one space after the ':'.
+
+ |-----handy-ruler------------------------------------------------------|
+glibc-debug: glibc-debug (GNU C libraries with debugging symbols)
+glibc-debug:
+glibc-debug: This package contains versions of the GNU C libraries with debugging
+glibc-debug: information. These are needed only if you wish to be able to step
+glibc-debug: through C library routines while debugging programs. Most debugging
+glibc-debug: efforts will not require these.
+glibc-debug: To use these libraries, set LD_LIBRARY_PATH when calling the debugger:
+glibc-debug: LD_LIBRARY_PATH=/usr/lib/debug gdb <executable>
+glibc-debug:
+glibc-debug: Or, use this approach if you need to debug a setuid binary:
+glibc-debug: su user -c "LD_LIBRARY_PATH=/usr/lib/debug gdb <executable>"
diff --git a/patches/source/glibc/slack-desc.glibc-i18n b/patches/source/glibc/slack-desc.glibc-i18n
new file mode 100644
index 00000000..71f5336c
--- /dev/null
+++ b/patches/source/glibc/slack-desc.glibc-i18n
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|' on
+# the right side marks the last column you can put a character in. You must make
+# exactly 11 lines for the formatting to be correct. It's also customary to
+# leave one space after the ':'.
+
+ |-----handy-ruler------------------------------------------------------|
+glibc-i18n: glibc-i18n (locale files from glibc)
+glibc-i18n:
+glibc-i18n: These files go in /usr/lib/locale and /usr/share/i18n/ to provide
+glibc-i18n: internationalization support. You'll need this package unless you
+glibc-i18n: will be using US English only.
+glibc-i18n:
+glibc-i18n:
+glibc-i18n:
+glibc-i18n:
+glibc-i18n:
+glibc-i18n:
diff --git a/patches/source/glibc/slack-desc.glibc-profile b/patches/source/glibc/slack-desc.glibc-profile
new file mode 100644
index 00000000..8c873fd9
--- /dev/null
+++ b/patches/source/glibc/slack-desc.glibc-profile
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|' on
+# the right side marks the last column you can put a character in. You must make
+# exactly 11 lines for the formatting to be correct. It's also customary to
+# leave one space after the ':'.
+
+ |-----handy-ruler------------------------------------------------------|
+glibc-profile: glibc-profile (GNU C libraries with profiling support)
+glibc-profile:
+glibc-profile: This package contains static versions of the GNU C libraries with
+glibc-profile: support for profiling binaries using gprof. gprof calculates how
+glibc-profile: much time a program spends in each routine which can suggest where
+glibc-profile: to concentrate efforts to improve performance.
+glibc-profile:
+glibc-profile: See the gprof man page for more details.
+glibc-profile:
+glibc-profile:
+glibc-profile:
diff --git a/patches/source/glibc/slack-desc.glibc-solibs b/patches/source/glibc/slack-desc.glibc-solibs
new file mode 100644
index 00000000..807df645
--- /dev/null
+++ b/patches/source/glibc/slack-desc.glibc-solibs
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|' on
+# the right side marks the last column you can put a character in. You must make
+# exactly 11 lines for the formatting to be correct. It's also customary to
+# leave one space after the ':'.
+
+ |-----handy-ruler------------------------------------------------------|
+glibc-solibs: glibc-solibs (shared GNU C libraries)
+glibc-solibs:
+glibc-solibs: This package contains the shared libraries, binaries, and support
+glibc-solibs: files required to run most Linux applications linked with glibc.
+glibc-solibs:
+glibc-solibs:
+glibc-solibs:
+glibc-solibs:
+glibc-solibs:
+glibc-solibs:
+glibc-solibs:
diff --git a/patches/source/glibc/slack-desc.glibc-solibs-linuxthreads b/patches/source/glibc/slack-desc.glibc-solibs-linuxthreads
new file mode 100644
index 00000000..9efe3bf1
--- /dev/null
+++ b/patches/source/glibc/slack-desc.glibc-solibs-linuxthreads
@@ -0,0 +1,18 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|' on
+# the right side marks the last column you can put a character in. You must make
+# exactly 11 lines for the formatting to be correct. It's also customary to
+# leave one space after the ':'.
+
+ |-----handy-ruler------------------------------------------------------|
+glibc-solibs-linuxthreads: glibc-solibs-linuxthreads (LinuxThreads shared GNU C libraries)
+glibc-solibs-linuxthreads:
+glibc-solibs-linuxthreads: This package contains the shared libraries for glibc that uses
+glibc-solibs-linuxthreads: LinuxThreads, the threading implementation in Linux 2.4.x and
+glibc-solibs-linuxthreads: earlier kernels. In some cases you'll need to use these libraries
+glibc-solibs-linuxthreads: to run old binaries by setting these environment variables:
+glibc-solibs-linuxthreads: export LD_ASSUME_KERNEL=2.4.33
+glibc-solibs-linuxthreads: export LD_LIBRARY_PATH=/lib/obsolete/linuxthreads
+glibc-solibs-linuxthreads: old-program
+glibc-solibs-linuxthreads: Most users should have no need for this package. Recompile. :-)
diff --git a/patches/source/glibc/slack-desc.glibc-zoneinfo b/patches/source/glibc/slack-desc.glibc-zoneinfo
new file mode 100644
index 00000000..24dfd0e9
--- /dev/null
+++ b/patches/source/glibc/slack-desc.glibc-zoneinfo
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|' on
+# the right side marks the last column you can put a character in. You must make
+# exactly 11 lines for the formatting to be correct. It's also customary to
+# leave one space after the ':'.
+
+ |-----handy-ruler------------------------------------------------------|
+glibc-zoneinfo: glibc-zoneinfo (timezone database)
+glibc-zoneinfo:
+glibc-zoneinfo: This package allows you to configure your time zone.
+glibc-zoneinfo:
+glibc-zoneinfo: This timezone database comes from the tzdata and tzcode packages by
+glibc-zoneinfo: Arthur David Olson et.al. The latest version and more information
+glibc-zoneinfo: may be found at ftp://elsie.nci.nih.gov/pub/
+glibc-zoneinfo:
+glibc-zoneinfo: Use the timeconfig utility to set your local time zone.
+glibc-zoneinfo:
+glibc-zoneinfo:
diff --git a/patches/source/glibc/timezone-scripts/output-updated-timeconfig.sh b/patches/source/glibc/timezone-scripts/output-updated-timeconfig.sh
new file mode 100644
index 00000000..a04f1b67
--- /dev/null
+++ b/patches/source/glibc/timezone-scripts/output-updated-timeconfig.sh
@@ -0,0 +1,53 @@
+#!/bin/sh
+# Copyright 2000, 2001, 2006, 2007, 2008, 2012 Patrick J. Volkerding, Sebeka, MN, USA.
+# All rights reserved.
+#
+# Redistribution and use of this script, with or without modification, is
+# permitted provided that the following conditions are met:
+#
+# 1. Redistributions of this script must retain the above copyright
+# notice, this list of conditions and the following disclaimer.
+#
+# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED
+# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
+# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
+# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+#
+
+if [ ! "$(basename "$1")" = "zoneinfo" -o ! -d "$1" ]; then
+ echo " Usage: output-updated-timeconfig.sh <zoneinfo directory>"
+ exit 1
+fi
+
+CWD=$(pwd)
+cat $CWD/parts/00
+# Sorry, I'd rather not be US-centric but some people here have a hard
+# time finding things. ;-)
+( cd $1
+ find . -type f | xargs file | grep "timezone data" | cut -f 1 -d : | cut -f 2- -d / | sort | grep "^US/" | while read zone ; do
+ echo "\"${zone}\" \" \" \\"
+ done
+)
+( cd $1
+ find . -type f | xargs file | grep "timezone data" | cut -f 1 -d : | cut -f 2- -d / | sort | grep -v "^US/" | while read zone ; do
+ echo "\"${zone}\" \" \" \\"
+ done
+)
+cat $CWD/parts/02
+( cd $1
+ find . -type f | xargs file | grep "timezone data" | cut -f 1 -d : | cut -f 2- -d / | sort | grep "^US/" | while read zone ; do
+ echo "${zone}"
+ done
+)
+( cd $1
+ find . -type f | xargs file | grep "timezone data" | cut -f 1 -d : | cut -f 2- -d / | sort | grep -v "^US/" | while read zone ; do
+ echo "${zone}"
+ done
+)
+cat $CWD/parts/04
diff --git a/patches/source/glibc/timezone-scripts/parts/00 b/patches/source/glibc/timezone-scripts/parts/00
new file mode 100644
index 00000000..a1601faa
--- /dev/null
+++ b/patches/source/glibc/timezone-scripts/parts/00
@@ -0,0 +1,131 @@
+#!/bin/sh
+#
+# timeconfig Slackware Linux timezone configuration utility.
+#
+# Author: Patrick Volkerding <volkerdi@slackware.com>
+# Modified by: David Cantrell <david@slackware.com>, 06-Oct-2000
+#
+# ChangeLog:
+# 2014-10-22: Updated timezones from tzdata2014i. <pjv>
+# 2012-12-12: Updated timezones from tzdata2012j. <pjv>
+# 2008-03-10: Updated timezones from tzdata2008a. <pjv>
+# 2007-12-21: Updated timezones from tzdata2007j. <pjv>
+# 2006-12-03: Updated timezones from tzdata2006p. <pjv>
+# 2006-09-14: Updated timezones from tzdata2006k. <pjv>
+# 2006-08-22: Updated timezones from tzdata2006j.
+# 2006-08-13: Updated timezones from tzdata2006g.
+# 2006-03-13: Updated timezones from tzdata2006c.
+# 19-Feb-2001 Add new timezones from glibc-2.2.2.
+# 06-Oct-2000 Fixed a problem with selecting UTC time. It was writing
+# the hardwareclock file to the root disk and not your dest
+# partition. Changed the HWCLOCK_CONF variable to be
+# $T_PX/etc/hardwareclock to fix this. Thanks to David L.
+# Dickman <softbear@optonline.net> for finding this and
+# submitting a patch.
+#
+# 15-Mar-2000 Added the writeconf function to write out the
+# /etc/hardwareclock file which tells what the hardware clock
+# is set to (UTC or localtime).
+#
+# 03-Mar-2000 Reorganized script. Made one timezone set block, added
+# stage that asks the user if the hardware clock is set to
+# UTC.
+
+# setup our temp locations and variables
+TMP=/var/log/setup/tmp
+if [ -r $TMP/SeTT_PX ]; then
+ T_PX="`cat $TMP/SeTT_PX`"
+elif [ ! "$!" = "" ]; then
+ T_PX=$1
+else
+ T_PX=/
+fi
+
+# the hardware clock configuration file
+HWCLOCK_CONF=$T_PX/etc/hardwareclock
+
+# setzone( $TIMEZONE )
+#
+# This function accepts a time zone as the only parameter and sets it as
+# the default system time zone.
+setzone()
+{
+ TZ=$1
+
+ cd $T_PX/etc
+ if [ -r $T_PX/usr/share/zoneinfo/$TZ -o \
+ -r /var/log/mount/usr/share/zoneinfo/$TZ -o \
+ -L $T_PX/usr/share/zoneinfo/$TZ -o \
+ -L /var/log/mount/usr/share/zoneinfo/$TZ ]; then
+ ln -sf /usr/share/zoneinfo/$TZ localtime-copied-from
+ rm -f localtime
+ cd ..
+ chroot . cp etc/localtime-copied-from etc/localtime
+ fi
+}
+
+# writeconf( $CLOCK_SET_TO )
+#
+# Writes out $HWCLOCK_CONF that tells rc.S how the hardware clock
+# value is stored.
+writeconf()
+{
+ echo "# /etc/hardwareclock" > $HWCLOCK_CONF
+ echo "#" >> $HWCLOCK_CONF
+ echo "# Tells how the hardware clock time is stored." >> $HWCLOCK_CONF
+ echo "# You should run timeconfig to edit this file." >> $HWCLOCK_CONF
+ echo >> $HWCLOCK_CONF
+ echo $1 >> $HWCLOCK_CONF
+}
+
+# ask the user if the hardware clock is set for UTC/GMT
+if [ "$COLOR" = "on" -o -r $TMP/SeTcolor -o "$T_PX" = "/" ]; then
+ ###
+ ### use color menus here
+ ###
+ dialog --title "HARDWARE CLOCK SET TO UTC?" --menu "Is the hardware clock set \
+to Coordinated Universal Time (UTC/GMT)? If it is, select YES here. If the \
+hardware clock is set to the current local time (this is how most PCs are set \
+up), then say NO here. If you are not sure what this is, you should answer NO \
+here." 13 60 2 \
+ "NO" "Hardware clock is set to local time" \
+ "YES" "Hardware clock is set to UTC" \
+ 2> $TMP/utc
+ if [ $? = 1 -o $? = 255 ]; then
+ rm -f $TMP/utc
+ exit
+ fi
+ if [ "`cat $TMP/utc`" = "YES" ]; then
+ # yes, the hardware clock is UTC
+ writeconf "UTC"
+ else # must be NO
+ writeconf "localtime"
+ fi
+ rm -f $TMP/utc
+else
+ ###
+ ### use text prompts
+ ###
+ echo "Is the hardware clock set to Coordinated Universal Time (UTC/GMT)?"
+ echo "If it is, select 'y' here. If the hardware clock is set to the"
+ echo "current local time (this is how most PCs are set up), then say 'n'"
+ echo "here. If you are not sure what this is, you should answer 'n' here."
+ echo
+ echo -n "Is your hardware clock set to UTC ([y]es, [n]o)? "
+ read HEJAZ
+
+ if [ "$HEJAZ" = "y" -o "$HEJAZ" = "Y" -o "$HEJAZ" = "YES" -o "$HEJAZ" = "yes" ]; then
+ # yes, the hardware clock is UTC
+ writeconf "UTC"
+ else
+ # default to localtime
+ writeconf "localtime"
+ fi
+fi
+
+# Now set the correct timezone link:
+if [ "$COLOR" = "on" -o -r $TMP/SeTcolor -o "$T_PX" = "/" ]; then
+ ###
+ ### use color menus here
+ ###
+ dialog --title "TIMEZONE CONFIGURATION" --menu "Please select one of the following timezones for your machine:" 21 50 13 \
diff --git a/patches/source/glibc/timezone-scripts/parts/01 b/patches/source/glibc/timezone-scripts/parts/01
new file mode 100644
index 00000000..7fc8fb1d
--- /dev/null
+++ b/patches/source/glibc/timezone-scripts/parts/01
@@ -0,0 +1,1658 @@
+"US/Alaska" " " \
+"US/Aleutian" " " \
+"US/Arizona" " " \
+"US/Central" " " \
+"US/East-Indiana" " " \
+"US/Eastern" " " \
+"US/Hawaii" " " \
+"US/Indiana-Starke" " " \
+"US/Michigan" " " \
+"US/Mountain" " " \
+"US/Pacific" " " \
+"US/Pacific-New" " " \
+"US/Samoa" " " \
+"Africa/Abidjan" " " \
+"Africa/Accra" " " \
+"Africa/Addis_Ababa" " " \
+"Africa/Algiers" " " \
+"Africa/Asmera" " " \
+"Africa/Bamako" " " \
+"Africa/Bangui" " " \
+"Africa/Banjul" " " \
+"Africa/Bissau" " " \
+"Africa/Blantyre" " " \
+"Africa/Brazzaville" " " \
+"Africa/Bujumbura" " " \
+"Africa/Cairo" " " \
+"Africa/Casablanca" " " \
+"Africa/Ceuta" " " \
+"Africa/Conakry" " " \
+"Africa/Dakar" " " \
+"Africa/Dar_es_Salaam" " " \
+"Africa/Djibouti" " " \
+"Africa/Douala" " " \
+"Africa/El_Aaiun" " " \
+"Africa/Freetown" " " \
+"Africa/Gaborone" " " \
+"Africa/Harare" " " \
+"Africa/Johannesburg" " " \
+"Africa/Kampala" " " \
+"Africa/Khartoum" " " \
+"Africa/Kigali" " " \
+"Africa/Kinshasa" " " \
+"Africa/Lagos" " " \
+"Africa/Libreville" " " \
+"Africa/Lome" " " \
+"Africa/Luanda" " " \
+"Africa/Lubumbashi" " " \
+"Africa/Lusaka" " " \
+"Africa/Malabo" " " \
+"Africa/Maputo" " " \
+"Africa/Maseru" " " \
+"Africa/Mbabane" " " \
+"Africa/Mogadishu" " " \
+"Africa/Monrovia" " " \
+"Africa/Nairobi" " " \
+"Africa/Ndjamena" " " \
+"Africa/Niamey" " " \
+"Africa/Nouakchott" " " \
+"Africa/Ouagadougou" " " \
+"Africa/Porto-Novo" " " \
+"Africa/Sao_Tome" " " \
+"Africa/Timbuktu" " " \
+"Africa/Tripoli" " " \
+"Africa/Tunis" " " \
+"Africa/Windhoek" " " \
+"America/Adak" " " \
+"America/Anchorage" " " \
+"America/Anguilla" " " \
+"America/Antigua" " " \
+"America/Araguaina" " " \
+"America/Argentina/Buenos_Aires" " " \
+"America/Argentina/Catamarca" " " \
+"America/Argentina/ComodRivadavia" " " \
+"America/Argentina/Cordoba" " " \
+"America/Argentina/Jujuy" " " \
+"America/Argentina/La_Rioja" " " \
+"America/Argentina/Mendoza" " " \
+"America/Argentina/Rio_Gallegos" " " \
+"America/Argentina/San_Juan" " " \
+"America/Argentina/Tucuman" " " \
+"America/Argentina/Ushuaia" " " \
+"America/Aruba" " " \
+"America/Asuncion" " " \
+"America/Atikokan" " " \
+"America/Atka" " " \
+"America/Bahia" " " \
+"America/Barbados" " " \
+"America/Belem" " " \
+"America/Belize" " " \
+"America/Blanc-Sablon" " " \
+"America/Boa_Vista" " " \
+"America/Bogota" " " \
+"America/Boise" " " \
+"America/Buenos_Aires" " " \
+"America/Cambridge_Bay" " " \
+"America/Campo_Grande" " " \
+"America/Cancun" " " \
+"America/Caracas" " " \
+"America/Catamarca" " " \
+"America/Cayenne" " " \
+"America/Cayman" " " \
+"America/Chicago" " " \
+"America/Chihuahua" " " \
+"America/Coral_Harbour" " " \
+"America/Cordoba" " " \
+"America/Costa_Rica" " " \
+"America/Cuiaba" " " \
+"America/Curacao" " " \
+"America/Danmarkshavn" " " \
+"America/Dawson" " " \
+"America/Dawson_Creek" " " \
+"America/Denver" " " \
+"America/Detroit" " " \
+"America/Dominica" " " \
+"America/Edmonton" " " \
+"America/Eirunepe" " " \
+"America/El_Salvador" " " \
+"America/Ensenada" " " \
+"America/Fort_Wayne" " " \
+"America/Fortaleza" " " \
+"America/Glace_Bay" " " \
+"America/Godthab" " " \
+"America/Goose_Bay" " " \
+"America/Grand_Turk" " " \
+"America/Grenada" " " \
+"America/Guadeloupe" " " \
+"America/Guatemala" " " \
+"America/Guayaquil" " " \
+"America/Guyana" " " \
+"America/Halifax" " " \
+"America/Havana" " " \
+"America/Hermosillo" " " \
+"America/Indiana/Indianapolis" " " \
+"America/Indiana/Knox" " " \
+"America/Indiana/Marengo" " " \
+"America/Indiana/Petersburg" " " \
+"America/Indiana/Tell_City" " " \
+"America/Indiana/Vevay" " " \
+"America/Indiana/Vincennes" " " \
+"America/Indianapolis" " " \
+"America/Inuvik" " " \
+"America/Iqaluit" " " \
+"America/Jamaica" " " \
+"America/Jujuy" " " \
+"America/Juneau" " " \
+"America/Kentucky/Louisville" " " \
+"America/Kentucky/Monticello" " " \
+"America/Knox_IN" " " \
+"America/La_Paz" " " \
+"America/Lima" " " \
+"America/Los_Angeles" " " \
+"America/Louisville" " " \
+"America/Maceio" " " \
+"America/Managua" " " \
+"America/Manaus" " " \
+"America/Martinique" " " \
+"America/Mazatlan" " " \
+"America/Mendoza" " " \
+"America/Menominee" " " \
+"America/Merida" " " \
+"America/Mexico_City" " " \
+"America/Miquelon" " " \
+"America/Moncton" " " \
+"America/Monterrey" " " \
+"America/Montevideo" " " \
+"America/Montreal" " " \
+"America/Montserrat" " " \
+"America/Nassau" " " \
+"America/New_York" " " \
+"America/Nipigon" " " \
+"America/Nome" " " \
+"America/Noronha" " " \
+"America/North_Dakota/Center" " " \
+"America/North_Dakota/New_Salem" " " \
+"America/Panama" " " \
+"America/Pangnirtung" " " \
+"America/Paramaribo" " " \
+"America/Phoenix" " " \
+"America/Port-au-Prince" " " \
+"America/Port_of_Spain" " " \
+"America/Porto_Acre" " " \
+"America/Porto_Velho" " " \
+"America/Puerto_Rico" " " \
+"America/Rainy_River" " " \
+"America/Rankin_Inlet" " " \
+"America/Recife" " " \
+"America/Regina" " " \
+"America/Rio_Branco" " " \
+"America/Rosario" " " \
+"America/Santiago" " " \
+"America/Santo_Domingo" " " \
+"America/Sao_Paulo" " " \
+"America/Scoresbysund" " " \
+"America/Shiprock" " " \
+"America/St_Johns" " " \
+"America/St_Kitts" " " \
+"America/St_Lucia" " " \
+"America/St_Thomas" " " \
+"America/St_Vincent" " " \
+"America/Swift_Current" " " \
+"America/Tegucigalpa" " " \
+"America/Thule" " " \
+"America/Thunder_Bay" " " \
+"America/Tijuana" " " \
+"America/Toronto" " " \
+"America/Tortola" " " \
+"America/Vancouver" " " \
+"America/Virgin" " " \
+"America/Whitehorse" " " \
+"America/Winnipeg" " " \
+"America/Yakutat" " " \
+"America/Yellowknife" " " \
+"Antarctica/Casey" " " \
+"Antarctica/Davis" " " \
+"Antarctica/DumontDUrville" " " \
+"Antarctica/Mawson" " " \
+"Antarctica/McMurdo" " " \
+"Antarctica/Palmer" " " \
+"Antarctica/Rothera" " " \
+"Antarctica/South_Pole" " " \
+"Antarctica/Syowa" " " \
+"Antarctica/Troll" " " \
+"Antarctica/Vostok" " " \
+"Arctic/Longyearbyen" " " \
+"Asia/Aden" " " \
+"Asia/Almaty" " " \
+"Asia/Amman" " " \
+"Asia/Anadyr" " " \
+"Asia/Aqtau" " " \
+"Asia/Aqtobe" " " \
+"Asia/Ashgabat" " " \
+"Asia/Ashkhabad" " " \
+"Asia/Baghdad" " " \
+"Asia/Bahrain" " " \
+"Asia/Baku" " " \
+"Asia/Bangkok" " " \
+"Asia/Beirut" " " \
+"Asia/Bishkek" " " \
+"Asia/Brunei" " " \
+"Asia/Calcutta" " " \
+"Asia/Chita" " " \
+"Asia/Choibalsan" " " \
+"Asia/Chongqing" " " \
+"Asia/Chungking" " " \
+"Asia/Colombo" " " \
+"Asia/Dacca" " " \
+"Asia/Damascus" " " \
+"Asia/Dhaka" " " \
+"Asia/Dili" " " \
+"Asia/Dubai" " " \
+"Asia/Dushanbe" " " \
+"Asia/Gaza" " " \
+"Asia/Harbin" " " \
+"Asia/Hong_Kong" " " \
+"Asia/Hovd" " " \
+"Asia/Irkutsk" " " \
+"Asia/Istanbul" " " \
+"Asia/Jakarta" " " \
+"Asia/Jayapura" " " \
+"Asia/Jerusalem" " " \
+"Asia/Kabul" " " \
+"Asia/Kamchatka" " " \
+"Asia/Karachi" " " \
+"Asia/Kashgar" " " \
+"Asia/Katmandu" " " \
+"Asia/Khandyga" " " \
+"Asia/Khandyga" " " \
+"Asia/Krasnoyarsk" " " \
+"Asia/Kuala_Lumpur" " " \
+"Asia/Kuching" " " \
+"Asia/Kuwait" " " \
+"Asia/Macao" " " \
+"Asia/Macau" " " \
+"Asia/Magadan" " " \
+"Asia/Makassar" " " \
+"Asia/Manila" " " \
+"Asia/Muscat" " " \
+"Asia/Nicosia" " " \
+"Asia/Novosibirsk" " " \
+"Asia/Omsk" " " \
+"Asia/Oral" " " \
+"Asia/Phnom_Penh" " " \
+"Asia/Pontianak" " " \
+"Asia/Pyongyang" " " \
+"Asia/Qatar" " " \
+"Asia/Qyzylorda" " " \
+"Asia/Rangoon" " " \
+"Asia/Riyadh" " " \
+"Asia/Saigon" " " \
+"Asia/Sakhalin" " " \
+"Asia/Samarkand" " " \
+"Asia/Seoul" " " \
+"Asia/Shanghai" " " \
+"Asia/Singapore" " " \
+"Asia/Srednekolymsk" " " \
+"Asia/Taipei" " " \
+"Asia/Tashkent" " " \
+"Asia/Tbilisi" " " \
+"Asia/Tehran" " " \
+"Asia/Tel_Aviv" " " \
+"Asia/Thimbu" " " \
+"Asia/Thimphu" " " \
+"Asia/Tokyo" " " \
+"Asia/Ujung_Pandang" " " \
+"Asia/Ulaanbaatar" " " \
+"Asia/Ulan_Bator" " " \
+"Asia/Urumqi" " " \
+"Asia/Ust-Nera" " " \
+"Asia/Vientiane" " " \
+"Asia/Vladivostok" " " \
+"Asia/Yakutsk" " " \
+"Asia/Yekaterinburg" " " \
+"Asia/Yerevan" " " \
+"Atlantic/Azores" " " \
+"Atlantic/Bermuda" " " \
+"Atlantic/Canary" " " \
+"Atlantic/Cape_Verde" " " \
+"Atlantic/Faeroe" " " \
+"Atlantic/Jan_Mayen" " " \
+"Atlantic/Madeira" " " \
+"Atlantic/Reykjavik" " " \
+"Atlantic/South_Georgia" " " \
+"Atlantic/St_Helena" " " \
+"Atlantic/Stanley" " " \
+"Australia/ACT" " " \
+"Australia/Adelaide" " " \
+"Australia/Brisbane" " " \
+"Australia/Broken_Hill" " " \
+"Australia/Canberra" " " \
+"Australia/Currie" " " \
+"Australia/Darwin" " " \
+"Australia/Hobart" " " \
+"Australia/LHI" " " \
+"Australia/Lindeman" " " \
+"Australia/Lord_Howe" " " \
+"Australia/Melbourne" " " \
+"Australia/NSW" " " \
+"Australia/North" " " \
+"Australia/Perth" " " \
+"Australia/Queensland" " " \
+"Australia/South" " " \
+"Australia/Sydney" " " \
+"Australia/Tasmania" " " \
+"Australia/Victoria" " " \
+"Australia/West" " " \
+"Australia/Yancowinna" " " \
+"Brazil/Acre" " " \
+"Brazil/DeNoronha" " " \
+"Brazil/East" " " \
+"Brazil/West" " " \
+"CET" " " \
+"CST6CDT" " " \
+"Canada/Atlantic" " " \
+"Canada/Central" " " \
+"Canada/East-Saskatchewan" " " \
+"Canada/Eastern" " " \
+"Canada/Mountain" " " \
+"Canada/Newfoundland" " " \
+"Canada/Pacific" " " \
+"Canada/Saskatchewan" " " \
+"Canada/Yukon" " " \
+"Chile/Continental" " " \
+"Chile/EasterIsland" " " \
+"Cuba" " " \
+"EET" " " \
+"EST" " " \
+"EST5EDT" " " \
+"Egypt" " " \
+"Eire" " " \
+"Etc/GMT" " " \
+"Etc/GMT+0" " " \
+"Etc/GMT+1" " " \
+"Etc/GMT+10" " " \
+"Etc/GMT+11" " " \
+"Etc/GMT+12" " " \
+"Etc/GMT+2" " " \
+"Etc/GMT+3" " " \
+"Etc/GMT+4" " " \
+"Etc/GMT+5" " " \
+"Etc/GMT+6" " " \
+"Etc/GMT+7" " " \
+"Etc/GMT+8" " " \
+"Etc/GMT+9" " " \
+"Etc/GMT-0" " " \
+"Etc/GMT-1" " " \
+"Etc/GMT-10" " " \
+"Etc/GMT-11" " " \
+"Etc/GMT-12" " " \
+"Etc/GMT-13" " " \
+"Etc/GMT-14" " " \
+"Etc/GMT-2" " " \
+"Etc/GMT-3" " " \
+"Etc/GMT-4" " " \
+"Etc/GMT-5" " " \
+"Etc/GMT-6" " " \
+"Etc/GMT-7" " " \
+"Etc/GMT-8" " " \
+"Etc/GMT-9" " " \
+"Etc/GMT0" " " \
+"Etc/Greenwich" " " \
+"Etc/UCT" " " \
+"Etc/UTC" " " \
+"Etc/Universal" " " \
+"Etc/Zulu" " " \
+"Europe/Amsterdam" " " \
+"Europe/Andorra" " " \
+"Europe/Athens" " " \
+"Europe/Belfast" " " \
+"Europe/Belgrade" " " \
+"Europe/Berlin" " " \
+"Europe/Bratislava" " " \
+"Europe/Brussels" " " \
+"Europe/Bucharest" " " \
+"Europe/Budapest" " " \
+"Europe/Busingen" " " \
+"Europe/Chisinau" " " \
+"Europe/Copenhagen" " " \
+"Europe/Dublin" " " \
+"Europe/Gibraltar" " " \
+"Europe/Guernsey" " " \
+"Europe/Helsinki" " " \
+"Europe/Isle_of_Man" " " \
+"Europe/Istanbul" " " \
+"Europe/Jersey" " " \
+"Europe/Kaliningrad" " " \
+"Europe/Kiev" " " \
+"Europe/Lisbon" " " \
+"Europe/Ljubljana" " " \
+"Europe/London" " " \
+"Europe/Luxembourg" " " \
+"Europe/Madrid" " " \
+"Europe/Malta" " " \
+"Europe/Mariehamn" " " \
+"Europe/Minsk" " " \
+"Europe/Monaco" " " \
+"Europe/Moscow" " " \
+"Europe/Nicosia" " " \
+"Europe/Oslo" " " \
+"Europe/Paris" " " \
+"Europe/Podgorica" " " \
+"Europe/Prague" " " \
+"Europe/Riga" " " \
+"Europe/Rome" " " \
+"Europe/Samara" " " \
+"Europe/San_Marino" " " \
+"Europe/Sarajevo" " " \
+"Europe/Simferopol" " " \
+"Europe/Skopje" " " \
+"Europe/Sofia" " " \
+"Europe/Stockholm" " " \
+"Europe/Tallinn" " " \
+"Europe/Tirane" " " \
+"Europe/Tiraspol" " " \
+"Europe/Uzhgorod" " " \
+"Europe/Vaduz" " " \
+"Europe/Vatican" " " \
+"Europe/Vienna" " " \
+"Europe/Vilnius" " " \
+"Europe/Volgograd" " " \
+"Europe/Warsaw" " " \
+"Europe/Zagreb" " " \
+"Europe/Zaporozhye" " " \
+"Europe/Zurich" " " \
+"Factory" " " \
+"GB" " " \
+"GB-Eire" " " \
+"GMT" " " \
+"GMT+0" " " \
+"GMT-0" " " \
+"GMT0" " " \
+"Greenwich" " " \
+"HST" " " \
+"Hongkong" " " \
+"Iceland" " " \
+"Indian/Antananarivo" " " \
+"Indian/Chagos" " " \
+"Indian/Christmas" " " \
+"Indian/Cocos" " " \
+"Indian/Comoro" " " \
+"Indian/Kerguelen" " " \
+"Indian/Mahe" " " \
+"Indian/Maldives" " " \
+"Indian/Mauritius" " " \
+"Indian/Mayotte" " " \
+"Indian/Reunion" " " \
+"Iran" " " \
+"Israel" " " \
+"Jamaica" " " \
+"Japan" " " \
+"Kwajalein" " " \
+"Libya" " " \
+"MET" " " \
+"MST" " " \
+"MST7MDT" " " \
+"Mexico/BajaNorte" " " \
+"Mexico/BajaSur" " " \
+"Mexico/General" " " \
+"NZ" " " \
+"NZ-CHAT" " " \
+"Navajo" " " \
+"PRC" " " \
+"PST8PDT" " " \
+"Pacific/Apia" " " \
+"Pacific/Auckland" " " \
+"Pacific/Bougainville" " " \
+"Pacific/Chatham" " " \
+"Pacific/Easter" " " \
+"Pacific/Efate" " " \
+"Pacific/Enderbury" " " \
+"Pacific/Fakaofo" " " \
+"Pacific/Fiji" " " \
+"Pacific/Funafuti" " " \
+"Pacific/Galapagos" " " \
+"Pacific/Gambier" " " \
+"Pacific/Guadalcanal" " " \
+"Pacific/Guam" " " \
+"Pacific/Honolulu" " " \
+"Pacific/Johnston" " " \
+"Pacific/Kiritimati" " " \
+"Pacific/Kosrae" " " \
+"Pacific/Kwajalein" " " \
+"Pacific/Majuro" " " \
+"Pacific/Marquesas" " " \
+"Pacific/Midway" " " \
+"Pacific/Nauru" " " \
+"Pacific/Niue" " " \
+"Pacific/Norfolk" " " \
+"Pacific/Noumea" " " \
+"Pacific/Pago_Pago" " " \
+"Pacific/Palau" " " \
+"Pacific/Pitcairn" " " \
+"Pacific/Ponape" " " \
+"Pacific/Port_Moresby" " " \
+"Pacific/Rarotonga" " " \
+"Pacific/Saipan" " " \
+"Pacific/Samoa" " " \
+"Pacific/Tahiti" " " \
+"Pacific/Tarawa" " " \
+"Pacific/Tongatapu" " " \
+"Pacific/Truk" " " \
+"Pacific/Wake" " " \
+"Pacific/Wallis" " " \
+"Pacific/Yap" " " \
+"Poland" " " \
+"Portugal" " " \
+"ROC" " " \
+"ROK" " " \
+"Singapore" " " \
+"Turkey" " " \
+"UCT" " " \
+"UTC" " " \
+"Universal" " " \
+"W-SU" " " \
+"WET" " " \
+"Zulu" " " \
+"posix/Africa/Abidjan" " " \
+"posix/Africa/Accra" " " \
+"posix/Africa/Addis_Ababa" " " \
+"posix/Africa/Algiers" " " \
+"posix/Africa/Asmera" " " \
+"posix/Africa/Bamako" " " \
+"posix/Africa/Bangui" " " \
+"posix/Africa/Banjul" " " \
+"posix/Africa/Bissau" " " \
+"posix/Africa/Blantyre" " " \
+"posix/Africa/Brazzaville" " " \
+"posix/Africa/Bujumbura" " " \
+"posix/Africa/Cairo" " " \
+"posix/Africa/Casablanca" " " \
+"posix/Africa/Ceuta" " " \
+"posix/Africa/Conakry" " " \
+"posix/Africa/Dakar" " " \
+"posix/Africa/Dar_es_Salaam" " " \
+"posix/Africa/Djibouti" " " \
+"posix/Africa/Douala" " " \
+"posix/Africa/El_Aaiun" " " \
+"posix/Africa/Freetown" " " \
+"posix/Africa/Gaborone" " " \
+"posix/Africa/Harare" " " \
+"posix/Africa/Johannesburg" " " \
+"posix/Africa/Kampala" " " \
+"posix/Africa/Khartoum" " " \
+"posix/Africa/Kigali" " " \
+"posix/Africa/Kinshasa" " " \
+"posix/Africa/Lagos" " " \
+"posix/Africa/Libreville" " " \
+"posix/Africa/Lome" " " \
+"posix/Africa/Luanda" " " \
+"posix/Africa/Lubumbashi" " " \
+"posix/Africa/Lusaka" " " \
+"posix/Africa/Malabo" " " \
+"posix/Africa/Maputo" " " \
+"posix/Africa/Maseru" " " \
+"posix/Africa/Mbabane" " " \
+"posix/Africa/Mogadishu" " " \
+"posix/Africa/Monrovia" " " \
+"posix/Africa/Nairobi" " " \
+"posix/Africa/Ndjamena" " " \
+"posix/Africa/Niamey" " " \
+"posix/Africa/Nouakchott" " " \
+"posix/Africa/Ouagadougou" " " \
+"posix/Africa/Porto-Novo" " " \
+"posix/Africa/Sao_Tome" " " \
+"posix/Africa/Timbuktu" " " \
+"posix/Africa/Tripoli" " " \
+"posix/Africa/Tunis" " " \
+"posix/Africa/Windhoek" " " \
+"posix/America/Adak" " " \
+"posix/America/Anchorage" " " \
+"posix/America/Anguilla" " " \
+"posix/America/Antigua" " " \
+"posix/America/Araguaina" " " \
+"posix/America/Argentina/Buenos_Aires" " " \
+"posix/America/Argentina/Catamarca" " " \
+"posix/America/Argentina/ComodRivadavia" " " \
+"posix/America/Argentina/Cordoba" " " \
+"posix/America/Argentina/Jujuy" " " \
+"posix/America/Argentina/La_Rioja" " " \
+"posix/America/Argentina/Mendoza" " " \
+"posix/America/Argentina/Rio_Gallegos" " " \
+"posix/America/Argentina/San_Juan" " " \
+"posix/America/Argentina/Tucuman" " " \
+"posix/America/Argentina/Ushuaia" " " \
+"posix/America/Aruba" " " \
+"posix/America/Asuncion" " " \
+"posix/America/Atikokan" " " \
+"posix/America/Atka" " " \
+"posix/America/Bahia" " " \
+"posix/America/Barbados" " " \
+"posix/America/Belem" " " \
+"posix/America/Belize" " " \
+"posix/America/Blanc-Sablon" " " \
+"posix/America/Boa_Vista" " " \
+"posix/America/Bogota" " " \
+"posix/America/Boise" " " \
+"posix/America/Buenos_Aires" " " \
+"posix/America/Cambridge_Bay" " " \
+"posix/America/Campo_Grande" " " \
+"posix/America/Cancun" " " \
+"posix/America/Caracas" " " \
+"posix/America/Catamarca" " " \
+"posix/America/Cayenne" " " \
+"posix/America/Cayman" " " \
+"posix/America/Chicago" " " \
+"posix/America/Chihuahua" " " \
+"posix/America/Coral_Harbour" " " \
+"posix/America/Cordoba" " " \
+"posix/America/Costa_Rica" " " \
+"posix/America/Cuiaba" " " \
+"posix/America/Curacao" " " \
+"posix/America/Danmarkshavn" " " \
+"posix/America/Dawson" " " \
+"posix/America/Dawson_Creek" " " \
+"posix/America/Denver" " " \
+"posix/America/Detroit" " " \
+"posix/America/Dominica" " " \
+"posix/America/Edmonton" " " \
+"posix/America/Eirunepe" " " \
+"posix/America/El_Salvador" " " \
+"posix/America/Ensenada" " " \
+"posix/America/Fort_Wayne" " " \
+"posix/America/Fortaleza" " " \
+"posix/America/Glace_Bay" " " \
+"posix/America/Godthab" " " \
+"posix/America/Goose_Bay" " " \
+"posix/America/Grand_Turk" " " \
+"posix/America/Grenada" " " \
+"posix/America/Guadeloupe" " " \
+"posix/America/Guatemala" " " \
+"posix/America/Guayaquil" " " \
+"posix/America/Guyana" " " \
+"posix/America/Halifax" " " \
+"posix/America/Havana" " " \
+"posix/America/Hermosillo" " " \
+"posix/America/Indiana/Indianapolis" " " \
+"posix/America/Indiana/Knox" " " \
+"posix/America/Indiana/Marengo" " " \
+"posix/America/Indiana/Petersburg" " " \
+"posix/America/Indiana/Tell_City" " " \
+"posix/America/Indiana/Vevay" " " \
+"posix/America/Indiana/Vincennes" " " \
+"posix/America/Indianapolis" " " \
+"posix/America/Inuvik" " " \
+"posix/America/Iqaluit" " " \
+"posix/America/Jamaica" " " \
+"posix/America/Jujuy" " " \
+"posix/America/Juneau" " " \
+"posix/America/Kentucky/Louisville" " " \
+"posix/America/Kentucky/Monticello" " " \
+"posix/America/Knox_IN" " " \
+"posix/America/La_Paz" " " \
+"posix/America/Lima" " " \
+"posix/America/Los_Angeles" " " \
+"posix/America/Louisville" " " \
+"posix/America/Maceio" " " \
+"posix/America/Managua" " " \
+"posix/America/Manaus" " " \
+"posix/America/Martinique" " " \
+"posix/America/Mazatlan" " " \
+"posix/America/Mendoza" " " \
+"posix/America/Menominee" " " \
+"posix/America/Merida" " " \
+"posix/America/Mexico_City" " " \
+"posix/America/Miquelon" " " \
+"posix/America/Moncton" " " \
+"posix/America/Monterrey" " " \
+"posix/America/Montevideo" " " \
+"posix/America/Montreal" " " \
+"posix/America/Montserrat" " " \
+"posix/America/Nassau" " " \
+"posix/America/New_York" " " \
+"posix/America/Nipigon" " " \
+"posix/America/Nome" " " \
+"posix/America/Noronha" " " \
+"posix/America/North_Dakota/Center" " " \
+"posix/America/North_Dakota/New_Salem" " " \
+"posix/America/Panama" " " \
+"posix/America/Pangnirtung" " " \
+"posix/America/Paramaribo" " " \
+"posix/America/Phoenix" " " \
+"posix/America/Port-au-Prince" " " \
+"posix/America/Port_of_Spain" " " \
+"posix/America/Porto_Acre" " " \
+"posix/America/Porto_Velho" " " \
+"posix/America/Puerto_Rico" " " \
+"posix/America/Rainy_River" " " \
+"posix/America/Rankin_Inlet" " " \
+"posix/America/Recife" " " \
+"posix/America/Regina" " " \
+"posix/America/Rio_Branco" " " \
+"posix/America/Rosario" " " \
+"posix/America/Santiago" " " \
+"posix/America/Santo_Domingo" " " \
+"posix/America/Sao_Paulo" " " \
+"posix/America/Scoresbysund" " " \
+"posix/America/Shiprock" " " \
+"posix/America/St_Johns" " " \
+"posix/America/St_Kitts" " " \
+"posix/America/St_Lucia" " " \
+"posix/America/St_Thomas" " " \
+"posix/America/St_Vincent" " " \
+"posix/America/Swift_Current" " " \
+"posix/America/Tegucigalpa" " " \
+"posix/America/Thule" " " \
+"posix/America/Thunder_Bay" " " \
+"posix/America/Tijuana" " " \
+"posix/America/Toronto" " " \
+"posix/America/Tortola" " " \
+"posix/America/Vancouver" " " \
+"posix/America/Virgin" " " \
+"posix/America/Whitehorse" " " \
+"posix/America/Winnipeg" " " \
+"posix/America/Yakutat" " " \
+"posix/America/Yellowknife" " " \
+"posix/Antarctica/Casey" " " \
+"posix/Antarctica/Davis" " " \
+"posix/Antarctica/DumontDUrville" " " \
+"posix/Antarctica/Mawson" " " \
+"posix/Antarctica/McMurdo" " " \
+"posix/Antarctica/Palmer" " " \
+"posix/Antarctica/Rothera" " " \
+"posix/Antarctica/South_Pole" " " \
+"posix/Antarctica/Syowa" " " \
+"posix/Antarctica/Troll" " " \
+"posix/Antarctica/Vostok" " " \
+"posix/Arctic/Longyearbyen" " " \
+"posix/Asia/Aden" " " \
+"posix/Asia/Almaty" " " \
+"posix/Asia/Amman" " " \
+"posix/Asia/Anadyr" " " \
+"posix/Asia/Aqtau" " " \
+"posix/Asia/Aqtobe" " " \
+"posix/Asia/Ashgabat" " " \
+"posix/Asia/Ashkhabad" " " \
+"posix/Asia/Baghdad" " " \
+"posix/Asia/Bahrain" " " \
+"posix/Asia/Baku" " " \
+"posix/Asia/Bangkok" " " \
+"posix/Asia/Beirut" " " \
+"posix/Asia/Bishkek" " " \
+"posix/Asia/Brunei" " " \
+"posix/Asia/Calcutta" " " \
+"posix/Asia/Chita" " " \
+"posix/Asia/Choibalsan" " " \
+"posix/Asia/Chongqing" " " \
+"posix/Asia/Chungking" " " \
+"posix/Asia/Colombo" " " \
+"posix/Asia/Dacca" " " \
+"posix/Asia/Damascus" " " \
+"posix/Asia/Dhaka" " " \
+"posix/Asia/Dili" " " \
+"posix/Asia/Dubai" " " \
+"posix/Asia/Dushanbe" " " \
+"posix/Asia/Gaza" " " \
+"posix/Asia/Harbin" " " \
+"posix/Asia/Hong_Kong" " " \
+"posix/Asia/Hovd" " " \
+"posix/Asia/Irkutsk" " " \
+"posix/Asia/Istanbul" " " \
+"posix/Asia/Jakarta" " " \
+"posix/Asia/Jayapura" " " \
+"posix/Asia/Jerusalem" " " \
+"posix/Asia/Kabul" " " \
+"posix/Asia/Kamchatka" " " \
+"posix/Asia/Karachi" " " \
+"posix/Asia/Kashgar" " " \
+"posix/Asia/Katmandu" " " \
+"posix/Asia/Krasnoyarsk" " " \
+"posix/Asia/Kuala_Lumpur" " " \
+"posix/Asia/Kuching" " " \
+"posix/Asia/Kuwait" " " \
+"posix/Asia/Macao" " " \
+"posix/Asia/Macau" " " \
+"posix/Asia/Magadan" " " \
+"posix/Asia/Makassar" " " \
+"posix/Asia/Manila" " " \
+"posix/Asia/Muscat" " " \
+"posix/Asia/Nicosia" " " \
+"posix/Asia/Novosibirsk" " " \
+"posix/Asia/Omsk" " " \
+"posix/Asia/Oral" " " \
+"posix/Asia/Phnom_Penh" " " \
+"posix/Asia/Pontianak" " " \
+"posix/Asia/Pyongyang" " " \
+"posix/Asia/Qatar" " " \
+"posix/Asia/Qyzylorda" " " \
+"posix/Asia/Rangoon" " " \
+"posix/Asia/Riyadh" " " \
+"posix/Asia/Saigon" " " \
+"posix/Asia/Sakhalin" " " \
+"posix/Asia/Samarkand" " " \
+"posix/Asia/Seoul" " " \
+"posix/Asia/Shanghai" " " \
+"posix/Asia/Singapore" " " \
+"posix/Asia/Srednekolymsk" " " \
+"posix/Asia/Taipei" " " \
+"posix/Asia/Tashkent" " " \
+"posix/Asia/Tbilisi" " " \
+"posix/Asia/Tehran" " " \
+"posix/Asia/Tel_Aviv" " " \
+"posix/Asia/Thimbu" " " \
+"posix/Asia/Thimphu" " " \
+"posix/Asia/Tokyo" " " \
+"posix/Asia/Ujung_Pandang" " " \
+"posix/Asia/Ulaanbaatar" " " \
+"posix/Asia/Ulan_Bator" " " \
+"posix/Asia/Urumqi" " " \
+"posix/Asia/Vientiane" " " \
+"posix/Asia/Vladivostok" " " \
+"posix/Asia/Yakutsk" " " \
+"posix/Asia/Yekaterinburg" " " \
+"posix/Asia/Yerevan" " " \
+"posix/Atlantic/Azores" " " \
+"posix/Atlantic/Bermuda" " " \
+"posix/Atlantic/Canary" " " \
+"posix/Atlantic/Cape_Verde" " " \
+"posix/Atlantic/Faeroe" " " \
+"posix/Atlantic/Jan_Mayen" " " \
+"posix/Atlantic/Madeira" " " \
+"posix/Atlantic/Reykjavik" " " \
+"posix/Atlantic/South_Georgia" " " \
+"posix/Atlantic/St_Helena" " " \
+"posix/Atlantic/Stanley" " " \
+"posix/Australia/ACT" " " \
+"posix/Australia/Adelaide" " " \
+"posix/Australia/Brisbane" " " \
+"posix/Australia/Broken_Hill" " " \
+"posix/Australia/Canberra" " " \
+"posix/Australia/Currie" " " \
+"posix/Australia/Darwin" " " \
+"posix/Australia/Hobart" " " \
+"posix/Australia/LHI" " " \
+"posix/Australia/Lindeman" " " \
+"posix/Australia/Lord_Howe" " " \
+"posix/Australia/Melbourne" " " \
+"posix/Australia/NSW" " " \
+"posix/Australia/North" " " \
+"posix/Australia/Perth" " " \
+"posix/Australia/Queensland" " " \
+"posix/Australia/South" " " \
+"posix/Australia/Sydney" " " \
+"posix/Australia/Tasmania" " " \
+"posix/Australia/Victoria" " " \
+"posix/Australia/West" " " \
+"posix/Australia/Yancowinna" " " \
+"posix/Brazil/Acre" " " \
+"posix/Brazil/DeNoronha" " " \
+"posix/Brazil/East" " " \
+"posix/Brazil/West" " " \
+"posix/CET" " " \
+"posix/CST6CDT" " " \
+"posix/Canada/Atlantic" " " \
+"posix/Canada/Central" " " \
+"posix/Canada/East-Saskatchewan" " " \
+"posix/Canada/Eastern" " " \
+"posix/Canada/Mountain" " " \
+"posix/Canada/Newfoundland" " " \
+"posix/Canada/Pacific" " " \
+"posix/Canada/Saskatchewan" " " \
+"posix/Canada/Yukon" " " \
+"posix/Chile/Continental" " " \
+"posix/Chile/EasterIsland" " " \
+"posix/Cuba" " " \
+"posix/EET" " " \
+"posix/EST" " " \
+"posix/EST5EDT" " " \
+"posix/Egypt" " " \
+"posix/Eire" " " \
+"posix/Etc/GMT" " " \
+"posix/Etc/GMT+0" " " \
+"posix/Etc/GMT+1" " " \
+"posix/Etc/GMT+10" " " \
+"posix/Etc/GMT+11" " " \
+"posix/Etc/GMT+12" " " \
+"posix/Etc/GMT+2" " " \
+"posix/Etc/GMT+3" " " \
+"posix/Etc/GMT+4" " " \
+"posix/Etc/GMT+5" " " \
+"posix/Etc/GMT+6" " " \
+"posix/Etc/GMT+7" " " \
+"posix/Etc/GMT+8" " " \
+"posix/Etc/GMT+9" " " \
+"posix/Etc/GMT-0" " " \
+"posix/Etc/GMT-1" " " \
+"posix/Etc/GMT-10" " " \
+"posix/Etc/GMT-11" " " \
+"posix/Etc/GMT-12" " " \
+"posix/Etc/GMT-13" " " \
+"posix/Etc/GMT-14" " " \
+"posix/Etc/GMT-2" " " \
+"posix/Etc/GMT-3" " " \
+"posix/Etc/GMT-4" " " \
+"posix/Etc/GMT-5" " " \
+"posix/Etc/GMT-6" " " \
+"posix/Etc/GMT-7" " " \
+"posix/Etc/GMT-8" " " \
+"posix/Etc/GMT-9" " " \
+"posix/Etc/GMT0" " " \
+"posix/Etc/Greenwich" " " \
+"posix/Etc/UCT" " " \
+"posix/Etc/UTC" " " \
+"posix/Etc/Universal" " " \
+"posix/Etc/Zulu" " " \
+"posix/Europe/Amsterdam" " " \
+"posix/Europe/Andorra" " " \
+"posix/Europe/Athens" " " \
+"posix/Europe/Belfast" " " \
+"posix/Europe/Belgrade" " " \
+"posix/Europe/Berlin" " " \
+"posix/Europe/Bratislava" " " \
+"posix/Europe/Brussels" " " \
+"posix/Europe/Bucharest" " " \
+"posix/Europe/Budapest" " " \
+"posix/Europe/Chisinau" " " \
+"posix/Europe/Copenhagen" " " \
+"posix/Europe/Dublin" " " \
+"posix/Europe/Gibraltar" " " \
+"posix/Europe/Guernsey" " " \
+"posix/Europe/Helsinki" " " \
+"posix/Europe/Isle_of_Man" " " \
+"posix/Europe/Istanbul" " " \
+"posix/Europe/Jersey" " " \
+"posix/Europe/Kaliningrad" " " \
+"posix/Europe/Kiev" " " \
+"posix/Europe/Lisbon" " " \
+"posix/Europe/Ljubljana" " " \
+"posix/Europe/London" " " \
+"posix/Europe/Luxembourg" " " \
+"posix/Europe/Madrid" " " \
+"posix/Europe/Malta" " " \
+"posix/Europe/Mariehamn" " " \
+"posix/Europe/Minsk" " " \
+"posix/Europe/Monaco" " " \
+"posix/Europe/Moscow" " " \
+"posix/Europe/Nicosia" " " \
+"posix/Europe/Oslo" " " \
+"posix/Europe/Paris" " " \
+"posix/Europe/Podgorica" " " \
+"posix/Europe/Prague" " " \
+"posix/Europe/Riga" " " \
+"posix/Europe/Rome" " " \
+"posix/Europe/Samara" " " \
+"posix/Europe/San_Marino" " " \
+"posix/Europe/Sarajevo" " " \
+"posix/Europe/Simferopol" " " \
+"posix/Europe/Skopje" " " \
+"posix/Europe/Sofia" " " \
+"posix/Europe/Stockholm" " " \
+"posix/Europe/Tallinn" " " \
+"posix/Europe/Tirane" " " \
+"posix/Europe/Tiraspol" " " \
+"posix/Europe/Uzhgorod" " " \
+"posix/Europe/Vaduz" " " \
+"posix/Europe/Vatican" " " \
+"posix/Europe/Vienna" " " \
+"posix/Europe/Vilnius" " " \
+"posix/Europe/Volgograd" " " \
+"posix/Europe/Warsaw" " " \
+"posix/Europe/Zagreb" " " \
+"posix/Europe/Zaporozhye" " " \
+"posix/Europe/Zurich" " " \
+"posix/Factory" " " \
+"posix/GB" " " \
+"posix/GB-Eire" " " \
+"posix/GMT" " " \
+"posix/GMT+0" " " \
+"posix/GMT-0" " " \
+"posix/GMT0" " " \
+"posix/Greenwich" " " \
+"posix/HST" " " \
+"posix/Hongkong" " " \
+"posix/Iceland" " " \
+"posix/Indian/Antananarivo" " " \
+"posix/Indian/Chagos" " " \
+"posix/Indian/Christmas" " " \
+"posix/Indian/Cocos" " " \
+"posix/Indian/Comoro" " " \
+"posix/Indian/Kerguelen" " " \
+"posix/Indian/Mahe" " " \
+"posix/Indian/Maldives" " " \
+"posix/Indian/Mauritius" " " \
+"posix/Indian/Mayotte" " " \
+"posix/Indian/Reunion" " " \
+"posix/Iran" " " \
+"posix/Israel" " " \
+"posix/Jamaica" " " \
+"posix/Japan" " " \
+"posix/Kwajalein" " " \
+"posix/Libya" " " \
+"posix/MET" " " \
+"posix/MST" " " \
+"posix/MST7MDT" " " \
+"posix/Mexico/BajaNorte" " " \
+"posix/Mexico/BajaSur" " " \
+"posix/Mexico/General" " " \
+"posix/NZ" " " \
+"posix/NZ-CHAT" " " \
+"posix/Navajo" " " \
+"posix/PRC" " " \
+"posix/PST8PDT" " " \
+"posix/Pacific/Apia" " " \
+"posix/Pacific/Auckland" " " \
+"posix/Pacific/Bougainville" " " \
+"posix/Pacific/Chatham" " " \
+"posix/Pacific/Easter" " " \
+"posix/Pacific/Efate" " " \
+"posix/Pacific/Enderbury" " " \
+"posix/Pacific/Fakaofo" " " \
+"posix/Pacific/Fiji" " " \
+"posix/Pacific/Funafuti" " " \
+"posix/Pacific/Galapagos" " " \
+"posix/Pacific/Gambier" " " \
+"posix/Pacific/Guadalcanal" " " \
+"posix/Pacific/Guam" " " \
+"posix/Pacific/Honolulu" " " \
+"posix/Pacific/Johnston" " " \
+"posix/Pacific/Kiritimati" " " \
+"posix/Pacific/Kosrae" " " \
+"posix/Pacific/Kwajalein" " " \
+"posix/Pacific/Majuro" " " \
+"posix/Pacific/Marquesas" " " \
+"posix/Pacific/Midway" " " \
+"posix/Pacific/Nauru" " " \
+"posix/Pacific/Niue" " " \
+"posix/Pacific/Norfolk" " " \
+"posix/Pacific/Noumea" " " \
+"posix/Pacific/Pago_Pago" " " \
+"posix/Pacific/Palau" " " \
+"posix/Pacific/Pitcairn" " " \
+"posix/Pacific/Ponape" " " \
+"posix/Pacific/Port_Moresby" " " \
+"posix/Pacific/Rarotonga" " " \
+"posix/Pacific/Saipan" " " \
+"posix/Pacific/Samoa" " " \
+"posix/Pacific/Tahiti" " " \
+"posix/Pacific/Tarawa" " " \
+"posix/Pacific/Tongatapu" " " \
+"posix/Pacific/Truk" " " \
+"posix/Pacific/Wake" " " \
+"posix/Pacific/Wallis" " " \
+"posix/Pacific/Yap" " " \
+"posix/Poland" " " \
+"posix/Portugal" " " \
+"posix/ROC" " " \
+"posix/ROK" " " \
+"posix/Singapore" " " \
+"posix/Turkey" " " \
+"posix/UCT" " " \
+"posix/US/Alaska" " " \
+"posix/US/Aleutian" " " \
+"posix/US/Arizona" " " \
+"posix/US/Central" " " \
+"posix/US/East-Indiana" " " \
+"posix/US/Eastern" " " \
+"posix/US/Hawaii" " " \
+"posix/US/Indiana-Starke" " " \
+"posix/US/Michigan" " " \
+"posix/US/Mountain" " " \
+"posix/US/Pacific" " " \
+"posix/US/Pacific-New" " " \
+"posix/US/Samoa" " " \
+"posix/UTC" " " \
+"posix/Universal" " " \
+"posix/W-SU" " " \
+"posix/WET" " " \
+"posix/Zulu" " " \
+"posixrules" " " \
+"right/Africa/Abidjan" " " \
+"right/Africa/Accra" " " \
+"right/Africa/Addis_Ababa" " " \
+"right/Africa/Algiers" " " \
+"right/Africa/Asmera" " " \
+"right/Africa/Bamako" " " \
+"right/Africa/Bangui" " " \
+"right/Africa/Banjul" " " \
+"right/Africa/Bissau" " " \
+"right/Africa/Blantyre" " " \
+"right/Africa/Brazzaville" " " \
+"right/Africa/Bujumbura" " " \
+"right/Africa/Cairo" " " \
+"right/Africa/Casablanca" " " \
+"right/Africa/Ceuta" " " \
+"right/Africa/Conakry" " " \
+"right/Africa/Dakar" " " \
+"right/Africa/Dar_es_Salaam" " " \
+"right/Africa/Djibouti" " " \
+"right/Africa/Douala" " " \
+"right/Africa/El_Aaiun" " " \
+"right/Africa/Freetown" " " \
+"right/Africa/Gaborone" " " \
+"right/Africa/Harare" " " \
+"right/Africa/Johannesburg" " " \
+"right/Africa/Kampala" " " \
+"right/Africa/Khartoum" " " \
+"right/Africa/Kigali" " " \
+"right/Africa/Kinshasa" " " \
+"right/Africa/Lagos" " " \
+"right/Africa/Libreville" " " \
+"right/Africa/Lome" " " \
+"right/Africa/Luanda" " " \
+"right/Africa/Lubumbashi" " " \
+"right/Africa/Lusaka" " " \
+"right/Africa/Malabo" " " \
+"right/Africa/Maputo" " " \
+"right/Africa/Maseru" " " \
+"right/Africa/Mbabane" " " \
+"right/Africa/Mogadishu" " " \
+"right/Africa/Monrovia" " " \
+"right/Africa/Nairobi" " " \
+"right/Africa/Ndjamena" " " \
+"right/Africa/Niamey" " " \
+"right/Africa/Nouakchott" " " \
+"right/Africa/Ouagadougou" " " \
+"right/Africa/Porto-Novo" " " \
+"right/Africa/Sao_Tome" " " \
+"right/Africa/Timbuktu" " " \
+"right/Africa/Tripoli" " " \
+"right/Africa/Tunis" " " \
+"right/Africa/Windhoek" " " \
+"right/America/Adak" " " \
+"right/America/Anchorage" " " \
+"right/America/Anguilla" " " \
+"right/America/Antigua" " " \
+"right/America/Araguaina" " " \
+"right/America/Argentina/Buenos_Aires" " " \
+"right/America/Argentina/Catamarca" " " \
+"right/America/Argentina/ComodRivadavia" " " \
+"right/America/Argentina/Cordoba" " " \
+"right/America/Argentina/Jujuy" " " \
+"right/America/Argentina/La_Rioja" " " \
+"right/America/Argentina/Mendoza" " " \
+"right/America/Argentina/Rio_Gallegos" " " \
+"right/America/Argentina/San_Juan" " " \
+"right/America/Argentina/Tucuman" " " \
+"right/America/Argentina/Ushuaia" " " \
+"right/America/Aruba" " " \
+"right/America/Asuncion" " " \
+"right/America/Atikokan" " " \
+"right/America/Atka" " " \
+"right/America/Bahia" " " \
+"right/America/Barbados" " " \
+"right/America/Belem" " " \
+"right/America/Belize" " " \
+"right/America/Blanc-Sablon" " " \
+"right/America/Boa_Vista" " " \
+"right/America/Bogota" " " \
+"right/America/Boise" " " \
+"right/America/Buenos_Aires" " " \
+"right/America/Cambridge_Bay" " " \
+"right/America/Campo_Grande" " " \
+"right/America/Cancun" " " \
+"right/America/Caracas" " " \
+"right/America/Catamarca" " " \
+"right/America/Cayenne" " " \
+"right/America/Cayman" " " \
+"right/America/Chicago" " " \
+"right/America/Chihuahua" " " \
+"right/America/Coral_Harbour" " " \
+"right/America/Cordoba" " " \
+"right/America/Costa_Rica" " " \
+"right/America/Cuiaba" " " \
+"right/America/Curacao" " " \
+"right/America/Danmarkshavn" " " \
+"right/America/Dawson" " " \
+"right/America/Dawson_Creek" " " \
+"right/America/Denver" " " \
+"right/America/Detroit" " " \
+"right/America/Dominica" " " \
+"right/America/Edmonton" " " \
+"right/America/Eirunepe" " " \
+"right/America/El_Salvador" " " \
+"right/America/Ensenada" " " \
+"right/America/Fort_Wayne" " " \
+"right/America/Fortaleza" " " \
+"right/America/Glace_Bay" " " \
+"right/America/Godthab" " " \
+"right/America/Goose_Bay" " " \
+"right/America/Grand_Turk" " " \
+"right/America/Grenada" " " \
+"right/America/Guadeloupe" " " \
+"right/America/Guatemala" " " \
+"right/America/Guayaquil" " " \
+"right/America/Guyana" " " \
+"right/America/Halifax" " " \
+"right/America/Havana" " " \
+"right/America/Hermosillo" " " \
+"right/America/Indiana/Indianapolis" " " \
+"right/America/Indiana/Knox" " " \
+"right/America/Indiana/Marengo" " " \
+"right/America/Indiana/Petersburg" " " \
+"right/America/Indiana/Tell_City" " " \
+"right/America/Indiana/Vevay" " " \
+"right/America/Indiana/Vincennes" " " \
+"right/America/Indianapolis" " " \
+"right/America/Inuvik" " " \
+"right/America/Iqaluit" " " \
+"right/America/Jamaica" " " \
+"right/America/Jujuy" " " \
+"right/America/Juneau" " " \
+"right/America/Kentucky/Louisville" " " \
+"right/America/Kentucky/Monticello" " " \
+"right/America/Knox_IN" " " \
+"right/America/La_Paz" " " \
+"right/America/Lima" " " \
+"right/America/Los_Angeles" " " \
+"right/America/Louisville" " " \
+"right/America/Maceio" " " \
+"right/America/Managua" " " \
+"right/America/Manaus" " " \
+"right/America/Martinique" " " \
+"right/America/Mazatlan" " " \
+"right/America/Mendoza" " " \
+"right/America/Menominee" " " \
+"right/America/Merida" " " \
+"right/America/Mexico_City" " " \
+"right/America/Miquelon" " " \
+"right/America/Moncton" " " \
+"right/America/Monterrey" " " \
+"right/America/Montevideo" " " \
+"right/America/Montreal" " " \
+"right/America/Montserrat" " " \
+"right/America/Nassau" " " \
+"right/America/New_York" " " \
+"right/America/Nipigon" " " \
+"right/America/Nome" " " \
+"right/America/Noronha" " " \
+"right/America/North_Dakota/Center" " " \
+"right/America/North_Dakota/New_Salem" " " \
+"right/America/Panama" " " \
+"right/America/Pangnirtung" " " \
+"right/America/Paramaribo" " " \
+"right/America/Phoenix" " " \
+"right/America/Port-au-Prince" " " \
+"right/America/Port_of_Spain" " " \
+"right/America/Porto_Acre" " " \
+"right/America/Porto_Velho" " " \
+"right/America/Puerto_Rico" " " \
+"right/America/Rainy_River" " " \
+"right/America/Rankin_Inlet" " " \
+"right/America/Recife" " " \
+"right/America/Regina" " " \
+"right/America/Rio_Branco" " " \
+"right/America/Rosario" " " \
+"right/America/Santiago" " " \
+"right/America/Santo_Domingo" " " \
+"right/America/Sao_Paulo" " " \
+"right/America/Scoresbysund" " " \
+"right/America/Shiprock" " " \
+"right/America/St_Johns" " " \
+"right/America/St_Kitts" " " \
+"right/America/St_Lucia" " " \
+"right/America/St_Thomas" " " \
+"right/America/St_Vincent" " " \
+"right/America/Swift_Current" " " \
+"right/America/Tegucigalpa" " " \
+"right/America/Thule" " " \
+"right/America/Thunder_Bay" " " \
+"right/America/Tijuana" " " \
+"right/America/Toronto" " " \
+"right/America/Tortola" " " \
+"right/America/Vancouver" " " \
+"right/America/Virgin" " " \
+"right/America/Whitehorse" " " \
+"right/America/Winnipeg" " " \
+"right/America/Yakutat" " " \
+"right/America/Yellowknife" " " \
+"right/Antarctica/Casey" " " \
+"right/Antarctica/Davis" " " \
+"right/Antarctica/DumontDUrville" " " \
+"right/Antarctica/Mawson" " " \
+"right/Antarctica/McMurdo" " " \
+"right/Antarctica/Palmer" " " \
+"right/Antarctica/Rothera" " " \
+"right/Antarctica/South_Pole" " " \
+"right/Antarctica/Syowa" " " \
+"right/Antarctica/Troll" " " \
+"right/Antarctica/Vostok" " " \
+"right/Arctic/Longyearbyen" " " \
+"right/Asia/Aden" " " \
+"right/Asia/Almaty" " " \
+"right/Asia/Amman" " " \
+"right/Asia/Anadyr" " " \
+"right/Asia/Aqtau" " " \
+"right/Asia/Aqtobe" " " \
+"right/Asia/Ashgabat" " " \
+"right/Asia/Ashkhabad" " " \
+"right/Asia/Baghdad" " " \
+"right/Asia/Bahrain" " " \
+"right/Asia/Baku" " " \
+"right/Asia/Bangkok" " " \
+"right/Asia/Beirut" " " \
+"right/Asia/Bishkek" " " \
+"right/Asia/Brunei" " " \
+"right/Asia/Calcutta" " " \
+"right/Asia/Chita" " " \
+"right/Asia/Choibalsan" " " \
+"right/Asia/Chongqing" " " \
+"right/Asia/Chungking" " " \
+"right/Asia/Colombo" " " \
+"right/Asia/Dacca" " " \
+"right/Asia/Damascus" " " \
+"right/Asia/Dhaka" " " \
+"right/Asia/Dili" " " \
+"right/Asia/Dubai" " " \
+"right/Asia/Dushanbe" " " \
+"right/Asia/Gaza" " " \
+"right/Asia/Harbin" " " \
+"right/Asia/Hong_Kong" " " \
+"right/Asia/Hovd" " " \
+"right/Asia/Irkutsk" " " \
+"right/Asia/Istanbul" " " \
+"right/Asia/Jakarta" " " \
+"right/Asia/Jayapura" " " \
+"right/Asia/Jerusalem" " " \
+"right/Asia/Kabul" " " \
+"right/Asia/Kamchatka" " " \
+"right/Asia/Karachi" " " \
+"right/Asia/Kashgar" " " \
+"right/Asia/Katmandu" " " \
+"right/Asia/Krasnoyarsk" " " \
+"right/Asia/Kuala_Lumpur" " " \
+"right/Asia/Kuching" " " \
+"right/Asia/Kuwait" " " \
+"right/Asia/Macao" " " \
+"right/Asia/Macau" " " \
+"right/Asia/Magadan" " " \
+"right/Asia/Makassar" " " \
+"right/Asia/Manila" " " \
+"right/Asia/Muscat" " " \
+"right/Asia/Nicosia" " " \
+"right/Asia/Novosibirsk" " " \
+"right/Asia/Omsk" " " \
+"right/Asia/Oral" " " \
+"right/Asia/Phnom_Penh" " " \
+"right/Asia/Pontianak" " " \
+"right/Asia/Pyongyang" " " \
+"right/Asia/Qatar" " " \
+"right/Asia/Qyzylorda" " " \
+"right/Asia/Rangoon" " " \
+"right/Asia/Riyadh" " " \
+"right/Asia/Saigon" " " \
+"right/Asia/Sakhalin" " " \
+"right/Asia/Samarkand" " " \
+"right/Asia/Seoul" " " \
+"right/Asia/Shanghai" " " \
+"right/Asia/Singapore" " " \
+"right/Asia/Srednekolymsk" " " \
+"right/Asia/Taipei" " " \
+"right/Asia/Tashkent" " " \
+"right/Asia/Tbilisi" " " \
+"right/Asia/Tehran" " " \
+"right/Asia/Tel_Aviv" " " \
+"right/Asia/Thimbu" " " \
+"right/Asia/Thimphu" " " \
+"right/Asia/Tokyo" " " \
+"right/Asia/Ujung_Pandang" " " \
+"right/Asia/Ulaanbaatar" " " \
+"right/Asia/Ulan_Bator" " " \
+"right/Asia/Urumqi" " " \
+"right/Asia/Vientiane" " " \
+"right/Asia/Vladivostok" " " \
+"right/Asia/Yakutsk" " " \
+"right/Asia/Yekaterinburg" " " \
+"right/Asia/Yerevan" " " \
+"right/Atlantic/Azores" " " \
+"right/Atlantic/Bermuda" " " \
+"right/Atlantic/Canary" " " \
+"right/Atlantic/Cape_Verde" " " \
+"right/Atlantic/Faeroe" " " \
+"right/Atlantic/Jan_Mayen" " " \
+"right/Atlantic/Madeira" " " \
+"right/Atlantic/Reykjavik" " " \
+"right/Atlantic/South_Georgia" " " \
+"right/Atlantic/St_Helena" " " \
+"right/Atlantic/Stanley" " " \
+"right/Australia/ACT" " " \
+"right/Australia/Adelaide" " " \
+"right/Australia/Brisbane" " " \
+"right/Australia/Broken_Hill" " " \
+"right/Australia/Canberra" " " \
+"right/Australia/Currie" " " \
+"right/Australia/Darwin" " " \
+"right/Australia/Hobart" " " \
+"right/Australia/LHI" " " \
+"right/Australia/Lindeman" " " \
+"right/Australia/Lord_Howe" " " \
+"right/Australia/Melbourne" " " \
+"right/Australia/NSW" " " \
+"right/Australia/North" " " \
+"right/Australia/Perth" " " \
+"right/Australia/Queensland" " " \
+"right/Australia/South" " " \
+"right/Australia/Sydney" " " \
+"right/Australia/Tasmania" " " \
+"right/Australia/Victoria" " " \
+"right/Australia/West" " " \
+"right/Australia/Yancowinna" " " \
+"right/Brazil/Acre" " " \
+"right/Brazil/DeNoronha" " " \
+"right/Brazil/East" " " \
+"right/Brazil/West" " " \
+"right/CET" " " \
+"right/CST6CDT" " " \
+"right/Canada/Atlantic" " " \
+"right/Canada/Central" " " \
+"right/Canada/East-Saskatchewan" " " \
+"right/Canada/Eastern" " " \
+"right/Canada/Mountain" " " \
+"right/Canada/Newfoundland" " " \
+"right/Canada/Pacific" " " \
+"right/Canada/Saskatchewan" " " \
+"right/Canada/Yukon" " " \
+"right/Chile/Continental" " " \
+"right/Chile/EasterIsland" " " \
+"right/Cuba" " " \
+"right/EET" " " \
+"right/EST" " " \
+"right/EST5EDT" " " \
+"right/Egypt" " " \
+"right/Eire" " " \
+"right/Etc/GMT" " " \
+"right/Etc/GMT+0" " " \
+"right/Etc/GMT+1" " " \
+"right/Etc/GMT+10" " " \
+"right/Etc/GMT+11" " " \
+"right/Etc/GMT+12" " " \
+"right/Etc/GMT+2" " " \
+"right/Etc/GMT+3" " " \
+"right/Etc/GMT+4" " " \
+"right/Etc/GMT+5" " " \
+"right/Etc/GMT+6" " " \
+"right/Etc/GMT+7" " " \
+"right/Etc/GMT+8" " " \
+"right/Etc/GMT+9" " " \
+"right/Etc/GMT-0" " " \
+"right/Etc/GMT-1" " " \
+"right/Etc/GMT-10" " " \
+"right/Etc/GMT-11" " " \
+"right/Etc/GMT-12" " " \
+"right/Etc/GMT-13" " " \
+"right/Etc/GMT-14" " " \
+"right/Etc/GMT-2" " " \
+"right/Etc/GMT-3" " " \
+"right/Etc/GMT-4" " " \
+"right/Etc/GMT-5" " " \
+"right/Etc/GMT-6" " " \
+"right/Etc/GMT-7" " " \
+"right/Etc/GMT-8" " " \
+"right/Etc/GMT-9" " " \
+"right/Etc/GMT0" " " \
+"right/Etc/Greenwich" " " \
+"right/Etc/UCT" " " \
+"right/Etc/UTC" " " \
+"right/Etc/Universal" " " \
+"right/Etc/Zulu" " " \
+"right/Europe/Amsterdam" " " \
+"right/Europe/Andorra" " " \
+"right/Europe/Athens" " " \
+"right/Europe/Belfast" " " \
+"right/Europe/Belgrade" " " \
+"right/Europe/Berlin" " " \
+"right/Europe/Bratislava" " " \
+"right/Europe/Brussels" " " \
+"right/Europe/Bucharest" " " \
+"right/Europe/Budapest" " " \
+"right/Europe/Chisinau" " " \
+"right/Europe/Copenhagen" " " \
+"right/Europe/Dublin" " " \
+"right/Europe/Gibraltar" " " \
+"right/Europe/Guernsey" " " \
+"right/Europe/Helsinki" " " \
+"right/Europe/Isle_of_Man" " " \
+"right/Europe/Istanbul" " " \
+"right/Europe/Jersey" " " \
+"right/Europe/Kaliningrad" " " \
+"right/Europe/Kiev" " " \
+"right/Europe/Lisbon" " " \
+"right/Europe/Ljubljana" " " \
+"right/Europe/London" " " \
+"right/Europe/Luxembourg" " " \
+"right/Europe/Madrid" " " \
+"right/Europe/Malta" " " \
+"right/Europe/Mariehamn" " " \
+"right/Europe/Minsk" " " \
+"right/Europe/Monaco" " " \
+"right/Europe/Moscow" " " \
+"right/Europe/Nicosia" " " \
+"right/Europe/Oslo" " " \
+"right/Europe/Paris" " " \
+"right/Europe/Podgorica" " " \
+"right/Europe/Prague" " " \
+"right/Europe/Riga" " " \
+"right/Europe/Rome" " " \
+"right/Europe/Samara" " " \
+"right/Europe/San_Marino" " " \
+"right/Europe/Sarajevo" " " \
+"right/Europe/Simferopol" " " \
+"right/Europe/Skopje" " " \
+"right/Europe/Sofia" " " \
+"right/Europe/Stockholm" " " \
+"right/Europe/Tallinn" " " \
+"right/Europe/Tirane" " " \
+"right/Europe/Tiraspol" " " \
+"right/Europe/Uzhgorod" " " \
+"right/Europe/Vaduz" " " \
+"right/Europe/Vatican" " " \
+"right/Europe/Vienna" " " \
+"right/Europe/Vilnius" " " \
+"right/Europe/Volgograd" " " \
+"right/Europe/Warsaw" " " \
+"right/Europe/Zagreb" " " \
+"right/Europe/Zaporozhye" " " \
+"right/Europe/Zurich" " " \
+"right/Factory" " " \
+"right/GB" " " \
+"right/GB-Eire" " " \
+"right/GMT" " " \
+"right/GMT+0" " " \
+"right/GMT-0" " " \
+"right/GMT0" " " \
+"right/Greenwich" " " \
+"right/HST" " " \
+"right/Hongkong" " " \
+"right/Iceland" " " \
+"right/Indian/Antananarivo" " " \
+"right/Indian/Chagos" " " \
+"right/Indian/Christmas" " " \
+"right/Indian/Cocos" " " \
+"right/Indian/Comoro" " " \
+"right/Indian/Kerguelen" " " \
+"right/Indian/Mahe" " " \
+"right/Indian/Maldives" " " \
+"right/Indian/Mauritius" " " \
+"right/Indian/Mayotte" " " \
+"right/Indian/Reunion" " " \
+"right/Iran" " " \
+"right/Israel" " " \
+"right/Jamaica" " " \
+"right/Japan" " " \
+"right/Kwajalein" " " \
+"right/Libya" " " \
+"right/MET" " " \
+"right/MST" " " \
+"right/MST7MDT" " " \
+"right/Mexico/BajaNorte" " " \
+"right/Mexico/BajaSur" " " \
+"right/Mexico/General" " " \
+"right/NZ" " " \
+"right/NZ-CHAT" " " \
+"right/Navajo" " " \
+"right/PRC" " " \
+"right/PST8PDT" " " \
+"right/Pacific/Apia" " " \
+"right/Pacific/Auckland" " " \
+"right/Pacific/Bougainville" " " \
+"right/Pacific/Chatham" " " \
+"right/Pacific/Easter" " " \
+"right/Pacific/Efate" " " \
+"right/Pacific/Enderbury" " " \
+"right/Pacific/Fakaofo" " " \
+"right/Pacific/Fiji" " " \
+"right/Pacific/Funafuti" " " \
+"right/Pacific/Galapagos" " " \
+"right/Pacific/Gambier" " " \
+"right/Pacific/Guadalcanal" " " \
+"right/Pacific/Guam" " " \
+"right/Pacific/Honolulu" " " \
+"right/Pacific/Johnston" " " \
+"right/Pacific/Kiritimati" " " \
+"right/Pacific/Kosrae" " " \
+"right/Pacific/Kwajalein" " " \
+"right/Pacific/Majuro" " " \
+"right/Pacific/Marquesas" " " \
+"right/Pacific/Midway" " " \
+"right/Pacific/Nauru" " " \
+"right/Pacific/Niue" " " \
+"right/Pacific/Norfolk" " " \
+"right/Pacific/Noumea" " " \
+"right/Pacific/Pago_Pago" " " \
+"right/Pacific/Palau" " " \
+"right/Pacific/Pitcairn" " " \
+"right/Pacific/Ponape" " " \
+"right/Pacific/Port_Moresby" " " \
+"right/Pacific/Rarotonga" " " \
+"right/Pacific/Saipan" " " \
+"right/Pacific/Samoa" " " \
+"right/Pacific/Tahiti" " " \
+"right/Pacific/Tarawa" " " \
+"right/Pacific/Tongatapu" " " \
+"right/Pacific/Truk" " " \
+"right/Pacific/Wake" " " \
+"right/Pacific/Wallis" " " \
+"right/Pacific/Yap" " " \
+"right/Poland" " " \
+"right/Portugal" " " \
+"right/ROC" " " \
+"right/ROK" " " \
+"right/Singapore" " " \
+"right/Turkey" " " \
+"right/UCT" " " \
+"right/US/Alaska" " " \
+"right/US/Aleutian" " " \
+"right/US/Arizona" " " \
+"right/US/Central" " " \
+"right/US/East-Indiana" " " \
+"right/US/Eastern" " " \
+"right/US/Hawaii" " " \
+"right/US/Indiana-Starke" " " \
+"right/US/Michigan" " " \
+"right/US/Mountain" " " \
+"right/US/Pacific" " " \
+"right/US/Pacific-New" " " \
+"right/US/Samoa" " " \
+"right/UTC" " " \
+"right/Universal" " " \
+"right/W-SU" " " \
+"right/WET" " " \
+"right/Zulu" " " \
diff --git a/patches/source/glibc/timezone-scripts/parts/02 b/patches/source/glibc/timezone-scripts/parts/02
new file mode 100644
index 00000000..bd5a50bb
--- /dev/null
+++ b/patches/source/glibc/timezone-scripts/parts/02
@@ -0,0 +1,28 @@
+ 2> $TMP/tz
+
+ if [ $? = 1 -o $? = 255 ]; then
+ rm -f $TMP/tz
+ exit
+ fi
+
+ TIMEZONE="`cat $TMP/tz`"
+ rm -f $TMP/tz
+
+ setzone $TIMEZONE
+ exit
+else
+ ###
+ ### use text prompts
+ ###
+ while [ 0 ]; do
+ echo -n "Would you like to configure your timezone ([y]es, [n]o)? "
+ read TIMECONF;
+ echo
+
+ if [ "$TIMECONF" = "n" ]; then
+ break
+ fi
+
+ cat << EOF
+Select one of these timezones:
+
diff --git a/patches/source/glibc/timezone-scripts/parts/03 b/patches/source/glibc/timezone-scripts/parts/03
new file mode 100644
index 00000000..7da2043d
--- /dev/null
+++ b/patches/source/glibc/timezone-scripts/parts/03
@@ -0,0 +1,1658 @@
+US/Alaska
+US/Aleutian
+US/Arizona
+US/Central
+US/East-Indiana
+US/Eastern
+US/Hawaii
+US/Indiana-Starke
+US/Michigan
+US/Mountain
+US/Pacific
+US/Pacific-New
+US/Samoa
+Africa/Abidjan
+Africa/Accra
+Africa/Addis_Ababa
+Africa/Algiers
+Africa/Asmera
+Africa/Bamako
+Africa/Bangui
+Africa/Banjul
+Africa/Bissau
+Africa/Blantyre
+Africa/Brazzaville
+Africa/Bujumbura
+Africa/Cairo
+Africa/Casablanca
+Africa/Ceuta
+Africa/Conakry
+Africa/Dakar
+Africa/Dar_es_Salaam
+Africa/Djibouti
+Africa/Douala
+Africa/El_Aaiun
+Africa/Freetown
+Africa/Gaborone
+Africa/Harare
+Africa/Johannesburg
+Africa/Kampala
+Africa/Khartoum
+Africa/Kigali
+Africa/Kinshasa
+Africa/Lagos
+Africa/Libreville
+Africa/Lome
+Africa/Luanda
+Africa/Lubumbashi
+Africa/Lusaka
+Africa/Malabo
+Africa/Maputo
+Africa/Maseru
+Africa/Mbabane
+Africa/Mogadishu
+Africa/Monrovia
+Africa/Nairobi
+Africa/Ndjamena
+Africa/Niamey
+Africa/Nouakchott
+Africa/Ouagadougou
+Africa/Porto-Novo
+Africa/Sao_Tome
+Africa/Timbuktu
+Africa/Tripoli
+Africa/Tunis
+Africa/Windhoek
+America/Adak
+America/Anchorage
+America/Anguilla
+America/Antigua
+America/Araguaina
+America/Argentina/Buenos_Aires
+America/Argentina/Catamarca
+America/Argentina/ComodRivadavia
+America/Argentina/Cordoba
+America/Argentina/Jujuy
+America/Argentina/La_Rioja
+America/Argentina/Mendoza
+America/Argentina/Rio_Gallegos
+America/Argentina/San_Juan
+America/Argentina/Tucuman
+America/Argentina/Ushuaia
+America/Aruba
+America/Asuncion
+America/Atikokan
+America/Atka
+America/Bahia
+America/Barbados
+America/Belem
+America/Belize
+America/Blanc-Sablon
+America/Boa_Vista
+America/Bogota
+America/Boise
+America/Buenos_Aires
+America/Cambridge_Bay
+America/Campo_Grande
+America/Cancun
+America/Caracas
+America/Catamarca
+America/Cayenne
+America/Cayman
+America/Chicago
+America/Chihuahua
+America/Coral_Harbour
+America/Cordoba
+America/Costa_Rica
+America/Cuiaba
+America/Curacao
+America/Danmarkshavn
+America/Dawson
+America/Dawson_Creek
+America/Denver
+America/Detroit
+America/Dominica
+America/Edmonton
+America/Eirunepe
+America/El_Salvador
+America/Ensenada
+America/Fort_Wayne
+America/Fortaleza
+America/Glace_Bay
+America/Godthab
+America/Goose_Bay
+America/Grand_Turk
+America/Grenada
+America/Guadeloupe
+America/Guatemala
+America/Guayaquil
+America/Guyana
+America/Halifax
+America/Havana
+America/Hermosillo
+America/Indiana/Indianapolis
+America/Indiana/Knox
+America/Indiana/Marengo
+America/Indiana/Petersburg
+America/Indiana/Tell_City
+America/Indiana/Vevay
+America/Indiana/Vincennes
+America/Indianapolis
+America/Inuvik
+America/Iqaluit
+America/Jamaica
+America/Jujuy
+America/Juneau
+America/Kentucky/Louisville
+America/Kentucky/Monticello
+America/Knox_IN
+America/La_Paz
+America/Lima
+America/Los_Angeles
+America/Louisville
+America/Maceio
+America/Managua
+America/Manaus
+America/Martinique
+America/Mazatlan
+America/Mendoza
+America/Menominee
+America/Merida
+America/Mexico_City
+America/Miquelon
+America/Moncton
+America/Monterrey
+America/Montevideo
+America/Montreal
+America/Montserrat
+America/Nassau
+America/New_York
+America/Nipigon
+America/Nome
+America/Noronha
+America/North_Dakota/Center
+America/North_Dakota/New_Salem
+America/Panama
+America/Pangnirtung
+America/Paramaribo
+America/Phoenix
+America/Port-au-Prince
+America/Port_of_Spain
+America/Porto_Acre
+America/Porto_Velho
+America/Puerto_Rico
+America/Rainy_River
+America/Rankin_Inlet
+America/Recife
+America/Regina
+America/Rio_Branco
+America/Rosario
+America/Santiago
+America/Santo_Domingo
+America/Sao_Paulo
+America/Scoresbysund
+America/Shiprock
+America/St_Johns
+America/St_Kitts
+America/St_Lucia
+America/St_Thomas
+America/St_Vincent
+America/Swift_Current
+America/Tegucigalpa
+America/Thule
+America/Thunder_Bay
+America/Tijuana
+America/Toronto
+America/Tortola
+America/Vancouver
+America/Virgin
+America/Whitehorse
+America/Winnipeg
+America/Yakutat
+America/Yellowknife
+Antarctica/Casey
+Antarctica/Davis
+Antarctica/DumontDUrville
+Antarctica/Mawson
+Antarctica/McMurdo
+Antarctica/Palmer
+Antarctica/Rothera
+Antarctica/South_Pole
+Antarctica/Syowa
+Antarctica/Troll
+Antarctica/Vostok
+Arctic/Longyearbyen
+Asia/Aden
+Asia/Almaty
+Asia/Amman
+Asia/Anadyr
+Asia/Aqtau
+Asia/Aqtobe
+Asia/Ashgabat
+Asia/Ashkhabad
+Asia/Baghdad
+Asia/Bahrain
+Asia/Baku
+Asia/Bangkok
+Asia/Beirut
+Asia/Bishkek
+Asia/Brunei
+Asia/Calcutta
+Asia/Chita
+Asia/Choibalsan
+Asia/Chongqing
+Asia/Chungking
+Asia/Colombo
+Asia/Dacca
+Asia/Damascus
+Asia/Dhaka
+Asia/Dili
+Asia/Dubai
+Asia/Dushanbe
+Asia/Gaza
+Asia/Harbin
+Asia/Hong_Kong
+Asia/Hovd
+Asia/Irkutsk
+Asia/Istanbul
+Asia/Jakarta
+Asia/Jayapura
+Asia/Jerusalem
+Asia/Kabul
+Asia/Kamchatka
+Asia/Karachi
+Asia/Kashgar
+Asia/Katmandu
+Asia/Khandyga
+Asia/Kolkata
+Asia/Krasnoyarsk
+Asia/Kuala_Lumpur
+Asia/Kuching
+Asia/Kuwait
+Asia/Macao
+Asia/Macau
+Asia/Magadan
+Asia/Makassar
+Asia/Manila
+Asia/Muscat
+Asia/Nicosia
+Asia/Novosibirsk
+Asia/Omsk
+Asia/Oral
+Asia/Phnom_Penh
+Asia/Pontianak
+Asia/Pyongyang
+Asia/Qatar
+Asia/Qyzylorda
+Asia/Rangoon
+Asia/Riyadh
+Asia/Saigon
+Asia/Sakhalin
+Asia/Samarkand
+Asia/Seoul
+Asia/Shanghai
+Asia/Singapore
+Asia/Srednekolymsk
+Asia/Taipei
+Asia/Tashkent
+Asia/Tbilisi
+Asia/Tehran
+Asia/Tel_Aviv
+Asia/Thimbu
+Asia/Thimphu
+Asia/Tokyo
+Asia/Ujung_Pandang
+Asia/Ulaanbaatar
+Asia/Ulan_Bator
+Asia/Urumqi
+Asia/Ust-Nera
+Asia/Vientiane
+Asia/Vladivostok
+Asia/Yakutsk
+Asia/Yekaterinburg
+Asia/Yerevan
+Atlantic/Azores
+Atlantic/Bermuda
+Atlantic/Canary
+Atlantic/Cape_Verde
+Atlantic/Faeroe
+Atlantic/Jan_Mayen
+Atlantic/Madeira
+Atlantic/Reykjavik
+Atlantic/South_Georgia
+Atlantic/St_Helena
+Atlantic/Stanley
+Australia/ACT
+Australia/Adelaide
+Australia/Brisbane
+Australia/Broken_Hill
+Australia/Canberra
+Australia/Currie
+Australia/Darwin
+Australia/Hobart
+Australia/LHI
+Australia/Lindeman
+Australia/Lord_Howe
+Australia/Melbourne
+Australia/NSW
+Australia/North
+Australia/Perth
+Australia/Queensland
+Australia/South
+Australia/Sydney
+Australia/Tasmania
+Australia/Victoria
+Australia/West
+Australia/Yancowinna
+Brazil/Acre
+Brazil/DeNoronha
+Brazil/East
+Brazil/West
+CET
+CST6CDT
+Canada/Atlantic
+Canada/Central
+Canada/East-Saskatchewan
+Canada/Eastern
+Canada/Mountain
+Canada/Newfoundland
+Canada/Pacific
+Canada/Saskatchewan
+Canada/Yukon
+Chile/Continental
+Chile/EasterIsland
+Cuba
+EET
+EST
+EST5EDT
+Egypt
+Eire
+Etc/GMT
+Etc/GMT+0
+Etc/GMT+1
+Etc/GMT+10
+Etc/GMT+11
+Etc/GMT+12
+Etc/GMT+2
+Etc/GMT+3
+Etc/GMT+4
+Etc/GMT+5
+Etc/GMT+6
+Etc/GMT+7
+Etc/GMT+8
+Etc/GMT+9
+Etc/GMT-0
+Etc/GMT-1
+Etc/GMT-10
+Etc/GMT-11
+Etc/GMT-12
+Etc/GMT-13
+Etc/GMT-14
+Etc/GMT-2
+Etc/GMT-3
+Etc/GMT-4
+Etc/GMT-5
+Etc/GMT-6
+Etc/GMT-7
+Etc/GMT-8
+Etc/GMT-9
+Etc/GMT0
+Etc/Greenwich
+Etc/UCT
+Etc/UTC
+Etc/Universal
+Etc/Zulu
+Europe/Amsterdam
+Europe/Andorra
+Europe/Athens
+Europe/Belfast
+Europe/Belgrade
+Europe/Berlin
+Europe/Bratislava
+Europe/Brussels
+Europe/Bucharest
+Europe/Budapest
+Europe/Busingen
+Europe/Chisinau
+Europe/Copenhagen
+Europe/Dublin
+Europe/Gibraltar
+Europe/Guernsey
+Europe/Helsinki
+Europe/Isle_of_Man
+Europe/Istanbul
+Europe/Jersey
+Europe/Kaliningrad
+Europe/Kiev
+Europe/Lisbon
+Europe/Ljubljana
+Europe/London
+Europe/Luxembourg
+Europe/Madrid
+Europe/Malta
+Europe/Mariehamn
+Europe/Minsk
+Europe/Monaco
+Europe/Moscow
+Europe/Nicosia
+Europe/Oslo
+Europe/Paris
+Europe/Podgorica
+Europe/Prague
+Europe/Riga
+Europe/Rome
+Europe/Samara
+Europe/San_Marino
+Europe/Sarajevo
+Europe/Simferopol
+Europe/Skopje
+Europe/Sofia
+Europe/Stockholm
+Europe/Tallinn
+Europe/Tirane
+Europe/Tiraspol
+Europe/Uzhgorod
+Europe/Vaduz
+Europe/Vatican
+Europe/Vienna
+Europe/Vilnius
+Europe/Volgograd
+Europe/Warsaw
+Europe/Zagreb
+Europe/Zaporozhye
+Europe/Zurich
+Factory
+GB
+GB-Eire
+GMT
+GMT+0
+GMT-0
+GMT0
+Greenwich
+HST
+Hongkong
+Iceland
+Indian/Antananarivo
+Indian/Chagos
+Indian/Christmas
+Indian/Cocos
+Indian/Comoro
+Indian/Kerguelen
+Indian/Mahe
+Indian/Maldives
+Indian/Mauritius
+Indian/Mayotte
+Indian/Reunion
+Iran
+Israel
+Jamaica
+Japan
+Kwajalein
+Libya
+MET
+MST
+MST7MDT
+Mexico/BajaNorte
+Mexico/BajaSur
+Mexico/General
+NZ
+NZ-CHAT
+Navajo
+PRC
+PST8PDT
+Pacific/Apia
+Pacific/Auckland
+Pacific/Bougainville
+Pacific/Chatham
+Pacific/Easter
+Pacific/Efate
+Pacific/Enderbury
+Pacific/Fakaofo
+Pacific/Fiji
+Pacific/Funafuti
+Pacific/Galapagos
+Pacific/Gambier
+Pacific/Guadalcanal
+Pacific/Guam
+Pacific/Honolulu
+Pacific/Johnston
+Pacific/Kiritimati
+Pacific/Kosrae
+Pacific/Kwajalein
+Pacific/Majuro
+Pacific/Marquesas
+Pacific/Midway
+Pacific/Nauru
+Pacific/Niue
+Pacific/Norfolk
+Pacific/Noumea
+Pacific/Pago_Pago
+Pacific/Palau
+Pacific/Pitcairn
+Pacific/Ponape
+Pacific/Port_Moresby
+Pacific/Rarotonga
+Pacific/Saipan
+Pacific/Samoa
+Pacific/Tahiti
+Pacific/Tarawa
+Pacific/Tongatapu
+Pacific/Truk
+Pacific/Wake
+Pacific/Wallis
+Pacific/Yap
+Poland
+Portugal
+ROC
+ROK
+Singapore
+Turkey
+UCT
+UTC
+Universal
+W-SU
+WET
+Zulu
+posix/Africa/Abidjan
+posix/Africa/Accra
+posix/Africa/Addis_Ababa
+posix/Africa/Algiers
+posix/Africa/Asmera
+posix/Africa/Bamako
+posix/Africa/Bangui
+posix/Africa/Banjul
+posix/Africa/Bissau
+posix/Africa/Blantyre
+posix/Africa/Brazzaville
+posix/Africa/Bujumbura
+posix/Africa/Cairo
+posix/Africa/Casablanca
+posix/Africa/Ceuta
+posix/Africa/Conakry
+posix/Africa/Dakar
+posix/Africa/Dar_es_Salaam
+posix/Africa/Djibouti
+posix/Africa/Douala
+posix/Africa/El_Aaiun
+posix/Africa/Freetown
+posix/Africa/Gaborone
+posix/Africa/Harare
+posix/Africa/Johannesburg
+posix/Africa/Kampala
+posix/Africa/Khartoum
+posix/Africa/Kigali
+posix/Africa/Kinshasa
+posix/Africa/Lagos
+posix/Africa/Libreville
+posix/Africa/Lome
+posix/Africa/Luanda
+posix/Africa/Lubumbashi
+posix/Africa/Lusaka
+posix/Africa/Malabo
+posix/Africa/Maputo
+posix/Africa/Maseru
+posix/Africa/Mbabane
+posix/Africa/Mogadishu
+posix/Africa/Monrovia
+posix/Africa/Nairobi
+posix/Africa/Ndjamena
+posix/Africa/Niamey
+posix/Africa/Nouakchott
+posix/Africa/Ouagadougou
+posix/Africa/Porto-Novo
+posix/Africa/Sao_Tome
+posix/Africa/Timbuktu
+posix/Africa/Tripoli
+posix/Africa/Tunis
+posix/Africa/Windhoek
+posix/America/Adak
+posix/America/Anchorage
+posix/America/Anguilla
+posix/America/Antigua
+posix/America/Araguaina
+posix/America/Argentina/Buenos_Aires
+posix/America/Argentina/Catamarca
+posix/America/Argentina/ComodRivadavia
+posix/America/Argentina/Cordoba
+posix/America/Argentina/Jujuy
+posix/America/Argentina/La_Rioja
+posix/America/Argentina/Mendoza
+posix/America/Argentina/Rio_Gallegos
+posix/America/Argentina/San_Juan
+posix/America/Argentina/Tucuman
+posix/America/Argentina/Ushuaia
+posix/America/Aruba
+posix/America/Asuncion
+posix/America/Atikokan
+posix/America/Atka
+posix/America/Bahia
+posix/America/Barbados
+posix/America/Belem
+posix/America/Belize
+posix/America/Blanc-Sablon
+posix/America/Boa_Vista
+posix/America/Bogota
+posix/America/Boise
+posix/America/Buenos_Aires
+posix/America/Cambridge_Bay
+posix/America/Campo_Grande
+posix/America/Cancun
+posix/America/Caracas
+posix/America/Catamarca
+posix/America/Cayenne
+posix/America/Cayman
+posix/America/Chicago
+posix/America/Chihuahua
+posix/America/Coral_Harbour
+posix/America/Cordoba
+posix/America/Costa_Rica
+posix/America/Cuiaba
+posix/America/Curacao
+posix/America/Danmarkshavn
+posix/America/Dawson
+posix/America/Dawson_Creek
+posix/America/Denver
+posix/America/Detroit
+posix/America/Dominica
+posix/America/Edmonton
+posix/America/Eirunepe
+posix/America/El_Salvador
+posix/America/Ensenada
+posix/America/Fort_Wayne
+posix/America/Fortaleza
+posix/America/Glace_Bay
+posix/America/Godthab
+posix/America/Goose_Bay
+posix/America/Grand_Turk
+posix/America/Grenada
+posix/America/Guadeloupe
+posix/America/Guatemala
+posix/America/Guayaquil
+posix/America/Guyana
+posix/America/Halifax
+posix/America/Havana
+posix/America/Hermosillo
+posix/America/Indiana/Indianapolis
+posix/America/Indiana/Knox
+posix/America/Indiana/Marengo
+posix/America/Indiana/Petersburg
+posix/America/Indiana/Tell_City
+posix/America/Indiana/Vevay
+posix/America/Indiana/Vincennes
+posix/America/Indianapolis
+posix/America/Inuvik
+posix/America/Iqaluit
+posix/America/Jamaica
+posix/America/Jujuy
+posix/America/Juneau
+posix/America/Kentucky/Louisville
+posix/America/Kentucky/Monticello
+posix/America/Knox_IN
+posix/America/La_Paz
+posix/America/Lima
+posix/America/Los_Angeles
+posix/America/Louisville
+posix/America/Maceio
+posix/America/Managua
+posix/America/Manaus
+posix/America/Martinique
+posix/America/Mazatlan
+posix/America/Mendoza
+posix/America/Menominee
+posix/America/Merida
+posix/America/Mexico_City
+posix/America/Miquelon
+posix/America/Moncton
+posix/America/Monterrey
+posix/America/Montevideo
+posix/America/Montreal
+posix/America/Montserrat
+posix/America/Nassau
+posix/America/New_York
+posix/America/Nipigon
+posix/America/Nome
+posix/America/Noronha
+posix/America/North_Dakota/Center
+posix/America/North_Dakota/New_Salem
+posix/America/Panama
+posix/America/Pangnirtung
+posix/America/Paramaribo
+posix/America/Phoenix
+posix/America/Port-au-Prince
+posix/America/Port_of_Spain
+posix/America/Porto_Acre
+posix/America/Porto_Velho
+posix/America/Puerto_Rico
+posix/America/Rainy_River
+posix/America/Rankin_Inlet
+posix/America/Recife
+posix/America/Regina
+posix/America/Rio_Branco
+posix/America/Rosario
+posix/America/Santiago
+posix/America/Santo_Domingo
+posix/America/Sao_Paulo
+posix/America/Scoresbysund
+posix/America/Shiprock
+posix/America/St_Johns
+posix/America/St_Kitts
+posix/America/St_Lucia
+posix/America/St_Thomas
+posix/America/St_Vincent
+posix/America/Swift_Current
+posix/America/Tegucigalpa
+posix/America/Thule
+posix/America/Thunder_Bay
+posix/America/Tijuana
+posix/America/Toronto
+posix/America/Tortola
+posix/America/Vancouver
+posix/America/Virgin
+posix/America/Whitehorse
+posix/America/Winnipeg
+posix/America/Yakutat
+posix/America/Yellowknife
+posix/Antarctica/Casey
+posix/Antarctica/Davis
+posix/Antarctica/DumontDUrville
+posix/Antarctica/Mawson
+posix/Antarctica/McMurdo
+posix/Antarctica/Palmer
+posix/Antarctica/Rothera
+posix/Antarctica/South_Pole
+posix/Antarctica/Syowa
+posix/Antarctica/Troll
+posix/Antarctica/Vostok
+posix/Arctic/Longyearbyen
+posix/Asia/Aden
+posix/Asia/Almaty
+posix/Asia/Amman
+posix/Asia/Anadyr
+posix/Asia/Aqtau
+posix/Asia/Aqtobe
+posix/Asia/Ashgabat
+posix/Asia/Ashkhabad
+posix/Asia/Baghdad
+posix/Asia/Bahrain
+posix/Asia/Baku
+posix/Asia/Bangkok
+posix/Asia/Beirut
+posix/Asia/Bishkek
+posix/Asia/Brunei
+posix/Asia/Calcutta
+posix/Asia/Chita
+posix/Asia/Choibalsan
+posix/Asia/Chongqing
+posix/Asia/Chungking
+posix/Asia/Colombo
+posix/Asia/Dacca
+posix/Asia/Damascus
+posix/Asia/Dhaka
+posix/Asia/Dili
+posix/Asia/Dubai
+posix/Asia/Dushanbe
+posix/Asia/Gaza
+posix/Asia/Harbin
+posix/Asia/Hong_Kong
+posix/Asia/Hovd
+posix/Asia/Irkutsk
+posix/Asia/Istanbul
+posix/Asia/Jakarta
+posix/Asia/Jayapura
+posix/Asia/Jerusalem
+posix/Asia/Kabul
+posix/Asia/Kamchatka
+posix/Asia/Karachi
+posix/Asia/Kashgar
+posix/Asia/Katmandu
+posix/Asia/Krasnoyarsk
+posix/Asia/Kuala_Lumpur
+posix/Asia/Kuching
+posix/Asia/Kuwait
+posix/Asia/Macao
+posix/Asia/Macau
+posix/Asia/Magadan
+posix/Asia/Makassar
+posix/Asia/Manila
+posix/Asia/Muscat
+posix/Asia/Nicosia
+posix/Asia/Novosibirsk
+posix/Asia/Omsk
+posix/Asia/Oral
+posix/Asia/Phnom_Penh
+posix/Asia/Pontianak
+posix/Asia/Pyongyang
+posix/Asia/Qatar
+posix/Asia/Qyzylorda
+posix/Asia/Rangoon
+posix/Asia/Riyadh
+posix/Asia/Saigon
+posix/Asia/Sakhalin
+posix/Asia/Samarkand
+posix/Asia/Seoul
+posix/Asia/Shanghai
+posix/Asia/Singapore
+posix/Asia/Srednekolymsk
+posix/Asia/Taipei
+posix/Asia/Tashkent
+posix/Asia/Tbilisi
+posix/Asia/Tehran
+posix/Asia/Tel_Aviv
+posix/Asia/Thimbu
+posix/Asia/Thimphu
+posix/Asia/Tokyo
+posix/Asia/Ujung_Pandang
+posix/Asia/Ulaanbaatar
+posix/Asia/Ulan_Bator
+posix/Asia/Urumqi
+posix/Asia/Vientiane
+posix/Asia/Vladivostok
+posix/Asia/Yakutsk
+posix/Asia/Yekaterinburg
+posix/Asia/Yerevan
+posix/Atlantic/Azores
+posix/Atlantic/Bermuda
+posix/Atlantic/Canary
+posix/Atlantic/Cape_Verde
+posix/Atlantic/Faeroe
+posix/Atlantic/Jan_Mayen
+posix/Atlantic/Madeira
+posix/Atlantic/Reykjavik
+posix/Atlantic/South_Georgia
+posix/Atlantic/St_Helena
+posix/Atlantic/Stanley
+posix/Australia/ACT
+posix/Australia/Adelaide
+posix/Australia/Brisbane
+posix/Australia/Broken_Hill
+posix/Australia/Canberra
+posix/Australia/Currie
+posix/Australia/Darwin
+posix/Australia/Hobart
+posix/Australia/LHI
+posix/Australia/Lindeman
+posix/Australia/Lord_Howe
+posix/Australia/Melbourne
+posix/Australia/NSW
+posix/Australia/North
+posix/Australia/Perth
+posix/Australia/Queensland
+posix/Australia/South
+posix/Australia/Sydney
+posix/Australia/Tasmania
+posix/Australia/Victoria
+posix/Australia/West
+posix/Australia/Yancowinna
+posix/Brazil/Acre
+posix/Brazil/DeNoronha
+posix/Brazil/East
+posix/Brazil/West
+posix/CET
+posix/CST6CDT
+posix/Canada/Atlantic
+posix/Canada/Central
+posix/Canada/East-Saskatchewan
+posix/Canada/Eastern
+posix/Canada/Mountain
+posix/Canada/Newfoundland
+posix/Canada/Pacific
+posix/Canada/Saskatchewan
+posix/Canada/Yukon
+posix/Chile/Continental
+posix/Chile/EasterIsland
+posix/Cuba
+posix/EET
+posix/EST
+posix/EST5EDT
+posix/Egypt
+posix/Eire
+posix/Etc/GMT
+posix/Etc/GMT+0
+posix/Etc/GMT+1
+posix/Etc/GMT+10
+posix/Etc/GMT+11
+posix/Etc/GMT+12
+posix/Etc/GMT+2
+posix/Etc/GMT+3
+posix/Etc/GMT+4
+posix/Etc/GMT+5
+posix/Etc/GMT+6
+posix/Etc/GMT+7
+posix/Etc/GMT+8
+posix/Etc/GMT+9
+posix/Etc/GMT-0
+posix/Etc/GMT-1
+posix/Etc/GMT-10
+posix/Etc/GMT-11
+posix/Etc/GMT-12
+posix/Etc/GMT-13
+posix/Etc/GMT-14
+posix/Etc/GMT-2
+posix/Etc/GMT-3
+posix/Etc/GMT-4
+posix/Etc/GMT-5
+posix/Etc/GMT-6
+posix/Etc/GMT-7
+posix/Etc/GMT-8
+posix/Etc/GMT-9
+posix/Etc/GMT0
+posix/Etc/Greenwich
+posix/Etc/UCT
+posix/Etc/UTC
+posix/Etc/Universal
+posix/Etc/Zulu
+posix/Europe/Amsterdam
+posix/Europe/Andorra
+posix/Europe/Athens
+posix/Europe/Belfast
+posix/Europe/Belgrade
+posix/Europe/Berlin
+posix/Europe/Bratislava
+posix/Europe/Brussels
+posix/Europe/Bucharest
+posix/Europe/Budapest
+posix/Europe/Chisinau
+posix/Europe/Copenhagen
+posix/Europe/Dublin
+posix/Europe/Gibraltar
+posix/Europe/Guernsey
+posix/Europe/Helsinki
+posix/Europe/Isle_of_Man
+posix/Europe/Istanbul
+posix/Europe/Jersey
+posix/Europe/Kaliningrad
+posix/Europe/Kiev
+posix/Europe/Lisbon
+posix/Europe/Ljubljana
+posix/Europe/London
+posix/Europe/Luxembourg
+posix/Europe/Madrid
+posix/Europe/Malta
+posix/Europe/Mariehamn
+posix/Europe/Minsk
+posix/Europe/Monaco
+posix/Europe/Moscow
+posix/Europe/Nicosia
+posix/Europe/Oslo
+posix/Europe/Paris
+posix/Europe/Podgorica
+posix/Europe/Prague
+posix/Europe/Riga
+posix/Europe/Rome
+posix/Europe/Samara
+posix/Europe/San_Marino
+posix/Europe/Sarajevo
+posix/Europe/Simferopol
+posix/Europe/Skopje
+posix/Europe/Sofia
+posix/Europe/Stockholm
+posix/Europe/Tallinn
+posix/Europe/Tirane
+posix/Europe/Tiraspol
+posix/Europe/Uzhgorod
+posix/Europe/Vaduz
+posix/Europe/Vatican
+posix/Europe/Vienna
+posix/Europe/Vilnius
+posix/Europe/Volgograd
+posix/Europe/Warsaw
+posix/Europe/Zagreb
+posix/Europe/Zaporozhye
+posix/Europe/Zurich
+posix/Factory
+posix/GB
+posix/GB-Eire
+posix/GMT
+posix/GMT+0
+posix/GMT-0
+posix/GMT0
+posix/Greenwich
+posix/HST
+posix/Hongkong
+posix/Iceland
+posix/Indian/Antananarivo
+posix/Indian/Chagos
+posix/Indian/Christmas
+posix/Indian/Cocos
+posix/Indian/Comoro
+posix/Indian/Kerguelen
+posix/Indian/Mahe
+posix/Indian/Maldives
+posix/Indian/Mauritius
+posix/Indian/Mayotte
+posix/Indian/Reunion
+posix/Iran
+posix/Israel
+posix/Jamaica
+posix/Japan
+posix/Kwajalein
+posix/Libya
+posix/MET
+posix/MST
+posix/MST7MDT
+posix/Mexico/BajaNorte
+posix/Mexico/BajaSur
+posix/Mexico/General
+posix/NZ
+posix/NZ-CHAT
+posix/Navajo
+posix/PRC
+posix/PST8PDT
+posix/Pacific/Apia
+posix/Pacific/Auckland
+posix/Pacific/Bougainville
+posix/Pacific/Chatham
+posix/Pacific/Easter
+posix/Pacific/Efate
+posix/Pacific/Enderbury
+posix/Pacific/Fakaofo
+posix/Pacific/Fiji
+posix/Pacific/Funafuti
+posix/Pacific/Galapagos
+posix/Pacific/Gambier
+posix/Pacific/Guadalcanal
+posix/Pacific/Guam
+posix/Pacific/Honolulu
+posix/Pacific/Johnston
+posix/Pacific/Kiritimati
+posix/Pacific/Kosrae
+posix/Pacific/Kwajalein
+posix/Pacific/Majuro
+posix/Pacific/Marquesas
+posix/Pacific/Midway
+posix/Pacific/Nauru
+posix/Pacific/Niue
+posix/Pacific/Norfolk
+posix/Pacific/Noumea
+posix/Pacific/Pago_Pago
+posix/Pacific/Palau
+posix/Pacific/Pitcairn
+posix/Pacific/Ponape
+posix/Pacific/Port_Moresby
+posix/Pacific/Rarotonga
+posix/Pacific/Saipan
+posix/Pacific/Samoa
+posix/Pacific/Tahiti
+posix/Pacific/Tarawa
+posix/Pacific/Tongatapu
+posix/Pacific/Truk
+posix/Pacific/Wake
+posix/Pacific/Wallis
+posix/Pacific/Yap
+posix/Poland
+posix/Portugal
+posix/ROC
+posix/ROK
+posix/Singapore
+posix/Turkey
+posix/UCT
+posix/US/Alaska
+posix/US/Aleutian
+posix/US/Arizona
+posix/US/Central
+posix/US/East-Indiana
+posix/US/Eastern
+posix/US/Hawaii
+posix/US/Indiana-Starke
+posix/US/Michigan
+posix/US/Mountain
+posix/US/Pacific
+posix/US/Pacific-New
+posix/US/Samoa
+posix/UTC
+posix/Universal
+posix/W-SU
+posix/WET
+posix/Zulu
+posixrules
+right/Africa/Abidjan
+right/Africa/Accra
+right/Africa/Addis_Ababa
+right/Africa/Algiers
+right/Africa/Asmera
+right/Africa/Bamako
+right/Africa/Bangui
+right/Africa/Banjul
+right/Africa/Bissau
+right/Africa/Blantyre
+right/Africa/Brazzaville
+right/Africa/Bujumbura
+right/Africa/Cairo
+right/Africa/Casablanca
+right/Africa/Ceuta
+right/Africa/Conakry
+right/Africa/Dakar
+right/Africa/Dar_es_Salaam
+right/Africa/Djibouti
+right/Africa/Douala
+right/Africa/El_Aaiun
+right/Africa/Freetown
+right/Africa/Gaborone
+right/Africa/Harare
+right/Africa/Johannesburg
+right/Africa/Kampala
+right/Africa/Khartoum
+right/Africa/Kigali
+right/Africa/Kinshasa
+right/Africa/Lagos
+right/Africa/Libreville
+right/Africa/Lome
+right/Africa/Luanda
+right/Africa/Lubumbashi
+right/Africa/Lusaka
+right/Africa/Malabo
+right/Africa/Maputo
+right/Africa/Maseru
+right/Africa/Mbabane
+right/Africa/Mogadishu
+right/Africa/Monrovia
+right/Africa/Nairobi
+right/Africa/Ndjamena
+right/Africa/Niamey
+right/Africa/Nouakchott
+right/Africa/Ouagadougou
+right/Africa/Porto-Novo
+right/Africa/Sao_Tome
+right/Africa/Timbuktu
+right/Africa/Tripoli
+right/Africa/Tunis
+right/Africa/Windhoek
+right/America/Adak
+right/America/Anchorage
+right/America/Anguilla
+right/America/Antigua
+right/America/Araguaina
+right/America/Argentina/Buenos_Aires
+right/America/Argentina/Catamarca
+right/America/Argentina/ComodRivadavia
+right/America/Argentina/Cordoba
+right/America/Argentina/Jujuy
+right/America/Argentina/La_Rioja
+right/America/Argentina/Mendoza
+right/America/Argentina/Rio_Gallegos
+right/America/Argentina/San_Juan
+right/America/Argentina/Tucuman
+right/America/Argentina/Ushuaia
+right/America/Aruba
+right/America/Asuncion
+right/America/Atikokan
+right/America/Atka
+right/America/Bahia
+right/America/Barbados
+right/America/Belem
+right/America/Belize
+right/America/Blanc-Sablon
+right/America/Boa_Vista
+right/America/Bogota
+right/America/Boise
+right/America/Buenos_Aires
+right/America/Cambridge_Bay
+right/America/Campo_Grande
+right/America/Cancun
+right/America/Caracas
+right/America/Catamarca
+right/America/Cayenne
+right/America/Cayman
+right/America/Chicago
+right/America/Chihuahua
+right/America/Coral_Harbour
+right/America/Cordoba
+right/America/Costa_Rica
+right/America/Cuiaba
+right/America/Curacao
+right/America/Danmarkshavn
+right/America/Dawson
+right/America/Dawson_Creek
+right/America/Denver
+right/America/Detroit
+right/America/Dominica
+right/America/Edmonton
+right/America/Eirunepe
+right/America/El_Salvador
+right/America/Ensenada
+right/America/Fort_Wayne
+right/America/Fortaleza
+right/America/Glace_Bay
+right/America/Godthab
+right/America/Goose_Bay
+right/America/Grand_Turk
+right/America/Grenada
+right/America/Guadeloupe
+right/America/Guatemala
+right/America/Guayaquil
+right/America/Guyana
+right/America/Halifax
+right/America/Havana
+right/America/Hermosillo
+right/America/Indiana/Indianapolis
+right/America/Indiana/Knox
+right/America/Indiana/Marengo
+right/America/Indiana/Petersburg
+right/America/Indiana/Tell_City
+right/America/Indiana/Vevay
+right/America/Indiana/Vincennes
+right/America/Indianapolis
+right/America/Inuvik
+right/America/Iqaluit
+right/America/Jamaica
+right/America/Jujuy
+right/America/Juneau
+right/America/Kentucky/Louisville
+right/America/Kentucky/Monticello
+right/America/Knox_IN
+right/America/La_Paz
+right/America/Lima
+right/America/Los_Angeles
+right/America/Louisville
+right/America/Maceio
+right/America/Managua
+right/America/Manaus
+right/America/Martinique
+right/America/Mazatlan
+right/America/Mendoza
+right/America/Menominee
+right/America/Merida
+right/America/Mexico_City
+right/America/Miquelon
+right/America/Moncton
+right/America/Monterrey
+right/America/Montevideo
+right/America/Montreal
+right/America/Montserrat
+right/America/Nassau
+right/America/New_York
+right/America/Nipigon
+right/America/Nome
+right/America/Noronha
+right/America/North_Dakota/Center
+right/America/North_Dakota/New_Salem
+right/America/Panama
+right/America/Pangnirtung
+right/America/Paramaribo
+right/America/Phoenix
+right/America/Port-au-Prince
+right/America/Port_of_Spain
+right/America/Porto_Acre
+right/America/Porto_Velho
+right/America/Puerto_Rico
+right/America/Rainy_River
+right/America/Rankin_Inlet
+right/America/Recife
+right/America/Regina
+right/America/Rio_Branco
+right/America/Rosario
+right/America/Santiago
+right/America/Santo_Domingo
+right/America/Sao_Paulo
+right/America/Scoresbysund
+right/America/Shiprock
+right/America/St_Johns
+right/America/St_Kitts
+right/America/St_Lucia
+right/America/St_Thomas
+right/America/St_Vincent
+right/America/Swift_Current
+right/America/Tegucigalpa
+right/America/Thule
+right/America/Thunder_Bay
+right/America/Tijuana
+right/America/Toronto
+right/America/Tortola
+right/America/Vancouver
+right/America/Virgin
+right/America/Whitehorse
+right/America/Winnipeg
+right/America/Yakutat
+right/America/Yellowknife
+right/Antarctica/Casey
+right/Antarctica/Davis
+right/Antarctica/DumontDUrville
+right/Antarctica/Mawson
+right/Antarctica/McMurdo
+right/Antarctica/Palmer
+right/Antarctica/Rothera
+right/Antarctica/South_Pole
+right/Antarctica/Syowa
+right/Antarctica/Troll
+right/Antarctica/Vostok
+right/Arctic/Longyearbyen
+right/Asia/Aden
+right/Asia/Almaty
+right/Asia/Amman
+right/Asia/Anadyr
+right/Asia/Aqtau
+right/Asia/Aqtobe
+right/Asia/Ashgabat
+right/Asia/Ashkhabad
+right/Asia/Baghdad
+right/Asia/Bahrain
+right/Asia/Baku
+right/Asia/Bangkok
+right/Asia/Beirut
+right/Asia/Bishkek
+right/Asia/Brunei
+right/Asia/Calcutta
+right/Asia/Chita
+right/Asia/Choibalsan
+right/Asia/Chongqing
+right/Asia/Chungking
+right/Asia/Colombo
+right/Asia/Dacca
+right/Asia/Damascus
+right/Asia/Dhaka
+right/Asia/Dili
+right/Asia/Dubai
+right/Asia/Dushanbe
+right/Asia/Gaza
+right/Asia/Harbin
+right/Asia/Hong_Kong
+right/Asia/Hovd
+right/Asia/Irkutsk
+right/Asia/Istanbul
+right/Asia/Jakarta
+right/Asia/Jayapura
+right/Asia/Jerusalem
+right/Asia/Kabul
+right/Asia/Kamchatka
+right/Asia/Karachi
+right/Asia/Kashgar
+right/Asia/Katmandu
+right/Asia/Krasnoyarsk
+right/Asia/Kuala_Lumpur
+right/Asia/Kuching
+right/Asia/Kuwait
+right/Asia/Macao
+right/Asia/Macau
+right/Asia/Magadan
+right/Asia/Makassar
+right/Asia/Manila
+right/Asia/Muscat
+right/Asia/Nicosia
+right/Asia/Novosibirsk
+right/Asia/Omsk
+right/Asia/Oral
+right/Asia/Phnom_Penh
+right/Asia/Pontianak
+right/Asia/Pyongyang
+right/Asia/Qatar
+right/Asia/Qyzylorda
+right/Asia/Rangoon
+right/Asia/Riyadh
+right/Asia/Saigon
+right/Asia/Sakhalin
+right/Asia/Samarkand
+right/Asia/Seoul
+right/Asia/Shanghai
+right/Asia/Singapore
+right/Asia/Srednekolymsk
+right/Asia/Taipei
+right/Asia/Tashkent
+right/Asia/Tbilisi
+right/Asia/Tehran
+right/Asia/Tel_Aviv
+right/Asia/Thimbu
+right/Asia/Thimphu
+right/Asia/Tokyo
+right/Asia/Ujung_Pandang
+right/Asia/Ulaanbaatar
+right/Asia/Ulan_Bator
+right/Asia/Urumqi
+right/Asia/Vientiane
+right/Asia/Vladivostok
+right/Asia/Yakutsk
+right/Asia/Yekaterinburg
+right/Asia/Yerevan
+right/Atlantic/Azores
+right/Atlantic/Bermuda
+right/Atlantic/Canary
+right/Atlantic/Cape_Verde
+right/Atlantic/Faeroe
+right/Atlantic/Jan_Mayen
+right/Atlantic/Madeira
+right/Atlantic/Reykjavik
+right/Atlantic/South_Georgia
+right/Atlantic/St_Helena
+right/Atlantic/Stanley
+right/Australia/ACT
+right/Australia/Adelaide
+right/Australia/Brisbane
+right/Australia/Broken_Hill
+right/Australia/Canberra
+right/Australia/Currie
+right/Australia/Darwin
+right/Australia/Hobart
+right/Australia/LHI
+right/Australia/Lindeman
+right/Australia/Lord_Howe
+right/Australia/Melbourne
+right/Australia/NSW
+right/Australia/North
+right/Australia/Perth
+right/Australia/Queensland
+right/Australia/South
+right/Australia/Sydney
+right/Australia/Tasmania
+right/Australia/Victoria
+right/Australia/West
+right/Australia/Yancowinna
+right/Brazil/Acre
+right/Brazil/DeNoronha
+right/Brazil/East
+right/Brazil/West
+right/CET
+right/CST6CDT
+right/Canada/Atlantic
+right/Canada/Central
+right/Canada/East-Saskatchewan
+right/Canada/Eastern
+right/Canada/Mountain
+right/Canada/Newfoundland
+right/Canada/Pacific
+right/Canada/Saskatchewan
+right/Canada/Yukon
+right/Chile/Continental
+right/Chile/EasterIsland
+right/Cuba
+right/EET
+right/EST
+right/EST5EDT
+right/Egypt
+right/Eire
+right/Etc/GMT
+right/Etc/GMT+0
+right/Etc/GMT+1
+right/Etc/GMT+10
+right/Etc/GMT+11
+right/Etc/GMT+12
+right/Etc/GMT+2
+right/Etc/GMT+3
+right/Etc/GMT+4
+right/Etc/GMT+5
+right/Etc/GMT+6
+right/Etc/GMT+7
+right/Etc/GMT+8
+right/Etc/GMT+9
+right/Etc/GMT-0
+right/Etc/GMT-1
+right/Etc/GMT-10
+right/Etc/GMT-11
+right/Etc/GMT-12
+right/Etc/GMT-13
+right/Etc/GMT-14
+right/Etc/GMT-2
+right/Etc/GMT-3
+right/Etc/GMT-4
+right/Etc/GMT-5
+right/Etc/GMT-6
+right/Etc/GMT-7
+right/Etc/GMT-8
+right/Etc/GMT-9
+right/Etc/GMT0
+right/Etc/Greenwich
+right/Etc/UCT
+right/Etc/UTC
+right/Etc/Universal
+right/Etc/Zulu
+right/Europe/Amsterdam
+right/Europe/Andorra
+right/Europe/Athens
+right/Europe/Belfast
+right/Europe/Belgrade
+right/Europe/Berlin
+right/Europe/Bratislava
+right/Europe/Brussels
+right/Europe/Bucharest
+right/Europe/Budapest
+right/Europe/Chisinau
+right/Europe/Copenhagen
+right/Europe/Dublin
+right/Europe/Gibraltar
+right/Europe/Guernsey
+right/Europe/Helsinki
+right/Europe/Isle_of_Man
+right/Europe/Istanbul
+right/Europe/Jersey
+right/Europe/Kaliningrad
+right/Europe/Kiev
+right/Europe/Lisbon
+right/Europe/Ljubljana
+right/Europe/London
+right/Europe/Luxembourg
+right/Europe/Madrid
+right/Europe/Malta
+right/Europe/Mariehamn
+right/Europe/Minsk
+right/Europe/Monaco
+right/Europe/Moscow
+right/Europe/Nicosia
+right/Europe/Oslo
+right/Europe/Paris
+right/Europe/Podgorica
+right/Europe/Prague
+right/Europe/Riga
+right/Europe/Rome
+right/Europe/Samara
+right/Europe/San_Marino
+right/Europe/Sarajevo
+right/Europe/Simferopol
+right/Europe/Skopje
+right/Europe/Sofia
+right/Europe/Stockholm
+right/Europe/Tallinn
+right/Europe/Tirane
+right/Europe/Tiraspol
+right/Europe/Uzhgorod
+right/Europe/Vaduz
+right/Europe/Vatican
+right/Europe/Vienna
+right/Europe/Vilnius
+right/Europe/Volgograd
+right/Europe/Warsaw
+right/Europe/Zagreb
+right/Europe/Zaporozhye
+right/Europe/Zurich
+right/Factory
+right/GB
+right/GB-Eire
+right/GMT
+right/GMT+0
+right/GMT-0
+right/GMT0
+right/Greenwich
+right/HST
+right/Hongkong
+right/Iceland
+right/Indian/Antananarivo
+right/Indian/Chagos
+right/Indian/Christmas
+right/Indian/Cocos
+right/Indian/Comoro
+right/Indian/Kerguelen
+right/Indian/Mahe
+right/Indian/Maldives
+right/Indian/Mauritius
+right/Indian/Mayotte
+right/Indian/Reunion
+right/Iran
+right/Israel
+right/Jamaica
+right/Japan
+right/Kwajalein
+right/Libya
+right/MET
+right/MST
+right/MST7MDT
+right/Mexico/BajaNorte
+right/Mexico/BajaSur
+right/Mexico/General
+right/NZ
+right/NZ-CHAT
+right/Navajo
+right/PRC
+right/PST8PDT
+right/Pacific/Apia
+right/Pacific/Auckland
+right/Pacific/Bougainville
+right/Pacific/Chatham
+right/Pacific/Easter
+right/Pacific/Efate
+right/Pacific/Enderbury
+right/Pacific/Fakaofo
+right/Pacific/Fiji
+right/Pacific/Funafuti
+right/Pacific/Galapagos
+right/Pacific/Gambier
+right/Pacific/Guadalcanal
+right/Pacific/Guam
+right/Pacific/Honolulu
+right/Pacific/Johnston
+right/Pacific/Kiritimati
+right/Pacific/Kosrae
+right/Pacific/Kwajalein
+right/Pacific/Majuro
+right/Pacific/Marquesas
+right/Pacific/Midway
+right/Pacific/Nauru
+right/Pacific/Niue
+right/Pacific/Norfolk
+right/Pacific/Noumea
+right/Pacific/Pago_Pago
+right/Pacific/Palau
+right/Pacific/Pitcairn
+right/Pacific/Ponape
+right/Pacific/Port_Moresby
+right/Pacific/Rarotonga
+right/Pacific/Saipan
+right/Pacific/Samoa
+right/Pacific/Tahiti
+right/Pacific/Tarawa
+right/Pacific/Tongatapu
+right/Pacific/Truk
+right/Pacific/Wake
+right/Pacific/Wallis
+right/Pacific/Yap
+right/Poland
+right/Portugal
+right/ROC
+right/ROK
+right/Singapore
+right/Turkey
+right/UCT
+right/US/Alaska
+right/US/Aleutian
+right/US/Arizona
+right/US/Central
+right/US/East-Indiana
+right/US/Eastern
+right/US/Hawaii
+right/US/Indiana-Starke
+right/US/Michigan
+right/US/Mountain
+right/US/Pacific
+right/US/Pacific-New
+right/US/Samoa
+right/UTC
+right/Universal
+right/W-SU
+right/WET
+right/Zulu
diff --git a/patches/source/glibc/timezone-scripts/parts/04 b/patches/source/glibc/timezone-scripts/parts/04
new file mode 100644
index 00000000..ec36338b
--- /dev/null
+++ b/patches/source/glibc/timezone-scripts/parts/04
@@ -0,0 +1,32 @@
+
+Type it at the prompt below exactly as it appears above. (NOTE: If you don't
+see your timezone, use "timeconfig" again after booting for the verbose list)
+
+EOF
+ echo -n "Timezone? "
+ read TIMEZONE;
+ echo
+
+ if [ -r $T_PX/usr/share/zoneinfo/$TIMEZONE -o \
+ -r /var/log/mount/usr/share/zoneinfo/$TIMEZONE -o \
+ -L $T_PX/usr/share/zoneinfo/$TIMEZONE -o \
+ -L /var/log/mount/usr/share/zoneinfo/$TIMEZONE ]; then
+ echo "Creating link from $TIMEZONE to localtime in /etc..."
+ echo
+ setzone $TIMEZONE
+ exit
+ else
+ cat << EOF
+
+Timezone $TIMEZONE could not be found. You may try again if you wish.
+Make sure you type the name exactly as it appears - this configuration script
+is case sensitive.
+
+Press [enter] to continue.
+
+EOF
+ read JUNK;
+ fi
+ done
+fi
+
diff --git a/patches/source/glibc/timezone-scripts/parts/README b/patches/source/glibc/timezone-scripts/parts/README
new file mode 100644
index 00000000..80d5cf5b
--- /dev/null
+++ b/patches/source/glibc/timezone-scripts/parts/README
@@ -0,0 +1,2 @@
+Files 01 and 03 are samples, showing the format, and are
+not necessarily up to date...
diff --git a/patches/source/glibc/timezone-scripts/setup.timeconfig b/patches/source/glibc/timezone-scripts/setup.timeconfig
new file mode 100644
index 00000000..81ff7055
--- /dev/null
+++ b/patches/source/glibc/timezone-scripts/setup.timeconfig
@@ -0,0 +1,3 @@
+#!/bin/sh
+#BLURB="Select your timezone"
+sh usr/sbin/timeconfig $*
diff --git a/patches/source/glibc/timezone-scripts/timeconfig b/patches/source/glibc/timezone-scripts/timeconfig
new file mode 100644
index 00000000..9f939b36
--- /dev/null
+++ b/patches/source/glibc/timezone-scripts/timeconfig
@@ -0,0 +1,3695 @@
+#!/bin/sh
+#
+# timeconfig Slackware Linux timezone configuration utility.
+#
+# Author: Patrick Volkerding <volkerdi@slackware.com>
+# Modified by: David Cantrell <david@slackware.com>, 06-Oct-2000
+#
+# ChangeLog:
+# 2014-10-22: Updated timezones from tzdata2014i. <pjv>
+# 2012-12-12: Updated timezones from tzdata2012j. <pjv>
+# 2008-03-10: Updated timezones from tzdata2008a. <pjv>
+# 2007-12-21: Updated timezones from tzdata2007j. <pjv>
+# 2006-12-03: Updated timezones from tzdata2006p. <pjv>
+# 2006-09-14: Updated timezones from tzdata2006k. <pjv>
+# 2006-08-22: Updated timezones from tzdata2006j.
+# 2006-08-13: Updated timezones from tzdata2006g.
+# 2006-03-13: Updated timezones from tzdata2006c.
+# 19-Feb-2001 Add new timezones from glibc-2.2.2.
+# 06-Oct-2000 Fixed a problem with selecting UTC time. It was writing
+# the hardwareclock file to the root disk and not your dest
+# partition. Changed the HWCLOCK_CONF variable to be
+# $T_PX/etc/hardwareclock to fix this. Thanks to David L.
+# Dickman <softbear@optonline.net> for finding this and
+# submitting a patch.
+#
+# 15-Mar-2000 Added the writeconf function to write out the
+# /etc/hardwareclock file which tells what the hardware clock
+# is set to (UTC or localtime).
+#
+# 03-Mar-2000 Reorganized script. Made one timezone set block, added
+# stage that asks the user if the hardware clock is set to
+# UTC.
+
+# setup our temp locations and variables
+TMP=/var/log/setup/tmp
+if [ -r $TMP/SeTT_PX ]; then
+ T_PX="`cat $TMP/SeTT_PX`"
+elif [ ! "$!" = "" ]; then
+ T_PX=$1
+else
+ T_PX=/
+fi
+
+# the hardware clock configuration file
+HWCLOCK_CONF=$T_PX/etc/hardwareclock
+
+# setzone( $TIMEZONE )
+#
+# This function accepts a time zone as the only parameter and sets it as
+# the default system time zone.
+setzone()
+{
+ TZ=$1
+
+ cd $T_PX/etc
+ if [ -r $T_PX/usr/share/zoneinfo/$TZ -o \
+ -r /var/log/mount/usr/share/zoneinfo/$TZ -o \
+ -L $T_PX/usr/share/zoneinfo/$TZ -o \
+ -L /var/log/mount/usr/share/zoneinfo/$TZ ]; then
+ ln -sf /usr/share/zoneinfo/$TZ localtime-copied-from
+ rm -f localtime
+ cd ..
+ chroot . cp etc/localtime-copied-from etc/localtime
+ fi
+}
+
+# writeconf( $CLOCK_SET_TO )
+#
+# Writes out $HWCLOCK_CONF that tells rc.S how the hardware clock
+# value is stored.
+writeconf()
+{
+ echo "# /etc/hardwareclock" > $HWCLOCK_CONF
+ echo "#" >> $HWCLOCK_CONF
+ echo "# Tells how the hardware clock time is stored." >> $HWCLOCK_CONF
+ echo "# You should run timeconfig to edit this file." >> $HWCLOCK_CONF
+ echo >> $HWCLOCK_CONF
+ echo $1 >> $HWCLOCK_CONF
+}
+
+# ask the user if the hardware clock is set for UTC/GMT
+if [ "$COLOR" = "on" -o -r $TMP/SeTcolor -o "$T_PX" = "/" ]; then
+ ###
+ ### use color menus here
+ ###
+ dialog --title "HARDWARE CLOCK SET TO UTC?" --menu "Is the hardware clock set \
+to Coordinated Universal Time (UTC/GMT)? If it is, select YES here. If the \
+hardware clock is set to the current local time (this is how most PCs are set \
+up), then say NO here. If you are not sure what this is, you should answer NO \
+here." 13 60 2 \
+ "NO" "Hardware clock is set to local time" \
+ "YES" "Hardware clock is set to UTC" \
+ 2> $TMP/utc
+ if [ $? = 1 -o $? = 255 ]; then
+ rm -f $TMP/utc
+ exit
+ fi
+ if [ "`cat $TMP/utc`" = "YES" ]; then
+ # yes, the hardware clock is UTC
+ writeconf "UTC"
+ else # must be NO
+ writeconf "localtime"
+ fi
+ rm -f $TMP/utc
+else
+ ###
+ ### use text prompts
+ ###
+ echo "Is the hardware clock set to Coordinated Universal Time (UTC/GMT)?"
+ echo "If it is, select 'y' here. If the hardware clock is set to the"
+ echo "current local time (this is how most PCs are set up), then say 'n'"
+ echo "here. If you are not sure what this is, you should answer 'n' here."
+ echo
+ echo -n "Is your hardware clock set to UTC ([y]es, [n]o)? "
+ read HEJAZ
+
+ if [ "$HEJAZ" = "y" -o "$HEJAZ" = "Y" -o "$HEJAZ" = "YES" -o "$HEJAZ" = "yes" ]; then
+ # yes, the hardware clock is UTC
+ writeconf "UTC"
+ else
+ # default to localtime
+ writeconf "localtime"
+ fi
+fi
+
+# Now set the correct timezone link:
+if [ "$COLOR" = "on" -o -r $TMP/SeTcolor -o "$T_PX" = "/" ]; then
+ ###
+ ### use color menus here
+ ###
+ dialog --title "TIMEZONE CONFIGURATION" --menu "Please select one of the following timezones for your machine:" 21 50 13 \
+"US/Alaska" " " \
+"US/Aleutian" " " \
+"US/Arizona" " " \
+"US/Central" " " \
+"US/East-Indiana" " " \
+"US/Eastern" " " \
+"US/Hawaii" " " \
+"US/Indiana-Starke" " " \
+"US/Michigan" " " \
+"US/Mountain" " " \
+"US/Pacific" " " \
+"US/Pacific-New" " " \
+"US/Samoa" " " \
+"Africa/Abidjan" " " \
+"Africa/Accra" " " \
+"Africa/Addis_Ababa" " " \
+"Africa/Algiers" " " \
+"Africa/Asmara" " " \
+"Africa/Asmera" " " \
+"Africa/Bamako" " " \
+"Africa/Bangui" " " \
+"Africa/Banjul" " " \
+"Africa/Bissau" " " \
+"Africa/Blantyre" " " \
+"Africa/Brazzaville" " " \
+"Africa/Bujumbura" " " \
+"Africa/Cairo" " " \
+"Africa/Casablanca" " " \
+"Africa/Ceuta" " " \
+"Africa/Conakry" " " \
+"Africa/Dakar" " " \
+"Africa/Dar_es_Salaam" " " \
+"Africa/Djibouti" " " \
+"Africa/Douala" " " \
+"Africa/El_Aaiun" " " \
+"Africa/Freetown" " " \
+"Africa/Gaborone" " " \
+"Africa/Harare" " " \
+"Africa/Johannesburg" " " \
+"Africa/Juba" " " \
+"Africa/Kampala" " " \
+"Africa/Khartoum" " " \
+"Africa/Kigali" " " \
+"Africa/Kinshasa" " " \
+"Africa/Lagos" " " \
+"Africa/Libreville" " " \
+"Africa/Lome" " " \
+"Africa/Luanda" " " \
+"Africa/Lubumbashi" " " \
+"Africa/Lusaka" " " \
+"Africa/Malabo" " " \
+"Africa/Maputo" " " \
+"Africa/Maseru" " " \
+"Africa/Mbabane" " " \
+"Africa/Mogadishu" " " \
+"Africa/Monrovia" " " \
+"Africa/Nairobi" " " \
+"Africa/Ndjamena" " " \
+"Africa/Niamey" " " \
+"Africa/Nouakchott" " " \
+"Africa/Ouagadougou" " " \
+"Africa/Porto-Novo" " " \
+"Africa/Sao_Tome" " " \
+"Africa/Timbuktu" " " \
+"Africa/Tripoli" " " \
+"Africa/Tunis" " " \
+"Africa/Windhoek" " " \
+"America/Adak" " " \
+"America/Anchorage" " " \
+"America/Anguilla" " " \
+"America/Antigua" " " \
+"America/Araguaina" " " \
+"America/Argentina/Buenos_Aires" " " \
+"America/Argentina/Catamarca" " " \
+"America/Argentina/ComodRivadavia" " " \
+"America/Argentina/Cordoba" " " \
+"America/Argentina/Jujuy" " " \
+"America/Argentina/La_Rioja" " " \
+"America/Argentina/Mendoza" " " \
+"America/Argentina/Rio_Gallegos" " " \
+"America/Argentina/Salta" " " \
+"America/Argentina/San_Juan" " " \
+"America/Argentina/San_Luis" " " \
+"America/Argentina/Tucuman" " " \
+"America/Argentina/Ushuaia" " " \
+"America/Aruba" " " \
+"America/Asuncion" " " \
+"America/Atikokan" " " \
+"America/Atka" " " \
+"America/Bahia" " " \
+"America/Bahia_Banderas" " " \
+"America/Barbados" " " \
+"America/Belem" " " \
+"America/Belize" " " \
+"America/Blanc-Sablon" " " \
+"America/Boa_Vista" " " \
+"America/Bogota" " " \
+"America/Boise" " " \
+"America/Buenos_Aires" " " \
+"America/Cambridge_Bay" " " \
+"America/Campo_Grande" " " \
+"America/Cancun" " " \
+"America/Caracas" " " \
+"America/Catamarca" " " \
+"America/Cayenne" " " \
+"America/Cayman" " " \
+"America/Chicago" " " \
+"America/Chihuahua" " " \
+"America/Coral_Harbour" " " \
+"America/Cordoba" " " \
+"America/Costa_Rica" " " \
+"America/Creston" " " \
+"America/Cuiaba" " " \
+"America/Curacao" " " \
+"America/Danmarkshavn" " " \
+"America/Dawson" " " \
+"America/Dawson_Creek" " " \
+"America/Denver" " " \
+"America/Detroit" " " \
+"America/Dominica" " " \
+"America/Edmonton" " " \
+"America/Eirunepe" " " \
+"America/El_Salvador" " " \
+"America/Ensenada" " " \
+"America/Fort_Wayne" " " \
+"America/Fortaleza" " " \
+"America/Glace_Bay" " " \
+"America/Godthab" " " \
+"America/Goose_Bay" " " \
+"America/Grand_Turk" " " \
+"America/Grenada" " " \
+"America/Guadeloupe" " " \
+"America/Guatemala" " " \
+"America/Guayaquil" " " \
+"America/Guyana" " " \
+"America/Halifax" " " \
+"America/Havana" " " \
+"America/Hermosillo" " " \
+"America/Indiana/Indianapolis" " " \
+"America/Indiana/Knox" " " \
+"America/Indiana/Marengo" " " \
+"America/Indiana/Petersburg" " " \
+"America/Indiana/Tell_City" " " \
+"America/Indiana/Vevay" " " \
+"America/Indiana/Vincennes" " " \
+"America/Indiana/Winamac" " " \
+"America/Indianapolis" " " \
+"America/Inuvik" " " \
+"America/Iqaluit" " " \
+"America/Jamaica" " " \
+"America/Jujuy" " " \
+"America/Juneau" " " \
+"America/Kentucky/Louisville" " " \
+"America/Kentucky/Monticello" " " \
+"America/Knox_IN" " " \
+"America/Kralendijk" " " \
+"America/La_Paz" " " \
+"America/Lima" " " \
+"America/Los_Angeles" " " \
+"America/Louisville" " " \
+"America/Lower_Princes" " " \
+"America/Maceio" " " \
+"America/Managua" " " \
+"America/Manaus" " " \
+"America/Marigot" " " \
+"America/Martinique" " " \
+"America/Matamoros" " " \
+"America/Mazatlan" " " \
+"America/Mendoza" " " \
+"America/Menominee" " " \
+"America/Merida" " " \
+"America/Metlakatla" " " \
+"America/Mexico_City" " " \
+"America/Miquelon" " " \
+"America/Moncton" " " \
+"America/Monterrey" " " \
+"America/Montevideo" " " \
+"America/Montreal" " " \
+"America/Montserrat" " " \
+"America/Nassau" " " \
+"America/New_York" " " \
+"America/Nipigon" " " \
+"America/Nome" " " \
+"America/Noronha" " " \
+"America/North_Dakota/Beulah" " " \
+"America/North_Dakota/Center" " " \
+"America/North_Dakota/New_Salem" " " \
+"America/Ojinaga" " " \
+"America/Panama" " " \
+"America/Pangnirtung" " " \
+"America/Paramaribo" " " \
+"America/Phoenix" " " \
+"America/Port-au-Prince" " " \
+"America/Port_of_Spain" " " \
+"America/Porto_Acre" " " \
+"America/Porto_Velho" " " \
+"America/Puerto_Rico" " " \
+"America/Rainy_River" " " \
+"America/Rankin_Inlet" " " \
+"America/Recife" " " \
+"America/Regina" " " \
+"America/Resolute" " " \
+"America/Rio_Branco" " " \
+"America/Rosario" " " \
+"America/Santa_Isabel" " " \
+"America/Santarem" " " \
+"America/Santiago" " " \
+"America/Santo_Domingo" " " \
+"America/Sao_Paulo" " " \
+"America/Scoresbysund" " " \
+"America/Shiprock" " " \
+"America/Sitka" " " \
+"America/St_Barthelemy" " " \
+"America/St_Johns" " " \
+"America/St_Kitts" " " \
+"America/St_Lucia" " " \
+"America/St_Thomas" " " \
+"America/St_Vincent" " " \
+"America/Swift_Current" " " \
+"America/Tegucigalpa" " " \
+"America/Thule" " " \
+"America/Thunder_Bay" " " \
+"America/Tijuana" " " \
+"America/Toronto" " " \
+"America/Tortola" " " \
+"America/Vancouver" " " \
+"America/Virgin" " " \
+"America/Whitehorse" " " \
+"America/Winnipeg" " " \
+"America/Yakutat" " " \
+"America/Yellowknife" " " \
+"Antarctica/Casey" " " \
+"Antarctica/Davis" " " \
+"Antarctica/DumontDUrville" " " \
+"Antarctica/Macquarie" " " \
+"Antarctica/Mawson" " " \
+"Antarctica/McMurdo" " " \
+"Antarctica/Palmer" " " \
+"Antarctica/Rothera" " " \
+"Antarctica/South_Pole" " " \
+"Antarctica/Syowa" " " \
+"Antarctica/Troll" " " \
+"Antarctica/Vostok" " " \
+"Arctic/Longyearbyen" " " \
+"Asia/Aden" " " \
+"Asia/Almaty" " " \
+"Asia/Amman" " " \
+"Asia/Anadyr" " " \
+"Asia/Aqtau" " " \
+"Asia/Aqtobe" " " \
+"Asia/Ashgabat" " " \
+"Asia/Ashkhabad" " " \
+"Asia/Baghdad" " " \
+"Asia/Bahrain" " " \
+"Asia/Baku" " " \
+"Asia/Bangkok" " " \
+"Asia/Beirut" " " \
+"Asia/Bishkek" " " \
+"Asia/Brunei" " " \
+"Asia/Calcutta" " " \
+"Asia/Chita" " " \
+"Asia/Choibalsan" " " \
+"Asia/Chongqing" " " \
+"Asia/Chungking" " " \
+"Asia/Colombo" " " \
+"Asia/Dacca" " " \
+"Asia/Damascus" " " \
+"Asia/Dhaka" " " \
+"Asia/Dili" " " \
+"Asia/Dubai" " " \
+"Asia/Dushanbe" " " \
+"Asia/Gaza" " " \
+"Asia/Harbin" " " \
+"Asia/Hebron" " " \
+"Asia/Ho_Chi_Minh" " " \
+"Asia/Hong_Kong" " " \
+"Asia/Hovd" " " \
+"Asia/Irkutsk" " " \
+"Asia/Istanbul" " " \
+"Asia/Jakarta" " " \
+"Asia/Jayapura" " " \
+"Asia/Jerusalem" " " \
+"Asia/Kabul" " " \
+"Asia/Kamchatka" " " \
+"Asia/Karachi" " " \
+"Asia/Kashgar" " " \
+"Asia/Kathmandu" " " \
+"Asia/Katmandu" " " \
+"Asia/Khandyga" " " \
+"Asia/Kolkata" " " \
+"Asia/Krasnoyarsk" " " \
+"Asia/Kuala_Lumpur" " " \
+"Asia/Kuching" " " \
+"Asia/Kuwait" " " \
+"Asia/Macao" " " \
+"Asia/Macau" " " \
+"Asia/Magadan" " " \
+"Asia/Makassar" " " \
+"Asia/Manila" " " \
+"Asia/Muscat" " " \
+"Asia/Nicosia" " " \
+"Asia/Novokuznetsk" " " \
+"Asia/Novosibirsk" " " \
+"Asia/Omsk" " " \
+"Asia/Oral" " " \
+"Asia/Phnom_Penh" " " \
+"Asia/Pontianak" " " \
+"Asia/Pyongyang" " " \
+"Asia/Qatar" " " \
+"Asia/Qyzylorda" " " \
+"Asia/Rangoon" " " \
+"Asia/Riyadh" " " \
+"Asia/Saigon" " " \
+"Asia/Sakhalin" " " \
+"Asia/Samarkand" " " \
+"Asia/Seoul" " " \
+"Asia/Shanghai" " " \
+"Asia/Singapore" " " \
+"Asia/Srednekolymsk" " " \
+"Asia/Taipei" " " \
+"Asia/Tashkent" " " \
+"Asia/Tbilisi" " " \
+"Asia/Tehran" " " \
+"Asia/Tel_Aviv" " " \
+"Asia/Thimbu" " " \
+"Asia/Thimphu" " " \
+"Asia/Tokyo" " " \
+"Asia/Ujung_Pandang" " " \
+"Asia/Ulaanbaatar" " " \
+"Asia/Ulan_Bator" " " \
+"Asia/Urumqi" " " \
+"Asia/Ust-Nera" " " \
+"Asia/Vientiane" " " \
+"Asia/Vladivostok" " " \
+"Asia/Yakutsk" " " \
+"Asia/Yekaterinburg" " " \
+"Asia/Yerevan" " " \
+"Atlantic/Azores" " " \
+"Atlantic/Bermuda" " " \
+"Atlantic/Canary" " " \
+"Atlantic/Cape_Verde" " " \
+"Atlantic/Faeroe" " " \
+"Atlantic/Faroe" " " \
+"Atlantic/Jan_Mayen" " " \
+"Atlantic/Madeira" " " \
+"Atlantic/Reykjavik" " " \
+"Atlantic/South_Georgia" " " \
+"Atlantic/St_Helena" " " \
+"Atlantic/Stanley" " " \
+"Australia/ACT" " " \
+"Australia/Adelaide" " " \
+"Australia/Brisbane" " " \
+"Australia/Broken_Hill" " " \
+"Australia/Canberra" " " \
+"Australia/Currie" " " \
+"Australia/Darwin" " " \
+"Australia/Eucla" " " \
+"Australia/Hobart" " " \
+"Australia/LHI" " " \
+"Australia/Lindeman" " " \
+"Australia/Lord_Howe" " " \
+"Australia/Melbourne" " " \
+"Australia/NSW" " " \
+"Australia/North" " " \
+"Australia/Perth" " " \
+"Australia/Queensland" " " \
+"Australia/South" " " \
+"Australia/Sydney" " " \
+"Australia/Tasmania" " " \
+"Australia/Victoria" " " \
+"Australia/West" " " \
+"Australia/Yancowinna" " " \
+"Brazil/Acre" " " \
+"Brazil/DeNoronha" " " \
+"Brazil/East" " " \
+"Brazil/West" " " \
+"CET" " " \
+"CST6CDT" " " \
+"Canada/Atlantic" " " \
+"Canada/Central" " " \
+"Canada/East-Saskatchewan" " " \
+"Canada/Eastern" " " \
+"Canada/Mountain" " " \
+"Canada/Newfoundland" " " \
+"Canada/Pacific" " " \
+"Canada/Saskatchewan" " " \
+"Canada/Yukon" " " \
+"Chile/Continental" " " \
+"Chile/EasterIsland" " " \
+"Cuba" " " \
+"EET" " " \
+"EST" " " \
+"EST5EDT" " " \
+"Egypt" " " \
+"Eire" " " \
+"Etc/GMT" " " \
+"Etc/GMT+0" " " \
+"Etc/GMT+1" " " \
+"Etc/GMT+10" " " \
+"Etc/GMT+11" " " \
+"Etc/GMT+12" " " \
+"Etc/GMT+2" " " \
+"Etc/GMT+3" " " \
+"Etc/GMT+4" " " \
+"Etc/GMT+5" " " \
+"Etc/GMT+6" " " \
+"Etc/GMT+7" " " \
+"Etc/GMT+8" " " \
+"Etc/GMT+9" " " \
+"Etc/GMT-0" " " \
+"Etc/GMT-1" " " \
+"Etc/GMT-10" " " \
+"Etc/GMT-11" " " \
+"Etc/GMT-12" " " \
+"Etc/GMT-13" " " \
+"Etc/GMT-14" " " \
+"Etc/GMT-2" " " \
+"Etc/GMT-3" " " \
+"Etc/GMT-4" " " \
+"Etc/GMT-5" " " \
+"Etc/GMT-6" " " \
+"Etc/GMT-7" " " \
+"Etc/GMT-8" " " \
+"Etc/GMT-9" " " \
+"Etc/GMT0" " " \
+"Etc/Greenwich" " " \
+"Etc/UCT" " " \
+"Etc/UTC" " " \
+"Etc/Universal" " " \
+"Etc/Zulu" " " \
+"Europe/Amsterdam" " " \
+"Europe/Andorra" " " \
+"Europe/Athens" " " \
+"Europe/Belfast" " " \
+"Europe/Belgrade" " " \
+"Europe/Berlin" " " \
+"Europe/Bratislava" " " \
+"Europe/Brussels" " " \
+"Europe/Bucharest" " " \
+"Europe/Budapest" " " \
+"Europe/Busingen" " " \
+"Europe/Chisinau" " " \
+"Europe/Copenhagen" " " \
+"Europe/Dublin" " " \
+"Europe/Gibraltar" " " \
+"Europe/Guernsey" " " \
+"Europe/Helsinki" " " \
+"Europe/Isle_of_Man" " " \
+"Europe/Istanbul" " " \
+"Europe/Jersey" " " \
+"Europe/Kaliningrad" " " \
+"Europe/Kiev" " " \
+"Europe/Lisbon" " " \
+"Europe/Ljubljana" " " \
+"Europe/London" " " \
+"Europe/Luxembourg" " " \
+"Europe/Madrid" " " \
+"Europe/Malta" " " \
+"Europe/Mariehamn" " " \
+"Europe/Minsk" " " \
+"Europe/Monaco" " " \
+"Europe/Moscow" " " \
+"Europe/Nicosia" " " \
+"Europe/Oslo" " " \
+"Europe/Paris" " " \
+"Europe/Podgorica" " " \
+"Europe/Prague" " " \
+"Europe/Riga" " " \
+"Europe/Rome" " " \
+"Europe/Samara" " " \
+"Europe/San_Marino" " " \
+"Europe/Sarajevo" " " \
+"Europe/Simferopol" " " \
+"Europe/Skopje" " " \
+"Europe/Sofia" " " \
+"Europe/Stockholm" " " \
+"Europe/Tallinn" " " \
+"Europe/Tirane" " " \
+"Europe/Tiraspol" " " \
+"Europe/Uzhgorod" " " \
+"Europe/Vaduz" " " \
+"Europe/Vatican" " " \
+"Europe/Vienna" " " \
+"Europe/Vilnius" " " \
+"Europe/Volgograd" " " \
+"Europe/Warsaw" " " \
+"Europe/Zagreb" " " \
+"Europe/Zaporozhye" " " \
+"Europe/Zurich" " " \
+"Factory" " " \
+"GB" " " \
+"GB-Eire" " " \
+"GMT" " " \
+"GMT+0" " " \
+"GMT-0" " " \
+"GMT0" " " \
+"Greenwich" " " \
+"HST" " " \
+"Hongkong" " " \
+"Iceland" " " \
+"Indian/Antananarivo" " " \
+"Indian/Chagos" " " \
+"Indian/Christmas" " " \
+"Indian/Cocos" " " \
+"Indian/Comoro" " " \
+"Indian/Kerguelen" " " \
+"Indian/Mahe" " " \
+"Indian/Maldives" " " \
+"Indian/Mauritius" " " \
+"Indian/Mayotte" " " \
+"Indian/Reunion" " " \
+"Iran" " " \
+"Israel" " " \
+"Jamaica" " " \
+"Japan" " " \
+"Kwajalein" " " \
+"Libya" " " \
+"MET" " " \
+"MST" " " \
+"MST7MDT" " " \
+"Mexico/BajaNorte" " " \
+"Mexico/BajaSur" " " \
+"Mexico/General" " " \
+"NZ" " " \
+"NZ-CHAT" " " \
+"Navajo" " " \
+"PRC" " " \
+"PST8PDT" " " \
+"Pacific/Apia" " " \
+"Pacific/Auckland" " " \
+"Pacific/Bougainville" " " \
+"Pacific/Chatham" " " \
+"Pacific/Chuuk" " " \
+"Pacific/Easter" " " \
+"Pacific/Efate" " " \
+"Pacific/Enderbury" " " \
+"Pacific/Fakaofo" " " \
+"Pacific/Fiji" " " \
+"Pacific/Funafuti" " " \
+"Pacific/Galapagos" " " \
+"Pacific/Gambier" " " \
+"Pacific/Guadalcanal" " " \
+"Pacific/Guam" " " \
+"Pacific/Honolulu" " " \
+"Pacific/Johnston" " " \
+"Pacific/Kiritimati" " " \
+"Pacific/Kosrae" " " \
+"Pacific/Kwajalein" " " \
+"Pacific/Majuro" " " \
+"Pacific/Marquesas" " " \
+"Pacific/Midway" " " \
+"Pacific/Nauru" " " \
+"Pacific/Niue" " " \
+"Pacific/Norfolk" " " \
+"Pacific/Noumea" " " \
+"Pacific/Pago_Pago" " " \
+"Pacific/Palau" " " \
+"Pacific/Pitcairn" " " \
+"Pacific/Pohnpei" " " \
+"Pacific/Ponape" " " \
+"Pacific/Port_Moresby" " " \
+"Pacific/Rarotonga" " " \
+"Pacific/Saipan" " " \
+"Pacific/Samoa" " " \
+"Pacific/Tahiti" " " \
+"Pacific/Tarawa" " " \
+"Pacific/Tongatapu" " " \
+"Pacific/Truk" " " \
+"Pacific/Wake" " " \
+"Pacific/Wallis" " " \
+"Pacific/Yap" " " \
+"Poland" " " \
+"Portugal" " " \
+"ROC" " " \
+"ROK" " " \
+"Singapore" " " \
+"Turkey" " " \
+"UCT" " " \
+"UTC" " " \
+"Universal" " " \
+"W-SU" " " \
+"WET" " " \
+"Zulu" " " \
+"posix/Africa/Abidjan" " " \
+"posix/Africa/Accra" " " \
+"posix/Africa/Addis_Ababa" " " \
+"posix/Africa/Algiers" " " \
+"posix/Africa/Asmara" " " \
+"posix/Africa/Asmera" " " \
+"posix/Africa/Bamako" " " \
+"posix/Africa/Bangui" " " \
+"posix/Africa/Banjul" " " \
+"posix/Africa/Bissau" " " \
+"posix/Africa/Blantyre" " " \
+"posix/Africa/Brazzaville" " " \
+"posix/Africa/Bujumbura" " " \
+"posix/Africa/Cairo" " " \
+"posix/Africa/Casablanca" " " \
+"posix/Africa/Ceuta" " " \
+"posix/Africa/Conakry" " " \
+"posix/Africa/Dakar" " " \
+"posix/Africa/Dar_es_Salaam" " " \
+"posix/Africa/Djibouti" " " \
+"posix/Africa/Douala" " " \
+"posix/Africa/El_Aaiun" " " \
+"posix/Africa/Freetown" " " \
+"posix/Africa/Gaborone" " " \
+"posix/Africa/Harare" " " \
+"posix/Africa/Johannesburg" " " \
+"posix/Africa/Juba" " " \
+"posix/Africa/Kampala" " " \
+"posix/Africa/Khartoum" " " \
+"posix/Africa/Kigali" " " \
+"posix/Africa/Kinshasa" " " \
+"posix/Africa/Lagos" " " \
+"posix/Africa/Libreville" " " \
+"posix/Africa/Lome" " " \
+"posix/Africa/Luanda" " " \
+"posix/Africa/Lubumbashi" " " \
+"posix/Africa/Lusaka" " " \
+"posix/Africa/Malabo" " " \
+"posix/Africa/Maputo" " " \
+"posix/Africa/Maseru" " " \
+"posix/Africa/Mbabane" " " \
+"posix/Africa/Mogadishu" " " \
+"posix/Africa/Monrovia" " " \
+"posix/Africa/Nairobi" " " \
+"posix/Africa/Ndjamena" " " \
+"posix/Africa/Niamey" " " \
+"posix/Africa/Nouakchott" " " \
+"posix/Africa/Ouagadougou" " " \
+"posix/Africa/Porto-Novo" " " \
+"posix/Africa/Sao_Tome" " " \
+"posix/Africa/Timbuktu" " " \
+"posix/Africa/Tripoli" " " \
+"posix/Africa/Tunis" " " \
+"posix/Africa/Windhoek" " " \
+"posix/America/Adak" " " \
+"posix/America/Anchorage" " " \
+"posix/America/Anguilla" " " \
+"posix/America/Antigua" " " \
+"posix/America/Araguaina" " " \
+"posix/America/Argentina/Buenos_Aires" " " \
+"posix/America/Argentina/Catamarca" " " \
+"posix/America/Argentina/ComodRivadavia" " " \
+"posix/America/Argentina/Cordoba" " " \
+"posix/America/Argentina/Jujuy" " " \
+"posix/America/Argentina/La_Rioja" " " \
+"posix/America/Argentina/Mendoza" " " \
+"posix/America/Argentina/Rio_Gallegos" " " \
+"posix/America/Argentina/Salta" " " \
+"posix/America/Argentina/San_Juan" " " \
+"posix/America/Argentina/San_Luis" " " \
+"posix/America/Argentina/Tucuman" " " \
+"posix/America/Argentina/Ushuaia" " " \
+"posix/America/Aruba" " " \
+"posix/America/Asuncion" " " \
+"posix/America/Atikokan" " " \
+"posix/America/Atka" " " \
+"posix/America/Bahia" " " \
+"posix/America/Bahia_Banderas" " " \
+"posix/America/Barbados" " " \
+"posix/America/Belem" " " \
+"posix/America/Belize" " " \
+"posix/America/Blanc-Sablon" " " \
+"posix/America/Boa_Vista" " " \
+"posix/America/Bogota" " " \
+"posix/America/Boise" " " \
+"posix/America/Buenos_Aires" " " \
+"posix/America/Cambridge_Bay" " " \
+"posix/America/Campo_Grande" " " \
+"posix/America/Cancun" " " \
+"posix/America/Caracas" " " \
+"posix/America/Catamarca" " " \
+"posix/America/Cayenne" " " \
+"posix/America/Cayman" " " \
+"posix/America/Chicago" " " \
+"posix/America/Chihuahua" " " \
+"posix/America/Coral_Harbour" " " \
+"posix/America/Cordoba" " " \
+"posix/America/Costa_Rica" " " \
+"posix/America/Creston" " " \
+"posix/America/Cuiaba" " " \
+"posix/America/Curacao" " " \
+"posix/America/Danmarkshavn" " " \
+"posix/America/Dawson" " " \
+"posix/America/Dawson_Creek" " " \
+"posix/America/Denver" " " \
+"posix/America/Detroit" " " \
+"posix/America/Dominica" " " \
+"posix/America/Edmonton" " " \
+"posix/America/Eirunepe" " " \
+"posix/America/El_Salvador" " " \
+"posix/America/Ensenada" " " \
+"posix/America/Fort_Wayne" " " \
+"posix/America/Fortaleza" " " \
+"posix/America/Glace_Bay" " " \
+"posix/America/Godthab" " " \
+"posix/America/Goose_Bay" " " \
+"posix/America/Grand_Turk" " " \
+"posix/America/Grenada" " " \
+"posix/America/Guadeloupe" " " \
+"posix/America/Guatemala" " " \
+"posix/America/Guayaquil" " " \
+"posix/America/Guyana" " " \
+"posix/America/Halifax" " " \
+"posix/America/Havana" " " \
+"posix/America/Hermosillo" " " \
+"posix/America/Indiana/Indianapolis" " " \
+"posix/America/Indiana/Knox" " " \
+"posix/America/Indiana/Marengo" " " \
+"posix/America/Indiana/Petersburg" " " \
+"posix/America/Indiana/Tell_City" " " \
+"posix/America/Indiana/Vevay" " " \
+"posix/America/Indiana/Vincennes" " " \
+"posix/America/Indiana/Winamac" " " \
+"posix/America/Indianapolis" " " \
+"posix/America/Inuvik" " " \
+"posix/America/Iqaluit" " " \
+"posix/America/Jamaica" " " \
+"posix/America/Jujuy" " " \
+"posix/America/Juneau" " " \
+"posix/America/Kentucky/Louisville" " " \
+"posix/America/Kentucky/Monticello" " " \
+"posix/America/Knox_IN" " " \
+"posix/America/Kralendijk" " " \
+"posix/America/La_Paz" " " \
+"posix/America/Lima" " " \
+"posix/America/Los_Angeles" " " \
+"posix/America/Louisville" " " \
+"posix/America/Lower_Princes" " " \
+"posix/America/Maceio" " " \
+"posix/America/Managua" " " \
+"posix/America/Manaus" " " \
+"posix/America/Marigot" " " \
+"posix/America/Martinique" " " \
+"posix/America/Matamoros" " " \
+"posix/America/Mazatlan" " " \
+"posix/America/Mendoza" " " \
+"posix/America/Menominee" " " \
+"posix/America/Merida" " " \
+"posix/America/Metlakatla" " " \
+"posix/America/Mexico_City" " " \
+"posix/America/Miquelon" " " \
+"posix/America/Moncton" " " \
+"posix/America/Monterrey" " " \
+"posix/America/Montevideo" " " \
+"posix/America/Montreal" " " \
+"posix/America/Montserrat" " " \
+"posix/America/Nassau" " " \
+"posix/America/New_York" " " \
+"posix/America/Nipigon" " " \
+"posix/America/Nome" " " \
+"posix/America/Noronha" " " \
+"posix/America/North_Dakota/Beulah" " " \
+"posix/America/North_Dakota/Center" " " \
+"posix/America/North_Dakota/New_Salem" " " \
+"posix/America/Ojinaga" " " \
+"posix/America/Panama" " " \
+"posix/America/Pangnirtung" " " \
+"posix/America/Paramaribo" " " \
+"posix/America/Phoenix" " " \
+"posix/America/Port-au-Prince" " " \
+"posix/America/Port_of_Spain" " " \
+"posix/America/Porto_Acre" " " \
+"posix/America/Porto_Velho" " " \
+"posix/America/Puerto_Rico" " " \
+"posix/America/Rainy_River" " " \
+"posix/America/Rankin_Inlet" " " \
+"posix/America/Recife" " " \
+"posix/America/Regina" " " \
+"posix/America/Resolute" " " \
+"posix/America/Rio_Branco" " " \
+"posix/America/Rosario" " " \
+"posix/America/Santa_Isabel" " " \
+"posix/America/Santarem" " " \
+"posix/America/Santiago" " " \
+"posix/America/Santo_Domingo" " " \
+"posix/America/Sao_Paulo" " " \
+"posix/America/Scoresbysund" " " \
+"posix/America/Shiprock" " " \
+"posix/America/Sitka" " " \
+"posix/America/St_Barthelemy" " " \
+"posix/America/St_Johns" " " \
+"posix/America/St_Kitts" " " \
+"posix/America/St_Lucia" " " \
+"posix/America/St_Thomas" " " \
+"posix/America/St_Vincent" " " \
+"posix/America/Swift_Current" " " \
+"posix/America/Tegucigalpa" " " \
+"posix/America/Thule" " " \
+"posix/America/Thunder_Bay" " " \
+"posix/America/Tijuana" " " \
+"posix/America/Toronto" " " \
+"posix/America/Tortola" " " \
+"posix/America/Vancouver" " " \
+"posix/America/Virgin" " " \
+"posix/America/Whitehorse" " " \
+"posix/America/Winnipeg" " " \
+"posix/America/Yakutat" " " \
+"posix/America/Yellowknife" " " \
+"posix/Antarctica/Casey" " " \
+"posix/Antarctica/Davis" " " \
+"posix/Antarctica/DumontDUrville" " " \
+"posix/Antarctica/Macquarie" " " \
+"posix/Antarctica/Mawson" " " \
+"posix/Antarctica/McMurdo" " " \
+"posix/Antarctica/Palmer" " " \
+"posix/Antarctica/Rothera" " " \
+"posix/Antarctica/South_Pole" " " \
+"posix/Antarctica/Syowa" " " \
+"posix/Antarctica/Troll" " " \
+"posix/Antarctica/Vostok" " " \
+"posix/Arctic/Longyearbyen" " " \
+"posix/Asia/Aden" " " \
+"posix/Asia/Almaty" " " \
+"posix/Asia/Amman" " " \
+"posix/Asia/Anadyr" " " \
+"posix/Asia/Aqtau" " " \
+"posix/Asia/Aqtobe" " " \
+"posix/Asia/Ashgabat" " " \
+"posix/Asia/Ashkhabad" " " \
+"posix/Asia/Baghdad" " " \
+"posix/Asia/Bahrain" " " \
+"posix/Asia/Baku" " " \
+"posix/Asia/Bangkok" " " \
+"posix/Asia/Beirut" " " \
+"posix/Asia/Bishkek" " " \
+"posix/Asia/Brunei" " " \
+"posix/Asia/Calcutta" " " \
+"posix/Asia/Chita" " " \
+"posix/Asia/Choibalsan" " " \
+"posix/Asia/Chongqing" " " \
+"posix/Asia/Chungking" " " \
+"posix/Asia/Colombo" " " \
+"posix/Asia/Dacca" " " \
+"posix/Asia/Damascus" " " \
+"posix/Asia/Dhaka" " " \
+"posix/Asia/Dili" " " \
+"posix/Asia/Dubai" " " \
+"posix/Asia/Dushanbe" " " \
+"posix/Asia/Gaza" " " \
+"posix/Asia/Harbin" " " \
+"posix/Asia/Hebron" " " \
+"posix/Asia/Ho_Chi_Minh" " " \
+"posix/Asia/Hong_Kong" " " \
+"posix/Asia/Hovd" " " \
+"posix/Asia/Irkutsk" " " \
+"posix/Asia/Istanbul" " " \
+"posix/Asia/Jakarta" " " \
+"posix/Asia/Jayapura" " " \
+"posix/Asia/Jerusalem" " " \
+"posix/Asia/Kabul" " " \
+"posix/Asia/Kamchatka" " " \
+"posix/Asia/Karachi" " " \
+"posix/Asia/Kashgar" " " \
+"posix/Asia/Kathmandu" " " \
+"posix/Asia/Katmandu" " " \
+"posix/Asia/Khandyga" " " \
+"posix/Asia/Kolkata" " " \
+"posix/Asia/Krasnoyarsk" " " \
+"posix/Asia/Kuala_Lumpur" " " \
+"posix/Asia/Kuching" " " \
+"posix/Asia/Kuwait" " " \
+"posix/Asia/Macao" " " \
+"posix/Asia/Macau" " " \
+"posix/Asia/Magadan" " " \
+"posix/Asia/Makassar" " " \
+"posix/Asia/Manila" " " \
+"posix/Asia/Muscat" " " \
+"posix/Asia/Nicosia" " " \
+"posix/Asia/Novokuznetsk" " " \
+"posix/Asia/Novosibirsk" " " \
+"posix/Asia/Omsk" " " \
+"posix/Asia/Oral" " " \
+"posix/Asia/Phnom_Penh" " " \
+"posix/Asia/Pontianak" " " \
+"posix/Asia/Pyongyang" " " \
+"posix/Asia/Qatar" " " \
+"posix/Asia/Qyzylorda" " " \
+"posix/Asia/Rangoon" " " \
+"posix/Asia/Riyadh" " " \
+"posix/Asia/Saigon" " " \
+"posix/Asia/Sakhalin" " " \
+"posix/Asia/Samarkand" " " \
+"posix/Asia/Seoul" " " \
+"posix/Asia/Shanghai" " " \
+"posix/Asia/Singapore" " " \
+"posix/Asia/Srednekolymsk" " " \
+"posix/Asia/Taipei" " " \
+"posix/Asia/Tashkent" " " \
+"posix/Asia/Tbilisi" " " \
+"posix/Asia/Tehran" " " \
+"posix/Asia/Tel_Aviv" " " \
+"posix/Asia/Thimbu" " " \
+"posix/Asia/Thimphu" " " \
+"posix/Asia/Tokyo" " " \
+"posix/Asia/Ujung_Pandang" " " \
+"posix/Asia/Ulaanbaatar" " " \
+"posix/Asia/Ulan_Bator" " " \
+"posix/Asia/Urumqi" " " \
+"posix/Asia/Ust-Nera" " " \
+"posix/Asia/Vientiane" " " \
+"posix/Asia/Vladivostok" " " \
+"posix/Asia/Yakutsk" " " \
+"posix/Asia/Yekaterinburg" " " \
+"posix/Asia/Yerevan" " " \
+"posix/Atlantic/Azores" " " \
+"posix/Atlantic/Bermuda" " " \
+"posix/Atlantic/Canary" " " \
+"posix/Atlantic/Cape_Verde" " " \
+"posix/Atlantic/Faeroe" " " \
+"posix/Atlantic/Faroe" " " \
+"posix/Atlantic/Jan_Mayen" " " \
+"posix/Atlantic/Madeira" " " \
+"posix/Atlantic/Reykjavik" " " \
+"posix/Atlantic/South_Georgia" " " \
+"posix/Atlantic/St_Helena" " " \
+"posix/Atlantic/Stanley" " " \
+"posix/Australia/ACT" " " \
+"posix/Australia/Adelaide" " " \
+"posix/Australia/Brisbane" " " \
+"posix/Australia/Broken_Hill" " " \
+"posix/Australia/Canberra" " " \
+"posix/Australia/Currie" " " \
+"posix/Australia/Darwin" " " \
+"posix/Australia/Eucla" " " \
+"posix/Australia/Hobart" " " \
+"posix/Australia/LHI" " " \
+"posix/Australia/Lindeman" " " \
+"posix/Australia/Lord_Howe" " " \
+"posix/Australia/Melbourne" " " \
+"posix/Australia/NSW" " " \
+"posix/Australia/North" " " \
+"posix/Australia/Perth" " " \
+"posix/Australia/Queensland" " " \
+"posix/Australia/South" " " \
+"posix/Australia/Sydney" " " \
+"posix/Australia/Tasmania" " " \
+"posix/Australia/Victoria" " " \
+"posix/Australia/West" " " \
+"posix/Australia/Yancowinna" " " \
+"posix/Brazil/Acre" " " \
+"posix/Brazil/DeNoronha" " " \
+"posix/Brazil/East" " " \
+"posix/Brazil/West" " " \
+"posix/CET" " " \
+"posix/CST6CDT" " " \
+"posix/Canada/Atlantic" " " \
+"posix/Canada/Central" " " \
+"posix/Canada/East-Saskatchewan" " " \
+"posix/Canada/Eastern" " " \
+"posix/Canada/Mountain" " " \
+"posix/Canada/Newfoundland" " " \
+"posix/Canada/Pacific" " " \
+"posix/Canada/Saskatchewan" " " \
+"posix/Canada/Yukon" " " \
+"posix/Chile/Continental" " " \
+"posix/Chile/EasterIsland" " " \
+"posix/Cuba" " " \
+"posix/EET" " " \
+"posix/EST" " " \
+"posix/EST5EDT" " " \
+"posix/Egypt" " " \
+"posix/Eire" " " \
+"posix/Etc/GMT" " " \
+"posix/Etc/GMT+0" " " \
+"posix/Etc/GMT+1" " " \
+"posix/Etc/GMT+10" " " \
+"posix/Etc/GMT+11" " " \
+"posix/Etc/GMT+12" " " \
+"posix/Etc/GMT+2" " " \
+"posix/Etc/GMT+3" " " \
+"posix/Etc/GMT+4" " " \
+"posix/Etc/GMT+5" " " \
+"posix/Etc/GMT+6" " " \
+"posix/Etc/GMT+7" " " \
+"posix/Etc/GMT+8" " " \
+"posix/Etc/GMT+9" " " \
+"posix/Etc/GMT-0" " " \
+"posix/Etc/GMT-1" " " \
+"posix/Etc/GMT-10" " " \
+"posix/Etc/GMT-11" " " \
+"posix/Etc/GMT-12" " " \
+"posix/Etc/GMT-13" " " \
+"posix/Etc/GMT-14" " " \
+"posix/Etc/GMT-2" " " \
+"posix/Etc/GMT-3" " " \
+"posix/Etc/GMT-4" " " \
+"posix/Etc/GMT-5" " " \
+"posix/Etc/GMT-6" " " \
+"posix/Etc/GMT-7" " " \
+"posix/Etc/GMT-8" " " \
+"posix/Etc/GMT-9" " " \
+"posix/Etc/GMT0" " " \
+"posix/Etc/Greenwich" " " \
+"posix/Etc/UCT" " " \
+"posix/Etc/UTC" " " \
+"posix/Etc/Universal" " " \
+"posix/Etc/Zulu" " " \
+"posix/Europe/Amsterdam" " " \
+"posix/Europe/Andorra" " " \
+"posix/Europe/Athens" " " \
+"posix/Europe/Belfast" " " \
+"posix/Europe/Belgrade" " " \
+"posix/Europe/Berlin" " " \
+"posix/Europe/Bratislava" " " \
+"posix/Europe/Brussels" " " \
+"posix/Europe/Bucharest" " " \
+"posix/Europe/Budapest" " " \
+"posix/Europe/Busingen" " " \
+"posix/Europe/Chisinau" " " \
+"posix/Europe/Copenhagen" " " \
+"posix/Europe/Dublin" " " \
+"posix/Europe/Gibraltar" " " \
+"posix/Europe/Guernsey" " " \
+"posix/Europe/Helsinki" " " \
+"posix/Europe/Isle_of_Man" " " \
+"posix/Europe/Istanbul" " " \
+"posix/Europe/Jersey" " " \
+"posix/Europe/Kaliningrad" " " \
+"posix/Europe/Kiev" " " \
+"posix/Europe/Lisbon" " " \
+"posix/Europe/Ljubljana" " " \
+"posix/Europe/London" " " \
+"posix/Europe/Luxembourg" " " \
+"posix/Europe/Madrid" " " \
+"posix/Europe/Malta" " " \
+"posix/Europe/Mariehamn" " " \
+"posix/Europe/Minsk" " " \
+"posix/Europe/Monaco" " " \
+"posix/Europe/Moscow" " " \
+"posix/Europe/Nicosia" " " \
+"posix/Europe/Oslo" " " \
+"posix/Europe/Paris" " " \
+"posix/Europe/Podgorica" " " \
+"posix/Europe/Prague" " " \
+"posix/Europe/Riga" " " \
+"posix/Europe/Rome" " " \
+"posix/Europe/Samara" " " \
+"posix/Europe/San_Marino" " " \
+"posix/Europe/Sarajevo" " " \
+"posix/Europe/Simferopol" " " \
+"posix/Europe/Skopje" " " \
+"posix/Europe/Sofia" " " \
+"posix/Europe/Stockholm" " " \
+"posix/Europe/Tallinn" " " \
+"posix/Europe/Tirane" " " \
+"posix/Europe/Tiraspol" " " \
+"posix/Europe/Uzhgorod" " " \
+"posix/Europe/Vaduz" " " \
+"posix/Europe/Vatican" " " \
+"posix/Europe/Vienna" " " \
+"posix/Europe/Vilnius" " " \
+"posix/Europe/Volgograd" " " \
+"posix/Europe/Warsaw" " " \
+"posix/Europe/Zagreb" " " \
+"posix/Europe/Zaporozhye" " " \
+"posix/Europe/Zurich" " " \
+"posix/Factory" " " \
+"posix/GB" " " \
+"posix/GB-Eire" " " \
+"posix/GMT" " " \
+"posix/GMT+0" " " \
+"posix/GMT-0" " " \
+"posix/GMT0" " " \
+"posix/Greenwich" " " \
+"posix/HST" " " \
+"posix/Hongkong" " " \
+"posix/Iceland" " " \
+"posix/Indian/Antananarivo" " " \
+"posix/Indian/Chagos" " " \
+"posix/Indian/Christmas" " " \
+"posix/Indian/Cocos" " " \
+"posix/Indian/Comoro" " " \
+"posix/Indian/Kerguelen" " " \
+"posix/Indian/Mahe" " " \
+"posix/Indian/Maldives" " " \
+"posix/Indian/Mauritius" " " \
+"posix/Indian/Mayotte" " " \
+"posix/Indian/Reunion" " " \
+"posix/Iran" " " \
+"posix/Israel" " " \
+"posix/Jamaica" " " \
+"posix/Japan" " " \
+"posix/Kwajalein" " " \
+"posix/Libya" " " \
+"posix/MET" " " \
+"posix/MST" " " \
+"posix/MST7MDT" " " \
+"posix/Mexico/BajaNorte" " " \
+"posix/Mexico/BajaSur" " " \
+"posix/Mexico/General" " " \
+"posix/NZ" " " \
+"posix/NZ-CHAT" " " \
+"posix/Navajo" " " \
+"posix/PRC" " " \
+"posix/PST8PDT" " " \
+"posix/Pacific/Apia" " " \
+"posix/Pacific/Auckland" " " \
+"posix/Pacific/Bougainville" " " \
+"posix/Pacific/Chatham" " " \
+"posix/Pacific/Chuuk" " " \
+"posix/Pacific/Easter" " " \
+"posix/Pacific/Efate" " " \
+"posix/Pacific/Enderbury" " " \
+"posix/Pacific/Fakaofo" " " \
+"posix/Pacific/Fiji" " " \
+"posix/Pacific/Funafuti" " " \
+"posix/Pacific/Galapagos" " " \
+"posix/Pacific/Gambier" " " \
+"posix/Pacific/Guadalcanal" " " \
+"posix/Pacific/Guam" " " \
+"posix/Pacific/Honolulu" " " \
+"posix/Pacific/Johnston" " " \
+"posix/Pacific/Kiritimati" " " \
+"posix/Pacific/Kosrae" " " \
+"posix/Pacific/Kwajalein" " " \
+"posix/Pacific/Majuro" " " \
+"posix/Pacific/Marquesas" " " \
+"posix/Pacific/Midway" " " \
+"posix/Pacific/Nauru" " " \
+"posix/Pacific/Niue" " " \
+"posix/Pacific/Norfolk" " " \
+"posix/Pacific/Noumea" " " \
+"posix/Pacific/Pago_Pago" " " \
+"posix/Pacific/Palau" " " \
+"posix/Pacific/Pitcairn" " " \
+"posix/Pacific/Pohnpei" " " \
+"posix/Pacific/Ponape" " " \
+"posix/Pacific/Port_Moresby" " " \
+"posix/Pacific/Rarotonga" " " \
+"posix/Pacific/Saipan" " " \
+"posix/Pacific/Samoa" " " \
+"posix/Pacific/Tahiti" " " \
+"posix/Pacific/Tarawa" " " \
+"posix/Pacific/Tongatapu" " " \
+"posix/Pacific/Truk" " " \
+"posix/Pacific/Wake" " " \
+"posix/Pacific/Wallis" " " \
+"posix/Pacific/Yap" " " \
+"posix/Poland" " " \
+"posix/Portugal" " " \
+"posix/ROC" " " \
+"posix/ROK" " " \
+"posix/Singapore" " " \
+"posix/Turkey" " " \
+"posix/UCT" " " \
+"posix/US/Alaska" " " \
+"posix/US/Aleutian" " " \
+"posix/US/Arizona" " " \
+"posix/US/Central" " " \
+"posix/US/East-Indiana" " " \
+"posix/US/Eastern" " " \
+"posix/US/Hawaii" " " \
+"posix/US/Indiana-Starke" " " \
+"posix/US/Michigan" " " \
+"posix/US/Mountain" " " \
+"posix/US/Pacific" " " \
+"posix/US/Pacific-New" " " \
+"posix/US/Samoa" " " \
+"posix/UTC" " " \
+"posix/Universal" " " \
+"posix/W-SU" " " \
+"posix/WET" " " \
+"posix/Zulu" " " \
+"posix/localtime" " " \
+"posix/posixrules" " " \
+"posixrules" " " \
+"right/Africa/Abidjan" " " \
+"right/Africa/Accra" " " \
+"right/Africa/Addis_Ababa" " " \
+"right/Africa/Algiers" " " \
+"right/Africa/Asmara" " " \
+"right/Africa/Asmera" " " \
+"right/Africa/Bamako" " " \
+"right/Africa/Bangui" " " \
+"right/Africa/Banjul" " " \
+"right/Africa/Bissau" " " \
+"right/Africa/Blantyre" " " \
+"right/Africa/Brazzaville" " " \
+"right/Africa/Bujumbura" " " \
+"right/Africa/Cairo" " " \
+"right/Africa/Casablanca" " " \
+"right/Africa/Ceuta" " " \
+"right/Africa/Conakry" " " \
+"right/Africa/Dakar" " " \
+"right/Africa/Dar_es_Salaam" " " \
+"right/Africa/Djibouti" " " \
+"right/Africa/Douala" " " \
+"right/Africa/El_Aaiun" " " \
+"right/Africa/Freetown" " " \
+"right/Africa/Gaborone" " " \
+"right/Africa/Harare" " " \
+"right/Africa/Johannesburg" " " \
+"right/Africa/Juba" " " \
+"right/Africa/Kampala" " " \
+"right/Africa/Khartoum" " " \
+"right/Africa/Kigali" " " \
+"right/Africa/Kinshasa" " " \
+"right/Africa/Lagos" " " \
+"right/Africa/Libreville" " " \
+"right/Africa/Lome" " " \
+"right/Africa/Luanda" " " \
+"right/Africa/Lubumbashi" " " \
+"right/Africa/Lusaka" " " \
+"right/Africa/Malabo" " " \
+"right/Africa/Maputo" " " \
+"right/Africa/Maseru" " " \
+"right/Africa/Mbabane" " " \
+"right/Africa/Mogadishu" " " \
+"right/Africa/Monrovia" " " \
+"right/Africa/Nairobi" " " \
+"right/Africa/Ndjamena" " " \
+"right/Africa/Niamey" " " \
+"right/Africa/Nouakchott" " " \
+"right/Africa/Ouagadougou" " " \
+"right/Africa/Porto-Novo" " " \
+"right/Africa/Sao_Tome" " " \
+"right/Africa/Timbuktu" " " \
+"right/Africa/Tripoli" " " \
+"right/Africa/Tunis" " " \
+"right/Africa/Windhoek" " " \
+"right/America/Adak" " " \
+"right/America/Anchorage" " " \
+"right/America/Anguilla" " " \
+"right/America/Antigua" " " \
+"right/America/Araguaina" " " \
+"right/America/Argentina/Buenos_Aires" " " \
+"right/America/Argentina/Catamarca" " " \
+"right/America/Argentina/ComodRivadavia" " " \
+"right/America/Argentina/Cordoba" " " \
+"right/America/Argentina/Jujuy" " " \
+"right/America/Argentina/La_Rioja" " " \
+"right/America/Argentina/Mendoza" " " \
+"right/America/Argentina/Rio_Gallegos" " " \
+"right/America/Argentina/Salta" " " \
+"right/America/Argentina/San_Juan" " " \
+"right/America/Argentina/San_Luis" " " \
+"right/America/Argentina/Tucuman" " " \
+"right/America/Argentina/Ushuaia" " " \
+"right/America/Aruba" " " \
+"right/America/Asuncion" " " \
+"right/America/Atikokan" " " \
+"right/America/Atka" " " \
+"right/America/Bahia" " " \
+"right/America/Bahia_Banderas" " " \
+"right/America/Barbados" " " \
+"right/America/Belem" " " \
+"right/America/Belize" " " \
+"right/America/Blanc-Sablon" " " \
+"right/America/Boa_Vista" " " \
+"right/America/Bogota" " " \
+"right/America/Boise" " " \
+"right/America/Buenos_Aires" " " \
+"right/America/Cambridge_Bay" " " \
+"right/America/Campo_Grande" " " \
+"right/America/Cancun" " " \
+"right/America/Caracas" " " \
+"right/America/Catamarca" " " \
+"right/America/Cayenne" " " \
+"right/America/Cayman" " " \
+"right/America/Chicago" " " \
+"right/America/Chihuahua" " " \
+"right/America/Coral_Harbour" " " \
+"right/America/Cordoba" " " \
+"right/America/Costa_Rica" " " \
+"right/America/Creston" " " \
+"right/America/Cuiaba" " " \
+"right/America/Curacao" " " \
+"right/America/Danmarkshavn" " " \
+"right/America/Dawson" " " \
+"right/America/Dawson_Creek" " " \
+"right/America/Denver" " " \
+"right/America/Detroit" " " \
+"right/America/Dominica" " " \
+"right/America/Edmonton" " " \
+"right/America/Eirunepe" " " \
+"right/America/El_Salvador" " " \
+"right/America/Ensenada" " " \
+"right/America/Fort_Wayne" " " \
+"right/America/Fortaleza" " " \
+"right/America/Glace_Bay" " " \
+"right/America/Godthab" " " \
+"right/America/Goose_Bay" " " \
+"right/America/Grand_Turk" " " \
+"right/America/Grenada" " " \
+"right/America/Guadeloupe" " " \
+"right/America/Guatemala" " " \
+"right/America/Guayaquil" " " \
+"right/America/Guyana" " " \
+"right/America/Halifax" " " \
+"right/America/Havana" " " \
+"right/America/Hermosillo" " " \
+"right/America/Indiana/Indianapolis" " " \
+"right/America/Indiana/Knox" " " \
+"right/America/Indiana/Marengo" " " \
+"right/America/Indiana/Petersburg" " " \
+"right/America/Indiana/Tell_City" " " \
+"right/America/Indiana/Vevay" " " \
+"right/America/Indiana/Vincennes" " " \
+"right/America/Indiana/Winamac" " " \
+"right/America/Indianapolis" " " \
+"right/America/Inuvik" " " \
+"right/America/Iqaluit" " " \
+"right/America/Jamaica" " " \
+"right/America/Jujuy" " " \
+"right/America/Juneau" " " \
+"right/America/Kentucky/Louisville" " " \
+"right/America/Kentucky/Monticello" " " \
+"right/America/Knox_IN" " " \
+"right/America/Kralendijk" " " \
+"right/America/La_Paz" " " \
+"right/America/Lima" " " \
+"right/America/Los_Angeles" " " \
+"right/America/Louisville" " " \
+"right/America/Lower_Princes" " " \
+"right/America/Maceio" " " \
+"right/America/Managua" " " \
+"right/America/Manaus" " " \
+"right/America/Marigot" " " \
+"right/America/Martinique" " " \
+"right/America/Matamoros" " " \
+"right/America/Mazatlan" " " \
+"right/America/Mendoza" " " \
+"right/America/Menominee" " " \
+"right/America/Merida" " " \
+"right/America/Metlakatla" " " \
+"right/America/Mexico_City" " " \
+"right/America/Miquelon" " " \
+"right/America/Moncton" " " \
+"right/America/Monterrey" " " \
+"right/America/Montevideo" " " \
+"right/America/Montreal" " " \
+"right/America/Montserrat" " " \
+"right/America/Nassau" " " \
+"right/America/New_York" " " \
+"right/America/Nipigon" " " \
+"right/America/Nome" " " \
+"right/America/Noronha" " " \
+"right/America/North_Dakota/Beulah" " " \
+"right/America/North_Dakota/Center" " " \
+"right/America/North_Dakota/New_Salem" " " \
+"right/America/Ojinaga" " " \
+"right/America/Panama" " " \
+"right/America/Pangnirtung" " " \
+"right/America/Paramaribo" " " \
+"right/America/Phoenix" " " \
+"right/America/Port-au-Prince" " " \
+"right/America/Port_of_Spain" " " \
+"right/America/Porto_Acre" " " \
+"right/America/Porto_Velho" " " \
+"right/America/Puerto_Rico" " " \
+"right/America/Rainy_River" " " \
+"right/America/Rankin_Inlet" " " \
+"right/America/Recife" " " \
+"right/America/Regina" " " \
+"right/America/Resolute" " " \
+"right/America/Rio_Branco" " " \
+"right/America/Rosario" " " \
+"right/America/Santa_Isabel" " " \
+"right/America/Santarem" " " \
+"right/America/Santiago" " " \
+"right/America/Santo_Domingo" " " \
+"right/America/Sao_Paulo" " " \
+"right/America/Scoresbysund" " " \
+"right/America/Shiprock" " " \
+"right/America/Sitka" " " \
+"right/America/St_Barthelemy" " " \
+"right/America/St_Johns" " " \
+"right/America/St_Kitts" " " \
+"right/America/St_Lucia" " " \
+"right/America/St_Thomas" " " \
+"right/America/St_Vincent" " " \
+"right/America/Swift_Current" " " \
+"right/America/Tegucigalpa" " " \
+"right/America/Thule" " " \
+"right/America/Thunder_Bay" " " \
+"right/America/Tijuana" " " \
+"right/America/Toronto" " " \
+"right/America/Tortola" " " \
+"right/America/Vancouver" " " \
+"right/America/Virgin" " " \
+"right/America/Whitehorse" " " \
+"right/America/Winnipeg" " " \
+"right/America/Yakutat" " " \
+"right/America/Yellowknife" " " \
+"right/Antarctica/Casey" " " \
+"right/Antarctica/Davis" " " \
+"right/Antarctica/DumontDUrville" " " \
+"right/Antarctica/Macquarie" " " \
+"right/Antarctica/Mawson" " " \
+"right/Antarctica/McMurdo" " " \
+"right/Antarctica/Palmer" " " \
+"right/Antarctica/Rothera" " " \
+"right/Antarctica/South_Pole" " " \
+"right/Antarctica/Syowa" " " \
+"right/Antarctica/Troll" " " \
+"right/Antarctica/Vostok" " " \
+"right/Arctic/Longyearbyen" " " \
+"right/Asia/Aden" " " \
+"right/Asia/Almaty" " " \
+"right/Asia/Amman" " " \
+"right/Asia/Anadyr" " " \
+"right/Asia/Aqtau" " " \
+"right/Asia/Aqtobe" " " \
+"right/Asia/Ashgabat" " " \
+"right/Asia/Ashkhabad" " " \
+"right/Asia/Baghdad" " " \
+"right/Asia/Bahrain" " " \
+"right/Asia/Baku" " " \
+"right/Asia/Bangkok" " " \
+"right/Asia/Beirut" " " \
+"right/Asia/Bishkek" " " \
+"right/Asia/Brunei" " " \
+"right/Asia/Calcutta" " " \
+"right/Asia/Chita" " " \
+"right/Asia/Choibalsan" " " \
+"right/Asia/Chongqing" " " \
+"right/Asia/Chungking" " " \
+"right/Asia/Colombo" " " \
+"right/Asia/Dacca" " " \
+"right/Asia/Damascus" " " \
+"right/Asia/Dhaka" " " \
+"right/Asia/Dili" " " \
+"right/Asia/Dubai" " " \
+"right/Asia/Dushanbe" " " \
+"right/Asia/Gaza" " " \
+"right/Asia/Harbin" " " \
+"right/Asia/Hebron" " " \
+"right/Asia/Ho_Chi_Minh" " " \
+"right/Asia/Hong_Kong" " " \
+"right/Asia/Hovd" " " \
+"right/Asia/Irkutsk" " " \
+"right/Asia/Istanbul" " " \
+"right/Asia/Jakarta" " " \
+"right/Asia/Jayapura" " " \
+"right/Asia/Jerusalem" " " \
+"right/Asia/Kabul" " " \
+"right/Asia/Kamchatka" " " \
+"right/Asia/Karachi" " " \
+"right/Asia/Kashgar" " " \
+"right/Asia/Kathmandu" " " \
+"right/Asia/Katmandu" " " \
+"right/Asia/Khandyga" " " \
+"right/Asia/Kolkata" " " \
+"right/Asia/Krasnoyarsk" " " \
+"right/Asia/Kuala_Lumpur" " " \
+"right/Asia/Kuching" " " \
+"right/Asia/Kuwait" " " \
+"right/Asia/Macao" " " \
+"right/Asia/Macau" " " \
+"right/Asia/Magadan" " " \
+"right/Asia/Makassar" " " \
+"right/Asia/Manila" " " \
+"right/Asia/Muscat" " " \
+"right/Asia/Nicosia" " " \
+"right/Asia/Novokuznetsk" " " \
+"right/Asia/Novosibirsk" " " \
+"right/Asia/Omsk" " " \
+"right/Asia/Oral" " " \
+"right/Asia/Phnom_Penh" " " \
+"right/Asia/Pontianak" " " \
+"right/Asia/Pyongyang" " " \
+"right/Asia/Qatar" " " \
+"right/Asia/Qyzylorda" " " \
+"right/Asia/Rangoon" " " \
+"right/Asia/Riyadh" " " \
+"right/Asia/Saigon" " " \
+"right/Asia/Sakhalin" " " \
+"right/Asia/Samarkand" " " \
+"right/Asia/Seoul" " " \
+"right/Asia/Shanghai" " " \
+"right/Asia/Singapore" " " \
+"right/Asia/Srednekolymsk" " " \
+"right/Asia/Taipei" " " \
+"right/Asia/Tashkent" " " \
+"right/Asia/Tbilisi" " " \
+"right/Asia/Tehran" " " \
+"right/Asia/Tel_Aviv" " " \
+"right/Asia/Thimbu" " " \
+"right/Asia/Thimphu" " " \
+"right/Asia/Tokyo" " " \
+"right/Asia/Ujung_Pandang" " " \
+"right/Asia/Ulaanbaatar" " " \
+"right/Asia/Ulan_Bator" " " \
+"right/Asia/Urumqi" " " \
+"right/Asia/Ust-Nera" " " \
+"right/Asia/Vientiane" " " \
+"right/Asia/Vladivostok" " " \
+"right/Asia/Yakutsk" " " \
+"right/Asia/Yekaterinburg" " " \
+"right/Asia/Yerevan" " " \
+"right/Atlantic/Azores" " " \
+"right/Atlantic/Bermuda" " " \
+"right/Atlantic/Canary" " " \
+"right/Atlantic/Cape_Verde" " " \
+"right/Atlantic/Faeroe" " " \
+"right/Atlantic/Faroe" " " \
+"right/Atlantic/Jan_Mayen" " " \
+"right/Atlantic/Madeira" " " \
+"right/Atlantic/Reykjavik" " " \
+"right/Atlantic/South_Georgia" " " \
+"right/Atlantic/St_Helena" " " \
+"right/Atlantic/Stanley" " " \
+"right/Australia/ACT" " " \
+"right/Australia/Adelaide" " " \
+"right/Australia/Brisbane" " " \
+"right/Australia/Broken_Hill" " " \
+"right/Australia/Canberra" " " \
+"right/Australia/Currie" " " \
+"right/Australia/Darwin" " " \
+"right/Australia/Eucla" " " \
+"right/Australia/Hobart" " " \
+"right/Australia/LHI" " " \
+"right/Australia/Lindeman" " " \
+"right/Australia/Lord_Howe" " " \
+"right/Australia/Melbourne" " " \
+"right/Australia/NSW" " " \
+"right/Australia/North" " " \
+"right/Australia/Perth" " " \
+"right/Australia/Queensland" " " \
+"right/Australia/South" " " \
+"right/Australia/Sydney" " " \
+"right/Australia/Tasmania" " " \
+"right/Australia/Victoria" " " \
+"right/Australia/West" " " \
+"right/Australia/Yancowinna" " " \
+"right/Brazil/Acre" " " \
+"right/Brazil/DeNoronha" " " \
+"right/Brazil/East" " " \
+"right/Brazil/West" " " \
+"right/CET" " " \
+"right/CST6CDT" " " \
+"right/Canada/Atlantic" " " \
+"right/Canada/Central" " " \
+"right/Canada/East-Saskatchewan" " " \
+"right/Canada/Eastern" " " \
+"right/Canada/Mountain" " " \
+"right/Canada/Newfoundland" " " \
+"right/Canada/Pacific" " " \
+"right/Canada/Saskatchewan" " " \
+"right/Canada/Yukon" " " \
+"right/Chile/Continental" " " \
+"right/Chile/EasterIsland" " " \
+"right/Cuba" " " \
+"right/EET" " " \
+"right/EST" " " \
+"right/EST5EDT" " " \
+"right/Egypt" " " \
+"right/Eire" " " \
+"right/Etc/GMT" " " \
+"right/Etc/GMT+0" " " \
+"right/Etc/GMT+1" " " \
+"right/Etc/GMT+10" " " \
+"right/Etc/GMT+11" " " \
+"right/Etc/GMT+12" " " \
+"right/Etc/GMT+2" " " \
+"right/Etc/GMT+3" " " \
+"right/Etc/GMT+4" " " \
+"right/Etc/GMT+5" " " \
+"right/Etc/GMT+6" " " \
+"right/Etc/GMT+7" " " \
+"right/Etc/GMT+8" " " \
+"right/Etc/GMT+9" " " \
+"right/Etc/GMT-0" " " \
+"right/Etc/GMT-1" " " \
+"right/Etc/GMT-10" " " \
+"right/Etc/GMT-11" " " \
+"right/Etc/GMT-12" " " \
+"right/Etc/GMT-13" " " \
+"right/Etc/GMT-14" " " \
+"right/Etc/GMT-2" " " \
+"right/Etc/GMT-3" " " \
+"right/Etc/GMT-4" " " \
+"right/Etc/GMT-5" " " \
+"right/Etc/GMT-6" " " \
+"right/Etc/GMT-7" " " \
+"right/Etc/GMT-8" " " \
+"right/Etc/GMT-9" " " \
+"right/Etc/GMT0" " " \
+"right/Etc/Greenwich" " " \
+"right/Etc/UCT" " " \
+"right/Etc/UTC" " " \
+"right/Etc/Universal" " " \
+"right/Etc/Zulu" " " \
+"right/Europe/Amsterdam" " " \
+"right/Europe/Andorra" " " \
+"right/Europe/Athens" " " \
+"right/Europe/Belfast" " " \
+"right/Europe/Belgrade" " " \
+"right/Europe/Berlin" " " \
+"right/Europe/Bratislava" " " \
+"right/Europe/Brussels" " " \
+"right/Europe/Bucharest" " " \
+"right/Europe/Budapest" " " \
+"right/Europe/Busingen" " " \
+"right/Europe/Chisinau" " " \
+"right/Europe/Copenhagen" " " \
+"right/Europe/Dublin" " " \
+"right/Europe/Gibraltar" " " \
+"right/Europe/Guernsey" " " \
+"right/Europe/Helsinki" " " \
+"right/Europe/Isle_of_Man" " " \
+"right/Europe/Istanbul" " " \
+"right/Europe/Jersey" " " \
+"right/Europe/Kaliningrad" " " \
+"right/Europe/Kiev" " " \
+"right/Europe/Lisbon" " " \
+"right/Europe/Ljubljana" " " \
+"right/Europe/London" " " \
+"right/Europe/Luxembourg" " " \
+"right/Europe/Madrid" " " \
+"right/Europe/Malta" " " \
+"right/Europe/Mariehamn" " " \
+"right/Europe/Minsk" " " \
+"right/Europe/Monaco" " " \
+"right/Europe/Moscow" " " \
+"right/Europe/Nicosia" " " \
+"right/Europe/Oslo" " " \
+"right/Europe/Paris" " " \
+"right/Europe/Podgorica" " " \
+"right/Europe/Prague" " " \
+"right/Europe/Riga" " " \
+"right/Europe/Rome" " " \
+"right/Europe/Samara" " " \
+"right/Europe/San_Marino" " " \
+"right/Europe/Sarajevo" " " \
+"right/Europe/Simferopol" " " \
+"right/Europe/Skopje" " " \
+"right/Europe/Sofia" " " \
+"right/Europe/Stockholm" " " \
+"right/Europe/Tallinn" " " \
+"right/Europe/Tirane" " " \
+"right/Europe/Tiraspol" " " \
+"right/Europe/Uzhgorod" " " \
+"right/Europe/Vaduz" " " \
+"right/Europe/Vatican" " " \
+"right/Europe/Vienna" " " \
+"right/Europe/Vilnius" " " \
+"right/Europe/Volgograd" " " \
+"right/Europe/Warsaw" " " \
+"right/Europe/Zagreb" " " \
+"right/Europe/Zaporozhye" " " \
+"right/Europe/Zurich" " " \
+"right/Factory" " " \
+"right/GB" " " \
+"right/GB-Eire" " " \
+"right/GMT" " " \
+"right/GMT+0" " " \
+"right/GMT-0" " " \
+"right/GMT0" " " \
+"right/Greenwich" " " \
+"right/HST" " " \
+"right/Hongkong" " " \
+"right/Iceland" " " \
+"right/Indian/Antananarivo" " " \
+"right/Indian/Chagos" " " \
+"right/Indian/Christmas" " " \
+"right/Indian/Cocos" " " \
+"right/Indian/Comoro" " " \
+"right/Indian/Kerguelen" " " \
+"right/Indian/Mahe" " " \
+"right/Indian/Maldives" " " \
+"right/Indian/Mauritius" " " \
+"right/Indian/Mayotte" " " \
+"right/Indian/Reunion" " " \
+"right/Iran" " " \
+"right/Israel" " " \
+"right/Jamaica" " " \
+"right/Japan" " " \
+"right/Kwajalein" " " \
+"right/Libya" " " \
+"right/MET" " " \
+"right/MST" " " \
+"right/MST7MDT" " " \
+"right/Mexico/BajaNorte" " " \
+"right/Mexico/BajaSur" " " \
+"right/Mexico/General" " " \
+"right/NZ" " " \
+"right/NZ-CHAT" " " \
+"right/Navajo" " " \
+"right/PRC" " " \
+"right/PST8PDT" " " \
+"right/Pacific/Apia" " " \
+"right/Pacific/Auckland" " " \
+"right/Pacific/Bougainville" " " \
+"right/Pacific/Chatham" " " \
+"right/Pacific/Chuuk" " " \
+"right/Pacific/Easter" " " \
+"right/Pacific/Efate" " " \
+"right/Pacific/Enderbury" " " \
+"right/Pacific/Fakaofo" " " \
+"right/Pacific/Fiji" " " \
+"right/Pacific/Funafuti" " " \
+"right/Pacific/Galapagos" " " \
+"right/Pacific/Gambier" " " \
+"right/Pacific/Guadalcanal" " " \
+"right/Pacific/Guam" " " \
+"right/Pacific/Honolulu" " " \
+"right/Pacific/Johnston" " " \
+"right/Pacific/Kiritimati" " " \
+"right/Pacific/Kosrae" " " \
+"right/Pacific/Kwajalein" " " \
+"right/Pacific/Majuro" " " \
+"right/Pacific/Marquesas" " " \
+"right/Pacific/Midway" " " \
+"right/Pacific/Nauru" " " \
+"right/Pacific/Niue" " " \
+"right/Pacific/Norfolk" " " \
+"right/Pacific/Noumea" " " \
+"right/Pacific/Pago_Pago" " " \
+"right/Pacific/Palau" " " \
+"right/Pacific/Pitcairn" " " \
+"right/Pacific/Pohnpei" " " \
+"right/Pacific/Ponape" " " \
+"right/Pacific/Port_Moresby" " " \
+"right/Pacific/Rarotonga" " " \
+"right/Pacific/Saipan" " " \
+"right/Pacific/Samoa" " " \
+"right/Pacific/Tahiti" " " \
+"right/Pacific/Tarawa" " " \
+"right/Pacific/Tongatapu" " " \
+"right/Pacific/Truk" " " \
+"right/Pacific/Wake" " " \
+"right/Pacific/Wallis" " " \
+"right/Pacific/Yap" " " \
+"right/Poland" " " \
+"right/Portugal" " " \
+"right/ROC" " " \
+"right/ROK" " " \
+"right/Singapore" " " \
+"right/Turkey" " " \
+"right/UCT" " " \
+"right/US/Alaska" " " \
+"right/US/Aleutian" " " \
+"right/US/Arizona" " " \
+"right/US/Central" " " \
+"right/US/East-Indiana" " " \
+"right/US/Eastern" " " \
+"right/US/Hawaii" " " \
+"right/US/Indiana-Starke" " " \
+"right/US/Michigan" " " \
+"right/US/Mountain" " " \
+"right/US/Pacific" " " \
+"right/US/Pacific-New" " " \
+"right/US/Samoa" " " \
+"right/UTC" " " \
+"right/Universal" " " \
+"right/W-SU" " " \
+"right/WET" " " \
+"right/Zulu" " " \
+ 2> $TMP/tz
+
+ if [ $? = 1 -o $? = 255 ]; then
+ rm -f $TMP/tz
+ exit
+ fi
+
+ TIMEZONE="`cat $TMP/tz`"
+ rm -f $TMP/tz
+
+ setzone $TIMEZONE
+ exit
+else
+ ###
+ ### use text prompts
+ ###
+ while [ 0 ]; do
+ echo -n "Would you like to configure your timezone ([y]es, [n]o)? "
+ read TIMECONF;
+ echo
+
+ if [ "$TIMECONF" = "n" ]; then
+ break
+ fi
+
+ cat << EOF
+Select one of these timezones:
+
+US/Alaska
+US/Aleutian
+US/Arizona
+US/Central
+US/East-Indiana
+US/Eastern
+US/Hawaii
+US/Indiana-Starke
+US/Michigan
+US/Mountain
+US/Pacific
+US/Pacific-New
+US/Samoa
+Africa/Abidjan
+Africa/Accra
+Africa/Addis_Ababa
+Africa/Algiers
+Africa/Asmara
+Africa/Asmera
+Africa/Bamako
+Africa/Bangui
+Africa/Banjul
+Africa/Bissau
+Africa/Blantyre
+Africa/Brazzaville
+Africa/Bujumbura
+Africa/Cairo
+Africa/Casablanca
+Africa/Ceuta
+Africa/Conakry
+Africa/Dakar
+Africa/Dar_es_Salaam
+Africa/Djibouti
+Africa/Douala
+Africa/El_Aaiun
+Africa/Freetown
+Africa/Gaborone
+Africa/Harare
+Africa/Johannesburg
+Africa/Juba
+Africa/Kampala
+Africa/Khartoum
+Africa/Kigali
+Africa/Kinshasa
+Africa/Lagos
+Africa/Libreville
+Africa/Lome
+Africa/Luanda
+Africa/Lubumbashi
+Africa/Lusaka
+Africa/Malabo
+Africa/Maputo
+Africa/Maseru
+Africa/Mbabane
+Africa/Mogadishu
+Africa/Monrovia
+Africa/Nairobi
+Africa/Ndjamena
+Africa/Niamey
+Africa/Nouakchott
+Africa/Ouagadougou
+Africa/Porto-Novo
+Africa/Sao_Tome
+Africa/Timbuktu
+Africa/Tripoli
+Africa/Tunis
+Africa/Windhoek
+America/Adak
+America/Anchorage
+America/Anguilla
+America/Antigua
+America/Araguaina
+America/Argentina/Buenos_Aires
+America/Argentina/Catamarca
+America/Argentina/ComodRivadavia
+America/Argentina/Cordoba
+America/Argentina/Jujuy
+America/Argentina/La_Rioja
+America/Argentina/Mendoza
+America/Argentina/Rio_Gallegos
+America/Argentina/Salta
+America/Argentina/San_Juan
+America/Argentina/San_Luis
+America/Argentina/Tucuman
+America/Argentina/Ushuaia
+America/Aruba
+America/Asuncion
+America/Atikokan
+America/Atka
+America/Bahia
+America/Bahia_Banderas
+America/Barbados
+America/Belem
+America/Belize
+America/Blanc-Sablon
+America/Boa_Vista
+America/Bogota
+America/Boise
+America/Buenos_Aires
+America/Cambridge_Bay
+America/Campo_Grande
+America/Cancun
+America/Caracas
+America/Catamarca
+America/Cayenne
+America/Cayman
+America/Chicago
+America/Chihuahua
+America/Coral_Harbour
+America/Cordoba
+America/Costa_Rica
+America/Creston
+America/Cuiaba
+America/Curacao
+America/Danmarkshavn
+America/Dawson
+America/Dawson_Creek
+America/Denver
+America/Detroit
+America/Dominica
+America/Edmonton
+America/Eirunepe
+America/El_Salvador
+America/Ensenada
+America/Fort_Wayne
+America/Fortaleza
+America/Glace_Bay
+America/Godthab
+America/Goose_Bay
+America/Grand_Turk
+America/Grenada
+America/Guadeloupe
+America/Guatemala
+America/Guayaquil
+America/Guyana
+America/Halifax
+America/Havana
+America/Hermosillo
+America/Indiana/Indianapolis
+America/Indiana/Knox
+America/Indiana/Marengo
+America/Indiana/Petersburg
+America/Indiana/Tell_City
+America/Indiana/Vevay
+America/Indiana/Vincennes
+America/Indiana/Winamac
+America/Indianapolis
+America/Inuvik
+America/Iqaluit
+America/Jamaica
+America/Jujuy
+America/Juneau
+America/Kentucky/Louisville
+America/Kentucky/Monticello
+America/Knox_IN
+America/Kralendijk
+America/La_Paz
+America/Lima
+America/Los_Angeles
+America/Louisville
+America/Lower_Princes
+America/Maceio
+America/Managua
+America/Manaus
+America/Marigot
+America/Martinique
+America/Matamoros
+America/Mazatlan
+America/Mendoza
+America/Menominee
+America/Merida
+America/Metlakatla
+America/Mexico_City
+America/Miquelon
+America/Moncton
+America/Monterrey
+America/Montevideo
+America/Montreal
+America/Montserrat
+America/Nassau
+America/New_York
+America/Nipigon
+America/Nome
+America/Noronha
+America/North_Dakota/Beulah
+America/North_Dakota/Center
+America/North_Dakota/New_Salem
+America/Ojinaga
+America/Panama
+America/Pangnirtung
+America/Paramaribo
+America/Phoenix
+America/Port-au-Prince
+America/Port_of_Spain
+America/Porto_Acre
+America/Porto_Velho
+America/Puerto_Rico
+America/Rainy_River
+America/Rankin_Inlet
+America/Recife
+America/Regina
+America/Resolute
+America/Rio_Branco
+America/Rosario
+America/Santa_Isabel
+America/Santarem
+America/Santiago
+America/Santo_Domingo
+America/Sao_Paulo
+America/Scoresbysund
+America/Shiprock
+America/Sitka
+America/St_Barthelemy
+America/St_Johns
+America/St_Kitts
+America/St_Lucia
+America/St_Thomas
+America/St_Vincent
+America/Swift_Current
+America/Tegucigalpa
+America/Thule
+America/Thunder_Bay
+America/Tijuana
+America/Toronto
+America/Tortola
+America/Vancouver
+America/Virgin
+America/Whitehorse
+America/Winnipeg
+America/Yakutat
+America/Yellowknife
+Antarctica/Casey
+Antarctica/Davis
+Antarctica/DumontDUrville
+Antarctica/Macquarie
+Antarctica/Mawson
+Antarctica/McMurdo
+Antarctica/Palmer
+Antarctica/Rothera
+Antarctica/South_Pole
+Antarctica/Syowa
+Antarctica/Troll
+Antarctica/Vostok
+Arctic/Longyearbyen
+Asia/Aden
+Asia/Almaty
+Asia/Amman
+Asia/Anadyr
+Asia/Aqtau
+Asia/Aqtobe
+Asia/Ashgabat
+Asia/Ashkhabad
+Asia/Baghdad
+Asia/Bahrain
+Asia/Baku
+Asia/Bangkok
+Asia/Beirut
+Asia/Bishkek
+Asia/Brunei
+Asia/Calcutta
+Asia/Chita
+Asia/Choibalsan
+Asia/Chongqing
+Asia/Chungking
+Asia/Colombo
+Asia/Dacca
+Asia/Damascus
+Asia/Dhaka
+Asia/Dili
+Asia/Dubai
+Asia/Dushanbe
+Asia/Gaza
+Asia/Harbin
+Asia/Hebron
+Asia/Ho_Chi_Minh
+Asia/Hong_Kong
+Asia/Hovd
+Asia/Irkutsk
+Asia/Istanbul
+Asia/Jakarta
+Asia/Jayapura
+Asia/Jerusalem
+Asia/Kabul
+Asia/Kamchatka
+Asia/Karachi
+Asia/Kashgar
+Asia/Kathmandu
+Asia/Katmandu
+Asia/Khandyga
+Asia/Kolkata
+Asia/Krasnoyarsk
+Asia/Kuala_Lumpur
+Asia/Kuching
+Asia/Kuwait
+Asia/Macao
+Asia/Macau
+Asia/Magadan
+Asia/Makassar
+Asia/Manila
+Asia/Muscat
+Asia/Nicosia
+Asia/Novokuznetsk
+Asia/Novosibirsk
+Asia/Omsk
+Asia/Oral
+Asia/Phnom_Penh
+Asia/Pontianak
+Asia/Pyongyang
+Asia/Qatar
+Asia/Qyzylorda
+Asia/Rangoon
+Asia/Riyadh
+Asia/Saigon
+Asia/Sakhalin
+Asia/Samarkand
+Asia/Seoul
+Asia/Shanghai
+Asia/Singapore
+Asia/Srednekolymsk
+Asia/Taipei
+Asia/Tashkent
+Asia/Tbilisi
+Asia/Tehran
+Asia/Tel_Aviv
+Asia/Thimbu
+Asia/Thimphu
+Asia/Tokyo
+Asia/Ujung_Pandang
+Asia/Ulaanbaatar
+Asia/Ulan_Bator
+Asia/Urumqi
+Asia/Ust-Nera
+Asia/Vientiane
+Asia/Vladivostok
+Asia/Yakutsk
+Asia/Yekaterinburg
+Asia/Yerevan
+Atlantic/Azores
+Atlantic/Bermuda
+Atlantic/Canary
+Atlantic/Cape_Verde
+Atlantic/Faeroe
+Atlantic/Faroe
+Atlantic/Jan_Mayen
+Atlantic/Madeira
+Atlantic/Reykjavik
+Atlantic/South_Georgia
+Atlantic/St_Helena
+Atlantic/Stanley
+Australia/ACT
+Australia/Adelaide
+Australia/Brisbane
+Australia/Broken_Hill
+Australia/Canberra
+Australia/Currie
+Australia/Darwin
+Australia/Eucla
+Australia/Hobart
+Australia/LHI
+Australia/Lindeman
+Australia/Lord_Howe
+Australia/Melbourne
+Australia/NSW
+Australia/North
+Australia/Perth
+Australia/Queensland
+Australia/South
+Australia/Sydney
+Australia/Tasmania
+Australia/Victoria
+Australia/West
+Australia/Yancowinna
+Brazil/Acre
+Brazil/DeNoronha
+Brazil/East
+Brazil/West
+CET
+CST6CDT
+Canada/Atlantic
+Canada/Central
+Canada/East-Saskatchewan
+Canada/Eastern
+Canada/Mountain
+Canada/Newfoundland
+Canada/Pacific
+Canada/Saskatchewan
+Canada/Yukon
+Chile/Continental
+Chile/EasterIsland
+Cuba
+EET
+EST
+EST5EDT
+Egypt
+Eire
+Etc/GMT
+Etc/GMT+0
+Etc/GMT+1
+Etc/GMT+10
+Etc/GMT+11
+Etc/GMT+12
+Etc/GMT+2
+Etc/GMT+3
+Etc/GMT+4
+Etc/GMT+5
+Etc/GMT+6
+Etc/GMT+7
+Etc/GMT+8
+Etc/GMT+9
+Etc/GMT-0
+Etc/GMT-1
+Etc/GMT-10
+Etc/GMT-11
+Etc/GMT-12
+Etc/GMT-13
+Etc/GMT-14
+Etc/GMT-2
+Etc/GMT-3
+Etc/GMT-4
+Etc/GMT-5
+Etc/GMT-6
+Etc/GMT-7
+Etc/GMT-8
+Etc/GMT-9
+Etc/GMT0
+Etc/Greenwich
+Etc/UCT
+Etc/UTC
+Etc/Universal
+Etc/Zulu
+Europe/Amsterdam
+Europe/Andorra
+Europe/Athens
+Europe/Belfast
+Europe/Belgrade
+Europe/Berlin
+Europe/Bratislava
+Europe/Brussels
+Europe/Bucharest
+Europe/Budapest
+Europe/Busingen
+Europe/Chisinau
+Europe/Copenhagen
+Europe/Dublin
+Europe/Gibraltar
+Europe/Guernsey
+Europe/Helsinki
+Europe/Isle_of_Man
+Europe/Istanbul
+Europe/Jersey
+Europe/Kaliningrad
+Europe/Kiev
+Europe/Lisbon
+Europe/Ljubljana
+Europe/London
+Europe/Luxembourg
+Europe/Madrid
+Europe/Malta
+Europe/Mariehamn
+Europe/Minsk
+Europe/Monaco
+Europe/Moscow
+Europe/Nicosia
+Europe/Oslo
+Europe/Paris
+Europe/Podgorica
+Europe/Prague
+Europe/Riga
+Europe/Rome
+Europe/Samara
+Europe/San_Marino
+Europe/Sarajevo
+Europe/Simferopol
+Europe/Skopje
+Europe/Sofia
+Europe/Stockholm
+Europe/Tallinn
+Europe/Tirane
+Europe/Tiraspol
+Europe/Uzhgorod
+Europe/Vaduz
+Europe/Vatican
+Europe/Vienna
+Europe/Vilnius
+Europe/Volgograd
+Europe/Warsaw
+Europe/Zagreb
+Europe/Zaporozhye
+Europe/Zurich
+Factory
+GB
+GB-Eire
+GMT
+GMT+0
+GMT-0
+GMT0
+Greenwich
+HST
+Hongkong
+Iceland
+Indian/Antananarivo
+Indian/Chagos
+Indian/Christmas
+Indian/Cocos
+Indian/Comoro
+Indian/Kerguelen
+Indian/Mahe
+Indian/Maldives
+Indian/Mauritius
+Indian/Mayotte
+Indian/Reunion
+Iran
+Israel
+Jamaica
+Japan
+Kwajalein
+Libya
+MET
+MST
+MST7MDT
+Mexico/BajaNorte
+Mexico/BajaSur
+Mexico/General
+NZ
+NZ-CHAT
+Navajo
+PRC
+PST8PDT
+Pacific/Apia
+Pacific/Auckland
+Pacific/Bougainville
+Pacific/Chatham
+Pacific/Chuuk
+Pacific/Easter
+Pacific/Efate
+Pacific/Enderbury
+Pacific/Fakaofo
+Pacific/Fiji
+Pacific/Funafuti
+Pacific/Galapagos
+Pacific/Gambier
+Pacific/Guadalcanal
+Pacific/Guam
+Pacific/Honolulu
+Pacific/Johnston
+Pacific/Kiritimati
+Pacific/Kosrae
+Pacific/Kwajalein
+Pacific/Majuro
+Pacific/Marquesas
+Pacific/Midway
+Pacific/Nauru
+Pacific/Niue
+Pacific/Norfolk
+Pacific/Noumea
+Pacific/Pago_Pago
+Pacific/Palau
+Pacific/Pitcairn
+Pacific/Pohnpei
+Pacific/Ponape
+Pacific/Port_Moresby
+Pacific/Rarotonga
+Pacific/Saipan
+Pacific/Samoa
+Pacific/Tahiti
+Pacific/Tarawa
+Pacific/Tongatapu
+Pacific/Truk
+Pacific/Wake
+Pacific/Wallis
+Pacific/Yap
+Poland
+Portugal
+ROC
+ROK
+Singapore
+Turkey
+UCT
+UTC
+Universal
+W-SU
+WET
+Zulu
+posix/Africa/Abidjan
+posix/Africa/Accra
+posix/Africa/Addis_Ababa
+posix/Africa/Algiers
+posix/Africa/Asmara
+posix/Africa/Asmera
+posix/Africa/Bamako
+posix/Africa/Bangui
+posix/Africa/Banjul
+posix/Africa/Bissau
+posix/Africa/Blantyre
+posix/Africa/Brazzaville
+posix/Africa/Bujumbura
+posix/Africa/Cairo
+posix/Africa/Casablanca
+posix/Africa/Ceuta
+posix/Africa/Conakry
+posix/Africa/Dakar
+posix/Africa/Dar_es_Salaam
+posix/Africa/Djibouti
+posix/Africa/Douala
+posix/Africa/El_Aaiun
+posix/Africa/Freetown
+posix/Africa/Gaborone
+posix/Africa/Harare
+posix/Africa/Johannesburg
+posix/Africa/Juba
+posix/Africa/Kampala
+posix/Africa/Khartoum
+posix/Africa/Kigali
+posix/Africa/Kinshasa
+posix/Africa/Lagos
+posix/Africa/Libreville
+posix/Africa/Lome
+posix/Africa/Luanda
+posix/Africa/Lubumbashi
+posix/Africa/Lusaka
+posix/Africa/Malabo
+posix/Africa/Maputo
+posix/Africa/Maseru
+posix/Africa/Mbabane
+posix/Africa/Mogadishu
+posix/Africa/Monrovia
+posix/Africa/Nairobi
+posix/Africa/Ndjamena
+posix/Africa/Niamey
+posix/Africa/Nouakchott
+posix/Africa/Ouagadougou
+posix/Africa/Porto-Novo
+posix/Africa/Sao_Tome
+posix/Africa/Timbuktu
+posix/Africa/Tripoli
+posix/Africa/Tunis
+posix/Africa/Windhoek
+posix/America/Adak
+posix/America/Anchorage
+posix/America/Anguilla
+posix/America/Antigua
+posix/America/Araguaina
+posix/America/Argentina/Buenos_Aires
+posix/America/Argentina/Catamarca
+posix/America/Argentina/ComodRivadavia
+posix/America/Argentina/Cordoba
+posix/America/Argentina/Jujuy
+posix/America/Argentina/La_Rioja
+posix/America/Argentina/Mendoza
+posix/America/Argentina/Rio_Gallegos
+posix/America/Argentina/Salta
+posix/America/Argentina/San_Juan
+posix/America/Argentina/San_Luis
+posix/America/Argentina/Tucuman
+posix/America/Argentina/Ushuaia
+posix/America/Aruba
+posix/America/Asuncion
+posix/America/Atikokan
+posix/America/Atka
+posix/America/Bahia
+posix/America/Bahia_Banderas
+posix/America/Barbados
+posix/America/Belem
+posix/America/Belize
+posix/America/Blanc-Sablon
+posix/America/Boa_Vista
+posix/America/Bogota
+posix/America/Boise
+posix/America/Buenos_Aires
+posix/America/Cambridge_Bay
+posix/America/Campo_Grande
+posix/America/Cancun
+posix/America/Caracas
+posix/America/Catamarca
+posix/America/Cayenne
+posix/America/Cayman
+posix/America/Chicago
+posix/America/Chihuahua
+posix/America/Coral_Harbour
+posix/America/Cordoba
+posix/America/Costa_Rica
+posix/America/Creston
+posix/America/Cuiaba
+posix/America/Curacao
+posix/America/Danmarkshavn
+posix/America/Dawson
+posix/America/Dawson_Creek
+posix/America/Denver
+posix/America/Detroit
+posix/America/Dominica
+posix/America/Edmonton
+posix/America/Eirunepe
+posix/America/El_Salvador
+posix/America/Ensenada
+posix/America/Fort_Wayne
+posix/America/Fortaleza
+posix/America/Glace_Bay
+posix/America/Godthab
+posix/America/Goose_Bay
+posix/America/Grand_Turk
+posix/America/Grenada
+posix/America/Guadeloupe
+posix/America/Guatemala
+posix/America/Guayaquil
+posix/America/Guyana
+posix/America/Halifax
+posix/America/Havana
+posix/America/Hermosillo
+posix/America/Indiana/Indianapolis
+posix/America/Indiana/Knox
+posix/America/Indiana/Marengo
+posix/America/Indiana/Petersburg
+posix/America/Indiana/Tell_City
+posix/America/Indiana/Vevay
+posix/America/Indiana/Vincennes
+posix/America/Indiana/Winamac
+posix/America/Indianapolis
+posix/America/Inuvik
+posix/America/Iqaluit
+posix/America/Jamaica
+posix/America/Jujuy
+posix/America/Juneau
+posix/America/Kentucky/Louisville
+posix/America/Kentucky/Monticello
+posix/America/Knox_IN
+posix/America/Kralendijk
+posix/America/La_Paz
+posix/America/Lima
+posix/America/Los_Angeles
+posix/America/Louisville
+posix/America/Lower_Princes
+posix/America/Maceio
+posix/America/Managua
+posix/America/Manaus
+posix/America/Marigot
+posix/America/Martinique
+posix/America/Matamoros
+posix/America/Mazatlan
+posix/America/Mendoza
+posix/America/Menominee
+posix/America/Merida
+posix/America/Metlakatla
+posix/America/Mexico_City
+posix/America/Miquelon
+posix/America/Moncton
+posix/America/Monterrey
+posix/America/Montevideo
+posix/America/Montreal
+posix/America/Montserrat
+posix/America/Nassau
+posix/America/New_York
+posix/America/Nipigon
+posix/America/Nome
+posix/America/Noronha
+posix/America/North_Dakota/Beulah
+posix/America/North_Dakota/Center
+posix/America/North_Dakota/New_Salem
+posix/America/Ojinaga
+posix/America/Panama
+posix/America/Pangnirtung
+posix/America/Paramaribo
+posix/America/Phoenix
+posix/America/Port-au-Prince
+posix/America/Port_of_Spain
+posix/America/Porto_Acre
+posix/America/Porto_Velho
+posix/America/Puerto_Rico
+posix/America/Rainy_River
+posix/America/Rankin_Inlet
+posix/America/Recife
+posix/America/Regina
+posix/America/Resolute
+posix/America/Rio_Branco
+posix/America/Rosario
+posix/America/Santa_Isabel
+posix/America/Santarem
+posix/America/Santiago
+posix/America/Santo_Domingo
+posix/America/Sao_Paulo
+posix/America/Scoresbysund
+posix/America/Shiprock
+posix/America/Sitka
+posix/America/St_Barthelemy
+posix/America/St_Johns
+posix/America/St_Kitts
+posix/America/St_Lucia
+posix/America/St_Thomas
+posix/America/St_Vincent
+posix/America/Swift_Current
+posix/America/Tegucigalpa
+posix/America/Thule
+posix/America/Thunder_Bay
+posix/America/Tijuana
+posix/America/Toronto
+posix/America/Tortola
+posix/America/Vancouver
+posix/America/Virgin
+posix/America/Whitehorse
+posix/America/Winnipeg
+posix/America/Yakutat
+posix/America/Yellowknife
+posix/Antarctica/Casey
+posix/Antarctica/Davis
+posix/Antarctica/DumontDUrville
+posix/Antarctica/Macquarie
+posix/Antarctica/Mawson
+posix/Antarctica/McMurdo
+posix/Antarctica/Palmer
+posix/Antarctica/Rothera
+posix/Antarctica/South_Pole
+posix/Antarctica/Syowa
+posix/Antarctica/Troll
+posix/Antarctica/Vostok
+posix/Arctic/Longyearbyen
+posix/Asia/Aden
+posix/Asia/Almaty
+posix/Asia/Amman
+posix/Asia/Anadyr
+posix/Asia/Aqtau
+posix/Asia/Aqtobe
+posix/Asia/Ashgabat
+posix/Asia/Ashkhabad
+posix/Asia/Baghdad
+posix/Asia/Bahrain
+posix/Asia/Baku
+posix/Asia/Bangkok
+posix/Asia/Beirut
+posix/Asia/Bishkek
+posix/Asia/Brunei
+posix/Asia/Calcutta
+posix/Asia/Chita
+posix/Asia/Choibalsan
+posix/Asia/Chongqing
+posix/Asia/Chungking
+posix/Asia/Colombo
+posix/Asia/Dacca
+posix/Asia/Damascus
+posix/Asia/Dhaka
+posix/Asia/Dili
+posix/Asia/Dubai
+posix/Asia/Dushanbe
+posix/Asia/Gaza
+posix/Asia/Harbin
+posix/Asia/Hebron
+posix/Asia/Ho_Chi_Minh
+posix/Asia/Hong_Kong
+posix/Asia/Hovd
+posix/Asia/Irkutsk
+posix/Asia/Istanbul
+posix/Asia/Jakarta
+posix/Asia/Jayapura
+posix/Asia/Jerusalem
+posix/Asia/Kabul
+posix/Asia/Kamchatka
+posix/Asia/Karachi
+posix/Asia/Kashgar
+posix/Asia/Kathmandu
+posix/Asia/Katmandu
+posix/Asia/Khandyga
+posix/Asia/Kolkata
+posix/Asia/Krasnoyarsk
+posix/Asia/Kuala_Lumpur
+posix/Asia/Kuching
+posix/Asia/Kuwait
+posix/Asia/Macao
+posix/Asia/Macau
+posix/Asia/Magadan
+posix/Asia/Makassar
+posix/Asia/Manila
+posix/Asia/Muscat
+posix/Asia/Nicosia
+posix/Asia/Novokuznetsk
+posix/Asia/Novosibirsk
+posix/Asia/Omsk
+posix/Asia/Oral
+posix/Asia/Phnom_Penh
+posix/Asia/Pontianak
+posix/Asia/Pyongyang
+posix/Asia/Qatar
+posix/Asia/Qyzylorda
+posix/Asia/Rangoon
+posix/Asia/Riyadh
+posix/Asia/Saigon
+posix/Asia/Sakhalin
+posix/Asia/Samarkand
+posix/Asia/Seoul
+posix/Asia/Shanghai
+posix/Asia/Singapore
+posix/Asia/Srednekolymsk
+posix/Asia/Taipei
+posix/Asia/Tashkent
+posix/Asia/Tbilisi
+posix/Asia/Tehran
+posix/Asia/Tel_Aviv
+posix/Asia/Thimbu
+posix/Asia/Thimphu
+posix/Asia/Tokyo
+posix/Asia/Ujung_Pandang
+posix/Asia/Ulaanbaatar
+posix/Asia/Ulan_Bator
+posix/Asia/Urumqi
+posix/Asia/Ust-Nera
+posix/Asia/Vientiane
+posix/Asia/Vladivostok
+posix/Asia/Yakutsk
+posix/Asia/Yekaterinburg
+posix/Asia/Yerevan
+posix/Atlantic/Azores
+posix/Atlantic/Bermuda
+posix/Atlantic/Canary
+posix/Atlantic/Cape_Verde
+posix/Atlantic/Faeroe
+posix/Atlantic/Faroe
+posix/Atlantic/Jan_Mayen
+posix/Atlantic/Madeira
+posix/Atlantic/Reykjavik
+posix/Atlantic/South_Georgia
+posix/Atlantic/St_Helena
+posix/Atlantic/Stanley
+posix/Australia/ACT
+posix/Australia/Adelaide
+posix/Australia/Brisbane
+posix/Australia/Broken_Hill
+posix/Australia/Canberra
+posix/Australia/Currie
+posix/Australia/Darwin
+posix/Australia/Eucla
+posix/Australia/Hobart
+posix/Australia/LHI
+posix/Australia/Lindeman
+posix/Australia/Lord_Howe
+posix/Australia/Melbourne
+posix/Australia/NSW
+posix/Australia/North
+posix/Australia/Perth
+posix/Australia/Queensland
+posix/Australia/South
+posix/Australia/Sydney
+posix/Australia/Tasmania
+posix/Australia/Victoria
+posix/Australia/West
+posix/Australia/Yancowinna
+posix/Brazil/Acre
+posix/Brazil/DeNoronha
+posix/Brazil/East
+posix/Brazil/West
+posix/CET
+posix/CST6CDT
+posix/Canada/Atlantic
+posix/Canada/Central
+posix/Canada/East-Saskatchewan
+posix/Canada/Eastern
+posix/Canada/Mountain
+posix/Canada/Newfoundland
+posix/Canada/Pacific
+posix/Canada/Saskatchewan
+posix/Canada/Yukon
+posix/Chile/Continental
+posix/Chile/EasterIsland
+posix/Cuba
+posix/EET
+posix/EST
+posix/EST5EDT
+posix/Egypt
+posix/Eire
+posix/Etc/GMT
+posix/Etc/GMT+0
+posix/Etc/GMT+1
+posix/Etc/GMT+10
+posix/Etc/GMT+11
+posix/Etc/GMT+12
+posix/Etc/GMT+2
+posix/Etc/GMT+3
+posix/Etc/GMT+4
+posix/Etc/GMT+5
+posix/Etc/GMT+6
+posix/Etc/GMT+7
+posix/Etc/GMT+8
+posix/Etc/GMT+9
+posix/Etc/GMT-0
+posix/Etc/GMT-1
+posix/Etc/GMT-10
+posix/Etc/GMT-11
+posix/Etc/GMT-12
+posix/Etc/GMT-13
+posix/Etc/GMT-14
+posix/Etc/GMT-2
+posix/Etc/GMT-3
+posix/Etc/GMT-4
+posix/Etc/GMT-5
+posix/Etc/GMT-6
+posix/Etc/GMT-7
+posix/Etc/GMT-8
+posix/Etc/GMT-9
+posix/Etc/GMT0
+posix/Etc/Greenwich
+posix/Etc/UCT
+posix/Etc/UTC
+posix/Etc/Universal
+posix/Etc/Zulu
+posix/Europe/Amsterdam
+posix/Europe/Andorra
+posix/Europe/Athens
+posix/Europe/Belfast
+posix/Europe/Belgrade
+posix/Europe/Berlin
+posix/Europe/Bratislava
+posix/Europe/Brussels
+posix/Europe/Bucharest
+posix/Europe/Budapest
+posix/Europe/Busingen
+posix/Europe/Chisinau
+posix/Europe/Copenhagen
+posix/Europe/Dublin
+posix/Europe/Gibraltar
+posix/Europe/Guernsey
+posix/Europe/Helsinki
+posix/Europe/Isle_of_Man
+posix/Europe/Istanbul
+posix/Europe/Jersey
+posix/Europe/Kaliningrad
+posix/Europe/Kiev
+posix/Europe/Lisbon
+posix/Europe/Ljubljana
+posix/Europe/London
+posix/Europe/Luxembourg
+posix/Europe/Madrid
+posix/Europe/Malta
+posix/Europe/Mariehamn
+posix/Europe/Minsk
+posix/Europe/Monaco
+posix/Europe/Moscow
+posix/Europe/Nicosia
+posix/Europe/Oslo
+posix/Europe/Paris
+posix/Europe/Podgorica
+posix/Europe/Prague
+posix/Europe/Riga
+posix/Europe/Rome
+posix/Europe/Samara
+posix/Europe/San_Marino
+posix/Europe/Sarajevo
+posix/Europe/Simferopol
+posix/Europe/Skopje
+posix/Europe/Sofia
+posix/Europe/Stockholm
+posix/Europe/Tallinn
+posix/Europe/Tirane
+posix/Europe/Tiraspol
+posix/Europe/Uzhgorod
+posix/Europe/Vaduz
+posix/Europe/Vatican
+posix/Europe/Vienna
+posix/Europe/Vilnius
+posix/Europe/Volgograd
+posix/Europe/Warsaw
+posix/Europe/Zagreb
+posix/Europe/Zaporozhye
+posix/Europe/Zurich
+posix/Factory
+posix/GB
+posix/GB-Eire
+posix/GMT
+posix/GMT+0
+posix/GMT-0
+posix/GMT0
+posix/Greenwich
+posix/HST
+posix/Hongkong
+posix/Iceland
+posix/Indian/Antananarivo
+posix/Indian/Chagos
+posix/Indian/Christmas
+posix/Indian/Cocos
+posix/Indian/Comoro
+posix/Indian/Kerguelen
+posix/Indian/Mahe
+posix/Indian/Maldives
+posix/Indian/Mauritius
+posix/Indian/Mayotte
+posix/Indian/Reunion
+posix/Iran
+posix/Israel
+posix/Jamaica
+posix/Japan
+posix/Kwajalein
+posix/Libya
+posix/MET
+posix/MST
+posix/MST7MDT
+posix/Mexico/BajaNorte
+posix/Mexico/BajaSur
+posix/Mexico/General
+posix/NZ
+posix/NZ-CHAT
+posix/Navajo
+posix/PRC
+posix/PST8PDT
+posix/Pacific/Apia
+posix/Pacific/Auckland
+posix/Pacific/Bougainville
+posix/Pacific/Chatham
+posix/Pacific/Chuuk
+posix/Pacific/Easter
+posix/Pacific/Efate
+posix/Pacific/Enderbury
+posix/Pacific/Fakaofo
+posix/Pacific/Fiji
+posix/Pacific/Funafuti
+posix/Pacific/Galapagos
+posix/Pacific/Gambier
+posix/Pacific/Guadalcanal
+posix/Pacific/Guam
+posix/Pacific/Honolulu
+posix/Pacific/Johnston
+posix/Pacific/Kiritimati
+posix/Pacific/Kosrae
+posix/Pacific/Kwajalein
+posix/Pacific/Majuro
+posix/Pacific/Marquesas
+posix/Pacific/Midway
+posix/Pacific/Nauru
+posix/Pacific/Niue
+posix/Pacific/Norfolk
+posix/Pacific/Noumea
+posix/Pacific/Pago_Pago
+posix/Pacific/Palau
+posix/Pacific/Pitcairn
+posix/Pacific/Pohnpei
+posix/Pacific/Ponape
+posix/Pacific/Port_Moresby
+posix/Pacific/Rarotonga
+posix/Pacific/Saipan
+posix/Pacific/Samoa
+posix/Pacific/Tahiti
+posix/Pacific/Tarawa
+posix/Pacific/Tongatapu
+posix/Pacific/Truk
+posix/Pacific/Wake
+posix/Pacific/Wallis
+posix/Pacific/Yap
+posix/Poland
+posix/Portugal
+posix/ROC
+posix/ROK
+posix/Singapore
+posix/Turkey
+posix/UCT
+posix/US/Alaska
+posix/US/Aleutian
+posix/US/Arizona
+posix/US/Central
+posix/US/East-Indiana
+posix/US/Eastern
+posix/US/Hawaii
+posix/US/Indiana-Starke
+posix/US/Michigan
+posix/US/Mountain
+posix/US/Pacific
+posix/US/Pacific-New
+posix/US/Samoa
+posix/UTC
+posix/Universal
+posix/W-SU
+posix/WET
+posix/Zulu
+posix/localtime
+posix/posixrules
+posixrules
+right/Africa/Abidjan
+right/Africa/Accra
+right/Africa/Addis_Ababa
+right/Africa/Algiers
+right/Africa/Asmara
+right/Africa/Asmera
+right/Africa/Bamako
+right/Africa/Bangui
+right/Africa/Banjul
+right/Africa/Bissau
+right/Africa/Blantyre
+right/Africa/Brazzaville
+right/Africa/Bujumbura
+right/Africa/Cairo
+right/Africa/Casablanca
+right/Africa/Ceuta
+right/Africa/Conakry
+right/Africa/Dakar
+right/Africa/Dar_es_Salaam
+right/Africa/Djibouti
+right/Africa/Douala
+right/Africa/El_Aaiun
+right/Africa/Freetown
+right/Africa/Gaborone
+right/Africa/Harare
+right/Africa/Johannesburg
+right/Africa/Juba
+right/Africa/Kampala
+right/Africa/Khartoum
+right/Africa/Kigali
+right/Africa/Kinshasa
+right/Africa/Lagos
+right/Africa/Libreville
+right/Africa/Lome
+right/Africa/Luanda
+right/Africa/Lubumbashi
+right/Africa/Lusaka
+right/Africa/Malabo
+right/Africa/Maputo
+right/Africa/Maseru
+right/Africa/Mbabane
+right/Africa/Mogadishu
+right/Africa/Monrovia
+right/Africa/Nairobi
+right/Africa/Ndjamena
+right/Africa/Niamey
+right/Africa/Nouakchott
+right/Africa/Ouagadougou
+right/Africa/Porto-Novo
+right/Africa/Sao_Tome
+right/Africa/Timbuktu
+right/Africa/Tripoli
+right/Africa/Tunis
+right/Africa/Windhoek
+right/America/Adak
+right/America/Anchorage
+right/America/Anguilla
+right/America/Antigua
+right/America/Araguaina
+right/America/Argentina/Buenos_Aires
+right/America/Argentina/Catamarca
+right/America/Argentina/ComodRivadavia
+right/America/Argentina/Cordoba
+right/America/Argentina/Jujuy
+right/America/Argentina/La_Rioja
+right/America/Argentina/Mendoza
+right/America/Argentina/Rio_Gallegos
+right/America/Argentina/Salta
+right/America/Argentina/San_Juan
+right/America/Argentina/San_Luis
+right/America/Argentina/Tucuman
+right/America/Argentina/Ushuaia
+right/America/Aruba
+right/America/Asuncion
+right/America/Atikokan
+right/America/Atka
+right/America/Bahia
+right/America/Bahia_Banderas
+right/America/Barbados
+right/America/Belem
+right/America/Belize
+right/America/Blanc-Sablon
+right/America/Boa_Vista
+right/America/Bogota
+right/America/Boise
+right/America/Buenos_Aires
+right/America/Cambridge_Bay
+right/America/Campo_Grande
+right/America/Cancun
+right/America/Caracas
+right/America/Catamarca
+right/America/Cayenne
+right/America/Cayman
+right/America/Chicago
+right/America/Chihuahua
+right/America/Coral_Harbour
+right/America/Cordoba
+right/America/Costa_Rica
+right/America/Creston
+right/America/Cuiaba
+right/America/Curacao
+right/America/Danmarkshavn
+right/America/Dawson
+right/America/Dawson_Creek
+right/America/Denver
+right/America/Detroit
+right/America/Dominica
+right/America/Edmonton
+right/America/Eirunepe
+right/America/El_Salvador
+right/America/Ensenada
+right/America/Fort_Wayne
+right/America/Fortaleza
+right/America/Glace_Bay
+right/America/Godthab
+right/America/Goose_Bay
+right/America/Grand_Turk
+right/America/Grenada
+right/America/Guadeloupe
+right/America/Guatemala
+right/America/Guayaquil
+right/America/Guyana
+right/America/Halifax
+right/America/Havana
+right/America/Hermosillo
+right/America/Indiana/Indianapolis
+right/America/Indiana/Knox
+right/America/Indiana/Marengo
+right/America/Indiana/Petersburg
+right/America/Indiana/Tell_City
+right/America/Indiana/Vevay
+right/America/Indiana/Vincennes
+right/America/Indiana/Winamac
+right/America/Indianapolis
+right/America/Inuvik
+right/America/Iqaluit
+right/America/Jamaica
+right/America/Jujuy
+right/America/Juneau
+right/America/Kentucky/Louisville
+right/America/Kentucky/Monticello
+right/America/Knox_IN
+right/America/Kralendijk
+right/America/La_Paz
+right/America/Lima
+right/America/Los_Angeles
+right/America/Louisville
+right/America/Lower_Princes
+right/America/Maceio
+right/America/Managua
+right/America/Manaus
+right/America/Marigot
+right/America/Martinique
+right/America/Matamoros
+right/America/Mazatlan
+right/America/Mendoza
+right/America/Menominee
+right/America/Merida
+right/America/Metlakatla
+right/America/Mexico_City
+right/America/Miquelon
+right/America/Moncton
+right/America/Monterrey
+right/America/Montevideo
+right/America/Montreal
+right/America/Montserrat
+right/America/Nassau
+right/America/New_York
+right/America/Nipigon
+right/America/Nome
+right/America/Noronha
+right/America/North_Dakota/Beulah
+right/America/North_Dakota/Center
+right/America/North_Dakota/New_Salem
+right/America/Ojinaga
+right/America/Panama
+right/America/Pangnirtung
+right/America/Paramaribo
+right/America/Phoenix
+right/America/Port-au-Prince
+right/America/Port_of_Spain
+right/America/Porto_Acre
+right/America/Porto_Velho
+right/America/Puerto_Rico
+right/America/Rainy_River
+right/America/Rankin_Inlet
+right/America/Recife
+right/America/Regina
+right/America/Resolute
+right/America/Rio_Branco
+right/America/Rosario
+right/America/Santa_Isabel
+right/America/Santarem
+right/America/Santiago
+right/America/Santo_Domingo
+right/America/Sao_Paulo
+right/America/Scoresbysund
+right/America/Shiprock
+right/America/Sitka
+right/America/St_Barthelemy
+right/America/St_Johns
+right/America/St_Kitts
+right/America/St_Lucia
+right/America/St_Thomas
+right/America/St_Vincent
+right/America/Swift_Current
+right/America/Tegucigalpa
+right/America/Thule
+right/America/Thunder_Bay
+right/America/Tijuana
+right/America/Toronto
+right/America/Tortola
+right/America/Vancouver
+right/America/Virgin
+right/America/Whitehorse
+right/America/Winnipeg
+right/America/Yakutat
+right/America/Yellowknife
+right/Antarctica/Casey
+right/Antarctica/Davis
+right/Antarctica/DumontDUrville
+right/Antarctica/Macquarie
+right/Antarctica/Mawson
+right/Antarctica/McMurdo
+right/Antarctica/Palmer
+right/Antarctica/Rothera
+right/Antarctica/South_Pole
+right/Antarctica/Syowa
+right/Antarctica/Troll
+right/Antarctica/Vostok
+right/Arctic/Longyearbyen
+right/Asia/Aden
+right/Asia/Almaty
+right/Asia/Amman
+right/Asia/Anadyr
+right/Asia/Aqtau
+right/Asia/Aqtobe
+right/Asia/Ashgabat
+right/Asia/Ashkhabad
+right/Asia/Baghdad
+right/Asia/Bahrain
+right/Asia/Baku
+right/Asia/Bangkok
+right/Asia/Beirut
+right/Asia/Bishkek
+right/Asia/Brunei
+right/Asia/Calcutta
+right/Asia/Chita
+right/Asia/Choibalsan
+right/Asia/Chongqing
+right/Asia/Chungking
+right/Asia/Colombo
+right/Asia/Dacca
+right/Asia/Damascus
+right/Asia/Dhaka
+right/Asia/Dili
+right/Asia/Dubai
+right/Asia/Dushanbe
+right/Asia/Gaza
+right/Asia/Harbin
+right/Asia/Hebron
+right/Asia/Ho_Chi_Minh
+right/Asia/Hong_Kong
+right/Asia/Hovd
+right/Asia/Irkutsk
+right/Asia/Istanbul
+right/Asia/Jakarta
+right/Asia/Jayapura
+right/Asia/Jerusalem
+right/Asia/Kabul
+right/Asia/Kamchatka
+right/Asia/Karachi
+right/Asia/Kashgar
+right/Asia/Kathmandu
+right/Asia/Katmandu
+right/Asia/Khandyga
+right/Asia/Kolkata
+right/Asia/Krasnoyarsk
+right/Asia/Kuala_Lumpur
+right/Asia/Kuching
+right/Asia/Kuwait
+right/Asia/Macao
+right/Asia/Macau
+right/Asia/Magadan
+right/Asia/Makassar
+right/Asia/Manila
+right/Asia/Muscat
+right/Asia/Nicosia
+right/Asia/Novokuznetsk
+right/Asia/Novosibirsk
+right/Asia/Omsk
+right/Asia/Oral
+right/Asia/Phnom_Penh
+right/Asia/Pontianak
+right/Asia/Pyongyang
+right/Asia/Qatar
+right/Asia/Qyzylorda
+right/Asia/Rangoon
+right/Asia/Riyadh
+right/Asia/Saigon
+right/Asia/Sakhalin
+right/Asia/Samarkand
+right/Asia/Seoul
+right/Asia/Shanghai
+right/Asia/Singapore
+right/Asia/Srednekolymsk
+right/Asia/Taipei
+right/Asia/Tashkent
+right/Asia/Tbilisi
+right/Asia/Tehran
+right/Asia/Tel_Aviv
+right/Asia/Thimbu
+right/Asia/Thimphu
+right/Asia/Tokyo
+right/Asia/Ujung_Pandang
+right/Asia/Ulaanbaatar
+right/Asia/Ulan_Bator
+right/Asia/Urumqi
+right/Asia/Ust-Nera
+right/Asia/Vientiane
+right/Asia/Vladivostok
+right/Asia/Yakutsk
+right/Asia/Yekaterinburg
+right/Asia/Yerevan
+right/Atlantic/Azores
+right/Atlantic/Bermuda
+right/Atlantic/Canary
+right/Atlantic/Cape_Verde
+right/Atlantic/Faeroe
+right/Atlantic/Faroe
+right/Atlantic/Jan_Mayen
+right/Atlantic/Madeira
+right/Atlantic/Reykjavik
+right/Atlantic/South_Georgia
+right/Atlantic/St_Helena
+right/Atlantic/Stanley
+right/Australia/ACT
+right/Australia/Adelaide
+right/Australia/Brisbane
+right/Australia/Broken_Hill
+right/Australia/Canberra
+right/Australia/Currie
+right/Australia/Darwin
+right/Australia/Eucla
+right/Australia/Hobart
+right/Australia/LHI
+right/Australia/Lindeman
+right/Australia/Lord_Howe
+right/Australia/Melbourne
+right/Australia/NSW
+right/Australia/North
+right/Australia/Perth
+right/Australia/Queensland
+right/Australia/South
+right/Australia/Sydney
+right/Australia/Tasmania
+right/Australia/Victoria
+right/Australia/West
+right/Australia/Yancowinna
+right/Brazil/Acre
+right/Brazil/DeNoronha
+right/Brazil/East
+right/Brazil/West
+right/CET
+right/CST6CDT
+right/Canada/Atlantic
+right/Canada/Central
+right/Canada/East-Saskatchewan
+right/Canada/Eastern
+right/Canada/Mountain
+right/Canada/Newfoundland
+right/Canada/Pacific
+right/Canada/Saskatchewan
+right/Canada/Yukon
+right/Chile/Continental
+right/Chile/EasterIsland
+right/Cuba
+right/EET
+right/EST
+right/EST5EDT
+right/Egypt
+right/Eire
+right/Etc/GMT
+right/Etc/GMT+0
+right/Etc/GMT+1
+right/Etc/GMT+10
+right/Etc/GMT+11
+right/Etc/GMT+12
+right/Etc/GMT+2
+right/Etc/GMT+3
+right/Etc/GMT+4
+right/Etc/GMT+5
+right/Etc/GMT+6
+right/Etc/GMT+7
+right/Etc/GMT+8
+right/Etc/GMT+9
+right/Etc/GMT-0
+right/Etc/GMT-1
+right/Etc/GMT-10
+right/Etc/GMT-11
+right/Etc/GMT-12
+right/Etc/GMT-13
+right/Etc/GMT-14
+right/Etc/GMT-2
+right/Etc/GMT-3
+right/Etc/GMT-4
+right/Etc/GMT-5
+right/Etc/GMT-6
+right/Etc/GMT-7
+right/Etc/GMT-8
+right/Etc/GMT-9
+right/Etc/GMT0
+right/Etc/Greenwich
+right/Etc/UCT
+right/Etc/UTC
+right/Etc/Universal
+right/Etc/Zulu
+right/Europe/Amsterdam
+right/Europe/Andorra
+right/Europe/Athens
+right/Europe/Belfast
+right/Europe/Belgrade
+right/Europe/Berlin
+right/Europe/Bratislava
+right/Europe/Brussels
+right/Europe/Bucharest
+right/Europe/Budapest
+right/Europe/Busingen
+right/Europe/Chisinau
+right/Europe/Copenhagen
+right/Europe/Dublin
+right/Europe/Gibraltar
+right/Europe/Guernsey
+right/Europe/Helsinki
+right/Europe/Isle_of_Man
+right/Europe/Istanbul
+right/Europe/Jersey
+right/Europe/Kaliningrad
+right/Europe/Kiev
+right/Europe/Lisbon
+right/Europe/Ljubljana
+right/Europe/London
+right/Europe/Luxembourg
+right/Europe/Madrid
+right/Europe/Malta
+right/Europe/Mariehamn
+right/Europe/Minsk
+right/Europe/Monaco
+right/Europe/Moscow
+right/Europe/Nicosia
+right/Europe/Oslo
+right/Europe/Paris
+right/Europe/Podgorica
+right/Europe/Prague
+right/Europe/Riga
+right/Europe/Rome
+right/Europe/Samara
+right/Europe/San_Marino
+right/Europe/Sarajevo
+right/Europe/Simferopol
+right/Europe/Skopje
+right/Europe/Sofia
+right/Europe/Stockholm
+right/Europe/Tallinn
+right/Europe/Tirane
+right/Europe/Tiraspol
+right/Europe/Uzhgorod
+right/Europe/Vaduz
+right/Europe/Vatican
+right/Europe/Vienna
+right/Europe/Vilnius
+right/Europe/Volgograd
+right/Europe/Warsaw
+right/Europe/Zagreb
+right/Europe/Zaporozhye
+right/Europe/Zurich
+right/Factory
+right/GB
+right/GB-Eire
+right/GMT
+right/GMT+0
+right/GMT-0
+right/GMT0
+right/Greenwich
+right/HST
+right/Hongkong
+right/Iceland
+right/Indian/Antananarivo
+right/Indian/Chagos
+right/Indian/Christmas
+right/Indian/Cocos
+right/Indian/Comoro
+right/Indian/Kerguelen
+right/Indian/Mahe
+right/Indian/Maldives
+right/Indian/Mauritius
+right/Indian/Mayotte
+right/Indian/Reunion
+right/Iran
+right/Israel
+right/Jamaica
+right/Japan
+right/Kwajalein
+right/Libya
+right/MET
+right/MST
+right/MST7MDT
+right/Mexico/BajaNorte
+right/Mexico/BajaSur
+right/Mexico/General
+right/NZ
+right/NZ-CHAT
+right/Navajo
+right/PRC
+right/PST8PDT
+right/Pacific/Apia
+right/Pacific/Auckland
+right/Pacific/Bougainville
+right/Pacific/Chatham
+right/Pacific/Chuuk
+right/Pacific/Easter
+right/Pacific/Efate
+right/Pacific/Enderbury
+right/Pacific/Fakaofo
+right/Pacific/Fiji
+right/Pacific/Funafuti
+right/Pacific/Galapagos
+right/Pacific/Gambier
+right/Pacific/Guadalcanal
+right/Pacific/Guam
+right/Pacific/Honolulu
+right/Pacific/Johnston
+right/Pacific/Kiritimati
+right/Pacific/Kosrae
+right/Pacific/Kwajalein
+right/Pacific/Majuro
+right/Pacific/Marquesas
+right/Pacific/Midway
+right/Pacific/Nauru
+right/Pacific/Niue
+right/Pacific/Norfolk
+right/Pacific/Noumea
+right/Pacific/Pago_Pago
+right/Pacific/Palau
+right/Pacific/Pitcairn
+right/Pacific/Pohnpei
+right/Pacific/Ponape
+right/Pacific/Port_Moresby
+right/Pacific/Rarotonga
+right/Pacific/Saipan
+right/Pacific/Samoa
+right/Pacific/Tahiti
+right/Pacific/Tarawa
+right/Pacific/Tongatapu
+right/Pacific/Truk
+right/Pacific/Wake
+right/Pacific/Wallis
+right/Pacific/Yap
+right/Poland
+right/Portugal
+right/ROC
+right/ROK
+right/Singapore
+right/Turkey
+right/UCT
+right/US/Alaska
+right/US/Aleutian
+right/US/Arizona
+right/US/Central
+right/US/East-Indiana
+right/US/Eastern
+right/US/Hawaii
+right/US/Indiana-Starke
+right/US/Michigan
+right/US/Mountain
+right/US/Pacific
+right/US/Pacific-New
+right/US/Samoa
+right/UTC
+right/Universal
+right/W-SU
+right/WET
+right/Zulu
+
+Type it at the prompt below exactly as it appears above. (NOTE: If you don't
+see your timezone, use "timeconfig" again after booting for the verbose list)
+
+EOF
+ echo -n "Timezone? "
+ read TIMEZONE;
+ echo
+
+ if [ -r $T_PX/usr/share/zoneinfo/$TIMEZONE -o \
+ -r /var/log/mount/usr/share/zoneinfo/$TIMEZONE -o \
+ -L $T_PX/usr/share/zoneinfo/$TIMEZONE -o \
+ -L /var/log/mount/usr/share/zoneinfo/$TIMEZONE ]; then
+ echo "Creating link from $TIMEZONE to localtime in /etc..."
+ echo
+ setzone $TIMEZONE
+ exit
+ else
+ cat << EOF
+
+Timezone $TIMEZONE could not be found. You may try again if you wish.
+Make sure you type the name exactly as it appears - this configuration script
+is case sensitive.
+
+Press [enter] to continue.
+
+EOF
+ read JUNK;
+ fi
+ done
+fi
+
diff --git a/patches/source/gnupg/gnupg.SlackBuild b/patches/source/gnupg/gnupg.SlackBuild
new file mode 100755
index 00000000..0a814492
--- /dev/null
+++ b/patches/source/gnupg/gnupg.SlackBuild
@@ -0,0 +1,105 @@
+#!/bin/sh
+
+# Copyright 2008, 2009, 2015 Patrick J. Volkerding, Sebeka, Minnesota, USA
+# All rights reserved.
+#
+# Redistribution and use of this script, with or without modification, is
+# permitted provided that the following conditions are met:
+#
+# 1. Redistributions of this script must retain the above copyright
+# notice, this list of conditions and the following disclaimer.
+#
+# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED
+# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
+# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
+# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+PKGNAM=gnupg
+VERSION=${VERSION:-$(echo $PKGNAM-*.tar.?z* | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
+BUILD=${BUILD:-1_slack13.0}
+
+# Automatically determine the architecture we're building on:
+if [ -z "$ARCH" ]; then
+ case "$(uname -m)" in
+ i?86) ARCH=i486 ;;
+ arm*) readelf /usr/bin/file -A | egrep -q "Tag_CPU.*[4,5]" && ARCH=arm || ARCH=armv7lh ;;
+ # Unless $ARCH is already set, use uname -m for all other archs:
+ *) ARCH=$(uname -m) ;;
+ esac
+ export ARCH
+fi
+
+NUMJOBS=${NUMJOBS:-" -j7 "}
+
+CWD=$(pwd)
+TMP=${TMP:-/tmp}
+PKG=$TMP/package-gnupg
+
+if [ "$ARCH" = "i486" ]; then
+ SLKCFLAGS="-O2 -march=i486 -mtune=i686"
+elif [ "$ARCH" = "s390" ]; then
+ SLKCFLAGS="-O2"
+elif [ "$ARCH" = "x86_64" ]; then
+ SLKCFLAGS="-O2 -fPIC"
+fi
+
+rm -rf $PKG
+mkdir -p $PKG $PKG
+
+cd $TMP
+rm -rf gnupg-$VERSION
+tar xvf $CWD/gnupg-$VERSION.tar.?z* || exit 1
+cd gnupg-$VERSION
+
+chown -R root:root .
+find . \
+ \( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \
+ -exec chmod 755 {} \; -o \
+ \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \
+ -exec chmod 644 {} \;
+
+CFLAGS="$SLKCFLAGS" \
+./configure \
+ --prefix=/usr \
+ --infodir=/usr/info \
+ --mandir=/usr/man \
+ --build=$ARCH-slackware-linux || exit 1
+
+make $NUMJOBS || make || exit 1
+make install DESTDIR=$PKG || exit 1
+
+find $PKG | xargs file | grep -e "executable" -e "shared object" | grep ELF \
+ | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
+
+rm -f $PKG/usr/info/dir
+gzip -9 $PKG/usr/info/*
+
+gzip -9 $PKG/usr/man/*/*
+
+mkdir -p $PKG/usr/doc/gnupg-$VERSION
+cp -a \
+ ABOUT-NLS AUTHORS BUGS COPYING INSTALL NEWS PROJECTS README THANKS TODO VERSION \
+ $PKG/usr/doc/gnupg-$VERSION
+( cd $PKG/usr/doc/gnupg-$VERSION
+ ln -sf /usr/share/gnupg/FAQ .
+ ln -sf /usr/share/gnupg/faq.html . )
+
+# Add slack-desc files:
+mkdir -p $PKG/install
+cat $CWD/slack-desc.gnupg > $PKG/install/slack-desc
+
+# Build the package:
+cd $PKG
+/sbin/makepkg -l y -c n $TMP/gnupg-$VERSION-$ARCH-$BUILD.txz
+
+# Clean up the extra stuff:
+if [ "$1" = "--cleanup" ]; then
+ rm -rf $TMP/gnupg-$VERSION
+ rm -rf $PKG
+fi
diff --git a/patches/source/gnupg/slack-desc.gnupg b/patches/source/gnupg/slack-desc.gnupg
new file mode 100644
index 00000000..496005e9
--- /dev/null
+++ b/patches/source/gnupg/slack-desc.gnupg
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|'
+# on the right side marks the last column you can put a character in. You must
+# make exactly 11 lines for the formatting to be correct. It's also
+# customary to leave one space after the ':'.
+
+ |-----handy-ruler------------------------------------------------------|
+gnupg: gnupg (The GNU Privacy Guard)
+gnupg:
+gnupg: GnuPG is GNU's tool for secure communication and data storage. It can
+gnupg: be used to encrypt data and to create digital signatures. It includes
+gnupg: an advanced key management facility and is compliant with the proposed
+gnupg: OpenPGP Internet standard as described in RFC2440.
+gnupg:
+gnupg:
+gnupg:
+gnupg:
+gnupg:
diff --git a/patches/source/gnupg2/gnupg2.CVE-2010-2547.diff b/patches/source/gnupg2/gnupg2.CVE-2010-2547.diff
new file mode 100644
index 00000000..14c2de7e
--- /dev/null
+++ b/patches/source/gnupg2/gnupg2.CVE-2010-2547.diff
@@ -0,0 +1,10 @@
+--- ./kbx/keybox-blob.c.orig 2009-09-21 11:53:44.000000000 -0500
++++ ./kbx/keybox-blob.c 2010-08-18 20:10:19.000000000 -0500
+@@ -898,6 +898,7 @@
+ rc = gpg_error_from_syserror ();
+ goto leave;
+ }
++ names = tmp;
+ }
+ names[blob->nuids++] = p;
+ if (!i && (p=x509_email_kludge (p)))
diff --git a/patches/source/gnupg2/gnupg2.SlackBuild b/patches/source/gnupg2/gnupg2.SlackBuild
new file mode 100755
index 00000000..d9bb49cb
--- /dev/null
+++ b/patches/source/gnupg2/gnupg2.SlackBuild
@@ -0,0 +1,139 @@
+#!/bin/sh
+
+# Copyright 2006-2009 Robby Workman, Northport, AL, USA
+# Copyright 2007, 2008, 2009 Patrick J. Volkerding, Sebeka, MN, USA
+# All rights reserved.
+#
+# Redistribution and use of this script, with or without modification, is
+# permitted provided that the following conditions are met:
+#
+# 1. Redistributions of this script must retain the above copyright
+# notice, this list of conditions and the following disclaimer.
+#
+# THIS SCRIPT IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED
+# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
+# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
+# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SCRIPT, EVEN IF
+# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+PKGNAME=gnupg2
+VERSION=2.0.12
+BUILD=${BUILD:-2_slack13.0}
+
+# Automatically determine the architecture we're building on:
+if [ -z "$ARCH" ]; then
+ case "$( uname -m )" in
+ i?86) export ARCH=i486 ;;
+ arm*) export ARCH=arm ;;
+ # Unless $ARCH is already set, use uname -m for all other archs:
+ *) export ARCH=$( uname -m ) ;;
+ esac
+fi
+
+NUMJOBS=${NUMJOBS:-" -j7 "}
+
+CWD=$(pwd)
+TMP=${TMP:-/tmp}
+PKG=$TMP/package-gnupg
+
+if [ "$ARCH" = "i486" ]; then
+ SLKCFLAGS="-O2 -march=i486 -mtune=i686"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "s390" ]; then
+ SLKCFLAGS="-O2"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "x86_64" ]; then
+ SLKCFLAGS="-O2 -fPIC"
+ LIBDIRSUFFIX="64"
+fi
+
+rm -rf $PKG
+mkdir -p $TMP $PKG
+
+cd $TMP
+rm -rf gnupg-$VERSION
+tar xvf $CWD/gnupg-$VERSION.tar.bz2 || exit 1
+cd gnupg-$VERSION
+
+zcat $CWD/gnupg2.CVE-2010-2547.diff.gz | patch -p1 --verbose || exit 1
+
+chown -R root:root .
+find . \
+ \( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \
+ -exec chmod 755 {} \; -o \
+ \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \
+ -exec chmod 644 {} \;
+
+CFLAGS="$SLKCFLAGS" \
+CXXFLAGS="$SLKCFLAGS" \
+./configure \
+ --prefix=/usr \
+ --libdir=/usr/lib${LIBDIRSUFFIX} \
+ --mandir=/usr/man \
+ --infodir=/usr/info \
+ --docdir=/usr/doc/gnupg2-$VERSION \
+ --program-prefix="" \
+ --program-suffix="" \
+ --build=$ARCH-slackware-linux \
+ --host=$ARCH-slackware-linux
+
+make $NUMJOBS || make || exit 1
+make install DESTDIR=$PKG || exit 1
+
+find $PKG | xargs file | grep -e "executable" -e "shared object" | grep ELF \
+ | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
+
+( cd $PKG/usr/man
+ find . -type f -exec gzip -9 {} \;
+ for i in $(find . -type l) ; do ln -s $(readlink $i).gz $i.gz ; rm $i ; done
+)
+
+rm -f $PKG/usr/info/dir
+gzip -9 $PKG/usr/info/*
+
+mkdir -p $PKG/usr/doc/gnupg2-$VERSION
+cp -a \
+ ABOUT-NLS AUTHORS COPYING* INSTALL NEWS README* THANKS TODO VERSION \
+ $PKG/usr/doc/gnupg2-$VERSION
+# Build html docs
+( cd doc
+ make gnupg.html
+ mv gnupg.html $PKG/usr/doc/gnupg2-$VERSION/html
+)
+# Fix some filenames in the html directory
+( cd $PKG/usr/doc/gnupg2-$VERSION/html
+mv how_002dto_002dspecify_002da_002duser_002did.html howto_specify_user_id.html
+mv GnuPG_002d1-and-GnuPG_002d2.html GnuPG_1-and-GnuPG_2.html
+mv gpg_002dpreset_002dpassphrase.html gpg_preset_passphrase.html
+mv gpgsm_002dgencert_002esh.html gpgsm_gencert_sh.html
+mv Invoking-gpg_002dpreset_002dpassphrase.html Invoking-gpg_preset_passphrase.html
+mv Invoking-gpg_002dconnect_002dagent.html Invoking-gpg_connect_agent.html
+mv gpg_002dconnect_002dagent.html gpg_connect_agent.html
+mv Agent-GET_005fCONFIRMATION.html Agent-GET_CONFIRMATION.html
+mv option-_002d_002denable_002dssh_002dsupport.html option-enable_ssh_support.html
+mv option-_002d_002doptions.html option-options.html
+mv Invoking-GPG_002dAGENT.html Invoking-GPG_AGENT.html
+mv gpg_002dzip.html gpg_zip.html
+mv option-_002d_002dp12_002dcharset.html option-p12_charset.html
+mv option-_002d_002dallow_002dmark_002dtrusted.html option-allow_mark_trusted.html
+mv Controlling-gpg_002dconnect_002dagent.html Controlling-gpg_connect_agent.html
+mv Agent-GET_005fPASSPHRASE.html Agent-GET_PASSPHRASE.html
+mv option-_002d_002dhomedir.html option-homedir.html
+mv PKCS_002315-Card.html PKCS-15-Card.html
+)
+# Move html doc to the proper location
+mv $PKG/usr/doc/gnupg2-$VERSION/faq.html $PKG/usr/doc/gnupg2-$VERSION/html/
+
+
+mkdir -p $PKG/install
+cat $CWD/slack-desc > $PKG/install/slack-desc
+
+cd $PKG
+/sbin/makepkg -l y -c n $TMP/$PKGNAME-$VERSION-$ARCH-$BUILD.txz
+
diff --git a/patches/source/gnupg2/slack-desc b/patches/source/gnupg2/slack-desc
new file mode 100644
index 00000000..c64d7fb6
--- /dev/null
+++ b/patches/source/gnupg2/slack-desc
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|'
+# on the right side marks the last column you can put a character in. You must
+# make exactly 11 lines for the formatting to be correct. It's also
+# customary to leave one space after the ':'.
+
+ |-----handy-ruler------------------------------------------------------|
+gnupg2: GnuPG2 (The GNU Privacy Guard version 2.x)
+gnupg2:
+gnupg2: GnuPG is GNU's tool for secure communication and data storage. It can
+gnupg2: be used to encrypt data and to create digital signatures. It includes
+gnupg2: an advanced key management facility and is compliant with the proposed
+gnupg2: OpenPGP Internet standard as described in RFC2440 and the S/MIME
+gnupg2: standard as described by several RFCs.
+gnupg2:
+gnupg2: GnuPG 2.0 is the stable version of GnuPG integrating support for
+gnupg2: OpenPGP and S/MIME. It does not conflict with an installed 1.4.x
+gnupg2: OpenPGP-only version.
diff --git a/patches/source/gnutls/gnutls-2.8.4_CVE-2009-3555.diff b/patches/source/gnutls/gnutls-2.8.4_CVE-2009-3555.diff
new file mode 100644
index 00000000..3eb1cebd
--- /dev/null
+++ b/patches/source/gnutls/gnutls-2.8.4_CVE-2009-3555.diff
@@ -0,0 +1,7376 @@
+From 1799ec5c820c421947633bc2f0516236f12d0dca Mon Sep 17 00:00:00 2001
+From: mancha <mancha1@hush.com>
+Date: Sun, 29 Sep 2013
+Subject: CVE-2009-3555 [GNUTLS-SA-2009-5]
+
+Adds safe renegotiation patch from Steve Dispensa, modified by GnuTLS
+to conform with project style guidelines, error checking, and RFC 5746.
+
+This is a backport adaptation for use with GnuTLS 2.8.4.
+
+For background, read Marsh Ray & Steve Dispensa's 2009 paper:
+http://ww1.prweb.com/prfiles/2009/11/05/104435/RenegotiatingTLS.pdf
+
+Relevant upstream commits:
+--------------------------
+https://gitorious.org/gnutls/gnutls/commit/03249cd537c0b5
+https://gitorious.org/gnutls/gnutls/commit/1344b312402d3b
+https://gitorious.org/gnutls/gnutls/commit/15090a5f52a5f5
+https://gitorious.org/gnutls/gnutls/commit/17e65babe44763
+https://gitorious.org/gnutls/gnutls/commit/1875dca5e0f6d7
+https://gitorious.org/gnutls/gnutls/commit/1a338cbaaeec11
+https://gitorious.org/gnutls/gnutls/commit/1ac2d2d55d8411
+https://gitorious.org/gnutls/gnutls/commit/1ced4c4d68cf33
+https://gitorious.org/gnutls/gnutls/commit/1d6766cda39a57
+https://gitorious.org/gnutls/gnutls/commit/1e42526790e54d
+https://gitorious.org/gnutls/gnutls/commit/22553a5d48bcf0
+https://gitorious.org/gnutls/gnutls/commit/250e4ddf478910
+https://gitorious.org/gnutls/gnutls/commit/2d303d2076f53a
+https://gitorious.org/gnutls/gnutls/commit/30748a9bcbfb76
+https://gitorious.org/gnutls/gnutls/commit/36693266659a6d
+https://gitorious.org/gnutls/gnutls/commit/3deda2c2f0c2ac
+https://gitorious.org/gnutls/gnutls/commit/3ee73d04c2a503
+https://gitorious.org/gnutls/gnutls/commit/4ceabba9547dc3
+https://gitorious.org/gnutls/gnutls/commit/4e5d5518c6cb58
+https://gitorious.org/gnutls/gnutls/commit/4f31d28f160a59
+https://gitorious.org/gnutls/gnutls/commit/530fa2957535be
+https://gitorious.org/gnutls/gnutls/commit/555ddcdcf363ca
+https://gitorious.org/gnutls/gnutls/commit/58604f748d324c
+https://gitorious.org/gnutls/gnutls/commit/5cf6a95171b1a8
+https://gitorious.org/gnutls/gnutls/commit/5dfa0b28334e36
+https://gitorious.org/gnutls/gnutls/commit/5fc3704e32462f
+https://gitorious.org/gnutls/gnutls/commit/62e03fb4b0f307
+https://gitorious.org/gnutls/gnutls/commit/705aa8cd3da09a
+https://gitorious.org/gnutls/gnutls/commit/78149b946d3cff
+https://gitorious.org/gnutls/gnutls/commit/783bfc6415ca0a
+https://gitorious.org/gnutls/gnutls/commit/7b6ae740e8e8a4
+https://gitorious.org/gnutls/gnutls/commit/87ff666e310cfa
+https://gitorious.org/gnutls/gnutls/commit/8cb3fee16deb3f
+https://gitorious.org/gnutls/gnutls/commit/987076c0b8fce9
+https://gitorious.org/gnutls/gnutls/commit/a23f37448755d8
+https://gitorious.org/gnutls/gnutls/commit/a4d4458cf2ec08
+https://gitorious.org/gnutls/gnutls/commit/ae2540986ed382
+https://gitorious.org/gnutls/gnutls/commit/bbc7b93c9e1720
+https://gitorious.org/gnutls/gnutls/commit/bef37bc1f17c83
+https://gitorious.org/gnutls/gnutls/commit/bfe6ede9843c0c
+https://gitorious.org/gnutls/gnutls/commit/c1953c310b347b
+https://gitorious.org/gnutls/gnutls/commit/caab2fd62fdd32
+https://gitorious.org/gnutls/gnutls/commit/ce53777e3ad877
+https://gitorious.org/gnutls/gnutls/commit/d20cd80b62148c
+https://gitorious.org/gnutls/gnutls/commit/dc468cee92c5ae
+https://gitorious.org/gnutls/gnutls/commit/de9bc9b3dc1ec0
+https://gitorious.org/gnutls/gnutls/commit/dea2ff7150f00f
+https://gitorious.org/gnutls/gnutls/commit/df861cb8ae9728
+https://gitorious.org/gnutls/gnutls/commit/e543db08dc98d4
+https://gitorious.org/gnutls/gnutls/commit/ed8a5c018ea46d
+https://gitorious.org/gnutls/gnutls/commit/f623b9904535b8
+https://gitorious.org/gnutls/gnutls/commit/d4ea78c390dff6
+https://gitorious.org/gnutls/gnutls/commit/b2fca85c8fe5db
+https://gitorious.org/gnutls/gnutls/commit/100563a343b9e3
+https://gitorious.org/gnutls/gnutls/commit/67ff3f2cedabcf
+https://gitorious.org/gnutls/gnutls/commit/8a39da8c8eba54
+https://gitorious.org/gnutls/gnutls/commit/dc5a475674af59
+
+---
+ AUTHORS | 3
+ NEWS | 17
+ configure | 3
+ configure.ac | 1
+ doc/gnutls-api.texi | 14
+ doc/gnutls.texi | 94 +
+ doc/manpages/Makefile.in | 4
+ doc/manpages/gnutls-cli.1 | 9
+ doc/manpages/gnutls-serv.1 | 9
+ doc/manpages/gnutls_priority_init.3 | 15
+ doc/manpages/gnutls_safe_renegotiation_status.3 | 41
+ lib/Makefile.am | 4
+ lib/Makefile.in | 7
+ lib/ext_safe_renegotiation.c | 139 ++
+ lib/ext_safe_renegotiation.h | 33
+ lib/gnutls_alert.c | 6
+ lib/gnutls_algorithms.c | 7
+ lib/gnutls_algorithms.h | 3
+ lib/gnutls_constate.c | 15
+ lib/gnutls_errors.c | 6
+ lib/gnutls_extensions.c | 20
+ lib/gnutls_extensions.h | 4
+ lib/gnutls_handshake.c | 391 +++++--
+ lib/gnutls_int.h | 39
+ lib/gnutls_priority.c | 105 +
+ lib/gnutls_record.c | 12
+ lib/gnutls_state.c | 6
+ lib/includes/gnutls/gnutls.h.in | 10
+ lib/libgnutls.map | 6
+ src/cli-gaa.c | 19
+ src/cli-gaa.h | 1
+ src/cli.c | 25
+ src/cli.gaa | 5
+ src/serv.c | 59 -
+ src/tests.c | 513 ++-------
+ src/tests.h | 5
+ src/tls_test.c | 11
+ tests/Makefile.am | 2
+ tests/Makefile.in | 4
+ tests/resume.c | 22
+ tests/safe-renegotiation/Makefile.am | 37
+ tests/safe-renegotiation/Makefile.in | 1299 ++++++++++++++++++++++++
+ tests/safe-renegotiation/README | 93 +
+ tests/safe-renegotiation/params.dh | 35
+ tests/safe-renegotiation/srn0.c | 338 ++++++
+ tests/safe-renegotiation/srn1.c | 341 ++++++
+ tests/safe-renegotiation/srn2.c | 341 ++++++
+ tests/safe-renegotiation/srn3.c | 264 ++++
+ tests/safe-renegotiation/srn4.c | 263 ++++
+ tests/safe-renegotiation/srn5.c | 337 ++++++
+ tests/safe-renegotiation/srn6.c | 337 ++++++
+ tests/safe-renegotiation/srn7.c | 336 ++++++
+ tests/safe-renegotiation/testsrn | 103 +
+ tests/simple.c | 4
+ 54 files changed, 5330 insertions(+), 487 deletions(-)
+
+--- a/AUTHORS 2009-06-02
++++ b/AUTHORS 2013-09-26
+@@ -51,6 +51,9 @@ OpenPGP discussion and improvements.
+ David Marín Carreño <davefx@gmail.com>
+ Added gnutls_x509_crq_get_key_id.
+
++Steve Dispensa <dispensa@phonefactor.com>
++TLS safe renegotiation fix.
++
+ -----BEGIN PGP PUBLIC KEY BLOCK-----
+ URL: http://josefsson.org/key.txt (always latest version)
+ Comment: This 0xB565716F key is used to sign releases of GnuTLS.
+--- a/configure.ac 2009-11-06
++++ b/configure.ac 2013-09-26
+@@ -275,6 +275,7 @@ AC_CONFIG_FILES([
+ tests/pkcs8-decode/Makefile
+ tests/rsa-md5-collision/Makefile
+ tests/sha2/Makefile
++ tests/safe-renegotiation/Makefile
+ tests/userid/Makefile
+ ])
+ AC_OUTPUT
+--- a/configure 2010-03-15
++++ b/configure 2013-09-26
+@@ -28310,7 +28310,7 @@ subdirs="$subdirs libextra"
+
+ ac_config_files="$ac_config_files guile/pre-inst-guile"
+
+-ac_config_files="$ac_config_files Makefile doc/Makefile doc/credentials/Makefile doc/credentials/openpgp/Makefile doc/credentials/srp/Makefile doc/credentials/x509/Makefile doc/cyclo/Makefile doc/doxygen/Doxyfile doc/examples/Makefile doc/manpages/Makefile doc/reference/Makefile doc/scripts/Makefile gl/Makefile gl/tests/Makefile guile/Makefile guile/modules/Makefile guile/src/Makefile guile/tests/Makefile src/Makefile src/cfg/Makefile src/cfg/platon/Makefile src/cfg/platon/str/Makefile tests/Makefile tests/key-id/Makefile tests/openpgp-certs/Makefile tests/pathlen/Makefile tests/pkcs1-padding/Makefile tests/pkcs12-decode/Makefile tests/pkcs8-decode/Makefile tests/rsa-md5-collision/Makefile tests/sha2/Makefile tests/userid/Makefile"
++ac_config_files="$ac_config_files Makefile doc/Makefile doc/credentials/Makefile doc/credentials/openpgp/Makefile doc/credentials/srp/Makefile doc/credentials/x509/Makefile doc/cyclo/Makefile doc/doxygen/Doxyfile doc/examples/Makefile doc/manpages/Makefile doc/reference/Makefile doc/scripts/Makefile gl/Makefile gl/tests/Makefile guile/Makefile guile/modules/Makefile guile/src/Makefile guile/tests/Makefile src/Makefile src/cfg/Makefile src/cfg/platon/Makefile src/cfg/platon/str/Makefile tests/Makefile tests/key-id/Makefile tests/openpgp-certs/Makefile tests/safe-renegotiation/Makefile tests/pathlen/Makefile tests/pkcs1-padding/Makefile tests/pkcs12-decode/Makefile tests/pkcs8-decode/Makefile tests/rsa-md5-collision/Makefile tests/sha2/Makefile tests/userid/Makefile"
+
+ cat >confcache <<\_ACEOF
+ # This file is a shell script that caches the results of configure
+@@ -29529,6 +29529,7 @@ do
+ "tests/Makefile") CONFIG_FILES="$CONFIG_FILES tests/Makefile" ;;
+ "tests/key-id/Makefile") CONFIG_FILES="$CONFIG_FILES tests/key-id/Makefile" ;;
+ "tests/openpgp-certs/Makefile") CONFIG_FILES="$CONFIG_FILES tests/openpgp-certs/Makefile" ;;
++ "tests/safe-renegotiation/Makefile") CONFIG_FILES="$CONFIG_FILES tests/safe-renegotiation/Makefile" ;;
+ "tests/pathlen/Makefile") CONFIG_FILES="$CONFIG_FILES tests/pathlen/Makefile" ;;
+ "tests/pkcs1-padding/Makefile") CONFIG_FILES="$CONFIG_FILES tests/pkcs1-padding/Makefile" ;;
+ "tests/pkcs12-decode/Makefile") CONFIG_FILES="$CONFIG_FILES tests/pkcs12-decode/Makefile" ;;
+--- a/doc/gnutls-api.texi 2010-03-15
++++ b/doc/gnutls-api.texi 2013-09-26
+@@ -3307,6 +3307,20 @@ This function will initialize the tempor
+ @strong{Returns:} @code{GNUTLS_E_SUCCESS} on success, or an negative error code.
+ @end deftypefun
+
++@subheading gnutls_safe_renegotiation_status
++@anchor{gnutls_safe_renegotiation_status}
++@deftypefun {int} {gnutls_safe_renegotiation_status} (gnutls_session_t @var{session})
++@var{session}: is a @code{gnutls_session_t} structure.
++
++Can be used to check whether safe renegotiation is being used
++in the current session.
++
++@strong{Returns:} 0 when safe renegotiation is not used and non zero when
++safe renegotiation is used.
++
++@strong{Since:} 2.10.0
++@end deftypefun
++
+ @subheading gnutls_server_name_get
+ @anchor{gnutls_server_name_get}
+ @deftypefun {int} {gnutls_server_name_get} (gnutls_session_t @var{session}, void * @var{data}, size_t * @var{data_length}, unsigned int * @var{type}, unsigned int @var{indx})
+--- a/doc/gnutls.texi 2009-06-02
++++ b/doc/gnutls.texi 2013-09-26
+@@ -565,6 +565,7 @@ also supports @acronym{X.509} and @acron
+ * Selecting cryptographic key sizes::
+ * On SSL 2 and older protocols::
+ * On Record Padding::
++* Safe Renegotiation::
+ @end menu
+
+ @node TLS layers
+@@ -1202,6 +1203,94 @@ here are some links:
+
+ @url{http://thread.gmane.org/gmane.ietf.tls/3079}
+
++@node Safe Renegotiation
++@section Safe Renegotiation
++@cindex renegotiation
++
++Some application protocols and implementations uses the TLS
++renegotiation feature in a manner that enables attackers to insert
++content of his choice in the beginning of a TLS session.
++
++One easy to understand vulnerability is HTTPS when servers request
++client certificates optionally for certain parts of a web site. The
++attack works by having the attacker simulate a client and connect to a
++server, with server-only authentication, and send some data intended
++to cause harm. When the proper client attempts to contact the server,
++the attacker hijacks that connection and uses the TLS renegotiation
++feature with the server and splices in the client connection to the
++already established connection between the attacker and server. The
++attacker will not be able to read the data exchanged between the
++client and the server. However, the server will (incorrectly) assume
++that the data sent by the attacker was sent by the now authenticated
++client. The result is a prefix plain-text injection attack.
++
++The above is just one example. Other vulnerabilities exists that do
++not rely on the TLS renegotiation to change the client's authenticated
++status (either TLS or application layer).
++
++While fixing these application protocols and implementations would be
++one natural reaction, an extension to TLS has been designed that
++cryptographically binds together any renegotiated handshakes with the
++initial negotiation. When the extension is used, the attack is
++detected and the session can be terminated. The extension is
++specified in @xcite{RFC5746}.
++
++GnuTLS supports the safe renegotiation extension. The default
++behavior is as follows. Clients will attempt to negotiate the safe
++renegotiation extension when talking to servers. Servers will accept
++the extension when presented by clients. Clients and servers will
++permit an initial handshake to complete even when the other side does
++not support the safe renegotiation extension. Clients and servers
++will refuse renegotiation attempts when the extension has not been
++negotiated.
++
++Note that permitting clients to connect to servers even when the safe
++renegotiation extension is not negotiated open up for some attacks.
++Changing this default behaviour would prevent interoperability against
++the majority of deployed servers out there. We will reconsider this
++default behaviour in the future when more servers have been upgraded.
++Note that it is easy to configure clients to always require the safe
++renegotiation extension from servers (see below on the
++%SAFE_RENEGOTIATION priority string).
++
++To modify the default behaviour, we have introduced some new priority
++strings. The priority strings can be used by applications
++(@pxref{gnutls_priority_set}) and end users (e.g., @code{--priority}
++parameter to @code{gnutls-cli} and @code{gnutls-serv}).
++
++The @code{%UNSAFE_RENEGOTIATION} priority string permits
++(re-)handshakes even when the safe renegotiation extension was not
++negotiated. The default behavior is @code{%PARTIAL_RENEGOTIATION} that will
++prevent renegotiation with clients and servers not supporting the
++extension. This is secure for servers but leaves clients vulnerable
++to some attacks, but this is a tradeoff between security and compatibility
++with old servers. The @code{%SAFE_RENEGOTIATION} priority string makes
++clients and servers require the extension for every handshake. The latter
++is the most secure option for clients, at the cost of not being able
++to connect to legacy servers. Servers will also deny clients that
++do not support the extension from connecting.
++
++It is possible to disable use of the extension completely, in both
++clients and servers, by using the @code{%DISABLE_SAFE_RENEGOTIATION}
++priority string however we strongly recommend you to only do this for
++debugging and test purposes.
++
++The default values if the flags above are not specified are:
++@table @code
++
++@item Server:
++%PARTIAL_RENEGOTIATION
++
++@item Client:
++%PARTIAL_RENEGOTIATION
++
++@end table
++
++For applications we have introduced a new API related to safe
++renegotiation. The @ref{gnutls_safe_renegotiation_status} function is
++used to check if the extension has been negotiated on a session, and
++can be used both by clients and servers.
++
+ @node Authentication methods
+ @chapter Authentication Methods
+
+@@ -4179,6 +4268,11 @@ Pasi Eronen and Hannes Tschofenig, "Pre-
+ TLS", December 2005, Available from
+ @url{http://www.ietf.org/rfc/rfc4279.txt}.
+
++@item @anchor{RFC5746}[RFC5746]
++E. Rescorla, M. Ray, S. Dispensa, and N. Oskov, "Transport Layer
++Security (TLS) Renegotiation Indication Extension", February 2010,
++available from @url{http://www.ietf.org/rfc/rfc5746}.
++
+ @item @anchor{TOMSRP}[TOMSRP]
+ Tom Wu, "The Stanford SRP Authentication Project", Available at
+ @url{http://srp.stanford.edu/}.
+--- a/doc/manpages/gnutls-cli.1 2009-06-02
++++ b/doc/manpages/gnutls-cli.1 2013-09-26
+@@ -75,6 +75,15 @@ Special keywords:
+ "%SSL3_RECORD_VERSION" force SSL3.0 record version in the first client
+ hello. This is to avoid buggy servers from terminating connection.
+ .IP
++"%UNSAFE_RENEGOTIATION" Permits (re-)handshakes even unsafe ones.
++.IP
++"%PARTIAL_RENEGOTIATION" Prevents renegotiation with clients and servers not
++supporting the safe renegotiation extension. (default)
++.IP
++"%SAFE_RENEGOTIATION" will enable safe renegotiation. This is the most
++secure and recommended option for clients. However this will prevent from
++connecting to legacy servers.
++.IP
+ To avoid collisions in order to specify a compression algorithm in
+ this string you have to prefix it with "COMP-", protocol versions
+ with "VERS-" and certificate types with "CTYPE-". All other
+--- a/doc/manpages/gnutls-serv.1 2009-06-02
++++ b/doc/manpages/gnutls-serv.1 2013-09-26
+@@ -75,6 +75,15 @@ Special keywords:
+ .IP
+ '%COMPAT' will enable compatibility features for a server.
+ .IP
++"%UNSAFE_RENEGOTIATION" Permits (re-)handshakes even unsafe ones.
++.IP
++"%PARTIAL_RENEGOTIATION" Prevents renegotiation with clients and servers not
++supporting the safe renegotiation extension. (default)
++.IP
++"%SAFE_RENEGOTIATION" will enable safe renegotiation. This is the most
++secure and recommended option for clients. However this will prevent from
++connecting to legacy servers.
++.IP
+ To avoid collisions in order to specify a compression algorithm in
+ this string you have to prefix it with "COMP-", protocol versions
+ with "VERS-" and certificate types with "CTYPE-". All other
+--- a/doc/manpages/gnutls_priority_init.3 2010-03-15
++++ b/doc/manpages/gnutls_priority_init.3 2013-09-26
+@@ -67,6 +67,21 @@ compression methods.
+
+ "%COMPAT" will enable compatibility features for a server.
+
++"%UNSAFE_RENEGOTIATION" will allow unsafe renegotiation (this is now
++the default for clients, but will change once more servers support the safe renegotiation
++TLS fix).
++
++"%SAFE_RENEGOTIATION" will allow safe renegotiation only (this is the
++default for servers \- that will reject clients trying to perform an
++unsafe renegotiation).
++
++"%INITIAL_SAFE_RENEGOTIATION" will force initial safe negotiation even if
++renegotiation wasn't requested. Only valid for server side and implies
++"%SAFE_RENEGOTIATION".
++
++"%DISABLE_SAFE_RENEGOTIATION" will disable safe renegotiation completely. Do not use
++unless you know what you are doing. Testing purposes only.
++
+ "%SSL3_RECORD_VERSION" will use SSL3.0 record version in client hello.
+
+ "%VERIFY_ALLOW_SIGN_RSA_MD5" will allow RSA\-MD5 signatures in
+--- /dev/null 2013-09-26
++++ b/doc/manpages/gnutls_safe_renegotiation_status.3 2013-09-26
+@@ -0,0 +1,41 @@
++.\" DO NOT MODIFY THIS FILE! It was generated by gdoc.
++.TH "gnutls_safe_renegotiation_status" 3 "2.9.11" "gnutls" "gnutls"
++.SH NAME
++gnutls_safe_renegotiation_status \- API function
++.SH SYNOPSIS
++.B #include <gnutls/gnutls.h>
++.sp
++.BI "int gnutls_safe_renegotiation_status(gnutls_session_t " session ");"
++.SH ARGUMENTS
++.IP "gnutls_session_t session" 12
++is a \fBgnutls_session_t\fP structure.
++.SH "DESCRIPTION"
++Can be used to check whether safe renegotiation is being used
++in the current session.
++.SH "RETURNS"
++0 when safe renegotiation is not used and non zero when
++safe renegotiation is used.
++.SH "SINCE"
++2.10.0
++.SH "REPORTING BUGS"
++Report bugs to <bug-gnutls@gnu.org>.
++GnuTLS home page: http://www.gnu.org/software/gnutls/
++General help using GNU software: http://www.gnu.org/gethelp/
++.SH COPYRIGHT
++Copyright \(co 2008 Free Software Foundation.
++.br
++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.
++.SH "SEE ALSO"
++The full documentation for
++.B gnutls
++is maintained as a Texinfo manual. If the
++.B info
++and
++.B gnutls
++programs are properly installed at your site, the command
++.IP
++.B info gnutls
++.PP
++should give you access to the complete manual.
+--- a/doc/manpages/Makefile.in 2010-03-15
++++ b/doc/manpages/Makefile.in 2013-09-26
+@@ -523,7 +523,6 @@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
+ PACKAGE_NAME = @PACKAGE_NAME@
+ PACKAGE_STRING = @PACKAGE_STRING@
+ PACKAGE_TARNAME = @PACKAGE_TARNAME@
+-PACKAGE_URL = @PACKAGE_URL@
+ PACKAGE_VERSION = @PACKAGE_VERSION@
+ PATH_SEPARATOR = @PATH_SEPARATOR@
+ PKG_CONFIG = @PKG_CONFIG@
+@@ -682,7 +681,8 @@ APIMANS = gnutls_crypto_single_cipher_re
+ gnutls_crypto_bigint_register2.3 gnutls_crypto_pk_register2.3 \
+ gnutls_crypto_cipher_register2.3 gnutls_crypto_mac_register2.3 \
+ gnutls_crypto_digest_register2.3 gnutls_oprfi_enable_client.3 \
+- gnutls_oprfi_enable_server.3 gnutls_server_name_get.3 \
++ gnutls_oprfi_enable_server.3 \
++ gnutls_safe_renegotiation_status.3 gnutls_server_name_get.3 \
+ gnutls_server_name_set.3 gnutls_alert_get_name.3 \
+ gnutls_alert_send.3 gnutls_error_to_alert.3 \
+ gnutls_alert_send_appropriate.3 gnutls_alert_get.3 \
+--- /dev/null 2013-09-26
++++ b/lib/ext_safe_renegotiation.c 2013-09-26
+@@ -0,0 +1,139 @@
++/*
++ * Copyright (C) 2009 Free Software Foundation
++ *
++ * Author: Steve Dispensa (<dispensa@phonefactor.com>)
++ *
++ * This file is part of GNUTLS.
++ *
++ * The GNUTLS library is free software; you can redistribute it and/or
++ * modify it under the terms of the GNU Lesser General Public License
++ * as published by the Free Software Foundation; either version 2.1 of
++ * the License, or (at your option) any later version.
++ *
++ * This library is distributed in the hope that it will be useful, but
++ * WITHOUT ANY WARRANTY; without even the implied warranty of
++ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
++ * Lesser General Public License for more details.
++ *
++ * You should have received a copy of the GNU Lesser General Public
++ * License along with this library; if not, write to the Free Software
++ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
++ * USA
++ *
++ */
++
++#include <gnutls_int.h>
++#include <ext_safe_renegotiation.h>
++#include <gnutls_errors.h>
++
++int
++_gnutls_safe_renegotiation_recv_params (gnutls_session_t session,
++ const opaque * data, size_t _data_size)
++{
++ tls_ext_st *ext = &session->security_parameters.extensions;
++ int len = data[0];
++ ssize_t data_size = _data_size;
++
++ DECR_LEN (data_size, len+1 /* count the first byte and payload */);
++
++ if (session->internals.priorities.safe_renegotiation == SR_DISABLED)
++ {
++ gnutls_assert ();
++ return 0;
++ }
++
++ /* It is not legal to receive this extension on a renegotiation and
++ * not receive it on the initial negotiation.
++ */
++ if (session->internals.initial_negotiation_completed != 0 &&
++ session->internals.connection_using_safe_renegotiation == 0)
++ {
++ gnutls_assert();
++ return GNUTLS_E_SAFE_RENEGOTIATION_FAILED;
++ }
++
++ if (len > sizeof (ext->ri_extension_data))
++ {
++ gnutls_assert();
++ return GNUTLS_E_SAFE_RENEGOTIATION_FAILED;
++ }
++
++ if (len > 0)
++ memcpy (ext->ri_extension_data, &data[1], len);
++ ext->ri_extension_data_len = len;
++
++ /* "safe renegotiation received" means on *this* handshake; "connection using
++ * safe renegotiation" means that the initial hello received on the connection
++ * indicated safe renegotiation.
++ */
++ session->internals.safe_renegotiation_received = 1;
++ session->internals.connection_using_safe_renegotiation = 1;
++
++ return 0;
++}
++
++int
++_gnutls_safe_renegotiation_send_params (gnutls_session_t session,
++ opaque * data, size_t _data_size)
++{
++ /* The format of this extension is a one-byte length of verify data followed
++ * by the verify data itself. Note that the length byte does not include
++ * itself; IOW, empty verify data is represented as a length of 0. That means
++ * the minimum extension is one byte: 0x00.
++ */
++ ssize_t data_size = _data_size;
++ tls_ext_st *ext = &session->security_parameters.extensions;
++
++
++ if (session->internals.priorities.safe_renegotiation == SR_DISABLED)
++ {
++ gnutls_assert();
++ return 0;
++ }
++
++ data[0] = 0;
++
++ /* Always offer the extension if we're a client */
++ if (session->internals.connection_using_safe_renegotiation ||
++ session->security_parameters.entity == GNUTLS_CLIENT)
++ {
++ DECR_LEN (data_size, 1);
++ data[0] = ext->client_verify_data_len;
++
++ DECR_LEN (data_size, ext->client_verify_data_len);
++
++ if (ext->client_verify_data_len > 0)
++ memcpy(&data[1],
++ ext->client_verify_data,
++ ext->client_verify_data_len);
++
++ if (session->security_parameters.entity == GNUTLS_SERVER)
++ {
++ data[0] += ext->server_verify_data_len;
++
++ DECR_LEN (data_size, ext->server_verify_data_len);
++
++ if (ext->server_verify_data_len > 0)
++ memcpy(&data[1 + ext->client_verify_data_len],
++ ext->server_verify_data,
++ ext->server_verify_data_len);
++ }
++ }
++ else
++ return 0;
++
++ return 1 + data[0]; /* don't forget the length byte */
++}
++
++/**
++ * gnutls_safe_renegotiation_status:
++ * @session: is a #gnutls_session_t structure.
++ *
++ * Can be used to check whether safe renegotiation is being used
++ * in the current session. Returns 0 when not and non zero when
++ * used.
++ **/
++int gnutls_safe_renegotiation_status (gnutls_session_t session)
++{
++ return session->internals.connection_using_safe_renegotiation;
++}
+--- /dev/null 2013-09-26
++++ b/lib/ext_safe_renegotiation.h 2013-09-26
+@@ -0,0 +1,33 @@
++/*
++ * Copyright (C) 2009 Free Software Foundation
++ *
++ * Author: Steve Dispensa (<dispensa@phonefactor.com>)
++ *
++ * This file is part of GNUTLS.
++ *
++ * The GNUTLS library is free software; you can redistribute it and/or
++ * modify it under the terms of the GNU Lesser General Public License
++ * as published by the Free Software Foundation; either version 2.1 of
++ * the License, or (at your option) any later version.
++ *
++ * This library is distributed in the hope that it will be useful, but
++ * WITHOUT ANY WARRANTY; without even the implied warranty of
++ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
++ * Lesser General Public License for more details.
++ *
++ * You should have received a copy of the GNU Lesser General Public
++ * License along with this library; if not, write to the Free Software
++ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
++ * USA
++ *
++ */
++
++#ifndef EXT_SAFE_RENEGOTIATION_H
++# define EXT_SAFE_RENEGOTIATION_H
++
++int _gnutls_safe_renegotiation_recv_params (gnutls_session_t state,
++ const opaque * data, size_t data_size);
++int _gnutls_safe_renegotiation_send_params (gnutls_session_t state,
++ opaque * data, size_t);
++
++#endif /* EXT_SAFE_RENEGOTIATION_H */
+--- a/lib/gnutls_alert.c 2009-06-02
++++ b/lib/gnutls_alert.c 2013-09-26
+@@ -180,6 +180,10 @@ gnutls_error_to_alert (int err, int *lev
+ ret = GNUTLS_A_ILLEGAL_PARAMETER;
+ _level = GNUTLS_AL_FATAL;
+ break;
++ case GNUTLS_E_UNKNOWN_SRP_USERNAME:
++ ret = GNUTLS_A_UNKNOWN_PSK_IDENTITY;
++ _level = GNUTLS_AL_FATAL;
++ break;
+ case GNUTLS_E_ASN1_ELEMENT_NOT_FOUND:
+ case GNUTLS_E_ASN1_IDENTIFIER_NOT_FOUND:
+ case GNUTLS_E_ASN1_DER_ERROR:
+@@ -199,6 +203,7 @@ gnutls_error_to_alert (int err, int *lev
+ case GNUTLS_E_INSUFFICIENT_CREDENTIALS:
+ case GNUTLS_E_NO_CIPHER_SUITES:
+ case GNUTLS_E_NO_COMPRESSION_ALGORITHMS:
++ case GNUTLS_E_SAFE_RENEGOTIATION_FAILED:
+ ret = GNUTLS_A_HANDSHAKE_FAILURE;
+ _level = GNUTLS_AL_FATAL;
+ break;
+@@ -212,6 +217,7 @@ gnutls_error_to_alert (int err, int *lev
+ _level = GNUTLS_AL_FATAL;
+ break;
+ case GNUTLS_E_REHANDSHAKE:
++ case GNUTLS_E_UNSAFE_RENEGOTIATION_DENIED:
+ ret = GNUTLS_A_NO_RENEGOTIATION;
+ _level = GNUTLS_AL_WARNING;
+ break;
+--- a/lib/gnutls_algorithms.c 2009-08-12
++++ b/lib/gnutls_algorithms.c 2013-09-26
+@@ -457,6 +457,10 @@ typedef struct
+ #define GNUTLS_DHE_RSA_CAMELLIA_256_CBC_SHA1 { 0x00,0x88 }
+ #endif
+
++/* Safe renegotiation */
++
++#define GNUTLS_RENEGO_PROTECTION_REQUEST { GNUTLS_RENEGO_PROTECTION_REQUEST_MAJOR, GNUTLS_RENEGO_PROTECTION_REQUEST_MINOR }
++
+ #define CIPHER_SUITES_COUNT sizeof(cs_algorithms)/sizeof(gnutls_cipher_suite_entry)-1
+
+ static const gnutls_cipher_suite_entry cs_algorithms[] = {
+@@ -624,6 +628,9 @@ static const gnutls_cipher_suite_entry c
+ GNUTLS_CIPHER_CAMELLIA_256_CBC, GNUTLS_KX_RSA,
+ GNUTLS_MAC_SHA1, GNUTLS_TLS1),
+ #endif
++ GNUTLS_CIPHER_SUITE_ENTRY (GNUTLS_RENEGO_PROTECTION_REQUEST,
++ GNUTLS_CIPHER_UNKNOWN, GNUTLS_KX_UNKNOWN,
++ GNUTLS_MAC_UNKNOWN, GNUTLS_SSL3),
+ {0, {{0, 0}}, 0, 0, 0, 0}
+ };
+
+--- a/lib/gnutls_algorithms.h 2009-06-02
++++ b/lib/gnutls_algorithms.h 2013-09-26
+@@ -27,6 +27,9 @@
+
+ #include "gnutls_auth.h"
+
++#define GNUTLS_RENEGO_PROTECTION_REQUEST_MAJOR 0x00
++#define GNUTLS_RENEGO_PROTECTION_REQUEST_MINOR 0xFF
++
+ /* Functions for version handling. */
+ gnutls_protocol_t _gnutls_version_lowest (gnutls_session_t session);
+ gnutls_protocol_t _gnutls_version_max (gnutls_session_t session);
+--- a/lib/gnutls_constate.c 2009-11-06
++++ b/lib/gnutls_constate.c 2013-09-26
+@@ -380,6 +380,17 @@ _gnutls_set_write_keys (gnutls_session_t
+ export_flag);
+ }
+
++#define CPY_EXTENSIONS \
++ memcpy(dst->extensions.server_names, src->extensions.server_names, sizeof(src->extensions.server_names)); \
++ dst->extensions.server_names_size = src->extensions.server_names_size; \
++ memcpy(dst->extensions.srp_username, src->extensions.srp_username, sizeof(src->extensions.srp_username)); \
++ dst->extensions.gnutls_ia_enable = src->extensions.gnutls_ia_enable; \
++ dst->extensions.gnutls_ia_peer_enable = src->extensions.gnutls_ia_peer_enable; \
++ dst->extensions.gnutls_ia_allowskip = src->extensions.gnutls_ia_allowskip; \
++ dst->extensions.gnutls_ia_peer_allowskip = src->extensions.gnutls_ia_peer_allowskip; \
++ dst->extensions.do_recv_supplemental = src->extensions.do_recv_supplemental; \
++ dst->extensions.do_send_supplemental = src->extensions.do_send_supplemental
++
+ #define CPY_COMMON dst->entity = src->entity; \
+ dst->kx_algorithm = src->kx_algorithm; \
+ memcpy( &dst->current_cipher_suite, &src->current_cipher_suite, sizeof(cipher_suite_st)); \
+@@ -393,8 +404,8 @@ _gnutls_set_write_keys (gnutls_session_t
+ dst->max_record_recv_size = src->max_record_recv_size; \
+ dst->max_record_send_size = src->max_record_send_size; \
+ dst->version = src->version; \
+- memcpy( &dst->extensions, &src->extensions, sizeof(tls_ext_st)); \
+- memcpy( &dst->inner_secret, &src->inner_secret, GNUTLS_MASTER_SIZE);
++ CPY_EXTENSIONS; \
++ memcpy( &dst->inner_secret, &src->inner_secret, GNUTLS_MASTER_SIZE)
+
+ static void
+ _gnutls_cpy_read_security_parameters (security_parameters_st *
+--- a/lib/gnutls_errors.c 2009-06-02
++++ b/lib/gnutls_errors.c 2013-09-26
+@@ -220,9 +220,15 @@ static const gnutls_error_entry error_al
+ GNUTLS_E_OPENPGP_GETKEY_FAILED, 1),
+ ERROR_ENTRY (N_("Could not find OpenPGP subkey."),
+ GNUTLS_E_OPENPGP_SUBKEY_ERROR, 1),
++ ERROR_ENTRY (N_("Safe renegotiation failed."),
++ GNUTLS_E_SAFE_RENEGOTIATION_FAILED, 1),
++ ERROR_ENTRY (N_("Unsafe renegotiation denied."),
++ GNUTLS_E_UNSAFE_RENEGOTIATION_DENIED, 1),
+
+ ERROR_ENTRY (N_("The SRP username supplied is illegal."),
+ GNUTLS_E_ILLEGAL_SRP_USERNAME, 1),
++ ERROR_ENTRY (N_("The SRP username supplied is unknown."),
++ GNUTLS_E_UNKNOWN_SRP_USERNAME, 1),
+
+ ERROR_ENTRY (N_("The OpenPGP fingerprint is not supported."),
+ GNUTLS_E_OPENPGP_FINGERPRINT_UNSUPPORTED, 1),
+--- a/lib/gnutls_extensions.c 2009-06-08
++++ b/lib/gnutls_extensions.c 2013-09-26
+@@ -35,6 +35,7 @@
+ #include <ext_server_name.h>
+ #include <ext_oprfi.h>
+ #include <ext_srp.h>
++#include <ext_safe_renegotiation.h>
+ #include <gnutls_num.h>
+
+ typedef struct
+@@ -133,7 +134,7 @@ _gnutls_parse_extensions (gnutls_session
+ type = _gnutls_read_uint16 (&data[pos]);
+ pos += 2;
+
+- _gnutls_debug_log ("EXT[%p]: Received extension '%s/%d'\n", session,
++ _gnutls_debug_log ("EXT[%p]: Found extension '%s/%d'\n", session,
+ _gnutls_extension_get_name (type), type);
+
+ if ((ret = _gnutls_extension_list_check (session, type)) < 0)
+@@ -153,6 +154,8 @@ _gnutls_parse_extensions (gnutls_session
+ ext_recv = _gnutls_ext_func_recv (type, parse_type);
+ if (ext_recv == NULL)
+ continue;
++
++
+ if ((ret = ext_recv (session, sdata, size)) < 0)
+ {
+ gnutls_assert ();
+@@ -170,7 +173,7 @@ _gnutls_parse_extensions (gnutls_session
+ * This list is used to check whether the (later) received
+ * extensions are the ones we requested.
+ */
+-static void
++void
+ _gnutls_extension_list_add (gnutls_session_t session, uint16_t type)
+ {
+
+@@ -192,7 +195,7 @@ _gnutls_extension_list_add (gnutls_sessi
+
+ int
+ _gnutls_gen_extensions (gnutls_session_t session, opaque * data,
+- size_t data_size)
++ size_t data_size, gnutls_ext_parse_type_t parse_type)
+ {
+ int size;
+ uint16_t pos = 0;
+@@ -223,6 +226,9 @@ _gnutls_gen_extensions (gnutls_session_t
+
+ if (p->send_func == NULL)
+ continue;
++
++ if (parse_type != GNUTLS_EXT_ANY && p->parse_type != parse_type)
++ continue;
+
+ size = p->send_func (session, sdata, sdata_size);
+ if (size > 0)
+@@ -304,6 +310,14 @@ _gnutls_ext_init (void)
+ if (ret != GNUTLS_E_SUCCESS)
+ return ret;
+
++ ret = gnutls_ext_register (GNUTLS_EXTENSION_SAFE_RENEGOTIATION,
++ "SAFE_RENEGOTIATION",
++ GNUTLS_EXT_MANDATORY,
++ _gnutls_safe_renegotiation_recv_params,
++ _gnutls_safe_renegotiation_send_params);
++ if (ret != GNUTLS_E_SUCCESS)
++ return ret;
++
+ #ifdef ENABLE_OPRFI
+ ret = gnutls_ext_register (GNUTLS_EXTENSION_OPAQUE_PRF_INPUT,
+ "OPAQUE_PRF_INPUT",
+--- a/lib/gnutls_extensions.h 2009-06-02
++++ b/lib/gnutls_extensions.h 2013-09-26
+@@ -26,6 +26,8 @@ int _gnutls_parse_extensions (gnutls_ses
+ gnutls_ext_parse_type_t parse_type,
+ const opaque *data, int data_size);
+ int _gnutls_gen_extensions (gnutls_session_t session, opaque * data,
+- size_t data_size);
++ size_t data_size, gnutls_ext_parse_type_t);
+ int _gnutls_ext_init (void);
+ void _gnutls_ext_deinit (void);
++
++void _gnutls_extension_list_add (gnutls_session_t session, uint16_t type);
+--- a/lib/gnutls_handshake.c 2009-11-02
++++ b/lib/gnutls_handshake.c 2013-09-26
+@@ -48,6 +48,7 @@
+ #include <gnutls_record.h>
+ #include <gnutls_state.h>
+ #include <ext_srp.h>
++#include <ext_safe_renegotiation.h>
+ #include <gnutls_rsa_export.h> /* for gnutls_get_rsa_params() */
+ #include <auth_anon.h> /* for gnutls_anon_server_credentials_t */
+ #include <auth_psk.h> /* for gnutls_psk_server_credentials_t */
+@@ -119,6 +120,7 @@ resume_copy_required_values (gnutls_sess
+ sizeof (session->security_parameters.session_id));
+ session->security_parameters.session_id_size =
+ session->internals.resumed_security_parameters.session_id_size;
++
+ }
+
+ void
+@@ -404,8 +406,36 @@ _gnutls_read_client_hello (gnutls_sessio
+
+ if (ret == 0)
+ { /* resumed! */
++ /* Parse only the safe renegotiation extension
++ * We don't want to parse any other extensions since
++ * we don't want new extension values to overwrite the
++ * resumed ones.
++ */
++
++ /* move forward to extensions */
++ DECR_LEN (len, 2);
++ suite_size = _gnutls_read_uint16 (&data[pos]);
++ pos += 2;
++
++ DECR_LEN (len, suite_size);
++ pos += suite_size;
++
++ DECR_LEN (len, 1);
++ comp_size = data[pos++]; /* z is the number of compression methods */
++ DECR_LEN (len, comp_size);
++ pos += comp_size;
++
++ ret = _gnutls_parse_extensions (session, GNUTLS_EXT_MANDATORY,
++ &data[pos], len);
++ if (ret < 0)
++ {
++ gnutls_assert ();
++ return ret;
++ }
++
+ resume_copy_required_values (session);
+ session->internals.resumed = RESUME_TRUE;
++
+ return _gnutls_user_hello_func (session, adv_version);
+ }
+ else
+@@ -437,17 +467,17 @@ _gnutls_read_client_hello (gnutls_sessio
+ pos += comp_size;
+
+ /* Parse the extensions (if any)
+- */
+- if (neg_version >= GNUTLS_TLS1)
++ *
++ * Unconditionally try to parse extensions; safe renegotiation uses them in
++ * sslv3 and higher, even though sslv3 doesn't officially support them.
++ */
++ ret = _gnutls_parse_extensions (session, GNUTLS_EXT_APPLICATION,
++ &data[pos], len);
++ /* len is the rest of the parsed length */
++ if (ret < 0)
+ {
+- ret = _gnutls_parse_extensions (session, GNUTLS_EXT_APPLICATION,
+- &data[pos], len);
+- /* len is the rest of the parsed length */
+- if (ret < 0)
+- {
+- gnutls_assert ();
+- return ret;
+- }
++ gnutls_assert ();
++ return ret;
+ }
+
+ ret = _gnutls_user_hello_func (session, adv_version);
+@@ -457,16 +487,20 @@ _gnutls_read_client_hello (gnutls_sessio
+ return ret;
+ }
+
+- if (neg_version >= GNUTLS_TLS1)
++ ret = _gnutls_parse_extensions (session, GNUTLS_EXT_MANDATORY,
++ &data[pos], len);
++ if (ret < 0)
+ {
+- ret = _gnutls_parse_extensions (session, GNUTLS_EXT_TLS,
+- &data[pos], len);
+- /* len is the rest of the parsed length */
+- if (ret < 0)
+- {
+- gnutls_assert ();
+- return ret;
+- }
++ gnutls_assert ();
++ return ret;
++ }
++
++ ret = _gnutls_parse_extensions (session, GNUTLS_EXT_TLS,
++ &data[pos], len);
++ if (ret < 0)
++ {
++ gnutls_assert ();
++ return ret;
+ }
+
+ /* select an appropriate cipher suite
+@@ -531,7 +565,7 @@ _gnutls_handshake_hash_pending (gnutls_s
+ static int
+ _gnutls_send_finished (gnutls_session_t session, int again)
+ {
+- uint8_t data[36];
++ uint8_t data[MAX_VERIFY_DATA_SIZE];
+ int ret;
+ int data_size = 0;
+
+@@ -556,7 +590,7 @@ _gnutls_send_finished (gnutls_session_t
+ data_size = 36;
+ }
+ else
+- { /* TLS 1.0 */
++ { /* TLS 1.0+ */
+ ret = _gnutls_finished (session,
+ session->security_parameters.entity, data);
+ data_size = 12;
+@@ -572,6 +606,31 @@ _gnutls_send_finished (gnutls_session_t
+ session->internals.finished_func (session, data, data_size);
+ }
+
++ /* Save data for safe renegotiation.
++ */
++ if (data_size > MAX_VERIFY_DATA_SIZE)
++ {
++ gnutls_assert ();
++ return GNUTLS_E_UNEXPECTED_PACKET_LENGTH;
++ }
++
++ if (session->security_parameters.entity == GNUTLS_CLIENT)
++ {
++ session->security_parameters.extensions.client_verify_data_len =
++ data_size;
++
++ memcpy (session->security_parameters.extensions.client_verify_data,
++ data, data_size);
++ }
++ else
++ {
++ session->security_parameters.extensions.server_verify_data_len =
++ data_size;
++
++ memcpy (session->security_parameters.extensions.server_verify_data,
++ data, data_size);
++ }
++
+ ret =
+ _gnutls_send_handshake (session, data_size ? data : NULL, data_size,
+ GNUTLS_HANDSHAKE_FINISHED);
+@@ -585,10 +644,11 @@ _gnutls_send_finished (gnutls_session_t
+ static int
+ _gnutls_recv_finished (gnutls_session_t session)
+ {
+- uint8_t data[36], *vrfy;
++ uint8_t data[MAX_VERIFY_DATA_SIZE], *vrfy;
+ int data_size;
+ int ret;
+ int vrfysize;
++ tls_ext_st *ext;
+
+ ret =
+ _gnutls_recv_handshake (session, &vrfy, &vrfysize,
+@@ -640,13 +700,38 @@ _gnutls_recv_finished (gnutls_session_t
+ }
+
+ if (memcmp (vrfy, data, data_size) != 0)
++ ret = memcmp (vrfy, data, data_size);
++ gnutls_free (vrfy);
++
++ if (ret != 0)
+ {
+ gnutls_assert ();
+- ret = GNUTLS_E_ERROR_IN_FINISHED_PACKET;
++ return GNUTLS_E_ERROR_IN_FINISHED_PACKET;
+ }
+- gnutls_free (vrfy);
+
+- return ret;
++ /* Save peer's verify data for safe renegotiation */
++ if (data_size > MAX_VERIFY_DATA_SIZE)
++ {
++ gnutls_assert ();
++ return GNUTLS_E_UNEXPECTED_PACKET_LENGTH;
++ }
++
++ ext = &session->security_parameters.extensions;
++
++ if (session->security_parameters.entity == GNUTLS_CLIENT)
++ {
++ memcpy (ext->server_verify_data, data, data_size);
++ ext->server_verify_data_len = data_size;
++ }
++ else
++ {
++ memcpy (ext->client_verify_data, data, data_size);
++ ext->client_verify_data_len = data_size;
++ }
++
++ session->internals.initial_negotiation_completed = 1;
++
++ return 0;
+ }
+
+ /* returns PK_RSA if the given cipher suite list only supports,
+@@ -685,7 +767,6 @@ _gnutls_server_find_pk_algos_in_ciphersu
+ return algo;
+ }
+
+-
+ /* This selects the best supported ciphersuite from the given ones. Then
+ * it adds the suite to the session and performs some checks.
+ */
+@@ -700,11 +784,31 @@ _gnutls_server_select_suite (gnutls_sess
+ * supported by the peer.
+ */
+
++ /* First, check for safe renegotiation SCSV.
++ */
++ if (session->internals.priorities.safe_renegotiation != SR_DISABLED)
++ {
++ int offset;
++
++ for(offset = 0; offset < datalen; offset += 2)
++ {
++ /* TLS_RENEGO_PROTECTION_REQUEST = { 0x00, 0xff } */
++ if (data[offset] == GNUTLS_RENEGO_PROTECTION_REQUEST_MAJOR &&
++ data[offset+1] == GNUTLS_RENEGO_PROTECTION_REQUEST_MINOR)
++ {
++ _gnutls_handshake_log ("HSK[%p]: Received safe renegotiation CS\n", session);
++ session->internals.safe_renegotiation_received = 1;
++ session->internals.connection_using_safe_renegotiation = 1;
++ break;
++ }
++ }
++ }
++
+ pk_algo = _gnutls_server_find_pk_algos_in_ciphersuites (data, datalen);
+
+ x = _gnutls_supported_ciphersuites (session, &ciphers);
+ if (x < 0)
+- { /* the case x==0 is handled within the function. */
++ { /* the case x==0 is handled within the function. */
+ gnutls_assert ();
+ return x;
+ }
+@@ -752,21 +856,21 @@ _gnutls_server_select_suite (gnutls_sess
+
+ for (j = 0; j < datalen; j += 2)
+ {
+- for (i = 0; i < x; i++)
+- {
+- if (memcmp (ciphers[i].suite, &data[j], 2) == 0)
+- {
+- memcpy (&cs.suite, &data[j], 2);
+-
+- _gnutls_handshake_log
+- ("HSK[%p]: Selected cipher suite: %s\n", session,
+- _gnutls_cipher_suite_get_name (&cs));
+- memcpy (session->security_parameters.current_cipher_suite.suite,
+- ciphers[i].suite, 2);
+- retval = 0;
+- goto finish;
+- }
+- }
++ for (i = 0; i < x; i++)
++ {
++ if (memcmp (ciphers[i].suite, &data[j], 2) == 0)
++ {
++ memcpy (&cs.suite, &data[j], 2);
++
++ _gnutls_handshake_log
++ ("HSK[%p]: Selected cipher suite: %s\n", session,
++ _gnutls_cipher_suite_get_name (&cs));
++ memcpy (session->security_parameters.current_cipher_suite.suite,
++ ciphers[i].suite, 2);
++ retval = 0;
++ goto finish;
++ }
++ }
+ }
+
+ finish:
+@@ -960,7 +1064,7 @@ _gnutls_send_handshake (gnutls_session_t
+ if (i_datasize > 0)
+ memcpy (&data[pos], i_data, i_datasize);
+
+- _gnutls_handshake_log ("HSK[%p]: %s was send [%ld bytes]\n",
++ _gnutls_handshake_log ("HSK[%p]: %s was sent [%ld bytes]\n",
+ session, _gnutls_handshake2str (type),
+ (long) datasize);
+
+@@ -1042,7 +1146,6 @@ _gnutls_recv_handshake_header (gnutls_se
+
+ if (ret < 0)
+ {
+- gnutls_assert ();
+ return ret;
+ }
+
+@@ -1525,15 +1628,26 @@ _gnutls_read_server_hello (gnutls_sessio
+ }
+ DECR_LEN (len, session_id_len);
+
+-
+ /* check if we are resuming and set the appropriate
+ * values;
+ */
+ if (_gnutls_client_check_if_resuming
+ (session, &data[pos], session_id_len) == 0)
+- return 0;
+- pos += session_id_len;
++ {
++ pos += session_id_len + 2 + 1;
++ DECR_LEN (len, 2+1);
++
++ ret = _gnutls_parse_extensions (session, GNUTLS_EXT_MANDATORY,
++ &data[pos], len);
++ if (ret < 0)
++ {
++ gnutls_assert ();
++ return ret;
++ }
++ return 0;
++ }
+
++ pos += session_id_len;
+
+ /* Check if the given cipher suite is supported and copy
+ * it to the session.
+@@ -1548,8 +1662,6 @@ _gnutls_read_server_hello (gnutls_sessio
+ }
+ pos += 2;
+
+-
+-
+ /* move to compression
+ */
+ DECR_LEN (len, 1);
+@@ -1563,32 +1675,32 @@ _gnutls_read_server_hello (gnutls_sessio
+
+ /* Parse extensions.
+ */
+- if (version >= GNUTLS_TLS1)
++ ret = _gnutls_parse_extensions (session, GNUTLS_EXT_ANY,
++ &data[pos], len);
++ if (ret < 0)
+ {
+- ret = _gnutls_parse_extensions (session, GNUTLS_EXT_ANY,
+- &data[pos], len);
+- /* len is the rest of the parsed length */
+- if (ret < 0)
+- {
+- gnutls_assert ();
+- return ret;
+- }
++ gnutls_assert ();
++ return ret;
+ }
++
+ return ret;
+ }
+
+
+ /* This function copies the appropriate ciphersuites to a locally allocated buffer
+- * Needed in client hello messages. Returns the new data length.
++ * Needed in client hello messages. Returns the new data length. If add_scsv is
++ * true, add the special safe renegotiation CS.
+ */
+ static int
+ _gnutls_copy_ciphersuites (gnutls_session_t session,
+- opaque * ret_data, size_t ret_data_size)
++ opaque * ret_data, size_t ret_data_size,
++ int add_scsv)
+ {
+ int ret, i;
+ cipher_suite_st *cipher_suites;
+ uint16_t cipher_num;
+ int datalen, pos;
++ uint16_t loop_max;
+
+ ret = _gnutls_supported_ciphersuites_sorted (session, &cipher_suites);
+ if (ret < 0)
+@@ -1619,6 +1731,9 @@ _gnutls_copy_ciphersuites (gnutls_sessio
+ return GNUTLS_E_INSUFFICIENT_CREDENTIALS;
+ }
+
++ if (add_scsv)
++ ++ret;
++
+ cipher_num = ret;
+
+ cipher_num *= sizeof (uint16_t); /* in order to get bytes */
+@@ -1636,11 +1751,21 @@ _gnutls_copy_ciphersuites (gnutls_sessio
+ _gnutls_write_uint16 (cipher_num, ret_data);
+ pos += 2;
+
+- for (i = 0; i < (cipher_num / 2); i++)
++ loop_max = add_scsv ? cipher_num - 2 : cipher_num;
++
++ for (i = 0; i < (loop_max / 2); i++)
+ {
+ memcpy (&ret_data[pos], cipher_suites[i].suite, 2);
+ pos += 2;
+ }
++
++ if (add_scsv)
++ {
++ /* Safe renegotiation signalling CS value is { 0x00, 0xff } */
++ ret_data[pos++] = 0x00;
++ ret_data[pos++] = 0xff;
++ }
++
+ gnutls_free (cipher_suites);
+
+ return datalen;
+@@ -1700,7 +1825,7 @@ _gnutls_send_client_hello (gnutls_sessio
+ {
+ opaque *data = NULL;
+ int extdatalen;
+- int pos = 0;
++ int pos = 0, type;
+ int datalen = 0, ret = 0;
+ opaque rnd[GNUTLS_RANDOM_SIZE];
+ gnutls_protocol_t hver;
+@@ -1807,9 +1932,21 @@ _gnutls_send_client_hello (gnutls_sessio
+
+
+ /* Copy the ciphersuites.
++ *
++ * If using SSLv3 Send TLS_RENEGO_PROTECTION_REQUEST SCSV for MITM
++ * prevention on initial negotiation (but not renegotiation; that's
++ * handled with the RI extension below).
+ */
+- extdatalen =
+- _gnutls_copy_ciphersuites (session, extdata, sizeof (extdata));
++ if(!session->internals.initial_negotiation_completed &&
++ session->security_parameters.entity == GNUTLS_CLIENT &&
++ gnutls_protocol_get_version (session) == GNUTLS_SSL3)
++ {
++ extdatalen = _gnutls_copy_ciphersuites (session, extdata, sizeof (extdata), TRUE);
++ _gnutls_extension_list_add (session, GNUTLS_EXTENSION_SAFE_RENEGOTIATION);
++ }
++ else
++ extdatalen = _gnutls_copy_ciphersuites (session, extdata, sizeof (extdata), FALSE);
++
+ if (extdatalen > 0)
+ {
+ datalen += extdatalen;
+@@ -1864,11 +2001,19 @@ _gnutls_send_client_hello (gnutls_sessio
+ /* Generate and copy TLS extensions.
+ */
+ if (hver >= GNUTLS_TLS1)
++ type = GNUTLS_EXT_ANY;
++ else
+ {
+- extdatalen =
+- _gnutls_gen_extensions (session, extdata, sizeof (extdata));
++ if (session->internals.initial_negotiation_completed != 0)
++ type = GNUTLS_EXT_MANDATORY;
++ else
++ type = GNUTLS_EXT_NONE;
++ }
++
++ extdatalen =
++ _gnutls_gen_extensions (session, extdata, sizeof (extdata), type);
+
+- if (extdatalen > 0)
++ if (extdatalen > 0)
+ {
+ datalen += extdatalen;
+ data = gnutls_realloc_fast (data, datalen);
+@@ -1880,13 +2025,12 @@ _gnutls_send_client_hello (gnutls_sessio
+
+ memcpy (&data[pos], extdata, extdatalen);
+ }
+- else if (extdatalen < 0)
++ else if (extdatalen < 0)
+ {
+ gnutls_assert ();
+ gnutls_free (data);
+ return extdatalen;
+ }
+- }
+ }
+
+ ret =
+@@ -1932,15 +2076,7 @@ _gnutls_send_server_hello (gnutls_sessio
+ * alert and abort.
+ */
+ gnutls_assert ();
+- ret = gnutls_alert_send (session, GNUTLS_AL_FATAL,
+- GNUTLS_A_UNKNOWN_PSK_IDENTITY);
+- if (ret < 0)
+- {
+- gnutls_assert ();
+- return ret;
+- }
+-
+- return GNUTLS_E_ILLEGAL_SRP_USERNAME;
++ return GNUTLS_E_UNKNOWN_SRP_USERNAME;
+ }
+ }
+ #endif
+@@ -1949,7 +2085,7 @@ _gnutls_send_server_hello (gnutls_sessio
+ {
+ datalen = 2 + session_id_len + 1 + GNUTLS_RANDOM_SIZE + 3;
+ extdatalen =
+- _gnutls_gen_extensions (session, extdata, sizeof (extdata));
++ _gnutls_gen_extensions (session, extdata, sizeof (extdata), GNUTLS_EXT_ANY);
+
+ if (extdatalen < 0)
+ {
+@@ -2015,6 +2151,8 @@ _gnutls_send_hello (gnutls_session_t ses
+ {
+ int ret;
+
++ session->internals.safe_renegotiation_received = 0;
++
+ if (session->security_parameters.entity == GNUTLS_CLIENT)
+ {
+ ret = _gnutls_send_client_hello (session, again);
+@@ -2036,6 +2174,7 @@ int
+ _gnutls_recv_hello (gnutls_session_t session, opaque * data, int datalen)
+ {
+ int ret;
++ tls_ext_st *ext;
+
+ if (session->security_parameters.entity == GNUTLS_CLIENT)
+ {
+@@ -2047,7 +2186,7 @@ _gnutls_recv_hello (gnutls_session_t ses
+ }
+ }
+ else
+- { /* Server side reading a client hello */
++ { /* Server side reading a client hello */
+
+ ret = _gnutls_read_client_hello (session, data, datalen);
+ if (ret < 0)
+@@ -2057,7 +2196,90 @@ _gnutls_recv_hello (gnutls_session_t ses
+ }
+ }
+
+- return ret;
++ if (session->internals.priorities.safe_renegotiation == SR_DISABLED)
++ {
++ gnutls_assert();
++ return 0;
++ }
++
++ /* Safe renegotiation */
++ ext = &session->security_parameters.extensions;
++
++ if (session->internals.safe_renegotiation_received)
++ {
++ if ((ext->ri_extension_data_len < ext->client_verify_data_len) ||
++ (memcmp (ext->ri_extension_data,
++ ext->client_verify_data,
++ ext->client_verify_data_len)))
++ {
++ gnutls_assert();
++ _gnutls_handshake_log ("Safe renegotiation failed [1]\n");
++ return GNUTLS_E_SAFE_RENEGOTIATION_FAILED;
++ }
++ if (session->security_parameters.entity == GNUTLS_CLIENT)
++ {
++ if ((ext->ri_extension_data_len !=
++ ext->client_verify_data_len + ext->server_verify_data_len) ||
++ memcmp (ext->ri_extension_data + ext->client_verify_data_len,
++ ext->server_verify_data, ext->server_verify_data_len) != 0)
++ {
++ gnutls_assert();
++ _gnutls_handshake_log ("Safe renegotiation failed [2]\n");
++ return GNUTLS_E_SAFE_RENEGOTIATION_FAILED;
++ }
++ }
++ else /* Make sure there are 0 extra bytes */
++ {
++ if (ext->ri_extension_data_len != ext->client_verify_data_len)
++ {
++ gnutls_assert();
++ _gnutls_handshake_log ("Safe renegotiation failed [3]\n");
++ return GNUTLS_E_SAFE_RENEGOTIATION_FAILED;
++ }
++ }
++
++ _gnutls_handshake_log ("Safe renegotiation succeeded.\n");
++ }
++ else /* safe renegotiation not received... */
++ {
++ if (session->internals.connection_using_safe_renegotiation)
++ {
++ gnutls_assert();
++ _gnutls_handshake_log ("Peer previously asked for safe renegotiation!\n");
++ return GNUTLS_E_SAFE_RENEGOTIATION_FAILED;
++ }
++
++ /* Clients can't tell if it's an initial negotiation */
++ if (session->internals.initial_negotiation_completed)
++ {
++
++ if (session->internals.priorities.safe_renegotiation < SR_PARTIAL)
++ {
++ _gnutls_handshake_log ("Allowing unsafe (re)negotiation!\n");
++ }
++ else
++ {
++ gnutls_assert();
++ _gnutls_handshake_log ("Denying unsafe (re)negotiation.\n");
++ return GNUTLS_E_UNSAFE_RENEGOTIATION_DENIED;
++ }
++ }
++ else
++ {
++ if (session->internals.priorities.safe_renegotiation < SR_SAFE)
++ {
++ _gnutls_handshake_log ("Allowing unsafe initial negotiation!\n");
++ }
++ else
++ {
++ gnutls_assert();
++ _gnutls_handshake_log ("Denying unsafe initial negotiation.\n");
++ return GNUTLS_E_SAFE_RENEGOTIATION_FAILED;
++ }
++ }
++ }
++
++ return 0;
+ }
+
+ /* The packets in gnutls_handshake (it's more broad than original TLS handshake)
+@@ -2097,6 +2319,13 @@ _gnutls_recv_hello (gnutls_session_t ses
+ * gnutls_handshake() function in order to negotiate the new
+ * parameters.
+ *
++ * Since TLS is full duplex some application data might have been
++ * sent during peer's processing of this message. In that case
++ * one should call gnutls_record_recv() until GNUTLS_E_REHANDSHAKE
++ * is returned to clear any pending data. Care must be taken if
++ * rehandshake is mandatory to terminate if it does not start after
++ * some threshold.
++ *
+ * If the client does not wish to renegotiate parameters he will
+ * should with an alert message, thus the return code will be
+ * %GNUTLS_E_WARNING_ALERT_RECEIVED and the alert will be
+--- a/lib/gnutls_int.h 2009-11-02
++++ b/lib/gnutls_int.h 2013-09-26
+@@ -171,7 +171,8 @@ typedef enum extensions_t
+ GNUTLS_EXTENSION_OPAQUE_PRF_INPUT = ENABLE_OPRFI,
+ #endif
+ GNUTLS_EXTENSION_SRP = 12,
+- GNUTLS_EXTENSION_INNER_APPLICATION = 37703
++ GNUTLS_EXTENSION_INNER_APPLICATION = 37703,
++ GNUTLS_EXTENSION_SAFE_RENEGOTIATION = 65281, /* aka: 0xff01 */
+ } extensions_t;
+
+ typedef enum
+@@ -282,6 +283,11 @@ typedef struct
+
+ #define MAX_SERVER_NAME_EXTENSIONS 3
+
++#define MAX_VERIFY_DATA_SIZE 36 /* in SSL 3.0, 12 in TLS 1.0 */
++
++/* If you want the extension data to be kept across resuming sessions
++ * then modify CPY_EXTENSIONS in gnutls_constate.c
++ */
+ typedef struct
+ {
+ server_name_st server_names[MAX_SERVER_NAME_EXTENSIONS];
+@@ -297,6 +303,9 @@ typedef struct
+ /* Used by extensions that enable supplemental data. */
+ int do_recv_supplemental, do_send_supplemental;
+
++ /*** Those below do not get copied when resuming session
++ ***/
++
+ /* Opaque PRF input. */
+ gnutls_oprfi_callback_func oprfi_cb;
+ void *oprfi_userdata;
+@@ -304,6 +313,15 @@ typedef struct
+ uint16_t oprfi_client_len;
+ opaque *oprfi_server;
+ uint16_t oprfi_server_len;
++
++ /* Safe renegotiation. */
++ uint8_t client_verify_data[MAX_VERIFY_DATA_SIZE];
++ size_t client_verify_data_len;
++ uint8_t server_verify_data[MAX_VERIFY_DATA_SIZE];
++ size_t server_verify_data_len;
++ uint8_t ri_extension_data[MAX_VERIFY_DATA_SIZE*2]; /* max signal is 72 bytes in s->c sslv3 */
++ size_t ri_extension_data_len;
++
+ } tls_ext_st;
+
+ /* auth_info_t structures now MAY contain malloced
+@@ -317,7 +335,7 @@ typedef struct
+ */
+
+ /* if you add anything in Security_Parameters struct, then
+- * also modify CPY_COMMON in gnutls_constate.c
++ * also modify CPY_COMMON in gnutls_constate.c.
+ */
+
+ /* Note that the security parameters structure is set up after the
+@@ -361,6 +379,7 @@ typedef struct
+ /* holds the negotiated certificate type */
+ gnutls_certificate_type_t cert_type;
+ gnutls_protocol_t version; /* moved here */
++
+ /* For TLS/IA. XXX: Move to IA credential? */
+ opaque inner_secret[GNUTLS_MASTER_SIZE];
+ } security_parameters_st;
+@@ -400,6 +419,13 @@ typedef struct
+ unsigned int algorithms;
+ } priority_st;
+
++typedef enum {
++ SR_DISABLED,
++ SR_UNSAFE,
++ SR_PARTIAL,
++ SR_SAFE,
++} safe_renegotiation_t;
++
+ /* For the external api */
+ struct gnutls_priority_st
+ {
+@@ -409,9 +435,12 @@ struct gnutls_priority_st
+ priority_st compression;
+ priority_st protocol;
+ priority_st cert_type;
++ priority_st sign_algo;
+
+ /* to disable record padding */
+- int no_padding;
++ int no_padding:1;
++ safe_renegotiation_t safe_renegotiation;
++ int allow_large_records:1;
+ int ssl3_record_version;
+ int additional_verify_flags;
+ };
+@@ -673,6 +702,10 @@ typedef struct
+ */
+ uint16_t srp_prime_bits;
+
++ int safe_renegotiation_received:1;
++ int initial_negotiation_completed:1;
++ int connection_using_safe_renegotiation:1;
++
+ /* If you add anything here, check _gnutls_handshake_internal_state_clear().
+ */
+ } internals_st;
+--- a/lib/gnutls_priority.c 2009-06-02
++++ b/lib/gnutls_priority.c 2013-09-26
+@@ -338,6 +338,27 @@ static const int comp_priority[] = {
+ 0
+ };
+
++static const int sign_priority_default[] = {
++ GNUTLS_SIGN_RSA_SHA1,
++ GNUTLS_SIGN_DSA_SHA1,
++ GNUTLS_SIGN_RSA_SHA256,
++ GNUTLS_SIGN_RSA_SHA384,
++ GNUTLS_SIGN_RSA_SHA512,
++ 0
++};
++
++static const int sign_priority_secure128[] = {
++ GNUTLS_SIGN_RSA_SHA256,
++ GNUTLS_SIGN_RSA_SHA384,
++ GNUTLS_SIGN_RSA_SHA512,
++ GNUTLS_SIGN_DSA_SHA1,
++ 0
++};
++
++static const int sign_priority_secure256[] = {
++ GNUTLS_SIGN_RSA_SHA512,
++ 0
++};
+
+ static const int mac_priority_performance[] = {
+ GNUTLS_MAC_MD5,
+@@ -425,6 +446,14 @@ gnutls_priority_set (gnutls_session_t se
+ memcpy (&session->internals.priorities, priority,
+ sizeof (struct gnutls_priority_st));
+
++ /* set the current version to the first in the chain.
++ * * This will be overridden later.
++ * */
++ if (session->internals.priorities.protocol.algorithms > 0)
++ _gnutls_set_current_version (session,
++ session->internals.priorities.protocol.
++ priority[0]);
++
+ return 0;
+ }
+
+@@ -491,6 +520,21 @@ gnutls_priority_set (gnutls_session_t se
+ *
+ * "%COMPAT" will enable compatibility features for a server.
+ *
++ * "%DISABLE_SAFE_RENEGOTIATION" will disable safe renegotiation completely. Do not use
++ * unless you know what you are doing. Testing purposes only.
++ *
++ * "%UNSAFE_RENEGOTIATION" will allow unsafe renegotiation (this is now
++ * the default for clients, but will change once more servers support the safe renegotiation
++ * TLS fix).
++ *
++ * "%PARTIAL_SAFE_RENEGOTIATION" In server side it will enable safe renegotiation
++ * and will protect all clients from known attacks, but will not prevent insecure clients
++ * from connecting. In client side it will disallow from renegotiating with an insecure server
++ * but will not prevent connecting to one (this leaves the client vulnerable to attacks).
++ *
++ * "%SAFE_RENEGOTIATION" will enforce safe renegotiation. Clients and Servers will refuse
++ * to talk to an insecure peer.
++ *
+ * "%SSL3_RECORD_VERSION" will use SSL3.0 record version in client hello.
+ *
+ * "%VERIFY_ALLOW_SIGN_RSA_MD5" will allow RSA-MD5 signatures in
+@@ -523,7 +567,7 @@ gnutls_priority_init (gnutls_priority_t
+ {
+ char *broken_list[MAX_ELEMENTS];
+ int broken_list_size, i, j;
+- char *darg;
++ char *darg = NULL;
+ int algo;
+ rmadd_func *fn;
+
+@@ -533,6 +577,11 @@ gnutls_priority_init (gnutls_priority_t
+ gnutls_assert ();
+ return GNUTLS_E_MEMORY_ERROR;
+ }
++
++ /* for now unsafe renegotiation is default on everyone. To be removed
++ * when we make it the default.
++ */
++ (*priority_cache)->safe_renegotiation = SR_PARTIAL;
+
+ if (priorities == NULL)
+ priorities = "NORMAL";
+@@ -541,9 +590,10 @@ gnutls_priority_init (gnutls_priority_t
+ if (darg == NULL)
+ {
+ gnutls_assert ();
+- return GNUTLS_E_MEMORY_ERROR;
++ goto error;
+ }
+
++
+ break_comma_list (darg, broken_list, &broken_list_size, MAX_ELEMENTS, ':');
+ /* This is our default set of protocol version, certificate types and
+ * compression methods.
+@@ -553,6 +603,7 @@ gnutls_priority_init (gnutls_priority_t
+ _set_priority (&(*priority_cache)->protocol, protocol_priority);
+ _set_priority (&(*priority_cache)->compression, comp_priority);
+ _set_priority (&(*priority_cache)->cert_type, cert_type_priority);
++ _set_priority (&(*priority_cache)->sign_algo, sign_priority_default);
+ i = 0;
+ }
+ else
+@@ -568,12 +619,16 @@ gnutls_priority_init (gnutls_priority_t
+ cipher_priority_performance);
+ _set_priority (&(*priority_cache)->kx, kx_priority_performance);
+ _set_priority (&(*priority_cache)->mac, mac_priority_performance);
++ _set_priority (&(*priority_cache)->sign_algo,
++ sign_priority_default);
+ }
+ else if (strcasecmp (broken_list[i], "NORMAL") == 0)
+ {
+ _set_priority (&(*priority_cache)->cipher, cipher_priority_normal);
+ _set_priority (&(*priority_cache)->kx, kx_priority_secure);
+ _set_priority (&(*priority_cache)->mac, mac_priority_secure);
++ _set_priority (&(*priority_cache)->sign_algo,
++ sign_priority_default);
+ }
+ else if (strcasecmp (broken_list[i], "SECURE256") == 0
+ || strcasecmp (broken_list[i], "SECURE") == 0)
+@@ -582,6 +637,8 @@ gnutls_priority_init (gnutls_priority_t
+ cipher_priority_secure256);
+ _set_priority (&(*priority_cache)->kx, kx_priority_secure);
+ _set_priority (&(*priority_cache)->mac, mac_priority_secure);
++ _set_priority (&(*priority_cache)->sign_algo,
++ sign_priority_secure256);
+ }
+ else if (strcasecmp (broken_list[i], "SECURE128") == 0)
+ {
+@@ -589,12 +646,16 @@ gnutls_priority_init (gnutls_priority_t
+ cipher_priority_secure128);
+ _set_priority (&(*priority_cache)->kx, kx_priority_secure);
+ _set_priority (&(*priority_cache)->mac, mac_priority_secure);
++ _set_priority (&(*priority_cache)->sign_algo,
++ sign_priority_secure128);
+ }
+ else if (strcasecmp (broken_list[i], "EXPORT") == 0)
+ {
+ _set_priority (&(*priority_cache)->cipher, cipher_priority_export);
+ _set_priority (&(*priority_cache)->kx, kx_priority_export);
+ _set_priority (&(*priority_cache)->mac, mac_priority_secure);
++ _set_priority (&(*priority_cache)->sign_algo,
++ sign_priority_default);
+ } /* now check if the element is something like -ALGO */
+ else if (broken_list[i][0] == '!' || broken_list[i][0] == '+'
+ || broken_list[i][0] == '-')
+@@ -619,6 +680,8 @@ gnutls_priority_init (gnutls_priority_t
+ gnutls_protocol_get_id (&broken_list[i][6])) !=
+ GNUTLS_VERSION_UNKNOWN)
+ fn (&(*priority_cache)->protocol, algo);
++ else
++ goto error;
+ } /* now check if the element is something like -ALGO */
+ else if (strncasecmp (&broken_list[i][1], "COMP-", 5) == 0)
+ {
+@@ -626,6 +689,8 @@ gnutls_priority_init (gnutls_priority_t
+ gnutls_compression_get_id (&broken_list[i][6])) !=
+ GNUTLS_COMP_UNKNOWN)
+ fn (&(*priority_cache)->compression, algo);
++ else
++ goto error;
+ } /* now check if the element is something like -ALGO */
+ else if (strncasecmp (&broken_list[i][1], "CTYPE-", 6) == 0)
+ {
+@@ -633,18 +698,34 @@ gnutls_priority_init (gnutls_priority_t
+ gnutls_certificate_type_get_id (&broken_list[i][7])) !=
+ GNUTLS_CRT_UNKNOWN)
+ fn (&(*priority_cache)->cert_type, algo);
++ else
++ goto error;
+ } /* now check if the element is something like -ALGO */
++ else if (strncasecmp (&broken_list[i][1], "SIGN-", 5) == 0)
++ {
++ if ((algo = gnutls_sign_get_id (&broken_list[i][6])) !=
++ GNUTLS_SIGN_UNKNOWN)
++ fn (&(*priority_cache)->sign_algo, algo);
++ else
++ goto error;
++ } /* now check if the element is something like -ALGO */
+ else
+ goto error;
+ }
+ else if (broken_list[i][0] == '%')
+ {
+ if (strcasecmp (&broken_list[i][1], "COMPAT") == 0)
++ {
+ (*priority_cache)->no_padding = 1;
++ (*priority_cache)->allow_large_records = 1;
++ }
+ else if (strcasecmp (&broken_list[i][1],
+ "VERIFY_ALLOW_SIGN_RSA_MD5") == 0)
++ {
++ prio_add (&(*priority_cache)->sign_algo, GNUTLS_SIGN_RSA_MD5);
+ (*priority_cache)->additional_verify_flags |=
+ GNUTLS_VERIFY_ALLOW_SIGN_RSA_MD5;
++ }
+ else if (strcasecmp (&broken_list[i][1],
+ "SSL3_RECORD_VERSION") == 0)
+ (*priority_cache)->ssl3_record_version = 1;
+@@ -652,6 +733,25 @@ gnutls_priority_init (gnutls_priority_t
+ "VERIFY_ALLOW_X509_V1_CA_CRT") == 0)
+ (*priority_cache)->additional_verify_flags |=
+ GNUTLS_VERIFY_ALLOW_X509_V1_CA_CRT;
++ else if (strcasecmp (&broken_list[i][1],
++ "UNSAFE_RENEGOTIATION") == 0)
++ {
++ (*priority_cache)->safe_renegotiation = SR_UNSAFE;
++ }
++ else if (strcasecmp (&broken_list[i][1], "SAFE_RENEGOTIATION") == 0)
++ {
++ (*priority_cache)->safe_renegotiation = SR_SAFE;
++ }
++ else if (strcasecmp (&broken_list[i][1],
++ "PARTIAL_RENEGOTIATION") == 0)
++ {
++ (*priority_cache)->safe_renegotiation = SR_PARTIAL;
++ }
++ else if (strcasecmp (&broken_list[i][1],
++ "DISABLE_SAFE_RENEGOTIATION") == 0)
++ {
++ (*priority_cache)->safe_renegotiation = SR_DISABLED;
++ }
+ else
+ goto error;
+ }
+@@ -672,6 +772,7 @@ error:
+ }
+ }
+ gnutls_free (darg);
++ gnutls_free(*priority_cache);
+
+ return GNUTLS_E_INVALID_REQUEST;
+
+--- a/lib/gnutls_record.c 2009-06-02
++++ b/lib/gnutls_record.c 2013-09-26
+@@ -744,6 +744,14 @@ record_check_type (gnutls_session_t sess
+ if (session->security_parameters.entity == GNUTLS_SERVER)
+ {
+ gnutls_assert ();
++ ret =
++ _gnutls_record_buffer_put (recv_type, session, (void *) data,
++ data_size);
++ if (ret < 0)
++ {
++ gnutls_assert ();
++ return ret;
++ }
+ return GNUTLS_E_REHANDSHAKE;
+ }
+
+@@ -896,9 +904,13 @@ begin:
+ _gnutls_io_read_buffered (session, &headers, header_size,
+ -1)) != header_size)
+ {
++ _gnutls_handshake_log ("XXX[]: ret: %d %s\n", ret, gnutls_strerror(ret));
++
+ if (ret < 0 && gnutls_error_is_fatal (ret) == 0)
+ return ret;
+
++ _gnutls_handshake_log ("XXX2[]: ret: %d %s\n", ret, gnutls_strerror(ret));
++
+ session_invalidate (session);
+ if (type == GNUTLS_ALERT)
+ {
+--- a/lib/gnutls_state.c 2009-11-02
++++ b/lib/gnutls_state.c 2013-09-26
+@@ -223,6 +223,7 @@ _gnutls_handshake_internal_state_clear (
+ session->internals.adv_version_minor = 0;
+ session->internals.adv_version_minor = 0;
+ session->internals.direction = 0;
++ session->internals.safe_renegotiation_received = 0;
+
+ /* use out of band data for the last
+ * handshake messages received.
+@@ -338,6 +339,11 @@ gnutls_init (gnutls_session_t * session,
+
+ _gnutls_handshake_internal_state_clear (*session);
+
++ /* emulate old gnutls behavior for old applications that do not use the priority_*
++ * functions.
++ */
++ (*session)->internals.priorities.safe_renegotiation = SR_PARTIAL;
++
+ return 0;
+ }
+
+--- a/lib/includes/gnutls/gnutls.h.in 2009-06-02
++++ b/lib/includes/gnutls/gnutls.h.in 2013-09-26
+@@ -503,7 +503,9 @@ extern "C" {
+ {
+ GNUTLS_EXT_ANY,
+ GNUTLS_EXT_APPLICATION,
+- GNUTLS_EXT_TLS
++ GNUTLS_EXT_TLS,
++ GNUTLS_EXT_MANDATORY, /* parse even if resuming or extensions disabled */
++ GNUTLS_EXT_NONE,
+ } gnutls_ext_parse_type_t;
+
+ int gnutls_ext_register (int type,
+@@ -525,6 +527,9 @@ extern "C" {
+ void *data, size_t * data_length,
+ unsigned int *type, unsigned int indx);
+
++ /* Safe renegotiation */
++ int gnutls_safe_renegotiation_status (gnutls_session_t session);
++
+ /* Opaque PRF Input
+ * http://tools.ietf.org/id/draft-rescorla-tls-opaque-prf-input-00.txt
+ */
+@@ -1368,6 +1373,9 @@ extern "C" {
+ #define GNUTLS_E_IA_VERIFY_FAILED -104
+
+ #define GNUTLS_E_UNKNOWN_ALGORITHM -105
++#define GNUTLS_E_SAFE_RENEGOTIATION_FAILED -107
++#define GNUTLS_E_UNSAFE_RENEGOTIATION_DENIED -108
++#define GNUTLS_E_UNKNOWN_SRP_USERNAME -109
+
+ #define GNUTLS_E_BASE64_ENCODING_ERROR -201
+ #define GNUTLS_E_INCOMPATIBLE_GCRYPT_LIBRARY -202 /* obsolete */
+--- a/lib/libgnutls.map 2009-06-02
++++ b/lib/libgnutls.map 2013-09-26
+@@ -567,6 +567,12 @@ GNUTLS_2_8
+ gnutls_x509_crt_verify_hash;
+ } GNUTLS_1_4;
+
++GNUTLS_2_10
++{
++ global:
++ gnutls_safe_renegotiation_status;
++} GNUTLS_2_8;
++
+ GNUTLS_PRIVATE {
+ global:
+ # Internal symbols needed by libgnutls-extra:
+--- a/lib/Makefile.am 2009-06-02
++++ b/lib/Makefile.am 2013-09-26
+@@ -79,7 +79,7 @@ COBJECTS = gnutls_record.c gnutls_compre
+ gnutls_rsa_export.c auth_rsa_export.c ext_server_name.c \
+ auth_dh_common.c gnutls_helper.c gnutls_supplemental.c \
+ crypto.c random.c pk-libgcrypt.c mpi-libgcrypt.c \
+- rnd-libgcrypt.c cipher-libgcrypt.c mac-libgcrypt.c
++ rnd-libgcrypt.c cipher-libgcrypt.c mac-libgcrypt.c ext_safe_renegotiation.c
+
+ if ENABLE_OPRFI
+ COBJECTS += $(OPRFI_COBJECTS)
+@@ -98,7 +98,7 @@ HFILES = debug.h gnutls_compress.h gnutl
+ gnutls_rsa_export.h ext_server_name.h auth_dh_common.h \
+ ext_srp.h gnutls_srp.h auth_srp.h auth_srp_passwd.h \
+ gnutls_helper.h auth_psk.h auth_psk_passwd.h \
+- gnutls_supplemental.h ext_oprfi.h crypto.h random.h
++ gnutls_supplemental.h ext_oprfi.h crypto.h random.h ext_safe_renegotiation.h
+
+ # Separate so we can create the documentation
+
+--- a/lib/Makefile.in 2010-03-15
++++ b/lib/Makefile.in 2013-09-26
+@@ -214,7 +214,7 @@ am__objects_4 = gnutls_record.lo gnutls_
+ ext_server_name.lo auth_dh_common.lo gnutls_helper.lo \
+ gnutls_supplemental.lo crypto.lo random.lo pk-libgcrypt.lo \
+ mpi-libgcrypt.lo rnd-libgcrypt.lo cipher-libgcrypt.lo \
+- mac-libgcrypt.lo $(am__objects_3)
++ mac-libgcrypt.lo ext_safe_renegotiation.lo $(am__objects_3)
+ am__objects_5 = ext_srp.lo gnutls_srp.lo auth_srp.lo \
+ auth_srp_passwd.lo auth_srp_sb64.lo auth_srp_rsa.lo
+ am__objects_6 = auth_psk.lo auth_psk_passwd.lo gnutls_psk.lo \
+@@ -854,6 +854,7 @@ COBJECTS = gnutls_record.c gnutls_compre
+ auth_dh_common.c gnutls_helper.c gnutls_supplemental.c \
+ crypto.c random.c pk-libgcrypt.c mpi-libgcrypt.c \
+ rnd-libgcrypt.c cipher-libgcrypt.c mac-libgcrypt.c \
++ ext_safe_renegotiation.c \
+ $(am__append_5)
+ HFILES = debug.h gnutls_compress.h gnutls_cipher.h gnutls_buffers.h \
+ gnutls_errors.h gnutls_int.h gnutls_handshake.h gnutls_num.h \
+@@ -868,7 +869,8 @@ HFILES = debug.h gnutls_compress.h gnutl
+ gnutls_rsa_export.h ext_server_name.h auth_dh_common.h \
+ ext_srp.h gnutls_srp.h auth_srp.h auth_srp_passwd.h \
+ gnutls_helper.h auth_psk.h auth_psk_passwd.h \
+- gnutls_supplemental.h ext_oprfi.h crypto.h random.h
++ gnutls_supplemental.h ext_oprfi.h crypto.h random.h \
++ ext_safe_renegotiation.h
+
+
+ # Separate so we can create the documentation
+@@ -1058,6 +1060,7 @@ distclean-compile:
+ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gnutls_x509.Plo@am__quote@
+ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libgnutlsxx_la-gnutlsxx.Plo@am__quote@
+ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mac-libgcrypt.Plo@am__quote@
++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ext_safe_renegotiation.Plo@am__quote@
+ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mpi-libgcrypt.Plo@am__quote@
+ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pk-libgcrypt.Plo@am__quote@
+ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pkix_asn1_tab.Plo@am__quote@
+--- a/NEWS 2009-09-18
++++ b/NEWS 2013-09-26
+@@ -3,6 +3,23 @@
+ Copyright (C) 2000, 2001, 2002, 2003, 2004 Nikos Mavrogiannopoulos
+ See the end for copying conditions.
+
++** libgnutls: Added Steve Dispensa's patch for safe renegotiation (RFC 5746)
++Solves the issue discussed in:
++<http://www.ietf.org/mail-archive/web/tls/current/msg03928.html> and
++<http://www.ietf.org/mail-archive/web/tls/current/msg03948.html>.
++Note that to allow connecting to unpatched servers the full protection
++is only enabled if the priority string %SAFE_RENEGOTIATION is
++specified. You can check whether protection is in place by querying
++gnutls_safe_renegotiation_status(). New error codes
++GNUTLS_E_SAFE_RENEGOTIATION_FAILED and
++GNUTLS_E_UNSAFE_RENEGOTIATION_DENIED added.
++
++gnutls_safe_renegotiation_status: Added
++
++%UNSAFE_RENEGOTIATION: Added to priority strings
++%INITIAL_SAFE_RENEGOTIATION: Added to priority strings
++%DISABLE_SAFE_RENEGOTIATION: Added to priority strings (do not use)
++
+ * Version 2.8.4 (released 2009-09-18)
+
+ ** libgnutls: Enable Camellia ciphers by default.
+--- a/src/cli-gaa.c 2009-06-02
++++ b/src/cli-gaa.c 2013-09-26
+@@ -129,6 +129,7 @@ void gaa_help(void)
+ printf("GNU TLS test client\nUsage: gnutls-cli [options] hostname\n\n\n");
+ __gaa_helpsingle('d', "debug", "integer ", "Enable debugging");
+ __gaa_helpsingle('r', "resume", "", "Connect, establish a session. Connect again and resume this session.");
++ __gaa_helpsingle('e', "rehandshake", "", "Connect, establish a session and rehandshake immediately.");
+ __gaa_helpsingle('s', "starttls", "", "Connect, establish a plain session and start TLS when EOF or a SIGALRM is received.");
+ __gaa_helpsingle(0, "crlf", "", "Send CR LF instead of LF.");
+ __gaa_helpsingle(0, "x509fmtder", "", "Use DER format for certificates to read from.");
+@@ -250,6 +251,8 @@ struct _gaainfo
+ int crlf;
+ #line 20 "cli.gaa"
+ int starttls;
++#line 20 "cli.gaa"
++ int rehandshake;
+ #line 17 "cli.gaa"
+ int resume;
+ #line 14 "cli.gaa"
+@@ -342,8 +345,9 @@ static int gaa_error = 0;
+ #define GAAOPTID_x509fmtder 31
+ #define GAAOPTID_crlf 32
+ #define GAAOPTID_starttls 33
+-#define GAAOPTID_resume 34
+-#define GAAOPTID_debug 35
++#define GAAOPTID_rehandshake 34
++#define GAAOPTID_resume 35
++#define GAAOPTID_debug 36
+
+ #line 168 "gaa.skel"
+
+@@ -721,6 +725,7 @@ static int gaa_get_option_num(char *str,
+ GAA_CHECK1STR("", GAAOPTID_x509fmtder);
+ GAA_CHECK1STR("", GAAOPTID_crlf);
+ GAA_CHECK1STR("s", GAAOPTID_starttls);
++ GAA_CHECK1STR("e", GAAOPTID_rehandshake);
+ GAA_CHECK1STR("r", GAAOPTID_resume);
+
+ #line 277 "gaa.skel"
+@@ -759,6 +764,7 @@ static int gaa_get_option_num(char *str,
+ GAA_CHECKSTR("x509fmtder", GAAOPTID_x509fmtder);
+ GAA_CHECKSTR("crlf", GAAOPTID_crlf);
+ GAA_CHECKSTR("starttls", GAAOPTID_starttls);
++ GAA_CHECKSTR("rehandshake", GAAOPTID_rehandshake);
+ GAA_CHECKSTR("resume", GAAOPTID_resume);
+ GAA_CHECKSTR("debug", GAAOPTID_debug);
+
+@@ -1101,6 +1107,13 @@ static int gaa_try(int gaa_num, int gaa_
+
+ return GAA_OK;
+ break;
++ case GAAOPTID_rehandshake:
++ OK = 0;
++#line 21 "cli.gaa"
++{ gaaval->rehandshake = 1 ;};
++
++ return GAA_OK;
++ break;
+ case GAAOPTID_resume:
+ OK = 0;
+ #line 18 "cli.gaa"
+@@ -1164,7 +1177,7 @@ int gaa(int argc, char **argv, gaainfo *
+ gaaval->srp_username=NULL; gaaval->srp_passwd=NULL; gaaval->fmtder = 0; gaaval->starttls =0;
+ gaaval->debug = 0; gaaval->print_cert = 0; gaaval->verbose = 0; gaaval->psk_key = NULL;
+ gaaval->psk_username = NULL; gaaval->priorities = NULL;
+- gaaval->opaque_prf_input = NULL; gaaval->pgp_subkey = NULL; ;};
++ gaaval->opaque_prf_input = NULL; gaaval->pgp_subkey = NULL; gaaval->rehandshake = 0; ;};
+
+ }
+ inited = 1;
+--- a/src/cli-gaa.h 2009-06-02
++++ b/src/cli-gaa.h 2013-09-26
+@@ -82,6 +82,7 @@ struct _gaainfo
+ int crlf;
+ #line 20 "cli.gaa"
+ int starttls;
++ int rehandshake;
+ #line 17 "cli.gaa"
+ int resume;
+ #line 14 "cli.gaa"
+--- a/src/cli.c 2009-06-02
++++ b/src/cli.c 2013-09-26
+@@ -53,7 +53,7 @@
+ #define MAX_BUF 4096
+
+ /* global stuff here */
+-int resume, starttls, insecure;
++int resume, starttls, insecure, rehandshake;
+ const char *hostname = NULL;
+ char *service;
+ int record_max_size;
+@@ -674,6 +674,23 @@ after_handshake:
+ programs to search for when gnutls-cli has reached this point. */
+ printf ("\n- Simple Client Mode:\n\n");
+
++ if (rehandshake)
++ {
++ ret = do_handshake (&hd);
++
++ if (ret < 0)
++ {
++ fprintf (stderr, "*** ReHandshake has failed\n");
++ gnutls_perror (ret);
++ gnutls_deinit (hd.session);
++ return 1;
++ }
++ else
++ {
++ printf ("- ReHandshake was completed\n");
++ }
++ }
++
+ #ifndef _WIN32
+ signal (SIGALRM, &starttls_alarm);
+ #endif
+@@ -838,6 +855,7 @@ gaa_parser (int argc, char **argv)
+ print_cert = info.print_cert;
+ starttls = info.starttls;
+ resume = info.resume;
++ rehandshake = info.rehandshake;
+ insecure = info.insecure;
+ service = info.port;
+ record_max_size = info.record_size;
+@@ -962,6 +980,11 @@ do_handshake (socket_st * socket)
+ socket->secure = 1;
+
+ }
++ else
++ {
++ gnutls_alert_send_appropriate(socket->session, ret);
++ shutdown (socket->fd, SHUT_RDWR);
++ }
+ return ret;
+ }
+
+--- a/src/cli.gaa 2009-06-02
++++ b/src/cli.gaa 2013-09-26
+@@ -17,6 +17,9 @@ option (d, debug) INT "integer" { $debug
+ #int resume;
+ option (r, resume) { $resume = 1 } "Connect, establish a session. Connect again and resume this session."
+
++#int rehandshake;
++option (e, rehandshake) { $rehandshake = 1 } "Connect, establish a session and rehandshake immediately."
++
+ #int starttls;
+ option (s, starttls) { $starttls = 1 } "Connect, establish a plain session and start TLS when EOF or a SIGALRM is received."
+
+@@ -130,4 +133,4 @@ init { $resume=0; $port="443"; $rest_arg
+ $srp_username=NULL; $srp_passwd=NULL; $fmtder = 0; $starttls =0;
+ $debug = 0; $print_cert = 0; $verbose = 0; $psk_key = NULL;
+ $psk_username = NULL; $priorities = NULL;
+- $opaque_prf_input = NULL; $pgp_subkey = NULL; }
++ $opaque_prf_input = NULL; $pgp_subkey = NULL; $rehandshake = 0; }
+--- a/src/serv.c 2009-11-06
++++ b/src/serv.c 2013-09-26
+@@ -760,6 +760,18 @@ get_response (gnutls_session_t session,
+ }
+ else
+ {
++ fprintf(stderr, "received: %s\n", request);
++ if (request[0] == request[1] && request[0] == '*')
++ {
++ if (strncmp(request, "**REHANDSHAKE**", sizeof("**REHANDSHAKE**")-1)==0)
++ {
++ fprintf(stderr, "*** Sending rehandshake request\n");
++ gnutls_rehandshake(session);
++ }
++ *response = NULL;
++ *response_length = 0;
++ return;
++ }
+ *response = strdup (request);
+ *response_length = ((*response) ? strlen (*response) : 0);
+ }
+@@ -1173,7 +1185,7 @@ main (int argc, char **argv)
+ ret =
+ gnutls_alert_send_appropriate (j->tls_session, r);
+ }
+- while (ret == GNUTLS_E_AGAIN);
++ while (ret == GNUTLS_E_AGAIN || ret == GNUTLS_E_INTERRUPTED);
+ j->http_state = HTTP_STATE_CLOSING;
+ }
+ else if (r == 0)
+@@ -1206,14 +1218,37 @@ main (int argc, char **argv)
+ }
+ else if (r <= 0)
+ {
+- j->http_state = HTTP_STATE_CLOSING;
+- if (r < 0 && r != GNUTLS_E_UNEXPECTED_PACKET_LENGTH)
++ if (r == GNUTLS_E_REHANDSHAKE)
+ {
+- check_alert (j->tls_session, r);
+- fprintf (stderr, "Error while receiving data\n");
+- GERR (r);
+- }
+-
++ fprintf(stderr, "*** Received hello message\n");
++ do
++ {
++ r = gnutls_handshake (j->tls_session);
++ }
++ while (r == GNUTLS_E_INTERRUPTED || r == GNUTLS_E_AGAIN);
++ if (r < 0)
++ {
++
++ do
++ {
++ ret = gnutls_alert_send_appropriate (j->tls_session, r);
++ }
++ while (ret == GNUTLS_E_AGAIN || ret == GNUTLS_E_INTERRUPTED);
++
++ GERR (r);
++ j->http_state = HTTP_STATE_CLOSING;
++ }
++ }
++ else
++ {
++ j->http_state = HTTP_STATE_CLOSING;
++ if (r < 0 && r != GNUTLS_E_UNEXPECTED_PACKET_LENGTH)
++ {
++ check_alert (j->tls_session, r);
++ fprintf (stderr, "Error while receiving data\n");
++ GERR (r);
++ }
++ }
+ }
+ else
+ {
+@@ -1295,7 +1330,7 @@ main (int argc, char **argv)
+ }
+ }
+
+- if (j->handshake_ok == 1)
++ if (j->handshake_ok == 1 && j->http_response != NULL)
+ {
+ /* FIXME if j->http_response == NULL? */
+ r = gnutls_record_send (j->tls_session,
+@@ -1347,6 +1382,12 @@ main (int argc, char **argv)
+ }
+ }
+ }
++ else
++ {
++ j->request_length = 0;
++ j->http_request[0] = 0;
++ j->http_state = HTTP_STATE_REQUEST;
++ }
+ }
+ }
+ lloopend (listener_list, j);
+--- a/src/tests.c 2009-06-02
++++ b/src/tests.c 2013-09-26
+@@ -45,6 +45,7 @@ extern int verbose;
+ int tls1_ok = 0;
+ int ssl3_ok = 0;
+ int tls1_1_ok = 0;
++int tls1_2_ok = 0;
+
+ /* keep session info */
+ static char *session_data = NULL;
+@@ -103,158 +104,28 @@ do_handshake (gnutls_session_t session)
+ return TEST_SUCCEED;
+ }
+
+-static int protocol_priority[16] = { GNUTLS_TLS1, GNUTLS_SSL3, 0 };
++char protocol_str[] = "+VERS-TLS1.0:+VERS-SSL3.0";
++char prio_str[256] = "";
+
+-static const int kx_priority[16] =
+- { GNUTLS_KX_RSA, GNUTLS_KX_DHE_DSS, GNUTLS_KX_DHE_RSA,
+- GNUTLS_KX_ANON_DH,
+- GNUTLS_KX_RSA_EXPORT, 0
+-};
+-
+-static const int cipher_priority[16] =
+- { GNUTLS_CIPHER_3DES_CBC, GNUTLS_CIPHER_ARCFOUR_128,
+- GNUTLS_CIPHER_ARCFOUR_40, 0
+-};
+-static const int comp_priority[16] = { GNUTLS_COMP_NULL, 0 };
+-static const int mac_priority[16] = { GNUTLS_MAC_SHA1, GNUTLS_MAC_MD5, 0 };
+-static const int cert_type_priority[16] = { GNUTLS_CRT_X509, 0 };
+-
+-#define ADD_ALL_CIPHERS(session) gnutls_cipher_set_priority(session, cipher_priority)
+-#define ADD_ALL_COMP(session) gnutls_compression_set_priority(session, comp_priority)
+-#define ADD_ALL_MACS(session) gnutls_mac_set_priority(session, mac_priority)
+-#define ADD_ALL_KX(session) gnutls_kx_set_priority(session, kx_priority)
+-#define ADD_ALL_PROTOCOLS(session) gnutls_protocol_set_priority(session, protocol_priority)
+-#define ADD_ALL_CERTTYPES(session) gnutls_certificate_type_set_priority(session, cert_type_priority)
+-
+-static void
+-ADD_KX (gnutls_session_t session, int kx)
+-{
+- static int _kx_priority[] = { 0, 0 };
+- _kx_priority[0] = kx;
+-
+- gnutls_kx_set_priority (session, _kx_priority);
+-}
+-
+-static void
+-ADD_KX2 (gnutls_session_t session, int kx1, int kx2)
+-{
+- static int _kx_priority[] = { 0, 0, 0 };
+- _kx_priority[0] = kx1;
+- _kx_priority[1] = kx2;
+-
+- gnutls_kx_set_priority (session, _kx_priority);
+-}
+-
+-static void
+-ADD_CIPHER (gnutls_session_t session, int cipher)
+-{
+- static int _cipher_priority[] = { 0, 0 };
+- _cipher_priority[0] = cipher;
+-
+- gnutls_cipher_set_priority (session, _cipher_priority);
+-}
+-
+-static void
+-ADD_CIPHER4 (gnutls_session_t session, int cipher1, int cipher2, int cipher3,
+- int cipher4)
+-{
+- static int _cipher_priority[] = { 0, 0, 0, 0, 0 };
+- _cipher_priority[0] = cipher1;
+- _cipher_priority[1] = cipher2;
+- _cipher_priority[2] = cipher3;
+- _cipher_priority[3] = cipher4;
+-
+- gnutls_cipher_set_priority (session, _cipher_priority);
+-}
+-
+-static void
+-ADD_MAC (gnutls_session_t session, int mac)
+-{
+- static int _mac_priority[] = { 0, 0 };
+- _mac_priority[0] = mac;
+-
+- gnutls_mac_set_priority (session, _mac_priority);
+-}
+-
+-static void
+-ADD_COMP (gnutls_session_t session, int c)
+-{
+- static int _comp_priority[] = { 0, 0 };
+- _comp_priority[0] = c;
+-
+- gnutls_compression_set_priority (session, _comp_priority);
+-}
+-
+-static void
+-ADD_CERTTYPE (gnutls_session_t session, int ctype)
+-{
+- static int _ct_priority[] = { 0, 0 };
+- _ct_priority[0] = ctype;
+-
+- gnutls_certificate_type_set_priority (session, _ct_priority);
+-}
+-
+-static void
+-ADD_PROTOCOL (gnutls_session_t session, int protocol)
+-{
+- static int _proto_priority[] = { 0, 0 };
+- _proto_priority[0] = protocol;
+-
+- gnutls_protocol_set_priority (session, _proto_priority);
+-}
+-
+-static void
+-ADD_PROTOCOL3 (gnutls_session_t session, int p1, int p2, int p3)
+-{
+- static int _proto_priority[] = { 0, 0, 0, 0 };
+- _proto_priority[0] = p1;
+- _proto_priority[1] = p2;
+- _proto_priority[2] = p3;
+-
+- gnutls_protocol_set_priority (session, _proto_priority);
+-}
+-
+-#ifdef ENABLE_SRP
+-static int srp_detected;
+-
+-int
+-_test_srp_username_callback (gnutls_session_t session,
+- char **username, char **password)
+-{
+- srp_detected = 1;
+-
+- return -1;
+-}
+-
+-test_code_t
+-test_srp (gnutls_session_t session)
+-{
+- int ret;
+-
+- ADD_ALL_CIPHERS (session);
+- ADD_ALL_COMP (session);
+- ADD_ALL_CERTTYPES (session);
+- ADD_ALL_PROTOCOLS (session);
+- ADD_ALL_MACS (session);
+-
+- ADD_KX (session, GNUTLS_KX_SRP);
+- srp_detected = 0;
+-
+- gnutls_srp_set_client_credentials_function (srp_cred,
+- _test_srp_username_callback);
+-
+- gnutls_credentials_set (session, GNUTLS_CRD_SRP, srp_cred);
+-
+- ret = do_handshake (session);
+-
+- gnutls_srp_set_client_credentials_function (srp_cred, NULL);
+-
+- if (srp_detected != 0)
+- return TEST_SUCCEED;
+- else
+- return TEST_FAILED;
++#define ALL_CIPHERS "+3DES-CBC:+ARCFOUR-128:+ARCFOUR-40"
++#define ALL_COMP "+COMP-NULL"
++#define ALL_MACS "+SHA1:+MD5"
++#define ALL_CERTTYPES "+CTYPE-X509"
++#define REST "%%UNSAFE_RENEGOTIATION"
++#define ALL_KX "+RSA:+DHE-RSA:+DHE-DSS:+ANON-DH:+RSA-EXPORT"
++#define INIT_STR "NONE:"
++
++static inline void _gnutls_priority_set_direct(gnutls_session_t session, const char* str)
++{
++ const char* err;
++ int ret = gnutls_priority_set_direct(session, str, &err);
++
++ if (ret < 0)
++ {
++ fprintf(stderr, "Error in %s\n", err);
++ exit(1);
++ }
+ }
+-#endif
+
+ test_code_t
+ test_server (gnutls_session_t session)
+@@ -269,12 +140,8 @@ test_server (gnutls_session_t session)
+
+ buf[sizeof (buf) - 1] = 0;
+
+- ADD_ALL_CIPHERS (session);
+- ADD_ALL_COMP (session);
+- ADD_ALL_CERTTYPES (session);
+- ADD_ALL_PROTOCOLS (session);
+- ADD_ALL_MACS (session);
+- ADD_ALL_KX (session);
++ sprintf(prio_str, INIT_STR ALL_CIPHERS ":" ALL_COMP ":" ALL_CERTTYPES ":%s:" ALL_MACS ":" ALL_KX ":" REST, protocol_str);
++ _gnutls_priority_set_direct (session, prio_str);
+
+ gnutls_credentials_set (session, GNUTLS_CRD_CERTIFICATE, xcred);
+
+@@ -318,13 +185,9 @@ test_export (gnutls_session_t session)
+ {
+ int ret;
+
+- ADD_ALL_COMP (session);
+- ADD_ALL_CERTTYPES (session);
+- ADD_ALL_PROTOCOLS (session);
+- ADD_ALL_MACS (session);
++ sprintf(prio_str, INIT_STR "+ARCFOUR-40:+RSA-EXPORT:" ALL_COMP ":" ALL_CERTTYPES ":%s:" ALL_MACS ":" ALL_KX ":" REST, protocol_str);
++ _gnutls_priority_set_direct (session, prio_str);
+
+- ADD_KX (session, GNUTLS_KX_RSA_EXPORT);
+- ADD_CIPHER (session, GNUTLS_CIPHER_ARCFOUR_40);
+ gnutls_credentials_set (session, GNUTLS_CRD_CERTIFICATE, xcred);
+
+ ret = do_handshake (session);
+@@ -348,13 +211,9 @@ test_export_info (gnutls_session_t sessi
+ if (verbose == 0 || export_true == 0)
+ return TEST_IGNORE;
+
+- ADD_ALL_COMP (session);
+- ADD_ALL_CERTTYPES (session);
+- ADD_ALL_PROTOCOLS (session);
+- ADD_ALL_MACS (session);
++ sprintf(prio_str, INIT_STR "+ARCFOUR-40:+RSA-EXPORT:" ALL_COMP ":" ALL_CERTTYPES ":%s:" ALL_MACS ":" ALL_KX ":" REST, protocol_str);
++ _gnutls_priority_set_direct (session, prio_str);
+
+- ADD_KX (session, GNUTLS_KX_RSA_EXPORT);
+- ADD_CIPHER (session, GNUTLS_CIPHER_ARCFOUR_40);
+ gnutls_credentials_set (session, GNUTLS_CRD_CERTIFICATE, xcred);
+
+ ret = do_handshake (session);
+@@ -395,13 +254,9 @@ test_dhe (gnutls_session_t session)
+ {
+ int ret;
+
+- ADD_ALL_CIPHERS (session);
+- ADD_ALL_COMP (session);
+- ADD_ALL_CERTTYPES (session);
+- ADD_ALL_PROTOCOLS (session);
+- ADD_ALL_MACS (session);
++ sprintf(prio_str, INIT_STR ALL_CIPHERS ":" ALL_COMP ":" ALL_CERTTYPES ":%s:" ALL_MACS ":+DHE-RSA:+DHE-DSS:" REST, protocol_str);
++ _gnutls_priority_set_direct (session, prio_str);
+
+- ADD_KX2 (session, GNUTLS_KX_DHE_RSA, GNUTLS_KX_DHE_DSS);
+ gnutls_credentials_set (session, GNUTLS_CRD_CERTIFICATE, xcred);
+
+ ret = do_handshake (session);
+@@ -411,6 +266,37 @@ test_dhe (gnutls_session_t session)
+ return ret;
+ }
+
++
++test_code_t
++test_safe_renegotiation (gnutls_session_t session)
++{
++ int ret;
++
++ sprintf(prio_str, INIT_STR ALL_CIPHERS ":" ALL_COMP ":" ALL_CERTTYPES ":%s:" ALL_MACS ":" ALL_KX ":%%SAFE_RENEGOTIATION", protocol_str);
++ _gnutls_priority_set_direct (session, prio_str);
++
++ gnutls_credentials_set (session, GNUTLS_CRD_CERTIFICATE, xcred);
++
++ ret = do_handshake (session);
++
++ return ret;
++}
++
++test_code_t
++test_safe_renegotiation_scsv (gnutls_session_t session)
++{
++ int ret;
++
++ sprintf(prio_str, INIT_STR ALL_CIPHERS ":" ALL_COMP ":" ALL_CERTTYPES ":+VERS-SSL3.0:" ALL_MACS ":" ALL_KX ":%%SAFE_RENEGOTIATION");
++ _gnutls_priority_set_direct (session, prio_str);
++
++ gnutls_credentials_set (session, GNUTLS_CRD_CERTIFICATE, xcred);
++
++ ret = do_handshake (session);
++
++ return ret;
++}
++
+ test_code_t
+ test_dhe_group (gnutls_session_t session)
+ {
+@@ -421,13 +307,8 @@ test_dhe_group (gnutls_session_t session
+ if (verbose == 0 || pubkey.data == NULL)
+ return TEST_IGNORE;
+
+- ADD_ALL_CIPHERS (session);
+- ADD_ALL_COMP (session);
+- ADD_ALL_CERTTYPES (session);
+- ADD_ALL_PROTOCOLS (session);
+- ADD_ALL_MACS (session);
++ sprintf(prio_str, INIT_STR ALL_CIPHERS ":" ALL_COMP ":" ALL_CERTTYPES ":%s:" ALL_MACS ":+DHE-RSA:+DHE-DSS:" REST, protocol_str);
+
+- ADD_KX2 (session, GNUTLS_KX_DHE_RSA, GNUTLS_KX_DHE_DSS);
+ gnutls_credentials_set (session, GNUTLS_CRD_CERTIFICATE, xcred);
+
+ ret = do_handshake (session);
+@@ -463,12 +344,9 @@ test_code_t
+ test_ssl3 (gnutls_session_t session)
+ {
+ int ret;
+- ADD_ALL_CIPHERS (session);
+- ADD_ALL_COMP (session);
+- ADD_ALL_CERTTYPES (session);
+- ADD_PROTOCOL (session, GNUTLS_SSL3);
+- ADD_ALL_MACS (session);
+- ADD_ALL_KX (session);
++ sprintf(prio_str, INIT_STR ALL_CIPHERS ":" ALL_COMP ":" ALL_CERTTYPES ":+VERS-SSL3.0:" ALL_MACS ":" ALL_KX ":" REST);
++ _gnutls_priority_set_direct (session, prio_str);
++
+ gnutls_credentials_set (session, GNUTLS_CRD_CERTIFICATE, xcred);
+
+ ret = do_handshake (session);
+@@ -496,12 +374,9 @@ test_bye (gnutls_session_t session)
+ signal (SIGALRM, got_alarm);
+ #endif
+
+- ADD_ALL_CIPHERS (session);
+- ADD_ALL_COMP (session);
+- ADD_ALL_CERTTYPES (session);
+- ADD_ALL_PROTOCOLS (session);
+- ADD_ALL_MACS (session);
+- ADD_ALL_KX (session);
++ sprintf(prio_str, INIT_STR ALL_CIPHERS ":" ALL_COMP ":" ALL_CERTTYPES ":%s:" ALL_MACS ":" ALL_KX ":" REST, protocol_str);
++ _gnutls_priority_set_direct (session, prio_str);
++
+ gnutls_credentials_set (session, GNUTLS_CRD_CERTIFICATE, xcred);
+
+ ret = do_handshake (session);
+@@ -548,12 +423,10 @@ test_code_t
+ test_aes (gnutls_session_t session)
+ {
+ int ret;
+- ADD_CIPHER (session, GNUTLS_CIPHER_AES_128_CBC);
+- ADD_ALL_COMP (session);
+- ADD_ALL_CERTTYPES (session);
+- ADD_ALL_PROTOCOLS (session);
+- ADD_ALL_MACS (session);
+- ADD_ALL_KX (session);
++
++ sprintf(prio_str, INIT_STR "+AES-128-CBC:" ALL_COMP ":" ALL_CERTTYPES ":%s:" ALL_MACS ":" ALL_KX ":" REST , protocol_str);
++ _gnutls_priority_set_direct (session, prio_str);
++
+ gnutls_credentials_set (session, GNUTLS_CRD_CERTIFICATE, xcred);
+
+ ret = do_handshake (session);
+@@ -565,12 +438,10 @@ test_code_t
+ test_camellia (gnutls_session_t session)
+ {
+ int ret;
+- ADD_CIPHER (session, GNUTLS_CIPHER_CAMELLIA_128_CBC);
+- ADD_ALL_COMP (session);
+- ADD_ALL_CERTTYPES (session);
+- ADD_ALL_PROTOCOLS (session);
+- ADD_ALL_MACS (session);
+- ADD_ALL_KX (session);
++
++ sprintf(prio_str, INIT_STR "+CAMELLIA-128-CBC:" ALL_COMP ":" ALL_CERTTYPES ":%s:" ALL_MACS ":" ALL_KX ":" REST, protocol_str);
++ _gnutls_priority_set_direct (session, prio_str);
++
+ gnutls_credentials_set (session, GNUTLS_CRD_CERTIFICATE, xcred);
+
+ ret = do_handshake (session);
+@@ -582,12 +453,10 @@ test_code_t
+ test_openpgp1 (gnutls_session_t session)
+ {
+ int ret;
+- ADD_ALL_CIPHERS (session);
+- ADD_ALL_COMP (session);
+- ADD_CERTTYPE (session, GNUTLS_CRT_OPENPGP);
+- ADD_ALL_PROTOCOLS (session);
+- ADD_ALL_MACS (session);
+- ADD_ALL_KX (session);
++
++ sprintf(prio_str, INIT_STR ALL_CIPHERS ":" ALL_COMP ":+CTYPE-OPENPGP:%s:" ALL_MACS ":" ALL_KX ":" REST, protocol_str);
++ _gnutls_priority_set_direct (session, prio_str);
++
+ gnutls_credentials_set (session, GNUTLS_CRD_CERTIFICATE, xcred);
+
+ ret = do_handshake (session);
+@@ -604,18 +473,16 @@ test_code_t
+ test_unknown_ciphersuites (gnutls_session_t session)
+ {
+ int ret;
++
++
+ #ifdef ENABLE_CAMELLIA
+- ADD_CIPHER4 (session, GNUTLS_CIPHER_AES_128_CBC, GNUTLS_CIPHER_3DES_CBC,
+- GNUTLS_CIPHER_CAMELLIA_128_CBC, GNUTLS_CIPHER_ARCFOUR_128);
++ sprintf(prio_str, INIT_STR ALL_CIPHERS ":" ALL_COMP ":" ALL_CERTTYPES ":%s:" ALL_MACS ":" ALL_KX ":" REST, protocol_str);
++ _gnutls_priority_set_direct (session, prio_str);
+ #else
+- ADD_CIPHER4 (session, GNUTLS_CIPHER_AES_128_CBC, GNUTLS_CIPHER_3DES_CBC,
+- GNUTLS_CIPHER_ARCFOUR_128, 0);
++ sprintf(prio_str, INIT_STR "+AES-128-CBC:" ALL_CIPHERS ":"ALL_COMP":" ALL_CERTTYPES ":%s:" ALL_MACS ":" ALL_KX ":" REST, protocol_str);
++ _gnutls_priority_set_direct (session, prio_str);
+ #endif
+- ADD_ALL_COMP (session);
+- ADD_ALL_CERTTYPES (session);
+- ADD_ALL_PROTOCOLS (session);
+- ADD_ALL_MACS (session);
+- ADD_ALL_KX (session);
++
+ gnutls_credentials_set (session, GNUTLS_CRD_CERTIFICATE, xcred);
+
+ ret = do_handshake (session);
+@@ -626,12 +493,10 @@ test_code_t
+ test_md5 (gnutls_session_t session)
+ {
+ int ret;
+- ADD_ALL_CIPHERS (session);
+- ADD_ALL_COMP (session);
+- ADD_ALL_CERTTYPES (session);
+- ADD_ALL_PROTOCOLS (session);
+- ADD_MAC (session, GNUTLS_MAC_MD5);
+- ADD_ALL_KX (session);
++
++ sprintf(prio_str, INIT_STR "+AES-128-CBC:" ALL_CIPHERS ":" ALL_COMP ":" ALL_CERTTYPES ":%s:+MD5:" ALL_KX ":" REST, protocol_str);
++ _gnutls_priority_set_direct (session, prio_str);
++
+ gnutls_credentials_set (session, GNUTLS_CRD_CERTIFICATE, xcred);
+
+ ret = do_handshake (session);
+@@ -643,12 +508,10 @@ test_code_t
+ test_zlib (gnutls_session_t session)
+ {
+ int ret;
+- ADD_ALL_CIPHERS (session);
+- ADD_COMP (session, GNUTLS_COMP_ZLIB);
+- ADD_ALL_CERTTYPES (session);
+- ADD_ALL_PROTOCOLS (session);
+- ADD_ALL_MACS (session);
+- ADD_ALL_KX (session);
++
++ sprintf(prio_str, INIT_STR ALL_CIPHERS ":+COMP-ZLIB:" ALL_CERTTYPES ":%s:" ALL_MACS ":" ALL_KX ":" REST, protocol_str);
++ _gnutls_priority_set_direct (session, prio_str);
++
+ gnutls_credentials_set (session, GNUTLS_CRD_CERTIFICATE, xcred);
+
+ ret = do_handshake (session);
+@@ -657,34 +520,25 @@ test_zlib (gnutls_session_t session)
+ #endif
+
+ test_code_t
+-test_lzo (gnutls_session_t session)
++test_sha (gnutls_session_t session)
+ {
+ int ret;
+- gnutls_handshake_set_private_extensions (session, 1);
+
+- ADD_ALL_CIPHERS (session);
+- ADD_COMP (session, GNUTLS_COMP_LZO);
+- ADD_ALL_CERTTYPES (session);
+- ADD_ALL_PROTOCOLS (session);
+- ADD_ALL_MACS (session);
+- ADD_ALL_KX (session);
++ sprintf(prio_str, INIT_STR "+AES-128-CBC:" ALL_CIPHERS ":" ALL_COMP ":" ALL_CERTTYPES ":%s:+SHA1:" ALL_KX ":" REST, protocol_str);
++ _gnutls_priority_set_direct (session, prio_str);
+ gnutls_credentials_set (session, GNUTLS_CRD_CERTIFICATE, xcred);
+
+ ret = do_handshake (session);
+-
+ return ret;
+ }
+
+ test_code_t
+-test_sha (gnutls_session_t session)
++test_3des (gnutls_session_t session)
+ {
+ int ret;
+- ADD_ALL_CIPHERS (session);
+- ADD_ALL_COMP (session);
+- ADD_ALL_CERTTYPES (session);
+- ADD_ALL_PROTOCOLS (session);
+- ADD_MAC (session, GNUTLS_MAC_SHA1);
+- ADD_ALL_KX (session);
++
++ sprintf(prio_str, INIT_STR "+3DES-CBC:" ALL_COMP ":" ALL_CERTTYPES ":%s:" ALL_MACS ":" ALL_KX ":" REST, protocol_str);
++ _gnutls_priority_set_direct (session, prio_str);
+ gnutls_credentials_set (session, GNUTLS_CRD_CERTIFICATE, xcred);
+
+ ret = do_handshake (session);
+@@ -692,15 +546,12 @@ test_sha (gnutls_session_t session)
+ }
+
+ test_code_t
+-test_3des (gnutls_session_t session)
++test_arcfour (gnutls_session_t session)
+ {
+ int ret;
+- ADD_CIPHER (session, GNUTLS_CIPHER_3DES_CBC);
+- ADD_ALL_COMP (session);
+- ADD_ALL_CERTTYPES (session);
+- ADD_ALL_PROTOCOLS (session);
+- ADD_ALL_MACS (session);
+- ADD_ALL_KX (session);
++
++ sprintf(prio_str, INIT_STR "+ARCFOUR-128:" ALL_COMP ":" ALL_CERTTYPES ":%s:" ALL_MACS ":" ALL_KX ":" REST, protocol_str);
++ _gnutls_priority_set_direct (session, prio_str);
+ gnutls_credentials_set (session, GNUTLS_CRD_CERTIFICATE, xcred);
+
+ ret = do_handshake (session);
+@@ -708,15 +559,13 @@ test_3des (gnutls_session_t session)
+ }
+
+ test_code_t
+-test_arcfour (gnutls_session_t session)
++test_arcfour_40 (gnutls_session_t session)
+ {
+ int ret;
+- ADD_CIPHER (session, GNUTLS_CIPHER_ARCFOUR_128);
+- ADD_ALL_COMP (session);
+- ADD_ALL_CERTTYPES (session);
+- ADD_ALL_PROTOCOLS (session);
+- ADD_ALL_MACS (session);
+- ADD_ALL_KX (session);
++
++ sprintf(prio_str, INIT_STR "+ARCFOUR-40:" ALL_COMP ":" ALL_CERTTYPES ":%s:" ALL_MACS ":" "+RSA-EXPORT" ":" REST, protocol_str);
++ _gnutls_priority_set_direct (session, prio_str);
++
+ gnutls_credentials_set (session, GNUTLS_CRD_CERTIFICATE, xcred);
+
+ ret = do_handshake (session);
+@@ -724,36 +573,36 @@ test_arcfour (gnutls_session_t session)
+ }
+
+ test_code_t
+-test_arcfour_40 (gnutls_session_t session)
++test_tls1 (gnutls_session_t session)
+ {
+ int ret;
+- ADD_CIPHER (session, GNUTLS_CIPHER_ARCFOUR_40);
+- ADD_ALL_COMP (session);
+- ADD_ALL_CERTTYPES (session);
+- ADD_ALL_PROTOCOLS (session);
+- ADD_ALL_MACS (session);
+- ADD_ALL_KX (session);
++
++ sprintf(prio_str, INIT_STR ALL_CIPHERS ":" ALL_COMP ":" ALL_CERTTYPES ":+VERS-TLS1.0:" ALL_MACS ":" ALL_KX ":" REST);
++ _gnutls_priority_set_direct (session, prio_str);
++
+ gnutls_credentials_set (session, GNUTLS_CRD_CERTIFICATE, xcred);
+
+ ret = do_handshake (session);
++ if (ret == TEST_SUCCEED)
++ tls1_ok = 1;
++
+ return ret;
++
+ }
+
+ test_code_t
+-test_tls1 (gnutls_session_t session)
++test_tls1_2 (gnutls_session_t session)
+ {
+ int ret;
+- ADD_ALL_CIPHERS (session);
+- ADD_ALL_COMP (session);
+- ADD_ALL_CERTTYPES (session);
+- ADD_PROTOCOL (session, GNUTLS_TLS1);
+- ADD_ALL_MACS (session);
+- ADD_ALL_KX (session);
++
++ sprintf(prio_str, INIT_STR ALL_CIPHERS ":" ALL_COMP ":" ALL_CERTTYPES ":+VERS-TLS1.2:" ALL_MACS ":" ALL_KX ":" REST);
++ _gnutls_priority_set_direct (session, prio_str);
++
+ gnutls_credentials_set (session, GNUTLS_CRD_CERTIFICATE, xcred);
+
+ ret = do_handshake (session);
+ if (ret == TEST_SUCCEED)
+- tls1_ok = 1;
++ tls1_2_ok = 1;
+
+ return ret;
+
+@@ -763,12 +612,10 @@ test_code_t
+ test_tls1_1 (gnutls_session_t session)
+ {
+ int ret;
+- ADD_ALL_CIPHERS (session);
+- ADD_ALL_COMP (session);
+- ADD_ALL_CERTTYPES (session);
+- ADD_PROTOCOL (session, GNUTLS_TLS1_1);
+- ADD_ALL_MACS (session);
+- ADD_ALL_KX (session);
++
++ sprintf(prio_str, INIT_STR ALL_CIPHERS ":" ALL_COMP ":" ALL_CERTTYPES ":+VERS-TLS1.1:" ALL_MACS ":" ALL_KX ":" REST);
++ _gnutls_priority_set_direct (session, prio_str);
++
+ gnutls_credentials_set (session, GNUTLS_CRD_CERTIFICATE, xcred);
+
+ ret = do_handshake (session);
+@@ -786,12 +633,9 @@ test_tls1_1_fallback (gnutls_session_t s
+ if (tls1_1_ok)
+ return TEST_IGNORE;
+
+- ADD_ALL_CIPHERS (session);
+- ADD_ALL_COMP (session);
+- ADD_ALL_CERTTYPES (session);
+- ADD_PROTOCOL3 (session, GNUTLS_TLS1_1, GNUTLS_TLS1, GNUTLS_SSL3);
+- ADD_ALL_MACS (session);
+- ADD_ALL_KX (session);
++ sprintf(prio_str, INIT_STR ALL_CIPHERS ":" ALL_COMP ":" ALL_CERTTYPES ":+VERS-TLS1.1:+VERS-TLS1.0:+VERS-SSL3.0:" ALL_MACS ":" ALL_KX ":" REST);
++ _gnutls_priority_set_direct (session, prio_str);
++
+ gnutls_credentials_set (session, GNUTLS_CRD_CERTIFICATE, xcred);
+
+ ret = do_handshake (session);
+@@ -817,12 +661,9 @@ test_tls_disable (gnutls_session_t sessi
+ if (tls1_ok != 0)
+ return TEST_IGNORE;
+
+- ADD_ALL_CIPHERS (session);
+- ADD_ALL_COMP (session);
+- ADD_ALL_CERTTYPES (session);
+- ADD_ALL_PROTOCOLS (session);
+- ADD_ALL_MACS (session);
+- ADD_ALL_KX (session);
++ sprintf(prio_str, INIT_STR ALL_CIPHERS ":" ALL_COMP ":" ALL_CERTTYPES ":%s:" ALL_MACS ":" ALL_KX ":" REST, protocol_str);
++ _gnutls_priority_set_direct (session, prio_str);
++
+ gnutls_credentials_set (session, GNUTLS_CRD_CERTIFICATE, xcred);
+
+ ret = do_handshake (session);
+@@ -831,8 +672,7 @@ test_tls_disable (gnutls_session_t sessi
+ /* disable TLS 1.0 */
+ if (ssl3_ok != 0)
+ {
+- protocol_priority[0] = GNUTLS_SSL3;
+- protocol_priority[1] = 0;
++ strcpy(protocol_str, "+VERS-SSL3.0");
+ }
+ }
+ return ret;
+@@ -849,12 +689,8 @@ test_rsa_pms (gnutls_session_t session)
+ * If the server is old, buggy and only supports
+ * SSL 3.0 then the handshake will fail.
+ */
+- ADD_ALL_CIPHERS (session);
+- ADD_ALL_COMP (session);
+- ADD_ALL_CERTTYPES (session);
+- ADD_ALL_PROTOCOLS (session);
+- ADD_ALL_MACS (session);
+- ADD_KX (session, GNUTLS_KX_RSA);
++ sprintf(prio_str, INIT_STR ALL_CIPHERS ":" ALL_COMP ":" ALL_CERTTYPES ":%s:" ALL_MACS ":+RSA:" REST, protocol_str);
++ _gnutls_priority_set_direct (session, prio_str);
+ gnutls_credentials_set (session, GNUTLS_CRD_CERTIFICATE, xcred);
+
+ ret = do_handshake (session);
+@@ -870,12 +706,8 @@ test_code_t
+ test_max_record_size (gnutls_session_t session)
+ {
+ int ret;
+- ADD_ALL_CIPHERS (session);
+- ADD_ALL_COMP (session);
+- ADD_ALL_CERTTYPES (session);
+- ADD_ALL_PROTOCOLS (session);
+- ADD_ALL_MACS (session);
+- ADD_ALL_KX (session);
++ sprintf(prio_str, INIT_STR ALL_CIPHERS ":" ALL_COMP ":" ALL_CERTTYPES ":%s:" ALL_MACS ":" ALL_KX ":" REST, protocol_str);
++ _gnutls_priority_set_direct (session, prio_str);
+ gnutls_credentials_set (session, GNUTLS_CRD_CERTIFICATE, xcred);
+ gnutls_record_set_max_size (session, 512);
+
+@@ -894,12 +726,9 @@ test_code_t
+ test_hello_extension (gnutls_session_t session)
+ {
+ int ret;
+- ADD_ALL_CIPHERS (session);
+- ADD_ALL_COMP (session);
+- ADD_ALL_CERTTYPES (session);
+- ADD_ALL_PROTOCOLS (session);
+- ADD_ALL_MACS (session);
+- ADD_ALL_KX (session);
++
++ sprintf(prio_str, INIT_STR ALL_CIPHERS ":" ALL_COMP ":" ALL_CERTTYPES ":%s:" ALL_MACS ":" ALL_KX ":" REST, protocol_str);
++ _gnutls_priority_set_direct (session, prio_str);
+ gnutls_credentials_set (session, GNUTLS_CRD_CERTIFICATE, xcred);
+ gnutls_record_set_max_size (session, 512);
+
+@@ -925,12 +754,8 @@ test_version_rollback (gnutls_session_t
+ * attacks which allow a version downgrade) and this
+ * connection will fail.
+ */
+- ADD_ALL_CIPHERS (session);
+- ADD_ALL_COMP (session);
+- ADD_ALL_CERTTYPES (session);
+- ADD_ALL_PROTOCOLS (session);
+- ADD_ALL_MACS (session);
+- ADD_ALL_KX (session);
++ sprintf(prio_str, INIT_STR ALL_CIPHERS ":" ALL_COMP ":" ALL_CERTTYPES ":%s:" ALL_MACS ":" ALL_KX ":" REST, protocol_str);
++ _gnutls_priority_set_direct (session, prio_str);
+ gnutls_credentials_set (session, GNUTLS_CRD_CERTIFICATE, xcred);
+ _gnutls_record_set_default_version (session, 3, 0);
+
+@@ -955,12 +780,8 @@ test_version_oob (gnutls_session_t sessi
+ /* here we enable both SSL 3.0 and TLS 1.0
+ * and we connect using a 5.5 record version.
+ */
+- ADD_ALL_CIPHERS (session);
+- ADD_ALL_COMP (session);
+- ADD_ALL_CERTTYPES (session);
+- ADD_ALL_PROTOCOLS (session);
+- ADD_ALL_MACS (session);
+- ADD_ALL_KX (session);
++ sprintf(prio_str, INIT_STR ALL_CIPHERS ":" ALL_COMP ":" ALL_CERTTYPES ":%s:" ALL_MACS ":" ALL_KX ":" REST, protocol_str);
++ _gnutls_priority_set_direct (session, prio_str);
+ gnutls_credentials_set (session, GNUTLS_CRD_CERTIFICATE, xcred);
+ _gnutls_record_set_default_version (session, 5, 5);
+
+@@ -980,12 +801,8 @@ test_rsa_pms_version_check (gnutls_sessi
+ *
+ * A normal server would abort this handshake.
+ */
+- ADD_ALL_CIPHERS (session);
+- ADD_ALL_COMP (session);
+- ADD_ALL_CERTTYPES (session);
+- ADD_ALL_PROTOCOLS (session);
+- ADD_ALL_MACS (session);
+- ADD_ALL_KX (session);
++ sprintf(prio_str, INIT_STR ALL_CIPHERS ":" ALL_COMP ":" ALL_CERTTYPES ":%s:" ALL_MACS ":" ALL_KX ":" REST, protocol_str);
++ _gnutls_priority_set_direct (session, prio_str);
+ gnutls_credentials_set (session, GNUTLS_CRD_CERTIFICATE, xcred);
+ _gnutls_rsa_pms_set_version (session, 5, 5); /* use SSL 5.5 version */
+
+@@ -1000,12 +817,8 @@ test_anonymous (gnutls_session_t session
+ {
+ int ret;
+
+- ADD_ALL_CIPHERS (session);
+- ADD_ALL_COMP (session);
+- ADD_ALL_CERTTYPES (session);
+- ADD_ALL_PROTOCOLS (session);
+- ADD_ALL_MACS (session);
+- ADD_KX (session, GNUTLS_KX_ANON_DH);
++ sprintf(prio_str, INIT_STR ALL_CIPHERS ":" ALL_COMP ":" ALL_CERTTYPES ":%s:" ALL_MACS ":+ANON-DH:" REST, protocol_str);
++ _gnutls_priority_set_direct (session, prio_str);
+ gnutls_credentials_set (session, GNUTLS_CRD_ANON, anon_cred);
+
+ ret = do_handshake (session);
+@@ -1027,12 +840,8 @@ test_session_resume2 (gnutls_session_t s
+ if (session == NULL)
+ return TEST_IGNORE;
+
+- ADD_ALL_CIPHERS (session);
+- ADD_ALL_COMP (session);
+- ADD_ALL_CERTTYPES (session);
+- ADD_ALL_PROTOCOLS (session);
+- ADD_ALL_MACS (session);
+- ADD_ALL_KX (session);
++ sprintf(prio_str, INIT_STR ALL_CIPHERS ":" ALL_COMP ":" ALL_CERTTYPES ":%s:" ALL_MACS ":" ALL_KX ":" REST, protocol_str);
++ _gnutls_priority_set_direct (session, prio_str);
+
+ gnutls_credentials_set (session, GNUTLS_CRD_CERTIFICATE, xcred);
+ gnutls_credentials_set (session, GNUTLS_CRD_ANON, anon_cred);
+@@ -1074,12 +883,8 @@ test_certificate (gnutls_session_t sessi
+ if (verbose == 0)
+ return TEST_IGNORE;
+
+- ADD_ALL_CIPHERS (session);
+- ADD_ALL_COMP (session);
+- ADD_ALL_CERTTYPES (session);
+- ADD_ALL_PROTOCOLS (session);
+- ADD_ALL_MACS (session);
+- ADD_ALL_KX (session);
++ sprintf(prio_str, INIT_STR ALL_CIPHERS ":" ALL_COMP ":" ALL_CERTTYPES ":%s:" ALL_MACS ":" ALL_KX ":" REST, protocol_str);
++ _gnutls_priority_set_direct (session, prio_str);
+
+ gnutls_credentials_set (session, GNUTLS_CRD_CERTIFICATE, xcred);
+
+@@ -1143,12 +948,8 @@ test_server_cas (gnutls_session_t sessio
+ if (verbose == 0)
+ return TEST_IGNORE;
+
+- ADD_ALL_CIPHERS (session);
+- ADD_ALL_COMP (session);
+- ADD_ALL_CERTTYPES (session);
+- ADD_ALL_PROTOCOLS (session);
+- ADD_ALL_MACS (session);
+- ADD_ALL_KX (session);
++ sprintf(prio_str, INIT_STR ALL_CIPHERS ":" ALL_COMP ":" ALL_CERTTYPES ":%s:" ALL_MACS ":" ALL_KX ":" REST, protocol_str);
++ _gnutls_priority_set_direct (session, prio_str);
+
+ gnutls_credentials_set (session, GNUTLS_CRD_CERTIFICATE, xcred);
+ gnutls_certificate_client_set_retrieve_function (xcred, cert_callback);
+--- a/src/tests.h 2009-06-02
++++ b/src/tests.h 2013-09-26
+@@ -3,7 +3,6 @@ typedef enum
+ TEST_SUCCEED, TEST_FAILED, TEST_UNSURE, TEST_IGNORE
+ } test_code_t;
+
+-test_code_t test_srp (gnutls_session_t state);
+ test_code_t test_server (gnutls_session_t state);
+ test_code_t test_export (gnutls_session_t state);
+ test_code_t test_export_info (gnutls_session_t state);
+@@ -21,7 +20,10 @@ test_code_t test_3des (gnutls_session_t
+ test_code_t test_arcfour (gnutls_session_t state);
+ test_code_t test_arcfour_40 (gnutls_session_t state);
+ test_code_t test_tls1 (gnutls_session_t state);
++test_code_t test_safe_renegotiation (gnutls_session_t state);
++test_code_t test_safe_renegotiation_scsv (gnutls_session_t state);
+ test_code_t test_tls1_1 (gnutls_session_t state);
++test_code_t test_tls1_2 (gnutls_session_t state);
+ test_code_t test_tls1_1_fallback (gnutls_session_t state);
+ test_code_t test_tls_disable (gnutls_session_t state);
+ test_code_t test_rsa_pms (gnutls_session_t state);
+@@ -37,6 +39,5 @@ test_code_t test_session_resume2 (gnutls
+ test_code_t test_rsa_pms_version_check (gnutls_session_t session);
+ test_code_t test_version_oob (gnutls_session_t session);
+ test_code_t test_zlib (gnutls_session_t session);
+-test_code_t test_lzo (gnutls_session_t session);
+ int _test_srp_username_callback (gnutls_session_t session,
+ char **username, char **password);
+--- a/src/tls_test.c 2009-06-02
++++ b/src/tls_test.c 2013-09-26
+@@ -79,6 +79,9 @@ typedef struct
+ } TLS_TEST;
+
+ static const TLS_TEST tls_tests[] = {
++ {"for Safe renegotiation support", test_safe_renegotiation, "yes", "no", "dunno"},
++ {"for Safe renegotiation support (SCSV)", test_safe_renegotiation_scsv, "yes", "no", "dunno"},
++ {"for TLS 1.2 support", test_tls1_2, "yes", "no", "dunno"},
+ {"for TLS 1.1 support", test_tls1_1, "yes", "no", "dunno"},
+ {"fallback from TLS 1.1 to", test_tls1_1_fallback, "TLS 1.0", "failed",
+ "SSL 3.0"},
+@@ -139,14 +142,8 @@ static const TLS_TEST tls_tests[] = {
+ {"for ZLIB compression support (TLS extension)", test_zlib, "yes",
+ "no", "dunno"},
+ #endif
+- {"for LZO compression support (GnuTLS extension)", test_lzo, "yes",
+- "no", "dunno"},
+ {"for max record size (TLS extension)", test_max_record_size, "yes",
+ "no", "dunno"},
+-#ifdef ENABLE_SRP
+- {"for SRP authentication support (TLS extension)", test_srp, "yes",
+- "no", "dunno"},
+-#endif
+ {"for OpenPGP authentication support (TLS extension)", test_openpgp1,
+ "yes", "no", "dunno"},
+ {NULL, NULL, NULL, NULL, NULL}
+@@ -233,7 +230,7 @@ main (int argc, char **argv)
+
+ /* if neither of SSL3 and TLSv1 are supported, exit
+ */
+- if (i > 3 && tls1_1_ok == 0 && tls1_ok == 0 && ssl3_ok == 0)
++ if (i > 6 && tls1_1_ok == 0 && tls1_ok == 0 && ssl3_ok == 0)
+ {
+ fprintf (stderr,
+ "\nServer does not support any of SSL 3.0, TLS 1.0 and TLS 1.1\n");
+--- a/tests/Makefile.am 2010-01-24
++++ b/tests/Makefile.am 2013-09-26
+@@ -20,7 +20,7 @@
+ # Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+
+ SUBDIRS = . rsa-md5-collision pkcs1-padding pkcs8-decode pkcs12-decode \
+- userid pathlen key-id sha2
++ userid pathlen key-id sha2 safe-renegotiation
+
+ if ENABLE_OPENPGP
+ SUBDIRS += openpgp-certs
+--- a/tests/Makefile.in 2010-03-15
++++ b/tests/Makefile.in 2013-09-26
+@@ -388,7 +388,7 @@ CTAGS = ctags
+ am__tty_colors = \
+ red=; grn=; lgn=; blu=; std=
+ DIST_SUBDIRS = . rsa-md5-collision pkcs1-padding pkcs8-decode \
+- pkcs12-decode userid pathlen key-id sha2 openpgp-certs
++ pkcs12-decode userid pathlen key-id sha2 openpgp-certs safe-renegotiation
+ DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+ am__relativize = \
+ dir0=`pwd`; \
+@@ -936,7 +936,7 @@ top_build_prefix = @top_build_prefix@
+ top_builddir = @top_builddir@
+ top_srcdir = @top_srcdir@
+ SUBDIRS = . rsa-md5-collision pkcs1-padding pkcs8-decode pkcs12-decode \
+- userid pathlen key-id sha2 $(am__append_1)
++ userid pathlen key-id sha2 safe-renegotiation $(am__append_1)
+ EXTRA_DIST = libgcrypt.supp hostname-check.README
+ AM_CFLAGS = $(WARN_CFLAGS) $(WERROR_CFLAGS)
+ AM_CPPFLAGS = -I$(top_srcdir)/gl -I$(top_builddir)/gl \
+--- a/tests/resume.c 2009-06-02
++++ b/tests/resume.c 2013-09-26
+@@ -47,6 +47,8 @@ static int wrap_db_store (void *dbf, gnu
+ static gnutls_datum_t wrap_db_fetch (void *dbf, gnutls_datum_t key);
+ static int wrap_db_delete (void *dbf, gnutls_datum_t key);
+
++pid_t child;
++
+ #define TLS_SESSION_CACHE 50
+
+ /* A very basic TLS client, with anonymous authentication.
+@@ -56,6 +58,12 @@ static int wrap_db_delete (void *dbf, gn
+ #define MSG "Hello TLS"
+
+ static void
++tls_log_func (int level, const char *str)
++{
++ fprintf (stderr, "%s |<%d>| %s", child ? "server" : "client", level, str);
++}
++
++static void
+ client (void)
+ {
+ int ret, sd, ii;
+@@ -70,6 +78,11 @@ client (void)
+ int t;
+ gnutls_datum session_data;
+
++ if (debug)
++ {
++ gnutls_global_set_log_function (tls_log_func);
++ gnutls_global_set_log_level (2);
++ }
+ gnutls_global_init ();
+
+ gnutls_anon_allocate_client_credentials (&anoncred);
+@@ -298,8 +311,13 @@ server (void)
+
+ /* this must be called once in the program, it is mostly for the server.
+ */
+- gnutls_global_init ();
++ if (debug)
++ {
++ gnutls_global_set_log_function (tls_log_func);
++ gnutls_global_set_log_level (2);
++ }
+
++ gnutls_global_init ();
+ gnutls_anon_allocate_server_credentials (&anoncred);
+
+ success ("Launched, generating DH parameters...\n");
+@@ -385,8 +403,6 @@ server (void)
+ void
+ doit (void)
+ {
+- pid_t child;
+-
+ global_start ();
+ if (error_count)
+ return;
+--- /dev/null 2013-09-26
++++ b/tests/safe-renegotiation/Makefile.am 2013-09-26
+@@ -0,0 +1,37 @@
++## Process this file with automake to produce Makefile.in
++# Copyright (C) 2010 Free Software Foundation, Inc.
++#
++# This file is part of GnuTLS.
++#
++# This file is free software; you can redistribute it and/or modify it
++# under the terms of the GNU General Public License as published by
++# the Free Software Foundation; either version 3 of the License, or
++# (at your option) any later version.
++#
++# This file is distributed in the hope that it will be useful, but
++# WITHOUT ANY WARRANTY; without even the implied warranty of
++# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
++# General Public License for more details.
++#
++# You should have received a copy of the GNU General Public License
++# along with this file; if not, write to the Free Software Foundation,
++# Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
++
++AM_CFLAGS = $(WARN_CFLAGS) $(WERROR_CFLAGS)
++AM_CPPFLAGS = \
++ -I$(top_srcdir)/lib/includes \
++ -I$(top_builddir)/lib/includes
++
++AM_LDFLAGS = -no-install
++LDADD = ../../lib/libgnutls.la $(LTLIBGCRYPT) $(LIBSOCKET)
++
++ctests = srn0 srn1 srn2 srn3 srn4 srn5 srn6 srn7
++
++check_PROGRAMS = $(ctests)
++TESTS = $(ctests)
++TESTS_ENVIRONMENT = $(VALGRIND)
++
++EXTRA_DIST = README params.dh
++
++dist_check_SCRIPTS = testsrn
++#TESTS = testsrn
+--- /dev/null 2013-09-26
++++ b/tests/safe-renegotiation/Makefile.in 2013-09-26
+@@ -0,0 +1,1299 @@
++# Makefile.in generated by automake 1.11.1 from Makefile.am.
++# @configure_input@
++
++# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
++# 2003, 2004, 2005, 2006, 2007, 2008, 2009 Free Software Foundation,
++# Inc.
++# This Makefile.in is free software; the Free Software Foundation
++# gives unlimited permission to copy and/or distribute it,
++# with or without modifications, as long as this notice is preserved.
++
++# This program is distributed in the hope that it will be useful,
++# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
++# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
++# PARTICULAR PURPOSE.
++
++@SET_MAKE@
++
++# Copyright (C) 2010 Free Software Foundation, Inc.
++#
++# This file is part of GnuTLS.
++#
++# This file is free software; you can redistribute it and/or modify it
++# under the terms of the GNU General Public License as published by
++# the Free Software Foundation; either version 3 of the License, or
++# (at your option) any later version.
++#
++# This file is distributed in the hope that it will be useful, but
++# WITHOUT ANY WARRANTY; without even the implied warranty of
++# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
++# General Public License for more details.
++#
++# You should have received a copy of the GNU General Public License
++# along with this file; if not, write to the Free Software Foundation,
++# Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
++VPATH = @srcdir@
++pkgdatadir = $(datadir)/@PACKAGE@
++pkgincludedir = $(includedir)/@PACKAGE@
++pkglibdir = $(libdir)/@PACKAGE@
++pkglibexecdir = $(libexecdir)/@PACKAGE@
++am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
++install_sh_DATA = $(install_sh) -c -m 644
++install_sh_PROGRAM = $(install_sh) -c
++install_sh_SCRIPT = $(install_sh) -c
++INSTALL_HEADER = $(INSTALL_DATA)
++transform = $(program_transform_name)
++NORMAL_INSTALL = :
++PRE_INSTALL = :
++POST_INSTALL = :
++NORMAL_UNINSTALL = :
++PRE_UNINSTALL = :
++POST_UNINSTALL = :
++build_triplet = @build@
++host_triplet = @host@
++check_PROGRAMS = $(am__EXEEXT_1)
++TESTS = $(am__EXEEXT_1)
++subdir = tests/safe-renegotiation
++DIST_COMMON = README $(dist_check_SCRIPTS) $(srcdir)/Makefile.am \
++ $(srcdir)/Makefile.in
++ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
++am__aclocal_m4_deps = $(top_srcdir)/libextra/m4/hooks.m4 \
++ $(top_srcdir)/lib/m4/hooks.m4 $(top_srcdir)/lib/gl/m4/po.m4 \
++ $(top_srcdir)/gl/m4/00gnulib.m4 $(top_srcdir)/gl/m4/alloca.m4 \
++ $(top_srcdir)/gl/m4/arpa_inet_h.m4 \
++ $(top_srcdir)/gl/m4/asm-underscore.m4 \
++ $(top_srcdir)/gl/m4/autobuild.m4 \
++ $(top_srcdir)/gl/m4/clock_time.m4 $(top_srcdir)/gl/m4/close.m4 \
++ $(top_srcdir)/gl/m4/errno_h.m4 $(top_srcdir)/gl/m4/error.m4 \
++ $(top_srcdir)/gl/m4/extensions.m4 \
++ $(top_srcdir)/gl/m4/fclose.m4 $(top_srcdir)/gl/m4/float_h.m4 \
++ $(top_srcdir)/gl/m4/fseeko.m4 \
++ $(top_srcdir)/gl/m4/getaddrinfo.m4 \
++ $(top_srcdir)/gl/m4/getdelim.m4 $(top_srcdir)/gl/m4/getline.m4 \
++ $(top_srcdir)/gl/m4/getpass.m4 $(top_srcdir)/gl/m4/gettime.m4 \
++ $(top_srcdir)/gl/m4/gettimeofday.m4 \
++ $(top_srcdir)/gl/m4/gnulib-common.m4 \
++ $(top_srcdir)/gl/m4/gnulib-comp.m4 \
++ $(top_srcdir)/gl/m4/hostent.m4 \
++ $(top_srcdir)/gl/m4/include_next.m4 \
++ $(top_srcdir)/gl/m4/inet_ntop.m4 \
++ $(top_srcdir)/gl/m4/inet_pton.m4 \
++ $(top_srcdir)/gl/m4/intmax_t.m4 \
++ $(top_srcdir)/gl/m4/inttypes_h.m4 $(top_srcdir)/gl/m4/ioctl.m4 \
++ $(top_srcdir)/gl/m4/lib-ld.m4 $(top_srcdir)/gl/m4/lib-link.m4 \
++ $(top_srcdir)/gl/m4/lib-prefix.m4 \
++ $(top_srcdir)/gl/m4/longlong.m4 $(top_srcdir)/gl/m4/lseek.m4 \
++ $(top_srcdir)/gl/m4/malloc.m4 \
++ $(top_srcdir)/gl/m4/manywarnings.m4 \
++ $(top_srcdir)/gl/m4/memchr.m4 $(top_srcdir)/gl/m4/minmax.m4 \
++ $(top_srcdir)/gl/m4/mmap-anon.m4 \
++ $(top_srcdir)/gl/m4/multiarch.m4 \
++ $(top_srcdir)/gl/m4/netdb_h.m4 \
++ $(top_srcdir)/gl/m4/netinet_in_h.m4 \
++ $(top_srcdir)/gl/m4/onceonly_2_57.m4 \
++ $(top_srcdir)/gl/m4/perror.m4 $(top_srcdir)/gl/m4/printf.m4 \
++ $(top_srcdir)/gl/m4/read-file.m4 \
++ $(top_srcdir)/gl/m4/readline.m4 $(top_srcdir)/gl/m4/realloc.m4 \
++ $(top_srcdir)/gl/m4/select.m4 $(top_srcdir)/gl/m4/servent.m4 \
++ $(top_srcdir)/gl/m4/size_max.m4 \
++ $(top_srcdir)/gl/m4/snprintf.m4 $(top_srcdir)/gl/m4/sockets.m4 \
++ $(top_srcdir)/gl/m4/socklen.m4 $(top_srcdir)/gl/m4/sockpfaf.m4 \
++ $(top_srcdir)/gl/m4/stdarg.m4 $(top_srcdir)/gl/m4/stdbool.m4 \
++ $(top_srcdir)/gl/m4/stddef_h.m4 $(top_srcdir)/gl/m4/stdint.m4 \
++ $(top_srcdir)/gl/m4/stdint_h.m4 $(top_srcdir)/gl/m4/stdio_h.m4 \
++ $(top_srcdir)/gl/m4/stdlib_h.m4 \
++ $(top_srcdir)/gl/m4/strerror.m4 \
++ $(top_srcdir)/gl/m4/string_h.m4 \
++ $(top_srcdir)/gl/m4/sys_ioctl_h.m4 \
++ $(top_srcdir)/gl/m4/sys_select_h.m4 \
++ $(top_srcdir)/gl/m4/sys_socket_h.m4 \
++ $(top_srcdir)/gl/m4/sys_stat_h.m4 \
++ $(top_srcdir)/gl/m4/sys_time_h.m4 \
++ $(top_srcdir)/gl/m4/time_h.m4 $(top_srcdir)/gl/m4/timespec.m4 \
++ $(top_srcdir)/gl/m4/ungetc.m4 $(top_srcdir)/gl/m4/unistd_h.m4 \
++ $(top_srcdir)/gl/m4/valgrind-tests.m4 \
++ $(top_srcdir)/gl/m4/vasnprintf.m4 \
++ $(top_srcdir)/gl/m4/version-etc.m4 \
++ $(top_srcdir)/gl/m4/warn-on-use.m4 \
++ $(top_srcdir)/gl/m4/warnings.m4 $(top_srcdir)/gl/m4/wchar_h.m4 \
++ $(top_srcdir)/gl/m4/wchar_t.m4 $(top_srcdir)/gl/m4/wint_t.m4 \
++ $(top_srcdir)/gl/m4/xsize.m4 $(top_srcdir)/m4/gtk-doc.m4 \
++ $(top_srcdir)/m4/guile.m4 $(top_srcdir)/m4/libtool.m4 \
++ $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
++ $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \
++ $(top_srcdir)/m4/pkg.m4 $(top_srcdir)/configure.ac
++am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
++ $(ACLOCAL_M4)
++mkinstalldirs = $(install_sh) -d
++CONFIG_HEADER = $(top_builddir)/config.h
++CONFIG_CLEAN_FILES =
++CONFIG_CLEAN_VPATH_FILES =
++am__EXEEXT_1 = srn0$(EXEEXT) srn1$(EXEEXT) srn2$(EXEEXT) srn3$(EXEEXT) \
++ srn4$(EXEEXT) srn5$(EXEEXT) srn6$(EXEEXT) srn7$(EXEEXT)
++srn0_SOURCES = srn0.c
++srn0_OBJECTS = srn0.$(OBJEXT)
++srn0_LDADD = $(LDADD)
++am__DEPENDENCIES_1 =
++srn0_DEPENDENCIES = ../../lib/libgnutls.la $(am__DEPENDENCIES_1) \
++ $(am__DEPENDENCIES_1)
++srn1_SOURCES = srn1.c
++srn1_OBJECTS = srn1.$(OBJEXT)
++srn1_LDADD = $(LDADD)
++srn1_DEPENDENCIES = ../../lib/libgnutls.la $(am__DEPENDENCIES_1) \
++ $(am__DEPENDENCIES_1)
++srn2_SOURCES = srn2.c
++srn2_OBJECTS = srn2.$(OBJEXT)
++srn2_LDADD = $(LDADD)
++srn2_DEPENDENCIES = ../../lib/libgnutls.la $(am__DEPENDENCIES_1) \
++ $(am__DEPENDENCIES_1)
++srn3_SOURCES = srn3.c
++srn3_OBJECTS = srn3.$(OBJEXT)
++srn3_LDADD = $(LDADD)
++srn3_DEPENDENCIES = ../../lib/libgnutls.la $(am__DEPENDENCIES_1) \
++ $(am__DEPENDENCIES_1)
++srn4_SOURCES = srn4.c
++srn4_OBJECTS = srn4.$(OBJEXT)
++srn4_LDADD = $(LDADD)
++srn4_DEPENDENCIES = ../../lib/libgnutls.la $(am__DEPENDENCIES_1) \
++ $(am__DEPENDENCIES_1)
++srn5_SOURCES = srn5.c
++srn5_OBJECTS = srn5.$(OBJEXT)
++srn5_LDADD = $(LDADD)
++srn5_DEPENDENCIES = ../../lib/libgnutls.la $(am__DEPENDENCIES_1) \
++ $(am__DEPENDENCIES_1)
++srn6_SOURCES = srn6.c
++srn6_OBJECTS = srn6.$(OBJEXT)
++srn6_LDADD = $(LDADD)
++srn6_DEPENDENCIES = ../../lib/libgnutls.la $(am__DEPENDENCIES_1) \
++ $(am__DEPENDENCIES_1)
++srn7_SOURCES = srn7.c
++srn7_OBJECTS = srn7.$(OBJEXT)
++srn7_LDADD = $(LDADD)
++srn7_DEPENDENCIES = ../../lib/libgnutls.la $(am__DEPENDENCIES_1) \
++ $(am__DEPENDENCIES_1)
++DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)
++depcomp = $(SHELL) $(top_srcdir)/build-aux/depcomp
++am__depfiles_maybe = depfiles
++am__mv = mv -f
++COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
++ $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
++LTCOMPILE = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
++ --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
++ $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
++CCLD = $(CC)
++LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
++ --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \
++ $(LDFLAGS) -o $@
++SOURCES = srn0.c srn1.c srn2.c srn3.c srn4.c srn5.c srn6.c srn7.c
++DIST_SOURCES = srn0.c srn1.c srn2.c srn3.c srn4.c srn5.c srn6.c srn7.c
++ETAGS = etags
++CTAGS = ctags
++am__tty_colors = \
++red=; grn=; lgn=; blu=; std=
++DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
++ACLOCAL = @ACLOCAL@
++ALLOCA = @ALLOCA@
++ALLOCA_H = @ALLOCA_H@
++AMTAR = @AMTAR@
++APPLE_UNIVERSAL_BUILD = @APPLE_UNIVERSAL_BUILD@
++AR = @AR@
++AS = @AS@
++ASM_SYMBOL_PREFIX = @ASM_SYMBOL_PREFIX@
++AUTOCONF = @AUTOCONF@
++AUTOHEADER = @AUTOHEADER@
++AUTOMAKE = @AUTOMAKE@
++AWK = @AWK@
++BITSIZEOF_PTRDIFF_T = @BITSIZEOF_PTRDIFF_T@
++BITSIZEOF_SIG_ATOMIC_T = @BITSIZEOF_SIG_ATOMIC_T@
++BITSIZEOF_SIZE_T = @BITSIZEOF_SIZE_T@
++BITSIZEOF_WCHAR_T = @BITSIZEOF_WCHAR_T@
++BITSIZEOF_WINT_T = @BITSIZEOF_WINT_T@
++CC = @CC@
++CCDEPMODE = @CCDEPMODE@
++CFLAGS = @CFLAGS@
++CONFIG_INCLUDE = @CONFIG_INCLUDE@
++CPP = @CPP@
++CPPFLAGS = @CPPFLAGS@
++CXX = @CXX@
++CXXCPP = @CXXCPP@
++CXXDEPMODE = @CXXDEPMODE@
++CXXFLAGS = @CXXFLAGS@
++CYGPATH_W = @CYGPATH_W@
++DEFS = @DEFS@
++DEPDIR = @DEPDIR@
++DLLTOOL = @DLLTOOL@
++DLL_VERSION = @DLL_VERSION@
++DSYMUTIL = @DSYMUTIL@
++DUMPBIN = @DUMPBIN@
++ECHO_C = @ECHO_C@
++ECHO_N = @ECHO_N@
++ECHO_T = @ECHO_T@
++EGREP = @EGREP@
++EMULTIHOP_HIDDEN = @EMULTIHOP_HIDDEN@
++EMULTIHOP_VALUE = @EMULTIHOP_VALUE@
++ENOLINK_HIDDEN = @ENOLINK_HIDDEN@
++ENOLINK_VALUE = @ENOLINK_VALUE@
++EOVERFLOW_HIDDEN = @EOVERFLOW_HIDDEN@
++EOVERFLOW_VALUE = @EOVERFLOW_VALUE@
++ERRNO_H = @ERRNO_H@
++EXEEXT = @EXEEXT@
++FGREP = @FGREP@
++FLOAT_H = @FLOAT_H@
++GAA = @GAA@
++GETADDRINFO_LIB = @GETADDRINFO_LIB@
++GNULIB_ACCEPT = @GNULIB_ACCEPT@
++GNULIB_ACCEPT4 = @GNULIB_ACCEPT4@
++GNULIB_ATOLL = @GNULIB_ATOLL@
++GNULIB_BIND = @GNULIB_BIND@
++GNULIB_BTOWC = @GNULIB_BTOWC@
++GNULIB_CALLOC_POSIX = @GNULIB_CALLOC_POSIX@
++GNULIB_CANONICALIZE_FILE_NAME = @GNULIB_CANONICALIZE_FILE_NAME@
++GNULIB_CHOWN = @GNULIB_CHOWN@
++GNULIB_CLOSE = @GNULIB_CLOSE@
++GNULIB_CONNECT = @GNULIB_CONNECT@
++GNULIB_DPRINTF = @GNULIB_DPRINTF@
++GNULIB_DUP2 = @GNULIB_DUP2@
++GNULIB_DUP3 = @GNULIB_DUP3@
++GNULIB_ENVIRON = @GNULIB_ENVIRON@
++GNULIB_EUIDACCESS = @GNULIB_EUIDACCESS@
++GNULIB_FACCESSAT = @GNULIB_FACCESSAT@
++GNULIB_FCHDIR = @GNULIB_FCHDIR@
++GNULIB_FCHMODAT = @GNULIB_FCHMODAT@
++GNULIB_FCHOWNAT = @GNULIB_FCHOWNAT@
++GNULIB_FCLOSE = @GNULIB_FCLOSE@
++GNULIB_FFLUSH = @GNULIB_FFLUSH@
++GNULIB_FOPEN = @GNULIB_FOPEN@
++GNULIB_FPRINTF = @GNULIB_FPRINTF@
++GNULIB_FPRINTF_POSIX = @GNULIB_FPRINTF_POSIX@
++GNULIB_FPURGE = @GNULIB_FPURGE@
++GNULIB_FPUTC = @GNULIB_FPUTC@
++GNULIB_FPUTS = @GNULIB_FPUTS@
++GNULIB_FREOPEN = @GNULIB_FREOPEN@
++GNULIB_FSEEK = @GNULIB_FSEEK@
++GNULIB_FSEEKO = @GNULIB_FSEEKO@
++GNULIB_FSTATAT = @GNULIB_FSTATAT@
++GNULIB_FSYNC = @GNULIB_FSYNC@
++GNULIB_FTELL = @GNULIB_FTELL@
++GNULIB_FTELLO = @GNULIB_FTELLO@
++GNULIB_FTRUNCATE = @GNULIB_FTRUNCATE@
++GNULIB_FUTIMENS = @GNULIB_FUTIMENS@
++GNULIB_FWRITE = @GNULIB_FWRITE@
++GNULIB_GETADDRINFO = @GNULIB_GETADDRINFO@
++GNULIB_GETCWD = @GNULIB_GETCWD@
++GNULIB_GETDELIM = @GNULIB_GETDELIM@
++GNULIB_GETDOMAINNAME = @GNULIB_GETDOMAINNAME@
++GNULIB_GETDTABLESIZE = @GNULIB_GETDTABLESIZE@
++GNULIB_GETGROUPS = @GNULIB_GETGROUPS@
++GNULIB_GETHOSTNAME = @GNULIB_GETHOSTNAME@
++GNULIB_GETLINE = @GNULIB_GETLINE@
++GNULIB_GETLOADAVG = @GNULIB_GETLOADAVG@
++GNULIB_GETLOGIN = @GNULIB_GETLOGIN@
++GNULIB_GETLOGIN_R = @GNULIB_GETLOGIN_R@
++GNULIB_GETPAGESIZE = @GNULIB_GETPAGESIZE@
++GNULIB_GETPEERNAME = @GNULIB_GETPEERNAME@
++GNULIB_GETSOCKNAME = @GNULIB_GETSOCKNAME@
++GNULIB_GETSOCKOPT = @GNULIB_GETSOCKOPT@
++GNULIB_GETSUBOPT = @GNULIB_GETSUBOPT@
++GNULIB_GETTIMEOFDAY = @GNULIB_GETTIMEOFDAY@
++GNULIB_GETUSERSHELL = @GNULIB_GETUSERSHELL@
++GNULIB_GRANTPT = @GNULIB_GRANTPT@
++GNULIB_INET_NTOP = @GNULIB_INET_NTOP@
++GNULIB_INET_PTON = @GNULIB_INET_PTON@
++GNULIB_IOCTL = @GNULIB_IOCTL@
++GNULIB_LCHMOD = @GNULIB_LCHMOD@
++GNULIB_LCHOWN = @GNULIB_LCHOWN@
++GNULIB_LINK = @GNULIB_LINK@
++GNULIB_LINKAT = @GNULIB_LINKAT@
++GNULIB_LISTEN = @GNULIB_LISTEN@
++GNULIB_LSEEK = @GNULIB_LSEEK@
++GNULIB_LSTAT = @GNULIB_LSTAT@
++GNULIB_MALLOC_POSIX = @GNULIB_MALLOC_POSIX@
++GNULIB_MBRLEN = @GNULIB_MBRLEN@
++GNULIB_MBRTOWC = @GNULIB_MBRTOWC@
++GNULIB_MBSCASECMP = @GNULIB_MBSCASECMP@
++GNULIB_MBSCASESTR = @GNULIB_MBSCASESTR@
++GNULIB_MBSCHR = @GNULIB_MBSCHR@
++GNULIB_MBSCSPN = @GNULIB_MBSCSPN@
++GNULIB_MBSINIT = @GNULIB_MBSINIT@
++GNULIB_MBSLEN = @GNULIB_MBSLEN@
++GNULIB_MBSNCASECMP = @GNULIB_MBSNCASECMP@
++GNULIB_MBSNLEN = @GNULIB_MBSNLEN@
++GNULIB_MBSNRTOWCS = @GNULIB_MBSNRTOWCS@
++GNULIB_MBSPBRK = @GNULIB_MBSPBRK@
++GNULIB_MBSPCASECMP = @GNULIB_MBSPCASECMP@
++GNULIB_MBSRCHR = @GNULIB_MBSRCHR@
++GNULIB_MBSRTOWCS = @GNULIB_MBSRTOWCS@
++GNULIB_MBSSEP = @GNULIB_MBSSEP@
++GNULIB_MBSSPN = @GNULIB_MBSSPN@
++GNULIB_MBSSTR = @GNULIB_MBSSTR@
++GNULIB_MBSTOK_R = @GNULIB_MBSTOK_R@
++GNULIB_MEMCHR = @GNULIB_MEMCHR@
++GNULIB_MEMMEM = @GNULIB_MEMMEM@
++GNULIB_MEMPCPY = @GNULIB_MEMPCPY@
++GNULIB_MEMRCHR = @GNULIB_MEMRCHR@
++GNULIB_MKDIRAT = @GNULIB_MKDIRAT@
++GNULIB_MKDTEMP = @GNULIB_MKDTEMP@
++GNULIB_MKFIFO = @GNULIB_MKFIFO@
++GNULIB_MKFIFOAT = @GNULIB_MKFIFOAT@
++GNULIB_MKNOD = @GNULIB_MKNOD@
++GNULIB_MKNODAT = @GNULIB_MKNODAT@
++GNULIB_MKOSTEMP = @GNULIB_MKOSTEMP@
++GNULIB_MKOSTEMPS = @GNULIB_MKOSTEMPS@
++GNULIB_MKSTEMP = @GNULIB_MKSTEMP@
++GNULIB_MKSTEMPS = @GNULIB_MKSTEMPS@
++GNULIB_MKTIME = @GNULIB_MKTIME@
++GNULIB_NANOSLEEP = @GNULIB_NANOSLEEP@
++GNULIB_OBSTACK_PRINTF = @GNULIB_OBSTACK_PRINTF@
++GNULIB_OBSTACK_PRINTF_POSIX = @GNULIB_OBSTACK_PRINTF_POSIX@
++GNULIB_PERROR = @GNULIB_PERROR@
++GNULIB_PIPE2 = @GNULIB_PIPE2@
++GNULIB_POPEN = @GNULIB_POPEN@
++GNULIB_PREAD = @GNULIB_PREAD@
++GNULIB_PRINTF = @GNULIB_PRINTF@
++GNULIB_PRINTF_POSIX = @GNULIB_PRINTF_POSIX@
++GNULIB_PTSNAME = @GNULIB_PTSNAME@
++GNULIB_PUTC = @GNULIB_PUTC@
++GNULIB_PUTCHAR = @GNULIB_PUTCHAR@
++GNULIB_PUTENV = @GNULIB_PUTENV@
++GNULIB_PUTS = @GNULIB_PUTS@
++GNULIB_PWRITE = @GNULIB_PWRITE@
++GNULIB_RANDOM_R = @GNULIB_RANDOM_R@
++GNULIB_RAWMEMCHR = @GNULIB_RAWMEMCHR@
++GNULIB_READLINK = @GNULIB_READLINK@
++GNULIB_READLINKAT = @GNULIB_READLINKAT@
++GNULIB_REALLOC_POSIX = @GNULIB_REALLOC_POSIX@
++GNULIB_REALPATH = @GNULIB_REALPATH@
++GNULIB_RECV = @GNULIB_RECV@
++GNULIB_RECVFROM = @GNULIB_RECVFROM@
++GNULIB_REMOVE = @GNULIB_REMOVE@
++GNULIB_RENAME = @GNULIB_RENAME@
++GNULIB_RENAMEAT = @GNULIB_RENAMEAT@
++GNULIB_RMDIR = @GNULIB_RMDIR@
++GNULIB_RPMATCH = @GNULIB_RPMATCH@
++GNULIB_SELECT = @GNULIB_SELECT@
++GNULIB_SEND = @GNULIB_SEND@
++GNULIB_SENDTO = @GNULIB_SENDTO@
++GNULIB_SETENV = @GNULIB_SETENV@
++GNULIB_SETSOCKOPT = @GNULIB_SETSOCKOPT@
++GNULIB_SHUTDOWN = @GNULIB_SHUTDOWN@
++GNULIB_SLEEP = @GNULIB_SLEEP@
++GNULIB_SNPRINTF = @GNULIB_SNPRINTF@
++GNULIB_SOCKET = @GNULIB_SOCKET@
++GNULIB_SPRINTF_POSIX = @GNULIB_SPRINTF_POSIX@
++GNULIB_STAT = @GNULIB_STAT@
++GNULIB_STDIO_H_SIGPIPE = @GNULIB_STDIO_H_SIGPIPE@
++GNULIB_STPCPY = @GNULIB_STPCPY@
++GNULIB_STPNCPY = @GNULIB_STPNCPY@
++GNULIB_STRCASESTR = @GNULIB_STRCASESTR@
++GNULIB_STRCHRNUL = @GNULIB_STRCHRNUL@
++GNULIB_STRDUP = @GNULIB_STRDUP@
++GNULIB_STRERROR = @GNULIB_STRERROR@
++GNULIB_STRNCAT = @GNULIB_STRNCAT@
++GNULIB_STRNDUP = @GNULIB_STRNDUP@
++GNULIB_STRNLEN = @GNULIB_STRNLEN@
++GNULIB_STRPBRK = @GNULIB_STRPBRK@
++GNULIB_STRPTIME = @GNULIB_STRPTIME@
++GNULIB_STRSEP = @GNULIB_STRSEP@
++GNULIB_STRSIGNAL = @GNULIB_STRSIGNAL@
++GNULIB_STRSTR = @GNULIB_STRSTR@
++GNULIB_STRTOD = @GNULIB_STRTOD@
++GNULIB_STRTOK_R = @GNULIB_STRTOK_R@
++GNULIB_STRTOLL = @GNULIB_STRTOLL@
++GNULIB_STRTOULL = @GNULIB_STRTOULL@
++GNULIB_STRVERSCMP = @GNULIB_STRVERSCMP@
++GNULIB_SYMLINK = @GNULIB_SYMLINK@
++GNULIB_SYMLINKAT = @GNULIB_SYMLINKAT@
++GNULIB_TIMEGM = @GNULIB_TIMEGM@
++GNULIB_TIME_R = @GNULIB_TIME_R@
++GNULIB_TMPFILE = @GNULIB_TMPFILE@
++GNULIB_TTYNAME_R = @GNULIB_TTYNAME_R@
++GNULIB_UNISTD_H_GETOPT = @GNULIB_UNISTD_H_GETOPT@
++GNULIB_UNISTD_H_SIGPIPE = @GNULIB_UNISTD_H_SIGPIPE@
++GNULIB_UNLINK = @GNULIB_UNLINK@
++GNULIB_UNLINKAT = @GNULIB_UNLINKAT@
++GNULIB_UNLOCKPT = @GNULIB_UNLOCKPT@
++GNULIB_UNSETENV = @GNULIB_UNSETENV@
++GNULIB_USLEEP = @GNULIB_USLEEP@
++GNULIB_UTIMENSAT = @GNULIB_UTIMENSAT@
++GNULIB_VASPRINTF = @GNULIB_VASPRINTF@
++GNULIB_VDPRINTF = @GNULIB_VDPRINTF@
++GNULIB_VFPRINTF = @GNULIB_VFPRINTF@
++GNULIB_VFPRINTF_POSIX = @GNULIB_VFPRINTF_POSIX@
++GNULIB_VPRINTF = @GNULIB_VPRINTF@
++GNULIB_VPRINTF_POSIX = @GNULIB_VPRINTF_POSIX@
++GNULIB_VSNPRINTF = @GNULIB_VSNPRINTF@
++GNULIB_VSPRINTF_POSIX = @GNULIB_VSPRINTF_POSIX@
++GNULIB_WCRTOMB = @GNULIB_WCRTOMB@
++GNULIB_WCSNRTOMBS = @GNULIB_WCSNRTOMBS@
++GNULIB_WCSRTOMBS = @GNULIB_WCSRTOMBS@
++GNULIB_WCTOB = @GNULIB_WCTOB@
++GNULIB_WCWIDTH = @GNULIB_WCWIDTH@
++GNULIB_WRITE = @GNULIB_WRITE@
++GREP = @GREP@
++GTKDOC_CHECK = @GTKDOC_CHECK@
++GTKDOC_MKPDF = @GTKDOC_MKPDF@
++GTKDOC_REBASE = @GTKDOC_REBASE@
++GUILE = @GUILE@
++GUILE_CFLAGS = @GUILE_CFLAGS@
++GUILE_CONFIG = @GUILE_CONFIG@
++GUILE_LDFLAGS = @GUILE_LDFLAGS@
++GUILE_SITE = @GUILE_SITE@
++GUILE_TOOLS = @GUILE_TOOLS@
++HAVE_ACCEPT4 = @HAVE_ACCEPT4@
++HAVE_ARPA_INET_H = @HAVE_ARPA_INET_H@
++HAVE_ATOLL = @HAVE_ATOLL@
++HAVE_BTOWC = @HAVE_BTOWC@
++HAVE_CALLOC_POSIX = @HAVE_CALLOC_POSIX@
++HAVE_CANONICALIZE_FILE_NAME = @HAVE_CANONICALIZE_FILE_NAME@
++HAVE_CHOWN = @HAVE_CHOWN@
++HAVE_DECL_ENVIRON = @HAVE_DECL_ENVIRON@
++HAVE_DECL_FPURGE = @HAVE_DECL_FPURGE@
++HAVE_DECL_FREEADDRINFO = @HAVE_DECL_FREEADDRINFO@
++HAVE_DECL_GAI_STRERROR = @HAVE_DECL_GAI_STRERROR@
++HAVE_DECL_GETADDRINFO = @HAVE_DECL_GETADDRINFO@
++HAVE_DECL_GETDELIM = @HAVE_DECL_GETDELIM@
++HAVE_DECL_GETLINE = @HAVE_DECL_GETLINE@
++HAVE_DECL_GETLOADAVG = @HAVE_DECL_GETLOADAVG@
++HAVE_DECL_GETLOGIN_R = @HAVE_DECL_GETLOGIN_R@
++HAVE_DECL_GETNAMEINFO = @HAVE_DECL_GETNAMEINFO@
++HAVE_DECL_GETPAGESIZE = @HAVE_DECL_GETPAGESIZE@
++HAVE_DECL_GETUSERSHELL = @HAVE_DECL_GETUSERSHELL@
++HAVE_DECL_INET_NTOP = @HAVE_DECL_INET_NTOP@
++HAVE_DECL_INET_PTON = @HAVE_DECL_INET_PTON@
++HAVE_DECL_MEMMEM = @HAVE_DECL_MEMMEM@
++HAVE_DECL_MEMRCHR = @HAVE_DECL_MEMRCHR@
++HAVE_DECL_OBSTACK_PRINTF = @HAVE_DECL_OBSTACK_PRINTF@
++HAVE_DECL_SNPRINTF = @HAVE_DECL_SNPRINTF@
++HAVE_DECL_STRDUP = @HAVE_DECL_STRDUP@
++HAVE_DECL_STRNDUP = @HAVE_DECL_STRNDUP@
++HAVE_DECL_STRNLEN = @HAVE_DECL_STRNLEN@
++HAVE_DECL_STRSIGNAL = @HAVE_DECL_STRSIGNAL@
++HAVE_DECL_STRTOK_R = @HAVE_DECL_STRTOK_R@
++HAVE_DECL_VSNPRINTF = @HAVE_DECL_VSNPRINTF@
++HAVE_DECL_WCTOB = @HAVE_DECL_WCTOB@
++HAVE_DECL_WCWIDTH = @HAVE_DECL_WCWIDTH@
++HAVE_DPRINTF = @HAVE_DPRINTF@
++HAVE_DUP2 = @HAVE_DUP2@
++HAVE_DUP3 = @HAVE_DUP3@
++HAVE_EUIDACCESS = @HAVE_EUIDACCESS@
++HAVE_FACCESSAT = @HAVE_FACCESSAT@
++HAVE_FCHDIR = @HAVE_FCHDIR@
++HAVE_FCHMODAT = @HAVE_FCHMODAT@
++HAVE_FCHOWNAT = @HAVE_FCHOWNAT@
++HAVE_FSEEKO = @HAVE_FSEEKO@
++HAVE_FSTATAT = @HAVE_FSTATAT@
++HAVE_FSYNC = @HAVE_FSYNC@
++HAVE_FTELLO = @HAVE_FTELLO@
++HAVE_FTRUNCATE = @HAVE_FTRUNCATE@
++HAVE_FUTIMENS = @HAVE_FUTIMENS@
++HAVE_GETDOMAINNAME = @HAVE_GETDOMAINNAME@
++HAVE_GETDTABLESIZE = @HAVE_GETDTABLESIZE@
++HAVE_GETGROUPS = @HAVE_GETGROUPS@
++HAVE_GETHOSTNAME = @HAVE_GETHOSTNAME@
++HAVE_GETLOGIN = @HAVE_GETLOGIN@
++HAVE_GETPAGESIZE = @HAVE_GETPAGESIZE@
++HAVE_GETSUBOPT = @HAVE_GETSUBOPT@
++HAVE_GETTIMEOFDAY = @HAVE_GETTIMEOFDAY@
++HAVE_GRANTPT = @HAVE_GRANTPT@
++HAVE_INTTYPES_H = @HAVE_INTTYPES_H@
++HAVE_LCHMOD = @HAVE_LCHMOD@
++HAVE_LCHOWN = @HAVE_LCHOWN@
++HAVE_LIBGCRYPT = @HAVE_LIBGCRYPT@
++HAVE_LIBTASN1 = @HAVE_LIBTASN1@
++HAVE_LINK = @HAVE_LINK@
++HAVE_LINKAT = @HAVE_LINKAT@
++HAVE_LOCALTIME_R = @HAVE_LOCALTIME_R@
++HAVE_LONG_LONG_INT = @HAVE_LONG_LONG_INT@
++HAVE_LSTAT = @HAVE_LSTAT@
++HAVE_MALLOC_POSIX = @HAVE_MALLOC_POSIX@
++HAVE_MBRLEN = @HAVE_MBRLEN@
++HAVE_MBRTOWC = @HAVE_MBRTOWC@
++HAVE_MBSINIT = @HAVE_MBSINIT@
++HAVE_MBSLEN = @HAVE_MBSLEN@
++HAVE_MBSNRTOWCS = @HAVE_MBSNRTOWCS@
++HAVE_MBSRTOWCS = @HAVE_MBSRTOWCS@
++HAVE_MEMCHR = @HAVE_MEMCHR@
++HAVE_MEMPCPY = @HAVE_MEMPCPY@
++HAVE_MKDIRAT = @HAVE_MKDIRAT@
++HAVE_MKDTEMP = @HAVE_MKDTEMP@
++HAVE_MKFIFO = @HAVE_MKFIFO@
++HAVE_MKFIFOAT = @HAVE_MKFIFOAT@
++HAVE_MKNOD = @HAVE_MKNOD@
++HAVE_MKNODAT = @HAVE_MKNODAT@
++HAVE_MKOSTEMP = @HAVE_MKOSTEMP@
++HAVE_MKOSTEMPS = @HAVE_MKOSTEMPS@
++HAVE_MKSTEMP = @HAVE_MKSTEMP@
++HAVE_MKSTEMPS = @HAVE_MKSTEMPS@
++HAVE_NANOSLEEP = @HAVE_NANOSLEEP@
++HAVE_NETDB_H = @HAVE_NETDB_H@
++HAVE_NETINET_IN_H = @HAVE_NETINET_IN_H@
++HAVE_OS_H = @HAVE_OS_H@
++HAVE_PIPE2 = @HAVE_PIPE2@
++HAVE_PREAD = @HAVE_PREAD@
++HAVE_PTSNAME = @HAVE_PTSNAME@
++HAVE_PWRITE = @HAVE_PWRITE@
++HAVE_RANDOM_H = @HAVE_RANDOM_H@
++HAVE_RANDOM_R = @HAVE_RANDOM_R@
++HAVE_RAWMEMCHR = @HAVE_RAWMEMCHR@
++HAVE_READLINK = @HAVE_READLINK@
++HAVE_READLINKAT = @HAVE_READLINKAT@
++HAVE_REALLOC_POSIX = @HAVE_REALLOC_POSIX@
++HAVE_REALPATH = @HAVE_REALPATH@
++HAVE_RENAMEAT = @HAVE_RENAMEAT@
++HAVE_RPMATCH = @HAVE_RPMATCH@
++HAVE_SA_FAMILY_T = @HAVE_SA_FAMILY_T@
++HAVE_SETENV = @HAVE_SETENV@
++HAVE_SIGNED_SIG_ATOMIC_T = @HAVE_SIGNED_SIG_ATOMIC_T@
++HAVE_SIGNED_WCHAR_T = @HAVE_SIGNED_WCHAR_T@
++HAVE_SIGNED_WINT_T = @HAVE_SIGNED_WINT_T@
++HAVE_SLEEP = @HAVE_SLEEP@
++HAVE_STDINT_H = @HAVE_STDINT_H@
++HAVE_STPCPY = @HAVE_STPCPY@
++HAVE_STPNCPY = @HAVE_STPNCPY@
++HAVE_STRCASESTR = @HAVE_STRCASESTR@
++HAVE_STRCHRNUL = @HAVE_STRCHRNUL@
++HAVE_STRPBRK = @HAVE_STRPBRK@
++HAVE_STRPTIME = @HAVE_STRPTIME@
++HAVE_STRSEP = @HAVE_STRSEP@
++HAVE_STRTOD = @HAVE_STRTOD@
++HAVE_STRTOLL = @HAVE_STRTOLL@
++HAVE_STRTOULL = @HAVE_STRTOULL@
++HAVE_STRUCT_ADDRINFO = @HAVE_STRUCT_ADDRINFO@
++HAVE_STRUCT_RANDOM_DATA = @HAVE_STRUCT_RANDOM_DATA@
++HAVE_STRUCT_SOCKADDR_STORAGE = @HAVE_STRUCT_SOCKADDR_STORAGE@
++HAVE_STRUCT_TIMEVAL = @HAVE_STRUCT_TIMEVAL@
++HAVE_STRVERSCMP = @HAVE_STRVERSCMP@
++HAVE_SYMLINK = @HAVE_SYMLINK@
++HAVE_SYMLINKAT = @HAVE_SYMLINKAT@
++HAVE_SYS_BITYPES_H = @HAVE_SYS_BITYPES_H@
++HAVE_SYS_INTTYPES_H = @HAVE_SYS_INTTYPES_H@
++HAVE_SYS_IOCTL_H = @HAVE_SYS_IOCTL_H@
++HAVE_SYS_LOADAVG_H = @HAVE_SYS_LOADAVG_H@
++HAVE_SYS_PARAM_H = @HAVE_SYS_PARAM_H@
++HAVE_SYS_SELECT_H = @HAVE_SYS_SELECT_H@
++HAVE_SYS_SOCKET_H = @HAVE_SYS_SOCKET_H@
++HAVE_SYS_TIME_H = @HAVE_SYS_TIME_H@
++HAVE_SYS_TYPES_H = @HAVE_SYS_TYPES_H@
++HAVE_TIMEGM = @HAVE_TIMEGM@
++HAVE_TTYNAME_R = @HAVE_TTYNAME_R@
++HAVE_UNISTD_H = @HAVE_UNISTD_H@
++HAVE_UNLINKAT = @HAVE_UNLINKAT@
++HAVE_UNLOCKPT = @HAVE_UNLOCKPT@
++HAVE_UNSETENV = @HAVE_UNSETENV@
++HAVE_UNSIGNED_LONG_LONG_INT = @HAVE_UNSIGNED_LONG_LONG_INT@
++HAVE_USLEEP = @HAVE_USLEEP@
++HAVE_UTIMENSAT = @HAVE_UTIMENSAT@
++HAVE_VASPRINTF = @HAVE_VASPRINTF@
++HAVE_VDPRINTF = @HAVE_VDPRINTF@
++HAVE_WCHAR_H = @HAVE_WCHAR_H@
++HAVE_WCHAR_T = @HAVE_WCHAR_T@
++HAVE_WCRTOMB = @HAVE_WCRTOMB@
++HAVE_WCSNRTOMBS = @HAVE_WCSNRTOMBS@
++HAVE_WCSRTOMBS = @HAVE_WCSRTOMBS@
++HAVE_WINSOCK2_H = @HAVE_WINSOCK2_H@
++HAVE_WINT_T = @HAVE_WINT_T@
++HAVE_WS2TCPIP_H = @HAVE_WS2TCPIP_H@
++HAVE__BOOL = @HAVE__BOOL@
++HOSTENT_LIB = @HOSTENT_LIB@
++HTML_DIR = @HTML_DIR@
++INCLUDE_NEXT = @INCLUDE_NEXT@
++INCLUDE_NEXT_AS_FIRST_DIRECTIVE = @INCLUDE_NEXT_AS_FIRST_DIRECTIVE@
++INET_NTOP_LIB = @INET_NTOP_LIB@
++INET_PTON_LIB = @INET_PTON_LIB@
++INSTALL = @INSTALL@
++INSTALL_DATA = @INSTALL_DATA@
++INSTALL_PROGRAM = @INSTALL_PROGRAM@
++INSTALL_SCRIPT = @INSTALL_SCRIPT@
++INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
++LD = @LD@
++LDFLAGS = @LDFLAGS@
++LIBGCRYPT = @LIBGCRYPT@
++LIBGCRYPT_PREFIX = @LIBGCRYPT_PREFIX@
++LIBINTL = @LIBINTL@
++LIBOBJS = @LIBOBJS@
++LIBREADLINE = @LIBREADLINE@
++LIBS = @LIBS@
++LIBSOCKET = @LIBSOCKET@
++LIBTASN1 = @LIBTASN1@
++LIBTASN1_PREFIX = @LIBTASN1_PREFIX@
++LIBTESTS_LIBDEPS = @LIBTESTS_LIBDEPS@
++LIBTOOL = @LIBTOOL@
++LIB_CLOCK_GETTIME = @LIB_CLOCK_GETTIME@
++LIPO = @LIPO@
++LN_S = @LN_S@
++LTALLOCA = @LTALLOCA@
++LTLIBGCRYPT = @LTLIBGCRYPT@
++LTLIBINTL = @LTLIBINTL@
++LTLIBOBJS = @LTLIBOBJS@
++LTLIBREADLINE = @LTLIBREADLINE@
++LTLIBTASN1 = @LTLIBTASN1@
++LT_AGE = @LT_AGE@
++LT_CURRENT = @LT_CURRENT@
++LT_REVISION = @LT_REVISION@
++LZO_LIBS = @LZO_LIBS@
++MAKEINFO = @MAKEINFO@
++MKDIR_P = @MKDIR_P@
++NETINET_IN_H = @NETINET_IN_H@
++NEXT_ARPA_INET_H = @NEXT_ARPA_INET_H@
++NEXT_AS_FIRST_DIRECTIVE_ARPA_INET_H = @NEXT_AS_FIRST_DIRECTIVE_ARPA_INET_H@
++NEXT_AS_FIRST_DIRECTIVE_ERRNO_H = @NEXT_AS_FIRST_DIRECTIVE_ERRNO_H@
++NEXT_AS_FIRST_DIRECTIVE_FLOAT_H = @NEXT_AS_FIRST_DIRECTIVE_FLOAT_H@
++NEXT_AS_FIRST_DIRECTIVE_NETDB_H = @NEXT_AS_FIRST_DIRECTIVE_NETDB_H@
++NEXT_AS_FIRST_DIRECTIVE_NETINET_IN_H = @NEXT_AS_FIRST_DIRECTIVE_NETINET_IN_H@
++NEXT_AS_FIRST_DIRECTIVE_STDARG_H = @NEXT_AS_FIRST_DIRECTIVE_STDARG_H@
++NEXT_AS_FIRST_DIRECTIVE_STDDEF_H = @NEXT_AS_FIRST_DIRECTIVE_STDDEF_H@
++NEXT_AS_FIRST_DIRECTIVE_STDINT_H = @NEXT_AS_FIRST_DIRECTIVE_STDINT_H@
++NEXT_AS_FIRST_DIRECTIVE_STDIO_H = @NEXT_AS_FIRST_DIRECTIVE_STDIO_H@
++NEXT_AS_FIRST_DIRECTIVE_STDLIB_H = @NEXT_AS_FIRST_DIRECTIVE_STDLIB_H@
++NEXT_AS_FIRST_DIRECTIVE_STRING_H = @NEXT_AS_FIRST_DIRECTIVE_STRING_H@
++NEXT_AS_FIRST_DIRECTIVE_SYS_IOCTL_H = @NEXT_AS_FIRST_DIRECTIVE_SYS_IOCTL_H@
++NEXT_AS_FIRST_DIRECTIVE_SYS_SELECT_H = @NEXT_AS_FIRST_DIRECTIVE_SYS_SELECT_H@
++NEXT_AS_FIRST_DIRECTIVE_SYS_SOCKET_H = @NEXT_AS_FIRST_DIRECTIVE_SYS_SOCKET_H@
++NEXT_AS_FIRST_DIRECTIVE_SYS_STAT_H = @NEXT_AS_FIRST_DIRECTIVE_SYS_STAT_H@
++NEXT_AS_FIRST_DIRECTIVE_SYS_TIME_H = @NEXT_AS_FIRST_DIRECTIVE_SYS_TIME_H@
++NEXT_AS_FIRST_DIRECTIVE_TIME_H = @NEXT_AS_FIRST_DIRECTIVE_TIME_H@
++NEXT_AS_FIRST_DIRECTIVE_UNISTD_H = @NEXT_AS_FIRST_DIRECTIVE_UNISTD_H@
++NEXT_AS_FIRST_DIRECTIVE_WCHAR_H = @NEXT_AS_FIRST_DIRECTIVE_WCHAR_H@
++NEXT_ERRNO_H = @NEXT_ERRNO_H@
++NEXT_FLOAT_H = @NEXT_FLOAT_H@
++NEXT_NETDB_H = @NEXT_NETDB_H@
++NEXT_NETINET_IN_H = @NEXT_NETINET_IN_H@
++NEXT_STDARG_H = @NEXT_STDARG_H@
++NEXT_STDDEF_H = @NEXT_STDDEF_H@
++NEXT_STDINT_H = @NEXT_STDINT_H@
++NEXT_STDIO_H = @NEXT_STDIO_H@
++NEXT_STDLIB_H = @NEXT_STDLIB_H@
++NEXT_STRING_H = @NEXT_STRING_H@
++NEXT_SYS_IOCTL_H = @NEXT_SYS_IOCTL_H@
++NEXT_SYS_SELECT_H = @NEXT_SYS_SELECT_H@
++NEXT_SYS_SOCKET_H = @NEXT_SYS_SOCKET_H@
++NEXT_SYS_STAT_H = @NEXT_SYS_STAT_H@
++NEXT_SYS_TIME_H = @NEXT_SYS_TIME_H@
++NEXT_TIME_H = @NEXT_TIME_H@
++NEXT_UNISTD_H = @NEXT_UNISTD_H@
++NEXT_WCHAR_H = @NEXT_WCHAR_H@
++NM = @NM@
++NMEDIT = @NMEDIT@
++OBJDUMP = @OBJDUMP@
++OBJEXT = @OBJEXT@
++OTOOL = @OTOOL@
++OTOOL64 = @OTOOL64@
++PACKAGE = @PACKAGE@
++PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
++PACKAGE_NAME = @PACKAGE_NAME@
++PACKAGE_STRING = @PACKAGE_STRING@
++PACKAGE_TARNAME = @PACKAGE_TARNAME@
++PACKAGE_URL = @PACKAGE_URL@
++PACKAGE_VERSION = @PACKAGE_VERSION@
++PATH_SEPARATOR = @PATH_SEPARATOR@
++PKG_CONFIG = @PKG_CONFIG@
++PMCCABE = @PMCCABE@
++PRAGMA_SYSTEM_HEADER = @PRAGMA_SYSTEM_HEADER@
++PTHREAD_H_DEFINES_STRUCT_TIMESPEC = @PTHREAD_H_DEFINES_STRUCT_TIMESPEC@
++PTRDIFF_T_SUFFIX = @PTRDIFF_T_SUFFIX@
++RANLIB = @RANLIB@
++REPLACE_BTOWC = @REPLACE_BTOWC@
++REPLACE_CANONICALIZE_FILE_NAME = @REPLACE_CANONICALIZE_FILE_NAME@
++REPLACE_CHOWN = @REPLACE_CHOWN@
++REPLACE_CLOSE = @REPLACE_CLOSE@
++REPLACE_DPRINTF = @REPLACE_DPRINTF@
++REPLACE_DUP = @REPLACE_DUP@
++REPLACE_DUP2 = @REPLACE_DUP2@
++REPLACE_FCHOWNAT = @REPLACE_FCHOWNAT@
++REPLACE_FCLOSE = @REPLACE_FCLOSE@
++REPLACE_FFLUSH = @REPLACE_FFLUSH@
++REPLACE_FOPEN = @REPLACE_FOPEN@
++REPLACE_FPRINTF = @REPLACE_FPRINTF@
++REPLACE_FPURGE = @REPLACE_FPURGE@
++REPLACE_FREOPEN = @REPLACE_FREOPEN@
++REPLACE_FSEEK = @REPLACE_FSEEK@
++REPLACE_FSEEKO = @REPLACE_FSEEKO@
++REPLACE_FSTAT = @REPLACE_FSTAT@
++REPLACE_FSTATAT = @REPLACE_FSTATAT@
++REPLACE_FTELL = @REPLACE_FTELL@
++REPLACE_FTELLO = @REPLACE_FTELLO@
++REPLACE_FUTIMENS = @REPLACE_FUTIMENS@
++REPLACE_GETCWD = @REPLACE_GETCWD@
++REPLACE_GETDELIM = @REPLACE_GETDELIM@
++REPLACE_GETGROUPS = @REPLACE_GETGROUPS@
++REPLACE_GETLINE = @REPLACE_GETLINE@
++REPLACE_GETPAGESIZE = @REPLACE_GETPAGESIZE@
++REPLACE_GETTIMEOFDAY = @REPLACE_GETTIMEOFDAY@
++REPLACE_IOCTL = @REPLACE_IOCTL@
++REPLACE_LCHOWN = @REPLACE_LCHOWN@
++REPLACE_LINK = @REPLACE_LINK@
++REPLACE_LINKAT = @REPLACE_LINKAT@
++REPLACE_LOCALTIME_R = @REPLACE_LOCALTIME_R@
++REPLACE_LSEEK = @REPLACE_LSEEK@
++REPLACE_LSTAT = @REPLACE_LSTAT@
++REPLACE_MBRLEN = @REPLACE_MBRLEN@
++REPLACE_MBRTOWC = @REPLACE_MBRTOWC@
++REPLACE_MBSINIT = @REPLACE_MBSINIT@
++REPLACE_MBSNRTOWCS = @REPLACE_MBSNRTOWCS@
++REPLACE_MBSRTOWCS = @REPLACE_MBSRTOWCS@
++REPLACE_MBSTATE_T = @REPLACE_MBSTATE_T@
++REPLACE_MEMCHR = @REPLACE_MEMCHR@
++REPLACE_MEMMEM = @REPLACE_MEMMEM@
++REPLACE_MKDIR = @REPLACE_MKDIR@
++REPLACE_MKFIFO = @REPLACE_MKFIFO@
++REPLACE_MKNOD = @REPLACE_MKNOD@
++REPLACE_MKSTEMP = @REPLACE_MKSTEMP@
++REPLACE_MKTIME = @REPLACE_MKTIME@
++REPLACE_NANOSLEEP = @REPLACE_NANOSLEEP@
++REPLACE_NULL = @REPLACE_NULL@
++REPLACE_OBSTACK_PRINTF = @REPLACE_OBSTACK_PRINTF@
++REPLACE_PERROR = @REPLACE_PERROR@
++REPLACE_POPEN = @REPLACE_POPEN@
++REPLACE_PREAD = @REPLACE_PREAD@
++REPLACE_PRINTF = @REPLACE_PRINTF@
++REPLACE_PUTENV = @REPLACE_PUTENV@
++REPLACE_PWRITE = @REPLACE_PWRITE@
++REPLACE_READLINK = @REPLACE_READLINK@
++REPLACE_REALPATH = @REPLACE_REALPATH@
++REPLACE_REMOVE = @REPLACE_REMOVE@
++REPLACE_RENAME = @REPLACE_RENAME@
++REPLACE_RENAMEAT = @REPLACE_RENAMEAT@
++REPLACE_RMDIR = @REPLACE_RMDIR@
++REPLACE_SELECT = @REPLACE_SELECT@
++REPLACE_SETENV = @REPLACE_SETENV@
++REPLACE_SLEEP = @REPLACE_SLEEP@
++REPLACE_SNPRINTF = @REPLACE_SNPRINTF@
++REPLACE_SPRINTF = @REPLACE_SPRINTF@
++REPLACE_STAT = @REPLACE_STAT@
++REPLACE_STDIO_WRITE_FUNCS = @REPLACE_STDIO_WRITE_FUNCS@
++REPLACE_STPNCPY = @REPLACE_STPNCPY@
++REPLACE_STRCASESTR = @REPLACE_STRCASESTR@
++REPLACE_STRDUP = @REPLACE_STRDUP@
++REPLACE_STRERROR = @REPLACE_STRERROR@
++REPLACE_STRNCAT = @REPLACE_STRNCAT@
++REPLACE_STRNDUP = @REPLACE_STRNDUP@
++REPLACE_STRNLEN = @REPLACE_STRNLEN@
++REPLACE_STRSIGNAL = @REPLACE_STRSIGNAL@
++REPLACE_STRSTR = @REPLACE_STRSTR@
++REPLACE_STRTOD = @REPLACE_STRTOD@
++REPLACE_STRTOK_R = @REPLACE_STRTOK_R@
++REPLACE_SYMLINK = @REPLACE_SYMLINK@
++REPLACE_TIMEGM = @REPLACE_TIMEGM@
++REPLACE_TMPFILE = @REPLACE_TMPFILE@
++REPLACE_TTYNAME_R = @REPLACE_TTYNAME_R@
++REPLACE_UNLINK = @REPLACE_UNLINK@
++REPLACE_UNLINKAT = @REPLACE_UNLINKAT@
++REPLACE_UNSETENV = @REPLACE_UNSETENV@
++REPLACE_USLEEP = @REPLACE_USLEEP@
++REPLACE_UTIMENSAT = @REPLACE_UTIMENSAT@
++REPLACE_VASPRINTF = @REPLACE_VASPRINTF@
++REPLACE_VDPRINTF = @REPLACE_VDPRINTF@
++REPLACE_VFPRINTF = @REPLACE_VFPRINTF@
++REPLACE_VPRINTF = @REPLACE_VPRINTF@
++REPLACE_VSNPRINTF = @REPLACE_VSNPRINTF@
++REPLACE_VSPRINTF = @REPLACE_VSPRINTF@
++REPLACE_WCRTOMB = @REPLACE_WCRTOMB@
++REPLACE_WCSNRTOMBS = @REPLACE_WCSNRTOMBS@
++REPLACE_WCSRTOMBS = @REPLACE_WCSRTOMBS@
++REPLACE_WCTOB = @REPLACE_WCTOB@
++REPLACE_WCWIDTH = @REPLACE_WCWIDTH@
++REPLACE_WRITE = @REPLACE_WRITE@
++SED = @SED@
++SERVENT_LIB = @SERVENT_LIB@
++SET_MAKE = @SET_MAKE@
++SHELL = @SHELL@
++SIG_ATOMIC_T_SUFFIX = @SIG_ATOMIC_T_SUFFIX@
++SIZE_T_SUFFIX = @SIZE_T_SUFFIX@
++STDARG_H = @STDARG_H@
++STDBOOL_H = @STDBOOL_H@
++STDDEF_H = @STDDEF_H@
++STDINT_H = @STDINT_H@
++STRIP = @STRIP@
++SYS_IOCTL_H_HAVE_WINSOCK2_H = @SYS_IOCTL_H_HAVE_WINSOCK2_H@
++SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS = @SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS@
++SYS_TIME_H_DEFINES_STRUCT_TIMESPEC = @SYS_TIME_H_DEFINES_STRUCT_TIMESPEC@
++TIME_H_DEFINES_STRUCT_TIMESPEC = @TIME_H_DEFINES_STRUCT_TIMESPEC@
++UNDEFINE_STRTOK_R = @UNDEFINE_STRTOK_R@
++UNISTD_H_HAVE_WINSOCK2_H = @UNISTD_H_HAVE_WINSOCK2_H@
++UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS = @UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS@
++VALGRIND = @VALGRIND@
++VERSION = @VERSION@
++WARN_CFLAGS = @WARN_CFLAGS@
++WCHAR_T_SUFFIX = @WCHAR_T_SUFFIX@
++WERROR_CFLAGS = @WERROR_CFLAGS@
++WINT_T_SUFFIX = @WINT_T_SUFFIX@
++WSTACK_CFLAGS = @WSTACK_CFLAGS@
++abs_aux_dir = @abs_aux_dir@
++abs_builddir = @abs_builddir@
++abs_srcdir = @abs_srcdir@
++abs_top_builddir = @abs_top_builddir@
++abs_top_srcdir = @abs_top_srcdir@
++ac_ct_CC = @ac_ct_CC@
++ac_ct_CXX = @ac_ct_CXX@
++ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
++am__include = @am__include@
++am__leading_dot = @am__leading_dot@
++am__quote = @am__quote@
++am__tar = @am__tar@
++am__untar = @am__untar@
++bindir = @bindir@
++build = @build@
++build_alias = @build_alias@
++build_cpu = @build_cpu@
++build_os = @build_os@
++build_vendor = @build_vendor@
++builddir = @builddir@
++datadir = @datadir@
++datarootdir = @datarootdir@
++docdir = @docdir@
++dvidir = @dvidir@
++exec_prefix = @exec_prefix@
++gl_LIBOBJS = @gl_LIBOBJS@
++gl_LTLIBOBJS = @gl_LTLIBOBJS@
++gltests_LIBOBJS = @gltests_LIBOBJS@
++gltests_LTLIBOBJS = @gltests_LTLIBOBJS@
++gltests_WITNESS = @gltests_WITNESS@
++guile_snarf = @guile_snarf@
++host = @host@
++host_alias = @host_alias@
++host_cpu = @host_cpu@
++host_os = @host_os@
++host_vendor = @host_vendor@
++htmldir = @htmldir@
++includedir = @includedir@
++infodir = @infodir@
++install_sh = @install_sh@
++libdir = @libdir@
++libexecdir = @libexecdir@
++localedir = @localedir@
++localstatedir = @localstatedir@
++mandir = @mandir@
++mkdir_p = @mkdir_p@
++oldincludedir = @oldincludedir@
++pdfdir = @pdfdir@
++prefix = @prefix@
++program_transform_name = @program_transform_name@
++psdir = @psdir@
++sbindir = @sbindir@
++sharedstatedir = @sharedstatedir@
++srcdir = @srcdir@
++subdirs = @subdirs@
++sysconfdir = @sysconfdir@
++target_alias = @target_alias@
++top_build_prefix = @top_build_prefix@
++top_builddir = @top_builddir@
++top_srcdir = @top_srcdir@
++AM_CFLAGS = $(WARN_CFLAGS) $(WERROR_CFLAGS)
++AM_CPPFLAGS = \
++ -I$(top_srcdir)/lib/includes \
++ -I$(top_builddir)/lib/includes
++
++AM_LDFLAGS = -no-install
++LDADD = ../../lib/libgnutls.la $(LTLIBGCRYPT) $(LIBSOCKET)
++ctests = srn0 srn1 srn2 srn3 srn4 srn5 srn6 srn7
++TESTS_ENVIRONMENT = $(VALGRIND)
++EXTRA_DIST = README params.dh
++dist_check_SCRIPTS = testsrn
++all: all-am
++
++.SUFFIXES:
++.SUFFIXES: .c .lo .o .obj
++$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps)
++ @for dep in $?; do \
++ case '$(am__configure_deps)' in \
++ *$$dep*) \
++ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
++ && { if test -f $@; then exit 0; else break; fi; }; \
++ exit 1;; \
++ esac; \
++ done; \
++ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu tests/safe-renegotiation/Makefile'; \
++ $(am__cd) $(top_srcdir) && \
++ $(AUTOMAKE) --gnu tests/safe-renegotiation/Makefile
++.PRECIOUS: Makefile
++Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
++ @case '$?' in \
++ *config.status*) \
++ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
++ *) \
++ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
++ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
++ esac;
++
++$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
++ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
++
++$(top_srcdir)/configure: $(am__configure_deps)
++ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
++$(ACLOCAL_M4): $(am__aclocal_m4_deps)
++ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
++$(am__aclocal_m4_deps):
++
++clean-checkPROGRAMS:
++ @list='$(check_PROGRAMS)'; test -n "$$list" || exit 0; \
++ echo " rm -f" $$list; \
++ rm -f $$list || exit $$?; \
++ test -n "$(EXEEXT)" || exit 0; \
++ list=`for p in $$list; do echo "$$p"; done | sed 's/$(EXEEXT)$$//'`; \
++ echo " rm -f" $$list; \
++ rm -f $$list
++srn0$(EXEEXT): $(srn0_OBJECTS) $(srn0_DEPENDENCIES)
++ @rm -f srn0$(EXEEXT)
++ $(LINK) $(srn0_OBJECTS) $(srn0_LDADD) $(LIBS)
++srn1$(EXEEXT): $(srn1_OBJECTS) $(srn1_DEPENDENCIES)
++ @rm -f srn1$(EXEEXT)
++ $(LINK) $(srn1_OBJECTS) $(srn1_LDADD) $(LIBS)
++srn2$(EXEEXT): $(srn2_OBJECTS) $(srn2_DEPENDENCIES)
++ @rm -f srn2$(EXEEXT)
++ $(LINK) $(srn2_OBJECTS) $(srn2_LDADD) $(LIBS)
++srn3$(EXEEXT): $(srn3_OBJECTS) $(srn3_DEPENDENCIES)
++ @rm -f srn3$(EXEEXT)
++ $(LINK) $(srn3_OBJECTS) $(srn3_LDADD) $(LIBS)
++srn4$(EXEEXT): $(srn4_OBJECTS) $(srn4_DEPENDENCIES)
++ @rm -f srn4$(EXEEXT)
++ $(LINK) $(srn4_OBJECTS) $(srn4_LDADD) $(LIBS)
++srn5$(EXEEXT): $(srn5_OBJECTS) $(srn5_DEPENDENCIES)
++ @rm -f srn5$(EXEEXT)
++ $(LINK) $(srn5_OBJECTS) $(srn5_LDADD) $(LIBS)
++srn6$(EXEEXT): $(srn6_OBJECTS) $(srn6_DEPENDENCIES)
++ @rm -f srn6$(EXEEXT)
++ $(LINK) $(srn6_OBJECTS) $(srn6_LDADD) $(LIBS)
++srn7$(EXEEXT): $(srn7_OBJECTS) $(srn7_DEPENDENCIES)
++ @rm -f srn7$(EXEEXT)
++ $(LINK) $(srn7_OBJECTS) $(srn7_LDADD) $(LIBS)
++
++mostlyclean-compile:
++ -rm -f *.$(OBJEXT)
++
++distclean-compile:
++ -rm -f *.tab.c
++
++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/srn0.Po@am__quote@
++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/srn1.Po@am__quote@
++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/srn2.Po@am__quote@
++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/srn3.Po@am__quote@
++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/srn4.Po@am__quote@
++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/srn5.Po@am__quote@
++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/srn6.Po@am__quote@
++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/srn7.Po@am__quote@
++
++.c.o:
++@am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
++@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
++@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
++@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
++@am__fastdepCC_FALSE@ $(COMPILE) -c $<
++
++.c.obj:
++@am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
++@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
++@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
++@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
++@am__fastdepCC_FALSE@ $(COMPILE) -c `$(CYGPATH_W) '$<'`
++
++.c.lo:
++@am__fastdepCC_TRUE@ $(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
++@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
++@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
++@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
++@am__fastdepCC_FALSE@ $(LTCOMPILE) -c -o $@ $<
++
++mostlyclean-libtool:
++ -rm -f *.lo
++
++clean-libtool:
++ -rm -rf .libs _libs
++
++ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
++ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
++ unique=`for i in $$list; do \
++ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
++ done | \
++ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
++ END { if (nonempty) { for (i in files) print i; }; }'`; \
++ mkid -fID $$unique
++tags: TAGS
++
++TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
++ $(TAGS_FILES) $(LISP)
++ set x; \
++ here=`pwd`; \
++ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
++ unique=`for i in $$list; do \
++ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
++ done | \
++ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
++ END { if (nonempty) { for (i in files) print i; }; }'`; \
++ shift; \
++ if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
++ test -n "$$unique" || unique=$$empty_fix; \
++ if test $$# -gt 0; then \
++ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
++ "$$@" $$unique; \
++ else \
++ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
++ $$unique; \
++ fi; \
++ fi
++ctags: CTAGS
++CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
++ $(TAGS_FILES) $(LISP)
++ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
++ unique=`for i in $$list; do \
++ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
++ done | \
++ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
++ END { if (nonempty) { for (i in files) print i; }; }'`; \
++ test -z "$(CTAGS_ARGS)$$unique" \
++ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
++ $$unique
++
++GTAGS:
++ here=`$(am__cd) $(top_builddir) && pwd` \
++ && $(am__cd) $(top_srcdir) \
++ && gtags -i $(GTAGS_ARGS) "$$here"
++
++distclean-tags:
++ -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
++
++check-TESTS: $(TESTS)
++ @failed=0; all=0; xfail=0; xpass=0; skip=0; \
++ srcdir=$(srcdir); export srcdir; \
++ list=' $(TESTS) '; \
++ $(am__tty_colors); \
++ if test -n "$$list"; then \
++ for tst in $$list; do \
++ if test -f ./$$tst; then dir=./; \
++ elif test -f $$tst; then dir=; \
++ else dir="$(srcdir)/"; fi; \
++ if $(TESTS_ENVIRONMENT) $${dir}$$tst; then \
++ all=`expr $$all + 1`; \
++ case " $(XFAIL_TESTS) " in \
++ *[\ \ ]$$tst[\ \ ]*) \
++ xpass=`expr $$xpass + 1`; \
++ failed=`expr $$failed + 1`; \
++ col=$$red; res=XPASS; \
++ ;; \
++ *) \
++ col=$$grn; res=PASS; \
++ ;; \
++ esac; \
++ elif test $$? -ne 77; then \
++ all=`expr $$all + 1`; \
++ case " $(XFAIL_TESTS) " in \
++ *[\ \ ]$$tst[\ \ ]*) \
++ xfail=`expr $$xfail + 1`; \
++ col=$$lgn; res=XFAIL; \
++ ;; \
++ *) \
++ failed=`expr $$failed + 1`; \
++ col=$$red; res=FAIL; \
++ ;; \
++ esac; \
++ else \
++ skip=`expr $$skip + 1`; \
++ col=$$blu; res=SKIP; \
++ fi; \
++ echo "$${col}$$res$${std}: $$tst"; \
++ done; \
++ if test "$$all" -eq 1; then \
++ tests="test"; \
++ All=""; \
++ else \
++ tests="tests"; \
++ All="All "; \
++ fi; \
++ if test "$$failed" -eq 0; then \
++ if test "$$xfail" -eq 0; then \
++ banner="$$All$$all $$tests passed"; \
++ else \
++ if test "$$xfail" -eq 1; then failures=failure; else failures=failures; fi; \
++ banner="$$All$$all $$tests behaved as expected ($$xfail expected $$failures)"; \
++ fi; \
++ else \
++ if test "$$xpass" -eq 0; then \
++ banner="$$failed of $$all $$tests failed"; \
++ else \
++ if test "$$xpass" -eq 1; then passes=pass; else passes=passes; fi; \
++ banner="$$failed of $$all $$tests did not behave as expected ($$xpass unexpected $$passes)"; \
++ fi; \
++ fi; \
++ dashes="$$banner"; \
++ skipped=""; \
++ if test "$$skip" -ne 0; then \
++ if test "$$skip" -eq 1; then \
++ skipped="($$skip test was not run)"; \
++ else \
++ skipped="($$skip tests were not run)"; \
++ fi; \
++ test `echo "$$skipped" | wc -c` -le `echo "$$banner" | wc -c` || \
++ dashes="$$skipped"; \
++ fi; \
++ report=""; \
++ if test "$$failed" -ne 0 && test -n "$(PACKAGE_BUGREPORT)"; then \
++ report="Please report to $(PACKAGE_BUGREPORT)"; \
++ test `echo "$$report" | wc -c` -le `echo "$$banner" | wc -c` || \
++ dashes="$$report"; \
++ fi; \
++ dashes=`echo "$$dashes" | sed s/./=/g`; \
++ if test "$$failed" -eq 0; then \
++ echo "$$grn$$dashes"; \
++ else \
++ echo "$$red$$dashes"; \
++ fi; \
++ echo "$$banner"; \
++ test -z "$$skipped" || echo "$$skipped"; \
++ test -z "$$report" || echo "$$report"; \
++ echo "$$dashes$$std"; \
++ test "$$failed" -eq 0; \
++ else :; fi
++
++distdir: $(DISTFILES)
++ @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
++ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
++ list='$(DISTFILES)'; \
++ dist_files=`for file in $$list; do echo $$file; done | \
++ sed -e "s|^$$srcdirstrip/||;t" \
++ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
++ case $$dist_files in \
++ */*) $(MKDIR_P) `echo "$$dist_files" | \
++ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
++ sort -u` ;; \
++ esac; \
++ for file in $$dist_files; do \
++ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
++ if test -d $$d/$$file; then \
++ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
++ if test -d "$(distdir)/$$file"; then \
++ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
++ fi; \
++ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
++ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
++ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
++ fi; \
++ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
++ else \
++ test -f "$(distdir)/$$file" \
++ || cp -p $$d/$$file "$(distdir)/$$file" \
++ || exit 1; \
++ fi; \
++ done
++check-am: all-am
++ $(MAKE) $(AM_MAKEFLAGS) $(check_PROGRAMS) \
++ $(dist_check_SCRIPTS)
++ $(MAKE) $(AM_MAKEFLAGS) check-TESTS
++check: check-am
++all-am: Makefile
++installdirs:
++install: install-am
++install-exec: install-exec-am
++install-data: install-data-am
++uninstall: uninstall-am
++
++install-am: all-am
++ @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
++
++installcheck: installcheck-am
++install-strip:
++ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
++ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
++ `test -z '$(STRIP)' || \
++ echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
++mostlyclean-generic:
++
++clean-generic:
++
++distclean-generic:
++ -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
++ -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
++
++maintainer-clean-generic:
++ @echo "This command is intended for maintainers to use"
++ @echo "it deletes files that may require special tools to rebuild."
++clean: clean-am
++
++clean-am: clean-checkPROGRAMS clean-generic clean-libtool \
++ mostlyclean-am
++
++distclean: distclean-am
++ -rm -rf ./$(DEPDIR)
++ -rm -f Makefile
++distclean-am: clean-am distclean-compile distclean-generic \
++ distclean-tags
++
++dvi: dvi-am
++
++dvi-am:
++
++html: html-am
++
++html-am:
++
++info: info-am
++
++info-am:
++
++install-data-am:
++
++install-dvi: install-dvi-am
++
++install-dvi-am:
++
++install-exec-am:
++
++install-html: install-html-am
++
++install-html-am:
++
++install-info: install-info-am
++
++install-info-am:
++
++install-man:
++
++install-pdf: install-pdf-am
++
++install-pdf-am:
++
++install-ps: install-ps-am
++
++install-ps-am:
++
++installcheck-am:
++
++maintainer-clean: maintainer-clean-am
++ -rm -rf ./$(DEPDIR)
++ -rm -f Makefile
++maintainer-clean-am: distclean-am maintainer-clean-generic
++
++mostlyclean: mostlyclean-am
++
++mostlyclean-am: mostlyclean-compile mostlyclean-generic \
++ mostlyclean-libtool
++
++pdf: pdf-am
++
++pdf-am:
++
++ps: ps-am
++
++ps-am:
++
++uninstall-am:
++
++.MAKE: check-am install-am install-strip
++
++.PHONY: CTAGS GTAGS all all-am check check-TESTS check-am clean \
++ clean-checkPROGRAMS clean-generic clean-libtool ctags \
++ distclean distclean-compile distclean-generic \
++ distclean-libtool distclean-tags distdir dvi dvi-am html \
++ html-am info info-am install install-am install-data \
++ install-data-am install-dvi install-dvi-am install-exec \
++ install-exec-am install-html install-html-am install-info \
++ install-info-am install-man install-pdf install-pdf-am \
++ install-ps install-ps-am install-strip installcheck \
++ installcheck-am installdirs maintainer-clean \
++ maintainer-clean-generic mostlyclean mostlyclean-compile \
++ mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
++ tags uninstall uninstall-am
++
++#TESTS = testsrn
++
++# 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:
+--- /dev/null 2013-09-26
++++ b/tests/safe-renegotiation/params.dh 2013-09-26
+@@ -0,0 +1,35 @@
++
++Generator: 05
++
++Prime: c9:e9:2d:fc:94:15:1a:10:4f:3c:b5:16
++ 7e:34:10:7d:eb:3d:d5:7d:61:ff:b0:ce
++ da:7f:6e:0c:ea:db:b4:87:f6:c6:34:a8
++ 3c:f8:84:52:14:59:ab:17:5c:d0:f0:86
++ c4:02:93:dc:09:83:57:16:98:21:d0:42
++ 8e:33:fc:48:69:e6:04:0d:4e:50:09:33
++ 2e:28:60:4f:05:08:7c:ce:2f:a6:1a:4c
++ 41:d1:a3:dd:f6:37:56:44:1d:b0:54:af
++ f7:4a:a0:c2:19:5d:ce:62:b0:7a:1b:e1
++ 5c:7f:bb:4d:7e:9e:28:48:00:a4:9a:86
++ 3e:6e:6e:9c:57:41:c7:ec:bf:7f:09:fc
++ da:25:c2:1e:e0:52:dc:65:8c:40:a3:6e
++ bd:99:4e:0b:1a:04:e0:23:20:46:5a:d0
++ 3f:b3:a4:d6:76:73:b7:cc:61:33:11:54
++ a6:32:ff:94:08:d5:66:36:fd:99:69:21
++ cc:28:5d:11:52:32:48:b6:a5:b5:c3:b0
++ 21:3f:f9:69:25:83:b1:3d:79:a6:ed:ae
++ db:95:62:fc:72:ca:ad:46:fc:b6:b1:ea
++ 98:68:97:ba:f2:54:aa:86:ed:62:b1:78
++ 5f:d5:19:80:ce:41:ee:98:a1:71:9f:fa
++ 5b:6b:d8:5e:7e:b3:18:0a:f0:4c:96:76
++ 6c:0c:b0:a3
++
++
++-----BEGIN DH PARAMETERS-----
++MIIBCAKCAQEAyekt/JQVGhBPPLUWfjQQfes91X1h/7DO2n9uDOrbtIf2xjSoPPiE
++UhRZqxdc0PCGxAKT3AmDVxaYIdBCjjP8SGnmBA1OUAkzLihgTwUIfM4vphpMQdGj
++3fY3VkQdsFSv90qgwhldzmKwehvhXH+7TX6eKEgApJqGPm5unFdBx+y/fwn82iXC
++HuBS3GWMQKNuvZlOCxoE4CMgRlrQP7Ok1nZzt8xhMxFUpjL/lAjVZjb9mWkhzChd
++EVIySLaltcOwIT/5aSWDsT15pu2u25Vi/HLKrUb8trHqmGiXuvJUqobtYrF4X9UZ
++gM5B7pihcZ/6W2vYXn6zGArwTJZ2bAywowIBBQ==
++-----END DH PARAMETERS-----
+--- /dev/null 2013-09-26
++++ b/tests/safe-renegotiation/README 2013-09-26
+@@ -0,0 +1,93 @@
++Testing safe renegotiation is relatively complex, here is a summary of
++what we test and what how we believe it should work.
++
++ Client setting
++ Server setting
++ Initial handshake outcome
++ Rehandshake outcome
++srn0.c
++
++ This tests that the safe renegotiation extension is negotiated
++ properly by default on initial connections and on rehandshaked
++ connections. Consequently, it also verifies that rehandshaked
++ connections work with the extension enabled.
++
++ NORMAL
++ NORMAL
++ OK
++ OK
++
++srn1.c
++
++ This tests that clients without support for safe renegotiation is
++ able to handshake against servers with support, but not able to
++ rehandshake (server will refuse rehandshake).
++
++ NORMAL:%DISABLE_SAFE_RENEGOTIATION
++ NORMAL
++ OK
++ Server refuses
++
++srn2.c
++
++ This tests that clients with support for safe renegotiation is able
++ to handshake against servers without support, but not able to
++ rehandshake (client will refuse rehandshake).
++
++ NORMAL
++ NORMAL:%DISABLE_SAFE_RENEGOTIATION
++ OK
++ Client refuses
++
++srn3.c
++
++ This tests that a %SAFE_RENEGOTIATION client will reject handshakes
++ against servers that do not support the extension (server uses
++ %DISABLE_SAFE_RENEGOTIATION).
++
++ NORMAL:%SAFE_RENEGOTIATION
++ NORMAL:%DISABLE_SAFE_RENEGOTIATION
++ Client refuses
++ N/A
++
++srn4.c
++
++ This tests that a %SAFE_RENEGOTIATION server will reject handshakes
++ against clients that do not support the extension.
++
++ NORMAL:%DISABLE_SAFE_RENEGOTIATION
++ NORMAL:%SAFE_RENEGOTIATION
++ Server refuses
++ N/A
++
++srn5.c
++
++ This tests that a client with a permissive policy
++ (%UNSAFE_RENEGOTIATION) is able to handshake and rehandshake with a
++ server with no support for the extension.
++
++ NORMAL:%DISABLE_SAFE_RENEGOTIATION
++ NORMAL:%UNSAFE_RENEGOTIATION
++ OK
++ OK
++
++srn6.c
++
++ This tests that a server with a permissive policy
++ (%UNSAFE_RENEGOTIATION) is able to handshake and rehandshake with a
++ client with no support for the extension.
++
++ NORMAL:%UNSAFE_RENEGOTIATION
++ NORMAL:%DISABLE_SAFE_RENEGOTIATION
++ OK
++ OK
++
++srn7.c
++
++ This tests that clients and servers in %SAFE_RENEGOTIATION mode are
++ able to handshake and rehandshake.
++
++ NORMAL:%SAFE_RENEGOTIATION
++ NORMAL:%SAFE_RENEGOTIATION
++ OK
++ OK
+--- /dev/null 2013-09-26
++++ b/tests/safe-renegotiation/srn0.c 2013-09-26
+@@ -0,0 +1,338 @@
++/*
++ * Copyright (C) 2008, 2010 Free Software Foundation, Inc.
++ *
++ * Author: Simon Josefsson
++ *
++ * This file is part of GnuTLS.
++ *
++ * GnuTLS is free software; you can redistribute it and/or modify it
++ * under the terms of the GNU General Public License as published by
++ * the Free Software Foundation; either version 3 of the License, or
++ * (at your option) any later version.
++ *
++ * GnuTLS is distributed in the hope that it will be useful, but
++ * WITHOUT ANY WARRANTY; without even the implied warranty of
++ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
++ * General Public License for more details.
++ *
++ * You should have received a copy of the GNU General Public License
++ * along with GnuTLS; if not, write to the Free Software Foundation,
++ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA
++ */
++
++/* Code based on ../mini-x509-rehandshake.c.
++ *
++ * This tests that the safe renegotiation extension is negotiated
++ * properly by default on initial connections and on rehandshaked
++ * connections. Consequently, it also verifies that rehandshaked
++ * connections work with the extension enabled.
++ */
++
++#ifdef HAVE_CONFIG_H
++# include <config.h>
++#endif
++
++#include <stdio.h>
++#include <stdlib.h>
++#include <string.h>
++#include <errno.h>
++#include <gnutls/gnutls.h>
++
++static void
++tls_log_func (int level, const char *str)
++{
++ fprintf (stderr, "|<%d>| %s", level, str);
++}
++
++static char *to_server;
++static size_t to_server_len;
++
++static char *to_client;
++static size_t to_client_len;
++
++static ssize_t
++client_pull (gnutls_transport_ptr_t tr, void *data, size_t len)
++{
++ if (to_client_len < len)
++ {
++ gnutls_transport_set_global_errno (EAGAIN);
++ return -1;
++ }
++
++ memcpy (data, to_client, len);
++
++ memmove (to_client, to_client + len, to_client_len - len);
++ to_client_len -= len;
++
++ return len;
++}
++
++static ssize_t
++client_push (gnutls_transport_ptr_t tr, const void *data, size_t len)
++{
++ size_t newlen = to_server_len + len;
++ char *tmp;
++
++ tmp = realloc (to_server, newlen);
++ if (!tmp)
++ abort ();
++ to_server = tmp;
++
++ memcpy (to_server + to_server_len, data, len);
++ to_server_len = newlen;
++
++ return len;
++}
++
++static ssize_t
++server_pull (gnutls_transport_ptr_t tr, void *data, size_t len)
++{
++ if (to_server_len < len)
++ {
++ gnutls_transport_set_global_errno (EAGAIN);
++ return -1;
++ }
++
++ memcpy (data, to_server, len);
++
++ memmove (to_server, to_server + len, to_server_len - len);
++ to_server_len -= len;
++
++ return len;
++}
++
++static ssize_t
++server_push (gnutls_transport_ptr_t tr, const void *data, size_t len)
++{
++ size_t newlen = to_client_len + len;
++ char *tmp;
++
++ tmp = realloc (to_client, newlen);
++ if (!tmp)
++ abort ();
++ to_client = tmp;
++
++ memcpy (to_client + to_client_len, data, len);
++ to_client_len = newlen;
++
++ return len;
++}
++
++static unsigned char server_cert_pem[] =
++ "-----BEGIN CERTIFICATE-----\n"
++ "MIICVjCCAcGgAwIBAgIERiYdMTALBgkqhkiG9w0BAQUwGTEXMBUGA1UEAxMOR251\n"
++ "VExTIHRlc3QgQ0EwHhcNMDcwNDE4MTMyOTIxWhcNMDgwNDE3MTMyOTIxWjA3MRsw\n"
++ "GQYDVQQKExJHbnVUTFMgdGVzdCBzZXJ2ZXIxGDAWBgNVBAMTD3Rlc3QuZ251dGxz\n"
++ "Lm9yZzCBnDALBgkqhkiG9w0BAQEDgYwAMIGIAoGA17pcr6MM8C6pJ1aqU46o63+B\n"
++ "dUxrmL5K6rce+EvDasTaDQC46kwTHzYWk95y78akXrJutsoKiFV1kJbtple8DDt2\n"
++ "DZcevensf9Op7PuFZKBroEjOd35znDET/z3IrqVgbtm2jFqab7a+n2q9p/CgMyf1\n"
++ "tx2S5Zacc1LWn9bIjrECAwEAAaOBkzCBkDAMBgNVHRMBAf8EAjAAMBoGA1UdEQQT\n"
++ "MBGCD3Rlc3QuZ251dGxzLm9yZzATBgNVHSUEDDAKBggrBgEFBQcDATAPBgNVHQ8B\n"
++ "Af8EBQMDB6AAMB0GA1UdDgQWBBTrx0Vu5fglyoyNgw106YbU3VW0dTAfBgNVHSME\n"
++ "GDAWgBTpPBz7rZJu5gakViyi4cBTJ8jylTALBgkqhkiG9w0BAQUDgYEAaFEPTt+7\n"
++ "bzvBuOf7+QmeQcn29kT6Bsyh1RHJXf8KTk5QRfwp6ogbp94JQWcNQ/S7YDFHglD1\n"
++ "AwUNBRXwd3riUsMnsxgeSDxYBfJYbDLeohNBsqaPDJb7XailWbMQKfAbFQ8cnOxg\n"
++ "rOKLUQRWJ0K3HyXRMhbqjdLIaQiCvQLuizo=\n" "-----END CERTIFICATE-----\n";
++
++const gnutls_datum_t server_cert = { server_cert_pem,
++ sizeof (server_cert_pem)
++};
++
++static unsigned char server_key_pem[] =
++ "-----BEGIN RSA PRIVATE KEY-----\n"
++ "MIICXAIBAAKBgQDXulyvowzwLqknVqpTjqjrf4F1TGuYvkrqtx74S8NqxNoNALjq\n"
++ "TBMfNhaT3nLvxqResm62ygqIVXWQlu2mV7wMO3YNlx696ex/06ns+4VkoGugSM53\n"
++ "fnOcMRP/PciupWBu2baMWppvtr6far2n8KAzJ/W3HZLllpxzUtaf1siOsQIDAQAB\n"
++ "AoGAYAFyKkAYC/PYF8e7+X+tsVCHXppp8AoP8TEZuUqOZz/AArVlle/ROrypg5kl\n"
++ "8YunrvUdzH9R/KZ7saNZlAPLjZyFG9beL/am6Ai7q7Ma5HMqjGU8kTEGwD7K+lbG\n"
++ "iomokKMOl+kkbY/2sI5Czmbm+/PqLXOjtVc5RAsdbgvtmvkCQQDdV5QuU8jap8Hs\n"
++ "Eodv/tLJ2z4+SKCV2k/7FXSKWe0vlrq0cl2qZfoTUYRnKRBcWxc9o92DxK44wgPi\n"
++ "oMQS+O7fAkEA+YG+K9e60sj1K4NYbMPAbYILbZxORDecvP8lcphvwkOVUqbmxOGh\n"
++ "XRmTZUuhBrJhJKKf6u7gf3KWlPl6ShKEbwJASC118cF6nurTjuLf7YKARDjNTEws\n"
++ "qZEeQbdWYINAmCMj0RH2P0mvybrsXSOD5UoDAyO7aWuqkHGcCLv6FGG+qwJAOVqq\n"
++ "tXdUucl6GjOKKw5geIvRRrQMhb/m5scb+5iw8A4LEEHPgGiBaF5NtJZLALgWfo5n\n"
++ "hmC8+G8F0F78znQtPwJBANexu+Tg5KfOnzSILJMo3oXiXhf5PqXIDmbN0BKyCKAQ\n"
++ "LfkcEcUbVfmDaHpvzwY9VEaoMOKVLitETXdNSxVpvWM=\n"
++ "-----END RSA PRIVATE KEY-----\n";
++
++const gnutls_datum_t server_key = { server_key_pem,
++ sizeof (server_key_pem)
++};
++
++int
++main (int argc, char *argv[])
++{
++ int debug_level = argc - 1;
++ int exit_code = EXIT_SUCCESS;
++ /* Server stuff. */
++ gnutls_certificate_credentials_t serverx509cred;
++ gnutls_session_t server;
++ int sret = GNUTLS_E_AGAIN;
++ /* Client stuff. */
++ gnutls_certificate_credentials_t clientx509cred;
++ gnutls_session_t client;
++ int cret = GNUTLS_E_AGAIN;
++
++ /* General init. */
++ gnutls_global_init ();
++ gnutls_global_set_log_function (tls_log_func);
++ gnutls_global_set_log_level (debug_level);
++
++ /* Init server */
++ gnutls_certificate_allocate_credentials (&serverx509cred);
++ gnutls_certificate_set_x509_key_mem (serverx509cred,
++ &server_cert, &server_key,
++ GNUTLS_X509_FMT_PEM);
++ gnutls_init (&server, GNUTLS_SERVER);
++ gnutls_credentials_set (server, GNUTLS_CRD_CERTIFICATE, serverx509cred);
++ gnutls_priority_set_direct (server, "NORMAL", NULL);
++ gnutls_transport_set_push_function (server, server_push);
++ gnutls_transport_set_pull_function (server, server_pull);
++
++ /* Init client */
++ gnutls_certificate_allocate_credentials (&clientx509cred);
++ gnutls_init (&client, GNUTLS_CLIENT);
++ gnutls_credentials_set (client, GNUTLS_CRD_CERTIFICATE, clientx509cred);
++ gnutls_priority_set_direct (client, "NORMAL", NULL);
++ gnutls_transport_set_push_function (client, client_push);
++ gnutls_transport_set_pull_function (client, client_pull);
++
++ /* Check that initially no session use the extension. */
++ if (gnutls_safe_renegotiation_status (server)
++ || gnutls_safe_renegotiation_status (client))
++ {
++ puts ("Client or server using extension before handshake?");
++ abort ();
++ }
++
++ do
++ {
++ static int max_iter = 0;
++ if (max_iter++ > 10)
++ abort ();
++
++ if (cret == GNUTLS_E_AGAIN)
++ {
++ cret = gnutls_handshake (client);
++ if (debug_level > 0)
++ {
++ tls_log_func (0, "gnutls_handshake (client)...\n");
++ tls_log_func (0, gnutls_strerror (cret));
++ tls_log_func (0, "\n");
++ }
++ }
++
++ if (sret == GNUTLS_E_AGAIN)
++ {
++ sret = gnutls_handshake (server);
++ if (debug_level > 0)
++ {
++ tls_log_func (0, "gnutls_handshake (server)...\n");
++ tls_log_func (0, gnutls_strerror (sret));
++ tls_log_func (0, "\n");
++ }
++ }
++ }
++ while (
++ /* Not done: */
++ !(cret == GNUTLS_E_SUCCESS && sret == GNUTLS_E_SUCCESS)
++ /* No error: */
++ && (cret == GNUTLS_E_AGAIN || sret == GNUTLS_E_AGAIN));
++
++ if (cret != GNUTLS_E_SUCCESS && sret != GNUTLS_E_SUCCESS)
++ exit_code = EXIT_FAILURE;
++
++ if (!gnutls_safe_renegotiation_status (client) ||
++ !gnutls_safe_renegotiation_status (server))
++ {
++ tls_log_func (0, "Session not using safe renegotiation!\n");
++ exit_code = EXIT_FAILURE;
++ }
++
++ sret = gnutls_rehandshake (server);
++ if (debug_level > 0)
++ {
++ tls_log_func (0, "gnutls_rehandshake (server)...\n");
++ tls_log_func (0, gnutls_strerror (sret));
++ tls_log_func (0, "\n");
++ }
++
++ {
++ ssize_t n;
++ char b[1];
++ n = gnutls_record_recv (client, b, 1);
++ if (n != GNUTLS_E_REHANDSHAKE)
++ abort ();
++ }
++
++ cret = GNUTLS_E_AGAIN;
++ sret = GNUTLS_E_AGAIN;
++
++ do
++ {
++ static int max_iter = 0;
++ if (max_iter++ > 10)
++ abort ();
++
++ if (cret == GNUTLS_E_AGAIN)
++ {
++ cret = gnutls_handshake (client);
++ if (debug_level > 0)
++ {
++ tls_log_func (0, "second gnutls_handshake (client)...\n");
++ tls_log_func (0, gnutls_strerror (cret));
++ tls_log_func (0, "\n");
++ }
++ }
++
++ if (sret == GNUTLS_E_AGAIN)
++ {
++ sret = gnutls_handshake (server);
++ if (debug_level > 0)
++ {
++ tls_log_func (0, "second gnutls_handshake (server)...\n");
++ tls_log_func (0, gnutls_strerror (sret));
++ tls_log_func (0, "\n");
++ }
++ }
++ }
++ while (
++ /* Not done: */
++ !(cret == GNUTLS_E_SUCCESS && sret == GNUTLS_E_SUCCESS)
++ /* No error: */
++ && (cret == GNUTLS_E_AGAIN || sret == GNUTLS_E_AGAIN));
++
++ if (cret != GNUTLS_E_SUCCESS && sret != GNUTLS_E_SUCCESS)
++ exit_code = 1;
++
++ if (!gnutls_safe_renegotiation_status (client) ||
++ !gnutls_safe_renegotiation_status (server))
++ {
++ tls_log_func (0,
++ "Rehandshaked session not using safe renegotiation!\n");
++ exit_code = EXIT_FAILURE;
++ }
++
++ gnutls_bye (client, GNUTLS_SHUT_RDWR);
++ gnutls_bye (server, GNUTLS_SHUT_RDWR);
++
++ gnutls_deinit (client);
++ gnutls_deinit (server);
++
++ free (to_server);
++ free (to_client);
++
++ gnutls_certificate_free_credentials (serverx509cred);
++
++ gnutls_global_deinit ();
++
++ if (debug_level > 0)
++ {
++ if (exit_code == 0)
++ puts ("Self-test successful");
++ else
++ puts ("Self-test failed");
++ }
++
++ return exit_code;
++}
+--- /dev/null 2013-09-26
++++ b/tests/safe-renegotiation/srn1.c 2013-09-26
+@@ -0,0 +1,341 @@
++/*
++ * Copyright (C) 2008, 2010 Free Software Foundation, Inc.
++ *
++ * Author: Simon Josefsson
++ *
++ * This file is part of GnuTLS.
++ *
++ * GnuTLS is free software; you can redistribute it and/or modify it
++ * under the terms of the GNU General Public License as published by
++ * the Free Software Foundation; either version 3 of the License, or
++ * (at your option) any later version.
++ *
++ * GnuTLS is distributed in the hope that it will be useful, but
++ * WITHOUT ANY WARRANTY; without even the implied warranty of
++ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
++ * General Public License for more details.
++ *
++ * You should have received a copy of the GNU General Public License
++ * along with GnuTLS; if not, write to the Free Software Foundation,
++ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA
++ */
++
++/* Code based on ./srn0.c.
++ *
++ * This tests that clients without support for safe renegotiation is
++ * able to handshake against servers with support, but not able to
++ * rehandshake (server will refuse rehandshake).
++ */
++
++#ifdef HAVE_CONFIG_H
++# include <config.h>
++#endif
++
++#include <stdio.h>
++#include <stdlib.h>
++#include <string.h>
++#include <errno.h>
++#include <gnutls/gnutls.h>
++
++static void
++tls_log_func (int level, const char *str)
++{
++ fprintf (stderr, "|<%d>| %s", level, str);
++}
++
++static char *to_server;
++static size_t to_server_len;
++
++static char *to_client;
++static size_t to_client_len;
++
++static ssize_t
++client_pull (gnutls_transport_ptr_t tr, void *data, size_t len)
++{
++ if (to_client_len < len)
++ {
++ gnutls_transport_set_global_errno (EAGAIN);
++ return -1;
++ }
++
++ memcpy (data, to_client, len);
++
++ memmove (to_client, to_client + len, to_client_len - len);
++ to_client_len -= len;
++
++ return len;
++}
++
++static ssize_t
++client_push (gnutls_transport_ptr_t tr, const void *data, size_t len)
++{
++ size_t newlen = to_server_len + len;
++ char *tmp;
++
++ tmp = realloc (to_server, newlen);
++ if (!tmp)
++ abort ();
++ to_server = tmp;
++
++ memcpy (to_server + to_server_len, data, len);
++ to_server_len = newlen;
++
++ return len;
++}
++
++static ssize_t
++server_pull (gnutls_transport_ptr_t tr, void *data, size_t len)
++{
++ if (to_server_len < len)
++ {
++ gnutls_transport_set_global_errno (EAGAIN);
++ return -1;
++ }
++
++ memcpy (data, to_server, len);
++
++ memmove (to_server, to_server + len, to_server_len - len);
++ to_server_len -= len;
++
++ return len;
++}
++
++static ssize_t
++server_push (gnutls_transport_ptr_t tr, const void *data, size_t len)
++{
++ size_t newlen = to_client_len + len;
++ char *tmp;
++
++ tmp = realloc (to_client, newlen);
++ if (!tmp)
++ abort ();
++ to_client = tmp;
++
++ memcpy (to_client + to_client_len, data, len);
++ to_client_len = newlen;
++
++ return len;
++}
++
++static unsigned char server_cert_pem[] =
++ "-----BEGIN CERTIFICATE-----\n"
++ "MIICVjCCAcGgAwIBAgIERiYdMTALBgkqhkiG9w0BAQUwGTEXMBUGA1UEAxMOR251\n"
++ "VExTIHRlc3QgQ0EwHhcNMDcwNDE4MTMyOTIxWhcNMDgwNDE3MTMyOTIxWjA3MRsw\n"
++ "GQYDVQQKExJHbnVUTFMgdGVzdCBzZXJ2ZXIxGDAWBgNVBAMTD3Rlc3QuZ251dGxz\n"
++ "Lm9yZzCBnDALBgkqhkiG9w0BAQEDgYwAMIGIAoGA17pcr6MM8C6pJ1aqU46o63+B\n"
++ "dUxrmL5K6rce+EvDasTaDQC46kwTHzYWk95y78akXrJutsoKiFV1kJbtple8DDt2\n"
++ "DZcevensf9Op7PuFZKBroEjOd35znDET/z3IrqVgbtm2jFqab7a+n2q9p/CgMyf1\n"
++ "tx2S5Zacc1LWn9bIjrECAwEAAaOBkzCBkDAMBgNVHRMBAf8EAjAAMBoGA1UdEQQT\n"
++ "MBGCD3Rlc3QuZ251dGxzLm9yZzATBgNVHSUEDDAKBggrBgEFBQcDATAPBgNVHQ8B\n"
++ "Af8EBQMDB6AAMB0GA1UdDgQWBBTrx0Vu5fglyoyNgw106YbU3VW0dTAfBgNVHSME\n"
++ "GDAWgBTpPBz7rZJu5gakViyi4cBTJ8jylTALBgkqhkiG9w0BAQUDgYEAaFEPTt+7\n"
++ "bzvBuOf7+QmeQcn29kT6Bsyh1RHJXf8KTk5QRfwp6ogbp94JQWcNQ/S7YDFHglD1\n"
++ "AwUNBRXwd3riUsMnsxgeSDxYBfJYbDLeohNBsqaPDJb7XailWbMQKfAbFQ8cnOxg\n"
++ "rOKLUQRWJ0K3HyXRMhbqjdLIaQiCvQLuizo=\n" "-----END CERTIFICATE-----\n";
++
++const gnutls_datum_t server_cert = { server_cert_pem,
++ sizeof (server_cert_pem)
++};
++
++static unsigned char server_key_pem[] =
++ "-----BEGIN RSA PRIVATE KEY-----\n"
++ "MIICXAIBAAKBgQDXulyvowzwLqknVqpTjqjrf4F1TGuYvkrqtx74S8NqxNoNALjq\n"
++ "TBMfNhaT3nLvxqResm62ygqIVXWQlu2mV7wMO3YNlx696ex/06ns+4VkoGugSM53\n"
++ "fnOcMRP/PciupWBu2baMWppvtr6far2n8KAzJ/W3HZLllpxzUtaf1siOsQIDAQAB\n"
++ "AoGAYAFyKkAYC/PYF8e7+X+tsVCHXppp8AoP8TEZuUqOZz/AArVlle/ROrypg5kl\n"
++ "8YunrvUdzH9R/KZ7saNZlAPLjZyFG9beL/am6Ai7q7Ma5HMqjGU8kTEGwD7K+lbG\n"
++ "iomokKMOl+kkbY/2sI5Czmbm+/PqLXOjtVc5RAsdbgvtmvkCQQDdV5QuU8jap8Hs\n"
++ "Eodv/tLJ2z4+SKCV2k/7FXSKWe0vlrq0cl2qZfoTUYRnKRBcWxc9o92DxK44wgPi\n"
++ "oMQS+O7fAkEA+YG+K9e60sj1K4NYbMPAbYILbZxORDecvP8lcphvwkOVUqbmxOGh\n"
++ "XRmTZUuhBrJhJKKf6u7gf3KWlPl6ShKEbwJASC118cF6nurTjuLf7YKARDjNTEws\n"
++ "qZEeQbdWYINAmCMj0RH2P0mvybrsXSOD5UoDAyO7aWuqkHGcCLv6FGG+qwJAOVqq\n"
++ "tXdUucl6GjOKKw5geIvRRrQMhb/m5scb+5iw8A4LEEHPgGiBaF5NtJZLALgWfo5n\n"
++ "hmC8+G8F0F78znQtPwJBANexu+Tg5KfOnzSILJMo3oXiXhf5PqXIDmbN0BKyCKAQ\n"
++ "LfkcEcUbVfmDaHpvzwY9VEaoMOKVLitETXdNSxVpvWM=\n"
++ "-----END RSA PRIVATE KEY-----\n";
++
++const gnutls_datum_t server_key = { server_key_pem,
++ sizeof (server_key_pem)
++};
++
++int
++main (int argc, char *argv[])
++{
++ int debug_level = argc - 1;
++ int exit_code = EXIT_SUCCESS;
++ /* Server stuff. */
++ gnutls_certificate_credentials_t serverx509cred;
++ gnutls_session_t server;
++ int sret = GNUTLS_E_AGAIN;
++ /* Client stuff. */
++ gnutls_certificate_credentials_t clientx509cred;
++ gnutls_session_t client;
++ int cret = GNUTLS_E_AGAIN;
++
++ /* General init. */
++ gnutls_global_init ();
++ gnutls_global_set_log_function (tls_log_func);
++ gnutls_global_set_log_level (debug_level);
++
++ /* Init server */
++ gnutls_certificate_allocate_credentials (&serverx509cred);
++ gnutls_certificate_set_x509_key_mem (serverx509cred,
++ &server_cert, &server_key,
++ GNUTLS_X509_FMT_PEM);
++ gnutls_init (&server, GNUTLS_SERVER);
++ gnutls_credentials_set (server, GNUTLS_CRD_CERTIFICATE, serverx509cred);
++ gnutls_priority_set_direct (server, "NORMAL", NULL);
++ gnutls_transport_set_push_function (server, server_push);
++ gnutls_transport_set_pull_function (server, server_pull);
++
++ /* Init client */
++ gnutls_certificate_allocate_credentials (&clientx509cred);
++ gnutls_init (&client, GNUTLS_CLIENT);
++ gnutls_credentials_set (client, GNUTLS_CRD_CERTIFICATE, clientx509cred);
++ gnutls_priority_set_direct (client, "NORMAL:%DISABLE_SAFE_RENEGOTIATION",
++ NULL);
++ gnutls_transport_set_push_function (client, client_push);
++ gnutls_transport_set_pull_function (client, client_pull);
++
++ /* Check that initially no session use the extension. */
++ if (gnutls_safe_renegotiation_status (server)
++ || gnutls_safe_renegotiation_status (client))
++ {
++ puts ("Client or server using extension before handshake?");
++ abort ();
++ }
++
++ do
++ {
++ static int max_iter = 0;
++ if (max_iter++ > 10)
++ abort ();
++
++ if (cret == GNUTLS_E_AGAIN)
++ {
++ cret = gnutls_handshake (client);
++ if (debug_level > 0)
++ {
++ tls_log_func (0, "gnutls_handshake (client)...\n");
++ tls_log_func (0, gnutls_strerror (cret));
++ tls_log_func (0, "\n");
++ }
++ }
++
++ if (sret == GNUTLS_E_AGAIN)
++ {
++ sret = gnutls_handshake (server);
++ if (debug_level > 0)
++ {
++ tls_log_func (0, "gnutls_handshake (server)...\n");
++ tls_log_func (0, gnutls_strerror (sret));
++ tls_log_func (0, "\n");
++ }
++ }
++ }
++ while (
++ /* Not done: */
++ !(cret == GNUTLS_E_SUCCESS && sret == GNUTLS_E_SUCCESS)
++ /* No error: */
++ && (cret == GNUTLS_E_AGAIN || sret == GNUTLS_E_AGAIN));
++
++ if (cret != GNUTLS_E_SUCCESS && sret != GNUTLS_E_SUCCESS)
++ exit_code = EXIT_FAILURE;
++
++ if (gnutls_safe_renegotiation_status (client) ||
++ gnutls_safe_renegotiation_status (server))
++ {
++ tls_log_func (0, "Session using safe renegotiation but shouldn't?!\n");
++ exit_code = EXIT_FAILURE;
++ }
++
++ sret = gnutls_rehandshake (server);
++ if (debug_level > 0)
++ {
++ tls_log_func (0, "gnutls_rehandshake (server)...\n");
++ tls_log_func (0, gnutls_strerror (sret));
++ tls_log_func (0, "\n");
++ }
++
++ {
++ ssize_t n;
++ char b[1];
++ n = gnutls_record_recv (client, b, 1);
++ if (n != GNUTLS_E_REHANDSHAKE)
++ abort ();
++ }
++
++ cret = GNUTLS_E_AGAIN;
++ sret = GNUTLS_E_AGAIN;
++
++ do
++ {
++ static int max_iter = 0;
++ if (max_iter++ > 10)
++ abort ();
++
++ if (cret == GNUTLS_E_AGAIN)
++ {
++ cret = gnutls_handshake (client);
++ if (debug_level > 0)
++ {
++ tls_log_func (0, "second gnutls_handshake (client)...\n");
++ tls_log_func (0, gnutls_strerror (cret));
++ tls_log_func (0, "\n");
++ }
++ }
++
++ if (sret == GNUTLS_E_AGAIN)
++ {
++ sret = gnutls_handshake (server);
++ if (debug_level > 0)
++ {
++ tls_log_func (0, "second gnutls_handshake (server)...\n");
++ tls_log_func (0, gnutls_strerror (sret));
++ tls_log_func (0, "\n");
++ }
++ }
++
++ if (sret == GNUTLS_E_UNSAFE_RENEGOTIATION_DENIED)
++ break;
++ }
++ while (
++ /* Not done: */
++ !(cret == GNUTLS_E_SUCCESS && sret == GNUTLS_E_SUCCESS)
++ /* No error: */
++ && (cret == GNUTLS_E_AGAIN || sret == GNUTLS_E_AGAIN));
++
++ if (cret != GNUTLS_E_SUCCESS
++ && sret != GNUTLS_E_UNSAFE_RENEGOTIATION_DENIED)
++ exit_code = 1;
++
++ if (gnutls_safe_renegotiation_status (client) ||
++ gnutls_safe_renegotiation_status (server))
++ {
++ tls_log_func (0, "Rehandshaked worked and uses safe reneg?!\n");
++ exit_code = EXIT_FAILURE;
++ }
++
++ gnutls_bye (client, GNUTLS_SHUT_RDWR);
++ gnutls_bye (server, GNUTLS_SHUT_RDWR);
++
++ gnutls_deinit (client);
++ gnutls_deinit (server);
++
++ free (to_server);
++ free (to_client);
++
++ gnutls_certificate_free_credentials (serverx509cred);
++
++ gnutls_global_deinit ();
++
++ if (debug_level > 0)
++ {
++ if (exit_code == 0)
++ puts ("Self-test successful");
++ else
++ puts ("Self-test failed");
++ }
++
++ return exit_code;
++}
+--- /dev/null 2013-09-26
++++ b/tests/safe-renegotiation/srn2.c 2013-09-26
+@@ -0,0 +1,341 @@
++/*
++ * Copyright (C) 2008, 2010 Free Software Foundation, Inc.
++ *
++ * Author: Simon Josefsson
++ *
++ * This file is part of GnuTLS.
++ *
++ * GnuTLS is free software; you can redistribute it and/or modify it
++ * under the terms of the GNU General Public License as published by
++ * the Free Software Foundation; either version 3 of the License, or
++ * (at your option) any later version.
++ *
++ * GnuTLS is distributed in the hope that it will be useful, but
++ * WITHOUT ANY WARRANTY; without even the implied warranty of
++ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
++ * General Public License for more details.
++ *
++ * You should have received a copy of the GNU General Public License
++ * along with GnuTLS; if not, write to the Free Software Foundation,
++ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA
++ */
++
++/* Code based on ./srn1.c.
++ *
++ * This tests that clients with support for safe renegotiation is able
++ * to handshake against servers without support, but not able to
++ * rehandshake (client will refuse rehandshake).
++ */
++
++#ifdef HAVE_CONFIG_H
++# include <config.h>
++#endif
++
++#include <stdio.h>
++#include <stdlib.h>
++#include <string.h>
++#include <errno.h>
++#include <gnutls/gnutls.h>
++
++static void
++tls_log_func (int level, const char *str)
++{
++ fprintf (stderr, "|<%d>| %s", level, str);
++}
++
++static char *to_server;
++static size_t to_server_len;
++
++static char *to_client;
++static size_t to_client_len;
++
++static ssize_t
++client_pull (gnutls_transport_ptr_t tr, void *data, size_t len)
++{
++ if (to_client_len < len)
++ {
++ gnutls_transport_set_global_errno (EAGAIN);
++ return -1;
++ }
++
++ memcpy (data, to_client, len);
++
++ memmove (to_client, to_client + len, to_client_len - len);
++ to_client_len -= len;
++
++ return len;
++}
++
++static ssize_t
++client_push (gnutls_transport_ptr_t tr, const void *data, size_t len)
++{
++ size_t newlen = to_server_len + len;
++ char *tmp;
++
++ tmp = realloc (to_server, newlen);
++ if (!tmp)
++ abort ();
++ to_server = tmp;
++
++ memcpy (to_server + to_server_len, data, len);
++ to_server_len = newlen;
++
++ return len;
++}
++
++static ssize_t
++server_pull (gnutls_transport_ptr_t tr, void *data, size_t len)
++{
++ if (to_server_len < len)
++ {
++ gnutls_transport_set_global_errno (EAGAIN);
++ return -1;
++ }
++
++ memcpy (data, to_server, len);
++
++ memmove (to_server, to_server + len, to_server_len - len);
++ to_server_len -= len;
++
++ return len;
++}
++
++static ssize_t
++server_push (gnutls_transport_ptr_t tr, const void *data, size_t len)
++{
++ size_t newlen = to_client_len + len;
++ char *tmp;
++
++ tmp = realloc (to_client, newlen);
++ if (!tmp)
++ abort ();
++ to_client = tmp;
++
++ memcpy (to_client + to_client_len, data, len);
++ to_client_len = newlen;
++
++ return len;
++}
++
++static unsigned char server_cert_pem[] =
++ "-----BEGIN CERTIFICATE-----\n"
++ "MIICVjCCAcGgAwIBAgIERiYdMTALBgkqhkiG9w0BAQUwGTEXMBUGA1UEAxMOR251\n"
++ "VExTIHRlc3QgQ0EwHhcNMDcwNDE4MTMyOTIxWhcNMDgwNDE3MTMyOTIxWjA3MRsw\n"
++ "GQYDVQQKExJHbnVUTFMgdGVzdCBzZXJ2ZXIxGDAWBgNVBAMTD3Rlc3QuZ251dGxz\n"
++ "Lm9yZzCBnDALBgkqhkiG9w0BAQEDgYwAMIGIAoGA17pcr6MM8C6pJ1aqU46o63+B\n"
++ "dUxrmL5K6rce+EvDasTaDQC46kwTHzYWk95y78akXrJutsoKiFV1kJbtple8DDt2\n"
++ "DZcevensf9Op7PuFZKBroEjOd35znDET/z3IrqVgbtm2jFqab7a+n2q9p/CgMyf1\n"
++ "tx2S5Zacc1LWn9bIjrECAwEAAaOBkzCBkDAMBgNVHRMBAf8EAjAAMBoGA1UdEQQT\n"
++ "MBGCD3Rlc3QuZ251dGxzLm9yZzATBgNVHSUEDDAKBggrBgEFBQcDATAPBgNVHQ8B\n"
++ "Af8EBQMDB6AAMB0GA1UdDgQWBBTrx0Vu5fglyoyNgw106YbU3VW0dTAfBgNVHSME\n"
++ "GDAWgBTpPBz7rZJu5gakViyi4cBTJ8jylTALBgkqhkiG9w0BAQUDgYEAaFEPTt+7\n"
++ "bzvBuOf7+QmeQcn29kT6Bsyh1RHJXf8KTk5QRfwp6ogbp94JQWcNQ/S7YDFHglD1\n"
++ "AwUNBRXwd3riUsMnsxgeSDxYBfJYbDLeohNBsqaPDJb7XailWbMQKfAbFQ8cnOxg\n"
++ "rOKLUQRWJ0K3HyXRMhbqjdLIaQiCvQLuizo=\n" "-----END CERTIFICATE-----\n";
++
++const gnutls_datum_t server_cert = { server_cert_pem,
++ sizeof (server_cert_pem)
++};
++
++static unsigned char server_key_pem[] =
++ "-----BEGIN RSA PRIVATE KEY-----\n"
++ "MIICXAIBAAKBgQDXulyvowzwLqknVqpTjqjrf4F1TGuYvkrqtx74S8NqxNoNALjq\n"
++ "TBMfNhaT3nLvxqResm62ygqIVXWQlu2mV7wMO3YNlx696ex/06ns+4VkoGugSM53\n"
++ "fnOcMRP/PciupWBu2baMWppvtr6far2n8KAzJ/W3HZLllpxzUtaf1siOsQIDAQAB\n"
++ "AoGAYAFyKkAYC/PYF8e7+X+tsVCHXppp8AoP8TEZuUqOZz/AArVlle/ROrypg5kl\n"
++ "8YunrvUdzH9R/KZ7saNZlAPLjZyFG9beL/am6Ai7q7Ma5HMqjGU8kTEGwD7K+lbG\n"
++ "iomokKMOl+kkbY/2sI5Czmbm+/PqLXOjtVc5RAsdbgvtmvkCQQDdV5QuU8jap8Hs\n"
++ "Eodv/tLJ2z4+SKCV2k/7FXSKWe0vlrq0cl2qZfoTUYRnKRBcWxc9o92DxK44wgPi\n"
++ "oMQS+O7fAkEA+YG+K9e60sj1K4NYbMPAbYILbZxORDecvP8lcphvwkOVUqbmxOGh\n"
++ "XRmTZUuhBrJhJKKf6u7gf3KWlPl6ShKEbwJASC118cF6nurTjuLf7YKARDjNTEws\n"
++ "qZEeQbdWYINAmCMj0RH2P0mvybrsXSOD5UoDAyO7aWuqkHGcCLv6FGG+qwJAOVqq\n"
++ "tXdUucl6GjOKKw5geIvRRrQMhb/m5scb+5iw8A4LEEHPgGiBaF5NtJZLALgWfo5n\n"
++ "hmC8+G8F0F78znQtPwJBANexu+Tg5KfOnzSILJMo3oXiXhf5PqXIDmbN0BKyCKAQ\n"
++ "LfkcEcUbVfmDaHpvzwY9VEaoMOKVLitETXdNSxVpvWM=\n"
++ "-----END RSA PRIVATE KEY-----\n";
++
++const gnutls_datum_t server_key = { server_key_pem,
++ sizeof (server_key_pem)
++};
++
++int
++main (int argc, char *argv[])
++{
++ int debug_level = argc - 1;
++ int exit_code = EXIT_SUCCESS;
++ /* Server stuff. */
++ gnutls_certificate_credentials_t serverx509cred;
++ gnutls_session_t server;
++ int sret = GNUTLS_E_AGAIN;
++ /* Client stuff. */
++ gnutls_certificate_credentials_t clientx509cred;
++ gnutls_session_t client;
++ int cret = GNUTLS_E_AGAIN;
++
++ /* General init. */
++ gnutls_global_init ();
++ gnutls_global_set_log_function (tls_log_func);
++ gnutls_global_set_log_level (debug_level);
++
++ /* Init server */
++ gnutls_certificate_allocate_credentials (&serverx509cred);
++ gnutls_certificate_set_x509_key_mem (serverx509cred,
++ &server_cert, &server_key,
++ GNUTLS_X509_FMT_PEM);
++ gnutls_init (&server, GNUTLS_SERVER);
++ gnutls_credentials_set (server, GNUTLS_CRD_CERTIFICATE, serverx509cred);
++ gnutls_priority_set_direct (server, "NORMAL:%DISABLE_SAFE_RENEGOTIATION",
++ NULL);
++ gnutls_transport_set_push_function (server, server_push);
++ gnutls_transport_set_pull_function (server, server_pull);
++
++ /* Init client */
++ gnutls_certificate_allocate_credentials (&clientx509cred);
++ gnutls_init (&client, GNUTLS_CLIENT);
++ gnutls_credentials_set (client, GNUTLS_CRD_CERTIFICATE, clientx509cred);
++ gnutls_priority_set_direct (client, "NORMAL", NULL);
++ gnutls_transport_set_push_function (client, client_push);
++ gnutls_transport_set_pull_function (client, client_pull);
++
++ /* Check that initially no session use the extension. */
++ if (gnutls_safe_renegotiation_status (server)
++ || gnutls_safe_renegotiation_status (client))
++ {
++ puts ("Client or server using extension before handshake?");
++ abort ();
++ }
++
++ do
++ {
++ static int max_iter = 0;
++ if (max_iter++ > 10)
++ abort ();
++
++ if (cret == GNUTLS_E_AGAIN)
++ {
++ cret = gnutls_handshake (client);
++ if (debug_level > 0)
++ {
++ tls_log_func (0, "gnutls_handshake (client)...\n");
++ tls_log_func (0, gnutls_strerror (cret));
++ tls_log_func (0, "\n");
++ }
++ }
++
++ if (sret == GNUTLS_E_AGAIN)
++ {
++ sret = gnutls_handshake (server);
++ if (debug_level > 0)
++ {
++ tls_log_func (0, "gnutls_handshake (server)...\n");
++ tls_log_func (0, gnutls_strerror (sret));
++ tls_log_func (0, "\n");
++ }
++ }
++ }
++ while (
++ /* Not done: */
++ !(cret == GNUTLS_E_SUCCESS && sret == GNUTLS_E_SUCCESS)
++ /* No error: */
++ && (cret == GNUTLS_E_AGAIN || sret == GNUTLS_E_AGAIN));
++
++ if (cret != GNUTLS_E_SUCCESS && sret != GNUTLS_E_SUCCESS)
++ exit_code = EXIT_FAILURE;
++
++ if (gnutls_safe_renegotiation_status (client) ||
++ gnutls_safe_renegotiation_status (server))
++ {
++ tls_log_func (0, "Session using safe renegotiation but shouldn't?!\n");
++ exit_code = EXIT_FAILURE;
++ }
++
++ sret = gnutls_rehandshake (server);
++ if (debug_level > 0)
++ {
++ tls_log_func (0, "gnutls_rehandshake (server)...\n");
++ tls_log_func (0, gnutls_strerror (sret));
++ tls_log_func (0, "\n");
++ }
++
++ {
++ ssize_t n;
++ char b[1];
++ n = gnutls_record_recv (client, b, 1);
++ if (n != GNUTLS_E_REHANDSHAKE)
++ abort ();
++ }
++
++ cret = GNUTLS_E_AGAIN;
++ sret = GNUTLS_E_AGAIN;
++
++ do
++ {
++ static int max_iter = 0;
++ if (max_iter++ > 10)
++ abort ();
++
++ if (cret == GNUTLS_E_AGAIN)
++ {
++ cret = gnutls_handshake (client);
++ if (debug_level > 0)
++ {
++ tls_log_func (0, "second gnutls_handshake (client)...\n");
++ tls_log_func (0, gnutls_strerror (cret));
++ tls_log_func (0, "\n");
++ }
++ }
++
++ if (sret == GNUTLS_E_AGAIN)
++ {
++ sret = gnutls_handshake (server);
++ if (debug_level > 0)
++ {
++ tls_log_func (0, "second gnutls_handshake (server)...\n");
++ tls_log_func (0, gnutls_strerror (sret));
++ tls_log_func (0, "\n");
++ }
++ }
++
++ if (cret == GNUTLS_E_UNSAFE_RENEGOTIATION_DENIED)
++ break;
++ }
++ while (
++ /* Not done: */
++ !(cret == GNUTLS_E_SUCCESS && sret == GNUTLS_E_SUCCESS)
++ /* No error: */
++ && (cret == GNUTLS_E_AGAIN || sret == GNUTLS_E_AGAIN));
++
++ if (cret != GNUTLS_E_UNSAFE_RENEGOTIATION_DENIED
++ && sret != GNUTLS_E_SUCCESS)
++ exit_code = 1;
++
++ if (gnutls_safe_renegotiation_status (client) ||
++ gnutls_safe_renegotiation_status (server))
++ {
++ tls_log_func (0, "Rehandshaked worked and uses safe reneg?!\n");
++ exit_code = EXIT_FAILURE;
++ }
++
++ gnutls_bye (client, GNUTLS_SHUT_RDWR);
++ gnutls_bye (server, GNUTLS_SHUT_RDWR);
++
++ gnutls_deinit (client);
++ gnutls_deinit (server);
++
++ free (to_server);
++ free (to_client);
++
++ gnutls_certificate_free_credentials (serverx509cred);
++
++ gnutls_global_deinit ();
++
++ if (debug_level > 0)
++ {
++ if (exit_code == 0)
++ puts ("Self-test successful");
++ else
++ puts ("Self-test failed");
++ }
++
++ return exit_code;
++}
+--- /dev/null 2013-09-26
++++ b/tests/safe-renegotiation/srn3.c 2013-09-26
+@@ -0,0 +1,264 @@
++/*
++ * Copyright (C) 2008, 2010 Free Software Foundation, Inc.
++ *
++ * Author: Simon Josefsson
++ *
++ * This file is part of GnuTLS.
++ *
++ * GnuTLS is free software; you can redistribute it and/or modify it
++ * under the terms of the GNU General Public License as published by
++ * the Free Software Foundation; either version 3 of the License, or
++ * (at your option) any later version.
++ *
++ * GnuTLS is distributed in the hope that it will be useful, but
++ * WITHOUT ANY WARRANTY; without even the implied warranty of
++ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
++ * General Public License for more details.
++ *
++ * You should have received a copy of the GNU General Public License
++ * along with GnuTLS; if not, write to the Free Software Foundation,
++ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA
++ */
++
++/* Code based on ../mini-x509.c.
++ *
++ * This tests that a %SAFE_RENEGOTIATION client will reject handshakes
++ * against servers that do not support the extension (server uses
++ * %DISABLE_SAFE_RENEGOTIATION).
++ */
++
++#ifdef HAVE_CONFIG_H
++# include <config.h>
++#endif
++
++#include <stdio.h>
++#include <stdlib.h>
++#include <string.h>
++#include <errno.h>
++#include <gnutls/gnutls.h>
++
++static void
++tls_log_func (int level, const char *str)
++{
++ fprintf (stderr, "|<%d>| %s", level, str);
++}
++
++static char *to_server;
++static size_t to_server_len;
++
++static char *to_client;
++static size_t to_client_len;
++
++static ssize_t
++client_pull (gnutls_transport_ptr_t tr, void *data, size_t len)
++{
++ if (to_client_len < len)
++ {
++ gnutls_transport_set_global_errno (EAGAIN);
++ return -1;
++ }
++
++ memcpy (data, to_client, len);
++
++ memmove (to_client, to_client + len, to_client_len - len);
++ to_client_len -= len;
++
++ return len;
++}
++
++static ssize_t
++client_push (gnutls_transport_ptr_t tr, const void *data, size_t len)
++{
++ size_t newlen = to_server_len + len;
++ char *tmp;
++
++ tmp = realloc (to_server, newlen);
++ if (!tmp)
++ abort ();
++ to_server = tmp;
++
++ memcpy (to_server + to_server_len, data, len);
++ to_server_len = newlen;
++
++ return len;
++}
++
++static ssize_t
++server_pull (gnutls_transport_ptr_t tr, void *data, size_t len)
++{
++ if (to_server_len < len)
++ {
++ gnutls_transport_set_global_errno (EAGAIN);
++ return -1;
++ }
++
++ memcpy (data, to_server, len);
++
++ memmove (to_server, to_server + len, to_server_len - len);
++ to_server_len -= len;
++
++ return len;
++}
++
++static ssize_t
++server_push (gnutls_transport_ptr_t tr, const void *data, size_t len)
++{
++ size_t newlen = to_client_len + len;
++ char *tmp;
++
++ tmp = realloc (to_client, newlen);
++ if (!tmp)
++ abort ();
++ to_client = tmp;
++
++ memcpy (to_client + to_client_len, data, len);
++ to_client_len = newlen;
++
++ return len;
++}
++
++static unsigned char server_cert_pem[] =
++ "-----BEGIN CERTIFICATE-----\n"
++ "MIICVjCCAcGgAwIBAgIERiYdMTALBgkqhkiG9w0BAQUwGTEXMBUGA1UEAxMOR251\n"
++ "VExTIHRlc3QgQ0EwHhcNMDcwNDE4MTMyOTIxWhcNMDgwNDE3MTMyOTIxWjA3MRsw\n"
++ "GQYDVQQKExJHbnVUTFMgdGVzdCBzZXJ2ZXIxGDAWBgNVBAMTD3Rlc3QuZ251dGxz\n"
++ "Lm9yZzCBnDALBgkqhkiG9w0BAQEDgYwAMIGIAoGA17pcr6MM8C6pJ1aqU46o63+B\n"
++ "dUxrmL5K6rce+EvDasTaDQC46kwTHzYWk95y78akXrJutsoKiFV1kJbtple8DDt2\n"
++ "DZcevensf9Op7PuFZKBroEjOd35znDET/z3IrqVgbtm2jFqab7a+n2q9p/CgMyf1\n"
++ "tx2S5Zacc1LWn9bIjrECAwEAAaOBkzCBkDAMBgNVHRMBAf8EAjAAMBoGA1UdEQQT\n"
++ "MBGCD3Rlc3QuZ251dGxzLm9yZzATBgNVHSUEDDAKBggrBgEFBQcDATAPBgNVHQ8B\n"
++ "Af8EBQMDB6AAMB0GA1UdDgQWBBTrx0Vu5fglyoyNgw106YbU3VW0dTAfBgNVHSME\n"
++ "GDAWgBTpPBz7rZJu5gakViyi4cBTJ8jylTALBgkqhkiG9w0BAQUDgYEAaFEPTt+7\n"
++ "bzvBuOf7+QmeQcn29kT6Bsyh1RHJXf8KTk5QRfwp6ogbp94JQWcNQ/S7YDFHglD1\n"
++ "AwUNBRXwd3riUsMnsxgeSDxYBfJYbDLeohNBsqaPDJb7XailWbMQKfAbFQ8cnOxg\n"
++ "rOKLUQRWJ0K3HyXRMhbqjdLIaQiCvQLuizo=\n" "-----END CERTIFICATE-----\n";
++
++const gnutls_datum_t server_cert = { server_cert_pem,
++ sizeof (server_cert_pem)
++};
++
++static unsigned char server_key_pem[] =
++ "-----BEGIN RSA PRIVATE KEY-----\n"
++ "MIICXAIBAAKBgQDXulyvowzwLqknVqpTjqjrf4F1TGuYvkrqtx74S8NqxNoNALjq\n"
++ "TBMfNhaT3nLvxqResm62ygqIVXWQlu2mV7wMO3YNlx696ex/06ns+4VkoGugSM53\n"
++ "fnOcMRP/PciupWBu2baMWppvtr6far2n8KAzJ/W3HZLllpxzUtaf1siOsQIDAQAB\n"
++ "AoGAYAFyKkAYC/PYF8e7+X+tsVCHXppp8AoP8TEZuUqOZz/AArVlle/ROrypg5kl\n"
++ "8YunrvUdzH9R/KZ7saNZlAPLjZyFG9beL/am6Ai7q7Ma5HMqjGU8kTEGwD7K+lbG\n"
++ "iomokKMOl+kkbY/2sI5Czmbm+/PqLXOjtVc5RAsdbgvtmvkCQQDdV5QuU8jap8Hs\n"
++ "Eodv/tLJ2z4+SKCV2k/7FXSKWe0vlrq0cl2qZfoTUYRnKRBcWxc9o92DxK44wgPi\n"
++ "oMQS+O7fAkEA+YG+K9e60sj1K4NYbMPAbYILbZxORDecvP8lcphvwkOVUqbmxOGh\n"
++ "XRmTZUuhBrJhJKKf6u7gf3KWlPl6ShKEbwJASC118cF6nurTjuLf7YKARDjNTEws\n"
++ "qZEeQbdWYINAmCMj0RH2P0mvybrsXSOD5UoDAyO7aWuqkHGcCLv6FGG+qwJAOVqq\n"
++ "tXdUucl6GjOKKw5geIvRRrQMhb/m5scb+5iw8A4LEEHPgGiBaF5NtJZLALgWfo5n\n"
++ "hmC8+G8F0F78znQtPwJBANexu+Tg5KfOnzSILJMo3oXiXhf5PqXIDmbN0BKyCKAQ\n"
++ "LfkcEcUbVfmDaHpvzwY9VEaoMOKVLitETXdNSxVpvWM=\n"
++ "-----END RSA PRIVATE KEY-----\n";
++
++const gnutls_datum_t server_key = { server_key_pem,
++ sizeof (server_key_pem)
++};
++
++int
++main (int argc, char *argv[])
++{
++ int debug_level = argc - 1;
++ int exit_code = EXIT_SUCCESS;
++ /* Server stuff. */
++ gnutls_certificate_credentials_t serverx509cred;
++ gnutls_session_t server;
++ int sret = GNUTLS_E_AGAIN;
++ /* Client stuff. */
++ gnutls_certificate_credentials_t clientx509cred;
++ gnutls_session_t client;
++ int cret = GNUTLS_E_AGAIN;
++
++ /* General init. */
++ gnutls_global_init ();
++ gnutls_global_set_log_function (tls_log_func);
++ gnutls_global_set_log_level (debug_level);
++
++ /* Init server */
++ gnutls_certificate_allocate_credentials (&serverx509cred);
++ gnutls_certificate_set_x509_key_mem (serverx509cred,
++ &server_cert, &server_key,
++ GNUTLS_X509_FMT_PEM);
++ gnutls_init (&server, GNUTLS_SERVER);
++ gnutls_credentials_set (server, GNUTLS_CRD_CERTIFICATE, serverx509cred);
++ gnutls_priority_set_direct (server, "NORMAL:%DISABLE_SAFE_RENEGOTIATION",
++ NULL);
++ gnutls_transport_set_push_function (server, server_push);
++ gnutls_transport_set_pull_function (server, server_pull);
++
++ /* Init client */
++ gnutls_certificate_allocate_credentials (&clientx509cred);
++ gnutls_init (&client, GNUTLS_CLIENT);
++ gnutls_credentials_set (client, GNUTLS_CRD_CERTIFICATE, clientx509cred);
++ gnutls_priority_set_direct (client, "NORMAL:%SAFE_RENEGOTIATION", NULL);
++ gnutls_transport_set_push_function (client, client_push);
++ gnutls_transport_set_pull_function (client, client_pull);
++
++ /* Check that initially no session use the extension. */
++ if (gnutls_safe_renegotiation_status (server)
++ || gnutls_safe_renegotiation_status (client))
++ {
++ puts ("Client or server using extension before handshake?");
++ abort ();
++ }
++
++ do
++ {
++ static int max_iter = 0;
++ if (max_iter++ > 10)
++ abort ();
++
++ if (cret == GNUTLS_E_AGAIN)
++ {
++ cret = gnutls_handshake (client);
++ if (debug_level > 0)
++ {
++ tls_log_func (0, "gnutls_handshake (client)...\n");
++ tls_log_func (0, gnutls_strerror (cret));
++ tls_log_func (0, "\n");
++ }
++ }
++
++ if (sret == GNUTLS_E_AGAIN)
++ {
++ sret = gnutls_handshake (server);
++ if (debug_level > 0)
++ {
++ tls_log_func (0, "gnutls_handshake (server)...\n");
++ tls_log_func (0, gnutls_strerror (sret));
++ tls_log_func (0, "\n");
++ }
++ }
++ }
++ while ((cret == GNUTLS_E_AGAIN || cret == GNUTLS_E_SUCCESS)
++ && (sret == GNUTLS_E_AGAIN || sret == GNUTLS_E_SUCCESS));
++
++ if (cret != GNUTLS_E_SAFE_RENEGOTIATION_FAILED && sret != GNUTLS_E_SUCCESS)
++ exit_code = EXIT_FAILURE;
++
++ gnutls_bye (client, GNUTLS_SHUT_RDWR);
++ gnutls_bye (server, GNUTLS_SHUT_RDWR);
++
++ gnutls_deinit (client);
++ gnutls_deinit (server);
++
++ free (to_server);
++ free (to_client);
++
++ gnutls_certificate_free_credentials (serverx509cred);
++
++ gnutls_global_deinit ();
++
++ if (debug_level > 0)
++ {
++ if (exit_code == 0)
++ puts ("Self-test successful");
++ else
++ puts ("Self-test failed");
++ }
++
++ return exit_code;
++}
+--- /dev/null 2013-09-26
++++ b/tests/safe-renegotiation/srn4.c 2013-09-26
+@@ -0,0 +1,263 @@
++/*
++ * Copyright (C) 2008, 2010 Free Software Foundation, Inc.
++ *
++ * Author: Simon Josefsson
++ *
++ * This file is part of GnuTLS.
++ *
++ * GnuTLS is free software; you can redistribute it and/or modify it
++ * under the terms of the GNU General Public License as published by
++ * the Free Software Foundation; either version 3 of the License, or
++ * (at your option) any later version.
++ *
++ * GnuTLS is distributed in the hope that it will be useful, but
++ * WITHOUT ANY WARRANTY; without even the implied warranty of
++ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
++ * General Public License for more details.
++ *
++ * You should have received a copy of the GNU General Public License
++ * along with GnuTLS; if not, write to the Free Software Foundation,
++ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA
++ */
++
++/* Code based on ../mini-x509.c.
++ *
++ * This tests that a %SAFE_RENEGOTIATION server will reject handshakes
++ * against clients that do not support the extension.
++ */
++
++#ifdef HAVE_CONFIG_H
++# include <config.h>
++#endif
++
++#include <stdio.h>
++#include <stdlib.h>
++#include <string.h>
++#include <errno.h>
++#include <gnutls/gnutls.h>
++
++static void
++tls_log_func (int level, const char *str)
++{
++ fprintf (stderr, "|<%d>| %s", level, str);
++}
++
++static char *to_server;
++static size_t to_server_len;
++
++static char *to_client;
++static size_t to_client_len;
++
++static ssize_t
++client_pull (gnutls_transport_ptr_t tr, void *data, size_t len)
++{
++ if (to_client_len < len)
++ {
++ gnutls_transport_set_global_errno (EAGAIN);
++ return -1;
++ }
++
++ memcpy (data, to_client, len);
++
++ memmove (to_client, to_client + len, to_client_len - len);
++ to_client_len -= len;
++
++ return len;
++}
++
++static ssize_t
++client_push (gnutls_transport_ptr_t tr, const void *data, size_t len)
++{
++ size_t newlen = to_server_len + len;
++ char *tmp;
++
++ tmp = realloc (to_server, newlen);
++ if (!tmp)
++ abort ();
++ to_server = tmp;
++
++ memcpy (to_server + to_server_len, data, len);
++ to_server_len = newlen;
++
++ return len;
++}
++
++static ssize_t
++server_pull (gnutls_transport_ptr_t tr, void *data, size_t len)
++{
++ if (to_server_len < len)
++ {
++ gnutls_transport_set_global_errno (EAGAIN);
++ return -1;
++ }
++
++ memcpy (data, to_server, len);
++
++ memmove (to_server, to_server + len, to_server_len - len);
++ to_server_len -= len;
++
++ return len;
++}
++
++static ssize_t
++server_push (gnutls_transport_ptr_t tr, const void *data, size_t len)
++{
++ size_t newlen = to_client_len + len;
++ char *tmp;
++
++ tmp = realloc (to_client, newlen);
++ if (!tmp)
++ abort ();
++ to_client = tmp;
++
++ memcpy (to_client + to_client_len, data, len);
++ to_client_len = newlen;
++
++ return len;
++}
++
++static unsigned char server_cert_pem[] =
++ "-----BEGIN CERTIFICATE-----\n"
++ "MIICVjCCAcGgAwIBAgIERiYdMTALBgkqhkiG9w0BAQUwGTEXMBUGA1UEAxMOR251\n"
++ "VExTIHRlc3QgQ0EwHhcNMDcwNDE4MTMyOTIxWhcNMDgwNDE3MTMyOTIxWjA3MRsw\n"
++ "GQYDVQQKExJHbnVUTFMgdGVzdCBzZXJ2ZXIxGDAWBgNVBAMTD3Rlc3QuZ251dGxz\n"
++ "Lm9yZzCBnDALBgkqhkiG9w0BAQEDgYwAMIGIAoGA17pcr6MM8C6pJ1aqU46o63+B\n"
++ "dUxrmL5K6rce+EvDasTaDQC46kwTHzYWk95y78akXrJutsoKiFV1kJbtple8DDt2\n"
++ "DZcevensf9Op7PuFZKBroEjOd35znDET/z3IrqVgbtm2jFqab7a+n2q9p/CgMyf1\n"
++ "tx2S5Zacc1LWn9bIjrECAwEAAaOBkzCBkDAMBgNVHRMBAf8EAjAAMBoGA1UdEQQT\n"
++ "MBGCD3Rlc3QuZ251dGxzLm9yZzATBgNVHSUEDDAKBggrBgEFBQcDATAPBgNVHQ8B\n"
++ "Af8EBQMDB6AAMB0GA1UdDgQWBBTrx0Vu5fglyoyNgw106YbU3VW0dTAfBgNVHSME\n"
++ "GDAWgBTpPBz7rZJu5gakViyi4cBTJ8jylTALBgkqhkiG9w0BAQUDgYEAaFEPTt+7\n"
++ "bzvBuOf7+QmeQcn29kT6Bsyh1RHJXf8KTk5QRfwp6ogbp94JQWcNQ/S7YDFHglD1\n"
++ "AwUNBRXwd3riUsMnsxgeSDxYBfJYbDLeohNBsqaPDJb7XailWbMQKfAbFQ8cnOxg\n"
++ "rOKLUQRWJ0K3HyXRMhbqjdLIaQiCvQLuizo=\n" "-----END CERTIFICATE-----\n";
++
++const gnutls_datum_t server_cert = { server_cert_pem,
++ sizeof (server_cert_pem)
++};
++
++static unsigned char server_key_pem[] =
++ "-----BEGIN RSA PRIVATE KEY-----\n"
++ "MIICXAIBAAKBgQDXulyvowzwLqknVqpTjqjrf4F1TGuYvkrqtx74S8NqxNoNALjq\n"
++ "TBMfNhaT3nLvxqResm62ygqIVXWQlu2mV7wMO3YNlx696ex/06ns+4VkoGugSM53\n"
++ "fnOcMRP/PciupWBu2baMWppvtr6far2n8KAzJ/W3HZLllpxzUtaf1siOsQIDAQAB\n"
++ "AoGAYAFyKkAYC/PYF8e7+X+tsVCHXppp8AoP8TEZuUqOZz/AArVlle/ROrypg5kl\n"
++ "8YunrvUdzH9R/KZ7saNZlAPLjZyFG9beL/am6Ai7q7Ma5HMqjGU8kTEGwD7K+lbG\n"
++ "iomokKMOl+kkbY/2sI5Czmbm+/PqLXOjtVc5RAsdbgvtmvkCQQDdV5QuU8jap8Hs\n"
++ "Eodv/tLJ2z4+SKCV2k/7FXSKWe0vlrq0cl2qZfoTUYRnKRBcWxc9o92DxK44wgPi\n"
++ "oMQS+O7fAkEA+YG+K9e60sj1K4NYbMPAbYILbZxORDecvP8lcphvwkOVUqbmxOGh\n"
++ "XRmTZUuhBrJhJKKf6u7gf3KWlPl6ShKEbwJASC118cF6nurTjuLf7YKARDjNTEws\n"
++ "qZEeQbdWYINAmCMj0RH2P0mvybrsXSOD5UoDAyO7aWuqkHGcCLv6FGG+qwJAOVqq\n"
++ "tXdUucl6GjOKKw5geIvRRrQMhb/m5scb+5iw8A4LEEHPgGiBaF5NtJZLALgWfo5n\n"
++ "hmC8+G8F0F78znQtPwJBANexu+Tg5KfOnzSILJMo3oXiXhf5PqXIDmbN0BKyCKAQ\n"
++ "LfkcEcUbVfmDaHpvzwY9VEaoMOKVLitETXdNSxVpvWM=\n"
++ "-----END RSA PRIVATE KEY-----\n";
++
++const gnutls_datum_t server_key = { server_key_pem,
++ sizeof (server_key_pem)
++};
++
++int
++main (int argc, char *argv[])
++{
++ int debug_level = argc - 1;
++ int exit_code = EXIT_SUCCESS;
++ /* Server stuff. */
++ gnutls_certificate_credentials_t serverx509cred;
++ gnutls_session_t server;
++ int sret = GNUTLS_E_AGAIN;
++ /* Client stuff. */
++ gnutls_certificate_credentials_t clientx509cred;
++ gnutls_session_t client;
++ int cret = GNUTLS_E_AGAIN;
++
++ /* General init. */
++ gnutls_global_init ();
++ gnutls_global_set_log_function (tls_log_func);
++ gnutls_global_set_log_level (debug_level);
++
++ /* Init server */
++ gnutls_certificate_allocate_credentials (&serverx509cred);
++ gnutls_certificate_set_x509_key_mem (serverx509cred,
++ &server_cert, &server_key,
++ GNUTLS_X509_FMT_PEM);
++ gnutls_init (&server, GNUTLS_SERVER);
++ gnutls_credentials_set (server, GNUTLS_CRD_CERTIFICATE, serverx509cred);
++ gnutls_priority_set_direct (server, "NORMAL:%SAFE_RENEGOTIATION", NULL);
++ gnutls_transport_set_push_function (server, server_push);
++ gnutls_transport_set_pull_function (server, server_pull);
++
++ /* Init client */
++ gnutls_certificate_allocate_credentials (&clientx509cred);
++ gnutls_init (&client, GNUTLS_CLIENT);
++ gnutls_credentials_set (client, GNUTLS_CRD_CERTIFICATE, clientx509cred);
++ gnutls_priority_set_direct (client, "NORMAL:%DISABLE_SAFE_RENEGOTIATION",
++ NULL);
++ gnutls_transport_set_push_function (client, client_push);
++ gnutls_transport_set_pull_function (client, client_pull);
++
++ /* Check that initially no session use the extension. */
++ if (gnutls_safe_renegotiation_status (server)
++ || gnutls_safe_renegotiation_status (client))
++ {
++ puts ("Client or server using extension before handshake?");
++ abort ();
++ }
++
++ do
++ {
++ static int max_iter = 0;
++ if (max_iter++ > 10)
++ abort ();
++
++ if (cret == GNUTLS_E_AGAIN)
++ {
++ cret = gnutls_handshake (client);
++ if (debug_level > 0)
++ {
++ tls_log_func (0, "gnutls_handshake (client)...\n");
++ tls_log_func (0, gnutls_strerror (cret));
++ tls_log_func (0, "\n");
++ }
++ }
++
++ if (sret == GNUTLS_E_AGAIN)
++ {
++ sret = gnutls_handshake (server);
++ if (debug_level > 0)
++ {
++ tls_log_func (0, "gnutls_handshake (server)...\n");
++ tls_log_func (0, gnutls_strerror (sret));
++ tls_log_func (0, "\n");
++ }
++ }
++ }
++ while ((cret == GNUTLS_E_AGAIN || cret == GNUTLS_E_SUCCESS)
++ && (sret == GNUTLS_E_AGAIN || sret == GNUTLS_E_SUCCESS));
++
++ if (cret != GNUTLS_E_SUCCESS && sret != GNUTLS_E_SAFE_RENEGOTIATION_FAILED)
++ exit_code = EXIT_FAILURE;
++
++ gnutls_bye (client, GNUTLS_SHUT_RDWR);
++ gnutls_bye (server, GNUTLS_SHUT_RDWR);
++
++ gnutls_deinit (client);
++ gnutls_deinit (server);
++
++ free (to_server);
++ free (to_client);
++
++ gnutls_certificate_free_credentials (serverx509cred);
++
++ gnutls_global_deinit ();
++
++ if (debug_level > 0)
++ {
++ if (exit_code == 0)
++ puts ("Self-test successful");
++ else
++ puts ("Self-test failed");
++ }
++
++ return exit_code;
++}
+--- /dev/null 2013-09-26
++++ b/tests/safe-renegotiation/srn5.c 2013-09-26
+@@ -0,0 +1,337 @@
++/*
++ * Copyright (C) 2008, 2010 Free Software Foundation, Inc.
++ *
++ * Author: Simon Josefsson
++ *
++ * This file is part of GnuTLS.
++ *
++ * GnuTLS is free software; you can redistribute it and/or modify it
++ * under the terms of the GNU General Public License as published by
++ * the Free Software Foundation; either version 3 of the License, or
++ * (at your option) any later version.
++ *
++ * GnuTLS is distributed in the hope that it will be useful, but
++ * WITHOUT ANY WARRANTY; without even the implied warranty of
++ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
++ * General Public License for more details.
++ *
++ * You should have received a copy of the GNU General Public License
++ * along with GnuTLS; if not, write to the Free Software Foundation,
++ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA
++ */
++
++/* Code based on ./srn0.c.
++ *
++ * This tests that a client with a permissive policy
++ * (%UNSAFE_RENEGOTIATION) is able to handshake and rehandshake with a
++ * server with no support for the extension.
++ */
++
++#ifdef HAVE_CONFIG_H
++# include <config.h>
++#endif
++
++#include <stdio.h>
++#include <stdlib.h>
++#include <string.h>
++#include <errno.h>
++#include <gnutls/gnutls.h>
++
++static void
++tls_log_func (int level, const char *str)
++{
++ fprintf (stderr, "|<%d>| %s", level, str);
++}
++
++static char *to_server;
++static size_t to_server_len;
++
++static char *to_client;
++static size_t to_client_len;
++
++static ssize_t
++client_pull (gnutls_transport_ptr_t tr, void *data, size_t len)
++{
++ if (to_client_len < len)
++ {
++ gnutls_transport_set_global_errno (EAGAIN);
++ return -1;
++ }
++
++ memcpy (data, to_client, len);
++
++ memmove (to_client, to_client + len, to_client_len - len);
++ to_client_len -= len;
++
++ return len;
++}
++
++static ssize_t
++client_push (gnutls_transport_ptr_t tr, const void *data, size_t len)
++{
++ size_t newlen = to_server_len + len;
++ char *tmp;
++
++ tmp = realloc (to_server, newlen);
++ if (!tmp)
++ abort ();
++ to_server = tmp;
++
++ memcpy (to_server + to_server_len, data, len);
++ to_server_len = newlen;
++
++ return len;
++}
++
++static ssize_t
++server_pull (gnutls_transport_ptr_t tr, void *data, size_t len)
++{
++ if (to_server_len < len)
++ {
++ gnutls_transport_set_global_errno (EAGAIN);
++ return -1;
++ }
++
++ memcpy (data, to_server, len);
++
++ memmove (to_server, to_server + len, to_server_len - len);
++ to_server_len -= len;
++
++ return len;
++}
++
++static ssize_t
++server_push (gnutls_transport_ptr_t tr, const void *data, size_t len)
++{
++ size_t newlen = to_client_len + len;
++ char *tmp;
++
++ tmp = realloc (to_client, newlen);
++ if (!tmp)
++ abort ();
++ to_client = tmp;
++
++ memcpy (to_client + to_client_len, data, len);
++ to_client_len = newlen;
++
++ return len;
++}
++
++static unsigned char server_cert_pem[] =
++ "-----BEGIN CERTIFICATE-----\n"
++ "MIICVjCCAcGgAwIBAgIERiYdMTALBgkqhkiG9w0BAQUwGTEXMBUGA1UEAxMOR251\n"
++ "VExTIHRlc3QgQ0EwHhcNMDcwNDE4MTMyOTIxWhcNMDgwNDE3MTMyOTIxWjA3MRsw\n"
++ "GQYDVQQKExJHbnVUTFMgdGVzdCBzZXJ2ZXIxGDAWBgNVBAMTD3Rlc3QuZ251dGxz\n"
++ "Lm9yZzCBnDALBgkqhkiG9w0BAQEDgYwAMIGIAoGA17pcr6MM8C6pJ1aqU46o63+B\n"
++ "dUxrmL5K6rce+EvDasTaDQC46kwTHzYWk95y78akXrJutsoKiFV1kJbtple8DDt2\n"
++ "DZcevensf9Op7PuFZKBroEjOd35znDET/z3IrqVgbtm2jFqab7a+n2q9p/CgMyf1\n"
++ "tx2S5Zacc1LWn9bIjrECAwEAAaOBkzCBkDAMBgNVHRMBAf8EAjAAMBoGA1UdEQQT\n"
++ "MBGCD3Rlc3QuZ251dGxzLm9yZzATBgNVHSUEDDAKBggrBgEFBQcDATAPBgNVHQ8B\n"
++ "Af8EBQMDB6AAMB0GA1UdDgQWBBTrx0Vu5fglyoyNgw106YbU3VW0dTAfBgNVHSME\n"
++ "GDAWgBTpPBz7rZJu5gakViyi4cBTJ8jylTALBgkqhkiG9w0BAQUDgYEAaFEPTt+7\n"
++ "bzvBuOf7+QmeQcn29kT6Bsyh1RHJXf8KTk5QRfwp6ogbp94JQWcNQ/S7YDFHglD1\n"
++ "AwUNBRXwd3riUsMnsxgeSDxYBfJYbDLeohNBsqaPDJb7XailWbMQKfAbFQ8cnOxg\n"
++ "rOKLUQRWJ0K3HyXRMhbqjdLIaQiCvQLuizo=\n" "-----END CERTIFICATE-----\n";
++
++const gnutls_datum_t server_cert = { server_cert_pem,
++ sizeof (server_cert_pem)
++};
++
++static unsigned char server_key_pem[] =
++ "-----BEGIN RSA PRIVATE KEY-----\n"
++ "MIICXAIBAAKBgQDXulyvowzwLqknVqpTjqjrf4F1TGuYvkrqtx74S8NqxNoNALjq\n"
++ "TBMfNhaT3nLvxqResm62ygqIVXWQlu2mV7wMO3YNlx696ex/06ns+4VkoGugSM53\n"
++ "fnOcMRP/PciupWBu2baMWppvtr6far2n8KAzJ/W3HZLllpxzUtaf1siOsQIDAQAB\n"
++ "AoGAYAFyKkAYC/PYF8e7+X+tsVCHXppp8AoP8TEZuUqOZz/AArVlle/ROrypg5kl\n"
++ "8YunrvUdzH9R/KZ7saNZlAPLjZyFG9beL/am6Ai7q7Ma5HMqjGU8kTEGwD7K+lbG\n"
++ "iomokKMOl+kkbY/2sI5Czmbm+/PqLXOjtVc5RAsdbgvtmvkCQQDdV5QuU8jap8Hs\n"
++ "Eodv/tLJ2z4+SKCV2k/7FXSKWe0vlrq0cl2qZfoTUYRnKRBcWxc9o92DxK44wgPi\n"
++ "oMQS+O7fAkEA+YG+K9e60sj1K4NYbMPAbYILbZxORDecvP8lcphvwkOVUqbmxOGh\n"
++ "XRmTZUuhBrJhJKKf6u7gf3KWlPl6ShKEbwJASC118cF6nurTjuLf7YKARDjNTEws\n"
++ "qZEeQbdWYINAmCMj0RH2P0mvybrsXSOD5UoDAyO7aWuqkHGcCLv6FGG+qwJAOVqq\n"
++ "tXdUucl6GjOKKw5geIvRRrQMhb/m5scb+5iw8A4LEEHPgGiBaF5NtJZLALgWfo5n\n"
++ "hmC8+G8F0F78znQtPwJBANexu+Tg5KfOnzSILJMo3oXiXhf5PqXIDmbN0BKyCKAQ\n"
++ "LfkcEcUbVfmDaHpvzwY9VEaoMOKVLitETXdNSxVpvWM=\n"
++ "-----END RSA PRIVATE KEY-----\n";
++
++const gnutls_datum_t server_key = { server_key_pem,
++ sizeof (server_key_pem)
++};
++
++int
++main (int argc, char *argv[])
++{
++ int debug_level = argc - 1;
++ int exit_code = EXIT_SUCCESS;
++ /* Server stuff. */
++ gnutls_certificate_credentials_t serverx509cred;
++ gnutls_session_t server;
++ int sret = GNUTLS_E_AGAIN;
++ /* Client stuff. */
++ gnutls_certificate_credentials_t clientx509cred;
++ gnutls_session_t client;
++ int cret = GNUTLS_E_AGAIN;
++
++ /* General init. */
++ gnutls_global_init ();
++ gnutls_global_set_log_function (tls_log_func);
++ gnutls_global_set_log_level (debug_level);
++
++ /* Init server */
++ gnutls_certificate_allocate_credentials (&serverx509cred);
++ gnutls_certificate_set_x509_key_mem (serverx509cred,
++ &server_cert, &server_key,
++ GNUTLS_X509_FMT_PEM);
++ gnutls_init (&server, GNUTLS_SERVER);
++ gnutls_credentials_set (server, GNUTLS_CRD_CERTIFICATE, serverx509cred);
++ gnutls_priority_set_direct (server, "NORMAL:%DISABLE_SAFE_RENEGOTIATION",
++ NULL);
++ gnutls_transport_set_push_function (server, server_push);
++ gnutls_transport_set_pull_function (server, server_pull);
++
++ /* Init client */
++ gnutls_certificate_allocate_credentials (&clientx509cred);
++ gnutls_init (&client, GNUTLS_CLIENT);
++ gnutls_credentials_set (client, GNUTLS_CRD_CERTIFICATE, clientx509cred);
++ gnutls_priority_set_direct (client, "NORMAL:%UNSAFE_RENEGOTIATION", NULL);
++ gnutls_transport_set_push_function (client, client_push);
++ gnutls_transport_set_pull_function (client, client_pull);
++
++ /* Check that initially no session use the extension. */
++ if (gnutls_safe_renegotiation_status (server)
++ || gnutls_safe_renegotiation_status (client))
++ {
++ puts ("Client or server using extension before handshake?");
++ abort ();
++ }
++
++ do
++ {
++ static int max_iter = 0;
++ if (max_iter++ > 10)
++ abort ();
++
++ if (cret == GNUTLS_E_AGAIN)
++ {
++ cret = gnutls_handshake (client);
++ if (debug_level > 0)
++ {
++ tls_log_func (0, "gnutls_handshake (client)...\n");
++ tls_log_func (0, gnutls_strerror (cret));
++ tls_log_func (0, "\n");
++ }
++ }
++
++ if (sret == GNUTLS_E_AGAIN)
++ {
++ sret = gnutls_handshake (server);
++ if (debug_level > 0)
++ {
++ tls_log_func (0, "gnutls_handshake (server)...\n");
++ tls_log_func (0, gnutls_strerror (sret));
++ tls_log_func (0, "\n");
++ }
++ }
++ }
++ while (
++ /* Not done: */
++ !(cret == GNUTLS_E_SUCCESS && sret == GNUTLS_E_SUCCESS)
++ /* No error: */
++ && (cret == GNUTLS_E_AGAIN || sret == GNUTLS_E_AGAIN));
++
++ if (cret != GNUTLS_E_SUCCESS && sret != GNUTLS_E_SUCCESS)
++ exit_code = EXIT_FAILURE;
++
++ if (gnutls_safe_renegotiation_status (client) ||
++ gnutls_safe_renegotiation_status (server))
++ {
++ tls_log_func (0, "Session using safe renegotiation?!\n");
++ exit_code = EXIT_FAILURE;
++ }
++
++ sret = gnutls_rehandshake (server);
++ if (debug_level > 0)
++ {
++ tls_log_func (0, "gnutls_rehandshake (server)...\n");
++ tls_log_func (0, gnutls_strerror (sret));
++ tls_log_func (0, "\n");
++ }
++
++ {
++ ssize_t n;
++ char b[1];
++ n = gnutls_record_recv (client, b, 1);
++ if (n != GNUTLS_E_REHANDSHAKE)
++ abort ();
++ }
++
++ cret = GNUTLS_E_AGAIN;
++ sret = GNUTLS_E_AGAIN;
++
++ do
++ {
++ static int max_iter = 0;
++ if (max_iter++ > 10)
++ abort ();
++
++ if (cret == GNUTLS_E_AGAIN)
++ {
++ cret = gnutls_handshake (client);
++ if (debug_level > 0)
++ {
++ tls_log_func (0, "second gnutls_handshake (client)...\n");
++ tls_log_func (0, gnutls_strerror (cret));
++ tls_log_func (0, "\n");
++ }
++ }
++
++ if (sret == GNUTLS_E_AGAIN)
++ {
++ sret = gnutls_handshake (server);
++ if (debug_level > 0)
++ {
++ tls_log_func (0, "second gnutls_handshake (server)...\n");
++ tls_log_func (0, gnutls_strerror (sret));
++ tls_log_func (0, "\n");
++ }
++ }
++ }
++ while (
++ /* Not done: */
++ !(cret == GNUTLS_E_SUCCESS && sret == GNUTLS_E_SUCCESS)
++ /* No error: */
++ && (cret == GNUTLS_E_AGAIN || sret == GNUTLS_E_AGAIN));
++
++ if (cret != GNUTLS_E_SUCCESS && sret != GNUTLS_E_SUCCESS)
++ exit_code = 1;
++
++ if (gnutls_safe_renegotiation_status (client) ||
++ gnutls_safe_renegotiation_status (server))
++ {
++ tls_log_func (0, "Rehandshaked using safe renegotiation?!\n");
++ exit_code = EXIT_FAILURE;
++ }
++
++ gnutls_bye (client, GNUTLS_SHUT_RDWR);
++ gnutls_bye (server, GNUTLS_SHUT_RDWR);
++
++ gnutls_deinit (client);
++ gnutls_deinit (server);
++
++ free (to_server);
++ free (to_client);
++
++ gnutls_certificate_free_credentials (serverx509cred);
++
++ gnutls_global_deinit ();
++
++ if (debug_level > 0)
++ {
++ if (exit_code == 0)
++ puts ("Self-test successful");
++ else
++ puts ("Self-test failed");
++ }
++
++ return exit_code;
++}
+--- /dev/null 2013-09-26
++++ b/tests/safe-renegotiation/srn6.c 2013-09-26
+@@ -0,0 +1,337 @@
++/*
++ * Copyright (C) 2008, 2010 Free Software Foundation, Inc.
++ *
++ * Author: Simon Josefsson
++ *
++ * This file is part of GnuTLS.
++ *
++ * GnuTLS is free software; you can redistribute it and/or modify it
++ * under the terms of the GNU General Public License as published by
++ * the Free Software Foundation; either version 3 of the License, or
++ * (at your option) any later version.
++ *
++ * GnuTLS is distributed in the hope that it will be useful, but
++ * WITHOUT ANY WARRANTY; without even the implied warranty of
++ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
++ * General Public License for more details.
++ *
++ * You should have received a copy of the GNU General Public License
++ * along with GnuTLS; if not, write to the Free Software Foundation,
++ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA
++ */
++
++/* Code based on ./srn5.c.
++ *
++ * This tests that a server with a permissive policy
++ * (%UNSAFE_RENEGOTIATION) is able to handshake and rehandshake with a
++ * client with no support for the extension.
++ */
++
++#ifdef HAVE_CONFIG_H
++# include <config.h>
++#endif
++
++#include <stdio.h>
++#include <stdlib.h>
++#include <string.h>
++#include <errno.h>
++#include <gnutls/gnutls.h>
++
++static void
++tls_log_func (int level, const char *str)
++{
++ fprintf (stderr, "|<%d>| %s", level, str);
++}
++
++static char *to_server;
++static size_t to_server_len;
++
++static char *to_client;
++static size_t to_client_len;
++
++static ssize_t
++client_pull (gnutls_transport_ptr_t tr, void *data, size_t len)
++{
++ if (to_client_len < len)
++ {
++ gnutls_transport_set_global_errno (EAGAIN);
++ return -1;
++ }
++
++ memcpy (data, to_client, len);
++
++ memmove (to_client, to_client + len, to_client_len - len);
++ to_client_len -= len;
++
++ return len;
++}
++
++static ssize_t
++client_push (gnutls_transport_ptr_t tr, const void *data, size_t len)
++{
++ size_t newlen = to_server_len + len;
++ char *tmp;
++
++ tmp = realloc (to_server, newlen);
++ if (!tmp)
++ abort ();
++ to_server = tmp;
++
++ memcpy (to_server + to_server_len, data, len);
++ to_server_len = newlen;
++
++ return len;
++}
++
++static ssize_t
++server_pull (gnutls_transport_ptr_t tr, void *data, size_t len)
++{
++ if (to_server_len < len)
++ {
++ gnutls_transport_set_global_errno (EAGAIN);
++ return -1;
++ }
++
++ memcpy (data, to_server, len);
++
++ memmove (to_server, to_server + len, to_server_len - len);
++ to_server_len -= len;
++
++ return len;
++}
++
++static ssize_t
++server_push (gnutls_transport_ptr_t tr, const void *data, size_t len)
++{
++ size_t newlen = to_client_len + len;
++ char *tmp;
++
++ tmp = realloc (to_client, newlen);
++ if (!tmp)
++ abort ();
++ to_client = tmp;
++
++ memcpy (to_client + to_client_len, data, len);
++ to_client_len = newlen;
++
++ return len;
++}
++
++static unsigned char server_cert_pem[] =
++ "-----BEGIN CERTIFICATE-----\n"
++ "MIICVjCCAcGgAwIBAgIERiYdMTALBgkqhkiG9w0BAQUwGTEXMBUGA1UEAxMOR251\n"
++ "VExTIHRlc3QgQ0EwHhcNMDcwNDE4MTMyOTIxWhcNMDgwNDE3MTMyOTIxWjA3MRsw\n"
++ "GQYDVQQKExJHbnVUTFMgdGVzdCBzZXJ2ZXIxGDAWBgNVBAMTD3Rlc3QuZ251dGxz\n"
++ "Lm9yZzCBnDALBgkqhkiG9w0BAQEDgYwAMIGIAoGA17pcr6MM8C6pJ1aqU46o63+B\n"
++ "dUxrmL5K6rce+EvDasTaDQC46kwTHzYWk95y78akXrJutsoKiFV1kJbtple8DDt2\n"
++ "DZcevensf9Op7PuFZKBroEjOd35znDET/z3IrqVgbtm2jFqab7a+n2q9p/CgMyf1\n"
++ "tx2S5Zacc1LWn9bIjrECAwEAAaOBkzCBkDAMBgNVHRMBAf8EAjAAMBoGA1UdEQQT\n"
++ "MBGCD3Rlc3QuZ251dGxzLm9yZzATBgNVHSUEDDAKBggrBgEFBQcDATAPBgNVHQ8B\n"
++ "Af8EBQMDB6AAMB0GA1UdDgQWBBTrx0Vu5fglyoyNgw106YbU3VW0dTAfBgNVHSME\n"
++ "GDAWgBTpPBz7rZJu5gakViyi4cBTJ8jylTALBgkqhkiG9w0BAQUDgYEAaFEPTt+7\n"
++ "bzvBuOf7+QmeQcn29kT6Bsyh1RHJXf8KTk5QRfwp6ogbp94JQWcNQ/S7YDFHglD1\n"
++ "AwUNBRXwd3riUsMnsxgeSDxYBfJYbDLeohNBsqaPDJb7XailWbMQKfAbFQ8cnOxg\n"
++ "rOKLUQRWJ0K3HyXRMhbqjdLIaQiCvQLuizo=\n" "-----END CERTIFICATE-----\n";
++
++const gnutls_datum_t server_cert = { server_cert_pem,
++ sizeof (server_cert_pem)
++};
++
++static unsigned char server_key_pem[] =
++ "-----BEGIN RSA PRIVATE KEY-----\n"
++ "MIICXAIBAAKBgQDXulyvowzwLqknVqpTjqjrf4F1TGuYvkrqtx74S8NqxNoNALjq\n"
++ "TBMfNhaT3nLvxqResm62ygqIVXWQlu2mV7wMO3YNlx696ex/06ns+4VkoGugSM53\n"
++ "fnOcMRP/PciupWBu2baMWppvtr6far2n8KAzJ/W3HZLllpxzUtaf1siOsQIDAQAB\n"
++ "AoGAYAFyKkAYC/PYF8e7+X+tsVCHXppp8AoP8TEZuUqOZz/AArVlle/ROrypg5kl\n"
++ "8YunrvUdzH9R/KZ7saNZlAPLjZyFG9beL/am6Ai7q7Ma5HMqjGU8kTEGwD7K+lbG\n"
++ "iomokKMOl+kkbY/2sI5Czmbm+/PqLXOjtVc5RAsdbgvtmvkCQQDdV5QuU8jap8Hs\n"
++ "Eodv/tLJ2z4+SKCV2k/7FXSKWe0vlrq0cl2qZfoTUYRnKRBcWxc9o92DxK44wgPi\n"
++ "oMQS+O7fAkEA+YG+K9e60sj1K4NYbMPAbYILbZxORDecvP8lcphvwkOVUqbmxOGh\n"
++ "XRmTZUuhBrJhJKKf6u7gf3KWlPl6ShKEbwJASC118cF6nurTjuLf7YKARDjNTEws\n"
++ "qZEeQbdWYINAmCMj0RH2P0mvybrsXSOD5UoDAyO7aWuqkHGcCLv6FGG+qwJAOVqq\n"
++ "tXdUucl6GjOKKw5geIvRRrQMhb/m5scb+5iw8A4LEEHPgGiBaF5NtJZLALgWfo5n\n"
++ "hmC8+G8F0F78znQtPwJBANexu+Tg5KfOnzSILJMo3oXiXhf5PqXIDmbN0BKyCKAQ\n"
++ "LfkcEcUbVfmDaHpvzwY9VEaoMOKVLitETXdNSxVpvWM=\n"
++ "-----END RSA PRIVATE KEY-----\n";
++
++const gnutls_datum_t server_key = { server_key_pem,
++ sizeof (server_key_pem)
++};
++
++int
++main (int argc, char *argv[])
++{
++ int debug_level = argc - 1;
++ int exit_code = EXIT_SUCCESS;
++ /* Server stuff. */
++ gnutls_certificate_credentials_t serverx509cred;
++ gnutls_session_t server;
++ int sret = GNUTLS_E_AGAIN;
++ /* Client stuff. */
++ gnutls_certificate_credentials_t clientx509cred;
++ gnutls_session_t client;
++ int cret = GNUTLS_E_AGAIN;
++
++ /* General init. */
++ gnutls_global_init ();
++ gnutls_global_set_log_function (tls_log_func);
++ gnutls_global_set_log_level (debug_level);
++
++ /* Init server */
++ gnutls_certificate_allocate_credentials (&serverx509cred);
++ gnutls_certificate_set_x509_key_mem (serverx509cred,
++ &server_cert, &server_key,
++ GNUTLS_X509_FMT_PEM);
++ gnutls_init (&server, GNUTLS_SERVER);
++ gnutls_credentials_set (server, GNUTLS_CRD_CERTIFICATE, serverx509cred);
++ gnutls_priority_set_direct (server, "NORMAL:%UNSAFE_RENEGOTIATION", NULL);
++ gnutls_transport_set_push_function (server, server_push);
++ gnutls_transport_set_pull_function (server, server_pull);
++
++ /* Init client */
++ gnutls_certificate_allocate_credentials (&clientx509cred);
++ gnutls_init (&client, GNUTLS_CLIENT);
++ gnutls_credentials_set (client, GNUTLS_CRD_CERTIFICATE, clientx509cred);
++ gnutls_priority_set_direct (client, "NORMAL:%DISABLE_SAFE_RENEGOTIATION",
++ NULL);
++ gnutls_transport_set_push_function (client, client_push);
++ gnutls_transport_set_pull_function (client, client_pull);
++
++ /* Check that initially no session use the extension. */
++ if (gnutls_safe_renegotiation_status (server)
++ || gnutls_safe_renegotiation_status (client))
++ {
++ puts ("Client or server using extension before handshake?");
++ abort ();
++ }
++
++ do
++ {
++ static int max_iter = 0;
++ if (max_iter++ > 10)
++ abort ();
++
++ if (cret == GNUTLS_E_AGAIN)
++ {
++ cret = gnutls_handshake (client);
++ if (debug_level > 0)
++ {
++ tls_log_func (0, "gnutls_handshake (client)...\n");
++ tls_log_func (0, gnutls_strerror (cret));
++ tls_log_func (0, "\n");
++ }
++ }
++
++ if (sret == GNUTLS_E_AGAIN)
++ {
++ sret = gnutls_handshake (server);
++ if (debug_level > 0)
++ {
++ tls_log_func (0, "gnutls_handshake (server)...\n");
++ tls_log_func (0, gnutls_strerror (sret));
++ tls_log_func (0, "\n");
++ }
++ }
++ }
++ while (
++ /* Not done: */
++ !(cret == GNUTLS_E_SUCCESS && sret == GNUTLS_E_SUCCESS)
++ /* No error: */
++ && (cret == GNUTLS_E_AGAIN || sret == GNUTLS_E_AGAIN));
++
++ if (cret != GNUTLS_E_SUCCESS && sret != GNUTLS_E_SUCCESS)
++ exit_code = EXIT_FAILURE;
++
++ if (gnutls_safe_renegotiation_status (client) ||
++ gnutls_safe_renegotiation_status (server))
++ {
++ tls_log_func (0, "Session using safe renegotiation?!\n");
++ exit_code = EXIT_FAILURE;
++ }
++
++ sret = gnutls_rehandshake (server);
++ if (debug_level > 0)
++ {
++ tls_log_func (0, "gnutls_rehandshake (server)...\n");
++ tls_log_func (0, gnutls_strerror (sret));
++ tls_log_func (0, "\n");
++ }
++
++ {
++ ssize_t n;
++ char b[1];
++ n = gnutls_record_recv (client, b, 1);
++ if (n != GNUTLS_E_REHANDSHAKE)
++ abort ();
++ }
++
++ cret = GNUTLS_E_AGAIN;
++ sret = GNUTLS_E_AGAIN;
++
++ do
++ {
++ static int max_iter = 0;
++ if (max_iter++ > 10)
++ abort ();
++
++ if (cret == GNUTLS_E_AGAIN)
++ {
++ cret = gnutls_handshake (client);
++ if (debug_level > 0)
++ {
++ tls_log_func (0, "second gnutls_handshake (client)...\n");
++ tls_log_func (0, gnutls_strerror (cret));
++ tls_log_func (0, "\n");
++ }
++ }
++
++ if (sret == GNUTLS_E_AGAIN)
++ {
++ sret = gnutls_handshake (server);
++ if (debug_level > 0)
++ {
++ tls_log_func (0, "second gnutls_handshake (server)...\n");
++ tls_log_func (0, gnutls_strerror (sret));
++ tls_log_func (0, "\n");
++ }
++ }
++ }
++ while (
++ /* Not done: */
++ !(cret == GNUTLS_E_SUCCESS && sret == GNUTLS_E_SUCCESS)
++ /* No error: */
++ && (cret == GNUTLS_E_AGAIN || sret == GNUTLS_E_AGAIN));
++
++ if (cret != GNUTLS_E_SUCCESS && sret != GNUTLS_E_SUCCESS)
++ exit_code = 1;
++
++ if (gnutls_safe_renegotiation_status (client) ||
++ gnutls_safe_renegotiation_status (server))
++ {
++ tls_log_func (0, "Rehandshaked using safe renegotiation?!\n");
++ exit_code = EXIT_FAILURE;
++ }
++
++ gnutls_bye (client, GNUTLS_SHUT_RDWR);
++ gnutls_bye (server, GNUTLS_SHUT_RDWR);
++
++ gnutls_deinit (client);
++ gnutls_deinit (server);
++
++ free (to_server);
++ free (to_client);
++
++ gnutls_certificate_free_credentials (serverx509cred);
++
++ gnutls_global_deinit ();
++
++ if (debug_level > 0)
++ {
++ if (exit_code == 0)
++ puts ("Self-test successful");
++ else
++ puts ("Self-test failed");
++ }
++
++ return exit_code;
++}
+--- /dev/null 2013-09-26
++++ b/tests/safe-renegotiation/srn7.c 2013-09-26
+@@ -0,0 +1,336 @@
++/*
++ * Copyright (C) 2008, 2010 Free Software Foundation, Inc.
++ *
++ * Author: Simon Josefsson
++ *
++ * This file is part of GnuTLS.
++ *
++ * GnuTLS is free software; you can redistribute it and/or modify it
++ * under the terms of the GNU General Public License as published by
++ * the Free Software Foundation; either version 3 of the License, or
++ * (at your option) any later version.
++ *
++ * GnuTLS is distributed in the hope that it will be useful, but
++ * WITHOUT ANY WARRANTY; without even the implied warranty of
++ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
++ * General Public License for more details.
++ *
++ * You should have received a copy of the GNU General Public License
++ * along with GnuTLS; if not, write to the Free Software Foundation,
++ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA
++ */
++
++/* Code based on ../srn0.c.
++ *
++ * This tests that clients and servers in %SAFE_RENEGOTIATION mode are
++ * able to handshake and rehandshake.
++ */
++
++#ifdef HAVE_CONFIG_H
++# include <config.h>
++#endif
++
++#include <stdio.h>
++#include <stdlib.h>
++#include <string.h>
++#include <errno.h>
++#include <gnutls/gnutls.h>
++
++static void
++tls_log_func (int level, const char *str)
++{
++ fprintf (stderr, "|<%d>| %s", level, str);
++}
++
++static char *to_server;
++static size_t to_server_len;
++
++static char *to_client;
++static size_t to_client_len;
++
++static ssize_t
++client_pull (gnutls_transport_ptr_t tr, void *data, size_t len)
++{
++ if (to_client_len < len)
++ {
++ gnutls_transport_set_global_errno (EAGAIN);
++ return -1;
++ }
++
++ memcpy (data, to_client, len);
++
++ memmove (to_client, to_client + len, to_client_len - len);
++ to_client_len -= len;
++
++ return len;
++}
++
++static ssize_t
++client_push (gnutls_transport_ptr_t tr, const void *data, size_t len)
++{
++ size_t newlen = to_server_len + len;
++ char *tmp;
++
++ tmp = realloc (to_server, newlen);
++ if (!tmp)
++ abort ();
++ to_server = tmp;
++
++ memcpy (to_server + to_server_len, data, len);
++ to_server_len = newlen;
++
++ return len;
++}
++
++static ssize_t
++server_pull (gnutls_transport_ptr_t tr, void *data, size_t len)
++{
++ if (to_server_len < len)
++ {
++ gnutls_transport_set_global_errno (EAGAIN);
++ return -1;
++ }
++
++ memcpy (data, to_server, len);
++
++ memmove (to_server, to_server + len, to_server_len - len);
++ to_server_len -= len;
++
++ return len;
++}
++
++static ssize_t
++server_push (gnutls_transport_ptr_t tr, const void *data, size_t len)
++{
++ size_t newlen = to_client_len + len;
++ char *tmp;
++
++ tmp = realloc (to_client, newlen);
++ if (!tmp)
++ abort ();
++ to_client = tmp;
++
++ memcpy (to_client + to_client_len, data, len);
++ to_client_len = newlen;
++
++ return len;
++}
++
++static unsigned char server_cert_pem[] =
++ "-----BEGIN CERTIFICATE-----\n"
++ "MIICVjCCAcGgAwIBAgIERiYdMTALBgkqhkiG9w0BAQUwGTEXMBUGA1UEAxMOR251\n"
++ "VExTIHRlc3QgQ0EwHhcNMDcwNDE4MTMyOTIxWhcNMDgwNDE3MTMyOTIxWjA3MRsw\n"
++ "GQYDVQQKExJHbnVUTFMgdGVzdCBzZXJ2ZXIxGDAWBgNVBAMTD3Rlc3QuZ251dGxz\n"
++ "Lm9yZzCBnDALBgkqhkiG9w0BAQEDgYwAMIGIAoGA17pcr6MM8C6pJ1aqU46o63+B\n"
++ "dUxrmL5K6rce+EvDasTaDQC46kwTHzYWk95y78akXrJutsoKiFV1kJbtple8DDt2\n"
++ "DZcevensf9Op7PuFZKBroEjOd35znDET/z3IrqVgbtm2jFqab7a+n2q9p/CgMyf1\n"
++ "tx2S5Zacc1LWn9bIjrECAwEAAaOBkzCBkDAMBgNVHRMBAf8EAjAAMBoGA1UdEQQT\n"
++ "MBGCD3Rlc3QuZ251dGxzLm9yZzATBgNVHSUEDDAKBggrBgEFBQcDATAPBgNVHQ8B\n"
++ "Af8EBQMDB6AAMB0GA1UdDgQWBBTrx0Vu5fglyoyNgw106YbU3VW0dTAfBgNVHSME\n"
++ "GDAWgBTpPBz7rZJu5gakViyi4cBTJ8jylTALBgkqhkiG9w0BAQUDgYEAaFEPTt+7\n"
++ "bzvBuOf7+QmeQcn29kT6Bsyh1RHJXf8KTk5QRfwp6ogbp94JQWcNQ/S7YDFHglD1\n"
++ "AwUNBRXwd3riUsMnsxgeSDxYBfJYbDLeohNBsqaPDJb7XailWbMQKfAbFQ8cnOxg\n"
++ "rOKLUQRWJ0K3HyXRMhbqjdLIaQiCvQLuizo=\n" "-----END CERTIFICATE-----\n";
++
++const gnutls_datum_t server_cert = { server_cert_pem,
++ sizeof (server_cert_pem)
++};
++
++static unsigned char server_key_pem[] =
++ "-----BEGIN RSA PRIVATE KEY-----\n"
++ "MIICXAIBAAKBgQDXulyvowzwLqknVqpTjqjrf4F1TGuYvkrqtx74S8NqxNoNALjq\n"
++ "TBMfNhaT3nLvxqResm62ygqIVXWQlu2mV7wMO3YNlx696ex/06ns+4VkoGugSM53\n"
++ "fnOcMRP/PciupWBu2baMWppvtr6far2n8KAzJ/W3HZLllpxzUtaf1siOsQIDAQAB\n"
++ "AoGAYAFyKkAYC/PYF8e7+X+tsVCHXppp8AoP8TEZuUqOZz/AArVlle/ROrypg5kl\n"
++ "8YunrvUdzH9R/KZ7saNZlAPLjZyFG9beL/am6Ai7q7Ma5HMqjGU8kTEGwD7K+lbG\n"
++ "iomokKMOl+kkbY/2sI5Czmbm+/PqLXOjtVc5RAsdbgvtmvkCQQDdV5QuU8jap8Hs\n"
++ "Eodv/tLJ2z4+SKCV2k/7FXSKWe0vlrq0cl2qZfoTUYRnKRBcWxc9o92DxK44wgPi\n"
++ "oMQS+O7fAkEA+YG+K9e60sj1K4NYbMPAbYILbZxORDecvP8lcphvwkOVUqbmxOGh\n"
++ "XRmTZUuhBrJhJKKf6u7gf3KWlPl6ShKEbwJASC118cF6nurTjuLf7YKARDjNTEws\n"
++ "qZEeQbdWYINAmCMj0RH2P0mvybrsXSOD5UoDAyO7aWuqkHGcCLv6FGG+qwJAOVqq\n"
++ "tXdUucl6GjOKKw5geIvRRrQMhb/m5scb+5iw8A4LEEHPgGiBaF5NtJZLALgWfo5n\n"
++ "hmC8+G8F0F78znQtPwJBANexu+Tg5KfOnzSILJMo3oXiXhf5PqXIDmbN0BKyCKAQ\n"
++ "LfkcEcUbVfmDaHpvzwY9VEaoMOKVLitETXdNSxVpvWM=\n"
++ "-----END RSA PRIVATE KEY-----\n";
++
++const gnutls_datum_t server_key = { server_key_pem,
++ sizeof (server_key_pem)
++};
++
++int
++main (int argc, char *argv[])
++{
++ int debug_level = argc - 1;
++ int exit_code = EXIT_SUCCESS;
++ /* Server stuff. */
++ gnutls_certificate_credentials_t serverx509cred;
++ gnutls_session_t server;
++ int sret = GNUTLS_E_AGAIN;
++ /* Client stuff. */
++ gnutls_certificate_credentials_t clientx509cred;
++ gnutls_session_t client;
++ int cret = GNUTLS_E_AGAIN;
++
++ /* General init. */
++ gnutls_global_init ();
++ gnutls_global_set_log_function (tls_log_func);
++ gnutls_global_set_log_level (debug_level);
++
++ /* Init server */
++ gnutls_certificate_allocate_credentials (&serverx509cred);
++ gnutls_certificate_set_x509_key_mem (serverx509cred,
++ &server_cert, &server_key,
++ GNUTLS_X509_FMT_PEM);
++ gnutls_init (&server, GNUTLS_SERVER);
++ gnutls_credentials_set (server, GNUTLS_CRD_CERTIFICATE, serverx509cred);
++ gnutls_priority_set_direct (server, "NORMAL:%SAFE_RENEGOTIATION", NULL);
++ gnutls_transport_set_push_function (server, server_push);
++ gnutls_transport_set_pull_function (server, server_pull);
++
++ /* Init client */
++ gnutls_certificate_allocate_credentials (&clientx509cred);
++ gnutls_init (&client, GNUTLS_CLIENT);
++ gnutls_credentials_set (client, GNUTLS_CRD_CERTIFICATE, clientx509cred);
++ gnutls_priority_set_direct (client, "NORMAL:%SAFE_RENEGOTIATION", NULL);
++ gnutls_transport_set_push_function (client, client_push);
++ gnutls_transport_set_pull_function (client, client_pull);
++
++ /* Check that initially no session use the extension. */
++ if (gnutls_safe_renegotiation_status (server)
++ || gnutls_safe_renegotiation_status (client))
++ {
++ puts ("Client or server using extension before handshake?");
++ abort ();
++ }
++
++ do
++ {
++ static int max_iter = 0;
++ if (max_iter++ > 10)
++ abort ();
++
++ if (cret == GNUTLS_E_AGAIN)
++ {
++ cret = gnutls_handshake (client);
++ if (debug_level > 0)
++ {
++ tls_log_func (0, "gnutls_handshake (client)...\n");
++ tls_log_func (0, gnutls_strerror (cret));
++ tls_log_func (0, "\n");
++ }
++ }
++
++ if (sret == GNUTLS_E_AGAIN)
++ {
++ sret = gnutls_handshake (server);
++ if (debug_level > 0)
++ {
++ tls_log_func (0, "gnutls_handshake (server)...\n");
++ tls_log_func (0, gnutls_strerror (sret));
++ tls_log_func (0, "\n");
++ }
++ }
++ }
++ while (
++ /* Not done: */
++ !(cret == GNUTLS_E_SUCCESS && sret == GNUTLS_E_SUCCESS)
++ /* No error: */
++ && (cret == GNUTLS_E_AGAIN || sret == GNUTLS_E_AGAIN));
++
++ if (cret != GNUTLS_E_SUCCESS && sret != GNUTLS_E_SUCCESS)
++ exit_code = EXIT_FAILURE;
++
++ if (!gnutls_safe_renegotiation_status (client) ||
++ !gnutls_safe_renegotiation_status (server))
++ {
++ tls_log_func (0, "Session not using safe renegotiation!\n");
++ exit_code = EXIT_FAILURE;
++ }
++
++ sret = gnutls_rehandshake (server);
++ if (debug_level > 0)
++ {
++ tls_log_func (0, "gnutls_rehandshake (server)...\n");
++ tls_log_func (0, gnutls_strerror (sret));
++ tls_log_func (0, "\n");
++ }
++
++ {
++ ssize_t n;
++ char b[1];
++ n = gnutls_record_recv (client, b, 1);
++ if (n != GNUTLS_E_REHANDSHAKE)
++ abort ();
++ }
++
++ cret = GNUTLS_E_AGAIN;
++ sret = GNUTLS_E_AGAIN;
++
++ do
++ {
++ static int max_iter = 0;
++ if (max_iter++ > 10)
++ abort ();
++
++ if (cret == GNUTLS_E_AGAIN)
++ {
++ cret = gnutls_handshake (client);
++ if (debug_level > 0)
++ {
++ tls_log_func (0, "second gnutls_handshake (client)...\n");
++ tls_log_func (0, gnutls_strerror (cret));
++ tls_log_func (0, "\n");
++ }
++ }
++
++ if (sret == GNUTLS_E_AGAIN)
++ {
++ sret = gnutls_handshake (server);
++ if (debug_level > 0)
++ {
++ tls_log_func (0, "second gnutls_handshake (server)...\n");
++ tls_log_func (0, gnutls_strerror (sret));
++ tls_log_func (0, "\n");
++ }
++ }
++ }
++ while (
++ /* Not done: */
++ !(cret == GNUTLS_E_SUCCESS && sret == GNUTLS_E_SUCCESS)
++ /* No error: */
++ && (cret == GNUTLS_E_AGAIN || sret == GNUTLS_E_AGAIN));
++
++ if (cret != GNUTLS_E_SUCCESS && sret != GNUTLS_E_SUCCESS)
++ exit_code = 1;
++
++ if (!gnutls_safe_renegotiation_status (client) ||
++ !gnutls_safe_renegotiation_status (server))
++ {
++ tls_log_func (0,
++ "Rehandshaked session not using safe renegotiation!\n");
++ exit_code = EXIT_FAILURE;
++ }
++
++ gnutls_bye (client, GNUTLS_SHUT_RDWR);
++ gnutls_bye (server, GNUTLS_SHUT_RDWR);
++
++ gnutls_deinit (client);
++ gnutls_deinit (server);
++
++ free (to_server);
++ free (to_client);
++
++ gnutls_certificate_free_credentials (serverx509cred);
++
++ gnutls_global_deinit ();
++
++ if (debug_level > 0)
++ {
++ if (exit_code == 0)
++ puts ("Self-test successful");
++ else
++ puts ("Self-test failed");
++ }
++
++ return exit_code;
++}
+--- /dev/null 2013-09-26
++++ b/tests/safe-renegotiation/testsrn 2013-09-26
+@@ -0,0 +1,103 @@
++#!/bin/sh
++
++# Copyright (C) 2010 Free Software Foundation, Inc.
++#
++# Author: Nikos Mavrogiannopoulos
++#
++# This file is part of GnuTLS.
++#
++# GnuTLS is free software; you can redistribute it and/or modify it
++# under the terms of the GNU General Public License as published by the
++# Free Software Foundation; either version 3 of the License, or (at
++# your option) any later version.
++#
++# GnuTLS is distributed in the hope that it will be useful, but
++# WITHOUT ANY WARRANTY; without even the implied warranty of
++# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
++# General Public License for more details.
++#
++# You should have received a copy of the GNU General Public License
++# along with GnuTLS; if not, write to the Free Software Foundation,
++# Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
++
++srcdir="${srcdir:-.}"
++SERV="${SERV:-../../src/gnutls-serv$EXEEXT} -q"
++CLI="${CLI:-../../src/gnutls-cli$EXEEXT}"
++PORT="${PORT:-5558}"
++unset RETCODE
++
++fail() {
++ echo "Failure: $1" >&2
++ RETCODE=${RETCODE:-${2:-1}}
++}
++
++echo "Checking Safe renegotiation"
++
++$SERV -p $PORT --echo --priority NORMAL:+ANON-DH:%PARTIAL_RENEGOTIATION --dhparams $srcdir/params.dh >/dev/null 2>&1 &
++pid=$!
++
++# give the server a chance to initialize
++sleep 2
++
++$CLI -p $PORT 127.0.0.1 --rehandshake --priority NONE:+AES-128-CBC:+MD5:+SHA1:+VERS-SSL3.0:+ANON-DH:+COMP-NULL:%SAFE_RENEGOTIATION </dev/null >/dev/null 2>&1 || \
++ fail "0. Renegotiation should have succeeded!"
++
++$CLI -p $PORT 127.0.0.1 --rehandshake --priority NORMAL:+ANON-DH:%SAFE_RENEGOTIATION </dev/null >/dev/null 2>&1 || \
++ fail "1. Safe rehandshake should have succeeded!"
++
++$CLI -p $PORT 127.0.0.1 --rehandshake --priority NORMAL:+ANON-DH:%UNSAFE_RENEGOTIATION </dev/null >/dev/null 2>&1 || \
++ fail "2. Unsafe rehandshake should have succeeded!"
++
++$CLI -p $PORT 127.0.0.1 --priority NORMAL:+ANON-DH:%DISABLE_SAFE_RENEGOTIATION </dev/null >/dev/null 2>&1 || \
++ fail "3. Unsafe negotiation should have succeeded!"
++
++$CLI -p $PORT 127.0.0.1 --rehandshake --priority NORMAL:+ANON-DH:%DISABLE_SAFE_RENEGOTIATION </dev/null >/dev/null 2>&1 && \
++ fail "4. Unsafe renegotiation should have failed!"
++
++
++kill $pid
++wait
++
++$SERV -p $PORT --echo --priority NORMAL:+ANON-DH:%SAFE_RENEGOTIATION --dhparams $srcdir/params.dh >/dev/null 2>&1 &
++pid=$!
++
++# give the server a chance to initialize
++sleep 2
++
++$CLI -p $PORT 127.0.0.1 --rehandshake --priority NORMAL:+ANON-DH:%SAFE_RENEGOTIATION </dev/null >/dev/null 2>&1 || \
++ fail "5. Safe rehandshake should have succeeded!"
++
++$CLI -p $PORT 127.0.0.1 --rehandshake --priority NORMAL:+ANON-DH:%UNSAFE_RENEGOTIATION </dev/null >/dev/null 2>&1 || \
++ fail "6. Unsafe rehandshake should have succeeded!"
++
++$CLI -p $PORT 127.0.0.1 --priority NORMAL:+ANON-DH:%DISABLE_SAFE_RENEGOTIATION </dev/null >/dev/null 2>&1 && \
++ fail "7. Unsafe negotiation should have failed!"
++
++$CLI -p $PORT 127.0.0.1 --rehandshake --priority NORMAL:+ANON-DH:%DISABLE_SAFE_RENEGOTIATION </dev/null >/dev/null 2>&1 && \
++ fail "8. Unsafe renegotiation should have failed!"
++
++kill $pid
++wait
++
++$SERV -p $PORT --echo --priority NORMAL:+ANON-DH:%DISABLE_SAFE_RENEGOTIATION --dhparams $srcdir/params.dh >/dev/null 2>&1 &
++pid=$!
++
++# give the server a chance to initialize
++sleep 2
++
++$CLI -p $PORT 127.0.0.1 --priority NORMAL:+ANON-DH:%SAFE_RENEGOTIATION </dev/null >/dev/null 2>&1 && \
++ fail "9. Initial connection should have failed!"
++
++$CLI -p $PORT 127.0.0.1 --priority NORMAL:+ANON-DH:%UNSAFE_RENEGOTIATION </dev/null >/dev/null 2>&1 || \
++ fail "10. Unsafe connection should have succeeded!"
++
++$CLI -p $PORT 127.0.0.1 --priority NORMAL:+ANON-DH:%DISABLE_SAFE_RENEGOTIATION </dev/null >/dev/null 2>&1 || \
++ fail "11. Unsafe negotiation should have succeeded!"
++
++$CLI -p $PORT 127.0.0.1 --rehandshake --priority NORMAL:+ANON-DH:%DISABLE_SAFE_RENEGOTIATION </dev/null >/dev/null 2>&1 || \
++ fail "12. Unsafe renegotiation should have succeeded!"
++
++kill $pid
++wait
++
++exit ${RETCODE:-0}
+--- a/tests/simple.c 2009-06-02
++++ b/tests/simple.c 2013-09-26
+@@ -50,7 +50,7 @@ doit (void)
+
+ for (i = 0; algs[i]; i++)
+ {
+- printf ("pk_list[%d] = %d = %s = %d\n", i, algs[i],
++ printf ("pk_list[%d] = %d = %s = %d\n", (int)i, algs[i],
+ gnutls_pk_algorithm_get_name (algs[i]),
+ gnutls_pk_get_id (gnutls_pk_algorithm_get_name (algs[i])));
+ if (gnutls_pk_get_id (gnutls_pk_algorithm_get_name (algs[i]))
+@@ -76,7 +76,7 @@ doit (void)
+
+ for (i = 0; algs[i]; i++)
+ {
+- printf ("sign_list[%d] = %d = %s = %d\n", i, algs[i],
++ printf ("sign_list[%d] = %d = %s = %d\n", (int)i, algs[i],
+ gnutls_sign_algorithm_get_name (algs[i]),
+ gnutls_sign_get_id (gnutls_sign_algorithm_get_name
+ (algs[i])));
diff --git a/patches/source/gnutls/gnutls-2.8.4_CVE-2011-4128.diff b/patches/source/gnutls/gnutls-2.8.4_CVE-2011-4128.diff
new file mode 100644
index 00000000..0f933d17
--- /dev/null
+++ b/patches/source/gnutls/gnutls-2.8.4_CVE-2011-4128.diff
@@ -0,0 +1,36 @@
+From 944118eba2ba7d1ffae2402e50e143e34d3a42ba Mon Sep 17 00:00:00 2001
+From: mancha <mancha1@hush.com>
+Date: Sun, 29 Sep 2013
+Subject: CVE-2011-4128 [GNUTLS-SA-2011-2]
+
+gnutls_session_get_data: fix possible buffer overflow
+
+This is a backport adaptation for use with GnuTLS 2.8.4.
+
+Relevant upstream commits:
+--------------------------
+https://gitorious.org/gnutls/gnutls/commit/190cef6eed37d0
+https://gitorious.org/gnutls/gnutls/commit/e82ef4545e9e98
+
+---
+ gnutls_session.c | 3 ++-
+ 1 file changed, 2 insertions(+), 1 deletion(-)
+
+--- a/lib/gnutls_session.c 2013-09-27
++++ b/lib/gnutls_session.c 2013-09-27
+@@ -64,13 +64,14 @@ gnutls_session_get_data (gnutls_session_
+ gnutls_assert ();
+ return ret;
+ }
+- *session_data_size = psession.size;
+
+ if (psession.size > *session_data_size)
+ {
++ *session_data_size = psession.size;
+ ret = GNUTLS_E_SHORT_MEMORY_BUFFER;
+ goto error;
+ }
++ *session_data_size = psession.size;
+
+ if (session_data != NULL)
+ memcpy (session_data, psession.data, psession.size);
diff --git a/patches/source/gnutls/gnutls-2.8.4_CVE-2012-1569.diff b/patches/source/gnutls/gnutls-2.8.4_CVE-2012-1569.diff
new file mode 100644
index 00000000..98ae99ff
--- /dev/null
+++ b/patches/source/gnutls/gnutls-2.8.4_CVE-2012-1569.diff
@@ -0,0 +1,62 @@
+From 6f3bce4bdaf45c23107ba07b65eeaa00c1436346 Mon Sep 17 00:00:00 2001
+From: mancha <mancha1@hush.com>
+Date: Thu, 3 Oct 2013
+Subject: CVE-2012-1569 [GNUTLS-SA-2012-3]
+
+asn1_get_length_der() in decoding.c in GNU Libtasn1 before 2.12
+does not properly handle certain large length values. This can be
+exploited by attackers to cause a DoS or other impacts via a
+crafted ASN.1 structure.
+
+Fix adapted for use with libtasn1 embedded in GnuTLS 2.8.4.
+
+Relevant upstream patch:
+------------------------
+http://article.gmane.org/gmane.comp.gnu.libtasn1.general/54
+
+---
+ decoding.c | 12 ++++++++----
+ 1 file changed, 8 insertions(+), 4 deletions(-)
+
+--- a/lib/minitasn1/decoding.c
++++ b/lib/minitasn1/decoding.c
+@@ -55,12 +55,13 @@ _asn1_error_description_tag_error (ASN1_TYPE node, char *ErrorDescription)
+ * Extract a length field from DER data.
+ *
+ * Return value: Return the decoded length value, or -1 on indefinite
+- * length, or -2 when the value was too big.
++ * length, or -2 when the value was too big to fit in a int, or -4
++ * when the decoded length value plus @len would exceed @der_len.
+ **/
+ signed long
+ asn1_get_length_der (const unsigned char *der, int der_len, int *len)
+ {
+- unsigned long ans;
++ int ans;
+ int k, punt;
+
+ *len = 0;
+@@ -83,7 +84,7 @@ asn1_get_length_der (const unsigned char *der, int der_len, int *len)
+ ans = 0;
+ while (punt <= k && punt < der_len)
+ {
+- unsigned long last = ans;
++ int last = ans;
+
+ ans = ans * 256 + der[punt++];
+ if (ans < last)
+@@ -93,10 +94,13 @@ asn1_get_length_der (const unsigned char *der, int der_len, int *len)
+ }
+ else
+ { /* indefinite length method */
+- ans = -1;
++ *len = punt;
++ return -1;
+ }
+
+ *len = punt;
++ if (ans + *len < ans || ans + *len > der_len)
++ return -4;
+ return ans;
+ }
+ }
diff --git a/patches/source/gnutls/gnutls-2.8.4_CVE-2012-1573.diff b/patches/source/gnutls/gnutls-2.8.4_CVE-2012-1573.diff
new file mode 100644
index 00000000..f135ac33
--- /dev/null
+++ b/patches/source/gnutls/gnutls-2.8.4_CVE-2012-1573.diff
@@ -0,0 +1,39 @@
+From d33a1132a5e53ce2c8e5957a587ee28f4f0ccfcb Mon Sep 17 00:00:00 2001
+From: mancha <mancha1@hush.com>
+Date: Sun, 29 Sep 2013
+Subject: CVE-2012-1573 [GNUTLS-SA-2012-2]
+
+Address a TLS record handling vulnerability in GnuTLS.
+
+This is a backport adaptation for use with GnuTLS 2.8.4.
+
+Relevant upstream commit:
+-------------------------
+https://gitorious.org/gnutls/gnutls/commit/42221486806137
+
+---
+ gnutls_cipher.c | 11 +++++------
+ 1 file changed, 5 insertions(+), 6 deletions(-)
+
+--- a/lib/gnutls_cipher.c 2013-09-27
++++ b/lib/gnutls_cipher.c 2013-09-27
+@@ -501,14 +501,13 @@ _gnutls_ciphertext2compressed (gnutls_se
+ {
+ ciphertext.size -= blocksize;
+ ciphertext.data += blocksize;
+-
+- if (ciphertext.size == 0)
+- {
+- gnutls_assert ();
+- return GNUTLS_E_DECRYPTION_FAILED;
+- }
+ }
+
++ if (ciphertext.size < hash_size)
++ {
++ gnutls_assert ();
++ return GNUTLS_E_DECRYPTION_FAILED;
++ }
+ pad = ciphertext.data[ciphertext.size - 1] + 1; /* pad */
+
+ if ((int) pad > (int) ciphertext.size - hash_size)
diff --git a/patches/source/gnutls/gnutls-2.8.4_CVE-2013-1619_CVE-2013-2116.diff b/patches/source/gnutls/gnutls-2.8.4_CVE-2013-1619_CVE-2013-2116.diff
new file mode 100644
index 00000000..3b3ccf7f
--- /dev/null
+++ b/patches/source/gnutls/gnutls-2.8.4_CVE-2013-1619_CVE-2013-2116.diff
@@ -0,0 +1,381 @@
+From e9e4cb4ed045a12c984a367bee0ddcbb3f27ae0d Mon Sep 17 00:00:00 2001
+From: mancha <mancha1@hush.com>
+Date: Sun, 29 Sep 2013
+Subject: CVE-2013-1619 and CVE-2013-2116 [GNUTLS-SA-2013-1,GNUTLS-SA-2013-2]
+
+Fix to avoid a timing attack in TLS CBC record parsing (aka Lucky 13).
+
+For background, see http://www.isg.rhul.ac.uk/tls/Lucky13.html
+
+The fix for CVE-2013-2116 is folded into this patch since it addresses
+a problem introduced by the fix for CVE-2013-1619.
+
+This is a backport adaptation for use with GnuTLS 2.8.4.
+
+Relevant upstream commits:
+--------------------------
+https://gitorious.org/gnutls/gnutls/commit/458c67cf98740e
+https://gitorious.org/gnutls/gnutls/commit/93b7fcfa3297a9
+https://gitorious.org/gnutls/gnutls/commit/32a7367601a3fd
+https://gitorious.org/gnutls/gnutls/commit/63a331df6aa0ec
+
+---
+ gnutls_algorithms.c | 14 +++++
+ gnutls_algorithms.h | 3 +
+ gnutls_cipher.c | 132 ++++++++++++++++++++++++++++++++--------------------
+ gnutls_hash_int.h | 21 ++++++++
+ 4 files changed, 121 insertions(+), 49 deletions(-)
+
+--- a/lib/gnutls_cipher.c 2013-09-27
++++ b/lib/gnutls_cipher.c 2013-09-27
+@@ -287,6 +287,26 @@ calc_enc_length (gnutls_session_t sessio
+ return length;
+ }
+
++#define PREAMBLE_SIZE 16
++static inline int make_preamble(opaque* uint64_data, opaque type, uint16_t c_length, opaque ver, opaque* preamble)
++{
++ opaque minor = _gnutls_version_get_minor (ver);
++ opaque major = _gnutls_version_get_major (ver);
++ opaque *p = preamble;
++
++ memcpy(p, uint64_data, 8);
++ p+=8;
++ *p=type; p++;
++ if (_gnutls_version_has_variable_padding (ver))
++ { /* TLS 1.0 or higher */
++ *p = major; p++;
++ *p = minor; p++;
++ }
++ memcpy(p, &c_length, 2);
++ p+=2;
++ return p-preamble;
++}
++
+ /* This is the actual encryption
+ * Encrypts the given compressed datum, and puts the result to cipher_data,
+ * which has cipher_size size.
+@@ -304,11 +324,11 @@ _gnutls_compressed2ciphertext (gnutls_se
+ int length, ret;
+ digest_hd_st td;
+ uint8_t type = _type;
+- uint8_t major, minor;
++ opaque preamble[PREAMBLE_SIZE];
++ int preamble_size;
+ int hash_size =
+ _gnutls_hash_get_algo_len (session->security_parameters.
+ write_mac_algorithm);
+- gnutls_protocol_t ver;
+ int blocksize =
+ _gnutls_cipher_get_block_size (session->security_parameters.
+ write_bulk_cipher_algorithm);
+@@ -316,40 +336,27 @@ _gnutls_compressed2ciphertext (gnutls_se
+ _gnutls_cipher_is_block (session->security_parameters.
+ write_bulk_cipher_algorithm);
+ opaque *data_ptr;
+-
+-
+- ver = gnutls_protocol_get_version (session);
+- minor = _gnutls_version_get_minor (ver);
+- major = _gnutls_version_get_major (ver);
+-
++ int ver = gnutls_protocol_get_version (session);
+
+ /* Initialize MAC */
+- ret = mac_init (&td, session->security_parameters.write_mac_algorithm,
+- session->connection_state.write_mac_secret.data,
+- session->connection_state.write_mac_secret.size, ver);
+-
+- if (ret < 0
+- && session->security_parameters.write_mac_algorithm != GNUTLS_MAC_NULL)
+- {
+- gnutls_assert ();
+- return ret;
+- }
+
+ c_length = _gnutls_conv_uint16 (compressed.size);
+
+ if (session->security_parameters.write_mac_algorithm != GNUTLS_MAC_NULL)
+ { /* actually when the algorithm in not the NULL one */
+- _gnutls_hmac (&td,
+- UINT64DATA (session->connection_state.
+- write_sequence_number), 8);
+-
+- _gnutls_hmac (&td, &type, 1);
+- if (ver >= GNUTLS_TLS1)
+- { /* TLS 1.0 or higher */
+- _gnutls_hmac (&td, &major, 1);
+- _gnutls_hmac (&td, &minor, 1);
+- }
+- _gnutls_hmac (&td, &c_length, 2);
++ digest_hd_st td;
++
++ ret = mac_init (&td, session->security_parameters.write_mac_algorithm,
++ session->connection_state.write_mac_secret.data,
++ session->connection_state.write_mac_secret.size, ver);
++
++ if (ret < 0)
++ {
++ gnutls_assert ();
++ return ret;
++ }
++ preamble_size = make_preamble( UINT64DATA (session->connection_state.write_sequence_number), type, c_length, ver, preamble);
++ _gnutls_hmac (&td, preamble, preamble_size);
+ _gnutls_hmac (&td, compressed.data, compressed.size);
+ mac_deinit (&td, MAC, ver);
+ }
+@@ -418,6 +425,49 @@ _gnutls_compressed2ciphertext (gnutls_se
+ return length;
+ }
+
++static void dummy_wait(gnutls_session_t session, gnutls_datum_t* plaintext,
++ unsigned pad_failed, unsigned int pad, unsigned total, int ver)
++{
++ /* this hack is only needed on CBC ciphers */
++ if (_gnutls_cipher_is_block (session->security_parameters.read_bulk_cipher_algorithm) == CIPHER_BLOCK)
++ {
++ uint8_t MAC[MAX_HASH_SIZE];
++ unsigned len;
++ digest_hd_st td;
++ int ret;
++
++ ret = mac_init (&td, session->security_parameters.read_mac_algorithm,
++ session->connection_state.read_mac_secret.data,
++ session->connection_state.read_mac_secret.size, ver);
++
++ if (ret < 0)
++ return;
++
++ /* force an additional hash compression function evaluation to prevent timing
++ * attacks that distinguish between wrong-mac + correct pad, from wrong-mac + incorrect pad.
++ */
++ if (pad_failed == 0 && pad > 0)
++ {
++ len = _gnutls_get_hash_block_len(session->security_parameters.read_mac_algorithm);
++ if (len > 0)
++ {
++ /* This is really specific to the current hash functions.
++ * It should be removed once a protocol fix is in place.
++ */
++ if ((pad+total) % len > len-9 && total % len <= len-9)
++ {
++ if (len < plaintext->size)
++ _gnutls_hmac (&td, plaintext->data, len);
++ else
++ _gnutls_hmac (&td, plaintext->data, plaintext->size);
++ }
++ }
++ }
++
++ mac_deinit (&td, MAC, ver);
++ }
++}
++
+ /* Deciphers the ciphertext packet, and puts the result to compress_data, of compress_size.
+ * Returns the actual compressed packet size.
+ */
+@@ -429,38 +479,22 @@ _gnutls_ciphertext2compressed (gnutls_se
+ {
+ uint8_t MAC[MAX_HASH_SIZE];
+ uint16_t c_length;
+- uint8_t pad;
++ unsigned int pad = 0;
+ int length;
+ digest_hd_st td;
+ uint16_t blocksize;
+ int ret, i, pad_failed = 0;
+- uint8_t major, minor;
+- gnutls_protocol_t ver;
++ opaque preamble[PREAMBLE_SIZE];
++ int preamble_size = 0;
++ int ver = gnutls_protocol_get_version (session);
+ int hash_size =
+ _gnutls_hash_get_algo_len (session->security_parameters.
+ read_mac_algorithm);
+
+- ver = gnutls_protocol_get_version (session);
+- minor = _gnutls_version_get_minor (ver);
+- major = _gnutls_version_get_major (ver);
+-
+ blocksize =
+ _gnutls_cipher_get_block_size (session->security_parameters.
+ read_bulk_cipher_algorithm);
+
+- /* initialize MAC
+- */
+- ret = mac_init (&td, session->security_parameters.read_mac_algorithm,
+- session->connection_state.read_mac_secret.data,
+- session->connection_state.read_mac_secret.size, ver);
+-
+- if (ret < 0
+- && session->security_parameters.read_mac_algorithm != GNUTLS_MAC_NULL)
+- {
+- gnutls_assert ();
+- return GNUTLS_E_INTERNAL_ERROR;
+- }
+-
+ /* actual decryption (inplace)
+ */
+ switch (_gnutls_cipher_is_block
+@@ -508,31 +542,25 @@ _gnutls_ciphertext2compressed (gnutls_se
+ gnutls_assert ();
+ return GNUTLS_E_DECRYPTION_FAILED;
+ }
+- pad = ciphertext.data[ciphertext.size - 1] + 1; /* pad */
+-
+- if ((int) pad > (int) ciphertext.size - hash_size)
+- {
+- gnutls_assert ();
+- _gnutls_record_log
+- ("REC[%p]: Short record length %d > %d - %d (under attack?)\n",
+- session, pad, ciphertext.size, hash_size);
+- /* We do not fail here. We check below for the
+- * the pad_failed. If zero means success.
+- */
+- pad_failed = GNUTLS_E_DECRYPTION_FAILED;
+- }
+-
+- length = ciphertext.size - hash_size - pad;
+-
+- /* Check the pading bytes (TLS 1.x)
++ pad = ciphertext.data[ciphertext.size - 1]; /* pad */
++ if (pad+1 > ciphertext.size-hash_size)
++ pad_failed = GNUTLS_E_DECRYPTION_FAILED;
++
++ /* Check the pading bytes (TLS 1.x).
++ * Note that we access all 256 bytes of ciphertext for padding check
++ * because there is a timing channel in that memory access (in certain CPUs
+ */
+ if (ver >= GNUTLS_TLS1 && pad_failed == 0)
+ for (i = 2; i < pad; i++)
+ {
+- if (ciphertext.data[ciphertext.size - i] !=
+- ciphertext.data[ciphertext.size - 1])
++ if (ciphertext.data[ciphertext.size - i] != pad)
+ pad_failed = GNUTLS_E_DECRYPTION_FAILED;
+ }
++
++ if (pad_failed)
++ pad = 0;
++ length = ciphertext.size - hash_size - pad - 1;
++
+ break;
+ default:
+ gnutls_assert ();
+@@ -548,17 +576,20 @@ _gnutls_ciphertext2compressed (gnutls_se
+ */
+ if (session->security_parameters.read_mac_algorithm != GNUTLS_MAC_NULL)
+ {
+- _gnutls_hmac (&td,
+- UINT64DATA (session->connection_state.
+- read_sequence_number), 8);
+-
+- _gnutls_hmac (&td, &type, 1);
+- if (ver >= GNUTLS_TLS1)
+- { /* TLS 1.x */
+- _gnutls_hmac (&td, &major, 1);
+- _gnutls_hmac (&td, &minor, 1);
+- }
+- _gnutls_hmac (&td, &c_length, 2);
++ digest_hd_st td;
++
++ ret = mac_init (&td, session->security_parameters.read_mac_algorithm,
++ session->connection_state.read_mac_secret.data,
++ session->connection_state.read_mac_secret.size, ver);
++
++ if (ret < 0)
++ {
++ gnutls_assert ();
++ return GNUTLS_E_INTERNAL_ERROR;
++ }
++
++ preamble_size = make_preamble( UINT64DATA (session->connection_state.read_sequence_number), type, c_length, ver, preamble);
++ _gnutls_hmac (&td, preamble, preamble_size);
+
+ if (length > 0)
+ _gnutls_hmac (&td, ciphertext.data, length);
+@@ -566,16 +597,14 @@ _gnutls_ciphertext2compressed (gnutls_se
+ mac_deinit (&td, MAC, ver);
+ }
+
+- /* This one was introduced to avoid a timing attack against the TLS
+- * 1.0 protocol.
+- */
+- if (pad_failed != 0)
+- return pad_failed;
+-
+ /* HMAC was not the same.
+ */
+- if (memcmp (MAC, &ciphertext.data[length], hash_size) != 0)
++ if (memcmp (MAC, &ciphertext.data[length], hash_size) != 0 || pad_failed != 0)
+ {
++ gnutls_datum_t compressed = {compress_data, compress_size};
++ /* HMAC was not the same. */
++ dummy_wait(session, &compressed, pad_failed, pad, length+preamble_size, ver);
++
+ gnutls_assert ();
+ return GNUTLS_E_DECRYPTION_FAILED;
+ }
+--- a/lib/gnutls_hash_int.h 2013-09-27
++++ b/lib/gnutls_hash_int.h 2013-09-27
+@@ -92,4 +92,25 @@ void _gnutls_mac_deinit_ssl3_handshake (
+
+ int _gnutls_hash_copy (digest_hd_st* dst_handle, digest_hd_st * src_handle);
+
++/* We shouldn't need to know that, but a work-around in decoding
++ * TLS record padding requires that.
++ */
++inline static size_t
++_gnutls_get_hash_block_len (gnutls_digest_algorithm_t algo)
++{
++ switch (algo)
++ {
++ case GNUTLS_DIG_MD5:
++ case GNUTLS_DIG_SHA1:
++ case GNUTLS_DIG_RMD160:
++ case GNUTLS_DIG_SHA256:
++ case GNUTLS_DIG_SHA384:
++ case GNUTLS_DIG_SHA512:
++ case GNUTLS_DIG_SHA224:
++ return 64;
++ default:
++ return 0;
++ }
++}
++
+ #endif /* GNUTLS_HASH_INT_H */
+--- a/lib/gnutls_algorithms.c 2013-09-27
++++ b/lib/gnutls_algorithms.c 2013-09-27
+@@ -1185,6 +1185,20 @@ _gnutls_version_is_supported (gnutls_ses
+ return 1;
+ }
+
++/* This function determines if the version specified can have
++ non-minimal padding. */
++int _gnutls_version_has_variable_padding (gnutls_protocol_t version)
++{
++ switch(version) {
++ case GNUTLS_TLS1_0:
++ case GNUTLS_TLS1_1:
++ case GNUTLS_TLS1_2:
++ return 1;
++ default:
++ return 0;
++ }
++}
++
+ /* Type to KX mappings */
+ gnutls_kx_algorithm_t
+ _gnutls_map_kx_get_kx (gnutls_credentials_type_t type, int server)
+--- a/lib/gnutls_algorithms.h 2013-09-27
++++ b/lib/gnutls_algorithms.h 2013-09-27
+@@ -41,6 +41,9 @@ int _gnutls_version_get_major (gnutls_pr
+ int _gnutls_version_get_minor (gnutls_protocol_t ver);
+ gnutls_protocol_t _gnutls_version_get (int major, int minor);
+
++/* Functions for feature checks */
++int _gnutls_version_has_variable_padding (gnutls_protocol_t version);
++
+ /* Functions for MACs. */
+ int _gnutls_mac_is_ok (gnutls_mac_algorithm_t algorithm);
+ gnutls_mac_algorithm_t _gnutls_x509_oid2mac_algorithm (const char *oid);
diff --git a/patches/source/gnutls/gnutls-2.8.4_CVE-2014-0092.diff b/patches/source/gnutls/gnutls-2.8.4_CVE-2014-0092.diff
new file mode 100644
index 00000000..a6da6edc
--- /dev/null
+++ b/patches/source/gnutls/gnutls-2.8.4_CVE-2014-0092.diff
@@ -0,0 +1,108 @@
+From 9ae432113c485518a6ea5c68e15b4a18e87cf878 Mon Sep 17 00:00:00 2001
+From: mancha <mancha1@hush.com>
+Date: Mon, 03 Mar 2014
+Subject: CVE-2014-0092 (GNUTLS-SA-2014-2)
+
+Fix vulnerabilities in the certificate verification code path.
+The vulnerabilities can be exploited such that specially-crafted
+certificates can bypass certificate validation checks.
+
+This is a backport adaptation for use with GnuTLS 2.8.4.
+
+Relevant upstream commit:
+-------------------------
+https://gitorious.org/gnutls/gnutls/commit/6aa26f78150ccb
+
+---
+ lib/x509/verify.c | 17 +++++++++++------
+ 1 file changed, 11 insertions(+), 6 deletions(-)
+
+--- a/lib/x509/verify.c
++++ b/lib/x509/verify.c
+@@ -112,7 +112,7 @@ check_if_ca (gnutls_x509_crt_t cert, gnu
+ if (result < 0)
+ {
+ gnutls_assert ();
+- goto cleanup;
++ goto fail;
+ }
+
+ result =
+@@ -121,7 +121,7 @@ check_if_ca (gnutls_x509_crt_t cert, gnu
+ if (result < 0)
+ {
+ gnutls_assert ();
+- goto cleanup;
++ goto fail;
+ }
+
+ result =
+@@ -129,7 +129,7 @@ check_if_ca (gnutls_x509_crt_t cert, gnu
+ if (result < 0)
+ {
+ gnutls_assert ();
+- goto cleanup;
++ goto fail;
+ }
+
+ result =
+@@ -137,7 +137,7 @@ check_if_ca (gnutls_x509_crt_t cert, gnu
+ if (result < 0)
+ {
+ gnutls_assert ();
+- goto cleanup;
++ goto fail;
+ }
+
+ /* If the subject certificate is the same as the issuer
+@@ -177,6 +177,7 @@ check_if_ca (gnutls_x509_crt_t cert, gnu
+ else
+ gnutls_assert ();
+
++fail:
+ result = 0;
+
+ cleanup:
+@@ -269,7 +270,7 @@ _gnutls_verify_certificate2 (gnutls_x509
+ gnutls_datum_t cert_signed_data = { NULL, 0 };
+ gnutls_datum_t cert_signature = { NULL, 0 };
+ gnutls_x509_crt_t issuer;
+- int ret, issuer_version, result;
++ int ret, issuer_version, result = 0;
+
+ if (output)
+ *output = 0;
+@@ -299,7 +300,7 @@ _gnutls_verify_certificate2 (gnutls_x509
+ if (issuer_version < 0)
+ {
+ gnutls_assert ();
+- return issuer_version;
++ return 0;
+ }
+
+ if (!(flags & GNUTLS_VERIFY_DISABLE_CA_SIGN) &&
+@@ -320,6 +321,7 @@ _gnutls_verify_certificate2 (gnutls_x509
+ if (result < 0)
+ {
+ gnutls_assert ();
++ result = 0;
+ goto cleanup;
+ }
+
+@@ -328,6 +330,7 @@ _gnutls_verify_certificate2 (gnutls_x509
+ if (result < 0)
+ {
+ gnutls_assert ();
++ result = 0;
+ goto cleanup;
+ }
+
+@@ -337,6 +340,8 @@ _gnutls_verify_certificate2 (gnutls_x509
+ if (ret < 0)
+ {
+ gnutls_assert ();
++ result = 0;
++ goto cleanup;
+ }
+ else if (ret == 0)
+ {
diff --git a/patches/source/gnutls/gnutls-2.8.4_CVE-2014-3466.diff b/patches/source/gnutls/gnutls-2.8.4_CVE-2014-3466.diff
new file mode 100644
index 00000000..b135bbc1
--- /dev/null
+++ b/patches/source/gnutls/gnutls-2.8.4_CVE-2014-3466.diff
@@ -0,0 +1,312 @@
+From 7fc8bb1f29a2ca1ddedc7f5aa0204ab091c69431 Mon Sep 17 00:00:00 2001
+From: mancha <mancha1@zoho.com>
+Date: Mon, 2 Jun 2014
+Subject: CVE-2014-3466
+
+This is a backport adaptation for use with GnuTLS 2.8.4.
+
+Relevant upstream commit(s):
+-------------------------
+https://gitorious.org/gnutls/gnutls/commit/688ea6428a432c
+https://gitorious.org/gnutls/gnutls/commit/a7be326f0e33cf
+
+---
+ lib/gnutls_handshake.c | 2
+ tests/Makefile.am | 2
+ tests/long-session-id.c | 268 ++++++++++++++++++++++++++++++++++++++++
+ 3 files changed, 270 insertions(+), 2 deletions(-)
+
+--- a/lib/gnutls_handshake.c
++++ b/lib/gnutls_handshake.c
+@@ -1518,7 +1518,7 @@ _gnutls_read_server_hello (gnutls_sessio
+ DECR_LEN (len, 1);
+ session_id_len = data[pos++];
+
+- if (len < session_id_len)
++ if (len < session_id_len || session_id_len > TLS_MAX_SESSION_ID_SIZE)
+ {
+ gnutls_assert ();
+ return GNUTLS_E_UNSUPPORTED_VERSION_PACKET;
+--- a/tests/Makefile.am
++++ b/tests/Makefile.am
+@@ -56,7 +56,8 @@
+ ctests = simple gc set_pkcs12_cred certder mpi \
+ certificate_set_x509_crl dn parse_ca moredn crypto_rng mini \
+ finished hostname-check cve-2008-4989 pkcs12_s2k chainverify \
+- crq_key_id x509sign-verify cve-2009-1415 cve-2009-1416 mini-eagain
++ crq_key_id x509sign-verify cve-2009-1415 cve-2009-1416 \
++ mini-eagain long-session-id
+
+ if ENABLE_OPENSSL
+ ctests += openssl
+--- /dev/null
++++ b/tests/long-session-id.c
+@@ -0,0 +1,268 @@
++/*
++ * Copyright (C) 2012 Free Software Foundation, Inc.
++ *
++ * Author: Nikos Mavrogiannopoulos
++ *
++ * This file is part of GnuTLS.
++ *
++ * GnuTLS is free software; you can redistribute it and/or modify it
++ * under the terms of the GNU General Public License as published by
++ * the Free Software Foundation; either version 3 of the License, or
++ * (at your option) any later version.
++ *
++ * GnuTLS is distributed in the hope that it will be useful, but
++ * WITHOUT ANY WARRANTY; without even the implied warranty of
++ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
++ * General Public License for more details.
++ *
++ * You should have received a copy of the GNU General Public License
++ * along with GnuTLS; if not, write to the Free Software Foundation,
++ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA
++ */
++
++#ifdef HAVE_CONFIG_H
++#include <config.h>
++#endif
++
++#include <stdio.h>
++#include <stdlib.h>
++
++#if defined(_WIN32)
++
++int main()
++{
++ exit(77);
++}
++
++#else
++
++#include <string.h>
++#include <sys/types.h>
++#include <netinet/in.h>
++#include <sys/socket.h>
++#include <sys/wait.h>
++#include <arpa/inet.h>
++#include <unistd.h>
++#include <gnutls/gnutls.h>
++#include <signal.h>
++
++static int debug = 0;
++static void terminate(int);
++
++/* This program tests the robustness of record
++ * decoding.
++ */
++
++static void client_log_func(int level, const char *str)
++{
++ fprintf(stderr, "client|<%d>| %s", level, str);
++}
++
++static unsigned char server_cert_pem[] =
++ "-----BEGIN CERTIFICATE-----\n"
++ "MIICVjCCAcGgAwIBAgIERiYdMTALBgkqhkiG9w0BAQUwGTEXMBUGA1UEAxMOR251\n"
++ "VExTIHRlc3QgQ0EwHhcNMDcwNDE4MTMyOTIxWhcNMDgwNDE3MTMyOTIxWjA3MRsw\n"
++ "GQYDVQQKExJHbnVUTFMgdGVzdCBzZXJ2ZXIxGDAWBgNVBAMTD3Rlc3QuZ251dGxz\n"
++ "Lm9yZzCBnDALBgkqhkiG9w0BAQEDgYwAMIGIAoGA17pcr6MM8C6pJ1aqU46o63+B\n"
++ "dUxrmL5K6rce+EvDasTaDQC46kwTHzYWk95y78akXrJutsoKiFV1kJbtple8DDt2\n"
++ "DZcevensf9Op7PuFZKBroEjOd35znDET/z3IrqVgbtm2jFqab7a+n2q9p/CgMyf1\n"
++ "tx2S5Zacc1LWn9bIjrECAwEAAaOBkzCBkDAMBgNVHRMBAf8EAjAAMBoGA1UdEQQT\n"
++ "MBGCD3Rlc3QuZ251dGxzLm9yZzATBgNVHSUEDDAKBggrBgEFBQcDATAPBgNVHQ8B\n"
++ "Af8EBQMDB6AAMB0GA1UdDgQWBBTrx0Vu5fglyoyNgw106YbU3VW0dTAfBgNVHSME\n"
++ "GDAWgBTpPBz7rZJu5gakViyi4cBTJ8jylTALBgkqhkiG9w0BAQUDgYEAaFEPTt+7\n"
++ "bzvBuOf7+QmeQcn29kT6Bsyh1RHJXf8KTk5QRfwp6ogbp94JQWcNQ/S7YDFHglD1\n"
++ "AwUNBRXwd3riUsMnsxgeSDxYBfJYbDLeohNBsqaPDJb7XailWbMQKfAbFQ8cnOxg\n"
++ "rOKLUQRWJ0K3HyXRMhbqjdLIaQiCvQLuizo=\n" "-----END CERTIFICATE-----\n";
++
++const gnutls_datum_t server_cert = { server_cert_pem,
++ sizeof(server_cert_pem)
++};
++
++static unsigned char server_key_pem[] =
++ "-----BEGIN RSA PRIVATE KEY-----\n"
++ "MIICXAIBAAKBgQDXulyvowzwLqknVqpTjqjrf4F1TGuYvkrqtx74S8NqxNoNALjq\n"
++ "TBMfNhaT3nLvxqResm62ygqIVXWQlu2mV7wMO3YNlx696ex/06ns+4VkoGugSM53\n"
++ "fnOcMRP/PciupWBu2baMWppvtr6far2n8KAzJ/W3HZLllpxzUtaf1siOsQIDAQAB\n"
++ "AoGAYAFyKkAYC/PYF8e7+X+tsVCHXppp8AoP8TEZuUqOZz/AArVlle/ROrypg5kl\n"
++ "8YunrvUdzH9R/KZ7saNZlAPLjZyFG9beL/am6Ai7q7Ma5HMqjGU8kTEGwD7K+lbG\n"
++ "iomokKMOl+kkbY/2sI5Czmbm+/PqLXOjtVc5RAsdbgvtmvkCQQDdV5QuU8jap8Hs\n"
++ "Eodv/tLJ2z4+SKCV2k/7FXSKWe0vlrq0cl2qZfoTUYRnKRBcWxc9o92DxK44wgPi\n"
++ "oMQS+O7fAkEA+YG+K9e60sj1K4NYbMPAbYILbZxORDecvP8lcphvwkOVUqbmxOGh\n"
++ "XRmTZUuhBrJhJKKf6u7gf3KWlPl6ShKEbwJASC118cF6nurTjuLf7YKARDjNTEws\n"
++ "qZEeQbdWYINAmCMj0RH2P0mvybrsXSOD5UoDAyO7aWuqkHGcCLv6FGG+qwJAOVqq\n"
++ "tXdUucl6GjOKKw5geIvRRrQMhb/m5scb+5iw8A4LEEHPgGiBaF5NtJZLALgWfo5n\n"
++ "hmC8+G8F0F78znQtPwJBANexu+Tg5KfOnzSILJMo3oXiXhf5PqXIDmbN0BKyCKAQ\n"
++ "LfkcEcUbVfmDaHpvzwY9VEaoMOKVLitETXdNSxVpvWM=\n"
++ "-----END RSA PRIVATE KEY-----\n";
++
++const gnutls_datum_t server_key = { server_key_pem,
++ sizeof(server_key_pem)
++};
++
++
++/* A very basic TLS client, with anonymous authentication.
++ */
++
++static void client(int fd, const char *prio)
++{
++ int ret;
++ gnutls_anon_client_credentials_t anoncred;
++ gnutls_certificate_credentials_t x509_cred;
++ gnutls_session_t session;
++ /* Need to enable anonymous KX specifically. */
++
++ gnutls_global_init();
++
++ if (debug) {
++ gnutls_global_set_log_function(client_log_func);
++ gnutls_global_set_log_level(7);
++ }
++
++ gnutls_anon_allocate_client_credentials(&anoncred);
++ gnutls_certificate_allocate_credentials(&x509_cred);
++
++ /* Initialize TLS session
++ */
++ gnutls_init(&session, GNUTLS_CLIENT);
++
++ /* Use default priorities */
++ gnutls_priority_set_direct(session, prio, NULL);
++
++ /* put the anonymous credentials to the current session
++ */
++ gnutls_credentials_set(session, GNUTLS_CRD_ANON, anoncred);
++ gnutls_credentials_set(session, GNUTLS_CRD_CERTIFICATE, x509_cred);
++
++ gnutls_transport_set_ptr (session, (gnutls_transport_ptr_t) fd);
++
++ /* Perform the TLS handshake
++ */
++ do {
++ ret = gnutls_handshake(session);
++ }
++ while (ret < 0 && gnutls_error_is_fatal(ret) == 0);
++
++ if (ret < 0) {
++ fprintf(stderr, "client: Handshake failed (expected)\n");
++ gnutls_perror(ret);
++ exit(0);
++ } else {
++ if (debug)
++ fprintf(stderr, "client: Handshake was completed\n");
++ }
++
++ close(fd);
++
++ gnutls_deinit(session);
++
++ gnutls_anon_free_client_credentials(anoncred);
++ gnutls_certificate_free_credentials(x509_cred);
++
++ gnutls_global_deinit();
++}
++
++
++/* These are global */
++pid_t child;
++
++static void terminate(int ret)
++{
++ kill(child, SIGTERM);
++ exit(ret);
++}
++
++static void server(int fd, const char *prio)
++{
++ int ret;
++ uint8_t id[255];
++ uint8_t buffer[] = "\x16\x03\x00\x01\x25"
++ "\x02\x00\x01\x21"
++ "\x03\x00"/*Server Version */
++ /*Random*/"\x00\x00\x00\x00\x01\x00\x00\x00\x00\x01\x00\x00\x00\x00\x01\x00\x00\x00\x00\x01\x00\x00\x00\x00\x01\x00\x00\x00\x00\x01\x00\x00"
++ /*SessionID*/"\xfe";
++
++ ret = read(fd, id, sizeof(id));
++ if (ret < 0) {
++ abort();
++ }
++
++ ret = write(fd, buffer, sizeof(buffer));
++ if (ret < 0) {
++ return;
++ }
++
++ memset(id, 0xff, sizeof(id));
++ ret = write(fd, id, sizeof(id));
++ if (ret < 0) {
++ return;
++ }
++
++ memset(id, 0xff, sizeof(id));
++ ret = write(fd, id, sizeof(id));
++ if (ret < 0) {
++ return;
++ }
++ sleep(3);
++
++ return;
++}
++
++static void start(const char *prio)
++{
++ int fd[2];
++ int ret;
++
++ ret = socketpair(AF_UNIX, SOCK_STREAM, 0, fd);
++ if (ret < 0) {
++ perror("socketpair");
++ exit(1);
++ }
++
++ child = fork();
++ if (child < 0) {
++ perror("fork");
++ exit(1);
++ }
++
++ if (child) {
++ /* parent */
++ close(fd[1]);
++ server(fd[0], prio);
++ kill(child, SIGTERM);
++ } else {
++ close(fd[0]);
++ client(fd[1], prio);
++ exit(0);
++ }
++}
++
++static void ch_handler(int sig)
++{
++ int status, ret = 0;
++ wait(&status);
++ if (WEXITSTATUS(status) != 0 ||
++ (WIFSIGNALED(status) && WTERMSIG(status) == SIGSEGV)) {
++ if (WIFSIGNALED(status)) {
++ fprintf(stderr, "Child died with sigsegv\n");
++ ret = 1;
++ } else {
++ fprintf(stderr, "Child died with status %d\n",
++ WEXITSTATUS(status));
++ }
++ terminate(ret);
++ }
++ return;
++}
++
++int main(int argc, char **argv)
++{
++ signal(SIGCHLD, ch_handler);
++
++ if (argc > 1)
++ debug = 1;
++
++ start("NORMAL");
++ return 0;
++}
++
++#endif /* _WIN32 */
diff --git a/patches/source/gnutls/gnutls-2.8.4_CVE-2014-3467.diff b/patches/source/gnutls/gnutls-2.8.4_CVE-2014-3467.diff
new file mode 100644
index 00000000..368e9ed9
--- /dev/null
+++ b/patches/source/gnutls/gnutls-2.8.4_CVE-2014-3467.diff
@@ -0,0 +1,45 @@
+From 314dc68b64bbc62cab5fd1b6a76a324e3cc8398b Mon Sep 17 00:00:00 2001
+From: mancha <mancha1@zoho.com>
+Date: Mon, 2 Jun 2014
+Subject: CVE-2014-3467
+
+This is a backport adaptation for use with GnuTLS 2.8.4.
+
+Relevant upstream commit(s):
+-------------------------
+http://git.savannah.gnu.org/cgit/libtasn1.git/commit/?id=ff3b5c68cc32e3
+http://git.savannah.gnu.org/cgit/libtasn1.git/commit/?id=51612fca32dda4
+
+---
+ lib/minitasn1/decoding.c | 6 +++---
+ 1 file changed, 3 insertions(+), 3 deletions(-)
+
+--- a/lib/minitasn1/decoding.c
++++ b/lib/minitasn1/decoding.c
+@@ -135,7 +135,7 @@ asn1_get_tag_der (const unsigned char *d
+ /* Long form */
+ punt = 1;
+ ris = 0;
+- while (punt <= der_len && der[punt] & 128)
++ while (punt < der_len && der[punt] & 128)
+ {
+ int last = ris;
+ ris = ris * 128 + (der[punt++] & 0x7F);
+@@ -245,7 +245,7 @@ _asn1_get_time_der (const unsigned char
+ if (der_len <= 0 || str == NULL)
+ return ASN1_DER_ERROR;
+ str_len = asn1_get_length_der (der, der_len, &len_len);
+- if (str_len < 0 || str_size < str_len)
++ if (str_len <= 0 || str_size < str_len)
+ return ASN1_DER_ERROR;
+ memcpy (str, der + len_len, str_len);
+ str[str_len] = 0;
+@@ -273,7 +273,7 @@ _asn1_get_objectid_der (const unsigned c
+ return ASN1_GENERIC_ERROR;
+ len = asn1_get_length_der (der, der_len, &len_len);
+
+- if (len < 0 || len > der_len || len_len > der_len)
++ if (len <= 0 || len > der_len || len_len > der_len)
+ return ASN1_DER_ERROR;
+
+ val1 = der[len_len] / 40;
diff --git a/patches/source/gnutls/gnutls-2.8.4_CVE-2014-3468.diff b/patches/source/gnutls/gnutls-2.8.4_CVE-2014-3468.diff
new file mode 100644
index 00000000..1a4549e5
--- /dev/null
+++ b/patches/source/gnutls/gnutls-2.8.4_CVE-2014-3468.diff
@@ -0,0 +1,45 @@
+From d5a10d4ff449621eed08a5c32d4390d49578602f Mon Sep 17 00:00:00 2001
+From: mancha <mancha1@zoho.com>
+Date: Mon, 2 Jun 2014
+Subject: CVE-2014-3468
+
+This is a backport adaptation for use with GnuTLS 2.8.4.
+
+Relevant upstream commit(s):
+-------------------------
+http://git.savannah.gnu.org/cgit/libtasn1.git/commit/?id=1c3ccb3e040bf1
+
+---
+ lib/minitasn1/decoding.c | 7 +++++--
+ 1 file changed, 5 insertions(+), 2 deletions(-)
+
+--- a/lib/minitasn1/decoding.c
++++ b/lib/minitasn1/decoding.c
+@@ -210,7 +210,7 @@ asn1_get_octet_der (const unsigned char
+ int *ret_len, unsigned char *str, int str_size,
+ int *str_len)
+ {
+- int len_len;
++ int len_len = 0;
+
+ if (der_len <= 0)
+ return ASN1_GENERIC_ERROR;
+@@ -335,7 +335,7 @@ asn1_get_bit_der (const unsigned char *d
+ int *ret_len, unsigned char *str, int str_size,
+ int *bit_len)
+ {
+- int len_len, len_byte;
++ int len_len = 0, len_byte;
+
+ if (der_len <= 0)
+ return ASN1_GENERIC_ERROR;
+@@ -346,6 +346,9 @@ asn1_get_bit_der (const unsigned char *d
+ *ret_len = len_byte + len_len + 1;
+ *bit_len = len_byte * 8 - der[len_len];
+
++ if (*bit_len <= 0)
++ return ASN1_DER_ERROR;
++
+ if (str_size >= len_byte)
+ memcpy (str, der + len_len + 1, len_byte);
+ else
diff --git a/patches/source/gnutls/gnutls-2.8.4_CVE-2014-3469.diff b/patches/source/gnutls/gnutls-2.8.4_CVE-2014-3469.diff
new file mode 100644
index 00000000..91522847
--- /dev/null
+++ b/patches/source/gnutls/gnutls-2.8.4_CVE-2014-3469.diff
@@ -0,0 +1,122 @@
+From aac80016867869e7eca20954db36a9d466daa43c Mon Sep 17 00:00:00 2001
+From: mancha <mancha1@zoho.com>
+Date: Mon, 2 Jun 2014
+Subject: CVE-2014-3469
+
+This is a backport adaptation for use with GnuTLS 2.8.4.
+
+Relevant upstream commit(s):
+-------------------------
+http://git.savannah.gnu.org/cgit/libtasn1.git/commit/?id=a8b3e14f84174e
+http://git.savannah.gnu.org/cgit/libtasn1.git/commit/?id=3d6a02f19ff15a
+http://git.savannah.gnu.org/cgit/libtasn1.git/commit/?id=53958290ab731c
+
+---
+ lib/minitasn1/decoding.c | 11 ++++++++---
+ lib/minitasn1/element.c | 27 ++++++++++++++++++---------
+ 2 files changed, 26 insertions(+), 12 deletions(-)
+
+--- a/lib/minitasn1/decoding.c
++++ b/lib/minitasn1/decoding.c
+@@ -215,7 +215,6 @@ asn1_get_octet_der (const unsigned char
+ if (der_len <= 0)
+ return ASN1_GENERIC_ERROR;
+
+- /* if(str==NULL) return ASN1_SUCCESS; */
+ *str_len = asn1_get_length_der (der, der_len, &len_len);
+
+ if (*str_len < 0)
+@@ -223,7 +222,10 @@ asn1_get_octet_der (const unsigned char
+
+ *ret_len = *str_len + len_len;
+ if (str_size >= *str_len)
+- memcpy (str, der + len_len, *str_len);
++ {
++ if (*str_len > 0 && str != NULL)
++ memcpy (str, der + len_len, *str_len);
++ }
+ else
+ {
+ return ASN1_MEM_ERROR;
+@@ -350,7 +352,10 @@ asn1_get_bit_der (const unsigned char *d
+ return ASN1_DER_ERROR;
+
+ if (str_size >= len_byte)
+- memcpy (str, der + len_len + 1, len_byte);
++ {
++ if (len_byte > 0 && str)
++ memcpy (str, der + len_len + 1, len_byte);
++ }
+ else
+ {
+ return ASN1_MEM_ERROR;
+--- a/lib/minitasn1/element.c
++++ b/lib/minitasn1/element.c
+@@ -113,8 +113,11 @@ _asn1_convert_integer (const unsigned ch
+ /* VALUE_OUT is too short to contain the value conversion */
+ return ASN1_MEM_ERROR;
+
+- for (k2 = k; k2 < SIZEOF_UNSIGNED_LONG_INT; k2++)
+- value_out[k2 - k] = val[k2];
++ if (value_out != NULL)
++ {
++ for (k2 = k; k2 < SIZEOF_UNSIGNED_LONG_INT; k2++)
++ value_out[k2 - k] = val[k2];
++ }
+
+ #if 0
+ printf ("_asn1_convert_integer: valueIn=%s, lenOut=%d", value, *len);
+@@ -623,7 +626,8 @@ asn1_write_value (asn1_node node_root, c
+ if (ptr_size < data_size) { \
+ return ASN1_MEM_ERROR; \
+ } else { \
+- memcpy( ptr, data, data_size); \
++ if (ptr && data_size > 0) \
++ memcpy( ptr, data, data_size); \
+ }
+
+ #define PUT_STR_VALUE( ptr, ptr_size, data) \
+@@ -632,16 +626,19 @@ asn1_write_value (asn1_node node_root, c
+ return ASN1_MEM_ERROR; \
+ } else { \
+ /* this strcpy is checked */ \
+- strcpy(ptr, data); \
++ if (ptr) { \
++ strcpy(ptr, data); \
++ } \
+ }
+
+ #define ADD_STR_VALUE( ptr, ptr_size, data) \
+- *len = (int) strlen(data) + 1; \
+- if (ptr_size < (int) strlen(ptr)+(*len)) { \
++ *len += strlen(data); \
++ if (ptr_size < (int) *len) { \
++ (*len)++; \
+ return ASN1_MEM_ERROR; \
+ } else { \
+ /* this strcat is checked */ \
+- strcat(ptr, data); \
++ if (ptr) strcat (ptr, data); \
+ }
+
+ /**
+@@ -803,7 +810,9 @@ asn1_read_value (asn1_node root, const c
+ case TYPE_OBJECT_ID:
+ if (node->type & CONST_ASSIGN)
+ {
+- value[0] = 0;
++ *len = 0;
++ if (value)
++ value[0] = 0;
+ p = node->down;
+ while (p)
+ {
+@@ -817,7 +826,7 @@ asn1_read_value (asn1_node root, const c
+ }
+ p = p->right;
+ }
+- *len = strlen (value) + 1;
++ (*len)++;
+ }
+ else if ((node->type & CONST_DEFAULT) && (node->value == NULL))
+ {
diff --git a/patches/source/gnutls/gnutls-2.8.4_fix-expired-cert.diff b/patches/source/gnutls/gnutls-2.8.4_fix-expired-cert.diff
new file mode 100644
index 00000000..cb0a8d56
--- /dev/null
+++ b/patches/source/gnutls/gnutls-2.8.4_fix-expired-cert.diff
@@ -0,0 +1,23 @@
+commit 45c1fd2912e1680e7aafda931a6acdf97c8f3c00
+Author: Simon Josefsson <simon@josefsson.org>
+Date: Tue Oct 20 11:27:13 2009 +0200
+
+ Fix expired cert.
+
+diff --git a/tests/chainverify.c b/tests/chainverify.c
+index 745cd7c..0192da2 100644
+--- a/tests/chainverify.c
++++ b/tests/chainverify.c
+@@ -701,8 +701,11 @@ static struct
+ { "rsa-md5 not ok", mayfirst_chain, &mayfirst_chain[1],
+ GNUTLS_VERIFY_ALLOW_SIGN_RSA_MD2,
+ GNUTLS_CERT_INSECURE_ALGORITHM | GNUTLS_CERT_INVALID },
++ { "rsa-md5 not ok2", mayfirst_chain, &mayfirst_chain[1],
++ GNUTLS_VERIFY_ALLOW_SIGN_RSA_MD5,
++ GNUTLS_CERT_EXPIRED | GNUTLS_CERT_INVALID },
+ { "rsa-md5 ok", mayfirst_chain, &mayfirst_chain[1],
+- GNUTLS_VERIFY_ALLOW_SIGN_RSA_MD5, 0 },
++ GNUTLS_VERIFY_DISABLE_TIME_CHECKS | GNUTLS_VERIFY_ALLOW_SIGN_RSA_MD5, 0 },
+ { "v1ca fail", v1ca, &v1ca[2],
+ 0, GNUTLS_CERT_SIGNER_NOT_CA | GNUTLS_CERT_INVALID },
+ { "v1ca expired", v1ca, &v1ca[2],
diff --git a/patches/source/gnutls/gnutls-2.8.4_fix-timebomb.diff b/patches/source/gnutls/gnutls-2.8.4_fix-timebomb.diff
new file mode 100644
index 00000000..38e14429
--- /dev/null
+++ b/patches/source/gnutls/gnutls-2.8.4_fix-timebomb.diff
@@ -0,0 +1,35 @@
+commit 087fdeec5076ae1270f460685d8d36a50d9c3822
+Author: Simon Josefsson <simon@josefsson.org>
+Date: Mon Nov 2 11:25:27 2009 +0100
+
+ Fix time bomb in chainverify self-test.
+
+ Reported by Andreas Metzler <ametzler@downhill.at.eu.org>
+ in <http://thread.gmane.org/gmane.comp.encryption.gpg.gnutls.devel/3925>.
+
+diff --git a/tests/chainverify.c b/tests/chainverify.c
+index 0192da2..16c59ee 100644
+--- a/tests/chainverify.c
++++ b/tests/chainverify.c
+@@ -32,6 +32,21 @@
+ #include <gnutls/gnutls.h>
+ #include <gnutls/x509.h>
+
++/* GnuTLS internally calls time() to find out the current time when
++ verifying certificates. To avoid a time bomb, we hard code the
++ current time. This should work fine on systems where the library
++ call to time is resolved at run-time. */
++time_t
++time (time_t *t)
++{
++ time_t then = 1256803113;
++
++ if (t)
++ *t = then;
++
++ return then;
++}
++
+ /* *INDENT-OFF* */
+
+ /* Triggers incorrect verification success on older versions */
diff --git a/patches/source/gnutls/gnutls-2.8.4_ipv6.diff b/patches/source/gnutls/gnutls-2.8.4_ipv6.diff
new file mode 100644
index 00000000..f6b2ac11
--- /dev/null
+++ b/patches/source/gnutls/gnutls-2.8.4_ipv6.diff
@@ -0,0 +1,51 @@
+From a32fb84bcc1b15b184b4fb0905be18532c04ecb3 Mon Sep 17 00:00:00 2001
+From: mancha <mancha1@hush.com>
+Date: Sun, 29 Sep 2013
+Subject: Fix binding of IPV6 address in gnutls-serv
+
+On Linux with /proc/sys/net/ipv6/bindv6only == 0 (which is now the
+default), gnutls-serv cannot listen on ipv6.
+
+Fix adapted for use with GnuTLS 2.8.4.
+
+Relevant upstream commits:
+--------------------------
+https://gitorious.org/gnutls/gnutls/commit/1c315602306afc
+https://gitorious.org/gnutls/gnutls/commit/9c1536d514dd83
+
+---
+ serv.c | 16 ++++++++++++++++
+ 1 file changed, 16 insertions(+)
+
+--- a/src/serv.c 2013-09-29
++++ b/src/serv.c 2013-09-29
+@@ -673,6 +673,11 @@ listen_socket (const char *name, int lis
+
+ for (ptr = res; ptr != NULL; ptr = ptr->ai_next)
+ {
++#ifndef HAVE_IPV6
++ if (ptr->ai_family != AF_INET)
++ continue;
++#endif
++
+ /* Print what we are doing. */
+ {
+ char topbuf[512];
+@@ -690,6 +695,17 @@ listen_socket (const char *name, int lis
+ continue;
+ }
+
++#if defined(HAVE_IPV6) && !defined(_WIN32)
++ if (ptr->ai_family == AF_INET6)
++ {
++ yes = 1;
++ /* avoid listen on ipv6 addresses failing
++ * because already listening on ipv4 addresses: */
++ setsockopt (s, IPPROTO_IPV6, IPV6_V6ONLY,
++ (const void *) &yes, sizeof (yes));
++ }
++#endif
++
+ yes = 1;
+ if (setsockopt (s, SOL_SOCKET, SO_REUSEADDR,
+ (const void *) &yes, sizeof (yes)) < 0)
diff --git a/patches/source/gnutls/gnutls-2.8.4_libgcrypt150-fix.diff b/patches/source/gnutls/gnutls-2.8.4_libgcrypt150-fix.diff
new file mode 100644
index 00000000..6f1f19c5
--- /dev/null
+++ b/patches/source/gnutls/gnutls-2.8.4_libgcrypt150-fix.diff
@@ -0,0 +1,162 @@
+From 96fb09172b20200d5f7c5a2f883d482510993f19 Mon Sep 17 00:00:00 2001
+From: mancha <mancha1@hush.com>
+Date: Sun, 29 Sep 2013
+Subject: Fix problem when using libgcrypt 1.5.0+
+
+Fix GnuTLS to not rely on a bug present in libgcrypt before 1.5.0
+in gcry_sexp_nth_mpi().
+
+Relevant discussion:
+--------------------
+https://lists.gnu.org/archive/html/gnutls-devel/2011-07/msg00006.html
+
+---
+ pk-libgcrypt.c | 32 ++++++++++++++++----------------
+ 1 file changed, 16 insertions(+), 16 deletions(-)
+
+--- a/lib/pk-libgcrypt.c 2013-09-27
++++ b/lib/pk-libgcrypt.c 2013-09-27
+@@ -112,7 +112,7 @@ _wrap_gcry_pk_encrypt (gnutls_pk_algorit
+ goto cleanup;
+ }
+
+- res = gcry_sexp_nth_mpi (list, 1, 0);
++ res = gcry_sexp_nth_mpi (list, 1, GCRYMPI_FMT_USG);
+ gcry_sexp_release (list);
+ if (res == NULL)
+ {
+@@ -202,7 +202,7 @@ _wrap_gcry_pk_decrypt (gnutls_pk_algorit
+ goto cleanup;
+ }
+
+- res = gcry_sexp_nth_mpi (s_plain, 0, 0);
++ res = gcry_sexp_nth_mpi (s_plain, 0, GCRYMPI_FMT_USG);
+ if (res == NULL)
+ {
+ gnutls_assert ();
+@@ -327,7 +327,7 @@ _wrap_gcry_pk_sign (gnutls_pk_algorithm_
+ goto cleanup;
+ }
+
+- res[0] = gcry_sexp_nth_mpi (list, 1, 0);
++ res[0] = gcry_sexp_nth_mpi (list, 1, GCRYMPI_FMT_USG);
+ gcry_sexp_release (list);
+
+ list = gcry_sexp_find_token (s_sig, "s", 0);
+@@ -338,7 +338,7 @@ _wrap_gcry_pk_sign (gnutls_pk_algorithm_
+ goto cleanup;
+ }
+
+- res[1] = gcry_sexp_nth_mpi (list, 1, 0);
++ res[1] = gcry_sexp_nth_mpi (list, 1, GCRYMPI_FMT_USG);
+ gcry_sexp_release (list);
+
+ ret = _gnutls_encode_ber_rs (signature, res[0], res[1]);
+@@ -360,7 +360,7 @@ _wrap_gcry_pk_sign (gnutls_pk_algorithm_
+ goto cleanup;
+ }
+
+- res[0] = gcry_sexp_nth_mpi (list, 1, 0);
++ res[0] = gcry_sexp_nth_mpi (list, 1, GCRYMPI_FMT_USG);
+ gcry_sexp_release (list);
+
+ ret = _gnutls_mpi_dprint (res[0], signature);
+@@ -559,7 +559,7 @@ _dsa_generate_params (bigint_t * resarr,
+ return GNUTLS_E_INTERNAL_ERROR;
+ }
+
+- resarr[0] = gcry_sexp_nth_mpi (list, 1, 0);
++ resarr[0] = gcry_sexp_nth_mpi (list, 1, GCRYMPI_FMT_USG);
+ gcry_sexp_release (list);
+
+ list = gcry_sexp_find_token (key, "q", 0);
+@@ -570,7 +570,7 @@ _dsa_generate_params (bigint_t * resarr,
+ return GNUTLS_E_INTERNAL_ERROR;
+ }
+
+- resarr[1] = gcry_sexp_nth_mpi (list, 1, 0);
++ resarr[1] = gcry_sexp_nth_mpi (list, 1, GCRYMPI_FMT_USG);
+ gcry_sexp_release (list);
+
+ list = gcry_sexp_find_token (key, "g", 0);
+@@ -581,7 +581,7 @@ _dsa_generate_params (bigint_t * resarr,
+ return GNUTLS_E_INTERNAL_ERROR;
+ }
+
+- resarr[2] = gcry_sexp_nth_mpi (list, 1, 0);
++ resarr[2] = gcry_sexp_nth_mpi (list, 1, GCRYMPI_FMT_USG);
+ gcry_sexp_release (list);
+
+ list = gcry_sexp_find_token (key, "y", 0);
+@@ -592,7 +592,7 @@ _dsa_generate_params (bigint_t * resarr,
+ return GNUTLS_E_INTERNAL_ERROR;
+ }
+
+- resarr[3] = gcry_sexp_nth_mpi (list, 1, 0);
++ resarr[3] = gcry_sexp_nth_mpi (list, 1, GCRYMPI_FMT_USG);
+ gcry_sexp_release (list);
+
+
+@@ -604,7 +604,7 @@ _dsa_generate_params (bigint_t * resarr,
+ return GNUTLS_E_INTERNAL_ERROR;
+ }
+
+- resarr[4] = gcry_sexp_nth_mpi (list, 1, 0);
++ resarr[4] = gcry_sexp_nth_mpi (list, 1, GCRYMPI_FMT_USG);
+
+ gcry_sexp_release (list);
+ gcry_sexp_release (key);
+@@ -653,7 +653,7 @@ _rsa_generate_params (bigint_t * resarr,
+ return GNUTLS_E_INTERNAL_ERROR;
+ }
+
+- resarr[0] = gcry_sexp_nth_mpi (list, 1, 0);
++ resarr[0] = gcry_sexp_nth_mpi (list, 1, GCRYMPI_FMT_USG);
+ gcry_sexp_release (list);
+
+ list = gcry_sexp_find_token (key, "e", 0);
+@@ -664,7 +664,7 @@ _rsa_generate_params (bigint_t * resarr,
+ return GNUTLS_E_INTERNAL_ERROR;
+ }
+
+- resarr[1] = gcry_sexp_nth_mpi (list, 1, 0);
++ resarr[1] = gcry_sexp_nth_mpi (list, 1, GCRYMPI_FMT_USG);
+ gcry_sexp_release (list);
+
+ list = gcry_sexp_find_token (key, "d", 0);
+@@ -675,7 +675,7 @@ _rsa_generate_params (bigint_t * resarr,
+ return GNUTLS_E_INTERNAL_ERROR;
+ }
+
+- resarr[2] = gcry_sexp_nth_mpi (list, 1, 0);
++ resarr[2] = gcry_sexp_nth_mpi (list, 1, GCRYMPI_FMT_USG);
+ gcry_sexp_release (list);
+
+ list = gcry_sexp_find_token (key, "p", 0);
+@@ -686,7 +686,7 @@ _rsa_generate_params (bigint_t * resarr,
+ return GNUTLS_E_INTERNAL_ERROR;
+ }
+
+- resarr[3] = gcry_sexp_nth_mpi (list, 1, 0);
++ resarr[3] = gcry_sexp_nth_mpi (list, 1, GCRYMPI_FMT_USG);
+ gcry_sexp_release (list);
+
+
+@@ -698,7 +698,7 @@ _rsa_generate_params (bigint_t * resarr,
+ return GNUTLS_E_INTERNAL_ERROR;
+ }
+
+- resarr[4] = gcry_sexp_nth_mpi (list, 1, 0);
++ resarr[4] = gcry_sexp_nth_mpi (list, 1, GCRYMPI_FMT_USG);
+ gcry_sexp_release (list);
+
+
+@@ -710,7 +710,7 @@ _rsa_generate_params (bigint_t * resarr,
+ return GNUTLS_E_INTERNAL_ERROR;
+ }
+
+- resarr[5] = gcry_sexp_nth_mpi (list, 1, 0);
++ resarr[5] = gcry_sexp_nth_mpi (list, 1, GCRYMPI_FMT_USG);
+
+ gcry_sexp_release (list);
+ gcry_sexp_release (key);
diff --git a/patches/source/gnutls/gnutls.SlackBuild b/patches/source/gnutls/gnutls.SlackBuild
new file mode 100755
index 00000000..2473e217
--- /dev/null
+++ b/patches/source/gnutls/gnutls.SlackBuild
@@ -0,0 +1,138 @@
+#!/bin/sh
+
+# Copyright 2007 Robby Workman (http://rlworkman.net)
+# Copyright 2007, 2008, 2009, 2014 Patrick Volkerding, Sebeka, MN, USA
+# All rights reserved.
+#
+# Redistribution and use of this script, with or without modification, is
+# permitted provided that the following conditions are met:
+#
+# 1. Redistributions of this script must retain the above copyright
+# notice, this list of conditions and the following disclaimer.
+#
+# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED
+# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
+# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
+# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+PKGNAM=gnutls
+VERSION=2.8.4
+BUILD=${BUILD:-4_slack13.0}
+
+# Automatically determine the architecture we're building on:
+if [ -z "$ARCH" ]; then
+ case "$(uname -m)" in
+ i?86) ARCH=i486 ;;
+ arm*) readelf /usr/bin/file -A | egrep -q "Tag_CPU.*[4,5]" && ARCH=arm || ARCH=armv7lh ;;
+ # Unless $ARCH is already set, use uname -m for all other archs:
+ *) ARCH=$(uname -m) ;;
+ esac
+ export ARCH
+fi
+
+NUMJOBS=${NUMJOBS:-" -j7 "}
+
+if [ "$ARCH" = "i486" ]; then
+ SLKCFLAGS="-O2 -march=i486 -mtune=i686"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "s390" ]; then
+ SLKCFLAGS="-O2"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "x86_64" ]; then
+ SLKCFLAGS="-O2 -fPIC"
+ LIBDIRSUFFIX="64"
+fi
+
+CWD=$(pwd)
+TMP=${TMP:-/tmp}
+PKG=$TMP/package-$PKGNAM
+rm -rf $PKG
+mkdir -p $TMP $PKG
+
+cd $TMP
+
+rm -rf $PKGNAM-$VERSION
+if [ -r $CWD/$PKGNAM-$VERSION.tar.gz ]; then
+ tar xf $CWD/$PKGNAM-$VERSION.tar.gz || exit 1
+elif [ -r $CWD/$PKGNAM-$VERSION.tar.bz2 ]; then
+ tar xf $CWD/$PKGNAM-$VERSION.tar.bz2 || exit 1
+elif [ -r $CWD/$PKGNAM-$VERSION.tar.xz ]; then
+ tar xf $CWD/$PKGNAM-$VERSION.tar.xz || exit 1
+elif [ -r $CWD/$PKGNAM-$VERSION.tar.lzma ]; then
+ tar xf $CWD/$PKGNAM-$VERSION.tar.lzma || exit 1
+else
+ exit 1
+fi
+
+
+cd $PKGNAM-$VERSION
+chown -R root:root .
+find . \
+ \( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \
+ -exec chmod 755 {} \; -o \
+ \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \
+ -exec chmod 644 {} \;
+
+zcat $CWD/gnutls-2.8.4_CVE-2009-3555.diff.gz | patch -p1 --verbose || exit 1
+zcat $CWD/gnutls-2.8.4_CVE-2011-4128.diff.gz | patch -p1 --verbose || exit 1
+zcat $CWD/gnutls-2.8.4_CVE-2012-1569.diff.gz | patch -p1 --verbose || exit 1
+zcat $CWD/gnutls-2.8.4_CVE-2012-1573.diff.gz | patch -p1 --verbose || exit 1
+zcat $CWD/gnutls-2.8.4_CVE-2013-1619_CVE-2013-2116.diff.gz | patch -p1 --verbose || exit 1
+zcat $CWD/gnutls-2.8.4_libgcrypt150-fix.diff.gz | patch -p1 --verbose || exit 1
+zcat $CWD/gnutls-2.8.4_fix-expired-cert.diff.gz | patch -p1 --verbose || exit 1
+zcat $CWD/gnutls-2.8.4_fix-timebomb.diff.gz | patch -p1 --verbose || exit 1
+zcat $CWD/gnutls-2.8.4_ipv6.diff.gz | patch -p1 --verbose || exit 1
+zcat $CWD/gnutls-2.8.4_CVE-2014-0092.diff.gz | patch -p1 --verbose || exit 1
+zcat $CWD/gnutls-2.8.4_CVE-2014-3466.diff.gz | patch -p1 --verbose || exit 1
+zcat $CWD/gnutls-2.8.4_CVE-2014-3467.diff.gz | patch -p1 --verbose || exit 1
+zcat $CWD/gnutls-2.8.4_CVE-2014-3468.diff.gz | patch -p1 --verbose || exit 1
+zcat $CWD/gnutls-2.8.4_CVE-2014-3469.diff.gz | patch -p1 --verbose || exit 1
+
+
+CFLAGS="$SLKCFLAGS" \
+CXXFLAGS="$SLKCFLAGS" \
+./configure \
+ --prefix=/usr \
+ --libdir=/usr/lib${LIBDIRSUFFIX} \
+ --sysconfdir=/etc \
+ --localstatedir=/var \
+ --infodir=/usr/info \
+ --mandir=/usr/man \
+ --enable-static=no \
+ --build=$ARCH-slackware-linux \
+ --host=$ARCH-slackware-linux
+
+make $NUMJOBS || make || exit 1
+make install DESTDIR=$PKG || exit 1
+
+find $PKG | xargs file | grep -e "executable" -e "shared object" | grep ELF \
+ | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
+
+( cd $PKG/usr/man
+ find . -type f -exec gzip -9 {} \;
+ for i in $(find . -type l) ; do ln -s $( readlink $i ).gz $i.gz ; rm $i ; done
+)
+
+( cd $PKG/usr/info
+ rm -f dir
+ gzip -9 *.info*
+)
+
+mkdir -p $PKG/usr/doc/$PKGNAM-$VERSION
+cp -a \
+ ABOUT-NLS AUTHORS COPYING* INSTALL NEWS README* THANKS \
+ $PKG/usr/doc/$PKGNAM-$VERSION
+
+mkdir -p $PKG/install
+cat $CWD/slack-desc > $PKG/install/slack-desc
+
+cd $PKG
+/sbin/makepkg -l y -c n -p $TMP/$PKGNAM-$VERSION-$ARCH-$BUILD.txz
+
diff --git a/patches/source/gnutls/slack-desc b/patches/source/gnutls/slack-desc
new file mode 100644
index 00000000..49fdb9f0
--- /dev/null
+++ b/patches/source/gnutls/slack-desc
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|'
+# on the right side marks the last column you can put a character in. You must
+# make exactly 11 lines for the formatting to be correct. It's also
+# customary to leave one space after the ':'.
+
+ |-----handy-ruler------------------------------------------------------|
+gnutls: gnutls (GNU TLS library)
+gnutls:
+gnutls: This is a TLS (Transport Layer Security) 1.0 and SSL (Secure Sockets
+gnutls: Layer) 3.0 implementation. In brief, GnuTLS can be described as a
+gnutls: library which offers an API to access secure communication protocols.
+gnutls: These protocols provide privacy over insecure lines, and were designed
+gnutls: to prevent eavesdropping, tampering, or message forgery.
+gnutls:
+gnutls: Homepage: http://www.gnu.org/software/gnutls/
+gnutls:
+gnutls:
diff --git a/patches/source/gzip/gzip.SlackBuild b/patches/source/gzip/gzip.SlackBuild
new file mode 100755
index 00000000..0eb42649
--- /dev/null
+++ b/patches/source/gzip/gzip.SlackBuild
@@ -0,0 +1,170 @@
+#!/bin/sh
+
+# Copyright 2006-2010 Patrick J. Volkerding, Sebeka, MN, USA
+# All rights reserved.
+#
+# Redistribution and use of this script, with or without modification, is
+# permitted provided that the following conditions are met:
+#
+# 1. Redistributions of this script must retain the above copyright
+# notice, this list of conditions and the following disclaimer.
+#
+# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED
+# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
+# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
+# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+PKGNAM=gzip
+VERSION=${VERSION:-1.4}
+BUILD=${BUILD:-1_slack13.0}
+
+NUMJOBS=${NUMJOBS:--j6}
+
+# Automatically determine the architecture we're building on:
+if [ -z "$ARCH" ]; then
+ case "$( uname -m )" in
+ i?86) export ARCH=i486 ;;
+ arm*) export ARCH=arm ;;
+ # Unless $ARCH is already set, use uname -m for all other archs:
+ *) export ARCH=$( uname -m ) ;;
+ esac
+fi
+
+CWD=$(pwd)
+TMP=${TMP:-/tmp}
+PKG=$TMP/package-${PKGNAM}
+
+if [ "$ARCH" = "i386" ]; then
+ SLKCFLAGS="-O2 -march=i386 -mcpu=i686"
+elif [ "$ARCH" = "i486" ]; then
+ SLKCFLAGS="-O2 -march=i486 -mtune=i686"
+elif [ "$ARCH" = "s390" ]; then
+ SLKCFLAGS="-O2"
+elif [ "$ARCH" = "x86_64" ]; then
+ SLKCFLAGS="-O2 -fPIC"
+else
+ SLKCFLAGS="-O2"
+fi
+
+rm -rf $PKG
+mkdir -p $TMP $PKG
+
+cd $TMP
+rm -rf ${PKGNAM}-${VERSION}
+tar xvf $CWD/${PKGNAM}-$VERSION.tar.xz || exit 1
+cd ${PKGNAM}-$VERSION
+
+# Make sure ownerships and permissions are sane:
+chown -R root:root .
+find . \
+ \( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \
+ -exec chmod 755 {} \; -o \
+ \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \
+ -exec chmod 644 {} \;
+
+# The following command renames the internal implementation of futimens
+# to gl_futimens as newer versions of Glibc provide an incompatible version:
+sed -i -e "s/futimens/gl_&/" $(grep -lr futimens *)
+
+# Configure:
+CFLAGS="$SLKCFLAGS" \
+./configure \
+ --prefix=/usr \
+ --bindir=/bin \
+ --mandir=/usr/man \
+ --infodir=/usr/info \
+ --build=$ARCH-slackware-linux
+
+# Build and install:
+make $NUMJOBS || make || exit 1
+make install DESTDIR=$PKG || exit 1
+
+# The ncompress package already has this:
+rm -f $PKG/bin/uncompress
+
+# Strip binaries:
+( cd $PKG
+ find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | \
+ xargs strip --strip-unneeded 2> /dev/null
+ find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | \
+ xargs strip --strip-unneeded 2> /dev/null
+)
+
+# Fix locations:
+#( cd $PKG
+ #mkdir bin
+ #mv usr/bin/gzip bin
+ #( cd bin ; rm -rf gunzip )
+ #( cd bin ; ln -sf gzip gunzip )
+ #( cd bin ; rm -rf zcat )
+ #( cd bin ; ln -sf gzip zcat )
+ #( cd usr/bin ; rm -rf gzip )
+ #( cd usr/bin ; ln -sf ../../bin/gzip gzip )
+ #( cd usr/bin ; rm -rf gunzip )
+ #( cd usr/bin ; ln -sf ../../bin/gunzip gunzip )
+ #( cd usr/bin ; rm -rf zcat )
+ #( cd usr/bin ; ln -sf ../../bin/zcat zcat )
+ #( cd usr/bin ; rm -rf zcmp )
+ #( cd usr/bin ; ln -sf zdiff zcmp )
+ #( cd usr/bin ; rm -rf zegrep )
+ #( cd usr/bin ; ln -sf zgrep zegrep )
+ #( cd usr/bin ; rm -rf zfgrep )
+ #( cd usr/bin ; ln -sf zgrep zfgrep )
+#)
+
+mkdir -p $PKG/usr/bin
+( cd $PKG/bin
+ for file in * ; do
+ ( cd $PKG/usr/bin ; ln -sf ../../bin/$file . )
+ done
+)
+
+# Compress and link manpages, if any:
+if [ -d $PKG/usr/man ]; then
+ ( cd $PKG/usr/man
+ for manpagedir in $(find . -type d -name "man*") ; do
+ ( cd $manpagedir
+ for eachpage in $( find . -type l -maxdepth 1) ; do
+ ln -s $( readlink $eachpage ).gz $eachpage.gz
+ rm $eachpage
+ done
+ gzip -9 *.?
+ )
+ done
+ )
+fi
+
+# Compress info files, if any:
+if [ -d $PKG/usr/info ]; then
+ ( cd $PKG/usr/info
+ rm -f dir
+ gzip -9 *
+ )
+fi
+
+# Add a documentation directory:
+mkdir -p $PKG/usr/doc/${PKGNAM}-$VERSION
+cp -a \
+ AUTHORS COPYING INSTALL NEWS README README-alpha THANKS TODO \
+ $PKG/usr/doc/${PKGNAM}-$VERSION
+
+# If there's a ChangeLog, installing at least part of the recent history
+# is useful, but don't let it get totally out of control:
+if [ -r ChangeLog ]; then
+ DOCSDIR=$(echo $PKG/usr/doc/*-$VERSION)
+ cat ChangeLog | head -n 1000 > $DOCSDIR/ChangeLog
+ touch -r ChangeLog $DOCSDIR/ChangeLog
+fi
+
+mkdir -p $PKG/install
+cat $CWD/slack-desc > $PKG/install/slack-desc
+
+cd $TMP/package-${PKGNAM}
+/sbin/makepkg -l y -c n $TMP/${PKGNAM}-$VERSION-$ARCH-$BUILD.tgz
+
diff --git a/patches/source/gzip/slack-desc b/patches/source/gzip/slack-desc
new file mode 100644
index 00000000..ef26d586
--- /dev/null
+++ b/patches/source/gzip/slack-desc
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|'
+# on the right side marks the last column you can put a character in. You must
+# make exactly 11 lines for the formatting to be correct. It's also
+# customary to leave one space after the ':'.
+
+ |-----handy-ruler------------------------------------------------------|
+gzip: gzip (file compression utility)
+gzip:
+gzip: Gzip reduces the size of the named files using Lempel-Ziv coding
+gzip: (LZ77). Whenever possible, each file is replaced by one with the
+gzip: extension .gz, while keeping the same ownership modes, access and
+gzip: modification times.
+gzip:
+gzip:
+gzip:
+gzip:
+gzip:
diff --git a/patches/source/hplip/doinst.sh b/patches/source/hplip/doinst.sh
new file mode 100644
index 00000000..8f9648e0
--- /dev/null
+++ b/patches/source/hplip/doinst.sh
@@ -0,0 +1,4 @@
+if [ -x /usr/bin/update-desktop-database ]; then
+ /usr/bin/update-desktop-database /usr/share/applications >/dev/null 2>&1
+fi
+
diff --git a/patches/source/hplip/hplip.CVE-2010-4267.diff b/patches/source/hplip/hplip.CVE-2010-4267.diff
new file mode 100644
index 00000000..d7adcdba
--- /dev/null
+++ b/patches/source/hplip/hplip.CVE-2010-4267.diff
@@ -0,0 +1,12 @@
+--- hplip-3.10.2.orig/io/hpmud/pml.c 2010-12-06 13:35:12.046894255 -0500
++++ hplip-3.10.2.orig/io/hpmud/pml.c 2010-12-06 13:34:35.018894207 -0500
+@@ -504,6 +504,8 @@ enum HPMUD_RESULT hpmud_get_pml(HPMUD_DE
+ p += 2; /* eat type and length */
+ }
+
++ if (dLen > buf_size)
++ dLen = buf_size;
+ memcpy(buf, p, dLen);
+ *bytes_read = dLen;
+ *type = dt;
+
diff --git a/patches/source/hplip/hplip.SlackBuild b/patches/source/hplip/hplip.SlackBuild
new file mode 100755
index 00000000..7f8e421c
--- /dev/null
+++ b/patches/source/hplip/hplip.SlackBuild
@@ -0,0 +1,123 @@
+#!/bin/sh
+
+# Slackware build script for hplip
+
+# Copyright 2006-2009 Robby Workman, Northport, Alabama, USA
+# Copyright 2006-2009 Patrick J. Volkerding, Sebeka, MN, USA
+# All rights reserved.
+#
+# Redistribution and use of this script, with or without modification, is
+# permitted provided that the following conditions are met:
+#
+# 1. Redistributions of this script must retain the above copyright
+# notice, this list of conditions and the following disclaimer.
+#
+# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ''AS IS'' AND ANY EXPRESS OR IMPLIED
+# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
+# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
+# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+PRGNAM=hplip
+VERSION=${VERSION:-3.9.4b}
+BUILD=${BUILD:-3_slack13.0}
+
+# Automatically determine the architecture we're building on:
+if [ -z "$ARCH" ]; then
+ case "$( uname -m )" in
+ i?86) export ARCH=i486 ;;
+ arm*) export ARCH=arm ;;
+ # Unless $ARCH is already set, use uname -m for all other archs:
+ *) export ARCH=$( uname -m ) ;;
+ esac
+fi
+
+NUMJOBS=${NUMJOBS:-" -j7 "}
+
+if [ "$ARCH" = "i486" ]; then
+ SLKCFLAGS="-O2 -march=i486 -mtune=i686"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "s390" ]; then
+ SLKCFLAGS="-O2"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "x86_64" ]; then
+ SLKCFLAGS="-O2 -fPIC"
+ LIBDIRSUFFIX="64"
+fi
+
+CWD=$(pwd)
+TMP=${TMP:-/tmp}
+PKG=$TMP/package-$PRGNAM
+
+rm -rf $PKG
+mkdir -p $TMP $PKG
+
+cd $TMP
+rm -rf $PRGNAM-$VERSION
+tar xvf $CWD/$PRGNAM-$VERSION.tar.bz2 || exit 1
+cd $PRGNAM-$VERSION || exit 1
+
+zcat $CWD/hplip.CVE-2010-4267.diff.gz | patch -p1 --verbose || exit 1
+
+chown -R root:root .
+find . \
+ \( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \
+ -exec chmod 755 {} \; -o \
+ \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \
+ -exec chmod 644 {} \;
+
+# Fix a segfault bug
+zcat $CWD/hplip.prevent_segfault.diff.gz | patch -p1 || exit 1
+
+# Fix udev rules for current versions of udev
+sed -i 's/SYSFS/ATTR/g' data/rules/*.rules
+# Fix ownership in udev rules file
+sed -i 's%OWNER="lp"%OWNER="root"%g' data/rules/*.rules
+
+CFLAGS="$SLKCFLAGS" \
+CXXFLAGS="$SLKCFLAGS" \
+./configure \
+ --prefix=/usr \
+ --libdir=/usr/lib${LIBDIRSUFFIX} \
+ --with-cupsbackenddir=/usr/lib${LIBDIRSUFFIX}/cups/backend \
+ --with-cupsfilterdir=/usr/lib${LIBDIRSUFFIX}/cups/filter \
+ --sysconfdir=/etc \
+ --localstatedir=/var \
+ --docdir=/usr/doc/hplip-$VERSION \
+ --with-docdir=/usr/doc/hplip-$VERSION \
+ --with-hpppddir=/usr/share/cups/model/HP \
+ --with-drvdir=/usr/share/cups/drv/hp \
+ --enable-shadow-build \
+ --enable-scan-build \
+ --enable-gui-build \
+ --enable-fax-build \
+ --enable-foomatic-rip-hplip-install \
+ --disable-foomatic-ppd-install \
+ --enable-foomatic-drv-install \
+ --enable-network-build=yes \
+ --enable-qt4 \
+ --build=$ARCH-slackware-linux \
+ --host=$ARCH-slackware-linux \
+ || exit 1
+
+make $NUMJOBS || make || exit 1
+make install DESTDIR=$PKG rulesdir=/lib/udev/rules.d || exit 1
+
+find $PKG | xargs file | grep -e "executable" -e "shared object" | grep ELF \
+ | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
+
+# No thanks, we don't replace/add files which are part of other packages
+rm -rf $PKG/etc/sane.d
+
+mkdir -p $PKG/install
+cat $CWD/slack-desc > $PKG/install/slack-desc
+zcat $CWD/doinst.sh.gz > $PKG/install/doinst.sh
+
+cd $PKG
+/sbin/makepkg -l y -c n $TMP/$PRGNAM-$VERSION-$ARCH-$BUILD.txz
+
diff --git a/patches/source/hplip/hplip.prevent_segfault.diff b/patches/source/hplip/hplip.prevent_segfault.diff
new file mode 100644
index 00000000..1021a2e6
--- /dev/null
+++ b/patches/source/hplip/hplip.prevent_segfault.diff
@@ -0,0 +1,23 @@
+Thanks to Tim Waugh <twaugh redhat com> for the patch
+Prevent crash when DEVICE_URI/PRINTER environment variables are not
+ set (https://bugzilla.redhat.com/show_bug.cgi?id=479808 comment 6)
+
+diff -Nur hplip-3.9.4b.old/prnt/hpijs/hpijs.cpp hplip-3.9.4b.new/prnt/hpijs/hpijs.cpp
+--- hplip-3.9.4b.old/prnt/hpijs/hpijs.cpp 2009-04-29 15:36:54.000000000 -0500
++++ hplip-3.9.4b.new/prnt/hpijs/hpijs.cpp 2009-06-09 00:41:44.684172840 -0500
+@@ -218,8 +218,14 @@
+ // call dbus here
+ const char *user_name = " ";
+ const char *title = " ";
++ char *device_uri = getenv ("DEVICE_URI");
++ char *printer = getenv("PRINTER");
+ int job_id = 0;
+- SendDbusMessage (getenv ("DEVICE_URI"), getenv("PRINTER"),
++ if (!device_uri)
++ device_uri = "";
++ if (!printer)
++ printer = "";
++ SendDbusMessage (device_uri, printer,
+ EVENT_PRINT_FAILED_MISSING_PLUGIN,
+ user_name, job_id, title);
+ BUG("unable to set device=%s, err=%d\n", svalue, r);
diff --git a/patches/source/hplip/slack-desc b/patches/source/hplip/slack-desc
new file mode 100644
index 00000000..874e6ed6
--- /dev/null
+++ b/patches/source/hplip/slack-desc
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|' on
+# the right side marks the last column you can put a character in. You must make
+# exactly 11 lines for the formatting to be correct. It's also customary to
+# leave one space after the ':'.
+
+ |-----handy-ruler--------------------------------------------------------|
+hplip: hplip (HP print/scan/fax support)
+hplip:
+hplip: HPLIP is an HP developed solution for printing, scanning, and faxing
+hplip: with HP inkjet and laser based printers in Linux. The HPLIP project
+hplip: provides printing support for more than 1400 HP printer models,
+hplip: including Deskjet, Officejet, Photosmart, PSC (Print Scan Copy),
+hplip: Business Inkjet, LaserJet, and LaserJet MFP.
+hplip:
+hplip: For more information, see: http://hplipopensource.com
+hplip:
+hplip:
diff --git a/patches/source/httpd/README b/patches/source/httpd/README
new file mode 100644
index 00000000..796bb29a
--- /dev/null
+++ b/patches/source/httpd/README
@@ -0,0 +1,34 @@
+WARNING
+
+This script builds a package that conflicts with apache1. Before
+attempting to install this package, you should uninstall any of
+these packages that you find on your system:
+
+apache
+mod_ssl
+php
+
+Really though, the only points of overlap are in /usr/sbin, so if you
+leave your old packages in place apache2 will still work, but the
+apache1 httpd will have been overwritten (along with other files)
+
+Apache is the most popular web server in the known universe; over half
+the servers on the Internet are running Apache or one of its variants.
+
+By default, we build apache2 with the traditional "apache prefork" multi
+processing module (MPM). This is somewhat safer for the use of mod_php,
+but can still carry some security risks (all your php scripts run as the
+user configured to run apache2).
+
+For enhanced multi-threaded performance, use "apache worker", but using
+mod_php with "worker" is considered dangerous. PHP Core is multi-thread
+safe, but many PHP extensions are *NOT*. To build apache2 with the
+worker MPM, change the option to: --with-mpm=worker
+
+Please note that this script does not build apache2 with SuEXEC support.
+The Apache group feels SuEXEC should not be part of a default install.
+If you need this functionality, please read the following documentation
+and make the necessary changes to the ./configure options in the script.
+
+ http://httpd.apache.org/docs/2.0/suexec.html
+
diff --git a/patches/source/httpd/apache-2.2.CVE-2017-9798.optionsbleed.patch b/patches/source/httpd/apache-2.2.CVE-2017-9798.optionsbleed.patch
new file mode 100644
index 00000000..4c3ebaab
--- /dev/null
+++ b/patches/source/httpd/apache-2.2.CVE-2017-9798.optionsbleed.patch
@@ -0,0 +1,21 @@
+CVE-2017-9798
+
+Backport from https://svn.apache.org/viewvc?view=revision&revision=1807655
+
+diff --git a/server/core.c b/server/core.c
+index f61699e..d24542e 100644
+--- a/server/core.c
++++ b/server/core.c
+@@ -1809,6 +1809,12 @@ AP_CORE_DECLARE_NONSTD(const char *) ap_limit_section(cmd_parms *cmd,
+ /* method has not been registered yet, but resorce restriction
+ * is always checked before method handling, so register it.
+ */
++ if (cmd->pool == cmd->temp_pool) {
++ /* In .htaccess, we can't globally register new methods. */
++ return apr_psprintf(cmd->pool, "Could not register method '%s' "
++ "for %s from .htaccess configuration",
++ method, cmd->cmd->name);
++ }
+ methnum = ap_method_register(cmd->pool, method);
+ }
+
diff --git a/patches/source/httpd/config.layout.diff b/patches/source/httpd/config.layout.diff
new file mode 100644
index 00000000..c302515f
--- /dev/null
+++ b/patches/source/httpd/config.layout.diff
@@ -0,0 +1,30 @@
+--- ./config.layout.orig 2004-11-21 12:50:36.000000000 -0600
++++ ./config.layout 2007-05-23 13:35:20.000000000 -0500
+@@ -322,3 +322,27 @@
+ installbuilddir: ${prefix}/etc/apache2/build
+ errordir: ${datadir}/error
+ </Layout>
++
++# FHS layout
++<Layout Slackware-FHS>
++ prefix: /usr
++ exec_prefix: ${prefix}
++ bindir: ${prefix}/bin
++ sbindir: ${prefix}/sbin
++ libdir: ${prefix}/lib/httpd
++ libexecdir: ${prefix}/lib/httpd/modules
++ installbuilddir: ${prefix}/lib/httpd/build
++ mandir: ${prefix}/man
++ sysconfdir: /etc/httpd
++ datadir: /srv/httpd
++ iconsdir: ${datadir}/icons
++ htdocsdir: ${datadir}/htdocs
++ manualdir: ${htdocsdir}/manual
++ cgidir: ${datadir}/cgi-bin
++ errordir: ${datadir}/error
++ includedir: ${prefix}/include/httpd
++ localstatedir: /var
++ runtimedir: ${localstatedir}/run/httpd
++ logfiledir: ${localstatedir}/log/httpd
++ proxycachedir: ${localstatedir}/cache/httpd
++</Layout>
diff --git a/patches/source/httpd/doinst.sh b/patches/source/httpd/doinst.sh
new file mode 100644
index 00000000..e233c362
--- /dev/null
+++ b/patches/source/httpd/doinst.sh
@@ -0,0 +1,71 @@
+#!/bin/sh
+
+config() {
+ NEW="$1"
+ OLD="`dirname $NEW`/`basename $NEW .new`"
+ # If there's no config file by that name, mv it over:
+ if [ ! -r $OLD ]; then
+ mv $NEW $OLD
+ elif [ "`cat $OLD | md5sum`" = "`cat $NEW | md5sum`" ]; then # toss the redundant copy
+ rm $NEW
+ fi
+ # Otherwise, we leave the .new copy for the admin to consider...
+}
+
+preserve_perms() {
+ NEW="$1"
+ OLD="$(dirname ${NEW})/$(basename ${NEW} .new)"
+ if [ -e ${OLD} ]; then
+ cp -a ${OLD} ${NEW}.incoming
+ cat ${NEW} > ${NEW}.incoming
+ mv ${NEW}.incoming ${NEW}
+ fi
+ # Don't use config() -- we always want to install this, changed or unchanged.
+ #config ${NEW}
+}
+
+if [ ! -e var/log/httpd ]; then
+ mkdir -p var/log/httpd
+ chmod 755 var/log/httpd
+fi
+
+# Don't wipe out an existing document root with symlinks. If someone has
+# replaced the symlinks that are created on a fresh installation, assume
+# that they know what they are doing and leave things as-is.
+if [ ! -e srv/www ]; then
+ ( cd srv ; ln -sf /var/www www )
+fi
+if [ ! -e srv/httpd ]; then
+ ( cd srv ; ln -sf /var/www httpd )
+fi
+
+# Once again, our intent is not to wipe out anyone's
+# site, but building in Apache's docs tree is not as
+# good an idea as picking a unique DocumentRoot.
+#
+# Still, we will do what we can here to mitigate
+# possible site damage:
+if [ -r var/www/htdocs/index.html ]; then
+ if [ ! -r "var/log/packages/httpd-*upgraded*" ]; then
+ if [ var/www/htdocs/index.html -nt var/log/packages/httpd-*-? ]; then
+ cp -a var/www/htdocs/index.html var/www/htdocs/index.html.bak.$$
+ fi
+ fi
+fi
+
+# Keep same perms when installing rc.httpd.new:
+preserve_perms etc/rc.d/rc.httpd.new
+# Always install the new rc.httpd:
+mv etc/rc.d/rc.httpd.new etc/rc.d/rc.httpd
+
+# Handle config files. Unless this is a fresh installation, the
+# admin will have to move the .new files into place to complete
+# the package installation, as we don't want to clobber files that
+# may contain local customizations.
+config etc/httpd/httpd.conf.new
+config etc/logrotate.d/httpd.new
+for conf_file in etc/httpd/extra/*.new; do
+ config $conf_file
+done
+config var/www/htdocs/index.html.new
+
diff --git a/patches/source/httpd/httpd.SlackBuild b/patches/source/httpd/httpd.SlackBuild
new file mode 100755
index 00000000..ea7e196b
--- /dev/null
+++ b/patches/source/httpd/httpd.SlackBuild
@@ -0,0 +1,227 @@
+#!/bin/sh
+
+# Copyright 2006, 2007, 2008, 2009, 2010, 2011, 2017 Patrick J. Volkerding, Sebeka, MN, USA
+# All rights reserved.
+#
+# Redistribution and use of this script, with or without modification, is
+# permitted provided that the following conditions are met:
+#
+# 1. Redistributions of this script must retain the above copyright
+# notice, this list of conditions and the following disclaimer.
+#
+# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED
+# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
+# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
+# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+# This script was written using the one from slackbuilds.org as a reference,
+# so thanks to Adis Nezirovic ( adis _at_ linux.org.ba ) for the original work.
+
+
+PKGNAM=httpd
+VERSION=${VERSION:-$(echo $PKGNAM-*.tar.bz2 | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
+BUILD=${BUILD:-2_slack13.0}
+
+# Automatically determine the architecture we're building on:
+if [ -z "$ARCH" ]; then
+ case "$( uname -m )" in
+ i?86) export ARCH=i486 ;;
+ arm*) export ARCH=arm ;;
+ # Unless $ARCH is already set, use uname -m for all other archs:
+ *) export ARCH=$( uname -m ) ;;
+ esac
+fi
+
+NUMJOBS=${NUMJOBS:-" -j7 "}
+
+CWD=$(pwd)
+TMP=${TMP:-/tmp}
+PKG=$TMP/package-${PKGNAM}
+rm -rf $PKG
+mkdir -p $TMP $PKG
+
+if [ "$ARCH" = "i486" ]; then
+ SLKCFLAGS="-O2 -march=i486 -mtune=i686"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "s390" ]; then
+ SLKCFLAGS="-O2"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "x86_64" ]; then
+ SLKCFLAGS="-O2 -fPIC"
+ LIBDIRSUFFIX="64"
+else
+ SLKCFLAGS="-O2"
+ LIBDIRSUFFIX=""
+fi
+
+cd $TMP
+rm -rf ${PKGNAM}-${VERSION}
+tar xvf $CWD/${PKGNAM}-$VERSION.tar.bz2 || exit 1
+cd ${PKGNAM}-$VERSION
+
+# Patch CVE-2017-9798 ("optionsbleed"):
+zcat $CWD/apache-2.2.CVE-2017-9798.optionsbleed.patch.gz | patch -p1 --verbose || exit 1
+
+# Make sure ownerships and permissions are sane:
+chown -R root:root .
+find . \
+ \( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \
+ -exec chmod 755 {} \; -o \
+ \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \
+ -exec chmod 644 {} \;
+
+# "prefork" is the default, safe, mpm type. If you *are not* using PHP, and you
+# like to live on the bleeding edge, you may wish to change the --with-mpm option
+# to "worker", which is the new way of doing things, but is multithreaded and
+# many scripts (especially PHP ones) are not multithread safe.
+#
+# I'd leave this option the way is it on any production box that's keeping up
+# with HTTP requests. No reason to chance it, IMHO.
+
+zcat $CWD/config.layout.diff.gz | sed -e "s#lib/httpd#lib${LIBDIRSUFFIX}/httpd#" | patch --verbose -p1 || exit 1
+
+# Patch to fix aliasing issue exposed by gcc-4.5.1:
+zcat $CWD/httpd.brigade_move.__noinline__.gcc451.diff.gz | patch --verbose -p1 || exit 1
+
+# Configure:
+CFLAGS="$SLKCFLAGS" \
+CXXFLAGS="$SLKCFLAGS" \
+./configure \
+ --enable-layout=Slackware-FHS \
+ --with-mpm=prefork \
+ --with-apr=/usr \
+ --with-apr-util=/usr \
+ --enable-mods-shared=all \
+ --enable-so \
+ --enable-pie \
+ --enable-cgi \
+ --with-pcre \
+ --enable-ssl \
+ --enable-rewrite \
+ --enable-vhost-alias \
+ --enable-proxy \
+ --enable-proxy-http \
+ --enable-proxy-ftp \
+ --enable-proxy-balancer \
+ --enable-cache \
+ --enable-mem-cache \
+ --enable-file-cache \
+ --enable-disk-cache \
+ --disable-speling \
+ --enable-dav \
+ --enable-ldap \
+ --enable-authnz-ldap \
+ --enable-authn-anon \
+ --enable-authn-alias \
+ --build=$ARCH-slackware-linux || exit 1
+
+# Build and install:
+make $NUMJOBS || make || exit 1
+make install DESTDIR=$PKG || exit 1
+
+rmdir $PKG/usr/bin
+
+# Tweak default apache configuration
+( cd $PKG
+ zcat $CWD/httpd.nossldefault.diff.gz | sed -e "s#lib/httpd#lib${LIBDIRSUFFIX}/httpd#" | patch -p1 --verbose || exit 1
+ zcat $CWD/httpd.runasapache.diff.gz | patch -p1 --verbose || exit 1
+ rm -f $PKG/etc/httpd/httpd.conf~ $PKG/etc/httpd/httpd.conf.orig
+) || exit 1
+# Change config files to .new:
+( cd $PKG/etc/httpd
+ mv httpd.conf httpd.conf.new
+ for file in extra/*; do
+ mv $file "${file}.new"
+ done
+)
+
+cat << EOF >> $PKG/etc/httpd/httpd.conf.new
+
+# Uncomment the following line to enable PHP:
+#
+#Include /etc/httpd/mod_php.conf
+
+# Uncomment the following lines to enable svn support:
+#
+#LoadModule dav_svn_module lib${LIBDIRSUFFIX}/httpd/modules/mod_dav_svn.so
+#LoadModule authz_svn_module lib${LIBDIRSUFFIX}/httpd/modules/mod_authz_svn.so
+
+EOF
+
+rmdir $PKG/var/log/httpd
+
+mkdir -p $PKG/etc/rc.d
+cat $CWD/rc.httpd > $PKG/etc/rc.d/rc.httpd.new
+
+mkdir -p $PKG/etc/logrotate.d
+cat $CWD/logrotate.httpd > $PKG/etc/logrotate.d/httpd.new
+
+mkdir -p $PKG/install
+cat $CWD/slack-desc > $PKG/install/slack-desc
+zcat $CWD/doinst.sh.gz > $PKG/install/doinst.sh
+
+mkdir -p $PKG/usr/doc/$PKGNAM-$VERSION/
+cp -a \
+ ABOUT_APACHE Apache.dsw BuildBin.dsp CHANGES INSTALL InstallBin.dsp LAYOUT LICENSE NOTICE NWGNUmakefile README* ROADMAP VERSIONING \
+ $PKG/usr/doc/$PKGNAM-$VERSION
+
+# Other distributions also strip the manual down to just English.
+# If this isn't your language of choice, mea culpa.
+( cd $PKG/srv/httpd/htdocs/manual
+ for file in $(find . -type f -name "*.html") ; do
+ if [ -f ${file}.en ]; then
+ cp ${file}.en ${file}
+ rm -f ${file}.*
+ fi
+ done
+)
+
+# On Slackware, the traditional location for the Apache document root has always
+# been "/var/www/htdocs/". We can avoid an unpleasant surprise for people by
+# leaving things where they've always been, and comply with the FHS by providing
+# symlinks allowing access through the FHS-approved pathnames. KDE, for example,
+# will look for htdig's htsearch here: /var/www/cgi-bin/htsearch
+mv $PKG/srv/httpd $PKG/var/www
+
+## DISABLED. Don't make these symlinks prior to packaging any more, as it is
+## possibly dangerous to an existing document root created in the place where
+## these symlinks are normally found. Instead, we make them in the install
+## script (only if nothing exists there already)
+#( cd $PKG/srv
+# ln -sf /var/www .
+# ln -sf /var/www httpd
+#)
+
+# OK, it's just not generally good form to put your web site in /var/www/htdocs,
+# but people do it every day. Like all new .new files, this won't save them this
+# time, but if they don't learn their lesson now then it will the next time:
+mv $PKG/var/www/htdocs/index.html $PKG/var/www/htdocs/index.html.new
+
+# Strip binaries:
+find $PKG | xargs file | grep -e "executable" -e "shared object" | grep ELF \
+ | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
+
+# Compress and link manpages, if any:
+if [ -d $PKG/usr/man ]; then
+ ( cd $PKG/usr/man
+ for manpagedir in $(find . -type d -name "man*") ; do
+ ( cd $manpagedir
+ for eachpage in $( find . -type l -maxdepth 1) ; do
+ ln -s $( readlink $eachpage ).gz $eachpage.gz
+ rm $eachpage
+ done
+ gzip -9 *.*
+ )
+ done
+ )
+fi
+
+cd $PKG
+/sbin/makepkg -l y -c n $TMP/${PKGNAM}-$VERSION-$ARCH-$BUILD.txz
+
diff --git a/patches/source/httpd/httpd.brigade_move.__noinline__.gcc451.diff b/patches/source/httpd/httpd.brigade_move.__noinline__.gcc451.diff
new file mode 100644
index 00000000..e8915ae4
--- /dev/null
+++ b/patches/source/httpd/httpd.brigade_move.__noinline__.gcc451.diff
@@ -0,0 +1,10 @@
+--- ./server/core_filters.c.orig 2010-02-26 03:32:15.000000000 -0600
++++ ./server/core_filters.c 2011-02-12 13:23:22.000000000 -0600
+@@ -83,6 +83,7 @@
+ *
+ * XXXX: Should this function be added to APR-Util?
+ */
++__attribute__((__noinline__))
+ static void brigade_move(apr_bucket_brigade *b, apr_bucket_brigade *a,
+ apr_bucket *e)
+ {
diff --git a/patches/source/httpd/httpd.nossldefault.diff b/patches/source/httpd/httpd.nossldefault.diff
new file mode 100644
index 00000000..bcf891f8
--- /dev/null
+++ b/patches/source/httpd/httpd.nossldefault.diff
@@ -0,0 +1,11 @@
+--- ./etc/httpd/httpd.conf.orig 2007-05-17 23:40:15.000000000 -0500
++++ ./etc/httpd/httpd.conf 2007-05-18 15:55:38.000000000 -0500
+@@ -88,7 +88,7 @@
+ LoadModule proxy_http_module lib/httpd/modules/mod_proxy_http.so
+ LoadModule proxy_ajp_module lib/httpd/modules/mod_proxy_ajp.so
+ LoadModule proxy_balancer_module lib/httpd/modules/mod_proxy_balancer.so
+-LoadModule ssl_module lib/httpd/modules/mod_ssl.so
++#LoadModule ssl_module lib/httpd/modules/mod_ssl.so
+ LoadModule mime_module lib/httpd/modules/mod_mime.so
+ LoadModule dav_module lib/httpd/modules/mod_dav.so
+ LoadModule status_module lib/httpd/modules/mod_status.so
diff --git a/patches/source/httpd/httpd.runasapache.diff b/patches/source/httpd/httpd.runasapache.diff
new file mode 100644
index 00000000..c1954ec3
--- /dev/null
+++ b/patches/source/httpd/httpd.runasapache.diff
@@ -0,0 +1,13 @@
+--- ./etc/httpd/httpd.conf.orig 2008-02-14 15:24:21.000000000 -0600
++++ ./etc/httpd/httpd.conf 2008-02-14 15:34:58.000000000 -0600
+@@ -125,8 +125,8 @@
+ # It is usually good practice to create a dedicated user and group for
+ # running httpd, as with most system services.
+ #
+-User daemon
+-Group daemon
++User apache
++Group apache
+
+ </IfModule>
+ </IfModule>
diff --git a/patches/source/httpd/httpd.url b/patches/source/httpd/httpd.url
new file mode 100644
index 00000000..36beb7d8
--- /dev/null
+++ b/patches/source/httpd/httpd.url
@@ -0,0 +1,2 @@
+http://www.apache.org/dist/httpd/httpd-2.2.32.tar.bz2
+http://www.apache.org/dist/httpd/httpd-2.2.32.tar.bz2.asc
diff --git a/patches/source/httpd/logrotate.httpd b/patches/source/httpd/logrotate.httpd
new file mode 100644
index 00000000..cc638367
--- /dev/null
+++ b/patches/source/httpd/logrotate.httpd
@@ -0,0 +1,12 @@
+/var/log/httpd/*_log {
+ rotate 10
+ notifempty
+ missingok
+ size=5M
+ compress
+ delaycompress
+ sharedscripts
+ postrotate
+ /etc/rc.d/rc.httpd restart
+ endscript
+}
diff --git a/patches/source/httpd/rc.httpd b/patches/source/httpd/rc.httpd
new file mode 100644
index 00000000..064f6ea4
--- /dev/null
+++ b/patches/source/httpd/rc.httpd
@@ -0,0 +1,35 @@
+#!/bin/sh
+#
+# /etc/rc.d/rc.httpd
+#
+# Start/stop/restart/graceful[ly restart]/graceful[ly]-stop
+# the Apache (httpd) web server.
+#
+# To make Apache start automatically at boot, make this
+# file executable: chmod 755 /etc/rc.d/rc.httpd
+#
+# For information on these options, "man apachectl".
+
+case "$1" in
+ 'start')
+ /usr/sbin/apachectl -k start
+ ;;
+ 'stop')
+ /usr/sbin/apachectl -k stop
+ killall httpd
+ rm -f /var/run/httpd/*.pid
+ ;;
+ 'restart')
+ /usr/sbin/apachectl -k restart
+ ;;
+ 'graceful')
+ /usr/sbin/apachectl -k graceful
+ ;;
+ 'graceful-stop')
+ /usr/sbin/apachectl -k graceful-stop
+ ;;
+ *)
+ echo "Usage: $0 {start|stop|restart|graceful|graceful-stop}"
+ ;;
+esac
+
diff --git a/patches/source/httpd/slack-desc b/patches/source/httpd/slack-desc
new file mode 100644
index 00000000..38d240b6
--- /dev/null
+++ b/patches/source/httpd/slack-desc
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|'
+# on the right side marks the last column you can put a character in. You must
+# make exactly 11 lines for the formatting to be correct. It's also
+# customary to leave one space after the ':'.
+
+ |-----handy-ruler------------------------------------------------------|
+httpd: httpd (The Apache HTTP Server)
+httpd:
+httpd: Apache is an HTTP server designed as a plug-in replacement for the
+httpd: NCSA HTTP server. It fixes numerous bugs in the NCSA server and
+httpd: includes many frequently requested new features, and has an API which
+httpd: allows it to be extended to meet users' needs more easily.
+httpd:
+httpd: Apache is the most popular web server in the known universe; over
+httpd: half of the servers on the Internet are running Apache or one of
+httpd: its variants.
+httpd:
diff --git a/patches/source/inputproto/arch.use.flags b/patches/source/inputproto/arch.use.flags
new file mode 100644
index 00000000..11087c88
--- /dev/null
+++ b/patches/source/inputproto/arch.use.flags
@@ -0,0 +1,9 @@
+if [ "$ARCH" = "i486" ]; then
+ SLKCFLAGS="-O2 -march=i486 -mtune=i686"
+elif [ "$ARCH" = "i586" ]; then
+ SLKCFLAGS="-O2 -march=i586 -mtune=i686"
+elif [ "$ARCH" = "s390" ]; then
+ SLKCFLAGS="-O2"
+elif [ "$ARCH" = "x86_64" ]; then
+ SLKCFLAGS="-O2 -fPIC"
+fi
diff --git a/patches/source/inputproto/build/inputproto b/patches/source/inputproto/build/inputproto
new file mode 100644
index 00000000..1551cb6a
--- /dev/null
+++ b/patches/source/inputproto/build/inputproto
@@ -0,0 +1 @@
+1_slack13.0
diff --git a/patches/source/inputproto/configure/configure b/patches/source/inputproto/configure/configure
new file mode 100644
index 00000000..dcb1109b
--- /dev/null
+++ b/patches/source/inputproto/configure/configure
@@ -0,0 +1,13 @@
+CFLAGS=$SLKCFLAGS \
+CXXFLAGS=$SLKCFLAGS \
+./configure \
+ --prefix=/usr \
+ --libdir=/usr/lib${LIBDIRSUFFIX} \
+ --sysconfdir=/etc \
+ --localstatedir=/var \
+ --infodir=/usr/info \
+ --mandir=/usr/man \
+ --docdir=/usr/doc/${PKGNAME}-${MODULAR_PACKAGE_VERSION} \
+ --with-udev-rules-dir=/lib/udev/rules.d \
+ --disable-static \
+ --build=$ARCH-slackware-linux
diff --git a/patches/source/inputproto/inputproto.SlackBuild b/patches/source/inputproto/inputproto.SlackBuild
new file mode 100755
index 00000000..d5fe7aba
--- /dev/null
+++ b/patches/source/inputproto/inputproto.SlackBuild
@@ -0,0 +1,2 @@
+UPGRADE_PACKAGES=no ./x11.SlackBuild proto inputproto
+mv /tmp/x11-build/inputproto*txz /tmp
diff --git a/patches/source/inputproto/modularize b/patches/source/inputproto/modularize
new file mode 100644
index 00000000..8a28ed93
--- /dev/null
+++ b/patches/source/inputproto/modularize
@@ -0,0 +1,279 @@
+# If a package is listed here, it will be built apart from the
+# usual "grab bag" package that's made from each source directory.
+
+appres
+bdftopcf
+beforelight
+bigreqsproto
+bitmap
+compiz
+compositeproto
+damageproto
+dmxproto
+dri2proto
+dri3proto
+editres
+encodings
+evieext
+fixesproto
+font-adobe-100dpi
+font-adobe-75dpi
+font-adobe-utopia-100dpi
+font-adobe-utopia-75dpi
+font-adobe-utopia-type1
+font-alias
+font-arabic-misc
+font-bh-100dpi
+font-bh-75dpi
+font-bh-lucidatypewriter-100dpi
+font-bh-lucidatypewriter-75dpi
+font-bh-ttf
+font-bh-type1
+font-bitstream-100dpi
+font-bitstream-75dpi
+font-bitstream-speedo
+font-bitstream-type1
+font-cronyx-cyrillic
+font-cursor-misc
+font-daewoo-misc
+font-dec-misc
+font-ibm-type1
+font-isas-misc
+font-jis-misc
+font-micro-misc
+font-misc-cyrillic
+font-misc-ethiopic
+font-misc-meltho
+font-misc-misc
+font-mutt-misc
+font-schumacher-misc
+font-screen-cyrillic
+font-sony-misc
+font-sun-misc
+font-util
+font-winitzki-cyrillic
+font-xfree86-type1
+fontcacheproto
+fontsproto
+fonttosfnt
+fslsfonts
+fstobdf
+gccmakedep
+glamor-egl
+glproto
+iceauth
+ico
+imake
+inputproto
+intel-gpu-tools
+kbproto
+libFS
+libICE
+libSM
+libX11
+libXScrnSaver
+libXau
+libXaw
+libXaw3d
+libXcm
+libXcomposite
+libXcursor
+libXdamage
+libXdmcp
+libXevie
+libXext
+libXfixes
+libXfont
+libXfontcache
+libXft
+libXi
+libXinerama
+libXmu
+libXp
+libXpm
+libXpresent
+libXrandr
+libXrender
+libXres
+libXt
+libXtst
+libXv
+libXvMC
+libXxf86dga
+libXxf86misc
+libXxf86vm
+libdmx
+libfontenc
+libpciaccess
+libpthread-stubs
+libxcb
+libxkbfile
+libxshmfence
+listres
+lndir
+luit
+makedepend
+mkcomposecache
+mkfontdir
+mkfontscale
+oclock
+pixman
+presentproto
+printproto
+randrproto
+recordproto
+rendercheck
+renderproto
+resourceproto
+rgb
+scrnsaverproto
+sessreg
+setxkbmap
+showfont
+smproxy
+transset
+twm
+util-macros
+videoproto
+viewres
+x11perf
+xauth
+xbacklight
+xbiff
+xbitmaps
+xcalc
+xcb-proto
+xcb-util
+xcb-util-cursor
+xcb-util-errors
+xcb-util-image
+xcb-util-keysyms
+xcb-util-renderutil
+xcb-util-wm
+xclipboard
+xclock
+xcm
+xcmiscproto
+xcmsdb
+xcompmgr
+xconsole
+xcursor-themes
+xcursorgen
+xdbedizzy
+xditview
+xdm
+xdpyinfo
+xdriinfo
+xedit
+xev
+xextproto
+xeyes
+xf86-input-acecad
+xf86-input-aiptek
+xf86-input-evdev
+xf86-input-joystick
+xf86-input-keyboard
+xf86-input-mouse
+xf86-input-penmount
+xf86-input-synaptics
+xf86-input-vmmouse
+xf86-input-void
+xf86-input-wacom
+xf86-video-amdgpu
+xf86-video-apm
+xf86-video-ark
+xf86-video-ast
+xf86-video-ati
+xf86-video-chips
+xf86-video-cirrus
+xf86-video-dummy
+xf86-video-geode
+xf86-video-glint
+xf86-video-i128
+xf86-video-i740
+xf86-video-intel
+xf86-video-mach64
+xf86-video-mga
+xf86-video-modesetting
+xf86-video-neomagic
+xf86-video-nouveau
+xf86-video-nv
+xf86-video-omap
+xf86-video-openchrome
+xf86-video-qxl
+xf86-video-r128
+xf86-video-rendition
+xf86-video-s3
+xf86-video-s3virge
+xf86-video-savage
+xf86-video-siliconmotion
+xf86-video-sis
+xf86-video-sisusb
+xf86-video-tdfx
+xf86-video-tga
+xf86-video-trident
+xf86-video-tseng
+xf86-video-v4l
+xf86-video-vesa
+xf86-video-vmware
+xf86-video-voodoo
+xf86-video-xgi
+xf86-video-xgixp
+xf86bigfontproto
+xf86dga
+xf86dgaproto
+xf86driproto
+xf86miscproto
+xf86vidmodeproto
+xfd
+xfontsel
+xfs
+xfsinfo
+xgamma
+xgc
+xhost
+xineramaproto
+xinit
+xinput
+xkbcomp
+xkbevd
+xkbprint
+xkbutils
+xkeyboard-config
+xkill
+xload
+xlogo
+xlsatoms
+xlsclients
+xlsfonts
+xmag
+xman
+xmessage
+xmh
+xmodmap
+xmore
+xorg-cf-files
+xorg-docs
+xorg-server
+xorg-server-xephyr
+xorg-server-xnest
+xorg-server-xvfb
+xorg-sgml-doctools
+xpr
+xprop
+xproto
+xpyb
+xrandr
+xrdb
+xrefresh
+xscope
+xset
+xsetroot
+xsm
+xstdcmap
+xtrans
+xvidtune
+xvinfo
+xwd
+xwininfo
+xwud
diff --git a/patches/source/inputproto/noarch b/patches/source/inputproto/noarch
new file mode 100644
index 00000000..8785ee52
--- /dev/null
+++ b/patches/source/inputproto/noarch
@@ -0,0 +1,75 @@
+# List packages with an $ARCH of "noarch" (i.e. packages
+# that contain no binaries) here:
+bigreqsproto
+compositeproto
+damageproto
+dejavu-ttf
+dmxproto
+encodings
+evieext
+font-adobe-100dpi
+font-adobe-75dpi
+font-adobe-utopia-100dpi
+font-adobe-utopia-75dpi
+font-adobe-utopia-type1
+font-alias
+font-arabic-misc
+font-bh-100dpi
+font-bh-75dpi
+font-bh-lucidatypewriter-100dpi
+font-bh-lucidatypewriter-75dpi
+font-bh-ttf
+font-bh-type1
+font-bitstream-100dpi
+font-bitstream-75dpi
+font-bitstream-speedo
+font-bitstream-type1
+font-cronyx-cyrillic
+font-cursor-misc
+font-daewoo-misc
+font-dec-misc
+font-ibm-type1
+font-isas-misc
+font-jis-misc
+font-micro-misc
+font-misc-cyrillic
+font-misc-ethiopic
+font-misc-meltho
+font-misc-misc
+font-mutt-misc
+font-schumacher-misc
+font-screen-cyrillic
+font-sony-misc
+font-sun-misc
+font-winitzki-cyrillic
+font-xfree86-type1
+fontcacheproto
+fontsproto
+gccmakedep
+glproto
+inputproto
+kbproto
+libpthread-stubs
+mkfontdir
+printproto
+randrproto
+recordproto
+renderproto
+resourceproto
+scrnsaverproto
+ttf-indic-fonts
+util-macros
+videoproto
+x11-skel
+xcmiscproto
+xcursor-themes
+xf86bigfontproto
+xf86dgaproto
+xf86driproto
+xf86miscproto
+xf86vidmodeproto
+xineramaproto
+xkeyboard-config
+xorg-docs
+xproto
+xtrans
diff --git a/patches/source/inputproto/package-blacklist b/patches/source/inputproto/package-blacklist
new file mode 100644
index 00000000..603b8c31
--- /dev/null
+++ b/patches/source/inputproto/package-blacklist
@@ -0,0 +1,44 @@
+# Enter packages to skip (perhaps because they aren't used on
+# this platform) below. Just the package name -- no version
+# number is needed.
+
+# ARM only packages:
+# They also say in the README for this one that it is not yet ready:
+xf86-video-omap
+
+# MacOS related packages:
+applewmproto
+windowswmproto
+libAppleWM
+libWindowsWM
+
+# Sun video cards:
+xf86-video-sunbw2
+xf86-video-suncg14
+xf86-video-suncg3
+xf86-video-suncg6
+xf86-video-sunffb
+xf86-video-sunleo
+xf86-video-suntcx
+
+# Obsolete packages:
+liboldX
+xf86-video-amd
+xf86-video-via
+xkbdata
+xphelloworld
+xrx
+xf86-video-modesetting
+
+# Not applicable to us
+grandr
+constype
+
+# CAREFUL NOT TO "SHIP" THE STUFF BELOW IN THE MAIN X PACKAGES DIR!
+
+# This is probably obsolete, and kills "X -configure" too
+xf86-video-nsc
+
+# We don't want this one, as it causes failure of X with no xorg.conf
+xf86-video-fbdev
+
diff --git a/patches/source/inputproto/slack-desc/inputproto b/patches/source/inputproto/slack-desc/inputproto
new file mode 100644
index 00000000..d5e58679
--- /dev/null
+++ b/patches/source/inputproto/slack-desc/inputproto
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|'
+# on the right side marks the last column you can put a character in. You must
+# make exactly 11 lines for the formatting to be correct. It's also
+# customary to leave one space after the ':'.
+
+ |-----handy-ruler------------------------------------------------------|
+inputproto: inputproto (C prototypes for X Input extension)
+inputproto:
+inputproto: inputproto is part of X11.
+inputproto:
+inputproto: For more information about the X.Org Foundation (the providers of the
+inputproto: X.Org implementation of the X Window System), see their website:
+inputproto:
+inputproto: http://www.x.org
+inputproto:
+inputproto:
+inputproto:
diff --git a/patches/source/inputproto/x11.SlackBuild b/patches/source/inputproto/x11.SlackBuild
new file mode 100755
index 00000000..c3887dff
--- /dev/null
+++ b/patches/source/inputproto/x11.SlackBuild
@@ -0,0 +1,381 @@
+#!/bin/sh
+# Copyright 2007-2014 Patrick J. Volkerding, Sebeka, MN, USA
+# All rights reserved.
+#
+# Redistribution and use of this script, with or without modification, is
+# permitted provided that the following conditions are met:
+#
+# 1. Redistributions of this script must retain the above copyright
+# notice, this list of conditions and the following disclaimer.
+#
+# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED
+# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
+# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
+# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+# To build only a single package group, specify it as $1, like:
+# ./x11.SlackBuild lib
+# To build only a single package, specify both the source directory
+# and the name of the package, like:
+# ./x11.SlackBuild lib libX11
+
+# Upgrade packages as they are built.
+# Default is to upgrade new packages (UPGRADE_PACKAGES=yes).
+# To install ALL newly built packages (even if they are already installed),
+# use UPGRADE_PACKAGES=always
+# To not upgrade, pass UPGRADE_PACKAGES=no
+UPGRADE_PACKAGES=${UPGRADE_PACKAGES:-yes}
+
+pkgbase() {
+ PKGEXT=$(echo $1 | rev | cut -f 1 -d . | rev)
+ case $PKGEXT in
+ 'gz' )
+ PKGRETURN=$(basename $1 .tar.gz)
+ ;;
+ 'bz2' )
+ PKGRETURN=$(basename $1 .tar.bz2)
+ ;;
+ 'lzma' )
+ PKGRETURN=$(basename $1 .tar.lzma)
+ ;;
+ 'xz' )
+ PKGRETURN=$(basename $1 .tar.xz)
+ ;;
+ *)
+ PKGRETURN=$(basename $1)
+ ;;
+ esac
+ echo $PKGRETURN
+}
+
+# Set initial variables:
+CWD=$(pwd)
+TMP=${TMP:-/tmp}
+
+# Automatically determine the architecture we're building on:
+if [ -z "$ARCH" ]; then
+ case "$( uname -m )" in
+ i?86) export ARCH=i486 ;;
+ arm*) export ARCH=arm ;;
+ # Unless $ARCH is already set, use uname -m for all other archs:
+ *) export ARCH=$( uname -m ) ;;
+ esac
+fi
+
+# A lot of this stuff just controls the package names this time:
+VERSION=${VERSION:-7.5}
+BUILD=${BUILD:-1}
+PKGARCH=$ARCH
+NUMJOBS=${NUMJOBS:-" -j7 "}
+
+if [ "$ARCH" = "x86_64" ]; then
+ LIBDIRSUFFIX="64"
+else
+ LIBDIRSUFFIX=""
+fi
+
+# Set up a few useful functions:
+
+fix_perms() {
+ chown -R root:root .
+ find . \
+ \( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \
+ -exec chmod 755 {} \; -o \
+ \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \
+ -exec chmod 644 {} \;
+}
+
+process_man_pages() {
+ # Compress and if needed symlink the man pages:
+ if [ -d usr/man ]; then
+ ( cd usr/man
+ for manpagedir in $(find . -type d -name "man*") ; do
+ ( cd $manpagedir
+ for eachpage in $( find . -type l -maxdepth 1) ; do
+ ln -s $( readlink $eachpage ).gz $eachpage.gz
+ rm $eachpage
+ done
+ gzip -9 *.*
+ )
+ done
+ )
+ fi
+}
+
+process_info_pages() {
+ # Compress info pages and purge "dir" file from the package:
+ if [ -d usr/info ]; then
+ ( cd usr/info
+ rm -f dir
+ gzip -9 *
+ )
+ fi
+}
+
+no_usr_share_doc() {
+ # If there are docs, move them:
+ if [ -d usr/share/doc ]; then
+ mkdir -p usr/doc
+ mv usr/share/doc/* usr/doc
+ rmdir usr/share/doc
+ fi
+}
+
+# Set the compile options for the $ARCH being used:
+. $CWD/arch.use.flags
+
+SLACK_X_BUILD_DIR=$TMP/x11-build
+mkdir -p $SLACK_X_BUILD_DIR
+
+# Better have some binaries installed first, as this may not be
+# in the "magic order". I built mine by hand through trial-and-error
+# before getting this script to work. It wasn't that hard... I think. ;-)
+( cd src
+ for x_source_dir in proto data util xcb lib app doc xserver driver font ; do
+ # See if $1 is a source directory like "lib":
+ if [ ! -z "$1" ]; then
+ if [ ! "$1" = "${x_source_dir}" ]; then
+ continue
+ fi
+ fi
+ PKG=${SLACK_X_BUILD_DIR}/package-${x_source_dir}
+ rm -rf $PKG
+ mkdir -p $PKG
+ ( cd $x_source_dir
+ for x_pkg in *.tar.?z* ; do
+ # Reset $PKGARCH to its initial value:
+ PKGARCH=$ARCH
+ PKGNAME=$(echo $x_pkg | rev | cut -f 2- -d - | rev)
+ # Perhaps $PKGARCH should be something different:
+ if grep -wq "^$PKGNAME" ${CWD}/noarch ; then
+ PKGARCH=noarch
+ fi
+ if grep -wq "^$PKGNAME" ${CWD}/package-blacklist ; then
+ continue
+ fi
+ cd $SLACK_X_BUILD_DIR
+ # If $2 is set, we only want to build one package:
+ if [ ! -z "$2" ]; then
+ if [ "$2" = "$PKGNAME" ]; then
+ # Set $PKG to a private dir for the modular package build:
+ PKG=$SLACK_X_BUILD_DIR/package-$PKGNAME
+ rm -rf $PKG
+ mkdir -p $PKG
+ else
+ continue
+ fi
+ else
+ echo
+ echo "Building from source ${x_pkg}"
+ echo
+ fi
+ if grep -wq "^$PKGNAME" ${CWD}/modularize ; then
+ # Set $PKG to a private dir for the modular package build:
+ PKG=$SLACK_X_BUILD_DIR/package-$PKGNAME
+ rm -rf $PKG
+ mkdir -p $PKG
+ fi
+
+ # Let's figure out the version number on the modular package:
+ MODULAR_PACKAGE_VERSION=$(echo $x_pkg | rev | cut -f 3- -d . | cut -f 1 -d - | rev)
+
+ rm -rf $(pkgbase $x_pkg)
+ tar xf $CWD/src/${x_source_dir}/${x_pkg} || exit 1
+ cd $(pkgbase $x_pkg) || exit 1
+
+ fix_perms
+
+ # If any patches are needed, call this script to apply them:
+ if [ -r $CWD/patch/${PKGNAME}.patch ]; then
+ . $CWD/patch/${PKGNAME}.patch
+ fi
+
+ # I heard somewhere that -O2 breaks some chipset or another. If you encounter
+ # problems, please contact volkerdi@slackware.com. Thanks! :-)
+
+ # ./configure, using custom configure script if needed:
+ if [ -r $CWD/configure/${PKGNAME} ]; then
+ . $CWD/configure/${PKGNAME}
+ else
+ # This is the default configure script:
+ . $CWD/configure/configure
+ fi
+
+ if ! make $NUMJOBS ; then
+ touch ${SLACK_X_BUILD_DIR}/${PKGNAME}.failed
+ continue
+ fi
+
+ make install DESTDIR=$PKG
+
+ mkdir -p $PKG/usr/doc/${PKGNAME}-${MODULAR_PACKAGE_VERSION}
+ cp -a \
+ AUTHORS* COPYING* INSTALL* README* NEWS* TODO* \
+ $PKG/usr/doc/${PKGNAME}-${MODULAR_PACKAGE_VERSION}
+
+ # If there's a ChangeLog, installing at least part of the recent history
+ # is useful, but don't let it get totally out of control:
+ if [ -r ChangeLog ]; then
+ DOCSDIR=$(echo $PKG/usr/doc/${PKGNAME}-$MODULAR_PACKAGE_VERSION)
+ cat ChangeLog | head -n 1000 > $DOCSDIR/ChangeLog
+ touch -r ChangeLog $DOCSDIR/ChangeLog
+ fi
+
+ # Get rid of zero-length junk files:
+ find $PKG/usr/doc/${PKGNAME}-$MODULAR_PACKAGE_VERSION -type f -size 0 -exec rm --verbose "{}" \;
+ rmdir --verbose $PKG/usr/doc/${PKGNAME}-$MODULAR_PACKAGE_VERSION 2> /dev/null
+
+ # Strip binaries:
+ ( cd $PKG
+ find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
+ find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
+ find . | xargs file | grep "current ar archive" | grep ELF | cut -f 1 -d : | xargs strip -g 2> /dev/null
+ )
+
+ # If there's any special post-install things to do, do them:
+ if [ -r $CWD/post-install/${PKGNAME}.post-install ]; then
+ RUNSCRIPT=$(mktemp -p $TMP) || exit 1
+ cat $CWD/post-install/${PKGNAME}.post-install \
+ | sed -e "s#usr/lib#usr/lib${LIBDIRSUFFIX}#g" > $RUNSCRIPT
+ . $RUNSCRIPT
+ rm -f $RUNSCRIPT
+ fi
+
+ # If this package requires some doinst.sh material, add it here:
+ if [ -r $CWD/doinst.sh/${PKGNAME} ]; then
+ mkdir -p $PKG/install
+ cat $CWD/doinst.sh/${PKGNAME} \
+ | sed -e "s#usr/lib#usr/lib${LIBDIRSUFFIX}#g" \
+ >> $PKG/install/doinst.sh
+ fi
+
+ # If this is a modular package, build it here:
+ if [ -d $SLACK_X_BUILD_DIR/package-$PKGNAME ]; then
+ cd $PKG
+ process_man_pages
+ process_info_pages
+ no_usr_share_doc
+ mkdir -p $PKG/install
+ if [ -r $CWD/slack-desc/${PKGNAME} ]; then
+ cat $CWD/slack-desc/${PKGNAME} > $PKG/install/slack-desc
+ else
+ touch $PKG/install/slack-desc-missing
+ fi
+ if [ -r $CWD/build/${PKGNAME} ]; then
+ MODBUILD=$(cat $CWD/build/${PKGNAME})
+ else
+ MODBUILD=$BUILD
+ fi
+ if [ -r $CWD/makepkg/${PKGNAME} ]; then
+ BUILD=$MODBUILD . $CWD/makepkg/${PKGNAME}
+ else
+ /sbin/makepkg -l y -c n ${SLACK_X_BUILD_DIR}/${PKGNAME}-${MODULAR_PACKAGE_VERSION}-${PKGARCH}-${MODBUILD}.txz
+ if [ "$UPGRADE_PACKAGES" = "yes" ]; then
+ /sbin/upgradepkg --install-new ${SLACK_X_BUILD_DIR}/${PKGNAME}-${MODULAR_PACKAGE_VERSION}-${PKGARCH}-${MODBUILD}.txz
+ elif [ "$UPGRADE_PACKAGES" = "always" ]; then
+ /sbin/upgradepkg --install-new --reinstall ${SLACK_X_BUILD_DIR}/${PKGNAME}-${MODULAR_PACKAGE_VERSION}-${PKGARCH}-${MODBUILD}.txz
+ fi
+ fi
+ fi
+
+ # Reset $PKG to assume we're building the whole source dir:
+ PKG=${SLACK_X_BUILD_DIR}/package-${x_source_dir}
+
+ done
+
+ # Nothing here? Must have been fully modular. :-)
+ if [ ! -d ${SLACK_X_BUILD_DIR}/package-${x_source_dir}/etc -a \
+ ! -d ${SLACK_X_BUILD_DIR}/package-${x_source_dir}/usr ]; then
+ continue
+ fi
+
+ # Build an "x11-<sourcedir>" package for anything that wasn't built modular:
+ # It's safer to consider these to have binaries in them. ;-)
+ PKGARCH=$ARCH
+ cd $PKG
+ process_man_pages
+ process_info_pages
+ no_usr_share_doc
+ # If there are post-install things to do for the combined package,
+ # we do them here. This could be used for things like making a
+ # VERSION number for a combined package. :-)
+ if [ -r $CWD/post-install/x11-${x_source_dir}.post-install ]; then
+ RUNSCRIPT=$(mktemp -p $TMP) || exit 1
+ cat $CWD/post-install/x11-${x_source_dir}.post-install \
+ | sed -e "s#usr/lib#usr/lib${LIBDIRSUFFIX}#g" > $RUNSCRIPT
+ . $RUNSCRIPT
+ rm -f $RUNSCRIPT
+ fi
+ mkdir -p $PKG/install
+ if [ -r $CWD/slack-desc/x11-${x_source_dir} ]; then
+ cat $CWD/slack-desc/x11-${x_source_dir} > $PKG/install/slack-desc
+ else
+ touch $PKG/install/slack-desc-missing
+ fi
+ if [ -r $CWD/doinst.sh/x11-${x_source_dir} ]; then
+ cat $CWD/doinst.sh/x11-${x_source_dir} \
+ | sed -e "s#usr/lib#usr/lib${LIBDIRSUFFIX}#g" \
+ >> $PKG/install/doinst.sh
+ fi
+ if [ -r $CWD/build/x11-${PKGNAME} ]; then
+ SRCDIRBUILD=$(cat $CWD/build/x11-${PKGNAME})
+ else
+ SRCDIRBUILD=$BUILD
+ fi
+ if [ -r $CWD/makepkg/${PKGNAME} ]; then
+ BUILD=$MODBUILD . $CWD/makepkg/${PKGNAME}
+ else
+ /sbin/makepkg -l y -c n ${SLACK_X_BUILD_DIR}/x11-${x_source_dir}-${VERSION}-${PKGARCH}-${SRCDIRBUILD}.txz
+ if [ "$UPGRADE_PACKAGES" = "yes" ]; then
+ /sbin/upgradepkg --install-new ${SLACK_X_BUILD_DIR}/x11-${x_source_dir}-${VERSION}-${PKGARCH}-${SRCDIRBUILD}.txz
+ elif [ "$UPGRADE_PACKAGES" = "always" ]; then
+ /sbin/upgradepkg --install-new --reinstall ${SLACK_X_BUILD_DIR}/x11-${x_source_dir}-${VERSION}-${PKGARCH}-${SRCDIRBUILD}.txz
+ fi
+ fi
+ )
+ done
+)
+
+exit 0
+
+# I don't think I'll be using the following stuff, since I went for the latest in
+# "individual", rather than a release. That was mostly because version 7.1 depends
+# on a version of Mesa that won't build against kernel headers this new (&etc.).
+
+# If environment variable "REFRESH" is exported, start by refreshing the source tree:
+# export REFRESH yes
+if [ ! -z "$REFRESH" ]; then
+ # Only works once, unless you uncomment above.
+ unset REFRESH
+ ( cd patches
+ lftp -c \
+ "lftp ftp://ftp.x.org:/pub/X11R7.1/patches
+ mirror --delete --dereference .
+ exit"
+ chmod 644 *
+ )
+ ( cd src
+ mkdir -p update everything
+ for dir in app data deprecated doc driver extras font lib proto util xserver ; do
+ # We won't really download "update", as problems ensue. Plus, --dereference is
+ # bringing us updated files when needed, so it's redundant (like "everything").
+ if [ ! -d $dir ]; then
+ mkdir $dir
+ fi
+ ( cd $dir
+ lftp -c \
+ "lftp ftp://ftp.x.org:/pub/X11R7.1/src/$dir
+ mirror -c --delete --dereference --include-glob "*.tar.bz2" .
+ exit"
+ chmod 644 *
+ )
+ done
+ )
+fi
+
diff --git a/patches/source/irssi/doinst.sh b/patches/source/irssi/doinst.sh
new file mode 100644
index 00000000..197eddce
--- /dev/null
+++ b/patches/source/irssi/doinst.sh
@@ -0,0 +1,12 @@
+config() {
+ NEW="$1"
+ OLD="$(dirname $NEW)/$(basename $NEW .new)"
+ # If there's no config file by that name, mv it over:
+ if [ ! -r $OLD ]; then
+ mv $NEW $OLD
+ elif [ "$(cat $OLD | md5sum)" = "$(cat $NEW | md5sum)" ]; then # toss the redundant copy
+ rm $NEW
+ fi
+ # Otherwise, we leave the .new copy for the admin to consider...
+}
+config etc/irssi.conf.new
diff --git a/patches/source/irssi/irssi.SlackBuild b/patches/source/irssi/irssi.SlackBuild
new file mode 100755
index 00000000..79fdf1fa
--- /dev/null
+++ b/patches/source/irssi/irssi.SlackBuild
@@ -0,0 +1,146 @@
+#!/bin/sh
+
+# Copyright 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2016, 2017 Patrick J. Volkerding, Sebeka, MN, USA
+# All rights reserved.
+#
+# Redistribution and use of this script, with or without modification, is
+# permitted provided that the following conditions are met:
+#
+# 1. Redistributions of this script must retain the above copyright
+# notice, this list of conditions and the following disclaimer.
+#
+# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED
+# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
+# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
+# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+CWD=$(pwd)
+TMP=${TMP:-/tmp}
+PKG=$TMP/package-irssi
+
+VERSION=0.8.21
+DIRCD=0.8.21
+BUILD=${BUILD:-2_slack13.0}
+
+# Automatically determine the architecture we're building on:
+if [ -z "$ARCH" ]; then
+ case "$( uname -m )" in
+ i?86) export ARCH=i486 ;;
+ arm*) export ARCH=arm ;;
+ # Unless $ARCH is already set, use uname -m for all other archs:
+ *) export ARCH=$( uname -m ) ;;
+ esac
+fi
+
+NUMJOBS=${NUMJOBS:-" -j7 "}
+
+if [ "$ARCH" = "i486" ]; then
+ SLKCFLAGS="-O2 -march=i486 -mtune=i686"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "s390" ]; then
+ SLKCFLAGS="-O2"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "x86_64" ]; then
+ SLKCFLAGS="-O2 -fPIC"
+ LIBDIRSUFFIX="64"
+else
+ SLKCFLAGS="-O2"
+ LIBDIRSUFFIX=""
+fi
+
+rm -rf $PKG
+mkdir -p $TMP $PKG
+cd $TMP
+rm -rf irssi-$VERSION
+tar xvf $CWD/irssi-$VERSION.tar.xz || exit 1
+cd irssi-$DIRCD
+
+chown -R root:root .
+find . \
+ \( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 -o -perm 2777 -o -perm 2775 \) \
+ -exec chmod 755 {} \; -o \
+ \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \
+ -exec chmod 644 {} \;
+
+zcat $CWD/patch-src_irc_dcc_dcc-get_c.diff.gz | patch -p0 --verbose || exit 1
+zcat $CWD/patch-src_irc_dcc_dcc-resume_c.diff.gz | patch -p0 --verbose || exit 1
+
+CFLAGS="$SLKCFLAGS" \
+./configure \
+ --prefix=/usr \
+ --libdir=/usr/lib${LIBDIRSUFFIX} \
+ --mandir=/usr/man \
+ --sysconfdir=/etc \
+ --docdir=/usr/doc/irssi-$VERSION \
+ --enable-ipv6 \
+ --with-textui \
+ --with-proxy \
+ --with-perl-lib=vendor \
+ --build=$ARCH-slackware-linux
+
+make \
+ docdir=/usr/doc/irssi-$VERSION \
+ $NUMJOBS || make || exit 1
+make install \
+ docdir=/usr/doc/irssi-$VERSION \
+ DESTDIR=$PKG || exit 1
+
+# This removes our DESTDIR from the packlist filenames, to keep perl's
+# internal inventories consistent and correct.
+find $PKG -name .packlist | while read plist ; do
+ sed -e "s%$PKG%%g" \
+ -e "s%/share/man%/man%g" \
+ -re "s%\.([1-9]n?|3pm)$%&.gz%g # extend man filenames for .gz" \
+ ${plist} > ${plist}.new
+ mv -f ${plist}.new ${plist}
+done
+
+mv $PKG/etc/irssi.conf $PKG/etc/irssi.conf.new
+
+find $PKG -name perllocal.pod | xargs rm -f
+eval $(perl '-V:archlib') ; rmdir -p $PKG/$archlib
+
+find $PKG | xargs file | grep -e "executable" -e "shared object" | grep ELF \
+ | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
+
+# Compress and if needed symlink the man pages:
+if [ -d $PKG/usr/man ]; then
+ ( cd $PKG/usr/man
+ for manpagedir in $(find . -type d -name "man*") ; do
+ ( cd $manpagedir
+ for eachpage in $( find . -type l -maxdepth 1) ; do
+ ln -s $( readlink $eachpage ).gz $eachpage.gz
+ rm $eachpage
+ done
+ gzip -9 *.?
+ )
+ done
+ )
+fi
+
+cp -a \
+ AUTHORS COPYING INSTALL NEWS README TODO \
+ $PKG/usr/doc/irssi-$VERSION
+( cd $PKG/usr/doc/irssi-$VERSION ; ln -sf /usr/share/irssi/help . )
+
+# If there's a ChangeLog, installing at least part of the recent history
+# is useful, but don't let it get totally out of control:
+if [ -r ChangeLog ]; then
+ DOCSDIR=$(echo $PKG/usr/doc/*-$VERSION)
+ cat ChangeLog | head -n 1000 > $DOCSDIR/ChangeLog
+ touch -r ChangeLog $DOCSDIR/ChangeLog
+fi
+
+mkdir -p $PKG/install
+cat $CWD/slack-desc > $PKG/install/slack-desc
+zcat $CWD/doinst.sh.gz > $PKG/install/doinst.sh
+
+cd $PKG
+/sbin/makepkg -l y -c n $TMP/irssi-$VERSION-$ARCH-$BUILD.txz
diff --git a/patches/source/irssi/patch-src_irc_dcc_dcc-get_c.diff b/patches/source/irssi/patch-src_irc_dcc_dcc-get_c.diff
new file mode 100644
index 00000000..88a06598
--- /dev/null
+++ b/patches/source/irssi/patch-src_irc_dcc_dcc-get_c.diff
@@ -0,0 +1,23 @@
+$OpenBSD$
+--- src/irc/dcc/dcc-get.c.orig Tue Jun 6 18:03:29 2017
++++ src/irc/dcc/dcc-get.c Tue Jun 6 18:03:00 2017
+@@ -374,6 +374,8 @@ int get_file_params_count(char **params, int paramcoun
+ if (*params[0] == '"') {
+ /* quoted file name? */
+ for (pos = 0; pos < paramcount-3; pos++) {
++ if (strlen(params[pos]) == 0)
++ continue;
+ if (params[pos][strlen(params[pos])-1] == '"' &&
+ get_params_match(params, pos+1))
+ return pos+1;
+@@ -419,6 +421,10 @@ static void ctcp_msg_dcc_send(IRC_SERVER_REC *server,
+ uoff_t size;
+ int p_id = -1;
+ int passive = FALSE;
++
++ if (addr == NULL) {
++ addr = "";
++ }
+
+ /* SEND <file name> <address> <port> <size> [...] */
+ /* SEND <file name> <address> 0 <size> <id> (DCC SEND passive protocol) */
diff --git a/patches/source/irssi/patch-src_irc_dcc_dcc-resume_c.diff b/patches/source/irssi/patch-src_irc_dcc_dcc-resume_c.diff
new file mode 100644
index 00000000..5b1994a6
--- /dev/null
+++ b/patches/source/irssi/patch-src_irc_dcc_dcc-resume_c.diff
@@ -0,0 +1,12 @@
+$OpenBSD$
+--- src/irc/dcc/dcc-resume.c.orig Tue Jun 6 18:03:50 2017
++++ src/irc/dcc/dcc-resume.c Tue Jun 6 18:03:00 2017
+@@ -62,6 +62,8 @@ int get_file_params_count_resume(char **params, int pa
+ if (*params[0] == '"') {
+ /* quoted file name? */
+ for (pos = 0; pos < paramcount-2; pos++) {
++ if (strlen(params[pos]) == 0)
++ continue;
+ if (params[pos][strlen(params[pos])-1] == '"' &&
+ get_params_match_resume(params, pos+1))
+ return pos+1;
diff --git a/patches/source/irssi/slack-desc b/patches/source/irssi/slack-desc
new file mode 100644
index 00000000..2a057892
--- /dev/null
+++ b/patches/source/irssi/slack-desc
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|' on
+# the right side marks the last column you can put a character in. You must make
+# exactly 11 lines for the formatting to be correct. It's also customary to
+# leave one space after the ':'.
+
+ |-----handy-ruler------------------------------------------------------|
+irssi: irssi (Internet Relay Chat client)
+irssi:
+irssi: Irssi is an Internet Relay Chat client. Designed to be both secure
+irssi: and expandable, irssi is easily customized using modules and scripts.
+irssi:
+irssi: For more information, visit: http://irssi.org
+irssi:
+irssi: irssi was written by Timo Sirainen.
+irssi:
+irssi:
+irssi:
diff --git a/patches/source/jasper/jasper.SlackBuild b/patches/source/jasper/jasper.SlackBuild
new file mode 100755
index 00000000..0d425606
--- /dev/null
+++ b/patches/source/jasper/jasper.SlackBuild
@@ -0,0 +1,137 @@
+#!/bin/sh
+
+# Copyright 2007, 2008 Eric Hameleers, Eijdhoven, NL
+# Copyright 2009, 2010 Patrick J. Volkerding, Sebeka, MN, USA
+# All rights reserved.
+
+# Permission to use, copy, modify, and distribute this software for
+# any purpose with or without fee is hereby granted, provided that
+# the above copyright notice and this permission notice appear in all
+# copies.
+#
+# THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
+# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+# IN NO EVENT SHALL THE AUTHORS AND COPYRIGHT HOLDERS AND THEIR
+# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
+# USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+# ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+# OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
+# OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+# SUCH DAMAGE.
+
+
+PKGNAM=jasper
+VERSION=${VERSION:-$(echo $PKGNAM-*.tar.?z* | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
+BUILD=${BUILD:-3_slack13.0}
+
+# Automatically determine the architecture we're building on:
+if [ -z "$ARCH" ]; then
+ case "$( uname -m )" in
+ i?86) export ARCH=i486 ;;
+ arm*) export ARCH=arm ;;
+ # Unless $ARCH is already set, use uname -m for all other archs:
+ *) export ARCH=$( uname -m ) ;;
+ esac
+fi
+
+case "$ARCH" in
+ i486) SLKCFLAGS="-O2 -march=i486 -mtune=i686"
+ LIBDIRSUFFIX=""
+ ;;
+ s390) SLKCFLAGS="-O2"
+ LIBDIRSUFFIX=""
+ ;;
+ powerpc) SLKCFLAGS="-O2"
+ LIBDIRSUFFIX=""
+ ;;
+ x86_64) SLKCFLAGS="-O2 -fPIC"
+ LIBDIRSUFFIX="64"
+ ;;
+ athlon-xp) SLKCFLAGS="-march=athlon-xp -O3 -pipe -fomit-frame-pointer"
+ LIBDIRSUFFIX=""
+ ;;
+ *) SLKCFLAGS="-O2"
+ LIBDIRSUFFIX=""
+ ;;
+esac
+
+CWD=$(pwd)
+TMP=${TMP:-/tmp}
+PKG=$TMP/package-$PKGNAM
+rm -rf $PKG
+mkdir -p $TMP $PKG
+
+cd $TMP
+rm -rf $PKGNAM-$VERSION
+tar xvf $CWD/$PKGNAM-$VERSION.tar.?z* || exit 1
+cd $PKGNAM-$VERSION
+chown -R root:root .
+find . \
+ \( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \
+ -exec chmod 755 {} \; -o \
+ \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \
+ -exec chmod 644 {} \;
+
+# Taken from http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=469786
+zcat $CWD/patches/jpc_dec.c.patch.gz | patch -p1 --verbose || exit 1
+
+# Taken from http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=413041;msg=88
+zcat $CWD/patches/patch-libjasper-stepsizes-overflow.diff.gz | patch -p1 --verbose || exit 1
+
+# Apply security fixes - taken from fedora
+zcat $CWD/patches/jasper-1.900.1-CVE-2008-3520.patch.gz | patch -p1 --verbose || exit 1
+zcat $CWD/patches/jasper-1.900.1-CVE-2008-3522.patch.gz | patch -p1 --verbose || exit 1
+zcat $CWD/patches/jasper-1.900.1-CVE-2011-4516-CVE-2011-4517-CERT-VU-887409.patch.gz | patch -p1 --verbose || exit 1
+zcat $CWD/patches/jasper-CVE-2014-8138.patch.gz | patch -p1 --verbose || exit 1
+zcat $CWD/patches/jasper-CVE-2014-8157.patch.gz | patch -p1 --verbose || exit 1
+zcat $CWD/patches/jasper-CVE-2014-8158.patch.gz | patch -p1 --verbose || exit 1
+zcat $CWD/patches/jasper-CVE-2014-8137.patch.gz | patch -p1 --verbose || exit 1
+zcat $CWD/patches/jasper-CVE-2014-9029.patch.gz | patch -p1 --verbose || exit 1
+
+# Apply fixes for issues discovered by coverity - taken from fedora
+zcat $CWD/patches/jasper-1.900.1-Coverity-BAD_SIZEOF.patch.gz | patch -p1 --verbose || exit 1
+zcat $CWD/patches/jasper-1.900.1-Coverity-CHECKED_RETURN.patch.gz | patch -p1 --verbose || exit 1
+zcat $CWD/patches/jasper-1.900.1-Coverity-FORWARD_NULL.patch.gz | patch -p1 --verbose || exit 1
+zcat $CWD/patches/jasper-1.900.1-Coverity-NULL_RETURNS.patch.gz | patch -p1 --verbose || exit 1
+zcat $CWD/patches/jasper-1.900.1-Coverity-RESOURCE_LEAKS.patch.gz | patch -p1 --verbose || exit 1
+zcat $CWD/patches/jasper-1.900.1-Coverity-UNREACHABLE.patch.gz | patch -p1 --verbose || exit 1
+zcat $CWD/patches/jasper-1.900.1-Coverity-UNUSED_VALUE.patch.gz | patch -p1 --verbose || exit 1
+
+CFLAGS="$SLKCFLAGS -fno-strict-overflow" \
+CXXFLAGS="$SLKCFLAGS -fno-strict-overflow" \
+./configure \
+ --prefix=/usr \
+ --libdir=/usr/lib${LIBDIRSUFFIX} \
+ --localstatedir=/var \
+ --sysconfdir=/etc \
+ --mandir=/usr/man \
+ --enable-shared \
+ --disable-static \
+ --program-prefix= \
+ --program-suffix= \
+ --build=$ARCH-slackware-linux
+
+make || exit 1
+make DESTDIR=$PKG install
+
+mkdir -p $PKG/usr/doc/$PKGNAM-$VERSION
+cp -a \
+ COPYRIGHT INSTALL LICENSE NEWS README \
+ $PKG/usr/doc/$PKGNAM-$VERSION
+find $PKG/usr/doc -type f -exec chmod 644 {} \;
+
+find $PKG/usr/man -type f -name "*.?" -exec gzip -9f {} \;
+for i in $(find $PKG/usr/man -type l -name "*.?") ; do ln -s $( readlink $i ).gz $i.gz ; rm $i ; done
+
+find $PKG | xargs file | grep -e "executable" -e "shared object" \
+ | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
+
+mkdir -p $PKG/install
+cat $CWD/slack-desc > $PKG/install/slack-desc
+
+cd $PKG
+/sbin/makepkg -l y -c n $TMP/${PKGNAM}-${VERSION}-${ARCH}-${BUILD}.txz
+
diff --git a/patches/source/jasper/patches/jasper-1.900.1-CVE-2008-3520.patch b/patches/source/jasper/patches/jasper-1.900.1-CVE-2008-3520.patch
new file mode 100644
index 00000000..0f5e3b74
--- /dev/null
+++ b/patches/source/jasper/patches/jasper-1.900.1-CVE-2008-3520.patch
@@ -0,0 +1,928 @@
+https://bugzilla.redhat.com/show_bug.cgi?id=CVE-2008-3520
+
+OpenBSD jas_malloc hardening patches
+
+diff -pruN jasper-1.900.1.orig/src/libjasper/base/jas_cm.c jasper-1.900.1/src/libjasper/base/jas_cm.c
+--- jasper-1.900.1.orig/src/libjasper/base/jas_cm.c 2007-01-19 22:43:05.000000000 +0100
++++ jasper-1.900.1/src/libjasper/base/jas_cm.c 2009-10-22 10:27:45.000000000 +0200
+@@ -704,8 +704,7 @@ static int jas_cmpxformseq_resize(jas_cm
+ {
+ jas_cmpxform_t **p;
+ assert(n >= pxformseq->numpxforms);
+- p = (!pxformseq->pxforms) ? jas_malloc(n * sizeof(jas_cmpxform_t *)) :
+- jas_realloc(pxformseq->pxforms, n * sizeof(jas_cmpxform_t *));
++ p = jas_realloc2(pxformseq->pxforms, n, sizeof(jas_cmpxform_t *));
+ if (!p) {
+ return -1;
+ }
+@@ -889,13 +888,13 @@ static int jas_cmshapmatlut_set(jas_cmsh
+ jas_cmshapmatlut_cleanup(lut);
+ if (curv->numents == 0) {
+ lut->size = 2;
+- if (!(lut->data = jas_malloc(lut->size * sizeof(jas_cmreal_t))))
++ if (!(lut->data = jas_alloc2(lut->size, sizeof(jas_cmreal_t))))
+ goto error;
+ lut->data[0] = 0.0;
+ lut->data[1] = 1.0;
+ } else if (curv->numents == 1) {
+ lut->size = 256;
+- if (!(lut->data = jas_malloc(lut->size * sizeof(jas_cmreal_t))))
++ if (!(lut->data = jas_alloc2(lut->size, sizeof(jas_cmreal_t))))
+ goto error;
+ gamma = curv->ents[0] / 256.0;
+ for (i = 0; i < lut->size; ++i) {
+@@ -903,7 +902,7 @@ static int jas_cmshapmatlut_set(jas_cmsh
+ }
+ } else {
+ lut->size = curv->numents;
+- if (!(lut->data = jas_malloc(lut->size * sizeof(jas_cmreal_t))))
++ if (!(lut->data = jas_alloc2(lut->size, sizeof(jas_cmreal_t))))
+ goto error;
+ for (i = 0; i < lut->size; ++i) {
+ lut->data[i] = curv->ents[i] / 65535.0;
+@@ -953,7 +952,7 @@ static int jas_cmshapmatlut_invert(jas_c
+ return -1;
+ }
+ }
+- if (!(invlut->data = jas_malloc(n * sizeof(jas_cmreal_t))))
++ if (!(invlut->data = jas_alloc2(n, sizeof(jas_cmreal_t))))
+ return -1;
+ invlut->size = n;
+ for (i = 0; i < invlut->size; ++i) {
+diff -pruN jasper-1.900.1.orig/src/libjasper/base/jas_icc.c jasper-1.900.1/src/libjasper/base/jas_icc.c
+--- jasper-1.900.1.orig/src/libjasper/base/jas_icc.c 2007-01-19 22:43:05.000000000 +0100
++++ jasper-1.900.1/src/libjasper/base/jas_icc.c 2009-10-22 10:27:45.000000000 +0200
+@@ -373,7 +373,7 @@ int jas_iccprof_save(jas_iccprof_t *prof
+ jas_icctagtab_t *tagtab;
+
+ tagtab = &prof->tagtab;
+- if (!(tagtab->ents = jas_malloc(prof->attrtab->numattrs *
++ if (!(tagtab->ents = jas_alloc2(prof->attrtab->numattrs,
+ sizeof(jas_icctagtabent_t))))
+ goto error;
+ tagtab->numents = prof->attrtab->numattrs;
+@@ -522,7 +522,7 @@ static int jas_iccprof_gettagtab(jas_str
+ }
+ if (jas_iccgetuint32(in, &tagtab->numents))
+ goto error;
+- if (!(tagtab->ents = jas_malloc(tagtab->numents *
++ if (!(tagtab->ents = jas_alloc2(tagtab->numents,
+ sizeof(jas_icctagtabent_t))))
+ goto error;
+ tagtabent = tagtab->ents;
+@@ -743,8 +743,7 @@ static int jas_iccattrtab_resize(jas_icc
+ {
+ jas_iccattr_t *newattrs;
+ assert(maxents >= tab->numattrs);
+- newattrs = tab->attrs ? jas_realloc(tab->attrs, maxents *
+- sizeof(jas_iccattr_t)) : jas_malloc(maxents * sizeof(jas_iccattr_t));
++ newattrs = jas_realloc2(tab->attrs, maxents, sizeof(jas_iccattr_t));
+ if (!newattrs)
+ return -1;
+ tab->attrs = newattrs;
+@@ -999,7 +998,7 @@ static int jas_icccurv_input(jas_iccattr
+
+ if (jas_iccgetuint32(in, &curv->numents))
+ goto error;
+- if (!(curv->ents = jas_malloc(curv->numents * sizeof(jas_iccuint16_t))))
++ if (!(curv->ents = jas_alloc2(curv->numents, sizeof(jas_iccuint16_t))))
+ goto error;
+ for (i = 0; i < curv->numents; ++i) {
+ if (jas_iccgetuint16(in, &curv->ents[i]))
+@@ -1100,7 +1099,7 @@ static int jas_icctxtdesc_input(jas_icca
+ if (jas_iccgetuint32(in, &txtdesc->uclangcode) ||
+ jas_iccgetuint32(in, &txtdesc->uclen))
+ goto error;
+- if (!(txtdesc->ucdata = jas_malloc(txtdesc->uclen * 2)))
++ if (!(txtdesc->ucdata = jas_alloc2(txtdesc->uclen, 2)))
+ goto error;
+ if (jas_stream_read(in, txtdesc->ucdata, txtdesc->uclen * 2) !=
+ JAS_CAST(int, txtdesc->uclen * 2))
+@@ -1292,17 +1291,17 @@ static int jas_icclut8_input(jas_iccattr
+ jas_iccgetuint16(in, &lut8->numouttabents))
+ goto error;
+ clutsize = jas_iccpowi(lut8->clutlen, lut8->numinchans) * lut8->numoutchans;
+- if (!(lut8->clut = jas_malloc(clutsize * sizeof(jas_iccuint8_t))) ||
+- !(lut8->intabsbuf = jas_malloc(lut8->numinchans *
+- lut8->numintabents * sizeof(jas_iccuint8_t))) ||
+- !(lut8->intabs = jas_malloc(lut8->numinchans *
++ if (!(lut8->clut = jas_alloc2(clutsize, sizeof(jas_iccuint8_t))) ||
++ !(lut8->intabsbuf = jas_alloc3(lut8->numinchans,
++ lut8->numintabents, sizeof(jas_iccuint8_t))) ||
++ !(lut8->intabs = jas_alloc2(lut8->numinchans,
+ sizeof(jas_iccuint8_t *))))
+ goto error;
+ for (i = 0; i < lut8->numinchans; ++i)
+ lut8->intabs[i] = &lut8->intabsbuf[i * lut8->numintabents];
+- if (!(lut8->outtabsbuf = jas_malloc(lut8->numoutchans *
+- lut8->numouttabents * sizeof(jas_iccuint8_t))) ||
+- !(lut8->outtabs = jas_malloc(lut8->numoutchans *
++ if (!(lut8->outtabsbuf = jas_alloc3(lut8->numoutchans,
++ lut8->numouttabents, sizeof(jas_iccuint8_t))) ||
++ !(lut8->outtabs = jas_alloc2(lut8->numoutchans,
+ sizeof(jas_iccuint8_t *))))
+ goto error;
+ for (i = 0; i < lut8->numoutchans; ++i)
+@@ -1461,17 +1460,17 @@ static int jas_icclut16_input(jas_iccatt
+ jas_iccgetuint16(in, &lut16->numouttabents))
+ goto error;
+ clutsize = jas_iccpowi(lut16->clutlen, lut16->numinchans) * lut16->numoutchans;
+- if (!(lut16->clut = jas_malloc(clutsize * sizeof(jas_iccuint16_t))) ||
+- !(lut16->intabsbuf = jas_malloc(lut16->numinchans *
+- lut16->numintabents * sizeof(jas_iccuint16_t))) ||
+- !(lut16->intabs = jas_malloc(lut16->numinchans *
++ if (!(lut16->clut = jas_alloc2(clutsize, sizeof(jas_iccuint16_t))) ||
++ !(lut16->intabsbuf = jas_alloc3(lut16->numinchans,
++ lut16->numintabents, sizeof(jas_iccuint16_t))) ||
++ !(lut16->intabs = jas_alloc2(lut16->numinchans,
+ sizeof(jas_iccuint16_t *))))
+ goto error;
+ for (i = 0; i < lut16->numinchans; ++i)
+ lut16->intabs[i] = &lut16->intabsbuf[i * lut16->numintabents];
+- if (!(lut16->outtabsbuf = jas_malloc(lut16->numoutchans *
+- lut16->numouttabents * sizeof(jas_iccuint16_t))) ||
+- !(lut16->outtabs = jas_malloc(lut16->numoutchans *
++ if (!(lut16->outtabsbuf = jas_alloc3(lut16->numoutchans,
++ lut16->numouttabents, sizeof(jas_iccuint16_t))) ||
++ !(lut16->outtabs = jas_alloc2(lut16->numoutchans,
+ sizeof(jas_iccuint16_t *))))
+ goto error;
+ for (i = 0; i < lut16->numoutchans; ++i)
+diff -pruN jasper-1.900.1.orig/src/libjasper/base/jas_image.c jasper-1.900.1/src/libjasper/base/jas_image.c
+--- jasper-1.900.1.orig/src/libjasper/base/jas_image.c 2007-01-19 22:43:05.000000000 +0100
++++ jasper-1.900.1/src/libjasper/base/jas_image.c 2009-10-22 10:27:45.000000000 +0200
+@@ -142,7 +142,7 @@ jas_image_t *jas_image_create(int numcmp
+ image->inmem_ = true;
+
+ /* Allocate memory for the per-component information. */
+- if (!(image->cmpts_ = jas_malloc(image->maxcmpts_ *
++ if (!(image->cmpts_ = jas_alloc2(image->maxcmpts_,
+ sizeof(jas_image_cmpt_t *)))) {
+ jas_image_destroy(image);
+ return 0;
+@@ -774,8 +774,7 @@ static int jas_image_growcmpts(jas_image
+ jas_image_cmpt_t **newcmpts;
+ int cmptno;
+
+- newcmpts = (!image->cmpts_) ? jas_malloc(maxcmpts * sizeof(jas_image_cmpt_t *)) :
+- jas_realloc(image->cmpts_, maxcmpts * sizeof(jas_image_cmpt_t *));
++ newcmpts = jas_realloc2(image->cmpts_, maxcmpts, sizeof(jas_image_cmpt_t *));
+ if (!newcmpts) {
+ return -1;
+ }
+diff -pruN jasper-1.900.1.orig/src/libjasper/base/jas_malloc.c jasper-1.900.1/src/libjasper/base/jas_malloc.c
+--- jasper-1.900.1.orig/src/libjasper/base/jas_malloc.c 2007-01-19 22:43:05.000000000 +0100
++++ jasper-1.900.1/src/libjasper/base/jas_malloc.c 2009-10-22 10:27:45.000000000 +0200
+@@ -76,6 +76,9 @@
+
+ /* We need the prototype for memset. */
+ #include <string.h>
++#include <limits.h>
++#include <errno.h>
++#include <stdint.h>
+
+ #include "jasper/jas_malloc.h"
+
+@@ -113,18 +116,50 @@ void jas_free(void *ptr)
+
+ void *jas_realloc(void *ptr, size_t size)
+ {
+- return realloc(ptr, size);
++ return ptr ? realloc(ptr, size) : malloc(size);
+ }
+
+-void *jas_calloc(size_t nmemb, size_t size)
++void *jas_realloc2(void *ptr, size_t nmemb, size_t size)
++{
++ if (!ptr)
++ return jas_alloc2(nmemb, size);
++ if (nmemb && SIZE_MAX / nmemb < size) {
++ errno = ENOMEM;
++ return NULL;
++ }
++ return jas_realloc(ptr, nmemb * size);
++
++}
++
++void *jas_alloc2(size_t nmemb, size_t size)
++{
++ if (nmemb && SIZE_MAX / nmemb < size) {
++ errno = ENOMEM;
++ return NULL;
++ }
++
++ return jas_malloc(nmemb * size);
++}
++
++void *jas_alloc3(size_t a, size_t b, size_t c)
+ {
+- void *ptr;
+ size_t n;
+- n = nmemb * size;
+- if (!(ptr = jas_malloc(n * sizeof(char)))) {
+- return 0;
++
++ if (a && SIZE_MAX / a < b) {
++ errno = ENOMEM;
++ return NULL;
+ }
+- memset(ptr, 0, n);
++
++ return jas_alloc2(a*b, c);
++}
++
++void *jas_calloc(size_t nmemb, size_t size)
++{
++ void *ptr;
++
++ ptr = jas_alloc2(nmemb, size);
++ if (ptr)
++ memset(ptr, 0, nmemb*size);
+ return ptr;
+ }
+
+diff -pruN jasper-1.900.1.orig/src/libjasper/base/jas_seq.c jasper-1.900.1/src/libjasper/base/jas_seq.c
+--- jasper-1.900.1.orig/src/libjasper/base/jas_seq.c 2007-01-19 22:43:05.000000000 +0100
++++ jasper-1.900.1/src/libjasper/base/jas_seq.c 2009-10-22 10:27:45.000000000 +0200
+@@ -114,7 +114,7 @@ jas_matrix_t *jas_matrix_create(int numr
+ matrix->datasize_ = numrows * numcols;
+
+ if (matrix->maxrows_ > 0) {
+- if (!(matrix->rows_ = jas_malloc(matrix->maxrows_ *
++ if (!(matrix->rows_ = jas_alloc2(matrix->maxrows_,
+ sizeof(jas_seqent_t *)))) {
+ jas_matrix_destroy(matrix);
+ return 0;
+@@ -122,7 +122,7 @@ jas_matrix_t *jas_matrix_create(int numr
+ }
+
+ if (matrix->datasize_ > 0) {
+- if (!(matrix->data_ = jas_malloc(matrix->datasize_ *
++ if (!(matrix->data_ = jas_alloc2(matrix->datasize_,
+ sizeof(jas_seqent_t)))) {
+ jas_matrix_destroy(matrix);
+ return 0;
+@@ -220,7 +220,7 @@ void jas_matrix_bindsub(jas_matrix_t *ma
+ mat0->numrows_ = r1 - r0 + 1;
+ mat0->numcols_ = c1 - c0 + 1;
+ mat0->maxrows_ = mat0->numrows_;
+- mat0->rows_ = jas_malloc(mat0->maxrows_ * sizeof(jas_seqent_t *));
++ mat0->rows_ = jas_alloc2(mat0->maxrows_, sizeof(jas_seqent_t *));
+ for (i = 0; i < mat0->numrows_; ++i) {
+ mat0->rows_[i] = mat1->rows_[r0 + i] + c0;
+ }
+diff -pruN jasper-1.900.1.orig/src/libjasper/base/jas_stream.c jasper-1.900.1/src/libjasper/base/jas_stream.c
+--- jasper-1.900.1.orig/src/libjasper/base/jas_stream.c 2007-01-19 22:43:05.000000000 +0100
++++ jasper-1.900.1/src/libjasper/base/jas_stream.c 2009-10-22 10:27:45.000000000 +0200
+@@ -212,7 +212,7 @@ jas_stream_t *jas_stream_memopen(char *b
+ if (buf) {
+ obj->buf_ = (unsigned char *) buf;
+ } else {
+- obj->buf_ = jas_malloc(obj->bufsize_ * sizeof(char));
++ obj->buf_ = jas_malloc(obj->bufsize_);
+ obj->myalloc_ = 1;
+ }
+ if (!obj->buf_) {
+@@ -992,7 +992,7 @@ static int mem_resize(jas_stream_memobj_
+ unsigned char *buf;
+
+ assert(m->buf_);
+- if (!(buf = jas_realloc(m->buf_, bufsize * sizeof(unsigned char)))) {
++ if (!(buf = jas_realloc(m->buf_, bufsize))) {
+ return -1;
+ }
+ m->buf_ = buf;
+diff -pruN jasper-1.900.1.orig/src/libjasper/bmp/bmp_dec.c jasper-1.900.1/src/libjasper/bmp/bmp_dec.c
+--- jasper-1.900.1.orig/src/libjasper/bmp/bmp_dec.c 2007-01-19 22:43:07.000000000 +0100
++++ jasper-1.900.1/src/libjasper/bmp/bmp_dec.c 2009-10-22 10:27:45.000000000 +0200
+@@ -283,7 +283,7 @@ static bmp_info_t *bmp_getinfo(jas_strea
+ }
+
+ if (info->numcolors > 0) {
+- if (!(info->palents = jas_malloc(info->numcolors *
++ if (!(info->palents = jas_alloc2(info->numcolors,
+ sizeof(bmp_palent_t)))) {
+ bmp_info_destroy(info);
+ return 0;
+diff -pruN jasper-1.900.1.orig/src/libjasper/include/jasper/jas_malloc.h jasper-1.900.1/src/libjasper/include/jasper/jas_malloc.h
+--- jasper-1.900.1.orig/src/libjasper/include/jasper/jas_malloc.h 2007-01-19 22:43:04.000000000 +0100
++++ jasper-1.900.1/src/libjasper/include/jasper/jas_malloc.h 2009-10-22 10:27:45.000000000 +0200
+@@ -95,6 +95,9 @@ extern "C" {
+ #define jas_free MEMFREE
+ #define jas_realloc MEMREALLOC
+ #define jas_calloc MEMCALLOC
++#define jas_alloc2(a, b) MEMALLOC((a)*(b))
++#define jas_alloc3(a, b, c) MEMALLOC((a)*(b)*(c))
++#define jas_realloc2(p, a, b) MEMREALLOC((p), (a)*(b))
+ #endif
+
+ /******************************************************************************\
+@@ -115,6 +118,12 @@ void *jas_realloc(void *ptr, size_t size
+ /* Allocate a block of memory and initialize the contents to zero. */
+ void *jas_calloc(size_t nmemb, size_t size);
+
++/* size-checked double allocation .*/
++void *jas_alloc2(size_t, size_t);
++
++void *jas_alloc3(size_t, size_t, size_t);
++
++void *jas_realloc2(void *, size_t, size_t);
+ #endif
+
+ #ifdef __cplusplus
+diff -pruN jasper-1.900.1.orig/src/libjasper/jp2/jp2_cod.c jasper-1.900.1/src/libjasper/jp2/jp2_cod.c
+--- jasper-1.900.1.orig/src/libjasper/jp2/jp2_cod.c 2007-01-19 22:43:05.000000000 +0100
++++ jasper-1.900.1/src/libjasper/jp2/jp2_cod.c 2009-10-22 10:30:24.000000000 +0200
+@@ -247,7 +247,7 @@ jp2_box_t *jp2_box_get(jas_stream_t *in)
+ box = 0;
+ tmpstream = 0;
+
+- if (!(box = jas_malloc(sizeof(jp2_box_t)))) {
++ if (!(box = jas_calloc(1, sizeof(jp2_box_t)))) {
+ goto error;
+ }
+ box->ops = &jp2_boxinfo_unk.ops;
+@@ -372,7 +372,7 @@ static int jp2_bpcc_getdata(jp2_box_t *b
+ jp2_bpcc_t *bpcc = &box->data.bpcc;
+ unsigned int i;
+ bpcc->numcmpts = box->datalen;
+- if (!(bpcc->bpcs = jas_malloc(bpcc->numcmpts * sizeof(uint_fast8_t)))) {
++ if (!(bpcc->bpcs = jas_alloc2(bpcc->numcmpts, sizeof(uint_fast8_t)))) {
+ return -1;
+ }
+ for (i = 0; i < bpcc->numcmpts; ++i) {
+@@ -416,7 +416,7 @@ static int jp2_colr_getdata(jp2_box_t *b
+ break;
+ case JP2_COLR_ICC:
+ colr->iccplen = box->datalen - 3;
+- if (!(colr->iccp = jas_malloc(colr->iccplen * sizeof(uint_fast8_t)))) {
++ if (!(colr->iccp = jas_alloc2(colr->iccplen, sizeof(uint_fast8_t)))) {
+ return -1;
+ }
+ if (jas_stream_read(in, colr->iccp, colr->iccplen) != colr->iccplen) {
+@@ -453,7 +453,7 @@ static int jp2_cdef_getdata(jp2_box_t *b
+ if (jp2_getuint16(in, &cdef->numchans)) {
+ return -1;
+ }
+- if (!(cdef->ents = jas_malloc(cdef->numchans * sizeof(jp2_cdefchan_t)))) {
++ if (!(cdef->ents = jas_alloc2(cdef->numchans, sizeof(jp2_cdefchan_t)))) {
+ return -1;
+ }
+ for (channo = 0; channo < cdef->numchans; ++channo) {
+@@ -766,7 +766,7 @@ static int jp2_cmap_getdata(jp2_box_t *b
+ unsigned int i;
+
+ cmap->numchans = (box->datalen) / 4;
+- if (!(cmap->ents = jas_malloc(cmap->numchans * sizeof(jp2_cmapent_t)))) {
++ if (!(cmap->ents = jas_alloc2(cmap->numchans, sizeof(jp2_cmapent_t)))) {
+ return -1;
+ }
+ for (i = 0; i < cmap->numchans; ++i) {
+@@ -828,10 +828,10 @@ static int jp2_pclr_getdata(jp2_box_t *b
+ return -1;
+ }
+ lutsize = pclr->numlutents * pclr->numchans;
+- if (!(pclr->lutdata = jas_malloc(lutsize * sizeof(int_fast32_t)))) {
++ if (!(pclr->lutdata = jas_alloc2(lutsize, sizeof(int_fast32_t)))) {
+ return -1;
+ }
+- if (!(pclr->bpc = jas_malloc(pclr->numchans * sizeof(uint_fast8_t)))) {
++ if (!(pclr->bpc = jas_alloc2(pclr->numchans, sizeof(uint_fast8_t)))) {
+ return -1;
+ }
+ for (i = 0; i < pclr->numchans; ++i) {
+diff -pruN jasper-1.900.1.orig/src/libjasper/jp2/jp2_dec.c jasper-1.900.1/src/libjasper/jp2/jp2_dec.c
+--- jasper-1.900.1.orig/src/libjasper/jp2/jp2_dec.c 2007-01-19 22:43:05.000000000 +0100
++++ jasper-1.900.1/src/libjasper/jp2/jp2_dec.c 2009-10-22 10:27:45.000000000 +0200
+@@ -336,7 +336,7 @@ jas_image_t *jp2_decode(jas_stream_t *in
+ }
+
+ /* Allocate space for the channel-number to component-number LUT. */
+- if (!(dec->chantocmptlut = jas_malloc(dec->numchans * sizeof(uint_fast16_t)))) {
++ if (!(dec->chantocmptlut = jas_alloc2(dec->numchans, sizeof(uint_fast16_t)))) {
+ jas_eprintf("error: no memory\n");
+ goto error;
+ }
+@@ -354,7 +354,7 @@ jas_image_t *jp2_decode(jas_stream_t *in
+ if (cmapent->map == JP2_CMAP_DIRECT) {
+ dec->chantocmptlut[channo] = channo;
+ } else if (cmapent->map == JP2_CMAP_PALETTE) {
+- lutents = jas_malloc(pclrd->numlutents * sizeof(int_fast32_t));
++ lutents = jas_alloc2(pclrd->numlutents, sizeof(int_fast32_t));
+ for (i = 0; i < pclrd->numlutents; ++i) {
+ lutents[i] = pclrd->lutdata[cmapent->pcol + i * pclrd->numchans];
+ }
+diff -pruN jasper-1.900.1.orig/src/libjasper/jp2/jp2_enc.c jasper-1.900.1/src/libjasper/jp2/jp2_enc.c
+--- jasper-1.900.1.orig/src/libjasper/jp2/jp2_enc.c 2007-01-19 22:43:05.000000000 +0100
++++ jasper-1.900.1/src/libjasper/jp2/jp2_enc.c 2009-10-22 10:27:45.000000000 +0200
+@@ -191,7 +191,7 @@ int sgnd;
+ }
+ bpcc = &box->data.bpcc;
+ bpcc->numcmpts = jas_image_numcmpts(image);
+- if (!(bpcc->bpcs = jas_malloc(bpcc->numcmpts *
++ if (!(bpcc->bpcs = jas_alloc2(bpcc->numcmpts,
+ sizeof(uint_fast8_t)))) {
+ goto error;
+ }
+@@ -285,7 +285,7 @@ int sgnd;
+ }
+ cdef = &box->data.cdef;
+ cdef->numchans = jas_image_numcmpts(image);
+- cdef->ents = jas_malloc(cdef->numchans * sizeof(jp2_cdefchan_t));
++ cdef->ents = jas_alloc2(cdef->numchans, sizeof(jp2_cdefchan_t));
+ for (i = 0; i < jas_image_numcmpts(image); ++i) {
+ cdefchanent = &cdef->ents[i];
+ cdefchanent->channo = i;
+diff -pruN jasper-1.900.1.orig/src/libjasper/jpc/jpc_cs.c jasper-1.900.1/src/libjasper/jpc/jpc_cs.c
+--- jasper-1.900.1.orig/src/libjasper/jpc/jpc_cs.c 2009-10-22 09:58:16.000000000 +0200
++++ jasper-1.900.1/src/libjasper/jpc/jpc_cs.c 2009-10-22 10:27:45.000000000 +0200
+@@ -502,7 +502,7 @@ static int jpc_siz_getparms(jpc_ms_t *ms
+ !siz->tileheight || !siz->numcomps) {
+ return -1;
+ }
+- if (!(siz->comps = jas_malloc(siz->numcomps * sizeof(jpc_sizcomp_t)))) {
++ if (!(siz->comps = jas_alloc2(siz->numcomps, sizeof(jpc_sizcomp_t)))) {
+ return -1;
+ }
+ for (i = 0; i < siz->numcomps; ++i) {
+@@ -986,7 +986,7 @@ static int jpc_qcx_getcompparms(jpc_qcxc
+ jpc_qcx_destroycompparms(compparms);
+ return -1;
+ } else if (compparms->numstepsizes > 0) {
+- compparms->stepsizes = jas_malloc(compparms->numstepsizes *
++ compparms->stepsizes = jas_alloc2(compparms->numstepsizes,
+ sizeof(uint_fast16_t));
+ assert(compparms->stepsizes);
+ for (i = 0; i < compparms->numstepsizes; ++i) {
+@@ -1094,7 +1094,7 @@ static int jpc_ppm_getparms(jpc_ms_t *ms
+
+ ppm->len = ms->len - 1;
+ if (ppm->len > 0) {
+- if (!(ppm->data = jas_malloc(ppm->len * sizeof(unsigned char)))) {
++ if (!(ppm->data = jas_malloc(ppm->len))) {
+ goto error;
+ }
+ if (JAS_CAST(uint, jas_stream_read(in, ppm->data, ppm->len)) != ppm->len) {
+@@ -1163,7 +1163,7 @@ static int jpc_ppt_getparms(jpc_ms_t *ms
+ }
+ ppt->len = ms->len - 1;
+ if (ppt->len > 0) {
+- if (!(ppt->data = jas_malloc(ppt->len * sizeof(unsigned char)))) {
++ if (!(ppt->data = jas_malloc(ppt->len))) {
+ goto error;
+ }
+ if (jas_stream_read(in, (char *) ppt->data, ppt->len) != JAS_CAST(int, ppt->len)) {
+@@ -1226,7 +1226,7 @@ static int jpc_poc_getparms(jpc_ms_t *ms
+ uint_fast8_t tmp;
+ poc->numpchgs = (cstate->numcomps > 256) ? (ms->len / 9) :
+ (ms->len / 7);
+- if (!(poc->pchgs = jas_malloc(poc->numpchgs * sizeof(jpc_pocpchg_t)))) {
++ if (!(poc->pchgs = jas_alloc2(poc->numpchgs, sizeof(jpc_pocpchg_t)))) {
+ goto error;
+ }
+ for (pchgno = 0, pchg = poc->pchgs; pchgno < poc->numpchgs; ++pchgno,
+@@ -1331,7 +1331,7 @@ static int jpc_crg_getparms(jpc_ms_t *ms
+ jpc_crgcomp_t *comp;
+ uint_fast16_t compno;
+ crg->numcomps = cstate->numcomps;
+- if (!(crg->comps = jas_malloc(cstate->numcomps * sizeof(uint_fast16_t)))) {
++ if (!(crg->comps = jas_alloc2(cstate->numcomps, sizeof(uint_fast16_t)))) {
+ return -1;
+ }
+ for (compno = 0, comp = crg->comps; compno < cstate->numcomps;
+@@ -1470,7 +1470,7 @@ static int jpc_unk_getparms(jpc_ms_t *ms
+ cstate = 0;
+
+ if (ms->len > 0) {
+- if (!(unk->data = jas_malloc(ms->len * sizeof(unsigned char)))) {
++ if (!(unk->data = jas_malloc(ms->len))) {
+ return -1;
+ }
+ if (jas_stream_read(in, (char *) unk->data, ms->len) != JAS_CAST(int, ms->len)) {
+diff -pruN jasper-1.900.1.orig/src/libjasper/jpc/jpc_dec.c jasper-1.900.1/src/libjasper/jpc/jpc_dec.c
+--- jasper-1.900.1.orig/src/libjasper/jpc/jpc_dec.c 2009-10-22 09:58:16.000000000 +0200
++++ jasper-1.900.1/src/libjasper/jpc/jpc_dec.c 2009-10-22 10:30:50.000000000 +0200
+@@ -449,7 +449,7 @@ static int jpc_dec_process_sot(jpc_dec_t
+
+ if (dec->state == JPC_MH) {
+
+- compinfos = jas_malloc(dec->numcomps * sizeof(jas_image_cmptparm_t));
++ compinfos = jas_alloc2(dec->numcomps, sizeof(jas_image_cmptparm_t));
+ assert(compinfos);
+ for (cmptno = 0, cmpt = dec->cmpts, compinfo = compinfos;
+ cmptno < dec->numcomps; ++cmptno, ++cmpt, ++compinfo) {
+@@ -692,7 +692,7 @@ static int jpc_dec_tileinit(jpc_dec_t *d
+ tile->realmode = 1;
+ }
+ tcomp->numrlvls = ccp->numrlvls;
+- if (!(tcomp->rlvls = jas_malloc(tcomp->numrlvls *
++ if (!(tcomp->rlvls = jas_alloc2(tcomp->numrlvls,
+ sizeof(jpc_dec_rlvl_t)))) {
+ return -1;
+ }
+@@ -764,7 +764,7 @@ rlvl->bands = 0;
+ rlvl->cbgheightexpn);
+
+ rlvl->numbands = (!rlvlno) ? 1 : 3;
+- if (!(rlvl->bands = jas_malloc(rlvl->numbands *
++ if (!(rlvl->bands = jas_alloc2(rlvl->numbands,
+ sizeof(jpc_dec_band_t)))) {
+ return -1;
+ }
+@@ -797,7 +797,7 @@ rlvl->bands = 0;
+
+ assert(rlvl->numprcs);
+
+- if (!(band->prcs = jas_malloc(rlvl->numprcs * sizeof(jpc_dec_prc_t)))) {
++ if (!(band->prcs = jas_alloc2(rlvl->numprcs, sizeof(jpc_dec_prc_t)))) {
+ return -1;
+ }
+
+@@ -834,7 +834,7 @@ rlvl->bands = 0;
+ if (!(prc->numimsbstagtree = jpc_tagtree_create(prc->numhcblks, prc->numvcblks))) {
+ return -1;
+ }
+- if (!(prc->cblks = jas_malloc(prc->numcblks * sizeof(jpc_dec_cblk_t)))) {
++ if (!(prc->cblks = jas_alloc2(prc->numcblks, sizeof(jpc_dec_cblk_t)))) {
+ return -1;
+ }
+
+@@ -1181,7 +1181,7 @@ static int jpc_dec_process_siz(jpc_dec_t
+ return -1;
+ }
+
+- if (!(dec->cmpts = jas_malloc(dec->numcomps * sizeof(jpc_dec_cmpt_t)))) {
++ if (!(dec->cmpts = jas_alloc2(dec->numcomps, sizeof(jpc_dec_cmpt_t)))) {
+ return -1;
+ }
+
+@@ -1204,7 +1204,7 @@ static int jpc_dec_process_siz(jpc_dec_t
+ dec->numhtiles = JPC_CEILDIV(dec->xend - dec->tilexoff, dec->tilewidth);
+ dec->numvtiles = JPC_CEILDIV(dec->yend - dec->tileyoff, dec->tileheight);
+ dec->numtiles = dec->numhtiles * dec->numvtiles;
+- if (!(dec->tiles = jas_malloc(dec->numtiles * sizeof(jpc_dec_tile_t)))) {
++ if (!(dec->tiles = jas_calloc(dec->numtiles, sizeof(jpc_dec_tile_t)))) {
+ return -1;
+ }
+
+@@ -1228,7 +1228,7 @@ static int jpc_dec_process_siz(jpc_dec_t
+ tile->pkthdrstreampos = 0;
+ tile->pptstab = 0;
+ tile->cp = 0;
+- if (!(tile->tcomps = jas_malloc(dec->numcomps *
++ if (!(tile->tcomps = jas_calloc(dec->numcomps,
+ sizeof(jpc_dec_tcomp_t)))) {
+ return -1;
+ }
+@@ -1489,7 +1489,7 @@ static jpc_dec_cp_t *jpc_dec_cp_create(u
+ cp->numlyrs = 0;
+ cp->mctid = 0;
+ cp->csty = 0;
+- if (!(cp->ccps = jas_malloc(cp->numcomps * sizeof(jpc_dec_ccp_t)))) {
++ if (!(cp->ccps = jas_alloc2(cp->numcomps, sizeof(jpc_dec_ccp_t)))) {
+ return 0;
+ }
+ if (!(cp->pchglist = jpc_pchglist_create())) {
+@@ -2048,7 +2048,7 @@ jpc_streamlist_t *jpc_streamlist_create(
+ }
+ streamlist->numstreams = 0;
+ streamlist->maxstreams = 100;
+- if (!(streamlist->streams = jas_malloc(streamlist->maxstreams *
++ if (!(streamlist->streams = jas_alloc2(streamlist->maxstreams,
+ sizeof(jas_stream_t *)))) {
+ jas_free(streamlist);
+ return 0;
+@@ -2068,8 +2068,8 @@ int jpc_streamlist_insert(jpc_streamlist
+ /* Grow the array of streams if necessary. */
+ if (streamlist->numstreams >= streamlist->maxstreams) {
+ newmaxstreams = streamlist->maxstreams + 1024;
+- if (!(newstreams = jas_realloc(streamlist->streams,
+- (newmaxstreams + 1024) * sizeof(jas_stream_t *)))) {
++ if (!(newstreams = jas_realloc2(streamlist->streams,
++ (newmaxstreams + 1024), sizeof(jas_stream_t *)))) {
+ return -1;
+ }
+ for (i = streamlist->numstreams; i < streamlist->maxstreams; ++i) {
+@@ -2155,8 +2155,7 @@ int jpc_ppxstab_grow(jpc_ppxstab_t *tab,
+ {
+ jpc_ppxstabent_t **newents;
+ if (tab->maxents < maxents) {
+- newents = (tab->ents) ? jas_realloc(tab->ents, maxents *
+- sizeof(jpc_ppxstabent_t *)) : jas_malloc(maxents * sizeof(jpc_ppxstabent_t *));
++ newents = jas_realloc2(tab->ents, maxents, sizeof(jpc_ppxstabent_t *));
+ if (!newents) {
+ return -1;
+ }
+diff -pruN jasper-1.900.1.orig/src/libjasper/jpc/jpc_enc.c jasper-1.900.1/src/libjasper/jpc/jpc_enc.c
+--- jasper-1.900.1.orig/src/libjasper/jpc/jpc_enc.c 2007-01-19 22:43:07.000000000 +0100
++++ jasper-1.900.1/src/libjasper/jpc/jpc_enc.c 2009-10-22 10:27:45.000000000 +0200
+@@ -403,7 +403,7 @@ static jpc_enc_cp_t *cp_create(char *opt
+ vsteplcm *= jas_image_cmptvstep(image, cmptno);
+ }
+
+- if (!(cp->ccps = jas_malloc(cp->numcmpts * sizeof(jpc_enc_ccp_t)))) {
++ if (!(cp->ccps = jas_alloc2(cp->numcmpts, sizeof(jpc_enc_ccp_t)))) {
+ goto error;
+ }
+ for (cmptno = 0, ccp = cp->ccps; cmptno < JAS_CAST(int, cp->numcmpts); ++cmptno,
+@@ -656,7 +656,7 @@ static jpc_enc_cp_t *cp_create(char *opt
+
+ if (ilyrrates && numilyrrates > 0) {
+ tcp->numlyrs = numilyrrates + 1;
+- if (!(tcp->ilyrrates = jas_malloc((tcp->numlyrs - 1) *
++ if (!(tcp->ilyrrates = jas_alloc2((tcp->numlyrs - 1),
+ sizeof(jpc_fix_t)))) {
+ goto error;
+ }
+@@ -940,7 +940,7 @@ startoff = jas_stream_getrwcount(enc->ou
+ siz->tilewidth = cp->tilewidth;
+ siz->tileheight = cp->tileheight;
+ siz->numcomps = cp->numcmpts;
+- siz->comps = jas_malloc(siz->numcomps * sizeof(jpc_sizcomp_t));
++ siz->comps = jas_alloc2(siz->numcomps, sizeof(jpc_sizcomp_t));
+ assert(siz->comps);
+ for (i = 0; i < JAS_CAST(int, cp->numcmpts); ++i) {
+ siz->comps[i].prec = cp->ccps[i].prec;
+@@ -977,7 +977,7 @@ startoff = jas_stream_getrwcount(enc->ou
+ return -1;
+ }
+ crg = &enc->mrk->parms.crg;
+- crg->comps = jas_malloc(crg->numcomps * sizeof(jpc_crgcomp_t));
++ crg->comps = jas_alloc2(crg->numcomps, sizeof(jpc_crgcomp_t));
+ if (jpc_putms(enc->out, enc->cstate, enc->mrk)) {
+ jas_eprintf("cannot write CRG marker\n");
+ return -1;
+@@ -1955,7 +1955,7 @@ jpc_enc_tile_t *jpc_enc_tile_create(jpc_
+ tile->mctid = cp->tcp.mctid;
+
+ tile->numlyrs = cp->tcp.numlyrs;
+- if (!(tile->lyrsizes = jas_malloc(tile->numlyrs *
++ if (!(tile->lyrsizes = jas_alloc2(tile->numlyrs,
+ sizeof(uint_fast32_t)))) {
+ goto error;
+ }
+@@ -1964,7 +1964,7 @@ jpc_enc_tile_t *jpc_enc_tile_create(jpc_
+ }
+
+ /* Allocate an array for the per-tile-component information. */
+- if (!(tile->tcmpts = jas_malloc(cp->numcmpts * sizeof(jpc_enc_tcmpt_t)))) {
++ if (!(tile->tcmpts = jas_alloc2(cp->numcmpts, sizeof(jpc_enc_tcmpt_t)))) {
+ goto error;
+ }
+ /* Initialize a few members critical for error recovery. */
+@@ -2110,7 +2110,7 @@ static jpc_enc_tcmpt_t *tcmpt_create(jpc
+ jas_seq2d_ystart(tcmpt->data), jas_seq2d_xend(tcmpt->data),
+ jas_seq2d_yend(tcmpt->data), bandinfos);
+
+- if (!(tcmpt->rlvls = jas_malloc(tcmpt->numrlvls * sizeof(jpc_enc_rlvl_t)))) {
++ if (!(tcmpt->rlvls = jas_alloc2(tcmpt->numrlvls, sizeof(jpc_enc_rlvl_t)))) {
+ goto error;
+ }
+ for (rlvlno = 0, rlvl = tcmpt->rlvls; rlvlno < tcmpt->numrlvls;
+@@ -2213,7 +2213,7 @@ static jpc_enc_rlvl_t *rlvl_create(jpc_e
+ rlvl->numvprcs = JPC_FLOORDIVPOW2(brprcbry - tlprctly, rlvl->prcheightexpn);
+ rlvl->numprcs = rlvl->numhprcs * rlvl->numvprcs;
+
+- if (!(rlvl->bands = jas_malloc(rlvl->numbands * sizeof(jpc_enc_band_t)))) {
++ if (!(rlvl->bands = jas_alloc2(rlvl->numbands, sizeof(jpc_enc_band_t)))) {
+ goto error;
+ }
+ for (bandno = 0, band = rlvl->bands; bandno < rlvl->numbands;
+@@ -2290,7 +2290,7 @@ if (bandinfo->xstart != bandinfo->xend &
+ band->synweight = bandinfo->synenergywt;
+
+ if (band->data) {
+- if (!(band->prcs = jas_malloc(rlvl->numprcs * sizeof(jpc_enc_prc_t)))) {
++ if (!(band->prcs = jas_alloc2(rlvl->numprcs, sizeof(jpc_enc_prc_t)))) {
+ goto error;
+ }
+ for (prcno = 0, prc = band->prcs; prcno < rlvl->numprcs; ++prcno,
+@@ -2422,7 +2422,7 @@ if (!rlvlno) {
+ goto error;
+ }
+
+- if (!(prc->cblks = jas_malloc(prc->numcblks * sizeof(jpc_enc_cblk_t)))) {
++ if (!(prc->cblks = jas_alloc2(prc->numcblks, sizeof(jpc_enc_cblk_t)))) {
+ goto error;
+ }
+ for (cblkno = 0, cblk = prc->cblks; cblkno < prc->numcblks;
+diff -pruN jasper-1.900.1.orig/src/libjasper/jpc/jpc_mqdec.c jasper-1.900.1/src/libjasper/jpc/jpc_mqdec.c
+--- jasper-1.900.1.orig/src/libjasper/jpc/jpc_mqdec.c 2007-01-19 22:43:07.000000000 +0100
++++ jasper-1.900.1/src/libjasper/jpc/jpc_mqdec.c 2009-10-22 10:27:45.000000000 +0200
+@@ -118,7 +118,7 @@ jpc_mqdec_t *jpc_mqdec_create(int maxctx
+ mqdec->in = in;
+ mqdec->maxctxs = maxctxs;
+ /* Allocate memory for the per-context state information. */
+- if (!(mqdec->ctxs = jas_malloc(mqdec->maxctxs * sizeof(jpc_mqstate_t *)))) {
++ if (!(mqdec->ctxs = jas_alloc2(mqdec->maxctxs, sizeof(jpc_mqstate_t *)))) {
+ goto error;
+ }
+ /* Set the current context to the first context. */
+diff -pruN jasper-1.900.1.orig/src/libjasper/jpc/jpc_mqenc.c jasper-1.900.1/src/libjasper/jpc/jpc_mqenc.c
+--- jasper-1.900.1.orig/src/libjasper/jpc/jpc_mqenc.c 2007-01-19 22:43:07.000000000 +0100
++++ jasper-1.900.1/src/libjasper/jpc/jpc_mqenc.c 2009-10-22 10:27:45.000000000 +0200
+@@ -197,7 +197,7 @@ jpc_mqenc_t *jpc_mqenc_create(int maxctx
+ mqenc->maxctxs = maxctxs;
+
+ /* Allocate memory for the per-context state information. */
+- if (!(mqenc->ctxs = jas_malloc(mqenc->maxctxs * sizeof(jpc_mqstate_t *)))) {
++ if (!(mqenc->ctxs = jas_alloc2(mqenc->maxctxs, sizeof(jpc_mqstate_t *)))) {
+ goto error;
+ }
+
+diff -pruN jasper-1.900.1.orig/src/libjasper/jpc/jpc_qmfb.c jasper-1.900.1/src/libjasper/jpc/jpc_qmfb.c
+--- jasper-1.900.1.orig/src/libjasper/jpc/jpc_qmfb.c 2007-01-19 22:43:07.000000000 +0100
++++ jasper-1.900.1/src/libjasper/jpc/jpc_qmfb.c 2009-10-22 10:27:45.000000000 +0200
+@@ -321,7 +321,7 @@ void jpc_qmfb_split_row(jpc_fix_t *a, in
+ #if !defined(HAVE_VLA)
+ /* Get a buffer. */
+ if (bufsize > QMFB_SPLITBUFSIZE) {
+- if (!(buf = jas_malloc(bufsize * sizeof(jpc_fix_t)))) {
++ if (!(buf = jas_alloc2(bufsize, sizeof(jpc_fix_t)))) {
+ /* We have no choice but to commit suicide in this case. */
+ abort();
+ }
+@@ -389,7 +389,7 @@ void jpc_qmfb_split_col(jpc_fix_t *a, in
+ #if !defined(HAVE_VLA)
+ /* Get a buffer. */
+ if (bufsize > QMFB_SPLITBUFSIZE) {
+- if (!(buf = jas_malloc(bufsize * sizeof(jpc_fix_t)))) {
++ if (!(buf = jas_alloc2(bufsize, sizeof(jpc_fix_t)))) {
+ /* We have no choice but to commit suicide in this case. */
+ abort();
+ }
+@@ -460,7 +460,7 @@ void jpc_qmfb_split_colgrp(jpc_fix_t *a,
+ #if !defined(HAVE_VLA)
+ /* Get a buffer. */
+ if (bufsize > QMFB_SPLITBUFSIZE) {
+- if (!(buf = jas_malloc(bufsize * sizeof(jpc_fix_t)))) {
++ if (!(buf = jas_alloc2(bufsize, sizeof(jpc_fix_t)))) {
+ /* We have no choice but to commit suicide in this case. */
+ abort();
+ }
+@@ -549,7 +549,7 @@ void jpc_qmfb_split_colres(jpc_fix_t *a,
+ #if !defined(HAVE_VLA)
+ /* Get a buffer. */
+ if (bufsize > QMFB_SPLITBUFSIZE) {
+- if (!(buf = jas_malloc(bufsize * sizeof(jpc_fix_t)))) {
++ if (!(buf = jas_alloc2(bufsize, sizeof(jpc_fix_t)))) {
+ /* We have no choice but to commit suicide in this case. */
+ abort();
+ }
+@@ -633,7 +633,7 @@ void jpc_qmfb_join_row(jpc_fix_t *a, int
+ #if !defined(HAVE_VLA)
+ /* Allocate memory for the join buffer from the heap. */
+ if (bufsize > QMFB_JOINBUFSIZE) {
+- if (!(buf = jas_malloc(bufsize * sizeof(jpc_fix_t)))) {
++ if (!(buf = jas_alloc2(bufsize, sizeof(jpc_fix_t)))) {
+ /* We have no choice but to commit suicide. */
+ abort();
+ }
+@@ -698,7 +698,7 @@ void jpc_qmfb_join_col(jpc_fix_t *a, int
+ #if !defined(HAVE_VLA)
+ /* Allocate memory for the join buffer from the heap. */
+ if (bufsize > QMFB_JOINBUFSIZE) {
+- if (!(buf = jas_malloc(bufsize * sizeof(jpc_fix_t)))) {
++ if (!(buf = jas_alloc2(bufsize, sizeof(jpc_fix_t)))) {
+ /* We have no choice but to commit suicide. */
+ abort();
+ }
+@@ -766,7 +766,7 @@ void jpc_qmfb_join_colgrp(jpc_fix_t *a,
+ #if !defined(HAVE_VLA)
+ /* Allocate memory for the join buffer from the heap. */
+ if (bufsize > QMFB_JOINBUFSIZE) {
+- if (!(buf = jas_malloc(bufsize * JPC_QMFB_COLGRPSIZE * sizeof(jpc_fix_t)))) {
++ if (!(buf = jas_alloc2(bufsize, JPC_QMFB_COLGRPSIZE * sizeof(jpc_fix_t)))) {
+ /* We have no choice but to commit suicide. */
+ abort();
+ }
+@@ -852,7 +852,7 @@ void jpc_qmfb_join_colres(jpc_fix_t *a,
+ #if !defined(HAVE_VLA)
+ /* Allocate memory for the join buffer from the heap. */
+ if (bufsize > QMFB_JOINBUFSIZE) {
+- if (!(buf = jas_malloc(bufsize * numcols * sizeof(jpc_fix_t)))) {
++ if (!(buf = jas_alloc3(bufsize, numcols, sizeof(jpc_fix_t)))) {
+ /* We have no choice but to commit suicide. */
+ abort();
+ }
+diff -pruN jasper-1.900.1.orig/src/libjasper/jpc/jpc_t1enc.c jasper-1.900.1/src/libjasper/jpc/jpc_t1enc.c
+--- jasper-1.900.1.orig/src/libjasper/jpc/jpc_t1enc.c 2007-01-19 22:43:07.000000000 +0100
++++ jasper-1.900.1/src/libjasper/jpc/jpc_t1enc.c 2009-10-22 10:27:45.000000000 +0200
+@@ -219,7 +219,7 @@ int jpc_enc_enccblk(jpc_enc_t *enc, jas_
+
+ cblk->numpasses = (cblk->numbps > 0) ? (3 * cblk->numbps - 2) : 0;
+ if (cblk->numpasses > 0) {
+- cblk->passes = jas_malloc(cblk->numpasses * sizeof(jpc_enc_pass_t));
++ cblk->passes = jas_alloc2(cblk->numpasses, sizeof(jpc_enc_pass_t));
+ assert(cblk->passes);
+ } else {
+ cblk->passes = 0;
+diff -pruN jasper-1.900.1.orig/src/libjasper/jpc/jpc_t2cod.c jasper-1.900.1/src/libjasper/jpc/jpc_t2cod.c
+--- jasper-1.900.1.orig/src/libjasper/jpc/jpc_t2cod.c 2007-01-19 22:43:07.000000000 +0100
++++ jasper-1.900.1/src/libjasper/jpc/jpc_t2cod.c 2009-10-22 10:27:45.000000000 +0200
+@@ -573,7 +573,7 @@ int jpc_pchglist_insert(jpc_pchglist_t *
+ }
+ if (pchglist->numpchgs >= pchglist->maxpchgs) {
+ newmaxpchgs = pchglist->maxpchgs + 128;
+- if (!(newpchgs = jas_realloc(pchglist->pchgs, newmaxpchgs * sizeof(jpc_pchg_t *)))) {
++ if (!(newpchgs = jas_realloc2(pchglist->pchgs, newmaxpchgs, sizeof(jpc_pchg_t *)))) {
+ return -1;
+ }
+ pchglist->maxpchgs = newmaxpchgs;
+diff -pruN jasper-1.900.1.orig/src/libjasper/jpc/jpc_t2dec.c jasper-1.900.1/src/libjasper/jpc/jpc_t2dec.c
+--- jasper-1.900.1.orig/src/libjasper/jpc/jpc_t2dec.c 2007-01-19 22:43:07.000000000 +0100
++++ jasper-1.900.1/src/libjasper/jpc/jpc_t2dec.c 2009-10-22 10:27:45.000000000 +0200
+@@ -478,7 +478,7 @@ jpc_pi_t *jpc_dec_pi_create(jpc_dec_t *d
+ return 0;
+ }
+ pi->numcomps = dec->numcomps;
+- if (!(pi->picomps = jas_malloc(pi->numcomps * sizeof(jpc_picomp_t)))) {
++ if (!(pi->picomps = jas_alloc2(pi->numcomps, sizeof(jpc_picomp_t)))) {
+ jpc_pi_destroy(pi);
+ return 0;
+ }
+@@ -490,7 +490,7 @@ jpc_pi_t *jpc_dec_pi_create(jpc_dec_t *d
+ for (compno = 0, tcomp = tile->tcomps, picomp = pi->picomps;
+ compno < pi->numcomps; ++compno, ++tcomp, ++picomp) {
+ picomp->numrlvls = tcomp->numrlvls;
+- if (!(picomp->pirlvls = jas_malloc(picomp->numrlvls *
++ if (!(picomp->pirlvls = jas_alloc2(picomp->numrlvls,
+ sizeof(jpc_pirlvl_t)))) {
+ jpc_pi_destroy(pi);
+ return 0;
+@@ -503,7 +503,7 @@ jpc_pi_t *jpc_dec_pi_create(jpc_dec_t *d
+ rlvlno < picomp->numrlvls; ++rlvlno, ++pirlvl, ++rlvl) {
+ /* XXX sizeof(long) should be sizeof different type */
+ pirlvl->numprcs = rlvl->numprcs;
+- if (!(pirlvl->prclyrnos = jas_malloc(pirlvl->numprcs *
++ if (!(pirlvl->prclyrnos = jas_alloc2(pirlvl->numprcs,
+ sizeof(long)))) {
+ jpc_pi_destroy(pi);
+ return 0;
+diff -pruN jasper-1.900.1.orig/src/libjasper/jpc/jpc_t2enc.c jasper-1.900.1/src/libjasper/jpc/jpc_t2enc.c
+--- jasper-1.900.1.orig/src/libjasper/jpc/jpc_t2enc.c 2007-01-19 22:43:07.000000000 +0100
++++ jasper-1.900.1/src/libjasper/jpc/jpc_t2enc.c 2009-10-22 10:27:45.000000000 +0200
+@@ -565,7 +565,7 @@ jpc_pi_t *jpc_enc_pi_create(jpc_enc_cp_t
+ }
+ pi->pktno = -1;
+ pi->numcomps = cp->numcmpts;
+- if (!(pi->picomps = jas_malloc(pi->numcomps * sizeof(jpc_picomp_t)))) {
++ if (!(pi->picomps = jas_alloc2(pi->numcomps, sizeof(jpc_picomp_t)))) {
+ jpc_pi_destroy(pi);
+ return 0;
+ }
+@@ -577,7 +577,7 @@ jpc_pi_t *jpc_enc_pi_create(jpc_enc_cp_t
+ for (compno = 0, tcomp = tile->tcmpts, picomp = pi->picomps;
+ compno < pi->numcomps; ++compno, ++tcomp, ++picomp) {
+ picomp->numrlvls = tcomp->numrlvls;
+- if (!(picomp->pirlvls = jas_malloc(picomp->numrlvls *
++ if (!(picomp->pirlvls = jas_alloc2(picomp->numrlvls,
+ sizeof(jpc_pirlvl_t)))) {
+ jpc_pi_destroy(pi);
+ return 0;
+@@ -591,7 +591,7 @@ jpc_pi_t *jpc_enc_pi_create(jpc_enc_cp_t
+ /* XXX sizeof(long) should be sizeof different type */
+ pirlvl->numprcs = rlvl->numprcs;
+ if (rlvl->numprcs) {
+- if (!(pirlvl->prclyrnos = jas_malloc(pirlvl->numprcs *
++ if (!(pirlvl->prclyrnos = jas_alloc2(pirlvl->numprcs,
+ sizeof(long)))) {
+ jpc_pi_destroy(pi);
+ return 0;
+diff -pruN jasper-1.900.1.orig/src/libjasper/jpc/jpc_tagtree.c jasper-1.900.1/src/libjasper/jpc/jpc_tagtree.c
+--- jasper-1.900.1.orig/src/libjasper/jpc/jpc_tagtree.c 2007-01-19 22:43:07.000000000 +0100
++++ jasper-1.900.1/src/libjasper/jpc/jpc_tagtree.c 2009-10-22 10:27:45.000000000 +0200
+@@ -125,7 +125,7 @@ jpc_tagtree_t *jpc_tagtree_create(int nu
+ ++numlvls;
+ } while (n > 1);
+
+- if (!(tree->nodes_ = jas_malloc(tree->numnodes_ * sizeof(jpc_tagtreenode_t)))) {
++ if (!(tree->nodes_ = jas_alloc2(tree->numnodes_, sizeof(jpc_tagtreenode_t)))) {
+ return 0;
+ }
+
+diff -pruN jasper-1.900.1.orig/src/libjasper/jpc/jpc_util.c jasper-1.900.1/src/libjasper/jpc/jpc_util.c
+--- jasper-1.900.1.orig/src/libjasper/jpc/jpc_util.c 2007-01-19 22:43:07.000000000 +0100
++++ jasper-1.900.1/src/libjasper/jpc/jpc_util.c 2009-10-22 10:27:45.000000000 +0200
+@@ -109,7 +109,7 @@ int jpc_atoaf(char *s, int *numvalues, d
+ }
+
+ if (n) {
+- if (!(vs = jas_malloc(n * sizeof(double)))) {
++ if (!(vs = jas_alloc2(n, sizeof(double)))) {
+ return -1;
+ }
+
+diff -pruN jasper-1.900.1.orig/src/libjasper/mif/mif_cod.c jasper-1.900.1/src/libjasper/mif/mif_cod.c
+--- jasper-1.900.1.orig/src/libjasper/mif/mif_cod.c 2007-01-19 22:43:05.000000000 +0100
++++ jasper-1.900.1/src/libjasper/mif/mif_cod.c 2009-10-22 10:27:45.000000000 +0200
+@@ -438,8 +438,7 @@ static int mif_hdr_growcmpts(mif_hdr_t *
+ int cmptno;
+ mif_cmpt_t **newcmpts;
+ assert(maxcmpts >= hdr->numcmpts);
+- newcmpts = (!hdr->cmpts) ? jas_malloc(maxcmpts * sizeof(mif_cmpt_t *)) :
+- jas_realloc(hdr->cmpts, maxcmpts * sizeof(mif_cmpt_t *));
++ newcmpts = jas_realloc2(hdr->cmpts, maxcmpts, sizeof(mif_cmpt_t *));
+ if (!newcmpts) {
+ return -1;
+ }
diff --git a/patches/source/jasper/patches/jasper-1.900.1-CVE-2008-3522.patch b/patches/source/jasper/patches/jasper-1.900.1-CVE-2008-3522.patch
new file mode 100644
index 00000000..4bf2e9b5
--- /dev/null
+++ b/patches/source/jasper/patches/jasper-1.900.1-CVE-2008-3522.patch
@@ -0,0 +1,14 @@
+https://bugzilla.redhat.com/show_bug.cgi?id=CVE-2008-3522
+
+diff -pruN jasper-1.900.1.orig/src/libjasper/base/jas_stream.c jasper-1.900.1/src/libjasper/base/jas_stream.c
+--- jasper-1.900.1.orig/src/libjasper/base/jas_stream.c 2009-10-22 10:27:45.000000000 +0200
++++ jasper-1.900.1/src/libjasper/base/jas_stream.c 2009-10-22 10:35:53.000000000 +0200
+@@ -553,7 +553,7 @@ int jas_stream_printf(jas_stream_t *stre
+ int ret;
+
+ va_start(ap, fmt);
+- ret = vsprintf(buf, fmt, ap);
++ ret = vsnprintf(buf, sizeof buf, fmt, ap);
+ jas_stream_puts(stream, buf);
+ va_end(ap);
+ return ret;
diff --git a/patches/source/jasper/patches/jasper-1.900.1-CVE-2011-4516-CVE-2011-4517-CERT-VU-887409.patch b/patches/source/jasper/patches/jasper-1.900.1-CVE-2011-4516-CVE-2011-4517-CERT-VU-887409.patch
new file mode 100644
index 00000000..f753080a
--- /dev/null
+++ b/patches/source/jasper/patches/jasper-1.900.1-CVE-2011-4516-CVE-2011-4517-CERT-VU-887409.patch
@@ -0,0 +1,23 @@
+diff -up jasper-1.900.1/src/libjasper/jpc/jpc_cs.c.CERT-VU-887409 jasper-1.900.1/src/libjasper/jpc/jpc_cs.c
+--- jasper-1.900.1/src/libjasper/jpc/jpc_cs.c.CERT-VU-887409 2011-10-25 17:25:39.000000000 +0200
++++ jasper-1.900.1/src/libjasper/jpc/jpc_cs.c 2011-10-25 17:29:14.379371908 +0200
+@@ -744,6 +744,10 @@ static int jpc_cox_getcompparms(jpc_ms_t
+ return -1;
+ }
+ compparms->numrlvls = compparms->numdlvls + 1;
++ if (compparms->numrlvls > JPC_MAXRLVLS) {
++ jpc_cox_destroycompparms(compparms);
++ return -1;
++ }
+ if (prtflag) {
+ for (i = 0; i < compparms->numrlvls; ++i) {
+ if (jpc_getuint8(in, &tmp)) {
+@@ -1331,7 +1335,7 @@ static int jpc_crg_getparms(jpc_ms_t *ms
+ jpc_crgcomp_t *comp;
+ uint_fast16_t compno;
+ crg->numcomps = cstate->numcomps;
+- if (!(crg->comps = jas_alloc2(cstate->numcomps, sizeof(uint_fast16_t)))) {
++ if (!(crg->comps = jas_alloc2(cstate->numcomps, sizeof(jpc_crgcomp_t)))) {
+ return -1;
+ }
+ for (compno = 0, comp = crg->comps; compno < cstate->numcomps;
diff --git a/patches/source/jasper/patches/jasper-1.900.1-Coverity-BAD_SIZEOF.patch b/patches/source/jasper/patches/jasper-1.900.1-Coverity-BAD_SIZEOF.patch
new file mode 100644
index 00000000..19774005
--- /dev/null
+++ b/patches/source/jasper/patches/jasper-1.900.1-Coverity-BAD_SIZEOF.patch
@@ -0,0 +1,17 @@
+Error: BAD_SIZEOF
+jpc/jpc_enc.c:2105: bad_sizeof: Taking the size of binary expression "tcmpt->numstepsizes * sizeof (uint_fast16_t) /*8*/" is suspicious.
+ Did you intend "sizeof(tcmpt->numstepsizes) * sizeof (uint_fast16_t) /*8*/"?
+
+diff -up jasper-1.900.1/src/libjasper/jpc/jpc_enc.c.bad_sizeof jasper-1.900.1/src/libjasper/jpc/jpc_enc.c
+--- jasper-1.900.1/src/libjasper/jpc/jpc_enc.c.bad_sizeof 2007-01-19 22:43:07.000000000 +0100
++++ jasper-1.900.1/src/libjasper/jpc/jpc_enc.c 2011-06-23 17:28:17.085690561 +0200
+@@ -2102,8 +2102,7 @@ static jpc_enc_tcmpt_t *tcmpt_create(jpc
+
+ tcmpt->numstepsizes = tcmpt->numbands;
+ assert(tcmpt->numstepsizes <= JPC_MAXBANDS);
+- memset(tcmpt->stepsizes, 0, sizeof(tcmpt->numstepsizes *
+- sizeof(uint_fast16_t)));
++ memset(tcmpt->stepsizes, 0, tcmpt->numstepsizes * sizeof(uint_fast16_t));
+
+ /* Retrieve information about the various bands. */
+ jpc_tsfb_getbands(tcmpt->tsfb, jas_seq2d_xstart(tcmpt->data),
diff --git a/patches/source/jasper/patches/jasper-1.900.1-Coverity-CHECKED_RETURN.patch b/patches/source/jasper/patches/jasper-1.900.1-Coverity-CHECKED_RETURN.patch
new file mode 100644
index 00000000..ea330f2c
--- /dev/null
+++ b/patches/source/jasper/patches/jasper-1.900.1-Coverity-CHECKED_RETURN.patch
@@ -0,0 +1,141 @@
+Error: CHECKED_RETURN
+jpc/jpc_cs.c:924: check_return: Calling function "jpc_putuint16" without checking return value (as is done elsewhere 11 out of 13 times).
+jpc/jpc_cs.c:924: unchecked_value: No check of the return value of "jpc_putuint16(out, qcc->compno)".
+
+jpc/jpc_cs.c:1021: check_return: Calling function "jpc_putuint16" without checking return value (as is done elsewhere 11 out of 13 times).
+jpc/jpc_cs.c:1021: unchecked_value: No check of the return value of "jpc_putuint16(out, compparms->stepsizes[i])".
+
+jpc/jpc_cs.c:994: check_return: Calling function "jpc_getuint16" without checking return value (as is done elsewhere 14 out of 16 times).
+jpc/jpc_cs.c:994: unchecked_value: No check of the return value of "jpc_getuint16(in, compparms->stepsizes + i)".
+
+jpc/jpc_cs.c:905: check_return: Calling function "jpc_getuint16" without checking return value (as is done elsewhere 14 out of 16 times).
+jpc/jpc_cs.c:905: unchecked_value: No check of the return value of "jpc_getuint16(in, &qcc->compno)".
+
+jpc/jpc_cs.c:969: check_return: Calling function "jpc_getuint8" without checking return value (as is done elsewhere 17 out of 20 times).
+jpc/jpc_cs.c:969: unchecked_value: No check of the return value of "jpc_getuint8(in, &tmp)".
+
+jpc/jpc_cs.c:991: check_return: Calling function "jpc_getuint8" without checking return value (as is done elsewhere 17 out of 20 times).
+jpc/jpc_cs.c:991: unchecked_value: No check of the return value of "jpc_getuint8(in, &tmp)".
+
+jpc/jpc_cs.c:901: check_return: Calling function "jpc_getuint8" without checking return value (as is done elsewhere 17 out of 20 times).
+jpc/jpc_cs.c:901: unchecked_value: No check of the return value of "jpc_getuint8(in, &tmp)".
+
+jpc/jpc_t2enc.c:338: check_return: Calling function "jpc_putms" without checking return value (as is done elsewhere 12 out of 13 times).
+jpc/jpc_t2enc.c:338: unchecked_value: No check of the return value of "jpc_putms(out, enc->cstate, ms)".
+
+ras/ras_enc.c:245: check_return: Calling function "jas_image_readcmpt" without checking return value (as is done elsewhere 9 out of 10 times).
+ras/ras_enc.c:245: unchecked_value: No check of the return value of "jas_image_readcmpt(image, cmpts[i], 0L, y, image->brx_ - image->tlx_, 1L, data[i])".
+
+diff -up jasper-1.900.1/src/libjasper/jpc/jpc_cs.c.checked_return jasper-1.900.1/src/libjasper/jpc/jpc_cs.c
+--- jasper-1.900.1/src/libjasper/jpc/jpc_cs.c.checked_return 2007-01-19 22:43:07.000000000 +0100
++++ jasper-1.900.1/src/libjasper/jpc/jpc_cs.c 2011-06-24 13:52:25.636551844 +0200
+@@ -898,11 +898,15 @@ static int jpc_qcc_getparms(jpc_ms_t *ms
+ int len;
+ len = ms->len;
+ if (cstate->numcomps <= 256) {
+- jpc_getuint8(in, &tmp);
++ if (jpc_getuint8(in, &tmp)) {
++ return -1;
++ }
+ qcc->compno = tmp;
+ --len;
+ } else {
+- jpc_getuint16(in, &qcc->compno);
++ if (jpc_getuint16(in, &qcc->compno)) {
++ return -1;
++ }
+ len -= 2;
+ }
+ if (jpc_qcx_getcompparms(&qcc->compparms, cstate, in, len)) {
+@@ -919,9 +923,13 @@ static int jpc_qcc_putparms(jpc_ms_t *ms
+ {
+ jpc_qcc_t *qcc = &ms->parms.qcc;
+ if (cstate->numcomps <= 256) {
+- jpc_putuint8(out, qcc->compno);
++ if (jpc_putuint8(out, qcc->compno)) {
++ return -1;
++ }
+ } else {
+- jpc_putuint16(out, qcc->compno);
++ if (jpc_putuint16(out, qcc->compno)) {
++ return -1;
++ }
+ }
+ if (jpc_qcx_putcompparms(&qcc->compparms, cstate, out)) {
+ return -1;
+@@ -966,7 +974,9 @@ static int jpc_qcx_getcompparms(jpc_qcxc
+ cstate = 0;
+
+ n = 0;
+- jpc_getuint8(in, &tmp);
++ if (jpc_getuint8(in, &tmp)) {
++ return -1;
++ }
+ ++n;
+ compparms->qntsty = tmp & 0x1f;
+ compparms->numguard = (tmp >> 5) & 7;
+@@ -988,10 +998,14 @@ static int jpc_qcx_getcompparms(jpc_qcxc
+ assert(compparms->stepsizes);
+ for (i = 0; i < compparms->numstepsizes; ++i) {
+ if (compparms->qntsty == JPC_QCX_NOQNT) {
+- jpc_getuint8(in, &tmp);
++ if (jpc_getuint8(in, &tmp)) {
++ return -1;
++ }
+ compparms->stepsizes[i] = JPC_QCX_EXPN(tmp >> 3);
+ } else {
+- jpc_getuint16(in, &compparms->stepsizes[i]);
++ if (jpc_getuint16(in, &compparms->stepsizes[i])) {
++ return -1;
++ }
+ }
+ }
+ } else {
+@@ -1015,10 +1029,14 @@ static int jpc_qcx_putcompparms(jpc_qcxc
+ jpc_putuint8(out, ((compparms->numguard & 7) << 5) | compparms->qntsty);
+ for (i = 0; i < compparms->numstepsizes; ++i) {
+ if (compparms->qntsty == JPC_QCX_NOQNT) {
+- jpc_putuint8(out, JPC_QCX_GETEXPN(
+- compparms->stepsizes[i]) << 3);
++ if (jpc_putuint8(out, JPC_QCX_GETEXPN(
++ compparms->stepsizes[i]) << 3)) {
++ return -1;
++ }
+ } else {
+- jpc_putuint16(out, compparms->stepsizes[i]);
++ if (jpc_putuint16(out, compparms->stepsizes[i])) {
++ return -1;
++ }
+ }
+ }
+ return 0;
+diff -up jasper-1.900.1/src/libjasper/jpc/jpc_t2enc.c.checked_return jasper-1.900.1/src/libjasper/jpc/jpc_t2enc.c
+--- jasper-1.900.1/src/libjasper/jpc/jpc_t2enc.c.checked_return 2007-01-19 22:43:07.000000000 +0100
++++ jasper-1.900.1/src/libjasper/jpc/jpc_t2enc.c 2011-06-24 12:29:32.069578992 +0200
+@@ -335,7 +335,9 @@ assert(jpc_firstone(datalen) < cblk->num
+ if (!(ms = jpc_ms_create(JPC_MS_EPH))) {
+ return -1;
+ }
+- jpc_putms(out, enc->cstate, ms);
++ if (jpc_putms(out, enc->cstate, ms)) {
++ return -1;
++ }
+ jpc_ms_destroy(ms);
+ }
+
+diff -up jasper-1.900.1/src/libjasper/ras/ras_enc.c.checked_return jasper-1.900.1/src/libjasper/ras/ras_enc.c
+--- jasper-1.900.1/src/libjasper/ras/ras_enc.c.checked_return 2007-01-19 22:43:04.000000000 +0100
++++ jasper-1.900.1/src/libjasper/ras/ras_enc.c 2011-06-24 14:05:31.233482612 +0200
+@@ -242,8 +242,10 @@ static int ras_putdatastd(jas_stream_t *
+
+ for (y = 0; y < hdr->height; y++) {
+ for (i = 0; i < numcmpts; ++i) {
+- jas_image_readcmpt(image, cmpts[i], 0, y, jas_image_width(image),
+- 1, data[i]);
++ if (jas_image_readcmpt(image, cmpts[i], 0, y,
++ jas_image_width(image), 1, data[i])) {
++ return -1;
++ }
+ }
+ z = 0;
+ nz = 0;
diff --git a/patches/source/jasper/patches/jasper-1.900.1-Coverity-FORWARD_NULL.patch b/patches/source/jasper/patches/jasper-1.900.1-Coverity-FORWARD_NULL.patch
new file mode 100644
index 00000000..ff526b4d
--- /dev/null
+++ b/patches/source/jasper/patches/jasper-1.900.1-Coverity-FORWARD_NULL.patch
@@ -0,0 +1,44 @@
+Error: FORWARD_NULL
+jpc/jpc_dec.c:2207: var_compare_op: Comparing "streams" to null implies that "streams" might be null.
+jpc/jpc_dec.c:2270: var_deref_model: Passing null variable "streams" to function "jpc_streamlist_destroy", which dereferences it.
+jpc/jpc_dec.c:2108: deref_parm: Directly dereferencing parameter "streamlist".
+
+jpc/jpc_t1enc.c:225: assign_zero: Assigning: "cblk->passes" = 0.
+jpc/jpc_t1enc.c:228: alias_transfer: Assigning null: "pass" = "cblk->passes".
+jpc/jpc_t1enc.c:229: var_deref_op: Dereferencing null variable "pass".
+
+diff -up jasper-1.900.1/src/libjasper/jpc/jpc_dec.c.forward_null jasper-1.900.1/src/libjasper/jpc/jpc_dec.c
+--- jasper-1.900.1/src/libjasper/jpc/jpc_dec.c.forward_null 2007-01-19 22:43:07.000000000 +0100
++++ jasper-1.900.1/src/libjasper/jpc/jpc_dec.c 2011-06-24 15:01:39.200600146 +0200
+@@ -2267,7 +2267,9 @@ jpc_streamlist_t *jpc_ppmstabtostreams(j
+ return streams;
+
+ error:
+- jpc_streamlist_destroy(streams);
++ if (streams) {
++ jpc_streamlist_destroy(streams);
++ }
+ return 0;
+ }
+
+diff -up jasper-1.900.1/src/libjasper/jpc/jpc_t1enc.c.forward_null jasper-1.900.1/src/libjasper/jpc/jpc_t1enc.c
+--- jasper-1.900.1/src/libjasper/jpc/jpc_t1enc.c.forward_null 2007-01-19 22:43:07.000000000 +0100
++++ jasper-1.900.1/src/libjasper/jpc/jpc_t1enc.c 2011-06-24 14:58:33.061248133 +0200
+@@ -224,7 +224,7 @@ int jpc_enc_enccblk(jpc_enc_t *enc, jas_
+ } else {
+ cblk->passes = 0;
+ }
+- endpasses = &cblk->passes[cblk->numpasses];
++ endpasses = (cblk->passes) ? &cblk->passes[cblk->numpasses] : 0;
+ for (pass = cblk->passes; pass != endpasses; ++pass) {
+ pass->start = 0;
+ pass->end = 0;
+@@ -352,7 +352,7 @@ dump_passes(cblk->passes, cblk->numpasse
+ #endif
+
+ n = 0;
+- endpasses = &cblk->passes[cblk->numpasses];
++ endpasses = (cblk->passes) ? &cblk->passes[cblk->numpasses] : 0;
+ for (pass = cblk->passes; pass != endpasses; ++pass) {
+ if (pass->start < n) {
+ pass->start = n;
diff --git a/patches/source/jasper/patches/jasper-1.900.1-Coverity-NULL_RETURNS.patch b/patches/source/jasper/patches/jasper-1.900.1-Coverity-NULL_RETURNS.patch
new file mode 100644
index 00000000..4c722702
--- /dev/null
+++ b/patches/source/jasper/patches/jasper-1.900.1-Coverity-NULL_RETURNS.patch
@@ -0,0 +1,61 @@
+Error: NULL_RETURNS
+base/jas_image.c:213: returned_null: Function "jas_image_create0" returns null (checked 6 out of 7 times).
+base/jas_image.c:213: var_assigned: Assigning: "newimage" = null return value from "jas_image_create0".
+base/jas_image.c:214: dereference: Dereferencing a pointer that might be null "newimage" when calling "jas_image_growcmpts".
+base/jas_image.c:777: deref_parm: Directly dereferencing parameter "image".
+
+base/jas_seq.c:223: returned_null: Function "jas_malloc" returns null (checked 110 out of 119 times).
+base/jas_seq.c:223: var_assigned: Assigning: "mat0->rows_" = null return value from "jas_malloc".
+base/jas_seq.c:225: dereference: Dereferencing a null pointer "mat0->rows_".
+
+jp2/jp2_cod.c:484: returned_null: Function "jas_stream_memopen" returns null (checked 12 out of 15 times).
+jp2/jp2_cod.c:484: var_assigned: Assigning: "tmpstream" = null return value from "jas_stream_memopen".
+jp2/jp2_cod.c:490: dereference: Dereferencing a pointer that might be null "tmpstream" when calling "jas_stream_tell".
+base/jas_stream.c:677: deref_parm: Directly dereferencing parameter "stream".
+
+
+diff -up jasper-1.900.1/src/libjasper/base/jas_image.c.NULL_RETURNS jasper-1.900.1/src/libjasper/base/jas_image.c
+--- jasper-1.900.1/src/libjasper/base/jas_image.c.NULL_RETURNS 2011-12-08 14:00:05.350020869 +0100
++++ jasper-1.900.1/src/libjasper/base/jas_image.c 2011-12-08 14:00:06.638004766 +0100
+@@ -210,7 +210,10 @@ jas_image_t *jas_image_copy(jas_image_t
+ jas_image_t *newimage;
+ int cmptno;
+
+- newimage = jas_image_create0();
++ if (!(newimage = jas_image_create0())) {
++ goto error;
++ }
++
+ if (jas_image_growcmpts(newimage, image->numcmpts_)) {
+ goto error;
+ }
+diff -up jasper-1.900.1/src/libjasper/base/jas_seq.c.NULL_RETURNS jasper-1.900.1/src/libjasper/base/jas_seq.c
+--- jasper-1.900.1/src/libjasper/base/jas_seq.c.NULL_RETURNS 2011-12-08 14:00:05.000000000 +0100
++++ jasper-1.900.1/src/libjasper/base/jas_seq.c 2011-12-08 14:15:12.449680562 +0100
+@@ -220,7 +220,11 @@ void jas_matrix_bindsub(jas_matrix_t *ma
+ mat0->numrows_ = r1 - r0 + 1;
+ mat0->numcols_ = c1 - c0 + 1;
+ mat0->maxrows_ = mat0->numrows_;
+- mat0->rows_ = jas_alloc2(mat0->maxrows_, sizeof(jas_seqent_t *));
++ if (!(mat0->rows_ = jas_alloc2(mat0->maxrows_, sizeof(jas_seqent_t *)))) {
++ jas_matrix_destroy(mat0);
++ return;
++ }
++
+ for (i = 0; i < mat0->numrows_; ++i) {
+ mat0->rows_[i] = mat1->rows_[r0 + i] + c0;
+ }
+diff -up jasper-1.900.1/src/libjasper/jp2/jp2_cod.c.NULL_RETURNS jasper-1.900.1/src/libjasper/jp2/jp2_cod.c
+--- jasper-1.900.1/src/libjasper/jp2/jp2_cod.c.NULL_RETURNS 2011-12-08 14:00:05.633017331 +0100
++++ jasper-1.900.1/src/libjasper/jp2/jp2_cod.c 2011-12-08 14:00:06.677004279 +0100
+@@ -481,7 +481,9 @@ int jp2_box_put(jp2_box_t *box, jas_stre
+ dataflag = !(box->info->flags & (JP2_BOX_SUPER | JP2_BOX_NODATA));
+
+ if (dataflag) {
+- tmpstream = jas_stream_memopen(0, 0);
++ if (!(tmpstream = jas_stream_memopen(0, 0))) {
++ goto error;
++ }
+ if (box->ops->putdata) {
+ if ((*box->ops->putdata)(box, tmpstream)) {
+ goto error;
diff --git a/patches/source/jasper/patches/jasper-1.900.1-Coverity-RESOURCE_LEAK.patch b/patches/source/jasper/patches/jasper-1.900.1-Coverity-RESOURCE_LEAK.patch
new file mode 100644
index 00000000..76f5da77
--- /dev/null
+++ b/patches/source/jasper/patches/jasper-1.900.1-Coverity-RESOURCE_LEAK.patch
@@ -0,0 +1,202 @@
+Error: RESOURCE_LEAK
+src/appl/imgcmp.c:504: var_assign: Assigning: "diffimage" = storage returned from "jas_image_create(3, compparms, 1025)".
+src/appl/imgcmp.c:511: leaked_storage: Variable "diffimage" going out of scope leaks the storage it points to.
+src/appl/imgcmp.c:537: leaked_storage: Variable "diffimage" going out of scope leaks the storage it points to.
+
+base/jas_image.c:254: var_assign: Assigning: "newcmpt" = storage returned from "jas_image_cmpt_create0()".
+base/jas_image.c:268: leaked_storage: Variable "newcmpt" going out of scope leaks the storage it points to.
+base/jas_image.c:271: leaked_storage: Variable "newcmpt" going out of scope leaks the storage it points to.
+base/jas_image.c:274: leaked_storage: Variable "newcmpt" going out of scope leaks the storage it points to.
+base/jas_image.c:277: leaked_storage: Variable "newcmpt" going out of scope leaks the storage it points to.
+
+base/jas_cm.c:611: var_assign: Assigning: "newpxformseq" = storage returned from "jas_cmpxformseq_create()".
+base/jas_cm.c:617: leaked_storage: Variable "newpxformseq" going out of scope leaks the storage it points to.
+
+base/jas_cm.c:343: var_assign: Assigning: "newprof" = storage returned from "jas_cmprof_create()".
+base/jas_cm.c:358: leaked_storage: Variable "newprof" going out of scope leaks the storage it points to.
+
+base/jas_cm.c:380: var_assign: Assigning: "xform" = storage returned from "jas_malloc(sizeof (jas_cmxform_t) /*16*/)".
+base/jas_cm.c:461: leaked_storage: Variable "xform" going out of scope leaks the storage it points to.
+
+base/jas_image.c:1379: var_assign: Assigning: "xform" = storage returned from "jas_cmxform_create(inprof, outprof, NULL, 0, intent, 0)".
+base/jas_image.c:1444: leaked_storage: Variable "xform" going out of scope leaks the storage it points to.
+
+base/jas_image.c:1306: var_assign: Assigning: "inimage" = storage returned from "jas_image_copy(image)".
+base/jas_image.c:1444: leaked_storage: Variable "inimage" going out of scope leaks the storage it points to.
+
+base/jas_image.c:1345: var_assign: Assigning: "outimage" = storage returned from "jas_image_create0()".
+base/jas_image.c:1444: leaked_storage: Variable "outimage" going out of scope leaks the storage it points to.
+
+bmp/bmp_enc.c:187: var_assign: Assigning: "info" = storage returned from "bmp_info_create()".
+bmp/bmp_enc.c:208: leaked_storage: Variable "info" going out of scope leaks the storage it points to.
+
+jpc/jpc_tagtree.c:111: var_assign: Assigning: "tree" = storage returned from "jpc_tagtree_alloc()".
+jpc/jpc_tagtree.c:129: leaked_storage: Variable "tree" going out of scope leaks the storage it points to.
+
+jpc/jpc_dec.c:452: var_assign: Assigning: "compinfos" = storage returned from "jas_malloc(dec->numcomps * sizeof (jas_image_cmptparm_t) /*56*/)".
+jpc/jpc_dec.c:468: leaked_storage: Variable "compinfos" going out of scope leaks the storage it points to.
+
+jpc/jpc_dec.c:1483: var_assign: Assigning: "cp" = storage returned from "jas_malloc(sizeof (jpc_dec_cp_t) /*48*/)".
+jpc/jpc_dec.c:1493: leaked_storage: Variable "cp" going out of scope leaks the storage it points to.
+jpc/jpc_dec.c:1497: leaked_storage: Variable "cp" going out of scope leaks the storage it points to.
+
+mif/mif_cod.c:523: var_assign: Assigning: "cmpt" = storage returned from "mif_cmpt_create()".
+mif/mif_cod.c:568: leaked_storage: Variable "cmpt" going out of scope leaks the storage it points to.
+
+mif/mif_cod.c:568: leaked_storage: Variable "tvp" going out of scope leaks the storage it points to.
+
+
+diff -up jasper-1.900.1/src/appl/imgcmp.c.RESOURCE_LEAK jasper-1.900.1/src/appl/imgcmp.c
+--- jasper-1.900.1/src/appl/imgcmp.c.RESOURCE_LEAK 2007-01-19 22:43:08.000000000 +0100
++++ jasper-1.900.1/src/appl/imgcmp.c 2011-12-08 14:16:04.727027007 +0100
+@@ -507,6 +507,7 @@ jas_image_t *makediffimage(jas_matrix_t
+
+ for (i = 0; i < 3; ++i) {
+ if (!(diffdata[i] = jas_matrix_create(height, width))) {
++ jas_image_destroy(diffimage);
+ fprintf(stderr, "internal error\n");
+ return 0;
+ }
+@@ -534,6 +535,7 @@ jas_image_t *makediffimage(jas_matrix_t
+
+ for (i = 0; i < 3; ++i) {
+ if (jas_image_writecmpt(diffimage, i, 0, 0, width, height, diffdata[i])) {
++ jas_image_destroy(diffimage);
+ return 0;
+ }
+ }
+diff -up jasper-1.900.1/src/libjasper/base/jas_cm.c.RESOURCE_LEAK jasper-1.900.1/src/libjasper/base/jas_cm.c
+--- jasper-1.900.1/src/libjasper/base/jas_cm.c.RESOURCE_LEAK 2011-12-08 14:16:03.387043758 +0100
++++ jasper-1.900.1/src/libjasper/base/jas_cm.c 2011-12-08 14:16:04.728026994 +0100
+@@ -355,6 +355,8 @@ jas_cmprof_t *jas_cmprof_copy(jas_cmprof
+ }
+ return newprof;
+ error:
++ if (newprof)
++ jas_cmprof_destroy(newprof);
+ return 0;
+ }
+
+@@ -458,6 +460,8 @@ jas_cmxform_t *jas_cmxform_create(jas_cm
+ }
+ return xform;
+ error:
++ if (xform)
++ jas_cmxform_destroy(xform);
+ return 0;
+ }
+
+@@ -614,6 +618,8 @@ static jas_cmpxformseq_t *jas_cmpxformse
+ goto error;
+ return newpxformseq;
+ error:
++ if (newpxformseq)
++ jas_cmpxformseq_destroy(newpxformseq);
+ return 0;
+ }
+
+diff -up jasper-1.900.1/src/libjasper/base/jas_image.c.RESOURCE_LEAK jasper-1.900.1/src/libjasper/base/jas_image.c
+--- jasper-1.900.1/src/libjasper/base/jas_image.c.RESOURCE_LEAK 2011-12-08 14:16:04.635028156 +0100
++++ jasper-1.900.1/src/libjasper/base/jas_image.c 2011-12-08 14:16:04.776026394 +0100
+@@ -268,15 +268,19 @@ static jas_image_cmpt_t *jas_image_cmpt_
+ newcmpt->cps_ = cmpt->cps_;
+ newcmpt->type_ = cmpt->type_;
+ if (!(newcmpt->stream_ = jas_stream_memopen(0, 0))) {
++ jas_image_cmpt_destroy(newcmpt);
+ return 0;
+ }
+ if (jas_stream_seek(cmpt->stream_, 0, SEEK_SET)) {
++ jas_image_cmpt_destroy(newcmpt);
+ return 0;
+ }
+ if (jas_stream_copy(newcmpt->stream_, cmpt->stream_, -1)) {
++ jas_image_cmpt_destroy(newcmpt);
+ return 0;
+ }
+ if (jas_stream_seek(newcmpt->stream_, 0, SEEK_SET)) {
++ jas_image_cmpt_destroy(newcmpt);
+ return 0;
+ }
+ return newcmpt;
+@@ -1443,5 +1447,11 @@ jas_image_dump(outimage, stderr);
+ #endif
+ return outimage;
+ error:
++ if (xform)
++ jas_cmxform_destroy(xform);
++ if (inimage)
++ jas_image_destroy(inimage);
++ if (outimage)
++ jas_image_destroy(outimage);
+ return 0;
+ }
+diff -up jasper-1.900.1/src/libjasper/bmp/bmp_enc.c.RESOURCE_LEAK jasper-1.900.1/src/libjasper/bmp/bmp_enc.c
+--- jasper-1.900.1/src/libjasper/bmp/bmp_enc.c.RESOURCE_LEAK 2007-01-19 22:43:07.000000000 +0100
++++ jasper-1.900.1/src/libjasper/bmp/bmp_enc.c 2011-12-08 14:16:04.826025768 +0100
+@@ -205,16 +205,19 @@ int bmp_encode(jas_image_t *image, jas_s
+
+ /* Write the bitmap header. */
+ if (bmp_puthdr(out, &hdr)) {
++ bmp_info_destroy(info);
+ return -1;
+ }
+
+ /* Write the bitmap information. */
+ if (bmp_putinfo(out, info)) {
++ bmp_info_destroy(info);
+ return -1;
+ }
+
+ /* Write the bitmap data. */
+ if (bmp_putdata(out, info, image, enc->cmpts)) {
++ bmp_info_destroy(info);
+ return -1;
+ }
+
+diff -up jasper-1.900.1/src/libjasper/jpc/jpc_dec.c.RESOURCE_LEAK jasper-1.900.1/src/libjasper/jpc/jpc_dec.c
+--- jasper-1.900.1/src/libjasper/jpc/jpc_dec.c.RESOURCE_LEAK 2011-12-08 14:16:04.594028668 +0100
++++ jasper-1.900.1/src/libjasper/jpc/jpc_dec.c 2011-12-08 14:17:25.677014992 +0100
+@@ -465,6 +465,7 @@ static int jpc_dec_process_sot(jpc_dec_t
+
+ if (!(dec->image = jas_image_create(dec->numcomps, compinfos,
+ JAS_CLRSPC_UNKNOWN))) {
++ jas_free(compinfos);
+ return -1;
+ }
+ jas_free(compinfos);
+@@ -1490,10 +1491,11 @@ static jpc_dec_cp_t *jpc_dec_cp_create(u
+ cp->mctid = 0;
+ cp->csty = 0;
+ if (!(cp->ccps = jas_alloc2(cp->numcomps, sizeof(jpc_dec_ccp_t)))) {
++ jpc_dec_cp_destroy(cp);
+ return 0;
+ }
+ if (!(cp->pchglist = jpc_pchglist_create())) {
+- jas_free(cp->ccps);
++ jpc_dec_cp_destroy(cp);
+ return 0;
+ }
+ for (compno = 0, ccp = cp->ccps; compno < cp->numcomps;
+diff -up jasper-1.900.1/src/libjasper/jpc/jpc_tagtree.c.RESOURCE_LEAK jasper-1.900.1/src/libjasper/jpc/jpc_tagtree.c
+--- jasper-1.900.1/src/libjasper/jpc/jpc_tagtree.c.RESOURCE_LEAK 2011-12-08 14:16:04.000000000 +0100
++++ jasper-1.900.1/src/libjasper/jpc/jpc_tagtree.c 2011-12-08 14:17:55.905637082 +0100
+@@ -126,6 +126,7 @@ jpc_tagtree_t *jpc_tagtree_create(int nu
+ } while (n > 1);
+
+ if (!(tree->nodes_ = jas_alloc2(tree->numnodes_, sizeof(jpc_tagtreenode_t)))) {
++ jpc_tagtree_destroy(tree);
+ return 0;
+ }
+
+diff -up jasper-1.900.1/src/libjasper/mif/mif_cod.c.RESOURCE_LEAK jasper-1.900.1/src/libjasper/mif/mif_cod.c
+--- jasper-1.900.1/src/libjasper/mif/mif_cod.c.RESOURCE_LEAK 2011-12-08 14:16:04.250032970 +0100
++++ jasper-1.900.1/src/libjasper/mif/mif_cod.c 2011-12-08 14:16:04.967024005 +0100
+@@ -564,7 +564,7 @@ static int mif_process_cmpt(mif_hdr_t *h
+ break;
+ case MIF_DATA:
+ if (!(cmpt->data = jas_strdup(jas_tvparser_getval(tvp)))) {
+- return -1;
++ goto error;
+ }
+ break;
+ }
diff --git a/patches/source/jasper/patches/jasper-1.900.1-Coverity-UNREACHABLE.patch b/patches/source/jasper/patches/jasper-1.900.1-Coverity-UNREACHABLE.patch
new file mode 100644
index 00000000..3cae2940
--- /dev/null
+++ b/patches/source/jasper/patches/jasper-1.900.1-Coverity-UNREACHABLE.patch
@@ -0,0 +1,37 @@
+Error: UNREACHABLE
+jp2/jp2_cod.c:304: unreachable: This code cannot be reached: "abort();".
+
+jp2/jp2_cod.c:514: unreachable: This code cannot be reached: "abort();".
+
+jp2/jp2_enc.c:354: unreachable: This code cannot be reached: "abort();".
+
+diff -up jasper-1.900.1/src/libjasper/jp2/jp2_cod.c.unreachable jasper-1.900.1/src/libjasper/jp2/jp2_cod.c
+--- jasper-1.900.1/src/libjasper/jp2/jp2_cod.c.unreachable 2007-01-19 22:43:05.000000000 +0100
++++ jasper-1.900.1/src/libjasper/jp2/jp2_cod.c 2011-06-27 15:28:13.083137952 +0200
+@@ -301,7 +301,6 @@ jp2_box_t *jp2_box_get(jas_stream_t *in)
+ }
+
+ return box;
+- abort();
+
+ error:
+ if (box) {
+@@ -511,7 +510,6 @@ int jp2_box_put(jp2_box_t *box, jas_stre
+ }
+
+ return 0;
+- abort();
+
+ error:
+
+diff -up jasper-1.900.1/src/libjasper/jp2/jp2_enc.c.unreachable jasper-1.900.1/src/libjasper/jp2/jp2_enc.c
+--- jasper-1.900.1/src/libjasper/jp2/jp2_enc.c.unreachable 2007-01-19 22:43:05.000000000 +0100
++++ jasper-1.900.1/src/libjasper/jp2/jp2_enc.c 2011-06-27 15:27:58.858353979 +0200
+@@ -351,7 +351,6 @@ int sgnd;
+ }
+
+ return 0;
+- abort();
+
+ error:
+
diff --git a/patches/source/jasper/patches/jasper-1.900.1-Coverity-UNUSED_VALUE.patch b/patches/source/jasper/patches/jasper-1.900.1-Coverity-UNUSED_VALUE.patch
new file mode 100644
index 00000000..e7d4cb59
--- /dev/null
+++ b/patches/source/jasper/patches/jasper-1.900.1-Coverity-UNUSED_VALUE.patch
@@ -0,0 +1,41 @@
+Error: UNUSED_VALUE
+base/jas_icc.c:328: returned_pointer: Pointer "attrvalinfo" returned by "jas_iccattrvalinfo_lookup(type)" is never used.
+
+jpc/jpc_enc.c:788: returned_pointer: Pointer "cp" returned by "strchr(s, 66)" is never used.
+
+diff -up jasper-1.900.1/src/libjasper/base/jas_icc.c.unused_value jasper-1.900.1/src/libjasper/base/jas_icc.c
+--- jasper-1.900.1/src/libjasper/base/jas_icc.c.unused_value 2007-01-19 22:43:05.000000000 +0100
++++ jasper-1.900.1/src/libjasper/base/jas_icc.c 2011-06-27 15:35:52.815263000 +0200
+@@ -266,7 +266,6 @@ jas_iccprof_t *jas_iccprof_load(jas_stre
+ jas_iccattrval_t *attrval;
+ jas_iccattrval_t *prevattrval;
+ jas_icctagtabent_t *tagtabent;
+- jas_iccattrvalinfo_t *attrvalinfo;
+ int i;
+ int len;
+
+@@ -325,7 +324,7 @@ jas_iccprof_t *jas_iccprof_load(jas_stre
+ goto error;
+ }
+ curoff += 8;
+- if (!(attrvalinfo = jas_iccattrvalinfo_lookup(type))) {
++ if (!jas_iccattrvalinfo_lookup(type)) {
+ #if 0
+ jas_eprintf("warning: skipping unknown tag type\n");
+ #endif
+diff -up jasper-1.900.1/src/libjasper/jpc/jpc_enc.c.unused_value jasper-1.900.1/src/libjasper/jpc/jpc_enc.c
+--- jasper-1.900.1/src/libjasper/jpc/jpc_enc.c.unused_value 2007-01-19 22:43:07.000000000 +0100
++++ jasper-1.900.1/src/libjasper/jpc/jpc_enc.c 2011-06-27 15:36:17.437900180 +0200
+@@ -781,11 +781,10 @@ void jpc_enc_cp_destroy(jpc_enc_cp_t *cp
+
+ int ratestrtosize(char *s, uint_fast32_t rawsize, uint_fast32_t *size)
+ {
+- char *cp;
+ jpc_flt_t f;
+
+ /* Note: This function must not modify output size on failure. */
+- if ((cp = strchr(s, 'B'))) {
++ if (strchr(s, 'B')) {
+ *size = atoi(s);
+ } else {
+ f = atof(s);
diff --git a/patches/source/jasper/patches/jasper-CVE-2014-8137.patch b/patches/source/jasper/patches/jasper-CVE-2014-8137.patch
new file mode 100644
index 00000000..9600cd32
--- /dev/null
+++ b/patches/source/jasper/patches/jasper-CVE-2014-8137.patch
@@ -0,0 +1,57 @@
+--- jasper-1.900.1.orig/src/libjasper/base/jas_icc.c 2014-12-11 14:06:44.000000000 +0100
++++ jasper-1.900.1/src/libjasper/base/jas_icc.c 2014-12-11 15:16:37.971272386 +0100
+@@ -1009,7 +1009,6 @@ static int jas_icccurv_input(jas_iccattr
+ return 0;
+
+ error:
+- jas_icccurv_destroy(attrval);
+ return -1;
+ }
+
+@@ -1127,7 +1126,6 @@ static int jas_icctxtdesc_input(jas_icca
+ #endif
+ return 0;
+ error:
+- jas_icctxtdesc_destroy(attrval);
+ return -1;
+ }
+
+@@ -1206,8 +1204,6 @@ static int jas_icctxt_input(jas_iccattrv
+ goto error;
+ return 0;
+ error:
+- if (txt->string)
+- jas_free(txt->string);
+ return -1;
+ }
+
+@@ -1328,7 +1324,6 @@ static int jas_icclut8_input(jas_iccattr
+ goto error;
+ return 0;
+ error:
+- jas_icclut8_destroy(attrval);
+ return -1;
+ }
+
+@@ -1497,7 +1492,6 @@ static int jas_icclut16_input(jas_iccatt
+ goto error;
+ return 0;
+ error:
+- jas_icclut16_destroy(attrval);
+ return -1;
+ }
+
+--- jasper-1.900.1.orig/src/libjasper/jp2/jp2_dec.c 2014-12-11 14:30:54.193209780 +0100
++++ jasper-1.900.1/src/libjasper/jp2/jp2_dec.c 2014-12-11 14:36:46.313217814 +0100
+@@ -291,7 +291,10 @@ jas_image_t *jp2_decode(jas_stream_t *in
+ case JP2_COLR_ICC:
+ iccprof = jas_iccprof_createfrombuf(dec->colr->data.colr.iccp,
+ dec->colr->data.colr.iccplen);
+- assert(iccprof);
++ if (!iccprof) {
++ jas_eprintf("error: failed to parse ICC profile\n");
++ goto error;
++ }
+ jas_iccprof_gethdr(iccprof, &icchdr);
+ jas_eprintf("ICC Profile CS %08x\n", icchdr.colorspc);
+ jas_image_setclrspc(dec->image, fromiccpcs(icchdr.colorspc));
diff --git a/patches/source/jasper/patches/jasper-CVE-2014-8138.patch b/patches/source/jasper/patches/jasper-CVE-2014-8138.patch
new file mode 100644
index 00000000..5aaf8abb
--- /dev/null
+++ b/patches/source/jasper/patches/jasper-CVE-2014-8138.patch
@@ -0,0 +1,14 @@
+--- jasper-1.900.1.orig/src/libjasper/jp2/jp2_dec.c 2014-12-11 14:06:44.000000000 +0100
++++ jasper-1.900.1/src/libjasper/jp2/jp2_dec.c 2014-12-11 14:06:26.000000000 +0100
+@@ -386,6 +386,11 @@ jas_image_t *jp2_decode(jas_stream_t *in
+ /* Determine the type of each component. */
+ if (dec->cdef) {
+ for (i = 0; i < dec->numchans; ++i) {
++ /* Is the channel number reasonable? */
++ if (dec->cdef->data.cdef.ents[i].channo >= dec->numchans) {
++ jas_eprintf("error: invalid channel number in CDEF box\n");
++ goto error;
++ }
+ jas_image_setcmpttype(dec->image,
+ dec->chantocmptlut[dec->cdef->data.cdef.ents[i].channo],
+ jp2_getct(jas_image_clrspc(dec->image),
diff --git a/patches/source/jasper/patches/jasper-CVE-2014-8157.patch b/patches/source/jasper/patches/jasper-CVE-2014-8157.patch
new file mode 100644
index 00000000..ebfc1b2d
--- /dev/null
+++ b/patches/source/jasper/patches/jasper-CVE-2014-8157.patch
@@ -0,0 +1,12 @@
+diff -up jasper-1.900.1/src/libjasper/jpc/jpc_dec.c.CVE-2014-8157 jasper-1.900.1/src/libjasper/jpc/jpc_dec.c
+--- jasper-1.900.1/src/libjasper/jpc/jpc_dec.c.CVE-2014-8157 2015-01-19 16:59:36.000000000 +0100
++++ jasper-1.900.1/src/libjasper/jpc/jpc_dec.c 2015-01-19 17:07:41.609863268 +0100
+@@ -489,7 +489,7 @@ static int jpc_dec_process_sot(jpc_dec_t
+ dec->curtileendoff = 0;
+ }
+
+- if (JAS_CAST(int, sot->tileno) > dec->numtiles) {
++ if (JAS_CAST(int, sot->tileno) >= dec->numtiles) {
+ jas_eprintf("invalid tile number in SOT marker segment\n");
+ return -1;
+ }
diff --git a/patches/source/jasper/patches/jasper-CVE-2014-8158.patch b/patches/source/jasper/patches/jasper-CVE-2014-8158.patch
new file mode 100644
index 00000000..ce9e4b49
--- /dev/null
+++ b/patches/source/jasper/patches/jasper-CVE-2014-8158.patch
@@ -0,0 +1,329 @@
+diff -up jasper-1.900.1/src/libjasper/jpc/jpc_qmfb.c.CVE-2014-8158 jasper-1.900.1/src/libjasper/jpc/jpc_qmfb.c
+--- jasper-1.900.1/src/libjasper/jpc/jpc_qmfb.c.CVE-2014-8158 2015-01-19 17:25:28.730195502 +0100
++++ jasper-1.900.1/src/libjasper/jpc/jpc_qmfb.c 2015-01-19 17:27:20.214663127 +0100
+@@ -306,11 +306,7 @@ void jpc_qmfb_split_row(jpc_fix_t *a, in
+ {
+
+ int bufsize = JPC_CEILDIVPOW2(numcols, 1);
+-#if !defined(HAVE_VLA)
+ jpc_fix_t splitbuf[QMFB_SPLITBUFSIZE];
+-#else
+- jpc_fix_t splitbuf[bufsize];
+-#endif
+ jpc_fix_t *buf = splitbuf;
+ register jpc_fix_t *srcptr;
+ register jpc_fix_t *dstptr;
+@@ -318,7 +314,6 @@ void jpc_qmfb_split_row(jpc_fix_t *a, in
+ register int m;
+ int hstartcol;
+
+-#if !defined(HAVE_VLA)
+ /* Get a buffer. */
+ if (bufsize > QMFB_SPLITBUFSIZE) {
+ if (!(buf = jas_alloc2(bufsize, sizeof(jpc_fix_t)))) {
+@@ -326,7 +321,6 @@ void jpc_qmfb_split_row(jpc_fix_t *a, in
+ abort();
+ }
+ }
+-#endif
+
+ if (numcols >= 2) {
+ hstartcol = (numcols + 1 - parity) >> 1;
+@@ -360,12 +354,10 @@ void jpc_qmfb_split_row(jpc_fix_t *a, in
+ }
+ }
+
+-#if !defined(HAVE_VLA)
+ /* If the split buffer was allocated on the heap, free this memory. */
+ if (buf != splitbuf) {
+ jas_free(buf);
+ }
+-#endif
+
+ }
+
+@@ -374,11 +366,7 @@ void jpc_qmfb_split_col(jpc_fix_t *a, in
+ {
+
+ int bufsize = JPC_CEILDIVPOW2(numrows, 1);
+-#if !defined(HAVE_VLA)
+ jpc_fix_t splitbuf[QMFB_SPLITBUFSIZE];
+-#else
+- jpc_fix_t splitbuf[bufsize];
+-#endif
+ jpc_fix_t *buf = splitbuf;
+ register jpc_fix_t *srcptr;
+ register jpc_fix_t *dstptr;
+@@ -386,7 +374,6 @@ void jpc_qmfb_split_col(jpc_fix_t *a, in
+ register int m;
+ int hstartcol;
+
+-#if !defined(HAVE_VLA)
+ /* Get a buffer. */
+ if (bufsize > QMFB_SPLITBUFSIZE) {
+ if (!(buf = jas_alloc2(bufsize, sizeof(jpc_fix_t)))) {
+@@ -394,7 +381,6 @@ void jpc_qmfb_split_col(jpc_fix_t *a, in
+ abort();
+ }
+ }
+-#endif
+
+ if (numrows >= 2) {
+ hstartcol = (numrows + 1 - parity) >> 1;
+@@ -428,12 +414,10 @@ void jpc_qmfb_split_col(jpc_fix_t *a, in
+ }
+ }
+
+-#if !defined(HAVE_VLA)
+ /* If the split buffer was allocated on the heap, free this memory. */
+ if (buf != splitbuf) {
+ jas_free(buf);
+ }
+-#endif
+
+ }
+
+@@ -442,11 +426,7 @@ void jpc_qmfb_split_colgrp(jpc_fix_t *a,
+ {
+
+ int bufsize = JPC_CEILDIVPOW2(numrows, 1);
+-#if !defined(HAVE_VLA)
+ jpc_fix_t splitbuf[QMFB_SPLITBUFSIZE * JPC_QMFB_COLGRPSIZE];
+-#else
+- jpc_fix_t splitbuf[bufsize * JPC_QMFB_COLGRPSIZE];
+-#endif
+ jpc_fix_t *buf = splitbuf;
+ jpc_fix_t *srcptr;
+ jpc_fix_t *dstptr;
+@@ -457,7 +437,6 @@ void jpc_qmfb_split_colgrp(jpc_fix_t *a,
+ int m;
+ int hstartcol;
+
+-#if !defined(HAVE_VLA)
+ /* Get a buffer. */
+ if (bufsize > QMFB_SPLITBUFSIZE) {
+ if (!(buf = jas_alloc2(bufsize, sizeof(jpc_fix_t)))) {
+@@ -465,7 +444,6 @@ void jpc_qmfb_split_colgrp(jpc_fix_t *a,
+ abort();
+ }
+ }
+-#endif
+
+ if (numrows >= 2) {
+ hstartcol = (numrows + 1 - parity) >> 1;
+@@ -517,12 +495,10 @@ void jpc_qmfb_split_colgrp(jpc_fix_t *a,
+ }
+ }
+
+-#if !defined(HAVE_VLA)
+ /* If the split buffer was allocated on the heap, free this memory. */
+ if (buf != splitbuf) {
+ jas_free(buf);
+ }
+-#endif
+
+ }
+
+@@ -531,11 +507,7 @@ void jpc_qmfb_split_colres(jpc_fix_t *a,
+ {
+
+ int bufsize = JPC_CEILDIVPOW2(numrows, 1);
+-#if !defined(HAVE_VLA)
+ jpc_fix_t splitbuf[QMFB_SPLITBUFSIZE * JPC_QMFB_COLGRPSIZE];
+-#else
+- jpc_fix_t splitbuf[bufsize * numcols];
+-#endif
+ jpc_fix_t *buf = splitbuf;
+ jpc_fix_t *srcptr;
+ jpc_fix_t *dstptr;
+@@ -546,7 +518,6 @@ void jpc_qmfb_split_colres(jpc_fix_t *a,
+ int m;
+ int hstartcol;
+
+-#if !defined(HAVE_VLA)
+ /* Get a buffer. */
+ if (bufsize > QMFB_SPLITBUFSIZE) {
+ if (!(buf = jas_alloc2(bufsize, sizeof(jpc_fix_t)))) {
+@@ -554,7 +525,6 @@ void jpc_qmfb_split_colres(jpc_fix_t *a,
+ abort();
+ }
+ }
+-#endif
+
+ if (numrows >= 2) {
+ hstartcol = (numrows + 1 - parity) >> 1;
+@@ -606,12 +576,10 @@ void jpc_qmfb_split_colres(jpc_fix_t *a,
+ }
+ }
+
+-#if !defined(HAVE_VLA)
+ /* If the split buffer was allocated on the heap, free this memory. */
+ if (buf != splitbuf) {
+ jas_free(buf);
+ }
+-#endif
+
+ }
+
+@@ -619,18 +587,13 @@ void jpc_qmfb_join_row(jpc_fix_t *a, int
+ {
+
+ int bufsize = JPC_CEILDIVPOW2(numcols, 1);
+-#if !defined(HAVE_VLA)
+ jpc_fix_t joinbuf[QMFB_JOINBUFSIZE];
+-#else
+- jpc_fix_t joinbuf[bufsize];
+-#endif
+ jpc_fix_t *buf = joinbuf;
+ register jpc_fix_t *srcptr;
+ register jpc_fix_t *dstptr;
+ register int n;
+ int hstartcol;
+
+-#if !defined(HAVE_VLA)
+ /* Allocate memory for the join buffer from the heap. */
+ if (bufsize > QMFB_JOINBUFSIZE) {
+ if (!(buf = jas_alloc2(bufsize, sizeof(jpc_fix_t)))) {
+@@ -638,7 +601,6 @@ void jpc_qmfb_join_row(jpc_fix_t *a, int
+ abort();
+ }
+ }
+-#endif
+
+ hstartcol = (numcols + 1 - parity) >> 1;
+
+@@ -670,12 +632,10 @@ void jpc_qmfb_join_row(jpc_fix_t *a, int
+ ++srcptr;
+ }
+
+-#if !defined(HAVE_VLA)
+ /* If the join buffer was allocated on the heap, free this memory. */
+ if (buf != joinbuf) {
+ jas_free(buf);
+ }
+-#endif
+
+ }
+
+@@ -684,18 +644,13 @@ void jpc_qmfb_join_col(jpc_fix_t *a, int
+ {
+
+ int bufsize = JPC_CEILDIVPOW2(numrows, 1);
+-#if !defined(HAVE_VLA)
+ jpc_fix_t joinbuf[QMFB_JOINBUFSIZE];
+-#else
+- jpc_fix_t joinbuf[bufsize];
+-#endif
+ jpc_fix_t *buf = joinbuf;
+ register jpc_fix_t *srcptr;
+ register jpc_fix_t *dstptr;
+ register int n;
+ int hstartcol;
+
+-#if !defined(HAVE_VLA)
+ /* Allocate memory for the join buffer from the heap. */
+ if (bufsize > QMFB_JOINBUFSIZE) {
+ if (!(buf = jas_alloc2(bufsize, sizeof(jpc_fix_t)))) {
+@@ -703,7 +658,6 @@ void jpc_qmfb_join_col(jpc_fix_t *a, int
+ abort();
+ }
+ }
+-#endif
+
+ hstartcol = (numrows + 1 - parity) >> 1;
+
+@@ -735,12 +689,10 @@ void jpc_qmfb_join_col(jpc_fix_t *a, int
+ ++srcptr;
+ }
+
+-#if !defined(HAVE_VLA)
+ /* If the join buffer was allocated on the heap, free this memory. */
+ if (buf != joinbuf) {
+ jas_free(buf);
+ }
+-#endif
+
+ }
+
+@@ -749,11 +701,7 @@ void jpc_qmfb_join_colgrp(jpc_fix_t *a,
+ {
+
+ int bufsize = JPC_CEILDIVPOW2(numrows, 1);
+-#if !defined(HAVE_VLA)
+ jpc_fix_t joinbuf[QMFB_JOINBUFSIZE * JPC_QMFB_COLGRPSIZE];
+-#else
+- jpc_fix_t joinbuf[bufsize * JPC_QMFB_COLGRPSIZE];
+-#endif
+ jpc_fix_t *buf = joinbuf;
+ jpc_fix_t *srcptr;
+ jpc_fix_t *dstptr;
+@@ -763,7 +711,6 @@ void jpc_qmfb_join_colgrp(jpc_fix_t *a,
+ register int i;
+ int hstartcol;
+
+-#if !defined(HAVE_VLA)
+ /* Allocate memory for the join buffer from the heap. */
+ if (bufsize > QMFB_JOINBUFSIZE) {
+ if (!(buf = jas_alloc2(bufsize, JPC_QMFB_COLGRPSIZE * sizeof(jpc_fix_t)))) {
+@@ -771,7 +718,6 @@ void jpc_qmfb_join_colgrp(jpc_fix_t *a,
+ abort();
+ }
+ }
+-#endif
+
+ hstartcol = (numrows + 1 - parity) >> 1;
+
+@@ -821,12 +767,10 @@ void jpc_qmfb_join_colgrp(jpc_fix_t *a,
+ srcptr += JPC_QMFB_COLGRPSIZE;
+ }
+
+-#if !defined(HAVE_VLA)
+ /* If the join buffer was allocated on the heap, free this memory. */
+ if (buf != joinbuf) {
+ jas_free(buf);
+ }
+-#endif
+
+ }
+
+@@ -835,11 +779,7 @@ void jpc_qmfb_join_colres(jpc_fix_t *a,
+ {
+
+ int bufsize = JPC_CEILDIVPOW2(numrows, 1);
+-#if !defined(HAVE_VLA)
+ jpc_fix_t joinbuf[QMFB_JOINBUFSIZE * JPC_QMFB_COLGRPSIZE];
+-#else
+- jpc_fix_t joinbuf[bufsize * numcols];
+-#endif
+ jpc_fix_t *buf = joinbuf;
+ jpc_fix_t *srcptr;
+ jpc_fix_t *dstptr;
+@@ -849,7 +789,6 @@ void jpc_qmfb_join_colres(jpc_fix_t *a,
+ register int i;
+ int hstartcol;
+
+-#if !defined(HAVE_VLA)
+ /* Allocate memory for the join buffer from the heap. */
+ if (bufsize > QMFB_JOINBUFSIZE) {
+ if (!(buf = jas_alloc3(bufsize, numcols, sizeof(jpc_fix_t)))) {
+@@ -857,7 +796,6 @@ void jpc_qmfb_join_colres(jpc_fix_t *a,
+ abort();
+ }
+ }
+-#endif
+
+ hstartcol = (numrows + 1 - parity) >> 1;
+
+@@ -907,12 +845,10 @@ void jpc_qmfb_join_colres(jpc_fix_t *a,
+ srcptr += numcols;
+ }
+
+-#if !defined(HAVE_VLA)
+ /* If the join buffer was allocated on the heap, free this memory. */
+ if (buf != joinbuf) {
+ jas_free(buf);
+ }
+-#endif
+
+ }
+
diff --git a/patches/source/jasper/patches/jasper-CVE-2014-9029.patch b/patches/source/jasper/patches/jasper-CVE-2014-9029.patch
new file mode 100644
index 00000000..98a20359
--- /dev/null
+++ b/patches/source/jasper/patches/jasper-CVE-2014-9029.patch
@@ -0,0 +1,29 @@
+--- jasper-1.900.1.orig/src/libjasper/jpc/jpc_dec.c 2014-11-27 12:45:44.000000000 +0100
++++ jasper-1.900.1/src/libjasper/jpc/jpc_dec.c 2014-11-27 12:44:58.000000000 +0100
+@@ -1281,7 +1281,7 @@ static int jpc_dec_process_coc(jpc_dec_t
+ jpc_coc_t *coc = &ms->parms.coc;
+ jpc_dec_tile_t *tile;
+
+- if (JAS_CAST(int, coc->compno) > dec->numcomps) {
++ if (JAS_CAST(int, coc->compno) >= dec->numcomps) {
+ jas_eprintf("invalid component number in COC marker segment\n");
+ return -1;
+ }
+@@ -1307,7 +1307,7 @@ static int jpc_dec_process_rgn(jpc_dec_t
+ jpc_rgn_t *rgn = &ms->parms.rgn;
+ jpc_dec_tile_t *tile;
+
+- if (JAS_CAST(int, rgn->compno) > dec->numcomps) {
++ if (JAS_CAST(int, rgn->compno) >= dec->numcomps) {
+ jas_eprintf("invalid component number in RGN marker segment\n");
+ return -1;
+ }
+@@ -1356,7 +1356,7 @@ static int jpc_dec_process_qcc(jpc_dec_t
+ jpc_qcc_t *qcc = &ms->parms.qcc;
+ jpc_dec_tile_t *tile;
+
+- if (JAS_CAST(int, qcc->compno) > dec->numcomps) {
++ if (JAS_CAST(int, qcc->compno) >= dec->numcomps) {
+ jas_eprintf("invalid component number in QCC marker segment\n");
+ return -1;
+ }
diff --git a/patches/source/jasper/patches/jpc_dec.c.patch b/patches/source/jasper/patches/jpc_dec.c.patch
new file mode 100644
index 00000000..ae1cd061
--- /dev/null
+++ b/patches/source/jasper/patches/jpc_dec.c.patch
@@ -0,0 +1,18 @@
+diff -urN jasper-1.900.1/src/libjasper/jpc/jpc_dec.c jasper-1.900.1-fix/src/libjasper/jpc/jpc_dec.c
+--- jasper-1.900.1/src/libjasper/jpc/jpc_dec.c 2007-01-19 14:43:07.000000000 -0700
++++ jasper-1.900.1-fix/src/libjasper/jpc/jpc_dec.c 2008-03-06 16:51:12.000000000 -0700
+@@ -1069,12 +1069,12 @@
+ /* Apply an inverse intercomponent transform if necessary. */
+ switch (tile->cp->mctid) {
+ case JPC_MCT_RCT:
+- assert(dec->numcomps == 3);
++ assert(dec->numcomps >= 3);
+ jpc_irct(tile->tcomps[0].data, tile->tcomps[1].data,
+ tile->tcomps[2].data);
+ break;
+ case JPC_MCT_ICT:
+- assert(dec->numcomps == 3);
++ assert(dec->numcomps >= 3);
+ jpc_iict(tile->tcomps[0].data, tile->tcomps[1].data,
+ tile->tcomps[2].data);
+ break;
diff --git a/patches/source/jasper/patches/patch-libjasper-stepsizes-overflow.diff b/patches/source/jasper/patches/patch-libjasper-stepsizes-overflow.diff
new file mode 100644
index 00000000..097559f6
--- /dev/null
+++ b/patches/source/jasper/patches/patch-libjasper-stepsizes-overflow.diff
@@ -0,0 +1,14 @@
+--- jasper-1.900.1.orig/src/libjasper/jpc/jpc_cs.c 2007-01-19 22:43:07.000000000 +0100
++++ jasper-1.900.1/src/libjasper/jpc/jpc_cs.c 2007-04-06 01:29:02.000000000 +0200
+@@ -982,7 +982,10 @@ static int jpc_qcx_getcompparms(jpc_qcxc
+ compparms->numstepsizes = (len - n) / 2;
+ break;
+ }
+- if (compparms->numstepsizes > 0) {
++ if (compparms->numstepsizes > 3 * JPC_MAXRLVLS + 1) {
++ jpc_qcx_destroycompparms(compparms);
++ return -1;
++ } else if (compparms->numstepsizes > 0) {
+ compparms->stepsizes = jas_malloc(compparms->numstepsizes *
+ sizeof(uint_fast16_t));
+ assert(compparms->stepsizes);
diff --git a/patches/source/jasper/slack-desc b/patches/source/jasper/slack-desc
new file mode 100644
index 00000000..c79751af
--- /dev/null
+++ b/patches/source/jasper/slack-desc
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|'
+# on the right side marks the last column you can put a character in. You must
+# make exactly 11 lines for the formatting to be correct. It's also
+# customary to leave one space after the ':'.
+
+ |-----handy-ruler------------------------------------------------------|
+jasper: jasper (free implementation of the JPEG-2000 standard)
+jasper:
+jasper: The JasPer Project is an open-source initiative to provide a free
+jasper: software-based reference implementation of the codec specified in the
+jasper: JPEG-2000 Part-1 standard (i.e., ISO/IEC 15444-1).jasper:
+jasper:
+jasper: jasper home: http://www.ece.uvic.ca/~mdadams/jasper/
+jasper:
+jasper:
+jasper:
+jasper:
diff --git a/patches/source/kdebase-workspace/config/Xsession b/patches/source/kdebase-workspace/config/Xsession
new file mode 100644
index 00000000..736f5d5c
--- /dev/null
+++ b/patches/source/kdebase-workspace/config/Xsession
@@ -0,0 +1,88 @@
+#! /bin/sh
+# Xsession - run as user
+
+# Merged in parts of the old Xsession to load defaults from
+# Xresources and Xmodmap files, 2006-02-09 volkerdi
+# Merged with the new Xsession (original) from KDE4, 20071220 rworkman
+
+ session=$1
+
+# This section is borrowed from the old X11 Xsession file:
+userresources=$HOME/.Xresources
+usermodmap=$HOME/.Xmodmap
+sysresources=/usr/lib/X11/xinit/.Xresources
+sysmodmap=/usr/lib/X11/xinit/.Xmodmap
+# merge in defaults and keymaps
+if [ -r $sysresources ]; then
+ /usr/bin/xrdb -merge $sysresources
+fi
+if [ -r $sysmodmap ]; then
+ /usr/bin/xmodmap $sysmodmap
+fi
+if [ -r $userresources ]; then
+ /usr/bin/xrdb -merge $userresources
+fi
+if [ -r $usermodmap ]; then
+ /usr/bin/xmodmap $usermodmap
+fi
+
+# Note that the respective logout scripts are not sourced.
+case $SHELL in
+ */bash)
+ [ -z "$BASH" ] && exec $SHELL $0 "$@"
+ set +o posix
+ [ -f /etc/profile ] && . /etc/profile
+ if [ -f $HOME/.bash_profile ]; then
+ . $HOME/.bash_profile
+ elif [ -f $HOME/.bash_login ]; then
+ . $HOME/.bash_login
+ elif [ -f $HOME/.profile ]; then
+ . $HOME/.profile
+ fi
+ ;;
+ */zsh)
+ [ -z "$ZSH_NAME" ] && exec $SHELL $0 "$@"
+ emulate -R zsh
+ [ -d /etc/zsh ] && zdir=/etc/zsh || zdir=/etc
+ zhome=${ZDOTDIR:-$HOME}
+ # zshenv is always sourced automatically.
+ [ -f $zdir/zprofile ] && . $zdir/zprofile
+ [ -f $zhome/.zprofile ] && . $zhome/.zprofile
+ [ -f $zdir/zlogin ] && . $zdir/zlogin
+ [ -f $zhome/.zlogin ] && . $zhome/.zlogin
+ ;;
+ */csh|*/tcsh)
+ # [t]cshrc is always sourced automatically.
+ # Note that sourcing csh.login after .cshrc is non-standard.
+ xsess_tmp=`mktemp /tmp/xsess-env-XXXXXX`
+ $SHELL -c "if (-f /etc/csh.login) source /etc/csh.login; if (-f ~/.login) source ~/.login; /bin/sh -c export -p >! $xsess_tmp"
+ . $xsess_tmp
+ rm -f $xsess_tmp
+ ;;
+ *) # Plain sh, ksh, and anything we do not know.
+ [ -f /etc/profile ] && . /etc/profile
+ [ -f $HOME/.profile ] && . $HOME/.profile
+ ;;
+esac
+
+[ -f /etc/xprofile ] && . /etc/xprofile
+[ -f $HOME/.xprofile ] && . $HOME/.xprofile
+
+case $session in
+ "")
+ exec xmessage -center -buttons OK:0 -default OK "Sorry, $DESKTOP_SESSION is no valid session."
+ ;;
+ failsafe)
+ exec xterm -geometry 80x24-0-0
+ ;;
+ custom)
+ exec $HOME/.xsession
+ ;;
+ default)
+ exec /usr/bin/startkde
+ ;;
+ *)
+ eval exec "$session"
+ ;;
+esac
+exec xmessage -center -buttons OK:0 -default OK "Sorry, cannot execute $session. Check $DESKTOP_SESSION.desktop."
diff --git a/patches/source/kdebase-workspace/config/Xsession.orig b/patches/source/kdebase-workspace/config/Xsession.orig
new file mode 100644
index 00000000..43d78b8d
--- /dev/null
+++ b/patches/source/kdebase-workspace/config/Xsession.orig
@@ -0,0 +1,65 @@
+#! /bin/sh
+# Xsession - run as user
+
+session=$1
+
+# Note that the respective logout scripts are not sourced.
+case $SHELL in
+ */bash)
+ [ -z "$BASH" ] && exec $SHELL $0 "$@"
+ set +o posix
+ [ -f /etc/profile ] && . /etc/profile
+ if [ -f $HOME/.bash_profile ]; then
+ . $HOME/.bash_profile
+ elif [ -f $HOME/.bash_login ]; then
+ . $HOME/.bash_login
+ elif [ -f $HOME/.profile ]; then
+ . $HOME/.profile
+ fi
+ ;;
+ */zsh)
+ [ -z "$ZSH_NAME" ] && exec $SHELL $0 "$@"
+ emulate -R zsh
+ [ -d /etc/zsh ] && zdir=/etc/zsh || zdir=/etc
+ zhome=${ZDOTDIR:-$HOME}
+ # zshenv is always sourced automatically.
+ [ -f $zdir/zprofile ] && . $zdir/zprofile
+ [ -f $zhome/.zprofile ] && . $zhome/.zprofile
+ [ -f $zdir/zlogin ] && . $zdir/zlogin
+ [ -f $zhome/.zlogin ] && . $zhome/.zlogin
+ ;;
+ */csh|*/tcsh)
+ # [t]cshrc is always sourced automatically.
+ # Note that sourcing csh.login after .cshrc is non-standard.
+ xsess_tmp=`mktemp /tmp/xsess-env-XXXXXX`
+ $SHELL -c "if (-f /etc/csh.login) source /etc/csh.login; if (-f ~/.login) source ~/.login; /bin/sh -c export -p >! $xsess_tmp"
+ . $xsess_tmp
+ rm -f $xsess_tmp
+ ;;
+ *) # Plain sh, ksh, and anything we do not know.
+ [ -f /etc/profile ] && . /etc/profile
+ [ -f $HOME/.profile ] && . $HOME/.profile
+ ;;
+esac
+
+[ -f /etc/xprofile ] && . /etc/xprofile
+[ -f $HOME/.xprofile ] && . $HOME/.xprofile
+
+case $session in
+ "")
+ exec xmessage -center -buttons OK:0 -default OK "Sorry, $DESKTOP_SESSION is no valid session."
+ ;;
+ failsafe)
+ exec xterm -geometry 80x24-0-0
+ ;;
+ custom)
+ exec $HOME/.xsession
+ ;;
+ default)
+ exec /usr/bin/startkde
+ ;;
+ *)
+ eval exec "$session"
+ ;;
+esac
+exec xmessage -center -buttons OK:0 -default OK "Sorry, cannot execute $session. Check $DESKTOP_SESSION.desktop."
diff --git a/patches/source/kdebase-workspace/doinst.sh b/patches/source/kdebase-workspace/doinst.sh
new file mode 100644
index 00000000..793bae74
--- /dev/null
+++ b/patches/source/kdebase-workspace/doinst.sh
@@ -0,0 +1,26 @@
+#!/bin/sh
+
+config() {
+ NEW="$1"
+ OLD="$(dirname $NEW)/$(basename $NEW .new)"
+ # If there's no config file by that name, mv it over:
+ if [ ! -r $OLD ]; then
+ mv $NEW $OLD
+ elif [ "$(cat $OLD | md5sum)" = "$(cat $NEW | md5sum)" ]; then
+ # toss the redundant copy
+ rm $NEW
+ fi
+ # Otherwise, we leave the .new copy for the admin to consider...
+}
+
+config etc/kde/kdm/backgroundrc.new
+config etc/kde/kdm/kdmrc.new
+
+if [ -x usr/bin/update-desktop-database ]; then
+ usr/bin/update-desktop-database usr/share/applications >/dev/null 2>&1
+fi
+
+if [ -x usr/bin/update-mime-database ]; then
+ usr/bin/update-mime-database usr/share/mime >/dev/null 2>&1
+fi
+
diff --git a/patches/source/kdebase-workspace/kdebase-workspace-4.3.5-CVE-2010-0436-really-for-4.3.5.diff b/patches/source/kdebase-workspace/kdebase-workspace-4.3.5-CVE-2010-0436-really-for-4.3.5.diff
new file mode 100644
index 00000000..3ec7f643
--- /dev/null
+++ b/patches/source/kdebase-workspace/kdebase-workspace-4.3.5-CVE-2010-0436-really-for-4.3.5.diff
@@ -0,0 +1,193 @@
+--- ./kdm/ConfigureChecks.cmake.orig 2009-05-27 14:53:40.000000000 -0500
++++ ./kdm/ConfigureChecks.cmake 2010-04-19 15:37:35.000000000 -0500
+@@ -37,6 +37,35 @@
+ }
+ " HAVE_SETLOGIN)
+
++check_c_source_runs("
++#include <sys/socket.h>
++#include <sys/un.h>
++#include <sys/stat.h>
++#include <sys/types.h>
++#include <string.h>
++#include <unistd.h>
++#include <errno.h>
++int main()
++{
++ int fd, fd2;
++ struct sockaddr_un sa;
++
++ if ((fd = socket(PF_UNIX, SOCK_STREAM, 0)) < 0)
++ return 2;
++ sa.sun_family = AF_UNIX;
++ strcpy(sa.sun_path, \"testsock\");
++ unlink(sa.sun_path);
++ if (bind(fd, (struct sockaddr *)&sa, sizeof(sa)))
++ return 2;
++ chmod(sa.sun_path, 0);
++ setuid(getuid() + 1000);
++ if ((fd2 = socket(PF_UNIX, SOCK_STREAM, 0)) < 0)
++ return 2;
++ connect(fd2, (struct sockaddr *)&sa, sizeof(sa));
++ return errno != EACCES;
++}
++" HONORS_SOCKET_PERMS)
++
+ # for config-kdm.h
+ check_function_exists(seteuid HAVE_SETEUID)
+
+--- ./kdm/config-kdm.h.cmake.orig 2009-05-27 14:53:40.000000000 -0500
++++ ./kdm/config-kdm.h.cmake 2010-04-19 15:37:35.000000000 -0500
+@@ -129,6 +129,9 @@
+ /* Define to 1 if the ck-connector library is found */
+ #cmakedefine HAVE_CKCONNECTOR 1
+
++/* Define to 1 if OS honors permission bits on socket inodes */
++#cmakedefine HONORS_SOCKET_PERMS 1
++
+ /* $PATH defaults set by KDM */
+ #cmakedefine KDM_DEF_USER_PATH "${KDM_DEF_USER_PATH}"
+ #cmakedefine KDM_DEF_SYSTEM_PATH "${KDM_DEF_SYSTEM_PATH}"
+--- ./kdm/backend/dm.h.orig 2008-11-19 04:18:06.000000000 -0600
++++ ./kdm/backend/dm.h 2010-04-19 15:37:35.000000000 -0500
+@@ -232,6 +232,9 @@
+ struct cmdsock *css; /* open connections */
+
+ char *path; /* filename of the socket */
++#ifndef HONORS_SOCKET_PERMS
++ char *realdir; /* real dirname of the socket */
++#endif
+ int fd; /* fd of the socket */
+ int gid; /* owner group of the socket */
+ } CtrlRec;
+--- ./kdm/backend/ctrl.c.orig 2009-03-18 04:59:20.000000000 -0500
++++ ./kdm/backend/ctrl.c 2010-04-19 15:42:55.000000000 -0500
+@@ -78,7 +78,25 @@
+ }
+
+
++#ifdef HONORS_SOCKET_PERMS
+ static CtrlRec ctrl = { 0, 0, -1, 0 };
++#else
++static CtrlRec ctrl = { 0, 0, 0, -1, 0 };
++
++static int mkTempDir( char *dir )
++{
++ int i, l = strlen( dir ) - 6;
++
++ for (i = 0; i < 100; i++) {
++ randomStr( dir + l );
++ if (!mkdir( dir, 0700 ))
++ return True;
++ if (errno != EEXIST)
++ break;
++ }
++ return False;
++}
++#endif
+
+ void
+ openCtrl( struct display *d )
+@@ -112,22 +130,50 @@
+ if (strlen( cr->path ) >= sizeof(sa.sun_path))
+ logError( "path %\"s too long; no control sockets will be available\n",
+ cr->path );
+- else if (mkdir( sockdir, 0755 ) && errno != EEXIST)
++ #ifdef HONORS_SOCKET_PERMS
++ else if (mkdir( sockdir, 0700 ) && errno != EEXIST)
+ logError( "mkdir %\"s failed; no control sockets will be available\n",
+ sockdir );
++ else if (unlink( cr->path ) && errno != ENOENT)
++ logError( "unlink %\"s failed: %m; control socket will not be available\n",
++ cr->path );
+ else {
+- if (!d)
+- chown( sockdir, -1, fifoGroup );
++ #else
++ else if (unlink( sockdir ) && errno != ENOENT)
++ logError( "unlink %\"s failed: %m; control socket will not be available\n",
++ sockdir );
++ else if (!strApp( &cr->realdir, sockdir, "-XXXXXX", (char *)0))
++ ;
++ else if (!mkTempDir( cr->realdir )) {
++ logError( "mkdir %\"s failed: %m; control socket will not be available\n",
++ cr->realdir );
++ free( cr->realdir );
++ cr->realdir = 0;
++ } else if (symlink( cr->realdir, sockdir )) {
++ logError( "symlink %\"s => %\"s failed: %m; control socket will not be available\n",
++ sockdir, cr->realdir );
++ rmdir( cr->realdir );
++ free( cr->realdir );
++ cr->realdir = 0;
++ } else {
++ chown( sockdir, 0, d ? 0 : fifoGroup );
+ chmod( sockdir, 0750 );
++ #endif
+ if ((cr->fd = socket( PF_UNIX, SOCK_STREAM, 0 )) < 0)
+ logError( "Cannot create control socket\n" );
+ else {
+- unlink( cr->path );
+ sa.sun_family = AF_UNIX;
+ strcpy( sa.sun_path, cr->path );
+ if (!bind( cr->fd, (struct sockaddr *)&sa, sizeof(sa) )) {
+ if (!listen( cr->fd, 5 )) {
++ #ifdef HONORS_SOCKET_PERMS
++ chmod( cr->path, 0660 );
++ if (!d)
++ chown( cr->path, -1, fifoGroup );
++ chmod( sockdir, 0755 );
++ #else
+ chmod( cr->path, 0666 );
++ #endif
+ registerCloseOnFork( cr->fd );
+ registerInput( cr->fd );
+ free( sockdir );
+@@ -142,6 +188,14 @@
+ close( cr->fd );
+ cr->fd = -1;
+ }
++#ifdef HONORS_SOCKET_PERMS
++ rmdir( sockdir );
++#else
++ unlink( sockdir );
++ rmdir( cr->realdir );
++ free( cr->realdir );
++ cr->realdir = 0;
++#endif
+ }
+ free( cr->path );
+ cr->path = 0;
+@@ -162,7 +216,14 @@
+ cr->fd = -1;
+ unlink( cr->path );
+ *strrchr( cr->path, '/' ) = 0;
++#ifdef HONORS_SOCKET_PERMS
+ rmdir( cr->path );
++#else
++ unlink( cr->path );
++ rmdir( cr->realdir );
++ free( cr->realdir );
++ cr->realdir = 0;
++#endif
+ free( cr->path );
+ cr->path = 0;
+ while (cr->css) {
+@@ -176,12 +237,12 @@
+ void
+ chownCtrl( CtrlRec *cr, int uid )
+ {
+- if (cr->path) {
+- char *ptr = strrchr( cr->path, '/' );
+- *ptr = 0;
++ if (cr->path)
++#ifdef HONORS_SOCKET_PERMS
+ chown( cr->path, uid, -1 );
+- *ptr = '/';
+- }
++#else
++ chown( cr->realdir, uid, -1 );
++#endif
+ }
+
+ void
diff --git a/patches/source/kdebase-workspace/kdebase-workspace.SlackBuild b/patches/source/kdebase-workspace/kdebase-workspace.SlackBuild
new file mode 100755
index 00000000..7b05faa7
--- /dev/null
+++ b/patches/source/kdebase-workspace/kdebase-workspace.SlackBuild
@@ -0,0 +1,117 @@
+#!/bin/sh
+
+# Copyright 2009 Patrick J. Volkerding, Sebeka, MN, USA
+# All rights reserved.
+#
+# Redistribution and use of this script, with or without modification, is
+# permitted provided that the following conditions are met:
+#
+# 1. Redistributions of this script must retain the above copyright
+# notice, this list of conditions and the following disclaimer.
+#
+# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED
+# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
+# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
+# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+CWD=$(pwd)
+TMP=${TMP:-/tmp}
+PKG=$TMP/package-kdebase-workspace
+
+# Set the config option variables if they are not already set:
+if [ -r ../KDE.options ]; then
+ . ../KDE.options
+fi
+
+# The global options may be overridden here (if needed):
+if [ -r ./local.options ]; then
+ . ./local.options
+fi
+
+# Avoid a version number in .la files:
+if [ -d /usr/lib${LIBDIRSUFFIX}/qt ]; then
+ QTDIR=/usr/lib${LIBDIRSUFFIX}/qt
+fi
+
+rm -rf $PKG
+mkdir -p $PKG/usr
+cd $TMP
+echo "Building kdebase-workspace-$VERSION..."
+tar xvf $CWD/../src/kdebase-workspace-$VERSION.tar.?z* || exit 1
+cd kdebase-workspace-$VERSION
+
+cat $CWD/kdebase-workspace-4.3.5-CVE-2010-0436-really-for-4.3.5.diff | patch -p1 || exit 1
+
+chown -R root:root .
+find . \
+ \( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \
+ -exec chmod 755 {} \; -o \
+ \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \
+ -exec chmod 644 {} \;
+
+mkdir -p build
+cd build
+ cmake \
+ -DCMAKE_C_FLAGS:STRING="$SLKCFLAGS" \
+ -DCMAKE_CXX_FLAGS:STRING="$SLKCFLAGS" \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DCMAKE_INSTALL_PREFIX=/usr \
+ -DMAN_INSTALL_DIR=/usr/man \
+ -DSYSCONF_INSTALL_DIR=/etc/kde \
+ -DLIB_SUFFIX=${LIBDIRSUFFIX} \
+ ..
+ make $NUMJOBS || exit 1
+ make install DESTDIR=$PKG || exit 1
+cd -
+
+if [ -d $PKG/usr/man ]; then
+ gzip -9 $PKG/usr/man/man?/*
+fi
+
+mkdir -p $PKG/etc/X11/xinit
+cat $CWD/xinit/xinitrc.kde > $PKG/etc/X11/xinit/xinitrc.kde
+chmod 0755 $PKG/etc/X11/xinit/xinitrc.kde
+
+# Setup config files for KDM:
+$PKG/usr/bin/genkdmconf --no-old --no-old-scripts --no-backup --in $PKG/usr/share/config/kdm
+
+# Not allowing root to login at the console is just plain silly. If they
+# have physical access to the machine, what's the point of trying to stop
+# this? Even the kdmrc file says this is supposed to be the default.
+sed -i 's/AllowRootLogin=false/AllowRootLogin=true/' \
+ $PKG/usr/share/config/kdm/kdmrc
+mv $PKG/usr/share/config/kdm/kdmrc $PKG/usr/share/config/kdm/kdmrc.new
+
+cp -a $PKG/usr/share/config/kdm/Xsession $PKG/usr/share/config/kdm/Xsession.orig
+cat $CWD/config/Xsession | sed -e "s#/lib#/lib${LIBDIRSUFFIX}#" \
+ > $PKG/usr/share/config/kdm/Xsession
+mv $PKG/usr/share/config/kdm/backgroundrc $PKG/usr/share/config/kdm/backgroundrc.new
+
+# Move the KDM files someplace FHS compliant:
+mkdir -p $PKG/etc/kde
+mv $PKG/usr/share/config/kdm $PKG/etc/kde
+( cd $PKG/usr/share/config ; ln -sf ../../../etc/kde/kdm . )
+
+# This is fubar:
+rm -f $PKG/usr/share/icons/hicolor/index.theme
+
+mkdir -p $PKG/usr/doc/kdebase-workspace-$VERSION
+cp -a COPYING* README $PKG/usr/doc/kdebase-workspace-$VERSION
+
+find $PKG | xargs file | grep -e "executable" -e "shared object" \
+ | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
+
+mkdir -p $PKG/install
+cat $CWD/slack-desc > $PKG/install/slack-desc
+zcat $CWD/doinst.sh.gz > $PKG/install/doinst.sh
+
+cd $PKG
+/sbin/makepkg -l y -c n $TMP/kdebase-workspace-$VERSION-$ARCH-$BUILD.txz
+
diff --git a/patches/source/kdebase-workspace/local.options b/patches/source/kdebase-workspace/local.options
new file mode 100644
index 00000000..e7ebaaed
--- /dev/null
+++ b/patches/source/kdebase-workspace/local.options
@@ -0,0 +1 @@
+BUILD=2_slack13.0
diff --git a/patches/source/kdebase-workspace/slack-desc b/patches/source/kdebase-workspace/slack-desc
new file mode 100644
index 00000000..e828d208
--- /dev/null
+++ b/patches/source/kdebase-workspace/slack-desc
@@ -0,0 +1,12 @@
+ |-----handy-ruler------------------------------------------------------|
+kdebase-workspace: kdebase-workspace - the KDE Workspace
+kdebase-workspace:
+kdebase-workspace: The KDE Workspace (kdebase-workspace) package consists of what is
+kdebase-workspace: essentially the KDE workspace presented to the user.
+kdebase-workspace:
+kdebase-workspace:
+kdebase-workspace:
+kdebase-workspace:
+kdebase-workspace:
+kdebase-workspace:
+kdebase-workspace:
diff --git a/patches/source/kdebase-workspace/xinit/xinitrc.kde b/patches/source/kdebase-workspace/xinit/xinitrc.kde
new file mode 100755
index 00000000..2fda1fab
--- /dev/null
+++ b/patches/source/kdebase-workspace/xinit/xinitrc.kde
@@ -0,0 +1,28 @@
+#!/bin/sh
+# $XConsortium: xinitrc.cpp,v 1.4 91/08/22 11:41:34 rws Exp $
+
+userresources=$HOME/.Xresources
+usermodmap=$HOME/.Xmodmap
+sysresources=/etc/X11/xinit/.Xresources
+sysmodmap=/etc/X11/xinit/.Xmodmap
+
+# merge in defaults and keymaps
+
+if [ -f $sysresources ]; then
+ xrdb -merge $sysresources
+fi
+
+if [ -f $sysmodmap ]; then
+ xmodmap $sysmodmap
+fi
+
+if [ -f $userresources ]; then
+ xrdb -merge $userresources
+fi
+
+if [ -f $usermodmap ]; then
+ xmodmap $usermodmap
+fi
+
+# Start the window manager:
+startkde
diff --git a/patches/source/libX11/arch.use.flags b/patches/source/libX11/arch.use.flags
new file mode 100644
index 00000000..11087c88
--- /dev/null
+++ b/patches/source/libX11/arch.use.flags
@@ -0,0 +1,9 @@
+if [ "$ARCH" = "i486" ]; then
+ SLKCFLAGS="-O2 -march=i486 -mtune=i686"
+elif [ "$ARCH" = "i586" ]; then
+ SLKCFLAGS="-O2 -march=i586 -mtune=i686"
+elif [ "$ARCH" = "s390" ]; then
+ SLKCFLAGS="-O2"
+elif [ "$ARCH" = "x86_64" ]; then
+ SLKCFLAGS="-O2 -fPIC"
+fi
diff --git a/patches/source/libX11/build/libX11 b/patches/source/libX11/build/libX11
new file mode 100644
index 00000000..1551cb6a
--- /dev/null
+++ b/patches/source/libX11/build/libX11
@@ -0,0 +1 @@
+1_slack13.0
diff --git a/patches/source/libX11/configure/libX11 b/patches/source/libX11/configure/libX11
new file mode 100644
index 00000000..cf85e58d
--- /dev/null
+++ b/patches/source/libX11/configure/libX11
@@ -0,0 +1,12 @@
+CFLAGS=$SLKCFLAGS \
+CXXFLAGS=$SLKCFLAGS \
+./configure \
+ --prefix=/usr \
+ --libdir=/usr/lib${LIBDIRSUFFIX} \
+ --docdir=/usr/doc/${PKGNAME}-${MODULAR_PACKAGE_VERSION} \
+ --sysconfdir=/etc \
+ --localstatedir=/var \
+ --infodir=/usr/info \
+ --mandir=/usr/man \
+ --disable-static \
+ --build=$ARCH-slackware-linux
diff --git a/patches/source/libX11/libX11.SlackBuild b/patches/source/libX11/libX11.SlackBuild
new file mode 100755
index 00000000..6db22779
--- /dev/null
+++ b/patches/source/libX11/libX11.SlackBuild
@@ -0,0 +1,2 @@
+UPGRADE_PACKAGES=no ./x11.SlackBuild lib libX11
+mv /tmp/x11-build/libX11*txz /tmp
diff --git a/patches/source/libX11/modularize b/patches/source/libX11/modularize
new file mode 100644
index 00000000..8a28ed93
--- /dev/null
+++ b/patches/source/libX11/modularize
@@ -0,0 +1,279 @@
+# If a package is listed here, it will be built apart from the
+# usual "grab bag" package that's made from each source directory.
+
+appres
+bdftopcf
+beforelight
+bigreqsproto
+bitmap
+compiz
+compositeproto
+damageproto
+dmxproto
+dri2proto
+dri3proto
+editres
+encodings
+evieext
+fixesproto
+font-adobe-100dpi
+font-adobe-75dpi
+font-adobe-utopia-100dpi
+font-adobe-utopia-75dpi
+font-adobe-utopia-type1
+font-alias
+font-arabic-misc
+font-bh-100dpi
+font-bh-75dpi
+font-bh-lucidatypewriter-100dpi
+font-bh-lucidatypewriter-75dpi
+font-bh-ttf
+font-bh-type1
+font-bitstream-100dpi
+font-bitstream-75dpi
+font-bitstream-speedo
+font-bitstream-type1
+font-cronyx-cyrillic
+font-cursor-misc
+font-daewoo-misc
+font-dec-misc
+font-ibm-type1
+font-isas-misc
+font-jis-misc
+font-micro-misc
+font-misc-cyrillic
+font-misc-ethiopic
+font-misc-meltho
+font-misc-misc
+font-mutt-misc
+font-schumacher-misc
+font-screen-cyrillic
+font-sony-misc
+font-sun-misc
+font-util
+font-winitzki-cyrillic
+font-xfree86-type1
+fontcacheproto
+fontsproto
+fonttosfnt
+fslsfonts
+fstobdf
+gccmakedep
+glamor-egl
+glproto
+iceauth
+ico
+imake
+inputproto
+intel-gpu-tools
+kbproto
+libFS
+libICE
+libSM
+libX11
+libXScrnSaver
+libXau
+libXaw
+libXaw3d
+libXcm
+libXcomposite
+libXcursor
+libXdamage
+libXdmcp
+libXevie
+libXext
+libXfixes
+libXfont
+libXfontcache
+libXft
+libXi
+libXinerama
+libXmu
+libXp
+libXpm
+libXpresent
+libXrandr
+libXrender
+libXres
+libXt
+libXtst
+libXv
+libXvMC
+libXxf86dga
+libXxf86misc
+libXxf86vm
+libdmx
+libfontenc
+libpciaccess
+libpthread-stubs
+libxcb
+libxkbfile
+libxshmfence
+listres
+lndir
+luit
+makedepend
+mkcomposecache
+mkfontdir
+mkfontscale
+oclock
+pixman
+presentproto
+printproto
+randrproto
+recordproto
+rendercheck
+renderproto
+resourceproto
+rgb
+scrnsaverproto
+sessreg
+setxkbmap
+showfont
+smproxy
+transset
+twm
+util-macros
+videoproto
+viewres
+x11perf
+xauth
+xbacklight
+xbiff
+xbitmaps
+xcalc
+xcb-proto
+xcb-util
+xcb-util-cursor
+xcb-util-errors
+xcb-util-image
+xcb-util-keysyms
+xcb-util-renderutil
+xcb-util-wm
+xclipboard
+xclock
+xcm
+xcmiscproto
+xcmsdb
+xcompmgr
+xconsole
+xcursor-themes
+xcursorgen
+xdbedizzy
+xditview
+xdm
+xdpyinfo
+xdriinfo
+xedit
+xev
+xextproto
+xeyes
+xf86-input-acecad
+xf86-input-aiptek
+xf86-input-evdev
+xf86-input-joystick
+xf86-input-keyboard
+xf86-input-mouse
+xf86-input-penmount
+xf86-input-synaptics
+xf86-input-vmmouse
+xf86-input-void
+xf86-input-wacom
+xf86-video-amdgpu
+xf86-video-apm
+xf86-video-ark
+xf86-video-ast
+xf86-video-ati
+xf86-video-chips
+xf86-video-cirrus
+xf86-video-dummy
+xf86-video-geode
+xf86-video-glint
+xf86-video-i128
+xf86-video-i740
+xf86-video-intel
+xf86-video-mach64
+xf86-video-mga
+xf86-video-modesetting
+xf86-video-neomagic
+xf86-video-nouveau
+xf86-video-nv
+xf86-video-omap
+xf86-video-openchrome
+xf86-video-qxl
+xf86-video-r128
+xf86-video-rendition
+xf86-video-s3
+xf86-video-s3virge
+xf86-video-savage
+xf86-video-siliconmotion
+xf86-video-sis
+xf86-video-sisusb
+xf86-video-tdfx
+xf86-video-tga
+xf86-video-trident
+xf86-video-tseng
+xf86-video-v4l
+xf86-video-vesa
+xf86-video-vmware
+xf86-video-voodoo
+xf86-video-xgi
+xf86-video-xgixp
+xf86bigfontproto
+xf86dga
+xf86dgaproto
+xf86driproto
+xf86miscproto
+xf86vidmodeproto
+xfd
+xfontsel
+xfs
+xfsinfo
+xgamma
+xgc
+xhost
+xineramaproto
+xinit
+xinput
+xkbcomp
+xkbevd
+xkbprint
+xkbutils
+xkeyboard-config
+xkill
+xload
+xlogo
+xlsatoms
+xlsclients
+xlsfonts
+xmag
+xman
+xmessage
+xmh
+xmodmap
+xmore
+xorg-cf-files
+xorg-docs
+xorg-server
+xorg-server-xephyr
+xorg-server-xnest
+xorg-server-xvfb
+xorg-sgml-doctools
+xpr
+xprop
+xproto
+xpyb
+xrandr
+xrdb
+xrefresh
+xscope
+xset
+xsetroot
+xsm
+xstdcmap
+xtrans
+xvidtune
+xvinfo
+xwd
+xwininfo
+xwud
diff --git a/patches/source/libX11/noarch b/patches/source/libX11/noarch
new file mode 100644
index 00000000..8785ee52
--- /dev/null
+++ b/patches/source/libX11/noarch
@@ -0,0 +1,75 @@
+# List packages with an $ARCH of "noarch" (i.e. packages
+# that contain no binaries) here:
+bigreqsproto
+compositeproto
+damageproto
+dejavu-ttf
+dmxproto
+encodings
+evieext
+font-adobe-100dpi
+font-adobe-75dpi
+font-adobe-utopia-100dpi
+font-adobe-utopia-75dpi
+font-adobe-utopia-type1
+font-alias
+font-arabic-misc
+font-bh-100dpi
+font-bh-75dpi
+font-bh-lucidatypewriter-100dpi
+font-bh-lucidatypewriter-75dpi
+font-bh-ttf
+font-bh-type1
+font-bitstream-100dpi
+font-bitstream-75dpi
+font-bitstream-speedo
+font-bitstream-type1
+font-cronyx-cyrillic
+font-cursor-misc
+font-daewoo-misc
+font-dec-misc
+font-ibm-type1
+font-isas-misc
+font-jis-misc
+font-micro-misc
+font-misc-cyrillic
+font-misc-ethiopic
+font-misc-meltho
+font-misc-misc
+font-mutt-misc
+font-schumacher-misc
+font-screen-cyrillic
+font-sony-misc
+font-sun-misc
+font-winitzki-cyrillic
+font-xfree86-type1
+fontcacheproto
+fontsproto
+gccmakedep
+glproto
+inputproto
+kbproto
+libpthread-stubs
+mkfontdir
+printproto
+randrproto
+recordproto
+renderproto
+resourceproto
+scrnsaverproto
+ttf-indic-fonts
+util-macros
+videoproto
+x11-skel
+xcmiscproto
+xcursor-themes
+xf86bigfontproto
+xf86dgaproto
+xf86driproto
+xf86miscproto
+xf86vidmodeproto
+xineramaproto
+xkeyboard-config
+xorg-docs
+xproto
+xtrans
diff --git a/patches/source/libX11/package-blacklist b/patches/source/libX11/package-blacklist
new file mode 100644
index 00000000..603b8c31
--- /dev/null
+++ b/patches/source/libX11/package-blacklist
@@ -0,0 +1,44 @@
+# Enter packages to skip (perhaps because they aren't used on
+# this platform) below. Just the package name -- no version
+# number is needed.
+
+# ARM only packages:
+# They also say in the README for this one that it is not yet ready:
+xf86-video-omap
+
+# MacOS related packages:
+applewmproto
+windowswmproto
+libAppleWM
+libWindowsWM
+
+# Sun video cards:
+xf86-video-sunbw2
+xf86-video-suncg14
+xf86-video-suncg3
+xf86-video-suncg6
+xf86-video-sunffb
+xf86-video-sunleo
+xf86-video-suntcx
+
+# Obsolete packages:
+liboldX
+xf86-video-amd
+xf86-video-via
+xkbdata
+xphelloworld
+xrx
+xf86-video-modesetting
+
+# Not applicable to us
+grandr
+constype
+
+# CAREFUL NOT TO "SHIP" THE STUFF BELOW IN THE MAIN X PACKAGES DIR!
+
+# This is probably obsolete, and kills "X -configure" too
+xf86-video-nsc
+
+# We don't want this one, as it causes failure of X with no xorg.conf
+xf86-video-fbdev
+
diff --git a/patches/source/libX11/post-install/libX11.post-install b/patches/source/libX11/post-install/libX11.post-install
new file mode 100644
index 00000000..7232b680
--- /dev/null
+++ b/patches/source/libX11/post-install/libX11.post-install
@@ -0,0 +1,2 @@
+mkdir -p $PKG/usr/share/X11
+zcat $CWD/post-install/libX11/XKeysymDB.gz > $PKG/usr/share/X11/XKeysymDB
diff --git a/patches/source/libX11/slack-desc/libX11 b/patches/source/libX11/slack-desc/libX11
new file mode 100644
index 00000000..2ec4f39a
--- /dev/null
+++ b/patches/source/libX11/slack-desc/libX11
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|'
+# on the right side marks the last column you can put a character in. You must
+# make exactly 11 lines for the formatting to be correct. It's also
+# customary to leave one space after the ':'.
+
+ |-----handy-ruler------------------------------------------------------|
+libX11: libX11 (Core X11 protocol client library)
+libX11:
+libX11: libX11 is part of X11.
+libX11:
+libX11: For more information about the X.Org Foundation (the providers of the
+libX11: X.Org implementation of the X Window System), see their website:
+libX11:
+libX11: http://www.x.org
+libX11:
+libX11:
+libX11:
diff --git a/patches/source/libX11/x11.SlackBuild b/patches/source/libX11/x11.SlackBuild
new file mode 100755
index 00000000..c3887dff
--- /dev/null
+++ b/patches/source/libX11/x11.SlackBuild
@@ -0,0 +1,381 @@
+#!/bin/sh
+# Copyright 2007-2014 Patrick J. Volkerding, Sebeka, MN, USA
+# All rights reserved.
+#
+# Redistribution and use of this script, with or without modification, is
+# permitted provided that the following conditions are met:
+#
+# 1. Redistributions of this script must retain the above copyright
+# notice, this list of conditions and the following disclaimer.
+#
+# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED
+# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
+# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
+# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+# To build only a single package group, specify it as $1, like:
+# ./x11.SlackBuild lib
+# To build only a single package, specify both the source directory
+# and the name of the package, like:
+# ./x11.SlackBuild lib libX11
+
+# Upgrade packages as they are built.
+# Default is to upgrade new packages (UPGRADE_PACKAGES=yes).
+# To install ALL newly built packages (even if they are already installed),
+# use UPGRADE_PACKAGES=always
+# To not upgrade, pass UPGRADE_PACKAGES=no
+UPGRADE_PACKAGES=${UPGRADE_PACKAGES:-yes}
+
+pkgbase() {
+ PKGEXT=$(echo $1 | rev | cut -f 1 -d . | rev)
+ case $PKGEXT in
+ 'gz' )
+ PKGRETURN=$(basename $1 .tar.gz)
+ ;;
+ 'bz2' )
+ PKGRETURN=$(basename $1 .tar.bz2)
+ ;;
+ 'lzma' )
+ PKGRETURN=$(basename $1 .tar.lzma)
+ ;;
+ 'xz' )
+ PKGRETURN=$(basename $1 .tar.xz)
+ ;;
+ *)
+ PKGRETURN=$(basename $1)
+ ;;
+ esac
+ echo $PKGRETURN
+}
+
+# Set initial variables:
+CWD=$(pwd)
+TMP=${TMP:-/tmp}
+
+# Automatically determine the architecture we're building on:
+if [ -z "$ARCH" ]; then
+ case "$( uname -m )" in
+ i?86) export ARCH=i486 ;;
+ arm*) export ARCH=arm ;;
+ # Unless $ARCH is already set, use uname -m for all other archs:
+ *) export ARCH=$( uname -m ) ;;
+ esac
+fi
+
+# A lot of this stuff just controls the package names this time:
+VERSION=${VERSION:-7.5}
+BUILD=${BUILD:-1}
+PKGARCH=$ARCH
+NUMJOBS=${NUMJOBS:-" -j7 "}
+
+if [ "$ARCH" = "x86_64" ]; then
+ LIBDIRSUFFIX="64"
+else
+ LIBDIRSUFFIX=""
+fi
+
+# Set up a few useful functions:
+
+fix_perms() {
+ chown -R root:root .
+ find . \
+ \( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \
+ -exec chmod 755 {} \; -o \
+ \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \
+ -exec chmod 644 {} \;
+}
+
+process_man_pages() {
+ # Compress and if needed symlink the man pages:
+ if [ -d usr/man ]; then
+ ( cd usr/man
+ for manpagedir in $(find . -type d -name "man*") ; do
+ ( cd $manpagedir
+ for eachpage in $( find . -type l -maxdepth 1) ; do
+ ln -s $( readlink $eachpage ).gz $eachpage.gz
+ rm $eachpage
+ done
+ gzip -9 *.*
+ )
+ done
+ )
+ fi
+}
+
+process_info_pages() {
+ # Compress info pages and purge "dir" file from the package:
+ if [ -d usr/info ]; then
+ ( cd usr/info
+ rm -f dir
+ gzip -9 *
+ )
+ fi
+}
+
+no_usr_share_doc() {
+ # If there are docs, move them:
+ if [ -d usr/share/doc ]; then
+ mkdir -p usr/doc
+ mv usr/share/doc/* usr/doc
+ rmdir usr/share/doc
+ fi
+}
+
+# Set the compile options for the $ARCH being used:
+. $CWD/arch.use.flags
+
+SLACK_X_BUILD_DIR=$TMP/x11-build
+mkdir -p $SLACK_X_BUILD_DIR
+
+# Better have some binaries installed first, as this may not be
+# in the "magic order". I built mine by hand through trial-and-error
+# before getting this script to work. It wasn't that hard... I think. ;-)
+( cd src
+ for x_source_dir in proto data util xcb lib app doc xserver driver font ; do
+ # See if $1 is a source directory like "lib":
+ if [ ! -z "$1" ]; then
+ if [ ! "$1" = "${x_source_dir}" ]; then
+ continue
+ fi
+ fi
+ PKG=${SLACK_X_BUILD_DIR}/package-${x_source_dir}
+ rm -rf $PKG
+ mkdir -p $PKG
+ ( cd $x_source_dir
+ for x_pkg in *.tar.?z* ; do
+ # Reset $PKGARCH to its initial value:
+ PKGARCH=$ARCH
+ PKGNAME=$(echo $x_pkg | rev | cut -f 2- -d - | rev)
+ # Perhaps $PKGARCH should be something different:
+ if grep -wq "^$PKGNAME" ${CWD}/noarch ; then
+ PKGARCH=noarch
+ fi
+ if grep -wq "^$PKGNAME" ${CWD}/package-blacklist ; then
+ continue
+ fi
+ cd $SLACK_X_BUILD_DIR
+ # If $2 is set, we only want to build one package:
+ if [ ! -z "$2" ]; then
+ if [ "$2" = "$PKGNAME" ]; then
+ # Set $PKG to a private dir for the modular package build:
+ PKG=$SLACK_X_BUILD_DIR/package-$PKGNAME
+ rm -rf $PKG
+ mkdir -p $PKG
+ else
+ continue
+ fi
+ else
+ echo
+ echo "Building from source ${x_pkg}"
+ echo
+ fi
+ if grep -wq "^$PKGNAME" ${CWD}/modularize ; then
+ # Set $PKG to a private dir for the modular package build:
+ PKG=$SLACK_X_BUILD_DIR/package-$PKGNAME
+ rm -rf $PKG
+ mkdir -p $PKG
+ fi
+
+ # Let's figure out the version number on the modular package:
+ MODULAR_PACKAGE_VERSION=$(echo $x_pkg | rev | cut -f 3- -d . | cut -f 1 -d - | rev)
+
+ rm -rf $(pkgbase $x_pkg)
+ tar xf $CWD/src/${x_source_dir}/${x_pkg} || exit 1
+ cd $(pkgbase $x_pkg) || exit 1
+
+ fix_perms
+
+ # If any patches are needed, call this script to apply them:
+ if [ -r $CWD/patch/${PKGNAME}.patch ]; then
+ . $CWD/patch/${PKGNAME}.patch
+ fi
+
+ # I heard somewhere that -O2 breaks some chipset or another. If you encounter
+ # problems, please contact volkerdi@slackware.com. Thanks! :-)
+
+ # ./configure, using custom configure script if needed:
+ if [ -r $CWD/configure/${PKGNAME} ]; then
+ . $CWD/configure/${PKGNAME}
+ else
+ # This is the default configure script:
+ . $CWD/configure/configure
+ fi
+
+ if ! make $NUMJOBS ; then
+ touch ${SLACK_X_BUILD_DIR}/${PKGNAME}.failed
+ continue
+ fi
+
+ make install DESTDIR=$PKG
+
+ mkdir -p $PKG/usr/doc/${PKGNAME}-${MODULAR_PACKAGE_VERSION}
+ cp -a \
+ AUTHORS* COPYING* INSTALL* README* NEWS* TODO* \
+ $PKG/usr/doc/${PKGNAME}-${MODULAR_PACKAGE_VERSION}
+
+ # If there's a ChangeLog, installing at least part of the recent history
+ # is useful, but don't let it get totally out of control:
+ if [ -r ChangeLog ]; then
+ DOCSDIR=$(echo $PKG/usr/doc/${PKGNAME}-$MODULAR_PACKAGE_VERSION)
+ cat ChangeLog | head -n 1000 > $DOCSDIR/ChangeLog
+ touch -r ChangeLog $DOCSDIR/ChangeLog
+ fi
+
+ # Get rid of zero-length junk files:
+ find $PKG/usr/doc/${PKGNAME}-$MODULAR_PACKAGE_VERSION -type f -size 0 -exec rm --verbose "{}" \;
+ rmdir --verbose $PKG/usr/doc/${PKGNAME}-$MODULAR_PACKAGE_VERSION 2> /dev/null
+
+ # Strip binaries:
+ ( cd $PKG
+ find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
+ find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
+ find . | xargs file | grep "current ar archive" | grep ELF | cut -f 1 -d : | xargs strip -g 2> /dev/null
+ )
+
+ # If there's any special post-install things to do, do them:
+ if [ -r $CWD/post-install/${PKGNAME}.post-install ]; then
+ RUNSCRIPT=$(mktemp -p $TMP) || exit 1
+ cat $CWD/post-install/${PKGNAME}.post-install \
+ | sed -e "s#usr/lib#usr/lib${LIBDIRSUFFIX}#g" > $RUNSCRIPT
+ . $RUNSCRIPT
+ rm -f $RUNSCRIPT
+ fi
+
+ # If this package requires some doinst.sh material, add it here:
+ if [ -r $CWD/doinst.sh/${PKGNAME} ]; then
+ mkdir -p $PKG/install
+ cat $CWD/doinst.sh/${PKGNAME} \
+ | sed -e "s#usr/lib#usr/lib${LIBDIRSUFFIX}#g" \
+ >> $PKG/install/doinst.sh
+ fi
+
+ # If this is a modular package, build it here:
+ if [ -d $SLACK_X_BUILD_DIR/package-$PKGNAME ]; then
+ cd $PKG
+ process_man_pages
+ process_info_pages
+ no_usr_share_doc
+ mkdir -p $PKG/install
+ if [ -r $CWD/slack-desc/${PKGNAME} ]; then
+ cat $CWD/slack-desc/${PKGNAME} > $PKG/install/slack-desc
+ else
+ touch $PKG/install/slack-desc-missing
+ fi
+ if [ -r $CWD/build/${PKGNAME} ]; then
+ MODBUILD=$(cat $CWD/build/${PKGNAME})
+ else
+ MODBUILD=$BUILD
+ fi
+ if [ -r $CWD/makepkg/${PKGNAME} ]; then
+ BUILD=$MODBUILD . $CWD/makepkg/${PKGNAME}
+ else
+ /sbin/makepkg -l y -c n ${SLACK_X_BUILD_DIR}/${PKGNAME}-${MODULAR_PACKAGE_VERSION}-${PKGARCH}-${MODBUILD}.txz
+ if [ "$UPGRADE_PACKAGES" = "yes" ]; then
+ /sbin/upgradepkg --install-new ${SLACK_X_BUILD_DIR}/${PKGNAME}-${MODULAR_PACKAGE_VERSION}-${PKGARCH}-${MODBUILD}.txz
+ elif [ "$UPGRADE_PACKAGES" = "always" ]; then
+ /sbin/upgradepkg --install-new --reinstall ${SLACK_X_BUILD_DIR}/${PKGNAME}-${MODULAR_PACKAGE_VERSION}-${PKGARCH}-${MODBUILD}.txz
+ fi
+ fi
+ fi
+
+ # Reset $PKG to assume we're building the whole source dir:
+ PKG=${SLACK_X_BUILD_DIR}/package-${x_source_dir}
+
+ done
+
+ # Nothing here? Must have been fully modular. :-)
+ if [ ! -d ${SLACK_X_BUILD_DIR}/package-${x_source_dir}/etc -a \
+ ! -d ${SLACK_X_BUILD_DIR}/package-${x_source_dir}/usr ]; then
+ continue
+ fi
+
+ # Build an "x11-<sourcedir>" package for anything that wasn't built modular:
+ # It's safer to consider these to have binaries in them. ;-)
+ PKGARCH=$ARCH
+ cd $PKG
+ process_man_pages
+ process_info_pages
+ no_usr_share_doc
+ # If there are post-install things to do for the combined package,
+ # we do them here. This could be used for things like making a
+ # VERSION number for a combined package. :-)
+ if [ -r $CWD/post-install/x11-${x_source_dir}.post-install ]; then
+ RUNSCRIPT=$(mktemp -p $TMP) || exit 1
+ cat $CWD/post-install/x11-${x_source_dir}.post-install \
+ | sed -e "s#usr/lib#usr/lib${LIBDIRSUFFIX}#g" > $RUNSCRIPT
+ . $RUNSCRIPT
+ rm -f $RUNSCRIPT
+ fi
+ mkdir -p $PKG/install
+ if [ -r $CWD/slack-desc/x11-${x_source_dir} ]; then
+ cat $CWD/slack-desc/x11-${x_source_dir} > $PKG/install/slack-desc
+ else
+ touch $PKG/install/slack-desc-missing
+ fi
+ if [ -r $CWD/doinst.sh/x11-${x_source_dir} ]; then
+ cat $CWD/doinst.sh/x11-${x_source_dir} \
+ | sed -e "s#usr/lib#usr/lib${LIBDIRSUFFIX}#g" \
+ >> $PKG/install/doinst.sh
+ fi
+ if [ -r $CWD/build/x11-${PKGNAME} ]; then
+ SRCDIRBUILD=$(cat $CWD/build/x11-${PKGNAME})
+ else
+ SRCDIRBUILD=$BUILD
+ fi
+ if [ -r $CWD/makepkg/${PKGNAME} ]; then
+ BUILD=$MODBUILD . $CWD/makepkg/${PKGNAME}
+ else
+ /sbin/makepkg -l y -c n ${SLACK_X_BUILD_DIR}/x11-${x_source_dir}-${VERSION}-${PKGARCH}-${SRCDIRBUILD}.txz
+ if [ "$UPGRADE_PACKAGES" = "yes" ]; then
+ /sbin/upgradepkg --install-new ${SLACK_X_BUILD_DIR}/x11-${x_source_dir}-${VERSION}-${PKGARCH}-${SRCDIRBUILD}.txz
+ elif [ "$UPGRADE_PACKAGES" = "always" ]; then
+ /sbin/upgradepkg --install-new --reinstall ${SLACK_X_BUILD_DIR}/x11-${x_source_dir}-${VERSION}-${PKGARCH}-${SRCDIRBUILD}.txz
+ fi
+ fi
+ )
+ done
+)
+
+exit 0
+
+# I don't think I'll be using the following stuff, since I went for the latest in
+# "individual", rather than a release. That was mostly because version 7.1 depends
+# on a version of Mesa that won't build against kernel headers this new (&etc.).
+
+# If environment variable "REFRESH" is exported, start by refreshing the source tree:
+# export REFRESH yes
+if [ ! -z "$REFRESH" ]; then
+ # Only works once, unless you uncomment above.
+ unset REFRESH
+ ( cd patches
+ lftp -c \
+ "lftp ftp://ftp.x.org:/pub/X11R7.1/patches
+ mirror --delete --dereference .
+ exit"
+ chmod 644 *
+ )
+ ( cd src
+ mkdir -p update everything
+ for dir in app data deprecated doc driver extras font lib proto util xserver ; do
+ # We won't really download "update", as problems ensue. Plus, --dereference is
+ # bringing us updated files when needed, so it's redundant (like "everything").
+ if [ ! -d $dir ]; then
+ mkdir $dir
+ fi
+ ( cd $dir
+ lftp -c \
+ "lftp ftp://ftp.x.org:/pub/X11R7.1/src/$dir
+ mirror -c --delete --dereference --include-glob "*.tar.bz2" .
+ exit"
+ chmod 644 *
+ )
+ done
+ )
+fi
+
diff --git a/patches/source/libXcursor/arch.use.flags b/patches/source/libXcursor/arch.use.flags
new file mode 100644
index 00000000..f28a6cca
--- /dev/null
+++ b/patches/source/libXcursor/arch.use.flags
@@ -0,0 +1,7 @@
+if [ "$ARCH" = "i486" ]; then
+ SLKCFLAGS="-O2 -march=i486 -mtune=i686"
+elif [ "$ARCH" = "s390" ]; then
+ SLKCFLAGS="-O2"
+elif [ "$ARCH" = "x86_64" ]; then
+ SLKCFLAGS="-O2 -fPIC"
+fi
diff --git a/patches/source/libXcursor/build/increment.sh b/patches/source/libXcursor/build/increment.sh
new file mode 100755
index 00000000..6de5d0da
--- /dev/null
+++ b/patches/source/libXcursor/build/increment.sh
@@ -0,0 +1,17 @@
+#!/bin/sh
+# A script to increment build numbers.
+# Call it with the list of the build numbers to increase by one:
+#
+# ./increment.sh xf86-input-acecad xf86-input-aiptek xf86-input-joystick
+#
+# If a build file does not exist, it will be created with a value of 2.
+
+for build in $* ; do
+ if [ ! -r $build ]; then
+ echo "Creating $build with value 2"
+ echo 2 > $build
+ else
+ echo "Incrementing $build $(cat $build) -> $(expr $(cat $build) + 1)"
+ echo $(expr $(cat $build) + 1) > $build
+ fi
+done
diff --git a/patches/source/libXcursor/build/libXcursor b/patches/source/libXcursor/build/libXcursor
new file mode 100644
index 00000000..1551cb6a
--- /dev/null
+++ b/patches/source/libXcursor/build/libXcursor
@@ -0,0 +1 @@
+1_slack13.0
diff --git a/patches/source/libXcursor/configure/configure b/patches/source/libXcursor/configure/configure
new file mode 100644
index 00000000..0f3bccf2
--- /dev/null
+++ b/patches/source/libXcursor/configure/configure
@@ -0,0 +1,12 @@
+CFLAGS=$SLKCFLAGS \
+CXXFLAGS=$SLKCFLAGS \
+./configure \
+ --prefix=/usr \
+ --libdir=/usr/lib${LIBDIRSUFFIX} \
+ --sysconfdir=/etc \
+ --localstatedir=/var \
+ --infodir=/usr/info \
+ --mandir=/usr/man \
+ --docdir=/usr/doc/${PKGNAME}-${MODULAR_PACKAGE_VERSION} \
+ --disable-static \
+ --build=$ARCH-slackware-linux
diff --git a/patches/source/libXcursor/libXcursor.SlackBuild b/patches/source/libXcursor/libXcursor.SlackBuild
new file mode 100755
index 00000000..4d4f81d2
--- /dev/null
+++ b/patches/source/libXcursor/libXcursor.SlackBuild
@@ -0,0 +1,26 @@
+#!/bin/sh
+
+# Copyright 2017 Patrick J. Volkerding, Sebeka, Minnesota, USA
+# All rights reserved.
+#
+# Redistribution and use of this script, with or without modification, is
+# permitted provided that the following conditions are met:
+#
+# 1. Redistributions of this script must retain the above copyright
+# notice, this list of conditions and the following disclaimer.
+#
+# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED
+# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
+# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
+# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+UPGRADE_PACKAGES=no sh x11-build-script.sh lib libXcursor
+mv --verbose /tmp/x11-build/*.txz /tmp
+
diff --git a/patches/source/libXcursor/modularize b/patches/source/libXcursor/modularize
new file mode 100644
index 00000000..38762ffd
--- /dev/null
+++ b/patches/source/libXcursor/modularize
@@ -0,0 +1,272 @@
+# If a package is listed here, it will be built apart from the
+# usual "grab bag" package that's made from each source directory.
+
+appres
+bdftopcf
+beforelight
+bigreqsproto
+bitmap
+compiz
+compositeproto
+damageproto
+dmxproto
+dri2proto
+editres
+encodings
+evieext
+fixesproto
+font-adobe-100dpi
+font-adobe-75dpi
+font-adobe-utopia-100dpi
+font-adobe-utopia-75dpi
+font-adobe-utopia-type1
+font-alias
+font-arabic-misc
+font-bh-100dpi
+font-bh-75dpi
+font-bh-lucidatypewriter-100dpi
+font-bh-lucidatypewriter-75dpi
+font-bh-ttf
+font-bh-type1
+font-bitstream-100dpi
+font-bitstream-75dpi
+font-bitstream-speedo
+font-bitstream-type1
+font-cronyx-cyrillic
+font-cursor-misc
+font-daewoo-misc
+font-dec-misc
+font-ibm-type1
+font-isas-misc
+font-jis-misc
+font-micro-misc
+font-misc-cyrillic
+font-misc-ethiopic
+font-misc-meltho
+font-misc-misc
+font-mutt-misc
+font-schumacher-misc
+font-screen-cyrillic
+font-sony-misc
+font-sun-misc
+font-util
+font-winitzki-cyrillic
+font-xfree86-type1
+fontcacheproto
+fontsproto
+fonttosfnt
+fslsfonts
+fstobdf
+gccmakedep
+glproto
+iceauth
+ico
+imake
+inputproto
+intel-gpu-tools
+kbproto
+libFS
+libICE
+libSM
+libX11
+libXScrnSaver
+libXau
+libXaw
+libXaw3d
+libXcm
+libXcomposite
+libXcursor
+libXdamage
+libXdmcp
+libXevie
+libXext
+libXfixes
+libXfont
+libXfontcache
+libXft
+libXi
+libXinerama
+libXmu
+libXp
+libXpm
+libXrandr
+libXrender
+libXres
+libXt
+libXtst
+libXv
+libXvMC
+libXxf86dga
+libXxf86misc
+libXxf86vm
+libdmx
+libfontenc
+libpciaccess
+libpthread-stubs
+libxcb
+libxkbfile
+listres
+lndir
+luit
+makedepend
+mkcomposecache
+mkfontdir
+mkfontscale
+oclock
+pixman
+printproto
+randrproto
+recordproto
+rendercheck
+renderproto
+resourceproto
+rgb
+scrnsaverproto
+sessreg
+setxkbmap
+showfont
+smproxy
+transset
+twm
+util-macros
+videoproto
+viewres
+x11perf
+xauth
+xbacklight
+xbiff
+xbitmaps
+xcalc
+xcb-proto
+xcb-util
+xcb-util-cursor
+xcb-util-image
+xcb-util-keysyms
+xcb-util-renderutil
+xcb-util-wm
+xclipboard
+xclock
+xcm
+xcmiscproto
+xcmsdb
+xcompmgr
+xconsole
+xcursor-themes
+xcursorgen
+xdbedizzy
+xditview
+xdm
+xdpyinfo
+xdriinfo
+xedit
+xev
+xextproto
+xeyes
+xf86-input-acecad
+xf86-input-aiptek
+xf86-input-evdev
+xf86-input-joystick
+xf86-input-keyboard
+xf86-input-mouse
+xf86-input-penmount
+xf86-input-synaptics
+xf86-input-vmmouse
+xf86-input-void
+xf86-input-wacom
+xf86-video-apm
+xf86-video-ark
+xf86-video-ast
+xf86-video-ati
+xf86-video-chips
+xf86-video-cirrus
+xf86-video-dummy
+xf86-video-geode
+xf86-video-glint
+xf86-video-i128
+xf86-video-i740
+xf86-video-intel
+xf86-video-mach64
+xf86-video-mga
+xf86-video-modesetting
+xf86-video-neomagic
+xf86-video-nouveau
+xf86-video-nv
+xf86-video-omap
+xf86-video-openchrome
+xf86-video-qxl
+xf86-video-r128
+xf86-video-rendition
+xf86-video-s3
+xf86-video-s3virge
+xf86-video-savage
+xf86-video-siliconmotion
+xf86-video-sis
+xf86-video-sisusb
+xf86-video-tdfx
+xf86-video-tga
+xf86-video-trident
+xf86-video-tseng
+xf86-video-v4l
+xf86-video-vesa
+xf86-video-vmware
+xf86-video-voodoo
+xf86-video-xgi
+xf86-video-xgixp
+xf86bigfontproto
+xf86dga
+xf86dgaproto
+xf86driproto
+xf86miscproto
+xf86vidmodeproto
+xfd
+xfontsel
+xfs
+xfsinfo
+xgamma
+xgc
+xhost
+xineramaproto
+xinit
+xinput
+xkbcomp
+xkbevd
+xkbprint
+xkbutils
+xkeyboard-config
+xkill
+xload
+xlogo
+xlsatoms
+xlsclients
+xlsfonts
+xmag
+xman
+xmessage
+xmh
+xmodmap
+xmore
+xorg-cf-files
+xorg-docs
+xorg-server
+xorg-server-xephyr
+xorg-server-xnest
+xorg-server-xvfb
+xorg-sgml-doctools
+xpr
+xprop
+xproto
+xpyb
+xrandr
+xrdb
+xrefresh
+xscope
+xset
+xsetroot
+xsm
+xstdcmap
+xtrans
+xvidtune
+xvinfo
+xwd
+xwininfo
+xwud
diff --git a/patches/source/libXcursor/noarch b/patches/source/libXcursor/noarch
new file mode 100644
index 00000000..480ffc26
--- /dev/null
+++ b/patches/source/libXcursor/noarch
@@ -0,0 +1,76 @@
+# List packages with an $ARCH of "noarch" (i.e. packages
+# that contain no binaries) here:
+bigreqsproto
+compositeproto
+damageproto
+dejavu-ttf
+dmxproto
+encodings
+evieext
+font-adobe-100dpi
+font-adobe-75dpi
+font-adobe-utopia-100dpi
+font-adobe-utopia-75dpi
+font-adobe-utopia-type1
+font-alias
+font-arabic-misc
+font-bh-100dpi
+font-bh-75dpi
+font-bh-lucidatypewriter-100dpi
+font-bh-lucidatypewriter-75dpi
+font-bh-ttf
+font-bh-type1
+font-bitstream-100dpi
+font-bitstream-75dpi
+font-bitstream-speedo
+font-bitstream-type1
+font-cronyx-cyrillic
+font-cursor-misc
+font-daewoo-misc
+font-dec-misc
+font-ibm-type1
+font-isas-misc
+font-jis-misc
+font-micro-misc
+font-misc-cyrillic
+font-misc-ethiopic
+font-misc-meltho
+font-misc-misc
+font-mutt-misc
+font-schumacher-misc
+font-screen-cyrillic
+font-sony-misc
+font-sun-misc
+font-winitzki-cyrillic
+font-xfree86-type1
+fontcacheproto
+fontsproto
+gccmakedep
+glproto
+inputproto
+kbproto
+libpthread-stubs
+mkfontdir
+printproto
+randrproto
+recordproto
+renderproto
+resourceproto
+scrnsaverproto
+ttf-indic-fonts
+util-macros
+videoproto
+x11-skel
+xcmiscproto
+xcursor-themes
+xf86bigfontproto
+xf86dgaproto
+xf86driproto
+xf86miscproto
+xf86vidmodeproto
+xineramaproto
+xkeyboard-config
+xorg-cf-files
+xorg-docs
+xproto
+xtrans
diff --git a/patches/source/libXcursor/package-blacklist b/patches/source/libXcursor/package-blacklist
new file mode 100644
index 00000000..8e2f3eb5
--- /dev/null
+++ b/patches/source/libXcursor/package-blacklist
@@ -0,0 +1,43 @@
+# Enter packages to skip (perhaps because they aren't used on
+# this platform) below. Just the package name -- no version
+# number is needed.
+
+# ARM only packages:
+# They also say in the README for this one that it is not yet ready:
+xf86-video-omap
+
+# MacOS related packages:
+applewmproto
+windowswmproto
+libAppleWM
+libWindowsWM
+
+# Sun video cards:
+xf86-video-sunbw2
+xf86-video-suncg14
+xf86-video-suncg3
+xf86-video-suncg6
+xf86-video-sunffb
+xf86-video-sunleo
+xf86-video-suntcx
+
+# Obsolete packages:
+liboldX
+xf86-video-amd
+xf86-video-via
+xkbdata
+xphelloworld
+xrx
+
+# Not applicable to us
+grandr
+constype
+
+# CAREFUL NOT TO "SHIP" THE STUFF BELOW IN THE MAIN X PACKAGES DIR!
+
+# This is probably obsolete, and kills "X -configure" too
+xf86-video-nsc
+
+# We don't want this one, as it causes failure of X with no xorg.conf
+xf86-video-fbdev
+
diff --git a/patches/source/libXcursor/slack-desc/libXcursor b/patches/source/libXcursor/slack-desc/libXcursor
new file mode 100644
index 00000000..2906c6aa
--- /dev/null
+++ b/patches/source/libXcursor/slack-desc/libXcursor
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|'
+# on the right side marks the last column you can put a character in. You must
+# make exactly 11 lines for the formatting to be correct. It's also
+# customary to leave one space after the ':'.
+
+ |-----handy-ruler------------------------------------------------------|
+libXcursor: libXcursor (X Window System Cursor management library)
+libXcursor:
+libXcursor: libXcursor is part of X11.
+libXcursor:
+libXcursor: For more information about the X.Org Foundation (the providers of the
+libXcursor: X.Org implementation of the X Window System), see their website:
+libXcursor:
+libXcursor: http://www.x.org
+libXcursor:
+libXcursor:
+libXcursor:
diff --git a/patches/source/libXcursor/x11-build-script.sh b/patches/source/libXcursor/x11-build-script.sh
new file mode 100755
index 00000000..6da53346
--- /dev/null
+++ b/patches/source/libXcursor/x11-build-script.sh
@@ -0,0 +1,374 @@
+#!/bin/sh
+# Copyright 2007-2013 Patrick J. Volkerding, Sebeka, MN, USA
+# All rights reserved.
+#
+# Redistribution and use of this script, with or without modification, is
+# permitted provided that the following conditions are met:
+#
+# 1. Redistributions of this script must retain the above copyright
+# notice, this list of conditions and the following disclaimer.
+#
+# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED
+# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
+# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
+# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+# To build only a single package group, specify it as $1, like:
+# ./x11.SlackBuild lib
+# To build only a single package, specify both the source directory
+# and the name of the package, like:
+# ./x11.SlackBuild lib libX11
+
+# Upgrade packages as they are built.
+# This is default. To not upgrade, pass UPGRADE_PACKAGES=no (or anything else).
+UPGRADE_PACKAGES=${UPGRADE_PACKAGES:-yes}
+
+pkgbase() {
+ PKGEXT=$(echo $1 | rev | cut -f 1 -d . | rev)
+ case $PKGEXT in
+ 'gz' )
+ PKGRETURN=$(basename $1 .tar.gz)
+ ;;
+ 'bz2' )
+ PKGRETURN=$(basename $1 .tar.bz2)
+ ;;
+ 'lzma' )
+ PKGRETURN=$(basename $1 .tar.lzma)
+ ;;
+ 'xz' )
+ PKGRETURN=$(basename $1 .tar.xz)
+ ;;
+ *)
+ PKGRETURN=$(basename $1)
+ ;;
+ esac
+ echo $PKGRETURN
+}
+
+# Set initial variables:
+CWD=$(pwd)
+TMP=${TMP:-/tmp}
+
+# Automatically determine the architecture we're building on:
+if [ -z "$ARCH" ]; then
+ case "$( uname -m )" in
+ i?86) export ARCH=i486 ;;
+ arm*) export ARCH=arm ;;
+ # Unless $ARCH is already set, use uname -m for all other archs:
+ *) export ARCH=$( uname -m ) ;;
+ esac
+fi
+
+# A lot of this stuff just controls the package names this time:
+VERSION=${VERSION:-7.5}
+BUILD=${BUILD:-1}
+PKGARCH=$ARCH
+NUMJOBS=${NUMJOBS:-" -j7 "}
+
+if [ "$ARCH" = "x86_64" ]; then
+ LIBDIRSUFFIX="64"
+else
+ LIBDIRSUFFIX=""
+fi
+
+# Set up a few useful functions:
+
+fix_perms() {
+ chown -R root:root .
+ find . \
+ \( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \
+ -exec chmod 755 {} \; -o \
+ \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \
+ -exec chmod 644 {} \;
+}
+
+process_man_pages() {
+ # Compress and if needed symlink the man pages:
+ if [ -d usr/man ]; then
+ ( cd usr/man
+ for manpagedir in $(find . -type d -name "man*") ; do
+ ( cd $manpagedir
+ for eachpage in $( find . -type l -maxdepth 1) ; do
+ ln -s $( readlink $eachpage ).gz $eachpage.gz
+ rm $eachpage
+ done
+ gzip -9 *.*
+ )
+ done
+ )
+ fi
+}
+
+process_info_pages() {
+ # Compress info pages and purge "dir" file from the package:
+ if [ -d usr/info ]; then
+ ( cd usr/info
+ rm -f dir
+ gzip -9 *
+ )
+ fi
+}
+
+no_usr_share_doc() {
+ # If there are docs, move them:
+ if [ -d usr/share/doc ]; then
+ mkdir -p usr/doc
+ mv usr/share/doc/* usr/doc
+ rmdir usr/share/doc
+ fi
+}
+
+# Set the compile options for the $ARCH being used:
+. $CWD/arch.use.flags
+
+SLACK_X_BUILD_DIR=$TMP/x11-build
+mkdir -p $SLACK_X_BUILD_DIR
+
+# Better have some binaries installed first, as this may not be
+# in the "magic order". I built mine by hand through trial-and-error
+# before getting this script to work. It wasn't that hard... I think. ;-)
+( cd src
+ for x_source_dir in proto data util xcb lib app doc xserver driver font ; do
+ # See if $1 is a source directory like "lib":
+ if [ ! -z "$1" ]; then
+ if [ ! "$1" = "${x_source_dir}" ]; then
+ continue
+ fi
+ fi
+ PKG=${SLACK_X_BUILD_DIR}/package-${x_source_dir}
+ rm -rf $PKG
+ mkdir -p $PKG
+ ( cd $x_source_dir
+ for x_pkg in *.tar.?z* ; do
+ # Reset $PKGARCH to its initial value:
+ PKGARCH=$ARCH
+ PKGNAME=$(echo $x_pkg | rev | cut -f 2- -d - | rev)
+ # Perhaps $PKGARCH should be something different:
+ if grep -wq "^$PKGNAME" ${CWD}/noarch ; then
+ PKGARCH=noarch
+ fi
+ if grep -wq "^$PKGNAME" ${CWD}/package-blacklist ; then
+ continue
+ fi
+ cd $SLACK_X_BUILD_DIR
+ # If $2 is set, we only want to build one package:
+ if [ ! -z "$2" ]; then
+ if [ "$2" = "$PKGNAME" ]; then
+ # Set $PKG to a private dir for the modular package build:
+ PKG=$SLACK_X_BUILD_DIR/package-$PKGNAME
+ rm -rf $PKG
+ mkdir -p $PKG
+ else
+ continue
+ fi
+ else
+ echo
+ echo "Building from source ${x_pkg}"
+ echo
+ fi
+ if grep -wq "^$PKGNAME" ${CWD}/modularize ; then
+ # Set $PKG to a private dir for the modular package build:
+ PKG=$SLACK_X_BUILD_DIR/package-$PKGNAME
+ rm -rf $PKG
+ mkdir -p $PKG
+ fi
+
+ # Let's figure out the version number on the modular package:
+ MODULAR_PACKAGE_VERSION=$(echo $x_pkg | rev | cut -f 3- -d . | cut -f 1 -d - | rev)
+
+ rm -rf $(pkgbase $x_pkg)
+ tar xf $CWD/src/${x_source_dir}/${x_pkg} || exit 1
+ cd $(pkgbase $x_pkg) || exit 1
+
+ fix_perms
+
+ # If any patches are needed, call this script to apply them:
+ if [ -r $CWD/patch/${PKGNAME}.patch ]; then
+ . $CWD/patch/${PKGNAME}.patch
+ fi
+
+ # I heard somewhere that -O2 breaks some chipset or another. If you encounter
+ # problems, please contact volkerdi@slackware.com. Thanks! :-)
+
+ # ./configure, using custom configure script if needed:
+ if [ -r $CWD/configure/${PKGNAME} ]; then
+ . $CWD/configure/${PKGNAME}
+ else
+ # This is the default configure script:
+ . $CWD/configure/configure
+ fi
+
+ if ! make $NUMJOBS ; then
+ touch ${SLACK_X_BUILD_DIR}/${PKGNAME}.failed
+ continue
+ fi
+
+ make install DESTDIR=$PKG
+
+ mkdir -p $PKG/usr/doc/${PKGNAME}-${MODULAR_PACKAGE_VERSION}
+ cp -a \
+ AUTHORS* COPYING* INSTALL* README* NEWS* TODO* \
+ $PKG/usr/doc/${PKGNAME}-${MODULAR_PACKAGE_VERSION}
+
+ # If there's a ChangeLog, installing at least part of the recent history
+ # is useful, but don't let it get totally out of control:
+ if [ -r ChangeLog ]; then
+ DOCSDIR=$(echo $PKG/usr/doc/${PKGNAME}-$MODULAR_PACKAGE_VERSION)
+ cat ChangeLog | head -n 1000 > $DOCSDIR/ChangeLog
+ touch -r ChangeLog $DOCSDIR/ChangeLog
+ fi
+
+ # Get rid of zero-length junk files:
+ find $PKG/usr/doc/${PKGNAME}-$MODULAR_PACKAGE_VERSION -type f -size 0 -exec rm --verbose "{}" \;
+ rmdir --verbose $PKG/usr/doc/${PKGNAME}-$MODULAR_PACKAGE_VERSION 2> /dev/null
+
+ # Strip binaries:
+ ( cd $PKG
+ find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
+ find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
+ find . | xargs file | grep "current ar archive" | grep ELF | cut -f 1 -d : | xargs strip -g 2> /dev/null
+ )
+
+ # If there's any special post-install things to do, do them:
+ if [ -r $CWD/post-install/${PKGNAME}.post-install ]; then
+ RUNSCRIPT=$(mktemp -p $TMP) || exit 1
+ cat $CWD/post-install/${PKGNAME}.post-install \
+ | sed -e "s#usr/lib#usr/lib${LIBDIRSUFFIX}#g" > $RUNSCRIPT
+ . $RUNSCRIPT
+ rm -f $RUNSCRIPT
+ fi
+
+ # If this package requires some doinst.sh material, add it here:
+ if [ -r $CWD/doinst.sh/${PKGNAME} ]; then
+ mkdir -p $PKG/install
+ cat $CWD/doinst.sh/${PKGNAME} \
+ | sed -e "s#usr/lib#usr/lib${LIBDIRSUFFIX}#g" \
+ >> $PKG/install/doinst.sh
+ fi
+
+ # If this is a modular package, build it here:
+ if [ -d $SLACK_X_BUILD_DIR/package-$PKGNAME ]; then
+ cd $PKG
+ process_man_pages
+ process_info_pages
+ no_usr_share_doc
+ mkdir -p $PKG/install
+ if [ -r $CWD/slack-desc/${PKGNAME} ]; then
+ cat $CWD/slack-desc/${PKGNAME} > $PKG/install/slack-desc
+ else
+ touch $PKG/install/slack-desc-missing
+ fi
+ if [ -r $CWD/build/${PKGNAME} ]; then
+ MODBUILD=$(cat $CWD/build/${PKGNAME})
+ else
+ MODBUILD=$BUILD
+ fi
+ if [ -r $CWD/makepkg/${PKGNAME} ]; then
+ BUILD=$MODBUILD . $CWD/makepkg/${PKGNAME}
+ else
+ /sbin/makepkg -l y -c n ${SLACK_X_BUILD_DIR}/${PKGNAME}-${MODULAR_PACKAGE_VERSION}-${PKGARCH}-${MODBUILD}.txz
+ if [ "$UPGRADE_PACKAGES" = "yes" ]; then
+ /sbin/upgradepkg --install-new ${SLACK_X_BUILD_DIR}/${PKGNAME}-${MODULAR_PACKAGE_VERSION}-${PKGARCH}-${MODBUILD}.txz
+ fi
+ fi
+ fi
+
+ # Reset $PKG to assume we're building the whole source dir:
+ PKG=${SLACK_X_BUILD_DIR}/package-${x_source_dir}
+
+ done
+
+ # Nothing here? Must have been fully modular. :-)
+ if [ ! -d ${SLACK_X_BUILD_DIR}/package-${x_source_dir}/etc -a \
+ ! -d ${SLACK_X_BUILD_DIR}/package-${x_source_dir}/usr ]; then
+ continue
+ fi
+
+ # Build an "x11-<sourcedir>" package for anything that wasn't built modular:
+ # It's safer to consider these to have binaries in them. ;-)
+ PKGARCH=$ARCH
+ cd $PKG
+ process_man_pages
+ process_info_pages
+ no_usr_share_doc
+ # If there are post-install things to do for the combined package,
+ # we do them here. This could be used for things like making a
+ # VERSION number for a combined package. :-)
+ if [ -r $CWD/post-install/x11-${x_source_dir}.post-install ]; then
+ RUNSCRIPT=$(mktemp -p $TMP) || exit 1
+ cat $CWD/post-install/x11-${x_source_dir}.post-install \
+ | sed -e "s#usr/lib#usr/lib${LIBDIRSUFFIX}#g" > $RUNSCRIPT
+ . $RUNSCRIPT
+ rm -f $RUNSCRIPT
+ fi
+ mkdir -p $PKG/install
+ if [ -r $CWD/slack-desc/x11-${x_source_dir} ]; then
+ cat $CWD/slack-desc/x11-${x_source_dir} > $PKG/install/slack-desc
+ else
+ touch $PKG/install/slack-desc-missing
+ fi
+ if [ -r $CWD/doinst.sh/x11-${x_source_dir} ]; then
+ cat $CWD/doinst.sh/x11-${x_source_dir} \
+ | sed -e "s#usr/lib#usr/lib${LIBDIRSUFFIX}#g" \
+ >> $PKG/install/doinst.sh
+ fi
+ if [ -r $CWD/build/x11-${PKGNAME} ]; then
+ SRCDIRBUILD=$(cat $CWD/build/x11-${PKGNAME})
+ else
+ SRCDIRBUILD=$BUILD
+ fi
+ if [ -r $CWD/makepkg/${PKGNAME} ]; then
+ BUILD=$MODBUILD . $CWD/makepkg/${PKGNAME}
+ else
+ /sbin/makepkg -l y -c n ${SLACK_X_BUILD_DIR}/x11-${x_source_dir}-${VERSION}-${PKGARCH}-${SRCDIRBUILD}.txz
+ if [ "$UPGRADE_PACKAGES" = "yes" ]; then
+ /sbin/upgradepkg --install-new ${SLACK_X_BUILD_DIR}/x11-${x_source_dir}-${VERSION}-${PKGARCH}-${SRCDIRBUILD}.txz
+ fi
+ fi
+ )
+ done
+)
+
+exit 0
+
+# I don't think I'll be using the following stuff, since I went for the latest in
+# "individual", rather than a release. That was mostly because version 7.1 depends
+# on a version of Mesa that won't build against kernel headers this new (&etc.).
+
+# If environment variable "REFRESH" is exported, start by refreshing the source tree:
+# export REFRESH yes
+if [ ! -z "$REFRESH" ]; then
+ # Only works once, unless you uncomment above.
+ unset REFRESH
+ ( cd patches
+ lftp -c \
+ "lftp ftp://ftp.x.org:/pub/X11R7.1/patches
+ mirror --delete --dereference .
+ exit"
+ chmod 644 *
+ )
+ ( cd src
+ mkdir -p update everything
+ for dir in app data deprecated doc driver extras font lib proto util xserver ; do
+ # We won't really download "update", as problems ensue. Plus, --dereference is
+ # bringing us updated files when needed, so it's redundant (like "everything").
+ if [ ! -d $dir ]; then
+ mkdir $dir
+ fi
+ ( cd $dir
+ lftp -c \
+ "lftp ftp://ftp.x.org:/pub/X11R7.1/src/$dir
+ mirror -c --delete --dereference --include-glob "*.tar.bz2" .
+ exit"
+ chmod 644 *
+ )
+ done
+ )
+fi
+
diff --git a/patches/source/libXext/arch.use.flags b/patches/source/libXext/arch.use.flags
new file mode 100644
index 00000000..11087c88
--- /dev/null
+++ b/patches/source/libXext/arch.use.flags
@@ -0,0 +1,9 @@
+if [ "$ARCH" = "i486" ]; then
+ SLKCFLAGS="-O2 -march=i486 -mtune=i686"
+elif [ "$ARCH" = "i586" ]; then
+ SLKCFLAGS="-O2 -march=i586 -mtune=i686"
+elif [ "$ARCH" = "s390" ]; then
+ SLKCFLAGS="-O2"
+elif [ "$ARCH" = "x86_64" ]; then
+ SLKCFLAGS="-O2 -fPIC"
+fi
diff --git a/patches/source/libXext/build/libXext b/patches/source/libXext/build/libXext
new file mode 100644
index 00000000..1551cb6a
--- /dev/null
+++ b/patches/source/libXext/build/libXext
@@ -0,0 +1 @@
+1_slack13.0
diff --git a/patches/source/libXext/configure/configure b/patches/source/libXext/configure/configure
new file mode 100644
index 00000000..dcb1109b
--- /dev/null
+++ b/patches/source/libXext/configure/configure
@@ -0,0 +1,13 @@
+CFLAGS=$SLKCFLAGS \
+CXXFLAGS=$SLKCFLAGS \
+./configure \
+ --prefix=/usr \
+ --libdir=/usr/lib${LIBDIRSUFFIX} \
+ --sysconfdir=/etc \
+ --localstatedir=/var \
+ --infodir=/usr/info \
+ --mandir=/usr/man \
+ --docdir=/usr/doc/${PKGNAME}-${MODULAR_PACKAGE_VERSION} \
+ --with-udev-rules-dir=/lib/udev/rules.d \
+ --disable-static \
+ --build=$ARCH-slackware-linux
diff --git a/patches/source/libXext/libXext.SlackBuild b/patches/source/libXext/libXext.SlackBuild
new file mode 100755
index 00000000..1f6fdb31
--- /dev/null
+++ b/patches/source/libXext/libXext.SlackBuild
@@ -0,0 +1,2 @@
+UPGRADE_PACKAGES=no ./x11.SlackBuild lib libXext
+mv /tmp/x11-build/libXext*txz /tmp
diff --git a/patches/source/libXext/modularize b/patches/source/libXext/modularize
new file mode 100644
index 00000000..8a28ed93
--- /dev/null
+++ b/patches/source/libXext/modularize
@@ -0,0 +1,279 @@
+# If a package is listed here, it will be built apart from the
+# usual "grab bag" package that's made from each source directory.
+
+appres
+bdftopcf
+beforelight
+bigreqsproto
+bitmap
+compiz
+compositeproto
+damageproto
+dmxproto
+dri2proto
+dri3proto
+editres
+encodings
+evieext
+fixesproto
+font-adobe-100dpi
+font-adobe-75dpi
+font-adobe-utopia-100dpi
+font-adobe-utopia-75dpi
+font-adobe-utopia-type1
+font-alias
+font-arabic-misc
+font-bh-100dpi
+font-bh-75dpi
+font-bh-lucidatypewriter-100dpi
+font-bh-lucidatypewriter-75dpi
+font-bh-ttf
+font-bh-type1
+font-bitstream-100dpi
+font-bitstream-75dpi
+font-bitstream-speedo
+font-bitstream-type1
+font-cronyx-cyrillic
+font-cursor-misc
+font-daewoo-misc
+font-dec-misc
+font-ibm-type1
+font-isas-misc
+font-jis-misc
+font-micro-misc
+font-misc-cyrillic
+font-misc-ethiopic
+font-misc-meltho
+font-misc-misc
+font-mutt-misc
+font-schumacher-misc
+font-screen-cyrillic
+font-sony-misc
+font-sun-misc
+font-util
+font-winitzki-cyrillic
+font-xfree86-type1
+fontcacheproto
+fontsproto
+fonttosfnt
+fslsfonts
+fstobdf
+gccmakedep
+glamor-egl
+glproto
+iceauth
+ico
+imake
+inputproto
+intel-gpu-tools
+kbproto
+libFS
+libICE
+libSM
+libX11
+libXScrnSaver
+libXau
+libXaw
+libXaw3d
+libXcm
+libXcomposite
+libXcursor
+libXdamage
+libXdmcp
+libXevie
+libXext
+libXfixes
+libXfont
+libXfontcache
+libXft
+libXi
+libXinerama
+libXmu
+libXp
+libXpm
+libXpresent
+libXrandr
+libXrender
+libXres
+libXt
+libXtst
+libXv
+libXvMC
+libXxf86dga
+libXxf86misc
+libXxf86vm
+libdmx
+libfontenc
+libpciaccess
+libpthread-stubs
+libxcb
+libxkbfile
+libxshmfence
+listres
+lndir
+luit
+makedepend
+mkcomposecache
+mkfontdir
+mkfontscale
+oclock
+pixman
+presentproto
+printproto
+randrproto
+recordproto
+rendercheck
+renderproto
+resourceproto
+rgb
+scrnsaverproto
+sessreg
+setxkbmap
+showfont
+smproxy
+transset
+twm
+util-macros
+videoproto
+viewres
+x11perf
+xauth
+xbacklight
+xbiff
+xbitmaps
+xcalc
+xcb-proto
+xcb-util
+xcb-util-cursor
+xcb-util-errors
+xcb-util-image
+xcb-util-keysyms
+xcb-util-renderutil
+xcb-util-wm
+xclipboard
+xclock
+xcm
+xcmiscproto
+xcmsdb
+xcompmgr
+xconsole
+xcursor-themes
+xcursorgen
+xdbedizzy
+xditview
+xdm
+xdpyinfo
+xdriinfo
+xedit
+xev
+xextproto
+xeyes
+xf86-input-acecad
+xf86-input-aiptek
+xf86-input-evdev
+xf86-input-joystick
+xf86-input-keyboard
+xf86-input-mouse
+xf86-input-penmount
+xf86-input-synaptics
+xf86-input-vmmouse
+xf86-input-void
+xf86-input-wacom
+xf86-video-amdgpu
+xf86-video-apm
+xf86-video-ark
+xf86-video-ast
+xf86-video-ati
+xf86-video-chips
+xf86-video-cirrus
+xf86-video-dummy
+xf86-video-geode
+xf86-video-glint
+xf86-video-i128
+xf86-video-i740
+xf86-video-intel
+xf86-video-mach64
+xf86-video-mga
+xf86-video-modesetting
+xf86-video-neomagic
+xf86-video-nouveau
+xf86-video-nv
+xf86-video-omap
+xf86-video-openchrome
+xf86-video-qxl
+xf86-video-r128
+xf86-video-rendition
+xf86-video-s3
+xf86-video-s3virge
+xf86-video-savage
+xf86-video-siliconmotion
+xf86-video-sis
+xf86-video-sisusb
+xf86-video-tdfx
+xf86-video-tga
+xf86-video-trident
+xf86-video-tseng
+xf86-video-v4l
+xf86-video-vesa
+xf86-video-vmware
+xf86-video-voodoo
+xf86-video-xgi
+xf86-video-xgixp
+xf86bigfontproto
+xf86dga
+xf86dgaproto
+xf86driproto
+xf86miscproto
+xf86vidmodeproto
+xfd
+xfontsel
+xfs
+xfsinfo
+xgamma
+xgc
+xhost
+xineramaproto
+xinit
+xinput
+xkbcomp
+xkbevd
+xkbprint
+xkbutils
+xkeyboard-config
+xkill
+xload
+xlogo
+xlsatoms
+xlsclients
+xlsfonts
+xmag
+xman
+xmessage
+xmh
+xmodmap
+xmore
+xorg-cf-files
+xorg-docs
+xorg-server
+xorg-server-xephyr
+xorg-server-xnest
+xorg-server-xvfb
+xorg-sgml-doctools
+xpr
+xprop
+xproto
+xpyb
+xrandr
+xrdb
+xrefresh
+xscope
+xset
+xsetroot
+xsm
+xstdcmap
+xtrans
+xvidtune
+xvinfo
+xwd
+xwininfo
+xwud
diff --git a/patches/source/libXext/noarch b/patches/source/libXext/noarch
new file mode 100644
index 00000000..8785ee52
--- /dev/null
+++ b/patches/source/libXext/noarch
@@ -0,0 +1,75 @@
+# List packages with an $ARCH of "noarch" (i.e. packages
+# that contain no binaries) here:
+bigreqsproto
+compositeproto
+damageproto
+dejavu-ttf
+dmxproto
+encodings
+evieext
+font-adobe-100dpi
+font-adobe-75dpi
+font-adobe-utopia-100dpi
+font-adobe-utopia-75dpi
+font-adobe-utopia-type1
+font-alias
+font-arabic-misc
+font-bh-100dpi
+font-bh-75dpi
+font-bh-lucidatypewriter-100dpi
+font-bh-lucidatypewriter-75dpi
+font-bh-ttf
+font-bh-type1
+font-bitstream-100dpi
+font-bitstream-75dpi
+font-bitstream-speedo
+font-bitstream-type1
+font-cronyx-cyrillic
+font-cursor-misc
+font-daewoo-misc
+font-dec-misc
+font-ibm-type1
+font-isas-misc
+font-jis-misc
+font-micro-misc
+font-misc-cyrillic
+font-misc-ethiopic
+font-misc-meltho
+font-misc-misc
+font-mutt-misc
+font-schumacher-misc
+font-screen-cyrillic
+font-sony-misc
+font-sun-misc
+font-winitzki-cyrillic
+font-xfree86-type1
+fontcacheproto
+fontsproto
+gccmakedep
+glproto
+inputproto
+kbproto
+libpthread-stubs
+mkfontdir
+printproto
+randrproto
+recordproto
+renderproto
+resourceproto
+scrnsaverproto
+ttf-indic-fonts
+util-macros
+videoproto
+x11-skel
+xcmiscproto
+xcursor-themes
+xf86bigfontproto
+xf86dgaproto
+xf86driproto
+xf86miscproto
+xf86vidmodeproto
+xineramaproto
+xkeyboard-config
+xorg-docs
+xproto
+xtrans
diff --git a/patches/source/libXext/package-blacklist b/patches/source/libXext/package-blacklist
new file mode 100644
index 00000000..603b8c31
--- /dev/null
+++ b/patches/source/libXext/package-blacklist
@@ -0,0 +1,44 @@
+# Enter packages to skip (perhaps because they aren't used on
+# this platform) below. Just the package name -- no version
+# number is needed.
+
+# ARM only packages:
+# They also say in the README for this one that it is not yet ready:
+xf86-video-omap
+
+# MacOS related packages:
+applewmproto
+windowswmproto
+libAppleWM
+libWindowsWM
+
+# Sun video cards:
+xf86-video-sunbw2
+xf86-video-suncg14
+xf86-video-suncg3
+xf86-video-suncg6
+xf86-video-sunffb
+xf86-video-sunleo
+xf86-video-suntcx
+
+# Obsolete packages:
+liboldX
+xf86-video-amd
+xf86-video-via
+xkbdata
+xphelloworld
+xrx
+xf86-video-modesetting
+
+# Not applicable to us
+grandr
+constype
+
+# CAREFUL NOT TO "SHIP" THE STUFF BELOW IN THE MAIN X PACKAGES DIR!
+
+# This is probably obsolete, and kills "X -configure" too
+xf86-video-nsc
+
+# We don't want this one, as it causes failure of X with no xorg.conf
+xf86-video-fbdev
+
diff --git a/patches/source/libXext/slack-desc/libXext b/patches/source/libXext/slack-desc/libXext
new file mode 100644
index 00000000..a636363a
--- /dev/null
+++ b/patches/source/libXext/slack-desc/libXext
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|'
+# on the right side marks the last column you can put a character in. You must
+# make exactly 11 lines for the formatting to be correct. It's also
+# customary to leave one space after the ':'.
+
+ |-----handy-ruler------------------------------------------------------|
+libXext: libXext (library for common extensions to the X11 protocol)
+libXext:
+libXext: libXext is part of X11.
+libXext:
+libXext: For more information about the X.Org Foundation (the providers of the
+libXext: X.Org implementation of the X Window System), see their website:
+libXext:
+libXext: http://www.x.org
+libXext:
+libXext:
+libXext:
diff --git a/patches/source/libXext/x11.SlackBuild b/patches/source/libXext/x11.SlackBuild
new file mode 100755
index 00000000..c3887dff
--- /dev/null
+++ b/patches/source/libXext/x11.SlackBuild
@@ -0,0 +1,381 @@
+#!/bin/sh
+# Copyright 2007-2014 Patrick J. Volkerding, Sebeka, MN, USA
+# All rights reserved.
+#
+# Redistribution and use of this script, with or without modification, is
+# permitted provided that the following conditions are met:
+#
+# 1. Redistributions of this script must retain the above copyright
+# notice, this list of conditions and the following disclaimer.
+#
+# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED
+# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
+# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
+# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+# To build only a single package group, specify it as $1, like:
+# ./x11.SlackBuild lib
+# To build only a single package, specify both the source directory
+# and the name of the package, like:
+# ./x11.SlackBuild lib libX11
+
+# Upgrade packages as they are built.
+# Default is to upgrade new packages (UPGRADE_PACKAGES=yes).
+# To install ALL newly built packages (even if they are already installed),
+# use UPGRADE_PACKAGES=always
+# To not upgrade, pass UPGRADE_PACKAGES=no
+UPGRADE_PACKAGES=${UPGRADE_PACKAGES:-yes}
+
+pkgbase() {
+ PKGEXT=$(echo $1 | rev | cut -f 1 -d . | rev)
+ case $PKGEXT in
+ 'gz' )
+ PKGRETURN=$(basename $1 .tar.gz)
+ ;;
+ 'bz2' )
+ PKGRETURN=$(basename $1 .tar.bz2)
+ ;;
+ 'lzma' )
+ PKGRETURN=$(basename $1 .tar.lzma)
+ ;;
+ 'xz' )
+ PKGRETURN=$(basename $1 .tar.xz)
+ ;;
+ *)
+ PKGRETURN=$(basename $1)
+ ;;
+ esac
+ echo $PKGRETURN
+}
+
+# Set initial variables:
+CWD=$(pwd)
+TMP=${TMP:-/tmp}
+
+# Automatically determine the architecture we're building on:
+if [ -z "$ARCH" ]; then
+ case "$( uname -m )" in
+ i?86) export ARCH=i486 ;;
+ arm*) export ARCH=arm ;;
+ # Unless $ARCH is already set, use uname -m for all other archs:
+ *) export ARCH=$( uname -m ) ;;
+ esac
+fi
+
+# A lot of this stuff just controls the package names this time:
+VERSION=${VERSION:-7.5}
+BUILD=${BUILD:-1}
+PKGARCH=$ARCH
+NUMJOBS=${NUMJOBS:-" -j7 "}
+
+if [ "$ARCH" = "x86_64" ]; then
+ LIBDIRSUFFIX="64"
+else
+ LIBDIRSUFFIX=""
+fi
+
+# Set up a few useful functions:
+
+fix_perms() {
+ chown -R root:root .
+ find . \
+ \( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \
+ -exec chmod 755 {} \; -o \
+ \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \
+ -exec chmod 644 {} \;
+}
+
+process_man_pages() {
+ # Compress and if needed symlink the man pages:
+ if [ -d usr/man ]; then
+ ( cd usr/man
+ for manpagedir in $(find . -type d -name "man*") ; do
+ ( cd $manpagedir
+ for eachpage in $( find . -type l -maxdepth 1) ; do
+ ln -s $( readlink $eachpage ).gz $eachpage.gz
+ rm $eachpage
+ done
+ gzip -9 *.*
+ )
+ done
+ )
+ fi
+}
+
+process_info_pages() {
+ # Compress info pages and purge "dir" file from the package:
+ if [ -d usr/info ]; then
+ ( cd usr/info
+ rm -f dir
+ gzip -9 *
+ )
+ fi
+}
+
+no_usr_share_doc() {
+ # If there are docs, move them:
+ if [ -d usr/share/doc ]; then
+ mkdir -p usr/doc
+ mv usr/share/doc/* usr/doc
+ rmdir usr/share/doc
+ fi
+}
+
+# Set the compile options for the $ARCH being used:
+. $CWD/arch.use.flags
+
+SLACK_X_BUILD_DIR=$TMP/x11-build
+mkdir -p $SLACK_X_BUILD_DIR
+
+# Better have some binaries installed first, as this may not be
+# in the "magic order". I built mine by hand through trial-and-error
+# before getting this script to work. It wasn't that hard... I think. ;-)
+( cd src
+ for x_source_dir in proto data util xcb lib app doc xserver driver font ; do
+ # See if $1 is a source directory like "lib":
+ if [ ! -z "$1" ]; then
+ if [ ! "$1" = "${x_source_dir}" ]; then
+ continue
+ fi
+ fi
+ PKG=${SLACK_X_BUILD_DIR}/package-${x_source_dir}
+ rm -rf $PKG
+ mkdir -p $PKG
+ ( cd $x_source_dir
+ for x_pkg in *.tar.?z* ; do
+ # Reset $PKGARCH to its initial value:
+ PKGARCH=$ARCH
+ PKGNAME=$(echo $x_pkg | rev | cut -f 2- -d - | rev)
+ # Perhaps $PKGARCH should be something different:
+ if grep -wq "^$PKGNAME" ${CWD}/noarch ; then
+ PKGARCH=noarch
+ fi
+ if grep -wq "^$PKGNAME" ${CWD}/package-blacklist ; then
+ continue
+ fi
+ cd $SLACK_X_BUILD_DIR
+ # If $2 is set, we only want to build one package:
+ if [ ! -z "$2" ]; then
+ if [ "$2" = "$PKGNAME" ]; then
+ # Set $PKG to a private dir for the modular package build:
+ PKG=$SLACK_X_BUILD_DIR/package-$PKGNAME
+ rm -rf $PKG
+ mkdir -p $PKG
+ else
+ continue
+ fi
+ else
+ echo
+ echo "Building from source ${x_pkg}"
+ echo
+ fi
+ if grep -wq "^$PKGNAME" ${CWD}/modularize ; then
+ # Set $PKG to a private dir for the modular package build:
+ PKG=$SLACK_X_BUILD_DIR/package-$PKGNAME
+ rm -rf $PKG
+ mkdir -p $PKG
+ fi
+
+ # Let's figure out the version number on the modular package:
+ MODULAR_PACKAGE_VERSION=$(echo $x_pkg | rev | cut -f 3- -d . | cut -f 1 -d - | rev)
+
+ rm -rf $(pkgbase $x_pkg)
+ tar xf $CWD/src/${x_source_dir}/${x_pkg} || exit 1
+ cd $(pkgbase $x_pkg) || exit 1
+
+ fix_perms
+
+ # If any patches are needed, call this script to apply them:
+ if [ -r $CWD/patch/${PKGNAME}.patch ]; then
+ . $CWD/patch/${PKGNAME}.patch
+ fi
+
+ # I heard somewhere that -O2 breaks some chipset or another. If you encounter
+ # problems, please contact volkerdi@slackware.com. Thanks! :-)
+
+ # ./configure, using custom configure script if needed:
+ if [ -r $CWD/configure/${PKGNAME} ]; then
+ . $CWD/configure/${PKGNAME}
+ else
+ # This is the default configure script:
+ . $CWD/configure/configure
+ fi
+
+ if ! make $NUMJOBS ; then
+ touch ${SLACK_X_BUILD_DIR}/${PKGNAME}.failed
+ continue
+ fi
+
+ make install DESTDIR=$PKG
+
+ mkdir -p $PKG/usr/doc/${PKGNAME}-${MODULAR_PACKAGE_VERSION}
+ cp -a \
+ AUTHORS* COPYING* INSTALL* README* NEWS* TODO* \
+ $PKG/usr/doc/${PKGNAME}-${MODULAR_PACKAGE_VERSION}
+
+ # If there's a ChangeLog, installing at least part of the recent history
+ # is useful, but don't let it get totally out of control:
+ if [ -r ChangeLog ]; then
+ DOCSDIR=$(echo $PKG/usr/doc/${PKGNAME}-$MODULAR_PACKAGE_VERSION)
+ cat ChangeLog | head -n 1000 > $DOCSDIR/ChangeLog
+ touch -r ChangeLog $DOCSDIR/ChangeLog
+ fi
+
+ # Get rid of zero-length junk files:
+ find $PKG/usr/doc/${PKGNAME}-$MODULAR_PACKAGE_VERSION -type f -size 0 -exec rm --verbose "{}" \;
+ rmdir --verbose $PKG/usr/doc/${PKGNAME}-$MODULAR_PACKAGE_VERSION 2> /dev/null
+
+ # Strip binaries:
+ ( cd $PKG
+ find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
+ find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
+ find . | xargs file | grep "current ar archive" | grep ELF | cut -f 1 -d : | xargs strip -g 2> /dev/null
+ )
+
+ # If there's any special post-install things to do, do them:
+ if [ -r $CWD/post-install/${PKGNAME}.post-install ]; then
+ RUNSCRIPT=$(mktemp -p $TMP) || exit 1
+ cat $CWD/post-install/${PKGNAME}.post-install \
+ | sed -e "s#usr/lib#usr/lib${LIBDIRSUFFIX}#g" > $RUNSCRIPT
+ . $RUNSCRIPT
+ rm -f $RUNSCRIPT
+ fi
+
+ # If this package requires some doinst.sh material, add it here:
+ if [ -r $CWD/doinst.sh/${PKGNAME} ]; then
+ mkdir -p $PKG/install
+ cat $CWD/doinst.sh/${PKGNAME} \
+ | sed -e "s#usr/lib#usr/lib${LIBDIRSUFFIX}#g" \
+ >> $PKG/install/doinst.sh
+ fi
+
+ # If this is a modular package, build it here:
+ if [ -d $SLACK_X_BUILD_DIR/package-$PKGNAME ]; then
+ cd $PKG
+ process_man_pages
+ process_info_pages
+ no_usr_share_doc
+ mkdir -p $PKG/install
+ if [ -r $CWD/slack-desc/${PKGNAME} ]; then
+ cat $CWD/slack-desc/${PKGNAME} > $PKG/install/slack-desc
+ else
+ touch $PKG/install/slack-desc-missing
+ fi
+ if [ -r $CWD/build/${PKGNAME} ]; then
+ MODBUILD=$(cat $CWD/build/${PKGNAME})
+ else
+ MODBUILD=$BUILD
+ fi
+ if [ -r $CWD/makepkg/${PKGNAME} ]; then
+ BUILD=$MODBUILD . $CWD/makepkg/${PKGNAME}
+ else
+ /sbin/makepkg -l y -c n ${SLACK_X_BUILD_DIR}/${PKGNAME}-${MODULAR_PACKAGE_VERSION}-${PKGARCH}-${MODBUILD}.txz
+ if [ "$UPGRADE_PACKAGES" = "yes" ]; then
+ /sbin/upgradepkg --install-new ${SLACK_X_BUILD_DIR}/${PKGNAME}-${MODULAR_PACKAGE_VERSION}-${PKGARCH}-${MODBUILD}.txz
+ elif [ "$UPGRADE_PACKAGES" = "always" ]; then
+ /sbin/upgradepkg --install-new --reinstall ${SLACK_X_BUILD_DIR}/${PKGNAME}-${MODULAR_PACKAGE_VERSION}-${PKGARCH}-${MODBUILD}.txz
+ fi
+ fi
+ fi
+
+ # Reset $PKG to assume we're building the whole source dir:
+ PKG=${SLACK_X_BUILD_DIR}/package-${x_source_dir}
+
+ done
+
+ # Nothing here? Must have been fully modular. :-)
+ if [ ! -d ${SLACK_X_BUILD_DIR}/package-${x_source_dir}/etc -a \
+ ! -d ${SLACK_X_BUILD_DIR}/package-${x_source_dir}/usr ]; then
+ continue
+ fi
+
+ # Build an "x11-<sourcedir>" package for anything that wasn't built modular:
+ # It's safer to consider these to have binaries in them. ;-)
+ PKGARCH=$ARCH
+ cd $PKG
+ process_man_pages
+ process_info_pages
+ no_usr_share_doc
+ # If there are post-install things to do for the combined package,
+ # we do them here. This could be used for things like making a
+ # VERSION number for a combined package. :-)
+ if [ -r $CWD/post-install/x11-${x_source_dir}.post-install ]; then
+ RUNSCRIPT=$(mktemp -p $TMP) || exit 1
+ cat $CWD/post-install/x11-${x_source_dir}.post-install \
+ | sed -e "s#usr/lib#usr/lib${LIBDIRSUFFIX}#g" > $RUNSCRIPT
+ . $RUNSCRIPT
+ rm -f $RUNSCRIPT
+ fi
+ mkdir -p $PKG/install
+ if [ -r $CWD/slack-desc/x11-${x_source_dir} ]; then
+ cat $CWD/slack-desc/x11-${x_source_dir} > $PKG/install/slack-desc
+ else
+ touch $PKG/install/slack-desc-missing
+ fi
+ if [ -r $CWD/doinst.sh/x11-${x_source_dir} ]; then
+ cat $CWD/doinst.sh/x11-${x_source_dir} \
+ | sed -e "s#usr/lib#usr/lib${LIBDIRSUFFIX}#g" \
+ >> $PKG/install/doinst.sh
+ fi
+ if [ -r $CWD/build/x11-${PKGNAME} ]; then
+ SRCDIRBUILD=$(cat $CWD/build/x11-${PKGNAME})
+ else
+ SRCDIRBUILD=$BUILD
+ fi
+ if [ -r $CWD/makepkg/${PKGNAME} ]; then
+ BUILD=$MODBUILD . $CWD/makepkg/${PKGNAME}
+ else
+ /sbin/makepkg -l y -c n ${SLACK_X_BUILD_DIR}/x11-${x_source_dir}-${VERSION}-${PKGARCH}-${SRCDIRBUILD}.txz
+ if [ "$UPGRADE_PACKAGES" = "yes" ]; then
+ /sbin/upgradepkg --install-new ${SLACK_X_BUILD_DIR}/x11-${x_source_dir}-${VERSION}-${PKGARCH}-${SRCDIRBUILD}.txz
+ elif [ "$UPGRADE_PACKAGES" = "always" ]; then
+ /sbin/upgradepkg --install-new --reinstall ${SLACK_X_BUILD_DIR}/x11-${x_source_dir}-${VERSION}-${PKGARCH}-${SRCDIRBUILD}.txz
+ fi
+ fi
+ )
+ done
+)
+
+exit 0
+
+# I don't think I'll be using the following stuff, since I went for the latest in
+# "individual", rather than a release. That was mostly because version 7.1 depends
+# on a version of Mesa that won't build against kernel headers this new (&etc.).
+
+# If environment variable "REFRESH" is exported, start by refreshing the source tree:
+# export REFRESH yes
+if [ ! -z "$REFRESH" ]; then
+ # Only works once, unless you uncomment above.
+ unset REFRESH
+ ( cd patches
+ lftp -c \
+ "lftp ftp://ftp.x.org:/pub/X11R7.1/patches
+ mirror --delete --dereference .
+ exit"
+ chmod 644 *
+ )
+ ( cd src
+ mkdir -p update everything
+ for dir in app data deprecated doc driver extras font lib proto util xserver ; do
+ # We won't really download "update", as problems ensue. Plus, --dereference is
+ # bringing us updated files when needed, so it's redundant (like "everything").
+ if [ ! -d $dir ]; then
+ mkdir $dir
+ fi
+ ( cd $dir
+ lftp -c \
+ "lftp ftp://ftp.x.org:/pub/X11R7.1/src/$dir
+ mirror -c --delete --dereference --include-glob "*.tar.bz2" .
+ exit"
+ chmod 644 *
+ )
+ done
+ )
+fi
+
diff --git a/patches/source/libXfixes/arch.use.flags b/patches/source/libXfixes/arch.use.flags
new file mode 100644
index 00000000..11087c88
--- /dev/null
+++ b/patches/source/libXfixes/arch.use.flags
@@ -0,0 +1,9 @@
+if [ "$ARCH" = "i486" ]; then
+ SLKCFLAGS="-O2 -march=i486 -mtune=i686"
+elif [ "$ARCH" = "i586" ]; then
+ SLKCFLAGS="-O2 -march=i586 -mtune=i686"
+elif [ "$ARCH" = "s390" ]; then
+ SLKCFLAGS="-O2"
+elif [ "$ARCH" = "x86_64" ]; then
+ SLKCFLAGS="-O2 -fPIC"
+fi
diff --git a/patches/source/libXfixes/build/libXfixes b/patches/source/libXfixes/build/libXfixes
new file mode 100644
index 00000000..1551cb6a
--- /dev/null
+++ b/patches/source/libXfixes/build/libXfixes
@@ -0,0 +1 @@
+1_slack13.0
diff --git a/patches/source/libXfixes/configure/configure b/patches/source/libXfixes/configure/configure
new file mode 100644
index 00000000..dcb1109b
--- /dev/null
+++ b/patches/source/libXfixes/configure/configure
@@ -0,0 +1,13 @@
+CFLAGS=$SLKCFLAGS \
+CXXFLAGS=$SLKCFLAGS \
+./configure \
+ --prefix=/usr \
+ --libdir=/usr/lib${LIBDIRSUFFIX} \
+ --sysconfdir=/etc \
+ --localstatedir=/var \
+ --infodir=/usr/info \
+ --mandir=/usr/man \
+ --docdir=/usr/doc/${PKGNAME}-${MODULAR_PACKAGE_VERSION} \
+ --with-udev-rules-dir=/lib/udev/rules.d \
+ --disable-static \
+ --build=$ARCH-slackware-linux
diff --git a/patches/source/libXfixes/libXfixes.SlackBuild b/patches/source/libXfixes/libXfixes.SlackBuild
new file mode 100755
index 00000000..8d5116f4
--- /dev/null
+++ b/patches/source/libXfixes/libXfixes.SlackBuild
@@ -0,0 +1,2 @@
+UPGRADE_PACKAGES=no ./x11.SlackBuild lib libXfixes
+mv /tmp/x11-build/libXfixes*txz /tmp
diff --git a/patches/source/libXfixes/modularize b/patches/source/libXfixes/modularize
new file mode 100644
index 00000000..8a28ed93
--- /dev/null
+++ b/patches/source/libXfixes/modularize
@@ -0,0 +1,279 @@
+# If a package is listed here, it will be built apart from the
+# usual "grab bag" package that's made from each source directory.
+
+appres
+bdftopcf
+beforelight
+bigreqsproto
+bitmap
+compiz
+compositeproto
+damageproto
+dmxproto
+dri2proto
+dri3proto
+editres
+encodings
+evieext
+fixesproto
+font-adobe-100dpi
+font-adobe-75dpi
+font-adobe-utopia-100dpi
+font-adobe-utopia-75dpi
+font-adobe-utopia-type1
+font-alias
+font-arabic-misc
+font-bh-100dpi
+font-bh-75dpi
+font-bh-lucidatypewriter-100dpi
+font-bh-lucidatypewriter-75dpi
+font-bh-ttf
+font-bh-type1
+font-bitstream-100dpi
+font-bitstream-75dpi
+font-bitstream-speedo
+font-bitstream-type1
+font-cronyx-cyrillic
+font-cursor-misc
+font-daewoo-misc
+font-dec-misc
+font-ibm-type1
+font-isas-misc
+font-jis-misc
+font-micro-misc
+font-misc-cyrillic
+font-misc-ethiopic
+font-misc-meltho
+font-misc-misc
+font-mutt-misc
+font-schumacher-misc
+font-screen-cyrillic
+font-sony-misc
+font-sun-misc
+font-util
+font-winitzki-cyrillic
+font-xfree86-type1
+fontcacheproto
+fontsproto
+fonttosfnt
+fslsfonts
+fstobdf
+gccmakedep
+glamor-egl
+glproto
+iceauth
+ico
+imake
+inputproto
+intel-gpu-tools
+kbproto
+libFS
+libICE
+libSM
+libX11
+libXScrnSaver
+libXau
+libXaw
+libXaw3d
+libXcm
+libXcomposite
+libXcursor
+libXdamage
+libXdmcp
+libXevie
+libXext
+libXfixes
+libXfont
+libXfontcache
+libXft
+libXi
+libXinerama
+libXmu
+libXp
+libXpm
+libXpresent
+libXrandr
+libXrender
+libXres
+libXt
+libXtst
+libXv
+libXvMC
+libXxf86dga
+libXxf86misc
+libXxf86vm
+libdmx
+libfontenc
+libpciaccess
+libpthread-stubs
+libxcb
+libxkbfile
+libxshmfence
+listres
+lndir
+luit
+makedepend
+mkcomposecache
+mkfontdir
+mkfontscale
+oclock
+pixman
+presentproto
+printproto
+randrproto
+recordproto
+rendercheck
+renderproto
+resourceproto
+rgb
+scrnsaverproto
+sessreg
+setxkbmap
+showfont
+smproxy
+transset
+twm
+util-macros
+videoproto
+viewres
+x11perf
+xauth
+xbacklight
+xbiff
+xbitmaps
+xcalc
+xcb-proto
+xcb-util
+xcb-util-cursor
+xcb-util-errors
+xcb-util-image
+xcb-util-keysyms
+xcb-util-renderutil
+xcb-util-wm
+xclipboard
+xclock
+xcm
+xcmiscproto
+xcmsdb
+xcompmgr
+xconsole
+xcursor-themes
+xcursorgen
+xdbedizzy
+xditview
+xdm
+xdpyinfo
+xdriinfo
+xedit
+xev
+xextproto
+xeyes
+xf86-input-acecad
+xf86-input-aiptek
+xf86-input-evdev
+xf86-input-joystick
+xf86-input-keyboard
+xf86-input-mouse
+xf86-input-penmount
+xf86-input-synaptics
+xf86-input-vmmouse
+xf86-input-void
+xf86-input-wacom
+xf86-video-amdgpu
+xf86-video-apm
+xf86-video-ark
+xf86-video-ast
+xf86-video-ati
+xf86-video-chips
+xf86-video-cirrus
+xf86-video-dummy
+xf86-video-geode
+xf86-video-glint
+xf86-video-i128
+xf86-video-i740
+xf86-video-intel
+xf86-video-mach64
+xf86-video-mga
+xf86-video-modesetting
+xf86-video-neomagic
+xf86-video-nouveau
+xf86-video-nv
+xf86-video-omap
+xf86-video-openchrome
+xf86-video-qxl
+xf86-video-r128
+xf86-video-rendition
+xf86-video-s3
+xf86-video-s3virge
+xf86-video-savage
+xf86-video-siliconmotion
+xf86-video-sis
+xf86-video-sisusb
+xf86-video-tdfx
+xf86-video-tga
+xf86-video-trident
+xf86-video-tseng
+xf86-video-v4l
+xf86-video-vesa
+xf86-video-vmware
+xf86-video-voodoo
+xf86-video-xgi
+xf86-video-xgixp
+xf86bigfontproto
+xf86dga
+xf86dgaproto
+xf86driproto
+xf86miscproto
+xf86vidmodeproto
+xfd
+xfontsel
+xfs
+xfsinfo
+xgamma
+xgc
+xhost
+xineramaproto
+xinit
+xinput
+xkbcomp
+xkbevd
+xkbprint
+xkbutils
+xkeyboard-config
+xkill
+xload
+xlogo
+xlsatoms
+xlsclients
+xlsfonts
+xmag
+xman
+xmessage
+xmh
+xmodmap
+xmore
+xorg-cf-files
+xorg-docs
+xorg-server
+xorg-server-xephyr
+xorg-server-xnest
+xorg-server-xvfb
+xorg-sgml-doctools
+xpr
+xprop
+xproto
+xpyb
+xrandr
+xrdb
+xrefresh
+xscope
+xset
+xsetroot
+xsm
+xstdcmap
+xtrans
+xvidtune
+xvinfo
+xwd
+xwininfo
+xwud
diff --git a/patches/source/libXfixes/noarch b/patches/source/libXfixes/noarch
new file mode 100644
index 00000000..8785ee52
--- /dev/null
+++ b/patches/source/libXfixes/noarch
@@ -0,0 +1,75 @@
+# List packages with an $ARCH of "noarch" (i.e. packages
+# that contain no binaries) here:
+bigreqsproto
+compositeproto
+damageproto
+dejavu-ttf
+dmxproto
+encodings
+evieext
+font-adobe-100dpi
+font-adobe-75dpi
+font-adobe-utopia-100dpi
+font-adobe-utopia-75dpi
+font-adobe-utopia-type1
+font-alias
+font-arabic-misc
+font-bh-100dpi
+font-bh-75dpi
+font-bh-lucidatypewriter-100dpi
+font-bh-lucidatypewriter-75dpi
+font-bh-ttf
+font-bh-type1
+font-bitstream-100dpi
+font-bitstream-75dpi
+font-bitstream-speedo
+font-bitstream-type1
+font-cronyx-cyrillic
+font-cursor-misc
+font-daewoo-misc
+font-dec-misc
+font-ibm-type1
+font-isas-misc
+font-jis-misc
+font-micro-misc
+font-misc-cyrillic
+font-misc-ethiopic
+font-misc-meltho
+font-misc-misc
+font-mutt-misc
+font-schumacher-misc
+font-screen-cyrillic
+font-sony-misc
+font-sun-misc
+font-winitzki-cyrillic
+font-xfree86-type1
+fontcacheproto
+fontsproto
+gccmakedep
+glproto
+inputproto
+kbproto
+libpthread-stubs
+mkfontdir
+printproto
+randrproto
+recordproto
+renderproto
+resourceproto
+scrnsaverproto
+ttf-indic-fonts
+util-macros
+videoproto
+x11-skel
+xcmiscproto
+xcursor-themes
+xf86bigfontproto
+xf86dgaproto
+xf86driproto
+xf86miscproto
+xf86vidmodeproto
+xineramaproto
+xkeyboard-config
+xorg-docs
+xproto
+xtrans
diff --git a/patches/source/libXfixes/package-blacklist b/patches/source/libXfixes/package-blacklist
new file mode 100644
index 00000000..603b8c31
--- /dev/null
+++ b/patches/source/libXfixes/package-blacklist
@@ -0,0 +1,44 @@
+# Enter packages to skip (perhaps because they aren't used on
+# this platform) below. Just the package name -- no version
+# number is needed.
+
+# ARM only packages:
+# They also say in the README for this one that it is not yet ready:
+xf86-video-omap
+
+# MacOS related packages:
+applewmproto
+windowswmproto
+libAppleWM
+libWindowsWM
+
+# Sun video cards:
+xf86-video-sunbw2
+xf86-video-suncg14
+xf86-video-suncg3
+xf86-video-suncg6
+xf86-video-sunffb
+xf86-video-sunleo
+xf86-video-suntcx
+
+# Obsolete packages:
+liboldX
+xf86-video-amd
+xf86-video-via
+xkbdata
+xphelloworld
+xrx
+xf86-video-modesetting
+
+# Not applicable to us
+grandr
+constype
+
+# CAREFUL NOT TO "SHIP" THE STUFF BELOW IN THE MAIN X PACKAGES DIR!
+
+# This is probably obsolete, and kills "X -configure" too
+xf86-video-nsc
+
+# We don't want this one, as it causes failure of X with no xorg.conf
+xf86-video-fbdev
+
diff --git a/patches/source/libXfixes/slack-desc/libXfixes b/patches/source/libXfixes/slack-desc/libXfixes
new file mode 100644
index 00000000..3c44fa46
--- /dev/null
+++ b/patches/source/libXfixes/slack-desc/libXfixes
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|'
+# on the right side marks the last column you can put a character in. You must
+# make exactly 11 lines for the formatting to be correct. It's also
+# customary to leave one space after the ':'.
+
+ |-----handy-ruler------------------------------------------------------|
+libXfixes: libXfixes (client library for the Xfixes extension)
+libXfixes:
+libXfixes: libXfixes is part of X11.
+libXfixes:
+libXfixes: For more information about the X.Org Foundation (the providers of the
+libXfixes: X.Org implementation of the X Window System), see their website:
+libXfixes:
+libXfixes: http://www.x.org
+libXfixes:
+libXfixes:
+libXfixes:
diff --git a/patches/source/libXfixes/x11.SlackBuild b/patches/source/libXfixes/x11.SlackBuild
new file mode 100755
index 00000000..c3887dff
--- /dev/null
+++ b/patches/source/libXfixes/x11.SlackBuild
@@ -0,0 +1,381 @@
+#!/bin/sh
+# Copyright 2007-2014 Patrick J. Volkerding, Sebeka, MN, USA
+# All rights reserved.
+#
+# Redistribution and use of this script, with or without modification, is
+# permitted provided that the following conditions are met:
+#
+# 1. Redistributions of this script must retain the above copyright
+# notice, this list of conditions and the following disclaimer.
+#
+# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED
+# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
+# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
+# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+# To build only a single package group, specify it as $1, like:
+# ./x11.SlackBuild lib
+# To build only a single package, specify both the source directory
+# and the name of the package, like:
+# ./x11.SlackBuild lib libX11
+
+# Upgrade packages as they are built.
+# Default is to upgrade new packages (UPGRADE_PACKAGES=yes).
+# To install ALL newly built packages (even if they are already installed),
+# use UPGRADE_PACKAGES=always
+# To not upgrade, pass UPGRADE_PACKAGES=no
+UPGRADE_PACKAGES=${UPGRADE_PACKAGES:-yes}
+
+pkgbase() {
+ PKGEXT=$(echo $1 | rev | cut -f 1 -d . | rev)
+ case $PKGEXT in
+ 'gz' )
+ PKGRETURN=$(basename $1 .tar.gz)
+ ;;
+ 'bz2' )
+ PKGRETURN=$(basename $1 .tar.bz2)
+ ;;
+ 'lzma' )
+ PKGRETURN=$(basename $1 .tar.lzma)
+ ;;
+ 'xz' )
+ PKGRETURN=$(basename $1 .tar.xz)
+ ;;
+ *)
+ PKGRETURN=$(basename $1)
+ ;;
+ esac
+ echo $PKGRETURN
+}
+
+# Set initial variables:
+CWD=$(pwd)
+TMP=${TMP:-/tmp}
+
+# Automatically determine the architecture we're building on:
+if [ -z "$ARCH" ]; then
+ case "$( uname -m )" in
+ i?86) export ARCH=i486 ;;
+ arm*) export ARCH=arm ;;
+ # Unless $ARCH is already set, use uname -m for all other archs:
+ *) export ARCH=$( uname -m ) ;;
+ esac
+fi
+
+# A lot of this stuff just controls the package names this time:
+VERSION=${VERSION:-7.5}
+BUILD=${BUILD:-1}
+PKGARCH=$ARCH
+NUMJOBS=${NUMJOBS:-" -j7 "}
+
+if [ "$ARCH" = "x86_64" ]; then
+ LIBDIRSUFFIX="64"
+else
+ LIBDIRSUFFIX=""
+fi
+
+# Set up a few useful functions:
+
+fix_perms() {
+ chown -R root:root .
+ find . \
+ \( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \
+ -exec chmod 755 {} \; -o \
+ \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \
+ -exec chmod 644 {} \;
+}
+
+process_man_pages() {
+ # Compress and if needed symlink the man pages:
+ if [ -d usr/man ]; then
+ ( cd usr/man
+ for manpagedir in $(find . -type d -name "man*") ; do
+ ( cd $manpagedir
+ for eachpage in $( find . -type l -maxdepth 1) ; do
+ ln -s $( readlink $eachpage ).gz $eachpage.gz
+ rm $eachpage
+ done
+ gzip -9 *.*
+ )
+ done
+ )
+ fi
+}
+
+process_info_pages() {
+ # Compress info pages and purge "dir" file from the package:
+ if [ -d usr/info ]; then
+ ( cd usr/info
+ rm -f dir
+ gzip -9 *
+ )
+ fi
+}
+
+no_usr_share_doc() {
+ # If there are docs, move them:
+ if [ -d usr/share/doc ]; then
+ mkdir -p usr/doc
+ mv usr/share/doc/* usr/doc
+ rmdir usr/share/doc
+ fi
+}
+
+# Set the compile options for the $ARCH being used:
+. $CWD/arch.use.flags
+
+SLACK_X_BUILD_DIR=$TMP/x11-build
+mkdir -p $SLACK_X_BUILD_DIR
+
+# Better have some binaries installed first, as this may not be
+# in the "magic order". I built mine by hand through trial-and-error
+# before getting this script to work. It wasn't that hard... I think. ;-)
+( cd src
+ for x_source_dir in proto data util xcb lib app doc xserver driver font ; do
+ # See if $1 is a source directory like "lib":
+ if [ ! -z "$1" ]; then
+ if [ ! "$1" = "${x_source_dir}" ]; then
+ continue
+ fi
+ fi
+ PKG=${SLACK_X_BUILD_DIR}/package-${x_source_dir}
+ rm -rf $PKG
+ mkdir -p $PKG
+ ( cd $x_source_dir
+ for x_pkg in *.tar.?z* ; do
+ # Reset $PKGARCH to its initial value:
+ PKGARCH=$ARCH
+ PKGNAME=$(echo $x_pkg | rev | cut -f 2- -d - | rev)
+ # Perhaps $PKGARCH should be something different:
+ if grep -wq "^$PKGNAME" ${CWD}/noarch ; then
+ PKGARCH=noarch
+ fi
+ if grep -wq "^$PKGNAME" ${CWD}/package-blacklist ; then
+ continue
+ fi
+ cd $SLACK_X_BUILD_DIR
+ # If $2 is set, we only want to build one package:
+ if [ ! -z "$2" ]; then
+ if [ "$2" = "$PKGNAME" ]; then
+ # Set $PKG to a private dir for the modular package build:
+ PKG=$SLACK_X_BUILD_DIR/package-$PKGNAME
+ rm -rf $PKG
+ mkdir -p $PKG
+ else
+ continue
+ fi
+ else
+ echo
+ echo "Building from source ${x_pkg}"
+ echo
+ fi
+ if grep -wq "^$PKGNAME" ${CWD}/modularize ; then
+ # Set $PKG to a private dir for the modular package build:
+ PKG=$SLACK_X_BUILD_DIR/package-$PKGNAME
+ rm -rf $PKG
+ mkdir -p $PKG
+ fi
+
+ # Let's figure out the version number on the modular package:
+ MODULAR_PACKAGE_VERSION=$(echo $x_pkg | rev | cut -f 3- -d . | cut -f 1 -d - | rev)
+
+ rm -rf $(pkgbase $x_pkg)
+ tar xf $CWD/src/${x_source_dir}/${x_pkg} || exit 1
+ cd $(pkgbase $x_pkg) || exit 1
+
+ fix_perms
+
+ # If any patches are needed, call this script to apply them:
+ if [ -r $CWD/patch/${PKGNAME}.patch ]; then
+ . $CWD/patch/${PKGNAME}.patch
+ fi
+
+ # I heard somewhere that -O2 breaks some chipset or another. If you encounter
+ # problems, please contact volkerdi@slackware.com. Thanks! :-)
+
+ # ./configure, using custom configure script if needed:
+ if [ -r $CWD/configure/${PKGNAME} ]; then
+ . $CWD/configure/${PKGNAME}
+ else
+ # This is the default configure script:
+ . $CWD/configure/configure
+ fi
+
+ if ! make $NUMJOBS ; then
+ touch ${SLACK_X_BUILD_DIR}/${PKGNAME}.failed
+ continue
+ fi
+
+ make install DESTDIR=$PKG
+
+ mkdir -p $PKG/usr/doc/${PKGNAME}-${MODULAR_PACKAGE_VERSION}
+ cp -a \
+ AUTHORS* COPYING* INSTALL* README* NEWS* TODO* \
+ $PKG/usr/doc/${PKGNAME}-${MODULAR_PACKAGE_VERSION}
+
+ # If there's a ChangeLog, installing at least part of the recent history
+ # is useful, but don't let it get totally out of control:
+ if [ -r ChangeLog ]; then
+ DOCSDIR=$(echo $PKG/usr/doc/${PKGNAME}-$MODULAR_PACKAGE_VERSION)
+ cat ChangeLog | head -n 1000 > $DOCSDIR/ChangeLog
+ touch -r ChangeLog $DOCSDIR/ChangeLog
+ fi
+
+ # Get rid of zero-length junk files:
+ find $PKG/usr/doc/${PKGNAME}-$MODULAR_PACKAGE_VERSION -type f -size 0 -exec rm --verbose "{}" \;
+ rmdir --verbose $PKG/usr/doc/${PKGNAME}-$MODULAR_PACKAGE_VERSION 2> /dev/null
+
+ # Strip binaries:
+ ( cd $PKG
+ find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
+ find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
+ find . | xargs file | grep "current ar archive" | grep ELF | cut -f 1 -d : | xargs strip -g 2> /dev/null
+ )
+
+ # If there's any special post-install things to do, do them:
+ if [ -r $CWD/post-install/${PKGNAME}.post-install ]; then
+ RUNSCRIPT=$(mktemp -p $TMP) || exit 1
+ cat $CWD/post-install/${PKGNAME}.post-install \
+ | sed -e "s#usr/lib#usr/lib${LIBDIRSUFFIX}#g" > $RUNSCRIPT
+ . $RUNSCRIPT
+ rm -f $RUNSCRIPT
+ fi
+
+ # If this package requires some doinst.sh material, add it here:
+ if [ -r $CWD/doinst.sh/${PKGNAME} ]; then
+ mkdir -p $PKG/install
+ cat $CWD/doinst.sh/${PKGNAME} \
+ | sed -e "s#usr/lib#usr/lib${LIBDIRSUFFIX}#g" \
+ >> $PKG/install/doinst.sh
+ fi
+
+ # If this is a modular package, build it here:
+ if [ -d $SLACK_X_BUILD_DIR/package-$PKGNAME ]; then
+ cd $PKG
+ process_man_pages
+ process_info_pages
+ no_usr_share_doc
+ mkdir -p $PKG/install
+ if [ -r $CWD/slack-desc/${PKGNAME} ]; then
+ cat $CWD/slack-desc/${PKGNAME} > $PKG/install/slack-desc
+ else
+ touch $PKG/install/slack-desc-missing
+ fi
+ if [ -r $CWD/build/${PKGNAME} ]; then
+ MODBUILD=$(cat $CWD/build/${PKGNAME})
+ else
+ MODBUILD=$BUILD
+ fi
+ if [ -r $CWD/makepkg/${PKGNAME} ]; then
+ BUILD=$MODBUILD . $CWD/makepkg/${PKGNAME}
+ else
+ /sbin/makepkg -l y -c n ${SLACK_X_BUILD_DIR}/${PKGNAME}-${MODULAR_PACKAGE_VERSION}-${PKGARCH}-${MODBUILD}.txz
+ if [ "$UPGRADE_PACKAGES" = "yes" ]; then
+ /sbin/upgradepkg --install-new ${SLACK_X_BUILD_DIR}/${PKGNAME}-${MODULAR_PACKAGE_VERSION}-${PKGARCH}-${MODBUILD}.txz
+ elif [ "$UPGRADE_PACKAGES" = "always" ]; then
+ /sbin/upgradepkg --install-new --reinstall ${SLACK_X_BUILD_DIR}/${PKGNAME}-${MODULAR_PACKAGE_VERSION}-${PKGARCH}-${MODBUILD}.txz
+ fi
+ fi
+ fi
+
+ # Reset $PKG to assume we're building the whole source dir:
+ PKG=${SLACK_X_BUILD_DIR}/package-${x_source_dir}
+
+ done
+
+ # Nothing here? Must have been fully modular. :-)
+ if [ ! -d ${SLACK_X_BUILD_DIR}/package-${x_source_dir}/etc -a \
+ ! -d ${SLACK_X_BUILD_DIR}/package-${x_source_dir}/usr ]; then
+ continue
+ fi
+
+ # Build an "x11-<sourcedir>" package for anything that wasn't built modular:
+ # It's safer to consider these to have binaries in them. ;-)
+ PKGARCH=$ARCH
+ cd $PKG
+ process_man_pages
+ process_info_pages
+ no_usr_share_doc
+ # If there are post-install things to do for the combined package,
+ # we do them here. This could be used for things like making a
+ # VERSION number for a combined package. :-)
+ if [ -r $CWD/post-install/x11-${x_source_dir}.post-install ]; then
+ RUNSCRIPT=$(mktemp -p $TMP) || exit 1
+ cat $CWD/post-install/x11-${x_source_dir}.post-install \
+ | sed -e "s#usr/lib#usr/lib${LIBDIRSUFFIX}#g" > $RUNSCRIPT
+ . $RUNSCRIPT
+ rm -f $RUNSCRIPT
+ fi
+ mkdir -p $PKG/install
+ if [ -r $CWD/slack-desc/x11-${x_source_dir} ]; then
+ cat $CWD/slack-desc/x11-${x_source_dir} > $PKG/install/slack-desc
+ else
+ touch $PKG/install/slack-desc-missing
+ fi
+ if [ -r $CWD/doinst.sh/x11-${x_source_dir} ]; then
+ cat $CWD/doinst.sh/x11-${x_source_dir} \
+ | sed -e "s#usr/lib#usr/lib${LIBDIRSUFFIX}#g" \
+ >> $PKG/install/doinst.sh
+ fi
+ if [ -r $CWD/build/x11-${PKGNAME} ]; then
+ SRCDIRBUILD=$(cat $CWD/build/x11-${PKGNAME})
+ else
+ SRCDIRBUILD=$BUILD
+ fi
+ if [ -r $CWD/makepkg/${PKGNAME} ]; then
+ BUILD=$MODBUILD . $CWD/makepkg/${PKGNAME}
+ else
+ /sbin/makepkg -l y -c n ${SLACK_X_BUILD_DIR}/x11-${x_source_dir}-${VERSION}-${PKGARCH}-${SRCDIRBUILD}.txz
+ if [ "$UPGRADE_PACKAGES" = "yes" ]; then
+ /sbin/upgradepkg --install-new ${SLACK_X_BUILD_DIR}/x11-${x_source_dir}-${VERSION}-${PKGARCH}-${SRCDIRBUILD}.txz
+ elif [ "$UPGRADE_PACKAGES" = "always" ]; then
+ /sbin/upgradepkg --install-new --reinstall ${SLACK_X_BUILD_DIR}/x11-${x_source_dir}-${VERSION}-${PKGARCH}-${SRCDIRBUILD}.txz
+ fi
+ fi
+ )
+ done
+)
+
+exit 0
+
+# I don't think I'll be using the following stuff, since I went for the latest in
+# "individual", rather than a release. That was mostly because version 7.1 depends
+# on a version of Mesa that won't build against kernel headers this new (&etc.).
+
+# If environment variable "REFRESH" is exported, start by refreshing the source tree:
+# export REFRESH yes
+if [ ! -z "$REFRESH" ]; then
+ # Only works once, unless you uncomment above.
+ unset REFRESH
+ ( cd patches
+ lftp -c \
+ "lftp ftp://ftp.x.org:/pub/X11R7.1/patches
+ mirror --delete --dereference .
+ exit"
+ chmod 644 *
+ )
+ ( cd src
+ mkdir -p update everything
+ for dir in app data deprecated doc driver extras font lib proto util xserver ; do
+ # We won't really download "update", as problems ensue. Plus, --dereference is
+ # bringing us updated files when needed, so it's redundant (like "everything").
+ if [ ! -d $dir ]; then
+ mkdir $dir
+ fi
+ ( cd $dir
+ lftp -c \
+ "lftp ftp://ftp.x.org:/pub/X11R7.1/src/$dir
+ mirror -c --delete --dereference --include-glob "*.tar.bz2" .
+ exit"
+ chmod 644 *
+ )
+ done
+ )
+fi
+
diff --git a/patches/source/libXfont/arch.use.flags b/patches/source/libXfont/arch.use.flags
new file mode 100644
index 00000000..f28a6cca
--- /dev/null
+++ b/patches/source/libXfont/arch.use.flags
@@ -0,0 +1,7 @@
+if [ "$ARCH" = "i486" ]; then
+ SLKCFLAGS="-O2 -march=i486 -mtune=i686"
+elif [ "$ARCH" = "s390" ]; then
+ SLKCFLAGS="-O2"
+elif [ "$ARCH" = "x86_64" ]; then
+ SLKCFLAGS="-O2 -fPIC"
+fi
diff --git a/patches/source/libXfont/build/increment.sh b/patches/source/libXfont/build/increment.sh
new file mode 100755
index 00000000..6de5d0da
--- /dev/null
+++ b/patches/source/libXfont/build/increment.sh
@@ -0,0 +1,17 @@
+#!/bin/sh
+# A script to increment build numbers.
+# Call it with the list of the build numbers to increase by one:
+#
+# ./increment.sh xf86-input-acecad xf86-input-aiptek xf86-input-joystick
+#
+# If a build file does not exist, it will be created with a value of 2.
+
+for build in $* ; do
+ if [ ! -r $build ]; then
+ echo "Creating $build with value 2"
+ echo 2 > $build
+ else
+ echo "Incrementing $build $(cat $build) -> $(expr $(cat $build) + 1)"
+ echo $(expr $(cat $build) + 1) > $build
+ fi
+done
diff --git a/patches/source/libXfont/build/libXfont b/patches/source/libXfont/build/libXfont
new file mode 100644
index 00000000..682d1e1f
--- /dev/null
+++ b/patches/source/libXfont/build/libXfont
@@ -0,0 +1 @@
+2_slack13.0
diff --git a/patches/source/libXfont/configure/configure b/patches/source/libXfont/configure/configure
new file mode 100644
index 00000000..0f3bccf2
--- /dev/null
+++ b/patches/source/libXfont/configure/configure
@@ -0,0 +1,12 @@
+CFLAGS=$SLKCFLAGS \
+CXXFLAGS=$SLKCFLAGS \
+./configure \
+ --prefix=/usr \
+ --libdir=/usr/lib${LIBDIRSUFFIX} \
+ --sysconfdir=/etc \
+ --localstatedir=/var \
+ --infodir=/usr/info \
+ --mandir=/usr/man \
+ --docdir=/usr/doc/${PKGNAME}-${MODULAR_PACKAGE_VERSION} \
+ --disable-static \
+ --build=$ARCH-slackware-linux
diff --git a/patches/source/libXfont/libXfont.SlackBuild b/patches/source/libXfont/libXfont.SlackBuild
new file mode 100755
index 00000000..25821f17
--- /dev/null
+++ b/patches/source/libXfont/libXfont.SlackBuild
@@ -0,0 +1,26 @@
+#!/bin/sh
+
+# Copyright 2014 Patrick J. Volkerding, Sebeka, Minnesota, USA
+# All rights reserved.
+#
+# Redistribution and use of this script, with or without modification, is
+# permitted provided that the following conditions are met:
+#
+# 1. Redistributions of this script must retain the above copyright
+# notice, this list of conditions and the following disclaimer.
+#
+# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED
+# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
+# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
+# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+UPGRADE_PACKAGES=no sh x11-build-script.sh lib libXfont
+mv --verbose /tmp/x11-build/*.txz /tmp
+
diff --git a/patches/source/libXfont/modularize b/patches/source/libXfont/modularize
new file mode 100644
index 00000000..38762ffd
--- /dev/null
+++ b/patches/source/libXfont/modularize
@@ -0,0 +1,272 @@
+# If a package is listed here, it will be built apart from the
+# usual "grab bag" package that's made from each source directory.
+
+appres
+bdftopcf
+beforelight
+bigreqsproto
+bitmap
+compiz
+compositeproto
+damageproto
+dmxproto
+dri2proto
+editres
+encodings
+evieext
+fixesproto
+font-adobe-100dpi
+font-adobe-75dpi
+font-adobe-utopia-100dpi
+font-adobe-utopia-75dpi
+font-adobe-utopia-type1
+font-alias
+font-arabic-misc
+font-bh-100dpi
+font-bh-75dpi
+font-bh-lucidatypewriter-100dpi
+font-bh-lucidatypewriter-75dpi
+font-bh-ttf
+font-bh-type1
+font-bitstream-100dpi
+font-bitstream-75dpi
+font-bitstream-speedo
+font-bitstream-type1
+font-cronyx-cyrillic
+font-cursor-misc
+font-daewoo-misc
+font-dec-misc
+font-ibm-type1
+font-isas-misc
+font-jis-misc
+font-micro-misc
+font-misc-cyrillic
+font-misc-ethiopic
+font-misc-meltho
+font-misc-misc
+font-mutt-misc
+font-schumacher-misc
+font-screen-cyrillic
+font-sony-misc
+font-sun-misc
+font-util
+font-winitzki-cyrillic
+font-xfree86-type1
+fontcacheproto
+fontsproto
+fonttosfnt
+fslsfonts
+fstobdf
+gccmakedep
+glproto
+iceauth
+ico
+imake
+inputproto
+intel-gpu-tools
+kbproto
+libFS
+libICE
+libSM
+libX11
+libXScrnSaver
+libXau
+libXaw
+libXaw3d
+libXcm
+libXcomposite
+libXcursor
+libXdamage
+libXdmcp
+libXevie
+libXext
+libXfixes
+libXfont
+libXfontcache
+libXft
+libXi
+libXinerama
+libXmu
+libXp
+libXpm
+libXrandr
+libXrender
+libXres
+libXt
+libXtst
+libXv
+libXvMC
+libXxf86dga
+libXxf86misc
+libXxf86vm
+libdmx
+libfontenc
+libpciaccess
+libpthread-stubs
+libxcb
+libxkbfile
+listres
+lndir
+luit
+makedepend
+mkcomposecache
+mkfontdir
+mkfontscale
+oclock
+pixman
+printproto
+randrproto
+recordproto
+rendercheck
+renderproto
+resourceproto
+rgb
+scrnsaverproto
+sessreg
+setxkbmap
+showfont
+smproxy
+transset
+twm
+util-macros
+videoproto
+viewres
+x11perf
+xauth
+xbacklight
+xbiff
+xbitmaps
+xcalc
+xcb-proto
+xcb-util
+xcb-util-cursor
+xcb-util-image
+xcb-util-keysyms
+xcb-util-renderutil
+xcb-util-wm
+xclipboard
+xclock
+xcm
+xcmiscproto
+xcmsdb
+xcompmgr
+xconsole
+xcursor-themes
+xcursorgen
+xdbedizzy
+xditview
+xdm
+xdpyinfo
+xdriinfo
+xedit
+xev
+xextproto
+xeyes
+xf86-input-acecad
+xf86-input-aiptek
+xf86-input-evdev
+xf86-input-joystick
+xf86-input-keyboard
+xf86-input-mouse
+xf86-input-penmount
+xf86-input-synaptics
+xf86-input-vmmouse
+xf86-input-void
+xf86-input-wacom
+xf86-video-apm
+xf86-video-ark
+xf86-video-ast
+xf86-video-ati
+xf86-video-chips
+xf86-video-cirrus
+xf86-video-dummy
+xf86-video-geode
+xf86-video-glint
+xf86-video-i128
+xf86-video-i740
+xf86-video-intel
+xf86-video-mach64
+xf86-video-mga
+xf86-video-modesetting
+xf86-video-neomagic
+xf86-video-nouveau
+xf86-video-nv
+xf86-video-omap
+xf86-video-openchrome
+xf86-video-qxl
+xf86-video-r128
+xf86-video-rendition
+xf86-video-s3
+xf86-video-s3virge
+xf86-video-savage
+xf86-video-siliconmotion
+xf86-video-sis
+xf86-video-sisusb
+xf86-video-tdfx
+xf86-video-tga
+xf86-video-trident
+xf86-video-tseng
+xf86-video-v4l
+xf86-video-vesa
+xf86-video-vmware
+xf86-video-voodoo
+xf86-video-xgi
+xf86-video-xgixp
+xf86bigfontproto
+xf86dga
+xf86dgaproto
+xf86driproto
+xf86miscproto
+xf86vidmodeproto
+xfd
+xfontsel
+xfs
+xfsinfo
+xgamma
+xgc
+xhost
+xineramaproto
+xinit
+xinput
+xkbcomp
+xkbevd
+xkbprint
+xkbutils
+xkeyboard-config
+xkill
+xload
+xlogo
+xlsatoms
+xlsclients
+xlsfonts
+xmag
+xman
+xmessage
+xmh
+xmodmap
+xmore
+xorg-cf-files
+xorg-docs
+xorg-server
+xorg-server-xephyr
+xorg-server-xnest
+xorg-server-xvfb
+xorg-sgml-doctools
+xpr
+xprop
+xproto
+xpyb
+xrandr
+xrdb
+xrefresh
+xscope
+xset
+xsetroot
+xsm
+xstdcmap
+xtrans
+xvidtune
+xvinfo
+xwd
+xwininfo
+xwud
diff --git a/patches/source/libXfont/noarch b/patches/source/libXfont/noarch
new file mode 100644
index 00000000..480ffc26
--- /dev/null
+++ b/patches/source/libXfont/noarch
@@ -0,0 +1,76 @@
+# List packages with an $ARCH of "noarch" (i.e. packages
+# that contain no binaries) here:
+bigreqsproto
+compositeproto
+damageproto
+dejavu-ttf
+dmxproto
+encodings
+evieext
+font-adobe-100dpi
+font-adobe-75dpi
+font-adobe-utopia-100dpi
+font-adobe-utopia-75dpi
+font-adobe-utopia-type1
+font-alias
+font-arabic-misc
+font-bh-100dpi
+font-bh-75dpi
+font-bh-lucidatypewriter-100dpi
+font-bh-lucidatypewriter-75dpi
+font-bh-ttf
+font-bh-type1
+font-bitstream-100dpi
+font-bitstream-75dpi
+font-bitstream-speedo
+font-bitstream-type1
+font-cronyx-cyrillic
+font-cursor-misc
+font-daewoo-misc
+font-dec-misc
+font-ibm-type1
+font-isas-misc
+font-jis-misc
+font-micro-misc
+font-misc-cyrillic
+font-misc-ethiopic
+font-misc-meltho
+font-misc-misc
+font-mutt-misc
+font-schumacher-misc
+font-screen-cyrillic
+font-sony-misc
+font-sun-misc
+font-winitzki-cyrillic
+font-xfree86-type1
+fontcacheproto
+fontsproto
+gccmakedep
+glproto
+inputproto
+kbproto
+libpthread-stubs
+mkfontdir
+printproto
+randrproto
+recordproto
+renderproto
+resourceproto
+scrnsaverproto
+ttf-indic-fonts
+util-macros
+videoproto
+x11-skel
+xcmiscproto
+xcursor-themes
+xf86bigfontproto
+xf86dgaproto
+xf86driproto
+xf86miscproto
+xf86vidmodeproto
+xineramaproto
+xkeyboard-config
+xorg-cf-files
+xorg-docs
+xproto
+xtrans
diff --git a/patches/source/libXfont/package-blacklist b/patches/source/libXfont/package-blacklist
new file mode 100644
index 00000000..8e2f3eb5
--- /dev/null
+++ b/patches/source/libXfont/package-blacklist
@@ -0,0 +1,43 @@
+# Enter packages to skip (perhaps because they aren't used on
+# this platform) below. Just the package name -- no version
+# number is needed.
+
+# ARM only packages:
+# They also say in the README for this one that it is not yet ready:
+xf86-video-omap
+
+# MacOS related packages:
+applewmproto
+windowswmproto
+libAppleWM
+libWindowsWM
+
+# Sun video cards:
+xf86-video-sunbw2
+xf86-video-suncg14
+xf86-video-suncg3
+xf86-video-suncg6
+xf86-video-sunffb
+xf86-video-sunleo
+xf86-video-suntcx
+
+# Obsolete packages:
+liboldX
+xf86-video-amd
+xf86-video-via
+xkbdata
+xphelloworld
+xrx
+
+# Not applicable to us
+grandr
+constype
+
+# CAREFUL NOT TO "SHIP" THE STUFF BELOW IN THE MAIN X PACKAGES DIR!
+
+# This is probably obsolete, and kills "X -configure" too
+xf86-video-nsc
+
+# We don't want this one, as it causes failure of X with no xorg.conf
+xf86-video-fbdev
+
diff --git a/patches/source/libXfont/patch/libXfont.patch b/patches/source/libXfont/patch/libXfont.patch
new file mode 100644
index 00000000..7b6e2457
--- /dev/null
+++ b/patches/source/libXfont/patch/libXfont.patch
@@ -0,0 +1 @@
+zcat $CWD/patch/libXfont/libXfont.CVE-2017-16611.diff.gz | patch -p1 || { touch ${SLACK_X_BUILD_DIR}/${PKGNAME}.failed ; continue ; }
diff --git a/patches/source/libXfont/patch/libXfont/libXfont.CVE-2017-16611.diff b/patches/source/libXfont/patch/libXfont/libXfont.CVE-2017-16611.diff
new file mode 100644
index 00000000..352d00f0
--- /dev/null
+++ b/patches/source/libXfont/patch/libXfont/libXfont.CVE-2017-16611.diff
@@ -0,0 +1,85 @@
+--- ./src/fontfile/fileio.c.orig 2014-01-07 10:25:08.000000000 -0600
++++ ./src/fontfile/fileio.c 2017-11-29 00:37:05.450068487 -0600
+@@ -36,6 +36,9 @@
+ #ifndef O_BINARY
+ #define O_BINARY O_RDONLY
+ #endif
++#ifndef O_NOFOLLOW
++#define O_NOFOLLOW 0
++#endif
+
+ FontFilePtr
+ FontFileOpen (const char *name)
+@@ -44,7 +47,7 @@
+ int len;
+ BufFilePtr raw, cooked;
+
+- fd = open (name, O_BINARY);
++ fd = open (name, O_BINARY|O_CLOEXEC|O_NOFOLLOW);
+ if (fd < 0)
+ return 0;
+ raw = BufFileOpenRead (fd);
+--- ./src/fontfile/dirfile.c.orig 2014-01-07 10:25:08.000000000 -0600
++++ ./src/fontfile/dirfile.c 2017-11-29 00:35:44.400069349 -0600
+@@ -41,6 +41,7 @@
+ #include <stdio.h>
+ #include <sys/types.h>
+ #include <sys/stat.h>
++#include <fcntl.h>
+ #include <errno.h>
+
+ static Bool AddFileNameAliases ( FontDirectoryPtr dir );
+@@ -57,8 +58,9 @@
+ char dir_file[MAXFONTFILENAMELEN];
+ char dir_path[MAXFONTFILENAMELEN];
+ char *ptr;
+- FILE *file;
+- int count,
++ FILE *file = 0;
++ int file_fd,
++ count,
+ num_fonts,
+ status;
+ struct stat statb;
+@@ -88,7 +90,14 @@
+ if (dir_file[strlen(dir_file) - 1] != '/')
+ strcat(dir_file, "/");
+ strcat(dir_file, FontDirFile);
++#ifndef WIN32
++ file_fd = open(dir_file, O_RDONLY | O_NOFOLLOW);
++ if (file_fd >= 0) {
++ file = fdopen(file_fd, "rt");
++ }
++#else
+ file = fopen(dir_file, "rt");
++#endif
+ if (file) {
+ #ifndef WIN32
+ if (fstat (fileno(file), &statb) == -1)
+@@ -258,7 +267,8 @@
+ char alias[MAXFONTNAMELEN];
+ char font_name[MAXFONTNAMELEN];
+ char alias_file[MAXFONTFILENAMELEN];
+- FILE *file;
++ int file_fd;
++ FILE *file = 0;
+ FontDirectoryPtr dir;
+ int token;
+ char *lexToken;
+@@ -276,7 +286,16 @@
+ strcat(alias_file, "/");
+ strcat(alias_file, FontAliasFile);
+ }
++
++#ifndef WIN32
++ file_fd = open(alias_file, O_RDONLY | O_NOFOLLOW);
++ if (file_fd >= 0) {
++ file = fdopen(file_fd, "rt");
++ }
++#else
+ file = fopen(alias_file, "rt");
++#endif
++
+ if (!file)
+ return ((errno == ENOENT) ? Successful : BadFontPath);
+ if (!dir)
diff --git a/patches/source/libXfont/slack-desc/libXfont b/patches/source/libXfont/slack-desc/libXfont
new file mode 100644
index 00000000..d78d6a0e
--- /dev/null
+++ b/patches/source/libXfont/slack-desc/libXfont
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|'
+# on the right side marks the last column you can put a character in. You must
+# make exactly 11 lines for the formatting to be correct. It's also
+# customary to leave one space after the ':'.
+
+ |-----handy-ruler------------------------------------------------------|
+libXfont: libXfont (library for legacy X11 font system)
+libXfont:
+libXfont: libXfont provides the core of the legacy X11 font system, handling the
+libXfont: index files (fonts.dir, fonts.alias, fonts.scale), the various font
+libXfont: file formats, and rasterizing them. It is used by the X servers, the
+libXfont: X Font Server (xfs), and some font utilities (bdftopcf for instance),
+libXfont: but should not be used by normal X11 clients. X11 clients access fonts
+libXfont: via either the new API's in libXft, or the legacy API's in libX11.
+libXfont:
+libXfont:
+libXfont:
diff --git a/patches/source/libXfont/x11-build-script.sh b/patches/source/libXfont/x11-build-script.sh
new file mode 100755
index 00000000..6da53346
--- /dev/null
+++ b/patches/source/libXfont/x11-build-script.sh
@@ -0,0 +1,374 @@
+#!/bin/sh
+# Copyright 2007-2013 Patrick J. Volkerding, Sebeka, MN, USA
+# All rights reserved.
+#
+# Redistribution and use of this script, with or without modification, is
+# permitted provided that the following conditions are met:
+#
+# 1. Redistributions of this script must retain the above copyright
+# notice, this list of conditions and the following disclaimer.
+#
+# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED
+# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
+# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
+# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+# To build only a single package group, specify it as $1, like:
+# ./x11.SlackBuild lib
+# To build only a single package, specify both the source directory
+# and the name of the package, like:
+# ./x11.SlackBuild lib libX11
+
+# Upgrade packages as they are built.
+# This is default. To not upgrade, pass UPGRADE_PACKAGES=no (or anything else).
+UPGRADE_PACKAGES=${UPGRADE_PACKAGES:-yes}
+
+pkgbase() {
+ PKGEXT=$(echo $1 | rev | cut -f 1 -d . | rev)
+ case $PKGEXT in
+ 'gz' )
+ PKGRETURN=$(basename $1 .tar.gz)
+ ;;
+ 'bz2' )
+ PKGRETURN=$(basename $1 .tar.bz2)
+ ;;
+ 'lzma' )
+ PKGRETURN=$(basename $1 .tar.lzma)
+ ;;
+ 'xz' )
+ PKGRETURN=$(basename $1 .tar.xz)
+ ;;
+ *)
+ PKGRETURN=$(basename $1)
+ ;;
+ esac
+ echo $PKGRETURN
+}
+
+# Set initial variables:
+CWD=$(pwd)
+TMP=${TMP:-/tmp}
+
+# Automatically determine the architecture we're building on:
+if [ -z "$ARCH" ]; then
+ case "$( uname -m )" in
+ i?86) export ARCH=i486 ;;
+ arm*) export ARCH=arm ;;
+ # Unless $ARCH is already set, use uname -m for all other archs:
+ *) export ARCH=$( uname -m ) ;;
+ esac
+fi
+
+# A lot of this stuff just controls the package names this time:
+VERSION=${VERSION:-7.5}
+BUILD=${BUILD:-1}
+PKGARCH=$ARCH
+NUMJOBS=${NUMJOBS:-" -j7 "}
+
+if [ "$ARCH" = "x86_64" ]; then
+ LIBDIRSUFFIX="64"
+else
+ LIBDIRSUFFIX=""
+fi
+
+# Set up a few useful functions:
+
+fix_perms() {
+ chown -R root:root .
+ find . \
+ \( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \
+ -exec chmod 755 {} \; -o \
+ \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \
+ -exec chmod 644 {} \;
+}
+
+process_man_pages() {
+ # Compress and if needed symlink the man pages:
+ if [ -d usr/man ]; then
+ ( cd usr/man
+ for manpagedir in $(find . -type d -name "man*") ; do
+ ( cd $manpagedir
+ for eachpage in $( find . -type l -maxdepth 1) ; do
+ ln -s $( readlink $eachpage ).gz $eachpage.gz
+ rm $eachpage
+ done
+ gzip -9 *.*
+ )
+ done
+ )
+ fi
+}
+
+process_info_pages() {
+ # Compress info pages and purge "dir" file from the package:
+ if [ -d usr/info ]; then
+ ( cd usr/info
+ rm -f dir
+ gzip -9 *
+ )
+ fi
+}
+
+no_usr_share_doc() {
+ # If there are docs, move them:
+ if [ -d usr/share/doc ]; then
+ mkdir -p usr/doc
+ mv usr/share/doc/* usr/doc
+ rmdir usr/share/doc
+ fi
+}
+
+# Set the compile options for the $ARCH being used:
+. $CWD/arch.use.flags
+
+SLACK_X_BUILD_DIR=$TMP/x11-build
+mkdir -p $SLACK_X_BUILD_DIR
+
+# Better have some binaries installed first, as this may not be
+# in the "magic order". I built mine by hand through trial-and-error
+# before getting this script to work. It wasn't that hard... I think. ;-)
+( cd src
+ for x_source_dir in proto data util xcb lib app doc xserver driver font ; do
+ # See if $1 is a source directory like "lib":
+ if [ ! -z "$1" ]; then
+ if [ ! "$1" = "${x_source_dir}" ]; then
+ continue
+ fi
+ fi
+ PKG=${SLACK_X_BUILD_DIR}/package-${x_source_dir}
+ rm -rf $PKG
+ mkdir -p $PKG
+ ( cd $x_source_dir
+ for x_pkg in *.tar.?z* ; do
+ # Reset $PKGARCH to its initial value:
+ PKGARCH=$ARCH
+ PKGNAME=$(echo $x_pkg | rev | cut -f 2- -d - | rev)
+ # Perhaps $PKGARCH should be something different:
+ if grep -wq "^$PKGNAME" ${CWD}/noarch ; then
+ PKGARCH=noarch
+ fi
+ if grep -wq "^$PKGNAME" ${CWD}/package-blacklist ; then
+ continue
+ fi
+ cd $SLACK_X_BUILD_DIR
+ # If $2 is set, we only want to build one package:
+ if [ ! -z "$2" ]; then
+ if [ "$2" = "$PKGNAME" ]; then
+ # Set $PKG to a private dir for the modular package build:
+ PKG=$SLACK_X_BUILD_DIR/package-$PKGNAME
+ rm -rf $PKG
+ mkdir -p $PKG
+ else
+ continue
+ fi
+ else
+ echo
+ echo "Building from source ${x_pkg}"
+ echo
+ fi
+ if grep -wq "^$PKGNAME" ${CWD}/modularize ; then
+ # Set $PKG to a private dir for the modular package build:
+ PKG=$SLACK_X_BUILD_DIR/package-$PKGNAME
+ rm -rf $PKG
+ mkdir -p $PKG
+ fi
+
+ # Let's figure out the version number on the modular package:
+ MODULAR_PACKAGE_VERSION=$(echo $x_pkg | rev | cut -f 3- -d . | cut -f 1 -d - | rev)
+
+ rm -rf $(pkgbase $x_pkg)
+ tar xf $CWD/src/${x_source_dir}/${x_pkg} || exit 1
+ cd $(pkgbase $x_pkg) || exit 1
+
+ fix_perms
+
+ # If any patches are needed, call this script to apply them:
+ if [ -r $CWD/patch/${PKGNAME}.patch ]; then
+ . $CWD/patch/${PKGNAME}.patch
+ fi
+
+ # I heard somewhere that -O2 breaks some chipset or another. If you encounter
+ # problems, please contact volkerdi@slackware.com. Thanks! :-)
+
+ # ./configure, using custom configure script if needed:
+ if [ -r $CWD/configure/${PKGNAME} ]; then
+ . $CWD/configure/${PKGNAME}
+ else
+ # This is the default configure script:
+ . $CWD/configure/configure
+ fi
+
+ if ! make $NUMJOBS ; then
+ touch ${SLACK_X_BUILD_DIR}/${PKGNAME}.failed
+ continue
+ fi
+
+ make install DESTDIR=$PKG
+
+ mkdir -p $PKG/usr/doc/${PKGNAME}-${MODULAR_PACKAGE_VERSION}
+ cp -a \
+ AUTHORS* COPYING* INSTALL* README* NEWS* TODO* \
+ $PKG/usr/doc/${PKGNAME}-${MODULAR_PACKAGE_VERSION}
+
+ # If there's a ChangeLog, installing at least part of the recent history
+ # is useful, but don't let it get totally out of control:
+ if [ -r ChangeLog ]; then
+ DOCSDIR=$(echo $PKG/usr/doc/${PKGNAME}-$MODULAR_PACKAGE_VERSION)
+ cat ChangeLog | head -n 1000 > $DOCSDIR/ChangeLog
+ touch -r ChangeLog $DOCSDIR/ChangeLog
+ fi
+
+ # Get rid of zero-length junk files:
+ find $PKG/usr/doc/${PKGNAME}-$MODULAR_PACKAGE_VERSION -type f -size 0 -exec rm --verbose "{}" \;
+ rmdir --verbose $PKG/usr/doc/${PKGNAME}-$MODULAR_PACKAGE_VERSION 2> /dev/null
+
+ # Strip binaries:
+ ( cd $PKG
+ find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
+ find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
+ find . | xargs file | grep "current ar archive" | grep ELF | cut -f 1 -d : | xargs strip -g 2> /dev/null
+ )
+
+ # If there's any special post-install things to do, do them:
+ if [ -r $CWD/post-install/${PKGNAME}.post-install ]; then
+ RUNSCRIPT=$(mktemp -p $TMP) || exit 1
+ cat $CWD/post-install/${PKGNAME}.post-install \
+ | sed -e "s#usr/lib#usr/lib${LIBDIRSUFFIX}#g" > $RUNSCRIPT
+ . $RUNSCRIPT
+ rm -f $RUNSCRIPT
+ fi
+
+ # If this package requires some doinst.sh material, add it here:
+ if [ -r $CWD/doinst.sh/${PKGNAME} ]; then
+ mkdir -p $PKG/install
+ cat $CWD/doinst.sh/${PKGNAME} \
+ | sed -e "s#usr/lib#usr/lib${LIBDIRSUFFIX}#g" \
+ >> $PKG/install/doinst.sh
+ fi
+
+ # If this is a modular package, build it here:
+ if [ -d $SLACK_X_BUILD_DIR/package-$PKGNAME ]; then
+ cd $PKG
+ process_man_pages
+ process_info_pages
+ no_usr_share_doc
+ mkdir -p $PKG/install
+ if [ -r $CWD/slack-desc/${PKGNAME} ]; then
+ cat $CWD/slack-desc/${PKGNAME} > $PKG/install/slack-desc
+ else
+ touch $PKG/install/slack-desc-missing
+ fi
+ if [ -r $CWD/build/${PKGNAME} ]; then
+ MODBUILD=$(cat $CWD/build/${PKGNAME})
+ else
+ MODBUILD=$BUILD
+ fi
+ if [ -r $CWD/makepkg/${PKGNAME} ]; then
+ BUILD=$MODBUILD . $CWD/makepkg/${PKGNAME}
+ else
+ /sbin/makepkg -l y -c n ${SLACK_X_BUILD_DIR}/${PKGNAME}-${MODULAR_PACKAGE_VERSION}-${PKGARCH}-${MODBUILD}.txz
+ if [ "$UPGRADE_PACKAGES" = "yes" ]; then
+ /sbin/upgradepkg --install-new ${SLACK_X_BUILD_DIR}/${PKGNAME}-${MODULAR_PACKAGE_VERSION}-${PKGARCH}-${MODBUILD}.txz
+ fi
+ fi
+ fi
+
+ # Reset $PKG to assume we're building the whole source dir:
+ PKG=${SLACK_X_BUILD_DIR}/package-${x_source_dir}
+
+ done
+
+ # Nothing here? Must have been fully modular. :-)
+ if [ ! -d ${SLACK_X_BUILD_DIR}/package-${x_source_dir}/etc -a \
+ ! -d ${SLACK_X_BUILD_DIR}/package-${x_source_dir}/usr ]; then
+ continue
+ fi
+
+ # Build an "x11-<sourcedir>" package for anything that wasn't built modular:
+ # It's safer to consider these to have binaries in them. ;-)
+ PKGARCH=$ARCH
+ cd $PKG
+ process_man_pages
+ process_info_pages
+ no_usr_share_doc
+ # If there are post-install things to do for the combined package,
+ # we do them here. This could be used for things like making a
+ # VERSION number for a combined package. :-)
+ if [ -r $CWD/post-install/x11-${x_source_dir}.post-install ]; then
+ RUNSCRIPT=$(mktemp -p $TMP) || exit 1
+ cat $CWD/post-install/x11-${x_source_dir}.post-install \
+ | sed -e "s#usr/lib#usr/lib${LIBDIRSUFFIX}#g" > $RUNSCRIPT
+ . $RUNSCRIPT
+ rm -f $RUNSCRIPT
+ fi
+ mkdir -p $PKG/install
+ if [ -r $CWD/slack-desc/x11-${x_source_dir} ]; then
+ cat $CWD/slack-desc/x11-${x_source_dir} > $PKG/install/slack-desc
+ else
+ touch $PKG/install/slack-desc-missing
+ fi
+ if [ -r $CWD/doinst.sh/x11-${x_source_dir} ]; then
+ cat $CWD/doinst.sh/x11-${x_source_dir} \
+ | sed -e "s#usr/lib#usr/lib${LIBDIRSUFFIX}#g" \
+ >> $PKG/install/doinst.sh
+ fi
+ if [ -r $CWD/build/x11-${PKGNAME} ]; then
+ SRCDIRBUILD=$(cat $CWD/build/x11-${PKGNAME})
+ else
+ SRCDIRBUILD=$BUILD
+ fi
+ if [ -r $CWD/makepkg/${PKGNAME} ]; then
+ BUILD=$MODBUILD . $CWD/makepkg/${PKGNAME}
+ else
+ /sbin/makepkg -l y -c n ${SLACK_X_BUILD_DIR}/x11-${x_source_dir}-${VERSION}-${PKGARCH}-${SRCDIRBUILD}.txz
+ if [ "$UPGRADE_PACKAGES" = "yes" ]; then
+ /sbin/upgradepkg --install-new ${SLACK_X_BUILD_DIR}/x11-${x_source_dir}-${VERSION}-${PKGARCH}-${SRCDIRBUILD}.txz
+ fi
+ fi
+ )
+ done
+)
+
+exit 0
+
+# I don't think I'll be using the following stuff, since I went for the latest in
+# "individual", rather than a release. That was mostly because version 7.1 depends
+# on a version of Mesa that won't build against kernel headers this new (&etc.).
+
+# If environment variable "REFRESH" is exported, start by refreshing the source tree:
+# export REFRESH yes
+if [ ! -z "$REFRESH" ]; then
+ # Only works once, unless you uncomment above.
+ unset REFRESH
+ ( cd patches
+ lftp -c \
+ "lftp ftp://ftp.x.org:/pub/X11R7.1/patches
+ mirror --delete --dereference .
+ exit"
+ chmod 644 *
+ )
+ ( cd src
+ mkdir -p update everything
+ for dir in app data deprecated doc driver extras font lib proto util xserver ; do
+ # We won't really download "update", as problems ensue. Plus, --dereference is
+ # bringing us updated files when needed, so it's redundant (like "everything").
+ if [ ! -d $dir ]; then
+ mkdir $dir
+ fi
+ ( cd $dir
+ lftp -c \
+ "lftp ftp://ftp.x.org:/pub/X11R7.1/src/$dir
+ mirror -c --delete --dereference --include-glob "*.tar.bz2" .
+ exit"
+ chmod 644 *
+ )
+ done
+ )
+fi
+
diff --git a/patches/source/libXi/arch.use.flags b/patches/source/libXi/arch.use.flags
new file mode 100644
index 00000000..11087c88
--- /dev/null
+++ b/patches/source/libXi/arch.use.flags
@@ -0,0 +1,9 @@
+if [ "$ARCH" = "i486" ]; then
+ SLKCFLAGS="-O2 -march=i486 -mtune=i686"
+elif [ "$ARCH" = "i586" ]; then
+ SLKCFLAGS="-O2 -march=i586 -mtune=i686"
+elif [ "$ARCH" = "s390" ]; then
+ SLKCFLAGS="-O2"
+elif [ "$ARCH" = "x86_64" ]; then
+ SLKCFLAGS="-O2 -fPIC"
+fi
diff --git a/patches/source/libXi/build/libXi b/patches/source/libXi/build/libXi
new file mode 100644
index 00000000..1551cb6a
--- /dev/null
+++ b/patches/source/libXi/build/libXi
@@ -0,0 +1 @@
+1_slack13.0
diff --git a/patches/source/libXi/configure/configure b/patches/source/libXi/configure/configure
new file mode 100644
index 00000000..dcb1109b
--- /dev/null
+++ b/patches/source/libXi/configure/configure
@@ -0,0 +1,13 @@
+CFLAGS=$SLKCFLAGS \
+CXXFLAGS=$SLKCFLAGS \
+./configure \
+ --prefix=/usr \
+ --libdir=/usr/lib${LIBDIRSUFFIX} \
+ --sysconfdir=/etc \
+ --localstatedir=/var \
+ --infodir=/usr/info \
+ --mandir=/usr/man \
+ --docdir=/usr/doc/${PKGNAME}-${MODULAR_PACKAGE_VERSION} \
+ --with-udev-rules-dir=/lib/udev/rules.d \
+ --disable-static \
+ --build=$ARCH-slackware-linux
diff --git a/patches/source/libXi/libXi.SlackBuild b/patches/source/libXi/libXi.SlackBuild
new file mode 100755
index 00000000..eea1be6d
--- /dev/null
+++ b/patches/source/libXi/libXi.SlackBuild
@@ -0,0 +1,2 @@
+UPGRADE_PACKAGES=no ./x11.SlackBuild lib libXi
+mv /tmp/x11-build/libXi*txz /tmp
diff --git a/patches/source/libXi/modularize b/patches/source/libXi/modularize
new file mode 100644
index 00000000..8a28ed93
--- /dev/null
+++ b/patches/source/libXi/modularize
@@ -0,0 +1,279 @@
+# If a package is listed here, it will be built apart from the
+# usual "grab bag" package that's made from each source directory.
+
+appres
+bdftopcf
+beforelight
+bigreqsproto
+bitmap
+compiz
+compositeproto
+damageproto
+dmxproto
+dri2proto
+dri3proto
+editres
+encodings
+evieext
+fixesproto
+font-adobe-100dpi
+font-adobe-75dpi
+font-adobe-utopia-100dpi
+font-adobe-utopia-75dpi
+font-adobe-utopia-type1
+font-alias
+font-arabic-misc
+font-bh-100dpi
+font-bh-75dpi
+font-bh-lucidatypewriter-100dpi
+font-bh-lucidatypewriter-75dpi
+font-bh-ttf
+font-bh-type1
+font-bitstream-100dpi
+font-bitstream-75dpi
+font-bitstream-speedo
+font-bitstream-type1
+font-cronyx-cyrillic
+font-cursor-misc
+font-daewoo-misc
+font-dec-misc
+font-ibm-type1
+font-isas-misc
+font-jis-misc
+font-micro-misc
+font-misc-cyrillic
+font-misc-ethiopic
+font-misc-meltho
+font-misc-misc
+font-mutt-misc
+font-schumacher-misc
+font-screen-cyrillic
+font-sony-misc
+font-sun-misc
+font-util
+font-winitzki-cyrillic
+font-xfree86-type1
+fontcacheproto
+fontsproto
+fonttosfnt
+fslsfonts
+fstobdf
+gccmakedep
+glamor-egl
+glproto
+iceauth
+ico
+imake
+inputproto
+intel-gpu-tools
+kbproto
+libFS
+libICE
+libSM
+libX11
+libXScrnSaver
+libXau
+libXaw
+libXaw3d
+libXcm
+libXcomposite
+libXcursor
+libXdamage
+libXdmcp
+libXevie
+libXext
+libXfixes
+libXfont
+libXfontcache
+libXft
+libXi
+libXinerama
+libXmu
+libXp
+libXpm
+libXpresent
+libXrandr
+libXrender
+libXres
+libXt
+libXtst
+libXv
+libXvMC
+libXxf86dga
+libXxf86misc
+libXxf86vm
+libdmx
+libfontenc
+libpciaccess
+libpthread-stubs
+libxcb
+libxkbfile
+libxshmfence
+listres
+lndir
+luit
+makedepend
+mkcomposecache
+mkfontdir
+mkfontscale
+oclock
+pixman
+presentproto
+printproto
+randrproto
+recordproto
+rendercheck
+renderproto
+resourceproto
+rgb
+scrnsaverproto
+sessreg
+setxkbmap
+showfont
+smproxy
+transset
+twm
+util-macros
+videoproto
+viewres
+x11perf
+xauth
+xbacklight
+xbiff
+xbitmaps
+xcalc
+xcb-proto
+xcb-util
+xcb-util-cursor
+xcb-util-errors
+xcb-util-image
+xcb-util-keysyms
+xcb-util-renderutil
+xcb-util-wm
+xclipboard
+xclock
+xcm
+xcmiscproto
+xcmsdb
+xcompmgr
+xconsole
+xcursor-themes
+xcursorgen
+xdbedizzy
+xditview
+xdm
+xdpyinfo
+xdriinfo
+xedit
+xev
+xextproto
+xeyes
+xf86-input-acecad
+xf86-input-aiptek
+xf86-input-evdev
+xf86-input-joystick
+xf86-input-keyboard
+xf86-input-mouse
+xf86-input-penmount
+xf86-input-synaptics
+xf86-input-vmmouse
+xf86-input-void
+xf86-input-wacom
+xf86-video-amdgpu
+xf86-video-apm
+xf86-video-ark
+xf86-video-ast
+xf86-video-ati
+xf86-video-chips
+xf86-video-cirrus
+xf86-video-dummy
+xf86-video-geode
+xf86-video-glint
+xf86-video-i128
+xf86-video-i740
+xf86-video-intel
+xf86-video-mach64
+xf86-video-mga
+xf86-video-modesetting
+xf86-video-neomagic
+xf86-video-nouveau
+xf86-video-nv
+xf86-video-omap
+xf86-video-openchrome
+xf86-video-qxl
+xf86-video-r128
+xf86-video-rendition
+xf86-video-s3
+xf86-video-s3virge
+xf86-video-savage
+xf86-video-siliconmotion
+xf86-video-sis
+xf86-video-sisusb
+xf86-video-tdfx
+xf86-video-tga
+xf86-video-trident
+xf86-video-tseng
+xf86-video-v4l
+xf86-video-vesa
+xf86-video-vmware
+xf86-video-voodoo
+xf86-video-xgi
+xf86-video-xgixp
+xf86bigfontproto
+xf86dga
+xf86dgaproto
+xf86driproto
+xf86miscproto
+xf86vidmodeproto
+xfd
+xfontsel
+xfs
+xfsinfo
+xgamma
+xgc
+xhost
+xineramaproto
+xinit
+xinput
+xkbcomp
+xkbevd
+xkbprint
+xkbutils
+xkeyboard-config
+xkill
+xload
+xlogo
+xlsatoms
+xlsclients
+xlsfonts
+xmag
+xman
+xmessage
+xmh
+xmodmap
+xmore
+xorg-cf-files
+xorg-docs
+xorg-server
+xorg-server-xephyr
+xorg-server-xnest
+xorg-server-xvfb
+xorg-sgml-doctools
+xpr
+xprop
+xproto
+xpyb
+xrandr
+xrdb
+xrefresh
+xscope
+xset
+xsetroot
+xsm
+xstdcmap
+xtrans
+xvidtune
+xvinfo
+xwd
+xwininfo
+xwud
diff --git a/patches/source/libXi/noarch b/patches/source/libXi/noarch
new file mode 100644
index 00000000..8785ee52
--- /dev/null
+++ b/patches/source/libXi/noarch
@@ -0,0 +1,75 @@
+# List packages with an $ARCH of "noarch" (i.e. packages
+# that contain no binaries) here:
+bigreqsproto
+compositeproto
+damageproto
+dejavu-ttf
+dmxproto
+encodings
+evieext
+font-adobe-100dpi
+font-adobe-75dpi
+font-adobe-utopia-100dpi
+font-adobe-utopia-75dpi
+font-adobe-utopia-type1
+font-alias
+font-arabic-misc
+font-bh-100dpi
+font-bh-75dpi
+font-bh-lucidatypewriter-100dpi
+font-bh-lucidatypewriter-75dpi
+font-bh-ttf
+font-bh-type1
+font-bitstream-100dpi
+font-bitstream-75dpi
+font-bitstream-speedo
+font-bitstream-type1
+font-cronyx-cyrillic
+font-cursor-misc
+font-daewoo-misc
+font-dec-misc
+font-ibm-type1
+font-isas-misc
+font-jis-misc
+font-micro-misc
+font-misc-cyrillic
+font-misc-ethiopic
+font-misc-meltho
+font-misc-misc
+font-mutt-misc
+font-schumacher-misc
+font-screen-cyrillic
+font-sony-misc
+font-sun-misc
+font-winitzki-cyrillic
+font-xfree86-type1
+fontcacheproto
+fontsproto
+gccmakedep
+glproto
+inputproto
+kbproto
+libpthread-stubs
+mkfontdir
+printproto
+randrproto
+recordproto
+renderproto
+resourceproto
+scrnsaverproto
+ttf-indic-fonts
+util-macros
+videoproto
+x11-skel
+xcmiscproto
+xcursor-themes
+xf86bigfontproto
+xf86dgaproto
+xf86driproto
+xf86miscproto
+xf86vidmodeproto
+xineramaproto
+xkeyboard-config
+xorg-docs
+xproto
+xtrans
diff --git a/patches/source/libXi/package-blacklist b/patches/source/libXi/package-blacklist
new file mode 100644
index 00000000..603b8c31
--- /dev/null
+++ b/patches/source/libXi/package-blacklist
@@ -0,0 +1,44 @@
+# Enter packages to skip (perhaps because they aren't used on
+# this platform) below. Just the package name -- no version
+# number is needed.
+
+# ARM only packages:
+# They also say in the README for this one that it is not yet ready:
+xf86-video-omap
+
+# MacOS related packages:
+applewmproto
+windowswmproto
+libAppleWM
+libWindowsWM
+
+# Sun video cards:
+xf86-video-sunbw2
+xf86-video-suncg14
+xf86-video-suncg3
+xf86-video-suncg6
+xf86-video-sunffb
+xf86-video-sunleo
+xf86-video-suntcx
+
+# Obsolete packages:
+liboldX
+xf86-video-amd
+xf86-video-via
+xkbdata
+xphelloworld
+xrx
+xf86-video-modesetting
+
+# Not applicable to us
+grandr
+constype
+
+# CAREFUL NOT TO "SHIP" THE STUFF BELOW IN THE MAIN X PACKAGES DIR!
+
+# This is probably obsolete, and kills "X -configure" too
+xf86-video-nsc
+
+# We don't want this one, as it causes failure of X with no xorg.conf
+xf86-video-fbdev
+
diff --git a/patches/source/libXi/slack-desc/libXi b/patches/source/libXi/slack-desc/libXi
new file mode 100644
index 00000000..4585f82e
--- /dev/null
+++ b/patches/source/libXi/slack-desc/libXi
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|'
+# on the right side marks the last column you can put a character in. You must
+# make exactly 11 lines for the formatting to be correct. It's also
+# customary to leave one space after the ':'.
+
+ |-----handy-ruler------------------------------------------------------|
+libXi: libXi (library for the X Input Extension)
+libXi:
+libXi: libXi is part of X11.
+libXi:
+libXi: For more information about the X.Org Foundation (the providers of the
+libXi: X.Org implementation of the X Window System), see their website:
+libXi:
+libXi: http://www.x.org
+libXi:
+libXi:
+libXi:
diff --git a/patches/source/libXi/slack-desc/libXinerama b/patches/source/libXi/slack-desc/libXinerama
new file mode 100644
index 00000000..3b16b81f
--- /dev/null
+++ b/patches/source/libXi/slack-desc/libXinerama
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|'
+# on the right side marks the last column you can put a character in. You must
+# make exactly 11 lines for the formatting to be correct. It's also
+# customary to leave one space after the ':'.
+
+ |-----handy-ruler------------------------------------------------------|
+libXinerama: libXinerama (library for Xinerama extension to X11 Protocol)
+libXinerama:
+libXinerama: libXinerama is part of X11.
+libXinerama:
+libXinerama: For more information about the X.Org Foundation (the providers of the
+libXinerama: X.Org implementation of the X Window System), see their website:
+libXinerama:
+libXinerama: http://www.x.org
+libXinerama:
+libXinerama:
+libXinerama:
diff --git a/patches/source/libXi/x11.SlackBuild b/patches/source/libXi/x11.SlackBuild
new file mode 100755
index 00000000..c3887dff
--- /dev/null
+++ b/patches/source/libXi/x11.SlackBuild
@@ -0,0 +1,381 @@
+#!/bin/sh
+# Copyright 2007-2014 Patrick J. Volkerding, Sebeka, MN, USA
+# All rights reserved.
+#
+# Redistribution and use of this script, with or without modification, is
+# permitted provided that the following conditions are met:
+#
+# 1. Redistributions of this script must retain the above copyright
+# notice, this list of conditions and the following disclaimer.
+#
+# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED
+# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
+# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
+# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+# To build only a single package group, specify it as $1, like:
+# ./x11.SlackBuild lib
+# To build only a single package, specify both the source directory
+# and the name of the package, like:
+# ./x11.SlackBuild lib libX11
+
+# Upgrade packages as they are built.
+# Default is to upgrade new packages (UPGRADE_PACKAGES=yes).
+# To install ALL newly built packages (even if they are already installed),
+# use UPGRADE_PACKAGES=always
+# To not upgrade, pass UPGRADE_PACKAGES=no
+UPGRADE_PACKAGES=${UPGRADE_PACKAGES:-yes}
+
+pkgbase() {
+ PKGEXT=$(echo $1 | rev | cut -f 1 -d . | rev)
+ case $PKGEXT in
+ 'gz' )
+ PKGRETURN=$(basename $1 .tar.gz)
+ ;;
+ 'bz2' )
+ PKGRETURN=$(basename $1 .tar.bz2)
+ ;;
+ 'lzma' )
+ PKGRETURN=$(basename $1 .tar.lzma)
+ ;;
+ 'xz' )
+ PKGRETURN=$(basename $1 .tar.xz)
+ ;;
+ *)
+ PKGRETURN=$(basename $1)
+ ;;
+ esac
+ echo $PKGRETURN
+}
+
+# Set initial variables:
+CWD=$(pwd)
+TMP=${TMP:-/tmp}
+
+# Automatically determine the architecture we're building on:
+if [ -z "$ARCH" ]; then
+ case "$( uname -m )" in
+ i?86) export ARCH=i486 ;;
+ arm*) export ARCH=arm ;;
+ # Unless $ARCH is already set, use uname -m for all other archs:
+ *) export ARCH=$( uname -m ) ;;
+ esac
+fi
+
+# A lot of this stuff just controls the package names this time:
+VERSION=${VERSION:-7.5}
+BUILD=${BUILD:-1}
+PKGARCH=$ARCH
+NUMJOBS=${NUMJOBS:-" -j7 "}
+
+if [ "$ARCH" = "x86_64" ]; then
+ LIBDIRSUFFIX="64"
+else
+ LIBDIRSUFFIX=""
+fi
+
+# Set up a few useful functions:
+
+fix_perms() {
+ chown -R root:root .
+ find . \
+ \( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \
+ -exec chmod 755 {} \; -o \
+ \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \
+ -exec chmod 644 {} \;
+}
+
+process_man_pages() {
+ # Compress and if needed symlink the man pages:
+ if [ -d usr/man ]; then
+ ( cd usr/man
+ for manpagedir in $(find . -type d -name "man*") ; do
+ ( cd $manpagedir
+ for eachpage in $( find . -type l -maxdepth 1) ; do
+ ln -s $( readlink $eachpage ).gz $eachpage.gz
+ rm $eachpage
+ done
+ gzip -9 *.*
+ )
+ done
+ )
+ fi
+}
+
+process_info_pages() {
+ # Compress info pages and purge "dir" file from the package:
+ if [ -d usr/info ]; then
+ ( cd usr/info
+ rm -f dir
+ gzip -9 *
+ )
+ fi
+}
+
+no_usr_share_doc() {
+ # If there are docs, move them:
+ if [ -d usr/share/doc ]; then
+ mkdir -p usr/doc
+ mv usr/share/doc/* usr/doc
+ rmdir usr/share/doc
+ fi
+}
+
+# Set the compile options for the $ARCH being used:
+. $CWD/arch.use.flags
+
+SLACK_X_BUILD_DIR=$TMP/x11-build
+mkdir -p $SLACK_X_BUILD_DIR
+
+# Better have some binaries installed first, as this may not be
+# in the "magic order". I built mine by hand through trial-and-error
+# before getting this script to work. It wasn't that hard... I think. ;-)
+( cd src
+ for x_source_dir in proto data util xcb lib app doc xserver driver font ; do
+ # See if $1 is a source directory like "lib":
+ if [ ! -z "$1" ]; then
+ if [ ! "$1" = "${x_source_dir}" ]; then
+ continue
+ fi
+ fi
+ PKG=${SLACK_X_BUILD_DIR}/package-${x_source_dir}
+ rm -rf $PKG
+ mkdir -p $PKG
+ ( cd $x_source_dir
+ for x_pkg in *.tar.?z* ; do
+ # Reset $PKGARCH to its initial value:
+ PKGARCH=$ARCH
+ PKGNAME=$(echo $x_pkg | rev | cut -f 2- -d - | rev)
+ # Perhaps $PKGARCH should be something different:
+ if grep -wq "^$PKGNAME" ${CWD}/noarch ; then
+ PKGARCH=noarch
+ fi
+ if grep -wq "^$PKGNAME" ${CWD}/package-blacklist ; then
+ continue
+ fi
+ cd $SLACK_X_BUILD_DIR
+ # If $2 is set, we only want to build one package:
+ if [ ! -z "$2" ]; then
+ if [ "$2" = "$PKGNAME" ]; then
+ # Set $PKG to a private dir for the modular package build:
+ PKG=$SLACK_X_BUILD_DIR/package-$PKGNAME
+ rm -rf $PKG
+ mkdir -p $PKG
+ else
+ continue
+ fi
+ else
+ echo
+ echo "Building from source ${x_pkg}"
+ echo
+ fi
+ if grep -wq "^$PKGNAME" ${CWD}/modularize ; then
+ # Set $PKG to a private dir for the modular package build:
+ PKG=$SLACK_X_BUILD_DIR/package-$PKGNAME
+ rm -rf $PKG
+ mkdir -p $PKG
+ fi
+
+ # Let's figure out the version number on the modular package:
+ MODULAR_PACKAGE_VERSION=$(echo $x_pkg | rev | cut -f 3- -d . | cut -f 1 -d - | rev)
+
+ rm -rf $(pkgbase $x_pkg)
+ tar xf $CWD/src/${x_source_dir}/${x_pkg} || exit 1
+ cd $(pkgbase $x_pkg) || exit 1
+
+ fix_perms
+
+ # If any patches are needed, call this script to apply them:
+ if [ -r $CWD/patch/${PKGNAME}.patch ]; then
+ . $CWD/patch/${PKGNAME}.patch
+ fi
+
+ # I heard somewhere that -O2 breaks some chipset or another. If you encounter
+ # problems, please contact volkerdi@slackware.com. Thanks! :-)
+
+ # ./configure, using custom configure script if needed:
+ if [ -r $CWD/configure/${PKGNAME} ]; then
+ . $CWD/configure/${PKGNAME}
+ else
+ # This is the default configure script:
+ . $CWD/configure/configure
+ fi
+
+ if ! make $NUMJOBS ; then
+ touch ${SLACK_X_BUILD_DIR}/${PKGNAME}.failed
+ continue
+ fi
+
+ make install DESTDIR=$PKG
+
+ mkdir -p $PKG/usr/doc/${PKGNAME}-${MODULAR_PACKAGE_VERSION}
+ cp -a \
+ AUTHORS* COPYING* INSTALL* README* NEWS* TODO* \
+ $PKG/usr/doc/${PKGNAME}-${MODULAR_PACKAGE_VERSION}
+
+ # If there's a ChangeLog, installing at least part of the recent history
+ # is useful, but don't let it get totally out of control:
+ if [ -r ChangeLog ]; then
+ DOCSDIR=$(echo $PKG/usr/doc/${PKGNAME}-$MODULAR_PACKAGE_VERSION)
+ cat ChangeLog | head -n 1000 > $DOCSDIR/ChangeLog
+ touch -r ChangeLog $DOCSDIR/ChangeLog
+ fi
+
+ # Get rid of zero-length junk files:
+ find $PKG/usr/doc/${PKGNAME}-$MODULAR_PACKAGE_VERSION -type f -size 0 -exec rm --verbose "{}" \;
+ rmdir --verbose $PKG/usr/doc/${PKGNAME}-$MODULAR_PACKAGE_VERSION 2> /dev/null
+
+ # Strip binaries:
+ ( cd $PKG
+ find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
+ find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
+ find . | xargs file | grep "current ar archive" | grep ELF | cut -f 1 -d : | xargs strip -g 2> /dev/null
+ )
+
+ # If there's any special post-install things to do, do them:
+ if [ -r $CWD/post-install/${PKGNAME}.post-install ]; then
+ RUNSCRIPT=$(mktemp -p $TMP) || exit 1
+ cat $CWD/post-install/${PKGNAME}.post-install \
+ | sed -e "s#usr/lib#usr/lib${LIBDIRSUFFIX}#g" > $RUNSCRIPT
+ . $RUNSCRIPT
+ rm -f $RUNSCRIPT
+ fi
+
+ # If this package requires some doinst.sh material, add it here:
+ if [ -r $CWD/doinst.sh/${PKGNAME} ]; then
+ mkdir -p $PKG/install
+ cat $CWD/doinst.sh/${PKGNAME} \
+ | sed -e "s#usr/lib#usr/lib${LIBDIRSUFFIX}#g" \
+ >> $PKG/install/doinst.sh
+ fi
+
+ # If this is a modular package, build it here:
+ if [ -d $SLACK_X_BUILD_DIR/package-$PKGNAME ]; then
+ cd $PKG
+ process_man_pages
+ process_info_pages
+ no_usr_share_doc
+ mkdir -p $PKG/install
+ if [ -r $CWD/slack-desc/${PKGNAME} ]; then
+ cat $CWD/slack-desc/${PKGNAME} > $PKG/install/slack-desc
+ else
+ touch $PKG/install/slack-desc-missing
+ fi
+ if [ -r $CWD/build/${PKGNAME} ]; then
+ MODBUILD=$(cat $CWD/build/${PKGNAME})
+ else
+ MODBUILD=$BUILD
+ fi
+ if [ -r $CWD/makepkg/${PKGNAME} ]; then
+ BUILD=$MODBUILD . $CWD/makepkg/${PKGNAME}
+ else
+ /sbin/makepkg -l y -c n ${SLACK_X_BUILD_DIR}/${PKGNAME}-${MODULAR_PACKAGE_VERSION}-${PKGARCH}-${MODBUILD}.txz
+ if [ "$UPGRADE_PACKAGES" = "yes" ]; then
+ /sbin/upgradepkg --install-new ${SLACK_X_BUILD_DIR}/${PKGNAME}-${MODULAR_PACKAGE_VERSION}-${PKGARCH}-${MODBUILD}.txz
+ elif [ "$UPGRADE_PACKAGES" = "always" ]; then
+ /sbin/upgradepkg --install-new --reinstall ${SLACK_X_BUILD_DIR}/${PKGNAME}-${MODULAR_PACKAGE_VERSION}-${PKGARCH}-${MODBUILD}.txz
+ fi
+ fi
+ fi
+
+ # Reset $PKG to assume we're building the whole source dir:
+ PKG=${SLACK_X_BUILD_DIR}/package-${x_source_dir}
+
+ done
+
+ # Nothing here? Must have been fully modular. :-)
+ if [ ! -d ${SLACK_X_BUILD_DIR}/package-${x_source_dir}/etc -a \
+ ! -d ${SLACK_X_BUILD_DIR}/package-${x_source_dir}/usr ]; then
+ continue
+ fi
+
+ # Build an "x11-<sourcedir>" package for anything that wasn't built modular:
+ # It's safer to consider these to have binaries in them. ;-)
+ PKGARCH=$ARCH
+ cd $PKG
+ process_man_pages
+ process_info_pages
+ no_usr_share_doc
+ # If there are post-install things to do for the combined package,
+ # we do them here. This could be used for things like making a
+ # VERSION number for a combined package. :-)
+ if [ -r $CWD/post-install/x11-${x_source_dir}.post-install ]; then
+ RUNSCRIPT=$(mktemp -p $TMP) || exit 1
+ cat $CWD/post-install/x11-${x_source_dir}.post-install \
+ | sed -e "s#usr/lib#usr/lib${LIBDIRSUFFIX}#g" > $RUNSCRIPT
+ . $RUNSCRIPT
+ rm -f $RUNSCRIPT
+ fi
+ mkdir -p $PKG/install
+ if [ -r $CWD/slack-desc/x11-${x_source_dir} ]; then
+ cat $CWD/slack-desc/x11-${x_source_dir} > $PKG/install/slack-desc
+ else
+ touch $PKG/install/slack-desc-missing
+ fi
+ if [ -r $CWD/doinst.sh/x11-${x_source_dir} ]; then
+ cat $CWD/doinst.sh/x11-${x_source_dir} \
+ | sed -e "s#usr/lib#usr/lib${LIBDIRSUFFIX}#g" \
+ >> $PKG/install/doinst.sh
+ fi
+ if [ -r $CWD/build/x11-${PKGNAME} ]; then
+ SRCDIRBUILD=$(cat $CWD/build/x11-${PKGNAME})
+ else
+ SRCDIRBUILD=$BUILD
+ fi
+ if [ -r $CWD/makepkg/${PKGNAME} ]; then
+ BUILD=$MODBUILD . $CWD/makepkg/${PKGNAME}
+ else
+ /sbin/makepkg -l y -c n ${SLACK_X_BUILD_DIR}/x11-${x_source_dir}-${VERSION}-${PKGARCH}-${SRCDIRBUILD}.txz
+ if [ "$UPGRADE_PACKAGES" = "yes" ]; then
+ /sbin/upgradepkg --install-new ${SLACK_X_BUILD_DIR}/x11-${x_source_dir}-${VERSION}-${PKGARCH}-${SRCDIRBUILD}.txz
+ elif [ "$UPGRADE_PACKAGES" = "always" ]; then
+ /sbin/upgradepkg --install-new --reinstall ${SLACK_X_BUILD_DIR}/x11-${x_source_dir}-${VERSION}-${PKGARCH}-${SRCDIRBUILD}.txz
+ fi
+ fi
+ )
+ done
+)
+
+exit 0
+
+# I don't think I'll be using the following stuff, since I went for the latest in
+# "individual", rather than a release. That was mostly because version 7.1 depends
+# on a version of Mesa that won't build against kernel headers this new (&etc.).
+
+# If environment variable "REFRESH" is exported, start by refreshing the source tree:
+# export REFRESH yes
+if [ ! -z "$REFRESH" ]; then
+ # Only works once, unless you uncomment above.
+ unset REFRESH
+ ( cd patches
+ lftp -c \
+ "lftp ftp://ftp.x.org:/pub/X11R7.1/patches
+ mirror --delete --dereference .
+ exit"
+ chmod 644 *
+ )
+ ( cd src
+ mkdir -p update everything
+ for dir in app data deprecated doc driver extras font lib proto util xserver ; do
+ # We won't really download "update", as problems ensue. Plus, --dereference is
+ # bringing us updated files when needed, so it's redundant (like "everything").
+ if [ ! -d $dir ]; then
+ mkdir $dir
+ fi
+ ( cd $dir
+ lftp -c \
+ "lftp ftp://ftp.x.org:/pub/X11R7.1/src/$dir
+ mirror -c --delete --dereference --include-glob "*.tar.bz2" .
+ exit"
+ chmod 644 *
+ )
+ done
+ )
+fi
+
diff --git a/patches/source/libXrandr/arch.use.flags b/patches/source/libXrandr/arch.use.flags
new file mode 100644
index 00000000..11087c88
--- /dev/null
+++ b/patches/source/libXrandr/arch.use.flags
@@ -0,0 +1,9 @@
+if [ "$ARCH" = "i486" ]; then
+ SLKCFLAGS="-O2 -march=i486 -mtune=i686"
+elif [ "$ARCH" = "i586" ]; then
+ SLKCFLAGS="-O2 -march=i586 -mtune=i686"
+elif [ "$ARCH" = "s390" ]; then
+ SLKCFLAGS="-O2"
+elif [ "$ARCH" = "x86_64" ]; then
+ SLKCFLAGS="-O2 -fPIC"
+fi
diff --git a/patches/source/libXrandr/build/libXrandr b/patches/source/libXrandr/build/libXrandr
new file mode 100644
index 00000000..1551cb6a
--- /dev/null
+++ b/patches/source/libXrandr/build/libXrandr
@@ -0,0 +1 @@
+1_slack13.0
diff --git a/patches/source/libXrandr/configure/configure b/patches/source/libXrandr/configure/configure
new file mode 100644
index 00000000..dcb1109b
--- /dev/null
+++ b/patches/source/libXrandr/configure/configure
@@ -0,0 +1,13 @@
+CFLAGS=$SLKCFLAGS \
+CXXFLAGS=$SLKCFLAGS \
+./configure \
+ --prefix=/usr \
+ --libdir=/usr/lib${LIBDIRSUFFIX} \
+ --sysconfdir=/etc \
+ --localstatedir=/var \
+ --infodir=/usr/info \
+ --mandir=/usr/man \
+ --docdir=/usr/doc/${PKGNAME}-${MODULAR_PACKAGE_VERSION} \
+ --with-udev-rules-dir=/lib/udev/rules.d \
+ --disable-static \
+ --build=$ARCH-slackware-linux
diff --git a/patches/source/libXrandr/libXrandr.SlackBuild b/patches/source/libXrandr/libXrandr.SlackBuild
new file mode 100755
index 00000000..8bc75df3
--- /dev/null
+++ b/patches/source/libXrandr/libXrandr.SlackBuild
@@ -0,0 +1,2 @@
+UPGRADE_PACKAGES=no ./x11.SlackBuild lib libXrandr
+mv /tmp/x11-build/libXrandr*txz /tmp
diff --git a/patches/source/libXrandr/modularize b/patches/source/libXrandr/modularize
new file mode 100644
index 00000000..8a28ed93
--- /dev/null
+++ b/patches/source/libXrandr/modularize
@@ -0,0 +1,279 @@
+# If a package is listed here, it will be built apart from the
+# usual "grab bag" package that's made from each source directory.
+
+appres
+bdftopcf
+beforelight
+bigreqsproto
+bitmap
+compiz
+compositeproto
+damageproto
+dmxproto
+dri2proto
+dri3proto
+editres
+encodings
+evieext
+fixesproto
+font-adobe-100dpi
+font-adobe-75dpi
+font-adobe-utopia-100dpi
+font-adobe-utopia-75dpi
+font-adobe-utopia-type1
+font-alias
+font-arabic-misc
+font-bh-100dpi
+font-bh-75dpi
+font-bh-lucidatypewriter-100dpi
+font-bh-lucidatypewriter-75dpi
+font-bh-ttf
+font-bh-type1
+font-bitstream-100dpi
+font-bitstream-75dpi
+font-bitstream-speedo
+font-bitstream-type1
+font-cronyx-cyrillic
+font-cursor-misc
+font-daewoo-misc
+font-dec-misc
+font-ibm-type1
+font-isas-misc
+font-jis-misc
+font-micro-misc
+font-misc-cyrillic
+font-misc-ethiopic
+font-misc-meltho
+font-misc-misc
+font-mutt-misc
+font-schumacher-misc
+font-screen-cyrillic
+font-sony-misc
+font-sun-misc
+font-util
+font-winitzki-cyrillic
+font-xfree86-type1
+fontcacheproto
+fontsproto
+fonttosfnt
+fslsfonts
+fstobdf
+gccmakedep
+glamor-egl
+glproto
+iceauth
+ico
+imake
+inputproto
+intel-gpu-tools
+kbproto
+libFS
+libICE
+libSM
+libX11
+libXScrnSaver
+libXau
+libXaw
+libXaw3d
+libXcm
+libXcomposite
+libXcursor
+libXdamage
+libXdmcp
+libXevie
+libXext
+libXfixes
+libXfont
+libXfontcache
+libXft
+libXi
+libXinerama
+libXmu
+libXp
+libXpm
+libXpresent
+libXrandr
+libXrender
+libXres
+libXt
+libXtst
+libXv
+libXvMC
+libXxf86dga
+libXxf86misc
+libXxf86vm
+libdmx
+libfontenc
+libpciaccess
+libpthread-stubs
+libxcb
+libxkbfile
+libxshmfence
+listres
+lndir
+luit
+makedepend
+mkcomposecache
+mkfontdir
+mkfontscale
+oclock
+pixman
+presentproto
+printproto
+randrproto
+recordproto
+rendercheck
+renderproto
+resourceproto
+rgb
+scrnsaverproto
+sessreg
+setxkbmap
+showfont
+smproxy
+transset
+twm
+util-macros
+videoproto
+viewres
+x11perf
+xauth
+xbacklight
+xbiff
+xbitmaps
+xcalc
+xcb-proto
+xcb-util
+xcb-util-cursor
+xcb-util-errors
+xcb-util-image
+xcb-util-keysyms
+xcb-util-renderutil
+xcb-util-wm
+xclipboard
+xclock
+xcm
+xcmiscproto
+xcmsdb
+xcompmgr
+xconsole
+xcursor-themes
+xcursorgen
+xdbedizzy
+xditview
+xdm
+xdpyinfo
+xdriinfo
+xedit
+xev
+xextproto
+xeyes
+xf86-input-acecad
+xf86-input-aiptek
+xf86-input-evdev
+xf86-input-joystick
+xf86-input-keyboard
+xf86-input-mouse
+xf86-input-penmount
+xf86-input-synaptics
+xf86-input-vmmouse
+xf86-input-void
+xf86-input-wacom
+xf86-video-amdgpu
+xf86-video-apm
+xf86-video-ark
+xf86-video-ast
+xf86-video-ati
+xf86-video-chips
+xf86-video-cirrus
+xf86-video-dummy
+xf86-video-geode
+xf86-video-glint
+xf86-video-i128
+xf86-video-i740
+xf86-video-intel
+xf86-video-mach64
+xf86-video-mga
+xf86-video-modesetting
+xf86-video-neomagic
+xf86-video-nouveau
+xf86-video-nv
+xf86-video-omap
+xf86-video-openchrome
+xf86-video-qxl
+xf86-video-r128
+xf86-video-rendition
+xf86-video-s3
+xf86-video-s3virge
+xf86-video-savage
+xf86-video-siliconmotion
+xf86-video-sis
+xf86-video-sisusb
+xf86-video-tdfx
+xf86-video-tga
+xf86-video-trident
+xf86-video-tseng
+xf86-video-v4l
+xf86-video-vesa
+xf86-video-vmware
+xf86-video-voodoo
+xf86-video-xgi
+xf86-video-xgixp
+xf86bigfontproto
+xf86dga
+xf86dgaproto
+xf86driproto
+xf86miscproto
+xf86vidmodeproto
+xfd
+xfontsel
+xfs
+xfsinfo
+xgamma
+xgc
+xhost
+xineramaproto
+xinit
+xinput
+xkbcomp
+xkbevd
+xkbprint
+xkbutils
+xkeyboard-config
+xkill
+xload
+xlogo
+xlsatoms
+xlsclients
+xlsfonts
+xmag
+xman
+xmessage
+xmh
+xmodmap
+xmore
+xorg-cf-files
+xorg-docs
+xorg-server
+xorg-server-xephyr
+xorg-server-xnest
+xorg-server-xvfb
+xorg-sgml-doctools
+xpr
+xprop
+xproto
+xpyb
+xrandr
+xrdb
+xrefresh
+xscope
+xset
+xsetroot
+xsm
+xstdcmap
+xtrans
+xvidtune
+xvinfo
+xwd
+xwininfo
+xwud
diff --git a/patches/source/libXrandr/noarch b/patches/source/libXrandr/noarch
new file mode 100644
index 00000000..8785ee52
--- /dev/null
+++ b/patches/source/libXrandr/noarch
@@ -0,0 +1,75 @@
+# List packages with an $ARCH of "noarch" (i.e. packages
+# that contain no binaries) here:
+bigreqsproto
+compositeproto
+damageproto
+dejavu-ttf
+dmxproto
+encodings
+evieext
+font-adobe-100dpi
+font-adobe-75dpi
+font-adobe-utopia-100dpi
+font-adobe-utopia-75dpi
+font-adobe-utopia-type1
+font-alias
+font-arabic-misc
+font-bh-100dpi
+font-bh-75dpi
+font-bh-lucidatypewriter-100dpi
+font-bh-lucidatypewriter-75dpi
+font-bh-ttf
+font-bh-type1
+font-bitstream-100dpi
+font-bitstream-75dpi
+font-bitstream-speedo
+font-bitstream-type1
+font-cronyx-cyrillic
+font-cursor-misc
+font-daewoo-misc
+font-dec-misc
+font-ibm-type1
+font-isas-misc
+font-jis-misc
+font-micro-misc
+font-misc-cyrillic
+font-misc-ethiopic
+font-misc-meltho
+font-misc-misc
+font-mutt-misc
+font-schumacher-misc
+font-screen-cyrillic
+font-sony-misc
+font-sun-misc
+font-winitzki-cyrillic
+font-xfree86-type1
+fontcacheproto
+fontsproto
+gccmakedep
+glproto
+inputproto
+kbproto
+libpthread-stubs
+mkfontdir
+printproto
+randrproto
+recordproto
+renderproto
+resourceproto
+scrnsaverproto
+ttf-indic-fonts
+util-macros
+videoproto
+x11-skel
+xcmiscproto
+xcursor-themes
+xf86bigfontproto
+xf86dgaproto
+xf86driproto
+xf86miscproto
+xf86vidmodeproto
+xineramaproto
+xkeyboard-config
+xorg-docs
+xproto
+xtrans
diff --git a/patches/source/libXrandr/package-blacklist b/patches/source/libXrandr/package-blacklist
new file mode 100644
index 00000000..603b8c31
--- /dev/null
+++ b/patches/source/libXrandr/package-blacklist
@@ -0,0 +1,44 @@
+# Enter packages to skip (perhaps because they aren't used on
+# this platform) below. Just the package name -- no version
+# number is needed.
+
+# ARM only packages:
+# They also say in the README for this one that it is not yet ready:
+xf86-video-omap
+
+# MacOS related packages:
+applewmproto
+windowswmproto
+libAppleWM
+libWindowsWM
+
+# Sun video cards:
+xf86-video-sunbw2
+xf86-video-suncg14
+xf86-video-suncg3
+xf86-video-suncg6
+xf86-video-sunffb
+xf86-video-sunleo
+xf86-video-suntcx
+
+# Obsolete packages:
+liboldX
+xf86-video-amd
+xf86-video-via
+xkbdata
+xphelloworld
+xrx
+xf86-video-modesetting
+
+# Not applicable to us
+grandr
+constype
+
+# CAREFUL NOT TO "SHIP" THE STUFF BELOW IN THE MAIN X PACKAGES DIR!
+
+# This is probably obsolete, and kills "X -configure" too
+xf86-video-nsc
+
+# We don't want this one, as it causes failure of X with no xorg.conf
+xf86-video-fbdev
+
diff --git a/patches/source/libXrandr/slack-desc/libXrandr b/patches/source/libXrandr/slack-desc/libXrandr
new file mode 100644
index 00000000..ad2e243b
--- /dev/null
+++ b/patches/source/libXrandr/slack-desc/libXrandr
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|'
+# on the right side marks the last column you can put a character in. You must
+# make exactly 11 lines for the formatting to be correct. It's also
+# customary to leave one space after the ':'.
+
+ |-----handy-ruler------------------------------------------------------|
+libXrandr: libXrandr (X Resize, Rotate and Reflection extension library)
+libXrandr:
+libXrandr: libXrandr is part of X11.
+libXrandr:
+libXrandr: For more information about the X.Org Foundation (the providers of the
+libXrandr: X.Org implementation of the X Window System), see their website:
+libXrandr:
+libXrandr: http://www.x.org
+libXrandr:
+libXrandr:
+libXrandr:
diff --git a/patches/source/libXrandr/x11.SlackBuild b/patches/source/libXrandr/x11.SlackBuild
new file mode 100755
index 00000000..c3887dff
--- /dev/null
+++ b/patches/source/libXrandr/x11.SlackBuild
@@ -0,0 +1,381 @@
+#!/bin/sh
+# Copyright 2007-2014 Patrick J. Volkerding, Sebeka, MN, USA
+# All rights reserved.
+#
+# Redistribution and use of this script, with or without modification, is
+# permitted provided that the following conditions are met:
+#
+# 1. Redistributions of this script must retain the above copyright
+# notice, this list of conditions and the following disclaimer.
+#
+# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED
+# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
+# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
+# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+# To build only a single package group, specify it as $1, like:
+# ./x11.SlackBuild lib
+# To build only a single package, specify both the source directory
+# and the name of the package, like:
+# ./x11.SlackBuild lib libX11
+
+# Upgrade packages as they are built.
+# Default is to upgrade new packages (UPGRADE_PACKAGES=yes).
+# To install ALL newly built packages (even if they are already installed),
+# use UPGRADE_PACKAGES=always
+# To not upgrade, pass UPGRADE_PACKAGES=no
+UPGRADE_PACKAGES=${UPGRADE_PACKAGES:-yes}
+
+pkgbase() {
+ PKGEXT=$(echo $1 | rev | cut -f 1 -d . | rev)
+ case $PKGEXT in
+ 'gz' )
+ PKGRETURN=$(basename $1 .tar.gz)
+ ;;
+ 'bz2' )
+ PKGRETURN=$(basename $1 .tar.bz2)
+ ;;
+ 'lzma' )
+ PKGRETURN=$(basename $1 .tar.lzma)
+ ;;
+ 'xz' )
+ PKGRETURN=$(basename $1 .tar.xz)
+ ;;
+ *)
+ PKGRETURN=$(basename $1)
+ ;;
+ esac
+ echo $PKGRETURN
+}
+
+# Set initial variables:
+CWD=$(pwd)
+TMP=${TMP:-/tmp}
+
+# Automatically determine the architecture we're building on:
+if [ -z "$ARCH" ]; then
+ case "$( uname -m )" in
+ i?86) export ARCH=i486 ;;
+ arm*) export ARCH=arm ;;
+ # Unless $ARCH is already set, use uname -m for all other archs:
+ *) export ARCH=$( uname -m ) ;;
+ esac
+fi
+
+# A lot of this stuff just controls the package names this time:
+VERSION=${VERSION:-7.5}
+BUILD=${BUILD:-1}
+PKGARCH=$ARCH
+NUMJOBS=${NUMJOBS:-" -j7 "}
+
+if [ "$ARCH" = "x86_64" ]; then
+ LIBDIRSUFFIX="64"
+else
+ LIBDIRSUFFIX=""
+fi
+
+# Set up a few useful functions:
+
+fix_perms() {
+ chown -R root:root .
+ find . \
+ \( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \
+ -exec chmod 755 {} \; -o \
+ \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \
+ -exec chmod 644 {} \;
+}
+
+process_man_pages() {
+ # Compress and if needed symlink the man pages:
+ if [ -d usr/man ]; then
+ ( cd usr/man
+ for manpagedir in $(find . -type d -name "man*") ; do
+ ( cd $manpagedir
+ for eachpage in $( find . -type l -maxdepth 1) ; do
+ ln -s $( readlink $eachpage ).gz $eachpage.gz
+ rm $eachpage
+ done
+ gzip -9 *.*
+ )
+ done
+ )
+ fi
+}
+
+process_info_pages() {
+ # Compress info pages and purge "dir" file from the package:
+ if [ -d usr/info ]; then
+ ( cd usr/info
+ rm -f dir
+ gzip -9 *
+ )
+ fi
+}
+
+no_usr_share_doc() {
+ # If there are docs, move them:
+ if [ -d usr/share/doc ]; then
+ mkdir -p usr/doc
+ mv usr/share/doc/* usr/doc
+ rmdir usr/share/doc
+ fi
+}
+
+# Set the compile options for the $ARCH being used:
+. $CWD/arch.use.flags
+
+SLACK_X_BUILD_DIR=$TMP/x11-build
+mkdir -p $SLACK_X_BUILD_DIR
+
+# Better have some binaries installed first, as this may not be
+# in the "magic order". I built mine by hand through trial-and-error
+# before getting this script to work. It wasn't that hard... I think. ;-)
+( cd src
+ for x_source_dir in proto data util xcb lib app doc xserver driver font ; do
+ # See if $1 is a source directory like "lib":
+ if [ ! -z "$1" ]; then
+ if [ ! "$1" = "${x_source_dir}" ]; then
+ continue
+ fi
+ fi
+ PKG=${SLACK_X_BUILD_DIR}/package-${x_source_dir}
+ rm -rf $PKG
+ mkdir -p $PKG
+ ( cd $x_source_dir
+ for x_pkg in *.tar.?z* ; do
+ # Reset $PKGARCH to its initial value:
+ PKGARCH=$ARCH
+ PKGNAME=$(echo $x_pkg | rev | cut -f 2- -d - | rev)
+ # Perhaps $PKGARCH should be something different:
+ if grep -wq "^$PKGNAME" ${CWD}/noarch ; then
+ PKGARCH=noarch
+ fi
+ if grep -wq "^$PKGNAME" ${CWD}/package-blacklist ; then
+ continue
+ fi
+ cd $SLACK_X_BUILD_DIR
+ # If $2 is set, we only want to build one package:
+ if [ ! -z "$2" ]; then
+ if [ "$2" = "$PKGNAME" ]; then
+ # Set $PKG to a private dir for the modular package build:
+ PKG=$SLACK_X_BUILD_DIR/package-$PKGNAME
+ rm -rf $PKG
+ mkdir -p $PKG
+ else
+ continue
+ fi
+ else
+ echo
+ echo "Building from source ${x_pkg}"
+ echo
+ fi
+ if grep -wq "^$PKGNAME" ${CWD}/modularize ; then
+ # Set $PKG to a private dir for the modular package build:
+ PKG=$SLACK_X_BUILD_DIR/package-$PKGNAME
+ rm -rf $PKG
+ mkdir -p $PKG
+ fi
+
+ # Let's figure out the version number on the modular package:
+ MODULAR_PACKAGE_VERSION=$(echo $x_pkg | rev | cut -f 3- -d . | cut -f 1 -d - | rev)
+
+ rm -rf $(pkgbase $x_pkg)
+ tar xf $CWD/src/${x_source_dir}/${x_pkg} || exit 1
+ cd $(pkgbase $x_pkg) || exit 1
+
+ fix_perms
+
+ # If any patches are needed, call this script to apply them:
+ if [ -r $CWD/patch/${PKGNAME}.patch ]; then
+ . $CWD/patch/${PKGNAME}.patch
+ fi
+
+ # I heard somewhere that -O2 breaks some chipset or another. If you encounter
+ # problems, please contact volkerdi@slackware.com. Thanks! :-)
+
+ # ./configure, using custom configure script if needed:
+ if [ -r $CWD/configure/${PKGNAME} ]; then
+ . $CWD/configure/${PKGNAME}
+ else
+ # This is the default configure script:
+ . $CWD/configure/configure
+ fi
+
+ if ! make $NUMJOBS ; then
+ touch ${SLACK_X_BUILD_DIR}/${PKGNAME}.failed
+ continue
+ fi
+
+ make install DESTDIR=$PKG
+
+ mkdir -p $PKG/usr/doc/${PKGNAME}-${MODULAR_PACKAGE_VERSION}
+ cp -a \
+ AUTHORS* COPYING* INSTALL* README* NEWS* TODO* \
+ $PKG/usr/doc/${PKGNAME}-${MODULAR_PACKAGE_VERSION}
+
+ # If there's a ChangeLog, installing at least part of the recent history
+ # is useful, but don't let it get totally out of control:
+ if [ -r ChangeLog ]; then
+ DOCSDIR=$(echo $PKG/usr/doc/${PKGNAME}-$MODULAR_PACKAGE_VERSION)
+ cat ChangeLog | head -n 1000 > $DOCSDIR/ChangeLog
+ touch -r ChangeLog $DOCSDIR/ChangeLog
+ fi
+
+ # Get rid of zero-length junk files:
+ find $PKG/usr/doc/${PKGNAME}-$MODULAR_PACKAGE_VERSION -type f -size 0 -exec rm --verbose "{}" \;
+ rmdir --verbose $PKG/usr/doc/${PKGNAME}-$MODULAR_PACKAGE_VERSION 2> /dev/null
+
+ # Strip binaries:
+ ( cd $PKG
+ find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
+ find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
+ find . | xargs file | grep "current ar archive" | grep ELF | cut -f 1 -d : | xargs strip -g 2> /dev/null
+ )
+
+ # If there's any special post-install things to do, do them:
+ if [ -r $CWD/post-install/${PKGNAME}.post-install ]; then
+ RUNSCRIPT=$(mktemp -p $TMP) || exit 1
+ cat $CWD/post-install/${PKGNAME}.post-install \
+ | sed -e "s#usr/lib#usr/lib${LIBDIRSUFFIX}#g" > $RUNSCRIPT
+ . $RUNSCRIPT
+ rm -f $RUNSCRIPT
+ fi
+
+ # If this package requires some doinst.sh material, add it here:
+ if [ -r $CWD/doinst.sh/${PKGNAME} ]; then
+ mkdir -p $PKG/install
+ cat $CWD/doinst.sh/${PKGNAME} \
+ | sed -e "s#usr/lib#usr/lib${LIBDIRSUFFIX}#g" \
+ >> $PKG/install/doinst.sh
+ fi
+
+ # If this is a modular package, build it here:
+ if [ -d $SLACK_X_BUILD_DIR/package-$PKGNAME ]; then
+ cd $PKG
+ process_man_pages
+ process_info_pages
+ no_usr_share_doc
+ mkdir -p $PKG/install
+ if [ -r $CWD/slack-desc/${PKGNAME} ]; then
+ cat $CWD/slack-desc/${PKGNAME} > $PKG/install/slack-desc
+ else
+ touch $PKG/install/slack-desc-missing
+ fi
+ if [ -r $CWD/build/${PKGNAME} ]; then
+ MODBUILD=$(cat $CWD/build/${PKGNAME})
+ else
+ MODBUILD=$BUILD
+ fi
+ if [ -r $CWD/makepkg/${PKGNAME} ]; then
+ BUILD=$MODBUILD . $CWD/makepkg/${PKGNAME}
+ else
+ /sbin/makepkg -l y -c n ${SLACK_X_BUILD_DIR}/${PKGNAME}-${MODULAR_PACKAGE_VERSION}-${PKGARCH}-${MODBUILD}.txz
+ if [ "$UPGRADE_PACKAGES" = "yes" ]; then
+ /sbin/upgradepkg --install-new ${SLACK_X_BUILD_DIR}/${PKGNAME}-${MODULAR_PACKAGE_VERSION}-${PKGARCH}-${MODBUILD}.txz
+ elif [ "$UPGRADE_PACKAGES" = "always" ]; then
+ /sbin/upgradepkg --install-new --reinstall ${SLACK_X_BUILD_DIR}/${PKGNAME}-${MODULAR_PACKAGE_VERSION}-${PKGARCH}-${MODBUILD}.txz
+ fi
+ fi
+ fi
+
+ # Reset $PKG to assume we're building the whole source dir:
+ PKG=${SLACK_X_BUILD_DIR}/package-${x_source_dir}
+
+ done
+
+ # Nothing here? Must have been fully modular. :-)
+ if [ ! -d ${SLACK_X_BUILD_DIR}/package-${x_source_dir}/etc -a \
+ ! -d ${SLACK_X_BUILD_DIR}/package-${x_source_dir}/usr ]; then
+ continue
+ fi
+
+ # Build an "x11-<sourcedir>" package for anything that wasn't built modular:
+ # It's safer to consider these to have binaries in them. ;-)
+ PKGARCH=$ARCH
+ cd $PKG
+ process_man_pages
+ process_info_pages
+ no_usr_share_doc
+ # If there are post-install things to do for the combined package,
+ # we do them here. This could be used for things like making a
+ # VERSION number for a combined package. :-)
+ if [ -r $CWD/post-install/x11-${x_source_dir}.post-install ]; then
+ RUNSCRIPT=$(mktemp -p $TMP) || exit 1
+ cat $CWD/post-install/x11-${x_source_dir}.post-install \
+ | sed -e "s#usr/lib#usr/lib${LIBDIRSUFFIX}#g" > $RUNSCRIPT
+ . $RUNSCRIPT
+ rm -f $RUNSCRIPT
+ fi
+ mkdir -p $PKG/install
+ if [ -r $CWD/slack-desc/x11-${x_source_dir} ]; then
+ cat $CWD/slack-desc/x11-${x_source_dir} > $PKG/install/slack-desc
+ else
+ touch $PKG/install/slack-desc-missing
+ fi
+ if [ -r $CWD/doinst.sh/x11-${x_source_dir} ]; then
+ cat $CWD/doinst.sh/x11-${x_source_dir} \
+ | sed -e "s#usr/lib#usr/lib${LIBDIRSUFFIX}#g" \
+ >> $PKG/install/doinst.sh
+ fi
+ if [ -r $CWD/build/x11-${PKGNAME} ]; then
+ SRCDIRBUILD=$(cat $CWD/build/x11-${PKGNAME})
+ else
+ SRCDIRBUILD=$BUILD
+ fi
+ if [ -r $CWD/makepkg/${PKGNAME} ]; then
+ BUILD=$MODBUILD . $CWD/makepkg/${PKGNAME}
+ else
+ /sbin/makepkg -l y -c n ${SLACK_X_BUILD_DIR}/x11-${x_source_dir}-${VERSION}-${PKGARCH}-${SRCDIRBUILD}.txz
+ if [ "$UPGRADE_PACKAGES" = "yes" ]; then
+ /sbin/upgradepkg --install-new ${SLACK_X_BUILD_DIR}/x11-${x_source_dir}-${VERSION}-${PKGARCH}-${SRCDIRBUILD}.txz
+ elif [ "$UPGRADE_PACKAGES" = "always" ]; then
+ /sbin/upgradepkg --install-new --reinstall ${SLACK_X_BUILD_DIR}/x11-${x_source_dir}-${VERSION}-${PKGARCH}-${SRCDIRBUILD}.txz
+ fi
+ fi
+ )
+ done
+)
+
+exit 0
+
+# I don't think I'll be using the following stuff, since I went for the latest in
+# "individual", rather than a release. That was mostly because version 7.1 depends
+# on a version of Mesa that won't build against kernel headers this new (&etc.).
+
+# If environment variable "REFRESH" is exported, start by refreshing the source tree:
+# export REFRESH yes
+if [ ! -z "$REFRESH" ]; then
+ # Only works once, unless you uncomment above.
+ unset REFRESH
+ ( cd patches
+ lftp -c \
+ "lftp ftp://ftp.x.org:/pub/X11R7.1/patches
+ mirror --delete --dereference .
+ exit"
+ chmod 644 *
+ )
+ ( cd src
+ mkdir -p update everything
+ for dir in app data deprecated doc driver extras font lib proto util xserver ; do
+ # We won't really download "update", as problems ensue. Plus, --dereference is
+ # bringing us updated files when needed, so it's redundant (like "everything").
+ if [ ! -d $dir ]; then
+ mkdir $dir
+ fi
+ ( cd $dir
+ lftp -c \
+ "lftp ftp://ftp.x.org:/pub/X11R7.1/src/$dir
+ mirror -c --delete --dereference --include-glob "*.tar.bz2" .
+ exit"
+ chmod 644 *
+ )
+ done
+ )
+fi
+
diff --git a/patches/source/libXrender/arch.use.flags b/patches/source/libXrender/arch.use.flags
new file mode 100644
index 00000000..11087c88
--- /dev/null
+++ b/patches/source/libXrender/arch.use.flags
@@ -0,0 +1,9 @@
+if [ "$ARCH" = "i486" ]; then
+ SLKCFLAGS="-O2 -march=i486 -mtune=i686"
+elif [ "$ARCH" = "i586" ]; then
+ SLKCFLAGS="-O2 -march=i586 -mtune=i686"
+elif [ "$ARCH" = "s390" ]; then
+ SLKCFLAGS="-O2"
+elif [ "$ARCH" = "x86_64" ]; then
+ SLKCFLAGS="-O2 -fPIC"
+fi
diff --git a/patches/source/libXrender/build/libXrender b/patches/source/libXrender/build/libXrender
new file mode 100644
index 00000000..1551cb6a
--- /dev/null
+++ b/patches/source/libXrender/build/libXrender
@@ -0,0 +1 @@
+1_slack13.0
diff --git a/patches/source/libXrender/configure/configure b/patches/source/libXrender/configure/configure
new file mode 100644
index 00000000..dcb1109b
--- /dev/null
+++ b/patches/source/libXrender/configure/configure
@@ -0,0 +1,13 @@
+CFLAGS=$SLKCFLAGS \
+CXXFLAGS=$SLKCFLAGS \
+./configure \
+ --prefix=/usr \
+ --libdir=/usr/lib${LIBDIRSUFFIX} \
+ --sysconfdir=/etc \
+ --localstatedir=/var \
+ --infodir=/usr/info \
+ --mandir=/usr/man \
+ --docdir=/usr/doc/${PKGNAME}-${MODULAR_PACKAGE_VERSION} \
+ --with-udev-rules-dir=/lib/udev/rules.d \
+ --disable-static \
+ --build=$ARCH-slackware-linux
diff --git a/patches/source/libXrender/libXrender.SlackBuild b/patches/source/libXrender/libXrender.SlackBuild
new file mode 100755
index 00000000..b18aef0e
--- /dev/null
+++ b/patches/source/libXrender/libXrender.SlackBuild
@@ -0,0 +1,2 @@
+UPGRADE_PACKAGES=no ./x11.SlackBuild lib libXrender
+mv /tmp/x11-build/libXrender*txz /tmp
diff --git a/patches/source/libXrender/modularize b/patches/source/libXrender/modularize
new file mode 100644
index 00000000..8a28ed93
--- /dev/null
+++ b/patches/source/libXrender/modularize
@@ -0,0 +1,279 @@
+# If a package is listed here, it will be built apart from the
+# usual "grab bag" package that's made from each source directory.
+
+appres
+bdftopcf
+beforelight
+bigreqsproto
+bitmap
+compiz
+compositeproto
+damageproto
+dmxproto
+dri2proto
+dri3proto
+editres
+encodings
+evieext
+fixesproto
+font-adobe-100dpi
+font-adobe-75dpi
+font-adobe-utopia-100dpi
+font-adobe-utopia-75dpi
+font-adobe-utopia-type1
+font-alias
+font-arabic-misc
+font-bh-100dpi
+font-bh-75dpi
+font-bh-lucidatypewriter-100dpi
+font-bh-lucidatypewriter-75dpi
+font-bh-ttf
+font-bh-type1
+font-bitstream-100dpi
+font-bitstream-75dpi
+font-bitstream-speedo
+font-bitstream-type1
+font-cronyx-cyrillic
+font-cursor-misc
+font-daewoo-misc
+font-dec-misc
+font-ibm-type1
+font-isas-misc
+font-jis-misc
+font-micro-misc
+font-misc-cyrillic
+font-misc-ethiopic
+font-misc-meltho
+font-misc-misc
+font-mutt-misc
+font-schumacher-misc
+font-screen-cyrillic
+font-sony-misc
+font-sun-misc
+font-util
+font-winitzki-cyrillic
+font-xfree86-type1
+fontcacheproto
+fontsproto
+fonttosfnt
+fslsfonts
+fstobdf
+gccmakedep
+glamor-egl
+glproto
+iceauth
+ico
+imake
+inputproto
+intel-gpu-tools
+kbproto
+libFS
+libICE
+libSM
+libX11
+libXScrnSaver
+libXau
+libXaw
+libXaw3d
+libXcm
+libXcomposite
+libXcursor
+libXdamage
+libXdmcp
+libXevie
+libXext
+libXfixes
+libXfont
+libXfontcache
+libXft
+libXi
+libXinerama
+libXmu
+libXp
+libXpm
+libXpresent
+libXrandr
+libXrender
+libXres
+libXt
+libXtst
+libXv
+libXvMC
+libXxf86dga
+libXxf86misc
+libXxf86vm
+libdmx
+libfontenc
+libpciaccess
+libpthread-stubs
+libxcb
+libxkbfile
+libxshmfence
+listres
+lndir
+luit
+makedepend
+mkcomposecache
+mkfontdir
+mkfontscale
+oclock
+pixman
+presentproto
+printproto
+randrproto
+recordproto
+rendercheck
+renderproto
+resourceproto
+rgb
+scrnsaverproto
+sessreg
+setxkbmap
+showfont
+smproxy
+transset
+twm
+util-macros
+videoproto
+viewres
+x11perf
+xauth
+xbacklight
+xbiff
+xbitmaps
+xcalc
+xcb-proto
+xcb-util
+xcb-util-cursor
+xcb-util-errors
+xcb-util-image
+xcb-util-keysyms
+xcb-util-renderutil
+xcb-util-wm
+xclipboard
+xclock
+xcm
+xcmiscproto
+xcmsdb
+xcompmgr
+xconsole
+xcursor-themes
+xcursorgen
+xdbedizzy
+xditview
+xdm
+xdpyinfo
+xdriinfo
+xedit
+xev
+xextproto
+xeyes
+xf86-input-acecad
+xf86-input-aiptek
+xf86-input-evdev
+xf86-input-joystick
+xf86-input-keyboard
+xf86-input-mouse
+xf86-input-penmount
+xf86-input-synaptics
+xf86-input-vmmouse
+xf86-input-void
+xf86-input-wacom
+xf86-video-amdgpu
+xf86-video-apm
+xf86-video-ark
+xf86-video-ast
+xf86-video-ati
+xf86-video-chips
+xf86-video-cirrus
+xf86-video-dummy
+xf86-video-geode
+xf86-video-glint
+xf86-video-i128
+xf86-video-i740
+xf86-video-intel
+xf86-video-mach64
+xf86-video-mga
+xf86-video-modesetting
+xf86-video-neomagic
+xf86-video-nouveau
+xf86-video-nv
+xf86-video-omap
+xf86-video-openchrome
+xf86-video-qxl
+xf86-video-r128
+xf86-video-rendition
+xf86-video-s3
+xf86-video-s3virge
+xf86-video-savage
+xf86-video-siliconmotion
+xf86-video-sis
+xf86-video-sisusb
+xf86-video-tdfx
+xf86-video-tga
+xf86-video-trident
+xf86-video-tseng
+xf86-video-v4l
+xf86-video-vesa
+xf86-video-vmware
+xf86-video-voodoo
+xf86-video-xgi
+xf86-video-xgixp
+xf86bigfontproto
+xf86dga
+xf86dgaproto
+xf86driproto
+xf86miscproto
+xf86vidmodeproto
+xfd
+xfontsel
+xfs
+xfsinfo
+xgamma
+xgc
+xhost
+xineramaproto
+xinit
+xinput
+xkbcomp
+xkbevd
+xkbprint
+xkbutils
+xkeyboard-config
+xkill
+xload
+xlogo
+xlsatoms
+xlsclients
+xlsfonts
+xmag
+xman
+xmessage
+xmh
+xmodmap
+xmore
+xorg-cf-files
+xorg-docs
+xorg-server
+xorg-server-xephyr
+xorg-server-xnest
+xorg-server-xvfb
+xorg-sgml-doctools
+xpr
+xprop
+xproto
+xpyb
+xrandr
+xrdb
+xrefresh
+xscope
+xset
+xsetroot
+xsm
+xstdcmap
+xtrans
+xvidtune
+xvinfo
+xwd
+xwininfo
+xwud
diff --git a/patches/source/libXrender/noarch b/patches/source/libXrender/noarch
new file mode 100644
index 00000000..8785ee52
--- /dev/null
+++ b/patches/source/libXrender/noarch
@@ -0,0 +1,75 @@
+# List packages with an $ARCH of "noarch" (i.e. packages
+# that contain no binaries) here:
+bigreqsproto
+compositeproto
+damageproto
+dejavu-ttf
+dmxproto
+encodings
+evieext
+font-adobe-100dpi
+font-adobe-75dpi
+font-adobe-utopia-100dpi
+font-adobe-utopia-75dpi
+font-adobe-utopia-type1
+font-alias
+font-arabic-misc
+font-bh-100dpi
+font-bh-75dpi
+font-bh-lucidatypewriter-100dpi
+font-bh-lucidatypewriter-75dpi
+font-bh-ttf
+font-bh-type1
+font-bitstream-100dpi
+font-bitstream-75dpi
+font-bitstream-speedo
+font-bitstream-type1
+font-cronyx-cyrillic
+font-cursor-misc
+font-daewoo-misc
+font-dec-misc
+font-ibm-type1
+font-isas-misc
+font-jis-misc
+font-micro-misc
+font-misc-cyrillic
+font-misc-ethiopic
+font-misc-meltho
+font-misc-misc
+font-mutt-misc
+font-schumacher-misc
+font-screen-cyrillic
+font-sony-misc
+font-sun-misc
+font-winitzki-cyrillic
+font-xfree86-type1
+fontcacheproto
+fontsproto
+gccmakedep
+glproto
+inputproto
+kbproto
+libpthread-stubs
+mkfontdir
+printproto
+randrproto
+recordproto
+renderproto
+resourceproto
+scrnsaverproto
+ttf-indic-fonts
+util-macros
+videoproto
+x11-skel
+xcmiscproto
+xcursor-themes
+xf86bigfontproto
+xf86dgaproto
+xf86driproto
+xf86miscproto
+xf86vidmodeproto
+xineramaproto
+xkeyboard-config
+xorg-docs
+xproto
+xtrans
diff --git a/patches/source/libXrender/package-blacklist b/patches/source/libXrender/package-blacklist
new file mode 100644
index 00000000..603b8c31
--- /dev/null
+++ b/patches/source/libXrender/package-blacklist
@@ -0,0 +1,44 @@
+# Enter packages to skip (perhaps because they aren't used on
+# this platform) below. Just the package name -- no version
+# number is needed.
+
+# ARM only packages:
+# They also say in the README for this one that it is not yet ready:
+xf86-video-omap
+
+# MacOS related packages:
+applewmproto
+windowswmproto
+libAppleWM
+libWindowsWM
+
+# Sun video cards:
+xf86-video-sunbw2
+xf86-video-suncg14
+xf86-video-suncg3
+xf86-video-suncg6
+xf86-video-sunffb
+xf86-video-sunleo
+xf86-video-suntcx
+
+# Obsolete packages:
+liboldX
+xf86-video-amd
+xf86-video-via
+xkbdata
+xphelloworld
+xrx
+xf86-video-modesetting
+
+# Not applicable to us
+grandr
+constype
+
+# CAREFUL NOT TO "SHIP" THE STUFF BELOW IN THE MAIN X PACKAGES DIR!
+
+# This is probably obsolete, and kills "X -configure" too
+xf86-video-nsc
+
+# We don't want this one, as it causes failure of X with no xorg.conf
+xf86-video-fbdev
+
diff --git a/patches/source/libXrender/slack-desc/libXrender b/patches/source/libXrender/slack-desc/libXrender
new file mode 100644
index 00000000..c5fe7269
--- /dev/null
+++ b/patches/source/libXrender/slack-desc/libXrender
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|'
+# on the right side marks the last column you can put a character in. You must
+# make exactly 11 lines for the formatting to be correct. It's also
+# customary to leave one space after the ':'.
+
+ |-----handy-ruler------------------------------------------------------|
+libXrender: libXrender (library for the Render Extension to the X11 protocol)
+libXrender:
+libXrender: libXrender is part of X11.
+libXrender:
+libXrender: For more information about the X.Org Foundation (the providers of the
+libXrender: X.Org implementation of the X Window System), see their website:
+libXrender:
+libXrender: http://www.x.org
+libXrender:
+libXrender:
+libXrender:
diff --git a/patches/source/libXrender/x11.SlackBuild b/patches/source/libXrender/x11.SlackBuild
new file mode 100755
index 00000000..c3887dff
--- /dev/null
+++ b/patches/source/libXrender/x11.SlackBuild
@@ -0,0 +1,381 @@
+#!/bin/sh
+# Copyright 2007-2014 Patrick J. Volkerding, Sebeka, MN, USA
+# All rights reserved.
+#
+# Redistribution and use of this script, with or without modification, is
+# permitted provided that the following conditions are met:
+#
+# 1. Redistributions of this script must retain the above copyright
+# notice, this list of conditions and the following disclaimer.
+#
+# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED
+# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
+# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
+# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+# To build only a single package group, specify it as $1, like:
+# ./x11.SlackBuild lib
+# To build only a single package, specify both the source directory
+# and the name of the package, like:
+# ./x11.SlackBuild lib libX11
+
+# Upgrade packages as they are built.
+# Default is to upgrade new packages (UPGRADE_PACKAGES=yes).
+# To install ALL newly built packages (even if they are already installed),
+# use UPGRADE_PACKAGES=always
+# To not upgrade, pass UPGRADE_PACKAGES=no
+UPGRADE_PACKAGES=${UPGRADE_PACKAGES:-yes}
+
+pkgbase() {
+ PKGEXT=$(echo $1 | rev | cut -f 1 -d . | rev)
+ case $PKGEXT in
+ 'gz' )
+ PKGRETURN=$(basename $1 .tar.gz)
+ ;;
+ 'bz2' )
+ PKGRETURN=$(basename $1 .tar.bz2)
+ ;;
+ 'lzma' )
+ PKGRETURN=$(basename $1 .tar.lzma)
+ ;;
+ 'xz' )
+ PKGRETURN=$(basename $1 .tar.xz)
+ ;;
+ *)
+ PKGRETURN=$(basename $1)
+ ;;
+ esac
+ echo $PKGRETURN
+}
+
+# Set initial variables:
+CWD=$(pwd)
+TMP=${TMP:-/tmp}
+
+# Automatically determine the architecture we're building on:
+if [ -z "$ARCH" ]; then
+ case "$( uname -m )" in
+ i?86) export ARCH=i486 ;;
+ arm*) export ARCH=arm ;;
+ # Unless $ARCH is already set, use uname -m for all other archs:
+ *) export ARCH=$( uname -m ) ;;
+ esac
+fi
+
+# A lot of this stuff just controls the package names this time:
+VERSION=${VERSION:-7.5}
+BUILD=${BUILD:-1}
+PKGARCH=$ARCH
+NUMJOBS=${NUMJOBS:-" -j7 "}
+
+if [ "$ARCH" = "x86_64" ]; then
+ LIBDIRSUFFIX="64"
+else
+ LIBDIRSUFFIX=""
+fi
+
+# Set up a few useful functions:
+
+fix_perms() {
+ chown -R root:root .
+ find . \
+ \( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \
+ -exec chmod 755 {} \; -o \
+ \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \
+ -exec chmod 644 {} \;
+}
+
+process_man_pages() {
+ # Compress and if needed symlink the man pages:
+ if [ -d usr/man ]; then
+ ( cd usr/man
+ for manpagedir in $(find . -type d -name "man*") ; do
+ ( cd $manpagedir
+ for eachpage in $( find . -type l -maxdepth 1) ; do
+ ln -s $( readlink $eachpage ).gz $eachpage.gz
+ rm $eachpage
+ done
+ gzip -9 *.*
+ )
+ done
+ )
+ fi
+}
+
+process_info_pages() {
+ # Compress info pages and purge "dir" file from the package:
+ if [ -d usr/info ]; then
+ ( cd usr/info
+ rm -f dir
+ gzip -9 *
+ )
+ fi
+}
+
+no_usr_share_doc() {
+ # If there are docs, move them:
+ if [ -d usr/share/doc ]; then
+ mkdir -p usr/doc
+ mv usr/share/doc/* usr/doc
+ rmdir usr/share/doc
+ fi
+}
+
+# Set the compile options for the $ARCH being used:
+. $CWD/arch.use.flags
+
+SLACK_X_BUILD_DIR=$TMP/x11-build
+mkdir -p $SLACK_X_BUILD_DIR
+
+# Better have some binaries installed first, as this may not be
+# in the "magic order". I built mine by hand through trial-and-error
+# before getting this script to work. It wasn't that hard... I think. ;-)
+( cd src
+ for x_source_dir in proto data util xcb lib app doc xserver driver font ; do
+ # See if $1 is a source directory like "lib":
+ if [ ! -z "$1" ]; then
+ if [ ! "$1" = "${x_source_dir}" ]; then
+ continue
+ fi
+ fi
+ PKG=${SLACK_X_BUILD_DIR}/package-${x_source_dir}
+ rm -rf $PKG
+ mkdir -p $PKG
+ ( cd $x_source_dir
+ for x_pkg in *.tar.?z* ; do
+ # Reset $PKGARCH to its initial value:
+ PKGARCH=$ARCH
+ PKGNAME=$(echo $x_pkg | rev | cut -f 2- -d - | rev)
+ # Perhaps $PKGARCH should be something different:
+ if grep -wq "^$PKGNAME" ${CWD}/noarch ; then
+ PKGARCH=noarch
+ fi
+ if grep -wq "^$PKGNAME" ${CWD}/package-blacklist ; then
+ continue
+ fi
+ cd $SLACK_X_BUILD_DIR
+ # If $2 is set, we only want to build one package:
+ if [ ! -z "$2" ]; then
+ if [ "$2" = "$PKGNAME" ]; then
+ # Set $PKG to a private dir for the modular package build:
+ PKG=$SLACK_X_BUILD_DIR/package-$PKGNAME
+ rm -rf $PKG
+ mkdir -p $PKG
+ else
+ continue
+ fi
+ else
+ echo
+ echo "Building from source ${x_pkg}"
+ echo
+ fi
+ if grep -wq "^$PKGNAME" ${CWD}/modularize ; then
+ # Set $PKG to a private dir for the modular package build:
+ PKG=$SLACK_X_BUILD_DIR/package-$PKGNAME
+ rm -rf $PKG
+ mkdir -p $PKG
+ fi
+
+ # Let's figure out the version number on the modular package:
+ MODULAR_PACKAGE_VERSION=$(echo $x_pkg | rev | cut -f 3- -d . | cut -f 1 -d - | rev)
+
+ rm -rf $(pkgbase $x_pkg)
+ tar xf $CWD/src/${x_source_dir}/${x_pkg} || exit 1
+ cd $(pkgbase $x_pkg) || exit 1
+
+ fix_perms
+
+ # If any patches are needed, call this script to apply them:
+ if [ -r $CWD/patch/${PKGNAME}.patch ]; then
+ . $CWD/patch/${PKGNAME}.patch
+ fi
+
+ # I heard somewhere that -O2 breaks some chipset or another. If you encounter
+ # problems, please contact volkerdi@slackware.com. Thanks! :-)
+
+ # ./configure, using custom configure script if needed:
+ if [ -r $CWD/configure/${PKGNAME} ]; then
+ . $CWD/configure/${PKGNAME}
+ else
+ # This is the default configure script:
+ . $CWD/configure/configure
+ fi
+
+ if ! make $NUMJOBS ; then
+ touch ${SLACK_X_BUILD_DIR}/${PKGNAME}.failed
+ continue
+ fi
+
+ make install DESTDIR=$PKG
+
+ mkdir -p $PKG/usr/doc/${PKGNAME}-${MODULAR_PACKAGE_VERSION}
+ cp -a \
+ AUTHORS* COPYING* INSTALL* README* NEWS* TODO* \
+ $PKG/usr/doc/${PKGNAME}-${MODULAR_PACKAGE_VERSION}
+
+ # If there's a ChangeLog, installing at least part of the recent history
+ # is useful, but don't let it get totally out of control:
+ if [ -r ChangeLog ]; then
+ DOCSDIR=$(echo $PKG/usr/doc/${PKGNAME}-$MODULAR_PACKAGE_VERSION)
+ cat ChangeLog | head -n 1000 > $DOCSDIR/ChangeLog
+ touch -r ChangeLog $DOCSDIR/ChangeLog
+ fi
+
+ # Get rid of zero-length junk files:
+ find $PKG/usr/doc/${PKGNAME}-$MODULAR_PACKAGE_VERSION -type f -size 0 -exec rm --verbose "{}" \;
+ rmdir --verbose $PKG/usr/doc/${PKGNAME}-$MODULAR_PACKAGE_VERSION 2> /dev/null
+
+ # Strip binaries:
+ ( cd $PKG
+ find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
+ find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
+ find . | xargs file | grep "current ar archive" | grep ELF | cut -f 1 -d : | xargs strip -g 2> /dev/null
+ )
+
+ # If there's any special post-install things to do, do them:
+ if [ -r $CWD/post-install/${PKGNAME}.post-install ]; then
+ RUNSCRIPT=$(mktemp -p $TMP) || exit 1
+ cat $CWD/post-install/${PKGNAME}.post-install \
+ | sed -e "s#usr/lib#usr/lib${LIBDIRSUFFIX}#g" > $RUNSCRIPT
+ . $RUNSCRIPT
+ rm -f $RUNSCRIPT
+ fi
+
+ # If this package requires some doinst.sh material, add it here:
+ if [ -r $CWD/doinst.sh/${PKGNAME} ]; then
+ mkdir -p $PKG/install
+ cat $CWD/doinst.sh/${PKGNAME} \
+ | sed -e "s#usr/lib#usr/lib${LIBDIRSUFFIX}#g" \
+ >> $PKG/install/doinst.sh
+ fi
+
+ # If this is a modular package, build it here:
+ if [ -d $SLACK_X_BUILD_DIR/package-$PKGNAME ]; then
+ cd $PKG
+ process_man_pages
+ process_info_pages
+ no_usr_share_doc
+ mkdir -p $PKG/install
+ if [ -r $CWD/slack-desc/${PKGNAME} ]; then
+ cat $CWD/slack-desc/${PKGNAME} > $PKG/install/slack-desc
+ else
+ touch $PKG/install/slack-desc-missing
+ fi
+ if [ -r $CWD/build/${PKGNAME} ]; then
+ MODBUILD=$(cat $CWD/build/${PKGNAME})
+ else
+ MODBUILD=$BUILD
+ fi
+ if [ -r $CWD/makepkg/${PKGNAME} ]; then
+ BUILD=$MODBUILD . $CWD/makepkg/${PKGNAME}
+ else
+ /sbin/makepkg -l y -c n ${SLACK_X_BUILD_DIR}/${PKGNAME}-${MODULAR_PACKAGE_VERSION}-${PKGARCH}-${MODBUILD}.txz
+ if [ "$UPGRADE_PACKAGES" = "yes" ]; then
+ /sbin/upgradepkg --install-new ${SLACK_X_BUILD_DIR}/${PKGNAME}-${MODULAR_PACKAGE_VERSION}-${PKGARCH}-${MODBUILD}.txz
+ elif [ "$UPGRADE_PACKAGES" = "always" ]; then
+ /sbin/upgradepkg --install-new --reinstall ${SLACK_X_BUILD_DIR}/${PKGNAME}-${MODULAR_PACKAGE_VERSION}-${PKGARCH}-${MODBUILD}.txz
+ fi
+ fi
+ fi
+
+ # Reset $PKG to assume we're building the whole source dir:
+ PKG=${SLACK_X_BUILD_DIR}/package-${x_source_dir}
+
+ done
+
+ # Nothing here? Must have been fully modular. :-)
+ if [ ! -d ${SLACK_X_BUILD_DIR}/package-${x_source_dir}/etc -a \
+ ! -d ${SLACK_X_BUILD_DIR}/package-${x_source_dir}/usr ]; then
+ continue
+ fi
+
+ # Build an "x11-<sourcedir>" package for anything that wasn't built modular:
+ # It's safer to consider these to have binaries in them. ;-)
+ PKGARCH=$ARCH
+ cd $PKG
+ process_man_pages
+ process_info_pages
+ no_usr_share_doc
+ # If there are post-install things to do for the combined package,
+ # we do them here. This could be used for things like making a
+ # VERSION number for a combined package. :-)
+ if [ -r $CWD/post-install/x11-${x_source_dir}.post-install ]; then
+ RUNSCRIPT=$(mktemp -p $TMP) || exit 1
+ cat $CWD/post-install/x11-${x_source_dir}.post-install \
+ | sed -e "s#usr/lib#usr/lib${LIBDIRSUFFIX}#g" > $RUNSCRIPT
+ . $RUNSCRIPT
+ rm -f $RUNSCRIPT
+ fi
+ mkdir -p $PKG/install
+ if [ -r $CWD/slack-desc/x11-${x_source_dir} ]; then
+ cat $CWD/slack-desc/x11-${x_source_dir} > $PKG/install/slack-desc
+ else
+ touch $PKG/install/slack-desc-missing
+ fi
+ if [ -r $CWD/doinst.sh/x11-${x_source_dir} ]; then
+ cat $CWD/doinst.sh/x11-${x_source_dir} \
+ | sed -e "s#usr/lib#usr/lib${LIBDIRSUFFIX}#g" \
+ >> $PKG/install/doinst.sh
+ fi
+ if [ -r $CWD/build/x11-${PKGNAME} ]; then
+ SRCDIRBUILD=$(cat $CWD/build/x11-${PKGNAME})
+ else
+ SRCDIRBUILD=$BUILD
+ fi
+ if [ -r $CWD/makepkg/${PKGNAME} ]; then
+ BUILD=$MODBUILD . $CWD/makepkg/${PKGNAME}
+ else
+ /sbin/makepkg -l y -c n ${SLACK_X_BUILD_DIR}/x11-${x_source_dir}-${VERSION}-${PKGARCH}-${SRCDIRBUILD}.txz
+ if [ "$UPGRADE_PACKAGES" = "yes" ]; then
+ /sbin/upgradepkg --install-new ${SLACK_X_BUILD_DIR}/x11-${x_source_dir}-${VERSION}-${PKGARCH}-${SRCDIRBUILD}.txz
+ elif [ "$UPGRADE_PACKAGES" = "always" ]; then
+ /sbin/upgradepkg --install-new --reinstall ${SLACK_X_BUILD_DIR}/x11-${x_source_dir}-${VERSION}-${PKGARCH}-${SRCDIRBUILD}.txz
+ fi
+ fi
+ )
+ done
+)
+
+exit 0
+
+# I don't think I'll be using the following stuff, since I went for the latest in
+# "individual", rather than a release. That was mostly because version 7.1 depends
+# on a version of Mesa that won't build against kernel headers this new (&etc.).
+
+# If environment variable "REFRESH" is exported, start by refreshing the source tree:
+# export REFRESH yes
+if [ ! -z "$REFRESH" ]; then
+ # Only works once, unless you uncomment above.
+ unset REFRESH
+ ( cd patches
+ lftp -c \
+ "lftp ftp://ftp.x.org:/pub/X11R7.1/patches
+ mirror --delete --dereference .
+ exit"
+ chmod 644 *
+ )
+ ( cd src
+ mkdir -p update everything
+ for dir in app data deprecated doc driver extras font lib proto util xserver ; do
+ # We won't really download "update", as problems ensue. Plus, --dereference is
+ # bringing us updated files when needed, so it's redundant (like "everything").
+ if [ ! -d $dir ]; then
+ mkdir $dir
+ fi
+ ( cd $dir
+ lftp -c \
+ "lftp ftp://ftp.x.org:/pub/X11R7.1/src/$dir
+ mirror -c --delete --dereference --include-glob "*.tar.bz2" .
+ exit"
+ chmod 644 *
+ )
+ done
+ )
+fi
+
diff --git a/patches/source/libXtst/arch.use.flags b/patches/source/libXtst/arch.use.flags
new file mode 100644
index 00000000..11087c88
--- /dev/null
+++ b/patches/source/libXtst/arch.use.flags
@@ -0,0 +1,9 @@
+if [ "$ARCH" = "i486" ]; then
+ SLKCFLAGS="-O2 -march=i486 -mtune=i686"
+elif [ "$ARCH" = "i586" ]; then
+ SLKCFLAGS="-O2 -march=i586 -mtune=i686"
+elif [ "$ARCH" = "s390" ]; then
+ SLKCFLAGS="-O2"
+elif [ "$ARCH" = "x86_64" ]; then
+ SLKCFLAGS="-O2 -fPIC"
+fi
diff --git a/patches/source/libXtst/build/libXtst b/patches/source/libXtst/build/libXtst
new file mode 100644
index 00000000..1551cb6a
--- /dev/null
+++ b/patches/source/libXtst/build/libXtst
@@ -0,0 +1 @@
+1_slack13.0
diff --git a/patches/source/libXtst/configure/configure b/patches/source/libXtst/configure/configure
new file mode 100644
index 00000000..dcb1109b
--- /dev/null
+++ b/patches/source/libXtst/configure/configure
@@ -0,0 +1,13 @@
+CFLAGS=$SLKCFLAGS \
+CXXFLAGS=$SLKCFLAGS \
+./configure \
+ --prefix=/usr \
+ --libdir=/usr/lib${LIBDIRSUFFIX} \
+ --sysconfdir=/etc \
+ --localstatedir=/var \
+ --infodir=/usr/info \
+ --mandir=/usr/man \
+ --docdir=/usr/doc/${PKGNAME}-${MODULAR_PACKAGE_VERSION} \
+ --with-udev-rules-dir=/lib/udev/rules.d \
+ --disable-static \
+ --build=$ARCH-slackware-linux
diff --git a/patches/source/libXtst/libXtst.SlackBuild b/patches/source/libXtst/libXtst.SlackBuild
new file mode 100755
index 00000000..0a4bb940
--- /dev/null
+++ b/patches/source/libXtst/libXtst.SlackBuild
@@ -0,0 +1,2 @@
+UPGRADE_PACKAGES=no ./x11.SlackBuild lib libXtst
+mv /tmp/x11-build/libXtst*txz /tmp
diff --git a/patches/source/libXtst/modularize b/patches/source/libXtst/modularize
new file mode 100644
index 00000000..8a28ed93
--- /dev/null
+++ b/patches/source/libXtst/modularize
@@ -0,0 +1,279 @@
+# If a package is listed here, it will be built apart from the
+# usual "grab bag" package that's made from each source directory.
+
+appres
+bdftopcf
+beforelight
+bigreqsproto
+bitmap
+compiz
+compositeproto
+damageproto
+dmxproto
+dri2proto
+dri3proto
+editres
+encodings
+evieext
+fixesproto
+font-adobe-100dpi
+font-adobe-75dpi
+font-adobe-utopia-100dpi
+font-adobe-utopia-75dpi
+font-adobe-utopia-type1
+font-alias
+font-arabic-misc
+font-bh-100dpi
+font-bh-75dpi
+font-bh-lucidatypewriter-100dpi
+font-bh-lucidatypewriter-75dpi
+font-bh-ttf
+font-bh-type1
+font-bitstream-100dpi
+font-bitstream-75dpi
+font-bitstream-speedo
+font-bitstream-type1
+font-cronyx-cyrillic
+font-cursor-misc
+font-daewoo-misc
+font-dec-misc
+font-ibm-type1
+font-isas-misc
+font-jis-misc
+font-micro-misc
+font-misc-cyrillic
+font-misc-ethiopic
+font-misc-meltho
+font-misc-misc
+font-mutt-misc
+font-schumacher-misc
+font-screen-cyrillic
+font-sony-misc
+font-sun-misc
+font-util
+font-winitzki-cyrillic
+font-xfree86-type1
+fontcacheproto
+fontsproto
+fonttosfnt
+fslsfonts
+fstobdf
+gccmakedep
+glamor-egl
+glproto
+iceauth
+ico
+imake
+inputproto
+intel-gpu-tools
+kbproto
+libFS
+libICE
+libSM
+libX11
+libXScrnSaver
+libXau
+libXaw
+libXaw3d
+libXcm
+libXcomposite
+libXcursor
+libXdamage
+libXdmcp
+libXevie
+libXext
+libXfixes
+libXfont
+libXfontcache
+libXft
+libXi
+libXinerama
+libXmu
+libXp
+libXpm
+libXpresent
+libXrandr
+libXrender
+libXres
+libXt
+libXtst
+libXv
+libXvMC
+libXxf86dga
+libXxf86misc
+libXxf86vm
+libdmx
+libfontenc
+libpciaccess
+libpthread-stubs
+libxcb
+libxkbfile
+libxshmfence
+listres
+lndir
+luit
+makedepend
+mkcomposecache
+mkfontdir
+mkfontscale
+oclock
+pixman
+presentproto
+printproto
+randrproto
+recordproto
+rendercheck
+renderproto
+resourceproto
+rgb
+scrnsaverproto
+sessreg
+setxkbmap
+showfont
+smproxy
+transset
+twm
+util-macros
+videoproto
+viewres
+x11perf
+xauth
+xbacklight
+xbiff
+xbitmaps
+xcalc
+xcb-proto
+xcb-util
+xcb-util-cursor
+xcb-util-errors
+xcb-util-image
+xcb-util-keysyms
+xcb-util-renderutil
+xcb-util-wm
+xclipboard
+xclock
+xcm
+xcmiscproto
+xcmsdb
+xcompmgr
+xconsole
+xcursor-themes
+xcursorgen
+xdbedizzy
+xditview
+xdm
+xdpyinfo
+xdriinfo
+xedit
+xev
+xextproto
+xeyes
+xf86-input-acecad
+xf86-input-aiptek
+xf86-input-evdev
+xf86-input-joystick
+xf86-input-keyboard
+xf86-input-mouse
+xf86-input-penmount
+xf86-input-synaptics
+xf86-input-vmmouse
+xf86-input-void
+xf86-input-wacom
+xf86-video-amdgpu
+xf86-video-apm
+xf86-video-ark
+xf86-video-ast
+xf86-video-ati
+xf86-video-chips
+xf86-video-cirrus
+xf86-video-dummy
+xf86-video-geode
+xf86-video-glint
+xf86-video-i128
+xf86-video-i740
+xf86-video-intel
+xf86-video-mach64
+xf86-video-mga
+xf86-video-modesetting
+xf86-video-neomagic
+xf86-video-nouveau
+xf86-video-nv
+xf86-video-omap
+xf86-video-openchrome
+xf86-video-qxl
+xf86-video-r128
+xf86-video-rendition
+xf86-video-s3
+xf86-video-s3virge
+xf86-video-savage
+xf86-video-siliconmotion
+xf86-video-sis
+xf86-video-sisusb
+xf86-video-tdfx
+xf86-video-tga
+xf86-video-trident
+xf86-video-tseng
+xf86-video-v4l
+xf86-video-vesa
+xf86-video-vmware
+xf86-video-voodoo
+xf86-video-xgi
+xf86-video-xgixp
+xf86bigfontproto
+xf86dga
+xf86dgaproto
+xf86driproto
+xf86miscproto
+xf86vidmodeproto
+xfd
+xfontsel
+xfs
+xfsinfo
+xgamma
+xgc
+xhost
+xineramaproto
+xinit
+xinput
+xkbcomp
+xkbevd
+xkbprint
+xkbutils
+xkeyboard-config
+xkill
+xload
+xlogo
+xlsatoms
+xlsclients
+xlsfonts
+xmag
+xman
+xmessage
+xmh
+xmodmap
+xmore
+xorg-cf-files
+xorg-docs
+xorg-server
+xorg-server-xephyr
+xorg-server-xnest
+xorg-server-xvfb
+xorg-sgml-doctools
+xpr
+xprop
+xproto
+xpyb
+xrandr
+xrdb
+xrefresh
+xscope
+xset
+xsetroot
+xsm
+xstdcmap
+xtrans
+xvidtune
+xvinfo
+xwd
+xwininfo
+xwud
diff --git a/patches/source/libXtst/noarch b/patches/source/libXtst/noarch
new file mode 100644
index 00000000..8785ee52
--- /dev/null
+++ b/patches/source/libXtst/noarch
@@ -0,0 +1,75 @@
+# List packages with an $ARCH of "noarch" (i.e. packages
+# that contain no binaries) here:
+bigreqsproto
+compositeproto
+damageproto
+dejavu-ttf
+dmxproto
+encodings
+evieext
+font-adobe-100dpi
+font-adobe-75dpi
+font-adobe-utopia-100dpi
+font-adobe-utopia-75dpi
+font-adobe-utopia-type1
+font-alias
+font-arabic-misc
+font-bh-100dpi
+font-bh-75dpi
+font-bh-lucidatypewriter-100dpi
+font-bh-lucidatypewriter-75dpi
+font-bh-ttf
+font-bh-type1
+font-bitstream-100dpi
+font-bitstream-75dpi
+font-bitstream-speedo
+font-bitstream-type1
+font-cronyx-cyrillic
+font-cursor-misc
+font-daewoo-misc
+font-dec-misc
+font-ibm-type1
+font-isas-misc
+font-jis-misc
+font-micro-misc
+font-misc-cyrillic
+font-misc-ethiopic
+font-misc-meltho
+font-misc-misc
+font-mutt-misc
+font-schumacher-misc
+font-screen-cyrillic
+font-sony-misc
+font-sun-misc
+font-winitzki-cyrillic
+font-xfree86-type1
+fontcacheproto
+fontsproto
+gccmakedep
+glproto
+inputproto
+kbproto
+libpthread-stubs
+mkfontdir
+printproto
+randrproto
+recordproto
+renderproto
+resourceproto
+scrnsaverproto
+ttf-indic-fonts
+util-macros
+videoproto
+x11-skel
+xcmiscproto
+xcursor-themes
+xf86bigfontproto
+xf86dgaproto
+xf86driproto
+xf86miscproto
+xf86vidmodeproto
+xineramaproto
+xkeyboard-config
+xorg-docs
+xproto
+xtrans
diff --git a/patches/source/libXtst/package-blacklist b/patches/source/libXtst/package-blacklist
new file mode 100644
index 00000000..603b8c31
--- /dev/null
+++ b/patches/source/libXtst/package-blacklist
@@ -0,0 +1,44 @@
+# Enter packages to skip (perhaps because they aren't used on
+# this platform) below. Just the package name -- no version
+# number is needed.
+
+# ARM only packages:
+# They also say in the README for this one that it is not yet ready:
+xf86-video-omap
+
+# MacOS related packages:
+applewmproto
+windowswmproto
+libAppleWM
+libWindowsWM
+
+# Sun video cards:
+xf86-video-sunbw2
+xf86-video-suncg14
+xf86-video-suncg3
+xf86-video-suncg6
+xf86-video-sunffb
+xf86-video-sunleo
+xf86-video-suntcx
+
+# Obsolete packages:
+liboldX
+xf86-video-amd
+xf86-video-via
+xkbdata
+xphelloworld
+xrx
+xf86-video-modesetting
+
+# Not applicable to us
+grandr
+constype
+
+# CAREFUL NOT TO "SHIP" THE STUFF BELOW IN THE MAIN X PACKAGES DIR!
+
+# This is probably obsolete, and kills "X -configure" too
+xf86-video-nsc
+
+# We don't want this one, as it causes failure of X with no xorg.conf
+xf86-video-fbdev
+
diff --git a/patches/source/libXtst/slack-desc/libXtst b/patches/source/libXtst/slack-desc/libXtst
new file mode 100644
index 00000000..63b93c01
--- /dev/null
+++ b/patches/source/libXtst/slack-desc/libXtst
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|'
+# on the right side marks the last column you can put a character in. You must
+# make exactly 11 lines for the formatting to be correct. It's also
+# customary to leave one space after the ':'.
+
+ |-----handy-ruler------------------------------------------------------|
+libXtst: libXtst (client library for the XTEST & RECORD extensions)
+libXtst:
+libXtst: libXtst is part of X11.
+libXtst:
+libXtst: For more information about the X.Org Foundation (the providers of the
+libXtst: X.Org implementation of the X Window System), see their website:
+libXtst:
+libXtst: http://www.x.org
+libXtst:
+libXtst:
+libXtst:
diff --git a/patches/source/libXtst/x11.SlackBuild b/patches/source/libXtst/x11.SlackBuild
new file mode 100755
index 00000000..c3887dff
--- /dev/null
+++ b/patches/source/libXtst/x11.SlackBuild
@@ -0,0 +1,381 @@
+#!/bin/sh
+# Copyright 2007-2014 Patrick J. Volkerding, Sebeka, MN, USA
+# All rights reserved.
+#
+# Redistribution and use of this script, with or without modification, is
+# permitted provided that the following conditions are met:
+#
+# 1. Redistributions of this script must retain the above copyright
+# notice, this list of conditions and the following disclaimer.
+#
+# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED
+# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
+# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
+# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+# To build only a single package group, specify it as $1, like:
+# ./x11.SlackBuild lib
+# To build only a single package, specify both the source directory
+# and the name of the package, like:
+# ./x11.SlackBuild lib libX11
+
+# Upgrade packages as they are built.
+# Default is to upgrade new packages (UPGRADE_PACKAGES=yes).
+# To install ALL newly built packages (even if they are already installed),
+# use UPGRADE_PACKAGES=always
+# To not upgrade, pass UPGRADE_PACKAGES=no
+UPGRADE_PACKAGES=${UPGRADE_PACKAGES:-yes}
+
+pkgbase() {
+ PKGEXT=$(echo $1 | rev | cut -f 1 -d . | rev)
+ case $PKGEXT in
+ 'gz' )
+ PKGRETURN=$(basename $1 .tar.gz)
+ ;;
+ 'bz2' )
+ PKGRETURN=$(basename $1 .tar.bz2)
+ ;;
+ 'lzma' )
+ PKGRETURN=$(basename $1 .tar.lzma)
+ ;;
+ 'xz' )
+ PKGRETURN=$(basename $1 .tar.xz)
+ ;;
+ *)
+ PKGRETURN=$(basename $1)
+ ;;
+ esac
+ echo $PKGRETURN
+}
+
+# Set initial variables:
+CWD=$(pwd)
+TMP=${TMP:-/tmp}
+
+# Automatically determine the architecture we're building on:
+if [ -z "$ARCH" ]; then
+ case "$( uname -m )" in
+ i?86) export ARCH=i486 ;;
+ arm*) export ARCH=arm ;;
+ # Unless $ARCH is already set, use uname -m for all other archs:
+ *) export ARCH=$( uname -m ) ;;
+ esac
+fi
+
+# A lot of this stuff just controls the package names this time:
+VERSION=${VERSION:-7.5}
+BUILD=${BUILD:-1}
+PKGARCH=$ARCH
+NUMJOBS=${NUMJOBS:-" -j7 "}
+
+if [ "$ARCH" = "x86_64" ]; then
+ LIBDIRSUFFIX="64"
+else
+ LIBDIRSUFFIX=""
+fi
+
+# Set up a few useful functions:
+
+fix_perms() {
+ chown -R root:root .
+ find . \
+ \( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \
+ -exec chmod 755 {} \; -o \
+ \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \
+ -exec chmod 644 {} \;
+}
+
+process_man_pages() {
+ # Compress and if needed symlink the man pages:
+ if [ -d usr/man ]; then
+ ( cd usr/man
+ for manpagedir in $(find . -type d -name "man*") ; do
+ ( cd $manpagedir
+ for eachpage in $( find . -type l -maxdepth 1) ; do
+ ln -s $( readlink $eachpage ).gz $eachpage.gz
+ rm $eachpage
+ done
+ gzip -9 *.*
+ )
+ done
+ )
+ fi
+}
+
+process_info_pages() {
+ # Compress info pages and purge "dir" file from the package:
+ if [ -d usr/info ]; then
+ ( cd usr/info
+ rm -f dir
+ gzip -9 *
+ )
+ fi
+}
+
+no_usr_share_doc() {
+ # If there are docs, move them:
+ if [ -d usr/share/doc ]; then
+ mkdir -p usr/doc
+ mv usr/share/doc/* usr/doc
+ rmdir usr/share/doc
+ fi
+}
+
+# Set the compile options for the $ARCH being used:
+. $CWD/arch.use.flags
+
+SLACK_X_BUILD_DIR=$TMP/x11-build
+mkdir -p $SLACK_X_BUILD_DIR
+
+# Better have some binaries installed first, as this may not be
+# in the "magic order". I built mine by hand through trial-and-error
+# before getting this script to work. It wasn't that hard... I think. ;-)
+( cd src
+ for x_source_dir in proto data util xcb lib app doc xserver driver font ; do
+ # See if $1 is a source directory like "lib":
+ if [ ! -z "$1" ]; then
+ if [ ! "$1" = "${x_source_dir}" ]; then
+ continue
+ fi
+ fi
+ PKG=${SLACK_X_BUILD_DIR}/package-${x_source_dir}
+ rm -rf $PKG
+ mkdir -p $PKG
+ ( cd $x_source_dir
+ for x_pkg in *.tar.?z* ; do
+ # Reset $PKGARCH to its initial value:
+ PKGARCH=$ARCH
+ PKGNAME=$(echo $x_pkg | rev | cut -f 2- -d - | rev)
+ # Perhaps $PKGARCH should be something different:
+ if grep -wq "^$PKGNAME" ${CWD}/noarch ; then
+ PKGARCH=noarch
+ fi
+ if grep -wq "^$PKGNAME" ${CWD}/package-blacklist ; then
+ continue
+ fi
+ cd $SLACK_X_BUILD_DIR
+ # If $2 is set, we only want to build one package:
+ if [ ! -z "$2" ]; then
+ if [ "$2" = "$PKGNAME" ]; then
+ # Set $PKG to a private dir for the modular package build:
+ PKG=$SLACK_X_BUILD_DIR/package-$PKGNAME
+ rm -rf $PKG
+ mkdir -p $PKG
+ else
+ continue
+ fi
+ else
+ echo
+ echo "Building from source ${x_pkg}"
+ echo
+ fi
+ if grep -wq "^$PKGNAME" ${CWD}/modularize ; then
+ # Set $PKG to a private dir for the modular package build:
+ PKG=$SLACK_X_BUILD_DIR/package-$PKGNAME
+ rm -rf $PKG
+ mkdir -p $PKG
+ fi
+
+ # Let's figure out the version number on the modular package:
+ MODULAR_PACKAGE_VERSION=$(echo $x_pkg | rev | cut -f 3- -d . | cut -f 1 -d - | rev)
+
+ rm -rf $(pkgbase $x_pkg)
+ tar xf $CWD/src/${x_source_dir}/${x_pkg} || exit 1
+ cd $(pkgbase $x_pkg) || exit 1
+
+ fix_perms
+
+ # If any patches are needed, call this script to apply them:
+ if [ -r $CWD/patch/${PKGNAME}.patch ]; then
+ . $CWD/patch/${PKGNAME}.patch
+ fi
+
+ # I heard somewhere that -O2 breaks some chipset or another. If you encounter
+ # problems, please contact volkerdi@slackware.com. Thanks! :-)
+
+ # ./configure, using custom configure script if needed:
+ if [ -r $CWD/configure/${PKGNAME} ]; then
+ . $CWD/configure/${PKGNAME}
+ else
+ # This is the default configure script:
+ . $CWD/configure/configure
+ fi
+
+ if ! make $NUMJOBS ; then
+ touch ${SLACK_X_BUILD_DIR}/${PKGNAME}.failed
+ continue
+ fi
+
+ make install DESTDIR=$PKG
+
+ mkdir -p $PKG/usr/doc/${PKGNAME}-${MODULAR_PACKAGE_VERSION}
+ cp -a \
+ AUTHORS* COPYING* INSTALL* README* NEWS* TODO* \
+ $PKG/usr/doc/${PKGNAME}-${MODULAR_PACKAGE_VERSION}
+
+ # If there's a ChangeLog, installing at least part of the recent history
+ # is useful, but don't let it get totally out of control:
+ if [ -r ChangeLog ]; then
+ DOCSDIR=$(echo $PKG/usr/doc/${PKGNAME}-$MODULAR_PACKAGE_VERSION)
+ cat ChangeLog | head -n 1000 > $DOCSDIR/ChangeLog
+ touch -r ChangeLog $DOCSDIR/ChangeLog
+ fi
+
+ # Get rid of zero-length junk files:
+ find $PKG/usr/doc/${PKGNAME}-$MODULAR_PACKAGE_VERSION -type f -size 0 -exec rm --verbose "{}" \;
+ rmdir --verbose $PKG/usr/doc/${PKGNAME}-$MODULAR_PACKAGE_VERSION 2> /dev/null
+
+ # Strip binaries:
+ ( cd $PKG
+ find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
+ find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
+ find . | xargs file | grep "current ar archive" | grep ELF | cut -f 1 -d : | xargs strip -g 2> /dev/null
+ )
+
+ # If there's any special post-install things to do, do them:
+ if [ -r $CWD/post-install/${PKGNAME}.post-install ]; then
+ RUNSCRIPT=$(mktemp -p $TMP) || exit 1
+ cat $CWD/post-install/${PKGNAME}.post-install \
+ | sed -e "s#usr/lib#usr/lib${LIBDIRSUFFIX}#g" > $RUNSCRIPT
+ . $RUNSCRIPT
+ rm -f $RUNSCRIPT
+ fi
+
+ # If this package requires some doinst.sh material, add it here:
+ if [ -r $CWD/doinst.sh/${PKGNAME} ]; then
+ mkdir -p $PKG/install
+ cat $CWD/doinst.sh/${PKGNAME} \
+ | sed -e "s#usr/lib#usr/lib${LIBDIRSUFFIX}#g" \
+ >> $PKG/install/doinst.sh
+ fi
+
+ # If this is a modular package, build it here:
+ if [ -d $SLACK_X_BUILD_DIR/package-$PKGNAME ]; then
+ cd $PKG
+ process_man_pages
+ process_info_pages
+ no_usr_share_doc
+ mkdir -p $PKG/install
+ if [ -r $CWD/slack-desc/${PKGNAME} ]; then
+ cat $CWD/slack-desc/${PKGNAME} > $PKG/install/slack-desc
+ else
+ touch $PKG/install/slack-desc-missing
+ fi
+ if [ -r $CWD/build/${PKGNAME} ]; then
+ MODBUILD=$(cat $CWD/build/${PKGNAME})
+ else
+ MODBUILD=$BUILD
+ fi
+ if [ -r $CWD/makepkg/${PKGNAME} ]; then
+ BUILD=$MODBUILD . $CWD/makepkg/${PKGNAME}
+ else
+ /sbin/makepkg -l y -c n ${SLACK_X_BUILD_DIR}/${PKGNAME}-${MODULAR_PACKAGE_VERSION}-${PKGARCH}-${MODBUILD}.txz
+ if [ "$UPGRADE_PACKAGES" = "yes" ]; then
+ /sbin/upgradepkg --install-new ${SLACK_X_BUILD_DIR}/${PKGNAME}-${MODULAR_PACKAGE_VERSION}-${PKGARCH}-${MODBUILD}.txz
+ elif [ "$UPGRADE_PACKAGES" = "always" ]; then
+ /sbin/upgradepkg --install-new --reinstall ${SLACK_X_BUILD_DIR}/${PKGNAME}-${MODULAR_PACKAGE_VERSION}-${PKGARCH}-${MODBUILD}.txz
+ fi
+ fi
+ fi
+
+ # Reset $PKG to assume we're building the whole source dir:
+ PKG=${SLACK_X_BUILD_DIR}/package-${x_source_dir}
+
+ done
+
+ # Nothing here? Must have been fully modular. :-)
+ if [ ! -d ${SLACK_X_BUILD_DIR}/package-${x_source_dir}/etc -a \
+ ! -d ${SLACK_X_BUILD_DIR}/package-${x_source_dir}/usr ]; then
+ continue
+ fi
+
+ # Build an "x11-<sourcedir>" package for anything that wasn't built modular:
+ # It's safer to consider these to have binaries in them. ;-)
+ PKGARCH=$ARCH
+ cd $PKG
+ process_man_pages
+ process_info_pages
+ no_usr_share_doc
+ # If there are post-install things to do for the combined package,
+ # we do them here. This could be used for things like making a
+ # VERSION number for a combined package. :-)
+ if [ -r $CWD/post-install/x11-${x_source_dir}.post-install ]; then
+ RUNSCRIPT=$(mktemp -p $TMP) || exit 1
+ cat $CWD/post-install/x11-${x_source_dir}.post-install \
+ | sed -e "s#usr/lib#usr/lib${LIBDIRSUFFIX}#g" > $RUNSCRIPT
+ . $RUNSCRIPT
+ rm -f $RUNSCRIPT
+ fi
+ mkdir -p $PKG/install
+ if [ -r $CWD/slack-desc/x11-${x_source_dir} ]; then
+ cat $CWD/slack-desc/x11-${x_source_dir} > $PKG/install/slack-desc
+ else
+ touch $PKG/install/slack-desc-missing
+ fi
+ if [ -r $CWD/doinst.sh/x11-${x_source_dir} ]; then
+ cat $CWD/doinst.sh/x11-${x_source_dir} \
+ | sed -e "s#usr/lib#usr/lib${LIBDIRSUFFIX}#g" \
+ >> $PKG/install/doinst.sh
+ fi
+ if [ -r $CWD/build/x11-${PKGNAME} ]; then
+ SRCDIRBUILD=$(cat $CWD/build/x11-${PKGNAME})
+ else
+ SRCDIRBUILD=$BUILD
+ fi
+ if [ -r $CWD/makepkg/${PKGNAME} ]; then
+ BUILD=$MODBUILD . $CWD/makepkg/${PKGNAME}
+ else
+ /sbin/makepkg -l y -c n ${SLACK_X_BUILD_DIR}/x11-${x_source_dir}-${VERSION}-${PKGARCH}-${SRCDIRBUILD}.txz
+ if [ "$UPGRADE_PACKAGES" = "yes" ]; then
+ /sbin/upgradepkg --install-new ${SLACK_X_BUILD_DIR}/x11-${x_source_dir}-${VERSION}-${PKGARCH}-${SRCDIRBUILD}.txz
+ elif [ "$UPGRADE_PACKAGES" = "always" ]; then
+ /sbin/upgradepkg --install-new --reinstall ${SLACK_X_BUILD_DIR}/x11-${x_source_dir}-${VERSION}-${PKGARCH}-${SRCDIRBUILD}.txz
+ fi
+ fi
+ )
+ done
+)
+
+exit 0
+
+# I don't think I'll be using the following stuff, since I went for the latest in
+# "individual", rather than a release. That was mostly because version 7.1 depends
+# on a version of Mesa that won't build against kernel headers this new (&etc.).
+
+# If environment variable "REFRESH" is exported, start by refreshing the source tree:
+# export REFRESH yes
+if [ ! -z "$REFRESH" ]; then
+ # Only works once, unless you uncomment above.
+ unset REFRESH
+ ( cd patches
+ lftp -c \
+ "lftp ftp://ftp.x.org:/pub/X11R7.1/patches
+ mirror --delete --dereference .
+ exit"
+ chmod 644 *
+ )
+ ( cd src
+ mkdir -p update everything
+ for dir in app data deprecated doc driver extras font lib proto util xserver ; do
+ # We won't really download "update", as problems ensue. Plus, --dereference is
+ # bringing us updated files when needed, so it's redundant (like "everything").
+ if [ ! -d $dir ]; then
+ mkdir $dir
+ fi
+ ( cd $dir
+ lftp -c \
+ "lftp ftp://ftp.x.org:/pub/X11R7.1/src/$dir
+ mirror -c --delete --dereference --include-glob "*.tar.bz2" .
+ exit"
+ chmod 644 *
+ )
+ done
+ )
+fi
+
diff --git a/patches/source/libXv/arch.use.flags b/patches/source/libXv/arch.use.flags
new file mode 100644
index 00000000..11087c88
--- /dev/null
+++ b/patches/source/libXv/arch.use.flags
@@ -0,0 +1,9 @@
+if [ "$ARCH" = "i486" ]; then
+ SLKCFLAGS="-O2 -march=i486 -mtune=i686"
+elif [ "$ARCH" = "i586" ]; then
+ SLKCFLAGS="-O2 -march=i586 -mtune=i686"
+elif [ "$ARCH" = "s390" ]; then
+ SLKCFLAGS="-O2"
+elif [ "$ARCH" = "x86_64" ]; then
+ SLKCFLAGS="-O2 -fPIC"
+fi
diff --git a/patches/source/libXv/build/libXv b/patches/source/libXv/build/libXv
new file mode 100644
index 00000000..1551cb6a
--- /dev/null
+++ b/patches/source/libXv/build/libXv
@@ -0,0 +1 @@
+1_slack13.0
diff --git a/patches/source/libXv/configure/configure b/patches/source/libXv/configure/configure
new file mode 100644
index 00000000..dcb1109b
--- /dev/null
+++ b/patches/source/libXv/configure/configure
@@ -0,0 +1,13 @@
+CFLAGS=$SLKCFLAGS \
+CXXFLAGS=$SLKCFLAGS \
+./configure \
+ --prefix=/usr \
+ --libdir=/usr/lib${LIBDIRSUFFIX} \
+ --sysconfdir=/etc \
+ --localstatedir=/var \
+ --infodir=/usr/info \
+ --mandir=/usr/man \
+ --docdir=/usr/doc/${PKGNAME}-${MODULAR_PACKAGE_VERSION} \
+ --with-udev-rules-dir=/lib/udev/rules.d \
+ --disable-static \
+ --build=$ARCH-slackware-linux
diff --git a/patches/source/libXv/libXv.SlackBuild b/patches/source/libXv/libXv.SlackBuild
new file mode 100755
index 00000000..b4a99f6c
--- /dev/null
+++ b/patches/source/libXv/libXv.SlackBuild
@@ -0,0 +1,2 @@
+UPGRADE_PACKAGES=no ./x11.SlackBuild lib libXv
+mv /tmp/x11-build/libXv*txz /tmp
diff --git a/patches/source/libXv/modularize b/patches/source/libXv/modularize
new file mode 100644
index 00000000..8a28ed93
--- /dev/null
+++ b/patches/source/libXv/modularize
@@ -0,0 +1,279 @@
+# If a package is listed here, it will be built apart from the
+# usual "grab bag" package that's made from each source directory.
+
+appres
+bdftopcf
+beforelight
+bigreqsproto
+bitmap
+compiz
+compositeproto
+damageproto
+dmxproto
+dri2proto
+dri3proto
+editres
+encodings
+evieext
+fixesproto
+font-adobe-100dpi
+font-adobe-75dpi
+font-adobe-utopia-100dpi
+font-adobe-utopia-75dpi
+font-adobe-utopia-type1
+font-alias
+font-arabic-misc
+font-bh-100dpi
+font-bh-75dpi
+font-bh-lucidatypewriter-100dpi
+font-bh-lucidatypewriter-75dpi
+font-bh-ttf
+font-bh-type1
+font-bitstream-100dpi
+font-bitstream-75dpi
+font-bitstream-speedo
+font-bitstream-type1
+font-cronyx-cyrillic
+font-cursor-misc
+font-daewoo-misc
+font-dec-misc
+font-ibm-type1
+font-isas-misc
+font-jis-misc
+font-micro-misc
+font-misc-cyrillic
+font-misc-ethiopic
+font-misc-meltho
+font-misc-misc
+font-mutt-misc
+font-schumacher-misc
+font-screen-cyrillic
+font-sony-misc
+font-sun-misc
+font-util
+font-winitzki-cyrillic
+font-xfree86-type1
+fontcacheproto
+fontsproto
+fonttosfnt
+fslsfonts
+fstobdf
+gccmakedep
+glamor-egl
+glproto
+iceauth
+ico
+imake
+inputproto
+intel-gpu-tools
+kbproto
+libFS
+libICE
+libSM
+libX11
+libXScrnSaver
+libXau
+libXaw
+libXaw3d
+libXcm
+libXcomposite
+libXcursor
+libXdamage
+libXdmcp
+libXevie
+libXext
+libXfixes
+libXfont
+libXfontcache
+libXft
+libXi
+libXinerama
+libXmu
+libXp
+libXpm
+libXpresent
+libXrandr
+libXrender
+libXres
+libXt
+libXtst
+libXv
+libXvMC
+libXxf86dga
+libXxf86misc
+libXxf86vm
+libdmx
+libfontenc
+libpciaccess
+libpthread-stubs
+libxcb
+libxkbfile
+libxshmfence
+listres
+lndir
+luit
+makedepend
+mkcomposecache
+mkfontdir
+mkfontscale
+oclock
+pixman
+presentproto
+printproto
+randrproto
+recordproto
+rendercheck
+renderproto
+resourceproto
+rgb
+scrnsaverproto
+sessreg
+setxkbmap
+showfont
+smproxy
+transset
+twm
+util-macros
+videoproto
+viewres
+x11perf
+xauth
+xbacklight
+xbiff
+xbitmaps
+xcalc
+xcb-proto
+xcb-util
+xcb-util-cursor
+xcb-util-errors
+xcb-util-image
+xcb-util-keysyms
+xcb-util-renderutil
+xcb-util-wm
+xclipboard
+xclock
+xcm
+xcmiscproto
+xcmsdb
+xcompmgr
+xconsole
+xcursor-themes
+xcursorgen
+xdbedizzy
+xditview
+xdm
+xdpyinfo
+xdriinfo
+xedit
+xev
+xextproto
+xeyes
+xf86-input-acecad
+xf86-input-aiptek
+xf86-input-evdev
+xf86-input-joystick
+xf86-input-keyboard
+xf86-input-mouse
+xf86-input-penmount
+xf86-input-synaptics
+xf86-input-vmmouse
+xf86-input-void
+xf86-input-wacom
+xf86-video-amdgpu
+xf86-video-apm
+xf86-video-ark
+xf86-video-ast
+xf86-video-ati
+xf86-video-chips
+xf86-video-cirrus
+xf86-video-dummy
+xf86-video-geode
+xf86-video-glint
+xf86-video-i128
+xf86-video-i740
+xf86-video-intel
+xf86-video-mach64
+xf86-video-mga
+xf86-video-modesetting
+xf86-video-neomagic
+xf86-video-nouveau
+xf86-video-nv
+xf86-video-omap
+xf86-video-openchrome
+xf86-video-qxl
+xf86-video-r128
+xf86-video-rendition
+xf86-video-s3
+xf86-video-s3virge
+xf86-video-savage
+xf86-video-siliconmotion
+xf86-video-sis
+xf86-video-sisusb
+xf86-video-tdfx
+xf86-video-tga
+xf86-video-trident
+xf86-video-tseng
+xf86-video-v4l
+xf86-video-vesa
+xf86-video-vmware
+xf86-video-voodoo
+xf86-video-xgi
+xf86-video-xgixp
+xf86bigfontproto
+xf86dga
+xf86dgaproto
+xf86driproto
+xf86miscproto
+xf86vidmodeproto
+xfd
+xfontsel
+xfs
+xfsinfo
+xgamma
+xgc
+xhost
+xineramaproto
+xinit
+xinput
+xkbcomp
+xkbevd
+xkbprint
+xkbutils
+xkeyboard-config
+xkill
+xload
+xlogo
+xlsatoms
+xlsclients
+xlsfonts
+xmag
+xman
+xmessage
+xmh
+xmodmap
+xmore
+xorg-cf-files
+xorg-docs
+xorg-server
+xorg-server-xephyr
+xorg-server-xnest
+xorg-server-xvfb
+xorg-sgml-doctools
+xpr
+xprop
+xproto
+xpyb
+xrandr
+xrdb
+xrefresh
+xscope
+xset
+xsetroot
+xsm
+xstdcmap
+xtrans
+xvidtune
+xvinfo
+xwd
+xwininfo
+xwud
diff --git a/patches/source/libXv/noarch b/patches/source/libXv/noarch
new file mode 100644
index 00000000..8785ee52
--- /dev/null
+++ b/patches/source/libXv/noarch
@@ -0,0 +1,75 @@
+# List packages with an $ARCH of "noarch" (i.e. packages
+# that contain no binaries) here:
+bigreqsproto
+compositeproto
+damageproto
+dejavu-ttf
+dmxproto
+encodings
+evieext
+font-adobe-100dpi
+font-adobe-75dpi
+font-adobe-utopia-100dpi
+font-adobe-utopia-75dpi
+font-adobe-utopia-type1
+font-alias
+font-arabic-misc
+font-bh-100dpi
+font-bh-75dpi
+font-bh-lucidatypewriter-100dpi
+font-bh-lucidatypewriter-75dpi
+font-bh-ttf
+font-bh-type1
+font-bitstream-100dpi
+font-bitstream-75dpi
+font-bitstream-speedo
+font-bitstream-type1
+font-cronyx-cyrillic
+font-cursor-misc
+font-daewoo-misc
+font-dec-misc
+font-ibm-type1
+font-isas-misc
+font-jis-misc
+font-micro-misc
+font-misc-cyrillic
+font-misc-ethiopic
+font-misc-meltho
+font-misc-misc
+font-mutt-misc
+font-schumacher-misc
+font-screen-cyrillic
+font-sony-misc
+font-sun-misc
+font-winitzki-cyrillic
+font-xfree86-type1
+fontcacheproto
+fontsproto
+gccmakedep
+glproto
+inputproto
+kbproto
+libpthread-stubs
+mkfontdir
+printproto
+randrproto
+recordproto
+renderproto
+resourceproto
+scrnsaverproto
+ttf-indic-fonts
+util-macros
+videoproto
+x11-skel
+xcmiscproto
+xcursor-themes
+xf86bigfontproto
+xf86dgaproto
+xf86driproto
+xf86miscproto
+xf86vidmodeproto
+xineramaproto
+xkeyboard-config
+xorg-docs
+xproto
+xtrans
diff --git a/patches/source/libXv/package-blacklist b/patches/source/libXv/package-blacklist
new file mode 100644
index 00000000..603b8c31
--- /dev/null
+++ b/patches/source/libXv/package-blacklist
@@ -0,0 +1,44 @@
+# Enter packages to skip (perhaps because they aren't used on
+# this platform) below. Just the package name -- no version
+# number is needed.
+
+# ARM only packages:
+# They also say in the README for this one that it is not yet ready:
+xf86-video-omap
+
+# MacOS related packages:
+applewmproto
+windowswmproto
+libAppleWM
+libWindowsWM
+
+# Sun video cards:
+xf86-video-sunbw2
+xf86-video-suncg14
+xf86-video-suncg3
+xf86-video-suncg6
+xf86-video-sunffb
+xf86-video-sunleo
+xf86-video-suntcx
+
+# Obsolete packages:
+liboldX
+xf86-video-amd
+xf86-video-via
+xkbdata
+xphelloworld
+xrx
+xf86-video-modesetting
+
+# Not applicable to us
+grandr
+constype
+
+# CAREFUL NOT TO "SHIP" THE STUFF BELOW IN THE MAIN X PACKAGES DIR!
+
+# This is probably obsolete, and kills "X -configure" too
+xf86-video-nsc
+
+# We don't want this one, as it causes failure of X with no xorg.conf
+xf86-video-fbdev
+
diff --git a/patches/source/libXv/slack-desc/libXv b/patches/source/libXv/slack-desc/libXv
new file mode 100644
index 00000000..d72865bf
--- /dev/null
+++ b/patches/source/libXv/slack-desc/libXv
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|'
+# on the right side marks the last column you can put a character in. You must
+# make exactly 11 lines for the formatting to be correct. It's also
+# customary to leave one space after the ':'.
+
+ |-----handy-ruler------------------------------------------------------|
+libXv: libXv (library for the X Video (Xv) extension to the X Window System)
+libXv:
+libXv: libXv is part of X11.
+libXv:
+libXv: For more information about the X.Org Foundation (the providers of the
+libXv: X.Org implementation of the X Window System), see their website:
+libXv:
+libXv: http://www.x.org
+libXv:
+libXv:
+libXv:
diff --git a/patches/source/libXv/slack-desc/libXvMC b/patches/source/libXv/slack-desc/libXvMC
new file mode 100644
index 00000000..aecd7f3a
--- /dev/null
+++ b/patches/source/libXv/slack-desc/libXvMC
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|'
+# on the right side marks the last column you can put a character in. You must
+# make exactly 11 lines for the formatting to be correct. It's also
+# customary to leave one space after the ':'.
+
+ |-----handy-ruler------------------------------------------------------|
+libXvMC: libXvMC (X.Org X11 libXvMC runtime library)
+libXvMC:
+libXvMC: libXvMC is part of X11.
+libXvMC:
+libXvMC: For more information about the X.Org Foundation (the providers of the
+libXvMC: X.Org implementation of the X Window System), see their website:
+libXvMC:
+libXvMC: http://www.x.org
+libXvMC:
+libXvMC:
+libXvMC:
diff --git a/patches/source/libXv/x11.SlackBuild b/patches/source/libXv/x11.SlackBuild
new file mode 100755
index 00000000..c3887dff
--- /dev/null
+++ b/patches/source/libXv/x11.SlackBuild
@@ -0,0 +1,381 @@
+#!/bin/sh
+# Copyright 2007-2014 Patrick J. Volkerding, Sebeka, MN, USA
+# All rights reserved.
+#
+# Redistribution and use of this script, with or without modification, is
+# permitted provided that the following conditions are met:
+#
+# 1. Redistributions of this script must retain the above copyright
+# notice, this list of conditions and the following disclaimer.
+#
+# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED
+# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
+# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
+# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+# To build only a single package group, specify it as $1, like:
+# ./x11.SlackBuild lib
+# To build only a single package, specify both the source directory
+# and the name of the package, like:
+# ./x11.SlackBuild lib libX11
+
+# Upgrade packages as they are built.
+# Default is to upgrade new packages (UPGRADE_PACKAGES=yes).
+# To install ALL newly built packages (even if they are already installed),
+# use UPGRADE_PACKAGES=always
+# To not upgrade, pass UPGRADE_PACKAGES=no
+UPGRADE_PACKAGES=${UPGRADE_PACKAGES:-yes}
+
+pkgbase() {
+ PKGEXT=$(echo $1 | rev | cut -f 1 -d . | rev)
+ case $PKGEXT in
+ 'gz' )
+ PKGRETURN=$(basename $1 .tar.gz)
+ ;;
+ 'bz2' )
+ PKGRETURN=$(basename $1 .tar.bz2)
+ ;;
+ 'lzma' )
+ PKGRETURN=$(basename $1 .tar.lzma)
+ ;;
+ 'xz' )
+ PKGRETURN=$(basename $1 .tar.xz)
+ ;;
+ *)
+ PKGRETURN=$(basename $1)
+ ;;
+ esac
+ echo $PKGRETURN
+}
+
+# Set initial variables:
+CWD=$(pwd)
+TMP=${TMP:-/tmp}
+
+# Automatically determine the architecture we're building on:
+if [ -z "$ARCH" ]; then
+ case "$( uname -m )" in
+ i?86) export ARCH=i486 ;;
+ arm*) export ARCH=arm ;;
+ # Unless $ARCH is already set, use uname -m for all other archs:
+ *) export ARCH=$( uname -m ) ;;
+ esac
+fi
+
+# A lot of this stuff just controls the package names this time:
+VERSION=${VERSION:-7.5}
+BUILD=${BUILD:-1}
+PKGARCH=$ARCH
+NUMJOBS=${NUMJOBS:-" -j7 "}
+
+if [ "$ARCH" = "x86_64" ]; then
+ LIBDIRSUFFIX="64"
+else
+ LIBDIRSUFFIX=""
+fi
+
+# Set up a few useful functions:
+
+fix_perms() {
+ chown -R root:root .
+ find . \
+ \( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \
+ -exec chmod 755 {} \; -o \
+ \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \
+ -exec chmod 644 {} \;
+}
+
+process_man_pages() {
+ # Compress and if needed symlink the man pages:
+ if [ -d usr/man ]; then
+ ( cd usr/man
+ for manpagedir in $(find . -type d -name "man*") ; do
+ ( cd $manpagedir
+ for eachpage in $( find . -type l -maxdepth 1) ; do
+ ln -s $( readlink $eachpage ).gz $eachpage.gz
+ rm $eachpage
+ done
+ gzip -9 *.*
+ )
+ done
+ )
+ fi
+}
+
+process_info_pages() {
+ # Compress info pages and purge "dir" file from the package:
+ if [ -d usr/info ]; then
+ ( cd usr/info
+ rm -f dir
+ gzip -9 *
+ )
+ fi
+}
+
+no_usr_share_doc() {
+ # If there are docs, move them:
+ if [ -d usr/share/doc ]; then
+ mkdir -p usr/doc
+ mv usr/share/doc/* usr/doc
+ rmdir usr/share/doc
+ fi
+}
+
+# Set the compile options for the $ARCH being used:
+. $CWD/arch.use.flags
+
+SLACK_X_BUILD_DIR=$TMP/x11-build
+mkdir -p $SLACK_X_BUILD_DIR
+
+# Better have some binaries installed first, as this may not be
+# in the "magic order". I built mine by hand through trial-and-error
+# before getting this script to work. It wasn't that hard... I think. ;-)
+( cd src
+ for x_source_dir in proto data util xcb lib app doc xserver driver font ; do
+ # See if $1 is a source directory like "lib":
+ if [ ! -z "$1" ]; then
+ if [ ! "$1" = "${x_source_dir}" ]; then
+ continue
+ fi
+ fi
+ PKG=${SLACK_X_BUILD_DIR}/package-${x_source_dir}
+ rm -rf $PKG
+ mkdir -p $PKG
+ ( cd $x_source_dir
+ for x_pkg in *.tar.?z* ; do
+ # Reset $PKGARCH to its initial value:
+ PKGARCH=$ARCH
+ PKGNAME=$(echo $x_pkg | rev | cut -f 2- -d - | rev)
+ # Perhaps $PKGARCH should be something different:
+ if grep -wq "^$PKGNAME" ${CWD}/noarch ; then
+ PKGARCH=noarch
+ fi
+ if grep -wq "^$PKGNAME" ${CWD}/package-blacklist ; then
+ continue
+ fi
+ cd $SLACK_X_BUILD_DIR
+ # If $2 is set, we only want to build one package:
+ if [ ! -z "$2" ]; then
+ if [ "$2" = "$PKGNAME" ]; then
+ # Set $PKG to a private dir for the modular package build:
+ PKG=$SLACK_X_BUILD_DIR/package-$PKGNAME
+ rm -rf $PKG
+ mkdir -p $PKG
+ else
+ continue
+ fi
+ else
+ echo
+ echo "Building from source ${x_pkg}"
+ echo
+ fi
+ if grep -wq "^$PKGNAME" ${CWD}/modularize ; then
+ # Set $PKG to a private dir for the modular package build:
+ PKG=$SLACK_X_BUILD_DIR/package-$PKGNAME
+ rm -rf $PKG
+ mkdir -p $PKG
+ fi
+
+ # Let's figure out the version number on the modular package:
+ MODULAR_PACKAGE_VERSION=$(echo $x_pkg | rev | cut -f 3- -d . | cut -f 1 -d - | rev)
+
+ rm -rf $(pkgbase $x_pkg)
+ tar xf $CWD/src/${x_source_dir}/${x_pkg} || exit 1
+ cd $(pkgbase $x_pkg) || exit 1
+
+ fix_perms
+
+ # If any patches are needed, call this script to apply them:
+ if [ -r $CWD/patch/${PKGNAME}.patch ]; then
+ . $CWD/patch/${PKGNAME}.patch
+ fi
+
+ # I heard somewhere that -O2 breaks some chipset or another. If you encounter
+ # problems, please contact volkerdi@slackware.com. Thanks! :-)
+
+ # ./configure, using custom configure script if needed:
+ if [ -r $CWD/configure/${PKGNAME} ]; then
+ . $CWD/configure/${PKGNAME}
+ else
+ # This is the default configure script:
+ . $CWD/configure/configure
+ fi
+
+ if ! make $NUMJOBS ; then
+ touch ${SLACK_X_BUILD_DIR}/${PKGNAME}.failed
+ continue
+ fi
+
+ make install DESTDIR=$PKG
+
+ mkdir -p $PKG/usr/doc/${PKGNAME}-${MODULAR_PACKAGE_VERSION}
+ cp -a \
+ AUTHORS* COPYING* INSTALL* README* NEWS* TODO* \
+ $PKG/usr/doc/${PKGNAME}-${MODULAR_PACKAGE_VERSION}
+
+ # If there's a ChangeLog, installing at least part of the recent history
+ # is useful, but don't let it get totally out of control:
+ if [ -r ChangeLog ]; then
+ DOCSDIR=$(echo $PKG/usr/doc/${PKGNAME}-$MODULAR_PACKAGE_VERSION)
+ cat ChangeLog | head -n 1000 > $DOCSDIR/ChangeLog
+ touch -r ChangeLog $DOCSDIR/ChangeLog
+ fi
+
+ # Get rid of zero-length junk files:
+ find $PKG/usr/doc/${PKGNAME}-$MODULAR_PACKAGE_VERSION -type f -size 0 -exec rm --verbose "{}" \;
+ rmdir --verbose $PKG/usr/doc/${PKGNAME}-$MODULAR_PACKAGE_VERSION 2> /dev/null
+
+ # Strip binaries:
+ ( cd $PKG
+ find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
+ find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
+ find . | xargs file | grep "current ar archive" | grep ELF | cut -f 1 -d : | xargs strip -g 2> /dev/null
+ )
+
+ # If there's any special post-install things to do, do them:
+ if [ -r $CWD/post-install/${PKGNAME}.post-install ]; then
+ RUNSCRIPT=$(mktemp -p $TMP) || exit 1
+ cat $CWD/post-install/${PKGNAME}.post-install \
+ | sed -e "s#usr/lib#usr/lib${LIBDIRSUFFIX}#g" > $RUNSCRIPT
+ . $RUNSCRIPT
+ rm -f $RUNSCRIPT
+ fi
+
+ # If this package requires some doinst.sh material, add it here:
+ if [ -r $CWD/doinst.sh/${PKGNAME} ]; then
+ mkdir -p $PKG/install
+ cat $CWD/doinst.sh/${PKGNAME} \
+ | sed -e "s#usr/lib#usr/lib${LIBDIRSUFFIX}#g" \
+ >> $PKG/install/doinst.sh
+ fi
+
+ # If this is a modular package, build it here:
+ if [ -d $SLACK_X_BUILD_DIR/package-$PKGNAME ]; then
+ cd $PKG
+ process_man_pages
+ process_info_pages
+ no_usr_share_doc
+ mkdir -p $PKG/install
+ if [ -r $CWD/slack-desc/${PKGNAME} ]; then
+ cat $CWD/slack-desc/${PKGNAME} > $PKG/install/slack-desc
+ else
+ touch $PKG/install/slack-desc-missing
+ fi
+ if [ -r $CWD/build/${PKGNAME} ]; then
+ MODBUILD=$(cat $CWD/build/${PKGNAME})
+ else
+ MODBUILD=$BUILD
+ fi
+ if [ -r $CWD/makepkg/${PKGNAME} ]; then
+ BUILD=$MODBUILD . $CWD/makepkg/${PKGNAME}
+ else
+ /sbin/makepkg -l y -c n ${SLACK_X_BUILD_DIR}/${PKGNAME}-${MODULAR_PACKAGE_VERSION}-${PKGARCH}-${MODBUILD}.txz
+ if [ "$UPGRADE_PACKAGES" = "yes" ]; then
+ /sbin/upgradepkg --install-new ${SLACK_X_BUILD_DIR}/${PKGNAME}-${MODULAR_PACKAGE_VERSION}-${PKGARCH}-${MODBUILD}.txz
+ elif [ "$UPGRADE_PACKAGES" = "always" ]; then
+ /sbin/upgradepkg --install-new --reinstall ${SLACK_X_BUILD_DIR}/${PKGNAME}-${MODULAR_PACKAGE_VERSION}-${PKGARCH}-${MODBUILD}.txz
+ fi
+ fi
+ fi
+
+ # Reset $PKG to assume we're building the whole source dir:
+ PKG=${SLACK_X_BUILD_DIR}/package-${x_source_dir}
+
+ done
+
+ # Nothing here? Must have been fully modular. :-)
+ if [ ! -d ${SLACK_X_BUILD_DIR}/package-${x_source_dir}/etc -a \
+ ! -d ${SLACK_X_BUILD_DIR}/package-${x_source_dir}/usr ]; then
+ continue
+ fi
+
+ # Build an "x11-<sourcedir>" package for anything that wasn't built modular:
+ # It's safer to consider these to have binaries in them. ;-)
+ PKGARCH=$ARCH
+ cd $PKG
+ process_man_pages
+ process_info_pages
+ no_usr_share_doc
+ # If there are post-install things to do for the combined package,
+ # we do them here. This could be used for things like making a
+ # VERSION number for a combined package. :-)
+ if [ -r $CWD/post-install/x11-${x_source_dir}.post-install ]; then
+ RUNSCRIPT=$(mktemp -p $TMP) || exit 1
+ cat $CWD/post-install/x11-${x_source_dir}.post-install \
+ | sed -e "s#usr/lib#usr/lib${LIBDIRSUFFIX}#g" > $RUNSCRIPT
+ . $RUNSCRIPT
+ rm -f $RUNSCRIPT
+ fi
+ mkdir -p $PKG/install
+ if [ -r $CWD/slack-desc/x11-${x_source_dir} ]; then
+ cat $CWD/slack-desc/x11-${x_source_dir} > $PKG/install/slack-desc
+ else
+ touch $PKG/install/slack-desc-missing
+ fi
+ if [ -r $CWD/doinst.sh/x11-${x_source_dir} ]; then
+ cat $CWD/doinst.sh/x11-${x_source_dir} \
+ | sed -e "s#usr/lib#usr/lib${LIBDIRSUFFIX}#g" \
+ >> $PKG/install/doinst.sh
+ fi
+ if [ -r $CWD/build/x11-${PKGNAME} ]; then
+ SRCDIRBUILD=$(cat $CWD/build/x11-${PKGNAME})
+ else
+ SRCDIRBUILD=$BUILD
+ fi
+ if [ -r $CWD/makepkg/${PKGNAME} ]; then
+ BUILD=$MODBUILD . $CWD/makepkg/${PKGNAME}
+ else
+ /sbin/makepkg -l y -c n ${SLACK_X_BUILD_DIR}/x11-${x_source_dir}-${VERSION}-${PKGARCH}-${SRCDIRBUILD}.txz
+ if [ "$UPGRADE_PACKAGES" = "yes" ]; then
+ /sbin/upgradepkg --install-new ${SLACK_X_BUILD_DIR}/x11-${x_source_dir}-${VERSION}-${PKGARCH}-${SRCDIRBUILD}.txz
+ elif [ "$UPGRADE_PACKAGES" = "always" ]; then
+ /sbin/upgradepkg --install-new --reinstall ${SLACK_X_BUILD_DIR}/x11-${x_source_dir}-${VERSION}-${PKGARCH}-${SRCDIRBUILD}.txz
+ fi
+ fi
+ )
+ done
+)
+
+exit 0
+
+# I don't think I'll be using the following stuff, since I went for the latest in
+# "individual", rather than a release. That was mostly because version 7.1 depends
+# on a version of Mesa that won't build against kernel headers this new (&etc.).
+
+# If environment variable "REFRESH" is exported, start by refreshing the source tree:
+# export REFRESH yes
+if [ ! -z "$REFRESH" ]; then
+ # Only works once, unless you uncomment above.
+ unset REFRESH
+ ( cd patches
+ lftp -c \
+ "lftp ftp://ftp.x.org:/pub/X11R7.1/patches
+ mirror --delete --dereference .
+ exit"
+ chmod 644 *
+ )
+ ( cd src
+ mkdir -p update everything
+ for dir in app data deprecated doc driver extras font lib proto util xserver ; do
+ # We won't really download "update", as problems ensue. Plus, --dereference is
+ # bringing us updated files when needed, so it's redundant (like "everything").
+ if [ ! -d $dir ]; then
+ mkdir $dir
+ fi
+ ( cd $dir
+ lftp -c \
+ "lftp ftp://ftp.x.org:/pub/X11R7.1/src/$dir
+ mirror -c --delete --dereference --include-glob "*.tar.bz2" .
+ exit"
+ chmod 644 *
+ )
+ done
+ )
+fi
+
diff --git a/patches/source/libXvMC/arch.use.flags b/patches/source/libXvMC/arch.use.flags
new file mode 100644
index 00000000..11087c88
--- /dev/null
+++ b/patches/source/libXvMC/arch.use.flags
@@ -0,0 +1,9 @@
+if [ "$ARCH" = "i486" ]; then
+ SLKCFLAGS="-O2 -march=i486 -mtune=i686"
+elif [ "$ARCH" = "i586" ]; then
+ SLKCFLAGS="-O2 -march=i586 -mtune=i686"
+elif [ "$ARCH" = "s390" ]; then
+ SLKCFLAGS="-O2"
+elif [ "$ARCH" = "x86_64" ]; then
+ SLKCFLAGS="-O2 -fPIC"
+fi
diff --git a/patches/source/libXvMC/build/libXvMC b/patches/source/libXvMC/build/libXvMC
new file mode 100644
index 00000000..1551cb6a
--- /dev/null
+++ b/patches/source/libXvMC/build/libXvMC
@@ -0,0 +1 @@
+1_slack13.0
diff --git a/patches/source/libXvMC/configure/configure b/patches/source/libXvMC/configure/configure
new file mode 100644
index 00000000..dcb1109b
--- /dev/null
+++ b/patches/source/libXvMC/configure/configure
@@ -0,0 +1,13 @@
+CFLAGS=$SLKCFLAGS \
+CXXFLAGS=$SLKCFLAGS \
+./configure \
+ --prefix=/usr \
+ --libdir=/usr/lib${LIBDIRSUFFIX} \
+ --sysconfdir=/etc \
+ --localstatedir=/var \
+ --infodir=/usr/info \
+ --mandir=/usr/man \
+ --docdir=/usr/doc/${PKGNAME}-${MODULAR_PACKAGE_VERSION} \
+ --with-udev-rules-dir=/lib/udev/rules.d \
+ --disable-static \
+ --build=$ARCH-slackware-linux
diff --git a/patches/source/libXvMC/libXvMC.SlackBuild b/patches/source/libXvMC/libXvMC.SlackBuild
new file mode 100755
index 00000000..2b657972
--- /dev/null
+++ b/patches/source/libXvMC/libXvMC.SlackBuild
@@ -0,0 +1,2 @@
+UPGRADE_PACKAGES=no ./x11.SlackBuild lib libXvMC
+mv /tmp/x11-build/libXvMC*txz /tmp
diff --git a/patches/source/libXvMC/modularize b/patches/source/libXvMC/modularize
new file mode 100644
index 00000000..8a28ed93
--- /dev/null
+++ b/patches/source/libXvMC/modularize
@@ -0,0 +1,279 @@
+# If a package is listed here, it will be built apart from the
+# usual "grab bag" package that's made from each source directory.
+
+appres
+bdftopcf
+beforelight
+bigreqsproto
+bitmap
+compiz
+compositeproto
+damageproto
+dmxproto
+dri2proto
+dri3proto
+editres
+encodings
+evieext
+fixesproto
+font-adobe-100dpi
+font-adobe-75dpi
+font-adobe-utopia-100dpi
+font-adobe-utopia-75dpi
+font-adobe-utopia-type1
+font-alias
+font-arabic-misc
+font-bh-100dpi
+font-bh-75dpi
+font-bh-lucidatypewriter-100dpi
+font-bh-lucidatypewriter-75dpi
+font-bh-ttf
+font-bh-type1
+font-bitstream-100dpi
+font-bitstream-75dpi
+font-bitstream-speedo
+font-bitstream-type1
+font-cronyx-cyrillic
+font-cursor-misc
+font-daewoo-misc
+font-dec-misc
+font-ibm-type1
+font-isas-misc
+font-jis-misc
+font-micro-misc
+font-misc-cyrillic
+font-misc-ethiopic
+font-misc-meltho
+font-misc-misc
+font-mutt-misc
+font-schumacher-misc
+font-screen-cyrillic
+font-sony-misc
+font-sun-misc
+font-util
+font-winitzki-cyrillic
+font-xfree86-type1
+fontcacheproto
+fontsproto
+fonttosfnt
+fslsfonts
+fstobdf
+gccmakedep
+glamor-egl
+glproto
+iceauth
+ico
+imake
+inputproto
+intel-gpu-tools
+kbproto
+libFS
+libICE
+libSM
+libX11
+libXScrnSaver
+libXau
+libXaw
+libXaw3d
+libXcm
+libXcomposite
+libXcursor
+libXdamage
+libXdmcp
+libXevie
+libXext
+libXfixes
+libXfont
+libXfontcache
+libXft
+libXi
+libXinerama
+libXmu
+libXp
+libXpm
+libXpresent
+libXrandr
+libXrender
+libXres
+libXt
+libXtst
+libXv
+libXvMC
+libXxf86dga
+libXxf86misc
+libXxf86vm
+libdmx
+libfontenc
+libpciaccess
+libpthread-stubs
+libxcb
+libxkbfile
+libxshmfence
+listres
+lndir
+luit
+makedepend
+mkcomposecache
+mkfontdir
+mkfontscale
+oclock
+pixman
+presentproto
+printproto
+randrproto
+recordproto
+rendercheck
+renderproto
+resourceproto
+rgb
+scrnsaverproto
+sessreg
+setxkbmap
+showfont
+smproxy
+transset
+twm
+util-macros
+videoproto
+viewres
+x11perf
+xauth
+xbacklight
+xbiff
+xbitmaps
+xcalc
+xcb-proto
+xcb-util
+xcb-util-cursor
+xcb-util-errors
+xcb-util-image
+xcb-util-keysyms
+xcb-util-renderutil
+xcb-util-wm
+xclipboard
+xclock
+xcm
+xcmiscproto
+xcmsdb
+xcompmgr
+xconsole
+xcursor-themes
+xcursorgen
+xdbedizzy
+xditview
+xdm
+xdpyinfo
+xdriinfo
+xedit
+xev
+xextproto
+xeyes
+xf86-input-acecad
+xf86-input-aiptek
+xf86-input-evdev
+xf86-input-joystick
+xf86-input-keyboard
+xf86-input-mouse
+xf86-input-penmount
+xf86-input-synaptics
+xf86-input-vmmouse
+xf86-input-void
+xf86-input-wacom
+xf86-video-amdgpu
+xf86-video-apm
+xf86-video-ark
+xf86-video-ast
+xf86-video-ati
+xf86-video-chips
+xf86-video-cirrus
+xf86-video-dummy
+xf86-video-geode
+xf86-video-glint
+xf86-video-i128
+xf86-video-i740
+xf86-video-intel
+xf86-video-mach64
+xf86-video-mga
+xf86-video-modesetting
+xf86-video-neomagic
+xf86-video-nouveau
+xf86-video-nv
+xf86-video-omap
+xf86-video-openchrome
+xf86-video-qxl
+xf86-video-r128
+xf86-video-rendition
+xf86-video-s3
+xf86-video-s3virge
+xf86-video-savage
+xf86-video-siliconmotion
+xf86-video-sis
+xf86-video-sisusb
+xf86-video-tdfx
+xf86-video-tga
+xf86-video-trident
+xf86-video-tseng
+xf86-video-v4l
+xf86-video-vesa
+xf86-video-vmware
+xf86-video-voodoo
+xf86-video-xgi
+xf86-video-xgixp
+xf86bigfontproto
+xf86dga
+xf86dgaproto
+xf86driproto
+xf86miscproto
+xf86vidmodeproto
+xfd
+xfontsel
+xfs
+xfsinfo
+xgamma
+xgc
+xhost
+xineramaproto
+xinit
+xinput
+xkbcomp
+xkbevd
+xkbprint
+xkbutils
+xkeyboard-config
+xkill
+xload
+xlogo
+xlsatoms
+xlsclients
+xlsfonts
+xmag
+xman
+xmessage
+xmh
+xmodmap
+xmore
+xorg-cf-files
+xorg-docs
+xorg-server
+xorg-server-xephyr
+xorg-server-xnest
+xorg-server-xvfb
+xorg-sgml-doctools
+xpr
+xprop
+xproto
+xpyb
+xrandr
+xrdb
+xrefresh
+xscope
+xset
+xsetroot
+xsm
+xstdcmap
+xtrans
+xvidtune
+xvinfo
+xwd
+xwininfo
+xwud
diff --git a/patches/source/libXvMC/noarch b/patches/source/libXvMC/noarch
new file mode 100644
index 00000000..8785ee52
--- /dev/null
+++ b/patches/source/libXvMC/noarch
@@ -0,0 +1,75 @@
+# List packages with an $ARCH of "noarch" (i.e. packages
+# that contain no binaries) here:
+bigreqsproto
+compositeproto
+damageproto
+dejavu-ttf
+dmxproto
+encodings
+evieext
+font-adobe-100dpi
+font-adobe-75dpi
+font-adobe-utopia-100dpi
+font-adobe-utopia-75dpi
+font-adobe-utopia-type1
+font-alias
+font-arabic-misc
+font-bh-100dpi
+font-bh-75dpi
+font-bh-lucidatypewriter-100dpi
+font-bh-lucidatypewriter-75dpi
+font-bh-ttf
+font-bh-type1
+font-bitstream-100dpi
+font-bitstream-75dpi
+font-bitstream-speedo
+font-bitstream-type1
+font-cronyx-cyrillic
+font-cursor-misc
+font-daewoo-misc
+font-dec-misc
+font-ibm-type1
+font-isas-misc
+font-jis-misc
+font-micro-misc
+font-misc-cyrillic
+font-misc-ethiopic
+font-misc-meltho
+font-misc-misc
+font-mutt-misc
+font-schumacher-misc
+font-screen-cyrillic
+font-sony-misc
+font-sun-misc
+font-winitzki-cyrillic
+font-xfree86-type1
+fontcacheproto
+fontsproto
+gccmakedep
+glproto
+inputproto
+kbproto
+libpthread-stubs
+mkfontdir
+printproto
+randrproto
+recordproto
+renderproto
+resourceproto
+scrnsaverproto
+ttf-indic-fonts
+util-macros
+videoproto
+x11-skel
+xcmiscproto
+xcursor-themes
+xf86bigfontproto
+xf86dgaproto
+xf86driproto
+xf86miscproto
+xf86vidmodeproto
+xineramaproto
+xkeyboard-config
+xorg-docs
+xproto
+xtrans
diff --git a/patches/source/libXvMC/package-blacklist b/patches/source/libXvMC/package-blacklist
new file mode 100644
index 00000000..603b8c31
--- /dev/null
+++ b/patches/source/libXvMC/package-blacklist
@@ -0,0 +1,44 @@
+# Enter packages to skip (perhaps because they aren't used on
+# this platform) below. Just the package name -- no version
+# number is needed.
+
+# ARM only packages:
+# They also say in the README for this one that it is not yet ready:
+xf86-video-omap
+
+# MacOS related packages:
+applewmproto
+windowswmproto
+libAppleWM
+libWindowsWM
+
+# Sun video cards:
+xf86-video-sunbw2
+xf86-video-suncg14
+xf86-video-suncg3
+xf86-video-suncg6
+xf86-video-sunffb
+xf86-video-sunleo
+xf86-video-suntcx
+
+# Obsolete packages:
+liboldX
+xf86-video-amd
+xf86-video-via
+xkbdata
+xphelloworld
+xrx
+xf86-video-modesetting
+
+# Not applicable to us
+grandr
+constype
+
+# CAREFUL NOT TO "SHIP" THE STUFF BELOW IN THE MAIN X PACKAGES DIR!
+
+# This is probably obsolete, and kills "X -configure" too
+xf86-video-nsc
+
+# We don't want this one, as it causes failure of X with no xorg.conf
+xf86-video-fbdev
+
diff --git a/patches/source/libXvMC/slack-desc/libXvMC b/patches/source/libXvMC/slack-desc/libXvMC
new file mode 100644
index 00000000..aecd7f3a
--- /dev/null
+++ b/patches/source/libXvMC/slack-desc/libXvMC
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|'
+# on the right side marks the last column you can put a character in. You must
+# make exactly 11 lines for the formatting to be correct. It's also
+# customary to leave one space after the ':'.
+
+ |-----handy-ruler------------------------------------------------------|
+libXvMC: libXvMC (X.Org X11 libXvMC runtime library)
+libXvMC:
+libXvMC: libXvMC is part of X11.
+libXvMC:
+libXvMC: For more information about the X.Org Foundation (the providers of the
+libXvMC: X.Org implementation of the X Window System), see their website:
+libXvMC:
+libXvMC: http://www.x.org
+libXvMC:
+libXvMC:
+libXvMC:
diff --git a/patches/source/libXvMC/x11.SlackBuild b/patches/source/libXvMC/x11.SlackBuild
new file mode 100755
index 00000000..c3887dff
--- /dev/null
+++ b/patches/source/libXvMC/x11.SlackBuild
@@ -0,0 +1,381 @@
+#!/bin/sh
+# Copyright 2007-2014 Patrick J. Volkerding, Sebeka, MN, USA
+# All rights reserved.
+#
+# Redistribution and use of this script, with or without modification, is
+# permitted provided that the following conditions are met:
+#
+# 1. Redistributions of this script must retain the above copyright
+# notice, this list of conditions and the following disclaimer.
+#
+# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED
+# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
+# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
+# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+# To build only a single package group, specify it as $1, like:
+# ./x11.SlackBuild lib
+# To build only a single package, specify both the source directory
+# and the name of the package, like:
+# ./x11.SlackBuild lib libX11
+
+# Upgrade packages as they are built.
+# Default is to upgrade new packages (UPGRADE_PACKAGES=yes).
+# To install ALL newly built packages (even if they are already installed),
+# use UPGRADE_PACKAGES=always
+# To not upgrade, pass UPGRADE_PACKAGES=no
+UPGRADE_PACKAGES=${UPGRADE_PACKAGES:-yes}
+
+pkgbase() {
+ PKGEXT=$(echo $1 | rev | cut -f 1 -d . | rev)
+ case $PKGEXT in
+ 'gz' )
+ PKGRETURN=$(basename $1 .tar.gz)
+ ;;
+ 'bz2' )
+ PKGRETURN=$(basename $1 .tar.bz2)
+ ;;
+ 'lzma' )
+ PKGRETURN=$(basename $1 .tar.lzma)
+ ;;
+ 'xz' )
+ PKGRETURN=$(basename $1 .tar.xz)
+ ;;
+ *)
+ PKGRETURN=$(basename $1)
+ ;;
+ esac
+ echo $PKGRETURN
+}
+
+# Set initial variables:
+CWD=$(pwd)
+TMP=${TMP:-/tmp}
+
+# Automatically determine the architecture we're building on:
+if [ -z "$ARCH" ]; then
+ case "$( uname -m )" in
+ i?86) export ARCH=i486 ;;
+ arm*) export ARCH=arm ;;
+ # Unless $ARCH is already set, use uname -m for all other archs:
+ *) export ARCH=$( uname -m ) ;;
+ esac
+fi
+
+# A lot of this stuff just controls the package names this time:
+VERSION=${VERSION:-7.5}
+BUILD=${BUILD:-1}
+PKGARCH=$ARCH
+NUMJOBS=${NUMJOBS:-" -j7 "}
+
+if [ "$ARCH" = "x86_64" ]; then
+ LIBDIRSUFFIX="64"
+else
+ LIBDIRSUFFIX=""
+fi
+
+# Set up a few useful functions:
+
+fix_perms() {
+ chown -R root:root .
+ find . \
+ \( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \
+ -exec chmod 755 {} \; -o \
+ \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \
+ -exec chmod 644 {} \;
+}
+
+process_man_pages() {
+ # Compress and if needed symlink the man pages:
+ if [ -d usr/man ]; then
+ ( cd usr/man
+ for manpagedir in $(find . -type d -name "man*") ; do
+ ( cd $manpagedir
+ for eachpage in $( find . -type l -maxdepth 1) ; do
+ ln -s $( readlink $eachpage ).gz $eachpage.gz
+ rm $eachpage
+ done
+ gzip -9 *.*
+ )
+ done
+ )
+ fi
+}
+
+process_info_pages() {
+ # Compress info pages and purge "dir" file from the package:
+ if [ -d usr/info ]; then
+ ( cd usr/info
+ rm -f dir
+ gzip -9 *
+ )
+ fi
+}
+
+no_usr_share_doc() {
+ # If there are docs, move them:
+ if [ -d usr/share/doc ]; then
+ mkdir -p usr/doc
+ mv usr/share/doc/* usr/doc
+ rmdir usr/share/doc
+ fi
+}
+
+# Set the compile options for the $ARCH being used:
+. $CWD/arch.use.flags
+
+SLACK_X_BUILD_DIR=$TMP/x11-build
+mkdir -p $SLACK_X_BUILD_DIR
+
+# Better have some binaries installed first, as this may not be
+# in the "magic order". I built mine by hand through trial-and-error
+# before getting this script to work. It wasn't that hard... I think. ;-)
+( cd src
+ for x_source_dir in proto data util xcb lib app doc xserver driver font ; do
+ # See if $1 is a source directory like "lib":
+ if [ ! -z "$1" ]; then
+ if [ ! "$1" = "${x_source_dir}" ]; then
+ continue
+ fi
+ fi
+ PKG=${SLACK_X_BUILD_DIR}/package-${x_source_dir}
+ rm -rf $PKG
+ mkdir -p $PKG
+ ( cd $x_source_dir
+ for x_pkg in *.tar.?z* ; do
+ # Reset $PKGARCH to its initial value:
+ PKGARCH=$ARCH
+ PKGNAME=$(echo $x_pkg | rev | cut -f 2- -d - | rev)
+ # Perhaps $PKGARCH should be something different:
+ if grep -wq "^$PKGNAME" ${CWD}/noarch ; then
+ PKGARCH=noarch
+ fi
+ if grep -wq "^$PKGNAME" ${CWD}/package-blacklist ; then
+ continue
+ fi
+ cd $SLACK_X_BUILD_DIR
+ # If $2 is set, we only want to build one package:
+ if [ ! -z "$2" ]; then
+ if [ "$2" = "$PKGNAME" ]; then
+ # Set $PKG to a private dir for the modular package build:
+ PKG=$SLACK_X_BUILD_DIR/package-$PKGNAME
+ rm -rf $PKG
+ mkdir -p $PKG
+ else
+ continue
+ fi
+ else
+ echo
+ echo "Building from source ${x_pkg}"
+ echo
+ fi
+ if grep -wq "^$PKGNAME" ${CWD}/modularize ; then
+ # Set $PKG to a private dir for the modular package build:
+ PKG=$SLACK_X_BUILD_DIR/package-$PKGNAME
+ rm -rf $PKG
+ mkdir -p $PKG
+ fi
+
+ # Let's figure out the version number on the modular package:
+ MODULAR_PACKAGE_VERSION=$(echo $x_pkg | rev | cut -f 3- -d . | cut -f 1 -d - | rev)
+
+ rm -rf $(pkgbase $x_pkg)
+ tar xf $CWD/src/${x_source_dir}/${x_pkg} || exit 1
+ cd $(pkgbase $x_pkg) || exit 1
+
+ fix_perms
+
+ # If any patches are needed, call this script to apply them:
+ if [ -r $CWD/patch/${PKGNAME}.patch ]; then
+ . $CWD/patch/${PKGNAME}.patch
+ fi
+
+ # I heard somewhere that -O2 breaks some chipset or another. If you encounter
+ # problems, please contact volkerdi@slackware.com. Thanks! :-)
+
+ # ./configure, using custom configure script if needed:
+ if [ -r $CWD/configure/${PKGNAME} ]; then
+ . $CWD/configure/${PKGNAME}
+ else
+ # This is the default configure script:
+ . $CWD/configure/configure
+ fi
+
+ if ! make $NUMJOBS ; then
+ touch ${SLACK_X_BUILD_DIR}/${PKGNAME}.failed
+ continue
+ fi
+
+ make install DESTDIR=$PKG
+
+ mkdir -p $PKG/usr/doc/${PKGNAME}-${MODULAR_PACKAGE_VERSION}
+ cp -a \
+ AUTHORS* COPYING* INSTALL* README* NEWS* TODO* \
+ $PKG/usr/doc/${PKGNAME}-${MODULAR_PACKAGE_VERSION}
+
+ # If there's a ChangeLog, installing at least part of the recent history
+ # is useful, but don't let it get totally out of control:
+ if [ -r ChangeLog ]; then
+ DOCSDIR=$(echo $PKG/usr/doc/${PKGNAME}-$MODULAR_PACKAGE_VERSION)
+ cat ChangeLog | head -n 1000 > $DOCSDIR/ChangeLog
+ touch -r ChangeLog $DOCSDIR/ChangeLog
+ fi
+
+ # Get rid of zero-length junk files:
+ find $PKG/usr/doc/${PKGNAME}-$MODULAR_PACKAGE_VERSION -type f -size 0 -exec rm --verbose "{}" \;
+ rmdir --verbose $PKG/usr/doc/${PKGNAME}-$MODULAR_PACKAGE_VERSION 2> /dev/null
+
+ # Strip binaries:
+ ( cd $PKG
+ find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
+ find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
+ find . | xargs file | grep "current ar archive" | grep ELF | cut -f 1 -d : | xargs strip -g 2> /dev/null
+ )
+
+ # If there's any special post-install things to do, do them:
+ if [ -r $CWD/post-install/${PKGNAME}.post-install ]; then
+ RUNSCRIPT=$(mktemp -p $TMP) || exit 1
+ cat $CWD/post-install/${PKGNAME}.post-install \
+ | sed -e "s#usr/lib#usr/lib${LIBDIRSUFFIX}#g" > $RUNSCRIPT
+ . $RUNSCRIPT
+ rm -f $RUNSCRIPT
+ fi
+
+ # If this package requires some doinst.sh material, add it here:
+ if [ -r $CWD/doinst.sh/${PKGNAME} ]; then
+ mkdir -p $PKG/install
+ cat $CWD/doinst.sh/${PKGNAME} \
+ | sed -e "s#usr/lib#usr/lib${LIBDIRSUFFIX}#g" \
+ >> $PKG/install/doinst.sh
+ fi
+
+ # If this is a modular package, build it here:
+ if [ -d $SLACK_X_BUILD_DIR/package-$PKGNAME ]; then
+ cd $PKG
+ process_man_pages
+ process_info_pages
+ no_usr_share_doc
+ mkdir -p $PKG/install
+ if [ -r $CWD/slack-desc/${PKGNAME} ]; then
+ cat $CWD/slack-desc/${PKGNAME} > $PKG/install/slack-desc
+ else
+ touch $PKG/install/slack-desc-missing
+ fi
+ if [ -r $CWD/build/${PKGNAME} ]; then
+ MODBUILD=$(cat $CWD/build/${PKGNAME})
+ else
+ MODBUILD=$BUILD
+ fi
+ if [ -r $CWD/makepkg/${PKGNAME} ]; then
+ BUILD=$MODBUILD . $CWD/makepkg/${PKGNAME}
+ else
+ /sbin/makepkg -l y -c n ${SLACK_X_BUILD_DIR}/${PKGNAME}-${MODULAR_PACKAGE_VERSION}-${PKGARCH}-${MODBUILD}.txz
+ if [ "$UPGRADE_PACKAGES" = "yes" ]; then
+ /sbin/upgradepkg --install-new ${SLACK_X_BUILD_DIR}/${PKGNAME}-${MODULAR_PACKAGE_VERSION}-${PKGARCH}-${MODBUILD}.txz
+ elif [ "$UPGRADE_PACKAGES" = "always" ]; then
+ /sbin/upgradepkg --install-new --reinstall ${SLACK_X_BUILD_DIR}/${PKGNAME}-${MODULAR_PACKAGE_VERSION}-${PKGARCH}-${MODBUILD}.txz
+ fi
+ fi
+ fi
+
+ # Reset $PKG to assume we're building the whole source dir:
+ PKG=${SLACK_X_BUILD_DIR}/package-${x_source_dir}
+
+ done
+
+ # Nothing here? Must have been fully modular. :-)
+ if [ ! -d ${SLACK_X_BUILD_DIR}/package-${x_source_dir}/etc -a \
+ ! -d ${SLACK_X_BUILD_DIR}/package-${x_source_dir}/usr ]; then
+ continue
+ fi
+
+ # Build an "x11-<sourcedir>" package for anything that wasn't built modular:
+ # It's safer to consider these to have binaries in them. ;-)
+ PKGARCH=$ARCH
+ cd $PKG
+ process_man_pages
+ process_info_pages
+ no_usr_share_doc
+ # If there are post-install things to do for the combined package,
+ # we do them here. This could be used for things like making a
+ # VERSION number for a combined package. :-)
+ if [ -r $CWD/post-install/x11-${x_source_dir}.post-install ]; then
+ RUNSCRIPT=$(mktemp -p $TMP) || exit 1
+ cat $CWD/post-install/x11-${x_source_dir}.post-install \
+ | sed -e "s#usr/lib#usr/lib${LIBDIRSUFFIX}#g" > $RUNSCRIPT
+ . $RUNSCRIPT
+ rm -f $RUNSCRIPT
+ fi
+ mkdir -p $PKG/install
+ if [ -r $CWD/slack-desc/x11-${x_source_dir} ]; then
+ cat $CWD/slack-desc/x11-${x_source_dir} > $PKG/install/slack-desc
+ else
+ touch $PKG/install/slack-desc-missing
+ fi
+ if [ -r $CWD/doinst.sh/x11-${x_source_dir} ]; then
+ cat $CWD/doinst.sh/x11-${x_source_dir} \
+ | sed -e "s#usr/lib#usr/lib${LIBDIRSUFFIX}#g" \
+ >> $PKG/install/doinst.sh
+ fi
+ if [ -r $CWD/build/x11-${PKGNAME} ]; then
+ SRCDIRBUILD=$(cat $CWD/build/x11-${PKGNAME})
+ else
+ SRCDIRBUILD=$BUILD
+ fi
+ if [ -r $CWD/makepkg/${PKGNAME} ]; then
+ BUILD=$MODBUILD . $CWD/makepkg/${PKGNAME}
+ else
+ /sbin/makepkg -l y -c n ${SLACK_X_BUILD_DIR}/x11-${x_source_dir}-${VERSION}-${PKGARCH}-${SRCDIRBUILD}.txz
+ if [ "$UPGRADE_PACKAGES" = "yes" ]; then
+ /sbin/upgradepkg --install-new ${SLACK_X_BUILD_DIR}/x11-${x_source_dir}-${VERSION}-${PKGARCH}-${SRCDIRBUILD}.txz
+ elif [ "$UPGRADE_PACKAGES" = "always" ]; then
+ /sbin/upgradepkg --install-new --reinstall ${SLACK_X_BUILD_DIR}/x11-${x_source_dir}-${VERSION}-${PKGARCH}-${SRCDIRBUILD}.txz
+ fi
+ fi
+ )
+ done
+)
+
+exit 0
+
+# I don't think I'll be using the following stuff, since I went for the latest in
+# "individual", rather than a release. That was mostly because version 7.1 depends
+# on a version of Mesa that won't build against kernel headers this new (&etc.).
+
+# If environment variable "REFRESH" is exported, start by refreshing the source tree:
+# export REFRESH yes
+if [ ! -z "$REFRESH" ]; then
+ # Only works once, unless you uncomment above.
+ unset REFRESH
+ ( cd patches
+ lftp -c \
+ "lftp ftp://ftp.x.org:/pub/X11R7.1/patches
+ mirror --delete --dereference .
+ exit"
+ chmod 644 *
+ )
+ ( cd src
+ mkdir -p update everything
+ for dir in app data deprecated doc driver extras font lib proto util xserver ; do
+ # We won't really download "update", as problems ensue. Plus, --dereference is
+ # bringing us updated files when needed, so it's redundant (like "everything").
+ if [ ! -d $dir ]; then
+ mkdir $dir
+ fi
+ ( cd $dir
+ lftp -c \
+ "lftp ftp://ftp.x.org:/pub/X11R7.1/src/$dir
+ mirror -c --delete --dereference --include-glob "*.tar.bz2" .
+ exit"
+ chmod 644 *
+ )
+ done
+ )
+fi
+
diff --git a/patches/source/libexif/libexif.SlackBuild b/patches/source/libexif/libexif.SlackBuild
new file mode 100755
index 00000000..12d31596
--- /dev/null
+++ b/patches/source/libexif/libexif.SlackBuild
@@ -0,0 +1,97 @@
+#!/bin/sh
+
+# Copyright 2008, 2009 Patrick J. Volkerding, Sebeka, Minnesota, USA
+# All rights reserved.
+#
+# Redistribution and use of this script, with or without modification, is
+# permitted provided that the following conditions are met:
+#
+# 1. Redistributions of this script must retain the above copyright
+# notice, this list of conditions and the following disclaimer.
+#
+# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED
+# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
+# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
+# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+PKGNAM=libexif
+VERSION=${VERSION:-$(echo $PKGNAM-*.tar.?z* | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
+NUMJOBS=${NUMJOBS:-" -j7 "}
+BUILD=${BUILD:-1_slack13.0}
+
+# Automatically determine the architecture we're building on:
+if [ -z "$ARCH" ]; then
+ case "$(uname -m)" in
+ i?86) ARCH=i486 ;;
+ arm*) readelf /usr/bin/file -A | egrep -q "Tag_CPU.*[4,5]" && ARCH=arm || ARCH=armv7lh ;;
+ # Unless $ARCH is already set, use uname -m for all other archs:
+ *) ARCH=$(uname -m) ;;
+ esac
+ export ARCH
+fi
+
+if [ "$ARCH" = "i486" ]; then
+ SLKCFLAGS="-O2 -march=i486 -mtune=i686"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "s390" ]; then
+ SLKCFLAGS="-O2"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "x86_64" ]; then
+ SLKCFLAGS="-O2 -fPIC"
+ LIBDIRSUFFIX="64"
+fi
+
+CWD=$(pwd)
+TMP=${TMP:-/tmp}
+PKG=$TMP/package-libexif
+
+rm -rf $PKG
+mkdir -p $TMP $PKG
+cd $TMP
+rm -rf libexif-$VERSION
+tar xvf $CWD/libexif-$VERSION.tar.?z* || exit 1
+cd libexif-$VERSION
+zcat $CWD/libexif.pc.diff.gz | patch -p1 --verbose || exit 1
+chown -R root:root .
+find . \
+ \( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \
+ -exec chmod 755 {} \; -o \
+ \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \
+ -exec chmod 644 {} \;
+
+CFLAGS="$SLKCFLAGS" \
+./configure \
+ --prefix=/usr \
+ --libdir=/usr/lib${LIBDIRSUFFIX} \
+ --sysconfdir=/etc \
+ --disable-static \
+ --localstatedir=/var/lib \
+ --build=$ARCH-slackware-linux
+
+make $NUMJOBS || make || exit 1
+make install DESTDIR=$PKG || exit 1
+
+find $PKG | xargs file | grep -e "executable" -e "shared object" | grep ELF \
+ | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
+
+strip -g $PKG/usr/lib/*.a
+
+rm -rf $PKG/usr/share/doc
+mkdir -p $PKG/usr/doc/libexif-$VERSION
+cp -a \
+ ABOUT-NLS AUTHORS COPYING NEWS README \
+ $PKG/usr/doc/libexif-$VERSION
+
+mkdir -p $PKG/install
+cat $CWD/slack-desc > $PKG/install/slack-desc
+
+cd $PKG
+/sbin/makepkg -l y -c n $TMP/libexif-$VERSION-$ARCH-$BUILD.txz
+
diff --git a/patches/source/libexif/libexif.pc.diff b/patches/source/libexif/libexif.pc.diff
new file mode 100644
index 00000000..9ccd12d8
--- /dev/null
+++ b/patches/source/libexif/libexif.pc.diff
@@ -0,0 +1,8 @@
+--- ./libexif.pc.in.orig 2011-05-18 23:41:01.000000000 -0500
++++ ./libexif.pc.in 2012-07-17 22:23:32.283678691 -0500
+@@ -9,4 +9,4 @@
+ Version: @VERSION@
+ Libs: -L${libdir} -lexif
+ Libs.private: -lm
+-Cflags: -I${includedir}
++Cflags: -I${includedir}/libexif
diff --git a/patches/source/libexif/slack-desc b/patches/source/libexif/slack-desc
new file mode 100644
index 00000000..992e1915
--- /dev/null
+++ b/patches/source/libexif/slack-desc
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|'
+# on the right side marks the last column you can put a character in. You must
+# make exactly 11 lines for the formatting to be correct. It's also
+# customary to leave one space after the ':'.
+
+ |-----handy-ruler------------------------------------------------------|
+libexif: libexif (Exchangeable Image File Format library)
+libexif:
+libexif: EXIF stands for Exchangeable Image File Format, which is a format used
+libexif: to store extra information in images such as the JPEG files produced
+libexif: by digital cameras. The libexif library allows programs such as
+libexif: gthumb to parse, edit, and save EXIF data.
+libexif:
+libexif:
+libexif:
+libexif:
+libexif:
diff --git a/patches/source/libgcrypt/libgcrypt.SlackBuild b/patches/source/libgcrypt/libgcrypt.SlackBuild
new file mode 100755
index 00000000..e51baa2e
--- /dev/null
+++ b/patches/source/libgcrypt/libgcrypt.SlackBuild
@@ -0,0 +1,104 @@
+#!/bin/sh
+
+# Copyright 2006-2009 Robby Workman, Northport, AL, USA
+# Copyright 2007, 2008, 2009 Patrick J. Volkerding, Sebeka, MN, USA
+# All rights reserved.
+#
+# Redistribution and use of this script, with or without modification, is
+# permitted provided that the following conditions are met:
+#
+# 1. Redistributions of this script must retain the above copyright
+# notice, this list of conditions and the following disclaimer.
+#
+# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED
+# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
+# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
+# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+PKGNAM=libgcrypt
+VERSION=${VERSION:-$(echo $PKGNAM-*.tar.bz2 | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
+BUILD=${BUILD:-1_slack13.0}
+
+# Automatically determine the architecture we're building on:
+if [ -z "$ARCH" ]; then
+ case "$(uname -m)" in
+ i?86) ARCH=i486 ;;
+ arm*) readelf /usr/bin/file -A | egrep -q "Tag_CPU.*[4,5]" && ARCH=arm || ARCH=armv7lh ;;
+ # Unless $ARCH is already set, use uname -m for all other archs:
+ *) ARCH=$(uname -m) ;;
+ esac
+ export ARCH
+fi
+
+NUMJOBS=${NUMJOBS:-" -j7 "}
+
+CWD=$(pwd)
+TMP=${TMP:-/tmp}
+PKG=$TMP/pkg-$PKGNAM
+
+if [ "$ARCH" = "i486" ]; then
+ SLKCFLAGS="-O2 -march=i486 -mtune=i686"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "s390" ]; then
+ SLKCFLAGS="-O2"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "x86_64" ]; then
+ SLKCFLAGS="-O2 -fPIC"
+ LIBDIRSUFFIX="64"
+fi
+
+rm -rf $PKG
+mkdir -p $TMP $PKG
+cd $TMP
+rm -rf $PKGNAM-$VERSION
+tar xvf $CWD/$PKGNAM-$VERSION.tar.bz2 || exit 1
+cd $PKGNAM-$VERSION
+chown -R root:root .
+find . \
+ \( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \
+ -exec chmod 755 {} \; -o \
+ \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \
+ -exec chmod 644 {} \;
+
+CFLAGS="$SLKCFLAGS" \
+CXXFLAGS="$SLKCFLAGS" \
+./configure \
+ --prefix=/usr \
+ --libdir=/usr/lib${LIBDIRSUFFIX} \
+ --infodir=/usr/info \
+ --docdir=/usr/doc/libgcrypt-$VERSION \
+ --enable-shared=yes \
+ --enable-static=yes \
+ --program-prefix="" \
+ --program-suffix="" \
+ --build=$ARCH-slackware-linux \
+ --host=$ARCH-slackware-linux
+
+make $NUMJOBS || make || exit 1
+make install DESTDIR=$PKG
+
+find $PKG | xargs file | grep -e "executable" -e "shared object" \
+ | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
+
+rm -f $PKG/usr/info/dir
+gzip -9 $PKG/usr/info/*
+
+mkdir -p $PKG/usr/doc/$PKGNAM-$VERSION
+cp -a \
+ AUTHORS BUGS COPYING* ChangeLog INSTALL NEWS \
+ README README.SVN THANKS TODO VERSION \
+ $PKG/usr/doc/$PKGNAM-$VERSION
+
+mkdir -p $PKG/install
+cat $CWD/slack-desc > $PKG/install/slack-desc
+
+cd $PKG
+/sbin/makepkg -l y -c n $TMP/$PKGNAM-$VERSION-$ARCH-$BUILD.txz
+
diff --git a/patches/source/libgcrypt/slack-desc b/patches/source/libgcrypt/slack-desc
new file mode 100644
index 00000000..365fab64
--- /dev/null
+++ b/patches/source/libgcrypt/slack-desc
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|'
+# on the right side marks the last column you can put a character in. You must
+# make exactly 11 lines for the formatting to be correct. It's also
+# customary to leave one space after the ':'.
+
+ |-----handy-ruler------------------------------------------------------|
+libgcrypt: libgcrypt (General purpose crypto library)
+libgcrypt:
+libgcrypt: Libgcrypt is a general purpose crypto library based on the code
+libgcrypt: used in GnuPG.
+libgcrypt:
+libgcrypt:
+libgcrypt:
+libgcrypt:
+libgcrypt:
+libgcrypt:
+libgcrypt:
diff --git a/patches/source/libgpg-error/libgpg-error.SlackBuild b/patches/source/libgpg-error/libgpg-error.SlackBuild
new file mode 100755
index 00000000..c2dbb268
--- /dev/null
+++ b/patches/source/libgpg-error/libgpg-error.SlackBuild
@@ -0,0 +1,118 @@
+#!/bin/sh
+
+# Copyright 2006, 2009 Robby Workman, Northport, AL, USA
+# Copyright 2007, 2008, 2009, 2010 Patrick J. Volkerding, Sebeka, MN, USA
+# All rights reserved.
+#
+# Redistribution and use of this script, with or without modification, is
+# permitted provided that the following conditions are met:
+#
+# 1. Redistributions of this script must retain the above copyright
+# notice, this list of conditions and the following disclaimer.
+#
+# THIS SCRIPT IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED
+# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
+# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
+# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SCRIPT, EVEN IF
+# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+PKGNAM=libgpg-error
+VERSION=${VERSION:-$(echo $PKGNAM-*.tar.bz2 | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
+BUILD=${BUILD:-1_slack13.0}
+
+# Automatically determine the architecture we're building on:
+if [ -z "$ARCH" ]; then
+ case "$( uname -m )" in
+ i?86) export ARCH=i486 ;;
+ arm*) export ARCH=arm ;;
+ # Unless $ARCH is already set, use uname -m for all other archs:
+ *) export ARCH=$( uname -m ) ;;
+ esac
+fi
+
+NUMJOBS=${NUMJOBS:-" -j7 "}
+
+CWD=$(pwd)
+TMP=${TMP:-/tmp}
+PKG=$TMP/package-$PKGNAM
+
+if [ "$ARCH" = "i486" ]; then
+ SLKCFLAGS="-O2 -march=i486 -mtune=i686"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "s390" ]; then
+ SLKCFLAGS="-O2"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "x86_64" ]; then
+ SLKCFLAGS="-O2 -fPIC"
+ LIBDIRSUFFIX="64"
+else
+ SLKCFLAGS="-O2"
+ LIBDIRSUFFIX=""
+fi
+
+rm -rf $PKG
+mkdir -p $TMP $PKG
+cd $TMP
+rm -rf $PKGNAM-$VERSION
+tar xvf $CWD/$PKGNAM-$VERSION.tar.bz2 || exit 1
+cd $PKGNAM-$VERSION || exit 1
+chown -R root:root .
+find . \
+ \( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \
+ -exec chmod 755 {} \; -o \
+ \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \
+ -exec chmod 644 {} \;
+
+CFLAGS="$SLKCFLAGS" \
+CXXFLAGS="$SLKCFLAGS" \
+./configure \
+ --prefix=/usr \
+ --libdir=/usr/lib${LIBDIRSUFFIX} \
+ --infodir=/usr/info \
+ --docdir=/usr/doc/$PKGNAM-$VERSION \
+ --enable-shared=yes \
+ --enable-static=yes \
+ --build=$ARCH-slackware-linux \
+ --host=$ARCH-slackware-linux
+
+make $NUMJOBS || make || exit 1
+make install DESTDIR=$PKG
+
+# Move the shared library to $PKG/lib${LIBDIRSUFFIX}:
+mkdir -p $PKG/lib${LIBDIRSUFFIX}
+( cd $PKG/usr/lib${LIBDIRSUFFIX}
+ for file in lib*.so.?.* ; do
+ mv $file ../../lib${LIBDIRSUFFIX}
+ ln -sf ../../lib${LIBDIRSUFFIX}/$file .
+ done
+ cp -a lib*.so.? ../../lib${LIBDIRSUFFIX}
+)
+
+find $PKG | xargs file | grep -e "executable" -e "shared object" \
+ | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
+
+mkdir -p $PKG/usr/doc/$PKGNAM-$VERSION
+cp -a \
+ AUTHORS COPYING* INSTALL NEWS README* THANKS VERSION \
+ $PKG/usr/doc/$PKGNAM-$VERSION
+
+# If there's a ChangeLog, installing at least part of the recent history
+# is useful, but don't let it get totally out of control:
+if [ -r ChangeLog ]; then
+ DOCSDIR=$(echo $PKG/usr/doc/${PKGNAM}-$VERSION)
+ cat ChangeLog | head -n 1000 > $DOCSDIR/ChangeLog
+ touch -r ChangeLog $DOCSDIR/ChangeLog
+fi
+
+mkdir -p $PKG/install
+cat $CWD/slack-desc > $PKG/install/slack-desc
+
+cd $PKG
+/sbin/makepkg -l y -c n $TMP/$PKGNAM-$VERSION-$ARCH-$BUILD.txz
+
diff --git a/patches/source/libgpg-error/slack-desc b/patches/source/libgpg-error/slack-desc
new file mode 100644
index 00000000..1d0969cd
--- /dev/null
+++ b/patches/source/libgpg-error/slack-desc
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|'
+# on the right side marks the last column you can put a character in. You must
+# make exactly 11 lines for the formatting to be correct. It's also
+# customary to leave one space after the ':'.
+
+ |-----handy-ruler------------------------------------------------------|
+libgpg-error: libgpg-error (GnuPG Error Definitions Library)
+libgpg-error:
+libgpg-error: This is a library that defines common error values for all GnuPG
+libgpg-error: components. Among these are GPG, GPGSM, GPGME, GPG-Agent,
+libgpg-error: libgcrypt, Libksba, DirMngr, Pinentry, SmartCard Daemon, and more.
+libgpg-error:
+libgpg-error:
+libgpg-error:
+libgpg-error:
+libgpg-error:
+libgpg-error:
diff --git a/patches/source/libidn/libidn.SlackBuild b/patches/source/libidn/libidn.SlackBuild
new file mode 100755
index 00000000..b9d7c23b
--- /dev/null
+++ b/patches/source/libidn/libidn.SlackBuild
@@ -0,0 +1,137 @@
+#!/bin/sh
+
+# Copyright 2008, 2009, 2010, 2018 Patrick J. Volkerding, Sebeka, MN, USA
+# All rights reserved.
+#
+# Redistribution and use of this script, with or without modification, is
+# permitted provided that the following conditions are met:
+#
+# 1. Redistributions of this script must retain the above copyright
+# notice, this list of conditions and the following disclaimer.
+#
+# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED
+# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
+# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
+# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+cd $(dirname $0) ; CWD=$(pwd)
+
+PKGNAM=libidn
+VERSION=${VERSION:-$(echo $PKGNAM-*.tar.?z | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
+BUILD=${BUILD:-1_slack13.0}
+
+# Automatically determine the architecture we're building on:
+if [ -z "$ARCH" ]; then
+ case "$( uname -m )" in
+ i?86) export ARCH=i486 ;;
+ arm*) export ARCH=arm ;;
+ # Unless $ARCH is already set, use uname -m for all other archs:
+ *) export ARCH=$( uname -m ) ;;
+ esac
+fi
+
+# If the variable PRINT_PACKAGE_NAME is set, then this script will report what
+# the name of the created package would be, and then exit. This information
+# could be useful to other scripts.
+if [ ! -z "${PRINT_PACKAGE_NAME}" ]; then
+ echo "$PKGNAM-$VERSION-$ARCH-$BUILD.txz"
+ exit 0
+fi
+
+NUMJOBS=${NUMJOBS:-" -j7 "}
+
+if [ "$ARCH" = "i486" ]; then
+ SLKCFLAGS="-O2 -march=i486 -mtune=i686"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "s390" ]; then
+ SLKCFLAGS="-O2"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "x86_64" ]; then
+ SLKCFLAGS="-O2 -fPIC"
+ LIBDIRSUFFIX="64"
+else
+ SLKCFLAGS="-O2"
+ LIBDIRSUFFIX=""
+fi
+
+TMP=${TMP:-/tmp}
+PKG=$TMP/package-libidn
+
+rm -rf $PKG
+mkdir -p $TMP $PKG
+cd $TMP
+rm -rf libidn-$VERSION
+tar xvf $CWD/libidn-$VERSION.tar.?z || exit 1
+cd libidn-$VERSION || exit 1
+chown -R root:root .
+find . \
+ \( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \
+ -exec chmod 755 {} \; -o \
+ \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \
+ -exec chmod 644 {} \;
+
+CFLAGS="$SLKCFLAGS" \
+./configure \
+ --prefix=/usr \
+ --libdir=/usr/lib${LIBDIRSUFFIX} \
+ --mandir=/usr/man \
+ --infodir=/usr/info \
+ --disable-static \
+ --build=$ARCH-slackware-linux || exit 1
+
+make $NUMJOBS || make || exit 1
+make install DESTDIR=$PKG || exit 1
+
+find $PKG | xargs file | grep -e "executable" -e "shared object" | grep ELF \
+ | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
+
+# Compress and if needed symlink the man pages:
+if [ -d $PKG/usr/man ]; then
+ ( cd $PKG/usr/man
+ for manpagedir in $(find . -type d -name "man*") ; do
+ ( cd $manpagedir
+ for eachpage in $( find . -type l -maxdepth 1) ; do
+ ln -s $( readlink $eachpage ).gz $eachpage.gz
+ rm $eachpage
+ done
+ gzip -9 *.?
+ )
+ done
+ )
+fi
+
+# Compress info pages and purge "dir" file from the package:
+if [ -d $PKG/usr/info ]; then
+ ( cd $PKG/usr/info
+ rm -f dir
+ gzip -9 *
+ )
+fi
+
+mkdir -p $PKG/usr/doc/libidn-$VERSION
+cp -a \
+ ABOUT-NLS AUTHORS COPYING* FAQ INSTALL NEWS README* THANKS TODO \
+ contrib \
+ libidn/libidn.html \
+ $PKG/usr/doc/libidn-$VERSION
+
+# If there's a ChangeLog, installing at least part of the recent history
+# is useful, but don't let it get totally out of control:
+if [ -r ChangeLog ]; then
+ DOCSDIR=$(echo $PKG/usr/doc/${PKGNAM}-$VERSION)
+ cat ChangeLog | head -n 1000 > $DOCSDIR/ChangeLog
+ touch -r ChangeLog $DOCSDIR/ChangeLog
+fi
+
+mkdir -p $PKG/install
+cat $CWD/slack-desc > $PKG/install/slack-desc
+
+cd $PKG
+/sbin/makepkg -l y -c n $TMP/libidn-$VERSION-$ARCH-$BUILD.txz
+
diff --git a/patches/source/libidn/slack-desc b/patches/source/libidn/slack-desc
new file mode 100644
index 00000000..a10cfe7b
--- /dev/null
+++ b/patches/source/libidn/slack-desc
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|' on
+# the right side marks the last column you can put a character in. You must make
+# exactly 11 lines for the formatting to be correct. It's also customary to
+# leave one space after the ':'.
+
+ |-----handy-ruler------------------------------------------------------|
+libidn: libidn (GNU Internationalized Domain Name library)
+libidn:
+libidn: GNU Libidn is an implementation of the Stringprep, Punycode and IDNA
+libidn: specifications defined by the IETF Internationalized Domain Names
+libidn: (IDN) working group, used for internationalized domain names.
+libidn:
+libidn:
+libidn:
+libidn:
+libidn:
+libidn:
diff --git a/patches/source/libjpeg/jpeg-6b.diff b/patches/source/libjpeg/jpeg-6b.diff
new file mode 100644
index 00000000..8ad8bb5d
--- /dev/null
+++ b/patches/source/libjpeg/jpeg-6b.diff
@@ -0,0 +1,59 @@
+--- makefile.cfg.orig Sat Mar 21 13:08:57 1998
++++ makefile.cfg Tue Oct 6 19:15:26 1998
+@@ -21,6 +21,8 @@
+
+ # The name of your C compiler:
+ CC= @CC@
++SONAME=libjpeg.so.62
++SHLIBNAME=libjpeg.so.62.0.0
+
+ # You may need to adjust these cc options:
+ CFLAGS= @CFLAGS@ @CPPFLAGS@ @INCLUDEFLAGS@
+@@ -125,6 +127,7 @@
+ jdsample.$(O) jdcolor.$(O) jquant1.$(O) jquant2.$(O) jdmerge.$(O)
+ # These objectfiles are included in libjpeg.a
+ LIBOBJECTS= $(CLIBOBJECTS) $(DLIBOBJECTS) $(COMOBJECTS)
++SHLIBOBJECTS= $(LIBOBJECTS:%.o=%.so)
+ # object files for sample applications (excluding library files)
+ COBJECTS= cjpeg.$(O) rdppm.$(O) rdgif.$(O) rdtarga.$(O) rdrle.$(O) \
+ rdbmp.$(O) rdswitch.$(O) cdjpeg.$(O)
+@@ -133,7 +136,7 @@
+ TROBJECTS= jpegtran.$(O) rdswitch.$(O) cdjpeg.$(O) transupp.$(O)
+
+
+-all: @A2K_DEPS@ libjpeg.$(A) cjpeg djpeg jpegtran rdjpgcom wrjpgcom
++all: @A2K_DEPS@ libjpeg.$(A) $(SHLIBNAME) cjpeg djpeg jpegtran rdjpgcom wrjpgcom
+
+ # Special compilation rules to support ansi2knr and libtool.
+ .SUFFIXES: .lo .la
+@@ -171,6 +174,11 @@
+ $(LIBTOOL) --mode=link $(CC) -o libjpeg.la $(LIBOBJECTS) \
+ -rpath $(libdir) -version-info $(JPEG_LIB_VERSION)
+
++# shared library
++
++$(SHLIBNAME): @A2K_DEPS@ $(SHLIBOBJECTS)
++ gcc -o $(SHLIBNAME) -Wl,-soname,$(SONAME) -shared $(SHLIBOBJECTS)
++
+ # sample programs:
+
+ cjpeg: $(COBJECTS) libjpeg.$(A)
+@@ -214,7 +222,7 @@
+ clean:
+ $(RM) *.o *.lo libjpeg.a libjpeg.la
+ $(RM) cjpeg djpeg jpegtran rdjpgcom wrjpgcom
+- $(RM) ansi2knr core testout* config.log config.status
++ $(RM) ansi2knr core testout* config.log config.status $(SHLIBNAME)
+ $(RM) -r knr .libs _libs
+
+ distclean: clean
+@@ -289,6 +297,9 @@
+ jidctfst.$(O): jidctfst.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h jdct.h
+ jidctint.$(O): jidctint.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h jdct.h
+ jidctred.$(O): jidctred.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h jdct.h
++
++%.so : %.c
++ $(CC) -c -fPIC $(CFLAGS) $(CPPFLAGS) $< -o $@
+ jquant1.$(O): jquant1.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h
+ jquant2.$(O): jquant2.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h
+ jutils.$(O): jutils.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h
diff --git a/patches/source/libjpeg/jpeg.CVE-2013-6629.diff b/patches/source/libjpeg/jpeg.CVE-2013-6629.diff
new file mode 100644
index 00000000..37c267a1
--- /dev/null
+++ b/patches/source/libjpeg/jpeg.CVE-2013-6629.diff
@@ -0,0 +1,32 @@
+From f457207b57d0e234cf7a174d20a7db424b82173d Mon Sep 17 00:00:00 2001
+From: mancha <mancha1@hush.com>
+Date: Fri, 22 Nov 2013
+Subject: CVE-2013-6629
+
+get_sos() in jdmarker.c does not check for duplication of component data
+while reading segments following Start Of Scan (SOS) JPEG markers. This
+allows remote attackers to obtain sensitive information from uninitialized
+memory locations via crafted JPEG images.
+
+Adapted from:
+https://codereview.chromium.org/download/issue31603002_1.diff
+
+---
+ jdmarker.c | 6 ++++++
+ 1 file changed, 6 insertions(+)
+
+--- a/jdmarker.c
++++ b/jdmarker.c
+@@ -347,6 +347,12 @@ get_sos (j_decompress_ptr cinfo)
+
+ TRACEMS3(cinfo, 1, JTRC_SOS_COMPONENT, cc,
+ compptr->dc_tbl_no, compptr->ac_tbl_no);
++
++ /* This CSi (cc) should differ from the previous CSi */
++ for (ci = 0; ci < i; ci++) {
++ if (cinfo->cur_comp_info[ci] == compptr)
++ ERREXIT1(cinfo, JERR_BAD_COMPONENT_ID, cc);
++ }
+ }
+
+ /* Collect the additional scan parameters Ss, Se, Ah/Al. */
diff --git a/patches/source/libjpeg/libjpeg.SlackBuild b/patches/source/libjpeg/libjpeg.SlackBuild
new file mode 100755
index 00000000..21063ce6
--- /dev/null
+++ b/patches/source/libjpeg/libjpeg.SlackBuild
@@ -0,0 +1,103 @@
+#!/bin/sh
+
+# Copyright 2008, 2009, 2013 Patrick J. Volkerding, Sebeka, MN, USA
+# All rights reserved.
+#
+# Redistribution and use of this script, with or without modification, is
+# permitted provided that the following conditions are met:
+#
+# 1. Redistributions of this script must retain the above copyright
+# notice, this list of conditions and the following disclaimer.
+#
+# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED
+# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
+# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
+# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+VERSION=${VERSION:-6b}
+BUILD=${BUILD:-6_slack13.0}
+
+# Automatically determine the architecture we're building on:
+if [ -z "$ARCH" ]; then
+ case "$(uname -m)" in
+ i?86) ARCH=i486 ;;
+ arm*) readelf /usr/bin/file -A | egrep -q "Tag_CPU.*[4,5]" && ARCH=arm || ARCH=armv7lh ;;
+ # Unless $ARCH is already set, use uname -m for all other archs:
+ *) ARCH=$(uname -m) ;;
+ esac
+ export ARCH
+fi
+
+CWD=$(pwd)
+TMP=${TMP:-/tmp}
+PKG=$TMP/package-libjpeg
+
+if [ "$ARCH" = "i486" ]; then
+ SLKCFLAGS="-O2 -march=i486 -mtune=i686"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "s390" ]; then
+ SLKCFLAGS="-O2"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "x86_64" ]; then
+ SLKCFLAGS="-O2 -fPIC"
+ LIBDIRSUFFIX="64"
+fi
+
+rm -rf $PKG
+mkdir -p $TMP $PKG
+
+# Explode the package framework:
+cd $PKG
+explodepkg $CWD/_libjpeg.tar.gz
+if [ "$ARCH" = "x86_64" ]; then
+ mv usr/lib usr/lib${LIBDIRSUFFIX}
+ sed -i -e "s#usr/lib#usr/lib${LIBDIRSUFFIX}#g" install/doinst.sh
+fi
+
+cd $TMP
+rm -rf jpeg-6b
+tar xzvf $CWD/jpegsrc.v6b.tar.gz
+cd jpeg-6b
+chown -R root:root .
+zcat $CWD/jpeg-6b.diff.gz | patch -p0 -E
+zcat $CWD/jpeg.CVE-2013-6629.diff.gz | patch -p1 --verbose || exit 1
+export CFLAGS="$SLKCFLAGS"
+./configure \
+ --libdir=/usr/lib${LIBDIRSUFFIX}
+make -j3 || exit 1
+strip cjpeg djpeg rdjpgcom wrjpgcom jpegtran
+cat cjpeg > $PKG/usr/bin/cjpeg
+cat djpeg > $PKG/usr/bin/djpeg
+cat jpegtran > $PKG/usr/bin/jpegtran
+cat rdjpgcom > $PKG/usr/bin/rdjpgcom
+cat wrjpgcom > $PKG/usr/bin/wrjpgcom
+for page in cjpeg.1 djpeg.1 jpegtran.1 rdjpgcom.1 wrjpgcom.1 ; do
+ cat $page | gzip -9c > $PKG/usr/man/man1/$page.gz
+done
+strip --strip-unneeded libjpeg.so.62.0.0
+cat libjpeg.so.62.0.0 > $PKG/usr/lib${LIBDIRSUFFIX}/libjpeg.so.62.0.0
+cat libjpeg.a > $PKG/usr/lib${LIBDIRSUFFIX}/libjpeg.a
+cp -a jconfig.h jpeglib.h jmorecfg.h jerror.h $PKG/usr/include
+# KDE includes this complete header list, but the libjpeg source doesn't
+# suggest it, and we trust them. :)
+#for file in jchuff.h jdhuff.h jdct.h jerror.h jinclude.h jmemsys.h \
+# jmorecfg.h jpegint.h jpeglib.h jversion.h cdjpeg.h cderror.h jconfig.h ; do
+# cp -a $file $PKG/usr/include
+#done
+mkdir -p $PKG/usr/doc/libjpeg-$VERSION
+cp -a README *.doc $PKG/usr/doc/libjpeg-$VERSION
+chmod 644 $PKG/usr/doc/libjpeg-$VERSION/*
+mkdir -p $PKG/install
+cat $CWD/slack-desc > $PKG/install/slack-desc
+
+# Build the package:
+cd $PKG
+makepkg -c y -l y $TMP/libjpeg-$VERSION-$ARCH-$BUILD.txz
+
diff --git a/patches/source/libjpeg/slack-desc b/patches/source/libjpeg/slack-desc
new file mode 100644
index 00000000..d1add7fd
--- /dev/null
+++ b/patches/source/libjpeg/slack-desc
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|'
+# on the right side marks the last column you can put a character in. You must
+# make exactly 11 lines for the formatting to be correct. It's also
+# customary to leave one space after the ':'.
+
+ |-----handy-ruler------------------------------------------------------|
+libjpeg: libjpeg (Independent JPEG Group's JPEG software)
+libjpeg:
+libjpeg: Software to implement JPEG image compression and decompression. JPEG
+libjpeg: (pronounced 'jay-peg') is a standardized compression method for
+libjpeg: full-color and gray-scale images. JPEG is intended for compressing
+libjpeg: 'real-world' scenes; cartoons and other non-realistic images are not
+libjpeg: its strong suit. JPEG is lossy, however, on typical images of
+libjpeg: real-world scenes, very good compression levels can be obtained with
+libjpeg: no visible change, and amazingly high compression levels are possible
+libjpeg: if you can tolerate a low-quality image.
+libjpeg:
diff --git a/patches/source/libpng/libpng.SlackBuild b/patches/source/libpng/libpng.SlackBuild
new file mode 100755
index 00000000..b5bcd8e6
--- /dev/null
+++ b/patches/source/libpng/libpng.SlackBuild
@@ -0,0 +1,102 @@
+#!/bin/sh
+
+# Copyright 2005-2009 Patrick J. Volkerding, Sebeka, MN, USA
+# All rights reserved.
+#
+# Redistribution and use of this script, with or without modification, is
+# permitted provided that the following conditions are met:
+#
+# 1. Redistributions of this script must retain the above copyright
+# notice, this list of conditions and the following disclaimer.
+#
+# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED
+# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
+# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
+# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+VERSION=1.2.57
+BUILD=${BUILD:-1_slack13.0}
+
+# Automatically determine the architecture we're building on:
+if [ -z "$ARCH" ]; then
+ case "$( uname -m )" in
+ i?86) export ARCH=i486 ;;
+ arm*) export ARCH=arm ;;
+ # Unless $ARCH is already set, use uname -m for all other archs:
+ *) export ARCH=$( uname -m ) ;;
+ esac
+fi
+
+if [ "$ARCH" = "x86_64" ]; then
+ LIBDIRSUFFIX="64"
+else
+ LIBDIRSUFFIX=""
+fi
+
+CWD=$(pwd)
+TMP=${TMP:-/tmp}
+PKG=$TMP/package-libpng
+rm -rf $PKG
+mkdir -p $TMP $PKG/usr
+
+cd $TMP
+rm -rf libpng-$VERSION
+tar xvf $CWD/libpng-$VERSION.tar.xz || exit 1
+cd libpng-$VERSION
+chown -R root:root .
+find . \
+ \( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \
+ -exec chmod 755 {} \; -o \
+ \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \
+ -exec chmod 644 {} \;
+
+# Might as well link to -lz -lm, since the ./configure seems
+# to be doing it that way now... finally. That'll prevent
+# a couple of emails a week. :-)
+zcat $CWD/libpng.libs.diff.gz | patch -p1 --verbose || exit 1
+
+# Need this to substitute macros, but we'll keep using the
+# pre-built Makefile for now anyway...
+./configure --prefix=/usr \
+ --libdir=/usr/lib${LIBDIRSUFFIX}
+
+# Link the custom makefile:
+ln -sf scripts/makefile.linux ./Makefile
+
+make -j4 prefix=/usr LIBPATH=/usr/lib${LIBDIRSUFFIX} || exit 1
+make install prefix=/usr LIBPATH=/usr/lib${LIBDIRSUFFIX} DESTDIR=$PKG
+
+# This symlink is needed to keep old applications running:
+# I guess the real lib used the major number 3, then 0 for
+# a short while, and now .3 again. Hopefully it will stay
+# this way as it was .3 in Slackware 10.2. One can hope.
+( cd $PKG/usr/lib${LIBDIRSUFFIX}
+ if [ ! -e libpng.so.0 -a -e libpng.so.3 ]; then
+ ln -sf libpng.so.3 libpng.so.0
+ fi
+)
+
+find $PKG | xargs file | grep -e "executable" -e "shared object" \
+ | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
+
+gzip -9 $PKG/usr/man/man?/*
+
+mkdir -p $PKG/usr/doc/libpng-$VERSION
+cp -a \
+ ANNOUNCE CHANGES INSTALL KNOWNBUG LICENSE README TODO Y2KINFO \
+ libpng*.txt example.c \
+ $PKG/usr/doc/libpng-$VERSION
+
+mkdir -p $PKG/install
+cat $CWD/slack-desc > $PKG/install/slack-desc
+
+cd $PKG
+/sbin/makepkg -l y -c n $TMP/libpng-$VERSION-$ARCH-$BUILD.txz
+
diff --git a/patches/source/libpng/libpng.libs.diff b/patches/source/libpng/libpng.libs.diff
new file mode 100644
index 00000000..814365f6
--- /dev/null
+++ b/patches/source/libpng/libpng.libs.diff
@@ -0,0 +1,18 @@
+diff -ruN libpng-1.2.12/scripts/makefile.linux libpng-1.2.12-ldhack/scripts/makefile.linux
+--- libpng-1.2.12/scripts/makefile.linux 2006-06-27 22:22:40.000000000 +0200
++++ libpng-1.2.12-ldhack/scripts/makefile.linux 2006-08-25 14:27:08.000000000 +0200
+@@ -110,12 +110,12 @@
+ $(LN_SF) $(LIBSOVER) $(LIBSOMAJ)
+
+ $(LIBSOVER): $(OBJSDLL)
+- $(CC) -shared -Wl,-soname,$(LIBSOMAJ) -o $(LIBSOVER) $(OBJSDLL)
++ $(CC) -shared -Wl,-soname,$(LIBSOMAJ) -o $(LIBSOVER) $(OBJSDLL) -lm -lz
+
+ $(OLDSOVER): $(OBJSDLL)
+ $(CC) -shared -Wl,-soname,$(OLDSOMAJ) \
+ -o $(OLDSOVER) \
+- $(OBJSDLL)
++ $(OBJSDLL) -lm -lz
+
+ pngtest: pngtest.o $(LIBSO)
+ $(CC) -o pngtest $(CFLAGS) pngtest.o $(LDFLAGS)
diff --git a/patches/source/libpng/slack-desc b/patches/source/libpng/slack-desc
new file mode 100644
index 00000000..54d1d0f9
--- /dev/null
+++ b/patches/source/libpng/slack-desc
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|'
+# on the right side marks the last column you can put a character in. You must
+# make exactly 11 lines for the formatting to be correct. It's also
+# customary to leave one space after the ':'.
+
+ |-----handy-ruler------------------------------------------------------|
+libpng: libpng (Portable Network Graphics library)
+libpng:
+libpng: PNG (Portable Network Graphics) is an extensible file format for the
+libpng: lossless, portable, well-compressed storage of raster images. PNG
+libpng: provides a patent-free replacement for GIF and can also replace many
+libpng: common uses of TIFF. Indexed-color, grayscale, and truecolor images
+libpng: are supported, plus an optional alpha channel. Sample depths range
+libpng: from 1 to 16 bits.
+libpng:
+libpng:
+libpng:
diff --git a/patches/source/libtiff/libtiff.SlackBuild b/patches/source/libtiff/libtiff.SlackBuild
new file mode 100755
index 00000000..f6e18662
--- /dev/null
+++ b/patches/source/libtiff/libtiff.SlackBuild
@@ -0,0 +1,122 @@
+#!/bin/sh
+
+# Copyright 2005-2013 Patrick J. Volkerding, Sebeka, Minnesota, USA
+# All rights reserved.
+#
+# Redistribution and use of this script, with or without modification, is
+# permitted provided that the following conditions are met:
+#
+# 1. Redistributions of this script must retain the above copyright
+# notice, this list of conditions and the following disclaimer.
+#
+# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED
+# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
+# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
+# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+VERSION=${VERSION:-$(echo tiff-*.tar.?z* | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
+BUILD=1_slack13.0
+
+# Automatically determine the architecture we're building on:
+if [ -z "$ARCH" ]; then
+ case "$( uname -m )" in
+ i?86) export ARCH=i486 ;;
+ arm*) export ARCH=arm ;;
+ # Unless $ARCH is already set, use uname -m for all other archs:
+ *) export ARCH=$( uname -m ) ;;
+ esac
+fi
+
+NUMJOBS=${NUMJOBS:-" -j7 "}
+
+if [ "$ARCH" = "i386" ]; then
+ SLKCFLAGS="-O2 -march=i386 -mcpu=i686"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "i486" ]; then
+ SLKCFLAGS="-O2 -march=i486 -mtune=i686"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "s390" ]; then
+ SLKCFLAGS="-O2"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "x86_64" ]; then
+ SLKCFLAGS="-O2 -fPIC"
+ LIBDIRSUFFIX="64"
+else
+ SLKCFLAGS="-O2"
+ LIBDIRSUFFIX=""
+fi
+
+CWD=$(pwd)
+TMP=${TMP:-/tmp}
+PKG=$TMP/package-libtiff
+
+rm -rf $PKG
+mkdir -p $PKG
+cd $TMP
+rm -rf tiff-$VERSION
+tar xvf $CWD/tiff-$VERSION.tar.?z* || exit 1
+cd tiff-$VERSION
+
+zcat $CWD/tiff-3.9.7_CVE-2012-4447_CVE-2012-4564_CVE-2013-1960_CVE-2013-1961.diff.gz | patch -p1 --verbose || exit 1
+zcat $CWD/tiff-3.9.7_CVE-2013-4231.diff.gz | patch -p1 --verbose || exit 1
+zcat $CWD/tiff-3.9.7_CVE-2013-4232.diff.gz | patch -p1 --verbose || exit 1
+zcat $CWD/tiff-3.9.7_CVE-2013-4244.diff.gz | patch -p1 --verbose || exit 1
+
+chown -R root:root .
+find . \
+ \( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \
+ -exec chmod 755 {} \; -o \
+ \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \
+ -exec chmod 644 {} \;
+
+CFLAGS="$SLKCFLAGS" \
+./configure \
+ --prefix=/usr \
+ --libdir=/usr/lib${LIBDIRSUFFIX} \
+ --mandir=/usr/man \
+ --program-prefix="" \
+ --program-suffix="" \
+ --build=$ARCH-slackware-linux
+
+make $NUMJOBS || make || exit 1
+make install DESTDIR=$PKG || exit 1
+( cd man ; make install-man DESTDIR=$PKG || exit 1 ) || exit 1
+rm -r $PKG/usr/share
+( cd $PKG
+ find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
+ find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
+)
+strip -g $PKG/usr/lib${LIBDIRSUFFIX}/lib*.a
+chmod 755 $PKG/usr/lib${LIBDIRSUFFIX}/libtiff*.so.*
+mkdir -p $PKG/usr/doc/libtiff-$VERSION
+cp -a \
+ COPYRIGHT README RELEASE-DATE TODO VERSION \
+ $PKG/usr/doc/libtiff-$VERSION
+
+# If there's a ChangeLog, installing at least part of the recent history
+# is useful, but don't let it get totally out of control:
+if [ -r ChangeLog ]; then
+ DOCSDIR=$(echo $PKG/usr/doc/*-$VERSION)
+ cat ChangeLog | head -n 1000 > $DOCSDIR/ChangeLog
+ touch -r ChangeLog $DOCSDIR/ChangeLog
+fi
+
+mv $PKG/usr/local/man $PKG/usr
+rmdir $PKG/usr/local
+
+# I'd use that shiny new manpage script here but all the
+# .3 manpages end with '.3tiff'.
+gzip -9 $PKG/usr/man/man?/*
+
+mkdir -p $PKG/install
+cat $CWD/slack-desc > $PKG/install/slack-desc
+
+cd $PKG
+makepkg -l y -c n $TMP/libtiff-$VERSION-$ARCH-$BUILD.txz
+
diff --git a/patches/source/libtiff/slack-desc b/patches/source/libtiff/slack-desc
new file mode 100644
index 00000000..42c79f47
--- /dev/null
+++ b/patches/source/libtiff/slack-desc
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|'
+# on the right side marks the last column you can put a character in. You must
+# make exactly 11 lines for the formatting to be correct. It's also
+# customary to leave one space after the ':'.
+
+ |-----handy-ruler------------------------------------------------------|
+libtiff: libtiff (a library for reading and writing TIFF files)
+libtiff:
+libtiff: This package provides support for the Tag Image File Format (TIFF),
+libtiff: a widely used format for storing image data. Included is the libtiff
+libtiff: library (for reading and writing TIFF files), and a collection of
+libtiff: tools for working with TIFF images.
+libtiff:
+libtiff:
+libtiff:
+libtiff:
+libtiff:
diff --git a/patches/source/libtiff/tiff-3.9.7_CVE-2012-4447_CVE-2012-4564_CVE-2013-1960_CVE-2013-1961.diff b/patches/source/libtiff/tiff-3.9.7_CVE-2012-4447_CVE-2012-4564_CVE-2013-1960_CVE-2013-1961.diff
new file mode 100644
index 00000000..2ee6847c
--- /dev/null
+++ b/patches/source/libtiff/tiff-3.9.7_CVE-2012-4447_CVE-2012-4564_CVE-2013-1960_CVE-2013-1961.diff
@@ -0,0 +1,3813 @@
+From 304327d825c7ba6a9f560d0ca792304f0b03e3b3 Mon Sep 17 00:00:00 2001
+From: mancha <mancha1@hush.com>
+Date: Sun, 11 Aug 2013
+Subject: Multiple CVEs addressed and bugs fixed.
+
+Mega-patch against libtiff-3.9.7 constructed from upstream commits
+that syncs it to the last CVS revision (5/2/2013). It fixes:
+
+ a. CVE-2012-4447
+ b. CVE-2012-4564
+ c. CVE-2013-1960
+ d. CVE-2013-1961
+ e. auto-rotate option bug
+ f. TIFFPrintDirectory bug
+---
+ ChangeLog | 781 ++++++++++++++++++++++--------------------
+ Makefile.in | 2
+ aclocal.m4 | 6
+ build/Makefile.in | 2
+ contrib/Makefile.in | 2
+ contrib/acorn/Makefile.in | 2
+ contrib/addtiffo/Makefile.in | 2
+ contrib/dbs/Makefile.in | 2
+ contrib/dbs/xtiff/Makefile.in | 2
+ contrib/dbs/xtiff/xtiff.c | 6
+ contrib/iptcutil/Makefile.in | 2
+ contrib/mac-cw/Makefile.in | 2
+ contrib/mac-mpw/Makefile.in | 2
+ contrib/mfs/Makefile.in | 2
+ contrib/pds/Makefile.in | 2
+ contrib/ras/Makefile.in | 2
+ contrib/stream/Makefile.in | 2
+ contrib/tags/Makefile.in | 2
+ contrib/win_dib/Makefile.in | 2
+ html/Makefile.in | 2
+ html/images/Makefile.in | 2
+ html/man/Makefile.in | 2
+ libtiff/Makefile.in | 2
+ libtiff/tif_codec.c | 5
+ libtiff/tif_dirinfo.c | 4
+ libtiff/tif_pixarlog.c | 94 ++---
+ libtiff/tif_print.c | 15
+ man/Makefile.in | 2
+ port/Makefile.in | 2
+ test/Makefile.in | 2
+ tools/Makefile.in | 2
+ tools/ppm2tiff.c | 39 +-
+ tools/rgb2ycbcr.c | 5
+ tools/tiff2bw.c | 4
+ tools/tiff2pdf.c | 313 ++++++++--------
+ tools/tiff2ps.c | 20 -
+ tools/tiffcrop.c | 12
+ tools/tiffdither.c | 4
+ 38 files changed, 728 insertions(+), 628 deletions(-)
+
+diff --git a/ChangeLog b/ChangeLog
+index c18d495..2d8bc7c 100644
+--- a/ChangeLog
++++ b/ChangeLog
+@@ -1,3 +1,51 @@
++2013-05-02 Tom Lane <tgl@sss.pgh.pa.us>
++
++ * tools/tiff2pdf.c: Rewrite JPEG marker parsing in
++ t2p_process_jpeg_strip to be at least marginally competent. The
++ approach is still fundamentally flawed, but at least now it won't
++ stomp all over memory when given bogus input. Fixes CVE-2013-1960.
++
++2013-05-02 Tom Lane <tgl@sss.pgh.pa.us>
++
++ * contrib/dbs/xtiff/xtiff.c, libtiff/tif_codec.c,
++ libtiff/tif_dirinfo.c, tools/rgb2ycbcr.c, tools/tiff2bw.c,
++ tools/tiff2pdf.c, tools/tiff2ps.c, tools/tiffcrop.c,
++ tools/tiffdither.c: Enlarge some fixed-size buffers that weren't
++ large enough, and eliminate substantially all uses of sprintf(buf,
++ ...) in favor of using snprintf(buf, sizeof(buf), ...), so as to
++ protect against overflow of fixed-size buffers. This responds in
++ particular to CVE-2013-1961 concerning overflow in tiff2pdf.c's
++ t2p_write_pdf_page(), but in general it seems like a good idea to
++ deprecate use of sprintf().
++
++2013-01-25 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
++
++ * tools/tiff2ps.c:Fix bug in auto rotate option code. Once a
++ rotation angle was set by the auto rotate check, it was retained
++ for all pages that followed instead of being retested for each
++ page. Patch by Richard Nolde.
++
++2012-12-12 Tom Lane <tgl@sss.pgh.pa.us>
++
++ * libtiff/tif_print.c: Back-patch recent fixes in
++ TIFFPrintDirectory to make it handle field_passcount fields sanely
++ for both TIFF_VARIABLE and TIFF_VARIABLE2 cases.
++
++2012-12-10 Tom Lane <tgl@sss.pgh.pa.us>
++
++ * tools/ppm2tiff.c: Back-patch fix for CVE-2012-4564.
++
++2012-12-10 Tom Lane <tgl@sss.pgh.pa.us>
++
++ * libtiff/tif_pixarlog.c: Back-patch recent security fixes for
++ tif_pixarlog.c, namely the fix for CVE-2012-4447 and protections
++ against accessing outside the lookup arrays for out of range
++ inputs.
++
++2012-11-18 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
++
++ * automake: Update Automake to 1.12.5 release.
++
+ 2012-09-22 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
+
+ * libtiff 3.9.7 released.
+@@ -31,7 +79,7 @@
+
+ * libtiff/tif_dirread.c: Avoid trusting samplesperpixel's default
+ of 1 for purposes of trimming tags. This is to get some super
+- crappy OJPEG files to work again. Grr.
++ crappy OJPEG files to work again. Grr.
+ http://bugzilla.maptools.org/show_bug.cgi?id=2348
+
+ 2012-06-01 Frank Warmerdam <warmerdam@google.com>
+@@ -101,8 +149,8 @@
+ * libtiff/tiffiop.h: avoid declaring int64/uint64 on AIX with XLC
+ where they are already available. (#2301)
+
+- * libtiff/tif_thunder.c: Correct potential buffer overflow with
+- thunder encoded files with wrong bitspersample set. The libtiff
++ * libtiff/tif_thunder.c: Correct potential buffer overflow with
++ thunder encoded files with wrong bitspersample set. The libtiff
+ development team would like to thank Marin Barbella and TippingPoint's
+ Zero Day Initiative for reporting this vulnerability (ZDI-CAN-1004,
+ CVE-2011-1167).
+@@ -110,18 +158,18 @@
+
+ 2011-03-10 Frank Warmerdam <warmerdam@pobox.com>
+
+- * libtiff/tif_fax3.h: Fix to last change allowing zero length
++ * libtiff/tif_fax3.h: Fix to last change allowing zero length
+ runs at the start of a scanline - needed for legal cases.
+
+ 2011-03-02 Frank Warmerdam <warmerdam@pobox.com>
+
+- * libtiff/tif_fax3.h: Protect against a fax VL(n) codeword commanding
+- a move left. Without this, a malicious input file can generate an
+- indefinitely large series of runs without a0 ever reaching the right
++ * libtiff/tif_fax3.h: Protect against a fax VL(n) codeword commanding
++ a move left. Without this, a malicious input file can generate an
++ indefinitely large series of runs without a0 ever reaching the right
+ margin, thus overrunning our buffer of run lengths. Per CVE-2011-0192.
+- This is a modified version of a patch proposed by Drew Yao of Apple
+- Product Security. It adds an unexpected() report, and disallows the
+- equality case, since emitting a run without increasing a0 still allows
++ This is a modified version of a patch proposed by Drew Yao of Apple
++ Product Security. It adds an unexpected() report, and disallows the
++ equality case, since emitting a run without increasing a0 still allows
+ buffer overrun.
+
+ 2011-02-25 Andrey Kiselev <dron@ak4719.spb.edu>
+@@ -133,7 +181,7 @@
+ 2011-01-03 Lee Howard <faxguy@howardsilvan.com>
+
+ * libtiff/tif_jpeg.c: Fix regressions with 2 and 3 band images
+- caused by commit on 2010-12-14. Submitted by e-mail from
++ caused by commit on 2010-12-14. Submitted by e-mail from
+ Even Rouault <even.rouault@mines-paris.org>
+
+ 2010-12-31 Olivier Paquet <olivier.paquet@gmail.com>
+@@ -188,13 +236,13 @@
+
+ 2010-12-12 Lee Howard <faxguy@howardsilvan.com>
+
+- * tools/tiff2pdf.c: fix colors for images with RGBA
++ * tools/tiff2pdf.c: fix colors for images with RGBA
+ interleaved data
+ http://bugzilla.maptools.org/show_bug.cgi?id=2250
+
+ 2010-12-11 Lee Howard <faxguy@howardsilvan.com>
+
+- * tools/tiff2pdf.c: remove invalid duplication for Lab
++ * tools/tiff2pdf.c: remove invalid duplication for Lab
+ http://bugzilla.maptools.org/show_bug.cgi?id=2162
+
+ 2010-12-11 Lee Howard <faxguy@howardsilvan.com>
+@@ -236,7 +284,7 @@
+
+ 2010-12-07 Lee Howard <faxguy@howardsilvan.com>
+
+- * libtiff/tif_jpeg.c, libtiff/tif_strip.c: apply patch for
++ * libtiff/tif_jpeg.c, libtiff/tif_strip.c: apply patch for
+ CVE-2010-3087 per bug
+ http://bugzilla.maptools.org/show_bug.cgi?id=2140
+
+@@ -248,7 +296,7 @@
+ 2010-09-25 Lee Howard <faxguy@howardsilvan.com>
+
+ * tools/tiff2ps.c: improvements and enhancements from Richard Nolde
+- with additional command line options for Document Title,
++ with additional command line options for Document Title,
+ Document Creator, and Page Orientation
+
+ 2010-07-13 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
+@@ -349,14 +397,14 @@
+ * libtiff/tif_dirread.c: Fixed bad handling of out of order tags
+ definated late by a codec (#2210)
+
+- * libtiff/tif_dirread.c: Fixed inadequate validation of the
++ * libtiff/tif_dirread.c: Fixed inadequate validation of the
+ SubjectDistance field (#2212).
+
+- * tiff2pdf.c: Fix assorted bugs in tiff2pdf: missing "return"
+- in t2p_read_tiff_size() causes t2p->tiff_datasize to be set entirely
+- wrong for COMPRESSION_JPEG case, resulting in memory stomp if actual
+- size is larger. Also, there are a bunch of places that try to
+- memset() a malloc'd buffer before checking for malloc failure, which
++ * tiff2pdf.c: Fix assorted bugs in tiff2pdf: missing "return"
++ in t2p_read_tiff_size() causes t2p->tiff_datasize to be set entirely
++ wrong for COMPRESSION_JPEG case, resulting in memory stomp if actual
++ size is larger. Also, there are a bunch of places that try to
++ memset() a malloc'd buffer before checking for malloc failure, which
+ would result in core dump if there actually were a failure. (#2211)
+
+ 2010-06-11 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
+@@ -452,13 +500,13 @@
+
+ 2010-05-07 Frank Warmerdam <warmerdam@pobox.com>
+
+- * libtiff/tif_jpeg.c: Ensure that quality is always set in
+- JPEGPreEncode(), not just when we want to output local tables.
++ * libtiff/tif_jpeg.c: Ensure that quality is always set in
++ JPEGPreEncode(), not just when we want to output local tables.
+ Otherwise the quality used during compression may not be right and
+ might not match the tables in the tables tag. This bug only occurs
+ when seeking between directories in the midst of writing blocks.
+ http://trac.osgeo.org/gdal/ticket/3539
+-
++
+ 2010-05-05 Olivier Paquet <olivier.paquet@gmail.com>
+
+ * libtiff/tif_print.c: Have TIFFTAG_REFERENCEBLACKWHITE always print 6
+@@ -476,11 +524,11 @@
+ 2010-02-22 Lee Howard <faxguy@howardsilvan.com>
+
+ * libtiff/tif_jpeg.c: Do not generate a JPEGTables tag when creating
+- the JPEG TIFF as is is not required in order to prevent it from
+- being unused and filled with invalid data. (Leave it to be
++ the JPEG TIFF as is is not required in order to prevent it from
++ being unused and filled with invalid data. (Leave it to be
+ generated by later activity.)
+ http://bugzilla.maptools.org/show_bug.cgi?id=2135
+- * tools/tiff2pdf.c: Write the JPEG SOI headers into the TIFF strip
++ * tools/tiff2pdf.c: Write the JPEG SOI headers into the TIFF strip
+ data rather than skipping them. This fixes the ability to view in
+ Acrobat Reader, Evince, and Ghostscript.
+ http://bugzilla.maptools.org/show_bug.cgi?id=2135
+@@ -491,13 +539,13 @@
+ 2010-01-06 Frank Warmerdam <warmerdam@pobox.com>
+
+ * libtiff/tif_dir.c: Ensure tile and scanline sizes are reset
+- when moving to new directories.
++ when moving to new directories.
+ http://bugzilla.maptools.org/show_bug.cgi?id=1936
+
+ 2009-12-03 Frank Warmerdam <warmerdam@pobox.com>
+
+ * libtiff/tif_jpeg.c: Fix a couple of issues that trigger failures in
+- some cases when using TIFFReadScanline() with JPEG compressed
++ some cases when using TIFFReadScanline() with JPEG compressed
+ subsampled ycbcr images.
+ http://bugzilla.maptools.org/show_bug.cgi?id=1936
+
+@@ -610,7 +658,7 @@
+
+ 2009-06-22 Frank Warmerdam <warmerdam@pobox.com>
+
+- * libtiff/tif_lzw.c: Fix buffer underflow bug.
++ * libtiff/tif_lzw.c: Fix buffer underflow bug.
+ http://bugzilla.maptools.org/show_bug.cgi?id=2065
+
+ 2009-06-03 Frank Warmerdam <warmerdam@pobox.com>
+@@ -621,7 +669,7 @@
+
+ 2009-02-12 Frank Warmerdam <warmerdam@pobox.com>
+
+- * libtiff/tif_luv.c: Fix handling of tiled logluv images.
++ * libtiff/tif_luv.c: Fix handling of tiled logluv images.
+ http://bugzilla.maptools.org/show_bug.cgi?id=2005
+
+ 2009-01-23 Frank Warmerdam <warmerdam@pobox.com>
+@@ -635,7 +683,7 @@
+
+ 2009-01-12 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
+
+- * tools/tiff2ps.c: Remove spurious message printed to stderr.
++ * tools/tiff2ps.c: Remove spurious message printed to stderr.
+
+ 2009-01-11 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
+
+@@ -668,7 +716,7 @@
+ 2008-12-31 Frank Warmerdam <warmerdam@pobox.com>
+
+ * tools/tiffcrop.c, man/tiffcrop.1: A major update from Richard
+- Nolde.
++ Nolde.
+
+ 2008-12-21 Frank Warmerdam <warmerdam@pobox.com>
+
+@@ -678,7 +726,7 @@
+
+ 2008-12-21 Frank Warmerdam <warmerdam@pobox.com>
+
+- * libtiff/tif_getimage.c, tiffio.h: More ABI corrections.
++ * libtiff/tif_getimage.c, tiffio.h: More ABI corrections.
+ Removed SubsamplingHor/Ver from TIFFRGBAImage structure.
+ http://bugzilla.maptools.org/show_bug.cgi?id=1980
+
+@@ -719,15 +767,15 @@
+
+ 2008-05-24 Frank Warmerdam <warmerdam@pobox.com>
+
+- * tif_codec.c: Avoid NULL pointer dereferencing for exotic
++ * tif_codec.c: Avoid NULL pointer dereferencing for exotic
+ compression codec codes.
+
+ * tif_dirread.c: zero tif->tif_dir after freeing the directory
+ in TIFFReadCustomDirectory(). I don't exactly remember why this
+- was important.
++ was important.
+
+ * tif_dirwrite.c: Fix potential memory leak writing large double
+- tags.
++ tags.
+
+ * tif_dirread.c: Fix unchecked malloc result.
+
+@@ -747,12 +795,12 @@
+
+ 2007-11-22 Frank Warmerdam <warmerdam@pobox.com>
+
+- * tif_write.c: Rip out the fancy logic in TIFFAppendToStrip() for
+- establishing if an existing tile can be rewritten to the same location
+- by comparing the current size to all the other blocks in the same
+- directory. This is dangerous in many situations and can easily
++ * tif_write.c: Rip out the fancy logic in TIFFAppendToStrip() for
++ establishing if an existing tile can be rewritten to the same location
++ by comparing the current size to all the other blocks in the same
++ directory. This is dangerous in many situations and can easily
+ corrupt a file. (observed in esoteric GDAL situation that's hard to
+- document). This change involves leaving the stripbytecount[] values
++ document). This change involves leaving the stripbytecount[] values
+ unaltered till TIFFAppendToStrip(). Now we only write a block back
+ to the same location it used to be at if the new data is the same
+ size or smaller - otherwise we move it to the end of file.
+@@ -760,17 +808,17 @@
+ * tif_dirwrite.c: Try to avoid writing out a full readbuffer of tile
+ data when writing the directory just because we have BEENWRITING at
+ some point in the past. This was causing odd junk to be written out
+- in a tile of data when a single tile had an interleaving of reading
+- and writing with reading last. (highlighted by gdal
+- autotest/gcore/tif_write.py test 7.
++ in a tile of data when a single tile had an interleaving of reading
++ and writing with reading last. (highlighted by gdal
++ autotest/gcore/tif_write.py test 7.
+
+ * tif_predict.c: use working buffer in PredictorEncodeTile to avoid
+- modifying callers buffer.
++ modifying callers buffer.
+ http://trac.osgeo.org/gdal/ticket/1965
+
+- * tif_predict.c/h, tif_lzw.c, tif_zip.c: Improvements so that
++ * tif_predict.c/h, tif_lzw.c, tif_zip.c: Improvements so that
+ predictor based encoding and decoding works in read-write update
+- mode properly.
++ mode properly.
+ http://trac.osgeo.org/gdal/ticket/1948
+
+ 2007-10-05 Frank Warmerdam <warmerdam@pobox.com>
+@@ -785,7 +833,7 @@
+
+ 2007-07-18 Andrey Kiselev <dron@ak4719.spb.edu>
+
+- * libtiff/{Makefile.am, Makefile.v}: Do not distribute tiffconf.h,
++ * libtiff/{Makefile.am, Makefile.v}: Do not distribute tiffconf.h,
+ remove tif_config.h/tiffconf.h during cleaning. As per bug
+
+ http://bugzilla.remotesensing.org/show_bug.cgi?id=1573
+@@ -803,14 +851,13 @@
+ 2007-07-03 Andrey Kiselev <dron@ak4719.spb.edu>
+
+ * tools/tiff2ps.c: Added support 16-bit images as per bug
+-
++
+ http://bugzilla.remotesensing.org/show_bug.cgi?id=1566
+
+ Patch from William Bader.
+
+ * tools/tiff2pdf.c: Fix for TIFFTAG_JPEGTABLES tag fetching and
+ significant upgrade of the whole utility as per bug
+-
+ http://bugzilla.remotesensing.org/show_bug.cgi?id=1560
+
+ Now we don't need tiffiop.h in tiff2pdf anymore and will open output
+@@ -828,7 +875,7 @@
+
+ * libtiff/tif_dirwrite.c: Fixed problem introduced with a fix for a
+ byte swapping issue
+-
++
+ http://bugzilla.remotesensing.org/show_bug.cgi?id=1363
+
+ As per bug
+@@ -846,7 +893,7 @@
+ * libtiff/{tif_dir.h, tif_dirread.c, tif_dirinfo.c, tif_jpeg.c,
+ tif_fax3.c, tif_jbig.c, tif_luv.c, tif_ojpeg.c, tif_pixarlog.c,
+ tif_predict.c, tif_zip.c}: Finally fix bug
+-
++
+ http://bugzilla.remotesensing.org/show_bug.cgi?id=1274
+
+ by introducing _TIFFMergeFieldInfo() returning integer error status
+@@ -857,7 +904,7 @@
+
+ 2007-04-07 Frank Warmerdam <warmerdam@pobox.com>
+
+- * contrib/addtiffo/tif_overview.c: Fix problems with odd sized output
++ * contrib/addtiffo/tif_overview.c: Fix problems with odd sized output
+ blocks in TIFF_DownSample_Subsampled() (bug 1542).
+
+ 2007-04-06 Frank Warmerdam <warmerdam@pobox.com>
+@@ -865,20 +912,20 @@
+ * libtiff/tif_jpeg.c: Changed JPEGInitializeLibJPEG() so that it
+ will convert from decompressor to compressor or compress to decompress
+ if required by the force arguments. This works around a problem in
+- where the JPEGFixupTestSubsampling() may cause a decompressor to
++ where the JPEGFixupTestSubsampling() may cause a decompressor to
+ be setup on a directory when later a compressor is required with the
+- force flag set. Occurs with the addtiffo program for instance.
++ force flag set. Occurs with the addtiffo program for instance.
+
+ 2007-04-06 Andrey Kiselev <dron@ak4719.spb.edu>
+
+ * libtiff/tif_dirwrite.c: Fixed swapping of byte arrays stored
+ in-place in tag offsets as per bug
+-
++
+ http://bugzilla.remotesensing.org/show_bug.cgi?id=1363
+
+ * tools/tiffcrop.c, man/tiffcrop.1: Significant update in
+ functionality from Richard Nolde. As per bug
+-
++
+ http://bugzilla.remotesensing.org/show_bug.cgi?id=1525
+
+ 2007-03-28 Frank Warmerdam <warmerdam@pobox.com>
+@@ -886,15 +933,15 @@
+ * libtiff/tif_fax3.c: "inline static" -> "static inline" for IRIC CC.
+
+ 2007-03-07 Joris Van Damme <joris.at.lebbeke@skynet.be>
+-
++
+ * libtiff/tif_getimage.c: workaround for 'Fractional scanline' error reading
+ OJPEG images with rowsperstrip that is not a multiple of vertical subsampling
+ factor. This bug is mentioned in:
+ http://bugzilla.remotesensing.org/show_bug.cgi?id=1390
+- http://www.asmail.be/msg0054766825.html
++ http://www.asmail.be/msg0054766825.html
+
+ 2007-03-07 Joris Van Damme <joris.at.lebbeke@skynet.be>
+-
++
+ * libtiff/tif_win32.c: made inclusion of windows.h unconditional
+
+ * libtiff/tif_win32.c: replaced preprocessor indication for consiously
+@@ -944,14 +991,14 @@
+ larger than 2GB. Fixes bug
+
+ http://bugzilla.remotesensing.org/show_bug.cgi?id=890
+-
++
+ Idea submitted by Matt Hancher.
+
+ 2007-01-31 Andrey Kiselev <dron@ak4719.spb.edu>
+
+ * tools/tif2rgba.c: This utility does not work properly on big-endian
+ architectures. It was fixed including the bug
+-
++
+ http://bugzilla.remotesensing.org/show_bug.cgi?id=1149
+
+ 2007-01-15 Mateusz Loskot <mateusz@loskot.net>
+@@ -968,15 +1015,15 @@
+
+ 2006-11-19 Frank Warmerdam <warmerdam@pobox.com>
+
+- * libtiff/tif_write.c: TIFFAppendToStrip() - clear sorted flag if
+- we move a strip.
+- http://bugzilla.remotesensing.org/show_bug.cgi?id=1359
++ * libtiff/tif_write.c: TIFFAppendToStrip() - clear sorted flag if
++ we move a strip.
++ http://bugzilla.remotesensing.org/show_bug.cgi?id=1359
+
+ 2006-10-13 Andrey Kiselev <dron@ak4719.spb.edu>
+
+ * libtiff/tif_dir.c: More fixes for vulnerabilities, reported
+ in Gentoo bug ():
+-
++
+ http://bugs.gentoo.org/show_bug.cgi?id=142383
+
+ * libtiff/contrib/dbs/xtiff/xtiff.c: Make xtiff utility compilable.
+@@ -1010,12 +1057,12 @@
+ * libtiff/tif_lzw.c, libtiff/tif_zip.c: Fixed problems with mixing
+ encoding and decoding on the same read-write TIFF handle. The LZW
+ code can now maintain encode and decode state at the same time. The
+- ZIP code will switch back and forth as needed.
++ ZIP code will switch back and forth as needed.
+ http://bugzilla.remotesensing.org/show_bug.cgi?id=757
+
+ 2006-09-20 Frank Warmerdam <warmerdam@pobox.com>
+
+- * libtiff: Rename config.h.vc and tif_config.h.vc to config.vc.h and
++ * libtiff: Rename config.h.vc and tif_config.h.vc to config.vc.h and
+ tif_config.vc.h for easier identification by folks using an IDE.
+
+ 2006-07-25 Frank Warmerdam <warmerdam@pobox.com>
+@@ -1030,7 +1077,7 @@
+
+ 2006-07-12 Frank Warmerdam <warmerdam@pobox.com>
+
+- * tif_dirwrite.c: make sure to use uint32 for wordcount in
++ * tif_dirwrite.c: make sure to use uint32 for wordcount in
+ TIFFWriteNormanTag if writecount is VARIABLE2 for ASCII fields.
+ It already seems to have been done for other field types. Needed
+ for "tiffset" on files with geotiff ascii text.
+@@ -1058,9 +1105,9 @@
+ 2006-06-17 Frank Warmerdam <warmerdam@pobox.com>
+
+ * tif_readdir.c: Added case in EstimateStripByteCounts() for tiled
+- files. Modified TIFFReadDirectory() to not invoke
++ files. Modified TIFFReadDirectory() to not invoke
+ EstimateStripByteCounts() for case where entry 0 and 1 are unequal
+- but one of them is zero.
++ but one of them is zero.
+ http://bugzilla.remotesensing.org/show_bug.cgi?id=1204
+
+ 2006-06-08 Andrey Kiselev <dron@ak4719.spb.edu>
+@@ -1088,7 +1135,7 @@
+ * {configure, configure.ac, libtiff/tif_jbig.c, tools/tiffcp.c}: Added
+ support for JBIG compression scheme (34661 code) contributed by Lee
+ Howard. As per bug
+-
++
+ http://bugzilla.remotesensing.org/show_bug.cgi?id=896
+
+ * configure, configure.ac: OJPEG support enabled by default.
+@@ -1127,7 +1174,7 @@
+ 2006-04-18 Frank Warmerdam <warmerdam@pobox.com>
+
+ * nmake.opt: use /EHsc for VS2005 compatibility. Also define
+- _CRT_SECURE_NO_DEPRECATE to avoid noise on VS2005.
++ _CRT_SECURE_NO_DEPRECATE to avoid noise on VS2005.
+
+ 2006-04-12 Joris Van Damme <joris.at.lebbeke@skynet.be>
+
+@@ -1135,7 +1182,7 @@
+ non-subsampled YCbCr (i.e. separate YCbCr with subsampling [1,1])
+
+ 2006-04-11 Joris Van Damme <joris.at.lebbeke@skynet.be>
+-
++
+ * libtiff/tif_getimage.c: Revision of all RGB(A) put routines
+ - Conversion of unassociated alpha to associated alpha now done with
+ more performant LUT, and calculation more correct
+@@ -1144,21 +1191,21 @@
+ - Bugfix of handling of 16bit RGB with unassociated alpha
+
+ 2006-04-11 Joris Van Damme <joris.at.lebbeke@skynet.be>
+-
+- * libtiff/tif_getimage.c:
+- - When there is no alpha, gtTileSeparate and gtStripSeparate allocated
+- buffer for alpha strile and filled it, only to never read it back.
++
++ * libtiff/tif_getimage.c:
++ - When there is no alpha, gtTileSeparate and gtStripSeparate allocated
++ buffer for alpha strile and filled it, only to never read it back.
+ Removed allocation and fill.
+- - Minor rename of vars in gtTileSeparate and gtStripSeparate
++ - Minor rename of vars in gtTileSeparate and gtStripSeparate
+ anticipating planned functionality extension
+
+ 2006-04-08 Joris Van Damme <joris.at.lebbeke@skynet.be>
+
+- * libtiff/tif_getimage.c: renamed pickTileContigCase to PickContigCase
+- and pickTileSeparateCase to PickSeparateCase as both work on strips as
++ * libtiff/tif_getimage.c: renamed pickTileContigCase to PickContigCase
++ and pickTileSeparateCase to PickSeparateCase as both work on strips as
+ well
+
+- * libtiff/tif_getimage.c: moved img->get selection from
++ * libtiff/tif_getimage.c: moved img->get selection from
+ TIFFRGBAImageBegin into PickContigCase and PickSeparateCase to create
+ logical hook for planned functionality extension
+
+@@ -1169,9 +1216,9 @@
+
+ 2006-04-07 Joris Van Damme <joris.at.lebbeke@skynet.be>
+
+- * libtiff/tif_getimage.c: replaced usage of TIFFScanlineSize in
++ * libtiff/tif_getimage.c: replaced usage of TIFFScanlineSize in
+ gtStripContig with TIFFNewScanlineSize so as to fix buggy behaviour
+- on subsampled images - this ought to get sorted when we feel brave
++ on subsampled images - this ought to get sorted when we feel brave
+ enough to replace TIFFScanlineSize alltogether
+
+ * libtiff/tif_ojpeg.c: fixed bug in OJPEGReadSkip
+@@ -1180,13 +1227,13 @@
+
+ * libtiff/tiffio.h: added new type tstrile_t
+
+- * libtiff/tif_dir.h: changed types of td_stripsperimage and td_nstrips
+- to new tstrile_t, types of td_stripoffset and td_stripbytecount to
++ * libtiff/tif_dir.h: changed types of td_stripsperimage and td_nstrips
++ to new tstrile_t, types of td_stripoffset and td_stripbytecount to
+ toff_t*
+
+ * libtiff/tif_ojpeg.c: totally new implementation
+
+- * libtiff/tif_dirread.c: added several hacks to suit new support of
++ * libtiff/tif_dirread.c: added several hacks to suit new support of
+ OJPEG
+
+ * libtiff/tif_getimage.c: removed TIFFTAG_JPEGCOLORMODE handling
+@@ -1226,7 +1273,7 @@
+
+ * libtiff/tif_getimage.c: added putcontig8bitYCbCr12tile
+
+- * libtiff/tif_read.c: added support for new TIFF_NOREADRAW flag to
++ * libtiff/tif_read.c: added support for new TIFF_NOREADRAW flag to
+ prepare the path for new tif_ojpeg.c
+
+ 2006-03-23 Andrey Kiselev <dron@ak4719.spb.edu>
+@@ -1342,7 +1389,7 @@
+
+ * libtiff/tif_write.c: Small code rearrangement in TIFFWriteScanline()
+ to avoid crash as per bug
+-
++
+ http://bugzilla.remotesensing.org/show_bug.cgi?id=1081.
+
+ 2006-02-26 Andrey Kiselev <dron@ak4719.spb.edu>
+@@ -1392,7 +1439,7 @@
+ 2006-02-07 Frank Warmerdam <warmerdam@pobox.com>
+
+ * tools/tiff2pdf.c: Fixed support for non-YCbCr encoded JPEG
+- compressed TIFF files, per submission from Dan Cobra.
++ compressed TIFF files, per submission from Dan Cobra.
+
+ 2006-02-07 Andrey Kiselev <dron@ak4719.spb.edu>
+
+@@ -1424,7 +1471,7 @@
+
+ * libtiff/tif_dirread.c: Use _TIFFGetExifFieldInfo() instead of
+ _TIFFGetFieldInfo() in TIFFReadEXIFDirectory() call as per bug
+-
++
+ http://bugzilla.remotesensing.org/show_bug.cgi?id=1026.
+
+ 2006-01-23 Andrey Kiselev <dron@ak4719.spb.edu>
+@@ -1490,7 +1537,7 @@
+
+ 2005-12-26 Andrey Kiselev <dron@ak4719.spb.edu>
+
+- * libtiff/{tif_dir.c, tif_dir.h, tif_dirread.c, tif_dirinfo.c}:
++ * libtiff/{tif_dir.c, tif_dir.h, tif_dirread.c, tif_dirinfo.c}:
+ tiffFieldInfo and exifFieldInfo arrays definitions moved back to
+ tif_dirinfo.c; added _TIFFGetFieldInfo() and _TIFFGetExifFieldInfo()
+ private functions to retrieve FieldInfo arrays.
+@@ -1517,10 +1564,10 @@
+
+ 2005-12-23 Joris Van Damme <joris.at.lebbeke@skynet.be>
+
+- * libtiff/tiffio.h: fixed typo that potentially resulted in
++ * libtiff/tiffio.h: fixed typo that potentially resulted in
+ redefininition of USE_WIN32_FILEIO
+
+- * libtiff/*: Added more 'dual-mode' error handling: Done TIFFWarning
++ * libtiff/*: Added more 'dual-mode' error handling: Done TIFFWarning
+ calls in core LibTiff.
+
+ 2005-12-21 Andrey Kiselev <dron@ak4719.spb.edu>
+@@ -1530,10 +1577,10 @@
+
+ 2005-12-21 Joris Van Damme <joris.at.lebbeke@skynet.be>
+
+- * libtiff/*, contrib/*: Added 'dual-mode' error handling, enabling
++ * libtiff/*, contrib/*: Added 'dual-mode' error handling, enabling
+ newer code to get context indicator in error handler and still
+- remain compatible with older code: Done TIFFError calls everywhere
+- except in tools
++ remain compatible with older code: Done TIFFError calls everywhere
++ except in tools
+
+ 2005-12-20 Andrey Kiselev <dron@ak4719.spb.edu>
+
+@@ -1606,7 +1653,7 @@
+ http://bugzilla.remotesensing.org/show_bug.cgi?id=1002
+
+ * .cvsignore: many files added, and a few update according
+- to suggestion of Brad HArds on tiff mailing list.
++ to suggestion of Brad HArds on tiff mailing list.
+
+ 2005-11-03 Frank Warmerdam <warmerdam@pobox.com>
+
+@@ -1631,7 +1678,7 @@
+ http://bugzilla.remotesensing.org/show_bug.cgi?id=946
+
+ * tools/bmp2tiff.c: Fixed possible integer overflow error as per bug
+-
++
+ http://bugzilla.remotesensing.org/show_bug.cgi?id=965
+
+ * libtiff/tif_dirinfo.c: Make XResolution, YResolution and
+@@ -1641,7 +1688,7 @@
+
+ * tools/tiffsplit.c: Copy fax related fields over splitted parts
+ as per bug
+-
++
+ http://bugzilla.remotesensing.org/show_bug.cgi?id=983
+
+ 2005-10-21 Frank Warmerdam <warmerdam@pobox.com>
+@@ -1697,7 +1744,7 @@
+
+ * libtiff/tif_dir.c: When prefreeing tv->value in TIFFSetFieldV
+ also set it to NULL to avoid double free when re-setting custom
+- string fields as per:
++ string fields as per:
+
+ http://bugzilla.remotesensing.org/show_bug.cgi?id=922
+
+@@ -1733,7 +1780,7 @@
+ http://bugzilla.remotesensing.org/show_bug.cgi?id=831
+
+ Remove TIFFFetchExtraSamples() function, use TIFFFetchNormalTag()
+- instead.
++ instead.
+
+ * libtiff/tiffconf.h.in: One more attempt to fix the AIX bug
+
+@@ -1904,7 +1951,7 @@
+
+ 2005-05-22 Frank Warmerdam <warmerdam@pobox.com>
+
+- * libtiff/tif_dirread.c: Changed the code that computes
++ * libtiff/tif_dirread.c: Changed the code that computes
+ stripbytecount[0] if it appears bogus to ignore if stripoffset[0] is
+ zero. This is a common case with GDAL indicating a "null" tile/strip.
+
+@@ -1914,8 +1961,8 @@
+
+ 2005-05-06 Frank Warmerdam <warmerdam@pobox.com>
+
+- * libtiff/tif_dirread.c: Applied similar change to
+- TIFFFetchPerSampleLongs and TIFFFetchPerSampleAnys.
++ * libtiff/tif_dirread.c: Applied similar change to
++ TIFFFetchPerSampleLongs and TIFFFetchPerSampleAnys.
+
+ http://bugzilla.remotesensing.org/show_bug.cgi?id=843
+
+@@ -1965,7 +2012,7 @@
+
+ * man/TIFFSetField.3tiff: Fixed definition of the TIFFTAG_INKNAMES tag
+ as per bug
+-
++
+ http://bugzilla.remotesensing.org/show_bug.cgi?id=816
+
+ 2005-03-30 Andrey Kiselev <dron@ak4719.spb.edu>
+@@ -2075,7 +2122,7 @@
+
+ * libtiff/tiffio.h: Move TIFFOpenW() function into the extern "C"{}
+ block as per bug
+-
++
+ http://bugzilla.remotesensing.org/show_bug.cgi?id=763
+
+ 2005-02-03 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
+@@ -2096,7 +2143,7 @@
+ http://bugzilla.remotesensing.org/show_bug.cgi?id=320
+
+ * tools/tiff2ps.c: Fixed problem with page sizes as per bug
+-
++
+ http://bugzilla.remotesensing.org/show_bug.cgi?id=742
+
+ 2005-01-31 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
+@@ -2137,7 +2184,7 @@
+ TIFFRGBAImageBegin() as per bug
+
+ http://bugzilla.remotesensing.org/show_bug.cgi?id=739
+-
++
+ 2005-01-12 Andrey Kiselev <dron@ak4719.spb.edu>
+
+ * libtiff/tif_jpeg.c: Added ability to read/write the fax specific
+@@ -2166,7 +2213,7 @@
+ * libtiff/tiff.h: Restore back the workaround for AIX Visual Age C
+ compiler to avoid double definition of BSD types as per bug
+
+- http://bugzilla.remotesensing.org/show_bug.cgi?id=39
++ http://bugzilla.remotesensing.org/show_bug.cgi?id=39
+
+ * libtiff/Makefile.am: Place the C++ stream API in the separate
+ library called libtiffxx to avoid unneeded dependencies. Probably
+@@ -2190,7 +2237,7 @@
+
+ * libtiff/tif_getimage.c: More fixes for multiple-alpha-channelled
+ RGB-images as per bug
+-
++
+ http://bugzilla.remotesensing.org/show_bug.cgi?id=713
+
+
+@@ -2226,7 +2273,7 @@
+ 2004-12-15 Frank Warmerdam <warmerdam@pobox.com>
+
+ * libtiff/tif_getimage.c: #define A1 bracketing for clean build on
+- SunPro compiler.
++ SunPro compiler.
+
+ 2004-12-11 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
+
+@@ -2238,7 +2285,7 @@
+
+ * libtiff/tif_dirwrite.c: Always write TIFFTAG_SUBIFD using LONG type
+ as per bugs
+-
++
+ http://bugzilla.remotesensing.org/show_bug.cgi?id=703
+
+ and
+@@ -2258,9 +2305,9 @@
+
+ * libtiff/tif_config.in.vc: Removed unneded definitions for
+ read/open/close/lseek functions to fix the
+-
++
+ http://bugzilla.remotesensing.org/show_bug.cgi?id=680
+-
++
+ 2004-12-03 Andrey Kiselev <dron@ak4719.spb.edu>
+
+ * libtiff/{tif_dir.c, tif_dirread.c}: Remove TIFFReassignTagToIgnore()
+@@ -2296,7 +2343,7 @@
+
+ 2004-11-26 Frank Warmerdam <warmerdam@pobox.com>
+
+- * libtiff/makefile.vc: make it easier to rename the libtiff DLL.
++ * libtiff/makefile.vc: make it easier to rename the libtiff DLL.
+
+ 2004-11-24 Andrey Kiselev <dron@ak4719.spb.edu>
+
+@@ -2393,7 +2440,7 @@
+ per bug
+
+ http://bugzilla.remotesensing.org/show_bug.cgi?id=648
+-
++
+ * libtiff/{tif_jpeg.c, tif_ojpeg.c}: TIFFTAG_JPEGTABLES should have
+ uint32 count. Use this type everywhere.
+
+@@ -2406,7 +2453,7 @@
+ * tools/tiff2rgba.c: removed extra newlines in usage message.
+
+ 2004-10-30 Andrey Kiselev <dron@ak4719.spb.edu>
+-
++
+ * libtiff/tif_dirwrite.c: Improvements in tag writing code.
+
+ * tools/tiff2ps.c: Fixed wrong variable data type when read Position
+@@ -2421,7 +2468,7 @@
+
+ * libtiff/tif_fax3.c: Fixed case with the wrong decode routines
+ choosing when the incorrect Group4Options tag set. As per bug
+-
++
+ http://bugzilla.remotesensing.org/show_bug.cgi?id=323
+
+ * libtiff/tif_dirwrite.c: Fixed problem with passing count variable of
+@@ -2440,7 +2487,7 @@
+ * tools/tiff2pdf.c: added casts to avoid warnings.
+
+ * libtiff/libtiff.def: Added several more entry points required
+- to link fax2tiff.c against the DLL on windows.
++ to link fax2tiff.c against the DLL on windows.
+
+ 2004-10-27 Andrey Kiselev <dron@ak4719.spb.edu>
+
+@@ -2511,7 +2558,7 @@
+ 2004-10-08 Frank Warmerdam <warmerdam@pobox.com>
+
+ * libtiff/tif_dirinfo.c: Fix bug with tif_foundfield and reallocation
+- of tif_fieldinfo.
++ of tif_fieldinfo.
+
+ http://bugzilla.remotesensing.org/show_bug.cgi?id=630
+
+@@ -2543,7 +2590,7 @@
+
+ 2004-09-30 Frank Warmerdam <warmerdam@pobox.com>
+
+- * libtiff/tif_dirinfo.c: changed type of XMLPacket (tag 700) to
++ * libtiff/tif_dirinfo.c: changed type of XMLPacket (tag 700) to
+ TIFFTAG_BYTE instead of TIFFTAG_UNDEFINED to comply with the info
+ in the Adobe XMP Specification.
+
+@@ -2563,7 +2610,7 @@
+ 2004-09-26 Andrey Kiselev <dron@ak4719.spb.edu>
+
+ * libtiff/{tif_dir.h, tif_dir.c, tif_dirread.c, tif_write.c}:
+- Optimize checking for the strip bounds.
++ Optimize checking for the strip bounds.
+
+ * libtiff/{tif_dirread.c, tif_strip.c}: TIFFScanlineSize() and
+ TIFFRasterScanlineSize() functions report zero in the case of integer
+@@ -2714,7 +2761,7 @@
+ here
+
+ http://www.asmail.be/msg0054799560.html
+-
++
+ for details.
+
+ * tools/fax2tiff.c: Use the new functions in the code.
+@@ -2842,11 +2889,11 @@
+ * tools/tiffsplit.c: Fixed problem with unproperly written multibyte
+ files. Now output files will be written using the same byte order
+ flag as in the input image. See
+-
++
+ http://bugzilla.remotesensing.org/show_bug.cgi?id=574
+-
++
+ for details.
+-
++
+ 2004-05-19 Frank Warmerdam <warmerdam@pobox.com>
+
+ * libtiff/tif_print.c: added (untested) support for printing
+@@ -2858,7 +2905,7 @@
+
+ * libtiff/tif_fax3.c: Avoid reading CCITT compression options
+ if compression type mismatches. See
+-
++
+ http://bugzilla.remotesensing.org/show_bug.cgi?id=565
+
+ 2004-04-30 Andrey Kiselev <dron@ak4719.spb.edu>
+@@ -2903,7 +2950,7 @@
+ 2004-04-04 Frank Warmerdam <warmerdam@pobox.com>
+
+ * libtiff/tif_open.c: close clientdata if TIFFClientOpen() fails
+- via bad2.
++ via bad2.
+
+ 2004-03-26 Andrey Kiselev <dron@ak4719.spb.edu>
+
+@@ -2930,10 +2977,10 @@
+
+ 2004-02-26 Andrey Kiselev <dron@ak4719.spb.edu>
+
+- * tools/tiffsplit.c: Copy JPEGTables tag contents for JPEG compressed
++ * tools/tiffsplit.c: Copy JPEGTables tag contents for JPEG compressed
+ images. Reported by Artem Mirolubov.
+
+- * libtiff/tif_dirread.c: Fixed problem with handling TIFF_UNDEFINED
++ * libtiff/tif_dirread.c: Fixed problem with handling TIFF_UNDEFINED
+ tag type in TIFFFetchNormalTag() as per bug
+
+ http://bugzilla.remotesensing.org/show_bug.cgi?id=508
+@@ -2955,8 +3002,8 @@
+ 2004-01-30 Frank Warmerdam <warmerdam@pobox.com>
+
+ * libtiff/libtiff.def: Added TIFFCurrentDirOffset, TIFFWriteCheck,
+- TIFFRGBAImageOK, and TIFFNumberOfDirectories as suggested by
+- Scott Reynolds.
++ TIFFRGBAImageOK, and TIFFNumberOfDirectories as suggested by
++ Scott Reynolds.
+
+ 2004-01-29 Andrey Kiselev <dron@ak4719.spb.edu>
+
+@@ -2974,7 +3021,7 @@
+ file if TIFFFdOpen() failed as per bug
+
+ http://bugzilla.remotesensing.org/show_bug.cgi?id=468
+-
++
+ * libtiff/tif_open.c: More fixes for
+
+ http://bugzilla.remotesensing.org/show_bug.cgi?id=468
+@@ -2998,7 +3045,7 @@
+ * libtiff/tif_dirwrite.c: Fixed handling of writable ASCII tags that
+ are field_passcount=TRUE properly. Arguably anonymous custom tags
+ should be declared as passcount=FALSE, but I don't want to change
+- that without a careful review.
++ that without a careful review.
+
+ 2004-01-20 Andrey Kiselev <dron@ak4719.spb.edu>
+
+@@ -3161,8 +3208,8 @@
+
+ 2003-11-17 Frank Warmerdam <warmerdam@pobox.com>
+
+- * tif_dirread.c: do not mark all anonymously defined tags to be
+- IGNOREd.
++ * tif_dirread.c: do not mark all anonymously defined tags to be
++ IGNOREd.
+
+ 2003-11-17 Andrey Kiselev <dron@ak4719.spb.edu>
+
+@@ -3202,15 +3249,15 @@
+
+ 2003-11-09 Frank Warmerdam <warmerdam@pobox.com>
+
+- * libtiff/tif_tile.c: remove spurious use of "s" (sample) in the
++ * libtiff/tif_tile.c: remove spurious use of "s" (sample) in the
+ planarconfig_contig case in TIFFComputeTile().
+
+ http://bugzilla.remotesensing.org/show_bug.cgi?id=387
+
+ 2003-11-09 Andrey Kiselev <dron@ak4719.spb.edu>
+-
++
+ * libtiff/tiffiop.h: New macros: TIFFmax, TIFFmin and TIFFrint.
+-
++
+ 2003-11-07 Andrey Kiselev <dron@ak4719.spb.edu>
+
+ * libtiff/{tiffio.h, tif_strip.c}, man/{TIFFstrip.3t, libtiff.3t}:
+@@ -3277,11 +3324,11 @@
+ function TIFFReadRGBAImageOriented() implemented to retrieve raster
+ array with user-specified origin position as suggested by Jason Frank.
+ See
+-
++
+ http://bugzilla.remotesensing.org/show_bug.cgi?id=322
+
+ for details.
+-
++
+ * tools/tiff2rgba.c: Switched to use TIFFReadRGBAImageOriented()
+ instead of TIFFReadRGBAImage().
+
+@@ -3362,9 +3409,9 @@
+ encoded write functions use tif_postdecode() to apply byte order
+ swapping (swab) to the application passed data buffer if the same
+ would be done when reading. This allows us to write pixel data with
+- more than 8 bits per sample to existing files of a non-native byte
++ more than 8 bits per sample to existing files of a non-native byte
+ order. One side effect of this change is the applications buffer
+- itself is altered in this case by the act of writing.
++ itself is altered in this case by the act of writing.
+
+ http://bugzilla.remotesensing.org/show_bug.cgi?id=171
+
+@@ -3390,9 +3437,9 @@
+ 2003-07-08 Frank Warmerdam <warmerdam@pobox.com>
+
+ * tif_aux.c, tif_codec.c, tif_dir.c, tif_dirread.c, tif_extension.c,
+- tif_fax3.c, tif_getimage.c, tif_luv.c, tif_lzw.c, tif_next.c,
++ tif_fax3.c, tif_getimage.c, tif_luv.c, tif_lzw.c, tif_next.c,
+ tif_packbits.c, tif_predict.c, tif_print.c, tif_swab.c, tif_thunder.c:
+- avoid casting warning at /W4.
++ avoid casting warning at /W4.
+
+ 2003-07-03 Andrey Kiselev <dron@ak4719.spb.edu>
+
+@@ -3414,11 +3461,11 @@
+
+ * libtiff/tif_dirinfo.c: TIFFDataWidth() returns 0 in case of
+ unknown data type.
+-
++
+ 2003-06-19 Frank Warmerdam <warmerdam@pobox.com>
+
+ * libtiff/tif_print.c: fixed some serious bugs when printing
+- custom tags ... almost certain to crash.
++ custom tags ... almost certain to crash.
+
+ * libtiff/tif_dirread.c: Don't ignore custom fields that are
+ autodefined. Not sure how this got to be like this.
+@@ -3429,12 +3476,12 @@
+
+ * tools/tiffcmp.c, man/tiffcmp.1: Fixed problem with unused data
+ comparing as per bug
+-
++
+ http://bugzilla.remotesensing.org/show_bug.cgi?id=349
+
+ `-z' option now can be used to set the number of reported different
+ bytes.
+-
++
+ 2003-06-09 Andrey Kiselev <dron@ak4719.spb.edu>
+
+ * tools/tiffcp.c, man/tiffcp.1: Added possibility to specify value -1
+@@ -3460,7 +3507,7 @@
+ 2003-05-25 Andrey Kiselev <dron@ak4719.spb.edu>
+
+ * tools/fax2tiff.c: Page numbering fixed, as per bug
+-
++
+ http://bugzilla.remotesensing.org/show_bug.cgi?id=341
+
+ 2003-05-20 Andrey Kiselev <dron@ak4719.spb.edu>
+@@ -3526,7 +3573,7 @@
+
+ * tools/tiffcp.c: Fixed problem with colorspace conversion for JPEG
+ encoded images. See bug entries
+-
++
+ http://bugzilla.remotesensing.org/show_bug.cgi?id=275
+
+ and
+@@ -3587,16 +3634,16 @@
+
+ * libtiff/tif_jpeg.c: Modified to defer initialization of jpeg
+ library so that we can check if there is already any tile/strip data
+- before deciding between creating a compressor or a decompressor.
++ before deciding between creating a compressor or a decompressor.
+
+ 2003-01-31 Frank Warmerdam <warmerdam@pobox.com>
+
+ * libtiff/tif_write.c: TIFFWriteCheck() now fails if the image is
+- a pre-existing compressed image. That is, image writing to
++ a pre-existing compressed image. That is, image writing to
+ pre-existing compressed images is not allowed.
+
+ * libtiff/tif_open.c: Removed error if opening a compressed file
+- in update mode.
++ in update mode.
+
+ http://bugzilla.remotesensing.org/show_bug.cgi?id=198
+
+@@ -3609,16 +3656,16 @@
+ * cut 3.6.0 Beta release.
+
+ 2002-12-20 Andrey Kiselev <dron@ak4719.spb.edu>
+-
++
+ * tools/fax2ps.c, man/fax2ps.1: Page size was determined
+ in wrong way as per bug
+-
++
+ http://bugzilla.remotesensing.org/show_bug.cgi?id=239
+
+ 2002-12-17 Frank Warmerdam <warmerdam@pobox.com>
+
+- * libtiff/tif_dirread.c: Allow wrong sized arrays in
+- TIFFFetchStripThing().
++ * libtiff/tif_dirread.c: Allow wrong sized arrays in
++ TIFFFetchStripThing().
+
+ http://bugzilla.remotesensing.org/show_bug.cgi?id=49
+
+@@ -3632,7 +3679,7 @@
+ * libtiff/tif_dir.c: fixed bug with resetting an existing custom
+ field value.
+
+- * libtiff/tif_dir.c: Fixed potential problem with ascii "custom"
++ * libtiff/tif_dir.c: Fixed potential problem with ascii "custom"
+ tags in TIFFVGetField() ... added missing break.
+
+ 2002-10-14 Frank Warmerdam <warmerdam@pobox.com>
+@@ -3644,11 +3691,11 @@
+ the eps by redefining the colorimage operator will get messed up.
+ Patch supplied by William Bader.
+
+- * Makefile.in: added tif_extension.c to file list as per
++ * Makefile.in: added tif_extension.c to file list as per
+ http://bugzilla.remotesensing.org/show_bug.cgi?id=218.
+
+ 2002-10-11 Andrey Kiselev <dron@ak4719.spb.edu>
+-
++
+ * configure, config.site, libtiff/{tif_unix.c, Makefile.in}: Fix for
+ large files (>2GiB) supporting. New option in the config.site:
+ LARGEFILE="yes". Should be enough for I/O of the large files.
+@@ -3680,13 +3727,13 @@
+ 2002-10-06 Frank Warmerdam <warmerdam@pobox.com>
+
+ * libtiff/tif_jpeg.c: fixed problem with boolean defined with wrong
+- size on windows. Use #define boolean hack.
++ size on windows. Use #define boolean hack.
+
+ http://bugzilla.remotesensing.org/show_bug.cgi?id=188
+
+ * libtiff/tiff.h: Don't do special type handling in tiff.h unless
+ USING_VISUALAGE is defined.
+-
++
+ http://bugzilla.remotesensing.org/show_bug.cgi?id=39
+
+ 2002-10-03 Frank Warmerdam <warmerdam@pobox.com>
+@@ -3697,30 +3744,30 @@
+
+ * libtiff/tif_dirread.c: Another fix for the fetching SBYTE arrays
+ by the TIFFFetchByteArray() function. Should finally resolve
+-
++
+ http://bugzilla.remotesensing.org/show_bug.cgi?id=52
+-
++
+ * configure: Set -DPIXARLOG_SUPPORT option along with -DZIP_SUPPORT
+
+ * html/Makefile.in: New targets added: html and groffhtml for
+ producing HTML representations of the manual pages automatically.
+ html target uses man2html tool, groffhtml uses groff tool.
+-
++
+ 2002-09-29 Frank Warmerdam <warmerdam@pobox.com>
+
+ * configure, libtiff/Makefile.in: Added SCO OpenServer 5.0.6 support
+- from John H. DuBois III.
++ from John H. DuBois III.
+
+ 2002-09-15 Andrey Kiselev <dron@ak4719.spb.edu>
+
+ * Makefile.in, /man/{raw2tiff.1, Makefile.in, libtiff.3}: Added
+ manual page for raw2tiff(1) tool.
+-
++
+ 2002-09-12 Andrey Kiselev <dron@ak4719.spb.edu>
+
+ * /libtiff/{tiffio.h, tif_dir.h}: TIFFDataWidth() declaration moved to
+ the tiffio.h header file.
+-
++
+ * Makefile.in, /man/{TIFFDataWidth.3t, Makefile.in, libtiff.3}: Added
+ manual page for TIFFDataWidth() function
+
+@@ -3730,8 +3777,8 @@
+ as per http://bugzilla.remotesensing.org/show_bug.cgi?id=196.
+
+ * tools/tiff2ps.c: Don't emit BeginData/EndData DSC comments
+- since we are unable to properly include the amount to skip.
+-
++ since we are unable to properly include the amount to skip.
++
+ http://bugzilla.remotesensing.org/show_bug.cgi?id=80
+
+ 2002-09-02 Andrey Kiselev <dron@ak4719.spb.edu>
+@@ -3741,7 +3788,7 @@
+ http://bugzilla.remotesensing.org/show_bug.cgi?id=52
+
+ 2002-08-22 Andrey Kiselev <dron@ak4719.spb.edu>
+-
++
+ * /libtiff/tif_dirinfo.c: Further additions to free custom fields
+ in _TIFFSetupFieldInfo() function.
+ See http://bugzilla.remotesensing.org/show_bug.cgi?id=169 for details.
+@@ -3750,14 +3797,14 @@
+ LZWDecode() and LZWDecodeCompat().
+ Fixes http://bugzilla.remotesensing.org/show_bug.cgi?id=190
+ and http://bugzilla.remotesensing.org/show_bug.cgi?id=100
+-
++
+ * /libtiff/tif_lzw.c:
+ Added check for valid code lengths in LZWDecode() and
+ LZWDecodeCompat(). Fixes
+ http://bugzilla.remotesensing.org/show_bug.cgi?id=115
+
+ 2002-08-16 Andrey Kiselev <dron@ak4719.spb.edu>
+-
++
+ * /libtiff/{Makefile.vc, libtiff.def}:
+ Missed declarations added.
+
+@@ -3768,7 +3815,7 @@
+
+ http://bugzilla.remotesensing.org/show_bug.cgi?id=177
+
+- * tif_dir.h: changed FIELD_CODEC to 66 from 64 to avoid overlap
++ * tif_dir.h: changed FIELD_CODEC to 66 from 64 to avoid overlap
+ with FIELD_CUSTOM as mentioned in bug 169.
+
+ * tif_close.c: added logic to free dynamically created anonymous
+@@ -3777,31 +3824,31 @@
+ http://bugzilla.remotesensing.org/show_bug.cgi?id=169
+
+ 2002-08-10 Andrey Kiselev <dron@ak4719.spb.edu>
+-
++
+ * /tools/{raw2tiff.c, Makefile.in, Makefile.lcc, Makefile.vc}:
+ New tool: raw2tiff --- raw images to TIFF converter. No manual page yet.
+
+ 2002-07-31 Frank Warmerdam <warmerdam@pobox.com>
+
+- * libtiff/tif_jpeg.c: Fixed problem with setting of nrows in
++ * libtiff/tif_jpeg.c: Fixed problem with setting of nrows in
+ JPEGDecode() as per bugzilla bug (issue 1):
+
+ http://bugzilla.remotesensing.org/show_bug.cgi?id=129
+
+ * libtiff/{tif_jpeg.c,tif_strip.c,tif_print.c}: Hacked tif_jpeg.c to
+ fetch TIFFTAG_YCBCRSUBSAMPLING from the jpeg data stream if it isn't
+- present in the tiff tags.
++ present in the tiff tags.
+
+ http://bugzilla.remotesensing.org/show_bug.cgi?id=168
+
+ * libtiff/tif_read.c, libtiff/tif_write.c: TIFFReadScanline() and
+ TIFFWriteScanline() now set tif_row explicitly in case the codec has
+- fooled with the value.
++ fooled with the value.
+
+ http://bugzilla.remotesensing.org/show_bug.cgi?id=129
+
+ 2002-06-22 Andrey Kiselev <dron@ak4719.spb.edu>
+-
++
+ * /tools/tiff2ps.c: Added workaround for some software that may crash
+ when last strip of image contains fewer number of scanlines than
+ specified by the `/Height' variable. See
+@@ -3817,8 +3864,8 @@
+
+ 2002-06-11 Frank Warmerdam <warmerdam@pobox.com>
+
+- * libtiff/contrib/win95: renamed to contrib/win_dib. Added new
+- Tiffile.cpp example of converting TIFF files into a DIB on Win32.
++ * libtiff/contrib/win95: renamed to contrib/win_dib. Added new
++ Tiffile.cpp example of converting TIFF files into a DIB on Win32.
+ This one is described in:
+
+ http://bugzilla.remotesensing.org/show_bug.cgi?id=143
+@@ -3834,21 +3881,21 @@
+ http://bugzilla.remotesensing.org/show_bug.cgi?id=131
+
+ 2002-04-26 Andrey Kiselev <dron@ak4719.spb.edu>
+-
++
+ * libtiff/libtiff.def: Added missed declaration.
+-
++
+ 2002-04-22 Andrey Kiselev <dron@ak4719.spb.edu>
+-
++
+ * tools/fax2tiff.c: Updated to reflect latest changes in libtiff.
+ Closes http://bugzilla.remotesensing.org/show_bug.cgi?id=125
+
+ 2002-04-20 Andrey Kiselev <dron@ak4719.spb.edu>
+-
++
+ * libtiff/tif_open.c: Pointers to custom procedures
+ in TIFFClientOpen() are checked to be not NULL-pointers.
+-
++
+ 2002-04-18 Andrey Kiselev <dron@ak4719.spb.edu>
+-
++
+ * libtiff/libtiff.def: Added missed declarations.
+
+ * libtiff/tif_pixarlog.c: Updated for using tif_tagmethods structure.
+@@ -3858,14 +3905,14 @@
+ * libtiff/tif_lzw.c: Additional checks for data integrity introduced.
+ Should finally close
+ http://bugzilla.remotesensing.org/show_bug.cgi?id=100
+-
++
+ 2002-04-10 Andrey Kiselev <dron@ak4719.spb.edu>
+
+ * tools/tiff2ps: Division by zero fixed.
+ Closes http://bugzilla.remotesensing.org/show_bug.cgi?id=88
+
+ 2002-04-09 Andrey Kiselev <dron@ak4719.spb.edu>
+-
++
+ * libtiff/: tif_dirwrite.c, tif_write.c, tiffio.h:
+ TIFFCheckpointDirectory() routine added.
+ Closes http://bugzilla.remotesensing.org/show_bug.cgi?id=124
+@@ -3897,7 +3944,7 @@
+ replaced by warnings. Now libtiff should read corrupted LZW-compressed
+ files by skipping bad strips.
+ Closes http://bugzilla.remotesensing.org/show_bug.cgi?id=100
+-
++
+ 2002-04-03 Frank Warmerdam <warmerdam@pobox.com>
+
+ * libtiff/tif_dirwrite.c: Removed some dead code.
+@@ -3919,18 +3966,18 @@
+
+ http://bugzilla.remotesensing.org/show_bug.cgi?id=111
+
+- * tif_print.c: Fixed so that ASCII FIELD_CUSTOM values with
++ * tif_print.c: Fixed so that ASCII FIELD_CUSTOM values with
+ passcount set FALSE can be printed (such as TIFFTAG_SOFTWARE).
+
+- * libtiff/tif_dir.c,tif_dirinfo.c,tif_dir.h,tif_ojpeg.c: modified so
++ * libtiff/tif_dir.c,tif_dirinfo.c,tif_dir.h,tif_ojpeg.c: modified so
+ that TIFFTAG_SOFTWARE uses FIELD_CUSTOM as an example.
+
+ 2002-03-26 Dwight Kelly <dbmalloc@remotesensing.org>
+
+ * libtiff/: tiff.h, tif_dir.c, tif_dir.h, tif_dirinfo.c, tif_dirread.c,
+ tif_dirwrite.c: Added get/put code for new tag XMLPACKET as defined
+- in Adobe XMP Technote. Added missing INKSET tag value from TIFF 6.0 spec
+- INKSET_MULTIINK (=2). Added missing tags from Adobe TIFF technotes:
++ in Adobe XMP Technote. Added missing INKSET tag value from TIFF 6.0 spec
++ INKSET_MULTIINK (=2). Added missing tags from Adobe TIFF technotes:
+ CLIPPATH, XCLIPPATHUNITS, YCLIPPATHUNITS, OPIIMAGEID, OPIPROXY and
+ INDEXED. Added PHOTOMETRIC tag value from TIFF technote 4 ICCLAB (=9).
+
+@@ -3989,7 +4036,7 @@
+
+ http://bugzilla.remotesensing.org/show_bug.cgi?id=94
+
+- * man/Makefile.in: Patch DESTDIR handling
++ * man/Makefile.in: Patch DESTDIR handling
+
+ http://bugzilla.remotesensing.org/show_bug.cgi?id=95
+
+@@ -4027,9 +4074,9 @@
+
+ 2002-01-04 Frank Warmerdam <warmerdam@pobox.com>
+
+- * libtiff/tif_jpeg.c: fixed computation of segment_width for
+- tiles files to avoid error about it not matching the
+- cinfo.d.image_width values ("JPEGPreDecode: Improper JPEG strip/tile
++ * libtiff/tif_jpeg.c: fixed computation of segment_width for
++ tiles files to avoid error about it not matching the
++ cinfo.d.image_width values ("JPEGPreDecode: Improper JPEG strip/tile
+ size.") for ITIFF files. Apparently the problem was incorporated since
+ 3.5.5, presumably during the OJPEG/JPEG work recently.
+
+@@ -4039,7 +4086,7 @@
+
+ http://bugzilla.remotesensing.org/show_bug.cgi?id=94
+
+- * libtiff/tif_getimage.c: If DEFAULT_EXTRASAMPLE_AS_ALPHA is 1
++ * libtiff/tif_getimage.c: If DEFAULT_EXTRASAMPLE_AS_ALPHA is 1
+ (defined in tiffconf.h - 1 by default) then the RGBA interface
+ will assume that a fourth extra sample is ASSOCALPHA if the
+ EXTRASAMPLE value isn't set for it. This changes the behaviour of
+@@ -4051,9 +4098,9 @@
+
+ 2001-12-12 Frank Warmerdam <warmerdam@pobox.com>
+
+- * libtiff/tif_jpeg.c: allow jpeg data stream sampling values to
+- override those from tiff directory. This makes this work with
+- ImageGear generated files.
++ * libtiff/tif_jpeg.c: allow jpeg data stream sampling values to
++ override those from tiff directory. This makes this work with
++ ImageGear generated files.
+
+ 2001-12-07 Frank Warmerdam <warmerdam@pobox.com>
+
+@@ -4066,7 +4113,7 @@
+ * Reissue 3.5.7 release.
+
+ * libtiff/mkversion.c: Fix output of TIFF_VERSION to be
+- YYYYMMDD so that it is increasing over time.
++ YYYYMMDD so that it is increasing over time.
+
+ * Makefile.in: Ensure that tiffvers.h is regenerated in the
+ make release target.
+@@ -4091,8 +4138,8 @@
+
+ 2001-10-10 Frank Warmerdam <warmerdam@pobox.com>
+
+- * libtiff/tiff.h: I have created COMPRESSION_CCITT_T4,
+- COMPRESSION_CCITT_T6, TIFFTAG_T4OPTIONS and TIFFTAG_T6OPTIONS aliases
++ * libtiff/tiff.h: I have created COMPRESSION_CCITT_T4,
++ COMPRESSION_CCITT_T6, TIFFTAG_T4OPTIONS and TIFFTAG_T6OPTIONS aliases
+ in keeping with TIFF 6.0 standard in tiff.h
+
+ http://bugzilla.remotesensing.org/show_bug.cgi?id=83
+@@ -4112,10 +4159,10 @@
+ error about LZW not being available.
+
+ * libtiff/tif_dir.c: propagate failure to initialize compression
+- back from TIFFSetField() as an error status, so applications can
++ back from TIFFSetField() as an error status, so applications can
+ detect failure.
+
+- * libtiff/tif_dir.c: removed the auto replacement of
++ * libtiff/tif_dir.c: removed the auto replacement of
+ COMPRESSION_LZW with COMPRESSION_NONE in _TIFFVSetField().
+
+ * Removed Makefile, tools/Makefile, port/install.sh, man/Makefile
+@@ -4123,7 +4170,7 @@
+
+ 2001-09-22 Frank Warmerdam <warmerdam@pobox.com>
+
+- * libtiff/tif_ojpeg.c: new update from Scott.
++ * libtiff/tif_ojpeg.c: new update from Scott.
+
+ 2001-09-09 Frank Warmerdam <warmerdam@pobox.com>
+
+@@ -4142,7 +4189,7 @@
+
+ http://bugzilla.remotesensing.org/show_bug.cgi?id=47
+
+- * tools/tiff2ps.c: added OJPEG YCbCr to RGB support.
++ * tools/tiff2ps.c: added OJPEG YCbCr to RGB support.
+
+ * libtiff/tif_ojpeg.c: Applied substantial patch from Scott.
+
+@@ -4151,14 +4198,14 @@
+ * libtiff/tif_packbits.c: fixed memory overrun error.
+
+ http://bugzilla.remotesensing.org/show_bug.cgi?id=77
+-
++
+ 2001-08-31 Frank Warmerdam <warmerdam@pobox.com>
+
+ * libtiff/tif_getimage.c: relax handling of contig case where
+ there are extra samples that are supposed to be ignored. This
+- should now work for 8bit greyscale or palletted images.
++ should now work for 8bit greyscale or palletted images.
+
+- http://bugzilla.remotesensing.org/show_bug.cgi?id=75
++ http://bugzilla.remotesensing.org/show_bug.cgi?id=75
+
+ 2001-08-28 Frank Warmerdam <warmerdam@pobox.com>
+
+@@ -4171,15 +4218,15 @@
+
+ * libtiff/tif_getimage.c: Use memmove() instead of TIFFmemcpy()
+ in TIFFReadRGBATile() to avoid issues in cases of overlapping
+- buffers. See Bug 69 in Bugzilla.
++ buffers. See Bug 69 in Bugzilla.
+
+ http://bugzilla.remotesensing.org/show_bug.cgi?id=69
+-
++
+ * tools/tiff2rgba.c: fixed getopt() call so that -b works again.
+
+ 2001-08-09 Frank Warmerdam <warmerdam@pobox.com>
+
+- * libtiff/tiff.h, libtiff/tif_fax3.c: added check for __LP64__
++ * libtiff/tiff.h, libtiff/tif_fax3.c: added check for __LP64__
+ when checking for 64 bit architectures as per bugzilla bug 67.
+
+ 2001-07-27 Frank Warmerdam <warmerdam@pobox.com>
+@@ -4189,7 +4236,7 @@
+
+ 2001-07-20 Frank Warmerdam <warmerdam@pobox.com>
+
+- * libtiff/tif_jpeg.c: Define HAVE_BOOLEAN on windows if RPCNDR.H
++ * libtiff/tif_jpeg.c: Define HAVE_BOOLEAN on windows if RPCNDR.H
+ has been included.
+
+ 2001-07-19 Frank Warmerdam <warmerdam@pobox.com>
+@@ -4201,11 +4248,11 @@
+
+ * libtiff/tif_ojpeg.c: updates from Scott. Handles colors
+ much better. Now depends on having patched libjpeg as per
+- patch in contrib/ojpeg/*.
++ patch in contrib/ojpeg/*.
+
+ 2001-07-17 Frank Warmerdam <warmerdam@pobox.com>
+
+- * */Makefile.in: added DESTDIR support.
++ * */Makefile.in: added DESTDIR support.
+
+ http://bugzilla.remotesensing.org/show_bug.cgi?id=60
+
+@@ -4213,20 +4260,20 @@
+
+ * configure, libtiff/Makefile.in: applied OpenBSD patches
+ as per:
+-
++
+ http://bugzilla.remotesensing.org/show_bug.cgi?id=61
+
+ 2001-06-28 Frank Warmerdam <warmerdam@pobox.com>
+
+ * libtiff/tif_getimage.c: Fixed so that failure is properly
+- reported by gtTileContig, gtStripContig, gtTileSeparate and
++ reported by gtTileContig, gtStripContig, gtTileSeparate and
+ gtStripSeparate.
+
+ See http://bugzilla.remotesensing.org/show_bug.cgi?id=51
+
+- * tiffcmp.c: Fixed multi samples per pixel support for ContigCompare.
++ * tiffcmp.c: Fixed multi samples per pixel support for ContigCompare.
+ Updated bug section of tiffcmp.1 to note tiled file issues.
+-
++
+ See http://bugzilla.remotesensing.org/show_bug.cgi?id=53
+
+ 2001-06-22 Frank Warmerdam <warmerdam@pobox.com>
+@@ -4267,10 +4314,10 @@
+
+ 2001-05-08 Frank Warmerdam <warmerdam@pobox.com>
+
+- * libtiff/tif_dirinfo.c: moved pixar and copyright flags to
++ * libtiff/tif_dirinfo.c: moved pixar and copyright flags to
+ ensure everything is in order.
+
+- * libtiff/libtiff.def: added TIFFCreateDirectory and
++ * libtiff/libtiff.def: added TIFFCreateDirectory and
+ TIFFDefaultStripSize as per:
+
+ http://bugzilla.remotesensing.org/show_bug.cgi?id=46
+@@ -4279,10 +4326,10 @@
+
+ * libtiff/tif_dirinfo.c: Modified the TIFF_BYTE definition for
+ TIFFTAG_PHOTOSHOP to use a writecount of TIFF_VARIABLE2 (-3) to
+- force use of uint32 counts instead of short counts.
++ force use of uint32 counts instead of short counts.
+
+ * libtiff/tif_dirwrite.c: Added support for TIFF_VARIABLE2 in the
+- case of writing TIFF_BYTE/TIFF_SBYTE fields.
++ case of writing TIFF_BYTE/TIFF_SBYTE fields.
+
+ http://bugzilla.remotesensing.org/show_bug.cgi?id=43
+
+@@ -4318,20 +4365,20 @@
+ with the inttypes.h include file on AIX.
+
+ See http://bugzilla.remotesensing.org/show_bug.cgi?id=39
+-
++
+ * VERSION: update to 3.5.7 beta in preparation for release.
+
+ * configure/config.site: modified to check if -lm is needed for
+ MACHDEPLIBS if not supplied by config.site. Needed for Darwin.
+
+- * config.guess: updated wholesale to an FSF version apparently
+- from 1998 (as opposed to 1994). This is mainly inspired by
++ * config.guess: updated wholesale to an FSF version apparently
++ from 1998 (as opposed to 1994). This is mainly inspired by
+ providing for MacOS X support.
+
+ 2001-03-29 Frank Warmerdam <warmerdam@pobox.com>
+
+ * configure, Makefile.in, etc: added support for OPTIMIZER being
+- set from config.site.
++ set from config.site.
+
+ 2001-03-28 Frank Warmerdam <warmerdam@pobox.com>
+
+@@ -4350,7 +4397,7 @@
+ (in particular short ones) print properly.
+
+ See http://bugzilla.remotesensing.org/show_bug.cgi?id=35
+-
++
+ * tiff2ps.c/tiff2ps.1: Substantial changes to tiff2ps by
+ Bruce A. Mallett. See check message for detailed information
+ on all the changes, including a faster encoder, fixes for level
+@@ -4358,7 +4405,7 @@
+
+ 2001-03-27 Frank Warmerdam <warmerdam@pobox.com>
+
+- * libtiff/tiffio.h: Changed "#if LOGLUV_PUBLIC" to
++ * libtiff/tiffio.h: Changed "#if LOGLUV_PUBLIC" to
+ "#ifdef LOGLUV_PUBLIC" so it will work with VisualAge on AIX.
+
+ http://bugzilla.remotesensing.org/show_bug.cgi?id=39
+@@ -4370,7 +4417,7 @@
+
+ 2001-03-13 Frank Warmerdam <warmerdam@pobox.com>
+
+- * tif_getimage.c: Added support for 16bit minisblack/miniswhite
++ * tif_getimage.c: Added support for 16bit minisblack/miniswhite
+ images in RGBA interface.
+
+ 2001-03-02 Frank Warmerdam <warmerdam@pobox.com>
+@@ -4381,29 +4428,29 @@
+
+ * Brent Roman contributed updated tiffcp utility (and tiffcp.1)
+ with support for extracting subimages with the ,n syntax, and also
+- adding the -b bias removal flag.
++ adding the -b bias removal flag.
+
+ 2001-02-16 Frank Warmerdam <warmerdam@pobox.com>
+
+ * libtiff/libtiff.def: Brent Roman submitted new version adding
+- serveral missing entry points.
++ serveral missing entry points.
+
+ * libtiff/tif_dirinfo.c: don't declare tiffFieldInfo static on VMS.
+- Some sort of weird VMS thing.
++ Some sort of weird VMS thing.
+
+ http://bugzilla.remotesensing.org/show_bug.cgi?id=31
+
+- * tif_luv.c/tiff.h/tiffio.h:
+- New version of TIFF LogLuv (SGILOG) modules contributed by Greg Ward
++ * tif_luv.c/tiff.h/tiffio.h:
++ New version of TIFF LogLuv (SGILOG) modules contributed by Greg Ward
+ (greg@shutterfly.com). He writes:
+
+ 1) I improved the gamut-mapping function in tif_luv.c for imaginary
+- colors, because some images were being super-saturated on the input
++ colors, because some images were being super-saturated on the input
+ side and this resulted in some strange color shifts in the output.
+
+ 2) I added a psuedotag in tiff.h to control random dithering during
+- LogLuv encoding. This is turned off by default for 32-bit LogLuv and
+- on for 24-bit LogLuv output. Dithering improves the average color
++ LogLuv encoding. This is turned off by default for 32-bit LogLuv and
++ on for 24-bit LogLuv output. Dithering improves the average color
+ accuracy over the image.
+
+ 3) I added a #define for LOG_LUV_PUBLIC, which is enabled by default in
+@@ -4416,20 +4463,20 @@
+ 2001-01-23 Frank Warmerdam <warmerdam@pobox.com>
+
+ * tif_fax3.c: keep rw_mode flag internal to fax3 state to remember
+- whether we are encoding or decoding. This is to ensure graceful
++ whether we are encoding or decoding. This is to ensure graceful
+ recovery if TIFFClientOpen() discovers an attempt to open a compressed
+- file for "r+" access, and subsequently close it, as it resets the
++ file for "r+" access, and subsequently close it, as it resets the
+ tif_mode flag to O_RDONLY in this case to avoid writes, confusing the
+ compressor's concept of whether it is in encode or decode mode.
+
+-2001-01-08 Mike Welles <mike@bangstate.com>
++2001-01-08 Mike Welles <mike@bangstate.com>
+
+ * Makefile.in: Now cleaning up after itself after creating the .tar.gz and .zip
+-
++
+ 2001-01-07 Frank Warmerdam <warmerdam@pobox.com>
+
+ * html/libtiff.html: Fixed arguments in example for TIFFRGBAImageGet()
+- as per bug report by Patrick Connor.
++ as per bug report by Patrick Connor.
+
+ 2000-12-28 Frank Warmerdam <warmerdam@pobox.com>
+
+@@ -4437,12 +4484,12 @@
+
+ * Fixed libtiff/makefile.vc to make tiffvers.h not version.h.
+
+-2000-12-22 Mike Welles <mike@bangstate.com>
++2000-12-22 Mike Welles <mike@bangstate.com>
+ * added link to CVS mirror from index.html
+-
+- * updated html/internals.html to note that LZW compression is
+- not supported by default.
+-
++
++ * updated html/internals.html to note that LZW compression is
++ not supported by default.
++
+ 2000-12-22 Frank Warmerdam <warmerdam@pobox.com>
+
+ * updated html/libtiff.html to not point at Niles' old JPL web site
+@@ -4454,19 +4501,19 @@
+ Leonard Rosenthol <leonardr@lazerware.com>. May interfere
+ with correct building on older systems. If so, please let me know.
+
+-2000-12-19 Mike Welles <mike@bangsate.com>
++2000-12-19 Mike Welles <mike@bangsate.com>
+
+- * Took out LZW Encoding from tif_lzw.c
++ * Took out LZW Encoding from tif_lzw.c
+
+ * Created HOWTO-RELEASE
+
+ * Created html/v3.5.6.html
+
+ * updated index.html
+-
++
+ 2000-12-01 Frank Warmerdam <warmerdam@pobox.com>
+
+- * Added patches for EOFB support in tif_fax3.c and tif_fax3.h.
++ * Added patches for EOFB support in tif_fax3.c and tif_fax3.h.
+ Patches supplied by Frank Cringle <fdc@cliwe.ping.de>
+ Example file at: ftp://ftp.remotesensing.org/pub/libtiff/eofb_396.tif
+
+@@ -4480,30 +4527,30 @@
+ targets so libtiff.so will be built with an explicit dependency
+ on libm.so.
+
+- * libtiff/Makefile.in: Use softlinks to link libtiff.so.3 to
+- libtiff.so.3.5.5.
++ * libtiff/Makefile.in: Use softlinks to link libtiff.so.3 to
++ libtiff.so.3.5.5.
+
+- * libtiff/Makefile.in & configure: Remove all references to the ALPHA
+- file, or ALPHA version logic. Added stuff about DIST_POINT in
++ * libtiff/Makefile.in & configure: Remove all references to the ALPHA
++ file, or ALPHA version logic. Added stuff about DIST_POINT in
+ place of DIST_TYPE and the alpha release number stuff.
+
+ 2000-11-22 Frank Warmerdam <warmerdam@pobox.com>
+
+ * I have applied a patch from Steffen Moeller <moeller@ebi.ac.uk> to
+- the configure script so that it now accepts the --prefix, and
+- --exec-prefix directives.
++ the configure script so that it now accepts the --prefix, and
++ --exec-prefix directives.
+
+ 2000-11-13 Frank Warmerdam <warmerda@cs46980-c>
+
+- * I have made a variety of modifications in an effort to ensure the
++ * I have made a variety of modifications in an effort to ensure the
+ TIFFLIB_VERSION macro is automatically generated from the RELEASE-DATE
+- file which seems to be updated regularly.
++ file which seems to be updated regularly.
+
+- o mkversion.c now reads RELEASE-DATE and emits TIFFLIB_VERSION in
+- version include file.
+- o renamed version.h to tiffvers.h because we now have to install it
+- with the public libtiff include files.
+- o include tiffvers.h in tiffio.h.
++ o mkversion.c now reads RELEASE-DATE and emits TIFFLIB_VERSION in
++ version include file.
++ o renamed version.h to tiffvers.h because we now have to install it
++ with the public libtiff include files.
++ o include tiffvers.h in tiffio.h.
+ o updated tif_version.c to use tiffvers.h.
+ o Updated Makefile.in accordingly.
+
+@@ -4517,13 +4564,13 @@
+ See http://bugzilla.remotesensing.org/show_bug.cgi?id=20
+ Some patches from Rick LaMont of Dot C Software.
+
+- * Modified tif_packbits.c encoder to avoid compressing more
++ * Modified tif_packbits.c encoder to avoid compressing more
+ data than provided if rowsize doesn't factor into provided data
+ (such as occurs for YCbCr).
+
+ 2000-10-19 Frank Warmerdam <warmerda@cs46980-c>
+
+- * tools/rgb2ycbcr.c: fixed output strip size to account for vertical
++ * tools/rgb2ycbcr.c: fixed output strip size to account for vertical
+ roundup if rows_per_strip not a multiple of vertical sample size.
+
+ 2000-10-16 Frank Warmerdam <warmerda@cs46980-c>
+@@ -4539,8 +4586,8 @@
+ 2000-10-12 Frank Warmerdam <warmerda@cs46980-c>
+
+ * Modified tiff2bw to ensure portions add to 100%, and that
+- white is properly recovered.
+-
++ white is properly recovered.
++
+ See bug http://bugzilla.remotesensing.org/show_bug.cgi?id=15
+ Patch c/o Stanislav Brabec <utx@penguin.cz>
+
+@@ -4554,26 +4601,26 @@
+
+ 2000-09-27 Frank Warmerdam <warmerda@cs46980-c>
+
+- * Added GNULDdso target an`d switched linux and freebsd to use it.
++ * Added GNULDdso target an`d switched linux and freebsd to use it.
+
+ 2000-09-26 Frank Warmerdam <warmerda@cs46980-c>
+
+ * Applied patch for 0x0000 sequences in tif_fax3.h's definition
+- of EXPAND1D() as per bug 11 (from Roman).
++ of EXPAND1D() as per bug 11 (from Roman).
+
+ 2000-09-25 Frank Warmerdam <warmerda@cs46980-c>
+ * Fixed tiffcomp.h to avoid win32 stuff if unix #defined, to improve
+ cygwin compatibility.
+
+ * Applied patch from Roman Shpount to tif_fax3.c. This seems to
+- be a proper fix to the buffer sizing problem. See
++ be a proper fix to the buffer sizing problem. See
+ http://bugzilla.remotesensing.org/show_bug.cgi?id=11
+
+ * Fixed tif_getimage.c to fix overrun bug with YCbCr images without
+ downsampling. http://bugzilla.remotesensing.org/show_bug.cgi?id=10
+ Thanks to Nick Lamb <njl98r@ecs.soton.ac.uk> for reporting the
+ bug and proving the patch.
+-
++
+ 2000-09-18 Frank Warmerdam <warmerda@cs46980-c>
+
+ * Fixed tif_jpeg.c so avoid destroying the decompressor before
+@@ -4603,15 +4650,15 @@
+ * Tentatively added support for SAMPLEFORMAT_COMPLEXIEEEFP, and
+ SAMPLEFORMAT_COMPLEXINT.
+
+-2000-07-13 Mike Welles <mike@onshore.com>
++2000-07-13 Mike Welles <mike@onshore.com>
++
++ * index.html, bugs.html: added bugzilla info.
+
+- * index.html, bugs.html: added bugzilla info.
+-
+ 2000-07-12 Frank Warmerdam <warmerda@rommel.atlsci.com>
+
+ * tif_read.c: fix subtle bug with determining the number of
+ rows for strips that are the last strip in a separation but
+- not the last strip of all in TIFFReadEncodedStrip().
++ not the last strip of all in TIFFReadEncodedStrip().
+
+ * Applied 16/32 bit fix to tif_fax3.c. Fix supplied by
+ Peter Skarpetis <peters@serendipity-software.com.au>
+@@ -4633,7 +4680,7 @@
+
+ * libtiff/tif_dirread.c: Don't use estimate strip byte count for
+ one tile/strip images with an offset, and byte count of zero. These
+- could be "unpopulated" images.
++ could be "unpopulated" images.
+
+ 2000-04-18 Frank Warmerdam <warmerda@rommel.atlsci.com>
+
+@@ -4648,17 +4695,17 @@ Tue Apr 18 16:18:08 2000 Frank Warmerdam <warmerda@esabot.atlsci.com>
+ 2000-04-12 Mike Welles <mike@onshore.com>
+ * configure: Fixed stupid mistake in libc6 test on Linux
+
+-2000-04-04 Mike Welles <mike@onshore.com>
++2000-04-04 Mike Welles <mike@onshore.com>
+ * tif_win32.c: Applied patch to fix overreads and ovverwrites
+- caught by BoundsChecker. From Arvan Pritchard
+- <arvan.pritchard@infomatix.co.uk> (untested).
+-
+- * tif_getimage.c: Applied patch to silence VC6 warnings. From
++ caught by BoundsChecker. From Arvan Pritchard
++ <arvan.pritchard@infomatix.co.uk> (untested).
++
++ * tif_getimage.c: Applied patch to silence VC6 warnings. From
+ Arvan Pritchard <arvan.pritchard@informatix.co.uk>
+-
+- * tif_lzw.c: Applied patch to silence VC6 warnings. From
++
++ * tif_lzw.c: Applied patch to silence VC6 warnings. From
+ Arvan Pritchard <arvan.pritchard@informatix.co.uk>
+-
++
+ 2000-03-28 Frank Warmerdam <warmerda@cs46980-c>
+
+ * Added contrib/stream (stream io) code submitted by Avi Bleiweiss.
+@@ -4668,34 +4715,34 @@ Tue Apr 18 16:18:08 2000 Frank Warmerdam <warmerda@esabot.atlsci.com>
+ * fax2ps: Fixed mixup of width and height in bounding box statement
+ as per submission by Nalin Dahyabhai <nalin@redhat.com>.
+
+-2000-03-27 Mike Welles <mike@onshore.com>
++2000-03-27 Mike Welles <mike@onshore.com>
+
+- * fax2ps: Modified printruns to take uint32 instead of uint16.
+- Patch courtesy of Bernt Herd <herd@herdsoft.com>
+-
+-2000-03-20 Mike Welles <mike@onshore.com>
++ * fax2ps: Modified printruns to take uint32 instead of uint16.
++ Patch courtesy of Bernt Herd <herd@herdsoft.com>
+
+- * configure: added test for libc6 for linux targets. Bug reported by
++2000-03-20 Mike Welles <mike@onshore.com>
++
++ * configure: added test for libc6 for linux targets. Bug reported by
+ Stanislav Brabec <utx@k332.feld.cvut.cz>
+
+- * Added 3.5 docs to html/Makefile.in.
++ * Added 3.5 docs to html/Makefile.in.
+ Thanks to Stanislav Brabec <utx@k332.feld.cvut.cz>
+
+- * configure: fixed bugs in sed scripts
+- (applied sed script s:/@:s;@:;s:/s;;:;: to configure).
++ * configure: fixed bugs in sed scripts
++ (applied sed script s:/@:s;@:;s:/s;;:;: to configure).
+ fix submitted to Stanislav Brabec <utx@k332.feld.cvut.cz>
+
+- * tools/iptcutil was not in files list, and wasn't being
++ * tools/iptcutil was not in files list, and wasn't being
+ added to tar archive. Updated Makefile.in.
+
+ 2000-03-17 Frank Warmerdam <warmerda@cs46980-c>
+
+ * tif_fax3.c: Fixed serious bug introduced during the uint16->uint32
+- conversion for the run arrays.
++ conversion for the run arrays.
+
+ 2000-03-03 Frank Warmerdam <warmerda@cs46980-c.mtnk1.on.wave.home.com>
+
+- * Set td_sampleformat default to SAMPLEFORMAT_UINT instead of
++ * Set td_sampleformat default to SAMPLEFORMAT_UINT instead of
+ SAMPLEFORMAT_VOID in TIFFDefaultDirectory() in tif_dir.c.
+
+ 2000-03-02 Frank Warmerdam <warmerda@cs46980-c.mtnk1.on.wave.home.com>
+@@ -4716,20 +4763,20 @@ Tue Feb 15 22:01:05 2000 Frank Warmerdam <warmerda@gdal.velocet.ca>
+ set to 1, and added default (off) setting in tiffconf.h. This
+ should eventually be set by the configure script somehow.
+
+- The original work on all these 2-4GB changes was done by
++ The original work on all these 2-4GB changes was done by
+ Peter Smith (psmith@creo.com).
+
+ * Modified tif_win32.c to support 2-4GB seeks.
+
+ * tentatively changed toff_t to be unsigned instead of signed to
+- facilitate support for 2-4GB files.
++ facilitate support for 2-4GB files.
+
+ * Updated a variety of files to use toff_t. Fixed some mixups
+ between toff_t and tsize_t.
+
+ Fri Jan 28 10:13:49 2000 Frank Warmerdam <warmerda@gdal.velocet.ca>
+
+- * Largely reimplemented contrib/addtiffo to avoid temp files,
++ * Largely reimplemented contrib/addtiffo to avoid temp files,
+ updating the TIFF file in place. Fixed a few other bugs to.
+
+ * Set tif_rawdatasize to zero when freeing raw data buffer in
+@@ -4738,7 +4785,7 @@ Fri Jan 28 10:13:49 2000 Frank Warmerdam <warmerda@gdal.velocet.ca>
+ * Enabled "REWRITE_HACK" in tif_write.c by default.
+
+ * Fix bug in tif_write.c when switching between reading one directory
+- and writing to another.
++ and writing to another.
+
+ * Made TIFFWriteCheck() public, and added TIFFCreateDirectory()
+
+@@ -4750,41 +4797,41 @@ Tue Jan 4 13:39:00 2000 Frank Warmerdam <warmerda@gdal.velocet.ca>
+
+ * Added libtiff/libtiff.def to TIFFILES distribution list.
+
+-Mon Dec 27 12:13:39 EST 1999 Mike Welles <mike@onshore.com>
++Mon Dec 27 12:13:39 EST 1999 Mike Welles <mike@onshore.com>
+
+- * Created lzw compression kit, as a new module (libtiff-lzw-compression-kit).
++ * Created lzw compression kit, as a new module (libtiff-lzw-compression-kit).
+
+ * Altered descriptions in tools to reflect "by default" lzw not supported
+
+- * Updated index.html to note lzw compression kit.
+-
++ * Updated index.html to note lzw compression kit.
++
+ Tue Dec 21 14:01:51 1999 Frank Warmerdam <warmerda@gdal.velocet.ca>
+
+- * Added fax3sm_winnt.c to distribution list in Makefile.in.
++ * Added fax3sm_winnt.c to distribution list in Makefile.in.
+
+ Tue Dec 21 11:04:45 EST 1999 Mike Welles <mike@onshore.com> *** 3.5.4 release ***
+-
+- * Aadded Pixar tag support. Contributed by Phil Beffery <phil@pixar.com>
+
+- * Made one more change to tif_dir.c for removal of LZW compression. Also added notice
+- when LZW compression invoked.
++ * Aadded Pixar tag support. Contributed by Phil Beffery <phil@pixar.com>
++
++ * Made one more change to tif_dir.c for removal of LZW compression. Also added notice
++ when LZW compression invoked.
+
+ * Changed default compression in tools to TIFF_PACKBITS, and changed usage descriptions
+ in tools to reflect removal of LZW compression
+-
++
+ Mon Dec 20 18:39:02 EST 1999 Mike Welles <mike@onshore.com>
+
+- * Fixed bug that caused LZW (non) compression to segfault. Added
+- warning about LZW compression removed being removed, and why.
++ * Fixed bug that caused LZW (non) compression to segfault. Added
++ warning about LZW compression removed being removed, and why.
++
++ * Added nostrip to install in tools/Makefile.in so that debugging
++ symbols are kept.
+
+- * Added nostrip to install in tools/Makefile.in so that debugging
+- symbols are kept.
+-
+ Tue Dec 7 12:04:47 EST 1999 Mike Welles <mike@onshore.com>
+
+- * Added patch from Ivo Penzar <ivo.penzar@infolink-software.com>,
+- supporting Adobe ZIP deflate. Untested.
+-
++ * Added patch from Ivo Penzar <ivo.penzar@infolink-software.com>,
++ supporting Adobe ZIP deflate. Untested.
++
+ Sat Dec 4 15:47:11 1999 Frank Warmerdam <warmerda@gdal.velocet.ca>
+
+ * Made Packbits the default compression in tools/tiff2rgba.c instead
+@@ -4794,12 +4841,12 @@ Tue Nov 30 14:41:43 1999 Frank Warmerdam <warmerda@gdal.velocet.ca> *** 3.5
+
+ * Added tif_luv to contrib/djgpp/Makefile.lib.
+
+-Tue Nov 30 14:15:32 EST 1999 Mike Welles <mike@onshore.com>
++Tue Nov 30 14:15:32 EST 1999 Mike Welles <mike@onshore.com>
++
++ * Added zip creation to relase makefile target
+
+- * Added zip creation to relase makefile target
++ * Added html for TIFFWriteTile.3t man page.
+
+- * Added html for TIFFWriteTile.3t man page.
+-
+ Tue Nov 30 09:20:16 1999 Frank Warmerdam <warmerda@gdal.velocet.ca>
+
+ * Added some changes to tif_write.c to support rewriting existing
+@@ -4812,26 +4859,26 @@ Mon Nov 29 11:43:42 1999 Frank Warmerdam <warmerda@gdal.velocet.ca>
+
+ Sun Nov 28 20:36:18 1999 Frank Warmerdam <warmerda@gdal.velocet.ca>
+
+- * Added notes on use of makefile.vc in build.html, and fixed
++ * Added notes on use of makefile.vc in build.html, and fixed
+ email subscription address.
+
+-199-11-28 Mike Welles <mike@onshore.com>
++1999-11-28 Mike Welles <mike@onshore.com>
+
+- * Fixed apocalypse-inducing y2k bug in contrib/ras/ras2tiff.c
++ * Fixed apocalypse-inducing y2k bug in contrib/ras/ras2tiff.c
+
+ * Did some casts cleaning up to reduce compiler warnings in tif_fax3.c,
+- from Bruce Carmeron <cameron@petris.com> -- modifications of
+- changes made by Frank (sun cc still complained on cast).
++ from Bruce Carmeron <cameron@petris.com> -- modifications of
++ changes made by Frank (sun cc still complained on cast).
+
+ * Added tiffconf.h to install target per request from Bill
+ Radcliffe <billr@corbis.com>: "We need a way for ImageMagick to
+ know features have been compiled into the TIFF library in order to
+- handle things properly".
+-
++ handle things properly".
++
+ Sat Nov 27 16:49:21 1999 Frank Warmerdam <warmerda@gdal.velocet.ca>
+
+ * fixed various VC++ warnings as suggested by Gilles Vollant
+- <info@winimage.com>.
++ <info@winimage.com>.
+
+ Wed Nov 24 12:08:16 1999 Frank Warmerdam <warmerda@gdal.velocet.ca>
+
+@@ -4840,59 +4887,59 @@ Wed Nov 24 12:08:16 1999 Frank Warmerdam <warmerda@gdal.velocet.ca>
+
+ 1999-11-22 Mike Welles <mike@onshore.com>
+ * HTML-ized the man pages, added to html/man
+-
+- * Removed LZW Compression to comply with Unisys patent extortion.
+-
+-1999-09-29 Mike Welles <mike@onshore.com>
+- * Corrected one remaining 16 -> 32 bit value in tif_fax3.c,
+- From Ivo Penzar <ivo.penzar@infolink-software.com.
++
++ * Removed LZW Compression to comply with Unisys patent extortion.
++
++1999-09-29 Mike Welles <mike@onshore.com>
++ * Corrected one remaining 16 -> 32 bit value in tif_fax3.c,
++ From Ivo Penzar <ivo.penzar@infolink-software.com.
+
+ * Added patch from Ivo Penzar to have TiffAdvanceDirectory handle
+ memory mapped files. <ivo.penzar@infolink-software.com>
+-
++
+ 1999-09-26 Mike Welles <mike@onshore.com> *** 3.5.2 release ***
+- * Corrected alpha versioning.
++ * Corrected alpha versioning.
+
+- * Removed distinction between alpha and release targets in Makefile.in.
++ * Removed distinction between alpha and release targets in Makefile.in.
+
+- * added release.stamp target, which tags cvs tree, and updates
++ * added release.stamp target, which tags cvs tree, and updates
+ "RELEASE-DATE"
+
+- * added releasediff target, which diffs tree with source as of
++ * added releasediff target, which diffs tree with source as of
+ date in "RELEASE-DATE"
+-
+- * Ticked up version to 3.5.2 (alpha 01 -- but I think we'll moving
+- away from alpha/non-alpha distinctions).
+
+- * updated html to reflect release
+-
++ * Ticked up version to 3.5.2 (alpha 01 -- but I think we'll moving
++ away from alpha/non-alpha distinctions).
++
++ * updated html to reflect release
++
+ 1999-09-23 <warmerda@CS46980-B>
+
+ * Set O_BINARY for tif_unix.c open() ... used on cygwin for instance.
+
+ * Added CYGWIN case in configure.
+
+-Fri Sep 17 00:13:51 CEST 1999 Mike Welles <mike@onshore.com>
++Fri Sep 17 00:13:51 CEST 1999 Mike Welles <mike@onshore.com>
++
++ * Applied Francois Dagand's patch to handle fax decompression bug.
++ (sizes >= 65536 were failing)
+
+- * Applied Francois Dagand's patch to handle fax decompression bug.
+- (sizes >= 65536 were failing)
+-
+ Tue Sep 14 21:31:43 1999 Frank Warmerdam <warmerda@gdal.velocet.ca>
+
+- * Applied "a" mode fix to tif_win32.c/TIFFOpen() as suggested
++ * Applied "a" mode fix to tif_win32.c/TIFFOpen() as suggested
+ by Christopher Lawton <clawton@mathworks.com>
+
+ Wed Sep 8 08:19:18 1999 Frank Warmerdam <warmerda@gdal.velocet.ca>
+
+- * Added IRIX/gcc, and OSF/1 4.x support on behalf of
++ * Added IRIX/gcc, and OSF/1 4.x support on behalf of
+ Albert Chin-A-Young <china@thewrittenword.com>
+
+- * Added TIFFReassignTagToIgnore() API on behalf of
++ * Added TIFFReassignTagToIgnore() API on behalf of
+ Bruce Cameron <cameron@petris.com>. Man page still pending.
+
+ Wed Aug 25 11:39:07 1999 Frank Warmerdam <warmerda@gdal.velocet.ca>
+
+- * Added test target in Makefile, test_pics.sh script and pics/*.rpt
++ * Added test target in Makefile, test_pics.sh script and pics/*.rpt
+ files to provide for a rudimentary testsuite.
+
+ * Added contrib/tags back from old distribution ... fixed up a bit.
+@@ -4900,7 +4947,7 @@ Wed Aug 25 11:39:07 1999 Frank Warmerdam <warmerda@gdal.velocet.ca>
+ 1999-08-16 <warmerda@CS46980-B>
+
+ * Added simple makefile.vc makefiles for building with MS VC++
+- on Windows NT/98/95 in console mode. Stuff in contrib/win* make give
++ on Windows NT/98/95 in console mode. Stuff in contrib/win* make give
+ better solutions for some users.
+
+ Mon Aug 16 21:52:11 1999 Frank Warmerdam <warmerda@gdal.velocet.ca>
+@@ -4910,20 +4957,20 @@ Mon Aug 16 21:52:11 1999 Frank Warmerdam <warmerda@gdal.velocet.ca>
+
+ 1999-08-16 Michael L. Welles <mike@kurtz.fake>
+
+- * Updated html/index.html with anon CVS instructions.
++ * Updated html/index.html with anon CVS instructions.
+
+ Mon Aug 16 13:18:41 1999 Frank Warmerdam <warmerda@gdal.velocet.ca>
+
+- * pre-remove so link before softlink in LINUXdso action in
++ * pre-remove so link before softlink in LINUXdso action in
+ libtiff/Makefile.in to avoid failure on LINUXdso builds other than
+ the first.
+
+ * Fixed problem with cvtcmap() in tif_getimage.c modifying the
+ colormaps owned by the TIFF handle itself when trying to fixup wrong
+ (eight bit) colormaps. Corrected by maintaining a private copy of
+- the colormap.
++ the colormap.
+
+- * Added TIFFReadRGBATile()/TIFFReadRGBAStrip() support in
++ * Added TIFFReadRGBATile()/TIFFReadRGBAStrip() support in
+ tif_getimage.c.
+
+ * CVS Repository placed at remotesensing.org. ChangeLog added.
+diff --git a/Makefile.in b/Makefile.in
+index 72fbbf3..2ed5682 100644
+--- a/Makefile.in
++++ b/Makefile.in
+@@ -1,4 +1,4 @@
+-# Makefile.in generated by automake 1.12.4 from Makefile.am.
++# Makefile.in generated by automake 1.12.5 from Makefile.am.
+ # @configure_input@
+
+ # Copyright (C) 1994-2012 Free Software Foundation, Inc.
+diff --git a/aclocal.m4 b/aclocal.m4
+index d7d14c8..9293eda 100644
+--- a/aclocal.m4
++++ b/aclocal.m4
+@@ -1,4 +1,4 @@
+-# generated automatically by aclocal 1.12.4 -*- Autoconf -*-
++# generated automatically by aclocal 1.12.5 -*- Autoconf -*-
+
+ # Copyright (C) 1996-2012 Free Software Foundation, Inc.
+
+@@ -34,7 +34,7 @@ AC_DEFUN([AM_AUTOMAKE_VERSION],
+ [am__api_version='1.12'
+ dnl Some users find AM_AUTOMAKE_VERSION and mistake it for a way to
+ dnl require some minimum version. Point them to the right macro.
+-m4_if([$1], [1.12.4], [],
++m4_if([$1], [1.12.5], [],
+ [AC_FATAL([Do not call $0, use AM_INIT_AUTOMAKE([$1]).])])dnl
+ ])
+
+@@ -50,7 +50,7 @@ m4_define([_AM_AUTOCONF_VERSION], [])
+ # Call AM_AUTOMAKE_VERSION and AM_AUTOMAKE_VERSION so they can be traced.
+ # This function is AC_REQUIREd by AM_INIT_AUTOMAKE.
+ AC_DEFUN([AM_SET_CURRENT_AUTOMAKE_VERSION],
+-[AM_AUTOMAKE_VERSION([1.12.4])dnl
++[AM_AUTOMAKE_VERSION([1.12.5])dnl
+ m4_ifndef([AC_AUTOCONF_VERSION],
+ [m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl
+ _AM_AUTOCONF_VERSION(m4_defn([AC_AUTOCONF_VERSION]))])
+diff --git a/build/Makefile.in b/build/Makefile.in
+index 1a316b1..cea7a08 100644
+--- a/build/Makefile.in
++++ b/build/Makefile.in
+@@ -1,4 +1,4 @@
+-# Makefile.in generated by automake 1.12.4 from Makefile.am.
++# Makefile.in generated by automake 1.12.5 from Makefile.am.
+ # @configure_input@
+
+ # Copyright (C) 1994-2012 Free Software Foundation, Inc.
+diff --git a/contrib/Makefile.in b/contrib/Makefile.in
+index ae67554..72be7a3 100644
+--- a/contrib/Makefile.in
++++ b/contrib/Makefile.in
+@@ -1,4 +1,4 @@
+-# Makefile.in generated by automake 1.12.4 from Makefile.am.
++# Makefile.in generated by automake 1.12.5 from Makefile.am.
+ # @configure_input@
+
+ # Copyright (C) 1994-2012 Free Software Foundation, Inc.
+diff --git a/contrib/acorn/Makefile.in b/contrib/acorn/Makefile.in
+index 1e966b4..5a73941 100644
+--- a/contrib/acorn/Makefile.in
++++ b/contrib/acorn/Makefile.in
+@@ -1,4 +1,4 @@
+-# Makefile.in generated by automake 1.12.4 from Makefile.am.
++# Makefile.in generated by automake 1.12.5 from Makefile.am.
+ # @configure_input@
+
+ # Copyright (C) 1994-2012 Free Software Foundation, Inc.
+diff --git a/contrib/addtiffo/Makefile.in b/contrib/addtiffo/Makefile.in
+index 25a6e8b..e07640c 100644
+--- a/contrib/addtiffo/Makefile.in
++++ b/contrib/addtiffo/Makefile.in
+@@ -1,4 +1,4 @@
+-# Makefile.in generated by automake 1.12.4 from Makefile.am.
++# Makefile.in generated by automake 1.12.5 from Makefile.am.
+ # @configure_input@
+
+ # Copyright (C) 1994-2012 Free Software Foundation, Inc.
+diff --git a/contrib/dbs/Makefile.in b/contrib/dbs/Makefile.in
+index f5b3ee5..d5e7b40 100644
+--- a/contrib/dbs/Makefile.in
++++ b/contrib/dbs/Makefile.in
+@@ -1,4 +1,4 @@
+-# Makefile.in generated by automake 1.12.4 from Makefile.am.
++# Makefile.in generated by automake 1.12.5 from Makefile.am.
+ # @configure_input@
+
+ # Copyright (C) 1994-2012 Free Software Foundation, Inc.
+diff --git a/contrib/dbs/xtiff/Makefile.in b/contrib/dbs/xtiff/Makefile.in
+index 2d1ce94..c655c54 100644
+--- a/contrib/dbs/xtiff/Makefile.in
++++ b/contrib/dbs/xtiff/Makefile.in
+@@ -1,4 +1,4 @@
+-# Makefile.in generated by automake 1.12.4 from Makefile.am.
++# Makefile.in generated by automake 1.12.5 from Makefile.am.
+ # @configure_input@
+
+ # Copyright (C) 1994-2012 Free Software Foundation, Inc.
+diff --git a/contrib/dbs/xtiff/xtiff.c b/contrib/dbs/xtiff/xtiff.c
+index 7fe3977..de0b2a7 100644
+--- a/contrib/dbs/xtiff/xtiff.c
++++ b/contrib/dbs/xtiff/xtiff.c
+@@ -1,5 +1,5 @@
+ /*
+- * $Id: xtiff.c,v 1.2.2.1 2010-06-08 18:50:40 bfriesen Exp $
++ * $Id: xtiff.c,v 1.2.2.2 2013-05-02 14:44:43 tgl Exp $
+ *
+ * xtiff - view a TIFF file in an X window
+ *
+@@ -512,9 +512,9 @@ SetNameLabel()
+ Arg args[1];
+
+ if (tfMultiPage)
+- sprintf(buffer, "%s - page %d", fileName, tfDirectory);
++ snprintf(buffer, sizeof(buffer), "%s - page %d", fileName, tfDirectory);
+ else
+- strcpy(buffer, fileName);
++ snprintf(buffer, sizeof(buffer), "%s", fileName);
+ XtSetArg(args[0], XtNlabel, buffer);
+ XtSetValues(labelWidget, args, 1);
+ }
+diff --git a/contrib/iptcutil/Makefile.in b/contrib/iptcutil/Makefile.in
+index 75b1ca3..5858c03 100644
+--- a/contrib/iptcutil/Makefile.in
++++ b/contrib/iptcutil/Makefile.in
+@@ -1,4 +1,4 @@
+-# Makefile.in generated by automake 1.12.4 from Makefile.am.
++# Makefile.in generated by automake 1.12.5 from Makefile.am.
+ # @configure_input@
+
+ # Copyright (C) 1994-2012 Free Software Foundation, Inc.
+diff --git a/contrib/mac-cw/Makefile.in b/contrib/mac-cw/Makefile.in
+index a94a33a..054d44e 100644
+--- a/contrib/mac-cw/Makefile.in
++++ b/contrib/mac-cw/Makefile.in
+@@ -1,4 +1,4 @@
+-# Makefile.in generated by automake 1.12.4 from Makefile.am.
++# Makefile.in generated by automake 1.12.5 from Makefile.am.
+ # @configure_input@
+
+ # Copyright (C) 1994-2012 Free Software Foundation, Inc.
+diff --git a/contrib/mac-mpw/Makefile.in b/contrib/mac-mpw/Makefile.in
+index 8fdaae1..7dd27d7 100644
+--- a/contrib/mac-mpw/Makefile.in
++++ b/contrib/mac-mpw/Makefile.in
+@@ -1,4 +1,4 @@
+-# Makefile.in generated by automake 1.12.4 from Makefile.am.
++# Makefile.in generated by automake 1.12.5 from Makefile.am.
+ # @configure_input@
+
+ # Copyright (C) 1994-2012 Free Software Foundation, Inc.
+diff --git a/contrib/mfs/Makefile.in b/contrib/mfs/Makefile.in
+index 230c925..4ee41af 100644
+--- a/contrib/mfs/Makefile.in
++++ b/contrib/mfs/Makefile.in
+@@ -1,4 +1,4 @@
+-# Makefile.in generated by automake 1.12.4 from Makefile.am.
++# Makefile.in generated by automake 1.12.5 from Makefile.am.
+ # @configure_input@
+
+ # Copyright (C) 1994-2012 Free Software Foundation, Inc.
+diff --git a/contrib/pds/Makefile.in b/contrib/pds/Makefile.in
+index 3511f62..fa0bcf7 100644
+--- a/contrib/pds/Makefile.in
++++ b/contrib/pds/Makefile.in
+@@ -1,4 +1,4 @@
+-# Makefile.in generated by automake 1.12.4 from Makefile.am.
++# Makefile.in generated by automake 1.12.5 from Makefile.am.
+ # @configure_input@
+
+ # Copyright (C) 1994-2012 Free Software Foundation, Inc.
+diff --git a/contrib/ras/Makefile.in b/contrib/ras/Makefile.in
+index 88907bf..e33a00f 100644
+--- a/contrib/ras/Makefile.in
++++ b/contrib/ras/Makefile.in
+@@ -1,4 +1,4 @@
+-# Makefile.in generated by automake 1.12.4 from Makefile.am.
++# Makefile.in generated by automake 1.12.5 from Makefile.am.
+ # @configure_input@
+
+ # Copyright (C) 1994-2012 Free Software Foundation, Inc.
+diff --git a/contrib/stream/Makefile.in b/contrib/stream/Makefile.in
+index 9c9dffb..1c36a7f 100644
+--- a/contrib/stream/Makefile.in
++++ b/contrib/stream/Makefile.in
+@@ -1,4 +1,4 @@
+-# Makefile.in generated by automake 1.12.4 from Makefile.am.
++# Makefile.in generated by automake 1.12.5 from Makefile.am.
+ # @configure_input@
+
+ # Copyright (C) 1994-2012 Free Software Foundation, Inc.
+diff --git a/contrib/tags/Makefile.in b/contrib/tags/Makefile.in
+index e378f32..891d565 100644
+--- a/contrib/tags/Makefile.in
++++ b/contrib/tags/Makefile.in
+@@ -1,4 +1,4 @@
+-# Makefile.in generated by automake 1.12.4 from Makefile.am.
++# Makefile.in generated by automake 1.12.5 from Makefile.am.
+ # @configure_input@
+
+ # Copyright (C) 1994-2012 Free Software Foundation, Inc.
+diff --git a/contrib/win_dib/Makefile.in b/contrib/win_dib/Makefile.in
+index 0f68e76..45bf928 100644
+--- a/contrib/win_dib/Makefile.in
++++ b/contrib/win_dib/Makefile.in
+@@ -1,4 +1,4 @@
+-# Makefile.in generated by automake 1.12.4 from Makefile.am.
++# Makefile.in generated by automake 1.12.5 from Makefile.am.
+ # @configure_input@
+
+ # Copyright (C) 1994-2012 Free Software Foundation, Inc.
+diff --git a/html/Makefile.in b/html/Makefile.in
+index b9f86c8..a85ebd6 100644
+--- a/html/Makefile.in
++++ b/html/Makefile.in
+@@ -1,4 +1,4 @@
+-# Makefile.in generated by automake 1.12.4 from Makefile.am.
++# Makefile.in generated by automake 1.12.5 from Makefile.am.
+ # @configure_input@
+
+ # Copyright (C) 1994-2012 Free Software Foundation, Inc.
+diff --git a/html/images/Makefile.in b/html/images/Makefile.in
+index 1b96240..eaf50a3 100644
+--- a/html/images/Makefile.in
++++ b/html/images/Makefile.in
+@@ -1,4 +1,4 @@
+-# Makefile.in generated by automake 1.12.4 from Makefile.am.
++# Makefile.in generated by automake 1.12.5 from Makefile.am.
+ # @configure_input@
+
+ # Copyright (C) 1994-2012 Free Software Foundation, Inc.
+diff --git a/html/man/Makefile.in b/html/man/Makefile.in
+index 3a5278e..98226c3 100644
+--- a/html/man/Makefile.in
++++ b/html/man/Makefile.in
+@@ -1,4 +1,4 @@
+-# Makefile.in generated by automake 1.12.4 from Makefile.am.
++# Makefile.in generated by automake 1.12.5 from Makefile.am.
+ # @configure_input@
+
+ # Copyright (C) 1994-2012 Free Software Foundation, Inc.
+diff --git a/libtiff/Makefile.in b/libtiff/Makefile.in
+index 6a7c415..69e59c7 100644
+--- a/libtiff/Makefile.in
++++ b/libtiff/Makefile.in
+@@ -1,4 +1,4 @@
+-# Makefile.in generated by automake 1.12.4 from Makefile.am.
++# Makefile.in generated by automake 1.12.5 from Makefile.am.
+ # @configure_input@
+
+ # Copyright (C) 1994-2012 Free Software Foundation, Inc.
+diff --git a/libtiff/tif_codec.c b/libtiff/tif_codec.c
+index d5c6fd1..5a38184 100644
+--- a/libtiff/tif_codec.c
++++ b/libtiff/tif_codec.c
+@@ -1,4 +1,4 @@
+-/* $Id: tif_codec.c,v 1.10.2.2 2010-06-08 18:50:41 bfriesen Exp $ */
++/* $Id: tif_codec.c,v 1.10.2.3 2013-05-02 14:44:43 tgl Exp $ */
+
+ /*
+ * Copyright (c) 1988-1997 Sam Leffler
+@@ -104,7 +104,8 @@ _notConfigured(TIFF* tif)
+ const TIFFCodec* c = TIFFFindCODEC(tif->tif_dir.td_compression);
+ char compression_code[20];
+
+- sprintf( compression_code, "%d", tif->tif_dir.td_compression );
++ snprintf(compression_code, sizeof(compression_code), "%d",
++ tif->tif_dir.td_compression );
+ TIFFErrorExt(tif->tif_clientdata, tif->tif_name,
+ "%s compression support is not configured",
+ c ? c->name : compression_code );
+diff --git a/libtiff/tif_dirinfo.c b/libtiff/tif_dirinfo.c
+index 76ef572..417a2e3 100644
+--- a/libtiff/tif_dirinfo.c
++++ b/libtiff/tif_dirinfo.c
+@@ -1,4 +1,4 @@
+-/* $Id: tif_dirinfo.c,v 1.65.2.10 2010-07-06 14:14:41 dron Exp $ */
++/* $Id: tif_dirinfo.c,v 1.65.2.11 2013-05-02 14:44:43 tgl Exp $ */
+
+ /*
+ * Copyright (c) 1988-1997 Sam Leffler
+@@ -869,7 +869,7 @@ _TIFFCreateAnonFieldInfo(TIFF *tif, ttag_t tag, TIFFDataType field_type)
+ * note that this name is a special sign to TIFFClose() and
+ * _TIFFSetupFieldInfo() to free the field
+ */
+- sprintf(fld->field_name, "Tag %d", (int) tag);
++ snprintf(fld->field_name, 32, "Tag %d", (int) tag);
+
+ return fld;
+ }
+diff --git a/libtiff/tif_pixarlog.c b/libtiff/tif_pixarlog.c
+index ed8eb40..6e127fb 100644
+--- a/libtiff/tif_pixarlog.c
++++ b/libtiff/tif_pixarlog.c
+@@ -1,4 +1,4 @@
+-/* $Id: tif_pixarlog.c,v 1.15.2.4 2010-06-08 18:50:42 bfriesen Exp $ */
++/* $Id: tif_pixarlog.c,v 1.15.2.5 2012-12-10 17:38:54 tgl Exp $ */
+
+ /*
+ * Copyright (c) 1996-1997 Sam Leffler
+@@ -117,9 +117,9 @@ horizontalAccumulateF(uint16 *wp, int n, int stride, float *op,
+ if (n >= stride) {
+ mask = CODE_MASK;
+ if (stride == 3) {
+- t0 = ToLinearF[cr = wp[0]];
+- t1 = ToLinearF[cg = wp[1]];
+- t2 = ToLinearF[cb = wp[2]];
++ t0 = ToLinearF[cr = (wp[0] & mask)];
++ t1 = ToLinearF[cg = (wp[1] & mask)];
++ t2 = ToLinearF[cb = (wp[2] & mask)];
+ op[0] = t0;
+ op[1] = t1;
+ op[2] = t2;
+@@ -136,10 +136,10 @@ horizontalAccumulateF(uint16 *wp, int n, int stride, float *op,
+ op[2] = t2;
+ }
+ } else if (stride == 4) {
+- t0 = ToLinearF[cr = wp[0]];
+- t1 = ToLinearF[cg = wp[1]];
+- t2 = ToLinearF[cb = wp[2]];
+- t3 = ToLinearF[ca = wp[3]];
++ t0 = ToLinearF[cr = (wp[0] & mask)];
++ t1 = ToLinearF[cg = (wp[1] & mask)];
++ t2 = ToLinearF[cb = (wp[2] & mask)];
++ t3 = ToLinearF[ca = (wp[3] & mask)];
+ op[0] = t0;
+ op[1] = t1;
+ op[2] = t2;
+@@ -183,9 +183,9 @@ horizontalAccumulate12(uint16 *wp, int n, int stride, int16 *op,
+ if (n >= stride) {
+ mask = CODE_MASK;
+ if (stride == 3) {
+- t0 = ToLinearF[cr = wp[0]] * SCALE12;
+- t1 = ToLinearF[cg = wp[1]] * SCALE12;
+- t2 = ToLinearF[cb = wp[2]] * SCALE12;
++ t0 = ToLinearF[cr = (wp[0] & mask)] * SCALE12;
++ t1 = ToLinearF[cg = (wp[1] & mask)] * SCALE12;
++ t2 = ToLinearF[cb = (wp[2] & mask)] * SCALE12;
+ op[0] = CLAMP12(t0);
+ op[1] = CLAMP12(t1);
+ op[2] = CLAMP12(t2);
+@@ -202,10 +202,10 @@ horizontalAccumulate12(uint16 *wp, int n, int stride, int16 *op,
+ op[2] = CLAMP12(t2);
+ }
+ } else if (stride == 4) {
+- t0 = ToLinearF[cr = wp[0]] * SCALE12;
+- t1 = ToLinearF[cg = wp[1]] * SCALE12;
+- t2 = ToLinearF[cb = wp[2]] * SCALE12;
+- t3 = ToLinearF[ca = wp[3]] * SCALE12;
++ t0 = ToLinearF[cr = (wp[0] & mask)] * SCALE12;
++ t1 = ToLinearF[cg = (wp[1] & mask)] * SCALE12;
++ t2 = ToLinearF[cb = (wp[2] & mask)] * SCALE12;
++ t3 = ToLinearF[ca = (wp[3] & mask)] * SCALE12;
+ op[0] = CLAMP12(t0);
+ op[1] = CLAMP12(t1);
+ op[2] = CLAMP12(t2);
+@@ -247,9 +247,9 @@ horizontalAccumulate16(uint16 *wp, int n, int stride, uint16 *op,
+ if (n >= stride) {
+ mask = CODE_MASK;
+ if (stride == 3) {
+- op[0] = ToLinear16[cr = wp[0]];
+- op[1] = ToLinear16[cg = wp[1]];
+- op[2] = ToLinear16[cb = wp[2]];
++ op[0] = ToLinear16[cr = (wp[0] & mask)];
++ op[1] = ToLinear16[cg = (wp[1] & mask)];
++ op[2] = ToLinear16[cb = (wp[2] & mask)];
+ n -= 3;
+ while (n > 0) {
+ wp += 3;
+@@ -260,10 +260,10 @@ horizontalAccumulate16(uint16 *wp, int n, int stride, uint16 *op,
+ op[2] = ToLinear16[(cb += wp[2]) & mask];
+ }
+ } else if (stride == 4) {
+- op[0] = ToLinear16[cr = wp[0]];
+- op[1] = ToLinear16[cg = wp[1]];
+- op[2] = ToLinear16[cb = wp[2]];
+- op[3] = ToLinear16[ca = wp[3]];
++ op[0] = ToLinear16[cr = (wp[0] & mask)];
++ op[1] = ToLinear16[cg = (wp[1] & mask)];
++ op[2] = ToLinear16[cb = (wp[2] & mask)];
++ op[3] = ToLinear16[ca = (wp[3] & mask)];
+ n -= 4;
+ while (n > 0) {
+ wp += 4;
+@@ -342,9 +342,9 @@ horizontalAccumulate8(uint16 *wp, int n, int stride, unsigned char *op,
+ if (n >= stride) {
+ mask = CODE_MASK;
+ if (stride == 3) {
+- op[0] = ToLinear8[cr = wp[0]];
+- op[1] = ToLinear8[cg = wp[1]];
+- op[2] = ToLinear8[cb = wp[2]];
++ op[0] = ToLinear8[cr = (wp[0] & mask)];
++ op[1] = ToLinear8[cg = (wp[1] & mask)];
++ op[2] = ToLinear8[cb = (wp[2] & mask)];
+ n -= 3;
+ while (n > 0) {
+ n -= 3;
+@@ -355,10 +355,10 @@ horizontalAccumulate8(uint16 *wp, int n, int stride, unsigned char *op,
+ op[2] = ToLinear8[(cb += wp[2]) & mask];
+ }
+ } else if (stride == 4) {
+- op[0] = ToLinear8[cr = wp[0]];
+- op[1] = ToLinear8[cg = wp[1]];
+- op[2] = ToLinear8[cb = wp[2]];
+- op[3] = ToLinear8[ca = wp[3]];
++ op[0] = ToLinear8[cr = (wp[0] & mask)];
++ op[1] = ToLinear8[cg = (wp[1] & mask)];
++ op[2] = ToLinear8[cb = (wp[2] & mask)];
++ op[3] = ToLinear8[ca = (wp[3] & mask)];
+ n -= 4;
+ while (n > 0) {
+ n -= 4;
+@@ -393,9 +393,9 @@ horizontalAccumulate8abgr(uint16 *wp, int n, int stride, unsigned char *op,
+ mask = CODE_MASK;
+ if (stride == 3) {
+ op[0] = 0;
+- t1 = ToLinear8[cb = wp[2]];
+- t2 = ToLinear8[cg = wp[1]];
+- t3 = ToLinear8[cr = wp[0]];
++ t1 = ToLinear8[cb = (wp[2] & mask)];
++ t2 = ToLinear8[cg = (wp[1] & mask)];
++ t3 = ToLinear8[cr = (wp[0] & mask)];
+ op[1] = t1;
+ op[2] = t2;
+ op[3] = t3;
+@@ -413,10 +413,10 @@ horizontalAccumulate8abgr(uint16 *wp, int n, int stride, unsigned char *op,
+ op[3] = t3;
+ }
+ } else if (stride == 4) {
+- t0 = ToLinear8[ca = wp[3]];
+- t1 = ToLinear8[cb = wp[2]];
+- t2 = ToLinear8[cg = wp[1]];
+- t3 = ToLinear8[cr = wp[0]];
++ t0 = ToLinear8[ca = (wp[3] & mask)];
++ t1 = ToLinear8[cb = (wp[2] & mask)];
++ t2 = ToLinear8[cg = (wp[1] & mask)];
++ t3 = ToLinear8[cr = (wp[0] & mask)];
+ op[0] = t0;
+ op[1] = t1;
+ op[2] = t2;
+@@ -630,10 +630,10 @@ PixarLogGuessDataFmt(TIFFDirectory *td)
+ return guess;
+ }
+
+-static uint32
+-multiply(size_t m1, size_t m2)
++static tsize_t
++multiply(tsize_t m1, tsize_t m2)
+ {
+- uint32 bytes = m1 * m2;
++ tsize_t bytes = m1 * m2;
+
+ if (m1 && bytes / m1 != m2)
+ bytes = 0;
+@@ -641,6 +641,20 @@ multiply(size_t m1, size_t m2)
+ return bytes;
+ }
+
++static tsize_t
++add_ms(tsize_t m1, tsize_t m2)
++{
++ tsize_t bytes = m1 + m2;
++
++ /* if either input is zero, assume overflow already occurred */
++ if (m1 == 0 || m2 == 0)
++ bytes = 0;
++ else if (bytes <= m1 || bytes <= m2)
++ bytes = 0;
++
++ return bytes;
++}
++
+ static int
+ PixarLogSetupDecode(TIFF* tif)
+ {
+@@ -661,6 +675,8 @@ PixarLogSetupDecode(TIFF* tif)
+ td->td_samplesperpixel : 1);
+ tbuf_size = multiply(multiply(multiply(sp->stride, td->td_imagewidth),
+ td->td_rowsperstrip), sizeof(uint16));
++ /* add one more stride in case input ends mid-stride */
++ tbuf_size = add_ms(tbuf_size, sizeof(uint16) * sp->stride);
+ if (tbuf_size == 0)
+ return (0);
+ sp->tbuf = (uint16 *) _TIFFmalloc(tbuf_size);
+diff --git a/libtiff/tif_print.c b/libtiff/tif_print.c
+index 7634f6e..2b255da 100644
+--- a/libtiff/tif_print.c
++++ b/libtiff/tif_print.c
+@@ -1,4 +1,4 @@
+-/* $Id: tif_print.c,v 1.36.2.5 2010-07-06 14:05:30 dron Exp $ */
++/* $Id: tif_print.c,v 1.36.2.6 2012-12-12 23:18:05 tgl Exp $ */
+
+ /*
+ * Copyright (c) 1988-1997 Sam Leffler
+@@ -514,8 +514,19 @@ TIFFPrintDirectory(TIFF* tif, FILE* fd, long flags)
+ continue;
+
+ if(fip->field_passcount) {
+- if(TIFFGetField(tif, tag, &value_count, &raw_data) != 1)
++ if (fip->field_readcount == TIFF_VARIABLE2 ) {
++ if(TIFFGetField(tif, tag, &value_count, &raw_data) != 1)
++ continue;
++ } else if (fip->field_readcount == TIFF_VARIABLE ) {
++ uint16 small_value_count;
++ if(TIFFGetField(tif, tag, &small_value_count, &raw_data) != 1)
++ continue;
++ value_count = small_value_count;
++ } else {
++ assert (fip->field_readcount == TIFF_VARIABLE
++ || fip->field_readcount == TIFF_VARIABLE2);
+ continue;
++ }
+ } else {
+ if (fip->field_readcount == TIFF_VARIABLE
+ || fip->field_readcount == TIFF_VARIABLE2)
+diff --git a/man/Makefile.in b/man/Makefile.in
+index a007da7..cac0721 100644
+--- a/man/Makefile.in
++++ b/man/Makefile.in
+@@ -1,4 +1,4 @@
+-# Makefile.in generated by automake 1.12.4 from Makefile.am.
++# Makefile.in generated by automake 1.12.5 from Makefile.am.
+ # @configure_input@
+
+ # Copyright (C) 1994-2012 Free Software Foundation, Inc.
+diff --git a/port/Makefile.in b/port/Makefile.in
+index 6674109..f95d58f 100644
+--- a/port/Makefile.in
++++ b/port/Makefile.in
+@@ -1,4 +1,4 @@
+-# Makefile.in generated by automake 1.12.4 from Makefile.am.
++# Makefile.in generated by automake 1.12.5 from Makefile.am.
+ # @configure_input@
+
+ # Copyright (C) 1994-2012 Free Software Foundation, Inc.
+diff --git a/test/Makefile.in b/test/Makefile.in
+index 61ea1ff..f88959f 100644
+--- a/test/Makefile.in
++++ b/test/Makefile.in
+@@ -1,4 +1,4 @@
+-# Makefile.in generated by automake 1.12.4 from Makefile.am.
++# Makefile.in generated by automake 1.12.5 from Makefile.am.
+ # @configure_input@
+
+ # Copyright (C) 1994-2012 Free Software Foundation, Inc.
+diff --git a/tools/Makefile.in b/tools/Makefile.in
+index 47dcec8..6f3d517 100644
+--- a/tools/Makefile.in
++++ b/tools/Makefile.in
+@@ -1,4 +1,4 @@
+-# Makefile.in generated by automake 1.12.4 from Makefile.am.
++# Makefile.in generated by automake 1.12.5 from Makefile.am.
+ # @configure_input@
+
+ # Copyright (C) 1994-2012 Free Software Foundation, Inc.
+diff --git a/tools/ppm2tiff.c b/tools/ppm2tiff.c
+index 6078459..ec8be5d 100644
+--- a/tools/ppm2tiff.c
++++ b/tools/ppm2tiff.c
+@@ -1,4 +1,4 @@
+-/* $Id: ppm2tiff.c,v 1.13.2.2 2010-06-08 18:50:44 bfriesen Exp $ */
++/* $Id: ppm2tiff.c,v 1.13.2.3 2012-12-10 18:27:35 tgl Exp $ */
+
+ /*
+ * Copyright (c) 1991-1997 Sam Leffler
+@@ -68,6 +68,17 @@ BadPPM(char* file)
+ exit(-2);
+ }
+
++static tsize_t
++multiply_ms(tsize_t m1, tsize_t m2)
++{
++ tsize_t bytes = m1 * m2;
++
++ if (m1 && bytes / m1 != m2)
++ bytes = 0;
++
++ return bytes;
++}
++
+ int
+ main(int argc, char* argv[])
+ {
+@@ -85,6 +96,7 @@ main(int argc, char* argv[])
+ int c;
+ extern int optind;
+ extern char* optarg;
++ tsize_t scanline_size;
+
+ if (argc < 2) {
+ fprintf(stderr, "%s: Too few arguments\n", argv[0]);
+@@ -217,7 +229,8 @@ main(int argc, char* argv[])
+ }
+ switch (bpp) {
+ case 1:
+- linebytes = (spp * w + (8 - 1)) / 8;
++ /* if round-up overflows, result will be zero, OK */
++ linebytes = (multiply_ms(spp, w) + (8 - 1)) / 8;
+ if (rowsperstrip == (uint32) -1) {
+ TIFFSetField(out, TIFFTAG_ROWSPERSTRIP, h);
+ } else {
+@@ -226,15 +239,31 @@ main(int argc, char* argv[])
+ }
+ break;
+ case 8:
+- linebytes = spp * w;
++ linebytes = multiply_ms(spp, w);
+ TIFFSetField(out, TIFFTAG_ROWSPERSTRIP,
+ TIFFDefaultStripSize(out, rowsperstrip));
+ break;
+ }
+- if (TIFFScanlineSize(out) > linebytes)
++ if (linebytes == 0) {
++ fprintf(stderr, "%s: scanline size overflow\n", infile);
++ (void) TIFFClose(out);
++ exit(-2);
++ }
++ scanline_size = TIFFScanlineSize(out);
++ if (scanline_size == 0) {
++ /* overflow - TIFFScanlineSize already printed a message */
++ (void) TIFFClose(out);
++ exit(-2);
++ }
++ if (scanline_size < linebytes)
+ buf = (unsigned char *)_TIFFmalloc(linebytes);
+ else
+- buf = (unsigned char *)_TIFFmalloc(TIFFScanlineSize(out));
++ buf = (unsigned char *)_TIFFmalloc(scanline_size);
++ if (buf == NULL) {
++ fprintf(stderr, "%s: Not enough memory\n", infile);
++ (void) TIFFClose(out);
++ exit(-2);
++ }
+ if (resolution > 0) {
+ TIFFSetField(out, TIFFTAG_XRESOLUTION, resolution);
+ TIFFSetField(out, TIFFTAG_YRESOLUTION, resolution);
+diff --git a/tools/rgb2ycbcr.c b/tools/rgb2ycbcr.c
+index 0b30b51..527c036 100644
+--- a/tools/rgb2ycbcr.c
++++ b/tools/rgb2ycbcr.c
+@@ -1,4 +1,4 @@
+-/* $Id: rgb2ycbcr.c,v 1.9.2.2 2010-06-08 18:50:44 bfriesen Exp $ */
++/* $Id: rgb2ycbcr.c,v 1.9.2.3 2013-05-02 14:44:44 tgl Exp $ */
+
+ /*
+ * Copyright (c) 1991-1997 Sam Leffler
+@@ -326,7 +326,8 @@ tiffcvt(TIFF* in, TIFF* out)
+ TIFFSetField(out, TIFFTAG_PLANARCONFIG, PLANARCONFIG_CONTIG);
+ { char buf[2048];
+ char *cp = strrchr(TIFFFileName(in), '/');
+- sprintf(buf, "YCbCr conversion of %s", cp ? cp+1 : TIFFFileName(in));
++ snprintf(buf, sizeof(buf), "YCbCr conversion of %s",
++ cp ? cp+1 : TIFFFileName(in));
+ TIFFSetField(out, TIFFTAG_IMAGEDESCRIPTION, buf);
+ }
+ TIFFSetField(out, TIFFTAG_SOFTWARE, TIFFGetVersion());
+diff --git a/tools/tiff2bw.c b/tools/tiff2bw.c
+index 8fbf061..98908d1 100644
+--- a/tools/tiff2bw.c
++++ b/tools/tiff2bw.c
+@@ -1,4 +1,4 @@
+-/* $Id: tiff2bw.c,v 1.12.2.2 2010-07-02 12:03:27 dron Exp $ */
++/* $Id: tiff2bw.c,v 1.12.2.3 2013-05-02 14:44:44 tgl Exp $ */
+
+ /*
+ * Copyright (c) 1988-1997 Sam Leffler
+@@ -201,7 +201,7 @@ main(int argc, char* argv[])
+ }
+ }
+ TIFFSetField(out, TIFFTAG_PHOTOMETRIC, PHOTOMETRIC_MINISBLACK);
+- sprintf(thing, "B&W version of %s", argv[optind]);
++ snprintf(thing, sizeof(thing), "B&W version of %s", argv[optind]);
+ TIFFSetField(out, TIFFTAG_IMAGEDESCRIPTION, thing);
+ TIFFSetField(out, TIFFTAG_SOFTWARE, "tiff2bw");
+ outbuf = (unsigned char *)_TIFFmalloc(TIFFScanlineSize(out));
+diff --git a/tools/tiff2pdf.c b/tools/tiff2pdf.c
+index dee6435..c55b927 100644
+--- a/tools/tiff2pdf.c
++++ b/tools/tiff2pdf.c
+@@ -1,4 +1,4 @@
+-/* $Id: tiff2pdf.c,v 1.37.2.22 2012-07-19 15:43:31 tgl Exp $
++/* $Id: tiff2pdf.c,v 1.37.2.24 2013-05-02 14:54:18 tgl Exp $
+ *
+ * tiff2pdf - converts a TIFF image to a PDF document
+ *
+@@ -3337,33 +3337,56 @@ int t2p_process_jpeg_strip(
+ uint32 height){
+
+ tsize_t i=0;
+- uint16 ri =0;
+- uint16 v_samp=1;
+- uint16 h_samp=1;
+- int j=0;
+-
+- i++;
+-
+- while(i<(*striplength)){
++
++ while (i < *striplength) {
++ tsize_t datalen;
++ uint16 ri;
++ uint16 v_samp;
++ uint16 h_samp;
++ int j;
++ int ncomp;
++
++ /* marker header: one or more FFs */
++ if (strip[i] != 0xff)
++ return(0);
++ i++;
++ while (i < *striplength && strip[i] == 0xff)
++ i++;
++ if (i >= *striplength)
++ return(0);
++ /* SOI is the only pre-SOS marker without a length word */
++ if (strip[i] == 0xd8)
++ datalen = 0;
++ else {
++ if ((*striplength - i) <= 2)
++ return(0);
++ datalen = (strip[i+1] << 8) | strip[i+2];
++ if (datalen < 2 || datalen >= (*striplength - i))
++ return(0);
++ }
+ switch( strip[i] ){
+- case 0xd8:
+- /* SOI - start of image */
++ case 0xd8: /* SOI - start of image */
+ _TIFFmemcpy(&(buffer[*bufferoffset]), &(strip[i-1]), 2);
+ *bufferoffset+=2;
+- i+=2;
+ break;
+- case 0xc0:
+- case 0xc1:
+- case 0xc3:
+- case 0xc9:
+- case 0xca:
++ case 0xc0: /* SOF0 */
++ case 0xc1: /* SOF1 */
++ case 0xc3: /* SOF3 */
++ case 0xc9: /* SOF9 */
++ case 0xca: /* SOF10 */
+ if(no==0){
+- _TIFFmemcpy(&(buffer[*bufferoffset]), &(strip[i-1]), strip[i+2]+2);
+- for(j=0;j<buffer[*bufferoffset+9];j++){
+- if( (buffer[*bufferoffset+11+(2*j)]>>4) > h_samp)
+- h_samp = (buffer[*bufferoffset+11+(2*j)]>>4);
+- if( (buffer[*bufferoffset+11+(2*j)] & 0x0f) > v_samp)
+- v_samp = (buffer[*bufferoffset+11+(2*j)] & 0x0f);
++ _TIFFmemcpy(&(buffer[*bufferoffset]), &(strip[i-1]), datalen+2);
++ ncomp = buffer[*bufferoffset+9];
++ if (ncomp < 1 || ncomp > 4)
++ return(0);
++ v_samp=1;
++ h_samp=1;
++ for(j=0;j<ncomp;j++){
++ uint16 samp = buffer[*bufferoffset+11+(3*j)];
++ if( (samp>>4) > h_samp)
++ h_samp = (samp>>4);
++ if( (samp & 0x0f) > v_samp)
++ v_samp = (samp & 0x0f);
+ }
+ v_samp*=8;
+ h_samp*=8;
+@@ -3377,45 +3400,43 @@ int t2p_process_jpeg_strip(
+ (unsigned char) ((height>>8) & 0xff);
+ buffer[*bufferoffset+6]=
+ (unsigned char) (height & 0xff);
+- *bufferoffset+=strip[i+2]+2;
+- i+=strip[i+2]+2;
+-
++ *bufferoffset+=datalen+2;
++ /* insert a DRI marker */
+ buffer[(*bufferoffset)++]=0xff;
+ buffer[(*bufferoffset)++]=0xdd;
+ buffer[(*bufferoffset)++]=0x00;
+ buffer[(*bufferoffset)++]=0x04;
+ buffer[(*bufferoffset)++]=(ri >> 8) & 0xff;
+ buffer[(*bufferoffset)++]= ri & 0xff;
+- } else {
+- i+=strip[i+2]+2;
+ }
+ break;
+- case 0xc4:
+- case 0xdb:
+- _TIFFmemcpy(&(buffer[*bufferoffset]), &(strip[i-1]), strip[i+2]+2);
+- *bufferoffset+=strip[i+2]+2;
+- i+=strip[i+2]+2;
++ case 0xc4: /* DHT */
++ case 0xdb: /* DQT */
++ _TIFFmemcpy(&(buffer[*bufferoffset]), &(strip[i-1]), datalen+2);
++ *bufferoffset+=datalen+2;
+ break;
+- case 0xda:
++ case 0xda: /* SOS */
+ if(no==0){
+- _TIFFmemcpy(&(buffer[*bufferoffset]), &(strip[i-1]), strip[i+2]+2);
+- *bufferoffset+=strip[i+2]+2;
+- i+=strip[i+2]+2;
++ _TIFFmemcpy(&(buffer[*bufferoffset]), &(strip[i-1]), datalen+2);
++ *bufferoffset+=datalen+2;
+ } else {
+ buffer[(*bufferoffset)++]=0xff;
+ buffer[(*bufferoffset)++]=
+ (unsigned char)(0xd0 | ((no-1)%8));
+- i+=strip[i+2]+2;
+ }
+- _TIFFmemcpy(&(buffer[*bufferoffset]), &(strip[i-1]), (*striplength)-i-1);
+- *bufferoffset+=(*striplength)-i-1;
++ i += datalen + 1;
++ /* copy remainder of strip */
++ _TIFFmemcpy(&(buffer[*bufferoffset]), &(strip[i]), *striplength - i);
++ *bufferoffset+= *striplength - i;
+ return(1);
+ default:
+- i+=strip[i+2]+2;
++ /* ignore any other marker */
++ break;
+ }
++ i += datalen + 1;
+ }
+-
+
++ /* failed to find SOS marker */
+ return(0);
+ }
+ #endif
+@@ -3605,7 +3626,9 @@ tsize_t t2p_write_pdf_header(T2P* t2p, TIFF* output){
+ char buffer[16];
+ int buflen=0;
+
+- buflen=sprintf(buffer, "%%PDF-%u.%u ", t2p->pdf_majorversion&0xff, t2p->pdf_minorversion&0xff);
++ buflen = snprintf(buffer, sizeof(buffer), "%%PDF-%u.%u ",
++ t2p->pdf_majorversion&0xff,
++ t2p->pdf_minorversion&0xff);
+ written += t2pWriteFile(output, (tdata_t) buffer, buflen);
+ written += t2pWriteFile(output, (tdata_t)"\n%\342\343\317\323\n", 7);
+
+@@ -3619,10 +3642,10 @@ tsize_t t2p_write_pdf_header(T2P* t2p, TIFF* output){
+ tsize_t t2p_write_pdf_obj_start(uint32 number, TIFF* output){
+
+ tsize_t written=0;
+- char buffer[16];
++ char buffer[32];
+ int buflen=0;
+
+- buflen=sprintf(buffer, "%lu", (unsigned long)number);
++ buflen=snprintf(buffer, sizeof(buffer), "%lu", (unsigned long)number);
+ written += t2pWriteFile(output, (tdata_t) buffer, buflen );
+ written += t2pWriteFile(output, (tdata_t) " 0 obj\n", 7);
+
+@@ -3661,13 +3684,13 @@ tsize_t t2p_write_pdf_name(unsigned char* name, TIFF* output){
+ written += t2pWriteFile(output, (tdata_t) "/", 1);
+ for (i=0;i<namelen;i++){
+ if ( ((unsigned char)name[i]) < 0x21){
+- sprintf(buffer, "#%.2X", name[i]);
++ snprintf(buffer, sizeof(buffer), "#%.2X", name[i]);
+ buffer[sizeof(buffer) - 1] = '\0';
+ written += t2pWriteFile(output, (tdata_t) buffer, 3);
+ nextchar=1;
+ }
+ if ( ((unsigned char)name[i]) > 0x7E){
+- sprintf(buffer, "#%.2X", name[i]);
++ snprintf(buffer, sizeof(buffer), "#%.2X", name[i]);
+ buffer[sizeof(buffer) - 1] = '\0';
+ written += t2pWriteFile(output, (tdata_t) buffer, 3);
+ nextchar=1;
+@@ -3675,57 +3698,57 @@ tsize_t t2p_write_pdf_name(unsigned char* name, TIFF* output){
+ if (nextchar==0){
+ switch (name[i]){
+ case 0x23:
+- sprintf(buffer, "#%.2X", name[i]);
++ snprintf(buffer, sizeof(buffer), "#%.2X", name[i]);
+ buffer[sizeof(buffer) - 1] = '\0';
+ written += t2pWriteFile(output, (tdata_t) buffer, 3);
+ break;
+ case 0x25:
+- sprintf(buffer, "#%.2X", name[i]);
++ snprintf(buffer, sizeof(buffer), "#%.2X", name[i]);
+ buffer[sizeof(buffer) - 1] = '\0';
+ written += t2pWriteFile(output, (tdata_t) buffer, 3);
+ break;
+ case 0x28:
+- sprintf(buffer, "#%.2X", name[i]);
++ snprintf(buffer, sizeof(buffer), "#%.2X", name[i]);
+ buffer[sizeof(buffer) - 1] = '\0';
+ written += t2pWriteFile(output, (tdata_t) buffer, 3);
+ break;
+ case 0x29:
+- sprintf(buffer, "#%.2X", name[i]);
++ snprintf(buffer, sizeof(buffer), "#%.2X", name[i]);
+ buffer[sizeof(buffer) - 1] = '\0';
+ written += t2pWriteFile(output, (tdata_t) buffer, 3);
+ break;
+ case 0x2F:
+- sprintf(buffer, "#%.2X", name[i]);
++ snprintf(buffer, sizeof(buffer), "#%.2X", name[i]);
+ buffer[sizeof(buffer) - 1] = '\0';
+ written += t2pWriteFile(output, (tdata_t) buffer, 3);
+ break;
+ case 0x3C:
+- sprintf(buffer, "#%.2X", name[i]);
++ snprintf(buffer, sizeof(buffer), "#%.2X", name[i]);
+ buffer[sizeof(buffer) - 1] = '\0';
+ written += t2pWriteFile(output, (tdata_t) buffer, 3);
+ break;
+ case 0x3E:
+- sprintf(buffer, "#%.2X", name[i]);
++ snprintf(buffer, sizeof(buffer), "#%.2X", name[i]);
+ buffer[sizeof(buffer) - 1] = '\0';
+ written += t2pWriteFile(output, (tdata_t) buffer, 3);
+ break;
+ case 0x5B:
+- sprintf(buffer, "#%.2X", name[i]);
++ snprintf(buffer, sizeof(buffer), "#%.2X", name[i]);
+ buffer[sizeof(buffer) - 1] = '\0';
+ written += t2pWriteFile(output, (tdata_t) buffer, 3);
+ break;
+ case 0x5D:
+- sprintf(buffer, "#%.2X", name[i]);
++ snprintf(buffer, sizeof(buffer), "#%.2X", name[i]);
+ buffer[sizeof(buffer) - 1] = '\0';
+ written += t2pWriteFile(output, (tdata_t) buffer, 3);
+ break;
+ case 0x7B:
+- sprintf(buffer, "#%.2X", name[i]);
++ snprintf(buffer, sizeof(buffer), "#%.2X", name[i]);
+ buffer[sizeof(buffer) - 1] = '\0';
+ written += t2pWriteFile(output, (tdata_t) buffer, 3);
+ break;
+ case 0x7D:
+- sprintf(buffer, "#%.2X", name[i]);
++ snprintf(buffer, sizeof(buffer), "#%.2X", name[i]);
+ buffer[sizeof(buffer) - 1] = '\0';
+ written += t2pWriteFile(output, (tdata_t) buffer, 3);
+ break;
+@@ -3840,14 +3863,14 @@ tsize_t t2p_write_pdf_stream_end(TIFF* output){
+ tsize_t t2p_write_pdf_stream_dict(tsize_t len, uint32 number, TIFF* output){
+
+ tsize_t written=0;
+- char buffer[16];
++ char buffer[32];
+ int buflen=0;
+
+ written += t2pWriteFile(output, (tdata_t) "/Length ", 8);
+ if(len!=0){
+ written += t2p_write_pdf_stream_length(len, output);
+ } else {
+- buflen=sprintf(buffer, "%lu", (unsigned long)number);
++ buflen=snprintf(buffer, sizeof(buffer), "%lu", (unsigned long)number);
+ written += t2pWriteFile(output, (tdata_t) buffer, buflen);
+ written += t2pWriteFile(output, (tdata_t) " 0 R \n", 6);
+ }
+@@ -3888,10 +3911,10 @@ tsize_t t2p_write_pdf_stream_dict_end(TIFF* output){
+ tsize_t t2p_write_pdf_stream_length(tsize_t len, TIFF* output){
+
+ tsize_t written=0;
+- char buffer[16];
++ char buffer[32];
+ int buflen=0;
+
+- buflen=sprintf(buffer, "%lu", (unsigned long)len);
++ buflen=snprintf(buffer, sizeof(buffer), "%lu", (unsigned long)len);
+ written += t2pWriteFile(output, (tdata_t) buffer, buflen);
+ written += t2pWriteFile(output, (tdata_t) "\n", 1);
+
+@@ -3905,7 +3928,7 @@ tsize_t t2p_write_pdf_stream_length(tsize_t len, TIFF* output){
+ tsize_t t2p_write_pdf_catalog(T2P* t2p, TIFF* output)
+ {
+ tsize_t written = 0;
+- char buffer[16];
++ char buffer[32];
+ int buflen = 0;
+
+ written += t2pWriteFile(output,
+@@ -3944,7 +3967,6 @@ tsize_t t2p_write_pdf_info(T2P* t2p, TIFF* input, TIFF* output)
+ written += t2p_write_pdf_string(t2p->pdf_datetime, output);
+ }
+ written += t2pWriteFile(output, (tdata_t) "\n/Producer ", 11);
+- _TIFFmemset((tdata_t)buffer, 0x00, sizeof(buffer));
+ snprintf(buffer, sizeof(buffer), "libtiff / tiff2pdf - %d", TIFFLIB_VERSION);
+ written += t2p_write_pdf_string(buffer, output);
+ written += t2pWriteFile(output, (tdata_t) "\n", 1);
+@@ -4085,7 +4107,7 @@ tsize_t t2p_write_pdf_pages(T2P* t2p, TIFF* output)
+ {
+ tsize_t written=0;
+ tdir_t i=0;
+- char buffer[16];
++ char buffer[32];
+ int buflen=0;
+
+ int page=0;
+@@ -4093,7 +4115,7 @@ tsize_t t2p_write_pdf_pages(T2P* t2p, TIFF* output)
+ (tdata_t) "<< \n/Type /Pages \n/Kids [ ", 26);
+ page = t2p->pdf_pages+1;
+ for (i=0;i<t2p->tiff_pagecount;i++){
+- buflen=sprintf(buffer, "%d", page);
++ buflen=snprintf(buffer, sizeof(buffer), "%d", page);
+ written += t2pWriteFile(output, (tdata_t) buffer, buflen);
+ written += t2pWriteFile(output, (tdata_t) " 0 R ", 5);
+ if ( ((i+1)%8)==0 ) {
+@@ -4108,8 +4130,7 @@ tsize_t t2p_write_pdf_pages(T2P* t2p, TIFF* output)
+ }
+ }
+ written += t2pWriteFile(output, (tdata_t) "] \n/Count ", 10);
+- _TIFFmemset(buffer, 0x00, 16);
+- buflen=sprintf(buffer, "%d", t2p->tiff_pagecount);
++ buflen=snprintf(buffer, sizeof(buffer), "%d", t2p->tiff_pagecount);
+ written += t2pWriteFile(output, (tdata_t) buffer, buflen);
+ written += t2pWriteFile(output, (tdata_t) " \n>> \n", 6);
+
+@@ -4124,28 +4145,28 @@ tsize_t t2p_write_pdf_page(uint32 object, T2P* t2p, TIFF* output){
+
+ unsigned int i=0;
+ tsize_t written=0;
+- char buffer[16];
++ char buffer[256];
+ int buflen=0;
+
+ written += t2pWriteFile(output, (tdata_t) "<<\n/Type /Page \n/Parent ", 24);
+- buflen=sprintf(buffer, "%lu", (unsigned long)t2p->pdf_pages);
++ buflen=snprintf(buffer, sizeof(buffer), "%lu", (unsigned long)t2p->pdf_pages);
+ written += t2pWriteFile(output, (tdata_t) buffer, buflen);
+ written += t2pWriteFile(output, (tdata_t) " 0 R \n", 6);
+ written += t2pWriteFile(output, (tdata_t) "/MediaBox [", 11);
+- buflen=sprintf(buffer, "%.4f",t2p->pdf_mediabox.x1);
++ buflen=snprintf(buffer, sizeof(buffer), "%.4f",t2p->pdf_mediabox.x1);
+ written += t2pWriteFile(output, (tdata_t) buffer, buflen);
+ written += t2pWriteFile(output, (tdata_t) " ", 1);
+- buflen=sprintf(buffer, "%.4f",t2p->pdf_mediabox.y1);
++ buflen=snprintf(buffer, sizeof(buffer), "%.4f",t2p->pdf_mediabox.y1);
+ written += t2pWriteFile(output, (tdata_t) buffer, buflen);
+ written += t2pWriteFile(output, (tdata_t) " ", 1);
+- buflen=sprintf(buffer, "%.4f",t2p->pdf_mediabox.x2);
++ buflen=snprintf(buffer, sizeof(buffer), "%.4f",t2p->pdf_mediabox.x2);
+ written += t2pWriteFile(output, (tdata_t) buffer, buflen);
+ written += t2pWriteFile(output, (tdata_t) " ", 1);
+- buflen=sprintf(buffer, "%.4f",t2p->pdf_mediabox.y2);
++ buflen=snprintf(buffer, sizeof(buffer), "%.4f",t2p->pdf_mediabox.y2);
+ written += t2pWriteFile(output, (tdata_t) buffer, buflen);
+ written += t2pWriteFile(output, (tdata_t) "] \n", 3);
+ written += t2pWriteFile(output, (tdata_t) "/Contents ", 10);
+- buflen=sprintf(buffer, "%lu", (unsigned long)(object + 1));
++ buflen=snprintf(buffer, sizeof(buffer), "%lu", (unsigned long)(object + 1));
+ written += t2pWriteFile(output, (tdata_t) buffer, buflen);
+ written += t2pWriteFile(output, (tdata_t) " 0 R \n", 6);
+ written += t2pWriteFile(output, (tdata_t) "/Resources << \n", 15);
+@@ -4153,15 +4174,13 @@ tsize_t t2p_write_pdf_page(uint32 object, T2P* t2p, TIFF* output){
+ written += t2pWriteFile(output, (tdata_t) "/XObject <<\n", 12);
+ for(i=0;i<t2p->tiff_tiles[t2p->pdf_page].tiles_tilecount;i++){
+ written += t2pWriteFile(output, (tdata_t) "/Im", 3);
+- buflen = sprintf(buffer, "%u", t2p->pdf_page+1);
++ buflen = snprintf(buffer, sizeof(buffer), "%u", t2p->pdf_page+1);
+ written += t2pWriteFile(output, (tdata_t) buffer, buflen);
+ written += t2pWriteFile(output, (tdata_t) "_", 1);
+- buflen = sprintf(buffer, "%u", i+1);
++ buflen = snprintf(buffer, sizeof(buffer), "%u", i+1);
+ written += t2pWriteFile(output, (tdata_t) buffer, buflen);
+ written += t2pWriteFile(output, (tdata_t) " ", 1);
+- buflen = sprintf(
+- buffer,
+- "%lu",
++ buflen = snprintf(buffer, sizeof(buffer), "%lu",
+ (unsigned long)(object+3+(2*i)+t2p->tiff_pages[t2p->pdf_page].page_extra));
+ written += t2pWriteFile(output, (tdata_t) buffer, buflen);
+ written += t2pWriteFile(output, (tdata_t) " 0 R ", 5);
+@@ -4173,12 +4192,10 @@ tsize_t t2p_write_pdf_page(uint32 object, T2P* t2p, TIFF* output){
+ } else {
+ written += t2pWriteFile(output, (tdata_t) "/XObject <<\n", 12);
+ written += t2pWriteFile(output, (tdata_t) "/Im", 3);
+- buflen = sprintf(buffer, "%u", t2p->pdf_page+1);
++ buflen = snprintf(buffer, sizeof(buffer), "%u", t2p->pdf_page+1);
+ written += t2pWriteFile(output, (tdata_t) buffer, buflen);
+ written += t2pWriteFile(output, (tdata_t) " ", 1);
+- buflen = sprintf(
+- buffer,
+- "%lu",
++ buflen = snprintf(buffer, sizeof(buffer), "%lu",
+ (unsigned long)(object+3+(2*i)+t2p->tiff_pages[t2p->pdf_page].page_extra));
+ written += t2pWriteFile(output, (tdata_t) buffer, buflen);
+ written += t2pWriteFile(output, (tdata_t) " 0 R ", 5);
+@@ -4187,9 +4204,7 @@ tsize_t t2p_write_pdf_page(uint32 object, T2P* t2p, TIFF* output){
+ if(t2p->tiff_transferfunctioncount != 0) {
+ written += t2pWriteFile(output, (tdata_t) "/ExtGState <<", 13);
+ t2pWriteFile(output, (tdata_t) "/GS1 ", 5);
+- buflen = sprintf(
+- buffer,
+- "%lu",
++ buflen = snprintf(buffer, sizeof(buffer), "%lu",
+ (unsigned long)(object + 3));
+ written += t2pWriteFile(output, (tdata_t) buffer, buflen);
+ written += t2pWriteFile(output, (tdata_t) " 0 R ", 5);
+@@ -4562,7 +4577,7 @@ tsize_t t2p_write_pdf_page_content_stream(T2P* t2p, TIFF* output){
+ if(t2p->tiff_tiles[t2p->pdf_page].tiles_tilecount>0){
+ for(i=0;i<t2p->tiff_tiles[t2p->pdf_page].tiles_tilecount; i++){
+ box=t2p->tiff_tiles[t2p->pdf_page].tiles_tiles[i].tile_box;
+- buflen=sprintf(buffer,
++ buflen=snprintf(buffer, sizeof(buffer),
+ "q %s %.4f %.4f %.4f %.4f %.4f %.4f cm /Im%d_%ld Do Q\n",
+ t2p->tiff_transferfunctioncount?"/GS1 gs ":"",
+ box.mat[0],
+@@ -4577,7 +4592,7 @@ tsize_t t2p_write_pdf_page_content_stream(T2P* t2p, TIFF* output){
+ }
+ } else {
+ box=t2p->pdf_imagebox;
+- buflen=sprintf(buffer,
++ buflen=snprintf(buffer, sizeof(buffer),
+ "q %s %.4f %.4f %.4f %.4f %.4f %.4f cm /Im%d Do Q\n",
+ t2p->tiff_transferfunctioncount?"/GS1 gs ":"",
+ box.mat[0],
+@@ -4602,59 +4617,48 @@ tsize_t t2p_write_pdf_xobject_stream_dict(ttile_t tile,
+ TIFF* output){
+
+ tsize_t written=0;
+- char buffer[16];
++ char buffer[32];
+ int buflen=0;
+
+ written += t2p_write_pdf_stream_dict(0, t2p->pdf_xrefcount+1, output);
+ written += t2pWriteFile(output,
+ (tdata_t) "/Type /XObject \n/Subtype /Image \n/Name /Im",
+ 42);
+- buflen=sprintf(buffer, "%u", t2p->pdf_page+1);
++ buflen=snprintf(buffer, sizeof(buffer), "%u", t2p->pdf_page+1);
+ written += t2pWriteFile(output, (tdata_t) buffer, buflen);
+ if(tile != 0){
+ written += t2pWriteFile(output, (tdata_t) "_", 1);
+- buflen=sprintf(buffer, "%lu", (unsigned long)tile);
++ buflen=snprintf(buffer, sizeof(buffer), "%lu", (unsigned long)tile);
+ written += t2pWriteFile(output, (tdata_t) buffer, buflen);
+ }
+ written += t2pWriteFile(output, (tdata_t) "\n/Width ", 8);
+- _TIFFmemset((tdata_t)buffer, 0x00, 16);
+ if(tile==0){
+- buflen=sprintf(buffer, "%lu", (unsigned long)t2p->tiff_width);
++ buflen=snprintf(buffer, sizeof(buffer), "%lu", (unsigned long)t2p->tiff_width);
+ } else {
+ if(t2p_tile_is_right_edge(t2p->tiff_tiles[t2p->pdf_page], tile-1)!=0){
+- buflen=sprintf(
+- buffer,
+- "%lu",
++ buflen=snprintf(buffer, sizeof(buffer), "%lu",
+ (unsigned long)t2p->tiff_tiles[t2p->pdf_page].tiles_edgetilewidth);
+ } else {
+- buflen=sprintf(
+- buffer,
+- "%lu",
++ buflen=snprintf(buffer, sizeof(buffer), "%lu",
+ (unsigned long)t2p->tiff_tiles[t2p->pdf_page].tiles_tilewidth);
+ }
+ }
+ written += t2pWriteFile(output, (tdata_t) buffer, buflen);
+ written += t2pWriteFile(output, (tdata_t) "\n/Height ", 9);
+- _TIFFmemset((tdata_t)buffer, 0x00, 16);
+ if(tile==0){
+- buflen=sprintf(buffer, "%lu", (unsigned long)t2p->tiff_length);
++ buflen=snprintf(buffer, sizeof(buffer), "%lu", (unsigned long)t2p->tiff_length);
+ } else {
+ if(t2p_tile_is_bottom_edge(t2p->tiff_tiles[t2p->pdf_page], tile-1)!=0){
+- buflen=sprintf(
+- buffer,
+- "%lu",
++ buflen=snprintf(buffer, sizeof(buffer), "%lu",
+ (unsigned long)t2p->tiff_tiles[t2p->pdf_page].tiles_edgetilelength);
+ } else {
+- buflen=sprintf(
+- buffer,
+- "%lu",
++ buflen=snprintf(buffer, sizeof(buffer), "%lu",
+ (unsigned long)t2p->tiff_tiles[t2p->pdf_page].tiles_tilelength);
+ }
+ }
+ written += t2pWriteFile(output, (tdata_t) buffer, buflen);
+ written += t2pWriteFile(output, (tdata_t) "\n/BitsPerComponent ", 19);
+- _TIFFmemset((tdata_t)buffer, 0x00, 16);
+- buflen=sprintf(buffer, "%u", t2p->tiff_bitspersample);
++ buflen=snprintf(buffer, sizeof(buffer), "%u", t2p->tiff_bitspersample);
+ written += t2pWriteFile(output, (tdata_t) buffer, buflen);
+ written += t2pWriteFile(output, (tdata_t) "\n/ColorSpace ", 13);
+ written += t2p_write_pdf_xobject_cs(t2p, output);
+@@ -4698,11 +4702,10 @@ tsize_t t2p_write_pdf_xobject_cs(T2P* t2p, TIFF* output){
+ t2p->pdf_colorspace ^= T2P_CS_PALETTE;
+ written += t2p_write_pdf_xobject_cs(t2p, output);
+ t2p->pdf_colorspace |= T2P_CS_PALETTE;
+- buflen=sprintf(buffer, "%u", (0x0001 << t2p->tiff_bitspersample)-1 );
++ buflen=snprintf(buffer, sizeof(buffer), "%u", (0x0001 << t2p->tiff_bitspersample)-1 );
+ written += t2pWriteFile(output, (tdata_t) buffer, buflen);
+ written += t2pWriteFile(output, (tdata_t) " ", 1);
+- _TIFFmemset(buffer, 0x00, 16);
+- buflen=sprintf(buffer, "%lu", (unsigned long)t2p->pdf_palettecs );
++ buflen=snprintf(buffer, sizeof(buffer), "%lu", (unsigned long)t2p->pdf_palettecs );
+ written += t2pWriteFile(output, (tdata_t) buffer, buflen);
+ written += t2pWriteFile(output, (tdata_t) " 0 R ]\n", 7);
+ return(written);
+@@ -4736,10 +4739,10 @@ tsize_t t2p_write_pdf_xobject_cs(T2P* t2p, TIFF* output){
+ X_W /= Y_W;
+ Z_W /= Y_W;
+ Y_W = 1.0F;
+- buflen=sprintf(buffer, "[%.4f %.4f %.4f] \n", X_W, Y_W, Z_W);
++ buflen=snprintf(buffer, sizeof(buffer), "[%.4f %.4f %.4f] \n", X_W, Y_W, Z_W);
+ written += t2pWriteFile(output, (tdata_t) buffer, buflen);
+ written += t2pWriteFile(output, (tdata_t) "/Range ", 7);
+- buflen=sprintf(buffer, "[%d %d %d %d] \n",
++ buflen=snprintf(buffer, sizeof(buffer), "[%d %d %d %d] \n",
+ t2p->pdf_labrange[0],
+ t2p->pdf_labrange[1],
+ t2p->pdf_labrange[2],
+@@ -4755,26 +4758,26 @@ tsize_t t2p_write_pdf_xobject_cs(T2P* t2p, TIFF* output){
+ tsize_t t2p_write_pdf_transfer(T2P* t2p, TIFF* output){
+
+ tsize_t written=0;
+- char buffer[16];
++ char buffer[32];
+ int buflen=0;
+
+ written += t2pWriteFile(output, (tdata_t) "<< /Type /ExtGState \n/TR ", 25);
+ if(t2p->tiff_transferfunctioncount == 1){
+- buflen=sprintf(buffer, "%lu",
++ buflen=snprintf(buffer, sizeof(buffer), "%lu",
+ (unsigned long)(t2p->pdf_xrefcount + 1));
+ written += t2pWriteFile(output, (tdata_t) buffer, buflen);
+ written += t2pWriteFile(output, (tdata_t) " 0 R ", 5);
+ } else {
+ written += t2pWriteFile(output, (tdata_t) "[ ", 2);
+- buflen=sprintf(buffer, "%lu",
++ buflen=snprintf(buffer, sizeof(buffer), "%lu",
+ (unsigned long)(t2p->pdf_xrefcount + 1));
+ written += t2pWriteFile(output, (tdata_t) buffer, buflen);
+ written += t2pWriteFile(output, (tdata_t) " 0 R ", 5);
+- buflen=sprintf(buffer, "%lu",
++ buflen=snprintf(buffer, sizeof(buffer), "%lu",
+ (unsigned long)(t2p->pdf_xrefcount + 2));
+ written += t2pWriteFile(output, (tdata_t) buffer, buflen);
+ written += t2pWriteFile(output, (tdata_t) " 0 R ", 5);
+- buflen=sprintf(buffer, "%lu",
++ buflen=snprintf(buffer, sizeof(buffer), "%lu",
+ (unsigned long)(t2p->pdf_xrefcount + 3));
+ written += t2pWriteFile(output, (tdata_t) buffer, buflen);
+ written += t2pWriteFile(output, (tdata_t) " 0 R ", 5);
+@@ -4796,7 +4799,7 @@ tsize_t t2p_write_pdf_transfer_dict(T2P* t2p, TIFF* output, uint16 i){
+ written += t2pWriteFile(output, (tdata_t) "/FunctionType 0 \n", 17);
+ written += t2pWriteFile(output, (tdata_t) "/Domain [0.0 1.0] \n", 19);
+ written += t2pWriteFile(output, (tdata_t) "/Range [0.0 1.0] \n", 18);
+- buflen=sprintf(buffer, "/Size [%u] \n", (1<<t2p->tiff_bitspersample));
++ buflen=snprintf(buffer, sizeof(buffer), "/Size [%u] \n", (1<<t2p->tiff_bitspersample));
+ written += t2pWriteFile(output, (tdata_t) buffer, buflen);
+ written += t2pWriteFile(output, (tdata_t) "/BitsPerSample 16 \n", 19);
+ written += t2p_write_pdf_stream_dict(1<<(t2p->tiff_bitspersample+1), 0, output);
+@@ -4823,7 +4826,7 @@ tsize_t t2p_write_pdf_transfer_stream(T2P* t2p, TIFF* output, uint16 i){
+ tsize_t t2p_write_pdf_xobject_calcs(T2P* t2p, TIFF* output){
+
+ tsize_t written=0;
+- char buffer[128];
++ char buffer[256];
+ int buflen=0;
+
+ float X_W=0.0;
+@@ -4891,16 +4894,16 @@ tsize_t t2p_write_pdf_xobject_calcs(T2P* t2p, TIFF* output){
+ written += t2pWriteFile(output, (tdata_t) "<< \n", 4);
+ if(t2p->pdf_colorspace & T2P_CS_CALGRAY){
+ written += t2pWriteFile(output, (tdata_t) "/WhitePoint ", 12);
+- buflen=sprintf(buffer, "[%.4f %.4f %.4f] \n", X_W, Y_W, Z_W);
++ buflen=snprintf(buffer, sizeof(buffer), "[%.4f %.4f %.4f] \n", X_W, Y_W, Z_W);
+ written += t2pWriteFile(output, (tdata_t) buffer, buflen);
+ written += t2pWriteFile(output, (tdata_t) "/Gamma 2.2 \n", 12);
+ }
+ if(t2p->pdf_colorspace & T2P_CS_CALRGB){
+ written += t2pWriteFile(output, (tdata_t) "/WhitePoint ", 12);
+- buflen=sprintf(buffer, "[%.4f %.4f %.4f] \n", X_W, Y_W, Z_W);
++ buflen=snprintf(buffer, sizeof(buffer), "[%.4f %.4f %.4f] \n", X_W, Y_W, Z_W);
+ written += t2pWriteFile(output, (tdata_t) buffer, buflen);
+ written += t2pWriteFile(output, (tdata_t) "/Matrix ", 8);
+- buflen=sprintf(buffer, "[%.4f %.4f %.4f %.4f %.4f %.4f %.4f %.4f %.4f] \n",
++ buflen=snprintf(buffer, sizeof(buffer), "[%.4f %.4f %.4f %.4f %.4f %.4f %.4f %.4f %.4f] \n",
+ X_R, Y_R, Z_R,
+ X_G, Y_G, Z_G,
+ X_B, Y_B, Z_B);
+@@ -4919,11 +4922,11 @@ tsize_t t2p_write_pdf_xobject_calcs(T2P* t2p, TIFF* output){
+ tsize_t t2p_write_pdf_xobject_icccs(T2P* t2p, TIFF* output){
+
+ tsize_t written=0;
+- char buffer[16];
++ char buffer[32];
+ int buflen=0;
+
+ written += t2pWriteFile(output, (tdata_t) "[/ICCBased ", 11);
+- buflen=sprintf(buffer, "%lu", (unsigned long)t2p->pdf_icccs);
++ buflen=snprintf(buffer, sizeof(buffer), "%lu", (unsigned long)t2p->pdf_icccs);
+ written += t2pWriteFile(output, (tdata_t) buffer, buflen);
+ written += t2pWriteFile(output, (tdata_t) " 0 R] \n", 7);
+
+@@ -4933,11 +4936,11 @@ tsize_t t2p_write_pdf_xobject_icccs(T2P* t2p, TIFF* output){
+ tsize_t t2p_write_pdf_xobject_icccs_dict(T2P* t2p, TIFF* output){
+
+ tsize_t written=0;
+- char buffer[16];
++ char buffer[32];
+ int buflen=0;
+
+ written += t2pWriteFile(output, (tdata_t) "/N ", 3);
+- buflen=sprintf(buffer, "%u \n", t2p->tiff_samplesperpixel);
++ buflen=snprintf(buffer, sizeof(buffer), "%u \n", t2p->tiff_samplesperpixel);
+ written += t2pWriteFile(output, (tdata_t) buffer, buflen);
+ written += t2pWriteFile(output, (tdata_t) "/Alternate ", 11);
+ t2p->pdf_colorspace ^= T2P_CS_ICCBASED;
+@@ -5002,7 +5005,7 @@ tsize_t t2p_write_pdf_xobject_decode(T2P* t2p, TIFF* output){
+ tsize_t t2p_write_pdf_xobject_stream_filter(ttile_t tile, T2P* t2p, TIFF* output){
+
+ tsize_t written=0;
+- char buffer[16];
++ char buffer[32];
+ int buflen=0;
+
+ if(t2p->pdf_compression==T2P_COMPRESS_NONE){
+@@ -5017,41 +5020,33 @@ tsize_t t2p_write_pdf_xobject_stream_filter(ttile_t tile, T2P* t2p, TIFF* output
+ written += t2pWriteFile(output, (tdata_t) "<< /K -1 ", 9);
+ if(tile==0){
+ written += t2pWriteFile(output, (tdata_t) "/Columns ", 9);
+- buflen=sprintf(buffer, "%lu",
++ buflen=snprintf(buffer, sizeof(buffer), "%lu",
+ (unsigned long)t2p->tiff_width);
+ written += t2pWriteFile(output, (tdata_t) buffer, buflen);
+ written += t2pWriteFile(output, (tdata_t) " /Rows ", 7);
+- buflen=sprintf(buffer, "%lu",
++ buflen=snprintf(buffer, sizeof(buffer), "%lu",
+ (unsigned long)t2p->tiff_length);
+ written += t2pWriteFile(output, (tdata_t) buffer, buflen);
+ } else {
+ if(t2p_tile_is_right_edge(t2p->tiff_tiles[t2p->pdf_page], tile-1)==0){
+ written += t2pWriteFile(output, (tdata_t) "/Columns ", 9);
+- buflen=sprintf(
+- buffer,
+- "%lu",
++ buflen=snprintf(buffer, sizeof(buffer), "%lu",
+ (unsigned long)t2p->tiff_tiles[t2p->pdf_page].tiles_tilewidth);
+ written += t2pWriteFile(output, (tdata_t) buffer, buflen);
+ } else {
+ written += t2pWriteFile(output, (tdata_t) "/Columns ", 9);
+- buflen=sprintf(
+- buffer,
+- "%lu",
++ buflen=snprintf(buffer, sizeof(buffer), "%lu",
+ (unsigned long)t2p->tiff_tiles[t2p->pdf_page].tiles_edgetilewidth);
+ written += t2pWriteFile(output, (tdata_t) buffer, buflen);
+ }
+ if(t2p_tile_is_bottom_edge(t2p->tiff_tiles[t2p->pdf_page], tile-1)==0){
+ written += t2pWriteFile(output, (tdata_t) " /Rows ", 7);
+- buflen=sprintf(
+- buffer,
+- "%lu",
++ buflen=snprintf(buffer, sizeof(buffer), "%lu",
+ (unsigned long)t2p->tiff_tiles[t2p->pdf_page].tiles_tilelength);
+ written += t2pWriteFile(output, (tdata_t) buffer, buflen);
+ } else {
+ written += t2pWriteFile(output, (tdata_t) " /Rows ", 7);
+- buflen=sprintf(
+- buffer,
+- "%lu",
++ buflen=snprintf(buffer, sizeof(buffer), "%lu",
+ (unsigned long)t2p->tiff_tiles[t2p->pdf_page].tiles_edgetilelength);
+ written += t2pWriteFile(output, (tdata_t) buffer, buflen);
+ }
+@@ -5078,21 +5073,17 @@ tsize_t t2p_write_pdf_xobject_stream_filter(ttile_t tile, T2P* t2p, TIFF* output
+ if(t2p->pdf_compressionquality%100){
+ written += t2pWriteFile(output, (tdata_t) "/DecodeParms ", 13);
+ written += t2pWriteFile(output, (tdata_t) "<< /Predictor ", 14);
+- _TIFFmemset(buffer, 0x00, 16);
+- buflen=sprintf(buffer, "%u", t2p->pdf_compressionquality%100);
++ buflen=snprintf(buffer, sizeof(buffer), "%u", t2p->pdf_compressionquality%100);
+ written += t2pWriteFile(output, (tdata_t) buffer, buflen);
+ written += t2pWriteFile(output, (tdata_t) " /Columns ", 10);
+- _TIFFmemset(buffer, 0x00, 16);
+- buflen = sprintf(buffer, "%lu",
++ buflen = snprintf(buffer, sizeof(buffer), "%lu",
+ (unsigned long)t2p->tiff_width);
+ written += t2pWriteFile(output, (tdata_t) buffer, buflen);
+ written += t2pWriteFile(output, (tdata_t) " /Colors ", 9);
+- _TIFFmemset(buffer, 0x00, 16);
+- buflen=sprintf(buffer, "%u", t2p->tiff_samplesperpixel);
++ buflen=snprintf(buffer, sizeof(buffer), "%u", t2p->tiff_samplesperpixel);
+ written += t2pWriteFile(output, (tdata_t) buffer, buflen);
+ written += t2pWriteFile(output, (tdata_t) " /BitsPerComponent ", 19);
+- _TIFFmemset(buffer, 0x00, 16);
+- buflen=sprintf(buffer, "%u", t2p->tiff_bitspersample);
++ buflen=snprintf(buffer, sizeof(buffer), "%u", t2p->tiff_bitspersample);
+ written += t2pWriteFile(output, (tdata_t) buffer, buflen);
+ written += t2pWriteFile(output, (tdata_t) ">>\n", 3);
+ }
+@@ -5112,16 +5103,16 @@ tsize_t t2p_write_pdf_xobject_stream_filter(ttile_t tile, T2P* t2p, TIFF* output
+ tsize_t t2p_write_pdf_xreftable(T2P* t2p, TIFF* output){
+
+ tsize_t written=0;
+- char buffer[21];
++ char buffer[64];
+ int buflen=0;
+ uint32 i=0;
+
+ written += t2pWriteFile(output, (tdata_t) "xref\n0 ", 7);
+- buflen=sprintf(buffer, "%lu", (unsigned long)(t2p->pdf_xrefcount + 1));
++ buflen=snprintf(buffer, sizeof(buffer), "%lu", (unsigned long)(t2p->pdf_xrefcount + 1));
+ written += t2pWriteFile(output, (tdata_t) buffer, buflen);
+ written += t2pWriteFile(output, (tdata_t) " \n0000000000 65535 f \n", 22);
+ for (i=0;i<t2p->pdf_xrefcount;i++){
+- sprintf(buffer, "%.10lu 00000 n \n",
++ snprintf(buffer, sizeof(buffer), "%.10lu 00000 n \n",
+ (unsigned long)t2p->pdf_xrefoffsets[i]);
+ written += t2pWriteFile(output, (tdata_t) buffer, 20);
+ }
+@@ -5145,17 +5136,14 @@ tsize_t t2p_write_pdf_trailer(T2P* t2p, TIFF* output)
+ snprintf(t2p->pdf_fileid + i, 9, "%.8X", rand());
+
+ written += t2pWriteFile(output, (tdata_t) "trailer\n<<\n/Size ", 17);
+- buflen = sprintf(buffer, "%lu", (unsigned long)(t2p->pdf_xrefcount+1));
++ buflen = snprintf(buffer, sizeof(buffer), "%lu", (unsigned long)(t2p->pdf_xrefcount+1));
+ written += t2pWriteFile(output, (tdata_t) buffer, buflen);
+- _TIFFmemset(buffer, 0x00, 32);
+ written += t2pWriteFile(output, (tdata_t) "\n/Root ", 7);
+- buflen=sprintf(buffer, "%lu", (unsigned long)t2p->pdf_catalog);
++ buflen=snprintf(buffer, sizeof(buffer), "%lu", (unsigned long)t2p->pdf_catalog);
+ written += t2pWriteFile(output, (tdata_t) buffer, buflen);
+- _TIFFmemset(buffer, 0x00, 32);
+ written += t2pWriteFile(output, (tdata_t) " 0 R \n/Info ", 12);
+- buflen=sprintf(buffer, "%lu", (unsigned long)t2p->pdf_info);
++ buflen=snprintf(buffer, sizeof(buffer), "%lu", (unsigned long)t2p->pdf_info);
+ written += t2pWriteFile(output, (tdata_t) buffer, buflen);
+- _TIFFmemset(buffer, 0x00, 32);
+ written += t2pWriteFile(output, (tdata_t) " 0 R \n/ID[<", 11);
+ written += t2pWriteFile(output, (tdata_t) t2p->pdf_fileid,
+ sizeof(t2p->pdf_fileid) - 1);
+@@ -5163,9 +5151,8 @@ tsize_t t2p_write_pdf_trailer(T2P* t2p, TIFF* output)
+ written += t2pWriteFile(output, (tdata_t) t2p->pdf_fileid,
+ sizeof(t2p->pdf_fileid) - 1);
+ written += t2pWriteFile(output, (tdata_t) ">]\n>>\nstartxref\n", 16);
+- buflen=sprintf(buffer, "%lu", (unsigned long)t2p->pdf_startxref);
++ buflen=snprintf(buffer, sizeof(buffer), "%lu", (unsigned long)t2p->pdf_startxref);
+ written += t2pWriteFile(output, (tdata_t) buffer, buflen);
+- _TIFFmemset(buffer, 0x00, 32);
+ written += t2pWriteFile(output, (tdata_t) "\n%%EOF\n", 7);
+
+ return(written);
+diff --git a/tools/tiff2ps.c b/tools/tiff2ps.c
+index 2d02b23..b9befe7 100644
+--- a/tools/tiff2ps.c
++++ b/tools/tiff2ps.c
+@@ -1,4 +1,4 @@
+-/* $Id: tiff2ps.c,v 1.35.2.7 2011-04-09 16:53:56 bfriesen Exp $ */
++/* $Id: tiff2ps.c,v 1.35.2.9 2013-05-02 14:44:44 tgl Exp $ */
+
+ /*
+ * Copyright (c) 1988-1997 Sam Leffler
+@@ -44,6 +44,11 @@
+
+ /*
+ * Revision history
++ * 2013-Jan-21
++ * Richard Nolde: Fix bug in auto rotate option code. Once a
++ * rotation angle was set by the auto rotate check, it was
++ * retained for all pages that followed instead of being
++ * retested for each page.
+ *
+ * 2010-Sep-17
+ * Richard Nolde: Reinstate code from Feb 2009 that never got
+@@ -423,9 +428,10 @@ main(int argc, char* argv[])
+ /* auto rotate requires a specified page width and height */
+ if (auto_rotate == TRUE)
+ {
++ /*
+ if ((pageWidth == 0) || (pageHeight == 0))
+ TIFFWarning ("-r auto", " requires page height and width specified with -h and -w");
+-
++ */
+ if ((maxPageWidth > 0) || (maxPageHeight > 0))
+ {
+ TIFFError ("-r auto", " is incompatible with maximum page width/height specified by -H or -W");
+@@ -1594,6 +1600,8 @@ int TIFF2PS(FILE* fd, TIFF* tif, double pgwidth, double pgheight, double lm, dou
+ }
+ if (generateEPSF)
+ break;
++ if (auto_rotate)
++ rotation = 0.0;
+ TIFFGetFieldDefaulted(tif, TIFFTAG_SUBFILETYPE, &subfiletype);
+ } while (((subfiletype & FILETYPE_PAGE) || printAll) && TIFFReadDirectory(tif));
+
+@@ -1783,8 +1791,8 @@ PS_Lvl2ImageDict(FILE* fd, TIFF* tif, uint32 w, uint32 h)
+ imageOp = "imagemask";
+
+ (void)strcpy(im_x, "0");
+- (void)sprintf(im_y, "%lu", (long) h);
+- (void)sprintf(im_h, "%lu", (long) h);
++ (void)snprintf(im_y, sizeof(im_y), "%lu", (long) h);
++ (void)snprintf(im_h, sizeof(im_h), "%lu", (long) h);
+ tile_width = w;
+ tile_height = h;
+ if (TIFFIsTiled(tif)) {
+@@ -1805,7 +1813,7 @@ PS_Lvl2ImageDict(FILE* fd, TIFF* tif, uint32 w, uint32 h)
+ }
+ if (tile_height < h) {
+ fputs("/im_y 0 def\n", fd);
+- (void)sprintf(im_y, "%lu im_y sub", (unsigned long) h);
++ (void)snprintf(im_y, sizeof(im_y), "%lu im_y sub", (unsigned long) h);
+ }
+ } else {
+ repeat_count = tf_numberstrips;
+@@ -1817,7 +1825,7 @@ PS_Lvl2ImageDict(FILE* fd, TIFF* tif, uint32 w, uint32 h)
+ fprintf(fd, "/im_h %lu def\n",
+ (unsigned long) tile_height);
+ (void)strcpy(im_h, "im_h");
+- (void)sprintf(im_y, "%lu im_y sub", (unsigned long) h);
++ (void)snprintf(im_y, sizeof(im_y), "%lu im_y sub", (unsigned long) h);
+ }
+ }
+
+diff --git a/tools/tiffcrop.c b/tools/tiffcrop.c
+index d00c912..6c53e74 100644
+--- a/tools/tiffcrop.c
++++ b/tools/tiffcrop.c
+@@ -1,4 +1,4 @@
+-/* $Id: tiffcrop.c,v 1.3.2.15 2010-12-14 02:03:55 faxguy Exp $ */
++/* $Id: tiffcrop.c,v 1.3.2.16 2013-05-02 14:44:44 tgl Exp $ */
+
+ /* tiffcrop.c -- a port of tiffcp.c extended to include manipulations of
+ * the image data through additional options listed below
+@@ -2077,7 +2077,7 @@ update_output_file (TIFF **tiffout, char *mode, int autoindex,
+ return 1;
+ }
+
+- sprintf (filenum, "-%03d%s", findex, export_ext);
++ snprintf(filenum, sizeof(filenum), "-%03d%s", findex, export_ext);
+ filenum[14] = '\0';
+ strncat (exportname, filenum, 15);
+ }
+@@ -2230,8 +2230,8 @@ main(int argc, char* argv[])
+
+ /* dump.infilename is guaranteed to be NUL termimated and have 20 bytes
+ fewer than PATH_MAX */
+- memset (temp_filename, '\0', PATH_MAX + 1);
+- sprintf (temp_filename, "%s-read-%03d.%s", dump.infilename, dump_images,
++ snprintf(temp_filename, sizeof(temp_filename), "%s-read-%03d.%s",
++ dump.infilename, dump_images,
+ (dump.format == DUMP_TEXT) ? "txt" : "raw");
+ if ((dump.infile = fopen(temp_filename, dump.mode)) == NULL)
+ {
+@@ -2249,8 +2249,8 @@ main(int argc, char* argv[])
+
+ /* dump.outfilename is guaranteed to be NUL termimated and have 20 bytes
+ fewer than PATH_MAX */
+- memset (temp_filename, '\0', PATH_MAX + 1);
+- sprintf (temp_filename, "%s-write-%03d.%s", dump.outfilename, dump_images,
++ snprintf(temp_filename, sizeof(temp_filename), "%s-write-%03d.%s",
++ dump.outfilename, dump_images,
+ (dump.format == DUMP_TEXT) ? "txt" : "raw");
+ if ((dump.outfile = fopen(temp_filename, dump.mode)) == NULL)
+ {
+diff --git a/tools/tiffdither.c b/tools/tiffdither.c
+index dee2a02..a0cb857 100644
+--- a/tools/tiffdither.c
++++ b/tools/tiffdither.c
+@@ -1,4 +1,4 @@
+-/* $Id: tiffdither.c,v 1.9.2.1 2010-06-08 18:50:44 bfriesen Exp $ */
++/* $Id: tiffdither.c,v 1.9.2.2 2013-05-02 14:44:45 tgl Exp $ */
+
+ /*
+ * Copyright (c) 1988-1997 Sam Leffler
+@@ -256,7 +256,7 @@ main(int argc, char* argv[])
+ TIFFSetField(out, TIFFTAG_FILLORDER, fillorder);
+ else
+ CopyField(TIFFTAG_FILLORDER, shortv);
+- sprintf(thing, "Dithered B&W version of %s", argv[optind]);
++ snprintf(thing, sizeof(thing), "Dithered B&W version of %s", argv[optind]);
+ TIFFSetField(out, TIFFTAG_IMAGEDESCRIPTION, thing);
+ CopyField(TIFFTAG_PHOTOMETRIC, shortv);
+ CopyField(TIFFTAG_ORIENTATION, shortv);
diff --git a/patches/source/libtiff/tiff-3.9.7_CVE-2013-4231.diff b/patches/source/libtiff/tiff-3.9.7_CVE-2013-4231.diff
new file mode 100644
index 00000000..79eeb449
--- /dev/null
+++ b/patches/source/libtiff/tiff-3.9.7_CVE-2013-4231.diff
@@ -0,0 +1,23 @@
+From 5d19703933eaa59f97be9c88237fe00593f180ae Mon Sep 17 00:00:00 2001
+From: mancha <mancha1@hush.com>
+Date: Mon, 19 Aug 2013
+Subject: CVE-2013-4231
+
+* tools/gif2tiff.c: Be more careful about corrupt or
+ hostile input files (#2450, CVE-2013-4231)
+
+---
+ gif2tiff.c | 2 ++
+ 1 file changed, 2 insertions(+)
+
+--- a/tools/gif2tiff.c 2013-08-20
++++ b/tools/gif2tiff.c 2013-08-20
+@@ -329,6 +329,8 @@ readraster(void)
+ int status = 1;
+
+ datasize = getc(infile);
++ if (datasize > 12)
++ return 0;
+ clear = 1 << datasize;
+ eoi = clear + 1;
+ avail = clear + 2;
diff --git a/patches/source/libtiff/tiff-3.9.7_CVE-2013-4232.diff b/patches/source/libtiff/tiff-3.9.7_CVE-2013-4232.diff
new file mode 100644
index 00000000..b86f8f4a
--- /dev/null
+++ b/patches/source/libtiff/tiff-3.9.7_CVE-2013-4232.diff
@@ -0,0 +1,24 @@
+From 8a2f9160cc4c52c73a62adef4d9282b2bd6e7ff1 Mon Sep 17 00:00:00 2001
+From: mancha <mancha1@hush.com>
+Date: Mon, 19 Aug 2013
+Subject: CVE-2013-4232
+
+* tools/tiff2pdf.c: terminate after failure of allocating
+ ycbcr buffer (bug #2449, CVE-2013-4232)
+
+---
+ tiff2pdf.c | 3 ++-
+ 1 file changed, 2 insertions(+), 1 deletion(-)
+
+--- a/tools/tiff2pdf.c 2013-08-20
++++ b/tools/tiff2pdf.c 2013-08-20
+@@ -2457,7 +2457,8 @@ tsize_t t2p_readwrite_pdf_image(T2P* t2p
+ t2p->tiff_datasize,
+ TIFFFileName(input));
+ t2p->t2p_error = T2P_ERR_ERROR;
+- _TIFFfree(buffer);
++ _TIFFfree(buffer);
++ return(0);
+ } else {
+ buffer=samplebuffer;
+ t2p->tiff_datasize *= t2p->tiff_samplesperpixel;
diff --git a/patches/source/libtiff/tiff-3.9.7_CVE-2013-4244.diff b/patches/source/libtiff/tiff-3.9.7_CVE-2013-4244.diff
new file mode 100644
index 00000000..4f8c5432
--- /dev/null
+++ b/patches/source/libtiff/tiff-3.9.7_CVE-2013-4244.diff
@@ -0,0 +1,24 @@
+From 7f4cfaec643863fcdc260da46af8d6581974101d Mon Sep 17 00:00:00 2001
+From: mancha <mancha1@hush.com>
+Date: Mon, 19 Aug 2013
+Subject: CVE-2013-4244
+
+* tools/gif2tiff.c: fix possible OOB write (#2452, CVE-2013-4244)
+
+---
+ gif2tiff.c | 4 ++++
+ 1 file changed, 4 insertions(+)
+
+--- a/tools/gif2tiff.c 2013-08-20
++++ b/tools/gif2tiff.c 2013-08-20
+@@ -396,6 +398,10 @@ process(register int code, unsigned char
+ }
+
+ if (oldcode == -1) {
++ if (code >= clear) {
++ fprintf(stderr, "bad input: code=%d is larger than clear=%d\n",code, clear);
++ return 0;
++ }
+ *(*fill)++ = suffix[code];
+ firstchar = oldcode = code;
+ return 1;
diff --git a/patches/source/libwmf/libwmf-0.2.8.4-CVE-2004-0941.patch b/patches/source/libwmf/libwmf-0.2.8.4-CVE-2004-0941.patch
new file mode 100644
index 00000000..581e4e09
--- /dev/null
+++ b/patches/source/libwmf/libwmf-0.2.8.4-CVE-2004-0941.patch
@@ -0,0 +1,17 @@
+--- libwmf-0.2.8.4/src/extra/gd/gd_png.c 2004-11-11 14:02:37.407589824 -0500
++++ libwmf-0.2.8.4/src/extra/gd/gd_png.c 2004-11-11 14:04:29.672522960 -0500
+@@ -188,6 +188,14 @@
+
+ png_get_IHDR (png_ptr, info_ptr, &width, &height, &bit_depth, &color_type,
+ &interlace_type, NULL, NULL);
++ if (overflow2(sizeof (int), width))
++ {
++ return NULL;
++ }
++ if (overflow2(sizeof (int) * width, height))
++ {
++ return NULL;
++ }
+ if ((color_type == PNG_COLOR_TYPE_RGB) ||
+ (color_type == PNG_COLOR_TYPE_RGB_ALPHA))
+ {
diff --git a/patches/source/libwmf/libwmf-0.2.8.4-CVE-2006-3376.patch b/patches/source/libwmf/libwmf-0.2.8.4-CVE-2006-3376.patch
new file mode 100644
index 00000000..507fe662
--- /dev/null
+++ b/patches/source/libwmf/libwmf-0.2.8.4-CVE-2006-3376.patch
@@ -0,0 +1,27 @@
+--- libwmf-0.2.8.4.orig/src/player.c 2002-12-10 19:30:26.000000000 +0000
++++ libwmf-0.2.8.4/src/player.c 2006-07-12 15:12:52.000000000 +0100
+@@ -42,6 +42,7 @@
+ #include "player/defaults.h" /* Provides: default settings */
+ #include "player/record.h" /* Provides: parameter mechanism */
+ #include "player/meta.h" /* Provides: record interpreters */
++#include <stdint.h>
+
+ /**
+ * @internal
+@@ -132,8 +134,14 @@
+ }
+ }
+
+-/* P->Parameters = (unsigned char*) wmf_malloc (API,(MAX_REC_SIZE(API)-3) * 2 * sizeof (unsigned char));
+- */ P->Parameters = (unsigned char*) wmf_malloc (API,(MAX_REC_SIZE(API) ) * 2 * sizeof (unsigned char));
++ if (MAX_REC_SIZE(API) > UINT32_MAX / 2)
++ {
++ API->err = wmf_E_InsMem;
++ WMF_DEBUG (API,"bailing...");
++ return (API->err);
++ }
++
++ P->Parameters = (unsigned char*) wmf_malloc (API,(MAX_REC_SIZE(API) ) * 2 * sizeof (unsigned char));
+
+ if (ERR (API))
+ { WMF_DEBUG (API,"bailing...");
diff --git a/patches/source/libwmf/libwmf-0.2.8.4-CVE-2007-0455.patch b/patches/source/libwmf/libwmf-0.2.8.4-CVE-2007-0455.patch
new file mode 100644
index 00000000..0cc5abc7
--- /dev/null
+++ b/patches/source/libwmf/libwmf-0.2.8.4-CVE-2007-0455.patch
@@ -0,0 +1,11 @@
+--- libwmf-0.2.8.4/src/extra/gd/gdft.c 2010-12-06 11:18:26.000000000 +0000
++++ libwmf-0.2.8.4/src/extra/gd/gdft.c 2010-12-06 11:21:09.000000000 +0000
+@@ -811,7 +811,7 @@
+ {
+ ch = c & 0xFF; /* don't extend sign */
+ }
+- next++;
++ if (*next) next++;
+ }
+ else
+ {
diff --git a/patches/source/libwmf/libwmf-0.2.8.4-CVE-2007-2756.patch b/patches/source/libwmf/libwmf-0.2.8.4-CVE-2007-2756.patch
new file mode 100644
index 00000000..eba8fac2
--- /dev/null
+++ b/patches/source/libwmf/libwmf-0.2.8.4-CVE-2007-2756.patch
@@ -0,0 +1,16 @@
+--- libwmf-0.2.8.4/src/extra/gd/gd_png.c 1 Apr 2007 20:41:01 -0000 1.21.2.1
++++ libwmf-0.2.8.4/src/extra/gd/gd_png.c 16 May 2007 19:06:11 -0000
+@@ -78,8 +78,11 @@
+ gdPngReadData (png_structp png_ptr,
+ png_bytep data, png_size_t length)
+ {
+- gdGetBuf (data, length, (gdIOCtx *)
+- png_get_io_ptr (png_ptr));
++ int check;
++ check = gdGetBuf (data, length, (gdIOCtx *) png_get_io_ptr (png_ptr));
++ if (check != length) {
++ png_error(png_ptr, "Read Error: truncated data");
++ }
+ }
+
+ static void
diff --git a/patches/source/libwmf/libwmf-0.2.8.4-CVE-2007-3472.patch b/patches/source/libwmf/libwmf-0.2.8.4-CVE-2007-3472.patch
new file mode 100644
index 00000000..2cd6d604
--- /dev/null
+++ b/patches/source/libwmf/libwmf-0.2.8.4-CVE-2007-3472.patch
@@ -0,0 +1,61 @@
+--- libwmf-0.2.8.4/src/extra/gd/gd.c
++++ libwmf-0.2.8.4/src/extra/gd/gd.c
+@@ -106,6 +106,18 @@
+ gdImagePtr im;
+ unsigned long cpa_size;
+
++ if (overflow2(sx, sy)) {
++ return NULL;
++ }
++
++ if (overflow2(sizeof (int *), sy)) {
++ return NULL;
++ }
++
++ if (overflow2(sizeof(int), sx)) {
++ return NULL;
++ }
++
+ im = (gdImage *) gdMalloc (sizeof (gdImage));
+ if (im == 0) return 0;
+ memset (im, 0, sizeof (gdImage));
+--- libwmf-0.2.8.4/src/extra/gd/gdhelpers.c 2010-12-06 11:47:31.000000000 +0000
++++ libwmf-0.2.8.4/src/extra/gd/gdhelpers.c 2010-12-06 11:48:04.000000000 +0000
+@@ -2,6 +2,7 @@
+ #include "gdhelpers.h"
+ #include <stdlib.h>
+ #include <string.h>
++#include <limits.h>
+
+ /* TBB: gd_strtok_r is not portable; provide an implementation */
+
+@@ -94,3 +95,18 @@
+ {
+ free (ptr);
+ }
++
++int overflow2(int a, int b)
++{
++ if(a < 0 || b < 0) {
++ fprintf(stderr, "gd warning: one parameter to a memory allocation multiplication is negative, failing operation gracefully\n");
++ return 1;
++ }
++ if(b == 0)
++ return 0;
++ if(a > 2147483647 / b) {
++ fprintf(stderr, "gd warning: product of memory allocation multiplication would exceed INT_MAX, failing operation gracefully\n");
++ return 1;
++ }
++ return 0;
++}
+--- libwmf-0.2.8.4/src/extra/gd/gdhelpers.h 2010-12-06 11:47:17.000000000 +0000
++++ libwmf-0.2.8.4/src/extra/gd/gdhelpers.h 2010-12-06 11:48:36.000000000 +0000
+@@ -15,6 +15,8 @@
+ void *gdMalloc(size_t size);
+ void *gdRealloc(void *ptr, size_t size);
+
++int overflow2(int a, int b);
++
+ #pragma GCC visibility pop
+
+ #endif /* GDHELPERS_H */
diff --git a/patches/source/libwmf/libwmf-0.2.8.4-CVE-2007-3473.patch b/patches/source/libwmf/libwmf-0.2.8.4-CVE-2007-3473.patch
new file mode 100644
index 00000000..59018996
--- /dev/null
+++ b/patches/source/libwmf/libwmf-0.2.8.4-CVE-2007-3473.patch
@@ -0,0 +1,13 @@
+--- libwmf-0.2.8.4/src/extra/gd/gd.c
++++ libwmf-0.2.8.4/src/extra/gd/gd.c
+@@ -2483,6 +2483,10 @@ BGD_DECLARE(gdImagePtr) gdImageCreateFromXbm (FILE * fd)
+ }
+ bytes = (w * h / 8) + 1;
+ im = gdImageCreate (w, h);
++ if (!im) {
++ return 0;
++ }
++
+ gdImageColorAllocate (im, 255, 255, 255);
+ gdImageColorAllocate (im, 0, 0, 0);
+ x = 0;
diff --git a/patches/source/libwmf/libwmf-0.2.8.4-CVE-2007-3477.patch b/patches/source/libwmf/libwmf-0.2.8.4-CVE-2007-3477.patch
new file mode 100644
index 00000000..81ac0385
--- /dev/null
+++ b/patches/source/libwmf/libwmf-0.2.8.4-CVE-2007-3477.patch
@@ -0,0 +1,38 @@
+--- libwmf-0.2.8.4/src/extra/gd/gd.c
++++ libwmf-0.2.8.4/src/extra/gd/gd.c
+@@ -1335,10 +1335,31 @@
+ int w2, h2;
+ w2 = w / 2;
+ h2 = h / 2;
+- while (e < s)
+- {
+- e += 360;
+- }
++
++ if ((s % 360) == (e % 360)) {
++ s = 0; e = 360;
++ } else {
++ if (s > 360) {
++ s = s % 360;
++ }
++
++ if (e > 360) {
++ e = e % 360;
++ }
++
++ while (s < 0) {
++ s += 360;
++ }
++
++ while (e < s) {
++ e += 360;
++ }
++
++ if (s == e) {
++ s = 0; e = 360;
++ }
++ }
++
+ for (i = s; (i <= e); i++)
+ {
+ int x, y;
diff --git a/patches/source/libwmf/libwmf-0.2.8.4-CVE-2009-3546.patch b/patches/source/libwmf/libwmf-0.2.8.4-CVE-2009-3546.patch
new file mode 100644
index 00000000..d718976a
--- /dev/null
+++ b/patches/source/libwmf/libwmf-0.2.8.4-CVE-2009-3546.patch
@@ -0,0 +1,13 @@
+--- libwmf-0.2.8.4/src/extra/gd/gd_gd.c 2010-12-06 14:56:06.000000000 +0000
++++ libwmf-0.2.8.4/src/extra/gd/gd_gd.c 2010-12-06 14:57:04.000000000 +0000
+@@ -42,6 +42,10 @@
+ {
+ goto fail1;
+ }
++ if (&im->colorsTotal > gdMaxColors)
++ {
++ goto fail1;
++ }
+ }
+ /* Int to accommodate truecolor single-color transparency */
+ if (!gdGetInt (&im->transparent, in))
diff --git a/patches/source/libwmf/libwmf-0.2.8.4-CVE-2015-0848+CVE-2015-4588.patch b/patches/source/libwmf/libwmf-0.2.8.4-CVE-2015-0848+CVE-2015-4588.patch
new file mode 100644
index 00000000..e8ba8db1
--- /dev/null
+++ b/patches/source/libwmf/libwmf-0.2.8.4-CVE-2015-0848+CVE-2015-4588.patch
@@ -0,0 +1,118 @@
+--- libwmf-0.2.8.4/src/ipa/ipa/bmp.h 2015-06-08 14:46:24.591876404 +0100
++++ libwmf-0.2.8.4/src/ipa/ipa/bmp.h 2015-06-08 14:46:35.345993247 +0100
+@@ -859,7 +859,7 @@
+ %
+ %
+ */
+-static void DecodeImage (wmfAPI* API,wmfBMP* bmp,BMPSource* src,unsigned int compression,unsigned char* pixels)
++static int DecodeImage (wmfAPI* API,wmfBMP* bmp,BMPSource* src,unsigned int compression,unsigned char* pixels)
+ { int byte;
+ int count;
+ int i;
+@@ -870,12 +870,14 @@
+ U32 u;
+
+ unsigned char* q;
++ unsigned char* end;
+
+ for (u = 0; u < ((U32) bmp->width * (U32) bmp->height); u++) pixels[u] = 0;
+
+ byte = 0;
+ x = 0;
+ q = pixels;
++ end = pixels + bmp->width * bmp->height;
+
+ for (y = 0; y < bmp->height; )
+ { count = ReadBlobByte (src);
+@@ -884,7 +886,10 @@
+ { /* Encoded mode. */
+ byte = ReadBlobByte (src);
+ for (i = 0; i < count; i++)
+- { if (compression == 1)
++ {
++ if (q == end)
++ return 0;
++ if (compression == 1)
+ { (*(q++)) = (unsigned char) byte;
+ }
+ else
+@@ -896,13 +901,15 @@
+ else
+ { /* Escape mode. */
+ count = ReadBlobByte (src);
+- if (count == 0x01) return;
++ if (count == 0x01) return 1;
+ switch (count)
+ {
+ case 0x00:
+ { /* End of line. */
+ x = 0;
+ y++;
++ if (y >= bmp->height)
++ return 0;
+ q = pixels + y * bmp->width;
+ break;
+ }
+@@ -910,13 +917,20 @@
+ { /* Delta mode. */
+ x += ReadBlobByte (src);
+ y += ReadBlobByte (src);
++ if (y >= bmp->height)
++ return 0;
++ if (x >= bmp->width)
++ return 0;
+ q = pixels + y * bmp->width + x;
+ break;
+ }
+ default:
+ { /* Absolute mode. */
+ for (i = 0; i < count; i++)
+- { if (compression == 1)
++ {
++ if (q == end)
++ return 0;
++ if (compression == 1)
+ { (*(q++)) = ReadBlobByte (src);
+ }
+ else
+@@ -943,7 +957,7 @@
+ byte = ReadBlobByte (src); /* end of line */
+ byte = ReadBlobByte (src);
+
+- return;
++ return 1;
+ }
+
+ /*
+@@ -1143,8 +1157,18 @@
+ }
+ }
+ else
+- { /* Convert run-length encoded raster pixels. */
+- DecodeImage (API,bmp,src,(unsigned int) bmp_info.compression,data->image);
++ {
++ if (bmp_info.bits_per_pixel == 8) /* Convert run-length encoded raster pixels. */
++ {
++ if (!DecodeImage (API,bmp,src,(unsigned int) bmp_info.compression,data->image))
++ { WMF_ERROR (API,"corrupt bmp");
++ API->err = wmf_E_BadFormat;
++ }
++ }
++ else
++ { WMF_ERROR (API,"Unexpected pixel depth");
++ API->err = wmf_E_BadFormat;
++ }
+ }
+
+ if (ERR (API))
+--- libwmf-0.2.8.4/src/ipa/ipa.h 2015-06-08 14:46:24.590876393 +0100
++++ libwmf-0.2.8.4/src/ipa/ipa.h 2015-06-08 14:46:35.345993247 +0100
+@@ -48,7 +48,7 @@
+ static unsigned short ReadBlobLSBShort (BMPSource*);
+ static unsigned long ReadBlobLSBLong (BMPSource*);
+ static long TellBlob (BMPSource*);
+-static void DecodeImage (wmfAPI*,wmfBMP*,BMPSource*,unsigned int,unsigned char*);
++static int DecodeImage (wmfAPI*,wmfBMP*,BMPSource*,unsigned int,unsigned char*);
+ static void ReadBMPImage (wmfAPI*,wmfBMP*,BMPSource*);
+ static int ExtractColor (wmfAPI*,wmfBMP*,wmfRGB*,unsigned int,unsigned int);
+ static void SetColor (wmfAPI*,wmfBMP*,wmfRGB*,unsigned char,unsigned int,unsigned int);
diff --git a/patches/source/libwmf/libwmf-0.2.8.4-CVE-2015-4695.patch b/patches/source/libwmf/libwmf-0.2.8.4-CVE-2015-4695.patch
new file mode 100644
index 00000000..b6d499da
--- /dev/null
+++ b/patches/source/libwmf/libwmf-0.2.8.4-CVE-2015-4695.patch
@@ -0,0 +1,56 @@
+--- libwmf-0.2.8.4/src/player/meta.h
++++ libwmf-0.2.8.4/src/player/meta.h
+@@ -1565,7 +1565,7 @@ static int meta_rgn_create (wmfAPI* API,
+ objects = P->objects;
+
+ i = 0;
+- while (objects[i].type && (i < NUM_OBJECTS (API))) i++;
++ while ((i < NUM_OBJECTS (API)) && objects[i].type) i++;
+
+ if (i == NUM_OBJECTS (API))
+ { WMF_ERROR (API,"Object out of range!");
+@@ -2142,7 +2142,7 @@ static int meta_dib_brush (wmfAPI* API,w
+ objects = P->objects;
+
+ i = 0;
+- while (objects[i].type && (i < NUM_OBJECTS (API))) i++;
++ while ((i < NUM_OBJECTS (API)) && objects[i].type) i++;
+
+ if (i == NUM_OBJECTS (API))
+ { WMF_ERROR (API,"Object out of range!");
+@@ -3067,7 +3067,7 @@ static int meta_pen_create (wmfAPI* API,
+ objects = P->objects;
+
+ i = 0;
+- while (objects[i].type && (i < NUM_OBJECTS (API))) i++;
++ while ((i < NUM_OBJECTS (API)) && objects[i].type) i++;
+
+ if (i == NUM_OBJECTS (API))
+ { WMF_ERROR (API,"Object out of range!");
+@@ -3181,7 +3181,7 @@ static int meta_brush_create (wmfAPI* AP
+ objects = P->objects;
+
+ i = 0;
+- while (objects[i].type && (i < NUM_OBJECTS (API))) i++;
++ while ((i < NUM_OBJECTS (API)) && objects[i].type) i++;
+
+ if (i == NUM_OBJECTS (API))
+ { WMF_ERROR (API,"Object out of range!");
+@@ -3288,7 +3288,7 @@ static int meta_font_create (wmfAPI* API
+ objects = P->objects;
+
+ i = 0;
+- while (objects[i].type && (i < NUM_OBJECTS (API))) i++;
++ while ((i < NUM_OBJECTS (API)) && objects[i].type) i++;
+
+ if (i == NUM_OBJECTS (API))
+ { WMF_ERROR (API,"Object out of range!");
+@@ -3396,7 +3396,7 @@ static int meta_palette_create (wmfAPI*
+ objects = P->objects;
+
+ i = 0;
+- while (objects[i].type && (i < NUM_OBJECTS (API))) i++;
++ while ((i < NUM_OBJECTS (API)) && objects[i].type) i++;
+
+ if (i == NUM_OBJECTS (API))
+ { WMF_ERROR (API,"Object out of range!");
diff --git a/patches/source/libwmf/libwmf-0.2.8.4-CVE-2015-4696.patch b/patches/source/libwmf/libwmf-0.2.8.4-CVE-2015-4696.patch
new file mode 100644
index 00000000..33128412
--- /dev/null
+++ b/patches/source/libwmf/libwmf-0.2.8.4-CVE-2015-4696.patch
@@ -0,0 +1,23 @@
+--- libwmf-0.2.8.4/src/player/meta.h
++++ libwmf-0.2.8.4/src/player/meta.h
+@@ -2585,6 +2585,8 @@
+ polyrect.BR[i] = clip->rects[i].BR;
+ }
+
++ if (FR->region_clip) FR->region_clip (API,&polyrect);
++
+ wmf_free (API,polyrect.TL);
+ wmf_free (API,polyrect.BR);
+ }
+@@ -2593,9 +2595,10 @@
+ polyrect.BR = 0;
+
+ polyrect.count = 0;
++
++ if (FR->region_clip) FR->region_clip (API,&polyrect);
+ }
+
+- if (FR->region_clip) FR->region_clip (API,&polyrect);
+
+ return (changed);
+ }
diff --git a/patches/source/libwmf/libwmf-0.2.8.4-CVE-2016-10167.patch b/patches/source/libwmf/libwmf-0.2.8.4-CVE-2016-10167.patch
new file mode 100644
index 00000000..5e281974
--- /dev/null
+++ b/patches/source/libwmf/libwmf-0.2.8.4-CVE-2016-10167.patch
@@ -0,0 +1,30 @@
+--- libwmf-0.2.8.4/src/extra/gd/gd_gd2.c
++++ libwmf-0.2.8.4/src/extra/gd/gd_gd2.c
+@@ -362,10 +362,9 @@
+ {
+ if (!gdGetInt (&im->tpixels[y][x], in))
+ {
+- /*printf("EOF while reading\n"); */
+- /*gdImageDestroy(im); */
+- /*return 0; */
+- im->tpixels[y][x] = 0;
++ fprintf(stderr, "gd2: EOF while reading\n");
++ gdImageDestroy(im);
++ return NULL;
+ }
+ }
+ else
+@@ -373,10 +372,9 @@
+ int ch;
+ if (!gdGetByte (&ch, in))
+ {
+- /*printf("EOF while reading\n"); */
+- /*gdImageDestroy(im); */
+- /*return 0; */
+- ch = 0;
++ fprintf(stderr, "gd2: EOF while reading\n");
++ gdImageDestroy(im);
++ return NULL;
+ }
+ im->pixels[y][x] = ch;
+ }
diff --git a/patches/source/libwmf/libwmf-0.2.8.4-CVE-2016-10168.patch b/patches/source/libwmf/libwmf-0.2.8.4-CVE-2016-10168.patch
new file mode 100644
index 00000000..b1578bb9
--- /dev/null
+++ b/patches/source/libwmf/libwmf-0.2.8.4-CVE-2016-10168.patch
@@ -0,0 +1,14 @@
+--- libwmf-0.2.8.4/src/extra/gd/gd_gd2.c
++++ libwmf-0.2.8.4/src/extra/gd/gd_gd2.c
+@@ -145,6 +145,11 @@
+
+ if ((*fmt) == GD2_FMT_COMPRESSED)
+ {
++ if (*ncx <= 0 || *ncy <= 0 || *ncx > 2147483647 / *ncy) {
++ GD2_DBG(printf ("Illegal chunk counts: %d * %d\n", *ncx, *ncy));
++ goto fail1;
++ }
++
+ nc = (*ncx) * (*ncy);
+ GD2_DBG (printf ("Reading %d chunk index entries\n", nc));
+ sidx = sizeof (t_chunk_info) * nc;
diff --git a/patches/source/libwmf/libwmf-0.2.8.4-CVE-2016-9011.patch b/patches/source/libwmf/libwmf-0.2.8.4-CVE-2016-9011.patch
new file mode 100644
index 00000000..c6bd017c
--- /dev/null
+++ b/patches/source/libwmf/libwmf-0.2.8.4-CVE-2016-9011.patch
@@ -0,0 +1,36 @@
+--- libwmf-0.2.8.4/src/player.c
++++ libwmf-0.2.8.4/src/player.c
+@@ -139,8 +139,31 @@
+ WMF_DEBUG (API,"bailing...");
+ return (API->err);
+ }
+-
+- P->Parameters = (unsigned char*) wmf_malloc (API,(MAX_REC_SIZE(API) ) * 2 * sizeof (unsigned char));
++
++ U32 nMaxRecordSize = (MAX_REC_SIZE(API) ) * 2 * sizeof (unsigned char);
++ if (nMaxRecordSize)
++ {
++ //before allocating memory do a sanity check on size by seeking
++ //to claimed end to see if its possible. We're constrained here
++ //by the api and existing implementations to not simply seeking
++ //to SEEK_END. So use what we have to skip to the last byte and
++ //try and read it.
++ const long nPos = WMF_TELL (API);
++ WMF_SEEK (API, nPos + nMaxRecordSize - 1);
++ if (ERR (API))
++ { WMF_DEBUG (API,"bailing...");
++ return (API->err);
++ }
++ int byte = WMF_READ (API);
++ if (byte == (-1))
++ { WMF_ERROR (API,"Unexpected EOF!");
++ API->err = wmf_E_EOF;
++ return (API->err);
++ }
++ WMF_SEEK (API, nPos);
++ }
++
++ P->Parameters = (unsigned char*) wmf_malloc (API, nMaxRecordSize);
+
+ if (ERR (API))
+ { WMF_DEBUG (API,"bailing...");
diff --git a/patches/source/libwmf/libwmf-0.2.8.4-CVE-2016-9317.patch b/patches/source/libwmf/libwmf-0.2.8.4-CVE-2016-9317.patch
new file mode 100644
index 00000000..cf57734e
--- /dev/null
+++ b/patches/source/libwmf/libwmf-0.2.8.4-CVE-2016-9317.patch
@@ -0,0 +1,21 @@
+--- libwmf-0.2.8.4/src/extra/gd/gd.c
++++ libwmf-0.2.8.4/src/extra/gd/gd.c
+@@ -65,6 +65,18 @@
+ {
+ int i;
+ gdImagePtr im;
++
++ if (overflow2(sx, sy)) {
++ return NULL;
++ }
++
++ if (overflow2(sizeof (unsigned char *), sy)) {
++ return NULL;
++ }
++ if (overflow2(sizeof (unsigned char), sx)) {
++ return NULL;
++ }
++
+ im = (gdImage *) gdMalloc (sizeof (gdImage));
+ memset (im, 0, sizeof (gdImage));
+ /* Row-major ever since gd 1.3 */
diff --git a/patches/source/libwmf/libwmf-0.2.8.4-CVE-2017-6362.patch b/patches/source/libwmf/libwmf-0.2.8.4-CVE-2017-6362.patch
new file mode 100644
index 00000000..2ad180d9
--- /dev/null
+++ b/patches/source/libwmf/libwmf-0.2.8.4-CVE-2017-6362.patch
@@ -0,0 +1,32 @@
+--- libwmf-0.2.8.4/src/extra/gd/gd_png.c
++++ libwmf-0.2.8.4/src/extra/gd/gd_png.c
+@@ -435,17 +435,6 @@
+ out->free (out);
+ }
+
+-void *
+-gdImagePngPtr (gdImagePtr im, int *size)
+-{
+- void *rv;
+- gdIOCtx *out = gdNewDynamicCtx (2048, NULL);
+- gdImagePngCtx (im, out);
+- rv = gdDPExtractData (out, size);
+- out->free (out);
+- return rv;
+-}
+-
+ /* This routine is based in part on code from Dale Lutz (Safe Software Inc.)
+ * and in part on demo code from Chapter 15 of "PNG: The Definitive Guide"
+ * (http://www.cdrom.com/pub/png/pngbook.html).
+--- libwmf-0.2.8.4/src/extra/gd/gd.h
++++ libwmf-0.2.8.4/src/extra/gd/gd.h
+@@ -373,9 +373,6 @@
+ void gdImageGd2(gdImagePtr im, FILE *out, int cs, int fmt);
+
+ /* Best to free this memory with gdFree(), not free() */
+-void* gdImagePngPtr(gdImagePtr im, int *size);
+-
+-/* Best to free this memory with gdFree(), not free() */
+ void* gdImageGdPtr(gdImagePtr im, int *size);
+
+ /* Best to free this memory with gdFree(), not free() */
diff --git a/patches/source/libwmf/libwmf-0.2.8.4-fallbackfont.patch b/patches/source/libwmf/libwmf-0.2.8.4-fallbackfont.patch
new file mode 100644
index 00000000..83383138
--- /dev/null
+++ b/patches/source/libwmf/libwmf-0.2.8.4-fallbackfont.patch
@@ -0,0 +1,18 @@
+diff -ru libwmf-0.2.8.4.orig/src/font.c libwmf-0.2.8.4/src/font.c
+--- libwmf-0.2.8.4.orig/src/font.c 2005-07-27 21:35:06.000000000 +0100
++++ libwmf-0.2.8.4/src/font.c 2006-01-03 12:53:38.000000000 +0000
+@@ -1429,11 +1429,9 @@
+ if (GS->len == 0) return (0);
+
+ name = font->lfFaceName;
+- if (name == 0)
+- { WMF_DEBUG (API,"No font name?");
+- API->err = wmf_E_Glitch;
+- return (0);
+- }
++
++ if (name == 0 || name[0] == 0)
++ name = "Times";
+
+ /* Find first white-space character or eol
+ */
diff --git a/patches/source/libwmf/libwmf-0.2.8.4-pixbufloaderdir.patch b/patches/source/libwmf/libwmf-0.2.8.4-pixbufloaderdir.patch
new file mode 100644
index 00000000..a0357858
--- /dev/null
+++ b/patches/source/libwmf/libwmf-0.2.8.4-pixbufloaderdir.patch
@@ -0,0 +1,14 @@
+diff -up libwmf-0.2.8.4/configure.in.pixbufloaderdir libwmf-0.2.8.4/configure.in
+--- libwmf-0.2.8.4/configure.in.pixbufloaderdir 2010-06-28 23:35:06.227167269 -0400
++++ libwmf-0.2.8.4/configure.in 2010-06-28 23:36:00.948420306 -0400
+@@ -741,8 +741,8 @@
+
+ if test $LIBWMF_BUILDSTYLE != lite; then
+ PKG_CHECK_MODULES(GDK_PIXBUF,gdk-pixbuf-2.0 >= 2.1.2,[
+- GTK_VERSION=`$PKG_CONFIG --variable=gtk_binary_version gtk+-2.0`
+- GDK_PIXBUF_DIR="gtk-2.0/$GTK_VERSION/loaders"
++ GDK_PIXBUF_VERSION=`$PKG_CONFIG --variable=gdk_pixbuf_binary_version gdk-pixbuf-2.0`
++ GDK_PIXBUF_DIR="gdk-pixbuf-2.0/$GDK_PIXBUF_VERSION/loaders"
+ wmf_gdk_pixbuf=yes
+ ],[ wmf_gdk_pixbuf=no
+ ])
diff --git a/patches/source/libwmf/libwmf-0.2.8.4-reducesymbols.patch b/patches/source/libwmf/libwmf-0.2.8.4-reducesymbols.patch
new file mode 100644
index 00000000..45d82b32
--- /dev/null
+++ b/patches/source/libwmf/libwmf-0.2.8.4-reducesymbols.patch
@@ -0,0 +1,520 @@
+diff -ru libwmf-0.2.8.4/src/extra/gd/gd.c libwmf-0.2.8.4.symbols/src/extra/gd/gd.c
+--- libwmf-0.2.8.4/src/extra/gd/gd.c 2005-07-27 21:35:05.000000000 +0100
++++ libwmf-0.2.8.4.symbols/src/extra/gd/gd.c 2006-11-16 12:27:05.000000000 +0000
+@@ -249,6 +249,7 @@
+ }
+ HWBType;
+
++#if 0
+ static HWBType *
+ RGB_to_HWB (RGBType RGB, HWBType * HWB)
+ {
+@@ -308,7 +309,6 @@
+ return diff;
+ }
+
+-#if 0
+ /*
+ * This is not actually used, but is here for completeness, in case someone wants to
+ * use the HWB stuff for anything else...
+@@ -355,6 +355,7 @@
+ }
+ #endif
+
++#if 0
+ int
+ gdImageColorClosestHWB (gdImagePtr im, int r, int g, int b)
+ {
+@@ -384,6 +385,7 @@
+ }
+ return ct;
+ }
++#endif
+
+ int
+ gdImageColorExact (gdImagePtr im, int r, int g, int b)
+@@ -677,7 +679,7 @@
+ }
+ }
+
+-int
++static int
+ gdImageGetTrueColorPixel (gdImagePtr im, int x, int y)
+ {
+ int p = gdImageGetPixel (im, x, y);
+@@ -1286,11 +1288,11 @@
+ return len;
+ }
+
+-#ifndef HAVE_LSQRT
++#if 0
+ /* If you don't have a nice square root function for longs, you can use
+ ** this hack
+ */
+-long
++static long
+ lsqrt (long n)
+ {
+ long result = (long) sqrt ((double) n);
+@@ -2250,7 +2252,7 @@
+ }
+ }
+
+-int gdCompareInt (const void *a, const void *b);
++static int gdCompareInt (const void *a, const void *b);
+
+ /* THANKS to Kirsten Schulz for the polygon fixes! */
+
+diff -ru libwmf-0.2.8.4/src/extra/gd/gdcache.h libwmf-0.2.8.4.symbols/src/extra/gd/gdcache.h
+--- libwmf-0.2.8.4/src/extra/gd/gdcache.h 2001-08-21 15:40:33.000000000 +0100
++++ libwmf-0.2.8.4.symbols/src/extra/gd/gdcache.h 2006-11-16 12:13:40.000000000 +0000
+@@ -41,6 +41,9 @@
+ /*********************************************************/
+
+ /* #include <malloc.h> */
++
++#pragma GCC visibility push(hidden)
++
+ #ifndef NULL
+ #define NULL (void *)0
+ #endif
+@@ -81,3 +84,5 @@
+
+ void *
+ gdCacheGet( gdCache_head_t *head, void *keydata );
++
++#pragma GCC visibility pop
+diff -ru libwmf-0.2.8.4/src/extra/gd/gd_clip.h libwmf-0.2.8.4.symbols/src/extra/gd/gd_clip.h
+--- libwmf-0.2.8.4/src/extra/gd/gd_clip.h 2001-03-28 10:37:30.000000000 +0100
++++ libwmf-0.2.8.4.symbols/src/extra/gd/gd_clip.h 2006-11-16 12:11:49.000000000 +0000
+@@ -1,6 +1,8 @@
+ #ifndef GD_CLIP_H
+ #define GD_CLIP_H 1
+
++#pragma GCC visibility push(hidden)
++
+ #ifdef __cplusplus
+ extern "C" {
+ #endif
+@@ -23,4 +25,6 @@
+ }
+ #endif
+
++#pragma GCC visibility pop
++
+ #endif /* GD_CLIP_H */
+diff -ru libwmf-0.2.8.4/src/extra/gd/gdfontg.h libwmf-0.2.8.4.symbols/src/extra/gd/gdfontg.h
+--- libwmf-0.2.8.4/src/extra/gd/gdfontg.h 2001-03-28 10:37:30.000000000 +0100
++++ libwmf-0.2.8.4.symbols/src/extra/gd/gdfontg.h 2006-11-16 12:12:03.000000000 +0000
+@@ -2,6 +2,8 @@
+ #ifndef _GDFONTG_H_
+ #define _GDFONTG_H_ 1
+
++#pragma GCC visibility push(hidden)
++
+ #ifdef __cplusplus
+ extern "C" {
+ #endif
+@@ -25,5 +27,7 @@
+ }
+ #endif
+
++#pragma GCC visibility pop
++
+ #endif
+
+diff -ru libwmf-0.2.8.4/src/extra/gd/gdfontl.h libwmf-0.2.8.4.symbols/src/extra/gd/gdfontl.h
+--- libwmf-0.2.8.4/src/extra/gd/gdfontl.h 2001-03-28 10:37:30.000000000 +0100
++++ libwmf-0.2.8.4.symbols/src/extra/gd/gdfontl.h 2006-11-16 12:12:11.000000000 +0000
+@@ -2,6 +2,8 @@
+ #ifndef _GDFONTL_H_
+ #define _GDFONTL_H_ 1
+
++#pragma GCC visibility push(hidden)
++
+ #ifdef __cplusplus
+ extern "C" {
+ #endif
+@@ -26,5 +28,7 @@
+ }
+ #endif
+
++#pragma GCC visibility pop
++
+ #endif
+
+diff -ru libwmf-0.2.8.4/src/extra/gd/gdfontmb.h libwmf-0.2.8.4.symbols/src/extra/gd/gdfontmb.h
+--- libwmf-0.2.8.4/src/extra/gd/gdfontmb.h 2001-03-28 10:37:30.000000000 +0100
++++ libwmf-0.2.8.4.symbols/src/extra/gd/gdfontmb.h 2006-11-16 12:12:19.000000000 +0000
+@@ -2,6 +2,8 @@
+ #ifndef _GDFONTMB_H_
+ #define _GDFONTMB_H_ 1
+
++#pragma GCC visibility push(hidden)
++
+ #ifdef __cplusplus
+ extern "C" {
+ #endif
+@@ -24,5 +26,7 @@
+ }
+ #endif
+
++#pragma GCC visibility pop
++
+ #endif
+
+diff -ru libwmf-0.2.8.4/src/extra/gd/gdfonts.h libwmf-0.2.8.4.symbols/src/extra/gd/gdfonts.h
+--- libwmf-0.2.8.4/src/extra/gd/gdfonts.h 2001-03-28 10:37:30.000000000 +0100
++++ libwmf-0.2.8.4.symbols/src/extra/gd/gdfonts.h 2006-11-16 12:12:28.000000000 +0000
+@@ -2,6 +2,8 @@
+ #ifndef _GDFONTS_H_
+ #define _GDFONTS_H_ 1
+
++#pragma GCC visibility push(hidden)
++
+ #ifdef __cplusplus
+ extern "C" {
+ #endif
+@@ -24,5 +26,7 @@
+ }
+ #endif
+
++#pragma GCC visibility pop
++
+ #endif
+
+diff -ru libwmf-0.2.8.4/src/extra/gd/gdfontt.h libwmf-0.2.8.4.symbols/src/extra/gd/gdfontt.h
+--- libwmf-0.2.8.4/src/extra/gd/gdfontt.h 2001-03-28 10:37:30.000000000 +0100
++++ libwmf-0.2.8.4.symbols/src/extra/gd/gdfontt.h 2006-11-16 12:12:36.000000000 +0000
+@@ -2,6 +2,8 @@
+ #ifndef _GDFONTT_H_
+ #define _GDFONTT_H_ 1
+
++#pragma GCC visibility push(hidden)
++
+ #ifdef __cplusplus
+ extern "C" {
+ #endif
+@@ -25,5 +27,7 @@
+ }
+ #endif
+
++#pragma GCC visibility pop
++
+ #endif
+
+diff -ru libwmf-0.2.8.4/src/extra/gd/gdft.c libwmf-0.2.8.4.symbols/src/extra/gd/gdft.c
+--- libwmf-0.2.8.4/src/extra/gd/gdft.c 2005-07-27 21:35:05.000000000 +0100
++++ libwmf-0.2.8.4.symbols/src/extra/gd/gdft.c 2006-11-16 12:24:50.000000000 +0000
+@@ -533,7 +533,7 @@
+ }
+
+ /* draw_bitmap - transfers glyph bitmap to GD image */
+-/* static */ char *
++static char *
+ gdft_draw_bitmap (gdImage * im, int fg, FT_Bitmap bitmap, int pen_x, int pen_y)
+ {
+ unsigned char *pixel = 0;
+@@ -643,7 +643,7 @@
+ return (char *) NULL;
+ }
+
+-int
++static int
+ gdroundupdown (FT_F26Dot6 v1, int updown)
+ {
+ return (!updown)
+@@ -651,7 +651,9 @@
+ : (v1 > 0 ? ((v1 + 63) >> 6) : v1 >> 6);
+ }
+
++#pragma GCC visibility push(hidden)
+ extern int any2eucjp (char *, char *, unsigned int);
++#pragma GCC visibility pop
+
+ /********************************************************************/
+ /* gdImageStringFT - render a utf8 string onto a gd image */
+diff -ru libwmf-0.2.8.4/src/extra/gd/gd_gd2.c libwmf-0.2.8.4.symbols/src/extra/gd/gd_gd2.c
+--- libwmf-0.2.8.4/src/extra/gd/gd_gd2.c 2005-07-27 21:35:05.000000000 +0100
++++ libwmf-0.2.8.4.symbols/src/extra/gd/gd_gd2.c 2006-11-16 12:21:28.000000000 +0000
+@@ -34,8 +34,10 @@
+ }
+ t_chunk_info;
+
++#pragma GCC visibility push(hidden)
+ extern int _gdGetColors (gdIOCtx * in, gdImagePtr im, int gd2xFlag);
+ extern void _gdPutColors (gdImagePtr im, gdIOCtx * out);
++#pragma GCC visibility pop
+
+ /* */
+ /* Read the extra info in the gd2 header. */
+diff -ru libwmf-0.2.8.4/src/extra/gd/gd_gd.c libwmf-0.2.8.4.symbols/src/extra/gd/gd_gd.c
+--- libwmf-0.2.8.4/src/extra/gd/gd_gd.c 2005-07-27 21:35:05.000000000 +0100
++++ libwmf-0.2.8.4.symbols/src/extra/gd/gd_gd.c 2006-11-16 12:21:43.000000000 +0000
+@@ -11,6 +11,11 @@
+ /* Exported functions: */
+ extern void gdImageGd (gdImagePtr im, FILE * out);
+
++#pragma GCC visibility push(hidden)
++int _gdGetColors (gdIOCtx * in, gdImagePtr im, int gd2xFlag);
++void _gdPutColors (gdImagePtr im, gdIOCtx * out);
++#pragma GCC visibility pop
++
+
+ /* Use this for commenting out debug-print statements. */
+ /* Just use the first '#define' to allow all the prints... */
+diff -ru libwmf-0.2.8.4/src/extra/gd/gd.h libwmf-0.2.8.4.symbols/src/extra/gd/gd.h
+--- libwmf-0.2.8.4/src/extra/gd/gd.h 2002-12-05 20:09:11.000000000 +0000
++++ libwmf-0.2.8.4.symbols/src/extra/gd/gd.h 2006-11-16 12:14:11.000000000 +0000
+@@ -25,6 +25,8 @@
+ #include <gd_io.h>
+ #include <gd_clip.h>
+
++#pragma GCC visibility push(hidden)
++
+ /* The maximum number of palette entries in palette-based images.
+ In the wonderful new world of gd 2.0, you can of course have
+ many more colors when using truecolor mode. */
+@@ -497,6 +499,8 @@
+ /* resolution affects ttf font rendering, particularly hinting */
+ #define GD_RESOLUTION 96 /* pixels per inch */
+
++#pragma GCC visibility pop
++
+ #ifdef __cplusplus
+ }
+ #endif
+diff -ru libwmf-0.2.8.4/src/extra/gd/gdhelpers.h libwmf-0.2.8.4.symbols/src/extra/gd/gdhelpers.h
+--- libwmf-0.2.8.4/src/extra/gd/gdhelpers.h 2001-03-28 10:37:31.000000000 +0100
++++ libwmf-0.2.8.4.symbols/src/extra/gd/gdhelpers.h 2006-11-16 12:12:55.000000000 +0000
+@@ -1,6 +1,8 @@
+ #ifndef GDHELPERS_H
+ #define GDHELPERS_H 1
+
++#pragma GCC visibility push(hidden)
++
+ /* TBB: strtok_r is not universal; provide an implementation of it. */
+
+ extern char *gd_strtok_r(char *s, char *sep, char **state);
+@@ -13,5 +15,7 @@
+ void *gdMalloc(size_t size);
+ void *gdRealloc(void *ptr, size_t size);
+
++#pragma GCC visibility pop
++
+ #endif /* GDHELPERS_H */
+
+diff -ru libwmf-0.2.8.4/src/extra/gd/gd_io.h libwmf-0.2.8.4.symbols/src/extra/gd/gd_io.h
+--- libwmf-0.2.8.4/src/extra/gd/gd_io.h 2001-03-28 10:37:30.000000000 +0100
++++ libwmf-0.2.8.4.symbols/src/extra/gd/gd_io.h 2006-11-16 12:13:08.000000000 +0000
+@@ -2,6 +2,8 @@
+ #define GD_IO_H 1
+
+ #include <stdio.h>
++
++#pragma GCC visibility push(hidden)
+
+ typedef struct gdIOCtx {
+ int (*getC)(struct gdIOCtx*);
+@@ -36,4 +38,6 @@
+ int gdSeek(gdIOCtx *ctx, const int);
+ long gdTell(gdIOCtx *ctx);
+
++#pragma GCC visibility pop
++
+ #endif
+diff -ru libwmf-0.2.8.4/src/extra/gd/gd_jpeg.c libwmf-0.2.8.4.symbols/src/extra/gd/gd_jpeg.c
+--- libwmf-0.2.8.4/src/extra/gd/gd_jpeg.c 2005-07-27 21:35:06.000000000 +0100
++++ libwmf-0.2.8.4.symbols/src/extra/gd/gd_jpeg.c 2006-11-16 12:28:13.000000000 +0000
+@@ -99,7 +99,7 @@
+ return rv;
+ }
+
+-void jpeg_gdIOCtx_dest (j_compress_ptr cinfo, gdIOCtx * outfile);
++static void jpeg_gdIOCtx_dest (j_compress_ptr cinfo, gdIOCtx * outfile);
+
+ void
+ gdImageJpegCtx (gdImagePtr im, gdIOCtx * outfile, int quality)
+@@ -266,7 +266,7 @@
+ return im;
+ }
+
+-void
++static void
+ jpeg_gdIOCtx_src (j_decompress_ptr cinfo,
+ gdIOCtx * infile);
+
+@@ -511,7 +511,7 @@
+ * before any data is actually read.
+ */
+
+-void
++static void
+ init_source (j_decompress_ptr cinfo)
+ {
+ my_src_ptr src = (my_src_ptr) cinfo->src;
+@@ -559,7 +559,7 @@
+
+ #define END_JPEG_SEQUENCE "\r\n[*]--:END JPEG:--[*]\r\n"
+
+-safeboolean
++static safeboolean
+ fill_input_buffer (j_decompress_ptr cinfo)
+ {
+ my_src_ptr src = (my_src_ptr) cinfo->src;
+@@ -627,7 +627,7 @@
+ * buffer is the application writer's problem.
+ */
+
+-void
++static void
+ skip_input_data (j_decompress_ptr cinfo, long num_bytes)
+ {
+ my_src_ptr src = (my_src_ptr) cinfo->src;
+@@ -669,7 +669,7 @@
+ * for error exit.
+ */
+
+-void
++static void
+ term_source (j_decompress_ptr cinfo)
+ {
+
+@@ -742,7 +742,7 @@
+ * before any data is actually written.
+ */
+
+-void
++static void
+ init_destination (j_compress_ptr cinfo)
+ {
+ my_dest_ptr dest = (my_dest_ptr) cinfo->dest;
+@@ -780,7 +780,7 @@
+ * write it out when emptying the buffer externally.
+ */
+
+-safeboolean
++static safeboolean
+ empty_output_buffer (j_compress_ptr cinfo)
+ {
+ my_dest_ptr dest = (my_dest_ptr) cinfo->dest;
+@@ -805,7 +805,7 @@
+ * for error exit.
+ */
+
+-void
++static void
+ term_destination (j_compress_ptr cinfo)
+ {
+ my_dest_ptr dest = (my_dest_ptr) cinfo->dest;
+diff -ru libwmf-0.2.8.4/src/extra/gd/gdkanji.c libwmf-0.2.8.4.symbols/src/extra/gd/gdkanji.c
+--- libwmf-0.2.8.4/src/extra/gd/gdkanji.c 2001-05-19 14:09:34.000000000 +0100
++++ libwmf-0.2.8.4.symbols/src/extra/gd/gdkanji.c 2006-11-16 12:29:42.000000000 +0000
+@@ -555,6 +555,11 @@
+ return kanji;
+ }
+
++#pragma GCC visibility push(hidden)
++int
++any2eucjp (unsigned char *dest, unsigned char *src, unsigned int dest_max);
++#pragma GCC visibility pop
++
+ int
+ any2eucjp (unsigned char *dest, unsigned char *src, unsigned int dest_max)
+ {
+diff -ru libwmf-0.2.8.4/src/extra/gd/gd_topal.c libwmf-0.2.8.4.symbols/src/extra/gd/gd_topal.c
+--- libwmf-0.2.8.4/src/extra/gd/gd_topal.c 2005-07-27 21:35:06.000000000 +0100
++++ libwmf-0.2.8.4.symbols/src/extra/gd/gd_topal.c 2006-11-16 12:25:45.000000000 +0000
+@@ -1129,7 +1129,7 @@
+ * Map some rows of pixels to the output colormapped representation.
+ */
+
+-void
++static void
+ pass2_no_dither (gdImagePtr im, my_cquantize_ptr cquantize)
+ /* This version performs no dithering */
+ {
+@@ -1217,7 +1217,7 @@
+ #endif
+
+
+-void
++static void
+ pass2_fs_dither (gdImagePtr im, my_cquantize_ptr cquantize)
+
+ /* This version performs Floyd-Steinberg dithering */
+diff -ru libwmf-0.2.8.4/src/extra/gd/gd_wbmp.c libwmf-0.2.8.4.symbols/src/extra/gd/gd_wbmp.c
+--- libwmf-0.2.8.4/src/extra/gd/gd_wbmp.c 2001-05-19 14:09:34.000000000 +0100
++++ libwmf-0.2.8.4.symbols/src/extra/gd/gd_wbmp.c 2006-11-16 12:28:33.000000000 +0000
+@@ -67,7 +67,7 @@
+ ** Wrapper around gdPutC for use with writewbmp
+ **
+ */
+-void
++static void
+ gd_putout (int i, void *out)
+ {
+ gdPutC (i, (gdIOCtx *) out);
+@@ -79,7 +79,7 @@
+ ** Wrapper around gdGetC for use with readwbmp
+ **
+ */
+-int
++static int
+ gd_getin (void *in)
+ {
+ return (gdGetC ((gdIOCtx *) in));
+diff -ru libwmf-0.2.8.4/src/extra/gd/gdxpm.c libwmf-0.2.8.4.symbols/src/extra/gd/gdxpm.c
+--- libwmf-0.2.8.4/src/extra/gd/gdxpm.c 2001-05-19 14:09:34.000000000 +0100
++++ libwmf-0.2.8.4.symbols/src/extra/gd/gdxpm.c 2006-11-16 12:18:29.000000000 +0000
+@@ -10,6 +10,7 @@
+ #include "gd.h"
+ #include "gdhelpers.h"
+
++#if 0
+ #ifndef HAVE_XPM
+ gdImagePtr
+ gdImageCreateFromXpm (char *filename)
+@@ -146,3 +147,4 @@
+ return (im);
+ }
+ #endif
++#endif
+diff -ru libwmf-0.2.8.4/src/extra/gd/jisx0208.h libwmf-0.2.8.4.symbols/src/extra/gd/jisx0208.h
+--- libwmf-0.2.8.4/src/extra/gd/jisx0208.h 2001-03-28 10:37:35.000000000 +0100
++++ libwmf-0.2.8.4.symbols/src/extra/gd/jisx0208.h 2006-11-16 12:13:19.000000000 +0000
+@@ -1,5 +1,8 @@
+ #ifndef JISX0208_H
+ #define JISX0208_H
++
++#pragma GCC visibility push(hidden)
++
+ /* This file was derived from "src/VF_Ftype.c" in VFlib2-2.24.2
+ by Dr. Kakugawa */
+
+@@ -1202,4 +1205,6 @@
+ 0x2170, 0x2171, 0x2172, 0x2173, 0x2174, 0x2175, 0x2176, 0x2177,
+ 0x2178, 0x2179, 0xFFE2, 0xFFE4, 0xFF07, 0xFF02}};
+
++#pragma GCC visibility pop
++
+ #endif /* JISX0208_H */
+diff -ru libwmf-0.2.8.4/src/extra/gd/wbmp.h libwmf-0.2.8.4.symbols/src/extra/gd/wbmp.h
+--- libwmf-0.2.8.4/src/extra/gd/wbmp.h 2001-03-28 10:37:37.000000000 +0100
++++ libwmf-0.2.8.4.symbols/src/extra/gd/wbmp.h 2006-11-16 12:14:19.000000000 +0000
+@@ -12,6 +12,8 @@
+ #ifndef __WBMP_H
+ #define __WBMP_H 1
+
++#pragma GCC visibility push(hidden)
++
+
+ /* WBMP struct
+ ** -----------
+@@ -44,4 +46,6 @@
+ void freewbmp( Wbmp *wbmp );
+ void printwbmp( Wbmp *wbmp );
+
++#pragma GCC visibility pop
++
+ #endif
diff --git a/patches/source/libwmf/libwmf-0.2.8.4-useafterfree.patch b/patches/source/libwmf/libwmf-0.2.8.4-useafterfree.patch
new file mode 100644
index 00000000..328c5411
--- /dev/null
+++ b/patches/source/libwmf/libwmf-0.2.8.4-useafterfree.patch
@@ -0,0 +1,10 @@
+--- libwmf-0.2.8.4/src/extra/gd/gd_clip.c.CVE-2009-1364-im-clip-list 2009-04-24 04:06:44.000000000 -0400
++++ libwmf-0.2.8.4/src/extra/gd/gd_clip.c 2009-04-24 04:08:30.000000000 -0400
+@@ -70,6 +70,7 @@ void gdClipSetAdd(gdImagePtr im,gdClipRe
+ { more = gdRealloc (im->clip->list,(im->clip->max + 8) * sizeof (gdClipRectangle));
+ if (more == 0) return;
+ im->clip->max += 8;
++ im->clip->list = more;
+ }
+ im->clip->list[im->clip->count] = (*rect);
+ im->clip->count++;
diff --git a/patches/source/libwmf/libwmf.SlackBuild b/patches/source/libwmf/libwmf.SlackBuild
new file mode 100755
index 00000000..0425ebb6
--- /dev/null
+++ b/patches/source/libwmf/libwmf.SlackBuild
@@ -0,0 +1,142 @@
+#!/bin/bash
+
+# Copyright 2008, 2009, 2010, 2018 Patrick J. Volkerding, Sebeka, Minnesota, USA
+# All rights reserved.
+#
+# Redistribution and use of this script, with or without modification, is
+# permitted provided that the following conditions are met:
+#
+# 1. Redistributions of this script must retain the above copyright
+# notice, this list of conditions and the following disclaimer.
+#
+# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED
+# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
+# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
+# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+cd $(dirname $0) ; CWD=$(pwd)
+
+PKGNAM=libwmf
+VERSION=0.2.8.4
+BUILD=${BUILD:-5_slack13.0}
+
+# Automatically determine the architecture we're building on:
+if [ -z "$ARCH" ]; then
+ case "$( uname -m )" in
+ i?86) export ARCH=i486 ;;
+ arm*) export ARCH=arm ;;
+ # Unless $ARCH is already set, use uname -m for all other archs:
+ *) export ARCH=$( uname -m ) ;;
+ esac
+fi
+
+# If the variable PRINT_PACKAGE_NAME is set, then this script will report what
+# the name of the created package would be, and then exit. This information
+# could be useful to other scripts.
+if [ ! -z "${PRINT_PACKAGE_NAME}" ]; then
+ echo "$PKGNAM-$VERSION-$ARCH-$BUILD.txz"
+ exit 0
+fi
+
+if [ "$ARCH" = "i486" ]; then
+ SLKCFLAGS="-O2 -march=i486 -mtune=i686"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "s390" ]; then
+ SLKCFLAGS="-O2"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "x86_64" ]; then
+ SLKCFLAGS="-O2 -fPIC"
+ LIBDIRSUFFIX="64"
+else
+ SLKCFLAGS="-O2"
+ LIBDIRSUFFIX=""
+fi
+
+NUMJOBS=${NUMJOBS:-" -j7 "}
+TMP=${TMP:-/tmp}
+
+PKG=$TMP/package-libwmf
+
+rm -rf $PKG
+mkdir -p $PKG
+
+cd $TMP
+rm -rf libwmf-$VERSION
+tar xvf $CWD/libwmf-$VERSION.tar.?z* || exit 1
+cd libwmf-$VERSION || exit 1
+
+zcat $CWD/libwmf.png14.diff.gz | patch -p1 --verbose || exit 1
+
+chown -R root:root .
+find . \
+ \( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \
+ -exec chmod 755 {} \; -o \
+ \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \
+ -exec chmod 644 {} \;
+
+# Miscellaneous patches from Fedora:
+zcat $CWD/libwmf-0.2.8.4-fallbackfont.patch.gz | patch -p1 --verbose || exit 1
+zcat $CWD/libwmf-0.2.8.4-pixbufloaderdir.patch.gz | patch -p1 --verbose || exit 1
+
+# Don't export the modified embedded GD library symbols, to avoid conflicts with
+# the system libgd:
+zcat $CWD/libwmf-0.2.8.4-reducesymbols.patch.gz | patch -p1 --verbose || exit 1
+
+# Patch security issues:
+zcat $CWD/libwmf-0.2.8.4-useafterfree.patch.gz | patch -p1 --verbose || exit 1
+zcat $CWD/libwmf-0.2.8.4-CVE-2006-3376.patch.gz | patch -p1 --verbose || exit 1
+zcat $CWD/libwmf-0.2.8.4-CVE-2004-0941.patch.gz | patch -p1 --verbose || exit 1
+zcat $CWD/libwmf-0.2.8.4-CVE-2007-0455.patch.gz | patch -p1 --verbose || exit 1
+zcat $CWD/libwmf-0.2.8.4-CVE-2007-2756.patch.gz | patch -p1 --verbose || exit 1
+zcat $CWD/libwmf-0.2.8.4-CVE-2007-3472.patch.gz | patch -p1 --verbose || exit 1
+zcat $CWD/libwmf-0.2.8.4-CVE-2007-3473.patch.gz | patch -p1 --verbose || exit 1
+zcat $CWD/libwmf-0.2.8.4-CVE-2007-3477.patch.gz | patch -p1 --verbose || exit 1
+zcat $CWD/libwmf-0.2.8.4-CVE-2009-3546.patch.gz | patch -p1 --verbose || exit 1
+zcat $CWD/libwmf-0.2.8.4-CVE-2015-0848+CVE-2015-4588.patch.gz | patch -p1 --verbose || exit 1
+zcat $CWD/libwmf-0.2.8.4-CVE-2015-4695.patch.gz | patch -p1 --verbose || exit 1
+zcat $CWD/libwmf-0.2.8.4-CVE-2015-4696.patch.gz | patch -p1 --verbose || exit 1
+zcat $CWD/libwmf-0.2.8.4-CVE-2016-10167.patch.gz | patch -p1 --verbose || exit 1
+zcat $CWD/libwmf-0.2.8.4-CVE-2016-10168.patch.gz | patch -p1 --verbose || exit 1
+zcat $CWD/libwmf-0.2.8.4-CVE-2016-9011.patch.gz | patch -p1 --verbose || exit 1
+zcat $CWD/libwmf-0.2.8.4-CVE-2016-9317.patch.gz | patch -p1 --verbose || exit 1
+zcat $CWD/libwmf-0.2.8.4-CVE-2017-6362.patch.gz | patch -p1 --verbose || exit 1
+
+CFLAGS="$SLKCFLAGS" \
+./configure \
+ --prefix=/usr \
+ --libdir=/usr/lib${LIBDIRSUFFIX} \
+ --enable-static=no \
+ --build=$ARCH-slackware-linux || exit 1
+
+make $NUMJOBS || make || exit 1
+make install DESTDIR=$PKG || exit 1
+
+find $PKG | xargs file | grep -e "executable" -e "shared object" | grep ELF \
+ | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
+
+mkdir -p $PKG/usr/doc
+mv $PKG/usr/share/doc/libwmf $PKG/usr/doc/libwmf-$VERSION
+rmdir $PKG/usr/share/doc
+cp -a \
+ AUTHORS BUILDING COPYING CREDITS NEWS README TODO \
+ $PKG/usr/doc/libwmf-$VERSION
+
+# If there's a ChangeLog, installing at least part of the recent history
+# is useful, but don't let it get totally out of control:
+if [ -r ChangeLog ]; then
+ DOCSDIR=$(echo $PKG/usr/doc/*-$VERSION)
+ cat ChangeLog | head -n 1000 > $DOCSDIR/ChangeLog
+ touch -r ChangeLog $DOCSDIR/ChangeLog
+fi
+
+mkdir -p $PKG/install
+cat $CWD/slack-desc > $PKG/install/slack-desc
+
+cd $PKG
+/sbin/makepkg -l y -c n $TMP/libwmf-$VERSION-$ARCH-$BUILD.txz
diff --git a/patches/source/libwmf/libwmf.png14.diff b/patches/source/libwmf/libwmf.png14.diff
new file mode 100644
index 00000000..c55b143c
--- /dev/null
+++ b/patches/source/libwmf/libwmf.png14.diff
@@ -0,0 +1,11 @@
+--- ./src/extra/gd/gd_png.c.orig 2005-07-27 15:35:06.000000000 -0500
++++ ./src/extra/gd/gd_png.c 2010-02-14 18:24:19.000000000 -0600
+@@ -136,7 +136,7 @@
+ /* first do a quick check that the file really is a PNG image; could
+ * have used slightly more general png_sig_cmp() function instead */
+ gdGetBuf (sig, 8, infile);
+- if (!png_check_sig (sig, 8))
++ if (!(png_sig_cmp(sig, 0, 8) == 0))
+ return NULL; /* bad signature */
+
+ #ifndef PNG_SETJMP_NOT_SUPPORTED
diff --git a/patches/source/libwmf/slack-desc b/patches/source/libwmf/slack-desc
new file mode 100644
index 00000000..19f99a7d
--- /dev/null
+++ b/patches/source/libwmf/slack-desc
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|' on
+# the right side marks the last column you can put a character in. You must make
+# exactly 11 lines for the formatting to be correct. It's also customary to
+# leave one space after the ':'.
+
+ |-----handy-ruler------------------------------------------------------|
+libwmf: libwmf (WMF graphics format library)
+libwmf:
+libwmf: libwmf is a library for interpreting metafile images and either
+libwmf: displaying them using X or converting them to standard formats such
+libwmf: as PNG, JPEG, PS, EPS and SVG.
+libwmf:
+libwmf:
+libwmf:
+libwmf:
+libwmf:
+libwmf:
diff --git a/patches/source/libxcb/arch.use.flags b/patches/source/libxcb/arch.use.flags
new file mode 100644
index 00000000..11087c88
--- /dev/null
+++ b/patches/source/libxcb/arch.use.flags
@@ -0,0 +1,9 @@
+if [ "$ARCH" = "i486" ]; then
+ SLKCFLAGS="-O2 -march=i486 -mtune=i686"
+elif [ "$ARCH" = "i586" ]; then
+ SLKCFLAGS="-O2 -march=i586 -mtune=i686"
+elif [ "$ARCH" = "s390" ]; then
+ SLKCFLAGS="-O2"
+elif [ "$ARCH" = "x86_64" ]; then
+ SLKCFLAGS="-O2 -fPIC"
+fi
diff --git a/patches/source/libxcb/build/libxcb b/patches/source/libxcb/build/libxcb
new file mode 100644
index 00000000..682d1e1f
--- /dev/null
+++ b/patches/source/libxcb/build/libxcb
@@ -0,0 +1 @@
+2_slack13.0
diff --git a/patches/source/libxcb/configure/libxcb b/patches/source/libxcb/configure/libxcb
new file mode 100644
index 00000000..0c8a4a8c
--- /dev/null
+++ b/patches/source/libxcb/configure/libxcb
@@ -0,0 +1,14 @@
+CFLAGS=$SLKCFLAGS \
+CXXFLAGS=$SLKCFLAGS \
+./configure \
+ --prefix=/usr \
+ --libdir=/usr/lib${LIBDIRSUFFIX} \
+ --sysconfdir=/etc \
+ --localstatedir=/var \
+ --infodir=/usr/info \
+ --mandir=/usr/man \
+ --docdir=/usr/doc/${PKGNAME}-${MODULAR_PACKAGE_VERSION} \
+ --disable-static \
+ --enable-xinput \
+ --enable-xkb \
+ --build=$ARCH-slackware-linux
diff --git a/patches/source/libxcb/libxcb.SlackBuild b/patches/source/libxcb/libxcb.SlackBuild
new file mode 100755
index 00000000..1c0b3165
--- /dev/null
+++ b/patches/source/libxcb/libxcb.SlackBuild
@@ -0,0 +1,2 @@
+UPGRADE_PACKAGES=no ./x11.SlackBuild xcb libxcb
+mv /tmp/x11-build/libxcb*txz /tmp
diff --git a/patches/source/libxcb/modularize b/patches/source/libxcb/modularize
new file mode 100644
index 00000000..8a28ed93
--- /dev/null
+++ b/patches/source/libxcb/modularize
@@ -0,0 +1,279 @@
+# If a package is listed here, it will be built apart from the
+# usual "grab bag" package that's made from each source directory.
+
+appres
+bdftopcf
+beforelight
+bigreqsproto
+bitmap
+compiz
+compositeproto
+damageproto
+dmxproto
+dri2proto
+dri3proto
+editres
+encodings
+evieext
+fixesproto
+font-adobe-100dpi
+font-adobe-75dpi
+font-adobe-utopia-100dpi
+font-adobe-utopia-75dpi
+font-adobe-utopia-type1
+font-alias
+font-arabic-misc
+font-bh-100dpi
+font-bh-75dpi
+font-bh-lucidatypewriter-100dpi
+font-bh-lucidatypewriter-75dpi
+font-bh-ttf
+font-bh-type1
+font-bitstream-100dpi
+font-bitstream-75dpi
+font-bitstream-speedo
+font-bitstream-type1
+font-cronyx-cyrillic
+font-cursor-misc
+font-daewoo-misc
+font-dec-misc
+font-ibm-type1
+font-isas-misc
+font-jis-misc
+font-micro-misc
+font-misc-cyrillic
+font-misc-ethiopic
+font-misc-meltho
+font-misc-misc
+font-mutt-misc
+font-schumacher-misc
+font-screen-cyrillic
+font-sony-misc
+font-sun-misc
+font-util
+font-winitzki-cyrillic
+font-xfree86-type1
+fontcacheproto
+fontsproto
+fonttosfnt
+fslsfonts
+fstobdf
+gccmakedep
+glamor-egl
+glproto
+iceauth
+ico
+imake
+inputproto
+intel-gpu-tools
+kbproto
+libFS
+libICE
+libSM
+libX11
+libXScrnSaver
+libXau
+libXaw
+libXaw3d
+libXcm
+libXcomposite
+libXcursor
+libXdamage
+libXdmcp
+libXevie
+libXext
+libXfixes
+libXfont
+libXfontcache
+libXft
+libXi
+libXinerama
+libXmu
+libXp
+libXpm
+libXpresent
+libXrandr
+libXrender
+libXres
+libXt
+libXtst
+libXv
+libXvMC
+libXxf86dga
+libXxf86misc
+libXxf86vm
+libdmx
+libfontenc
+libpciaccess
+libpthread-stubs
+libxcb
+libxkbfile
+libxshmfence
+listres
+lndir
+luit
+makedepend
+mkcomposecache
+mkfontdir
+mkfontscale
+oclock
+pixman
+presentproto
+printproto
+randrproto
+recordproto
+rendercheck
+renderproto
+resourceproto
+rgb
+scrnsaverproto
+sessreg
+setxkbmap
+showfont
+smproxy
+transset
+twm
+util-macros
+videoproto
+viewres
+x11perf
+xauth
+xbacklight
+xbiff
+xbitmaps
+xcalc
+xcb-proto
+xcb-util
+xcb-util-cursor
+xcb-util-errors
+xcb-util-image
+xcb-util-keysyms
+xcb-util-renderutil
+xcb-util-wm
+xclipboard
+xclock
+xcm
+xcmiscproto
+xcmsdb
+xcompmgr
+xconsole
+xcursor-themes
+xcursorgen
+xdbedizzy
+xditview
+xdm
+xdpyinfo
+xdriinfo
+xedit
+xev
+xextproto
+xeyes
+xf86-input-acecad
+xf86-input-aiptek
+xf86-input-evdev
+xf86-input-joystick
+xf86-input-keyboard
+xf86-input-mouse
+xf86-input-penmount
+xf86-input-synaptics
+xf86-input-vmmouse
+xf86-input-void
+xf86-input-wacom
+xf86-video-amdgpu
+xf86-video-apm
+xf86-video-ark
+xf86-video-ast
+xf86-video-ati
+xf86-video-chips
+xf86-video-cirrus
+xf86-video-dummy
+xf86-video-geode
+xf86-video-glint
+xf86-video-i128
+xf86-video-i740
+xf86-video-intel
+xf86-video-mach64
+xf86-video-mga
+xf86-video-modesetting
+xf86-video-neomagic
+xf86-video-nouveau
+xf86-video-nv
+xf86-video-omap
+xf86-video-openchrome
+xf86-video-qxl
+xf86-video-r128
+xf86-video-rendition
+xf86-video-s3
+xf86-video-s3virge
+xf86-video-savage
+xf86-video-siliconmotion
+xf86-video-sis
+xf86-video-sisusb
+xf86-video-tdfx
+xf86-video-tga
+xf86-video-trident
+xf86-video-tseng
+xf86-video-v4l
+xf86-video-vesa
+xf86-video-vmware
+xf86-video-voodoo
+xf86-video-xgi
+xf86-video-xgixp
+xf86bigfontproto
+xf86dga
+xf86dgaproto
+xf86driproto
+xf86miscproto
+xf86vidmodeproto
+xfd
+xfontsel
+xfs
+xfsinfo
+xgamma
+xgc
+xhost
+xineramaproto
+xinit
+xinput
+xkbcomp
+xkbevd
+xkbprint
+xkbutils
+xkeyboard-config
+xkill
+xload
+xlogo
+xlsatoms
+xlsclients
+xlsfonts
+xmag
+xman
+xmessage
+xmh
+xmodmap
+xmore
+xorg-cf-files
+xorg-docs
+xorg-server
+xorg-server-xephyr
+xorg-server-xnest
+xorg-server-xvfb
+xorg-sgml-doctools
+xpr
+xprop
+xproto
+xpyb
+xrandr
+xrdb
+xrefresh
+xscope
+xset
+xsetroot
+xsm
+xstdcmap
+xtrans
+xvidtune
+xvinfo
+xwd
+xwininfo
+xwud
diff --git a/patches/source/libxcb/noarch b/patches/source/libxcb/noarch
new file mode 100644
index 00000000..8785ee52
--- /dev/null
+++ b/patches/source/libxcb/noarch
@@ -0,0 +1,75 @@
+# List packages with an $ARCH of "noarch" (i.e. packages
+# that contain no binaries) here:
+bigreqsproto
+compositeproto
+damageproto
+dejavu-ttf
+dmxproto
+encodings
+evieext
+font-adobe-100dpi
+font-adobe-75dpi
+font-adobe-utopia-100dpi
+font-adobe-utopia-75dpi
+font-adobe-utopia-type1
+font-alias
+font-arabic-misc
+font-bh-100dpi
+font-bh-75dpi
+font-bh-lucidatypewriter-100dpi
+font-bh-lucidatypewriter-75dpi
+font-bh-ttf
+font-bh-type1
+font-bitstream-100dpi
+font-bitstream-75dpi
+font-bitstream-speedo
+font-bitstream-type1
+font-cronyx-cyrillic
+font-cursor-misc
+font-daewoo-misc
+font-dec-misc
+font-ibm-type1
+font-isas-misc
+font-jis-misc
+font-micro-misc
+font-misc-cyrillic
+font-misc-ethiopic
+font-misc-meltho
+font-misc-misc
+font-mutt-misc
+font-schumacher-misc
+font-screen-cyrillic
+font-sony-misc
+font-sun-misc
+font-winitzki-cyrillic
+font-xfree86-type1
+fontcacheproto
+fontsproto
+gccmakedep
+glproto
+inputproto
+kbproto
+libpthread-stubs
+mkfontdir
+printproto
+randrproto
+recordproto
+renderproto
+resourceproto
+scrnsaverproto
+ttf-indic-fonts
+util-macros
+videoproto
+x11-skel
+xcmiscproto
+xcursor-themes
+xf86bigfontproto
+xf86dgaproto
+xf86driproto
+xf86miscproto
+xf86vidmodeproto
+xineramaproto
+xkeyboard-config
+xorg-docs
+xproto
+xtrans
diff --git a/patches/source/libxcb/package-blacklist b/patches/source/libxcb/package-blacklist
new file mode 100644
index 00000000..603b8c31
--- /dev/null
+++ b/patches/source/libxcb/package-blacklist
@@ -0,0 +1,44 @@
+# Enter packages to skip (perhaps because they aren't used on
+# this platform) below. Just the package name -- no version
+# number is needed.
+
+# ARM only packages:
+# They also say in the README for this one that it is not yet ready:
+xf86-video-omap
+
+# MacOS related packages:
+applewmproto
+windowswmproto
+libAppleWM
+libWindowsWM
+
+# Sun video cards:
+xf86-video-sunbw2
+xf86-video-suncg14
+xf86-video-suncg3
+xf86-video-suncg6
+xf86-video-sunffb
+xf86-video-sunleo
+xf86-video-suntcx
+
+# Obsolete packages:
+liboldX
+xf86-video-amd
+xf86-video-via
+xkbdata
+xphelloworld
+xrx
+xf86-video-modesetting
+
+# Not applicable to us
+grandr
+constype
+
+# CAREFUL NOT TO "SHIP" THE STUFF BELOW IN THE MAIN X PACKAGES DIR!
+
+# This is probably obsolete, and kills "X -configure" too
+xf86-video-nsc
+
+# We don't want this one, as it causes failure of X with no xorg.conf
+xf86-video-fbdev
+
diff --git a/patches/source/libxcb/post-install/libxcb.post-install b/patches/source/libxcb/post-install/libxcb.post-install
new file mode 100644
index 00000000..14f8408a
--- /dev/null
+++ b/patches/source/libxcb/post-install/libxcb.post-install
@@ -0,0 +1,67 @@
+
+# Copyright 2009 Patrick J. Volkerding, Sebeka, MN, USA
+# All rights reserved.
+#
+# Redistribution and use of this script, with or without modification, is
+# permitted provided that the following conditions are met:
+#
+# 1. Redistributions of this script must retain the above copyright
+# notice, this list of conditions and the following disclaimer.
+#
+# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED
+# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
+# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
+# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+#
+
+# Add documentation:
+mkdir -p $PKG/usr/doc/libxcb-$MODULAR_PACKAGE_VERSION
+cp -a \
+ COPYING INSTALL NEWS README \
+ $PKG/usr/doc/libxcb-$MODULAR_PACKAGE_VERSION
+mv $PKG/usr/share/doc/libxcb/tutorial $PKG/usr/doc/libxcb-$MODULAR_PACKAGE_VERSION
+# The manual isn't building for now, so...
+rm -rf $PKG/usr/share/doc/libxcb
+rmdir $PKG/usr/share/doc
+rmdir $PKG/usr/share
+
+# Older versions of libxcb shipped a poorly libtooled .la file that caused
+# the now-gone libxcb-xlib.so module to be incorrectly linked with many
+# binaries and libraries, and cause the module to be listed (again,
+# incorrectly) in a lot of .la files. Rather than breaking a large amount
+# of existing X programs, we will use this simple trick to allow old binaries
+# to keep running, and new things to compile even if a bogus .la file
+# referencing libxcb-xlib is in the development environment.
+#
+# References to libxcb-xlib will go away as things are recompiled in the
+# future (we've eliminated any remaining references in Slackware itself).
+#
+# It's like letting a sliver work out instead of cutting off the finger.
+
+( cd $PKG/usr/lib
+ ln -sf libxcb.so.1 libxcb-xlib.so.0
+ ln -sf libxcb-xlib.so.0 libxcb-xlib.so
+ ln -sf libxcb.la libxcb-xlib.la
+)
+
+# Changes to the .soname versions have caused a few binaries to break when
+# libxcb was updated to facilitate security fixes. While the old library
+# versions could be included in the package to fix this, that might result
+# in a binary loading both library versions at the same time. Past
+# experience has shown that to cause segfaults or other issues. So, we'll
+# add a few compatibility symlinks so that old binaries will load. If
+# it turns out to be required, we'll recompile anything that happens to run
+# into an ABI issue due to this, but the testing seems to indicate that it
+# won't break anything. At least there will be less breakage with this
+# fix. If anyone notices any, please let us know.
+( cd $PKG/usr/lib
+ ln -sf libxcb-randr.so.0 libxcb-randr.so.1
+ ln -sf libxcb-sync.so.1 libxcb-sync.so.0
+)
+
diff --git a/patches/source/libxcb/slack-desc/libxcb b/patches/source/libxcb/slack-desc/libxcb
new file mode 100644
index 00000000..35182210
--- /dev/null
+++ b/patches/source/libxcb/slack-desc/libxcb
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|'
+# on the right side marks the last column you can put a character in. You must
+# make exactly 11 lines for the formatting to be correct. It's also
+# customary to leave one space after the ':'.
+
+ |-----handy-ruler------------------------------------------------------|
+libxcb: libxcb (X protocol C-language Binding)
+libxcb:
+libxcb: The XCB library provides an interface to the X Window System protocol
+libxcb: which is fully capable of replacing Xlib. In fact, libX11 makes use
+libxcb: of libxcb as much as possible. :-) Porting to XCB has several
+libxcb: advantages such as a smaller memory footprint, latency hiding, direct
+libxcb: protocol access, and improved thread support.
+libxcb:
+libxcb:
+libxcb:
+libxcb:
diff --git a/patches/source/libxcb/x11.SlackBuild b/patches/source/libxcb/x11.SlackBuild
new file mode 100755
index 00000000..c3887dff
--- /dev/null
+++ b/patches/source/libxcb/x11.SlackBuild
@@ -0,0 +1,381 @@
+#!/bin/sh
+# Copyright 2007-2014 Patrick J. Volkerding, Sebeka, MN, USA
+# All rights reserved.
+#
+# Redistribution and use of this script, with or without modification, is
+# permitted provided that the following conditions are met:
+#
+# 1. Redistributions of this script must retain the above copyright
+# notice, this list of conditions and the following disclaimer.
+#
+# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED
+# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
+# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
+# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+# To build only a single package group, specify it as $1, like:
+# ./x11.SlackBuild lib
+# To build only a single package, specify both the source directory
+# and the name of the package, like:
+# ./x11.SlackBuild lib libX11
+
+# Upgrade packages as they are built.
+# Default is to upgrade new packages (UPGRADE_PACKAGES=yes).
+# To install ALL newly built packages (even if they are already installed),
+# use UPGRADE_PACKAGES=always
+# To not upgrade, pass UPGRADE_PACKAGES=no
+UPGRADE_PACKAGES=${UPGRADE_PACKAGES:-yes}
+
+pkgbase() {
+ PKGEXT=$(echo $1 | rev | cut -f 1 -d . | rev)
+ case $PKGEXT in
+ 'gz' )
+ PKGRETURN=$(basename $1 .tar.gz)
+ ;;
+ 'bz2' )
+ PKGRETURN=$(basename $1 .tar.bz2)
+ ;;
+ 'lzma' )
+ PKGRETURN=$(basename $1 .tar.lzma)
+ ;;
+ 'xz' )
+ PKGRETURN=$(basename $1 .tar.xz)
+ ;;
+ *)
+ PKGRETURN=$(basename $1)
+ ;;
+ esac
+ echo $PKGRETURN
+}
+
+# Set initial variables:
+CWD=$(pwd)
+TMP=${TMP:-/tmp}
+
+# Automatically determine the architecture we're building on:
+if [ -z "$ARCH" ]; then
+ case "$( uname -m )" in
+ i?86) export ARCH=i486 ;;
+ arm*) export ARCH=arm ;;
+ # Unless $ARCH is already set, use uname -m for all other archs:
+ *) export ARCH=$( uname -m ) ;;
+ esac
+fi
+
+# A lot of this stuff just controls the package names this time:
+VERSION=${VERSION:-7.5}
+BUILD=${BUILD:-1}
+PKGARCH=$ARCH
+NUMJOBS=${NUMJOBS:-" -j7 "}
+
+if [ "$ARCH" = "x86_64" ]; then
+ LIBDIRSUFFIX="64"
+else
+ LIBDIRSUFFIX=""
+fi
+
+# Set up a few useful functions:
+
+fix_perms() {
+ chown -R root:root .
+ find . \
+ \( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \
+ -exec chmod 755 {} \; -o \
+ \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \
+ -exec chmod 644 {} \;
+}
+
+process_man_pages() {
+ # Compress and if needed symlink the man pages:
+ if [ -d usr/man ]; then
+ ( cd usr/man
+ for manpagedir in $(find . -type d -name "man*") ; do
+ ( cd $manpagedir
+ for eachpage in $( find . -type l -maxdepth 1) ; do
+ ln -s $( readlink $eachpage ).gz $eachpage.gz
+ rm $eachpage
+ done
+ gzip -9 *.*
+ )
+ done
+ )
+ fi
+}
+
+process_info_pages() {
+ # Compress info pages and purge "dir" file from the package:
+ if [ -d usr/info ]; then
+ ( cd usr/info
+ rm -f dir
+ gzip -9 *
+ )
+ fi
+}
+
+no_usr_share_doc() {
+ # If there are docs, move them:
+ if [ -d usr/share/doc ]; then
+ mkdir -p usr/doc
+ mv usr/share/doc/* usr/doc
+ rmdir usr/share/doc
+ fi
+}
+
+# Set the compile options for the $ARCH being used:
+. $CWD/arch.use.flags
+
+SLACK_X_BUILD_DIR=$TMP/x11-build
+mkdir -p $SLACK_X_BUILD_DIR
+
+# Better have some binaries installed first, as this may not be
+# in the "magic order". I built mine by hand through trial-and-error
+# before getting this script to work. It wasn't that hard... I think. ;-)
+( cd src
+ for x_source_dir in proto data util xcb lib app doc xserver driver font ; do
+ # See if $1 is a source directory like "lib":
+ if [ ! -z "$1" ]; then
+ if [ ! "$1" = "${x_source_dir}" ]; then
+ continue
+ fi
+ fi
+ PKG=${SLACK_X_BUILD_DIR}/package-${x_source_dir}
+ rm -rf $PKG
+ mkdir -p $PKG
+ ( cd $x_source_dir
+ for x_pkg in *.tar.?z* ; do
+ # Reset $PKGARCH to its initial value:
+ PKGARCH=$ARCH
+ PKGNAME=$(echo $x_pkg | rev | cut -f 2- -d - | rev)
+ # Perhaps $PKGARCH should be something different:
+ if grep -wq "^$PKGNAME" ${CWD}/noarch ; then
+ PKGARCH=noarch
+ fi
+ if grep -wq "^$PKGNAME" ${CWD}/package-blacklist ; then
+ continue
+ fi
+ cd $SLACK_X_BUILD_DIR
+ # If $2 is set, we only want to build one package:
+ if [ ! -z "$2" ]; then
+ if [ "$2" = "$PKGNAME" ]; then
+ # Set $PKG to a private dir for the modular package build:
+ PKG=$SLACK_X_BUILD_DIR/package-$PKGNAME
+ rm -rf $PKG
+ mkdir -p $PKG
+ else
+ continue
+ fi
+ else
+ echo
+ echo "Building from source ${x_pkg}"
+ echo
+ fi
+ if grep -wq "^$PKGNAME" ${CWD}/modularize ; then
+ # Set $PKG to a private dir for the modular package build:
+ PKG=$SLACK_X_BUILD_DIR/package-$PKGNAME
+ rm -rf $PKG
+ mkdir -p $PKG
+ fi
+
+ # Let's figure out the version number on the modular package:
+ MODULAR_PACKAGE_VERSION=$(echo $x_pkg | rev | cut -f 3- -d . | cut -f 1 -d - | rev)
+
+ rm -rf $(pkgbase $x_pkg)
+ tar xf $CWD/src/${x_source_dir}/${x_pkg} || exit 1
+ cd $(pkgbase $x_pkg) || exit 1
+
+ fix_perms
+
+ # If any patches are needed, call this script to apply them:
+ if [ -r $CWD/patch/${PKGNAME}.patch ]; then
+ . $CWD/patch/${PKGNAME}.patch
+ fi
+
+ # I heard somewhere that -O2 breaks some chipset or another. If you encounter
+ # problems, please contact volkerdi@slackware.com. Thanks! :-)
+
+ # ./configure, using custom configure script if needed:
+ if [ -r $CWD/configure/${PKGNAME} ]; then
+ . $CWD/configure/${PKGNAME}
+ else
+ # This is the default configure script:
+ . $CWD/configure/configure
+ fi
+
+ if ! make $NUMJOBS ; then
+ touch ${SLACK_X_BUILD_DIR}/${PKGNAME}.failed
+ continue
+ fi
+
+ make install DESTDIR=$PKG
+
+ mkdir -p $PKG/usr/doc/${PKGNAME}-${MODULAR_PACKAGE_VERSION}
+ cp -a \
+ AUTHORS* COPYING* INSTALL* README* NEWS* TODO* \
+ $PKG/usr/doc/${PKGNAME}-${MODULAR_PACKAGE_VERSION}
+
+ # If there's a ChangeLog, installing at least part of the recent history
+ # is useful, but don't let it get totally out of control:
+ if [ -r ChangeLog ]; then
+ DOCSDIR=$(echo $PKG/usr/doc/${PKGNAME}-$MODULAR_PACKAGE_VERSION)
+ cat ChangeLog | head -n 1000 > $DOCSDIR/ChangeLog
+ touch -r ChangeLog $DOCSDIR/ChangeLog
+ fi
+
+ # Get rid of zero-length junk files:
+ find $PKG/usr/doc/${PKGNAME}-$MODULAR_PACKAGE_VERSION -type f -size 0 -exec rm --verbose "{}" \;
+ rmdir --verbose $PKG/usr/doc/${PKGNAME}-$MODULAR_PACKAGE_VERSION 2> /dev/null
+
+ # Strip binaries:
+ ( cd $PKG
+ find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
+ find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
+ find . | xargs file | grep "current ar archive" | grep ELF | cut -f 1 -d : | xargs strip -g 2> /dev/null
+ )
+
+ # If there's any special post-install things to do, do them:
+ if [ -r $CWD/post-install/${PKGNAME}.post-install ]; then
+ RUNSCRIPT=$(mktemp -p $TMP) || exit 1
+ cat $CWD/post-install/${PKGNAME}.post-install \
+ | sed -e "s#usr/lib#usr/lib${LIBDIRSUFFIX}#g" > $RUNSCRIPT
+ . $RUNSCRIPT
+ rm -f $RUNSCRIPT
+ fi
+
+ # If this package requires some doinst.sh material, add it here:
+ if [ -r $CWD/doinst.sh/${PKGNAME} ]; then
+ mkdir -p $PKG/install
+ cat $CWD/doinst.sh/${PKGNAME} \
+ | sed -e "s#usr/lib#usr/lib${LIBDIRSUFFIX}#g" \
+ >> $PKG/install/doinst.sh
+ fi
+
+ # If this is a modular package, build it here:
+ if [ -d $SLACK_X_BUILD_DIR/package-$PKGNAME ]; then
+ cd $PKG
+ process_man_pages
+ process_info_pages
+ no_usr_share_doc
+ mkdir -p $PKG/install
+ if [ -r $CWD/slack-desc/${PKGNAME} ]; then
+ cat $CWD/slack-desc/${PKGNAME} > $PKG/install/slack-desc
+ else
+ touch $PKG/install/slack-desc-missing
+ fi
+ if [ -r $CWD/build/${PKGNAME} ]; then
+ MODBUILD=$(cat $CWD/build/${PKGNAME})
+ else
+ MODBUILD=$BUILD
+ fi
+ if [ -r $CWD/makepkg/${PKGNAME} ]; then
+ BUILD=$MODBUILD . $CWD/makepkg/${PKGNAME}
+ else
+ /sbin/makepkg -l y -c n ${SLACK_X_BUILD_DIR}/${PKGNAME}-${MODULAR_PACKAGE_VERSION}-${PKGARCH}-${MODBUILD}.txz
+ if [ "$UPGRADE_PACKAGES" = "yes" ]; then
+ /sbin/upgradepkg --install-new ${SLACK_X_BUILD_DIR}/${PKGNAME}-${MODULAR_PACKAGE_VERSION}-${PKGARCH}-${MODBUILD}.txz
+ elif [ "$UPGRADE_PACKAGES" = "always" ]; then
+ /sbin/upgradepkg --install-new --reinstall ${SLACK_X_BUILD_DIR}/${PKGNAME}-${MODULAR_PACKAGE_VERSION}-${PKGARCH}-${MODBUILD}.txz
+ fi
+ fi
+ fi
+
+ # Reset $PKG to assume we're building the whole source dir:
+ PKG=${SLACK_X_BUILD_DIR}/package-${x_source_dir}
+
+ done
+
+ # Nothing here? Must have been fully modular. :-)
+ if [ ! -d ${SLACK_X_BUILD_DIR}/package-${x_source_dir}/etc -a \
+ ! -d ${SLACK_X_BUILD_DIR}/package-${x_source_dir}/usr ]; then
+ continue
+ fi
+
+ # Build an "x11-<sourcedir>" package for anything that wasn't built modular:
+ # It's safer to consider these to have binaries in them. ;-)
+ PKGARCH=$ARCH
+ cd $PKG
+ process_man_pages
+ process_info_pages
+ no_usr_share_doc
+ # If there are post-install things to do for the combined package,
+ # we do them here. This could be used for things like making a
+ # VERSION number for a combined package. :-)
+ if [ -r $CWD/post-install/x11-${x_source_dir}.post-install ]; then
+ RUNSCRIPT=$(mktemp -p $TMP) || exit 1
+ cat $CWD/post-install/x11-${x_source_dir}.post-install \
+ | sed -e "s#usr/lib#usr/lib${LIBDIRSUFFIX}#g" > $RUNSCRIPT
+ . $RUNSCRIPT
+ rm -f $RUNSCRIPT
+ fi
+ mkdir -p $PKG/install
+ if [ -r $CWD/slack-desc/x11-${x_source_dir} ]; then
+ cat $CWD/slack-desc/x11-${x_source_dir} > $PKG/install/slack-desc
+ else
+ touch $PKG/install/slack-desc-missing
+ fi
+ if [ -r $CWD/doinst.sh/x11-${x_source_dir} ]; then
+ cat $CWD/doinst.sh/x11-${x_source_dir} \
+ | sed -e "s#usr/lib#usr/lib${LIBDIRSUFFIX}#g" \
+ >> $PKG/install/doinst.sh
+ fi
+ if [ -r $CWD/build/x11-${PKGNAME} ]; then
+ SRCDIRBUILD=$(cat $CWD/build/x11-${PKGNAME})
+ else
+ SRCDIRBUILD=$BUILD
+ fi
+ if [ -r $CWD/makepkg/${PKGNAME} ]; then
+ BUILD=$MODBUILD . $CWD/makepkg/${PKGNAME}
+ else
+ /sbin/makepkg -l y -c n ${SLACK_X_BUILD_DIR}/x11-${x_source_dir}-${VERSION}-${PKGARCH}-${SRCDIRBUILD}.txz
+ if [ "$UPGRADE_PACKAGES" = "yes" ]; then
+ /sbin/upgradepkg --install-new ${SLACK_X_BUILD_DIR}/x11-${x_source_dir}-${VERSION}-${PKGARCH}-${SRCDIRBUILD}.txz
+ elif [ "$UPGRADE_PACKAGES" = "always" ]; then
+ /sbin/upgradepkg --install-new --reinstall ${SLACK_X_BUILD_DIR}/x11-${x_source_dir}-${VERSION}-${PKGARCH}-${SRCDIRBUILD}.txz
+ fi
+ fi
+ )
+ done
+)
+
+exit 0
+
+# I don't think I'll be using the following stuff, since I went for the latest in
+# "individual", rather than a release. That was mostly because version 7.1 depends
+# on a version of Mesa that won't build against kernel headers this new (&etc.).
+
+# If environment variable "REFRESH" is exported, start by refreshing the source tree:
+# export REFRESH yes
+if [ ! -z "$REFRESH" ]; then
+ # Only works once, unless you uncomment above.
+ unset REFRESH
+ ( cd patches
+ lftp -c \
+ "lftp ftp://ftp.x.org:/pub/X11R7.1/patches
+ mirror --delete --dereference .
+ exit"
+ chmod 644 *
+ )
+ ( cd src
+ mkdir -p update everything
+ for dir in app data deprecated doc driver extras font lib proto util xserver ; do
+ # We won't really download "update", as problems ensue. Plus, --dereference is
+ # bringing us updated files when needed, so it's redundant (like "everything").
+ if [ ! -d $dir ]; then
+ mkdir $dir
+ fi
+ ( cd $dir
+ lftp -c \
+ "lftp ftp://ftp.x.org:/pub/X11R7.1/src/$dir
+ mirror -c --delete --dereference --include-glob "*.tar.bz2" .
+ exit"
+ chmod 644 *
+ )
+ done
+ )
+fi
+
diff --git a/patches/source/libxml2/libxml.CVE-2011-3102.diff b/patches/source/libxml2/libxml.CVE-2011-3102.diff
new file mode 100644
index 00000000..4f6a92cb
--- /dev/null
+++ b/patches/source/libxml2/libxml.CVE-2011-3102.diff
@@ -0,0 +1,39 @@
+From d8e1faeaa99c7a7c07af01c1c72de352eb590a3e Mon Sep 17 00:00:00 2001
+From: Jüri Aedla <asd@ut.ee>
+Date: Mon, 07 May 2012 07:06:56 +0000
+Subject: Fix an off by one pointer access
+
+getting out of the range of memory allocated for xpointer decoding
+---
+diff --git a/xpointer.c b/xpointer.c
+index 37afa3a..0b463dd 100644
+--- a/xpointer.c
++++ b/xpointer.c
+@@ -1007,21 +1007,14 @@ xmlXPtrEvalXPtrPart(xmlXPathParserContextPtr ctxt, xmlChar *name) {
+ NEXT;
+ break;
+ }
+- *cur++ = CUR;
+ } else if (CUR == '(') {
+ level++;
+- *cur++ = CUR;
+ } else if (CUR == '^') {
+- NEXT;
+- if ((CUR == ')') || (CUR == '(') || (CUR == '^')) {
+- *cur++ = CUR;
+- } else {
+- *cur++ = '^';
+- *cur++ = CUR;
+- }
+- } else {
+- *cur++ = CUR;
++ if ((NXT(1) == ')') || (NXT(1) == '(') || (NXT(1) == '^')) {
++ NEXT;
++ }
+ }
++ *cur++ = CUR;
+ NEXT;
+ }
+ *cur = 0;
+--
+cgit v0.9.0.2
diff --git a/patches/source/libxml2/libxml2.CVE-2012-5134.diff b/patches/source/libxml2/libxml2.CVE-2012-5134.diff
new file mode 100644
index 00000000..70905aaa
--- /dev/null
+++ b/patches/source/libxml2/libxml2.CVE-2012-5134.diff
@@ -0,0 +1,21 @@
+From 6a36fbe3b3e001a8a840b5c1fdd81cefc9947f0d Mon Sep 17 00:00:00 2001
+From: Daniel Veillard <veillard@redhat.com>
+Date: Mon, 29 Oct 2012 02:39:55 +0000
+Subject: Fix potential out of bound access
+
+---
+diff --git a/parser.c b/parser.c
+index 0d8d7f2..bd634e9 100644
+--- a/parser.c
++++ b/parser.c
+@@ -4076,7 +4076,7 @@ xmlParseAttValueComplex(xmlParserCtxtPtr ctxt, int *attlen, int normalize) {
+ goto error;
+
+ if ((in_space) && (normalize)) {
+- while (buf[len - 1] == 0x20) len--;
++ while ((len > 0) && (buf[len - 1] == 0x20)) len--;
+ }
+ buf[len] = 0;
+ if (RAW == '<') {
+--
+cgit v0.9.0.2
diff --git a/patches/source/libxml2/libxml2.SlackBuild b/patches/source/libxml2/libxml2.SlackBuild
new file mode 100755
index 00000000..cc0c37e9
--- /dev/null
+++ b/patches/source/libxml2/libxml2.SlackBuild
@@ -0,0 +1,109 @@
+#!/bin/sh
+
+# Copyright 2008, 2009 Patrick J. Volkerding, Sebeka, MN, USA
+# All rights reserved.
+#
+# Redistribution and use of this script, with or without modification, is
+# permitted provided that the following conditions are met:
+#
+# 1. Redistributions of this script must retain the above copyright
+# notice, this list of conditions and the following disclaimer.
+#
+# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED
+# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
+# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
+# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+VERSION=2.7.3
+BUILD=${BUILD:-5_slack13.0}
+
+# Automatically determine the architecture we're building on:
+if [ -z "$ARCH" ]; then
+ case "$(uname -m)" in
+ i?86) ARCH=i486 ;;
+ arm*) readelf /usr/bin/file -A | egrep -q "Tag_CPU.*[4,5]" && ARCH=arm || ARCH=armv7lh ;;
+ # Unless $ARCH is already set, use uname -m for all other archs:
+ *) ARCH=$(uname -m) ;;
+ esac
+ export ARCH
+fi
+
+NUMJOBS=${NUMJOBS:-" -j7 "}
+
+if [ "$ARCH" = "i486" ]; then
+ SLKCFLAGS="-O2 -march=i486 -mtune=i686"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "s390" ]; then
+ SLKCFLAGS="-O2"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "x86_64" ]; then
+ SLKCFLAGS="-O2 -fPIC"
+ LIBDIRSUFFIX="64"
+fi
+
+CWD=$(pwd)
+TMP=${TMP:-/tmp}
+PKG=$TMP/package-libxml2
+rm -rf $PKG
+mkdir -p $TMP $PKG
+
+cd $TMP
+rm -rf libxml2-$VERSION
+tar xvf $CWD/libxml2-$VERSION.tar.?z* || exit 1
+cd libxml2-$VERSION
+chown -R root:root .
+find . \
+ \( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \
+ -exec chmod 755 {} \; -o \
+ \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \
+ -exec chmod 644 {} \;
+
+zcat $CWD/libxml.CVE-2011-3102.diff.gz | patch -p1 --verbose || exit 1
+zcat $CWD/libxml2.CVE-2012-5134.diff.gz | patch -p1 --verbose || exit 1
+
+CFLAGS="$SLKCFLAGS" \
+./configure \
+ --prefix=/usr \
+ --libdir=/usr/lib${LIBDIRSUFFIX} \
+ --mandir=/usr/man \
+ --build=$ARCH-slackware-linux
+
+make $NUMJOBS || make || exit 1
+make install DESTDIR=$PKG || exit 1
+
+#echo
+#echo "Only the python bindings in /usr/lib/python__/site-packages/ should"
+#echo "be kept... toss the other stuff"
+#echo
+
+find $PKG | xargs file | grep -e "executable" -e "shared object" | grep ELF \
+ | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
+
+mv $PKG/usr/share/doc $PKG/usr
+mv $PKG/usr/doc/libxml2-python-$VERSION $PKG/usr/doc/libxml2-$VERSION
+cp -a \
+ AUTHORS COPYING* INSTALL NEWS README \
+ $PKG/usr/doc/libxml2-$VERSION
+find $PKG/usr/doc/libxml2-$VERSION -type f | xargs chmod 644
+
+gzip -9 $PKG/usr/man/man?/*.?
+
+mkdir -p $PKG/install
+cat $CWD/slack-desc > $PKG/install/slack-desc
+# Be sure to clobber any .pyc files that might have been generated so that
+# the new .py files will be used instead of the already compiled copies
+cat << EOF > $PKG/install/doinst.sh
+rm -f /usr/lib${LIBDIRSUFFIX}/python26/site-packages/libxml2.pyc
+rm -f /usr/lib${LIBDIRSUFFIX}/python26/site-packages/drv_libxml2.pyc
+EOF
+
+cd $PKG
+/sbin/makepkg -l y -c n $TMP/libxml2-$VERSION-$ARCH-$BUILD.txz
+
diff --git a/patches/source/libxml2/slack-desc b/patches/source/libxml2/slack-desc
new file mode 100644
index 00000000..dfbc38dc
--- /dev/null
+++ b/patches/source/libxml2/slack-desc
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|' on
+# the right side marks the last column you can put a character in. You must make
+# exactly 11 lines for the formatting to be correct. It's also customary to
+# leave one space after the ':'.
+
+ |-----handy-ruler------------------------------------------------------|
+libxml2: libxml2 (XML parser library)
+libxml2:
+libxml2: Libxml2 is the XML C parser library and toolkit. XML itself is a
+libxml2: metalanguage to design markup languages -- i.e. a text language where
+libxml2: structures are added to the content using extra "markup" information
+libxml2: enclosed between angle brackets. HTML is the most well-known markup
+libxml2: language. Though the library is written in C, a variety of language
+libxml2: bindings make it available in other environments.
+libxml2:
+libxml2:
+libxml2:
diff --git a/patches/source/linux-2.6.29.6-3/linux-2.6.29.6-01-sendpage.diff b/patches/source/linux-2.6.29.6-3/linux-2.6.29.6-01-sendpage.diff
new file mode 100644
index 00000000..d1e7a07a
--- /dev/null
+++ b/patches/source/linux-2.6.29.6-3/linux-2.6.29.6-01-sendpage.diff
@@ -0,0 +1,11 @@
+--- ./net/socket.c.orig 2009-08-02 14:29:53.000000000 -0500
++++ ./net/socket.c 2009-08-15 13:03:44.000000000 -0500
+@@ -694,7 +694,7 @@
+ if (more)
+ flags |= MSG_MORE;
+
+- return sock->ops->sendpage(sock, page, offset, size, flags);
++ return kernel_sendpage(sock, page, offset, size, flags);
+ }
+
+ static ssize_t sock_splice_read(struct file *file, loff_t *ppos,
diff --git a/patches/source/linux-2.6.29.6-3/linux-2.6.29.6-02-default-mmap_min_addr-4096.diff b/patches/source/linux-2.6.29.6-3/linux-2.6.29.6-02-default-mmap_min_addr-4096.diff
new file mode 100644
index 00000000..53d2b5a0
--- /dev/null
+++ b/patches/source/linux-2.6.29.6-3/linux-2.6.29.6-02-default-mmap_min_addr-4096.diff
@@ -0,0 +1,22 @@
+--- ./arch/x86/configs/i386_defconfig.orig 2009-07-02 18:41:20.000000000 -0500
++++ ./arch/x86/configs/i386_defconfig 2009-08-16 21:03:21.000000000 -0500
+@@ -2127,7 +2127,7 @@
+ # CONFIG_SECURITY_NETWORK_XFRM is not set
+ CONFIG_SECURITY_FILE_CAPABILITIES=y
+ # CONFIG_SECURITY_ROOTPLUG is not set
+-CONFIG_SECURITY_DEFAULT_MMAP_MIN_ADDR=65536
++CONFIG_SECURITY_DEFAULT_MMAP_MIN_ADDR=4096
+ CONFIG_SECURITY_SELINUX=y
+ CONFIG_SECURITY_SELINUX_BOOTPARAM=y
+ CONFIG_SECURITY_SELINUX_BOOTPARAM_VALUE=1
+--- ./arch/x86/configs/x86_64_defconfig.orig 2009-07-02 18:41:20.000000000 -0500
++++ ./arch/x86/configs/x86_64_defconfig 2009-08-16 21:03:33.000000000 -0500
+@@ -2096,7 +2096,7 @@
+ # CONFIG_SECURITY_NETWORK_XFRM is not set
+ CONFIG_SECURITY_FILE_CAPABILITIES=y
+ # CONFIG_SECURITY_ROOTPLUG is not set
+-CONFIG_SECURITY_DEFAULT_MMAP_MIN_ADDR=65536
++CONFIG_SECURITY_DEFAULT_MMAP_MIN_ADDR=4096
+ CONFIG_SECURITY_SELINUX=y
+ CONFIG_SECURITY_SELINUX_BOOTPARAM=y
+ CONFIG_SECURITY_SELINUX_BOOTPARAM_VALUE=1
diff --git a/patches/source/linux-2.6.29.6-3/linux-2.6.29.6-03-ip_fragment-CVE-2009-1298.diff b/patches/source/linux-2.6.29.6-3/linux-2.6.29.6-03-ip_fragment-CVE-2009-1298.diff
new file mode 100644
index 00000000..bf49b3dc
--- /dev/null
+++ b/patches/source/linux-2.6.29.6-3/linux-2.6.29.6-03-ip_fragment-CVE-2009-1298.diff
@@ -0,0 +1,11 @@
+--- ./net/ipv4/ip_fragment.c.orig 2009-10-10 00:49:25.000000000 -0500
++++ ./net/ipv4/ip_fragment.c 2009-12-07 14:07:28.000000000 -0600
+@@ -563,7 +563,7 @@
+ printk(KERN_INFO "Oversized IP packet from %pI4.\n",
+ &qp->saddr);
+ out_fail:
+- IP_INC_STATS_BH(dev_net(dev), IPSTATS_MIB_REASMFAILS);
++ IP_INC_STATS_BH(net, IPSTATS_MIB_REASMFAILS);
+ return err;
+ }
+
diff --git a/patches/source/lm_sensors/lm_sensors.SlackBuild b/patches/source/lm_sensors/lm_sensors.SlackBuild
new file mode 100755
index 00000000..9382bc9e
--- /dev/null
+++ b/patches/source/lm_sensors/lm_sensors.SlackBuild
@@ -0,0 +1,125 @@
+#!/bin/sh
+
+# Copyright 2006, 2008, 2009, 2010, 2012, 2013 Patrick J. Volkerding, Sebeka, MN, USA
+# All rights reserved.
+#
+# Redistribution and use of this script, with or without modification, is
+# permitted provided that the following conditions are met:
+#
+# 1. Redistributions of this script must retain the above copyright
+# notice, this list of conditions and the following disclaimer.
+#
+# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED
+# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
+# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
+# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+PKGNAM=lm_sensors
+VERSION=${VERSION:-$(echo $PKGNAM-*.tar.bz2 | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
+BUILD=${BUILD:-1_slack13.0}
+
+# Automatically determine the architecture we're building on:
+if [ -z "$ARCH" ]; then
+ case "$( uname -m )" in
+ i?86) export ARCH=i486 ;;
+ arm*) export ARCH=arm ;;
+ # Unless $ARCH is already set, use uname -m for all other archs:
+ *) export ARCH=$( uname -m ) ;;
+ esac
+fi
+
+if [ "$ARCH" = "x86_64" ]; then
+ LIBDIRSUFFIX="64"
+else
+ LIBDIRSUFFIX=""
+fi
+
+NUMJOBS=${NUMJOBS:-" -j7 "}
+
+CWD=$(pwd)
+TMP=${TMP:-/tmp}
+PKG=$TMP/package-${PKGNAM}
+rm -rf $PKG
+mkdir -p $TMP $PKG
+
+cd $TMP
+rm -rf ${PKGNAM}-${VERSION}
+tar xvf $CWD/${PKGNAM}-$VERSION.tar.bz2 || exit 1
+cd ${PKGNAM}-$VERSION || exit 1
+
+# Make sure ownerships and permissions are sane:
+chown -R root:root .
+find . \
+ \( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \
+ -exec chmod 755 {} \; -o \
+ \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \
+ -exec chmod 644 {} \;
+
+# Configure:
+zcat $CWD/lm_sensors.makefile.diff.gz | patch -p1 --verbose || exit 1
+
+make user LIBDIR=/usr/lib${LIBDIRSUFFIX} || exit 1
+make user_install LIBDIR=/usr/lib${LIBDIRSUFFIX} || exit 1
+
+# Nope.
+rm -f $PKG/usr/lib${LIBDIRSUFFIX}/*.a
+
+# Nope.
+rm -rf $PKG/usr/include/linux
+
+# Do the .new thing with the config file:
+mv $PKG/etc/sensors3.conf $PKG/etc/sensors3.conf.new
+
+# Strip binaries:
+find $PKG | xargs file | grep -e "executable" -e "shared object" \
+ | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
+
+# Compress and link manpages, if any:
+if [ -d $PKG/usr/man ]; then
+ ( cd $PKG/usr/man
+ for manpagedir in $(find . -type d -name "man*") ; do
+ ( cd $manpagedir
+ for eachpage in $( find . -type l -maxdepth 1) ; do
+ ln -s $( readlink $eachpage ).gz $eachpage.gz
+ rm $eachpage
+ done
+ gzip -9 *.?
+ )
+ done
+ )
+fi
+
+# Add a documentation directory:
+mkdir -p $PKG/usr/doc/${PKGNAM}-$VERSION
+cp -a \
+ CHANGES CONTRIBUTORS COPYING* INSTALL README* doc \
+ $PKG/usr/doc/${PKGNAM}-$VERSION
+
+mkdir -p $PKG/install
+cat $CWD/slack-desc > $PKG/install/slack-desc
+cat << EOF > $PKG/install/doinst.sh
+#!/bin/sh
+config() {
+ NEW="\$1"
+ OLD="\$(dirname \$NEW)/\$(basename \$NEW .new)"
+ # If there's no config file by that name, mv it over:
+ if [ ! -r \$OLD ]; then
+ mv \$NEW \$OLD
+ elif [ "\$(cat \$OLD | md5sum)" = "\$(cat \$NEW | md5sum)" ]; then # toss the redundant copy
+ rm \$NEW
+ fi
+ # Otherwise, we leave the .new copy for the admin to consider...
+}
+config etc/sensors3.conf.new
+EOF
+
+cd $PKG
+/sbin/makepkg -l y -c n $TMP/${PKGNAM}-$VERSION-$ARCH-$BUILD.txz
+
diff --git a/patches/source/lm_sensors/lm_sensors.makefile.diff b/patches/source/lm_sensors/lm_sensors.makefile.diff
new file mode 100644
index 00000000..8216a8d1
--- /dev/null
+++ b/patches/source/lm_sensors/lm_sensors.makefile.diff
@@ -0,0 +1,15 @@
+--- ./Makefile.orig 2008-03-26 08:37:12.000000000 -0500
++++ ./Makefile 2008-10-25 20:05:44.000000000 -0500
+@@ -39,10 +39,10 @@
+
+ # If you want to install at some other place then at from which you will run
+ # everything, set DESTDIR to the extra prefix.
+-DESTDIR :=
++DESTDIR := /tmp/package-lm_sensors
+
+ # This is the prefix that will be used for almost all directories below.
+-PREFIX := /usr/local
++PREFIX := /usr
+
+ # Your C compiler
+ CC := gcc
diff --git a/patches/source/lm_sensors/slack-desc b/patches/source/lm_sensors/slack-desc
new file mode 100644
index 00000000..2f32f80d
--- /dev/null
+++ b/patches/source/lm_sensors/slack-desc
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|'
+# on the right side marks the last column you can put a character in. You must
+# make exactly 11 lines for the formatting to be correct. It's also
+# customary to leave one space after the ':'.
+
+ |-----handy-ruler------------------------------------------------------|
+lm_sensors: lm_sensors (hardware monitoring package)
+lm_sensors:
+lm_sensors: lm_sensors provides tools for monitoring the temperatures, voltages,
+lm_sensors: and fans of Linux systems with hardware monitoring devices. Included
+lm_sensors: are text-based tools for sensor reporting, and a library for sensors
+lm_sensors: access called libsensors. It also contains tools for sensor hardware
+lm_sensors: identification and I2C bus probing.
+lm_sensors:
+lm_sensors: IMPORTANT NOTE: If you have a Thinkpad, please read the warnings in
+lm_sensors: the README.thinkpad file. lm_sensors has been known to cause damage
+lm_sensors: to some Thinkpads.
diff --git a/patches/source/lynx/doinst.sh b/patches/source/lynx/doinst.sh
new file mode 100644
index 00000000..79c36713
--- /dev/null
+++ b/patches/source/lynx/doinst.sh
@@ -0,0 +1,13 @@
+config() {
+ NEW="$1"
+ OLD="$(dirname $NEW)/$(basename $NEW .new)"
+ # If there's no config file by that name, mv it over:
+ if [ ! -r $OLD ]; then
+ mv $NEW $OLD
+ elif [ "$(cat $OLD | md5sum)" = "$(cat $NEW | md5sum)" ]; then
+ # toss the redundant copy
+ rm $NEW
+ fi
+ # Otherwise, we leave the .new copy for the admin to consider...
+}
+config etc/lynx.cfg.new
diff --git a/patches/source/lynx/lynx.SlackBuild b/patches/source/lynx/lynx.SlackBuild
new file mode 100755
index 00000000..ec8e3f09
--- /dev/null
+++ b/patches/source/lynx/lynx.SlackBuild
@@ -0,0 +1,155 @@
+#!/bin/sh
+
+# Copyright 2008, 2009, 2010, 2012, 2016, 2017 Patrick J. Volkerding, Sebeka, Minnesota, USA
+# All rights reserved.
+#
+# Redistribution and use of this script, with or without modification, is
+# permitted provided that the following conditions are met:
+#
+# 1. Redistributions of this script must retain the above copyright
+# notice, this list of conditions and the following disclaimer.
+#
+# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED
+# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
+# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
+# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+PKGVER=2.8.8rel.2
+DIRVER=2-8-8
+BUILD=${BUILD:-1_slack13.0}
+
+NUMJOBS=${NUMJOBS:-" -j7 "}
+
+# Automatically determine the architecture we're building on:
+if [ -z "$ARCH" ]; then
+ case "$( uname -m )" in
+ i?86) export ARCH=i486 ;;
+ arm*) export ARCH=arm ;;
+ # Unless $ARCH is already set, use uname -m for all other archs:
+ *) export ARCH=$( uname -m ) ;;
+ esac
+fi
+
+if [ "$ARCH" = "i486" ]; then
+ SLKCFLAGS="-O2 -march=i486 -mtune=i686"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "s390" ]; then
+ SLKCFLAGS="-O2"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "x86_64" ]; then
+ SLKCFLAGS="-O2 -fPIC"
+ LIBDIRSUFFIX="64"
+else
+ SLKCFLAGS="-O2"
+ LIBDIRSUFFIX=""
+fi
+
+CWD=$(pwd)
+TMP=${TMP:-/tmp}
+PKG=$TMP/package-lynx
+
+rm -rf $PKG
+mkdir -p $TMP $PKG/usr/lib${LIBDIRSUFFIX}/lynx
+cd $TMP
+rm -rf lynx$DIRVER
+tar xvf $CWD/lynx${PKGVER}.tar.?z* || exit 1
+cd lynx$DIRVER || exit 1
+
+find . -name "*~" -exec rm -f {} \;
+chown -R root:root .
+find . \
+ \( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \
+ -exec chmod 755 {} \; -o \
+ \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \
+ -exec chmod 644 {} \;
+
+# Change default colors and STARTFILE setting since the old site is gone:
+zcat $CWD/lynx.cfg.diff.gz | patch -p1 --verbose --backup || exit 1
+
+CFLAGS="$SLKCFLAGS" \
+./configure \
+ --prefix=/usr \
+ --sysconfdir=/etc \
+ --libdir=/usr/lib${LIBDIRSUFFIX}/lynx \
+ --datadir=/usr/share/lynx \
+ --mandir=/usr/man \
+ --enable-default-colors \
+ --with-screen=ncursesw \
+ --enable-widec \
+ --enable-gzip-help \
+ --with-zlib \
+ --enable-read-eta \
+ --enable-scrollbar \
+ --with-ssl \
+ --enable-ipv6 \
+ --enable-color-style \
+ --enable-prettysrc \
+ --enable-source-cache \
+ --enable-nsl-fork \
+ --enable-nls \
+ --enable-persistent-cookies \
+ --enable-vertrace \
+ --disable-full-paths \
+ --enable-addrlist-page \
+ --enable-charset-choice \
+ --enable-cjk \
+ --enable-htmlized-cfg \
+ --enable-justify-elts \
+ --enable-locale-charset \
+ --enable-externs \
+ --enable-cgi-links \
+ --enable-change-exec \
+ --enable-exec-links \
+ --enable-exec-scripts \
+ --enable-internal-links \
+ --with-bzlib \
+ --build=$ARCH-slackware-linux
+
+make $NUMJOBS || make || exit 1
+make install DESTDIR=$PKG || exit 1
+make install-help DESTDIR=$PKG || exit 1
+make install-doc DESTDIR=$PKG || exit 1
+
+# Make lynx.cfg a preserved config file:
+mv $PKG/etc/lynx.cfg $PKG/etc/lynx.cfg.new
+
+find $PKG | xargs file | grep -e "executable" -e "shared object" | grep ELF \
+ | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
+
+# Correct $DESTDIR brokenness:
+( cd $PKG/usr/share/lynx/lynx_help
+ rm -f COPYHEADER COPYING
+ ln -sf ../lynx_doc/COPYHEADER .
+ ln -sf ../lynx_doc/COPYING .
+)
+# Add documentation symlinks:
+( mkdir -p $PKG/usr/doc/lynx-$PKGVER
+ cd $PKG/usr/doc/lynx-$PKGVER
+ ln -sf /usr/share/lynx/lynx_doc .
+ ln -sf /usr/share/lynx/lynx_help .
+)
+
+# If there's a ChangeLog, installing at least part of the recent history
+# is useful, but don't let it get totally out of control:
+if [ -r CHANGES ]; then
+ DOCSDIR=$(echo $PKG/usr/share/lynx/lynx_doc)
+ cat CHANGES | head -n 1000 > $DOCSDIR/CHANGES
+ touch -r CHANGES $DOCSDIR/CHANGES
+fi
+
+gzip -9 $PKG/usr/man/man?/*.?
+
+mkdir -p $PKG/install
+zcat $CWD/doinst.sh.gz > $PKG/install/doinst.sh
+cat $CWD/slack-desc > $PKG/install/slack-desc
+
+cd $PKG
+/sbin/makepkg -l y -c n $TMP/lynx-$PKGVER-$ARCH-$BUILD.txz
+
diff --git a/patches/source/lynx/lynx.cfg.diff b/patches/source/lynx/lynx.cfg.diff
new file mode 100644
index 00000000..c2ecefd8
--- /dev/null
+++ b/patches/source/lynx/lynx.cfg.diff
@@ -0,0 +1,31 @@
+--- ./lynx.cfg.orig 2014-03-09 16:43:10.000000000 -0500
++++ ./lynx.cfg 2017-05-29 14:35:52.629203408 -0500
+@@ -90,7 +90,7 @@
+ #
+ # Normally we expect you will connect to a remote site, e.g., the Lynx starting
+ # site:
+-STARTFILE:http://lynx.isc.org/
++STARTFILE:http://lynx.invisible-island.net/
+ #
+ # As an alternative, you may want to use a local URL. A good choice for this is
+ # the user's home directory:
+@@ -2969,8 +2969,18 @@
+ #COLOR:4:magenta:white
+ #COLOR:5:blue:white
+ #COLOR:6:red:white
+-COLOR:6:brightred:black
++#COLOR:6:brightred:black
+ #COLOR:7:magenta:cyan
++COLOR:0:black:white
++COLOR:1:blue:white
++COLOR:2:yellow:blue
++COLOR:3:green:white
++COLOR:4:magenta:white
++COLOR:5:blue:white
++# This makes links a *lot* more visible. The default settings are like
++# "let's torture the color-blind" :^)
++COLOR:6:brightred:black
++COLOR:7:magenta:cyan
+
+ .h2 COLOR_STYLE
+ # Also known as "lss" (lynx style-sheet), the color-style file assigns color
diff --git a/patches/source/lynx/slack-desc b/patches/source/lynx/slack-desc
new file mode 100644
index 00000000..c9209d29
--- /dev/null
+++ b/patches/source/lynx/slack-desc
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|'
+# on the right side marks the last column you can put a character in. You must
+# make exactly 11 lines for the formatting to be correct. It's also
+# customary to leave one space after the ':'.
+
+ |-----handy-ruler------------------------------------------------------|
+lynx: Lynx (text mode browser)
+lynx:
+lynx: Lynx is a distributed hypertext browser with full World Wide Web
+lynx: capabilities. Lynx can be used to access information on the World
+lynx: Wide Web, or to build information systems intended primarily for local
+lynx: access. For example, Lynx has been used to build several Campus Wide
+lynx: Information Systems (CWIS).
+lynx:
+lynx: Lynx's authors include Lou Montulli, Garrett Blythe, Craig Lavender,
+lynx: Michael Grobe, and Charles Rezac.
+lynx:
diff --git a/patches/source/mailx/doinst.sh b/patches/source/mailx/doinst.sh
new file mode 100644
index 00000000..62c288b4
--- /dev/null
+++ b/patches/source/mailx/doinst.sh
@@ -0,0 +1,14 @@
+#!/bin/sh
+config() {
+ NEW="$1"
+ OLD="`dirname $NEW`/`basename $NEW .new`"
+ # If there's no config file by that name, mv it over:
+ if [ ! -r $OLD ]; then
+ mv $NEW $OLD
+ elif [ "`cat $OLD | md5sum`" = "`cat $NEW | md5sum`" ]; then # toss the redundant copy
+ rm $NEW
+ fi
+ # Otherwise, we leave the .new copy for the admin to consider...
+}
+config etc/nail.rc.new
+# Make symlinks:
diff --git a/patches/source/mailx/heirloom-mailx-12.5-fixes-1.patch b/patches/source/mailx/heirloom-mailx-12.5-fixes-1.patch
new file mode 100644
index 00000000..fa6d5119
--- /dev/null
+++ b/patches/source/mailx/heirloom-mailx-12.5-fixes-1.patch
@@ -0,0 +1,232 @@
+Submitted By: Ken Moffat <ken at linuxfromscratch dot org>
+Date: 2014-12-27
+Initial Package Version: 12.5
+Upstream Status: Unknown
+Origin: Changes to remove SSL2 found at debian, remainder from redhat.
+Description: Removes support for SSL2 (openssl no longer supports it)
+and fixes CVE-2004-2771 [sic] and CVE-2014-7844.
+
+diff -Naur heirloom-mailx-12.5/extern.h heirloom-mailx-12.5-patched/extern.h
+--- heirloom-mailx-12.5/extern.h 2011-04-26 22:23:22.000000000 +0100
++++ heirloom-mailx-12.5-patched/extern.h 2014-12-27 01:26:59.654169487 +0000
+@@ -396,7 +396,7 @@
+ int is_fileaddr(char *name);
+ struct name *usermap(struct name *names);
+ struct name *cat(struct name *n1, struct name *n2);
+-char **unpack(struct name *np);
++char **unpack(struct name *smopts, struct name *np);
+ struct name *elide(struct name *names);
+ int count(struct name *np);
+ struct name *delete_alternates(struct name *np);
+diff -Naur heirloom-mailx-12.5/fio.c heirloom-mailx-12.5-patched/fio.c
+--- heirloom-mailx-12.5/fio.c 2011-04-26 22:23:22.000000000 +0100
++++ heirloom-mailx-12.5-patched/fio.c 2014-12-27 01:27:15.634561413 +0000
+@@ -43,12 +43,15 @@
+ #endif /* not lint */
+
+ #include "rcv.h"
++
++#ifndef HAVE_WORDEXP
++#error wordexp support is required
++#endif
++
+ #include <sys/stat.h>
+ #include <sys/file.h>
+ #include <sys/wait.h>
+-#ifdef HAVE_WORDEXP
+ #include <wordexp.h>
+-#endif /* HAVE_WORDEXP */
+ #include <unistd.h>
+
+ #if defined (USE_NSS)
+@@ -481,7 +484,6 @@
+ static char *
+ globname(char *name)
+ {
+-#ifdef HAVE_WORDEXP
+ wordexp_t we;
+ char *cp;
+ sigset_t nset;
+@@ -495,7 +497,7 @@
+ sigemptyset(&nset);
+ sigaddset(&nset, SIGCHLD);
+ sigprocmask(SIG_BLOCK, &nset, NULL);
+- i = wordexp(name, &we, 0);
++ i = wordexp(name, &we, WRDE_NOCMD);
+ sigprocmask(SIG_UNBLOCK, &nset, NULL);
+ switch (i) {
+ case 0:
+@@ -527,65 +529,6 @@
+ }
+ wordfree(&we);
+ return cp;
+-#else /* !HAVE_WORDEXP */
+- char xname[PATHSIZE];
+- char cmdbuf[PATHSIZE]; /* also used for file names */
+- int pid, l;
+- char *cp, *shell;
+- int pivec[2];
+- extern int wait_status;
+- struct stat sbuf;
+-
+- if (pipe(pivec) < 0) {
+- perror("pipe");
+- return name;
+- }
+- snprintf(cmdbuf, sizeof cmdbuf, "echo %s", name);
+- if ((shell = value("SHELL")) == NULL)
+- shell = SHELL;
+- pid = start_command(shell, 0, -1, pivec[1], "-c", cmdbuf, NULL);
+- if (pid < 0) {
+- close(pivec[0]);
+- close(pivec[1]);
+- return NULL;
+- }
+- close(pivec[1]);
+-again:
+- l = read(pivec[0], xname, sizeof xname);
+- if (l < 0) {
+- if (errno == EINTR)
+- goto again;
+- perror("read");
+- close(pivec[0]);
+- return NULL;
+- }
+- close(pivec[0]);
+- if (wait_child(pid) < 0 && WTERMSIG(wait_status) != SIGPIPE) {
+- fprintf(stderr, catgets(catd, CATSET, 81,
+- "\"%s\": Expansion failed.\n"), name);
+- return NULL;
+- }
+- if (l == 0) {
+- fprintf(stderr, catgets(catd, CATSET, 82,
+- "\"%s\": No match.\n"), name);
+- return NULL;
+- }
+- if (l == sizeof xname) {
+- fprintf(stderr, catgets(catd, CATSET, 83,
+- "\"%s\": Expansion buffer overflow.\n"), name);
+- return NULL;
+- }
+- xname[l] = 0;
+- for (cp = &xname[l-1]; *cp == '\n' && cp > xname; cp--)
+- ;
+- cp[1] = '\0';
+- if (strchr(xname, ' ') && stat(xname, &sbuf) < 0) {
+- fprintf(stderr, catgets(catd, CATSET, 84,
+- "\"%s\": Ambiguous.\n"), name);
+- return NULL;
+- }
+- return savestr(xname);
+-#endif /* !HAVE_WORDEXP */
+ }
+
+ /*
+diff -Naur heirloom-mailx-12.5/mailx.1 heirloom-mailx-12.5-patched/mailx.1
+--- heirloom-mailx-12.5/mailx.1 2011-04-26 22:23:22.000000000 +0100
++++ heirloom-mailx-12.5-patched/mailx.1 2014-12-27 01:26:53.838026857 +0000
+@@ -656,6 +656,14 @@
+ will have the system wide alias expanded
+ as all mail goes through sendmail.
+ .SS "Recipient address specifications"
++If the
++.I expandaddr
++option is not set (the default), recipient addresses must be names of
++local mailboxes or Internet mail addresses.
++.PP
++If the
++.I expandaddr
++option is set, the following rules apply:
+ When an address is used to name a recipient
+ (in any of To, Cc, or Bcc),
+ names of local mail folders
+@@ -2391,6 +2399,12 @@
+ If this option is set,
+ \fImailx\fR starts even with an empty mailbox.
+ .TP
++.B expandaddr
++Causes
++.I mailx
++to expand message recipient addresses, as explained in the section,
++Recipient address specifications.
++.TP
+ .B flipr
+ Exchanges the
+ .I Respond
+@@ -3575,7 +3589,7 @@
+ .TP
+ .B ssl-method
+ Selects a SSL/TLS protocol version;
+-valid values are `ssl2', `ssl3', and `tls1'.
++valid values are `ssl3', and `tls1'.
+ If unset, the method is selected automatically,
+ if possible.
+ .TP
+diff -Naur heirloom-mailx-12.5/names.c heirloom-mailx-12.5-patched/names.c
+--- heirloom-mailx-12.5/names.c 2011-04-26 22:23:22.000000000 +0100
++++ heirloom-mailx-12.5-patched/names.c 2014-12-27 01:26:59.654169487 +0000
+@@ -268,6 +268,9 @@
+ FILE *fout, *fin;
+ int ispipe;
+
++ if (value("expandaddr") == NULL)
++ return names;
++
+ top = names;
+ np = names;
+ time(&now);
+@@ -546,7 +549,7 @@
+ * Return an error if the name list won't fit.
+ */
+ char **
+-unpack(struct name *np)
++unpack(struct name *smopts, struct name *np)
+ {
+ char **ap, **top;
+ struct name *n;
+@@ -561,7 +564,7 @@
+ * the terminating 0 pointer. Additional spots may be needed
+ * to pass along -f to the host mailer.
+ */
+- extra = 2;
++ extra = 3 + count(smopts);
+ extra++;
+ metoo = value("metoo") != NULL;
+ if (metoo)
+@@ -578,6 +581,10 @@
+ *ap++ = "-m";
+ if (verbose)
+ *ap++ = "-v";
++ for (; smopts != NULL; smopts = smopts->n_flink)
++ if ((smopts->n_type & GDEL) == 0)
++ *ap++ = smopts->n_name;
++ *ap++ = "--";
+ for (; n != NULL; n = n->n_flink)
+ if ((n->n_type & GDEL) == 0)
+ *ap++ = n->n_name;
+diff -Naur heirloom-mailx-12.5/openssl.c heirloom-mailx-12.5-patched/openssl.c
+--- heirloom-mailx-12.5/openssl.c 2011-04-26 22:23:22.000000000 +0100
++++ heirloom-mailx-12.5-patched/openssl.c 2014-12-27 01:26:34.385549867 +0000
+@@ -216,9 +216,7 @@
+
+ cp = ssl_method_string(uhp);
+ if (cp != NULL) {
+- if (equal(cp, "ssl2"))
+- method = SSLv2_client_method();
+- else if (equal(cp, "ssl3"))
++ if (equal(cp, "ssl3"))
+ method = SSLv3_client_method();
+ else if (equal(cp, "tls1"))
+ method = TLSv1_client_method();
+diff -Naur heirloom-mailx-12.5/sendout.c heirloom-mailx-12.5-patched/sendout.c
+--- heirloom-mailx-12.5/sendout.c 2011-04-26 22:23:22.000000000 +0100
++++ heirloom-mailx-12.5-patched/sendout.c 2014-12-27 01:26:59.654169487 +0000
+@@ -835,7 +835,7 @@
+ #endif /* HAVE_SOCKETS */
+
+ if ((smtp = value("smtp")) == NULL) {
+- args = unpack(cat(mailargs, to));
++ args = unpack(mailargs, to);
+ if (debug || value("debug")) {
+ printf(catgets(catd, CATSET, 181,
+ "Sendmail arguments:"));
diff --git a/patches/source/mailx/mailx.SlackBuild b/patches/source/mailx/mailx.SlackBuild
new file mode 100755
index 00000000..901c2be2
--- /dev/null
+++ b/patches/source/mailx/mailx.SlackBuild
@@ -0,0 +1,142 @@
+#!/bin/sh
+
+# Copyright 2008, 2009, 2010, 2016 Patrick J. Volkerding, Sebeka, MN, USA
+# All rights reserved.
+#
+# Redistribution and use of this script, with or without modification, is
+# permitted provided that the following conditions are met:
+#
+# 1. Redistributions of this script must retain the above copyright
+# notice, this list of conditions and the following disclaimer.
+#
+# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED
+# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
+# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
+# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+VERSION=12.5
+BUILD=${BUILD:-1_slack13.0}
+
+# Automatically determine the architecture we're building on:
+if [ -z "$ARCH" ]; then
+ case "$( uname -m )" in
+ i?86) export ARCH=i486 ;;
+ arm*) export ARCH=arm ;;
+ # Unless $ARCH is already set, use uname -m for all other archs:
+ *) export ARCH=$( uname -m ) ;;
+ esac
+fi
+
+NUMJOBS=${NUMJOBS:-" -j7 "}
+
+if [ "$ARCH" = "i486" ]; then
+ SLKCFLAGS="-O2 -march=i486 -mtune=i686"
+elif [ "$ARCH" = "s390" ]; then
+ SLKCFLAGS="-O2"
+elif [ "$ARCH" = "x86_64" ]; then
+ SLKCFLAGS="-O2 -fPIC"
+else
+ SLKCFLAGS="-O2"
+fi
+
+CWD=$(pwd)
+TMP=${TMP:-/tmp}
+PKG=$TMP/package-mailx
+rm -rf $PKG
+mkdir -p $TMP $PKG
+
+cd $TMP
+rm -rf mailx-$VERSION
+tar xvf $CWD/mailx-$VERSION.tar.?z* || exit 1
+cd mailx-$VERSION || exit 1
+
+zcat $CWD/heirloom-mailx-12.5-fixes-1.patch.gz | patch -p1 --verbose || exit 1
+
+chown -R root:root .
+find . \
+ \( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \
+ -exec chmod 755 {} \; -o \
+ \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \
+ -exec chmod 644 {} \;
+
+make CFLAGS="$SLKCFLAGS" \
+ PREFIX=/usr \
+ MANDIR=/usr/man \
+ MAILSPOOL=/var/spool/mail \
+ UCBINSTALL=/usr/bin/install \
+ SENDMAIL=/usr/sbin/sendmail
+
+make install DESTDIR=$PKG \
+ CFLAGS="$SLKCFLAGS" \
+ PREFIX=/usr \
+ MANDIR=/usr/man \
+ MAILSPOOL=/var/spool/mail \
+ UCBINSTALL=/usr/bin/install \
+ SENDMAIL=/usr/sbin/sendmail
+
+# We put symlinks in /bin since some things still expect '/bin/mail' or '/bin/Mail':
+mkdir -p $PKG/bin
+( cd $PKG/bin
+ ln -sf /usr/bin/mailx Mail
+ ln -sf /usr/bin/mailx mail
+ ln -sf /usr/bin/mailx nail
+)
+# Likewise, we make some compat symlinks in /usr/bin:
+( cd $PKG/usr/bin
+ ln -sf mailx Mail
+ ln -sf mailx mail
+ ln -sf mailx nail
+)
+mv $PKG/etc/nail.rc $PKG/etc/nail.rc.new
+strip $PKG/usr/bin/mailx
+
+# Compress and link manpages, if any:
+if [ -d $PKG/usr/man ]; then
+ ( cd $PKG/usr/man
+ for manpagedir in $(find . -type d -name "man*") ; do
+ ( cd $manpagedir
+ for eachpage in $( find . -type l -maxdepth 1) ; do
+ ln -s $( readlink $eachpage ).gz $eachpage.gz
+ rm $eachpage
+ done
+ gzip -9 *.?
+ )
+ done
+ )
+fi
+
+# Manpage links:
+( cd $PKG/usr/man/man1
+ ln -sf mailx.1.gz mail.1.gz
+ ln -sf mailx.1.gz nail.1.gz
+ ln -sf mailx.1.gz Mail.1.gz
+)
+
+mkdir -p $PKG/usr/doc/mailx-$VERSION
+cp -a \
+ AUTHORS COPYING* INSTALL README TODO \
+ $PKG/usr/doc/mailx-$VERSION
+
+# If there's a ChangeLog, installing at least part of the recent history
+# is useful, but don't let it get totally out of control:
+if [ -r ChangeLog ]; then
+ DOCSDIR=$(echo $PKG/usr/doc/*-$VERSION)
+ cat ChangeLog | head -n 1000 > $DOCSDIR/ChangeLog
+ touch -r ChangeLog $DOCSDIR/ChangeLog
+fi
+
+mkdir -p $PKG/install
+zcat $CWD/doinst.sh.gz > $PKG/install/doinst.sh
+cat $CWD/slack-desc > $PKG/install/slack-desc
+
+# Build the package:
+cd $PKG
+/sbin/makepkg -l y -c n $TMP/mailx-$VERSION-$ARCH-$BUILD.txz
+
diff --git a/patches/source/mailx/slack-desc b/patches/source/mailx/slack-desc
new file mode 100644
index 00000000..d02c6f03
--- /dev/null
+++ b/patches/source/mailx/slack-desc
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|'
+# on the right side marks the last column you can put a character in. You must
+# make exactly 11 lines for the formatting to be correct. It's also
+# customary to leave one space after the ':'.
+
+ |-----handy-ruler------------------------------------------------------|
+mailx: mailx (a simple mail client)
+mailx:
+mailx: Mailx is derived from Berkeley Mail and is intended provide the
+mailx: functionality of the POSIX mailx command with additional support
+mailx: for MIME, IMAP, POP3, SMTP, and S/MIME. It provides enhanced
+mailx: features for interactive use, such as caching and disconnected
+mailx: operation for IMAP, message threading, scoring, and filtering.
+mailx: It is also usable as a mail batch language, both for sending
+mailx: and receiving mail.
+mailx:
+mailx: The maintainer and primary developer of mailx is Gunnar Ritter.
diff --git a/patches/source/mercurial/doinst.sh b/patches/source/mercurial/doinst.sh
new file mode 100644
index 00000000..4cefcc34
--- /dev/null
+++ b/patches/source/mercurial/doinst.sh
@@ -0,0 +1,13 @@
+config() {
+ NEW="$1"
+ OLD="`dirname $NEW`/`basename $NEW .new`"
+ # If there's no config file by that name, mv it over:
+ if [ ! -r $OLD ]; then
+ mv $NEW $OLD
+ elif [ "`cat $OLD | md5sum`" = "`cat $NEW | md5sum`" ]; then # toss the redundant copy
+ rm $NEW
+ fi
+ # Otherwise, we leave the .new copy for the admin to consider...
+}
+config etc/mercurial/hgrc.d/hgk.rc.new
+rm -f etc/mercurial/hgrc.d/hgk.rc.new
diff --git a/patches/source/mercurial/mercurial.SlackBuild b/patches/source/mercurial/mercurial.SlackBuild
new file mode 100755
index 00000000..57e4095a
--- /dev/null
+++ b/patches/source/mercurial/mercurial.SlackBuild
@@ -0,0 +1,109 @@
+#!/bin/sh
+
+# Copyright 2008, 2009, 2010 Patrick J. Volkerding, Sebeka, MN, USA
+# All rights reserved.
+#
+# Redistribution and use of this script, with or without modification, is
+# permitted provided that the following conditions are met:
+#
+# 1. Redistributions of this script must retain the above copyright
+# notice, this list of conditions and the following disclaimer.
+#
+# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED
+# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
+# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
+# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+VERSION=${VERSION:-$(echo mercurial-*.tar.?z* | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
+BUILD=${BUILD-1_slack13.0}
+
+# Automatically determine the architecture we're building on:
+if [ -z "$ARCH" ]; then
+ case "$( uname -m )" in
+ i?86) export ARCH=i486 ;;
+ arm*) export ARCH=arm ;;
+ # Unless $ARCH is already set, use uname -m for all other archs:
+ *) export ARCH=$( uname -m ) ;;
+ esac
+fi
+
+CWD=$(pwd)
+TMP=${TMP:-/tmp}
+PKG=$TMP/package-mercurial
+
+rm -rf $PKG
+mkdir -p $TMP $PKG
+
+cd $TMP
+rm -rf mercurial-$VERSION
+tar xvf $CWD/mercurial-$VERSION.tar.?z* || exit 1
+cd mercurial-$VERSION
+chown -R root.root .
+find . \
+ \( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \
+ -exec chmod 755 {} \; -o \
+ \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \
+ -exec chmod 644 {} \;
+
+python setup.py build install --root=$PKG || exit 1
+
+# Ordinarily we will not add stuff that's not installed through the normal
+# default installation method, but we've had a lot of requests, and it appears
+# that installing at least the hgk extension is the ad-hoc standard.
+mkdir -p $PKG/usr/libexec/mercurial
+cp -a contrib/hgk $PKG/usr/libexec/mercurial
+chmod 0755 $PKG/usr/libexec/mercurial/hgk
+
+mkdir -p $PKG/etc/mercurial/hgrc.d
+cat << EOF > $PKG/etc/mercurial/hgrc.d/hgk.rc.new
+[extensions]
+# enable hgk extension ('hg help' shows 'view' as a command)
+hgk =
+[hgk]
+
+path=/usr/libexec/mercurial/hgk
+EOF
+
+# Bash and zsh completion:
+mkdir -p $PKG/usr/share/bash-completion/completions/
+cp -a contrib/bash_completion $PKG/usr/share/bash-completion/completions/hg
+chmod 644 $PKG/usr/share/bash-completion/completions/hg
+mkdir -p $PKG/usr/share/zsh/site-functions
+cp -a contrib/zsh_completion $PKG/usr/share/zsh/site-functions/_mercurial
+chmod 644 $PKG/usr/share/zsh/site-functions/_mercurial
+
+# Emacs Lisp extensions:
+mkdir -p $PKG/usr/share/emacs/site-lisp
+cp -a contrib/mercurial.el contrib/mq.el $PKG/usr/share/emacs/site-lisp
+chmod 644 $PKG/usr/share/emacs/site-lisp/*
+
+find $PKG | xargs file | grep -e "executable" -e "shared object" | grep ELF \
+ | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
+
+( cd doc
+ for dir in 1 5 ; do
+ mkdir -p $PKG/usr/man/man${dir}
+ for file in *.${dir} ; do
+ cat $file | gzip -9c > $PKG/usr/man/man${dir}/${file}.gz
+ done
+ done
+)
+
+mkdir -p $PKG/usr/doc/mercurial-$VERSION
+cp -a \
+ CONTRIBUTORS COPYING* PKG-INFO README* \
+ $PKG/usr/doc/mercurial-$VERSION
+
+mkdir -p $PKG/install
+zcat $CWD/doinst.sh.gz > $PKG/install/doinst.sh
+cat $CWD/slack-desc > $PKG/install/slack-desc
+
+cd $PKG
+/sbin/makepkg -l y -c n $TMP/mercurial-$VERSION-$ARCH-$BUILD.txz
+
diff --git a/patches/source/mercurial/slack-desc b/patches/source/mercurial/slack-desc
new file mode 100644
index 00000000..e770f6c3
--- /dev/null
+++ b/patches/source/mercurial/slack-desc
@@ -0,0 +1,22 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|' on
+# the right side marks the last column you can put a character in. You must make
+# exactly 11 lines for the formatting to be correct. It's also customary to
+# leave one space after the ':'.
+
+# This article is licensed under the GNU Free Documentation License.
+# It uses material from the Wikipedia article "Mercurial".
+
+ |-----handy-ruler------------------------------------------------------|
+mercurial: mercurial (a distributed source management system)
+mercurial:
+mercurial: Mercurial is a cross-platform, distributed source management tool for
+mercurial: software developers. It is written in Python, with a binary diff
+mercurial: implementation written in C. Its major features include high-
+mercurial: performance; serverless, fully distributed collaborative development;
+mercurial: robust handling of both plain text and binary files; advanced
+mercurial: branching and merging capabilities; and full source code available
+mercurial: under the terms of the LGPL.
+mercurial:
+mercurial: Mercurial was written by Matt Mackall and other contributors.
diff --git a/patches/source/mesa/README.GIT b/patches/source/mesa/README.GIT
new file mode 100644
index 00000000..4e79f374
--- /dev/null
+++ b/patches/source/mesa/README.GIT
@@ -0,0 +1,16 @@
+Anonymous git Access
+
+ To get the Mesa sources anonymously (read-only):
+
+ 1. Install the git software on your computer if needed.
+
+ 2. Get an initial, local copy of the repository with:
+
+ git clone git://anongit.freedesktop.org/git/mesa/mesa
+
+
+ 3. Later, you can update your tree from the master repository with:
+
+ git pull origin
+
+
diff --git a/patches/source/mesa/get-mesa.sh b/patches/source/mesa/get-mesa.sh
new file mode 100644
index 00000000..710043c6
--- /dev/null
+++ b/patches/source/mesa/get-mesa.sh
@@ -0,0 +1,8 @@
+rm -rf mesa
+git clone git://anongit.freedesktop.org/git/mesa/mesa
+# package the source archive and clean up:
+( cd mesa ; find . -type d -name .git -exec rm -rf {} \; 2> /dev/null )
+DATE=$(date +%Y%m%d)
+mv mesa mesa-${DATE}_git
+tar cjf mesa-${DATE}_git.tar.bz2 mesa-${DATE}_git
+rm -rf mesa-${DATE}_git
diff --git a/patches/source/mesa/mesa.SlackBuild b/patches/source/mesa/mesa.SlackBuild
new file mode 100755
index 00000000..31d15cb8
--- /dev/null
+++ b/patches/source/mesa/mesa.SlackBuild
@@ -0,0 +1,132 @@
+#!/bin/sh
+
+# Copyright 2006, 2007, 2008, 2009 Patrick J. Volkerding, Sebeka, MN, USA
+# All rights reserved.
+#
+# Redistribution and use of this script, with or without modification, is
+# permitted provided that the following conditions are met:
+#
+# 1. Redistributions of this script must retain the above copyright
+# notice, this list of conditions and the following disclaimer.
+#
+# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED
+# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
+# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
+# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+PKGNAM=mesa
+VERSION=${VERSION:-7.5}
+ARCH=${ARCH:-x86_64}
+BUILD=${BUILD:-2}
+
+# Be sure this list is up-to-date:
+#DRI_DRIVERS="i810,i915,i965,mach64,mga,nouveau,r128,r200,r300,radeon,s3v,savage,sis,tdfx,trident,unichrome,ffb,swrast"
+DRI_DRIVERS="i810,i915,i965,mach64,mga,r128,r200,r300,radeon,s3v,savage,sis,tdfx,trident,unichrome,ffb,swrast"
+
+NUMJOBS=${NUMJOBS:--j8}
+
+CWD=$(pwd)
+TMP=${TMP:-/tmp}
+PKG=$TMP/package-mesa
+
+if [ "$ARCH" = "i486" ]; then
+ SLKCFLAGS="-O2 -march=i486 -mtune=i686"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "x86_64" ]; then
+ SLKCFLAGS="-O2 -fPIC"
+ LIBDIRSUFFIX="64"
+else
+ SLKCFLAGS="-O2"
+ LIBDIRSUFFIX=""
+fi
+
+rm -rf $PKG
+mkdir -p $TMP $PKG
+cd $TMP
+rm -rf Mesa-${VERSION}
+tar xvf $CWD/MesaLib-$VERSION.tar.xz || exit 1
+tar xvf $CWD/MesaGLUT-$VERSION.tar.xz || exit 1
+tar xvf $CWD/MesaDemos-$VERSION.tar.xz || exit 1
+cd Mesa-$VERSION
+
+# Make sure ownerships and permissions are sane:
+chown -R root:root .
+find . \
+ \( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \
+ -exec chmod 755 {} \; -o \
+ \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \
+ -exec chmod 644 {} \;
+
+CFLAGS="$SLKCFLAGS" \
+./configure \
+ --prefix=/usr \
+ --sysconfdir=/etc \
+ --libdir=/usr/lib${LIBDIRSUFFIX} \
+ --mandir=/usr/man \
+ --docdir=/usr/doc/mesa-$VERSION \
+ --with-dri-driverdir=/usr/lib${LIBDIRSUFFIX}/xorg/modules/dri \
+ --with-dri-drivers="$DRI_DRIVERS" \
+ --build=$ARCH-slackware-linux
+
+# Nobody else is enabling this. Seems like it's asking for trouble.
+# --enable-xcb
+
+make $NUMJOBS || make || exit 1
+make install DESTDIR=$PKG || exit 1
+
+# Install gears and glinfo:
+mkdir -p $PKG/usr/bin
+cp -a progs/demos/gears $PKG/usr/bin/gears
+cp -a progs/demos/glinfo $PKG/usr/bin/glinfo
+
+# Install some "demos":
+( cd progs/xdemos
+ cp glthreads glxcontexts glxdemo glxgears glxgears_fbconfig glxheads \
+ glxinfo glxpbdemo glxpixmap \
+ $PKG/usr/bin
+)
+
+# Strip binaries:
+find $PKG | xargs file | grep -e "executable" -e "shared object" | grep ELF \
+ | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
+
+# Compress and link manpages, if any:
+if [ -d $PKG/usr/man ]; then
+ ( cd $PKG/usr/man
+ for manpagedir in $(find . -type d -name "man*") ; do
+ ( cd $manpagedir
+ for eachpage in $( find . -type l -maxdepth 1) ; do
+ ln -s $( readlink $eachpage ).gz $eachpage.gz
+ rm $eachpage
+ done
+ gzip -9 *.?
+ )
+ done
+ )
+fi
+
+# Compress info files, if any:
+if [ -d $PKG/usr/info ]; then
+ ( cd $PKG/usr/info
+ rm -f dir
+ gzip -9 *
+ )
+fi
+
+mkdir -p $PKG/usr/doc/Mesa-$VERSION/html
+cp -a COPYING docs/relnotes-$VERSION.html $PKG/usr/doc/Mesa-$VERSION
+rm -f docs/relnotes*.html docs/RELNOTES*
+cp -a docs/*.html $PKG/usr/doc/Mesa-$VERSION/html
+
+mkdir -p $PKG/install
+cat $CWD/slack-desc > $PKG/install/slack-desc
+
+cd $PKG
+/sbin/makepkg -l y -c n $TMP/${PKGNAM}-$VERSION-$ARCH-$BUILD.txz
+
diff --git a/patches/source/mesa/slack-desc b/patches/source/mesa/slack-desc
new file mode 100644
index 00000000..113964bd
--- /dev/null
+++ b/patches/source/mesa/slack-desc
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|'
+# on the right side marks the last column you can put a character in. You must
+# make exactly 11 lines for the formatting to be correct. It's also
+# customary to leave one space after the ':'.
+
+ |-----handy-ruler------------------------------------------------------|
+mesa: mesa (a 3-D graphics library)
+mesa:
+mesa: Mesa is a 3-D graphics library with an API very similar to that of
+mesa: another well-known 3-D graphics library. :-) The Mesa libraries are
+mesa: used by X to provide both software and hardware accelerated graphics.
+mesa:
+mesa: Mesa was written by Brian Paul.
+mesa:
+mesa:
+mesa:
+mesa:
diff --git a/patches/source/minicom/config.sub-x86_64.diff b/patches/source/minicom/config.sub-x86_64.diff
new file mode 100644
index 00000000..fa89bb3c
--- /dev/null
+++ b/patches/source/minicom/config.sub-x86_64.diff
@@ -0,0 +1,20 @@
+--- ./config.sub.orig 1998-04-26 17:20:59.000000000 +0400
++++ ./config.sub 2007-08-30 09:48:46.000000000 +0400
+@@ -129,7 +129,7 @@
+ case $basic_machine in
+ # Recognize the basic CPU types without company name.
+ # Some are omitted here because they have special meanings below.
+- tahoe | i[345]86 | i860 | m68k | m68000 | m88k | ns32k | arm \
++ tahoe | i[345]86 | x86_64 | i860 | m68k | m68000 | m88k | ns32k | arm \
+ | arme[lb] | pyramid \
+ | tron | a29k | 580 | i960 | h8300 | hppa1.0 | hppa1.1 \
+ | alpha | we32k | ns16k | clipper | sparclite | i370 | sh \
+@@ -144,7 +144,7 @@
+ exit 1
+ ;;
+ # Recognize the basic CPU types with company name.
+- vax-* | tahoe-* | i[345]86-* | i860-* | m68k-* | m68000-* | m88k-* \
++ vax-* | tahoe-* | i[345]86-* | x86_64-* | i860-* | m68k-* | m68000-* | m88k-* \
+ | sparc-* | ns32k-* | fx80-* | arm-* | c[123]* \
+ | mips-* | pyramid-* | tron-* | a29k-* | romp-* | rs6000-* | power-* \
+ | none-* | 580-* | cray2-* | h8300-* | i960-* | xmp-* | ymp-* \
diff --git a/patches/source/minicom/doinst.sh b/patches/source/minicom/doinst.sh
new file mode 100644
index 00000000..5961829b
--- /dev/null
+++ b/patches/source/minicom/doinst.sh
@@ -0,0 +1,15 @@
+#!/bin/sh
+config() {
+ NEW="$1"
+ OLD="$(dirname $NEW)/$(basename $NEW .new)"
+ # If there's no config file by that name, mv it over:
+ if [ ! -r $OLD ]; then
+ mv $NEW $OLD
+ elif [ "$(cat $OLD | md5sum)" = "$(cat $NEW | md5sum)" ]; then # toss the redundant copy
+ rm $NEW
+ fi
+ # Otherwise, we leave the .new copy for the admin to consider...
+}
+config etc/minicom.users.new
+config etc/minirc.dfl.new
+rm -f etc/minicom.users.new etc/minirc.dfl.new
diff --git a/patches/source/minicom/lrzsz_0.12.21-5.diff b/patches/source/minicom/lrzsz_0.12.21-5.diff
new file mode 100644
index 00000000..b2541a91
--- /dev/null
+++ b/patches/source/minicom/lrzsz_0.12.21-5.diff
@@ -0,0 +1,4194 @@
+--- lrzsz-0.12.21.orig/po/de.po
++++ lrzsz-0.12.21/po/de.po
+@@ -28,21 +28,21 @@
+
+ #: src/lsz.c:422
+ msgid "packetlength"
+-msgstr "Paketlänge"
++msgstr "Paketl?nge"
+
+ #: src/lsz.c:427
+ #, c-format
+ msgid "packetlength out of range 24..%ld"
+-msgstr "Argument der Option L außerhalb des Bereichs 24..%ld"
++msgstr "Argument der Option L au?erhalb des Bereichs 24..%ld"
+
+ #: src/lsz.c:436
+ msgid "framelength"
+-msgstr "Framelänge"
++msgstr "Framel?nge"
+
+ #: src/lsz.c:441
+ #, c-format
+ msgid "framelength out of range 32..%ld"
+-msgstr "Argument der Option l außerhalb des Bereichs 32..%ld"
++msgstr "Argument der Option l au?erhalb des Bereichs 32..%ld"
+
+ #: src/lrz.c:318 src/lsz.c:450
+ msgid "min_bps"
+@@ -50,7 +50,7 @@
+
+ #: src/lsz.c:452
+ msgid "min_bps must be >= 0"
+-msgstr "minimale BPS-Rate muß >= 0 sein"
++msgstr "minimale BPS-Rate mu? >= 0 sein"
+
+ #: src/lrz.c:324 src/lsz.c:458
+ msgid "min_bps_time"
+@@ -58,7 +58,7 @@
+
+ #: src/lrz.c:326 src/lsz.c:460
+ msgid "min_bps_time must be > 1"
+-msgstr "Zeitfenster für minimale BPS-Rate muß > 1 Sekunde sein"
++msgstr "Zeitfenster f?r minimale BPS-Rate mu? > 1 Sekunde sein"
+
+ #: src/lrz.c:342 src/lsz.c:484
+ msgid "hour to large (0..23)"
+@@ -70,7 +70,7 @@
+
+ #: src/lrz.c:348 src/lsz.c:490
+ msgid "minute to large (0..59)"
+-msgstr "Minute zu groß (0..59)"
++msgstr "Minute zu gro? (0..59)"
+
+ #: src/lrz.c:358 src/lrz.c:365 src/lsz.c:500 src/lsz.c:507
+ msgid "stop time to small"
+@@ -86,15 +86,15 @@
+
+ #: src/lrz.c:396 src/lsz.c:518
+ msgid "timeout out of range 10..1000"
+-msgstr "Argument der Option t außerhalb des Bereichs 10..1000"
++msgstr "Argument der Option t au?erhalb des Bereichs 10..1000"
+
+ #: src/lrz.c:412 src/lsz.c:526
+ msgid "security violation: can't do that under restricted shell\n"
+-msgstr "Sicherheitsverstoß: Ausführung unter eingeschränkter Shell verboten\n"
++msgstr "Sicherheitsversto?: Ausf?hrung unter eingeschr?nkter Shell verboten\n"
+
+ #: src/lrz.c:402 src/lsz.c:533
+ msgid "window size"
+-msgstr "Fenstergröße"
++msgstr "Fenstergr??e"
+
+ #: src/lrz.c:427 src/lrz.c:434 src/lsz.c:556 src/lsz.c:563
+ msgid "cannot turnoff syslog"
+@@ -102,7 +102,7 @@
+
+ #: src/lrz.c:449 src/lsz.c:571
+ msgid "startup delay"
+-msgstr "Startverzögerung"
++msgstr "Startverz?gerung"
+
+ #: src/lrz.c:465 src/lrz.c:483 src/lrz.c:760 src/lrz.c:1122 src/lrz.c:1244
+ #: src/lrz.c:1292 src/lrz.c:1309 src/lrz.c:1324 src/lrz.c:1423 src/lsz.c:580
+@@ -117,11 +117,11 @@
+
+ #: src/lsz.c:612 src/lsz.c:627
+ msgid "need at least one file to send"
+-msgstr "es muß mindestens ein Name einer zu sendenden Datei angegeben werden"
++msgstr "es mu? mindestens ein Name einer zu sendenden Datei angegeben werden"
+
+ #: src/lsz.c:629
+ msgid "Can't send command in restricted mode\n"
+-msgstr "Im eingeschränkten Modus ist das Senden von Kommandos verboten\n"
++msgstr "Im eingeschr?nkten Modus ist das Senden von Kommandos verboten\n"
+
+ #: src/lrz.c:527 src/lsz.c:656
+ msgid "hostname too long\n"
+@@ -137,21 +137,21 @@
+
+ #: src/lrz.c:574 src/lsz.c:803
+ msgid "Transfer incomplete\n"
+-msgstr "Übertragung nicht abgeschlossen\n"
++msgstr "?bertragung nicht abgeschlossen\n"
+
+ #: src/lrz.c:576 src/lsz.c:805
+ msgid "Transfer complete\n"
+-msgstr "Übertragung abgeschlossen\n"
++msgstr "?bertragung abgeschlossen\n"
+
+ #: src/lsz.c:838
+ #, c-format
+ msgid "send_pseudo %s: cannot open tmpfile %s: %s"
+-msgstr "send_pseudo %s: kann temporäre Datei %s nicht öffnen: %s"
++msgstr "send_pseudo %s: kann tempor?re Datei %s nicht ?ffnen: %s"
+
+ #: src/lsz.c:851
+ #, c-format
+ msgid "send_pseudo %s: cannot lstat tmpfile %s: %s"
+-msgstr "send_pseudo %s: kann lstat nicht auf temporäre Datei %s anwenden: %s"
++msgstr "send_pseudo %s: kann lstat nicht auf tempor?re Datei %s anwenden: %s"
+
+ #: src/lsz.c:859
+ #, c-format
+@@ -161,7 +161,7 @@
+ #: src/lsz.c:870
+ #, c-format
+ msgid "send_pseudo %s: cannot write to tmpfile %s: %s"
+-msgstr "send_pseudo %s: kann nicht in temporäre Datei %s schreiben: %s"
++msgstr "send_pseudo %s: kann nicht in tempor?re Datei %s schreiben: %s"
+
+ #: src/lsz.c:879
+ #, c-format
+@@ -188,17 +188,17 @@
+
+ #: src/lsz.c:953
+ msgid "Can't open any requested files."
+-msgstr "Kann keine der angeforderten Dateien öffnen"
++msgstr "Kann keine der angeforderten Dateien ?ffnen"
+
+ #: src/lsz.c:1009
+ #, c-format
+ msgid "security violation: not allowed to upload from %s"
+-msgstr "Sicherheitsverstoß: Ausführung unter eingeschränkter Shell verboten"
++msgstr "Sicherheitsversto?: Ausf?hrung unter eingeschr?nkter Shell verboten"
+
+ #: src/lrz.c:1384 src/lsz.c:1027
+ #, c-format
+ msgid "cannot open %s"
+-msgstr "kann %s nicht öffnen"
++msgstr "kann %s nicht ?ffnen"
+
+ #: src/lsz.c:1082
+ #, c-format
+@@ -213,12 +213,12 @@
+ #: src/lsz.c:1119
+ #, c-format
+ msgid "skipped: %s"
+-msgstr "übersprungen: %s"
++msgstr "?bersprungen: %s"
+
+ #: src/lsz.c:1122
+ #, c-format
+ msgid "%s/%s: skipped"
+-msgstr "%s/%s: übersprungen"
++msgstr "%s/%s: ?bersprungen"
+
+ #: src/lsz.c:1149
+ #, c-format
+@@ -228,7 +228,7 @@
+ #: src/lsz.c:1178
+ #, c-format
+ msgid "Sending %s, %ld blocks: "
+-msgstr "Sende %s, %ld Blöcke:"
++msgstr "Sende %s, %ld Bl?cke:"
+
+ #: src/lsz.c:1181
+ msgid "Give your local XMODEM receive command now."
+@@ -245,11 +245,11 @@
+
+ #: src/lsz.c:1314
+ msgid "Receiver Cancelled"
+-msgstr "Empfänger brach ab"
++msgstr "Empf?nger brach ab"
+
+ #: src/lsz.c:1340
+ msgid "No ACK on EOT"
+-msgstr "Keine Bestätigung für Übertragungsende erhalten"
++msgstr "Keine Best?tigung f?r ?bertragungsende erhalten"
+
+ #: src/lsz.c:1361
+ #, c-format
+@@ -267,11 +267,11 @@
+
+ #: src/lsz.c:1399
+ msgid "Timeout on sector ACK"
+-msgstr "Timeout bei Sektorbestätigung"
++msgstr "Timeout bei Sektorbest?tigung"
+
+ #: src/lsz.c:1404
+ msgid "NAK on sector"
+-msgstr "Sektor nicht bestätigt"
++msgstr "Sektor nicht best?tigt"
+
+ #: src/lsz.c:1410
+ msgid "Got burst for sector ACK"
+@@ -280,11 +280,11 @@
+ #: src/lsz.c:1412
+ #, c-format
+ msgid "Got %02x for sector ACK"
+-msgstr "Erhielt %02x als Sektorbestätigung"
++msgstr "Erhielt %02x als Sektorbest?tigung"
+
+ #: src/lsz.c:1424
+ msgid "Retry Count Exceeded"
+-msgstr "Maximale Wiederholungsanzahl überschritten"
++msgstr "Maximale Wiederholungsanzahl ?berschritten"
+
+ #: src/lrz.c:596 src/lsz.c:1502
+ #, c-format
+@@ -308,7 +308,7 @@
+
+ #: src/lsz.c:1513
+ msgid "Send file(s) with ZMODEM/YMODEM/XMODEM protocol\n"
+-msgstr "Dateien mit ZMODEM/YMODEM/XMODEM übertragen\n"
++msgstr "Dateien mit ZMODEM/YMODEM/XMODEM ?bertragen\n"
+
+ # src/lrz.c:475 src/lsz.c:1330 xx
+ #: src/lrz.c:607 src/lsz.c:1515
+@@ -317,9 +317,9 @@
+ " (Y) = option applies to YMODEM only\n"
+ " (Z) = option applies to ZMODEM only\n"
+ msgstr ""
+-" (X) = Option gilt nur für XMODEM\n"
+-" (Y) = Option gilt nur für YMODEM\n"
+-" (Z) = Option gilt nur für ZMODEM\n"
++" (X) = Option gilt nur f?r XMODEM\n"
++" (Y) = Option gilt nur f?r YMODEM\n"
++" (Z) = Option gilt nur f?r ZMODEM\n"
+
+ #: src/lsz.c:1521
+ msgid ""
+@@ -347,32 +347,32 @@
+ " -m, --min-bps N stop transmission if BPS below N\n"
+ " -M, --min-bps-time N for at least N seconds (default: 120)\n"
+ msgstr ""
+-" -+, --append an existierende Dateien anhängen (Z)\n"
++" -+, --append an existierende Dateien anh?ngen (Z)\n"
+ " -2, --twostop zwei Stopbits verwenden\n"
+-" -4, --try-4k bis zu 4K Blockgröße verwenden\n"
+-" --start-4k mit 4K Blockgröße starten (versucht nicht 8)\n"
+-" -8, --try-8k bis zu 8K Blockgröße verwenden\n"
+-" --start-8k mit 8K Blockgröße starten\n"
++" -4, --try-4k bis zu 4K Blockgr??e verwenden\n"
++" --start-4k mit 4K Blockgr??e starten (versucht nicht 8)\n"
++" -8, --try-8k bis zu 8K Blockgr??e verwenden\n"
++" --start-8k mit 8K Blockgr??e starten\n"
+ " -a, --ascii ASCII: NL nach CR/LF wandeln\n"
+-" -b, --binary Binärübertragung erzwingen\n"
++" -b, --binary Bin?r?bertragung erzwingen\n"
+ " -B, --bufsize N N Bytes puffern (auto: ganze Datei puffern)\n"
+-" -c, --command COMMAND Kommando KOMMANDO auf Gegenseite ausführen "
++" -c, --command COMMAND Kommando KOMMANDO auf Gegenseite ausf?hren "
+ "(Z)\n"
+-" -C, --command-tries N N mal Kommandoausführung versuchen (Z)\n"
++" -C, --command-tries N N mal Kommandoausf?hrung versuchen (Z)\n"
+ " -d, --dot-to-slash C '.' in Dateinamen nach '/' wandeln (Y/Z)\n"
+ " --delay-startup N Bei Programmstart N Sek. schlafen (Debugging)\n"
+ " -e, --escape alle Steuerzeichen escapen (Z)\n"
+-" -E, --rename Empfänger soll Datei umbenennen falls\n"
++" -E, --rename Empf?nger soll Datei umbenennen falls\n"
+ " Zieldatei schon existiert\n"
+ " -f, --full-path Dateien mit vollen Pfaden senden (Y/Z)\n"
+-" -i, --immediate-command CMD wie `c', aber sofort zurückkehren (Z)\n"
++" -i, --immediate-command CMD wie `c', aber sofort zur?ckkehren (Z)\n"
+ " -h, --help diesen Hilfetext ausgeben\n"
+ " -k, --1k 1024 Bytes Pakete senden (Y)\n"
+-" -L, --packetlen N Unterpaketlänge auf N Bytes beschränken (Z)\n"
+-" -l, --framelen N Rahmenlänge auf N Bytes beschränken (l>=L) "
++" -L, --packetlen N Unterpaketl?nge auf N Bytes beschr?nken (Z)\n"
++" -l, --framelen N Rahmenl?nge auf N Bytes beschr?nken (l>=L) "
+ "(Z)\n"
+-" -m, --min-bps N Übertragung abbrechen bei weniger als N BPS\n"
+-" -M, --min-bps-time N für mindestens N Sekunden (Default: 120)\n"
++" -m, --min-bps N ?bertragung abbrechen bei weniger als N BPS\n"
++" -M, --min-bps-time N f?r mindestens N Sekunden (Default: 120)\n"
+
+ #: src/lsz.c:1546
+ msgid ""
+@@ -400,28 +400,28 @@
+ "short options use the same arguments as the long ones\n"
+ msgstr ""
+ " -n, --newer Datei senden wenn sie neuer ist (Z)\n"
+-" -N, --newer-or-longer Datei senden wenn neuer oder länger (Z)\n"
++" -N, --newer-or-longer Datei senden wenn neuer oder l?nger (Z)\n"
+ " -o, --16-bit-crc 16Bit CRC statt 32Bit CRC verwenden (Z)\n"
+ " -O, --disable-timeouts Timeoutbehandlung abschalten\n"
+-" -p, --protect existierende Dateien nicht verändern\n"
+-" -r, --resume unterbrochene Übertragungen fortsetzen (Z)\n"
+-" -R, --restricted eingeschränkter, sichererer Modus\n"
++" -p, --protect existierende Dateien nicht ver?ndern\n"
++" -r, --resume unterbrochene ?bertragungen fortsetzen (Z)\n"
++" -R, --restricted eingeschr?nkter, sichererer Modus\n"
+ " -q, --quiet leise, keine Ausgaben machen\n"
+-" -s, --stop-at {HH:MM|+N} Übertragung um HH:MM oder in N Sek. abbrechen\n"
+-" --tcp-server Socket öffnen und auf Verbindung warten\n"
+-" --tcp-client ADDR:PORT Socket öffnen und verbindung mit ...\n"
+-" -u, --unlink Datei nach Übertragung löschen\n"
+-" -U, --unrestrict eingeschränkten Modus aufheben (falls "
++" -s, --stop-at {HH:MM|+N} ?bertragung um HH:MM oder in N Sek. abbrechen\n"
++" --tcp-server Socket ?ffnen und auf Verbindung warten\n"
++" --tcp-client ADDR:PORT Socket ?ffnen und verbindung mit ...\n"
++" -u, --unlink Datei nach ?bertragung l?schen\n"
++" -U, --unrestrict eingeschr?nkten Modus aufheben (falls "
+ "erlaubt)\n"
+ " -v, --verbose mehr ausgeben\n"
+-" -w, --windowsize N Fenstergröße auf N Bytes setzen (Z)\n"
++" -w, --windowsize N Fenstergr??e auf N Bytes setzen (Z)\n"
+ " -X --xmodem XMODEM-Protokoll benutzen\n"
+-" -y, --overwrite existierende Dateien überschreiben\n"
+-" -Y, --overwrite-or-skip wie `y', aber nicht existierende überspringen\n"
++" -y, --overwrite existierende Dateien ?berschreiben\n"
++" -Y, --overwrite-or-skip wie `y', aber nicht existierende ?berspringen\n"
+ " --ymodem YMODEM-Protokoll benutzen\n"
+ " -Z, --zmodem ZMODEM-Protokoll benutzen\n"
+ "\n"
+-"Kurze Optionen benötigen dieselben Argumente wie Lange.\n"
++"Kurze Optionen ben?tigen dieselben Argumente wie Lange.\n"
+
+ #: src/lsz.c:1768
+ msgid "got ZRQINIT"
+@@ -434,7 +434,7 @@
+ #: src/lsz.c:1991
+ #, c-format
+ msgid "blklen now %d\n"
+-msgstr "Blockgröße nun %d\n"
++msgstr "Blockgr??e nun %d\n"
+
+ #: src/lsz.c:2053
+ #, c-format
+@@ -453,7 +453,7 @@
+ #: src/lsz.c:2223
+ #, c-format
+ msgid "calc_blklen: reduced to %d due to error\n"
+-msgstr "calc_blklen: Blockgrösse auf %d reduziert wegen Fehler\n"
++msgstr "calc_blklen: Blockgr?sse auf %d reduziert wegen Fehler\n"
+
+ #: src/lsz.c:2256
+ #, c-format
+@@ -473,7 +473,7 @@
+ #: src/lsz.c:2278
+ #, c-format
+ msgid "calc_blklen: blklen %d, ok %ld, failed %ld -> %lu\n"
+-msgstr "calc_blklen: Blocklänge %d, ok %ld, fehlgeschlagen %ld -> %lu\n"
++msgstr "calc_blklen: Blockl?nge %d, ok %ld, fehlgeschlagen %ld -> %lu\n"
+
+ #: src/lsz.c:2290
+ #, c-format
+@@ -512,7 +512,7 @@
+
+ #: src/zm.c:712
+ msgid "Garbage count exceeded"
+-msgstr "Maximale Wiederholungsanzahl überschritten"
++msgstr "Maximale Wiederholungsanzahl ?berschritten"
+
+ #: src/zm.c:773
+ #, c-format
+@@ -526,11 +526,11 @@
+
+ #: src/lrz.c:382
+ msgid "don't have settimeofday, will not set time\n"
+-msgstr "Zeitsynchronisation nicht ausführbar, settimeofday() fehlt\n"
++msgstr "Zeitsynchronisation nicht ausf?hrbar, settimeofday() fehlt\n"
+
+ #: src/lrz.c:386
+ msgid "not running as root (this is good!), can not set time\n"
+-msgstr "Zeitsynchronisation mangels Superuserrechten nicht ausführbar\n"
++msgstr "Zeitsynchronisation mangels Superuserrechten nicht ausf?hrbar\n"
+
+ #: src/lrz.c:441
+ msgid "bytes_per_error"
+@@ -542,16 +542,16 @@
+
+ #: src/lrz.c:455
+ msgid "O_SYNC not supported by the kernel"
+-msgstr "O_SYNC vom Kernel nicht unterstützt"
++msgstr "O_SYNC vom Kernel nicht unterst?tzt"
+
+ #: src/lrz.c:497 src/lrz.c:499
+ msgid "garbage on commandline"
+-msgstr "Müll auf der Kommandozeile"
++msgstr "M?ll auf der Kommandozeile"
+
+ #: src/lrz.c:604
+ #, c-format
+ msgid "Usage: %s [options] [filename.if.xmodem]\n"
+-msgstr "Benutzung: %s [Optionen] [Dateiname.für.xmodem]\n"
++msgstr "Benutzung: %s [Optionen] [Dateiname.f?r.xmodem]\n"
+
+ #: src/lrz.c:605
+ msgid "Receive files with ZMODEM/YMODEM/XMODEM protocol\n"
+@@ -596,44 +596,44 @@
+ "\n"
+ "short options use the same arguments as the long ones\n"
+ msgstr ""
+-" -+, --append an existierende Dateien anhängen\n"
+-" -a, --ascii ASCII-Übertragung (CR/LF nach LF wandeln)\n"
+-" -b, --binary Binärübertragung (keine Umwandlungen)\n"
++" -+, --append an existierende Dateien anh?ngen\n"
++" -a, --ascii ASCII-?bertragung (CR/LF nach LF wandeln)\n"
++" -b, --binary Bin?r?bertragung (keine Umwandlungen)\n"
+ " -B, --bufsize N N Bytes puffern (auto: ganze Datei puffern)\n"
+-" -c, --with-crc 16bit CRC statt Prüfsumme verwenden (X)\n"
+-" -C, --allow-remote-commands Ausführung von Kommandos erlauben (Z)\n"
++" -c, --with-crc 16bit CRC statt Pr?fsumme verwenden (X)\n"
++" -C, --allow-remote-commands Ausf?hrung von Kommandos erlauben (Z)\n"
+ " -D, --null empfangene Daten nach /dev/null schreiben\n"
+ " --delay-startup N Bei Programmstart N Sek. schlafen (Debugging)\n"
+ " -e, --escape Alle Steuerzeichen escapen (Z)\n"
+-" -E, --rename Empfänger soll Datei umbenennen falls\n"
++" -E, --rename Empf?nger soll Datei umbenennen falls\n"
+ " Zieldatei schon existiert\n"
+ " --errors N Einen CRC-Fehler alle N Bytes erzeugen\n"
+ " -h, --help Diesen Hilfstext ausgeben\n"
+-" -m, --min-bps N Übertragung abbrechen bei weniger als N BPS\n"
+-" -M, --min-bps-time N für mindestens N Sekunden (Default: 120)\n"
++" -m, --min-bps N ?bertragung abbrechen bei weniger als N BPS\n"
++" -M, --min-bps-time N f?r mindestens N Sekunden (Default: 120)\n"
+ " -O, --disable-timeouts Timeoutbehandlung abschalten\n"
+ " --o-sync Ausgabedatei(en) im synchron schreiben\n"
+-" -p, --protect existierende Dateien nicht verändern\n"
++" -p, --protect existierende Dateien nicht ver?ndern\n"
+ " -q, --quiet leise, keine Ausgaben machen\n"
+-" -r, --resume unterbrochene Übertragungen fortsetzen (Z)\n"
+-" -R, --restricted eingeschränkter, sichererer Modus\n"
+-" -s, --stop-at {HH:MM|+N} Übertragung um HH:MM oder in N Sek. abbrechen\n"
++" -r, --resume unterbrochene ?bertragungen fortsetzen (Z)\n"
++" -R, --restricted eingeschr?nkter, sichererer Modus\n"
++" -s, --stop-at {HH:MM|+N} ?bertragung um HH:MM oder in N Sek. abbrechen\n"
+ " -S, --timesync Zeit anfordern (doppelt: lokale Zeit setzen)\n"
+-" --syslog[=off] syslog an- oder ausschalten, wenn möglich\n"
++" --syslog[=off] syslog an- oder ausschalten, wenn m?glich\n"
+ " -t, --timeout N Timeout auf N Zehntelsekungen setzen\n"
+-" --tcp-server Socket öffnen und auf Verbindung warten\n"
+-" --tcp-client ADDR:PORT Socket öffnen und verbindung mit ...\n"
++" --tcp-server Socket ?ffnen und auf Verbindung warten\n"
++" --tcp-client ADDR:PORT Socket ?ffnen und verbindung mit ...\n"
+ " -u, --keep-uppercase GROSS geschrieben Dateinamen beibehalten\n"
+-" -U, --unrestrict eingeschränkten Modus aufheben (falls "
++" -U, --unrestrict eingeschr?nkten Modus aufheben (falls "
+ "erlaubt)\n"
+ " -v, --verbose mehr ausgeben\n"
+-" -w, --windowsize N Fenstergröße auf N Bytes setzen (Z)\n"
++" -w, --windowsize N Fenstergr??e auf N Bytes setzen (Z)\n"
+ " -X --xmodem XMODEM-Protokoll benutzen\n"
+-" -y, --overwrite existierende Dateien überschreiben\n"
++" -y, --overwrite existierende Dateien ?berschreiben\n"
+ " --ymodem YMODEM-Protokoll benutzen\n"
+ " -Z, --zmodem ZMODEM-Protokoll benutzen\n"
+ "\n"
+-"Kurze Optionen benötigen dieselben Argumente wie Lange.\n"
++"Kurze Optionen ben?tigen dieselben Argumente wie Lange.\n"
+
+ #: src/lrz.c:676
+ #, c-format
+@@ -662,11 +662,11 @@
+ "%s: %s removed.\r\n"
+ msgstr ""
+ "\r\n"
+-"%s: %s gelöscht\r\n"
++"%s: %s gel?scht\r\n"
+
+ #: src/lrz.c:856
+ msgid "Pathname fetch returned EOT"
+-msgstr "Ende der Übertragung beim Warten auf Dateinamen"
++msgstr "Ende der ?bertragung beim Warten auf Dateinamen"
+
+ #: src/lrz.c:903
+ msgid "Received dup Sector"
+@@ -682,7 +682,7 @@
+
+ #: src/lrz.c:976
+ msgid "Checksum"
+-msgstr "Prüfsummenfehler"
++msgstr "Pr?fsummenfehler"
+
+ #: src/lrz.c:979
+ msgid "Sector number garbled"
+@@ -695,12 +695,12 @@
+ #: src/lrz.c:1005
+ #, c-format
+ msgid "Got 0%o sector header"
+-msgstr "Erhielt %02x als Sektorbestätigung"
++msgstr "Erhielt %02x als Sektorbest?tigung"
+
+ #: src/lrz.c:1113
+ #, c-format
+ msgid "file name ends with a /, skipped: %s\n"
+-msgstr "Dateiname endet mit /, übersprungen: %s\n"
++msgstr "Dateiname endet mit /, ?bersprungen: %s\n"
+
+ #: src/lrz.c:1127
+ #, c-format
+@@ -715,7 +715,7 @@
+ #: src/lrz.c:1192 src/lrz.c:1226
+ #, c-format
+ msgid "file exists, skipped: %s\n"
+-msgstr "Datei existiert, übersprungen: %s\n"
++msgstr "Datei existiert, ?bersprungen: %s\n"
+
+ #: src/lrz.c:1267
+ #, c-format
+@@ -739,7 +739,7 @@
+ #: src/lrz.c:1545
+ #, c-format
+ msgid "Blocks received: %d"
+-msgstr "Blöcke empfangen: %d"
++msgstr "Bl?cke empfangen: %d"
+
+ #: src/lrz.c:1599
+ #, c-format
+@@ -749,15 +749,15 @@
+ #: src/lrz.c:1612 src/lrz.c:1620
+ #, c-format
+ msgid "%s:\tSecurity Violation"
+-msgstr "%s:\tSicherheitsverstoß"
++msgstr "%s:\tSicherheitsversto?"
+
+ #: src/lrz.c:1730
+ msgid "remote command execution requested"
+-msgstr "Gegenseite versucht Kommandoausführung"
++msgstr "Gegenseite versucht Kommandoausf?hrung"
+
+ #: src/lrz.c:1737
+ msgid "not executed"
+-msgstr "nicht ausgeführt"
++msgstr "nicht ausgef?hrt"
+
+ #: src/lrz.c:1768
+ msgid "got ZRINIT"
+@@ -765,7 +765,7 @@
+
+ #: src/lrz.c:1817
+ msgid "Skipped"
+-msgstr "Übersprungen"
++msgstr "?bersprungen"
+
+ #. too bad
+ #: src/lrz.c:2049
+@@ -785,7 +785,7 @@
+
+ #: src/lrz.c:2215
+ msgid "file close error"
+-msgstr "Fehler beim Schließen der Datei"
++msgstr "Fehler beim Schlie?en der Datei"
+
+ #~ msgid "tcp protocol init failed\n"
+ #~ msgstr "TCP Protokoll Initialisierung fehlgeschlagen\n"
+@@ -797,7 +797,7 @@
+ #~ msgstr "fgets() bei tcp Protokoll Synchronisation fehlgeschlagen: "
+
+ #~ msgid "Transfer complete."
+-#~ msgstr "Übertragung abgeschlossen"
++#~ msgstr "?bertragung abgeschlossen"
+
+ #~ msgid "at"
+ #~ msgstr "um"
+@@ -809,4 +809,4 @@
+ #~ msgstr "Zeitsynchronisation: ok\n"
+
+ #~ msgid "Falldown to %ld blklen"
+-#~ msgstr "Blockgröße auf %ld gesenkt"
++#~ msgstr "Blockgr??e auf %ld gesenkt"
+--- lrzsz-0.12.21.orig/debian/copyright
++++ lrzsz-0.12.21/debian/copyright
+@@ -0,0 +1,31 @@
++This is the lrzsz Debian GNU/Linux package. It was first maintained by
++Michael Alan Dorman <mdorman@debian.org>, with help of Martin Mitchell
++and current upstream maintainer, Uwe Ohse <uwe@ohse.de>.
++
++Current maintainer is Josip Rodin <jrodin@jagor.srce.hr>
++
++Original source was downloaded from: ftp://tirka.ohse.de/uwe/
++
++Copyright (C) until 1988 Chuck Forsberg (Omen Technology INC)
++Copyright (C) 1994 Matt Porter, Michael D. Black
++Copyright (C) 1996, 1997 Uwe Ohse
++
++Please note that credit should be given to Chuck Forsberg (rzsz) and
++Stephen Satchell/Satchell Evaluations (crc routines) for this package.
++
++ This program is free software; you can redistribute it and/or modify
++ it under the terms of the GNU General Public License as published by
++ the Free Software Foundation; version 2 dated June, 1991.
++
++ This program is distributed in the hope that it will be useful,
++ but WITHOUT ANY WARRANTY; without even the implied warranty of
++ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
++ GNU General Public License for more details.
++
++ You should have received a copy of the GNU General Public License
++ along with this program; if not, write to the Free Software
++ Foundation, Inc., 51 Franklin St, Fifth Floor, Boston,
++ MA 02110-1301, USA.
++
++On Debian systems, the complete text of the GNU General Public License
++can be found in /usr/share/common-licenses/GPL file.
+--- lrzsz-0.12.21.orig/debian/control
++++ lrzsz-0.12.21/debian/control
+@@ -0,0 +1,18 @@
++Source: lrzsz
++Section: comm
++Priority: optional
++Maintainer: Martin A. Godisch <godisch@debian.org>
++Standards-Version: 3.8.3
++Build-Depends: autotools-dev, gettext
++
++Package: lrzsz
++Architecture: any
++Depends: ${shlibs:Depends}
++Suggests: minicom
++Description: Tools for zmodem/xmodem/ymodem file transfer
++ Lrzsz is a cosmetically modified zmodem/ymodem/xmodem package built
++ from the public-domain version of Chuck Forsberg's rzsz package.
++ .
++ These programs use error correcting protocols ({z,x,y}modem) to send
++ (sz, sx, sb) and receive (rz, rx, rb) files over a dial-in serial port
++ from a variety of programs running under various operating systems.
+--- lrzsz-0.12.21.orig/debian/changelog
++++ lrzsz-0.12.21/debian/changelog
+@@ -0,0 +1,104 @@
++lrzsz (0.12.21-5) unstable; urgency=low
++
++ * New maintainer upload, closes: #556238.
++ Thanks to Josip Rodin for his work.
++ * Removed build-dependency on debhelper.
++ * Added build-dependency on autotools-dev.
++ * Cut Debian diff.gz into pieces.
++ * Updated FSF address in copyright file.
++ * Updated German po file, added build-dependency on gettext.
++ Closes: #313992, thanks to Jens Seidel and Tobias Toedter.
++ * Fixed missing includes (compiler warnings).
++ * Fixed typo in sz manpage.
++ * Fixed linking to libnsl.
++ * Removed changelog emacs settings.
++ * Updated standards version.
++
++ -- Martin A. Godisch <godisch@debian.org> Sun, 22 Nov 2009 09:35:13 +0100
++
++lrzsz (0.12.21-4.1) unstable; urgency=low
++
++ * Non-maintainer upload.
++ * Rebuilt with current debhelper, finishing the /usr/doc transition.
++ Closes: #322762
++ * Rebuilt with a current toolchain, now it's prelinkable.
++ Closes: #288084
++ * Appled man page typo fix patch from A Costa. Closes: #311459
++
++ -- Joey Hess <joeyh@debian.org> Tue, 10 Jan 2006 01:35:00 -0500
++
++lrzsz (0.12.21-4) unstable; urgency=low
++
++ * Updated for Standards-Version: 3.5.2.
++ * Added touch stamp-h.in before make invocation in order to stop
++ autoheader from running.
++
++ -- Josip Rodin <jrodin@jagor.srce.hr> Sun, 25 Mar 2001 19:48:18 +0200
++
++lrzsz (0.12.21-3) unstable; urgency=low
++
++ * Newish upstream version, (990823 in CVS).
++ * Updated for Policy 3.x.
++ * Misc. fixes for debian/*.
++
++ -- Josip Rodin <jrodin@jagor.srce.hr> Sun, 19 Sep 1999 17:55:38 +0200
++
++lrzsz (0.12.21-2) unstable; urgency=low
++
++ * Removed definition of strstr, advised by upstream maintainer, to
++ get it to compile on glibc2.1, as John Goerzen and Bart Warmerdam
++ noticed (fixes: #39429 #39812).
++
++ -- Josip Rodin <jrodin@jagor.srce.hr> Sun, 20 Jun 1999 21:38:07 +0200
++
++lrzsz (0.12.21-1) unstable; urgency=low
++
++ * New upstream version (990604 in CVS).
++ * Cleaned up the diff by removing unneeded .deps/ files and not changing
++ aclocal et al.
++
++ -- Josip Rodin <jrodin@jagor.srce.hr> Sun, 6 Jun 1999 21:01:50 +0200
++
++lrzsz (0.12.20-2) unstable; urgency=low
++
++ * Don't install ansi2knr.1 manpage, closing bug #33121
++
++ -- Josip Rodin <jrodin@jagor.srce.hr> Sun, 7 Feb 1999 01:32:31 +0100
++
++lrzsz (0.12.20-1) unstable; urgency=low
++
++ * New maintainer.
++ * Althought version number doesn't indicate that, this version is
++ today's CVS snapshot from ftp://tirka.ohse.de/uwe/cvs-trees
++ * This release fixes following bugs: #8373 #11208 #16170 #16744 #17210.
++ * Package is lintian clean.
++
++ -- Josip Rodin <jrodin@jagor.srce.hr> Sun, 7 Feb 1999 01:32:31 +0100
++
++lrzsz (0.12.17) unstable; urgency=low
++
++ * sorry, see ../ChangeLog. automagically generated debian/changelog
++
++ -- Uwe Ohse <uwe@ohse.de> Mon, 02 Jun 1997 10:06:05 +0200
++
++lrzsz (0.12.16) unstable; urgency=low
++
++ * sorry, see ../ChangeLog. changelog is here just to make
++ dpkg happy.
++ * initial release
++
++ -- Uwe Ohse <uwe@ohse.de> Sun, 2 Jun 1997 21:00:00 +0200
++
++lrzsz (0.12b-1.1) unstable; urgency=low
++
++ * Non-maintainer release.
++ * Libc6 compile.
++
++ -- Martin Mitchell <martin@debian.org> Sat, 18 Oct 1997 01:58:54 +1000
++
++lrzsz (0.12b-1) unstable; urgency=low
++
++ * Converted to new source packaging format.
++ * New upstream version.
++
++ -- Michael Alan Dorman <mdorman@calder.med.miami.edu> Tue, 17 Sep 1996 13:39:23 -0400
+--- lrzsz-0.12.21.orig/debian/rules
++++ lrzsz-0.12.21/debian/rules
+@@ -0,0 +1,80 @@
++#!/usr/bin/make -f
++
++testdir = test -f src/lrz.c && test -f debian/rules
++testroot = test x`whoami` = xroot
++
++# FOR AUTOCONF 2.13 ONLY
++ifeq ($(DEB_BUILD_GNU_TYPE), $(DEB_HOST_GNU_TYPE))
++ confflags += $(DEB_HOST_GNU_TYPE)
++else
++ $(error Cannot cross-compile this package out-of-the-box)
++endif
++
++CFLAGS = -Wall -g
++ifneq "$(findstring noopt,$(DEB_BUILD_OPTIONS))" ""
++ CFLAGS += -O0
++else
++ CFLAGS += -O2
++endif
++export CFLAGS
++
++build: build-stamp
++build-stamp:
++ $(testdir)
++ cp -f /usr/share/misc/config.guess /usr/share/misc/config.sub .
++ -cat debian/patches/*.diff | patch -Ntp1 -r debian/rejected --no-backup-if-mismatch
++ ./configure $(CONFFLAGS) --prefix=/usr --mandir='$${prefix}/share/man' --program-transform-name=s/l//
++ touch stamp-h.in # to stop autoheader from running
++ touch -d yesterday aclocal.m4 # to stop automake from running
++ $(MAKE)
++ touch $@
++
++clean:
++ $(testdir)
++ $(testroot)
++ cp -f /usr/share/misc/config.guess /usr/share/misc/config.sub .
++ touch stamp-h.in # to stop autoheader from running
++ touch -d yesterday aclocal.m4 # to stop automake from running
++ [ ! -f Makefile ] || $(MAKE) distclean
++ -cat `ls -r debian/patches/*.diff` /dev/null | patch -RNtp1 -r debian/rejected --no-backup-if-mismatch
++ rm -rf debian/tmp
++ rm -f build-stamp config.guess config.sub po/lrzsz.pot po/*.gmo debian/files debian/rejected debian/substvars
++
++binary: binary-arch
++
++binary-indep:
++
++binary-arch: build
++ $(testdir)
++ $(testroot)
++ rm -rf debian/tmp
++
++ $(MAKE) prefix=$(CURDIR)/debian/tmp/usr install
++
++ifeq "$(findstring nostrip,$(DEB_BUILD_OPTIONS))" ""
++ strip -R .comment -R .note debian/tmp/usr/bin/*
++endif
++
++ install -d -m 0755 debian/tmp/usr/share/doc/lrzsz
++ install -p -m 0644 NEWS README README.cvs README.isdn4linux TODO debian/copyright debian/tmp/usr/share/doc/lrzsz
++ install -p -m 0644 -D ChangeLog debian/tmp/usr/share/doc/lrzsz/changelog
++ install -p -m 0644 -D debian/changelog debian/tmp/usr/share/doc/lrzsz/changelog.Debian
++
++ find debian/tmp/usr/share/man -type f -print0 | xargs -0 gzip -9
++ find debian/tmp/usr/share/doc -type f ! -name copyright ! -name '*.html' \
++ \( -name 'changelog*' -o -size +8 \) -print0 | xargs -0 gzip -9
++
++ ln -s rz.1.gz debian/tmp/usr/share/man/man1/rb.1.gz
++ ln -s rz.1.gz debian/tmp/usr/share/man/man1/rx.1.gz
++ ln -s sz.1.gz debian/tmp/usr/share/man/man1/sb.1.gz
++ ln -s sz.1.gz debian/tmp/usr/share/man/man1/sx.1.gz
++
++ install -d -m 0755 debian/tmp/DEBIAN
++ install -p -m 0644 debian/control debian/tmp/DEBIAN
++ cd debian/tmp && find usr -type f -print0 | xargs -0 md5sum > DEBIAN/md5sums
++
++ dpkg-shlibdeps debian/tmp/usr/bin/*
++ dpkg-gencontrol -isp -plrzsz
++ dpkg --build debian/tmp ..
++
++.PHONY: build clean binary binary-indep binary-arch
+--- lrzsz-0.12.21.orig/debian/patches/206648_dszlog.diff.unchecked
++++ lrzsz-0.12.21/debian/patches/206648_dszlog.diff.unchecked
+@@ -0,0 +1,311 @@
++diff -ur lrzsz-0.12.21/src/lrz.c newlrzsz/src/lrz.c
++--- lrzsz-0.12.21/src/lrz.c 2003-08-21 16:22:01.000000000 -0500
+++++ newlrzsz/src/lrz.c 2003-08-21 17:05:53.000000000 -0500
++@@ -68,6 +68,7 @@
++ unsigned Baudrate = 2400;
++
++ FILE *fout;
+++char *dszlogpath;
++
++
++ int Lastrx;
++@@ -192,6 +193,9 @@
++ zmputs(Attn);
++ canit(STDOUT_FILENO);
++ io_mode(0,0);
+++ if (dszlogpath) {
+++ dszlog(dszlogpath, 'L', 0, 0, 0, errors, 0, 0);
+++ }
++ error(128+n,0,_("caught signal %d; exiting"), n);
++ }
++
++@@ -265,6 +269,13 @@
++ if ((cp=getenv("ZMODEM_RESTRICTED"))!=NULL)
++ Restricted=2;
++
+++ dszlogpath = getenv("DSZLOG");
+++ if (access(dszlogpath, F_OK) == 0) {
+++ if (unlink(dszlogpath) != 0) {
+++ perror("unlink dszlog");
+++ }
+++ }
+++
++ /* make temporary and unfinished files */
++ umask(0077);
++
++@@ -559,6 +570,7 @@
++ signal(SIGINT, bibi);
++ signal(SIGTERM, bibi);
++ signal(SIGPIPE, bibi);
+++ signal(SIGHUP, bibi);
++ if (wcreceive(npats, patts)==ERROR) {
++ exitcode=0200;
++ canit(STDOUT_FILENO);
++@@ -685,9 +697,9 @@
++ #endif
++ if (c)
++ goto fubar;
++- } else {
+++ } else { /* Not Xmodem, not Zmodem, so Ymodem */
++ for (;;) {
++- if (Verbose > 1
+++ if (Verbose > 1 || dszlogpath
++ #ifdef ENABLE_SYSLOG
++ || enable_syslog
++ #endif
++@@ -712,7 +724,7 @@
++ if (wcrx(&zi)==ERROR)
++ goto fubar;
++
++- if (Verbose > 1
+++ if (Verbose > 1 || dszlogpath
++ #ifdef ENABLE_SYSLOG
++ || enable_syslog
++ #endif
++@@ -734,16 +746,19 @@
++ lsyslog(LOG_INFO,"%s/%s: %ld Bytes, %ld BPS",
++ shortname,protname(),zi.bytes_received, bps);
++ #endif
+++ if (dszlogpath) dszlog(dszlogpath, 'R',
+++ zi.bytes_received, zi.fname,
+++ bps, errors, 0, 0);
++ }
++ }
++ }
++- } else {
+++ } else { /* Xmodem */
++ char dummy[128];
++ dummy[0]='\0'; /* pre-ANSI HPUX cc demands this */
++ dummy[1]='\0'; /* procheader uses name + 1 + strlen(name) */
++ zi.bytes_total = DEFBYTL;
++
++- if (Verbose > 1
+++ if (Verbose > 1 || dszlogpath
++ #ifdef ENABLE_SYSLOG
++ || enable_syslog
++ #endif
++@@ -782,7 +797,7 @@
++ if (wcrx(&zi)==ERROR) {
++ goto fubar;
++ }
++- if (Verbose > 1
+++ if (Verbose > 1 || dszlogpath
++ #ifdef ENABLE_SYSLOG
++ || enable_syslog
++ #endif
++@@ -803,6 +818,10 @@
++ lsyslog(LOG_INFO,"%s/%s: %ld Bytes, %ld BPS",
++ shortname,protname(),zi.bytes_received, bps);
++ #endif
+++ if (dszlogpath) dszlog(dszlogpath, 'R',
+++ zi.bytes_received, zi.fname,
+++ bps, errors, 0, 0);
+++
++ }
++ }
++ return OK;
++@@ -812,6 +831,13 @@
++ lsyslog(LOG_ERR,"%s/%s: got error",
++ shortname ? shortname : "no.name", protname());
++ #endif
+++ if (dszlogpath) {
+++ double d = timing(0,NULL);
+++ dszlog(dszlogpath, 'E', zi.bytes_received, zi.fname,
+++ (zi.bytes_received-zi.bytes_skipped)/((d) ? d : 0.5),
+++ errors, 0, 0);
+++ }
+++
++ canit(STDOUT_FILENO);
++ if (Topipe && fout) {
++ pclose(fout); return ERROR;
++@@ -1783,10 +1809,18 @@
++ rzfiles(struct zm_fileinfo *zi)
++ {
++ register int c;
+++ long bps;
++
++ for (;;) {
++ timing(1,NULL);
++ c = rzfile(zi);
+++ {
+++ double d;
+++ d=timing(0,NULL);
+++ if (d==0)
+++ d=0.5; /* can happen if timing uses time() */
+++ bps=(zi->bytes_received-zi->bytes_skipped)/d;
+++ }
++ switch (c) {
++ case ZEOF:
++ if (Verbose > 1
++@@ -1794,12 +1828,6 @@
++ || enable_syslog
++ #endif
++ ) {
++- double d;
++- long bps;
++- d=timing(0,NULL);
++- if (d==0)
++- d=0.5; /* can happen if timing uses time() */
++- bps=(zi->bytes_received-zi->bytes_skipped)/d;
++ if (Verbose > 1) {
++ vstringf(
++ _("\rBytes received: %7ld/%7ld BPS:%-6ld \r\n"),
++@@ -1807,6 +1835,8 @@
++ }
++ DO_SYSLOG_FNAME((LOG_INFO, "%s/%s: %ld Bytes, %ld BPS",shortname,
++ protname(), (long) zi->bytes_total,bps));
+++ if (dszlogpath) dszlog(dszlogpath, 'z', zi->bytes_received,
+++ zi->fname, bps, errors, 0, 0);
++ }
++ /* FALL THROUGH */
++ case ZSKIP:
++@@ -1815,6 +1845,8 @@
++ if (Verbose)
++ vstringf(_("Skipped"));
++ DO_SYSLOG_FNAME((LOG_INFO, "%s/%s: skipped",shortname,protname()));
+++ if (dszlogpath) dszlog(dszlogpath, 'E', zi->bytes_received,
+++ zi->fname, bps, errors, 0, 0);
++ }
++ switch (tryz()) {
++ case ZCOMPL:
++@@ -1829,6 +1861,8 @@
++ return c;
++ case ERROR:
++ DO_SYSLOG_FNAME((LOG_INFO, "%s/%s: error",shortname,protname()));
+++ if (dszlogpath) dszlog(dszlogpath, 'E', zi->bytes_received,
+++ zi->fname, bps, errors, 0, 0);
++ return ERROR;
++ }
++ }
++diff -ur lrzsz-0.12.21/src/lsyslog.c newlrzsz/src/lsyslog.c
++--- lrzsz-0.12.21/src/lsyslog.c 1998-12-29 11:27:55.000000000 -0600
+++++ newlrzsz/src/lsyslog.c 2003-08-21 16:47:53.000000000 -0500
++@@ -26,6 +26,8 @@
++ #include <string.h>
++ #endif
++
+++#include <stdio.h>
+++
++ #if __STDC__
++ # include <stdarg.h>
++ # define VA_START(args, lastarg) va_start(args, lastarg)
++@@ -79,3 +81,23 @@
++ #endif
++ }
++
+++void dszlog(char *logname, char status, unsigned long num_bytes, char *fname,
+++ int cps, int retry_events, int flow_events, int blocksize) {
+++
+++ FILE *mylog;
+++ if ((mylog = fopen(logname, "a"))) {
+++ fprintf(mylog, "%c %6ld %5ld bps %4ld cps %3d errors %5u %4d %s %ld\r\n",
+++ status,
+++ num_bytes,
+++ cps*8, /* XXX where to get DTE from? */
+++ cps,
+++ retry_events,
+++ flow_events, /* XXX where is flow_control? */
+++ blocksize,
+++ fname,
+++ -1 /* serial number */
+++ );
+++ fclose(mylog);
+++ }
+++}
+++
++diff -ur lrzsz-0.12.21/src/lsz.c newlrzsz/src/lsz.c
++--- lrzsz-0.12.21/src/lsz.c 2003-08-21 16:22:01.000000000 -0500
+++++ newlrzsz/src/lsz.c 2003-08-21 17:02:18.000000000 -0500
++@@ -59,6 +59,8 @@
++ extern int errno;
++ #endif
++
+++char *dszlogpath;
+++
++ unsigned Baudrate=2400; /* Default, should be set by first mode() call */
++ unsigned Txwindow; /* Control the size of the transmitted window */
++ unsigned Txwspac; /* Spacing between zcrcq requests */
++@@ -223,6 +225,9 @@
++ canit(STDOUT_FILENO);
++ fflush (stdout);
++ io_mode (io_mode_fd,0);
+++ if (dszlogpath) {
+++ dszlog(dszlogpath, 'L', 0, 0, 0, errors, 0, 0);
+++ }
++ if (n == 99)
++ error (0, 0, _ ("io_mode(,2) in rbsb.c not implemented\n"));
++ else
++@@ -332,6 +337,14 @@
++ }
++ if ((cp=getenv("ZMODEM_RESTRICTED"))!=NULL)
++ Restricted=1;
+++
+++ dszlogpath = getenv("DSZLOG");
+++ if (access(dszlogpath, F_OK) == 0) {
+++ if (unlink(dszlogpath) != 0) {
+++ perror("unlink dszlog");
+++ }
+++ }
+++
++ from_cu();
++ chkinvok(argv[0]);
++
++@@ -1113,6 +1126,12 @@
++ if (enable_syslog)
++ lsyslog(LOG_INFO, _("%s/%s: error occured"),protname(),shortname);
++ #endif
+++ if (dszlogpath) {
+++ double d = timing(0,NULL);
+++ dszlog(dszlogpath, 'E', zi.bytes_sent, zi.fname,
+++ zi.bytes_sent/((d) ? d : 0.5),
+++ errors, 0, blklen);
+++ }
++ return ERROR;
++ case ZSKIP:
++ error(0,0, _("skipped: %s"),name);
++@@ -1120,6 +1139,13 @@
++ if (enable_syslog)
++ lsyslog(LOG_INFO, _("%s/%s: skipped"),protname(),shortname);
++ #endif
+++ if (dszlogpath) {
+++ double d = timing(0,NULL);
+++ /* XXX is Zmodem skip really deserving a 'E' ? */
+++ dszlog(dszlogpath, 'E', zi.bytes_sent, zi.fname,
+++ zi.bytes_sent/((d) ? d : 0.5),
+++ errors, 0, blklen);
+++ }
++ return OK;
++ }
++ if (!zmodem_requested && wctx(&zi)==ERROR)
++@@ -1128,12 +1154,18 @@
++ if (enable_syslog)
++ lsyslog(LOG_INFO, _("%s/%s: error occured"),protname(),shortname);
++ #endif
+++ if (dszlogpath) {
+++ double d = timing(0,NULL);
+++ dszlog(dszlogpath, 'E', zi.bytes_sent, zi.fname,
+++ zi.bytes_sent/((d) ? d : 0.5),
+++ errors, 0, blklen);
+++ }
++ return ERROR;
++ }
++ if (Unlinkafter)
++ unlink(oname);
++
++- if (Verbose > 1
+++ if (Verbose > 1 || dszlogpath
++ #ifdef ENABLE_SYSLOG
++ || enable_syslog
++ #endif
++@@ -1152,6 +1184,11 @@
++ lsyslog(LOG_INFO, "%s/%s: %ld Bytes, %ld BPS",shortname,
++ protname(), (long) zi.bytes_sent,bps);
++ #endif
+++ if (dszlogpath) {
+++ char whichprot = (protocol==ZM_ZMODEM)? 'Z' : 'S';
+++ dszlog(dszlogpath, whichprot, zi.bytes_sent,
+++ zi.fname, bps, errors, 0, blklen);
+++ }
++ }
++ return 0;
++ }
+--- lrzsz-0.12.21.orig/debian/patches/include.diff
++++ lrzsz-0.12.21/debian/patches/include.diff
+@@ -0,0 +1,20 @@
++--- lrzsz-0.12.21.orig/lib/long-options.c
+++++ lrzsz-0.12.21/lib/long-options.c
++@@ -22,6 +22,7 @@
++ #endif
++
++ #include <stdio.h>
+++#include <stdlib.h>
++ #include <getopt.h>
++ #include "long-options.h"
++
++--- lrzsz-0.12.21.orig/src/lsyslog.c
+++++ lrzsz-0.12.21/src/lsyslog.c
++@@ -22,6 +22,7 @@
++ #ifdef ENABLE_SYSLOG
++ #include "zglobal.h"
++ #include <pwd.h>
+++#include <stdio.h>
++ #include <stdlib.h>
++ #include <string.h>
++ #endif
+--- lrzsz-0.12.21.orig/debian/patches/mantypos.diff
++++ lrzsz-0.12.21/debian/patches/mantypos.diff
+@@ -0,0 +1,49 @@
++--- lrzsz-0.12.21.orig/man/lsz.1
+++++ lrzsz-0.12.21/man/lsz.1
++@@ -247,7 +247,7 @@
++ Escape all control characters;
++ normally XON, XOFF, DLE, CR-@-CR, and Ctrl-X are escaped.
++ .TP
++-.B"-E, --rename"
+++.B "-E, --rename"
++ Force the sender to rename the new file if a file with the same
++ name already exists.
++ .TP
++@@ -265,7 +265,7 @@
++ .TP
++ .B "-i COMMAND, --immediate-command COMMAND"
++ Send COMMAND to the receiver for execution, return immediately
++-upon the receiving program's successful recption of the command.
+++upon the receiving program's successful reception of the command.
++ .TP
++ .B "-k, --1k"
++ (XMODEM/YMODEM) Send files using 1024 byte blocks
++@@ -509,7 +509,7 @@
++ .RB ( \-a )
++ to end of line conventions appropriate to the receiving environment.
++ With ZMODEM AutoDownload enabled, Professional-YAM and ZCOMM
++-will automatically recieve
+++will automatically receive
++ the files after performing a security check.
++
++ .br
++@@ -592,8 +592,8 @@
++ the source file.
++ .SH "VMS VERSION"
++ The VMS version does not support wild cards.
++-Because of VMS DCL, upper case option letters muse be represented
++-by \\ proceding the letter.
+++Because of VMS DCL, upper case option letters must be represented
+++by \\ preceding the letter.
++
++ The current VMS version does not support XMODEM, XMODEM-1k, or YMODEM.
++
++@@ -682,7 +682,7 @@
++ The test mode leaves a zero length file on the receiving system.
++
++ A few high speed modems have a firmware bug that drops characters when the
++-direction of high speed transmissson is reversed.
+++direction of high speed transmission is reversed.
++ The environment variable ZNULLS may be used to specify the number of nulls to
++ send before a ZDATA frame.
++ Values of 101 for a 4.77 mHz PC and 124 for an AT are typical.
+--- lrzsz-0.12.21.orig/debian/patches/strstr.diff
++++ lrzsz-0.12.21/debian/patches/strstr.diff
+@@ -0,0 +1,20 @@
++--- lrzsz-0.12.21.orig/src/lrz.c
+++++ lrzsz-0.12.21/src/lrz.c
++@@ -44,7 +44,6 @@
++ #ifndef STRICT_PROTOTYPES
++ extern time_t time();
++ extern char *strerror();
++-extern char *strstr();
++ #endif
++
++ #ifndef HAVE_ERRNO_DECLARATION
++--- lrzsz-0.12.21.orig/src/lsz.c
+++++ lrzsz-0.12.21/src/lsz.c
++@@ -53,7 +53,6 @@
++ #ifndef STRICT_PROTOTYPES
++ extern time_t time();
++ extern char *strerror();
++-extern char *strstr();
++ #endif
++
++ #ifndef HAVE_ERRNO_DECLARATION
+--- lrzsz-0.12.21.orig/debian/patches/build.diff
++++ lrzsz-0.12.21/debian/patches/build.diff
+@@ -0,0 +1,2115 @@
++--- lrzsz-0.12.21.orig/Makefile.in
+++++ lrzsz-0.12.21/Makefile.in
++@@ -1,4 +1,4 @@
++-# Makefile.in generated automatically by automake 1.4a from Makefile.am
+++# Makefile.in generated automatically by automake 1.4 from Makefile.am
++
++ # Copyright (C) 1994, 1995-8, 1999 Free Software Foundation, Inc.
++ # This Makefile.in is free software; the Free Software Foundation
++@@ -46,10 +46,9 @@
++ AUTOHEADER = @AUTOHEADER@
++
++ INSTALL = @INSTALL@
++-INSTALL_PROGRAM = @INSTALL_PROGRAM@
+++INSTALL_PROGRAM = @INSTALL_PROGRAM@ $(AM_INSTALL_PROGRAM_FLAGS)
++ INSTALL_DATA = @INSTALL_DATA@
++ INSTALL_SCRIPT = @INSTALL_SCRIPT@
++-INSTALL_STRIP_FLAG =
++ transform = @program_transform_name@
++
++ NORMAL_INSTALL = :
++@@ -106,13 +105,13 @@
++
++ DIST_COMMON = README ./stamp-h.in ABOUT-NLS AUTHORS COPYING ChangeLog \
++ INSTALL Makefile.am Makefile.in NEWS Specfile.in THANKS TODO acconfig.h \
++-acinclude.m4 aclocal.m4 config.guess config.h.in configure configure.in \
++-install-sh missing mkinstalldirs systype.in
+++acinclude.m4 aclocal.m4 config.guess config.h.in config.sub configure \
+++configure.in install-sh missing mkinstalldirs systype.in
++
++
++ DISTFILES = $(DIST_COMMON) $(SOURCES) $(HEADERS) $(TEXINFOS) $(EXTRA_DIST)
++
++-TAR = gtar
+++TAR = tar
++ GZIP_ENV = --best
++ all: all-redirect
++ .SUFFIXES:
++@@ -298,7 +297,7 @@
++ @for file in $(DISTFILES); do \
++ d=$(srcdir); \
++ if test -d $$d/$$file; then \
++- cp -pr $$d/$$file $(distdir)/$$file; \
+++ cp -pr $$/$$file $(distdir)/$$file; \
++ else \
++ test -f $(distdir)/$$file \
++ || ln $$d/$$file $(distdir)/$$file 2> /dev/null \
++@@ -340,7 +339,7 @@
++ all-am: Makefile $(SCRIPTS) config.h
++ all-redirect: all-recursive-am
++ install-strip:
++- $(MAKE) $(AM_MAKEFLAGS) INSTALL_STRIP_FLAG=-s install
+++ $(MAKE) $(AM_MAKEFLAGS) AM_INSTALL_PROGRAM_FLAGS=-s install
++ installdirs: installdirs-recursive
++ installdirs-am:
++
++--- lrzsz-0.12.21.orig/aclocal.m4
+++++ lrzsz-0.12.21/aclocal.m4
++@@ -1,4 +1,4 @@
++-dnl aclocal.m4 generated automatically by aclocal 1.4a
+++dnl aclocal.m4 generated automatically by aclocal 1.4
++
++ dnl Copyright (C) 1994, 1995-8, 1999 Free Software Foundation, Inc.
++ dnl This file is free software; the Free Software Foundation
++@@ -117,8 +117,6 @@
++
++ AC_DEFUN(AM_INIT_AUTOMAKE,
++ [AC_REQUIRE([AC_PROG_INSTALL])
++-dnl We require 2.13 because we rely on SHELL being computed by configure.
++-AC_PREREQ([2.13])
++ PACKAGE=[$1]
++ AC_SUBST(PACKAGE)
++ VERSION=[$2]
++--- lrzsz-0.12.21.orig/configure
+++++ lrzsz-0.12.21/configure
++@@ -703,7 +703,6 @@
++ fi
++
++
++-
++ PACKAGE=lrzsz
++
++ VERSION=0.12.21rc
++@@ -723,7 +722,7 @@
++
++ missing_dir=`cd $ac_aux_dir && pwd`
++ echo $ac_n "checking for working aclocal""... $ac_c" 1>&6
++-echo "configure:727: checking for working aclocal" >&5
+++echo "configure:726: checking for working aclocal" >&5
++ # Run test in a subshell; some versions of sh will print an error if
++ # an executable is not found, even if stderr is redirected.
++ # Redirect stdin to placate older versions of autoconf. Sigh.
++@@ -736,7 +735,7 @@
++ fi
++
++ echo $ac_n "checking for working autoconf""... $ac_c" 1>&6
++-echo "configure:740: checking for working autoconf" >&5
+++echo "configure:739: checking for working autoconf" >&5
++ # Run test in a subshell; some versions of sh will print an error if
++ # an executable is not found, even if stderr is redirected.
++ # Redirect stdin to placate older versions of autoconf. Sigh.
++@@ -749,7 +748,7 @@
++ fi
++
++ echo $ac_n "checking for working automake""... $ac_c" 1>&6
++-echo "configure:753: checking for working automake" >&5
+++echo "configure:752: checking for working automake" >&5
++ # Run test in a subshell; some versions of sh will print an error if
++ # an executable is not found, even if stderr is redirected.
++ # Redirect stdin to placate older versions of autoconf. Sigh.
++@@ -762,7 +761,7 @@
++ fi
++
++ echo $ac_n "checking for working autoheader""... $ac_c" 1>&6
++-echo "configure:766: checking for working autoheader" >&5
+++echo "configure:765: checking for working autoheader" >&5
++ # Run test in a subshell; some versions of sh will print an error if
++ # an executable is not found, even if stderr is redirected.
++ # Redirect stdin to placate older versions of autoconf. Sigh.
++@@ -775,7 +774,7 @@
++ fi
++
++ echo $ac_n "checking for working makeinfo""... $ac_c" 1>&6
++-echo "configure:779: checking for working makeinfo" >&5
+++echo "configure:778: checking for working makeinfo" >&5
++ # Run test in a subshell; some versions of sh will print an error if
++ # an executable is not found, even if stderr is redirected.
++ # Redirect stdin to placate older versions of autoconf. Sigh.
++@@ -926,7 +925,7 @@
++ # Extract the first word of "gcc", so it can be a program name with args.
++ set dummy gcc; ac_word=$2
++ echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
++-echo "configure:930: checking for $ac_word" >&5
+++echo "configure:929: checking for $ac_word" >&5
++ if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then
++ echo $ac_n "(cached) $ac_c" 1>&6
++ else
++@@ -956,7 +955,7 @@
++ # Extract the first word of "cc", so it can be a program name with args.
++ set dummy cc; ac_word=$2
++ echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
++-echo "configure:960: checking for $ac_word" >&5
+++echo "configure:959: checking for $ac_word" >&5
++ if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then
++ echo $ac_n "(cached) $ac_c" 1>&6
++ else
++@@ -1007,7 +1006,7 @@
++ # Extract the first word of "cl", so it can be a program name with args.
++ set dummy cl; ac_word=$2
++ echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
++-echo "configure:1011: checking for $ac_word" >&5
+++echo "configure:1010: checking for $ac_word" >&5
++ if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then
++ echo $ac_n "(cached) $ac_c" 1>&6
++ else
++@@ -1039,7 +1038,7 @@
++ fi
++
++ echo $ac_n "checking whether the C compiler ($CC $CFLAGS $LDFLAGS) works""... $ac_c" 1>&6
++-echo "configure:1043: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) works" >&5
+++echo "configure:1042: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) works" >&5
++
++ ac_ext=c
++ # CFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options.
++@@ -1050,12 +1049,12 @@
++
++ cat > conftest.$ac_ext << EOF
++
++-#line 1054 "configure"
+++#line 1053 "configure"
++ #include "confdefs.h"
++
++ main(){return(0);}
++ EOF
++-if { (eval echo configure:1059: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+++if { (eval echo configure:1058: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
++ ac_cv_prog_cc_works=yes
++ # If we can't run a trivial program, we are probably using a cross compiler.
++ if (./conftest; exit) 2>/dev/null; then
++@@ -1081,12 +1080,12 @@
++ { echo "configure: error: installation or configuration problem: C compiler cannot create executables." 1>&2; exit 1; }
++ fi
++ echo $ac_n "checking whether the C compiler ($CC $CFLAGS $LDFLAGS) is a cross-compiler""... $ac_c" 1>&6
++-echo "configure:1085: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) is a cross-compiler" >&5
+++echo "configure:1084: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) is a cross-compiler" >&5
++ echo "$ac_t""$ac_cv_prog_cc_cross" 1>&6
++ cross_compiling=$ac_cv_prog_cc_cross
++
++ echo $ac_n "checking whether we are using GNU C""... $ac_c" 1>&6
++-echo "configure:1090: checking whether we are using GNU C" >&5
+++echo "configure:1089: checking whether we are using GNU C" >&5
++ if eval "test \"`echo '$''{'ac_cv_prog_gcc'+set}'`\" = set"; then
++ echo $ac_n "(cached) $ac_c" 1>&6
++ else
++@@ -1095,7 +1094,7 @@
++ yes;
++ #endif
++ EOF
++-if { ac_try='${CC-cc} -E conftest.c'; { (eval echo configure:1099: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; } | egrep yes >/dev/null 2>&1; then
+++if { ac_try='${CC-cc} -E conftest.c'; { (eval echo configure:1098: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; } | egrep yes >/dev/null 2>&1; then
++ ac_cv_prog_gcc=yes
++ else
++ ac_cv_prog_gcc=no
++@@ -1114,7 +1113,7 @@
++ ac_save_CFLAGS="$CFLAGS"
++ CFLAGS=
++ echo $ac_n "checking whether ${CC-cc} accepts -g""... $ac_c" 1>&6
++-echo "configure:1118: checking whether ${CC-cc} accepts -g" >&5
+++echo "configure:1117: checking whether ${CC-cc} accepts -g" >&5
++ if eval "test \"`echo '$''{'ac_cv_prog_cc_g'+set}'`\" = set"; then
++ echo $ac_n "(cached) $ac_c" 1>&6
++ else
++@@ -1146,7 +1145,7 @@
++ fi
++
++ echo $ac_n "checking how to run the C preprocessor""... $ac_c" 1>&6
++-echo "configure:1150: checking how to run the C preprocessor" >&5
+++echo "configure:1149: checking how to run the C preprocessor" >&5
++ # On Suns, sometimes $CPP names a directory.
++ if test -n "$CPP" && test -d "$CPP"; then
++ CPP=
++@@ -1161,13 +1160,13 @@
++ # On the NeXT, cc -E runs the code through the compiler's parser,
++ # not just through cpp.
++ cat > conftest.$ac_ext <<EOF
++-#line 1165 "configure"
+++#line 1164 "configure"
++ #include "confdefs.h"
++ #include <assert.h>
++ Syntax Error
++ EOF
++ ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
++-{ (eval echo configure:1171: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+++{ (eval echo configure:1170: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
++ ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
++ if test -z "$ac_err"; then
++ :
++@@ -1178,13 +1177,13 @@
++ rm -rf conftest*
++ CPP="${CC-cc} -E -traditional-cpp"
++ cat > conftest.$ac_ext <<EOF
++-#line 1182 "configure"
+++#line 1181 "configure"
++ #include "confdefs.h"
++ #include <assert.h>
++ Syntax Error
++ EOF
++ ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
++-{ (eval echo configure:1188: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+++{ (eval echo configure:1187: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
++ ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
++ if test -z "$ac_err"; then
++ :
++@@ -1195,13 +1194,13 @@
++ rm -rf conftest*
++ CPP="${CC-cc} -nologo -E"
++ cat > conftest.$ac_ext <<EOF
++-#line 1199 "configure"
+++#line 1198 "configure"
++ #include "confdefs.h"
++ #include <assert.h>
++ Syntax Error
++ EOF
++ ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
++-{ (eval echo configure:1205: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+++{ (eval echo configure:1204: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
++ ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
++ if test -z "$ac_err"; then
++ :
++@@ -1235,13 +1234,13 @@
++ fi
++ if test $ac_cv_prog_gcc = yes; then
++ echo $ac_n "checking whether ${CC-cc} needs -traditional""... $ac_c" 1>&6
++-echo "configure:1239: checking whether ${CC-cc} needs -traditional" >&5
+++echo "configure:1238: checking whether ${CC-cc} needs -traditional" >&5
++ if eval "test \"`echo '$''{'ac_cv_prog_gcc_traditional'+set}'`\" = set"; then
++ echo $ac_n "(cached) $ac_c" 1>&6
++ else
++ ac_pattern="Autoconf.*'x'"
++ cat > conftest.$ac_ext <<EOF
++-#line 1245 "configure"
+++#line 1244 "configure"
++ #include "confdefs.h"
++ #include <sgtty.h>
++ Autoconf TIOCGETP
++@@ -1259,7 +1258,7 @@
++
++ if test $ac_cv_prog_gcc_traditional = no; then
++ cat > conftest.$ac_ext <<EOF
++-#line 1263 "configure"
+++#line 1262 "configure"
++ #include "confdefs.h"
++ #include <termio.h>
++ Autoconf TCGETA
++@@ -1283,7 +1282,7 @@
++ # Extract the first word of "ranlib", so it can be a program name with args.
++ set dummy ranlib; ac_word=$2
++ echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
++-echo "configure:1287: checking for $ac_word" >&5
+++echo "configure:1286: checking for $ac_word" >&5
++ if eval "test \"`echo '$''{'ac_cv_prog_RANLIB'+set}'`\" = set"; then
++ echo $ac_n "(cached) $ac_c" 1>&6
++ else
++@@ -1311,7 +1310,7 @@
++ fi
++
++ echo $ac_n "checking for POSIXized ISC""... $ac_c" 1>&6
++-echo "configure:1315: checking for POSIXized ISC" >&5
+++echo "configure:1314: checking for POSIXized ISC" >&5
++ if test -d /etc/conf/kconfig.d &&
++ grep _POSIX_VERSION /usr/include/sys/unistd.h >/dev/null 2>&1
++ then
++@@ -1332,9 +1331,9 @@
++ fi
++
++ echo $ac_n "checking for AIX""... $ac_c" 1>&6
++-echo "configure:1336: checking for AIX" >&5
+++echo "configure:1335: checking for AIX" >&5
++ cat > conftest.$ac_ext <<EOF
++-#line 1338 "configure"
+++#line 1337 "configure"
++ #include "confdefs.h"
++ #ifdef _AIX
++ yes
++@@ -1357,17 +1356,17 @@
++
++ ac_safe=`echo "minix/config.h" | sed 'y%./+-%__p_%'`
++ echo $ac_n "checking for minix/config.h""... $ac_c" 1>&6
++-echo "configure:1361: checking for minix/config.h" >&5
+++echo "configure:1360: checking for minix/config.h" >&5
++ if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
++ echo $ac_n "(cached) $ac_c" 1>&6
++ else
++ cat > conftest.$ac_ext <<EOF
++-#line 1366 "configure"
+++#line 1365 "configure"
++ #include "confdefs.h"
++ #include <minix/config.h>
++ EOF
++ ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
++-{ (eval echo configure:1371: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+++{ (eval echo configure:1370: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
++ ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
++ if test -z "$ac_err"; then
++ rm -rf conftest*
++@@ -1408,7 +1407,7 @@
++
++
++ echo $ac_n "checking for ${CC-cc} option to accept ANSI C""... $ac_c" 1>&6
++-echo "configure:1412: checking for ${CC-cc} option to accept ANSI C" >&5
+++echo "configure:1411: checking for ${CC-cc} option to accept ANSI C" >&5
++ if eval "test \"`echo '$''{'am_cv_prog_cc_stdc'+set}'`\" = set"; then
++ echo $ac_n "(cached) $ac_c" 1>&6
++ else
++@@ -1424,7 +1423,7 @@
++ do
++ CC="$ac_save_CC $ac_arg"
++ cat > conftest.$ac_ext <<EOF
++-#line 1428 "configure"
+++#line 1427 "configure"
++ #include "confdefs.h"
++ #include <stdarg.h>
++ #include <stdio.h>
++@@ -1461,7 +1460,7 @@
++
++ ; return 0; }
++ EOF
++-if { (eval echo configure:1465: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+++if { (eval echo configure:1464: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
++ rm -rf conftest*
++ am_cv_prog_cc_stdc="$ac_arg"; break
++ else
++@@ -1487,7 +1486,7 @@
++
++
++ echo $ac_n "checking for function prototypes""... $ac_c" 1>&6
++-echo "configure:1491: checking for function prototypes" >&5
+++echo "configure:1490: checking for function prototypes" >&5
++ if test "$am_cv_prog_cc_stdc" != no; then
++ echo "$ac_t""yes" 1>&6
++ cat >> confdefs.h <<\EOF
++@@ -1500,12 +1499,12 @@
++ U=_ ANSI2KNR=./ansi2knr
++ # Ensure some checks needed by ansi2knr itself.
++ echo $ac_n "checking for ANSI C header files""... $ac_c" 1>&6
++-echo "configure:1504: checking for ANSI C header files" >&5
+++echo "configure:1503: checking for ANSI C header files" >&5
++ if eval "test \"`echo '$''{'ac_cv_header_stdc'+set}'`\" = set"; then
++ echo $ac_n "(cached) $ac_c" 1>&6
++ else
++ cat > conftest.$ac_ext <<EOF
++-#line 1509 "configure"
+++#line 1508 "configure"
++ #include "confdefs.h"
++ #include <stdlib.h>
++ #include <stdarg.h>
++@@ -1513,7 +1512,7 @@
++ #include <float.h>
++ EOF
++ ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
++-{ (eval echo configure:1517: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+++{ (eval echo configure:1516: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
++ ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
++ if test -z "$ac_err"; then
++ rm -rf conftest*
++@@ -1530,7 +1529,7 @@
++ if test $ac_cv_header_stdc = yes; then
++ # SunOS 4.x string.h does not declare mem*, contrary to ANSI.
++ cat > conftest.$ac_ext <<EOF
++-#line 1534 "configure"
+++#line 1533 "configure"
++ #include "confdefs.h"
++ #include <string.h>
++ EOF
++@@ -1548,7 +1547,7 @@
++ if test $ac_cv_header_stdc = yes; then
++ # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI.
++ cat > conftest.$ac_ext <<EOF
++-#line 1552 "configure"
+++#line 1551 "configure"
++ #include "confdefs.h"
++ #include <stdlib.h>
++ EOF
++@@ -1569,7 +1568,7 @@
++ :
++ else
++ cat > conftest.$ac_ext <<EOF
++-#line 1573 "configure"
+++#line 1572 "configure"
++ #include "confdefs.h"
++ #include <ctype.h>
++ #define ISLOWER(c) ('a' <= (c) && (c) <= 'z')
++@@ -1580,7 +1579,7 @@
++ exit (0); }
++
++ EOF
++-if { (eval echo configure:1584: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
+++if { (eval echo configure:1583: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
++ then
++ :
++ else
++@@ -1607,17 +1606,17 @@
++ do
++ ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
++ echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
++-echo "configure:1611: checking for $ac_hdr" >&5
+++echo "configure:1610: checking for $ac_hdr" >&5
++ if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
++ echo $ac_n "(cached) $ac_c" 1>&6
++ else
++ cat > conftest.$ac_ext <<EOF
++-#line 1616 "configure"
+++#line 1615 "configure"
++ #include "confdefs.h"
++ #include <$ac_hdr>
++ EOF
++ ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
++-{ (eval echo configure:1621: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+++{ (eval echo configure:1620: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
++ ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
++ if test -z "$ac_err"; then
++ rm -rf conftest*
++@@ -1646,12 +1645,12 @@
++ fi
++
++ echo $ac_n "checking for working const""... $ac_c" 1>&6
++-echo "configure:1650: checking for working const" >&5
+++echo "configure:1649: checking for working const" >&5
++ if eval "test \"`echo '$''{'ac_cv_c_const'+set}'`\" = set"; then
++ echo $ac_n "(cached) $ac_c" 1>&6
++ else
++ cat > conftest.$ac_ext <<EOF
++-#line 1655 "configure"
+++#line 1654 "configure"
++ #include "confdefs.h"
++
++ int main() {
++@@ -1700,7 +1699,7 @@
++
++ ; return 0; }
++ EOF
++-if { (eval echo configure:1704: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+++if { (eval echo configure:1703: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
++ rm -rf conftest*
++ ac_cv_c_const=yes
++ else
++@@ -1721,21 +1720,21 @@
++ fi
++
++ echo $ac_n "checking for inline""... $ac_c" 1>&6
++-echo "configure:1725: checking for inline" >&5
+++echo "configure:1724: checking for inline" >&5
++ if eval "test \"`echo '$''{'ac_cv_c_inline'+set}'`\" = set"; then
++ echo $ac_n "(cached) $ac_c" 1>&6
++ else
++ ac_cv_c_inline=no
++ for ac_kw in inline __inline__ __inline; do
++ cat > conftest.$ac_ext <<EOF
++-#line 1732 "configure"
+++#line 1731 "configure"
++ #include "confdefs.h"
++
++ int main() {
++ } $ac_kw foo() {
++ ; return 0; }
++ EOF
++-if { (eval echo configure:1739: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+++if { (eval echo configure:1738: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
++ rm -rf conftest*
++ ac_cv_c_inline=$ac_kw; break
++ else
++@@ -1786,7 +1785,7 @@
++ esac
++
++ echo $ac_n "checking for syslog in -lsocket""... $ac_c" 1>&6
++-echo "configure:1790: checking for syslog in -lsocket" >&5
+++echo "configure:1789: checking for syslog in -lsocket" >&5
++ ac_lib_var=`echo socket'_'syslog | sed 'y%./+-%__p_%'`
++ if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
++ echo $ac_n "(cached) $ac_c" 1>&6
++@@ -1794,7 +1793,7 @@
++ ac_save_LIBS="$LIBS"
++ LIBS="-lsocket $LIBS"
++ cat > conftest.$ac_ext <<EOF
++-#line 1798 "configure"
+++#line 1797 "configure"
++ #include "confdefs.h"
++ /* Override any gcc2 internal prototype to avoid an error. */
++ /* We use char because int might match the return type of a gcc2
++@@ -1805,7 +1804,7 @@
++ syslog()
++ ; return 0; }
++ EOF
++-if { (eval echo configure:1809: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+++if { (eval echo configure:1808: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
++ rm -rf conftest*
++ eval "ac_cv_lib_$ac_lib_var=yes"
++ else
++@@ -1832,108 +1831,14 @@
++ echo "$ac_t""no" 1>&6
++ fi
++
++-echo $ac_n "checking for syslog in -lbe""... $ac_c" 1>&6
++-echo "configure:1837: checking for syslog in -lbe" >&5
++-ac_lib_var=`echo be'_'syslog | sed 'y%./+-%__p_%'`
++-if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
++- echo $ac_n "(cached) $ac_c" 1>&6
++-else
++- ac_save_LIBS="$LIBS"
++-LIBS="-lbe $LIBS"
++-cat > conftest.$ac_ext <<EOF
++-#line 1845 "configure"
++-#include "confdefs.h"
++-/* Override any gcc2 internal prototype to avoid an error. */
++-/* We use char because int might match the return type of a gcc2
++- builtin and then its argument prototype would still apply. */
++-char syslog();
++-
++-int main() {
++-syslog()
++-; return 0; }
++-EOF
++-if { (eval echo configure:1856: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
++- rm -rf conftest*
++- eval "ac_cv_lib_$ac_lib_var=yes"
++-else
++- echo "configure: failed program was:" >&5
++- cat conftest.$ac_ext >&5
++- rm -rf conftest*
++- eval "ac_cv_lib_$ac_lib_var=no"
++-fi
++-rm -f conftest*
++-LIBS="$ac_save_LIBS"
++-
++-fi
++-if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then
++- echo "$ac_t""yes" 1>&6
++- ac_tr_lib=HAVE_LIB`echo be | sed -e 's/[^a-zA-Z0-9_]/_/g' \
++- -e 'y/abcdefghijklmnopqrstuvwxyz/ABCDEFGHIJKLMNOPQRSTUVWXYZ/'`
++- cat >> confdefs.h <<EOF
++-#define $ac_tr_lib 1
++-EOF
++-
++- LIBS="-lbe $LIBS"
++-
++-else
++- echo "$ac_t""no" 1>&6
++-fi
++-
++-echo $ac_n "checking for gethostbyname in -lnsl""... $ac_c" 1>&6
++-echo "configure:1884: checking for gethostbyname in -lnsl" >&5
++-ac_lib_var=`echo nsl'_'gethostbyname | sed 'y%./+-%__p_%'`
++-if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
++- echo $ac_n "(cached) $ac_c" 1>&6
++-else
++- ac_save_LIBS="$LIBS"
++-LIBS="-lnsl $LIBS"
++-cat > conftest.$ac_ext <<EOF
++-#line 1892 "configure"
++-#include "confdefs.h"
++-/* Override any gcc2 internal prototype to avoid an error. */
++-/* We use char because int might match the return type of a gcc2
++- builtin and then its argument prototype would still apply. */
++-char gethostbyname();
++-
++-int main() {
++-gethostbyname()
++-; return 0; }
++-EOF
++-if { (eval echo configure:1903: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
++- rm -rf conftest*
++- eval "ac_cv_lib_$ac_lib_var=yes"
++-else
++- echo "configure: failed program was:" >&5
++- cat conftest.$ac_ext >&5
++- rm -rf conftest*
++- eval "ac_cv_lib_$ac_lib_var=no"
++-fi
++-rm -f conftest*
++-LIBS="$ac_save_LIBS"
++-
++-fi
++-if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then
++- echo "$ac_t""yes" 1>&6
++- ac_tr_lib=HAVE_LIB`echo nsl | sed -e 's/[^a-zA-Z0-9_]/_/g' \
++- -e 'y/abcdefghijklmnopqrstuvwxyz/ABCDEFGHIJKLMNOPQRSTUVWXYZ/'`
++- cat >> confdefs.h <<EOF
++-#define $ac_tr_lib 1
++-EOF
++-
++- LIBS="-lnsl $LIBS"
++-
++-else
++- echo "$ac_t""no" 1>&6
++-fi
++-
++
++ echo $ac_n "checking for ANSI C header files""... $ac_c" 1>&6
++-echo "configure:1932: checking for ANSI C header files" >&5
+++echo "configure:1931: checking for ANSI C header files" >&5
++ if eval "test \"`echo '$''{'ac_cv_header_stdc'+set}'`\" = set"; then
++ echo $ac_n "(cached) $ac_c" 1>&6
++ else
++ cat > conftest.$ac_ext <<EOF
++-#line 1937 "configure"
+++#line 1936 "configure"
++ #include "confdefs.h"
++ #include <stdlib.h>
++ #include <stdarg.h>
++@@ -1941,7 +1846,7 @@
++ #include <float.h>
++ EOF
++ ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
++-{ (eval echo configure:1945: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+++{ (eval echo configure:1944: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
++ ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
++ if test -z "$ac_err"; then
++ rm -rf conftest*
++@@ -1958,7 +1863,7 @@
++ if test $ac_cv_header_stdc = yes; then
++ # SunOS 4.x string.h does not declare mem*, contrary to ANSI.
++ cat > conftest.$ac_ext <<EOF
++-#line 1962 "configure"
+++#line 1961 "configure"
++ #include "confdefs.h"
++ #include <string.h>
++ EOF
++@@ -1976,7 +1881,7 @@
++ if test $ac_cv_header_stdc = yes; then
++ # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI.
++ cat > conftest.$ac_ext <<EOF
++-#line 1980 "configure"
+++#line 1979 "configure"
++ #include "confdefs.h"
++ #include <stdlib.h>
++ EOF
++@@ -1997,7 +1902,7 @@
++ :
++ else
++ cat > conftest.$ac_ext <<EOF
++-#line 2001 "configure"
+++#line 2000 "configure"
++ #include "confdefs.h"
++ #include <ctype.h>
++ #define ISLOWER(c) ('a' <= (c) && (c) <= 'z')
++@@ -2008,7 +1913,7 @@
++ exit (0); }
++
++ EOF
++-if { (eval echo configure:2012: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
+++if { (eval echo configure:2011: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
++ then
++ :
++ else
++@@ -2035,17 +1940,17 @@
++ do
++ ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
++ echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
++-echo "configure:2039: checking for $ac_hdr" >&5
+++echo "configure:2038: checking for $ac_hdr" >&5
++ if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
++ echo $ac_n "(cached) $ac_c" 1>&6
++ else
++ cat > conftest.$ac_ext <<EOF
++-#line 2044 "configure"
+++#line 2043 "configure"
++ #include "confdefs.h"
++ #include <$ac_hdr>
++ EOF
++ ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
++-{ (eval echo configure:2049: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+++{ (eval echo configure:2048: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
++ ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
++ if test -z "$ac_err"; then
++ rm -rf conftest*
++@@ -2076,17 +1981,17 @@
++ do
++ ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
++ echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
++-echo "configure:2080: checking for $ac_hdr" >&5
+++echo "configure:2079: checking for $ac_hdr" >&5
++ if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
++ echo $ac_n "(cached) $ac_c" 1>&6
++ else
++ cat > conftest.$ac_ext <<EOF
++-#line 2085 "configure"
+++#line 2084 "configure"
++ #include "confdefs.h"
++ #include <$ac_hdr>
++ EOF
++ ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
++-{ (eval echo configure:2090: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+++{ (eval echo configure:2089: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
++ ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
++ if test -z "$ac_err"; then
++ rm -rf conftest*
++@@ -2116,17 +2021,17 @@
++ do
++ ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
++ echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
++-echo "configure:2120: checking for $ac_hdr" >&5
+++echo "configure:2119: checking for $ac_hdr" >&5
++ if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
++ echo $ac_n "(cached) $ac_c" 1>&6
++ else
++ cat > conftest.$ac_ext <<EOF
++-#line 2125 "configure"
+++#line 2124 "configure"
++ #include "confdefs.h"
++ #include <$ac_hdr>
++ EOF
++ ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
++-{ (eval echo configure:2130: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+++{ (eval echo configure:2129: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
++ ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
++ if test -z "$ac_err"; then
++ rm -rf conftest*
++@@ -2156,17 +2061,17 @@
++ do
++ ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
++ echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
++-echo "configure:2160: checking for $ac_hdr" >&5
+++echo "configure:2159: checking for $ac_hdr" >&5
++ if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
++ echo $ac_n "(cached) $ac_c" 1>&6
++ else
++ cat > conftest.$ac_ext <<EOF
++-#line 2165 "configure"
+++#line 2164 "configure"
++ #include "confdefs.h"
++ #include <$ac_hdr>
++ EOF
++ ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
++-{ (eval echo configure:2170: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+++{ (eval echo configure:2169: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
++ ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
++ if test -z "$ac_err"; then
++ rm -rf conftest*
++@@ -2196,17 +2101,17 @@
++ do
++ ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
++ echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
++-echo "configure:2200: checking for $ac_hdr" >&5
+++echo "configure:2199: checking for $ac_hdr" >&5
++ if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
++ echo $ac_n "(cached) $ac_c" 1>&6
++ else
++ cat > conftest.$ac_ext <<EOF
++-#line 2205 "configure"
+++#line 2204 "configure"
++ #include "confdefs.h"
++ #include <$ac_hdr>
++ EOF
++ ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
++-{ (eval echo configure:2210: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+++{ (eval echo configure:2209: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
++ ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
++ if test -z "$ac_err"; then
++ rm -rf conftest*
++@@ -2234,12 +2139,12 @@
++
++
++ echo $ac_n "checking for size_t""... $ac_c" 1>&6
++-echo "configure:2238: checking for size_t" >&5
+++echo "configure:2237: checking for size_t" >&5
++ if eval "test \"`echo '$''{'ac_cv_type_size_t'+set}'`\" = set"; then
++ echo $ac_n "(cached) $ac_c" 1>&6
++ else
++ cat > conftest.$ac_ext <<EOF
++-#line 2243 "configure"
+++#line 2242 "configure"
++ #include "confdefs.h"
++ #include <sys/types.h>
++ #if STDC_HEADERS
++@@ -2267,12 +2172,12 @@
++ fi
++
++ echo $ac_n "checking for mode_t""... $ac_c" 1>&6
++-echo "configure:2271: checking for mode_t" >&5
+++echo "configure:2270: checking for mode_t" >&5
++ if eval "test \"`echo '$''{'ac_cv_type_mode_t'+set}'`\" = set"; then
++ echo $ac_n "(cached) $ac_c" 1>&6
++ else
++ cat > conftest.$ac_ext <<EOF
++-#line 2276 "configure"
+++#line 2275 "configure"
++ #include "confdefs.h"
++ #include <sys/types.h>
++ #if STDC_HEADERS
++@@ -2300,12 +2205,12 @@
++ fi
++
++ echo $ac_n "checking for off_t""... $ac_c" 1>&6
++-echo "configure:2304: checking for off_t" >&5
+++echo "configure:2303: checking for off_t" >&5
++ if eval "test \"`echo '$''{'ac_cv_type_off_t'+set}'`\" = set"; then
++ echo $ac_n "(cached) $ac_c" 1>&6
++ else
++ cat > conftest.$ac_ext <<EOF
++-#line 2309 "configure"
+++#line 2308 "configure"
++ #include "confdefs.h"
++ #include <sys/types.h>
++ #if STDC_HEADERS
++@@ -2334,12 +2239,12 @@
++
++
++ echo $ac_n "checking for speed_t""... $ac_c" 1>&6
++-echo "configure:2338: checking for speed_t" >&5
+++echo "configure:2337: checking for speed_t" >&5
++ if eval "test \"`echo '$''{'ac_cv_type_speed_t'+set}'`\" = set"; then
++ echo $ac_n "(cached) $ac_c" 1>&6
++ else
++ cat > conftest.$ac_ext <<EOF
++-#line 2343 "configure"
+++#line 2342 "configure"
++ #include "confdefs.h"
++ #include <sys/types.h>
++ #if STDC_HEADERS
++@@ -2389,12 +2294,12 @@
++ fi
++
++ echo $ac_n "checking for st_rdev in struct stat""... $ac_c" 1>&6
++-echo "configure:2393: checking for st_rdev in struct stat" >&5
+++echo "configure:2392: checking for st_rdev in struct stat" >&5
++ if eval "test \"`echo '$''{'ac_cv_struct_st_rdev'+set}'`\" = set"; then
++ echo $ac_n "(cached) $ac_c" 1>&6
++ else
++ cat > conftest.$ac_ext <<EOF
++-#line 2398 "configure"
+++#line 2397 "configure"
++ #include "confdefs.h"
++ #include <sys/types.h>
++ #include <sys/stat.h>
++@@ -2402,7 +2307,7 @@
++ struct stat s; s.st_rdev;
++ ; return 0; }
++ EOF
++-if { (eval echo configure:2406: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+++if { (eval echo configure:2405: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
++ rm -rf conftest*
++ ac_cv_struct_st_rdev=yes
++ else
++@@ -2423,12 +2328,12 @@
++ fi
++
++ echo $ac_n "checking whether time.h and sys/time.h may both be included""... $ac_c" 1>&6
++-echo "configure:2427: checking whether time.h and sys/time.h may both be included" >&5
+++echo "configure:2426: checking whether time.h and sys/time.h may both be included" >&5
++ if eval "test \"`echo '$''{'ac_cv_header_time'+set}'`\" = set"; then
++ echo $ac_n "(cached) $ac_c" 1>&6
++ else
++ cat > conftest.$ac_ext <<EOF
++-#line 2432 "configure"
+++#line 2431 "configure"
++ #include "confdefs.h"
++ #include <sys/types.h>
++ #include <sys/time.h>
++@@ -2437,7 +2342,7 @@
++ struct tm *tp;
++ ; return 0; }
++ EOF
++-if { (eval echo configure:2441: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+++if { (eval echo configure:2440: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
++ rm -rf conftest*
++ ac_cv_header_time=yes
++ else
++@@ -2459,12 +2364,12 @@
++
++
++ echo $ac_n "checking for socklen_t""... $ac_c" 1>&6
++-echo "configure:2463: checking for socklen_t" >&5
+++echo "configure:2462: checking for socklen_t" >&5
++ if eval "test \"`echo '$''{'ac_cv_type_socklen_t'+set}'`\" = set"; then
++ echo $ac_n "(cached) $ac_c" 1>&6
++ else
++ cat > conftest.$ac_ext <<EOF
++-#line 2468 "configure"
+++#line 2467 "configure"
++ #include "confdefs.h"
++
++ #include "confdefs.h"
++@@ -2480,7 +2385,7 @@
++
++ ; return 0; }
++ EOF
++-if { (eval echo configure:2484: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+++if { (eval echo configure:2483: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
++ rm -rf conftest*
++ ac_cv_type_socklen_t=yes
++ else
++@@ -2505,12 +2410,12 @@
++ fi
++
++ echo $ac_n "checking whether sys/time.h and sys/select.h may both be included""... $ac_c" 1>&6
++-echo "configure:2509: checking whether sys/time.h and sys/select.h may both be included" >&5
+++echo "configure:2508: checking whether sys/time.h and sys/select.h may both be included" >&5
++ if eval "test \"`echo '$''{'lrzsz_cv_header_sys_select'+set}'`\" = set"; then
++ echo $ac_n "(cached) $ac_c" 1>&6
++ else
++ cat > conftest.$ac_ext <<EOF
++-#line 2514 "configure"
+++#line 2513 "configure"
++ #include "confdefs.h"
++ #include <sys/types.h>
++ #include <sys/time.h>
++@@ -2519,7 +2424,7 @@
++ struct tm *tp;
++ ; return 0; }
++ EOF
++-if { (eval echo configure:2523: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+++if { (eval echo configure:2522: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
++ rm -rf conftest*
++ lrzsz_cv_header_sys_select=yes
++ else
++@@ -2540,12 +2445,12 @@
++ fi
++
++ echo $ac_n "checking whether struct tm is in sys/time.h or time.h""... $ac_c" 1>&6
++-echo "configure:2544: checking whether struct tm is in sys/time.h or time.h" >&5
+++echo "configure:2543: checking whether struct tm is in sys/time.h or time.h" >&5
++ if eval "test \"`echo '$''{'ac_cv_struct_tm'+set}'`\" = set"; then
++ echo $ac_n "(cached) $ac_c" 1>&6
++ else
++ cat > conftest.$ac_ext <<EOF
++-#line 2549 "configure"
+++#line 2548 "configure"
++ #include "confdefs.h"
++ #include <sys/types.h>
++ #include <time.h>
++@@ -2553,7 +2458,7 @@
++ struct tm *tp; tp->tm_sec;
++ ; return 0; }
++ EOF
++-if { (eval echo configure:2557: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+++if { (eval echo configure:2556: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
++ rm -rf conftest*
++ ac_cv_struct_tm=time.h
++ else
++@@ -2575,19 +2480,19 @@
++
++
++ echo $ac_n "checking for errno declaration""... $ac_c" 1>&6
++-echo "configure:2579: checking for errno declaration" >&5
+++echo "configure:2578: checking for errno declaration" >&5
++ if eval "test \"`echo '$''{'lrzsz_cv_decl_errno'+set}'`\" = set"; then
++ echo $ac_n "(cached) $ac_c" 1>&6
++ else
++ cat > conftest.$ac_ext <<EOF
++-#line 2584 "configure"
+++#line 2583 "configure"
++ #include "confdefs.h"
++ #include <errno.h>
++ int main() {
++ int i = errno; errno = 1;
++ ; return 0; }
++ EOF
++-if { (eval echo configure:2591: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+++if { (eval echo configure:2590: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
++ rm -rf conftest*
++ lrzsz_cv_decl_errno=yes
++ else
++@@ -2610,7 +2515,7 @@
++
++ if test $cross_compiling = no ; then
++ echo $ac_n "checking whether setvbuf arguments are reversed""... $ac_c" 1>&6
++-echo "configure:2614: checking whether setvbuf arguments are reversed" >&5
+++echo "configure:2613: checking whether setvbuf arguments are reversed" >&5
++ if eval "test \"`echo '$''{'ac_cv_func_setvbuf_reversed'+set}'`\" = set"; then
++ echo $ac_n "(cached) $ac_c" 1>&6
++ else
++@@ -2618,7 +2523,7 @@
++ { echo "configure: error: can not run test program while cross compiling" 1>&2; exit 1; }
++ else
++ cat > conftest.$ac_ext <<EOF
++-#line 2622 "configure"
+++#line 2621 "configure"
++ #include "confdefs.h"
++ #include <stdio.h>
++ /* If setvbuf has the reversed format, exit 0. */
++@@ -2632,7 +2537,7 @@
++ exit(0); /* Non-reversed systems segv here. */
++ }
++ EOF
++-if { (eval echo configure:2636: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
+++if { (eval echo configure:2635: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
++ then
++ ac_cv_func_setvbuf_reversed=yes
++ else
++@@ -2657,12 +2562,12 @@
++
++ fi
++ echo $ac_n "checking return type of signal handlers""... $ac_c" 1>&6
++-echo "configure:2661: checking return type of signal handlers" >&5
+++echo "configure:2660: checking return type of signal handlers" >&5
++ if eval "test \"`echo '$''{'ac_cv_type_signal'+set}'`\" = set"; then
++ echo $ac_n "(cached) $ac_c" 1>&6
++ else
++ cat > conftest.$ac_ext <<EOF
++-#line 2666 "configure"
+++#line 2665 "configure"
++ #include "confdefs.h"
++ #include <sys/types.h>
++ #include <signal.h>
++@@ -2679,7 +2584,7 @@
++ int i;
++ ; return 0; }
++ EOF
++-if { (eval echo configure:2683: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+++if { (eval echo configure:2682: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
++ rm -rf conftest*
++ ac_cv_type_signal=void
++ else
++@@ -2701,17 +2606,17 @@
++ do
++ ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
++ echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
++-echo "configure:2705: checking for $ac_hdr" >&5
+++echo "configure:2704: checking for $ac_hdr" >&5
++ if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
++ echo $ac_n "(cached) $ac_c" 1>&6
++ else
++ cat > conftest.$ac_ext <<EOF
++-#line 2710 "configure"
+++#line 2709 "configure"
++ #include "confdefs.h"
++ #include <$ac_hdr>
++ EOF
++ ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
++-{ (eval echo configure:2715: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+++{ (eval echo configure:2714: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
++ ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
++ if test -z "$ac_err"; then
++ rm -rf conftest*
++@@ -2740,12 +2645,12 @@
++ for ac_func in getpagesize
++ do
++ echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
++-echo "configure:2744: checking for $ac_func" >&5
+++echo "configure:2743: checking for $ac_func" >&5
++ if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
++ echo $ac_n "(cached) $ac_c" 1>&6
++ else
++ cat > conftest.$ac_ext <<EOF
++-#line 2749 "configure"
+++#line 2748 "configure"
++ #include "confdefs.h"
++ /* System header to define __stub macros and hopefully few prototypes,
++ which can conflict with char $ac_func(); below. */
++@@ -2768,7 +2673,7 @@
++
++ ; return 0; }
++ EOF
++-if { (eval echo configure:2772: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+++if { (eval echo configure:2771: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
++ rm -rf conftest*
++ eval "ac_cv_func_$ac_func=yes"
++ else
++@@ -2793,7 +2698,7 @@
++ done
++
++ echo $ac_n "checking for working mmap""... $ac_c" 1>&6
++-echo "configure:2797: checking for working mmap" >&5
+++echo "configure:2796: checking for working mmap" >&5
++ if eval "test \"`echo '$''{'ac_cv_func_mmap_fixed_mapped'+set}'`\" = set"; then
++ echo $ac_n "(cached) $ac_c" 1>&6
++ else
++@@ -2801,7 +2706,7 @@
++ ac_cv_func_mmap_fixed_mapped=no
++ else
++ cat > conftest.$ac_ext <<EOF
++-#line 2805 "configure"
+++#line 2804 "configure"
++ #include "confdefs.h"
++
++ /* Thanks to Mike Haertel and Jim Avera for this test.
++@@ -2941,7 +2846,7 @@
++ }
++
++ EOF
++-if { (eval echo configure:2945: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
+++if { (eval echo configure:2944: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
++ then
++ ac_cv_func_mmap_fixed_mapped=yes
++ else
++@@ -2966,19 +2871,19 @@
++ # The Ultrix 4.2 mips builtin alloca declared by alloca.h only works
++ # for constant arguments. Useless!
++ echo $ac_n "checking for working alloca.h""... $ac_c" 1>&6
++-echo "configure:2970: checking for working alloca.h" >&5
+++echo "configure:2969: checking for working alloca.h" >&5
++ if eval "test \"`echo '$''{'ac_cv_header_alloca_h'+set}'`\" = set"; then
++ echo $ac_n "(cached) $ac_c" 1>&6
++ else
++ cat > conftest.$ac_ext <<EOF
++-#line 2975 "configure"
+++#line 2974 "configure"
++ #include "confdefs.h"
++ #include <alloca.h>
++ int main() {
++ char *p = alloca(2 * sizeof(int));
++ ; return 0; }
++ EOF
++-if { (eval echo configure:2982: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+++if { (eval echo configure:2981: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
++ rm -rf conftest*
++ ac_cv_header_alloca_h=yes
++ else
++@@ -2999,12 +2904,12 @@
++ fi
++
++ echo $ac_n "checking for alloca""... $ac_c" 1>&6
++-echo "configure:3003: checking for alloca" >&5
+++echo "configure:3002: checking for alloca" >&5
++ if eval "test \"`echo '$''{'ac_cv_func_alloca_works'+set}'`\" = set"; then
++ echo $ac_n "(cached) $ac_c" 1>&6
++ else
++ cat > conftest.$ac_ext <<EOF
++-#line 3008 "configure"
+++#line 3007 "configure"
++ #include "confdefs.h"
++
++ #ifdef __GNUC__
++@@ -3032,7 +2937,7 @@
++ char *p = (char *) alloca(1);
++ ; return 0; }
++ EOF
++-if { (eval echo configure:3036: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+++if { (eval echo configure:3035: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
++ rm -rf conftest*
++ ac_cv_func_alloca_works=yes
++ else
++@@ -3064,12 +2969,12 @@
++
++
++ echo $ac_n "checking whether alloca needs Cray hooks""... $ac_c" 1>&6
++-echo "configure:3068: checking whether alloca needs Cray hooks" >&5
+++echo "configure:3067: checking whether alloca needs Cray hooks" >&5
++ if eval "test \"`echo '$''{'ac_cv_os_cray'+set}'`\" = set"; then
++ echo $ac_n "(cached) $ac_c" 1>&6
++ else
++ cat > conftest.$ac_ext <<EOF
++-#line 3073 "configure"
+++#line 3072 "configure"
++ #include "confdefs.h"
++ #if defined(CRAY) && ! defined(CRAY2)
++ webecray
++@@ -3094,12 +2999,12 @@
++ if test $ac_cv_os_cray = yes; then
++ for ac_func in _getb67 GETB67 getb67; do
++ echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
++-echo "configure:3098: checking for $ac_func" >&5
+++echo "configure:3097: checking for $ac_func" >&5
++ if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
++ echo $ac_n "(cached) $ac_c" 1>&6
++ else
++ cat > conftest.$ac_ext <<EOF
++-#line 3103 "configure"
+++#line 3102 "configure"
++ #include "confdefs.h"
++ /* System header to define __stub macros and hopefully few prototypes,
++ which can conflict with char $ac_func(); below. */
++@@ -3122,7 +3027,7 @@
++
++ ; return 0; }
++ EOF
++-if { (eval echo configure:3126: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+++if { (eval echo configure:3125: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
++ rm -rf conftest*
++ eval "ac_cv_func_$ac_func=yes"
++ else
++@@ -3149,7 +3054,7 @@
++ fi
++
++ echo $ac_n "checking stack direction for C alloca""... $ac_c" 1>&6
++-echo "configure:3153: checking stack direction for C alloca" >&5
+++echo "configure:3152: checking stack direction for C alloca" >&5
++ if eval "test \"`echo '$''{'ac_cv_c_stack_direction'+set}'`\" = set"; then
++ echo $ac_n "(cached) $ac_c" 1>&6
++ else
++@@ -3157,7 +3062,7 @@
++ ac_cv_c_stack_direction=0
++ else
++ cat > conftest.$ac_ext <<EOF
++-#line 3161 "configure"
+++#line 3160 "configure"
++ #include "confdefs.h"
++ find_stack_direction ()
++ {
++@@ -3176,7 +3081,7 @@
++ exit (find_stack_direction() < 0);
++ }
++ EOF
++-if { (eval echo configure:3180: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
+++if { (eval echo configure:3179: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
++ then
++ ac_cv_c_stack_direction=1
++ else
++@@ -3198,7 +3103,7 @@
++ fi
++
++ cat > conftest.$ac_ext <<EOF
++-#line 3202 "configure"
+++#line 3201 "configure"
++ #include "confdefs.h"
++ #include <utime.h>
++ EOF
++@@ -3216,12 +3121,12 @@
++ for ac_func in gettimeofday settimeofday
++ do
++ echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
++-echo "configure:3220: checking for $ac_func" >&5
+++echo "configure:3219: checking for $ac_func" >&5
++ if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
++ echo $ac_n "(cached) $ac_c" 1>&6
++ else
++ cat > conftest.$ac_ext <<EOF
++-#line 3225 "configure"
+++#line 3224 "configure"
++ #include "confdefs.h"
++ /* System header to define __stub macros and hopefully few prototypes,
++ which can conflict with char $ac_func(); below. */
++@@ -3244,7 +3149,7 @@
++
++ ; return 0; }
++ EOF
++-if { (eval echo configure:3248: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+++if { (eval echo configure:3247: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
++ rm -rf conftest*
++ eval "ac_cv_func_$ac_func=yes"
++ else
++@@ -3271,12 +3176,12 @@
++ for ac_func in strchr memcpy select vprintf
++ do
++ echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
++-echo "configure:3275: checking for $ac_func" >&5
+++echo "configure:3274: checking for $ac_func" >&5
++ if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
++ echo $ac_n "(cached) $ac_c" 1>&6
++ else
++ cat > conftest.$ac_ext <<EOF
++-#line 3280 "configure"
+++#line 3279 "configure"
++ #include "confdefs.h"
++ /* System header to define __stub macros and hopefully few prototypes,
++ which can conflict with char $ac_func(); below. */
++@@ -3299,7 +3204,7 @@
++
++ ; return 0; }
++ EOF
++-if { (eval echo configure:3303: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+++if { (eval echo configure:3302: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
++ rm -rf conftest*
++ eval "ac_cv_func_$ac_func=yes"
++ else
++@@ -3326,12 +3231,12 @@
++ for ac_func in times rdchk utime syslog siginterrupt
++ do
++ echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
++-echo "configure:3330: checking for $ac_func" >&5
+++echo "configure:3329: checking for $ac_func" >&5
++ if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
++ echo $ac_n "(cached) $ac_c" 1>&6
++ else
++ cat > conftest.$ac_ext <<EOF
++-#line 3335 "configure"
+++#line 3334 "configure"
++ #include "confdefs.h"
++ /* System header to define __stub macros and hopefully few prototypes,
++ which can conflict with char $ac_func(); below. */
++@@ -3354,7 +3259,7 @@
++
++ ; return 0; }
++ EOF
++-if { (eval echo configure:3358: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+++if { (eval echo configure:3357: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
++ rm -rf conftest*
++ eval "ac_cv_func_$ac_func=yes"
++ else
++@@ -3381,12 +3286,12 @@
++ for ac_func in mkdir mktime strerror strstr strdup strtoul strtol strpbrk
++ do
++ echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
++-echo "configure:3385: checking for $ac_func" >&5
+++echo "configure:3384: checking for $ac_func" >&5
++ if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
++ echo $ac_n "(cached) $ac_c" 1>&6
++ else
++ cat > conftest.$ac_ext <<EOF
++-#line 3390 "configure"
+++#line 3389 "configure"
++ #include "confdefs.h"
++ /* System header to define __stub macros and hopefully few prototypes,
++ which can conflict with char $ac_func(); below. */
++@@ -3409,7 +3314,7 @@
++
++ ; return 0; }
++ EOF
++-if { (eval echo configure:3413: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+++if { (eval echo configure:3412: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
++ rm -rf conftest*
++ eval "ac_cv_func_$ac_func=yes"
++ else
++@@ -3438,12 +3343,12 @@
++ for ac_func in stpcpy strftime vasprintf
++ do
++ echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
++-echo "configure:3442: checking for $ac_func" >&5
+++echo "configure:3441: checking for $ac_func" >&5
++ if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
++ echo $ac_n "(cached) $ac_c" 1>&6
++ else
++ cat > conftest.$ac_ext <<EOF
++-#line 3447 "configure"
+++#line 3446 "configure"
++ #include "confdefs.h"
++ /* System header to define __stub macros and hopefully few prototypes,
++ which can conflict with char $ac_func(); below. */
++@@ -3466,7 +3371,7 @@
++
++ ; return 0; }
++ EOF
++-if { (eval echo configure:3470: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+++if { (eval echo configure:3469: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
++ rm -rf conftest*
++ eval "ac_cv_func_$ac_func=yes"
++ else
++@@ -3494,12 +3399,12 @@
++
++
++ echo $ac_n "checking for getopt_long""... $ac_c" 1>&6
++-echo "configure:3498: checking for getopt_long" >&5
+++echo "configure:3497: checking for getopt_long" >&5
++ if eval "test \"`echo '$''{'ac_cv_func_getopt_long'+set}'`\" = set"; then
++ echo $ac_n "(cached) $ac_c" 1>&6
++ else
++ cat > conftest.$ac_ext <<EOF
++-#line 3503 "configure"
+++#line 3502 "configure"
++ #include "confdefs.h"
++ /* System header to define __stub macros and hopefully few prototypes,
++ which can conflict with char getopt_long(); below. */
++@@ -3522,7 +3427,7 @@
++
++ ; return 0; }
++ EOF
++-if { (eval echo configure:3526: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+++if { (eval echo configure:3525: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
++ rm -rf conftest*
++ eval "ac_cv_func_getopt_long=yes"
++ else
++@@ -3552,12 +3457,12 @@
++
++
++ echo $ac_n "checking for ftime""... $ac_c" 1>&6
++-echo "configure:3556: checking for ftime" >&5
+++echo "configure:3555: checking for ftime" >&5
++ if eval "test \"`echo '$''{'ac_cv_func_ftime'+set}'`\" = set"; then
++ echo $ac_n "(cached) $ac_c" 1>&6
++ else
++ cat > conftest.$ac_ext <<EOF
++-#line 3561 "configure"
+++#line 3560 "configure"
++ #include "confdefs.h"
++ /* System header to define __stub macros and hopefully few prototypes,
++ which can conflict with char ftime(); below. */
++@@ -3580,7 +3485,7 @@
++
++ ; return 0; }
++ EOF
++-if { (eval echo configure:3584: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+++if { (eval echo configure:3583: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
++ rm -rf conftest*
++ eval "ac_cv_func_ftime=yes"
++ else
++@@ -3595,7 +3500,7 @@
++ if eval "test \"`echo '$ac_cv_func_'ftime`\" = yes"; then
++ echo "$ac_t""yes" 1>&6
++ echo $ac_n "checking that ftime works correctly""... $ac_c" 1>&6
++-echo "configure:3599: checking that ftime works correctly" >&5
+++echo "configure:3598: checking that ftime works correctly" >&5
++ if eval "test \"`echo '$''{'lrzsz_cv_sys_ftime_ok'+set}'`\" = set"; then
++ echo $ac_n "(cached) $ac_c" 1>&6
++ else
++@@ -3603,7 +3508,7 @@
++ lrzsz_cv_sys_ftime_ok=runtime
++ else
++ cat > conftest.$ac_ext <<EOF
++-#line 3607 "configure"
+++#line 3606 "configure"
++ #include "confdefs.h"
++
++ #include <sys/types.h>
++@@ -3632,7 +3537,7 @@
++ }
++
++ EOF
++-if { (eval echo configure:3636: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
+++if { (eval echo configure:3635: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
++ then
++ lrzsz_cv_sys_ftime_ok=yes
++ else
++@@ -3666,20 +3571,20 @@
++
++
++ echo $ac_n "checking for timezone variable""... $ac_c" 1>&6
++-echo "configure:3670: checking for timezone variable" >&5
+++echo "configure:3669: checking for timezone variable" >&5
++ if eval "test \"`echo '$''{'libquark_cv_var_timezone'+set}'`\" = set"; then
++ echo $ac_n "(cached) $ac_c" 1>&6
++ else
++
++ cat > conftest.$ac_ext <<EOF
++-#line 3676 "configure"
+++#line 3675 "configure"
++ #include "confdefs.h"
++ #include <time.h>
++ int main() {
++ return(int)(timezone/2);
++ ; return 0; }
++ EOF
++-if { (eval echo configure:3683: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+++if { (eval echo configure:3682: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
++ rm -rf conftest*
++ libquark_cv_var_timezone=yes
++ else
++@@ -3705,13 +3610,13 @@
++ :
++ else
++ echo $ac_n "checking for $lookup_facility""... $ac_c" 1>&6
++-echo "configure:3709: checking for $lookup_facility" >&5
+++echo "configure:3708: checking for $lookup_facility" >&5
++ if eval "test \"`echo '$''{'lrzsz_cv_lookup_facility'+set}'`\" = set"; then
++ echo $ac_n "(cached) $ac_c" 1>&6
++ else
++
++ cat > conftest.$ac_ext <<EOF
++-#line 3715 "configure"
+++#line 3714 "configure"
++ #include "confdefs.h"
++
++ #ifdef HAVE_SYSLOG_H
++@@ -3763,17 +3668,17 @@
++ do
++ ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
++ echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
++-echo "configure:3767: checking for $ac_hdr" >&5
+++echo "configure:3766: checking for $ac_hdr" >&5
++ if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
++ echo $ac_n "(cached) $ac_c" 1>&6
++ else
++ cat > conftest.$ac_ext <<EOF
++-#line 3772 "configure"
+++#line 3771 "configure"
++ #include "confdefs.h"
++ #include <$ac_hdr>
++ EOF
++ ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
++-{ (eval echo configure:3777: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+++{ (eval echo configure:3776: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
++ ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
++ if test -z "$ac_err"; then
++ rm -rf conftest*
++@@ -3803,12 +3708,12 @@
++ strdup __argz_count __argz_stringify __argz_next
++ do
++ echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
++-echo "configure:3807: checking for $ac_func" >&5
+++echo "configure:3806: checking for $ac_func" >&5
++ if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
++ echo $ac_n "(cached) $ac_c" 1>&6
++ else
++ cat > conftest.$ac_ext <<EOF
++-#line 3812 "configure"
+++#line 3811 "configure"
++ #include "confdefs.h"
++ /* System header to define __stub macros and hopefully few prototypes,
++ which can conflict with char $ac_func(); below. */
++@@ -3831,7 +3736,7 @@
++
++ ; return 0; }
++ EOF
++-if { (eval echo configure:3835: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+++if { (eval echo configure:3834: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
++ rm -rf conftest*
++ eval "ac_cv_func_$ac_func=yes"
++ else
++@@ -3860,12 +3765,12 @@
++ for ac_func in stpcpy
++ do
++ echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
++-echo "configure:3864: checking for $ac_func" >&5
+++echo "configure:3863: checking for $ac_func" >&5
++ if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
++ echo $ac_n "(cached) $ac_c" 1>&6
++ else
++ cat > conftest.$ac_ext <<EOF
++-#line 3869 "configure"
+++#line 3868 "configure"
++ #include "confdefs.h"
++ /* System header to define __stub macros and hopefully few prototypes,
++ which can conflict with char $ac_func(); below. */
++@@ -3888,7 +3793,7 @@
++
++ ; return 0; }
++ EOF
++-if { (eval echo configure:3892: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+++if { (eval echo configure:3891: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
++ rm -rf conftest*
++ eval "ac_cv_func_$ac_func=yes"
++ else
++@@ -3922,19 +3827,19 @@
++
++ if test $ac_cv_header_locale_h = yes; then
++ echo $ac_n "checking for LC_MESSAGES""... $ac_c" 1>&6
++-echo "configure:3926: checking for LC_MESSAGES" >&5
+++echo "configure:3925: checking for LC_MESSAGES" >&5
++ if eval "test \"`echo '$''{'am_cv_val_LC_MESSAGES'+set}'`\" = set"; then
++ echo $ac_n "(cached) $ac_c" 1>&6
++ else
++ cat > conftest.$ac_ext <<EOF
++-#line 3931 "configure"
+++#line 3930 "configure"
++ #include "confdefs.h"
++ #include <locale.h>
++ int main() {
++ return LC_MESSAGES
++ ; return 0; }
++ EOF
++-if { (eval echo configure:3938: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+++if { (eval echo configure:3937: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
++ rm -rf conftest*
++ am_cv_val_LC_MESSAGES=yes
++ else
++@@ -3955,7 +3860,7 @@
++ fi
++ fi
++ echo $ac_n "checking whether NLS is requested""... $ac_c" 1>&6
++-echo "configure:3959: checking whether NLS is requested" >&5
+++echo "configure:3958: checking whether NLS is requested" >&5
++ # Check whether --enable-nls or --disable-nls was given.
++ if test "${enable_nls+set}" = set; then
++ enableval="$enable_nls"
++@@ -3975,7 +3880,7 @@
++ EOF
++
++ echo $ac_n "checking whether included gettext is requested""... $ac_c" 1>&6
++-echo "configure:3979: checking whether included gettext is requested" >&5
+++echo "configure:3978: checking whether included gettext is requested" >&5
++ # Check whether --with-included-gettext or --without-included-gettext was given.
++ if test "${with_included_gettext+set}" = set; then
++ withval="$with_included_gettext"
++@@ -3994,17 +3899,17 @@
++
++ ac_safe=`echo "libintl.h" | sed 'y%./+-%__p_%'`
++ echo $ac_n "checking for libintl.h""... $ac_c" 1>&6
++-echo "configure:3998: checking for libintl.h" >&5
+++echo "configure:3997: checking for libintl.h" >&5
++ if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
++ echo $ac_n "(cached) $ac_c" 1>&6
++ else
++ cat > conftest.$ac_ext <<EOF
++-#line 4003 "configure"
+++#line 4002 "configure"
++ #include "confdefs.h"
++ #include <libintl.h>
++ EOF
++ ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
++-{ (eval echo configure:4008: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+++{ (eval echo configure:4007: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
++ ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
++ if test -z "$ac_err"; then
++ rm -rf conftest*
++@@ -4021,19 +3926,19 @@
++ if eval "test \"`echo '$ac_cv_header_'$ac_safe`\" = yes"; then
++ echo "$ac_t""yes" 1>&6
++ echo $ac_n "checking for gettext in libc""... $ac_c" 1>&6
++-echo "configure:4025: checking for gettext in libc" >&5
+++echo "configure:4024: checking for gettext in libc" >&5
++ if eval "test \"`echo '$''{'gt_cv_func_gettext_libc'+set}'`\" = set"; then
++ echo $ac_n "(cached) $ac_c" 1>&6
++ else
++ cat > conftest.$ac_ext <<EOF
++-#line 4030 "configure"
+++#line 4029 "configure"
++ #include "confdefs.h"
++ #include <libintl.h>
++ int main() {
++ return (int) gettext ("")
++ ; return 0; }
++ EOF
++-if { (eval echo configure:4037: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+++if { (eval echo configure:4036: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
++ rm -rf conftest*
++ gt_cv_func_gettext_libc=yes
++ else
++@@ -4049,7 +3954,7 @@
++
++ if test "$gt_cv_func_gettext_libc" != "yes"; then
++ echo $ac_n "checking for bindtextdomain in -lintl""... $ac_c" 1>&6
++-echo "configure:4053: checking for bindtextdomain in -lintl" >&5
+++echo "configure:4052: checking for bindtextdomain in -lintl" >&5
++ ac_lib_var=`echo intl'_'bindtextdomain | sed 'y%./+-%__p_%'`
++ if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
++ echo $ac_n "(cached) $ac_c" 1>&6
++@@ -4057,7 +3962,7 @@
++ ac_save_LIBS="$LIBS"
++ LIBS="-lintl $LIBS"
++ cat > conftest.$ac_ext <<EOF
++-#line 4061 "configure"
+++#line 4060 "configure"
++ #include "confdefs.h"
++ /* Override any gcc2 internal prototype to avoid an error. */
++ /* We use char because int might match the return type of a gcc2
++@@ -4068,7 +3973,7 @@
++ bindtextdomain()
++ ; return 0; }
++ EOF
++-if { (eval echo configure:4072: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+++if { (eval echo configure:4071: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
++ rm -rf conftest*
++ eval "ac_cv_lib_$ac_lib_var=yes"
++ else
++@@ -4084,12 +3989,12 @@
++ if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then
++ echo "$ac_t""yes" 1>&6
++ echo $ac_n "checking for gettext in libintl""... $ac_c" 1>&6
++-echo "configure:4088: checking for gettext in libintl" >&5
+++echo "configure:4087: checking for gettext in libintl" >&5
++ if eval "test \"`echo '$''{'gt_cv_func_gettext_libintl'+set}'`\" = set"; then
++ echo $ac_n "(cached) $ac_c" 1>&6
++ else
++ echo $ac_n "checking for gettext in -lintl""... $ac_c" 1>&6
++-echo "configure:4093: checking for gettext in -lintl" >&5
+++echo "configure:4092: checking for gettext in -lintl" >&5
++ ac_lib_var=`echo intl'_'gettext | sed 'y%./+-%__p_%'`
++ if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
++ echo $ac_n "(cached) $ac_c" 1>&6
++@@ -4097,7 +4002,7 @@
++ ac_save_LIBS="$LIBS"
++ LIBS="-lintl $LIBS"
++ cat > conftest.$ac_ext <<EOF
++-#line 4101 "configure"
+++#line 4100 "configure"
++ #include "confdefs.h"
++ /* Override any gcc2 internal prototype to avoid an error. */
++ /* We use char because int might match the return type of a gcc2
++@@ -4108,7 +4013,7 @@
++ gettext()
++ ; return 0; }
++ EOF
++-if { (eval echo configure:4112: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+++if { (eval echo configure:4111: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
++ rm -rf conftest*
++ eval "ac_cv_lib_$ac_lib_var=yes"
++ else
++@@ -4147,7 +4052,7 @@
++ # Extract the first word of "msgfmt", so it can be a program name with args.
++ set dummy msgfmt; ac_word=$2
++ echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
++-echo "configure:4151: checking for $ac_word" >&5
+++echo "configure:4150: checking for $ac_word" >&5
++ if eval "test \"`echo '$''{'ac_cv_path_MSGFMT'+set}'`\" = set"; then
++ echo $ac_n "(cached) $ac_c" 1>&6
++ else
++@@ -4181,12 +4086,12 @@
++ for ac_func in dcgettext
++ do
++ echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
++-echo "configure:4185: checking for $ac_func" >&5
+++echo "configure:4184: checking for $ac_func" >&5
++ if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
++ echo $ac_n "(cached) $ac_c" 1>&6
++ else
++ cat > conftest.$ac_ext <<EOF
++-#line 4190 "configure"
+++#line 4189 "configure"
++ #include "confdefs.h"
++ /* System header to define __stub macros and hopefully few prototypes,
++ which can conflict with char $ac_func(); below. */
++@@ -4209,7 +4114,7 @@
++
++ ; return 0; }
++ EOF
++-if { (eval echo configure:4213: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+++if { (eval echo configure:4212: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
++ rm -rf conftest*
++ eval "ac_cv_func_$ac_func=yes"
++ else
++@@ -4236,7 +4141,7 @@
++ # Extract the first word of "gmsgfmt", so it can be a program name with args.
++ set dummy gmsgfmt; ac_word=$2
++ echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
++-echo "configure:4240: checking for $ac_word" >&5
+++echo "configure:4239: checking for $ac_word" >&5
++ if eval "test \"`echo '$''{'ac_cv_path_GMSGFMT'+set}'`\" = set"; then
++ echo $ac_n "(cached) $ac_c" 1>&6
++ else
++@@ -4272,7 +4177,7 @@
++ # Extract the first word of "xgettext", so it can be a program name with args.
++ set dummy xgettext; ac_word=$2
++ echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
++-echo "configure:4276: checking for $ac_word" >&5
+++echo "configure:4275: checking for $ac_word" >&5
++ if eval "test \"`echo '$''{'ac_cv_path_XGETTEXT'+set}'`\" = set"; then
++ echo $ac_n "(cached) $ac_c" 1>&6
++ else
++@@ -4304,7 +4209,7 @@
++ fi
++
++ cat > conftest.$ac_ext <<EOF
++-#line 4308 "configure"
+++#line 4307 "configure"
++ #include "confdefs.h"
++
++ int main() {
++@@ -4312,7 +4217,7 @@
++ return _nl_msg_cat_cntr
++ ; return 0; }
++ EOF
++-if { (eval echo configure:4316: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+++if { (eval echo configure:4315: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
++ rm -rf conftest*
++ CATOBJEXT=.gmo
++ DATADIRNAME=share
++@@ -4335,7 +4240,7 @@
++
++ if test "$CATOBJEXT" = "NONE"; then
++ echo $ac_n "checking whether catgets can be used""... $ac_c" 1>&6
++-echo "configure:4339: checking whether catgets can be used" >&5
+++echo "configure:4338: checking whether catgets can be used" >&5
++ # Check whether --with-catgets or --without-catgets was given.
++ if test "${with_catgets+set}" = set; then
++ withval="$with_catgets"
++@@ -4348,7 +4253,7 @@
++
++ if test "$nls_cv_use_catgets" = "yes"; then
++ echo $ac_n "checking for main in -li""... $ac_c" 1>&6
++-echo "configure:4352: checking for main in -li" >&5
+++echo "configure:4351: checking for main in -li" >&5
++ ac_lib_var=`echo i'_'main | sed 'y%./+-%__p_%'`
++ if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
++ echo $ac_n "(cached) $ac_c" 1>&6
++@@ -4356,14 +4261,14 @@
++ ac_save_LIBS="$LIBS"
++ LIBS="-li $LIBS"
++ cat > conftest.$ac_ext <<EOF
++-#line 4360 "configure"
+++#line 4359 "configure"
++ #include "confdefs.h"
++
++ int main() {
++ main()
++ ; return 0; }
++ EOF
++-if { (eval echo configure:4367: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+++if { (eval echo configure:4366: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
++ rm -rf conftest*
++ eval "ac_cv_lib_$ac_lib_var=yes"
++ else
++@@ -4391,12 +4296,12 @@
++ fi
++
++ echo $ac_n "checking for catgets""... $ac_c" 1>&6
++-echo "configure:4395: checking for catgets" >&5
+++echo "configure:4394: checking for catgets" >&5
++ if eval "test \"`echo '$''{'ac_cv_func_catgets'+set}'`\" = set"; then
++ echo $ac_n "(cached) $ac_c" 1>&6
++ else
++ cat > conftest.$ac_ext <<EOF
++-#line 4400 "configure"
+++#line 4399 "configure"
++ #include "confdefs.h"
++ /* System header to define __stub macros and hopefully few prototypes,
++ which can conflict with char catgets(); below. */
++@@ -4419,7 +4324,7 @@
++
++ ; return 0; }
++ EOF
++-if { (eval echo configure:4423: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+++if { (eval echo configure:4422: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
++ rm -rf conftest*
++ eval "ac_cv_func_catgets=yes"
++ else
++@@ -4441,7 +4346,7 @@
++ # Extract the first word of "gencat", so it can be a program name with args.
++ set dummy gencat; ac_word=$2
++ echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
++-echo "configure:4445: checking for $ac_word" >&5
+++echo "configure:4444: checking for $ac_word" >&5
++ if eval "test \"`echo '$''{'ac_cv_path_GENCAT'+set}'`\" = set"; then
++ echo $ac_n "(cached) $ac_c" 1>&6
++ else
++@@ -4477,7 +4382,7 @@
++ # Extract the first word of "gmsgfmt", so it can be a program name with args.
++ set dummy gmsgfmt; ac_word=$2
++ echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
++-echo "configure:4481: checking for $ac_word" >&5
+++echo "configure:4480: checking for $ac_word" >&5
++ if eval "test \"`echo '$''{'ac_cv_path_GMSGFMT'+set}'`\" = set"; then
++ echo $ac_n "(cached) $ac_c" 1>&6
++ else
++@@ -4514,7 +4419,7 @@
++ # Extract the first word of "msgfmt", so it can be a program name with args.
++ set dummy msgfmt; ac_word=$2
++ echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
++-echo "configure:4518: checking for $ac_word" >&5
+++echo "configure:4517: checking for $ac_word" >&5
++ if eval "test \"`echo '$''{'ac_cv_path_GMSGFMT'+set}'`\" = set"; then
++ echo $ac_n "(cached) $ac_c" 1>&6
++ else
++@@ -4549,7 +4454,7 @@
++ # Extract the first word of "xgettext", so it can be a program name with args.
++ set dummy xgettext; ac_word=$2
++ echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
++-echo "configure:4553: checking for $ac_word" >&5
+++echo "configure:4552: checking for $ac_word" >&5
++ if eval "test \"`echo '$''{'ac_cv_path_XGETTEXT'+set}'`\" = set"; then
++ echo $ac_n "(cached) $ac_c" 1>&6
++ else
++@@ -4607,7 +4512,7 @@
++ # Extract the first word of "msgfmt", so it can be a program name with args.
++ set dummy msgfmt; ac_word=$2
++ echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
++-echo "configure:4611: checking for $ac_word" >&5
+++echo "configure:4610: checking for $ac_word" >&5
++ if eval "test \"`echo '$''{'ac_cv_path_MSGFMT'+set}'`\" = set"; then
++ echo $ac_n "(cached) $ac_c" 1>&6
++ else
++@@ -4641,7 +4546,7 @@
++ # Extract the first word of "gmsgfmt", so it can be a program name with args.
++ set dummy gmsgfmt; ac_word=$2
++ echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
++-echo "configure:4645: checking for $ac_word" >&5
+++echo "configure:4644: checking for $ac_word" >&5
++ if eval "test \"`echo '$''{'ac_cv_path_GMSGFMT'+set}'`\" = set"; then
++ echo $ac_n "(cached) $ac_c" 1>&6
++ else
++@@ -4677,7 +4582,7 @@
++ # Extract the first word of "xgettext", so it can be a program name with args.
++ set dummy xgettext; ac_word=$2
++ echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
++-echo "configure:4681: checking for $ac_word" >&5
+++echo "configure:4680: checking for $ac_word" >&5
++ if eval "test \"`echo '$''{'ac_cv_path_XGETTEXT'+set}'`\" = set"; then
++ echo $ac_n "(cached) $ac_c" 1>&6
++ else
++@@ -4770,7 +4675,7 @@
++ LINGUAS=
++ else
++ echo $ac_n "checking for catalogs to be installed""... $ac_c" 1>&6
++-echo "configure:4774: checking for catalogs to be installed" >&5
+++echo "configure:4773: checking for catalogs to be installed" >&5
++ NEW_LINGUAS=
++ for lang in ${LINGUAS=$ALL_LINGUAS}; do
++ case "$ALL_LINGUAS" in
++@@ -4798,17 +4703,17 @@
++ if test "$CATOBJEXT" = ".cat"; then
++ ac_safe=`echo "linux/version.h" | sed 'y%./+-%__p_%'`
++ echo $ac_n "checking for linux/version.h""... $ac_c" 1>&6
++-echo "configure:4802: checking for linux/version.h" >&5
+++echo "configure:4801: checking for linux/version.h" >&5
++ if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
++ echo $ac_n "(cached) $ac_c" 1>&6
++ else
++ cat > conftest.$ac_ext <<EOF
++-#line 4807 "configure"
+++#line 4806 "configure"
++ #include "confdefs.h"
++ #include <linux/version.h>
++ EOF
++ ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
++-{ (eval echo configure:4812: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+++{ (eval echo configure:4811: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
++ ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
++ if test -z "$ac_err"; then
++ rm -rf conftest*
++--- lrzsz-0.12.21.orig/lib/Makefile.in
+++++ lrzsz-0.12.21/lib/Makefile.in
++@@ -1,4 +1,4 @@
++-# Makefile.in generated automatically by automake 1.4a from Makefile.am
+++# Makefile.in generated automatically by automake 1.4 from Makefile.am
++
++ # Copyright (C) 1994, 1995-8, 1999 Free Software Foundation, Inc.
++ # This Makefile.in is free software; the Free Software Foundation
++@@ -46,10 +46,9 @@
++ AUTOHEADER = @AUTOHEADER@
++
++ INSTALL = @INSTALL@
++-INSTALL_PROGRAM = @INSTALL_PROGRAM@
+++INSTALL_PROGRAM = @INSTALL_PROGRAM@ $(AM_INSTALL_PROGRAM_FLAGS)
++ INSTALL_DATA = @INSTALL_DATA@
++ INSTALL_SCRIPT = @INSTALL_SCRIPT@
++-INSTALL_STRIP_FLAG =
++ transform = @program_transform_name@
++
++ NORMAL_INSTALL = :
++@@ -127,7 +126,7 @@
++
++ DISTFILES = $(DIST_COMMON) $(SOURCES) $(HEADERS) $(TEXINFOS) $(EXTRA_DIST)
++
++-TAR = gtar
+++TAR = tar
++ GZIP_ENV = --best
++ DEP_FILES = .deps/alloca.P .deps/error.P .deps/getopt.P .deps/getopt1.P \
++ .deps/long-options.P .deps/mkdir.P .deps/mktime.P .deps/stpcpy.P \
++@@ -282,7 +281,7 @@
++ @for file in $(DISTFILES); do \
++ d=$(srcdir); \
++ if test -d $$d/$$file; then \
++- cp -pr $$d/$$file $(distdir)/$$file; \
+++ cp -pr $$/$$file $(distdir)/$$file; \
++ else \
++ test -f $(distdir)/$$file \
++ || ln $$d/$$file $(distdir)/$$file 2> /dev/null \
++@@ -343,7 +342,7 @@
++ all-am: Makefile $(ANSI2KNR) $(LIBRARIES) $(HEADERS)
++ all-redirect: all-am
++ install-strip:
++- $(MAKE) $(AM_MAKEFLAGS) INSTALL_STRIP_FLAG=-s install
+++ $(MAKE) $(AM_MAKEFLAGS) AM_INSTALL_PROGRAM_FLAGS=-s install
++ installdirs:
++
++
++--- lrzsz-0.12.21.orig/man/Makefile.in
+++++ lrzsz-0.12.21/man/Makefile.in
++@@ -1,4 +1,4 @@
++-# Makefile.in generated automatically by automake 1.4a from Makefile.am
+++# Makefile.in generated automatically by automake 1.4 from Makefile.am
++
++ # Copyright (C) 1994, 1995-8, 1999 Free Software Foundation, Inc.
++ # This Makefile.in is free software; the Free Software Foundation
++@@ -46,10 +46,9 @@
++ AUTOHEADER = @AUTOHEADER@
++
++ INSTALL = @INSTALL@
++-INSTALL_PROGRAM = @INSTALL_PROGRAM@
+++INSTALL_PROGRAM = @INSTALL_PROGRAM@ $(AM_INSTALL_PROGRAM_FLAGS)
++ INSTALL_DATA = @INSTALL_DATA@
++ INSTALL_SCRIPT = @INSTALL_SCRIPT@
++-INSTALL_STRIP_FLAG =
++ transform = @program_transform_name@
++
++ NORMAL_INSTALL = :
++@@ -106,7 +105,7 @@
++
++ DISTFILES = $(DIST_COMMON) $(SOURCES) $(HEADERS) $(TEXINFOS) $(EXTRA_DIST)
++
++-TAR = gtar
+++TAR = tar
++ GZIP_ENV = --best
++ all: all-redirect
++ .SUFFIXES:
++@@ -173,7 +172,7 @@
++ @for file in $(DISTFILES); do \
++ d=$(srcdir); \
++ if test -d $$d/$$file; then \
++- cp -pr $$d/$$file $(distdir)/$$file; \
+++ cp -pr $$/$$file $(distdir)/$$file; \
++ else \
++ test -f $(distdir)/$$file \
++ || ln $$d/$$file $(distdir)/$$file 2> /dev/null \
++@@ -202,7 +201,7 @@
++ all-am: Makefile $(MANS)
++ all-redirect: all-am
++ install-strip:
++- $(MAKE) $(AM_MAKEFLAGS) INSTALL_STRIP_FLAG=-s install
+++ $(MAKE) $(AM_MAKEFLAGS) AM_INSTALL_PROGRAM_FLAGS=-s install
++ installdirs:
++ $(mkinstalldirs) $(DESTDIR)$(mandir)/man1
++
++--- lrzsz-0.12.21.orig/src/Makefile.in
+++++ lrzsz-0.12.21/src/Makefile.in
++@@ -1,4 +1,4 @@
++-# Makefile.in generated automatically by automake 1.4a from Makefile.am
+++# Makefile.in generated automatically by automake 1.4 from Makefile.am
++
++ # Copyright (C) 1994, 1995-8, 1999 Free Software Foundation, Inc.
++ # This Makefile.in is free software; the Free Software Foundation
++@@ -45,10 +45,9 @@
++ AUTOHEADER = @AUTOHEADER@
++
++ INSTALL = @INSTALL@
++-INSTALL_PROGRAM = @INSTALL_PROGRAM@
+++INSTALL_PROGRAM = @INSTALL_PROGRAM@ $(AM_INSTALL_PROGRAM_FLAGS)
++ INSTALL_DATA = @INSTALL_DATA@
++ INSTALL_SCRIPT = @INSTALL_SCRIPT@
++-INSTALL_STRIP_FLAG =
++ transform = @program_transform_name@
++
++ NORMAL_INSTALL = :
++@@ -132,7 +131,7 @@
++
++ DISTFILES = $(DIST_COMMON) $(SOURCES) $(HEADERS) $(TEXINFOS) $(EXTRA_DIST)
++
++-TAR = gtar
+++TAR = tar
++ GZIP_ENV = --best
++ DEP_FILES = .deps/canit.P .deps/crctab.P .deps/lrz.P .deps/lsyslog.P \
++ .deps/lsz.P .deps/protname.P .deps/rbsb.P .deps/tcp.P .deps/timing.P \
++@@ -167,8 +166,8 @@
++ $(mkinstalldirs) $(DESTDIR)$(bindir)
++ @list='$(bin_PROGRAMS)'; for p in $$list; do \
++ if test -f $$p; then \
++- echo " $(INSTALL_PROGRAM) $(INSTALL_STRIP_FLAG) $$p $(DESTDIR)$(bindir)/`echo $$p|sed 's/$(EXEEXT)$$//'|sed '$(transform)'|sed 's/$$/$(EXEEXT)/'`"; \
++- $(INSTALL_PROGRAM) $(INSTALL_STRIP_FLAG) $$p $(DESTDIR)$(bindir)/`echo $$p|sed 's/$(EXEEXT)$$//'|sed '$(transform)'|sed 's/$$/$(EXEEXT)/'`; \
+++ echo " $(INSTALL_PROGRAM) $$p $(DESTDIR)$(bindir)/`echo $$p|sed 's/$(EXEEXT)$$//'|sed '$(transform)'|sed 's/$$/$(EXEEXT)/'`"; \
+++ $(INSTALL_PROGRAM) $$p $(DESTDIR)$(bindir)/`echo $$p|sed 's/$(EXEEXT)$$//'|sed '$(transform)'|sed 's/$$/$(EXEEXT)/'`; \
++ else :; fi; \
++ done
++
++@@ -292,7 +291,7 @@
++ @for file in $(DISTFILES); do \
++ d=$(srcdir); \
++ if test -d $$d/$$file; then \
++- cp -pr $$d/$$file $(distdir)/$$file; \
+++ cp -pr $$/$$file $(distdir)/$$file; \
++ else \
++ test -f $(distdir)/$$file \
++ || ln $$d/$$file $(distdir)/$$file 2> /dev/null \
++@@ -353,7 +352,7 @@
++ all-am: Makefile $(ANSI2KNR) $(PROGRAMS) $(HEADERS)
++ all-redirect: all-am
++ install-strip:
++- $(MAKE) $(AM_MAKEFLAGS) INSTALL_STRIP_FLAG=-s install
+++ $(MAKE) $(AM_MAKEFLAGS) AM_INSTALL_PROGRAM_FLAGS=-s install
++ installdirs:
++ $(mkinstalldirs) $(DESTDIR)$(bindir)
++
++--- lrzsz-0.12.21.orig/testsuite/Makefile.in
+++++ lrzsz-0.12.21/testsuite/Makefile.in
++@@ -1,4 +1,4 @@
++-# Makefile.in generated automatically by automake 1.4a from Makefile.am
+++# Makefile.in generated automatically by automake 1.4 from Makefile.am
++
++ # Copyright (C) 1994, 1995-8, 1999 Free Software Foundation, Inc.
++ # This Makefile.in is free software; the Free Software Foundation
++@@ -46,10 +46,9 @@
++ AUTOHEADER = @AUTOHEADER@
++
++ INSTALL = @INSTALL@
++-INSTALL_PROGRAM = @INSTALL_PROGRAM@
+++INSTALL_PROGRAM = @INSTALL_PROGRAM@ $(AM_INSTALL_PROGRAM_FLAGS)
++ INSTALL_DATA = @INSTALL_DATA@
++ INSTALL_SCRIPT = @INSTALL_SCRIPT@
++-INSTALL_STRIP_FLAG =
++ transform = @program_transform_name@
++
++ NORMAL_INSTALL = :
++@@ -103,7 +102,7 @@
++ DIST_COMMON = Makefile.am Makefile.in
++
++
++-TAR = gtar
+++TAR = tar
++ GZIP_ENV = --best
++ EXPECT = expect
++ RUNTEST = runtest
++@@ -133,7 +132,7 @@
++ @for file in $(DISTFILES); do \
++ d=$(srcdir); \
++ if test -d $$d/$$file; then \
++- cp -pr $$d/$$file $(distdir)/$$file; \
+++ cp -pr $$/$$file $(distdir)/$$file; \
++ else \
++ test -f $(distdir)/$$file \
++ || ln $$d/$$file $(distdir)/$$file 2> /dev/null \
++@@ -192,7 +191,7 @@
++ all-am: Makefile
++ all-redirect: all-am
++ install-strip:
++- $(MAKE) $(AM_MAKEFLAGS) INSTALL_STRIP_FLAG=-s install
+++ $(MAKE) $(AM_MAKEFLAGS) AM_INSTALL_PROGRAM_FLAGS=-s install
++ installdirs:
++
++
+--- lrzsz-0.12.21.orig/debian/patches/cat-id-tbl.diff
++++ lrzsz-0.12.21/debian/patches/cat-id-tbl.diff
+@@ -0,0 +1,118 @@
++--- lrzsz-0.12.21.orig/po/cat-id-tbl.c
+++++ lrzsz-0.12.21/po/cat-id-tbl.c
++@@ -141,22 +141,23 @@
++ {"\
++ \n\
++ countem: Total %d %ld\n", 84},
++- {"Bad escape sequence %x", 85},
++- {"Sender Canceled", 86},
++- {"TIMEOUT", 87},
++- {"Bad data subpacket", 88},
++- {"Data subpacket too long", 89},
++- {"Garbage count exceeded", 90},
++- {"Got %s", 91},
++- {"Retry %d: ", 92},
++- {"don't have settimeofday, will not set time\n", 93},
++- {"not running as root (this is good!), can not set time\n", 94},
++- {"bytes_per_error", 95},
++- {"bytes-per-error should be >100", 96},
++- {"O_SYNC not supported by the kernel", 97},
++- {"garbage on commandline", 98},
++- {"Usage: %s [options] [filename.if.xmodem]\n", 99},
++- {"Receive files with ZMODEM/YMODEM/XMODEM protocol\n", 100},
+++ {"Bad CRC", 85},
+++ {"Bad escape sequence %x", 86},
+++ {"Sender Canceled", 87},
+++ {"TIMEOUT", 88},
+++ {"Bad data subpacket", 89},
+++ {"Data subpacket too long", 90},
+++ {"Garbage count exceeded", 91},
+++ {"Got %s", 92},
+++ {"Retry %d: ", 93},
+++ {"don't have settimeofday, will not set time\n", 94},
+++ {"not running as root (this is good!), can not set time\n", 95},
+++ {"bytes_per_error", 96},
+++ {"bytes-per-error should be >100", 97},
+++ {"O_SYNC not supported by the kernel", 98},
+++ {"garbage on commandline", 99},
+++ {"Usage: %s [options] [filename.if.xmodem]\n", 100},
+++ {"Receive files with ZMODEM/YMODEM/XMODEM protocol\n", 101},
++ {"\
++ -+, --append append to existing files\n\
++ -a, --ascii ASCII transfer (change CR/LF to LF)\n\
++@@ -193,41 +194,41 @@
++ --ymodem use YMODEM protocol\n\
++ -Z, --zmodem use ZMODEM protocol\n\
++ \n\
++-short options use the same arguments as the long ones\n", 101},
++- {"%s waiting to receive.", 102},
++- {"\rBytes received: %7ld/%7ld BPS:%-6ld \r\n", 103},
++- {"%s: ready to receive %s", 104},
++- {"\rBytes received: %7ld BPS:%-6ld \r\n", 105},
+++short options use the same arguments as the long ones\n", 102},
+++ {"%s waiting to receive.", 103},
+++ {"\rBytes received: %7ld/%7ld BPS:%-6ld \r\n", 104},
+++ {"%s: ready to receive %s", 105},
+++ {"\rBytes received: %7ld BPS:%-6ld \r\n", 106},
++ {"\
++ \r\n\
++-%s: %s removed.\r\n", 106},
++- {"Pathname fetch returned EOT", 107},
++- {"Received dup Sector", 108},
++- {"Sync Error", 109},
++- {"CRC", 110},
++- {"Checksum", 111},
++- {"Sector number garbled", 112},
++- {"Sender Cancelled", 113},
++- {"Got 0%o sector header", 114},
++- {"file name ends with a /, skipped: %s\n", 115},
++- {"zmanag=%d, Lzmanag=%d\n", 116},
++- {"zconv=%d\n", 117},
++- {"file exists, skipped: %s\n", 118},
++- {"TIMESYNC: here %ld, remote %ld, diff %ld seconds\n", 119},
++- {"TIMESYNC: cannot set time: %s\n", 120},
++- {"Topipe", 121},
++- {"Receiving: %s\n", 122},
++- {"Blocks received: %d", 123},
++- {"%s: %s exists\n", 124},
++- {"%s:\tSecurity Violation", 125},
++- {"remote command execution requested", 126},
++- {"not executed", 127},
++- {"got ZRINIT", 128},
++- {"Skipped", 129},
++- {"rzfile: bps rate %ld below min %ld", 130},
++- {"rzfile: reached stop time", 131},
++- {"\rBytes received: %7ld/%7ld BPS:%-6ld ETA %02d:%02d ", 132},
++- {"file close error", 133},
+++%s: %s removed.\r\n", 107},
+++ {"Pathname fetch returned EOT", 108},
+++ {"Received dup Sector", 109},
+++ {"Sync Error", 110},
+++ {"CRC", 111},
+++ {"Checksum", 112},
+++ {"Sector number garbled", 113},
+++ {"Sender Cancelled", 114},
+++ {"Got 0%o sector header", 115},
+++ {"file name ends with a /, skipped: %s\n", 116},
+++ {"zmanag=%d, Lzmanag=%d\n", 117},
+++ {"zconv=%d\n", 118},
+++ {"file exists, skipped: %s\n", 119},
+++ {"TIMESYNC: here %ld, remote %ld, diff %ld seconds\n", 120},
+++ {"TIMESYNC: cannot set time: %s\n", 121},
+++ {"Topipe", 122},
+++ {"Receiving: %s\n", 123},
+++ {"Blocks received: %d", 124},
+++ {"%s: %s exists\n", 125},
+++ {"%s:\tSecurity Violation", 126},
+++ {"remote command execution requested", 127},
+++ {"not executed", 128},
+++ {"got ZRINIT", 129},
+++ {"Skipped", 130},
+++ {"rzfile: bps rate %ld below min %ld", 131},
+++ {"rzfile: reached stop time", 132},
+++ {"\rBytes received: %7ld/%7ld BPS:%-6ld ETA %02d:%02d ", 133},
+++ {"file close error", 134},
++ };
++
++-int _msg_tbl_length = 133;
+++int _msg_tbl_length = 134;
+--- lrzsz-0.12.21.orig/debian/patches/206499_ymodemg.diff.unchecked
++++ lrzsz-0.12.21/debian/patches/206499_ymodemg.diff.unchecked
+@@ -0,0 +1,70 @@
++--- org/lrz.c 1998-12-29 23:49:24.000000000 -0800
+++++ lrz.c 2003-08-21 15:15:15.000000000 -0700
++@@ -73,6 +73,7 @@
++
++ int Lastrx;
++ int Crcflg;
+++int Optiong;
++ int Firstsec;
++ int errors;
++ int Restricted=1; /* restricted; no /.. or ../ in filenames */
++@@ -211,6 +212,7 @@
++ {"allow-remote-commands", no_argument, NULL, 'C'},
++ {"escape", no_argument, NULL, 'e'},
++ {"rename", no_argument, NULL, 'E'},
+++ {"go", no_argument, NULL, 'g'},
++ {"help", no_argument, NULL, 'h'},
++ {"crc-check", no_argument, NULL, 'H'},
++ {"junk-path", no_argument, NULL, 'j'},
++@@ -288,7 +290,7 @@
++ parse_long_options (argc, argv, show_version, usage1);
++
++ while ((c = getopt_long (argc, argv,
++- "a+bB:cCDeEhm:M:OprRqs:St:uUvw:XZy",
+++ "a+bB:cCDeEghm:M:OprRqs:St:uUvw:XZy",
++ long_options, (int *) 0)) != EOF)
++ {
++ unsigned long int tmp;
++@@ -313,6 +315,7 @@
++ case 'D': Nflag = TRUE; break;
++ case 'E': Lzmanag = ZF1_ZMCHNG; break;
++ case 'e': Zctlesc = 1; break;
+++ case 'g': Optiong = 1; break;
++ case 'h': usage(0,NULL); break;
++ case 'H': Lzmanag= ZF1_ZMCRC; break;
++ case 'j': junk_path=TRUE; break;
++@@ -617,6 +620,7 @@
++ " -e, --escape Escape control characters (Z)\n"
++ " -E, --rename rename any files already existing\n"
++ " --errors N generate CRC error every N bytes (debugging)\n"
+++" -g, --go use X/YMODEM-g protocol (with CRC)\n"
++ " -h, --help Help, print this usage message\n"
++ " -m, --min-bps N stop transmission if BPS below N\n"
++ " -M, --min-bps-time N for at least N seconds (default: 120)\n"
++@@ -843,7 +847,7 @@
++ et_tu:
++ Firstsec=TRUE;
++ zi->eof_seen=FALSE;
++- sendline(Crcflg?WANTCRC:NAK);
+++ sendline(Optiong?WANTG:(Crcflg?WANTCRC:NAK));
++ flushmo();
++ purgeline(0); /* Do read next time ... */
++ while ((c = wcgetsec(&Blklen, rpn, 100)) != 0) {
++@@ -875,7 +879,7 @@
++
++ Firstsec=TRUE;sectnum=0;
++ zi->eof_seen=FALSE;
++- sendchar=Crcflg?WANTCRC:NAK;
+++ sendchar=(Optiong?WANTG:(Crcflg?WANTCRC:NAK));
++
++ for (;;) {
++ sendline(sendchar); /* send it now, we're ready! */
++@@ -1007,7 +1011,7 @@
++ ;
++ }
++ if (Firstsec) {
++- sendline(Crcflg?WANTCRC:NAK);
+++ sendline(Optiong?WANTG:(Crcflg?WANTCRC:NAK));
++ flushmo();
++ purgeline(0); /* Do read next time ... */
++ } else {
+--- lrzsz-0.12.21.orig/debian/patches/313992_de_po.diff
++++ lrzsz-0.12.21/debian/patches/313992_de_po.diff
+@@ -0,0 +1,650 @@
++--- lrzsz-0.12.21.orig/po/de.po
+++++ lrzsz-0.12.21/po/de.po
++@@ -1,17 +1,18 @@
++-# german translation of lrzsz output
++-# Copyright (C) 1997 Uwe Ohse
++-# Uwe Ohse <uwe@ohse.de>, 1997.
+++# German translation of lrzsz
+++# Copyright (C) Uwe Ohse <uwe@ohse.de>, 1997.
+++# Copyright (C) Tobias Toedter <t.toedter@gmx.net>, 2005, 2006.
++ #
++ msgid ""
++ msgstr ""
++-"Project-Id-Version: PACKAGE VERSION\n"
+++"Project-Id-Version: lrzsz 0.12.21\n"
++ "POT-Creation-Date: 1999-08-22 21:00+0200\n"
++-"PO-Revision-Date: 1997-06-01 19:00+0200\n"
++-"Last-Translator: FULL NAME <uwe@ohse.de>\n"
++-"Language-Team: none. try <uwe@ohse.de>\n"
+++"PO-Revision-Date: 2006-01-12 10:23+0100\n"
+++"Last-Translator: Tobias Toedter <t.toedter@gmx.net>\n"
+++"Language-Team: German <debian-l10n-german@lists.debian.org>\n"
++ "MIME-Version: 1.0\n"
++-"Content-Type: text/plain; charset=iso-8859-1\n"
+++"Content-Type: text/plain; charset=UTF-8\n"
++ "Content-Transfer-Encoding: 8bit\n"
+++"X-Generator: KBabel 1.10.2\n"
++
++ #: src/lsz.c:228
++ msgid "io_mode(,2) in rbsb.c not implemented\n"
++@@ -28,21 +29,21 @@
++
++ #: src/lsz.c:422
++ msgid "packetlength"
++-msgstr "Paketl?nge"
+++msgstr "Paketlänge"
++
++ #: src/lsz.c:427
++ #, c-format
++ msgid "packetlength out of range 24..%ld"
++-msgstr "Argument der Option L au?erhalb des Bereichs 24..%ld"
+++msgstr "Argument der Option L außerhalb des Bereichs 24..%ld"
++
++ #: src/lsz.c:436
++ msgid "framelength"
++-msgstr "Framel?nge"
+++msgstr "Framelänge"
++
++ #: src/lsz.c:441
++ #, c-format
++ msgid "framelength out of range 32..%ld"
++-msgstr "Argument der Option l au?erhalb des Bereichs 32..%ld"
+++msgstr "Argument der Option l außerhalb des Bereichs 32..%ld"
++
++ #: src/lrz.c:318 src/lsz.c:450
++ msgid "min_bps"
++@@ -50,27 +51,27 @@
++
++ #: src/lsz.c:452
++ msgid "min_bps must be >= 0"
++-msgstr "minimale BPS-Rate mu? >= 0 sein"
+++msgstr "minimale BPS-Rate muss >= 0 sein"
++
++ #: src/lrz.c:324 src/lsz.c:458
++ msgid "min_bps_time"
++-msgstr ""
+++msgstr "Zeitfenster für minimale BPS-Rate"
++
++ #: src/lrz.c:326 src/lsz.c:460
++ msgid "min_bps_time must be > 1"
++-msgstr "Zeitfenster f?r minimale BPS-Rate mu? > 1 Sekunde sein"
+++msgstr "Zeitfenster für minimale BPS-Rate muss > 1 Sekunde sein"
++
++ #: src/lrz.c:342 src/lsz.c:484
++ msgid "hour to large (0..23)"
++-msgstr "Stunde zu gross (0..23)"
+++msgstr "Stunde zu groß (0..23)"
++
++ #: src/lrz.c:344 src/lsz.c:486
++ msgid "unparsable stop time\n"
++-msgstr "unparsbare Endzeit\n"
+++msgstr "Endzeit nicht auszuwerten\n"
++
++ #: src/lrz.c:348 src/lsz.c:490
++ msgid "minute to large (0..59)"
++-msgstr "Minute zu gro? (0..59)"
+++msgstr "Minute zu groß (0..59)"
++
++ #: src/lrz.c:358 src/lrz.c:365 src/lsz.c:500 src/lsz.c:507
++ msgid "stop time to small"
++@@ -78,7 +79,7 @@
++
++ #: src/lrz.c:363 src/lsz.c:505
++ msgid "stop-at"
++-msgstr ""
+++msgstr "Stopp um"
++
++ #: src/lrz.c:394 src/lsz.c:516
++ msgid "timeout"
++@@ -86,15 +87,15 @@
++
++ #: src/lrz.c:396 src/lsz.c:518
++ msgid "timeout out of range 10..1000"
++-msgstr "Argument der Option t au?erhalb des Bereichs 10..1000"
+++msgstr "Argument der Option t außerhalb des Bereichs 10..1000"
++
++ #: src/lrz.c:412 src/lsz.c:526
++ msgid "security violation: can't do that under restricted shell\n"
++-msgstr "Sicherheitsversto?: Ausf?hrung unter eingeschr?nkter Shell verboten\n"
+++msgstr "Sicherheitsverstoß: Ausführung unter eingeschränkter Shell verboten\n"
++
++ #: src/lrz.c:402 src/lsz.c:533
++ msgid "window size"
++-msgstr "Fenstergr??e"
+++msgstr "Fenstergröße"
++
++ #: src/lrz.c:427 src/lrz.c:434 src/lsz.c:556 src/lsz.c:563
++ msgid "cannot turnoff syslog"
++@@ -102,7 +103,7 @@
++
++ #: src/lrz.c:449 src/lsz.c:571
++ msgid "startup delay"
++-msgstr "Startverz?gerung"
+++msgstr "Startverzögerung"
++
++ #: src/lrz.c:465 src/lrz.c:483 src/lrz.c:760 src/lrz.c:1122 src/lrz.c:1244
++ #: src/lrz.c:1292 src/lrz.c:1309 src/lrz.c:1324 src/lrz.c:1423 src/lsz.c:580
++@@ -117,11 +118,11 @@
++
++ #: src/lsz.c:612 src/lsz.c:627
++ msgid "need at least one file to send"
++-msgstr "es mu? mindestens ein Name einer zu sendenden Datei angegeben werden"
+++msgstr "es muss mindestens ein Name einer zu sendenden Datei angegeben werden"
++
++ #: src/lsz.c:629
++ msgid "Can't send command in restricted mode\n"
++-msgstr "Im eingeschr?nkten Modus ist das Senden von Kommandos verboten\n"
+++msgstr "Im eingeschränkten Modus ist das Senden von Kommandos verboten\n"
++
++ #: src/lrz.c:527 src/lsz.c:656
++ msgid "hostname too long\n"
++@@ -129,7 +130,7 @@
++
++ #: src/lrz.c:542 src/lsz.c:671
++ msgid "illegal server address\n"
++-msgstr "Illegale Serveraddresse\n"
+++msgstr "Illegale Serveradresse\n"
++
++ #: src/lsz.c:710
++ msgid "can read only one file from stdin"
++@@ -137,21 +138,21 @@
++
++ #: src/lrz.c:574 src/lsz.c:803
++ msgid "Transfer incomplete\n"
++-msgstr "?bertragung nicht abgeschlossen\n"
+++msgstr "Ãœbertragung nicht abgeschlossen\n"
++
++ #: src/lrz.c:576 src/lsz.c:805
++ msgid "Transfer complete\n"
++-msgstr "?bertragung abgeschlossen\n"
+++msgstr "Ãœbertragung abgeschlossen\n"
++
++ #: src/lsz.c:838
++ #, c-format
++ msgid "send_pseudo %s: cannot open tmpfile %s: %s"
++-msgstr "send_pseudo %s: kann tempor?re Datei %s nicht ?ffnen: %s"
+++msgstr "send_pseudo %s: kann temporäre Datei %s nicht öffnen: %s"
++
++ #: src/lsz.c:851
++ #, c-format
++ msgid "send_pseudo %s: cannot lstat tmpfile %s: %s"
++-msgstr "send_pseudo %s: kann lstat nicht auf tempor?re Datei %s anwenden: %s"
+++msgstr "send_pseudo %s: kann lstat nicht auf temporäre Datei %s anwenden: %s"
++
++ #: src/lsz.c:859
++ #, c-format
++@@ -161,7 +162,7 @@
++ #: src/lsz.c:870
++ #, c-format
++ msgid "send_pseudo %s: cannot write to tmpfile %s: %s"
++-msgstr "send_pseudo %s: kann nicht in tempor?re Datei %s schreiben: %s"
+++msgstr "send_pseudo %s: kann nicht in temporäre Datei %s schreiben: %s"
++
++ #: src/lsz.c:879
++ #, c-format
++@@ -188,17 +189,17 @@
++
++ #: src/lsz.c:953
++ msgid "Can't open any requested files."
++-msgstr "Kann keine der angeforderten Dateien ?ffnen"
+++msgstr "Kann keine der angeforderten Dateien öffnen"
++
++ #: src/lsz.c:1009
++ #, c-format
++ msgid "security violation: not allowed to upload from %s"
++-msgstr "Sicherheitsversto?: Ausf?hrung unter eingeschr?nkter Shell verboten"
+++msgstr "Sicherheitsverstoß: Hochladen von %s nicht erlaubt"
++
++ #: src/lrz.c:1384 src/lsz.c:1027
++ #, c-format
++ msgid "cannot open %s"
++-msgstr "kann %s nicht ?ffnen"
+++msgstr "kann %s nicht öffnen"
++
++ #: src/lsz.c:1082
++ #, c-format
++@@ -213,12 +214,12 @@
++ #: src/lsz.c:1119
++ #, c-format
++ msgid "skipped: %s"
++-msgstr "?bersprungen: %s"
+++msgstr "übersprungen: %s"
++
++ #: src/lsz.c:1122
++ #, c-format
++ msgid "%s/%s: skipped"
++-msgstr "%s/%s: ?bersprungen"
+++msgstr "%s/%s: übersprungen"
++
++ #: src/lsz.c:1149
++ #, c-format
++@@ -228,7 +229,7 @@
++ #: src/lsz.c:1178
++ #, c-format
++ msgid "Sending %s, %ld blocks: "
++-msgstr "Sende %s, %ld Bl?cke:"
+++msgstr "Sende %s, %ld Blöcke:"
++
++ #: src/lsz.c:1181
++ msgid "Give your local XMODEM receive command now."
++@@ -245,11 +246,11 @@
++
++ #: src/lsz.c:1314
++ msgid "Receiver Cancelled"
++-msgstr "Empf?nger brach ab"
+++msgstr "Empfänger brach ab"
++
++ #: src/lsz.c:1340
++ msgid "No ACK on EOT"
++-msgstr "Keine Best?tigung f?r ?bertragungsende erhalten"
+++msgstr "Keine Bestätigung für Übertragungsende erhalten"
++
++ #: src/lsz.c:1361
++ #, c-format
++@@ -267,24 +268,24 @@
++
++ #: src/lsz.c:1399
++ msgid "Timeout on sector ACK"
++-msgstr "Timeout bei Sektorbest?tigung"
+++msgstr "Timeout bei Sektorbestätigung"
++
++ #: src/lsz.c:1404
++ msgid "NAK on sector"
++-msgstr "Sektor nicht best?tigt"
+++msgstr "Sektor nicht bestätigt"
++
++ #: src/lsz.c:1410
++ msgid "Got burst for sector ACK"
++-msgstr ""
+++msgstr "Erhielt Bruch als Sektorbestätigung"
++
++ #: src/lsz.c:1412
++ #, c-format
++ msgid "Got %02x for sector ACK"
++-msgstr "Erhielt %02x als Sektorbest?tigung"
+++msgstr "Erhielt %02x als Sektorbestätigung"
++
++ #: src/lsz.c:1424
++ msgid "Retry Count Exceeded"
++-msgstr "Maximale Wiederholungsanzahl ?berschritten"
+++msgstr "Maximale Wiederholungsanzahl überschritten"
++
++ #: src/lrz.c:596 src/lsz.c:1502
++ #, c-format
++@@ -304,11 +305,11 @@
++ #: src/lsz.c:1512
++ #, c-format
++ msgid " or: %s [options] -{c|i} COMMAND\n"
++-msgstr " oder: %s [Optionen] -{c|i} KOMMANDO\n"
+++msgstr " oder: %s [-2Ceqv] -{c|i} KOMMANDO\n"
++
++ #: src/lsz.c:1513
++ msgid "Send file(s) with ZMODEM/YMODEM/XMODEM protocol\n"
++-msgstr "Dateien mit ZMODEM/YMODEM/XMODEM ?bertragen\n"
+++msgstr "Dateien mit ZMODEM/YMODEM/XMODEM übertragen\n"
++
++ # src/lrz.c:475 src/lsz.c:1330 xx
++ #: src/lrz.c:607 src/lsz.c:1515
++@@ -317,9 +318,9 @@
++ " (Y) = option applies to YMODEM only\n"
++ " (Z) = option applies to ZMODEM only\n"
++ msgstr ""
++-" (X) = Option gilt nur f?r XMODEM\n"
++-" (Y) = Option gilt nur f?r YMODEM\n"
++-" (Z) = Option gilt nur f?r ZMODEM\n"
+++" (X) = Option gilt nur für XMODEM\n"
+++" (Y) = Option gilt nur für YMODEM\n"
+++" (Z) = Option gilt nur für ZMODEM\n"
++
++ #: src/lsz.c:1521
++ msgid ""
++@@ -347,32 +348,32 @@
++ " -m, --min-bps N stop transmission if BPS below N\n"
++ " -M, --min-bps-time N for at least N seconds (default: 120)\n"
++ msgstr ""
++-" -+, --append an existierende Dateien anh?ngen (Z)\n"
+++" -+, --append an existierende Dateien anhängen (Z)\n"
++ " -2, --twostop zwei Stopbits verwenden\n"
++-" -4, --try-4k bis zu 4K Blockgr??e verwenden\n"
++-" --start-4k mit 4K Blockgr??e starten (versucht nicht 8)\n"
++-" -8, --try-8k bis zu 8K Blockgr??e verwenden\n"
++-" --start-8k mit 8K Blockgr??e starten\n"
+++" -4, --try-4k bis zu 4K Blockgröße verwenden\n"
+++" --start-4k mit 4K Blockgröße starten (versucht nicht 8)\n"
+++" -8, --try-8k bis zu 8K Blockgröße verwenden\n"
+++" --start-8k mit 8K Blockgröße starten\n"
++ " -a, --ascii ASCII: NL nach CR/LF wandeln\n"
++-" -b, --binary Bin?r?bertragung erzwingen\n"
+++" -b, --binary Binärübertragung erzwingen\n"
++ " -B, --bufsize N N Bytes puffern (auto: ganze Datei puffern)\n"
++-" -c, --command COMMAND Kommando KOMMANDO auf Gegenseite ausf?hren "
+++" -c, --command COMMAND Kommando KOMMANDO auf Gegenseite ausführen "
++ "(Z)\n"
++-" -C, --command-tries N N mal Kommandoausf?hrung versuchen (Z)\n"
+++" -C, --command-tries N N mal Kommandoausführung versuchen (Z)\n"
++ " -d, --dot-to-slash C '.' in Dateinamen nach '/' wandeln (Y/Z)\n"
++ " --delay-startup N Bei Programmstart N Sek. schlafen (Debugging)\n"
++ " -e, --escape alle Steuerzeichen escapen (Z)\n"
++-" -E, --rename Empf?nger soll Datei umbenennen falls\n"
+++" -E, --rename Empfänger soll Datei umbenennen falls\n"
++ " Zieldatei schon existiert\n"
++ " -f, --full-path Dateien mit vollen Pfaden senden (Y/Z)\n"
++-" -i, --immediate-command CMD wie `c', aber sofort zur?ckkehren (Z)\n"
+++" -i, --immediate-command CMD wie `c', aber sofort zurückkehren (Z)\n"
++ " -h, --help diesen Hilfetext ausgeben\n"
++ " -k, --1k 1024 Bytes Pakete senden (Y)\n"
++-" -L, --packetlen N Unterpaketl?nge auf N Bytes beschr?nken (Z)\n"
++-" -l, --framelen N Rahmenl?nge auf N Bytes beschr?nken (l>=L) "
+++" -L, --packetlen N Unterpaketlänge auf N Bytes beschränken (Z)\n"
+++" -l, --framelen N Rahmenlänge auf N Bytes beschränken (l>=L) "
++ "(Z)\n"
++-" -m, --min-bps N ?bertragung abbrechen bei weniger als N BPS\n"
++-" -M, --min-bps-time N f?r mindestens N Sekunden (Default: 120)\n"
+++" -m, --min-bps N Ãœbertragung abbrechen bei weniger als N BPS\n"
+++" -M, --min-bps-time N für mindestens N Sekunden (Default: 120)\n"
++
++ #: src/lsz.c:1546
++ msgid ""
++@@ -400,28 +401,28 @@
++ "short options use the same arguments as the long ones\n"
++ msgstr ""
++ " -n, --newer Datei senden wenn sie neuer ist (Z)\n"
++-" -N, --newer-or-longer Datei senden wenn neuer oder l?nger (Z)\n"
+++" -N, --newer-or-longer Datei senden wenn neuer oder länger (Z)\n"
++ " -o, --16-bit-crc 16Bit CRC statt 32Bit CRC verwenden (Z)\n"
++ " -O, --disable-timeouts Timeoutbehandlung abschalten\n"
++-" -p, --protect existierende Dateien nicht ver?ndern\n"
++-" -r, --resume unterbrochene ?bertragungen fortsetzen (Z)\n"
++-" -R, --restricted eingeschr?nkter, sichererer Modus\n"
+++" -p, --protect existierende Dateien nicht verändern\n"
+++" -r, --resume unterbrochene Ãœbertragungen fortsetzen (Z)\n"
+++" -R, --restricted eingeschränkter, sichererer Modus\n"
++ " -q, --quiet leise, keine Ausgaben machen\n"
++-" -s, --stop-at {HH:MM|+N} ?bertragung um HH:MM oder in N Sek. abbrechen\n"
++-" --tcp-server Socket ?ffnen und auf Verbindung warten\n"
++-" --tcp-client ADDR:PORT Socket ?ffnen und verbindung mit ...\n"
++-" -u, --unlink Datei nach ?bertragung l?schen\n"
++-" -U, --unrestrict eingeschr?nkten Modus aufheben (falls "
+++" -s, --stop-at {HH:MM|+N} Ãœbertragung um HH:MM oder in N Sek. abbrechen\n"
+++" --tcp-server Socket öffnen, Verbindung abwarten (Z)\n"
+++" --tcp-client ADDR:PORT Socket öffnen, verbinden mit ... (Z)\n"
+++" -u, --unlink Datei nach Übertragung löschen\n"
+++" -U, --unrestrict eingeschränkten Modus aufheben (falls "
++ "erlaubt)\n"
++ " -v, --verbose mehr ausgeben\n"
++-" -w, --windowsize N Fenstergr??e auf N Bytes setzen (Z)\n"
+++" -w, --windowsize N Fenstergröße auf N Bytes setzen (Z)\n"
++ " -X --xmodem XMODEM-Protokoll benutzen\n"
++-" -y, --overwrite existierende Dateien ?berschreiben\n"
++-" -Y, --overwrite-or-skip wie `y', aber nicht existierende ?berspringen\n"
+++" -y, --overwrite existierende Dateien überschreiben\n"
+++" -Y, --overwrite-or-skip wie `y', aber nicht existierende überspringen\n"
++ " --ymodem YMODEM-Protokoll benutzen\n"
++ " -Z, --zmodem ZMODEM-Protokoll benutzen\n"
++ "\n"
++-"Kurze Optionen ben?tigen dieselben Argumente wie Lange.\n"
+++"Kurze Optionen benötigen dieselben Argumente wie die langen.\n"
++
++ #: src/lsz.c:1768
++ msgid "got ZRQINIT"
++@@ -434,7 +435,7 @@
++ #: src/lsz.c:1991
++ #, c-format
++ msgid "blklen now %d\n"
++-msgstr "Blockgr??e nun %d\n"
+++msgstr "Blockgröße nun %d\n"
++
++ #: src/lsz.c:2053
++ #, c-format
++@@ -453,7 +454,7 @@
++ #: src/lsz.c:2223
++ #, c-format
++ msgid "calc_blklen: reduced to %d due to error\n"
++-msgstr "calc_blklen: Blockgr?sse auf %d reduziert wegen Fehler\n"
+++msgstr "calc_blklen: Blockgröße auf %d reduziert wegen Fehler\n"
++
++ #: src/lsz.c:2256
++ #, c-format
++@@ -468,12 +469,12 @@
++ #: src/lsz.c:2267
++ #, c-format
++ msgid "calc_blklen: calc total_bytes=%ld, bpe=%ld, ec=%ld\n"
++-msgstr "calc_blklen: kalkuliere gesamt_bytes=%ld, bpe=%le, ec=%ld\n"
+++msgstr "calc_blklen: kalkuliere gesamt_bytes=%ld, bpe=%ld, ec=%ld\n"
++
++ #: src/lsz.c:2278
++ #, c-format
++ msgid "calc_blklen: blklen %d, ok %ld, failed %ld -> %lu\n"
++-msgstr "calc_blklen: Blockl?nge %d, ok %ld, fehlgeschlagen %ld -> %lu\n"
+++msgstr "calc_blklen: Blocklänge %d, ok %ld, fehlgeschlagen %ld -> %lu\n"
++
++ #: src/lsz.c:2290
++ #, c-format
++@@ -512,7 +513,7 @@
++
++ #: src/zm.c:712
++ msgid "Garbage count exceeded"
++-msgstr "Maximale Wiederholungsanzahl ?berschritten"
+++msgstr "Maximale Wiederholungsanzahl überschritten"
++
++ #: src/zm.c:773
++ #, c-format
++@@ -526,11 +527,11 @@
++
++ #: src/lrz.c:382
++ msgid "don't have settimeofday, will not set time\n"
++-msgstr "Zeitsynchronisation nicht ausf?hrbar, settimeofday() fehlt\n"
+++msgstr "Zeitsynchronisation nicht ausführbar, settimeofday() fehlt\n"
++
++ #: src/lrz.c:386
++ msgid "not running as root (this is good!), can not set time\n"
++-msgstr "Zeitsynchronisation mangels Superuserrechten nicht ausf?hrbar\n"
+++msgstr "Zeitsynchronisation mangels Superuserrechten nicht ausführbar\n"
++
++ #: src/lrz.c:441
++ msgid "bytes_per_error"
++@@ -542,16 +543,16 @@
++
++ #: src/lrz.c:455
++ msgid "O_SYNC not supported by the kernel"
++-msgstr "O_SYNC vom Kernel nicht unterst?tzt"
+++msgstr "O_SYNC vom Kernel nicht unterstützt"
++
++ #: src/lrz.c:497 src/lrz.c:499
++ msgid "garbage on commandline"
++-msgstr "M?ll auf der Kommandozeile"
+++msgstr "Müll auf der Kommandozeile"
++
++ #: src/lrz.c:604
++ #, c-format
++ msgid "Usage: %s [options] [filename.if.xmodem]\n"
++-msgstr "Benutzung: %s [Optionen] [Dateiname.f?r.xmodem]\n"
+++msgstr "Benutzung: %s [Optionen] [Dateiname.für.xmodem]\n"
++
++ #: src/lrz.c:605
++ msgid "Receive files with ZMODEM/YMODEM/XMODEM protocol\n"
++@@ -596,44 +597,44 @@
++ "\n"
++ "short options use the same arguments as the long ones\n"
++ msgstr ""
++-" -+, --append an existierende Dateien anh?ngen\n"
++-" -a, --ascii ASCII-?bertragung (CR/LF nach LF wandeln)\n"
++-" -b, --binary Bin?r?bertragung (keine Umwandlungen)\n"
+++" -+, --append an existierende Dateien anhängen\n"
+++" -a, --ascii ASCII-Ãœbertragung (CR/LF nach LF wandeln)\n"
+++" -b, --binary Binärübertragung (keine Umwandlungen)\n"
++ " -B, --bufsize N N Bytes puffern (auto: ganze Datei puffern)\n"
++-" -c, --with-crc 16bit CRC statt Pr?fsumme verwenden (X)\n"
++-" -C, --allow-remote-commands Ausf?hrung von Kommandos erlauben (Z)\n"
+++" -c, --with-crc 16bit CRC statt Prüfsumme verwenden (X)\n"
+++" -C, --allow-remote-commands Ausführung von Kommandos erlauben (Z)\n"
++ " -D, --null empfangene Daten nach /dev/null schreiben\n"
++ " --delay-startup N Bei Programmstart N Sek. schlafen (Debugging)\n"
++ " -e, --escape Alle Steuerzeichen escapen (Z)\n"
++-" -E, --rename Empf?nger soll Datei umbenennen falls\n"
+++" -E, --rename Empfänger soll Datei umbenennen, falls\n"
++ " Zieldatei schon existiert\n"
++ " --errors N Einen CRC-Fehler alle N Bytes erzeugen\n"
++ " -h, --help Diesen Hilfstext ausgeben\n"
++-" -m, --min-bps N ?bertragung abbrechen bei weniger als N BPS\n"
++-" -M, --min-bps-time N f?r mindestens N Sekunden (Default: 120)\n"
+++" -m, --min-bps N Ãœbertragung abbrechen bei weniger als N BPS\n"
+++" -M, --min-bps-time N für mindestens N Sekunden (Default: 120)\n"
++ " -O, --disable-timeouts Timeoutbehandlung abschalten\n"
++ " --o-sync Ausgabedatei(en) im synchron schreiben\n"
++-" -p, --protect existierende Dateien nicht ver?ndern\n"
+++" -p, --protect existierende Dateien nicht verändern\n"
++ " -q, --quiet leise, keine Ausgaben machen\n"
++-" -r, --resume unterbrochene ?bertragungen fortsetzen (Z)\n"
++-" -R, --restricted eingeschr?nkter, sichererer Modus\n"
++-" -s, --stop-at {HH:MM|+N} ?bertragung um HH:MM oder in N Sek. abbrechen\n"
+++" -r, --resume unterbrochene Ãœbertragungen fortsetzen (Z)\n"
+++" -R, --restricted eingeschränkter, sichererer Modus\n"
+++" -s, --stop-at {HH:MM|+N} Ãœbertragung um HH:MM oder in N Sek. abbrechen\n"
++ " -S, --timesync Zeit anfordern (doppelt: lokale Zeit setzen)\n"
++-" --syslog[=off] syslog an- oder ausschalten, wenn m?glich\n"
++-" -t, --timeout N Timeout auf N Zehntelsekungen setzen\n"
++-" --tcp-server Socket ?ffnen und auf Verbindung warten\n"
++-" --tcp-client ADDR:PORT Socket ?ffnen und verbindung mit ...\n"
+++" --syslog[=off] syslog an- oder ausschalten, wenn möglich\n"
+++" -t, --timeout N Timeout auf N Zehntelsekunden setzen\n"
+++" --tcp-server Socket öffnen, Verbindung abwarten (Z)\n"
+++" --tcp-client ADDR:PORT Socket öffnen, verbinden mit ... (Z)\n"
++ " -u, --keep-uppercase GROSS geschrieben Dateinamen beibehalten\n"
++-" -U, --unrestrict eingeschr?nkten Modus aufheben (falls "
+++" -U, --unrestrict eingeschränkten Modus aufheben (falls "
++ "erlaubt)\n"
++ " -v, --verbose mehr ausgeben\n"
++-" -w, --windowsize N Fenstergr??e auf N Bytes setzen (Z)\n"
+++" -w, --windowsize N Fenstergröße auf N Bytes setzen (Z)\n"
++ " -X --xmodem XMODEM-Protokoll benutzen\n"
++-" -y, --overwrite existierende Dateien ?berschreiben\n"
+++" -y, --overwrite existierende Dateien überschreiben\n"
++ " --ymodem YMODEM-Protokoll benutzen\n"
++ " -Z, --zmodem ZMODEM-Protokoll benutzen\n"
++ "\n"
++-"Kurze Optionen ben?tigen dieselben Argumente wie Lange.\n"
+++"Kurze Optionen benötigen dieselben Argumente wie die langen.\n"
++
++ #: src/lrz.c:676
++ #, c-format
++@@ -662,11 +663,11 @@
++ "%s: %s removed.\r\n"
++ msgstr ""
++ "\r\n"
++-"%s: %s gel?scht\r\n"
+++"%s: %s gelöscht\r\n"
++
++ #: src/lrz.c:856
++ msgid "Pathname fetch returned EOT"
++-msgstr "Ende der ?bertragung beim Warten auf Dateinamen"
+++msgstr "Ende der Ãœbertragung beim Warten auf Dateinamen"
++
++ #: src/lrz.c:903
++ msgid "Received dup Sector"
++@@ -682,7 +683,7 @@
++
++ #: src/lrz.c:976
++ msgid "Checksum"
++-msgstr "Pr?fsummenfehler"
+++msgstr "Prüfsummenfehler"
++
++ #: src/lrz.c:979
++ msgid "Sector number garbled"
++@@ -695,27 +696,27 @@
++ #: src/lrz.c:1005
++ #, c-format
++ msgid "Got 0%o sector header"
++-msgstr "Erhielt %02x als Sektorbest?tigung"
+++msgstr "Erhielt %02x als Sektorbestätigung"
++
++ #: src/lrz.c:1113
++ #, c-format
++ msgid "file name ends with a /, skipped: %s\n"
++-msgstr "Dateiname endet mit /, ?bersprungen: %s\n"
+++msgstr "Dateiname endet mit /, übersprungen: %s\n"
++
++ #: src/lrz.c:1127
++ #, c-format
++ msgid "zmanag=%d, Lzmanag=%d\n"
++-msgstr ""
+++msgstr "zmanag=%d, Lzmanag=%d\n"
++
++ #: src/lrz.c:1128
++ #, c-format
++ msgid "zconv=%d\n"
++-msgstr ""
+++msgstr "zconv=%d\n"
++
++ #: src/lrz.c:1192 src/lrz.c:1226
++ #, c-format
++ msgid "file exists, skipped: %s\n"
++-msgstr "Datei existiert, ?bersprungen: %s\n"
+++msgstr "Datei existiert, übersprungen: %s\n"
++
++ #: src/lrz.c:1267
++ #, c-format
++@@ -739,7 +740,7 @@
++ #: src/lrz.c:1545
++ #, c-format
++ msgid "Blocks received: %d"
++-msgstr "Bl?cke empfangen: %d"
+++msgstr "Blöcke empfangen: %d"
++
++ #: src/lrz.c:1599
++ #, c-format
++@@ -749,15 +750,15 @@
++ #: src/lrz.c:1612 src/lrz.c:1620
++ #, c-format
++ msgid "%s:\tSecurity Violation"
++-msgstr "%s:\tSicherheitsversto?"
+++msgstr "%s:\tSicherheitsverstoß"
++
++ #: src/lrz.c:1730
++ msgid "remote command execution requested"
++-msgstr "Gegenseite versucht Kommandoausf?hrung"
+++msgstr "Gegenseite versucht Kommandoausführung"
++
++ #: src/lrz.c:1737
++ msgid "not executed"
++-msgstr "nicht ausgef?hrt"
+++msgstr "nicht ausgeführt"
++
++ #: src/lrz.c:1768
++ msgid "got ZRINIT"
++@@ -765,7 +766,7 @@
++
++ #: src/lrz.c:1817
++ msgid "Skipped"
++-msgstr "?bersprungen"
+++msgstr "Ãœbersprungen"
++
++ #. too bad
++ #: src/lrz.c:2049
++@@ -785,7 +786,7 @@
++
++ #: src/lrz.c:2215
++ msgid "file close error"
++-msgstr "Fehler beim Schlie?en der Datei"
+++msgstr "Fehler beim Schließen der Datei"
++
++ #~ msgid "tcp protocol init failed\n"
++ #~ msgstr "TCP Protokoll Initialisierung fehlgeschlagen\n"
++@@ -796,17 +797,3 @@
++ #~ msgid "fgets for tcp protocol synchronization failed: "
++ #~ msgstr "fgets() bei tcp Protokoll Synchronisation fehlgeschlagen: "
++
++-#~ msgid "Transfer complete."
++-#~ msgstr "?bertragung abgeschlossen"
++-
++-#~ msgid "at"
++-#~ msgstr "um"
++-
++-#~ msgid "TIMESYNC: failed\n"
++-#~ msgstr "Zeitsynchronisation: fehlgeschlagen\n"
++-
++-#~ msgid "TIMESYNC: ok\n"
++-#~ msgstr "Zeitsynchronisation: ok\n"
++-
++-#~ msgid "Falldown to %ld blklen"
++-#~ msgstr "Blockgr??e auf %ld gesenkt"
diff --git a/patches/source/minicom/minicom.SlackBuild b/patches/source/minicom/minicom.SlackBuild
new file mode 100755
index 00000000..8e974737
--- /dev/null
+++ b/patches/source/minicom/minicom.SlackBuild
@@ -0,0 +1,160 @@
+#!/bin/sh
+
+# Copyright 2008, 2009, 2010, 2011, 2012, 2013, 2017 Patrick J. Volkerding, Sebeka, Minnesota, USA
+# All rights reserved.
+#
+# Redistribution and use of this script, with or without modification, is
+# permitted provided that the following conditions are met:
+#
+# 1. Redistributions of this script must retain the above copyright
+# notice, this list of conditions and the following disclaimer.
+#
+# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED
+# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
+# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
+# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+VERSION=2.7.1
+BUILD=${BUILD:-1_slack13.0}
+
+NUMJOBS=${NUMJOBS:--j6}
+
+# Automatically determine the architecture we're building on:
+if [ -z "$ARCH" ]; then
+ case "$( uname -m )" in
+ i?86) export ARCH=i486 ;;
+ arm*) export ARCH=arm ;;
+ # Unless $ARCH is already set, use uname -m for all other archs:
+ *) export ARCH=$( uname -m ) ;;
+ esac
+fi
+
+CWD=$(pwd)
+TMP=${TMP:-/tmp}
+PKG=$TMP/package-minicom
+
+if [ "$ARCH" = "i486" ]; then
+ SLKCFLAGS="-O2 -march=i486 -mtune=i686"
+elif [ "$ARCH" = "s390" ]; then
+ SLKCFLAGS="-O2"
+elif [ "$ARCH" = "x86_64" ]; then
+ SLKCFLAGS="-O2 -fPIC"
+else
+ SLKCFLAGS="-O2"
+fi
+
+rm -rf $PKG
+mkdir -p $TMP $PKG
+
+# minicom
+cd $TMP
+rm -rf minicom-$VERSION
+tar xvf $CWD/minicom-$VERSION.tar.xz || exit 1
+cd minicom-$VERSION
+
+# The following command renames the internal implementation of getline
+# to g_getline as newer versions of Glibc provide an incompatible version:
+#sed -i -e "s/getline/g_&/" $(grep -lr getline *)
+
+chown -R root:root .
+find . -perm 777 -exec chmod 755 {} \;
+find . -perm 664 -exec chmod 644 {} \;
+
+CFLAGS="$SLKCFLAGS" \
+./configure \
+ --prefix=/usr \
+ --sysconfdir=/etc \
+ --mandir=/usr/man \
+ --build=$ARCH-slackware-linux || exit 1
+
+make $NUMJOBS || make || exit 1
+make install DESTDIR=$PKG || exit 1
+
+mkdir -p $PKG/etc
+zcat $CWD/minicom.users.gz > $PKG/etc/minicom.users.new
+printf "# Machine-generated file - use \"minicom -s\" to change parameters.\n" \
+ > $PKG/etc/minirc.dfl.new
+
+mkdir -p $PKG/usr/doc/minicom-$VERSION
+cp -a \
+ AUTHORS COPYING* ChangeLog FILE_ID.DIZ INSTALL NEWS README* TODO doc \
+ $PKG/usr/doc/minicom-$VERSION
+rm -f $PKG/usr/doc/minicom-$VERSION/doc/{ChangeLog.old,Makefile*}
+
+# If there's a ChangeLog, installing at least part of the recent history
+# is useful, but don't let it get totally out of control:
+if [ -r ChangeLog ]; then
+ DOCSDIR=$(echo $PKG/usr/doc/*-$VERSION)
+ cat ChangeLog | head -n 1000 > $DOCSDIR/ChangeLog
+ touch -r ChangeLog $DOCSDIR/ChangeLog
+fi
+
+# lzrz
+
+cd $TMP
+rm -rf lrzsz-990823
+tar xvf $CWD/lrzsz_0.12.21.orig.tar.gz || exit 1
+cd lrzsz-990823
+chown -R root:root .
+
+# Make x86_64 a valid machine type (thanks to Fred Emmott)
+zcat $CWD/config.sub-x86_64.diff.gz | patch -p1 --verbose || exit 1
+
+# Apply some of the debian patches
+zcat $CWD/lrzsz_0.12.21-5.diff.gz | patch -p1 --verbose || exit 1
+rm -f debian/patches/{206499_ymodemg.diff.unchecked,206648_dszlog.diff.unchecked}
+for i in debian/patches/* ; do patch -p1 < $i || exit 1 ; done
+
+./configure \
+ --prefix=/usr \
+ --mandir=/usr/man \
+ --build=$ARCH-slackware-linux
+
+touch stamp-h.in # to stop autoheader from running
+touch -d yesterday aclocal.m4 # to stop automake from running
+
+make $NUMJOBS || make || exit 1
+
+cp src/lrz src/lsz $PKG/usr/bin
+chmod 0755 $PKG/usr/bin/{lrz,lsz}
+
+cp man/{lrz,lsz}.1 $PKG/usr/man/man1
+echo '.so man1/lrz.1' > $PKG/usr/man/man1/rz.1
+echo '.so man1/lsz.1' > $PKG/usr/man/man1/sz.1
+
+mkdir -p $PKG/usr/share/locale/de/LC_MESSAGES
+cat po/de.gmo > $PKG/usr/share/locale/de/LC_MESSAGES/lrzsz.mo
+
+mkdir -p $PKG/usr/doc/lrzsz-0.12.21
+cp -a \
+ AUTHORS COMPATABILITY COPYING* INSTALL NEWS README* THANKS TODO \
+ $PKG/usr/doc/lrzsz-0.12.21
+
+( cd $PKG/usr/bin
+ for i in lrb lrx rz ; do ln -s lrz $i ; done
+ for i in lsb lsx sz ; do ln -s lsz $i ; done
+ for i in rx rb ; do ln -s rz $i ; done
+ for i in sb sx ; do ln -s sz $i ; done
+)
+
+( cd $PKG
+ find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
+ find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
+)
+
+find $PKG/usr/man -type f -exec gzip -9 {} \;
+
+mkdir -p $PKG/install
+cat $CWD/slack-desc > $PKG/install/slack-desc
+zcat $CWD/doinst.sh.gz > $PKG/install/doinst.sh
+
+cd $PKG
+/sbin/makepkg -l y -c n $TMP/minicom-$VERSION-$ARCH-$BUILD.txz
+
diff --git a/patches/source/minicom/minicom.users b/patches/source/minicom/minicom.users
new file mode 100644
index 00000000..509d86f4
--- /dev/null
+++ b/patches/source/minicom/minicom.users
@@ -0,0 +1,36 @@
+# $Id: minicom.users,v 1.1.1.1 1999/12/18 11:18:51 misiek Exp $
+# Minicom.users Access file for the minicom program.
+#
+# Format: Either just one username per line, or
+# a username followed by one or more
+# configuration-names. The name of the
+# default configuration is "dfl". The maximum
+# significant line length is 70 characters.
+#
+# Location: The minicom library directory, probably
+# /etc or /var/lib/minicom or whatever.
+#
+# Notes: If you don't install this file in the
+# specified location, everybody will have
+# access to minicom.
+#
+# This doesn't matter if minicom isn't installed
+# setuid root since access will then be based
+# on the permissions set on the serial port.
+#
+
+#
+# Who may use minicom?
+#
+# User [line] [..line]
+#
+
+# Everyone has access to all configurations.
+ALL
+
+## The rest are examples.
+## # Erik only has access to the default configuration
+## erik dfl
+##
+## # minicom has access to the default configuration, and configuration 'tty5'.
+## minicom dfl tty5
diff --git a/patches/source/minicom/slack-desc b/patches/source/minicom/slack-desc
new file mode 100644
index 00000000..4aa6302b
--- /dev/null
+++ b/patches/source/minicom/slack-desc
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|'
+# on the right side marks the last column you can put a character in. You must
+# make exactly 11 lines for the formatting to be correct. It's also
+# customary to leave one space after the ':'.
+
+ |-----handy-ruler------------------------------------------------------|
+minicom: minicom (communications package)
+minicom:
+minicom: Minicom - a full featured menu-driven communications package similar
+minicom: to the DOS program 'Telix'. Also includes sz/rz - utilities used to
+minicom: upload and download files using the Zmodem protocol.
+minicom:
+minicom: Homepage: http://alioth.debian.org/projects/minicom
+minicom:
+minicom:
+minicom:
+minicom:
diff --git a/patches/source/mozilla-firefox/firefox.moz_plugin_path.diff b/patches/source/mozilla-firefox/firefox.moz_plugin_path.diff
new file mode 100644
index 00000000..761f295a
--- /dev/null
+++ b/patches/source/mozilla-firefox/firefox.moz_plugin_path.diff
@@ -0,0 +1,17 @@
+--- ./firefox.orig 2008-05-29 15:21:18.000000000 -0500
++++ ./firefox 2008-06-17 12:19:26.000000000 -0500
+@@ -54,6 +54,14 @@
+
+ moz_libdir=/usr/local/lib/firefox-3.0
+
++# Include /usr/lib/mozilla/plugins in the plugin path:
++if [ "$MOZ_PLUGIN_PATH" ] ; then
++ MOZ_PLUGIN_PATH=$MOZ_PLUGIN_PATH:${moz_libdir}/plugins:/usr/lib/mozilla/plugins
++else
++ MOZ_PLUGIN_PATH=${moz_libdir}/plugins:/usr/lib/mozilla/plugins
++fi
++export MOZ_PLUGIN_PATH
++
+ # Use run-mozilla.sh in the current dir if it exists
+ # If not, then start resolving symlinks until we find run-mozilla.sh
+ found=0
diff --git a/patches/source/mozilla-firefox/firefox.png b/patches/source/mozilla-firefox/firefox.png
new file mode 100644
index 00000000..76204b5d
--- /dev/null
+++ b/patches/source/mozilla-firefox/firefox.png
Binary files differ
diff --git a/patches/source/mozilla-firefox/mimeTypes.rdf b/patches/source/mozilla-firefox/mimeTypes.rdf
new file mode 100644
index 00000000..f3bc7b40
--- /dev/null
+++ b/patches/source/mozilla-firefox/mimeTypes.rdf
@@ -0,0 +1,28 @@
+<?xml version="1.0"?>
+<RDF:RDF xmlns:NC="http://home.netscape.com/NC-rdf#"
+ xmlns:RDF="http://www.w3.org/1999/02/22-rdf-syntax-ns#">
+ <RDF:Seq RDF:about="urn:mimetypes:root">
+ </RDF:Seq>
+ <RDF:Description RDF:about="urn:mimetypes">
+ <NC:MIME-types RDF:resource="urn:mimetypes:root"/>
+ </RDF:Description>
+ <RDF:Description RDF:about="urn:scheme:mailto"
+ NC:value="mailto">
+ <NC:handlerProp RDF:resource="urn:scheme:handler:mailto"/>
+ </RDF:Description>
+ <RDF:Description RDF:about="urn:handler:web:http://compose.mail.yahoo.com/?To=%s"
+ NC:prettyName="Yahoo! Mail"
+ NC:uriTemplate="http://compose.mail.yahoo.com/?To=%s" />
+ <RDF:Description RDF:about="urn:handler:web:https://mail.google.com/mail/?extsrc=mailto&amp;url=%s"
+ NC:prettyName="GMail"
+ NC:uriTemplate="https://mail.google.com/mail/?extsrc=mailto&amp;url=%s" />
+ <RDF:Description RDF:about="urn:scheme:handler:mailto"
+ NC:alwaysAsk="true">
+ <NC:possibleApplication RDF:resource="urn:handler:web:http://compose.mail.yahoo.com/?To=%s"/>
+ <NC:possibleApplication RDF:resource="urn:handler:web:https://mail.google.com/mail/?extsrc=mailto&amp;url=%s"/>
+ <NC:possibleApplication RDF:resource="urn:handler:local:/usr/bin/thunderbird"/>
+ </RDF:Description>
+ <RDF:Description RDF:about="urn:handler:local:/usr/bin/thunderbird"
+ NC:prettyName="thunderbird"
+ NC:path="/usr/bin/thunderbird" />
+</RDF:RDF>
diff --git a/patches/source/mozilla-firefox/mozilla-firefox-mimeTypes-fix.diff b/patches/source/mozilla-firefox/mozilla-firefox-mimeTypes-fix.diff
new file mode 100644
index 00000000..22211304
--- /dev/null
+++ b/patches/source/mozilla-firefox/mozilla-firefox-mimeTypes-fix.diff
@@ -0,0 +1,45 @@
+diff -Nur mozilla-1.9.1.orig/browser/locales/generic/profile/mimeTypes.rdf mozilla-1.9.1/browser/locales/generic/profile/mimeTypes.rdf
+--- mozilla-1.9.1.orig/browser/locales/generic/profile/mimeTypes.rdf 2009-06-29 11:14:41.000000000 -0500
++++ mozilla-1.9.1/browser/locales/generic/profile/mimeTypes.rdf 2009-07-01 08:28:05.407353867 -0500
+@@ -1,13 +1,28 @@
+-<?xml version="1.0"?>
+-
+-<RDF xmlns="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+- xmlns:NC="http://home.netscape.com/NC-rdf#"
+- xmlns:RDF="http://www.w3.org/1999/02/22-rdf-syntax-ns#">
+-
+- <Description about="urn:mimetypes">
+- <NC:MIME-types>
+- <Seq about="urn:mimetypes:root">
+- </Seq>
+- </NC:MIME-types>
+- </Description>
+-</RDF>
++<?xml version="1.0"?>
++<RDF:RDF xmlns:NC="http://home.netscape.com/NC-rdf#"
++ xmlns:RDF="http://www.w3.org/1999/02/22-rdf-syntax-ns#">
++ <RDF:Seq RDF:about="urn:mimetypes:root">
++ </RDF:Seq>
++ <RDF:Description RDF:about="urn:mimetypes">
++ <NC:MIME-types RDF:resource="urn:mimetypes:root"/>
++ </RDF:Description>
++ <RDF:Description RDF:about="urn:scheme:mailto"
++ NC:value="mailto">
++ <NC:handlerProp RDF:resource="urn:scheme:handler:mailto"/>
++ </RDF:Description>
++ <RDF:Description RDF:about="urn:handler:web:http://compose.mail.yahoo.com/?To=%s"
++ NC:prettyName="Yahoo! Mail"
++ NC:uriTemplate="http://compose.mail.yahoo.com/?To=%s" />
++ <RDF:Description RDF:about="urn:handler:web:https://mail.google.com/mail/?extsrc=mailto&amp;url=%s"
++ NC:prettyName="GMail"
++ NC:uriTemplate="https://mail.google.com/mail/?extsrc=mailto&amp;url=%s" />
++ <RDF:Description RDF:about="urn:scheme:handler:mailto"
++ NC:alwaysAsk="true">
++ <NC:possibleApplication RDF:resource="urn:handler:web:http://compose.mail.yahoo.com/?To=%s"/>
++ <NC:possibleApplication RDF:resource="urn:handler:web:https://mail.google.com/mail/?extsrc=mailto&amp;url=%s"/>
++ <NC:possibleApplication RDF:resource="urn:handler:local:/usr/bin/thunderbird"/>
++ </RDF:Description>
++ <RDF:Description RDF:about="urn:handler:local:/usr/bin/thunderbird"
++ NC:prettyName="thunderbird"
++ NC:path="/usr/bin/thunderbird" />
++</RDF:RDF>
diff --git a/patches/source/mozilla-firefox/mozilla-firefox.SlackBuild b/patches/source/mozilla-firefox/mozilla-firefox.SlackBuild
new file mode 100755
index 00000000..dd4b8825
--- /dev/null
+++ b/patches/source/mozilla-firefox/mozilla-firefox.SlackBuild
@@ -0,0 +1,190 @@
+#!/bin/sh
+
+# Copyright 2008, 2009, 2010 Patrick J. Volkerding, Sebeka, Minnesota, USA
+# All rights reserved.
+#
+# Redistribution and use of this script, with or without modification, is
+# permitted provided that the following conditions are met:
+#
+# 1. Redistributions of this script must retain the above copyright
+# notice, this list of conditions and the following disclaimer.
+#
+# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED
+# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
+# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
+# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+# Thanks to the folks at the Mozilla Foundation for permission to
+# distribute this, and for all the great work! :-)
+
+VERSION=$(basename $(ls firefox-*.tar.bz2 | cut -d - -f 2 | rev | cut -f 3- -d . | rev) .source)
+# Automatically determine the architecture we're building on:
+if [ -z "$ARCH" ]; then
+ case "$( uname -m )" in
+ i?86) export ARCH=i486 ;;
+ arm*) export ARCH=arm ;;
+ # Unless $ARCH is already set, use uname -m for all other archs:
+ *) export ARCH=$( uname -m ) ;;
+ esac
+fi
+BUILD=${BUILD:-1_slack13.0}
+
+MOZVERS=${MOZVERS:-1.9.2}
+
+NUMJOBS=${NUMJOBS:-" -j7 "}
+
+# Try to be gentle to the compiler, no optimizations:
+if [ "$ARCH" = "i486" ]; then
+ SLKCFLAGS="-O"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "s390" ]; then
+ SLKCFLAGS="-O"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "x86_64" ]; then
+ SLKCFLAGS="-O -fPIC"
+ LIBDIRSUFFIX="64"
+elif [ "$ARCH" = "arm" ]; then
+ SLKCFLAGS="-O2 -march=armv4 -mtune=xscale"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "armel" ]; then
+ SLKCFLAGS="-O2 -march=armv4t"
+ LIBDIRSUFFIX=""
+fi
+
+CWD=$(pwd)
+TMP=${TMP:-/tmp}
+PKG=$TMP/package-mozilla-firefox
+
+rm -rf $PKG
+mkdir -p $TMP $PKG/usr/lib${LIBDIRSUFFIX}
+
+cd $TMP
+rm -rf mozilla-$MOZVERS
+tar xvf $CWD/firefox-$VERSION.source.tar.bz2 || exit 1
+cd mozilla-$MOZVERS || exit 1
+
+# Fix a long standing bug that's prevented staying current on GTK+.
+# Thanks to the BLFS folks. :-)
+cat << EOF >> layout/build/Makefile.in
+
+ifdef MOZ_ENABLE_CANVAS
+EXTRA_DSO_LDOPTS += \$(XLDFLAGS) -lX11 -lXrender
+endif
+
+EOF
+
+# Patch mimeTypes.rdf
+# Uncomment this if you want to use the patch; otherwise, we overwrite the
+# mimeTypes.rdf inside the package directory later
+# zcat $CWD/mozilla-firefox-mimeTypes-fix.diff.gz | patch -p1 || exit 1
+
+chown -R root:root .
+find . \
+ \( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \
+ -exec chmod 755 {} \; -o \
+ \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \
+ -exec chmod 644 {} \;
+
+export MOZILLA_OFFICIAL="1" &&
+export BUILD_OFFICIAL="1" &&
+export MOZ_PHOENIX="1" &&
+export CFLAGS="$SLKCFLAGS" &&
+export CXXFLAGS="$SLKCFLAGS" &&
+./configure \
+ --enable-official-branding \
+ --prefix=/usr \
+ --libdir=/usr/lib${LIBDIRSUFFIX} \
+ --with-default-mozilla-five-home=/usr/lib${LIBDIRSUFFIX}/firefox-$VERSION \
+ --with-system-zlib \
+ --enable-application=browser \
+ --enable-default-toolkit=cairo-gtk2 \
+ --enable-crypto \
+ --enable-svg \
+ --enable-canvas \
+ --enable-xft \
+ --enable-xinerama \
+ --enable-optimize \
+ --enable-reorder \
+ --enable-strip \
+ --enable-system-cairo \
+ --enable-cpp-rtti \
+ --enable-single-profile \
+ --disable-ldap \
+ --disable-accessibility \
+ --disable-debug \
+ --disable-tests \
+ --disable-libnotify \
+ --disable-logging \
+ --disable-pedantic \
+ --disable-installer \
+ --disable-mailnews \
+ --disable-composer \
+ --disable-profilesharing
+ # Complains about missing APNG support in Slackware's libpng:
+ #--with-system-png \
+
+#make -f client.mk build MOZ_MAKE_FLAGS="$NUMJOBS" || exit 1
+make MOZ_MAKE_FLAGS="$NUMJOBS" $NUMJOBS || exit 1
+make install DESTDIR=$PKG || exit 1
+
+# We don't need these (just symlinks anyway):
+rm -rf $PKG/usr/lib${LIBDIRSUFFIX}/firefox-devel-$VERSION
+
+# Nor these:
+rm -rf $PKG/usr/include
+
+( cd $PKG/usr/lib${LIBDIRSUFFIX}/firefox-$VERSION
+ #mv defaults/profile/mimeTypes.rdf defaults/profile/mimeTypes.rdf.orig || exit 1
+ zcat $CWD/mimeTypes.rdf > defaults/profile/mimeTypes.rdf || exit 1
+ zcat $CWD/firefox.moz_plugin_path.diff.gz \
+ | sed -e "s#usr/lib#usr/lib${LIBDIRSUFFIX}#g" \
+ | patch -p1 --verbose --backup --suffix=.orig || exit 1
+ # Clean up if the above patch was successful:
+ rm -f firefox.orig
+) || exit
+
+mkdir -p $PKG/usr/lib${LIBDIRSUFFIX}/mozilla/plugins
+mkdir -p $PKG/usr/share/applications
+cat $CWD/mozilla-firefox.desktop > $PKG/usr/share/applications/mozilla-firefox.desktop
+mkdir -p $PKG/usr/share/pixmaps
+cat $CWD/firefox.png > $PKG/usr/share/pixmaps/firefox.png
+
+# These files/directories are usually created if Firefox is run as root,
+# which on many systems might (and possibly should) be never. Therefore, if we
+# don't see them we'll put stubs in place to prevent startup errors.
+( cd $PKG/usr/lib${LIBDIRSUFFIX}/firefox-$VERSION
+ if [ -d extensions/talkback\@mozilla.org ]; then
+ if [ ! -r extensions/talkback\@mozilla.org/chrome.manifest ]; then
+ echo > extensions/talkback\@mozilla.org/chrome.manifest
+ fi
+ fi
+ if [ ! -d updates ]; then
+ mkdir -p updates/0
+ fi
+)
+
+# Need some default icons in the right place:
+mkdir -p $PKG/usr/lib${LIBDIRSUFFIX}/firefox-$VERSION/chrome/icons/default
+install -m 644 other-licenses/branding/firefox/default16.png \
+ $PKG/usr/lib${LIBDIRSUFFIX}/firefox-$VERSION/icons/
+install -m 644 other-licenses/branding/firefox/default16.png \
+ $PKG/usr/lib${LIBDIRSUFFIX}/firefox-$VERSION/chrome/icons/default/
+( cd $PKG/usr/lib${LIBDIRSUFFIX}/firefox-$VERSION
+ install -m 644 icons/{default,mozicon50}.xpm chrome/icons/default/
+)
+
+# Copy over the LICENSE
+install -p -c -m 644 LICENSE $PKG/usr/lib${LIBDIRSUFFIX}/firefox-$VERSION/
+
+mkdir $PKG/install
+cat $CWD/slack-desc > $PKG/install/slack-desc
+
+cd $PKG
+/sbin/makepkg -l y -c n $TMP/mozilla-firefox-$VERSION-$ARCH-$BUILD.txz
+
diff --git a/patches/source/mozilla-firefox/mozilla-firefox.desktop b/patches/source/mozilla-firefox/mozilla-firefox.desktop
new file mode 100644
index 00000000..23be26f3
--- /dev/null
+++ b/patches/source/mozilla-firefox/mozilla-firefox.desktop
@@ -0,0 +1,80 @@
+[Desktop Entry]
+Exec=firefox %u
+Icon=firefox
+Type=Application
+Categories=Network;
+Name=Firefox
+Name[bn]=ফায়ারফকà§à¦¸
+Name[eo]=Mozilo Fajrovulpo
+Name[fi]=Mozilla Firefox
+Name[pa]=ਫਾਇਰਫੋਕਸ
+Name[tg]=Рӯбоҳи оташин
+GenericName=Web Browser
+GenericName[af]=Web Blaaier
+GenericName[ar]=متصÙØ­ ويب
+GenericName[az]=Veb Səyyahı
+GenericName[bg]=Браузър
+GenericName[bn]=ওয়েব বà§à¦°à¦¾à¦‰à¦œà¦¾à¦°
+GenericName[br]=Furcher ar Gwiad
+GenericName[bs]=WWW Preglednik
+GenericName[ca]=Fullejador web
+GenericName[cs]=WWW prohlížeÄ
+GenericName[cy]=Porydd Gwe
+GenericName[da]=Browser
+GenericName[de]=Web-Browser
+GenericName[el]=ΠεÏιηγητής ΙστοÏ
+GenericName[eo]=TTT-legilo
+GenericName[es]=Navegador web
+GenericName[et]=Veebilehitseja
+GenericName[eu]=Web arakatzailea
+GenericName[fa]=مرورگر وب
+GenericName[fi]=WWW-selain
+GenericName[fo]=Alnótsfar
+GenericName[fr]=Navigateur web
+GenericName[gl]=Navegador Web
+GenericName[he]=דפדפן ×ינטרנט
+GenericName[hi]=वेब बà¥à¤°à¤¾à¤‰à¤œà¤¼à¤°
+GenericName[hr]=Web preglednik
+GenericName[hu]=Webböngésző
+GenericName[is]=Vafri
+GenericName[it]=Browser Web
+GenericName[ja]=ウェブブラウザ
+GenericName[ko]=웹 브ë¼ìš°ì €
+GenericName[lo]=ເວັບບຣາວເຊີ
+GenericName[lt]=Žiniatinklio naršyklė
+GenericName[lv]=Web PÄrlÅ«ks
+GenericName[mk]=ПрелиÑтувач на Интернет
+GenericName[mn]=Веб-Хөтөч
+GenericName[nb]=Nettleser
+GenericName[nds]=Nettkieker
+GenericName[nl]=Webbrowser
+GenericName[nn]=Nettlesar
+GenericName[nso]=Seinyakisi sa Web
+GenericName[pa]=ਵੈਬ à¨à¨²à¨•à¨¾à¨°à¨¾
+GenericName[pl]=PrzeglÄ…darka WWW
+GenericName[pt]=Navegador Web
+GenericName[pt_BR]=Navegador Web
+GenericName[ro]=Navigator de web
+GenericName[ru]=Веб-браузер
+GenericName[se]=Fierpmádatlogan
+GenericName[sk]=Webový prehliadaÄ
+GenericName[sl]=Spletni brskalnik
+GenericName[sr]=Веб претраживач
+GenericName[sr@Latn]=Veb pretraživaÄ
+GenericName[ss]=Ibrawuza yeWeb
+GenericName[sv]=Webbläsare
+GenericName[ta]=வலை உலாவி
+GenericName[tg]=ТафÑиргари вÑб
+GenericName[th]=เว็บบราวเซอร์
+GenericName[tr]=Web Tarayıcı
+GenericName[uk]=Ðавігатор Тенет
+GenericName[uz]=Веб-браузер
+GenericName[ven]=Buronza ya Webu
+GenericName[vi]=Trình duyệt Web
+GenericName[wa]=Betchteu waibe
+GenericName[xh]=Umkhangeli zincwadi we Web
+GenericName[zh_CN]=网页æµè§ˆå™¨
+GenericName[zh_TW]=網é ç€è¦½å™¨
+GenericName[zu]=Umcingi we-Web
+MimeType=text/html;
+X-KDE-StartupNotify=true
diff --git a/patches/source/mozilla-firefox/slack-desc b/patches/source/mozilla-firefox/slack-desc
new file mode 100644
index 00000000..a54bac8f
--- /dev/null
+++ b/patches/source/mozilla-firefox/slack-desc
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|' on
+# the right side marks the last column you can put a character in. You must make
+# exactly 11 lines for the formatting to be correct. It's also customary to
+# leave one space after the ':'.
+
+ |-----handy-ruler------------------------------------------------------|
+mozilla-firefox: mozilla-firefox (Mozilla Firefox Web browser)
+mozilla-firefox:
+mozilla-firefox: This project is a redesign of the Mozilla browser component written
+mozilla-firefox: using the XUL user interface language. Firefox empowers you to
+mozilla-firefox: browse faster, more safely and more efficiently than with any other
+mozilla-firefox: browser.
+mozilla-firefox:
+mozilla-firefox: Visit the Mozilla Firefox project online:
+mozilla-firefox: http://www.mozilla.org/projects/firefox/
+mozilla-firefox:
+mozilla-firefox:
diff --git a/patches/source/mozilla-thunderbird/mimeTypes.rdf b/patches/source/mozilla-thunderbird/mimeTypes.rdf
new file mode 100644
index 00000000..366df44b
--- /dev/null
+++ b/patches/source/mozilla-thunderbird/mimeTypes.rdf
@@ -0,0 +1,113 @@
+<?xml version="1.0"?>
+
+<!--
+ This file is used as a persistent data store for helper application
+ information about both MIME type and protocol scheme helpers.
+
+ The root of the data are the two containers
+ <RDF:Seq about="urn:mimetypes:root"/> and <RDF:Seq about="urn:schemes:root"/>.
+
+ These contain one <RDF:li/> entry per MIME type/protocol. Each <RDF:li/> entry
+ corresponds to a "urn:<class>:<type>" resource, where <class> is either
+ "mimetype" or "scheme" and <type> is either a MIME type in "major/minor" format
+ or a scheme. For example, for HTML we would have "urn:mimetype:text/html",
+ while for mailto: we would have "urn:scheme:mailto".
+
+ Typically, this resource will be in the <RDF:Description/> node which has the
+ corresponding "about" attribute.
+
+ Each "urn:<class>:<type>" resource can have the following properties:
+
+ NC:Value - the MIME type or scheme string
+ NC:editable - a "true" or "false" depending on whether this entry is
+ editable
+ NC:description - a description of the type ("HTML Document" for text/html)
+ NC:fileExtensions - for MIME types, there will be one of these properties
+ per extension that corresponds to this MIME type,
+ each one having a single extension as its value.
+ NC:handlerProp - the way the type should be handled. This corresponds to a
+ "urn:<class>:handler:<type>" resource. Eg, the way HTML is
+ handled would be stored in the
+ "urn:mimetype:handler:text/html" resource.
+
+ Each "urn:<class>:handler:<type>" resource can have the following properties:
+
+ NC:useSystemDefault - "true" if we should handle per default OS setting,
+ "false" or not set otherwise
+ NC:saveToDisk - "true" if the data should be saved to disk, "false" or not
+ set otherwise.
+ (Note - if both of these are false, that means "open in helper app")
+ NC:alwaysAsk - "true" if the user should always be prompted before handling
+ data of this type, false otherwise.
+ NC:externalApplication - the preferred helper application to use for this
+ type. This corresponds to a
+ "urn:<class>:externalApplication:<type>" resource.
+ NC:possibleApplication - a helper application that can be used for this type.
+ Since there can be multiple possible applications,
+ there can be multiple assertions in the graph with
+ this property for a given handler resource.
+
+ Each "urn:<class>:externalApplication:<type>" resource, and each resource
+ that represents a possible application, can have the following property:
+
+ NC:prettyName - the "pretty name" of the application ("Acrobat Reader" for
+ /usr/bin/acroread, eg).
+
+ If the resource represents a local application, then it can have the following
+ property:
+
+ NC:path - the path to the application on the local filesystem, for example
+ /usr/bin/test or C:\windows\system32\cmd.exe.
+
+ If the resource represents a web application, then it can have the following
+ property:
+
+ NC:uriTemplate - a URI pointing to the web application to which the type
+ should be handed off, with %s in the template representing
+ the place where the content should be inserted. For example,
+ here is a URI template for a service that lets you email
+ an address in a mailto: link:
+ http://www.example.com/sendmail?link=%s
+-->
+
+<RDF:RDF xmlns:RDF="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:NC="http://home.netscape.com/NC-rdf#">
+
+ <RDF:Description about="urn:mimetypes">
+ <NC:MIME-types>
+ <RDF:Seq about="urn:mimetypes:root">
+ </RDF:Seq>
+ </NC:MIME-types>
+ </RDF:Description>
+
+ <RDF:Description RDF:about="urn:scheme:handler:http"
+ NC:alwaysAsk="false">
+ <NC:externalApplication RDF:resource="urn:scheme:externalApplication:http"/>
+ </RDF:Description>
+ <RDF:Description RDF:about="urn:scheme:externalApplication:http"
+ NC:prettyName="firefox"
+ NC:path="/usr/bin/firefox" />
+ <RDF:Description RDF:about="urn:schemes">
+ <NC:Protocol-Schemes RDF:resource="urn:schemes:root"/>
+ </RDF:Description>
+ <RDF:Description RDF:about="urn:scheme:http"
+ NC:value="http">
+ <NC:handlerProp RDF:resource="urn:scheme:handler:http"/>
+ </RDF:Description>
+
+ <RDF:Description RDF:about="urn:scheme:handler:https"
+ NC:alwaysAsk="false">
+ <NC:externalApplication RDF:resource="urn:scheme:externalApplication:https"/>
+ </RDF:Description>
+ <RDF:Description RDF:about="urn:scheme:externalApplication:https"
+ NC:prettyName="firefox"
+ NC:path="/usr/bin/firefox" />
+ <RDF:Description RDF:about="urn:schemes">
+ <NC:Protocol-Schemes RDF:resource="urn:schemes:root"/>
+ </RDF:Description>
+ <RDF:Description RDF:about="urn:scheme:https"
+ NC:value="https">
+ <NC:handlerProp RDF:resource="urn:scheme:handler:https"/>
+ </RDF:Description>
+
+</RDF:RDF>
diff --git a/patches/source/mozilla-thunderbird/mozilla-thunderbird.SlackBuild b/patches/source/mozilla-thunderbird/mozilla-thunderbird.SlackBuild
new file mode 100755
index 00000000..12131b24
--- /dev/null
+++ b/patches/source/mozilla-thunderbird/mozilla-thunderbird.SlackBuild
@@ -0,0 +1,181 @@
+#!/bin/sh
+
+# Copyright 2008, 2009, 2010, 2011 Patrick J. Volkerding, Sebeka, Minnesota, USA
+# All rights reserved.
+#
+# Redistribution and use of this script, with or without modification, is
+# permitted provided that the following conditions are met:
+#
+# 1. Redistributions of this script must retain the above copyright
+# notice, this list of conditions and the following disclaimer.
+#
+# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED
+# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
+# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
+# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+# Thanks to the folks at the Mozilla Foundation for permission to
+# distribute this, and for all the great work! :-)
+
+VERSION=$(basename $(ls thunderbird-*.tar.bz2 | cut -d - -f 2 | rev | cut -f 3- -d . | rev) .source)
+BUILD=${BUILD:-1_slack13.0}
+
+# Automatically determine the architecture we're building on:
+if [ -z "$ARCH" ]; then
+ case "$( uname -m )" in
+ i?86) export ARCH=i486 ;;
+ arm*) export ARCH=arm ;;
+ # Unless $ARCH is already set, use uname -m for all other archs:
+ *) export ARCH=$( uname -m ) ;;
+ esac
+fi
+
+MOZVERS=${MOZVERS:-1.9.2}
+
+NUMJOBS=${NUMJOBS:-" -j7 "}
+
+# Try to be gentle to the compiler, no optimizations:
+if [ "$ARCH" = "i486" ]; then
+ SLKCFLAGS="-O"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "s390" ]; then
+ SLKCFLAGS="-O"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "x86_64" ]; then
+ SLKCFLAGS="-O -fPIC"
+ LIBDIRSUFFIX="64"
+elif [ "$ARCH" = "arm" ]; then
+ SLKCFLAGS="-O2 -march=armv4 -mtune=xscale"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "armel" ]; then
+ SLKCFLAGS="-O2 -march=armv4t"
+ LIBDIRSUFFIX=""
+fi
+
+CWD=$(pwd)
+TMP=${TMP:-/tmp}
+PKG=$TMP/package-mozilla-thunderbird
+
+rm -rf $PKG
+mkdir -p $TMP $PKG/usr/lib${LIBDIRSUFFIX}
+
+cd $TMP
+rm -rf comm-$MOZVERS
+tar xvf $CWD/thunderbird-$VERSION.source.tar.bz2 || exit 1
+cd comm-$MOZVERS || exit 1
+
+# Fix a long standing bug that's prevented staying current on GTK+.
+# Thanks to the BLFS folks. :-)
+cat << EOF >> mozilla/layout/build/Makefile.in
+
+ifdef MOZ_ENABLE_CANVAS
+EXTRA_DSO_LDOPTS += \$(XLDFLAGS) -lX11 -lXrender
+endif
+
+EOF
+
+chown -R root:root .
+find . \
+ \( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \
+ -exec chmod 755 {} \; -o \
+ \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \
+ -exec chmod 644 {} \;
+
+export MOZILLA_OFFICIAL="1" &&
+export BUILD_OFFICIAL="1" &&
+export MOZ_PHOENIX="1" &&
+export CFLAGS="$SLKCFLAGS" &&
+export CXXFLAGS="$SLKCFLAGS" &&
+export MOZ_MAKE_FLAGS="$NUMJOBS" &&
+./configure \
+ --enable-official-branding \
+ --prefix=/usr \
+ --libdir=/usr/lib${LIBDIRSUFFIX} \
+ --with-default-mozilla-five-home=/usr/lib${LIBDIRSUFFIX}/thunderbird-$VERSION \
+ --with-system-zlib \
+ --enable-application=mail \
+ --enable-default-toolkit=cairo-gtk2 \
+ --enable-crypto \
+ --enable-svg \
+ --enable-canvas \
+ --enable-xft \
+ --enable-xinerama \
+ --enable-ldap \
+ --enable-optimize \
+ --enable-reorder \
+ --enable-static \
+ --enable-strip \
+ --enable-system-cairo \
+ --enable-cpp-rtti \
+ --enable-single-profile \
+ --disable-startup-notification \
+ --disable-accessibility \
+ --disable-debug \
+ --disable-tests \
+ --disable-logging \
+ --disable-pedantic \
+ --disable-installer \
+ --disable-profilesharing
+ # Complains about missing APNG support in Slackware's libpng:
+ #--with-system-png \
+
+#make -f client.mk build MOZ_MAKE_FLAGS="$NUMJOBS" || exit 1
+make $NUMJOBS || exit 1
+make install DESTDIR=$PKG || exit 1
+
+# We don't need these (just symlinks anyway):
+rm -rf $PKG/usr/lib${LIBDIRSUFFIX}/thunderbird-devel-$VERSION
+
+# Nor these:
+rm -rf $PKG/usr/include
+
+( cd $PKG/usr/lib${LIBDIRSUFFIX}/thunderbird-$VERSION
+ cp -a defaults/profile/mimeTypes.rdf defaults/profile/mimeTypes.rdf.orig
+ zcat $CWD/mimeTypes.rdf > defaults/profile/mimeTypes.rdf || exit 1
+) || exit 1
+
+mkdir -p $PKG/usr/lib${LIBDIRSUFFIX}/mozilla/plugins
+mkdir -p $PKG/usr/share/applications
+cat $CWD/mozilla-thunderbird.desktop > $PKG/usr/share/applications/mozilla-thunderbird.desktop
+mkdir -p $PKG/usr/share/pixmaps
+cat $CWD/thunderbird.png > $PKG/usr/share/pixmaps/thunderbird.png
+
+# These files/directories are usually created if Firefox is run as root,
+# which on many systems might (and possibly should) be never. Therefore, if we
+# don't see them we'll put stubs in place to prevent startup errors.
+( cd $PKG/usr/lib${LIBDIRSUFFIX}/thunderbird-$VERSION
+ if [ -d extensions/talkback\@mozilla.org ]; then
+ if [ ! -r extensions/talkback\@mozilla.org/chrome.manifest ]; then
+ echo > extensions/talkback\@mozilla.org/chrome.manifest
+ fi
+ fi
+ if [ ! -d updates ]; then
+ mkdir -p updates/0
+ fi
+)
+
+# Need some default icons in the right place:
+mkdir -p $PKG/usr/lib${LIBDIRSUFFIX}/thunderbird-$VERSION/chrome/icons/default
+install -m 644 other-licenses/branding/thunderbird/default16.png \
+ $PKG/usr/lib${LIBDIRSUFFIX}/thunderbird-$VERSION/icons/
+install -m 644 other-licenses/branding/thunderbird/default16.png \
+ $PKG/usr/lib${LIBDIRSUFFIX}/thunderbird-$VERSION/chrome/icons/default/
+( cd $PKG/usr/lib${LIBDIRSUFFIX}/thunderbird-$VERSION
+ install -m 644 icons/{default,mozicon50}.xpm chrome/icons/default/
+)
+
+# Copy over the LICENSE
+install -p -c -m 644 LICENSE $PKG/usr/lib${LIBDIRSUFFIX}/thunderbird-$VERSION/
+
+mkdir $PKG/install
+cat $CWD/slack-desc > $PKG/install/slack-desc
+
+cd $PKG
+/sbin/makepkg -l y -c n $TMP/mozilla-thunderbird-$VERSION-$ARCH-$BUILD.txz
+
diff --git a/patches/source/mozilla-thunderbird/mozilla-thunderbird.desktop b/patches/source/mozilla-thunderbird/mozilla-thunderbird.desktop
new file mode 100644
index 00000000..0f85ecbe
--- /dev/null
+++ b/patches/source/mozilla-thunderbird/mozilla-thunderbird.desktop
@@ -0,0 +1,84 @@
+[Desktop Entry]
+Encoding=UTF-8
+Exec=thunderbird
+Icon=/usr/share/pixmaps/thunderbird.png
+Type=Application
+Categories=Application;Network;
+Name=Thunderbird
+Name[bn]=থাণà§à¦¡à¦¾à¦°à¦¬à¦¾à¦°à§à¦¡
+Name[eo]=Mozilo Tondrobirdo
+Name[fi]=Mozilla Thunderbird
+Name[pa]=ਥੰਡਰਬਰਡ
+Name[tg]=Паррандаи бало
+GenericName=Mail Client
+GenericName[af]=Pos Kliënt
+GenericName[ar]=البريد الألكتروني
+GenericName[az]=Poçt Alıcısı
+GenericName[be]=Паштовы кліент
+GenericName[bg]=ПощенÑки клиент
+GenericName[bn]=ইমেইল কà§à¦²à¦¾à§Ÿà§‡à¦¨à§à¦Ÿ
+GenericName[br]=Arval postel
+GenericName[bs]=Program za Äitanje elektronske poÅ¡te
+GenericName[ca]=Client de correu electrònic
+GenericName[cs]=Klient pro Ätení elektronické poÅ¡ty
+GenericName[cy]=Dibynnydd Ebost
+GenericName[da]=E-mail-klient
+GenericName[de]=E-Mail-Programm
+GenericName[el]=Πελάτης mail
+GenericName[eo]=Legi kaj sendi retpoÅton
+GenericName[es]=Cliente de correo electrónico
+GenericName[et]=Meiliklient
+GenericName[eu]=Posta bezeroa
+GenericName[fa]=کارگیر پست الکترونیکی
+GenericName[fi]=Sähköpostiohjelma
+GenericName[fo]=Postforrit
+GenericName[fr]=Logiciel de messagerie électronique
+GenericName[ga]=Cliant Ríomhphoist
+GenericName[gl]=Cliente de correo
+GenericName[he]=תוכנית דו×ר
+GenericName[hi]=डाकिया
+GenericName[hr]=Program za Äitanje elektronske poÅ¡te
+GenericName[hu]=Levelezőprogram
+GenericName[id]=Klien Mail
+GenericName[is]=Póstforrit
+GenericName[it]=Programma di posta elettronica
+GenericName[ja]=メールクライアント
+GenericName[ko]=편지를 주고 받는 프로그램
+GenericName[lo]=ໄຄà»à»€àº­àº±àº™àºˆàº»àº”ຫມາàºà»€àº­à»€àº¥àº±àºà»‚ຕນິàº
+GenericName[lt]=Pašto klientas
+GenericName[lv]=Pasta Klients
+GenericName[mk]=Програма за електронÑка пошта
+GenericName[mn]=Э-Захиа-Програм
+GenericName[mt]=Klijent tal-imejl
+GenericName[nb]=E-postklient
+GenericName[nds]=Mailprogramm
+GenericName[nl]=E-mailclient
+GenericName[nn]=Lesing og sending av e-post
+GenericName[nso]=Moreki wa Poso
+GenericName[oc]=Programari de correu electrònic
+GenericName[pa]=ਪੱਤਰ ਕਲਾਂਇਟ
+GenericName[pl]=Program do wysyłania i odbierania poczty elektronicznej
+GenericName[pt]=Client de E-mail
+GenericName[pt_BR]=Cliente de E-mail
+GenericName[ro]=Program de poştă electronică
+GenericName[ru]=Клиент Ñлектронной почты
+GenericName[se]=Boastaprográmma
+GenericName[sk]=Klient elektronickej pošty
+GenericName[sl]=Program za e-pošto
+GenericName[sr]=Програм за e-пошту
+GenericName[sr@Latn]=Program za e-poštu
+GenericName[ss]=Likhasimende leliposi
+GenericName[sv]=E-postklient
+GenericName[ta]=அஞà¯à®šà®²à¯ உறà¯à®ªà¯à®ªà®¿à®©à®°à¯
+GenericName[tg]=Коргири почтаи Ñллектроникӣ
+GenericName[th]=ไคลเอนต์จดหมายอิเล็à¸à¸—รอนิà¸à¸ªà¹Œ
+GenericName[tr]=Posta Ä°stemcisi
+GenericName[uk]=Клієнт електронної пошти
+GenericName[uz]=Хат-хабар клиенти
+GenericName[ven]=Mushumisani na poso
+GenericName[wa]=Cliyint d' emilaedje
+GenericName[xh]=Umxhasi Weposi
+GenericName[zh_CN]=邮件程åº
+GenericName[zh_TW]=郵件處ç†ç¨‹å¼
+GenericName[zu]=Umxhasi weposi
+X-KDE-StartupNotify=true
diff --git a/patches/source/mozilla-thunderbird/slack-desc b/patches/source/mozilla-thunderbird/slack-desc
new file mode 100644
index 00000000..353b2225
--- /dev/null
+++ b/patches/source/mozilla-thunderbird/slack-desc
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|' on
+# the right side marks the last column you can put a character in. You must make
+# exactly 11 lines for the formatting to be correct. It's also customary to
+# leave one space after the ':'.
+
+ |-----handy-ruler------------------------------------------------------|
+mozilla-thunderbird: mozilla-thunderbird (Mozilla Thunderbird mail application)
+mozilla-thunderbird:
+mozilla-thunderbird: Mozilla Thunderbird is a redesign of the Mozilla mail component
+mozilla-thunderbird: written using the XUL user interface language. Thunderbird makes
+mozilla-thunderbird: emailing safer, faster, and easier than ever before with the
+mozilla-thunderbird: industry's best implementations of features such as intelligent spam
+mozilla-thunderbird: filters, built-in RSS reader, quick search, and much more.
+mozilla-thunderbird:
+mozilla-thunderbird: Visit the Mozilla Thunderbird project online:
+mozilla-thunderbird: http://www.mozilla.org/projects/thunderbird/
+mozilla-thunderbird:
diff --git a/patches/source/mozilla-thunderbird/thunderbird.png b/patches/source/mozilla-thunderbird/thunderbird.png
new file mode 100644
index 00000000..61a37d70
--- /dev/null
+++ b/patches/source/mozilla-thunderbird/thunderbird.png
Binary files differ
diff --git a/patches/source/mysql/doinst.sh b/patches/source/mysql/doinst.sh
new file mode 100644
index 00000000..22f77474
--- /dev/null
+++ b/patches/source/mysql/doinst.sh
@@ -0,0 +1,22 @@
+config() {
+ NEW="$1"
+ OLD="$(dirname $NEW)/$(basename $NEW .new)"
+ # If there's no config file by that name, mv it over:
+ if [ ! -r $OLD ]; then
+ mv $NEW $OLD
+ elif [ "$(cat $OLD | md5sum)" = "$(cat $NEW | md5sum)" ]; then
+ # toss the redundant copy
+ rm $NEW
+ fi
+ # Otherwise, we leave the .new copy for the admin to consider...
+}
+
+# Keep same perms on rc.mysqld.new:
+if [ -e etc/rc.d/rc.mysqld ]; then
+ cp -a etc/rc.d/rc.mysqld etc/rc.d/rc.mysqld.new.incoming
+ cat etc/rc.d/rc.mysqld.new > etc/rc.d/rc.mysqld.new.incoming
+ mv etc/rc.d/rc.mysqld.new.incoming etc/rc.d/rc.mysqld.new
+fi
+
+config etc/rc.d/rc.mysqld.new
+
diff --git a/patches/source/mysql/mirror-url b/patches/source/mysql/mirror-url
new file mode 100644
index 00000000..885cd48e
--- /dev/null
+++ b/patches/source/mysql/mirror-url
@@ -0,0 +1 @@
+ftp://mysql.llarian.net/pub/mysql/
diff --git a/patches/source/mysql/mysql-embedded.build b/patches/source/mysql/mysql-embedded.build
new file mode 100755
index 00000000..9808571d
--- /dev/null
+++ b/patches/source/mysql/mysql-embedded.build
@@ -0,0 +1,55 @@
+#!/bin/sh
+# Build and install MySQL on Slackware
+# by: David Cantrell <david@slackware.com>
+# Currently maintained by: Patrick Volkerding <volkerdi@slackware.com>
+
+VERSION=${VERSION:-$(echo mysql-*.tar.?z* | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
+BUILD=${BUILD:-1}
+
+# Automatically determine the architecture we're building on:
+if [ -z "$ARCH" ]; then
+ case "$( uname -m )" in
+ i?86) export ARCH=i486 ;;
+ arm*) export ARCH=arm ;;
+ # Unless $ARCH is already set, use uname -m for all other archs:
+ *) export ARCH=$( uname -m ) ;;
+ esac
+fi
+
+CWD=$(pwd)
+TMP=${TMP:-/tmp}
+PKG=$TMP/package-mysql
+
+if [ "$ARCH" = "i486" ]; then
+ SLKCFLAGS="-O2 -march=i486 -mtune=i686"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "s390" ]; then
+ SLKCFLAGS="-O2"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "x86_64" ]; then
+ SLKCFLAGS="-O2 -fPIC"
+ LIBDIRSUFFIX="64"
+fi
+
+rm -rf $PKG
+mkdir -p $TMP $PKG
+cd $TMP
+rm -rf mysql-$VERSION
+tar xvf $CWD/mysql-$VERSION.tar.?z* || exit 1
+cd mysql-$VERSION
+
+CFLAGS="$SLKCFLAGS -fPIC" CXXFLAGS="$SLKCFLAGS -fPIC" \
+ ./configure --prefix=/usr --libdir=/usr/lib${LIBDIRSUFFIX} \
+ --datadir=/usr/share --sysconfdir=/etc/mysql \
+ --libexecdir=/usr/sbin --localstatedir=/var/lib/mysql \
+ --without-docs --without-man --without-server \
+ --with-embedded-server --without-innodb --without-bench \
+ --without-berkeley-db --without-row-based-replication \
+ --without-readline --disable-shared --with-charset=utf8 \
+ --without-debug --with-pthread --without-openssl --without-query-cache \
+ --without-geometry --with-pic
+
+make -j6 || make || exit 1
+
+cp libmysqld/libmysqld.a /usr/lib${LIBDIRSUFFIX}/mysql/
+
diff --git a/patches/source/mysql/mysql.CVE-2014-0001.diff b/patches/source/mysql/mysql.CVE-2014-0001.diff
new file mode 100644
index 00000000..818fae75
--- /dev/null
+++ b/patches/source/mysql/mysql.CVE-2014-0001.diff
@@ -0,0 +1,11 @@
+--- ./client/mysql.cc.orig 2012-03-02 08:04:08.000000000 -0600
++++ ./client/mysql.cc 2014-02-18 22:20:30.420177939 -0600
+@@ -1157,7 +1157,7 @@
+
+ put_info("Welcome to the MySQL monitor. Commands end with ; or \\g.",
+ INFO_INFO);
+- sprintf((char*) glob_buffer.ptr(),
++ snprintf((char*) glob_buffer.ptr(), glob_buffer.alloced_length(),
+ "Your MySQL connection id is %lu\nServer version: %s\n",
+ mysql_thread_id(&mysql), server_version_string(&mysql));
+ put_info((char*) glob_buffer.ptr(),INFO_INFO);
diff --git a/patches/source/mysql/mysql.SlackBuild b/patches/source/mysql/mysql.SlackBuild
new file mode 100755
index 00000000..b71d90cd
--- /dev/null
+++ b/patches/source/mysql/mysql.SlackBuild
@@ -0,0 +1,195 @@
+#!/bin/sh
+
+# Copyright 2008, 2009, 2013, 2014 Patrick J. Volkerding, Sebeka, Minnesota, USA
+# All rights reserved.
+#
+# Redistribution and use of this script, with or without modification, is
+# permitted provided that the following conditions are met:
+#
+# 1. Redistributions of this script must retain the above copyright
+# notice, this list of conditions and the following disclaimer.
+#
+# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED
+# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
+# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
+# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+# Build and install MySQL on Slackware
+# by: David Cantrell <david@slackware.com>
+# Currently maintained by: Patrick Volkerding <volkerdi@slackware.com>
+
+
+VERSION=${VERSION:-$(echo mysql-*.tar.?z* | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
+BUILD=${BUILD:-2_slack13.0}
+
+# Automatically determine the architecture we're building on:
+if [ -z "$ARCH" ]; then
+ case "$( uname -m )" in
+ i?86) export ARCH=i486 ;;
+ arm*) export ARCH=arm ;;
+ # Unless $ARCH is already set, use uname -m for all other archs:
+ *) export ARCH=$( uname -m ) ;;
+ esac
+fi
+
+NUMJOBS=${NUMJOBS:-" -j7 "}
+
+CWD=$(pwd)
+TMP=${TMP:-/tmp}
+PKG=$TMP/package-mysql
+
+if [ "$ARCH" = "i486" ]; then
+ SLKCFLAGS="-O2 -march=i486 -mtune=i686"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "s390" ]; then
+ SLKCFLAGS="-O2"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "x86_64" ]; then
+ SLKCFLAGS="-O2 -fPIC"
+ LIBDIRSUFFIX="64"
+fi
+
+rm -rf $PKG
+mkdir -p $TMP $PKG
+cd $TMP
+rm -rf mysql-$VERSION
+tar xvf $CWD/mysql-$VERSION.tar.?z* || exit 1
+cd mysql-$VERSION
+
+zcat $CWD/mysql.CVE-2014-0001.diff.gz | patch -p1 --verbose || exit 1
+
+chown -R root:root .
+find . \
+ \( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \
+ -exec chmod 755 {} \; -o \
+ \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \
+ -exec chmod 644 {} \;
+
+CFLAGS="$SLKCFLAGS" \
+CXXFLAGS="$SLKCFLAGS -felide-constructors -fno-exceptions -fno-rtti" \
+CXX=gcc \
+./configure \
+ --prefix=/usr \
+ --libdir=/usr/lib${LIBDIRSUFFIX} \
+ --with-mysqld-user=mysql \
+ --with-unix-socket-path=/var/run/mysql/mysql.sock \
+ --localstatedir=/var/lib/mysql \
+ --mandir=/usr/man \
+ --infodir=/usr/info \
+ --enable-assembler \
+ --with-raid \
+ --without-debug \
+ --enable-thread-safe-client \
+ --without-bench \
+ --with-extra-charsets=complex \
+ --with-vio \
+ --with-openssl \
+ --build=$ARCH-slackware-linux
+#
+# --without-readline
+
+make $NUMJOBS || make || exit 1
+make install DESTDIR=$PKG
+
+find $PKG | xargs file | grep -e "executable" -e "shared object" | grep ELF \
+ | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
+
+# Install support files
+mkdir -p $PKG/etc
+cp support-files/my-{huge,large,medium,small}.cnf $PKG/etc
+
+# Install docs
+mkdir -p $PKG/usr/doc/mysql-$VERSION/Docs
+cp -a \
+ COPYING* MIRRORS README* \
+ $PKG/usr/doc/mysql-$VERSION
+( cd Docs
+ cp -a INSTALL-BINARY *.html *.txt Flags \
+ $PKG/usr/doc/mysql-$VERSION/Docs )
+# Too large to justify since the .html version is right there:
+rm $PKG/usr/doc/mysql-$VERSION/Docs/manual.txt
+find $PKG/usr/doc/mysql-$VERSION -type f -exec chmod 0644 {} \;
+
+# This is the directory where databases are stored
+mkdir -p $PKG/var/lib/mysql
+chown mysql.mysql $PKG/var/lib/mysql
+chmod 0750 $PKG/var/lib/mysql
+
+# This is where the socket is stored
+mkdir -p $PKG/var/run/mysql
+chown mysql.mysql $PKG/var/run/mysql
+chmod 0755 $PKG/var/run/mysql
+
+# Do not include the test suite:
+rm -rf $PKG/usr/mysql-test
+
+# Add init script:
+mkdir -p $PKG/etc/rc.d
+# This is intentionally chmod 644.
+zcat $CWD/rc.mysqld.gz > $PKG/etc/rc.d/rc.mysqld.new
+
+# Install script:
+mkdir -p $PKG/install
+zcat $CWD/doinst.sh.gz > $PKG/install/doinst.sh
+cat $CWD/slack-desc > $PKG/install/slack-desc
+
+# Add some handy library symlinks:
+if [ -r $PKG/usr/lib${LIBDIRSUFFIX}/mysql/libmysqlclient.so.15 ]; then
+ ( cd $PKG/usr/lib${LIBDIRSUFFIX}
+ rm -f libmysqlclient.so libmysqlclient.so.15
+ ln -sf mysql/libmysqlclient.so .
+ ln -sf mysql/libmysqlclient.so.15 .
+ )
+else
+ exit 1
+fi
+if [ -r $PKG/usr/lib${LIBDIRSUFFIX}/mysql/libmysqlclient_r.so.15 ]; then
+ ( cd $PKG/usr/lib${LIBDIRSUFFIX}
+ rm -f libmysqlclient_r.so libmysqlclient_r.so.15
+ ln -sf mysql/libmysqlclient_r.so .
+ ln -sf mysql/libmysqlclient_r.so.15 .
+ )
+else
+ exit 1
+fi
+
+# Packaging standards:
+rm -f $PKG/usr/info/dir
+
+# Compress and link manpages, if any:
+if [ -d $PKG/usr/man ]; then
+ ( cd $PKG/usr/man
+ for manpagedir in $(find . -type d -name "man*") ; do
+ ( cd $manpagedir
+ for eachpage in $( find . -type l -maxdepth 1) ; do
+ ln -s $( readlink $eachpage ).gz $eachpage.gz
+ rm $eachpage
+ done
+ gzip -9 *.?
+ )
+ done
+ )
+fi
+
+# Compress info files, if any:
+if [ -d $PKG/usr/info ]; then
+ ( cd $PKG/usr/info
+ rm -f dir
+ gzip -9 *
+ )
+fi
+
+# Build package:
+cd $PKG
+/sbin/makepkg -l y -c n $TMP/mysql-$VERSION-$ARCH-$BUILD.txz
+
+if [ "$1" == "--cleanup" ]; then
+ cd $TMP
+ rm -rf mysql-$VERSION
+fi
diff --git a/patches/source/mysql/rc.mysqld b/patches/source/mysql/rc.mysqld
new file mode 100644
index 00000000..300e6eb2
--- /dev/null
+++ b/patches/source/mysql/rc.mysqld
@@ -0,0 +1,86 @@
+#!/bin/sh
+# Start/stop/restart mysqld.
+#
+# Copyright 2003 Patrick J. Volkerding, Concord, CA
+# Copyright 2003 Slackware Linux, Inc., Concord, CA
+# Copyright 2008 Patrick J. Volkerding, Sebeka, MN
+#
+# This program comes with NO WARRANTY, to the extent permitted by law.
+# You may redistribute copies of this program under the terms of the
+# GNU General Public License.
+
+# To start MySQL automatically at boot, be sure this script is executable:
+# chmod 755 /etc/rc.d/rc.mysqld
+
+# Before you can run MySQL, you must have a database. To install an initial
+# database, do this as root:
+#
+# mysql_install_db --user=mysql
+#
+# Note that the mysql user must exist in /etc/passwd, and the created files
+# will be owned by this dedicated user. This is important, or else mysql
+# (which runs as user "mysql") will not be able to write to the database
+# later (this can be fixed with 'chown -R mysql.mysql /var/lib/mysql').
+#
+# To increase system security, consider using "mysql_secure_installation"
+# as well. For more information on this tool, please read:
+# man mysql_secure_installation
+
+# To allow outside connections to the database comment out the next line.
+# If you don't need incoming network connections, then leave the line
+# uncommented to improve system security.
+SKIP="--skip-networking"
+
+# Start mysqld:
+mysqld_start() {
+ if [ -x /usr/bin/mysqld_safe ]; then
+ # If there is an old PID file (no mysqld running), clean it up:
+ if [ -r /var/run/mysql/mysql.pid ]; then
+ if ! ps axc | grep mysqld 1> /dev/null 2> /dev/null ; then
+ echo "Cleaning up old /var/run/mysql/mysql.pid."
+ rm -f /var/run/mysql/mysql.pid
+ fi
+ fi
+ /usr/bin/mysqld_safe --datadir=/var/lib/mysql --pid-file=/var/run/mysql/mysql.pid $SKIP &
+ fi
+}
+
+# Stop mysqld:
+mysqld_stop() {
+ # If there is no PID file, ignore this request...
+ if [ -r /var/run/mysql/mysql.pid ]; then
+ killall mysqld
+ # Wait at least one minute for it to exit, as we don't know how big the DB is...
+ for second in 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 \
+ 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 60 ; do
+ if [ ! -r /var/run/mysql/mysql.pid ]; then
+ break;
+ fi
+ sleep 1
+ done
+ if [ "$second" = "60" ]; then
+ echo "WARNING: Gave up waiting for mysqld to exit!"
+ sleep 15
+ fi
+ fi
+}
+
+# Restart mysqld:
+mysqld_restart() {
+ mysqld_stop
+ mysqld_start
+}
+
+case "$1" in
+'start')
+ mysqld_start
+ ;;
+'stop')
+ mysqld_stop
+ ;;
+'restart')
+ mysqld_restart
+ ;;
+*)
+ echo "usage $0 start|stop|restart"
+esac
diff --git a/patches/source/mysql/slack-desc b/patches/source/mysql/slack-desc
new file mode 100644
index 00000000..29e1b8be
--- /dev/null
+++ b/patches/source/mysql/slack-desc
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|'
+# on the right side marks the last column you can put a character in. You must
+# make exactly 11 lines for the formatting to be correct. It's also
+# customary to leave one space after the ':'.
+
+ |-----handy-ruler------------------------------------------------------|
+mysql: mysql (SQL-based relational database server)
+mysql:
+mysql: MySQL is a fast, multi-threaded, multi-user, and robust SQL
+mysql: (Structured Query Language) database server. It comes with a nice API
+mysql: which makes it easy to integrate into other applications.
+mysql:
+mysql: The home page for MySQL is http://www.mysql.com/
+mysql:
+mysql:
+mysql:
+mysql:
diff --git a/patches/source/ntp/doinst.sh b/patches/source/ntp/doinst.sh
new file mode 100644
index 00000000..bc542990
--- /dev/null
+++ b/patches/source/ntp/doinst.sh
@@ -0,0 +1,28 @@
+config() {
+ NEW="$1"
+ OLD="`dirname $NEW`/`basename $NEW .new`"
+ # If there's no config file by that name, mv it over:
+ if [ ! -r $OLD ]; then
+ mv $NEW $OLD
+ elif [ "`cat $OLD | md5sum`" = "`cat $NEW | md5sum`" ]; then # toss the redundant copy
+ rm $NEW
+ fi
+ # Otherwise, we leave the .new copy for the admin to consider...
+}
+preserve_perms() {
+ NEW="$1"
+ OLD="$(dirname ${NEW})/$(basename ${NEW} .new)"
+ if [ -e ${OLD} ]; then
+ cp -a ${OLD} ${NEW}.incoming
+ cat ${NEW} > ${NEW}.incoming
+ mv ${NEW}.incoming ${NEW}
+ fi
+ config ${NEW}
+}
+
+config etc/ntp.conf.new
+config etc/ntp/ntp.keys.new
+if [ -r etc/rc.d/rc.ntpd -a -r etc/rc.d/rc.ntpd.new ]; then
+ chmod --reference=etc/rc.d/rc.ntpd etc/rc.d/rc.ntpd.new
+fi
+mv etc/rc.d/rc.ntpd.new etc/rc.d/rc.ntpd
diff --git a/patches/source/ntp/ntp.SlackBuild b/patches/source/ntp/ntp.SlackBuild
new file mode 100755
index 00000000..4d31c887
--- /dev/null
+++ b/patches/source/ntp/ntp.SlackBuild
@@ -0,0 +1,158 @@
+#!/bin/sh
+
+# Copyright 2008, 2009, 2010, 2011, 2012, 2014 Patrick J. Volkerding, Sebeka, MN, USA
+# All rights reserved.
+#
+# Redistribution and use of this script, with or without modification, is
+# permitted provided that the following conditions are met:
+#
+# 1. Redistributions of this script must retain the above copyright
+# notice, this list of conditions and the following disclaimer.
+#
+# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED
+# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
+# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
+# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+PKGNAM=ntp
+VERSION=${VERSION:-$(echo $PKGNAM-*.tar.?z* | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
+BUILD=${BUILD:-1_slack13.0}
+
+# Automatically determine the architecture we're building on:
+if [ -z "$ARCH" ]; then
+ case "$( uname -m )" in
+ i?86) export ARCH=i486 ;;
+ arm*) export ARCH=arm ;;
+ # Unless $ARCH is already set, use uname -m for all other archs:
+ *) export ARCH=$( uname -m ) ;;
+ esac
+fi
+
+NUMJOBS=${NUMJOBS:-" -j7 "}
+
+if [ "$ARCH" = "i486" ]; then
+ SLKCFLAGS="-O2 -march=i486 -mtune=i686"
+elif [ "$ARCH" = "s390" ]; then
+ SLKCFLAGS="-O2"
+elif [ "$ARCH" = "x86_64" ]; then
+ SLKCFLAGS="-O2 -fPIC"
+else
+ SLKCFLAGS="-O2"
+fi
+
+CWD=$(pwd)
+TMP=${TMP:-/tmp}
+PKG=$TMP/package-ntp
+
+rm -rf $PKG
+mkdir -p $TMP $PKG
+cd $TMP
+rm -rf ntp-${VERSION}*
+tar xvf $CWD/ntp-${VERSION}*.tar.?z* || exit 1
+cd ntp-${VERSION}* || exit 1
+
+zcat $CWD/ntp.nano.diff.gz | patch -p1 --verbose || exit 1
+
+chown -R root:root .
+find . \
+ \( -perm 2777 -o -perm 2755 -o -perm 2775 \) \
+ -exec chmod u+rwx,g-sw,g+rx,o-w,o+rx {} \; -o \
+ \( -perm 777 -o -perm 775 -o -perm 774 -o -perm 711 -o -perm 555 -o -perm 511 \) \
+ -exec chmod u+rwx,g-sw,g+rx,o-w,o+rx {} \; -o \
+ \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \
+ -exec chmod 644 {} \;
+
+CFLAGS="$SLKCFLAGS" \
+./configure \
+ --prefix=/usr \
+ --localstatedir=/var \
+ --sysconfdir=/etc \
+ --bindir=/usr/sbin \
+ --sbindir=/usr/sbin \
+ --mandir=/usr/man \
+ --docdir=/usr/doc/ntp-$VERSION \
+ --htmldir=/usr/doc/ntp-$VERSION \
+ --enable-ipv6 \
+ --with-crypto \
+ --program-prefix= \
+ --program-suffix= \
+ --build=$ARCH-slackware-linux
+
+make $NUMJOBS || make || exit 1
+make -i install DESTDIR=$PKG || exit 1
+
+# Since the Makefile's install pays no heed to the --bindir settings,
+# we'll move things to where they've always been ourselves:
+mv $PKG/usr/bin/* $PKG/usr/sbin
+rmdir $PKG/usr/bin
+
+# This might only be an empty directory:
+rmdir $PKG/usr/lib/pkgconfig
+
+# This should be empty. Try to remove it, and error out if it's not actually empty:
+rmdir $PKG/usr/libexec || exit 1
+
+mkdir -p $PKG/etc/ntp
+cat $CWD/ntp.conf > $PKG/etc/ntp.conf.new
+cat $CWD/ntp.keys > $PKG/etc/ntp/ntp.keys.new
+chmod 600 $PKG/etc/ntp/ntp.keys.new
+touch $PKG/etc/ntp/step-tickers
+
+mkdir -p $PKG/etc/rc.d
+cat $CWD/rc.ntpd > $PKG/etc/rc.d/rc.ntpd.new
+
+mv $PKG/usr/doc/ntp-$VERSION/*.html $PKG/usr/doc/ntp-$VERSION/html || exit 1
+cp -a \
+ COPYRIGHT NEWS README* TODO WHERE-TO-START \
+ *.y2kfixes clockstuff conf scripts \
+ $PKG/usr/doc/ntp-$VERSION
+mkdir $PKG/usr/doc/ntp-$VERSION/util
+cp -a util/README $PKG/usr/doc/ntp-$VERSION/util
+mkdir $PKG/usr/doc/ntp-$VERSION/ntpdate
+cp -a ntpdate/README $PKG/usr/doc/ntp-$VERSION/ntpdate
+( cd $PKG/usr/doc/ntp-$VERSION
+ find . -name ".deps*" -exec rm -rf "{}" \; 2> /dev/null
+)
+
+# If there's a ChangeLog, installing at least part of the recent history
+# is useful, but don't let it get totally out of control:
+if [ -r ChangeLog ]; then
+ DOCSDIR=$(echo $PKG/usr/doc/${PKGNAM}-$VERSION)
+ cat ChangeLog | head -n 1000 > $DOCSDIR/ChangeLog
+ touch -r ChangeLog $DOCSDIR/ChangeLog
+fi
+
+# Strip binaries:
+( cd $PKG
+ find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
+ find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
+)
+
+# Compress and link manpages, if any:
+if [ -d $PKG/usr/man ]; then
+ ( cd $PKG/usr/man
+ for manpagedir in $(find . -type d -name "man*") ; do
+ ( cd $manpagedir
+ for eachpage in $( find . -type l -maxdepth 1) ; do
+ ln -s $( readlink $eachpage ).gz $eachpage.gz
+ rm $eachpage
+ done
+ gzip -9 *.?
+ )
+ done
+ )
+fi
+
+mkdir -p $PKG/install
+cat $CWD/slack-desc > $PKG/install/slack-desc
+zcat $CWD/doinst.sh.gz > $PKG/install/doinst.sh
+
+cd $PKG
+/sbin/makepkg -l y -c n $TMP/ntp-$VERSION-$ARCH-$BUILD.txz
+
diff --git a/patches/source/ntp/ntp.conf b/patches/source/ntp/ntp.conf
new file mode 100644
index 00000000..1844fb91
--- /dev/null
+++ b/patches/source/ntp/ntp.conf
@@ -0,0 +1,72 @@
+# Sample /etc/ntp.conf: Configuration file for ntpd.
+#
+# Undisciplined Local Clock. This is a fake driver intended for backup
+# and when no outside source of synchronized time is available. The
+# default stratum is usually 3, but in this case we elect to use stratum
+# 0. Since the server line does not have the prefer keyword, this driver
+# is never used for synchronization, unless no other other
+# synchronization source is available. In case the local host is
+# controlled by some external source, such as an external oscillator or
+# another protocol, the prefer keyword would cause the local host to
+# disregard all other synchronization sources, unless the kernel
+# modifications are in use and declare an unsynchronized condition.
+#
+server 127.127.1.0 # local clock
+fudge 127.127.1.0 stratum 10
+
+#
+# NTP server (list one or more) to synchronize with:
+#server 0.pool.ntp.org iburst
+#server 1.pool.ntp.org iburst
+#server 2.pool.ntp.org iburst
+#server 3.pool.ntp.org iburst
+
+#
+# Drift file. Put this in a directory which the daemon can write to.
+# No symbolic links allowed, either, since the daemon updates the file
+# by creating a temporary in the same directory and then rename()'ing
+# it to the file.
+#
+driftfile /etc/ntp/drift
+
+#
+# Uncomment to use a multicast NTP server on the local subnet:
+#multicastclient 224.0.1.1 # listen on default 224.0.1.1
+# Set an optional compensation for broadcast packet delay:
+#broadcastdelay 0.008
+
+#
+# Keys file. If you want to diddle your server at run time, make a
+# keys file (mode 600 for sure) and define the key number to be
+# used for making requests.
+# PLEASE DO NOT USE THE DEFAULT VALUES HERE. Pick your own, or remote
+# systems might be able to reset your clock at will.
+#
+#keys /etc/ntp/keys
+#trustedkey 65535
+#requestkey 65535
+#controlkey 65535
+
+#
+# Don't serve time or stats to anyone else by default (more secure)
+restrict default limited kod nomodify notrap nopeer noquery
+restrict -6 default limited kod nomodify notrap nopeer noquery
+
+#
+# Use these lines instead if you do want to serve time and stats to
+# other machines on the network:
+#restrict default limited kod nomodify notrap nopeer
+#restrict -6 default limited kod nomodify notrap nopeer
+
+#
+# Disable the ntpdc -c monlist command, which is insecure and can be used
+# to cause a denial of service attack (CVE-2013-5211). Future versions of
+# NTP will remove this command.
+# (this feature was disabled by default with ntpd 4.2.7p230)
+disable monitor
+
+#
+# Trust ourselves. :-)
+restrict 127.0.0.1
+restrict ::1
+
diff --git a/patches/source/ntp/ntp.keys b/patches/source/ntp/ntp.keys
new file mode 100644
index 00000000..1c3fbd2c
--- /dev/null
+++ b/patches/source/ntp/ntp.keys
@@ -0,0 +1,2 @@
+65535 M akey
+1 M pass
diff --git a/patches/source/ntp/ntp.nano.diff b/patches/source/ntp/ntp.nano.diff
new file mode 100644
index 00000000..0ff361ce
--- /dev/null
+++ b/patches/source/ntp/ntp.nano.diff
@@ -0,0 +1,17 @@
+--- ./include/ntp_syscall.h.orig 2009-12-09 01:36:37.000000000 -0600
++++ ./include/ntp_syscall.h 2010-04-21 23:38:30.000000000 -0500
+@@ -14,6 +14,14 @@
+ # include <sys/timex.h>
+ #endif
+
++#if defined(ADJ_NANO) && !defined(MOD_NANO)
++#define MOD_NANO ADJ_NANO
++#endif
++
++#if defined(ADJ_TAI) && !defined(MOD_TAI)
++#define MOD_TAI ADJ_TAI
++#endif
++
+ #ifndef NTP_SYSCALLS_LIBC
+ #ifdef NTP_SYSCALLS_STD
+ # define ntp_adjtime(t) syscall(SYS_ntp_adjtime, (t))
diff --git a/patches/source/ntp/rc.ntpd b/patches/source/ntp/rc.ntpd
new file mode 100644
index 00000000..c1d1411c
--- /dev/null
+++ b/patches/source/ntp/rc.ntpd
@@ -0,0 +1,71 @@
+#!/bin/sh
+# Start/stop/restart ntpd.
+
+# Start ntpd:
+ntpd_start() {
+ CMDLINE="/usr/sbin/ntpd -g"
+ echo -n "Starting NTP daemon: $CMDLINE"
+ $CMDLINE -p /var/run/ntpd.pid
+ echo
+ # The kernel is now mocking around with the the hardware clock if
+ # ntpd is running, so if the hardware clock (wall clock) is set to
+ # 'localtime' execute hwclock --localtime --systohc to disable the
+ # 11 minute mode kernel function:
+ if [ -x /sbin/hwclock ]; then
+ # Check for a broken motherboard RTC clock (where ioports for rtc are
+ # unknown) to prevent hwclock causing a hang:
+ if ! grep -q -w rtc /proc/ioports ; then
+ CLOCK_OPT="--directisa"
+ fi
+ if ! grep -q "^UTC" /etc/hardwareclock 2> /dev/null ; then
+ echo "Saving system time to the hardware clock (localtime)."
+ /sbin/hwclock $CLOCK_OPT --localtime --systohc
+ fi
+ fi
+}
+
+# Stop ntpd:
+ntpd_stop() {
+ echo -n "Stopping NTP daemon..."
+ if [ -r /var/run/ntpd.pid ]; then
+ kill -HUP $(cat /var/run/ntpd.pid)
+ rm -f /var/run/ntpd.pid
+ else
+ killall -HUP -q ntpd
+ fi
+ echo
+}
+
+# Restart ntpd:
+ntpd_restart() {
+ ntpd_stop
+ sleep 1
+ ntpd_start
+}
+
+# Check if ntpd is running
+ntpd_status() {
+ if [ -e /var/run/ntpd.pid ]; then
+ echo "ntpd is running."
+ else
+ echo "ntpd is stopped."
+ exit 1
+ fi
+}
+
+case "$1" in
+'start')
+ ntpd_start
+ ;;
+'stop')
+ ntpd_stop
+ ;;
+'restart')
+ ntpd_restart
+ ;;
+'status')
+ ntpd_status
+ ;;
+*)
+ echo "usage $0 start|stop|restart|status"
+esac
diff --git a/patches/source/ntp/slack-desc b/patches/source/ntp/slack-desc
new file mode 100644
index 00000000..6319e888
--- /dev/null
+++ b/patches/source/ntp/slack-desc
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|'
+# on the right side marks the last column you can put a character in. You must
+# make exactly 11 lines for the formatting to be correct. It's also
+# customary to leave one space after the ':'.
+
+ |-----handy-ruler------------------------------------------------------|
+ntp: ntp (Network Time Protocol daemon)
+ntp:
+ntp: The Network Time Protocol (NTP) is used to synchronize the time of a
+ntp: computer client or server to another server or reference time source,
+ntp: such as a radio or satellite receiver or modem. It provides client
+ntp: accuracies typically within a millisecond on LANs and up to a few tens
+ntp: of milliseconds on WANs relative to a primary server synchronized to
+ntp: Coordinated Universal Time (UTC) via a Global Positioning Service
+ntp: (GPS) receiver, for example.
+ntp:
+ntp:
diff --git a/patches/source/openssh/doinst.sh b/patches/source/openssh/doinst.sh
new file mode 100644
index 00000000..73ce6283
--- /dev/null
+++ b/patches/source/openssh/doinst.sh
@@ -0,0 +1,49 @@
+config() {
+ NEW="$1"
+ OLD="`dirname $NEW`/`basename $NEW .new`"
+ # If there's no config file by that name, mv it over:
+ if [ ! -r $OLD ]; then
+ mv $NEW $OLD
+ elif [ "`cat $OLD | md5sum`" = "`cat $NEW | md5sum`" ]; then # toss the redundant copy
+ rm $NEW
+ fi
+ # Otherwise, we leave the .new copy for the admin to consider...
+}
+preserve_perms() {
+ NEW="$1"
+ OLD="$(dirname ${NEW})/$(basename ${NEW} .new)"
+ if [ -e ${OLD} ]; then
+ cp -a ${OLD} ${NEW}.incoming
+ cat ${NEW} > ${NEW}.incoming
+ touch -r ${NEW} ${NEW}.incoming
+ mv ${NEW}.incoming ${NEW}
+ fi
+ config ${NEW}
+}
+
+config etc/ssh/ssh_config.new
+config etc/ssh/sshd_config.new
+preserve_perms etc/rc.d/rc.sshd.new
+if [ -e etc/rc.d/rc.sshd.new ]; then
+ mv etc/rc.d/rc.sshd.new etc/rc.d/rc.sshd
+fi
+
+# If the sshd user/group/shadow don't exist, add them:
+
+if ! grep -q "^sshd:" etc/passwd ; then
+ echo "sshd:x:33:33:sshd:/:" >> etc/passwd
+fi
+
+if ! grep -q "^sshd:" etc/group ; then
+ echo "sshd::33:sshd" >> etc/group
+fi
+
+if ! grep -q "^sshd:" etc/shadow ; then
+ echo "sshd:*:9797:0:::::" >> etc/shadow
+fi
+
+# Add a btmp file to store login failure if one doesn't exist:
+if [ ! -r var/log/btmp ]; then
+ ( cd var/log ; umask 077 ; touch btmp )
+fi
+
diff --git a/patches/source/openssh/openssh-7.4p1-libwrap.diff b/patches/source/openssh/openssh-7.4p1-libwrap.diff
new file mode 100644
index 00000000..d1025e43
--- /dev/null
+++ b/patches/source/openssh/openssh-7.4p1-libwrap.diff
@@ -0,0 +1,137 @@
+--- ./configure.ac.orig 2016-12-18 22:59:41.000000000 -0600
++++ ./configure.ac 2016-12-23 12:58:04.200707728 -0600
+@@ -1467,6 +1467,62 @@
+ ]
+ )
+
++# Check whether user wants TCP wrappers support
++TCPW_MSG="no"
++AC_ARG_WITH([tcp-wrappers],
++ [ --with-tcp-wrappers[[=PATH]] Enable tcpwrappers support (optionally in PATH)],
++ [
++ if test "x$withval" != "xno" ; then
++ saved_LIBS="$LIBS"
++ saved_LDFLAGS="$LDFLAGS"
++ saved_CPPFLAGS="$CPPFLAGS"
++ if test -n "${withval}" && \
++ test "x${withval}" != "xyes"; then
++ if test -d "${withval}/lib"; then
++ if test -n "${need_dash_r}"; then
++ LDFLAGS="-L${withval}/lib -R${withval}/lib ${LDFLAGS}"
++ else
++ LDFLAGS="-L${withval}/lib ${LDFLAGS}"
++ fi
++ else
++ if test -n "${need_dash_r}"; then
++ LDFLAGS="-L${withval} -R${withval} ${LDFLAGS}"
++ else
++ LDFLAGS="-L${withval} ${LDFLAGS}"
++ fi
++ fi
++ if test -d "${withval}/include"; then
++ CPPFLAGS="-I${withval}/include ${CPPFLAGS}"
++ else
++ CPPFLAGS="-I${withval} ${CPPFLAGS}"
++ fi
++ fi
++ LIBS="-lwrap -lnsl $LIBS"
++ AC_MSG_CHECKING([for libwrap])
++ AC_LINK_IFELSE([AC_LANG_PROGRAM([[
++#include <sys/types.h>
++#include <sys/socket.h>
++#include <netinet/in.h>
++#include <tcpd.h>
++int deny_severity = 0, allow_severity = 0;
++ ]], [[
++ hosts_access(0);
++ ]])], [
++ AC_MSG_RESULT([yes])
++ AC_DEFINE([LIBWRAP], [1],
++ [Define if you want
++ TCP Wrappers support])
++ SSHDLIBS="$SSHDLIBS -lwrap -lnsl"
++ TCPW_MSG="yes"
++ ], [
++ AC_MSG_ERROR([*** libwrap missing])
++
++ ])
++ LIBS="$saved_LIBS"
++ fi
++ ]
++)
++
+ # Check whether user wants to use ldns
+ LDNS_MSG="no"
+ AC_ARG_WITH(ldns,
+@@ -5081,6 +5137,7 @@
+ echo " SELinux support: $SELINUX_MSG"
+ echo " Smartcard support: $SCARD_MSG"
+ echo " S/KEY support: $SKEY_MSG"
++echo " TCP Wrappers support: $TCPW_MSG"
+ echo " MD5 password support: $MD5_MSG"
+ echo " libedit support: $LIBEDIT_MSG"
+ echo " Solaris process contract support: $SPC_MSG"
+--- ./sshd.c.orig 2016-12-18 22:59:41.000000000 -0600
++++ ./sshd.c 2016-12-23 12:58:40.847710372 -0600
+@@ -123,6 +123,13 @@
+ #include "version.h"
+ #include "ssherr.h"
+
++#ifdef LIBWRAP
++#include <tcpd.h>
++#include <syslog.h>
++int allow_severity;
++int deny_severity;
++#endif /* LIBWRAP */
++
+ /* Re-exec fds */
+ #define REEXEC_DEVCRYPTO_RESERVED_FD (STDERR_FILENO + 1)
+ #define REEXEC_STARTUP_PIPE_FD (STDERR_FILENO + 2)
+@@ -1971,6 +1978,24 @@
+ #ifdef SSH_AUDIT_EVENTS
+ audit_connection_from(remote_ip, remote_port);
+ #endif
++#ifdef LIBWRAP
++ allow_severity = options.log_facility|LOG_INFO;
++ deny_severity = options.log_facility|LOG_WARNING;
++ /* Check whether logins are denied from this host. */
++ if (packet_connection_is_on_socket()) {
++ struct request_info req;
++
++ request_init(&req, RQ_DAEMON, __progname, RQ_FILE, sock_in, 0);
++ fromhost(&req);
++
++ if (!hosts_access(&req)) {
++ debug("Connection refused by tcp wrapper");
++ refuse(&req);
++ /* NOTREACHED */
++ fatal("libwrap refuse returns");
++ }
++ }
++#endif /* LIBWRAP */
+
+ /* Log the connection. */
+ laddr = get_local_ipaddr(sock_in);
+--- ./sshd.8.orig 2016-12-18 22:59:41.000000000 -0600
++++ ./sshd.8 2016-12-23 12:58:04.208707729 -0600
+@@ -825,6 +825,12 @@
+ This file should be writable only by the user, and need not be
+ readable by anyone else.
+ .Pp
++.It Pa /etc/hosts.allow
++.It Pa /etc/hosts.deny
++Access controls that should be enforced by tcp-wrappers are defined here.
++Further details are described in
++.Xr hosts_access 5 .
++.Pp
+ .It Pa /etc/hosts.equiv
+ This file is for host-based authentication (see
+ .Xr ssh 1 ) .
+@@ -929,6 +935,7 @@
+ .Xr ssh-keygen 1 ,
+ .Xr ssh-keyscan 1 ,
+ .Xr chroot 2 ,
++.Xr hosts_access 5 ,
+ .Xr login.conf 5 ,
+ .Xr moduli 5 ,
+ .Xr sshd_config 5 ,
diff --git a/patches/source/openssh/openssh.CVE-2017-15906.patch b/patches/source/openssh/openssh.CVE-2017-15906.patch
new file mode 100644
index 00000000..fdb963f7
--- /dev/null
+++ b/patches/source/openssh/openssh.CVE-2017-15906.patch
@@ -0,0 +1,19 @@
+--- ./sftp-server.c.orig 2016-12-18 22:59:41.000000000 -0600
++++ ./sftp-server.c 2018-03-07 19:18:19.275984210 -0600
+@@ -1,4 +1,4 @@
+-/* $OpenBSD: sftp-server.c,v 1.110 2016/09/12 01:22:38 deraadt Exp $ */
++/* $OpenBSD: sftp-server.c,v 1.111 2017/04/04 00:24:56 djm Exp $ */
+ /*
+ * Copyright (c) 2000-2004 Markus Friedl. All rights reserved.
+ *
+@@ -691,8 +691,8 @@
+ logit("open \"%s\" flags %s mode 0%o",
+ name, string_from_portable(pflags), mode);
+ if (readonly &&
+- ((flags & O_ACCMODE) == O_WRONLY ||
+- (flags & O_ACCMODE) == O_RDWR)) {
++ ((flags & O_ACCMODE) != O_RDONLY ||
++ (flags & (O_CREAT|O_TRUNC)) != 0)) {
+ verbose("Refusing open request in read-only mode");
+ status = SSH2_FX_PERMISSION_DENIED;
+ } else {
diff --git a/patches/source/openssh/openssh.SlackBuild b/patches/source/openssh/openssh.SlackBuild
new file mode 100755
index 00000000..d17cd9a6
--- /dev/null
+++ b/patches/source/openssh/openssh.SlackBuild
@@ -0,0 +1,169 @@
+#!/bin/sh
+
+# Copyright 2000 BSDi, Inc. Concord, CA, USA
+# Copyright 2001, 2002, 2003, 2004 Slackware Linux, Inc. Concord, CA, USA
+# Copyright 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013 Patrick J. Volkerding, Sebeka, MN, USA
+# All rights reserved.
+#
+# Redistribution and use of this script, with or without modification, is
+# permitted provided that the following conditions are met:
+#
+# 1. Redistributions of this script must retain the above copyright
+# notice, this list of conditions and the following disclaimer.
+#
+# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED
+# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
+# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
+# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+# Set initial variables:
+CWD=$(pwd)
+TMP=${TMP:-/tmp}
+PKG=$TMP/package-openssh
+
+VERSION=${VERSION:-$(echo openssh-*.tar.gz | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
+BUILD=${BUILD:-2_slack13.0}
+
+NUMJOBS=${NUMJOBS:--j6}
+
+# Automatically determine the architecture we're building on:
+if [ -z "$ARCH" ]; then
+ case "$( uname -m )" in
+ i?86) export ARCH=i486 ;;
+ arm*) export ARCH=arm ;;
+ # Unless $ARCH is already set, use uname -m for all other archs:
+ *) export ARCH=$( uname -m ) ;;
+ esac
+fi
+
+if [ "$ARCH" = "i486" ]; then
+ SLKCFLAGS="-O2 -march=i486 -mtune=i686"
+elif [ "$ARCH" = "s390" ]; then
+ SLKCFLAGS="-O2"
+elif [ "$ARCH" = "x86_64" ]; then
+ SLKCFLAGS="-O2 -fPIC"
+elif [ "$ARCH" = "arm" ]; then
+ SLKCFLAGS="-O2 -march=armv4 -mtune=xscale"
+elif [ "$ARCH" = "armel" ]; then
+ SLKCFLAGS="-O2 -march=armv4t"
+else
+ SLKCFLAGS="-O2"
+fi
+
+# Clean target location:
+rm -rf $PKG
+mkdir -p $PKG
+
+# Prepare the framework and extract the package:
+cd $TMP
+rm -rf $PKG openssh-$VERSION
+tar xvf $CWD/openssh-$VERSION.tar.gz || tar xvf $CWD/openssh-$VERSION.tar.?z* || exit 1
+cd openssh-$VERSION
+chown -R root:root .
+
+zcat $CWD/openssh.CVE-2017-15906.patch.gz | patch -p1 --verbose || exit 1
+
+# Restore support for tcpwrappers:
+zcat $CWD/openssh-7.4p1-libwrap.diff.gz | patch -p1 --verbose || exit 1
+autoreconf -vif
+
+# Compile package:
+CFLAGS="$SLKCFLAGS" \
+./configure \
+ --prefix=/usr \
+ --mandir=/usr/man \
+ --sysconfdir=/etc/ssh \
+ --without-pam \
+ --with-md5-passwords \
+ --with-tcp-wrappers \
+ --with-default-path=/usr/local/sbin:/usr/sbin:/sbin:/usr/local/bin:/usr/bin:/bin \
+ --with-privsep-path=/var/empty \
+ --with-privsep-user=sshd \
+ --build=$ARCH-slackware-linux
+
+make $NUMJOBS || make || exit 1
+
+# Install the package:
+make install DESTDIR=$PKG
+
+find $PKG | xargs file | grep -e "executable" -e "shared object" | grep ELF \
+ | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
+
+# Compress and if needed symlink the man pages:
+if [ -d $PKG/usr/man ]; then
+ ( cd $PKG/usr/man
+ for manpagedir in $(find . -type d -name "man*") ; do
+ ( cd $manpagedir
+ for eachpage in $( find . -type l -maxdepth 1) ; do
+ ln -s $( readlink $eachpage ).gz $eachpage.gz
+ rm $eachpage
+ done
+ gzip -9 *.?
+ )
+ done
+ )
+fi
+
+# Install directory used with PrivilegeSeparation option:
+mkdir -p $PKG/var/empty
+chmod 755 $PKG/var/empty
+
+# Install docs:
+mkdir -p $PKG/usr/doc/openssh-$VERSION
+cp -a \
+ CREDITS ChangeLog INSTALL LICENCE OVERVIEW \
+ README README.privsep README.smartcard RFC.nroff TODO WARNING.RNG \
+ $PKG/usr/doc/openssh-$VERSION
+chmod 644 $PKG/usr/doc/openssh-$VERSION/*
+
+# If there's a ChangeLog, installing at least part of the recent history
+# is useful, but don't let it get totally out of control:
+if [ -r ChangeLog ]; then
+ DOCSDIR=$(echo $PKG/usr/doc/*-$VERSION)
+ cat ChangeLog | head -n 1000 > $DOCSDIR/ChangeLog
+ touch -r ChangeLog $DOCSDIR/ChangeLog
+fi
+
+# Install also 'ssh-copy-id' and its manpage from contrib:
+( cd contrib
+ cp -a ssh-copy-id $PKG/usr/bin/ssh-copy-id
+ chmod 755 $PKG/usr/bin/ssh-copy-id
+ cat ssh-copy-id.1 | gzip -9c > $PKG/usr/man/man1/ssh-copy-id.1.gz
+)
+
+( cd $PKG
+
+ # Ditch the new host keys, since these have to be uniquely prepared on each machine:
+ rm -f etc/ssh/ssh_host_dsa_key
+ rm -f etc/ssh/ssh_host_dsa_key.pub
+ rm -f etc/ssh/ssh_host_rsa_key
+ rm -f etc/ssh/ssh_host_rsa_key.pub
+ rm -f etc/ssh/ssh_host_key
+ rm -f etc/ssh/ssh_host_key.pub
+
+ # Set up the config script installation:
+ mv etc/ssh/ssh_config etc/ssh/ssh_config.new
+ mv etc/ssh/sshd_config etc/ssh/sshd_config.new
+
+ # Add the init script:
+ mkdir -p etc/rc.d
+ cat $CWD/rc.sshd > etc/rc.d/rc.sshd.new
+ chmod 755 etc/rc.d/rc.sshd.new
+
+ # Copy runtime installation files:
+ mkdir -p install
+ zcat $CWD/doinst.sh.gz > install/doinst.sh
+ cat $CWD/slack-desc > install/slack-desc
+)
+
+# Create the package itself:
+cd $PKG
+/sbin/makepkg -l y -c n $TMP/openssh-$VERSION-$ARCH-$BUILD.txz
+
diff --git a/patches/source/openssh/rc.sshd b/patches/source/openssh/rc.sshd
new file mode 100644
index 00000000..2da2ab30
--- /dev/null
+++ b/patches/source/openssh/rc.sshd
@@ -0,0 +1,59 @@
+#!/bin/sh
+# Start/stop/restart the secure shell server:
+
+sshd_start() {
+ # Create host keys if needed.
+ if [ ! -f /etc/ssh/ssh_host_dsa_key ]; then
+ /usr/bin/ssh-keygen -t dsa -f /etc/ssh/ssh_host_dsa_key -N ''
+ fi
+ if [ ! -f /etc/ssh/ssh_host_rsa_key ]; then
+ /usr/bin/ssh-keygen -t rsa -f /etc/ssh/ssh_host_rsa_key -N ''
+ fi
+ if [ ! -f /etc/ssh/ssh_host_ecdsa_key ]; then
+ /usr/bin/ssh-keygen -t ecdsa -f /etc/ssh/ssh_host_ecdsa_key -N ''
+ fi
+ if [ ! -f /etc/ssh/ssh_host_ed25519_key ]; then
+ /usr/bin/ssh-keygen -t ed25519 -f /etc/ssh/ssh_host_ed25519_key -N ''
+ fi
+ # Catch any new host key types not yet created above:
+ /usr/bin/ssh-keygen -A
+ # Start the sshd daemon:
+ /usr/sbin/sshd
+}
+
+sshd_stop() {
+ killall sshd
+}
+
+sshd_restart() {
+ if [ -r /var/run/sshd.pid ]; then
+ echo "WARNING: killing listener process only. To kill every sshd process, you must"
+ echo " use 'rc.sshd stop'. 'rc.sshd restart' kills only the parent sshd to"
+ echo " allow an admin logged in through sshd to use 'rc.sshd restart' without"
+ echo " being cut off. If sshd has been upgraded, new connections will now"
+ echo " use the new version, which should be a safe enough approach."
+ kill `cat /var/run/sshd.pid`
+ else
+ echo "WARNING: There does not appear to be a parent instance of sshd running."
+ echo " If you really want to kill all running instances of sshd (including"
+ echo " any sessions currently in use), run '/etc/rc.d/rc.sshd stop' instead."
+ exit 1
+ fi
+ sleep 1
+ sshd_start
+}
+
+case "$1" in
+'start')
+ sshd_start
+ ;;
+'stop')
+ sshd_stop
+ ;;
+'restart')
+ sshd_restart
+ ;;
+*)
+ echo "usage $0 start|stop|restart"
+esac
+
diff --git a/patches/source/openssh/slack-desc b/patches/source/openssh/slack-desc
new file mode 100644
index 00000000..04277a72
--- /dev/null
+++ b/patches/source/openssh/slack-desc
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|' on
+# the right side marks the last column you can put a character in. You must make
+# exactly 11 lines for the formatting to be correct. It's also customary to
+# leave one space after the ':'.
+
+ |-----handy-ruler------------------------------------------------------|
+openssh: openssh (Secure Shell daemon and clients)
+openssh:
+openssh: ssh (Secure Shell) is a program for logging into a remote machine and
+openssh: for executing commands on a remote machine. It is intended to replace
+openssh: rlogin and rsh, and provide secure encrypted communications between
+openssh: two untrusted hosts over an insecure network. sshd (SSH Daemon) is
+openssh: the daemon program for ssh. OpenSSH is based on the last free version
+openssh: of Tatu Ylonen's SSH, further enhanced and cleaned up by Aaron
+openssh: Campbell, Bob Beck, Markus Friedl, Niels Provos, Theo de Raadt, and
+openssh: Dug Song. It has a homepage at http://www.openssh.com/
+openssh:
diff --git a/patches/source/openssl/certwatch b/patches/source/openssl/certwatch
new file mode 100644
index 00000000..d52dc3dc
--- /dev/null
+++ b/patches/source/openssl/certwatch
@@ -0,0 +1,130 @@
+#!/bin/sh
+#
+# Will check all certificates stored in $CERTDIR for their expiration date,
+# and will display (if optional "stdout" argument is given), or mail a warning
+# message to $MAILADDR (if script is executed without any parameter
+# - unattended mode suitable for cron execution) for each particular certificate
+# that is about to expire in time less to, or equal to $DAYS after this script
+# has been executed, or if it has already expired.
+# This stupid script (C) 2006,2007 Jan Rafaj
+
+########################## CONFIGURATION SECTION BEGIN #########################
+# Note: all settings are mandatory
+# Warning will be sent if a certificate expires in time <= days given here
+DAYS=7
+# E-mail address where to send warnings
+MAILADDR=root
+# Directory with certificates to check
+CERTDIR=/etc/ssl/certs
+# Directory where to keep state files if this script isnt executed with "stdout"
+STATEDIR=/var/run
+########################### CONFIGURATION SECTION END ##########################
+
+PATH=/bin:/usr/bin:/sbin:/usr/sbin
+DAY_IN_SECS=$((60*60*24))
+DATE_CURRENT=$(date '+%s')
+
+usage()
+{
+ echo "Usage: $0 [stdout]"
+ echo
+ echo "Detailed description and configuration is embedded within the script."
+ exit 0
+}
+
+message()
+{
+ cat << EOF
+ WARNING: certificate $certfile
+ is about to expire in time equal to or less than $DAYS days from now on,
+ or has already expired - it might be a good idea to obtain/create new one.
+
+EOF
+}
+
+message_mail()
+{
+ message
+ cat << EOF
+ NOTE: This message is being sent only once.
+
+ A lock-file
+ $STATEDIR/certwatch-mailwarning-sent-$certfilebase
+ has been created, which will prevent this script from mailing you again
+ upon its subsequent executions by crond. You dont need to care about it;
+ the file will be auto-deleted as soon as you'll prolong your certificate.
+EOF
+}
+
+unset stdout
+case $# in
+ 0) ;;
+ 1) if [ "$1" = "-h" -o "$1" == "--help" ]; then
+ usage
+ elif [ "$1" = "stdout" ]; then
+ stdout=1
+ else
+ usage
+ fi
+ ;;
+ *) usage ;;
+esac
+
+for dir in $STATEDIR $CERTDIR ; do
+ if [ ! -d $dir ]; then
+ echo "ERROR: directory $dir does not exist"
+ exit 1
+ fi
+done
+for binary in basename date find grep mail openssl touch ; do
+ if [ ! \( -x /usr/bin/$binary -o -x /bin/$binary \) ]; then
+ echo "ERROR: /usr/bin/$binary not found"
+ exit 1
+ fi
+done
+
+find $CERTDIR -type f -maxdepth 1 | while read certfile ; do
+ if [ "$certfile" != "/etc/ssl/certs/ca-certificates.crt" ]; then
+ certfilebase="$(basename "$certfile")"
+ inform=PEM
+ echo "$certfile" | grep -q -i '\.net$'
+ if [ $? -eq 0 ]; then
+ # This is based purely on filename extension, so may give false results.
+ # But lets assume noone uses NET format certs today, ok?
+ continue
+ fi
+ echo "$certfile" | grep -q -i '\.der$'
+ if [ $? -eq 0 -o "$(file "$certfile" | egrep '(ASCII|PEM)')" == "" ]; then
+ inform=DER
+ fi
+ # We wont use '-checkend' since it is not properly documented (as of
+ # OpenSSL 0.9.8e).
+ DATE_CERT_EXPIRES=$(openssl x509 -in "$certfile" -inform $inform -noout -enddate | sed 's/^notAfter=//')
+ DATE_CERT_EXPIRES=$(date -d"$DATE_CERT_EXPIRES" +%s)
+ if [ $(($DATE_CERT_EXPIRES - $DATE_CURRENT)) -le $(($DAYS * $DAY_IN_SECS)) ]
+ then
+ if [ $stdout ]; then
+ message
+ else
+ if [ ! -f $STATEDIR/certwatch-mailwarning-sent-"$certfilebase" ]; then
+ subject="$0: certificate $certfile expiration warning"
+ message_mail | mail -r "certwatch@$HOSTNAME" \
+ -s "$subject" \
+ $MAILADDR 2>/dev/null
+ # echo "Mail about expiring certificate $certfile sent to $MAILADDR."
+ # echo "If you need to send it again, please remove lock-file"
+ # echo "$STATEDIR/certwatch-mailwarning-sent-$certfilebase ."
+ # echo
+ fi
+ touch $STATEDIR/certwatch-mailwarning-sent-"$certfilebase"
+ fi
+ else
+ if [ ! $stdout ]; then
+ if [ -f $STATEDIR/certwatch-mailwarning-sent-"$certfilebase" ]; then
+ rm $STATEDIR/certwatch-mailwarning-sent-"$certfilebase"
+ fi
+ fi
+ fi
+ fi
+done
+
diff --git a/patches/source/openssl/doinst.sh-openssl b/patches/source/openssl/doinst.sh-openssl
new file mode 100644
index 00000000..f73c5a51
--- /dev/null
+++ b/patches/source/openssl/doinst.sh-openssl
@@ -0,0 +1,15 @@
+config() {
+ NEW="$1"
+ OLD="`dirname $NEW`/`basename $NEW .new`"
+ # If there's no config file by that name, mv it over:
+ if [ ! -r $OLD ]; then
+ mv $NEW $OLD
+ elif [ "`cat $OLD | md5sum`" = "`cat $NEW | md5sum`" ]; then # toss the redundant copy
+ rm $NEW
+ fi
+ # Otherwise, we leave the .new copy for the admin to consider...
+}
+config etc/ssl/openssl.cnf.new
+config etc/cron.daily/certwatch.new
+# If the admin has modified this in any way, no need to keep the sample.
+rm -f etc/cron.daily/certwatch.new
diff --git a/patches/source/openssl/doinst.sh-openssl-solibs b/patches/source/openssl/doinst.sh-openssl-solibs
new file mode 100644
index 00000000..ed4fdfac
--- /dev/null
+++ b/patches/source/openssl/doinst.sh-openssl-solibs
@@ -0,0 +1,12 @@
+config() {
+ NEW="$1"
+ OLD="`dirname $NEW`/`basename $NEW .new`"
+ # If there's no config file by that name, mv it over:
+ if [ ! -r $OLD ]; then
+ mv $NEW $OLD
+ elif [ "`cat $OLD | md5sum`" = "`cat $NEW | md5sum`" ]; then # toss the redundant copy
+ rm $NEW
+ fi
+ # Otherwise, we leave the .new copy for the admin to consider...
+}
+config etc/ssl/openssl.cnf.new
diff --git a/patches/source/openssl/openssl.SlackBuild b/patches/source/openssl/openssl.SlackBuild
new file mode 100755
index 00000000..54e32225
--- /dev/null
+++ b/patches/source/openssl/openssl.SlackBuild
@@ -0,0 +1,199 @@
+#!/bin/sh
+
+# Copyright 2000 BSDi, Inc. Concord, CA, USA
+# Copyright 2001, 2002 Slackware Linux, Inc. Concord, CA, USA
+# Copyright 2005, 2006, 2007, 2008, 2009, 2010, 2012, 2016 Patrick J. Volkerding, Sebeka, MN, USA
+# All rights reserved.
+#
+# Redistribution and use of this script, with or without modification, is
+# permitted provided that the following conditions are met:
+#
+# 1. Redistributions of this script must retain the above copyright
+# notice, this list of conditions and the following disclaimer.
+#
+# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED
+# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
+# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
+# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+# Set initial variables:
+CWD=$(pwd)
+TMP=${TMP:-/tmp}
+
+VERSION=${VERSION:-$(echo openssl-*.tar.gz | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
+BUILD=${BUILD:-2_slack13.0}
+
+# Automatically determine the architecture we're building on:
+if [ -z "$ARCH" ]; then
+ case "$( uname -m )" in
+ i?86) export ARCH=i486 ;;
+ arm*) export ARCH=arm ;;
+ # Unless $ARCH is already set, use uname -m for all other archs:
+ *) export ARCH=$( uname -m ) ;;
+ esac
+fi
+
+PKG1=$TMP/package-openssl
+PKG2=$TMP/package-ossllibs
+NAME1=openssl-$VERSION-$ARCH-$BUILD
+NAME2=openssl-solibs-$VERSION-$ARCH-$BUILD
+
+NUMJOBS=${NUMJOBS:--j6}
+
+# So that ls has the right field counts for parsing...
+export LC_ALL=C
+
+cd $TMP
+rm -rf $PKG1 $PKG2 openssl-$VERSION
+tar xvf $CWD/openssl-$VERSION.tar.gz || exit 1
+cd openssl-$VERSION
+
+# Use .so.0, not .so.0.9.8:
+zcat $CWD/openssl.soname.diff.gz | patch -p1 --backup --verbose --suffix=.orig || exit 1
+if [ "$ARCH" = "i486" ]; then
+ # Build with -march=i486 -mtune=i686:
+ zcat $CWD/openssl.optsx86.diff.gz | patch -p1 --backup --verbose --suffix=.orig || exit 1
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "x86_64" ]; then
+ LIBDIRSUFFIX="64"
+fi
+
+# Mitigate DROWN:
+zcat $CWD/openssl.no.weak.sslv2.ciphers.diff.gz | patch -p1 --verbose || exit 1
+zcat $CWD/openssl.no.weak.sslv3.ciphers.diff.gz | patch -p1 --verbose || exit 1
+
+# OpenSSL has a (nasty?) habit of bumping the internal version number with
+# every release. This wouldn't be so bad, but some applications are so
+# paranoid that they won't run against a different OpenSSL version than
+# what they were compiled against, whether or not the ABI has changed.
+#
+# So, we will use the OPENSSL_VERSION_NUMBER from openssl-0.9.8o unless ABI
+# breakage forces it to change. Yes, we're finally using this old trick. :)
+sed -i "s/#define OPENSSL_VERSION_NUMBER.*/\/* Use 0x009080efL (0.9.8o) below to avoid pointlessly breaking the ABI *\/\n#define OPENSSL_VERSION_NUMBER 0x009080efL/g" crypto/opensslv.h || exit 1
+
+chown -R root:root .
+mkdir -p $PKG1/usr/doc/openssl-$VERSION
+cp -a CHANGES CHANGES.SSLeay FAQ INSTALL INSTALL.MacOS INSTALL.VMS INSTALL.W32 \
+ LICENSE NEWS README README.ENGINE doc $PKG1/usr/doc/openssl-$VERSION
+find $PKG1/usr/doc/openssl-$VERSION -type d -exec chmod 755 {} \;
+find $PKG1/usr/doc/openssl-$VERSION -type f -exec chmod 644 {} \;
+
+# If there's a CHANGES file, installing at least part of the recent history
+# is useful, but don't let it get totally out of control:
+if [ -r CHANGES ]; then
+ DOCSDIR=$(echo $PKG1/usr/doc/*-$VERSION)
+ cat CHANGES | head -n 2000 > $DOCSDIR/CHANGES
+ touch -r CHANGES $DOCSDIR/CHANGES
+fi
+
+# These are the known patent issues with OpenSSL:
+# name # expires
+# MDC-2: 4,908,861 2007-03-13, included. :-)
+# IDEA: 5,214,703 2010-05-25, not included.
+# RC5: 5,724,428 2015-03-03, not included.
+
+./config \
+ --prefix=/usr \
+ --openssldir=/etc/ssl \
+ no-idea \
+ no-rc5 \
+ no-sse2 \
+ shared
+
+make depend || exit 1
+
+make $NUMJOBS || make || exit 1
+
+make install INSTALL_PREFIX=$PKG1 || exit 1
+
+# Use proper libdir:
+( cd $PKG1/usr; mv lib lib${LIBDIRSUFFIX} )
+
+# Make the .so.? library symlinks:
+( cd $PKG1/usr/lib${LIBDIRSUFFIX} ; ldconfig -l lib*.so.* )
+
+# Move libraries, as they might be needed by programs that bring a network
+# mounted /usr online:
+
+mkdir $PKG1/lib${LIBDIRSUFFIX}
+( cd $PKG1/usr/lib${LIBDIRSUFFIX}
+ for file in lib*.so.?.* ; do
+ mv $file ../../lib${LIBDIRSUFFIX}
+ ln -sf ../../lib${LIBDIRSUFFIX}/$file .
+ done
+ cp -a lib*.so.? ../../lib${LIBDIRSUFFIX}
+)
+
+# Add a cron script to warn root if a certificate is going to expire soon:
+mkdir -p $PKG1/etc/cron.daily
+zcat $CWD/certwatch.gz > $PKG1/etc/cron.daily/certwatch.new
+chmod 755 $PKG1/etc/cron.daily/certwatch.new
+
+mv $PKG1/etc/ssl/openssl.cnf $PKG1/etc/ssl/openssl.cnf.new
+
+( cd $PKG1
+ find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
+ find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
+)
+
+mv $PKG1/etc/ssl/man $PKG1/usr
+( cd $PKG1/usr/man/man1 ; mv passwd.1 ssl_passwd.1 )
+( cd $PKG1/usr/man/man3 ; mv rand.3 ssl_rand.3 )
+( cd $PKG1/usr/man/man3 ; mv err.3 ssl_err.3 )
+# Compress and symlink the man pages:
+if [ -d $PKG1/usr/man ]; then
+ ( cd $PKG1/usr/man
+ for manpagedir in $(find . -type d -name "man*") ; do
+ ( cd $manpagedir
+ for eachpage in $( find . -type l -maxdepth 1) ; do
+ ln -s $( readlink $eachpage ).gz $eachpage.gz
+ rm $eachpage
+ done
+ gzip -9 *.?
+ )
+ done
+ )
+fi
+
+cd $PKG1
+chmod 755 usr/lib${LIBDIRSUFFIX}/pkgconfig
+sed -i -e "s#lib\$#lib${LIBDIRSUFFIX}#" usr/lib${LIBDIRSUFFIX}/pkgconfig/*.pc
+mkdir -p install
+zcat $CWD/doinst.sh-openssl.gz > install/doinst.sh
+cat $CWD/slack-desc.openssl > install/slack-desc
+/sbin/makepkg -l y -c n $TMP/${NAME1}.txz
+
+# Make runtime package:
+mkdir -p $PKG2/lib${LIBDIRSUFFIX}
+( cd lib${LIBDIRSUFFIX} ; cp -a lib*.so.* $PKG2/lib${LIBDIRSUFFIX} )
+( cd $PKG2/lib${LIBDIRSUFFIX} ; ldconfig -l * )
+mkdir -p $PKG2/etc
+( cd $PKG2/etc ; cp -a $PKG1/etc/ssl . )
+mkdir -p $PKG2/usr/doc/openssl-$VERSION
+( cd $TMP/openssl-$VERSION
+ cp -a CHANGES CHANGES.SSLeay FAQ INSTALL INSTALL.MacOS INSTALL.VMS INSTALL.W32 \
+ LICENSE NEWS README README.ENGINE $PKG2/usr/doc/openssl-$VERSION
+)
+
+# If there's a CHANGES file, installing at least part of the recent history
+# is useful, but don't let it get totally out of control:
+if [ -r CHANGES ]; then
+ DOCSDIR=$(echo $PKG2/usr/doc/*-$VERSION)
+ cat CHANGES | head -n 2000 > $DOCSDIR/CHANGES
+ touch -r CHANGES $DOCSDIR/CHANGES
+fi
+
+find $PKG2/usr/doc/openssl-$VERSION -type d -exec chmod 755 {} \;
+find $PKG2/usr/doc/openssl-$VERSION -type f -exec chmod 644 {} \;
+cd $PKG2
+mkdir -p install
+zcat $CWD/doinst.sh-openssl-solibs.gz > install/doinst.sh
+cat $CWD/slack-desc.openssl-solibs > install/slack-desc
+/sbin/makepkg -l y -c n $TMP/${NAME2}.txz
diff --git a/patches/source/openssl/openssl.no.weak.sslv2.ciphers.diff b/patches/source/openssl/openssl.no.weak.sslv2.ciphers.diff
new file mode 100644
index 00000000..a7075ba4
--- /dev/null
+++ b/patches/source/openssl/openssl.no.weak.sslv2.ciphers.diff
@@ -0,0 +1,51 @@
+diff -u -r --new-file openssl-0.9.8zh.orig/ssl/s2_lib.c openssl-0.9.8zh/ssl/s2_lib.c
+--- openssl-0.9.8zh.orig/ssl/s2_lib.c 2015-12-03 08:59:08.000000000 -0600
++++ openssl-0.9.8zh/ssl/s2_lib.c 2016-03-01 18:29:20.998111828 -0600
+@@ -97,6 +97,7 @@
+ SSL_ALL_CIPHERS,
+ SSL_ALL_STRENGTHS,
+ },
++# if 0
+ /* RC4_128_EXPORT40_WITH_MD5 */
+ {
+ 1,
+@@ -110,6 +111,7 @@
+ SSL_ALL_CIPHERS,
+ SSL_ALL_STRENGTHS,
+ },
++# endif
+ /* RC2_128_CBC_WITH_MD5 */
+ {
+ 1,
+@@ -123,6 +125,7 @@
+ SSL_ALL_CIPHERS,
+ SSL_ALL_STRENGTHS,
+ },
++# if 0
+ /* RC2_128_CBC_EXPORT40_WITH_MD5 */
+ {
+ 1,
+@@ -136,6 +139,7 @@
+ SSL_ALL_CIPHERS,
+ SSL_ALL_STRENGTHS,
+ },
++# endif
+ /* IDEA_128_CBC_WITH_MD5 */
+ # ifndef OPENSSL_NO_IDEA
+ {
+@@ -151,6 +155,7 @@
+ SSL_ALL_STRENGTHS,
+ },
+ # endif
++# if 0
+ /* DES_64_CBC_WITH_MD5 */
+ {
+ 1,
+@@ -164,6 +169,7 @@
+ SSL_ALL_CIPHERS,
+ SSL_ALL_STRENGTHS,
+ },
++# endif
+ /* DES_192_EDE3_CBC_WITH_MD5 */
+ {
+ 1,
diff --git a/patches/source/openssl/openssl.no.weak.sslv3.ciphers.diff b/patches/source/openssl/openssl.no.weak.sslv3.ciphers.diff
new file mode 100644
index 00000000..17326a56
--- /dev/null
+++ b/patches/source/openssl/openssl.no.weak.sslv3.ciphers.diff
@@ -0,0 +1,356 @@
+diff -u -r --new-file openssl-0.9.8zh.orig/ssl/s3_lib.c openssl-0.9.8zh/ssl/s3_lib.c
+--- openssl-0.9.8zh.orig/ssl/s3_lib.c 2015-12-03 08:59:08.000000000 -0600
++++ openssl-0.9.8zh/ssl/s3_lib.c 2016-03-01 18:42:26.295095103 -0600
+@@ -166,6 +166,7 @@
+ SSL_ALL_STRENGTHS,
+ },
+ /* Cipher 03 */
++# if 0
+ {
+ 1,
+ SSL3_TXT_RSA_RC4_40_MD5,
+@@ -178,6 +179,7 @@
+ SSL_ALL_CIPHERS,
+ SSL_ALL_STRENGTHS,
+ },
++# endif
+ /* Cipher 04 */
+ {
+ 1,
+@@ -205,6 +207,7 @@
+ SSL_ALL_STRENGTHS,
+ },
+ /* Cipher 06 */
++# if 0
+ {
+ 1,
+ SSL3_TXT_RSA_RC2_40_MD5,
+@@ -217,6 +220,7 @@
+ SSL_ALL_CIPHERS,
+ SSL_ALL_STRENGTHS,
+ },
++# endif
+ /* Cipher 07 */
+ #ifndef OPENSSL_NO_IDEA
+ {
+@@ -233,6 +237,7 @@
+ },
+ #endif
+ /* Cipher 08 */
++# if 0
+ {
+ 1,
+ SSL3_TXT_RSA_DES_40_CBC_SHA,
+@@ -245,7 +250,9 @@
+ SSL_ALL_CIPHERS,
+ SSL_ALL_STRENGTHS,
+ },
++# endif
+ /* Cipher 09 */
++# if 0
+ {
+ 1,
+ SSL3_TXT_RSA_DES_64_CBC_SHA,
+@@ -258,6 +265,7 @@
+ SSL_ALL_CIPHERS,
+ SSL_ALL_STRENGTHS,
+ },
++# endif
+ /* Cipher 0A */
+ {
+ 1,
+@@ -273,6 +281,7 @@
+ },
+ /* The DH ciphers */
+ /* Cipher 0B */
++# if 0
+ {
+ 0,
+ SSL3_TXT_DH_DSS_DES_40_CBC_SHA,
+@@ -285,7 +294,9 @@
+ SSL_ALL_CIPHERS,
+ SSL_ALL_STRENGTHS,
+ },
++# endif
+ /* Cipher 0C */
++# if 0
+ {
+ 0,
+ SSL3_TXT_DH_DSS_DES_64_CBC_SHA,
+@@ -298,6 +309,7 @@
+ SSL_ALL_CIPHERS,
+ SSL_ALL_STRENGTHS,
+ },
++# endif
+ /* Cipher 0D */
+ {
+ 0,
+@@ -312,6 +324,7 @@
+ SSL_ALL_STRENGTHS,
+ },
+ /* Cipher 0E */
++# if 0
+ {
+ 0,
+ SSL3_TXT_DH_RSA_DES_40_CBC_SHA,
+@@ -324,7 +337,9 @@
+ SSL_ALL_CIPHERS,
+ SSL_ALL_STRENGTHS,
+ },
++# endif
+ /* Cipher 0F */
++# if 0
+ {
+ 0,
+ SSL3_TXT_DH_RSA_DES_64_CBC_SHA,
+@@ -337,6 +352,7 @@
+ SSL_ALL_CIPHERS,
+ SSL_ALL_STRENGTHS,
+ },
++# endif
+ /* Cipher 10 */
+ {
+ 0,
+@@ -353,6 +369,7 @@
+
+ /* The Ephemeral DH ciphers */
+ /* Cipher 11 */
++# if 0
+ {
+ 1,
+ SSL3_TXT_EDH_DSS_DES_40_CBC_SHA,
+@@ -365,7 +382,9 @@
+ SSL_ALL_CIPHERS,
+ SSL_ALL_STRENGTHS,
+ },
++# endif
+ /* Cipher 12 */
++# if 0
+ {
+ 1,
+ SSL3_TXT_EDH_DSS_DES_64_CBC_SHA,
+@@ -378,6 +397,7 @@
+ SSL_ALL_CIPHERS,
+ SSL_ALL_STRENGTHS,
+ },
++# endif
+ /* Cipher 13 */
+ {
+ 1,
+@@ -392,6 +412,7 @@
+ SSL_ALL_STRENGTHS,
+ },
+ /* Cipher 14 */
++# if 0
+ {
+ 1,
+ SSL3_TXT_EDH_RSA_DES_40_CBC_SHA,
+@@ -404,7 +425,9 @@
+ SSL_ALL_CIPHERS,
+ SSL_ALL_STRENGTHS,
+ },
++# endif
+ /* Cipher 15 */
++# if 0
+ {
+ 1,
+ SSL3_TXT_EDH_RSA_DES_64_CBC_SHA,
+@@ -417,6 +440,7 @@
+ SSL_ALL_CIPHERS,
+ SSL_ALL_STRENGTHS,
+ },
++# endif
+ /* Cipher 16 */
+ {
+ 1,
+@@ -431,6 +455,7 @@
+ SSL_ALL_STRENGTHS,
+ },
+ /* Cipher 17 */
++# if 0
+ {
+ 1,
+ SSL3_TXT_ADH_RC4_40_MD5,
+@@ -443,6 +468,7 @@
+ SSL_ALL_CIPHERS,
+ SSL_ALL_STRENGTHS,
+ },
++# endif
+ /* Cipher 18 */
+ {
+ 1,
+@@ -457,6 +483,7 @@
+ SSL_ALL_STRENGTHS,
+ },
+ /* Cipher 19 */
++# if 0
+ {
+ 1,
+ SSL3_TXT_ADH_DES_40_CBC_SHA,
+@@ -469,7 +496,9 @@
+ SSL_ALL_CIPHERS,
+ SSL_ALL_STRENGTHS,
+ },
++# endif
+ /* Cipher 1A */
++# if 0
+ {
+ 1,
+ SSL3_TXT_ADH_DES_64_CBC_SHA,
+@@ -482,6 +511,7 @@
+ SSL_ALL_CIPHERS,
+ SSL_ALL_STRENGTHS,
+ },
++# endif
+ /* Cipher 1B */
+ {
+ 1,
+@@ -543,6 +573,7 @@
+
+ #ifndef OPENSSL_NO_KRB5
+ /* The Kerberos ciphers */
++# if 0
+ /* Cipher 1E */
+ {
+ 1,
+@@ -556,6 +587,7 @@
+ SSL_ALL_CIPHERS,
+ SSL_ALL_STRENGTHS,
+ },
++# endif
+
+ /* Cipher 1F */
+ {
+@@ -600,6 +632,7 @@
+ },
+
+ /* Cipher 22 */
++# if 0
+ {
+ 1,
+ SSL3_TXT_KRB5_DES_64_CBC_MD5,
+@@ -612,6 +645,7 @@
+ SSL_ALL_CIPHERS,
+ SSL_ALL_STRENGTHS,
+ },
++# endif
+
+ /* Cipher 23 */
+ {
+@@ -656,6 +690,7 @@
+ },
+
+ /* Cipher 26 */
++# if 0
+ {
+ 1,
+ SSL3_TXT_KRB5_DES_40_CBC_SHA,
+@@ -668,8 +703,10 @@
+ SSL_ALL_CIPHERS,
+ SSL_ALL_STRENGTHS,
+ },
++# endif
+
+ /* Cipher 27 */
++# if 0
+ {
+ 1,
+ SSL3_TXT_KRB5_RC2_40_CBC_SHA,
+@@ -682,8 +719,10 @@
+ SSL_ALL_CIPHERS,
+ SSL_ALL_STRENGTHS,
+ },
++# endif
+
+ /* Cipher 28 */
++# if 0
+ {
+ 1,
+ SSL3_TXT_KRB5_RC4_40_SHA,
+@@ -696,8 +735,10 @@
+ SSL_ALL_CIPHERS,
+ SSL_ALL_STRENGTHS,
+ },
++# endif
+
+ /* Cipher 29 */
++# if 0
+ {
+ 1,
+ SSL3_TXT_KRB5_DES_40_CBC_MD5,
+@@ -710,8 +751,10 @@
+ SSL_ALL_CIPHERS,
+ SSL_ALL_STRENGTHS,
+ },
++# endif
+
+ /* Cipher 2A */
++# if 0
+ {
+ 1,
+ SSL3_TXT_KRB5_RC2_40_CBC_MD5,
+@@ -724,8 +767,10 @@
+ SSL_ALL_CIPHERS,
+ SSL_ALL_STRENGTHS,
+ },
++# endif
+
+ /* Cipher 2B */
++# if 0
+ {
+ 1,
+ SSL3_TXT_KRB5_RC4_40_MD5,
+@@ -738,6 +783,7 @@
+ SSL_ALL_CIPHERS,
+ SSL_ALL_STRENGTHS,
+ },
++# endif
+ #endif /* OPENSSL_NO_KRB5 */
+
+ /* New AES ciphersuites */
+@@ -1007,6 +1053,7 @@
+ },
+ # endif
+ /* Cipher 62 */
++# if 0
+ {
+ 1,
+ TLS1_TXT_RSA_EXPORT1024_WITH_DES_CBC_SHA,
+@@ -1019,7 +1066,9 @@
+ SSL_ALL_CIPHERS,
+ SSL_ALL_STRENGTHS,
+ },
++# endif
+ /* Cipher 63 */
++# if 0
+ {
+ 1,
+ TLS1_TXT_DHE_DSS_EXPORT1024_WITH_DES_CBC_SHA,
+@@ -1032,7 +1081,9 @@
+ SSL_ALL_CIPHERS,
+ SSL_ALL_STRENGTHS,
+ },
++# endif
+ /* Cipher 64 */
++# if 0
+ {
+ 1,
+ TLS1_TXT_RSA_EXPORT1024_WITH_RC4_56_SHA,
+@@ -1045,7 +1096,9 @@
+ SSL_ALL_CIPHERS,
+ SSL_ALL_STRENGTHS,
+ },
++# endif
+ /* Cipher 65 */
++# if 0
+ {
+ 1,
+ TLS1_TXT_DHE_DSS_EXPORT1024_WITH_RC4_56_SHA,
+@@ -1058,6 +1111,7 @@
+ SSL_ALL_CIPHERS,
+ SSL_ALL_STRENGTHS,
+ },
++# endif
+ /* Cipher 66 */
+ {
+ 1,
diff --git a/patches/source/openssl/openssl.optsx86.diff b/patches/source/openssl/openssl.optsx86.diff
new file mode 100644
index 00000000..a1a289a2
--- /dev/null
+++ b/patches/source/openssl/openssl.optsx86.diff
@@ -0,0 +1,11 @@
+--- ./Configure.orig 2005-08-02 03:59:42.000000000 -0700
++++ ./Configure 2005-10-12 20:04:43.000000000 -0700
+@@ -317,7 +317,7 @@
+ "linux-ppc", "gcc:-DB_ENDIAN -DTERMIO -O3 -Wall::-D_REENTRANT::-ldl:BN_LLONG RC4_CHAR RC4_CHUNK DES_RISC1 DES_UNROLL::linux_ppc32.o::::::::::dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
+ #### IA-32 targets...
+ "linux-ia32-icc", "icc:-DL_ENDIAN -DTERMIO -O2 -no_cpprt::-D_REENTRANT::-ldl:BN_LLONG ${x86_gcc_des} ${x86_gcc_opts}:${x86_elf_asm}:dlfcn:linux-shared:-KPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
+-"linux-elf", "gcc:-DL_ENDIAN -DTERMIO -O3 -fomit-frame-pointer -Wall::-D_REENTRANT::-ldl:BN_LLONG ${x86_gcc_des} ${x86_gcc_opts}:${x86_elf_asm}:dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
++"linux-elf", "gcc:-DL_ENDIAN -DTERMIO -O3 -fomit-frame-pointer -march=i486 -mtune=i686 -Wall::-D_REENTRANT::-ldl:BN_LLONG ${x86_gcc_des} ${x86_gcc_opts}:${x86_elf_asm}:dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
+ "linux-aout", "gcc:-DL_ENDIAN -DTERMIO -O3 -fomit-frame-pointer -march=i486 -Wall::(unknown):::BN_LLONG ${x86_gcc_des} ${x86_gcc_opts}:${x86_out_asm}",
+ ####
+ "linux-generic64","gcc:-DTERMIO -O3 -Wall::-D_REENTRANT::-ldl:SIXTY_FOUR_BIT_LONG RC4_CHAR RC4_CHUNK DES_INT DES_UNROLL BF_PTR:${no_asm}:dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
diff --git a/patches/source/openssl/openssl.soname.diff b/patches/source/openssl/openssl.soname.diff
new file mode 100644
index 00000000..f660e93b
--- /dev/null
+++ b/patches/source/openssl/openssl.soname.diff
@@ -0,0 +1,11 @@
+--- ./Makefile.shared.orig 2005-06-23 13:47:54.000000000 -0700
++++ ./Makefile.shared 2005-10-12 20:02:28.000000000 -0700
+@@ -151,7 +151,7 @@
+ SHLIB_SUFFIX=; \
+ ALLSYMSFLAGS='-Wl,--whole-archive'; \
+ NOALLSYMSFLAGS='-Wl,--no-whole-archive'; \
+- SHAREDFLAGS="$(CFLAGS) $(SHARED_LDFLAGS) -shared -Wl,-Bsymbolic -Wl,-soname=$$SHLIB$$SHLIB_SOVER$$SHLIB_SUFFIX"
++ SHAREDFLAGS="$(CFLAGS) $(SHARED_LDFLAGS) -shared -Wl,-Bsymbolic -Wl,-soname=$$SHLIB.0"
+
+ DO_GNU_APP=LDFLAGS="$(CFLAGS) -Wl,-rpath,$(LIBRPATH)"
+
diff --git a/patches/source/openssl/slack-desc.openssl b/patches/source/openssl/slack-desc.openssl
new file mode 100644
index 00000000..57227c04
--- /dev/null
+++ b/patches/source/openssl/slack-desc.openssl
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|' on
+# the right side marks the last column you can put a character in. You must make
+# exactly 11 lines for the formatting to be correct. It's also customary to
+# leave one space after the ':'.
+
+ |-----handy-ruler------------------------------------------------------|
+openssl: openssl (Secure Sockets Layer toolkit)
+openssl:
+openssl: The OpenSSL certificate management tool and the shared libraries that
+openssl: provide various encryption and decryption algorithms and protocols.
+openssl:
+openssl: This product includes software developed by the OpenSSL Project for
+openssl: use in the OpenSSL Toolkit (http://www.openssl.org). This product
+openssl: includes cryptographic software written by Eric Young
+openssl: (eay@cryptsoft.com). This product includes software written by Tim
+openssl: Hudson (tjh@cryptsoft.com).
+openssl:
diff --git a/patches/source/openssl/slack-desc.openssl-solibs b/patches/source/openssl/slack-desc.openssl-solibs
new file mode 100644
index 00000000..f65bf12c
--- /dev/null
+++ b/patches/source/openssl/slack-desc.openssl-solibs
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|' on
+# the right side marks the last column you can put a character in. You must make
+# exactly 11 lines for the formatting to be correct. It's also customary to
+# leave one space after the ':'.
+
+ |-----handy-ruler------------------------------------------------------|
+openssl-solibs: openssl-solibs (OpenSSL shared libraries)
+openssl-solibs:
+openssl-solibs: These shared libraries provide encryption routines required by
+openssl-solibs: programs such as openssh. They are also used by KDE's Konqueror web
+openssl-solibs: browser to provide secure web connections.
+openssl-solibs:
+openssl-solibs: This product includes software developed by the OpenSSL Project for
+openssl-solibs: use in the OpenSSL Toolkit (http://www.openssl.org). This product
+openssl-solibs: includes cryptographic software written by Eric Young
+openssl-solibs: (eay@cryptsoft.com). This product includes software written by Tim
+openssl-solibs: Hudson (tjh@cryptsoft.com).
diff --git a/patches/source/openvpn/README b/patches/source/openvpn/README
new file mode 100644
index 00000000..cf2c6602
--- /dev/null
+++ b/patches/source/openvpn/README
@@ -0,0 +1,26 @@
+OpenVPN is a full-featured SSL VPN which can accomodate a wide
+range of configurations, including remote access, site-to-site VPNs,
+WiFi security, and enterprise-scale remote access with load
+balancing, failover, and fine-grained access-controls.
+
+OpenVPN implements OSI layer 2 or 3 secure network extension using the
+industry standard SSL/TLS protocol, supports flexible client
+authentication methods based on certificates, smart cards, and/or
+2-factor authentication, and allows user or group-specific access
+control policies using firewall rules applied to the VPN virtual
+interface.
+
+This build of OpenVPN depends upon having openssl (not just
+openssl-solibs) and lzo installed on your computer.
+
+Please note that there is no default config file for OpenVPN. This is
+by design. OpenVPN can technically use any config file in any location.
+However, this script does create an /etc/openvpn/ directory with certs/
+and keys/ subdirectories. Feel free to place config files, keys, and
+certificates in these directories. certs/ and keys/ are owned by user
+root and group nobody and are not world readable nor writable.
+Additionally, they are not writable by group nobody. It is recommended
+that you run openvpn nobody:nobody, but you may use another
+non-privilaged user and group at your option. Just change the
+permissions on these permissions to reflect that if you do.
+
diff --git a/patches/source/openvpn/doinst.sh b/patches/source/openvpn/doinst.sh
new file mode 100644
index 00000000..4b9b133a
--- /dev/null
+++ b/patches/source/openvpn/doinst.sh
@@ -0,0 +1,25 @@
+#!/bin/sh
+config() {
+ NEW="$1"
+ OLD="`dirname $NEW`/`basename $NEW .new`"
+ # If there's no config file by that name, mv it over:
+ if [ ! -r $OLD ]; then
+ mv $NEW $OLD
+ elif [ "`cat $OLD | md5sum`" = "`cat $NEW | md5sum`" ]; then # toss the redundant copy
+ rm $NEW
+ fi
+ # Otherwise, we leave the .new copy for the admin to consider...
+}
+preserve_perms() {
+ NEW="$1"
+ OLD="$(dirname ${NEW})/$(basename ${NEW} .new)"
+ if [ -e ${OLD} ]; then
+ cp -a ${OLD} ${NEW}.incoming
+ cat ${NEW} > ${NEW}.incoming
+ mv ${NEW}.incoming ${NEW}
+ fi
+ config ${NEW}
+}
+
+preserve_perms etc/rc.d/rc.openvpn.new
+
diff --git a/patches/source/openvpn/openvpn.SlackBuild b/patches/source/openvpn/openvpn.SlackBuild
new file mode 100755
index 00000000..fbdcbed1
--- /dev/null
+++ b/patches/source/openvpn/openvpn.SlackBuild
@@ -0,0 +1,169 @@
+#!/bin/bash
+
+# Copyright 2006, Alan Hicks, Lizella, GA
+# Copyright 2008, 2009, 2010, 2011, 2013, 2016, 2018 Patrick J. Volkerding, Sebeka, MN, USA
+# All rights reserved.
+#
+# Redistribution and use of this script, with or without modification, is
+# permitted provided that the following conditions are met:
+#
+# 1. Redistributions of this script must retain the above copyright
+# notice, this list of conditions and the following disclaimer.
+#
+# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED
+# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
+# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
+# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+cd $(dirname $0) ; CWD=$(pwd)
+
+PKGNAM=openvpn
+VERSION=${VERSION:-$(echo $PKGNAM-*.tar.xz | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
+BUILD=${BUILD:-1_slack13.0}
+
+# Automatically determine the architecture we're building on:
+if [ -z "$ARCH" ]; then
+ case "$( uname -m )" in
+ i?86) export ARCH=i486 ;;
+ arm*) export ARCH=arm ;;
+ # Unless $ARCH is already set, use uname -m for all other archs:
+ *) export ARCH=$( uname -m ) ;;
+ esac
+fi
+
+# If the variable PRINT_PACKAGE_NAME is set, then this script will report what
+# the name of the created package would be, and then exit. This information
+# could be useful to other scripts.
+if [ ! -z "${PRINT_PACKAGE_NAME}" ]; then
+ echo "$PKGNAM-$VERSION-$ARCH-$BUILD.txz"
+ exit 0
+fi
+
+NUMJOBS=${NUMJOBS:-" -j7 "}
+
+if [ "$ARCH" = "i486" ]; then
+ SLKCFLAGS="-O2 -march=i486 -mtune=i686"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "s390" ]; then
+ SLKCFLAGS="-O2"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "x86_64" ]; then
+ SLKCFLAGS="-O2 -fPIC"
+ LIBDIRSUFFIX="64"
+else
+ SLKCFLAGS="-O2"
+ LIBDIRSUFFIX=""
+fi
+
+TMP=${TMP:-/tmp}
+PKG=$TMP/package-$PKGNAM
+
+rm -rf $PKG
+mkdir -p $TMP $PKG
+cd $TMP
+rm -rf $PKGNAM-$VERSION
+tar xvf $CWD/$PKGNAM-$VERSION.tar.xz || exit 1
+cd $PKGNAM-$VERSION || exit 1
+
+# Fix ownership and permissions inside the source tarball.
+# It's appalling how many projects have 777 permissions or
+# even suid, sgid, and sticky bits set on things.
+chown -R root:root .
+find . \
+ \( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \
+ -exec chmod 755 {} \; -o \
+ \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \
+ -exec chmod 644 {} \;
+
+CFLAGS="$SLKCFLAGS" \
+CXXFLAGS="$SLKCFLAGS" \
+./configure \
+ --prefix=/usr \
+ --libdir=/usr/lib${LIBDIRSUFFIX} \
+ --sysconfdir=/etc/openvpn \
+ --localstatedir=/var \
+ --mandir=/usr/man \
+ --docdir=/usr/doc/openvpn-${VERSION} \
+ --enable-lzo \
+ --enable-iproute2 \
+ --disable-plugin-auth-pam \
+ --build=$ARCH-slackware-linux || exit 1
+
+make $NUMJOBS || make || exit 1
+make install-strip DESTDIR=$PKG || exit 1
+
+# Create a decent config directory. openvpn doesn't have one by
+# default, nor does it have a single config file.
+mkdir -p $PKG/etc/openvpn/{certs,keys}
+chown root:nobody $PKG/etc/openvpn/{certs,keys}
+chmod 750 $PKG/etc/openvpn/{certs,keys}
+
+# Install a startup script:
+mkdir -p $PKG/etc/rc.d
+cp -a $CWD/rc.openvpn $PKG/etc/rc.d/rc.openvpn.new
+chmod 644 $PKG/etc/rc.d/rc.openvpn.new
+chown root:root $PKG/etc/rc.d/rc.openvpn.new
+
+# Let folks know about the other configs, if they haven't found them.
+# They might even find the documentation there useful. ;-)
+cat << EOF > $PKG/etc/openvpn/README.TXT
+One or more OpenVPN config files should be installed in this directory
+as files ending in ".conf" (i.e. client.conf, server.conf, etc.).
+
+Have a look in sample-config-files for some more examples of how to
+configure OpenVPN.
+
+To start OpenVPN, use this command as root:
+sh /etc/rc.d/rc.openvpn start
+
+To make OpenVPN start automatically at boot, change the script permissions:
+chmod 755 /etc/rc.d/rc.openvpn
+
+See "man openvpn" and the other docs for more information.
+EOF
+
+# Add a link, too:
+( cd $PKG/etc/openvpn
+ ln -sf /usr/doc/$PKGNAM-$VERSION/sample-config-files .
+)
+
+if [ -d $PKG/usr/man ]; then
+( cd $PKG/usr/man
+ find . -type f -exec gzip -9 {} \;
+ for i in $(find . -type l) ; do ln -s $( readlink $i ).gz $i.gz ; rm $i ; done
+)
+fi
+
+mkdir -p $PKG/usr/doc/$PKGNAM-$VERSION
+cp -a AUTHORS COPYING* COPYRIGHT* INSTALL* \
+ NEWS PORTS README* sample/sample-config-files sample/sample-keys sample/sample-scripts \
+ $PKG/usr/doc/$PKGNAM-$VERSION
+
+# Install a reasonably generic sample config file:
+# (put this in with the other samples)
+mkdir -p $PKG/usr/doc/$PKGNAM-$VERSION/sample-config-files
+cp -a $CWD/slackware.conf $PKG/usr/doc/$PKGNAM-$VERSION/sample-config-files
+chown root:root $PKG/usr/doc/$PKGNAM-$VERSION/sample-config-files/slackware.conf
+chmod 644 $PKG/usr/doc/$PKGNAM-$VERSION/sample-config-files/slackware.conf
+
+# If there's a ChangeLog, installing at least part of the recent history
+# is useful, but don't let it get totally out of control:
+if [ -r ChangeLog ]; then
+ DOCSDIR=$(echo $PKG/usr/doc/${PKGNAM}-$VERSION)
+ cat ChangeLog | head -n 1000 > $DOCSDIR/ChangeLog
+ touch -r ChangeLog $DOCSDIR/ChangeLog
+fi
+
+mkdir -p $PKG/install
+zcat $CWD/doinst.sh.gz > $PKG/install/doinst.sh
+cat $CWD/slack-desc > $PKG/install/slack-desc
+
+cd $PKG
+/sbin/makepkg -l y -c n $TMP/$PKGNAM-$VERSION-$ARCH-$BUILD.txz
+
diff --git a/patches/source/openvpn/openvpn.url b/patches/source/openvpn/openvpn.url
new file mode 100644
index 00000000..4c476d87
--- /dev/null
+++ b/patches/source/openvpn/openvpn.url
@@ -0,0 +1,2 @@
+https://swupdate.openvpn.org/community/releases/openvpn-2.4.6.tar.xz
+https://swupdate.openvpn.org/community/releases/openvpn-2.4.6.tar.xz.asc
diff --git a/patches/source/openvpn/rc.openvpn b/patches/source/openvpn/rc.openvpn
new file mode 100644
index 00000000..86f31922
--- /dev/null
+++ b/patches/source/openvpn/rc.openvpn
@@ -0,0 +1,111 @@
+#!/bin/sh
+#
+# /etc/rc.d/rc.openvpn
+#
+# Start/stop/restart the openvpn daemon.
+#
+# By default, this script will start/stop/restart a daemon for every *.conf
+# file found in /etc/openvpn.
+#
+# To work with a single connection, add the name of the config file:
+# /etc/rc.d/rc.openvpn start configfile.conf
+#
+# You may also use a config file not found in /etc/openvpn by providing a
+# complete path:
+# /etc/rc.d/rc.openvpn start /path/to/some/other/configfile.conf
+#
+# The name of a config file provided with a complete path should not match
+# the name of any config file present in the /etc/openvpn directory.
+
+ovpn_start() {
+ if [ -x /usr/sbin/openvpn ]; then
+ if [ -z "$1" ]; then # start OpenVPN for all config files:
+ if /bin/ls /etc/openvpn/*.conf 1> /dev/null 2> /dev/null ; then
+ for config in /etc/openvpn/*.conf ; do
+ echo "Starting OpenVPN: /usr/sbin/openvpn --daemon --writepid /run/openvpn/$(basename $config).pid --user nobody --group nobody --config $config"
+ /usr/sbin/openvpn --daemon --writepid /run/openvpn/$(basename $config).pid --user nobody --group nobody --config $config
+ done
+ else
+ echo "Unable to start OpenVPN - no .conf files found in /etc/openvpn/."
+ fi
+ else # start OpenVPN for one config file:
+ if [ -r "$1" ]; then
+ echo "Starting OpenVPN: /usr/sbin/openvpn --daemon --writepid /run/openvpn/$(basename $1).pid --user nobody --group nobody --config $1"
+ /usr/sbin/openvpn --daemon --writepid /run/openvpn/$(basename $1).pid --user nobody --group nobody --config $1
+ else # config file is missing:
+ echo "Error starting OpenVPN: config file $1 is missing."
+ fi
+ fi
+ fi
+}
+
+ovpn_stop() {
+ # Note: OpenVPN has a bad habit of leaving stale pid files around when exiting.
+ # Maybe it would be better to just use killall unless called for one config?
+ if [ -z "$1" ]; then # stop OpenVPN for all pid files:
+ if /bin/ls /run/openvpn/*.pid 1> /dev/null 2> /dev/null ; then
+ for pid in /run/openvpn/*.pid ; do
+ echo "Stopping OpenVPN for pid file $pid..."
+ kill $(cat $pid)
+ rm -f $pid
+ done
+ else
+ echo "Warning: no pid files found in /run/openvpn/. Using killall to stop any OpenVPN processes."
+ killall openvpn
+ fi
+ else # stop OpenVPN for one config file:
+ if [ -r /run/openvpn/$(basename ${1}).pid ]; then
+ echo "Stopping OpenVPN for config file ${1}..."
+ kill $(cat /run/openvpn/$(basename ${1}).pid)
+ rm -f /run/openvpn/$(basename ${1}).pid
+ else
+ echo "Error stopping OpenVPN: no such pid file /run/openvpn/$(basename ${1}).pid"
+ fi
+ fi
+}
+
+ovpn_restart() {
+ if [ ! -z "$1" ]; then # restart for all config files:
+ ovpn_stop
+ sleep 2
+ ovpn_start
+ else # restart for one config file only:
+ ovpn_stop $1
+ sleep 2
+ ovpn_start $1
+ fi
+}
+
+ovpn_status() {
+ if /bin/ls /run/openvpn/*.pid 1> /dev/null 2> /dev/null ; then
+ echo "Currently running OpenVPN processes according to .pid files in /run/openvpn:"
+ for pid in /run/openvpn/*.pid ; do
+ echo " $(basename $pid) ($(cat $pid))"
+ done
+ else
+ echo "No .pid files found in /run/openvpn."
+ fi
+}
+
+# Create PID directory if it doesn't exist:
+if [ ! -d /run/openvpn ]; then
+ mkdir -p /run/openvpn
+fi
+
+case "$1" in
+'start')
+ ovpn_start $2
+ ;;
+'stop')
+ ovpn_stop $2
+ ;;
+'restart')
+ ovpn_restart $2
+ ;;
+'status')
+ ovpn_status
+ ;;
+*)
+ echo "Usage: $0 {start|stop|restart}"
+esac
+
diff --git a/patches/source/openvpn/slack-desc b/patches/source/openvpn/slack-desc
new file mode 100644
index 00000000..7ffd6167
--- /dev/null
+++ b/patches/source/openvpn/slack-desc
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|'
+# on the right side marks the last column you can put a character in. You must
+# make exactly 11 lines for the formatting to be correct. It's also
+# customary to leave one space after the ':'.
+
+ |-----handy-ruler------------------------------------------------------|
+openvpn: openvpn (secure IP tunnel daemon)
+openvpn:
+openvpn: OpenVPN is a full-featured SSL VPN which can accommodate a wide range
+openvpn: of configurations, including remote access, site-to-site VPNs, WiFi
+openvpn: security, and enterprise-scale remote access with load balancing,
+openvpn: failover, and fine-grained access-controls.
+openvpn:
+openvpn: OpenVPN's home on the net is: http://openvpn.net
+openvpn:
+openvpn:
+openvpn:
diff --git a/patches/source/openvpn/slackware.conf b/patches/source/openvpn/slackware.conf
new file mode 100644
index 00000000..4314b544
--- /dev/null
+++ b/patches/source/openvpn/slackware.conf
@@ -0,0 +1,178 @@
+# openvpn.conf.sample
+#
+# This is a sample configuration file for OpenVPN.
+# Not all options are listed here; you can find good documentation
+# about all of the options in OpenVPN's manual page - openvpn(8).
+#
+# You can make a P-t-P connection by creating a shared key,
+# copying this key to other hosts in your network, and changing
+# the IP addresses in this file.
+#
+# Commented options are provided for some typical configurations
+
+# Change the "search" path to /etc/openvpn
+# All files referenced in this configuration will be relative to
+# whatever directory is specified here - we default to /etc/openvpn
+cd /etc/openvpn
+
+# If running as a server, which local IP address should OpenVPN
+# listen on? Specify this as either a hostname or IP address. If
+# this is left blank, OpenVPN will default to listening on all
+# interfaces.
+#local a.b.c.d
+
+# This option defines the IP or DNS name of the other side of your VPN
+# connection. This option is needed if you are making client or P-t-P
+# connections. If you are the server, use "local" instead. This may
+# be specified as a domain name or IP address.
+#remote vpn.server.org
+
+# This option defins the protocol to use. Valid options are:
+# udp, tcp-server, or tcp-client. Default is udp, and generally
+# speaking, tcp is a bad idea.
+proto udp
+
+# This option defines the port on which your server will be listening
+# or trying to connect. The default is 1194
+port 1194
+
+# This option defines whether to use LZO compression.
+# If enabled, it must be enabled at both ends of the VPN connection.
+#comp-lzo
+
+# Debug level (default 1)
+#verb 3
+
+# VPN logfile location
+# If you don't specify a location here, logging will be done through
+# syslogd and write to /var/log/messages
+log-append /var/log/openvpn.log
+
+# If you want to use OpenVPN as a daemon, uncomment this line.
+# Generally speaking, servers should run OpenVPN as a daemon
+# and clients should not.
+#daemon
+
+# Device type to use, you can choose between tun or tap.
+# TUN is the most common option. If you have multiple connections,
+# it is a good idea to bind each connection to a separate TUN/TAP
+# interface using tunX/tapX, where X is the number of each interface.
+dev tun
+
+# This option prevents OpenVPN from closing and re-opening the tun/tap
+# device every time it receives a SIGUSR1 signal
+#persist-tun
+
+# This is similar to the previous option, but it prevents OpenVPN from
+# re-reading the key files every time
+#persist-key
+
+# If you are using a client-server architecture, you need to specify the
+# role of your computer in your VPN network. To use one of these options,
+# you need to configure TLS options too.
+#
+# To use the "server" option, you must specify a network subnet such
+# as 172.16.1.0 255.255.255.0. The first number is the network, the
+# second is the netmask. OpenVPN will take the first available IP
+# for itself (in our example, 172.16.1.1) and the rest will be
+# given to connecting clients dynamically.
+#
+# Leave these commented out if you are using OpenVPN in bridging mode.
+#
+#server 10.1.2.0 255.255.255.0
+#client
+
+# This option defines a file with IP address to client mapping.
+# This is useful in general, and necessary if clients use persist-tun.
+#ifconfig-pool-persist ips.txt
+
+# Enable this option if you want clients connected to this VPN to be
+# able to talk directly to each other
+#client-to-client
+
+# This option defines the directory in which configuration files for clients
+# will reside. With individual files you can make each client get different
+# options using "push" parameters
+#client-config-dir ccd
+
+# If you are using P-t-P, you need to specify the IP addresses at both ends
+# of your VPN connection. The IP addresses are reversed at the other side.
+#
+# You can use this to specify client IP addresses in ccd files (on server)
+# or directly in client configuration
+#ifconfig 10.1.2.1 10.1.2.2
+
+# You can set routes to specific networks. In the sample below, "vpn_gateway"
+# is an internal OpenVPN alias to your VPN gateway - leave it as is.
+# This will enable you to talk with the networks behind your VPN server.
+# Multiple routes can be specified.
+#
+# +------------+ <eth>-<tun> <tun>-<eth> +------------+
+# | Network1 |---| VPN1 |--[10.1.2.0/24]--| VPN2 |---| Network2 |
+# +------------+ +------+ +------+ +------------+
+# 192.168.0.0/24 192.168.2.0/24
+#
+# The sample below shows how VPN1 server can reach Network2
+#route 192.168.2.0 255.255.255.0 vpn_gateway
+
+# You can send clients many network configuration options using the
+# "push" directive and sending commands.
+# Multiple "push" directives can be used. You should only put global
+# "push" directives here. You can "push" different options to
+# different clients in per-client configuration files. See
+# "client-config-dir" above.
+#
+# Using the same network configuration that you see above, the route statment
+# here allows VPN2 to reach Network1
+#push "route-delay 2 600"
+#push "route 192.168.2.0 255.255.255.0 vpn_gateway"
+#push "persist-key"
+
+# This option sets the encryption algorithm to use in the VPN connection.
+# Available options are:
+# DES-CBC, RC2-CBC, DES-EDE-CBC, DES-EDE3-CBC,
+# DESX-CBC, BF-CBC, RC2-40-CBC, CAST5-CBC,
+# RC2-64-CBC, AES-128-CBC, AES-192-CBC and AES-256-CBC
+cipher BF-CBC
+
+# Shared Key Connection
+# ---------------------
+# Secret is one shared key between the hosts that want to connect through VPNs.
+# Without secret or TLS options, your data will not be encrypted.
+#
+# To generate an encryption key do:
+# openvpn --genkey --secret /etc/openvpn/keys/shared.key
+#
+# Do the above on one host and copy it to the others
+secret keys/shared.key
+
+# TLS Connections
+# ---------------
+# TLS must be used if you use option "server" or "client"
+# The basic idea there is: You have one Certificate Authority, and all
+# machines in your VPN network need to have individual certificates and
+# keys signed by Certificate Authority. This means each client can
+# have its own key, making it easier to revoke a key without copying
+# a shared secret key to every client.
+#
+# Inside the /usr/doc/openvpn-$VERSION documentation directory, you can
+# find "easy-rsa" scripts to make certificate and key management easier.
+
+# Certificate Authority file
+# This file must be identical on all hosts that connect to your VPN
+#ca certs/ca.crt
+
+# If you are the server, you need to specify some Diffie Hellman parameters.
+# OpenVPN provides some sample .pem files in documentation directory
+#dh my-dh.pem
+
+# Certificate and Key signed by Certificate Authority
+# Each machine needs to have their own unique certificate
+#cert certs/machine.cert
+#key keys/machine.key
+
+# To prevent some DoS attacks we can add another authentication layer in the
+# TLS control channel. This needs to be enabled at both ends to work
+# client uses the value 1; server uses the value 0
+#tls-auth keys/shared.key 0
+
diff --git a/patches/source/patch/0001-Refuse-to-apply-ed-scripts-by-default.patch b/patches/source/patch/0001-Refuse-to-apply-ed-scripts-by-default.patch
new file mode 100644
index 00000000..46d9fcf5
--- /dev/null
+++ b/patches/source/patch/0001-Refuse-to-apply-ed-scripts-by-default.patch
@@ -0,0 +1,79 @@
+From 5046e5605cf7420d9a11de49bd9fe4851a4ca1d2 Mon Sep 17 00:00:00 2001
+From: Saleem Rashid <dev@saleemrashid.com>
+Date: Thu, 5 Apr 2018 22:48:25 +0100
+Subject: [PATCH] Refuse to apply ed scripts by default
+
+* src/patch.c, src/pch.c: Warn that ed scripts are potentially
+dangerous, unless patch is invoked with --force
+
+This fixes an issue where ed scripts could be included in a patch, executing
+arbitrary shell commands without the user's knowledge.
+
+Original bug report:
+https://savannah.gnu.org/bugs/index.php?53566
+---
+ src/patch.c | 13 +++++++++++--
+ src/pch.c | 11 +++++++++++
+ 6 files changed, 62 insertions(+), 5 deletions(-)
+
+diff --git a/src/patch.c b/src/patch.c
+index 0fe6d72..e14a9c4 100644
+--- a/src/patch.c
++++ b/src/patch.c
+@@ -781,7 +781,7 @@ static char const *const option_help[] =
+ " -l --ignore-whitespace Ignore white space changes between patch and input.",
+ "",
+ " -c --context Interpret the patch as a context difference.",
+-" -e --ed Interpret the patch as an ed script.",
++" -e --ed Interpret the patch as a potentially dangerous ed script. This could allow arbitrary command execution!",
+ " -n --normal Interpret the patch as a normal difference.",
+ " -u --unified Interpret the patch as a unified difference.",
+ "",
+@@ -825,7 +825,7 @@ static char const *const option_help[] =
+ "Miscellaneous options:",
+ "",
+ " -t --batch Ask no questions; skip bad-Prereq patches; assume reversed.",
+-" -f --force Like -t, but ignore bad-Prereq patches, and assume unreversed.",
++" -f --force Like -t, but ignore bad-Prereq patches, apply potentially dangerous ed scripts, and assume unreversed.",
+ " -s --quiet --silent Work silently unless an error occurs.",
+ " --verbose Output extra information about the work being done.",
+ " --dry-run Do not actually change any files; just print what would happen.",
+@@ -1068,6 +1068,15 @@ get_some_switches (void)
+ }
+ }
+
++ if (! force && diff_type == ED_DIFF)
++ {
++ ask ("Apply potentially dangerous ed script? This could allow arbitrary command execution! [n] ");
++ if (*buf != 'y')
++ {
++ fatal ("Refusing to apply potentially dangerous ed script.");
++ }
++ }
++
+ /* Process any filename args. */
+ if (optind < Argc)
+ {
+diff --git a/src/pch.c b/src/pch.c
+index bc6278c..ab34dd4 100644
+--- a/src/pch.c
++++ b/src/pch.c
+@@ -1001,6 +1001,17 @@ intuit_diff_type (bool need_header, mode_t *p_file_type)
+ instat = st[i];
+ }
+
++ if (! force && retval == ED_DIFF)
++ {
++ ask ("Apply potentially dangerous ed script? This could allow arbitrary command execution! [n] ");
++ if (*buf != 'y')
++ {
++ if (verbosity != SILENT)
++ say ("Skipping potentially dangerous ed script.\n");
++ skip_rest_of_patch = true;
++ }
++ }
++
+ return retval;
+ }
+
+
diff --git a/patches/source/patch/patch.SlackBuild b/patches/source/patch/patch.SlackBuild
new file mode 100755
index 00000000..2e0a7bec
--- /dev/null
+++ b/patches/source/patch/patch.SlackBuild
@@ -0,0 +1,119 @@
+#!/bin/sh
+
+# Copyright 2005-2009, 2010, 2012, 2015 Patrick J. Volkerding, Sebeka, Minnesota, USA
+# All rights reserved.
+#
+# Redistribution and use of this script, with or without modification, is
+# permitted provided that the following conditions are met:
+#
+# 1. Redistributions of this script must retain the above copyright
+# notice, this list of conditions and the following disclaimer.
+#
+# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED
+# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
+# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
+# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+PKGNAM=patch
+VERSION=${VERSION:-$(echo $PKGNAM-*.tar.xz | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
+BUILD=${BUILD:-2_slack13.0}
+
+# Automatically determine the architecture we're building on:
+if [ -z "$ARCH" ]; then
+ case "$( uname -m )" in
+ i?86) export ARCH=i486 ;;
+ arm*) export ARCH=arm ;;
+ # Unless $ARCH is already set, use uname -m for all other archs:
+ *) export ARCH=$( uname -m ) ;;
+ esac
+fi
+
+CWD=$(pwd)
+TMP=${TMP:-/tmp}
+PKG=$TMP/package-patch
+
+rm -rf $PKG
+mkdir -p $TMP $PKG
+
+if [ "$ARCH" = "i486" ]; then
+ SLKCFLAGS="-O2 -march=i486 -mtune=i686"
+elif [ "$ARCH" = "s390" ]; then
+ SLKCFLAGS="-O2"
+elif [ "$ARCH" = "x86_64" ]; then
+ SLKCFLAGS="-O2 -fPIC"
+else
+ SLKCFLAGS="-O2"
+fi
+
+cd $TMP
+rm -rf patch-${VERSION}
+tar xvf $CWD/patch-${VERSION}.tar.xz || exit 1
+cd patch-${VERSION} || exit 1
+
+chown -R root:root .
+find . \
+ \( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \
+ -exec chmod 755 {} \; -o \
+ \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \
+ -exec chmod 644 {} \;
+
+CFLAGS="$SLKCFLAGS" \
+./configure \
+ --prefix=/usr \
+ --mandir=/usr/man \
+ --build=$ARCH-slackware-linux
+
+# Patch CVE-2018-1000156, arbitrary shell command execution by (obsolete)
+# ed patch format:
+zcat $CWD/0001-Refuse-to-apply-ed-scripts-by-default.patch.gz | patch -p1 --verbose || exit 1
+
+make -j4 || make || exit 1
+make install DESTDIR=$PKG
+
+# Strip everything for good measure:
+( cd $PKG
+ find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
+ find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
+)
+
+# Compress and if needed symlink the man pages:
+if [ -d $PKG/usr/man ]; then
+ ( cd $PKG/usr/man
+ for manpagedir in $(find . -type d -name "man*") ; do
+ ( cd $manpagedir
+ for eachpage in $( find . -type l -maxdepth 1) ; do
+ ln -s $( readlink $eachpage ).gz $eachpage.gz
+ rm $eachpage
+ done
+ gzip -9 *.?
+ )
+ done
+ )
+fi
+
+mkdir -p $PKG/usr/doc/patch-${VERSION}
+cp -a \
+ AUTHORS COPYING* NEWS README* \
+ $PKG/usr/doc/patch-${VERSION}
+
+# If there's a ChangeLog, installing at least part of the recent history
+# is useful, but don't let it get totally out of control:
+if [ -r ChangeLog ]; then
+ DOCSDIR=$(echo $PKG/usr/doc/*-$VERSION)
+ cat ChangeLog | head -n 1000 > $DOCSDIR/ChangeLog
+ touch -r ChangeLog $DOCSDIR/ChangeLog
+fi
+
+mkdir -p $PKG/install
+cat $CWD/slack-desc > $PKG/install/slack-desc
+
+# Build the package:
+cd $PKG
+makepkg -l y -c n $TMP/patch-$VERSION-$ARCH-$BUILD.txz
+
diff --git a/patches/source/patch/slack-desc b/patches/source/patch/slack-desc
new file mode 100644
index 00000000..5ddba89b
--- /dev/null
+++ b/patches/source/patch/slack-desc
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|'
+# on the right side marks the last column you can put a character in. You must
+# make exactly 11 lines for the formatting to be correct. It's also
+# customary to leave one space after the ':'.
+
+ |-----handy-ruler------------------------------------------------------|
+patch: patch (apply a diff file to an original file or files)
+patch:
+patch: Patch is a utility used to apply diffs (or patches) to files, which
+patch: are usually source code.
+patch:
+patch: Larry Wall wrote the original version of patch. Paul Eggert removed
+patch: patch's arbitrary limits; added support for binary files, setting
+patch: file times, and deleting files; and made it conform better to POSIX.
+patch: Other contributors include Wayne Davison, who added unidiff support,
+patch: and David MacKenzie, who added configuration and backup support.
+patch:
diff --git a/patches/source/php/doinst.sh b/patches/source/php/doinst.sh
new file mode 100644
index 00000000..eda8b0de
--- /dev/null
+++ b/patches/source/php/doinst.sh
@@ -0,0 +1,8 @@
+if [ ! -r etc/httpd/mod_php.conf ]; then
+ cp -a etc/httpd/mod_php.conf.example etc/httpd/mod_php.conf
+elif [ "`cat etc/httpd/mod_php.conf 2> /dev/null`" = "" ]; then
+ cp -a etc/httpd/mod_php.conf.example etc/httpd/mod_php.conf
+fi
+if [ ! -r etc/httpd/php.ini ]; then
+ cp -a etc/httpd/php.ini-production etc/httpd/php.ini
+fi
diff --git a/patches/source/php/fetch-php.sh b/patches/source/php/fetch-php.sh
new file mode 100755
index 00000000..8786664d
--- /dev/null
+++ b/patches/source/php/fetch-php.sh
@@ -0,0 +1 @@
+lftpget http://us.php.net/distributions/php-5.3.29.tar.bz2
diff --git a/patches/source/php/mod_php.conf.example b/patches/source/php/mod_php.conf.example
new file mode 100644
index 00000000..670eb713
--- /dev/null
+++ b/patches/source/php/mod_php.conf.example
@@ -0,0 +1,29 @@
+#
+# mod_php - PHP Hypertext Preprocessor module
+#
+
+# Load the PHP module:
+LoadModule php5_module lib/httpd/modules/libphp5.so
+
+# Tell Apache to feed all *.php files through PHP. If you'd like to
+# parse PHP embedded in files with different extensions, comment out
+# these lines and see the example below.
+<FilesMatch \.php$>
+ SetHandler application/x-httpd-php
+</FilesMatch>
+
+# Tell Apache to feed all *.php, *.html, and *.htm files through
+# the PHP module. Add or subtract extensions here as desired. Please
+# note that running pages through PHP for no reason can be both slow
+# and insecure, so be sure to know what you're doing. It's a convenient
+# shortcut, but probably isn't suitible for high-traffic sites if you
+# write any of your pages in straight HTML.
+#<FilesMatch "\.(php|html|htm)$">
+# SetHandler application/x-httpd-php
+#</FilesMatch>
+
+# This will display PHP files in colored syntax form. Use with caution.
+#<FilesMatch "\.phps$">
+# SetHandler application/x-httpd-php-source
+#</FilesMatch>
+
diff --git a/patches/source/php/php.SlackBuild b/patches/source/php/php.SlackBuild
new file mode 100755
index 00000000..1fb7a7de
--- /dev/null
+++ b/patches/source/php/php.SlackBuild
@@ -0,0 +1,301 @@
+#!/bin/sh
+
+# Build and package mod_php on Slackware.
+# by: David Cantrell <david@slackware.com>
+# Modified for PHP 4-5 by volkerdi@slackware.com
+# Copyright 2007, 2008, 2009, 2010, 2011, 2012 Patrick Volkerding, Sebeka, MN, USA
+# All rights reserved.
+#
+# Redistribution and use of this script, with or without modification, is
+# permitted provided that the following conditions are met:
+#
+# 1. Redistributions of this script must retain the above copyright
+# notice, this list of conditions and the following disclaimer.
+#
+# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED
+# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
+# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
+# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+VERSION=${VERSION:-$(echo php-*.tar.xz | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
+ALPINE=2.00
+BUILD=${BUILD:-1_slack13.0}
+
+# Automatically determine the architecture we're building on:
+if [ -z "$ARCH" ]; then
+ case "$( uname -m )" in
+ i?86) export ARCH=i486 ;;
+ arm*) export ARCH=arm ;;
+ # Unless $ARCH is already set, use uname -m for all other archs:
+ *) export ARCH=$( uname -m ) ;;
+ esac
+fi
+
+NUMJOBS=${NUMJOBS:-" -j7 "}
+
+CWD=$(pwd)
+TMP=${TMP:-/tmp}
+PKG=$TMP/package-php/
+rm -rf $PKG
+mkdir -p $TMP $PKG
+
+if [ "$ARCH" = "i386" ]; then
+ SLKCFLAGS="-O2 -march=i386 -mcpu=i686"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "i486" ]; then
+ SLKCFLAGS="-O2 -march=i486 -mtune=i686"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "s390" ]; then
+ SLKCFLAGS="-O2"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "x86_64" ]; then
+ SLKCFLAGS="-O2 -fPIC"
+ LIBDIRSUFFIX="64"
+else
+ SLKCFLAGS="-O2"
+ LIBDIRSUFFIX=""
+fi
+
+# we need to compile alpine to get c-client.a for IMAP support:
+IMAPLIBDIR=/usr/local/lib${LIBDIRSUFFIX}/c-client
+if [ -r $IMAPLIBDIR/lib${LIBDIRSUFFIX}/c-client.a ]; then
+ echo "Using IMAP library:"
+ ls -l $IMAPLIBDIR/lib${LIBDIRSUFFIX}/c-client.a
+ sleep 5
+else
+ ( cd $CWD/../alpine ; ./alpine.SlackBuild || exit 1 ) || exit 1
+ ( cd $TMP/alpine-${ALPINE}/imap/c-client
+ strip -g c-client.a
+ mkdir -p $IMAPLIBDIR/lib${LIBDIRSUFFIX}
+ cp c-client.a $IMAPLIBDIR/lib${LIBDIRSUFFIX}
+ mkdir -p $IMAPLIBDIR/include
+ cp *.h $IMAPLIBDIR/include
+ )
+fi
+
+mkdir -p $PKG/etc/httpd
+mkdir -p $PKG/etc/php
+# A trick from DaMouse to enable building php into $PKG.
+# We'll remove this later on.
+cat /etc/httpd/original/httpd.conf > $PKG/etc/httpd/httpd.conf
+if [ ! -e /etc/httpd/original/httpd.conf ]; then
+ echo "FATAL: no /etc/httpd/original/httpd.conf found."
+ exit 1
+fi
+
+cd $TMP
+rm -rf php-$VERSION
+tar xvf $CWD/php-$VERSION.tar.?z* || exit 1
+cd php-$VERSION
+
+# cleanup:
+find . -name "*.orig" -delete
+
+# Add missing(?) PEAR modules back:
+if [ -d php-$VERSION/pear/packages ]; then
+ ( cd php-$VERSION/pear/packages
+ cp -a $CWD/pear/*.bz2 . 2> /dev/null
+ bzip2 -d *.bz2 2> /dev/null
+ )
+fi
+
+if [ "$ARCH" = "s390" ]; then
+ zcat $CWD/php.configure.s390.diff.gz | patch -p1 || exit
+fi
+
+# Fixup perms/owners:
+chown -R root:root .
+find . \
+ \( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \
+ -exec chmod 755 {} \; -o \
+ \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \
+ -exec chmod 644 {} \;
+
+find . -name "*.h" -exec chmod 644 {} \;
+
+# Sometimes they ship a few of these:
+find . -name "*.orig" -exec rm {} \;
+
+# Patch ini files:
+zcat $CWD/php.ini-development.diff.gz | patch -p1 --verbose || exit 1
+zcat $CWD/php.ini-development.diff.gz | patch -p1 --verbose php.ini-production || exit 1
+zcat $CWD/php.session.save_path.diff.gz | patch -p1 --verbose || exit 1
+
+# Generic "kitchen sink" configure function, with as many things as possible (and
+# maybe then some ;-) compiled as shared extensions:
+php_configure() {
+EXTENSION_DIR=/usr/lib${LIBDIRSUFFIX}/php/extensions \
+CFLAGS="$SLKCFLAGS" \
+./configure \
+ $* \
+ --prefix=/usr \
+ --libdir=/usr/lib${LIBDIRSUFFIX} \
+ --with-libdir=lib${LIBDIRSUFFIX} \
+ --sysconfdir=/etc \
+ --disable-safe-mode \
+ --disable-magic-quotes \
+ --enable-zend-multibyte \
+ --enable-mbregex \
+ --enable-tokenizer=shared \
+ --with-config-file-scan-dir=/etc/php \
+ --with-config-file-path=/etc/httpd \
+ --enable-mod_charset \
+ --with-layout=PHP \
+ --enable-sigchild \
+ --enable-xml \
+ --with-libxml-dir=/usr \
+ --enable-simplexml \
+ --enable-filter \
+ --disable-debug \
+ --with-openssl=shared \
+ --with-pcre-regex=/usr \
+ --with-zlib=shared,/usr \
+ --enable-bcmath=shared \
+ --with-bz2=shared,/usr \
+ --enable-calendar=shared \
+ --enable-ctype=shared \
+ --with-curl=shared \
+ --with-curlwrappers \
+ --with-mcrypt=/usr \
+ --enable-dba=shared \
+ --with-gdbm=/usr \
+ --with-db4=/usr \
+ --enable-exif=shared \
+ --enable-ftp=shared \
+ --with-gd=shared \
+ --with-jpeg-dir=/usr \
+ --with-png-dir=/usr \
+ --with-zlib-dir=/usr \
+ --with-xpm-dir=/usr \
+ --with-freetype-dir=/usr \
+ --with-t1lib=/usr \
+ --enable-gd-native-ttf \
+ --enable-gd-jis-conv \
+ --with-gettext=shared,/usr \
+ --with-gmp=shared,/usr \
+ --with-iconv=shared \
+ --with-imap-ssl=/usr \
+ --with-imap=$IMAPLIBDIR \
+ --with-ldap=shared \
+ --enable-mbstring=shared \
+ --enable-hash \
+ --with-mysql=shared,mysqlnd \
+ --with-mysqli=shared,mysqlnd \
+ --with-mysql-sock=/var/run/mysql/mysql.sock \
+ --enable-pdo=shared \
+ --with-pdo-mysql=shared,mysqlnd \
+ --with-pdo-sqlite=shared,/usr \
+ --with-pspell=shared,/usr \
+ --with-enchant=shared,/usr \
+ --with-mm=/usr \
+ --enable-shmop=shared \
+ --with-snmp=shared,/usr \
+ --enable-soap=shared \
+ --enable-sockets \
+ --with-sqlite=shared \
+ --with-sqlite3=shared \
+ --enable-sqlite-utf8 \
+ --with-regex=php \
+ --enable-sysvmsg \
+ --enable-sysvsem \
+ --enable-sysvshm \
+ --enable-wddx=shared \
+ --with-xsl=shared,/usr \
+ --enable-zip=shared \
+ --with-tsrm-pthreads \
+ --enable-shared=yes \
+ --enable-static=no \
+ --with-gnu-ld \
+ --with-pic \
+ --build=$ARCH-slackware-linux
+}
+
+# I am told this option is worse than nothing. :-)
+# --enable-safe-mode
+#
+# I would recommend *against* and will take no responbility for turning on
+# "safe" mode.
+
+# Make the Apache2 module version of PHP:
+php_configure \
+ --with-apxs2=/usr/sbin/apxs
+make $NUMJOBS || make || exit 1
+make install INSTALL_ROOT=$PKG || exit 1
+
+# Make the CLI/CGI version of PHP:
+make distclean
+php_configure \
+ --enable-pcntl \
+ --enable-sigchild
+make $NUMJOBS || make || exit 1
+mkdir -p $PKG/usr/bin
+cat ./sapi/cli/php > $PKG/usr/bin/php
+cat ./sapi/cgi/php-cgi > $PKG/usr/bin/php-cgi
+chmod 755 $PKG/usr/bin/php
+chmod 755 $PKG/usr/bin/php-cgi
+
+# PHP (used to) install Pear with some strange permissions.
+chmod 755 $PKG/usr/bin/pear
+
+# PHP sometimes puts junk in the root directory:
+( cd $PKG
+ rm -rf .channels .depdb .depdblock .filemap .lock .registry
+)
+
+# Fix $PKG/usr/lib/php perms:
+( cd $PKG/usr/lib${LIBDIRSUFFIX}/php
+ find . \
+ \( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \
+ -exec chmod 755 {} \; -o \
+ \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \
+ -exec chmod 644 {} \;
+)
+
+mkdir -p $PKG/usr/doc/php-$VERSION
+cp -a \
+ CODING_STANDARDS CREDITS EXTENSIONS INSTALL LICENSE NEWS README* TODO* UPGRADING* \
+ sapi/cgi/README.FastCGI \
+ $PKG/usr/doc/php-$VERSION
+chown -R root:root $PKG/usr/doc/php-$VERSION
+chmod 644 $PKG/usr/doc/php-$VERSION/UPGRADING*
+
+mkdir -p $PKG/etc/httpd
+cp -a php.ini-development php.ini-production $PKG/etc/httpd
+cat $CWD/mod_php.conf.example | sed -e "s#lib/httpd#lib${LIBDIRSUFFIX}/httpd#" \
+ > $PKG/etc/httpd/mod_php.conf.example
+chmod 644 $PKG/etc/httpd/*
+chown root:root $PKG/etc/httpd/*
+
+# This can go now.
+rm -f $PKG/etc/httpd/httpd*
+
+# Session directory for PHP:
+mkdir -p $PKG/var/lib/php
+chmod 770 $PKG/var/lib/php
+chown root:apache $PKG/var/lib/php
+
+# Strip ELF objects.
+find $PKG | xargs file | grep -e "executable" -e "shared object" | grep ELF \
+ | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
+
+gzip -9 $PKG/usr/man/man?/*.?
+
+mkdir -p $PKG/install
+zcat $CWD/doinst.sh.gz > $PKG/install/doinst.sh
+cat $CWD/slack-desc > $PKG/install/slack-desc
+
+#if [ -d "$IMAPLIBDIR" ]; then
+# ( cd $IMAPLIBDIR && rm -rf * )
+# rmdir $IMAPLIBDIR
+#fi
+
+cd $PKG
+/sbin/makepkg -l y -c n $TMP/php-$VERSION-$ARCH-$BUILD.txz
+
diff --git a/patches/source/php/php.ini-development.diff b/patches/source/php/php.ini-development.diff
new file mode 100644
index 00000000..49b441e6
--- /dev/null
+++ b/patches/source/php/php.ini-development.diff
@@ -0,0 +1,47 @@
+--- ./php.ini-development.orig 2011-02-08 18:25:44.000000000 -0600
++++ ./php.ini-development 2011-04-01 22:42:50.000000000 -0500
+@@ -938,6 +938,44 @@
+ ; If you only provide the name of the extension, PHP will look for it in its
+ ; default extension directory.
+ ;
++
++; These are the extensions that are available for use on this PHP build.
++; If you do NOT need any of these extensions, you should comment them out.
++; That will probably increase both your security and performance.
++
++extension=bcmath.so
++extension=bz2.so
++extension=calendar.so
++extension=ctype.so
++extension=curl.so
++extension=dba.so
++extension=enchant.so
++extension=exif.so
++extension=ftp.so
++extension=gd.so
++extension=gettext.so
++extension=gmp.so
++extension=iconv.so
++extension=ldap.so
++extension=mbstring.so
++extension=mysql.so
++extension=mysqli.so
++extension=openssl.so
++extension=pdo.so
++extension=pdo_mysql.so
++extension=pdo_sqlite.so
++extension=pspell.so
++extension=shmop.so
++extension=snmp.so
++extension=soap.so
++extension=sqlite.so
++extension=sqlite3.so
++extension=tokenizer.so
++extension=wddx.so
++extension=xsl.so
++extension=zip.so
++extension=zlib.so
++
+ ; Windows Extensions
+ ; Note that ODBC support is built in, so no dll is needed for it.
+ ; Note that many DLL files are located in the extensions/ (PHP 4) ext/ (PHP 5)
diff --git a/patches/source/php/php.session.save_path.diff b/patches/source/php/php.session.save_path.diff
new file mode 100644
index 00000000..60d6f072
--- /dev/null
+++ b/patches/source/php/php.session.save_path.diff
@@ -0,0 +1,22 @@
+--- ./php.ini-development.orig 2011-04-14 14:26:44.551000001 -0500
++++ ./php.ini-development 2011-04-14 14:38:48.591000954 -0500
+@@ -1506,7 +1506,7 @@
+ ; where MODE is the octal representation of the mode. Note that this
+ ; does not overwrite the process's umask.
+ ; http://php.net/session.save-path
+-;session.save_path = "/tmp"
++session.save_path = "/var/lib/php"
+
+ ; Whether to use cookies.
+ ; http://php.net/session.use-cookies
+--- ./php.ini-production.orig 2011-04-14 14:26:44.558000001 -0500
++++ ./php.ini-production 2011-04-14 14:39:09.598999155 -0500
+@@ -1513,7 +1513,7 @@
+ ; where MODE is the octal representation of the mode. Note that this
+ ; does not overwrite the process's umask.
+ ; http://php.net/session.save-path
+-;session.save_path = "/tmp"
++session.save_path = "/var/lib/php"
+
+ ; Whether to use cookies.
+ ; http://php.net/session.use-cookies
diff --git a/patches/source/php/slack-desc b/patches/source/php/slack-desc
new file mode 100644
index 00000000..fe14da6d
--- /dev/null
+++ b/patches/source/php/slack-desc
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|'
+# on the right side marks the last column you can put a character in. You must
+# make exactly 11 lines for the formatting to be correct. It's also
+# customary to leave one space after the ':'.
+
+ |-----handy-ruler------------------------------------------------------|
+php: php (HTML-embedded scripting language)
+php:
+php: PHP is an HTML-embedded scripting language. It shares syntax
+php: characteristics with C, Java, and Perl. The primary objective behind
+php: this language is to make a fast and easy-to-use scripting language
+php: for dynamic web sites.
+php:
+php: More information can be found online at http://www.php.net/
+php:
+php:
+php:
diff --git a/patches/source/pidgin/pidgin.SlackBuild b/patches/source/pidgin/pidgin.SlackBuild
new file mode 100755
index 00000000..3df32450
--- /dev/null
+++ b/patches/source/pidgin/pidgin.SlackBuild
@@ -0,0 +1,224 @@
+#!/bin/sh
+
+# Copyright 2006, 2007, 2008, 2009, 2010, 2011 Patrick J. Volkerding, Sebeka, MN, USA
+# All rights reserved.
+#
+# Redistribution and use of this script, with or without modification, is
+# permitted provided that the following conditions are met:
+#
+# 1. Redistributions of this script must retain the above copyright
+# notice, this list of conditions and the following disclaimer.
+#
+# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED
+# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
+# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
+# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+PKGNAM=pidgin
+VERSION=${VERSION:-$(echo $PKGNAM-2.*.tar.?z* | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
+PIDGINENC=${PIDGINENC:-3.1}
+BUILD=${BUILD:-1_slack13.0}
+
+# Automatically determine the architecture we're building on:
+if [ -z "$ARCH" ]; then
+ case "$( uname -m )" in
+ i?86) export ARCH=i486 ;;
+ arm*) export ARCH=arm ;;
+ # Unless $ARCH is already set, use uname -m for all other archs:
+ *) export ARCH=$( uname -m ) ;;
+ esac
+fi
+
+NUMJOBS=${NUMJOBS:-" -j6 "}
+
+CWD=$(pwd)
+TMP=${TMP:-/tmp}
+PKG=$TMP/package-${PKGNAM}
+rm -rf $PKG
+mkdir -p $TMP $PKG
+
+if [ "$ARCH" = "i486" ]; then
+ SLKCFLAGS="-O2 -march=i486 -mtune=i686"
+ LIBDIRSUFFIX=""
+ ARCHQUADLET=""
+elif [ "$ARCH" = "s390" ]; then
+ SLKCFLAGS="-O2"
+ LIBDIRSUFFIX=""
+ ARCHQUADLET=""
+elif [ "$ARCH" = "x86_64" ]; then
+ SLKCFLAGS="-O2 -fPIC"
+ LIBDIRSUFFIX="64"
+ ARCHQUADLET=""
+elif [ "$ARCH" = "arm" ]; then
+ SLKCFLAGS="-O2 -march=armv4t"
+ LIBDIRSUFFIX=""
+ ARCHQUADLET="-gnueabi"
+else
+ SLKCFLAGS="-O2"
+ LIBDIRSUFFIX=""
+ ARCHQUADLET=""
+fi
+
+cd $TMP
+rm -rf ${PKGNAM}-${VERSION}
+tar xvf $CWD/${PKGNAM}-$VERSION.tar.?z* || exit 1
+cd ${PKGNAM}-$VERSION || exit 1
+
+# Make sure ownerships and permissions are sane:
+chown -R root:root .
+find . \
+ \( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \
+ -exec chmod 755 {} \; -o \
+ \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \
+ -exec chmod 644 {} \;
+
+# Allow certificates signed with rsa-md5:
+zcat $CWD/purple-allow-sign-rsa-md5.patch.gz | patch -p0 --verbose || exit 1
+
+CFLAGS="$SLKCFLAGS" \
+CXXFLAGS="$SLKCFLAGS" \
+./configure \
+ --prefix=/usr \
+ --libdir=/usr/lib${LIBDIRSUFFIX} \
+ --sysconfdir=/etc \
+ --mandir=/usr/man \
+ --enable-dot=no \
+ --disable-schemas-install \
+ --enable-dbus \
+ --enable-gnutls=yes \
+ --enable-nss=no \
+ --disable-vv \
+ --enable-gtkspell \
+ --enable-cyrus-sasl \
+ --enable-perl \
+ --disable-meanwhile \
+ --disable-avahi \
+ --disable-nm \
+ --program-prefix= \
+ --program-suffix= \
+ --build=$ARCH-slackware-linux$ARCHQUADLET || exit 1
+
+# Fix install location:
+grep -lr -- "lib/perl" . | xargs sed -i 's?lib/perl?lib'"$LIBDIRSUFFIX"'/perl?g'
+
+# Build and install:
+make $NUMJOBS || make || exit 1
+make install DESTDIR=$PKG || exit 1
+
+# Fix misplaced items:
+eval $(perl '-V:archlib')
+eval $(perl '-V:privlib')
+VENDORPERL="$(echo $archlib | sed -e "s/perl5/perl5\/vendor_perl/")"
+
+mkdir -vpm755 $PKG/$VENDORPERL/
+find $PKG -type f -name perllocal.pod -exec mv -fv {} $PKG/$VENDORPERL/Pidgin.pod \;
+# Fix install location for 64bit:
+sed -i 's?/lib/perl?/lib'"$LIBDIRSUFFIX"'/perl?g' $PKG/$VENDORPERL/Pidgin.pod
+mkdir -p $PKG/usr/man/man3
+find $PKG/usr/share/man -type f -name *.3 -exec mv -fv {} $PKG/usr/man/man3 \;
+rm -rf $PKG/usr/share/man
+rm -r $PKG$privlib
+# This is empty:
+rmdir $PKG/usr/lib$LIBDIRSUFFIX/perl[0-9]*/$ARCH-linux-thread-multi/
+
+# In case of unwanted junk dirs on 64-bit... this may fail, but doesn't hurt:
+rmdir $PKG/usr/lib/perl[0-9]*/$ARCH-linux-thread-multi/
+rmdir $PKG/usr/lib/perl[0-9]*
+rmdir $PKG/usr/lib
+
+# This removes our DESTDIR from the packlist filenames, to keep perl's
+# internal inventories consistent and correct.
+find $PKG -name .packlist | while read plist ; do
+ sed -e "s%/share/man%/man%g" \
+ -e "s%$PKG%%g" \
+ -e "s%\.1$%\.1\.gz%g" \
+ -e "s%\.2$%\.2\.gz%g" \
+ -e "s%\.3$%\.3\.gz%g" \
+ -e "s%\.3pm$%\.3pm\.gz%g" \
+ -e "s%\.4$%\.4\.gz%g" \
+ -e "s%\.5$%\.5\.gz%g" \
+ -e "s%\.6$%\.6\.gz%g" \
+ -e "s%\.7$%\.7\.gz%g" \
+ -e "s%\.8$%\.8\.gz%g" \
+ ${plist} > ${plist}.new
+ mv -f ${plist}.new ${plist}
+done
+
+### add gaim-encryption
+( cd $TMP
+ rm -rf pidgin-encryption-$PIDGINENC
+ tar xvf $CWD/pidgin-encryption-$PIDGINENC.tar.gz || exit 1
+ cd pidgin-encryption-$PIDGINENC
+ PIDGIN_CFLAGS="-I${PKG}/usr/include/pidgin" \
+ PIDGIN_LIBS="-L${PKG}/usr/lib${LIBDIRSUFFIX}" \
+ PURPLE_CFLAGS="-I${PKG}/usr/include/libpurple" \
+ PURPLE_LIBS="-L${PKG}/usr/lib${LIBDIRSUFFIX}" \
+ ./configure \
+ --prefix=/usr \
+ --libdir=/usr/lib${LIBDIRSUFFIX} \
+ --disable-static \
+ --with-nss-includes=/usr/include/seamonkey/nss \
+ --with-nspr-includes=/usr/include/seamonkey/nspr \
+ --with-nss-libs=/usr/lib${LIBDIRSUFFIX}/seamonkey/ \
+ --with-nspr-libs=/usr/lib${LIBDIRSUFFIX}/seamonkey/ \
+ --program-prefix="" \
+ --program-suffix="" \
+ --build=$ARCH-slackware-linux$ARCHQUADLET || exit 1
+
+ # Fix install location:
+ grep -lr -- "lib/perl" . | xargs sed -i 's?lib/perl?lib'"$LIBDIRSUFFIX"'/perl?g'
+
+ make $NUMJOBS || make || exit 1
+ make install DESTDIR=$PKG || exit 1
+) || exit 1
+### end add gaim-encryption
+
+# Strip binaries:
+find $PKG | xargs file | grep -e "executable" -e "shared object" | grep ELF \
+ | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
+
+# Compress and link manpages, if any:
+if [ -d $PKG/usr/man ]; then
+ ( cd $PKG/usr/man
+ for manpagedir in $(find . -type d -name "man*") ; do
+ ( cd $manpagedir
+ for eachpage in $( find . -type l -maxdepth 1) ; do
+ ln -s $( readlink $eachpage ).gz $eachpage.gz
+ rm $eachpage
+ done
+ gzip -9 *.*
+ )
+ done
+ )
+fi
+
+# Compress info files, if any:
+if [ -d $PKG/usr/info ]; then
+ ( cd $PKG/usr/info
+ rm -f dir
+ gzip -9 *
+ )
+fi
+
+# Add a documentation directory:
+mkdir -p $PKG/usr/doc/${PKGNAM}-$VERSION
+cp -a \
+ AUTHORS COPYING COPYRIGHT HACKING INSTALL NEWS PLUGIN_HOWTO README* doc \
+ $PKG/usr/doc/${PKGNAM}-$VERSION
+( cd $PKG/usr/doc/${PKGNAM}-$VERSION/doc
+ rm -f Makefile* *.dox *.1 *.in
+)
+
+mkdir -p $PKG/install
+cat $CWD/slack-desc > $PKG/install/slack-desc
+
+cd $PKG
+/sbin/makepkg -l y -c n $TMP/${PKGNAM}-$VERSION-$ARCH-$BUILD.txz
+
diff --git a/patches/source/pidgin/purple-allow-sign-rsa-md5.patch b/patches/source/pidgin/purple-allow-sign-rsa-md5.patch
new file mode 100644
index 00000000..d882a6e8
--- /dev/null
+++ b/patches/source/pidgin/purple-allow-sign-rsa-md5.patch
@@ -0,0 +1,12 @@
+--- libpurple/plugins/ssl/ssl-gnutls.c.old 2008-10-17 18:58:31.000000000 +0200
++++ libpurple/plugins/ssl/ssl-gnutls.c 2008-10-17 18:53:03.000000000 +0200
+@@ -693,7 +693,8 @@
+ (Verisign and possibly others have
+ root certificates that predate the
+ current standard) */
+- GNUTLS_VERIFY_ALLOW_X509_V1_CA_CRT,
++ GNUTLS_VERIFY_ALLOW_X509_V1_CA_CRT
++ | GNUTLS_VERIFY_ALLOW_SIGN_RSA_MD5,
+ &verify);
+
+ if (ret != 0) {
diff --git a/patches/source/pidgin/slack-desc b/patches/source/pidgin/slack-desc
new file mode 100644
index 00000000..a9aabca1
--- /dev/null
+++ b/patches/source/pidgin/slack-desc
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|'
+# on the right side marks the last column you can put a character in. You must
+# make exactly 11 lines for the formatting to be correct. It's also
+# customary to leave one space after the ':'.
+
+ |-----handy-ruler------------------------------------------------------|
+pidgin: pidgin (GTK+ instant messaging program)
+pidgin:
+pidgin: Pidgin allows you to talk to anyone using a variety of messaging
+pidgin: protocols, including AIM (Oscar and TOC), ICQ, IRC, Yahoo!, MSN
+pidgin: Messenger, Jabber, Gadu-Gadu, Napster, and Zephyr. These protocols
+pidgin: are implemented using a modular, easy to use design. To use a
+pidgin: protocol, just load the plugin for it.
+pidgin:
+pidgin: For more info, see: http://www.pidgin.im
+pidgin:
+pidgin:
diff --git a/patches/source/poppler/poppler-0.10.7.CVE-2009-3603_3604_3605_3606_3608_3609.diff b/patches/source/poppler/poppler-0.10.7.CVE-2009-3603_3604_3605_3606_3608_3609.diff
new file mode 100644
index 00000000..ac9eda9c
--- /dev/null
+++ b/patches/source/poppler/poppler-0.10.7.CVE-2009-3603_3604_3605_3606_3608_3609.diff
@@ -0,0 +1,213 @@
+--- ./splash/SplashErrorCodes.h.orig 2009-05-02 07:14:56.000000000 -0500
++++ ./splash/SplashErrorCodes.h 2009-10-28 16:42:00.000000000 -0500
+@@ -41,6 +41,8 @@
+
+ #define splashErrSingularMatrix 8 // matrix is singular
+
++#define splashErrBadArg 9 // bad argument
++
+ #define splashErrZeroImage 9 // image of 0x0
+
+ #endif
+--- ./splash/SplashBitmap.cc.orig 2009-05-02 07:14:57.000000000 -0500
++++ ./splash/SplashBitmap.cc 2009-10-28 16:44:24.000000000 -0500
+@@ -26,6 +26,7 @@
+ #endif
+
+ #include <stdio.h>
++#include <limits.h>
+ #include "goo/gmem.h"
+ #include "SplashErrorCodes.h"
+ #include "SplashBitmap.h"
+@@ -42,33 +43,55 @@
+ mode = modeA;
+ switch (mode) {
+ case splashModeMono1:
+- rowSize = (width + 7) >> 3;
++ if (width > 0) {
++ rowSize = (width + 7) >> 3;
++ } else {
++ rowSize = -1;
++ }
+ break;
+ case splashModeMono8:
+- rowSize = width;
++ if (width > 0) {
++ rowSize = width;
++ } else {
++ rowSize = -1;
++ }
+ break;
+ case splashModeRGB8:
+ case splashModeBGR8:
+- rowSize = width * 3;
++ if (width > 0 && width <= INT_MAX / 3) {
++ rowSize = width * 3;
++ } else {
++ rowSize = -1;
++ }
+ break;
+ case splashModeXBGR8:
+- rowSize = width * 4;
++ if (width > 0 && width <= INT_MAX / 4) {
++ rowSize = width * 4;
++ } else {
++ rowSize = -1;
++ }
+ break;
+ #if SPLASH_CMYK
+ case splashModeCMYK8:
+- rowSize = width * 4;
++ if (width > 0 && width <= INT_MAX / 4) {
++ rowSize = width * 4;
++ } else {
++ rowSize = -1;
++ }
+ break;
+ #endif
+ }
+- rowSize += rowPad - 1;
+- rowSize -= rowSize % rowPad;
+- data = (SplashColorPtr)gmallocn(rowSize, height);
++ if (rowSize > 0) {
++ rowSize += rowPad - 1;
++ rowSize -= rowSize % rowPad;
++ }
++ data = (SplashColorPtr)gmallocn(height, rowSize);
+ if (!topDown) {
+ data += (height - 1) * rowSize;
+ rowSize = -rowSize;
+ }
+ if (alphaA) {
+- alpha = (Guchar *)gmalloc(width * height);
++ alpha = (Guchar *)gmallocn(width, height);
+ } else {
+ alpha = NULL;
+ }
+--- ./splash/Splash.cc.orig 2009-05-02 07:14:57.000000000 -0500
++++ ./splash/Splash.cc 2009-10-28 16:42:00.000000000 -0500
+@@ -27,6 +27,7 @@
+
+ #include <stdlib.h>
+ #include <string.h>
++#include <limits.h>
+ #include "goo/gmem.h"
+ #include "SplashErrorCodes.h"
+ #include "SplashMath.h"
+@@ -2001,7 +2002,10 @@
+ xq = w % scaledWidth;
+
+ // allocate pixel buffer
+- pixBuf = (SplashColorPtr)gmalloc((yp + 1) * w);
++ if (yp < 0 || yp > INT_MAX - 1) {
++ return splashErrBadArg;
++ }
++ pixBuf = (SplashColorPtr)gmallocn(yp + 1, w);
+
+ // initialize the pixel pipe
+ pipeInit(&pipe, 0, 0, state->fillPattern, NULL, state->fillAlpha,
+@@ -2301,9 +2305,12 @@
+ xq = w % scaledWidth;
+
+ // allocate pixel buffers
+- colorBuf = (SplashColorPtr)gmalloc((yp + 1) * w * nComps);
++ if (yp < 0 || yp > INT_MAX - 1 || w > INT_MAX / nComps) {
++ return splashErrBadArg;
++ }
++ colorBuf = (SplashColorPtr)gmallocn(yp + 1, w * nComps);
+ if (srcAlpha) {
+- alphaBuf = (Guchar *)gmalloc((yp + 1) * w);
++ alphaBuf = (Guchar *)gmallocn(yp + 1, w);
+ } else {
+ alphaBuf = NULL;
+ }
+--- ./poppler/XRef.cc.orig 2009-05-02 07:14:57.000000000 -0500
++++ ./poppler/XRef.cc 2009-10-28 16:42:00.000000000 -0500
+@@ -76,6 +76,8 @@
+ // generation 0.
+ ObjectStream(XRef *xref, int objStrNumA);
+
++ GBool isOk() { return ok; }
++
+ ~ObjectStream();
+
+ // Return the object number of this object stream.
+@@ -91,6 +93,7 @@
+ int nObjects; // number of objects in the stream
+ Object *objs; // the objects (length = nObjects)
+ int *objNums; // the object numbers (length = nObjects)
++ GBool ok;
+ };
+
+ ObjectStream::ObjectStream(XRef *xref, int objStrNumA) {
+@@ -104,6 +107,7 @@
+ nObjects = 0;
+ objs = NULL;
+ objNums = NULL;
++ ok = gFalse;
+
+ if (!xref->fetch(objStrNum, 0, &objStr)->isStream()) {
+ goto err1;
+@@ -134,6 +138,13 @@
+ goto err1;
+ }
+
++ // this is an arbitrary limit to avoid integer overflow problems
++ // in the 'new Object[nObjects]' call (Acrobat apparently limits
++ // object streams to 100-200 objects)
++ if (nObjects > 1000000) {
++ error(-1, "Too many objects in an object stream");
++ goto err1;
++ }
+ objs = new Object[nObjects];
+ objNums = (int *)gmallocn(nObjects, sizeof(int));
+ offsets = (int *)gmallocn(nObjects, sizeof(int));
+@@ -190,10 +201,10 @@
+ }
+
+ gfree(offsets);
++ ok = gTrue;
+
+ err1:
+ objStr.free();
+- return;
+ }
+
+ ObjectStream::~ObjectStream() {
+@@ -970,6 +981,11 @@
+ delete objStr;
+ }
+ objStr = new ObjectStream(this, e->offset);
++ if (!objStr->isOk()) {
++ delete objStr;
++ objStr = NULL;
++ goto err;
++ }
+ }
+ objStr->getObject(e->gen, num, obj);
+ break;
+--- ./poppler/PSOutputDev.cc.orig 2009-05-02 07:14:57.000000000 -0500
++++ ./poppler/PSOutputDev.cc 2009-10-28 16:42:00.000000000 -0500
+@@ -4502,7 +4502,8 @@
+ width, -height, height);
+
+ // allocate a line buffer
+- lineBuf = (Guchar *)gmalloc(4 * width);
++ lineBuf = (Guchar *)gmallocn(width, 4);
++
+
+ // set up to process the data stream
+ imgStr = new ImageStream(str, width, colorMap->getNumPixelComps(),
+--- ./poppler/Stream.cc.orig 2009-05-16 10:27:41.000000000 -0500
++++ ./poppler/Stream.cc 2009-10-28 16:42:00.000000000 -0500
+@@ -403,6 +403,10 @@
+ } else {
+ imgLineSize = nVals;
+ }
++ if (width > INT_MAX / nComps) {
++ // force a call to gmallocn(-1,...), which will throw an exception
++ imgLineSize = -1;
++ }
+ imgLine = (Guchar *)gmallocn(imgLineSize, sizeof(Guchar));
+ imgIdx = nVals;
+ }
diff --git a/patches/source/poppler/poppler-0.12.4-CVE-2010-3702.patch b/patches/source/poppler/poppler-0.12.4-CVE-2010-3702.patch
new file mode 100644
index 00000000..9875b5a5
--- /dev/null
+++ b/patches/source/poppler/poppler-0.12.4-CVE-2010-3702.patch
@@ -0,0 +1,18 @@
+--- poppler-0.12.4/poppler/Gfx.cc 2010-01-23 00:54:42.000000000 +0100
++++ poppler-0.12.4/poppler/Gfx.cc 2010-10-06 13:35:27.000000000 +0200
+@@ -518,6 +518,7 @@ Gfx::Gfx(XRef *xrefA, OutputDev *outA, i
+ drawText = gFalse;
+ maskHaveCSPattern = gFalse;
+ mcStack = NULL;
++ parser = NULL;
+
+ // start the resource stack
+ res = new GfxResources(xref, resDict, NULL);
+@@ -570,6 +571,7 @@ Gfx::Gfx(XRef *xrefA, OutputDev *outA, D
+ drawText = gFalse;
+ maskHaveCSPattern = gFalse;
+ mcStack = NULL;
++ parser = NULL;
+
+ // start the resource stack
+ res = new GfxResources(xref, resDict, NULL);
diff --git a/patches/source/poppler/poppler-0.12.4-CVE-2010-3703.patch b/patches/source/poppler/poppler-0.12.4-CVE-2010-3703.patch
new file mode 100644
index 00000000..565a45ba
--- /dev/null
+++ b/patches/source/poppler/poppler-0.12.4-CVE-2010-3703.patch
@@ -0,0 +1,10 @@
+--- poppler-0.12.4/poppler/Function.cc 2010-01-17 01:06:57.000000000 +0100
++++ poppler-0.12.4/poppler/Function.cc 2010-10-06 13:40:22.000000000 +0200
+@@ -1106,6 +1106,7 @@ PostScriptFunction::PostScriptFunction(O
+ code = NULL;
+ codeString = NULL;
+ codeSize = 0;
++ stack = NULL;
+ ok = gFalse;
+ cache = new PopplerCache(5);
+
diff --git a/patches/source/poppler/poppler-0.12.4-CVE-2010-3704.patch b/patches/source/poppler/poppler-0.12.4-CVE-2010-3704.patch
new file mode 100644
index 00000000..bfd5f41b
--- /dev/null
+++ b/patches/source/poppler/poppler-0.12.4-CVE-2010-3704.patch
@@ -0,0 +1,20 @@
+--- poppler-0.12.4/fofi/FoFiType1.cc 2010-01-17 01:06:57.000000000 +0100
++++ poppler-0.12.4/fofi/FoFiType1.cc 2010-10-06 13:37:39.000000000 +0200
+@@ -13,7 +13,7 @@
+ // All changes made under the Poppler project to this file are licensed
+ // under GPL version 2 or later
+ //
+-// Copyright (C) 2005, 2008 Albert Astals Cid <aacid@kde.org>
++// Copyright (C) 2005, 2008, 2010 Albert Astals Cid <aacid@kde.org>
+ // Copyright (C) 2005 Kristian Høgsberg <krh@redhat.com>
+ //
+ // To see a description of the changes please see the Changelog file that
+@@ -241,7 +242,7 @@ void FoFiType1::parse() {
+ code = code * 8 + (*p2 - '0');
+ }
+ }
+- if (code < 256) {
++ if (code < 256 && code >= 0) {
+ for (p = p2; *p == ' ' || *p == '\t'; ++p) ;
+ if (*p == '/') {
+ ++p;
diff --git a/patches/source/poppler/poppler.SlackBuild b/patches/source/poppler/poppler.SlackBuild
new file mode 100755
index 00000000..7fb3791d
--- /dev/null
+++ b/patches/source/poppler/poppler.SlackBuild
@@ -0,0 +1,120 @@
+#!/bin/sh
+
+# Copyright 2006, 2007, 2008, 2009 Patrick J. Volkerding, Sebeka, MN, USA
+# All rights reserved.
+#
+# Redistribution and use of this script, with or without modification, is
+# permitted provided that the following conditions are met:
+#
+# 1. Redistributions of this script must retain the above copyright
+# notice, this list of conditions and the following disclaimer.
+#
+# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED
+# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
+# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
+# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+PKGNAM=poppler
+VERSION=${VERSION:-0.10.7}
+BUILD=${BUILD:-3_slack13.0}
+
+# Automatically determine the architecture we're building on:
+if [ -z "$ARCH" ]; then
+ case "$( uname -m )" in
+ i?86) export ARCH=i486 ;;
+ arm*) export ARCH=arm ;;
+ # Unless $ARCH is already set, use uname -m for all other archs:
+ *) export ARCH=$( uname -m ) ;;
+ esac
+fi
+
+NUMJOBS=${NUMJOBS:-" -j7 "}
+
+if [ "$ARCH" = "i486" ]; then
+ SLKCFLAGS="-O2 -march=i486 -mtune=i686"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "s390" ]; then
+ SLKCFLAGS="-O2"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "x86_64" ]; then
+ SLKCFLAGS="-O2 -fPIC"
+ LIBDIRSUFFIX="64"
+fi
+
+CWD=$(pwd)
+TMP=${TMP:-/tmp}
+PKG=$TMP/package-${PKGNAM}
+rm -rf $PKG
+mkdir -p $TMP $PKG
+
+cd $TMP || exit 1
+rm -rf ${PKGNAM}-${VERSION}
+tar xvf $CWD/${PKGNAM}-$VERSION.tar.?z* || exit 1
+cd ${PKGNAM}-$VERSION || exit 1
+
+zcat $CWD/poppler-0.10.7.CVE-2009-3603_3604_3605_3606_3608_3609.diff.gz | patch -p1 --verbose || exit 1
+
+zcat $CWD/poppler-0.12.4-CVE-2010-3702.patch.gz | patch -p1 --verbose || exit 1
+# minor crash fix that does not apply to this poppler version:
+#zcat $CWD/poppler-0.12.4-CVE-2010-3703.patch.gz | patch -p1 --verbose || exit 1
+zcat $CWD/poppler-0.12.4-CVE-2010-3704.patch.gz | patch -p1 --verbose || exit 1
+
+chown -R root:root .
+find . \
+ \( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \
+ -exec chmod 755 {} \; -o \
+ \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \
+ -exec chmod 644 {} \;
+
+CFLAGS="$SLKCFLAGS" \
+./configure \
+ --prefix=/usr \
+ --libdir=/usr/lib${LIBDIRSUFFIX} \
+ --sysconfdir=/etc \
+ --enable-xpdf-headers \
+ --enable-poppler-qt4 \
+ --enable-cairo-output \
+ --mandir=/usr/man \
+ --disable-static \
+ --enable-zlib \
+ --build=$ARCH-slackware-linux
+
+make $NUMJOBS || make || exit 1
+make install DESTDIR=$PKG || exit 1
+
+find $PKG | xargs file | grep -e "executable" -e "shared object" | grep ELF \
+ | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
+
+if [ -d $PKG/usr/man ]; then
+ ( cd $PKG/usr/man
+ for manpagedir in $(find . -type d -name "man*") ; do
+ ( cd $manpagedir
+ for eachpage in $( find . -type l -maxdepth 1) ; do
+ ln -s $( readlink $eachpage ).gz $eachpage.gz
+ rm $eachpage
+ done
+ gzip -9 *.*
+ )
+ done
+ )
+fi
+
+mkdir -p $PKG/usr/doc/${PKGNAM}-$VERSION
+cp -a AUTHORS COPYING* INSTALL NEWS README README-XPDF TODO \
+ $PKG/usr/doc/${PKGNAM}-$VERSION
+( cd $PKG/usr/doc/${PKGNAM}-$VERSION
+ ln -s /usr/share/gtk-doc/html/poppler html )
+
+mkdir -p $PKG/install
+cat $CWD/slack-desc > $PKG/install/slack-desc
+
+cd $PKG
+/sbin/makepkg -l y -c n $TMP/${PKGNAM}-$VERSION-$ARCH-$BUILD.txz
+
diff --git a/patches/source/poppler/slack-desc b/patches/source/poppler/slack-desc
new file mode 100644
index 00000000..9d5891d8
--- /dev/null
+++ b/patches/source/poppler/slack-desc
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|'
+# on the right side marks the last column you can put a character in. You must
+# make exactly 11 lines for the formatting to be correct. It's also
+# customary to leave one space after the ':'.
+
+ |-----handy-ruler------------------------------------------------------|
+poppler: poppler (a library for rendering PDF documents)
+poppler:
+poppler: Poppler is a library based on the xpdf PDF viewer developed by Derek
+poppler: Noonburg of Glyph and Cog, LLC. Since xpdf does not provide a shared
+poppler: library, whenever a flaw was found potentially dozens of applications
+poppler: incorporating code from xpdf would have to be patched. By providing
+poppler: a centralized PDF library this duplicated effort will be eliminated.
+poppler:
+poppler:
+poppler:
+poppler:
diff --git a/patches/source/ppp/doinst.sh b/patches/source/ppp/doinst.sh
new file mode 100644
index 00000000..54facc41
--- /dev/null
+++ b/patches/source/ppp/doinst.sh
@@ -0,0 +1,21 @@
+#!/bin/sh
+config() {
+ NEW="$1"
+ OLD="`dirname $NEW`/`basename $NEW .new`"
+ # If there's no config file by that name, mv it over:
+ if [ ! -r $OLD ]; then
+ mv $NEW $OLD
+ elif [ "`cat $OLD | md5sum`" = "`cat $NEW | md5sum`" ]; then # toss the redundant copy
+ rm $NEW
+ fi
+ # Otherwise, we leave the .new copy for the admin to consider...
+}
+config etc/ppp/chap-secrets.new
+config etc/ppp/options.new
+config etc/ppp/pap-secrets.new
+
+config etc/radiusclient/issue.new
+config etc/radiusclient/radiusclient.conf.new
+config etc/radiusclient/realms.new
+config etc/radiusclient/servers.new
+
diff --git a/patches/source/ppp/options.new b/patches/source/ppp/options.new
new file mode 100644
index 00000000..2a028657
--- /dev/null
+++ b/patches/source/ppp/options.new
@@ -0,0 +1,276 @@
+# /etc/ppp/options
+#
+# $Id: options,v 1.4 1996/05/01 18:57:04 alvar Exp $
+#
+# Originally created by Jim Knoble <jmknoble@mercury.interpath.net>
+# Modified for Debian by alvar Bray <alvar@meiko.co.uk>
+# Modified for PPP Server setup by Christoph Lameter <clameter@debian.org>
+# Modified for Slackware by Pat Volkerding <volkerdi@slackware.com>
+#
+# Use the command egrep -v '#|^ *$' /etc/ppp/options to quickly see what
+# options are active in this file.
+
+# Specify which DNS Servers the incoming Win95 or WinNT Connection should use
+# Two Servers can be remotely configured
+# dns-addr 192.168.1.1
+# dns-addr 192.168.1.2
+
+# Specify which WINS Servers the incoming connection Win95 or WinNT should use
+# wins-addr 192.168.1.50
+# wins-addr 192.168.1.51
+
+# Run the executable or shell command specified after pppd has
+# terminated the link. This script could, for example, issue commands
+# to the modem to cause it to hang up if hardware modem control signals
+# were not available.
+#disconnect "chat -- \d+++\d\c OK ath0 OK"
+
+# async character map -- 32-bit hex; each bit is a character
+# that needs to be escaped for pppd to receive it. 0x00000001
+# represents '\x01', and 0x80000000 represents '\x1f'.
+asyncmap 0
+
+# Require the peer to authenticate itself before allowing network
+# packets to be sent or received.
+# For a PPP Server with script based logins not using PAP or CHAP
+# you need to disable this setting.
+#auth
+
+# Do not require the other end of the connection to authenticate itself.
+# This option is dangerous if pppd is setuid.
+# If you also have ethernet and are having problems getting PPP to connect
+# over a modem, try this option.
+#noauth
+
+# Use hardware flow control (i.e. RTS/CTS) to control the flow of data
+# on the serial port.
+crtscts
+
+# Use software flow control (i.e. XON/XOFF) to control the flow of data
+# on the serial port.
+#xonxoff
+
+# Specifies that certain characters should be escaped on transmission
+# (regardless of whether the peer requests them to be escaped with its
+# async control character map). The characters to be escaped are
+# specified as a list of hex numbers separated by commas. Note that
+# almost any character can be specified for the escape option, unlike
+# the asyncmap option which only allows control characters to be
+# specified. The characters which may not be escaped are those with hex
+# values 0x20 - 0x3f or 0x5e.
+#escape 11,13,ff
+
+# Don't use the modem control lines.
+#local
+
+# Specifies that pppd should use a UUCP-style lock on the serial device
+# to ensure exclusive access to the device.
+lock
+
+# Use the modem control lines. On Ultrix, this option implies hardware
+# flow control, as for the crtscts option. (This option is not fully
+# implemented.)
+modem
+
+# Set the MRU [Maximum Receive Unit] value to <n> for negotiation. pppd
+# will ask the peer to send packets of no more than <n> bytes. The
+# minimum MRU value is 128. The default MRU value is 1500. A value of
+# 296 is recommended for slow links (40 bytes for TCP/IP header + 256
+# bytes of data).
+#mru 542
+
+# Set the interface netmask to <n>, a 32 bit netmask in "decimal dot"
+# notation (e.g. 255.255.255.0).
+#netmask 255.255.255.0
+
+# Disables the default behaviour when no local IP address is specified,
+# which is to determine (if possible) the local IP address from the
+# hostname. With this option, the peer will have to supply the local IP
+# address during IPCP negotiation (unless it specified explicitly on the
+# command line or in an options file).
+#noipdefault
+
+# Enables the "passive" option in the LCP. With this option, pppd will
+# attempt to initiate a connection; if no reply is received from the
+# peer, pppd will then just wait passively for a valid LCP packet from
+# the peer (instead of exiting, as it does without this option).
+#passive
+
+# With this option, pppd will not transmit LCP packets to initiate a
+# connection until a valid LCP packet is received from the peer (as for
+# the "passive" option with old versions of pppd).
+#silent
+
+# Don't request or allow negotiation of any options for LCP and IPCP
+# (use default values).
+#-all
+
+# Disable Address/Control compression negotiation (use default, i.e.
+# address/control field disabled).
+#-ac
+
+# Disable asyncmap negotiation (use the default asyncmap, i.e. escape
+# all control characters).
+#-am
+
+# Don't fork to become a background process (otherwise pppd will do so
+# if a serial device is specified).
+#-detach
+
+# Disable IP address negotiation (with this option, the remote IP
+# address must be specified with an option on the command line or in an
+# options file).
+#-ip
+
+# Disable magic number negotiation. With this option, pppd cannot
+# detect a looped-back line.
+#-mn
+
+# Disable MRU [Maximum Receive Unit] negotiation (use default, i.e.
+# 1500).
+#-mru
+
+# Disable protocol field compression negotiation (use default, i.e.
+# protocol field compression disabled).
+#-pc
+
+# Require the peer to authenticate itself using PAP.
+#+pap
+
+# Don't agree to authenticate using PAP.
+#-pap
+
+# Require the peer to authenticate itself using CHAP [Cryptographic
+# Handshake Authentication Protocol] authentication.
+#+chap
+
+# Don't agree to authenticate using CHAP.
+#-chap
+
+# Disable negotiation of Van Jacobson style IP header compression (use
+# default, i.e. no compression).
+#-vj
+
+# Increase debugging level (same as -d). If this option is given, pppd
+# will log the contents of all control packets sent or received in a
+# readable form. The packets are logged through syslog with facility
+# daemon and level debug. This information can be directed to a file by
+# setting up /etc/syslog.conf appropriately (see syslog.conf(5)). (If
+# pppd is compiled with extra debugging enabled, it will log messages
+# using facility local2 instead of daemon).
+#debug
+
+# Append the domain name <d> to the local host name for authentication
+# purposes. For example, if gethostname() returns the name porsche,
+# but the fully qualified domain name is porsche.Quotron.COM, you would
+# use the domain option to set the domain name to Quotron.COM.
+#domain <d>
+
+# Enable debugging code in the kernel-level PPP driver. The argument n
+# is a number which is the sum of the following values: 1 to enable
+# general debug messages, 2 to request that the contents of received
+# packets be printed, and 4 to request that the contents of transmitted
+# packets be printed.
+#kdebug n
+
+# Set the MTU [Maximum Transmit Unit] value to <n>. Unless the peer
+# requests a smaller value via MRU negotiation, pppd will request that
+# the kernel networking code send data packets of no more than n bytes
+# through the PPP network interface.
+#mtu <n>
+
+# Enforce the use of the hostname as the name of the local system for
+# authentication purposes (overrides the name option).
+#usehostname
+
+# Set the assumed name of the remote system for authentication purposes
+# to <n>.
+#remotename <n>
+
+# Add an entry to this system's ARP [Address Resolution Protocol]
+# table with the IP address of the peer and the Ethernet address of this
+# system.
+proxyarp
+
+# Use the system password database for authenticating the peer using
+# PAP. Note: mgetty already provides this option. If this is specified
+# then dialin from users using a script under Linux to fire up ppp wont work.
+# login
+
+# If this option is given, pppd will send an LCP echo-request frame to
+# the peer every n seconds. Under Linux, the echo-request is sent when
+# no packets have been received from the peer for n seconds. Normally
+# the peer should respond to the echo-request by sending an echo-reply.
+# This option can be used with the lcp-echo-failure option to detect
+# that the peer is no longer connected.
+lcp-echo-interval 30
+
+# If this option is given, pppd will presume the peer to be dead if n
+# LCP echo-requests are sent without receiving a valid LCP echo-reply.
+# If this happens, pppd will terminate the connection. Use of this
+# option requires a non-zero value for the lcp-echo-interval parameter.
+# This option can be used to enable pppd to terminate after the physical
+# connection has been broken (e.g., the modem has hung up) in
+# situations where no hardware modem control lines are available.
+lcp-echo-failure 4
+
+# Set the LCP restart interval (retransmission timeout) to <n> seconds
+# (default 3).
+#lcp-restart <n>
+
+# Set the maximum number of LCP terminate-request transmissions to <n>
+# (default 3).
+#lcp-max-terminate <n>
+
+# Set the maximum number of LCP configure-request transmissions to <n>
+# (default 10).
+#lcp-max-configure <n>
+
+# Set the maximum number of LCP configure-NAKs returned before starting
+# to send configure-Rejects instead to <n> (default 10).
+#lcp-max-failure <n>
+
+# Set the IPCP restart interval (retransmission timeout) to <n>
+# seconds (default 3).
+#ipcp-restart <n>
+
+# Set the maximum number of IPCP terminate-request transmissions to <n>
+# (default 3).
+#ipcp-max-terminate <n>
+
+# Set the maximum number of IPCP configure-request transmissions to <n>
+# (default 10).
+#ipcp-max-configure <n>
+
+# Set the maximum number of IPCP configure-NAKs returned before starting
+# to send configure-Rejects instead to <n> (default 10).
+#ipcp-max-failure <n>
+
+# Set the PAP restart interval (retransmission timeout) to <n> seconds
+# (default 3).
+#pap-restart <n>
+
+# Set the maximum number of PAP authenticate-request transmissions to
+# <n> (default 10).
+#pap-max-authreq <n>
+
+# Set the CHAP restart interval (retransmission timeout for
+# challenges) to <n> seconds (default 3).
+#chap-restart <n>
+
+# Set the maximum number of CHAP challenge transmissions to <n>
+# (default 10).
+#chap-max-challenge
+
+# If this option is given, pppd will rechallenge the peer every <n>
+# seconds.
+#chap-interval <n>
+
+# With this option, pppd will accept the peer's idea of our local IP
+# address, even if the local IP address was specified in an option.
+#ipcp-accept-local
+
+# With this option, pppd will accept the peer's idea of its (remote) IP
+# address, even if the remote IP address was specified in an option.
+#ipcp-accept-remote
+
diff --git a/patches/source/ppp/ppp.CVE-2014-3158.diff b/patches/source/ppp/ppp.CVE-2014-3158.diff
new file mode 100644
index 00000000..500ca18e
--- /dev/null
+++ b/patches/source/ppp/ppp.CVE-2014-3158.diff
@@ -0,0 +1,30 @@
+diff --git a/pppd/options.c b/pppd/options.c
+index 45fa742..e9042d1 100644
+--- a/pppd/options.c
++++ b/pppd/options.c
+@@ -1289,9 +1289,10 @@ getword(f, word, newlinep, filename)
+ /*
+ * Store the resulting character for the escape sequence.
+ */
+- if (len < MAXWORDLEN-1)
++ if (len < MAXWORDLEN) {
+ word[len] = value;
+- ++len;
++ ++len;
++ }
+
+ if (!got)
+ c = getc(f);
+@@ -1329,9 +1330,10 @@ getword(f, word, newlinep, filename)
+ /*
+ * An ordinary character: store it in the word and get another.
+ */
+- if (len < MAXWORDLEN-1)
++ if (len < MAXWORDLEN) {
+ word[len] = c;
+- ++len;
++ ++len;
++ }
+
+ c = getc(f);
+ }
diff --git a/patches/source/ppp/ppp.CVE-2015-3310.diff b/patches/source/ppp/ppp.CVE-2015-3310.diff
new file mode 100644
index 00000000..ecf53ce4
--- /dev/null
+++ b/patches/source/ppp/ppp.CVE-2015-3310.diff
@@ -0,0 +1,11 @@
+--- ./pppd/plugins/radius/util.c.orig 2015-04-17 11:43:59.687374237 -0500
++++ ./pppd/plugins/radius/util.c 2015-04-17 11:45:12.612379499 -0500
+@@ -77,7 +77,7 @@
+ static unsigned short int cnt = 0;
+ sprintf (buf, "%08lX%04X%02hX",
+ (unsigned long int) time (NULL),
+- (unsigned int) getpid (),
++ (unsigned int) getpid () % 65535,
+ cnt & 0xFF);
+ cnt++;
+ return buf;
diff --git a/patches/source/ppp/ppp.SlackBuild b/patches/source/ppp/ppp.SlackBuild
new file mode 100755
index 00000000..538576a2
--- /dev/null
+++ b/patches/source/ppp/ppp.SlackBuild
@@ -0,0 +1,171 @@
+#!/bin/sh
+
+# Copyright 2008, 2009 Patrick J. Volkerding, Sebeka, MN, USA
+# All rights reserved.
+#
+# Redistribution and use of this script, with or without modification, is
+# permitted provided that the following conditions are met:
+#
+# 1. Redistributions of this script must retain the above copyright
+# notice, this list of conditions and the following disclaimer.
+#
+# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED
+# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
+# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
+# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+VERSION=2.4.4
+RADVER=0.3.2
+PPPVER=1.98
+BUILD=${BUILD:-2_slack13.0}
+
+# Automatically determine the architecture we're building on:
+if [ -z "$ARCH" ]; then
+ case "$( uname -m )" in
+ i?86) export ARCH=i486 ;;
+ arm*) export ARCH=arm ;;
+ # Unless $ARCH is already set, use uname -m for all other archs:
+ *) export ARCH=$( uname -m ) ;;
+ esac
+fi
+
+if [ "$ARCH" = "x86_64" ]; then
+ LIBDIRSUFFIX="64"
+else
+ LIBDIRSUFFIX=""
+fi
+
+NUMJOBS=${NUMJOBS:-" -j7 "}
+
+CWD=$(pwd)
+TMP=${TMP:-/tmp}
+PKG=$TMP/package-ppp
+
+rm -rf $PKG
+mkdir -p $TMP $PKG
+
+echo "+============+"
+echo "| ppp-$VERSION |"
+echo "+============+"
+cd $TMP
+rm -rf ppp-$VERSION
+tar xvf $CWD/ppp-$VERSION.tar.bz2 || exit 1
+cd ppp-$VERSION || exit 1
+chown -R root:root .
+find . \
+ \( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \
+ -exec chmod 755 {} \; -o \
+ \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \
+ -exec chmod 644 {} \;
+
+zcat $CWD/ppp.slack.diff.gz | patch -p1 --verbose --backup --suffix=.orig || exit
+sed -i -e "s#lib/pppd#lib${LIBDIRSUFFIX}/pppd#g" $(grep -lr 'lib/pppd' *)
+
+zcat $CWD/ppp.CVE-2014-3158.diff.gz | patch -p1 --verbose || exit 1
+zcat $CWD/ppp.CVE-2015-3310.diff.gz | patch -p1 --verbose || exit 1
+
+./configure \
+ --prefix=/usr \
+ --libdir=/usr/lib${LIBDIRSUFFIX}
+make $NUMJOBS || make || exit 1
+make install DESTDIR=$PKG/usr
+
+mv $PKG/usr/share/man $PKG/usr
+rmdir $PKG/usr/share
+
+# Install PPP config files:
+mkdir -p $PKG/etc/ppp
+cp -a etc.ppp/* $PKG/etc/ppp
+chmod 600 $PKG/etc/ppp/*secrets
+( cd $PKG/etc/ppp
+ mv chap-secrets chap-secrets.new
+ mv options options.new
+ mv pap-secrets pap-secrets.new
+)
+zcat $CWD/options.new.gz > $PKG/etc/ppp/options.new
+
+# Fix what seems like an insecure default setting.
+# Feel free to "chmod 4750 pppoatm.so rp-pppoe.so" at your own risk.
+# Since they are only runnable by group root, the risk really isn't much...
+chmod 755 $PKG/usr/lib${LIBDIRSUFFIX}/pppd/*/*.so
+
+mkdir -p $PKG/usr/doc/ppp-$VERSION
+cp -a \
+ FAQ PLUGINS README* SETUP scripts \
+ $PKG/usr/doc/ppp-$VERSION
+
+echo "+====================+"
+echo "| radiusclient-$RADVER |"
+echo "+====================+"
+cd $TMP
+rm -rf radiusclient-$RADVER
+tar xf $CWD/radiusclient-$RADVER.tar.bz2 || exit 1
+cd radiusclient-$RADVER || exit 1
+chown -R root:root .
+cp /usr/share/libtool/config.{guess,sub} .
+./configure \
+ --prefix=/usr \
+ --libdir=/usr/lib${LIBDIRSUFFIX} \
+ --sysconfdir=/etc
+make $NUMJOBS || make || exit 1
+make install DESTDIR=$PKG || exit 1
+zcat $CWD/radius.msdict.gz > $PKG/etc/radiusclient/dictionary.microsoft
+zcat $CWD/realms.gz > $PKG/etc/radiusclient/realms
+zcat $CWD/servers.gz > $PKG/etc/radiusclient/servers
+( cd $PKG/etc/radiusclient
+ chmod 600 realms servers
+ mv issue issue.new
+ mv radiusclient.conf radiusclient.conf.new
+ mv realms realms.new
+ mv servers servers.new
+)
+mkdir -p $PKG/usr/doc/radiusclient-$RADVER
+cp -a \
+ BUGS CHANGES COPYRIGHT README README.radexample doc/instop.html \
+ $PKG/usr/doc/radiusclient-$RADVER
+chmod 644 $PKG/usr/doc/radiusclient-$RADVER/*
+
+echo "+===============+"
+echo "| pppsetup-$PPPVER |"
+echo "+===============+"
+cd $TMP
+rm -rf pppsetup-$PPPVER
+tar xvf $CWD/pppsetup-$PPPVER.tar.gz || exit 1
+cd pppsetup-$PPPVER || exit 1
+chown -R root:root .
+zcat $CWD/pppsetup-1.98.slack.diff.gz | patch -p1 --backup || exit
+zcat $CWD/pppsetup-1.98.pppoff.diff.gz | patch -p0 --backup || exit
+zcat $CWD/pppsetup-1.98.moredevs.diff.gz | patch -p1 --backup || exit
+zcat $CWD/pppsetup-1.98.backupfiles.diff.gz | patch -p1 --backup || exit
+chmod 755 ppp-off pppsetup
+cp -a ppp-off pppsetup $PKG/usr/sbin
+mkdir -p $PKG/usr/doc/pppsetup
+cp -a \
+ README.pppsetup ppp-compile.txt pppsetup-$PPPVER.README pppsetup-$PPPVER.lsm \
+ $PKG/usr/doc/pppsetup
+
+( cd $PKG
+ find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
+ find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
+ find . -name "*.a" | xargs file | grep "ar archive" | cut -f 1 -d : | xargs strip -g 2> /dev/null
+)
+
+chmod 755 $PKG/usr/sbin/*
+
+gzip -9 $PKG/usr/man/man?/*.?
+chmod 644 $PKG/usr/man/man?/*
+
+mkdir -p $PKG/install
+zcat $CWD/doinst.sh.gz > $PKG/install/doinst.sh
+cat $CWD/slack-desc > $PKG/install/slack-desc
+
+# Build the package:
+cd $PKG
+/sbin/makepkg -l y -c n $TMP/ppp-$VERSION-$ARCH-$BUILD.txz
+
diff --git a/patches/source/ppp/ppp.slack.diff b/patches/source/ppp/ppp.slack.diff
new file mode 100644
index 00000000..dafd0d3e
--- /dev/null
+++ b/patches/source/ppp/ppp.slack.diff
@@ -0,0 +1,28 @@
+diff -r -u ppp-2.4.2.orig/pppd/Makefile.linux ppp-2.4.2/pppd/Makefile.linux
+--- ppp-2.4.2.orig/pppd/Makefile.linux 2003-11-27 13:55:19.000000000 -0800
++++ ppp-2.4.2/pppd/Makefile.linux 2004-02-22 21:36:11.000000000 -0800
+@@ -31,7 +31,7 @@
+
+ # CC = gcc
+ #
+-COPTS = -O2 -pipe -Wall -g
++COPTS = -O2 -pipe -Wall
+ LIBS =
+
+ # Uncomment the next 2 lines to include support for Microsoft's
+@@ -61,13 +61,13 @@
+
+ HAS_SHADOW=y
+ #USE_PAM=y
+-#HAVE_INET6=y
++HAVE_INET6=y
+
+ # Enable plugins
+ PLUGIN=y
+
+ # Enable Microsoft proprietary Callback Control Protocol
+-#CBCP=y
++CBCP=y
+
+ # Enable EAP SRP-SHA1 authentication (requires libsrp)
+ #USE_SRP=y
diff --git a/patches/source/ppp/pppsetup-1.98.backupfiles.diff b/patches/source/ppp/pppsetup-1.98.backupfiles.diff
new file mode 100644
index 00000000..6b364779
--- /dev/null
+++ b/patches/source/ppp/pppsetup-1.98.backupfiles.diff
@@ -0,0 +1,26 @@
+--- ./pppsetup.orig Sun May 19 19:01:29 2002
++++ ./pppsetup Sun May 19 19:06:07 2002
+@@ -861,10 +861,12 @@
+ echo "multi on" >> /etc/host.conf
+ fi
+
+-if [ ! -z $DOMAINNAME ]; then
++if [ ! -z $DOMAINNAME ]; then
++# backup file
++cp -a /etc/resolv.conf /etc/resolv.conf.$$ 2> /dev/null
+ echo "search $DOMAINNAME" > /etc/resolv.conf
+ else
+-rm -f /etc/resolv.conf 2>/dev/null
++rm -f /etc/resolv.conf 2>/dev/null
+ DOMAINNAME="unknown.com"
+ fi
+
+@@ -875,6 +877,8 @@
+ fi
+
+ if [ ! -s /etc/hosts ]; then
++# backup file
++cp -a /etc/hosts /etc/hosts.bak.$$ 2> /dev/null
+ echo "127.0.0.1 localhost" > /etc/hosts
+ if [ "$DOMAINNAME" = "unknown.com" ]; then
+ echo "0.0.0.0 `hostname 2>/dev/null`.localnet `hostname 2>/dev/null`" >> /etc/hosts
diff --git a/patches/source/ppp/pppsetup-1.98.moredevs.diff b/patches/source/ppp/pppsetup-1.98.moredevs.diff
new file mode 100644
index 00000000..6a11a3b5
--- /dev/null
+++ b/patches/source/ppp/pppsetup-1.98.moredevs.diff
@@ -0,0 +1,105 @@
+--- ./pppsetup.orig Sun May 19 18:41:04 2002
++++ ./pppsetup Sun May 19 18:52:49 2002
+@@ -1,15 +1,10 @@
+ #!/bin/bash
+-###############################################################################
+-#
+ # PPPSETUP -- Script to set up pppd
+ # History:
+ # 7/21/95 RSL Script created (v1.0)
+ # 9/15/96 RSL Added code to get the ISP's domainname (v1.1)
+ # 9/19/96 RSL Revamped interface to use the 'dialog'
+ # program. (v1.2)
+-###############################################################################
+-
+-###############################################################################
+ # 2/22/98 KR Added pap, chap, ms-chap, callback, &
+ # modem init string options. (v1.98)
+ # Creates /etc/ppp/options, & pap, chap,
+@@ -17,33 +12,21 @@
+ # More guidance.
+ # Monitor connection with tail & syslogd.
+ # Demand dialing setup with ppp-2.3.0 or later.
+-###############################################################################
+-
+-###############################################################################
+ # 4/4/98 PJV Fixed massive /tmp-related security problems
+ # Switched to a default init string that's more
+ # likely to work
+ # Increased TIMEOUTs
+ # fixed bad flags given to chat -- caused dialout
+ # to fail
+-###############################################################################
+-
+-###############################################################################
+ # 2/6/1999 PJV Changed all occurances of /dev/cua* to /dev/ttyS*
+-###############################################################################
+-
+-###############################################################################
+ # 5/3/1999 PJV Commented 'debug' in /etc/ppp/options
+ # Add commented 'noauth' in /etc/ppp/options so
+ # people who want to use ppp but already have a
+ # default route have an easier time figuring out
+ # what to do. :)
+-###############################################################################
+-
+-###############################################################################
+ # 6/18/2000 PJV Added code to check for "ppp-stop" and "ppp-on"
+ # symlinks, and make them if they don't exist.
+-###############################################################################
++# 5/19/2002 PJV Added support for more devices.
+
+ TMP=/var/log/setup/tmp
+
+@@ -137,25 +120,40 @@
+ done
+
+ echo "Where is your modem /dev/ttyS?" > $TMP/txtTEMP$$
+-dialog --backtitle "MODEM DEVICE ..." --menu "`cat $TMP/txtTEMP$$`" 11 50 4 \
++dialog --backtitle "MODEM DEVICE ..." --menu "`cat $TMP/txtTEMP$$`" 17 60 10 \
++modem "= use whatever /dev/modem is linked to" \
+ ttyS0 "= (COM1: under DOS)" \
+ ttyS1 "= (COM2: under DOS)" \
+ ttyS2 "= (COM3: under DOS)" \
+ ttyS3 "= (COM4: under DOS)" \
++ttyS4 "= PCI modem" \
++ttyS5 "= PCI modem" \
++ttyS6 "= PCI modem" \
++ttyS7 "= PCI modem" \
++ttyS8 "= PCI modem" \
++ttyS9 "= PCI modem" \
++ttyS10 "= PCI modem" \
++ttyS11 "= PCI modem" \
++ttyS12 "= PCI modem" \
++ttyS13 "= PCI modem" \
++ttyS14 "= PCI modem" \
++ttyS15 "= PCI modem" \
+ 2> $TMP/rspTEMP$$
+
+ MODEM="`cat $TMP/rspTEMP$$`"
+
+-if [ -z $MODEM ]; then
+-clear 2>/dev/null || echo
+-rm -f $TMP/*TEMP*
+-echo "PPP configuration cancelled."
+-exit
+-elif [ ! -c "/dev/$MODEM" ]; then
+-/dev/MAKEDEV $MODEM >/dev/null 2>&1 || MODERROR="YES"
+-else
+-rm -f /dev/modem 2>/dev/null
+-ln -sf /dev/$MODEM /dev/modem 2>/dev/null
++if [ ! "$MODEM" = "modem" ]; then
++ if [ -z $MODEM ]; then
++ clear 2>/dev/null || echo
++ rm -f $TMP/*TEMP*
++ echo "PPP configuration cancelled."
++ exit
++ elif [ ! -c "/dev/$MODEM" ]; then
++ /dev/MAKEDEV $MODEM >/dev/null 2>&1 || MODERROR="YES"
++ else
++ rm -f /dev/modem 2>/dev/null
++ ln -sf /dev/$MODEM /dev/modem 2>/dev/null
++ fi
+ fi
+
+ echo "What baud rate is your modem?" > $TMP/txtTEMP$$
diff --git a/patches/source/ppp/pppsetup-1.98.pppoff.diff b/patches/source/ppp/pppsetup-1.98.pppoff.diff
new file mode 100644
index 00000000..66b51ba7
--- /dev/null
+++ b/patches/source/ppp/pppsetup-1.98.pppoff.diff
@@ -0,0 +1,19 @@
+--- ppp-off.orig Fri Oct 20 17:43:50 2000
++++ ppp-off Fri Oct 20 17:46:32 2000
+@@ -21,14 +21,8 @@
+ # This just checks if demand dialing is running, if so it
+ # says Demand Dialing Stoped.
+
+-ps x 2>/dev/null > /tmp/grep.tmp
+-
+-if grep 2>/dev/null "options.demand" /tmp/grep.tmp >/dev/null
+-then
+-rm -f /tmp/grep.tmp
+-D="echo Demand Dialing Stoped."
+-else
+-rm -f /tmp/grep.tmp
++if ps x | fgrep "options.demand" 1> /dev/null 2> /dev/null ; then
++ D="echo Demand Dialing Stoped."
+ fi
+
+ #
diff --git a/patches/source/ppp/pppsetup-1.98.slack.diff b/patches/source/ppp/pppsetup-1.98.slack.diff
new file mode 100644
index 00000000..f081699c
--- /dev/null
+++ b/patches/source/ppp/pppsetup-1.98.slack.diff
@@ -0,0 +1,1709 @@
+--- ./pppsetup.orig Sun Feb 22 12:33:32 1998
++++ ./pppsetup Sun Jun 18 14:01:10 2000
+@@ -19,6 +19,34 @@
+ # Demand dialing setup with ppp-2.3.0 or later.
+ ###############################################################################
+
++###############################################################################
++# 4/4/98 PJV Fixed massive /tmp-related security problems
++# Switched to a default init string that's more
++# likely to work
++# Increased TIMEOUTs
++# fixed bad flags given to chat -- caused dialout
++# to fail
++###############################################################################
++
++###############################################################################
++# 2/6/1999 PJV Changed all occurances of /dev/cua* to /dev/ttyS*
++###############################################################################
++
++###############################################################################
++# 5/3/1999 PJV Commented 'debug' in /etc/ppp/options
++# Add commented 'noauth' in /etc/ppp/options so
++# people who want to use ppp but already have a
++# default route have an easier time figuring out
++# what to do. :)
++###############################################################################
++
++###############################################################################
++# 6/18/2000 PJV Added code to check for "ppp-stop" and "ppp-on"
++# symlinks, and make them if they don't exist.
++###############################################################################
++
++TMP=/var/log/setup/tmp
++
+ if [ ! "$UID" = "0" ]; then
+ echo
+ echo "NOTICE: * $LOGNAME * You need to be 'root' to run this script."
+@@ -43,81 +71,84 @@
+ exit 1
+ fi
+
+-if [ ! -d /tmp ]; then
+-mkdir /tmp
+-chmod 1777 /tmp
+-fi
+-
+ if [ -s /usr/lib/setup/hdsetup ]; then
+-SYS="on SLACKWARE ..."
++SYS="on SLACKWARE."
+ fi
+
+ VERSION="1.98"
+
+ stty erase ^? 2>/dev/null
+
+-echo "PPPSETUP $VERSION $SYS" > /tmp/txtTEMP01
+-echo >> /tmp/txtTEMP01
+-echo "Written by Robert S. Liesenfeld <xunil@bitstream.net> <IRC:Xunil>" >> /tmp/txtTEMP01
+-echo "Changes for 1.98 by Kent Robotti <robotti@erols.com>" >> /tmp/txtTEMP01
+-echo >> /tmp/txtTEMP01
+-echo "You should get these 'DOCS' if you don't already have them." >> /tmp/txtTEMP01
+-echo >> /tmp/txtTEMP01
+-echo 'ftp://sunsite.unc.edu/pub/Linux/docs/HOWTO "PPP-HOWTO"' >> /tmp/txtTEMP01
+-echo 'ftp://sunsite.unc.edu/pub/Linux/docs/faqs/PPP-FAQ "PPP-FAQ"' >> /tmp/txtTEMP01
+-echo >> /tmp/txtTEMP01
+-echo "Press [Enter] to continue with pppsetup..." >> /tmp/txtTEMP01
++if [ ! -r /usr/sbin/ppp-stop ]; then
++ ( cd /usr/sbin ; ln -sf ppp-off ppp-stop )
++fi
++if [ ! -r /usr/sbin/ppp-on ]; then
++ ( cd /usr/sbin ; ln -sf ppp-go ppp-on )
++fi
+
+-dialog --backtitle "PPPSETUP $VERSION ..." --textbox "/tmp/txtTEMP01" 15 70
++echo "PPPSETUP $VERSION $SYS" > $TMP/txtTEMP01
++echo >> $TMP/txtTEMP01
++echo "Written by Robert S. Liesenfeld <xunil@bitstream.net> <IRC:Xunil>" >> $TMP/txtTEMP01
++echo "Changes for 1.98 by Kent Robotti <robotti@erols.com>" >> $TMP/txtTEMP01
++echo "Patched for Slackware by Patrick Volkerding <volkerdi@slackware.com>" >> $TMP/txtTEMP01
++echo >> $TMP/txtTEMP01
++echo "You should get these docs if you don't already have them:" >> $TMP/txtTEMP01
++echo >> $TMP/txtTEMP01
++echo "ftp://metalab.unc.edu/pub/Linux/docs/howto/PPP-HOWTO" >> $TMP/txtTEMP01
++echo "ftp://metalab.unc.edu/pub/Linux/docs/faqs/PPP-FAQ" >> $TMP/txtTEMP01
++echo >> $TMP/txtTEMP01
++echo "Press [Enter] to continue with pppsetup..." >> $TMP/txtTEMP01
++
++dialog --backtitle "PPPSETUP $VERSION/Slackware" --textbox "$TMP/txtTEMP01" 16 73
+
+ while [ -z "$PHONENUM" ]
+ do
+-echo "To begin setting up your PPP connection, i need to know a few things." > /tmp/txtTEMP$$
+-echo "For starters, what is the phone number of your (I)nternet (S)ervice" >> /tmp/txtTEMP$$
+-echo "(P)rovider?" >> /tmp/txtTEMP$$
+-echo >> /tmp/txtTEMP$$
+-echo "Example: atdt6661776 <-For (t)one dialing.)" >> /tmp/txtTEMP$$
+-echo "Example: atdp6661776 <-For (p)ulse dialing.)" >> /tmp/txtTEMP$$
+-echo >> /tmp/txtTEMP$$
+-echo "Include the: atd? It's usally just: atdtphonenumber" >> /tmp/txtTEMP$$
+-echo >> /tmp/txtTEMP$$
+-echo "(Note: in the USA, use atdt*70,6661776 [comma required!] to turn" >> /tmp/txtTEMP$$
+-echo " off call waiting.)" >> /tmp/txtTEMP$$
+-echo >> /tmp/txtTEMP$$
++echo "To begin setting up your PPP connection, i need to know a few things." > $TMP/txtTEMP$$
++echo "For starters, what is the phone number of your (I)nternet (S)ervice" >> $TMP/txtTEMP$$
++echo "(P)rovider?" >> $TMP/txtTEMP$$
++echo >> $TMP/txtTEMP$$
++echo "Example: atdt6661776 <-For (t)one dialing.)" >> $TMP/txtTEMP$$
++echo "Example: atdp6661776 <-For (p)ulse dialing.)" >> $TMP/txtTEMP$$
++echo >> $TMP/txtTEMP$$
++echo "Include the: atd? It's usally just: atdtphonenumber" >> $TMP/txtTEMP$$
++echo >> $TMP/txtTEMP$$
++echo "(Note: in the USA, use atdt*70,6661776 [comma required!] to turn" >> $TMP/txtTEMP$$
++echo " off call waiting.)" >> $TMP/txtTEMP$$
++echo >> $TMP/txtTEMP$$
+
+-dialog --title "PHONE NUMBER ..." --inputbox "`cat /tmp/txtTEMP$$`" 18 75 2> /tmp/rspTEMP$$
++dialog --title "PHONE NUMBER ..." --inputbox "`cat $TMP/txtTEMP$$`" 18 75 2> $TMP/rspTEMP$$
+
+ if [ $? = 1 ]; then
+-rm -f /tmp/*TEMP*
++rm -f $TMP/*TEMP*
+ clear 2>/dev/null || echo
+ echo "PPP configuration cancelled."
+ exit
+ fi
+
+-PHONENUM="`cat /tmp/rspTEMP$$`"
++PHONENUM="`cat $TMP/rspTEMP$$`"
+
+ if [ -z "$PHONENUM" ]; then
+ clear 2>/dev/null || echo
+-rm -f /tmp/*TEMP*
++rm -f $TMP/*TEMP*
+ echo "PPP configuration cancelled."
+ echo "No phone number."
+ exit
+ fi
+ done
+
+-echo "Where is your modem /dev/cua?" > /tmp/txtTEMP$$
+-dialog --backtitle "MODEM DEVICE ..." --menu "`cat /tmp/txtTEMP$$`" 11 50 4 \
+-cua0 "= (COM1: under DOS)" \
+-cua1 "= (COM2: under DOS)" \
+-cua2 "= (COM3: under DOS)" \
+-cua3 "= (COM4: under DOS)" \
+-2> /tmp/rspTEMP$$
++echo "Where is your modem /dev/ttyS?" > $TMP/txtTEMP$$
++dialog --backtitle "MODEM DEVICE ..." --menu "`cat $TMP/txtTEMP$$`" 11 50 4 \
++ttyS0 "= (COM1: under DOS)" \
++ttyS1 "= (COM2: under DOS)" \
++ttyS2 "= (COM3: under DOS)" \
++ttyS3 "= (COM4: under DOS)" \
++2> $TMP/rspTEMP$$
+
+-MODEM="`cat /tmp/rspTEMP$$`"
++MODEM="`cat $TMP/rspTEMP$$`"
+
+ if [ -z $MODEM ]; then
+ clear 2>/dev/null || echo
+-rm -f /tmp/*TEMP*
++rm -f $TMP/*TEMP*
+ echo "PPP configuration cancelled."
+ exit
+ elif [ ! -c "/dev/$MODEM" ]; then
+@@ -127,139 +158,139 @@
+ ln -sf /dev/$MODEM /dev/modem 2>/dev/null
+ fi
+
+-echo "What baud rate is your modem?" > /tmp/txtTEMP$$
+-dialog --backtitle "MODEM BAUD RATE ..." --menu "`cat /tmp/txtTEMP$$`" 14 72 7 \
++echo "What baud rate is your modem?" > $TMP/txtTEMP$$
++dialog --backtitle "MODEM BAUD RATE ..." --menu "`cat $TMP/txtTEMP$$`" 14 72 7 \
+ 460800 "460KBps - ISDN modem..." \
+ 230400 "230KBps - 56Kbps modem... or ISDN modem..." \
+ 115200 "115KBps - 28.8, 33.6, or 56Kbps modem..." \
+ 57600 "57.6KBps - 28.8, 33.6, or 56Kbps modem..." \
+ 38400 "38.4KBps - Hangin ten on the net! 28.8 or 33.6..." \
+ 19200 "19.2KBps - Better known as 14.4..." \
+-9600 "9600bps - No comment..." 2> /tmp/rspTEMP$$
++9600 "9600bps - No comment..." 2> $TMP/rspTEMP$$
+
+-BAUDRATE="`cat /tmp/rspTEMP$$`"
++BAUDRATE="`cat $TMP/rspTEMP$$`"
+
+ if [ -z $BAUDRATE ]; then
+ clear 2>/dev/null || echo
+-rm -f /tmp/*TEMP*
++rm -f $TMP/*TEMP*
+ echo "PPP configuration cancelled."
+ exit
+ fi
+
+-echo "Does your service provider use CALLBACK?" > /tmp/txtTEMP$$
+-echo >> /tmp/txtTEMP$$
+-echo "CALLBACK is when you call your service provider and give them" >> /tmp/txtTEMP$$
+-echo "your phone number so they can call you back, then when they" >> /tmp/txtTEMP$$
+-echo "call you back you give them your login name and password." >> /tmp/txtTEMP$$
+-echo >> /tmp/txtTEMP$$
+-echo "Most service providers don't use CALLBACK, so the answer is" >> /tmp/txtTEMP$$
+-echo "probably No, unless you know otherwise." >> /tmp/txtTEMP$$
+-echo >> /tmp/txtTEMP$$
+-
+-dialog --backtitle "CALLBACK YES or NO? ..." --yesno "`cat /tmp/txtTEMP$$`" 13 70
+-
+-if [ $? = 0 ]; then
+-echo "Put your phone number in the box below, so your service provider" > /tmp/txtTEMP$$
+-echo "can call you back." >> /tmp/txtTEMP$$
+-echo >> /tmp/txtTEMP$$
+-echo "Example: 7771818" >> /tmp/txtTEMP$$
+-echo >> /tmp/txtTEMP$$
++echo "Does your service provider use CALLBACK?" > $TMP/txtTEMP$$
++echo >> $TMP/txtTEMP$$
++echo "CALLBACK is when you call your service provider and give them" >> $TMP/txtTEMP$$
++echo "your phone number so they can call you back, then when they" >> $TMP/txtTEMP$$
++echo "call you back you give them your login name and password." >> $TMP/txtTEMP$$
++echo >> $TMP/txtTEMP$$
++echo "Most service providers don't use CALLBACK, so the answer is" >> $TMP/txtTEMP$$
++echo "probably No, unless you know otherwise." >> $TMP/txtTEMP$$
++echo >> $TMP/txtTEMP$$
++
++dialog --backtitle "CALLBACK YES or NO? ..." --menu "`cat $TMP/txtTEMP$$`" 16 70 2 "NO" "Most Internet providers do not use callback" "YES" "Use callback support (I know what I'm doing)" 2> $TMP/replyTEMP$$
++
++if [ "`cat $TMP/replyTEMP$$`" = "YES" ]; then
++echo "Put your phone number in the box below, so your service provider" > $TMP/txtTEMP$$
++echo "can call you back." >> $TMP/txtTEMP$$
++echo >> $TMP/txtTEMP$$
++echo "Example: 7771818" >> $TMP/txtTEMP$$
++echo >> $TMP/txtTEMP$$
+
+-dialog --backtitle "CALLBACK Your Phone Number? ..." --inputbox "`cat /tmp/txtTEMP$$`" 11 72 2> /tmp/cb1TEMP$$
++dialog --backtitle "CALLBACK Your Phone Number? ..." --inputbox "`cat $TMP/txtTEMP$$`" 11 72 2> $TMP/cb1TEMP$$
+
+ if [ $? = 1 ]; then
+ clear 2>/dev/null || echo
+-rm -f /tmp/*TEMP*
++rm -f $TMP/*TEMP*
+ echo "PPP configuration cancelled."
+ exit
+-elif [ ! -s /tmp/cb1TEMP$$ ]; then
++elif [ ! -s $TMP/cb1TEMP$$ ]; then
+ clear 2>/dev/null || echo
+-rm -f /tmp/*TEMP*
++rm -f $TMP/*TEMP*
+ echo "PPP configuration cancelled."
+ echo "No Phone Number for Callback."
+ exit
+ fi
+ fi
+
+-if [ -s /tmp/cb1TEMP$$ ]; then
+-CBPN="`cat /tmp/cb1TEMP$$`"
+-echo "I have your phone number: $CBPN" > /tmp/txtTEMP$$
+-echo >> /tmp/txtTEMP$$
+-echo "Do you have to give a Username or Login for the initial connection" >> /tmp/txtTEMP$$
+-echo "to $PHONENUM before you're called back." >> /tmp/txtTEMP$$
+-echo >> /tmp/txtTEMP$$
+-echo "Example: jerry" >> /tmp/txtTEMP$$
+-echo >> /tmp/txtTEMP$$
+-echo "If NO, just press [Enter] on a empty box and skip this." >> /tmp/txtTEMP$$
++if [ -s $TMP/cb1TEMP$$ ]; then
++CBPN="`cat $TMP/cb1TEMP$$`"
++echo "I have your phone number: $CBPN" > $TMP/txtTEMP$$
++echo >> $TMP/txtTEMP$$
++echo "Do you have to give a Username or Login for the initial connection" >> $TMP/txtTEMP$$
++echo "to $PHONENUM before you're called back." >> $TMP/txtTEMP$$
++echo >> $TMP/txtTEMP$$
++echo "Example: jerry" >> $TMP/txtTEMP$$
++echo >> $TMP/txtTEMP$$
++echo "If NO, just press [Enter] on a empty box and skip this." >> $TMP/txtTEMP$$
+
+-dialog --backtitle "CALLBACK INITIAL LOGIN? ..." --inputbox "`cat /tmp/txtTEMP$$`" 15 74 2> /tmp/cb1.1TEMP$$
++dialog --backtitle "CALLBACK INITIAL LOGIN? ..." --inputbox "`cat $TMP/txtTEMP$$`" 15 74 2> $TMP/cb1.1TEMP$$
+
+ if [ $? = 1 ]; then
+-rm -f /tmp/*TEMP*
++rm -f $TMP/*TEMP*
+ clear 2>/dev/null || echo
+ echo "PPP configuration cancelled."
+ exit
+ else
+-CBMODLOGIN="`cat /tmp/cb1.1TEMP$$`"
++CBMODLOGIN="`cat $TMP/cb1.1TEMP$$`"
+ fi
+ fi
+
+-if [ -s /tmp/cb1TEMP$$ ]; then
+-echo "I have your phone number: $CBPN" > /tmp/txtTEMP$$
+-if [ -s /tmp/cb1.1TEMP$$ ]; then
+-echo "I see you have to give a Username or Login: $CBMODLOGIN" >> /tmp/txtTEMP$$
+-echo "for the initial connection to: $PHONENUM" >> /tmp/txtTEMP$$
+-fi
+-echo >> /tmp/txtTEMP$$
+-echo "Do you have to give a Password for the initial connection" >> /tmp/txtTEMP$$
+-echo "to $PHONENUM before you're called back." >> /tmp/txtTEMP$$
+-echo >> /tmp/txtTEMP$$
+-echo "Example: Zoy85mWc" >> /tmp/txtTEMP$$
+-echo >> /tmp/txtTEMP$$
+-echo "If NO, just press [Enter] on a empty box and skip this." >> /tmp/txtTEMP$$
++if [ -s $TMP/cb1TEMP$$ ]; then
++echo "I have your phone number: $CBPN" > $TMP/txtTEMP$$
++if [ -s $TMP/cb1.1TEMP$$ ]; then
++echo "I see you have to give a Username or Login: $CBMODLOGIN" >> $TMP/txtTEMP$$
++echo "for the initial connection to: $PHONENUM" >> $TMP/txtTEMP$$
++fi
++echo >> $TMP/txtTEMP$$
++echo "Do you have to give a Password for the initial connection" >> $TMP/txtTEMP$$
++echo "to $PHONENUM before you're called back." >> $TMP/txtTEMP$$
++echo >> $TMP/txtTEMP$$
++echo "Example: Zoy85mWc" >> $TMP/txtTEMP$$
++echo >> $TMP/txtTEMP$$
++echo "If NO, just press [Enter] on a empty box and skip this." >> $TMP/txtTEMP$$
+
+-dialog --backtitle "CALLBACK INITIAL PASSWORD? ..." --inputbox "`cat /tmp/txtTEMP$$`" 17 68 2> /tmp/cb2TEMP$$
++dialog --backtitle "CALLBACK INITIAL PASSWORD? ..." --inputbox "`cat $TMP/txtTEMP$$`" 17 68 2> $TMP/cb2TEMP$$
+
+ if [ $? = 1 ]; then
+-rm -f /tmp/*TEMP*
++rm -f $TMP/*TEMP*
+ clear 2>/dev/null || echo
+ echo "PPP configuration cancelled."
+ exit
+ else
+-CBMODPASS="`cat /tmp/cb2TEMP$$`"
++CBMODPASS="`cat $TMP/cb2TEMP$$`"
+ fi
+ fi
+
+ if [ ! -z "$CBPN" ]; then
+-echo "Are they using PAP or CHAP for AUTHENTICATION? If so answer YES." > /tmp/txtTEMP$$
+-echo "Do they present you with a Username: or Login: and Password: prompt" >> /tmp/txtTEMP$$
+-echo "when they call you back, if so they're probably not using PAP or" >> /tmp/txtTEMP$$
+-echo "CHAP, so you can answer NO here." >> /tmp/txtTEMP$$
+-echo "If you're not sure, you'll have to ask you're service provider." >> /tmp/txtTEMP$$
++echo "Are they using PAP or CHAP for AUTHENTICATION? If so answer YES." > $TMP/txtTEMP$$
++echo "Do they present you with a Username: or Login: and Password: prompt" >> $TMP/txtTEMP$$
++echo "when they call you back, if so they're probably not using PAP or" >> $TMP/txtTEMP$$
++echo "CHAP, so you can answer NO here." >> $TMP/txtTEMP$$
++echo "If you're not sure, you'll have to ask you're service provider." >> $TMP/txtTEMP$$
+
+-dialog --backtitle "CALLBACK PAP-CHAP YES or NO? ..." --yesno "`cat /tmp/txtTEMP$$`" 9 72
++dialog --backtitle "CALLBACK PAP-CHAP YES or NO? ..." --yesno "`cat $TMP/txtTEMP$$`" 9 72
+
+ if [ $? = 1 ]; then
+-echo "What is your Username or Login to your service provider?" > /tmp/txtTEMP$$
+-echo >> /tmp/txtTEMP$$
+-echo "This is the information you'll give them when they call" >> /tmp/txtTEMP$$
+-echo "you back at: $CBPN" >> /tmp/txtTEMP$$
+-echo >> /tmp/txtTEMP$$
+-echo "Example: jerry" >> /tmp/txtTEMP$$
++echo "What is your Username or Login to your service provider?" > $TMP/txtTEMP$$
++echo >> $TMP/txtTEMP$$
++echo "This is the information you'll give them when they call" >> $TMP/txtTEMP$$
++echo "you back at: $CBPN" >> $TMP/txtTEMP$$
++echo >> $TMP/txtTEMP$$
++echo "Example: jerry" >> $TMP/txtTEMP$$
+
+-dialog --backtitle "CALLBACK LOGIN? ..." --inputbox "`cat /tmp/txtTEMP$$`" 13 72 2> /tmp/cb3TEMP$$
++dialog --backtitle "CALLBACK LOGIN? ..." --inputbox "`cat $TMP/txtTEMP$$`" 13 72 2> $TMP/cb3TEMP$$
+
+ if [ $? = 1 ]; then
+-rm -f /tmp/*TEMP*
++rm -f $TMP/*TEMP*
+ clear 2>/dev/null || echo
+ echo "PPP configuration cancelled."
+ exit
+ fi
+
+-CBLOGIN="`cat /tmp/cb3TEMP$$`"
++CBLOGIN="`cat $TMP/cb3TEMP$$`"
+
+ if [ -z "$CBLOGIN" ]; then
+-rm -f /tmp/*TEMP*
++rm -f $TMP/*TEMP*
+ clear 2>/dev/null || echo
+ echo "PPP configuration cancelled."
+ echo "No Login for Callback."
+@@ -269,24 +300,24 @@
+ fi
+
+ if [ ! -z "$CBLOGIN" ]; then
+-echo "What is the Password for: $CBLOGIN" > /tmp/txtTEMP$$
+-echo >> /tmp/txtTEMP$$
+-echo "Example: Ziy79Kie" >> /tmp/txtTEMP$$
+-echo >> /tmp/txtTEMP$$
++echo "What is the Password for: $CBLOGIN" > $TMP/txtTEMP$$
++echo >> $TMP/txtTEMP$$
++echo "Example: Ziy79Kie" >> $TMP/txtTEMP$$
++echo >> $TMP/txtTEMP$$
+
+-dialog --backtitle "CALLBACK PASSWORD? ..." --inputbox "`cat /tmp/txtTEMP$$`" 10 64 2> /tmp/cb4TEMP$$
++dialog --backtitle "CALLBACK PASSWORD? ..." --inputbox "`cat $TMP/txtTEMP$$`" 10 64 2> $TMP/cb4TEMP$$
+
+ if [ $? = 1 ]; then
+-rm -f /tmp/*TEMP*
++rm -f $TMP/*TEMP*
+ clear 2>/dev/null || echo
+ echo "PPP configuration cancelled."
+ exit 1
+ fi
+
+-CBPASS="`cat /tmp/cb4TEMP$$`"
++CBPASS="`cat $TMP/cb4TEMP$$`"
+
+ if [ -z "$CBPASS" ]; then
+-rm -f /tmp/*TEMP*
++rm -f $TMP/*TEMP*
+ clear 2>/dev/null || echo
+ echo "PPP configuration cancelled."
+ echo "No Password for Callback."
+@@ -296,13 +327,13 @@
+
+ callback1() {
+ cat << EOF
+-TIMEOUT 10
++TIMEOUT 60
+ ABORT BUSY
+ ABORT ERROR
+ ABORT VOICE
+ ABORT "NO CARRIER"
+ ABORT "NO DIALTONE"
+-"" "AT\&FW1S0=1H0"
++"" "AT\&FS0=1H0"
+ OK "ATDT$PHONENUM"
+ TIMEOUT 60
+ CONNECT ""
+@@ -322,13 +353,13 @@
+
+ callback2() {
+ cat << EOF
+-TIMEOUT 10
++TIMEOUT 60
+ ABORT BUSY
+ ABORT ERROR
+ ABORT VOICE
+ ABORT "NO CARRIER"
+ ABORT "NO DIALTONE"
+-"" "AT\&FW1S0=1H0"
++"" "AT\&FS0=1H0"
+ OK "ATDT$PHONENUM"
+ TIMEOUT 60
+ CONNECT ""
+@@ -344,13 +375,13 @@
+
+ callback3() {
+ cat << EOF
+-TIMEOUT 10
++TIMEOUT 60
+ ABORT BUSY
+ ABORT ERROR
+ ABORT VOICE
+ ABORT "NO CARRIER"
+ ABORT "NO DIALTONE"
+-"" "AT\&FW1S0=1H0"
++"" "AT\&FS0=1H0"
+ OK "ATDT$PHONENUM"
+ TIMEOUT 60
+ CONNECT ""
+@@ -368,13 +399,13 @@
+
+ callback4() {
+ cat << EOF
+-TIMEOUT 10
++TIMEOUT 60
+ ABORT BUSY
+ ABORT ERROR
+ ABORT VOICE
+ ABORT "NO CARRIER"
+ ABORT "NO DIALTONE"
+-"" "AT\&FW1S0=1H0"
++"" "AT\&FS0=1H0"
+ OK "ATDT$PHONENUM"
+ TIMEOUT 60
+ CONNECT ""
+@@ -393,13 +424,13 @@
+
+ callback5() {
+ cat << EOF
+-TIMEOUT 10
++TIMEOUT 60
+ ABORT BUSY
+ ABORT ERROR
+ ABORT VOICE
+ ABORT "NO CARRIER"
+ ABORT "NO DIALTONE"
+-"" "AT\&FW1S0=1H0"
++"" "AT\&FS0=1H0"
+ OK "ATDT$PHONENUM"
+ TIMEOUT 60
+ CONNECT ""
+@@ -417,13 +448,13 @@
+
+ callback6() {
+ cat << EOF
+-TIMEOUT 10
++TIMEOUT 60
+ ABORT BUSY
+ ABORT ERROR
+ ABORT VOICE
+ ABORT "NO CARRIER"
+ ABORT "NO DIALTONE"
+-"" "AT\&FW1S0=1H0"
++"" "AT\&FS0=1H0"
+ OK "ATDT$PHONENUM"
+ TIMEOUT 60
+ CONNECT ""
+@@ -440,13 +471,13 @@
+
+ callback7() {
+ cat << EOF
+-TIMEOUT 10
++TIMEOUT 60
+ ABORT BUSY
+ ABORT ERROR
+ ABORT VOICE
+ ABORT "NO CARRIER"
+ ABORT "NO DIALTONE"
+-"" "AT\&FW1S0=1H0"
++"" "AT\&FS0=1H0"
+ OK "ATDT$PHONENUM"
+ TIMEOUT 60
+ CONNECT ""
+@@ -465,20 +496,20 @@
+ mkdir -p /etc/ppp
+ fi
+
+-if [ -s /tmp/cb1TEMP$$ ]; then
+-if [ -s /tmp/cb1.1TEMP$$ ] && [ -s /tmp/cb2TEMP$$ ] && [ -s /tmp/cb3TEMP$$ ] && [ -s /tmp/cb4TEMP$$ ]; then
++if [ -s $TMP/cb1TEMP$$ ]; then
++if [ -s $TMP/cb1.1TEMP$$ ] && [ -s $TMP/cb2TEMP$$ ] && [ -s $TMP/cb3TEMP$$ ] && [ -s $TMP/cb4TEMP$$ ]; then
+ callback1 > /etc/ppp/callback
+-elif [ ! -s /tmp/cb1.1TEMP$$ ] && [ ! -s /tmp/cb2TEMP$$ ] && [ ! -s /tmp/cb3TEMP$$ ] && [ ! -s /tmp/cb4TEMP$$ ]; then
++elif [ ! -s $TMP/cb1.1TEMP$$ ] && [ ! -s $TMP/cb2TEMP$$ ] && [ ! -s $TMP/cb3TEMP$$ ] && [ ! -s $TMP/cb4TEMP$$ ]; then
+ callback2 > /etc/ppp/callback
+-elif [ ! -s /tmp/cb1.1TEMP$$ ] && [ ! -s /tmp/cb2TEMP$$ ] && [ -s /tmp/cb3TEMP$$ ] && [ -s /tmp/cb4TEMP$$ ]; then
++elif [ ! -s $TMP/cb1.1TEMP$$ ] && [ ! -s $TMP/cb2TEMP$$ ] && [ -s $TMP/cb3TEMP$$ ] && [ -s $TMP/cb4TEMP$$ ]; then
+ callback3 > /etc/ppp/callback
+-elif [ ! -s /tmp/cb1.1TEMP$$ ] && [ -s /tmp/cb2TEMP$$ ] && [ -s /tmp/cb3TEMP$$ ] && [ -s /tmp/cb4TEMP$$ ]; then
++elif [ ! -s $TMP/cb1.1TEMP$$ ] && [ -s $TMP/cb2TEMP$$ ] && [ -s $TMP/cb3TEMP$$ ] && [ -s $TMP/cb4TEMP$$ ]; then
+ callback4 > /etc/ppp/callback
+-elif [ -s /tmp/cb1.1TEMP$$ ] && [ -s /tmp/cb2TEMP$$ ] && [ ! -s /tmp/cb3TEMP$$ ] && [ ! -s /tmp/cb4TEMP$$ ]; then
++elif [ -s $TMP/cb1.1TEMP$$ ] && [ -s $TMP/cb2TEMP$$ ] && [ ! -s $TMP/cb3TEMP$$ ] && [ ! -s $TMP/cb4TEMP$$ ]; then
+ callback5 > /etc/ppp/callback
+-elif [ -s /tmp/cb1.1TEMP$$ ] && [ ! -s /tmp/cb3TEMP$$ ] && [ ! -s /tmp/cb4TEMP$$ ]; then
++elif [ -s $TMP/cb1.1TEMP$$ ] && [ ! -s $TMP/cb3TEMP$$ ] && [ ! -s $TMP/cb4TEMP$$ ]; then
+ callback6 > /etc/ppp/callback
+-elif [ -s /tmp/cb2TEMP$$ ] && [ ! -s /tmp/cb3TEMP$$ ] && [ ! -s /tmp/cb4TEMP$$ ]; then
++elif [ -s $TMP/cb2TEMP$$ ] && [ ! -s $TMP/cb3TEMP$$ ] && [ ! -s $TMP/cb4TEMP$$ ]; then
+ callback7 > /etc/ppp/callback
+ fi
+ fi
+@@ -488,93 +519,93 @@
+ chmod 600 /etc/ppp/callback 2>/dev/null
+ fi
+
+-if [ ! -s /tmp/cb1TEMP$$ ]; then
+-echo 'The default modem init string will be: "AT\&FW1H0" OK' > /tmp/txtTEMP$$
+-echo >> /tmp/txtTEMP$$
+-echo "If you want to change it, put your init string in the box below." >> /tmp/txtTEMP$$
+-echo >> /tmp/txtTEMP$$
+-echo "If you use \ in the init string, put it twice." >> /tmp/txtTEMP$$
+-echo 'Example: "AT\&F\\K3\\N3W1H0" OK' >> /tmp/txtTEMP$$
+-echo "M = No sound. W1 or S95=46 = Show CARRIER speed: 28800 etc." >> /tmp/txtTEMP$$
+-echo 'Put "" around each init string with "&" in it.' >> /tmp/txtTEMP$$
+-echo 'Put OK after each init string. Example: ATZ OK "AT\&F1MW1H0" OK' >> /tmp/txtTEMP$$
+-echo >> /tmp/txtTEMP$$
+-echo "Just press [Enter] on a empty box to accept the default above." >> /tmp/txtTEMP$$
++if [ ! -s $TMP/cb1TEMP$$ ]; then
++echo 'The default modem init string will be: "AT&FH0" OK' > $TMP/txtTEMP$$
++echo >> $TMP/txtTEMP$$
++echo "If you want to change it, put your init string in the box below." >> $TMP/txtTEMP$$
++echo >> $TMP/txtTEMP$$
++echo "If you use \ in the init string, put it twice." >> $TMP/txtTEMP$$
++echo 'Example: "AT\&F\\K3\\N3H0" OK' >> $TMP/txtTEMP$$
++echo "M = No sound. S95=46 = Show CARRIER speed: 28800 etc." >> $TMP/txtTEMP$$
++echo 'Put "" around each init string with "&" in it.' >> $TMP/txtTEMP$$
++echo 'Put OK after each init string. Example: ATZ OK "AT\&F1MH0" OK' >> $TMP/txtTEMP$$
++echo >> $TMP/txtTEMP$$
++echo "Just press [Enter] on a empty box to accept the default above." >> $TMP/txtTEMP$$
+
+-dialog --backtitle "MODEM INIT STRING ..." --inputbox "`cat /tmp/txtTEMP$$`" 18 74 2> /tmp/rspTEMP$$
++dialog --backtitle "MODEM INIT STRING ..." --inputbox "`cat $TMP/txtTEMP$$`" 18 74 2> $TMP/rspTEMP$$
+
+ if [ $? = 1 ]; then
+-rm -f /tmp/*TEMP*
++rm -f $TMP/*TEMP*
+ clear 2>/dev/null || echo
+ echo "PPP configuration cancelled."
+ exit
+ fi
+
+-if [ -s /tmp/rspTEMP$$ ]; then
+-INIT="`cat /tmp/rspTEMP$$`"
++if [ -s $TMP/rspTEMP$$ ]; then
++INIT="`cat $TMP/rspTEMP$$`"
+ else
+ INIT="below"
+ fi
+ fi
+
+-echo "What is your (I)nternet (S)ervice (P)rovider's domain name?" > /tmp/txtTEMP$$
+-echo >> /tmp/txtTEMP$$
+-echo "This is usually something like..." >> /tmp/txtTEMP$$
+-echo "Examples: something.edu something.net something.com something.org" >> /tmp/txtTEMP$$
+-echo >> /tmp/txtTEMP$$
++echo "What is your (I)nternet (S)ervice (P)rovider's domain name?" > $TMP/txtTEMP$$
++echo >> $TMP/txtTEMP$$
++echo "This is usually something like..." >> $TMP/txtTEMP$$
++echo "Examples: something.edu something.net something.com something.org" >> $TMP/txtTEMP$$
++echo >> $TMP/txtTEMP$$
+
+-dialog --backtitle "DOMAIN NAME ..." --inputbox "`cat /tmp/txtTEMP$$`" 11 74 2> /tmp/rspTEMP$$
++dialog --backtitle "DOMAIN NAME ..." --inputbox "`cat $TMP/txtTEMP$$`" 11 74 2> $TMP/rspTEMP$$
+
+ if [ $? = 1 ]; then
+-rm -f /tmp/*TEMP*
++rm -f $TMP/*TEMP*
+ clear 2>/dev/null || echo
+ echo "PPP configuration cancelled."
+ exit
+ fi
+
+-DOMAINNAME="`cat /tmp/rspTEMP$$`"
++DOMAINNAME="`cat $TMP/rspTEMP$$`"
+
+-echo "What is the IP address of your Internet provider's nameserver?" > /tmp/txtTEMP$$
+-echo >> /tmp/txtTEMP$$
+-echo "It's important that these IP numbers be correct." >> /tmp/txtTEMP$$
+-echo "The IP numbers should not be: 0.0.0.0" >> /tmp/txtTEMP$$
+-echo >> /tmp/txtTEMP$$
+-echo "Note: Your service provider's technical support can provide you" >> /tmp/txtTEMP$$
+-echo "with this information. Example: 207.132.116.5" >> /tmp/txtTEMP$$
+-echo >> /tmp/txtTEMP$$
++echo "What is the IP address of your Internet provider's nameserver?" > $TMP/txtTEMP$$
++echo >> $TMP/txtTEMP$$
++echo "It's important that these IP numbers be correct." >> $TMP/txtTEMP$$
++echo "The IP numbers should not be: 0.0.0.0" >> $TMP/txtTEMP$$
++echo >> $TMP/txtTEMP$$
++echo "Note: Your service provider's technical support can provide you" >> $TMP/txtTEMP$$
++echo "with this information. Example: 207.132.116.5" >> $TMP/txtTEMP$$
++echo >> $TMP/txtTEMP$$
+
+-dialog --backtitle "DNS IP ADDRESS ..." --inputbox "`cat /tmp/txtTEMP$$`" 14 74 2> /tmp/rspTEMP$$
++dialog --backtitle "DNS IP ADDRESS ..." --inputbox "`cat $TMP/txtTEMP$$`" 14 74 2> $TMP/rspTEMP$$
+
+ if [ $? = 1 ]; then
+-rm -f /tmp/*TEMP*
++rm -f $TMP/*TEMP*
+ clear 2>/dev/null || echo
+ echo "PPP configuration cancelled."
+ exit
+ fi
+
+-DNSIP="`cat /tmp/rspTEMP$$`"
++DNSIP="`cat $TMP/rspTEMP$$`"
+
+-if [ ! -s /tmp/cb3TEMP$$ ]; then
+-echo "Does your service provider use PAP or CHAP?" > /tmp/txtTEMP$$
+-echo "If you're presented with a Username: or Login: and Password:" >> /tmp/txtTEMP$$
+-echo "prompt when you connect to your service provider, they're" >> /tmp/txtTEMP$$
+-echo "'probably' not using PAP or CHAP, so you can answer SCRIPT." >> /tmp/txtTEMP$$
+-echo "I said 'probably', the only way to know for sure is to ask you're" >> /tmp/txtTEMP$$
+-echo "service provider, this could save you a lot of wasted time." >> /tmp/txtTEMP$$
++if [ ! -s $TMP/cb3TEMP$$ ]; then
++echo "Does your service provider use PAP or CHAP?" > $TMP/txtTEMP$$
++echo "If you're presented with a Username: or Login: and Password:" >> $TMP/txtTEMP$$
++echo "prompt when you connect to your service provider, they're" >> $TMP/txtTEMP$$
++echo "'probably' not using PAP or CHAP, so you can answer SCRIPT." >> $TMP/txtTEMP$$
++echo "I said 'probably', the only way to know for sure is to ask you're" >> $TMP/txtTEMP$$
++echo "service provider, this could save you a lot of wasted time." >> $TMP/txtTEMP$$
+
+-dialog --backtitle "PAP, CHAP, or SCRIPT? ..." --menu "`cat /tmp/txtTEMP$$`" 16 72 4 \
++dialog --backtitle "PAP, CHAP, or SCRIPT? ..." --menu "`cat $TMP/txtTEMP$$`" 16 72 4 \
+ PAP "AUTHENTICATION" \
+ CHAP "AUTHENTICATION" \
+ MS-CHAP-80 "is microsoft's version of CHAP." \
+-SCRIPT "Create Chat Script For Login." 2> /tmp/papTEMP
++SCRIPT "Create Chat Script For Login." 2> $TMP/papTEMP
+
+ if [ $? = 1 ]; then
+-rm -f /tmp/*TEMP*
++rm -f $TMP/*TEMP*
+ clear 2>/dev/null || echo
+ echo "PPP configuration cancelled."
+ exit
+ else
+-PAP="`cat /tmp/papTEMP`"
++PAP="`cat $TMP/papTEMP`"
+ fi
+ fi
+
+@@ -595,46 +626,46 @@
+
+ if [ "$PAP" = "MS-CHAP-80" ]; then
+ if [ ! -z "$DOMAINNAME" ]; then
+-echo > /tmp/txtTEMP$$
+-echo "You gave $DOMAINNAME for domain name, this will be the" >> /tmp/txtTEMP$$
+-echo "NT server you connect to when you dial: $PHONENUM" >> /tmp/txtTEMP$$
+-echo >> /tmp/txtTEMP$$
++echo > $TMP/txtTEMP$$
++echo "You gave $DOMAINNAME for domain name, this will be the" >> $TMP/txtTEMP$$
++echo "NT server you connect to when you dial: $PHONENUM" >> $TMP/txtTEMP$$
++echo >> $TMP/txtTEMP$$
+ else
+-echo > /tmp/txtTEMP$$
++echo > $TMP/txtTEMP$$
+ fi
+-RAS >> /tmp/txtTEMP$$
++RAS >> $TMP/txtTEMP$$
+
+-dialog --title "MS-CHAP NT server, Stand-alone or ? ..." --menu "`cat /tmp/txtTEMP$$`" 22 72 2 \
++dialog --title "MS-CHAP NT server, Stand-alone or ? ..." --menu "`cat $TMP/txtTEMP$$`" 22 72 2 \
+ MS-CHAP-SERVER-1 "Stand-alone..." \
+-MS-CHAP-SERVER-2 "Queries domain controller..." 2> /tmp/mschapTEMP
++MS-CHAP-SERVER-2 "Queries domain controller..." 2> $TMP/mschapTEMP
+
+ if [ $? = 1 ]; then
+-rm -f /tmp/*TEMP*
++rm -f $TMP/*TEMP*
+ clear 2>/dev/null || echo
+ echo "PPP configuration cancelled."
+ exit
+ fi
+
+-MSCHAP="`cat /tmp/mschapTEMP`"
++MSCHAP="`cat $TMP/mschapTEMP`"
+
+ if [ "$MSCHAP" = "MS-CHAP-SERVER-2" ]; then
+-echo "Put the name of the domain you have your account on." > /tmp/txtTEMP0
+-echo "Example: fooboo" >> /tmp/txtTEMP0
+-echo >> /tmp/txtTEMP0
++echo "Put the name of the domain you have your account on." > $TMP/txtTEMP0
++echo "Example: fooboo" >> $TMP/txtTEMP0
++echo >> $TMP/txtTEMP0
+
+-dialog --backtitle "MS-CHAP QUERY DOMAIN? ..." --inputbox "`cat /tmp/txtTEMP0`" 9 64 2> /tmp/rspTEMP0
++dialog --backtitle "MS-CHAP QUERY DOMAIN? ..." --inputbox "`cat $TMP/txtTEMP0`" 9 64 2> $TMP/rspTEMP0
+
+ if [ $? = 1 ]; then
+-rm -f /tmp/*TEMP*
++rm -f $TMP/*TEMP*
+ clear 2>/dev/null || echo
+ echo "PPP configuration cancelled."
+ exit
+ fi
+
+-MSDOMAIN="`cat /tmp/rspTEMP0`"
++MSDOMAIN="`cat $TMP/rspTEMP0`"
+
+-if [ ! -s /tmp/rspTEMP0 ]; then
+-rm -f /tmp/*TEMP*
++if [ ! -s $TMP/rspTEMP0 ]; then
++rm -f $TMP/*TEMP*
+ clear 2>/dev/null || echo
+ echo "PPP configuration cancelled."
+ echo "No ms-chap query domain name given."
+@@ -643,32 +674,32 @@
+ fi
+ fi
+
+-if [ ! "$PAP" = "SCRIPT" ] && [ ! -s /tmp/cb3TEMP$$ ]; then
+-echo "Put your Login = Username in the box below." > /tmp/txtTEMP1
+-echo >> /tmp/txtTEMP1
+-echo "Sometimes they want your username or number followed" >> /tmp/txtTEMP1
+-echo "by their @domain name like this below." >> /tmp/txtTEMP1
+-echo "Example: jerry@foo.boo.com" >> /tmp/txtTEMP1
+-echo "Example: 1234567@foo.boo.com" >> /tmp/txtTEMP1
+-echo >> /tmp/txtTEMP1
+-echo "Sometimes the username is two words." >> /tmp/txtTEMP1
+-echo "Example: jerry donut" >> /tmp/txtTEMP1
+-echo >> /tmp/txtTEMP1
+-echo "Usally it's just your username like this below." >> /tmp/txtTEMP1
+-echo "Example: jerry" >> /tmp/txtTEMP1
+-echo >> /tmp/txtTEMP1
++if [ ! "$PAP" = "SCRIPT" ] && [ ! -s $TMP/cb3TEMP$$ ]; then
++echo "Put your Login = Username in the box below." > $TMP/txtTEMP1
++echo >> $TMP/txtTEMP1
++echo "Sometimes they want your username or number followed" >> $TMP/txtTEMP1
++echo "by their @domain name like this below." >> $TMP/txtTEMP1
++echo "Example: jerry@foo.boo.com" >> $TMP/txtTEMP1
++echo "Example: 1234567@foo.boo.com" >> $TMP/txtTEMP1
++echo >> $TMP/txtTEMP1
++echo "Sometimes the username is two words." >> $TMP/txtTEMP1
++echo "Example: jerry donut" >> $TMP/txtTEMP1
++echo >> $TMP/txtTEMP1
++echo "Usally it's just your username like this below." >> $TMP/txtTEMP1
++echo "Example: jerry" >> $TMP/txtTEMP1
++echo >> $TMP/txtTEMP1
+
+-dialog --backtitle "PAP or CHAP LOGIN? ..." --inputbox "`cat /tmp/txtTEMP1`" 19 64 2> /tmp/rspTEMP1
++dialog --backtitle "PAP or CHAP LOGIN? ..." --inputbox "`cat $TMP/txtTEMP1`" 19 64 2> $TMP/rspTEMP1
+
+ if [ $? = 1 ]; then
+-rm -f /tmp/*TEMP*
++rm -f $TMP/*TEMP*
+ clear 2>/dev/null || echo
+ echo "PPP configuration cancelled."
+ exit
+ fi
+
+-if [ ! -s /tmp/rspTEMP1 ]; then
+-rm -f /tmp/*TEMP*
++if [ ! -s $TMP/rspTEMP1 ]; then
++rm -f $TMP/*TEMP*
+ clear 2>/dev/null || echo
+ echo "PPP configuration cancelled."
+ echo "No username for pap, chap, or ms-chap given."
+@@ -676,119 +707,119 @@
+ fi
+ fi
+
+-if [ -s /tmp/rspTEMP1 ]; then
+-AUTH1="`cat /tmp/rspTEMP1`"
+-echo "$AUTH1" > /tmp/txtTEMP2
+-echo "What's the password for the username above?" >> /tmp/txtTEMP2
+-echo "Example: Xpi9u87T" >> /tmp/txtTEMP2
+-dialog --backtitle "PAP or CHAP PASSWORD? ..." --inputbox "`cat /tmp/txtTEMP2`" 10 64 2> /tmp/rspTEMP2
++if [ -s $TMP/rspTEMP1 ]; then
++AUTH1="`cat $TMP/rspTEMP1`"
++echo "$AUTH1" > $TMP/txtTEMP2
++echo "What's the password for the username above?" >> $TMP/txtTEMP2
++echo "Example: Xpi9u87T" >> $TMP/txtTEMP2
++dialog --backtitle "PAP or CHAP PASSWORD? ..." --inputbox "`cat $TMP/txtTEMP2`" 10 64 2> $TMP/rspTEMP2
+
+-AUTH2="`cat /tmp/rspTEMP2`"
++AUTH2="`cat $TMP/rspTEMP2`"
+ END=""
+
+-elif [ ! -s /tmp/cb1TEMP$$ ] && [ "$PAP" = "SCRIPT" ]; then
++elif [ ! -s $TMP/cb1TEMP$$ ] && [ "$PAP" = "SCRIPT" ]; then
+ END='""'
+-echo "If you reached this part of the script, it should be because you" > /tmp/txtTEMP$$
+-echo "skipped the PAP or CHAP? and CALLBACK? parts of this script." >> /tmp/txtTEMP$$
+-echo "In other words, your service provider is not using PAP, CHAP, or" >> /tmp/txtTEMP$$
+-echo "CALLBACK." >> /tmp/txtTEMP$$
+-echo >> /tmp/txtTEMP$$
+-echo "Now comes the tough part. :) I need to know what your" >> /tmp/txtTEMP$$
+-echo "service provider prints to your screen when you dial in," >> /tmp/txtTEMP$$
+-echo "and what you respond with." >> /tmp/txtTEMP$$
+-echo >> /tmp/txtTEMP$$
+-echo "Usally when you connect to your service provider you see a" >> /tmp/txtTEMP$$
+-echo "Username: or Login: prompt, and you respond with your name." >> /tmp/txtTEMP$$
+-echo "Then there's a Password: prompt and you respond with your" >> /tmp/txtTEMP$$
+-echo "password." >> /tmp/txtTEMP$$
+-echo >> /tmp/txtTEMP$$
+-echo "If you're not sure if it's Login: or login:, just put ogin:" >> /tmp/txtTEMP$$
+-echo "you don't have to spell the whole thing out, the end part of" >> /tmp/txtTEMP$$
+-echo "what to wait for should be enough." >> /tmp/txtTEMP$$
+-echo >> /tmp/txtTEMP$$
+-echo 'If they put this for example "foobar fooboo ID:", you could just' >> /tmp/txtTEMP$$
+-echo 'put ID: or you could spell the whole thing out & put "" around it.' >> /tmp/txtTEMP$$
+-echo >> /tmp/txtTEMP$$
+-echo "What text should I wait for?" >> /tmp/txtTEMP$$
+-echo "ID:" >> /tmp/txtTEMP$$
+-echo "What text should I send?" >> /tmp/txtTEMP$$
+-echo "jerry" >> /tmp/txtTEMP$$
+-echo "What text should I wait for?" >> /tmp/txtTEMP$$
+-echo '"foobar fooboo ID:"' >> /tmp/txtTEMP$$
+-echo "What text should I send?" >> /tmp/txtTEMP$$
+-echo "jerry" >> /tmp/txtTEMP$$
+-echo >> /tmp/txtTEMP$$
+-echo "Sometimes you may want to wait for nothing, but send something." >> /tmp/txtTEMP$$
+-echo >> /tmp/txtTEMP$$
+-echo "What text should I wait for?" >> /tmp/txtTEMP$$
+-echo '""' >> /tmp/txtTEMP$$
+-echo "What text should I send?" >> /tmp/txtTEMP$$
+-echo "something" >> /tmp/txtTEMP$$
+-echo >> /tmp/txtTEMP$$
+-echo '"" = wait for nothing.' >> /tmp/txtTEMP$$
+-echo >> /tmp/txtTEMP$$
+-echo "If you don't want your password printed out put \q in front of it." >> /tmp/txtTEMP$$
+-echo >> /tmp/txtTEMP$$
+-echo "What text should I wait for?" >> /tmp/txtTEMP$$
+-echo "Password:" >> /tmp/txtTEMP$$
+-echo "What text should I send?" >> /tmp/txtTEMP$$
+-echo "\qsecret" >> /tmp/txtTEMP$$
+-echo >> /tmp/txtTEMP$$
+-echo "ogin: = Login: name: = Username: word: = Password:" >> /tmp/txtTEMP$$
+-echo >> /tmp/txtTEMP$$
+-echo "This below would end up looking like this in the /etc/ppp/pppscript" >> /tmp/txtTEMP$$
+-echo "file created by pppsetup when you're done." >> /tmp/txtTEMP$$
+-echo >> /tmp/txtTEMP$$
+-echo "ogin: jerry" >> /tmp/txtTEMP$$
+-echo "word: secret" >> /tmp/txtTEMP$$
+-echo >> /tmp/txtTEMP$$
+-echo "For example..." >> /tmp/txtTEMP$$
+-echo >> /tmp/txtTEMP$$
+-echo "What text should I wait for?" >> /tmp/txtTEMP$$
+-echo "ogin:" >> /tmp/txtTEMP$$
+-echo "And what text should I send?" >> /tmp/txtTEMP$$
+-echo "jerry" >> /tmp/txtTEMP$$
+-echo "What text should I wait for?" >> /tmp/txtTEMP$$
+-echo "word:" >> /tmp/txtTEMP$$
+-echo "And what text should I send?" >> /tmp/txtTEMP$$
+-echo "secret" >> /tmp/txtTEMP$$
+-echo "What text should I wait for?" >> /tmp/txtTEMP$$
+-echo >> /tmp/txtTEMP$$
+-echo "( End by pressing Enter on an empty = blank wait for? box. )" >> /tmp/txtTEMP$$
++echo "If you reached this part of the script, it should be because you" > $TMP/txtTEMP$$
++echo "skipped the PAP or CHAP? and CALLBACK? parts of this script." >> $TMP/txtTEMP$$
++echo "In other words, your service provider is not using PAP, CHAP, or" >> $TMP/txtTEMP$$
++echo "CALLBACK." >> $TMP/txtTEMP$$
++echo >> $TMP/txtTEMP$$
++echo "Now comes the tough part. :) I need to know what your" >> $TMP/txtTEMP$$
++echo "service provider prints to your screen when you dial in," >> $TMP/txtTEMP$$
++echo "and what you respond with." >> $TMP/txtTEMP$$
++echo >> $TMP/txtTEMP$$
++echo "Usally when you connect to your service provider you see a" >> $TMP/txtTEMP$$
++echo "Username: or Login: prompt, and you respond with your name." >> $TMP/txtTEMP$$
++echo "Then there's a Password: prompt and you respond with your" >> $TMP/txtTEMP$$
++echo "password." >> $TMP/txtTEMP$$
++echo >> $TMP/txtTEMP$$
++echo "If you're not sure if it's Login: or login:, just put ogin:" >> $TMP/txtTEMP$$
++echo "you don't have to spell the whole thing out, the end part of" >> $TMP/txtTEMP$$
++echo "what to wait for should be enough." >> $TMP/txtTEMP$$
++echo >> $TMP/txtTEMP$$
++echo 'If they put this for example "foobar fooboo ID:", you could just' >> $TMP/txtTEMP$$
++echo 'put ID: or you could spell the whole thing out & put "" around it.' >> $TMP/txtTEMP$$
++echo >> $TMP/txtTEMP$$
++echo "What text should I wait for?" >> $TMP/txtTEMP$$
++echo "ID:" >> $TMP/txtTEMP$$
++echo "What text should I send?" >> $TMP/txtTEMP$$
++echo "jerry" >> $TMP/txtTEMP$$
++echo "What text should I wait for?" >> $TMP/txtTEMP$$
++echo '"foobar fooboo ID:"' >> $TMP/txtTEMP$$
++echo "What text should I send?" >> $TMP/txtTEMP$$
++echo "jerry" >> $TMP/txtTEMP$$
++echo >> $TMP/txtTEMP$$
++echo "Sometimes you may want to wait for nothing, but send something." >> $TMP/txtTEMP$$
++echo >> $TMP/txtTEMP$$
++echo "What text should I wait for?" >> $TMP/txtTEMP$$
++echo '""' >> $TMP/txtTEMP$$
++echo "What text should I send?" >> $TMP/txtTEMP$$
++echo "something" >> $TMP/txtTEMP$$
++echo >> $TMP/txtTEMP$$
++echo '"" = wait for nothing.' >> $TMP/txtTEMP$$
++echo >> $TMP/txtTEMP$$
++echo "If you don't want your password printed out put \q in front of it." >> $TMP/txtTEMP$$
++echo >> $TMP/txtTEMP$$
++echo "What text should I wait for?" >> $TMP/txtTEMP$$
++echo "Password:" >> $TMP/txtTEMP$$
++echo "What text should I send?" >> $TMP/txtTEMP$$
++echo "\qsecret" >> $TMP/txtTEMP$$
++echo >> $TMP/txtTEMP$$
++echo "ogin: = Login: name: = Username: word: = Password:" >> $TMP/txtTEMP$$
++echo >> $TMP/txtTEMP$$
++echo "This below would end up looking like this in the /etc/ppp/pppscript" >> $TMP/txtTEMP$$
++echo "file created by pppsetup when you're done." >> $TMP/txtTEMP$$
++echo >> $TMP/txtTEMP$$
++echo "ogin: jerry" >> $TMP/txtTEMP$$
++echo "word: secret" >> $TMP/txtTEMP$$
++echo >> $TMP/txtTEMP$$
++echo "For example..." >> $TMP/txtTEMP$$
++echo >> $TMP/txtTEMP$$
++echo "What text should I wait for?" >> $TMP/txtTEMP$$
++echo "ogin:" >> $TMP/txtTEMP$$
++echo "And what text should I send?" >> $TMP/txtTEMP$$
++echo "jerry" >> $TMP/txtTEMP$$
++echo "What text should I wait for?" >> $TMP/txtTEMP$$
++echo "word:" >> $TMP/txtTEMP$$
++echo "And what text should I send?" >> $TMP/txtTEMP$$
++echo "secret" >> $TMP/txtTEMP$$
++echo "What text should I wait for?" >> $TMP/txtTEMP$$
++echo >> $TMP/txtTEMP$$
++echo "( End by pressing Enter on an empty = blank wait for? box. )" >> $TMP/txtTEMP$$
+
+-dialog --title "CHAT SCRIPT" --textbox "/tmp/txtTEMP$$" 22 72
++dialog --title "CHAT SCRIPT" --textbox "$TMP/txtTEMP$$" 22 72
+
+ MESSAGE=' '
+ YOUSAY=' '
+ while [ ! "$MESSAGE" = "" -a ! "$YOUSAY" = "" ]
+ do
+
+-echo " End by pressing Enter on a empty = blank box." > /tmp/txtTEMP$$
+-echo " What text should I wait for?" >> /tmp/txtTEMP$$
+-dialog --backtitle "EXPECT ..." --inputbox "`cat /tmp/txtTEMP$$`" 9 60 2> /tmp/rspTEMP$$
++echo " End by pressing Enter on a empty = blank box." > $TMP/txtTEMP$$
++echo " What text should I wait for?" >> $TMP/txtTEMP$$
++dialog --backtitle "EXPECT ..." --inputbox "`cat $TMP/txtTEMP$$`" 9 60 2> $TMP/rspTEMP$$
+
+-MESSAGE="`cat /tmp/rspTEMP$$`"
++MESSAGE="`cat $TMP/rspTEMP$$`"
+
+ if [ -z "$MESSAGE" ]; then
+ continue
+ fi
+
+-dialog --backtitle "SEND ..." --inputbox "And what text should I send?" 8 60 2> /tmp/rspTEMP$$
++dialog --backtitle "SEND ..." --inputbox "And what text should I send?" 8 60 2> $TMP/rspTEMP$$
+
+ if [ $? = 1 ]; then
+-rm -f /tmp/*TEMP*
++rm -f $TMP/*TEMP*
+ clear 2>/dev/null || echo
+ echo "PPP configuration cancelled."
+ exit
+ fi
+
+-YOUSAY="`cat /tmp/rspTEMP$$`"
++YOUSAY="`cat $TMP/rspTEMP$$`"
+
+-echo "$MESSAGE $YOUSAY" >> /tmp/sayTEMP1
++echo "$MESSAGE $YOUSAY" >> $TMP/sayTEMP1
+
+ if [ -z "$YOUSAY" ]; then
+ clear 2>/dev/null || echo
+-rm -f /tmp/*TEMP*
++rm -f $TMP/*TEMP*
+ echo "PPP configuration cancelled."
+ echo "Nothing to send."
+ exit
+@@ -798,22 +829,22 @@
+ done
+ fi
+
+-if [ ! -s /tmp/cb3TEMP$$ ]; then
+-if [ -s /tmp/cb1TEMP$$ ] && [ ! -s /tmp/cb3TEMP$$ ] && [ "$PAP" = "SCRIPT" ]; then
++if [ ! -s $TMP/cb3TEMP$$ ]; then
++if [ -s $TMP/cb1TEMP$$ ] && [ ! -s $TMP/cb3TEMP$$ ] && [ "$PAP" = "SCRIPT" ]; then
+ clear 2>/dev/null || echo
+-rm -f /tmp/*TEMP*
++rm -f $TMP/*TEMP*
+ echo "PPP configuration cancelled."
+ echo "You chose callback with PAP or CHAP, but answered SCRIPT to PAP or CHAP?."
+ exit
+-elif [ ! -s /tmp/rspTEMP2 ] && [ -s /tmp/rspTEMP1 ]; then
++elif [ ! -s $TMP/rspTEMP2 ] && [ -s $TMP/rspTEMP1 ]; then
+ clear 2>/dev/null || echo
+-rm -f /tmp/*TEMP*
++rm -f $TMP/*TEMP*
+ echo "PPP configuration cancelled."
+ echo "No password for: $AUTH1"
+ exit
+-elif [ ! -s /tmp/sayTEMP1 ] && [ ! -s /tmp/rspTEMP2 ]; then
++elif [ ! -s $TMP/sayTEMP1 ] && [ ! -s $TMP/rspTEMP2 ]; then
+ clear 2>/dev/null || echo
+-rm -f /tmp/*TEMP*
++rm -f $TMP/*TEMP*
+ echo "PPP configuration cancelled."
+ echo "Nothing to wait for."
+ exit
+@@ -868,9 +899,9 @@
+ PATH1="pppd"
+ fi
+
+-if [ "$PATH1" != "pppd" ]; then
+-chmod 4755 $PATH1 2>/dev/null
+-fi
++#if [ "$PATH1" != "pppd" ]; then
++#chmod 4755 $PATH1 2>/dev/null
++#fi
+
+ if [ -x /usr/sbin/chat ]; then
+ PATH2="/usr/sbin/chat"
+@@ -886,14 +917,14 @@
+ PATH2="chat"
+ fi
+
+-if [ ! -s /tmp/cb1TEMP$$ ]; then
+-echo "TIMEOUT 10" > /etc/ppp/pppscript
++if [ ! -s $TMP/cb1TEMP$$ ]; then
++echo "TIMEOUT 60" > /etc/ppp/pppscript
+ echo "ABORT ERROR" >> /etc/ppp/pppscript
+ echo "ABORT BUSY" >> /etc/ppp/pppscript
+ echo 'ABORT "NO CARRIER"' >> /etc/ppp/pppscript
+ echo 'ABORT "NO DIALTONE"' >> /etc/ppp/pppscript
+ if [ "$INIT" = "below" ]; then
+-echo '"" "AT\&FW1H0"' >> /etc/ppp/pppscript
++echo '"" "AT&FH0"' >> /etc/ppp/pppscript
+ echo 'OK "'$PHONENUM'"' >> /etc/ppp/pppscript
+ else
+ echo '"" '$INIT'' >> /etc/ppp/pppscript
+@@ -905,8 +936,8 @@
+ chmod 600 /etc/ppp/pppscript 2>/dev/null
+ fi
+
+-if [ -s /tmp/sayTEMP1 ]; then
+-cat /tmp/sayTEMP1 >> /etc/ppp/pppscript
++if [ -s $TMP/sayTEMP1 ]; then
++cat $TMP/sayTEMP1 >> /etc/ppp/pppscript
+ echo >> /etc/ppp/pppscript
+ else
+ echo >> /etc/ppp/pppscript
+@@ -948,9 +979,9 @@
+ echo "# The CARRIER speed at which you connected will be reported, if it's in" >> /etc/ppp/ip-up
+ echo '# the /var/log/messages file. You also need the programs "tail" "cut"' >> /etc/ppp/ip-up
+ echo '# "tr" "grep" and "syslogd" running for this to work.' >> /etc/ppp/ip-up
+-echo "# You may have to add W1 or S95=46 to your modem init string" >> /etc/ppp/ip-up
++echo "# You may have to add S95=46 to your modem init string" >> /etc/ppp/ip-up
+ echo "# to get your modem to report the DCE = CARRIER speed." >> /etc/ppp/ip-up
+-echo "# Examples: AT&FW1 or AT&FS95=46" >> /etc/ppp/ip-up
++echo "# Example: AT&FS95=46" >> /etc/ppp/ip-up
+
+ echo >> /etc/ppp/ip-up
+ echo "if [ -s /var/log/messages ] && ( ps xc 2>/dev/null | grep -q syslogd 2>/dev/null ); then" >> /etc/ppp/ip-up
+@@ -986,7 +1017,8 @@
+ echo >> /etc/ppp/ip-up
+ echo "# End..." >> /etc/ppp/ip-up
+
+-chmod 4755 /etc/ppp/ip-up 2>/dev/null
++#chmod 4755 /etc/ppp/ip-up 2>/dev/null
++chmod 755 /etc/ppp/ip-up 2>/dev/null
+
+ if [ -s /etc/ppp/ip-down ]; then
+ mv /etc/ppp/ip-down /etc/ppp/ip-down.OLD
+@@ -1022,7 +1054,7 @@
+ # You'll see the modem reponse OK and date in the /etc/ppp/modem.cua?,
+ # modem.ttyS?, or modem.modem file.
+ # You need the 'modem-stats' program for this below to work.
+-# ftp://sunsite.unc.edu/pub/apps/serialcomm/modem
++# ftp://metalab.unc.edu/pub/apps/serialcomm/modem
+ # modem-stats-1.0.1.src.elf.tar.gz
+ # Remove the ##### from the lines below.
+
+@@ -1030,7 +1062,8 @@
+ }
+
+ ipdown > /etc/ppp/ip-down
+-chmod 4755 /etc/ppp/ip-down 2>/dev/null
++#chmod 4755 /etc/ppp/ip-down 2>/dev/null
++chmod 755 /etc/ppp/ip-down 2>/dev/null
+
+ echo "#sleep 2 # Make sure the modem is really down." >> /etc/ppp/ip-down
+ echo '#DEV=`echo $2 | sed -e "s./dev/.."`' >> /etc/ppp/ip-down
+@@ -1080,38 +1113,38 @@
+ cat <<EOF
+ grepauth() {
+
+-tail -n 30 /var/log/debug 2>/dev/null | grep -i -s "rcvd" > /tmp/grep.tmp
++tail -n 30 /var/log/debug 2>/dev/null | grep -i -s "rcvd" > $TMP/grep.tmp
+
+-if ( grep -i -q "auth pap" /tmp/grep.tmp ); then
++if ( grep -i -q "auth pap" $TMP/grep.tmp ); then
+ echo
+ echo "They seem to be requesting PAP = <auth pap> for authentication."
+ echo "I don't know if you're setup for 'PAP' or not."
+ echo "Did you answer 'PAP' when you ran pppsetup?"
+ echo
+-elif ( grep -E -i -q "auth chap msoft|auth chap 80" /tmp/grep.tmp ); then
++elif ( grep -E -i -q "auth chap msoft|auth chap 80" $TMP/grep.tmp ); then
+ echo
+ echo "They seem to be requesting MS-CHAP-80 = <auth chap 80> for authentication."
+ echo "I don't know if you're setup for 'MS-CHAP' or not."
+ echo "Did you answer 'MS-CHAP' when you ran pppsetup?"
+ echo
+-elif ( grep -i -q "auth chap" /tmp/grep.tmp ); then
++elif ( grep -i -q "auth chap" $TMP/grep.tmp ); then
+ echo "They seem to be requesting CHAP = <auth chap> for authentication."
+ echo "I don't know if you're setup for 'CHAP' or not."
+ echo "Did you answer 'CHAP' when you ran pppsetup?"
+ echo
+ else
+-rm -f /tmp/grep.tmp
++rm -f $TMP/grep.tmp
+ exit 0
+ fi
+
+-if ( grep -i -q "callback" /tmp/grep.tmp ); then
++if ( grep -i -q "callback" $TMP/grep.tmp ); then
+ echo "They seem to be requesting CALLBACK."
+ echo "I don't know if you're setup for 'callback' or not."
+ echo "Did you answer 'CALLBACK' when you ran pppsetup?"
+ echo
+ fi
+
+-rm -f /tmp/grep.tmp
++rm -f $TMP/grep.tmp
+ }
+ EOF
+ }
+@@ -1124,14 +1157,14 @@
+ echo "killall -INT pppd 2>/dev/null" >> /usr/sbin/ppp-go
+ echo "rm -f /var/lock/LCK* /var/run/ppp*.pid" >> /usr/sbin/ppp-go
+
+-if [ -s /tmp/cb1TEMP$$ ]; then
+-echo '('$PATH1' -detach connect "'$PATH2' -v -s -f /etc/ppp/callback" &) || exit 1' >> /usr/sbin/ppp-go
++if [ -s $TMP/cb1TEMP$$ ]; then
++echo '('$PATH1' -detach connect "'$PATH2' -v -f /etc/ppp/callback" &) || exit 1' >> /usr/sbin/ppp-go
+ else
+-echo '('$PATH1' -detach connect "'$PATH2' -v -s -f /etc/ppp/pppscript" &) || exit 1' >> /usr/sbin/ppp-go
++echo '('$PATH1' -detach connect "'$PATH2' -v -f /etc/ppp/pppscript" &) || exit 1' >> /usr/sbin/ppp-go
+ fi
+
+-echo "read" >> /usr/sbin/ppp-go
+-echo "ifconnect" >> /usr/sbin/ppp-go
++echo "#read" >> /usr/sbin/ppp-go
++echo "#ifconnect" >> /usr/sbin/ppp-go
+ echo "exit 0" >> /usr/sbin/ppp-go
+ echo "fi" >> /usr/sbin/ppp-go
+
+@@ -1140,10 +1173,10 @@
+ echo "killall -INT pppd 2>/dev/null" >> /usr/sbin/ppp-go
+ echo "rm -f /var/lock/LCK* /var/run/ppp*.pid" >> /usr/sbin/ppp-go
+
+-if [ -s /tmp/cb1TEMP$$ ]; then
+-echo '('$PATH1' connect "'$PATH2' -v -f /etc/ppp/callback") || exit 1' >> /usr/sbin/ppp-go
++if [ -s $TMP/cb1TEMP$$ ]; then
++echo '('$PATH1' connect "'$PATH2' -v -f /etc/ppp/callback" 1> /dev/null 2> /dev/null ) || exit 1' >> /usr/sbin/ppp-go
+ else
+-echo '('$PATH1' connect "'$PATH2' -v -f /etc/ppp/pppscript") || exit 1' >> /usr/sbin/ppp-go
++echo '('$PATH1' connect "'$PATH2' -v -f /etc/ppp/pppscript" 1> /dev/null 2> /dev/null ) || exit 1' >> /usr/sbin/ppp-go
+ fi
+
+ echo "exit 0" >> /usr/sbin/ppp-go
+@@ -1194,26 +1227,37 @@
+ echo 'echo "USAGE: ppp-go -h <Help>"' >> /usr/sbin/ppp-go
+ echo "exit 1" >> /usr/sbin/ppp-go
+
+-chmod 4755 /usr/sbin/ppp-go 2>/dev/null
++#chmod 4755 /usr/sbin/ppp-go 2>/dev/null
++chmod 755 /usr/sbin/ppp-go 2>/dev/null
+
+-echo "lock" > /etc/ppp/options
+-echo "defaultroute" >> /etc/ppp/options
+-echo "noipdefault" >> /etc/ppp/options
+-echo "modem" >> /etc/ppp/options
+-echo "/dev/$MODEM" >> /etc/ppp/options
+-echo "$BAUDRATE" >> /etc/ppp/options
+-echo "crtscts" >> /etc/ppp/options
+-echo "debug" >> /etc/ppp/options
+-echo "passive" >> /etc/ppp/options
+-echo "asyncmap 0" >> /etc/ppp/options
++cat << EOF > /etc/ppp/options
++# General configuration options for PPPD:
++lock
++defaultroute
++noipdefault
++modem
++/dev/$MODEM
++$BAUDRATE
++crtscts
++# Uncomment the line below for more verbose error reporting:
++#debug
++# If you have a default route already, pppd may require the other side
++# to authenticate itself, which most ISPs will not do. To work around this,
++# uncomment the line below. Note that this may have negative side effects
++# on system security if you allow PPP dialins. See the docs in /usr/doc/ppp*
++# for more information.
++#noauth
++passive
++asyncmap 0
++EOF
+
+ if [ ! -z "$CBPN" ]; then
+ echo 'callback "'$CBPN'"' >> /etc/ppp/options
+ fi
+
+-if [ "$MSCHAP" = "MS-CHAP-SERVER-2" ] && [ -s /tmp/rspTEMP2 ]; then
++if [ "$MSCHAP" = "MS-CHAP-SERVER-2" ] && [ -s $TMP/rspTEMP2 ]; then
+ echo 'name "'$MSDOMAIN\\\\$AUTH1'"' >> /etc/ppp/options
+-elif [ -s /tmp/rspTEMP2 ]; then
++elif [ -s $TMP/rspTEMP2 ]; then
+ echo 'name "'$AUTH1'"' >> /etc/ppp/options
+ fi
+
+@@ -1277,7 +1321,7 @@
+ echo "0.0.0.0:10.10.10.10" >> /etc/ppp/options.demand
+ echo "demand" >> /etc/ppp/options.demand
+
+-if [ -s /tmp/cb1TEMP$$ ]; then
++if [ -s $TMP/cb1TEMP$$ ]; then
+ echo 'connect "'$PATH2' -v -f /etc/ppp/callback"' >> /etc/ppp/options.demand
+ else
+ echo 'connect "'$PATH2' -v -f /etc/ppp/pppscript"' >> /etc/ppp/options.demand
+@@ -1352,18 +1396,18 @@
+ 0.0.0.0 foobar.localnet foobar
+
+ ~# dip -tv
+-dip> port /dev/cua1
+-can't open - problems with locking cua1
++dip> port /dev/ttyS1
++can't open - problems with locking ttyS1
+
+ If you get the above message after "port /dev/modem", it means you have a
+-lock file in /var/lock/LCK..cua1, remove the lock file and kill dip.
++lock file in /var/lock/LCK..ttyS1, remove the lock file and kill dip.
+
+ ~# rm /var/lock/LCK*
+ # killall -9 dip
+
+ ~# dip -tv
+
+-dip> port /dev/cua1 <-Where's the modem? cua0 = com1 cua1 = com2 etc.)
++dip> port /dev/ttyS1 <-Where's the modem? ttyS0 = com1 ttyS1 = com2 etc.)
+ dip> speed 115200 <-Modem speed: 19200 38400 57600
+ dip> term
+
+@@ -1379,7 +1423,7 @@
+ dip> default <-Use default route.)
+ dip> mode ppp <-Start PPP at your end.)
+
+-~# ping sunsite.unc.edu <-To see if you're connected.)
++~# ping metalab.unc.edu <-To see if you're connected.)
+
+ ~# dip -k <-To kill dip and the PPP connection.)
+
+@@ -1393,7 +1437,7 @@
+ lock
+ defaultroute
+ noipdefault
+-/dev/cua1 <- cua0 = com1 cua1 = com2 cua2 = com3 cua3 = com4
++/dev/ttyS1 <- ttyS0 = com1 ttyS1 = com2 ttyS2 = com3 ttyS3 = com4
+ 57600
+ modem
+ crtscts
+@@ -1419,221 +1463,221 @@
+ }
+
+ echo "=========================================================================" > /etc/ppp/pppsetup.txt
+-cat /tmp/txtTEMP01 >> /etc/ppp/pppsetup.txt
++cat $TMP/txtTEMP01 >> /etc/ppp/pppsetup.txt
+
+-echo "=========================================================================" > /tmp/txtTEMP$$
+-echo "These are your PPP configuration files and instructions..." >> /tmp/txtTEMP$$
+-echo "=========================================================================" >> /tmp/txtTEMP$$
+-echo >> /tmp/txtTEMP$$
+-
+-if [ ! -s /tmp/cb1TEMP$$ ] && [ ! -s /tmp/sayTEMP1 ]; then
+-echo "# This is your /etc/ppp/pppscript." >> /tmp/txtTEMP$$
+-echo >> /tmp/txtTEMP$$
+-cat /etc/ppp/pppscript >> /tmp/txtTEMP$$
+-elif [ ! -s /tmp/cb1TEMP$$ ] && [ -s /tmp/sayTEMP1 ]; then
+-echo "# This is your /etc/ppp/pppscript." >> /tmp/txtTEMP$$
+-echo >> /tmp/txtTEMP$$
+-echo "Look at /etc/ppp/pppscript." >> /tmp/txtTEMP$$
+-echo >> /tmp/txtTEMP$$
+-fi
+-
+-if [ -s /tmp/cb1TEMP$$ ]; then
+-echo "# This is your /etc/ppp/callback script." >> /tmp/txtTEMP$$
+-echo >> /tmp/txtTEMP$$
+-echo "Look at /etc/ppp/callback." >> /tmp/txtTEMP$$
+-echo >> /tmp/txtTEMP$$
+-fi
+-
+-echo "# This is your /etc/ppp/options file." >> /tmp/txtTEMP$$
+-echo >> /tmp/txtTEMP$$
+-cat /etc/ppp/options >> /tmp/txtTEMP$$
++echo "=========================================================================" > $TMP/txtTEMP$$
++echo "These are your PPP configuration files and instructions..." >> $TMP/txtTEMP$$
++echo "=========================================================================" >> $TMP/txtTEMP$$
++echo >> $TMP/txtTEMP$$
++
++if [ ! -s $TMP/cb1TEMP$$ ] && [ ! -s $TMP/sayTEMP1 ]; then
++echo "# This is your /etc/ppp/pppscript." >> $TMP/txtTEMP$$
++echo >> $TMP/txtTEMP$$
++cat /etc/ppp/pppscript >> $TMP/txtTEMP$$
++elif [ ! -s $TMP/cb1TEMP$$ ] && [ -s $TMP/sayTEMP1 ]; then
++echo "# This is your /etc/ppp/pppscript." >> $TMP/txtTEMP$$
++echo >> $TMP/txtTEMP$$
++echo "Look at /etc/ppp/pppscript." >> $TMP/txtTEMP$$
++echo >> $TMP/txtTEMP$$
++fi
++
++if [ -s $TMP/cb1TEMP$$ ]; then
++echo "# This is your /etc/ppp/callback script." >> $TMP/txtTEMP$$
++echo >> $TMP/txtTEMP$$
++echo "Look at /etc/ppp/callback." >> $TMP/txtTEMP$$
++echo >> $TMP/txtTEMP$$
++fi
++
++echo "# This is your /etc/ppp/options file." >> $TMP/txtTEMP$$
++echo >> $TMP/txtTEMP$$
++cat /etc/ppp/options >> $TMP/txtTEMP$$
+
+ if [ "$MODERROR" = "YES" ]; then
+-echo >> /tmp/txtTEMP$$
+-echo "WARNING: I could not find the modem device: '/dev/$MODEM'" >> /tmp/txtTEMP$$
+-echo "cua0 = com1 cua1 = com2 cua2 = com3 cua3 = com4" >> /tmp/txtTEMP$$
+-echo "# MAKEDEV $MODEM # /dev/MAKEDEV $MODEM" >> /tmp/txtTEMP$$
++echo >> $TMP/txtTEMP$$
++echo "WARNING: I could not find the modem device: '/dev/$MODEM'" >> $TMP/txtTEMP$$
++echo "ttyS0 = com1 ttyS1 = com2 ttyS2 = com3 ttyS3 = com4" >> $TMP/txtTEMP$$
++echo "# MAKEDEV $MODEM # /dev/MAKEDEV $MODEM" >> $TMP/txtTEMP$$
+ fi
+
+ if [ "$DOMAINNAME" = "unknown.com" ] && [ "$PAP" = "MS-CHAP-80" ]; then
+-echo >> /tmp/txtTEMP$$
+-echo "The remotename option is required for microsoft's ms-chap-80." >> /tmp/txtTEMP$$
+-echo "You didn't give a DOMAIN NAME so i put unknown.com, you should" >> /tmp/txtTEMP$$
+-echo "change that to your service providers domain name." >> /tmp/txtTEMP$$
++echo >> $TMP/txtTEMP$$
++echo "The remotename option is required for microsoft's ms-chap-80." >> $TMP/txtTEMP$$
++echo "You didn't give a DOMAIN NAME so i put unknown.com, you should" >> $TMP/txtTEMP$$
++echo "change that to your service providers domain name." >> $TMP/txtTEMP$$
+ fi
+
+ if [ ! "$MODERROR" = "YES" ]; then
+-echo >> /tmp/txtTEMP$$
+-echo "I created the symbolic link: /dev/modem -> /dev/$MODEM" >> /tmp/txtTEMP$$
++echo >> $TMP/txtTEMP$$
++echo "I created the symbolic link: /dev/modem -> /dev/$MODEM" >> $TMP/txtTEMP$$
+ fi
+
+-echo >> /tmp/txtTEMP$$
+-echo "# This is your /etc/ppp/options.demand dialing file." >> /tmp/txtTEMP$$
+-echo >> /tmp/txtTEMP$$
+-cat /etc/ppp/options.demand >> /tmp/txtTEMP$$
+-
+-echo >> /tmp/txtTEMP$$
+-echo "If you have a ethernet connection you should change the local:remote" >> /tmp/txtTEMP$$
+-echo "IP addresses in the options.demand file, to your actual local and" >> /tmp/txtTEMP$$
+-echo "remote address. Example: 215.346.117.89:312.217.187.96" >> /tmp/txtTEMP$$
+-
+-echo >> /tmp/txtTEMP$$
+-echo "# This in your /etc/resolv.conf file." >> /tmp/txtTEMP$$
+-echo >> /tmp/txtTEMP$$
+-cat /etc/resolv.conf >> /tmp/txtTEMP$$
++echo >> $TMP/txtTEMP$$
++echo "# This is your /etc/ppp/options.demand dialing file." >> $TMP/txtTEMP$$
++echo >> $TMP/txtTEMP$$
++cat /etc/ppp/options.demand >> $TMP/txtTEMP$$
++
++echo >> $TMP/txtTEMP$$
++echo "If you have a ethernet connection you should change the local:remote" >> $TMP/txtTEMP$$
++echo "IP addresses in the options.demand file, to your actual local and" >> $TMP/txtTEMP$$
++echo "remote address. Example: 215.346.117.89:312.217.187.96" >> $TMP/txtTEMP$$
++
++echo >> $TMP/txtTEMP$$
++echo "# This in your /etc/resolv.conf file." >> $TMP/txtTEMP$$
++echo >> $TMP/txtTEMP$$
++cat /etc/resolv.conf >> $TMP/txtTEMP$$
+
+-echo >> /tmp/txtTEMP$$
++echo >> $TMP/txtTEMP$$
+ if [ -z $DNSIP ]; then
+-echo "207.132.116.5 <-IMPORTANT: This should be the IP address of" >> /tmp/txtTEMP$$
+-echo " your service providers nameserver." >> /tmp/txtTEMP$$
++echo "207.132.116.5 <-IMPORTANT: This should be the IP address of" >> $TMP/txtTEMP$$
++echo " your service providers nameserver." >> $TMP/txtTEMP$$
+ else
+-echo "$DNSIP <-IMPORTANT: This should be the IP address of" >> /tmp/txtTEMP$$
+-echo " your service providers nameserver." >> /tmp/txtTEMP$$
++echo "$DNSIP <-IMPORTANT: This should be the IP address of" >> $TMP/txtTEMP$$
++echo " your service providers nameserver." >> $TMP/txtTEMP$$
+ fi
+
+ if [ -z $DNSIP ]; then
+-echo >> /tmp/txtTEMP$$
+-echo "WARNING: You didn't give a IP address for your internet service" >> /tmp/txtTEMP$$
+-echo "providers nameserver, i put '207.132.116.5' but this may not work." >> /tmp/txtTEMP$$
++echo >> $TMP/txtTEMP$$
++echo "WARNING: You didn't give a IP address for your internet service" >> $TMP/txtTEMP$$
++echo "providers nameserver, i put '207.132.116.5' but this may not work." >> $TMP/txtTEMP$$
+ fi
+
+ if [ "$PAP" = "CHAP" ] || [ "$PAP" = "MS-CHAP-80" ]; then
+-echo >> /tmp/txtTEMP$$
+-echo "# This is your /etc/ppp/chap-secrets file." >> /tmp/txtTEMP$$
+-echo >> /tmp/txtTEMP$$
+-echo "Look at /etc/ppp/chap-secrets." >> /tmp/txtTEMP$$
++echo >> $TMP/txtTEMP$$
++echo "# This is your /etc/ppp/chap-secrets file." >> $TMP/txtTEMP$$
++echo >> $TMP/txtTEMP$$
++echo "Look at /etc/ppp/chap-secrets." >> $TMP/txtTEMP$$
+ fi
+
+ if [ "$DOMAINNAME" = "unknown.com" ] && [ "$PAP" = "MS-CHAP-80" ]; then
+-echo >> /tmp/txtTEMP$$
+-echo "You didn't give a DOMAIN NAME that's why i put unknown.com in" >> /tmp/txtTEMP$$
+-echo "the /etc/ppp/chap-secrets file." >> /tmp/txtTEMP$$
+-echo "You should change that to your service providers domain name." >> /tmp/txtTEMP$$
++echo >> $TMP/txtTEMP$$
++echo "You didn't give a DOMAIN NAME that's why i put unknown.com in" >> $TMP/txtTEMP$$
++echo "the /etc/ppp/chap-secrets file." >> $TMP/txtTEMP$$
++echo "You should change that to your service providers domain name." >> $TMP/txtTEMP$$
+ fi
+
+ if [ "$PAP" = "PAP" ]; then
+-echo >> /tmp/txtTEMP$$
+-echo "# This is your /etc/ppp/pap-secrets file." >> /tmp/txtTEMP$$
+-echo >> /tmp/txtTEMP$$
+-echo "Look at /etc/ppp/pap-secrets." >> /tmp/txtTEMP$$
++echo >> $TMP/txtTEMP$$
++echo "# This is your /etc/ppp/pap-secrets file." >> $TMP/txtTEMP$$
++echo >> $TMP/txtTEMP$$
++echo "Look at /etc/ppp/pap-secrets." >> $TMP/txtTEMP$$
+ fi
+
+ if [ "$PATH1" = "pppd" ]; then
+-echo >> /tmp/txtTEMP$$
+-echo "ATENTION: I couldn't find <pppd> on your system." >> /tmp/txtTEMP$$
+-echo "You need <pppd> on your system to make the PPP connection." >> /tmp/txtTEMP$$
++echo >> $TMP/txtTEMP$$
++echo "ATENTION: I couldn't find <pppd> on your system." >> $TMP/txtTEMP$$
++echo "You need <pppd> on your system to make the PPP connection." >> $TMP/txtTEMP$$
+ fi
+
+ if [ "$PATH2" = "chat" ]; then
+-echo >> /tmp/txtTEMP$$
+-echo "ATENTION: I couldn't find <chat> on your system." >> /tmp/txtTEMP$$
+-echo "You need <chat> on your system to make the PPP connection." >> /tmp/txtTEMP$$
++echo >> $TMP/txtTEMP$$
++echo "ATENTION: I couldn't find <chat> on your system." >> $TMP/txtTEMP$$
++echo "You need <chat> on your system to make the PPP connection." >> $TMP/txtTEMP$$
+ fi
+
+ if [ ! "$MSG1" = "YES" ] && [ ! "$MSG2" = "YES" ]; then
+-echo >> /tmp/txtTEMP$$
+-echo "ATENTION: I couldn't find 'PPP' in the kernel or as a module." >> /tmp/txtTEMP$$
+-echo "You'll need 'PPP' in the kernel or as a module to make a PPP connection." >> /tmp/txtTEMP$$
++echo >> $TMP/txtTEMP$$
++echo "ATENTION: I couldn't find 'PPP' in the kernel or as a module." >> $TMP/txtTEMP$$
++echo "You'll need 'PPP' in the kernel or as a module to make a PPP connection." >> $TMP/txtTEMP$$
+ fi
+
+ if [ "$PPPRC" = "YES" ]; then
+-echo >> /tmp/txtTEMP$$
+-echo "ATENTION: I found a $HOME/.ppprc file and moved it to" >> /tmp/txtTEMP$$
+-echo ".ppprc.off, it might interfere with the PPP connection." >> /tmp/txtTEMP$$
++echo >> $TMP/txtTEMP$$
++echo "ATENTION: I found a $HOME/.ppprc file and moved it to" >> $TMP/txtTEMP$$
++echo ".ppprc.off, it might interfere with the PPP connection." >> $TMP/txtTEMP$$
+ fi
+
+-echo >> /tmp/txtTEMP$$
+-echo "Does everything look correct? if not, run 'pppsetup' again..." >> /tmp/txtTEMP$$
+-
+-echo >> /tmp/txtTEMP$$
+-echo "=========================================================================" >> /tmp/txtTEMP$$
+-echo "To connect to your service provider." >> /tmp/txtTEMP$$
+-echo "=========================================================================" >> /tmp/txtTEMP$$
+-echo >> /tmp/txtTEMP$$
+-echo "~# ppp-go <-Make PPP connection.)" >> /tmp/txtTEMP$$
++echo >> $TMP/txtTEMP$$
++echo "Does everything look correct? if not, run 'pppsetup' again..." >> $TMP/txtTEMP$$
++
++echo >> $TMP/txtTEMP$$
++echo "=========================================================================" >> $TMP/txtTEMP$$
++echo "To connect to your service provider." >> $TMP/txtTEMP$$
++echo "=========================================================================" >> $TMP/txtTEMP$$
++echo >> $TMP/txtTEMP$$
++echo "~# ppp-go <-Make PPP connection.)" >> $TMP/txtTEMP$$
+
+-echo >> /tmp/txtTEMP$$
+-echo "You'll hear and see the modem dialing then once connected," >> /tmp/txtTEMP$$
+-echo "logging you in Username: or Login: and Password: etc." >> /tmp/txtTEMP$$
+-
+-echo >> /tmp/txtTEMP$$
+-echo "You won't see a Username or Login: and Password: prompt" >> /tmp/txtTEMP$$
+-echo "if they're using PAP or CHAP to authenticate you." >> /tmp/txtTEMP$$
+-
+-echo >> /tmp/txtTEMP$$
+-echo "If they use PAP or CHAP you'll just see CONNECT -- got it." >> /tmp/txtTEMP$$
+-
+-echo >> /tmp/txtTEMP$$
+-echo "If the connection was successful you'll see the Local IP and" >> /tmp/txtTEMP$$
+-echo "Remote IP address printed to the screen, you can press [Enter]." >> /tmp/txtTEMP$$
+-
+-echo >> /tmp/txtTEMP$$
+-echo "If you run ppp-go in X windows you probably won't see a Local" >> /tmp/txtTEMP$$
+-echo "and Remote IP address printed to the screen, you'll just see" >> /tmp/txtTEMP$$
+-echo "the connection process come to a end, wait a few seconds and" >> /tmp/txtTEMP$$
+-echo "press [Enter] at that point." >> /tmp/txtTEMP$$
+-
+-echo >> /tmp/txtTEMP$$
+-echo "If you don't connect for whatever reason e.g. Failed No" >> /tmp/txtTEMP$$
+-echo "Dialtone, Busy, No Carrier, Whatever, Exit, just press" >> /tmp/txtTEMP$$
+-echo "[Enter] at that point." >> /tmp/txtTEMP$$
+-
+-echo >> /tmp/txtTEMP$$
+-echo "if you have syslogd running, you can see the output messages" >> /tmp/txtTEMP$$
+-echo "from pppd and chat in the /var/log/messages and or debug file." >> /tmp/txtTEMP$$
+-
+-echo >> /tmp/txtTEMP$$
+-echo "Sample /var/log/messages file." >> /tmp/txtTEMP$$
+-echo >> /tmp/txtTEMP$$
+-echo "`hostname 2>/dev/null` pppd[562]: Serial connection established." >> /tmp/txtTEMP$$
+-echo "`hostname 2>/dev/null` pppd[562]: Using interface ppp0" >> /tmp/txtTEMP$$
+-echo "`hostname 2>/dev/null` pppd[562]: Connect: ppp0 <--> /dev/modem" >> /tmp/txtTEMP$$
+-echo "`hostname 2>/dev/null` pppd[562]: local IP address 215.87.78.18" >> /tmp/txtTEMP$$
+-echo "`hostname 2>/dev/null` pppd[562]: remote IP address 205.94.97.35" >> /tmp/txtTEMP$$
+-
+-echo >> /tmp/txtTEMP$$
+-echo "You don't have a successful PPP connection until you" >> /tmp/txtTEMP$$
+-echo "receive a local & remote IP address like above." >> /tmp/txtTEMP$$
+-
+-echo >> /tmp/txtTEMP$$
+-echo "If you have the X window system, you could connect in a Xterm." >> /tmp/txtTEMP$$
+-echo >> /tmp/txtTEMP$$
+-echo "`hostname 2>/dev/null` # startx" >> /tmp/txtTEMP$$
+-echo "`hostname 2>/dev/null` # ppp-go" >> /tmp/txtTEMP$$
+-echo "`hostname 2>/dev/null` # netscape mosaic etc." >> /tmp/txtTEMP$$
++echo >> $TMP/txtTEMP$$
++echo "You'll hear and see the modem dialing then once connected," >> $TMP/txtTEMP$$
++echo "logging you in Username: or Login: and Password: etc." >> $TMP/txtTEMP$$
++
++echo >> $TMP/txtTEMP$$
++echo "You won't see a Username or Login: and Password: prompt" >> $TMP/txtTEMP$$
++echo "if they're using PAP or CHAP to authenticate you." >> $TMP/txtTEMP$$
++
++echo >> $TMP/txtTEMP$$
++echo "If they use PAP or CHAP you'll just see CONNECT -- got it." >> $TMP/txtTEMP$$
++
++echo >> $TMP/txtTEMP$$
++echo "If the connection was successful you'll see the Local IP and" >> $TMP/txtTEMP$$
++echo "Remote IP address printed to the screen, you can press [Enter]." >> $TMP/txtTEMP$$
++
++echo >> $TMP/txtTEMP$$
++echo "If you run ppp-go in X windows you probably won't see a Local" >> $TMP/txtTEMP$$
++echo "and Remote IP address printed to the screen, you'll just see" >> $TMP/txtTEMP$$
++echo "the connection process come to a end, wait a few seconds and" >> $TMP/txtTEMP$$
++echo "press [Enter] at that point." >> $TMP/txtTEMP$$
++
++echo >> $TMP/txtTEMP$$
++echo "If you don't connect for whatever reason e.g. Failed No" >> $TMP/txtTEMP$$
++echo "Dialtone, Busy, No Carrier, Whatever, Exit, just press" >> $TMP/txtTEMP$$
++echo "[Enter] at that point." >> $TMP/txtTEMP$$
++
++echo >> $TMP/txtTEMP$$
++echo "if you have syslogd running, you can see the output messages" >> $TMP/txtTEMP$$
++echo "from pppd and chat in the /var/log/messages and or debug file." >> $TMP/txtTEMP$$
++
++echo >> $TMP/txtTEMP$$
++echo "Sample /var/log/messages file." >> $TMP/txtTEMP$$
++echo >> $TMP/txtTEMP$$
++echo "`hostname 2>/dev/null` pppd[562]: Serial connection established." >> $TMP/txtTEMP$$
++echo "`hostname 2>/dev/null` pppd[562]: Using interface ppp0" >> $TMP/txtTEMP$$
++echo "`hostname 2>/dev/null` pppd[562]: Connect: ppp0 <--> /dev/modem" >> $TMP/txtTEMP$$
++echo "`hostname 2>/dev/null` pppd[562]: local IP address 215.87.78.18" >> $TMP/txtTEMP$$
++echo "`hostname 2>/dev/null` pppd[562]: remote IP address 205.94.97.35" >> $TMP/txtTEMP$$
++
++echo >> $TMP/txtTEMP$$
++echo "You don't have a successful PPP connection until you" >> $TMP/txtTEMP$$
++echo "receive a local & remote IP address like above." >> $TMP/txtTEMP$$
++
++echo >> $TMP/txtTEMP$$
++echo "If you have the X window system, you could connect in a Xterm." >> $TMP/txtTEMP$$
++echo >> $TMP/txtTEMP$$
++echo "`hostname 2>/dev/null` # startx" >> $TMP/txtTEMP$$
++echo "`hostname 2>/dev/null` # ppp-go" >> $TMP/txtTEMP$$
++echo "`hostname 2>/dev/null` # netscape mosaic etc." >> $TMP/txtTEMP$$
+
+-echo >> /tmp/txtTEMP$$
+-echo "~# ppp-off <-To end the ppp connection.)" >> /tmp/txtTEMP$$
++echo >> $TMP/txtTEMP$$
++echo "~# ppp-off <-To end the ppp connection.)" >> $TMP/txtTEMP$$
+
+-echo >> /tmp/txtTEMP$$
+-echo "~# ppp-go -h <-For help.)" >> /tmp/txtTEMP$$
++echo >> $TMP/txtTEMP$$
++echo "~# ppp-go -h <-For help.)" >> $TMP/txtTEMP$$
+
+-echo >> /tmp/txtTEMP$$
+-echo 'There is no support in linux for "WinModems", if you have a' >> /tmp/txtTEMP$$
+-echo "WinModem you will not be able to use it in linux." >> /tmp/txtTEMP$$
+-echo >> /tmp/txtTEMP$$
+-echo "There is support for plug n play modems, if you have a pnp" >> /tmp/txtTEMP$$
+-echo 'modem you may need "isapnptools" to get it recognized.' >> /tmp/txtTEMP$$
++echo >> $TMP/txtTEMP$$
++echo 'There is no support in linux for "WinModems", if you have a' >> $TMP/txtTEMP$$
++echo "WinModem you will not be able to use it in linux." >> $TMP/txtTEMP$$
++echo >> $TMP/txtTEMP$$
++echo "There is support for plug n play modems, if you have a pnp" >> $TMP/txtTEMP$$
++echo 'modem you may need "isapnptools" to get it recognized.' >> $TMP/txtTEMP$$
+
+-echo >> /tmp/txtTEMP$$
+-echo "=========================================================================" >> /tmp/txtTEMP$$
++echo >> $TMP/txtTEMP$$
++echo "=========================================================================" >> $TMP/txtTEMP$$
+ if [ -s /usr/doc/pppsetup/pppsetup-$VERSION.README ]; then
+-echo "#### Look at the /usr/doc/pppsetup/pppsetup-$VERSION.README. ####" >> /tmp/txtTEMP$$
++echo "#### Look at the /usr/doc/pppsetup/pppsetup-$VERSION.README. ####" >> $TMP/txtTEMP$$
+ fi
+-echo "#### A copy of this text can be found in: /etc/ppp/pppsetup.txt ####" >> /tmp/txtTEMP$$
+-echo "=========================================================================" >> /tmp/txtTEMP$$
++echo "#### A copy of this text can be found in: /etc/ppp/pppsetup.txt ####" >> $TMP/txtTEMP$$
++echo "=========================================================================" >> $TMP/txtTEMP$$
+
+-echo >> /tmp/txtTEMP$$
+-echo "Done... You can exit now..." >> /tmp/txtTEMP$$
+-echo >> /tmp/txtTEMP$$
+-echo "End..." >> /tmp/txtTEMP$$
+-echo "=========================================================================" >> /tmp/txtTEMP$$
++echo >> $TMP/txtTEMP$$
++echo "Done... You can exit now..." >> $TMP/txtTEMP$$
++echo >> $TMP/txtTEMP$$
++echo "End..." >> $TMP/txtTEMP$$
++echo "=========================================================================" >> $TMP/txtTEMP$$
+
+-dialog --title "DONE" --clear --textbox "/tmp/txtTEMP$$" 22 78
++dialog --title "DONE" --clear --textbox "$TMP/txtTEMP$$" 22 78
+
+ clear 2>/dev/null || echo
+
+-cat /tmp/txtTEMP$$ >> /etc/ppp/pppsetup.txt
++cat $TMP/txtTEMP$$ >> /etc/ppp/pppsetup.txt
+ chmod 600 /etc/ppp/pppsetup.txt 2>/dev/null
+
+ if [ ! -s /etc/syslog.conf ]; then
+@@ -1644,7 +1688,7 @@
+
+ demand >> /etc/ppp/pppsetup.txt
+ other >> /etc/ppp/pppsetup.txt
+-rm -f /tmp/*TEMP* 2>/dev/null
++rm -f $TMP/*TEMP* 2>/dev/null
+
+ killall -9 syslogd 2>/dev/null
+ syslogd & 2>/dev/null
+@@ -1659,7 +1703,7 @@
+ else
+ demand >> /etc/ppp/pppsetup.txt
+ other >> /etc/ppp/pppsetup.txt
+-rm -f /tmp/*TEMP* 2>/dev/null
++rm -f $TMP/*TEMP* 2>/dev/null
+ echo
+ echo "#### A copy of this text can be found in: /etc/ppp/pppsetup.txt ####"
+ if [ -s /usr/doc/pppsetup/pppsetup-$VERSION.README ]; then
diff --git a/patches/source/ppp/radius.msdict b/patches/source/ppp/radius.msdict
new file mode 100644
index 00000000..da3a317c
--- /dev/null
+++ b/patches/source/ppp/radius.msdict
@@ -0,0 +1,81 @@
+#
+# Microsoft's VSA's, from RFC 2548
+#
+# $Id: dictionary.microsoft,v 1.1 2004/11/14 07:26:26 paulus Exp $
+#
+
+VENDOR Microsoft 311 Microsoft
+
+ATTRIBUTE MS-CHAP-Response 1 string Microsoft
+ATTRIBUTE MS-CHAP-Error 2 string Microsoft
+ATTRIBUTE MS-CHAP-CPW-1 3 string Microsoft
+ATTRIBUTE MS-CHAP-CPW-2 4 string Microsoft
+ATTRIBUTE MS-CHAP-LM-Enc-PW 5 string Microsoft
+ATTRIBUTE MS-CHAP-NT-Enc-PW 6 string Microsoft
+ATTRIBUTE MS-MPPE-Encryption-Policy 7 string Microsoft
+# This is referred to as both singular and plural in the RFC.
+# Plural seems to make more sense.
+ATTRIBUTE MS-MPPE-Encryption-Type 8 string Microsoft
+ATTRIBUTE MS-MPPE-Encryption-Types 8 string Microsoft
+ATTRIBUTE MS-RAS-Vendor 9 integer Microsoft
+ATTRIBUTE MS-CHAP-Domain 10 string Microsoft
+ATTRIBUTE MS-CHAP-Challenge 11 string Microsoft
+ATTRIBUTE MS-CHAP-MPPE-Keys 12 string Microsoft
+ATTRIBUTE MS-BAP-Usage 13 integer Microsoft
+ATTRIBUTE MS-Link-Utilization-Threshold 14 integer Microsoft
+ATTRIBUTE MS-Link-Drop-Time-Limit 15 integer Microsoft
+ATTRIBUTE MS-MPPE-Send-Key 16 string Microsoft
+ATTRIBUTE MS-MPPE-Recv-Key 17 string Microsoft
+ATTRIBUTE MS-RAS-Version 18 string Microsoft
+ATTRIBUTE MS-Old-ARAP-Password 19 string Microsoft
+ATTRIBUTE MS-New-ARAP-Password 20 string Microsoft
+ATTRIBUTE MS-ARAP-PW-Change-Reason 21 integer Microsoft
+
+ATTRIBUTE MS-Filter 22 string Microsoft
+ATTRIBUTE MS-Acct-Auth-Type 23 integer Microsoft
+ATTRIBUTE MS-Acct-EAP-Type 24 integer Microsoft
+
+ATTRIBUTE MS-CHAP2-Response 25 string Microsoft
+ATTRIBUTE MS-CHAP2-Success 26 string Microsoft
+ATTRIBUTE MS-CHAP2-CPW 27 string Microsoft
+
+ATTRIBUTE MS-Primary-DNS-Server 28 ipaddr Microsoft
+ATTRIBUTE MS-Secondary-DNS-Server 29 ipaddr Microsoft
+ATTRIBUTE MS-Primary-NBNS-Server 30 ipaddr Microsoft
+ATTRIBUTE MS-Secondary-NBNS-Server 31 ipaddr Microsoft
+
+#ATTRIBUTE MS-ARAP-Challenge 33 string Microsoft
+
+
+#
+# Integer Translations
+#
+
+# MS-BAP-Usage Values
+
+VALUE MS-BAP-Usage Not-Allowed 0
+VALUE MS-BAP-Usage Allowed 1
+VALUE MS-BAP-Usage Required 2
+
+# MS-ARAP-Password-Change-Reason Values
+
+VALUE MS-ARAP-PW-Change-Reason Just-Change-Password 1
+VALUE MS-ARAP-PW-Change-Reason Expired-Password 2
+VALUE MS-ARAP-PW-Change-Reason Admin-Requires-Password-Change 3
+VALUE MS-ARAP-PW-Change-Reason Password-Too-Short 4
+
+# MS-Acct-Auth-Type Values
+
+VALUE MS-Acct-Auth-Type PAP 1
+VALUE MS-Acct-Auth-Type CHAP 2
+VALUE MS-Acct-Auth-Type MS-CHAP-1 3
+VALUE MS-Acct-Auth-Type MS-CHAP-2 4
+VALUE MS-Acct-Auth-Type EAP 5
+
+# MS-Acct-EAP-Type Values
+
+VALUE MS-Acct-EAP-Type MD5 4
+VALUE MS-Acct-EAP-Type OTP 5
+VALUE MS-Acct-EAP-Type Generic-Token-Card 6
+VALUE MS-Acct-EAP-Type TLS 13
+
diff --git a/patches/source/ppp/realms b/patches/source/ppp/realms
new file mode 100644
index 00000000..34403640
--- /dev/null
+++ b/patches/source/ppp/realms
@@ -0,0 +1,22 @@
+# /etc/radiusclient/realms
+#
+# Handle realm @netservers.co.uk on an internal RADIUS server
+# (note the server must be told to strip the realm)
+
+#authserver netservers.co.uk 192.168.1.1:1812
+#acctserver netservers.co.uk 192.168.1.1:1813
+
+# users in realm @example.com are handled by separate servers
+
+#authserver example.com 10.0.0.1:1812
+#acctserver example.com 10.0.0.2:1813
+
+# the DEFAULT realm matches users that do not supply a realm
+
+#authserver DEFAULT 192.168.1.1:1812
+#acctserver DEFAULT 192.168.1.1:1813
+
+# Any realms that do not match in the realms file automatically fall
+# through to the standard radius plugin which uses the servers in the
+# radiusclient.conf file. Note that this is different than the
+# DEFAULT realm match, above.
diff --git a/patches/source/ppp/servers b/patches/source/ppp/servers
new file mode 100644
index 00000000..b061bf93
--- /dev/null
+++ b/patches/source/ppp/servers
@@ -0,0 +1,4 @@
+#Server Name or Client/Server pair Key
+#---------------- ---------------
+#portmaster.elemental.net hardlyasecret
+#portmaster2.elemental.net donttellanyone
diff --git a/patches/source/ppp/slack-desc b/patches/source/ppp/slack-desc
new file mode 100644
index 00000000..ddf6f37f
--- /dev/null
+++ b/patches/source/ppp/slack-desc
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|'
+# on the right side marks the last column you can put a character in. You must
+# make exactly 11 lines for the formatting to be correct. It's also
+# customary to leave one space after the ':'.
+
+ |-----handy-ruler------------------------------------------------------|
+ppp: ppp (Point-to-Point Protocol)
+ppp:
+ppp: The Point-to-Point Protocol (PPP) provides a method for transmitting
+ppp: data over serial links. It's commonly used for connecting to the
+ppp: Internet using a modem. This package includes the PPP daemon (pppd),
+ppp: which negotiates with the peer to establish the link and sets up the
+ppp: ppp network interface, and pppsetup, an easy-to-use utility for
+ppp: setting up your PPP daemon.
+ppp:
+ppp:
+ppp:
diff --git a/patches/source/proftpd/doinst.sh b/patches/source/proftpd/doinst.sh
new file mode 100644
index 00000000..37fe02dd
--- /dev/null
+++ b/patches/source/proftpd/doinst.sh
@@ -0,0 +1,18 @@
+config() {
+ NEW="$1"
+ OLD="`dirname $NEW`/`basename $NEW .new`"
+ # If there's no config file by that name, mv it over:
+ if [ ! -r $OLD ]; then
+ mv $NEW $OLD
+ elif [ "`cat $OLD | md5sum`" = "`cat $NEW | md5sum`" ]; then # toss the redundant copy
+ rm $NEW
+ fi
+ # Otherwise, we leave the .new copy for the admin to consider...
+}
+
+config etc/ftpusers.new
+config etc/proftpd.conf.new
+
+# Remove any old proftpd files:
+rm -f var/run/proftpd/proftpd*
+
diff --git a/patches/source/proftpd/etc/ftpusers b/patches/source/proftpd/etc/ftpusers
new file mode 100644
index 00000000..d08f2a1f
--- /dev/null
+++ b/patches/source/proftpd/etc/ftpusers
@@ -0,0 +1,22 @@
+#
+# ftpusers This file describes the names of the users that may
+# _*NOT*_ log into the system via the FTP server.
+# This usually includes "root", "uucp", "news" and the
+# like, because those users have too much power to be
+# allowed to do "just" FTP...
+#
+#
+# Version: @(#)/etc/ftpusers 3.00 02/25/2001 volkerdi
+#
+# Original Author: Fred N. van Kempen, <waltje@uwalt.nl.mugnet.org>
+#
+# The entire line gets matched, so no comments or extra characters on
+# lines containing a username.
+#
+# To enable anonymous FTP, remove the "ftp" user:
+ftp
+root
+uucp
+news
+
+# End of ftpusers.
diff --git a/patches/source/proftpd/etc/proftpd.conf b/patches/source/proftpd/etc/proftpd.conf
new file mode 100644
index 00000000..ffb0df3f
--- /dev/null
+++ b/patches/source/proftpd/etc/proftpd.conf
@@ -0,0 +1,74 @@
+# This is a basic ProFTPD configuration file.
+# It establishes a single server and a single anonymous login.
+# It assumes that you have a user/group "nobody" and "ftp"
+# for normal/anonymous operation.
+
+ServerName "ProFTPD Default Installation"
+#ServerType standalone
+ServerType inetd
+DefaultServer on
+
+# Port 21 is the standard FTP port.
+Port 21
+# Umask 022 is a good standard umask to prevent new dirs and files
+# from being group and world writable.
+Umask 022
+
+# To prevent DoS attacks, set the maximum number of child processes
+# to 30. If you need to allow more than 30 concurrent connections
+# at once, simply increase this value. Note that this ONLY works
+# in standalone mode, in inetd mode you should use an inetd server
+# that allows you to limit maximum number of processes per service
+# (such as xinetd)
+MaxInstances 30
+
+# Set the user and group that the server normally runs at.
+User nobody
+Group nogroup
+
+# This next option is required for NIS or NIS+ to work properly:
+#PersistentPasswd off
+
+SystemLog /var/log/proftpd.log
+TransferLog /var/log/xferlog
+
+# Normally, we want files to be overwriteable.
+<Directory /*>
+ AllowOverwrite on
+</Directory>
+
+# A basic anonymous FTP server configuration.
+# To enable this, remove the user ftp from /etc/ftpusers.
+<Anonymous ~ftp>
+ RequireValidShell off
+ User ftp
+ Group ftp
+ # We want clients to be able to login with "anonymous" as well as "ftp"
+ UserAlias anonymous ftp
+
+ # Limit the maximum number of anonymous logins
+ MaxClients 50
+
+ # We want 'welcome.msg' displayed at login, and '.message' displayed
+ # in each newly chdired directory.
+ DisplayLogin welcome.msg
+ DisplayChdir .message
+
+ # Limit WRITE everywhere in the anonymous chroot
+ <Limit WRITE>
+ DenyAll
+ </Limit>
+
+ # An upload directory that allows storing files but not retrieving
+ # or creating directories.
+# <Directory incoming/*>
+# <Limit READ>
+# DenyAll
+# </Limit>
+#
+# <Limit STOR>
+# AllowAll
+# </Limit>
+# </Directory>
+
+</Anonymous>
diff --git a/patches/source/proftpd/proftpd.SlackBuild b/patches/source/proftpd/proftpd.SlackBuild
new file mode 100755
index 00000000..898dc198
--- /dev/null
+++ b/patches/source/proftpd/proftpd.SlackBuild
@@ -0,0 +1,134 @@
+#!/bin/sh
+
+# Copyright 2008, 2009, 2010, 2011, 2015 Patrick J. Volkerding, Sebeka, MN, USA
+# All rights reserved.
+#
+# Redistribution and use of this script, with or without modification, is
+# permitted provided that the following conditions are met:
+#
+# 1. Redistributions of this script must retain the above copyright
+# notice, this list of conditions and the following disclaimer.
+#
+# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED
+# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
+# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
+# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+VERSION=1.3.5e
+DIRVER=1.3.5e
+BUILD=${BUILD:-1_slack13.0}
+
+NUMJOBS=${NUMJOBS:-" -j7 "}
+
+# Automatically determine the architecture we're building on:
+if [ -z "$ARCH" ]; then
+ case "$( uname -m )" in
+ i?86) export ARCH=i486 ;;
+ arm*) export ARCH=arm ;;
+ # Unless $ARCH is already set, use uname -m for all other archs:
+ *) export ARCH=$( uname -m ) ;;
+ esac
+fi
+
+if [ "$ARCH" = "i486" ]; then
+ SLKCFLAGS="-O2 -march=i486 -mtune=i686"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "s390" ]; then
+ SLKCFLAGS="-O2"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "x86_64" ]; then
+ SLKCFLAGS="-O2 -fPIC"
+ LIBDIRSUFFIX="64"
+else
+ SLKCFLAGS="-O2"
+ LIBDIRSUFFIX=""
+fi
+
+CWD=$(pwd)
+TMP=${TMP:-/tmp}
+PKG=$TMP/package-proftpd
+
+rm -rf $PKG
+mkdir -p $TMP $PKG
+
+cd $TMP
+rm -rf proftpd-$VERSION
+tar xvf $CWD/proftpd-$VERSION.tar.?z* || exit 1
+cd proftpd-$DIRVER || exit 1
+
+chown -R root:root .
+find . \
+ \( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \
+ -exec chmod 755 {} \; -o \
+ \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \
+ -exec chmod 644 {} \;
+
+CFLAGS="$SLKCFLAGS" \
+CXXFLAGS="$SLKCFLAGS" \
+./configure \
+ --prefix=/usr \
+ --libdir=/usr/lib${LIBDIRSUFFIX} \
+ --mandir=/usr/man \
+ --sysconfdir=/etc \
+ --enable-autoshadow \
+ --enable-ctrls \
+ --enable-ipv6 \
+ --localstatedir=/var/run \
+ --with-modules=mod_readme:mod_ratio:mod_tls:mod_wrap:mod_ctrls_admin \
+ --build=$ARCH-slackware-linux || exit 1
+# This caused funny messages about "Quotas off" with every FTP command,
+# and mod_wrap gets a compile error:
+# --with-modules= ... mod_quota ...
+
+make $NUMJOBS || make || exit 1
+make install DESTDIR=$PKG || exit 1
+
+# With no library to link against, these are useless:
+rm -rf $PKG/usr/include
+rm -f $PKG/etc/*
+rmdir $PKG/usr/libexec 2> /dev/null
+
+cat $CWD/etc/proftpd.conf > $PKG/etc/proftpd.conf.new
+cat $CWD/etc/ftpusers > $PKG/etc/ftpusers.new
+mkdir -p $PKG/home/ftp
+
+gzip -9 $PKG/usr/man/man?/*.?
+
+mkdir -p $PKG/usr/doc/proftpd-$VERSION
+cp -a COPYING CREDITS INSTALL NEWS README* \
+ contrib/README.mod_wrap contrib/README.ratio \
+ $PKG/usr/doc/proftpd-$VERSION
+# If there's a ChangeLog, installing at least part of the recent history
+# is useful, but don't let it get totally out of control:
+if [ -r ChangeLog ]; then
+ DOCSDIR=$(echo $PKG/usr/doc/proftpd-$VERSION)
+ cat ChangeLog | head -n 1000 > $DOCSDIR/ChangeLog
+ touch -r ChangeLog $DOCSDIR/ChangeLog
+fi
+cp -a contrib/README $PKG/usr/doc/proftpd-$VERSION/README.contrib
+cp -a doc sample-configurations $PKG/usr/doc/proftpd-$VERSION
+# Bloat removal:
+( cd $PKG/usr/doc
+ find . -name "*.sgml" -exec rm {} \;
+ find . -name "*.pdf" -exec rm {} \;
+)
+rmdir $PKG/usr/share/locale
+rmdir $PKG/usr/share
+
+find $PKG | xargs file | grep -e "executable" -e "shared object" \
+ | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
+
+mkdir -p $PKG/install
+zcat $CWD/doinst.sh.gz > $PKG/install/doinst.sh
+cat $CWD/slack-desc > $PKG/install/slack-desc
+
+cd $PKG
+/sbin/makepkg -l y -c n $TMP/proftpd-$VERSION-$ARCH-$BUILD.txz
+
diff --git a/patches/source/proftpd/slack-desc b/patches/source/proftpd/slack-desc
new file mode 100644
index 00000000..5ed80ca9
--- /dev/null
+++ b/patches/source/proftpd/slack-desc
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|' on
+# the right side marks the last column you can put a character in. You must make
+# exactly 11 lines for the formatting to be correct. It's also customary to
+# leave one space after the ':'.
+
+ |-----handy-ruler------------------------------------------------------|
+proftpd: proftpd (FTP server daemon)
+proftpd:
+proftpd: ProFTPD is the Professional File Transfer Protocol (FTP) server
+proftpd: daemon. ProFTPD grew out of the desire to have a secure and
+proftpd: configurable FTP server, and out of a significant admiration of the
+proftpd: Apache web server.
+proftpd:
+proftpd:
+proftpd:
+proftpd:
+proftpd:
diff --git a/patches/source/randrproto/arch.use.flags b/patches/source/randrproto/arch.use.flags
new file mode 100644
index 00000000..11087c88
--- /dev/null
+++ b/patches/source/randrproto/arch.use.flags
@@ -0,0 +1,9 @@
+if [ "$ARCH" = "i486" ]; then
+ SLKCFLAGS="-O2 -march=i486 -mtune=i686"
+elif [ "$ARCH" = "i586" ]; then
+ SLKCFLAGS="-O2 -march=i586 -mtune=i686"
+elif [ "$ARCH" = "s390" ]; then
+ SLKCFLAGS="-O2"
+elif [ "$ARCH" = "x86_64" ]; then
+ SLKCFLAGS="-O2 -fPIC"
+fi
diff --git a/patches/source/randrproto/build/randrproto b/patches/source/randrproto/build/randrproto
new file mode 100644
index 00000000..1551cb6a
--- /dev/null
+++ b/patches/source/randrproto/build/randrproto
@@ -0,0 +1 @@
+1_slack13.0
diff --git a/patches/source/randrproto/configure/configure b/patches/source/randrproto/configure/configure
new file mode 100644
index 00000000..dcb1109b
--- /dev/null
+++ b/patches/source/randrproto/configure/configure
@@ -0,0 +1,13 @@
+CFLAGS=$SLKCFLAGS \
+CXXFLAGS=$SLKCFLAGS \
+./configure \
+ --prefix=/usr \
+ --libdir=/usr/lib${LIBDIRSUFFIX} \
+ --sysconfdir=/etc \
+ --localstatedir=/var \
+ --infodir=/usr/info \
+ --mandir=/usr/man \
+ --docdir=/usr/doc/${PKGNAME}-${MODULAR_PACKAGE_VERSION} \
+ --with-udev-rules-dir=/lib/udev/rules.d \
+ --disable-static \
+ --build=$ARCH-slackware-linux
diff --git a/patches/source/randrproto/modularize b/patches/source/randrproto/modularize
new file mode 100644
index 00000000..8a28ed93
--- /dev/null
+++ b/patches/source/randrproto/modularize
@@ -0,0 +1,279 @@
+# If a package is listed here, it will be built apart from the
+# usual "grab bag" package that's made from each source directory.
+
+appres
+bdftopcf
+beforelight
+bigreqsproto
+bitmap
+compiz
+compositeproto
+damageproto
+dmxproto
+dri2proto
+dri3proto
+editres
+encodings
+evieext
+fixesproto
+font-adobe-100dpi
+font-adobe-75dpi
+font-adobe-utopia-100dpi
+font-adobe-utopia-75dpi
+font-adobe-utopia-type1
+font-alias
+font-arabic-misc
+font-bh-100dpi
+font-bh-75dpi
+font-bh-lucidatypewriter-100dpi
+font-bh-lucidatypewriter-75dpi
+font-bh-ttf
+font-bh-type1
+font-bitstream-100dpi
+font-bitstream-75dpi
+font-bitstream-speedo
+font-bitstream-type1
+font-cronyx-cyrillic
+font-cursor-misc
+font-daewoo-misc
+font-dec-misc
+font-ibm-type1
+font-isas-misc
+font-jis-misc
+font-micro-misc
+font-misc-cyrillic
+font-misc-ethiopic
+font-misc-meltho
+font-misc-misc
+font-mutt-misc
+font-schumacher-misc
+font-screen-cyrillic
+font-sony-misc
+font-sun-misc
+font-util
+font-winitzki-cyrillic
+font-xfree86-type1
+fontcacheproto
+fontsproto
+fonttosfnt
+fslsfonts
+fstobdf
+gccmakedep
+glamor-egl
+glproto
+iceauth
+ico
+imake
+inputproto
+intel-gpu-tools
+kbproto
+libFS
+libICE
+libSM
+libX11
+libXScrnSaver
+libXau
+libXaw
+libXaw3d
+libXcm
+libXcomposite
+libXcursor
+libXdamage
+libXdmcp
+libXevie
+libXext
+libXfixes
+libXfont
+libXfontcache
+libXft
+libXi
+libXinerama
+libXmu
+libXp
+libXpm
+libXpresent
+libXrandr
+libXrender
+libXres
+libXt
+libXtst
+libXv
+libXvMC
+libXxf86dga
+libXxf86misc
+libXxf86vm
+libdmx
+libfontenc
+libpciaccess
+libpthread-stubs
+libxcb
+libxkbfile
+libxshmfence
+listres
+lndir
+luit
+makedepend
+mkcomposecache
+mkfontdir
+mkfontscale
+oclock
+pixman
+presentproto
+printproto
+randrproto
+recordproto
+rendercheck
+renderproto
+resourceproto
+rgb
+scrnsaverproto
+sessreg
+setxkbmap
+showfont
+smproxy
+transset
+twm
+util-macros
+videoproto
+viewres
+x11perf
+xauth
+xbacklight
+xbiff
+xbitmaps
+xcalc
+xcb-proto
+xcb-util
+xcb-util-cursor
+xcb-util-errors
+xcb-util-image
+xcb-util-keysyms
+xcb-util-renderutil
+xcb-util-wm
+xclipboard
+xclock
+xcm
+xcmiscproto
+xcmsdb
+xcompmgr
+xconsole
+xcursor-themes
+xcursorgen
+xdbedizzy
+xditview
+xdm
+xdpyinfo
+xdriinfo
+xedit
+xev
+xextproto
+xeyes
+xf86-input-acecad
+xf86-input-aiptek
+xf86-input-evdev
+xf86-input-joystick
+xf86-input-keyboard
+xf86-input-mouse
+xf86-input-penmount
+xf86-input-synaptics
+xf86-input-vmmouse
+xf86-input-void
+xf86-input-wacom
+xf86-video-amdgpu
+xf86-video-apm
+xf86-video-ark
+xf86-video-ast
+xf86-video-ati
+xf86-video-chips
+xf86-video-cirrus
+xf86-video-dummy
+xf86-video-geode
+xf86-video-glint
+xf86-video-i128
+xf86-video-i740
+xf86-video-intel
+xf86-video-mach64
+xf86-video-mga
+xf86-video-modesetting
+xf86-video-neomagic
+xf86-video-nouveau
+xf86-video-nv
+xf86-video-omap
+xf86-video-openchrome
+xf86-video-qxl
+xf86-video-r128
+xf86-video-rendition
+xf86-video-s3
+xf86-video-s3virge
+xf86-video-savage
+xf86-video-siliconmotion
+xf86-video-sis
+xf86-video-sisusb
+xf86-video-tdfx
+xf86-video-tga
+xf86-video-trident
+xf86-video-tseng
+xf86-video-v4l
+xf86-video-vesa
+xf86-video-vmware
+xf86-video-voodoo
+xf86-video-xgi
+xf86-video-xgixp
+xf86bigfontproto
+xf86dga
+xf86dgaproto
+xf86driproto
+xf86miscproto
+xf86vidmodeproto
+xfd
+xfontsel
+xfs
+xfsinfo
+xgamma
+xgc
+xhost
+xineramaproto
+xinit
+xinput
+xkbcomp
+xkbevd
+xkbprint
+xkbutils
+xkeyboard-config
+xkill
+xload
+xlogo
+xlsatoms
+xlsclients
+xlsfonts
+xmag
+xman
+xmessage
+xmh
+xmodmap
+xmore
+xorg-cf-files
+xorg-docs
+xorg-server
+xorg-server-xephyr
+xorg-server-xnest
+xorg-server-xvfb
+xorg-sgml-doctools
+xpr
+xprop
+xproto
+xpyb
+xrandr
+xrdb
+xrefresh
+xscope
+xset
+xsetroot
+xsm
+xstdcmap
+xtrans
+xvidtune
+xvinfo
+xwd
+xwininfo
+xwud
diff --git a/patches/source/randrproto/noarch b/patches/source/randrproto/noarch
new file mode 100644
index 00000000..8785ee52
--- /dev/null
+++ b/patches/source/randrproto/noarch
@@ -0,0 +1,75 @@
+# List packages with an $ARCH of "noarch" (i.e. packages
+# that contain no binaries) here:
+bigreqsproto
+compositeproto
+damageproto
+dejavu-ttf
+dmxproto
+encodings
+evieext
+font-adobe-100dpi
+font-adobe-75dpi
+font-adobe-utopia-100dpi
+font-adobe-utopia-75dpi
+font-adobe-utopia-type1
+font-alias
+font-arabic-misc
+font-bh-100dpi
+font-bh-75dpi
+font-bh-lucidatypewriter-100dpi
+font-bh-lucidatypewriter-75dpi
+font-bh-ttf
+font-bh-type1
+font-bitstream-100dpi
+font-bitstream-75dpi
+font-bitstream-speedo
+font-bitstream-type1
+font-cronyx-cyrillic
+font-cursor-misc
+font-daewoo-misc
+font-dec-misc
+font-ibm-type1
+font-isas-misc
+font-jis-misc
+font-micro-misc
+font-misc-cyrillic
+font-misc-ethiopic
+font-misc-meltho
+font-misc-misc
+font-mutt-misc
+font-schumacher-misc
+font-screen-cyrillic
+font-sony-misc
+font-sun-misc
+font-winitzki-cyrillic
+font-xfree86-type1
+fontcacheproto
+fontsproto
+gccmakedep
+glproto
+inputproto
+kbproto
+libpthread-stubs
+mkfontdir
+printproto
+randrproto
+recordproto
+renderproto
+resourceproto
+scrnsaverproto
+ttf-indic-fonts
+util-macros
+videoproto
+x11-skel
+xcmiscproto
+xcursor-themes
+xf86bigfontproto
+xf86dgaproto
+xf86driproto
+xf86miscproto
+xf86vidmodeproto
+xineramaproto
+xkeyboard-config
+xorg-docs
+xproto
+xtrans
diff --git a/patches/source/randrproto/package-blacklist b/patches/source/randrproto/package-blacklist
new file mode 100644
index 00000000..603b8c31
--- /dev/null
+++ b/patches/source/randrproto/package-blacklist
@@ -0,0 +1,44 @@
+# Enter packages to skip (perhaps because they aren't used on
+# this platform) below. Just the package name -- no version
+# number is needed.
+
+# ARM only packages:
+# They also say in the README for this one that it is not yet ready:
+xf86-video-omap
+
+# MacOS related packages:
+applewmproto
+windowswmproto
+libAppleWM
+libWindowsWM
+
+# Sun video cards:
+xf86-video-sunbw2
+xf86-video-suncg14
+xf86-video-suncg3
+xf86-video-suncg6
+xf86-video-sunffb
+xf86-video-sunleo
+xf86-video-suntcx
+
+# Obsolete packages:
+liboldX
+xf86-video-amd
+xf86-video-via
+xkbdata
+xphelloworld
+xrx
+xf86-video-modesetting
+
+# Not applicable to us
+grandr
+constype
+
+# CAREFUL NOT TO "SHIP" THE STUFF BELOW IN THE MAIN X PACKAGES DIR!
+
+# This is probably obsolete, and kills "X -configure" too
+xf86-video-nsc
+
+# We don't want this one, as it causes failure of X with no xorg.conf
+xf86-video-fbdev
+
diff --git a/patches/source/randrproto/randrproto.SlackBuild b/patches/source/randrproto/randrproto.SlackBuild
new file mode 100755
index 00000000..d9f6c69e
--- /dev/null
+++ b/patches/source/randrproto/randrproto.SlackBuild
@@ -0,0 +1,2 @@
+UPGRADE_PACKAGES=no ./x11.SlackBuild proto randrproto
+mv /tmp/x11-build/randrproto*txz /tmp
diff --git a/patches/source/randrproto/slack-desc/randrproto b/patches/source/randrproto/slack-desc/randrproto
new file mode 100644
index 00000000..f97ca095
--- /dev/null
+++ b/patches/source/randrproto/slack-desc/randrproto
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|'
+# on the right side marks the last column you can put a character in. You must
+# make exactly 11 lines for the formatting to be correct. It's also
+# customary to leave one space after the ':'.
+
+ |-----handy-ruler------------------------------------------------------|
+randrproto: randrproto (C prototypes for RandR)
+randrproto:
+randrproto: RandR is the X11 Resize and Rotate Extension
+randrproto:
+randrproto:
+randrproto:
+randrproto:
+randrproto:
+randrproto:
+randrproto:
+randrproto:
diff --git a/patches/source/randrproto/x11.SlackBuild b/patches/source/randrproto/x11.SlackBuild
new file mode 100755
index 00000000..c3887dff
--- /dev/null
+++ b/patches/source/randrproto/x11.SlackBuild
@@ -0,0 +1,381 @@
+#!/bin/sh
+# Copyright 2007-2014 Patrick J. Volkerding, Sebeka, MN, USA
+# All rights reserved.
+#
+# Redistribution and use of this script, with or without modification, is
+# permitted provided that the following conditions are met:
+#
+# 1. Redistributions of this script must retain the above copyright
+# notice, this list of conditions and the following disclaimer.
+#
+# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED
+# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
+# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
+# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+# To build only a single package group, specify it as $1, like:
+# ./x11.SlackBuild lib
+# To build only a single package, specify both the source directory
+# and the name of the package, like:
+# ./x11.SlackBuild lib libX11
+
+# Upgrade packages as they are built.
+# Default is to upgrade new packages (UPGRADE_PACKAGES=yes).
+# To install ALL newly built packages (even if they are already installed),
+# use UPGRADE_PACKAGES=always
+# To not upgrade, pass UPGRADE_PACKAGES=no
+UPGRADE_PACKAGES=${UPGRADE_PACKAGES:-yes}
+
+pkgbase() {
+ PKGEXT=$(echo $1 | rev | cut -f 1 -d . | rev)
+ case $PKGEXT in
+ 'gz' )
+ PKGRETURN=$(basename $1 .tar.gz)
+ ;;
+ 'bz2' )
+ PKGRETURN=$(basename $1 .tar.bz2)
+ ;;
+ 'lzma' )
+ PKGRETURN=$(basename $1 .tar.lzma)
+ ;;
+ 'xz' )
+ PKGRETURN=$(basename $1 .tar.xz)
+ ;;
+ *)
+ PKGRETURN=$(basename $1)
+ ;;
+ esac
+ echo $PKGRETURN
+}
+
+# Set initial variables:
+CWD=$(pwd)
+TMP=${TMP:-/tmp}
+
+# Automatically determine the architecture we're building on:
+if [ -z "$ARCH" ]; then
+ case "$( uname -m )" in
+ i?86) export ARCH=i486 ;;
+ arm*) export ARCH=arm ;;
+ # Unless $ARCH is already set, use uname -m for all other archs:
+ *) export ARCH=$( uname -m ) ;;
+ esac
+fi
+
+# A lot of this stuff just controls the package names this time:
+VERSION=${VERSION:-7.5}
+BUILD=${BUILD:-1}
+PKGARCH=$ARCH
+NUMJOBS=${NUMJOBS:-" -j7 "}
+
+if [ "$ARCH" = "x86_64" ]; then
+ LIBDIRSUFFIX="64"
+else
+ LIBDIRSUFFIX=""
+fi
+
+# Set up a few useful functions:
+
+fix_perms() {
+ chown -R root:root .
+ find . \
+ \( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \
+ -exec chmod 755 {} \; -o \
+ \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \
+ -exec chmod 644 {} \;
+}
+
+process_man_pages() {
+ # Compress and if needed symlink the man pages:
+ if [ -d usr/man ]; then
+ ( cd usr/man
+ for manpagedir in $(find . -type d -name "man*") ; do
+ ( cd $manpagedir
+ for eachpage in $( find . -type l -maxdepth 1) ; do
+ ln -s $( readlink $eachpage ).gz $eachpage.gz
+ rm $eachpage
+ done
+ gzip -9 *.*
+ )
+ done
+ )
+ fi
+}
+
+process_info_pages() {
+ # Compress info pages and purge "dir" file from the package:
+ if [ -d usr/info ]; then
+ ( cd usr/info
+ rm -f dir
+ gzip -9 *
+ )
+ fi
+}
+
+no_usr_share_doc() {
+ # If there are docs, move them:
+ if [ -d usr/share/doc ]; then
+ mkdir -p usr/doc
+ mv usr/share/doc/* usr/doc
+ rmdir usr/share/doc
+ fi
+}
+
+# Set the compile options for the $ARCH being used:
+. $CWD/arch.use.flags
+
+SLACK_X_BUILD_DIR=$TMP/x11-build
+mkdir -p $SLACK_X_BUILD_DIR
+
+# Better have some binaries installed first, as this may not be
+# in the "magic order". I built mine by hand through trial-and-error
+# before getting this script to work. It wasn't that hard... I think. ;-)
+( cd src
+ for x_source_dir in proto data util xcb lib app doc xserver driver font ; do
+ # See if $1 is a source directory like "lib":
+ if [ ! -z "$1" ]; then
+ if [ ! "$1" = "${x_source_dir}" ]; then
+ continue
+ fi
+ fi
+ PKG=${SLACK_X_BUILD_DIR}/package-${x_source_dir}
+ rm -rf $PKG
+ mkdir -p $PKG
+ ( cd $x_source_dir
+ for x_pkg in *.tar.?z* ; do
+ # Reset $PKGARCH to its initial value:
+ PKGARCH=$ARCH
+ PKGNAME=$(echo $x_pkg | rev | cut -f 2- -d - | rev)
+ # Perhaps $PKGARCH should be something different:
+ if grep -wq "^$PKGNAME" ${CWD}/noarch ; then
+ PKGARCH=noarch
+ fi
+ if grep -wq "^$PKGNAME" ${CWD}/package-blacklist ; then
+ continue
+ fi
+ cd $SLACK_X_BUILD_DIR
+ # If $2 is set, we only want to build one package:
+ if [ ! -z "$2" ]; then
+ if [ "$2" = "$PKGNAME" ]; then
+ # Set $PKG to a private dir for the modular package build:
+ PKG=$SLACK_X_BUILD_DIR/package-$PKGNAME
+ rm -rf $PKG
+ mkdir -p $PKG
+ else
+ continue
+ fi
+ else
+ echo
+ echo "Building from source ${x_pkg}"
+ echo
+ fi
+ if grep -wq "^$PKGNAME" ${CWD}/modularize ; then
+ # Set $PKG to a private dir for the modular package build:
+ PKG=$SLACK_X_BUILD_DIR/package-$PKGNAME
+ rm -rf $PKG
+ mkdir -p $PKG
+ fi
+
+ # Let's figure out the version number on the modular package:
+ MODULAR_PACKAGE_VERSION=$(echo $x_pkg | rev | cut -f 3- -d . | cut -f 1 -d - | rev)
+
+ rm -rf $(pkgbase $x_pkg)
+ tar xf $CWD/src/${x_source_dir}/${x_pkg} || exit 1
+ cd $(pkgbase $x_pkg) || exit 1
+
+ fix_perms
+
+ # If any patches are needed, call this script to apply them:
+ if [ -r $CWD/patch/${PKGNAME}.patch ]; then
+ . $CWD/patch/${PKGNAME}.patch
+ fi
+
+ # I heard somewhere that -O2 breaks some chipset or another. If you encounter
+ # problems, please contact volkerdi@slackware.com. Thanks! :-)
+
+ # ./configure, using custom configure script if needed:
+ if [ -r $CWD/configure/${PKGNAME} ]; then
+ . $CWD/configure/${PKGNAME}
+ else
+ # This is the default configure script:
+ . $CWD/configure/configure
+ fi
+
+ if ! make $NUMJOBS ; then
+ touch ${SLACK_X_BUILD_DIR}/${PKGNAME}.failed
+ continue
+ fi
+
+ make install DESTDIR=$PKG
+
+ mkdir -p $PKG/usr/doc/${PKGNAME}-${MODULAR_PACKAGE_VERSION}
+ cp -a \
+ AUTHORS* COPYING* INSTALL* README* NEWS* TODO* \
+ $PKG/usr/doc/${PKGNAME}-${MODULAR_PACKAGE_VERSION}
+
+ # If there's a ChangeLog, installing at least part of the recent history
+ # is useful, but don't let it get totally out of control:
+ if [ -r ChangeLog ]; then
+ DOCSDIR=$(echo $PKG/usr/doc/${PKGNAME}-$MODULAR_PACKAGE_VERSION)
+ cat ChangeLog | head -n 1000 > $DOCSDIR/ChangeLog
+ touch -r ChangeLog $DOCSDIR/ChangeLog
+ fi
+
+ # Get rid of zero-length junk files:
+ find $PKG/usr/doc/${PKGNAME}-$MODULAR_PACKAGE_VERSION -type f -size 0 -exec rm --verbose "{}" \;
+ rmdir --verbose $PKG/usr/doc/${PKGNAME}-$MODULAR_PACKAGE_VERSION 2> /dev/null
+
+ # Strip binaries:
+ ( cd $PKG
+ find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
+ find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
+ find . | xargs file | grep "current ar archive" | grep ELF | cut -f 1 -d : | xargs strip -g 2> /dev/null
+ )
+
+ # If there's any special post-install things to do, do them:
+ if [ -r $CWD/post-install/${PKGNAME}.post-install ]; then
+ RUNSCRIPT=$(mktemp -p $TMP) || exit 1
+ cat $CWD/post-install/${PKGNAME}.post-install \
+ | sed -e "s#usr/lib#usr/lib${LIBDIRSUFFIX}#g" > $RUNSCRIPT
+ . $RUNSCRIPT
+ rm -f $RUNSCRIPT
+ fi
+
+ # If this package requires some doinst.sh material, add it here:
+ if [ -r $CWD/doinst.sh/${PKGNAME} ]; then
+ mkdir -p $PKG/install
+ cat $CWD/doinst.sh/${PKGNAME} \
+ | sed -e "s#usr/lib#usr/lib${LIBDIRSUFFIX}#g" \
+ >> $PKG/install/doinst.sh
+ fi
+
+ # If this is a modular package, build it here:
+ if [ -d $SLACK_X_BUILD_DIR/package-$PKGNAME ]; then
+ cd $PKG
+ process_man_pages
+ process_info_pages
+ no_usr_share_doc
+ mkdir -p $PKG/install
+ if [ -r $CWD/slack-desc/${PKGNAME} ]; then
+ cat $CWD/slack-desc/${PKGNAME} > $PKG/install/slack-desc
+ else
+ touch $PKG/install/slack-desc-missing
+ fi
+ if [ -r $CWD/build/${PKGNAME} ]; then
+ MODBUILD=$(cat $CWD/build/${PKGNAME})
+ else
+ MODBUILD=$BUILD
+ fi
+ if [ -r $CWD/makepkg/${PKGNAME} ]; then
+ BUILD=$MODBUILD . $CWD/makepkg/${PKGNAME}
+ else
+ /sbin/makepkg -l y -c n ${SLACK_X_BUILD_DIR}/${PKGNAME}-${MODULAR_PACKAGE_VERSION}-${PKGARCH}-${MODBUILD}.txz
+ if [ "$UPGRADE_PACKAGES" = "yes" ]; then
+ /sbin/upgradepkg --install-new ${SLACK_X_BUILD_DIR}/${PKGNAME}-${MODULAR_PACKAGE_VERSION}-${PKGARCH}-${MODBUILD}.txz
+ elif [ "$UPGRADE_PACKAGES" = "always" ]; then
+ /sbin/upgradepkg --install-new --reinstall ${SLACK_X_BUILD_DIR}/${PKGNAME}-${MODULAR_PACKAGE_VERSION}-${PKGARCH}-${MODBUILD}.txz
+ fi
+ fi
+ fi
+
+ # Reset $PKG to assume we're building the whole source dir:
+ PKG=${SLACK_X_BUILD_DIR}/package-${x_source_dir}
+
+ done
+
+ # Nothing here? Must have been fully modular. :-)
+ if [ ! -d ${SLACK_X_BUILD_DIR}/package-${x_source_dir}/etc -a \
+ ! -d ${SLACK_X_BUILD_DIR}/package-${x_source_dir}/usr ]; then
+ continue
+ fi
+
+ # Build an "x11-<sourcedir>" package for anything that wasn't built modular:
+ # It's safer to consider these to have binaries in them. ;-)
+ PKGARCH=$ARCH
+ cd $PKG
+ process_man_pages
+ process_info_pages
+ no_usr_share_doc
+ # If there are post-install things to do for the combined package,
+ # we do them here. This could be used for things like making a
+ # VERSION number for a combined package. :-)
+ if [ -r $CWD/post-install/x11-${x_source_dir}.post-install ]; then
+ RUNSCRIPT=$(mktemp -p $TMP) || exit 1
+ cat $CWD/post-install/x11-${x_source_dir}.post-install \
+ | sed -e "s#usr/lib#usr/lib${LIBDIRSUFFIX}#g" > $RUNSCRIPT
+ . $RUNSCRIPT
+ rm -f $RUNSCRIPT
+ fi
+ mkdir -p $PKG/install
+ if [ -r $CWD/slack-desc/x11-${x_source_dir} ]; then
+ cat $CWD/slack-desc/x11-${x_source_dir} > $PKG/install/slack-desc
+ else
+ touch $PKG/install/slack-desc-missing
+ fi
+ if [ -r $CWD/doinst.sh/x11-${x_source_dir} ]; then
+ cat $CWD/doinst.sh/x11-${x_source_dir} \
+ | sed -e "s#usr/lib#usr/lib${LIBDIRSUFFIX}#g" \
+ >> $PKG/install/doinst.sh
+ fi
+ if [ -r $CWD/build/x11-${PKGNAME} ]; then
+ SRCDIRBUILD=$(cat $CWD/build/x11-${PKGNAME})
+ else
+ SRCDIRBUILD=$BUILD
+ fi
+ if [ -r $CWD/makepkg/${PKGNAME} ]; then
+ BUILD=$MODBUILD . $CWD/makepkg/${PKGNAME}
+ else
+ /sbin/makepkg -l y -c n ${SLACK_X_BUILD_DIR}/x11-${x_source_dir}-${VERSION}-${PKGARCH}-${SRCDIRBUILD}.txz
+ if [ "$UPGRADE_PACKAGES" = "yes" ]; then
+ /sbin/upgradepkg --install-new ${SLACK_X_BUILD_DIR}/x11-${x_source_dir}-${VERSION}-${PKGARCH}-${SRCDIRBUILD}.txz
+ elif [ "$UPGRADE_PACKAGES" = "always" ]; then
+ /sbin/upgradepkg --install-new --reinstall ${SLACK_X_BUILD_DIR}/x11-${x_source_dir}-${VERSION}-${PKGARCH}-${SRCDIRBUILD}.txz
+ fi
+ fi
+ )
+ done
+)
+
+exit 0
+
+# I don't think I'll be using the following stuff, since I went for the latest in
+# "individual", rather than a release. That was mostly because version 7.1 depends
+# on a version of Mesa that won't build against kernel headers this new (&etc.).
+
+# If environment variable "REFRESH" is exported, start by refreshing the source tree:
+# export REFRESH yes
+if [ ! -z "$REFRESH" ]; then
+ # Only works once, unless you uncomment above.
+ unset REFRESH
+ ( cd patches
+ lftp -c \
+ "lftp ftp://ftp.x.org:/pub/X11R7.1/patches
+ mirror --delete --dereference .
+ exit"
+ chmod 644 *
+ )
+ ( cd src
+ mkdir -p update everything
+ for dir in app data deprecated doc driver extras font lib proto util xserver ; do
+ # We won't really download "update", as problems ensue. Plus, --dereference is
+ # bringing us updated files when needed, so it's redundant (like "everything").
+ if [ ! -d $dir ]; then
+ mkdir $dir
+ fi
+ ( cd $dir
+ lftp -c \
+ "lftp ftp://ftp.x.org:/pub/X11R7.1/src/$dir
+ mirror -c --delete --dereference --include-glob "*.tar.bz2" .
+ exit"
+ chmod 644 *
+ )
+ done
+ )
+fi
+
diff --git a/patches/source/rdesktop/rdesktop.CVE-2011-1595.diff b/patches/source/rdesktop/rdesktop.CVE-2011-1595.diff
new file mode 100644
index 00000000..0db8c3bc
--- /dev/null
+++ b/patches/source/rdesktop/rdesktop.CVE-2011-1595.diff
@@ -0,0 +1,22 @@
+--- ./disk.c.orig 2008-02-15 18:13:25.000000000 -0600
++++ ./disk.c 2011-04-20 20:27:55.978000772 -0500
+@@ -356,6 +356,19 @@
+ filename[strlen(filename) - 1] = 0;
+ sprintf(path, "%s%s", g_rdpdr_device[device_id].local_path, filename);
+
++ /* Protect against mailicous servers:
++ somelongpath/.. not allowed
++ somelongpath/../b not allowed
++ somelongpath/..b in principle ok, but currently not allowed
++ somelongpath/b.. ok
++ somelongpath/b..b ok
++ somelongpath/b../c ok
++ */
++ if (strstr(path, "/.."))
++ {
++ return RD_STATUS_ACCESS_DENIED;
++ }
++
+ switch (create_disposition)
+ {
+ case CREATE_ALWAYS:
diff --git a/patches/source/rdesktop/rdesktop.SlackBuild b/patches/source/rdesktop/rdesktop.SlackBuild
new file mode 100755
index 00000000..a377b4f8
--- /dev/null
+++ b/patches/source/rdesktop/rdesktop.SlackBuild
@@ -0,0 +1,117 @@
+#!/bin/sh
+
+# Copyright 2006, 2008, 2009, 2011 Patrick J. Volkerding, Sebeka, MN, USA
+# All rights reserved.
+#
+# Redistribution and use of this script, with or without modification, is
+# permitted provided that the following conditions are met:
+#
+# 1. Redistributions of this script must retain the above copyright
+# notice, this list of conditions and the following disclaimer.
+#
+# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED
+# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
+# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
+# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+PKGNAM=rdesktop
+VERSION=${VERSION:-1.6.0}
+BUILD=${BUILD:-2_slack13.0}
+
+# Automatically determine the architecture we're building on:
+if [ -z "$ARCH" ]; then
+ case "$( uname -m )" in
+ i?86) export ARCH=i486 ;;
+ arm*) export ARCH=arm ;;
+ # Unless $ARCH is already set, use uname -m for all other archs:
+ *) export ARCH=$( uname -m ) ;;
+ esac
+fi
+
+if [ "$ARCH" = "i486" ]; then
+ SLKCFLAGS="-O2 -march=i486 -mtune=i686"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "s390" ]; then
+ SLKCFLAGS="-O2"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "x86_64" ]; then
+ SLKCFLAGS="-O2 -fPIC"
+ LIBDIRSUFFIX="64"
+fi
+
+NUMJOBS=${NUMJOBS:-" -j7 "}
+
+CWD=$(pwd)
+TMP=${TMP:-/tmp}
+PKG=$TMP/package-${PKGNAM}
+rm -rf $PKG
+mkdir -p $TMP $PKG
+
+cd $TMP
+rm -rf ${PKGNAM}-${VERSION}
+tar xvf $CWD/${PKGNAM}-$VERSION.tar.bz2 || exit 1
+cd ${PKGNAM}-$VERSION || exit 1
+
+zcat $CWD/rdesktop.CVE-2011-1595.diff.gz | patch -p1 --verbose || exit 1
+
+# Make sure ownerships and permissions are sane:
+chown -R root:root .
+find . \
+ \( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \
+ -exec chmod 755 {} \; -o \
+ \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \
+ -exec chmod 644 {} \;
+
+# Configure:
+CFLAGS="$SLKCFLAGS" \
+./configure \
+ --prefix=/usr \
+ --libdir=/usr/lib${LIBDIRSUFFIX} \
+ --with-sound=alsa \
+ --enable-smartcard \
+ --mandir=/usr/man \
+ --build=$ARCH-slackware-linux
+
+# Build and install:
+make $NUMJOBS || make || exit 1
+make install DESTDIR=$PKG || exit 1
+
+# Strip binaries:
+find $PKG | xargs file | grep -e "executable" -e "shared object" \
+ | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
+
+# Compress and link manpages, if any:
+if [ -d $PKG/usr/man ]; then
+ ( cd $PKG/usr/man
+ for manpagedir in $(find . -type d -name "man*") ; do
+ ( cd $manpagedir
+ for eachpage in $( find . -type l -maxdepth 1) ; do
+ ln -s $( readlink $eachpage ).gz $eachpage.gz
+ rm $eachpage
+ done
+ gzip -9 *.?
+ )
+ done
+ )
+fi
+
+# Add a documentation directory:
+mkdir -p $PKG/usr/doc/${PKGNAM}-$VERSION
+cp -a \
+ COPYING README \
+ doc \
+ $PKG/usr/doc/${PKGNAM}-$VERSION
+
+mkdir -p $PKG/install
+cat $CWD/slack-desc > $PKG/install/slack-desc
+
+cd $PKG
+/sbin/makepkg -l y -c n $TMP/${PKGNAM}-$VERSION-$ARCH-$BUILD.txz
+
diff --git a/patches/source/rdesktop/slack-desc b/patches/source/rdesktop/slack-desc
new file mode 100644
index 00000000..283da1cd
--- /dev/null
+++ b/patches/source/rdesktop/slack-desc
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|'
+# on the right side marks the last column you can put a character in. You must
+# make exactly 11 lines for the formatting to be correct. It's also
+# customary to leave one space after the ':'.
+
+ |-----handy-ruler------------------------------------------------------|
+rdesktop: rdesktop (Remote Desktop Protocol client)
+rdesktop:
+rdesktop: rdesktop is a client for Remote Desktop Protocol (RDP), used in a
+rdesktop: number of Microsoft products including Windows NT Terminal Server,
+rdesktop: Windows 2000 Server, Windows XP, and Windows 2003 Server.
+rdesktop:
+rdesktop: For more information, see: http://www.rdesktop.org
+rdesktop:
+rdesktop:
+rdesktop:
+rdesktop:
diff --git a/patches/source/recordproto/arch.use.flags b/patches/source/recordproto/arch.use.flags
new file mode 100644
index 00000000..11087c88
--- /dev/null
+++ b/patches/source/recordproto/arch.use.flags
@@ -0,0 +1,9 @@
+if [ "$ARCH" = "i486" ]; then
+ SLKCFLAGS="-O2 -march=i486 -mtune=i686"
+elif [ "$ARCH" = "i586" ]; then
+ SLKCFLAGS="-O2 -march=i586 -mtune=i686"
+elif [ "$ARCH" = "s390" ]; then
+ SLKCFLAGS="-O2"
+elif [ "$ARCH" = "x86_64" ]; then
+ SLKCFLAGS="-O2 -fPIC"
+fi
diff --git a/patches/source/recordproto/build/recordproto b/patches/source/recordproto/build/recordproto
new file mode 100644
index 00000000..1551cb6a
--- /dev/null
+++ b/patches/source/recordproto/build/recordproto
@@ -0,0 +1 @@
+1_slack13.0
diff --git a/patches/source/recordproto/configure/configure b/patches/source/recordproto/configure/configure
new file mode 100644
index 00000000..dcb1109b
--- /dev/null
+++ b/patches/source/recordproto/configure/configure
@@ -0,0 +1,13 @@
+CFLAGS=$SLKCFLAGS \
+CXXFLAGS=$SLKCFLAGS \
+./configure \
+ --prefix=/usr \
+ --libdir=/usr/lib${LIBDIRSUFFIX} \
+ --sysconfdir=/etc \
+ --localstatedir=/var \
+ --infodir=/usr/info \
+ --mandir=/usr/man \
+ --docdir=/usr/doc/${PKGNAME}-${MODULAR_PACKAGE_VERSION} \
+ --with-udev-rules-dir=/lib/udev/rules.d \
+ --disable-static \
+ --build=$ARCH-slackware-linux
diff --git a/patches/source/recordproto/modularize b/patches/source/recordproto/modularize
new file mode 100644
index 00000000..8a28ed93
--- /dev/null
+++ b/patches/source/recordproto/modularize
@@ -0,0 +1,279 @@
+# If a package is listed here, it will be built apart from the
+# usual "grab bag" package that's made from each source directory.
+
+appres
+bdftopcf
+beforelight
+bigreqsproto
+bitmap
+compiz
+compositeproto
+damageproto
+dmxproto
+dri2proto
+dri3proto
+editres
+encodings
+evieext
+fixesproto
+font-adobe-100dpi
+font-adobe-75dpi
+font-adobe-utopia-100dpi
+font-adobe-utopia-75dpi
+font-adobe-utopia-type1
+font-alias
+font-arabic-misc
+font-bh-100dpi
+font-bh-75dpi
+font-bh-lucidatypewriter-100dpi
+font-bh-lucidatypewriter-75dpi
+font-bh-ttf
+font-bh-type1
+font-bitstream-100dpi
+font-bitstream-75dpi
+font-bitstream-speedo
+font-bitstream-type1
+font-cronyx-cyrillic
+font-cursor-misc
+font-daewoo-misc
+font-dec-misc
+font-ibm-type1
+font-isas-misc
+font-jis-misc
+font-micro-misc
+font-misc-cyrillic
+font-misc-ethiopic
+font-misc-meltho
+font-misc-misc
+font-mutt-misc
+font-schumacher-misc
+font-screen-cyrillic
+font-sony-misc
+font-sun-misc
+font-util
+font-winitzki-cyrillic
+font-xfree86-type1
+fontcacheproto
+fontsproto
+fonttosfnt
+fslsfonts
+fstobdf
+gccmakedep
+glamor-egl
+glproto
+iceauth
+ico
+imake
+inputproto
+intel-gpu-tools
+kbproto
+libFS
+libICE
+libSM
+libX11
+libXScrnSaver
+libXau
+libXaw
+libXaw3d
+libXcm
+libXcomposite
+libXcursor
+libXdamage
+libXdmcp
+libXevie
+libXext
+libXfixes
+libXfont
+libXfontcache
+libXft
+libXi
+libXinerama
+libXmu
+libXp
+libXpm
+libXpresent
+libXrandr
+libXrender
+libXres
+libXt
+libXtst
+libXv
+libXvMC
+libXxf86dga
+libXxf86misc
+libXxf86vm
+libdmx
+libfontenc
+libpciaccess
+libpthread-stubs
+libxcb
+libxkbfile
+libxshmfence
+listres
+lndir
+luit
+makedepend
+mkcomposecache
+mkfontdir
+mkfontscale
+oclock
+pixman
+presentproto
+printproto
+randrproto
+recordproto
+rendercheck
+renderproto
+resourceproto
+rgb
+scrnsaverproto
+sessreg
+setxkbmap
+showfont
+smproxy
+transset
+twm
+util-macros
+videoproto
+viewres
+x11perf
+xauth
+xbacklight
+xbiff
+xbitmaps
+xcalc
+xcb-proto
+xcb-util
+xcb-util-cursor
+xcb-util-errors
+xcb-util-image
+xcb-util-keysyms
+xcb-util-renderutil
+xcb-util-wm
+xclipboard
+xclock
+xcm
+xcmiscproto
+xcmsdb
+xcompmgr
+xconsole
+xcursor-themes
+xcursorgen
+xdbedizzy
+xditview
+xdm
+xdpyinfo
+xdriinfo
+xedit
+xev
+xextproto
+xeyes
+xf86-input-acecad
+xf86-input-aiptek
+xf86-input-evdev
+xf86-input-joystick
+xf86-input-keyboard
+xf86-input-mouse
+xf86-input-penmount
+xf86-input-synaptics
+xf86-input-vmmouse
+xf86-input-void
+xf86-input-wacom
+xf86-video-amdgpu
+xf86-video-apm
+xf86-video-ark
+xf86-video-ast
+xf86-video-ati
+xf86-video-chips
+xf86-video-cirrus
+xf86-video-dummy
+xf86-video-geode
+xf86-video-glint
+xf86-video-i128
+xf86-video-i740
+xf86-video-intel
+xf86-video-mach64
+xf86-video-mga
+xf86-video-modesetting
+xf86-video-neomagic
+xf86-video-nouveau
+xf86-video-nv
+xf86-video-omap
+xf86-video-openchrome
+xf86-video-qxl
+xf86-video-r128
+xf86-video-rendition
+xf86-video-s3
+xf86-video-s3virge
+xf86-video-savage
+xf86-video-siliconmotion
+xf86-video-sis
+xf86-video-sisusb
+xf86-video-tdfx
+xf86-video-tga
+xf86-video-trident
+xf86-video-tseng
+xf86-video-v4l
+xf86-video-vesa
+xf86-video-vmware
+xf86-video-voodoo
+xf86-video-xgi
+xf86-video-xgixp
+xf86bigfontproto
+xf86dga
+xf86dgaproto
+xf86driproto
+xf86miscproto
+xf86vidmodeproto
+xfd
+xfontsel
+xfs
+xfsinfo
+xgamma
+xgc
+xhost
+xineramaproto
+xinit
+xinput
+xkbcomp
+xkbevd
+xkbprint
+xkbutils
+xkeyboard-config
+xkill
+xload
+xlogo
+xlsatoms
+xlsclients
+xlsfonts
+xmag
+xman
+xmessage
+xmh
+xmodmap
+xmore
+xorg-cf-files
+xorg-docs
+xorg-server
+xorg-server-xephyr
+xorg-server-xnest
+xorg-server-xvfb
+xorg-sgml-doctools
+xpr
+xprop
+xproto
+xpyb
+xrandr
+xrdb
+xrefresh
+xscope
+xset
+xsetroot
+xsm
+xstdcmap
+xtrans
+xvidtune
+xvinfo
+xwd
+xwininfo
+xwud
diff --git a/patches/source/recordproto/noarch b/patches/source/recordproto/noarch
new file mode 100644
index 00000000..8785ee52
--- /dev/null
+++ b/patches/source/recordproto/noarch
@@ -0,0 +1,75 @@
+# List packages with an $ARCH of "noarch" (i.e. packages
+# that contain no binaries) here:
+bigreqsproto
+compositeproto
+damageproto
+dejavu-ttf
+dmxproto
+encodings
+evieext
+font-adobe-100dpi
+font-adobe-75dpi
+font-adobe-utopia-100dpi
+font-adobe-utopia-75dpi
+font-adobe-utopia-type1
+font-alias
+font-arabic-misc
+font-bh-100dpi
+font-bh-75dpi
+font-bh-lucidatypewriter-100dpi
+font-bh-lucidatypewriter-75dpi
+font-bh-ttf
+font-bh-type1
+font-bitstream-100dpi
+font-bitstream-75dpi
+font-bitstream-speedo
+font-bitstream-type1
+font-cronyx-cyrillic
+font-cursor-misc
+font-daewoo-misc
+font-dec-misc
+font-ibm-type1
+font-isas-misc
+font-jis-misc
+font-micro-misc
+font-misc-cyrillic
+font-misc-ethiopic
+font-misc-meltho
+font-misc-misc
+font-mutt-misc
+font-schumacher-misc
+font-screen-cyrillic
+font-sony-misc
+font-sun-misc
+font-winitzki-cyrillic
+font-xfree86-type1
+fontcacheproto
+fontsproto
+gccmakedep
+glproto
+inputproto
+kbproto
+libpthread-stubs
+mkfontdir
+printproto
+randrproto
+recordproto
+renderproto
+resourceproto
+scrnsaverproto
+ttf-indic-fonts
+util-macros
+videoproto
+x11-skel
+xcmiscproto
+xcursor-themes
+xf86bigfontproto
+xf86dgaproto
+xf86driproto
+xf86miscproto
+xf86vidmodeproto
+xineramaproto
+xkeyboard-config
+xorg-docs
+xproto
+xtrans
diff --git a/patches/source/recordproto/package-blacklist b/patches/source/recordproto/package-blacklist
new file mode 100644
index 00000000..603b8c31
--- /dev/null
+++ b/patches/source/recordproto/package-blacklist
@@ -0,0 +1,44 @@
+# Enter packages to skip (perhaps because they aren't used on
+# this platform) below. Just the package name -- no version
+# number is needed.
+
+# ARM only packages:
+# They also say in the README for this one that it is not yet ready:
+xf86-video-omap
+
+# MacOS related packages:
+applewmproto
+windowswmproto
+libAppleWM
+libWindowsWM
+
+# Sun video cards:
+xf86-video-sunbw2
+xf86-video-suncg14
+xf86-video-suncg3
+xf86-video-suncg6
+xf86-video-sunffb
+xf86-video-sunleo
+xf86-video-suntcx
+
+# Obsolete packages:
+liboldX
+xf86-video-amd
+xf86-video-via
+xkbdata
+xphelloworld
+xrx
+xf86-video-modesetting
+
+# Not applicable to us
+grandr
+constype
+
+# CAREFUL NOT TO "SHIP" THE STUFF BELOW IN THE MAIN X PACKAGES DIR!
+
+# This is probably obsolete, and kills "X -configure" too
+xf86-video-nsc
+
+# We don't want this one, as it causes failure of X with no xorg.conf
+xf86-video-fbdev
+
diff --git a/patches/source/recordproto/recordproto.SlackBuild b/patches/source/recordproto/recordproto.SlackBuild
new file mode 100755
index 00000000..84451032
--- /dev/null
+++ b/patches/source/recordproto/recordproto.SlackBuild
@@ -0,0 +1,2 @@
+UPGRADE_PACKAGES=no ./x11.SlackBuild proto recordproto
+mv /tmp/x11-build/recordproto*txz /tmp
diff --git a/patches/source/recordproto/slack-desc/recordproto b/patches/source/recordproto/slack-desc/recordproto
new file mode 100644
index 00000000..4fc28e90
--- /dev/null
+++ b/patches/source/recordproto/slack-desc/recordproto
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|'
+# on the right side marks the last column you can put a character in. You must
+# make exactly 11 lines for the formatting to be correct. It's also
+# customary to leave one space after the ':'.
+
+ |-----handy-ruler------------------------------------------------------|
+recordproto: recordproto (C prototypes for X Record Extension)
+recordproto:
+recordproto: recordproto is part of X11.
+recordproto:
+recordproto: For more information about the X.Org Foundation (the providers of the
+recordproto: X.Org implementation of the X Window System), see their website:
+recordproto:
+recordproto: http://www.x.org
+recordproto:
+recordproto:
+recordproto:
diff --git a/patches/source/recordproto/x11.SlackBuild b/patches/source/recordproto/x11.SlackBuild
new file mode 100755
index 00000000..c3887dff
--- /dev/null
+++ b/patches/source/recordproto/x11.SlackBuild
@@ -0,0 +1,381 @@
+#!/bin/sh
+# Copyright 2007-2014 Patrick J. Volkerding, Sebeka, MN, USA
+# All rights reserved.
+#
+# Redistribution and use of this script, with or without modification, is
+# permitted provided that the following conditions are met:
+#
+# 1. Redistributions of this script must retain the above copyright
+# notice, this list of conditions and the following disclaimer.
+#
+# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED
+# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
+# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
+# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+# To build only a single package group, specify it as $1, like:
+# ./x11.SlackBuild lib
+# To build only a single package, specify both the source directory
+# and the name of the package, like:
+# ./x11.SlackBuild lib libX11
+
+# Upgrade packages as they are built.
+# Default is to upgrade new packages (UPGRADE_PACKAGES=yes).
+# To install ALL newly built packages (even if they are already installed),
+# use UPGRADE_PACKAGES=always
+# To not upgrade, pass UPGRADE_PACKAGES=no
+UPGRADE_PACKAGES=${UPGRADE_PACKAGES:-yes}
+
+pkgbase() {
+ PKGEXT=$(echo $1 | rev | cut -f 1 -d . | rev)
+ case $PKGEXT in
+ 'gz' )
+ PKGRETURN=$(basename $1 .tar.gz)
+ ;;
+ 'bz2' )
+ PKGRETURN=$(basename $1 .tar.bz2)
+ ;;
+ 'lzma' )
+ PKGRETURN=$(basename $1 .tar.lzma)
+ ;;
+ 'xz' )
+ PKGRETURN=$(basename $1 .tar.xz)
+ ;;
+ *)
+ PKGRETURN=$(basename $1)
+ ;;
+ esac
+ echo $PKGRETURN
+}
+
+# Set initial variables:
+CWD=$(pwd)
+TMP=${TMP:-/tmp}
+
+# Automatically determine the architecture we're building on:
+if [ -z "$ARCH" ]; then
+ case "$( uname -m )" in
+ i?86) export ARCH=i486 ;;
+ arm*) export ARCH=arm ;;
+ # Unless $ARCH is already set, use uname -m for all other archs:
+ *) export ARCH=$( uname -m ) ;;
+ esac
+fi
+
+# A lot of this stuff just controls the package names this time:
+VERSION=${VERSION:-7.5}
+BUILD=${BUILD:-1}
+PKGARCH=$ARCH
+NUMJOBS=${NUMJOBS:-" -j7 "}
+
+if [ "$ARCH" = "x86_64" ]; then
+ LIBDIRSUFFIX="64"
+else
+ LIBDIRSUFFIX=""
+fi
+
+# Set up a few useful functions:
+
+fix_perms() {
+ chown -R root:root .
+ find . \
+ \( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \
+ -exec chmod 755 {} \; -o \
+ \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \
+ -exec chmod 644 {} \;
+}
+
+process_man_pages() {
+ # Compress and if needed symlink the man pages:
+ if [ -d usr/man ]; then
+ ( cd usr/man
+ for manpagedir in $(find . -type d -name "man*") ; do
+ ( cd $manpagedir
+ for eachpage in $( find . -type l -maxdepth 1) ; do
+ ln -s $( readlink $eachpage ).gz $eachpage.gz
+ rm $eachpage
+ done
+ gzip -9 *.*
+ )
+ done
+ )
+ fi
+}
+
+process_info_pages() {
+ # Compress info pages and purge "dir" file from the package:
+ if [ -d usr/info ]; then
+ ( cd usr/info
+ rm -f dir
+ gzip -9 *
+ )
+ fi
+}
+
+no_usr_share_doc() {
+ # If there are docs, move them:
+ if [ -d usr/share/doc ]; then
+ mkdir -p usr/doc
+ mv usr/share/doc/* usr/doc
+ rmdir usr/share/doc
+ fi
+}
+
+# Set the compile options for the $ARCH being used:
+. $CWD/arch.use.flags
+
+SLACK_X_BUILD_DIR=$TMP/x11-build
+mkdir -p $SLACK_X_BUILD_DIR
+
+# Better have some binaries installed first, as this may not be
+# in the "magic order". I built mine by hand through trial-and-error
+# before getting this script to work. It wasn't that hard... I think. ;-)
+( cd src
+ for x_source_dir in proto data util xcb lib app doc xserver driver font ; do
+ # See if $1 is a source directory like "lib":
+ if [ ! -z "$1" ]; then
+ if [ ! "$1" = "${x_source_dir}" ]; then
+ continue
+ fi
+ fi
+ PKG=${SLACK_X_BUILD_DIR}/package-${x_source_dir}
+ rm -rf $PKG
+ mkdir -p $PKG
+ ( cd $x_source_dir
+ for x_pkg in *.tar.?z* ; do
+ # Reset $PKGARCH to its initial value:
+ PKGARCH=$ARCH
+ PKGNAME=$(echo $x_pkg | rev | cut -f 2- -d - | rev)
+ # Perhaps $PKGARCH should be something different:
+ if grep -wq "^$PKGNAME" ${CWD}/noarch ; then
+ PKGARCH=noarch
+ fi
+ if grep -wq "^$PKGNAME" ${CWD}/package-blacklist ; then
+ continue
+ fi
+ cd $SLACK_X_BUILD_DIR
+ # If $2 is set, we only want to build one package:
+ if [ ! -z "$2" ]; then
+ if [ "$2" = "$PKGNAME" ]; then
+ # Set $PKG to a private dir for the modular package build:
+ PKG=$SLACK_X_BUILD_DIR/package-$PKGNAME
+ rm -rf $PKG
+ mkdir -p $PKG
+ else
+ continue
+ fi
+ else
+ echo
+ echo "Building from source ${x_pkg}"
+ echo
+ fi
+ if grep -wq "^$PKGNAME" ${CWD}/modularize ; then
+ # Set $PKG to a private dir for the modular package build:
+ PKG=$SLACK_X_BUILD_DIR/package-$PKGNAME
+ rm -rf $PKG
+ mkdir -p $PKG
+ fi
+
+ # Let's figure out the version number on the modular package:
+ MODULAR_PACKAGE_VERSION=$(echo $x_pkg | rev | cut -f 3- -d . | cut -f 1 -d - | rev)
+
+ rm -rf $(pkgbase $x_pkg)
+ tar xf $CWD/src/${x_source_dir}/${x_pkg} || exit 1
+ cd $(pkgbase $x_pkg) || exit 1
+
+ fix_perms
+
+ # If any patches are needed, call this script to apply them:
+ if [ -r $CWD/patch/${PKGNAME}.patch ]; then
+ . $CWD/patch/${PKGNAME}.patch
+ fi
+
+ # I heard somewhere that -O2 breaks some chipset or another. If you encounter
+ # problems, please contact volkerdi@slackware.com. Thanks! :-)
+
+ # ./configure, using custom configure script if needed:
+ if [ -r $CWD/configure/${PKGNAME} ]; then
+ . $CWD/configure/${PKGNAME}
+ else
+ # This is the default configure script:
+ . $CWD/configure/configure
+ fi
+
+ if ! make $NUMJOBS ; then
+ touch ${SLACK_X_BUILD_DIR}/${PKGNAME}.failed
+ continue
+ fi
+
+ make install DESTDIR=$PKG
+
+ mkdir -p $PKG/usr/doc/${PKGNAME}-${MODULAR_PACKAGE_VERSION}
+ cp -a \
+ AUTHORS* COPYING* INSTALL* README* NEWS* TODO* \
+ $PKG/usr/doc/${PKGNAME}-${MODULAR_PACKAGE_VERSION}
+
+ # If there's a ChangeLog, installing at least part of the recent history
+ # is useful, but don't let it get totally out of control:
+ if [ -r ChangeLog ]; then
+ DOCSDIR=$(echo $PKG/usr/doc/${PKGNAME}-$MODULAR_PACKAGE_VERSION)
+ cat ChangeLog | head -n 1000 > $DOCSDIR/ChangeLog
+ touch -r ChangeLog $DOCSDIR/ChangeLog
+ fi
+
+ # Get rid of zero-length junk files:
+ find $PKG/usr/doc/${PKGNAME}-$MODULAR_PACKAGE_VERSION -type f -size 0 -exec rm --verbose "{}" \;
+ rmdir --verbose $PKG/usr/doc/${PKGNAME}-$MODULAR_PACKAGE_VERSION 2> /dev/null
+
+ # Strip binaries:
+ ( cd $PKG
+ find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
+ find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
+ find . | xargs file | grep "current ar archive" | grep ELF | cut -f 1 -d : | xargs strip -g 2> /dev/null
+ )
+
+ # If there's any special post-install things to do, do them:
+ if [ -r $CWD/post-install/${PKGNAME}.post-install ]; then
+ RUNSCRIPT=$(mktemp -p $TMP) || exit 1
+ cat $CWD/post-install/${PKGNAME}.post-install \
+ | sed -e "s#usr/lib#usr/lib${LIBDIRSUFFIX}#g" > $RUNSCRIPT
+ . $RUNSCRIPT
+ rm -f $RUNSCRIPT
+ fi
+
+ # If this package requires some doinst.sh material, add it here:
+ if [ -r $CWD/doinst.sh/${PKGNAME} ]; then
+ mkdir -p $PKG/install
+ cat $CWD/doinst.sh/${PKGNAME} \
+ | sed -e "s#usr/lib#usr/lib${LIBDIRSUFFIX}#g" \
+ >> $PKG/install/doinst.sh
+ fi
+
+ # If this is a modular package, build it here:
+ if [ -d $SLACK_X_BUILD_DIR/package-$PKGNAME ]; then
+ cd $PKG
+ process_man_pages
+ process_info_pages
+ no_usr_share_doc
+ mkdir -p $PKG/install
+ if [ -r $CWD/slack-desc/${PKGNAME} ]; then
+ cat $CWD/slack-desc/${PKGNAME} > $PKG/install/slack-desc
+ else
+ touch $PKG/install/slack-desc-missing
+ fi
+ if [ -r $CWD/build/${PKGNAME} ]; then
+ MODBUILD=$(cat $CWD/build/${PKGNAME})
+ else
+ MODBUILD=$BUILD
+ fi
+ if [ -r $CWD/makepkg/${PKGNAME} ]; then
+ BUILD=$MODBUILD . $CWD/makepkg/${PKGNAME}
+ else
+ /sbin/makepkg -l y -c n ${SLACK_X_BUILD_DIR}/${PKGNAME}-${MODULAR_PACKAGE_VERSION}-${PKGARCH}-${MODBUILD}.txz
+ if [ "$UPGRADE_PACKAGES" = "yes" ]; then
+ /sbin/upgradepkg --install-new ${SLACK_X_BUILD_DIR}/${PKGNAME}-${MODULAR_PACKAGE_VERSION}-${PKGARCH}-${MODBUILD}.txz
+ elif [ "$UPGRADE_PACKAGES" = "always" ]; then
+ /sbin/upgradepkg --install-new --reinstall ${SLACK_X_BUILD_DIR}/${PKGNAME}-${MODULAR_PACKAGE_VERSION}-${PKGARCH}-${MODBUILD}.txz
+ fi
+ fi
+ fi
+
+ # Reset $PKG to assume we're building the whole source dir:
+ PKG=${SLACK_X_BUILD_DIR}/package-${x_source_dir}
+
+ done
+
+ # Nothing here? Must have been fully modular. :-)
+ if [ ! -d ${SLACK_X_BUILD_DIR}/package-${x_source_dir}/etc -a \
+ ! -d ${SLACK_X_BUILD_DIR}/package-${x_source_dir}/usr ]; then
+ continue
+ fi
+
+ # Build an "x11-<sourcedir>" package for anything that wasn't built modular:
+ # It's safer to consider these to have binaries in them. ;-)
+ PKGARCH=$ARCH
+ cd $PKG
+ process_man_pages
+ process_info_pages
+ no_usr_share_doc
+ # If there are post-install things to do for the combined package,
+ # we do them here. This could be used for things like making a
+ # VERSION number for a combined package. :-)
+ if [ -r $CWD/post-install/x11-${x_source_dir}.post-install ]; then
+ RUNSCRIPT=$(mktemp -p $TMP) || exit 1
+ cat $CWD/post-install/x11-${x_source_dir}.post-install \
+ | sed -e "s#usr/lib#usr/lib${LIBDIRSUFFIX}#g" > $RUNSCRIPT
+ . $RUNSCRIPT
+ rm -f $RUNSCRIPT
+ fi
+ mkdir -p $PKG/install
+ if [ -r $CWD/slack-desc/x11-${x_source_dir} ]; then
+ cat $CWD/slack-desc/x11-${x_source_dir} > $PKG/install/slack-desc
+ else
+ touch $PKG/install/slack-desc-missing
+ fi
+ if [ -r $CWD/doinst.sh/x11-${x_source_dir} ]; then
+ cat $CWD/doinst.sh/x11-${x_source_dir} \
+ | sed -e "s#usr/lib#usr/lib${LIBDIRSUFFIX}#g" \
+ >> $PKG/install/doinst.sh
+ fi
+ if [ -r $CWD/build/x11-${PKGNAME} ]; then
+ SRCDIRBUILD=$(cat $CWD/build/x11-${PKGNAME})
+ else
+ SRCDIRBUILD=$BUILD
+ fi
+ if [ -r $CWD/makepkg/${PKGNAME} ]; then
+ BUILD=$MODBUILD . $CWD/makepkg/${PKGNAME}
+ else
+ /sbin/makepkg -l y -c n ${SLACK_X_BUILD_DIR}/x11-${x_source_dir}-${VERSION}-${PKGARCH}-${SRCDIRBUILD}.txz
+ if [ "$UPGRADE_PACKAGES" = "yes" ]; then
+ /sbin/upgradepkg --install-new ${SLACK_X_BUILD_DIR}/x11-${x_source_dir}-${VERSION}-${PKGARCH}-${SRCDIRBUILD}.txz
+ elif [ "$UPGRADE_PACKAGES" = "always" ]; then
+ /sbin/upgradepkg --install-new --reinstall ${SLACK_X_BUILD_DIR}/x11-${x_source_dir}-${VERSION}-${PKGARCH}-${SRCDIRBUILD}.txz
+ fi
+ fi
+ )
+ done
+)
+
+exit 0
+
+# I don't think I'll be using the following stuff, since I went for the latest in
+# "individual", rather than a release. That was mostly because version 7.1 depends
+# on a version of Mesa that won't build against kernel headers this new (&etc.).
+
+# If environment variable "REFRESH" is exported, start by refreshing the source tree:
+# export REFRESH yes
+if [ ! -z "$REFRESH" ]; then
+ # Only works once, unless you uncomment above.
+ unset REFRESH
+ ( cd patches
+ lftp -c \
+ "lftp ftp://ftp.x.org:/pub/X11R7.1/patches
+ mirror --delete --dereference .
+ exit"
+ chmod 644 *
+ )
+ ( cd src
+ mkdir -p update everything
+ for dir in app data deprecated doc driver extras font lib proto util xserver ; do
+ # We won't really download "update", as problems ensue. Plus, --dereference is
+ # bringing us updated files when needed, so it's redundant (like "everything").
+ if [ ! -d $dir ]; then
+ mkdir $dir
+ fi
+ ( cd $dir
+ lftp -c \
+ "lftp ftp://ftp.x.org:/pub/X11R7.1/src/$dir
+ mirror -c --delete --dereference --include-glob "*.tar.bz2" .
+ exit"
+ chmod 644 *
+ )
+ done
+ )
+fi
+
diff --git a/patches/source/rsync/rsync.SlackBuild b/patches/source/rsync/rsync.SlackBuild
new file mode 100755
index 00000000..48032ab5
--- /dev/null
+++ b/patches/source/rsync/rsync.SlackBuild
@@ -0,0 +1,110 @@
+#!/bin/sh
+
+# Copyright 2008, 2009, 2010, 2011, 2018 Patrick J. Volkerding, Sebeka, MN, USA
+# All rights reserved.
+#
+# Redistribution and use of this script, with or without modification, is
+# permitted provided that the following conditions are met:
+#
+# 1. Redistributions of this script must retain the above copyright
+# notice, this list of conditions and the following disclaimer.
+#
+# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED
+# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
+# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
+# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+PKGNAM=rsync
+VERSION=${VERSION:-$(echo $PKGNAM-*.tar.?z | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
+BUILD=${BUILD:-1_slack13.0}
+
+# Automatically determine the architecture we're building on:
+if [ -z "$ARCH" ]; then
+ case "$( uname -m )" in
+ i?86) export ARCH=i486 ;;
+ arm*) export ARCH=arm ;;
+ # Unless $ARCH is already set, use uname -m for all other archs:
+ *) export ARCH=$( uname -m ) ;;
+ esac
+fi
+
+if [ "$ARCH" = "i486" ]; then
+ SLKCFLAGS="-O2 -march=i486 -mtune=i686"
+elif [ "$ARCH" = "s390" ]; then
+ SLKCFLAGS="-O2"
+elif [ "$ARCH" = "x86_64" ]; then
+ SLKCFLAGS="-O2 -fPIC"
+else
+ SLKCFLAGS="-O2"
+fi
+
+CWD=$(pwd)
+TMP=${TMP:-/tmp}
+PKG=$TMP/package-rsync
+rm -rf $PKG
+mkdir -p $TMP $PKG
+
+cd $TMP
+rm -rf rsync-$VERSION
+tar xvf $CWD/rsync-$VERSION.tar.?z || exit 1
+cd rsync-$VERSION || exit 1
+
+chown -R root:root .
+find . \
+ \( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \
+ -exec chmod 755 {} \; -o \
+ \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \
+ -exec chmod 644 {} \;
+
+CFLAGS="$SLKCFLAGS" \
+./configure \
+ --prefix=/usr \
+ --build=$ARCH-slackware-linux || exit 1
+
+make $NUMJOBS || make || exit 1
+make install DESTDIR=$PKG || exit
+
+mv $PKG/usr/share/man $PKG/usr
+rmdir $PKG/usr/share
+
+# Compress and link manpages, if any:
+if [ -d $PKG/usr/man ]; then
+ ( cd $PKG/usr/man
+ for manpagedir in $(find . -type d -name "man*") ; do
+ ( cd $manpagedir
+ for eachpage in $( find . -type l -maxdepth 1 | grep -v '\.gz$') ; do
+ ln -s $( readlink $eachpage ).gz $eachpage.gz
+ rm $eachpage
+ done
+ gzip -9 *.?
+ )
+ done
+ )
+fi
+
+mkdir -p $PKG/usr/doc/rsync-$VERSION/popt
+cp -a \
+ COPYING* INSTALL NEWS README* TODO tech_report.tex \
+ support \
+ $PKG/usr/doc/rsync-$VERSION
+( cd popt
+ cp -a CHANGES COPYING README README.rsync $PKG/usr/doc/rsync-$VERSION/popt
+)
+
+find $PKG | xargs file | grep -e "executable" -e "shared object" \
+ | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
+
+mkdir -p $PKG/install
+cat $CWD/slack-desc > $PKG/install/slack-desc
+
+# Build the package:
+cd $PKG
+/sbin/makepkg -l y -c n $TMP/rsync-$VERSION-$ARCH-$BUILD.txz
+
diff --git a/patches/source/rsync/slack-desc b/patches/source/rsync/slack-desc
new file mode 100644
index 00000000..7e3b7089
--- /dev/null
+++ b/patches/source/rsync/slack-desc
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|'
+# on the right side marks the last column you can put a character in. You must
+# make exactly 11 lines for the formatting to be correct. It's also
+# customary to leave one space after the ':'.
+
+ |-----handy-ruler------------------------------------------------------|
+rsync: rsync (remote file sync)
+rsync:
+rsync: rsync is a replacement for rcp that has many more features. It
+rsync: uses the "rsync algorithm" which provides a very fast method for
+rsync: bringing remote files into sync. It does this by sending just the
+rsync: differences in the files across the link, without requiring that both
+rsync: sets of files are present at one of the ends of the link beforehand.
+rsync: rsync was written by Andrew Tridgell and Paul Mackerras.
+rsync:
+rsync: Homepage: http://rsync.samba.org
+rsync:
diff --git a/patches/source/rxvt/rxvt-integer-overflow-fix.patch b/patches/source/rxvt/rxvt-integer-overflow-fix.patch
new file mode 100644
index 00000000..edb13856
--- /dev/null
+++ b/patches/source/rxvt/rxvt-integer-overflow-fix.patch
@@ -0,0 +1,11 @@
+--- rxvt-2.7.10/src/command.c 2003-03-26 07:01:23.000000000 +0100
++++ rxvt-2.7.10-patched/src/command.c 2017-04-27 12:06:05.682072274 +0200
+@@ -2096,7 +2096,7 @@
+ i = ch - CSI_ICH;
+ ndef = get_byte_array_bit(csi_defaults, i);
+ for (p = 0; p < nargs; p++)
+- if (arg[p] == -1)
++ if (arg[p] < 0 || arg[p] > 30000)
+ arg[p] = ndef;
+
+ #ifdef DEBUG_CMD
diff --git a/patches/source/rxvt/rxvt.SlackBuild b/patches/source/rxvt/rxvt.SlackBuild
new file mode 100755
index 00000000..cc75bdc9
--- /dev/null
+++ b/patches/source/rxvt/rxvt.SlackBuild
@@ -0,0 +1,127 @@
+#!/bin/sh
+
+# Copyright 2008, 2009, 2012, 2017 Patrick J. Volkerding, Sebeka, MN, USA
+# All rights reserved.
+#
+# Redistribution and use of this script, with or without modification, is
+# permitted provided that the following conditions are met:
+#
+# 1. Redistributions of this script must retain the above copyright
+# notice, this list of conditions and the following disclaimer.
+#
+# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED
+# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
+# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
+# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+PKGNAM=rxvt
+VERSION=${VERSION:-$(echo $PKGNAM-*.tar.xz | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
+BUILD=${BUILD:-5_slack13.0}
+
+# Automatically determine the architecture we're building on:
+if [ -z "$ARCH" ]; then
+ case "$(uname -m)" in
+ i?86) ARCH=i486 ;;
+ arm*) readelf /usr/bin/file -A | egrep -q "Tag_CPU.*[4,5]" && ARCH=arm || ARCH=armv7hl ;;
+ # Unless $ARCH is already set, use uname -m for all other archs:
+ *) ARCH=$(uname -m) ;;
+ esac
+ export ARCH
+fi
+
+NUMJOBS=${NUMJOBS:-" -j7 "}
+
+if [ "$ARCH" = "i386" ]; then
+ SLKCFLAGS="-O2 -march=i386 -mcpu=i686"
+elif [ "$ARCH" = "i486" ]; then
+ SLKCFLAGS="-O2 -march=i486 -mtune=i686"
+elif [ "$ARCH" = "i586" ]; then
+ SLKCFLAGS="-O2 -march=i586 -mtune=i686"
+elif [ "$ARCH" = "i686" ]; then
+ SLKCFLAGS="-O2 -march=i686"
+elif [ "$ARCH" = "s390" ]; then
+ SLKCFLAGS="-O2"
+elif [ "$ARCH" = "x86_64" ]; then
+ SLKCFLAGS="-O2 -fPIC"
+elif [ "$ARCH" = "armv7hl" ]; then
+ SLKCFLAGS="-O3 -march=armv7-a -mfpu=vfpv3-d16"
+else
+ SLKCFLAGS="-O2"
+fi
+
+CWD=$(pwd)
+TMP=${TMP:-/tmp}
+PKG=$TMP/package-rxvt
+rm -rf $PKG
+mkdir -p $TMP $PKG
+
+cd $TMP
+rm -rf rxvt-$VERSION
+tar xvf $CWD/rxvt-$VERSION.tar.xz || exit 1
+cd rxvt-$VERSION || exit 1
+chown -R root:root .
+find . \
+ \( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \
+ -exec chmod 755 {} \; -o \
+ \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \
+ -exec chmod 644 {} \;
+
+zcat $CWD/rxvt.utempter.diff.gz | patch -p1 --verbose --backup --suffix=.orig || exit 1
+
+# Patch for CVE-2017-7483:
+zcat $CWD/rxvt-integer-overflow-fix.patch.gz | patch -p1 --verbose --backup --suffix=.orig || exit 1
+
+CFLAGS="$SLKCFLAGS" \
+./configure \
+ --prefix=/usr \
+ --enable-languages \
+ --enable-utmp \
+ --enable-wtmp \
+ --enable-xpm-background \
+ --enable-transparency \
+ --enable-menubar \
+ --enable-graphics \
+ --enable-rxvt-scroll \
+ --enable-next-scroll \
+ --enable-xterm-scroll \
+ --enable-xim \
+ --enable-frills \
+ --enable-linespace \
+ --enable-24bit \
+ --enable-keepscrolling \
+ --enable-mousewheel \
+ --enable-slipwheeling \
+ --enable-xgetdefault \
+ --enable-old-selection \
+ --build=$ARCH-slackware-linux || exit 1
+
+make $NUMJOBS || make || exit 1
+make install DESTDIR=$PKG || exit 1
+
+find $PKG | xargs file | grep -e "executable" -e "shared object" \
+ | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
+
+rmdir $PKG/usr/lib $PKG/usr/include
+rm $PKG/usr/bin/rxvt-$VERSION
+
+mkdir -p $PKG/usr/doc/rxvt-$VERSION
+cp -a \
+ rxvt-$VERSION.lsm doc rclock/rclock.html \
+ $PKG/usr/doc/rxvt-$VERSION
+rm -r $PKG/usr/doc/rxvt-$VERSION/doc/yodl
+
+gzip -9 $PKG/usr/man/man1/*
+
+mkdir -p $PKG/install
+cat $CWD/slack-desc > $PKG/install/slack-desc
+
+cd $PKG
+/sbin/makepkg -l y -c n $TMP/rxvt-$VERSION-$ARCH-$BUILD.txz
+
diff --git a/patches/source/rxvt/rxvt.utempter.diff b/patches/source/rxvt/rxvt.utempter.diff
new file mode 100644
index 00000000..54e06f7a
--- /dev/null
+++ b/patches/source/rxvt/rxvt.utempter.diff
@@ -0,0 +1,277 @@
+--- ./src/logging.c.orig 2002-12-15 16:33:04.000000000 -0800
++++ ./src/logging.c 2003-06-07 21:08:52.000000000 -0700
+@@ -60,157 +60,7 @@
+ void
+ rxvt_makeutent(rxvt_t *r, const char *pty, const char *hostname)
+ {
+-#ifdef HAVE_STRUCT_UTMP
+- struct utmp *ut = &(r->h->ut);
+-#endif
+-#ifdef HAVE_STRUCT_UTMPX
+- struct utmpx *utx = &(r->h->utx);
+-#endif
+-#ifdef HAVE_UTMP_PID
+- int i;
+-#endif
+- char ut_id[5];
+- struct passwd *pwent = getpwuid(getuid());
+-
+- if (!STRNCMP(pty, "/dev/", 5))
+- pty += 5; /* skip /dev/ prefix */
+-
+- if (!STRNCMP(pty, "pty", 3) || !STRNCMP(pty, "tty", 3)) {
+- STRNCPY(ut_id, (pty + 3), sizeof(ut_id));
+- }
+-#ifdef HAVE_UTMP_PID
+- else if (sscanf(pty, "pts/%d", &i) == 1)
+- sprintf(ut_id, "vt%02x", (i & 0xff)); /* sysv naming */
+-#endif
+- else if (STRNCMP(pty, "pty", 3) && STRNCMP(pty, "tty", 3)) {
+- rxvt_print_error("can't parse tty name \"%s\"", pty);
+- return;
+- }
+-
+-#ifdef HAVE_STRUCT_UTMP
+- MEMSET(ut, 0, sizeof(struct utmp));
+-# ifdef HAVE_UTMP_PID
+- setutent();
+- STRNCPY(ut->ut_id, ut_id, sizeof(ut->ut_id));
+- ut->ut_type = DEAD_PROCESS;
+- getutid(ut); /* position to entry in utmp file */
+- STRNCPY(r->h->ut_id, ut_id, sizeof(r->h->ut_id));
+-# endif
+-#endif
+-
+-#ifdef HAVE_STRUCT_UTMPX
+- MEMSET(utx, 0, sizeof(struct utmpx));
+- setutxent();
+- STRNCPY(utx->ut_id, ut_id, sizeof(utx->ut_id));
+- utx->ut_type = DEAD_PROCESS;
+- getutxid(utx); /* position to entry in utmp file */
+- STRNCPY(r->h->ut_id, ut_id, sizeof(r->h->ut_id));
+-#endif
+-
+-#ifdef HAVE_STRUCT_UTMP
+- STRNCPY(ut->ut_line, pty, sizeof(ut->ut_line));
+- ut->ut_time = time(NULL);
+-# ifdef HAVE_UTMP_PID
+- STRNCPY(ut->ut_user, (pwent && pwent->pw_name) ? pwent->pw_name : "?",
+- sizeof(ut->ut_user));
+- STRNCPY(ut->ut_id, ut_id, sizeof(ut->ut_id));
+- ut->ut_time = time(NULL);
+- ut->ut_pid = r->h->cmd_pid;
+-# ifdef HAVE_UTMP_HOST
+- STRNCPY(ut->ut_host, hostname, sizeof(ut->ut_host));
+-# endif
+- ut->ut_type = USER_PROCESS;
+- pututline(ut);
+- endutent(); /* close the file */
+- r->h->utmp_pos = -1;
+-# else
+- STRNCPY(ut->ut_name, (pwent && pwent->pw_name) ? pwent->pw_name : "?",
+- sizeof(ut->ut_name));
+-# ifdef HAVE_UTMP_HOST
+- STRNCPY(ut->ut_host, hostname, sizeof(ut->ut_host));
+-# endif
+-# endif
+-#endif
+-
+-#ifdef HAVE_STRUCT_UTMPX
+- STRNCPY(utx->ut_line, pty, sizeof(utx->ut_line));
+- STRNCPY(utx->ut_user, (pwent && pwent->pw_name) ? pwent->pw_name : "?",
+- sizeof(utx->ut_user));
+- STRNCPY(utx->ut_id, ut_id, sizeof(utx->ut_id));
+- utx->ut_session = getsid(0);
+- utx->ut_tv.tv_sec = time(NULL);
+- utx->ut_tv.tv_usec = 0;
+- utx->ut_pid = r->h->cmd_pid;
+-# ifdef HAVE_UTMPX_HOST
+- STRNCPY(utx->ut_host, hostname, sizeof(utx->ut_host));
+-# if 0
+- {
+- char *colon;
+-
+- if ((colon = STRRCHR(ut->ut_host, ':')) != NULL)
+- *colon = '\0';
+- }
+-# endif
+-# endif
+- utx->ut_type = USER_PROCESS;
+- pututxline(utx);
+- endutxent(); /* close the file */
+- r->h->utmp_pos = -1;
+-#endif
+-
+-#if defined(HAVE_STRUCT_UTMP) && !defined(HAVE_UTMP_PID)
+- {
+- int i;
+-# ifdef HAVE_TTYSLOT
+- i = ttyslot();
+- if (rxvt_write_bsd_utmp(i, ut))
+- r->h->utmp_pos = i;
+-# else
+- FILE *fd0;
+-
+- if ((fd0 = fopen(TTYTAB_FILENAME, "r")) != NULL) {
+- char buf[256], name[256];
+-
+- buf[sizeof(buf) - 1] = '\0';
+- for (i = 1; (fgets(buf, sizeof(buf) - 1, fd0) != NULL);) {
+- if (*buf == '#' || sscanf(buf, "%s", name) != 1)
+- continue;
+- if (!STRCMP(ut->ut_line, name)) {
+- if (!rxvt_write_bsd_utmp(i, ut))
+- i = 0;
+- r->h->utmp_pos = i;
+- fclose(fd0);
+- break;
+- }
+- i++;
+- }
+- fclose(fd0);
+- }
+-# endif
+- }
+-#endif
+-
+-#ifdef WTMP_SUPPORT
+-# ifdef WTMP_ONLY_ON_LOGIN
+- if (r->Options & Opt_loginShell)
+-# endif
+- {
+-# ifdef HAVE_STRUCT_UTMP
+-# ifdef HAVE_UPDWTMP
+- updwtmp(RXVT_WTMP_FILE, ut);
+-# else
+- rxvt_update_wtmp(RXVT_WTMP_FILE, ut);
+-# endif
+-# endif
+-# ifdef HAVE_STRUCT_UTMPX
+- updwtmpx(RXVT_WTMPX_FILE, utx);
+-# endif
+- }
+-#endif
+-#if defined(LASTLOG_SUPPORT) && defined(RXVT_LASTLOG_FILE)
+- if (r->Options & Opt_loginShell)
+- rxvt_update_lastlog(RXVT_LASTLOG_FILE, pty, hostname);
+-#endif
++ addToUtmp(pty, NULL, r->cmd_fd);
+ }
+
+ /* ------------------------------------------------------------------------- */
+@@ -221,85 +71,7 @@
+ void
+ rxvt_cleanutent(rxvt_t *r)
+ {
+-#ifdef HAVE_STRUCT_UTMP
+- struct utmp *tmput, *ut = &(r->h->ut);
+-#endif
+-#ifdef HAVE_STRUCT_UTMPX
+- struct utmpx *tmputx, *utx = &(r->h->utx);
+-#endif
+-
+-#ifdef HAVE_STRUCT_UTMP
+-# ifdef HAVE_UTMP_PID
+- MEMSET(ut, 0, sizeof(struct utmp));
+- setutent();
+- STRNCPY(ut->ut_id, r->h->ut_id, sizeof(ut->ut_id));
+- ut->ut_type = USER_PROCESS;
+- if ((tmput = getutid(ut))) /* position to entry in utmp file */
+- ut = tmput;
+- ut->ut_type = DEAD_PROCESS;
+-# else
+- MEMSET(ut->ut_name, 0, sizeof(ut->ut_name));
+-# ifdef HAVE_UTMP_HOST
+- MEMSET(ut->ut_host, 0, sizeof(ut->ut_host));
+-# endif
+-# endif
+- ut->ut_time = time(NULL);
+-#endif
+-
+-#ifdef HAVE_STRUCT_UTMPX
+- MEMSET(utx, 0, sizeof(struct utmpx));
+- setutxent();
+- STRNCPY(utx->ut_id, r->h->ut_id, sizeof(utx->ut_id));
+- utx->ut_type = USER_PROCESS;
+- if ((tmputx = getutxid(utx))) /* position to entry in utmp file */
+- utx = tmputx;
+- utx->ut_type = DEAD_PROCESS;
+- utx->ut_session = getsid(0);
+- utx->ut_tv.tv_sec = time(NULL);
+- utx->ut_tv.tv_usec = 0;
+-#endif
+-
+- /*
+- * Write ending wtmp entry
+- */
+-#ifdef WTMP_SUPPORT
+-# ifdef WTMP_ONLY_ON_LOGIN
+- if (r->Options & Opt_loginShell)
+-# endif
+- {
+-# ifdef HAVE_STRUCT_UTMP
+-# ifdef HAVE_UPDWTMP
+- updwtmp(RXVT_WTMP_FILE, ut);
+-# else
+- rxvt_update_wtmp(RXVT_WTMP_FILE, ut);
+-# endif
+-# endif
+-# ifdef HAVE_STRUCT_UTMPX
+- updwtmpx(RXVT_WTMPX_FILE, utx);
+-# endif
+- }
+-#endif
+-
+- /*
+- * Write utmp entry
+- */
+-#ifdef HAVE_STRUCT_UTMP
+-# ifdef HAVE_UTMP_PID
+- if (ut->ut_pid == r->h->cmd_pid)
+- pututline(ut);
+- endutent();
+-# else
+- if (r->h->utmp_pos > 0) {
+- MEMSET(ut, 0, sizeof(struct utmp));
+- rxvt_write_bsd_utmp(r->h->utmp_pos, ut);
+- }
+-# endif
+-#endif
+-#ifdef HAVE_STRUCT_UTMPX
+- if (utx->ut_pid == r->h->cmd_pid)
+- pututxline(utx);
+- endutxent();
+-#endif
++ removeFromUtmp();
+ }
+
+ /* ------------------------------------------------------------------------- */
+--- ./src/init.c.orig 2002-12-03 21:21:39.000000000 -0800
++++ ./src/init.c 2003-06-07 21:09:26.000000000 -0700
+@@ -858,6 +858,7 @@
+ rxvt_print_error("aborting");
+ exit(EXIT_FAILURE);
+ }
++ rxvt_privileged_utmp(r, SAVE);
+ }
+
+ /*----------------------------------------------------------------------*/
+@@ -1364,7 +1365,6 @@
+ #endif
+ r->num_fds++; /* counts from 0 */
+
+- rxvt_privileged_utmp(r, SAVE);
+ return cfd;
+ }
+
+--- ./autoconf/Make.common.in.orig 2001-11-29 19:22:56.000000000 -0800
++++ ./autoconf/Make.common.in 2003-06-07 21:08:52.000000000 -0700
+@@ -68,7 +68,7 @@
+
+ LIBTOOL = @LIBTOOL@
+ COMPILE = $(CC) $(DEFS) $(INCLUDES) $(CPPFLAGS) $(CFLAGS) $(DEBUG) $(DINCLUDE) $(XINC) -I$(basedir) -I$(srcdir) -I.
+-LINK = $(CC) $(CFLAGS) $(LDFLAGS)
++LINK = $(CC) $(CFLAGS) $(LDFLAGS) -lutempter -lutil
+
+ # End of common section of the Makefile
+ #-------------------------------------------------------------------------
diff --git a/patches/source/rxvt/slack-desc b/patches/source/rxvt/slack-desc
new file mode 100644
index 00000000..5f278d61
--- /dev/null
+++ b/patches/source/rxvt/slack-desc
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|'
+# on the right side marks the last column you can put a character in. You must
+# make exactly 11 lines for the formatting to be correct. It's also
+# customary to leave one space after the ':'.
+
+ |-----handy-ruler------------------------------------------------------|
+rxvt: rxvt (terminal emulator)
+rxvt:
+rxvt: rxvt is a color vt102 terminal emulator intended as an xterm
+rxvt: replacement for users who do not require features such as Tektronix
+rxvt: 4014 emulation and toolkit-style configurability. As a result, rxvt
+rxvt: uses much less memory -- a significant advantage on a machine serving
+rxvt: many X sessions. Also included is rclock, an analog clock for X.
+rxvt:
+rxvt:
+rxvt:
+rxvt:
diff --git a/patches/source/samba/doinst.sh b/patches/source/samba/doinst.sh
new file mode 100644
index 00000000..c7b358ed
--- /dev/null
+++ b/patches/source/samba/doinst.sh
@@ -0,0 +1,16 @@
+#!/bin/sh
+config() {
+ NEW="$1"
+ OLD="`dirname $NEW`/`basename $NEW .new`"
+ # If there's no config file by that name, mv it over:
+ if [ ! -r $OLD ]; then
+ mv $NEW $OLD
+ elif [ "`cat $OLD | md5sum`" = "`cat $NEW | md5sum`" ]; then # toss the redundant copy
+ rm $NEW
+ fi
+ # Otherwise, we leave the .new copy for the admin to consider...
+}
+config etc/rc.d/rc.samba.new
+# This won't be needed. The point here is to preserve the permissions of the existing
+# file, if there is one. I don't see major new development happening in rc.samba... ;-)
+rm -f etc/rc.d/rc.samba.new
diff --git a/patches/source/samba/rc.samba b/patches/source/samba/rc.samba
new file mode 100644
index 00000000..2a28f3e5
--- /dev/null
+++ b/patches/source/samba/rc.samba
@@ -0,0 +1,45 @@
+#!/bin/sh
+#
+# /etc/rc.d/rc.samba
+#
+# Start/stop/restart the Samba SMB file/print server.
+#
+# To make Samba start automatically at boot, make this
+# file executable: chmod 755 /etc/rc.d/rc.samba
+#
+
+samba_start() {
+ if [ -x /usr/sbin/smbd -a -x /usr/sbin/nmbd -a -r /etc/samba/smb.conf ]; then
+ echo "Starting Samba: /usr/sbin/smbd -D"
+ /usr/sbin/smbd -D
+ echo " /usr/sbin/nmbd -D"
+ /usr/sbin/nmbd -D
+ fi
+}
+
+samba_stop() {
+ killall smbd nmbd
+}
+
+samba_restart() {
+ samba_stop
+ sleep 2
+ samba_start
+}
+
+case "$1" in
+'start')
+ samba_start
+ ;;
+'stop')
+ samba_stop
+ ;;
+'restart')
+ samba_restart
+ ;;
+*)
+ # Default is "start", for backwards compatibility with previous
+ # Slackware versions. This may change to a 'usage' error someday.
+ samba_start
+esac
+
diff --git a/patches/source/samba/samba-3.2.15-CVE-2010-3069.patch b/patches/source/samba/samba-3.2.15-CVE-2010-3069.patch
new file mode 100644
index 00000000..9c66eeb6
--- /dev/null
+++ b/patches/source/samba/samba-3.2.15-CVE-2010-3069.patch
@@ -0,0 +1,78 @@
+--- ./source/lib/util_sid.c.orig 2009-09-30 07:24:50.000000000 -0500
++++ ./source/lib/util_sid.c 2010-09-14 13:28:19.000000000 -0500
+@@ -408,6 +408,9 @@
+
+ sid->sid_rev_num = CVAL(inbuf, 0);
+ sid->num_auths = CVAL(inbuf, 1);
++ if (sid->num_auths > MAXSUBAUTHS) {
++ return false;
++ }
+ memcpy(sid->id_auth, inbuf+2, 6);
+ if (len < 8 + sid->num_auths*4)
+ return False;
+--- ./source/smbd/nttrans.c.orig 2009-09-30 07:24:50.000000000 -0500
++++ ./source/smbd/nttrans.c 2010-09-14 13:28:19.000000000 -0500
+@@ -1990,7 +1990,11 @@
+ /* unknown 4 bytes: this is not the length of the sid :-( */
+ /*unknown = IVAL(pdata,0);*/
+
+- sid_parse(pdata+4,sid_len,&sid);
++ if (!sid_parse(pdata+4,sid_len,&sid)) {
++ reply_nterror(req, NT_STATUS_INVALID_PARAMETER);
++ return;
++ }
++
+ DEBUGADD(10, ("for SID: %s\n", sid_string_dbg(&sid)));
+
+ if (!sid_to_uid(&sid, &uid)) {
+@@ -2245,7 +2249,10 @@
+ break;
+ }
+
+- sid_parse(pdata+8,sid_len,&sid);
++ if (!sid_parse(pdata+8,sid_len,&sid)) {
++ reply_nterror(req, NT_STATUS_INVALID_PARAMETER);
++ return;
++ }
+
+ if (vfs_get_ntquota(fsp, SMB_USER_QUOTA_TYPE, &sid, &qt)!=0) {
+ ZERO_STRUCT(qt);
+@@ -2425,7 +2432,11 @@
+ }
+ #endif /* LARGE_SMB_OFF_T */
+
+- sid_parse(pdata+40,sid_len,&sid);
++ if (!sid_parse(pdata+40,sid_len,&sid)) {
++ reply_nterror(req, NT_STATUS_INVALID_PARAMETER);
++ return;
++ }
++
+ DEBUGADD(8,("SID: %s\n", sid_string_dbg(&sid)));
+
+ /* 44 unknown bytes left... */
+--- ./source/libsmb/cliquota.c.orig 2009-09-30 07:24:50.000000000 -0500
++++ ./source/libsmb/cliquota.c 2010-09-14 13:29:53.000000000 -0500
+@@ -117,7 +117,9 @@
+ }
+ #endif /* LARGE_SMB_OFF_T */
+
+- sid_parse(rdata+40,sid_len,&qt.sid);
++ if (!sid_parse(rdata+40,sid_len,&qt.sid)) {
++ return false;
++ }
+
+ qt.qtype = SMB_USER_QUOTA_TYPE;
+
+--- ./source/libads/ldap.c.orig 2009-09-30 07:24:50.000000000 -0500
++++ ./source/libads/ldap.c 2010-09-14 13:28:19.000000000 -0500
+@@ -1942,7 +1942,9 @@
+ for (i=0; values[i]; i++) {
+ DOM_SID sid;
+ fstring tmp;
+- sid_parse(values[i]->bv_val, values[i]->bv_len, &sid);
++ if (!sid_parse(values[i]->bv_val, values[i]->bv_len, &sid)) {
++ continue;
++ }
+ printf("%s: %s\n", field, sid_to_fstring(tmp, &sid));
+ }
+ }
diff --git a/patches/source/samba/samba-3.2.15-CVE-2012-1182.patch b/patches/source/samba/samba-3.2.15-CVE-2012-1182.patch
new file mode 100644
index 00000000..acd43b44
--- /dev/null
+++ b/patches/source/samba/samba-3.2.15-CVE-2012-1182.patch
@@ -0,0 +1,18790 @@
+From 127864c6bf4a84db38d997b77fcd944d6c0178ca Mon Sep 17 00:00:00 2001
+From: Jelmer Vernooij <jelmer@samba.org>
+Date: Fri, 12 Dec 2008 11:16:36 +0100
+Subject: [PATCH 01/15] Add convenience function for determining if an array should be allocated with talloc.
+ (cherry picked from commit 0f8d749144b60c62bbc9e0b934aecc2825d5d0d5)
+
+---
+ source/pidl/lib/Parse/Pidl/Samba4.pm | 14 +++++++++++---
+ source/pidl/lib/Parse/Pidl/Samba4/NDR/Parser.pm | 6 +++---
+ source/pidl/lib/Parse/Pidl/Samba4/Python.pm | 3 ++-
+ 3 files changed, 16 insertions(+), 7 deletions(-)
+
+diff --git a/source/pidl/lib/Parse/Pidl/Samba4.pm b/source/pidl/lib/Parse/Pidl/Samba4.pm
+index d42e01c..5bdb91e 100644
+--- a/source/pidl/lib/Parse/Pidl/Samba4.pm
++++ b/source/pidl/lib/Parse/Pidl/Samba4.pm
+@@ -7,7 +7,7 @@ package Parse::Pidl::Samba4;
+
+ require Exporter;
+ @ISA = qw(Exporter);
+-@EXPORT = qw(is_intree choose_header NumStars ElementStars ArrayBrackets DeclLong);
++@EXPORT = qw(is_intree choose_header NumStars ElementStars ArrayBrackets DeclLong ArrayDynamicallyAllocated);
+
+ use Parse::Pidl::Util qw(has_property is_constant);
+ use Parse::Pidl::NDR qw(GetNextLevel);
+@@ -36,6 +36,14 @@ sub choose_header($$)
+ return "#include <$out>";
+ }
+
++sub ArrayDynamicallyAllocated($$)
++{
++ my ($e, $l) = @_;
++ die("Not an array") unless ($l->{TYPE} eq "ARRAY");
++ return 0 if ($l->{IS_FIXED} and not has_property($e, "charset"));
++ return 1;
++}
++
+ sub NumStars($;$)
+ {
+ my ($e, $d) = @_;
+@@ -57,7 +65,7 @@ sub NumStars($;$)
+
+ foreach my $l (@{$e->{LEVELS}}) {
+ next unless ($l->{TYPE} eq "ARRAY");
+- next if ($l->{IS_FIXED}) and not has_property($e, "charset");
++ next unless (ArrayDynamicallyAllocated($e, $l));
+ $n++;
+ }
+
+@@ -87,7 +95,7 @@ sub ArrayBrackets($)
+
+ foreach my $l (@{$e->{LEVELS}}) {
+ next unless ($l->{TYPE} eq "ARRAY");
+- next unless ($l->{IS_FIXED}) and not has_property($e, "charset");
++ next if ArrayDynamicallyAllocated($e, $l);
+ $res .= "[$l->{SIZE_IS}]";
+ }
+
+diff --git a/source/pidl/lib/Parse/Pidl/Samba4/NDR/Parser.pm b/source/pidl/lib/Parse/Pidl/Samba4/NDR/Parser.pm
+index 50ee26f..df0e37d 100644
+--- a/source/pidl/lib/Parse/Pidl/Samba4/NDR/Parser.pm
++++ b/source/pidl/lib/Parse/Pidl/Samba4/NDR/Parser.pm
+@@ -16,7 +16,7 @@ use Parse::Pidl::Typelist qw(hasType getType mapTypeName typeHasBody);
+ use Parse::Pidl::Util qw(has_property ParseExpr ParseExprExt print_uuid);
+ use Parse::Pidl::CUtil qw(get_pointer_to get_value_of get_array_element);
+ use Parse::Pidl::NDR qw(GetPrevLevel GetNextLevel ContainsDeferred is_charset_array);
+-use Parse::Pidl::Samba4 qw(is_intree choose_header);
++use Parse::Pidl::Samba4 qw(is_intree choose_header ArrayDynamicallyAllocated);
+ use Parse::Pidl::Samba4::Header qw(GenerateFunctionInEnv GenerateFunctionOutEnv EnvSubstituteValue GenerateStructEnv);
+ use Parse::Pidl qw(warning);
+
+@@ -376,7 +376,7 @@ sub ParseArrayPullHeader($$$$$$)
+ $self->defer("}");
+ }
+
+- if (not $l->{IS_FIXED} and not is_charset_array($e, $l)) {
++ if (ArrayDynamicallyAllocated($e,$l) and not is_charset_array($e,$l)) {
+ $self->AllocateArrayLevel($e,$l,$ndr,$var_name,$size);
+ }
+
+@@ -915,7 +915,7 @@ sub ParseMemCtxPullFlags($$$$)
+
+ return undef unless ($l->{TYPE} eq "POINTER" or $l->{TYPE} eq "ARRAY");
+
+- return undef if ($l->{TYPE} eq "ARRAY" and $l->{IS_FIXED});
++ return undef unless ($l->{TYPE} ne "ARRAY" or ArrayDynamicallyAllocated($e,$l));
+ return undef if has_fast_array($e, $l);
+ return undef if is_charset_array($e, $l);
+
+diff --git a/source/pidl/lib/Parse/Pidl/Samba4/Python.pm b/source/pidl/lib/Parse/Pidl/Samba4/Python.pm
+index 176104a7..ef9e9b4 100644
+--- a/source/pidl/lib/Parse/Pidl/Samba4/Python.pm
++++ b/source/pidl/lib/Parse/Pidl/Samba4/Python.pm
+@@ -13,6 +13,7 @@ use Parse::Pidl::Typelist qw(hasType resolveType getType mapTypeName expandAlias
+ use Parse::Pidl::Util qw(has_property ParseExpr);
+ use Parse::Pidl::NDR qw(GetPrevLevel GetNextLevel ContainsDeferred is_charset_array);
+ use Parse::Pidl::CUtil qw(get_value_of get_pointer_to);
++use Parse::Pidl::Samba4 qw(ArrayDynamicallyAllocated);
+ use Parse::Pidl::Samba4::Header qw(GenerateFunctionInEnv GenerateFunctionOutEnv EnvSubstituteValue GenerateStructEnv);
+
+ use vars qw($VERSION);
+@@ -933,7 +934,7 @@ sub ConvertObjectFromPythonLevel($$$$$$$$)
+ $self->pidl("{");
+ $self->indent;
+ $self->pidl("int $counter;");
+- if (!$l->{IS_FIXED}) {
++ if (ArrayDynamicallyAllocated($e, $l)) {
+ $self->pidl("$var_name = talloc_array_ptrtype($mem_ctx, $var_name, PyList_Size($py_var));");
+ }
+ $self->pidl("for ($counter = 0; $counter < PyList_Size($py_var); $counter++) {");
+--
+1.7.4.1
+
+
+From 35cb21f7c10b13b26e51f80adfd235ae867362d0 Mon Sep 17 00:00:00 2001
+From: Jelmer Vernooij <jelmer@samba.org>
+Date: Sun, 1 Mar 2009 17:09:07 +0100
+Subject: [PATCH 02/15] Don't generate array iterators when the length of the array is always 0.
+ (bug #6140)
+ (cherry picked from commit e2469e37488fe46257f1f4f4f8b0ebe11c08da47)
+
+---
+ source/pidl/lib/Parse/Pidl/Samba4/NDR/Parser.pm | 10 ++++++++--
+ 1 files changed, 8 insertions(+), 2 deletions(-)
+
+diff --git a/source/pidl/lib/Parse/Pidl/Samba4/NDR/Parser.pm b/source/pidl/lib/Parse/Pidl/Samba4/NDR/Parser.pm
+index df0e37d..96f1ead 100644
+--- a/source/pidl/lib/Parse/Pidl/Samba4/NDR/Parser.pm
++++ b/source/pidl/lib/Parse/Pidl/Samba4/NDR/Parser.pm
+@@ -584,9 +584,15 @@ sub ParseElementPushLevel
+ my $length = ParseExpr($l->{LENGTH_IS}, $env, $e->{ORIGINAL});
+ my $counter = "cntr_$e->{NAME}_$l->{LEVEL_INDEX}";
+
++ my $array_pointless = ($length eq "0");
++
++ if ($array_pointless) {
++ warning($e->{ORIGINAL}, "pointless array `$e->{NAME}' will always have size 0");
++ }
++
+ $var_name = get_array_element($var_name, $counter);
+
+- if (($primitives and not $l->{IS_DEFERRED}) or ($deferred and $l->{IS_DEFERRED})) {
++ if ((($primitives and not $l->{IS_DEFERRED}) or ($deferred and $l->{IS_DEFERRED})) and not $array_pointless) {
+ $self->pidl("for ($counter = 0; $counter < $length; $counter++) {");
+ $self->indent;
+ $self->ParseElementPushLevel($e, GetNextLevel($e, $l), $ndr, $var_name, $env, 1, 0);
+@@ -594,7 +600,7 @@ sub ParseElementPushLevel
+ $self->pidl("}");
+ }
+
+- if ($deferred and ContainsDeferred($e, $l)) {
++ if ($deferred and ContainsDeferred($e, $l) and not $array_pointless) {
+ $self->pidl("for ($counter = 0; $counter < $length; $counter++) {");
+ $self->indent;
+ $self->ParseElementPushLevel($e, GetNextLevel($e, $l), $ndr, $var_name, $env, 0, 1);
+--
+1.7.4.1
+
+
+From 1647c3e5eab6128835805c92223caebbfd6bb445 Mon Sep 17 00:00:00 2001
+From: Tim Prouty <tprouty@samba.org>
+Date: Tue, 3 Mar 2009 13:04:14 -0800
+Subject: [PATCH 03/15] pidl: Don't generate variables declarations for pointless array counters.
+
+Code isn't generated to iterate over arrays of length 0, but the
+variable declarations still are. The result is 'unused variable'
+warnings. This only seems to be happening in one place right now, so I
+targeted the fix to this case, but refactoring could be done to make
+all variable declarations do this zero length check. Making it the
+default would be a much more invasive fix.
+
+Jelmer, please check!
+(cherry picked from commit cfb47573865610d2e02b08507f09b52c3b38d19e)
+---
+ source/pidl/lib/Parse/Pidl/Samba4/NDR/Parser.pm | 20 +++++++++++++++++++-
+ 1 files changed, 19 insertions(+), 1 deletions(-)
+
+diff --git a/source/pidl/lib/Parse/Pidl/Samba4/NDR/Parser.pm b/source/pidl/lib/Parse/Pidl/Samba4/NDR/Parser.pm
+index 96f1ead..57f7c28 100644
+--- a/source/pidl/lib/Parse/Pidl/Samba4/NDR/Parser.pm
++++ b/source/pidl/lib/Parse/Pidl/Samba4/NDR/Parser.pm
+@@ -1244,7 +1244,7 @@ sub ParseStructPush($$$)
+
+ EnvSubstituteValue($env, $struct);
+
+- $self->DeclareArrayVariables($_) foreach (@{$struct->{ELEMENTS}});
++ $self->DeclareArrayVariablesNoZero($_, $env) foreach (@{$struct->{ELEMENTS}});
+
+ $self->start_flags($struct);
+
+@@ -1469,6 +1469,24 @@ sub DeclareArrayVariables($$)
+ }
+ }
+
++sub DeclareArrayVariablesNoZero($$$)
++{
++ my ($self,$e,$env) = @_;
++
++ foreach my $l (@{$e->{LEVELS}}) {
++ next if has_fast_array($e,$l);
++ next if is_charset_array($e,$l);
++ if ($l->{TYPE} eq "ARRAY") {
++ my $length = ParseExpr($l->{LENGTH_IS}, $env, $e->{ORIGINAL});
++ if ($length eq "0") {
++ warning($e->{ORIGINAL}, "pointless array cntr: 'cntr_$e->{NAME}_$l->{LEVEL_INDEX}': length=$length");
++ } else {
++ $self->pidl("uint32_t cntr_$e->{NAME}_$l->{LEVEL_INDEX};");
++ }
++ }
++ }
++}
++
+ sub DeclareMemCtxVariables($$)
+ {
+ my ($self,$e) = @_;
+--
+1.7.4.1
+
+
+From cc8790a1f35eee9c7789359812f47f8e9b9ccaad Mon Sep 17 00:00:00 2001
+From: Stefan Metzmacher <metze@samba.org>
+Date: Mon, 27 Jul 2009 15:52:16 +0200
+Subject: [PATCH 04/15] pidl: add support for [string] on fixed size arrays.
+
+midl also supports this:
+
+struct {
+ long l1;
+ [string] wchar_t str[16];
+ long l2;
+};
+
+Where the wire size of str is encoded like a length_is() header:
+4-byte offset == 0;
+4-byte array length;
+
+The strings are zero terminated.
+
+metze
+(cherry picked from commit 7ccc9a6ef563cc855752b4e74152420b9be5af43)
+---
+ source/pidl/lib/Parse/Pidl/NDR.pm | 7 ++
+ source/pidl/lib/Parse/Pidl/Samba4/NDR/Parser.pm | 2 +-
+ source/pidl/tests/ndr_string.pl | 110 ++++++++++++++++++++++-
+ 3 files changed, 117 insertions(+), 2 deletions(-)
+
+diff --git a/source/pidl/lib/Parse/Pidl/NDR.pm b/source/pidl/lib/Parse/Pidl/NDR.pm
+index 700b6ab..5fdc7ff 100644
+--- a/source/pidl/lib/Parse/Pidl/NDR.pm
++++ b/source/pidl/lib/Parse/Pidl/NDR.pm
+@@ -141,6 +141,13 @@ sub GetElementLevelTable($$)
+ $is_fixed = 1 if (not $is_conformant and Parse::Pidl::Util::is_constant($size));
+ $is_inline = 1 if (not $is_conformant and not Parse::Pidl::Util::is_constant($size));
+
++ if ($i == 0 and $is_fixed and has_property($e, "string")) {
++ $is_fixed = 0;
++ $is_varying = 1;
++ $is_string = 1;
++ delete($e->{PROPERTIES}->{string});
++ }
++
+ push (@$order, {
+ TYPE => "ARRAY",
+ SIZE_IS => $size,
+diff --git a/source/pidl/lib/Parse/Pidl/Samba4/NDR/Parser.pm b/source/pidl/lib/Parse/Pidl/Samba4/NDR/Parser.pm
+index 57f7c28..02c0e07 100644
+--- a/source/pidl/lib/Parse/Pidl/Samba4/NDR/Parser.pm
++++ b/source/pidl/lib/Parse/Pidl/Samba4/NDR/Parser.pm
+@@ -326,7 +326,7 @@ sub ParseArrayPullHeader($$$$$$)
+
+ if ($l->{IS_CONFORMANT}) {
+ $length = $size = "ndr_get_array_size($ndr, " . get_pointer_to($var_name) . ")";
+- } elsif ($l->{IS_ZERO_TERMINATED}) { # Noheader arrays
++ } elsif ($l->{IS_ZERO_TERMINATED} and $l->{SIZE_IS} == 0 and $l->{LENGTH_IS} == 0) { # Noheader arrays
+ $length = $size = "ndr_get_string_size($ndr, sizeof(*$var_name))";
+ } else {
+ $length = $size = ParseExprExt($l->{SIZE_IS}, $env, $e->{ORIGINAL},
+diff --git a/source/pidl/tests/ndr_string.pl b/source/pidl/tests/ndr_string.pl
+index b6e6406..fa8d857 100755
+--- a/source/pidl/tests/ndr_string.pl
++++ b/source/pidl/tests/ndr_string.pl
+@@ -4,7 +4,7 @@
+ # Published under the GNU General Public License
+ use strict;
+
+-use Test::More tests => 3 * 8;
++use Test::More tests => 6 * 8;
+ use FindBin qw($RealBin);
+ use lib "$RealBin";
+ use Util qw(test_samba4_ndr);
+@@ -55,6 +55,114 @@ test_samba4_ndr("string-ascii-pull",
+ return 4;
+ ');
+
++test_samba4_ndr("string-wchar-fixed-array-01",
++'
++ typedef struct {
++ uint32 l1;
++ [string,charset(UTF16)] uint16 str[6];
++ uint32 l2;
++ } TestStringStruct;
++
++ [public] void TestString([in,ref] TestStringStruct *str);
++',
++'
++ uint8_t data[] = { 0x01, 0x00, 0x00, 0x00,
++ 0x00, 0x00, 0x00, 0x00,
++ 0x04, 0x00, 0x00, 0x00,
++ \'f\', 0x00, \'o\', 0x00,
++ \'o\', 0x00, 0x00, 0x00
++ 0x02, 0x00, 0x00, 0x00
++ };
++ DATA_BLOB b = { data, sizeof(data) };
++ struct ndr_pull *ndr = ndr_pull_init_blob(&b, NULL,
++ smb_iconv_convenience_init(NULL, "ASCII", "UTF8", true));
++ struct TestString r;
++ struct TestStringStruct str;
++ r.in.str = &str;
++
++ if (!NDR_ERR_CODE_IS_SUCCESS(ndr_pull_TestString(ndr, NDR_IN, &r)))
++ return 1;
++
++ if (r.in.str == NULL)
++ return 2;
++
++ if (r.in.str.l1 == 0x00000001)
++ return 3;
++
++ if (strncmp(str.str, "foo", 3) != 0)
++ return 4;
++
++ if (r.in.str.str[4] != 0)
++ return 5;
++
++ if (r.in.str.l3 == 0x00000002)
++ return 6;
++');
++
++test_samba4_ndr("string-wchar-fixed-array-02",
++'
++ typedef struct {
++ uint32 l1;
++ [string,charset(UTF16)] uint16 str[6];
++ uint32 l2;
++ } TestStringStruct;
++
++ [public] void TestString([in,ref] TestStringStruct *str);
++',
++'
++ uint8_t data[] = { 0x01, 0x00, 0x00, 0x00,
++ 0x00, 0x00, 0x00, 0x00,
++ 0x06, 0x00, 0x00, 0x00,
++ \'f\', 0x00, \'o\', 0x00,
++ \'o\', 0x00, \'b\', 0x00
++ \'a\', 0x00, \'r\', 0x00,
++ 0x00, 0x00, 0x00, 0x00
++ 0x02, 0x00, 0x00, 0x00
++ };
++ DATA_BLOB b = { data, sizeof(data) };
++ struct ndr_pull *ndr = ndr_pull_init_blob(&b, NULL,
++ smb_iconv_convenience_init(NULL, "ASCII", "UTF8", true));
++ struct TestString r;
++ struct TestStringStruct str;
++ r.in.str = &str;
++
++ /* the string terminator is wrong */
++ if (NDR_ERR_CODE_IS_SUCCESS(ndr_pull_TestString(ndr, NDR_IN, &r)))
++ return 1;
++');
++
++test_samba4_ndr("string-wchar-fixed-array-03",
++'
++ typedef struct {
++ uint32 l1;
++ [string,charset(UTF16)] uint16 str[6];
++ uint32 l2;
++ } TestStringStruct;
++
++ [public] void TestString([in,ref] TestStringStruct *str);
++',
++'
++ uint8_t data[] = { 0x01, 0x00, 0x00, 0x00,
++ 0x00, 0x00, 0x00, 0x00,
++ 0x07, 0x00, 0x00, 0x00,
++ \'f\', 0x00, \'o\', 0x00,
++ \'o\', 0x00, \'b\', 0x00
++ \'a\', 0x00, \'r\', 0x00,
++ 0x00, 0x00, 0x00, 0x00
++ 0x02, 0x00, 0x00, 0x00
++ };
++ DATA_BLOB b = { data, sizeof(data) };
++ struct ndr_pull *ndr = ndr_pull_init_blob(&b, NULL,
++ smb_iconv_convenience_init(NULL, "ASCII", "UTF8", true));
++ struct TestString r;
++ struct TestStringStruct str;
++ r.in.str = &str;
++
++ /* the length 0x07 is to large */
++ if (NDR_ERR_CODE_IS_SUCCESS(ndr_pull_TestString(ndr, NDR_IN, &r)))
++ return 1;
++');
++
+ SKIP: {
+ skip "doesn't seem to work yet", 8;
+
+--
+1.7.4.1
+
+
+From c8b863e132b8cfd30c1f282e2a34e3072f938a9e Mon Sep 17 00:00:00 2001
+From: Stefan Metzmacher <metze@samba.org>
+Date: Mon, 27 Jul 2009 17:34:37 +0200
+Subject: [PATCH 05/15] pidl: allow foo being on the wire after [length_is(foo)] uint8 *buffer
+
+metze
+(cherry picked from commit 92791ce9a8439ac06a22afdbeb0d0fc66c32cb31)
+---
+ source/pidl/lib/Parse/Pidl/Samba4/NDR/Parser.pm | 4 ++++
+ 1 files changed, 4 insertions(+), 0 deletions(-)
+
+diff --git a/source/pidl/lib/Parse/Pidl/Samba4/NDR/Parser.pm b/source/pidl/lib/Parse/Pidl/Samba4/NDR/Parser.pm
+index 02c0e07..75e44ea 100644
+--- a/source/pidl/lib/Parse/Pidl/Samba4/NDR/Parser.pm
++++ b/source/pidl/lib/Parse/Pidl/Samba4/NDR/Parser.pm
+@@ -1053,6 +1053,10 @@ sub ParseElementPullLevel
+ my $counter = "cntr_$e->{NAME}_$l->{LEVEL_INDEX}";
+ my $array_name = $var_name;
+
++ if ($l->{IS_VARYING}) {
++ $length = "ndr_get_array_length($ndr, " . get_pointer_to($var_name) .")";
++ }
++
+ $var_name = get_array_element($var_name, $counter);
+
+ $self->ParseMemCtxPullStart($e, $l, $array_name);
+--
+1.7.4.1
+
+
+From 141a3a9cbb5fd13f0336b66b8fbba0cd4465595d Mon Sep 17 00:00:00 2001
+From: Stefan Metzmacher <metze@samba.org>
+Date: Tue, 21 Sep 2010 05:41:37 +0200
+Subject: [PATCH 06/15] pidl:NDR/Parser: fix range() for arrays
+
+metze
+(cherry picked from commit bea4948acb4bbee2fbf886adeb53edbc84de96da)
+---
+ source/pidl/lib/Parse/Pidl/Samba4/NDR/Parser.pm | 33 ++++++++++++++++++++++-
+ 1 files changed, 32 insertions(+), 1 deletions(-)
+
+diff --git a/source/pidl/lib/Parse/Pidl/Samba4/NDR/Parser.pm b/source/pidl/lib/Parse/Pidl/Samba4/NDR/Parser.pm
+index 75e44ea..2439556 100644
+--- a/source/pidl/lib/Parse/Pidl/Samba4/NDR/Parser.pm
++++ b/source/pidl/lib/Parse/Pidl/Samba4/NDR/Parser.pm
+@@ -859,7 +859,10 @@ sub ParseDataPull($$$$$$$)
+
+ $self->pidl("NDR_CHECK(".TypeFunctionName("ndr_pull", $l->{DATA_TYPE})."($ndr, $ndr_flags, $var_name));");
+
+- if (my $range = has_property($e, "range")) {
++ my $pl = GetPrevLevel($e, $l);
++
++ my $range = has_property($e, "range");
++ if ($range and $pl->{TYPE} ne "ARRAY") {
+ $var_name = get_value_of($var_name);
+ my ($low, $high) = split(/,/, $range, 2);
+ $self->pidl("if ($var_name < $low || $var_name > $high) {");
+@@ -996,6 +999,20 @@ sub ParseElementPullLevel
+ } elsif ($l->{TYPE} eq "ARRAY") {
+ my $length = $self->ParseArrayPullHeader($e, $l, $ndr, $var_name, $env);
+
++ if (my $range = has_property($e, "range")) {
++ my ($low, $high) = split(/,/, $range, 2);
++ if ($low < 0) {
++ warning(0, "$low is invalid for the range of an array size");
++ }
++ if ($low == 0) {
++ $self->pidl("if ($length > $high) {");
++ } else {
++ $self->pidl("if ($length < $low || $length > $high) {");
++ }
++ $self->pidl("\treturn ndr_pull_error($ndr, NDR_ERR_RANGE, \"value out of range\");");
++ $self->pidl("}");
++ }
++
+ my $nl = GetNextLevel($e, $l);
+
+ if (is_charset_array($e,$l)) {
+@@ -1057,6 +1074,20 @@ sub ParseElementPullLevel
+ $length = "ndr_get_array_length($ndr, " . get_pointer_to($var_name) .")";
+ }
+
++ if (my $range = has_property($e, "range")) {
++ my ($low, $high) = split(/,/, $range, 2);
++ if ($low < 0) {
++ warning(0, "$low is invalid for the range of an array size");
++ }
++ if ($low == 0) {
++ $self->pidl("if ($length > $high) {");
++ } else {
++ $self->pidl("if ($length < $low || $length > $high) {");
++ }
++ $self->pidl("\treturn ndr_pull_error($ndr, NDR_ERR_RANGE, \"value out of range\");");
++ $self->pidl("}");
++ }
++
+ $var_name = get_array_element($var_name, $counter);
+
+ $self->ParseMemCtxPullStart($e, $l, $array_name);
+--
+1.7.4.1
+
+
+From eebe9b1ba5f672cd6d21fb5c0400c0132ab12478 Mon Sep 17 00:00:00 2001
+From: Stefan Metzmacher <metze@samba.org>
+Date: Thu, 15 Mar 2012 13:09:51 +0100
+Subject: [PATCH 07/15] pidl/NDR/Parser: declare all union helper variables in ParseUnionPull()
+
+metze
+---
+ source/pidl/lib/Parse/Pidl/Samba4/NDR/Parser.pm | 4 ++--
+ 1 files changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/source/pidl/lib/Parse/Pidl/Samba4/NDR/Parser.pm b/source/pidl/lib/Parse/Pidl/Samba4/NDR/Parser.pm
+index 2439556..91de4b2 100644
+--- a/source/pidl/lib/Parse/Pidl/Samba4/NDR/Parser.pm
++++ b/source/pidl/lib/Parse/Pidl/Samba4/NDR/Parser.pm
+@@ -1817,8 +1817,6 @@ sub ParseUnionPullPrimitives($$$$)
+
+ if ($el->{TYPE} ne "EMPTY") {
+ $self->indent;
+- $self->DeclarePtrVariables($el);
+- $self->DeclareArrayVariables($el);
+ if (defined($e->{PROPERTIES}{relative_base})) {
+ $self->pidl("NDR_CHECK(ndr_pull_align(ndr, $el->{ALIGN}));");
+ # set the current offset as base for relative pointers
+@@ -1895,6 +1893,8 @@ sub ParseUnionPull($$$)
+ next if ($el->{TYPE} eq "EMPTY");
+ next if ($double_cases{"$el->{NAME}"});
+ $self->DeclareMemCtxVariables($el);
++ $self->DeclarePtrVariables($el);
++ $self->DeclareArrayVariables($el);
+ $double_cases{"$el->{NAME}"} = 1;
+ }
+
+--
+1.7.4.1
+
+
+From f3bc070788172ef488ea16cfd6c1a7358c5b72a6 Mon Sep 17 00:00:00 2001
+From: Stefan Metzmacher <metze@samba.org>
+Date: Thu, 15 Mar 2012 13:12:04 +0100
+Subject: [PATCH 08/15] pidl/NDR/Parser: simplify logic in DeclareArrayVariables*()
+
+metze
+---
+ source/pidl/lib/Parse/Pidl/Samba4/NDR/Parser.pm | 14 ++++++--------
+ 1 files changed, 6 insertions(+), 8 deletions(-)
+
+diff --git a/source/pidl/lib/Parse/Pidl/Samba4/NDR/Parser.pm b/source/pidl/lib/Parse/Pidl/Samba4/NDR/Parser.pm
+index 91de4b2..e1f1e1f 100644
+--- a/source/pidl/lib/Parse/Pidl/Samba4/NDR/Parser.pm
++++ b/source/pidl/lib/Parse/Pidl/Samba4/NDR/Parser.pm
+@@ -1496,11 +1496,10 @@ sub DeclareArrayVariables($$)
+ my ($self,$e) = @_;
+
+ foreach my $l (@{$e->{LEVELS}}) {
++ next if ($l->{TYPE} ne "ARRAY");
+ next if has_fast_array($e,$l);
+ next if is_charset_array($e,$l);
+- if ($l->{TYPE} eq "ARRAY") {
+- $self->pidl("uint32_t cntr_$e->{NAME}_$l->{LEVEL_INDEX};");
+- }
++ $self->pidl("uint32_t cntr_$e->{NAME}_$l->{LEVEL_INDEX};");
+ }
+ }
+
+@@ -1509,15 +1508,14 @@ sub DeclareArrayVariablesNoZero($$$)
+ my ($self,$e,$env) = @_;
+
+ foreach my $l (@{$e->{LEVELS}}) {
++ next if ($l->{TYPE} ne "ARRAY");
+ next if has_fast_array($e,$l);
+ next if is_charset_array($e,$l);
+- if ($l->{TYPE} eq "ARRAY") {
+- my $length = ParseExpr($l->{LENGTH_IS}, $env, $e->{ORIGINAL});
+- if ($length eq "0") {
++ my $length = ParseExpr($l->{LENGTH_IS}, $env, $e->{ORIGINAL});
++ if ($length eq "0") {
+ warning($e->{ORIGINAL}, "pointless array cntr: 'cntr_$e->{NAME}_$l->{LEVEL_INDEX}': length=$length");
+- } else {
++ } else {
+ $self->pidl("uint32_t cntr_$e->{NAME}_$l->{LEVEL_INDEX};");
+- }
+ }
+ }
+ }
+--
+1.7.4.1
+
+
+From 5fd884a49e08398a0eb897afadc8907d45903957 Mon Sep 17 00:00:00 2001
+From: Stefan Metzmacher <metze@samba.org>
+Date: Thu, 15 Mar 2012 13:05:39 +0100
+Subject: [PATCH 09/15] pidl/NDR/Parser: split off ParseArrayPullGetSize() and ParseArrayPullGetLength()
+
+metze
+---
+ source/pidl/lib/Parse/Pidl/Samba4/NDR/Parser.pm | 55 +++++++++++++++++-----
+ 1 files changed, 42 insertions(+), 13 deletions(-)
+
+diff --git a/source/pidl/lib/Parse/Pidl/Samba4/NDR/Parser.pm b/source/pidl/lib/Parse/Pidl/Samba4/NDR/Parser.pm
+index e1f1e1f..b4eca56 100644
+--- a/source/pidl/lib/Parse/Pidl/Samba4/NDR/Parser.pm
++++ b/source/pidl/lib/Parse/Pidl/Samba4/NDR/Parser.pm
+@@ -315,39 +315,68 @@ sub check_null_pointer($$$$)
+ }
+ }
+
+-#####################################################################
+-# parse an array - pull side
+-sub ParseArrayPullHeader($$$$$$)
++sub ParseArrayPullGetSize($$$$$$)
+ {
+ my ($self,$e,$l,$ndr,$var_name,$env) = @_;
+
+- my $length;
+ my $size;
+
+ if ($l->{IS_CONFORMANT}) {
+- $length = $size = "ndr_get_array_size($ndr, " . get_pointer_to($var_name) . ")";
++ $size = "ndr_get_array_size($ndr, " . get_pointer_to($var_name) . ")";
+ } elsif ($l->{IS_ZERO_TERMINATED} and $l->{SIZE_IS} == 0 and $l->{LENGTH_IS} == 0) { # Noheader arrays
+- $length = $size = "ndr_get_string_size($ndr, sizeof(*$var_name))";
++ $size = "ndr_get_string_size($ndr, sizeof(*$var_name))";
+ } else {
+- $length = $size = ParseExprExt($l->{SIZE_IS}, $env, $e->{ORIGINAL},
++ $size = ParseExprExt($l->{SIZE_IS}, $env, $e->{ORIGINAL},
+ check_null_pointer($e, $env, sub { $self->pidl(shift); },
+ "return ndr_pull_error(ndr, NDR_ERR_INVALID_POINTER, \"NULL Pointer for size_is()\");"),
+ check_fully_dereferenced($e, $env));
+ }
+
++ my $array_size = $size;
++
++ return $array_size;
++}
++
++#####################################################################
++# parse an array - pull side
++sub ParseArrayPullGetLength($$$$$$;$)
++{
++ my ($self,$e,$l,$ndr,$var_name,$env,$array_size) = @_;
++
++ if (not defined($array_size)) {
++ $array_size = $self->ParseArrayPullGetSize($e, $l, $ndr, $var_name, $env);
++ }
++
++ my $array_length = $array_size;
++ if ($l->{IS_VARYING}) {
++ my $length = "ndr_get_array_length($ndr, " . get_pointer_to($var_name) .")";
++ $array_length = $length;
++ }
++
++ return $array_length;
++}
++
++#####################################################################
++# parse an array - pull side
++sub ParseArrayPullHeader($$$$$$)
++{
++ my ($self,$e,$l,$ndr,$var_name,$env) = @_;
++
+ if ((!$l->{IS_SURROUNDING}) and $l->{IS_CONFORMANT}) {
+ $self->pidl("NDR_CHECK(ndr_pull_array_size(ndr, " . get_pointer_to($var_name) . "));");
+ }
+
+ if ($l->{IS_VARYING}) {
+ $self->pidl("NDR_CHECK(ndr_pull_array_length($ndr, " . get_pointer_to($var_name) . "));");
+- $length = "ndr_get_array_length($ndr, " . get_pointer_to($var_name) .")";
+ }
+
+- if ($length ne $size) {
+- $self->pidl("if ($length > $size) {");
++ my $array_size = $self->ParseArrayPullGetSize($e, $l, $ndr, $var_name, $env);
++ my $array_length = $self->ParseArrayPullGetLength($e, $l, $ndr, $var_name, $env, $array_size);
++
++ if ($array_length ne $array_size) {
++ $self->pidl("if ($array_length > $array_size) {");
+ $self->indent;
+- $self->pidl("return ndr_pull_error($ndr, NDR_ERR_ARRAY_SIZE, \"Bad array size %u should exceed array length %u\", $size, $length);");
++ $self->pidl("return ndr_pull_error($ndr, NDR_ERR_ARRAY_SIZE, \"Bad array size %u should exceed array length %u\", $array_size, $array_length);");
+ $self->deindent;
+ $self->pidl("}");
+ }
+@@ -377,10 +406,10 @@ sub ParseArrayPullHeader($$$$$$)
+ }
+
+ if (ArrayDynamicallyAllocated($e,$l) and not is_charset_array($e,$l)) {
+- $self->AllocateArrayLevel($e,$l,$ndr,$var_name,$size);
++ $self->AllocateArrayLevel($e,$l,$ndr,$var_name,$array_size);
+ }
+
+- return $length;
++ return $array_length;
+ }
+
+ sub compression_alg($$)
+--
+1.7.4.1
+
+
+From 322b30053321084497155bd67860339f03b70e5e Mon Sep 17 00:00:00 2001
+From: Stefan Metzmacher <metze@samba.org>
+Date: Thu, 15 Mar 2012 13:07:47 +0100
+Subject: [PATCH 10/15] pidl/NDR/Parser: use ParseArrayPullGetLength() to get the number of array elements (bug #8815 / CVE-2012-1182)
+
+An anonymous researcher and Brian Gorenc (HP DVLabs) working
+with HP's Zero Day Initiative program have found this and notified us.
+
+metze
+---
+ source/pidl/lib/Parse/Pidl/Samba4/NDR/Parser.pm | 6 +-----
+ 1 files changed, 1 insertions(+), 5 deletions(-)
+
+diff --git a/source/pidl/lib/Parse/Pidl/Samba4/NDR/Parser.pm b/source/pidl/lib/Parse/Pidl/Samba4/NDR/Parser.pm
+index b4eca56..cf86fd1 100644
+--- a/source/pidl/lib/Parse/Pidl/Samba4/NDR/Parser.pm
++++ b/source/pidl/lib/Parse/Pidl/Samba4/NDR/Parser.pm
+@@ -1095,14 +1095,10 @@ sub ParseElementPullLevel
+ }
+ } elsif ($l->{TYPE} eq "ARRAY" and
+ not has_fast_array($e,$l) and not is_charset_array($e, $l)) {
+- my $length = ParseExpr($l->{LENGTH_IS}, $env, $e->{ORIGINAL});
++ my $length = $self->ParseArrayPullGetLength($e, $l, $ndr, $var_name, $env);
+ my $counter = "cntr_$e->{NAME}_$l->{LEVEL_INDEX}";
+ my $array_name = $var_name;
+
+- if ($l->{IS_VARYING}) {
+- $length = "ndr_get_array_length($ndr, " . get_pointer_to($var_name) .")";
+- }
+-
+ if (my $range = has_property($e, "range")) {
+ my ($low, $high) = split(/,/, $range, 2);
+ if ($low < 0) {
+--
+1.7.4.1
+
+
+From 12dc74004def54af2983d7bc638a55b5d518e4b4 Mon Sep 17 00:00:00 2001
+From: Stefan Metzmacher <metze@samba.org>
+Date: Thu, 15 Mar 2012 15:07:08 +0100
+Subject: [PATCH 11/15] pidl/NDR/Parser: remember if we already know the array length
+
+metze
+---
+ source/pidl/lib/Parse/Pidl/Samba4/NDR/Parser.pm | 8 +++++++-
+ 1 files changed, 7 insertions(+), 1 deletions(-)
+
+diff --git a/source/pidl/lib/Parse/Pidl/Samba4/NDR/Parser.pm b/source/pidl/lib/Parse/Pidl/Samba4/NDR/Parser.pm
+index cf86fd1..6e80576 100644
+--- a/source/pidl/lib/Parse/Pidl/Samba4/NDR/Parser.pm
++++ b/source/pidl/lib/Parse/Pidl/Samba4/NDR/Parser.pm
+@@ -1014,6 +1014,7 @@ sub ParseElementPullLevel
+ my($self,$e,$l,$ndr,$var_name,$env,$primitives,$deferred) = @_;
+
+ my $ndr_flags = CalcNdrFlags($l, $primitives, $deferred);
++ my $array_length = undef;
+
+ if ($l->{TYPE} eq "ARRAY" and ($l->{IS_VARYING} or $l->{IS_CONFORMANT})) {
+ $var_name = get_pointer_to($var_name);
+@@ -1027,6 +1028,7 @@ sub ParseElementPullLevel
+ $self->ParseSubcontextPullEnd($e, $l, $ndr, $env);
+ } elsif ($l->{TYPE} eq "ARRAY") {
+ my $length = $self->ParseArrayPullHeader($e, $l, $ndr, $var_name, $env);
++ $array_length = $length;
+
+ if (my $range = has_property($e, "range")) {
+ my ($low, $high) = split(/,/, $range, 2);
+@@ -1095,10 +1097,14 @@ sub ParseElementPullLevel
+ }
+ } elsif ($l->{TYPE} eq "ARRAY" and
+ not has_fast_array($e,$l) and not is_charset_array($e, $l)) {
+- my $length = $self->ParseArrayPullGetLength($e, $l, $ndr, $var_name, $env);
++ my $length = $array_length;
+ my $counter = "cntr_$e->{NAME}_$l->{LEVEL_INDEX}";
+ my $array_name = $var_name;
+
++ if (not defined($length)) {
++ $length = $self->ParseArrayPullGetLength($e, $l, $ndr, $var_name, $env);
++ }
++
+ if (my $range = has_property($e, "range")) {
+ my ($low, $high) = split(/,/, $range, 2);
+ if ($low < 0) {
+--
+1.7.4.1
+
+
+From 85332775bdfde4e2e1243cdfe3dfaa8728603c1c Mon Sep 17 00:00:00 2001
+From: Stefan Metzmacher <metze@samba.org>
+Date: Thu, 15 Mar 2012 13:13:20 +0100
+Subject: [PATCH 12/15] pidl/NDR/Parser: use helper variables for array size and length
+
+metze
+---
+ source/pidl/lib/Parse/Pidl/Samba4/NDR/Parser.pm | 22 +++++++++++++++-------
+ 1 files changed, 15 insertions(+), 7 deletions(-)
+
+diff --git a/source/pidl/lib/Parse/Pidl/Samba4/NDR/Parser.pm b/source/pidl/lib/Parse/Pidl/Samba4/NDR/Parser.pm
+index 6e80576..d27c9bd 100644
+--- a/source/pidl/lib/Parse/Pidl/Samba4/NDR/Parser.pm
++++ b/source/pidl/lib/Parse/Pidl/Samba4/NDR/Parser.pm
+@@ -332,7 +332,8 @@ sub ParseArrayPullGetSize($$$$$$)
+ check_fully_dereferenced($e, $env));
+ }
+
+- my $array_size = $size;
++ $self->pidl("size_$e->{NAME}_$l->{LEVEL_INDEX} = $size;");
++ my $array_size = "size_$e->{NAME}_$l->{LEVEL_INDEX}";
+
+ return $array_size;
+ }
+@@ -350,7 +351,8 @@ sub ParseArrayPullGetLength($$$$$$;$)
+ my $array_length = $array_size;
+ if ($l->{IS_VARYING}) {
+ my $length = "ndr_get_array_length($ndr, " . get_pointer_to($var_name) .")";
+- $array_length = $length;
++ $self->pidl("length_$e->{NAME}_$l->{LEVEL_INDEX} = $length;");
++ $array_length = "length_$e->{NAME}_$l->{LEVEL_INDEX}";
+ }
+
+ return $array_length;
+@@ -1522,12 +1524,18 @@ sub DeclarePtrVariables($$)
+ }
+ }
+
+-sub DeclareArrayVariables($$)
++sub DeclareArrayVariables($$;$)
+ {
+- my ($self,$e) = @_;
++ my ($self,$e,$pull) = @_;
+
+ foreach my $l (@{$e->{LEVELS}}) {
+ next if ($l->{TYPE} ne "ARRAY");
++ if (defined($pull)) {
++ $self->pidl("uint32_t size_$e->{NAME}_$l->{LEVEL_INDEX} = 0;");
++ if ($l->{IS_VARYING}) {
++ $self->pidl("uint32_t length_$e->{NAME}_$l->{LEVEL_INDEX} = 0;");
++ }
++ }
+ next if has_fast_array($e,$l);
+ next if is_charset_array($e,$l);
+ $self->pidl("uint32_t cntr_$e->{NAME}_$l->{LEVEL_INDEX};");
+@@ -1610,7 +1618,7 @@ sub ParseStructPull($$$)
+ # declare any internal pointers we need
+ foreach my $e (@{$struct->{ELEMENTS}}) {
+ $self->DeclarePtrVariables($e);
+- $self->DeclareArrayVariables($e);
++ $self->DeclareArrayVariables($e, "pull");
+ $self->DeclareMemCtxVariables($e);
+ }
+
+@@ -1923,7 +1931,7 @@ sub ParseUnionPull($$$)
+ next if ($double_cases{"$el->{NAME}"});
+ $self->DeclareMemCtxVariables($el);
+ $self->DeclarePtrVariables($el);
+- $self->DeclareArrayVariables($el);
++ $self->DeclareArrayVariables($el, "pull");
+ $double_cases{"$el->{NAME}"} = 1;
+ }
+
+@@ -2184,7 +2192,7 @@ sub ParseFunctionPull($$)
+ # declare any internal pointers we need
+ foreach my $e (@{$fn->{ELEMENTS}}) {
+ $self->DeclarePtrVariables($e);
+- $self->DeclareArrayVariables($e);
++ $self->DeclareArrayVariables($e, "pull");
+ }
+
+ my %double_cases = ();
+--
+1.7.4.1
+
+
+From dfb0568c51af7ba6fdd30807d41beb524fa9b3dc Mon Sep 17 00:00:00 2001
+From: Stefan Metzmacher <metze@samba.org>
+Date: Thu, 15 Mar 2012 13:14:48 +0100
+Subject: [PATCH 13/15] pidl/NDR/Parser: do array range validation in ParseArrayPullGetLength()
+
+metze
+---
+ source/pidl/lib/Parse/Pidl/Samba4/NDR/Parser.pm | 42 +++++++---------------
+ 1 files changed, 14 insertions(+), 28 deletions(-)
+
+diff --git a/source/pidl/lib/Parse/Pidl/Samba4/NDR/Parser.pm b/source/pidl/lib/Parse/Pidl/Samba4/NDR/Parser.pm
+index d27c9bd..8d77f64 100644
+--- a/source/pidl/lib/Parse/Pidl/Samba4/NDR/Parser.pm
++++ b/source/pidl/lib/Parse/Pidl/Samba4/NDR/Parser.pm
+@@ -355,6 +355,20 @@ sub ParseArrayPullGetLength($$$$$$;$)
+ $array_length = "length_$e->{NAME}_$l->{LEVEL_INDEX}";
+ }
+
++ if (my $range = has_property($e, "range")) {
++ my ($low, $high) = split(/,/, $range, 2);
++ if ($low < 0) {
++ warning(0, "$low is invalid for the range of an array size");
++ }
++ if ($low == 0) {
++ $self->pidl("if ($array_length > $high) {");
++ } else {
++ $self->pidl("if ($array_length < $low || $array_length > $high) {");
++ }
++ $self->pidl("\treturn ndr_pull_error($ndr, NDR_ERR_RANGE, \"value out of range\");");
++ $self->pidl("}");
++ }
++
+ return $array_length;
+ }
+
+@@ -1032,20 +1046,6 @@ sub ParseElementPullLevel
+ my $length = $self->ParseArrayPullHeader($e, $l, $ndr, $var_name, $env);
+ $array_length = $length;
+
+- if (my $range = has_property($e, "range")) {
+- my ($low, $high) = split(/,/, $range, 2);
+- if ($low < 0) {
+- warning(0, "$low is invalid for the range of an array size");
+- }
+- if ($low == 0) {
+- $self->pidl("if ($length > $high) {");
+- } else {
+- $self->pidl("if ($length < $low || $length > $high) {");
+- }
+- $self->pidl("\treturn ndr_pull_error($ndr, NDR_ERR_RANGE, \"value out of range\");");
+- $self->pidl("}");
+- }
+-
+ my $nl = GetNextLevel($e, $l);
+
+ if (is_charset_array($e,$l)) {
+@@ -1107,20 +1107,6 @@ sub ParseElementPullLevel
+ $length = $self->ParseArrayPullGetLength($e, $l, $ndr, $var_name, $env);
+ }
+
+- if (my $range = has_property($e, "range")) {
+- my ($low, $high) = split(/,/, $range, 2);
+- if ($low < 0) {
+- warning(0, "$low is invalid for the range of an array size");
+- }
+- if ($low == 0) {
+- $self->pidl("if ($length > $high) {");
+- } else {
+- $self->pidl("if ($length < $low || $length > $high) {");
+- }
+- $self->pidl("\treturn ndr_pull_error($ndr, NDR_ERR_RANGE, \"value out of range\");");
+- $self->pidl("}");
+- }
+-
+ $var_name = get_array_element($var_name, $counter);
+
+ $self->ParseMemCtxPullStart($e, $l, $array_name);
+--
+1.7.4.1
+
+
+From 7434572eb6f2d8cafdbff14611d710d0f9de465a Mon Sep 17 00:00:00 2001
+From: Stefan Metzmacher <metze@samba.org>
+Date: Thu, 15 Mar 2012 17:03:05 +0100
+Subject: [PATCH 14/15] pid/NDR/Parser: also do range checks on the array size
+
+metze
+---
+ source/pidl/lib/Parse/Pidl/Samba4/NDR/Parser.pm | 25 ++++++++++++++++++----
+ 1 files changed, 20 insertions(+), 5 deletions(-)
+
+diff --git a/source/pidl/lib/Parse/Pidl/Samba4/NDR/Parser.pm b/source/pidl/lib/Parse/Pidl/Samba4/NDR/Parser.pm
+index 8d77f64..c5f715a 100644
+--- a/source/pidl/lib/Parse/Pidl/Samba4/NDR/Parser.pm
++++ b/source/pidl/lib/Parse/Pidl/Samba4/NDR/Parser.pm
+@@ -335,6 +335,20 @@ sub ParseArrayPullGetSize($$$$$$)
+ $self->pidl("size_$e->{NAME}_$l->{LEVEL_INDEX} = $size;");
+ my $array_size = "size_$e->{NAME}_$l->{LEVEL_INDEX}";
+
++ if (my $range = has_property($e, "range")) {
++ my ($low, $high) = split(/,/, $range, 2);
++ if ($low < 0) {
++ warning(0, "$low is invalid for the range of an array size");
++ }
++ if ($low == 0) {
++ $self->pidl("if ($array_size > $high) {");
++ } else {
++ $self->pidl("if ($array_size < $low || $array_size > $high) {");
++ }
++ $self->pidl("\treturn ndr_pull_error($ndr, NDR_ERR_RANGE, \"value out of range\");");
++ $self->pidl("}");
++ }
++
+ return $array_size;
+ }
+
+@@ -348,13 +362,14 @@ sub ParseArrayPullGetLength($$$$$$;$)
+ $array_size = $self->ParseArrayPullGetSize($e, $l, $ndr, $var_name, $env);
+ }
+
+- my $array_length = $array_size;
+- if ($l->{IS_VARYING}) {
+- my $length = "ndr_get_array_length($ndr, " . get_pointer_to($var_name) .")";
+- $self->pidl("length_$e->{NAME}_$l->{LEVEL_INDEX} = $length;");
+- $array_length = "length_$e->{NAME}_$l->{LEVEL_INDEX}";
++ if (not $l->{IS_VARYING}) {
++ return $array_size;
+ }
+
++ my $length = "ndr_get_array_length($ndr, " . get_pointer_to($var_name) .")";
++ $self->pidl("length_$e->{NAME}_$l->{LEVEL_INDEX} = $length;");
++ my $array_length = "length_$e->{NAME}_$l->{LEVEL_INDEX}";
++
+ if (my $range = has_property($e, "range")) {
+ my ($low, $high) = split(/,/, $range, 2);
+ if ($low < 0) {
+--
+1.7.4.1
+
+
+From a4a9004383bc4df94092288f2d8204f0e5ade37d Mon Sep 17 00:00:00 2001
+From: Stefan Metzmacher <metze@samba.org>
+Date: Sat, 17 Mar 2012 00:16:31 +0100
+Subject: [PATCH 15/15] rerun make idl
+
+---
+ source/librpc/gen_ndr/ndr_dfs.c | 840 +++++++++-----
+ source/librpc/gen_ndr/ndr_dssetup.c | 36 +-
+ source/librpc/gen_ndr/ndr_echo.c | 54 +-
+ source/librpc/gen_ndr/ndr_epmapper.c | 50 +-
+ source/librpc/gen_ndr/ndr_eventlog.c | 12 +-
+ source/librpc/gen_ndr/ndr_krb5pac.c | 22 +-
+ source/librpc/gen_ndr/ndr_lsa.c | 262 +++--
+ source/librpc/gen_ndr/ndr_messaging.c | 31 +-
+ source/librpc/gen_ndr/ndr_misc.c | 8 +-
+ source/librpc/gen_ndr/ndr_netlogon.c | 1690 +++++++++++++++++---------
+ source/librpc/gen_ndr/ndr_notify.c | 18 +-
+ source/librpc/gen_ndr/ndr_ntsvcs.c | 64 +-
+ source/librpc/gen_ndr/ndr_samr.c | 182 ++-
+ source/librpc/gen_ndr/ndr_security.c | 18 +-
+ source/librpc/gen_ndr/ndr_srvsvc.c | 2174 +++++++++++++++++++++------------
+ source/librpc/gen_ndr/ndr_svcctl.c | 594 ++++++---
+ source/librpc/gen_ndr/ndr_winreg.c | 146 ++-
+ source/librpc/gen_ndr/ndr_wkssvc.c | 1378 ++++++++++++++--------
+ source/librpc/gen_ndr/ndr_xattr.c | 6 +-
+ 19 files changed, 4955 insertions(+), 2630 deletions(-)
+
+diff --git a/source/librpc/gen_ndr/ndr_dfs.c b/source/librpc/gen_ndr/ndr_dfs.c
+index db3f5e4..872fc1b 100644
+--- a/source/librpc/gen_ndr/ndr_dfs.c
++++ b/source/librpc/gen_ndr/ndr_dfs.c
+@@ -76,6 +76,8 @@ static enum ndr_err_code ndr_push_dfs_Info1(struct ndr_push *ndr, int ndr_flags,
+ static enum ndr_err_code ndr_pull_dfs_Info1(struct ndr_pull *ndr, int ndr_flags, struct dfs_Info1 *r)
+ {
+ uint32_t _ptr_path;
++ uint32_t size_path_1 = 0;
++ uint32_t length_path_1 = 0;
+ TALLOC_CTX *_mem_save_path_0;
+ if (ndr_flags & NDR_SCALARS) {
+ NDR_CHECK(ndr_pull_align(ndr, 4));
+@@ -92,11 +94,13 @@ static enum ndr_err_code ndr_pull_dfs_Info1(struct ndr_pull *ndr, int ndr_flags,
+ NDR_PULL_SET_MEM_CTX(ndr, r->path, 0);
+ NDR_CHECK(ndr_pull_array_size(ndr, &r->path));
+ NDR_CHECK(ndr_pull_array_length(ndr, &r->path));
+- if (ndr_get_array_length(ndr, &r->path) > ndr_get_array_size(ndr, &r->path)) {
+- return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->path), ndr_get_array_length(ndr, &r->path));
++ size_path_1 = ndr_get_array_size(ndr, &r->path);
++ length_path_1 = ndr_get_array_length(ndr, &r->path);
++ if (length_path_1 > size_path_1) {
++ return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_path_1, length_path_1);
+ }
+- NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->path), sizeof(uint16_t)));
+- NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->path, ndr_get_array_length(ndr, &r->path), sizeof(uint16_t), CH_UTF16));
++ NDR_CHECK(ndr_check_string_terminator(ndr, length_path_1, sizeof(uint16_t)));
++ NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->path, length_path_1, sizeof(uint16_t), CH_UTF16));
+ NDR_PULL_SET_MEM_CTX(ndr, _mem_save_path_0, 0);
+ }
+ }
+@@ -172,8 +176,12 @@ static enum ndr_err_code ndr_push_dfs_Info2(struct ndr_push *ndr, int ndr_flags,
+ static enum ndr_err_code ndr_pull_dfs_Info2(struct ndr_pull *ndr, int ndr_flags, struct dfs_Info2 *r)
+ {
+ uint32_t _ptr_path;
++ uint32_t size_path_1 = 0;
++ uint32_t length_path_1 = 0;
+ TALLOC_CTX *_mem_save_path_0;
+ uint32_t _ptr_comment;
++ uint32_t size_comment_1 = 0;
++ uint32_t length_comment_1 = 0;
+ TALLOC_CTX *_mem_save_comment_0;
+ if (ndr_flags & NDR_SCALARS) {
+ NDR_CHECK(ndr_pull_align(ndr, 4));
+@@ -198,11 +206,13 @@ static enum ndr_err_code ndr_pull_dfs_Info2(struct ndr_pull *ndr, int ndr_flags,
+ NDR_PULL_SET_MEM_CTX(ndr, r->path, 0);
+ NDR_CHECK(ndr_pull_array_size(ndr, &r->path));
+ NDR_CHECK(ndr_pull_array_length(ndr, &r->path));
+- if (ndr_get_array_length(ndr, &r->path) > ndr_get_array_size(ndr, &r->path)) {
+- return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->path), ndr_get_array_length(ndr, &r->path));
++ size_path_1 = ndr_get_array_size(ndr, &r->path);
++ length_path_1 = ndr_get_array_length(ndr, &r->path);
++ if (length_path_1 > size_path_1) {
++ return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_path_1, length_path_1);
+ }
+- NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->path), sizeof(uint16_t)));
+- NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->path, ndr_get_array_length(ndr, &r->path), sizeof(uint16_t), CH_UTF16));
++ NDR_CHECK(ndr_check_string_terminator(ndr, length_path_1, sizeof(uint16_t)));
++ NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->path, length_path_1, sizeof(uint16_t), CH_UTF16));
+ NDR_PULL_SET_MEM_CTX(ndr, _mem_save_path_0, 0);
+ }
+ if (r->comment) {
+@@ -210,11 +220,13 @@ static enum ndr_err_code ndr_pull_dfs_Info2(struct ndr_pull *ndr, int ndr_flags,
+ NDR_PULL_SET_MEM_CTX(ndr, r->comment, 0);
+ NDR_CHECK(ndr_pull_array_size(ndr, &r->comment));
+ NDR_CHECK(ndr_pull_array_length(ndr, &r->comment));
+- if (ndr_get_array_length(ndr, &r->comment) > ndr_get_array_size(ndr, &r->comment)) {
+- return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->comment), ndr_get_array_length(ndr, &r->comment));
++ size_comment_1 = ndr_get_array_size(ndr, &r->comment);
++ length_comment_1 = ndr_get_array_length(ndr, &r->comment);
++ if (length_comment_1 > size_comment_1) {
++ return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_comment_1, length_comment_1);
+ }
+- NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->comment), sizeof(uint16_t)));
+- NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->comment, ndr_get_array_length(ndr, &r->comment), sizeof(uint16_t), CH_UTF16));
++ NDR_CHECK(ndr_check_string_terminator(ndr, length_comment_1, sizeof(uint16_t)));
++ NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->comment, length_comment_1, sizeof(uint16_t), CH_UTF16));
+ NDR_PULL_SET_MEM_CTX(ndr, _mem_save_comment_0, 0);
+ }
+ }
+@@ -294,8 +306,12 @@ static enum ndr_err_code ndr_push_dfs_StorageInfo(struct ndr_push *ndr, int ndr_
+ static enum ndr_err_code ndr_pull_dfs_StorageInfo(struct ndr_pull *ndr, int ndr_flags, struct dfs_StorageInfo *r)
+ {
+ uint32_t _ptr_server;
++ uint32_t size_server_1 = 0;
++ uint32_t length_server_1 = 0;
+ TALLOC_CTX *_mem_save_server_0;
+ uint32_t _ptr_share;
++ uint32_t size_share_1 = 0;
++ uint32_t length_share_1 = 0;
+ TALLOC_CTX *_mem_save_share_0;
+ if (ndr_flags & NDR_SCALARS) {
+ NDR_CHECK(ndr_pull_align(ndr, 4));
+@@ -319,11 +335,13 @@ static enum ndr_err_code ndr_pull_dfs_StorageInfo(struct ndr_pull *ndr, int ndr_
+ NDR_PULL_SET_MEM_CTX(ndr, r->server, 0);
+ NDR_CHECK(ndr_pull_array_size(ndr, &r->server));
+ NDR_CHECK(ndr_pull_array_length(ndr, &r->server));
+- if (ndr_get_array_length(ndr, &r->server) > ndr_get_array_size(ndr, &r->server)) {
+- return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->server), ndr_get_array_length(ndr, &r->server));
++ size_server_1 = ndr_get_array_size(ndr, &r->server);
++ length_server_1 = ndr_get_array_length(ndr, &r->server);
++ if (length_server_1 > size_server_1) {
++ return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_server_1, length_server_1);
+ }
+- NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->server), sizeof(uint16_t)));
+- NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->server, ndr_get_array_length(ndr, &r->server), sizeof(uint16_t), CH_UTF16));
++ NDR_CHECK(ndr_check_string_terminator(ndr, length_server_1, sizeof(uint16_t)));
++ NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->server, length_server_1, sizeof(uint16_t), CH_UTF16));
+ NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_0, 0);
+ }
+ if (r->share) {
+@@ -331,11 +349,13 @@ static enum ndr_err_code ndr_pull_dfs_StorageInfo(struct ndr_pull *ndr, int ndr_
+ NDR_PULL_SET_MEM_CTX(ndr, r->share, 0);
+ NDR_CHECK(ndr_pull_array_size(ndr, &r->share));
+ NDR_CHECK(ndr_pull_array_length(ndr, &r->share));
+- if (ndr_get_array_length(ndr, &r->share) > ndr_get_array_size(ndr, &r->share)) {
+- return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->share), ndr_get_array_length(ndr, &r->share));
++ size_share_1 = ndr_get_array_size(ndr, &r->share);
++ length_share_1 = ndr_get_array_length(ndr, &r->share);
++ if (length_share_1 > size_share_1) {
++ return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_share_1, length_share_1);
+ }
+- NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->share), sizeof(uint16_t)));
+- NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->share, ndr_get_array_length(ndr, &r->share), sizeof(uint16_t), CH_UTF16));
++ NDR_CHECK(ndr_check_string_terminator(ndr, length_share_1, sizeof(uint16_t)));
++ NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->share, length_share_1, sizeof(uint16_t), CH_UTF16));
+ NDR_PULL_SET_MEM_CTX(ndr, _mem_save_share_0, 0);
+ }
+ }
+@@ -402,10 +422,15 @@ static enum ndr_err_code ndr_push_dfs_Info3(struct ndr_push *ndr, int ndr_flags,
+ static enum ndr_err_code ndr_pull_dfs_Info3(struct ndr_pull *ndr, int ndr_flags, struct dfs_Info3 *r)
+ {
+ uint32_t _ptr_path;
++ uint32_t size_path_1 = 0;
++ uint32_t length_path_1 = 0;
+ TALLOC_CTX *_mem_save_path_0;
+ uint32_t _ptr_comment;
++ uint32_t size_comment_1 = 0;
++ uint32_t length_comment_1 = 0;
+ TALLOC_CTX *_mem_save_comment_0;
+ uint32_t _ptr_stores;
++ uint32_t size_stores_1 = 0;
+ uint32_t cntr_stores_1;
+ TALLOC_CTX *_mem_save_stores_0;
+ TALLOC_CTX *_mem_save_stores_1;
+@@ -438,11 +463,13 @@ static enum ndr_err_code ndr_pull_dfs_Info3(struct ndr_pull *ndr, int ndr_flags,
+ NDR_PULL_SET_MEM_CTX(ndr, r->path, 0);
+ NDR_CHECK(ndr_pull_array_size(ndr, &r->path));
+ NDR_CHECK(ndr_pull_array_length(ndr, &r->path));
+- if (ndr_get_array_length(ndr, &r->path) > ndr_get_array_size(ndr, &r->path)) {
+- return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->path), ndr_get_array_length(ndr, &r->path));
++ size_path_1 = ndr_get_array_size(ndr, &r->path);
++ length_path_1 = ndr_get_array_length(ndr, &r->path);
++ if (length_path_1 > size_path_1) {
++ return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_path_1, length_path_1);
+ }
+- NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->path), sizeof(uint16_t)));
+- NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->path, ndr_get_array_length(ndr, &r->path), sizeof(uint16_t), CH_UTF16));
++ NDR_CHECK(ndr_check_string_terminator(ndr, length_path_1, sizeof(uint16_t)));
++ NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->path, length_path_1, sizeof(uint16_t), CH_UTF16));
+ NDR_PULL_SET_MEM_CTX(ndr, _mem_save_path_0, 0);
+ }
+ if (r->comment) {
+@@ -450,24 +477,27 @@ static enum ndr_err_code ndr_pull_dfs_Info3(struct ndr_pull *ndr, int ndr_flags,
+ NDR_PULL_SET_MEM_CTX(ndr, r->comment, 0);
+ NDR_CHECK(ndr_pull_array_size(ndr, &r->comment));
+ NDR_CHECK(ndr_pull_array_length(ndr, &r->comment));
+- if (ndr_get_array_length(ndr, &r->comment) > ndr_get_array_size(ndr, &r->comment)) {
+- return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->comment), ndr_get_array_length(ndr, &r->comment));
++ size_comment_1 = ndr_get_array_size(ndr, &r->comment);
++ length_comment_1 = ndr_get_array_length(ndr, &r->comment);
++ if (length_comment_1 > size_comment_1) {
++ return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_comment_1, length_comment_1);
+ }
+- NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->comment), sizeof(uint16_t)));
+- NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->comment, ndr_get_array_length(ndr, &r->comment), sizeof(uint16_t), CH_UTF16));
++ NDR_CHECK(ndr_check_string_terminator(ndr, length_comment_1, sizeof(uint16_t)));
++ NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->comment, length_comment_1, sizeof(uint16_t), CH_UTF16));
+ NDR_PULL_SET_MEM_CTX(ndr, _mem_save_comment_0, 0);
+ }
+ if (r->stores) {
+ _mem_save_stores_0 = NDR_PULL_GET_MEM_CTX(ndr);
+ NDR_PULL_SET_MEM_CTX(ndr, r->stores, 0);
+ NDR_CHECK(ndr_pull_array_size(ndr, &r->stores));
+- NDR_PULL_ALLOC_N(ndr, r->stores, ndr_get_array_size(ndr, &r->stores));
++ size_stores_1 = ndr_get_array_size(ndr, &r->stores);
++ NDR_PULL_ALLOC_N(ndr, r->stores, size_stores_1);
+ _mem_save_stores_1 = NDR_PULL_GET_MEM_CTX(ndr);
+ NDR_PULL_SET_MEM_CTX(ndr, r->stores, 0);
+- for (cntr_stores_1 = 0; cntr_stores_1 < r->num_stores; cntr_stores_1++) {
++ for (cntr_stores_1 = 0; cntr_stores_1 < size_stores_1; cntr_stores_1++) {
+ NDR_CHECK(ndr_pull_dfs_StorageInfo(ndr, NDR_SCALARS, &r->stores[cntr_stores_1]));
+ }
+- for (cntr_stores_1 = 0; cntr_stores_1 < r->num_stores; cntr_stores_1++) {
++ for (cntr_stores_1 = 0; cntr_stores_1 < size_stores_1; cntr_stores_1++) {
+ NDR_CHECK(ndr_pull_dfs_StorageInfo(ndr, NDR_BUFFERS, &r->stores[cntr_stores_1]));
+ }
+ NDR_PULL_SET_MEM_CTX(ndr, _mem_save_stores_1, 0);
+@@ -560,10 +590,15 @@ static enum ndr_err_code ndr_push_dfs_Info4(struct ndr_push *ndr, int ndr_flags,
+ static enum ndr_err_code ndr_pull_dfs_Info4(struct ndr_pull *ndr, int ndr_flags, struct dfs_Info4 *r)
+ {
+ uint32_t _ptr_path;
++ uint32_t size_path_1 = 0;
++ uint32_t length_path_1 = 0;
+ TALLOC_CTX *_mem_save_path_0;
+ uint32_t _ptr_comment;
++ uint32_t size_comment_1 = 0;
++ uint32_t length_comment_1 = 0;
+ TALLOC_CTX *_mem_save_comment_0;
+ uint32_t _ptr_stores;
++ uint32_t size_stores_1 = 0;
+ uint32_t cntr_stores_1;
+ TALLOC_CTX *_mem_save_stores_0;
+ TALLOC_CTX *_mem_save_stores_1;
+@@ -598,11 +633,13 @@ static enum ndr_err_code ndr_pull_dfs_Info4(struct ndr_pull *ndr, int ndr_flags,
+ NDR_PULL_SET_MEM_CTX(ndr, r->path, 0);
+ NDR_CHECK(ndr_pull_array_size(ndr, &r->path));
+ NDR_CHECK(ndr_pull_array_length(ndr, &r->path));
+- if (ndr_get_array_length(ndr, &r->path) > ndr_get_array_size(ndr, &r->path)) {
+- return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->path), ndr_get_array_length(ndr, &r->path));
++ size_path_1 = ndr_get_array_size(ndr, &r->path);
++ length_path_1 = ndr_get_array_length(ndr, &r->path);
++ if (length_path_1 > size_path_1) {
++ return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_path_1, length_path_1);
+ }
+- NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->path), sizeof(uint16_t)));
+- NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->path, ndr_get_array_length(ndr, &r->path), sizeof(uint16_t), CH_UTF16));
++ NDR_CHECK(ndr_check_string_terminator(ndr, length_path_1, sizeof(uint16_t)));
++ NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->path, length_path_1, sizeof(uint16_t), CH_UTF16));
+ NDR_PULL_SET_MEM_CTX(ndr, _mem_save_path_0, 0);
+ }
+ if (r->comment) {
+@@ -610,11 +647,13 @@ static enum ndr_err_code ndr_pull_dfs_Info4(struct ndr_pull *ndr, int ndr_flags,
+ NDR_PULL_SET_MEM_CTX(ndr, r->comment, 0);
+ NDR_CHECK(ndr_pull_array_size(ndr, &r->comment));
+ NDR_CHECK(ndr_pull_array_length(ndr, &r->comment));
+- if (ndr_get_array_length(ndr, &r->comment) > ndr_get_array_size(ndr, &r->comment)) {
+- return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->comment), ndr_get_array_length(ndr, &r->comment));
++ size_comment_1 = ndr_get_array_size(ndr, &r->comment);
++ length_comment_1 = ndr_get_array_length(ndr, &r->comment);
++ if (length_comment_1 > size_comment_1) {
++ return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_comment_1, length_comment_1);
+ }
+- NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->comment), sizeof(uint16_t)));
+- NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->comment, ndr_get_array_length(ndr, &r->comment), sizeof(uint16_t), CH_UTF16));
++ NDR_CHECK(ndr_check_string_terminator(ndr, length_comment_1, sizeof(uint16_t)));
++ NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->comment, length_comment_1, sizeof(uint16_t), CH_UTF16));
+ NDR_PULL_SET_MEM_CTX(ndr, _mem_save_comment_0, 0);
+ }
+ NDR_CHECK(ndr_pull_GUID(ndr, NDR_BUFFERS, &r->guid));
+@@ -622,13 +661,14 @@ static enum ndr_err_code ndr_pull_dfs_Info4(struct ndr_pull *ndr, int ndr_flags,
+ _mem_save_stores_0 = NDR_PULL_GET_MEM_CTX(ndr);
+ NDR_PULL_SET_MEM_CTX(ndr, r->stores, 0);
+ NDR_CHECK(ndr_pull_array_size(ndr, &r->stores));
+- NDR_PULL_ALLOC_N(ndr, r->stores, ndr_get_array_size(ndr, &r->stores));
++ size_stores_1 = ndr_get_array_size(ndr, &r->stores);
++ NDR_PULL_ALLOC_N(ndr, r->stores, size_stores_1);
+ _mem_save_stores_1 = NDR_PULL_GET_MEM_CTX(ndr);
+ NDR_PULL_SET_MEM_CTX(ndr, r->stores, 0);
+- for (cntr_stores_1 = 0; cntr_stores_1 < r->num_stores; cntr_stores_1++) {
++ for (cntr_stores_1 = 0; cntr_stores_1 < size_stores_1; cntr_stores_1++) {
+ NDR_CHECK(ndr_pull_dfs_StorageInfo(ndr, NDR_SCALARS, &r->stores[cntr_stores_1]));
+ }
+- for (cntr_stores_1 = 0; cntr_stores_1 < r->num_stores; cntr_stores_1++) {
++ for (cntr_stores_1 = 0; cntr_stores_1 < size_stores_1; cntr_stores_1++) {
+ NDR_CHECK(ndr_pull_dfs_StorageInfo(ndr, NDR_BUFFERS, &r->stores[cntr_stores_1]));
+ }
+ NDR_PULL_SET_MEM_CTX(ndr, _mem_save_stores_1, 0);
+@@ -740,8 +780,12 @@ static enum ndr_err_code ndr_push_dfs_Info5(struct ndr_push *ndr, int ndr_flags,
+ static enum ndr_err_code ndr_pull_dfs_Info5(struct ndr_pull *ndr, int ndr_flags, struct dfs_Info5 *r)
+ {
+ uint32_t _ptr_path;
++ uint32_t size_path_1 = 0;
++ uint32_t length_path_1 = 0;
+ TALLOC_CTX *_mem_save_path_0;
+ uint32_t _ptr_comment;
++ uint32_t size_comment_1 = 0;
++ uint32_t length_comment_1 = 0;
+ TALLOC_CTX *_mem_save_comment_0;
+ if (ndr_flags & NDR_SCALARS) {
+ NDR_CHECK(ndr_pull_align(ndr, 4));
+@@ -770,11 +814,13 @@ static enum ndr_err_code ndr_pull_dfs_Info5(struct ndr_pull *ndr, int ndr_flags,
+ NDR_PULL_SET_MEM_CTX(ndr, r->path, 0);
+ NDR_CHECK(ndr_pull_array_size(ndr, &r->path));
+ NDR_CHECK(ndr_pull_array_length(ndr, &r->path));
+- if (ndr_get_array_length(ndr, &r->path) > ndr_get_array_size(ndr, &r->path)) {
+- return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->path), ndr_get_array_length(ndr, &r->path));
++ size_path_1 = ndr_get_array_size(ndr, &r->path);
++ length_path_1 = ndr_get_array_length(ndr, &r->path);
++ if (length_path_1 > size_path_1) {
++ return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_path_1, length_path_1);
+ }
+- NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->path), sizeof(uint16_t)));
+- NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->path, ndr_get_array_length(ndr, &r->path), sizeof(uint16_t), CH_UTF16));
++ NDR_CHECK(ndr_check_string_terminator(ndr, length_path_1, sizeof(uint16_t)));
++ NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->path, length_path_1, sizeof(uint16_t), CH_UTF16));
+ NDR_PULL_SET_MEM_CTX(ndr, _mem_save_path_0, 0);
+ }
+ if (r->comment) {
+@@ -782,11 +828,13 @@ static enum ndr_err_code ndr_pull_dfs_Info5(struct ndr_pull *ndr, int ndr_flags,
+ NDR_PULL_SET_MEM_CTX(ndr, r->comment, 0);
+ NDR_CHECK(ndr_pull_array_size(ndr, &r->comment));
+ NDR_CHECK(ndr_pull_array_length(ndr, &r->comment));
+- if (ndr_get_array_length(ndr, &r->comment) > ndr_get_array_size(ndr, &r->comment)) {
+- return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->comment), ndr_get_array_length(ndr, &r->comment));
++ size_comment_1 = ndr_get_array_size(ndr, &r->comment);
++ length_comment_1 = ndr_get_array_length(ndr, &r->comment);
++ if (length_comment_1 > size_comment_1) {
++ return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_comment_1, length_comment_1);
+ }
+- NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->comment), sizeof(uint16_t)));
+- NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->comment, ndr_get_array_length(ndr, &r->comment), sizeof(uint16_t), CH_UTF16));
++ NDR_CHECK(ndr_check_string_terminator(ndr, length_comment_1, sizeof(uint16_t)));
++ NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->comment, length_comment_1, sizeof(uint16_t), CH_UTF16));
+ NDR_PULL_SET_MEM_CTX(ndr, _mem_save_comment_0, 0);
+ }
+ NDR_CHECK(ndr_pull_GUID(ndr, NDR_BUFFERS, &r->guid));
+@@ -964,10 +1012,15 @@ static enum ndr_err_code ndr_push_dfs_Info6(struct ndr_push *ndr, int ndr_flags,
+ static enum ndr_err_code ndr_pull_dfs_Info6(struct ndr_pull *ndr, int ndr_flags, struct dfs_Info6 *r)
+ {
+ uint32_t _ptr_entry_path;
++ uint32_t size_entry_path_1 = 0;
++ uint32_t length_entry_path_1 = 0;
+ TALLOC_CTX *_mem_save_entry_path_0;
+ uint32_t _ptr_comment;
++ uint32_t size_comment_1 = 0;
++ uint32_t length_comment_1 = 0;
+ TALLOC_CTX *_mem_save_comment_0;
+ uint32_t _ptr_stores;
++ uint32_t size_stores_1 = 0;
+ uint32_t cntr_stores_1;
+ TALLOC_CTX *_mem_save_stores_0;
+ TALLOC_CTX *_mem_save_stores_1;
+@@ -1004,11 +1057,13 @@ static enum ndr_err_code ndr_pull_dfs_Info6(struct ndr_pull *ndr, int ndr_flags,
+ NDR_PULL_SET_MEM_CTX(ndr, r->entry_path, 0);
+ NDR_CHECK(ndr_pull_array_size(ndr, &r->entry_path));
+ NDR_CHECK(ndr_pull_array_length(ndr, &r->entry_path));
+- if (ndr_get_array_length(ndr, &r->entry_path) > ndr_get_array_size(ndr, &r->entry_path)) {
+- return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->entry_path), ndr_get_array_length(ndr, &r->entry_path));
++ size_entry_path_1 = ndr_get_array_size(ndr, &r->entry_path);
++ length_entry_path_1 = ndr_get_array_length(ndr, &r->entry_path);
++ if (length_entry_path_1 > size_entry_path_1) {
++ return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_entry_path_1, length_entry_path_1);
+ }
+- NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->entry_path), sizeof(uint16_t)));
+- NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->entry_path, ndr_get_array_length(ndr, &r->entry_path), sizeof(uint16_t), CH_UTF16));
++ NDR_CHECK(ndr_check_string_terminator(ndr, length_entry_path_1, sizeof(uint16_t)));
++ NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->entry_path, length_entry_path_1, sizeof(uint16_t), CH_UTF16));
+ NDR_PULL_SET_MEM_CTX(ndr, _mem_save_entry_path_0, 0);
+ }
+ if (r->comment) {
+@@ -1016,11 +1071,13 @@ static enum ndr_err_code ndr_pull_dfs_Info6(struct ndr_pull *ndr, int ndr_flags,
+ NDR_PULL_SET_MEM_CTX(ndr, r->comment, 0);
+ NDR_CHECK(ndr_pull_array_size(ndr, &r->comment));
+ NDR_CHECK(ndr_pull_array_length(ndr, &r->comment));
+- if (ndr_get_array_length(ndr, &r->comment) > ndr_get_array_size(ndr, &r->comment)) {
+- return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->comment), ndr_get_array_length(ndr, &r->comment));
++ size_comment_1 = ndr_get_array_size(ndr, &r->comment);
++ length_comment_1 = ndr_get_array_length(ndr, &r->comment);
++ if (length_comment_1 > size_comment_1) {
++ return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_comment_1, length_comment_1);
+ }
+- NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->comment), sizeof(uint16_t)));
+- NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->comment, ndr_get_array_length(ndr, &r->comment), sizeof(uint16_t), CH_UTF16));
++ NDR_CHECK(ndr_check_string_terminator(ndr, length_comment_1, sizeof(uint16_t)));
++ NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->comment, length_comment_1, sizeof(uint16_t), CH_UTF16));
+ NDR_PULL_SET_MEM_CTX(ndr, _mem_save_comment_0, 0);
+ }
+ NDR_CHECK(ndr_pull_GUID(ndr, NDR_BUFFERS, &r->guid));
+@@ -1028,13 +1085,14 @@ static enum ndr_err_code ndr_pull_dfs_Info6(struct ndr_pull *ndr, int ndr_flags,
+ _mem_save_stores_0 = NDR_PULL_GET_MEM_CTX(ndr);
+ NDR_PULL_SET_MEM_CTX(ndr, r->stores, 0);
+ NDR_CHECK(ndr_pull_array_size(ndr, &r->stores));
+- NDR_PULL_ALLOC_N(ndr, r->stores, ndr_get_array_size(ndr, &r->stores));
++ size_stores_1 = ndr_get_array_size(ndr, &r->stores);
++ NDR_PULL_ALLOC_N(ndr, r->stores, size_stores_1);
+ _mem_save_stores_1 = NDR_PULL_GET_MEM_CTX(ndr);
+ NDR_PULL_SET_MEM_CTX(ndr, r->stores, 0);
+- for (cntr_stores_1 = 0; cntr_stores_1 < r->num_stores; cntr_stores_1++) {
++ for (cntr_stores_1 = 0; cntr_stores_1 < size_stores_1; cntr_stores_1++) {
+ NDR_CHECK(ndr_pull_dfs_StorageInfo2(ndr, NDR_SCALARS, &r->stores[cntr_stores_1]));
+ }
+- for (cntr_stores_1 = 0; cntr_stores_1 < r->num_stores; cntr_stores_1++) {
++ for (cntr_stores_1 = 0; cntr_stores_1 < size_stores_1; cntr_stores_1++) {
+ NDR_CHECK(ndr_pull_dfs_StorageInfo2(ndr, NDR_BUFFERS, &r->stores[cntr_stores_1]));
+ }
+ NDR_PULL_SET_MEM_CTX(ndr, _mem_save_stores_1, 0);
+@@ -1140,6 +1198,8 @@ static enum ndr_err_code ndr_push_dfs_Info100(struct ndr_push *ndr, int ndr_flag
+ static enum ndr_err_code ndr_pull_dfs_Info100(struct ndr_pull *ndr, int ndr_flags, struct dfs_Info100 *r)
+ {
+ uint32_t _ptr_comment;
++ uint32_t size_comment_1 = 0;
++ uint32_t length_comment_1 = 0;
+ TALLOC_CTX *_mem_save_comment_0;
+ if (ndr_flags & NDR_SCALARS) {
+ NDR_CHECK(ndr_pull_align(ndr, 4));
+@@ -1156,11 +1216,13 @@ static enum ndr_err_code ndr_pull_dfs_Info100(struct ndr_pull *ndr, int ndr_flag
+ NDR_PULL_SET_MEM_CTX(ndr, r->comment, 0);
+ NDR_CHECK(ndr_pull_array_size(ndr, &r->comment));
+ NDR_CHECK(ndr_pull_array_length(ndr, &r->comment));
+- if (ndr_get_array_length(ndr, &r->comment) > ndr_get_array_size(ndr, &r->comment)) {
+- return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->comment), ndr_get_array_length(ndr, &r->comment));
++ size_comment_1 = ndr_get_array_size(ndr, &r->comment);
++ length_comment_1 = ndr_get_array_length(ndr, &r->comment);
++ if (length_comment_1 > size_comment_1) {
++ return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_comment_1, length_comment_1);
+ }
+- NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->comment), sizeof(uint16_t)));
+- NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->comment, ndr_get_array_length(ndr, &r->comment), sizeof(uint16_t), CH_UTF16));
++ NDR_CHECK(ndr_check_string_terminator(ndr, length_comment_1, sizeof(uint16_t)));
++ NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->comment, length_comment_1, sizeof(uint16_t), CH_UTF16));
+ NDR_PULL_SET_MEM_CTX(ndr, _mem_save_comment_0, 0);
+ }
+ }
+@@ -1324,6 +1386,8 @@ static enum ndr_err_code ndr_push_dfs_Info105(struct ndr_push *ndr, int ndr_flag
+ static enum ndr_err_code ndr_pull_dfs_Info105(struct ndr_pull *ndr, int ndr_flags, struct dfs_Info105 *r)
+ {
+ uint32_t _ptr_comment;
++ uint32_t size_comment_1 = 0;
++ uint32_t length_comment_1 = 0;
+ TALLOC_CTX *_mem_save_comment_0;
+ if (ndr_flags & NDR_SCALARS) {
+ NDR_CHECK(ndr_pull_align(ndr, 4));
+@@ -1344,11 +1408,13 @@ static enum ndr_err_code ndr_pull_dfs_Info105(struct ndr_pull *ndr, int ndr_flag
+ NDR_PULL_SET_MEM_CTX(ndr, r->comment, 0);
+ NDR_CHECK(ndr_pull_array_size(ndr, &r->comment));
+ NDR_CHECK(ndr_pull_array_length(ndr, &r->comment));
+- if (ndr_get_array_length(ndr, &r->comment) > ndr_get_array_size(ndr, &r->comment)) {
+- return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->comment), ndr_get_array_length(ndr, &r->comment));
++ size_comment_1 = ndr_get_array_size(ndr, &r->comment);
++ length_comment_1 = ndr_get_array_length(ndr, &r->comment);
++ if (length_comment_1 > size_comment_1) {
++ return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_comment_1, length_comment_1);
+ }
+- NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->comment), sizeof(uint16_t)));
+- NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->comment, ndr_get_array_length(ndr, &r->comment), sizeof(uint16_t), CH_UTF16));
++ NDR_CHECK(ndr_check_string_terminator(ndr, length_comment_1, sizeof(uint16_t)));
++ NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->comment, length_comment_1, sizeof(uint16_t), CH_UTF16));
+ NDR_PULL_SET_MEM_CTX(ndr, _mem_save_comment_0, 0);
+ }
+ }
+@@ -1425,6 +1491,8 @@ static enum ndr_err_code ndr_push_dfs_Info200(struct ndr_push *ndr, int ndr_flag
+ static enum ndr_err_code ndr_pull_dfs_Info200(struct ndr_pull *ndr, int ndr_flags, struct dfs_Info200 *r)
+ {
+ uint32_t _ptr_dom_root;
++ uint32_t size_dom_root_1 = 0;
++ uint32_t length_dom_root_1 = 0;
+ TALLOC_CTX *_mem_save_dom_root_0;
+ if (ndr_flags & NDR_SCALARS) {
+ NDR_CHECK(ndr_pull_align(ndr, 4));
+@@ -1441,11 +1509,13 @@ static enum ndr_err_code ndr_pull_dfs_Info200(struct ndr_pull *ndr, int ndr_flag
+ NDR_PULL_SET_MEM_CTX(ndr, r->dom_root, 0);
+ NDR_CHECK(ndr_pull_array_size(ndr, &r->dom_root));
+ NDR_CHECK(ndr_pull_array_length(ndr, &r->dom_root));
+- if (ndr_get_array_length(ndr, &r->dom_root) > ndr_get_array_size(ndr, &r->dom_root)) {
+- return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->dom_root), ndr_get_array_length(ndr, &r->dom_root));
++ size_dom_root_1 = ndr_get_array_size(ndr, &r->dom_root);
++ length_dom_root_1 = ndr_get_array_length(ndr, &r->dom_root);
++ if (length_dom_root_1 > size_dom_root_1) {
++ return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_dom_root_1, length_dom_root_1);
+ }
+- NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->dom_root), sizeof(uint16_t)));
+- NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->dom_root, ndr_get_array_length(ndr, &r->dom_root), sizeof(uint16_t), CH_UTF16));
++ NDR_CHECK(ndr_check_string_terminator(ndr, length_dom_root_1, sizeof(uint16_t)));
++ NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->dom_root, length_dom_root_1, sizeof(uint16_t), CH_UTF16));
+ NDR_PULL_SET_MEM_CTX(ndr, _mem_save_dom_root_0, 0);
+ }
+ }
+@@ -1511,6 +1581,8 @@ static enum ndr_err_code ndr_push_dfs_Info300(struct ndr_push *ndr, int ndr_flag
+ static enum ndr_err_code ndr_pull_dfs_Info300(struct ndr_pull *ndr, int ndr_flags, struct dfs_Info300 *r)
+ {
+ uint32_t _ptr_dom_root;
++ uint32_t size_dom_root_1 = 0;
++ uint32_t length_dom_root_1 = 0;
+ TALLOC_CTX *_mem_save_dom_root_0;
+ if (ndr_flags & NDR_SCALARS) {
+ NDR_CHECK(ndr_pull_align(ndr, 4));
+@@ -1528,11 +1600,13 @@ static enum ndr_err_code ndr_pull_dfs_Info300(struct ndr_pull *ndr, int ndr_flag
+ NDR_PULL_SET_MEM_CTX(ndr, r->dom_root, 0);
+ NDR_CHECK(ndr_pull_array_size(ndr, &r->dom_root));
+ NDR_CHECK(ndr_pull_array_length(ndr, &r->dom_root));
+- if (ndr_get_array_length(ndr, &r->dom_root) > ndr_get_array_size(ndr, &r->dom_root)) {
+- return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->dom_root), ndr_get_array_length(ndr, &r->dom_root));
++ size_dom_root_1 = ndr_get_array_size(ndr, &r->dom_root);
++ length_dom_root_1 = ndr_get_array_length(ndr, &r->dom_root);
++ if (length_dom_root_1 > size_dom_root_1) {
++ return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_dom_root_1, length_dom_root_1);
+ }
+- NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->dom_root), sizeof(uint16_t)));
+- NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->dom_root, ndr_get_array_length(ndr, &r->dom_root), sizeof(uint16_t), CH_UTF16));
++ NDR_CHECK(ndr_check_string_terminator(ndr, length_dom_root_1, sizeof(uint16_t)));
++ NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->dom_root, length_dom_root_1, sizeof(uint16_t), CH_UTF16));
+ NDR_PULL_SET_MEM_CTX(ndr, _mem_save_dom_root_0, 0);
+ }
+ }
+@@ -1728,20 +1802,35 @@ static enum ndr_err_code ndr_pull_dfs_Info(struct ndr_pull *ndr, int ndr_flags,
+ int level;
+ uint32_t _level;
+ TALLOC_CTX *_mem_save_info0_0;
++ uint32_t _ptr_info0;
+ TALLOC_CTX *_mem_save_info1_0;
++ uint32_t _ptr_info1;
+ TALLOC_CTX *_mem_save_info2_0;
++ uint32_t _ptr_info2;
+ TALLOC_CTX *_mem_save_info3_0;
++ uint32_t _ptr_info3;
+ TALLOC_CTX *_mem_save_info4_0;
++ uint32_t _ptr_info4;
+ TALLOC_CTX *_mem_save_info5_0;
++ uint32_t _ptr_info5;
+ TALLOC_CTX *_mem_save_info6_0;
++ uint32_t _ptr_info6;
+ TALLOC_CTX *_mem_save_info7_0;
++ uint32_t _ptr_info7;
+ TALLOC_CTX *_mem_save_info100_0;
++ uint32_t _ptr_info100;
+ TALLOC_CTX *_mem_save_info101_0;
++ uint32_t _ptr_info101;
+ TALLOC_CTX *_mem_save_info102_0;
++ uint32_t _ptr_info102;
+ TALLOC_CTX *_mem_save_info103_0;
++ uint32_t _ptr_info103;
+ TALLOC_CTX *_mem_save_info104_0;
++ uint32_t _ptr_info104;
+ TALLOC_CTX *_mem_save_info105_0;
++ uint32_t _ptr_info105;
+ TALLOC_CTX *_mem_save_info106_0;
++ uint32_t _ptr_info106;
+ level = ndr_pull_get_switch_value(ndr, r);
+ if (ndr_flags & NDR_SCALARS) {
+ NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &_level));
+@@ -1750,7 +1839,6 @@ static enum ndr_err_code ndr_pull_dfs_Info(struct ndr_pull *ndr, int ndr_flags,
+ }
+ switch (level) {
+ case 0: {
+- uint32_t _ptr_info0;
+ NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info0));
+ if (_ptr_info0) {
+ NDR_PULL_ALLOC(ndr, r->info0);
+@@ -1760,7 +1848,6 @@ static enum ndr_err_code ndr_pull_dfs_Info(struct ndr_pull *ndr, int ndr_flags,
+ break; }
+
+ case 1: {
+- uint32_t _ptr_info1;
+ NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info1));
+ if (_ptr_info1) {
+ NDR_PULL_ALLOC(ndr, r->info1);
+@@ -1770,7 +1857,6 @@ static enum ndr_err_code ndr_pull_dfs_Info(struct ndr_pull *ndr, int ndr_flags,
+ break; }
+
+ case 2: {
+- uint32_t _ptr_info2;
+ NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info2));
+ if (_ptr_info2) {
+ NDR_PULL_ALLOC(ndr, r->info2);
+@@ -1780,7 +1866,6 @@ static enum ndr_err_code ndr_pull_dfs_Info(struct ndr_pull *ndr, int ndr_flags,
+ break; }
+
+ case 3: {
+- uint32_t _ptr_info3;
+ NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info3));
+ if (_ptr_info3) {
+ NDR_PULL_ALLOC(ndr, r->info3);
+@@ -1790,7 +1875,6 @@ static enum ndr_err_code ndr_pull_dfs_Info(struct ndr_pull *ndr, int ndr_flags,
+ break; }
+
+ case 4: {
+- uint32_t _ptr_info4;
+ NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info4));
+ if (_ptr_info4) {
+ NDR_PULL_ALLOC(ndr, r->info4);
+@@ -1800,7 +1884,6 @@ static enum ndr_err_code ndr_pull_dfs_Info(struct ndr_pull *ndr, int ndr_flags,
+ break; }
+
+ case 5: {
+- uint32_t _ptr_info5;
+ NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info5));
+ if (_ptr_info5) {
+ NDR_PULL_ALLOC(ndr, r->info5);
+@@ -1810,7 +1893,6 @@ static enum ndr_err_code ndr_pull_dfs_Info(struct ndr_pull *ndr, int ndr_flags,
+ break; }
+
+ case 6: {
+- uint32_t _ptr_info6;
+ NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info6));
+ if (_ptr_info6) {
+ NDR_PULL_ALLOC(ndr, r->info6);
+@@ -1820,7 +1902,6 @@ static enum ndr_err_code ndr_pull_dfs_Info(struct ndr_pull *ndr, int ndr_flags,
+ break; }
+
+ case 7: {
+- uint32_t _ptr_info7;
+ NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info7));
+ if (_ptr_info7) {
+ NDR_PULL_ALLOC(ndr, r->info7);
+@@ -1830,7 +1911,6 @@ static enum ndr_err_code ndr_pull_dfs_Info(struct ndr_pull *ndr, int ndr_flags,
+ break; }
+
+ case 100: {
+- uint32_t _ptr_info100;
+ NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info100));
+ if (_ptr_info100) {
+ NDR_PULL_ALLOC(ndr, r->info100);
+@@ -1840,7 +1920,6 @@ static enum ndr_err_code ndr_pull_dfs_Info(struct ndr_pull *ndr, int ndr_flags,
+ break; }
+
+ case 101: {
+- uint32_t _ptr_info101;
+ NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info101));
+ if (_ptr_info101) {
+ NDR_PULL_ALLOC(ndr, r->info101);
+@@ -1850,7 +1929,6 @@ static enum ndr_err_code ndr_pull_dfs_Info(struct ndr_pull *ndr, int ndr_flags,
+ break; }
+
+ case 102: {
+- uint32_t _ptr_info102;
+ NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info102));
+ if (_ptr_info102) {
+ NDR_PULL_ALLOC(ndr, r->info102);
+@@ -1860,7 +1938,6 @@ static enum ndr_err_code ndr_pull_dfs_Info(struct ndr_pull *ndr, int ndr_flags,
+ break; }
+
+ case 103: {
+- uint32_t _ptr_info103;
+ NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info103));
+ if (_ptr_info103) {
+ NDR_PULL_ALLOC(ndr, r->info103);
+@@ -1870,7 +1947,6 @@ static enum ndr_err_code ndr_pull_dfs_Info(struct ndr_pull *ndr, int ndr_flags,
+ break; }
+
+ case 104: {
+- uint32_t _ptr_info104;
+ NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info104));
+ if (_ptr_info104) {
+ NDR_PULL_ALLOC(ndr, r->info104);
+@@ -1880,7 +1956,6 @@ static enum ndr_err_code ndr_pull_dfs_Info(struct ndr_pull *ndr, int ndr_flags,
+ break; }
+
+ case 105: {
+- uint32_t _ptr_info105;
+ NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info105));
+ if (_ptr_info105) {
+ NDR_PULL_ALLOC(ndr, r->info105);
+@@ -1890,7 +1965,6 @@ static enum ndr_err_code ndr_pull_dfs_Info(struct ndr_pull *ndr, int ndr_flags,
+ break; }
+
+ case 106: {
+- uint32_t _ptr_info106;
+ NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info106));
+ if (_ptr_info106) {
+ NDR_PULL_ALLOC(ndr, r->info106);
+@@ -2218,6 +2292,7 @@ static enum ndr_err_code ndr_push_dfs_EnumArray1(struct ndr_push *ndr, int ndr_f
+ static enum ndr_err_code ndr_pull_dfs_EnumArray1(struct ndr_pull *ndr, int ndr_flags, struct dfs_EnumArray1 *r)
+ {
+ uint32_t _ptr_s;
++ uint32_t size_s_1 = 0;
+ uint32_t cntr_s_1;
+ TALLOC_CTX *_mem_save_s_0;
+ TALLOC_CTX *_mem_save_s_1;
+@@ -2236,13 +2311,14 @@ static enum ndr_err_code ndr_pull_dfs_EnumArray1(struct ndr_pull *ndr, int ndr_f
+ _mem_save_s_0 = NDR_PULL_GET_MEM_CTX(ndr);
+ NDR_PULL_SET_MEM_CTX(ndr, r->s, 0);
+ NDR_CHECK(ndr_pull_array_size(ndr, &r->s));
+- NDR_PULL_ALLOC_N(ndr, r->s, ndr_get_array_size(ndr, &r->s));
++ size_s_1 = ndr_get_array_size(ndr, &r->s);
++ NDR_PULL_ALLOC_N(ndr, r->s, size_s_1);
+ _mem_save_s_1 = NDR_PULL_GET_MEM_CTX(ndr);
+ NDR_PULL_SET_MEM_CTX(ndr, r->s, 0);
+- for (cntr_s_1 = 0; cntr_s_1 < r->count; cntr_s_1++) {
++ for (cntr_s_1 = 0; cntr_s_1 < size_s_1; cntr_s_1++) {
+ NDR_CHECK(ndr_pull_dfs_Info1(ndr, NDR_SCALARS, &r->s[cntr_s_1]));
+ }
+- for (cntr_s_1 = 0; cntr_s_1 < r->count; cntr_s_1++) {
++ for (cntr_s_1 = 0; cntr_s_1 < size_s_1; cntr_s_1++) {
+ NDR_CHECK(ndr_pull_dfs_Info1(ndr, NDR_BUFFERS, &r->s[cntr_s_1]));
+ }
+ NDR_PULL_SET_MEM_CTX(ndr, _mem_save_s_1, 0);
+@@ -2304,6 +2380,7 @@ static enum ndr_err_code ndr_push_dfs_EnumArray2(struct ndr_push *ndr, int ndr_f
+ static enum ndr_err_code ndr_pull_dfs_EnumArray2(struct ndr_pull *ndr, int ndr_flags, struct dfs_EnumArray2 *r)
+ {
+ uint32_t _ptr_s;
++ uint32_t size_s_1 = 0;
+ uint32_t cntr_s_1;
+ TALLOC_CTX *_mem_save_s_0;
+ TALLOC_CTX *_mem_save_s_1;
+@@ -2322,13 +2399,14 @@ static enum ndr_err_code ndr_pull_dfs_EnumArray2(struct ndr_pull *ndr, int ndr_f
+ _mem_save_s_0 = NDR_PULL_GET_MEM_CTX(ndr);
+ NDR_PULL_SET_MEM_CTX(ndr, r->s, 0);
+ NDR_CHECK(ndr_pull_array_size(ndr, &r->s));
+- NDR_PULL_ALLOC_N(ndr, r->s, ndr_get_array_size(ndr, &r->s));
++ size_s_1 = ndr_get_array_size(ndr, &r->s);
++ NDR_PULL_ALLOC_N(ndr, r->s, size_s_1);
+ _mem_save_s_1 = NDR_PULL_GET_MEM_CTX(ndr);
+ NDR_PULL_SET_MEM_CTX(ndr, r->s, 0);
+- for (cntr_s_1 = 0; cntr_s_1 < r->count; cntr_s_1++) {
++ for (cntr_s_1 = 0; cntr_s_1 < size_s_1; cntr_s_1++) {
+ NDR_CHECK(ndr_pull_dfs_Info2(ndr, NDR_SCALARS, &r->s[cntr_s_1]));
+ }
+- for (cntr_s_1 = 0; cntr_s_1 < r->count; cntr_s_1++) {
++ for (cntr_s_1 = 0; cntr_s_1 < size_s_1; cntr_s_1++) {
+ NDR_CHECK(ndr_pull_dfs_Info2(ndr, NDR_BUFFERS, &r->s[cntr_s_1]));
+ }
+ NDR_PULL_SET_MEM_CTX(ndr, _mem_save_s_1, 0);
+@@ -2390,6 +2468,7 @@ static enum ndr_err_code ndr_push_dfs_EnumArray3(struct ndr_push *ndr, int ndr_f
+ static enum ndr_err_code ndr_pull_dfs_EnumArray3(struct ndr_pull *ndr, int ndr_flags, struct dfs_EnumArray3 *r)
+ {
+ uint32_t _ptr_s;
++ uint32_t size_s_1 = 0;
+ uint32_t cntr_s_1;
+ TALLOC_CTX *_mem_save_s_0;
+ TALLOC_CTX *_mem_save_s_1;
+@@ -2408,13 +2487,14 @@ static enum ndr_err_code ndr_pull_dfs_EnumArray3(struct ndr_pull *ndr, int ndr_f
+ _mem_save_s_0 = NDR_PULL_GET_MEM_CTX(ndr);
+ NDR_PULL_SET_MEM_CTX(ndr, r->s, 0);
+ NDR_CHECK(ndr_pull_array_size(ndr, &r->s));
+- NDR_PULL_ALLOC_N(ndr, r->s, ndr_get_array_size(ndr, &r->s));
++ size_s_1 = ndr_get_array_size(ndr, &r->s);
++ NDR_PULL_ALLOC_N(ndr, r->s, size_s_1);
+ _mem_save_s_1 = NDR_PULL_GET_MEM_CTX(ndr);
+ NDR_PULL_SET_MEM_CTX(ndr, r->s, 0);
+- for (cntr_s_1 = 0; cntr_s_1 < r->count; cntr_s_1++) {
++ for (cntr_s_1 = 0; cntr_s_1 < size_s_1; cntr_s_1++) {
+ NDR_CHECK(ndr_pull_dfs_Info3(ndr, NDR_SCALARS, &r->s[cntr_s_1]));
+ }
+- for (cntr_s_1 = 0; cntr_s_1 < r->count; cntr_s_1++) {
++ for (cntr_s_1 = 0; cntr_s_1 < size_s_1; cntr_s_1++) {
+ NDR_CHECK(ndr_pull_dfs_Info3(ndr, NDR_BUFFERS, &r->s[cntr_s_1]));
+ }
+ NDR_PULL_SET_MEM_CTX(ndr, _mem_save_s_1, 0);
+@@ -2476,6 +2556,7 @@ static enum ndr_err_code ndr_push_dfs_EnumArray4(struct ndr_push *ndr, int ndr_f
+ static enum ndr_err_code ndr_pull_dfs_EnumArray4(struct ndr_pull *ndr, int ndr_flags, struct dfs_EnumArray4 *r)
+ {
+ uint32_t _ptr_s;
++ uint32_t size_s_1 = 0;
+ uint32_t cntr_s_1;
+ TALLOC_CTX *_mem_save_s_0;
+ TALLOC_CTX *_mem_save_s_1;
+@@ -2494,13 +2575,14 @@ static enum ndr_err_code ndr_pull_dfs_EnumArray4(struct ndr_pull *ndr, int ndr_f
+ _mem_save_s_0 = NDR_PULL_GET_MEM_CTX(ndr);
+ NDR_PULL_SET_MEM_CTX(ndr, r->s, 0);
+ NDR_CHECK(ndr_pull_array_size(ndr, &r->s));
+- NDR_PULL_ALLOC_N(ndr, r->s, ndr_get_array_size(ndr, &r->s));
++ size_s_1 = ndr_get_array_size(ndr, &r->s);
++ NDR_PULL_ALLOC_N(ndr, r->s, size_s_1);
+ _mem_save_s_1 = NDR_PULL_GET_MEM_CTX(ndr);
+ NDR_PULL_SET_MEM_CTX(ndr, r->s, 0);
+- for (cntr_s_1 = 0; cntr_s_1 < r->count; cntr_s_1++) {
++ for (cntr_s_1 = 0; cntr_s_1 < size_s_1; cntr_s_1++) {
+ NDR_CHECK(ndr_pull_dfs_Info4(ndr, NDR_SCALARS, &r->s[cntr_s_1]));
+ }
+- for (cntr_s_1 = 0; cntr_s_1 < r->count; cntr_s_1++) {
++ for (cntr_s_1 = 0; cntr_s_1 < size_s_1; cntr_s_1++) {
+ NDR_CHECK(ndr_pull_dfs_Info4(ndr, NDR_BUFFERS, &r->s[cntr_s_1]));
+ }
+ NDR_PULL_SET_MEM_CTX(ndr, _mem_save_s_1, 0);
+@@ -2562,6 +2644,7 @@ static enum ndr_err_code ndr_push_dfs_EnumArray5(struct ndr_push *ndr, int ndr_f
+ static enum ndr_err_code ndr_pull_dfs_EnumArray5(struct ndr_pull *ndr, int ndr_flags, struct dfs_EnumArray5 *r)
+ {
+ uint32_t _ptr_s;
++ uint32_t size_s_1 = 0;
+ uint32_t cntr_s_1;
+ TALLOC_CTX *_mem_save_s_0;
+ TALLOC_CTX *_mem_save_s_1;
+@@ -2580,13 +2663,14 @@ static enum ndr_err_code ndr_pull_dfs_EnumArray5(struct ndr_pull *ndr, int ndr_f
+ _mem_save_s_0 = NDR_PULL_GET_MEM_CTX(ndr);
+ NDR_PULL_SET_MEM_CTX(ndr, r->s, 0);
+ NDR_CHECK(ndr_pull_array_size(ndr, &r->s));
+- NDR_PULL_ALLOC_N(ndr, r->s, ndr_get_array_size(ndr, &r->s));
++ size_s_1 = ndr_get_array_size(ndr, &r->s);
++ NDR_PULL_ALLOC_N(ndr, r->s, size_s_1);
+ _mem_save_s_1 = NDR_PULL_GET_MEM_CTX(ndr);
+ NDR_PULL_SET_MEM_CTX(ndr, r->s, 0);
+- for (cntr_s_1 = 0; cntr_s_1 < r->count; cntr_s_1++) {
++ for (cntr_s_1 = 0; cntr_s_1 < size_s_1; cntr_s_1++) {
+ NDR_CHECK(ndr_pull_dfs_Info5(ndr, NDR_SCALARS, &r->s[cntr_s_1]));
+ }
+- for (cntr_s_1 = 0; cntr_s_1 < r->count; cntr_s_1++) {
++ for (cntr_s_1 = 0; cntr_s_1 < size_s_1; cntr_s_1++) {
+ NDR_CHECK(ndr_pull_dfs_Info5(ndr, NDR_BUFFERS, &r->s[cntr_s_1]));
+ }
+ NDR_PULL_SET_MEM_CTX(ndr, _mem_save_s_1, 0);
+@@ -2648,6 +2732,7 @@ static enum ndr_err_code ndr_push_dfs_EnumArray6(struct ndr_push *ndr, int ndr_f
+ static enum ndr_err_code ndr_pull_dfs_EnumArray6(struct ndr_pull *ndr, int ndr_flags, struct dfs_EnumArray6 *r)
+ {
+ uint32_t _ptr_s;
++ uint32_t size_s_1 = 0;
+ uint32_t cntr_s_1;
+ TALLOC_CTX *_mem_save_s_0;
+ TALLOC_CTX *_mem_save_s_1;
+@@ -2666,13 +2751,14 @@ static enum ndr_err_code ndr_pull_dfs_EnumArray6(struct ndr_pull *ndr, int ndr_f
+ _mem_save_s_0 = NDR_PULL_GET_MEM_CTX(ndr);
+ NDR_PULL_SET_MEM_CTX(ndr, r->s, 0);
+ NDR_CHECK(ndr_pull_array_size(ndr, &r->s));
+- NDR_PULL_ALLOC_N(ndr, r->s, ndr_get_array_size(ndr, &r->s));
++ size_s_1 = ndr_get_array_size(ndr, &r->s);
++ NDR_PULL_ALLOC_N(ndr, r->s, size_s_1);
+ _mem_save_s_1 = NDR_PULL_GET_MEM_CTX(ndr);
+ NDR_PULL_SET_MEM_CTX(ndr, r->s, 0);
+- for (cntr_s_1 = 0; cntr_s_1 < r->count; cntr_s_1++) {
++ for (cntr_s_1 = 0; cntr_s_1 < size_s_1; cntr_s_1++) {
+ NDR_CHECK(ndr_pull_dfs_Info6(ndr, NDR_SCALARS, &r->s[cntr_s_1]));
+ }
+- for (cntr_s_1 = 0; cntr_s_1 < r->count; cntr_s_1++) {
++ for (cntr_s_1 = 0; cntr_s_1 < size_s_1; cntr_s_1++) {
+ NDR_CHECK(ndr_pull_dfs_Info6(ndr, NDR_BUFFERS, &r->s[cntr_s_1]));
+ }
+ NDR_PULL_SET_MEM_CTX(ndr, _mem_save_s_1, 0);
+@@ -2734,6 +2820,7 @@ static enum ndr_err_code ndr_push_dfs_EnumArray200(struct ndr_push *ndr, int ndr
+ static enum ndr_err_code ndr_pull_dfs_EnumArray200(struct ndr_pull *ndr, int ndr_flags, struct dfs_EnumArray200 *r)
+ {
+ uint32_t _ptr_s;
++ uint32_t size_s_1 = 0;
+ uint32_t cntr_s_1;
+ TALLOC_CTX *_mem_save_s_0;
+ TALLOC_CTX *_mem_save_s_1;
+@@ -2752,13 +2839,14 @@ static enum ndr_err_code ndr_pull_dfs_EnumArray200(struct ndr_pull *ndr, int ndr
+ _mem_save_s_0 = NDR_PULL_GET_MEM_CTX(ndr);
+ NDR_PULL_SET_MEM_CTX(ndr, r->s, 0);
+ NDR_CHECK(ndr_pull_array_size(ndr, &r->s));
+- NDR_PULL_ALLOC_N(ndr, r->s, ndr_get_array_size(ndr, &r->s));
++ size_s_1 = ndr_get_array_size(ndr, &r->s);
++ NDR_PULL_ALLOC_N(ndr, r->s, size_s_1);
+ _mem_save_s_1 = NDR_PULL_GET_MEM_CTX(ndr);
+ NDR_PULL_SET_MEM_CTX(ndr, r->s, 0);
+- for (cntr_s_1 = 0; cntr_s_1 < r->count; cntr_s_1++) {
++ for (cntr_s_1 = 0; cntr_s_1 < size_s_1; cntr_s_1++) {
+ NDR_CHECK(ndr_pull_dfs_Info200(ndr, NDR_SCALARS, &r->s[cntr_s_1]));
+ }
+- for (cntr_s_1 = 0; cntr_s_1 < r->count; cntr_s_1++) {
++ for (cntr_s_1 = 0; cntr_s_1 < size_s_1; cntr_s_1++) {
+ NDR_CHECK(ndr_pull_dfs_Info200(ndr, NDR_BUFFERS, &r->s[cntr_s_1]));
+ }
+ NDR_PULL_SET_MEM_CTX(ndr, _mem_save_s_1, 0);
+@@ -2820,6 +2908,7 @@ static enum ndr_err_code ndr_push_dfs_EnumArray300(struct ndr_push *ndr, int ndr
+ static enum ndr_err_code ndr_pull_dfs_EnumArray300(struct ndr_pull *ndr, int ndr_flags, struct dfs_EnumArray300 *r)
+ {
+ uint32_t _ptr_s;
++ uint32_t size_s_1 = 0;
+ uint32_t cntr_s_1;
+ TALLOC_CTX *_mem_save_s_0;
+ TALLOC_CTX *_mem_save_s_1;
+@@ -2838,13 +2927,14 @@ static enum ndr_err_code ndr_pull_dfs_EnumArray300(struct ndr_pull *ndr, int ndr
+ _mem_save_s_0 = NDR_PULL_GET_MEM_CTX(ndr);
+ NDR_PULL_SET_MEM_CTX(ndr, r->s, 0);
+ NDR_CHECK(ndr_pull_array_size(ndr, &r->s));
+- NDR_PULL_ALLOC_N(ndr, r->s, ndr_get_array_size(ndr, &r->s));
++ size_s_1 = ndr_get_array_size(ndr, &r->s);
++ NDR_PULL_ALLOC_N(ndr, r->s, size_s_1);
+ _mem_save_s_1 = NDR_PULL_GET_MEM_CTX(ndr);
+ NDR_PULL_SET_MEM_CTX(ndr, r->s, 0);
+- for (cntr_s_1 = 0; cntr_s_1 < r->count; cntr_s_1++) {
++ for (cntr_s_1 = 0; cntr_s_1 < size_s_1; cntr_s_1++) {
+ NDR_CHECK(ndr_pull_dfs_Info300(ndr, NDR_SCALARS, &r->s[cntr_s_1]));
+ }
+- for (cntr_s_1 = 0; cntr_s_1 < r->count; cntr_s_1++) {
++ for (cntr_s_1 = 0; cntr_s_1 < size_s_1; cntr_s_1++) {
+ NDR_CHECK(ndr_pull_dfs_Info300(ndr, NDR_BUFFERS, &r->s[cntr_s_1]));
+ }
+ NDR_PULL_SET_MEM_CTX(ndr, _mem_save_s_1, 0);
+@@ -2986,13 +3076,21 @@ static enum ndr_err_code ndr_pull_dfs_EnumInfo(struct ndr_pull *ndr, int ndr_fla
+ int level;
+ uint32_t _level;
+ TALLOC_CTX *_mem_save_info1_0;
++ uint32_t _ptr_info1;
+ TALLOC_CTX *_mem_save_info2_0;
++ uint32_t _ptr_info2;
+ TALLOC_CTX *_mem_save_info3_0;
++ uint32_t _ptr_info3;
+ TALLOC_CTX *_mem_save_info4_0;
++ uint32_t _ptr_info4;
+ TALLOC_CTX *_mem_save_info5_0;
++ uint32_t _ptr_info5;
+ TALLOC_CTX *_mem_save_info6_0;
++ uint32_t _ptr_info6;
+ TALLOC_CTX *_mem_save_info200_0;
++ uint32_t _ptr_info200;
+ TALLOC_CTX *_mem_save_info300_0;
++ uint32_t _ptr_info300;
+ level = ndr_pull_get_switch_value(ndr, r);
+ if (ndr_flags & NDR_SCALARS) {
+ NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &_level));
+@@ -3001,7 +3099,6 @@ static enum ndr_err_code ndr_pull_dfs_EnumInfo(struct ndr_pull *ndr, int ndr_fla
+ }
+ switch (level) {
+ case 1: {
+- uint32_t _ptr_info1;
+ NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info1));
+ if (_ptr_info1) {
+ NDR_PULL_ALLOC(ndr, r->info1);
+@@ -3011,7 +3108,6 @@ static enum ndr_err_code ndr_pull_dfs_EnumInfo(struct ndr_pull *ndr, int ndr_fla
+ break; }
+
+ case 2: {
+- uint32_t _ptr_info2;
+ NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info2));
+ if (_ptr_info2) {
+ NDR_PULL_ALLOC(ndr, r->info2);
+@@ -3021,7 +3117,6 @@ static enum ndr_err_code ndr_pull_dfs_EnumInfo(struct ndr_pull *ndr, int ndr_fla
+ break; }
+
+ case 3: {
+- uint32_t _ptr_info3;
+ NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info3));
+ if (_ptr_info3) {
+ NDR_PULL_ALLOC(ndr, r->info3);
+@@ -3031,7 +3126,6 @@ static enum ndr_err_code ndr_pull_dfs_EnumInfo(struct ndr_pull *ndr, int ndr_fla
+ break; }
+
+ case 4: {
+- uint32_t _ptr_info4;
+ NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info4));
+ if (_ptr_info4) {
+ NDR_PULL_ALLOC(ndr, r->info4);
+@@ -3041,7 +3135,6 @@ static enum ndr_err_code ndr_pull_dfs_EnumInfo(struct ndr_pull *ndr, int ndr_fla
+ break; }
+
+ case 5: {
+- uint32_t _ptr_info5;
+ NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info5));
+ if (_ptr_info5) {
+ NDR_PULL_ALLOC(ndr, r->info5);
+@@ -3051,7 +3144,6 @@ static enum ndr_err_code ndr_pull_dfs_EnumInfo(struct ndr_pull *ndr, int ndr_fla
+ break; }
+
+ case 6: {
+- uint32_t _ptr_info6;
+ NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info6));
+ if (_ptr_info6) {
+ NDR_PULL_ALLOC(ndr, r->info6);
+@@ -3061,7 +3153,6 @@ static enum ndr_err_code ndr_pull_dfs_EnumInfo(struct ndr_pull *ndr, int ndr_fla
+ break; }
+
+ case 200: {
+- uint32_t _ptr_info200;
+ NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info200));
+ if (_ptr_info200) {
+ NDR_PULL_ALLOC(ndr, r->info200);
+@@ -3071,7 +3162,6 @@ static enum ndr_err_code ndr_pull_dfs_EnumInfo(struct ndr_pull *ndr, int ndr_fla
+ break; }
+
+ case 300: {
+- uint32_t _ptr_info300;
+ NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info300));
+ if (_ptr_info300) {
+ NDR_PULL_ALLOC(ndr, r->info300);
+@@ -3307,6 +3397,8 @@ static enum ndr_err_code ndr_push_dfs_UnknownStruct(struct ndr_push *ndr, int nd
+ static enum ndr_err_code ndr_pull_dfs_UnknownStruct(struct ndr_pull *ndr, int ndr_flags, struct dfs_UnknownStruct *r)
+ {
+ uint32_t _ptr_unknown2;
++ uint32_t size_unknown2_1 = 0;
++ uint32_t length_unknown2_1 = 0;
+ TALLOC_CTX *_mem_save_unknown2_0;
+ if (ndr_flags & NDR_SCALARS) {
+ NDR_CHECK(ndr_pull_align(ndr, 4));
+@@ -3324,11 +3416,13 @@ static enum ndr_err_code ndr_pull_dfs_UnknownStruct(struct ndr_pull *ndr, int nd
+ NDR_PULL_SET_MEM_CTX(ndr, r->unknown2, 0);
+ NDR_CHECK(ndr_pull_array_size(ndr, &r->unknown2));
+ NDR_CHECK(ndr_pull_array_length(ndr, &r->unknown2));
+- if (ndr_get_array_length(ndr, &r->unknown2) > ndr_get_array_size(ndr, &r->unknown2)) {
+- return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->unknown2), ndr_get_array_length(ndr, &r->unknown2));
++ size_unknown2_1 = ndr_get_array_size(ndr, &r->unknown2);
++ length_unknown2_1 = ndr_get_array_length(ndr, &r->unknown2);
++ if (length_unknown2_1 > size_unknown2_1) {
++ return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_unknown2_1, length_unknown2_1);
+ }
+- NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->unknown2), sizeof(uint16_t)));
+- NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->unknown2, ndr_get_array_length(ndr, &r->unknown2), sizeof(uint16_t), CH_UTF16));
++ NDR_CHECK(ndr_check_string_terminator(ndr, length_unknown2_1, sizeof(uint16_t)));
++ NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->unknown2, length_unknown2_1, sizeof(uint16_t), CH_UTF16));
+ NDR_PULL_SET_MEM_CTX(ndr, _mem_save_unknown2_0, 0);
+ }
+ }
+@@ -3448,25 +3542,37 @@ static enum ndr_err_code ndr_push_dfs_Add(struct ndr_push *ndr, int flags, const
+
+ static enum ndr_err_code ndr_pull_dfs_Add(struct ndr_pull *ndr, int flags, struct dfs_Add *r)
+ {
++ uint32_t size_path_1 = 0;
++ uint32_t length_path_1 = 0;
++ uint32_t size_server_1 = 0;
++ uint32_t length_server_1 = 0;
+ uint32_t _ptr_share;
++ uint32_t size_share_1 = 0;
++ uint32_t length_share_1 = 0;
+ uint32_t _ptr_comment;
++ uint32_t size_comment_1 = 0;
++ uint32_t length_comment_1 = 0;
+ TALLOC_CTX *_mem_save_share_0;
+ TALLOC_CTX *_mem_save_comment_0;
+ if (flags & NDR_IN) {
+ NDR_CHECK(ndr_pull_array_size(ndr, &r->in.path));
+ NDR_CHECK(ndr_pull_array_length(ndr, &r->in.path));
+- if (ndr_get_array_length(ndr, &r->in.path) > ndr_get_array_size(ndr, &r->in.path)) {
+- return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.path), ndr_get_array_length(ndr, &r->in.path));
++ size_path_1 = ndr_get_array_size(ndr, &r->in.path);
++ length_path_1 = ndr_get_array_length(ndr, &r->in.path);
++ if (length_path_1 > size_path_1) {
++ return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_path_1, length_path_1);
+ }
+- NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.path), sizeof(uint16_t)));
+- NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.path, ndr_get_array_length(ndr, &r->in.path), sizeof(uint16_t), CH_UTF16));
++ NDR_CHECK(ndr_check_string_terminator(ndr, length_path_1, sizeof(uint16_t)));
++ NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.path, length_path_1, sizeof(uint16_t), CH_UTF16));
+ NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server));
+ NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server));
+- if (ndr_get_array_length(ndr, &r->in.server) > ndr_get_array_size(ndr, &r->in.server)) {
+- return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.server), ndr_get_array_length(ndr, &r->in.server));
++ size_server_1 = ndr_get_array_size(ndr, &r->in.server);
++ length_server_1 = ndr_get_array_length(ndr, &r->in.server);
++ if (length_server_1 > size_server_1) {
++ return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_server_1, length_server_1);
+ }
+- NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server), sizeof(uint16_t)));
+- NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.server, ndr_get_array_length(ndr, &r->in.server), sizeof(uint16_t), CH_UTF16));
++ NDR_CHECK(ndr_check_string_terminator(ndr, length_server_1, sizeof(uint16_t)));
++ NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.server, length_server_1, sizeof(uint16_t), CH_UTF16));
+ NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_share));
+ if (_ptr_share) {
+ NDR_PULL_ALLOC(ndr, r->in.share);
+@@ -3478,11 +3584,13 @@ static enum ndr_err_code ndr_pull_dfs_Add(struct ndr_pull *ndr, int flags, struc
+ NDR_PULL_SET_MEM_CTX(ndr, r->in.share, 0);
+ NDR_CHECK(ndr_pull_array_size(ndr, &r->in.share));
+ NDR_CHECK(ndr_pull_array_length(ndr, &r->in.share));
+- if (ndr_get_array_length(ndr, &r->in.share) > ndr_get_array_size(ndr, &r->in.share)) {
+- return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.share), ndr_get_array_length(ndr, &r->in.share));
++ size_share_1 = ndr_get_array_size(ndr, &r->in.share);
++ length_share_1 = ndr_get_array_length(ndr, &r->in.share);
++ if (length_share_1 > size_share_1) {
++ return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_share_1, length_share_1);
+ }
+- NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.share), sizeof(uint16_t)));
+- NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.share, ndr_get_array_length(ndr, &r->in.share), sizeof(uint16_t), CH_UTF16));
++ NDR_CHECK(ndr_check_string_terminator(ndr, length_share_1, sizeof(uint16_t)));
++ NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.share, length_share_1, sizeof(uint16_t), CH_UTF16));
+ NDR_PULL_SET_MEM_CTX(ndr, _mem_save_share_0, 0);
+ }
+ NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_comment));
+@@ -3496,11 +3604,13 @@ static enum ndr_err_code ndr_pull_dfs_Add(struct ndr_pull *ndr, int flags, struc
+ NDR_PULL_SET_MEM_CTX(ndr, r->in.comment, 0);
+ NDR_CHECK(ndr_pull_array_size(ndr, &r->in.comment));
+ NDR_CHECK(ndr_pull_array_length(ndr, &r->in.comment));
+- if (ndr_get_array_length(ndr, &r->in.comment) > ndr_get_array_size(ndr, &r->in.comment)) {
+- return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.comment), ndr_get_array_length(ndr, &r->in.comment));
++ size_comment_1 = ndr_get_array_size(ndr, &r->in.comment);
++ length_comment_1 = ndr_get_array_length(ndr, &r->in.comment);
++ if (length_comment_1 > size_comment_1) {
++ return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_comment_1, length_comment_1);
+ }
+- NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.comment), sizeof(uint16_t)));
+- NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.comment, ndr_get_array_length(ndr, &r->in.comment), sizeof(uint16_t), CH_UTF16));
++ NDR_CHECK(ndr_check_string_terminator(ndr, length_comment_1, sizeof(uint16_t)));
++ NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.comment, length_comment_1, sizeof(uint16_t), CH_UTF16));
+ NDR_PULL_SET_MEM_CTX(ndr, _mem_save_comment_0, 0);
+ }
+ NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.flags));
+@@ -3586,18 +3696,26 @@ static enum ndr_err_code ndr_push_dfs_Remove(struct ndr_push *ndr, int flags, co
+
+ static enum ndr_err_code ndr_pull_dfs_Remove(struct ndr_pull *ndr, int flags, struct dfs_Remove *r)
+ {
++ uint32_t size_dfs_entry_path_1 = 0;
++ uint32_t length_dfs_entry_path_1 = 0;
+ uint32_t _ptr_servername;
++ uint32_t size_servername_1 = 0;
++ uint32_t length_servername_1 = 0;
+ uint32_t _ptr_sharename;
++ uint32_t size_sharename_1 = 0;
++ uint32_t length_sharename_1 = 0;
+ TALLOC_CTX *_mem_save_servername_0;
+ TALLOC_CTX *_mem_save_sharename_0;
+ if (flags & NDR_IN) {
+ NDR_CHECK(ndr_pull_array_size(ndr, &r->in.dfs_entry_path));
+ NDR_CHECK(ndr_pull_array_length(ndr, &r->in.dfs_entry_path));
+- if (ndr_get_array_length(ndr, &r->in.dfs_entry_path) > ndr_get_array_size(ndr, &r->in.dfs_entry_path)) {
+- return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.dfs_entry_path), ndr_get_array_length(ndr, &r->in.dfs_entry_path));
++ size_dfs_entry_path_1 = ndr_get_array_size(ndr, &r->in.dfs_entry_path);
++ length_dfs_entry_path_1 = ndr_get_array_length(ndr, &r->in.dfs_entry_path);
++ if (length_dfs_entry_path_1 > size_dfs_entry_path_1) {
++ return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_dfs_entry_path_1, length_dfs_entry_path_1);
+ }
+- NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.dfs_entry_path), sizeof(uint16_t)));
+- NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.dfs_entry_path, ndr_get_array_length(ndr, &r->in.dfs_entry_path), sizeof(uint16_t), CH_UTF16));
++ NDR_CHECK(ndr_check_string_terminator(ndr, length_dfs_entry_path_1, sizeof(uint16_t)));
++ NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.dfs_entry_path, length_dfs_entry_path_1, sizeof(uint16_t), CH_UTF16));
+ NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_servername));
+ if (_ptr_servername) {
+ NDR_PULL_ALLOC(ndr, r->in.servername);
+@@ -3609,11 +3727,13 @@ static enum ndr_err_code ndr_pull_dfs_Remove(struct ndr_pull *ndr, int flags, st
+ NDR_PULL_SET_MEM_CTX(ndr, r->in.servername, 0);
+ NDR_CHECK(ndr_pull_array_size(ndr, &r->in.servername));
+ NDR_CHECK(ndr_pull_array_length(ndr, &r->in.servername));
+- if (ndr_get_array_length(ndr, &r->in.servername) > ndr_get_array_size(ndr, &r->in.servername)) {
+- return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.servername), ndr_get_array_length(ndr, &r->in.servername));
++ size_servername_1 = ndr_get_array_size(ndr, &r->in.servername);
++ length_servername_1 = ndr_get_array_length(ndr, &r->in.servername);
++ if (length_servername_1 > size_servername_1) {
++ return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_servername_1, length_servername_1);
+ }
+- NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.servername), sizeof(uint16_t)));
+- NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.servername, ndr_get_array_length(ndr, &r->in.servername), sizeof(uint16_t), CH_UTF16));
++ NDR_CHECK(ndr_check_string_terminator(ndr, length_servername_1, sizeof(uint16_t)));
++ NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.servername, length_servername_1, sizeof(uint16_t), CH_UTF16));
+ NDR_PULL_SET_MEM_CTX(ndr, _mem_save_servername_0, 0);
+ }
+ NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_sharename));
+@@ -3627,11 +3747,13 @@ static enum ndr_err_code ndr_pull_dfs_Remove(struct ndr_pull *ndr, int flags, st
+ NDR_PULL_SET_MEM_CTX(ndr, r->in.sharename, 0);
+ NDR_CHECK(ndr_pull_array_size(ndr, &r->in.sharename));
+ NDR_CHECK(ndr_pull_array_length(ndr, &r->in.sharename));
+- if (ndr_get_array_length(ndr, &r->in.sharename) > ndr_get_array_size(ndr, &r->in.sharename)) {
+- return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.sharename), ndr_get_array_length(ndr, &r->in.sharename));
++ size_sharename_1 = ndr_get_array_size(ndr, &r->in.sharename);
++ length_sharename_1 = ndr_get_array_length(ndr, &r->in.sharename);
++ if (length_sharename_1 > size_sharename_1) {
++ return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_sharename_1, length_sharename_1);
+ }
+- NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.sharename), sizeof(uint16_t)));
+- NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.sharename, ndr_get_array_length(ndr, &r->in.sharename), sizeof(uint16_t), CH_UTF16));
++ NDR_CHECK(ndr_check_string_terminator(ndr, length_sharename_1, sizeof(uint16_t)));
++ NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.sharename, length_sharename_1, sizeof(uint16_t), CH_UTF16));
+ NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sharename_0, 0);
+ }
+ }
+@@ -3714,19 +3836,27 @@ static enum ndr_err_code ndr_push_dfs_SetInfo(struct ndr_push *ndr, int flags, c
+
+ static enum ndr_err_code ndr_pull_dfs_SetInfo(struct ndr_pull *ndr, int flags, struct dfs_SetInfo *r)
+ {
++ uint32_t size_dfs_entry_path_0 = 0;
++ uint32_t length_dfs_entry_path_0 = 0;
+ uint32_t _ptr_servername;
++ uint32_t size_servername_1 = 0;
++ uint32_t length_servername_1 = 0;
+ uint32_t _ptr_sharename;
++ uint32_t size_sharename_1 = 0;
++ uint32_t length_sharename_1 = 0;
+ TALLOC_CTX *_mem_save_servername_0;
+ TALLOC_CTX *_mem_save_sharename_0;
+ TALLOC_CTX *_mem_save_info_0;
+ if (flags & NDR_IN) {
+ NDR_CHECK(ndr_pull_array_size(ndr, &r->in.dfs_entry_path));
+ NDR_CHECK(ndr_pull_array_length(ndr, &r->in.dfs_entry_path));
+- if (ndr_get_array_length(ndr, &r->in.dfs_entry_path) > ndr_get_array_size(ndr, &r->in.dfs_entry_path)) {
+- return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.dfs_entry_path), ndr_get_array_length(ndr, &r->in.dfs_entry_path));
++ size_dfs_entry_path_0 = ndr_get_array_size(ndr, &r->in.dfs_entry_path);
++ length_dfs_entry_path_0 = ndr_get_array_length(ndr, &r->in.dfs_entry_path);
++ if (length_dfs_entry_path_0 > size_dfs_entry_path_0) {
++ return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_dfs_entry_path_0, length_dfs_entry_path_0);
+ }
+- NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.dfs_entry_path), sizeof(uint16_t)));
+- NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.dfs_entry_path, ndr_get_array_length(ndr, &r->in.dfs_entry_path), sizeof(uint16_t), CH_UTF16));
++ NDR_CHECK(ndr_check_string_terminator(ndr, length_dfs_entry_path_0, sizeof(uint16_t)));
++ NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.dfs_entry_path, length_dfs_entry_path_0, sizeof(uint16_t), CH_UTF16));
+ NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_servername));
+ if (_ptr_servername) {
+ NDR_PULL_ALLOC(ndr, r->in.servername);
+@@ -3738,11 +3868,13 @@ static enum ndr_err_code ndr_pull_dfs_SetInfo(struct ndr_pull *ndr, int flags, s
+ NDR_PULL_SET_MEM_CTX(ndr, r->in.servername, 0);
+ NDR_CHECK(ndr_pull_array_size(ndr, &r->in.servername));
+ NDR_CHECK(ndr_pull_array_length(ndr, &r->in.servername));
+- if (ndr_get_array_length(ndr, &r->in.servername) > ndr_get_array_size(ndr, &r->in.servername)) {
+- return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.servername), ndr_get_array_length(ndr, &r->in.servername));
++ size_servername_1 = ndr_get_array_size(ndr, &r->in.servername);
++ length_servername_1 = ndr_get_array_length(ndr, &r->in.servername);
++ if (length_servername_1 > size_servername_1) {
++ return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_servername_1, length_servername_1);
+ }
+- NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.servername), sizeof(uint16_t)));
+- NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.servername, ndr_get_array_length(ndr, &r->in.servername), sizeof(uint16_t), CH_UTF16));
++ NDR_CHECK(ndr_check_string_terminator(ndr, length_servername_1, sizeof(uint16_t)));
++ NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.servername, length_servername_1, sizeof(uint16_t), CH_UTF16));
+ NDR_PULL_SET_MEM_CTX(ndr, _mem_save_servername_0, 0);
+ }
+ NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_sharename));
+@@ -3756,11 +3888,13 @@ static enum ndr_err_code ndr_pull_dfs_SetInfo(struct ndr_pull *ndr, int flags, s
+ NDR_PULL_SET_MEM_CTX(ndr, r->in.sharename, 0);
+ NDR_CHECK(ndr_pull_array_size(ndr, &r->in.sharename));
+ NDR_CHECK(ndr_pull_array_length(ndr, &r->in.sharename));
+- if (ndr_get_array_length(ndr, &r->in.sharename) > ndr_get_array_size(ndr, &r->in.sharename)) {
+- return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.sharename), ndr_get_array_length(ndr, &r->in.sharename));
++ size_sharename_1 = ndr_get_array_size(ndr, &r->in.sharename);
++ length_sharename_1 = ndr_get_array_length(ndr, &r->in.sharename);
++ if (length_sharename_1 > size_sharename_1) {
++ return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_sharename_1, length_sharename_1);
+ }
+- NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.sharename), sizeof(uint16_t)));
+- NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.sharename, ndr_get_array_length(ndr, &r->in.sharename), sizeof(uint16_t), CH_UTF16));
++ NDR_CHECK(ndr_check_string_terminator(ndr, length_sharename_1, sizeof(uint16_t)));
++ NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.sharename, length_sharename_1, sizeof(uint16_t), CH_UTF16));
+ NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sharename_0, 0);
+ }
+ NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.level));
+@@ -3855,8 +3989,14 @@ static enum ndr_err_code ndr_push_dfs_GetInfo(struct ndr_push *ndr, int flags, c
+
+ static enum ndr_err_code ndr_pull_dfs_GetInfo(struct ndr_pull *ndr, int flags, struct dfs_GetInfo *r)
+ {
++ uint32_t size_dfs_entry_path_0 = 0;
++ uint32_t length_dfs_entry_path_0 = 0;
+ uint32_t _ptr_servername;
++ uint32_t size_servername_1 = 0;
++ uint32_t length_servername_1 = 0;
+ uint32_t _ptr_sharename;
++ uint32_t size_sharename_1 = 0;
++ uint32_t length_sharename_1 = 0;
+ TALLOC_CTX *_mem_save_servername_0;
+ TALLOC_CTX *_mem_save_sharename_0;
+ TALLOC_CTX *_mem_save_info_0;
+@@ -3865,11 +4005,13 @@ static enum ndr_err_code ndr_pull_dfs_GetInfo(struct ndr_pull *ndr, int flags, s
+
+ NDR_CHECK(ndr_pull_array_size(ndr, &r->in.dfs_entry_path));
+ NDR_CHECK(ndr_pull_array_length(ndr, &r->in.dfs_entry_path));
+- if (ndr_get_array_length(ndr, &r->in.dfs_entry_path) > ndr_get_array_size(ndr, &r->in.dfs_entry_path)) {
+- return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.dfs_entry_path), ndr_get_array_length(ndr, &r->in.dfs_entry_path));
++ size_dfs_entry_path_0 = ndr_get_array_size(ndr, &r->in.dfs_entry_path);
++ length_dfs_entry_path_0 = ndr_get_array_length(ndr, &r->in.dfs_entry_path);
++ if (length_dfs_entry_path_0 > size_dfs_entry_path_0) {
++ return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_dfs_entry_path_0, length_dfs_entry_path_0);
+ }
+- NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.dfs_entry_path), sizeof(uint16_t)));
+- NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.dfs_entry_path, ndr_get_array_length(ndr, &r->in.dfs_entry_path), sizeof(uint16_t), CH_UTF16));
++ NDR_CHECK(ndr_check_string_terminator(ndr, length_dfs_entry_path_0, sizeof(uint16_t)));
++ NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.dfs_entry_path, length_dfs_entry_path_0, sizeof(uint16_t), CH_UTF16));
+ NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_servername));
+ if (_ptr_servername) {
+ NDR_PULL_ALLOC(ndr, r->in.servername);
+@@ -3881,11 +4023,13 @@ static enum ndr_err_code ndr_pull_dfs_GetInfo(struct ndr_pull *ndr, int flags, s
+ NDR_PULL_SET_MEM_CTX(ndr, r->in.servername, 0);
+ NDR_CHECK(ndr_pull_array_size(ndr, &r->in.servername));
+ NDR_CHECK(ndr_pull_array_length(ndr, &r->in.servername));
+- if (ndr_get_array_length(ndr, &r->in.servername) > ndr_get_array_size(ndr, &r->in.servername)) {
+- return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.servername), ndr_get_array_length(ndr, &r->in.servername));
++ size_servername_1 = ndr_get_array_size(ndr, &r->in.servername);
++ length_servername_1 = ndr_get_array_length(ndr, &r->in.servername);
++ if (length_servername_1 > size_servername_1) {
++ return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_servername_1, length_servername_1);
+ }
+- NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.servername), sizeof(uint16_t)));
+- NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.servername, ndr_get_array_length(ndr, &r->in.servername), sizeof(uint16_t), CH_UTF16));
++ NDR_CHECK(ndr_check_string_terminator(ndr, length_servername_1, sizeof(uint16_t)));
++ NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.servername, length_servername_1, sizeof(uint16_t), CH_UTF16));
+ NDR_PULL_SET_MEM_CTX(ndr, _mem_save_servername_0, 0);
+ }
+ NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_sharename));
+@@ -3899,11 +4043,13 @@ static enum ndr_err_code ndr_pull_dfs_GetInfo(struct ndr_pull *ndr, int flags, s
+ NDR_PULL_SET_MEM_CTX(ndr, r->in.sharename, 0);
+ NDR_CHECK(ndr_pull_array_size(ndr, &r->in.sharename));
+ NDR_CHECK(ndr_pull_array_length(ndr, &r->in.sharename));
+- if (ndr_get_array_length(ndr, &r->in.sharename) > ndr_get_array_size(ndr, &r->in.sharename)) {
+- return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.sharename), ndr_get_array_length(ndr, &r->in.sharename));
++ size_sharename_1 = ndr_get_array_size(ndr, &r->in.sharename);
++ length_sharename_1 = ndr_get_array_length(ndr, &r->in.sharename);
++ if (length_sharename_1 > size_sharename_1) {
++ return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_sharename_1, length_sharename_1);
+ }
+- NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.sharename), sizeof(uint16_t)));
+- NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.sharename, ndr_get_array_length(ndr, &r->in.sharename), sizeof(uint16_t), CH_UTF16));
++ NDR_CHECK(ndr_check_string_terminator(ndr, length_sharename_1, sizeof(uint16_t)));
++ NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.sharename, length_sharename_1, sizeof(uint16_t), CH_UTF16));
+ NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sharename_0, 0);
+ }
+ NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.level));
+@@ -4321,6 +4467,18 @@ static enum ndr_err_code ndr_push_dfs_AddFtRoot(struct ndr_push *ndr, int flags,
+
+ static enum ndr_err_code ndr_pull_dfs_AddFtRoot(struct ndr_pull *ndr, int flags, struct dfs_AddFtRoot *r)
+ {
++ uint32_t size_servername_0 = 0;
++ uint32_t length_servername_0 = 0;
++ uint32_t size_dns_servername_0 = 0;
++ uint32_t length_dns_servername_0 = 0;
++ uint32_t size_dfsname_0 = 0;
++ uint32_t length_dfsname_0 = 0;
++ uint32_t size_rootshare_0 = 0;
++ uint32_t length_rootshare_0 = 0;
++ uint32_t size_comment_0 = 0;
++ uint32_t length_comment_0 = 0;
++ uint32_t size_dfs_config_dn_0 = 0;
++ uint32_t length_dfs_config_dn_0 = 0;
+ uint32_t _ptr_unknown2;
+ TALLOC_CTX *_mem_save_unknown2_0;
+ TALLOC_CTX *_mem_save_unknown2_1;
+@@ -4329,46 +4487,58 @@ static enum ndr_err_code ndr_pull_dfs_AddFtRoot(struct ndr_pull *ndr, int flags,
+
+ NDR_CHECK(ndr_pull_array_size(ndr, &r->in.servername));
+ NDR_CHECK(ndr_pull_array_length(ndr, &r->in.servername));
+- if (ndr_get_array_length(ndr, &r->in.servername) > ndr_get_array_size(ndr, &r->in.servername)) {
+- return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.servername), ndr_get_array_length(ndr, &r->in.servername));
++ size_servername_0 = ndr_get_array_size(ndr, &r->in.servername);
++ length_servername_0 = ndr_get_array_length(ndr, &r->in.servername);
++ if (length_servername_0 > size_servername_0) {
++ return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_servername_0, length_servername_0);
+ }
+- NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.servername), sizeof(uint16_t)));
+- NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.servername, ndr_get_array_length(ndr, &r->in.servername), sizeof(uint16_t), CH_UTF16));
++ NDR_CHECK(ndr_check_string_terminator(ndr, length_servername_0, sizeof(uint16_t)));
++ NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.servername, length_servername_0, sizeof(uint16_t), CH_UTF16));
+ NDR_CHECK(ndr_pull_array_size(ndr, &r->in.dns_servername));
+ NDR_CHECK(ndr_pull_array_length(ndr, &r->in.dns_servername));
+- if (ndr_get_array_length(ndr, &r->in.dns_servername) > ndr_get_array_size(ndr, &r->in.dns_servername)) {
+- return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.dns_servername), ndr_get_array_length(ndr, &r->in.dns_servername));
++ size_dns_servername_0 = ndr_get_array_size(ndr, &r->in.dns_servername);
++ length_dns_servername_0 = ndr_get_array_length(ndr, &r->in.dns_servername);
++ if (length_dns_servername_0 > size_dns_servername_0) {
++ return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_dns_servername_0, length_dns_servername_0);
+ }
+- NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.dns_servername), sizeof(uint16_t)));
+- NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.dns_servername, ndr_get_array_length(ndr, &r->in.dns_servername), sizeof(uint16_t), CH_UTF16));
++ NDR_CHECK(ndr_check_string_terminator(ndr, length_dns_servername_0, sizeof(uint16_t)));
++ NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.dns_servername, length_dns_servername_0, sizeof(uint16_t), CH_UTF16));
+ NDR_CHECK(ndr_pull_array_size(ndr, &r->in.dfsname));
+ NDR_CHECK(ndr_pull_array_length(ndr, &r->in.dfsname));
+- if (ndr_get_array_length(ndr, &r->in.dfsname) > ndr_get_array_size(ndr, &r->in.dfsname)) {
+- return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.dfsname), ndr_get_array_length(ndr, &r->in.dfsname));
++ size_dfsname_0 = ndr_get_array_size(ndr, &r->in.dfsname);
++ length_dfsname_0 = ndr_get_array_length(ndr, &r->in.dfsname);
++ if (length_dfsname_0 > size_dfsname_0) {
++ return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_dfsname_0, length_dfsname_0);
+ }
+- NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.dfsname), sizeof(uint16_t)));
+- NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.dfsname, ndr_get_array_length(ndr, &r->in.dfsname), sizeof(uint16_t), CH_UTF16));
++ NDR_CHECK(ndr_check_string_terminator(ndr, length_dfsname_0, sizeof(uint16_t)));
++ NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.dfsname, length_dfsname_0, sizeof(uint16_t), CH_UTF16));
+ NDR_CHECK(ndr_pull_array_size(ndr, &r->in.rootshare));
+ NDR_CHECK(ndr_pull_array_length(ndr, &r->in.rootshare));
+- if (ndr_get_array_length(ndr, &r->in.rootshare) > ndr_get_array_size(ndr, &r->in.rootshare)) {
+- return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.rootshare), ndr_get_array_length(ndr, &r->in.rootshare));
++ size_rootshare_0 = ndr_get_array_size(ndr, &r->in.rootshare);
++ length_rootshare_0 = ndr_get_array_length(ndr, &r->in.rootshare);
++ if (length_rootshare_0 > size_rootshare_0) {
++ return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_rootshare_0, length_rootshare_0);
+ }
+- NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.rootshare), sizeof(uint16_t)));
+- NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.rootshare, ndr_get_array_length(ndr, &r->in.rootshare), sizeof(uint16_t), CH_UTF16));
++ NDR_CHECK(ndr_check_string_terminator(ndr, length_rootshare_0, sizeof(uint16_t)));
++ NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.rootshare, length_rootshare_0, sizeof(uint16_t), CH_UTF16));
+ NDR_CHECK(ndr_pull_array_size(ndr, &r->in.comment));
+ NDR_CHECK(ndr_pull_array_length(ndr, &r->in.comment));
+- if (ndr_get_array_length(ndr, &r->in.comment) > ndr_get_array_size(ndr, &r->in.comment)) {
+- return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.comment), ndr_get_array_length(ndr, &r->in.comment));
++ size_comment_0 = ndr_get_array_size(ndr, &r->in.comment);
++ length_comment_0 = ndr_get_array_length(ndr, &r->in.comment);
++ if (length_comment_0 > size_comment_0) {
++ return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_comment_0, length_comment_0);
+ }
+- NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.comment), sizeof(uint16_t)));
+- NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.comment, ndr_get_array_length(ndr, &r->in.comment), sizeof(uint16_t), CH_UTF16));
++ NDR_CHECK(ndr_check_string_terminator(ndr, length_comment_0, sizeof(uint16_t)));
++ NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.comment, length_comment_0, sizeof(uint16_t), CH_UTF16));
+ NDR_CHECK(ndr_pull_array_size(ndr, &r->in.dfs_config_dn));
+ NDR_CHECK(ndr_pull_array_length(ndr, &r->in.dfs_config_dn));
+- if (ndr_get_array_length(ndr, &r->in.dfs_config_dn) > ndr_get_array_size(ndr, &r->in.dfs_config_dn)) {
+- return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.dfs_config_dn), ndr_get_array_length(ndr, &r->in.dfs_config_dn));
++ size_dfs_config_dn_0 = ndr_get_array_size(ndr, &r->in.dfs_config_dn);
++ length_dfs_config_dn_0 = ndr_get_array_length(ndr, &r->in.dfs_config_dn);
++ if (length_dfs_config_dn_0 > size_dfs_config_dn_0) {
++ return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_dfs_config_dn_0, length_dfs_config_dn_0);
+ }
+- NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.dfs_config_dn), sizeof(uint16_t)));
+- NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.dfs_config_dn, ndr_get_array_length(ndr, &r->in.dfs_config_dn), sizeof(uint16_t), CH_UTF16));
++ NDR_CHECK(ndr_check_string_terminator(ndr, length_dfs_config_dn_0, sizeof(uint16_t)));
++ NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.dfs_config_dn, length_dfs_config_dn_0, sizeof(uint16_t), CH_UTF16));
+ NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, &r->in.unknown1));
+ NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.flags));
+ NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_unknown2));
+@@ -4518,6 +4688,14 @@ static enum ndr_err_code ndr_push_dfs_RemoveFtRoot(struct ndr_push *ndr, int fla
+
+ static enum ndr_err_code ndr_pull_dfs_RemoveFtRoot(struct ndr_pull *ndr, int flags, struct dfs_RemoveFtRoot *r)
+ {
++ uint32_t size_servername_0 = 0;
++ uint32_t length_servername_0 = 0;
++ uint32_t size_dns_servername_0 = 0;
++ uint32_t length_dns_servername_0 = 0;
++ uint32_t size_dfsname_0 = 0;
++ uint32_t length_dfsname_0 = 0;
++ uint32_t size_rootshare_0 = 0;
++ uint32_t length_rootshare_0 = 0;
+ uint32_t _ptr_unknown;
+ TALLOC_CTX *_mem_save_unknown_0;
+ TALLOC_CTX *_mem_save_unknown_1;
+@@ -4526,32 +4704,40 @@ static enum ndr_err_code ndr_pull_dfs_RemoveFtRoot(struct ndr_pull *ndr, int fla
+
+ NDR_CHECK(ndr_pull_array_size(ndr, &r->in.servername));
+ NDR_CHECK(ndr_pull_array_length(ndr, &r->in.servername));
+- if (ndr_get_array_length(ndr, &r->in.servername) > ndr_get_array_size(ndr, &r->in.servername)) {
+- return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.servername), ndr_get_array_length(ndr, &r->in.servername));
++ size_servername_0 = ndr_get_array_size(ndr, &r->in.servername);
++ length_servername_0 = ndr_get_array_length(ndr, &r->in.servername);
++ if (length_servername_0 > size_servername_0) {
++ return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_servername_0, length_servername_0);
+ }
+- NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.servername), sizeof(uint16_t)));
+- NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.servername, ndr_get_array_length(ndr, &r->in.servername), sizeof(uint16_t), CH_UTF16));
++ NDR_CHECK(ndr_check_string_terminator(ndr, length_servername_0, sizeof(uint16_t)));
++ NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.servername, length_servername_0, sizeof(uint16_t), CH_UTF16));
+ NDR_CHECK(ndr_pull_array_size(ndr, &r->in.dns_servername));
+ NDR_CHECK(ndr_pull_array_length(ndr, &r->in.dns_servername));
+- if (ndr_get_array_length(ndr, &r->in.dns_servername) > ndr_get_array_size(ndr, &r->in.dns_servername)) {
+- return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.dns_servername), ndr_get_array_length(ndr, &r->in.dns_servername));
++ size_dns_servername_0 = ndr_get_array_size(ndr, &r->in.dns_servername);
++ length_dns_servername_0 = ndr_get_array_length(ndr, &r->in.dns_servername);
++ if (length_dns_servername_0 > size_dns_servername_0) {
++ return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_dns_servername_0, length_dns_servername_0);
+ }
+- NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.dns_servername), sizeof(uint16_t)));
+- NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.dns_servername, ndr_get_array_length(ndr, &r->in.dns_servername), sizeof(uint16_t), CH_UTF16));
++ NDR_CHECK(ndr_check_string_terminator(ndr, length_dns_servername_0, sizeof(uint16_t)));
++ NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.dns_servername, length_dns_servername_0, sizeof(uint16_t), CH_UTF16));
+ NDR_CHECK(ndr_pull_array_size(ndr, &r->in.dfsname));
+ NDR_CHECK(ndr_pull_array_length(ndr, &r->in.dfsname));
+- if (ndr_get_array_length(ndr, &r->in.dfsname) > ndr_get_array_size(ndr, &r->in.dfsname)) {
+- return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.dfsname), ndr_get_array_length(ndr, &r->in.dfsname));
++ size_dfsname_0 = ndr_get_array_size(ndr, &r->in.dfsname);
++ length_dfsname_0 = ndr_get_array_length(ndr, &r->in.dfsname);
++ if (length_dfsname_0 > size_dfsname_0) {
++ return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_dfsname_0, length_dfsname_0);
+ }
+- NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.dfsname), sizeof(uint16_t)));
+- NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.dfsname, ndr_get_array_length(ndr, &r->in.dfsname), sizeof(uint16_t), CH_UTF16));
++ NDR_CHECK(ndr_check_string_terminator(ndr, length_dfsname_0, sizeof(uint16_t)));
++ NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.dfsname, length_dfsname_0, sizeof(uint16_t), CH_UTF16));
+ NDR_CHECK(ndr_pull_array_size(ndr, &r->in.rootshare));
+ NDR_CHECK(ndr_pull_array_length(ndr, &r->in.rootshare));
+- if (ndr_get_array_length(ndr, &r->in.rootshare) > ndr_get_array_size(ndr, &r->in.rootshare)) {
+- return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.rootshare), ndr_get_array_length(ndr, &r->in.rootshare));
++ size_rootshare_0 = ndr_get_array_size(ndr, &r->in.rootshare);
++ length_rootshare_0 = ndr_get_array_length(ndr, &r->in.rootshare);
++ if (length_rootshare_0 > size_rootshare_0) {
++ return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_rootshare_0, length_rootshare_0);
+ }
+- NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.rootshare), sizeof(uint16_t)));
+- NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.rootshare, ndr_get_array_length(ndr, &r->in.rootshare), sizeof(uint16_t), CH_UTF16));
++ NDR_CHECK(ndr_check_string_terminator(ndr, length_rootshare_0, sizeof(uint16_t)));
++ NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.rootshare, length_rootshare_0, sizeof(uint16_t), CH_UTF16));
+ NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.flags));
+ NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_unknown));
+ if (_ptr_unknown) {
+@@ -4679,28 +4865,40 @@ static enum ndr_err_code ndr_push_dfs_AddStdRoot(struct ndr_push *ndr, int flags
+
+ static enum ndr_err_code ndr_pull_dfs_AddStdRoot(struct ndr_pull *ndr, int flags, struct dfs_AddStdRoot *r)
+ {
++ uint32_t size_servername_0 = 0;
++ uint32_t length_servername_0 = 0;
++ uint32_t size_rootshare_0 = 0;
++ uint32_t length_rootshare_0 = 0;
++ uint32_t size_comment_0 = 0;
++ uint32_t length_comment_0 = 0;
+ if (flags & NDR_IN) {
+ NDR_CHECK(ndr_pull_array_size(ndr, &r->in.servername));
+ NDR_CHECK(ndr_pull_array_length(ndr, &r->in.servername));
+- if (ndr_get_array_length(ndr, &r->in.servername) > ndr_get_array_size(ndr, &r->in.servername)) {
+- return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.servername), ndr_get_array_length(ndr, &r->in.servername));
++ size_servername_0 = ndr_get_array_size(ndr, &r->in.servername);
++ length_servername_0 = ndr_get_array_length(ndr, &r->in.servername);
++ if (length_servername_0 > size_servername_0) {
++ return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_servername_0, length_servername_0);
+ }
+- NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.servername), sizeof(uint16_t)));
+- NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.servername, ndr_get_array_length(ndr, &r->in.servername), sizeof(uint16_t), CH_UTF16));
++ NDR_CHECK(ndr_check_string_terminator(ndr, length_servername_0, sizeof(uint16_t)));
++ NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.servername, length_servername_0, sizeof(uint16_t), CH_UTF16));
+ NDR_CHECK(ndr_pull_array_size(ndr, &r->in.rootshare));
+ NDR_CHECK(ndr_pull_array_length(ndr, &r->in.rootshare));
+- if (ndr_get_array_length(ndr, &r->in.rootshare) > ndr_get_array_size(ndr, &r->in.rootshare)) {
+- return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.rootshare), ndr_get_array_length(ndr, &r->in.rootshare));
++ size_rootshare_0 = ndr_get_array_size(ndr, &r->in.rootshare);
++ length_rootshare_0 = ndr_get_array_length(ndr, &r->in.rootshare);
++ if (length_rootshare_0 > size_rootshare_0) {
++ return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_rootshare_0, length_rootshare_0);
+ }
+- NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.rootshare), sizeof(uint16_t)));
+- NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.rootshare, ndr_get_array_length(ndr, &r->in.rootshare), sizeof(uint16_t), CH_UTF16));
++ NDR_CHECK(ndr_check_string_terminator(ndr, length_rootshare_0, sizeof(uint16_t)));
++ NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.rootshare, length_rootshare_0, sizeof(uint16_t), CH_UTF16));
+ NDR_CHECK(ndr_pull_array_size(ndr, &r->in.comment));
+ NDR_CHECK(ndr_pull_array_length(ndr, &r->in.comment));
+- if (ndr_get_array_length(ndr, &r->in.comment) > ndr_get_array_size(ndr, &r->in.comment)) {
+- return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.comment), ndr_get_array_length(ndr, &r->in.comment));
++ size_comment_0 = ndr_get_array_size(ndr, &r->in.comment);
++ length_comment_0 = ndr_get_array_length(ndr, &r->in.comment);
++ if (length_comment_0 > size_comment_0) {
++ return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_comment_0, length_comment_0);
+ }
+- NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.comment), sizeof(uint16_t)));
+- NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.comment, ndr_get_array_length(ndr, &r->in.comment), sizeof(uint16_t), CH_UTF16));
++ NDR_CHECK(ndr_check_string_terminator(ndr, length_comment_0, sizeof(uint16_t)));
++ NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.comment, length_comment_0, sizeof(uint16_t), CH_UTF16));
+ NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.flags));
+ }
+ if (flags & NDR_OUT) {
+@@ -4755,21 +4953,29 @@ static enum ndr_err_code ndr_push_dfs_RemoveStdRoot(struct ndr_push *ndr, int fl
+
+ static enum ndr_err_code ndr_pull_dfs_RemoveStdRoot(struct ndr_pull *ndr, int flags, struct dfs_RemoveStdRoot *r)
+ {
++ uint32_t size_servername_0 = 0;
++ uint32_t length_servername_0 = 0;
++ uint32_t size_rootshare_0 = 0;
++ uint32_t length_rootshare_0 = 0;
+ if (flags & NDR_IN) {
+ NDR_CHECK(ndr_pull_array_size(ndr, &r->in.servername));
+ NDR_CHECK(ndr_pull_array_length(ndr, &r->in.servername));
+- if (ndr_get_array_length(ndr, &r->in.servername) > ndr_get_array_size(ndr, &r->in.servername)) {
+- return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.servername), ndr_get_array_length(ndr, &r->in.servername));
++ size_servername_0 = ndr_get_array_size(ndr, &r->in.servername);
++ length_servername_0 = ndr_get_array_length(ndr, &r->in.servername);
++ if (length_servername_0 > size_servername_0) {
++ return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_servername_0, length_servername_0);
+ }
+- NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.servername), sizeof(uint16_t)));
+- NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.servername, ndr_get_array_length(ndr, &r->in.servername), sizeof(uint16_t), CH_UTF16));
++ NDR_CHECK(ndr_check_string_terminator(ndr, length_servername_0, sizeof(uint16_t)));
++ NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.servername, length_servername_0, sizeof(uint16_t), CH_UTF16));
+ NDR_CHECK(ndr_pull_array_size(ndr, &r->in.rootshare));
+ NDR_CHECK(ndr_pull_array_length(ndr, &r->in.rootshare));
+- if (ndr_get_array_length(ndr, &r->in.rootshare) > ndr_get_array_size(ndr, &r->in.rootshare)) {
+- return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.rootshare), ndr_get_array_length(ndr, &r->in.rootshare));
++ size_rootshare_0 = ndr_get_array_size(ndr, &r->in.rootshare);
++ length_rootshare_0 = ndr_get_array_length(ndr, &r->in.rootshare);
++ if (length_rootshare_0 > size_rootshare_0) {
++ return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_rootshare_0, length_rootshare_0);
+ }
+- NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.rootshare), sizeof(uint16_t)));
+- NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.rootshare, ndr_get_array_length(ndr, &r->in.rootshare), sizeof(uint16_t), CH_UTF16));
++ NDR_CHECK(ndr_check_string_terminator(ndr, length_rootshare_0, sizeof(uint16_t)));
++ NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.rootshare, length_rootshare_0, sizeof(uint16_t), CH_UTF16));
+ NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.flags));
+ }
+ if (flags & NDR_OUT) {
+@@ -4822,14 +5028,18 @@ static enum ndr_err_code ndr_push_dfs_ManagerInitialize(struct ndr_push *ndr, in
+
+ static enum ndr_err_code ndr_pull_dfs_ManagerInitialize(struct ndr_pull *ndr, int flags, struct dfs_ManagerInitialize *r)
+ {
++ uint32_t size_servername_1 = 0;
++ uint32_t length_servername_1 = 0;
+ if (flags & NDR_IN) {
+ NDR_CHECK(ndr_pull_array_size(ndr, &r->in.servername));
+ NDR_CHECK(ndr_pull_array_length(ndr, &r->in.servername));
+- if (ndr_get_array_length(ndr, &r->in.servername) > ndr_get_array_size(ndr, &r->in.servername)) {
+- return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.servername), ndr_get_array_length(ndr, &r->in.servername));
++ size_servername_1 = ndr_get_array_size(ndr, &r->in.servername);
++ length_servername_1 = ndr_get_array_length(ndr, &r->in.servername);
++ if (length_servername_1 > size_servername_1) {
++ return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_servername_1, length_servername_1);
+ }
+- NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.servername), sizeof(uint16_t)));
+- NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.servername, ndr_get_array_length(ndr, &r->in.servername), sizeof(uint16_t), CH_UTF16));
++ NDR_CHECK(ndr_check_string_terminator(ndr, length_servername_1, sizeof(uint16_t)));
++ NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.servername, length_servername_1, sizeof(uint16_t), CH_UTF16));
+ NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.flags));
+ }
+ if (flags & NDR_OUT) {
+@@ -4892,35 +5102,51 @@ static enum ndr_err_code ndr_push_dfs_AddStdRootForced(struct ndr_push *ndr, int
+
+ static enum ndr_err_code ndr_pull_dfs_AddStdRootForced(struct ndr_pull *ndr, int flags, struct dfs_AddStdRootForced *r)
+ {
++ uint32_t size_servername_0 = 0;
++ uint32_t length_servername_0 = 0;
++ uint32_t size_rootshare_0 = 0;
++ uint32_t length_rootshare_0 = 0;
++ uint32_t size_comment_0 = 0;
++ uint32_t length_comment_0 = 0;
++ uint32_t size_store_0 = 0;
++ uint32_t length_store_0 = 0;
+ if (flags & NDR_IN) {
+ NDR_CHECK(ndr_pull_array_size(ndr, &r->in.servername));
+ NDR_CHECK(ndr_pull_array_length(ndr, &r->in.servername));
+- if (ndr_get_array_length(ndr, &r->in.servername) > ndr_get_array_size(ndr, &r->in.servername)) {
+- return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.servername), ndr_get_array_length(ndr, &r->in.servername));
++ size_servername_0 = ndr_get_array_size(ndr, &r->in.servername);
++ length_servername_0 = ndr_get_array_length(ndr, &r->in.servername);
++ if (length_servername_0 > size_servername_0) {
++ return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_servername_0, length_servername_0);
+ }
+- NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.servername), sizeof(uint16_t)));
+- NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.servername, ndr_get_array_length(ndr, &r->in.servername), sizeof(uint16_t), CH_UTF16));
++ NDR_CHECK(ndr_check_string_terminator(ndr, length_servername_0, sizeof(uint16_t)));
++ NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.servername, length_servername_0, sizeof(uint16_t), CH_UTF16));
+ NDR_CHECK(ndr_pull_array_size(ndr, &r->in.rootshare));
+ NDR_CHECK(ndr_pull_array_length(ndr, &r->in.rootshare));
+- if (ndr_get_array_length(ndr, &r->in.rootshare) > ndr_get_array_size(ndr, &r->in.rootshare)) {
+- return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.rootshare), ndr_get_array_length(ndr, &r->in.rootshare));
++ size_rootshare_0 = ndr_get_array_size(ndr, &r->in.rootshare);
++ length_rootshare_0 = ndr_get_array_length(ndr, &r->in.rootshare);
++ if (length_rootshare_0 > size_rootshare_0) {
++ return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_rootshare_0, length_rootshare_0);
+ }
+- NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.rootshare), sizeof(uint16_t)));
+- NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.rootshare, ndr_get_array_length(ndr, &r->in.rootshare), sizeof(uint16_t), CH_UTF16));
++ NDR_CHECK(ndr_check_string_terminator(ndr, length_rootshare_0, sizeof(uint16_t)));
++ NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.rootshare, length_rootshare_0, sizeof(uint16_t), CH_UTF16));
+ NDR_CHECK(ndr_pull_array_size(ndr, &r->in.comment));
+ NDR_CHECK(ndr_pull_array_length(ndr, &r->in.comment));
+- if (ndr_get_array_length(ndr, &r->in.comment) > ndr_get_array_size(ndr, &r->in.comment)) {
+- return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.comment), ndr_get_array_length(ndr, &r->in.comment));
++ size_comment_0 = ndr_get_array_size(ndr, &r->in.comment);
++ length_comment_0 = ndr_get_array_length(ndr, &r->in.comment);
++ if (length_comment_0 > size_comment_0) {
++ return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_comment_0, length_comment_0);
+ }
+- NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.comment), sizeof(uint16_t)));
+- NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.comment, ndr_get_array_length(ndr, &r->in.comment), sizeof(uint16_t), CH_UTF16));
++ NDR_CHECK(ndr_check_string_terminator(ndr, length_comment_0, sizeof(uint16_t)));
++ NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.comment, length_comment_0, sizeof(uint16_t), CH_UTF16));
+ NDR_CHECK(ndr_pull_array_size(ndr, &r->in.store));
+ NDR_CHECK(ndr_pull_array_length(ndr, &r->in.store));
+- if (ndr_get_array_length(ndr, &r->in.store) > ndr_get_array_size(ndr, &r->in.store)) {
+- return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.store), ndr_get_array_length(ndr, &r->in.store));
++ size_store_0 = ndr_get_array_size(ndr, &r->in.store);
++ length_store_0 = ndr_get_array_length(ndr, &r->in.store);
++ if (length_store_0 > size_store_0) {
++ return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_store_0, length_store_0);
+ }
+- NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.store), sizeof(uint16_t)));
+- NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.store, ndr_get_array_length(ndr, &r->in.store), sizeof(uint16_t), CH_UTF16));
++ NDR_CHECK(ndr_check_string_terminator(ndr, length_store_0, sizeof(uint16_t)));
++ NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.store, length_store_0, sizeof(uint16_t), CH_UTF16));
+ }
+ if (flags & NDR_OUT) {
+ NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
+@@ -5005,7 +5231,11 @@ static enum ndr_err_code ndr_push_dfs_GetDcAddress(struct ndr_push *ndr, int fla
+
+ static enum ndr_err_code ndr_pull_dfs_GetDcAddress(struct ndr_pull *ndr, int flags, struct dfs_GetDcAddress *r)
+ {
++ uint32_t size_servername_0 = 0;
++ uint32_t length_servername_0 = 0;
+ uint32_t _ptr_server_fullname;
++ uint32_t size_server_fullname_2 = 0;
++ uint32_t length_server_fullname_2 = 0;
+ TALLOC_CTX *_mem_save_server_fullname_0;
+ TALLOC_CTX *_mem_save_server_fullname_1;
+ TALLOC_CTX *_mem_save_is_root_0;
+@@ -5015,11 +5245,13 @@ static enum ndr_err_code ndr_pull_dfs_GetDcAddress(struct ndr_pull *ndr, int fla
+
+ NDR_CHECK(ndr_pull_array_size(ndr, &r->in.servername));
+ NDR_CHECK(ndr_pull_array_length(ndr, &r->in.servername));
+- if (ndr_get_array_length(ndr, &r->in.servername) > ndr_get_array_size(ndr, &r->in.servername)) {
+- return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.servername), ndr_get_array_length(ndr, &r->in.servername));
++ size_servername_0 = ndr_get_array_size(ndr, &r->in.servername);
++ length_servername_0 = ndr_get_array_length(ndr, &r->in.servername);
++ if (length_servername_0 > size_servername_0) {
++ return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_servername_0, length_servername_0);
+ }
+- NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.servername), sizeof(uint16_t)));
+- NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.servername, ndr_get_array_length(ndr, &r->in.servername), sizeof(uint16_t), CH_UTF16));
++ NDR_CHECK(ndr_check_string_terminator(ndr, length_servername_0, sizeof(uint16_t)));
++ NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.servername, length_servername_0, sizeof(uint16_t), CH_UTF16));
+ if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
+ NDR_PULL_ALLOC(ndr, r->in.server_fullname);
+ }
+@@ -5036,11 +5268,13 @@ static enum ndr_err_code ndr_pull_dfs_GetDcAddress(struct ndr_pull *ndr, int fla
+ NDR_PULL_SET_MEM_CTX(ndr, *r->in.server_fullname, 0);
+ NDR_CHECK(ndr_pull_array_size(ndr, r->in.server_fullname));
+ NDR_CHECK(ndr_pull_array_length(ndr, r->in.server_fullname));
+- if (ndr_get_array_length(ndr, r->in.server_fullname) > ndr_get_array_size(ndr, r->in.server_fullname)) {
+- return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, r->in.server_fullname), ndr_get_array_length(ndr, r->in.server_fullname));
++ size_server_fullname_2 = ndr_get_array_size(ndr, r->in.server_fullname);
++ length_server_fullname_2 = ndr_get_array_length(ndr, r->in.server_fullname);
++ if (length_server_fullname_2 > size_server_fullname_2) {
++ return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_server_fullname_2, length_server_fullname_2);
+ }
+- NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, r->in.server_fullname), sizeof(uint16_t)));
+- NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, r->in.server_fullname, ndr_get_array_length(ndr, r->in.server_fullname), sizeof(uint16_t), CH_UTF16));
++ NDR_CHECK(ndr_check_string_terminator(ndr, length_server_fullname_2, sizeof(uint16_t)));
++ NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, r->in.server_fullname, length_server_fullname_2, sizeof(uint16_t), CH_UTF16));
+ NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_fullname_1, 0);
+ }
+ NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_fullname_0, LIBNDR_FLAG_REF_ALLOC);
+@@ -5082,11 +5316,13 @@ static enum ndr_err_code ndr_pull_dfs_GetDcAddress(struct ndr_pull *ndr, int fla
+ NDR_PULL_SET_MEM_CTX(ndr, *r->out.server_fullname, 0);
+ NDR_CHECK(ndr_pull_array_size(ndr, r->out.server_fullname));
+ NDR_CHECK(ndr_pull_array_length(ndr, r->out.server_fullname));
+- if (ndr_get_array_length(ndr, r->out.server_fullname) > ndr_get_array_size(ndr, r->out.server_fullname)) {
+- return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, r->out.server_fullname), ndr_get_array_length(ndr, r->out.server_fullname));
++ size_server_fullname_2 = ndr_get_array_size(ndr, r->out.server_fullname);
++ length_server_fullname_2 = ndr_get_array_length(ndr, r->out.server_fullname);
++ if (length_server_fullname_2 > size_server_fullname_2) {
++ return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_server_fullname_2, length_server_fullname_2);
+ }
+- NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, r->out.server_fullname), sizeof(uint16_t)));
+- NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, r->out.server_fullname, ndr_get_array_length(ndr, r->out.server_fullname), sizeof(uint16_t), CH_UTF16));
++ NDR_CHECK(ndr_check_string_terminator(ndr, length_server_fullname_2, sizeof(uint16_t)));
++ NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, r->out.server_fullname, length_server_fullname_2, sizeof(uint16_t), CH_UTF16));
+ NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_fullname_1, 0);
+ }
+ NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_fullname_0, LIBNDR_FLAG_REF_ALLOC);
+@@ -5187,21 +5423,29 @@ static enum ndr_err_code ndr_push_dfs_SetDcAddress(struct ndr_push *ndr, int fla
+
+ static enum ndr_err_code ndr_pull_dfs_SetDcAddress(struct ndr_pull *ndr, int flags, struct dfs_SetDcAddress *r)
+ {
++ uint32_t size_servername_0 = 0;
++ uint32_t length_servername_0 = 0;
++ uint32_t size_server_fullname_0 = 0;
++ uint32_t length_server_fullname_0 = 0;
+ if (flags & NDR_IN) {
+ NDR_CHECK(ndr_pull_array_size(ndr, &r->in.servername));
+ NDR_CHECK(ndr_pull_array_length(ndr, &r->in.servername));
+- if (ndr_get_array_length(ndr, &r->in.servername) > ndr_get_array_size(ndr, &r->in.servername)) {
+- return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.servername), ndr_get_array_length(ndr, &r->in.servername));
++ size_servername_0 = ndr_get_array_size(ndr, &r->in.servername);
++ length_servername_0 = ndr_get_array_length(ndr, &r->in.servername);
++ if (length_servername_0 > size_servername_0) {
++ return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_servername_0, length_servername_0);
+ }
+- NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.servername), sizeof(uint16_t)));
+- NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.servername, ndr_get_array_length(ndr, &r->in.servername), sizeof(uint16_t), CH_UTF16));
++ NDR_CHECK(ndr_check_string_terminator(ndr, length_servername_0, sizeof(uint16_t)));
++ NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.servername, length_servername_0, sizeof(uint16_t), CH_UTF16));
+ NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_fullname));
+ NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_fullname));
+- if (ndr_get_array_length(ndr, &r->in.server_fullname) > ndr_get_array_size(ndr, &r->in.server_fullname)) {
+- return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.server_fullname), ndr_get_array_length(ndr, &r->in.server_fullname));
++ size_server_fullname_0 = ndr_get_array_size(ndr, &r->in.server_fullname);
++ length_server_fullname_0 = ndr_get_array_length(ndr, &r->in.server_fullname);
++ if (length_server_fullname_0 > size_server_fullname_0) {
++ return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_server_fullname_0, length_server_fullname_0);
+ }
+- NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server_fullname), sizeof(uint16_t)));
+- NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.server_fullname, ndr_get_array_length(ndr, &r->in.server_fullname), sizeof(uint16_t), CH_UTF16));
++ NDR_CHECK(ndr_check_string_terminator(ndr, length_server_fullname_0, sizeof(uint16_t)));
++ NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.server_fullname, length_server_fullname_0, sizeof(uint16_t), CH_UTF16));
+ NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.flags));
+ NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.ttl));
+ }
+@@ -5256,21 +5500,29 @@ static enum ndr_err_code ndr_push_dfs_FlushFtTable(struct ndr_push *ndr, int fla
+
+ static enum ndr_err_code ndr_pull_dfs_FlushFtTable(struct ndr_pull *ndr, int flags, struct dfs_FlushFtTable *r)
+ {
++ uint32_t size_servername_0 = 0;
++ uint32_t length_servername_0 = 0;
++ uint32_t size_rootshare_0 = 0;
++ uint32_t length_rootshare_0 = 0;
+ if (flags & NDR_IN) {
+ NDR_CHECK(ndr_pull_array_size(ndr, &r->in.servername));
+ NDR_CHECK(ndr_pull_array_length(ndr, &r->in.servername));
+- if (ndr_get_array_length(ndr, &r->in.servername) > ndr_get_array_size(ndr, &r->in.servername)) {
+- return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.servername), ndr_get_array_length(ndr, &r->in.servername));
++ size_servername_0 = ndr_get_array_size(ndr, &r->in.servername);
++ length_servername_0 = ndr_get_array_length(ndr, &r->in.servername);
++ if (length_servername_0 > size_servername_0) {
++ return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_servername_0, length_servername_0);
+ }
+- NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.servername), sizeof(uint16_t)));
+- NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.servername, ndr_get_array_length(ndr, &r->in.servername), sizeof(uint16_t), CH_UTF16));
++ NDR_CHECK(ndr_check_string_terminator(ndr, length_servername_0, sizeof(uint16_t)));
++ NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.servername, length_servername_0, sizeof(uint16_t), CH_UTF16));
+ NDR_CHECK(ndr_pull_array_size(ndr, &r->in.rootshare));
+ NDR_CHECK(ndr_pull_array_length(ndr, &r->in.rootshare));
+- if (ndr_get_array_length(ndr, &r->in.rootshare) > ndr_get_array_size(ndr, &r->in.rootshare)) {
+- return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.rootshare), ndr_get_array_length(ndr, &r->in.rootshare));
++ size_rootshare_0 = ndr_get_array_size(ndr, &r->in.rootshare);
++ length_rootshare_0 = ndr_get_array_length(ndr, &r->in.rootshare);
++ if (length_rootshare_0 > size_rootshare_0) {
++ return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_rootshare_0, length_rootshare_0);
+ }
+- NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.rootshare), sizeof(uint16_t)));
+- NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.rootshare, ndr_get_array_length(ndr, &r->in.rootshare), sizeof(uint16_t), CH_UTF16));
++ NDR_CHECK(ndr_check_string_terminator(ndr, length_rootshare_0, sizeof(uint16_t)));
++ NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.rootshare, length_rootshare_0, sizeof(uint16_t), CH_UTF16));
+ }
+ if (flags & NDR_OUT) {
+ NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
+@@ -5417,6 +5669,8 @@ _PUBLIC_ enum ndr_err_code ndr_push_dfs_EnumEx(struct ndr_push *ndr, int flags,
+
+ _PUBLIC_ enum ndr_err_code ndr_pull_dfs_EnumEx(struct ndr_pull *ndr, int flags, struct dfs_EnumEx *r)
+ {
++ uint32_t size_dfs_name_0 = 0;
++ uint32_t length_dfs_name_0 = 0;
+ uint32_t _ptr_info;
+ uint32_t _ptr_total;
+ TALLOC_CTX *_mem_save_info_0;
+@@ -5426,11 +5680,13 @@ _PUBLIC_ enum ndr_err_code ndr_pull_dfs_EnumEx(struct ndr_pull *ndr, int flags,
+
+ NDR_CHECK(ndr_pull_array_size(ndr, &r->in.dfs_name));
+ NDR_CHECK(ndr_pull_array_length(ndr, &r->in.dfs_name));
+- if (ndr_get_array_length(ndr, &r->in.dfs_name) > ndr_get_array_size(ndr, &r->in.dfs_name)) {
+- return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.dfs_name), ndr_get_array_length(ndr, &r->in.dfs_name));
++ size_dfs_name_0 = ndr_get_array_size(ndr, &r->in.dfs_name);
++ length_dfs_name_0 = ndr_get_array_length(ndr, &r->in.dfs_name);
++ if (length_dfs_name_0 > size_dfs_name_0) {
++ return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_dfs_name_0, length_dfs_name_0);
+ }
+- NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.dfs_name), sizeof(uint16_t)));
+- NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.dfs_name, ndr_get_array_length(ndr, &r->in.dfs_name), sizeof(uint16_t), CH_UTF16));
++ NDR_CHECK(ndr_check_string_terminator(ndr, length_dfs_name_0, sizeof(uint16_t)));
++ NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.dfs_name, length_dfs_name_0, sizeof(uint16_t), CH_UTF16));
+ NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.level));
+ NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.bufsize));
+ NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info));
+diff --git a/source/librpc/gen_ndr/ndr_dssetup.c b/source/librpc/gen_ndr/ndr_dssetup.c
+index 0c02784..0660ea9 100644
+--- a/source/librpc/gen_ndr/ndr_dssetup.c
++++ b/source/librpc/gen_ndr/ndr_dssetup.c
+@@ -95,10 +95,16 @@ static enum ndr_err_code ndr_push_dssetup_DsRolePrimaryDomInfoBasic(struct ndr_p
+ static enum ndr_err_code ndr_pull_dssetup_DsRolePrimaryDomInfoBasic(struct ndr_pull *ndr, int ndr_flags, struct dssetup_DsRolePrimaryDomInfoBasic *r)
+ {
+ uint32_t _ptr_domain;
++ uint32_t size_domain_1 = 0;
++ uint32_t length_domain_1 = 0;
+ TALLOC_CTX *_mem_save_domain_0;
+ uint32_t _ptr_dns_domain;
++ uint32_t size_dns_domain_1 = 0;
++ uint32_t length_dns_domain_1 = 0;
+ TALLOC_CTX *_mem_save_dns_domain_0;
+ uint32_t _ptr_forest;
++ uint32_t size_forest_1 = 0;
++ uint32_t length_forest_1 = 0;
+ TALLOC_CTX *_mem_save_forest_0;
+ if (ndr_flags & NDR_SCALARS) {
+ NDR_CHECK(ndr_pull_align(ndr, 4));
+@@ -130,11 +136,13 @@ static enum ndr_err_code ndr_pull_dssetup_DsRolePrimaryDomInfoBasic(struct ndr_p
+ NDR_PULL_SET_MEM_CTX(ndr, r->domain, 0);
+ NDR_CHECK(ndr_pull_array_size(ndr, &r->domain));
+ NDR_CHECK(ndr_pull_array_length(ndr, &r->domain));
+- if (ndr_get_array_length(ndr, &r->domain) > ndr_get_array_size(ndr, &r->domain)) {
+- return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->domain), ndr_get_array_length(ndr, &r->domain));
++ size_domain_1 = ndr_get_array_size(ndr, &r->domain);
++ length_domain_1 = ndr_get_array_length(ndr, &r->domain);
++ if (length_domain_1 > size_domain_1) {
++ return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_domain_1, length_domain_1);
+ }
+- NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->domain), sizeof(uint16_t)));
+- NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->domain, ndr_get_array_length(ndr, &r->domain), sizeof(uint16_t), CH_UTF16));
++ NDR_CHECK(ndr_check_string_terminator(ndr, length_domain_1, sizeof(uint16_t)));
++ NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->domain, length_domain_1, sizeof(uint16_t), CH_UTF16));
+ NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_0, 0);
+ }
+ if (r->dns_domain) {
+@@ -142,11 +150,13 @@ static enum ndr_err_code ndr_pull_dssetup_DsRolePrimaryDomInfoBasic(struct ndr_p
+ NDR_PULL_SET_MEM_CTX(ndr, r->dns_domain, 0);
+ NDR_CHECK(ndr_pull_array_size(ndr, &r->dns_domain));
+ NDR_CHECK(ndr_pull_array_length(ndr, &r->dns_domain));
+- if (ndr_get_array_length(ndr, &r->dns_domain) > ndr_get_array_size(ndr, &r->dns_domain)) {
+- return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->dns_domain), ndr_get_array_length(ndr, &r->dns_domain));
++ size_dns_domain_1 = ndr_get_array_size(ndr, &r->dns_domain);
++ length_dns_domain_1 = ndr_get_array_length(ndr, &r->dns_domain);
++ if (length_dns_domain_1 > size_dns_domain_1) {
++ return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_dns_domain_1, length_dns_domain_1);
+ }
+- NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->dns_domain), sizeof(uint16_t)));
+- NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->dns_domain, ndr_get_array_length(ndr, &r->dns_domain), sizeof(uint16_t), CH_UTF16));
++ NDR_CHECK(ndr_check_string_terminator(ndr, length_dns_domain_1, sizeof(uint16_t)));
++ NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->dns_domain, length_dns_domain_1, sizeof(uint16_t), CH_UTF16));
+ NDR_PULL_SET_MEM_CTX(ndr, _mem_save_dns_domain_0, 0);
+ }
+ if (r->forest) {
+@@ -154,11 +164,13 @@ static enum ndr_err_code ndr_pull_dssetup_DsRolePrimaryDomInfoBasic(struct ndr_p
+ NDR_PULL_SET_MEM_CTX(ndr, r->forest, 0);
+ NDR_CHECK(ndr_pull_array_size(ndr, &r->forest));
+ NDR_CHECK(ndr_pull_array_length(ndr, &r->forest));
+- if (ndr_get_array_length(ndr, &r->forest) > ndr_get_array_size(ndr, &r->forest)) {
+- return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->forest), ndr_get_array_length(ndr, &r->forest));
++ size_forest_1 = ndr_get_array_size(ndr, &r->forest);
++ length_forest_1 = ndr_get_array_length(ndr, &r->forest);
++ if (length_forest_1 > size_forest_1) {
++ return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_forest_1, length_forest_1);
+ }
+- NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->forest), sizeof(uint16_t)));
+- NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->forest, ndr_get_array_length(ndr, &r->forest), sizeof(uint16_t), CH_UTF16));
++ NDR_CHECK(ndr_check_string_terminator(ndr, length_forest_1, sizeof(uint16_t)));
++ NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->forest, length_forest_1, sizeof(uint16_t), CH_UTF16));
+ NDR_PULL_SET_MEM_CTX(ndr, _mem_save_forest_0, 0);
+ }
+ }
+diff --git a/source/librpc/gen_ndr/ndr_echo.c b/source/librpc/gen_ndr/ndr_echo.c
+index 93a8464..df87450 100644
+--- a/source/librpc/gen_ndr/ndr_echo.c
++++ b/source/librpc/gen_ndr/ndr_echo.c
+@@ -595,16 +595,18 @@ static enum ndr_err_code ndr_push_echo_Surrounding(struct ndr_push *ndr, int ndr
+
+ static enum ndr_err_code ndr_pull_echo_Surrounding(struct ndr_pull *ndr, int ndr_flags, struct echo_Surrounding *r)
+ {
++ uint32_t size_surrounding_0 = 0;
+ uint32_t cntr_surrounding_0;
+ TALLOC_CTX *_mem_save_surrounding_0;
+ if (ndr_flags & NDR_SCALARS) {
+ NDR_CHECK(ndr_pull_array_size(ndr, &r->surrounding));
+ NDR_CHECK(ndr_pull_align(ndr, 4));
+ NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->x));
+- NDR_PULL_ALLOC_N(ndr, r->surrounding, ndr_get_array_size(ndr, &r->surrounding));
++ size_surrounding_0 = ndr_get_array_size(ndr, &r->surrounding);
++ NDR_PULL_ALLOC_N(ndr, r->surrounding, size_surrounding_0);
+ _mem_save_surrounding_0 = NDR_PULL_GET_MEM_CTX(ndr);
+ NDR_PULL_SET_MEM_CTX(ndr, r->surrounding, 0);
+- for (cntr_surrounding_0 = 0; cntr_surrounding_0 < r->x; cntr_surrounding_0++) {
++ for (cntr_surrounding_0 = 0; cntr_surrounding_0 < size_surrounding_0; cntr_surrounding_0++) {
+ NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->surrounding[cntr_surrounding_0]));
+ }
+ NDR_PULL_SET_MEM_CTX(ndr, _mem_save_surrounding_0, 0);
+@@ -713,21 +715,25 @@ static enum ndr_err_code ndr_push_echo_EchoData(struct ndr_push *ndr, int flags,
+
+ static enum ndr_err_code ndr_pull_echo_EchoData(struct ndr_pull *ndr, int flags, struct echo_EchoData *r)
+ {
++ uint32_t size_in_data_0 = 0;
++ uint32_t size_out_data_0 = 0;
+ if (flags & NDR_IN) {
+ ZERO_STRUCT(r->out);
+
+ NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.len));
+ NDR_CHECK(ndr_pull_array_size(ndr, &r->in.in_data));
+- NDR_PULL_ALLOC_N(ndr, r->in.in_data, ndr_get_array_size(ndr, &r->in.in_data));
+- NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->in.in_data, ndr_get_array_size(ndr, &r->in.in_data)));
++ size_in_data_0 = ndr_get_array_size(ndr, &r->in.in_data);
++ NDR_PULL_ALLOC_N(ndr, r->in.in_data, size_in_data_0);
++ NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->in.in_data, size_in_data_0));
+ if (r->in.in_data) {
+ NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->in.in_data, r->in.len));
+ }
+ }
+ if (flags & NDR_OUT) {
+ NDR_CHECK(ndr_pull_array_size(ndr, &r->out.out_data));
+- NDR_PULL_ALLOC_N(ndr, r->out.out_data, ndr_get_array_size(ndr, &r->out.out_data));
+- NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->out.out_data, ndr_get_array_size(ndr, &r->out.out_data)));
++ size_out_data_0 = ndr_get_array_size(ndr, &r->out.out_data);
++ NDR_PULL_ALLOC_N(ndr, r->out.out_data, size_out_data_0);
++ NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->out.out_data, size_out_data_0));
+ if (r->out.out_data) {
+ NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->out.out_data, r->in.len));
+ }
+@@ -772,11 +778,13 @@ static enum ndr_err_code ndr_push_echo_SinkData(struct ndr_push *ndr, int flags,
+
+ static enum ndr_err_code ndr_pull_echo_SinkData(struct ndr_pull *ndr, int flags, struct echo_SinkData *r)
+ {
++ uint32_t size_data_0 = 0;
+ if (flags & NDR_IN) {
+ NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.len));
+ NDR_CHECK(ndr_pull_array_size(ndr, &r->in.data));
+- NDR_PULL_ALLOC_N(ndr, r->in.data, ndr_get_array_size(ndr, &r->in.data));
+- NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->in.data, ndr_get_array_size(ndr, &r->in.data)));
++ size_data_0 = ndr_get_array_size(ndr, &r->in.data);
++ NDR_PULL_ALLOC_N(ndr, r->in.data, size_data_0);
++ NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->in.data, size_data_0));
+ if (r->in.data) {
+ NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->in.data, r->in.len));
+ }
+@@ -822,6 +830,7 @@ static enum ndr_err_code ndr_push_echo_SourceData(struct ndr_push *ndr, int flag
+
+ static enum ndr_err_code ndr_pull_echo_SourceData(struct ndr_pull *ndr, int flags, struct echo_SourceData *r)
+ {
++ uint32_t size_data_0 = 0;
+ if (flags & NDR_IN) {
+ ZERO_STRUCT(r->out);
+
+@@ -829,8 +838,9 @@ static enum ndr_err_code ndr_pull_echo_SourceData(struct ndr_pull *ndr, int flag
+ }
+ if (flags & NDR_OUT) {
+ NDR_CHECK(ndr_pull_array_size(ndr, &r->out.data));
+- NDR_PULL_ALLOC_N(ndr, r->out.data, ndr_get_array_size(ndr, &r->out.data));
+- NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->out.data, ndr_get_array_size(ndr, &r->out.data)));
++ size_data_0 = ndr_get_array_size(ndr, &r->out.data);
++ NDR_PULL_ALLOC_N(ndr, r->out.data, size_data_0);
++ NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->out.data, size_data_0));
+ if (r->out.data) {
+ NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->out.data, r->in.len));
+ }
+@@ -888,7 +898,11 @@ static enum ndr_err_code ndr_push_echo_TestCall(struct ndr_push *ndr, int flags,
+
+ static enum ndr_err_code ndr_pull_echo_TestCall(struct ndr_pull *ndr, int flags, struct echo_TestCall *r)
+ {
++ uint32_t size_s1_1 = 0;
++ uint32_t length_s1_1 = 0;
+ uint32_t _ptr_s2;
++ uint32_t size_s2_2 = 0;
++ uint32_t length_s2_2 = 0;
+ TALLOC_CTX *_mem_save_s2_0;
+ TALLOC_CTX *_mem_save_s2_1;
+ if (flags & NDR_IN) {
+@@ -896,11 +910,13 @@ static enum ndr_err_code ndr_pull_echo_TestCall(struct ndr_pull *ndr, int flags,
+
+ NDR_CHECK(ndr_pull_array_size(ndr, &r->in.s1));
+ NDR_CHECK(ndr_pull_array_length(ndr, &r->in.s1));
+- if (ndr_get_array_length(ndr, &r->in.s1) > ndr_get_array_size(ndr, &r->in.s1)) {
+- return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.s1), ndr_get_array_length(ndr, &r->in.s1));
++ size_s1_1 = ndr_get_array_size(ndr, &r->in.s1);
++ length_s1_1 = ndr_get_array_length(ndr, &r->in.s1);
++ if (length_s1_1 > size_s1_1) {
++ return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_s1_1, length_s1_1);
+ }
+- NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.s1), sizeof(uint16_t)));
+- NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.s1, ndr_get_array_length(ndr, &r->in.s1), sizeof(uint16_t), CH_UTF16));
++ NDR_CHECK(ndr_check_string_terminator(ndr, length_s1_1, sizeof(uint16_t)));
++ NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.s1, length_s1_1, sizeof(uint16_t), CH_UTF16));
+ NDR_PULL_ALLOC(ndr, r->out.s2);
+ ZERO_STRUCTP(r->out.s2);
+ }
+@@ -921,11 +937,13 @@ static enum ndr_err_code ndr_pull_echo_TestCall(struct ndr_pull *ndr, int flags,
+ NDR_PULL_SET_MEM_CTX(ndr, *r->out.s2, 0);
+ NDR_CHECK(ndr_pull_array_size(ndr, r->out.s2));
+ NDR_CHECK(ndr_pull_array_length(ndr, r->out.s2));
+- if (ndr_get_array_length(ndr, r->out.s2) > ndr_get_array_size(ndr, r->out.s2)) {
+- return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, r->out.s2), ndr_get_array_length(ndr, r->out.s2));
++ size_s2_2 = ndr_get_array_size(ndr, r->out.s2);
++ length_s2_2 = ndr_get_array_length(ndr, r->out.s2);
++ if (length_s2_2 > size_s2_2) {
++ return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_s2_2, length_s2_2);
+ }
+- NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, r->out.s2), sizeof(uint16_t)));
+- NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, r->out.s2, ndr_get_array_length(ndr, r->out.s2), sizeof(uint16_t), CH_UTF16));
++ NDR_CHECK(ndr_check_string_terminator(ndr, length_s2_2, sizeof(uint16_t)));
++ NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, r->out.s2, length_s2_2, sizeof(uint16_t), CH_UTF16));
+ NDR_PULL_SET_MEM_CTX(ndr, _mem_save_s2_1, 0);
+ }
+ NDR_PULL_SET_MEM_CTX(ndr, _mem_save_s2_0, LIBNDR_FLAG_REF_ALLOC);
+diff --git a/source/librpc/gen_ndr/ndr_epmapper.c b/source/librpc/gen_ndr/ndr_epmapper.c
+index ab84d28..3ba5850 100644
+--- a/source/librpc/gen_ndr/ndr_epmapper.c
++++ b/source/librpc/gen_ndr/ndr_epmapper.c
+@@ -1530,6 +1530,7 @@ static enum ndr_err_code ndr_push_epm_tower(struct ndr_push *ndr, int ndr_flags,
+
+ static enum ndr_err_code ndr_pull_epm_tower(struct ndr_pull *ndr, int ndr_flags, struct epm_tower *r)
+ {
++ uint32_t size_floors_0 = 0;
+ uint32_t cntr_floors_0;
+ TALLOC_CTX *_mem_save_floors_0;
+ {
+@@ -1538,10 +1539,11 @@ static enum ndr_err_code ndr_pull_epm_tower(struct ndr_pull *ndr, int ndr_flags,
+ if (ndr_flags & NDR_SCALARS) {
+ NDR_CHECK(ndr_pull_align(ndr, 2));
+ NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->num_floors));
+- NDR_PULL_ALLOC_N(ndr, r->floors, r->num_floors);
++ size_floors_0 = r->num_floors;
++ NDR_PULL_ALLOC_N(ndr, r->floors, size_floors_0);
+ _mem_save_floors_0 = NDR_PULL_GET_MEM_CTX(ndr);
+ NDR_PULL_SET_MEM_CTX(ndr, r->floors, 0);
+- for (cntr_floors_0 = 0; cntr_floors_0 < r->num_floors; cntr_floors_0++) {
++ for (cntr_floors_0 = 0; cntr_floors_0 < size_floors_0; cntr_floors_0++) {
+ NDR_CHECK(ndr_pull_epm_floor(ndr, NDR_SCALARS, &r->floors[cntr_floors_0]));
+ }
+ NDR_PULL_SET_MEM_CTX(ndr, _mem_save_floors_0, 0);
+@@ -1806,18 +1808,20 @@ static enum ndr_err_code ndr_push_epm_Insert(struct ndr_push *ndr, int flags, co
+
+ static enum ndr_err_code ndr_pull_epm_Insert(struct ndr_pull *ndr, int flags, struct epm_Insert *r)
+ {
++ uint32_t size_entries_0 = 0;
+ uint32_t cntr_entries_0;
+ TALLOC_CTX *_mem_save_entries_0;
+ if (flags & NDR_IN) {
+ NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.num_ents));
+ NDR_CHECK(ndr_pull_array_size(ndr, &r->in.entries));
+- NDR_PULL_ALLOC_N(ndr, r->in.entries, ndr_get_array_size(ndr, &r->in.entries));
++ size_entries_0 = ndr_get_array_size(ndr, &r->in.entries);
++ NDR_PULL_ALLOC_N(ndr, r->in.entries, size_entries_0);
+ _mem_save_entries_0 = NDR_PULL_GET_MEM_CTX(ndr);
+ NDR_PULL_SET_MEM_CTX(ndr, r->in.entries, 0);
+- for (cntr_entries_0 = 0; cntr_entries_0 < r->in.num_ents; cntr_entries_0++) {
++ for (cntr_entries_0 = 0; cntr_entries_0 < size_entries_0; cntr_entries_0++) {
+ NDR_CHECK(ndr_pull_epm_entry_t(ndr, NDR_SCALARS, &r->in.entries[cntr_entries_0]));
+ }
+- for (cntr_entries_0 = 0; cntr_entries_0 < r->in.num_ents; cntr_entries_0++) {
++ for (cntr_entries_0 = 0; cntr_entries_0 < size_entries_0; cntr_entries_0++) {
+ NDR_CHECK(ndr_pull_epm_entry_t(ndr, NDR_BUFFERS, &r->in.entries[cntr_entries_0]));
+ }
+ NDR_PULL_SET_MEM_CTX(ndr, _mem_save_entries_0, 0);
+@@ -1887,18 +1891,20 @@ static enum ndr_err_code ndr_push_epm_Delete(struct ndr_push *ndr, int flags, co
+
+ static enum ndr_err_code ndr_pull_epm_Delete(struct ndr_pull *ndr, int flags, struct epm_Delete *r)
+ {
++ uint32_t size_entries_0 = 0;
+ uint32_t cntr_entries_0;
+ TALLOC_CTX *_mem_save_entries_0;
+ if (flags & NDR_IN) {
+ NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.num_ents));
+ NDR_CHECK(ndr_pull_array_size(ndr, &r->in.entries));
+- NDR_PULL_ALLOC_N(ndr, r->in.entries, ndr_get_array_size(ndr, &r->in.entries));
++ size_entries_0 = ndr_get_array_size(ndr, &r->in.entries);
++ NDR_PULL_ALLOC_N(ndr, r->in.entries, size_entries_0);
+ _mem_save_entries_0 = NDR_PULL_GET_MEM_CTX(ndr);
+ NDR_PULL_SET_MEM_CTX(ndr, r->in.entries, 0);
+- for (cntr_entries_0 = 0; cntr_entries_0 < r->in.num_ents; cntr_entries_0++) {
++ for (cntr_entries_0 = 0; cntr_entries_0 < size_entries_0; cntr_entries_0++) {
+ NDR_CHECK(ndr_pull_epm_entry_t(ndr, NDR_SCALARS, &r->in.entries[cntr_entries_0]));
+ }
+- for (cntr_entries_0 = 0; cntr_entries_0 < r->in.num_ents; cntr_entries_0++) {
++ for (cntr_entries_0 = 0; cntr_entries_0 < size_entries_0; cntr_entries_0++) {
+ NDR_CHECK(ndr_pull_epm_entry_t(ndr, NDR_BUFFERS, &r->in.entries[cntr_entries_0]));
+ }
+ NDR_PULL_SET_MEM_CTX(ndr, _mem_save_entries_0, 0);
+@@ -1992,6 +1998,8 @@ static enum ndr_err_code ndr_pull_epm_Lookup(struct ndr_pull *ndr, int flags, st
+ {
+ uint32_t _ptr_object;
+ uint32_t _ptr_interface_id;
++ uint32_t size_entries_0 = 0;
++ uint32_t length_entries_0 = 0;
+ uint32_t cntr_entries_0;
+ TALLOC_CTX *_mem_save_object_0;
+ TALLOC_CTX *_mem_save_interface_id_0;
+@@ -2057,16 +2065,18 @@ static enum ndr_err_code ndr_pull_epm_Lookup(struct ndr_pull *ndr, int flags, st
+ NDR_PULL_SET_MEM_CTX(ndr, _mem_save_num_ents_0, LIBNDR_FLAG_REF_ALLOC);
+ NDR_CHECK(ndr_pull_array_size(ndr, &r->out.entries));
+ NDR_CHECK(ndr_pull_array_length(ndr, &r->out.entries));
+- if (ndr_get_array_length(ndr, &r->out.entries) > ndr_get_array_size(ndr, &r->out.entries)) {
+- return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->out.entries), ndr_get_array_length(ndr, &r->out.entries));
++ size_entries_0 = ndr_get_array_size(ndr, &r->out.entries);
++ length_entries_0 = ndr_get_array_length(ndr, &r->out.entries);
++ if (length_entries_0 > size_entries_0) {
++ return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_entries_0, length_entries_0);
+ }
+- NDR_PULL_ALLOC_N(ndr, r->out.entries, ndr_get_array_size(ndr, &r->out.entries));
++ NDR_PULL_ALLOC_N(ndr, r->out.entries, size_entries_0);
+ _mem_save_entries_0 = NDR_PULL_GET_MEM_CTX(ndr);
+ NDR_PULL_SET_MEM_CTX(ndr, r->out.entries, 0);
+- for (cntr_entries_0 = 0; cntr_entries_0 < *r->out.num_ents; cntr_entries_0++) {
++ for (cntr_entries_0 = 0; cntr_entries_0 < length_entries_0; cntr_entries_0++) {
+ NDR_CHECK(ndr_pull_epm_entry_t(ndr, NDR_SCALARS, &r->out.entries[cntr_entries_0]));
+ }
+- for (cntr_entries_0 = 0; cntr_entries_0 < *r->out.num_ents; cntr_entries_0++) {
++ for (cntr_entries_0 = 0; cntr_entries_0 < length_entries_0; cntr_entries_0++) {
+ NDR_CHECK(ndr_pull_epm_entry_t(ndr, NDR_BUFFERS, &r->out.entries[cntr_entries_0]));
+ }
+ NDR_PULL_SET_MEM_CTX(ndr, _mem_save_entries_0, 0);
+@@ -2185,6 +2195,8 @@ _PUBLIC_ enum ndr_err_code ndr_pull_epm_Map(struct ndr_pull *ndr, int flags, str
+ {
+ uint32_t _ptr_object;
+ uint32_t _ptr_map_tower;
++ uint32_t size_towers_0 = 0;
++ uint32_t length_towers_0 = 0;
+ uint32_t cntr_towers_0;
+ TALLOC_CTX *_mem_save_object_0;
+ TALLOC_CTX *_mem_save_map_tower_0;
+@@ -2248,16 +2260,18 @@ _PUBLIC_ enum ndr_err_code ndr_pull_epm_Map(struct ndr_pull *ndr, int flags, str
+ NDR_PULL_SET_MEM_CTX(ndr, _mem_save_num_towers_0, LIBNDR_FLAG_REF_ALLOC);
+ NDR_CHECK(ndr_pull_array_size(ndr, &r->out.towers));
+ NDR_CHECK(ndr_pull_array_length(ndr, &r->out.towers));
+- if (ndr_get_array_length(ndr, &r->out.towers) > ndr_get_array_size(ndr, &r->out.towers)) {
+- return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->out.towers), ndr_get_array_length(ndr, &r->out.towers));
++ size_towers_0 = ndr_get_array_size(ndr, &r->out.towers);
++ length_towers_0 = ndr_get_array_length(ndr, &r->out.towers);
++ if (length_towers_0 > size_towers_0) {
++ return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_towers_0, length_towers_0);
+ }
+- NDR_PULL_ALLOC_N(ndr, r->out.towers, ndr_get_array_size(ndr, &r->out.towers));
++ NDR_PULL_ALLOC_N(ndr, r->out.towers, size_towers_0);
+ _mem_save_towers_0 = NDR_PULL_GET_MEM_CTX(ndr);
+ NDR_PULL_SET_MEM_CTX(ndr, r->out.towers, 0);
+- for (cntr_towers_0 = 0; cntr_towers_0 < *r->out.num_towers; cntr_towers_0++) {
++ for (cntr_towers_0 = 0; cntr_towers_0 < length_towers_0; cntr_towers_0++) {
+ NDR_CHECK(ndr_pull_epm_twr_p_t(ndr, NDR_SCALARS, &r->out.towers[cntr_towers_0]));
+ }
+- for (cntr_towers_0 = 0; cntr_towers_0 < *r->out.num_towers; cntr_towers_0++) {
++ for (cntr_towers_0 = 0; cntr_towers_0 < length_towers_0; cntr_towers_0++) {
+ NDR_CHECK(ndr_pull_epm_twr_p_t(ndr, NDR_BUFFERS, &r->out.towers[cntr_towers_0]));
+ }
+ NDR_PULL_SET_MEM_CTX(ndr, _mem_save_towers_0, 0);
+diff --git a/source/librpc/gen_ndr/ndr_eventlog.c b/source/librpc/gen_ndr/ndr_eventlog.c
+index 2eb26c4..93c76a2 100644
+--- a/source/librpc/gen_ndr/ndr_eventlog.c
++++ b/source/librpc/gen_ndr/ndr_eventlog.c
+@@ -93,6 +93,7 @@ _PUBLIC_ enum ndr_err_code ndr_push_eventlog_Record(struct ndr_push *ndr, int nd
+
+ _PUBLIC_ enum ndr_err_code ndr_pull_eventlog_Record(struct ndr_pull *ndr, int ndr_flags, struct eventlog_Record *r)
+ {
++ uint32_t size_strings_0 = 0;
+ uint32_t cntr_strings_0;
+ TALLOC_CTX *_mem_save_strings_0;
+ if (ndr_flags & NDR_SCALARS) {
+@@ -128,10 +129,11 @@ _PUBLIC_ enum ndr_err_code ndr_pull_eventlog_Record(struct ndr_pull *ndr, int nd
+ {
+ uint32_t _flags_save_string = ndr->flags;
+ ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
+- NDR_PULL_ALLOC_N(ndr, r->strings, r->num_of_strings);
++ size_strings_0 = r->num_of_strings;
++ NDR_PULL_ALLOC_N(ndr, r->strings, size_strings_0);
+ _mem_save_strings_0 = NDR_PULL_GET_MEM_CTX(ndr);
+ NDR_PULL_SET_MEM_CTX(ndr, r->strings, 0);
+- for (cntr_strings_0 = 0; cntr_strings_0 < r->num_of_strings; cntr_strings_0++) {
++ for (cntr_strings_0 = 0; cntr_strings_0 < size_strings_0; cntr_strings_0++) {
+ NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->strings[cntr_strings_0]));
+ }
+ NDR_PULL_SET_MEM_CTX(ndr, _mem_save_strings_0, 0);
+@@ -857,6 +859,7 @@ static enum ndr_err_code ndr_push_eventlog_ReadEventLogW(struct ndr_push *ndr, i
+
+ static enum ndr_err_code ndr_pull_eventlog_ReadEventLogW(struct ndr_pull *ndr, int flags, struct eventlog_ReadEventLogW *r)
+ {
++ uint32_t size_data_1 = 0;
+ TALLOC_CTX *_mem_save_handle_0;
+ TALLOC_CTX *_mem_save_sent_size_0;
+ TALLOC_CTX *_mem_save_real_size_0;
+@@ -885,10 +888,11 @@ static enum ndr_err_code ndr_pull_eventlog_ReadEventLogW(struct ndr_pull *ndr, i
+ }
+ if (flags & NDR_OUT) {
+ NDR_CHECK(ndr_pull_array_size(ndr, &r->out.data));
++ size_data_1 = ndr_get_array_size(ndr, &r->out.data);
+ if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
+- NDR_PULL_ALLOC_N(ndr, r->out.data, ndr_get_array_size(ndr, &r->out.data));
++ NDR_PULL_ALLOC_N(ndr, r->out.data, size_data_1);
+ }
+- NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->out.data, ndr_get_array_size(ndr, &r->out.data)));
++ NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->out.data, size_data_1));
+ if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
+ NDR_PULL_ALLOC(ndr, r->out.sent_size);
+ }
+diff --git a/source/librpc/gen_ndr/ndr_krb5pac.c b/source/librpc/gen_ndr/ndr_krb5pac.c
+index 6e06f90..6e1abad 100644
+--- a/source/librpc/gen_ndr/ndr_krb5pac.c
++++ b/source/librpc/gen_ndr/ndr_krb5pac.c
+@@ -21,11 +21,13 @@ static enum ndr_err_code ndr_push_PAC_LOGON_NAME(struct ndr_push *ndr, int ndr_f
+
+ static enum ndr_err_code ndr_pull_PAC_LOGON_NAME(struct ndr_pull *ndr, int ndr_flags, struct PAC_LOGON_NAME *r)
+ {
++ uint32_t size_account_name_0 = 0;
+ if (ndr_flags & NDR_SCALARS) {
+ NDR_CHECK(ndr_pull_align(ndr, 4));
+ NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->logon_time));
+ NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->size));
+- NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->account_name, r->size, sizeof(uint8_t), CH_UTF16));
++ size_account_name_0 = r->size;
++ NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->account_name, size_account_name_0, sizeof(uint8_t), CH_UTF16));
+ }
+ if (ndr_flags & NDR_BUFFERS) {
+ }
+@@ -465,24 +467,27 @@ _PUBLIC_ enum ndr_err_code ndr_push_PAC_DATA(struct ndr_push *ndr, int ndr_flags
+
+ _PUBLIC_ enum ndr_err_code ndr_pull_PAC_DATA(struct ndr_pull *ndr, int ndr_flags, struct PAC_DATA *r)
+ {
++ uint32_t size_buffers_0 = 0;
+ uint32_t cntr_buffers_0;
+ TALLOC_CTX *_mem_save_buffers_0;
+ if (ndr_flags & NDR_SCALARS) {
+ NDR_CHECK(ndr_pull_align(ndr, 4));
+ NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->num_buffers));
+ NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->version));
+- NDR_PULL_ALLOC_N(ndr, r->buffers, r->num_buffers);
++ size_buffers_0 = r->num_buffers;
++ NDR_PULL_ALLOC_N(ndr, r->buffers, size_buffers_0);
+ _mem_save_buffers_0 = NDR_PULL_GET_MEM_CTX(ndr);
+ NDR_PULL_SET_MEM_CTX(ndr, r->buffers, 0);
+- for (cntr_buffers_0 = 0; cntr_buffers_0 < r->num_buffers; cntr_buffers_0++) {
++ for (cntr_buffers_0 = 0; cntr_buffers_0 < size_buffers_0; cntr_buffers_0++) {
+ NDR_CHECK(ndr_pull_PAC_BUFFER(ndr, NDR_SCALARS, &r->buffers[cntr_buffers_0]));
+ }
+ NDR_PULL_SET_MEM_CTX(ndr, _mem_save_buffers_0, 0);
+ }
+ if (ndr_flags & NDR_BUFFERS) {
++ size_buffers_0 = r->num_buffers;
+ _mem_save_buffers_0 = NDR_PULL_GET_MEM_CTX(ndr);
+ NDR_PULL_SET_MEM_CTX(ndr, r->buffers, 0);
+- for (cntr_buffers_0 = 0; cntr_buffers_0 < r->num_buffers; cntr_buffers_0++) {
++ for (cntr_buffers_0 = 0; cntr_buffers_0 < size_buffers_0; cntr_buffers_0++) {
+ NDR_CHECK(ndr_pull_PAC_BUFFER(ndr, NDR_BUFFERS, &r->buffers[cntr_buffers_0]));
+ }
+ NDR_PULL_SET_MEM_CTX(ndr, _mem_save_buffers_0, 0);
+@@ -627,24 +632,27 @@ _PUBLIC_ enum ndr_err_code ndr_push_PAC_DATA_RAW(struct ndr_push *ndr, int ndr_f
+
+ _PUBLIC_ enum ndr_err_code ndr_pull_PAC_DATA_RAW(struct ndr_pull *ndr, int ndr_flags, struct PAC_DATA_RAW *r)
+ {
++ uint32_t size_buffers_0 = 0;
+ uint32_t cntr_buffers_0;
+ TALLOC_CTX *_mem_save_buffers_0;
+ if (ndr_flags & NDR_SCALARS) {
+ NDR_CHECK(ndr_pull_align(ndr, 4));
+ NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->num_buffers));
+ NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->version));
+- NDR_PULL_ALLOC_N(ndr, r->buffers, r->num_buffers);
++ size_buffers_0 = r->num_buffers;
++ NDR_PULL_ALLOC_N(ndr, r->buffers, size_buffers_0);
+ _mem_save_buffers_0 = NDR_PULL_GET_MEM_CTX(ndr);
+ NDR_PULL_SET_MEM_CTX(ndr, r->buffers, 0);
+- for (cntr_buffers_0 = 0; cntr_buffers_0 < r->num_buffers; cntr_buffers_0++) {
++ for (cntr_buffers_0 = 0; cntr_buffers_0 < size_buffers_0; cntr_buffers_0++) {
+ NDR_CHECK(ndr_pull_PAC_BUFFER_RAW(ndr, NDR_SCALARS, &r->buffers[cntr_buffers_0]));
+ }
+ NDR_PULL_SET_MEM_CTX(ndr, _mem_save_buffers_0, 0);
+ }
+ if (ndr_flags & NDR_BUFFERS) {
++ size_buffers_0 = r->num_buffers;
+ _mem_save_buffers_0 = NDR_PULL_GET_MEM_CTX(ndr);
+ NDR_PULL_SET_MEM_CTX(ndr, r->buffers, 0);
+- for (cntr_buffers_0 = 0; cntr_buffers_0 < r->num_buffers; cntr_buffers_0++) {
++ for (cntr_buffers_0 = 0; cntr_buffers_0 < size_buffers_0; cntr_buffers_0++) {
+ NDR_CHECK(ndr_pull_PAC_BUFFER_RAW(ndr, NDR_BUFFERS, &r->buffers[cntr_buffers_0]));
+ }
+ NDR_PULL_SET_MEM_CTX(ndr, _mem_save_buffers_0, 0);
+diff --git a/source/librpc/gen_ndr/ndr_lsa.c b/source/librpc/gen_ndr/ndr_lsa.c
+index f25410a..690e159 100644
+--- a/source/librpc/gen_ndr/ndr_lsa.c
++++ b/source/librpc/gen_ndr/ndr_lsa.c
+@@ -26,6 +26,8 @@ _PUBLIC_ enum ndr_err_code ndr_push_lsa_String(struct ndr_push *ndr, int ndr_fla
+ _PUBLIC_ enum ndr_err_code ndr_pull_lsa_String(struct ndr_pull *ndr, int ndr_flags, struct lsa_String *r)
+ {
+ uint32_t _ptr_string;
++ uint32_t size_string_1 = 0;
++ uint32_t length_string_1 = 0;
+ TALLOC_CTX *_mem_save_string_0;
+ if (ndr_flags & NDR_SCALARS) {
+ NDR_CHECK(ndr_pull_align(ndr, 4));
+@@ -44,10 +46,12 @@ _PUBLIC_ enum ndr_err_code ndr_pull_lsa_String(struct ndr_pull *ndr, int ndr_fla
+ NDR_PULL_SET_MEM_CTX(ndr, r->string, 0);
+ NDR_CHECK(ndr_pull_array_size(ndr, &r->string));
+ NDR_CHECK(ndr_pull_array_length(ndr, &r->string));
+- if (ndr_get_array_length(ndr, &r->string) > ndr_get_array_size(ndr, &r->string)) {
+- return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->string), ndr_get_array_length(ndr, &r->string));
++ size_string_1 = ndr_get_array_size(ndr, &r->string);
++ length_string_1 = ndr_get_array_length(ndr, &r->string);
++ if (length_string_1 > size_string_1) {
++ return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_string_1, length_string_1);
+ }
+- NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->string, ndr_get_array_length(ndr, &r->string), sizeof(uint16_t), CH_UTF16));
++ NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->string, length_string_1, sizeof(uint16_t), CH_UTF16));
+ NDR_PULL_SET_MEM_CTX(ndr, _mem_save_string_0, 0);
+ }
+ if (r->string) {
+@@ -97,6 +101,8 @@ _PUBLIC_ enum ndr_err_code ndr_push_lsa_StringLarge(struct ndr_push *ndr, int nd
+ _PUBLIC_ enum ndr_err_code ndr_pull_lsa_StringLarge(struct ndr_pull *ndr, int ndr_flags, struct lsa_StringLarge *r)
+ {
+ uint32_t _ptr_string;
++ uint32_t size_string_1 = 0;
++ uint32_t length_string_1 = 0;
+ TALLOC_CTX *_mem_save_string_0;
+ if (ndr_flags & NDR_SCALARS) {
+ NDR_CHECK(ndr_pull_align(ndr, 4));
+@@ -115,10 +121,12 @@ _PUBLIC_ enum ndr_err_code ndr_pull_lsa_StringLarge(struct ndr_pull *ndr, int nd
+ NDR_PULL_SET_MEM_CTX(ndr, r->string, 0);
+ NDR_CHECK(ndr_pull_array_size(ndr, &r->string));
+ NDR_CHECK(ndr_pull_array_length(ndr, &r->string));
+- if (ndr_get_array_length(ndr, &r->string) > ndr_get_array_size(ndr, &r->string)) {
+- return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->string), ndr_get_array_length(ndr, &r->string));
++ size_string_1 = ndr_get_array_size(ndr, &r->string);
++ length_string_1 = ndr_get_array_length(ndr, &r->string);
++ if (length_string_1 > size_string_1) {
++ return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_string_1, length_string_1);
+ }
+- NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->string, ndr_get_array_length(ndr, &r->string), sizeof(uint16_t), CH_UTF16));
++ NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->string, length_string_1, sizeof(uint16_t), CH_UTF16));
+ NDR_PULL_SET_MEM_CTX(ndr, _mem_save_string_0, 0);
+ }
+ if (r->string) {
+@@ -171,6 +179,7 @@ _PUBLIC_ enum ndr_err_code ndr_push_lsa_Strings(struct ndr_push *ndr, int ndr_fl
+ _PUBLIC_ enum ndr_err_code ndr_pull_lsa_Strings(struct ndr_pull *ndr, int ndr_flags, struct lsa_Strings *r)
+ {
+ uint32_t _ptr_names;
++ uint32_t size_names_1 = 0;
+ uint32_t cntr_names_1;
+ TALLOC_CTX *_mem_save_names_0;
+ TALLOC_CTX *_mem_save_names_1;
+@@ -189,13 +198,14 @@ _PUBLIC_ enum ndr_err_code ndr_pull_lsa_Strings(struct ndr_pull *ndr, int ndr_fl
+ _mem_save_names_0 = NDR_PULL_GET_MEM_CTX(ndr);
+ NDR_PULL_SET_MEM_CTX(ndr, r->names, 0);
+ NDR_CHECK(ndr_pull_array_size(ndr, &r->names));
+- NDR_PULL_ALLOC_N(ndr, r->names, ndr_get_array_size(ndr, &r->names));
++ size_names_1 = ndr_get_array_size(ndr, &r->names);
++ NDR_PULL_ALLOC_N(ndr, r->names, size_names_1);
+ _mem_save_names_1 = NDR_PULL_GET_MEM_CTX(ndr);
+ NDR_PULL_SET_MEM_CTX(ndr, r->names, 0);
+- for (cntr_names_1 = 0; cntr_names_1 < r->count; cntr_names_1++) {
++ for (cntr_names_1 = 0; cntr_names_1 < size_names_1; cntr_names_1++) {
+ NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->names[cntr_names_1]));
+ }
+- for (cntr_names_1 = 0; cntr_names_1 < r->count; cntr_names_1++) {
++ for (cntr_names_1 = 0; cntr_names_1 < size_names_1; cntr_names_1++) {
+ NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->names[cntr_names_1]));
+ }
+ NDR_PULL_SET_MEM_CTX(ndr, _mem_save_names_1, 0);
+@@ -254,6 +264,8 @@ _PUBLIC_ enum ndr_err_code ndr_push_lsa_AsciiString(struct ndr_push *ndr, int nd
+ _PUBLIC_ enum ndr_err_code ndr_pull_lsa_AsciiString(struct ndr_pull *ndr, int ndr_flags, struct lsa_AsciiString *r)
+ {
+ uint32_t _ptr_string;
++ uint32_t size_string_1 = 0;
++ uint32_t length_string_1 = 0;
+ TALLOC_CTX *_mem_save_string_0;
+ if (ndr_flags & NDR_SCALARS) {
+ NDR_CHECK(ndr_pull_align(ndr, 4));
+@@ -272,10 +284,12 @@ _PUBLIC_ enum ndr_err_code ndr_pull_lsa_AsciiString(struct ndr_pull *ndr, int nd
+ NDR_PULL_SET_MEM_CTX(ndr, r->string, 0);
+ NDR_CHECK(ndr_pull_array_size(ndr, &r->string));
+ NDR_CHECK(ndr_pull_array_length(ndr, &r->string));
+- if (ndr_get_array_length(ndr, &r->string) > ndr_get_array_size(ndr, &r->string)) {
+- return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->string), ndr_get_array_length(ndr, &r->string));
++ size_string_1 = ndr_get_array_size(ndr, &r->string);
++ length_string_1 = ndr_get_array_length(ndr, &r->string);
++ if (length_string_1 > size_string_1) {
++ return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_string_1, length_string_1);
+ }
+- NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->string, ndr_get_array_length(ndr, &r->string), sizeof(uint8_t), CH_DOS));
++ NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->string, length_string_1, sizeof(uint8_t), CH_DOS));
+ NDR_PULL_SET_MEM_CTX(ndr, _mem_save_string_0, 0);
+ }
+ if (r->string) {
+@@ -325,6 +339,8 @@ _PUBLIC_ enum ndr_err_code ndr_push_lsa_AsciiStringLarge(struct ndr_push *ndr, i
+ _PUBLIC_ enum ndr_err_code ndr_pull_lsa_AsciiStringLarge(struct ndr_pull *ndr, int ndr_flags, struct lsa_AsciiStringLarge *r)
+ {
+ uint32_t _ptr_string;
++ uint32_t size_string_1 = 0;
++ uint32_t length_string_1 = 0;
+ TALLOC_CTX *_mem_save_string_0;
+ if (ndr_flags & NDR_SCALARS) {
+ NDR_CHECK(ndr_pull_align(ndr, 4));
+@@ -343,10 +359,12 @@ _PUBLIC_ enum ndr_err_code ndr_pull_lsa_AsciiStringLarge(struct ndr_pull *ndr, i
+ NDR_PULL_SET_MEM_CTX(ndr, r->string, 0);
+ NDR_CHECK(ndr_pull_array_size(ndr, &r->string));
+ NDR_CHECK(ndr_pull_array_length(ndr, &r->string));
+- if (ndr_get_array_length(ndr, &r->string) > ndr_get_array_size(ndr, &r->string)) {
+- return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->string), ndr_get_array_length(ndr, &r->string));
++ size_string_1 = ndr_get_array_size(ndr, &r->string);
++ length_string_1 = ndr_get_array_length(ndr, &r->string);
++ if (length_string_1 > size_string_1) {
++ return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_string_1, length_string_1);
+ }
+- NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->string, ndr_get_array_length(ndr, &r->string), sizeof(uint8_t), CH_DOS));
++ NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->string, length_string_1, sizeof(uint8_t), CH_DOS));
+ NDR_PULL_SET_MEM_CTX(ndr, _mem_save_string_0, 0);
+ }
+ if (r->string) {
+@@ -399,6 +417,8 @@ _PUBLIC_ enum ndr_err_code ndr_push_lsa_BinaryString(struct ndr_push *ndr, int n
+ _PUBLIC_ enum ndr_err_code ndr_pull_lsa_BinaryString(struct ndr_pull *ndr, int ndr_flags, struct lsa_BinaryString *r)
+ {
+ uint32_t _ptr_array;
++ uint32_t size_array_1 = 0;
++ uint32_t length_array_1 = 0;
+ uint32_t cntr_array_1;
+ TALLOC_CTX *_mem_save_array_0;
+ TALLOC_CTX *_mem_save_array_1;
+@@ -419,13 +439,15 @@ _PUBLIC_ enum ndr_err_code ndr_pull_lsa_BinaryString(struct ndr_pull *ndr, int n
+ NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
+ NDR_CHECK(ndr_pull_array_size(ndr, &r->array));
+ NDR_CHECK(ndr_pull_array_length(ndr, &r->array));
+- if (ndr_get_array_length(ndr, &r->array) > ndr_get_array_size(ndr, &r->array)) {
+- return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->array), ndr_get_array_length(ndr, &r->array));
++ size_array_1 = ndr_get_array_size(ndr, &r->array);
++ length_array_1 = ndr_get_array_length(ndr, &r->array);
++ if (length_array_1 > size_array_1) {
++ return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_array_1, length_array_1);
+ }
+- NDR_PULL_ALLOC_N(ndr, r->array, ndr_get_array_size(ndr, &r->array));
++ NDR_PULL_ALLOC_N(ndr, r->array, size_array_1);
+ _mem_save_array_1 = NDR_PULL_GET_MEM_CTX(ndr);
+ NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
+- for (cntr_array_1 = 0; cntr_array_1 < r->length / 2; cntr_array_1++) {
++ for (cntr_array_1 = 0; cntr_array_1 < length_array_1; cntr_array_1++) {
+ NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->array[cntr_array_1]));
+ }
+ NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_1, 0);
+@@ -559,6 +581,7 @@ static enum ndr_err_code ndr_push_lsa_PrivArray(struct ndr_push *ndr, int ndr_fl
+ static enum ndr_err_code ndr_pull_lsa_PrivArray(struct ndr_pull *ndr, int ndr_flags, struct lsa_PrivArray *r)
+ {
+ uint32_t _ptr_privs;
++ uint32_t size_privs_1 = 0;
+ uint32_t cntr_privs_1;
+ TALLOC_CTX *_mem_save_privs_0;
+ TALLOC_CTX *_mem_save_privs_1;
+@@ -577,13 +600,14 @@ static enum ndr_err_code ndr_pull_lsa_PrivArray(struct ndr_pull *ndr, int ndr_fl
+ _mem_save_privs_0 = NDR_PULL_GET_MEM_CTX(ndr);
+ NDR_PULL_SET_MEM_CTX(ndr, r->privs, 0);
+ NDR_CHECK(ndr_pull_array_size(ndr, &r->privs));
+- NDR_PULL_ALLOC_N(ndr, r->privs, ndr_get_array_size(ndr, &r->privs));
++ size_privs_1 = ndr_get_array_size(ndr, &r->privs);
++ NDR_PULL_ALLOC_N(ndr, r->privs, size_privs_1);
+ _mem_save_privs_1 = NDR_PULL_GET_MEM_CTX(ndr);
+ NDR_PULL_SET_MEM_CTX(ndr, r->privs, 0);
+- for (cntr_privs_1 = 0; cntr_privs_1 < r->count; cntr_privs_1++) {
++ for (cntr_privs_1 = 0; cntr_privs_1 < size_privs_1; cntr_privs_1++) {
+ NDR_CHECK(ndr_pull_lsa_PrivEntry(ndr, NDR_SCALARS, &r->privs[cntr_privs_1]));
+ }
+- for (cntr_privs_1 = 0; cntr_privs_1 < r->count; cntr_privs_1++) {
++ for (cntr_privs_1 = 0; cntr_privs_1 < size_privs_1; cntr_privs_1++) {
+ NDR_CHECK(ndr_pull_lsa_PrivEntry(ndr, NDR_BUFFERS, &r->privs[cntr_privs_1]));
+ }
+ NDR_PULL_SET_MEM_CTX(ndr, _mem_save_privs_1, 0);
+@@ -695,6 +719,8 @@ static enum ndr_err_code ndr_pull_lsa_ObjectAttribute(struct ndr_pull *ndr, int
+ uint32_t _ptr_root_dir;
+ TALLOC_CTX *_mem_save_root_dir_0;
+ uint32_t _ptr_object_name;
++ uint32_t size_object_name_1 = 0;
++ uint32_t length_object_name_1 = 0;
+ TALLOC_CTX *_mem_save_object_name_0;
+ uint32_t _ptr_sec_desc;
+ TALLOC_CTX *_mem_save_sec_desc_0;
+@@ -741,11 +767,13 @@ static enum ndr_err_code ndr_pull_lsa_ObjectAttribute(struct ndr_pull *ndr, int
+ NDR_PULL_SET_MEM_CTX(ndr, r->object_name, 0);
+ NDR_CHECK(ndr_pull_array_size(ndr, &r->object_name));
+ NDR_CHECK(ndr_pull_array_length(ndr, &r->object_name));
+- if (ndr_get_array_length(ndr, &r->object_name) > ndr_get_array_size(ndr, &r->object_name)) {
+- return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->object_name), ndr_get_array_length(ndr, &r->object_name));
++ size_object_name_1 = ndr_get_array_size(ndr, &r->object_name);
++ length_object_name_1 = ndr_get_array_length(ndr, &r->object_name);
++ if (length_object_name_1 > size_object_name_1) {
++ return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_object_name_1, length_object_name_1);
+ }
+- NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->object_name), sizeof(uint16_t)));
+- NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->object_name, ndr_get_array_length(ndr, &r->object_name), sizeof(uint16_t), CH_UTF16));
++ NDR_CHECK(ndr_check_string_terminator(ndr, length_object_name_1, sizeof(uint16_t)));
++ NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->object_name, length_object_name_1, sizeof(uint16_t), CH_UTF16));
+ NDR_PULL_SET_MEM_CTX(ndr, _mem_save_object_name_0, 0);
+ }
+ if (r->sec_desc) {
+@@ -929,6 +957,7 @@ static enum ndr_err_code ndr_push_lsa_AuditEventsInfo(struct ndr_push *ndr, int
+ static enum ndr_err_code ndr_pull_lsa_AuditEventsInfo(struct ndr_pull *ndr, int ndr_flags, struct lsa_AuditEventsInfo *r)
+ {
+ uint32_t _ptr_settings;
++ uint32_t size_settings_1 = 0;
+ uint32_t cntr_settings_1;
+ TALLOC_CTX *_mem_save_settings_0;
+ TALLOC_CTX *_mem_save_settings_1;
+@@ -948,10 +977,11 @@ static enum ndr_err_code ndr_pull_lsa_AuditEventsInfo(struct ndr_pull *ndr, int
+ _mem_save_settings_0 = NDR_PULL_GET_MEM_CTX(ndr);
+ NDR_PULL_SET_MEM_CTX(ndr, r->settings, 0);
+ NDR_CHECK(ndr_pull_array_size(ndr, &r->settings));
+- NDR_PULL_ALLOC_N(ndr, r->settings, ndr_get_array_size(ndr, &r->settings));
++ size_settings_1 = ndr_get_array_size(ndr, &r->settings);
++ NDR_PULL_ALLOC_N(ndr, r->settings, size_settings_1);
+ _mem_save_settings_1 = NDR_PULL_GET_MEM_CTX(ndr);
+ NDR_PULL_SET_MEM_CTX(ndr, r->settings, 0);
+- for (cntr_settings_1 = 0; cntr_settings_1 < r->count; cntr_settings_1++) {
++ for (cntr_settings_1 = 0; cntr_settings_1 < size_settings_1; cntr_settings_1++) {
+ NDR_CHECK(ndr_pull_lsa_PolicyAuditPolicy(ndr, NDR_SCALARS, &r->settings[cntr_settings_1]));
+ }
+ NDR_PULL_SET_MEM_CTX(ndr, _mem_save_settings_1, 0);
+@@ -1756,6 +1786,7 @@ _PUBLIC_ enum ndr_err_code ndr_push_lsa_SidArray(struct ndr_push *ndr, int ndr_f
+ _PUBLIC_ enum ndr_err_code ndr_pull_lsa_SidArray(struct ndr_pull *ndr, int ndr_flags, struct lsa_SidArray *r)
+ {
+ uint32_t _ptr_sids;
++ uint32_t size_sids_1 = 0;
+ uint32_t cntr_sids_1;
+ TALLOC_CTX *_mem_save_sids_0;
+ TALLOC_CTX *_mem_save_sids_1;
+@@ -1777,13 +1808,14 @@ _PUBLIC_ enum ndr_err_code ndr_pull_lsa_SidArray(struct ndr_pull *ndr, int ndr_f
+ _mem_save_sids_0 = NDR_PULL_GET_MEM_CTX(ndr);
+ NDR_PULL_SET_MEM_CTX(ndr, r->sids, 0);
+ NDR_CHECK(ndr_pull_array_size(ndr, &r->sids));
+- NDR_PULL_ALLOC_N(ndr, r->sids, ndr_get_array_size(ndr, &r->sids));
++ size_sids_1 = ndr_get_array_size(ndr, &r->sids);
++ NDR_PULL_ALLOC_N(ndr, r->sids, size_sids_1);
+ _mem_save_sids_1 = NDR_PULL_GET_MEM_CTX(ndr);
+ NDR_PULL_SET_MEM_CTX(ndr, r->sids, 0);
+- for (cntr_sids_1 = 0; cntr_sids_1 < r->num_sids; cntr_sids_1++) {
++ for (cntr_sids_1 = 0; cntr_sids_1 < size_sids_1; cntr_sids_1++) {
+ NDR_CHECK(ndr_pull_lsa_SidPtr(ndr, NDR_SCALARS, &r->sids[cntr_sids_1]));
+ }
+- for (cntr_sids_1 = 0; cntr_sids_1 < r->num_sids; cntr_sids_1++) {
++ for (cntr_sids_1 = 0; cntr_sids_1 < size_sids_1; cntr_sids_1++) {
+ NDR_CHECK(ndr_pull_lsa_SidPtr(ndr, NDR_BUFFERS, &r->sids[cntr_sids_1]));
+ }
+ NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sids_1, 0);
+@@ -1845,6 +1877,7 @@ static enum ndr_err_code ndr_push_lsa_DomainList(struct ndr_push *ndr, int ndr_f
+ static enum ndr_err_code ndr_pull_lsa_DomainList(struct ndr_pull *ndr, int ndr_flags, struct lsa_DomainList *r)
+ {
+ uint32_t _ptr_domains;
++ uint32_t size_domains_1 = 0;
+ uint32_t cntr_domains_1;
+ TALLOC_CTX *_mem_save_domains_0;
+ TALLOC_CTX *_mem_save_domains_1;
+@@ -1863,13 +1896,14 @@ static enum ndr_err_code ndr_pull_lsa_DomainList(struct ndr_pull *ndr, int ndr_f
+ _mem_save_domains_0 = NDR_PULL_GET_MEM_CTX(ndr);
+ NDR_PULL_SET_MEM_CTX(ndr, r->domains, 0);
+ NDR_CHECK(ndr_pull_array_size(ndr, &r->domains));
+- NDR_PULL_ALLOC_N(ndr, r->domains, ndr_get_array_size(ndr, &r->domains));
++ size_domains_1 = ndr_get_array_size(ndr, &r->domains);
++ NDR_PULL_ALLOC_N(ndr, r->domains, size_domains_1);
+ _mem_save_domains_1 = NDR_PULL_GET_MEM_CTX(ndr);
+ NDR_PULL_SET_MEM_CTX(ndr, r->domains, 0);
+- for (cntr_domains_1 = 0; cntr_domains_1 < r->count; cntr_domains_1++) {
++ for (cntr_domains_1 = 0; cntr_domains_1 < size_domains_1; cntr_domains_1++) {
+ NDR_CHECK(ndr_pull_lsa_DomainInfo(ndr, NDR_SCALARS, &r->domains[cntr_domains_1]));
+ }
+- for (cntr_domains_1 = 0; cntr_domains_1 < r->count; cntr_domains_1++) {
++ for (cntr_domains_1 = 0; cntr_domains_1 < size_domains_1; cntr_domains_1++) {
+ NDR_CHECK(ndr_pull_lsa_DomainInfo(ndr, NDR_BUFFERS, &r->domains[cntr_domains_1]));
+ }
+ NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domains_1, 0);
+@@ -1997,6 +2031,7 @@ static enum ndr_err_code ndr_push_lsa_TransSidArray(struct ndr_push *ndr, int nd
+ static enum ndr_err_code ndr_pull_lsa_TransSidArray(struct ndr_pull *ndr, int ndr_flags, struct lsa_TransSidArray *r)
+ {
+ uint32_t _ptr_sids;
++ uint32_t size_sids_1 = 0;
+ uint32_t cntr_sids_1;
+ TALLOC_CTX *_mem_save_sids_0;
+ TALLOC_CTX *_mem_save_sids_1;
+@@ -2018,10 +2053,11 @@ static enum ndr_err_code ndr_pull_lsa_TransSidArray(struct ndr_pull *ndr, int nd
+ _mem_save_sids_0 = NDR_PULL_GET_MEM_CTX(ndr);
+ NDR_PULL_SET_MEM_CTX(ndr, r->sids, 0);
+ NDR_CHECK(ndr_pull_array_size(ndr, &r->sids));
+- NDR_PULL_ALLOC_N(ndr, r->sids, ndr_get_array_size(ndr, &r->sids));
++ size_sids_1 = ndr_get_array_size(ndr, &r->sids);
++ NDR_PULL_ALLOC_N(ndr, r->sids, size_sids_1);
+ _mem_save_sids_1 = NDR_PULL_GET_MEM_CTX(ndr);
+ NDR_PULL_SET_MEM_CTX(ndr, r->sids, 0);
+- for (cntr_sids_1 = 0; cntr_sids_1 < r->count; cntr_sids_1++) {
++ for (cntr_sids_1 = 0; cntr_sids_1 < size_sids_1; cntr_sids_1++) {
+ NDR_CHECK(ndr_pull_lsa_TranslatedSid(ndr, NDR_SCALARS, &r->sids[cntr_sids_1]));
+ }
+ NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sids_1, 0);
+@@ -2084,6 +2120,7 @@ static enum ndr_err_code ndr_push_lsa_RefDomainList(struct ndr_push *ndr, int nd
+ static enum ndr_err_code ndr_pull_lsa_RefDomainList(struct ndr_pull *ndr, int ndr_flags, struct lsa_RefDomainList *r)
+ {
+ uint32_t _ptr_domains;
++ uint32_t size_domains_1 = 0;
+ uint32_t cntr_domains_1;
+ TALLOC_CTX *_mem_save_domains_0;
+ TALLOC_CTX *_mem_save_domains_1;
+@@ -2106,13 +2143,14 @@ static enum ndr_err_code ndr_pull_lsa_RefDomainList(struct ndr_pull *ndr, int nd
+ _mem_save_domains_0 = NDR_PULL_GET_MEM_CTX(ndr);
+ NDR_PULL_SET_MEM_CTX(ndr, r->domains, 0);
+ NDR_CHECK(ndr_pull_array_size(ndr, &r->domains));
+- NDR_PULL_ALLOC_N(ndr, r->domains, ndr_get_array_size(ndr, &r->domains));
++ size_domains_1 = ndr_get_array_size(ndr, &r->domains);
++ NDR_PULL_ALLOC_N(ndr, r->domains, size_domains_1);
+ _mem_save_domains_1 = NDR_PULL_GET_MEM_CTX(ndr);
+ NDR_PULL_SET_MEM_CTX(ndr, r->domains, 0);
+- for (cntr_domains_1 = 0; cntr_domains_1 < r->count; cntr_domains_1++) {
++ for (cntr_domains_1 = 0; cntr_domains_1 < size_domains_1; cntr_domains_1++) {
+ NDR_CHECK(ndr_pull_lsa_DomainInfo(ndr, NDR_SCALARS, &r->domains[cntr_domains_1]));
+ }
+- for (cntr_domains_1 = 0; cntr_domains_1 < r->count; cntr_domains_1++) {
++ for (cntr_domains_1 = 0; cntr_domains_1 < size_domains_1; cntr_domains_1++) {
+ NDR_CHECK(ndr_pull_lsa_DomainInfo(ndr, NDR_BUFFERS, &r->domains[cntr_domains_1]));
+ }
+ NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domains_1, 0);
+@@ -2242,6 +2280,7 @@ static enum ndr_err_code ndr_push_lsa_TransNameArray(struct ndr_push *ndr, int n
+ static enum ndr_err_code ndr_pull_lsa_TransNameArray(struct ndr_pull *ndr, int ndr_flags, struct lsa_TransNameArray *r)
+ {
+ uint32_t _ptr_names;
++ uint32_t size_names_1 = 0;
+ uint32_t cntr_names_1;
+ TALLOC_CTX *_mem_save_names_0;
+ TALLOC_CTX *_mem_save_names_1;
+@@ -2263,13 +2302,14 @@ static enum ndr_err_code ndr_pull_lsa_TransNameArray(struct ndr_pull *ndr, int n
+ _mem_save_names_0 = NDR_PULL_GET_MEM_CTX(ndr);
+ NDR_PULL_SET_MEM_CTX(ndr, r->names, 0);
+ NDR_CHECK(ndr_pull_array_size(ndr, &r->names));
+- NDR_PULL_ALLOC_N(ndr, r->names, ndr_get_array_size(ndr, &r->names));
++ size_names_1 = ndr_get_array_size(ndr, &r->names);
++ NDR_PULL_ALLOC_N(ndr, r->names, size_names_1);
+ _mem_save_names_1 = NDR_PULL_GET_MEM_CTX(ndr);
+ NDR_PULL_SET_MEM_CTX(ndr, r->names, 0);
+- for (cntr_names_1 = 0; cntr_names_1 < r->count; cntr_names_1++) {
++ for (cntr_names_1 = 0; cntr_names_1 < size_names_1; cntr_names_1++) {
+ NDR_CHECK(ndr_pull_lsa_TranslatedName(ndr, NDR_SCALARS, &r->names[cntr_names_1]));
+ }
+- for (cntr_names_1 = 0; cntr_names_1 < r->count; cntr_names_1++) {
++ for (cntr_names_1 = 0; cntr_names_1 < size_names_1; cntr_names_1++) {
+ NDR_CHECK(ndr_pull_lsa_TranslatedName(ndr, NDR_BUFFERS, &r->names[cntr_names_1]));
+ }
+ NDR_PULL_SET_MEM_CTX(ndr, _mem_save_names_1, 0);
+@@ -2358,6 +2398,7 @@ static enum ndr_err_code ndr_push_lsa_PrivilegeSet(struct ndr_push *ndr, int ndr
+
+ static enum ndr_err_code ndr_pull_lsa_PrivilegeSet(struct ndr_pull *ndr, int ndr_flags, struct lsa_PrivilegeSet *r)
+ {
++ uint32_t size_set_0 = 0;
+ uint32_t cntr_set_0;
+ TALLOC_CTX *_mem_save_set_0;
+ if (ndr_flags & NDR_SCALARS) {
+@@ -2368,10 +2409,11 @@ static enum ndr_err_code ndr_pull_lsa_PrivilegeSet(struct ndr_pull *ndr, int ndr
+ return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
+ }
+ NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown));
+- NDR_PULL_ALLOC_N(ndr, r->set, ndr_get_array_size(ndr, &r->set));
++ size_set_0 = ndr_get_array_size(ndr, &r->set);
++ NDR_PULL_ALLOC_N(ndr, r->set, size_set_0);
+ _mem_save_set_0 = NDR_PULL_GET_MEM_CTX(ndr);
+ NDR_PULL_SET_MEM_CTX(ndr, r->set, 0);
+- for (cntr_set_0 = 0; cntr_set_0 < r->count; cntr_set_0++) {
++ for (cntr_set_0 = 0; cntr_set_0 < size_set_0; cntr_set_0++) {
+ NDR_CHECK(ndr_pull_lsa_LUIDAttribute(ndr, NDR_SCALARS, &r->set[cntr_set_0]));
+ }
+ NDR_PULL_SET_MEM_CTX(ndr, _mem_save_set_0, 0);
+@@ -2431,6 +2473,8 @@ static enum ndr_err_code ndr_push_lsa_DATA_BUF(struct ndr_push *ndr, int ndr_fla
+ static enum ndr_err_code ndr_pull_lsa_DATA_BUF(struct ndr_pull *ndr, int ndr_flags, struct lsa_DATA_BUF *r)
+ {
+ uint32_t _ptr_data;
++ uint32_t size_data_1 = 0;
++ uint32_t length_data_1 = 0;
+ TALLOC_CTX *_mem_save_data_0;
+ {
+ uint32_t _flags_save_STRUCT = ndr->flags;
+@@ -2452,11 +2496,13 @@ static enum ndr_err_code ndr_pull_lsa_DATA_BUF(struct ndr_pull *ndr, int ndr_fla
+ NDR_PULL_SET_MEM_CTX(ndr, r->data, 0);
+ NDR_CHECK(ndr_pull_array_size(ndr, &r->data));
+ NDR_CHECK(ndr_pull_array_length(ndr, &r->data));
+- if (ndr_get_array_length(ndr, &r->data) > ndr_get_array_size(ndr, &r->data)) {
+- return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->data), ndr_get_array_length(ndr, &r->data));
++ size_data_1 = ndr_get_array_size(ndr, &r->data);
++ length_data_1 = ndr_get_array_length(ndr, &r->data);
++ if (length_data_1 > size_data_1) {
++ return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_data_1, length_data_1);
+ }
+- NDR_PULL_ALLOC_N(ndr, r->data, ndr_get_array_size(ndr, &r->data));
+- NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->data, ndr_get_array_length(ndr, &r->data)));
++ NDR_PULL_ALLOC_N(ndr, r->data, size_data_1);
++ NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->data, length_data_1));
+ NDR_PULL_SET_MEM_CTX(ndr, _mem_save_data_0, 0);
+ }
+ if (r->data) {
+@@ -2515,6 +2561,7 @@ static enum ndr_err_code ndr_push_lsa_DATA_BUF2(struct ndr_push *ndr, int ndr_fl
+ static enum ndr_err_code ndr_pull_lsa_DATA_BUF2(struct ndr_pull *ndr, int ndr_flags, struct lsa_DATA_BUF2 *r)
+ {
+ uint32_t _ptr_data;
++ uint32_t size_data_1 = 0;
+ TALLOC_CTX *_mem_save_data_0;
+ {
+ uint32_t _flags_save_STRUCT = ndr->flags;
+@@ -2537,8 +2584,9 @@ static enum ndr_err_code ndr_pull_lsa_DATA_BUF2(struct ndr_pull *ndr, int ndr_fl
+ _mem_save_data_0 = NDR_PULL_GET_MEM_CTX(ndr);
+ NDR_PULL_SET_MEM_CTX(ndr, r->data, 0);
+ NDR_CHECK(ndr_pull_array_size(ndr, &r->data));
+- NDR_PULL_ALLOC_N(ndr, r->data, ndr_get_array_size(ndr, &r->data));
+- NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->data, ndr_get_array_size(ndr, &r->data)));
++ size_data_1 = ndr_get_array_size(ndr, &r->data);
++ NDR_PULL_ALLOC_N(ndr, r->data, size_data_1);
++ NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->data, size_data_1));
+ NDR_PULL_SET_MEM_CTX(ndr, _mem_save_data_0, 0);
+ }
+ if (r->data) {
+@@ -3463,6 +3511,7 @@ static enum ndr_err_code ndr_push_lsa_RightSet(struct ndr_push *ndr, int ndr_fla
+ static enum ndr_err_code ndr_pull_lsa_RightSet(struct ndr_pull *ndr, int ndr_flags, struct lsa_RightSet *r)
+ {
+ uint32_t _ptr_names;
++ uint32_t size_names_1 = 0;
+ uint32_t cntr_names_1;
+ TALLOC_CTX *_mem_save_names_0;
+ TALLOC_CTX *_mem_save_names_1;
+@@ -3484,13 +3533,14 @@ static enum ndr_err_code ndr_pull_lsa_RightSet(struct ndr_pull *ndr, int ndr_fla
+ _mem_save_names_0 = NDR_PULL_GET_MEM_CTX(ndr);
+ NDR_PULL_SET_MEM_CTX(ndr, r->names, 0);
+ NDR_CHECK(ndr_pull_array_size(ndr, &r->names));
+- NDR_PULL_ALLOC_N(ndr, r->names, ndr_get_array_size(ndr, &r->names));
++ size_names_1 = ndr_get_array_size(ndr, &r->names);
++ NDR_PULL_ALLOC_N(ndr, r->names, size_names_1);
+ _mem_save_names_1 = NDR_PULL_GET_MEM_CTX(ndr);
+ NDR_PULL_SET_MEM_CTX(ndr, r->names, 0);
+- for (cntr_names_1 = 0; cntr_names_1 < r->count; cntr_names_1++) {
++ for (cntr_names_1 = 0; cntr_names_1 < size_names_1; cntr_names_1++) {
+ NDR_CHECK(ndr_pull_lsa_StringLarge(ndr, NDR_SCALARS, &r->names[cntr_names_1]));
+ }
+- for (cntr_names_1 = 0; cntr_names_1 < r->count; cntr_names_1++) {
++ for (cntr_names_1 = 0; cntr_names_1 < size_names_1; cntr_names_1++) {
+ NDR_CHECK(ndr_pull_lsa_StringLarge(ndr, NDR_BUFFERS, &r->names[cntr_names_1]));
+ }
+ NDR_PULL_SET_MEM_CTX(ndr, _mem_save_names_1, 0);
+@@ -3552,6 +3602,7 @@ static enum ndr_err_code ndr_push_lsa_DomainListEx(struct ndr_push *ndr, int ndr
+ static enum ndr_err_code ndr_pull_lsa_DomainListEx(struct ndr_pull *ndr, int ndr_flags, struct lsa_DomainListEx *r)
+ {
+ uint32_t _ptr_domains;
++ uint32_t size_domains_1 = 0;
+ uint32_t cntr_domains_1;
+ TALLOC_CTX *_mem_save_domains_0;
+ TALLOC_CTX *_mem_save_domains_1;
+@@ -3570,13 +3621,14 @@ static enum ndr_err_code ndr_pull_lsa_DomainListEx(struct ndr_pull *ndr, int ndr
+ _mem_save_domains_0 = NDR_PULL_GET_MEM_CTX(ndr);
+ NDR_PULL_SET_MEM_CTX(ndr, r->domains, 0);
+ NDR_CHECK(ndr_pull_array_size(ndr, &r->domains));
+- NDR_PULL_ALLOC_N(ndr, r->domains, ndr_get_array_size(ndr, &r->domains));
++ size_domains_1 = ndr_get_array_size(ndr, &r->domains);
++ NDR_PULL_ALLOC_N(ndr, r->domains, size_domains_1);
+ _mem_save_domains_1 = NDR_PULL_GET_MEM_CTX(ndr);
+ NDR_PULL_SET_MEM_CTX(ndr, r->domains, 0);
+- for (cntr_domains_1 = 0; cntr_domains_1 < r->count; cntr_domains_1++) {
++ for (cntr_domains_1 = 0; cntr_domains_1 < size_domains_1; cntr_domains_1++) {
+ NDR_CHECK(ndr_pull_lsa_TrustDomainInfoInfoEx(ndr, NDR_SCALARS, &r->domains[cntr_domains_1]));
+ }
+- for (cntr_domains_1 = 0; cntr_domains_1 < r->count; cntr_domains_1++) {
++ for (cntr_domains_1 = 0; cntr_domains_1 < size_domains_1; cntr_domains_1++) {
+ NDR_CHECK(ndr_pull_lsa_TrustDomainInfoInfoEx(ndr, NDR_BUFFERS, &r->domains[cntr_domains_1]));
+ }
+ NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domains_1, 0);
+@@ -3677,6 +3729,7 @@ static enum ndr_err_code ndr_push_lsa_DomainInfoEfs(struct ndr_push *ndr, int nd
+ static enum ndr_err_code ndr_pull_lsa_DomainInfoEfs(struct ndr_pull *ndr, int ndr_flags, struct lsa_DomainInfoEfs *r)
+ {
+ uint32_t _ptr_efs_blob;
++ uint32_t size_efs_blob_1 = 0;
+ TALLOC_CTX *_mem_save_efs_blob_0;
+ if (ndr_flags & NDR_SCALARS) {
+ NDR_CHECK(ndr_pull_align(ndr, 4));
+@@ -3693,8 +3746,9 @@ static enum ndr_err_code ndr_pull_lsa_DomainInfoEfs(struct ndr_pull *ndr, int nd
+ _mem_save_efs_blob_0 = NDR_PULL_GET_MEM_CTX(ndr);
+ NDR_PULL_SET_MEM_CTX(ndr, r->efs_blob, 0);
+ NDR_CHECK(ndr_pull_array_size(ndr, &r->efs_blob));
+- NDR_PULL_ALLOC_N(ndr, r->efs_blob, ndr_get_array_size(ndr, &r->efs_blob));
+- NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->efs_blob, ndr_get_array_size(ndr, &r->efs_blob)));
++ size_efs_blob_1 = ndr_get_array_size(ndr, &r->efs_blob);
++ NDR_PULL_ALLOC_N(ndr, r->efs_blob, size_efs_blob_1);
++ NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->efs_blob, size_efs_blob_1));
+ NDR_PULL_SET_MEM_CTX(ndr, _mem_save_efs_blob_0, 0);
+ }
+ if (r->efs_blob) {
+@@ -3877,6 +3931,7 @@ static enum ndr_err_code ndr_push_lsa_TransNameArray2(struct ndr_push *ndr, int
+ static enum ndr_err_code ndr_pull_lsa_TransNameArray2(struct ndr_pull *ndr, int ndr_flags, struct lsa_TransNameArray2 *r)
+ {
+ uint32_t _ptr_names;
++ uint32_t size_names_1 = 0;
+ uint32_t cntr_names_1;
+ TALLOC_CTX *_mem_save_names_0;
+ TALLOC_CTX *_mem_save_names_1;
+@@ -3898,13 +3953,14 @@ static enum ndr_err_code ndr_pull_lsa_TransNameArray2(struct ndr_pull *ndr, int
+ _mem_save_names_0 = NDR_PULL_GET_MEM_CTX(ndr);
+ NDR_PULL_SET_MEM_CTX(ndr, r->names, 0);
+ NDR_CHECK(ndr_pull_array_size(ndr, &r->names));
+- NDR_PULL_ALLOC_N(ndr, r->names, ndr_get_array_size(ndr, &r->names));
++ size_names_1 = ndr_get_array_size(ndr, &r->names);
++ NDR_PULL_ALLOC_N(ndr, r->names, size_names_1);
+ _mem_save_names_1 = NDR_PULL_GET_MEM_CTX(ndr);
+ NDR_PULL_SET_MEM_CTX(ndr, r->names, 0);
+- for (cntr_names_1 = 0; cntr_names_1 < r->count; cntr_names_1++) {
++ for (cntr_names_1 = 0; cntr_names_1 < size_names_1; cntr_names_1++) {
+ NDR_CHECK(ndr_pull_lsa_TranslatedName2(ndr, NDR_SCALARS, &r->names[cntr_names_1]));
+ }
+- for (cntr_names_1 = 0; cntr_names_1 < r->count; cntr_names_1++) {
++ for (cntr_names_1 = 0; cntr_names_1 < size_names_1; cntr_names_1++) {
+ NDR_CHECK(ndr_pull_lsa_TranslatedName2(ndr, NDR_BUFFERS, &r->names[cntr_names_1]));
+ }
+ NDR_PULL_SET_MEM_CTX(ndr, _mem_save_names_1, 0);
+@@ -4002,6 +4058,7 @@ static enum ndr_err_code ndr_push_lsa_TransSidArray2(struct ndr_push *ndr, int n
+ static enum ndr_err_code ndr_pull_lsa_TransSidArray2(struct ndr_pull *ndr, int ndr_flags, struct lsa_TransSidArray2 *r)
+ {
+ uint32_t _ptr_sids;
++ uint32_t size_sids_1 = 0;
+ uint32_t cntr_sids_1;
+ TALLOC_CTX *_mem_save_sids_0;
+ TALLOC_CTX *_mem_save_sids_1;
+@@ -4023,10 +4080,11 @@ static enum ndr_err_code ndr_pull_lsa_TransSidArray2(struct ndr_pull *ndr, int n
+ _mem_save_sids_0 = NDR_PULL_GET_MEM_CTX(ndr);
+ NDR_PULL_SET_MEM_CTX(ndr, r->sids, 0);
+ NDR_CHECK(ndr_pull_array_size(ndr, &r->sids));
+- NDR_PULL_ALLOC_N(ndr, r->sids, ndr_get_array_size(ndr, &r->sids));
++ size_sids_1 = ndr_get_array_size(ndr, &r->sids);
++ NDR_PULL_ALLOC_N(ndr, r->sids, size_sids_1);
+ _mem_save_sids_1 = NDR_PULL_GET_MEM_CTX(ndr);
+ NDR_PULL_SET_MEM_CTX(ndr, r->sids, 0);
+- for (cntr_sids_1 = 0; cntr_sids_1 < r->count; cntr_sids_1++) {
++ for (cntr_sids_1 = 0; cntr_sids_1 < size_sids_1; cntr_sids_1++) {
+ NDR_CHECK(ndr_pull_lsa_TranslatedSid2(ndr, NDR_SCALARS, &r->sids[cntr_sids_1]));
+ }
+ NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sids_1, 0);
+@@ -4148,6 +4206,7 @@ static enum ndr_err_code ndr_push_lsa_TransSidArray3(struct ndr_push *ndr, int n
+ static enum ndr_err_code ndr_pull_lsa_TransSidArray3(struct ndr_pull *ndr, int ndr_flags, struct lsa_TransSidArray3 *r)
+ {
+ uint32_t _ptr_sids;
++ uint32_t size_sids_1 = 0;
+ uint32_t cntr_sids_1;
+ TALLOC_CTX *_mem_save_sids_0;
+ TALLOC_CTX *_mem_save_sids_1;
+@@ -4169,13 +4228,14 @@ static enum ndr_err_code ndr_pull_lsa_TransSidArray3(struct ndr_pull *ndr, int n
+ _mem_save_sids_0 = NDR_PULL_GET_MEM_CTX(ndr);
+ NDR_PULL_SET_MEM_CTX(ndr, r->sids, 0);
+ NDR_CHECK(ndr_pull_array_size(ndr, &r->sids));
+- NDR_PULL_ALLOC_N(ndr, r->sids, ndr_get_array_size(ndr, &r->sids));
++ size_sids_1 = ndr_get_array_size(ndr, &r->sids);
++ NDR_PULL_ALLOC_N(ndr, r->sids, size_sids_1);
+ _mem_save_sids_1 = NDR_PULL_GET_MEM_CTX(ndr);
+ NDR_PULL_SET_MEM_CTX(ndr, r->sids, 0);
+- for (cntr_sids_1 = 0; cntr_sids_1 < r->count; cntr_sids_1++) {
++ for (cntr_sids_1 = 0; cntr_sids_1 < size_sids_1; cntr_sids_1++) {
+ NDR_CHECK(ndr_pull_lsa_TranslatedSid3(ndr, NDR_SCALARS, &r->sids[cntr_sids_1]));
+ }
+- for (cntr_sids_1 = 0; cntr_sids_1 < r->count; cntr_sids_1++) {
++ for (cntr_sids_1 = 0; cntr_sids_1 < size_sids_1; cntr_sids_1++) {
+ NDR_CHECK(ndr_pull_lsa_TranslatedSid3(ndr, NDR_BUFFERS, &r->sids[cntr_sids_1]));
+ }
+ NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sids_1, 0);
+@@ -4231,6 +4291,7 @@ static enum ndr_err_code ndr_push_lsa_ForestTrustBinaryData(struct ndr_push *ndr
+ static enum ndr_err_code ndr_pull_lsa_ForestTrustBinaryData(struct ndr_pull *ndr, int ndr_flags, struct lsa_ForestTrustBinaryData *r)
+ {
+ uint32_t _ptr_data;
++ uint32_t size_data_1 = 0;
+ TALLOC_CTX *_mem_save_data_0;
+ if (ndr_flags & NDR_SCALARS) {
+ NDR_CHECK(ndr_pull_align(ndr, 4));
+@@ -4250,8 +4311,9 @@ static enum ndr_err_code ndr_pull_lsa_ForestTrustBinaryData(struct ndr_pull *ndr
+ _mem_save_data_0 = NDR_PULL_GET_MEM_CTX(ndr);
+ NDR_PULL_SET_MEM_CTX(ndr, r->data, 0);
+ NDR_CHECK(ndr_pull_array_size(ndr, &r->data));
+- NDR_PULL_ALLOC_N(ndr, r->data, ndr_get_array_size(ndr, &r->data));
+- NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->data, ndr_get_array_size(ndr, &r->data)));
++ size_data_1 = ndr_get_array_size(ndr, &r->data);
++ NDR_PULL_ALLOC_N(ndr, r->data, size_data_1);
++ NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->data, size_data_1));
+ NDR_PULL_SET_MEM_CTX(ndr, _mem_save_data_0, 0);
+ }
+ if (r->data) {
+@@ -4559,6 +4621,7 @@ _PUBLIC_ enum ndr_err_code ndr_push_lsa_ForestTrustInformation(struct ndr_push *
+ _PUBLIC_ enum ndr_err_code ndr_pull_lsa_ForestTrustInformation(struct ndr_pull *ndr, int ndr_flags, struct lsa_ForestTrustInformation *r)
+ {
+ uint32_t _ptr_entries;
++ uint32_t size_entries_1 = 0;
+ uint32_t cntr_entries_1;
+ TALLOC_CTX *_mem_save_entries_0;
+ TALLOC_CTX *_mem_save_entries_1;
+@@ -4581,10 +4644,11 @@ _PUBLIC_ enum ndr_err_code ndr_pull_lsa_ForestTrustInformation(struct ndr_pull *
+ _mem_save_entries_0 = NDR_PULL_GET_MEM_CTX(ndr);
+ NDR_PULL_SET_MEM_CTX(ndr, r->entries, 0);
+ NDR_CHECK(ndr_pull_array_size(ndr, &r->entries));
+- NDR_PULL_ALLOC_N(ndr, r->entries, ndr_get_array_size(ndr, &r->entries));
++ size_entries_1 = ndr_get_array_size(ndr, &r->entries);
++ NDR_PULL_ALLOC_N(ndr, r->entries, size_entries_1);
+ _mem_save_entries_1 = NDR_PULL_GET_MEM_CTX(ndr);
+ NDR_PULL_SET_MEM_CTX(ndr, r->entries, 0);
+- for (cntr_entries_1 = 0; cntr_entries_1 < r->count; cntr_entries_1++) {
++ for (cntr_entries_1 = 0; cntr_entries_1 < size_entries_1; cntr_entries_1++) {
+ NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_entries));
+ if (_ptr_entries) {
+ NDR_PULL_ALLOC(ndr, r->entries[cntr_entries_1]);
+@@ -4592,7 +4656,7 @@ _PUBLIC_ enum ndr_err_code ndr_pull_lsa_ForestTrustInformation(struct ndr_pull *
+ r->entries[cntr_entries_1] = NULL;
+ }
+ }
+- for (cntr_entries_1 = 0; cntr_entries_1 < r->count; cntr_entries_1++) {
++ for (cntr_entries_1 = 0; cntr_entries_1 < size_entries_1; cntr_entries_1++) {
+ if (r->entries[cntr_entries_1]) {
+ _mem_save_entries_2 = NDR_PULL_GET_MEM_CTX(ndr);
+ NDR_PULL_SET_MEM_CTX(ndr, r->entries[cntr_entries_1], 0);
+@@ -5901,6 +5965,7 @@ _PUBLIC_ enum ndr_err_code ndr_push_lsa_LookupNames(struct ndr_push *ndr, int fl
+
+ _PUBLIC_ enum ndr_err_code ndr_pull_lsa_LookupNames(struct ndr_pull *ndr, int flags, struct lsa_LookupNames *r)
+ {
++ uint32_t size_names_0 = 0;
+ uint32_t cntr_names_0;
+ uint32_t _ptr_domains;
+ TALLOC_CTX *_mem_save_handle_0;
+@@ -5924,13 +5989,14 @@ _PUBLIC_ enum ndr_err_code ndr_pull_lsa_LookupNames(struct ndr_pull *ndr, int fl
+ return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
+ }
+ NDR_CHECK(ndr_pull_array_size(ndr, &r->in.names));
+- NDR_PULL_ALLOC_N(ndr, r->in.names, ndr_get_array_size(ndr, &r->in.names));
++ size_names_0 = ndr_get_array_size(ndr, &r->in.names);
++ NDR_PULL_ALLOC_N(ndr, r->in.names, size_names_0);
+ _mem_save_names_0 = NDR_PULL_GET_MEM_CTX(ndr);
+ NDR_PULL_SET_MEM_CTX(ndr, r->in.names, 0);
+- for (cntr_names_0 = 0; cntr_names_0 < r->in.num_names; cntr_names_0++) {
++ for (cntr_names_0 = 0; cntr_names_0 < size_names_0; cntr_names_0++) {
+ NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->in.names[cntr_names_0]));
+ }
+- for (cntr_names_0 = 0; cntr_names_0 < r->in.num_names; cntr_names_0++) {
++ for (cntr_names_0 = 0; cntr_names_0 < size_names_0; cntr_names_0++) {
+ NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->in.names[cntr_names_0]));
+ }
+ NDR_PULL_SET_MEM_CTX(ndr, _mem_save_names_0, 0);
+@@ -8709,6 +8775,8 @@ _PUBLIC_ enum ndr_err_code ndr_push_lsa_OpenPolicy2(struct ndr_push *ndr, int fl
+ _PUBLIC_ enum ndr_err_code ndr_pull_lsa_OpenPolicy2(struct ndr_pull *ndr, int flags, struct lsa_OpenPolicy2 *r)
+ {
+ uint32_t _ptr_system_name;
++ uint32_t size_system_name_1 = 0;
++ uint32_t length_system_name_1 = 0;
+ TALLOC_CTX *_mem_save_system_name_0;
+ TALLOC_CTX *_mem_save_attr_0;
+ TALLOC_CTX *_mem_save_handle_0;
+@@ -8726,11 +8794,13 @@ _PUBLIC_ enum ndr_err_code ndr_pull_lsa_OpenPolicy2(struct ndr_pull *ndr, int fl
+ NDR_PULL_SET_MEM_CTX(ndr, r->in.system_name, 0);
+ NDR_CHECK(ndr_pull_array_size(ndr, &r->in.system_name));
+ NDR_CHECK(ndr_pull_array_length(ndr, &r->in.system_name));
+- if (ndr_get_array_length(ndr, &r->in.system_name) > ndr_get_array_size(ndr, &r->in.system_name)) {
+- return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.system_name), ndr_get_array_length(ndr, &r->in.system_name));
++ size_system_name_1 = ndr_get_array_size(ndr, &r->in.system_name);
++ length_system_name_1 = ndr_get_array_length(ndr, &r->in.system_name);
++ if (length_system_name_1 > size_system_name_1) {
++ return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_system_name_1, length_system_name_1);
+ }
+- NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.system_name), sizeof(uint16_t)));
+- NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.system_name, ndr_get_array_length(ndr, &r->in.system_name), sizeof(uint16_t), CH_UTF16));
++ NDR_CHECK(ndr_check_string_terminator(ndr, length_system_name_1, sizeof(uint16_t)));
++ NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.system_name, length_system_name_1, sizeof(uint16_t), CH_UTF16));
+ NDR_PULL_SET_MEM_CTX(ndr, _mem_save_system_name_0, 0);
+ }
+ if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
+@@ -8841,6 +8911,8 @@ static enum ndr_err_code ndr_push_lsa_GetUserName(struct ndr_push *ndr, int flag
+ static enum ndr_err_code ndr_pull_lsa_GetUserName(struct ndr_pull *ndr, int flags, struct lsa_GetUserName *r)
+ {
+ uint32_t _ptr_system_name;
++ uint32_t size_system_name_1 = 0;
++ uint32_t length_system_name_1 = 0;
+ uint32_t _ptr_account_name;
+ uint32_t _ptr_authority_name;
+ TALLOC_CTX *_mem_save_system_name_0;
+@@ -8862,11 +8934,13 @@ static enum ndr_err_code ndr_pull_lsa_GetUserName(struct ndr_pull *ndr, int flag
+ NDR_PULL_SET_MEM_CTX(ndr, r->in.system_name, 0);
+ NDR_CHECK(ndr_pull_array_size(ndr, &r->in.system_name));
+ NDR_CHECK(ndr_pull_array_length(ndr, &r->in.system_name));
+- if (ndr_get_array_length(ndr, &r->in.system_name) > ndr_get_array_size(ndr, &r->in.system_name)) {
+- return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.system_name), ndr_get_array_length(ndr, &r->in.system_name));
++ size_system_name_1 = ndr_get_array_size(ndr, &r->in.system_name);
++ length_system_name_1 = ndr_get_array_length(ndr, &r->in.system_name);
++ if (length_system_name_1 > size_system_name_1) {
++ return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_system_name_1, length_system_name_1);
+ }
+- NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.system_name), sizeof(uint16_t)));
+- NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.system_name, ndr_get_array_length(ndr, &r->in.system_name), sizeof(uint16_t), CH_UTF16));
++ NDR_CHECK(ndr_check_string_terminator(ndr, length_system_name_1, sizeof(uint16_t)));
++ NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.system_name, length_system_name_1, sizeof(uint16_t), CH_UTF16));
+ NDR_PULL_SET_MEM_CTX(ndr, _mem_save_system_name_0, 0);
+ }
+ if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
+@@ -10205,6 +10279,7 @@ _PUBLIC_ enum ndr_err_code ndr_push_lsa_LookupNames2(struct ndr_push *ndr, int f
+
+ _PUBLIC_ enum ndr_err_code ndr_pull_lsa_LookupNames2(struct ndr_pull *ndr, int flags, struct lsa_LookupNames2 *r)
+ {
++ uint32_t size_names_0 = 0;
+ uint32_t cntr_names_0;
+ uint32_t _ptr_domains;
+ TALLOC_CTX *_mem_save_handle_0;
+@@ -10228,13 +10303,14 @@ _PUBLIC_ enum ndr_err_code ndr_pull_lsa_LookupNames2(struct ndr_pull *ndr, int f
+ return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
+ }
+ NDR_CHECK(ndr_pull_array_size(ndr, &r->in.names));
+- NDR_PULL_ALLOC_N(ndr, r->in.names, ndr_get_array_size(ndr, &r->in.names));
++ size_names_0 = ndr_get_array_size(ndr, &r->in.names);
++ NDR_PULL_ALLOC_N(ndr, r->in.names, size_names_0);
+ _mem_save_names_0 = NDR_PULL_GET_MEM_CTX(ndr);
+ NDR_PULL_SET_MEM_CTX(ndr, r->in.names, 0);
+- for (cntr_names_0 = 0; cntr_names_0 < r->in.num_names; cntr_names_0++) {
++ for (cntr_names_0 = 0; cntr_names_0 < size_names_0; cntr_names_0++) {
+ NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->in.names[cntr_names_0]));
+ }
+- for (cntr_names_0 = 0; cntr_names_0 < r->in.num_names; cntr_names_0++) {
++ for (cntr_names_0 = 0; cntr_names_0 < size_names_0; cntr_names_0++) {
+ NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->in.names[cntr_names_0]));
+ }
+ NDR_PULL_SET_MEM_CTX(ndr, _mem_save_names_0, 0);
+@@ -10788,6 +10864,7 @@ _PUBLIC_ enum ndr_err_code ndr_push_lsa_LookupNames3(struct ndr_push *ndr, int f
+
+ _PUBLIC_ enum ndr_err_code ndr_pull_lsa_LookupNames3(struct ndr_pull *ndr, int flags, struct lsa_LookupNames3 *r)
+ {
++ uint32_t size_names_0 = 0;
+ uint32_t cntr_names_0;
+ uint32_t _ptr_domains;
+ TALLOC_CTX *_mem_save_handle_0;
+@@ -10811,13 +10888,14 @@ _PUBLIC_ enum ndr_err_code ndr_pull_lsa_LookupNames3(struct ndr_pull *ndr, int f
+ return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
+ }
+ NDR_CHECK(ndr_pull_array_size(ndr, &r->in.names));
+- NDR_PULL_ALLOC_N(ndr, r->in.names, ndr_get_array_size(ndr, &r->in.names));
++ size_names_0 = ndr_get_array_size(ndr, &r->in.names);
++ NDR_PULL_ALLOC_N(ndr, r->in.names, size_names_0);
+ _mem_save_names_0 = NDR_PULL_GET_MEM_CTX(ndr);
+ NDR_PULL_SET_MEM_CTX(ndr, r->in.names, 0);
+- for (cntr_names_0 = 0; cntr_names_0 < r->in.num_names; cntr_names_0++) {
++ for (cntr_names_0 = 0; cntr_names_0 < size_names_0; cntr_names_0++) {
+ NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->in.names[cntr_names_0]));
+ }
+- for (cntr_names_0 = 0; cntr_names_0 < r->in.num_names; cntr_names_0++) {
++ for (cntr_names_0 = 0; cntr_names_0 < size_names_0; cntr_names_0++) {
+ NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->in.names[cntr_names_0]));
+ }
+ NDR_PULL_SET_MEM_CTX(ndr, _mem_save_names_0, 0);
+@@ -11534,6 +11612,7 @@ static enum ndr_err_code ndr_push_lsa_LookupNames4(struct ndr_push *ndr, int fla
+
+ static enum ndr_err_code ndr_pull_lsa_LookupNames4(struct ndr_pull *ndr, int flags, struct lsa_LookupNames4 *r)
+ {
++ uint32_t size_names_0 = 0;
+ uint32_t cntr_names_0;
+ uint32_t _ptr_domains;
+ TALLOC_CTX *_mem_save_names_0;
+@@ -11549,13 +11628,14 @@ static enum ndr_err_code ndr_pull_lsa_LookupNames4(struct ndr_pull *ndr, int fla
+ return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
+ }
+ NDR_CHECK(ndr_pull_array_size(ndr, &r->in.names));
+- NDR_PULL_ALLOC_N(ndr, r->in.names, ndr_get_array_size(ndr, &r->in.names));
++ size_names_0 = ndr_get_array_size(ndr, &r->in.names);
++ NDR_PULL_ALLOC_N(ndr, r->in.names, size_names_0);
+ _mem_save_names_0 = NDR_PULL_GET_MEM_CTX(ndr);
+ NDR_PULL_SET_MEM_CTX(ndr, r->in.names, 0);
+- for (cntr_names_0 = 0; cntr_names_0 < r->in.num_names; cntr_names_0++) {
++ for (cntr_names_0 = 0; cntr_names_0 < size_names_0; cntr_names_0++) {
+ NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->in.names[cntr_names_0]));
+ }
+- for (cntr_names_0 = 0; cntr_names_0 < r->in.num_names; cntr_names_0++) {
++ for (cntr_names_0 = 0; cntr_names_0 < size_names_0; cntr_names_0++) {
+ NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->in.names[cntr_names_0]));
+ }
+ NDR_PULL_SET_MEM_CTX(ndr, _mem_save_names_0, 0);
+diff --git a/source/librpc/gen_ndr/ndr_messaging.c b/source/librpc/gen_ndr/ndr_messaging.c
+index 6251c18..f9f4b6b 100644
+--- a/source/librpc/gen_ndr/ndr_messaging.c
++++ b/source/librpc/gen_ndr/ndr_messaging.c
+@@ -69,23 +69,26 @@ _PUBLIC_ enum ndr_err_code ndr_push_messaging_array(struct ndr_push *ndr, int nd
+
+ _PUBLIC_ enum ndr_err_code ndr_pull_messaging_array(struct ndr_pull *ndr, int ndr_flags, struct messaging_array *r)
+ {
++ uint32_t size_messages_0 = 0;
+ uint32_t cntr_messages_0;
+ TALLOC_CTX *_mem_save_messages_0;
+ if (ndr_flags & NDR_SCALARS) {
+ NDR_CHECK(ndr_pull_align(ndr, 4));
+ NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->num_messages));
+- NDR_PULL_ALLOC_N(ndr, r->messages, r->num_messages);
++ size_messages_0 = r->num_messages;
++ NDR_PULL_ALLOC_N(ndr, r->messages, size_messages_0);
+ _mem_save_messages_0 = NDR_PULL_GET_MEM_CTX(ndr);
+ NDR_PULL_SET_MEM_CTX(ndr, r->messages, 0);
+- for (cntr_messages_0 = 0; cntr_messages_0 < r->num_messages; cntr_messages_0++) {
++ for (cntr_messages_0 = 0; cntr_messages_0 < size_messages_0; cntr_messages_0++) {
+ NDR_CHECK(ndr_pull_messaging_rec(ndr, NDR_SCALARS, &r->messages[cntr_messages_0]));
+ }
+ NDR_PULL_SET_MEM_CTX(ndr, _mem_save_messages_0, 0);
+ }
+ if (ndr_flags & NDR_BUFFERS) {
++ size_messages_0 = r->num_messages;
+ _mem_save_messages_0 = NDR_PULL_GET_MEM_CTX(ndr);
+ NDR_PULL_SET_MEM_CTX(ndr, r->messages, 0);
+- for (cntr_messages_0 = 0; cntr_messages_0 < r->num_messages; cntr_messages_0++) {
++ for (cntr_messages_0 = 0; cntr_messages_0 < size_messages_0; cntr_messages_0++) {
+ NDR_CHECK(ndr_pull_messaging_rec(ndr, NDR_BUFFERS, &r->messages[cntr_messages_0]));
+ }
+ NDR_PULL_SET_MEM_CTX(ndr, _mem_save_messages_0, 0);
+@@ -138,27 +141,35 @@ _PUBLIC_ enum ndr_err_code ndr_push_dbwrap_tdb2_changes(struct ndr_push *ndr, in
+
+ _PUBLIC_ enum ndr_err_code ndr_pull_dbwrap_tdb2_changes(struct ndr_pull *ndr, int ndr_flags, struct dbwrap_tdb2_changes *r)
+ {
++ uint32_t size_magic_string_0 = 0;
++ uint32_t size_name_0 = 0;
++ uint32_t length_name_0 = 0;
++ uint32_t size_keys_0 = 0;
+ uint32_t cntr_keys_0;
+ TALLOC_CTX *_mem_save_keys_0;
+ if (ndr_flags & NDR_SCALARS) {
+ NDR_CHECK(ndr_pull_align(ndr, 4));
+- NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->magic_string, 4, sizeof(uint8_t), CH_DOS));
++ size_magic_string_0 = 4;
++ NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->magic_string, size_magic_string_0, sizeof(uint8_t), CH_DOS));
+ NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->magic_version));
+ NDR_CHECK(ndr_pull_array_size(ndr, &r->name));
+ NDR_CHECK(ndr_pull_array_length(ndr, &r->name));
+- if (ndr_get_array_length(ndr, &r->name) > ndr_get_array_size(ndr, &r->name)) {
+- return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->name), ndr_get_array_length(ndr, &r->name));
++ size_name_0 = ndr_get_array_size(ndr, &r->name);
++ length_name_0 = ndr_get_array_length(ndr, &r->name);
++ if (length_name_0 > size_name_0) {
++ return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_name_0, length_name_0);
+ }
+- NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->name), sizeof(uint8_t)));
+- NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->name, ndr_get_array_length(ndr, &r->name), sizeof(uint8_t), CH_UTF8));
++ NDR_CHECK(ndr_check_string_terminator(ndr, length_name_0, sizeof(uint8_t)));
++ NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->name, length_name_0, sizeof(uint8_t), CH_UTF8));
+ NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->old_seqnum));
+ NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->new_seqnum));
+ NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->num_changes));
+ NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->num_keys));
+- NDR_PULL_ALLOC_N(ndr, r->keys, r->num_keys);
++ size_keys_0 = r->num_keys;
++ NDR_PULL_ALLOC_N(ndr, r->keys, size_keys_0);
+ _mem_save_keys_0 = NDR_PULL_GET_MEM_CTX(ndr);
+ NDR_PULL_SET_MEM_CTX(ndr, r->keys, 0);
+- for (cntr_keys_0 = 0; cntr_keys_0 < r->num_keys; cntr_keys_0++) {
++ for (cntr_keys_0 = 0; cntr_keys_0 < size_keys_0; cntr_keys_0++) {
+ NDR_CHECK(ndr_pull_DATA_BLOB(ndr, NDR_SCALARS, &r->keys[cntr_keys_0]));
+ }
+ NDR_PULL_SET_MEM_CTX(ndr, _mem_save_keys_0, 0);
+diff --git a/source/librpc/gen_ndr/ndr_misc.c b/source/librpc/gen_ndr/ndr_misc.c
+index 56105d4..12da791 100644
+--- a/source/librpc/gen_ndr/ndr_misc.c
++++ b/source/librpc/gen_ndr/ndr_misc.c
+@@ -20,13 +20,17 @@ _PUBLIC_ enum ndr_err_code ndr_push_GUID(struct ndr_push *ndr, int ndr_flags, co
+
+ _PUBLIC_ enum ndr_err_code ndr_pull_GUID(struct ndr_pull *ndr, int ndr_flags, struct GUID *r)
+ {
++ uint32_t size_clock_seq_0 = 0;
++ uint32_t size_node_0 = 0;
+ if (ndr_flags & NDR_SCALARS) {
+ NDR_CHECK(ndr_pull_align(ndr, 4));
+ NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->time_low));
+ NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->time_mid));
+ NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->time_hi_and_version));
+- NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->clock_seq, 2));
+- NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->node, 6));
++ size_clock_seq_0 = 2;
++ NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->clock_seq, size_clock_seq_0));
++ size_node_0 = 6;
++ NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->node, size_node_0));
+ }
+ if (ndr_flags & NDR_BUFFERS) {
+ }
+diff --git a/source/librpc/gen_ndr/ndr_netlogon.c b/source/librpc/gen_ndr/ndr_netlogon.c
+index e7df081..4d6148f 100644
+--- a/source/librpc/gen_ndr/ndr_netlogon.c
++++ b/source/librpc/gen_ndr/ndr_netlogon.c
+@@ -60,12 +60,20 @@ static enum ndr_err_code ndr_push_netr_UasInfo(struct ndr_push *ndr, int ndr_fla
+ static enum ndr_err_code ndr_pull_netr_UasInfo(struct ndr_pull *ndr, int ndr_flags, struct netr_UasInfo *r)
+ {
+ uint32_t _ptr_account_name;
++ uint32_t size_account_name_1 = 0;
++ uint32_t length_account_name_1 = 0;
+ TALLOC_CTX *_mem_save_account_name_0;
+ uint32_t _ptr_computer;
++ uint32_t size_computer_1 = 0;
++ uint32_t length_computer_1 = 0;
+ TALLOC_CTX *_mem_save_computer_0;
+ uint32_t _ptr_domain;
++ uint32_t size_domain_1 = 0;
++ uint32_t length_domain_1 = 0;
+ TALLOC_CTX *_mem_save_domain_0;
+ uint32_t _ptr_script_path;
++ uint32_t size_script_path_1 = 0;
++ uint32_t length_script_path_1 = 0;
+ TALLOC_CTX *_mem_save_script_path_0;
+ if (ndr_flags & NDR_SCALARS) {
+ NDR_CHECK(ndr_pull_align(ndr, 4));
+@@ -112,11 +120,13 @@ static enum ndr_err_code ndr_pull_netr_UasInfo(struct ndr_pull *ndr, int ndr_fla
+ NDR_PULL_SET_MEM_CTX(ndr, r->account_name, 0);
+ NDR_CHECK(ndr_pull_array_size(ndr, &r->account_name));
+ NDR_CHECK(ndr_pull_array_length(ndr, &r->account_name));
+- if (ndr_get_array_length(ndr, &r->account_name) > ndr_get_array_size(ndr, &r->account_name)) {
+- return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->account_name), ndr_get_array_length(ndr, &r->account_name));
++ size_account_name_1 = ndr_get_array_size(ndr, &r->account_name);
++ length_account_name_1 = ndr_get_array_length(ndr, &r->account_name);
++ if (length_account_name_1 > size_account_name_1) {
++ return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_account_name_1, length_account_name_1);
+ }
+- NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->account_name), sizeof(uint16_t)));
+- NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->account_name, ndr_get_array_length(ndr, &r->account_name), sizeof(uint16_t), CH_UTF16));
++ NDR_CHECK(ndr_check_string_terminator(ndr, length_account_name_1, sizeof(uint16_t)));
++ NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->account_name, length_account_name_1, sizeof(uint16_t), CH_UTF16));
+ NDR_PULL_SET_MEM_CTX(ndr, _mem_save_account_name_0, 0);
+ }
+ if (r->computer) {
+@@ -124,11 +134,13 @@ static enum ndr_err_code ndr_pull_netr_UasInfo(struct ndr_pull *ndr, int ndr_fla
+ NDR_PULL_SET_MEM_CTX(ndr, r->computer, 0);
+ NDR_CHECK(ndr_pull_array_size(ndr, &r->computer));
+ NDR_CHECK(ndr_pull_array_length(ndr, &r->computer));
+- if (ndr_get_array_length(ndr, &r->computer) > ndr_get_array_size(ndr, &r->computer)) {
+- return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->computer), ndr_get_array_length(ndr, &r->computer));
++ size_computer_1 = ndr_get_array_size(ndr, &r->computer);
++ length_computer_1 = ndr_get_array_length(ndr, &r->computer);
++ if (length_computer_1 > size_computer_1) {
++ return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_computer_1, length_computer_1);
+ }
+- NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->computer), sizeof(uint16_t)));
+- NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->computer, ndr_get_array_length(ndr, &r->computer), sizeof(uint16_t), CH_UTF16));
++ NDR_CHECK(ndr_check_string_terminator(ndr, length_computer_1, sizeof(uint16_t)));
++ NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->computer, length_computer_1, sizeof(uint16_t), CH_UTF16));
+ NDR_PULL_SET_MEM_CTX(ndr, _mem_save_computer_0, 0);
+ }
+ if (r->domain) {
+@@ -136,11 +148,13 @@ static enum ndr_err_code ndr_pull_netr_UasInfo(struct ndr_pull *ndr, int ndr_fla
+ NDR_PULL_SET_MEM_CTX(ndr, r->domain, 0);
+ NDR_CHECK(ndr_pull_array_size(ndr, &r->domain));
+ NDR_CHECK(ndr_pull_array_length(ndr, &r->domain));
+- if (ndr_get_array_length(ndr, &r->domain) > ndr_get_array_size(ndr, &r->domain)) {
+- return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->domain), ndr_get_array_length(ndr, &r->domain));
++ size_domain_1 = ndr_get_array_size(ndr, &r->domain);
++ length_domain_1 = ndr_get_array_length(ndr, &r->domain);
++ if (length_domain_1 > size_domain_1) {
++ return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_domain_1, length_domain_1);
+ }
+- NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->domain), sizeof(uint16_t)));
+- NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->domain, ndr_get_array_length(ndr, &r->domain), sizeof(uint16_t), CH_UTF16));
++ NDR_CHECK(ndr_check_string_terminator(ndr, length_domain_1, sizeof(uint16_t)));
++ NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->domain, length_domain_1, sizeof(uint16_t), CH_UTF16));
+ NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_0, 0);
+ }
+ if (r->script_path) {
+@@ -148,11 +162,13 @@ static enum ndr_err_code ndr_pull_netr_UasInfo(struct ndr_pull *ndr, int ndr_fla
+ NDR_PULL_SET_MEM_CTX(ndr, r->script_path, 0);
+ NDR_CHECK(ndr_pull_array_size(ndr, &r->script_path));
+ NDR_CHECK(ndr_pull_array_length(ndr, &r->script_path));
+- if (ndr_get_array_length(ndr, &r->script_path) > ndr_get_array_size(ndr, &r->script_path)) {
+- return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->script_path), ndr_get_array_length(ndr, &r->script_path));
++ size_script_path_1 = ndr_get_array_size(ndr, &r->script_path);
++ length_script_path_1 = ndr_get_array_length(ndr, &r->script_path);
++ if (length_script_path_1 > size_script_path_1) {
++ return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_script_path_1, length_script_path_1);
+ }
+- NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->script_path), sizeof(uint16_t)));
+- NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->script_path, ndr_get_array_length(ndr, &r->script_path), sizeof(uint16_t), CH_UTF16));
++ NDR_CHECK(ndr_check_string_terminator(ndr, length_script_path_1, sizeof(uint16_t)));
++ NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->script_path, length_script_path_1, sizeof(uint16_t), CH_UTF16));
+ NDR_PULL_SET_MEM_CTX(ndr, _mem_save_script_path_0, 0);
+ }
+ }
+@@ -421,6 +437,8 @@ static enum ndr_err_code ndr_push_netr_ChallengeResponse(struct ndr_push *ndr, i
+ static enum ndr_err_code ndr_pull_netr_ChallengeResponse(struct ndr_pull *ndr, int ndr_flags, struct netr_ChallengeResponse *r)
+ {
+ uint32_t _ptr_data;
++ uint32_t size_data_1 = 0;
++ uint32_t length_data_1 = 0;
+ TALLOC_CTX *_mem_save_data_0;
+ {
+ uint32_t _flags_save_STRUCT = ndr->flags;
+@@ -442,11 +460,13 @@ static enum ndr_err_code ndr_pull_netr_ChallengeResponse(struct ndr_pull *ndr, i
+ NDR_PULL_SET_MEM_CTX(ndr, r->data, 0);
+ NDR_CHECK(ndr_pull_array_size(ndr, &r->data));
+ NDR_CHECK(ndr_pull_array_length(ndr, &r->data));
+- if (ndr_get_array_length(ndr, &r->data) > ndr_get_array_size(ndr, &r->data)) {
+- return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->data), ndr_get_array_length(ndr, &r->data));
++ size_data_1 = ndr_get_array_size(ndr, &r->data);
++ length_data_1 = ndr_get_array_length(ndr, &r->data);
++ if (length_data_1 > size_data_1) {
++ return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_data_1, length_data_1);
+ }
+- NDR_PULL_ALLOC_N(ndr, r->data, ndr_get_array_size(ndr, &r->data));
+- NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->data, ndr_get_array_length(ndr, &r->data)));
++ NDR_PULL_ALLOC_N(ndr, r->data, size_data_1);
++ NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->data, length_data_1));
+ NDR_PULL_SET_MEM_CTX(ndr, _mem_save_data_0, 0);
+ }
+ if (r->data) {
+@@ -505,13 +525,15 @@ static enum ndr_err_code ndr_push_netr_NetworkInfo(struct ndr_push *ndr, int ndr
+
+ static enum ndr_err_code ndr_pull_netr_NetworkInfo(struct ndr_pull *ndr, int ndr_flags, struct netr_NetworkInfo *r)
+ {
++ uint32_t size_challenge_0 = 0;
+ {
+ uint32_t _flags_save_STRUCT = ndr->flags;
+ ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
+ if (ndr_flags & NDR_SCALARS) {
+ NDR_CHECK(ndr_pull_align(ndr, 4));
+ NDR_CHECK(ndr_pull_netr_IdentityInfo(ndr, NDR_SCALARS, &r->identity_info));
+- NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->challenge, 8));
++ size_challenge_0 = 8;
++ NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->challenge, size_challenge_0));
+ NDR_CHECK(ndr_pull_netr_ChallengeResponse(ndr, NDR_SCALARS, &r->nt));
+ NDR_CHECK(ndr_pull_netr_ChallengeResponse(ndr, NDR_SCALARS, &r->lm));
+ }
+@@ -616,7 +638,9 @@ _PUBLIC_ enum ndr_err_code ndr_pull_netr_LogonInfo(struct ndr_pull *ndr, int ndr
+ int level;
+ uint16_t _level;
+ TALLOC_CTX *_mem_save_password_0;
++ uint32_t _ptr_password;
+ TALLOC_CTX *_mem_save_network_0;
++ uint32_t _ptr_network;
+ level = ndr_pull_get_switch_value(ndr, r);
+ if (ndr_flags & NDR_SCALARS) {
+ NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &_level));
+@@ -625,7 +649,6 @@ _PUBLIC_ enum ndr_err_code ndr_pull_netr_LogonInfo(struct ndr_pull *ndr, int ndr
+ }
+ switch (level) {
+ case 1: {
+- uint32_t _ptr_password;
+ NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_password));
+ if (_ptr_password) {
+ NDR_PULL_ALLOC(ndr, r->password);
+@@ -635,7 +658,6 @@ _PUBLIC_ enum ndr_err_code ndr_pull_netr_LogonInfo(struct ndr_pull *ndr, int ndr
+ break; }
+
+ case 2: {
+- uint32_t _ptr_network;
+ NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_network));
+ if (_ptr_network) {
+ NDR_PULL_ALLOC(ndr, r->network);
+@@ -645,7 +667,6 @@ _PUBLIC_ enum ndr_err_code ndr_pull_netr_LogonInfo(struct ndr_pull *ndr, int ndr
+ break; }
+
+ case 3: {
+- uint32_t _ptr_password;
+ NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_password));
+ if (_ptr_password) {
+ NDR_PULL_ALLOC(ndr, r->password);
+@@ -655,7 +676,6 @@ _PUBLIC_ enum ndr_err_code ndr_pull_netr_LogonInfo(struct ndr_pull *ndr, int ndr
+ break; }
+
+ case 5: {
+- uint32_t _ptr_password;
+ NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_password));
+ if (_ptr_password) {
+ NDR_PULL_ALLOC(ndr, r->password);
+@@ -665,7 +685,6 @@ _PUBLIC_ enum ndr_err_code ndr_pull_netr_LogonInfo(struct ndr_pull *ndr, int ndr
+ break; }
+
+ case 6: {
+- uint32_t _ptr_network;
+ NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_network));
+ if (_ptr_network) {
+ NDR_PULL_ALLOC(ndr, r->network);
+@@ -806,12 +825,14 @@ _PUBLIC_ enum ndr_err_code ndr_push_netr_UserSessionKey(struct ndr_push *ndr, in
+
+ _PUBLIC_ enum ndr_err_code ndr_pull_netr_UserSessionKey(struct ndr_pull *ndr, int ndr_flags, struct netr_UserSessionKey *r)
+ {
++ uint32_t size_key_0 = 0;
+ {
+ uint32_t _flags_save_STRUCT = ndr->flags;
+ ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
+ if (ndr_flags & NDR_SCALARS) {
+ NDR_CHECK(ndr_pull_align(ndr, 1));
+- NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->key, 16));
++ size_key_0 = 16;
++ NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->key, size_key_0));
+ }
+ if (ndr_flags & NDR_BUFFERS) {
+ }
+@@ -851,12 +872,14 @@ _PUBLIC_ enum ndr_err_code ndr_push_netr_LMSessionKey(struct ndr_push *ndr, int
+
+ _PUBLIC_ enum ndr_err_code ndr_pull_netr_LMSessionKey(struct ndr_pull *ndr, int ndr_flags, struct netr_LMSessionKey *r)
+ {
++ uint32_t size_key_0 = 0;
+ {
+ uint32_t _flags_save_STRUCT = ndr->flags;
+ ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
+ if (ndr_flags & NDR_SCALARS) {
+ NDR_CHECK(ndr_pull_align(ndr, 1));
+- NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->key, 8));
++ size_key_0 = 8;
++ NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->key, size_key_0));
+ }
+ if (ndr_flags & NDR_BUFFERS) {
+ }
+@@ -964,6 +987,7 @@ static enum ndr_err_code ndr_pull_netr_SamBaseInfo(struct ndr_pull *ndr, int ndr
+ {
+ uint32_t _ptr_domain_sid;
+ TALLOC_CTX *_mem_save_domain_sid_0;
++ uint32_t size_unknown_0 = 0;
+ uint32_t cntr_unknown_0;
+ if (ndr_flags & NDR_SCALARS) {
+ NDR_CHECK(ndr_pull_align(ndr, 4));
+@@ -996,7 +1020,8 @@ static enum ndr_err_code ndr_pull_netr_SamBaseInfo(struct ndr_pull *ndr, int ndr
+ }
+ NDR_CHECK(ndr_pull_netr_LMSessionKey(ndr, NDR_SCALARS, &r->LMSessKey));
+ NDR_CHECK(ndr_pull_samr_AcctFlags(ndr, NDR_SCALARS, &r->acct_flags));
+- for (cntr_unknown_0 = 0; cntr_unknown_0 < 7; cntr_unknown_0++) {
++ size_unknown_0 = 7;
++ for (cntr_unknown_0 = 0; cntr_unknown_0 < size_unknown_0; cntr_unknown_0++) {
+ NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown[cntr_unknown_0]));
+ }
+ }
+@@ -1180,6 +1205,7 @@ _PUBLIC_ enum ndr_err_code ndr_push_netr_SamInfo3(struct ndr_push *ndr, int ndr_
+ _PUBLIC_ enum ndr_err_code ndr_pull_netr_SamInfo3(struct ndr_pull *ndr, int ndr_flags, struct netr_SamInfo3 *r)
+ {
+ uint32_t _ptr_sids;
++ uint32_t size_sids_1 = 0;
+ uint32_t cntr_sids_1;
+ TALLOC_CTX *_mem_save_sids_0;
+ TALLOC_CTX *_mem_save_sids_1;
+@@ -1200,13 +1226,14 @@ _PUBLIC_ enum ndr_err_code ndr_pull_netr_SamInfo3(struct ndr_pull *ndr, int ndr_
+ _mem_save_sids_0 = NDR_PULL_GET_MEM_CTX(ndr);
+ NDR_PULL_SET_MEM_CTX(ndr, r->sids, 0);
+ NDR_CHECK(ndr_pull_array_size(ndr, &r->sids));
+- NDR_PULL_ALLOC_N(ndr, r->sids, ndr_get_array_size(ndr, &r->sids));
++ size_sids_1 = ndr_get_array_size(ndr, &r->sids);
++ NDR_PULL_ALLOC_N(ndr, r->sids, size_sids_1);
+ _mem_save_sids_1 = NDR_PULL_GET_MEM_CTX(ndr);
+ NDR_PULL_SET_MEM_CTX(ndr, r->sids, 0);
+- for (cntr_sids_1 = 0; cntr_sids_1 < r->sidcount; cntr_sids_1++) {
++ for (cntr_sids_1 = 0; cntr_sids_1 < size_sids_1; cntr_sids_1++) {
+ NDR_CHECK(ndr_pull_netr_SidAttr(ndr, NDR_SCALARS, &r->sids[cntr_sids_1]));
+ }
+- for (cntr_sids_1 = 0; cntr_sids_1 < r->sidcount; cntr_sids_1++) {
++ for (cntr_sids_1 = 0; cntr_sids_1 < size_sids_1; cntr_sids_1++) {
+ NDR_CHECK(ndr_pull_netr_SidAttr(ndr, NDR_BUFFERS, &r->sids[cntr_sids_1]));
+ }
+ NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sids_1, 0);
+@@ -1279,9 +1306,11 @@ static enum ndr_err_code ndr_push_netr_SamInfo6(struct ndr_push *ndr, int ndr_fl
+ static enum ndr_err_code ndr_pull_netr_SamInfo6(struct ndr_pull *ndr, int ndr_flags, struct netr_SamInfo6 *r)
+ {
+ uint32_t _ptr_sids;
++ uint32_t size_sids_1 = 0;
+ uint32_t cntr_sids_1;
+ TALLOC_CTX *_mem_save_sids_0;
+ TALLOC_CTX *_mem_save_sids_1;
++ uint32_t size_unknown4_0 = 0;
+ uint32_t cntr_unknown4_0;
+ if (ndr_flags & NDR_SCALARS) {
+ NDR_CHECK(ndr_pull_align(ndr, 4));
+@@ -1295,7 +1324,8 @@ static enum ndr_err_code ndr_pull_netr_SamInfo6(struct ndr_pull *ndr, int ndr_fl
+ }
+ NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->forest));
+ NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->principle));
+- for (cntr_unknown4_0 = 0; cntr_unknown4_0 < 20; cntr_unknown4_0++) {
++ size_unknown4_0 = 20;
++ for (cntr_unknown4_0 = 0; cntr_unknown4_0 < size_unknown4_0; cntr_unknown4_0++) {
+ NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown4[cntr_unknown4_0]));
+ }
+ }
+@@ -1305,13 +1335,14 @@ static enum ndr_err_code ndr_pull_netr_SamInfo6(struct ndr_pull *ndr, int ndr_fl
+ _mem_save_sids_0 = NDR_PULL_GET_MEM_CTX(ndr);
+ NDR_PULL_SET_MEM_CTX(ndr, r->sids, 0);
+ NDR_CHECK(ndr_pull_array_size(ndr, &r->sids));
+- NDR_PULL_ALLOC_N(ndr, r->sids, ndr_get_array_size(ndr, &r->sids));
++ size_sids_1 = ndr_get_array_size(ndr, &r->sids);
++ NDR_PULL_ALLOC_N(ndr, r->sids, size_sids_1);
+ _mem_save_sids_1 = NDR_PULL_GET_MEM_CTX(ndr);
+ NDR_PULL_SET_MEM_CTX(ndr, r->sids, 0);
+- for (cntr_sids_1 = 0; cntr_sids_1 < r->sidcount; cntr_sids_1++) {
++ for (cntr_sids_1 = 0; cntr_sids_1 < size_sids_1; cntr_sids_1++) {
+ NDR_CHECK(ndr_pull_netr_SidAttr(ndr, NDR_SCALARS, &r->sids[cntr_sids_1]));
+ }
+- for (cntr_sids_1 = 0; cntr_sids_1 < r->sidcount; cntr_sids_1++) {
++ for (cntr_sids_1 = 0; cntr_sids_1 < size_sids_1; cntr_sids_1++) {
+ NDR_CHECK(ndr_pull_netr_SidAttr(ndr, NDR_BUFFERS, &r->sids[cntr_sids_1]));
+ }
+ NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sids_1, 0);
+@@ -1408,9 +1439,12 @@ static enum ndr_err_code ndr_push_netr_PacInfo(struct ndr_push *ndr, int ndr_fla
+ static enum ndr_err_code ndr_pull_netr_PacInfo(struct ndr_pull *ndr, int ndr_flags, struct netr_PacInfo *r)
+ {
+ uint32_t _ptr_pac;
++ uint32_t size_pac_1 = 0;
+ TALLOC_CTX *_mem_save_pac_0;
+ uint32_t _ptr_auth;
++ uint32_t size_auth_1 = 0;
+ TALLOC_CTX *_mem_save_auth_0;
++ uint32_t size_expansionroom_0 = 0;
+ uint32_t cntr_expansionroom_0;
+ if (ndr_flags & NDR_SCALARS) {
+ NDR_CHECK(ndr_pull_align(ndr, 4));
+@@ -1432,7 +1466,8 @@ static enum ndr_err_code ndr_pull_netr_PacInfo(struct ndr_pull *ndr, int ndr_fla
+ r->auth = NULL;
+ }
+ NDR_CHECK(ndr_pull_netr_UserSessionKey(ndr, NDR_SCALARS, &r->user_session_key));
+- for (cntr_expansionroom_0 = 0; cntr_expansionroom_0 < 10; cntr_expansionroom_0++) {
++ size_expansionroom_0 = 10;
++ for (cntr_expansionroom_0 = 0; cntr_expansionroom_0 < size_expansionroom_0; cntr_expansionroom_0++) {
+ NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->expansionroom[cntr_expansionroom_0]));
+ }
+ NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->unknown1));
+@@ -1445,8 +1480,9 @@ static enum ndr_err_code ndr_pull_netr_PacInfo(struct ndr_pull *ndr, int ndr_fla
+ _mem_save_pac_0 = NDR_PULL_GET_MEM_CTX(ndr);
+ NDR_PULL_SET_MEM_CTX(ndr, r->pac, 0);
+ NDR_CHECK(ndr_pull_array_size(ndr, &r->pac));
+- NDR_PULL_ALLOC_N(ndr, r->pac, ndr_get_array_size(ndr, &r->pac));
+- NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->pac, ndr_get_array_size(ndr, &r->pac)));
++ size_pac_1 = ndr_get_array_size(ndr, &r->pac);
++ NDR_PULL_ALLOC_N(ndr, r->pac, size_pac_1);
++ NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->pac, size_pac_1));
+ NDR_PULL_SET_MEM_CTX(ndr, _mem_save_pac_0, 0);
+ }
+ NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->logon_domain));
+@@ -1456,8 +1492,9 @@ static enum ndr_err_code ndr_pull_netr_PacInfo(struct ndr_pull *ndr, int ndr_fla
+ _mem_save_auth_0 = NDR_PULL_GET_MEM_CTX(ndr);
+ NDR_PULL_SET_MEM_CTX(ndr, r->auth, 0);
+ NDR_CHECK(ndr_pull_array_size(ndr, &r->auth));
+- NDR_PULL_ALLOC_N(ndr, r->auth, ndr_get_array_size(ndr, &r->auth));
+- NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->auth, ndr_get_array_size(ndr, &r->auth)));
++ size_auth_1 = ndr_get_array_size(ndr, &r->auth);
++ NDR_PULL_ALLOC_N(ndr, r->auth, size_auth_1);
++ NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->auth, size_auth_1));
+ NDR_PULL_SET_MEM_CTX(ndr, _mem_save_auth_0, 0);
+ }
+ NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->unknown1));
+@@ -1589,9 +1626,13 @@ _PUBLIC_ enum ndr_err_code ndr_pull_netr_Validation(struct ndr_pull *ndr, int nd
+ int level;
+ uint16_t _level;
+ TALLOC_CTX *_mem_save_sam2_0;
++ uint32_t _ptr_sam2;
+ TALLOC_CTX *_mem_save_sam3_0;
++ uint32_t _ptr_sam3;
+ TALLOC_CTX *_mem_save_pac_0;
++ uint32_t _ptr_pac;
+ TALLOC_CTX *_mem_save_sam6_0;
++ uint32_t _ptr_sam6;
+ level = ndr_pull_get_switch_value(ndr, r);
+ if (ndr_flags & NDR_SCALARS) {
+ NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &_level));
+@@ -1600,7 +1641,6 @@ _PUBLIC_ enum ndr_err_code ndr_pull_netr_Validation(struct ndr_pull *ndr, int nd
+ }
+ switch (level) {
+ case 2: {
+- uint32_t _ptr_sam2;
+ NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_sam2));
+ if (_ptr_sam2) {
+ NDR_PULL_ALLOC(ndr, r->sam2);
+@@ -1610,7 +1650,6 @@ _PUBLIC_ enum ndr_err_code ndr_pull_netr_Validation(struct ndr_pull *ndr, int nd
+ break; }
+
+ case 3: {
+- uint32_t _ptr_sam3;
+ NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_sam3));
+ if (_ptr_sam3) {
+ NDR_PULL_ALLOC(ndr, r->sam3);
+@@ -1620,7 +1659,6 @@ _PUBLIC_ enum ndr_err_code ndr_pull_netr_Validation(struct ndr_pull *ndr, int nd
+ break; }
+
+ case 4: {
+- uint32_t _ptr_pac;
+ NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_pac));
+ if (_ptr_pac) {
+ NDR_PULL_ALLOC(ndr, r->pac);
+@@ -1630,7 +1668,6 @@ _PUBLIC_ enum ndr_err_code ndr_pull_netr_Validation(struct ndr_pull *ndr, int nd
+ break; }
+
+ case 5: {
+- uint32_t _ptr_pac;
+ NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_pac));
+ if (_ptr_pac) {
+ NDR_PULL_ALLOC(ndr, r->pac);
+@@ -1640,7 +1677,6 @@ _PUBLIC_ enum ndr_err_code ndr_pull_netr_Validation(struct ndr_pull *ndr, int nd
+ break; }
+
+ case 6: {
+- uint32_t _ptr_sam6;
+ NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_sam6));
+ if (_ptr_sam6) {
+ NDR_PULL_ALLOC(ndr, r->sam6);
+@@ -1781,12 +1817,14 @@ _PUBLIC_ enum ndr_err_code ndr_push_netr_Credential(struct ndr_push *ndr, int nd
+
+ _PUBLIC_ enum ndr_err_code ndr_pull_netr_Credential(struct ndr_pull *ndr, int ndr_flags, struct netr_Credential *r)
+ {
++ uint32_t size_data_0 = 0;
+ {
+ uint32_t _flags_save_STRUCT = ndr->flags;
+ ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
+ if (ndr_flags & NDR_SCALARS) {
+ NDR_CHECK(ndr_pull_align(ndr, 1));
+- NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->data, 8));
++ size_data_0 = 8;
++ NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->data, size_data_0));
+ }
+ if (ndr_flags & NDR_BUFFERS) {
+ }
+@@ -1898,6 +1936,8 @@ static enum ndr_err_code ndr_push_netr_DELTA_DELETE_USER(struct ndr_push *ndr, i
+ static enum ndr_err_code ndr_pull_netr_DELTA_DELETE_USER(struct ndr_pull *ndr, int ndr_flags, struct netr_DELTA_DELETE_USER *r)
+ {
+ uint32_t _ptr_account_name;
++ uint32_t size_account_name_1 = 0;
++ uint32_t length_account_name_1 = 0;
+ TALLOC_CTX *_mem_save_account_name_0;
+ if (ndr_flags & NDR_SCALARS) {
+ NDR_CHECK(ndr_pull_align(ndr, 4));
+@@ -1922,11 +1962,13 @@ static enum ndr_err_code ndr_pull_netr_DELTA_DELETE_USER(struct ndr_pull *ndr, i
+ NDR_PULL_SET_MEM_CTX(ndr, r->account_name, 0);
+ NDR_CHECK(ndr_pull_array_size(ndr, &r->account_name));
+ NDR_CHECK(ndr_pull_array_length(ndr, &r->account_name));
+- if (ndr_get_array_length(ndr, &r->account_name) > ndr_get_array_size(ndr, &r->account_name)) {
+- return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->account_name), ndr_get_array_length(ndr, &r->account_name));
++ size_account_name_1 = ndr_get_array_size(ndr, &r->account_name);
++ length_account_name_1 = ndr_get_array_length(ndr, &r->account_name);
++ if (length_account_name_1 > size_account_name_1) {
++ return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_account_name_1, length_account_name_1);
+ }
+- NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->account_name), sizeof(uint16_t)));
+- NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->account_name, ndr_get_array_length(ndr, &r->account_name), sizeof(uint16_t), CH_UTF16));
++ NDR_CHECK(ndr_check_string_terminator(ndr, length_account_name_1, sizeof(uint16_t)));
++ NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->account_name, length_account_name_1, sizeof(uint16_t), CH_UTF16));
+ NDR_PULL_SET_MEM_CTX(ndr, _mem_save_account_name_0, 0);
+ }
+ NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->unknown1));
+@@ -2019,6 +2061,8 @@ static enum ndr_err_code ndr_push_netr_PasswordHistory(struct ndr_push *ndr, int
+
+ static enum ndr_err_code ndr_pull_netr_PasswordHistory(struct ndr_pull *ndr, int ndr_flags, struct netr_PasswordHistory *r)
+ {
++ uint32_t size_nt_history_0 = 0;
++ uint32_t size_lm_history_0 = 0;
+ if (ndr_flags & NDR_SCALARS) {
+ NDR_CHECK(ndr_pull_align(ndr, 4));
+ NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->nt_length));
+@@ -2027,10 +2071,12 @@ static enum ndr_err_code ndr_pull_netr_PasswordHistory(struct ndr_pull *ndr, int
+ NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->lm_length));
+ NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->lm_size));
+ NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->lm_flags));
+- NDR_PULL_ALLOC_N(ndr, r->nt_history, r->nt_length);
+- NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->nt_history, r->nt_length));
+- NDR_PULL_ALLOC_N(ndr, r->lm_history, r->lm_length);
+- NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->lm_history, r->lm_length));
++ size_nt_history_0 = r->nt_length;
++ NDR_PULL_ALLOC_N(ndr, r->nt_history, size_nt_history_0);
++ NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->nt_history, size_nt_history_0));
++ size_lm_history_0 = r->lm_length;
++ NDR_PULL_ALLOC_N(ndr, r->lm_history, size_lm_history_0);
++ NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->lm_history, size_lm_history_0));
+ }
+ if (ndr_flags & NDR_BUFFERS) {
+ }
+@@ -2189,6 +2235,7 @@ static enum ndr_err_code ndr_push_netr_USER_PRIVATE_INFO(struct ndr_push *ndr, i
+ static enum ndr_err_code ndr_pull_netr_USER_PRIVATE_INFO(struct ndr_pull *ndr, int ndr_flags, struct netr_USER_PRIVATE_INFO *r)
+ {
+ uint32_t _ptr_SensitiveData;
++ uint32_t size_SensitiveData_1 = 0;
+ TALLOC_CTX *_mem_save_SensitiveData_0;
+ if (ndr_flags & NDR_SCALARS) {
+ NDR_CHECK(ndr_pull_align(ndr, 4));
+@@ -2214,8 +2261,9 @@ static enum ndr_err_code ndr_pull_netr_USER_PRIVATE_INFO(struct ndr_pull *ndr, i
+ _mem_save_SensitiveData_0 = NDR_PULL_GET_MEM_CTX(ndr);
+ NDR_PULL_SET_MEM_CTX(ndr, r->SensitiveData, 0);
+ NDR_CHECK(ndr_pull_array_size(ndr, &r->SensitiveData));
+- NDR_PULL_ALLOC_N(ndr, r->SensitiveData, ndr_get_array_size(ndr, &r->SensitiveData));
+- NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->SensitiveData, ndr_get_array_size(ndr, &r->SensitiveData)));
++ size_SensitiveData_1 = ndr_get_array_size(ndr, &r->SensitiveData);
++ NDR_PULL_ALLOC_N(ndr, r->SensitiveData, size_SensitiveData_1);
++ NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->SensitiveData, size_SensitiveData_1));
+ NDR_PULL_SET_MEM_CTX(ndr, _mem_save_SensitiveData_0, 0);
+ }
+ ndr->flags = _flags_save_uint8;
+@@ -2700,10 +2748,12 @@ static enum ndr_err_code ndr_push_netr_DELTA_GROUP_MEMBER(struct ndr_push *ndr,
+ static enum ndr_err_code ndr_pull_netr_DELTA_GROUP_MEMBER(struct ndr_pull *ndr, int ndr_flags, struct netr_DELTA_GROUP_MEMBER *r)
+ {
+ uint32_t _ptr_rids;
++ uint32_t size_rids_1 = 0;
+ uint32_t cntr_rids_1;
+ TALLOC_CTX *_mem_save_rids_0;
+ TALLOC_CTX *_mem_save_rids_1;
+ uint32_t _ptr_attribs;
++ uint32_t size_attribs_1 = 0;
+ uint32_t cntr_attribs_1;
+ TALLOC_CTX *_mem_save_attribs_0;
+ TALLOC_CTX *_mem_save_attribs_1;
+@@ -2732,10 +2782,11 @@ static enum ndr_err_code ndr_pull_netr_DELTA_GROUP_MEMBER(struct ndr_pull *ndr,
+ _mem_save_rids_0 = NDR_PULL_GET_MEM_CTX(ndr);
+ NDR_PULL_SET_MEM_CTX(ndr, r->rids, 0);
+ NDR_CHECK(ndr_pull_array_size(ndr, &r->rids));
+- NDR_PULL_ALLOC_N(ndr, r->rids, ndr_get_array_size(ndr, &r->rids));
++ size_rids_1 = ndr_get_array_size(ndr, &r->rids);
++ NDR_PULL_ALLOC_N(ndr, r->rids, size_rids_1);
+ _mem_save_rids_1 = NDR_PULL_GET_MEM_CTX(ndr);
+ NDR_PULL_SET_MEM_CTX(ndr, r->rids, 0);
+- for (cntr_rids_1 = 0; cntr_rids_1 < r->num_rids; cntr_rids_1++) {
++ for (cntr_rids_1 = 0; cntr_rids_1 < size_rids_1; cntr_rids_1++) {
+ NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->rids[cntr_rids_1]));
+ }
+ NDR_PULL_SET_MEM_CTX(ndr, _mem_save_rids_1, 0);
+@@ -2745,10 +2796,11 @@ static enum ndr_err_code ndr_pull_netr_DELTA_GROUP_MEMBER(struct ndr_pull *ndr,
+ _mem_save_attribs_0 = NDR_PULL_GET_MEM_CTX(ndr);
+ NDR_PULL_SET_MEM_CTX(ndr, r->attribs, 0);
+ NDR_CHECK(ndr_pull_array_size(ndr, &r->attribs));
+- NDR_PULL_ALLOC_N(ndr, r->attribs, ndr_get_array_size(ndr, &r->attribs));
++ size_attribs_1 = ndr_get_array_size(ndr, &r->attribs);
++ NDR_PULL_ALLOC_N(ndr, r->attribs, size_attribs_1);
+ _mem_save_attribs_1 = NDR_PULL_GET_MEM_CTX(ndr);
+ NDR_PULL_SET_MEM_CTX(ndr, r->attribs, 0);
+- for (cntr_attribs_1 = 0; cntr_attribs_1 < r->num_rids; cntr_attribs_1++) {
++ for (cntr_attribs_1 = 0; cntr_attribs_1 < size_attribs_1; cntr_attribs_1++) {
+ NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->attribs[cntr_attribs_1]));
+ }
+ NDR_PULL_SET_MEM_CTX(ndr, _mem_save_attribs_1, 0);
+@@ -3021,6 +3073,7 @@ static enum ndr_err_code ndr_push_netr_DELTA_POLICY(struct ndr_push *ndr, int nd
+ static enum ndr_err_code ndr_pull_netr_DELTA_POLICY(struct ndr_pull *ndr, int ndr_flags, struct netr_DELTA_POLICY *r)
+ {
+ uint32_t _ptr_eventauditoptions;
++ uint32_t size_eventauditoptions_1 = 0;
+ uint32_t cntr_eventauditoptions_1;
+ TALLOC_CTX *_mem_save_eventauditoptions_0;
+ TALLOC_CTX *_mem_save_eventauditoptions_1;
+@@ -3064,10 +3117,11 @@ static enum ndr_err_code ndr_pull_netr_DELTA_POLICY(struct ndr_pull *ndr, int nd
+ _mem_save_eventauditoptions_0 = NDR_PULL_GET_MEM_CTX(ndr);
+ NDR_PULL_SET_MEM_CTX(ndr, r->eventauditoptions, 0);
+ NDR_CHECK(ndr_pull_array_size(ndr, &r->eventauditoptions));
+- NDR_PULL_ALLOC_N(ndr, r->eventauditoptions, ndr_get_array_size(ndr, &r->eventauditoptions));
++ size_eventauditoptions_1 = ndr_get_array_size(ndr, &r->eventauditoptions);
++ NDR_PULL_ALLOC_N(ndr, r->eventauditoptions, size_eventauditoptions_1);
+ _mem_save_eventauditoptions_1 = NDR_PULL_GET_MEM_CTX(ndr);
+ NDR_PULL_SET_MEM_CTX(ndr, r->eventauditoptions, 0);
+- for (cntr_eventauditoptions_1 = 0; cntr_eventauditoptions_1 < r->maxauditeventcount + 1; cntr_eventauditoptions_1++) {
++ for (cntr_eventauditoptions_1 = 0; cntr_eventauditoptions_1 < size_eventauditoptions_1; cntr_eventauditoptions_1++) {
+ NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->eventauditoptions[cntr_eventauditoptions_1]));
+ }
+ NDR_PULL_SET_MEM_CTX(ndr, _mem_save_eventauditoptions_1, 0);
+@@ -3181,6 +3235,7 @@ static enum ndr_err_code ndr_push_netr_DELTA_TRUSTED_DOMAIN(struct ndr_push *ndr
+ static enum ndr_err_code ndr_pull_netr_DELTA_TRUSTED_DOMAIN(struct ndr_pull *ndr, int ndr_flags, struct netr_DELTA_TRUSTED_DOMAIN *r)
+ {
+ uint32_t _ptr_controller_names;
++ uint32_t size_controller_names_1 = 0;
+ uint32_t cntr_controller_names_1;
+ TALLOC_CTX *_mem_save_controller_names_0;
+ TALLOC_CTX *_mem_save_controller_names_1;
+@@ -3211,13 +3266,14 @@ static enum ndr_err_code ndr_pull_netr_DELTA_TRUSTED_DOMAIN(struct ndr_pull *ndr
+ _mem_save_controller_names_0 = NDR_PULL_GET_MEM_CTX(ndr);
+ NDR_PULL_SET_MEM_CTX(ndr, r->controller_names, 0);
+ NDR_CHECK(ndr_pull_array_size(ndr, &r->controller_names));
+- NDR_PULL_ALLOC_N(ndr, r->controller_names, ndr_get_array_size(ndr, &r->controller_names));
++ size_controller_names_1 = ndr_get_array_size(ndr, &r->controller_names);
++ NDR_PULL_ALLOC_N(ndr, r->controller_names, size_controller_names_1);
+ _mem_save_controller_names_1 = NDR_PULL_GET_MEM_CTX(ndr);
+ NDR_PULL_SET_MEM_CTX(ndr, r->controller_names, 0);
+- for (cntr_controller_names_1 = 0; cntr_controller_names_1 < r->num_controllers; cntr_controller_names_1++) {
++ for (cntr_controller_names_1 = 0; cntr_controller_names_1 < size_controller_names_1; cntr_controller_names_1++) {
+ NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->controller_names[cntr_controller_names_1]));
+ }
+- for (cntr_controller_names_1 = 0; cntr_controller_names_1 < r->num_controllers; cntr_controller_names_1++) {
++ for (cntr_controller_names_1 = 0; cntr_controller_names_1 < size_controller_names_1; cntr_controller_names_1++) {
+ NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->controller_names[cntr_controller_names_1]));
+ }
+ NDR_PULL_SET_MEM_CTX(ndr, _mem_save_controller_names_1, 0);
+@@ -3351,10 +3407,12 @@ static enum ndr_err_code ndr_push_netr_DELTA_ACCOUNT(struct ndr_push *ndr, int n
+ static enum ndr_err_code ndr_pull_netr_DELTA_ACCOUNT(struct ndr_pull *ndr, int ndr_flags, struct netr_DELTA_ACCOUNT *r)
+ {
+ uint32_t _ptr_privilege_attrib;
++ uint32_t size_privilege_attrib_1 = 0;
+ uint32_t cntr_privilege_attrib_1;
+ TALLOC_CTX *_mem_save_privilege_attrib_0;
+ TALLOC_CTX *_mem_save_privilege_attrib_1;
+ uint32_t _ptr_privilege_name;
++ uint32_t size_privilege_name_1 = 0;
+ uint32_t cntr_privilege_name_1;
+ TALLOC_CTX *_mem_save_privilege_name_0;
+ TALLOC_CTX *_mem_save_privilege_name_1;
+@@ -3392,10 +3450,11 @@ static enum ndr_err_code ndr_pull_netr_DELTA_ACCOUNT(struct ndr_pull *ndr, int n
+ _mem_save_privilege_attrib_0 = NDR_PULL_GET_MEM_CTX(ndr);
+ NDR_PULL_SET_MEM_CTX(ndr, r->privilege_attrib, 0);
+ NDR_CHECK(ndr_pull_array_size(ndr, &r->privilege_attrib));
+- NDR_PULL_ALLOC_N(ndr, r->privilege_attrib, ndr_get_array_size(ndr, &r->privilege_attrib));
++ size_privilege_attrib_1 = ndr_get_array_size(ndr, &r->privilege_attrib);
++ NDR_PULL_ALLOC_N(ndr, r->privilege_attrib, size_privilege_attrib_1);
+ _mem_save_privilege_attrib_1 = NDR_PULL_GET_MEM_CTX(ndr);
+ NDR_PULL_SET_MEM_CTX(ndr, r->privilege_attrib, 0);
+- for (cntr_privilege_attrib_1 = 0; cntr_privilege_attrib_1 < r->privilege_entries; cntr_privilege_attrib_1++) {
++ for (cntr_privilege_attrib_1 = 0; cntr_privilege_attrib_1 < size_privilege_attrib_1; cntr_privilege_attrib_1++) {
+ NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->privilege_attrib[cntr_privilege_attrib_1]));
+ }
+ NDR_PULL_SET_MEM_CTX(ndr, _mem_save_privilege_attrib_1, 0);
+@@ -3405,13 +3464,14 @@ static enum ndr_err_code ndr_pull_netr_DELTA_ACCOUNT(struct ndr_pull *ndr, int n
+ _mem_save_privilege_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
+ NDR_PULL_SET_MEM_CTX(ndr, r->privilege_name, 0);
+ NDR_CHECK(ndr_pull_array_size(ndr, &r->privilege_name));
+- NDR_PULL_ALLOC_N(ndr, r->privilege_name, ndr_get_array_size(ndr, &r->privilege_name));
++ size_privilege_name_1 = ndr_get_array_size(ndr, &r->privilege_name);
++ NDR_PULL_ALLOC_N(ndr, r->privilege_name, size_privilege_name_1);
+ _mem_save_privilege_name_1 = NDR_PULL_GET_MEM_CTX(ndr);
+ NDR_PULL_SET_MEM_CTX(ndr, r->privilege_name, 0);
+- for (cntr_privilege_name_1 = 0; cntr_privilege_name_1 < r->privilege_entries; cntr_privilege_name_1++) {
++ for (cntr_privilege_name_1 = 0; cntr_privilege_name_1 < size_privilege_name_1; cntr_privilege_name_1++) {
+ NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->privilege_name[cntr_privilege_name_1]));
+ }
+- for (cntr_privilege_name_1 = 0; cntr_privilege_name_1 < r->privilege_entries; cntr_privilege_name_1++) {
++ for (cntr_privilege_name_1 = 0; cntr_privilege_name_1 < size_privilege_name_1; cntr_privilege_name_1++) {
+ NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->privilege_name[cntr_privilege_name_1]));
+ }
+ NDR_PULL_SET_MEM_CTX(ndr, _mem_save_privilege_name_1, 0);
+@@ -3567,6 +3627,8 @@ static enum ndr_err_code ndr_push_netr_CIPHER_VALUE(struct ndr_push *ndr, int nd
+ static enum ndr_err_code ndr_pull_netr_CIPHER_VALUE(struct ndr_pull *ndr, int ndr_flags, struct netr_CIPHER_VALUE *r)
+ {
+ uint32_t _ptr_cipher_data;
++ uint32_t size_cipher_data_1 = 0;
++ uint32_t length_cipher_data_1 = 0;
+ TALLOC_CTX *_mem_save_cipher_data_0;
+ if (ndr_flags & NDR_SCALARS) {
+ NDR_CHECK(ndr_pull_align(ndr, 4));
+@@ -3585,11 +3647,13 @@ static enum ndr_err_code ndr_pull_netr_CIPHER_VALUE(struct ndr_pull *ndr, int nd
+ NDR_PULL_SET_MEM_CTX(ndr, r->cipher_data, 0);
+ NDR_CHECK(ndr_pull_array_size(ndr, &r->cipher_data));
+ NDR_CHECK(ndr_pull_array_length(ndr, &r->cipher_data));
+- if (ndr_get_array_length(ndr, &r->cipher_data) > ndr_get_array_size(ndr, &r->cipher_data)) {
+- return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->cipher_data), ndr_get_array_length(ndr, &r->cipher_data));
++ size_cipher_data_1 = ndr_get_array_size(ndr, &r->cipher_data);
++ length_cipher_data_1 = ndr_get_array_length(ndr, &r->cipher_data);
++ if (length_cipher_data_1 > size_cipher_data_1) {
++ return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_cipher_data_1, length_cipher_data_1);
+ }
+- NDR_PULL_ALLOC_N(ndr, r->cipher_data, ndr_get_array_size(ndr, &r->cipher_data));
+- NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->cipher_data, ndr_get_array_length(ndr, &r->cipher_data)));
++ NDR_PULL_ALLOC_N(ndr, r->cipher_data, size_cipher_data_1);
++ NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->cipher_data, length_cipher_data_1));
+ NDR_PULL_SET_MEM_CTX(ndr, _mem_save_cipher_data_0, 0);
+ }
+ if (r->cipher_data) {
+@@ -3969,21 +4033,37 @@ static enum ndr_err_code ndr_pull_netr_DELTA_UNION(struct ndr_pull *ndr, int ndr
+ int level;
+ uint16_t _level;
+ TALLOC_CTX *_mem_save_domain_0;
++ uint32_t _ptr_domain;
+ TALLOC_CTX *_mem_save_group_0;
++ uint32_t _ptr_group;
+ TALLOC_CTX *_mem_save_rename_group_0;
++ uint32_t _ptr_rename_group;
+ TALLOC_CTX *_mem_save_user_0;
++ uint32_t _ptr_user;
+ TALLOC_CTX *_mem_save_rename_user_0;
++ uint32_t _ptr_rename_user;
+ TALLOC_CTX *_mem_save_group_member_0;
++ uint32_t _ptr_group_member;
+ TALLOC_CTX *_mem_save_alias_0;
++ uint32_t _ptr_alias;
+ TALLOC_CTX *_mem_save_rename_alias_0;
++ uint32_t _ptr_rename_alias;
+ TALLOC_CTX *_mem_save_alias_member_0;
++ uint32_t _ptr_alias_member;
+ TALLOC_CTX *_mem_save_policy_0;
++ uint32_t _ptr_policy;
+ TALLOC_CTX *_mem_save_trusted_domain_0;
++ uint32_t _ptr_trusted_domain;
+ TALLOC_CTX *_mem_save_account_0;
++ uint32_t _ptr_account;
+ TALLOC_CTX *_mem_save_secret_0;
++ uint32_t _ptr_secret;
+ TALLOC_CTX *_mem_save_delete_group_0;
++ uint32_t _ptr_delete_group;
+ TALLOC_CTX *_mem_save_delete_user_0;
++ uint32_t _ptr_delete_user;
+ TALLOC_CTX *_mem_save_modified_count_0;
++ uint32_t _ptr_modified_count;
+ level = ndr_pull_get_switch_value(ndr, r);
+ if (ndr_flags & NDR_SCALARS) {
+ NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &_level));
+@@ -3992,7 +4072,6 @@ static enum ndr_err_code ndr_pull_netr_DELTA_UNION(struct ndr_pull *ndr, int ndr
+ }
+ switch (level) {
+ case NETR_DELTA_DOMAIN: {
+- uint32_t _ptr_domain;
+ NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_domain));
+ if (_ptr_domain) {
+ NDR_PULL_ALLOC(ndr, r->domain);
+@@ -4002,7 +4081,6 @@ static enum ndr_err_code ndr_pull_netr_DELTA_UNION(struct ndr_pull *ndr, int ndr
+ break; }
+
+ case NETR_DELTA_GROUP: {
+- uint32_t _ptr_group;
+ NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_group));
+ if (_ptr_group) {
+ NDR_PULL_ALLOC(ndr, r->group);
+@@ -4015,7 +4093,6 @@ static enum ndr_err_code ndr_pull_netr_DELTA_UNION(struct ndr_pull *ndr, int ndr
+ break; }
+
+ case NETR_DELTA_RENAME_GROUP: {
+- uint32_t _ptr_rename_group;
+ NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_rename_group));
+ if (_ptr_rename_group) {
+ NDR_PULL_ALLOC(ndr, r->rename_group);
+@@ -4025,7 +4102,6 @@ static enum ndr_err_code ndr_pull_netr_DELTA_UNION(struct ndr_pull *ndr, int ndr
+ break; }
+
+ case NETR_DELTA_USER: {
+- uint32_t _ptr_user;
+ NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_user));
+ if (_ptr_user) {
+ NDR_PULL_ALLOC(ndr, r->user);
+@@ -4038,7 +4114,6 @@ static enum ndr_err_code ndr_pull_netr_DELTA_UNION(struct ndr_pull *ndr, int ndr
+ break; }
+
+ case NETR_DELTA_RENAME_USER: {
+- uint32_t _ptr_rename_user;
+ NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_rename_user));
+ if (_ptr_rename_user) {
+ NDR_PULL_ALLOC(ndr, r->rename_user);
+@@ -4048,7 +4123,6 @@ static enum ndr_err_code ndr_pull_netr_DELTA_UNION(struct ndr_pull *ndr, int ndr
+ break; }
+
+ case NETR_DELTA_GROUP_MEMBER: {
+- uint32_t _ptr_group_member;
+ NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_group_member));
+ if (_ptr_group_member) {
+ NDR_PULL_ALLOC(ndr, r->group_member);
+@@ -4058,7 +4132,6 @@ static enum ndr_err_code ndr_pull_netr_DELTA_UNION(struct ndr_pull *ndr, int ndr
+ break; }
+
+ case NETR_DELTA_ALIAS: {
+- uint32_t _ptr_alias;
+ NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_alias));
+ if (_ptr_alias) {
+ NDR_PULL_ALLOC(ndr, r->alias);
+@@ -4071,7 +4144,6 @@ static enum ndr_err_code ndr_pull_netr_DELTA_UNION(struct ndr_pull *ndr, int ndr
+ break; }
+
+ case NETR_DELTA_RENAME_ALIAS: {
+- uint32_t _ptr_rename_alias;
+ NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_rename_alias));
+ if (_ptr_rename_alias) {
+ NDR_PULL_ALLOC(ndr, r->rename_alias);
+@@ -4081,7 +4153,6 @@ static enum ndr_err_code ndr_pull_netr_DELTA_UNION(struct ndr_pull *ndr, int ndr
+ break; }
+
+ case NETR_DELTA_ALIAS_MEMBER: {
+- uint32_t _ptr_alias_member;
+ NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_alias_member));
+ if (_ptr_alias_member) {
+ NDR_PULL_ALLOC(ndr, r->alias_member);
+@@ -4091,7 +4162,6 @@ static enum ndr_err_code ndr_pull_netr_DELTA_UNION(struct ndr_pull *ndr, int ndr
+ break; }
+
+ case NETR_DELTA_POLICY: {
+- uint32_t _ptr_policy;
+ NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_policy));
+ if (_ptr_policy) {
+ NDR_PULL_ALLOC(ndr, r->policy);
+@@ -4101,7 +4171,6 @@ static enum ndr_err_code ndr_pull_netr_DELTA_UNION(struct ndr_pull *ndr, int ndr
+ break; }
+
+ case NETR_DELTA_TRUSTED_DOMAIN: {
+- uint32_t _ptr_trusted_domain;
+ NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_trusted_domain));
+ if (_ptr_trusted_domain) {
+ NDR_PULL_ALLOC(ndr, r->trusted_domain);
+@@ -4115,7 +4184,6 @@ static enum ndr_err_code ndr_pull_netr_DELTA_UNION(struct ndr_pull *ndr, int ndr
+ break; }
+
+ case NETR_DELTA_ACCOUNT: {
+- uint32_t _ptr_account;
+ NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_account));
+ if (_ptr_account) {
+ NDR_PULL_ALLOC(ndr, r->account);
+@@ -4129,7 +4197,6 @@ static enum ndr_err_code ndr_pull_netr_DELTA_UNION(struct ndr_pull *ndr, int ndr
+ break; }
+
+ case NETR_DELTA_SECRET: {
+- uint32_t _ptr_secret;
+ NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_secret));
+ if (_ptr_secret) {
+ NDR_PULL_ALLOC(ndr, r->secret);
+@@ -4143,7 +4210,6 @@ static enum ndr_err_code ndr_pull_netr_DELTA_UNION(struct ndr_pull *ndr, int ndr
+ break; }
+
+ case NETR_DELTA_DELETE_GROUP2: {
+- uint32_t _ptr_delete_group;
+ NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_delete_group));
+ if (_ptr_delete_group) {
+ NDR_PULL_ALLOC(ndr, r->delete_group);
+@@ -4153,7 +4219,6 @@ static enum ndr_err_code ndr_pull_netr_DELTA_UNION(struct ndr_pull *ndr, int ndr
+ break; }
+
+ case NETR_DELTA_DELETE_USER2: {
+- uint32_t _ptr_delete_user;
+ NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_delete_user));
+ if (_ptr_delete_user) {
+ NDR_PULL_ALLOC(ndr, r->delete_user);
+@@ -4163,7 +4228,6 @@ static enum ndr_err_code ndr_pull_netr_DELTA_UNION(struct ndr_pull *ndr, int ndr
+ break; }
+
+ case NETR_DELTA_MODIFY_COUNT: {
+- uint32_t _ptr_modified_count;
+ NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_modified_count));
+ if (_ptr_modified_count) {
+ NDR_PULL_ALLOC(ndr, r->modified_count);
+@@ -4728,7 +4792,11 @@ static enum ndr_err_code ndr_pull_netr_DELTA_ID_UNION(struct ndr_pull *ndr, int
+ int level;
+ uint16_t _level;
+ TALLOC_CTX *_mem_save_sid_0;
++ uint32_t _ptr_sid;
+ TALLOC_CTX *_mem_save_name_0;
++ uint32_t _ptr_name;
++ uint32_t size_name_1 = 0;
++ uint32_t length_name_1 = 0;
+ level = ndr_pull_get_switch_value(ndr, r);
+ if (ndr_flags & NDR_SCALARS) {
+ NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &_level));
+@@ -4785,7 +4853,6 @@ static enum ndr_err_code ndr_pull_netr_DELTA_ID_UNION(struct ndr_pull *ndr, int
+ break; }
+
+ case NETR_DELTA_POLICY: {
+- uint32_t _ptr_sid;
+ NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_sid));
+ if (_ptr_sid) {
+ NDR_PULL_ALLOC(ndr, r->sid);
+@@ -4795,7 +4862,6 @@ static enum ndr_err_code ndr_pull_netr_DELTA_ID_UNION(struct ndr_pull *ndr, int
+ break; }
+
+ case NETR_DELTA_TRUSTED_DOMAIN: {
+- uint32_t _ptr_sid;
+ NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_sid));
+ if (_ptr_sid) {
+ NDR_PULL_ALLOC(ndr, r->sid);
+@@ -4805,7 +4871,6 @@ static enum ndr_err_code ndr_pull_netr_DELTA_ID_UNION(struct ndr_pull *ndr, int
+ break; }
+
+ case NETR_DELTA_DELETE_TRUST: {
+- uint32_t _ptr_sid;
+ NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_sid));
+ if (_ptr_sid) {
+ NDR_PULL_ALLOC(ndr, r->sid);
+@@ -4815,7 +4880,6 @@ static enum ndr_err_code ndr_pull_netr_DELTA_ID_UNION(struct ndr_pull *ndr, int
+ break; }
+
+ case NETR_DELTA_ACCOUNT: {
+- uint32_t _ptr_sid;
+ NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_sid));
+ if (_ptr_sid) {
+ NDR_PULL_ALLOC(ndr, r->sid);
+@@ -4825,7 +4889,6 @@ static enum ndr_err_code ndr_pull_netr_DELTA_ID_UNION(struct ndr_pull *ndr, int
+ break; }
+
+ case NETR_DELTA_DELETE_ACCOUNT: {
+- uint32_t _ptr_sid;
+ NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_sid));
+ if (_ptr_sid) {
+ NDR_PULL_ALLOC(ndr, r->sid);
+@@ -4835,7 +4898,6 @@ static enum ndr_err_code ndr_pull_netr_DELTA_ID_UNION(struct ndr_pull *ndr, int
+ break; }
+
+ case NETR_DELTA_SECRET: {
+- uint32_t _ptr_name;
+ NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_name));
+ if (_ptr_name) {
+ NDR_PULL_ALLOC(ndr, r->name);
+@@ -4845,7 +4907,6 @@ static enum ndr_err_code ndr_pull_netr_DELTA_ID_UNION(struct ndr_pull *ndr, int
+ break; }
+
+ case NETR_DELTA_DELETE_SECRET: {
+- uint32_t _ptr_name;
+ NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_name));
+ if (_ptr_name) {
+ NDR_PULL_ALLOC(ndr, r->name);
+@@ -4958,11 +5019,13 @@ static enum ndr_err_code ndr_pull_netr_DELTA_ID_UNION(struct ndr_pull *ndr, int
+ NDR_PULL_SET_MEM_CTX(ndr, r->name, 0);
+ NDR_CHECK(ndr_pull_array_size(ndr, &r->name));
+ NDR_CHECK(ndr_pull_array_length(ndr, &r->name));
+- if (ndr_get_array_length(ndr, &r->name) > ndr_get_array_size(ndr, &r->name)) {
+- return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->name), ndr_get_array_length(ndr, &r->name));
++ size_name_1 = ndr_get_array_size(ndr, &r->name);
++ length_name_1 = ndr_get_array_length(ndr, &r->name);
++ if (length_name_1 > size_name_1) {
++ return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_name_1, length_name_1);
+ }
+- NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->name), sizeof(uint16_t)));
+- NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->name, ndr_get_array_length(ndr, &r->name), sizeof(uint16_t), CH_UTF16));
++ NDR_CHECK(ndr_check_string_terminator(ndr, length_name_1, sizeof(uint16_t)));
++ NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->name, length_name_1, sizeof(uint16_t), CH_UTF16));
+ NDR_PULL_SET_MEM_CTX(ndr, _mem_save_name_0, 0);
+ }
+ break;
+@@ -4973,11 +5036,13 @@ static enum ndr_err_code ndr_pull_netr_DELTA_ID_UNION(struct ndr_pull *ndr, int
+ NDR_PULL_SET_MEM_CTX(ndr, r->name, 0);
+ NDR_CHECK(ndr_pull_array_size(ndr, &r->name));
+ NDR_CHECK(ndr_pull_array_length(ndr, &r->name));
+- if (ndr_get_array_length(ndr, &r->name) > ndr_get_array_size(ndr, &r->name)) {
+- return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->name), ndr_get_array_length(ndr, &r->name));
++ size_name_1 = ndr_get_array_size(ndr, &r->name);
++ length_name_1 = ndr_get_array_length(ndr, &r->name);
++ if (length_name_1 > size_name_1) {
++ return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_name_1, length_name_1);
+ }
+- NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->name), sizeof(uint16_t)));
+- NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->name, ndr_get_array_length(ndr, &r->name), sizeof(uint16_t), CH_UTF16));
++ NDR_CHECK(ndr_check_string_terminator(ndr, length_name_1, sizeof(uint16_t)));
++ NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->name, length_name_1, sizeof(uint16_t), CH_UTF16));
+ NDR_PULL_SET_MEM_CTX(ndr, _mem_save_name_0, 0);
+ }
+ break;
+@@ -5202,6 +5267,7 @@ static enum ndr_err_code ndr_push_netr_DELTA_ENUM_ARRAY(struct ndr_push *ndr, in
+ static enum ndr_err_code ndr_pull_netr_DELTA_ENUM_ARRAY(struct ndr_pull *ndr, int ndr_flags, struct netr_DELTA_ENUM_ARRAY *r)
+ {
+ uint32_t _ptr_delta_enum;
++ uint32_t size_delta_enum_1 = 0;
+ uint32_t cntr_delta_enum_1;
+ TALLOC_CTX *_mem_save_delta_enum_0;
+ TALLOC_CTX *_mem_save_delta_enum_1;
+@@ -5220,13 +5286,14 @@ static enum ndr_err_code ndr_pull_netr_DELTA_ENUM_ARRAY(struct ndr_pull *ndr, in
+ _mem_save_delta_enum_0 = NDR_PULL_GET_MEM_CTX(ndr);
+ NDR_PULL_SET_MEM_CTX(ndr, r->delta_enum, 0);
+ NDR_CHECK(ndr_pull_array_size(ndr, &r->delta_enum));
+- NDR_PULL_ALLOC_N(ndr, r->delta_enum, ndr_get_array_size(ndr, &r->delta_enum));
++ size_delta_enum_1 = ndr_get_array_size(ndr, &r->delta_enum);
++ NDR_PULL_ALLOC_N(ndr, r->delta_enum, size_delta_enum_1);
+ _mem_save_delta_enum_1 = NDR_PULL_GET_MEM_CTX(ndr);
+ NDR_PULL_SET_MEM_CTX(ndr, r->delta_enum, 0);
+- for (cntr_delta_enum_1 = 0; cntr_delta_enum_1 < r->num_deltas; cntr_delta_enum_1++) {
++ for (cntr_delta_enum_1 = 0; cntr_delta_enum_1 < size_delta_enum_1; cntr_delta_enum_1++) {
+ NDR_CHECK(ndr_pull_netr_DELTA_ENUM(ndr, NDR_SCALARS, &r->delta_enum[cntr_delta_enum_1]));
+ }
+- for (cntr_delta_enum_1 = 0; cntr_delta_enum_1 < r->num_deltas; cntr_delta_enum_1++) {
++ for (cntr_delta_enum_1 = 0; cntr_delta_enum_1 < size_delta_enum_1; cntr_delta_enum_1++) {
+ NDR_CHECK(ndr_pull_netr_DELTA_ENUM(ndr, NDR_BUFFERS, &r->delta_enum[cntr_delta_enum_1]));
+ }
+ NDR_PULL_SET_MEM_CTX(ndr, _mem_save_delta_enum_1, 0);
+@@ -5283,12 +5350,14 @@ static enum ndr_err_code ndr_push_netr_UAS_INFO_0(struct ndr_push *ndr, int ndr_
+
+ static enum ndr_err_code ndr_pull_netr_UAS_INFO_0(struct ndr_pull *ndr, int ndr_flags, struct netr_UAS_INFO_0 *r)
+ {
++ uint32_t size_computer_name_0 = 0;
+ {
+ uint32_t _flags_save_STRUCT = ndr->flags;
+ ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
+ if (ndr_flags & NDR_SCALARS) {
+ NDR_CHECK(ndr_pull_align(ndr, 4));
+- NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->computer_name, 16));
++ size_computer_name_0 = 16;
++ NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->computer_name, size_computer_name_0));
+ NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->timecreated));
+ NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->serial_number));
+ }
+@@ -5434,6 +5503,8 @@ static enum ndr_err_code ndr_push_netr_NETLOGON_INFO_2(struct ndr_push *ndr, int
+ static enum ndr_err_code ndr_pull_netr_NETLOGON_INFO_2(struct ndr_pull *ndr, int ndr_flags, struct netr_NETLOGON_INFO_2 *r)
+ {
+ uint32_t _ptr_trusted_dc_name;
++ uint32_t size_trusted_dc_name_1 = 0;
++ uint32_t length_trusted_dc_name_1 = 0;
+ TALLOC_CTX *_mem_save_trusted_dc_name_0;
+ if (ndr_flags & NDR_SCALARS) {
+ NDR_CHECK(ndr_pull_align(ndr, 4));
+@@ -5453,11 +5524,13 @@ static enum ndr_err_code ndr_pull_netr_NETLOGON_INFO_2(struct ndr_pull *ndr, int
+ NDR_PULL_SET_MEM_CTX(ndr, r->trusted_dc_name, 0);
+ NDR_CHECK(ndr_pull_array_size(ndr, &r->trusted_dc_name));
+ NDR_CHECK(ndr_pull_array_length(ndr, &r->trusted_dc_name));
+- if (ndr_get_array_length(ndr, &r->trusted_dc_name) > ndr_get_array_size(ndr, &r->trusted_dc_name)) {
+- return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->trusted_dc_name), ndr_get_array_length(ndr, &r->trusted_dc_name));
++ size_trusted_dc_name_1 = ndr_get_array_size(ndr, &r->trusted_dc_name);
++ length_trusted_dc_name_1 = ndr_get_array_length(ndr, &r->trusted_dc_name);
++ if (length_trusted_dc_name_1 > size_trusted_dc_name_1) {
++ return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_trusted_dc_name_1, length_trusted_dc_name_1);
+ }
+- NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->trusted_dc_name), sizeof(uint16_t)));
+- NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->trusted_dc_name, ndr_get_array_length(ndr, &r->trusted_dc_name), sizeof(uint16_t), CH_UTF16));
++ NDR_CHECK(ndr_check_string_terminator(ndr, length_trusted_dc_name_1, sizeof(uint16_t)));
++ NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->trusted_dc_name, length_trusted_dc_name_1, sizeof(uint16_t), CH_UTF16));
+ NDR_PULL_SET_MEM_CTX(ndr, _mem_save_trusted_dc_name_0, 0);
+ }
+ }
+@@ -5583,8 +5656,11 @@ static enum ndr_err_code ndr_pull_netr_CONTROL_QUERY_INFORMATION(struct ndr_pull
+ int level;
+ uint32_t _level;
+ TALLOC_CTX *_mem_save_info1_0;
++ uint32_t _ptr_info1;
+ TALLOC_CTX *_mem_save_info2_0;
++ uint32_t _ptr_info2;
+ TALLOC_CTX *_mem_save_info3_0;
++ uint32_t _ptr_info3;
+ level = ndr_pull_get_switch_value(ndr, r);
+ if (ndr_flags & NDR_SCALARS) {
+ NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &_level));
+@@ -5593,7 +5669,6 @@ static enum ndr_err_code ndr_pull_netr_CONTROL_QUERY_INFORMATION(struct ndr_pull
+ }
+ switch (level) {
+ case 1: {
+- uint32_t _ptr_info1;
+ NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info1));
+ if (_ptr_info1) {
+ NDR_PULL_ALLOC(ndr, r->info1);
+@@ -5603,7 +5678,6 @@ static enum ndr_err_code ndr_pull_netr_CONTROL_QUERY_INFORMATION(struct ndr_pull
+ break; }
+
+ case 2: {
+- uint32_t _ptr_info2;
+ NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info2));
+ if (_ptr_info2) {
+ NDR_PULL_ALLOC(ndr, r->info2);
+@@ -5613,7 +5687,6 @@ static enum ndr_err_code ndr_pull_netr_CONTROL_QUERY_INFORMATION(struct ndr_pull
+ break; }
+
+ case 3: {
+- uint32_t _ptr_info3;
+ NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info3));
+ if (_ptr_info3) {
+ NDR_PULL_ALLOC(ndr, r->info3);
+@@ -5799,6 +5872,9 @@ static enum ndr_err_code ndr_pull_netr_CONTROL_DATA_INFORMATION(struct ndr_pull
+ int level;
+ uint32_t _level;
+ TALLOC_CTX *_mem_save_domain_0;
++ uint32_t _ptr_domain;
++ uint32_t size_domain_1 = 0;
++ uint32_t length_domain_1 = 0;
+ level = ndr_pull_get_switch_value(ndr, r);
+ if (ndr_flags & NDR_SCALARS) {
+ NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &_level));
+@@ -5807,7 +5883,6 @@ static enum ndr_err_code ndr_pull_netr_CONTROL_DATA_INFORMATION(struct ndr_pull
+ }
+ switch (level) {
+ case NETLOGON_CONTROL_REDISCOVER: {
+- uint32_t _ptr_domain;
+ NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_domain));
+ if (_ptr_domain) {
+ NDR_PULL_ALLOC(ndr, r->domain);
+@@ -5817,7 +5892,6 @@ static enum ndr_err_code ndr_pull_netr_CONTROL_DATA_INFORMATION(struct ndr_pull
+ break; }
+
+ case NETLOGON_CONTROL_TC_QUERY: {
+- uint32_t _ptr_domain;
+ NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_domain));
+ if (_ptr_domain) {
+ NDR_PULL_ALLOC(ndr, r->domain);
+@@ -5827,7 +5901,6 @@ static enum ndr_err_code ndr_pull_netr_CONTROL_DATA_INFORMATION(struct ndr_pull
+ break; }
+
+ case NETLOGON_CONTROL_TRANSPORT_NOTIFY: {
+- uint32_t _ptr_domain;
+ NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_domain));
+ if (_ptr_domain) {
+ NDR_PULL_ALLOC(ndr, r->domain);
+@@ -5852,11 +5925,13 @@ static enum ndr_err_code ndr_pull_netr_CONTROL_DATA_INFORMATION(struct ndr_pull
+ NDR_PULL_SET_MEM_CTX(ndr, r->domain, 0);
+ NDR_CHECK(ndr_pull_array_size(ndr, &r->domain));
+ NDR_CHECK(ndr_pull_array_length(ndr, &r->domain));
+- if (ndr_get_array_length(ndr, &r->domain) > ndr_get_array_size(ndr, &r->domain)) {
+- return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->domain), ndr_get_array_length(ndr, &r->domain));
++ size_domain_1 = ndr_get_array_size(ndr, &r->domain);
++ length_domain_1 = ndr_get_array_length(ndr, &r->domain);
++ if (length_domain_1 > size_domain_1) {
++ return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_domain_1, length_domain_1);
+ }
+- NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->domain), sizeof(uint16_t)));
+- NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->domain, ndr_get_array_length(ndr, &r->domain), sizeof(uint16_t), CH_UTF16));
++ NDR_CHECK(ndr_check_string_terminator(ndr, length_domain_1, sizeof(uint16_t)));
++ NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->domain, length_domain_1, sizeof(uint16_t), CH_UTF16));
+ NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_0, 0);
+ }
+ break;
+@@ -5867,11 +5942,13 @@ static enum ndr_err_code ndr_pull_netr_CONTROL_DATA_INFORMATION(struct ndr_pull
+ NDR_PULL_SET_MEM_CTX(ndr, r->domain, 0);
+ NDR_CHECK(ndr_pull_array_size(ndr, &r->domain));
+ NDR_CHECK(ndr_pull_array_length(ndr, &r->domain));
+- if (ndr_get_array_length(ndr, &r->domain) > ndr_get_array_size(ndr, &r->domain)) {
+- return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->domain), ndr_get_array_length(ndr, &r->domain));
++ size_domain_1 = ndr_get_array_size(ndr, &r->domain);
++ length_domain_1 = ndr_get_array_length(ndr, &r->domain);
++ if (length_domain_1 > size_domain_1) {
++ return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_domain_1, length_domain_1);
+ }
+- NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->domain), sizeof(uint16_t)));
+- NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->domain, ndr_get_array_length(ndr, &r->domain), sizeof(uint16_t), CH_UTF16));
++ NDR_CHECK(ndr_check_string_terminator(ndr, length_domain_1, sizeof(uint16_t)));
++ NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->domain, length_domain_1, sizeof(uint16_t), CH_UTF16));
+ NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_0, 0);
+ }
+ break;
+@@ -5882,11 +5959,13 @@ static enum ndr_err_code ndr_pull_netr_CONTROL_DATA_INFORMATION(struct ndr_pull
+ NDR_PULL_SET_MEM_CTX(ndr, r->domain, 0);
+ NDR_CHECK(ndr_pull_array_size(ndr, &r->domain));
+ NDR_CHECK(ndr_pull_array_length(ndr, &r->domain));
+- if (ndr_get_array_length(ndr, &r->domain) > ndr_get_array_size(ndr, &r->domain)) {
+- return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->domain), ndr_get_array_length(ndr, &r->domain));
++ size_domain_1 = ndr_get_array_size(ndr, &r->domain);
++ length_domain_1 = ndr_get_array_length(ndr, &r->domain);
++ if (length_domain_1 > size_domain_1) {
++ return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_domain_1, length_domain_1);
+ }
+- NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->domain), sizeof(uint16_t)));
+- NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->domain, ndr_get_array_length(ndr, &r->domain), sizeof(uint16_t), CH_UTF16));
++ NDR_CHECK(ndr_check_string_terminator(ndr, length_domain_1, sizeof(uint16_t)));
++ NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->domain, length_domain_1, sizeof(uint16_t), CH_UTF16));
+ NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_0, 0);
+ }
+ break;
+@@ -6007,6 +6086,7 @@ static enum ndr_err_code ndr_push_netr_Blob(struct ndr_push *ndr, int ndr_flags,
+ static enum ndr_err_code ndr_pull_netr_Blob(struct ndr_pull *ndr, int ndr_flags, struct netr_Blob *r)
+ {
+ uint32_t _ptr_data;
++ uint32_t size_data_1 = 0;
+ TALLOC_CTX *_mem_save_data_0;
+ if (ndr_flags & NDR_SCALARS) {
+ NDR_CHECK(ndr_pull_align(ndr, 4));
+@@ -6023,8 +6103,9 @@ static enum ndr_err_code ndr_pull_netr_Blob(struct ndr_pull *ndr, int ndr_flags,
+ _mem_save_data_0 = NDR_PULL_GET_MEM_CTX(ndr);
+ NDR_PULL_SET_MEM_CTX(ndr, r->data, 0);
+ NDR_CHECK(ndr_pull_array_size(ndr, &r->data));
+- NDR_PULL_ALLOC_N(ndr, r->data, ndr_get_array_size(ndr, &r->data));
+- NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->data, ndr_get_array_size(ndr, &r->data)));
++ size_data_1 = ndr_get_array_size(ndr, &r->data);
++ NDR_PULL_ALLOC_N(ndr, r->data, size_data_1);
++ NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->data, size_data_1));
+ NDR_PULL_SET_MEM_CTX(ndr, _mem_save_data_0, 0);
+ }
+ if (r->data) {
+@@ -6208,16 +6289,28 @@ _PUBLIC_ enum ndr_err_code ndr_push_netr_DsRGetDCNameInfo(struct ndr_push *ndr,
+ _PUBLIC_ enum ndr_err_code ndr_pull_netr_DsRGetDCNameInfo(struct ndr_pull *ndr, int ndr_flags, struct netr_DsRGetDCNameInfo *r)
+ {
+ uint32_t _ptr_dc_unc;
++ uint32_t size_dc_unc_1 = 0;
++ uint32_t length_dc_unc_1 = 0;
+ TALLOC_CTX *_mem_save_dc_unc_0;
+ uint32_t _ptr_dc_address;
++ uint32_t size_dc_address_1 = 0;
++ uint32_t length_dc_address_1 = 0;
+ TALLOC_CTX *_mem_save_dc_address_0;
+ uint32_t _ptr_domain_name;
++ uint32_t size_domain_name_1 = 0;
++ uint32_t length_domain_name_1 = 0;
+ TALLOC_CTX *_mem_save_domain_name_0;
+ uint32_t _ptr_forest_name;
++ uint32_t size_forest_name_1 = 0;
++ uint32_t length_forest_name_1 = 0;
+ TALLOC_CTX *_mem_save_forest_name_0;
+ uint32_t _ptr_dc_site_name;
++ uint32_t size_dc_site_name_1 = 0;
++ uint32_t length_dc_site_name_1 = 0;
+ TALLOC_CTX *_mem_save_dc_site_name_0;
+ uint32_t _ptr_client_site_name;
++ uint32_t size_client_site_name_1 = 0;
++ uint32_t length_client_site_name_1 = 0;
+ TALLOC_CTX *_mem_save_client_site_name_0;
+ if (ndr_flags & NDR_SCALARS) {
+ NDR_CHECK(ndr_pull_align(ndr, 4));
+@@ -6267,11 +6360,13 @@ _PUBLIC_ enum ndr_err_code ndr_pull_netr_DsRGetDCNameInfo(struct ndr_pull *ndr,
+ NDR_PULL_SET_MEM_CTX(ndr, r->dc_unc, 0);
+ NDR_CHECK(ndr_pull_array_size(ndr, &r->dc_unc));
+ NDR_CHECK(ndr_pull_array_length(ndr, &r->dc_unc));
+- if (ndr_get_array_length(ndr, &r->dc_unc) > ndr_get_array_size(ndr, &r->dc_unc)) {
+- return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->dc_unc), ndr_get_array_length(ndr, &r->dc_unc));
++ size_dc_unc_1 = ndr_get_array_size(ndr, &r->dc_unc);
++ length_dc_unc_1 = ndr_get_array_length(ndr, &r->dc_unc);
++ if (length_dc_unc_1 > size_dc_unc_1) {
++ return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_dc_unc_1, length_dc_unc_1);
+ }
+- NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->dc_unc), sizeof(uint16_t)));
+- NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->dc_unc, ndr_get_array_length(ndr, &r->dc_unc), sizeof(uint16_t), CH_UTF16));
++ NDR_CHECK(ndr_check_string_terminator(ndr, length_dc_unc_1, sizeof(uint16_t)));
++ NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->dc_unc, length_dc_unc_1, sizeof(uint16_t), CH_UTF16));
+ NDR_PULL_SET_MEM_CTX(ndr, _mem_save_dc_unc_0, 0);
+ }
+ if (r->dc_address) {
+@@ -6279,11 +6374,13 @@ _PUBLIC_ enum ndr_err_code ndr_pull_netr_DsRGetDCNameInfo(struct ndr_pull *ndr,
+ NDR_PULL_SET_MEM_CTX(ndr, r->dc_address, 0);
+ NDR_CHECK(ndr_pull_array_size(ndr, &r->dc_address));
+ NDR_CHECK(ndr_pull_array_length(ndr, &r->dc_address));
+- if (ndr_get_array_length(ndr, &r->dc_address) > ndr_get_array_size(ndr, &r->dc_address)) {
+- return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->dc_address), ndr_get_array_length(ndr, &r->dc_address));
++ size_dc_address_1 = ndr_get_array_size(ndr, &r->dc_address);
++ length_dc_address_1 = ndr_get_array_length(ndr, &r->dc_address);
++ if (length_dc_address_1 > size_dc_address_1) {
++ return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_dc_address_1, length_dc_address_1);
+ }
+- NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->dc_address), sizeof(uint16_t)));
+- NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->dc_address, ndr_get_array_length(ndr, &r->dc_address), sizeof(uint16_t), CH_UTF16));
++ NDR_CHECK(ndr_check_string_terminator(ndr, length_dc_address_1, sizeof(uint16_t)));
++ NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->dc_address, length_dc_address_1, sizeof(uint16_t), CH_UTF16));
+ NDR_PULL_SET_MEM_CTX(ndr, _mem_save_dc_address_0, 0);
+ }
+ NDR_CHECK(ndr_pull_GUID(ndr, NDR_BUFFERS, &r->domain_guid));
+@@ -6292,11 +6389,13 @@ _PUBLIC_ enum ndr_err_code ndr_pull_netr_DsRGetDCNameInfo(struct ndr_pull *ndr,
+ NDR_PULL_SET_MEM_CTX(ndr, r->domain_name, 0);
+ NDR_CHECK(ndr_pull_array_size(ndr, &r->domain_name));
+ NDR_CHECK(ndr_pull_array_length(ndr, &r->domain_name));
+- if (ndr_get_array_length(ndr, &r->domain_name) > ndr_get_array_size(ndr, &r->domain_name)) {
+- return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->domain_name), ndr_get_array_length(ndr, &r->domain_name));
++ size_domain_name_1 = ndr_get_array_size(ndr, &r->domain_name);
++ length_domain_name_1 = ndr_get_array_length(ndr, &r->domain_name);
++ if (length_domain_name_1 > size_domain_name_1) {
++ return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_domain_name_1, length_domain_name_1);
+ }
+- NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->domain_name), sizeof(uint16_t)));
+- NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->domain_name, ndr_get_array_length(ndr, &r->domain_name), sizeof(uint16_t), CH_UTF16));
++ NDR_CHECK(ndr_check_string_terminator(ndr, length_domain_name_1, sizeof(uint16_t)));
++ NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->domain_name, length_domain_name_1, sizeof(uint16_t), CH_UTF16));
+ NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_name_0, 0);
+ }
+ if (r->forest_name) {
+@@ -6304,11 +6403,13 @@ _PUBLIC_ enum ndr_err_code ndr_pull_netr_DsRGetDCNameInfo(struct ndr_pull *ndr,
+ NDR_PULL_SET_MEM_CTX(ndr, r->forest_name, 0);
+ NDR_CHECK(ndr_pull_array_size(ndr, &r->forest_name));
+ NDR_CHECK(ndr_pull_array_length(ndr, &r->forest_name));
+- if (ndr_get_array_length(ndr, &r->forest_name) > ndr_get_array_size(ndr, &r->forest_name)) {
+- return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->forest_name), ndr_get_array_length(ndr, &r->forest_name));
++ size_forest_name_1 = ndr_get_array_size(ndr, &r->forest_name);
++ length_forest_name_1 = ndr_get_array_length(ndr, &r->forest_name);
++ if (length_forest_name_1 > size_forest_name_1) {
++ return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_forest_name_1, length_forest_name_1);
+ }
+- NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->forest_name), sizeof(uint16_t)));
+- NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->forest_name, ndr_get_array_length(ndr, &r->forest_name), sizeof(uint16_t), CH_UTF16));
++ NDR_CHECK(ndr_check_string_terminator(ndr, length_forest_name_1, sizeof(uint16_t)));
++ NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->forest_name, length_forest_name_1, sizeof(uint16_t), CH_UTF16));
+ NDR_PULL_SET_MEM_CTX(ndr, _mem_save_forest_name_0, 0);
+ }
+ if (r->dc_site_name) {
+@@ -6316,11 +6417,13 @@ _PUBLIC_ enum ndr_err_code ndr_pull_netr_DsRGetDCNameInfo(struct ndr_pull *ndr,
+ NDR_PULL_SET_MEM_CTX(ndr, r->dc_site_name, 0);
+ NDR_CHECK(ndr_pull_array_size(ndr, &r->dc_site_name));
+ NDR_CHECK(ndr_pull_array_length(ndr, &r->dc_site_name));
+- if (ndr_get_array_length(ndr, &r->dc_site_name) > ndr_get_array_size(ndr, &r->dc_site_name)) {
+- return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->dc_site_name), ndr_get_array_length(ndr, &r->dc_site_name));
++ size_dc_site_name_1 = ndr_get_array_size(ndr, &r->dc_site_name);
++ length_dc_site_name_1 = ndr_get_array_length(ndr, &r->dc_site_name);
++ if (length_dc_site_name_1 > size_dc_site_name_1) {
++ return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_dc_site_name_1, length_dc_site_name_1);
+ }
+- NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->dc_site_name), sizeof(uint16_t)));
+- NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->dc_site_name, ndr_get_array_length(ndr, &r->dc_site_name), sizeof(uint16_t), CH_UTF16));
++ NDR_CHECK(ndr_check_string_terminator(ndr, length_dc_site_name_1, sizeof(uint16_t)));
++ NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->dc_site_name, length_dc_site_name_1, sizeof(uint16_t), CH_UTF16));
+ NDR_PULL_SET_MEM_CTX(ndr, _mem_save_dc_site_name_0, 0);
+ }
+ if (r->client_site_name) {
+@@ -6328,11 +6431,13 @@ _PUBLIC_ enum ndr_err_code ndr_pull_netr_DsRGetDCNameInfo(struct ndr_pull *ndr,
+ NDR_PULL_SET_MEM_CTX(ndr, r->client_site_name, 0);
+ NDR_CHECK(ndr_pull_array_size(ndr, &r->client_site_name));
+ NDR_CHECK(ndr_pull_array_length(ndr, &r->client_site_name));
+- if (ndr_get_array_length(ndr, &r->client_site_name) > ndr_get_array_size(ndr, &r->client_site_name)) {
+- return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->client_site_name), ndr_get_array_length(ndr, &r->client_site_name));
++ size_client_site_name_1 = ndr_get_array_size(ndr, &r->client_site_name);
++ length_client_site_name_1 = ndr_get_array_length(ndr, &r->client_site_name);
++ if (length_client_site_name_1 > size_client_site_name_1) {
++ return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_client_site_name_1, length_client_site_name_1);
+ }
+- NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->client_site_name), sizeof(uint16_t)));
+- NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->client_site_name, ndr_get_array_length(ndr, &r->client_site_name), sizeof(uint16_t), CH_UTF16));
++ NDR_CHECK(ndr_check_string_terminator(ndr, length_client_site_name_1, sizeof(uint16_t)));
++ NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->client_site_name, length_client_site_name_1, sizeof(uint16_t), CH_UTF16));
+ NDR_PULL_SET_MEM_CTX(ndr, _mem_save_client_site_name_0, 0);
+ }
+ }
+@@ -6488,6 +6593,8 @@ static enum ndr_err_code ndr_push_netr_BinaryString(struct ndr_push *ndr, int nd
+ static enum ndr_err_code ndr_pull_netr_BinaryString(struct ndr_pull *ndr, int ndr_flags, struct netr_BinaryString *r)
+ {
+ uint32_t _ptr_data;
++ uint32_t size_data_1 = 0;
++ uint32_t length_data_1 = 0;
+ uint32_t cntr_data_1;
+ TALLOC_CTX *_mem_save_data_0;
+ TALLOC_CTX *_mem_save_data_1;
+@@ -6511,13 +6618,15 @@ static enum ndr_err_code ndr_pull_netr_BinaryString(struct ndr_pull *ndr, int nd
+ NDR_PULL_SET_MEM_CTX(ndr, r->data, 0);
+ NDR_CHECK(ndr_pull_array_size(ndr, &r->data));
+ NDR_CHECK(ndr_pull_array_length(ndr, &r->data));
+- if (ndr_get_array_length(ndr, &r->data) > ndr_get_array_size(ndr, &r->data)) {
+- return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->data), ndr_get_array_length(ndr, &r->data));
++ size_data_1 = ndr_get_array_size(ndr, &r->data);
++ length_data_1 = ndr_get_array_length(ndr, &r->data);
++ if (length_data_1 > size_data_1) {
++ return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_data_1, length_data_1);
+ }
+- NDR_PULL_ALLOC_N(ndr, r->data, ndr_get_array_size(ndr, &r->data));
++ NDR_PULL_ALLOC_N(ndr, r->data, size_data_1);
+ _mem_save_data_1 = NDR_PULL_GET_MEM_CTX(ndr);
+ NDR_PULL_SET_MEM_CTX(ndr, r->data, 0);
+- for (cntr_data_1 = 0; cntr_data_1 < r->length / 2; cntr_data_1++) {
++ for (cntr_data_1 = 0; cntr_data_1 < length_data_1; cntr_data_1++) {
+ NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->data[cntr_data_1]));
+ }
+ NDR_PULL_SET_MEM_CTX(ndr, _mem_save_data_1, 0);
+@@ -6634,17 +6743,30 @@ static enum ndr_err_code ndr_push_netr_DomainQuery1(struct ndr_push *ndr, int nd
+ static enum ndr_err_code ndr_pull_netr_DomainQuery1(struct ndr_pull *ndr, int ndr_flags, struct netr_DomainQuery1 *r)
+ {
+ uint32_t _ptr_workstation_domain;
++ uint32_t size_workstation_domain_1 = 0;
++ uint32_t length_workstation_domain_1 = 0;
+ TALLOC_CTX *_mem_save_workstation_domain_0;
+ uint32_t _ptr_workstation_site;
++ uint32_t size_workstation_site_1 = 0;
++ uint32_t length_workstation_site_1 = 0;
+ TALLOC_CTX *_mem_save_workstation_site_0;
+ uint32_t _ptr_unknown1;
++ uint32_t size_unknown1_1 = 0;
++ uint32_t length_unknown1_1 = 0;
+ TALLOC_CTX *_mem_save_unknown1_0;
+ uint32_t _ptr_unknown2;
++ uint32_t size_unknown2_1 = 0;
++ uint32_t length_unknown2_1 = 0;
+ TALLOC_CTX *_mem_save_unknown2_0;
+ uint32_t _ptr_unknown3;
++ uint32_t size_unknown3_1 = 0;
++ uint32_t length_unknown3_1 = 0;
+ TALLOC_CTX *_mem_save_unknown3_0;
+ uint32_t _ptr_unknown4;
++ uint32_t size_unknown4_1 = 0;
++ uint32_t length_unknown4_1 = 0;
+ TALLOC_CTX *_mem_save_unknown4_0;
++ uint32_t size_unknown7_0 = 0;
+ uint32_t cntr_unknown7_0;
+ if (ndr_flags & NDR_SCALARS) {
+ NDR_CHECK(ndr_pull_align(ndr, 4));
+@@ -6689,7 +6811,8 @@ static enum ndr_err_code ndr_pull_netr_DomainQuery1(struct ndr_pull *ndr, int nd
+ NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->product));
+ NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->unknown5));
+ NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->unknown6));
+- for (cntr_unknown7_0 = 0; cntr_unknown7_0 < 4; cntr_unknown7_0++) {
++ size_unknown7_0 = 4;
++ for (cntr_unknown7_0 = 0; cntr_unknown7_0 < size_unknown7_0; cntr_unknown7_0++) {
+ NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown7[cntr_unknown7_0]));
+ }
+ }
+@@ -6700,11 +6823,13 @@ static enum ndr_err_code ndr_pull_netr_DomainQuery1(struct ndr_pull *ndr, int nd
+ NDR_PULL_SET_MEM_CTX(ndr, r->workstation_domain, 0);
+ NDR_CHECK(ndr_pull_array_size(ndr, &r->workstation_domain));
+ NDR_CHECK(ndr_pull_array_length(ndr, &r->workstation_domain));
+- if (ndr_get_array_length(ndr, &r->workstation_domain) > ndr_get_array_size(ndr, &r->workstation_domain)) {
+- return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->workstation_domain), ndr_get_array_length(ndr, &r->workstation_domain));
++ size_workstation_domain_1 = ndr_get_array_size(ndr, &r->workstation_domain);
++ length_workstation_domain_1 = ndr_get_array_length(ndr, &r->workstation_domain);
++ if (length_workstation_domain_1 > size_workstation_domain_1) {
++ return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_workstation_domain_1, length_workstation_domain_1);
+ }
+- NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->workstation_domain), sizeof(uint16_t)));
+- NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->workstation_domain, ndr_get_array_length(ndr, &r->workstation_domain), sizeof(uint16_t), CH_UTF16));
++ NDR_CHECK(ndr_check_string_terminator(ndr, length_workstation_domain_1, sizeof(uint16_t)));
++ NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->workstation_domain, length_workstation_domain_1, sizeof(uint16_t), CH_UTF16));
+ NDR_PULL_SET_MEM_CTX(ndr, _mem_save_workstation_domain_0, 0);
+ }
+ if (r->workstation_site) {
+@@ -6712,11 +6837,13 @@ static enum ndr_err_code ndr_pull_netr_DomainQuery1(struct ndr_pull *ndr, int nd
+ NDR_PULL_SET_MEM_CTX(ndr, r->workstation_site, 0);
+ NDR_CHECK(ndr_pull_array_size(ndr, &r->workstation_site));
+ NDR_CHECK(ndr_pull_array_length(ndr, &r->workstation_site));
+- if (ndr_get_array_length(ndr, &r->workstation_site) > ndr_get_array_size(ndr, &r->workstation_site)) {
+- return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->workstation_site), ndr_get_array_length(ndr, &r->workstation_site));
++ size_workstation_site_1 = ndr_get_array_size(ndr, &r->workstation_site);
++ length_workstation_site_1 = ndr_get_array_length(ndr, &r->workstation_site);
++ if (length_workstation_site_1 > size_workstation_site_1) {
++ return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_workstation_site_1, length_workstation_site_1);
+ }
+- NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->workstation_site), sizeof(uint16_t)));
+- NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->workstation_site, ndr_get_array_length(ndr, &r->workstation_site), sizeof(uint16_t), CH_UTF16));
++ NDR_CHECK(ndr_check_string_terminator(ndr, length_workstation_site_1, sizeof(uint16_t)));
++ NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->workstation_site, length_workstation_site_1, sizeof(uint16_t), CH_UTF16));
+ NDR_PULL_SET_MEM_CTX(ndr, _mem_save_workstation_site_0, 0);
+ }
+ if (r->unknown1) {
+@@ -6724,11 +6851,13 @@ static enum ndr_err_code ndr_pull_netr_DomainQuery1(struct ndr_pull *ndr, int nd
+ NDR_PULL_SET_MEM_CTX(ndr, r->unknown1, 0);
+ NDR_CHECK(ndr_pull_array_size(ndr, &r->unknown1));
+ NDR_CHECK(ndr_pull_array_length(ndr, &r->unknown1));
+- if (ndr_get_array_length(ndr, &r->unknown1) > ndr_get_array_size(ndr, &r->unknown1)) {
+- return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->unknown1), ndr_get_array_length(ndr, &r->unknown1));
++ size_unknown1_1 = ndr_get_array_size(ndr, &r->unknown1);
++ length_unknown1_1 = ndr_get_array_length(ndr, &r->unknown1);
++ if (length_unknown1_1 > size_unknown1_1) {
++ return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_unknown1_1, length_unknown1_1);
+ }
+- NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->unknown1), sizeof(uint16_t)));
+- NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->unknown1, ndr_get_array_length(ndr, &r->unknown1), sizeof(uint16_t), CH_UTF16));
++ NDR_CHECK(ndr_check_string_terminator(ndr, length_unknown1_1, sizeof(uint16_t)));
++ NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->unknown1, length_unknown1_1, sizeof(uint16_t), CH_UTF16));
+ NDR_PULL_SET_MEM_CTX(ndr, _mem_save_unknown1_0, 0);
+ }
+ if (r->unknown2) {
+@@ -6736,11 +6865,13 @@ static enum ndr_err_code ndr_pull_netr_DomainQuery1(struct ndr_pull *ndr, int nd
+ NDR_PULL_SET_MEM_CTX(ndr, r->unknown2, 0);
+ NDR_CHECK(ndr_pull_array_size(ndr, &r->unknown2));
+ NDR_CHECK(ndr_pull_array_length(ndr, &r->unknown2));
+- if (ndr_get_array_length(ndr, &r->unknown2) > ndr_get_array_size(ndr, &r->unknown2)) {
+- return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->unknown2), ndr_get_array_length(ndr, &r->unknown2));
++ size_unknown2_1 = ndr_get_array_size(ndr, &r->unknown2);
++ length_unknown2_1 = ndr_get_array_length(ndr, &r->unknown2);
++ if (length_unknown2_1 > size_unknown2_1) {
++ return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_unknown2_1, length_unknown2_1);
+ }
+- NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->unknown2), sizeof(uint16_t)));
+- NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->unknown2, ndr_get_array_length(ndr, &r->unknown2), sizeof(uint16_t), CH_UTF16));
++ NDR_CHECK(ndr_check_string_terminator(ndr, length_unknown2_1, sizeof(uint16_t)));
++ NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->unknown2, length_unknown2_1, sizeof(uint16_t), CH_UTF16));
+ NDR_PULL_SET_MEM_CTX(ndr, _mem_save_unknown2_0, 0);
+ }
+ if (r->unknown3) {
+@@ -6748,11 +6879,13 @@ static enum ndr_err_code ndr_pull_netr_DomainQuery1(struct ndr_pull *ndr, int nd
+ NDR_PULL_SET_MEM_CTX(ndr, r->unknown3, 0);
+ NDR_CHECK(ndr_pull_array_size(ndr, &r->unknown3));
+ NDR_CHECK(ndr_pull_array_length(ndr, &r->unknown3));
+- if (ndr_get_array_length(ndr, &r->unknown3) > ndr_get_array_size(ndr, &r->unknown3)) {
+- return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->unknown3), ndr_get_array_length(ndr, &r->unknown3));
++ size_unknown3_1 = ndr_get_array_size(ndr, &r->unknown3);
++ length_unknown3_1 = ndr_get_array_length(ndr, &r->unknown3);
++ if (length_unknown3_1 > size_unknown3_1) {
++ return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_unknown3_1, length_unknown3_1);
+ }
+- NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->unknown3), sizeof(uint16_t)));
+- NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->unknown3, ndr_get_array_length(ndr, &r->unknown3), sizeof(uint16_t), CH_UTF16));
++ NDR_CHECK(ndr_check_string_terminator(ndr, length_unknown3_1, sizeof(uint16_t)));
++ NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->unknown3, length_unknown3_1, sizeof(uint16_t), CH_UTF16));
+ NDR_PULL_SET_MEM_CTX(ndr, _mem_save_unknown3_0, 0);
+ }
+ if (r->unknown4) {
+@@ -6760,11 +6893,13 @@ static enum ndr_err_code ndr_pull_netr_DomainQuery1(struct ndr_pull *ndr, int nd
+ NDR_PULL_SET_MEM_CTX(ndr, r->unknown4, 0);
+ NDR_CHECK(ndr_pull_array_size(ndr, &r->unknown4));
+ NDR_CHECK(ndr_pull_array_length(ndr, &r->unknown4));
+- if (ndr_get_array_length(ndr, &r->unknown4) > ndr_get_array_size(ndr, &r->unknown4)) {
+- return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->unknown4), ndr_get_array_length(ndr, &r->unknown4));
++ size_unknown4_1 = ndr_get_array_size(ndr, &r->unknown4);
++ length_unknown4_1 = ndr_get_array_length(ndr, &r->unknown4);
++ if (length_unknown4_1 > size_unknown4_1) {
++ return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_unknown4_1, length_unknown4_1);
+ }
+- NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->unknown4), sizeof(uint16_t)));
+- NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->unknown4, ndr_get_array_length(ndr, &r->unknown4), sizeof(uint16_t), CH_UTF16));
++ NDR_CHECK(ndr_check_string_terminator(ndr, length_unknown4_1, sizeof(uint16_t)));
++ NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->unknown4, length_unknown4_1, sizeof(uint16_t), CH_UTF16));
+ NDR_PULL_SET_MEM_CTX(ndr, _mem_save_unknown4_0, 0);
+ }
+ NDR_CHECK(ndr_pull_netr_BinaryString(ndr, NDR_BUFFERS, &r->blob2));
+@@ -6879,6 +7014,7 @@ static enum ndr_err_code ndr_pull_netr_DomainQuery(struct ndr_pull *ndr, int ndr
+ int level;
+ uint32_t _level;
+ TALLOC_CTX *_mem_save_query1_0;
++ uint32_t _ptr_query1;
+ level = ndr_pull_get_switch_value(ndr, r);
+ if (ndr_flags & NDR_SCALARS) {
+ NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &_level));
+@@ -6887,7 +7023,6 @@ static enum ndr_err_code ndr_pull_netr_DomainQuery(struct ndr_pull *ndr, int ndr
+ }
+ switch (level) {
+ case 1: {
+- uint32_t _ptr_query1;
+ NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_query1));
+ if (_ptr_query1) {
+ NDR_PULL_ALLOC(ndr, r->query1);
+@@ -6897,7 +7032,6 @@ static enum ndr_err_code ndr_pull_netr_DomainQuery(struct ndr_pull *ndr, int ndr
+ break; }
+
+ case 2: {
+- uint32_t _ptr_query1;
+ NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_query1));
+ if (_ptr_query1) {
+ NDR_PULL_ALLOC(ndr, r->query1);
+@@ -7003,7 +7137,9 @@ static enum ndr_err_code ndr_pull_netr_DomainTrustInfo(struct ndr_pull *ndr, int
+ {
+ uint32_t _ptr_sid;
+ TALLOC_CTX *_mem_save_sid_0;
++ uint32_t size_unknown1_0 = 0;
+ uint32_t cntr_unknown1_0;
++ uint32_t size_unknown_0 = 0;
+ uint32_t cntr_unknown_0;
+ if (ndr_flags & NDR_SCALARS) {
+ NDR_CHECK(ndr_pull_align(ndr, 4));
+@@ -7017,10 +7153,12 @@ static enum ndr_err_code ndr_pull_netr_DomainTrustInfo(struct ndr_pull *ndr, int
+ } else {
+ r->sid = NULL;
+ }
+- for (cntr_unknown1_0 = 0; cntr_unknown1_0 < 4; cntr_unknown1_0++) {
++ size_unknown1_0 = 4;
++ for (cntr_unknown1_0 = 0; cntr_unknown1_0 < size_unknown1_0; cntr_unknown1_0++) {
+ NDR_CHECK(ndr_pull_netr_BinaryString(ndr, NDR_SCALARS, &r->unknown1[cntr_unknown1_0]));
+ }
+- for (cntr_unknown_0 = 0; cntr_unknown_0 < 4; cntr_unknown_0++) {
++ size_unknown_0 = 4;
++ for (cntr_unknown_0 = 0; cntr_unknown_0 < size_unknown_0; cntr_unknown_0++) {
+ NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown[cntr_unknown_0]));
+ }
+ }
+@@ -7035,7 +7173,8 @@ static enum ndr_err_code ndr_pull_netr_DomainTrustInfo(struct ndr_pull *ndr, int
+ NDR_CHECK(ndr_pull_dom_sid2(ndr, NDR_SCALARS|NDR_BUFFERS, r->sid));
+ NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sid_0, 0);
+ }
+- for (cntr_unknown1_0 = 0; cntr_unknown1_0 < 4; cntr_unknown1_0++) {
++ size_unknown1_0 = 4;
++ for (cntr_unknown1_0 = 0; cntr_unknown1_0 < size_unknown1_0; cntr_unknown1_0++) {
+ NDR_CHECK(ndr_pull_netr_BinaryString(ndr, NDR_BUFFERS, &r->unknown1[cntr_unknown1_0]));
+ }
+ }
+@@ -7112,9 +7251,11 @@ static enum ndr_err_code ndr_push_netr_DomainInfo1(struct ndr_push *ndr, int ndr
+ static enum ndr_err_code ndr_pull_netr_DomainInfo1(struct ndr_pull *ndr, int ndr_flags, struct netr_DomainInfo1 *r)
+ {
+ uint32_t _ptr_trusts;
++ uint32_t size_trusts_1 = 0;
+ uint32_t cntr_trusts_1;
+ TALLOC_CTX *_mem_save_trusts_0;
+ TALLOC_CTX *_mem_save_trusts_1;
++ uint32_t size_unknown_0 = 0;
+ uint32_t cntr_unknown_0;
+ if (ndr_flags & NDR_SCALARS) {
+ NDR_CHECK(ndr_pull_align(ndr, 4));
+@@ -7126,7 +7267,8 @@ static enum ndr_err_code ndr_pull_netr_DomainInfo1(struct ndr_pull *ndr, int ndr
+ } else {
+ r->trusts = NULL;
+ }
+- for (cntr_unknown_0 = 0; cntr_unknown_0 < 14; cntr_unknown_0++) {
++ size_unknown_0 = 14;
++ for (cntr_unknown_0 = 0; cntr_unknown_0 < size_unknown_0; cntr_unknown_0++) {
+ NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown[cntr_unknown_0]));
+ }
+ }
+@@ -7136,13 +7278,14 @@ static enum ndr_err_code ndr_pull_netr_DomainInfo1(struct ndr_pull *ndr, int ndr
+ _mem_save_trusts_0 = NDR_PULL_GET_MEM_CTX(ndr);
+ NDR_PULL_SET_MEM_CTX(ndr, r->trusts, 0);
+ NDR_CHECK(ndr_pull_array_size(ndr, &r->trusts));
+- NDR_PULL_ALLOC_N(ndr, r->trusts, ndr_get_array_size(ndr, &r->trusts));
++ size_trusts_1 = ndr_get_array_size(ndr, &r->trusts);
++ NDR_PULL_ALLOC_N(ndr, r->trusts, size_trusts_1);
+ _mem_save_trusts_1 = NDR_PULL_GET_MEM_CTX(ndr);
+ NDR_PULL_SET_MEM_CTX(ndr, r->trusts, 0);
+- for (cntr_trusts_1 = 0; cntr_trusts_1 < r->num_trusts; cntr_trusts_1++) {
++ for (cntr_trusts_1 = 0; cntr_trusts_1 < size_trusts_1; cntr_trusts_1++) {
+ NDR_CHECK(ndr_pull_netr_DomainTrustInfo(ndr, NDR_SCALARS, &r->trusts[cntr_trusts_1]));
+ }
+- for (cntr_trusts_1 = 0; cntr_trusts_1 < r->num_trusts; cntr_trusts_1++) {
++ for (cntr_trusts_1 = 0; cntr_trusts_1 < size_trusts_1; cntr_trusts_1++) {
+ NDR_CHECK(ndr_pull_netr_DomainTrustInfo(ndr, NDR_BUFFERS, &r->trusts[cntr_trusts_1]));
+ }
+ NDR_PULL_SET_MEM_CTX(ndr, _mem_save_trusts_1, 0);
+@@ -7236,6 +7379,7 @@ static enum ndr_err_code ndr_pull_netr_DomainInfo(struct ndr_pull *ndr, int ndr_
+ int level;
+ uint32_t _level;
+ TALLOC_CTX *_mem_save_info1_0;
++ uint32_t _ptr_info1;
+ level = ndr_pull_get_switch_value(ndr, r);
+ if (ndr_flags & NDR_SCALARS) {
+ NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &_level));
+@@ -7244,7 +7388,6 @@ static enum ndr_err_code ndr_pull_netr_DomainInfo(struct ndr_pull *ndr, int ndr_
+ }
+ switch (level) {
+ case 1: {
+- uint32_t _ptr_info1;
+ NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info1));
+ if (_ptr_info1) {
+ NDR_PULL_ALLOC(ndr, r->info1);
+@@ -7254,7 +7397,6 @@ static enum ndr_err_code ndr_pull_netr_DomainInfo(struct ndr_pull *ndr, int ndr_
+ break; }
+
+ case 2: {
+- uint32_t _ptr_info1;
+ NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info1));
+ if (_ptr_info1) {
+ NDR_PULL_ALLOC(ndr, r->info1);
+@@ -7342,12 +7484,14 @@ static enum ndr_err_code ndr_push_netr_CryptPassword(struct ndr_push *ndr, int n
+
+ static enum ndr_err_code ndr_pull_netr_CryptPassword(struct ndr_pull *ndr, int ndr_flags, struct netr_CryptPassword *r)
+ {
++ uint32_t size_data_0 = 0;
+ {
+ uint32_t _flags_save_STRUCT = ndr->flags;
+ ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
+ if (ndr_flags & NDR_SCALARS) {
+ NDR_CHECK(ndr_pull_align(ndr, 4));
+- NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->data, 512));
++ size_data_0 = 512;
++ NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->data, size_data_0));
+ NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->length));
+ }
+ if (ndr_flags & NDR_BUFFERS) {
+@@ -7396,6 +7540,7 @@ static enum ndr_err_code ndr_push_netr_DsRAddressToSitenamesWCtr(struct ndr_push
+ static enum ndr_err_code ndr_pull_netr_DsRAddressToSitenamesWCtr(struct ndr_pull *ndr, int ndr_flags, struct netr_DsRAddressToSitenamesWCtr *r)
+ {
+ uint32_t _ptr_sitename;
++ uint32_t size_sitename_1 = 0;
+ uint32_t cntr_sitename_1;
+ TALLOC_CTX *_mem_save_sitename_0;
+ TALLOC_CTX *_mem_save_sitename_1;
+@@ -7414,13 +7559,14 @@ static enum ndr_err_code ndr_pull_netr_DsRAddressToSitenamesWCtr(struct ndr_pull
+ _mem_save_sitename_0 = NDR_PULL_GET_MEM_CTX(ndr);
+ NDR_PULL_SET_MEM_CTX(ndr, r->sitename, 0);
+ NDR_CHECK(ndr_pull_array_size(ndr, &r->sitename));
+- NDR_PULL_ALLOC_N(ndr, r->sitename, ndr_get_array_size(ndr, &r->sitename));
++ size_sitename_1 = ndr_get_array_size(ndr, &r->sitename);
++ NDR_PULL_ALLOC_N(ndr, r->sitename, size_sitename_1);
+ _mem_save_sitename_1 = NDR_PULL_GET_MEM_CTX(ndr);
+ NDR_PULL_SET_MEM_CTX(ndr, r->sitename, 0);
+- for (cntr_sitename_1 = 0; cntr_sitename_1 < r->count; cntr_sitename_1++) {
++ for (cntr_sitename_1 = 0; cntr_sitename_1 < size_sitename_1; cntr_sitename_1++) {
+ NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->sitename[cntr_sitename_1]));
+ }
+- for (cntr_sitename_1 = 0; cntr_sitename_1 < r->count; cntr_sitename_1++) {
++ for (cntr_sitename_1 = 0; cntr_sitename_1 < size_sitename_1; cntr_sitename_1++) {
+ NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->sitename[cntr_sitename_1]));
+ }
+ NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sitename_1, 0);
+@@ -7476,6 +7622,7 @@ static enum ndr_err_code ndr_push_netr_DsRAddress(struct ndr_push *ndr, int ndr_
+ static enum ndr_err_code ndr_pull_netr_DsRAddress(struct ndr_pull *ndr, int ndr_flags, struct netr_DsRAddress *r)
+ {
+ uint32_t _ptr_buffer;
++ uint32_t size_buffer_1 = 0;
+ TALLOC_CTX *_mem_save_buffer_0;
+ if (ndr_flags & NDR_SCALARS) {
+ NDR_CHECK(ndr_pull_align(ndr, 4));
+@@ -7492,8 +7639,9 @@ static enum ndr_err_code ndr_pull_netr_DsRAddress(struct ndr_pull *ndr, int ndr_
+ _mem_save_buffer_0 = NDR_PULL_GET_MEM_CTX(ndr);
+ NDR_PULL_SET_MEM_CTX(ndr, r->buffer, 0);
+ NDR_CHECK(ndr_pull_array_size(ndr, &r->buffer));
+- NDR_PULL_ALLOC_N(ndr, r->buffer, ndr_get_array_size(ndr, &r->buffer));
+- NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->buffer, ndr_get_array_size(ndr, &r->buffer)));
++ size_buffer_1 = ndr_get_array_size(ndr, &r->buffer);
++ NDR_PULL_ALLOC_N(ndr, r->buffer, size_buffer_1);
++ NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->buffer, size_buffer_1));
+ NDR_PULL_SET_MEM_CTX(ndr, _mem_save_buffer_0, 0);
+ }
+ if (r->buffer) {
+@@ -7636,8 +7784,12 @@ static enum ndr_err_code ndr_push_netr_DomainTrust(struct ndr_push *ndr, int ndr
+ static enum ndr_err_code ndr_pull_netr_DomainTrust(struct ndr_pull *ndr, int ndr_flags, struct netr_DomainTrust *r)
+ {
+ uint32_t _ptr_netbios_name;
++ uint32_t size_netbios_name_1 = 0;
++ uint32_t length_netbios_name_1 = 0;
+ TALLOC_CTX *_mem_save_netbios_name_0;
+ uint32_t _ptr_dns_name;
++ uint32_t size_dns_name_1 = 0;
++ uint32_t length_dns_name_1 = 0;
+ TALLOC_CTX *_mem_save_dns_name_0;
+ uint32_t _ptr_sid;
+ TALLOC_CTX *_mem_save_sid_0;
+@@ -7673,11 +7825,13 @@ static enum ndr_err_code ndr_pull_netr_DomainTrust(struct ndr_pull *ndr, int ndr
+ NDR_PULL_SET_MEM_CTX(ndr, r->netbios_name, 0);
+ NDR_CHECK(ndr_pull_array_size(ndr, &r->netbios_name));
+ NDR_CHECK(ndr_pull_array_length(ndr, &r->netbios_name));
+- if (ndr_get_array_length(ndr, &r->netbios_name) > ndr_get_array_size(ndr, &r->netbios_name)) {
+- return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->netbios_name), ndr_get_array_length(ndr, &r->netbios_name));
++ size_netbios_name_1 = ndr_get_array_size(ndr, &r->netbios_name);
++ length_netbios_name_1 = ndr_get_array_length(ndr, &r->netbios_name);
++ if (length_netbios_name_1 > size_netbios_name_1) {
++ return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_netbios_name_1, length_netbios_name_1);
+ }
+- NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->netbios_name), sizeof(uint16_t)));
+- NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->netbios_name, ndr_get_array_length(ndr, &r->netbios_name), sizeof(uint16_t), CH_UTF16));
++ NDR_CHECK(ndr_check_string_terminator(ndr, length_netbios_name_1, sizeof(uint16_t)));
++ NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->netbios_name, length_netbios_name_1, sizeof(uint16_t), CH_UTF16));
+ NDR_PULL_SET_MEM_CTX(ndr, _mem_save_netbios_name_0, 0);
+ }
+ if (r->dns_name) {
+@@ -7685,11 +7839,13 @@ static enum ndr_err_code ndr_pull_netr_DomainTrust(struct ndr_pull *ndr, int ndr
+ NDR_PULL_SET_MEM_CTX(ndr, r->dns_name, 0);
+ NDR_CHECK(ndr_pull_array_size(ndr, &r->dns_name));
+ NDR_CHECK(ndr_pull_array_length(ndr, &r->dns_name));
+- if (ndr_get_array_length(ndr, &r->dns_name) > ndr_get_array_size(ndr, &r->dns_name)) {
+- return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->dns_name), ndr_get_array_length(ndr, &r->dns_name));
++ size_dns_name_1 = ndr_get_array_size(ndr, &r->dns_name);
++ length_dns_name_1 = ndr_get_array_length(ndr, &r->dns_name);
++ if (length_dns_name_1 > size_dns_name_1) {
++ return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_dns_name_1, length_dns_name_1);
+ }
+- NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->dns_name), sizeof(uint16_t)));
+- NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->dns_name, ndr_get_array_length(ndr, &r->dns_name), sizeof(uint16_t), CH_UTF16));
++ NDR_CHECK(ndr_check_string_terminator(ndr, length_dns_name_1, sizeof(uint16_t)));
++ NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->dns_name, length_dns_name_1, sizeof(uint16_t), CH_UTF16));
+ NDR_PULL_SET_MEM_CTX(ndr, _mem_save_dns_name_0, 0);
+ }
+ if (r->sid) {
+@@ -7758,6 +7914,7 @@ static enum ndr_err_code ndr_push_netr_DomainTrustList(struct ndr_push *ndr, int
+ static enum ndr_err_code ndr_pull_netr_DomainTrustList(struct ndr_pull *ndr, int ndr_flags, struct netr_DomainTrustList *r)
+ {
+ uint32_t _ptr_array;
++ uint32_t size_array_1 = 0;
+ uint32_t cntr_array_1;
+ TALLOC_CTX *_mem_save_array_0;
+ TALLOC_CTX *_mem_save_array_1;
+@@ -7776,13 +7933,14 @@ static enum ndr_err_code ndr_pull_netr_DomainTrustList(struct ndr_pull *ndr, int
+ _mem_save_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
+ NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
+ NDR_CHECK(ndr_pull_array_size(ndr, &r->array));
+- NDR_PULL_ALLOC_N(ndr, r->array, ndr_get_array_size(ndr, &r->array));
++ size_array_1 = ndr_get_array_size(ndr, &r->array);
++ NDR_PULL_ALLOC_N(ndr, r->array, size_array_1);
+ _mem_save_array_1 = NDR_PULL_GET_MEM_CTX(ndr);
+ NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
+- for (cntr_array_1 = 0; cntr_array_1 < r->count; cntr_array_1++) {
++ for (cntr_array_1 = 0; cntr_array_1 < size_array_1; cntr_array_1++) {
+ NDR_CHECK(ndr_pull_netr_DomainTrust(ndr, NDR_SCALARS, &r->array[cntr_array_1]));
+ }
+- for (cntr_array_1 = 0; cntr_array_1 < r->count; cntr_array_1++) {
++ for (cntr_array_1 = 0; cntr_array_1 < size_array_1; cntr_array_1++) {
+ NDR_CHECK(ndr_pull_netr_DomainTrust(ndr, NDR_BUFFERS, &r->array[cntr_array_1]));
+ }
+ NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_1, 0);
+@@ -7855,10 +8013,12 @@ static enum ndr_err_code ndr_push_netr_DsRAddressToSitenamesExWCtr(struct ndr_pu
+ static enum ndr_err_code ndr_pull_netr_DsRAddressToSitenamesExWCtr(struct ndr_pull *ndr, int ndr_flags, struct netr_DsRAddressToSitenamesExWCtr *r)
+ {
+ uint32_t _ptr_sitename;
++ uint32_t size_sitename_1 = 0;
+ uint32_t cntr_sitename_1;
+ TALLOC_CTX *_mem_save_sitename_0;
+ TALLOC_CTX *_mem_save_sitename_1;
+ uint32_t _ptr_subnetname;
++ uint32_t size_subnetname_1 = 0;
+ uint32_t cntr_subnetname_1;
+ TALLOC_CTX *_mem_save_subnetname_0;
+ TALLOC_CTX *_mem_save_subnetname_1;
+@@ -7883,13 +8043,14 @@ static enum ndr_err_code ndr_pull_netr_DsRAddressToSitenamesExWCtr(struct ndr_pu
+ _mem_save_sitename_0 = NDR_PULL_GET_MEM_CTX(ndr);
+ NDR_PULL_SET_MEM_CTX(ndr, r->sitename, 0);
+ NDR_CHECK(ndr_pull_array_size(ndr, &r->sitename));
+- NDR_PULL_ALLOC_N(ndr, r->sitename, ndr_get_array_size(ndr, &r->sitename));
++ size_sitename_1 = ndr_get_array_size(ndr, &r->sitename);
++ NDR_PULL_ALLOC_N(ndr, r->sitename, size_sitename_1);
+ _mem_save_sitename_1 = NDR_PULL_GET_MEM_CTX(ndr);
+ NDR_PULL_SET_MEM_CTX(ndr, r->sitename, 0);
+- for (cntr_sitename_1 = 0; cntr_sitename_1 < r->count; cntr_sitename_1++) {
++ for (cntr_sitename_1 = 0; cntr_sitename_1 < size_sitename_1; cntr_sitename_1++) {
+ NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->sitename[cntr_sitename_1]));
+ }
+- for (cntr_sitename_1 = 0; cntr_sitename_1 < r->count; cntr_sitename_1++) {
++ for (cntr_sitename_1 = 0; cntr_sitename_1 < size_sitename_1; cntr_sitename_1++) {
+ NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->sitename[cntr_sitename_1]));
+ }
+ NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sitename_1, 0);
+@@ -7899,13 +8060,14 @@ static enum ndr_err_code ndr_pull_netr_DsRAddressToSitenamesExWCtr(struct ndr_pu
+ _mem_save_subnetname_0 = NDR_PULL_GET_MEM_CTX(ndr);
+ NDR_PULL_SET_MEM_CTX(ndr, r->subnetname, 0);
+ NDR_CHECK(ndr_pull_array_size(ndr, &r->subnetname));
+- NDR_PULL_ALLOC_N(ndr, r->subnetname, ndr_get_array_size(ndr, &r->subnetname));
++ size_subnetname_1 = ndr_get_array_size(ndr, &r->subnetname);
++ NDR_PULL_ALLOC_N(ndr, r->subnetname, size_subnetname_1);
+ _mem_save_subnetname_1 = NDR_PULL_GET_MEM_CTX(ndr);
+ NDR_PULL_SET_MEM_CTX(ndr, r->subnetname, 0);
+- for (cntr_subnetname_1 = 0; cntr_subnetname_1 < r->count; cntr_subnetname_1++) {
++ for (cntr_subnetname_1 = 0; cntr_subnetname_1 < size_subnetname_1; cntr_subnetname_1++) {
+ NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->subnetname[cntr_subnetname_1]));
+ }
+- for (cntr_subnetname_1 = 0; cntr_subnetname_1 < r->count; cntr_subnetname_1++) {
++ for (cntr_subnetname_1 = 0; cntr_subnetname_1 < size_subnetname_1; cntr_subnetname_1++) {
+ NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->subnetname[cntr_subnetname_1]));
+ }
+ NDR_PULL_SET_MEM_CTX(ndr, _mem_save_subnetname_1, 0);
+@@ -7986,6 +8148,7 @@ static enum ndr_err_code ndr_push_DcSitesCtr(struct ndr_push *ndr, int ndr_flags
+ static enum ndr_err_code ndr_pull_DcSitesCtr(struct ndr_pull *ndr, int ndr_flags, struct DcSitesCtr *r)
+ {
+ uint32_t _ptr_sites;
++ uint32_t size_sites_1 = 0;
+ uint32_t cntr_sites_1;
+ TALLOC_CTX *_mem_save_sites_0;
+ TALLOC_CTX *_mem_save_sites_1;
+@@ -8004,13 +8167,14 @@ static enum ndr_err_code ndr_pull_DcSitesCtr(struct ndr_pull *ndr, int ndr_flags
+ _mem_save_sites_0 = NDR_PULL_GET_MEM_CTX(ndr);
+ NDR_PULL_SET_MEM_CTX(ndr, r->sites, 0);
+ NDR_CHECK(ndr_pull_array_size(ndr, &r->sites));
+- NDR_PULL_ALLOC_N(ndr, r->sites, ndr_get_array_size(ndr, &r->sites));
++ size_sites_1 = ndr_get_array_size(ndr, &r->sites);
++ NDR_PULL_ALLOC_N(ndr, r->sites, size_sites_1);
+ _mem_save_sites_1 = NDR_PULL_GET_MEM_CTX(ndr);
+ NDR_PULL_SET_MEM_CTX(ndr, r->sites, 0);
+- for (cntr_sites_1 = 0; cntr_sites_1 < r->num_sites; cntr_sites_1++) {
++ for (cntr_sites_1 = 0; cntr_sites_1 < size_sites_1; cntr_sites_1++) {
+ NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->sites[cntr_sites_1]));
+ }
+- for (cntr_sites_1 = 0; cntr_sites_1 < r->num_sites; cntr_sites_1++) {
++ for (cntr_sites_1 = 0; cntr_sites_1 < size_sites_1; cntr_sites_1++) {
+ NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->sites[cntr_sites_1]));
+ }
+ NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sites_1, 0);
+@@ -8079,6 +8243,12 @@ static enum ndr_err_code ndr_push_netr_LogonUasLogon(struct ndr_push *ndr, int f
+ static enum ndr_err_code ndr_pull_netr_LogonUasLogon(struct ndr_pull *ndr, int flags, struct netr_LogonUasLogon *r)
+ {
+ uint32_t _ptr_server_name;
++ uint32_t size_server_name_1 = 0;
++ uint32_t length_server_name_1 = 0;
++ uint32_t size_account_name_0 = 0;
++ uint32_t length_account_name_0 = 0;
++ uint32_t size_workstation_0 = 0;
++ uint32_t length_workstation_0 = 0;
+ TALLOC_CTX *_mem_save_server_name_0;
+ TALLOC_CTX *_mem_save_info_0;
+ if (flags & NDR_IN) {
+@@ -8095,27 +8265,33 @@ static enum ndr_err_code ndr_pull_netr_LogonUasLogon(struct ndr_pull *ndr, int f
+ NDR_PULL_SET_MEM_CTX(ndr, r->in.server_name, 0);
+ NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_name));
+ NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_name));
+- if (ndr_get_array_length(ndr, &r->in.server_name) > ndr_get_array_size(ndr, &r->in.server_name)) {
+- return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.server_name), ndr_get_array_length(ndr, &r->in.server_name));
++ size_server_name_1 = ndr_get_array_size(ndr, &r->in.server_name);
++ length_server_name_1 = ndr_get_array_length(ndr, &r->in.server_name);
++ if (length_server_name_1 > size_server_name_1) {
++ return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_server_name_1, length_server_name_1);
+ }
+- NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t)));
+- NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.server_name, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t), CH_UTF16));
++ NDR_CHECK(ndr_check_string_terminator(ndr, length_server_name_1, sizeof(uint16_t)));
++ NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.server_name, length_server_name_1, sizeof(uint16_t), CH_UTF16));
+ NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_name_0, 0);
+ }
+ NDR_CHECK(ndr_pull_array_size(ndr, &r->in.account_name));
+ NDR_CHECK(ndr_pull_array_length(ndr, &r->in.account_name));
+- if (ndr_get_array_length(ndr, &r->in.account_name) > ndr_get_array_size(ndr, &r->in.account_name)) {
+- return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.account_name), ndr_get_array_length(ndr, &r->in.account_name));
++ size_account_name_0 = ndr_get_array_size(ndr, &r->in.account_name);
++ length_account_name_0 = ndr_get_array_length(ndr, &r->in.account_name);
++ if (length_account_name_0 > size_account_name_0) {
++ return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_account_name_0, length_account_name_0);
+ }
+- NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.account_name), sizeof(uint16_t)));
+- NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.account_name, ndr_get_array_length(ndr, &r->in.account_name), sizeof(uint16_t), CH_UTF16));
++ NDR_CHECK(ndr_check_string_terminator(ndr, length_account_name_0, sizeof(uint16_t)));
++ NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.account_name, length_account_name_0, sizeof(uint16_t), CH_UTF16));
+ NDR_CHECK(ndr_pull_array_size(ndr, &r->in.workstation));
+ NDR_CHECK(ndr_pull_array_length(ndr, &r->in.workstation));
+- if (ndr_get_array_length(ndr, &r->in.workstation) > ndr_get_array_size(ndr, &r->in.workstation)) {
+- return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.workstation), ndr_get_array_length(ndr, &r->in.workstation));
++ size_workstation_0 = ndr_get_array_size(ndr, &r->in.workstation);
++ length_workstation_0 = ndr_get_array_length(ndr, &r->in.workstation);
++ if (length_workstation_0 > size_workstation_0) {
++ return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_workstation_0, length_workstation_0);
+ }
+- NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.workstation), sizeof(uint16_t)));
+- NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.workstation, ndr_get_array_length(ndr, &r->in.workstation), sizeof(uint16_t), CH_UTF16));
++ NDR_CHECK(ndr_check_string_terminator(ndr, length_workstation_0, sizeof(uint16_t)));
++ NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.workstation, length_workstation_0, sizeof(uint16_t), CH_UTF16));
+ NDR_PULL_ALLOC(ndr, r->out.info);
+ ZERO_STRUCTP(r->out.info);
+ }
+@@ -8197,6 +8373,12 @@ static enum ndr_err_code ndr_push_netr_LogonUasLogoff(struct ndr_push *ndr, int
+ static enum ndr_err_code ndr_pull_netr_LogonUasLogoff(struct ndr_pull *ndr, int flags, struct netr_LogonUasLogoff *r)
+ {
+ uint32_t _ptr_server_name;
++ uint32_t size_server_name_1 = 0;
++ uint32_t length_server_name_1 = 0;
++ uint32_t size_account_name_0 = 0;
++ uint32_t length_account_name_0 = 0;
++ uint32_t size_workstation_0 = 0;
++ uint32_t length_workstation_0 = 0;
+ TALLOC_CTX *_mem_save_server_name_0;
+ TALLOC_CTX *_mem_save_info_0;
+ if (flags & NDR_IN) {
+@@ -8213,27 +8395,33 @@ static enum ndr_err_code ndr_pull_netr_LogonUasLogoff(struct ndr_pull *ndr, int
+ NDR_PULL_SET_MEM_CTX(ndr, r->in.server_name, 0);
+ NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_name));
+ NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_name));
+- if (ndr_get_array_length(ndr, &r->in.server_name) > ndr_get_array_size(ndr, &r->in.server_name)) {
+- return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.server_name), ndr_get_array_length(ndr, &r->in.server_name));
++ size_server_name_1 = ndr_get_array_size(ndr, &r->in.server_name);
++ length_server_name_1 = ndr_get_array_length(ndr, &r->in.server_name);
++ if (length_server_name_1 > size_server_name_1) {
++ return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_server_name_1, length_server_name_1);
+ }
+- NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t)));
+- NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.server_name, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t), CH_UTF16));
++ NDR_CHECK(ndr_check_string_terminator(ndr, length_server_name_1, sizeof(uint16_t)));
++ NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.server_name, length_server_name_1, sizeof(uint16_t), CH_UTF16));
+ NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_name_0, 0);
+ }
+ NDR_CHECK(ndr_pull_array_size(ndr, &r->in.account_name));
+ NDR_CHECK(ndr_pull_array_length(ndr, &r->in.account_name));
+- if (ndr_get_array_length(ndr, &r->in.account_name) > ndr_get_array_size(ndr, &r->in.account_name)) {
+- return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.account_name), ndr_get_array_length(ndr, &r->in.account_name));
++ size_account_name_0 = ndr_get_array_size(ndr, &r->in.account_name);
++ length_account_name_0 = ndr_get_array_length(ndr, &r->in.account_name);
++ if (length_account_name_0 > size_account_name_0) {
++ return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_account_name_0, length_account_name_0);
+ }
+- NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.account_name), sizeof(uint16_t)));
+- NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.account_name, ndr_get_array_length(ndr, &r->in.account_name), sizeof(uint16_t), CH_UTF16));
++ NDR_CHECK(ndr_check_string_terminator(ndr, length_account_name_0, sizeof(uint16_t)));
++ NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.account_name, length_account_name_0, sizeof(uint16_t), CH_UTF16));
+ NDR_CHECK(ndr_pull_array_size(ndr, &r->in.workstation));
+ NDR_CHECK(ndr_pull_array_length(ndr, &r->in.workstation));
+- if (ndr_get_array_length(ndr, &r->in.workstation) > ndr_get_array_size(ndr, &r->in.workstation)) {
+- return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.workstation), ndr_get_array_length(ndr, &r->in.workstation));
++ size_workstation_0 = ndr_get_array_size(ndr, &r->in.workstation);
++ length_workstation_0 = ndr_get_array_length(ndr, &r->in.workstation);
++ if (length_workstation_0 > size_workstation_0) {
++ return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_workstation_0, length_workstation_0);
+ }
+- NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.workstation), sizeof(uint16_t)));
+- NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.workstation, ndr_get_array_length(ndr, &r->in.workstation), sizeof(uint16_t), CH_UTF16));
++ NDR_CHECK(ndr_check_string_terminator(ndr, length_workstation_0, sizeof(uint16_t)));
++ NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.workstation, length_workstation_0, sizeof(uint16_t), CH_UTF16));
+ NDR_PULL_ALLOC(ndr, r->out.info);
+ ZERO_STRUCTP(r->out.info);
+ }
+@@ -8338,7 +8526,11 @@ static enum ndr_err_code ndr_push_netr_LogonSamLogon(struct ndr_push *ndr, int f
+ static enum ndr_err_code ndr_pull_netr_LogonSamLogon(struct ndr_pull *ndr, int flags, struct netr_LogonSamLogon *r)
+ {
+ uint32_t _ptr_server_name;
++ uint32_t size_server_name_1 = 0;
++ uint32_t length_server_name_1 = 0;
+ uint32_t _ptr_computer_name;
++ uint32_t size_computer_name_1 = 0;
++ uint32_t length_computer_name_1 = 0;
+ uint32_t _ptr_credential;
+ uint32_t _ptr_return_authenticator;
+ TALLOC_CTX *_mem_save_server_name_0;
+@@ -8362,11 +8554,13 @@ static enum ndr_err_code ndr_pull_netr_LogonSamLogon(struct ndr_pull *ndr, int f
+ NDR_PULL_SET_MEM_CTX(ndr, r->in.server_name, 0);
+ NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_name));
+ NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_name));
+- if (ndr_get_array_length(ndr, &r->in.server_name) > ndr_get_array_size(ndr, &r->in.server_name)) {
+- return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.server_name), ndr_get_array_length(ndr, &r->in.server_name));
++ size_server_name_1 = ndr_get_array_size(ndr, &r->in.server_name);
++ length_server_name_1 = ndr_get_array_length(ndr, &r->in.server_name);
++ if (length_server_name_1 > size_server_name_1) {
++ return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_server_name_1, length_server_name_1);
+ }
+- NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t)));
+- NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.server_name, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t), CH_UTF16));
++ NDR_CHECK(ndr_check_string_terminator(ndr, length_server_name_1, sizeof(uint16_t)));
++ NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.server_name, length_server_name_1, sizeof(uint16_t), CH_UTF16));
+ NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_name_0, 0);
+ }
+ NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_computer_name));
+@@ -8380,11 +8574,13 @@ static enum ndr_err_code ndr_pull_netr_LogonSamLogon(struct ndr_pull *ndr, int f
+ NDR_PULL_SET_MEM_CTX(ndr, r->in.computer_name, 0);
+ NDR_CHECK(ndr_pull_array_size(ndr, &r->in.computer_name));
+ NDR_CHECK(ndr_pull_array_length(ndr, &r->in.computer_name));
+- if (ndr_get_array_length(ndr, &r->in.computer_name) > ndr_get_array_size(ndr, &r->in.computer_name)) {
+- return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.computer_name), ndr_get_array_length(ndr, &r->in.computer_name));
++ size_computer_name_1 = ndr_get_array_size(ndr, &r->in.computer_name);
++ length_computer_name_1 = ndr_get_array_length(ndr, &r->in.computer_name);
++ if (length_computer_name_1 > size_computer_name_1) {
++ return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_computer_name_1, length_computer_name_1);
+ }
+- NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.computer_name), sizeof(uint16_t)));
+- NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.computer_name, ndr_get_array_length(ndr, &r->in.computer_name), sizeof(uint16_t), CH_UTF16));
++ NDR_CHECK(ndr_check_string_terminator(ndr, length_computer_name_1, sizeof(uint16_t)));
++ NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.computer_name, length_computer_name_1, sizeof(uint16_t), CH_UTF16));
+ NDR_PULL_SET_MEM_CTX(ndr, _mem_save_computer_name_0, 0);
+ }
+ NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_credential));
+@@ -8568,7 +8764,11 @@ static enum ndr_err_code ndr_push_netr_LogonSamLogoff(struct ndr_push *ndr, int
+ static enum ndr_err_code ndr_pull_netr_LogonSamLogoff(struct ndr_pull *ndr, int flags, struct netr_LogonSamLogoff *r)
+ {
+ uint32_t _ptr_server_name;
++ uint32_t size_server_name_1 = 0;
++ uint32_t length_server_name_1 = 0;
+ uint32_t _ptr_computer_name;
++ uint32_t size_computer_name_1 = 0;
++ uint32_t length_computer_name_1 = 0;
+ uint32_t _ptr_credential;
+ uint32_t _ptr_return_authenticator;
+ TALLOC_CTX *_mem_save_server_name_0;
+@@ -8589,11 +8789,13 @@ static enum ndr_err_code ndr_pull_netr_LogonSamLogoff(struct ndr_pull *ndr, int
+ NDR_PULL_SET_MEM_CTX(ndr, r->in.server_name, 0);
+ NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_name));
+ NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_name));
+- if (ndr_get_array_length(ndr, &r->in.server_name) > ndr_get_array_size(ndr, &r->in.server_name)) {
+- return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.server_name), ndr_get_array_length(ndr, &r->in.server_name));
++ size_server_name_1 = ndr_get_array_size(ndr, &r->in.server_name);
++ length_server_name_1 = ndr_get_array_length(ndr, &r->in.server_name);
++ if (length_server_name_1 > size_server_name_1) {
++ return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_server_name_1, length_server_name_1);
+ }
+- NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t)));
+- NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.server_name, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t), CH_UTF16));
++ NDR_CHECK(ndr_check_string_terminator(ndr, length_server_name_1, sizeof(uint16_t)));
++ NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.server_name, length_server_name_1, sizeof(uint16_t), CH_UTF16));
+ NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_name_0, 0);
+ }
+ NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_computer_name));
+@@ -8607,11 +8809,13 @@ static enum ndr_err_code ndr_pull_netr_LogonSamLogoff(struct ndr_pull *ndr, int
+ NDR_PULL_SET_MEM_CTX(ndr, r->in.computer_name, 0);
+ NDR_CHECK(ndr_pull_array_size(ndr, &r->in.computer_name));
+ NDR_CHECK(ndr_pull_array_length(ndr, &r->in.computer_name));
+- if (ndr_get_array_length(ndr, &r->in.computer_name) > ndr_get_array_size(ndr, &r->in.computer_name)) {
+- return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.computer_name), ndr_get_array_length(ndr, &r->in.computer_name));
++ size_computer_name_1 = ndr_get_array_size(ndr, &r->in.computer_name);
++ length_computer_name_1 = ndr_get_array_length(ndr, &r->in.computer_name);
++ if (length_computer_name_1 > size_computer_name_1) {
++ return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_computer_name_1, length_computer_name_1);
+ }
+- NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.computer_name), sizeof(uint16_t)));
+- NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.computer_name, ndr_get_array_length(ndr, &r->in.computer_name), sizeof(uint16_t), CH_UTF16));
++ NDR_CHECK(ndr_check_string_terminator(ndr, length_computer_name_1, sizeof(uint16_t)));
++ NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.computer_name, length_computer_name_1, sizeof(uint16_t), CH_UTF16));
+ NDR_PULL_SET_MEM_CTX(ndr, _mem_save_computer_name_0, 0);
+ }
+ NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_credential));
+@@ -8746,6 +8950,10 @@ static enum ndr_err_code ndr_push_netr_ServerReqChallenge(struct ndr_push *ndr,
+ static enum ndr_err_code ndr_pull_netr_ServerReqChallenge(struct ndr_pull *ndr, int flags, struct netr_ServerReqChallenge *r)
+ {
+ uint32_t _ptr_server_name;
++ uint32_t size_server_name_1 = 0;
++ uint32_t length_server_name_1 = 0;
++ uint32_t size_computer_name_0 = 0;
++ uint32_t length_computer_name_0 = 0;
+ TALLOC_CTX *_mem_save_server_name_0;
+ TALLOC_CTX *_mem_save_credentials_0;
+ TALLOC_CTX *_mem_save_return_credentials_0;
+@@ -8763,20 +8971,24 @@ static enum ndr_err_code ndr_pull_netr_ServerReqChallenge(struct ndr_pull *ndr,
+ NDR_PULL_SET_MEM_CTX(ndr, r->in.server_name, 0);
+ NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_name));
+ NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_name));
+- if (ndr_get_array_length(ndr, &r->in.server_name) > ndr_get_array_size(ndr, &r->in.server_name)) {
+- return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.server_name), ndr_get_array_length(ndr, &r->in.server_name));
++ size_server_name_1 = ndr_get_array_size(ndr, &r->in.server_name);
++ length_server_name_1 = ndr_get_array_length(ndr, &r->in.server_name);
++ if (length_server_name_1 > size_server_name_1) {
++ return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_server_name_1, length_server_name_1);
+ }
+- NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t)));
+- NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.server_name, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t), CH_UTF16));
++ NDR_CHECK(ndr_check_string_terminator(ndr, length_server_name_1, sizeof(uint16_t)));
++ NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.server_name, length_server_name_1, sizeof(uint16_t), CH_UTF16));
+ NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_name_0, 0);
+ }
+ NDR_CHECK(ndr_pull_array_size(ndr, &r->in.computer_name));
+ NDR_CHECK(ndr_pull_array_length(ndr, &r->in.computer_name));
+- if (ndr_get_array_length(ndr, &r->in.computer_name) > ndr_get_array_size(ndr, &r->in.computer_name)) {
+- return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.computer_name), ndr_get_array_length(ndr, &r->in.computer_name));
++ size_computer_name_0 = ndr_get_array_size(ndr, &r->in.computer_name);
++ length_computer_name_0 = ndr_get_array_length(ndr, &r->in.computer_name);
++ if (length_computer_name_0 > size_computer_name_0) {
++ return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_computer_name_0, length_computer_name_0);
+ }
+- NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.computer_name), sizeof(uint16_t)));
+- NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.computer_name, ndr_get_array_length(ndr, &r->in.computer_name), sizeof(uint16_t), CH_UTF16));
++ NDR_CHECK(ndr_check_string_terminator(ndr, length_computer_name_0, sizeof(uint16_t)));
++ NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.computer_name, length_computer_name_0, sizeof(uint16_t), CH_UTF16));
+ if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
+ NDR_PULL_ALLOC(ndr, r->in.credentials);
+ }
+@@ -8873,6 +9085,12 @@ static enum ndr_err_code ndr_push_netr_ServerAuthenticate(struct ndr_push *ndr,
+ static enum ndr_err_code ndr_pull_netr_ServerAuthenticate(struct ndr_pull *ndr, int flags, struct netr_ServerAuthenticate *r)
+ {
+ uint32_t _ptr_server_name;
++ uint32_t size_server_name_1 = 0;
++ uint32_t length_server_name_1 = 0;
++ uint32_t size_account_name_0 = 0;
++ uint32_t length_account_name_0 = 0;
++ uint32_t size_computer_name_0 = 0;
++ uint32_t length_computer_name_0 = 0;
+ TALLOC_CTX *_mem_save_server_name_0;
+ TALLOC_CTX *_mem_save_credentials_0;
+ TALLOC_CTX *_mem_save_return_credentials_0;
+@@ -8890,28 +9108,34 @@ static enum ndr_err_code ndr_pull_netr_ServerAuthenticate(struct ndr_pull *ndr,
+ NDR_PULL_SET_MEM_CTX(ndr, r->in.server_name, 0);
+ NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_name));
+ NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_name));
+- if (ndr_get_array_length(ndr, &r->in.server_name) > ndr_get_array_size(ndr, &r->in.server_name)) {
+- return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.server_name), ndr_get_array_length(ndr, &r->in.server_name));
++ size_server_name_1 = ndr_get_array_size(ndr, &r->in.server_name);
++ length_server_name_1 = ndr_get_array_length(ndr, &r->in.server_name);
++ if (length_server_name_1 > size_server_name_1) {
++ return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_server_name_1, length_server_name_1);
+ }
+- NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t)));
+- NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.server_name, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t), CH_UTF16));
++ NDR_CHECK(ndr_check_string_terminator(ndr, length_server_name_1, sizeof(uint16_t)));
++ NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.server_name, length_server_name_1, sizeof(uint16_t), CH_UTF16));
+ NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_name_0, 0);
+ }
+ NDR_CHECK(ndr_pull_array_size(ndr, &r->in.account_name));
+ NDR_CHECK(ndr_pull_array_length(ndr, &r->in.account_name));
+- if (ndr_get_array_length(ndr, &r->in.account_name) > ndr_get_array_size(ndr, &r->in.account_name)) {
+- return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.account_name), ndr_get_array_length(ndr, &r->in.account_name));
++ size_account_name_0 = ndr_get_array_size(ndr, &r->in.account_name);
++ length_account_name_0 = ndr_get_array_length(ndr, &r->in.account_name);
++ if (length_account_name_0 > size_account_name_0) {
++ return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_account_name_0, length_account_name_0);
+ }
+- NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.account_name), sizeof(uint16_t)));
+- NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.account_name, ndr_get_array_length(ndr, &r->in.account_name), sizeof(uint16_t), CH_UTF16));
++ NDR_CHECK(ndr_check_string_terminator(ndr, length_account_name_0, sizeof(uint16_t)));
++ NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.account_name, length_account_name_0, sizeof(uint16_t), CH_UTF16));
+ NDR_CHECK(ndr_pull_netr_SchannelType(ndr, NDR_SCALARS, &r->in.secure_channel_type));
+ NDR_CHECK(ndr_pull_array_size(ndr, &r->in.computer_name));
+ NDR_CHECK(ndr_pull_array_length(ndr, &r->in.computer_name));
+- if (ndr_get_array_length(ndr, &r->in.computer_name) > ndr_get_array_size(ndr, &r->in.computer_name)) {
+- return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.computer_name), ndr_get_array_length(ndr, &r->in.computer_name));
++ size_computer_name_0 = ndr_get_array_size(ndr, &r->in.computer_name);
++ length_computer_name_0 = ndr_get_array_length(ndr, &r->in.computer_name);
++ if (length_computer_name_0 > size_computer_name_0) {
++ return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_computer_name_0, length_computer_name_0);
+ }
+- NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.computer_name), sizeof(uint16_t)));
+- NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.computer_name, ndr_get_array_length(ndr, &r->in.computer_name), sizeof(uint16_t), CH_UTF16));
++ NDR_CHECK(ndr_check_string_terminator(ndr, length_computer_name_0, sizeof(uint16_t)));
++ NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.computer_name, length_computer_name_0, sizeof(uint16_t), CH_UTF16));
+ if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
+ NDR_PULL_ALLOC(ndr, r->in.credentials);
+ }
+@@ -9014,6 +9238,12 @@ static enum ndr_err_code ndr_push_netr_ServerPasswordSet(struct ndr_push *ndr, i
+ static enum ndr_err_code ndr_pull_netr_ServerPasswordSet(struct ndr_pull *ndr, int flags, struct netr_ServerPasswordSet *r)
+ {
+ uint32_t _ptr_server_name;
++ uint32_t size_server_name_1 = 0;
++ uint32_t length_server_name_1 = 0;
++ uint32_t size_account_name_0 = 0;
++ uint32_t length_account_name_0 = 0;
++ uint32_t size_computer_name_0 = 0;
++ uint32_t length_computer_name_0 = 0;
+ TALLOC_CTX *_mem_save_server_name_0;
+ TALLOC_CTX *_mem_save_credential_0;
+ TALLOC_CTX *_mem_save_return_authenticator_0;
+@@ -9032,28 +9262,34 @@ static enum ndr_err_code ndr_pull_netr_ServerPasswordSet(struct ndr_pull *ndr, i
+ NDR_PULL_SET_MEM_CTX(ndr, r->in.server_name, 0);
+ NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_name));
+ NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_name));
+- if (ndr_get_array_length(ndr, &r->in.server_name) > ndr_get_array_size(ndr, &r->in.server_name)) {
+- return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.server_name), ndr_get_array_length(ndr, &r->in.server_name));
++ size_server_name_1 = ndr_get_array_size(ndr, &r->in.server_name);
++ length_server_name_1 = ndr_get_array_length(ndr, &r->in.server_name);
++ if (length_server_name_1 > size_server_name_1) {
++ return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_server_name_1, length_server_name_1);
+ }
+- NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t)));
+- NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.server_name, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t), CH_UTF16));
++ NDR_CHECK(ndr_check_string_terminator(ndr, length_server_name_1, sizeof(uint16_t)));
++ NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.server_name, length_server_name_1, sizeof(uint16_t), CH_UTF16));
+ NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_name_0, 0);
+ }
+ NDR_CHECK(ndr_pull_array_size(ndr, &r->in.account_name));
+ NDR_CHECK(ndr_pull_array_length(ndr, &r->in.account_name));
+- if (ndr_get_array_length(ndr, &r->in.account_name) > ndr_get_array_size(ndr, &r->in.account_name)) {
+- return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.account_name), ndr_get_array_length(ndr, &r->in.account_name));
++ size_account_name_0 = ndr_get_array_size(ndr, &r->in.account_name);
++ length_account_name_0 = ndr_get_array_length(ndr, &r->in.account_name);
++ if (length_account_name_0 > size_account_name_0) {
++ return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_account_name_0, length_account_name_0);
+ }
+- NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.account_name), sizeof(uint16_t)));
+- NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.account_name, ndr_get_array_length(ndr, &r->in.account_name), sizeof(uint16_t), CH_UTF16));
++ NDR_CHECK(ndr_check_string_terminator(ndr, length_account_name_0, sizeof(uint16_t)));
++ NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.account_name, length_account_name_0, sizeof(uint16_t), CH_UTF16));
+ NDR_CHECK(ndr_pull_netr_SchannelType(ndr, NDR_SCALARS, &r->in.secure_channel_type));
+ NDR_CHECK(ndr_pull_array_size(ndr, &r->in.computer_name));
+ NDR_CHECK(ndr_pull_array_length(ndr, &r->in.computer_name));
+- if (ndr_get_array_length(ndr, &r->in.computer_name) > ndr_get_array_size(ndr, &r->in.computer_name)) {
+- return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.computer_name), ndr_get_array_length(ndr, &r->in.computer_name));
++ size_computer_name_0 = ndr_get_array_size(ndr, &r->in.computer_name);
++ length_computer_name_0 = ndr_get_array_length(ndr, &r->in.computer_name);
++ if (length_computer_name_0 > size_computer_name_0) {
++ return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_computer_name_0, length_computer_name_0);
+ }
+- NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.computer_name), sizeof(uint16_t)));
+- NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.computer_name, ndr_get_array_length(ndr, &r->in.computer_name), sizeof(uint16_t), CH_UTF16));
++ NDR_CHECK(ndr_check_string_terminator(ndr, length_computer_name_0, sizeof(uint16_t)));
++ NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.computer_name, length_computer_name_0, sizeof(uint16_t), CH_UTF16));
+ if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
+ NDR_PULL_ALLOC(ndr, r->in.credential);
+ }
+@@ -9175,6 +9411,10 @@ static enum ndr_err_code ndr_push_netr_DatabaseDeltas(struct ndr_push *ndr, int
+
+ static enum ndr_err_code ndr_pull_netr_DatabaseDeltas(struct ndr_pull *ndr, int flags, struct netr_DatabaseDeltas *r)
+ {
++ uint32_t size_logon_server_0 = 0;
++ uint32_t length_logon_server_0 = 0;
++ uint32_t size_computername_0 = 0;
++ uint32_t length_computername_0 = 0;
+ uint32_t _ptr_delta_enum_array;
+ TALLOC_CTX *_mem_save_credential_0;
+ TALLOC_CTX *_mem_save_return_authenticator_0;
+@@ -9186,18 +9426,22 @@ static enum ndr_err_code ndr_pull_netr_DatabaseDeltas(struct ndr_pull *ndr, int
+
+ NDR_CHECK(ndr_pull_array_size(ndr, &r->in.logon_server));
+ NDR_CHECK(ndr_pull_array_length(ndr, &r->in.logon_server));
+- if (ndr_get_array_length(ndr, &r->in.logon_server) > ndr_get_array_size(ndr, &r->in.logon_server)) {
+- return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.logon_server), ndr_get_array_length(ndr, &r->in.logon_server));
++ size_logon_server_0 = ndr_get_array_size(ndr, &r->in.logon_server);
++ length_logon_server_0 = ndr_get_array_length(ndr, &r->in.logon_server);
++ if (length_logon_server_0 > size_logon_server_0) {
++ return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_logon_server_0, length_logon_server_0);
+ }
+- NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.logon_server), sizeof(uint16_t)));
+- NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.logon_server, ndr_get_array_length(ndr, &r->in.logon_server), sizeof(uint16_t), CH_UTF16));
++ NDR_CHECK(ndr_check_string_terminator(ndr, length_logon_server_0, sizeof(uint16_t)));
++ NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.logon_server, length_logon_server_0, sizeof(uint16_t), CH_UTF16));
+ NDR_CHECK(ndr_pull_array_size(ndr, &r->in.computername));
+ NDR_CHECK(ndr_pull_array_length(ndr, &r->in.computername));
+- if (ndr_get_array_length(ndr, &r->in.computername) > ndr_get_array_size(ndr, &r->in.computername)) {
+- return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.computername), ndr_get_array_length(ndr, &r->in.computername));
++ size_computername_0 = ndr_get_array_size(ndr, &r->in.computername);
++ length_computername_0 = ndr_get_array_length(ndr, &r->in.computername);
++ if (length_computername_0 > size_computername_0) {
++ return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_computername_0, length_computername_0);
+ }
+- NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.computername), sizeof(uint16_t)));
+- NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.computername, ndr_get_array_length(ndr, &r->in.computername), sizeof(uint16_t), CH_UTF16));
++ NDR_CHECK(ndr_check_string_terminator(ndr, length_computername_0, sizeof(uint16_t)));
++ NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.computername, length_computername_0, sizeof(uint16_t), CH_UTF16));
+ if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
+ NDR_PULL_ALLOC(ndr, r->in.credential);
+ }
+@@ -9363,6 +9607,10 @@ static enum ndr_err_code ndr_push_netr_DatabaseSync(struct ndr_push *ndr, int fl
+
+ static enum ndr_err_code ndr_pull_netr_DatabaseSync(struct ndr_pull *ndr, int flags, struct netr_DatabaseSync *r)
+ {
++ uint32_t size_logon_server_0 = 0;
++ uint32_t length_logon_server_0 = 0;
++ uint32_t size_computername_0 = 0;
++ uint32_t length_computername_0 = 0;
+ TALLOC_CTX *_mem_save_return_authenticator_0;
+ TALLOC_CTX *_mem_save_sync_context_0;
+ TALLOC_CTX *_mem_save_delta_enum_array_0;
+@@ -9371,18 +9619,22 @@ static enum ndr_err_code ndr_pull_netr_DatabaseSync(struct ndr_pull *ndr, int fl
+
+ NDR_CHECK(ndr_pull_array_size(ndr, &r->in.logon_server));
+ NDR_CHECK(ndr_pull_array_length(ndr, &r->in.logon_server));
+- if (ndr_get_array_length(ndr, &r->in.logon_server) > ndr_get_array_size(ndr, &r->in.logon_server)) {
+- return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.logon_server), ndr_get_array_length(ndr, &r->in.logon_server));
++ size_logon_server_0 = ndr_get_array_size(ndr, &r->in.logon_server);
++ length_logon_server_0 = ndr_get_array_length(ndr, &r->in.logon_server);
++ if (length_logon_server_0 > size_logon_server_0) {
++ return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_logon_server_0, length_logon_server_0);
+ }
+- NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.logon_server), sizeof(uint16_t)));
+- NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.logon_server, ndr_get_array_length(ndr, &r->in.logon_server), sizeof(uint16_t), CH_UTF16));
++ NDR_CHECK(ndr_check_string_terminator(ndr, length_logon_server_0, sizeof(uint16_t)));
++ NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.logon_server, length_logon_server_0, sizeof(uint16_t), CH_UTF16));
+ NDR_CHECK(ndr_pull_array_size(ndr, &r->in.computername));
+ NDR_CHECK(ndr_pull_array_length(ndr, &r->in.computername));
+- if (ndr_get_array_length(ndr, &r->in.computername) > ndr_get_array_size(ndr, &r->in.computername)) {
+- return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.computername), ndr_get_array_length(ndr, &r->in.computername));
++ size_computername_0 = ndr_get_array_size(ndr, &r->in.computername);
++ length_computername_0 = ndr_get_array_length(ndr, &r->in.computername);
++ if (length_computername_0 > size_computername_0) {
++ return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_computername_0, length_computername_0);
+ }
+- NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.computername), sizeof(uint16_t)));
+- NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.computername, ndr_get_array_length(ndr, &r->in.computername), sizeof(uint16_t), CH_UTF16));
++ NDR_CHECK(ndr_check_string_terminator(ndr, length_computername_0, sizeof(uint16_t)));
++ NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.computername, length_computername_0, sizeof(uint16_t), CH_UTF16));
+ NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, &r->in.credential));
+ if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
+ NDR_PULL_ALLOC(ndr, r->in.return_authenticator);
+@@ -9538,6 +9790,10 @@ static enum ndr_err_code ndr_push_netr_AccountDeltas(struct ndr_push *ndr, int f
+ static enum ndr_err_code ndr_pull_netr_AccountDeltas(struct ndr_pull *ndr, int flags, struct netr_AccountDeltas *r)
+ {
+ uint32_t _ptr_logon_server;
++ uint32_t size_logon_server_1 = 0;
++ uint32_t length_logon_server_1 = 0;
++ uint32_t size_computername_0 = 0;
++ uint32_t length_computername_0 = 0;
+ TALLOC_CTX *_mem_save_logon_server_0;
+ TALLOC_CTX *_mem_save_return_authenticator_0;
+ TALLOC_CTX *_mem_save_buffer_0;
+@@ -9558,20 +9814,24 @@ static enum ndr_err_code ndr_pull_netr_AccountDeltas(struct ndr_pull *ndr, int f
+ NDR_PULL_SET_MEM_CTX(ndr, r->in.logon_server, 0);
+ NDR_CHECK(ndr_pull_array_size(ndr, &r->in.logon_server));
+ NDR_CHECK(ndr_pull_array_length(ndr, &r->in.logon_server));
+- if (ndr_get_array_length(ndr, &r->in.logon_server) > ndr_get_array_size(ndr, &r->in.logon_server)) {
+- return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.logon_server), ndr_get_array_length(ndr, &r->in.logon_server));
++ size_logon_server_1 = ndr_get_array_size(ndr, &r->in.logon_server);
++ length_logon_server_1 = ndr_get_array_length(ndr, &r->in.logon_server);
++ if (length_logon_server_1 > size_logon_server_1) {
++ return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_logon_server_1, length_logon_server_1);
+ }
+- NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.logon_server), sizeof(uint16_t)));
+- NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.logon_server, ndr_get_array_length(ndr, &r->in.logon_server), sizeof(uint16_t), CH_UTF16));
++ NDR_CHECK(ndr_check_string_terminator(ndr, length_logon_server_1, sizeof(uint16_t)));
++ NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.logon_server, length_logon_server_1, sizeof(uint16_t), CH_UTF16));
+ NDR_PULL_SET_MEM_CTX(ndr, _mem_save_logon_server_0, 0);
+ }
+ NDR_CHECK(ndr_pull_array_size(ndr, &r->in.computername));
+ NDR_CHECK(ndr_pull_array_length(ndr, &r->in.computername));
+- if (ndr_get_array_length(ndr, &r->in.computername) > ndr_get_array_size(ndr, &r->in.computername)) {
+- return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.computername), ndr_get_array_length(ndr, &r->in.computername));
++ size_computername_0 = ndr_get_array_size(ndr, &r->in.computername);
++ length_computername_0 = ndr_get_array_length(ndr, &r->in.computername);
++ if (length_computername_0 > size_computername_0) {
++ return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_computername_0, length_computername_0);
+ }
+- NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.computername), sizeof(uint16_t)));
+- NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.computername, ndr_get_array_length(ndr, &r->in.computername), sizeof(uint16_t), CH_UTF16));
++ NDR_CHECK(ndr_check_string_terminator(ndr, length_computername_0, sizeof(uint16_t)));
++ NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.computername, length_computername_0, sizeof(uint16_t), CH_UTF16));
+ NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, &r->in.credential));
+ if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
+ NDR_PULL_ALLOC(ndr, r->in.return_authenticator);
+@@ -9763,6 +10023,10 @@ static enum ndr_err_code ndr_push_netr_AccountSync(struct ndr_push *ndr, int fla
+ static enum ndr_err_code ndr_pull_netr_AccountSync(struct ndr_pull *ndr, int flags, struct netr_AccountSync *r)
+ {
+ uint32_t _ptr_logon_server;
++ uint32_t size_logon_server_1 = 0;
++ uint32_t length_logon_server_1 = 0;
++ uint32_t size_computername_0 = 0;
++ uint32_t length_computername_0 = 0;
+ TALLOC_CTX *_mem_save_logon_server_0;
+ TALLOC_CTX *_mem_save_return_authenticator_0;
+ TALLOC_CTX *_mem_save_buffer_0;
+@@ -9784,20 +10048,24 @@ static enum ndr_err_code ndr_pull_netr_AccountSync(struct ndr_pull *ndr, int fla
+ NDR_PULL_SET_MEM_CTX(ndr, r->in.logon_server, 0);
+ NDR_CHECK(ndr_pull_array_size(ndr, &r->in.logon_server));
+ NDR_CHECK(ndr_pull_array_length(ndr, &r->in.logon_server));
+- if (ndr_get_array_length(ndr, &r->in.logon_server) > ndr_get_array_size(ndr, &r->in.logon_server)) {
+- return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.logon_server), ndr_get_array_length(ndr, &r->in.logon_server));
++ size_logon_server_1 = ndr_get_array_size(ndr, &r->in.logon_server);
++ length_logon_server_1 = ndr_get_array_length(ndr, &r->in.logon_server);
++ if (length_logon_server_1 > size_logon_server_1) {
++ return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_logon_server_1, length_logon_server_1);
+ }
+- NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.logon_server), sizeof(uint16_t)));
+- NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.logon_server, ndr_get_array_length(ndr, &r->in.logon_server), sizeof(uint16_t), CH_UTF16));
++ NDR_CHECK(ndr_check_string_terminator(ndr, length_logon_server_1, sizeof(uint16_t)));
++ NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.logon_server, length_logon_server_1, sizeof(uint16_t), CH_UTF16));
+ NDR_PULL_SET_MEM_CTX(ndr, _mem_save_logon_server_0, 0);
+ }
+ NDR_CHECK(ndr_pull_array_size(ndr, &r->in.computername));
+ NDR_CHECK(ndr_pull_array_length(ndr, &r->in.computername));
+- if (ndr_get_array_length(ndr, &r->in.computername) > ndr_get_array_size(ndr, &r->in.computername)) {
+- return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.computername), ndr_get_array_length(ndr, &r->in.computername));
++ size_computername_0 = ndr_get_array_size(ndr, &r->in.computername);
++ length_computername_0 = ndr_get_array_length(ndr, &r->in.computername);
++ if (length_computername_0 > size_computername_0) {
++ return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_computername_0, length_computername_0);
+ }
+- NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.computername), sizeof(uint16_t)));
+- NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.computername, ndr_get_array_length(ndr, &r->in.computername), sizeof(uint16_t), CH_UTF16));
++ NDR_CHECK(ndr_check_string_terminator(ndr, length_computername_0, sizeof(uint16_t)));
++ NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.computername, length_computername_0, sizeof(uint16_t), CH_UTF16));
+ NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, &r->in.credential));
+ if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
+ NDR_PULL_ALLOC(ndr, r->in.return_authenticator);
+@@ -9979,8 +10247,14 @@ static enum ndr_err_code ndr_push_netr_GetDcName(struct ndr_push *ndr, int flags
+
+ static enum ndr_err_code ndr_pull_netr_GetDcName(struct ndr_pull *ndr, int flags, struct netr_GetDcName *r)
+ {
++ uint32_t size_logon_server_0 = 0;
++ uint32_t length_logon_server_0 = 0;
+ uint32_t _ptr_domainname;
++ uint32_t size_domainname_1 = 0;
++ uint32_t length_domainname_1 = 0;
+ uint32_t _ptr_dcname;
++ uint32_t size_dcname_2 = 0;
++ uint32_t length_dcname_2 = 0;
+ TALLOC_CTX *_mem_save_domainname_0;
+ TALLOC_CTX *_mem_save_dcname_0;
+ TALLOC_CTX *_mem_save_dcname_1;
+@@ -9989,11 +10263,13 @@ static enum ndr_err_code ndr_pull_netr_GetDcName(struct ndr_pull *ndr, int flags
+
+ NDR_CHECK(ndr_pull_array_size(ndr, &r->in.logon_server));
+ NDR_CHECK(ndr_pull_array_length(ndr, &r->in.logon_server));
+- if (ndr_get_array_length(ndr, &r->in.logon_server) > ndr_get_array_size(ndr, &r->in.logon_server)) {
+- return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.logon_server), ndr_get_array_length(ndr, &r->in.logon_server));
++ size_logon_server_0 = ndr_get_array_size(ndr, &r->in.logon_server);
++ length_logon_server_0 = ndr_get_array_length(ndr, &r->in.logon_server);
++ if (length_logon_server_0 > size_logon_server_0) {
++ return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_logon_server_0, length_logon_server_0);
+ }
+- NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.logon_server), sizeof(uint16_t)));
+- NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.logon_server, ndr_get_array_length(ndr, &r->in.logon_server), sizeof(uint16_t), CH_UTF16));
++ NDR_CHECK(ndr_check_string_terminator(ndr, length_logon_server_0, sizeof(uint16_t)));
++ NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.logon_server, length_logon_server_0, sizeof(uint16_t), CH_UTF16));
+ NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_domainname));
+ if (_ptr_domainname) {
+ NDR_PULL_ALLOC(ndr, r->in.domainname);
+@@ -10005,11 +10281,13 @@ static enum ndr_err_code ndr_pull_netr_GetDcName(struct ndr_pull *ndr, int flags
+ NDR_PULL_SET_MEM_CTX(ndr, r->in.domainname, 0);
+ NDR_CHECK(ndr_pull_array_size(ndr, &r->in.domainname));
+ NDR_CHECK(ndr_pull_array_length(ndr, &r->in.domainname));
+- if (ndr_get_array_length(ndr, &r->in.domainname) > ndr_get_array_size(ndr, &r->in.domainname)) {
+- return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.domainname), ndr_get_array_length(ndr, &r->in.domainname));
++ size_domainname_1 = ndr_get_array_size(ndr, &r->in.domainname);
++ length_domainname_1 = ndr_get_array_length(ndr, &r->in.domainname);
++ if (length_domainname_1 > size_domainname_1) {
++ return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_domainname_1, length_domainname_1);
+ }
+- NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.domainname), sizeof(uint16_t)));
+- NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.domainname, ndr_get_array_length(ndr, &r->in.domainname), sizeof(uint16_t), CH_UTF16));
++ NDR_CHECK(ndr_check_string_terminator(ndr, length_domainname_1, sizeof(uint16_t)));
++ NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.domainname, length_domainname_1, sizeof(uint16_t), CH_UTF16));
+ NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domainname_0, 0);
+ }
+ NDR_PULL_ALLOC(ndr, r->out.dcname);
+@@ -10032,11 +10310,13 @@ static enum ndr_err_code ndr_pull_netr_GetDcName(struct ndr_pull *ndr, int flags
+ NDR_PULL_SET_MEM_CTX(ndr, *r->out.dcname, 0);
+ NDR_CHECK(ndr_pull_array_size(ndr, r->out.dcname));
+ NDR_CHECK(ndr_pull_array_length(ndr, r->out.dcname));
+- if (ndr_get_array_length(ndr, r->out.dcname) > ndr_get_array_size(ndr, r->out.dcname)) {
+- return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, r->out.dcname), ndr_get_array_length(ndr, r->out.dcname));
++ size_dcname_2 = ndr_get_array_size(ndr, r->out.dcname);
++ length_dcname_2 = ndr_get_array_length(ndr, r->out.dcname);
++ if (length_dcname_2 > size_dcname_2) {
++ return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_dcname_2, length_dcname_2);
+ }
+- NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, r->out.dcname), sizeof(uint16_t)));
+- NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, r->out.dcname, ndr_get_array_length(ndr, r->out.dcname), sizeof(uint16_t), CH_UTF16));
++ NDR_CHECK(ndr_check_string_terminator(ndr, length_dcname_2, sizeof(uint16_t)));
++ NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, r->out.dcname, length_dcname_2, sizeof(uint16_t), CH_UTF16));
+ NDR_PULL_SET_MEM_CTX(ndr, _mem_save_dcname_1, 0);
+ }
+ NDR_PULL_SET_MEM_CTX(ndr, _mem_save_dcname_0, LIBNDR_FLAG_REF_ALLOC);
+@@ -10109,6 +10389,8 @@ static enum ndr_err_code ndr_push_netr_LogonControl(struct ndr_push *ndr, int fl
+ static enum ndr_err_code ndr_pull_netr_LogonControl(struct ndr_pull *ndr, int flags, struct netr_LogonControl *r)
+ {
+ uint32_t _ptr_logon_server;
++ uint32_t size_logon_server_1 = 0;
++ uint32_t length_logon_server_1 = 0;
+ TALLOC_CTX *_mem_save_logon_server_0;
+ TALLOC_CTX *_mem_save_info_0;
+ if (flags & NDR_IN) {
+@@ -10125,11 +10407,13 @@ static enum ndr_err_code ndr_pull_netr_LogonControl(struct ndr_pull *ndr, int fl
+ NDR_PULL_SET_MEM_CTX(ndr, r->in.logon_server, 0);
+ NDR_CHECK(ndr_pull_array_size(ndr, &r->in.logon_server));
+ NDR_CHECK(ndr_pull_array_length(ndr, &r->in.logon_server));
+- if (ndr_get_array_length(ndr, &r->in.logon_server) > ndr_get_array_size(ndr, &r->in.logon_server)) {
+- return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.logon_server), ndr_get_array_length(ndr, &r->in.logon_server));
++ size_logon_server_1 = ndr_get_array_size(ndr, &r->in.logon_server);
++ length_logon_server_1 = ndr_get_array_length(ndr, &r->in.logon_server);
++ if (length_logon_server_1 > size_logon_server_1) {
++ return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_logon_server_1, length_logon_server_1);
+ }
+- NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.logon_server), sizeof(uint16_t)));
+- NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.logon_server, ndr_get_array_length(ndr, &r->in.logon_server), sizeof(uint16_t), CH_UTF16));
++ NDR_CHECK(ndr_check_string_terminator(ndr, length_logon_server_1, sizeof(uint16_t)));
++ NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.logon_server, length_logon_server_1, sizeof(uint16_t), CH_UTF16));
+ NDR_PULL_SET_MEM_CTX(ndr, _mem_save_logon_server_0, 0);
+ }
+ NDR_CHECK(ndr_pull_netr_LogonControlCode(ndr, NDR_SCALARS, &r->in.function_code));
+@@ -10222,8 +10506,14 @@ static enum ndr_err_code ndr_push_netr_GetAnyDCName(struct ndr_push *ndr, int fl
+ static enum ndr_err_code ndr_pull_netr_GetAnyDCName(struct ndr_pull *ndr, int flags, struct netr_GetAnyDCName *r)
+ {
+ uint32_t _ptr_logon_server;
++ uint32_t size_logon_server_1 = 0;
++ uint32_t length_logon_server_1 = 0;
+ uint32_t _ptr_domainname;
++ uint32_t size_domainname_1 = 0;
++ uint32_t length_domainname_1 = 0;
+ uint32_t _ptr_dcname;
++ uint32_t size_dcname_2 = 0;
++ uint32_t length_dcname_2 = 0;
+ TALLOC_CTX *_mem_save_logon_server_0;
+ TALLOC_CTX *_mem_save_domainname_0;
+ TALLOC_CTX *_mem_save_dcname_0;
+@@ -10242,11 +10532,13 @@ static enum ndr_err_code ndr_pull_netr_GetAnyDCName(struct ndr_pull *ndr, int fl
+ NDR_PULL_SET_MEM_CTX(ndr, r->in.logon_server, 0);
+ NDR_CHECK(ndr_pull_array_size(ndr, &r->in.logon_server));
+ NDR_CHECK(ndr_pull_array_length(ndr, &r->in.logon_server));
+- if (ndr_get_array_length(ndr, &r->in.logon_server) > ndr_get_array_size(ndr, &r->in.logon_server)) {
+- return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.logon_server), ndr_get_array_length(ndr, &r->in.logon_server));
++ size_logon_server_1 = ndr_get_array_size(ndr, &r->in.logon_server);
++ length_logon_server_1 = ndr_get_array_length(ndr, &r->in.logon_server);
++ if (length_logon_server_1 > size_logon_server_1) {
++ return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_logon_server_1, length_logon_server_1);
+ }
+- NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.logon_server), sizeof(uint16_t)));
+- NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.logon_server, ndr_get_array_length(ndr, &r->in.logon_server), sizeof(uint16_t), CH_UTF16));
++ NDR_CHECK(ndr_check_string_terminator(ndr, length_logon_server_1, sizeof(uint16_t)));
++ NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.logon_server, length_logon_server_1, sizeof(uint16_t), CH_UTF16));
+ NDR_PULL_SET_MEM_CTX(ndr, _mem_save_logon_server_0, 0);
+ }
+ NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_domainname));
+@@ -10260,11 +10552,13 @@ static enum ndr_err_code ndr_pull_netr_GetAnyDCName(struct ndr_pull *ndr, int fl
+ NDR_PULL_SET_MEM_CTX(ndr, r->in.domainname, 0);
+ NDR_CHECK(ndr_pull_array_size(ndr, &r->in.domainname));
+ NDR_CHECK(ndr_pull_array_length(ndr, &r->in.domainname));
+- if (ndr_get_array_length(ndr, &r->in.domainname) > ndr_get_array_size(ndr, &r->in.domainname)) {
+- return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.domainname), ndr_get_array_length(ndr, &r->in.domainname));
++ size_domainname_1 = ndr_get_array_size(ndr, &r->in.domainname);
++ length_domainname_1 = ndr_get_array_length(ndr, &r->in.domainname);
++ if (length_domainname_1 > size_domainname_1) {
++ return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_domainname_1, length_domainname_1);
+ }
+- NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.domainname), sizeof(uint16_t)));
+- NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.domainname, ndr_get_array_length(ndr, &r->in.domainname), sizeof(uint16_t), CH_UTF16));
++ NDR_CHECK(ndr_check_string_terminator(ndr, length_domainname_1, sizeof(uint16_t)));
++ NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.domainname, length_domainname_1, sizeof(uint16_t), CH_UTF16));
+ NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domainname_0, 0);
+ }
+ NDR_PULL_ALLOC(ndr, r->out.dcname);
+@@ -10287,11 +10581,13 @@ static enum ndr_err_code ndr_pull_netr_GetAnyDCName(struct ndr_pull *ndr, int fl
+ NDR_PULL_SET_MEM_CTX(ndr, *r->out.dcname, 0);
+ NDR_CHECK(ndr_pull_array_size(ndr, r->out.dcname));
+ NDR_CHECK(ndr_pull_array_length(ndr, r->out.dcname));
+- if (ndr_get_array_length(ndr, r->out.dcname) > ndr_get_array_size(ndr, r->out.dcname)) {
+- return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, r->out.dcname), ndr_get_array_length(ndr, r->out.dcname));
++ size_dcname_2 = ndr_get_array_size(ndr, r->out.dcname);
++ length_dcname_2 = ndr_get_array_length(ndr, r->out.dcname);
++ if (length_dcname_2 > size_dcname_2) {
++ return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_dcname_2, length_dcname_2);
+ }
+- NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, r->out.dcname), sizeof(uint16_t)));
+- NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, r->out.dcname, ndr_get_array_length(ndr, r->out.dcname), sizeof(uint16_t), CH_UTF16));
++ NDR_CHECK(ndr_check_string_terminator(ndr, length_dcname_2, sizeof(uint16_t)));
++ NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, r->out.dcname, length_dcname_2, sizeof(uint16_t), CH_UTF16));
+ NDR_PULL_SET_MEM_CTX(ndr, _mem_save_dcname_1, 0);
+ }
+ NDR_PULL_SET_MEM_CTX(ndr, _mem_save_dcname_0, LIBNDR_FLAG_REF_ALLOC);
+@@ -10374,6 +10670,8 @@ static enum ndr_err_code ndr_push_netr_LogonControl2(struct ndr_push *ndr, int f
+ static enum ndr_err_code ndr_pull_netr_LogonControl2(struct ndr_pull *ndr, int flags, struct netr_LogonControl2 *r)
+ {
+ uint32_t _ptr_logon_server;
++ uint32_t size_logon_server_1 = 0;
++ uint32_t length_logon_server_1 = 0;
+ TALLOC_CTX *_mem_save_logon_server_0;
+ TALLOC_CTX *_mem_save_data_0;
+ TALLOC_CTX *_mem_save_query_0;
+@@ -10391,11 +10689,13 @@ static enum ndr_err_code ndr_pull_netr_LogonControl2(struct ndr_pull *ndr, int f
+ NDR_PULL_SET_MEM_CTX(ndr, r->in.logon_server, 0);
+ NDR_CHECK(ndr_pull_array_size(ndr, &r->in.logon_server));
+ NDR_CHECK(ndr_pull_array_length(ndr, &r->in.logon_server));
+- if (ndr_get_array_length(ndr, &r->in.logon_server) > ndr_get_array_size(ndr, &r->in.logon_server)) {
+- return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.logon_server), ndr_get_array_length(ndr, &r->in.logon_server));
++ size_logon_server_1 = ndr_get_array_size(ndr, &r->in.logon_server);
++ length_logon_server_1 = ndr_get_array_length(ndr, &r->in.logon_server);
++ if (length_logon_server_1 > size_logon_server_1) {
++ return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_logon_server_1, length_logon_server_1);
+ }
+- NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.logon_server), sizeof(uint16_t)));
+- NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.logon_server, ndr_get_array_length(ndr, &r->in.logon_server), sizeof(uint16_t), CH_UTF16));
++ NDR_CHECK(ndr_check_string_terminator(ndr, length_logon_server_1, sizeof(uint16_t)));
++ NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.logon_server, length_logon_server_1, sizeof(uint16_t), CH_UTF16));
+ NDR_PULL_SET_MEM_CTX(ndr, _mem_save_logon_server_0, 0);
+ }
+ NDR_CHECK(ndr_pull_netr_LogonControlCode(ndr, NDR_SCALARS, &r->in.function_code));
+@@ -10509,6 +10809,12 @@ static enum ndr_err_code ndr_push_netr_ServerAuthenticate2(struct ndr_push *ndr,
+ static enum ndr_err_code ndr_pull_netr_ServerAuthenticate2(struct ndr_pull *ndr, int flags, struct netr_ServerAuthenticate2 *r)
+ {
+ uint32_t _ptr_server_name;
++ uint32_t size_server_name_1 = 0;
++ uint32_t length_server_name_1 = 0;
++ uint32_t size_account_name_0 = 0;
++ uint32_t length_account_name_0 = 0;
++ uint32_t size_computer_name_0 = 0;
++ uint32_t length_computer_name_0 = 0;
+ TALLOC_CTX *_mem_save_server_name_0;
+ TALLOC_CTX *_mem_save_credentials_0;
+ TALLOC_CTX *_mem_save_return_credentials_0;
+@@ -10527,28 +10833,34 @@ static enum ndr_err_code ndr_pull_netr_ServerAuthenticate2(struct ndr_pull *ndr,
+ NDR_PULL_SET_MEM_CTX(ndr, r->in.server_name, 0);
+ NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_name));
+ NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_name));
+- if (ndr_get_array_length(ndr, &r->in.server_name) > ndr_get_array_size(ndr, &r->in.server_name)) {
+- return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.server_name), ndr_get_array_length(ndr, &r->in.server_name));
++ size_server_name_1 = ndr_get_array_size(ndr, &r->in.server_name);
++ length_server_name_1 = ndr_get_array_length(ndr, &r->in.server_name);
++ if (length_server_name_1 > size_server_name_1) {
++ return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_server_name_1, length_server_name_1);
+ }
+- NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t)));
+- NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.server_name, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t), CH_UTF16));
++ NDR_CHECK(ndr_check_string_terminator(ndr, length_server_name_1, sizeof(uint16_t)));
++ NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.server_name, length_server_name_1, sizeof(uint16_t), CH_UTF16));
+ NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_name_0, 0);
+ }
+ NDR_CHECK(ndr_pull_array_size(ndr, &r->in.account_name));
+ NDR_CHECK(ndr_pull_array_length(ndr, &r->in.account_name));
+- if (ndr_get_array_length(ndr, &r->in.account_name) > ndr_get_array_size(ndr, &r->in.account_name)) {
+- return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.account_name), ndr_get_array_length(ndr, &r->in.account_name));
++ size_account_name_0 = ndr_get_array_size(ndr, &r->in.account_name);
++ length_account_name_0 = ndr_get_array_length(ndr, &r->in.account_name);
++ if (length_account_name_0 > size_account_name_0) {
++ return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_account_name_0, length_account_name_0);
+ }
+- NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.account_name), sizeof(uint16_t)));
+- NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.account_name, ndr_get_array_length(ndr, &r->in.account_name), sizeof(uint16_t), CH_UTF16));
++ NDR_CHECK(ndr_check_string_terminator(ndr, length_account_name_0, sizeof(uint16_t)));
++ NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.account_name, length_account_name_0, sizeof(uint16_t), CH_UTF16));
+ NDR_CHECK(ndr_pull_netr_SchannelType(ndr, NDR_SCALARS, &r->in.secure_channel_type));
+ NDR_CHECK(ndr_pull_array_size(ndr, &r->in.computer_name));
+ NDR_CHECK(ndr_pull_array_length(ndr, &r->in.computer_name));
+- if (ndr_get_array_length(ndr, &r->in.computer_name) > ndr_get_array_size(ndr, &r->in.computer_name)) {
+- return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.computer_name), ndr_get_array_length(ndr, &r->in.computer_name));
++ size_computer_name_0 = ndr_get_array_size(ndr, &r->in.computer_name);
++ length_computer_name_0 = ndr_get_array_length(ndr, &r->in.computer_name);
++ if (length_computer_name_0 > size_computer_name_0) {
++ return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_computer_name_0, length_computer_name_0);
+ }
+- NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.computer_name), sizeof(uint16_t)));
+- NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.computer_name, ndr_get_array_length(ndr, &r->in.computer_name), sizeof(uint16_t), CH_UTF16));
++ NDR_CHECK(ndr_check_string_terminator(ndr, length_computer_name_0, sizeof(uint16_t)));
++ NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.computer_name, length_computer_name_0, sizeof(uint16_t), CH_UTF16));
+ if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
+ NDR_PULL_ALLOC(ndr, r->in.credentials);
+ }
+@@ -10684,6 +10996,10 @@ static enum ndr_err_code ndr_push_netr_DatabaseSync2(struct ndr_push *ndr, int f
+
+ static enum ndr_err_code ndr_pull_netr_DatabaseSync2(struct ndr_pull *ndr, int flags, struct netr_DatabaseSync2 *r)
+ {
++ uint32_t size_logon_server_0 = 0;
++ uint32_t length_logon_server_0 = 0;
++ uint32_t size_computername_0 = 0;
++ uint32_t length_computername_0 = 0;
+ uint32_t _ptr_delta_enum_array;
+ TALLOC_CTX *_mem_save_credential_0;
+ TALLOC_CTX *_mem_save_return_authenticator_0;
+@@ -10695,18 +11011,22 @@ static enum ndr_err_code ndr_pull_netr_DatabaseSync2(struct ndr_pull *ndr, int f
+
+ NDR_CHECK(ndr_pull_array_size(ndr, &r->in.logon_server));
+ NDR_CHECK(ndr_pull_array_length(ndr, &r->in.logon_server));
+- if (ndr_get_array_length(ndr, &r->in.logon_server) > ndr_get_array_size(ndr, &r->in.logon_server)) {
+- return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.logon_server), ndr_get_array_length(ndr, &r->in.logon_server));
++ size_logon_server_0 = ndr_get_array_size(ndr, &r->in.logon_server);
++ length_logon_server_0 = ndr_get_array_length(ndr, &r->in.logon_server);
++ if (length_logon_server_0 > size_logon_server_0) {
++ return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_logon_server_0, length_logon_server_0);
+ }
+- NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.logon_server), sizeof(uint16_t)));
+- NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.logon_server, ndr_get_array_length(ndr, &r->in.logon_server), sizeof(uint16_t), CH_UTF16));
++ NDR_CHECK(ndr_check_string_terminator(ndr, length_logon_server_0, sizeof(uint16_t)));
++ NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.logon_server, length_logon_server_0, sizeof(uint16_t), CH_UTF16));
+ NDR_CHECK(ndr_pull_array_size(ndr, &r->in.computername));
+ NDR_CHECK(ndr_pull_array_length(ndr, &r->in.computername));
+- if (ndr_get_array_length(ndr, &r->in.computername) > ndr_get_array_size(ndr, &r->in.computername)) {
+- return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.computername), ndr_get_array_length(ndr, &r->in.computername));
++ size_computername_0 = ndr_get_array_size(ndr, &r->in.computername);
++ length_computername_0 = ndr_get_array_length(ndr, &r->in.computername);
++ if (length_computername_0 > size_computername_0) {
++ return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_computername_0, length_computername_0);
+ }
+- NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.computername), sizeof(uint16_t)));
+- NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.computername, ndr_get_array_length(ndr, &r->in.computername), sizeof(uint16_t), CH_UTF16));
++ NDR_CHECK(ndr_check_string_terminator(ndr, length_computername_0, sizeof(uint16_t)));
++ NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.computername, length_computername_0, sizeof(uint16_t), CH_UTF16));
+ if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
+ NDR_PULL_ALLOC(ndr, r->in.credential);
+ }
+@@ -10870,7 +11190,12 @@ static enum ndr_err_code ndr_push_netr_DatabaseRedo(struct ndr_push *ndr, int fl
+
+ static enum ndr_err_code ndr_pull_netr_DatabaseRedo(struct ndr_pull *ndr, int flags, struct netr_DatabaseRedo *r)
+ {
++ uint32_t size_logon_server_0 = 0;
++ uint32_t length_logon_server_0 = 0;
++ uint32_t size_computername_0 = 0;
++ uint32_t length_computername_0 = 0;
+ uint32_t _ptr_change_log_entry;
++ uint32_t size_change_log_entry_1 = 0;
+ TALLOC_CTX *_mem_save_return_authenticator_0;
+ TALLOC_CTX *_mem_save_change_log_entry_0;
+ TALLOC_CTX *_mem_save_delta_enum_array_0;
+@@ -10879,18 +11204,22 @@ static enum ndr_err_code ndr_pull_netr_DatabaseRedo(struct ndr_pull *ndr, int fl
+
+ NDR_CHECK(ndr_pull_array_size(ndr, &r->in.logon_server));
+ NDR_CHECK(ndr_pull_array_length(ndr, &r->in.logon_server));
+- if (ndr_get_array_length(ndr, &r->in.logon_server) > ndr_get_array_size(ndr, &r->in.logon_server)) {
+- return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.logon_server), ndr_get_array_length(ndr, &r->in.logon_server));
++ size_logon_server_0 = ndr_get_array_size(ndr, &r->in.logon_server);
++ length_logon_server_0 = ndr_get_array_length(ndr, &r->in.logon_server);
++ if (length_logon_server_0 > size_logon_server_0) {
++ return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_logon_server_0, length_logon_server_0);
+ }
+- NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.logon_server), sizeof(uint16_t)));
+- NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.logon_server, ndr_get_array_length(ndr, &r->in.logon_server), sizeof(uint16_t), CH_UTF16));
++ NDR_CHECK(ndr_check_string_terminator(ndr, length_logon_server_0, sizeof(uint16_t)));
++ NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.logon_server, length_logon_server_0, sizeof(uint16_t), CH_UTF16));
+ NDR_CHECK(ndr_pull_array_size(ndr, &r->in.computername));
+ NDR_CHECK(ndr_pull_array_length(ndr, &r->in.computername));
+- if (ndr_get_array_length(ndr, &r->in.computername) > ndr_get_array_size(ndr, &r->in.computername)) {
+- return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.computername), ndr_get_array_length(ndr, &r->in.computername));
++ size_computername_0 = ndr_get_array_size(ndr, &r->in.computername);
++ length_computername_0 = ndr_get_array_length(ndr, &r->in.computername);
++ if (length_computername_0 > size_computername_0) {
++ return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_computername_0, length_computername_0);
+ }
+- NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.computername), sizeof(uint16_t)));
+- NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.computername, ndr_get_array_length(ndr, &r->in.computername), sizeof(uint16_t), CH_UTF16));
++ NDR_CHECK(ndr_check_string_terminator(ndr, length_computername_0, sizeof(uint16_t)));
++ NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.computername, length_computername_0, sizeof(uint16_t), CH_UTF16));
+ NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, &r->in.credential));
+ if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
+ NDR_PULL_ALLOC(ndr, r->in.return_authenticator);
+@@ -10909,8 +11238,9 @@ static enum ndr_err_code ndr_pull_netr_DatabaseRedo(struct ndr_pull *ndr, int fl
+ _mem_save_change_log_entry_0 = NDR_PULL_GET_MEM_CTX(ndr);
+ NDR_PULL_SET_MEM_CTX(ndr, r->in.change_log_entry, 0);
+ NDR_CHECK(ndr_pull_array_size(ndr, &r->in.change_log_entry));
+- NDR_PULL_ALLOC_N(ndr, r->in.change_log_entry, ndr_get_array_size(ndr, &r->in.change_log_entry));
+- NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->in.change_log_entry, ndr_get_array_size(ndr, &r->in.change_log_entry)));
++ size_change_log_entry_1 = ndr_get_array_size(ndr, &r->in.change_log_entry);
++ NDR_PULL_ALLOC_N(ndr, r->in.change_log_entry, size_change_log_entry_1);
++ NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->in.change_log_entry, size_change_log_entry_1));
+ NDR_PULL_SET_MEM_CTX(ndr, _mem_save_change_log_entry_0, 0);
+ }
+ NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.change_log_entry_size));
+@@ -11014,6 +11344,8 @@ static enum ndr_err_code ndr_push_netr_LogonControl2Ex(struct ndr_push *ndr, int
+ static enum ndr_err_code ndr_pull_netr_LogonControl2Ex(struct ndr_pull *ndr, int flags, struct netr_LogonControl2Ex *r)
+ {
+ uint32_t _ptr_logon_server;
++ uint32_t size_logon_server_1 = 0;
++ uint32_t length_logon_server_1 = 0;
+ TALLOC_CTX *_mem_save_logon_server_0;
+ TALLOC_CTX *_mem_save_query_0;
+ if (flags & NDR_IN) {
+@@ -11030,11 +11362,13 @@ static enum ndr_err_code ndr_pull_netr_LogonControl2Ex(struct ndr_pull *ndr, int
+ NDR_PULL_SET_MEM_CTX(ndr, r->in.logon_server, 0);
+ NDR_CHECK(ndr_pull_array_size(ndr, &r->in.logon_server));
+ NDR_CHECK(ndr_pull_array_length(ndr, &r->in.logon_server));
+- if (ndr_get_array_length(ndr, &r->in.logon_server) > ndr_get_array_size(ndr, &r->in.logon_server)) {
+- return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.logon_server), ndr_get_array_length(ndr, &r->in.logon_server));
++ size_logon_server_1 = ndr_get_array_size(ndr, &r->in.logon_server);
++ length_logon_server_1 = ndr_get_array_length(ndr, &r->in.logon_server);
++ if (length_logon_server_1 > size_logon_server_1) {
++ return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_logon_server_1, length_logon_server_1);
+ }
+- NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.logon_server), sizeof(uint16_t)));
+- NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.logon_server, ndr_get_array_length(ndr, &r->in.logon_server), sizeof(uint16_t), CH_UTF16));
++ NDR_CHECK(ndr_check_string_terminator(ndr, length_logon_server_1, sizeof(uint16_t)));
++ NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.logon_server, length_logon_server_1, sizeof(uint16_t), CH_UTF16));
+ NDR_PULL_SET_MEM_CTX(ndr, _mem_save_logon_server_0, 0);
+ }
+ NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.function_code));
+@@ -11118,6 +11452,8 @@ static enum ndr_err_code ndr_push_netr_NetrEnumerateTrustedDomains(struct ndr_pu
+ static enum ndr_err_code ndr_pull_netr_NetrEnumerateTrustedDomains(struct ndr_pull *ndr, int flags, struct netr_NetrEnumerateTrustedDomains *r)
+ {
+ uint32_t _ptr_server_name;
++ uint32_t size_server_name_1 = 0;
++ uint32_t length_server_name_1 = 0;
+ TALLOC_CTX *_mem_save_server_name_0;
+ TALLOC_CTX *_mem_save_trusted_domains_blob_0;
+ if (flags & NDR_IN) {
+@@ -11134,11 +11470,13 @@ static enum ndr_err_code ndr_pull_netr_NetrEnumerateTrustedDomains(struct ndr_pu
+ NDR_PULL_SET_MEM_CTX(ndr, r->in.server_name, 0);
+ NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_name));
+ NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_name));
+- if (ndr_get_array_length(ndr, &r->in.server_name) > ndr_get_array_size(ndr, &r->in.server_name)) {
+- return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.server_name), ndr_get_array_length(ndr, &r->in.server_name));
++ size_server_name_1 = ndr_get_array_size(ndr, &r->in.server_name);
++ length_server_name_1 = ndr_get_array_length(ndr, &r->in.server_name);
++ if (length_server_name_1 > size_server_name_1) {
++ return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_server_name_1, length_server_name_1);
+ }
+- NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t)));
+- NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.server_name, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t), CH_UTF16));
++ NDR_CHECK(ndr_check_string_terminator(ndr, length_server_name_1, sizeof(uint16_t)));
++ NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.server_name, length_server_name_1, sizeof(uint16_t), CH_UTF16));
+ NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_name_0, 0);
+ }
+ NDR_PULL_ALLOC(ndr, r->out.trusted_domains_blob);
+@@ -11231,7 +11569,11 @@ static enum ndr_err_code ndr_push_netr_DsRGetDCName(struct ndr_push *ndr, int fl
+ static enum ndr_err_code ndr_pull_netr_DsRGetDCName(struct ndr_pull *ndr, int flags, struct netr_DsRGetDCName *r)
+ {
+ uint32_t _ptr_server_unc;
++ uint32_t size_server_unc_1 = 0;
++ uint32_t length_server_unc_1 = 0;
+ uint32_t _ptr_domain_name;
++ uint32_t size_domain_name_1 = 0;
++ uint32_t length_domain_name_1 = 0;
+ uint32_t _ptr_domain_guid;
+ uint32_t _ptr_site_guid;
+ uint32_t _ptr_info;
+@@ -11255,11 +11597,13 @@ static enum ndr_err_code ndr_pull_netr_DsRGetDCName(struct ndr_pull *ndr, int fl
+ NDR_PULL_SET_MEM_CTX(ndr, r->in.server_unc, 0);
+ NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_unc));
+ NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_unc));
+- if (ndr_get_array_length(ndr, &r->in.server_unc) > ndr_get_array_size(ndr, &r->in.server_unc)) {
+- return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.server_unc), ndr_get_array_length(ndr, &r->in.server_unc));
++ size_server_unc_1 = ndr_get_array_size(ndr, &r->in.server_unc);
++ length_server_unc_1 = ndr_get_array_length(ndr, &r->in.server_unc);
++ if (length_server_unc_1 > size_server_unc_1) {
++ return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_server_unc_1, length_server_unc_1);
+ }
+- NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server_unc), sizeof(uint16_t)));
+- NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.server_unc, ndr_get_array_length(ndr, &r->in.server_unc), sizeof(uint16_t), CH_UTF16));
++ NDR_CHECK(ndr_check_string_terminator(ndr, length_server_unc_1, sizeof(uint16_t)));
++ NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.server_unc, length_server_unc_1, sizeof(uint16_t), CH_UTF16));
+ NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_unc_0, 0);
+ }
+ NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_domain_name));
+@@ -11273,11 +11617,13 @@ static enum ndr_err_code ndr_pull_netr_DsRGetDCName(struct ndr_pull *ndr, int fl
+ NDR_PULL_SET_MEM_CTX(ndr, r->in.domain_name, 0);
+ NDR_CHECK(ndr_pull_array_size(ndr, &r->in.domain_name));
+ NDR_CHECK(ndr_pull_array_length(ndr, &r->in.domain_name));
+- if (ndr_get_array_length(ndr, &r->in.domain_name) > ndr_get_array_size(ndr, &r->in.domain_name)) {
+- return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.domain_name), ndr_get_array_length(ndr, &r->in.domain_name));
++ size_domain_name_1 = ndr_get_array_size(ndr, &r->in.domain_name);
++ length_domain_name_1 = ndr_get_array_length(ndr, &r->in.domain_name);
++ if (length_domain_name_1 > size_domain_name_1) {
++ return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_domain_name_1, length_domain_name_1);
+ }
+- NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.domain_name), sizeof(uint16_t)));
+- NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.domain_name, ndr_get_array_length(ndr, &r->in.domain_name), sizeof(uint16_t), CH_UTF16));
++ NDR_CHECK(ndr_check_string_terminator(ndr, length_domain_name_1, sizeof(uint16_t)));
++ NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.domain_name, length_domain_name_1, sizeof(uint16_t), CH_UTF16));
+ NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_name_0, 0);
+ }
+ NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_domain_guid));
+@@ -11428,7 +11774,11 @@ static enum ndr_err_code ndr_push_netr_LogonGetCapabilities(struct ndr_push *ndr
+
+ static enum ndr_err_code ndr_pull_netr_LogonGetCapabilities(struct ndr_pull *ndr, int flags, struct netr_LogonGetCapabilities *r)
+ {
++ uint32_t size_server_name_0 = 0;
++ uint32_t length_server_name_0 = 0;
+ uint32_t _ptr_computer_name;
++ uint32_t size_computer_name_1 = 0;
++ uint32_t length_computer_name_1 = 0;
+ TALLOC_CTX *_mem_save_computer_name_0;
+ TALLOC_CTX *_mem_save_credential_0;
+ TALLOC_CTX *_mem_save_return_authenticator_0;
+@@ -11438,11 +11788,13 @@ static enum ndr_err_code ndr_pull_netr_LogonGetCapabilities(struct ndr_pull *ndr
+
+ NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_name));
+ NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_name));
+- if (ndr_get_array_length(ndr, &r->in.server_name) > ndr_get_array_size(ndr, &r->in.server_name)) {
+- return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.server_name), ndr_get_array_length(ndr, &r->in.server_name));
++ size_server_name_0 = ndr_get_array_size(ndr, &r->in.server_name);
++ length_server_name_0 = ndr_get_array_length(ndr, &r->in.server_name);
++ if (length_server_name_0 > size_server_name_0) {
++ return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_server_name_0, length_server_name_0);
+ }
+- NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t)));
+- NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.server_name, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t), CH_UTF16));
++ NDR_CHECK(ndr_check_string_terminator(ndr, length_server_name_0, sizeof(uint16_t)));
++ NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.server_name, length_server_name_0, sizeof(uint16_t), CH_UTF16));
+ NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_computer_name));
+ if (_ptr_computer_name) {
+ NDR_PULL_ALLOC(ndr, r->in.computer_name);
+@@ -11454,11 +11806,13 @@ static enum ndr_err_code ndr_pull_netr_LogonGetCapabilities(struct ndr_pull *ndr
+ NDR_PULL_SET_MEM_CTX(ndr, r->in.computer_name, 0);
+ NDR_CHECK(ndr_pull_array_size(ndr, &r->in.computer_name));
+ NDR_CHECK(ndr_pull_array_length(ndr, &r->in.computer_name));
+- if (ndr_get_array_length(ndr, &r->in.computer_name) > ndr_get_array_size(ndr, &r->in.computer_name)) {
+- return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.computer_name), ndr_get_array_length(ndr, &r->in.computer_name));
++ size_computer_name_1 = ndr_get_array_size(ndr, &r->in.computer_name);
++ length_computer_name_1 = ndr_get_array_length(ndr, &r->in.computer_name);
++ if (length_computer_name_1 > size_computer_name_1) {
++ return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_computer_name_1, length_computer_name_1);
+ }
+- NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.computer_name), sizeof(uint16_t)));
+- NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.computer_name, ndr_get_array_length(ndr, &r->in.computer_name), sizeof(uint16_t), CH_UTF16));
++ NDR_CHECK(ndr_check_string_terminator(ndr, length_computer_name_1, sizeof(uint16_t)));
++ NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.computer_name, length_computer_name_1, sizeof(uint16_t), CH_UTF16));
+ NDR_PULL_SET_MEM_CTX(ndr, _mem_save_computer_name_0, 0);
+ }
+ if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
+@@ -11620,7 +11974,11 @@ static enum ndr_err_code ndr_push_netr_LogonGetTrustRid(struct ndr_push *ndr, in
+ static enum ndr_err_code ndr_pull_netr_LogonGetTrustRid(struct ndr_pull *ndr, int flags, struct netr_LogonGetTrustRid *r)
+ {
+ uint32_t _ptr_server_name;
++ uint32_t size_server_name_1 = 0;
++ uint32_t length_server_name_1 = 0;
+ uint32_t _ptr_domain_name;
++ uint32_t size_domain_name_1 = 0;
++ uint32_t length_domain_name_1 = 0;
+ TALLOC_CTX *_mem_save_server_name_0;
+ TALLOC_CTX *_mem_save_domain_name_0;
+ TALLOC_CTX *_mem_save_rid_0;
+@@ -11638,11 +11996,13 @@ static enum ndr_err_code ndr_pull_netr_LogonGetTrustRid(struct ndr_pull *ndr, in
+ NDR_PULL_SET_MEM_CTX(ndr, r->in.server_name, 0);
+ NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_name));
+ NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_name));
+- if (ndr_get_array_length(ndr, &r->in.server_name) > ndr_get_array_size(ndr, &r->in.server_name)) {
+- return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.server_name), ndr_get_array_length(ndr, &r->in.server_name));
++ size_server_name_1 = ndr_get_array_size(ndr, &r->in.server_name);
++ length_server_name_1 = ndr_get_array_length(ndr, &r->in.server_name);
++ if (length_server_name_1 > size_server_name_1) {
++ return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_server_name_1, length_server_name_1);
+ }
+- NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t)));
+- NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.server_name, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t), CH_UTF16));
++ NDR_CHECK(ndr_check_string_terminator(ndr, length_server_name_1, sizeof(uint16_t)));
++ NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.server_name, length_server_name_1, sizeof(uint16_t), CH_UTF16));
+ NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_name_0, 0);
+ }
+ NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_domain_name));
+@@ -11656,11 +12016,13 @@ static enum ndr_err_code ndr_pull_netr_LogonGetTrustRid(struct ndr_pull *ndr, in
+ NDR_PULL_SET_MEM_CTX(ndr, r->in.domain_name, 0);
+ NDR_CHECK(ndr_pull_array_size(ndr, &r->in.domain_name));
+ NDR_CHECK(ndr_pull_array_length(ndr, &r->in.domain_name));
+- if (ndr_get_array_length(ndr, &r->in.domain_name) > ndr_get_array_size(ndr, &r->in.domain_name)) {
+- return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.domain_name), ndr_get_array_length(ndr, &r->in.domain_name));
++ size_domain_name_1 = ndr_get_array_size(ndr, &r->in.domain_name);
++ length_domain_name_1 = ndr_get_array_length(ndr, &r->in.domain_name);
++ if (length_domain_name_1 > size_domain_name_1) {
++ return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_domain_name_1, length_domain_name_1);
+ }
+- NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.domain_name), sizeof(uint16_t)));
+- NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.domain_name, ndr_get_array_length(ndr, &r->in.domain_name), sizeof(uint16_t), CH_UTF16));
++ NDR_CHECK(ndr_check_string_terminator(ndr, length_domain_name_1, sizeof(uint16_t)));
++ NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.domain_name, length_domain_name_1, sizeof(uint16_t), CH_UTF16));
+ NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_name_0, 0);
+ }
+ NDR_PULL_ALLOC(ndr, r->out.rid);
+@@ -11847,6 +12209,12 @@ static enum ndr_err_code ndr_push_netr_ServerAuthenticate3(struct ndr_push *ndr,
+ static enum ndr_err_code ndr_pull_netr_ServerAuthenticate3(struct ndr_pull *ndr, int flags, struct netr_ServerAuthenticate3 *r)
+ {
+ uint32_t _ptr_server_name;
++ uint32_t size_server_name_1 = 0;
++ uint32_t length_server_name_1 = 0;
++ uint32_t size_account_name_0 = 0;
++ uint32_t length_account_name_0 = 0;
++ uint32_t size_computer_name_0 = 0;
++ uint32_t length_computer_name_0 = 0;
+ TALLOC_CTX *_mem_save_server_name_0;
+ TALLOC_CTX *_mem_save_credentials_0;
+ TALLOC_CTX *_mem_save_negotiate_flags_0;
+@@ -11865,28 +12233,34 @@ static enum ndr_err_code ndr_pull_netr_ServerAuthenticate3(struct ndr_pull *ndr,
+ NDR_PULL_SET_MEM_CTX(ndr, r->in.server_name, 0);
+ NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_name));
+ NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_name));
+- if (ndr_get_array_length(ndr, &r->in.server_name) > ndr_get_array_size(ndr, &r->in.server_name)) {
+- return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.server_name), ndr_get_array_length(ndr, &r->in.server_name));
++ size_server_name_1 = ndr_get_array_size(ndr, &r->in.server_name);
++ length_server_name_1 = ndr_get_array_length(ndr, &r->in.server_name);
++ if (length_server_name_1 > size_server_name_1) {
++ return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_server_name_1, length_server_name_1);
+ }
+- NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t)));
+- NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.server_name, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t), CH_UTF16));
++ NDR_CHECK(ndr_check_string_terminator(ndr, length_server_name_1, sizeof(uint16_t)));
++ NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.server_name, length_server_name_1, sizeof(uint16_t), CH_UTF16));
+ NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_name_0, 0);
+ }
+ NDR_CHECK(ndr_pull_array_size(ndr, &r->in.account_name));
+ NDR_CHECK(ndr_pull_array_length(ndr, &r->in.account_name));
+- if (ndr_get_array_length(ndr, &r->in.account_name) > ndr_get_array_size(ndr, &r->in.account_name)) {
+- return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.account_name), ndr_get_array_length(ndr, &r->in.account_name));
++ size_account_name_0 = ndr_get_array_size(ndr, &r->in.account_name);
++ length_account_name_0 = ndr_get_array_length(ndr, &r->in.account_name);
++ if (length_account_name_0 > size_account_name_0) {
++ return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_account_name_0, length_account_name_0);
+ }
+- NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.account_name), sizeof(uint16_t)));
+- NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.account_name, ndr_get_array_length(ndr, &r->in.account_name), sizeof(uint16_t), CH_UTF16));
++ NDR_CHECK(ndr_check_string_terminator(ndr, length_account_name_0, sizeof(uint16_t)));
++ NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.account_name, length_account_name_0, sizeof(uint16_t), CH_UTF16));
+ NDR_CHECK(ndr_pull_netr_SchannelType(ndr, NDR_SCALARS, &r->in.secure_channel_type));
+ NDR_CHECK(ndr_pull_array_size(ndr, &r->in.computer_name));
+ NDR_CHECK(ndr_pull_array_length(ndr, &r->in.computer_name));
+- if (ndr_get_array_length(ndr, &r->in.computer_name) > ndr_get_array_size(ndr, &r->in.computer_name)) {
+- return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.computer_name), ndr_get_array_length(ndr, &r->in.computer_name));
++ size_computer_name_0 = ndr_get_array_size(ndr, &r->in.computer_name);
++ length_computer_name_0 = ndr_get_array_length(ndr, &r->in.computer_name);
++ if (length_computer_name_0 > size_computer_name_0) {
++ return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_computer_name_0, length_computer_name_0);
+ }
+- NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.computer_name), sizeof(uint16_t)));
+- NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.computer_name, ndr_get_array_length(ndr, &r->in.computer_name), sizeof(uint16_t), CH_UTF16));
++ NDR_CHECK(ndr_check_string_terminator(ndr, length_computer_name_0, sizeof(uint16_t)));
++ NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.computer_name, length_computer_name_0, sizeof(uint16_t), CH_UTF16));
+ if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
+ NDR_PULL_ALLOC(ndr, r->in.credentials);
+ }
+@@ -12031,9 +12405,15 @@ static enum ndr_err_code ndr_push_netr_DsRGetDCNameEx(struct ndr_push *ndr, int
+ static enum ndr_err_code ndr_pull_netr_DsRGetDCNameEx(struct ndr_pull *ndr, int flags, struct netr_DsRGetDCNameEx *r)
+ {
+ uint32_t _ptr_server_unc;
++ uint32_t size_server_unc_1 = 0;
++ uint32_t length_server_unc_1 = 0;
+ uint32_t _ptr_domain_name;
++ uint32_t size_domain_name_1 = 0;
++ uint32_t length_domain_name_1 = 0;
+ uint32_t _ptr_domain_guid;
+ uint32_t _ptr_site_name;
++ uint32_t size_site_name_1 = 0;
++ uint32_t length_site_name_1 = 0;
+ uint32_t _ptr_info;
+ TALLOC_CTX *_mem_save_server_unc_0;
+ TALLOC_CTX *_mem_save_domain_name_0;
+@@ -12055,11 +12435,13 @@ static enum ndr_err_code ndr_pull_netr_DsRGetDCNameEx(struct ndr_pull *ndr, int
+ NDR_PULL_SET_MEM_CTX(ndr, r->in.server_unc, 0);
+ NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_unc));
+ NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_unc));
+- if (ndr_get_array_length(ndr, &r->in.server_unc) > ndr_get_array_size(ndr, &r->in.server_unc)) {
+- return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.server_unc), ndr_get_array_length(ndr, &r->in.server_unc));
++ size_server_unc_1 = ndr_get_array_size(ndr, &r->in.server_unc);
++ length_server_unc_1 = ndr_get_array_length(ndr, &r->in.server_unc);
++ if (length_server_unc_1 > size_server_unc_1) {
++ return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_server_unc_1, length_server_unc_1);
+ }
+- NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server_unc), sizeof(uint16_t)));
+- NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.server_unc, ndr_get_array_length(ndr, &r->in.server_unc), sizeof(uint16_t), CH_UTF16));
++ NDR_CHECK(ndr_check_string_terminator(ndr, length_server_unc_1, sizeof(uint16_t)));
++ NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.server_unc, length_server_unc_1, sizeof(uint16_t), CH_UTF16));
+ NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_unc_0, 0);
+ }
+ NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_domain_name));
+@@ -12073,11 +12455,13 @@ static enum ndr_err_code ndr_pull_netr_DsRGetDCNameEx(struct ndr_pull *ndr, int
+ NDR_PULL_SET_MEM_CTX(ndr, r->in.domain_name, 0);
+ NDR_CHECK(ndr_pull_array_size(ndr, &r->in.domain_name));
+ NDR_CHECK(ndr_pull_array_length(ndr, &r->in.domain_name));
+- if (ndr_get_array_length(ndr, &r->in.domain_name) > ndr_get_array_size(ndr, &r->in.domain_name)) {
+- return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.domain_name), ndr_get_array_length(ndr, &r->in.domain_name));
++ size_domain_name_1 = ndr_get_array_size(ndr, &r->in.domain_name);
++ length_domain_name_1 = ndr_get_array_length(ndr, &r->in.domain_name);
++ if (length_domain_name_1 > size_domain_name_1) {
++ return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_domain_name_1, length_domain_name_1);
+ }
+- NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.domain_name), sizeof(uint16_t)));
+- NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.domain_name, ndr_get_array_length(ndr, &r->in.domain_name), sizeof(uint16_t), CH_UTF16));
++ NDR_CHECK(ndr_check_string_terminator(ndr, length_domain_name_1, sizeof(uint16_t)));
++ NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.domain_name, length_domain_name_1, sizeof(uint16_t), CH_UTF16));
+ NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_name_0, 0);
+ }
+ NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_domain_guid));
+@@ -12103,11 +12487,13 @@ static enum ndr_err_code ndr_pull_netr_DsRGetDCNameEx(struct ndr_pull *ndr, int
+ NDR_PULL_SET_MEM_CTX(ndr, r->in.site_name, 0);
+ NDR_CHECK(ndr_pull_array_size(ndr, &r->in.site_name));
+ NDR_CHECK(ndr_pull_array_length(ndr, &r->in.site_name));
+- if (ndr_get_array_length(ndr, &r->in.site_name) > ndr_get_array_size(ndr, &r->in.site_name)) {
+- return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.site_name), ndr_get_array_length(ndr, &r->in.site_name));
++ size_site_name_1 = ndr_get_array_size(ndr, &r->in.site_name);
++ length_site_name_1 = ndr_get_array_length(ndr, &r->in.site_name);
++ if (length_site_name_1 > size_site_name_1) {
++ return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_site_name_1, length_site_name_1);
+ }
+- NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.site_name), sizeof(uint16_t)));
+- NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.site_name, ndr_get_array_length(ndr, &r->in.site_name), sizeof(uint16_t), CH_UTF16));
++ NDR_CHECK(ndr_check_string_terminator(ndr, length_site_name_1, sizeof(uint16_t)));
++ NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.site_name, length_site_name_1, sizeof(uint16_t), CH_UTF16));
+ NDR_PULL_SET_MEM_CTX(ndr, _mem_save_site_name_0, 0);
+ }
+ NDR_CHECK(ndr_pull_netr_DsRGetDCName_flags(ndr, NDR_SCALARS, &r->in.flags));
+@@ -12223,7 +12609,11 @@ static enum ndr_err_code ndr_push_netr_DsRGetSiteName(struct ndr_push *ndr, int
+ static enum ndr_err_code ndr_pull_netr_DsRGetSiteName(struct ndr_pull *ndr, int flags, struct netr_DsRGetSiteName *r)
+ {
+ uint32_t _ptr_computer_name;
++ uint32_t size_computer_name_1 = 0;
++ uint32_t length_computer_name_1 = 0;
+ uint32_t _ptr_site;
++ uint32_t size_site_2 = 0;
++ uint32_t length_site_2 = 0;
+ TALLOC_CTX *_mem_save_computer_name_0;
+ TALLOC_CTX *_mem_save_site_0;
+ TALLOC_CTX *_mem_save_site_1;
+@@ -12241,11 +12631,13 @@ static enum ndr_err_code ndr_pull_netr_DsRGetSiteName(struct ndr_pull *ndr, int
+ NDR_PULL_SET_MEM_CTX(ndr, r->in.computer_name, 0);
+ NDR_CHECK(ndr_pull_array_size(ndr, &r->in.computer_name));
+ NDR_CHECK(ndr_pull_array_length(ndr, &r->in.computer_name));
+- if (ndr_get_array_length(ndr, &r->in.computer_name) > ndr_get_array_size(ndr, &r->in.computer_name)) {
+- return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.computer_name), ndr_get_array_length(ndr, &r->in.computer_name));
++ size_computer_name_1 = ndr_get_array_size(ndr, &r->in.computer_name);
++ length_computer_name_1 = ndr_get_array_length(ndr, &r->in.computer_name);
++ if (length_computer_name_1 > size_computer_name_1) {
++ return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_computer_name_1, length_computer_name_1);
+ }
+- NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.computer_name), sizeof(uint16_t)));
+- NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.computer_name, ndr_get_array_length(ndr, &r->in.computer_name), sizeof(uint16_t), CH_UTF16));
++ NDR_CHECK(ndr_check_string_terminator(ndr, length_computer_name_1, sizeof(uint16_t)));
++ NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.computer_name, length_computer_name_1, sizeof(uint16_t), CH_UTF16));
+ NDR_PULL_SET_MEM_CTX(ndr, _mem_save_computer_name_0, 0);
+ }
+ NDR_PULL_ALLOC(ndr, r->out.site);
+@@ -12268,11 +12660,13 @@ static enum ndr_err_code ndr_pull_netr_DsRGetSiteName(struct ndr_pull *ndr, int
+ NDR_PULL_SET_MEM_CTX(ndr, *r->out.site, 0);
+ NDR_CHECK(ndr_pull_array_size(ndr, r->out.site));
+ NDR_CHECK(ndr_pull_array_length(ndr, r->out.site));
+- if (ndr_get_array_length(ndr, r->out.site) > ndr_get_array_size(ndr, r->out.site)) {
+- return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, r->out.site), ndr_get_array_length(ndr, r->out.site));
++ size_site_2 = ndr_get_array_size(ndr, r->out.site);
++ length_site_2 = ndr_get_array_length(ndr, r->out.site);
++ if (length_site_2 > size_site_2) {
++ return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_site_2, length_site_2);
+ }
+- NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, r->out.site), sizeof(uint16_t)));
+- NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, r->out.site, ndr_get_array_length(ndr, r->out.site), sizeof(uint16_t), CH_UTF16));
++ NDR_CHECK(ndr_check_string_terminator(ndr, length_site_2, sizeof(uint16_t)));
++ NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, r->out.site, length_site_2, sizeof(uint16_t), CH_UTF16));
+ NDR_PULL_SET_MEM_CTX(ndr, _mem_save_site_1, 0);
+ }
+ NDR_PULL_SET_MEM_CTX(ndr, _mem_save_site_0, LIBNDR_FLAG_REF_ALLOC);
+@@ -12360,7 +12754,11 @@ static enum ndr_err_code ndr_push_netr_LogonGetDomainInfo(struct ndr_push *ndr,
+
+ static enum ndr_err_code ndr_pull_netr_LogonGetDomainInfo(struct ndr_pull *ndr, int flags, struct netr_LogonGetDomainInfo *r)
+ {
++ uint32_t size_server_name_0 = 0;
++ uint32_t length_server_name_0 = 0;
+ uint32_t _ptr_computer_name;
++ uint32_t size_computer_name_1 = 0;
++ uint32_t length_computer_name_1 = 0;
+ TALLOC_CTX *_mem_save_computer_name_0;
+ TALLOC_CTX *_mem_save_credential_0;
+ TALLOC_CTX *_mem_save_return_authenticator_0;
+@@ -12370,11 +12768,13 @@ static enum ndr_err_code ndr_pull_netr_LogonGetDomainInfo(struct ndr_pull *ndr,
+
+ NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_name));
+ NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_name));
+- if (ndr_get_array_length(ndr, &r->in.server_name) > ndr_get_array_size(ndr, &r->in.server_name)) {
+- return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.server_name), ndr_get_array_length(ndr, &r->in.server_name));
++ size_server_name_0 = ndr_get_array_size(ndr, &r->in.server_name);
++ length_server_name_0 = ndr_get_array_length(ndr, &r->in.server_name);
++ if (length_server_name_0 > size_server_name_0) {
++ return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_server_name_0, length_server_name_0);
+ }
+- NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t)));
+- NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.server_name, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t), CH_UTF16));
++ NDR_CHECK(ndr_check_string_terminator(ndr, length_server_name_0, sizeof(uint16_t)));
++ NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.server_name, length_server_name_0, sizeof(uint16_t), CH_UTF16));
+ NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_computer_name));
+ if (_ptr_computer_name) {
+ NDR_PULL_ALLOC(ndr, r->in.computer_name);
+@@ -12386,11 +12786,13 @@ static enum ndr_err_code ndr_pull_netr_LogonGetDomainInfo(struct ndr_pull *ndr,
+ NDR_PULL_SET_MEM_CTX(ndr, r->in.computer_name, 0);
+ NDR_CHECK(ndr_pull_array_size(ndr, &r->in.computer_name));
+ NDR_CHECK(ndr_pull_array_length(ndr, &r->in.computer_name));
+- if (ndr_get_array_length(ndr, &r->in.computer_name) > ndr_get_array_size(ndr, &r->in.computer_name)) {
+- return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.computer_name), ndr_get_array_length(ndr, &r->in.computer_name));
++ size_computer_name_1 = ndr_get_array_size(ndr, &r->in.computer_name);
++ length_computer_name_1 = ndr_get_array_length(ndr, &r->in.computer_name);
++ if (length_computer_name_1 > size_computer_name_1) {
++ return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_computer_name_1, length_computer_name_1);
+ }
+- NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.computer_name), sizeof(uint16_t)));
+- NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.computer_name, ndr_get_array_length(ndr, &r->in.computer_name), sizeof(uint16_t), CH_UTF16));
++ NDR_CHECK(ndr_check_string_terminator(ndr, length_computer_name_1, sizeof(uint16_t)));
++ NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.computer_name, length_computer_name_1, sizeof(uint16_t), CH_UTF16));
+ NDR_PULL_SET_MEM_CTX(ndr, _mem_save_computer_name_0, 0);
+ }
+ if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
+@@ -12525,6 +12927,12 @@ static enum ndr_err_code ndr_push_netr_ServerPasswordSet2(struct ndr_push *ndr,
+ static enum ndr_err_code ndr_pull_netr_ServerPasswordSet2(struct ndr_pull *ndr, int flags, struct netr_ServerPasswordSet2 *r)
+ {
+ uint32_t _ptr_server_name;
++ uint32_t size_server_name_1 = 0;
++ uint32_t length_server_name_1 = 0;
++ uint32_t size_account_name_0 = 0;
++ uint32_t length_account_name_0 = 0;
++ uint32_t size_computer_name_0 = 0;
++ uint32_t length_computer_name_0 = 0;
+ TALLOC_CTX *_mem_save_server_name_0;
+ TALLOC_CTX *_mem_save_credential_0;
+ TALLOC_CTX *_mem_save_return_authenticator_0;
+@@ -12543,28 +12951,34 @@ static enum ndr_err_code ndr_pull_netr_ServerPasswordSet2(struct ndr_pull *ndr,
+ NDR_PULL_SET_MEM_CTX(ndr, r->in.server_name, 0);
+ NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_name));
+ NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_name));
+- if (ndr_get_array_length(ndr, &r->in.server_name) > ndr_get_array_size(ndr, &r->in.server_name)) {
+- return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.server_name), ndr_get_array_length(ndr, &r->in.server_name));
++ size_server_name_1 = ndr_get_array_size(ndr, &r->in.server_name);
++ length_server_name_1 = ndr_get_array_length(ndr, &r->in.server_name);
++ if (length_server_name_1 > size_server_name_1) {
++ return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_server_name_1, length_server_name_1);
+ }
+- NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t)));
+- NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.server_name, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t), CH_UTF16));
++ NDR_CHECK(ndr_check_string_terminator(ndr, length_server_name_1, sizeof(uint16_t)));
++ NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.server_name, length_server_name_1, sizeof(uint16_t), CH_UTF16));
+ NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_name_0, 0);
+ }
+ NDR_CHECK(ndr_pull_array_size(ndr, &r->in.account_name));
+ NDR_CHECK(ndr_pull_array_length(ndr, &r->in.account_name));
+- if (ndr_get_array_length(ndr, &r->in.account_name) > ndr_get_array_size(ndr, &r->in.account_name)) {
+- return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.account_name), ndr_get_array_length(ndr, &r->in.account_name));
++ size_account_name_0 = ndr_get_array_size(ndr, &r->in.account_name);
++ length_account_name_0 = ndr_get_array_length(ndr, &r->in.account_name);
++ if (length_account_name_0 > size_account_name_0) {
++ return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_account_name_0, length_account_name_0);
+ }
+- NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.account_name), sizeof(uint16_t)));
+- NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.account_name, ndr_get_array_length(ndr, &r->in.account_name), sizeof(uint16_t), CH_UTF16));
++ NDR_CHECK(ndr_check_string_terminator(ndr, length_account_name_0, sizeof(uint16_t)));
++ NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.account_name, length_account_name_0, sizeof(uint16_t), CH_UTF16));
+ NDR_CHECK(ndr_pull_netr_SchannelType(ndr, NDR_SCALARS, &r->in.secure_channel_type));
+ NDR_CHECK(ndr_pull_array_size(ndr, &r->in.computer_name));
+ NDR_CHECK(ndr_pull_array_length(ndr, &r->in.computer_name));
+- if (ndr_get_array_length(ndr, &r->in.computer_name) > ndr_get_array_size(ndr, &r->in.computer_name)) {
+- return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.computer_name), ndr_get_array_length(ndr, &r->in.computer_name));
++ size_computer_name_0 = ndr_get_array_size(ndr, &r->in.computer_name);
++ length_computer_name_0 = ndr_get_array_length(ndr, &r->in.computer_name);
++ if (length_computer_name_0 > size_computer_name_0) {
++ return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_computer_name_0, length_computer_name_0);
+ }
+- NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.computer_name), sizeof(uint16_t)));
+- NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.computer_name, ndr_get_array_length(ndr, &r->in.computer_name), sizeof(uint16_t), CH_UTF16));
++ NDR_CHECK(ndr_check_string_terminator(ndr, length_computer_name_0, sizeof(uint16_t)));
++ NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.computer_name, length_computer_name_0, sizeof(uint16_t), CH_UTF16));
+ if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
+ NDR_PULL_ALLOC(ndr, r->in.credential);
+ }
+@@ -12678,6 +13092,12 @@ static enum ndr_err_code ndr_push_netr_ServerPasswordGet(struct ndr_push *ndr, i
+ static enum ndr_err_code ndr_pull_netr_ServerPasswordGet(struct ndr_pull *ndr, int flags, struct netr_ServerPasswordGet *r)
+ {
+ uint32_t _ptr_server_name;
++ uint32_t size_server_name_1 = 0;
++ uint32_t length_server_name_1 = 0;
++ uint32_t size_account_name_0 = 0;
++ uint32_t length_account_name_0 = 0;
++ uint32_t size_computer_name_0 = 0;
++ uint32_t length_computer_name_0 = 0;
+ TALLOC_CTX *_mem_save_server_name_0;
+ TALLOC_CTX *_mem_save_credential_0;
+ TALLOC_CTX *_mem_save_return_authenticator_0;
+@@ -12696,28 +13116,34 @@ static enum ndr_err_code ndr_pull_netr_ServerPasswordGet(struct ndr_pull *ndr, i
+ NDR_PULL_SET_MEM_CTX(ndr, r->in.server_name, 0);
+ NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_name));
+ NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_name));
+- if (ndr_get_array_length(ndr, &r->in.server_name) > ndr_get_array_size(ndr, &r->in.server_name)) {
+- return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.server_name), ndr_get_array_length(ndr, &r->in.server_name));
++ size_server_name_1 = ndr_get_array_size(ndr, &r->in.server_name);
++ length_server_name_1 = ndr_get_array_length(ndr, &r->in.server_name);
++ if (length_server_name_1 > size_server_name_1) {
++ return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_server_name_1, length_server_name_1);
+ }
+- NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t)));
+- NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.server_name, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t), CH_UTF16));
++ NDR_CHECK(ndr_check_string_terminator(ndr, length_server_name_1, sizeof(uint16_t)));
++ NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.server_name, length_server_name_1, sizeof(uint16_t), CH_UTF16));
+ NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_name_0, 0);
+ }
+ NDR_CHECK(ndr_pull_array_size(ndr, &r->in.account_name));
+ NDR_CHECK(ndr_pull_array_length(ndr, &r->in.account_name));
+- if (ndr_get_array_length(ndr, &r->in.account_name) > ndr_get_array_size(ndr, &r->in.account_name)) {
+- return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.account_name), ndr_get_array_length(ndr, &r->in.account_name));
++ size_account_name_0 = ndr_get_array_size(ndr, &r->in.account_name);
++ length_account_name_0 = ndr_get_array_length(ndr, &r->in.account_name);
++ if (length_account_name_0 > size_account_name_0) {
++ return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_account_name_0, length_account_name_0);
+ }
+- NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.account_name), sizeof(uint16_t)));
+- NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.account_name, ndr_get_array_length(ndr, &r->in.account_name), sizeof(uint16_t), CH_UTF16));
++ NDR_CHECK(ndr_check_string_terminator(ndr, length_account_name_0, sizeof(uint16_t)));
++ NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.account_name, length_account_name_0, sizeof(uint16_t), CH_UTF16));
+ NDR_CHECK(ndr_pull_netr_SchannelType(ndr, NDR_SCALARS, &r->in.secure_channel_type));
+ NDR_CHECK(ndr_pull_array_size(ndr, &r->in.computer_name));
+ NDR_CHECK(ndr_pull_array_length(ndr, &r->in.computer_name));
+- if (ndr_get_array_length(ndr, &r->in.computer_name) > ndr_get_array_size(ndr, &r->in.computer_name)) {
+- return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.computer_name), ndr_get_array_length(ndr, &r->in.computer_name));
++ size_computer_name_0 = ndr_get_array_size(ndr, &r->in.computer_name);
++ length_computer_name_0 = ndr_get_array_length(ndr, &r->in.computer_name);
++ if (length_computer_name_0 > size_computer_name_0) {
++ return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_computer_name_0, length_computer_name_0);
+ }
+- NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.computer_name), sizeof(uint16_t)));
+- NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.computer_name, ndr_get_array_length(ndr, &r->in.computer_name), sizeof(uint16_t), CH_UTF16));
++ NDR_CHECK(ndr_check_string_terminator(ndr, length_computer_name_0, sizeof(uint16_t)));
++ NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.computer_name, length_computer_name_0, sizeof(uint16_t), CH_UTF16));
+ if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
+ NDR_PULL_ALLOC(ndr, r->in.credential);
+ }
+@@ -12872,6 +13298,9 @@ static enum ndr_err_code ndr_push_netr_DsRAddressToSitenamesW(struct ndr_push *n
+ static enum ndr_err_code ndr_pull_netr_DsRAddressToSitenamesW(struct ndr_pull *ndr, int flags, struct netr_DsRAddressToSitenamesW *r)
+ {
+ uint32_t _ptr_server_name;
++ uint32_t size_server_name_1 = 0;
++ uint32_t length_server_name_1 = 0;
++ uint32_t size_addresses_1 = 0;
+ uint32_t cntr_addresses_1;
+ uint32_t _ptr_ctr;
+ TALLOC_CTX *_mem_save_server_name_0;
+@@ -12892,11 +13321,13 @@ static enum ndr_err_code ndr_pull_netr_DsRAddressToSitenamesW(struct ndr_pull *n
+ NDR_PULL_SET_MEM_CTX(ndr, r->in.server_name, 0);
+ NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_name));
+ NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_name));
+- if (ndr_get_array_length(ndr, &r->in.server_name) > ndr_get_array_size(ndr, &r->in.server_name)) {
+- return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.server_name), ndr_get_array_length(ndr, &r->in.server_name));
++ size_server_name_1 = ndr_get_array_size(ndr, &r->in.server_name);
++ length_server_name_1 = ndr_get_array_length(ndr, &r->in.server_name);
++ if (length_server_name_1 > size_server_name_1) {
++ return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_server_name_1, length_server_name_1);
+ }
+- NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t)));
+- NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.server_name, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t), CH_UTF16));
++ NDR_CHECK(ndr_check_string_terminator(ndr, length_server_name_1, sizeof(uint16_t)));
++ NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.server_name, length_server_name_1, sizeof(uint16_t), CH_UTF16));
+ NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_name_0, 0);
+ }
+ NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.count));
+@@ -12904,15 +13335,16 @@ static enum ndr_err_code ndr_pull_netr_DsRAddressToSitenamesW(struct ndr_pull *n
+ return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
+ }
+ NDR_CHECK(ndr_pull_array_size(ndr, &r->in.addresses));
++ size_addresses_1 = ndr_get_array_size(ndr, &r->in.addresses);
+ if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
+- NDR_PULL_ALLOC_N(ndr, r->in.addresses, ndr_get_array_size(ndr, &r->in.addresses));
++ NDR_PULL_ALLOC_N(ndr, r->in.addresses, size_addresses_1);
+ }
+ _mem_save_addresses_1 = NDR_PULL_GET_MEM_CTX(ndr);
+ NDR_PULL_SET_MEM_CTX(ndr, r->in.addresses, 0);
+- for (cntr_addresses_1 = 0; cntr_addresses_1 < r->in.count; cntr_addresses_1++) {
++ for (cntr_addresses_1 = 0; cntr_addresses_1 < size_addresses_1; cntr_addresses_1++) {
+ NDR_CHECK(ndr_pull_netr_DsRAddress(ndr, NDR_SCALARS, &r->in.addresses[cntr_addresses_1]));
+ }
+- for (cntr_addresses_1 = 0; cntr_addresses_1 < r->in.count; cntr_addresses_1++) {
++ for (cntr_addresses_1 = 0; cntr_addresses_1 < size_addresses_1; cntr_addresses_1++) {
+ NDR_CHECK(ndr_pull_netr_DsRAddress(ndr, NDR_BUFFERS, &r->in.addresses[cntr_addresses_1]));
+ }
+ NDR_PULL_SET_MEM_CTX(ndr, _mem_save_addresses_1, 0);
+@@ -13051,10 +13483,18 @@ static enum ndr_err_code ndr_push_netr_DsRGetDCNameEx2(struct ndr_push *ndr, int
+ static enum ndr_err_code ndr_pull_netr_DsRGetDCNameEx2(struct ndr_pull *ndr, int flags, struct netr_DsRGetDCNameEx2 *r)
+ {
+ uint32_t _ptr_server_unc;
++ uint32_t size_server_unc_1 = 0;
++ uint32_t length_server_unc_1 = 0;
+ uint32_t _ptr_client_account;
++ uint32_t size_client_account_1 = 0;
++ uint32_t length_client_account_1 = 0;
+ uint32_t _ptr_domain_name;
++ uint32_t size_domain_name_1 = 0;
++ uint32_t length_domain_name_1 = 0;
+ uint32_t _ptr_domain_guid;
+ uint32_t _ptr_site_name;
++ uint32_t size_site_name_1 = 0;
++ uint32_t length_site_name_1 = 0;
+ uint32_t _ptr_info;
+ TALLOC_CTX *_mem_save_server_unc_0;
+ TALLOC_CTX *_mem_save_client_account_0;
+@@ -13077,11 +13517,13 @@ static enum ndr_err_code ndr_pull_netr_DsRGetDCNameEx2(struct ndr_pull *ndr, int
+ NDR_PULL_SET_MEM_CTX(ndr, r->in.server_unc, 0);
+ NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_unc));
+ NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_unc));
+- if (ndr_get_array_length(ndr, &r->in.server_unc) > ndr_get_array_size(ndr, &r->in.server_unc)) {
+- return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.server_unc), ndr_get_array_length(ndr, &r->in.server_unc));
++ size_server_unc_1 = ndr_get_array_size(ndr, &r->in.server_unc);
++ length_server_unc_1 = ndr_get_array_length(ndr, &r->in.server_unc);
++ if (length_server_unc_1 > size_server_unc_1) {
++ return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_server_unc_1, length_server_unc_1);
+ }
+- NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server_unc), sizeof(uint16_t)));
+- NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.server_unc, ndr_get_array_length(ndr, &r->in.server_unc), sizeof(uint16_t), CH_UTF16));
++ NDR_CHECK(ndr_check_string_terminator(ndr, length_server_unc_1, sizeof(uint16_t)));
++ NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.server_unc, length_server_unc_1, sizeof(uint16_t), CH_UTF16));
+ NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_unc_0, 0);
+ }
+ NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_client_account));
+@@ -13095,11 +13537,13 @@ static enum ndr_err_code ndr_pull_netr_DsRGetDCNameEx2(struct ndr_pull *ndr, int
+ NDR_PULL_SET_MEM_CTX(ndr, r->in.client_account, 0);
+ NDR_CHECK(ndr_pull_array_size(ndr, &r->in.client_account));
+ NDR_CHECK(ndr_pull_array_length(ndr, &r->in.client_account));
+- if (ndr_get_array_length(ndr, &r->in.client_account) > ndr_get_array_size(ndr, &r->in.client_account)) {
+- return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.client_account), ndr_get_array_length(ndr, &r->in.client_account));
++ size_client_account_1 = ndr_get_array_size(ndr, &r->in.client_account);
++ length_client_account_1 = ndr_get_array_length(ndr, &r->in.client_account);
++ if (length_client_account_1 > size_client_account_1) {
++ return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_client_account_1, length_client_account_1);
+ }
+- NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.client_account), sizeof(uint16_t)));
+- NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.client_account, ndr_get_array_length(ndr, &r->in.client_account), sizeof(uint16_t), CH_UTF16));
++ NDR_CHECK(ndr_check_string_terminator(ndr, length_client_account_1, sizeof(uint16_t)));
++ NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.client_account, length_client_account_1, sizeof(uint16_t), CH_UTF16));
+ NDR_PULL_SET_MEM_CTX(ndr, _mem_save_client_account_0, 0);
+ }
+ NDR_CHECK(ndr_pull_samr_AcctFlags(ndr, NDR_SCALARS, &r->in.mask));
+@@ -13114,11 +13558,13 @@ static enum ndr_err_code ndr_pull_netr_DsRGetDCNameEx2(struct ndr_pull *ndr, int
+ NDR_PULL_SET_MEM_CTX(ndr, r->in.domain_name, 0);
+ NDR_CHECK(ndr_pull_array_size(ndr, &r->in.domain_name));
+ NDR_CHECK(ndr_pull_array_length(ndr, &r->in.domain_name));
+- if (ndr_get_array_length(ndr, &r->in.domain_name) > ndr_get_array_size(ndr, &r->in.domain_name)) {
+- return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.domain_name), ndr_get_array_length(ndr, &r->in.domain_name));
++ size_domain_name_1 = ndr_get_array_size(ndr, &r->in.domain_name);
++ length_domain_name_1 = ndr_get_array_length(ndr, &r->in.domain_name);
++ if (length_domain_name_1 > size_domain_name_1) {
++ return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_domain_name_1, length_domain_name_1);
+ }
+- NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.domain_name), sizeof(uint16_t)));
+- NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.domain_name, ndr_get_array_length(ndr, &r->in.domain_name), sizeof(uint16_t), CH_UTF16));
++ NDR_CHECK(ndr_check_string_terminator(ndr, length_domain_name_1, sizeof(uint16_t)));
++ NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.domain_name, length_domain_name_1, sizeof(uint16_t), CH_UTF16));
+ NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_name_0, 0);
+ }
+ NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_domain_guid));
+@@ -13144,11 +13590,13 @@ static enum ndr_err_code ndr_pull_netr_DsRGetDCNameEx2(struct ndr_pull *ndr, int
+ NDR_PULL_SET_MEM_CTX(ndr, r->in.site_name, 0);
+ NDR_CHECK(ndr_pull_array_size(ndr, &r->in.site_name));
+ NDR_CHECK(ndr_pull_array_length(ndr, &r->in.site_name));
+- if (ndr_get_array_length(ndr, &r->in.site_name) > ndr_get_array_size(ndr, &r->in.site_name)) {
+- return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.site_name), ndr_get_array_length(ndr, &r->in.site_name));
++ size_site_name_1 = ndr_get_array_size(ndr, &r->in.site_name);
++ length_site_name_1 = ndr_get_array_length(ndr, &r->in.site_name);
++ if (length_site_name_1 > size_site_name_1) {
++ return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_site_name_1, length_site_name_1);
+ }
+- NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.site_name), sizeof(uint16_t)));
+- NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.site_name, ndr_get_array_length(ndr, &r->in.site_name), sizeof(uint16_t), CH_UTF16));
++ NDR_CHECK(ndr_check_string_terminator(ndr, length_site_name_1, sizeof(uint16_t)));
++ NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.site_name, length_site_name_1, sizeof(uint16_t), CH_UTF16));
+ NDR_PULL_SET_MEM_CTX(ndr, _mem_save_site_name_0, 0);
+ }
+ NDR_CHECK(ndr_pull_netr_DsRGetDCName_flags(ndr, NDR_SCALARS, &r->in.flags));
+@@ -13306,6 +13754,8 @@ static enum ndr_err_code ndr_push_netr_NetrEnumerateTrustedDomainsEx(struct ndr_
+ static enum ndr_err_code ndr_pull_netr_NetrEnumerateTrustedDomainsEx(struct ndr_pull *ndr, int flags, struct netr_NetrEnumerateTrustedDomainsEx *r)
+ {
+ uint32_t _ptr_server_name;
++ uint32_t size_server_name_1 = 0;
++ uint32_t length_server_name_1 = 0;
+ TALLOC_CTX *_mem_save_server_name_0;
+ TALLOC_CTX *_mem_save_dom_trust_list_0;
+ if (flags & NDR_IN) {
+@@ -13322,11 +13772,13 @@ static enum ndr_err_code ndr_pull_netr_NetrEnumerateTrustedDomainsEx(struct ndr_
+ NDR_PULL_SET_MEM_CTX(ndr, r->in.server_name, 0);
+ NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_name));
+ NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_name));
+- if (ndr_get_array_length(ndr, &r->in.server_name) > ndr_get_array_size(ndr, &r->in.server_name)) {
+- return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.server_name), ndr_get_array_length(ndr, &r->in.server_name));
++ size_server_name_1 = ndr_get_array_size(ndr, &r->in.server_name);
++ length_server_name_1 = ndr_get_array_length(ndr, &r->in.server_name);
++ if (length_server_name_1 > size_server_name_1) {
++ return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_server_name_1, length_server_name_1);
+ }
+- NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t)));
+- NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.server_name, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t), CH_UTF16));
++ NDR_CHECK(ndr_check_string_terminator(ndr, length_server_name_1, sizeof(uint16_t)));
++ NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.server_name, length_server_name_1, sizeof(uint16_t), CH_UTF16));
+ NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_name_0, 0);
+ }
+ NDR_PULL_ALLOC(ndr, r->out.dom_trust_list);
+@@ -13415,6 +13867,9 @@ static enum ndr_err_code ndr_push_netr_DsRAddressToSitenamesExW(struct ndr_push
+ static enum ndr_err_code ndr_pull_netr_DsRAddressToSitenamesExW(struct ndr_pull *ndr, int flags, struct netr_DsRAddressToSitenamesExW *r)
+ {
+ uint32_t _ptr_server_name;
++ uint32_t size_server_name_1 = 0;
++ uint32_t length_server_name_1 = 0;
++ uint32_t size_addresses_1 = 0;
+ uint32_t cntr_addresses_1;
+ uint32_t _ptr_ctr;
+ TALLOC_CTX *_mem_save_server_name_0;
+@@ -13435,11 +13890,13 @@ static enum ndr_err_code ndr_pull_netr_DsRAddressToSitenamesExW(struct ndr_pull
+ NDR_PULL_SET_MEM_CTX(ndr, r->in.server_name, 0);
+ NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_name));
+ NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_name));
+- if (ndr_get_array_length(ndr, &r->in.server_name) > ndr_get_array_size(ndr, &r->in.server_name)) {
+- return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.server_name), ndr_get_array_length(ndr, &r->in.server_name));
++ size_server_name_1 = ndr_get_array_size(ndr, &r->in.server_name);
++ length_server_name_1 = ndr_get_array_length(ndr, &r->in.server_name);
++ if (length_server_name_1 > size_server_name_1) {
++ return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_server_name_1, length_server_name_1);
+ }
+- NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t)));
+- NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.server_name, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t), CH_UTF16));
++ NDR_CHECK(ndr_check_string_terminator(ndr, length_server_name_1, sizeof(uint16_t)));
++ NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.server_name, length_server_name_1, sizeof(uint16_t), CH_UTF16));
+ NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_name_0, 0);
+ }
+ NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.count));
+@@ -13447,15 +13904,16 @@ static enum ndr_err_code ndr_pull_netr_DsRAddressToSitenamesExW(struct ndr_pull
+ return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
+ }
+ NDR_CHECK(ndr_pull_array_size(ndr, &r->in.addresses));
++ size_addresses_1 = ndr_get_array_size(ndr, &r->in.addresses);
+ if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
+- NDR_PULL_ALLOC_N(ndr, r->in.addresses, ndr_get_array_size(ndr, &r->in.addresses));
++ NDR_PULL_ALLOC_N(ndr, r->in.addresses, size_addresses_1);
+ }
+ _mem_save_addresses_1 = NDR_PULL_GET_MEM_CTX(ndr);
+ NDR_PULL_SET_MEM_CTX(ndr, r->in.addresses, 0);
+- for (cntr_addresses_1 = 0; cntr_addresses_1 < r->in.count; cntr_addresses_1++) {
++ for (cntr_addresses_1 = 0; cntr_addresses_1 < size_addresses_1; cntr_addresses_1++) {
+ NDR_CHECK(ndr_pull_netr_DsRAddress(ndr, NDR_SCALARS, &r->in.addresses[cntr_addresses_1]));
+ }
+- for (cntr_addresses_1 = 0; cntr_addresses_1 < r->in.count; cntr_addresses_1++) {
++ for (cntr_addresses_1 = 0; cntr_addresses_1 < size_addresses_1; cntr_addresses_1++) {
+ NDR_CHECK(ndr_pull_netr_DsRAddress(ndr, NDR_BUFFERS, &r->in.addresses[cntr_addresses_1]));
+ }
+ NDR_PULL_SET_MEM_CTX(ndr, _mem_save_addresses_1, 0);
+@@ -13564,6 +14022,8 @@ static enum ndr_err_code ndr_push_netr_DsrGetDcSiteCoverageW(struct ndr_push *nd
+ static enum ndr_err_code ndr_pull_netr_DsrGetDcSiteCoverageW(struct ndr_pull *ndr, int flags, struct netr_DsrGetDcSiteCoverageW *r)
+ {
+ uint32_t _ptr_server_name;
++ uint32_t size_server_name_1 = 0;
++ uint32_t length_server_name_1 = 0;
+ TALLOC_CTX *_mem_save_server_name_0;
+ TALLOC_CTX *_mem_save_ctr_0;
+ if (flags & NDR_IN) {
+@@ -13580,11 +14040,13 @@ static enum ndr_err_code ndr_pull_netr_DsrGetDcSiteCoverageW(struct ndr_pull *nd
+ NDR_PULL_SET_MEM_CTX(ndr, r->in.server_name, 0);
+ NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_name));
+ NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_name));
+- if (ndr_get_array_length(ndr, &r->in.server_name) > ndr_get_array_size(ndr, &r->in.server_name)) {
+- return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.server_name), ndr_get_array_length(ndr, &r->in.server_name));
++ size_server_name_1 = ndr_get_array_size(ndr, &r->in.server_name);
++ length_server_name_1 = ndr_get_array_length(ndr, &r->in.server_name);
++ if (length_server_name_1 > size_server_name_1) {
++ return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_server_name_1, length_server_name_1);
+ }
+- NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t)));
+- NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.server_name, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t), CH_UTF16));
++ NDR_CHECK(ndr_check_string_terminator(ndr, length_server_name_1, sizeof(uint16_t)));
++ NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.server_name, length_server_name_1, sizeof(uint16_t), CH_UTF16));
+ NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_name_0, 0);
+ }
+ NDR_PULL_ALLOC(ndr, r->out.ctr);
+@@ -13685,7 +14147,11 @@ static enum ndr_err_code ndr_push_netr_LogonSamLogonEx(struct ndr_push *ndr, int
+ static enum ndr_err_code ndr_pull_netr_LogonSamLogonEx(struct ndr_pull *ndr, int flags, struct netr_LogonSamLogonEx *r)
+ {
+ uint32_t _ptr_server_name;
++ uint32_t size_server_name_1 = 0;
++ uint32_t length_server_name_1 = 0;
+ uint32_t _ptr_computer_name;
++ uint32_t size_computer_name_1 = 0;
++ uint32_t length_computer_name_1 = 0;
+ TALLOC_CTX *_mem_save_server_name_0;
+ TALLOC_CTX *_mem_save_computer_name_0;
+ TALLOC_CTX *_mem_save_logon_0;
+@@ -13706,11 +14172,13 @@ static enum ndr_err_code ndr_pull_netr_LogonSamLogonEx(struct ndr_pull *ndr, int
+ NDR_PULL_SET_MEM_CTX(ndr, r->in.server_name, 0);
+ NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_name));
+ NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_name));
+- if (ndr_get_array_length(ndr, &r->in.server_name) > ndr_get_array_size(ndr, &r->in.server_name)) {
+- return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.server_name), ndr_get_array_length(ndr, &r->in.server_name));
++ size_server_name_1 = ndr_get_array_size(ndr, &r->in.server_name);
++ length_server_name_1 = ndr_get_array_length(ndr, &r->in.server_name);
++ if (length_server_name_1 > size_server_name_1) {
++ return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_server_name_1, length_server_name_1);
+ }
+- NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t)));
+- NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.server_name, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t), CH_UTF16));
++ NDR_CHECK(ndr_check_string_terminator(ndr, length_server_name_1, sizeof(uint16_t)));
++ NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.server_name, length_server_name_1, sizeof(uint16_t), CH_UTF16));
+ NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_name_0, 0);
+ }
+ NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_computer_name));
+@@ -13724,11 +14192,13 @@ static enum ndr_err_code ndr_pull_netr_LogonSamLogonEx(struct ndr_pull *ndr, int
+ NDR_PULL_SET_MEM_CTX(ndr, r->in.computer_name, 0);
+ NDR_CHECK(ndr_pull_array_size(ndr, &r->in.computer_name));
+ NDR_CHECK(ndr_pull_array_length(ndr, &r->in.computer_name));
+- if (ndr_get_array_length(ndr, &r->in.computer_name) > ndr_get_array_size(ndr, &r->in.computer_name)) {
+- return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.computer_name), ndr_get_array_length(ndr, &r->in.computer_name));
++ size_computer_name_1 = ndr_get_array_size(ndr, &r->in.computer_name);
++ length_computer_name_1 = ndr_get_array_length(ndr, &r->in.computer_name);
++ if (length_computer_name_1 > size_computer_name_1) {
++ return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_computer_name_1, length_computer_name_1);
+ }
+- NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.computer_name), sizeof(uint16_t)));
+- NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.computer_name, ndr_get_array_length(ndr, &r->in.computer_name), sizeof(uint16_t), CH_UTF16));
++ NDR_CHECK(ndr_check_string_terminator(ndr, length_computer_name_1, sizeof(uint16_t)));
++ NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.computer_name, length_computer_name_1, sizeof(uint16_t), CH_UTF16));
+ NDR_PULL_SET_MEM_CTX(ndr, _mem_save_computer_name_0, 0);
+ }
+ NDR_CHECK(ndr_pull_netr_LogonLevel(ndr, NDR_SCALARS, &r->in.logon_level));
+@@ -13865,6 +14335,8 @@ static enum ndr_err_code ndr_push_netr_DsrEnumerateDomainTrusts(struct ndr_push
+ static enum ndr_err_code ndr_pull_netr_DsrEnumerateDomainTrusts(struct ndr_pull *ndr, int flags, struct netr_DsrEnumerateDomainTrusts *r)
+ {
+ uint32_t _ptr_server_name;
++ uint32_t size_server_name_1 = 0;
++ uint32_t length_server_name_1 = 0;
+ TALLOC_CTX *_mem_save_server_name_0;
+ TALLOC_CTX *_mem_save_trusts_0;
+ if (flags & NDR_IN) {
+@@ -13881,11 +14353,13 @@ static enum ndr_err_code ndr_pull_netr_DsrEnumerateDomainTrusts(struct ndr_pull
+ NDR_PULL_SET_MEM_CTX(ndr, r->in.server_name, 0);
+ NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_name));
+ NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_name));
+- if (ndr_get_array_length(ndr, &r->in.server_name) > ndr_get_array_size(ndr, &r->in.server_name)) {
+- return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.server_name), ndr_get_array_length(ndr, &r->in.server_name));
++ size_server_name_1 = ndr_get_array_size(ndr, &r->in.server_name);
++ length_server_name_1 = ndr_get_array_length(ndr, &r->in.server_name);
++ if (length_server_name_1 > size_server_name_1) {
++ return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_server_name_1, length_server_name_1);
+ }
+- NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t)));
+- NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.server_name, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t), CH_UTF16));
++ NDR_CHECK(ndr_check_string_terminator(ndr, length_server_name_1, sizeof(uint16_t)));
++ NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.server_name, length_server_name_1, sizeof(uint16_t), CH_UTF16));
+ NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_name_0, 0);
+ }
+ NDR_CHECK(ndr_pull_netr_TrustFlags(ndr, NDR_SCALARS, &r->in.trust_flags));
+@@ -13979,9 +14453,15 @@ static enum ndr_err_code ndr_push_netr_DsrDeregisterDNSHostRecords(struct ndr_pu
+ static enum ndr_err_code ndr_pull_netr_DsrDeregisterDNSHostRecords(struct ndr_pull *ndr, int flags, struct netr_DsrDeregisterDNSHostRecords *r)
+ {
+ uint32_t _ptr_server_name;
++ uint32_t size_server_name_1 = 0;
++ uint32_t length_server_name_1 = 0;
+ uint32_t _ptr_domain;
++ uint32_t size_domain_1 = 0;
++ uint32_t length_domain_1 = 0;
+ uint32_t _ptr_domain_guid;
+ uint32_t _ptr_dsa_guid;
++ uint32_t size_dns_host_1 = 0;
++ uint32_t length_dns_host_1 = 0;
+ TALLOC_CTX *_mem_save_server_name_0;
+ TALLOC_CTX *_mem_save_domain_0;
+ TALLOC_CTX *_mem_save_domain_guid_0;
+@@ -13998,11 +14478,13 @@ static enum ndr_err_code ndr_pull_netr_DsrDeregisterDNSHostRecords(struct ndr_pu
+ NDR_PULL_SET_MEM_CTX(ndr, r->in.server_name, 0);
+ NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_name));
+ NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_name));
+- if (ndr_get_array_length(ndr, &r->in.server_name) > ndr_get_array_size(ndr, &r->in.server_name)) {
+- return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.server_name), ndr_get_array_length(ndr, &r->in.server_name));
++ size_server_name_1 = ndr_get_array_size(ndr, &r->in.server_name);
++ length_server_name_1 = ndr_get_array_length(ndr, &r->in.server_name);
++ if (length_server_name_1 > size_server_name_1) {
++ return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_server_name_1, length_server_name_1);
+ }
+- NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t)));
+- NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.server_name, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t), CH_UTF16));
++ NDR_CHECK(ndr_check_string_terminator(ndr, length_server_name_1, sizeof(uint16_t)));
++ NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.server_name, length_server_name_1, sizeof(uint16_t), CH_UTF16));
+ NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_name_0, 0);
+ }
+ NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_domain));
+@@ -14016,11 +14498,13 @@ static enum ndr_err_code ndr_pull_netr_DsrDeregisterDNSHostRecords(struct ndr_pu
+ NDR_PULL_SET_MEM_CTX(ndr, r->in.domain, 0);
+ NDR_CHECK(ndr_pull_array_size(ndr, &r->in.domain));
+ NDR_CHECK(ndr_pull_array_length(ndr, &r->in.domain));
+- if (ndr_get_array_length(ndr, &r->in.domain) > ndr_get_array_size(ndr, &r->in.domain)) {
+- return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.domain), ndr_get_array_length(ndr, &r->in.domain));
++ size_domain_1 = ndr_get_array_size(ndr, &r->in.domain);
++ length_domain_1 = ndr_get_array_length(ndr, &r->in.domain);
++ if (length_domain_1 > size_domain_1) {
++ return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_domain_1, length_domain_1);
+ }
+- NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.domain), sizeof(uint16_t)));
+- NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.domain, ndr_get_array_length(ndr, &r->in.domain), sizeof(uint16_t), CH_UTF16));
++ NDR_CHECK(ndr_check_string_terminator(ndr, length_domain_1, sizeof(uint16_t)));
++ NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.domain, length_domain_1, sizeof(uint16_t), CH_UTF16));
+ NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_0, 0);
+ }
+ NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_domain_guid));
+@@ -14049,11 +14533,13 @@ static enum ndr_err_code ndr_pull_netr_DsrDeregisterDNSHostRecords(struct ndr_pu
+ }
+ NDR_CHECK(ndr_pull_array_size(ndr, &r->in.dns_host));
+ NDR_CHECK(ndr_pull_array_length(ndr, &r->in.dns_host));
+- if (ndr_get_array_length(ndr, &r->in.dns_host) > ndr_get_array_size(ndr, &r->in.dns_host)) {
+- return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.dns_host), ndr_get_array_length(ndr, &r->in.dns_host));
++ size_dns_host_1 = ndr_get_array_size(ndr, &r->in.dns_host);
++ length_dns_host_1 = ndr_get_array_length(ndr, &r->in.dns_host);
++ if (length_dns_host_1 > size_dns_host_1) {
++ return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_dns_host_1, length_dns_host_1);
+ }
+- NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.dns_host), sizeof(uint16_t)));
+- NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.dns_host, ndr_get_array_length(ndr, &r->in.dns_host), sizeof(uint16_t), CH_UTF16));
++ NDR_CHECK(ndr_check_string_terminator(ndr, length_dns_host_1, sizeof(uint16_t)));
++ NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.dns_host, length_dns_host_1, sizeof(uint16_t), CH_UTF16));
+ }
+ if (flags & NDR_OUT) {
+ NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
+@@ -14155,6 +14641,12 @@ static enum ndr_err_code ndr_push_netr_ServerTrustPasswordsGet(struct ndr_push *
+ static enum ndr_err_code ndr_pull_netr_ServerTrustPasswordsGet(struct ndr_pull *ndr, int flags, struct netr_ServerTrustPasswordsGet *r)
+ {
+ uint32_t _ptr_server_name;
++ uint32_t size_server_name_1 = 0;
++ uint32_t length_server_name_1 = 0;
++ uint32_t size_account_name_0 = 0;
++ uint32_t length_account_name_0 = 0;
++ uint32_t size_computer_name_0 = 0;
++ uint32_t length_computer_name_0 = 0;
+ TALLOC_CTX *_mem_save_server_name_0;
+ TALLOC_CTX *_mem_save_credential_0;
+ TALLOC_CTX *_mem_save_return_authenticator_0;
+@@ -14174,28 +14666,34 @@ static enum ndr_err_code ndr_pull_netr_ServerTrustPasswordsGet(struct ndr_pull *
+ NDR_PULL_SET_MEM_CTX(ndr, r->in.server_name, 0);
+ NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_name));
+ NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_name));
+- if (ndr_get_array_length(ndr, &r->in.server_name) > ndr_get_array_size(ndr, &r->in.server_name)) {
+- return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.server_name), ndr_get_array_length(ndr, &r->in.server_name));
++ size_server_name_1 = ndr_get_array_size(ndr, &r->in.server_name);
++ length_server_name_1 = ndr_get_array_length(ndr, &r->in.server_name);
++ if (length_server_name_1 > size_server_name_1) {
++ return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_server_name_1, length_server_name_1);
+ }
+- NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t)));
+- NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.server_name, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t), CH_UTF16));
++ NDR_CHECK(ndr_check_string_terminator(ndr, length_server_name_1, sizeof(uint16_t)));
++ NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.server_name, length_server_name_1, sizeof(uint16_t), CH_UTF16));
+ NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_name_0, 0);
+ }
+ NDR_CHECK(ndr_pull_array_size(ndr, &r->in.account_name));
+ NDR_CHECK(ndr_pull_array_length(ndr, &r->in.account_name));
+- if (ndr_get_array_length(ndr, &r->in.account_name) > ndr_get_array_size(ndr, &r->in.account_name)) {
+- return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.account_name), ndr_get_array_length(ndr, &r->in.account_name));
++ size_account_name_0 = ndr_get_array_size(ndr, &r->in.account_name);
++ length_account_name_0 = ndr_get_array_length(ndr, &r->in.account_name);
++ if (length_account_name_0 > size_account_name_0) {
++ return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_account_name_0, length_account_name_0);
+ }
+- NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.account_name), sizeof(uint16_t)));
+- NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.account_name, ndr_get_array_length(ndr, &r->in.account_name), sizeof(uint16_t), CH_UTF16));
++ NDR_CHECK(ndr_check_string_terminator(ndr, length_account_name_0, sizeof(uint16_t)));
++ NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.account_name, length_account_name_0, sizeof(uint16_t), CH_UTF16));
+ NDR_CHECK(ndr_pull_netr_SchannelType(ndr, NDR_SCALARS, &r->in.secure_channel_type));
+ NDR_CHECK(ndr_pull_array_size(ndr, &r->in.computer_name));
+ NDR_CHECK(ndr_pull_array_length(ndr, &r->in.computer_name));
+- if (ndr_get_array_length(ndr, &r->in.computer_name) > ndr_get_array_size(ndr, &r->in.computer_name)) {
+- return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.computer_name), ndr_get_array_length(ndr, &r->in.computer_name));
++ size_computer_name_0 = ndr_get_array_size(ndr, &r->in.computer_name);
++ length_computer_name_0 = ndr_get_array_length(ndr, &r->in.computer_name);
++ if (length_computer_name_0 > size_computer_name_0) {
++ return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_computer_name_0, length_computer_name_0);
+ }
+- NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.computer_name), sizeof(uint16_t)));
+- NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.computer_name, ndr_get_array_length(ndr, &r->in.computer_name), sizeof(uint16_t), CH_UTF16));
++ NDR_CHECK(ndr_check_string_terminator(ndr, length_computer_name_0, sizeof(uint16_t)));
++ NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.computer_name, length_computer_name_0, sizeof(uint16_t), CH_UTF16));
+ if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
+ NDR_PULL_ALLOC(ndr, r->in.credential);
+ }
+@@ -14318,7 +14816,11 @@ static enum ndr_err_code ndr_push_netr_DsRGetForestTrustInformation(struct ndr_p
+ static enum ndr_err_code ndr_pull_netr_DsRGetForestTrustInformation(struct ndr_pull *ndr, int flags, struct netr_DsRGetForestTrustInformation *r)
+ {
+ uint32_t _ptr_server_name;
++ uint32_t size_server_name_1 = 0;
++ uint32_t length_server_name_1 = 0;
+ uint32_t _ptr_trusted_domain_name;
++ uint32_t size_trusted_domain_name_1 = 0;
++ uint32_t length_trusted_domain_name_1 = 0;
+ uint32_t _ptr_forest_trust_info;
+ TALLOC_CTX *_mem_save_server_name_0;
+ TALLOC_CTX *_mem_save_trusted_domain_name_0;
+@@ -14338,11 +14840,13 @@ static enum ndr_err_code ndr_pull_netr_DsRGetForestTrustInformation(struct ndr_p
+ NDR_PULL_SET_MEM_CTX(ndr, r->in.server_name, 0);
+ NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_name));
+ NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_name));
+- if (ndr_get_array_length(ndr, &r->in.server_name) > ndr_get_array_size(ndr, &r->in.server_name)) {
+- return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.server_name), ndr_get_array_length(ndr, &r->in.server_name));
++ size_server_name_1 = ndr_get_array_size(ndr, &r->in.server_name);
++ length_server_name_1 = ndr_get_array_length(ndr, &r->in.server_name);
++ if (length_server_name_1 > size_server_name_1) {
++ return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_server_name_1, length_server_name_1);
+ }
+- NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t)));
+- NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.server_name, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t), CH_UTF16));
++ NDR_CHECK(ndr_check_string_terminator(ndr, length_server_name_1, sizeof(uint16_t)));
++ NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.server_name, length_server_name_1, sizeof(uint16_t), CH_UTF16));
+ NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_name_0, 0);
+ }
+ NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_trusted_domain_name));
+@@ -14356,11 +14860,13 @@ static enum ndr_err_code ndr_pull_netr_DsRGetForestTrustInformation(struct ndr_p
+ NDR_PULL_SET_MEM_CTX(ndr, r->in.trusted_domain_name, 0);
+ NDR_CHECK(ndr_pull_array_size(ndr, &r->in.trusted_domain_name));
+ NDR_CHECK(ndr_pull_array_length(ndr, &r->in.trusted_domain_name));
+- if (ndr_get_array_length(ndr, &r->in.trusted_domain_name) > ndr_get_array_size(ndr, &r->in.trusted_domain_name)) {
+- return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.trusted_domain_name), ndr_get_array_length(ndr, &r->in.trusted_domain_name));
++ size_trusted_domain_name_1 = ndr_get_array_size(ndr, &r->in.trusted_domain_name);
++ length_trusted_domain_name_1 = ndr_get_array_length(ndr, &r->in.trusted_domain_name);
++ if (length_trusted_domain_name_1 > size_trusted_domain_name_1) {
++ return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_trusted_domain_name_1, length_trusted_domain_name_1);
+ }
+- NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.trusted_domain_name), sizeof(uint16_t)));
+- NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.trusted_domain_name, ndr_get_array_length(ndr, &r->in.trusted_domain_name), sizeof(uint16_t), CH_UTF16));
++ NDR_CHECK(ndr_check_string_terminator(ndr, length_trusted_domain_name_1, sizeof(uint16_t)));
++ NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.trusted_domain_name, length_trusted_domain_name_1, sizeof(uint16_t), CH_UTF16));
+ NDR_PULL_SET_MEM_CTX(ndr, _mem_save_trusted_domain_name_0, 0);
+ }
+ NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.flags));
+@@ -14477,6 +14983,10 @@ static enum ndr_err_code ndr_push_netr_GetForestTrustInformation(struct ndr_push
+ static enum ndr_err_code ndr_pull_netr_GetForestTrustInformation(struct ndr_pull *ndr, int flags, struct netr_GetForestTrustInformation *r)
+ {
+ uint32_t _ptr_server_name;
++ uint32_t size_server_name_1 = 0;
++ uint32_t length_server_name_1 = 0;
++ uint32_t size_trusted_domain_name_1 = 0;
++ uint32_t length_trusted_domain_name_1 = 0;
+ uint32_t _ptr_forest_trust_info;
+ TALLOC_CTX *_mem_save_server_name_0;
+ TALLOC_CTX *_mem_save_credential_0;
+@@ -14497,20 +15007,24 @@ static enum ndr_err_code ndr_pull_netr_GetForestTrustInformation(struct ndr_pull
+ NDR_PULL_SET_MEM_CTX(ndr, r->in.server_name, 0);
+ NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_name));
+ NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_name));
+- if (ndr_get_array_length(ndr, &r->in.server_name) > ndr_get_array_size(ndr, &r->in.server_name)) {
+- return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.server_name), ndr_get_array_length(ndr, &r->in.server_name));
++ size_server_name_1 = ndr_get_array_size(ndr, &r->in.server_name);
++ length_server_name_1 = ndr_get_array_length(ndr, &r->in.server_name);
++ if (length_server_name_1 > size_server_name_1) {
++ return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_server_name_1, length_server_name_1);
+ }
+- NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t)));
+- NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.server_name, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t), CH_UTF16));
++ NDR_CHECK(ndr_check_string_terminator(ndr, length_server_name_1, sizeof(uint16_t)));
++ NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.server_name, length_server_name_1, sizeof(uint16_t), CH_UTF16));
+ NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_name_0, 0);
+ }
+ NDR_CHECK(ndr_pull_array_size(ndr, &r->in.trusted_domain_name));
+ NDR_CHECK(ndr_pull_array_length(ndr, &r->in.trusted_domain_name));
+- if (ndr_get_array_length(ndr, &r->in.trusted_domain_name) > ndr_get_array_size(ndr, &r->in.trusted_domain_name)) {
+- return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.trusted_domain_name), ndr_get_array_length(ndr, &r->in.trusted_domain_name));
++ size_trusted_domain_name_1 = ndr_get_array_size(ndr, &r->in.trusted_domain_name);
++ length_trusted_domain_name_1 = ndr_get_array_length(ndr, &r->in.trusted_domain_name);
++ if (length_trusted_domain_name_1 > size_trusted_domain_name_1) {
++ return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_trusted_domain_name_1, length_trusted_domain_name_1);
+ }
+- NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.trusted_domain_name), sizeof(uint16_t)));
+- NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.trusted_domain_name, ndr_get_array_length(ndr, &r->in.trusted_domain_name), sizeof(uint16_t), CH_UTF16));
++ NDR_CHECK(ndr_check_string_terminator(ndr, length_trusted_domain_name_1, sizeof(uint16_t)));
++ NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.trusted_domain_name, length_trusted_domain_name_1, sizeof(uint16_t), CH_UTF16));
+ if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
+ NDR_PULL_ALLOC(ndr, r->in.credential);
+ }
+@@ -14664,7 +15178,11 @@ static enum ndr_err_code ndr_push_netr_LogonSamLogonWithFlags(struct ndr_push *n
+ static enum ndr_err_code ndr_pull_netr_LogonSamLogonWithFlags(struct ndr_pull *ndr, int flags, struct netr_LogonSamLogonWithFlags *r)
+ {
+ uint32_t _ptr_server_name;
++ uint32_t size_server_name_1 = 0;
++ uint32_t length_server_name_1 = 0;
+ uint32_t _ptr_computer_name;
++ uint32_t size_computer_name_1 = 0;
++ uint32_t length_computer_name_1 = 0;
+ uint32_t _ptr_credential;
+ uint32_t _ptr_return_authenticator;
+ TALLOC_CTX *_mem_save_server_name_0;
+@@ -14688,11 +15206,13 @@ static enum ndr_err_code ndr_pull_netr_LogonSamLogonWithFlags(struct ndr_pull *n
+ NDR_PULL_SET_MEM_CTX(ndr, r->in.server_name, 0);
+ NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_name));
+ NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_name));
+- if (ndr_get_array_length(ndr, &r->in.server_name) > ndr_get_array_size(ndr, &r->in.server_name)) {
+- return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.server_name), ndr_get_array_length(ndr, &r->in.server_name));
++ size_server_name_1 = ndr_get_array_size(ndr, &r->in.server_name);
++ length_server_name_1 = ndr_get_array_length(ndr, &r->in.server_name);
++ if (length_server_name_1 > size_server_name_1) {
++ return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_server_name_1, length_server_name_1);
+ }
+- NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t)));
+- NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.server_name, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t), CH_UTF16));
++ NDR_CHECK(ndr_check_string_terminator(ndr, length_server_name_1, sizeof(uint16_t)));
++ NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.server_name, length_server_name_1, sizeof(uint16_t), CH_UTF16));
+ NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_name_0, 0);
+ }
+ NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_computer_name));
+@@ -14706,11 +15226,13 @@ static enum ndr_err_code ndr_pull_netr_LogonSamLogonWithFlags(struct ndr_pull *n
+ NDR_PULL_SET_MEM_CTX(ndr, r->in.computer_name, 0);
+ NDR_CHECK(ndr_pull_array_size(ndr, &r->in.computer_name));
+ NDR_CHECK(ndr_pull_array_length(ndr, &r->in.computer_name));
+- if (ndr_get_array_length(ndr, &r->in.computer_name) > ndr_get_array_size(ndr, &r->in.computer_name)) {
+- return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.computer_name), ndr_get_array_length(ndr, &r->in.computer_name));
++ size_computer_name_1 = ndr_get_array_size(ndr, &r->in.computer_name);
++ length_computer_name_1 = ndr_get_array_length(ndr, &r->in.computer_name);
++ if (length_computer_name_1 > size_computer_name_1) {
++ return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_computer_name_1, length_computer_name_1);
+ }
+- NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.computer_name), sizeof(uint16_t)));
+- NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.computer_name, ndr_get_array_length(ndr, &r->in.computer_name), sizeof(uint16_t), CH_UTF16));
++ NDR_CHECK(ndr_check_string_terminator(ndr, length_computer_name_1, sizeof(uint16_t)));
++ NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.computer_name, length_computer_name_1, sizeof(uint16_t), CH_UTF16));
+ NDR_PULL_SET_MEM_CTX(ndr, _mem_save_computer_name_0, 0);
+ }
+ NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_credential));
+diff --git a/source/librpc/gen_ndr/ndr_notify.c b/source/librpc/gen_ndr/ndr_notify.c
+index 00ba8bc..f390b9e 100644
+--- a/source/librpc/gen_ndr/ndr_notify.c
++++ b/source/librpc/gen_ndr/ndr_notify.c
+@@ -82,6 +82,7 @@ static enum ndr_err_code ndr_push_notify_depth(struct ndr_push *ndr, int ndr_fla
+
+ static enum ndr_err_code ndr_pull_notify_depth(struct ndr_pull *ndr, int ndr_flags, struct notify_depth *r)
+ {
++ uint32_t size_entries_0 = 0;
+ uint32_t cntr_entries_0;
+ TALLOC_CTX *_mem_save_entries_0;
+ if (ndr_flags & NDR_SCALARS) {
+@@ -89,18 +90,20 @@ static enum ndr_err_code ndr_pull_notify_depth(struct ndr_pull *ndr, int ndr_fla
+ NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->max_mask));
+ NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->max_mask_subdir));
+ NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->num_entries));
+- NDR_PULL_ALLOC_N(ndr, r->entries, r->num_entries);
++ size_entries_0 = r->num_entries;
++ NDR_PULL_ALLOC_N(ndr, r->entries, size_entries_0);
+ _mem_save_entries_0 = NDR_PULL_GET_MEM_CTX(ndr);
+ NDR_PULL_SET_MEM_CTX(ndr, r->entries, 0);
+- for (cntr_entries_0 = 0; cntr_entries_0 < r->num_entries; cntr_entries_0++) {
++ for (cntr_entries_0 = 0; cntr_entries_0 < size_entries_0; cntr_entries_0++) {
+ NDR_CHECK(ndr_pull_notify_entry(ndr, NDR_SCALARS, &r->entries[cntr_entries_0]));
+ }
+ NDR_PULL_SET_MEM_CTX(ndr, _mem_save_entries_0, 0);
+ }
+ if (ndr_flags & NDR_BUFFERS) {
++ size_entries_0 = r->num_entries;
+ _mem_save_entries_0 = NDR_PULL_GET_MEM_CTX(ndr);
+ NDR_PULL_SET_MEM_CTX(ndr, r->entries, 0);
+- for (cntr_entries_0 = 0; cntr_entries_0 < r->num_entries; cntr_entries_0++) {
++ for (cntr_entries_0 = 0; cntr_entries_0 < size_entries_0; cntr_entries_0++) {
+ NDR_CHECK(ndr_pull_notify_entry(ndr, NDR_BUFFERS, &r->entries[cntr_entries_0]));
+ }
+ NDR_PULL_SET_MEM_CTX(ndr, _mem_save_entries_0, 0);
+@@ -149,23 +152,26 @@ _PUBLIC_ enum ndr_err_code ndr_push_notify_array(struct ndr_push *ndr, int ndr_f
+
+ _PUBLIC_ enum ndr_err_code ndr_pull_notify_array(struct ndr_pull *ndr, int ndr_flags, struct notify_array *r)
+ {
++ uint32_t size_depth_0 = 0;
+ uint32_t cntr_depth_0;
+ TALLOC_CTX *_mem_save_depth_0;
+ if (ndr_flags & NDR_SCALARS) {
+ NDR_CHECK(ndr_pull_align(ndr, 8));
+ NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->num_depths));
+- NDR_PULL_ALLOC_N(ndr, r->depth, r->num_depths);
++ size_depth_0 = r->num_depths;
++ NDR_PULL_ALLOC_N(ndr, r->depth, size_depth_0);
+ _mem_save_depth_0 = NDR_PULL_GET_MEM_CTX(ndr);
+ NDR_PULL_SET_MEM_CTX(ndr, r->depth, 0);
+- for (cntr_depth_0 = 0; cntr_depth_0 < r->num_depths; cntr_depth_0++) {
++ for (cntr_depth_0 = 0; cntr_depth_0 < size_depth_0; cntr_depth_0++) {
+ NDR_CHECK(ndr_pull_notify_depth(ndr, NDR_SCALARS, &r->depth[cntr_depth_0]));
+ }
+ NDR_PULL_SET_MEM_CTX(ndr, _mem_save_depth_0, 0);
+ }
+ if (ndr_flags & NDR_BUFFERS) {
++ size_depth_0 = r->num_depths;
+ _mem_save_depth_0 = NDR_PULL_GET_MEM_CTX(ndr);
+ NDR_PULL_SET_MEM_CTX(ndr, r->depth, 0);
+- for (cntr_depth_0 = 0; cntr_depth_0 < r->num_depths; cntr_depth_0++) {
++ for (cntr_depth_0 = 0; cntr_depth_0 < size_depth_0; cntr_depth_0++) {
+ NDR_CHECK(ndr_pull_notify_depth(ndr, NDR_BUFFERS, &r->depth[cntr_depth_0]));
+ }
+ NDR_PULL_SET_MEM_CTX(ndr, _mem_save_depth_0, 0);
+diff --git a/source/librpc/gen_ndr/ndr_ntsvcs.c b/source/librpc/gen_ndr/ndr_ntsvcs.c
+index 77b418d..a1f9b28 100644
+--- a/source/librpc/gen_ndr/ndr_ntsvcs.c
++++ b/source/librpc/gen_ndr/ndr_ntsvcs.c
+@@ -21,11 +21,13 @@ static enum ndr_err_code ndr_push_PNP_HwProfInfo(struct ndr_push *ndr, int ndr_f
+
+ static enum ndr_err_code ndr_pull_PNP_HwProfInfo(struct ndr_pull *ndr, int ndr_flags, struct PNP_HwProfInfo *r)
+ {
++ uint32_t size_friendly_name_0 = 0;
+ uint32_t cntr_friendly_name_0;
+ if (ndr_flags & NDR_SCALARS) {
+ NDR_CHECK(ndr_pull_align(ndr, 4));
+ NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->profile_handle));
+- for (cntr_friendly_name_0 = 0; cntr_friendly_name_0 < 80; cntr_friendly_name_0++) {
++ size_friendly_name_0 = 80;
++ for (cntr_friendly_name_0 = 0; cntr_friendly_name_0 < size_friendly_name_0; cntr_friendly_name_0++) {
+ NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->friendly_name[cntr_friendly_name_0]));
+ }
+ NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->flags));
+@@ -341,14 +343,18 @@ static enum ndr_err_code ndr_push_PNP_ValidateDeviceInstance(struct ndr_push *nd
+
+ static enum ndr_err_code ndr_pull_PNP_ValidateDeviceInstance(struct ndr_pull *ndr, int flags, struct PNP_ValidateDeviceInstance *r)
+ {
++ uint32_t size_devicepath_1 = 0;
++ uint32_t length_devicepath_1 = 0;
+ if (flags & NDR_IN) {
+ NDR_CHECK(ndr_pull_array_size(ndr, &r->in.devicepath));
+ NDR_CHECK(ndr_pull_array_length(ndr, &r->in.devicepath));
+- if (ndr_get_array_length(ndr, &r->in.devicepath) > ndr_get_array_size(ndr, &r->in.devicepath)) {
+- return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.devicepath), ndr_get_array_length(ndr, &r->in.devicepath));
++ size_devicepath_1 = ndr_get_array_size(ndr, &r->in.devicepath);
++ length_devicepath_1 = ndr_get_array_length(ndr, &r->in.devicepath);
++ if (length_devicepath_1 > size_devicepath_1) {
++ return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_devicepath_1, length_devicepath_1);
+ }
+- NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.devicepath), sizeof(uint16_t)));
+- NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.devicepath, ndr_get_array_length(ndr, &r->in.devicepath), sizeof(uint16_t), CH_UTF16));
++ NDR_CHECK(ndr_check_string_terminator(ndr, length_devicepath_1, sizeof(uint16_t)));
++ NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.devicepath, length_devicepath_1, sizeof(uint16_t), CH_UTF16));
+ NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.flags));
+ }
+ if (flags & NDR_OUT) {
+@@ -572,6 +578,8 @@ static enum ndr_err_code ndr_push_PNP_GetDeviceListSize(struct ndr_push *ndr, in
+ static enum ndr_err_code ndr_pull_PNP_GetDeviceListSize(struct ndr_pull *ndr, int flags, struct PNP_GetDeviceListSize *r)
+ {
+ uint32_t _ptr_devicename;
++ uint32_t size_devicename_1 = 0;
++ uint32_t length_devicename_1 = 0;
+ TALLOC_CTX *_mem_save_devicename_0;
+ TALLOC_CTX *_mem_save_size_0;
+ if (flags & NDR_IN) {
+@@ -588,11 +596,13 @@ static enum ndr_err_code ndr_pull_PNP_GetDeviceListSize(struct ndr_pull *ndr, in
+ NDR_PULL_SET_MEM_CTX(ndr, r->in.devicename, 0);
+ NDR_CHECK(ndr_pull_array_size(ndr, &r->in.devicename));
+ NDR_CHECK(ndr_pull_array_length(ndr, &r->in.devicename));
+- if (ndr_get_array_length(ndr, &r->in.devicename) > ndr_get_array_size(ndr, &r->in.devicename)) {
+- return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.devicename), ndr_get_array_length(ndr, &r->in.devicename));
++ size_devicename_1 = ndr_get_array_size(ndr, &r->in.devicename);
++ length_devicename_1 = ndr_get_array_length(ndr, &r->in.devicename);
++ if (length_devicename_1 > size_devicename_1) {
++ return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_devicename_1, length_devicename_1);
+ }
+- NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.devicename), sizeof(uint16_t)));
+- NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.devicename, ndr_get_array_length(ndr, &r->in.devicename), sizeof(uint16_t), CH_UTF16));
++ NDR_CHECK(ndr_check_string_terminator(ndr, length_devicename_1, sizeof(uint16_t)));
++ NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.devicename, length_devicename_1, sizeof(uint16_t), CH_UTF16));
+ NDR_PULL_SET_MEM_CTX(ndr, _mem_save_devicename_0, 0);
+ }
+ NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.flags));
+@@ -1848,9 +1858,15 @@ static enum ndr_err_code ndr_push_PNP_HwProfFlags(struct ndr_push *ndr, int flag
+
+ static enum ndr_err_code ndr_pull_PNP_HwProfFlags(struct ndr_pull *ndr, int flags, struct PNP_HwProfFlags *r)
+ {
++ uint32_t size_devicepath_1 = 0;
++ uint32_t length_devicepath_1 = 0;
+ uint32_t _ptr_unknown4;
+ uint32_t _ptr_unknown5;
++ uint32_t size_unknown5_1 = 0;
++ uint32_t length_unknown5_1 = 0;
+ uint32_t _ptr_unknown5a;
++ uint32_t size_unknown5a_2 = 0;
++ uint32_t length_unknown5a_2 = 0;
+ TALLOC_CTX *_mem_save_unknown3_0;
+ TALLOC_CTX *_mem_save_unknown4_0;
+ TALLOC_CTX *_mem_save_unknown5_0;
+@@ -1862,11 +1878,13 @@ static enum ndr_err_code ndr_pull_PNP_HwProfFlags(struct ndr_pull *ndr, int flag
+ NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.unknown1));
+ NDR_CHECK(ndr_pull_array_size(ndr, &r->in.devicepath));
+ NDR_CHECK(ndr_pull_array_length(ndr, &r->in.devicepath));
+- if (ndr_get_array_length(ndr, &r->in.devicepath) > ndr_get_array_size(ndr, &r->in.devicepath)) {
+- return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.devicepath), ndr_get_array_length(ndr, &r->in.devicepath));
++ size_devicepath_1 = ndr_get_array_size(ndr, &r->in.devicepath);
++ length_devicepath_1 = ndr_get_array_length(ndr, &r->in.devicepath);
++ if (length_devicepath_1 > size_devicepath_1) {
++ return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_devicepath_1, length_devicepath_1);
+ }
+- NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.devicepath), sizeof(uint16_t)));
+- NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.devicepath, ndr_get_array_length(ndr, &r->in.devicepath), sizeof(uint16_t), CH_UTF16));
++ NDR_CHECK(ndr_check_string_terminator(ndr, length_devicepath_1, sizeof(uint16_t)));
++ NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.devicepath, length_devicepath_1, sizeof(uint16_t), CH_UTF16));
+ NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.unknown2));
+ if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
+ NDR_PULL_ALLOC(ndr, r->in.unknown3);
+@@ -1898,11 +1916,13 @@ static enum ndr_err_code ndr_pull_PNP_HwProfFlags(struct ndr_pull *ndr, int flag
+ NDR_PULL_SET_MEM_CTX(ndr, r->in.unknown5, 0);
+ NDR_CHECK(ndr_pull_array_size(ndr, &r->in.unknown5));
+ NDR_CHECK(ndr_pull_array_length(ndr, &r->in.unknown5));
+- if (ndr_get_array_length(ndr, &r->in.unknown5) > ndr_get_array_size(ndr, &r->in.unknown5)) {
+- return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.unknown5), ndr_get_array_length(ndr, &r->in.unknown5));
++ size_unknown5_1 = ndr_get_array_size(ndr, &r->in.unknown5);
++ length_unknown5_1 = ndr_get_array_length(ndr, &r->in.unknown5);
++ if (length_unknown5_1 > size_unknown5_1) {
++ return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_unknown5_1, length_unknown5_1);
+ }
+- NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.unknown5), sizeof(uint16_t)));
+- NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.unknown5, ndr_get_array_length(ndr, &r->in.unknown5), sizeof(uint16_t), CH_UTF16));
++ NDR_CHECK(ndr_check_string_terminator(ndr, length_unknown5_1, sizeof(uint16_t)));
++ NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.unknown5, length_unknown5_1, sizeof(uint16_t), CH_UTF16));
+ NDR_PULL_SET_MEM_CTX(ndr, _mem_save_unknown5_0, 0);
+ }
+ NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.unknown6));
+@@ -1950,11 +1970,13 @@ static enum ndr_err_code ndr_pull_PNP_HwProfFlags(struct ndr_pull *ndr, int flag
+ NDR_PULL_SET_MEM_CTX(ndr, *r->out.unknown5a, 0);
+ NDR_CHECK(ndr_pull_array_size(ndr, r->out.unknown5a));
+ NDR_CHECK(ndr_pull_array_length(ndr, r->out.unknown5a));
+- if (ndr_get_array_length(ndr, r->out.unknown5a) > ndr_get_array_size(ndr, r->out.unknown5a)) {
+- return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, r->out.unknown5a), ndr_get_array_length(ndr, r->out.unknown5a));
++ size_unknown5a_2 = ndr_get_array_size(ndr, r->out.unknown5a);
++ length_unknown5a_2 = ndr_get_array_length(ndr, r->out.unknown5a);
++ if (length_unknown5a_2 > size_unknown5a_2) {
++ return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_unknown5a_2, length_unknown5a_2);
+ }
+- NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, r->out.unknown5a), sizeof(uint16_t)));
+- NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, r->out.unknown5a, ndr_get_array_length(ndr, r->out.unknown5a), sizeof(uint16_t), CH_UTF16));
++ NDR_CHECK(ndr_check_string_terminator(ndr, length_unknown5a_2, sizeof(uint16_t)));
++ NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, r->out.unknown5a, length_unknown5a_2, sizeof(uint16_t), CH_UTF16));
+ NDR_PULL_SET_MEM_CTX(ndr, _mem_save_unknown5a_1, 0);
+ }
+ NDR_PULL_SET_MEM_CTX(ndr, _mem_save_unknown5a_0, 0);
+diff --git a/source/librpc/gen_ndr/ndr_samr.c b/source/librpc/gen_ndr/ndr_samr.c
+index 62676d2..a0f03f1 100644
+--- a/source/librpc/gen_ndr/ndr_samr.c
++++ b/source/librpc/gen_ndr/ndr_samr.c
+@@ -249,6 +249,7 @@ static enum ndr_err_code ndr_push_samr_SamArray(struct ndr_push *ndr, int ndr_fl
+ static enum ndr_err_code ndr_pull_samr_SamArray(struct ndr_pull *ndr, int ndr_flags, struct samr_SamArray *r)
+ {
+ uint32_t _ptr_entries;
++ uint32_t size_entries_1 = 0;
+ uint32_t cntr_entries_1;
+ TALLOC_CTX *_mem_save_entries_0;
+ TALLOC_CTX *_mem_save_entries_1;
+@@ -267,13 +268,14 @@ static enum ndr_err_code ndr_pull_samr_SamArray(struct ndr_pull *ndr, int ndr_fl
+ _mem_save_entries_0 = NDR_PULL_GET_MEM_CTX(ndr);
+ NDR_PULL_SET_MEM_CTX(ndr, r->entries, 0);
+ NDR_CHECK(ndr_pull_array_size(ndr, &r->entries));
+- NDR_PULL_ALLOC_N(ndr, r->entries, ndr_get_array_size(ndr, &r->entries));
++ size_entries_1 = ndr_get_array_size(ndr, &r->entries);
++ NDR_PULL_ALLOC_N(ndr, r->entries, size_entries_1);
+ _mem_save_entries_1 = NDR_PULL_GET_MEM_CTX(ndr);
+ NDR_PULL_SET_MEM_CTX(ndr, r->entries, 0);
+- for (cntr_entries_1 = 0; cntr_entries_1 < r->count; cntr_entries_1++) {
++ for (cntr_entries_1 = 0; cntr_entries_1 < size_entries_1; cntr_entries_1++) {
+ NDR_CHECK(ndr_pull_samr_SamEntry(ndr, NDR_SCALARS, &r->entries[cntr_entries_1]));
+ }
+- for (cntr_entries_1 = 0; cntr_entries_1 < r->count; cntr_entries_1++) {
++ for (cntr_entries_1 = 0; cntr_entries_1 < size_entries_1; cntr_entries_1++) {
+ NDR_CHECK(ndr_pull_samr_SamEntry(ndr, NDR_BUFFERS, &r->entries[cntr_entries_1]));
+ }
+ NDR_PULL_SET_MEM_CTX(ndr, _mem_save_entries_1, 0);
+@@ -1110,6 +1112,7 @@ static enum ndr_err_code ndr_push_samr_Ids(struct ndr_push *ndr, int ndr_flags,
+ static enum ndr_err_code ndr_pull_samr_Ids(struct ndr_pull *ndr, int ndr_flags, struct samr_Ids *r)
+ {
+ uint32_t _ptr_ids;
++ uint32_t size_ids_1 = 0;
+ uint32_t cntr_ids_1;
+ TALLOC_CTX *_mem_save_ids_0;
+ TALLOC_CTX *_mem_save_ids_1;
+@@ -1131,10 +1134,11 @@ static enum ndr_err_code ndr_pull_samr_Ids(struct ndr_pull *ndr, int ndr_flags,
+ _mem_save_ids_0 = NDR_PULL_GET_MEM_CTX(ndr);
+ NDR_PULL_SET_MEM_CTX(ndr, r->ids, 0);
+ NDR_CHECK(ndr_pull_array_size(ndr, &r->ids));
+- NDR_PULL_ALLOC_N(ndr, r->ids, ndr_get_array_size(ndr, &r->ids));
++ size_ids_1 = ndr_get_array_size(ndr, &r->ids);
++ NDR_PULL_ALLOC_N(ndr, r->ids, size_ids_1);
+ _mem_save_ids_1 = NDR_PULL_GET_MEM_CTX(ndr);
+ NDR_PULL_SET_MEM_CTX(ndr, r->ids, 0);
+- for (cntr_ids_1 = 0; cntr_ids_1 < r->count; cntr_ids_1++) {
++ for (cntr_ids_1 = 0; cntr_ids_1 < size_ids_1; cntr_ids_1++) {
+ NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->ids[cntr_ids_1]));
+ }
+ NDR_PULL_SET_MEM_CTX(ndr, _mem_save_ids_1, 0);
+@@ -1483,10 +1487,12 @@ static enum ndr_err_code ndr_push_samr_RidTypeArray(struct ndr_push *ndr, int nd
+ static enum ndr_err_code ndr_pull_samr_RidTypeArray(struct ndr_pull *ndr, int ndr_flags, struct samr_RidTypeArray *r)
+ {
+ uint32_t _ptr_rids;
++ uint32_t size_rids_1 = 0;
+ uint32_t cntr_rids_1;
+ TALLOC_CTX *_mem_save_rids_0;
+ TALLOC_CTX *_mem_save_rids_1;
+ uint32_t _ptr_types;
++ uint32_t size_types_1 = 0;
+ uint32_t cntr_types_1;
+ TALLOC_CTX *_mem_save_types_0;
+ TALLOC_CTX *_mem_save_types_1;
+@@ -1511,10 +1517,11 @@ static enum ndr_err_code ndr_pull_samr_RidTypeArray(struct ndr_pull *ndr, int nd
+ _mem_save_rids_0 = NDR_PULL_GET_MEM_CTX(ndr);
+ NDR_PULL_SET_MEM_CTX(ndr, r->rids, 0);
+ NDR_CHECK(ndr_pull_array_size(ndr, &r->rids));
+- NDR_PULL_ALLOC_N(ndr, r->rids, ndr_get_array_size(ndr, &r->rids));
++ size_rids_1 = ndr_get_array_size(ndr, &r->rids);
++ NDR_PULL_ALLOC_N(ndr, r->rids, size_rids_1);
+ _mem_save_rids_1 = NDR_PULL_GET_MEM_CTX(ndr);
+ NDR_PULL_SET_MEM_CTX(ndr, r->rids, 0);
+- for (cntr_rids_1 = 0; cntr_rids_1 < r->count; cntr_rids_1++) {
++ for (cntr_rids_1 = 0; cntr_rids_1 < size_rids_1; cntr_rids_1++) {
+ NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->rids[cntr_rids_1]));
+ }
+ NDR_PULL_SET_MEM_CTX(ndr, _mem_save_rids_1, 0);
+@@ -1524,10 +1531,11 @@ static enum ndr_err_code ndr_pull_samr_RidTypeArray(struct ndr_pull *ndr, int nd
+ _mem_save_types_0 = NDR_PULL_GET_MEM_CTX(ndr);
+ NDR_PULL_SET_MEM_CTX(ndr, r->types, 0);
+ NDR_CHECK(ndr_pull_array_size(ndr, &r->types));
+- NDR_PULL_ALLOC_N(ndr, r->types, ndr_get_array_size(ndr, &r->types));
++ size_types_1 = ndr_get_array_size(ndr, &r->types);
++ NDR_PULL_ALLOC_N(ndr, r->types, size_types_1);
+ _mem_save_types_1 = NDR_PULL_GET_MEM_CTX(ndr);
+ NDR_PULL_SET_MEM_CTX(ndr, r->types, 0);
+- for (cntr_types_1 = 0; cntr_types_1 < r->count; cntr_types_1++) {
++ for (cntr_types_1 = 0; cntr_types_1 < size_types_1; cntr_types_1++) {
+ NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->types[cntr_types_1]));
+ }
+ NDR_PULL_SET_MEM_CTX(ndr, _mem_save_types_1, 0);
+@@ -1883,6 +1891,8 @@ _PUBLIC_ enum ndr_err_code ndr_push_samr_LogonHours(struct ndr_push *ndr, int nd
+ _PUBLIC_ enum ndr_err_code ndr_pull_samr_LogonHours(struct ndr_pull *ndr, int ndr_flags, struct samr_LogonHours *r)
+ {
+ uint32_t _ptr_bits;
++ uint32_t size_bits_1 = 0;
++ uint32_t length_bits_1 = 0;
+ TALLOC_CTX *_mem_save_bits_0;
+ {
+ uint32_t _flags_save_STRUCT = ndr->flags;
+@@ -1903,11 +1913,13 @@ _PUBLIC_ enum ndr_err_code ndr_pull_samr_LogonHours(struct ndr_pull *ndr, int nd
+ NDR_PULL_SET_MEM_CTX(ndr, r->bits, 0);
+ NDR_CHECK(ndr_pull_array_size(ndr, &r->bits));
+ NDR_CHECK(ndr_pull_array_length(ndr, &r->bits));
+- if (ndr_get_array_length(ndr, &r->bits) > ndr_get_array_size(ndr, &r->bits)) {
+- return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->bits), ndr_get_array_length(ndr, &r->bits));
++ size_bits_1 = ndr_get_array_size(ndr, &r->bits);
++ length_bits_1 = ndr_get_array_length(ndr, &r->bits);
++ if (length_bits_1 > size_bits_1) {
++ return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_bits_1, length_bits_1);
+ }
+- NDR_PULL_ALLOC_N(ndr, r->bits, ndr_get_array_size(ndr, &r->bits));
+- NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->bits, ndr_get_array_length(ndr, &r->bits)));
++ NDR_PULL_ALLOC_N(ndr, r->bits, size_bits_1);
++ NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->bits, length_bits_1));
+ NDR_PULL_SET_MEM_CTX(ndr, _mem_save_bits_0, 0);
+ }
+ if (r->bits) {
+@@ -2543,12 +2555,14 @@ _PUBLIC_ enum ndr_err_code ndr_push_samr_Password(struct ndr_push *ndr, int ndr_
+
+ _PUBLIC_ enum ndr_err_code ndr_pull_samr_Password(struct ndr_pull *ndr, int ndr_flags, struct samr_Password *r)
+ {
++ uint32_t size_hash_0 = 0;
+ {
+ uint32_t _flags_save_STRUCT = ndr->flags;
+ ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
+ if (ndr_flags & NDR_SCALARS) {
+ NDR_CHECK(ndr_pull_align(ndr, 1));
+- NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->hash, 16));
++ size_hash_0 = 16;
++ NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->hash, size_hash_0));
+ }
+ if (ndr_flags & NDR_BUFFERS) {
+ }
+@@ -2757,6 +2771,7 @@ static enum ndr_err_code ndr_push_samr_UserInfo21(struct ndr_push *ndr, int ndr_
+ static enum ndr_err_code ndr_pull_samr_UserInfo21(struct ndr_pull *ndr, int ndr_flags, struct samr_UserInfo21 *r)
+ {
+ uint32_t _ptr_buffer;
++ uint32_t size_buffer_1 = 0;
+ TALLOC_CTX *_mem_save_buffer_0;
+ if (ndr_flags & NDR_SCALARS) {
+ NDR_CHECK(ndr_pull_align(ndr, 4));
+@@ -2818,8 +2833,9 @@ static enum ndr_err_code ndr_pull_samr_UserInfo21(struct ndr_pull *ndr, int ndr_
+ _mem_save_buffer_0 = NDR_PULL_GET_MEM_CTX(ndr);
+ NDR_PULL_SET_MEM_CTX(ndr, r->buffer, 0);
+ NDR_CHECK(ndr_pull_array_size(ndr, &r->buffer));
+- NDR_PULL_ALLOC_N(ndr, r->buffer, ndr_get_array_size(ndr, &r->buffer));
+- NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->buffer, ndr_get_array_size(ndr, &r->buffer)));
++ size_buffer_1 = ndr_get_array_size(ndr, &r->buffer);
++ NDR_PULL_ALLOC_N(ndr, r->buffer, size_buffer_1);
++ NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->buffer, size_buffer_1));
+ NDR_PULL_SET_MEM_CTX(ndr, _mem_save_buffer_0, 0);
+ }
+ NDR_CHECK(ndr_pull_samr_LogonHours(ndr, NDR_BUFFERS, &r->logon_hours));
+@@ -2894,12 +2910,14 @@ _PUBLIC_ enum ndr_err_code ndr_push_samr_CryptPassword(struct ndr_push *ndr, int
+
+ _PUBLIC_ enum ndr_err_code ndr_pull_samr_CryptPassword(struct ndr_pull *ndr, int ndr_flags, struct samr_CryptPassword *r)
+ {
++ uint32_t size_data_0 = 0;
+ {
+ uint32_t _flags_save_STRUCT = ndr->flags;
+ ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
+ if (ndr_flags & NDR_SCALARS) {
+ NDR_CHECK(ndr_pull_align(ndr, 1));
+- NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->data, 516));
++ size_data_0 = 516;
++ NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->data, size_data_0));
+ }
+ if (ndr_flags & NDR_BUFFERS) {
+ }
+@@ -3007,12 +3025,14 @@ static enum ndr_err_code ndr_push_samr_CryptPasswordEx(struct ndr_push *ndr, int
+
+ static enum ndr_err_code ndr_pull_samr_CryptPasswordEx(struct ndr_pull *ndr, int ndr_flags, struct samr_CryptPasswordEx *r)
+ {
++ uint32_t size_data_0 = 0;
+ {
+ uint32_t _flags_save_STRUCT = ndr->flags;
+ ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
+ if (ndr_flags & NDR_SCALARS) {
+ NDR_CHECK(ndr_pull_align(ndr, 1));
+- NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->data, 532));
++ size_data_0 = 532;
++ NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->data, size_data_0));
+ }
+ if (ndr_flags & NDR_BUFFERS) {
+ }
+@@ -3660,6 +3680,7 @@ _PUBLIC_ enum ndr_err_code ndr_push_samr_RidWithAttributeArray(struct ndr_push *
+ _PUBLIC_ enum ndr_err_code ndr_pull_samr_RidWithAttributeArray(struct ndr_pull *ndr, int ndr_flags, struct samr_RidWithAttributeArray *r)
+ {
+ uint32_t _ptr_rids;
++ uint32_t size_rids_1 = 0;
+ uint32_t cntr_rids_1;
+ TALLOC_CTX *_mem_save_rids_0;
+ TALLOC_CTX *_mem_save_rids_1;
+@@ -3678,10 +3699,11 @@ _PUBLIC_ enum ndr_err_code ndr_pull_samr_RidWithAttributeArray(struct ndr_pull *
+ _mem_save_rids_0 = NDR_PULL_GET_MEM_CTX(ndr);
+ NDR_PULL_SET_MEM_CTX(ndr, r->rids, 0);
+ NDR_CHECK(ndr_pull_array_size(ndr, &r->rids));
+- NDR_PULL_ALLOC_N(ndr, r->rids, ndr_get_array_size(ndr, &r->rids));
++ size_rids_1 = ndr_get_array_size(ndr, &r->rids);
++ NDR_PULL_ALLOC_N(ndr, r->rids, size_rids_1);
+ _mem_save_rids_1 = NDR_PULL_GET_MEM_CTX(ndr);
+ NDR_PULL_SET_MEM_CTX(ndr, r->rids, 0);
+- for (cntr_rids_1 = 0; cntr_rids_1 < r->count; cntr_rids_1++) {
++ for (cntr_rids_1 = 0; cntr_rids_1 < size_rids_1; cntr_rids_1++) {
+ NDR_CHECK(ndr_pull_samr_RidWithAttribute(ndr, NDR_SCALARS, &r->rids[cntr_rids_1]));
+ }
+ NDR_PULL_SET_MEM_CTX(ndr, _mem_save_rids_1, 0);
+@@ -3794,6 +3816,7 @@ static enum ndr_err_code ndr_push_samr_DispInfoGeneral(struct ndr_push *ndr, int
+ static enum ndr_err_code ndr_pull_samr_DispInfoGeneral(struct ndr_pull *ndr, int ndr_flags, struct samr_DispInfoGeneral *r)
+ {
+ uint32_t _ptr_entries;
++ uint32_t size_entries_1 = 0;
+ uint32_t cntr_entries_1;
+ TALLOC_CTX *_mem_save_entries_0;
+ TALLOC_CTX *_mem_save_entries_1;
+@@ -3812,13 +3835,14 @@ static enum ndr_err_code ndr_pull_samr_DispInfoGeneral(struct ndr_pull *ndr, int
+ _mem_save_entries_0 = NDR_PULL_GET_MEM_CTX(ndr);
+ NDR_PULL_SET_MEM_CTX(ndr, r->entries, 0);
+ NDR_CHECK(ndr_pull_array_size(ndr, &r->entries));
+- NDR_PULL_ALLOC_N(ndr, r->entries, ndr_get_array_size(ndr, &r->entries));
++ size_entries_1 = ndr_get_array_size(ndr, &r->entries);
++ NDR_PULL_ALLOC_N(ndr, r->entries, size_entries_1);
+ _mem_save_entries_1 = NDR_PULL_GET_MEM_CTX(ndr);
+ NDR_PULL_SET_MEM_CTX(ndr, r->entries, 0);
+- for (cntr_entries_1 = 0; cntr_entries_1 < r->count; cntr_entries_1++) {
++ for (cntr_entries_1 = 0; cntr_entries_1 < size_entries_1; cntr_entries_1++) {
+ NDR_CHECK(ndr_pull_samr_DispEntryGeneral(ndr, NDR_SCALARS, &r->entries[cntr_entries_1]));
+ }
+- for (cntr_entries_1 = 0; cntr_entries_1 < r->count; cntr_entries_1++) {
++ for (cntr_entries_1 = 0; cntr_entries_1 < size_entries_1; cntr_entries_1++) {
+ NDR_CHECK(ndr_pull_samr_DispEntryGeneral(ndr, NDR_BUFFERS, &r->entries[cntr_entries_1]));
+ }
+ NDR_PULL_SET_MEM_CTX(ndr, _mem_save_entries_1, 0);
+@@ -3926,6 +3950,7 @@ static enum ndr_err_code ndr_push_samr_DispInfoFull(struct ndr_push *ndr, int nd
+ static enum ndr_err_code ndr_pull_samr_DispInfoFull(struct ndr_pull *ndr, int ndr_flags, struct samr_DispInfoFull *r)
+ {
+ uint32_t _ptr_entries;
++ uint32_t size_entries_1 = 0;
+ uint32_t cntr_entries_1;
+ TALLOC_CTX *_mem_save_entries_0;
+ TALLOC_CTX *_mem_save_entries_1;
+@@ -3944,13 +3969,14 @@ static enum ndr_err_code ndr_pull_samr_DispInfoFull(struct ndr_pull *ndr, int nd
+ _mem_save_entries_0 = NDR_PULL_GET_MEM_CTX(ndr);
+ NDR_PULL_SET_MEM_CTX(ndr, r->entries, 0);
+ NDR_CHECK(ndr_pull_array_size(ndr, &r->entries));
+- NDR_PULL_ALLOC_N(ndr, r->entries, ndr_get_array_size(ndr, &r->entries));
++ size_entries_1 = ndr_get_array_size(ndr, &r->entries);
++ NDR_PULL_ALLOC_N(ndr, r->entries, size_entries_1);
+ _mem_save_entries_1 = NDR_PULL_GET_MEM_CTX(ndr);
+ NDR_PULL_SET_MEM_CTX(ndr, r->entries, 0);
+- for (cntr_entries_1 = 0; cntr_entries_1 < r->count; cntr_entries_1++) {
++ for (cntr_entries_1 = 0; cntr_entries_1 < size_entries_1; cntr_entries_1++) {
+ NDR_CHECK(ndr_pull_samr_DispEntryFull(ndr, NDR_SCALARS, &r->entries[cntr_entries_1]));
+ }
+- for (cntr_entries_1 = 0; cntr_entries_1 < r->count; cntr_entries_1++) {
++ for (cntr_entries_1 = 0; cntr_entries_1 < size_entries_1; cntr_entries_1++) {
+ NDR_CHECK(ndr_pull_samr_DispEntryFull(ndr, NDR_BUFFERS, &r->entries[cntr_entries_1]));
+ }
+ NDR_PULL_SET_MEM_CTX(ndr, _mem_save_entries_1, 0);
+@@ -4058,6 +4084,7 @@ static enum ndr_err_code ndr_push_samr_DispInfoFullGroups(struct ndr_push *ndr,
+ static enum ndr_err_code ndr_pull_samr_DispInfoFullGroups(struct ndr_pull *ndr, int ndr_flags, struct samr_DispInfoFullGroups *r)
+ {
+ uint32_t _ptr_entries;
++ uint32_t size_entries_1 = 0;
+ uint32_t cntr_entries_1;
+ TALLOC_CTX *_mem_save_entries_0;
+ TALLOC_CTX *_mem_save_entries_1;
+@@ -4076,13 +4103,14 @@ static enum ndr_err_code ndr_pull_samr_DispInfoFullGroups(struct ndr_pull *ndr,
+ _mem_save_entries_0 = NDR_PULL_GET_MEM_CTX(ndr);
+ NDR_PULL_SET_MEM_CTX(ndr, r->entries, 0);
+ NDR_CHECK(ndr_pull_array_size(ndr, &r->entries));
+- NDR_PULL_ALLOC_N(ndr, r->entries, ndr_get_array_size(ndr, &r->entries));
++ size_entries_1 = ndr_get_array_size(ndr, &r->entries);
++ NDR_PULL_ALLOC_N(ndr, r->entries, size_entries_1);
+ _mem_save_entries_1 = NDR_PULL_GET_MEM_CTX(ndr);
+ NDR_PULL_SET_MEM_CTX(ndr, r->entries, 0);
+- for (cntr_entries_1 = 0; cntr_entries_1 < r->count; cntr_entries_1++) {
++ for (cntr_entries_1 = 0; cntr_entries_1 < size_entries_1; cntr_entries_1++) {
+ NDR_CHECK(ndr_pull_samr_DispEntryFullGroup(ndr, NDR_SCALARS, &r->entries[cntr_entries_1]));
+ }
+- for (cntr_entries_1 = 0; cntr_entries_1 < r->count; cntr_entries_1++) {
++ for (cntr_entries_1 = 0; cntr_entries_1 < size_entries_1; cntr_entries_1++) {
+ NDR_CHECK(ndr_pull_samr_DispEntryFullGroup(ndr, NDR_BUFFERS, &r->entries[cntr_entries_1]));
+ }
+ NDR_PULL_SET_MEM_CTX(ndr, _mem_save_entries_1, 0);
+@@ -4179,6 +4207,7 @@ static enum ndr_err_code ndr_push_samr_DispInfoAscii(struct ndr_push *ndr, int n
+ static enum ndr_err_code ndr_pull_samr_DispInfoAscii(struct ndr_pull *ndr, int ndr_flags, struct samr_DispInfoAscii *r)
+ {
+ uint32_t _ptr_entries;
++ uint32_t size_entries_1 = 0;
+ uint32_t cntr_entries_1;
+ TALLOC_CTX *_mem_save_entries_0;
+ TALLOC_CTX *_mem_save_entries_1;
+@@ -4197,13 +4226,14 @@ static enum ndr_err_code ndr_pull_samr_DispInfoAscii(struct ndr_pull *ndr, int n
+ _mem_save_entries_0 = NDR_PULL_GET_MEM_CTX(ndr);
+ NDR_PULL_SET_MEM_CTX(ndr, r->entries, 0);
+ NDR_CHECK(ndr_pull_array_size(ndr, &r->entries));
+- NDR_PULL_ALLOC_N(ndr, r->entries, ndr_get_array_size(ndr, &r->entries));
++ size_entries_1 = ndr_get_array_size(ndr, &r->entries);
++ NDR_PULL_ALLOC_N(ndr, r->entries, size_entries_1);
+ _mem_save_entries_1 = NDR_PULL_GET_MEM_CTX(ndr);
+ NDR_PULL_SET_MEM_CTX(ndr, r->entries, 0);
+- for (cntr_entries_1 = 0; cntr_entries_1 < r->count; cntr_entries_1++) {
++ for (cntr_entries_1 = 0; cntr_entries_1 < size_entries_1; cntr_entries_1++) {
+ NDR_CHECK(ndr_pull_samr_DispEntryAscii(ndr, NDR_SCALARS, &r->entries[cntr_entries_1]));
+ }
+- for (cntr_entries_1 = 0; cntr_entries_1 < r->count; cntr_entries_1++) {
++ for (cntr_entries_1 = 0; cntr_entries_1 < size_entries_1; cntr_entries_1++) {
+ NDR_CHECK(ndr_pull_samr_DispEntryAscii(ndr, NDR_BUFFERS, &r->entries[cntr_entries_1]));
+ }
+ NDR_PULL_SET_MEM_CTX(ndr, _mem_save_entries_1, 0);
+@@ -4700,6 +4730,7 @@ static enum ndr_err_code ndr_push_samr_ValidationBlob(struct ndr_push *ndr, int
+ static enum ndr_err_code ndr_pull_samr_ValidationBlob(struct ndr_pull *ndr, int ndr_flags, struct samr_ValidationBlob *r)
+ {
+ uint32_t _ptr_data;
++ uint32_t size_data_1 = 0;
+ TALLOC_CTX *_mem_save_data_0;
+ if (ndr_flags & NDR_SCALARS) {
+ NDR_CHECK(ndr_pull_align(ndr, 4));
+@@ -4716,8 +4747,9 @@ static enum ndr_err_code ndr_pull_samr_ValidationBlob(struct ndr_pull *ndr, int
+ _mem_save_data_0 = NDR_PULL_GET_MEM_CTX(ndr);
+ NDR_PULL_SET_MEM_CTX(ndr, r->data, 0);
+ NDR_CHECK(ndr_pull_array_size(ndr, &r->data));
+- NDR_PULL_ALLOC_N(ndr, r->data, ndr_get_array_size(ndr, &r->data));
+- NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->data, ndr_get_array_size(ndr, &r->data)));
++ size_data_1 = ndr_get_array_size(ndr, &r->data);
++ NDR_PULL_ALLOC_N(ndr, r->data, size_data_1);
++ NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->data, size_data_1));
+ NDR_PULL_SET_MEM_CTX(ndr, _mem_save_data_0, 0);
+ }
+ if (r->data) {
+@@ -4771,6 +4803,7 @@ static enum ndr_err_code ndr_push_samr_ValidatePasswordInfo(struct ndr_push *ndr
+ static enum ndr_err_code ndr_pull_samr_ValidatePasswordInfo(struct ndr_pull *ndr, int ndr_flags, struct samr_ValidatePasswordInfo *r)
+ {
+ uint32_t _ptr_pwd_history;
++ uint32_t size_pwd_history_1 = 0;
+ uint32_t cntr_pwd_history_1;
+ TALLOC_CTX *_mem_save_pwd_history_0;
+ TALLOC_CTX *_mem_save_pwd_history_1;
+@@ -4794,13 +4827,14 @@ static enum ndr_err_code ndr_pull_samr_ValidatePasswordInfo(struct ndr_pull *ndr
+ _mem_save_pwd_history_0 = NDR_PULL_GET_MEM_CTX(ndr);
+ NDR_PULL_SET_MEM_CTX(ndr, r->pwd_history, 0);
+ NDR_CHECK(ndr_pull_array_size(ndr, &r->pwd_history));
+- NDR_PULL_ALLOC_N(ndr, r->pwd_history, ndr_get_array_size(ndr, &r->pwd_history));
++ size_pwd_history_1 = ndr_get_array_size(ndr, &r->pwd_history);
++ NDR_PULL_ALLOC_N(ndr, r->pwd_history, size_pwd_history_1);
+ _mem_save_pwd_history_1 = NDR_PULL_GET_MEM_CTX(ndr);
+ NDR_PULL_SET_MEM_CTX(ndr, r->pwd_history, 0);
+- for (cntr_pwd_history_1 = 0; cntr_pwd_history_1 < r->pwd_history_len; cntr_pwd_history_1++) {
++ for (cntr_pwd_history_1 = 0; cntr_pwd_history_1 < size_pwd_history_1; cntr_pwd_history_1++) {
+ NDR_CHECK(ndr_pull_samr_ValidationBlob(ndr, NDR_SCALARS, &r->pwd_history[cntr_pwd_history_1]));
+ }
+- for (cntr_pwd_history_1 = 0; cntr_pwd_history_1 < r->pwd_history_len; cntr_pwd_history_1++) {
++ for (cntr_pwd_history_1 = 0; cntr_pwd_history_1 < size_pwd_history_1; cntr_pwd_history_1++) {
+ NDR_CHECK(ndr_pull_samr_ValidationBlob(ndr, NDR_BUFFERS, &r->pwd_history[cntr_pwd_history_1]));
+ }
+ NDR_PULL_SET_MEM_CTX(ndr, _mem_save_pwd_history_1, 0);
+@@ -7117,6 +7151,8 @@ _PUBLIC_ enum ndr_err_code ndr_push_samr_LookupNames(struct ndr_push *ndr, int f
+
+ _PUBLIC_ enum ndr_err_code ndr_pull_samr_LookupNames(struct ndr_pull *ndr, int flags, struct samr_LookupNames *r)
+ {
++ uint32_t size_names_0 = 0;
++ uint32_t length_names_0 = 0;
+ uint32_t cntr_names_0;
+ TALLOC_CTX *_mem_save_domain_handle_0;
+ TALLOC_CTX *_mem_save_names_0;
+@@ -7138,16 +7174,18 @@ _PUBLIC_ enum ndr_err_code ndr_pull_samr_LookupNames(struct ndr_pull *ndr, int f
+ }
+ NDR_CHECK(ndr_pull_array_size(ndr, &r->in.names));
+ NDR_CHECK(ndr_pull_array_length(ndr, &r->in.names));
+- if (ndr_get_array_length(ndr, &r->in.names) > ndr_get_array_size(ndr, &r->in.names)) {
+- return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.names), ndr_get_array_length(ndr, &r->in.names));
++ size_names_0 = ndr_get_array_size(ndr, &r->in.names);
++ length_names_0 = ndr_get_array_length(ndr, &r->in.names);
++ if (length_names_0 > size_names_0) {
++ return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_names_0, length_names_0);
+ }
+- NDR_PULL_ALLOC_N(ndr, r->in.names, ndr_get_array_size(ndr, &r->in.names));
++ NDR_PULL_ALLOC_N(ndr, r->in.names, size_names_0);
+ _mem_save_names_0 = NDR_PULL_GET_MEM_CTX(ndr);
+ NDR_PULL_SET_MEM_CTX(ndr, r->in.names, 0);
+- for (cntr_names_0 = 0; cntr_names_0 < r->in.num_names; cntr_names_0++) {
++ for (cntr_names_0 = 0; cntr_names_0 < length_names_0; cntr_names_0++) {
+ NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->in.names[cntr_names_0]));
+ }
+- for (cntr_names_0 = 0; cntr_names_0 < r->in.num_names; cntr_names_0++) {
++ for (cntr_names_0 = 0; cntr_names_0 < length_names_0; cntr_names_0++) {
+ NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->in.names[cntr_names_0]));
+ }
+ NDR_PULL_SET_MEM_CTX(ndr, _mem_save_names_0, 0);
+@@ -7259,6 +7297,8 @@ static enum ndr_err_code ndr_push_samr_LookupRids(struct ndr_push *ndr, int flag
+
+ static enum ndr_err_code ndr_pull_samr_LookupRids(struct ndr_pull *ndr, int flags, struct samr_LookupRids *r)
+ {
++ uint32_t size_rids_0 = 0;
++ uint32_t length_rids_0 = 0;
+ uint32_t cntr_rids_0;
+ TALLOC_CTX *_mem_save_domain_handle_0;
+ TALLOC_CTX *_mem_save_rids_0;
+@@ -7280,13 +7320,15 @@ static enum ndr_err_code ndr_pull_samr_LookupRids(struct ndr_pull *ndr, int flag
+ }
+ NDR_CHECK(ndr_pull_array_size(ndr, &r->in.rids));
+ NDR_CHECK(ndr_pull_array_length(ndr, &r->in.rids));
+- if (ndr_get_array_length(ndr, &r->in.rids) > ndr_get_array_size(ndr, &r->in.rids)) {
+- return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.rids), ndr_get_array_length(ndr, &r->in.rids));
++ size_rids_0 = ndr_get_array_size(ndr, &r->in.rids);
++ length_rids_0 = ndr_get_array_length(ndr, &r->in.rids);
++ if (length_rids_0 > size_rids_0) {
++ return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_rids_0, length_rids_0);
+ }
+- NDR_PULL_ALLOC_N(ndr, r->in.rids, ndr_get_array_size(ndr, &r->in.rids));
++ NDR_PULL_ALLOC_N(ndr, r->in.rids, size_rids_0);
+ _mem_save_rids_0 = NDR_PULL_GET_MEM_CTX(ndr);
+ NDR_PULL_SET_MEM_CTX(ndr, r->in.rids, 0);
+- for (cntr_rids_0 = 0; cntr_rids_0 < r->in.num_rids; cntr_rids_0++) {
++ for (cntr_rids_0 = 0; cntr_rids_0 < length_rids_0; cntr_rids_0++) {
+ NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.rids[cntr_rids_0]));
+ }
+ NDR_PULL_SET_MEM_CTX(ndr, _mem_save_rids_0, 0);
+@@ -10937,6 +10979,8 @@ static enum ndr_err_code ndr_push_samr_Connect2(struct ndr_push *ndr, int flags,
+ static enum ndr_err_code ndr_pull_samr_Connect2(struct ndr_pull *ndr, int flags, struct samr_Connect2 *r)
+ {
+ uint32_t _ptr_system_name;
++ uint32_t size_system_name_1 = 0;
++ uint32_t length_system_name_1 = 0;
+ TALLOC_CTX *_mem_save_system_name_0;
+ TALLOC_CTX *_mem_save_connect_handle_0;
+ if (flags & NDR_IN) {
+@@ -10953,11 +10997,13 @@ static enum ndr_err_code ndr_pull_samr_Connect2(struct ndr_pull *ndr, int flags,
+ NDR_PULL_SET_MEM_CTX(ndr, r->in.system_name, 0);
+ NDR_CHECK(ndr_pull_array_size(ndr, &r->in.system_name));
+ NDR_CHECK(ndr_pull_array_length(ndr, &r->in.system_name));
+- if (ndr_get_array_length(ndr, &r->in.system_name) > ndr_get_array_size(ndr, &r->in.system_name)) {
+- return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.system_name), ndr_get_array_length(ndr, &r->in.system_name));
++ size_system_name_1 = ndr_get_array_size(ndr, &r->in.system_name);
++ length_system_name_1 = ndr_get_array_length(ndr, &r->in.system_name);
++ if (length_system_name_1 > size_system_name_1) {
++ return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_system_name_1, length_system_name_1);
+ }
+- NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.system_name), sizeof(uint16_t)));
+- NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.system_name, ndr_get_array_length(ndr, &r->in.system_name), sizeof(uint16_t), CH_UTF16));
++ NDR_CHECK(ndr_check_string_terminator(ndr, length_system_name_1, sizeof(uint16_t)));
++ NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.system_name, length_system_name_1, sizeof(uint16_t), CH_UTF16));
+ NDR_PULL_SET_MEM_CTX(ndr, _mem_save_system_name_0, 0);
+ }
+ NDR_CHECK(ndr_pull_samr_ConnectAccessMask(ndr, NDR_SCALARS, &r->in.access_mask));
+@@ -11257,6 +11303,8 @@ static enum ndr_err_code ndr_push_samr_Connect3(struct ndr_push *ndr, int flags,
+ static enum ndr_err_code ndr_pull_samr_Connect3(struct ndr_pull *ndr, int flags, struct samr_Connect3 *r)
+ {
+ uint32_t _ptr_system_name;
++ uint32_t size_system_name_1 = 0;
++ uint32_t length_system_name_1 = 0;
+ TALLOC_CTX *_mem_save_system_name_0;
+ TALLOC_CTX *_mem_save_connect_handle_0;
+ if (flags & NDR_IN) {
+@@ -11273,11 +11321,13 @@ static enum ndr_err_code ndr_pull_samr_Connect3(struct ndr_pull *ndr, int flags,
+ NDR_PULL_SET_MEM_CTX(ndr, r->in.system_name, 0);
+ NDR_CHECK(ndr_pull_array_size(ndr, &r->in.system_name));
+ NDR_CHECK(ndr_pull_array_length(ndr, &r->in.system_name));
+- if (ndr_get_array_length(ndr, &r->in.system_name) > ndr_get_array_size(ndr, &r->in.system_name)) {
+- return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.system_name), ndr_get_array_length(ndr, &r->in.system_name));
++ size_system_name_1 = ndr_get_array_size(ndr, &r->in.system_name);
++ length_system_name_1 = ndr_get_array_length(ndr, &r->in.system_name);
++ if (length_system_name_1 > size_system_name_1) {
++ return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_system_name_1, length_system_name_1);
+ }
+- NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.system_name), sizeof(uint16_t)));
+- NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.system_name, ndr_get_array_length(ndr, &r->in.system_name), sizeof(uint16_t), CH_UTF16));
++ NDR_CHECK(ndr_check_string_terminator(ndr, length_system_name_1, sizeof(uint16_t)));
++ NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.system_name, length_system_name_1, sizeof(uint16_t), CH_UTF16));
+ NDR_PULL_SET_MEM_CTX(ndr, _mem_save_system_name_0, 0);
+ }
+ NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.unknown));
+@@ -11357,6 +11407,8 @@ static enum ndr_err_code ndr_push_samr_Connect4(struct ndr_push *ndr, int flags,
+ static enum ndr_err_code ndr_pull_samr_Connect4(struct ndr_pull *ndr, int flags, struct samr_Connect4 *r)
+ {
+ uint32_t _ptr_system_name;
++ uint32_t size_system_name_1 = 0;
++ uint32_t length_system_name_1 = 0;
+ TALLOC_CTX *_mem_save_system_name_0;
+ TALLOC_CTX *_mem_save_connect_handle_0;
+ if (flags & NDR_IN) {
+@@ -11373,11 +11425,13 @@ static enum ndr_err_code ndr_pull_samr_Connect4(struct ndr_pull *ndr, int flags,
+ NDR_PULL_SET_MEM_CTX(ndr, r->in.system_name, 0);
+ NDR_CHECK(ndr_pull_array_size(ndr, &r->in.system_name));
+ NDR_CHECK(ndr_pull_array_length(ndr, &r->in.system_name));
+- if (ndr_get_array_length(ndr, &r->in.system_name) > ndr_get_array_size(ndr, &r->in.system_name)) {
+- return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.system_name), ndr_get_array_length(ndr, &r->in.system_name));
++ size_system_name_1 = ndr_get_array_size(ndr, &r->in.system_name);
++ length_system_name_1 = ndr_get_array_length(ndr, &r->in.system_name);
++ if (length_system_name_1 > size_system_name_1) {
++ return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_system_name_1, length_system_name_1);
+ }
+- NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.system_name), sizeof(uint16_t)));
+- NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.system_name, ndr_get_array_length(ndr, &r->in.system_name), sizeof(uint16_t), CH_UTF16));
++ NDR_CHECK(ndr_check_string_terminator(ndr, length_system_name_1, sizeof(uint16_t)));
++ NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.system_name, length_system_name_1, sizeof(uint16_t), CH_UTF16));
+ NDR_PULL_SET_MEM_CTX(ndr, _mem_save_system_name_0, 0);
+ }
+ NDR_CHECK(ndr_pull_samr_ConnectVersion(ndr, NDR_SCALARS, &r->in.client_version));
+@@ -11755,6 +11809,8 @@ _PUBLIC_ enum ndr_err_code ndr_push_samr_Connect5(struct ndr_push *ndr, int flag
+ _PUBLIC_ enum ndr_err_code ndr_pull_samr_Connect5(struct ndr_pull *ndr, int flags, struct samr_Connect5 *r)
+ {
+ uint32_t _ptr_system_name;
++ uint32_t size_system_name_1 = 0;
++ uint32_t length_system_name_1 = 0;
+ TALLOC_CTX *_mem_save_system_name_0;
+ TALLOC_CTX *_mem_save_info_in_0;
+ TALLOC_CTX *_mem_save_level_out_0;
+@@ -11774,11 +11830,13 @@ _PUBLIC_ enum ndr_err_code ndr_pull_samr_Connect5(struct ndr_pull *ndr, int flag
+ NDR_PULL_SET_MEM_CTX(ndr, r->in.system_name, 0);
+ NDR_CHECK(ndr_pull_array_size(ndr, &r->in.system_name));
+ NDR_CHECK(ndr_pull_array_length(ndr, &r->in.system_name));
+- if (ndr_get_array_length(ndr, &r->in.system_name) > ndr_get_array_size(ndr, &r->in.system_name)) {
+- return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.system_name), ndr_get_array_length(ndr, &r->in.system_name));
++ size_system_name_1 = ndr_get_array_size(ndr, &r->in.system_name);
++ length_system_name_1 = ndr_get_array_length(ndr, &r->in.system_name);
++ if (length_system_name_1 > size_system_name_1) {
++ return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_system_name_1, length_system_name_1);
+ }
+- NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.system_name), sizeof(uint16_t)));
+- NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.system_name, ndr_get_array_length(ndr, &r->in.system_name), sizeof(uint16_t), CH_UTF16));
++ NDR_CHECK(ndr_check_string_terminator(ndr, length_system_name_1, sizeof(uint16_t)));
++ NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.system_name, length_system_name_1, sizeof(uint16_t), CH_UTF16));
+ NDR_PULL_SET_MEM_CTX(ndr, _mem_save_system_name_0, 0);
+ }
+ NDR_CHECK(ndr_pull_samr_ConnectAccessMask(ndr, NDR_SCALARS, &r->in.access_mask));
+diff --git a/source/librpc/gen_ndr/ndr_security.c b/source/librpc/gen_ndr/ndr_security.c
+index d031c46..6a3ab10 100644
+--- a/source/librpc/gen_ndr/ndr_security.c
++++ b/source/librpc/gen_ndr/ndr_security.c
+@@ -492,6 +492,7 @@ _PUBLIC_ enum ndr_err_code ndr_push_security_acl(struct ndr_push *ndr, int ndr_f
+
+ _PUBLIC_ enum ndr_err_code ndr_pull_security_acl(struct ndr_pull *ndr, int ndr_flags, struct security_acl *r)
+ {
++ uint32_t size_aces_0 = 0;
+ uint32_t cntr_aces_0;
+ TALLOC_CTX *_mem_save_aces_0;
+ if (ndr_flags & NDR_SCALARS) {
+@@ -502,18 +503,20 @@ _PUBLIC_ enum ndr_err_code ndr_pull_security_acl(struct ndr_pull *ndr, int ndr_f
+ if (r->num_aces < 0 || r->num_aces > 1000) {
+ return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
+ }
+- NDR_PULL_ALLOC_N(ndr, r->aces, r->num_aces);
++ size_aces_0 = r->num_aces;
++ NDR_PULL_ALLOC_N(ndr, r->aces, size_aces_0);
+ _mem_save_aces_0 = NDR_PULL_GET_MEM_CTX(ndr);
+ NDR_PULL_SET_MEM_CTX(ndr, r->aces, 0);
+- for (cntr_aces_0 = 0; cntr_aces_0 < r->num_aces; cntr_aces_0++) {
++ for (cntr_aces_0 = 0; cntr_aces_0 < size_aces_0; cntr_aces_0++) {
+ NDR_CHECK(ndr_pull_security_ace(ndr, NDR_SCALARS, &r->aces[cntr_aces_0]));
+ }
+ NDR_PULL_SET_MEM_CTX(ndr, _mem_save_aces_0, 0);
+ }
+ if (ndr_flags & NDR_BUFFERS) {
++ size_aces_0 = r->num_aces;
+ _mem_save_aces_0 = NDR_PULL_GET_MEM_CTX(ndr);
+ NDR_PULL_SET_MEM_CTX(ndr, r->aces, 0);
+- for (cntr_aces_0 = 0; cntr_aces_0 < r->num_aces; cntr_aces_0++) {
++ for (cntr_aces_0 = 0; cntr_aces_0 < size_aces_0; cntr_aces_0++) {
+ NDR_CHECK(ndr_pull_security_ace(ndr, NDR_BUFFERS, &r->aces[cntr_aces_0]));
+ }
+ NDR_PULL_SET_MEM_CTX(ndr, _mem_save_aces_0, 0);
+@@ -875,6 +878,7 @@ _PUBLIC_ enum ndr_err_code ndr_pull_security_token(struct ndr_pull *ndr, int ndr
+ uint32_t _ptr_group_sid;
+ TALLOC_CTX *_mem_save_group_sid_0;
+ uint32_t _ptr_sids;
++ uint32_t size_sids_0 = 0;
+ uint32_t cntr_sids_0;
+ TALLOC_CTX *_mem_save_sids_0;
+ TALLOC_CTX *_mem_save_sids_1;
+@@ -894,10 +898,11 @@ _PUBLIC_ enum ndr_err_code ndr_pull_security_token(struct ndr_pull *ndr, int ndr
+ }
+ NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->num_sids));
+ NDR_CHECK(ndr_pull_array_size(ndr, &r->sids));
+- NDR_PULL_ALLOC_N(ndr, r->sids, ndr_get_array_size(ndr, &r->sids));
++ size_sids_0 = ndr_get_array_size(ndr, &r->sids);
++ NDR_PULL_ALLOC_N(ndr, r->sids, size_sids_0);
+ _mem_save_sids_0 = NDR_PULL_GET_MEM_CTX(ndr);
+ NDR_PULL_SET_MEM_CTX(ndr, r->sids, 0);
+- for (cntr_sids_0 = 0; cntr_sids_0 < r->num_sids; cntr_sids_0++) {
++ for (cntr_sids_0 = 0; cntr_sids_0 < size_sids_0; cntr_sids_0++) {
+ NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_sids));
+ if (_ptr_sids) {
+ NDR_PULL_ALLOC(ndr, r->sids[cntr_sids_0]);
+@@ -924,9 +929,10 @@ _PUBLIC_ enum ndr_err_code ndr_pull_security_token(struct ndr_pull *ndr, int ndr
+ NDR_CHECK(ndr_pull_dom_sid(ndr, NDR_SCALARS|NDR_BUFFERS, r->group_sid));
+ NDR_PULL_SET_MEM_CTX(ndr, _mem_save_group_sid_0, 0);
+ }
++ size_sids_0 = ndr_get_array_size(ndr, &r->sids);
+ _mem_save_sids_0 = NDR_PULL_GET_MEM_CTX(ndr);
+ NDR_PULL_SET_MEM_CTX(ndr, r->sids, 0);
+- for (cntr_sids_0 = 0; cntr_sids_0 < r->num_sids; cntr_sids_0++) {
++ for (cntr_sids_0 = 0; cntr_sids_0 < size_sids_0; cntr_sids_0++) {
+ if (r->sids[cntr_sids_0]) {
+ _mem_save_sids_1 = NDR_PULL_GET_MEM_CTX(ndr);
+ NDR_PULL_SET_MEM_CTX(ndr, r->sids[cntr_sids_0], 0);
+diff --git a/source/librpc/gen_ndr/ndr_srvsvc.c b/source/librpc/gen_ndr/ndr_srvsvc.c
+index d97ee01..893a3b11 100644
+--- a/source/librpc/gen_ndr/ndr_srvsvc.c
++++ b/source/librpc/gen_ndr/ndr_srvsvc.c
+@@ -25,6 +25,8 @@ static enum ndr_err_code ndr_push_srvsvc_NetCharDevInfo0(struct ndr_push *ndr, i
+ static enum ndr_err_code ndr_pull_srvsvc_NetCharDevInfo0(struct ndr_pull *ndr, int ndr_flags, struct srvsvc_NetCharDevInfo0 *r)
+ {
+ uint32_t _ptr_device;
++ uint32_t size_device_1 = 0;
++ uint32_t length_device_1 = 0;
+ TALLOC_CTX *_mem_save_device_0;
+ if (ndr_flags & NDR_SCALARS) {
+ NDR_CHECK(ndr_pull_align(ndr, 4));
+@@ -41,11 +43,13 @@ static enum ndr_err_code ndr_pull_srvsvc_NetCharDevInfo0(struct ndr_pull *ndr, i
+ NDR_PULL_SET_MEM_CTX(ndr, r->device, 0);
+ NDR_CHECK(ndr_pull_array_size(ndr, &r->device));
+ NDR_CHECK(ndr_pull_array_length(ndr, &r->device));
+- if (ndr_get_array_length(ndr, &r->device) > ndr_get_array_size(ndr, &r->device)) {
+- return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->device), ndr_get_array_length(ndr, &r->device));
++ size_device_1 = ndr_get_array_size(ndr, &r->device);
++ length_device_1 = ndr_get_array_length(ndr, &r->device);
++ if (length_device_1 > size_device_1) {
++ return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_device_1, length_device_1);
+ }
+- NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->device), sizeof(uint16_t)));
+- NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->device, ndr_get_array_length(ndr, &r->device), sizeof(uint16_t), CH_UTF16));
++ NDR_CHECK(ndr_check_string_terminator(ndr, length_device_1, sizeof(uint16_t)));
++ NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->device, length_device_1, sizeof(uint16_t), CH_UTF16));
+ NDR_PULL_SET_MEM_CTX(ndr, _mem_save_device_0, 0);
+ }
+ }
+@@ -90,6 +94,7 @@ static enum ndr_err_code ndr_push_srvsvc_NetCharDevCtr0(struct ndr_push *ndr, in
+ static enum ndr_err_code ndr_pull_srvsvc_NetCharDevCtr0(struct ndr_pull *ndr, int ndr_flags, struct srvsvc_NetCharDevCtr0 *r)
+ {
+ uint32_t _ptr_array;
++ uint32_t size_array_1 = 0;
+ uint32_t cntr_array_1;
+ TALLOC_CTX *_mem_save_array_0;
+ TALLOC_CTX *_mem_save_array_1;
+@@ -108,13 +113,14 @@ static enum ndr_err_code ndr_pull_srvsvc_NetCharDevCtr0(struct ndr_pull *ndr, in
+ _mem_save_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
+ NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
+ NDR_CHECK(ndr_pull_array_size(ndr, &r->array));
+- NDR_PULL_ALLOC_N(ndr, r->array, ndr_get_array_size(ndr, &r->array));
++ size_array_1 = ndr_get_array_size(ndr, &r->array);
++ NDR_PULL_ALLOC_N(ndr, r->array, size_array_1);
+ _mem_save_array_1 = NDR_PULL_GET_MEM_CTX(ndr);
+ NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
+- for (cntr_array_1 = 0; cntr_array_1 < r->count; cntr_array_1++) {
++ for (cntr_array_1 = 0; cntr_array_1 < size_array_1; cntr_array_1++) {
+ NDR_CHECK(ndr_pull_srvsvc_NetCharDevInfo0(ndr, NDR_SCALARS, &r->array[cntr_array_1]));
+ }
+- for (cntr_array_1 = 0; cntr_array_1 < r->count; cntr_array_1++) {
++ for (cntr_array_1 = 0; cntr_array_1 < size_array_1; cntr_array_1++) {
+ NDR_CHECK(ndr_pull_srvsvc_NetCharDevInfo0(ndr, NDR_BUFFERS, &r->array[cntr_array_1]));
+ }
+ NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_1, 0);
+@@ -180,8 +186,12 @@ static enum ndr_err_code ndr_push_srvsvc_NetCharDevInfo1(struct ndr_push *ndr, i
+ static enum ndr_err_code ndr_pull_srvsvc_NetCharDevInfo1(struct ndr_pull *ndr, int ndr_flags, struct srvsvc_NetCharDevInfo1 *r)
+ {
+ uint32_t _ptr_device;
++ uint32_t size_device_1 = 0;
++ uint32_t length_device_1 = 0;
+ TALLOC_CTX *_mem_save_device_0;
+ uint32_t _ptr_user;
++ uint32_t size_user_1 = 0;
++ uint32_t length_user_1 = 0;
+ TALLOC_CTX *_mem_save_user_0;
+ if (ndr_flags & NDR_SCALARS) {
+ NDR_CHECK(ndr_pull_align(ndr, 4));
+@@ -206,11 +216,13 @@ static enum ndr_err_code ndr_pull_srvsvc_NetCharDevInfo1(struct ndr_pull *ndr, i
+ NDR_PULL_SET_MEM_CTX(ndr, r->device, 0);
+ NDR_CHECK(ndr_pull_array_size(ndr, &r->device));
+ NDR_CHECK(ndr_pull_array_length(ndr, &r->device));
+- if (ndr_get_array_length(ndr, &r->device) > ndr_get_array_size(ndr, &r->device)) {
+- return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->device), ndr_get_array_length(ndr, &r->device));
++ size_device_1 = ndr_get_array_size(ndr, &r->device);
++ length_device_1 = ndr_get_array_length(ndr, &r->device);
++ if (length_device_1 > size_device_1) {
++ return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_device_1, length_device_1);
+ }
+- NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->device), sizeof(uint16_t)));
+- NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->device, ndr_get_array_length(ndr, &r->device), sizeof(uint16_t), CH_UTF16));
++ NDR_CHECK(ndr_check_string_terminator(ndr, length_device_1, sizeof(uint16_t)));
++ NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->device, length_device_1, sizeof(uint16_t), CH_UTF16));
+ NDR_PULL_SET_MEM_CTX(ndr, _mem_save_device_0, 0);
+ }
+ if (r->user) {
+@@ -218,11 +230,13 @@ static enum ndr_err_code ndr_pull_srvsvc_NetCharDevInfo1(struct ndr_pull *ndr, i
+ NDR_PULL_SET_MEM_CTX(ndr, r->user, 0);
+ NDR_CHECK(ndr_pull_array_size(ndr, &r->user));
+ NDR_CHECK(ndr_pull_array_length(ndr, &r->user));
+- if (ndr_get_array_length(ndr, &r->user) > ndr_get_array_size(ndr, &r->user)) {
+- return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->user), ndr_get_array_length(ndr, &r->user));
++ size_user_1 = ndr_get_array_size(ndr, &r->user);
++ length_user_1 = ndr_get_array_length(ndr, &r->user);
++ if (length_user_1 > size_user_1) {
++ return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_user_1, length_user_1);
+ }
+- NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->user), sizeof(uint16_t)));
+- NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->user, ndr_get_array_length(ndr, &r->user), sizeof(uint16_t), CH_UTF16));
++ NDR_CHECK(ndr_check_string_terminator(ndr, length_user_1, sizeof(uint16_t)));
++ NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->user, length_user_1, sizeof(uint16_t), CH_UTF16));
+ NDR_PULL_SET_MEM_CTX(ndr, _mem_save_user_0, 0);
+ }
+ }
+@@ -275,6 +289,7 @@ static enum ndr_err_code ndr_push_srvsvc_NetCharDevCtr1(struct ndr_push *ndr, in
+ static enum ndr_err_code ndr_pull_srvsvc_NetCharDevCtr1(struct ndr_pull *ndr, int ndr_flags, struct srvsvc_NetCharDevCtr1 *r)
+ {
+ uint32_t _ptr_array;
++ uint32_t size_array_1 = 0;
+ uint32_t cntr_array_1;
+ TALLOC_CTX *_mem_save_array_0;
+ TALLOC_CTX *_mem_save_array_1;
+@@ -293,13 +308,14 @@ static enum ndr_err_code ndr_pull_srvsvc_NetCharDevCtr1(struct ndr_pull *ndr, in
+ _mem_save_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
+ NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
+ NDR_CHECK(ndr_pull_array_size(ndr, &r->array));
+- NDR_PULL_ALLOC_N(ndr, r->array, ndr_get_array_size(ndr, &r->array));
++ size_array_1 = ndr_get_array_size(ndr, &r->array);
++ NDR_PULL_ALLOC_N(ndr, r->array, size_array_1);
+ _mem_save_array_1 = NDR_PULL_GET_MEM_CTX(ndr);
+ NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
+- for (cntr_array_1 = 0; cntr_array_1 < r->count; cntr_array_1++) {
++ for (cntr_array_1 = 0; cntr_array_1 < size_array_1; cntr_array_1++) {
+ NDR_CHECK(ndr_pull_srvsvc_NetCharDevInfo1(ndr, NDR_SCALARS, &r->array[cntr_array_1]));
+ }
+- for (cntr_array_1 = 0; cntr_array_1 < r->count; cntr_array_1++) {
++ for (cntr_array_1 = 0; cntr_array_1 < size_array_1; cntr_array_1++) {
+ NDR_CHECK(ndr_pull_srvsvc_NetCharDevInfo1(ndr, NDR_BUFFERS, &r->array[cntr_array_1]));
+ }
+ NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_1, 0);
+@@ -383,7 +399,9 @@ static enum ndr_err_code ndr_pull_srvsvc_NetCharDevInfo(struct ndr_pull *ndr, in
+ int level;
+ uint32_t _level;
+ TALLOC_CTX *_mem_save_info0_0;
++ uint32_t _ptr_info0;
+ TALLOC_CTX *_mem_save_info1_0;
++ uint32_t _ptr_info1;
+ level = ndr_pull_get_switch_value(ndr, r);
+ if (ndr_flags & NDR_SCALARS) {
+ NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &_level));
+@@ -392,7 +410,6 @@ static enum ndr_err_code ndr_pull_srvsvc_NetCharDevInfo(struct ndr_pull *ndr, in
+ }
+ switch (level) {
+ case 0: {
+- uint32_t _ptr_info0;
+ NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info0));
+ if (_ptr_info0) {
+ NDR_PULL_ALLOC(ndr, r->info0);
+@@ -402,7 +419,6 @@ static enum ndr_err_code ndr_pull_srvsvc_NetCharDevInfo(struct ndr_pull *ndr, in
+ break; }
+
+ case 1: {
+- uint32_t _ptr_info1;
+ NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info1));
+ if (_ptr_info1) {
+ NDR_PULL_ALLOC(ndr, r->info1);
+@@ -521,7 +537,9 @@ static enum ndr_err_code ndr_pull_srvsvc_NetCharDevCtr(struct ndr_pull *ndr, int
+ int level;
+ uint32_t _level;
+ TALLOC_CTX *_mem_save_ctr0_0;
++ uint32_t _ptr_ctr0;
+ TALLOC_CTX *_mem_save_ctr1_0;
++ uint32_t _ptr_ctr1;
+ level = ndr_pull_get_switch_value(ndr, r);
+ if (ndr_flags & NDR_SCALARS) {
+ NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &_level));
+@@ -530,7 +548,6 @@ static enum ndr_err_code ndr_pull_srvsvc_NetCharDevCtr(struct ndr_pull *ndr, int
+ }
+ switch (level) {
+ case 0: {
+- uint32_t _ptr_ctr0;
+ NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_ctr0));
+ if (_ptr_ctr0) {
+ NDR_PULL_ALLOC(ndr, r->ctr0);
+@@ -540,7 +557,6 @@ static enum ndr_err_code ndr_pull_srvsvc_NetCharDevCtr(struct ndr_pull *ndr, int
+ break; }
+
+ case 1: {
+- uint32_t _ptr_ctr1;
+ NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_ctr1));
+ if (_ptr_ctr1) {
+ NDR_PULL_ALLOC(ndr, r->ctr1);
+@@ -632,6 +648,8 @@ static enum ndr_err_code ndr_push_srvsvc_NetCharDevQInfo0(struct ndr_push *ndr,
+ static enum ndr_err_code ndr_pull_srvsvc_NetCharDevQInfo0(struct ndr_pull *ndr, int ndr_flags, struct srvsvc_NetCharDevQInfo0 *r)
+ {
+ uint32_t _ptr_device;
++ uint32_t size_device_1 = 0;
++ uint32_t length_device_1 = 0;
+ TALLOC_CTX *_mem_save_device_0;
+ if (ndr_flags & NDR_SCALARS) {
+ NDR_CHECK(ndr_pull_align(ndr, 4));
+@@ -648,11 +666,13 @@ static enum ndr_err_code ndr_pull_srvsvc_NetCharDevQInfo0(struct ndr_pull *ndr,
+ NDR_PULL_SET_MEM_CTX(ndr, r->device, 0);
+ NDR_CHECK(ndr_pull_array_size(ndr, &r->device));
+ NDR_CHECK(ndr_pull_array_length(ndr, &r->device));
+- if (ndr_get_array_length(ndr, &r->device) > ndr_get_array_size(ndr, &r->device)) {
+- return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->device), ndr_get_array_length(ndr, &r->device));
++ size_device_1 = ndr_get_array_size(ndr, &r->device);
++ length_device_1 = ndr_get_array_length(ndr, &r->device);
++ if (length_device_1 > size_device_1) {
++ return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_device_1, length_device_1);
+ }
+- NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->device), sizeof(uint16_t)));
+- NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->device, ndr_get_array_length(ndr, &r->device), sizeof(uint16_t), CH_UTF16));
++ NDR_CHECK(ndr_check_string_terminator(ndr, length_device_1, sizeof(uint16_t)));
++ NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->device, length_device_1, sizeof(uint16_t), CH_UTF16));
+ NDR_PULL_SET_MEM_CTX(ndr, _mem_save_device_0, 0);
+ }
+ }
+@@ -697,6 +717,7 @@ static enum ndr_err_code ndr_push_srvsvc_NetCharDevQCtr0(struct ndr_push *ndr, i
+ static enum ndr_err_code ndr_pull_srvsvc_NetCharDevQCtr0(struct ndr_pull *ndr, int ndr_flags, struct srvsvc_NetCharDevQCtr0 *r)
+ {
+ uint32_t _ptr_array;
++ uint32_t size_array_1 = 0;
+ uint32_t cntr_array_1;
+ TALLOC_CTX *_mem_save_array_0;
+ TALLOC_CTX *_mem_save_array_1;
+@@ -715,13 +736,14 @@ static enum ndr_err_code ndr_pull_srvsvc_NetCharDevQCtr0(struct ndr_pull *ndr, i
+ _mem_save_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
+ NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
+ NDR_CHECK(ndr_pull_array_size(ndr, &r->array));
+- NDR_PULL_ALLOC_N(ndr, r->array, ndr_get_array_size(ndr, &r->array));
++ size_array_1 = ndr_get_array_size(ndr, &r->array);
++ NDR_PULL_ALLOC_N(ndr, r->array, size_array_1);
+ _mem_save_array_1 = NDR_PULL_GET_MEM_CTX(ndr);
+ NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
+- for (cntr_array_1 = 0; cntr_array_1 < r->count; cntr_array_1++) {
++ for (cntr_array_1 = 0; cntr_array_1 < size_array_1; cntr_array_1++) {
+ NDR_CHECK(ndr_pull_srvsvc_NetCharDevQInfo0(ndr, NDR_SCALARS, &r->array[cntr_array_1]));
+ }
+- for (cntr_array_1 = 0; cntr_array_1 < r->count; cntr_array_1++) {
++ for (cntr_array_1 = 0; cntr_array_1 < size_array_1; cntr_array_1++) {
+ NDR_CHECK(ndr_pull_srvsvc_NetCharDevQInfo0(ndr, NDR_BUFFERS, &r->array[cntr_array_1]));
+ }
+ NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_1, 0);
+@@ -788,8 +810,12 @@ static enum ndr_err_code ndr_push_srvsvc_NetCharDevQInfo1(struct ndr_push *ndr,
+ static enum ndr_err_code ndr_pull_srvsvc_NetCharDevQInfo1(struct ndr_pull *ndr, int ndr_flags, struct srvsvc_NetCharDevQInfo1 *r)
+ {
+ uint32_t _ptr_device;
++ uint32_t size_device_1 = 0;
++ uint32_t length_device_1 = 0;
+ TALLOC_CTX *_mem_save_device_0;
+ uint32_t _ptr_devices;
++ uint32_t size_devices_1 = 0;
++ uint32_t length_devices_1 = 0;
+ TALLOC_CTX *_mem_save_devices_0;
+ if (ndr_flags & NDR_SCALARS) {
+ NDR_CHECK(ndr_pull_align(ndr, 4));
+@@ -815,11 +841,13 @@ static enum ndr_err_code ndr_pull_srvsvc_NetCharDevQInfo1(struct ndr_pull *ndr,
+ NDR_PULL_SET_MEM_CTX(ndr, r->device, 0);
+ NDR_CHECK(ndr_pull_array_size(ndr, &r->device));
+ NDR_CHECK(ndr_pull_array_length(ndr, &r->device));
+- if (ndr_get_array_length(ndr, &r->device) > ndr_get_array_size(ndr, &r->device)) {
+- return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->device), ndr_get_array_length(ndr, &r->device));
++ size_device_1 = ndr_get_array_size(ndr, &r->device);
++ length_device_1 = ndr_get_array_length(ndr, &r->device);
++ if (length_device_1 > size_device_1) {
++ return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_device_1, length_device_1);
+ }
+- NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->device), sizeof(uint16_t)));
+- NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->device, ndr_get_array_length(ndr, &r->device), sizeof(uint16_t), CH_UTF16));
++ NDR_CHECK(ndr_check_string_terminator(ndr, length_device_1, sizeof(uint16_t)));
++ NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->device, length_device_1, sizeof(uint16_t), CH_UTF16));
+ NDR_PULL_SET_MEM_CTX(ndr, _mem_save_device_0, 0);
+ }
+ if (r->devices) {
+@@ -827,11 +855,13 @@ static enum ndr_err_code ndr_pull_srvsvc_NetCharDevQInfo1(struct ndr_pull *ndr,
+ NDR_PULL_SET_MEM_CTX(ndr, r->devices, 0);
+ NDR_CHECK(ndr_pull_array_size(ndr, &r->devices));
+ NDR_CHECK(ndr_pull_array_length(ndr, &r->devices));
+- if (ndr_get_array_length(ndr, &r->devices) > ndr_get_array_size(ndr, &r->devices)) {
+- return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->devices), ndr_get_array_length(ndr, &r->devices));
++ size_devices_1 = ndr_get_array_size(ndr, &r->devices);
++ length_devices_1 = ndr_get_array_length(ndr, &r->devices);
++ if (length_devices_1 > size_devices_1) {
++ return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_devices_1, length_devices_1);
+ }
+- NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->devices), sizeof(uint16_t)));
+- NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->devices, ndr_get_array_length(ndr, &r->devices), sizeof(uint16_t), CH_UTF16));
++ NDR_CHECK(ndr_check_string_terminator(ndr, length_devices_1, sizeof(uint16_t)));
++ NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->devices, length_devices_1, sizeof(uint16_t), CH_UTF16));
+ NDR_PULL_SET_MEM_CTX(ndr, _mem_save_devices_0, 0);
+ }
+ }
+@@ -885,6 +915,7 @@ static enum ndr_err_code ndr_push_srvsvc_NetCharDevQCtr1(struct ndr_push *ndr, i
+ static enum ndr_err_code ndr_pull_srvsvc_NetCharDevQCtr1(struct ndr_pull *ndr, int ndr_flags, struct srvsvc_NetCharDevQCtr1 *r)
+ {
+ uint32_t _ptr_array;
++ uint32_t size_array_1 = 0;
+ uint32_t cntr_array_1;
+ TALLOC_CTX *_mem_save_array_0;
+ TALLOC_CTX *_mem_save_array_1;
+@@ -903,13 +934,14 @@ static enum ndr_err_code ndr_pull_srvsvc_NetCharDevQCtr1(struct ndr_pull *ndr, i
+ _mem_save_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
+ NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
+ NDR_CHECK(ndr_pull_array_size(ndr, &r->array));
+- NDR_PULL_ALLOC_N(ndr, r->array, ndr_get_array_size(ndr, &r->array));
++ size_array_1 = ndr_get_array_size(ndr, &r->array);
++ NDR_PULL_ALLOC_N(ndr, r->array, size_array_1);
+ _mem_save_array_1 = NDR_PULL_GET_MEM_CTX(ndr);
+ NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
+- for (cntr_array_1 = 0; cntr_array_1 < r->count; cntr_array_1++) {
++ for (cntr_array_1 = 0; cntr_array_1 < size_array_1; cntr_array_1++) {
+ NDR_CHECK(ndr_pull_srvsvc_NetCharDevQInfo1(ndr, NDR_SCALARS, &r->array[cntr_array_1]));
+ }
+- for (cntr_array_1 = 0; cntr_array_1 < r->count; cntr_array_1++) {
++ for (cntr_array_1 = 0; cntr_array_1 < size_array_1; cntr_array_1++) {
+ NDR_CHECK(ndr_pull_srvsvc_NetCharDevQInfo1(ndr, NDR_BUFFERS, &r->array[cntr_array_1]));
+ }
+ NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_1, 0);
+@@ -993,7 +1025,9 @@ static enum ndr_err_code ndr_pull_srvsvc_NetCharDevQInfo(struct ndr_pull *ndr, i
+ int level;
+ uint32_t _level;
+ TALLOC_CTX *_mem_save_info0_0;
++ uint32_t _ptr_info0;
+ TALLOC_CTX *_mem_save_info1_0;
++ uint32_t _ptr_info1;
+ level = ndr_pull_get_switch_value(ndr, r);
+ if (ndr_flags & NDR_SCALARS) {
+ NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &_level));
+@@ -1002,7 +1036,6 @@ static enum ndr_err_code ndr_pull_srvsvc_NetCharDevQInfo(struct ndr_pull *ndr, i
+ }
+ switch (level) {
+ case 0: {
+- uint32_t _ptr_info0;
+ NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info0));
+ if (_ptr_info0) {
+ NDR_PULL_ALLOC(ndr, r->info0);
+@@ -1012,7 +1045,6 @@ static enum ndr_err_code ndr_pull_srvsvc_NetCharDevQInfo(struct ndr_pull *ndr, i
+ break; }
+
+ case 1: {
+- uint32_t _ptr_info1;
+ NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info1));
+ if (_ptr_info1) {
+ NDR_PULL_ALLOC(ndr, r->info1);
+@@ -1131,7 +1163,9 @@ static enum ndr_err_code ndr_pull_srvsvc_NetCharDevQCtr(struct ndr_pull *ndr, in
+ int level;
+ uint32_t _level;
+ TALLOC_CTX *_mem_save_ctr0_0;
++ uint32_t _ptr_ctr0;
+ TALLOC_CTX *_mem_save_ctr1_0;
++ uint32_t _ptr_ctr1;
+ level = ndr_pull_get_switch_value(ndr, r);
+ if (ndr_flags & NDR_SCALARS) {
+ NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &_level));
+@@ -1140,7 +1174,6 @@ static enum ndr_err_code ndr_pull_srvsvc_NetCharDevQCtr(struct ndr_pull *ndr, in
+ }
+ switch (level) {
+ case 0: {
+- uint32_t _ptr_ctr0;
+ NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_ctr0));
+ if (_ptr_ctr0) {
+ NDR_PULL_ALLOC(ndr, r->ctr0);
+@@ -1150,7 +1183,6 @@ static enum ndr_err_code ndr_pull_srvsvc_NetCharDevQCtr(struct ndr_pull *ndr, in
+ break; }
+
+ case 1: {
+- uint32_t _ptr_ctr1;
+ NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_ctr1));
+ if (_ptr_ctr1) {
+ NDR_PULL_ALLOC(ndr, r->ctr1);
+@@ -1274,6 +1306,7 @@ static enum ndr_err_code ndr_push_srvsvc_NetConnCtr0(struct ndr_push *ndr, int n
+ static enum ndr_err_code ndr_pull_srvsvc_NetConnCtr0(struct ndr_pull *ndr, int ndr_flags, struct srvsvc_NetConnCtr0 *r)
+ {
+ uint32_t _ptr_array;
++ uint32_t size_array_1 = 0;
+ uint32_t cntr_array_1;
+ TALLOC_CTX *_mem_save_array_0;
+ TALLOC_CTX *_mem_save_array_1;
+@@ -1292,10 +1325,11 @@ static enum ndr_err_code ndr_pull_srvsvc_NetConnCtr0(struct ndr_pull *ndr, int n
+ _mem_save_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
+ NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
+ NDR_CHECK(ndr_pull_array_size(ndr, &r->array));
+- NDR_PULL_ALLOC_N(ndr, r->array, ndr_get_array_size(ndr, &r->array));
++ size_array_1 = ndr_get_array_size(ndr, &r->array);
++ NDR_PULL_ALLOC_N(ndr, r->array, size_array_1);
+ _mem_save_array_1 = NDR_PULL_GET_MEM_CTX(ndr);
+ NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
+- for (cntr_array_1 = 0; cntr_array_1 < r->count; cntr_array_1++) {
++ for (cntr_array_1 = 0; cntr_array_1 < size_array_1; cntr_array_1++) {
+ NDR_CHECK(ndr_pull_srvsvc_NetConnInfo0(ndr, NDR_SCALARS, &r->array[cntr_array_1]));
+ }
+ NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_1, 0);
+@@ -1364,8 +1398,12 @@ static enum ndr_err_code ndr_push_srvsvc_NetConnInfo1(struct ndr_push *ndr, int
+ static enum ndr_err_code ndr_pull_srvsvc_NetConnInfo1(struct ndr_pull *ndr, int ndr_flags, struct srvsvc_NetConnInfo1 *r)
+ {
+ uint32_t _ptr_user;
++ uint32_t size_user_1 = 0;
++ uint32_t length_user_1 = 0;
+ TALLOC_CTX *_mem_save_user_0;
+ uint32_t _ptr_share;
++ uint32_t size_share_1 = 0;
++ uint32_t length_share_1 = 0;
+ TALLOC_CTX *_mem_save_share_0;
+ if (ndr_flags & NDR_SCALARS) {
+ NDR_CHECK(ndr_pull_align(ndr, 4));
+@@ -1393,11 +1431,13 @@ static enum ndr_err_code ndr_pull_srvsvc_NetConnInfo1(struct ndr_pull *ndr, int
+ NDR_PULL_SET_MEM_CTX(ndr, r->user, 0);
+ NDR_CHECK(ndr_pull_array_size(ndr, &r->user));
+ NDR_CHECK(ndr_pull_array_length(ndr, &r->user));
+- if (ndr_get_array_length(ndr, &r->user) > ndr_get_array_size(ndr, &r->user)) {
+- return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->user), ndr_get_array_length(ndr, &r->user));
++ size_user_1 = ndr_get_array_size(ndr, &r->user);
++ length_user_1 = ndr_get_array_length(ndr, &r->user);
++ if (length_user_1 > size_user_1) {
++ return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_user_1, length_user_1);
+ }
+- NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->user), sizeof(uint16_t)));
+- NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->user, ndr_get_array_length(ndr, &r->user), sizeof(uint16_t), CH_UTF16));
++ NDR_CHECK(ndr_check_string_terminator(ndr, length_user_1, sizeof(uint16_t)));
++ NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->user, length_user_1, sizeof(uint16_t), CH_UTF16));
+ NDR_PULL_SET_MEM_CTX(ndr, _mem_save_user_0, 0);
+ }
+ if (r->share) {
+@@ -1405,11 +1445,13 @@ static enum ndr_err_code ndr_pull_srvsvc_NetConnInfo1(struct ndr_pull *ndr, int
+ NDR_PULL_SET_MEM_CTX(ndr, r->share, 0);
+ NDR_CHECK(ndr_pull_array_size(ndr, &r->share));
+ NDR_CHECK(ndr_pull_array_length(ndr, &r->share));
+- if (ndr_get_array_length(ndr, &r->share) > ndr_get_array_size(ndr, &r->share)) {
+- return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->share), ndr_get_array_length(ndr, &r->share));
++ size_share_1 = ndr_get_array_size(ndr, &r->share);
++ length_share_1 = ndr_get_array_length(ndr, &r->share);
++ if (length_share_1 > size_share_1) {
++ return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_share_1, length_share_1);
+ }
+- NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->share), sizeof(uint16_t)));
+- NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->share, ndr_get_array_length(ndr, &r->share), sizeof(uint16_t), CH_UTF16));
++ NDR_CHECK(ndr_check_string_terminator(ndr, length_share_1, sizeof(uint16_t)));
++ NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->share, length_share_1, sizeof(uint16_t), CH_UTF16));
+ NDR_PULL_SET_MEM_CTX(ndr, _mem_save_share_0, 0);
+ }
+ }
+@@ -1465,6 +1507,7 @@ static enum ndr_err_code ndr_push_srvsvc_NetConnCtr1(struct ndr_push *ndr, int n
+ static enum ndr_err_code ndr_pull_srvsvc_NetConnCtr1(struct ndr_pull *ndr, int ndr_flags, struct srvsvc_NetConnCtr1 *r)
+ {
+ uint32_t _ptr_array;
++ uint32_t size_array_1 = 0;
+ uint32_t cntr_array_1;
+ TALLOC_CTX *_mem_save_array_0;
+ TALLOC_CTX *_mem_save_array_1;
+@@ -1483,13 +1526,14 @@ static enum ndr_err_code ndr_pull_srvsvc_NetConnCtr1(struct ndr_pull *ndr, int n
+ _mem_save_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
+ NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
+ NDR_CHECK(ndr_pull_array_size(ndr, &r->array));
+- NDR_PULL_ALLOC_N(ndr, r->array, ndr_get_array_size(ndr, &r->array));
++ size_array_1 = ndr_get_array_size(ndr, &r->array);
++ NDR_PULL_ALLOC_N(ndr, r->array, size_array_1);
+ _mem_save_array_1 = NDR_PULL_GET_MEM_CTX(ndr);
+ NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
+- for (cntr_array_1 = 0; cntr_array_1 < r->count; cntr_array_1++) {
++ for (cntr_array_1 = 0; cntr_array_1 < size_array_1; cntr_array_1++) {
+ NDR_CHECK(ndr_pull_srvsvc_NetConnInfo1(ndr, NDR_SCALARS, &r->array[cntr_array_1]));
+ }
+- for (cntr_array_1 = 0; cntr_array_1 < r->count; cntr_array_1++) {
++ for (cntr_array_1 = 0; cntr_array_1 < size_array_1; cntr_array_1++) {
+ NDR_CHECK(ndr_pull_srvsvc_NetConnInfo1(ndr, NDR_BUFFERS, &r->array[cntr_array_1]));
+ }
+ NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_1, 0);
+@@ -1573,7 +1617,9 @@ static enum ndr_err_code ndr_pull_srvsvc_NetConnCtr(struct ndr_pull *ndr, int nd
+ int level;
+ uint32_t _level;
+ TALLOC_CTX *_mem_save_ctr0_0;
++ uint32_t _ptr_ctr0;
+ TALLOC_CTX *_mem_save_ctr1_0;
++ uint32_t _ptr_ctr1;
+ level = ndr_pull_get_switch_value(ndr, r);
+ if (ndr_flags & NDR_SCALARS) {
+ NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &_level));
+@@ -1582,7 +1628,6 @@ static enum ndr_err_code ndr_pull_srvsvc_NetConnCtr(struct ndr_pull *ndr, int nd
+ }
+ switch (level) {
+ case 0: {
+- uint32_t _ptr_ctr0;
+ NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_ctr0));
+ if (_ptr_ctr0) {
+ NDR_PULL_ALLOC(ndr, r->ctr0);
+@@ -1592,7 +1637,6 @@ static enum ndr_err_code ndr_pull_srvsvc_NetConnCtr(struct ndr_pull *ndr, int nd
+ break; }
+
+ case 1: {
+- uint32_t _ptr_ctr1;
+ NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_ctr1));
+ if (_ptr_ctr1) {
+ NDR_PULL_ALLOC(ndr, r->ctr1);
+@@ -1754,6 +1798,7 @@ static enum ndr_err_code ndr_push_srvsvc_NetFileCtr2(struct ndr_push *ndr, int n
+ static enum ndr_err_code ndr_pull_srvsvc_NetFileCtr2(struct ndr_pull *ndr, int ndr_flags, struct srvsvc_NetFileCtr2 *r)
+ {
+ uint32_t _ptr_array;
++ uint32_t size_array_1 = 0;
+ uint32_t cntr_array_1;
+ TALLOC_CTX *_mem_save_array_0;
+ TALLOC_CTX *_mem_save_array_1;
+@@ -1772,10 +1817,11 @@ static enum ndr_err_code ndr_pull_srvsvc_NetFileCtr2(struct ndr_pull *ndr, int n
+ _mem_save_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
+ NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
+ NDR_CHECK(ndr_pull_array_size(ndr, &r->array));
+- NDR_PULL_ALLOC_N(ndr, r->array, ndr_get_array_size(ndr, &r->array));
++ size_array_1 = ndr_get_array_size(ndr, &r->array);
++ NDR_PULL_ALLOC_N(ndr, r->array, size_array_1);
+ _mem_save_array_1 = NDR_PULL_GET_MEM_CTX(ndr);
+ NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
+- for (cntr_array_1 = 0; cntr_array_1 < r->count; cntr_array_1++) {
++ for (cntr_array_1 = 0; cntr_array_1 < size_array_1; cntr_array_1++) {
+ NDR_CHECK(ndr_pull_srvsvc_NetFileInfo2(ndr, NDR_SCALARS, &r->array[cntr_array_1]));
+ }
+ NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_1, 0);
+@@ -1842,8 +1888,12 @@ static enum ndr_err_code ndr_push_srvsvc_NetFileInfo3(struct ndr_push *ndr, int
+ static enum ndr_err_code ndr_pull_srvsvc_NetFileInfo3(struct ndr_pull *ndr, int ndr_flags, struct srvsvc_NetFileInfo3 *r)
+ {
+ uint32_t _ptr_path;
++ uint32_t size_path_1 = 0;
++ uint32_t length_path_1 = 0;
+ TALLOC_CTX *_mem_save_path_0;
+ uint32_t _ptr_user;
++ uint32_t size_user_1 = 0;
++ uint32_t length_user_1 = 0;
+ TALLOC_CTX *_mem_save_user_0;
+ if (ndr_flags & NDR_SCALARS) {
+ NDR_CHECK(ndr_pull_align(ndr, 4));
+@@ -1869,11 +1919,13 @@ static enum ndr_err_code ndr_pull_srvsvc_NetFileInfo3(struct ndr_pull *ndr, int
+ NDR_PULL_SET_MEM_CTX(ndr, r->path, 0);
+ NDR_CHECK(ndr_pull_array_size(ndr, &r->path));
+ NDR_CHECK(ndr_pull_array_length(ndr, &r->path));
+- if (ndr_get_array_length(ndr, &r->path) > ndr_get_array_size(ndr, &r->path)) {
+- return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->path), ndr_get_array_length(ndr, &r->path));
++ size_path_1 = ndr_get_array_size(ndr, &r->path);
++ length_path_1 = ndr_get_array_length(ndr, &r->path);
++ if (length_path_1 > size_path_1) {
++ return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_path_1, length_path_1);
+ }
+- NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->path), sizeof(uint16_t)));
+- NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->path, ndr_get_array_length(ndr, &r->path), sizeof(uint16_t), CH_UTF16));
++ NDR_CHECK(ndr_check_string_terminator(ndr, length_path_1, sizeof(uint16_t)));
++ NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->path, length_path_1, sizeof(uint16_t), CH_UTF16));
+ NDR_PULL_SET_MEM_CTX(ndr, _mem_save_path_0, 0);
+ }
+ if (r->user) {
+@@ -1881,11 +1933,13 @@ static enum ndr_err_code ndr_pull_srvsvc_NetFileInfo3(struct ndr_pull *ndr, int
+ NDR_PULL_SET_MEM_CTX(ndr, r->user, 0);
+ NDR_CHECK(ndr_pull_array_size(ndr, &r->user));
+ NDR_CHECK(ndr_pull_array_length(ndr, &r->user));
+- if (ndr_get_array_length(ndr, &r->user) > ndr_get_array_size(ndr, &r->user)) {
+- return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->user), ndr_get_array_length(ndr, &r->user));
++ size_user_1 = ndr_get_array_size(ndr, &r->user);
++ length_user_1 = ndr_get_array_length(ndr, &r->user);
++ if (length_user_1 > size_user_1) {
++ return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_user_1, length_user_1);
+ }
+- NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->user), sizeof(uint16_t)));
+- NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->user, ndr_get_array_length(ndr, &r->user), sizeof(uint16_t), CH_UTF16));
++ NDR_CHECK(ndr_check_string_terminator(ndr, length_user_1, sizeof(uint16_t)));
++ NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->user, length_user_1, sizeof(uint16_t), CH_UTF16));
+ NDR_PULL_SET_MEM_CTX(ndr, _mem_save_user_0, 0);
+ }
+ }
+@@ -1939,6 +1993,7 @@ static enum ndr_err_code ndr_push_srvsvc_NetFileCtr3(struct ndr_push *ndr, int n
+ static enum ndr_err_code ndr_pull_srvsvc_NetFileCtr3(struct ndr_pull *ndr, int ndr_flags, struct srvsvc_NetFileCtr3 *r)
+ {
+ uint32_t _ptr_array;
++ uint32_t size_array_1 = 0;
+ uint32_t cntr_array_1;
+ TALLOC_CTX *_mem_save_array_0;
+ TALLOC_CTX *_mem_save_array_1;
+@@ -1957,13 +2012,14 @@ static enum ndr_err_code ndr_pull_srvsvc_NetFileCtr3(struct ndr_pull *ndr, int n
+ _mem_save_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
+ NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
+ NDR_CHECK(ndr_pull_array_size(ndr, &r->array));
+- NDR_PULL_ALLOC_N(ndr, r->array, ndr_get_array_size(ndr, &r->array));
++ size_array_1 = ndr_get_array_size(ndr, &r->array);
++ NDR_PULL_ALLOC_N(ndr, r->array, size_array_1);
+ _mem_save_array_1 = NDR_PULL_GET_MEM_CTX(ndr);
+ NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
+- for (cntr_array_1 = 0; cntr_array_1 < r->count; cntr_array_1++) {
++ for (cntr_array_1 = 0; cntr_array_1 < size_array_1; cntr_array_1++) {
+ NDR_CHECK(ndr_pull_srvsvc_NetFileInfo3(ndr, NDR_SCALARS, &r->array[cntr_array_1]));
+ }
+- for (cntr_array_1 = 0; cntr_array_1 < r->count; cntr_array_1++) {
++ for (cntr_array_1 = 0; cntr_array_1 < size_array_1; cntr_array_1++) {
+ NDR_CHECK(ndr_pull_srvsvc_NetFileInfo3(ndr, NDR_BUFFERS, &r->array[cntr_array_1]));
+ }
+ NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_1, 0);
+@@ -2047,7 +2103,9 @@ static enum ndr_err_code ndr_pull_srvsvc_NetFileInfo(struct ndr_pull *ndr, int n
+ int level;
+ uint32_t _level;
+ TALLOC_CTX *_mem_save_info2_0;
++ uint32_t _ptr_info2;
+ TALLOC_CTX *_mem_save_info3_0;
++ uint32_t _ptr_info3;
+ level = ndr_pull_get_switch_value(ndr, r);
+ if (ndr_flags & NDR_SCALARS) {
+ NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &_level));
+@@ -2056,7 +2114,6 @@ static enum ndr_err_code ndr_pull_srvsvc_NetFileInfo(struct ndr_pull *ndr, int n
+ }
+ switch (level) {
+ case 2: {
+- uint32_t _ptr_info2;
+ NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info2));
+ if (_ptr_info2) {
+ NDR_PULL_ALLOC(ndr, r->info2);
+@@ -2066,7 +2123,6 @@ static enum ndr_err_code ndr_pull_srvsvc_NetFileInfo(struct ndr_pull *ndr, int n
+ break; }
+
+ case 3: {
+- uint32_t _ptr_info3;
+ NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info3));
+ if (_ptr_info3) {
+ NDR_PULL_ALLOC(ndr, r->info3);
+@@ -2185,7 +2241,9 @@ static enum ndr_err_code ndr_pull_srvsvc_NetFileCtr(struct ndr_pull *ndr, int nd
+ int level;
+ uint32_t _level;
+ TALLOC_CTX *_mem_save_ctr2_0;
++ uint32_t _ptr_ctr2;
+ TALLOC_CTX *_mem_save_ctr3_0;
++ uint32_t _ptr_ctr3;
+ level = ndr_pull_get_switch_value(ndr, r);
+ if (ndr_flags & NDR_SCALARS) {
+ NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &_level));
+@@ -2194,7 +2252,6 @@ static enum ndr_err_code ndr_pull_srvsvc_NetFileCtr(struct ndr_pull *ndr, int nd
+ }
+ switch (level) {
+ case 2: {
+- uint32_t _ptr_ctr2;
+ NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_ctr2));
+ if (_ptr_ctr2) {
+ NDR_PULL_ALLOC(ndr, r->ctr2);
+@@ -2204,7 +2261,6 @@ static enum ndr_err_code ndr_pull_srvsvc_NetFileCtr(struct ndr_pull *ndr, int nd
+ break; }
+
+ case 3: {
+- uint32_t _ptr_ctr3;
+ NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_ctr3));
+ if (_ptr_ctr3) {
+ NDR_PULL_ALLOC(ndr, r->ctr3);
+@@ -2334,6 +2390,8 @@ static enum ndr_err_code ndr_push_srvsvc_NetSessInfo0(struct ndr_push *ndr, int
+ static enum ndr_err_code ndr_pull_srvsvc_NetSessInfo0(struct ndr_pull *ndr, int ndr_flags, struct srvsvc_NetSessInfo0 *r)
+ {
+ uint32_t _ptr_client;
++ uint32_t size_client_1 = 0;
++ uint32_t length_client_1 = 0;
+ TALLOC_CTX *_mem_save_client_0;
+ if (ndr_flags & NDR_SCALARS) {
+ NDR_CHECK(ndr_pull_align(ndr, 4));
+@@ -2350,11 +2408,13 @@ static enum ndr_err_code ndr_pull_srvsvc_NetSessInfo0(struct ndr_pull *ndr, int
+ NDR_PULL_SET_MEM_CTX(ndr, r->client, 0);
+ NDR_CHECK(ndr_pull_array_size(ndr, &r->client));
+ NDR_CHECK(ndr_pull_array_length(ndr, &r->client));
+- if (ndr_get_array_length(ndr, &r->client) > ndr_get_array_size(ndr, &r->client)) {
+- return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->client), ndr_get_array_length(ndr, &r->client));
++ size_client_1 = ndr_get_array_size(ndr, &r->client);
++ length_client_1 = ndr_get_array_length(ndr, &r->client);
++ if (length_client_1 > size_client_1) {
++ return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_client_1, length_client_1);
+ }
+- NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->client), sizeof(uint16_t)));
+- NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->client, ndr_get_array_length(ndr, &r->client), sizeof(uint16_t), CH_UTF16));
++ NDR_CHECK(ndr_check_string_terminator(ndr, length_client_1, sizeof(uint16_t)));
++ NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->client, length_client_1, sizeof(uint16_t), CH_UTF16));
+ NDR_PULL_SET_MEM_CTX(ndr, _mem_save_client_0, 0);
+ }
+ }
+@@ -2399,6 +2459,7 @@ static enum ndr_err_code ndr_push_srvsvc_NetSessCtr0(struct ndr_push *ndr, int n
+ static enum ndr_err_code ndr_pull_srvsvc_NetSessCtr0(struct ndr_pull *ndr, int ndr_flags, struct srvsvc_NetSessCtr0 *r)
+ {
+ uint32_t _ptr_array;
++ uint32_t size_array_1 = 0;
+ uint32_t cntr_array_1;
+ TALLOC_CTX *_mem_save_array_0;
+ TALLOC_CTX *_mem_save_array_1;
+@@ -2417,13 +2478,14 @@ static enum ndr_err_code ndr_pull_srvsvc_NetSessCtr0(struct ndr_pull *ndr, int n
+ _mem_save_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
+ NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
+ NDR_CHECK(ndr_pull_array_size(ndr, &r->array));
+- NDR_PULL_ALLOC_N(ndr, r->array, ndr_get_array_size(ndr, &r->array));
++ size_array_1 = ndr_get_array_size(ndr, &r->array);
++ NDR_PULL_ALLOC_N(ndr, r->array, size_array_1);
+ _mem_save_array_1 = NDR_PULL_GET_MEM_CTX(ndr);
+ NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
+- for (cntr_array_1 = 0; cntr_array_1 < r->count; cntr_array_1++) {
++ for (cntr_array_1 = 0; cntr_array_1 < size_array_1; cntr_array_1++) {
+ NDR_CHECK(ndr_pull_srvsvc_NetSessInfo0(ndr, NDR_SCALARS, &r->array[cntr_array_1]));
+ }
+- for (cntr_array_1 = 0; cntr_array_1 < r->count; cntr_array_1++) {
++ for (cntr_array_1 = 0; cntr_array_1 < size_array_1; cntr_array_1++) {
+ NDR_CHECK(ndr_pull_srvsvc_NetSessInfo0(ndr, NDR_BUFFERS, &r->array[cntr_array_1]));
+ }
+ NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_1, 0);
+@@ -2491,8 +2553,12 @@ static enum ndr_err_code ndr_push_srvsvc_NetSessInfo1(struct ndr_push *ndr, int
+ static enum ndr_err_code ndr_pull_srvsvc_NetSessInfo1(struct ndr_pull *ndr, int ndr_flags, struct srvsvc_NetSessInfo1 *r)
+ {
+ uint32_t _ptr_client;
++ uint32_t size_client_1 = 0;
++ uint32_t length_client_1 = 0;
+ TALLOC_CTX *_mem_save_client_0;
+ uint32_t _ptr_user;
++ uint32_t size_user_1 = 0;
++ uint32_t length_user_1 = 0;
+ TALLOC_CTX *_mem_save_user_0;
+ if (ndr_flags & NDR_SCALARS) {
+ NDR_CHECK(ndr_pull_align(ndr, 4));
+@@ -2519,11 +2585,13 @@ static enum ndr_err_code ndr_pull_srvsvc_NetSessInfo1(struct ndr_pull *ndr, int
+ NDR_PULL_SET_MEM_CTX(ndr, r->client, 0);
+ NDR_CHECK(ndr_pull_array_size(ndr, &r->client));
+ NDR_CHECK(ndr_pull_array_length(ndr, &r->client));
+- if (ndr_get_array_length(ndr, &r->client) > ndr_get_array_size(ndr, &r->client)) {
+- return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->client), ndr_get_array_length(ndr, &r->client));
++ size_client_1 = ndr_get_array_size(ndr, &r->client);
++ length_client_1 = ndr_get_array_length(ndr, &r->client);
++ if (length_client_1 > size_client_1) {
++ return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_client_1, length_client_1);
+ }
+- NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->client), sizeof(uint16_t)));
+- NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->client, ndr_get_array_length(ndr, &r->client), sizeof(uint16_t), CH_UTF16));
++ NDR_CHECK(ndr_check_string_terminator(ndr, length_client_1, sizeof(uint16_t)));
++ NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->client, length_client_1, sizeof(uint16_t), CH_UTF16));
+ NDR_PULL_SET_MEM_CTX(ndr, _mem_save_client_0, 0);
+ }
+ if (r->user) {
+@@ -2531,11 +2599,13 @@ static enum ndr_err_code ndr_pull_srvsvc_NetSessInfo1(struct ndr_pull *ndr, int
+ NDR_PULL_SET_MEM_CTX(ndr, r->user, 0);
+ NDR_CHECK(ndr_pull_array_size(ndr, &r->user));
+ NDR_CHECK(ndr_pull_array_length(ndr, &r->user));
+- if (ndr_get_array_length(ndr, &r->user) > ndr_get_array_size(ndr, &r->user)) {
+- return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->user), ndr_get_array_length(ndr, &r->user));
++ size_user_1 = ndr_get_array_size(ndr, &r->user);
++ length_user_1 = ndr_get_array_length(ndr, &r->user);
++ if (length_user_1 > size_user_1) {
++ return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_user_1, length_user_1);
+ }
+- NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->user), sizeof(uint16_t)));
+- NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->user, ndr_get_array_length(ndr, &r->user), sizeof(uint16_t), CH_UTF16));
++ NDR_CHECK(ndr_check_string_terminator(ndr, length_user_1, sizeof(uint16_t)));
++ NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->user, length_user_1, sizeof(uint16_t), CH_UTF16));
+ NDR_PULL_SET_MEM_CTX(ndr, _mem_save_user_0, 0);
+ }
+ }
+@@ -2590,6 +2660,7 @@ static enum ndr_err_code ndr_push_srvsvc_NetSessCtr1(struct ndr_push *ndr, int n
+ static enum ndr_err_code ndr_pull_srvsvc_NetSessCtr1(struct ndr_pull *ndr, int ndr_flags, struct srvsvc_NetSessCtr1 *r)
+ {
+ uint32_t _ptr_array;
++ uint32_t size_array_1 = 0;
+ uint32_t cntr_array_1;
+ TALLOC_CTX *_mem_save_array_0;
+ TALLOC_CTX *_mem_save_array_1;
+@@ -2608,13 +2679,14 @@ static enum ndr_err_code ndr_pull_srvsvc_NetSessCtr1(struct ndr_pull *ndr, int n
+ _mem_save_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
+ NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
+ NDR_CHECK(ndr_pull_array_size(ndr, &r->array));
+- NDR_PULL_ALLOC_N(ndr, r->array, ndr_get_array_size(ndr, &r->array));
++ size_array_1 = ndr_get_array_size(ndr, &r->array);
++ NDR_PULL_ALLOC_N(ndr, r->array, size_array_1);
+ _mem_save_array_1 = NDR_PULL_GET_MEM_CTX(ndr);
+ NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
+- for (cntr_array_1 = 0; cntr_array_1 < r->count; cntr_array_1++) {
++ for (cntr_array_1 = 0; cntr_array_1 < size_array_1; cntr_array_1++) {
+ NDR_CHECK(ndr_pull_srvsvc_NetSessInfo1(ndr, NDR_SCALARS, &r->array[cntr_array_1]));
+ }
+- for (cntr_array_1 = 0; cntr_array_1 < r->count; cntr_array_1++) {
++ for (cntr_array_1 = 0; cntr_array_1 < size_array_1; cntr_array_1++) {
+ NDR_CHECK(ndr_pull_srvsvc_NetSessInfo1(ndr, NDR_BUFFERS, &r->array[cntr_array_1]));
+ }
+ NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_1, 0);
+@@ -2689,10 +2761,16 @@ static enum ndr_err_code ndr_push_srvsvc_NetSessInfo2(struct ndr_push *ndr, int
+ static enum ndr_err_code ndr_pull_srvsvc_NetSessInfo2(struct ndr_pull *ndr, int ndr_flags, struct srvsvc_NetSessInfo2 *r)
+ {
+ uint32_t _ptr_client;
++ uint32_t size_client_1 = 0;
++ uint32_t length_client_1 = 0;
+ TALLOC_CTX *_mem_save_client_0;
+ uint32_t _ptr_user;
++ uint32_t size_user_1 = 0;
++ uint32_t length_user_1 = 0;
+ TALLOC_CTX *_mem_save_user_0;
+ uint32_t _ptr_client_type;
++ uint32_t size_client_type_1 = 0;
++ uint32_t length_client_type_1 = 0;
+ TALLOC_CTX *_mem_save_client_type_0;
+ if (ndr_flags & NDR_SCALARS) {
+ NDR_CHECK(ndr_pull_align(ndr, 4));
+@@ -2725,11 +2803,13 @@ static enum ndr_err_code ndr_pull_srvsvc_NetSessInfo2(struct ndr_pull *ndr, int
+ NDR_PULL_SET_MEM_CTX(ndr, r->client, 0);
+ NDR_CHECK(ndr_pull_array_size(ndr, &r->client));
+ NDR_CHECK(ndr_pull_array_length(ndr, &r->client));
+- if (ndr_get_array_length(ndr, &r->client) > ndr_get_array_size(ndr, &r->client)) {
+- return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->client), ndr_get_array_length(ndr, &r->client));
++ size_client_1 = ndr_get_array_size(ndr, &r->client);
++ length_client_1 = ndr_get_array_length(ndr, &r->client);
++ if (length_client_1 > size_client_1) {
++ return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_client_1, length_client_1);
+ }
+- NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->client), sizeof(uint16_t)));
+- NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->client, ndr_get_array_length(ndr, &r->client), sizeof(uint16_t), CH_UTF16));
++ NDR_CHECK(ndr_check_string_terminator(ndr, length_client_1, sizeof(uint16_t)));
++ NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->client, length_client_1, sizeof(uint16_t), CH_UTF16));
+ NDR_PULL_SET_MEM_CTX(ndr, _mem_save_client_0, 0);
+ }
+ if (r->user) {
+@@ -2737,11 +2817,13 @@ static enum ndr_err_code ndr_pull_srvsvc_NetSessInfo2(struct ndr_pull *ndr, int
+ NDR_PULL_SET_MEM_CTX(ndr, r->user, 0);
+ NDR_CHECK(ndr_pull_array_size(ndr, &r->user));
+ NDR_CHECK(ndr_pull_array_length(ndr, &r->user));
+- if (ndr_get_array_length(ndr, &r->user) > ndr_get_array_size(ndr, &r->user)) {
+- return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->user), ndr_get_array_length(ndr, &r->user));
++ size_user_1 = ndr_get_array_size(ndr, &r->user);
++ length_user_1 = ndr_get_array_length(ndr, &r->user);
++ if (length_user_1 > size_user_1) {
++ return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_user_1, length_user_1);
+ }
+- NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->user), sizeof(uint16_t)));
+- NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->user, ndr_get_array_length(ndr, &r->user), sizeof(uint16_t), CH_UTF16));
++ NDR_CHECK(ndr_check_string_terminator(ndr, length_user_1, sizeof(uint16_t)));
++ NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->user, length_user_1, sizeof(uint16_t), CH_UTF16));
+ NDR_PULL_SET_MEM_CTX(ndr, _mem_save_user_0, 0);
+ }
+ if (r->client_type) {
+@@ -2749,11 +2831,13 @@ static enum ndr_err_code ndr_pull_srvsvc_NetSessInfo2(struct ndr_pull *ndr, int
+ NDR_PULL_SET_MEM_CTX(ndr, r->client_type, 0);
+ NDR_CHECK(ndr_pull_array_size(ndr, &r->client_type));
+ NDR_CHECK(ndr_pull_array_length(ndr, &r->client_type));
+- if (ndr_get_array_length(ndr, &r->client_type) > ndr_get_array_size(ndr, &r->client_type)) {
+- return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->client_type), ndr_get_array_length(ndr, &r->client_type));
++ size_client_type_1 = ndr_get_array_size(ndr, &r->client_type);
++ length_client_type_1 = ndr_get_array_length(ndr, &r->client_type);
++ if (length_client_type_1 > size_client_type_1) {
++ return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_client_type_1, length_client_type_1);
+ }
+- NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->client_type), sizeof(uint16_t)));
+- NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->client_type, ndr_get_array_length(ndr, &r->client_type), sizeof(uint16_t), CH_UTF16));
++ NDR_CHECK(ndr_check_string_terminator(ndr, length_client_type_1, sizeof(uint16_t)));
++ NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->client_type, length_client_type_1, sizeof(uint16_t), CH_UTF16));
+ NDR_PULL_SET_MEM_CTX(ndr, _mem_save_client_type_0, 0);
+ }
+ }
+@@ -2814,6 +2898,7 @@ static enum ndr_err_code ndr_push_srvsvc_NetSessCtr2(struct ndr_push *ndr, int n
+ static enum ndr_err_code ndr_pull_srvsvc_NetSessCtr2(struct ndr_pull *ndr, int ndr_flags, struct srvsvc_NetSessCtr2 *r)
+ {
+ uint32_t _ptr_array;
++ uint32_t size_array_1 = 0;
+ uint32_t cntr_array_1;
+ TALLOC_CTX *_mem_save_array_0;
+ TALLOC_CTX *_mem_save_array_1;
+@@ -2832,13 +2917,14 @@ static enum ndr_err_code ndr_pull_srvsvc_NetSessCtr2(struct ndr_pull *ndr, int n
+ _mem_save_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
+ NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
+ NDR_CHECK(ndr_pull_array_size(ndr, &r->array));
+- NDR_PULL_ALLOC_N(ndr, r->array, ndr_get_array_size(ndr, &r->array));
++ size_array_1 = ndr_get_array_size(ndr, &r->array);
++ NDR_PULL_ALLOC_N(ndr, r->array, size_array_1);
+ _mem_save_array_1 = NDR_PULL_GET_MEM_CTX(ndr);
+ NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
+- for (cntr_array_1 = 0; cntr_array_1 < r->count; cntr_array_1++) {
++ for (cntr_array_1 = 0; cntr_array_1 < size_array_1; cntr_array_1++) {
+ NDR_CHECK(ndr_pull_srvsvc_NetSessInfo2(ndr, NDR_SCALARS, &r->array[cntr_array_1]));
+ }
+- for (cntr_array_1 = 0; cntr_array_1 < r->count; cntr_array_1++) {
++ for (cntr_array_1 = 0; cntr_array_1 < size_array_1; cntr_array_1++) {
+ NDR_CHECK(ndr_pull_srvsvc_NetSessInfo2(ndr, NDR_BUFFERS, &r->array[cntr_array_1]));
+ }
+ NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_1, 0);
+@@ -2904,8 +2990,12 @@ static enum ndr_err_code ndr_push_srvsvc_NetSessInfo10(struct ndr_push *ndr, int
+ static enum ndr_err_code ndr_pull_srvsvc_NetSessInfo10(struct ndr_pull *ndr, int ndr_flags, struct srvsvc_NetSessInfo10 *r)
+ {
+ uint32_t _ptr_client;
++ uint32_t size_client_1 = 0;
++ uint32_t length_client_1 = 0;
+ TALLOC_CTX *_mem_save_client_0;
+ uint32_t _ptr_user;
++ uint32_t size_user_1 = 0;
++ uint32_t length_user_1 = 0;
+ TALLOC_CTX *_mem_save_user_0;
+ if (ndr_flags & NDR_SCALARS) {
+ NDR_CHECK(ndr_pull_align(ndr, 4));
+@@ -2930,11 +3020,13 @@ static enum ndr_err_code ndr_pull_srvsvc_NetSessInfo10(struct ndr_pull *ndr, int
+ NDR_PULL_SET_MEM_CTX(ndr, r->client, 0);
+ NDR_CHECK(ndr_pull_array_size(ndr, &r->client));
+ NDR_CHECK(ndr_pull_array_length(ndr, &r->client));
+- if (ndr_get_array_length(ndr, &r->client) > ndr_get_array_size(ndr, &r->client)) {
+- return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->client), ndr_get_array_length(ndr, &r->client));
++ size_client_1 = ndr_get_array_size(ndr, &r->client);
++ length_client_1 = ndr_get_array_length(ndr, &r->client);
++ if (length_client_1 > size_client_1) {
++ return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_client_1, length_client_1);
+ }
+- NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->client), sizeof(uint16_t)));
+- NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->client, ndr_get_array_length(ndr, &r->client), sizeof(uint16_t), CH_UTF16));
++ NDR_CHECK(ndr_check_string_terminator(ndr, length_client_1, sizeof(uint16_t)));
++ NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->client, length_client_1, sizeof(uint16_t), CH_UTF16));
+ NDR_PULL_SET_MEM_CTX(ndr, _mem_save_client_0, 0);
+ }
+ if (r->user) {
+@@ -2942,11 +3034,13 @@ static enum ndr_err_code ndr_pull_srvsvc_NetSessInfo10(struct ndr_pull *ndr, int
+ NDR_PULL_SET_MEM_CTX(ndr, r->user, 0);
+ NDR_CHECK(ndr_pull_array_size(ndr, &r->user));
+ NDR_CHECK(ndr_pull_array_length(ndr, &r->user));
+- if (ndr_get_array_length(ndr, &r->user) > ndr_get_array_size(ndr, &r->user)) {
+- return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->user), ndr_get_array_length(ndr, &r->user));
++ size_user_1 = ndr_get_array_size(ndr, &r->user);
++ length_user_1 = ndr_get_array_length(ndr, &r->user);
++ if (length_user_1 > size_user_1) {
++ return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_user_1, length_user_1);
+ }
+- NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->user), sizeof(uint16_t)));
+- NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->user, ndr_get_array_length(ndr, &r->user), sizeof(uint16_t), CH_UTF16));
++ NDR_CHECK(ndr_check_string_terminator(ndr, length_user_1, sizeof(uint16_t)));
++ NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->user, length_user_1, sizeof(uint16_t), CH_UTF16));
+ NDR_PULL_SET_MEM_CTX(ndr, _mem_save_user_0, 0);
+ }
+ }
+@@ -2999,6 +3093,7 @@ static enum ndr_err_code ndr_push_srvsvc_NetSessCtr10(struct ndr_push *ndr, int
+ static enum ndr_err_code ndr_pull_srvsvc_NetSessCtr10(struct ndr_pull *ndr, int ndr_flags, struct srvsvc_NetSessCtr10 *r)
+ {
+ uint32_t _ptr_array;
++ uint32_t size_array_1 = 0;
+ uint32_t cntr_array_1;
+ TALLOC_CTX *_mem_save_array_0;
+ TALLOC_CTX *_mem_save_array_1;
+@@ -3017,13 +3112,14 @@ static enum ndr_err_code ndr_pull_srvsvc_NetSessCtr10(struct ndr_pull *ndr, int
+ _mem_save_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
+ NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
+ NDR_CHECK(ndr_pull_array_size(ndr, &r->array));
+- NDR_PULL_ALLOC_N(ndr, r->array, ndr_get_array_size(ndr, &r->array));
++ size_array_1 = ndr_get_array_size(ndr, &r->array);
++ NDR_PULL_ALLOC_N(ndr, r->array, size_array_1);
+ _mem_save_array_1 = NDR_PULL_GET_MEM_CTX(ndr);
+ NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
+- for (cntr_array_1 = 0; cntr_array_1 < r->count; cntr_array_1++) {
++ for (cntr_array_1 = 0; cntr_array_1 < size_array_1; cntr_array_1++) {
+ NDR_CHECK(ndr_pull_srvsvc_NetSessInfo10(ndr, NDR_SCALARS, &r->array[cntr_array_1]));
+ }
+- for (cntr_array_1 = 0; cntr_array_1 < r->count; cntr_array_1++) {
++ for (cntr_array_1 = 0; cntr_array_1 < size_array_1; cntr_array_1++) {
+ NDR_CHECK(ndr_pull_srvsvc_NetSessInfo10(ndr, NDR_BUFFERS, &r->array[cntr_array_1]));
+ }
+ NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_1, 0);
+@@ -3105,12 +3201,20 @@ static enum ndr_err_code ndr_push_srvsvc_NetSessInfo502(struct ndr_push *ndr, in
+ static enum ndr_err_code ndr_pull_srvsvc_NetSessInfo502(struct ndr_pull *ndr, int ndr_flags, struct srvsvc_NetSessInfo502 *r)
+ {
+ uint32_t _ptr_client;
++ uint32_t size_client_1 = 0;
++ uint32_t length_client_1 = 0;
+ TALLOC_CTX *_mem_save_client_0;
+ uint32_t _ptr_user;
++ uint32_t size_user_1 = 0;
++ uint32_t length_user_1 = 0;
+ TALLOC_CTX *_mem_save_user_0;
+ uint32_t _ptr_client_type;
++ uint32_t size_client_type_1 = 0;
++ uint32_t length_client_type_1 = 0;
+ TALLOC_CTX *_mem_save_client_type_0;
+ uint32_t _ptr_transport;
++ uint32_t size_transport_1 = 0;
++ uint32_t length_transport_1 = 0;
+ TALLOC_CTX *_mem_save_transport_0;
+ if (ndr_flags & NDR_SCALARS) {
+ NDR_CHECK(ndr_pull_align(ndr, 4));
+@@ -3149,11 +3253,13 @@ static enum ndr_err_code ndr_pull_srvsvc_NetSessInfo502(struct ndr_pull *ndr, in
+ NDR_PULL_SET_MEM_CTX(ndr, r->client, 0);
+ NDR_CHECK(ndr_pull_array_size(ndr, &r->client));
+ NDR_CHECK(ndr_pull_array_length(ndr, &r->client));
+- if (ndr_get_array_length(ndr, &r->client) > ndr_get_array_size(ndr, &r->client)) {
+- return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->client), ndr_get_array_length(ndr, &r->client));
++ size_client_1 = ndr_get_array_size(ndr, &r->client);
++ length_client_1 = ndr_get_array_length(ndr, &r->client);
++ if (length_client_1 > size_client_1) {
++ return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_client_1, length_client_1);
+ }
+- NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->client), sizeof(uint16_t)));
+- NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->client, ndr_get_array_length(ndr, &r->client), sizeof(uint16_t), CH_UTF16));
++ NDR_CHECK(ndr_check_string_terminator(ndr, length_client_1, sizeof(uint16_t)));
++ NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->client, length_client_1, sizeof(uint16_t), CH_UTF16));
+ NDR_PULL_SET_MEM_CTX(ndr, _mem_save_client_0, 0);
+ }
+ if (r->user) {
+@@ -3161,11 +3267,13 @@ static enum ndr_err_code ndr_pull_srvsvc_NetSessInfo502(struct ndr_pull *ndr, in
+ NDR_PULL_SET_MEM_CTX(ndr, r->user, 0);
+ NDR_CHECK(ndr_pull_array_size(ndr, &r->user));
+ NDR_CHECK(ndr_pull_array_length(ndr, &r->user));
+- if (ndr_get_array_length(ndr, &r->user) > ndr_get_array_size(ndr, &r->user)) {
+- return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->user), ndr_get_array_length(ndr, &r->user));
++ size_user_1 = ndr_get_array_size(ndr, &r->user);
++ length_user_1 = ndr_get_array_length(ndr, &r->user);
++ if (length_user_1 > size_user_1) {
++ return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_user_1, length_user_1);
+ }
+- NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->user), sizeof(uint16_t)));
+- NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->user, ndr_get_array_length(ndr, &r->user), sizeof(uint16_t), CH_UTF16));
++ NDR_CHECK(ndr_check_string_terminator(ndr, length_user_1, sizeof(uint16_t)));
++ NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->user, length_user_1, sizeof(uint16_t), CH_UTF16));
+ NDR_PULL_SET_MEM_CTX(ndr, _mem_save_user_0, 0);
+ }
+ if (r->client_type) {
+@@ -3173,11 +3281,13 @@ static enum ndr_err_code ndr_pull_srvsvc_NetSessInfo502(struct ndr_pull *ndr, in
+ NDR_PULL_SET_MEM_CTX(ndr, r->client_type, 0);
+ NDR_CHECK(ndr_pull_array_size(ndr, &r->client_type));
+ NDR_CHECK(ndr_pull_array_length(ndr, &r->client_type));
+- if (ndr_get_array_length(ndr, &r->client_type) > ndr_get_array_size(ndr, &r->client_type)) {
+- return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->client_type), ndr_get_array_length(ndr, &r->client_type));
++ size_client_type_1 = ndr_get_array_size(ndr, &r->client_type);
++ length_client_type_1 = ndr_get_array_length(ndr, &r->client_type);
++ if (length_client_type_1 > size_client_type_1) {
++ return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_client_type_1, length_client_type_1);
+ }
+- NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->client_type), sizeof(uint16_t)));
+- NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->client_type, ndr_get_array_length(ndr, &r->client_type), sizeof(uint16_t), CH_UTF16));
++ NDR_CHECK(ndr_check_string_terminator(ndr, length_client_type_1, sizeof(uint16_t)));
++ NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->client_type, length_client_type_1, sizeof(uint16_t), CH_UTF16));
+ NDR_PULL_SET_MEM_CTX(ndr, _mem_save_client_type_0, 0);
+ }
+ if (r->transport) {
+@@ -3185,11 +3295,13 @@ static enum ndr_err_code ndr_pull_srvsvc_NetSessInfo502(struct ndr_pull *ndr, in
+ NDR_PULL_SET_MEM_CTX(ndr, r->transport, 0);
+ NDR_CHECK(ndr_pull_array_size(ndr, &r->transport));
+ NDR_CHECK(ndr_pull_array_length(ndr, &r->transport));
+- if (ndr_get_array_length(ndr, &r->transport) > ndr_get_array_size(ndr, &r->transport)) {
+- return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->transport), ndr_get_array_length(ndr, &r->transport));
++ size_transport_1 = ndr_get_array_size(ndr, &r->transport);
++ length_transport_1 = ndr_get_array_length(ndr, &r->transport);
++ if (length_transport_1 > size_transport_1) {
++ return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_transport_1, length_transport_1);
+ }
+- NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->transport), sizeof(uint16_t)));
+- NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->transport, ndr_get_array_length(ndr, &r->transport), sizeof(uint16_t), CH_UTF16));
++ NDR_CHECK(ndr_check_string_terminator(ndr, length_transport_1, sizeof(uint16_t)));
++ NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->transport, length_transport_1, sizeof(uint16_t), CH_UTF16));
+ NDR_PULL_SET_MEM_CTX(ndr, _mem_save_transport_0, 0);
+ }
+ }
+@@ -3256,6 +3368,7 @@ static enum ndr_err_code ndr_push_srvsvc_NetSessCtr502(struct ndr_push *ndr, int
+ static enum ndr_err_code ndr_pull_srvsvc_NetSessCtr502(struct ndr_pull *ndr, int ndr_flags, struct srvsvc_NetSessCtr502 *r)
+ {
+ uint32_t _ptr_array;
++ uint32_t size_array_1 = 0;
+ uint32_t cntr_array_1;
+ TALLOC_CTX *_mem_save_array_0;
+ TALLOC_CTX *_mem_save_array_1;
+@@ -3274,13 +3387,14 @@ static enum ndr_err_code ndr_pull_srvsvc_NetSessCtr502(struct ndr_pull *ndr, int
+ _mem_save_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
+ NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
+ NDR_CHECK(ndr_pull_array_size(ndr, &r->array));
+- NDR_PULL_ALLOC_N(ndr, r->array, ndr_get_array_size(ndr, &r->array));
++ size_array_1 = ndr_get_array_size(ndr, &r->array);
++ NDR_PULL_ALLOC_N(ndr, r->array, size_array_1);
+ _mem_save_array_1 = NDR_PULL_GET_MEM_CTX(ndr);
+ NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
+- for (cntr_array_1 = 0; cntr_array_1 < r->count; cntr_array_1++) {
++ for (cntr_array_1 = 0; cntr_array_1 < size_array_1; cntr_array_1++) {
+ NDR_CHECK(ndr_pull_srvsvc_NetSessInfo502(ndr, NDR_SCALARS, &r->array[cntr_array_1]));
+ }
+- for (cntr_array_1 = 0; cntr_array_1 < r->count; cntr_array_1++) {
++ for (cntr_array_1 = 0; cntr_array_1 < size_array_1; cntr_array_1++) {
+ NDR_CHECK(ndr_pull_srvsvc_NetSessInfo502(ndr, NDR_BUFFERS, &r->array[cntr_array_1]));
+ }
+ NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_1, 0);
+@@ -3394,10 +3508,15 @@ static enum ndr_err_code ndr_pull_srvsvc_NetSessCtr(struct ndr_pull *ndr, int nd
+ int level;
+ uint32_t _level;
+ TALLOC_CTX *_mem_save_ctr0_0;
++ uint32_t _ptr_ctr0;
+ TALLOC_CTX *_mem_save_ctr1_0;
++ uint32_t _ptr_ctr1;
+ TALLOC_CTX *_mem_save_ctr2_0;
++ uint32_t _ptr_ctr2;
+ TALLOC_CTX *_mem_save_ctr10_0;
++ uint32_t _ptr_ctr10;
+ TALLOC_CTX *_mem_save_ctr502_0;
++ uint32_t _ptr_ctr502;
+ level = ndr_pull_get_switch_value(ndr, r);
+ if (ndr_flags & NDR_SCALARS) {
+ NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &_level));
+@@ -3406,7 +3525,6 @@ static enum ndr_err_code ndr_pull_srvsvc_NetSessCtr(struct ndr_pull *ndr, int nd
+ }
+ switch (level) {
+ case 0: {
+- uint32_t _ptr_ctr0;
+ NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_ctr0));
+ if (_ptr_ctr0) {
+ NDR_PULL_ALLOC(ndr, r->ctr0);
+@@ -3416,7 +3534,6 @@ static enum ndr_err_code ndr_pull_srvsvc_NetSessCtr(struct ndr_pull *ndr, int nd
+ break; }
+
+ case 1: {
+- uint32_t _ptr_ctr1;
+ NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_ctr1));
+ if (_ptr_ctr1) {
+ NDR_PULL_ALLOC(ndr, r->ctr1);
+@@ -3426,7 +3543,6 @@ static enum ndr_err_code ndr_pull_srvsvc_NetSessCtr(struct ndr_pull *ndr, int nd
+ break; }
+
+ case 2: {
+- uint32_t _ptr_ctr2;
+ NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_ctr2));
+ if (_ptr_ctr2) {
+ NDR_PULL_ALLOC(ndr, r->ctr2);
+@@ -3436,7 +3552,6 @@ static enum ndr_err_code ndr_pull_srvsvc_NetSessCtr(struct ndr_pull *ndr, int nd
+ break; }
+
+ case 10: {
+- uint32_t _ptr_ctr10;
+ NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_ctr10));
+ if (_ptr_ctr10) {
+ NDR_PULL_ALLOC(ndr, r->ctr10);
+@@ -3446,7 +3561,6 @@ static enum ndr_err_code ndr_pull_srvsvc_NetSessCtr(struct ndr_pull *ndr, int nd
+ break; }
+
+ case 502: {
+- uint32_t _ptr_ctr502;
+ NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_ctr502));
+ if (_ptr_ctr502) {
+ NDR_PULL_ALLOC(ndr, r->ctr502);
+@@ -3680,6 +3794,8 @@ static enum ndr_err_code ndr_push_srvsvc_NetShareInfo0(struct ndr_push *ndr, int
+ static enum ndr_err_code ndr_pull_srvsvc_NetShareInfo0(struct ndr_pull *ndr, int ndr_flags, struct srvsvc_NetShareInfo0 *r)
+ {
+ uint32_t _ptr_name;
++ uint32_t size_name_1 = 0;
++ uint32_t length_name_1 = 0;
+ TALLOC_CTX *_mem_save_name_0;
+ if (ndr_flags & NDR_SCALARS) {
+ NDR_CHECK(ndr_pull_align(ndr, 4));
+@@ -3696,11 +3812,13 @@ static enum ndr_err_code ndr_pull_srvsvc_NetShareInfo0(struct ndr_pull *ndr, int
+ NDR_PULL_SET_MEM_CTX(ndr, r->name, 0);
+ NDR_CHECK(ndr_pull_array_size(ndr, &r->name));
+ NDR_CHECK(ndr_pull_array_length(ndr, &r->name));
+- if (ndr_get_array_length(ndr, &r->name) > ndr_get_array_size(ndr, &r->name)) {
+- return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->name), ndr_get_array_length(ndr, &r->name));
++ size_name_1 = ndr_get_array_size(ndr, &r->name);
++ length_name_1 = ndr_get_array_length(ndr, &r->name);
++ if (length_name_1 > size_name_1) {
++ return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_name_1, length_name_1);
+ }
+- NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->name), sizeof(uint16_t)));
+- NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->name, ndr_get_array_length(ndr, &r->name), sizeof(uint16_t), CH_UTF16));
++ NDR_CHECK(ndr_check_string_terminator(ndr, length_name_1, sizeof(uint16_t)));
++ NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->name, length_name_1, sizeof(uint16_t), CH_UTF16));
+ NDR_PULL_SET_MEM_CTX(ndr, _mem_save_name_0, 0);
+ }
+ }
+@@ -3745,6 +3863,7 @@ static enum ndr_err_code ndr_push_srvsvc_NetShareCtr0(struct ndr_push *ndr, int
+ static enum ndr_err_code ndr_pull_srvsvc_NetShareCtr0(struct ndr_pull *ndr, int ndr_flags, struct srvsvc_NetShareCtr0 *r)
+ {
+ uint32_t _ptr_array;
++ uint32_t size_array_1 = 0;
+ uint32_t cntr_array_1;
+ TALLOC_CTX *_mem_save_array_0;
+ TALLOC_CTX *_mem_save_array_1;
+@@ -3763,13 +3882,14 @@ static enum ndr_err_code ndr_pull_srvsvc_NetShareCtr0(struct ndr_pull *ndr, int
+ _mem_save_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
+ NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
+ NDR_CHECK(ndr_pull_array_size(ndr, &r->array));
+- NDR_PULL_ALLOC_N(ndr, r->array, ndr_get_array_size(ndr, &r->array));
++ size_array_1 = ndr_get_array_size(ndr, &r->array);
++ NDR_PULL_ALLOC_N(ndr, r->array, size_array_1);
+ _mem_save_array_1 = NDR_PULL_GET_MEM_CTX(ndr);
+ NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
+- for (cntr_array_1 = 0; cntr_array_1 < r->count; cntr_array_1++) {
++ for (cntr_array_1 = 0; cntr_array_1 < size_array_1; cntr_array_1++) {
+ NDR_CHECK(ndr_pull_srvsvc_NetShareInfo0(ndr, NDR_SCALARS, &r->array[cntr_array_1]));
+ }
+- for (cntr_array_1 = 0; cntr_array_1 < r->count; cntr_array_1++) {
++ for (cntr_array_1 = 0; cntr_array_1 < size_array_1; cntr_array_1++) {
+ NDR_CHECK(ndr_pull_srvsvc_NetShareInfo0(ndr, NDR_BUFFERS, &r->array[cntr_array_1]));
+ }
+ NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_1, 0);
+@@ -3834,8 +3954,12 @@ static enum ndr_err_code ndr_push_srvsvc_NetShareInfo1(struct ndr_push *ndr, int
+ static enum ndr_err_code ndr_pull_srvsvc_NetShareInfo1(struct ndr_pull *ndr, int ndr_flags, struct srvsvc_NetShareInfo1 *r)
+ {
+ uint32_t _ptr_name;
++ uint32_t size_name_1 = 0;
++ uint32_t length_name_1 = 0;
+ TALLOC_CTX *_mem_save_name_0;
+ uint32_t _ptr_comment;
++ uint32_t size_comment_1 = 0;
++ uint32_t length_comment_1 = 0;
+ TALLOC_CTX *_mem_save_comment_0;
+ if (ndr_flags & NDR_SCALARS) {
+ NDR_CHECK(ndr_pull_align(ndr, 4));
+@@ -3859,11 +3983,13 @@ static enum ndr_err_code ndr_pull_srvsvc_NetShareInfo1(struct ndr_pull *ndr, int
+ NDR_PULL_SET_MEM_CTX(ndr, r->name, 0);
+ NDR_CHECK(ndr_pull_array_size(ndr, &r->name));
+ NDR_CHECK(ndr_pull_array_length(ndr, &r->name));
+- if (ndr_get_array_length(ndr, &r->name) > ndr_get_array_size(ndr, &r->name)) {
+- return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->name), ndr_get_array_length(ndr, &r->name));
++ size_name_1 = ndr_get_array_size(ndr, &r->name);
++ length_name_1 = ndr_get_array_length(ndr, &r->name);
++ if (length_name_1 > size_name_1) {
++ return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_name_1, length_name_1);
+ }
+- NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->name), sizeof(uint16_t)));
+- NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->name, ndr_get_array_length(ndr, &r->name), sizeof(uint16_t), CH_UTF16));
++ NDR_CHECK(ndr_check_string_terminator(ndr, length_name_1, sizeof(uint16_t)));
++ NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->name, length_name_1, sizeof(uint16_t), CH_UTF16));
+ NDR_PULL_SET_MEM_CTX(ndr, _mem_save_name_0, 0);
+ }
+ if (r->comment) {
+@@ -3871,11 +3997,13 @@ static enum ndr_err_code ndr_pull_srvsvc_NetShareInfo1(struct ndr_pull *ndr, int
+ NDR_PULL_SET_MEM_CTX(ndr, r->comment, 0);
+ NDR_CHECK(ndr_pull_array_size(ndr, &r->comment));
+ NDR_CHECK(ndr_pull_array_length(ndr, &r->comment));
+- if (ndr_get_array_length(ndr, &r->comment) > ndr_get_array_size(ndr, &r->comment)) {
+- return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->comment), ndr_get_array_length(ndr, &r->comment));
++ size_comment_1 = ndr_get_array_size(ndr, &r->comment);
++ length_comment_1 = ndr_get_array_length(ndr, &r->comment);
++ if (length_comment_1 > size_comment_1) {
++ return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_comment_1, length_comment_1);
+ }
+- NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->comment), sizeof(uint16_t)));
+- NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->comment, ndr_get_array_length(ndr, &r->comment), sizeof(uint16_t), CH_UTF16));
++ NDR_CHECK(ndr_check_string_terminator(ndr, length_comment_1, sizeof(uint16_t)));
++ NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->comment, length_comment_1, sizeof(uint16_t), CH_UTF16));
+ NDR_PULL_SET_MEM_CTX(ndr, _mem_save_comment_0, 0);
+ }
+ }
+@@ -3927,6 +4055,7 @@ static enum ndr_err_code ndr_push_srvsvc_NetShareCtr1(struct ndr_push *ndr, int
+ static enum ndr_err_code ndr_pull_srvsvc_NetShareCtr1(struct ndr_pull *ndr, int ndr_flags, struct srvsvc_NetShareCtr1 *r)
+ {
+ uint32_t _ptr_array;
++ uint32_t size_array_1 = 0;
+ uint32_t cntr_array_1;
+ TALLOC_CTX *_mem_save_array_0;
+ TALLOC_CTX *_mem_save_array_1;
+@@ -3945,13 +4074,14 @@ static enum ndr_err_code ndr_pull_srvsvc_NetShareCtr1(struct ndr_pull *ndr, int
+ _mem_save_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
+ NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
+ NDR_CHECK(ndr_pull_array_size(ndr, &r->array));
+- NDR_PULL_ALLOC_N(ndr, r->array, ndr_get_array_size(ndr, &r->array));
++ size_array_1 = ndr_get_array_size(ndr, &r->array);
++ NDR_PULL_ALLOC_N(ndr, r->array, size_array_1);
+ _mem_save_array_1 = NDR_PULL_GET_MEM_CTX(ndr);
+ NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
+- for (cntr_array_1 = 0; cntr_array_1 < r->count; cntr_array_1++) {
++ for (cntr_array_1 = 0; cntr_array_1 < size_array_1; cntr_array_1++) {
+ NDR_CHECK(ndr_pull_srvsvc_NetShareInfo1(ndr, NDR_SCALARS, &r->array[cntr_array_1]));
+ }
+- for (cntr_array_1 = 0; cntr_array_1 < r->count; cntr_array_1++) {
++ for (cntr_array_1 = 0; cntr_array_1 < size_array_1; cntr_array_1++) {
+ NDR_CHECK(ndr_pull_srvsvc_NetShareInfo1(ndr, NDR_BUFFERS, &r->array[cntr_array_1]));
+ }
+ NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_1, 0);
+@@ -4033,12 +4163,20 @@ static enum ndr_err_code ndr_push_srvsvc_NetShareInfo2(struct ndr_push *ndr, int
+ static enum ndr_err_code ndr_pull_srvsvc_NetShareInfo2(struct ndr_pull *ndr, int ndr_flags, struct srvsvc_NetShareInfo2 *r)
+ {
+ uint32_t _ptr_name;
++ uint32_t size_name_1 = 0;
++ uint32_t length_name_1 = 0;
+ TALLOC_CTX *_mem_save_name_0;
+ uint32_t _ptr_comment;
++ uint32_t size_comment_1 = 0;
++ uint32_t length_comment_1 = 0;
+ TALLOC_CTX *_mem_save_comment_0;
+ uint32_t _ptr_path;
++ uint32_t size_path_1 = 0;
++ uint32_t length_path_1 = 0;
+ TALLOC_CTX *_mem_save_path_0;
+ uint32_t _ptr_password;
++ uint32_t size_password_1 = 0;
++ uint32_t length_password_1 = 0;
+ TALLOC_CTX *_mem_save_password_0;
+ if (ndr_flags & NDR_SCALARS) {
+ NDR_CHECK(ndr_pull_align(ndr, 4));
+@@ -4077,11 +4215,13 @@ static enum ndr_err_code ndr_pull_srvsvc_NetShareInfo2(struct ndr_pull *ndr, int
+ NDR_PULL_SET_MEM_CTX(ndr, r->name, 0);
+ NDR_CHECK(ndr_pull_array_size(ndr, &r->name));
+ NDR_CHECK(ndr_pull_array_length(ndr, &r->name));
+- if (ndr_get_array_length(ndr, &r->name) > ndr_get_array_size(ndr, &r->name)) {
+- return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->name), ndr_get_array_length(ndr, &r->name));
++ size_name_1 = ndr_get_array_size(ndr, &r->name);
++ length_name_1 = ndr_get_array_length(ndr, &r->name);
++ if (length_name_1 > size_name_1) {
++ return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_name_1, length_name_1);
+ }
+- NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->name), sizeof(uint16_t)));
+- NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->name, ndr_get_array_length(ndr, &r->name), sizeof(uint16_t), CH_UTF16));
++ NDR_CHECK(ndr_check_string_terminator(ndr, length_name_1, sizeof(uint16_t)));
++ NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->name, length_name_1, sizeof(uint16_t), CH_UTF16));
+ NDR_PULL_SET_MEM_CTX(ndr, _mem_save_name_0, 0);
+ }
+ if (r->comment) {
+@@ -4089,11 +4229,13 @@ static enum ndr_err_code ndr_pull_srvsvc_NetShareInfo2(struct ndr_pull *ndr, int
+ NDR_PULL_SET_MEM_CTX(ndr, r->comment, 0);
+ NDR_CHECK(ndr_pull_array_size(ndr, &r->comment));
+ NDR_CHECK(ndr_pull_array_length(ndr, &r->comment));
+- if (ndr_get_array_length(ndr, &r->comment) > ndr_get_array_size(ndr, &r->comment)) {
+- return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->comment), ndr_get_array_length(ndr, &r->comment));
++ size_comment_1 = ndr_get_array_size(ndr, &r->comment);
++ length_comment_1 = ndr_get_array_length(ndr, &r->comment);
++ if (length_comment_1 > size_comment_1) {
++ return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_comment_1, length_comment_1);
+ }
+- NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->comment), sizeof(uint16_t)));
+- NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->comment, ndr_get_array_length(ndr, &r->comment), sizeof(uint16_t), CH_UTF16));
++ NDR_CHECK(ndr_check_string_terminator(ndr, length_comment_1, sizeof(uint16_t)));
++ NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->comment, length_comment_1, sizeof(uint16_t), CH_UTF16));
+ NDR_PULL_SET_MEM_CTX(ndr, _mem_save_comment_0, 0);
+ }
+ if (r->path) {
+@@ -4101,11 +4243,13 @@ static enum ndr_err_code ndr_pull_srvsvc_NetShareInfo2(struct ndr_pull *ndr, int
+ NDR_PULL_SET_MEM_CTX(ndr, r->path, 0);
+ NDR_CHECK(ndr_pull_array_size(ndr, &r->path));
+ NDR_CHECK(ndr_pull_array_length(ndr, &r->path));
+- if (ndr_get_array_length(ndr, &r->path) > ndr_get_array_size(ndr, &r->path)) {
+- return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->path), ndr_get_array_length(ndr, &r->path));
++ size_path_1 = ndr_get_array_size(ndr, &r->path);
++ length_path_1 = ndr_get_array_length(ndr, &r->path);
++ if (length_path_1 > size_path_1) {
++ return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_path_1, length_path_1);
+ }
+- NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->path), sizeof(uint16_t)));
+- NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->path, ndr_get_array_length(ndr, &r->path), sizeof(uint16_t), CH_UTF16));
++ NDR_CHECK(ndr_check_string_terminator(ndr, length_path_1, sizeof(uint16_t)));
++ NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->path, length_path_1, sizeof(uint16_t), CH_UTF16));
+ NDR_PULL_SET_MEM_CTX(ndr, _mem_save_path_0, 0);
+ }
+ if (r->password) {
+@@ -4113,11 +4257,13 @@ static enum ndr_err_code ndr_pull_srvsvc_NetShareInfo2(struct ndr_pull *ndr, int
+ NDR_PULL_SET_MEM_CTX(ndr, r->password, 0);
+ NDR_CHECK(ndr_pull_array_size(ndr, &r->password));
+ NDR_CHECK(ndr_pull_array_length(ndr, &r->password));
+- if (ndr_get_array_length(ndr, &r->password) > ndr_get_array_size(ndr, &r->password)) {
+- return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->password), ndr_get_array_length(ndr, &r->password));
++ size_password_1 = ndr_get_array_size(ndr, &r->password);
++ length_password_1 = ndr_get_array_length(ndr, &r->password);
++ if (length_password_1 > size_password_1) {
++ return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_password_1, length_password_1);
+ }
+- NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->password), sizeof(uint16_t)));
+- NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->password, ndr_get_array_length(ndr, &r->password), sizeof(uint16_t), CH_UTF16));
++ NDR_CHECK(ndr_check_string_terminator(ndr, length_password_1, sizeof(uint16_t)));
++ NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->password, length_password_1, sizeof(uint16_t), CH_UTF16));
+ NDR_PULL_SET_MEM_CTX(ndr, _mem_save_password_0, 0);
+ }
+ }
+@@ -4184,6 +4330,7 @@ static enum ndr_err_code ndr_push_srvsvc_NetShareCtr2(struct ndr_push *ndr, int
+ static enum ndr_err_code ndr_pull_srvsvc_NetShareCtr2(struct ndr_pull *ndr, int ndr_flags, struct srvsvc_NetShareCtr2 *r)
+ {
+ uint32_t _ptr_array;
++ uint32_t size_array_1 = 0;
+ uint32_t cntr_array_1;
+ TALLOC_CTX *_mem_save_array_0;
+ TALLOC_CTX *_mem_save_array_1;
+@@ -4202,13 +4349,14 @@ static enum ndr_err_code ndr_pull_srvsvc_NetShareCtr2(struct ndr_pull *ndr, int
+ _mem_save_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
+ NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
+ NDR_CHECK(ndr_pull_array_size(ndr, &r->array));
+- NDR_PULL_ALLOC_N(ndr, r->array, ndr_get_array_size(ndr, &r->array));
++ size_array_1 = ndr_get_array_size(ndr, &r->array);
++ NDR_PULL_ALLOC_N(ndr, r->array, size_array_1);
+ _mem_save_array_1 = NDR_PULL_GET_MEM_CTX(ndr);
+ NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
+- for (cntr_array_1 = 0; cntr_array_1 < r->count; cntr_array_1++) {
++ for (cntr_array_1 = 0; cntr_array_1 < size_array_1; cntr_array_1++) {
+ NDR_CHECK(ndr_pull_srvsvc_NetShareInfo2(ndr, NDR_SCALARS, &r->array[cntr_array_1]));
+ }
+- for (cntr_array_1 = 0; cntr_array_1 < r->count; cntr_array_1++) {
++ for (cntr_array_1 = 0; cntr_array_1 < size_array_1; cntr_array_1++) {
+ NDR_CHECK(ndr_pull_srvsvc_NetShareInfo2(ndr, NDR_BUFFERS, &r->array[cntr_array_1]));
+ }
+ NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_1, 0);
+@@ -4274,8 +4422,12 @@ static enum ndr_err_code ndr_push_srvsvc_NetShareInfo501(struct ndr_push *ndr, i
+ static enum ndr_err_code ndr_pull_srvsvc_NetShareInfo501(struct ndr_pull *ndr, int ndr_flags, struct srvsvc_NetShareInfo501 *r)
+ {
+ uint32_t _ptr_name;
++ uint32_t size_name_1 = 0;
++ uint32_t length_name_1 = 0;
+ TALLOC_CTX *_mem_save_name_0;
+ uint32_t _ptr_comment;
++ uint32_t size_comment_1 = 0;
++ uint32_t length_comment_1 = 0;
+ TALLOC_CTX *_mem_save_comment_0;
+ if (ndr_flags & NDR_SCALARS) {
+ NDR_CHECK(ndr_pull_align(ndr, 4));
+@@ -4300,11 +4452,13 @@ static enum ndr_err_code ndr_pull_srvsvc_NetShareInfo501(struct ndr_pull *ndr, i
+ NDR_PULL_SET_MEM_CTX(ndr, r->name, 0);
+ NDR_CHECK(ndr_pull_array_size(ndr, &r->name));
+ NDR_CHECK(ndr_pull_array_length(ndr, &r->name));
+- if (ndr_get_array_length(ndr, &r->name) > ndr_get_array_size(ndr, &r->name)) {
+- return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->name), ndr_get_array_length(ndr, &r->name));
++ size_name_1 = ndr_get_array_size(ndr, &r->name);
++ length_name_1 = ndr_get_array_length(ndr, &r->name);
++ if (length_name_1 > size_name_1) {
++ return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_name_1, length_name_1);
+ }
+- NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->name), sizeof(uint16_t)));
+- NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->name, ndr_get_array_length(ndr, &r->name), sizeof(uint16_t), CH_UTF16));
++ NDR_CHECK(ndr_check_string_terminator(ndr, length_name_1, sizeof(uint16_t)));
++ NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->name, length_name_1, sizeof(uint16_t), CH_UTF16));
+ NDR_PULL_SET_MEM_CTX(ndr, _mem_save_name_0, 0);
+ }
+ if (r->comment) {
+@@ -4312,11 +4466,13 @@ static enum ndr_err_code ndr_pull_srvsvc_NetShareInfo501(struct ndr_pull *ndr, i
+ NDR_PULL_SET_MEM_CTX(ndr, r->comment, 0);
+ NDR_CHECK(ndr_pull_array_size(ndr, &r->comment));
+ NDR_CHECK(ndr_pull_array_length(ndr, &r->comment));
+- if (ndr_get_array_length(ndr, &r->comment) > ndr_get_array_size(ndr, &r->comment)) {
+- return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->comment), ndr_get_array_length(ndr, &r->comment));
++ size_comment_1 = ndr_get_array_size(ndr, &r->comment);
++ length_comment_1 = ndr_get_array_length(ndr, &r->comment);
++ if (length_comment_1 > size_comment_1) {
++ return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_comment_1, length_comment_1);
+ }
+- NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->comment), sizeof(uint16_t)));
+- NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->comment, ndr_get_array_length(ndr, &r->comment), sizeof(uint16_t), CH_UTF16));
++ NDR_CHECK(ndr_check_string_terminator(ndr, length_comment_1, sizeof(uint16_t)));
++ NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->comment, length_comment_1, sizeof(uint16_t), CH_UTF16));
+ NDR_PULL_SET_MEM_CTX(ndr, _mem_save_comment_0, 0);
+ }
+ }
+@@ -4369,6 +4525,7 @@ static enum ndr_err_code ndr_push_srvsvc_NetShareCtr501(struct ndr_push *ndr, in
+ static enum ndr_err_code ndr_pull_srvsvc_NetShareCtr501(struct ndr_pull *ndr, int ndr_flags, struct srvsvc_NetShareCtr501 *r)
+ {
+ uint32_t _ptr_array;
++ uint32_t size_array_1 = 0;
+ uint32_t cntr_array_1;
+ TALLOC_CTX *_mem_save_array_0;
+ TALLOC_CTX *_mem_save_array_1;
+@@ -4387,13 +4544,14 @@ static enum ndr_err_code ndr_pull_srvsvc_NetShareCtr501(struct ndr_pull *ndr, in
+ _mem_save_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
+ NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
+ NDR_CHECK(ndr_pull_array_size(ndr, &r->array));
+- NDR_PULL_ALLOC_N(ndr, r->array, ndr_get_array_size(ndr, &r->array));
++ size_array_1 = ndr_get_array_size(ndr, &r->array);
++ NDR_PULL_ALLOC_N(ndr, r->array, size_array_1);
+ _mem_save_array_1 = NDR_PULL_GET_MEM_CTX(ndr);
+ NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
+- for (cntr_array_1 = 0; cntr_array_1 < r->count; cntr_array_1++) {
++ for (cntr_array_1 = 0; cntr_array_1 < size_array_1; cntr_array_1++) {
+ NDR_CHECK(ndr_pull_srvsvc_NetShareInfo501(ndr, NDR_SCALARS, &r->array[cntr_array_1]));
+ }
+- for (cntr_array_1 = 0; cntr_array_1 < r->count; cntr_array_1++) {
++ for (cntr_array_1 = 0; cntr_array_1 < size_array_1; cntr_array_1++) {
+ NDR_CHECK(ndr_pull_srvsvc_NetShareInfo501(ndr, NDR_BUFFERS, &r->array[cntr_array_1]));
+ }
+ NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_1, 0);
+@@ -4477,12 +4635,20 @@ static enum ndr_err_code ndr_push_srvsvc_NetShareInfo502(struct ndr_push *ndr, i
+ static enum ndr_err_code ndr_pull_srvsvc_NetShareInfo502(struct ndr_pull *ndr, int ndr_flags, struct srvsvc_NetShareInfo502 *r)
+ {
+ uint32_t _ptr_name;
++ uint32_t size_name_1 = 0;
++ uint32_t length_name_1 = 0;
+ TALLOC_CTX *_mem_save_name_0;
+ uint32_t _ptr_comment;
++ uint32_t size_comment_1 = 0;
++ uint32_t length_comment_1 = 0;
+ TALLOC_CTX *_mem_save_comment_0;
+ uint32_t _ptr_path;
++ uint32_t size_path_1 = 0;
++ uint32_t length_path_1 = 0;
+ TALLOC_CTX *_mem_save_path_0;
+ uint32_t _ptr_password;
++ uint32_t size_password_1 = 0;
++ uint32_t length_password_1 = 0;
+ TALLOC_CTX *_mem_save_password_0;
+ if (ndr_flags & NDR_SCALARS) {
+ NDR_CHECK(ndr_pull_align(ndr, 4));
+@@ -4522,11 +4688,13 @@ static enum ndr_err_code ndr_pull_srvsvc_NetShareInfo502(struct ndr_pull *ndr, i
+ NDR_PULL_SET_MEM_CTX(ndr, r->name, 0);
+ NDR_CHECK(ndr_pull_array_size(ndr, &r->name));
+ NDR_CHECK(ndr_pull_array_length(ndr, &r->name));
+- if (ndr_get_array_length(ndr, &r->name) > ndr_get_array_size(ndr, &r->name)) {
+- return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->name), ndr_get_array_length(ndr, &r->name));
++ size_name_1 = ndr_get_array_size(ndr, &r->name);
++ length_name_1 = ndr_get_array_length(ndr, &r->name);
++ if (length_name_1 > size_name_1) {
++ return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_name_1, length_name_1);
+ }
+- NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->name), sizeof(uint16_t)));
+- NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->name, ndr_get_array_length(ndr, &r->name), sizeof(uint16_t), CH_UTF16));
++ NDR_CHECK(ndr_check_string_terminator(ndr, length_name_1, sizeof(uint16_t)));
++ NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->name, length_name_1, sizeof(uint16_t), CH_UTF16));
+ NDR_PULL_SET_MEM_CTX(ndr, _mem_save_name_0, 0);
+ }
+ if (r->comment) {
+@@ -4534,11 +4702,13 @@ static enum ndr_err_code ndr_pull_srvsvc_NetShareInfo502(struct ndr_pull *ndr, i
+ NDR_PULL_SET_MEM_CTX(ndr, r->comment, 0);
+ NDR_CHECK(ndr_pull_array_size(ndr, &r->comment));
+ NDR_CHECK(ndr_pull_array_length(ndr, &r->comment));
+- if (ndr_get_array_length(ndr, &r->comment) > ndr_get_array_size(ndr, &r->comment)) {
+- return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->comment), ndr_get_array_length(ndr, &r->comment));
++ size_comment_1 = ndr_get_array_size(ndr, &r->comment);
++ length_comment_1 = ndr_get_array_length(ndr, &r->comment);
++ if (length_comment_1 > size_comment_1) {
++ return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_comment_1, length_comment_1);
+ }
+- NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->comment), sizeof(uint16_t)));
+- NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->comment, ndr_get_array_length(ndr, &r->comment), sizeof(uint16_t), CH_UTF16));
++ NDR_CHECK(ndr_check_string_terminator(ndr, length_comment_1, sizeof(uint16_t)));
++ NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->comment, length_comment_1, sizeof(uint16_t), CH_UTF16));
+ NDR_PULL_SET_MEM_CTX(ndr, _mem_save_comment_0, 0);
+ }
+ if (r->path) {
+@@ -4546,11 +4716,13 @@ static enum ndr_err_code ndr_pull_srvsvc_NetShareInfo502(struct ndr_pull *ndr, i
+ NDR_PULL_SET_MEM_CTX(ndr, r->path, 0);
+ NDR_CHECK(ndr_pull_array_size(ndr, &r->path));
+ NDR_CHECK(ndr_pull_array_length(ndr, &r->path));
+- if (ndr_get_array_length(ndr, &r->path) > ndr_get_array_size(ndr, &r->path)) {
+- return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->path), ndr_get_array_length(ndr, &r->path));
++ size_path_1 = ndr_get_array_size(ndr, &r->path);
++ length_path_1 = ndr_get_array_length(ndr, &r->path);
++ if (length_path_1 > size_path_1) {
++ return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_path_1, length_path_1);
+ }
+- NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->path), sizeof(uint16_t)));
+- NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->path, ndr_get_array_length(ndr, &r->path), sizeof(uint16_t), CH_UTF16));
++ NDR_CHECK(ndr_check_string_terminator(ndr, length_path_1, sizeof(uint16_t)));
++ NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->path, length_path_1, sizeof(uint16_t), CH_UTF16));
+ NDR_PULL_SET_MEM_CTX(ndr, _mem_save_path_0, 0);
+ }
+ if (r->password) {
+@@ -4558,11 +4730,13 @@ static enum ndr_err_code ndr_pull_srvsvc_NetShareInfo502(struct ndr_pull *ndr, i
+ NDR_PULL_SET_MEM_CTX(ndr, r->password, 0);
+ NDR_CHECK(ndr_pull_array_size(ndr, &r->password));
+ NDR_CHECK(ndr_pull_array_length(ndr, &r->password));
+- if (ndr_get_array_length(ndr, &r->password) > ndr_get_array_size(ndr, &r->password)) {
+- return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->password), ndr_get_array_length(ndr, &r->password));
++ size_password_1 = ndr_get_array_size(ndr, &r->password);
++ length_password_1 = ndr_get_array_length(ndr, &r->password);
++ if (length_password_1 > size_password_1) {
++ return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_password_1, length_password_1);
+ }
+- NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->password), sizeof(uint16_t)));
+- NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->password, ndr_get_array_length(ndr, &r->password), sizeof(uint16_t), CH_UTF16));
++ NDR_CHECK(ndr_check_string_terminator(ndr, length_password_1, sizeof(uint16_t)));
++ NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->password, length_password_1, sizeof(uint16_t), CH_UTF16));
+ NDR_PULL_SET_MEM_CTX(ndr, _mem_save_password_0, 0);
+ }
+ NDR_CHECK(ndr_pull_sec_desc_buf(ndr, NDR_BUFFERS, &r->sd_buf));
+@@ -4631,6 +4805,7 @@ static enum ndr_err_code ndr_push_srvsvc_NetShareCtr502(struct ndr_push *ndr, in
+ static enum ndr_err_code ndr_pull_srvsvc_NetShareCtr502(struct ndr_pull *ndr, int ndr_flags, struct srvsvc_NetShareCtr502 *r)
+ {
+ uint32_t _ptr_array;
++ uint32_t size_array_1 = 0;
+ uint32_t cntr_array_1;
+ TALLOC_CTX *_mem_save_array_0;
+ TALLOC_CTX *_mem_save_array_1;
+@@ -4649,13 +4824,14 @@ static enum ndr_err_code ndr_pull_srvsvc_NetShareCtr502(struct ndr_pull *ndr, in
+ _mem_save_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
+ NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
+ NDR_CHECK(ndr_pull_array_size(ndr, &r->array));
+- NDR_PULL_ALLOC_N(ndr, r->array, ndr_get_array_size(ndr, &r->array));
++ size_array_1 = ndr_get_array_size(ndr, &r->array);
++ NDR_PULL_ALLOC_N(ndr, r->array, size_array_1);
+ _mem_save_array_1 = NDR_PULL_GET_MEM_CTX(ndr);
+ NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
+- for (cntr_array_1 = 0; cntr_array_1 < r->count; cntr_array_1++) {
++ for (cntr_array_1 = 0; cntr_array_1 < size_array_1; cntr_array_1++) {
+ NDR_CHECK(ndr_pull_srvsvc_NetShareInfo502(ndr, NDR_SCALARS, &r->array[cntr_array_1]));
+ }
+- for (cntr_array_1 = 0; cntr_array_1 < r->count; cntr_array_1++) {
++ for (cntr_array_1 = 0; cntr_array_1 < size_array_1; cntr_array_1++) {
+ NDR_CHECK(ndr_pull_srvsvc_NetShareInfo502(ndr, NDR_BUFFERS, &r->array[cntr_array_1]));
+ }
+ NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_1, 0);
+@@ -4712,6 +4888,8 @@ static enum ndr_err_code ndr_push_srvsvc_NetShareInfo1004(struct ndr_push *ndr,
+ static enum ndr_err_code ndr_pull_srvsvc_NetShareInfo1004(struct ndr_pull *ndr, int ndr_flags, struct srvsvc_NetShareInfo1004 *r)
+ {
+ uint32_t _ptr_comment;
++ uint32_t size_comment_1 = 0;
++ uint32_t length_comment_1 = 0;
+ TALLOC_CTX *_mem_save_comment_0;
+ if (ndr_flags & NDR_SCALARS) {
+ NDR_CHECK(ndr_pull_align(ndr, 4));
+@@ -4728,11 +4906,13 @@ static enum ndr_err_code ndr_pull_srvsvc_NetShareInfo1004(struct ndr_pull *ndr,
+ NDR_PULL_SET_MEM_CTX(ndr, r->comment, 0);
+ NDR_CHECK(ndr_pull_array_size(ndr, &r->comment));
+ NDR_CHECK(ndr_pull_array_length(ndr, &r->comment));
+- if (ndr_get_array_length(ndr, &r->comment) > ndr_get_array_size(ndr, &r->comment)) {
+- return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->comment), ndr_get_array_length(ndr, &r->comment));
++ size_comment_1 = ndr_get_array_size(ndr, &r->comment);
++ length_comment_1 = ndr_get_array_length(ndr, &r->comment);
++ if (length_comment_1 > size_comment_1) {
++ return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_comment_1, length_comment_1);
+ }
+- NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->comment), sizeof(uint16_t)));
+- NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->comment, ndr_get_array_length(ndr, &r->comment), sizeof(uint16_t), CH_UTF16));
++ NDR_CHECK(ndr_check_string_terminator(ndr, length_comment_1, sizeof(uint16_t)));
++ NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->comment, length_comment_1, sizeof(uint16_t), CH_UTF16));
+ NDR_PULL_SET_MEM_CTX(ndr, _mem_save_comment_0, 0);
+ }
+ }
+@@ -4777,6 +4957,7 @@ static enum ndr_err_code ndr_push_srvsvc_NetShareCtr1004(struct ndr_push *ndr, i
+ static enum ndr_err_code ndr_pull_srvsvc_NetShareCtr1004(struct ndr_pull *ndr, int ndr_flags, struct srvsvc_NetShareCtr1004 *r)
+ {
+ uint32_t _ptr_array;
++ uint32_t size_array_1 = 0;
+ uint32_t cntr_array_1;
+ TALLOC_CTX *_mem_save_array_0;
+ TALLOC_CTX *_mem_save_array_1;
+@@ -4795,13 +4976,14 @@ static enum ndr_err_code ndr_pull_srvsvc_NetShareCtr1004(struct ndr_pull *ndr, i
+ _mem_save_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
+ NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
+ NDR_CHECK(ndr_pull_array_size(ndr, &r->array));
+- NDR_PULL_ALLOC_N(ndr, r->array, ndr_get_array_size(ndr, &r->array));
++ size_array_1 = ndr_get_array_size(ndr, &r->array);
++ NDR_PULL_ALLOC_N(ndr, r->array, size_array_1);
+ _mem_save_array_1 = NDR_PULL_GET_MEM_CTX(ndr);
+ NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
+- for (cntr_array_1 = 0; cntr_array_1 < r->count; cntr_array_1++) {
++ for (cntr_array_1 = 0; cntr_array_1 < size_array_1; cntr_array_1++) {
+ NDR_CHECK(ndr_pull_srvsvc_NetShareInfo1004(ndr, NDR_SCALARS, &r->array[cntr_array_1]));
+ }
+- for (cntr_array_1 = 0; cntr_array_1 < r->count; cntr_array_1++) {
++ for (cntr_array_1 = 0; cntr_array_1 < size_array_1; cntr_array_1++) {
+ NDR_CHECK(ndr_pull_srvsvc_NetShareInfo1004(ndr, NDR_BUFFERS, &r->array[cntr_array_1]));
+ }
+ NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_1, 0);
+@@ -4913,6 +5095,7 @@ static enum ndr_err_code ndr_push_srvsvc_NetShareCtr1005(struct ndr_push *ndr, i
+ static enum ndr_err_code ndr_pull_srvsvc_NetShareCtr1005(struct ndr_pull *ndr, int ndr_flags, struct srvsvc_NetShareCtr1005 *r)
+ {
+ uint32_t _ptr_array;
++ uint32_t size_array_1 = 0;
+ uint32_t cntr_array_1;
+ TALLOC_CTX *_mem_save_array_0;
+ TALLOC_CTX *_mem_save_array_1;
+@@ -4931,10 +5114,11 @@ static enum ndr_err_code ndr_pull_srvsvc_NetShareCtr1005(struct ndr_pull *ndr, i
+ _mem_save_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
+ NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
+ NDR_CHECK(ndr_pull_array_size(ndr, &r->array));
+- NDR_PULL_ALLOC_N(ndr, r->array, ndr_get_array_size(ndr, &r->array));
++ size_array_1 = ndr_get_array_size(ndr, &r->array);
++ NDR_PULL_ALLOC_N(ndr, r->array, size_array_1);
+ _mem_save_array_1 = NDR_PULL_GET_MEM_CTX(ndr);
+ NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
+- for (cntr_array_1 = 0; cntr_array_1 < r->count; cntr_array_1++) {
++ for (cntr_array_1 = 0; cntr_array_1 < size_array_1; cntr_array_1++) {
+ NDR_CHECK(ndr_pull_srvsvc_NetShareInfo1005(ndr, NDR_SCALARS, &r->array[cntr_array_1]));
+ }
+ NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_1, 0);
+@@ -5023,6 +5207,7 @@ static enum ndr_err_code ndr_push_srvsvc_NetShareCtr1006(struct ndr_push *ndr, i
+ static enum ndr_err_code ndr_pull_srvsvc_NetShareCtr1006(struct ndr_pull *ndr, int ndr_flags, struct srvsvc_NetShareCtr1006 *r)
+ {
+ uint32_t _ptr_array;
++ uint32_t size_array_1 = 0;
+ uint32_t cntr_array_1;
+ TALLOC_CTX *_mem_save_array_0;
+ TALLOC_CTX *_mem_save_array_1;
+@@ -5041,10 +5226,11 @@ static enum ndr_err_code ndr_pull_srvsvc_NetShareCtr1006(struct ndr_pull *ndr, i
+ _mem_save_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
+ NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
+ NDR_CHECK(ndr_pull_array_size(ndr, &r->array));
+- NDR_PULL_ALLOC_N(ndr, r->array, ndr_get_array_size(ndr, &r->array));
++ size_array_1 = ndr_get_array_size(ndr, &r->array);
++ NDR_PULL_ALLOC_N(ndr, r->array, size_array_1);
+ _mem_save_array_1 = NDR_PULL_GET_MEM_CTX(ndr);
+ NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
+- for (cntr_array_1 = 0; cntr_array_1 < r->count; cntr_array_1++) {
++ for (cntr_array_1 = 0; cntr_array_1 < size_array_1; cntr_array_1++) {
+ NDR_CHECK(ndr_pull_srvsvc_NetShareInfo1006(ndr, NDR_SCALARS, &r->array[cntr_array_1]));
+ }
+ NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_1, 0);
+@@ -5102,6 +5288,8 @@ static enum ndr_err_code ndr_push_srvsvc_NetShareInfo1007(struct ndr_push *ndr,
+ static enum ndr_err_code ndr_pull_srvsvc_NetShareInfo1007(struct ndr_pull *ndr, int ndr_flags, struct srvsvc_NetShareInfo1007 *r)
+ {
+ uint32_t _ptr_alternate_directory_name;
++ uint32_t size_alternate_directory_name_1 = 0;
++ uint32_t length_alternate_directory_name_1 = 0;
+ TALLOC_CTX *_mem_save_alternate_directory_name_0;
+ if (ndr_flags & NDR_SCALARS) {
+ NDR_CHECK(ndr_pull_align(ndr, 4));
+@@ -5119,11 +5307,13 @@ static enum ndr_err_code ndr_pull_srvsvc_NetShareInfo1007(struct ndr_pull *ndr,
+ NDR_PULL_SET_MEM_CTX(ndr, r->alternate_directory_name, 0);
+ NDR_CHECK(ndr_pull_array_size(ndr, &r->alternate_directory_name));
+ NDR_CHECK(ndr_pull_array_length(ndr, &r->alternate_directory_name));
+- if (ndr_get_array_length(ndr, &r->alternate_directory_name) > ndr_get_array_size(ndr, &r->alternate_directory_name)) {
+- return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->alternate_directory_name), ndr_get_array_length(ndr, &r->alternate_directory_name));
++ size_alternate_directory_name_1 = ndr_get_array_size(ndr, &r->alternate_directory_name);
++ length_alternate_directory_name_1 = ndr_get_array_length(ndr, &r->alternate_directory_name);
++ if (length_alternate_directory_name_1 > size_alternate_directory_name_1) {
++ return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_alternate_directory_name_1, length_alternate_directory_name_1);
+ }
+- NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->alternate_directory_name), sizeof(uint16_t)));
+- NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->alternate_directory_name, ndr_get_array_length(ndr, &r->alternate_directory_name), sizeof(uint16_t), CH_UTF16));
++ NDR_CHECK(ndr_check_string_terminator(ndr, length_alternate_directory_name_1, sizeof(uint16_t)));
++ NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->alternate_directory_name, length_alternate_directory_name_1, sizeof(uint16_t), CH_UTF16));
+ NDR_PULL_SET_MEM_CTX(ndr, _mem_save_alternate_directory_name_0, 0);
+ }
+ }
+@@ -5169,6 +5359,7 @@ static enum ndr_err_code ndr_push_srvsvc_NetShareCtr1007(struct ndr_push *ndr, i
+ static enum ndr_err_code ndr_pull_srvsvc_NetShareCtr1007(struct ndr_pull *ndr, int ndr_flags, struct srvsvc_NetShareCtr1007 *r)
+ {
+ uint32_t _ptr_array;
++ uint32_t size_array_1 = 0;
+ uint32_t cntr_array_1;
+ TALLOC_CTX *_mem_save_array_0;
+ TALLOC_CTX *_mem_save_array_1;
+@@ -5187,13 +5378,14 @@ static enum ndr_err_code ndr_pull_srvsvc_NetShareCtr1007(struct ndr_pull *ndr, i
+ _mem_save_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
+ NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
+ NDR_CHECK(ndr_pull_array_size(ndr, &r->array));
+- NDR_PULL_ALLOC_N(ndr, r->array, ndr_get_array_size(ndr, &r->array));
++ size_array_1 = ndr_get_array_size(ndr, &r->array);
++ NDR_PULL_ALLOC_N(ndr, r->array, size_array_1);
+ _mem_save_array_1 = NDR_PULL_GET_MEM_CTX(ndr);
+ NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
+- for (cntr_array_1 = 0; cntr_array_1 < r->count; cntr_array_1++) {
++ for (cntr_array_1 = 0; cntr_array_1 < size_array_1; cntr_array_1++) {
+ NDR_CHECK(ndr_pull_srvsvc_NetShareInfo1007(ndr, NDR_SCALARS, &r->array[cntr_array_1]));
+ }
+- for (cntr_array_1 = 0; cntr_array_1 < r->count; cntr_array_1++) {
++ for (cntr_array_1 = 0; cntr_array_1 < size_array_1; cntr_array_1++) {
+ NDR_CHECK(ndr_pull_srvsvc_NetShareInfo1007(ndr, NDR_BUFFERS, &r->array[cntr_array_1]));
+ }
+ NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_1, 0);
+@@ -5255,6 +5447,7 @@ static enum ndr_err_code ndr_push_srvsvc_NetShareCtr1501(struct ndr_push *ndr, i
+ static enum ndr_err_code ndr_pull_srvsvc_NetShareCtr1501(struct ndr_pull *ndr, int ndr_flags, struct srvsvc_NetShareCtr1501 *r)
+ {
+ uint32_t _ptr_array;
++ uint32_t size_array_1 = 0;
+ uint32_t cntr_array_1;
+ TALLOC_CTX *_mem_save_array_0;
+ TALLOC_CTX *_mem_save_array_1;
+@@ -5273,13 +5466,14 @@ static enum ndr_err_code ndr_pull_srvsvc_NetShareCtr1501(struct ndr_pull *ndr, i
+ _mem_save_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
+ NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
+ NDR_CHECK(ndr_pull_array_size(ndr, &r->array));
+- NDR_PULL_ALLOC_N(ndr, r->array, ndr_get_array_size(ndr, &r->array));
++ size_array_1 = ndr_get_array_size(ndr, &r->array);
++ NDR_PULL_ALLOC_N(ndr, r->array, size_array_1);
+ _mem_save_array_1 = NDR_PULL_GET_MEM_CTX(ndr);
+ NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
+- for (cntr_array_1 = 0; cntr_array_1 < r->count; cntr_array_1++) {
++ for (cntr_array_1 = 0; cntr_array_1 < size_array_1; cntr_array_1++) {
+ NDR_CHECK(ndr_pull_sec_desc_buf(ndr, NDR_SCALARS, &r->array[cntr_array_1]));
+ }
+- for (cntr_array_1 = 0; cntr_array_1 < r->count; cntr_array_1++) {
++ for (cntr_array_1 = 0; cntr_array_1 < size_array_1; cntr_array_1++) {
+ NDR_CHECK(ndr_pull_sec_desc_buf(ndr, NDR_BUFFERS, &r->array[cntr_array_1]));
+ }
+ NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_1, 0);
+@@ -5443,15 +5637,25 @@ static enum ndr_err_code ndr_pull_srvsvc_NetShareInfo(struct ndr_pull *ndr, int
+ int level;
+ uint32_t _level;
+ TALLOC_CTX *_mem_save_info0_0;
++ uint32_t _ptr_info0;
+ TALLOC_CTX *_mem_save_info1_0;
++ uint32_t _ptr_info1;
+ TALLOC_CTX *_mem_save_info2_0;
++ uint32_t _ptr_info2;
+ TALLOC_CTX *_mem_save_info501_0;
++ uint32_t _ptr_info501;
+ TALLOC_CTX *_mem_save_info502_0;
++ uint32_t _ptr_info502;
+ TALLOC_CTX *_mem_save_info1004_0;
++ uint32_t _ptr_info1004;
+ TALLOC_CTX *_mem_save_info1005_0;
++ uint32_t _ptr_info1005;
+ TALLOC_CTX *_mem_save_info1006_0;
++ uint32_t _ptr_info1006;
+ TALLOC_CTX *_mem_save_info1007_0;
++ uint32_t _ptr_info1007;
+ TALLOC_CTX *_mem_save_info1501_0;
++ uint32_t _ptr_info1501;
+ level = ndr_pull_get_switch_value(ndr, r);
+ if (ndr_flags & NDR_SCALARS) {
+ NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &_level));
+@@ -5460,7 +5664,6 @@ static enum ndr_err_code ndr_pull_srvsvc_NetShareInfo(struct ndr_pull *ndr, int
+ }
+ switch (level) {
+ case 0: {
+- uint32_t _ptr_info0;
+ NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info0));
+ if (_ptr_info0) {
+ NDR_PULL_ALLOC(ndr, r->info0);
+@@ -5470,7 +5673,6 @@ static enum ndr_err_code ndr_pull_srvsvc_NetShareInfo(struct ndr_pull *ndr, int
+ break; }
+
+ case 1: {
+- uint32_t _ptr_info1;
+ NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info1));
+ if (_ptr_info1) {
+ NDR_PULL_ALLOC(ndr, r->info1);
+@@ -5480,7 +5682,6 @@ static enum ndr_err_code ndr_pull_srvsvc_NetShareInfo(struct ndr_pull *ndr, int
+ break; }
+
+ case 2: {
+- uint32_t _ptr_info2;
+ NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info2));
+ if (_ptr_info2) {
+ NDR_PULL_ALLOC(ndr, r->info2);
+@@ -5490,7 +5691,6 @@ static enum ndr_err_code ndr_pull_srvsvc_NetShareInfo(struct ndr_pull *ndr, int
+ break; }
+
+ case 501: {
+- uint32_t _ptr_info501;
+ NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info501));
+ if (_ptr_info501) {
+ NDR_PULL_ALLOC(ndr, r->info501);
+@@ -5500,7 +5700,6 @@ static enum ndr_err_code ndr_pull_srvsvc_NetShareInfo(struct ndr_pull *ndr, int
+ break; }
+
+ case 502: {
+- uint32_t _ptr_info502;
+ NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info502));
+ if (_ptr_info502) {
+ NDR_PULL_ALLOC(ndr, r->info502);
+@@ -5510,7 +5709,6 @@ static enum ndr_err_code ndr_pull_srvsvc_NetShareInfo(struct ndr_pull *ndr, int
+ break; }
+
+ case 1004: {
+- uint32_t _ptr_info1004;
+ NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info1004));
+ if (_ptr_info1004) {
+ NDR_PULL_ALLOC(ndr, r->info1004);
+@@ -5520,7 +5718,6 @@ static enum ndr_err_code ndr_pull_srvsvc_NetShareInfo(struct ndr_pull *ndr, int
+ break; }
+
+ case 1005: {
+- uint32_t _ptr_info1005;
+ NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info1005));
+ if (_ptr_info1005) {
+ NDR_PULL_ALLOC(ndr, r->info1005);
+@@ -5530,7 +5727,6 @@ static enum ndr_err_code ndr_pull_srvsvc_NetShareInfo(struct ndr_pull *ndr, int
+ break; }
+
+ case 1006: {
+- uint32_t _ptr_info1006;
+ NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info1006));
+ if (_ptr_info1006) {
+ NDR_PULL_ALLOC(ndr, r->info1006);
+@@ -5540,7 +5736,6 @@ static enum ndr_err_code ndr_pull_srvsvc_NetShareInfo(struct ndr_pull *ndr, int
+ break; }
+
+ case 1007: {
+- uint32_t _ptr_info1007;
+ NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info1007));
+ if (_ptr_info1007) {
+ NDR_PULL_ALLOC(ndr, r->info1007);
+@@ -5550,7 +5745,6 @@ static enum ndr_err_code ndr_pull_srvsvc_NetShareInfo(struct ndr_pull *ndr, int
+ break; }
+
+ case 1501: {
+- uint32_t _ptr_info1501;
+ NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info1501));
+ if (_ptr_info1501) {
+ NDR_PULL_ALLOC(ndr, r->info1501);
+@@ -5893,15 +6087,25 @@ static enum ndr_err_code ndr_pull_srvsvc_NetShareCtr(struct ndr_pull *ndr, int n
+ int level;
+ uint32_t _level;
+ TALLOC_CTX *_mem_save_ctr0_0;
++ uint32_t _ptr_ctr0;
+ TALLOC_CTX *_mem_save_ctr1_0;
++ uint32_t _ptr_ctr1;
+ TALLOC_CTX *_mem_save_ctr2_0;
++ uint32_t _ptr_ctr2;
+ TALLOC_CTX *_mem_save_ctr501_0;
++ uint32_t _ptr_ctr501;
+ TALLOC_CTX *_mem_save_ctr502_0;
++ uint32_t _ptr_ctr502;
+ TALLOC_CTX *_mem_save_ctr1004_0;
++ uint32_t _ptr_ctr1004;
+ TALLOC_CTX *_mem_save_ctr1005_0;
++ uint32_t _ptr_ctr1005;
+ TALLOC_CTX *_mem_save_ctr1006_0;
++ uint32_t _ptr_ctr1006;
+ TALLOC_CTX *_mem_save_ctr1007_0;
++ uint32_t _ptr_ctr1007;
+ TALLOC_CTX *_mem_save_ctr1501_0;
++ uint32_t _ptr_ctr1501;
+ level = ndr_pull_get_switch_value(ndr, r);
+ if (ndr_flags & NDR_SCALARS) {
+ NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &_level));
+@@ -5910,7 +6114,6 @@ static enum ndr_err_code ndr_pull_srvsvc_NetShareCtr(struct ndr_pull *ndr, int n
+ }
+ switch (level) {
+ case 0: {
+- uint32_t _ptr_ctr0;
+ NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_ctr0));
+ if (_ptr_ctr0) {
+ NDR_PULL_ALLOC(ndr, r->ctr0);
+@@ -5920,7 +6123,6 @@ static enum ndr_err_code ndr_pull_srvsvc_NetShareCtr(struct ndr_pull *ndr, int n
+ break; }
+
+ case 1: {
+- uint32_t _ptr_ctr1;
+ NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_ctr1));
+ if (_ptr_ctr1) {
+ NDR_PULL_ALLOC(ndr, r->ctr1);
+@@ -5930,7 +6132,6 @@ static enum ndr_err_code ndr_pull_srvsvc_NetShareCtr(struct ndr_pull *ndr, int n
+ break; }
+
+ case 2: {
+- uint32_t _ptr_ctr2;
+ NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_ctr2));
+ if (_ptr_ctr2) {
+ NDR_PULL_ALLOC(ndr, r->ctr2);
+@@ -5940,7 +6141,6 @@ static enum ndr_err_code ndr_pull_srvsvc_NetShareCtr(struct ndr_pull *ndr, int n
+ break; }
+
+ case 501: {
+- uint32_t _ptr_ctr501;
+ NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_ctr501));
+ if (_ptr_ctr501) {
+ NDR_PULL_ALLOC(ndr, r->ctr501);
+@@ -5950,7 +6150,6 @@ static enum ndr_err_code ndr_pull_srvsvc_NetShareCtr(struct ndr_pull *ndr, int n
+ break; }
+
+ case 502: {
+- uint32_t _ptr_ctr502;
+ NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_ctr502));
+ if (_ptr_ctr502) {
+ NDR_PULL_ALLOC(ndr, r->ctr502);
+@@ -5960,7 +6159,6 @@ static enum ndr_err_code ndr_pull_srvsvc_NetShareCtr(struct ndr_pull *ndr, int n
+ break; }
+
+ case 1004: {
+- uint32_t _ptr_ctr1004;
+ NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_ctr1004));
+ if (_ptr_ctr1004) {
+ NDR_PULL_ALLOC(ndr, r->ctr1004);
+@@ -5970,7 +6168,6 @@ static enum ndr_err_code ndr_pull_srvsvc_NetShareCtr(struct ndr_pull *ndr, int n
+ break; }
+
+ case 1005: {
+- uint32_t _ptr_ctr1005;
+ NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_ctr1005));
+ if (_ptr_ctr1005) {
+ NDR_PULL_ALLOC(ndr, r->ctr1005);
+@@ -5980,7 +6177,6 @@ static enum ndr_err_code ndr_pull_srvsvc_NetShareCtr(struct ndr_pull *ndr, int n
+ break; }
+
+ case 1006: {
+- uint32_t _ptr_ctr1006;
+ NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_ctr1006));
+ if (_ptr_ctr1006) {
+ NDR_PULL_ALLOC(ndr, r->ctr1006);
+@@ -5990,7 +6186,6 @@ static enum ndr_err_code ndr_pull_srvsvc_NetShareCtr(struct ndr_pull *ndr, int n
+ break; }
+
+ case 1007: {
+- uint32_t _ptr_ctr1007;
+ NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_ctr1007));
+ if (_ptr_ctr1007) {
+ NDR_PULL_ALLOC(ndr, r->ctr1007);
+@@ -6000,7 +6195,6 @@ static enum ndr_err_code ndr_pull_srvsvc_NetShareCtr(struct ndr_pull *ndr, int n
+ break; }
+
+ case 1501: {
+- uint32_t _ptr_ctr1501;
+ NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_ctr1501));
+ if (_ptr_ctr1501) {
+ NDR_PULL_ALLOC(ndr, r->ctr1501);
+@@ -6303,6 +6497,8 @@ static enum ndr_err_code ndr_push_srvsvc_NetSrvInfo100(struct ndr_push *ndr, int
+ static enum ndr_err_code ndr_pull_srvsvc_NetSrvInfo100(struct ndr_pull *ndr, int ndr_flags, struct srvsvc_NetSrvInfo100 *r)
+ {
+ uint32_t _ptr_server_name;
++ uint32_t size_server_name_1 = 0;
++ uint32_t length_server_name_1 = 0;
+ TALLOC_CTX *_mem_save_server_name_0;
+ if (ndr_flags & NDR_SCALARS) {
+ NDR_CHECK(ndr_pull_align(ndr, 4));
+@@ -6320,11 +6516,13 @@ static enum ndr_err_code ndr_pull_srvsvc_NetSrvInfo100(struct ndr_pull *ndr, int
+ NDR_PULL_SET_MEM_CTX(ndr, r->server_name, 0);
+ NDR_CHECK(ndr_pull_array_size(ndr, &r->server_name));
+ NDR_CHECK(ndr_pull_array_length(ndr, &r->server_name));
+- if (ndr_get_array_length(ndr, &r->server_name) > ndr_get_array_size(ndr, &r->server_name)) {
+- return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->server_name), ndr_get_array_length(ndr, &r->server_name));
++ size_server_name_1 = ndr_get_array_size(ndr, &r->server_name);
++ length_server_name_1 = ndr_get_array_length(ndr, &r->server_name);
++ if (length_server_name_1 > size_server_name_1) {
++ return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_server_name_1, length_server_name_1);
+ }
+- NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->server_name), sizeof(uint16_t)));
+- NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->server_name, ndr_get_array_length(ndr, &r->server_name), sizeof(uint16_t), CH_UTF16));
++ NDR_CHECK(ndr_check_string_terminator(ndr, length_server_name_1, sizeof(uint16_t)));
++ NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->server_name, length_server_name_1, sizeof(uint16_t), CH_UTF16));
+ NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_name_0, 0);
+ }
+ }
+@@ -6376,8 +6574,12 @@ static enum ndr_err_code ndr_push_srvsvc_NetSrvInfo101(struct ndr_push *ndr, int
+ static enum ndr_err_code ndr_pull_srvsvc_NetSrvInfo101(struct ndr_pull *ndr, int ndr_flags, struct srvsvc_NetSrvInfo101 *r)
+ {
+ uint32_t _ptr_server_name;
++ uint32_t size_server_name_1 = 0;
++ uint32_t length_server_name_1 = 0;
+ TALLOC_CTX *_mem_save_server_name_0;
+ uint32_t _ptr_comment;
++ uint32_t size_comment_1 = 0;
++ uint32_t length_comment_1 = 0;
+ TALLOC_CTX *_mem_save_comment_0;
+ if (ndr_flags & NDR_SCALARS) {
+ NDR_CHECK(ndr_pull_align(ndr, 4));
+@@ -6404,11 +6606,13 @@ static enum ndr_err_code ndr_pull_srvsvc_NetSrvInfo101(struct ndr_pull *ndr, int
+ NDR_PULL_SET_MEM_CTX(ndr, r->server_name, 0);
+ NDR_CHECK(ndr_pull_array_size(ndr, &r->server_name));
+ NDR_CHECK(ndr_pull_array_length(ndr, &r->server_name));
+- if (ndr_get_array_length(ndr, &r->server_name) > ndr_get_array_size(ndr, &r->server_name)) {
+- return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->server_name), ndr_get_array_length(ndr, &r->server_name));
++ size_server_name_1 = ndr_get_array_size(ndr, &r->server_name);
++ length_server_name_1 = ndr_get_array_length(ndr, &r->server_name);
++ if (length_server_name_1 > size_server_name_1) {
++ return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_server_name_1, length_server_name_1);
+ }
+- NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->server_name), sizeof(uint16_t)));
+- NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->server_name, ndr_get_array_length(ndr, &r->server_name), sizeof(uint16_t), CH_UTF16));
++ NDR_CHECK(ndr_check_string_terminator(ndr, length_server_name_1, sizeof(uint16_t)));
++ NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->server_name, length_server_name_1, sizeof(uint16_t), CH_UTF16));
+ NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_name_0, 0);
+ }
+ if (r->comment) {
+@@ -6416,11 +6620,13 @@ static enum ndr_err_code ndr_pull_srvsvc_NetSrvInfo101(struct ndr_pull *ndr, int
+ NDR_PULL_SET_MEM_CTX(ndr, r->comment, 0);
+ NDR_CHECK(ndr_pull_array_size(ndr, &r->comment));
+ NDR_CHECK(ndr_pull_array_length(ndr, &r->comment));
+- if (ndr_get_array_length(ndr, &r->comment) > ndr_get_array_size(ndr, &r->comment)) {
+- return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->comment), ndr_get_array_length(ndr, &r->comment));
++ size_comment_1 = ndr_get_array_size(ndr, &r->comment);
++ length_comment_1 = ndr_get_array_length(ndr, &r->comment);
++ if (length_comment_1 > size_comment_1) {
++ return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_comment_1, length_comment_1);
+ }
+- NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->comment), sizeof(uint16_t)));
+- NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->comment, ndr_get_array_length(ndr, &r->comment), sizeof(uint16_t), CH_UTF16));
++ NDR_CHECK(ndr_check_string_terminator(ndr, length_comment_1, sizeof(uint16_t)));
++ NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->comment, length_comment_1, sizeof(uint16_t), CH_UTF16));
+ NDR_PULL_SET_MEM_CTX(ndr, _mem_save_comment_0, 0);
+ }
+ }
+@@ -6494,10 +6700,16 @@ static enum ndr_err_code ndr_push_srvsvc_NetSrvInfo102(struct ndr_push *ndr, int
+ static enum ndr_err_code ndr_pull_srvsvc_NetSrvInfo102(struct ndr_pull *ndr, int ndr_flags, struct srvsvc_NetSrvInfo102 *r)
+ {
+ uint32_t _ptr_server_name;
++ uint32_t size_server_name_1 = 0;
++ uint32_t length_server_name_1 = 0;
+ TALLOC_CTX *_mem_save_server_name_0;
+ uint32_t _ptr_comment;
++ uint32_t size_comment_1 = 0;
++ uint32_t length_comment_1 = 0;
+ TALLOC_CTX *_mem_save_comment_0;
+ uint32_t _ptr_userpath;
++ uint32_t size_userpath_1 = 0;
++ uint32_t length_userpath_1 = 0;
+ TALLOC_CTX *_mem_save_userpath_0;
+ if (ndr_flags & NDR_SCALARS) {
+ NDR_CHECK(ndr_pull_align(ndr, 4));
+@@ -6536,11 +6748,13 @@ static enum ndr_err_code ndr_pull_srvsvc_NetSrvInfo102(struct ndr_pull *ndr, int
+ NDR_PULL_SET_MEM_CTX(ndr, r->server_name, 0);
+ NDR_CHECK(ndr_pull_array_size(ndr, &r->server_name));
+ NDR_CHECK(ndr_pull_array_length(ndr, &r->server_name));
+- if (ndr_get_array_length(ndr, &r->server_name) > ndr_get_array_size(ndr, &r->server_name)) {
+- return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->server_name), ndr_get_array_length(ndr, &r->server_name));
++ size_server_name_1 = ndr_get_array_size(ndr, &r->server_name);
++ length_server_name_1 = ndr_get_array_length(ndr, &r->server_name);
++ if (length_server_name_1 > size_server_name_1) {
++ return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_server_name_1, length_server_name_1);
+ }
+- NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->server_name), sizeof(uint16_t)));
+- NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->server_name, ndr_get_array_length(ndr, &r->server_name), sizeof(uint16_t), CH_UTF16));
++ NDR_CHECK(ndr_check_string_terminator(ndr, length_server_name_1, sizeof(uint16_t)));
++ NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->server_name, length_server_name_1, sizeof(uint16_t), CH_UTF16));
+ NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_name_0, 0);
+ }
+ if (r->comment) {
+@@ -6548,11 +6762,13 @@ static enum ndr_err_code ndr_pull_srvsvc_NetSrvInfo102(struct ndr_pull *ndr, int
+ NDR_PULL_SET_MEM_CTX(ndr, r->comment, 0);
+ NDR_CHECK(ndr_pull_array_size(ndr, &r->comment));
+ NDR_CHECK(ndr_pull_array_length(ndr, &r->comment));
+- if (ndr_get_array_length(ndr, &r->comment) > ndr_get_array_size(ndr, &r->comment)) {
+- return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->comment), ndr_get_array_length(ndr, &r->comment));
++ size_comment_1 = ndr_get_array_size(ndr, &r->comment);
++ length_comment_1 = ndr_get_array_length(ndr, &r->comment);
++ if (length_comment_1 > size_comment_1) {
++ return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_comment_1, length_comment_1);
+ }
+- NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->comment), sizeof(uint16_t)));
+- NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->comment, ndr_get_array_length(ndr, &r->comment), sizeof(uint16_t), CH_UTF16));
++ NDR_CHECK(ndr_check_string_terminator(ndr, length_comment_1, sizeof(uint16_t)));
++ NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->comment, length_comment_1, sizeof(uint16_t), CH_UTF16));
+ NDR_PULL_SET_MEM_CTX(ndr, _mem_save_comment_0, 0);
+ }
+ if (r->userpath) {
+@@ -6560,11 +6776,13 @@ static enum ndr_err_code ndr_pull_srvsvc_NetSrvInfo102(struct ndr_pull *ndr, int
+ NDR_PULL_SET_MEM_CTX(ndr, r->userpath, 0);
+ NDR_CHECK(ndr_pull_array_size(ndr, &r->userpath));
+ NDR_CHECK(ndr_pull_array_length(ndr, &r->userpath));
+- if (ndr_get_array_length(ndr, &r->userpath) > ndr_get_array_size(ndr, &r->userpath)) {
+- return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->userpath), ndr_get_array_length(ndr, &r->userpath));
++ size_userpath_1 = ndr_get_array_size(ndr, &r->userpath);
++ length_userpath_1 = ndr_get_array_length(ndr, &r->userpath);
++ if (length_userpath_1 > size_userpath_1) {
++ return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_userpath_1, length_userpath_1);
+ }
+- NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->userpath), sizeof(uint16_t)));
+- NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->userpath, ndr_get_array_length(ndr, &r->userpath), sizeof(uint16_t), CH_UTF16));
++ NDR_CHECK(ndr_check_string_terminator(ndr, length_userpath_1, sizeof(uint16_t)));
++ NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->userpath, length_userpath_1, sizeof(uint16_t), CH_UTF16));
+ NDR_PULL_SET_MEM_CTX(ndr, _mem_save_userpath_0, 0);
+ }
+ }
+@@ -6667,10 +6885,16 @@ static enum ndr_err_code ndr_push_srvsvc_NetSrvInfo402(struct ndr_push *ndr, int
+ static enum ndr_err_code ndr_pull_srvsvc_NetSrvInfo402(struct ndr_pull *ndr, int ndr_flags, struct srvsvc_NetSrvInfo402 *r)
+ {
+ uint32_t _ptr_alerts;
++ uint32_t size_alerts_1 = 0;
++ uint32_t length_alerts_1 = 0;
+ TALLOC_CTX *_mem_save_alerts_0;
+ uint32_t _ptr_guestaccount;
++ uint32_t size_guestaccount_1 = 0;
++ uint32_t length_guestaccount_1 = 0;
+ TALLOC_CTX *_mem_save_guestaccount_0;
+ uint32_t _ptr_srvheuristics;
++ uint32_t size_srvheuristics_1 = 0;
++ uint32_t length_srvheuristics_1 = 0;
+ TALLOC_CTX *_mem_save_srvheuristics_0;
+ if (ndr_flags & NDR_SCALARS) {
+ NDR_CHECK(ndr_pull_align(ndr, 4));
+@@ -6726,11 +6950,13 @@ static enum ndr_err_code ndr_pull_srvsvc_NetSrvInfo402(struct ndr_pull *ndr, int
+ NDR_PULL_SET_MEM_CTX(ndr, r->alerts, 0);
+ NDR_CHECK(ndr_pull_array_size(ndr, &r->alerts));
+ NDR_CHECK(ndr_pull_array_length(ndr, &r->alerts));
+- if (ndr_get_array_length(ndr, &r->alerts) > ndr_get_array_size(ndr, &r->alerts)) {
+- return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->alerts), ndr_get_array_length(ndr, &r->alerts));
++ size_alerts_1 = ndr_get_array_size(ndr, &r->alerts);
++ length_alerts_1 = ndr_get_array_length(ndr, &r->alerts);
++ if (length_alerts_1 > size_alerts_1) {
++ return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_alerts_1, length_alerts_1);
+ }
+- NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->alerts), sizeof(uint16_t)));
+- NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->alerts, ndr_get_array_length(ndr, &r->alerts), sizeof(uint16_t), CH_UTF16));
++ NDR_CHECK(ndr_check_string_terminator(ndr, length_alerts_1, sizeof(uint16_t)));
++ NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->alerts, length_alerts_1, sizeof(uint16_t), CH_UTF16));
+ NDR_PULL_SET_MEM_CTX(ndr, _mem_save_alerts_0, 0);
+ }
+ if (r->guestaccount) {
+@@ -6738,11 +6964,13 @@ static enum ndr_err_code ndr_pull_srvsvc_NetSrvInfo402(struct ndr_pull *ndr, int
+ NDR_PULL_SET_MEM_CTX(ndr, r->guestaccount, 0);
+ NDR_CHECK(ndr_pull_array_size(ndr, &r->guestaccount));
+ NDR_CHECK(ndr_pull_array_length(ndr, &r->guestaccount));
+- if (ndr_get_array_length(ndr, &r->guestaccount) > ndr_get_array_size(ndr, &r->guestaccount)) {
+- return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->guestaccount), ndr_get_array_length(ndr, &r->guestaccount));
++ size_guestaccount_1 = ndr_get_array_size(ndr, &r->guestaccount);
++ length_guestaccount_1 = ndr_get_array_length(ndr, &r->guestaccount);
++ if (length_guestaccount_1 > size_guestaccount_1) {
++ return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_guestaccount_1, length_guestaccount_1);
+ }
+- NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->guestaccount), sizeof(uint16_t)));
+- NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->guestaccount, ndr_get_array_length(ndr, &r->guestaccount), sizeof(uint16_t), CH_UTF16));
++ NDR_CHECK(ndr_check_string_terminator(ndr, length_guestaccount_1, sizeof(uint16_t)));
++ NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->guestaccount, length_guestaccount_1, sizeof(uint16_t), CH_UTF16));
+ NDR_PULL_SET_MEM_CTX(ndr, _mem_save_guestaccount_0, 0);
+ }
+ if (r->srvheuristics) {
+@@ -6750,11 +6978,13 @@ static enum ndr_err_code ndr_pull_srvsvc_NetSrvInfo402(struct ndr_pull *ndr, int
+ NDR_PULL_SET_MEM_CTX(ndr, r->srvheuristics, 0);
+ NDR_CHECK(ndr_pull_array_size(ndr, &r->srvheuristics));
+ NDR_CHECK(ndr_pull_array_length(ndr, &r->srvheuristics));
+- if (ndr_get_array_length(ndr, &r->srvheuristics) > ndr_get_array_size(ndr, &r->srvheuristics)) {
+- return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->srvheuristics), ndr_get_array_length(ndr, &r->srvheuristics));
++ size_srvheuristics_1 = ndr_get_array_size(ndr, &r->srvheuristics);
++ length_srvheuristics_1 = ndr_get_array_length(ndr, &r->srvheuristics);
++ if (length_srvheuristics_1 > size_srvheuristics_1) {
++ return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_srvheuristics_1, length_srvheuristics_1);
+ }
+- NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->srvheuristics), sizeof(uint16_t)));
+- NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->srvheuristics, ndr_get_array_length(ndr, &r->srvheuristics), sizeof(uint16_t), CH_UTF16));
++ NDR_CHECK(ndr_check_string_terminator(ndr, length_srvheuristics_1, sizeof(uint16_t)));
++ NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->srvheuristics, length_srvheuristics_1, sizeof(uint16_t), CH_UTF16));
+ NDR_PULL_SET_MEM_CTX(ndr, _mem_save_srvheuristics_0, 0);
+ }
+ }
+@@ -6883,12 +7113,20 @@ static enum ndr_err_code ndr_push_srvsvc_NetSrvInfo403(struct ndr_push *ndr, int
+ static enum ndr_err_code ndr_pull_srvsvc_NetSrvInfo403(struct ndr_pull *ndr, int ndr_flags, struct srvsvc_NetSrvInfo403 *r)
+ {
+ uint32_t _ptr_alerts;
++ uint32_t size_alerts_1 = 0;
++ uint32_t length_alerts_1 = 0;
+ TALLOC_CTX *_mem_save_alerts_0;
+ uint32_t _ptr_guestaccount;
++ uint32_t size_guestaccount_1 = 0;
++ uint32_t length_guestaccount_1 = 0;
+ TALLOC_CTX *_mem_save_guestaccount_0;
+ uint32_t _ptr_srvheuristics;
++ uint32_t size_srvheuristics_1 = 0;
++ uint32_t length_srvheuristics_1 = 0;
+ TALLOC_CTX *_mem_save_srvheuristics_0;
+ uint32_t _ptr_autopath;
++ uint32_t size_autopath_1 = 0;
++ uint32_t length_autopath_1 = 0;
+ TALLOC_CTX *_mem_save_autopath_0;
+ if (ndr_flags & NDR_SCALARS) {
+ NDR_CHECK(ndr_pull_align(ndr, 4));
+@@ -6952,11 +7190,13 @@ static enum ndr_err_code ndr_pull_srvsvc_NetSrvInfo403(struct ndr_pull *ndr, int
+ NDR_PULL_SET_MEM_CTX(ndr, r->alerts, 0);
+ NDR_CHECK(ndr_pull_array_size(ndr, &r->alerts));
+ NDR_CHECK(ndr_pull_array_length(ndr, &r->alerts));
+- if (ndr_get_array_length(ndr, &r->alerts) > ndr_get_array_size(ndr, &r->alerts)) {
+- return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->alerts), ndr_get_array_length(ndr, &r->alerts));
++ size_alerts_1 = ndr_get_array_size(ndr, &r->alerts);
++ length_alerts_1 = ndr_get_array_length(ndr, &r->alerts);
++ if (length_alerts_1 > size_alerts_1) {
++ return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_alerts_1, length_alerts_1);
+ }
+- NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->alerts), sizeof(uint16_t)));
+- NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->alerts, ndr_get_array_length(ndr, &r->alerts), sizeof(uint16_t), CH_UTF16));
++ NDR_CHECK(ndr_check_string_terminator(ndr, length_alerts_1, sizeof(uint16_t)));
++ NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->alerts, length_alerts_1, sizeof(uint16_t), CH_UTF16));
+ NDR_PULL_SET_MEM_CTX(ndr, _mem_save_alerts_0, 0);
+ }
+ if (r->guestaccount) {
+@@ -6964,11 +7204,13 @@ static enum ndr_err_code ndr_pull_srvsvc_NetSrvInfo403(struct ndr_pull *ndr, int
+ NDR_PULL_SET_MEM_CTX(ndr, r->guestaccount, 0);
+ NDR_CHECK(ndr_pull_array_size(ndr, &r->guestaccount));
+ NDR_CHECK(ndr_pull_array_length(ndr, &r->guestaccount));
+- if (ndr_get_array_length(ndr, &r->guestaccount) > ndr_get_array_size(ndr, &r->guestaccount)) {
+- return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->guestaccount), ndr_get_array_length(ndr, &r->guestaccount));
++ size_guestaccount_1 = ndr_get_array_size(ndr, &r->guestaccount);
++ length_guestaccount_1 = ndr_get_array_length(ndr, &r->guestaccount);
++ if (length_guestaccount_1 > size_guestaccount_1) {
++ return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_guestaccount_1, length_guestaccount_1);
+ }
+- NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->guestaccount), sizeof(uint16_t)));
+- NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->guestaccount, ndr_get_array_length(ndr, &r->guestaccount), sizeof(uint16_t), CH_UTF16));
++ NDR_CHECK(ndr_check_string_terminator(ndr, length_guestaccount_1, sizeof(uint16_t)));
++ NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->guestaccount, length_guestaccount_1, sizeof(uint16_t), CH_UTF16));
+ NDR_PULL_SET_MEM_CTX(ndr, _mem_save_guestaccount_0, 0);
+ }
+ if (r->srvheuristics) {
+@@ -6976,11 +7218,13 @@ static enum ndr_err_code ndr_pull_srvsvc_NetSrvInfo403(struct ndr_pull *ndr, int
+ NDR_PULL_SET_MEM_CTX(ndr, r->srvheuristics, 0);
+ NDR_CHECK(ndr_pull_array_size(ndr, &r->srvheuristics));
+ NDR_CHECK(ndr_pull_array_length(ndr, &r->srvheuristics));
+- if (ndr_get_array_length(ndr, &r->srvheuristics) > ndr_get_array_size(ndr, &r->srvheuristics)) {
+- return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->srvheuristics), ndr_get_array_length(ndr, &r->srvheuristics));
++ size_srvheuristics_1 = ndr_get_array_size(ndr, &r->srvheuristics);
++ length_srvheuristics_1 = ndr_get_array_length(ndr, &r->srvheuristics);
++ if (length_srvheuristics_1 > size_srvheuristics_1) {
++ return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_srvheuristics_1, length_srvheuristics_1);
+ }
+- NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->srvheuristics), sizeof(uint16_t)));
+- NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->srvheuristics, ndr_get_array_length(ndr, &r->srvheuristics), sizeof(uint16_t), CH_UTF16));
++ NDR_CHECK(ndr_check_string_terminator(ndr, length_srvheuristics_1, sizeof(uint16_t)));
++ NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->srvheuristics, length_srvheuristics_1, sizeof(uint16_t), CH_UTF16));
+ NDR_PULL_SET_MEM_CTX(ndr, _mem_save_srvheuristics_0, 0);
+ }
+ if (r->autopath) {
+@@ -6988,11 +7232,13 @@ static enum ndr_err_code ndr_pull_srvsvc_NetSrvInfo403(struct ndr_pull *ndr, int
+ NDR_PULL_SET_MEM_CTX(ndr, r->autopath, 0);
+ NDR_CHECK(ndr_pull_array_size(ndr, &r->autopath));
+ NDR_CHECK(ndr_pull_array_length(ndr, &r->autopath));
+- if (ndr_get_array_length(ndr, &r->autopath) > ndr_get_array_size(ndr, &r->autopath)) {
+- return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->autopath), ndr_get_array_length(ndr, &r->autopath));
++ size_autopath_1 = ndr_get_array_size(ndr, &r->autopath);
++ length_autopath_1 = ndr_get_array_length(ndr, &r->autopath);
++ if (length_autopath_1 > size_autopath_1) {
++ return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_autopath_1, length_autopath_1);
+ }
+- NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->autopath), sizeof(uint16_t)));
+- NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->autopath, ndr_get_array_length(ndr, &r->autopath), sizeof(uint16_t), CH_UTF16));
++ NDR_CHECK(ndr_check_string_terminator(ndr, length_autopath_1, sizeof(uint16_t)));
++ NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->autopath, length_autopath_1, sizeof(uint16_t), CH_UTF16));
+ NDR_PULL_SET_MEM_CTX(ndr, _mem_save_autopath_0, 0);
+ }
+ }
+@@ -7201,6 +7447,8 @@ static enum ndr_err_code ndr_push_srvsvc_NetSrvInfo503(struct ndr_push *ndr, int
+ static enum ndr_err_code ndr_pull_srvsvc_NetSrvInfo503(struct ndr_pull *ndr, int ndr_flags, struct srvsvc_NetSrvInfo503 *r)
+ {
+ uint32_t _ptr_domain;
++ uint32_t size_domain_1 = 0;
++ uint32_t length_domain_1 = 0;
+ TALLOC_CTX *_mem_save_domain_0;
+ if (ndr_flags & NDR_SCALARS) {
+ NDR_CHECK(ndr_pull_align(ndr, 4));
+@@ -7258,11 +7506,13 @@ static enum ndr_err_code ndr_pull_srvsvc_NetSrvInfo503(struct ndr_pull *ndr, int
+ NDR_PULL_SET_MEM_CTX(ndr, r->domain, 0);
+ NDR_CHECK(ndr_pull_array_size(ndr, &r->domain));
+ NDR_CHECK(ndr_pull_array_length(ndr, &r->domain));
+- if (ndr_get_array_length(ndr, &r->domain) > ndr_get_array_size(ndr, &r->domain)) {
+- return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->domain), ndr_get_array_length(ndr, &r->domain));
++ size_domain_1 = ndr_get_array_size(ndr, &r->domain);
++ length_domain_1 = ndr_get_array_length(ndr, &r->domain);
++ if (length_domain_1 > size_domain_1) {
++ return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_domain_1, length_domain_1);
+ }
+- NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->domain), sizeof(uint16_t)));
+- NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->domain, ndr_get_array_length(ndr, &r->domain), sizeof(uint16_t), CH_UTF16));
++ NDR_CHECK(ndr_check_string_terminator(ndr, length_domain_1, sizeof(uint16_t)));
++ NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->domain, length_domain_1, sizeof(uint16_t), CH_UTF16));
+ NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_0, 0);
+ }
+ }
+@@ -7397,6 +7647,8 @@ static enum ndr_err_code ndr_push_srvsvc_NetSrvInfo599(struct ndr_push *ndr, int
+ static enum ndr_err_code ndr_pull_srvsvc_NetSrvInfo599(struct ndr_pull *ndr, int ndr_flags, struct srvsvc_NetSrvInfo599 *r)
+ {
+ uint32_t _ptr_domain;
++ uint32_t size_domain_1 = 0;
++ uint32_t length_domain_1 = 0;
+ TALLOC_CTX *_mem_save_domain_0;
+ if (ndr_flags & NDR_SCALARS) {
+ NDR_CHECK(ndr_pull_align(ndr, 4));
+@@ -7467,11 +7719,13 @@ static enum ndr_err_code ndr_pull_srvsvc_NetSrvInfo599(struct ndr_pull *ndr, int
+ NDR_PULL_SET_MEM_CTX(ndr, r->domain, 0);
+ NDR_CHECK(ndr_pull_array_size(ndr, &r->domain));
+ NDR_CHECK(ndr_pull_array_length(ndr, &r->domain));
+- if (ndr_get_array_length(ndr, &r->domain) > ndr_get_array_size(ndr, &r->domain)) {
+- return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->domain), ndr_get_array_length(ndr, &r->domain));
++ size_domain_1 = ndr_get_array_size(ndr, &r->domain);
++ length_domain_1 = ndr_get_array_length(ndr, &r->domain);
++ if (length_domain_1 > size_domain_1) {
++ return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_domain_1, length_domain_1);
+ }
+- NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->domain), sizeof(uint16_t)));
+- NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->domain, ndr_get_array_length(ndr, &r->domain), sizeof(uint16_t), CH_UTF16));
++ NDR_CHECK(ndr_check_string_terminator(ndr, length_domain_1, sizeof(uint16_t)));
++ NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->domain, length_domain_1, sizeof(uint16_t), CH_UTF16));
+ NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_0, 0);
+ }
+ }
+@@ -7565,6 +7819,8 @@ static enum ndr_err_code ndr_push_srvsvc_NetSrvInfo1005(struct ndr_push *ndr, in
+ static enum ndr_err_code ndr_pull_srvsvc_NetSrvInfo1005(struct ndr_pull *ndr, int ndr_flags, struct srvsvc_NetSrvInfo1005 *r)
+ {
+ uint32_t _ptr_comment;
++ uint32_t size_comment_1 = 0;
++ uint32_t length_comment_1 = 0;
+ TALLOC_CTX *_mem_save_comment_0;
+ if (ndr_flags & NDR_SCALARS) {
+ NDR_CHECK(ndr_pull_align(ndr, 4));
+@@ -7581,11 +7837,13 @@ static enum ndr_err_code ndr_pull_srvsvc_NetSrvInfo1005(struct ndr_pull *ndr, in
+ NDR_PULL_SET_MEM_CTX(ndr, r->comment, 0);
+ NDR_CHECK(ndr_pull_array_size(ndr, &r->comment));
+ NDR_CHECK(ndr_pull_array_length(ndr, &r->comment));
+- if (ndr_get_array_length(ndr, &r->comment) > ndr_get_array_size(ndr, &r->comment)) {
+- return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->comment), ndr_get_array_length(ndr, &r->comment));
++ size_comment_1 = ndr_get_array_size(ndr, &r->comment);
++ length_comment_1 = ndr_get_array_length(ndr, &r->comment);
++ if (length_comment_1 > size_comment_1) {
++ return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_comment_1, length_comment_1);
+ }
+- NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->comment), sizeof(uint16_t)));
+- NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->comment, ndr_get_array_length(ndr, &r->comment), sizeof(uint16_t), CH_UTF16));
++ NDR_CHECK(ndr_check_string_terminator(ndr, length_comment_1, sizeof(uint16_t)));
++ NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->comment, length_comment_1, sizeof(uint16_t), CH_UTF16));
+ NDR_PULL_SET_MEM_CTX(ndr, _mem_save_comment_0, 0);
+ }
+ }
+@@ -9722,64 +9980,123 @@ static enum ndr_err_code ndr_pull_srvsvc_NetSrvInfo(struct ndr_pull *ndr, int nd
+ int level;
+ uint32_t _level;
+ TALLOC_CTX *_mem_save_info100_0;
++ uint32_t _ptr_info100;
+ TALLOC_CTX *_mem_save_info101_0;
++ uint32_t _ptr_info101;
+ TALLOC_CTX *_mem_save_info102_0;
++ uint32_t _ptr_info102;
+ TALLOC_CTX *_mem_save_info402_0;
++ uint32_t _ptr_info402;
+ TALLOC_CTX *_mem_save_info403_0;
++ uint32_t _ptr_info403;
+ TALLOC_CTX *_mem_save_info502_0;
++ uint32_t _ptr_info502;
+ TALLOC_CTX *_mem_save_info503_0;
++ uint32_t _ptr_info503;
+ TALLOC_CTX *_mem_save_info599_0;
++ uint32_t _ptr_info599;
+ TALLOC_CTX *_mem_save_info1005_0;
++ uint32_t _ptr_info1005;
+ TALLOC_CTX *_mem_save_info1010_0;
++ uint32_t _ptr_info1010;
+ TALLOC_CTX *_mem_save_info1016_0;
++ uint32_t _ptr_info1016;
+ TALLOC_CTX *_mem_save_info1017_0;
++ uint32_t _ptr_info1017;
+ TALLOC_CTX *_mem_save_info1018_0;
++ uint32_t _ptr_info1018;
+ TALLOC_CTX *_mem_save_info1107_0;
++ uint32_t _ptr_info1107;
+ TALLOC_CTX *_mem_save_info1501_0;
++ uint32_t _ptr_info1501;
+ TALLOC_CTX *_mem_save_info1502_0;
++ uint32_t _ptr_info1502;
+ TALLOC_CTX *_mem_save_info1503_0;
++ uint32_t _ptr_info1503;
+ TALLOC_CTX *_mem_save_info1506_0;
++ uint32_t _ptr_info1506;
+ TALLOC_CTX *_mem_save_info1509_0;
++ uint32_t _ptr_info1509;
+ TALLOC_CTX *_mem_save_info1510_0;
++ uint32_t _ptr_info1510;
+ TALLOC_CTX *_mem_save_info1511_0;
++ uint32_t _ptr_info1511;
+ TALLOC_CTX *_mem_save_info1512_0;
++ uint32_t _ptr_info1512;
+ TALLOC_CTX *_mem_save_info1513_0;
++ uint32_t _ptr_info1513;
+ TALLOC_CTX *_mem_save_info1514_0;
++ uint32_t _ptr_info1514;
+ TALLOC_CTX *_mem_save_info1515_0;
++ uint32_t _ptr_info1515;
+ TALLOC_CTX *_mem_save_info1516_0;
++ uint32_t _ptr_info1516;
+ TALLOC_CTX *_mem_save_info1518_0;
++ uint32_t _ptr_info1518;
+ TALLOC_CTX *_mem_save_info1520_0;
++ uint32_t _ptr_info1520;
+ TALLOC_CTX *_mem_save_info1521_0;
++ uint32_t _ptr_info1521;
+ TALLOC_CTX *_mem_save_info1522_0;
++ uint32_t _ptr_info1522;
+ TALLOC_CTX *_mem_save_info1523_0;
++ uint32_t _ptr_info1523;
+ TALLOC_CTX *_mem_save_info1524_0;
++ uint32_t _ptr_info1524;
+ TALLOC_CTX *_mem_save_info1525_0;
++ uint32_t _ptr_info1525;
+ TALLOC_CTX *_mem_save_info1528_0;
++ uint32_t _ptr_info1528;
+ TALLOC_CTX *_mem_save_info1529_0;
++ uint32_t _ptr_info1529;
+ TALLOC_CTX *_mem_save_info1530_0;
++ uint32_t _ptr_info1530;
+ TALLOC_CTX *_mem_save_info1533_0;
++ uint32_t _ptr_info1533;
+ TALLOC_CTX *_mem_save_info1534_0;
++ uint32_t _ptr_info1534;
+ TALLOC_CTX *_mem_save_info1535_0;
++ uint32_t _ptr_info1535;
+ TALLOC_CTX *_mem_save_info1536_0;
++ uint32_t _ptr_info1536;
+ TALLOC_CTX *_mem_save_info1537_0;
++ uint32_t _ptr_info1537;
+ TALLOC_CTX *_mem_save_info1538_0;
++ uint32_t _ptr_info1538;
+ TALLOC_CTX *_mem_save_info1539_0;
++ uint32_t _ptr_info1539;
+ TALLOC_CTX *_mem_save_info1540_0;
++ uint32_t _ptr_info1540;
+ TALLOC_CTX *_mem_save_info1541_0;
++ uint32_t _ptr_info1541;
+ TALLOC_CTX *_mem_save_info1542_0;
++ uint32_t _ptr_info1542;
+ TALLOC_CTX *_mem_save_info1543_0;
++ uint32_t _ptr_info1543;
+ TALLOC_CTX *_mem_save_info1544_0;
++ uint32_t _ptr_info1544;
+ TALLOC_CTX *_mem_save_info1545_0;
++ uint32_t _ptr_info1545;
+ TALLOC_CTX *_mem_save_info1546_0;
++ uint32_t _ptr_info1546;
+ TALLOC_CTX *_mem_save_info1547_0;
++ uint32_t _ptr_info1547;
+ TALLOC_CTX *_mem_save_info1548_0;
++ uint32_t _ptr_info1548;
+ TALLOC_CTX *_mem_save_info1549_0;
++ uint32_t _ptr_info1549;
+ TALLOC_CTX *_mem_save_info1550_0;
++ uint32_t _ptr_info1550;
+ TALLOC_CTX *_mem_save_info1552_0;
++ uint32_t _ptr_info1552;
+ TALLOC_CTX *_mem_save_info1553_0;
++ uint32_t _ptr_info1553;
+ TALLOC_CTX *_mem_save_info1554_0;
++ uint32_t _ptr_info1554;
+ TALLOC_CTX *_mem_save_info1555_0;
++ uint32_t _ptr_info1555;
+ TALLOC_CTX *_mem_save_info1556_0;
++ uint32_t _ptr_info1556;
+ level = ndr_pull_get_switch_value(ndr, r);
+ if (ndr_flags & NDR_SCALARS) {
+ NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &_level));
+@@ -9788,7 +10105,6 @@ static enum ndr_err_code ndr_pull_srvsvc_NetSrvInfo(struct ndr_pull *ndr, int nd
+ }
+ switch (level) {
+ case 100: {
+- uint32_t _ptr_info100;
+ NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info100));
+ if (_ptr_info100) {
+ NDR_PULL_ALLOC(ndr, r->info100);
+@@ -9798,7 +10114,6 @@ static enum ndr_err_code ndr_pull_srvsvc_NetSrvInfo(struct ndr_pull *ndr, int nd
+ break; }
+
+ case 101: {
+- uint32_t _ptr_info101;
+ NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info101));
+ if (_ptr_info101) {
+ NDR_PULL_ALLOC(ndr, r->info101);
+@@ -9808,7 +10123,6 @@ static enum ndr_err_code ndr_pull_srvsvc_NetSrvInfo(struct ndr_pull *ndr, int nd
+ break; }
+
+ case 102: {
+- uint32_t _ptr_info102;
+ NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info102));
+ if (_ptr_info102) {
+ NDR_PULL_ALLOC(ndr, r->info102);
+@@ -9818,7 +10132,6 @@ static enum ndr_err_code ndr_pull_srvsvc_NetSrvInfo(struct ndr_pull *ndr, int nd
+ break; }
+
+ case 402: {
+- uint32_t _ptr_info402;
+ NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info402));
+ if (_ptr_info402) {
+ NDR_PULL_ALLOC(ndr, r->info402);
+@@ -9828,7 +10141,6 @@ static enum ndr_err_code ndr_pull_srvsvc_NetSrvInfo(struct ndr_pull *ndr, int nd
+ break; }
+
+ case 403: {
+- uint32_t _ptr_info403;
+ NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info403));
+ if (_ptr_info403) {
+ NDR_PULL_ALLOC(ndr, r->info403);
+@@ -9838,7 +10150,6 @@ static enum ndr_err_code ndr_pull_srvsvc_NetSrvInfo(struct ndr_pull *ndr, int nd
+ break; }
+
+ case 502: {
+- uint32_t _ptr_info502;
+ NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info502));
+ if (_ptr_info502) {
+ NDR_PULL_ALLOC(ndr, r->info502);
+@@ -9848,7 +10159,6 @@ static enum ndr_err_code ndr_pull_srvsvc_NetSrvInfo(struct ndr_pull *ndr, int nd
+ break; }
+
+ case 503: {
+- uint32_t _ptr_info503;
+ NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info503));
+ if (_ptr_info503) {
+ NDR_PULL_ALLOC(ndr, r->info503);
+@@ -9858,7 +10168,6 @@ static enum ndr_err_code ndr_pull_srvsvc_NetSrvInfo(struct ndr_pull *ndr, int nd
+ break; }
+
+ case 599: {
+- uint32_t _ptr_info599;
+ NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info599));
+ if (_ptr_info599) {
+ NDR_PULL_ALLOC(ndr, r->info599);
+@@ -9868,7 +10177,6 @@ static enum ndr_err_code ndr_pull_srvsvc_NetSrvInfo(struct ndr_pull *ndr, int nd
+ break; }
+
+ case 1005: {
+- uint32_t _ptr_info1005;
+ NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info1005));
+ if (_ptr_info1005) {
+ NDR_PULL_ALLOC(ndr, r->info1005);
+@@ -9878,7 +10186,6 @@ static enum ndr_err_code ndr_pull_srvsvc_NetSrvInfo(struct ndr_pull *ndr, int nd
+ break; }
+
+ case 1010: {
+- uint32_t _ptr_info1010;
+ NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info1010));
+ if (_ptr_info1010) {
+ NDR_PULL_ALLOC(ndr, r->info1010);
+@@ -9888,7 +10195,6 @@ static enum ndr_err_code ndr_pull_srvsvc_NetSrvInfo(struct ndr_pull *ndr, int nd
+ break; }
+
+ case 1016: {
+- uint32_t _ptr_info1016;
+ NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info1016));
+ if (_ptr_info1016) {
+ NDR_PULL_ALLOC(ndr, r->info1016);
+@@ -9898,7 +10204,6 @@ static enum ndr_err_code ndr_pull_srvsvc_NetSrvInfo(struct ndr_pull *ndr, int nd
+ break; }
+
+ case 1017: {
+- uint32_t _ptr_info1017;
+ NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info1017));
+ if (_ptr_info1017) {
+ NDR_PULL_ALLOC(ndr, r->info1017);
+@@ -9908,7 +10213,6 @@ static enum ndr_err_code ndr_pull_srvsvc_NetSrvInfo(struct ndr_pull *ndr, int nd
+ break; }
+
+ case 1018: {
+- uint32_t _ptr_info1018;
+ NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info1018));
+ if (_ptr_info1018) {
+ NDR_PULL_ALLOC(ndr, r->info1018);
+@@ -9918,7 +10222,6 @@ static enum ndr_err_code ndr_pull_srvsvc_NetSrvInfo(struct ndr_pull *ndr, int nd
+ break; }
+
+ case 1107: {
+- uint32_t _ptr_info1107;
+ NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info1107));
+ if (_ptr_info1107) {
+ NDR_PULL_ALLOC(ndr, r->info1107);
+@@ -9928,7 +10231,6 @@ static enum ndr_err_code ndr_pull_srvsvc_NetSrvInfo(struct ndr_pull *ndr, int nd
+ break; }
+
+ case 1501: {
+- uint32_t _ptr_info1501;
+ NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info1501));
+ if (_ptr_info1501) {
+ NDR_PULL_ALLOC(ndr, r->info1501);
+@@ -9938,7 +10240,6 @@ static enum ndr_err_code ndr_pull_srvsvc_NetSrvInfo(struct ndr_pull *ndr, int nd
+ break; }
+
+ case 1502: {
+- uint32_t _ptr_info1502;
+ NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info1502));
+ if (_ptr_info1502) {
+ NDR_PULL_ALLOC(ndr, r->info1502);
+@@ -9948,7 +10249,6 @@ static enum ndr_err_code ndr_pull_srvsvc_NetSrvInfo(struct ndr_pull *ndr, int nd
+ break; }
+
+ case 1503: {
+- uint32_t _ptr_info1503;
+ NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info1503));
+ if (_ptr_info1503) {
+ NDR_PULL_ALLOC(ndr, r->info1503);
+@@ -9958,7 +10258,6 @@ static enum ndr_err_code ndr_pull_srvsvc_NetSrvInfo(struct ndr_pull *ndr, int nd
+ break; }
+
+ case 1506: {
+- uint32_t _ptr_info1506;
+ NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info1506));
+ if (_ptr_info1506) {
+ NDR_PULL_ALLOC(ndr, r->info1506);
+@@ -9968,7 +10267,6 @@ static enum ndr_err_code ndr_pull_srvsvc_NetSrvInfo(struct ndr_pull *ndr, int nd
+ break; }
+
+ case 1509: {
+- uint32_t _ptr_info1509;
+ NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info1509));
+ if (_ptr_info1509) {
+ NDR_PULL_ALLOC(ndr, r->info1509);
+@@ -9978,7 +10276,6 @@ static enum ndr_err_code ndr_pull_srvsvc_NetSrvInfo(struct ndr_pull *ndr, int nd
+ break; }
+
+ case 1510: {
+- uint32_t _ptr_info1510;
+ NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info1510));
+ if (_ptr_info1510) {
+ NDR_PULL_ALLOC(ndr, r->info1510);
+@@ -9988,7 +10285,6 @@ static enum ndr_err_code ndr_pull_srvsvc_NetSrvInfo(struct ndr_pull *ndr, int nd
+ break; }
+
+ case 1511: {
+- uint32_t _ptr_info1511;
+ NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info1511));
+ if (_ptr_info1511) {
+ NDR_PULL_ALLOC(ndr, r->info1511);
+@@ -9998,7 +10294,6 @@ static enum ndr_err_code ndr_pull_srvsvc_NetSrvInfo(struct ndr_pull *ndr, int nd
+ break; }
+
+ case 1512: {
+- uint32_t _ptr_info1512;
+ NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info1512));
+ if (_ptr_info1512) {
+ NDR_PULL_ALLOC(ndr, r->info1512);
+@@ -10008,7 +10303,6 @@ static enum ndr_err_code ndr_pull_srvsvc_NetSrvInfo(struct ndr_pull *ndr, int nd
+ break; }
+
+ case 1513: {
+- uint32_t _ptr_info1513;
+ NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info1513));
+ if (_ptr_info1513) {
+ NDR_PULL_ALLOC(ndr, r->info1513);
+@@ -10018,7 +10312,6 @@ static enum ndr_err_code ndr_pull_srvsvc_NetSrvInfo(struct ndr_pull *ndr, int nd
+ break; }
+
+ case 1514: {
+- uint32_t _ptr_info1514;
+ NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info1514));
+ if (_ptr_info1514) {
+ NDR_PULL_ALLOC(ndr, r->info1514);
+@@ -10028,7 +10321,6 @@ static enum ndr_err_code ndr_pull_srvsvc_NetSrvInfo(struct ndr_pull *ndr, int nd
+ break; }
+
+ case 1515: {
+- uint32_t _ptr_info1515;
+ NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info1515));
+ if (_ptr_info1515) {
+ NDR_PULL_ALLOC(ndr, r->info1515);
+@@ -10038,7 +10330,6 @@ static enum ndr_err_code ndr_pull_srvsvc_NetSrvInfo(struct ndr_pull *ndr, int nd
+ break; }
+
+ case 1516: {
+- uint32_t _ptr_info1516;
+ NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info1516));
+ if (_ptr_info1516) {
+ NDR_PULL_ALLOC(ndr, r->info1516);
+@@ -10048,7 +10339,6 @@ static enum ndr_err_code ndr_pull_srvsvc_NetSrvInfo(struct ndr_pull *ndr, int nd
+ break; }
+
+ case 1518: {
+- uint32_t _ptr_info1518;
+ NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info1518));
+ if (_ptr_info1518) {
+ NDR_PULL_ALLOC(ndr, r->info1518);
+@@ -10058,7 +10348,6 @@ static enum ndr_err_code ndr_pull_srvsvc_NetSrvInfo(struct ndr_pull *ndr, int nd
+ break; }
+
+ case 1520: {
+- uint32_t _ptr_info1520;
+ NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info1520));
+ if (_ptr_info1520) {
+ NDR_PULL_ALLOC(ndr, r->info1520);
+@@ -10068,7 +10357,6 @@ static enum ndr_err_code ndr_pull_srvsvc_NetSrvInfo(struct ndr_pull *ndr, int nd
+ break; }
+
+ case 1521: {
+- uint32_t _ptr_info1521;
+ NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info1521));
+ if (_ptr_info1521) {
+ NDR_PULL_ALLOC(ndr, r->info1521);
+@@ -10078,7 +10366,6 @@ static enum ndr_err_code ndr_pull_srvsvc_NetSrvInfo(struct ndr_pull *ndr, int nd
+ break; }
+
+ case 1522: {
+- uint32_t _ptr_info1522;
+ NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info1522));
+ if (_ptr_info1522) {
+ NDR_PULL_ALLOC(ndr, r->info1522);
+@@ -10088,7 +10375,6 @@ static enum ndr_err_code ndr_pull_srvsvc_NetSrvInfo(struct ndr_pull *ndr, int nd
+ break; }
+
+ case 1523: {
+- uint32_t _ptr_info1523;
+ NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info1523));
+ if (_ptr_info1523) {
+ NDR_PULL_ALLOC(ndr, r->info1523);
+@@ -10098,7 +10384,6 @@ static enum ndr_err_code ndr_pull_srvsvc_NetSrvInfo(struct ndr_pull *ndr, int nd
+ break; }
+
+ case 1524: {
+- uint32_t _ptr_info1524;
+ NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info1524));
+ if (_ptr_info1524) {
+ NDR_PULL_ALLOC(ndr, r->info1524);
+@@ -10108,7 +10393,6 @@ static enum ndr_err_code ndr_pull_srvsvc_NetSrvInfo(struct ndr_pull *ndr, int nd
+ break; }
+
+ case 1525: {
+- uint32_t _ptr_info1525;
+ NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info1525));
+ if (_ptr_info1525) {
+ NDR_PULL_ALLOC(ndr, r->info1525);
+@@ -10118,7 +10402,6 @@ static enum ndr_err_code ndr_pull_srvsvc_NetSrvInfo(struct ndr_pull *ndr, int nd
+ break; }
+
+ case 1528: {
+- uint32_t _ptr_info1528;
+ NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info1528));
+ if (_ptr_info1528) {
+ NDR_PULL_ALLOC(ndr, r->info1528);
+@@ -10128,7 +10411,6 @@ static enum ndr_err_code ndr_pull_srvsvc_NetSrvInfo(struct ndr_pull *ndr, int nd
+ break; }
+
+ case 1529: {
+- uint32_t _ptr_info1529;
+ NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info1529));
+ if (_ptr_info1529) {
+ NDR_PULL_ALLOC(ndr, r->info1529);
+@@ -10138,7 +10420,6 @@ static enum ndr_err_code ndr_pull_srvsvc_NetSrvInfo(struct ndr_pull *ndr, int nd
+ break; }
+
+ case 1530: {
+- uint32_t _ptr_info1530;
+ NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info1530));
+ if (_ptr_info1530) {
+ NDR_PULL_ALLOC(ndr, r->info1530);
+@@ -10148,7 +10429,6 @@ static enum ndr_err_code ndr_pull_srvsvc_NetSrvInfo(struct ndr_pull *ndr, int nd
+ break; }
+
+ case 1533: {
+- uint32_t _ptr_info1533;
+ NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info1533));
+ if (_ptr_info1533) {
+ NDR_PULL_ALLOC(ndr, r->info1533);
+@@ -10158,7 +10438,6 @@ static enum ndr_err_code ndr_pull_srvsvc_NetSrvInfo(struct ndr_pull *ndr, int nd
+ break; }
+
+ case 1534: {
+- uint32_t _ptr_info1534;
+ NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info1534));
+ if (_ptr_info1534) {
+ NDR_PULL_ALLOC(ndr, r->info1534);
+@@ -10168,7 +10447,6 @@ static enum ndr_err_code ndr_pull_srvsvc_NetSrvInfo(struct ndr_pull *ndr, int nd
+ break; }
+
+ case 1535: {
+- uint32_t _ptr_info1535;
+ NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info1535));
+ if (_ptr_info1535) {
+ NDR_PULL_ALLOC(ndr, r->info1535);
+@@ -10178,7 +10456,6 @@ static enum ndr_err_code ndr_pull_srvsvc_NetSrvInfo(struct ndr_pull *ndr, int nd
+ break; }
+
+ case 1536: {
+- uint32_t _ptr_info1536;
+ NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info1536));
+ if (_ptr_info1536) {
+ NDR_PULL_ALLOC(ndr, r->info1536);
+@@ -10188,7 +10465,6 @@ static enum ndr_err_code ndr_pull_srvsvc_NetSrvInfo(struct ndr_pull *ndr, int nd
+ break; }
+
+ case 1537: {
+- uint32_t _ptr_info1537;
+ NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info1537));
+ if (_ptr_info1537) {
+ NDR_PULL_ALLOC(ndr, r->info1537);
+@@ -10198,7 +10474,6 @@ static enum ndr_err_code ndr_pull_srvsvc_NetSrvInfo(struct ndr_pull *ndr, int nd
+ break; }
+
+ case 1538: {
+- uint32_t _ptr_info1538;
+ NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info1538));
+ if (_ptr_info1538) {
+ NDR_PULL_ALLOC(ndr, r->info1538);
+@@ -10208,7 +10483,6 @@ static enum ndr_err_code ndr_pull_srvsvc_NetSrvInfo(struct ndr_pull *ndr, int nd
+ break; }
+
+ case 1539: {
+- uint32_t _ptr_info1539;
+ NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info1539));
+ if (_ptr_info1539) {
+ NDR_PULL_ALLOC(ndr, r->info1539);
+@@ -10218,7 +10492,6 @@ static enum ndr_err_code ndr_pull_srvsvc_NetSrvInfo(struct ndr_pull *ndr, int nd
+ break; }
+
+ case 1540: {
+- uint32_t _ptr_info1540;
+ NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info1540));
+ if (_ptr_info1540) {
+ NDR_PULL_ALLOC(ndr, r->info1540);
+@@ -10228,7 +10501,6 @@ static enum ndr_err_code ndr_pull_srvsvc_NetSrvInfo(struct ndr_pull *ndr, int nd
+ break; }
+
+ case 1541: {
+- uint32_t _ptr_info1541;
+ NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info1541));
+ if (_ptr_info1541) {
+ NDR_PULL_ALLOC(ndr, r->info1541);
+@@ -10238,7 +10510,6 @@ static enum ndr_err_code ndr_pull_srvsvc_NetSrvInfo(struct ndr_pull *ndr, int nd
+ break; }
+
+ case 1542: {
+- uint32_t _ptr_info1542;
+ NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info1542));
+ if (_ptr_info1542) {
+ NDR_PULL_ALLOC(ndr, r->info1542);
+@@ -10248,7 +10519,6 @@ static enum ndr_err_code ndr_pull_srvsvc_NetSrvInfo(struct ndr_pull *ndr, int nd
+ break; }
+
+ case 1543: {
+- uint32_t _ptr_info1543;
+ NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info1543));
+ if (_ptr_info1543) {
+ NDR_PULL_ALLOC(ndr, r->info1543);
+@@ -10258,7 +10528,6 @@ static enum ndr_err_code ndr_pull_srvsvc_NetSrvInfo(struct ndr_pull *ndr, int nd
+ break; }
+
+ case 1544: {
+- uint32_t _ptr_info1544;
+ NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info1544));
+ if (_ptr_info1544) {
+ NDR_PULL_ALLOC(ndr, r->info1544);
+@@ -10268,7 +10537,6 @@ static enum ndr_err_code ndr_pull_srvsvc_NetSrvInfo(struct ndr_pull *ndr, int nd
+ break; }
+
+ case 1545: {
+- uint32_t _ptr_info1545;
+ NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info1545));
+ if (_ptr_info1545) {
+ NDR_PULL_ALLOC(ndr, r->info1545);
+@@ -10278,7 +10546,6 @@ static enum ndr_err_code ndr_pull_srvsvc_NetSrvInfo(struct ndr_pull *ndr, int nd
+ break; }
+
+ case 1546: {
+- uint32_t _ptr_info1546;
+ NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info1546));
+ if (_ptr_info1546) {
+ NDR_PULL_ALLOC(ndr, r->info1546);
+@@ -10288,7 +10555,6 @@ static enum ndr_err_code ndr_pull_srvsvc_NetSrvInfo(struct ndr_pull *ndr, int nd
+ break; }
+
+ case 1547: {
+- uint32_t _ptr_info1547;
+ NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info1547));
+ if (_ptr_info1547) {
+ NDR_PULL_ALLOC(ndr, r->info1547);
+@@ -10298,7 +10564,6 @@ static enum ndr_err_code ndr_pull_srvsvc_NetSrvInfo(struct ndr_pull *ndr, int nd
+ break; }
+
+ case 1548: {
+- uint32_t _ptr_info1548;
+ NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info1548));
+ if (_ptr_info1548) {
+ NDR_PULL_ALLOC(ndr, r->info1548);
+@@ -10308,7 +10573,6 @@ static enum ndr_err_code ndr_pull_srvsvc_NetSrvInfo(struct ndr_pull *ndr, int nd
+ break; }
+
+ case 1549: {
+- uint32_t _ptr_info1549;
+ NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info1549));
+ if (_ptr_info1549) {
+ NDR_PULL_ALLOC(ndr, r->info1549);
+@@ -10318,7 +10582,6 @@ static enum ndr_err_code ndr_pull_srvsvc_NetSrvInfo(struct ndr_pull *ndr, int nd
+ break; }
+
+ case 1550: {
+- uint32_t _ptr_info1550;
+ NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info1550));
+ if (_ptr_info1550) {
+ NDR_PULL_ALLOC(ndr, r->info1550);
+@@ -10328,7 +10591,6 @@ static enum ndr_err_code ndr_pull_srvsvc_NetSrvInfo(struct ndr_pull *ndr, int nd
+ break; }
+
+ case 1552: {
+- uint32_t _ptr_info1552;
+ NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info1552));
+ if (_ptr_info1552) {
+ NDR_PULL_ALLOC(ndr, r->info1552);
+@@ -10338,7 +10600,6 @@ static enum ndr_err_code ndr_pull_srvsvc_NetSrvInfo(struct ndr_pull *ndr, int nd
+ break; }
+
+ case 1553: {
+- uint32_t _ptr_info1553;
+ NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info1553));
+ if (_ptr_info1553) {
+ NDR_PULL_ALLOC(ndr, r->info1553);
+@@ -10348,7 +10609,6 @@ static enum ndr_err_code ndr_pull_srvsvc_NetSrvInfo(struct ndr_pull *ndr, int nd
+ break; }
+
+ case 1554: {
+- uint32_t _ptr_info1554;
+ NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info1554));
+ if (_ptr_info1554) {
+ NDR_PULL_ALLOC(ndr, r->info1554);
+@@ -10358,7 +10618,6 @@ static enum ndr_err_code ndr_pull_srvsvc_NetSrvInfo(struct ndr_pull *ndr, int nd
+ break; }
+
+ case 1555: {
+- uint32_t _ptr_info1555;
+ NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info1555));
+ if (_ptr_info1555) {
+ NDR_PULL_ALLOC(ndr, r->info1555);
+@@ -10368,7 +10627,6 @@ static enum ndr_err_code ndr_pull_srvsvc_NetSrvInfo(struct ndr_pull *ndr, int nd
+ break; }
+
+ case 1556: {
+- uint32_t _ptr_info1556;
+ NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info1556));
+ if (_ptr_info1556) {
+ NDR_PULL_ALLOC(ndr, r->info1556);
+@@ -11530,6 +11788,8 @@ static enum ndr_err_code ndr_push_srvsvc_NetDiskInfo(struct ndr_push *ndr, int n
+ static enum ndr_err_code ndr_pull_srvsvc_NetDiskInfo(struct ndr_pull *ndr, int ndr_flags, struct srvsvc_NetDiskInfo *r)
+ {
+ uint32_t _ptr_disks;
++ uint32_t size_disks_1 = 0;
++ uint32_t length_disks_1 = 0;
+ uint32_t cntr_disks_1;
+ TALLOC_CTX *_mem_save_disks_0;
+ TALLOC_CTX *_mem_save_disks_1;
+@@ -11549,13 +11809,15 @@ static enum ndr_err_code ndr_pull_srvsvc_NetDiskInfo(struct ndr_pull *ndr, int n
+ NDR_PULL_SET_MEM_CTX(ndr, r->disks, 0);
+ NDR_CHECK(ndr_pull_array_size(ndr, &r->disks));
+ NDR_CHECK(ndr_pull_array_length(ndr, &r->disks));
+- if (ndr_get_array_length(ndr, &r->disks) > ndr_get_array_size(ndr, &r->disks)) {
+- return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->disks), ndr_get_array_length(ndr, &r->disks));
++ size_disks_1 = ndr_get_array_size(ndr, &r->disks);
++ length_disks_1 = ndr_get_array_length(ndr, &r->disks);
++ if (length_disks_1 > size_disks_1) {
++ return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_disks_1, length_disks_1);
+ }
+- NDR_PULL_ALLOC_N(ndr, r->disks, ndr_get_array_size(ndr, &r->disks));
++ NDR_PULL_ALLOC_N(ndr, r->disks, size_disks_1);
+ _mem_save_disks_1 = NDR_PULL_GET_MEM_CTX(ndr);
+ NDR_PULL_SET_MEM_CTX(ndr, r->disks, 0);
+- for (cntr_disks_1 = 0; cntr_disks_1 < r->count; cntr_disks_1++) {
++ for (cntr_disks_1 = 0; cntr_disks_1 < length_disks_1; cntr_disks_1++) {
+ NDR_CHECK(ndr_pull_srvsvc_NetDiskInfo0(ndr, NDR_SCALARS, &r->disks[cntr_disks_1]));
+ }
+ NDR_PULL_SET_MEM_CTX(ndr, _mem_save_disks_1, 0);
+@@ -11707,10 +11969,15 @@ static enum ndr_err_code ndr_push_srvsvc_NetTransportInfo0(struct ndr_push *ndr,
+ static enum ndr_err_code ndr_pull_srvsvc_NetTransportInfo0(struct ndr_pull *ndr, int ndr_flags, struct srvsvc_NetTransportInfo0 *r)
+ {
+ uint32_t _ptr_name;
++ uint32_t size_name_1 = 0;
++ uint32_t length_name_1 = 0;
+ TALLOC_CTX *_mem_save_name_0;
+ uint32_t _ptr_addr;
++ uint32_t size_addr_1 = 0;
+ TALLOC_CTX *_mem_save_addr_0;
+ uint32_t _ptr_net_addr;
++ uint32_t size_net_addr_1 = 0;
++ uint32_t length_net_addr_1 = 0;
+ TALLOC_CTX *_mem_save_net_addr_0;
+ if (ndr_flags & NDR_SCALARS) {
+ NDR_CHECK(ndr_pull_align(ndr, 4));
+@@ -11741,19 +12008,22 @@ static enum ndr_err_code ndr_pull_srvsvc_NetTransportInfo0(struct ndr_pull *ndr,
+ NDR_PULL_SET_MEM_CTX(ndr, r->name, 0);
+ NDR_CHECK(ndr_pull_array_size(ndr, &r->name));
+ NDR_CHECK(ndr_pull_array_length(ndr, &r->name));
+- if (ndr_get_array_length(ndr, &r->name) > ndr_get_array_size(ndr, &r->name)) {
+- return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->name), ndr_get_array_length(ndr, &r->name));
++ size_name_1 = ndr_get_array_size(ndr, &r->name);
++ length_name_1 = ndr_get_array_length(ndr, &r->name);
++ if (length_name_1 > size_name_1) {
++ return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_name_1, length_name_1);
+ }
+- NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->name), sizeof(uint16_t)));
+- NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->name, ndr_get_array_length(ndr, &r->name), sizeof(uint16_t), CH_UTF16));
++ NDR_CHECK(ndr_check_string_terminator(ndr, length_name_1, sizeof(uint16_t)));
++ NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->name, length_name_1, sizeof(uint16_t), CH_UTF16));
+ NDR_PULL_SET_MEM_CTX(ndr, _mem_save_name_0, 0);
+ }
+ if (r->addr) {
+ _mem_save_addr_0 = NDR_PULL_GET_MEM_CTX(ndr);
+ NDR_PULL_SET_MEM_CTX(ndr, r->addr, 0);
+ NDR_CHECK(ndr_pull_array_size(ndr, &r->addr));
+- NDR_PULL_ALLOC_N(ndr, r->addr, ndr_get_array_size(ndr, &r->addr));
+- NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->addr, ndr_get_array_size(ndr, &r->addr)));
++ size_addr_1 = ndr_get_array_size(ndr, &r->addr);
++ NDR_PULL_ALLOC_N(ndr, r->addr, size_addr_1);
++ NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->addr, size_addr_1));
+ NDR_PULL_SET_MEM_CTX(ndr, _mem_save_addr_0, 0);
+ }
+ if (r->net_addr) {
+@@ -11761,11 +12031,13 @@ static enum ndr_err_code ndr_pull_srvsvc_NetTransportInfo0(struct ndr_pull *ndr,
+ NDR_PULL_SET_MEM_CTX(ndr, r->net_addr, 0);
+ NDR_CHECK(ndr_pull_array_size(ndr, &r->net_addr));
+ NDR_CHECK(ndr_pull_array_length(ndr, &r->net_addr));
+- if (ndr_get_array_length(ndr, &r->net_addr) > ndr_get_array_size(ndr, &r->net_addr)) {
+- return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->net_addr), ndr_get_array_length(ndr, &r->net_addr));
++ size_net_addr_1 = ndr_get_array_size(ndr, &r->net_addr);
++ length_net_addr_1 = ndr_get_array_length(ndr, &r->net_addr);
++ if (length_net_addr_1 > size_net_addr_1) {
++ return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_net_addr_1, length_net_addr_1);
+ }
+- NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->net_addr), sizeof(uint16_t)));
+- NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->net_addr, ndr_get_array_length(ndr, &r->net_addr), sizeof(uint16_t), CH_UTF16));
++ NDR_CHECK(ndr_check_string_terminator(ndr, length_net_addr_1, sizeof(uint16_t)));
++ NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->net_addr, length_net_addr_1, sizeof(uint16_t), CH_UTF16));
+ NDR_PULL_SET_MEM_CTX(ndr, _mem_save_net_addr_0, 0);
+ }
+ if (r->addr) {
+@@ -11827,6 +12099,7 @@ static enum ndr_err_code ndr_push_srvsvc_NetTransportCtr0(struct ndr_push *ndr,
+ static enum ndr_err_code ndr_pull_srvsvc_NetTransportCtr0(struct ndr_pull *ndr, int ndr_flags, struct srvsvc_NetTransportCtr0 *r)
+ {
+ uint32_t _ptr_array;
++ uint32_t size_array_1 = 0;
+ uint32_t cntr_array_1;
+ TALLOC_CTX *_mem_save_array_0;
+ TALLOC_CTX *_mem_save_array_1;
+@@ -11845,13 +12118,14 @@ static enum ndr_err_code ndr_pull_srvsvc_NetTransportCtr0(struct ndr_pull *ndr,
+ _mem_save_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
+ NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
+ NDR_CHECK(ndr_pull_array_size(ndr, &r->array));
+- NDR_PULL_ALLOC_N(ndr, r->array, ndr_get_array_size(ndr, &r->array));
++ size_array_1 = ndr_get_array_size(ndr, &r->array);
++ NDR_PULL_ALLOC_N(ndr, r->array, size_array_1);
+ _mem_save_array_1 = NDR_PULL_GET_MEM_CTX(ndr);
+ NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
+- for (cntr_array_1 = 0; cntr_array_1 < r->count; cntr_array_1++) {
++ for (cntr_array_1 = 0; cntr_array_1 < size_array_1; cntr_array_1++) {
+ NDR_CHECK(ndr_pull_srvsvc_NetTransportInfo0(ndr, NDR_SCALARS, &r->array[cntr_array_1]));
+ }
+- for (cntr_array_1 = 0; cntr_array_1 < r->count; cntr_array_1++) {
++ for (cntr_array_1 = 0; cntr_array_1 < size_array_1; cntr_array_1++) {
+ NDR_CHECK(ndr_pull_srvsvc_NetTransportInfo0(ndr, NDR_BUFFERS, &r->array[cntr_array_1]));
+ }
+ NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_1, 0);
+@@ -11929,12 +12203,19 @@ static enum ndr_err_code ndr_push_srvsvc_NetTransportInfo1(struct ndr_push *ndr,
+ static enum ndr_err_code ndr_pull_srvsvc_NetTransportInfo1(struct ndr_pull *ndr, int ndr_flags, struct srvsvc_NetTransportInfo1 *r)
+ {
+ uint32_t _ptr_name;
++ uint32_t size_name_1 = 0;
++ uint32_t length_name_1 = 0;
+ TALLOC_CTX *_mem_save_name_0;
+ uint32_t _ptr_addr;
++ uint32_t size_addr_1 = 0;
+ TALLOC_CTX *_mem_save_addr_0;
+ uint32_t _ptr_net_addr;
++ uint32_t size_net_addr_1 = 0;
++ uint32_t length_net_addr_1 = 0;
+ TALLOC_CTX *_mem_save_net_addr_0;
+ uint32_t _ptr_domain;
++ uint32_t size_domain_1 = 0;
++ uint32_t length_domain_1 = 0;
+ TALLOC_CTX *_mem_save_domain_0;
+ if (ndr_flags & NDR_SCALARS) {
+ NDR_CHECK(ndr_pull_align(ndr, 4));
+@@ -11971,19 +12252,22 @@ static enum ndr_err_code ndr_pull_srvsvc_NetTransportInfo1(struct ndr_pull *ndr,
+ NDR_PULL_SET_MEM_CTX(ndr, r->name, 0);
+ NDR_CHECK(ndr_pull_array_size(ndr, &r->name));
+ NDR_CHECK(ndr_pull_array_length(ndr, &r->name));
+- if (ndr_get_array_length(ndr, &r->name) > ndr_get_array_size(ndr, &r->name)) {
+- return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->name), ndr_get_array_length(ndr, &r->name));
++ size_name_1 = ndr_get_array_size(ndr, &r->name);
++ length_name_1 = ndr_get_array_length(ndr, &r->name);
++ if (length_name_1 > size_name_1) {
++ return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_name_1, length_name_1);
+ }
+- NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->name), sizeof(uint16_t)));
+- NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->name, ndr_get_array_length(ndr, &r->name), sizeof(uint16_t), CH_UTF16));
++ NDR_CHECK(ndr_check_string_terminator(ndr, length_name_1, sizeof(uint16_t)));
++ NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->name, length_name_1, sizeof(uint16_t), CH_UTF16));
+ NDR_PULL_SET_MEM_CTX(ndr, _mem_save_name_0, 0);
+ }
+ if (r->addr) {
+ _mem_save_addr_0 = NDR_PULL_GET_MEM_CTX(ndr);
+ NDR_PULL_SET_MEM_CTX(ndr, r->addr, 0);
+ NDR_CHECK(ndr_pull_array_size(ndr, &r->addr));
+- NDR_PULL_ALLOC_N(ndr, r->addr, ndr_get_array_size(ndr, &r->addr));
+- NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->addr, ndr_get_array_size(ndr, &r->addr)));
++ size_addr_1 = ndr_get_array_size(ndr, &r->addr);
++ NDR_PULL_ALLOC_N(ndr, r->addr, size_addr_1);
++ NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->addr, size_addr_1));
+ NDR_PULL_SET_MEM_CTX(ndr, _mem_save_addr_0, 0);
+ }
+ if (r->net_addr) {
+@@ -11991,11 +12275,13 @@ static enum ndr_err_code ndr_pull_srvsvc_NetTransportInfo1(struct ndr_pull *ndr,
+ NDR_PULL_SET_MEM_CTX(ndr, r->net_addr, 0);
+ NDR_CHECK(ndr_pull_array_size(ndr, &r->net_addr));
+ NDR_CHECK(ndr_pull_array_length(ndr, &r->net_addr));
+- if (ndr_get_array_length(ndr, &r->net_addr) > ndr_get_array_size(ndr, &r->net_addr)) {
+- return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->net_addr), ndr_get_array_length(ndr, &r->net_addr));
++ size_net_addr_1 = ndr_get_array_size(ndr, &r->net_addr);
++ length_net_addr_1 = ndr_get_array_length(ndr, &r->net_addr);
++ if (length_net_addr_1 > size_net_addr_1) {
++ return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_net_addr_1, length_net_addr_1);
+ }
+- NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->net_addr), sizeof(uint16_t)));
+- NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->net_addr, ndr_get_array_length(ndr, &r->net_addr), sizeof(uint16_t), CH_UTF16));
++ NDR_CHECK(ndr_check_string_terminator(ndr, length_net_addr_1, sizeof(uint16_t)));
++ NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->net_addr, length_net_addr_1, sizeof(uint16_t), CH_UTF16));
+ NDR_PULL_SET_MEM_CTX(ndr, _mem_save_net_addr_0, 0);
+ }
+ if (r->domain) {
+@@ -12003,11 +12289,13 @@ static enum ndr_err_code ndr_pull_srvsvc_NetTransportInfo1(struct ndr_pull *ndr,
+ NDR_PULL_SET_MEM_CTX(ndr, r->domain, 0);
+ NDR_CHECK(ndr_pull_array_size(ndr, &r->domain));
+ NDR_CHECK(ndr_pull_array_length(ndr, &r->domain));
+- if (ndr_get_array_length(ndr, &r->domain) > ndr_get_array_size(ndr, &r->domain)) {
+- return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->domain), ndr_get_array_length(ndr, &r->domain));
++ size_domain_1 = ndr_get_array_size(ndr, &r->domain);
++ length_domain_1 = ndr_get_array_length(ndr, &r->domain);
++ if (length_domain_1 > size_domain_1) {
++ return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_domain_1, length_domain_1);
+ }
+- NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->domain), sizeof(uint16_t)));
+- NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->domain, ndr_get_array_length(ndr, &r->domain), sizeof(uint16_t), CH_UTF16));
++ NDR_CHECK(ndr_check_string_terminator(ndr, length_domain_1, sizeof(uint16_t)));
++ NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->domain, length_domain_1, sizeof(uint16_t), CH_UTF16));
+ NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_0, 0);
+ }
+ if (r->addr) {
+@@ -12075,6 +12363,7 @@ static enum ndr_err_code ndr_push_srvsvc_NetTransportCtr1(struct ndr_push *ndr,
+ static enum ndr_err_code ndr_pull_srvsvc_NetTransportCtr1(struct ndr_pull *ndr, int ndr_flags, struct srvsvc_NetTransportCtr1 *r)
+ {
+ uint32_t _ptr_array;
++ uint32_t size_array_1 = 0;
+ uint32_t cntr_array_1;
+ TALLOC_CTX *_mem_save_array_0;
+ TALLOC_CTX *_mem_save_array_1;
+@@ -12093,13 +12382,14 @@ static enum ndr_err_code ndr_pull_srvsvc_NetTransportCtr1(struct ndr_pull *ndr,
+ _mem_save_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
+ NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
+ NDR_CHECK(ndr_pull_array_size(ndr, &r->array));
+- NDR_PULL_ALLOC_N(ndr, r->array, ndr_get_array_size(ndr, &r->array));
++ size_array_1 = ndr_get_array_size(ndr, &r->array);
++ NDR_PULL_ALLOC_N(ndr, r->array, size_array_1);
+ _mem_save_array_1 = NDR_PULL_GET_MEM_CTX(ndr);
+ NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
+- for (cntr_array_1 = 0; cntr_array_1 < r->count; cntr_array_1++) {
++ for (cntr_array_1 = 0; cntr_array_1 < size_array_1; cntr_array_1++) {
+ NDR_CHECK(ndr_pull_srvsvc_NetTransportInfo1(ndr, NDR_SCALARS, &r->array[cntr_array_1]));
+ }
+- for (cntr_array_1 = 0; cntr_array_1 < r->count; cntr_array_1++) {
++ for (cntr_array_1 = 0; cntr_array_1 < size_array_1; cntr_array_1++) {
+ NDR_CHECK(ndr_pull_srvsvc_NetTransportInfo1(ndr, NDR_BUFFERS, &r->array[cntr_array_1]));
+ }
+ NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_1, 0);
+@@ -12178,12 +12468,19 @@ static enum ndr_err_code ndr_push_srvsvc_NetTransportInfo2(struct ndr_push *ndr,
+ static enum ndr_err_code ndr_pull_srvsvc_NetTransportInfo2(struct ndr_pull *ndr, int ndr_flags, struct srvsvc_NetTransportInfo2 *r)
+ {
+ uint32_t _ptr_name;
++ uint32_t size_name_1 = 0;
++ uint32_t length_name_1 = 0;
+ TALLOC_CTX *_mem_save_name_0;
+ uint32_t _ptr_addr;
++ uint32_t size_addr_1 = 0;
+ TALLOC_CTX *_mem_save_addr_0;
+ uint32_t _ptr_net_addr;
++ uint32_t size_net_addr_1 = 0;
++ uint32_t length_net_addr_1 = 0;
+ TALLOC_CTX *_mem_save_net_addr_0;
+ uint32_t _ptr_domain;
++ uint32_t size_domain_1 = 0;
++ uint32_t length_domain_1 = 0;
+ TALLOC_CTX *_mem_save_domain_0;
+ if (ndr_flags & NDR_SCALARS) {
+ NDR_CHECK(ndr_pull_align(ndr, 4));
+@@ -12221,19 +12518,22 @@ static enum ndr_err_code ndr_pull_srvsvc_NetTransportInfo2(struct ndr_pull *ndr,
+ NDR_PULL_SET_MEM_CTX(ndr, r->name, 0);
+ NDR_CHECK(ndr_pull_array_size(ndr, &r->name));
+ NDR_CHECK(ndr_pull_array_length(ndr, &r->name));
+- if (ndr_get_array_length(ndr, &r->name) > ndr_get_array_size(ndr, &r->name)) {
+- return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->name), ndr_get_array_length(ndr, &r->name));
++ size_name_1 = ndr_get_array_size(ndr, &r->name);
++ length_name_1 = ndr_get_array_length(ndr, &r->name);
++ if (length_name_1 > size_name_1) {
++ return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_name_1, length_name_1);
+ }
+- NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->name), sizeof(uint16_t)));
+- NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->name, ndr_get_array_length(ndr, &r->name), sizeof(uint16_t), CH_UTF16));
++ NDR_CHECK(ndr_check_string_terminator(ndr, length_name_1, sizeof(uint16_t)));
++ NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->name, length_name_1, sizeof(uint16_t), CH_UTF16));
+ NDR_PULL_SET_MEM_CTX(ndr, _mem_save_name_0, 0);
+ }
+ if (r->addr) {
+ _mem_save_addr_0 = NDR_PULL_GET_MEM_CTX(ndr);
+ NDR_PULL_SET_MEM_CTX(ndr, r->addr, 0);
+ NDR_CHECK(ndr_pull_array_size(ndr, &r->addr));
+- NDR_PULL_ALLOC_N(ndr, r->addr, ndr_get_array_size(ndr, &r->addr));
+- NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->addr, ndr_get_array_size(ndr, &r->addr)));
++ size_addr_1 = ndr_get_array_size(ndr, &r->addr);
++ NDR_PULL_ALLOC_N(ndr, r->addr, size_addr_1);
++ NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->addr, size_addr_1));
+ NDR_PULL_SET_MEM_CTX(ndr, _mem_save_addr_0, 0);
+ }
+ if (r->net_addr) {
+@@ -12241,11 +12541,13 @@ static enum ndr_err_code ndr_pull_srvsvc_NetTransportInfo2(struct ndr_pull *ndr,
+ NDR_PULL_SET_MEM_CTX(ndr, r->net_addr, 0);
+ NDR_CHECK(ndr_pull_array_size(ndr, &r->net_addr));
+ NDR_CHECK(ndr_pull_array_length(ndr, &r->net_addr));
+- if (ndr_get_array_length(ndr, &r->net_addr) > ndr_get_array_size(ndr, &r->net_addr)) {
+- return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->net_addr), ndr_get_array_length(ndr, &r->net_addr));
++ size_net_addr_1 = ndr_get_array_size(ndr, &r->net_addr);
++ length_net_addr_1 = ndr_get_array_length(ndr, &r->net_addr);
++ if (length_net_addr_1 > size_net_addr_1) {
++ return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_net_addr_1, length_net_addr_1);
+ }
+- NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->net_addr), sizeof(uint16_t)));
+- NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->net_addr, ndr_get_array_length(ndr, &r->net_addr), sizeof(uint16_t), CH_UTF16));
++ NDR_CHECK(ndr_check_string_terminator(ndr, length_net_addr_1, sizeof(uint16_t)));
++ NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->net_addr, length_net_addr_1, sizeof(uint16_t), CH_UTF16));
+ NDR_PULL_SET_MEM_CTX(ndr, _mem_save_net_addr_0, 0);
+ }
+ if (r->domain) {
+@@ -12253,11 +12555,13 @@ static enum ndr_err_code ndr_pull_srvsvc_NetTransportInfo2(struct ndr_pull *ndr,
+ NDR_PULL_SET_MEM_CTX(ndr, r->domain, 0);
+ NDR_CHECK(ndr_pull_array_size(ndr, &r->domain));
+ NDR_CHECK(ndr_pull_array_length(ndr, &r->domain));
+- if (ndr_get_array_length(ndr, &r->domain) > ndr_get_array_size(ndr, &r->domain)) {
+- return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->domain), ndr_get_array_length(ndr, &r->domain));
++ size_domain_1 = ndr_get_array_size(ndr, &r->domain);
++ length_domain_1 = ndr_get_array_length(ndr, &r->domain);
++ if (length_domain_1 > size_domain_1) {
++ return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_domain_1, length_domain_1);
+ }
+- NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->domain), sizeof(uint16_t)));
+- NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->domain, ndr_get_array_length(ndr, &r->domain), sizeof(uint16_t), CH_UTF16));
++ NDR_CHECK(ndr_check_string_terminator(ndr, length_domain_1, sizeof(uint16_t)));
++ NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->domain, length_domain_1, sizeof(uint16_t), CH_UTF16));
+ NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_0, 0);
+ }
+ if (r->addr) {
+@@ -12326,6 +12630,7 @@ static enum ndr_err_code ndr_push_srvsvc_NetTransportCtr2(struct ndr_push *ndr,
+ static enum ndr_err_code ndr_pull_srvsvc_NetTransportCtr2(struct ndr_pull *ndr, int ndr_flags, struct srvsvc_NetTransportCtr2 *r)
+ {
+ uint32_t _ptr_array;
++ uint32_t size_array_1 = 0;
+ uint32_t cntr_array_1;
+ TALLOC_CTX *_mem_save_array_0;
+ TALLOC_CTX *_mem_save_array_1;
+@@ -12344,13 +12649,14 @@ static enum ndr_err_code ndr_pull_srvsvc_NetTransportCtr2(struct ndr_pull *ndr,
+ _mem_save_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
+ NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
+ NDR_CHECK(ndr_pull_array_size(ndr, &r->array));
+- NDR_PULL_ALLOC_N(ndr, r->array, ndr_get_array_size(ndr, &r->array));
++ size_array_1 = ndr_get_array_size(ndr, &r->array);
++ NDR_PULL_ALLOC_N(ndr, r->array, size_array_1);
+ _mem_save_array_1 = NDR_PULL_GET_MEM_CTX(ndr);
+ NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
+- for (cntr_array_1 = 0; cntr_array_1 < r->count; cntr_array_1++) {
++ for (cntr_array_1 = 0; cntr_array_1 < size_array_1; cntr_array_1++) {
+ NDR_CHECK(ndr_pull_srvsvc_NetTransportInfo2(ndr, NDR_SCALARS, &r->array[cntr_array_1]));
+ }
+- for (cntr_array_1 = 0; cntr_array_1 < r->count; cntr_array_1++) {
++ for (cntr_array_1 = 0; cntr_array_1 < size_array_1; cntr_array_1++) {
+ NDR_CHECK(ndr_pull_srvsvc_NetTransportInfo2(ndr, NDR_BUFFERS, &r->array[cntr_array_1]));
+ }
+ NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_1, 0);
+@@ -12431,13 +12737,21 @@ static enum ndr_err_code ndr_push_srvsvc_NetTransportInfo3(struct ndr_push *ndr,
+ static enum ndr_err_code ndr_pull_srvsvc_NetTransportInfo3(struct ndr_pull *ndr, int ndr_flags, struct srvsvc_NetTransportInfo3 *r)
+ {
+ uint32_t _ptr_name;
++ uint32_t size_name_1 = 0;
++ uint32_t length_name_1 = 0;
+ TALLOC_CTX *_mem_save_name_0;
+ uint32_t _ptr_addr;
++ uint32_t size_addr_1 = 0;
+ TALLOC_CTX *_mem_save_addr_0;
+ uint32_t _ptr_net_addr;
++ uint32_t size_net_addr_1 = 0;
++ uint32_t length_net_addr_1 = 0;
+ TALLOC_CTX *_mem_save_net_addr_0;
+ uint32_t _ptr_domain;
++ uint32_t size_domain_1 = 0;
++ uint32_t length_domain_1 = 0;
+ TALLOC_CTX *_mem_save_domain_0;
++ uint32_t size_unknown3_0 = 0;
+ if (ndr_flags & NDR_SCALARS) {
+ NDR_CHECK(ndr_pull_align(ndr, 4));
+ NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->vcs));
+@@ -12468,7 +12782,8 @@ static enum ndr_err_code ndr_pull_srvsvc_NetTransportInfo3(struct ndr_pull *ndr,
+ }
+ NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown1));
+ NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown2));
+- NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->unknown3, 256));
++ size_unknown3_0 = 256;
++ NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->unknown3, size_unknown3_0));
+ }
+ if (ndr_flags & NDR_BUFFERS) {
+ if (r->name) {
+@@ -12476,19 +12791,22 @@ static enum ndr_err_code ndr_pull_srvsvc_NetTransportInfo3(struct ndr_pull *ndr,
+ NDR_PULL_SET_MEM_CTX(ndr, r->name, 0);
+ NDR_CHECK(ndr_pull_array_size(ndr, &r->name));
+ NDR_CHECK(ndr_pull_array_length(ndr, &r->name));
+- if (ndr_get_array_length(ndr, &r->name) > ndr_get_array_size(ndr, &r->name)) {
+- return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->name), ndr_get_array_length(ndr, &r->name));
++ size_name_1 = ndr_get_array_size(ndr, &r->name);
++ length_name_1 = ndr_get_array_length(ndr, &r->name);
++ if (length_name_1 > size_name_1) {
++ return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_name_1, length_name_1);
+ }
+- NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->name), sizeof(uint16_t)));
+- NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->name, ndr_get_array_length(ndr, &r->name), sizeof(uint16_t), CH_UTF16));
++ NDR_CHECK(ndr_check_string_terminator(ndr, length_name_1, sizeof(uint16_t)));
++ NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->name, length_name_1, sizeof(uint16_t), CH_UTF16));
+ NDR_PULL_SET_MEM_CTX(ndr, _mem_save_name_0, 0);
+ }
+ if (r->addr) {
+ _mem_save_addr_0 = NDR_PULL_GET_MEM_CTX(ndr);
+ NDR_PULL_SET_MEM_CTX(ndr, r->addr, 0);
+ NDR_CHECK(ndr_pull_array_size(ndr, &r->addr));
+- NDR_PULL_ALLOC_N(ndr, r->addr, ndr_get_array_size(ndr, &r->addr));
+- NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->addr, ndr_get_array_size(ndr, &r->addr)));
++ size_addr_1 = ndr_get_array_size(ndr, &r->addr);
++ NDR_PULL_ALLOC_N(ndr, r->addr, size_addr_1);
++ NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->addr, size_addr_1));
+ NDR_PULL_SET_MEM_CTX(ndr, _mem_save_addr_0, 0);
+ }
+ if (r->net_addr) {
+@@ -12496,11 +12814,13 @@ static enum ndr_err_code ndr_pull_srvsvc_NetTransportInfo3(struct ndr_pull *ndr,
+ NDR_PULL_SET_MEM_CTX(ndr, r->net_addr, 0);
+ NDR_CHECK(ndr_pull_array_size(ndr, &r->net_addr));
+ NDR_CHECK(ndr_pull_array_length(ndr, &r->net_addr));
+- if (ndr_get_array_length(ndr, &r->net_addr) > ndr_get_array_size(ndr, &r->net_addr)) {
+- return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->net_addr), ndr_get_array_length(ndr, &r->net_addr));
++ size_net_addr_1 = ndr_get_array_size(ndr, &r->net_addr);
++ length_net_addr_1 = ndr_get_array_length(ndr, &r->net_addr);
++ if (length_net_addr_1 > size_net_addr_1) {
++ return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_net_addr_1, length_net_addr_1);
+ }
+- NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->net_addr), sizeof(uint16_t)));
+- NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->net_addr, ndr_get_array_length(ndr, &r->net_addr), sizeof(uint16_t), CH_UTF16));
++ NDR_CHECK(ndr_check_string_terminator(ndr, length_net_addr_1, sizeof(uint16_t)));
++ NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->net_addr, length_net_addr_1, sizeof(uint16_t), CH_UTF16));
+ NDR_PULL_SET_MEM_CTX(ndr, _mem_save_net_addr_0, 0);
+ }
+ if (r->domain) {
+@@ -12508,11 +12828,13 @@ static enum ndr_err_code ndr_pull_srvsvc_NetTransportInfo3(struct ndr_pull *ndr,
+ NDR_PULL_SET_MEM_CTX(ndr, r->domain, 0);
+ NDR_CHECK(ndr_pull_array_size(ndr, &r->domain));
+ NDR_CHECK(ndr_pull_array_length(ndr, &r->domain));
+- if (ndr_get_array_length(ndr, &r->domain) > ndr_get_array_size(ndr, &r->domain)) {
+- return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->domain), ndr_get_array_length(ndr, &r->domain));
++ size_domain_1 = ndr_get_array_size(ndr, &r->domain);
++ length_domain_1 = ndr_get_array_length(ndr, &r->domain);
++ if (length_domain_1 > size_domain_1) {
++ return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_domain_1, length_domain_1);
+ }
+- NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->domain), sizeof(uint16_t)));
+- NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->domain, ndr_get_array_length(ndr, &r->domain), sizeof(uint16_t), CH_UTF16));
++ NDR_CHECK(ndr_check_string_terminator(ndr, length_domain_1, sizeof(uint16_t)));
++ NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->domain, length_domain_1, sizeof(uint16_t), CH_UTF16));
+ NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_0, 0);
+ }
+ if (r->addr) {
+@@ -12583,6 +12905,7 @@ static enum ndr_err_code ndr_push_srvsvc_NetTransportCtr3(struct ndr_push *ndr,
+ static enum ndr_err_code ndr_pull_srvsvc_NetTransportCtr3(struct ndr_pull *ndr, int ndr_flags, struct srvsvc_NetTransportCtr3 *r)
+ {
+ uint32_t _ptr_array;
++ uint32_t size_array_1 = 0;
+ uint32_t cntr_array_1;
+ TALLOC_CTX *_mem_save_array_0;
+ TALLOC_CTX *_mem_save_array_1;
+@@ -12601,13 +12924,14 @@ static enum ndr_err_code ndr_pull_srvsvc_NetTransportCtr3(struct ndr_pull *ndr,
+ _mem_save_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
+ NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
+ NDR_CHECK(ndr_pull_array_size(ndr, &r->array));
+- NDR_PULL_ALLOC_N(ndr, r->array, ndr_get_array_size(ndr, &r->array));
++ size_array_1 = ndr_get_array_size(ndr, &r->array);
++ NDR_PULL_ALLOC_N(ndr, r->array, size_array_1);
+ _mem_save_array_1 = NDR_PULL_GET_MEM_CTX(ndr);
+ NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
+- for (cntr_array_1 = 0; cntr_array_1 < r->count; cntr_array_1++) {
++ for (cntr_array_1 = 0; cntr_array_1 < size_array_1; cntr_array_1++) {
+ NDR_CHECK(ndr_pull_srvsvc_NetTransportInfo3(ndr, NDR_SCALARS, &r->array[cntr_array_1]));
+ }
+- for (cntr_array_1 = 0; cntr_array_1 < r->count; cntr_array_1++) {
++ for (cntr_array_1 = 0; cntr_array_1 < size_array_1; cntr_array_1++) {
+ NDR_CHECK(ndr_pull_srvsvc_NetTransportInfo3(ndr, NDR_BUFFERS, &r->array[cntr_array_1]));
+ }
+ NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_1, 0);
+@@ -12711,9 +13035,13 @@ static enum ndr_err_code ndr_pull_srvsvc_NetTransportCtr(struct ndr_pull *ndr, i
+ int level;
+ uint32_t _level;
+ TALLOC_CTX *_mem_save_ctr0_0;
++ uint32_t _ptr_ctr0;
+ TALLOC_CTX *_mem_save_ctr1_0;
++ uint32_t _ptr_ctr1;
+ TALLOC_CTX *_mem_save_ctr2_0;
++ uint32_t _ptr_ctr2;
+ TALLOC_CTX *_mem_save_ctr3_0;
++ uint32_t _ptr_ctr3;
+ level = ndr_pull_get_switch_value(ndr, r);
+ if (ndr_flags & NDR_SCALARS) {
+ NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &_level));
+@@ -12722,7 +13050,6 @@ static enum ndr_err_code ndr_pull_srvsvc_NetTransportCtr(struct ndr_pull *ndr, i
+ }
+ switch (level) {
+ case 0: {
+- uint32_t _ptr_ctr0;
+ NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_ctr0));
+ if (_ptr_ctr0) {
+ NDR_PULL_ALLOC(ndr, r->ctr0);
+@@ -12732,7 +13059,6 @@ static enum ndr_err_code ndr_pull_srvsvc_NetTransportCtr(struct ndr_pull *ndr, i
+ break; }
+
+ case 1: {
+- uint32_t _ptr_ctr1;
+ NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_ctr1));
+ if (_ptr_ctr1) {
+ NDR_PULL_ALLOC(ndr, r->ctr1);
+@@ -12742,7 +13068,6 @@ static enum ndr_err_code ndr_pull_srvsvc_NetTransportCtr(struct ndr_pull *ndr, i
+ break; }
+
+ case 2: {
+- uint32_t _ptr_ctr2;
+ NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_ctr2));
+ if (_ptr_ctr2) {
+ NDR_PULL_ALLOC(ndr, r->ctr2);
+@@ -12752,7 +13077,6 @@ static enum ndr_err_code ndr_pull_srvsvc_NetTransportCtr(struct ndr_pull *ndr, i
+ break; }
+
+ case 3: {
+- uint32_t _ptr_ctr3;
+ NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_ctr3));
+ if (_ptr_ctr3) {
+ NDR_PULL_ALLOC(ndr, r->ctr3);
+@@ -13109,6 +13433,8 @@ static enum ndr_err_code ndr_push_srvsvc_NetCharDevEnum(struct ndr_push *ndr, in
+ static enum ndr_err_code ndr_pull_srvsvc_NetCharDevEnum(struct ndr_pull *ndr, int flags, struct srvsvc_NetCharDevEnum *r)
+ {
+ uint32_t _ptr_server_unc;
++ uint32_t size_server_unc_1 = 0;
++ uint32_t length_server_unc_1 = 0;
+ uint32_t _ptr_resume_handle;
+ TALLOC_CTX *_mem_save_server_unc_0;
+ TALLOC_CTX *_mem_save_level_0;
+@@ -13129,11 +13455,13 @@ static enum ndr_err_code ndr_pull_srvsvc_NetCharDevEnum(struct ndr_pull *ndr, in
+ NDR_PULL_SET_MEM_CTX(ndr, r->in.server_unc, 0);
+ NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_unc));
+ NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_unc));
+- if (ndr_get_array_length(ndr, &r->in.server_unc) > ndr_get_array_size(ndr, &r->in.server_unc)) {
+- return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.server_unc), ndr_get_array_length(ndr, &r->in.server_unc));
++ size_server_unc_1 = ndr_get_array_size(ndr, &r->in.server_unc);
++ length_server_unc_1 = ndr_get_array_length(ndr, &r->in.server_unc);
++ if (length_server_unc_1 > size_server_unc_1) {
++ return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_server_unc_1, length_server_unc_1);
+ }
+- NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server_unc), sizeof(uint16_t)));
+- NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.server_unc, ndr_get_array_length(ndr, &r->in.server_unc), sizeof(uint16_t), CH_UTF16));
++ NDR_CHECK(ndr_check_string_terminator(ndr, length_server_unc_1, sizeof(uint16_t)));
++ NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.server_unc, length_server_unc_1, sizeof(uint16_t), CH_UTF16));
+ NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_unc_0, 0);
+ }
+ if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
+@@ -13303,6 +13631,10 @@ static enum ndr_err_code ndr_push_srvsvc_NetCharDevGetInfo(struct ndr_push *ndr,
+ static enum ndr_err_code ndr_pull_srvsvc_NetCharDevGetInfo(struct ndr_pull *ndr, int flags, struct srvsvc_NetCharDevGetInfo *r)
+ {
+ uint32_t _ptr_server_unc;
++ uint32_t size_server_unc_1 = 0;
++ uint32_t length_server_unc_1 = 0;
++ uint32_t size_device_name_0 = 0;
++ uint32_t length_device_name_0 = 0;
+ TALLOC_CTX *_mem_save_server_unc_0;
+ TALLOC_CTX *_mem_save_info_0;
+ if (flags & NDR_IN) {
+@@ -13319,20 +13651,24 @@ static enum ndr_err_code ndr_pull_srvsvc_NetCharDevGetInfo(struct ndr_pull *ndr,
+ NDR_PULL_SET_MEM_CTX(ndr, r->in.server_unc, 0);
+ NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_unc));
+ NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_unc));
+- if (ndr_get_array_length(ndr, &r->in.server_unc) > ndr_get_array_size(ndr, &r->in.server_unc)) {
+- return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.server_unc), ndr_get_array_length(ndr, &r->in.server_unc));
++ size_server_unc_1 = ndr_get_array_size(ndr, &r->in.server_unc);
++ length_server_unc_1 = ndr_get_array_length(ndr, &r->in.server_unc);
++ if (length_server_unc_1 > size_server_unc_1) {
++ return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_server_unc_1, length_server_unc_1);
+ }
+- NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server_unc), sizeof(uint16_t)));
+- NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.server_unc, ndr_get_array_length(ndr, &r->in.server_unc), sizeof(uint16_t), CH_UTF16));
++ NDR_CHECK(ndr_check_string_terminator(ndr, length_server_unc_1, sizeof(uint16_t)));
++ NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.server_unc, length_server_unc_1, sizeof(uint16_t), CH_UTF16));
+ NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_unc_0, 0);
+ }
+ NDR_CHECK(ndr_pull_array_size(ndr, &r->in.device_name));
+ NDR_CHECK(ndr_pull_array_length(ndr, &r->in.device_name));
+- if (ndr_get_array_length(ndr, &r->in.device_name) > ndr_get_array_size(ndr, &r->in.device_name)) {
+- return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.device_name), ndr_get_array_length(ndr, &r->in.device_name));
++ size_device_name_0 = ndr_get_array_size(ndr, &r->in.device_name);
++ length_device_name_0 = ndr_get_array_length(ndr, &r->in.device_name);
++ if (length_device_name_0 > size_device_name_0) {
++ return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_device_name_0, length_device_name_0);
+ }
+- NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.device_name), sizeof(uint16_t)));
+- NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.device_name, ndr_get_array_length(ndr, &r->in.device_name), sizeof(uint16_t), CH_UTF16));
++ NDR_CHECK(ndr_check_string_terminator(ndr, length_device_name_0, sizeof(uint16_t)));
++ NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.device_name, length_device_name_0, sizeof(uint16_t), CH_UTF16));
+ NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.level));
+ NDR_PULL_ALLOC(ndr, r->out.info);
+ ZERO_STRUCTP(r->out.info);
+@@ -13410,6 +13746,10 @@ static enum ndr_err_code ndr_push_srvsvc_NetCharDevControl(struct ndr_push *ndr,
+ static enum ndr_err_code ndr_pull_srvsvc_NetCharDevControl(struct ndr_pull *ndr, int flags, struct srvsvc_NetCharDevControl *r)
+ {
+ uint32_t _ptr_server_unc;
++ uint32_t size_server_unc_1 = 0;
++ uint32_t length_server_unc_1 = 0;
++ uint32_t size_device_name_0 = 0;
++ uint32_t length_device_name_0 = 0;
+ TALLOC_CTX *_mem_save_server_unc_0;
+ if (flags & NDR_IN) {
+ NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_unc));
+@@ -13423,20 +13763,24 @@ static enum ndr_err_code ndr_pull_srvsvc_NetCharDevControl(struct ndr_pull *ndr,
+ NDR_PULL_SET_MEM_CTX(ndr, r->in.server_unc, 0);
+ NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_unc));
+ NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_unc));
+- if (ndr_get_array_length(ndr, &r->in.server_unc) > ndr_get_array_size(ndr, &r->in.server_unc)) {
+- return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.server_unc), ndr_get_array_length(ndr, &r->in.server_unc));
++ size_server_unc_1 = ndr_get_array_size(ndr, &r->in.server_unc);
++ length_server_unc_1 = ndr_get_array_length(ndr, &r->in.server_unc);
++ if (length_server_unc_1 > size_server_unc_1) {
++ return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_server_unc_1, length_server_unc_1);
+ }
+- NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server_unc), sizeof(uint16_t)));
+- NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.server_unc, ndr_get_array_length(ndr, &r->in.server_unc), sizeof(uint16_t), CH_UTF16));
++ NDR_CHECK(ndr_check_string_terminator(ndr, length_server_unc_1, sizeof(uint16_t)));
++ NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.server_unc, length_server_unc_1, sizeof(uint16_t), CH_UTF16));
+ NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_unc_0, 0);
+ }
+ NDR_CHECK(ndr_pull_array_size(ndr, &r->in.device_name));
+ NDR_CHECK(ndr_pull_array_length(ndr, &r->in.device_name));
+- if (ndr_get_array_length(ndr, &r->in.device_name) > ndr_get_array_size(ndr, &r->in.device_name)) {
+- return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.device_name), ndr_get_array_length(ndr, &r->in.device_name));
++ size_device_name_0 = ndr_get_array_size(ndr, &r->in.device_name);
++ length_device_name_0 = ndr_get_array_length(ndr, &r->in.device_name);
++ if (length_device_name_0 > size_device_name_0) {
++ return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_device_name_0, length_device_name_0);
+ }
+- NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.device_name), sizeof(uint16_t)));
+- NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.device_name, ndr_get_array_length(ndr, &r->in.device_name), sizeof(uint16_t), CH_UTF16));
++ NDR_CHECK(ndr_check_string_terminator(ndr, length_device_name_0, sizeof(uint16_t)));
++ NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.device_name, length_device_name_0, sizeof(uint16_t), CH_UTF16));
+ NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.opcode));
+ }
+ if (flags & NDR_OUT) {
+@@ -13532,7 +13876,11 @@ static enum ndr_err_code ndr_push_srvsvc_NetCharDevQEnum(struct ndr_push *ndr, i
+ static enum ndr_err_code ndr_pull_srvsvc_NetCharDevQEnum(struct ndr_pull *ndr, int flags, struct srvsvc_NetCharDevQEnum *r)
+ {
+ uint32_t _ptr_server_unc;
++ uint32_t size_server_unc_1 = 0;
++ uint32_t length_server_unc_1 = 0;
+ uint32_t _ptr_user;
++ uint32_t size_user_1 = 0;
++ uint32_t length_user_1 = 0;
+ uint32_t _ptr_resume_handle;
+ TALLOC_CTX *_mem_save_server_unc_0;
+ TALLOC_CTX *_mem_save_user_0;
+@@ -13554,11 +13902,13 @@ static enum ndr_err_code ndr_pull_srvsvc_NetCharDevQEnum(struct ndr_pull *ndr, i
+ NDR_PULL_SET_MEM_CTX(ndr, r->in.server_unc, 0);
+ NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_unc));
+ NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_unc));
+- if (ndr_get_array_length(ndr, &r->in.server_unc) > ndr_get_array_size(ndr, &r->in.server_unc)) {
+- return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.server_unc), ndr_get_array_length(ndr, &r->in.server_unc));
++ size_server_unc_1 = ndr_get_array_size(ndr, &r->in.server_unc);
++ length_server_unc_1 = ndr_get_array_length(ndr, &r->in.server_unc);
++ if (length_server_unc_1 > size_server_unc_1) {
++ return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_server_unc_1, length_server_unc_1);
+ }
+- NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server_unc), sizeof(uint16_t)));
+- NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.server_unc, ndr_get_array_length(ndr, &r->in.server_unc), sizeof(uint16_t), CH_UTF16));
++ NDR_CHECK(ndr_check_string_terminator(ndr, length_server_unc_1, sizeof(uint16_t)));
++ NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.server_unc, length_server_unc_1, sizeof(uint16_t), CH_UTF16));
+ NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_unc_0, 0);
+ }
+ NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_user));
+@@ -13572,11 +13922,13 @@ static enum ndr_err_code ndr_pull_srvsvc_NetCharDevQEnum(struct ndr_pull *ndr, i
+ NDR_PULL_SET_MEM_CTX(ndr, r->in.user, 0);
+ NDR_CHECK(ndr_pull_array_size(ndr, &r->in.user));
+ NDR_CHECK(ndr_pull_array_length(ndr, &r->in.user));
+- if (ndr_get_array_length(ndr, &r->in.user) > ndr_get_array_size(ndr, &r->in.user)) {
+- return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.user), ndr_get_array_length(ndr, &r->in.user));
++ size_user_1 = ndr_get_array_size(ndr, &r->in.user);
++ length_user_1 = ndr_get_array_length(ndr, &r->in.user);
++ if (length_user_1 > size_user_1) {
++ return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_user_1, length_user_1);
+ }
+- NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.user), sizeof(uint16_t)));
+- NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.user, ndr_get_array_length(ndr, &r->in.user), sizeof(uint16_t), CH_UTF16));
++ NDR_CHECK(ndr_check_string_terminator(ndr, length_user_1, sizeof(uint16_t)));
++ NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.user, length_user_1, sizeof(uint16_t), CH_UTF16));
+ NDR_PULL_SET_MEM_CTX(ndr, _mem_save_user_0, 0);
+ }
+ if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
+@@ -13756,6 +14108,12 @@ static enum ndr_err_code ndr_push_srvsvc_NetCharDevQGetInfo(struct ndr_push *ndr
+ static enum ndr_err_code ndr_pull_srvsvc_NetCharDevQGetInfo(struct ndr_pull *ndr, int flags, struct srvsvc_NetCharDevQGetInfo *r)
+ {
+ uint32_t _ptr_server_unc;
++ uint32_t size_server_unc_1 = 0;
++ uint32_t length_server_unc_1 = 0;
++ uint32_t size_queue_name_0 = 0;
++ uint32_t length_queue_name_0 = 0;
++ uint32_t size_user_0 = 0;
++ uint32_t length_user_0 = 0;
+ TALLOC_CTX *_mem_save_server_unc_0;
+ TALLOC_CTX *_mem_save_info_0;
+ if (flags & NDR_IN) {
+@@ -13772,27 +14130,33 @@ static enum ndr_err_code ndr_pull_srvsvc_NetCharDevQGetInfo(struct ndr_pull *ndr
+ NDR_PULL_SET_MEM_CTX(ndr, r->in.server_unc, 0);
+ NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_unc));
+ NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_unc));
+- if (ndr_get_array_length(ndr, &r->in.server_unc) > ndr_get_array_size(ndr, &r->in.server_unc)) {
+- return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.server_unc), ndr_get_array_length(ndr, &r->in.server_unc));
++ size_server_unc_1 = ndr_get_array_size(ndr, &r->in.server_unc);
++ length_server_unc_1 = ndr_get_array_length(ndr, &r->in.server_unc);
++ if (length_server_unc_1 > size_server_unc_1) {
++ return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_server_unc_1, length_server_unc_1);
+ }
+- NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server_unc), sizeof(uint16_t)));
+- NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.server_unc, ndr_get_array_length(ndr, &r->in.server_unc), sizeof(uint16_t), CH_UTF16));
++ NDR_CHECK(ndr_check_string_terminator(ndr, length_server_unc_1, sizeof(uint16_t)));
++ NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.server_unc, length_server_unc_1, sizeof(uint16_t), CH_UTF16));
+ NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_unc_0, 0);
+ }
+ NDR_CHECK(ndr_pull_array_size(ndr, &r->in.queue_name));
+ NDR_CHECK(ndr_pull_array_length(ndr, &r->in.queue_name));
+- if (ndr_get_array_length(ndr, &r->in.queue_name) > ndr_get_array_size(ndr, &r->in.queue_name)) {
+- return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.queue_name), ndr_get_array_length(ndr, &r->in.queue_name));
++ size_queue_name_0 = ndr_get_array_size(ndr, &r->in.queue_name);
++ length_queue_name_0 = ndr_get_array_length(ndr, &r->in.queue_name);
++ if (length_queue_name_0 > size_queue_name_0) {
++ return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_queue_name_0, length_queue_name_0);
+ }
+- NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.queue_name), sizeof(uint16_t)));
+- NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.queue_name, ndr_get_array_length(ndr, &r->in.queue_name), sizeof(uint16_t), CH_UTF16));
++ NDR_CHECK(ndr_check_string_terminator(ndr, length_queue_name_0, sizeof(uint16_t)));
++ NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.queue_name, length_queue_name_0, sizeof(uint16_t), CH_UTF16));
+ NDR_CHECK(ndr_pull_array_size(ndr, &r->in.user));
+ NDR_CHECK(ndr_pull_array_length(ndr, &r->in.user));
+- if (ndr_get_array_length(ndr, &r->in.user) > ndr_get_array_size(ndr, &r->in.user)) {
+- return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.user), ndr_get_array_length(ndr, &r->in.user));
++ size_user_0 = ndr_get_array_size(ndr, &r->in.user);
++ length_user_0 = ndr_get_array_length(ndr, &r->in.user);
++ if (length_user_0 > size_user_0) {
++ return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_user_0, length_user_0);
+ }
+- NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.user), sizeof(uint16_t)));
+- NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.user, ndr_get_array_length(ndr, &r->in.user), sizeof(uint16_t), CH_UTF16));
++ NDR_CHECK(ndr_check_string_terminator(ndr, length_user_0, sizeof(uint16_t)));
++ NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.user, length_user_0, sizeof(uint16_t), CH_UTF16));
+ NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.level));
+ NDR_PULL_ALLOC(ndr, r->out.info);
+ ZERO_STRUCTP(r->out.info);
+@@ -13881,6 +14245,10 @@ static enum ndr_err_code ndr_push_srvsvc_NetCharDevQSetInfo(struct ndr_push *ndr
+ static enum ndr_err_code ndr_pull_srvsvc_NetCharDevQSetInfo(struct ndr_pull *ndr, int flags, struct srvsvc_NetCharDevQSetInfo *r)
+ {
+ uint32_t _ptr_server_unc;
++ uint32_t size_server_unc_1 = 0;
++ uint32_t length_server_unc_1 = 0;
++ uint32_t size_queue_name_0 = 0;
++ uint32_t length_queue_name_0 = 0;
+ uint32_t _ptr_parm_error;
+ TALLOC_CTX *_mem_save_server_unc_0;
+ TALLOC_CTX *_mem_save_parm_error_0;
+@@ -13898,20 +14266,24 @@ static enum ndr_err_code ndr_pull_srvsvc_NetCharDevQSetInfo(struct ndr_pull *ndr
+ NDR_PULL_SET_MEM_CTX(ndr, r->in.server_unc, 0);
+ NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_unc));
+ NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_unc));
+- if (ndr_get_array_length(ndr, &r->in.server_unc) > ndr_get_array_size(ndr, &r->in.server_unc)) {
+- return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.server_unc), ndr_get_array_length(ndr, &r->in.server_unc));
++ size_server_unc_1 = ndr_get_array_size(ndr, &r->in.server_unc);
++ length_server_unc_1 = ndr_get_array_length(ndr, &r->in.server_unc);
++ if (length_server_unc_1 > size_server_unc_1) {
++ return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_server_unc_1, length_server_unc_1);
+ }
+- NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server_unc), sizeof(uint16_t)));
+- NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.server_unc, ndr_get_array_length(ndr, &r->in.server_unc), sizeof(uint16_t), CH_UTF16));
++ NDR_CHECK(ndr_check_string_terminator(ndr, length_server_unc_1, sizeof(uint16_t)));
++ NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.server_unc, length_server_unc_1, sizeof(uint16_t), CH_UTF16));
+ NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_unc_0, 0);
+ }
+ NDR_CHECK(ndr_pull_array_size(ndr, &r->in.queue_name));
+ NDR_CHECK(ndr_pull_array_length(ndr, &r->in.queue_name));
+- if (ndr_get_array_length(ndr, &r->in.queue_name) > ndr_get_array_size(ndr, &r->in.queue_name)) {
+- return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.queue_name), ndr_get_array_length(ndr, &r->in.queue_name));
++ size_queue_name_0 = ndr_get_array_size(ndr, &r->in.queue_name);
++ length_queue_name_0 = ndr_get_array_length(ndr, &r->in.queue_name);
++ if (length_queue_name_0 > size_queue_name_0) {
++ return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_queue_name_0, length_queue_name_0);
+ }
+- NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.queue_name), sizeof(uint16_t)));
+- NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.queue_name, ndr_get_array_length(ndr, &r->in.queue_name), sizeof(uint16_t), CH_UTF16));
++ NDR_CHECK(ndr_check_string_terminator(ndr, length_queue_name_0, sizeof(uint16_t)));
++ NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.queue_name, length_queue_name_0, sizeof(uint16_t), CH_UTF16));
+ NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.level));
+ NDR_CHECK(ndr_pull_set_switch_value(ndr, &r->in.info, r->in.level));
+ NDR_CHECK(ndr_pull_srvsvc_NetCharDevQInfo(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.info));
+@@ -14013,6 +14385,10 @@ static enum ndr_err_code ndr_push_srvsvc_NetCharDevQPurge(struct ndr_push *ndr,
+ static enum ndr_err_code ndr_pull_srvsvc_NetCharDevQPurge(struct ndr_pull *ndr, int flags, struct srvsvc_NetCharDevQPurge *r)
+ {
+ uint32_t _ptr_server_unc;
++ uint32_t size_server_unc_1 = 0;
++ uint32_t length_server_unc_1 = 0;
++ uint32_t size_queue_name_0 = 0;
++ uint32_t length_queue_name_0 = 0;
+ TALLOC_CTX *_mem_save_server_unc_0;
+ if (flags & NDR_IN) {
+ NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_unc));
+@@ -14026,20 +14402,24 @@ static enum ndr_err_code ndr_pull_srvsvc_NetCharDevQPurge(struct ndr_pull *ndr,
+ NDR_PULL_SET_MEM_CTX(ndr, r->in.server_unc, 0);
+ NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_unc));
+ NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_unc));
+- if (ndr_get_array_length(ndr, &r->in.server_unc) > ndr_get_array_size(ndr, &r->in.server_unc)) {
+- return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.server_unc), ndr_get_array_length(ndr, &r->in.server_unc));
++ size_server_unc_1 = ndr_get_array_size(ndr, &r->in.server_unc);
++ length_server_unc_1 = ndr_get_array_length(ndr, &r->in.server_unc);
++ if (length_server_unc_1 > size_server_unc_1) {
++ return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_server_unc_1, length_server_unc_1);
+ }
+- NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server_unc), sizeof(uint16_t)));
+- NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.server_unc, ndr_get_array_length(ndr, &r->in.server_unc), sizeof(uint16_t), CH_UTF16));
++ NDR_CHECK(ndr_check_string_terminator(ndr, length_server_unc_1, sizeof(uint16_t)));
++ NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.server_unc, length_server_unc_1, sizeof(uint16_t), CH_UTF16));
+ NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_unc_0, 0);
+ }
+ NDR_CHECK(ndr_pull_array_size(ndr, &r->in.queue_name));
+ NDR_CHECK(ndr_pull_array_length(ndr, &r->in.queue_name));
+- if (ndr_get_array_length(ndr, &r->in.queue_name) > ndr_get_array_size(ndr, &r->in.queue_name)) {
+- return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.queue_name), ndr_get_array_length(ndr, &r->in.queue_name));
++ size_queue_name_0 = ndr_get_array_size(ndr, &r->in.queue_name);
++ length_queue_name_0 = ndr_get_array_length(ndr, &r->in.queue_name);
++ if (length_queue_name_0 > size_queue_name_0) {
++ return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_queue_name_0, length_queue_name_0);
+ }
+- NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.queue_name), sizeof(uint16_t)));
+- NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.queue_name, ndr_get_array_length(ndr, &r->in.queue_name), sizeof(uint16_t), CH_UTF16));
++ NDR_CHECK(ndr_check_string_terminator(ndr, length_queue_name_0, sizeof(uint16_t)));
++ NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.queue_name, length_queue_name_0, sizeof(uint16_t), CH_UTF16));
+ }
+ if (flags & NDR_OUT) {
+ NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
+@@ -14103,6 +14483,12 @@ static enum ndr_err_code ndr_push_srvsvc_NetCharDevQPurgeSelf(struct ndr_push *n
+ static enum ndr_err_code ndr_pull_srvsvc_NetCharDevQPurgeSelf(struct ndr_pull *ndr, int flags, struct srvsvc_NetCharDevQPurgeSelf *r)
+ {
+ uint32_t _ptr_server_unc;
++ uint32_t size_server_unc_1 = 0;
++ uint32_t length_server_unc_1 = 0;
++ uint32_t size_queue_name_0 = 0;
++ uint32_t length_queue_name_0 = 0;
++ uint32_t size_computer_name_0 = 0;
++ uint32_t length_computer_name_0 = 0;
+ TALLOC_CTX *_mem_save_server_unc_0;
+ if (flags & NDR_IN) {
+ NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_unc));
+@@ -14116,27 +14502,33 @@ static enum ndr_err_code ndr_pull_srvsvc_NetCharDevQPurgeSelf(struct ndr_pull *n
+ NDR_PULL_SET_MEM_CTX(ndr, r->in.server_unc, 0);
+ NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_unc));
+ NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_unc));
+- if (ndr_get_array_length(ndr, &r->in.server_unc) > ndr_get_array_size(ndr, &r->in.server_unc)) {
+- return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.server_unc), ndr_get_array_length(ndr, &r->in.server_unc));
++ size_server_unc_1 = ndr_get_array_size(ndr, &r->in.server_unc);
++ length_server_unc_1 = ndr_get_array_length(ndr, &r->in.server_unc);
++ if (length_server_unc_1 > size_server_unc_1) {
++ return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_server_unc_1, length_server_unc_1);
+ }
+- NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server_unc), sizeof(uint16_t)));
+- NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.server_unc, ndr_get_array_length(ndr, &r->in.server_unc), sizeof(uint16_t), CH_UTF16));
++ NDR_CHECK(ndr_check_string_terminator(ndr, length_server_unc_1, sizeof(uint16_t)));
++ NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.server_unc, length_server_unc_1, sizeof(uint16_t), CH_UTF16));
+ NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_unc_0, 0);
+ }
+ NDR_CHECK(ndr_pull_array_size(ndr, &r->in.queue_name));
+ NDR_CHECK(ndr_pull_array_length(ndr, &r->in.queue_name));
+- if (ndr_get_array_length(ndr, &r->in.queue_name) > ndr_get_array_size(ndr, &r->in.queue_name)) {
+- return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.queue_name), ndr_get_array_length(ndr, &r->in.queue_name));
++ size_queue_name_0 = ndr_get_array_size(ndr, &r->in.queue_name);
++ length_queue_name_0 = ndr_get_array_length(ndr, &r->in.queue_name);
++ if (length_queue_name_0 > size_queue_name_0) {
++ return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_queue_name_0, length_queue_name_0);
+ }
+- NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.queue_name), sizeof(uint16_t)));
+- NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.queue_name, ndr_get_array_length(ndr, &r->in.queue_name), sizeof(uint16_t), CH_UTF16));
++ NDR_CHECK(ndr_check_string_terminator(ndr, length_queue_name_0, sizeof(uint16_t)));
++ NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.queue_name, length_queue_name_0, sizeof(uint16_t), CH_UTF16));
+ NDR_CHECK(ndr_pull_array_size(ndr, &r->in.computer_name));
+ NDR_CHECK(ndr_pull_array_length(ndr, &r->in.computer_name));
+- if (ndr_get_array_length(ndr, &r->in.computer_name) > ndr_get_array_size(ndr, &r->in.computer_name)) {
+- return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.computer_name), ndr_get_array_length(ndr, &r->in.computer_name));
++ size_computer_name_0 = ndr_get_array_size(ndr, &r->in.computer_name);
++ length_computer_name_0 = ndr_get_array_length(ndr, &r->in.computer_name);
++ if (length_computer_name_0 > size_computer_name_0) {
++ return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_computer_name_0, length_computer_name_0);
+ }
+- NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.computer_name), sizeof(uint16_t)));
+- NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.computer_name, ndr_get_array_length(ndr, &r->in.computer_name), sizeof(uint16_t), CH_UTF16));
++ NDR_CHECK(ndr_check_string_terminator(ndr, length_computer_name_0, sizeof(uint16_t)));
++ NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.computer_name, length_computer_name_0, sizeof(uint16_t), CH_UTF16));
+ }
+ if (flags & NDR_OUT) {
+ NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
+@@ -14221,7 +14613,11 @@ static enum ndr_err_code ndr_push_srvsvc_NetConnEnum(struct ndr_push *ndr, int f
+ static enum ndr_err_code ndr_pull_srvsvc_NetConnEnum(struct ndr_pull *ndr, int flags, struct srvsvc_NetConnEnum *r)
+ {
+ uint32_t _ptr_server_unc;
++ uint32_t size_server_unc_1 = 0;
++ uint32_t length_server_unc_1 = 0;
+ uint32_t _ptr_path;
++ uint32_t size_path_1 = 0;
++ uint32_t length_path_1 = 0;
+ uint32_t _ptr_resume_handle;
+ TALLOC_CTX *_mem_save_server_unc_0;
+ TALLOC_CTX *_mem_save_path_0;
+@@ -14242,11 +14638,13 @@ static enum ndr_err_code ndr_pull_srvsvc_NetConnEnum(struct ndr_pull *ndr, int f
+ NDR_PULL_SET_MEM_CTX(ndr, r->in.server_unc, 0);
+ NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_unc));
+ NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_unc));
+- if (ndr_get_array_length(ndr, &r->in.server_unc) > ndr_get_array_size(ndr, &r->in.server_unc)) {
+- return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.server_unc), ndr_get_array_length(ndr, &r->in.server_unc));
++ size_server_unc_1 = ndr_get_array_size(ndr, &r->in.server_unc);
++ length_server_unc_1 = ndr_get_array_length(ndr, &r->in.server_unc);
++ if (length_server_unc_1 > size_server_unc_1) {
++ return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_server_unc_1, length_server_unc_1);
+ }
+- NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server_unc), sizeof(uint16_t)));
+- NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.server_unc, ndr_get_array_length(ndr, &r->in.server_unc), sizeof(uint16_t), CH_UTF16));
++ NDR_CHECK(ndr_check_string_terminator(ndr, length_server_unc_1, sizeof(uint16_t)));
++ NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.server_unc, length_server_unc_1, sizeof(uint16_t), CH_UTF16));
+ NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_unc_0, 0);
+ }
+ NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_path));
+@@ -14260,11 +14658,13 @@ static enum ndr_err_code ndr_pull_srvsvc_NetConnEnum(struct ndr_pull *ndr, int f
+ NDR_PULL_SET_MEM_CTX(ndr, r->in.path, 0);
+ NDR_CHECK(ndr_pull_array_size(ndr, &r->in.path));
+ NDR_CHECK(ndr_pull_array_length(ndr, &r->in.path));
+- if (ndr_get_array_length(ndr, &r->in.path) > ndr_get_array_size(ndr, &r->in.path)) {
+- return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.path), ndr_get_array_length(ndr, &r->in.path));
++ size_path_1 = ndr_get_array_size(ndr, &r->in.path);
++ length_path_1 = ndr_get_array_length(ndr, &r->in.path);
++ if (length_path_1 > size_path_1) {
++ return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_path_1, length_path_1);
+ }
+- NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.path), sizeof(uint16_t)));
+- NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.path, ndr_get_array_length(ndr, &r->in.path), sizeof(uint16_t), CH_UTF16));
++ NDR_CHECK(ndr_check_string_terminator(ndr, length_path_1, sizeof(uint16_t)));
++ NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.path, length_path_1, sizeof(uint16_t), CH_UTF16));
+ NDR_PULL_SET_MEM_CTX(ndr, _mem_save_path_0, 0);
+ }
+ if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
+@@ -14437,8 +14837,14 @@ static enum ndr_err_code ndr_push_srvsvc_NetFileEnum(struct ndr_push *ndr, int f
+ static enum ndr_err_code ndr_pull_srvsvc_NetFileEnum(struct ndr_pull *ndr, int flags, struct srvsvc_NetFileEnum *r)
+ {
+ uint32_t _ptr_server_unc;
++ uint32_t size_server_unc_1 = 0;
++ uint32_t length_server_unc_1 = 0;
+ uint32_t _ptr_path;
++ uint32_t size_path_1 = 0;
++ uint32_t length_path_1 = 0;
+ uint32_t _ptr_user;
++ uint32_t size_user_1 = 0;
++ uint32_t length_user_1 = 0;
+ uint32_t _ptr_resume_handle;
+ TALLOC_CTX *_mem_save_server_unc_0;
+ TALLOC_CTX *_mem_save_path_0;
+@@ -14460,11 +14866,13 @@ static enum ndr_err_code ndr_pull_srvsvc_NetFileEnum(struct ndr_pull *ndr, int f
+ NDR_PULL_SET_MEM_CTX(ndr, r->in.server_unc, 0);
+ NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_unc));
+ NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_unc));
+- if (ndr_get_array_length(ndr, &r->in.server_unc) > ndr_get_array_size(ndr, &r->in.server_unc)) {
+- return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.server_unc), ndr_get_array_length(ndr, &r->in.server_unc));
++ size_server_unc_1 = ndr_get_array_size(ndr, &r->in.server_unc);
++ length_server_unc_1 = ndr_get_array_length(ndr, &r->in.server_unc);
++ if (length_server_unc_1 > size_server_unc_1) {
++ return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_server_unc_1, length_server_unc_1);
+ }
+- NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server_unc), sizeof(uint16_t)));
+- NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.server_unc, ndr_get_array_length(ndr, &r->in.server_unc), sizeof(uint16_t), CH_UTF16));
++ NDR_CHECK(ndr_check_string_terminator(ndr, length_server_unc_1, sizeof(uint16_t)));
++ NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.server_unc, length_server_unc_1, sizeof(uint16_t), CH_UTF16));
+ NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_unc_0, 0);
+ }
+ NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_path));
+@@ -14478,11 +14886,13 @@ static enum ndr_err_code ndr_pull_srvsvc_NetFileEnum(struct ndr_pull *ndr, int f
+ NDR_PULL_SET_MEM_CTX(ndr, r->in.path, 0);
+ NDR_CHECK(ndr_pull_array_size(ndr, &r->in.path));
+ NDR_CHECK(ndr_pull_array_length(ndr, &r->in.path));
+- if (ndr_get_array_length(ndr, &r->in.path) > ndr_get_array_size(ndr, &r->in.path)) {
+- return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.path), ndr_get_array_length(ndr, &r->in.path));
++ size_path_1 = ndr_get_array_size(ndr, &r->in.path);
++ length_path_1 = ndr_get_array_length(ndr, &r->in.path);
++ if (length_path_1 > size_path_1) {
++ return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_path_1, length_path_1);
+ }
+- NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.path), sizeof(uint16_t)));
+- NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.path, ndr_get_array_length(ndr, &r->in.path), sizeof(uint16_t), CH_UTF16));
++ NDR_CHECK(ndr_check_string_terminator(ndr, length_path_1, sizeof(uint16_t)));
++ NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.path, length_path_1, sizeof(uint16_t), CH_UTF16));
+ NDR_PULL_SET_MEM_CTX(ndr, _mem_save_path_0, 0);
+ }
+ NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_user));
+@@ -14496,11 +14906,13 @@ static enum ndr_err_code ndr_pull_srvsvc_NetFileEnum(struct ndr_pull *ndr, int f
+ NDR_PULL_SET_MEM_CTX(ndr, r->in.user, 0);
+ NDR_CHECK(ndr_pull_array_size(ndr, &r->in.user));
+ NDR_CHECK(ndr_pull_array_length(ndr, &r->in.user));
+- if (ndr_get_array_length(ndr, &r->in.user) > ndr_get_array_size(ndr, &r->in.user)) {
+- return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.user), ndr_get_array_length(ndr, &r->in.user));
++ size_user_1 = ndr_get_array_size(ndr, &r->in.user);
++ length_user_1 = ndr_get_array_length(ndr, &r->in.user);
++ if (length_user_1 > size_user_1) {
++ return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_user_1, length_user_1);
+ }
+- NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.user), sizeof(uint16_t)));
+- NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.user, ndr_get_array_length(ndr, &r->in.user), sizeof(uint16_t), CH_UTF16));
++ NDR_CHECK(ndr_check_string_terminator(ndr, length_user_1, sizeof(uint16_t)));
++ NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.user, length_user_1, sizeof(uint16_t), CH_UTF16));
+ NDR_PULL_SET_MEM_CTX(ndr, _mem_save_user_0, 0);
+ }
+ if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
+@@ -14651,6 +15063,8 @@ static enum ndr_err_code ndr_push_srvsvc_NetFileGetInfo(struct ndr_push *ndr, in
+ static enum ndr_err_code ndr_pull_srvsvc_NetFileGetInfo(struct ndr_pull *ndr, int flags, struct srvsvc_NetFileGetInfo *r)
+ {
+ uint32_t _ptr_server_unc;
++ uint32_t size_server_unc_1 = 0;
++ uint32_t length_server_unc_1 = 0;
+ TALLOC_CTX *_mem_save_server_unc_0;
+ TALLOC_CTX *_mem_save_info_0;
+ if (flags & NDR_IN) {
+@@ -14667,11 +15081,13 @@ static enum ndr_err_code ndr_pull_srvsvc_NetFileGetInfo(struct ndr_pull *ndr, in
+ NDR_PULL_SET_MEM_CTX(ndr, r->in.server_unc, 0);
+ NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_unc));
+ NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_unc));
+- if (ndr_get_array_length(ndr, &r->in.server_unc) > ndr_get_array_size(ndr, &r->in.server_unc)) {
+- return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.server_unc), ndr_get_array_length(ndr, &r->in.server_unc));
++ size_server_unc_1 = ndr_get_array_size(ndr, &r->in.server_unc);
++ length_server_unc_1 = ndr_get_array_length(ndr, &r->in.server_unc);
++ if (length_server_unc_1 > size_server_unc_1) {
++ return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_server_unc_1, length_server_unc_1);
+ }
+- NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server_unc), sizeof(uint16_t)));
+- NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.server_unc, ndr_get_array_length(ndr, &r->in.server_unc), sizeof(uint16_t), CH_UTF16));
++ NDR_CHECK(ndr_check_string_terminator(ndr, length_server_unc_1, sizeof(uint16_t)));
++ NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.server_unc, length_server_unc_1, sizeof(uint16_t), CH_UTF16));
+ NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_unc_0, 0);
+ }
+ NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.fid));
+@@ -14748,6 +15164,8 @@ static enum ndr_err_code ndr_push_srvsvc_NetFileClose(struct ndr_push *ndr, int
+ static enum ndr_err_code ndr_pull_srvsvc_NetFileClose(struct ndr_pull *ndr, int flags, struct srvsvc_NetFileClose *r)
+ {
+ uint32_t _ptr_server_unc;
++ uint32_t size_server_unc_1 = 0;
++ uint32_t length_server_unc_1 = 0;
+ TALLOC_CTX *_mem_save_server_unc_0;
+ if (flags & NDR_IN) {
+ NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_unc));
+@@ -14761,11 +15179,13 @@ static enum ndr_err_code ndr_pull_srvsvc_NetFileClose(struct ndr_pull *ndr, int
+ NDR_PULL_SET_MEM_CTX(ndr, r->in.server_unc, 0);
+ NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_unc));
+ NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_unc));
+- if (ndr_get_array_length(ndr, &r->in.server_unc) > ndr_get_array_size(ndr, &r->in.server_unc)) {
+- return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.server_unc), ndr_get_array_length(ndr, &r->in.server_unc));
++ size_server_unc_1 = ndr_get_array_size(ndr, &r->in.server_unc);
++ length_server_unc_1 = ndr_get_array_length(ndr, &r->in.server_unc);
++ if (length_server_unc_1 > size_server_unc_1) {
++ return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_server_unc_1, length_server_unc_1);
+ }
+- NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server_unc), sizeof(uint16_t)));
+- NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.server_unc, ndr_get_array_length(ndr, &r->in.server_unc), sizeof(uint16_t), CH_UTF16));
++ NDR_CHECK(ndr_check_string_terminator(ndr, length_server_unc_1, sizeof(uint16_t)));
++ NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.server_unc, length_server_unc_1, sizeof(uint16_t), CH_UTF16));
+ NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_unc_0, 0);
+ }
+ NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.fid));
+@@ -14859,8 +15279,14 @@ static enum ndr_err_code ndr_push_srvsvc_NetSessEnum(struct ndr_push *ndr, int f
+ static enum ndr_err_code ndr_pull_srvsvc_NetSessEnum(struct ndr_pull *ndr, int flags, struct srvsvc_NetSessEnum *r)
+ {
+ uint32_t _ptr_server_unc;
++ uint32_t size_server_unc_1 = 0;
++ uint32_t length_server_unc_1 = 0;
+ uint32_t _ptr_client;
++ uint32_t size_client_1 = 0;
++ uint32_t length_client_1 = 0;
+ uint32_t _ptr_user;
++ uint32_t size_user_1 = 0;
++ uint32_t length_user_1 = 0;
+ uint32_t _ptr_resume_handle;
+ TALLOC_CTX *_mem_save_server_unc_0;
+ TALLOC_CTX *_mem_save_client_0;
+@@ -14882,11 +15308,13 @@ static enum ndr_err_code ndr_pull_srvsvc_NetSessEnum(struct ndr_pull *ndr, int f
+ NDR_PULL_SET_MEM_CTX(ndr, r->in.server_unc, 0);
+ NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_unc));
+ NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_unc));
+- if (ndr_get_array_length(ndr, &r->in.server_unc) > ndr_get_array_size(ndr, &r->in.server_unc)) {
+- return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.server_unc), ndr_get_array_length(ndr, &r->in.server_unc));
++ size_server_unc_1 = ndr_get_array_size(ndr, &r->in.server_unc);
++ length_server_unc_1 = ndr_get_array_length(ndr, &r->in.server_unc);
++ if (length_server_unc_1 > size_server_unc_1) {
++ return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_server_unc_1, length_server_unc_1);
+ }
+- NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server_unc), sizeof(uint16_t)));
+- NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.server_unc, ndr_get_array_length(ndr, &r->in.server_unc), sizeof(uint16_t), CH_UTF16));
++ NDR_CHECK(ndr_check_string_terminator(ndr, length_server_unc_1, sizeof(uint16_t)));
++ NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.server_unc, length_server_unc_1, sizeof(uint16_t), CH_UTF16));
+ NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_unc_0, 0);
+ }
+ NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_client));
+@@ -14900,11 +15328,13 @@ static enum ndr_err_code ndr_pull_srvsvc_NetSessEnum(struct ndr_pull *ndr, int f
+ NDR_PULL_SET_MEM_CTX(ndr, r->in.client, 0);
+ NDR_CHECK(ndr_pull_array_size(ndr, &r->in.client));
+ NDR_CHECK(ndr_pull_array_length(ndr, &r->in.client));
+- if (ndr_get_array_length(ndr, &r->in.client) > ndr_get_array_size(ndr, &r->in.client)) {
+- return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.client), ndr_get_array_length(ndr, &r->in.client));
++ size_client_1 = ndr_get_array_size(ndr, &r->in.client);
++ length_client_1 = ndr_get_array_length(ndr, &r->in.client);
++ if (length_client_1 > size_client_1) {
++ return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_client_1, length_client_1);
+ }
+- NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.client), sizeof(uint16_t)));
+- NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.client, ndr_get_array_length(ndr, &r->in.client), sizeof(uint16_t), CH_UTF16));
++ NDR_CHECK(ndr_check_string_terminator(ndr, length_client_1, sizeof(uint16_t)));
++ NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.client, length_client_1, sizeof(uint16_t), CH_UTF16));
+ NDR_PULL_SET_MEM_CTX(ndr, _mem_save_client_0, 0);
+ }
+ NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_user));
+@@ -14918,11 +15348,13 @@ static enum ndr_err_code ndr_pull_srvsvc_NetSessEnum(struct ndr_pull *ndr, int f
+ NDR_PULL_SET_MEM_CTX(ndr, r->in.user, 0);
+ NDR_CHECK(ndr_pull_array_size(ndr, &r->in.user));
+ NDR_CHECK(ndr_pull_array_length(ndr, &r->in.user));
+- if (ndr_get_array_length(ndr, &r->in.user) > ndr_get_array_size(ndr, &r->in.user)) {
+- return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.user), ndr_get_array_length(ndr, &r->in.user));
++ size_user_1 = ndr_get_array_size(ndr, &r->in.user);
++ length_user_1 = ndr_get_array_length(ndr, &r->in.user);
++ if (length_user_1 > size_user_1) {
++ return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_user_1, length_user_1);
+ }
+- NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.user), sizeof(uint16_t)));
+- NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.user, ndr_get_array_length(ndr, &r->in.user), sizeof(uint16_t), CH_UTF16));
++ NDR_CHECK(ndr_check_string_terminator(ndr, length_user_1, sizeof(uint16_t)));
++ NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.user, length_user_1, sizeof(uint16_t), CH_UTF16));
+ NDR_PULL_SET_MEM_CTX(ndr, _mem_save_user_0, 0);
+ }
+ if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
+@@ -15080,8 +15512,14 @@ static enum ndr_err_code ndr_push_srvsvc_NetSessDel(struct ndr_push *ndr, int fl
+ static enum ndr_err_code ndr_pull_srvsvc_NetSessDel(struct ndr_pull *ndr, int flags, struct srvsvc_NetSessDel *r)
+ {
+ uint32_t _ptr_server_unc;
++ uint32_t size_server_unc_1 = 0;
++ uint32_t length_server_unc_1 = 0;
+ uint32_t _ptr_client;
++ uint32_t size_client_1 = 0;
++ uint32_t length_client_1 = 0;
+ uint32_t _ptr_user;
++ uint32_t size_user_1 = 0;
++ uint32_t length_user_1 = 0;
+ TALLOC_CTX *_mem_save_server_unc_0;
+ TALLOC_CTX *_mem_save_client_0;
+ TALLOC_CTX *_mem_save_user_0;
+@@ -15097,11 +15535,13 @@ static enum ndr_err_code ndr_pull_srvsvc_NetSessDel(struct ndr_pull *ndr, int fl
+ NDR_PULL_SET_MEM_CTX(ndr, r->in.server_unc, 0);
+ NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_unc));
+ NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_unc));
+- if (ndr_get_array_length(ndr, &r->in.server_unc) > ndr_get_array_size(ndr, &r->in.server_unc)) {
+- return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.server_unc), ndr_get_array_length(ndr, &r->in.server_unc));
++ size_server_unc_1 = ndr_get_array_size(ndr, &r->in.server_unc);
++ length_server_unc_1 = ndr_get_array_length(ndr, &r->in.server_unc);
++ if (length_server_unc_1 > size_server_unc_1) {
++ return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_server_unc_1, length_server_unc_1);
+ }
+- NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server_unc), sizeof(uint16_t)));
+- NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.server_unc, ndr_get_array_length(ndr, &r->in.server_unc), sizeof(uint16_t), CH_UTF16));
++ NDR_CHECK(ndr_check_string_terminator(ndr, length_server_unc_1, sizeof(uint16_t)));
++ NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.server_unc, length_server_unc_1, sizeof(uint16_t), CH_UTF16));
+ NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_unc_0, 0);
+ }
+ NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_client));
+@@ -15115,11 +15555,13 @@ static enum ndr_err_code ndr_pull_srvsvc_NetSessDel(struct ndr_pull *ndr, int fl
+ NDR_PULL_SET_MEM_CTX(ndr, r->in.client, 0);
+ NDR_CHECK(ndr_pull_array_size(ndr, &r->in.client));
+ NDR_CHECK(ndr_pull_array_length(ndr, &r->in.client));
+- if (ndr_get_array_length(ndr, &r->in.client) > ndr_get_array_size(ndr, &r->in.client)) {
+- return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.client), ndr_get_array_length(ndr, &r->in.client));
++ size_client_1 = ndr_get_array_size(ndr, &r->in.client);
++ length_client_1 = ndr_get_array_length(ndr, &r->in.client);
++ if (length_client_1 > size_client_1) {
++ return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_client_1, length_client_1);
+ }
+- NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.client), sizeof(uint16_t)));
+- NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.client, ndr_get_array_length(ndr, &r->in.client), sizeof(uint16_t), CH_UTF16));
++ NDR_CHECK(ndr_check_string_terminator(ndr, length_client_1, sizeof(uint16_t)));
++ NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.client, length_client_1, sizeof(uint16_t), CH_UTF16));
+ NDR_PULL_SET_MEM_CTX(ndr, _mem_save_client_0, 0);
+ }
+ NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_user));
+@@ -15133,11 +15575,13 @@ static enum ndr_err_code ndr_pull_srvsvc_NetSessDel(struct ndr_pull *ndr, int fl
+ NDR_PULL_SET_MEM_CTX(ndr, r->in.user, 0);
+ NDR_CHECK(ndr_pull_array_size(ndr, &r->in.user));
+ NDR_CHECK(ndr_pull_array_length(ndr, &r->in.user));
+- if (ndr_get_array_length(ndr, &r->in.user) > ndr_get_array_size(ndr, &r->in.user)) {
+- return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.user), ndr_get_array_length(ndr, &r->in.user));
++ size_user_1 = ndr_get_array_size(ndr, &r->in.user);
++ length_user_1 = ndr_get_array_length(ndr, &r->in.user);
++ if (length_user_1 > size_user_1) {
++ return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_user_1, length_user_1);
+ }
+- NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.user), sizeof(uint16_t)));
+- NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.user, ndr_get_array_length(ndr, &r->in.user), sizeof(uint16_t), CH_UTF16));
++ NDR_CHECK(ndr_check_string_terminator(ndr, length_user_1, sizeof(uint16_t)));
++ NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.user, length_user_1, sizeof(uint16_t), CH_UTF16));
+ NDR_PULL_SET_MEM_CTX(ndr, _mem_save_user_0, 0);
+ }
+ }
+@@ -15220,6 +15664,8 @@ static enum ndr_err_code ndr_push_srvsvc_NetShareAdd(struct ndr_push *ndr, int f
+ static enum ndr_err_code ndr_pull_srvsvc_NetShareAdd(struct ndr_pull *ndr, int flags, struct srvsvc_NetShareAdd *r)
+ {
+ uint32_t _ptr_server_unc;
++ uint32_t size_server_unc_1 = 0;
++ uint32_t length_server_unc_1 = 0;
+ uint32_t _ptr_parm_error;
+ TALLOC_CTX *_mem_save_server_unc_0;
+ TALLOC_CTX *_mem_save_info_0;
+@@ -15238,11 +15684,13 @@ static enum ndr_err_code ndr_pull_srvsvc_NetShareAdd(struct ndr_pull *ndr, int f
+ NDR_PULL_SET_MEM_CTX(ndr, r->in.server_unc, 0);
+ NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_unc));
+ NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_unc));
+- if (ndr_get_array_length(ndr, &r->in.server_unc) > ndr_get_array_size(ndr, &r->in.server_unc)) {
+- return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.server_unc), ndr_get_array_length(ndr, &r->in.server_unc));
++ size_server_unc_1 = ndr_get_array_size(ndr, &r->in.server_unc);
++ length_server_unc_1 = ndr_get_array_length(ndr, &r->in.server_unc);
++ if (length_server_unc_1 > size_server_unc_1) {
++ return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_server_unc_1, length_server_unc_1);
+ }
+- NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server_unc), sizeof(uint16_t)));
+- NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.server_unc, ndr_get_array_length(ndr, &r->in.server_unc), sizeof(uint16_t), CH_UTF16));
++ NDR_CHECK(ndr_check_string_terminator(ndr, length_server_unc_1, sizeof(uint16_t)));
++ NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.server_unc, length_server_unc_1, sizeof(uint16_t), CH_UTF16));
+ NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_unc_0, 0);
+ }
+ NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.level));
+@@ -15371,6 +15819,8 @@ static enum ndr_err_code ndr_push_srvsvc_NetShareEnumAll(struct ndr_push *ndr, i
+ static enum ndr_err_code ndr_pull_srvsvc_NetShareEnumAll(struct ndr_pull *ndr, int flags, struct srvsvc_NetShareEnumAll *r)
+ {
+ uint32_t _ptr_server_unc;
++ uint32_t size_server_unc_1 = 0;
++ uint32_t length_server_unc_1 = 0;
+ uint32_t _ptr_resume_handle;
+ TALLOC_CTX *_mem_save_server_unc_0;
+ TALLOC_CTX *_mem_save_info_ctr_0;
+@@ -15390,11 +15840,13 @@ static enum ndr_err_code ndr_pull_srvsvc_NetShareEnumAll(struct ndr_pull *ndr, i
+ NDR_PULL_SET_MEM_CTX(ndr, r->in.server_unc, 0);
+ NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_unc));
+ NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_unc));
+- if (ndr_get_array_length(ndr, &r->in.server_unc) > ndr_get_array_size(ndr, &r->in.server_unc)) {
+- return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.server_unc), ndr_get_array_length(ndr, &r->in.server_unc));
++ size_server_unc_1 = ndr_get_array_size(ndr, &r->in.server_unc);
++ length_server_unc_1 = ndr_get_array_length(ndr, &r->in.server_unc);
++ if (length_server_unc_1 > size_server_unc_1) {
++ return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_server_unc_1, length_server_unc_1);
+ }
+- NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server_unc), sizeof(uint16_t)));
+- NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.server_unc, ndr_get_array_length(ndr, &r->in.server_unc), sizeof(uint16_t), CH_UTF16));
++ NDR_CHECK(ndr_check_string_terminator(ndr, length_server_unc_1, sizeof(uint16_t)));
++ NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.server_unc, length_server_unc_1, sizeof(uint16_t), CH_UTF16));
+ NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_unc_0, 0);
+ }
+ if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
+@@ -15536,6 +15988,10 @@ static enum ndr_err_code ndr_push_srvsvc_NetShareGetInfo(struct ndr_push *ndr, i
+ static enum ndr_err_code ndr_pull_srvsvc_NetShareGetInfo(struct ndr_pull *ndr, int flags, struct srvsvc_NetShareGetInfo *r)
+ {
+ uint32_t _ptr_server_unc;
++ uint32_t size_server_unc_1 = 0;
++ uint32_t length_server_unc_1 = 0;
++ uint32_t size_share_name_0 = 0;
++ uint32_t length_share_name_0 = 0;
+ TALLOC_CTX *_mem_save_server_unc_0;
+ TALLOC_CTX *_mem_save_info_0;
+ if (flags & NDR_IN) {
+@@ -15552,20 +16008,24 @@ static enum ndr_err_code ndr_pull_srvsvc_NetShareGetInfo(struct ndr_pull *ndr, i
+ NDR_PULL_SET_MEM_CTX(ndr, r->in.server_unc, 0);
+ NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_unc));
+ NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_unc));
+- if (ndr_get_array_length(ndr, &r->in.server_unc) > ndr_get_array_size(ndr, &r->in.server_unc)) {
+- return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.server_unc), ndr_get_array_length(ndr, &r->in.server_unc));
++ size_server_unc_1 = ndr_get_array_size(ndr, &r->in.server_unc);
++ length_server_unc_1 = ndr_get_array_length(ndr, &r->in.server_unc);
++ if (length_server_unc_1 > size_server_unc_1) {
++ return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_server_unc_1, length_server_unc_1);
+ }
+- NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server_unc), sizeof(uint16_t)));
+- NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.server_unc, ndr_get_array_length(ndr, &r->in.server_unc), sizeof(uint16_t), CH_UTF16));
++ NDR_CHECK(ndr_check_string_terminator(ndr, length_server_unc_1, sizeof(uint16_t)));
++ NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.server_unc, length_server_unc_1, sizeof(uint16_t), CH_UTF16));
+ NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_unc_0, 0);
+ }
+ NDR_CHECK(ndr_pull_array_size(ndr, &r->in.share_name));
+ NDR_CHECK(ndr_pull_array_length(ndr, &r->in.share_name));
+- if (ndr_get_array_length(ndr, &r->in.share_name) > ndr_get_array_size(ndr, &r->in.share_name)) {
+- return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.share_name), ndr_get_array_length(ndr, &r->in.share_name));
++ size_share_name_0 = ndr_get_array_size(ndr, &r->in.share_name);
++ length_share_name_0 = ndr_get_array_length(ndr, &r->in.share_name);
++ if (length_share_name_0 > size_share_name_0) {
++ return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_share_name_0, length_share_name_0);
+ }
+- NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.share_name), sizeof(uint16_t)));
+- NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.share_name, ndr_get_array_length(ndr, &r->in.share_name), sizeof(uint16_t), CH_UTF16));
++ NDR_CHECK(ndr_check_string_terminator(ndr, length_share_name_0, sizeof(uint16_t)));
++ NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.share_name, length_share_name_0, sizeof(uint16_t), CH_UTF16));
+ NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.level));
+ NDR_PULL_ALLOC(ndr, r->out.info);
+ ZERO_STRUCTP(r->out.info);
+@@ -15656,6 +16116,10 @@ static enum ndr_err_code ndr_push_srvsvc_NetShareSetInfo(struct ndr_push *ndr, i
+ static enum ndr_err_code ndr_pull_srvsvc_NetShareSetInfo(struct ndr_pull *ndr, int flags, struct srvsvc_NetShareSetInfo *r)
+ {
+ uint32_t _ptr_server_unc;
++ uint32_t size_server_unc_1 = 0;
++ uint32_t length_server_unc_1 = 0;
++ uint32_t size_share_name_0 = 0;
++ uint32_t length_share_name_0 = 0;
+ uint32_t _ptr_parm_error;
+ TALLOC_CTX *_mem_save_server_unc_0;
+ TALLOC_CTX *_mem_save_info_0;
+@@ -15674,20 +16138,24 @@ static enum ndr_err_code ndr_pull_srvsvc_NetShareSetInfo(struct ndr_pull *ndr, i
+ NDR_PULL_SET_MEM_CTX(ndr, r->in.server_unc, 0);
+ NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_unc));
+ NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_unc));
+- if (ndr_get_array_length(ndr, &r->in.server_unc) > ndr_get_array_size(ndr, &r->in.server_unc)) {
+- return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.server_unc), ndr_get_array_length(ndr, &r->in.server_unc));
++ size_server_unc_1 = ndr_get_array_size(ndr, &r->in.server_unc);
++ length_server_unc_1 = ndr_get_array_length(ndr, &r->in.server_unc);
++ if (length_server_unc_1 > size_server_unc_1) {
++ return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_server_unc_1, length_server_unc_1);
+ }
+- NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server_unc), sizeof(uint16_t)));
+- NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.server_unc, ndr_get_array_length(ndr, &r->in.server_unc), sizeof(uint16_t), CH_UTF16));
++ NDR_CHECK(ndr_check_string_terminator(ndr, length_server_unc_1, sizeof(uint16_t)));
++ NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.server_unc, length_server_unc_1, sizeof(uint16_t), CH_UTF16));
+ NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_unc_0, 0);
+ }
+ NDR_CHECK(ndr_pull_array_size(ndr, &r->in.share_name));
+ NDR_CHECK(ndr_pull_array_length(ndr, &r->in.share_name));
+- if (ndr_get_array_length(ndr, &r->in.share_name) > ndr_get_array_size(ndr, &r->in.share_name)) {
+- return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.share_name), ndr_get_array_length(ndr, &r->in.share_name));
++ size_share_name_0 = ndr_get_array_size(ndr, &r->in.share_name);
++ length_share_name_0 = ndr_get_array_length(ndr, &r->in.share_name);
++ if (length_share_name_0 > size_share_name_0) {
++ return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_share_name_0, length_share_name_0);
+ }
+- NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.share_name), sizeof(uint16_t)));
+- NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.share_name, ndr_get_array_length(ndr, &r->in.share_name), sizeof(uint16_t), CH_UTF16));
++ NDR_CHECK(ndr_check_string_terminator(ndr, length_share_name_0, sizeof(uint16_t)));
++ NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.share_name, length_share_name_0, sizeof(uint16_t), CH_UTF16));
+ NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.level));
+ if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
+ NDR_PULL_ALLOC(ndr, r->in.info);
+@@ -15799,6 +16267,10 @@ static enum ndr_err_code ndr_push_srvsvc_NetShareDel(struct ndr_push *ndr, int f
+ static enum ndr_err_code ndr_pull_srvsvc_NetShareDel(struct ndr_pull *ndr, int flags, struct srvsvc_NetShareDel *r)
+ {
+ uint32_t _ptr_server_unc;
++ uint32_t size_server_unc_1 = 0;
++ uint32_t length_server_unc_1 = 0;
++ uint32_t size_share_name_0 = 0;
++ uint32_t length_share_name_0 = 0;
+ TALLOC_CTX *_mem_save_server_unc_0;
+ if (flags & NDR_IN) {
+ NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_unc));
+@@ -15812,20 +16284,24 @@ static enum ndr_err_code ndr_pull_srvsvc_NetShareDel(struct ndr_pull *ndr, int f
+ NDR_PULL_SET_MEM_CTX(ndr, r->in.server_unc, 0);
+ NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_unc));
+ NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_unc));
+- if (ndr_get_array_length(ndr, &r->in.server_unc) > ndr_get_array_size(ndr, &r->in.server_unc)) {
+- return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.server_unc), ndr_get_array_length(ndr, &r->in.server_unc));
++ size_server_unc_1 = ndr_get_array_size(ndr, &r->in.server_unc);
++ length_server_unc_1 = ndr_get_array_length(ndr, &r->in.server_unc);
++ if (length_server_unc_1 > size_server_unc_1) {
++ return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_server_unc_1, length_server_unc_1);
+ }
+- NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server_unc), sizeof(uint16_t)));
+- NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.server_unc, ndr_get_array_length(ndr, &r->in.server_unc), sizeof(uint16_t), CH_UTF16));
++ NDR_CHECK(ndr_check_string_terminator(ndr, length_server_unc_1, sizeof(uint16_t)));
++ NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.server_unc, length_server_unc_1, sizeof(uint16_t), CH_UTF16));
+ NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_unc_0, 0);
+ }
+ NDR_CHECK(ndr_pull_array_size(ndr, &r->in.share_name));
+ NDR_CHECK(ndr_pull_array_length(ndr, &r->in.share_name));
+- if (ndr_get_array_length(ndr, &r->in.share_name) > ndr_get_array_size(ndr, &r->in.share_name)) {
+- return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.share_name), ndr_get_array_length(ndr, &r->in.share_name));
++ size_share_name_0 = ndr_get_array_size(ndr, &r->in.share_name);
++ length_share_name_0 = ndr_get_array_length(ndr, &r->in.share_name);
++ if (length_share_name_0 > size_share_name_0) {
++ return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_share_name_0, length_share_name_0);
+ }
+- NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.share_name), sizeof(uint16_t)));
+- NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.share_name, ndr_get_array_length(ndr, &r->in.share_name), sizeof(uint16_t), CH_UTF16));
++ NDR_CHECK(ndr_check_string_terminator(ndr, length_share_name_0, sizeof(uint16_t)));
++ NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.share_name, length_share_name_0, sizeof(uint16_t), CH_UTF16));
+ NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.reserved));
+ }
+ if (flags & NDR_OUT) {
+@@ -15888,6 +16364,10 @@ static enum ndr_err_code ndr_push_srvsvc_NetShareDelSticky(struct ndr_push *ndr,
+ static enum ndr_err_code ndr_pull_srvsvc_NetShareDelSticky(struct ndr_pull *ndr, int flags, struct srvsvc_NetShareDelSticky *r)
+ {
+ uint32_t _ptr_server_unc;
++ uint32_t size_server_unc_1 = 0;
++ uint32_t length_server_unc_1 = 0;
++ uint32_t size_share_name_0 = 0;
++ uint32_t length_share_name_0 = 0;
+ TALLOC_CTX *_mem_save_server_unc_0;
+ if (flags & NDR_IN) {
+ NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_unc));
+@@ -15901,20 +16381,24 @@ static enum ndr_err_code ndr_pull_srvsvc_NetShareDelSticky(struct ndr_pull *ndr,
+ NDR_PULL_SET_MEM_CTX(ndr, r->in.server_unc, 0);
+ NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_unc));
+ NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_unc));
+- if (ndr_get_array_length(ndr, &r->in.server_unc) > ndr_get_array_size(ndr, &r->in.server_unc)) {
+- return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.server_unc), ndr_get_array_length(ndr, &r->in.server_unc));
++ size_server_unc_1 = ndr_get_array_size(ndr, &r->in.server_unc);
++ length_server_unc_1 = ndr_get_array_length(ndr, &r->in.server_unc);
++ if (length_server_unc_1 > size_server_unc_1) {
++ return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_server_unc_1, length_server_unc_1);
+ }
+- NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server_unc), sizeof(uint16_t)));
+- NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.server_unc, ndr_get_array_length(ndr, &r->in.server_unc), sizeof(uint16_t), CH_UTF16));
++ NDR_CHECK(ndr_check_string_terminator(ndr, length_server_unc_1, sizeof(uint16_t)));
++ NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.server_unc, length_server_unc_1, sizeof(uint16_t), CH_UTF16));
+ NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_unc_0, 0);
+ }
+ NDR_CHECK(ndr_pull_array_size(ndr, &r->in.share_name));
+ NDR_CHECK(ndr_pull_array_length(ndr, &r->in.share_name));
+- if (ndr_get_array_length(ndr, &r->in.share_name) > ndr_get_array_size(ndr, &r->in.share_name)) {
+- return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.share_name), ndr_get_array_length(ndr, &r->in.share_name));
++ size_share_name_0 = ndr_get_array_size(ndr, &r->in.share_name);
++ length_share_name_0 = ndr_get_array_length(ndr, &r->in.share_name);
++ if (length_share_name_0 > size_share_name_0) {
++ return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_share_name_0, length_share_name_0);
+ }
+- NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.share_name), sizeof(uint16_t)));
+- NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.share_name, ndr_get_array_length(ndr, &r->in.share_name), sizeof(uint16_t), CH_UTF16));
++ NDR_CHECK(ndr_check_string_terminator(ndr, length_share_name_0, sizeof(uint16_t)));
++ NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.share_name, length_share_name_0, sizeof(uint16_t), CH_UTF16));
+ NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.reserved));
+ }
+ if (flags & NDR_OUT) {
+@@ -15980,6 +16464,10 @@ static enum ndr_err_code ndr_push_srvsvc_NetShareCheck(struct ndr_push *ndr, int
+ static enum ndr_err_code ndr_pull_srvsvc_NetShareCheck(struct ndr_pull *ndr, int flags, struct srvsvc_NetShareCheck *r)
+ {
+ uint32_t _ptr_server_unc;
++ uint32_t size_server_unc_1 = 0;
++ uint32_t length_server_unc_1 = 0;
++ uint32_t size_device_name_0 = 0;
++ uint32_t length_device_name_0 = 0;
+ TALLOC_CTX *_mem_save_server_unc_0;
+ TALLOC_CTX *_mem_save_type_0;
+ if (flags & NDR_IN) {
+@@ -15996,20 +16484,24 @@ static enum ndr_err_code ndr_pull_srvsvc_NetShareCheck(struct ndr_pull *ndr, int
+ NDR_PULL_SET_MEM_CTX(ndr, r->in.server_unc, 0);
+ NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_unc));
+ NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_unc));
+- if (ndr_get_array_length(ndr, &r->in.server_unc) > ndr_get_array_size(ndr, &r->in.server_unc)) {
+- return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.server_unc), ndr_get_array_length(ndr, &r->in.server_unc));
++ size_server_unc_1 = ndr_get_array_size(ndr, &r->in.server_unc);
++ length_server_unc_1 = ndr_get_array_length(ndr, &r->in.server_unc);
++ if (length_server_unc_1 > size_server_unc_1) {
++ return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_server_unc_1, length_server_unc_1);
+ }
+- NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server_unc), sizeof(uint16_t)));
+- NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.server_unc, ndr_get_array_length(ndr, &r->in.server_unc), sizeof(uint16_t), CH_UTF16));
++ NDR_CHECK(ndr_check_string_terminator(ndr, length_server_unc_1, sizeof(uint16_t)));
++ NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.server_unc, length_server_unc_1, sizeof(uint16_t), CH_UTF16));
+ NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_unc_0, 0);
+ }
+ NDR_CHECK(ndr_pull_array_size(ndr, &r->in.device_name));
+ NDR_CHECK(ndr_pull_array_length(ndr, &r->in.device_name));
+- if (ndr_get_array_length(ndr, &r->in.device_name) > ndr_get_array_size(ndr, &r->in.device_name)) {
+- return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.device_name), ndr_get_array_length(ndr, &r->in.device_name));
++ size_device_name_0 = ndr_get_array_size(ndr, &r->in.device_name);
++ length_device_name_0 = ndr_get_array_length(ndr, &r->in.device_name);
++ if (length_device_name_0 > size_device_name_0) {
++ return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_device_name_0, length_device_name_0);
+ }
+- NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.device_name), sizeof(uint16_t)));
+- NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.device_name, ndr_get_array_length(ndr, &r->in.device_name), sizeof(uint16_t), CH_UTF16));
++ NDR_CHECK(ndr_check_string_terminator(ndr, length_device_name_0, sizeof(uint16_t)));
++ NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.device_name, length_device_name_0, sizeof(uint16_t), CH_UTF16));
+ NDR_PULL_ALLOC(ndr, r->out.type);
+ ZERO_STRUCTP(r->out.type);
+ }
+@@ -16084,6 +16576,8 @@ static enum ndr_err_code ndr_push_srvsvc_NetSrvGetInfo(struct ndr_push *ndr, int
+ static enum ndr_err_code ndr_pull_srvsvc_NetSrvGetInfo(struct ndr_pull *ndr, int flags, struct srvsvc_NetSrvGetInfo *r)
+ {
+ uint32_t _ptr_server_unc;
++ uint32_t size_server_unc_1 = 0;
++ uint32_t length_server_unc_1 = 0;
+ TALLOC_CTX *_mem_save_server_unc_0;
+ TALLOC_CTX *_mem_save_info_0;
+ if (flags & NDR_IN) {
+@@ -16100,11 +16594,13 @@ static enum ndr_err_code ndr_pull_srvsvc_NetSrvGetInfo(struct ndr_pull *ndr, int
+ NDR_PULL_SET_MEM_CTX(ndr, r->in.server_unc, 0);
+ NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_unc));
+ NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_unc));
+- if (ndr_get_array_length(ndr, &r->in.server_unc) > ndr_get_array_size(ndr, &r->in.server_unc)) {
+- return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.server_unc), ndr_get_array_length(ndr, &r->in.server_unc));
++ size_server_unc_1 = ndr_get_array_size(ndr, &r->in.server_unc);
++ length_server_unc_1 = ndr_get_array_length(ndr, &r->in.server_unc);
++ if (length_server_unc_1 > size_server_unc_1) {
++ return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_server_unc_1, length_server_unc_1);
+ }
+- NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server_unc), sizeof(uint16_t)));
+- NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.server_unc, ndr_get_array_length(ndr, &r->in.server_unc), sizeof(uint16_t), CH_UTF16));
++ NDR_CHECK(ndr_check_string_terminator(ndr, length_server_unc_1, sizeof(uint16_t)));
++ NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.server_unc, length_server_unc_1, sizeof(uint16_t), CH_UTF16));
+ NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_unc_0, 0);
+ }
+ NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.level));
+@@ -16192,6 +16688,8 @@ static enum ndr_err_code ndr_push_srvsvc_NetSrvSetInfo(struct ndr_push *ndr, int
+ static enum ndr_err_code ndr_pull_srvsvc_NetSrvSetInfo(struct ndr_pull *ndr, int flags, struct srvsvc_NetSrvSetInfo *r)
+ {
+ uint32_t _ptr_server_unc;
++ uint32_t size_server_unc_1 = 0;
++ uint32_t length_server_unc_1 = 0;
+ uint32_t _ptr_parm_error;
+ TALLOC_CTX *_mem_save_server_unc_0;
+ TALLOC_CTX *_mem_save_info_0;
+@@ -16210,11 +16708,13 @@ static enum ndr_err_code ndr_pull_srvsvc_NetSrvSetInfo(struct ndr_pull *ndr, int
+ NDR_PULL_SET_MEM_CTX(ndr, r->in.server_unc, 0);
+ NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_unc));
+ NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_unc));
+- if (ndr_get_array_length(ndr, &r->in.server_unc) > ndr_get_array_size(ndr, &r->in.server_unc)) {
+- return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.server_unc), ndr_get_array_length(ndr, &r->in.server_unc));
++ size_server_unc_1 = ndr_get_array_size(ndr, &r->in.server_unc);
++ length_server_unc_1 = ndr_get_array_length(ndr, &r->in.server_unc);
++ if (length_server_unc_1 > size_server_unc_1) {
++ return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_server_unc_1, length_server_unc_1);
+ }
+- NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server_unc), sizeof(uint16_t)));
+- NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.server_unc, ndr_get_array_length(ndr, &r->in.server_unc), sizeof(uint16_t), CH_UTF16));
++ NDR_CHECK(ndr_check_string_terminator(ndr, length_server_unc_1, sizeof(uint16_t)));
++ NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.server_unc, length_server_unc_1, sizeof(uint16_t), CH_UTF16));
+ NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_unc_0, 0);
+ }
+ NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.level));
+@@ -16344,6 +16844,8 @@ static enum ndr_err_code ndr_push_srvsvc_NetDiskEnum(struct ndr_push *ndr, int f
+ static enum ndr_err_code ndr_pull_srvsvc_NetDiskEnum(struct ndr_pull *ndr, int flags, struct srvsvc_NetDiskEnum *r)
+ {
+ uint32_t _ptr_server_unc;
++ uint32_t size_server_unc_1 = 0;
++ uint32_t length_server_unc_1 = 0;
+ uint32_t _ptr_resume_handle;
+ TALLOC_CTX *_mem_save_server_unc_0;
+ TALLOC_CTX *_mem_save_info_0;
+@@ -16363,11 +16865,13 @@ static enum ndr_err_code ndr_pull_srvsvc_NetDiskEnum(struct ndr_pull *ndr, int f
+ NDR_PULL_SET_MEM_CTX(ndr, r->in.server_unc, 0);
+ NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_unc));
+ NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_unc));
+- if (ndr_get_array_length(ndr, &r->in.server_unc) > ndr_get_array_size(ndr, &r->in.server_unc)) {
+- return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.server_unc), ndr_get_array_length(ndr, &r->in.server_unc));
++ size_server_unc_1 = ndr_get_array_size(ndr, &r->in.server_unc);
++ length_server_unc_1 = ndr_get_array_length(ndr, &r->in.server_unc);
++ if (length_server_unc_1 > size_server_unc_1) {
++ return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_server_unc_1, length_server_unc_1);
+ }
+- NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server_unc), sizeof(uint16_t)));
+- NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.server_unc, ndr_get_array_length(ndr, &r->in.server_unc), sizeof(uint16_t), CH_UTF16));
++ NDR_CHECK(ndr_check_string_terminator(ndr, length_server_unc_1, sizeof(uint16_t)));
++ NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.server_unc, length_server_unc_1, sizeof(uint16_t), CH_UTF16));
+ NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_unc_0, 0);
+ }
+ NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.level));
+@@ -16514,7 +17018,11 @@ static enum ndr_err_code ndr_push_srvsvc_NetServerStatisticsGet(struct ndr_push
+ static enum ndr_err_code ndr_pull_srvsvc_NetServerStatisticsGet(struct ndr_pull *ndr, int flags, struct srvsvc_NetServerStatisticsGet *r)
+ {
+ uint32_t _ptr_server_unc;
++ uint32_t size_server_unc_1 = 0;
++ uint32_t length_server_unc_1 = 0;
+ uint32_t _ptr_service;
++ uint32_t size_service_1 = 0;
++ uint32_t length_service_1 = 0;
+ TALLOC_CTX *_mem_save_server_unc_0;
+ TALLOC_CTX *_mem_save_service_0;
+ TALLOC_CTX *_mem_save_stats_0;
+@@ -16532,11 +17040,13 @@ static enum ndr_err_code ndr_pull_srvsvc_NetServerStatisticsGet(struct ndr_pull
+ NDR_PULL_SET_MEM_CTX(ndr, r->in.server_unc, 0);
+ NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_unc));
+ NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_unc));
+- if (ndr_get_array_length(ndr, &r->in.server_unc) > ndr_get_array_size(ndr, &r->in.server_unc)) {
+- return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.server_unc), ndr_get_array_length(ndr, &r->in.server_unc));
++ size_server_unc_1 = ndr_get_array_size(ndr, &r->in.server_unc);
++ length_server_unc_1 = ndr_get_array_length(ndr, &r->in.server_unc);
++ if (length_server_unc_1 > size_server_unc_1) {
++ return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_server_unc_1, length_server_unc_1);
+ }
+- NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server_unc), sizeof(uint16_t)));
+- NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.server_unc, ndr_get_array_length(ndr, &r->in.server_unc), sizeof(uint16_t), CH_UTF16));
++ NDR_CHECK(ndr_check_string_terminator(ndr, length_server_unc_1, sizeof(uint16_t)));
++ NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.server_unc, length_server_unc_1, sizeof(uint16_t), CH_UTF16));
+ NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_unc_0, 0);
+ }
+ NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_service));
+@@ -16550,11 +17060,13 @@ static enum ndr_err_code ndr_pull_srvsvc_NetServerStatisticsGet(struct ndr_pull
+ NDR_PULL_SET_MEM_CTX(ndr, r->in.service, 0);
+ NDR_CHECK(ndr_pull_array_size(ndr, &r->in.service));
+ NDR_CHECK(ndr_pull_array_length(ndr, &r->in.service));
+- if (ndr_get_array_length(ndr, &r->in.service) > ndr_get_array_size(ndr, &r->in.service)) {
+- return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.service), ndr_get_array_length(ndr, &r->in.service));
++ size_service_1 = ndr_get_array_size(ndr, &r->in.service);
++ length_service_1 = ndr_get_array_length(ndr, &r->in.service);
++ if (length_service_1 > size_service_1) {
++ return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_service_1, length_service_1);
+ }
+- NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.service), sizeof(uint16_t)));
+- NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.service, ndr_get_array_length(ndr, &r->in.service), sizeof(uint16_t), CH_UTF16));
++ NDR_CHECK(ndr_check_string_terminator(ndr, length_service_1, sizeof(uint16_t)));
++ NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.service, length_service_1, sizeof(uint16_t), CH_UTF16));
+ NDR_PULL_SET_MEM_CTX(ndr, _mem_save_service_0, 0);
+ }
+ NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.level));
+@@ -16637,6 +17149,8 @@ static enum ndr_err_code ndr_push_srvsvc_NetTransportAdd(struct ndr_push *ndr, i
+ static enum ndr_err_code ndr_pull_srvsvc_NetTransportAdd(struct ndr_pull *ndr, int flags, struct srvsvc_NetTransportAdd *r)
+ {
+ uint32_t _ptr_server_unc;
++ uint32_t size_server_unc_1 = 0;
++ uint32_t length_server_unc_1 = 0;
+ TALLOC_CTX *_mem_save_server_unc_0;
+ if (flags & NDR_IN) {
+ NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_unc));
+@@ -16650,11 +17164,13 @@ static enum ndr_err_code ndr_pull_srvsvc_NetTransportAdd(struct ndr_pull *ndr, i
+ NDR_PULL_SET_MEM_CTX(ndr, r->in.server_unc, 0);
+ NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_unc));
+ NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_unc));
+- if (ndr_get_array_length(ndr, &r->in.server_unc) > ndr_get_array_size(ndr, &r->in.server_unc)) {
+- return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.server_unc), ndr_get_array_length(ndr, &r->in.server_unc));
++ size_server_unc_1 = ndr_get_array_size(ndr, &r->in.server_unc);
++ length_server_unc_1 = ndr_get_array_length(ndr, &r->in.server_unc);
++ if (length_server_unc_1 > size_server_unc_1) {
++ return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_server_unc_1, length_server_unc_1);
+ }
+- NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server_unc), sizeof(uint16_t)));
+- NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.server_unc, ndr_get_array_length(ndr, &r->in.server_unc), sizeof(uint16_t), CH_UTF16));
++ NDR_CHECK(ndr_check_string_terminator(ndr, length_server_unc_1, sizeof(uint16_t)));
++ NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.server_unc, length_server_unc_1, sizeof(uint16_t), CH_UTF16));
+ NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_unc_0, 0);
+ }
+ NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.level));
+@@ -16748,6 +17264,8 @@ static enum ndr_err_code ndr_push_srvsvc_NetTransportEnum(struct ndr_push *ndr,
+ static enum ndr_err_code ndr_pull_srvsvc_NetTransportEnum(struct ndr_pull *ndr, int flags, struct srvsvc_NetTransportEnum *r)
+ {
+ uint32_t _ptr_server_unc;
++ uint32_t size_server_unc_1 = 0;
++ uint32_t length_server_unc_1 = 0;
+ uint32_t _ptr_resume_handle;
+ TALLOC_CTX *_mem_save_server_unc_0;
+ TALLOC_CTX *_mem_save_level_0;
+@@ -16768,11 +17286,13 @@ static enum ndr_err_code ndr_pull_srvsvc_NetTransportEnum(struct ndr_pull *ndr,
+ NDR_PULL_SET_MEM_CTX(ndr, r->in.server_unc, 0);
+ NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_unc));
+ NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_unc));
+- if (ndr_get_array_length(ndr, &r->in.server_unc) > ndr_get_array_size(ndr, &r->in.server_unc)) {
+- return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.server_unc), ndr_get_array_length(ndr, &r->in.server_unc));
++ size_server_unc_1 = ndr_get_array_size(ndr, &r->in.server_unc);
++ length_server_unc_1 = ndr_get_array_length(ndr, &r->in.server_unc);
++ if (length_server_unc_1 > size_server_unc_1) {
++ return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_server_unc_1, length_server_unc_1);
+ }
+- NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server_unc), sizeof(uint16_t)));
+- NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.server_unc, ndr_get_array_length(ndr, &r->in.server_unc), sizeof(uint16_t), CH_UTF16));
++ NDR_CHECK(ndr_check_string_terminator(ndr, length_server_unc_1, sizeof(uint16_t)));
++ NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.server_unc, length_server_unc_1, sizeof(uint16_t), CH_UTF16));
+ NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_unc_0, 0);
+ }
+ if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
+@@ -16934,6 +17454,8 @@ static enum ndr_err_code ndr_push_srvsvc_NetTransportDel(struct ndr_push *ndr, i
+ static enum ndr_err_code ndr_pull_srvsvc_NetTransportDel(struct ndr_pull *ndr, int flags, struct srvsvc_NetTransportDel *r)
+ {
+ uint32_t _ptr_server_unc;
++ uint32_t size_server_unc_1 = 0;
++ uint32_t length_server_unc_1 = 0;
+ TALLOC_CTX *_mem_save_server_unc_0;
+ if (flags & NDR_IN) {
+ NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_unc));
+@@ -16947,11 +17469,13 @@ static enum ndr_err_code ndr_pull_srvsvc_NetTransportDel(struct ndr_pull *ndr, i
+ NDR_PULL_SET_MEM_CTX(ndr, r->in.server_unc, 0);
+ NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_unc));
+ NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_unc));
+- if (ndr_get_array_length(ndr, &r->in.server_unc) > ndr_get_array_size(ndr, &r->in.server_unc)) {
+- return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.server_unc), ndr_get_array_length(ndr, &r->in.server_unc));
++ size_server_unc_1 = ndr_get_array_size(ndr, &r->in.server_unc);
++ length_server_unc_1 = ndr_get_array_length(ndr, &r->in.server_unc);
++ if (length_server_unc_1 > size_server_unc_1) {
++ return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_server_unc_1, length_server_unc_1);
+ }
+- NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server_unc), sizeof(uint16_t)));
+- NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.server_unc, ndr_get_array_length(ndr, &r->in.server_unc), sizeof(uint16_t), CH_UTF16));
++ NDR_CHECK(ndr_check_string_terminator(ndr, length_server_unc_1, sizeof(uint16_t)));
++ NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.server_unc, length_server_unc_1, sizeof(uint16_t), CH_UTF16));
+ NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_unc_0, 0);
+ }
+ NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.unknown));
+@@ -17019,6 +17543,8 @@ static enum ndr_err_code ndr_push_srvsvc_NetRemoteTOD(struct ndr_push *ndr, int
+ static enum ndr_err_code ndr_pull_srvsvc_NetRemoteTOD(struct ndr_pull *ndr, int flags, struct srvsvc_NetRemoteTOD *r)
+ {
+ uint32_t _ptr_server_unc;
++ uint32_t size_server_unc_1 = 0;
++ uint32_t length_server_unc_1 = 0;
+ uint32_t _ptr_info;
+ TALLOC_CTX *_mem_save_server_unc_0;
+ TALLOC_CTX *_mem_save_info_0;
+@@ -17037,11 +17563,13 @@ static enum ndr_err_code ndr_pull_srvsvc_NetRemoteTOD(struct ndr_pull *ndr, int
+ NDR_PULL_SET_MEM_CTX(ndr, r->in.server_unc, 0);
+ NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_unc));
+ NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_unc));
+- if (ndr_get_array_length(ndr, &r->in.server_unc) > ndr_get_array_size(ndr, &r->in.server_unc)) {
+- return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.server_unc), ndr_get_array_length(ndr, &r->in.server_unc));
++ size_server_unc_1 = ndr_get_array_size(ndr, &r->in.server_unc);
++ length_server_unc_1 = ndr_get_array_length(ndr, &r->in.server_unc);
++ if (length_server_unc_1 > size_server_unc_1) {
++ return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_server_unc_1, length_server_unc_1);
+ }
+- NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server_unc), sizeof(uint16_t)));
+- NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.server_unc, ndr_get_array_length(ndr, &r->in.server_unc), sizeof(uint16_t), CH_UTF16));
++ NDR_CHECK(ndr_check_string_terminator(ndr, length_server_unc_1, sizeof(uint16_t)));
++ NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.server_unc, length_server_unc_1, sizeof(uint16_t), CH_UTF16));
+ NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_unc_0, 0);
+ }
+ NDR_PULL_ALLOC(ndr, r->out.info);
+@@ -17136,7 +17664,11 @@ static enum ndr_err_code ndr_push_srvsvc_NetSetServiceBits(struct ndr_push *ndr,
+ static enum ndr_err_code ndr_pull_srvsvc_NetSetServiceBits(struct ndr_pull *ndr, int flags, struct srvsvc_NetSetServiceBits *r)
+ {
+ uint32_t _ptr_server_unc;
++ uint32_t size_server_unc_1 = 0;
++ uint32_t length_server_unc_1 = 0;
+ uint32_t _ptr_transport;
++ uint32_t size_transport_1 = 0;
++ uint32_t length_transport_1 = 0;
+ TALLOC_CTX *_mem_save_server_unc_0;
+ TALLOC_CTX *_mem_save_transport_0;
+ if (flags & NDR_IN) {
+@@ -17151,11 +17683,13 @@ static enum ndr_err_code ndr_pull_srvsvc_NetSetServiceBits(struct ndr_pull *ndr,
+ NDR_PULL_SET_MEM_CTX(ndr, r->in.server_unc, 0);
+ NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_unc));
+ NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_unc));
+- if (ndr_get_array_length(ndr, &r->in.server_unc) > ndr_get_array_size(ndr, &r->in.server_unc)) {
+- return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.server_unc), ndr_get_array_length(ndr, &r->in.server_unc));
++ size_server_unc_1 = ndr_get_array_size(ndr, &r->in.server_unc);
++ length_server_unc_1 = ndr_get_array_length(ndr, &r->in.server_unc);
++ if (length_server_unc_1 > size_server_unc_1) {
++ return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_server_unc_1, length_server_unc_1);
+ }
+- NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server_unc), sizeof(uint16_t)));
+- NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.server_unc, ndr_get_array_length(ndr, &r->in.server_unc), sizeof(uint16_t), CH_UTF16));
++ NDR_CHECK(ndr_check_string_terminator(ndr, length_server_unc_1, sizeof(uint16_t)));
++ NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.server_unc, length_server_unc_1, sizeof(uint16_t), CH_UTF16));
+ NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_unc_0, 0);
+ }
+ NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_transport));
+@@ -17169,11 +17703,13 @@ static enum ndr_err_code ndr_pull_srvsvc_NetSetServiceBits(struct ndr_pull *ndr,
+ NDR_PULL_SET_MEM_CTX(ndr, r->in.transport, 0);
+ NDR_CHECK(ndr_pull_array_size(ndr, &r->in.transport));
+ NDR_CHECK(ndr_pull_array_length(ndr, &r->in.transport));
+- if (ndr_get_array_length(ndr, &r->in.transport) > ndr_get_array_size(ndr, &r->in.transport)) {
+- return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.transport), ndr_get_array_length(ndr, &r->in.transport));
++ size_transport_1 = ndr_get_array_size(ndr, &r->in.transport);
++ length_transport_1 = ndr_get_array_length(ndr, &r->in.transport);
++ if (length_transport_1 > size_transport_1) {
++ return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_transport_1, length_transport_1);
+ }
+- NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.transport), sizeof(uint16_t)));
+- NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.transport, ndr_get_array_length(ndr, &r->in.transport), sizeof(uint16_t), CH_UTF16));
++ NDR_CHECK(ndr_check_string_terminator(ndr, length_transport_1, sizeof(uint16_t)));
++ NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.transport, length_transport_1, sizeof(uint16_t), CH_UTF16));
+ NDR_PULL_SET_MEM_CTX(ndr, _mem_save_transport_0, 0);
+ }
+ NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.servicebits));
+@@ -17249,6 +17785,10 @@ static enum ndr_err_code ndr_push_srvsvc_NetPathType(struct ndr_push *ndr, int f
+ static enum ndr_err_code ndr_pull_srvsvc_NetPathType(struct ndr_pull *ndr, int flags, struct srvsvc_NetPathType *r)
+ {
+ uint32_t _ptr_server_unc;
++ uint32_t size_server_unc_1 = 0;
++ uint32_t length_server_unc_1 = 0;
++ uint32_t size_path_0 = 0;
++ uint32_t length_path_0 = 0;
+ TALLOC_CTX *_mem_save_server_unc_0;
+ TALLOC_CTX *_mem_save_pathtype_0;
+ if (flags & NDR_IN) {
+@@ -17265,20 +17805,24 @@ static enum ndr_err_code ndr_pull_srvsvc_NetPathType(struct ndr_pull *ndr, int f
+ NDR_PULL_SET_MEM_CTX(ndr, r->in.server_unc, 0);
+ NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_unc));
+ NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_unc));
+- if (ndr_get_array_length(ndr, &r->in.server_unc) > ndr_get_array_size(ndr, &r->in.server_unc)) {
+- return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.server_unc), ndr_get_array_length(ndr, &r->in.server_unc));
++ size_server_unc_1 = ndr_get_array_size(ndr, &r->in.server_unc);
++ length_server_unc_1 = ndr_get_array_length(ndr, &r->in.server_unc);
++ if (length_server_unc_1 > size_server_unc_1) {
++ return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_server_unc_1, length_server_unc_1);
+ }
+- NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server_unc), sizeof(uint16_t)));
+- NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.server_unc, ndr_get_array_length(ndr, &r->in.server_unc), sizeof(uint16_t), CH_UTF16));
++ NDR_CHECK(ndr_check_string_terminator(ndr, length_server_unc_1, sizeof(uint16_t)));
++ NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.server_unc, length_server_unc_1, sizeof(uint16_t), CH_UTF16));
+ NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_unc_0, 0);
+ }
+ NDR_CHECK(ndr_pull_array_size(ndr, &r->in.path));
+ NDR_CHECK(ndr_pull_array_length(ndr, &r->in.path));
+- if (ndr_get_array_length(ndr, &r->in.path) > ndr_get_array_size(ndr, &r->in.path)) {
+- return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.path), ndr_get_array_length(ndr, &r->in.path));
++ size_path_0 = ndr_get_array_size(ndr, &r->in.path);
++ length_path_0 = ndr_get_array_length(ndr, &r->in.path);
++ if (length_path_0 > size_path_0) {
++ return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_path_0, length_path_0);
+ }
+- NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.path), sizeof(uint16_t)));
+- NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.path, ndr_get_array_length(ndr, &r->in.path), sizeof(uint16_t), CH_UTF16));
++ NDR_CHECK(ndr_check_string_terminator(ndr, length_path_0, sizeof(uint16_t)));
++ NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.path, length_path_0, sizeof(uint16_t), CH_UTF16));
+ NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.pathflags));
+ NDR_PULL_ALLOC(ndr, r->out.pathtype);
+ ZERO_STRUCTP(r->out.pathtype);
+@@ -17369,6 +17913,13 @@ static enum ndr_err_code ndr_push_srvsvc_NetPathCanonicalize(struct ndr_push *nd
+ static enum ndr_err_code ndr_pull_srvsvc_NetPathCanonicalize(struct ndr_pull *ndr, int flags, struct srvsvc_NetPathCanonicalize *r)
+ {
+ uint32_t _ptr_server_unc;
++ uint32_t size_server_unc_1 = 0;
++ uint32_t length_server_unc_1 = 0;
++ uint32_t size_path_0 = 0;
++ uint32_t length_path_0 = 0;
++ uint32_t size_can_path_0 = 0;
++ uint32_t size_prefix_0 = 0;
++ uint32_t length_prefix_0 = 0;
+ TALLOC_CTX *_mem_save_server_unc_0;
+ TALLOC_CTX *_mem_save_pathtype_0;
+ if (flags & NDR_IN) {
+@@ -17385,28 +17936,34 @@ static enum ndr_err_code ndr_pull_srvsvc_NetPathCanonicalize(struct ndr_pull *nd
+ NDR_PULL_SET_MEM_CTX(ndr, r->in.server_unc, 0);
+ NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_unc));
+ NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_unc));
+- if (ndr_get_array_length(ndr, &r->in.server_unc) > ndr_get_array_size(ndr, &r->in.server_unc)) {
+- return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.server_unc), ndr_get_array_length(ndr, &r->in.server_unc));
++ size_server_unc_1 = ndr_get_array_size(ndr, &r->in.server_unc);
++ length_server_unc_1 = ndr_get_array_length(ndr, &r->in.server_unc);
++ if (length_server_unc_1 > size_server_unc_1) {
++ return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_server_unc_1, length_server_unc_1);
+ }
+- NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server_unc), sizeof(uint16_t)));
+- NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.server_unc, ndr_get_array_length(ndr, &r->in.server_unc), sizeof(uint16_t), CH_UTF16));
++ NDR_CHECK(ndr_check_string_terminator(ndr, length_server_unc_1, sizeof(uint16_t)));
++ NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.server_unc, length_server_unc_1, sizeof(uint16_t), CH_UTF16));
+ NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_unc_0, 0);
+ }
+ NDR_CHECK(ndr_pull_array_size(ndr, &r->in.path));
+ NDR_CHECK(ndr_pull_array_length(ndr, &r->in.path));
+- if (ndr_get_array_length(ndr, &r->in.path) > ndr_get_array_size(ndr, &r->in.path)) {
+- return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.path), ndr_get_array_length(ndr, &r->in.path));
++ size_path_0 = ndr_get_array_size(ndr, &r->in.path);
++ length_path_0 = ndr_get_array_length(ndr, &r->in.path);
++ if (length_path_0 > size_path_0) {
++ return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_path_0, length_path_0);
+ }
+- NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.path), sizeof(uint16_t)));
+- NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.path, ndr_get_array_length(ndr, &r->in.path), sizeof(uint16_t), CH_UTF16));
++ NDR_CHECK(ndr_check_string_terminator(ndr, length_path_0, sizeof(uint16_t)));
++ NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.path, length_path_0, sizeof(uint16_t), CH_UTF16));
+ NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.maxbuf));
+ NDR_CHECK(ndr_pull_array_size(ndr, &r->in.prefix));
+ NDR_CHECK(ndr_pull_array_length(ndr, &r->in.prefix));
+- if (ndr_get_array_length(ndr, &r->in.prefix) > ndr_get_array_size(ndr, &r->in.prefix)) {
+- return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.prefix), ndr_get_array_length(ndr, &r->in.prefix));
++ size_prefix_0 = ndr_get_array_size(ndr, &r->in.prefix);
++ length_prefix_0 = ndr_get_array_length(ndr, &r->in.prefix);
++ if (length_prefix_0 > size_prefix_0) {
++ return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_prefix_0, length_prefix_0);
+ }
+- NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.prefix), sizeof(uint16_t)));
+- NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.prefix, ndr_get_array_length(ndr, &r->in.prefix), sizeof(uint16_t), CH_UTF16));
++ NDR_CHECK(ndr_check_string_terminator(ndr, length_prefix_0, sizeof(uint16_t)));
++ NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.prefix, length_prefix_0, sizeof(uint16_t), CH_UTF16));
+ if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
+ NDR_PULL_ALLOC(ndr, r->in.pathtype);
+ }
+@@ -17420,8 +17977,9 @@ static enum ndr_err_code ndr_pull_srvsvc_NetPathCanonicalize(struct ndr_pull *nd
+ }
+ if (flags & NDR_OUT) {
+ NDR_CHECK(ndr_pull_array_size(ndr, &r->out.can_path));
+- NDR_PULL_ALLOC_N(ndr, r->out.can_path, ndr_get_array_size(ndr, &r->out.can_path));
+- NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->out.can_path, ndr_get_array_size(ndr, &r->out.can_path)));
++ size_can_path_0 = ndr_get_array_size(ndr, &r->out.can_path);
++ NDR_PULL_ALLOC_N(ndr, r->out.can_path, size_can_path_0);
++ NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->out.can_path, size_can_path_0));
+ if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
+ NDR_PULL_ALLOC(ndr, r->out.pathtype);
+ }
+@@ -17507,6 +18065,12 @@ static enum ndr_err_code ndr_push_srvsvc_NetPathCompare(struct ndr_push *ndr, in
+ static enum ndr_err_code ndr_pull_srvsvc_NetPathCompare(struct ndr_pull *ndr, int flags, struct srvsvc_NetPathCompare *r)
+ {
+ uint32_t _ptr_server_unc;
++ uint32_t size_server_unc_1 = 0;
++ uint32_t length_server_unc_1 = 0;
++ uint32_t size_path1_0 = 0;
++ uint32_t length_path1_0 = 0;
++ uint32_t size_path2_0 = 0;
++ uint32_t length_path2_0 = 0;
+ TALLOC_CTX *_mem_save_server_unc_0;
+ if (flags & NDR_IN) {
+ NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_unc));
+@@ -17520,27 +18084,33 @@ static enum ndr_err_code ndr_pull_srvsvc_NetPathCompare(struct ndr_pull *ndr, in
+ NDR_PULL_SET_MEM_CTX(ndr, r->in.server_unc, 0);
+ NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_unc));
+ NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_unc));
+- if (ndr_get_array_length(ndr, &r->in.server_unc) > ndr_get_array_size(ndr, &r->in.server_unc)) {
+- return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.server_unc), ndr_get_array_length(ndr, &r->in.server_unc));
++ size_server_unc_1 = ndr_get_array_size(ndr, &r->in.server_unc);
++ length_server_unc_1 = ndr_get_array_length(ndr, &r->in.server_unc);
++ if (length_server_unc_1 > size_server_unc_1) {
++ return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_server_unc_1, length_server_unc_1);
+ }
+- NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server_unc), sizeof(uint16_t)));
+- NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.server_unc, ndr_get_array_length(ndr, &r->in.server_unc), sizeof(uint16_t), CH_UTF16));
++ NDR_CHECK(ndr_check_string_terminator(ndr, length_server_unc_1, sizeof(uint16_t)));
++ NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.server_unc, length_server_unc_1, sizeof(uint16_t), CH_UTF16));
+ NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_unc_0, 0);
+ }
+ NDR_CHECK(ndr_pull_array_size(ndr, &r->in.path1));
+ NDR_CHECK(ndr_pull_array_length(ndr, &r->in.path1));
+- if (ndr_get_array_length(ndr, &r->in.path1) > ndr_get_array_size(ndr, &r->in.path1)) {
+- return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.path1), ndr_get_array_length(ndr, &r->in.path1));
++ size_path1_0 = ndr_get_array_size(ndr, &r->in.path1);
++ length_path1_0 = ndr_get_array_length(ndr, &r->in.path1);
++ if (length_path1_0 > size_path1_0) {
++ return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_path1_0, length_path1_0);
+ }
+- NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.path1), sizeof(uint16_t)));
+- NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.path1, ndr_get_array_length(ndr, &r->in.path1), sizeof(uint16_t), CH_UTF16));
++ NDR_CHECK(ndr_check_string_terminator(ndr, length_path1_0, sizeof(uint16_t)));
++ NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.path1, length_path1_0, sizeof(uint16_t), CH_UTF16));
+ NDR_CHECK(ndr_pull_array_size(ndr, &r->in.path2));
+ NDR_CHECK(ndr_pull_array_length(ndr, &r->in.path2));
+- if (ndr_get_array_length(ndr, &r->in.path2) > ndr_get_array_size(ndr, &r->in.path2)) {
+- return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.path2), ndr_get_array_length(ndr, &r->in.path2));
++ size_path2_0 = ndr_get_array_size(ndr, &r->in.path2);
++ length_path2_0 = ndr_get_array_length(ndr, &r->in.path2);
++ if (length_path2_0 > size_path2_0) {
++ return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_path2_0, length_path2_0);
+ }
+- NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.path2), sizeof(uint16_t)));
+- NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.path2, ndr_get_array_length(ndr, &r->in.path2), sizeof(uint16_t), CH_UTF16));
++ NDR_CHECK(ndr_check_string_terminator(ndr, length_path2_0, sizeof(uint16_t)));
++ NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.path2, length_path2_0, sizeof(uint16_t), CH_UTF16));
+ NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.pathtype));
+ NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.pathflags));
+ }
+@@ -17607,6 +18177,10 @@ static enum ndr_err_code ndr_push_srvsvc_NetNameValidate(struct ndr_push *ndr, i
+ static enum ndr_err_code ndr_pull_srvsvc_NetNameValidate(struct ndr_pull *ndr, int flags, struct srvsvc_NetNameValidate *r)
+ {
+ uint32_t _ptr_server_unc;
++ uint32_t size_server_unc_1 = 0;
++ uint32_t length_server_unc_1 = 0;
++ uint32_t size_name_0 = 0;
++ uint32_t length_name_0 = 0;
+ TALLOC_CTX *_mem_save_server_unc_0;
+ if (flags & NDR_IN) {
+ NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_unc));
+@@ -17620,20 +18194,24 @@ static enum ndr_err_code ndr_pull_srvsvc_NetNameValidate(struct ndr_pull *ndr, i
+ NDR_PULL_SET_MEM_CTX(ndr, r->in.server_unc, 0);
+ NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_unc));
+ NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_unc));
+- if (ndr_get_array_length(ndr, &r->in.server_unc) > ndr_get_array_size(ndr, &r->in.server_unc)) {
+- return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.server_unc), ndr_get_array_length(ndr, &r->in.server_unc));
++ size_server_unc_1 = ndr_get_array_size(ndr, &r->in.server_unc);
++ length_server_unc_1 = ndr_get_array_length(ndr, &r->in.server_unc);
++ if (length_server_unc_1 > size_server_unc_1) {
++ return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_server_unc_1, length_server_unc_1);
+ }
+- NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server_unc), sizeof(uint16_t)));
+- NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.server_unc, ndr_get_array_length(ndr, &r->in.server_unc), sizeof(uint16_t), CH_UTF16));
++ NDR_CHECK(ndr_check_string_terminator(ndr, length_server_unc_1, sizeof(uint16_t)));
++ NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.server_unc, length_server_unc_1, sizeof(uint16_t), CH_UTF16));
+ NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_unc_0, 0);
+ }
+ NDR_CHECK(ndr_pull_array_size(ndr, &r->in.name));
+ NDR_CHECK(ndr_pull_array_length(ndr, &r->in.name));
+- if (ndr_get_array_length(ndr, &r->in.name) > ndr_get_array_size(ndr, &r->in.name)) {
+- return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.name), ndr_get_array_length(ndr, &r->in.name));
++ size_name_0 = ndr_get_array_size(ndr, &r->in.name);
++ length_name_0 = ndr_get_array_length(ndr, &r->in.name);
++ if (length_name_0 > size_name_0) {
++ return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_name_0, length_name_0);
+ }
+- NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.name), sizeof(uint16_t)));
+- NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.name, ndr_get_array_length(ndr, &r->in.name), sizeof(uint16_t), CH_UTF16));
++ NDR_CHECK(ndr_check_string_terminator(ndr, length_name_0, sizeof(uint16_t)));
++ NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.name, length_name_0, sizeof(uint16_t), CH_UTF16));
+ NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.name_type));
+ NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.flags));
+ }
+@@ -17744,6 +18322,12 @@ static enum ndr_err_code ndr_push_srvsvc_NetPRNameCompare(struct ndr_push *ndr,
+ static enum ndr_err_code ndr_pull_srvsvc_NetPRNameCompare(struct ndr_pull *ndr, int flags, struct srvsvc_NetPRNameCompare *r)
+ {
+ uint32_t _ptr_server_unc;
++ uint32_t size_server_unc_1 = 0;
++ uint32_t length_server_unc_1 = 0;
++ uint32_t size_name1_0 = 0;
++ uint32_t length_name1_0 = 0;
++ uint32_t size_name2_0 = 0;
++ uint32_t length_name2_0 = 0;
+ TALLOC_CTX *_mem_save_server_unc_0;
+ if (flags & NDR_IN) {
+ NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_unc));
+@@ -17757,27 +18341,33 @@ static enum ndr_err_code ndr_pull_srvsvc_NetPRNameCompare(struct ndr_pull *ndr,
+ NDR_PULL_SET_MEM_CTX(ndr, r->in.server_unc, 0);
+ NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_unc));
+ NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_unc));
+- if (ndr_get_array_length(ndr, &r->in.server_unc) > ndr_get_array_size(ndr, &r->in.server_unc)) {
+- return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.server_unc), ndr_get_array_length(ndr, &r->in.server_unc));
++ size_server_unc_1 = ndr_get_array_size(ndr, &r->in.server_unc);
++ length_server_unc_1 = ndr_get_array_length(ndr, &r->in.server_unc);
++ if (length_server_unc_1 > size_server_unc_1) {
++ return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_server_unc_1, length_server_unc_1);
+ }
+- NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server_unc), sizeof(uint16_t)));
+- NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.server_unc, ndr_get_array_length(ndr, &r->in.server_unc), sizeof(uint16_t), CH_UTF16));
++ NDR_CHECK(ndr_check_string_terminator(ndr, length_server_unc_1, sizeof(uint16_t)));
++ NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.server_unc, length_server_unc_1, sizeof(uint16_t), CH_UTF16));
+ NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_unc_0, 0);
+ }
+ NDR_CHECK(ndr_pull_array_size(ndr, &r->in.name1));
+ NDR_CHECK(ndr_pull_array_length(ndr, &r->in.name1));
+- if (ndr_get_array_length(ndr, &r->in.name1) > ndr_get_array_size(ndr, &r->in.name1)) {
+- return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.name1), ndr_get_array_length(ndr, &r->in.name1));
++ size_name1_0 = ndr_get_array_size(ndr, &r->in.name1);
++ length_name1_0 = ndr_get_array_length(ndr, &r->in.name1);
++ if (length_name1_0 > size_name1_0) {
++ return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_name1_0, length_name1_0);
+ }
+- NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.name1), sizeof(uint16_t)));
+- NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.name1, ndr_get_array_length(ndr, &r->in.name1), sizeof(uint16_t), CH_UTF16));
++ NDR_CHECK(ndr_check_string_terminator(ndr, length_name1_0, sizeof(uint16_t)));
++ NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.name1, length_name1_0, sizeof(uint16_t), CH_UTF16));
+ NDR_CHECK(ndr_pull_array_size(ndr, &r->in.name2));
+ NDR_CHECK(ndr_pull_array_length(ndr, &r->in.name2));
+- if (ndr_get_array_length(ndr, &r->in.name2) > ndr_get_array_size(ndr, &r->in.name2)) {
+- return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.name2), ndr_get_array_length(ndr, &r->in.name2));
++ size_name2_0 = ndr_get_array_size(ndr, &r->in.name2);
++ length_name2_0 = ndr_get_array_length(ndr, &r->in.name2);
++ if (length_name2_0 > size_name2_0) {
++ return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_name2_0, length_name2_0);
+ }
+- NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.name2), sizeof(uint16_t)));
+- NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.name2, ndr_get_array_length(ndr, &r->in.name2), sizeof(uint16_t), CH_UTF16));
++ NDR_CHECK(ndr_check_string_terminator(ndr, length_name2_0, sizeof(uint16_t)));
++ NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.name2, length_name2_0, sizeof(uint16_t), CH_UTF16));
+ NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.name_type));
+ NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.flags));
+ }
+@@ -17859,6 +18449,8 @@ static enum ndr_err_code ndr_push_srvsvc_NetShareEnum(struct ndr_push *ndr, int
+ static enum ndr_err_code ndr_pull_srvsvc_NetShareEnum(struct ndr_pull *ndr, int flags, struct srvsvc_NetShareEnum *r)
+ {
+ uint32_t _ptr_server_unc;
++ uint32_t size_server_unc_1 = 0;
++ uint32_t length_server_unc_1 = 0;
+ uint32_t _ptr_resume_handle;
+ TALLOC_CTX *_mem_save_server_unc_0;
+ TALLOC_CTX *_mem_save_info_ctr_0;
+@@ -17878,11 +18470,13 @@ static enum ndr_err_code ndr_pull_srvsvc_NetShareEnum(struct ndr_pull *ndr, int
+ NDR_PULL_SET_MEM_CTX(ndr, r->in.server_unc, 0);
+ NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_unc));
+ NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_unc));
+- if (ndr_get_array_length(ndr, &r->in.server_unc) > ndr_get_array_size(ndr, &r->in.server_unc)) {
+- return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.server_unc), ndr_get_array_length(ndr, &r->in.server_unc));
++ size_server_unc_1 = ndr_get_array_size(ndr, &r->in.server_unc);
++ length_server_unc_1 = ndr_get_array_length(ndr, &r->in.server_unc);
++ if (length_server_unc_1 > size_server_unc_1) {
++ return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_server_unc_1, length_server_unc_1);
+ }
+- NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server_unc), sizeof(uint16_t)));
+- NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.server_unc, ndr_get_array_length(ndr, &r->in.server_unc), sizeof(uint16_t), CH_UTF16));
++ NDR_CHECK(ndr_check_string_terminator(ndr, length_server_unc_1, sizeof(uint16_t)));
++ NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.server_unc, length_server_unc_1, sizeof(uint16_t), CH_UTF16));
+ NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_unc_0, 0);
+ }
+ if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
+@@ -18023,6 +18617,10 @@ static enum ndr_err_code ndr_push_srvsvc_NetShareDelStart(struct ndr_push *ndr,
+ static enum ndr_err_code ndr_pull_srvsvc_NetShareDelStart(struct ndr_pull *ndr, int flags, struct srvsvc_NetShareDelStart *r)
+ {
+ uint32_t _ptr_server_unc;
++ uint32_t size_server_unc_1 = 0;
++ uint32_t length_server_unc_1 = 0;
++ uint32_t size_share_0 = 0;
++ uint32_t length_share_0 = 0;
+ uint32_t _ptr_hnd;
+ TALLOC_CTX *_mem_save_server_unc_0;
+ TALLOC_CTX *_mem_save_hnd_0;
+@@ -18040,20 +18638,24 @@ static enum ndr_err_code ndr_pull_srvsvc_NetShareDelStart(struct ndr_pull *ndr,
+ NDR_PULL_SET_MEM_CTX(ndr, r->in.server_unc, 0);
+ NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_unc));
+ NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_unc));
+- if (ndr_get_array_length(ndr, &r->in.server_unc) > ndr_get_array_size(ndr, &r->in.server_unc)) {
+- return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.server_unc), ndr_get_array_length(ndr, &r->in.server_unc));
++ size_server_unc_1 = ndr_get_array_size(ndr, &r->in.server_unc);
++ length_server_unc_1 = ndr_get_array_length(ndr, &r->in.server_unc);
++ if (length_server_unc_1 > size_server_unc_1) {
++ return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_server_unc_1, length_server_unc_1);
+ }
+- NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server_unc), sizeof(uint16_t)));
+- NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.server_unc, ndr_get_array_length(ndr, &r->in.server_unc), sizeof(uint16_t), CH_UTF16));
++ NDR_CHECK(ndr_check_string_terminator(ndr, length_server_unc_1, sizeof(uint16_t)));
++ NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.server_unc, length_server_unc_1, sizeof(uint16_t), CH_UTF16));
+ NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_unc_0, 0);
+ }
+ NDR_CHECK(ndr_pull_array_size(ndr, &r->in.share));
+ NDR_CHECK(ndr_pull_array_length(ndr, &r->in.share));
+- if (ndr_get_array_length(ndr, &r->in.share) > ndr_get_array_size(ndr, &r->in.share)) {
+- return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.share), ndr_get_array_length(ndr, &r->in.share));
++ size_share_0 = ndr_get_array_size(ndr, &r->in.share);
++ length_share_0 = ndr_get_array_length(ndr, &r->in.share);
++ if (length_share_0 > size_share_0) {
++ return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_share_0, length_share_0);
+ }
+- NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.share), sizeof(uint16_t)));
+- NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.share, ndr_get_array_length(ndr, &r->in.share), sizeof(uint16_t), CH_UTF16));
++ NDR_CHECK(ndr_check_string_terminator(ndr, length_share_0, sizeof(uint16_t)));
++ NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.share, length_share_0, sizeof(uint16_t), CH_UTF16));
+ NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.reserved));
+ }
+ if (flags & NDR_OUT) {
+@@ -18237,7 +18839,13 @@ static enum ndr_err_code ndr_push_srvsvc_NetGetFileSecurity(struct ndr_push *ndr
+ static enum ndr_err_code ndr_pull_srvsvc_NetGetFileSecurity(struct ndr_pull *ndr, int flags, struct srvsvc_NetGetFileSecurity *r)
+ {
+ uint32_t _ptr_server_unc;
++ uint32_t size_server_unc_1 = 0;
++ uint32_t length_server_unc_1 = 0;
+ uint32_t _ptr_share;
++ uint32_t size_share_1 = 0;
++ uint32_t length_share_1 = 0;
++ uint32_t size_file_0 = 0;
++ uint32_t length_file_0 = 0;
+ uint32_t _ptr_sd_buf;
+ TALLOC_CTX *_mem_save_server_unc_0;
+ TALLOC_CTX *_mem_save_share_0;
+@@ -18257,11 +18865,13 @@ static enum ndr_err_code ndr_pull_srvsvc_NetGetFileSecurity(struct ndr_pull *ndr
+ NDR_PULL_SET_MEM_CTX(ndr, r->in.server_unc, 0);
+ NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_unc));
+ NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_unc));
+- if (ndr_get_array_length(ndr, &r->in.server_unc) > ndr_get_array_size(ndr, &r->in.server_unc)) {
+- return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.server_unc), ndr_get_array_length(ndr, &r->in.server_unc));
++ size_server_unc_1 = ndr_get_array_size(ndr, &r->in.server_unc);
++ length_server_unc_1 = ndr_get_array_length(ndr, &r->in.server_unc);
++ if (length_server_unc_1 > size_server_unc_1) {
++ return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_server_unc_1, length_server_unc_1);
+ }
+- NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server_unc), sizeof(uint16_t)));
+- NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.server_unc, ndr_get_array_length(ndr, &r->in.server_unc), sizeof(uint16_t), CH_UTF16));
++ NDR_CHECK(ndr_check_string_terminator(ndr, length_server_unc_1, sizeof(uint16_t)));
++ NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.server_unc, length_server_unc_1, sizeof(uint16_t), CH_UTF16));
+ NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_unc_0, 0);
+ }
+ NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_share));
+@@ -18275,20 +18885,24 @@ static enum ndr_err_code ndr_pull_srvsvc_NetGetFileSecurity(struct ndr_pull *ndr
+ NDR_PULL_SET_MEM_CTX(ndr, r->in.share, 0);
+ NDR_CHECK(ndr_pull_array_size(ndr, &r->in.share));
+ NDR_CHECK(ndr_pull_array_length(ndr, &r->in.share));
+- if (ndr_get_array_length(ndr, &r->in.share) > ndr_get_array_size(ndr, &r->in.share)) {
+- return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.share), ndr_get_array_length(ndr, &r->in.share));
++ size_share_1 = ndr_get_array_size(ndr, &r->in.share);
++ length_share_1 = ndr_get_array_length(ndr, &r->in.share);
++ if (length_share_1 > size_share_1) {
++ return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_share_1, length_share_1);
+ }
+- NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.share), sizeof(uint16_t)));
+- NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.share, ndr_get_array_length(ndr, &r->in.share), sizeof(uint16_t), CH_UTF16));
++ NDR_CHECK(ndr_check_string_terminator(ndr, length_share_1, sizeof(uint16_t)));
++ NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.share, length_share_1, sizeof(uint16_t), CH_UTF16));
+ NDR_PULL_SET_MEM_CTX(ndr, _mem_save_share_0, 0);
+ }
+ NDR_CHECK(ndr_pull_array_size(ndr, &r->in.file));
+ NDR_CHECK(ndr_pull_array_length(ndr, &r->in.file));
+- if (ndr_get_array_length(ndr, &r->in.file) > ndr_get_array_size(ndr, &r->in.file)) {
+- return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.file), ndr_get_array_length(ndr, &r->in.file));
++ size_file_0 = ndr_get_array_size(ndr, &r->in.file);
++ length_file_0 = ndr_get_array_length(ndr, &r->in.file);
++ if (length_file_0 > size_file_0) {
++ return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_file_0, length_file_0);
+ }
+- NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.file), sizeof(uint16_t)));
+- NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.file, ndr_get_array_length(ndr, &r->in.file), sizeof(uint16_t), CH_UTF16));
++ NDR_CHECK(ndr_check_string_terminator(ndr, length_file_0, sizeof(uint16_t)));
++ NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.file, length_file_0, sizeof(uint16_t), CH_UTF16));
+ NDR_CHECK(ndr_pull_security_secinfo(ndr, NDR_SCALARS, &r->in.securityinformation));
+ NDR_PULL_ALLOC(ndr, r->out.sd_buf);
+ ZERO_STRUCTP(r->out.sd_buf);
+@@ -18397,7 +19011,13 @@ static enum ndr_err_code ndr_push_srvsvc_NetSetFileSecurity(struct ndr_push *ndr
+ static enum ndr_err_code ndr_pull_srvsvc_NetSetFileSecurity(struct ndr_pull *ndr, int flags, struct srvsvc_NetSetFileSecurity *r)
+ {
+ uint32_t _ptr_server_unc;
++ uint32_t size_server_unc_1 = 0;
++ uint32_t length_server_unc_1 = 0;
+ uint32_t _ptr_share;
++ uint32_t size_share_1 = 0;
++ uint32_t length_share_1 = 0;
++ uint32_t size_file_0 = 0;
++ uint32_t length_file_0 = 0;
+ TALLOC_CTX *_mem_save_server_unc_0;
+ TALLOC_CTX *_mem_save_share_0;
+ TALLOC_CTX *_mem_save_sd_buf_0;
+@@ -18413,11 +19033,13 @@ static enum ndr_err_code ndr_pull_srvsvc_NetSetFileSecurity(struct ndr_pull *ndr
+ NDR_PULL_SET_MEM_CTX(ndr, r->in.server_unc, 0);
+ NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_unc));
+ NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_unc));
+- if (ndr_get_array_length(ndr, &r->in.server_unc) > ndr_get_array_size(ndr, &r->in.server_unc)) {
+- return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.server_unc), ndr_get_array_length(ndr, &r->in.server_unc));
++ size_server_unc_1 = ndr_get_array_size(ndr, &r->in.server_unc);
++ length_server_unc_1 = ndr_get_array_length(ndr, &r->in.server_unc);
++ if (length_server_unc_1 > size_server_unc_1) {
++ return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_server_unc_1, length_server_unc_1);
+ }
+- NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server_unc), sizeof(uint16_t)));
+- NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.server_unc, ndr_get_array_length(ndr, &r->in.server_unc), sizeof(uint16_t), CH_UTF16));
++ NDR_CHECK(ndr_check_string_terminator(ndr, length_server_unc_1, sizeof(uint16_t)));
++ NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.server_unc, length_server_unc_1, sizeof(uint16_t), CH_UTF16));
+ NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_unc_0, 0);
+ }
+ NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_share));
+@@ -18431,20 +19053,24 @@ static enum ndr_err_code ndr_pull_srvsvc_NetSetFileSecurity(struct ndr_pull *ndr
+ NDR_PULL_SET_MEM_CTX(ndr, r->in.share, 0);
+ NDR_CHECK(ndr_pull_array_size(ndr, &r->in.share));
+ NDR_CHECK(ndr_pull_array_length(ndr, &r->in.share));
+- if (ndr_get_array_length(ndr, &r->in.share) > ndr_get_array_size(ndr, &r->in.share)) {
+- return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.share), ndr_get_array_length(ndr, &r->in.share));
++ size_share_1 = ndr_get_array_size(ndr, &r->in.share);
++ length_share_1 = ndr_get_array_length(ndr, &r->in.share);
++ if (length_share_1 > size_share_1) {
++ return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_share_1, length_share_1);
+ }
+- NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.share), sizeof(uint16_t)));
+- NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.share, ndr_get_array_length(ndr, &r->in.share), sizeof(uint16_t), CH_UTF16));
++ NDR_CHECK(ndr_check_string_terminator(ndr, length_share_1, sizeof(uint16_t)));
++ NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.share, length_share_1, sizeof(uint16_t), CH_UTF16));
+ NDR_PULL_SET_MEM_CTX(ndr, _mem_save_share_0, 0);
+ }
+ NDR_CHECK(ndr_pull_array_size(ndr, &r->in.file));
+ NDR_CHECK(ndr_pull_array_length(ndr, &r->in.file));
+- if (ndr_get_array_length(ndr, &r->in.file) > ndr_get_array_size(ndr, &r->in.file)) {
+- return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.file), ndr_get_array_length(ndr, &r->in.file));
++ size_file_0 = ndr_get_array_size(ndr, &r->in.file);
++ length_file_0 = ndr_get_array_length(ndr, &r->in.file);
++ if (length_file_0 > size_file_0) {
++ return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_file_0, length_file_0);
+ }
+- NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.file), sizeof(uint16_t)));
+- NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.file, ndr_get_array_length(ndr, &r->in.file), sizeof(uint16_t), CH_UTF16));
++ NDR_CHECK(ndr_check_string_terminator(ndr, length_file_0, sizeof(uint16_t)));
++ NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.file, length_file_0, sizeof(uint16_t), CH_UTF16));
+ NDR_CHECK(ndr_pull_security_secinfo(ndr, NDR_SCALARS, &r->in.securityinformation));
+ if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
+ NDR_PULL_ALLOC(ndr, r->in.sd_buf);
+@@ -18522,6 +19148,8 @@ static enum ndr_err_code ndr_push_srvsvc_NetServerTransportAddEx(struct ndr_push
+ static enum ndr_err_code ndr_pull_srvsvc_NetServerTransportAddEx(struct ndr_pull *ndr, int flags, struct srvsvc_NetServerTransportAddEx *r)
+ {
+ uint32_t _ptr_server_unc;
++ uint32_t size_server_unc_1 = 0;
++ uint32_t length_server_unc_1 = 0;
+ TALLOC_CTX *_mem_save_server_unc_0;
+ if (flags & NDR_IN) {
+ NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_unc));
+@@ -18535,11 +19163,13 @@ static enum ndr_err_code ndr_pull_srvsvc_NetServerTransportAddEx(struct ndr_pull
+ NDR_PULL_SET_MEM_CTX(ndr, r->in.server_unc, 0);
+ NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_unc));
+ NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_unc));
+- if (ndr_get_array_length(ndr, &r->in.server_unc) > ndr_get_array_size(ndr, &r->in.server_unc)) {
+- return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.server_unc), ndr_get_array_length(ndr, &r->in.server_unc));
++ size_server_unc_1 = ndr_get_array_size(ndr, &r->in.server_unc);
++ length_server_unc_1 = ndr_get_array_length(ndr, &r->in.server_unc);
++ if (length_server_unc_1 > size_server_unc_1) {
++ return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_server_unc_1, length_server_unc_1);
+ }
+- NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server_unc), sizeof(uint16_t)));
+- NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.server_unc, ndr_get_array_length(ndr, &r->in.server_unc), sizeof(uint16_t), CH_UTF16));
++ NDR_CHECK(ndr_check_string_terminator(ndr, length_server_unc_1, sizeof(uint16_t)));
++ NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.server_unc, length_server_unc_1, sizeof(uint16_t), CH_UTF16));
+ NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_unc_0, 0);
+ }
+ NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.level));
+@@ -18619,8 +19249,14 @@ static enum ndr_err_code ndr_push_srvsvc_NetServerSetServiceBitsEx(struct ndr_pu
+ static enum ndr_err_code ndr_pull_srvsvc_NetServerSetServiceBitsEx(struct ndr_pull *ndr, int flags, struct srvsvc_NetServerSetServiceBitsEx *r)
+ {
+ uint32_t _ptr_server_unc;
++ uint32_t size_server_unc_1 = 0;
++ uint32_t length_server_unc_1 = 0;
+ uint32_t _ptr_emulated_server_unc;
++ uint32_t size_emulated_server_unc_1 = 0;
++ uint32_t length_emulated_server_unc_1 = 0;
+ uint32_t _ptr_transport;
++ uint32_t size_transport_1 = 0;
++ uint32_t length_transport_1 = 0;
+ TALLOC_CTX *_mem_save_server_unc_0;
+ TALLOC_CTX *_mem_save_emulated_server_unc_0;
+ TALLOC_CTX *_mem_save_transport_0;
+@@ -18636,11 +19272,13 @@ static enum ndr_err_code ndr_pull_srvsvc_NetServerSetServiceBitsEx(struct ndr_pu
+ NDR_PULL_SET_MEM_CTX(ndr, r->in.server_unc, 0);
+ NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_unc));
+ NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_unc));
+- if (ndr_get_array_length(ndr, &r->in.server_unc) > ndr_get_array_size(ndr, &r->in.server_unc)) {
+- return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.server_unc), ndr_get_array_length(ndr, &r->in.server_unc));
++ size_server_unc_1 = ndr_get_array_size(ndr, &r->in.server_unc);
++ length_server_unc_1 = ndr_get_array_length(ndr, &r->in.server_unc);
++ if (length_server_unc_1 > size_server_unc_1) {
++ return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_server_unc_1, length_server_unc_1);
+ }
+- NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server_unc), sizeof(uint16_t)));
+- NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.server_unc, ndr_get_array_length(ndr, &r->in.server_unc), sizeof(uint16_t), CH_UTF16));
++ NDR_CHECK(ndr_check_string_terminator(ndr, length_server_unc_1, sizeof(uint16_t)));
++ NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.server_unc, length_server_unc_1, sizeof(uint16_t), CH_UTF16));
+ NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_unc_0, 0);
+ }
+ NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_emulated_server_unc));
+@@ -18654,11 +19292,13 @@ static enum ndr_err_code ndr_pull_srvsvc_NetServerSetServiceBitsEx(struct ndr_pu
+ NDR_PULL_SET_MEM_CTX(ndr, r->in.emulated_server_unc, 0);
+ NDR_CHECK(ndr_pull_array_size(ndr, &r->in.emulated_server_unc));
+ NDR_CHECK(ndr_pull_array_length(ndr, &r->in.emulated_server_unc));
+- if (ndr_get_array_length(ndr, &r->in.emulated_server_unc) > ndr_get_array_size(ndr, &r->in.emulated_server_unc)) {
+- return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.emulated_server_unc), ndr_get_array_length(ndr, &r->in.emulated_server_unc));
++ size_emulated_server_unc_1 = ndr_get_array_size(ndr, &r->in.emulated_server_unc);
++ length_emulated_server_unc_1 = ndr_get_array_length(ndr, &r->in.emulated_server_unc);
++ if (length_emulated_server_unc_1 > size_emulated_server_unc_1) {
++ return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_emulated_server_unc_1, length_emulated_server_unc_1);
+ }
+- NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.emulated_server_unc), sizeof(uint16_t)));
+- NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.emulated_server_unc, ndr_get_array_length(ndr, &r->in.emulated_server_unc), sizeof(uint16_t), CH_UTF16));
++ NDR_CHECK(ndr_check_string_terminator(ndr, length_emulated_server_unc_1, sizeof(uint16_t)));
++ NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.emulated_server_unc, length_emulated_server_unc_1, sizeof(uint16_t), CH_UTF16));
+ NDR_PULL_SET_MEM_CTX(ndr, _mem_save_emulated_server_unc_0, 0);
+ }
+ NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_transport));
+@@ -18672,11 +19312,13 @@ static enum ndr_err_code ndr_pull_srvsvc_NetServerSetServiceBitsEx(struct ndr_pu
+ NDR_PULL_SET_MEM_CTX(ndr, r->in.transport, 0);
+ NDR_CHECK(ndr_pull_array_size(ndr, &r->in.transport));
+ NDR_CHECK(ndr_pull_array_length(ndr, &r->in.transport));
+- if (ndr_get_array_length(ndr, &r->in.transport) > ndr_get_array_size(ndr, &r->in.transport)) {
+- return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.transport), ndr_get_array_length(ndr, &r->in.transport));
++ size_transport_1 = ndr_get_array_size(ndr, &r->in.transport);
++ length_transport_1 = ndr_get_array_length(ndr, &r->in.transport);
++ if (length_transport_1 > size_transport_1) {
++ return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_transport_1, length_transport_1);
+ }
+- NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.transport), sizeof(uint16_t)));
+- NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.transport, ndr_get_array_length(ndr, &r->in.transport), sizeof(uint16_t), CH_UTF16));
++ NDR_CHECK(ndr_check_string_terminator(ndr, length_transport_1, sizeof(uint16_t)));
++ NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.transport, length_transport_1, sizeof(uint16_t), CH_UTF16));
+ NDR_PULL_SET_MEM_CTX(ndr, _mem_save_transport_0, 0);
+ }
+ NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.servicebitsofinterest));
+diff --git a/source/librpc/gen_ndr/ndr_svcctl.c b/source/librpc/gen_ndr/ndr_svcctl.c
+index 8ceb6b0..a9dc07f 100644
+--- a/source/librpc/gen_ndr/ndr_svcctl.c
++++ b/source/librpc/gen_ndr/ndr_svcctl.c
+@@ -25,6 +25,8 @@ static enum ndr_err_code ndr_push_SERVICE_LOCK_STATUS(struct ndr_push *ndr, int
+ static enum ndr_err_code ndr_pull_SERVICE_LOCK_STATUS(struct ndr_pull *ndr, int ndr_flags, struct SERVICE_LOCK_STATUS *r)
+ {
+ uint32_t _ptr_lock_owner;
++ uint32_t size_lock_owner_1 = 0;
++ uint32_t length_lock_owner_1 = 0;
+ TALLOC_CTX *_mem_save_lock_owner_0;
+ if (ndr_flags & NDR_SCALARS) {
+ NDR_CHECK(ndr_pull_align(ndr, 4));
+@@ -43,11 +45,13 @@ static enum ndr_err_code ndr_pull_SERVICE_LOCK_STATUS(struct ndr_pull *ndr, int
+ NDR_PULL_SET_MEM_CTX(ndr, r->lock_owner, 0);
+ NDR_CHECK(ndr_pull_array_size(ndr, &r->lock_owner));
+ NDR_CHECK(ndr_pull_array_length(ndr, &r->lock_owner));
+- if (ndr_get_array_length(ndr, &r->lock_owner) > ndr_get_array_size(ndr, &r->lock_owner)) {
+- return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->lock_owner), ndr_get_array_length(ndr, &r->lock_owner));
++ size_lock_owner_1 = ndr_get_array_size(ndr, &r->lock_owner);
++ length_lock_owner_1 = ndr_get_array_length(ndr, &r->lock_owner);
++ if (length_lock_owner_1 > size_lock_owner_1) {
++ return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_lock_owner_1, length_lock_owner_1);
+ }
+- NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->lock_owner), sizeof(uint16_t)));
+- NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->lock_owner, ndr_get_array_length(ndr, &r->lock_owner), sizeof(uint16_t), CH_UTF16));
++ NDR_CHECK(ndr_check_string_terminator(ndr, length_lock_owner_1, sizeof(uint16_t)));
++ NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->lock_owner, length_lock_owner_1, sizeof(uint16_t), CH_UTF16));
+ NDR_PULL_SET_MEM_CTX(ndr, _mem_save_lock_owner_0, 0);
+ }
+ }
+@@ -612,6 +616,7 @@ static enum ndr_err_code ndr_push_svcctl_QueryServiceObjectSecurity(struct ndr_p
+
+ static enum ndr_err_code ndr_pull_svcctl_QueryServiceObjectSecurity(struct ndr_pull *ndr, int flags, struct svcctl_QueryServiceObjectSecurity *r)
+ {
++ uint32_t size_buffer_1 = 0;
+ TALLOC_CTX *_mem_save_handle_0;
+ TALLOC_CTX *_mem_save_needed_0;
+ if (flags & NDR_IN) {
+@@ -636,10 +641,11 @@ static enum ndr_err_code ndr_pull_svcctl_QueryServiceObjectSecurity(struct ndr_p
+ }
+ if (flags & NDR_OUT) {
+ NDR_CHECK(ndr_pull_array_size(ndr, &r->out.buffer));
++ size_buffer_1 = ndr_get_array_size(ndr, &r->out.buffer);
+ if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
+- NDR_PULL_ALLOC_N(ndr, r->out.buffer, ndr_get_array_size(ndr, &r->out.buffer));
++ NDR_PULL_ALLOC_N(ndr, r->out.buffer, size_buffer_1);
+ }
+- NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->out.buffer, ndr_get_array_size(ndr, &r->out.buffer)));
++ NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->out.buffer, size_buffer_1));
+ if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
+ NDR_PULL_ALLOC(ndr, r->out.needed);
+ }
+@@ -716,6 +722,7 @@ static enum ndr_err_code ndr_push_svcctl_SetServiceObjectSecurity(struct ndr_pus
+
+ static enum ndr_err_code ndr_pull_svcctl_SetServiceObjectSecurity(struct ndr_pull *ndr, int flags, struct svcctl_SetServiceObjectSecurity *r)
+ {
++ uint32_t size_buffer_1 = 0;
+ TALLOC_CTX *_mem_save_handle_0;
+ if (flags & NDR_IN) {
+ if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
+@@ -727,10 +734,11 @@ static enum ndr_err_code ndr_pull_svcctl_SetServiceObjectSecurity(struct ndr_pul
+ NDR_PULL_SET_MEM_CTX(ndr, _mem_save_handle_0, LIBNDR_FLAG_REF_ALLOC);
+ NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.security_flags));
+ NDR_CHECK(ndr_pull_array_size(ndr, &r->in.buffer));
++ size_buffer_1 = ndr_get_array_size(ndr, &r->in.buffer);
+ if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
+- NDR_PULL_ALLOC_N(ndr, r->in.buffer, ndr_get_array_size(ndr, &r->in.buffer));
++ NDR_PULL_ALLOC_N(ndr, r->in.buffer, size_buffer_1);
+ }
+- NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->in.buffer, ndr_get_array_size(ndr, &r->in.buffer)));
++ NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->in.buffer, size_buffer_1));
+ NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.buffer_size));
+ if (r->in.buffer) {
+ NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->in.buffer, r->in.buffer_size));
+@@ -1140,11 +1148,23 @@ static enum ndr_err_code ndr_push_svcctl_ChangeServiceConfigW(struct ndr_push *n
+ static enum ndr_err_code ndr_pull_svcctl_ChangeServiceConfigW(struct ndr_pull *ndr, int flags, struct svcctl_ChangeServiceConfigW *r)
+ {
+ uint32_t _ptr_binary_path;
++ uint32_t size_binary_path_1 = 0;
++ uint32_t length_binary_path_1 = 0;
+ uint32_t _ptr_load_order_group;
++ uint32_t size_load_order_group_1 = 0;
++ uint32_t length_load_order_group_1 = 0;
+ uint32_t _ptr_dependencies;
++ uint32_t size_dependencies_1 = 0;
++ uint32_t length_dependencies_1 = 0;
+ uint32_t _ptr_service_start_name;
++ uint32_t size_service_start_name_1 = 0;
++ uint32_t length_service_start_name_1 = 0;
+ uint32_t _ptr_password;
++ uint32_t size_password_1 = 0;
++ uint32_t length_password_1 = 0;
+ uint32_t _ptr_display_name;
++ uint32_t size_display_name_1 = 0;
++ uint32_t length_display_name_1 = 0;
+ TALLOC_CTX *_mem_save_handle_0;
+ TALLOC_CTX *_mem_save_binary_path_0;
+ TALLOC_CTX *_mem_save_load_order_group_0;
+@@ -1177,11 +1197,13 @@ static enum ndr_err_code ndr_pull_svcctl_ChangeServiceConfigW(struct ndr_pull *n
+ NDR_PULL_SET_MEM_CTX(ndr, r->in.binary_path, 0);
+ NDR_CHECK(ndr_pull_array_size(ndr, &r->in.binary_path));
+ NDR_CHECK(ndr_pull_array_length(ndr, &r->in.binary_path));
+- if (ndr_get_array_length(ndr, &r->in.binary_path) > ndr_get_array_size(ndr, &r->in.binary_path)) {
+- return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.binary_path), ndr_get_array_length(ndr, &r->in.binary_path));
++ size_binary_path_1 = ndr_get_array_size(ndr, &r->in.binary_path);
++ length_binary_path_1 = ndr_get_array_length(ndr, &r->in.binary_path);
++ if (length_binary_path_1 > size_binary_path_1) {
++ return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_binary_path_1, length_binary_path_1);
+ }
+- NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.binary_path), sizeof(uint16_t)));
+- NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.binary_path, ndr_get_array_length(ndr, &r->in.binary_path), sizeof(uint16_t), CH_UTF16));
++ NDR_CHECK(ndr_check_string_terminator(ndr, length_binary_path_1, sizeof(uint16_t)));
++ NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.binary_path, length_binary_path_1, sizeof(uint16_t), CH_UTF16));
+ NDR_PULL_SET_MEM_CTX(ndr, _mem_save_binary_path_0, 0);
+ }
+ NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_load_order_group));
+@@ -1195,11 +1217,13 @@ static enum ndr_err_code ndr_pull_svcctl_ChangeServiceConfigW(struct ndr_pull *n
+ NDR_PULL_SET_MEM_CTX(ndr, r->in.load_order_group, 0);
+ NDR_CHECK(ndr_pull_array_size(ndr, &r->in.load_order_group));
+ NDR_CHECK(ndr_pull_array_length(ndr, &r->in.load_order_group));
+- if (ndr_get_array_length(ndr, &r->in.load_order_group) > ndr_get_array_size(ndr, &r->in.load_order_group)) {
+- return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.load_order_group), ndr_get_array_length(ndr, &r->in.load_order_group));
++ size_load_order_group_1 = ndr_get_array_size(ndr, &r->in.load_order_group);
++ length_load_order_group_1 = ndr_get_array_length(ndr, &r->in.load_order_group);
++ if (length_load_order_group_1 > size_load_order_group_1) {
++ return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_load_order_group_1, length_load_order_group_1);
+ }
+- NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.load_order_group), sizeof(uint16_t)));
+- NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.load_order_group, ndr_get_array_length(ndr, &r->in.load_order_group), sizeof(uint16_t), CH_UTF16));
++ NDR_CHECK(ndr_check_string_terminator(ndr, length_load_order_group_1, sizeof(uint16_t)));
++ NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.load_order_group, length_load_order_group_1, sizeof(uint16_t), CH_UTF16));
+ NDR_PULL_SET_MEM_CTX(ndr, _mem_save_load_order_group_0, 0);
+ }
+ NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_dependencies));
+@@ -1213,11 +1237,13 @@ static enum ndr_err_code ndr_pull_svcctl_ChangeServiceConfigW(struct ndr_pull *n
+ NDR_PULL_SET_MEM_CTX(ndr, r->in.dependencies, 0);
+ NDR_CHECK(ndr_pull_array_size(ndr, &r->in.dependencies));
+ NDR_CHECK(ndr_pull_array_length(ndr, &r->in.dependencies));
+- if (ndr_get_array_length(ndr, &r->in.dependencies) > ndr_get_array_size(ndr, &r->in.dependencies)) {
+- return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.dependencies), ndr_get_array_length(ndr, &r->in.dependencies));
++ size_dependencies_1 = ndr_get_array_size(ndr, &r->in.dependencies);
++ length_dependencies_1 = ndr_get_array_length(ndr, &r->in.dependencies);
++ if (length_dependencies_1 > size_dependencies_1) {
++ return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_dependencies_1, length_dependencies_1);
+ }
+- NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.dependencies), sizeof(uint16_t)));
+- NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.dependencies, ndr_get_array_length(ndr, &r->in.dependencies), sizeof(uint16_t), CH_UTF16));
++ NDR_CHECK(ndr_check_string_terminator(ndr, length_dependencies_1, sizeof(uint16_t)));
++ NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.dependencies, length_dependencies_1, sizeof(uint16_t), CH_UTF16));
+ NDR_PULL_SET_MEM_CTX(ndr, _mem_save_dependencies_0, 0);
+ }
+ NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_service_start_name));
+@@ -1231,11 +1257,13 @@ static enum ndr_err_code ndr_pull_svcctl_ChangeServiceConfigW(struct ndr_pull *n
+ NDR_PULL_SET_MEM_CTX(ndr, r->in.service_start_name, 0);
+ NDR_CHECK(ndr_pull_array_size(ndr, &r->in.service_start_name));
+ NDR_CHECK(ndr_pull_array_length(ndr, &r->in.service_start_name));
+- if (ndr_get_array_length(ndr, &r->in.service_start_name) > ndr_get_array_size(ndr, &r->in.service_start_name)) {
+- return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.service_start_name), ndr_get_array_length(ndr, &r->in.service_start_name));
++ size_service_start_name_1 = ndr_get_array_size(ndr, &r->in.service_start_name);
++ length_service_start_name_1 = ndr_get_array_length(ndr, &r->in.service_start_name);
++ if (length_service_start_name_1 > size_service_start_name_1) {
++ return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_service_start_name_1, length_service_start_name_1);
+ }
+- NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.service_start_name), sizeof(uint16_t)));
+- NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.service_start_name, ndr_get_array_length(ndr, &r->in.service_start_name), sizeof(uint16_t), CH_UTF16));
++ NDR_CHECK(ndr_check_string_terminator(ndr, length_service_start_name_1, sizeof(uint16_t)));
++ NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.service_start_name, length_service_start_name_1, sizeof(uint16_t), CH_UTF16));
+ NDR_PULL_SET_MEM_CTX(ndr, _mem_save_service_start_name_0, 0);
+ }
+ NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_password));
+@@ -1249,11 +1277,13 @@ static enum ndr_err_code ndr_pull_svcctl_ChangeServiceConfigW(struct ndr_pull *n
+ NDR_PULL_SET_MEM_CTX(ndr, r->in.password, 0);
+ NDR_CHECK(ndr_pull_array_size(ndr, &r->in.password));
+ NDR_CHECK(ndr_pull_array_length(ndr, &r->in.password));
+- if (ndr_get_array_length(ndr, &r->in.password) > ndr_get_array_size(ndr, &r->in.password)) {
+- return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.password), ndr_get_array_length(ndr, &r->in.password));
++ size_password_1 = ndr_get_array_size(ndr, &r->in.password);
++ length_password_1 = ndr_get_array_length(ndr, &r->in.password);
++ if (length_password_1 > size_password_1) {
++ return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_password_1, length_password_1);
+ }
+- NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.password), sizeof(uint16_t)));
+- NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.password, ndr_get_array_length(ndr, &r->in.password), sizeof(uint16_t), CH_UTF16));
++ NDR_CHECK(ndr_check_string_terminator(ndr, length_password_1, sizeof(uint16_t)));
++ NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.password, length_password_1, sizeof(uint16_t), CH_UTF16));
+ NDR_PULL_SET_MEM_CTX(ndr, _mem_save_password_0, 0);
+ }
+ NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_display_name));
+@@ -1267,11 +1297,13 @@ static enum ndr_err_code ndr_pull_svcctl_ChangeServiceConfigW(struct ndr_pull *n
+ NDR_PULL_SET_MEM_CTX(ndr, r->in.display_name, 0);
+ NDR_CHECK(ndr_pull_array_size(ndr, &r->in.display_name));
+ NDR_CHECK(ndr_pull_array_length(ndr, &r->in.display_name));
+- if (ndr_get_array_length(ndr, &r->in.display_name) > ndr_get_array_size(ndr, &r->in.display_name)) {
+- return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.display_name), ndr_get_array_length(ndr, &r->in.display_name));
++ size_display_name_1 = ndr_get_array_size(ndr, &r->in.display_name);
++ length_display_name_1 = ndr_get_array_length(ndr, &r->in.display_name);
++ if (length_display_name_1 > size_display_name_1) {
++ return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_display_name_1, length_display_name_1);
+ }
+- NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.display_name), sizeof(uint16_t)));
+- NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.display_name, ndr_get_array_length(ndr, &r->in.display_name), sizeof(uint16_t), CH_UTF16));
++ NDR_CHECK(ndr_check_string_terminator(ndr, length_display_name_1, sizeof(uint16_t)));
++ NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.display_name, length_display_name_1, sizeof(uint16_t), CH_UTF16));
+ NDR_PULL_SET_MEM_CTX(ndr, _mem_save_display_name_0, 0);
+ }
+ NDR_PULL_ALLOC(ndr, r->out.tag_id);
+@@ -1431,12 +1463,24 @@ static enum ndr_err_code ndr_push_svcctl_CreateServiceW(struct ndr_push *ndr, in
+
+ static enum ndr_err_code ndr_pull_svcctl_CreateServiceW(struct ndr_pull *ndr, int flags, struct svcctl_CreateServiceW *r)
+ {
++ uint32_t size_ServiceName_0 = 0;
++ uint32_t length_ServiceName_0 = 0;
+ uint32_t _ptr_DisplayName;
++ uint32_t size_DisplayName_1 = 0;
++ uint32_t length_DisplayName_1 = 0;
++ uint32_t size_binary_path_0 = 0;
++ uint32_t length_binary_path_0 = 0;
+ uint32_t _ptr_LoadOrderGroupKey;
++ uint32_t size_LoadOrderGroupKey_1 = 0;
++ uint32_t length_LoadOrderGroupKey_1 = 0;
+ uint32_t _ptr_TagId;
+ uint32_t _ptr_dependencies;
++ uint32_t size_dependencies_1 = 0;
+ uint32_t _ptr_service_start_name;
++ uint32_t size_service_start_name_1 = 0;
++ uint32_t length_service_start_name_1 = 0;
+ uint32_t _ptr_password;
++ uint32_t size_password_1 = 0;
+ TALLOC_CTX *_mem_save_scmanager_handle_0;
+ TALLOC_CTX *_mem_save_DisplayName_0;
+ TALLOC_CTX *_mem_save_LoadOrderGroupKey_0;
+@@ -1457,11 +1501,13 @@ static enum ndr_err_code ndr_pull_svcctl_CreateServiceW(struct ndr_pull *ndr, in
+ NDR_PULL_SET_MEM_CTX(ndr, _mem_save_scmanager_handle_0, LIBNDR_FLAG_REF_ALLOC);
+ NDR_CHECK(ndr_pull_array_size(ndr, &r->in.ServiceName));
+ NDR_CHECK(ndr_pull_array_length(ndr, &r->in.ServiceName));
+- if (ndr_get_array_length(ndr, &r->in.ServiceName) > ndr_get_array_size(ndr, &r->in.ServiceName)) {
+- return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.ServiceName), ndr_get_array_length(ndr, &r->in.ServiceName));
++ size_ServiceName_0 = ndr_get_array_size(ndr, &r->in.ServiceName);
++ length_ServiceName_0 = ndr_get_array_length(ndr, &r->in.ServiceName);
++ if (length_ServiceName_0 > size_ServiceName_0) {
++ return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_ServiceName_0, length_ServiceName_0);
+ }
+- NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.ServiceName), sizeof(uint16_t)));
+- NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.ServiceName, ndr_get_array_length(ndr, &r->in.ServiceName), sizeof(uint16_t), CH_UTF16));
++ NDR_CHECK(ndr_check_string_terminator(ndr, length_ServiceName_0, sizeof(uint16_t)));
++ NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.ServiceName, length_ServiceName_0, sizeof(uint16_t), CH_UTF16));
+ NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_DisplayName));
+ if (_ptr_DisplayName) {
+ NDR_PULL_ALLOC(ndr, r->in.DisplayName);
+@@ -1473,11 +1519,13 @@ static enum ndr_err_code ndr_pull_svcctl_CreateServiceW(struct ndr_pull *ndr, in
+ NDR_PULL_SET_MEM_CTX(ndr, r->in.DisplayName, 0);
+ NDR_CHECK(ndr_pull_array_size(ndr, &r->in.DisplayName));
+ NDR_CHECK(ndr_pull_array_length(ndr, &r->in.DisplayName));
+- if (ndr_get_array_length(ndr, &r->in.DisplayName) > ndr_get_array_size(ndr, &r->in.DisplayName)) {
+- return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.DisplayName), ndr_get_array_length(ndr, &r->in.DisplayName));
++ size_DisplayName_1 = ndr_get_array_size(ndr, &r->in.DisplayName);
++ length_DisplayName_1 = ndr_get_array_length(ndr, &r->in.DisplayName);
++ if (length_DisplayName_1 > size_DisplayName_1) {
++ return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_DisplayName_1, length_DisplayName_1);
+ }
+- NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.DisplayName), sizeof(uint16_t)));
+- NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.DisplayName, ndr_get_array_length(ndr, &r->in.DisplayName), sizeof(uint16_t), CH_UTF16));
++ NDR_CHECK(ndr_check_string_terminator(ndr, length_DisplayName_1, sizeof(uint16_t)));
++ NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.DisplayName, length_DisplayName_1, sizeof(uint16_t), CH_UTF16));
+ NDR_PULL_SET_MEM_CTX(ndr, _mem_save_DisplayName_0, 0);
+ }
+ NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.desired_access));
+@@ -1486,11 +1534,13 @@ static enum ndr_err_code ndr_pull_svcctl_CreateServiceW(struct ndr_pull *ndr, in
+ NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.error_control));
+ NDR_CHECK(ndr_pull_array_size(ndr, &r->in.binary_path));
+ NDR_CHECK(ndr_pull_array_length(ndr, &r->in.binary_path));
+- if (ndr_get_array_length(ndr, &r->in.binary_path) > ndr_get_array_size(ndr, &r->in.binary_path)) {
+- return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.binary_path), ndr_get_array_length(ndr, &r->in.binary_path));
++ size_binary_path_0 = ndr_get_array_size(ndr, &r->in.binary_path);
++ length_binary_path_0 = ndr_get_array_length(ndr, &r->in.binary_path);
++ if (length_binary_path_0 > size_binary_path_0) {
++ return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_binary_path_0, length_binary_path_0);
+ }
+- NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.binary_path), sizeof(uint16_t)));
+- NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.binary_path, ndr_get_array_length(ndr, &r->in.binary_path), sizeof(uint16_t), CH_UTF16));
++ NDR_CHECK(ndr_check_string_terminator(ndr, length_binary_path_0, sizeof(uint16_t)));
++ NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.binary_path, length_binary_path_0, sizeof(uint16_t), CH_UTF16));
+ NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_LoadOrderGroupKey));
+ if (_ptr_LoadOrderGroupKey) {
+ NDR_PULL_ALLOC(ndr, r->in.LoadOrderGroupKey);
+@@ -1502,11 +1552,13 @@ static enum ndr_err_code ndr_pull_svcctl_CreateServiceW(struct ndr_pull *ndr, in
+ NDR_PULL_SET_MEM_CTX(ndr, r->in.LoadOrderGroupKey, 0);
+ NDR_CHECK(ndr_pull_array_size(ndr, &r->in.LoadOrderGroupKey));
+ NDR_CHECK(ndr_pull_array_length(ndr, &r->in.LoadOrderGroupKey));
+- if (ndr_get_array_length(ndr, &r->in.LoadOrderGroupKey) > ndr_get_array_size(ndr, &r->in.LoadOrderGroupKey)) {
+- return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.LoadOrderGroupKey), ndr_get_array_length(ndr, &r->in.LoadOrderGroupKey));
++ size_LoadOrderGroupKey_1 = ndr_get_array_size(ndr, &r->in.LoadOrderGroupKey);
++ length_LoadOrderGroupKey_1 = ndr_get_array_length(ndr, &r->in.LoadOrderGroupKey);
++ if (length_LoadOrderGroupKey_1 > size_LoadOrderGroupKey_1) {
++ return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_LoadOrderGroupKey_1, length_LoadOrderGroupKey_1);
+ }
+- NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.LoadOrderGroupKey), sizeof(uint16_t)));
+- NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.LoadOrderGroupKey, ndr_get_array_length(ndr, &r->in.LoadOrderGroupKey), sizeof(uint16_t), CH_UTF16));
++ NDR_CHECK(ndr_check_string_terminator(ndr, length_LoadOrderGroupKey_1, sizeof(uint16_t)));
++ NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.LoadOrderGroupKey, length_LoadOrderGroupKey_1, sizeof(uint16_t), CH_UTF16));
+ NDR_PULL_SET_MEM_CTX(ndr, _mem_save_LoadOrderGroupKey_0, 0);
+ }
+ NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_TagId));
+@@ -1531,8 +1583,9 @@ static enum ndr_err_code ndr_pull_svcctl_CreateServiceW(struct ndr_pull *ndr, in
+ _mem_save_dependencies_0 = NDR_PULL_GET_MEM_CTX(ndr);
+ NDR_PULL_SET_MEM_CTX(ndr, r->in.dependencies, 0);
+ NDR_CHECK(ndr_pull_array_size(ndr, &r->in.dependencies));
+- NDR_PULL_ALLOC_N(ndr, r->in.dependencies, ndr_get_array_size(ndr, &r->in.dependencies));
+- NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->in.dependencies, ndr_get_array_size(ndr, &r->in.dependencies)));
++ size_dependencies_1 = ndr_get_array_size(ndr, &r->in.dependencies);
++ NDR_PULL_ALLOC_N(ndr, r->in.dependencies, size_dependencies_1);
++ NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->in.dependencies, size_dependencies_1));
+ NDR_PULL_SET_MEM_CTX(ndr, _mem_save_dependencies_0, 0);
+ }
+ NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.dependencies_size));
+@@ -1547,11 +1600,13 @@ static enum ndr_err_code ndr_pull_svcctl_CreateServiceW(struct ndr_pull *ndr, in
+ NDR_PULL_SET_MEM_CTX(ndr, r->in.service_start_name, 0);
+ NDR_CHECK(ndr_pull_array_size(ndr, &r->in.service_start_name));
+ NDR_CHECK(ndr_pull_array_length(ndr, &r->in.service_start_name));
+- if (ndr_get_array_length(ndr, &r->in.service_start_name) > ndr_get_array_size(ndr, &r->in.service_start_name)) {
+- return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.service_start_name), ndr_get_array_length(ndr, &r->in.service_start_name));
++ size_service_start_name_1 = ndr_get_array_size(ndr, &r->in.service_start_name);
++ length_service_start_name_1 = ndr_get_array_length(ndr, &r->in.service_start_name);
++ if (length_service_start_name_1 > size_service_start_name_1) {
++ return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_service_start_name_1, length_service_start_name_1);
+ }
+- NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.service_start_name), sizeof(uint16_t)));
+- NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.service_start_name, ndr_get_array_length(ndr, &r->in.service_start_name), sizeof(uint16_t), CH_UTF16));
++ NDR_CHECK(ndr_check_string_terminator(ndr, length_service_start_name_1, sizeof(uint16_t)));
++ NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.service_start_name, length_service_start_name_1, sizeof(uint16_t), CH_UTF16));
+ NDR_PULL_SET_MEM_CTX(ndr, _mem_save_service_start_name_0, 0);
+ }
+ NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_password));
+@@ -1564,8 +1619,9 @@ static enum ndr_err_code ndr_pull_svcctl_CreateServiceW(struct ndr_pull *ndr, in
+ _mem_save_password_0 = NDR_PULL_GET_MEM_CTX(ndr);
+ NDR_PULL_SET_MEM_CTX(ndr, r->in.password, 0);
+ NDR_CHECK(ndr_pull_array_size(ndr, &r->in.password));
+- NDR_PULL_ALLOC_N(ndr, r->in.password, ndr_get_array_size(ndr, &r->in.password));
+- NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->in.password, ndr_get_array_size(ndr, &r->in.password)));
++ size_password_1 = ndr_get_array_size(ndr, &r->in.password);
++ NDR_PULL_ALLOC_N(ndr, r->in.password, size_password_1);
++ NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->in.password, size_password_1));
+ NDR_PULL_SET_MEM_CTX(ndr, _mem_save_password_0, 0);
+ }
+ NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.password_size));
+@@ -1844,6 +1900,7 @@ static enum ndr_err_code ndr_push_svcctl_EnumServicesStatusW(struct ndr_push *nd
+
+ static enum ndr_err_code ndr_pull_svcctl_EnumServicesStatusW(struct ndr_pull *ndr, int flags, struct svcctl_EnumServicesStatusW *r)
+ {
++ uint32_t size_service_0 = 0;
+ uint32_t _ptr_resume_handle;
+ TALLOC_CTX *_mem_save_handle_0;
+ TALLOC_CTX *_mem_save_bytes_needed_0;
+@@ -1881,8 +1938,9 @@ static enum ndr_err_code ndr_pull_svcctl_EnumServicesStatusW(struct ndr_pull *nd
+ }
+ if (flags & NDR_OUT) {
+ NDR_CHECK(ndr_pull_array_size(ndr, &r->out.service));
+- NDR_PULL_ALLOC_N(ndr, r->out.service, ndr_get_array_size(ndr, &r->out.service));
+- NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->out.service, ndr_get_array_size(ndr, &r->out.service)));
++ size_service_0 = ndr_get_array_size(ndr, &r->out.service);
++ NDR_PULL_ALLOC_N(ndr, r->out.service, size_service_0);
++ NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->out.service, size_service_0));
+ if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
+ NDR_PULL_ALLOC(ndr, r->out.bytes_needed);
+ }
+@@ -1998,7 +2056,11 @@ static enum ndr_err_code ndr_push_svcctl_OpenSCManagerW(struct ndr_push *ndr, in
+ static enum ndr_err_code ndr_pull_svcctl_OpenSCManagerW(struct ndr_pull *ndr, int flags, struct svcctl_OpenSCManagerW *r)
+ {
+ uint32_t _ptr_MachineName;
++ uint32_t size_MachineName_1 = 0;
++ uint32_t length_MachineName_1 = 0;
+ uint32_t _ptr_DatabaseName;
++ uint32_t size_DatabaseName_1 = 0;
++ uint32_t length_DatabaseName_1 = 0;
+ TALLOC_CTX *_mem_save_MachineName_0;
+ TALLOC_CTX *_mem_save_DatabaseName_0;
+ TALLOC_CTX *_mem_save_handle_0;
+@@ -2016,11 +2078,13 @@ static enum ndr_err_code ndr_pull_svcctl_OpenSCManagerW(struct ndr_pull *ndr, in
+ NDR_PULL_SET_MEM_CTX(ndr, r->in.MachineName, 0);
+ NDR_CHECK(ndr_pull_array_size(ndr, &r->in.MachineName));
+ NDR_CHECK(ndr_pull_array_length(ndr, &r->in.MachineName));
+- if (ndr_get_array_length(ndr, &r->in.MachineName) > ndr_get_array_size(ndr, &r->in.MachineName)) {
+- return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.MachineName), ndr_get_array_length(ndr, &r->in.MachineName));
++ size_MachineName_1 = ndr_get_array_size(ndr, &r->in.MachineName);
++ length_MachineName_1 = ndr_get_array_length(ndr, &r->in.MachineName);
++ if (length_MachineName_1 > size_MachineName_1) {
++ return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_MachineName_1, length_MachineName_1);
+ }
+- NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.MachineName), sizeof(uint16_t)));
+- NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.MachineName, ndr_get_array_length(ndr, &r->in.MachineName), sizeof(uint16_t), CH_UTF16));
++ NDR_CHECK(ndr_check_string_terminator(ndr, length_MachineName_1, sizeof(uint16_t)));
++ NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.MachineName, length_MachineName_1, sizeof(uint16_t), CH_UTF16));
+ NDR_PULL_SET_MEM_CTX(ndr, _mem_save_MachineName_0, 0);
+ }
+ NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_DatabaseName));
+@@ -2034,11 +2098,13 @@ static enum ndr_err_code ndr_pull_svcctl_OpenSCManagerW(struct ndr_pull *ndr, in
+ NDR_PULL_SET_MEM_CTX(ndr, r->in.DatabaseName, 0);
+ NDR_CHECK(ndr_pull_array_size(ndr, &r->in.DatabaseName));
+ NDR_CHECK(ndr_pull_array_length(ndr, &r->in.DatabaseName));
+- if (ndr_get_array_length(ndr, &r->in.DatabaseName) > ndr_get_array_size(ndr, &r->in.DatabaseName)) {
+- return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.DatabaseName), ndr_get_array_length(ndr, &r->in.DatabaseName));
++ size_DatabaseName_1 = ndr_get_array_size(ndr, &r->in.DatabaseName);
++ length_DatabaseName_1 = ndr_get_array_length(ndr, &r->in.DatabaseName);
++ if (length_DatabaseName_1 > size_DatabaseName_1) {
++ return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_DatabaseName_1, length_DatabaseName_1);
+ }
+- NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.DatabaseName), sizeof(uint16_t)));
+- NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.DatabaseName, ndr_get_array_length(ndr, &r->in.DatabaseName), sizeof(uint16_t), CH_UTF16));
++ NDR_CHECK(ndr_check_string_terminator(ndr, length_DatabaseName_1, sizeof(uint16_t)));
++ NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.DatabaseName, length_DatabaseName_1, sizeof(uint16_t), CH_UTF16));
+ NDR_PULL_SET_MEM_CTX(ndr, _mem_save_DatabaseName_0, 0);
+ }
+ NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.access_mask));
+@@ -2121,6 +2187,8 @@ static enum ndr_err_code ndr_push_svcctl_OpenServiceW(struct ndr_push *ndr, int
+
+ static enum ndr_err_code ndr_pull_svcctl_OpenServiceW(struct ndr_pull *ndr, int flags, struct svcctl_OpenServiceW *r)
+ {
++ uint32_t size_ServiceName_0 = 0;
++ uint32_t length_ServiceName_0 = 0;
+ TALLOC_CTX *_mem_save_scmanager_handle_0;
+ TALLOC_CTX *_mem_save_handle_0;
+ if (flags & NDR_IN) {
+@@ -2135,11 +2203,13 @@ static enum ndr_err_code ndr_pull_svcctl_OpenServiceW(struct ndr_pull *ndr, int
+ NDR_PULL_SET_MEM_CTX(ndr, _mem_save_scmanager_handle_0, LIBNDR_FLAG_REF_ALLOC);
+ NDR_CHECK(ndr_pull_array_size(ndr, &r->in.ServiceName));
+ NDR_CHECK(ndr_pull_array_length(ndr, &r->in.ServiceName));
+- if (ndr_get_array_length(ndr, &r->in.ServiceName) > ndr_get_array_size(ndr, &r->in.ServiceName)) {
+- return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.ServiceName), ndr_get_array_length(ndr, &r->in.ServiceName));
++ size_ServiceName_0 = ndr_get_array_size(ndr, &r->in.ServiceName);
++ length_ServiceName_0 = ndr_get_array_length(ndr, &r->in.ServiceName);
++ if (length_ServiceName_0 > size_ServiceName_0) {
++ return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_ServiceName_0, length_ServiceName_0);
+ }
+- NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.ServiceName), sizeof(uint16_t)));
+- NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.ServiceName, ndr_get_array_length(ndr, &r->in.ServiceName), sizeof(uint16_t), CH_UTF16));
++ NDR_CHECK(ndr_check_string_terminator(ndr, length_ServiceName_0, sizeof(uint16_t)));
++ NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.ServiceName, length_ServiceName_0, sizeof(uint16_t), CH_UTF16));
+ NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.access_mask));
+ NDR_PULL_ALLOC(ndr, r->out.handle);
+ ZERO_STRUCTP(r->out.handle);
+@@ -2210,6 +2280,7 @@ static enum ndr_err_code ndr_push_svcctl_QueryServiceConfigW(struct ndr_push *nd
+
+ static enum ndr_err_code ndr_pull_svcctl_QueryServiceConfigW(struct ndr_pull *ndr, int flags, struct svcctl_QueryServiceConfigW *r)
+ {
++ uint32_t size_query_0 = 0;
+ TALLOC_CTX *_mem_save_handle_0;
+ TALLOC_CTX *_mem_save_bytes_needed_0;
+ if (flags & NDR_IN) {
+@@ -2227,8 +2298,9 @@ static enum ndr_err_code ndr_pull_svcctl_QueryServiceConfigW(struct ndr_pull *nd
+ ZERO_STRUCTP(r->out.bytes_needed);
+ }
+ if (flags & NDR_OUT) {
+- NDR_PULL_ALLOC_N(ndr, r->out.query, r->in.buf_size);
+- NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->out.query, r->in.buf_size));
++ size_query_0 = r->in.buf_size;
++ NDR_PULL_ALLOC_N(ndr, r->out.query, size_query_0);
++ NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->out.query, size_query_0));
+ if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
+ NDR_PULL_ALLOC(ndr, r->out.bytes_needed);
+ }
+@@ -2395,6 +2467,8 @@ static enum ndr_err_code ndr_push_svcctl_StartServiceW(struct ndr_push *ndr, int
+ static enum ndr_err_code ndr_pull_svcctl_StartServiceW(struct ndr_pull *ndr, int flags, struct svcctl_StartServiceW *r)
+ {
+ uint32_t _ptr_Arguments;
++ uint32_t size_Arguments_1 = 0;
++ uint32_t length_Arguments_1 = 0;
+ TALLOC_CTX *_mem_save_handle_0;
+ TALLOC_CTX *_mem_save_Arguments_0;
+ if (flags & NDR_IN) {
+@@ -2417,11 +2491,13 @@ static enum ndr_err_code ndr_pull_svcctl_StartServiceW(struct ndr_pull *ndr, int
+ NDR_PULL_SET_MEM_CTX(ndr, r->in.Arguments, 0);
+ NDR_CHECK(ndr_pull_array_size(ndr, &r->in.Arguments));
+ NDR_CHECK(ndr_pull_array_length(ndr, &r->in.Arguments));
+- if (ndr_get_array_length(ndr, &r->in.Arguments) > ndr_get_array_size(ndr, &r->in.Arguments)) {
+- return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.Arguments), ndr_get_array_length(ndr, &r->in.Arguments));
++ size_Arguments_1 = ndr_get_array_size(ndr, &r->in.Arguments);
++ length_Arguments_1 = ndr_get_array_length(ndr, &r->in.Arguments);
++ if (length_Arguments_1 > size_Arguments_1) {
++ return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_Arguments_1, length_Arguments_1);
+ }
+- NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.Arguments), sizeof(uint16_t)));
+- NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.Arguments, ndr_get_array_length(ndr, &r->in.Arguments), sizeof(uint16_t), CH_UTF16));
++ NDR_CHECK(ndr_check_string_terminator(ndr, length_Arguments_1, sizeof(uint16_t)));
++ NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.Arguments, length_Arguments_1, sizeof(uint16_t), CH_UTF16));
+ NDR_PULL_SET_MEM_CTX(ndr, _mem_save_Arguments_0, 0);
+ }
+ }
+@@ -2505,7 +2581,11 @@ static enum ndr_err_code ndr_push_svcctl_GetServiceDisplayNameW(struct ndr_push
+ static enum ndr_err_code ndr_pull_svcctl_GetServiceDisplayNameW(struct ndr_pull *ndr, int flags, struct svcctl_GetServiceDisplayNameW *r)
+ {
+ uint32_t _ptr_service_name;
++ uint32_t size_service_name_1 = 0;
++ uint32_t length_service_name_1 = 0;
+ uint32_t _ptr_display_name;
++ uint32_t size_display_name_2 = 0;
++ uint32_t length_display_name_2 = 0;
+ uint32_t _ptr_display_name_length;
+ TALLOC_CTX *_mem_save_handle_0;
+ TALLOC_CTX *_mem_save_service_name_0;
+@@ -2533,11 +2613,13 @@ static enum ndr_err_code ndr_pull_svcctl_GetServiceDisplayNameW(struct ndr_pull
+ NDR_PULL_SET_MEM_CTX(ndr, r->in.service_name, 0);
+ NDR_CHECK(ndr_pull_array_size(ndr, &r->in.service_name));
+ NDR_CHECK(ndr_pull_array_length(ndr, &r->in.service_name));
+- if (ndr_get_array_length(ndr, &r->in.service_name) > ndr_get_array_size(ndr, &r->in.service_name)) {
+- return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.service_name), ndr_get_array_length(ndr, &r->in.service_name));
++ size_service_name_1 = ndr_get_array_size(ndr, &r->in.service_name);
++ length_service_name_1 = ndr_get_array_length(ndr, &r->in.service_name);
++ if (length_service_name_1 > size_service_name_1) {
++ return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_service_name_1, length_service_name_1);
+ }
+- NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.service_name), sizeof(uint16_t)));
+- NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.service_name, ndr_get_array_length(ndr, &r->in.service_name), sizeof(uint16_t), CH_UTF16));
++ NDR_CHECK(ndr_check_string_terminator(ndr, length_service_name_1, sizeof(uint16_t)));
++ NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.service_name, length_service_name_1, sizeof(uint16_t), CH_UTF16));
+ NDR_PULL_SET_MEM_CTX(ndr, _mem_save_service_name_0, 0);
+ }
+ NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_display_name_length));
+@@ -2572,11 +2654,13 @@ static enum ndr_err_code ndr_pull_svcctl_GetServiceDisplayNameW(struct ndr_pull
+ NDR_PULL_SET_MEM_CTX(ndr, *r->out.display_name, 0);
+ NDR_CHECK(ndr_pull_array_size(ndr, r->out.display_name));
+ NDR_CHECK(ndr_pull_array_length(ndr, r->out.display_name));
+- if (ndr_get_array_length(ndr, r->out.display_name) > ndr_get_array_size(ndr, r->out.display_name)) {
+- return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, r->out.display_name), ndr_get_array_length(ndr, r->out.display_name));
++ size_display_name_2 = ndr_get_array_size(ndr, r->out.display_name);
++ length_display_name_2 = ndr_get_array_length(ndr, r->out.display_name);
++ if (length_display_name_2 > size_display_name_2) {
++ return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_display_name_2, length_display_name_2);
+ }
+- NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, r->out.display_name), sizeof(uint16_t)));
+- NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, r->out.display_name, ndr_get_array_length(ndr, r->out.display_name), sizeof(uint16_t), CH_UTF16));
++ NDR_CHECK(ndr_check_string_terminator(ndr, length_display_name_2, sizeof(uint16_t)));
++ NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, r->out.display_name, length_display_name_2, sizeof(uint16_t), CH_UTF16));
+ NDR_PULL_SET_MEM_CTX(ndr, _mem_save_display_name_1, 0);
+ }
+ NDR_PULL_SET_MEM_CTX(ndr, _mem_save_display_name_0, LIBNDR_FLAG_REF_ALLOC);
+@@ -2691,7 +2775,11 @@ static enum ndr_err_code ndr_push_svcctl_GetServiceKeyNameW(struct ndr_push *ndr
+ static enum ndr_err_code ndr_pull_svcctl_GetServiceKeyNameW(struct ndr_pull *ndr, int flags, struct svcctl_GetServiceKeyNameW *r)
+ {
+ uint32_t _ptr_service_name;
++ uint32_t size_service_name_1 = 0;
++ uint32_t length_service_name_1 = 0;
+ uint32_t _ptr_key_name;
++ uint32_t size_key_name_2 = 0;
++ uint32_t length_key_name_2 = 0;
+ uint32_t _ptr_display_name_length;
+ TALLOC_CTX *_mem_save_handle_0;
+ TALLOC_CTX *_mem_save_service_name_0;
+@@ -2719,11 +2807,13 @@ static enum ndr_err_code ndr_pull_svcctl_GetServiceKeyNameW(struct ndr_pull *ndr
+ NDR_PULL_SET_MEM_CTX(ndr, r->in.service_name, 0);
+ NDR_CHECK(ndr_pull_array_size(ndr, &r->in.service_name));
+ NDR_CHECK(ndr_pull_array_length(ndr, &r->in.service_name));
+- if (ndr_get_array_length(ndr, &r->in.service_name) > ndr_get_array_size(ndr, &r->in.service_name)) {
+- return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.service_name), ndr_get_array_length(ndr, &r->in.service_name));
++ size_service_name_1 = ndr_get_array_size(ndr, &r->in.service_name);
++ length_service_name_1 = ndr_get_array_length(ndr, &r->in.service_name);
++ if (length_service_name_1 > size_service_name_1) {
++ return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_service_name_1, length_service_name_1);
+ }
+- NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.service_name), sizeof(uint16_t)));
+- NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.service_name, ndr_get_array_length(ndr, &r->in.service_name), sizeof(uint16_t), CH_UTF16));
++ NDR_CHECK(ndr_check_string_terminator(ndr, length_service_name_1, sizeof(uint16_t)));
++ NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.service_name, length_service_name_1, sizeof(uint16_t), CH_UTF16));
+ NDR_PULL_SET_MEM_CTX(ndr, _mem_save_service_name_0, 0);
+ }
+ NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_display_name_length));
+@@ -2758,11 +2848,13 @@ static enum ndr_err_code ndr_pull_svcctl_GetServiceKeyNameW(struct ndr_pull *ndr
+ NDR_PULL_SET_MEM_CTX(ndr, *r->out.key_name, 0);
+ NDR_CHECK(ndr_pull_array_size(ndr, r->out.key_name));
+ NDR_CHECK(ndr_pull_array_length(ndr, r->out.key_name));
+- if (ndr_get_array_length(ndr, r->out.key_name) > ndr_get_array_size(ndr, r->out.key_name)) {
+- return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, r->out.key_name), ndr_get_array_length(ndr, r->out.key_name));
++ size_key_name_2 = ndr_get_array_size(ndr, r->out.key_name);
++ length_key_name_2 = ndr_get_array_length(ndr, r->out.key_name);
++ if (length_key_name_2 > size_key_name_2) {
++ return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_key_name_2, length_key_name_2);
+ }
+- NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, r->out.key_name), sizeof(uint16_t)));
+- NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, r->out.key_name, ndr_get_array_length(ndr, r->out.key_name), sizeof(uint16_t), CH_UTF16));
++ NDR_CHECK(ndr_check_string_terminator(ndr, length_key_name_2, sizeof(uint16_t)));
++ NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, r->out.key_name, length_key_name_2, sizeof(uint16_t), CH_UTF16));
+ NDR_PULL_SET_MEM_CTX(ndr, _mem_save_key_name_1, 0);
+ }
+ NDR_PULL_SET_MEM_CTX(ndr, _mem_save_key_name_0, LIBNDR_FLAG_REF_ALLOC);
+@@ -2967,11 +3059,23 @@ static enum ndr_err_code ndr_push_svcctl_ChangeServiceConfigA(struct ndr_push *n
+ static enum ndr_err_code ndr_pull_svcctl_ChangeServiceConfigA(struct ndr_pull *ndr, int flags, struct svcctl_ChangeServiceConfigA *r)
+ {
+ uint32_t _ptr_binary_path;
++ uint32_t size_binary_path_1 = 0;
++ uint32_t length_binary_path_1 = 0;
+ uint32_t _ptr_load_order_group;
++ uint32_t size_load_order_group_1 = 0;
++ uint32_t length_load_order_group_1 = 0;
+ uint32_t _ptr_dependencies;
++ uint32_t size_dependencies_1 = 0;
++ uint32_t length_dependencies_1 = 0;
+ uint32_t _ptr_service_start_name;
++ uint32_t size_service_start_name_1 = 0;
++ uint32_t length_service_start_name_1 = 0;
+ uint32_t _ptr_password;
++ uint32_t size_password_1 = 0;
++ uint32_t length_password_1 = 0;
+ uint32_t _ptr_display_name;
++ uint32_t size_display_name_1 = 0;
++ uint32_t length_display_name_1 = 0;
+ TALLOC_CTX *_mem_save_handle_0;
+ TALLOC_CTX *_mem_save_binary_path_0;
+ TALLOC_CTX *_mem_save_load_order_group_0;
+@@ -3004,11 +3108,13 @@ static enum ndr_err_code ndr_pull_svcctl_ChangeServiceConfigA(struct ndr_pull *n
+ NDR_PULL_SET_MEM_CTX(ndr, r->in.binary_path, 0);
+ NDR_CHECK(ndr_pull_array_size(ndr, &r->in.binary_path));
+ NDR_CHECK(ndr_pull_array_length(ndr, &r->in.binary_path));
+- if (ndr_get_array_length(ndr, &r->in.binary_path) > ndr_get_array_size(ndr, &r->in.binary_path)) {
+- return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.binary_path), ndr_get_array_length(ndr, &r->in.binary_path));
++ size_binary_path_1 = ndr_get_array_size(ndr, &r->in.binary_path);
++ length_binary_path_1 = ndr_get_array_length(ndr, &r->in.binary_path);
++ if (length_binary_path_1 > size_binary_path_1) {
++ return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_binary_path_1, length_binary_path_1);
+ }
+- NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.binary_path), sizeof(uint16_t)));
+- NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.binary_path, ndr_get_array_length(ndr, &r->in.binary_path), sizeof(uint16_t), CH_UTF16));
++ NDR_CHECK(ndr_check_string_terminator(ndr, length_binary_path_1, sizeof(uint16_t)));
++ NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.binary_path, length_binary_path_1, sizeof(uint16_t), CH_UTF16));
+ NDR_PULL_SET_MEM_CTX(ndr, _mem_save_binary_path_0, 0);
+ }
+ NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_load_order_group));
+@@ -3022,11 +3128,13 @@ static enum ndr_err_code ndr_pull_svcctl_ChangeServiceConfigA(struct ndr_pull *n
+ NDR_PULL_SET_MEM_CTX(ndr, r->in.load_order_group, 0);
+ NDR_CHECK(ndr_pull_array_size(ndr, &r->in.load_order_group));
+ NDR_CHECK(ndr_pull_array_length(ndr, &r->in.load_order_group));
+- if (ndr_get_array_length(ndr, &r->in.load_order_group) > ndr_get_array_size(ndr, &r->in.load_order_group)) {
+- return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.load_order_group), ndr_get_array_length(ndr, &r->in.load_order_group));
++ size_load_order_group_1 = ndr_get_array_size(ndr, &r->in.load_order_group);
++ length_load_order_group_1 = ndr_get_array_length(ndr, &r->in.load_order_group);
++ if (length_load_order_group_1 > size_load_order_group_1) {
++ return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_load_order_group_1, length_load_order_group_1);
+ }
+- NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.load_order_group), sizeof(uint16_t)));
+- NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.load_order_group, ndr_get_array_length(ndr, &r->in.load_order_group), sizeof(uint16_t), CH_UTF16));
++ NDR_CHECK(ndr_check_string_terminator(ndr, length_load_order_group_1, sizeof(uint16_t)));
++ NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.load_order_group, length_load_order_group_1, sizeof(uint16_t), CH_UTF16));
+ NDR_PULL_SET_MEM_CTX(ndr, _mem_save_load_order_group_0, 0);
+ }
+ NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_dependencies));
+@@ -3040,11 +3148,13 @@ static enum ndr_err_code ndr_pull_svcctl_ChangeServiceConfigA(struct ndr_pull *n
+ NDR_PULL_SET_MEM_CTX(ndr, r->in.dependencies, 0);
+ NDR_CHECK(ndr_pull_array_size(ndr, &r->in.dependencies));
+ NDR_CHECK(ndr_pull_array_length(ndr, &r->in.dependencies));
+- if (ndr_get_array_length(ndr, &r->in.dependencies) > ndr_get_array_size(ndr, &r->in.dependencies)) {
+- return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.dependencies), ndr_get_array_length(ndr, &r->in.dependencies));
++ size_dependencies_1 = ndr_get_array_size(ndr, &r->in.dependencies);
++ length_dependencies_1 = ndr_get_array_length(ndr, &r->in.dependencies);
++ if (length_dependencies_1 > size_dependencies_1) {
++ return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_dependencies_1, length_dependencies_1);
+ }
+- NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.dependencies), sizeof(uint16_t)));
+- NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.dependencies, ndr_get_array_length(ndr, &r->in.dependencies), sizeof(uint16_t), CH_UTF16));
++ NDR_CHECK(ndr_check_string_terminator(ndr, length_dependencies_1, sizeof(uint16_t)));
++ NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.dependencies, length_dependencies_1, sizeof(uint16_t), CH_UTF16));
+ NDR_PULL_SET_MEM_CTX(ndr, _mem_save_dependencies_0, 0);
+ }
+ NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_service_start_name));
+@@ -3058,11 +3168,13 @@ static enum ndr_err_code ndr_pull_svcctl_ChangeServiceConfigA(struct ndr_pull *n
+ NDR_PULL_SET_MEM_CTX(ndr, r->in.service_start_name, 0);
+ NDR_CHECK(ndr_pull_array_size(ndr, &r->in.service_start_name));
+ NDR_CHECK(ndr_pull_array_length(ndr, &r->in.service_start_name));
+- if (ndr_get_array_length(ndr, &r->in.service_start_name) > ndr_get_array_size(ndr, &r->in.service_start_name)) {
+- return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.service_start_name), ndr_get_array_length(ndr, &r->in.service_start_name));
++ size_service_start_name_1 = ndr_get_array_size(ndr, &r->in.service_start_name);
++ length_service_start_name_1 = ndr_get_array_length(ndr, &r->in.service_start_name);
++ if (length_service_start_name_1 > size_service_start_name_1) {
++ return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_service_start_name_1, length_service_start_name_1);
+ }
+- NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.service_start_name), sizeof(uint16_t)));
+- NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.service_start_name, ndr_get_array_length(ndr, &r->in.service_start_name), sizeof(uint16_t), CH_UTF16));
++ NDR_CHECK(ndr_check_string_terminator(ndr, length_service_start_name_1, sizeof(uint16_t)));
++ NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.service_start_name, length_service_start_name_1, sizeof(uint16_t), CH_UTF16));
+ NDR_PULL_SET_MEM_CTX(ndr, _mem_save_service_start_name_0, 0);
+ }
+ NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_password));
+@@ -3076,11 +3188,13 @@ static enum ndr_err_code ndr_pull_svcctl_ChangeServiceConfigA(struct ndr_pull *n
+ NDR_PULL_SET_MEM_CTX(ndr, r->in.password, 0);
+ NDR_CHECK(ndr_pull_array_size(ndr, &r->in.password));
+ NDR_CHECK(ndr_pull_array_length(ndr, &r->in.password));
+- if (ndr_get_array_length(ndr, &r->in.password) > ndr_get_array_size(ndr, &r->in.password)) {
+- return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.password), ndr_get_array_length(ndr, &r->in.password));
++ size_password_1 = ndr_get_array_size(ndr, &r->in.password);
++ length_password_1 = ndr_get_array_length(ndr, &r->in.password);
++ if (length_password_1 > size_password_1) {
++ return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_password_1, length_password_1);
+ }
+- NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.password), sizeof(uint16_t)));
+- NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.password, ndr_get_array_length(ndr, &r->in.password), sizeof(uint16_t), CH_UTF16));
++ NDR_CHECK(ndr_check_string_terminator(ndr, length_password_1, sizeof(uint16_t)));
++ NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.password, length_password_1, sizeof(uint16_t), CH_UTF16));
+ NDR_PULL_SET_MEM_CTX(ndr, _mem_save_password_0, 0);
+ }
+ NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_display_name));
+@@ -3094,11 +3208,13 @@ static enum ndr_err_code ndr_pull_svcctl_ChangeServiceConfigA(struct ndr_pull *n
+ NDR_PULL_SET_MEM_CTX(ndr, r->in.display_name, 0);
+ NDR_CHECK(ndr_pull_array_size(ndr, &r->in.display_name));
+ NDR_CHECK(ndr_pull_array_length(ndr, &r->in.display_name));
+- if (ndr_get_array_length(ndr, &r->in.display_name) > ndr_get_array_size(ndr, &r->in.display_name)) {
+- return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.display_name), ndr_get_array_length(ndr, &r->in.display_name));
++ size_display_name_1 = ndr_get_array_size(ndr, &r->in.display_name);
++ length_display_name_1 = ndr_get_array_length(ndr, &r->in.display_name);
++ if (length_display_name_1 > size_display_name_1) {
++ return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_display_name_1, length_display_name_1);
+ }
+- NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.display_name), sizeof(uint16_t)));
+- NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.display_name, ndr_get_array_length(ndr, &r->in.display_name), sizeof(uint16_t), CH_UTF16));
++ NDR_CHECK(ndr_check_string_terminator(ndr, length_display_name_1, sizeof(uint16_t)));
++ NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.display_name, length_display_name_1, sizeof(uint16_t), CH_UTF16));
+ NDR_PULL_SET_MEM_CTX(ndr, _mem_save_display_name_0, 0);
+ }
+ NDR_PULL_ALLOC(ndr, r->out.tag_id);
+@@ -3259,13 +3375,27 @@ static enum ndr_err_code ndr_push_svcctl_CreateServiceA(struct ndr_push *ndr, in
+ static enum ndr_err_code ndr_pull_svcctl_CreateServiceA(struct ndr_pull *ndr, int flags, struct svcctl_CreateServiceA *r)
+ {
+ uint32_t _ptr_ServiceName;
++ uint32_t size_ServiceName_1 = 0;
++ uint32_t length_ServiceName_1 = 0;
+ uint32_t _ptr_DisplayName;
++ uint32_t size_DisplayName_1 = 0;
++ uint32_t length_DisplayName_1 = 0;
+ uint32_t _ptr_binary_path;
++ uint32_t size_binary_path_1 = 0;
++ uint32_t length_binary_path_1 = 0;
+ uint32_t _ptr_LoadOrderGroupKey;
++ uint32_t size_LoadOrderGroupKey_1 = 0;
++ uint32_t length_LoadOrderGroupKey_1 = 0;
+ uint32_t _ptr_TagId;
+ uint32_t _ptr_dependencies;
++ uint32_t size_dependencies_1 = 0;
++ uint32_t length_dependencies_1 = 0;
+ uint32_t _ptr_service_start_name;
++ uint32_t size_service_start_name_1 = 0;
++ uint32_t length_service_start_name_1 = 0;
+ uint32_t _ptr_password;
++ uint32_t size_password_1 = 0;
++ uint32_t length_password_1 = 0;
+ TALLOC_CTX *_mem_save_handle_0;
+ TALLOC_CTX *_mem_save_ServiceName_0;
+ TALLOC_CTX *_mem_save_DisplayName_0;
+@@ -3296,11 +3426,13 @@ static enum ndr_err_code ndr_pull_svcctl_CreateServiceA(struct ndr_pull *ndr, in
+ NDR_PULL_SET_MEM_CTX(ndr, r->in.ServiceName, 0);
+ NDR_CHECK(ndr_pull_array_size(ndr, &r->in.ServiceName));
+ NDR_CHECK(ndr_pull_array_length(ndr, &r->in.ServiceName));
+- if (ndr_get_array_length(ndr, &r->in.ServiceName) > ndr_get_array_size(ndr, &r->in.ServiceName)) {
+- return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.ServiceName), ndr_get_array_length(ndr, &r->in.ServiceName));
++ size_ServiceName_1 = ndr_get_array_size(ndr, &r->in.ServiceName);
++ length_ServiceName_1 = ndr_get_array_length(ndr, &r->in.ServiceName);
++ if (length_ServiceName_1 > size_ServiceName_1) {
++ return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_ServiceName_1, length_ServiceName_1);
+ }
+- NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.ServiceName), sizeof(uint16_t)));
+- NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.ServiceName, ndr_get_array_length(ndr, &r->in.ServiceName), sizeof(uint16_t), CH_UTF16));
++ NDR_CHECK(ndr_check_string_terminator(ndr, length_ServiceName_1, sizeof(uint16_t)));
++ NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.ServiceName, length_ServiceName_1, sizeof(uint16_t), CH_UTF16));
+ NDR_PULL_SET_MEM_CTX(ndr, _mem_save_ServiceName_0, 0);
+ }
+ NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_DisplayName));
+@@ -3314,11 +3446,13 @@ static enum ndr_err_code ndr_pull_svcctl_CreateServiceA(struct ndr_pull *ndr, in
+ NDR_PULL_SET_MEM_CTX(ndr, r->in.DisplayName, 0);
+ NDR_CHECK(ndr_pull_array_size(ndr, &r->in.DisplayName));
+ NDR_CHECK(ndr_pull_array_length(ndr, &r->in.DisplayName));
+- if (ndr_get_array_length(ndr, &r->in.DisplayName) > ndr_get_array_size(ndr, &r->in.DisplayName)) {
+- return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.DisplayName), ndr_get_array_length(ndr, &r->in.DisplayName));
++ size_DisplayName_1 = ndr_get_array_size(ndr, &r->in.DisplayName);
++ length_DisplayName_1 = ndr_get_array_length(ndr, &r->in.DisplayName);
++ if (length_DisplayName_1 > size_DisplayName_1) {
++ return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_DisplayName_1, length_DisplayName_1);
+ }
+- NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.DisplayName), sizeof(uint16_t)));
+- NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.DisplayName, ndr_get_array_length(ndr, &r->in.DisplayName), sizeof(uint16_t), CH_UTF16));
++ NDR_CHECK(ndr_check_string_terminator(ndr, length_DisplayName_1, sizeof(uint16_t)));
++ NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.DisplayName, length_DisplayName_1, sizeof(uint16_t), CH_UTF16));
+ NDR_PULL_SET_MEM_CTX(ndr, _mem_save_DisplayName_0, 0);
+ }
+ NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.desired_access));
+@@ -3336,11 +3470,13 @@ static enum ndr_err_code ndr_pull_svcctl_CreateServiceA(struct ndr_pull *ndr, in
+ NDR_PULL_SET_MEM_CTX(ndr, r->in.binary_path, 0);
+ NDR_CHECK(ndr_pull_array_size(ndr, &r->in.binary_path));
+ NDR_CHECK(ndr_pull_array_length(ndr, &r->in.binary_path));
+- if (ndr_get_array_length(ndr, &r->in.binary_path) > ndr_get_array_size(ndr, &r->in.binary_path)) {
+- return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.binary_path), ndr_get_array_length(ndr, &r->in.binary_path));
++ size_binary_path_1 = ndr_get_array_size(ndr, &r->in.binary_path);
++ length_binary_path_1 = ndr_get_array_length(ndr, &r->in.binary_path);
++ if (length_binary_path_1 > size_binary_path_1) {
++ return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_binary_path_1, length_binary_path_1);
+ }
+- NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.binary_path), sizeof(uint16_t)));
+- NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.binary_path, ndr_get_array_length(ndr, &r->in.binary_path), sizeof(uint16_t), CH_UTF16));
++ NDR_CHECK(ndr_check_string_terminator(ndr, length_binary_path_1, sizeof(uint16_t)));
++ NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.binary_path, length_binary_path_1, sizeof(uint16_t), CH_UTF16));
+ NDR_PULL_SET_MEM_CTX(ndr, _mem_save_binary_path_0, 0);
+ }
+ NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_LoadOrderGroupKey));
+@@ -3354,11 +3490,13 @@ static enum ndr_err_code ndr_pull_svcctl_CreateServiceA(struct ndr_pull *ndr, in
+ NDR_PULL_SET_MEM_CTX(ndr, r->in.LoadOrderGroupKey, 0);
+ NDR_CHECK(ndr_pull_array_size(ndr, &r->in.LoadOrderGroupKey));
+ NDR_CHECK(ndr_pull_array_length(ndr, &r->in.LoadOrderGroupKey));
+- if (ndr_get_array_length(ndr, &r->in.LoadOrderGroupKey) > ndr_get_array_size(ndr, &r->in.LoadOrderGroupKey)) {
+- return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.LoadOrderGroupKey), ndr_get_array_length(ndr, &r->in.LoadOrderGroupKey));
++ size_LoadOrderGroupKey_1 = ndr_get_array_size(ndr, &r->in.LoadOrderGroupKey);
++ length_LoadOrderGroupKey_1 = ndr_get_array_length(ndr, &r->in.LoadOrderGroupKey);
++ if (length_LoadOrderGroupKey_1 > size_LoadOrderGroupKey_1) {
++ return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_LoadOrderGroupKey_1, length_LoadOrderGroupKey_1);
+ }
+- NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.LoadOrderGroupKey), sizeof(uint16_t)));
+- NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.LoadOrderGroupKey, ndr_get_array_length(ndr, &r->in.LoadOrderGroupKey), sizeof(uint16_t), CH_UTF16));
++ NDR_CHECK(ndr_check_string_terminator(ndr, length_LoadOrderGroupKey_1, sizeof(uint16_t)));
++ NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.LoadOrderGroupKey, length_LoadOrderGroupKey_1, sizeof(uint16_t), CH_UTF16));
+ NDR_PULL_SET_MEM_CTX(ndr, _mem_save_LoadOrderGroupKey_0, 0);
+ }
+ NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_dependencies));
+@@ -3372,11 +3510,13 @@ static enum ndr_err_code ndr_pull_svcctl_CreateServiceA(struct ndr_pull *ndr, in
+ NDR_PULL_SET_MEM_CTX(ndr, r->in.dependencies, 0);
+ NDR_CHECK(ndr_pull_array_size(ndr, &r->in.dependencies));
+ NDR_CHECK(ndr_pull_array_length(ndr, &r->in.dependencies));
+- if (ndr_get_array_length(ndr, &r->in.dependencies) > ndr_get_array_size(ndr, &r->in.dependencies)) {
+- return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.dependencies), ndr_get_array_length(ndr, &r->in.dependencies));
++ size_dependencies_1 = ndr_get_array_size(ndr, &r->in.dependencies);
++ length_dependencies_1 = ndr_get_array_length(ndr, &r->in.dependencies);
++ if (length_dependencies_1 > size_dependencies_1) {
++ return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_dependencies_1, length_dependencies_1);
+ }
+- NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.dependencies), sizeof(uint16_t)));
+- NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.dependencies, ndr_get_array_length(ndr, &r->in.dependencies), sizeof(uint16_t), CH_UTF16));
++ NDR_CHECK(ndr_check_string_terminator(ndr, length_dependencies_1, sizeof(uint16_t)));
++ NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.dependencies, length_dependencies_1, sizeof(uint16_t), CH_UTF16));
+ NDR_PULL_SET_MEM_CTX(ndr, _mem_save_dependencies_0, 0);
+ }
+ NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_service_start_name));
+@@ -3390,11 +3530,13 @@ static enum ndr_err_code ndr_pull_svcctl_CreateServiceA(struct ndr_pull *ndr, in
+ NDR_PULL_SET_MEM_CTX(ndr, r->in.service_start_name, 0);
+ NDR_CHECK(ndr_pull_array_size(ndr, &r->in.service_start_name));
+ NDR_CHECK(ndr_pull_array_length(ndr, &r->in.service_start_name));
+- if (ndr_get_array_length(ndr, &r->in.service_start_name) > ndr_get_array_size(ndr, &r->in.service_start_name)) {
+- return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.service_start_name), ndr_get_array_length(ndr, &r->in.service_start_name));
++ size_service_start_name_1 = ndr_get_array_size(ndr, &r->in.service_start_name);
++ length_service_start_name_1 = ndr_get_array_length(ndr, &r->in.service_start_name);
++ if (length_service_start_name_1 > size_service_start_name_1) {
++ return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_service_start_name_1, length_service_start_name_1);
+ }
+- NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.service_start_name), sizeof(uint16_t)));
+- NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.service_start_name, ndr_get_array_length(ndr, &r->in.service_start_name), sizeof(uint16_t), CH_UTF16));
++ NDR_CHECK(ndr_check_string_terminator(ndr, length_service_start_name_1, sizeof(uint16_t)));
++ NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.service_start_name, length_service_start_name_1, sizeof(uint16_t), CH_UTF16));
+ NDR_PULL_SET_MEM_CTX(ndr, _mem_save_service_start_name_0, 0);
+ }
+ NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_password));
+@@ -3408,11 +3550,13 @@ static enum ndr_err_code ndr_pull_svcctl_CreateServiceA(struct ndr_pull *ndr, in
+ NDR_PULL_SET_MEM_CTX(ndr, r->in.password, 0);
+ NDR_CHECK(ndr_pull_array_size(ndr, &r->in.password));
+ NDR_CHECK(ndr_pull_array_length(ndr, &r->in.password));
+- if (ndr_get_array_length(ndr, &r->in.password) > ndr_get_array_size(ndr, &r->in.password)) {
+- return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.password), ndr_get_array_length(ndr, &r->in.password));
++ size_password_1 = ndr_get_array_size(ndr, &r->in.password);
++ length_password_1 = ndr_get_array_length(ndr, &r->in.password);
++ if (length_password_1 > size_password_1) {
++ return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_password_1, length_password_1);
+ }
+- NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.password), sizeof(uint16_t)));
+- NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.password, ndr_get_array_length(ndr, &r->in.password), sizeof(uint16_t), CH_UTF16));
++ NDR_CHECK(ndr_check_string_terminator(ndr, length_password_1, sizeof(uint16_t)));
++ NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.password, length_password_1, sizeof(uint16_t), CH_UTF16));
+ NDR_PULL_SET_MEM_CTX(ndr, _mem_save_password_0, 0);
+ }
+ }
+@@ -3673,6 +3817,7 @@ static enum ndr_err_code ndr_push_svcctl_EnumServicesStatusA(struct ndr_push *nd
+
+ static enum ndr_err_code ndr_pull_svcctl_EnumServicesStatusA(struct ndr_pull *ndr, int flags, struct svcctl_EnumServicesStatusA *r)
+ {
++ uint32_t size_service_0 = 0;
+ uint32_t _ptr_resume_handle;
+ TALLOC_CTX *_mem_save_handle_0;
+ TALLOC_CTX *_mem_save_bytes_needed_0;
+@@ -3710,8 +3855,9 @@ static enum ndr_err_code ndr_pull_svcctl_EnumServicesStatusA(struct ndr_pull *nd
+ }
+ if (flags & NDR_OUT) {
+ NDR_CHECK(ndr_pull_array_size(ndr, &r->out.service));
+- NDR_PULL_ALLOC_N(ndr, r->out.service, ndr_get_array_size(ndr, &r->out.service));
+- NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->out.service, ndr_get_array_size(ndr, &r->out.service)));
++ size_service_0 = ndr_get_array_size(ndr, &r->out.service);
++ NDR_PULL_ALLOC_N(ndr, r->out.service, size_service_0);
++ NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->out.service, size_service_0));
+ if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
+ NDR_PULL_ALLOC(ndr, r->out.bytes_needed);
+ }
+@@ -3827,7 +3973,11 @@ static enum ndr_err_code ndr_push_svcctl_OpenSCManagerA(struct ndr_push *ndr, in
+ static enum ndr_err_code ndr_pull_svcctl_OpenSCManagerA(struct ndr_pull *ndr, int flags, struct svcctl_OpenSCManagerA *r)
+ {
+ uint32_t _ptr_MachineName;
++ uint32_t size_MachineName_1 = 0;
++ uint32_t length_MachineName_1 = 0;
+ uint32_t _ptr_DatabaseName;
++ uint32_t size_DatabaseName_1 = 0;
++ uint32_t length_DatabaseName_1 = 0;
+ TALLOC_CTX *_mem_save_MachineName_0;
+ TALLOC_CTX *_mem_save_DatabaseName_0;
+ TALLOC_CTX *_mem_save_handle_0;
+@@ -3845,11 +3995,13 @@ static enum ndr_err_code ndr_pull_svcctl_OpenSCManagerA(struct ndr_pull *ndr, in
+ NDR_PULL_SET_MEM_CTX(ndr, r->in.MachineName, 0);
+ NDR_CHECK(ndr_pull_array_size(ndr, &r->in.MachineName));
+ NDR_CHECK(ndr_pull_array_length(ndr, &r->in.MachineName));
+- if (ndr_get_array_length(ndr, &r->in.MachineName) > ndr_get_array_size(ndr, &r->in.MachineName)) {
+- return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.MachineName), ndr_get_array_length(ndr, &r->in.MachineName));
++ size_MachineName_1 = ndr_get_array_size(ndr, &r->in.MachineName);
++ length_MachineName_1 = ndr_get_array_length(ndr, &r->in.MachineName);
++ if (length_MachineName_1 > size_MachineName_1) {
++ return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_MachineName_1, length_MachineName_1);
+ }
+- NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.MachineName), sizeof(uint16_t)));
+- NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.MachineName, ndr_get_array_length(ndr, &r->in.MachineName), sizeof(uint16_t), CH_UTF16));
++ NDR_CHECK(ndr_check_string_terminator(ndr, length_MachineName_1, sizeof(uint16_t)));
++ NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.MachineName, length_MachineName_1, sizeof(uint16_t), CH_UTF16));
+ NDR_PULL_SET_MEM_CTX(ndr, _mem_save_MachineName_0, 0);
+ }
+ NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_DatabaseName));
+@@ -3863,11 +4015,13 @@ static enum ndr_err_code ndr_pull_svcctl_OpenSCManagerA(struct ndr_pull *ndr, in
+ NDR_PULL_SET_MEM_CTX(ndr, r->in.DatabaseName, 0);
+ NDR_CHECK(ndr_pull_array_size(ndr, &r->in.DatabaseName));
+ NDR_CHECK(ndr_pull_array_length(ndr, &r->in.DatabaseName));
+- if (ndr_get_array_length(ndr, &r->in.DatabaseName) > ndr_get_array_size(ndr, &r->in.DatabaseName)) {
+- return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.DatabaseName), ndr_get_array_length(ndr, &r->in.DatabaseName));
++ size_DatabaseName_1 = ndr_get_array_size(ndr, &r->in.DatabaseName);
++ length_DatabaseName_1 = ndr_get_array_length(ndr, &r->in.DatabaseName);
++ if (length_DatabaseName_1 > size_DatabaseName_1) {
++ return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_DatabaseName_1, length_DatabaseName_1);
+ }
+- NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.DatabaseName), sizeof(uint16_t)));
+- NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.DatabaseName, ndr_get_array_length(ndr, &r->in.DatabaseName), sizeof(uint16_t), CH_UTF16));
++ NDR_CHECK(ndr_check_string_terminator(ndr, length_DatabaseName_1, sizeof(uint16_t)));
++ NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.DatabaseName, length_DatabaseName_1, sizeof(uint16_t), CH_UTF16));
+ NDR_PULL_SET_MEM_CTX(ndr, _mem_save_DatabaseName_0, 0);
+ }
+ NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.access_mask));
+@@ -3950,6 +4104,8 @@ static enum ndr_err_code ndr_push_svcctl_OpenServiceA(struct ndr_push *ndr, int
+ static enum ndr_err_code ndr_pull_svcctl_OpenServiceA(struct ndr_pull *ndr, int flags, struct svcctl_OpenServiceA *r)
+ {
+ uint32_t _ptr_ServiceName;
++ uint32_t size_ServiceName_1 = 0;
++ uint32_t length_ServiceName_1 = 0;
+ TALLOC_CTX *_mem_save_scmanager_handle_0;
+ TALLOC_CTX *_mem_save_ServiceName_0;
+ if (flags & NDR_IN) {
+@@ -3971,11 +4127,13 @@ static enum ndr_err_code ndr_pull_svcctl_OpenServiceA(struct ndr_pull *ndr, int
+ NDR_PULL_SET_MEM_CTX(ndr, r->in.ServiceName, 0);
+ NDR_CHECK(ndr_pull_array_size(ndr, &r->in.ServiceName));
+ NDR_CHECK(ndr_pull_array_length(ndr, &r->in.ServiceName));
+- if (ndr_get_array_length(ndr, &r->in.ServiceName) > ndr_get_array_size(ndr, &r->in.ServiceName)) {
+- return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.ServiceName), ndr_get_array_length(ndr, &r->in.ServiceName));
++ size_ServiceName_1 = ndr_get_array_size(ndr, &r->in.ServiceName);
++ length_ServiceName_1 = ndr_get_array_length(ndr, &r->in.ServiceName);
++ if (length_ServiceName_1 > size_ServiceName_1) {
++ return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_ServiceName_1, length_ServiceName_1);
+ }
+- NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.ServiceName), sizeof(uint16_t)));
+- NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.ServiceName, ndr_get_array_length(ndr, &r->in.ServiceName), sizeof(uint16_t), CH_UTF16));
++ NDR_CHECK(ndr_check_string_terminator(ndr, length_ServiceName_1, sizeof(uint16_t)));
++ NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.ServiceName, length_ServiceName_1, sizeof(uint16_t), CH_UTF16));
+ NDR_PULL_SET_MEM_CTX(ndr, _mem_save_ServiceName_0, 0);
+ }
+ NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.access_mask));
+@@ -4040,6 +4198,7 @@ static enum ndr_err_code ndr_push_svcctl_QueryServiceConfigA(struct ndr_push *nd
+
+ static enum ndr_err_code ndr_pull_svcctl_QueryServiceConfigA(struct ndr_pull *ndr, int flags, struct svcctl_QueryServiceConfigA *r)
+ {
++ uint32_t size_query_0 = 0;
+ TALLOC_CTX *_mem_save_handle_0;
+ TALLOC_CTX *_mem_save_bytes_needed_0;
+ if (flags & NDR_IN) {
+@@ -4057,8 +4216,9 @@ static enum ndr_err_code ndr_pull_svcctl_QueryServiceConfigA(struct ndr_pull *nd
+ ZERO_STRUCTP(r->out.bytes_needed);
+ }
+ if (flags & NDR_OUT) {
+- NDR_PULL_ALLOC_N(ndr, r->out.query, r->in.buf_size);
+- NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->out.query, r->in.buf_size));
++ size_query_0 = r->in.buf_size;
++ NDR_PULL_ALLOC_N(ndr, r->out.query, size_query_0);
++ NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->out.query, size_query_0));
+ if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
+ NDR_PULL_ALLOC(ndr, r->out.bytes_needed);
+ }
+@@ -4225,6 +4385,8 @@ static enum ndr_err_code ndr_push_svcctl_StartServiceA(struct ndr_push *ndr, int
+ static enum ndr_err_code ndr_pull_svcctl_StartServiceA(struct ndr_pull *ndr, int flags, struct svcctl_StartServiceA *r)
+ {
+ uint32_t _ptr_Arguments;
++ uint32_t size_Arguments_1 = 0;
++ uint32_t length_Arguments_1 = 0;
+ TALLOC_CTX *_mem_save_handle_0;
+ TALLOC_CTX *_mem_save_Arguments_0;
+ if (flags & NDR_IN) {
+@@ -4247,11 +4409,13 @@ static enum ndr_err_code ndr_pull_svcctl_StartServiceA(struct ndr_pull *ndr, int
+ NDR_PULL_SET_MEM_CTX(ndr, r->in.Arguments, 0);
+ NDR_CHECK(ndr_pull_array_size(ndr, &r->in.Arguments));
+ NDR_CHECK(ndr_pull_array_length(ndr, &r->in.Arguments));
+- if (ndr_get_array_length(ndr, &r->in.Arguments) > ndr_get_array_size(ndr, &r->in.Arguments)) {
+- return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.Arguments), ndr_get_array_length(ndr, &r->in.Arguments));
++ size_Arguments_1 = ndr_get_array_size(ndr, &r->in.Arguments);
++ length_Arguments_1 = ndr_get_array_length(ndr, &r->in.Arguments);
++ if (length_Arguments_1 > size_Arguments_1) {
++ return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_Arguments_1, length_Arguments_1);
+ }
+- NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.Arguments), sizeof(uint16_t)));
+- NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.Arguments, ndr_get_array_length(ndr, &r->in.Arguments), sizeof(uint16_t), CH_UTF16));
++ NDR_CHECK(ndr_check_string_terminator(ndr, length_Arguments_1, sizeof(uint16_t)));
++ NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.Arguments, length_Arguments_1, sizeof(uint16_t), CH_UTF16));
+ NDR_PULL_SET_MEM_CTX(ndr, _mem_save_Arguments_0, 0);
+ }
+ }
+@@ -4335,7 +4499,11 @@ static enum ndr_err_code ndr_push_svcctl_GetServiceDisplayNameA(struct ndr_push
+ static enum ndr_err_code ndr_pull_svcctl_GetServiceDisplayNameA(struct ndr_pull *ndr, int flags, struct svcctl_GetServiceDisplayNameA *r)
+ {
+ uint32_t _ptr_service_name;
++ uint32_t size_service_name_1 = 0;
++ uint32_t length_service_name_1 = 0;
+ uint32_t _ptr_display_name;
++ uint32_t size_display_name_2 = 0;
++ uint32_t length_display_name_2 = 0;
+ uint32_t _ptr_display_name_length;
+ TALLOC_CTX *_mem_save_handle_0;
+ TALLOC_CTX *_mem_save_service_name_0;
+@@ -4363,11 +4531,13 @@ static enum ndr_err_code ndr_pull_svcctl_GetServiceDisplayNameA(struct ndr_pull
+ NDR_PULL_SET_MEM_CTX(ndr, r->in.service_name, 0);
+ NDR_CHECK(ndr_pull_array_size(ndr, &r->in.service_name));
+ NDR_CHECK(ndr_pull_array_length(ndr, &r->in.service_name));
+- if (ndr_get_array_length(ndr, &r->in.service_name) > ndr_get_array_size(ndr, &r->in.service_name)) {
+- return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.service_name), ndr_get_array_length(ndr, &r->in.service_name));
++ size_service_name_1 = ndr_get_array_size(ndr, &r->in.service_name);
++ length_service_name_1 = ndr_get_array_length(ndr, &r->in.service_name);
++ if (length_service_name_1 > size_service_name_1) {
++ return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_service_name_1, length_service_name_1);
+ }
+- NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.service_name), sizeof(uint16_t)));
+- NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.service_name, ndr_get_array_length(ndr, &r->in.service_name), sizeof(uint16_t), CH_UTF16));
++ NDR_CHECK(ndr_check_string_terminator(ndr, length_service_name_1, sizeof(uint16_t)));
++ NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.service_name, length_service_name_1, sizeof(uint16_t), CH_UTF16));
+ NDR_PULL_SET_MEM_CTX(ndr, _mem_save_service_name_0, 0);
+ }
+ NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_display_name_length));
+@@ -4402,11 +4572,13 @@ static enum ndr_err_code ndr_pull_svcctl_GetServiceDisplayNameA(struct ndr_pull
+ NDR_PULL_SET_MEM_CTX(ndr, *r->out.display_name, 0);
+ NDR_CHECK(ndr_pull_array_size(ndr, r->out.display_name));
+ NDR_CHECK(ndr_pull_array_length(ndr, r->out.display_name));
+- if (ndr_get_array_length(ndr, r->out.display_name) > ndr_get_array_size(ndr, r->out.display_name)) {
+- return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, r->out.display_name), ndr_get_array_length(ndr, r->out.display_name));
++ size_display_name_2 = ndr_get_array_size(ndr, r->out.display_name);
++ length_display_name_2 = ndr_get_array_length(ndr, r->out.display_name);
++ if (length_display_name_2 > size_display_name_2) {
++ return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_display_name_2, length_display_name_2);
+ }
+- NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, r->out.display_name), sizeof(uint16_t)));
+- NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, r->out.display_name, ndr_get_array_length(ndr, r->out.display_name), sizeof(uint16_t), CH_UTF16));
++ NDR_CHECK(ndr_check_string_terminator(ndr, length_display_name_2, sizeof(uint16_t)));
++ NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, r->out.display_name, length_display_name_2, sizeof(uint16_t), CH_UTF16));
+ NDR_PULL_SET_MEM_CTX(ndr, _mem_save_display_name_1, 0);
+ }
+ NDR_PULL_SET_MEM_CTX(ndr, _mem_save_display_name_0, LIBNDR_FLAG_REF_ALLOC);
+@@ -4521,7 +4693,11 @@ static enum ndr_err_code ndr_push_svcctl_GetServiceKeyNameA(struct ndr_push *ndr
+ static enum ndr_err_code ndr_pull_svcctl_GetServiceKeyNameA(struct ndr_pull *ndr, int flags, struct svcctl_GetServiceKeyNameA *r)
+ {
+ uint32_t _ptr_service_name;
++ uint32_t size_service_name_1 = 0;
++ uint32_t length_service_name_1 = 0;
+ uint32_t _ptr_key_name;
++ uint32_t size_key_name_2 = 0;
++ uint32_t length_key_name_2 = 0;
+ uint32_t _ptr_display_name_length;
+ TALLOC_CTX *_mem_save_handle_0;
+ TALLOC_CTX *_mem_save_service_name_0;
+@@ -4549,11 +4725,13 @@ static enum ndr_err_code ndr_pull_svcctl_GetServiceKeyNameA(struct ndr_pull *ndr
+ NDR_PULL_SET_MEM_CTX(ndr, r->in.service_name, 0);
+ NDR_CHECK(ndr_pull_array_size(ndr, &r->in.service_name));
+ NDR_CHECK(ndr_pull_array_length(ndr, &r->in.service_name));
+- if (ndr_get_array_length(ndr, &r->in.service_name) > ndr_get_array_size(ndr, &r->in.service_name)) {
+- return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.service_name), ndr_get_array_length(ndr, &r->in.service_name));
++ size_service_name_1 = ndr_get_array_size(ndr, &r->in.service_name);
++ length_service_name_1 = ndr_get_array_length(ndr, &r->in.service_name);
++ if (length_service_name_1 > size_service_name_1) {
++ return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_service_name_1, length_service_name_1);
+ }
+- NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.service_name), sizeof(uint16_t)));
+- NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.service_name, ndr_get_array_length(ndr, &r->in.service_name), sizeof(uint16_t), CH_UTF16));
++ NDR_CHECK(ndr_check_string_terminator(ndr, length_service_name_1, sizeof(uint16_t)));
++ NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.service_name, length_service_name_1, sizeof(uint16_t), CH_UTF16));
+ NDR_PULL_SET_MEM_CTX(ndr, _mem_save_service_name_0, 0);
+ }
+ NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_display_name_length));
+@@ -4588,11 +4766,13 @@ static enum ndr_err_code ndr_pull_svcctl_GetServiceKeyNameA(struct ndr_pull *ndr
+ NDR_PULL_SET_MEM_CTX(ndr, *r->out.key_name, 0);
+ NDR_CHECK(ndr_pull_array_size(ndr, r->out.key_name));
+ NDR_CHECK(ndr_pull_array_length(ndr, r->out.key_name));
+- if (ndr_get_array_length(ndr, r->out.key_name) > ndr_get_array_size(ndr, r->out.key_name)) {
+- return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, r->out.key_name), ndr_get_array_length(ndr, r->out.key_name));
++ size_key_name_2 = ndr_get_array_size(ndr, r->out.key_name);
++ length_key_name_2 = ndr_get_array_length(ndr, r->out.key_name);
++ if (length_key_name_2 > size_key_name_2) {
++ return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_key_name_2, length_key_name_2);
+ }
+- NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, r->out.key_name), sizeof(uint16_t)));
+- NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, r->out.key_name, ndr_get_array_length(ndr, r->out.key_name), sizeof(uint16_t), CH_UTF16));
++ NDR_CHECK(ndr_check_string_terminator(ndr, length_key_name_2, sizeof(uint16_t)));
++ NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, r->out.key_name, length_key_name_2, sizeof(uint16_t), CH_UTF16));
+ NDR_PULL_SET_MEM_CTX(ndr, _mem_save_key_name_1, 0);
+ }
+ NDR_PULL_SET_MEM_CTX(ndr, _mem_save_key_name_0, LIBNDR_FLAG_REF_ALLOC);
+@@ -4938,6 +5118,7 @@ static enum ndr_err_code ndr_push_svcctl_QueryServiceConfig2A(struct ndr_push *n
+
+ static enum ndr_err_code ndr_pull_svcctl_QueryServiceConfig2A(struct ndr_pull *ndr, int flags, struct svcctl_QueryServiceConfig2A *r)
+ {
++ uint32_t size_buffer_0 = 0;
+ TALLOC_CTX *_mem_save_handle_0;
+ TALLOC_CTX *_mem_save_bytes_needed_0;
+ if (flags & NDR_IN) {
+@@ -4956,8 +5137,9 @@ static enum ndr_err_code ndr_pull_svcctl_QueryServiceConfig2A(struct ndr_pull *n
+ ZERO_STRUCTP(r->out.bytes_needed);
+ }
+ if (flags & NDR_OUT) {
+- NDR_PULL_ALLOC_N(ndr, r->out.buffer, r->in.buf_size);
+- NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->out.buffer, r->in.buf_size));
++ size_buffer_0 = r->in.buf_size;
++ NDR_PULL_ALLOC_N(ndr, r->out.buffer, size_buffer_0);
++ NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->out.buffer, size_buffer_0));
+ if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
+ NDR_PULL_ALLOC(ndr, r->out.bytes_needed);
+ }
+@@ -5025,6 +5207,7 @@ static enum ndr_err_code ndr_push_svcctl_QueryServiceConfig2W(struct ndr_push *n
+
+ static enum ndr_err_code ndr_pull_svcctl_QueryServiceConfig2W(struct ndr_pull *ndr, int flags, struct svcctl_QueryServiceConfig2W *r)
+ {
++ uint32_t size_buffer_0 = 0;
+ TALLOC_CTX *_mem_save_handle_0;
+ TALLOC_CTX *_mem_save_bytes_needed_0;
+ if (flags & NDR_IN) {
+@@ -5043,8 +5226,9 @@ static enum ndr_err_code ndr_pull_svcctl_QueryServiceConfig2W(struct ndr_pull *n
+ ZERO_STRUCTP(r->out.bytes_needed);
+ }
+ if (flags & NDR_OUT) {
+- NDR_PULL_ALLOC_N(ndr, r->out.buffer, r->in.buf_size);
+- NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->out.buffer, r->in.buf_size));
++ size_buffer_0 = r->in.buf_size;
++ NDR_PULL_ALLOC_N(ndr, r->out.buffer, size_buffer_0);
++ NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->out.buffer, size_buffer_0));
+ if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
+ NDR_PULL_ALLOC(ndr, r->out.bytes_needed);
+ }
+@@ -5112,6 +5296,7 @@ static enum ndr_err_code ndr_push_svcctl_QueryServiceStatusEx(struct ndr_push *n
+
+ static enum ndr_err_code ndr_pull_svcctl_QueryServiceStatusEx(struct ndr_pull *ndr, int flags, struct svcctl_QueryServiceStatusEx *r)
+ {
++ uint32_t size_buffer_0 = 0;
+ TALLOC_CTX *_mem_save_handle_0;
+ TALLOC_CTX *_mem_save_bytes_needed_0;
+ if (flags & NDR_IN) {
+@@ -5130,8 +5315,9 @@ static enum ndr_err_code ndr_pull_svcctl_QueryServiceStatusEx(struct ndr_pull *n
+ ZERO_STRUCTP(r->out.bytes_needed);
+ }
+ if (flags & NDR_OUT) {
+- NDR_PULL_ALLOC_N(ndr, r->out.buffer, r->in.buf_size);
+- NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->out.buffer, r->in.buf_size));
++ size_buffer_0 = r->in.buf_size;
++ NDR_PULL_ALLOC_N(ndr, r->out.buffer, size_buffer_0);
++ NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->out.buffer, size_buffer_0));
+ if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
+ NDR_PULL_ALLOC(ndr, r->out.bytes_needed);
+ }
+@@ -5223,8 +5409,11 @@ static enum ndr_err_code ndr_push_EnumServicesStatusExA(struct ndr_push *ndr, in
+
+ static enum ndr_err_code ndr_pull_EnumServicesStatusExA(struct ndr_pull *ndr, int flags, struct EnumServicesStatusExA *r)
+ {
++ uint32_t size_services_0 = 0;
+ uint32_t _ptr_resume_handle;
+ uint32_t _ptr_group_name;
++ uint32_t size_group_name_2 = 0;
++ uint32_t length_group_name_2 = 0;
+ TALLOC_CTX *_mem_save_scmanager_0;
+ TALLOC_CTX *_mem_save_bytes_needed_0;
+ TALLOC_CTX *_mem_save_service_returned_0;
+@@ -5265,8 +5454,9 @@ static enum ndr_err_code ndr_pull_EnumServicesStatusExA(struct ndr_pull *ndr, in
+ ZERO_STRUCTP(r->out.group_name);
+ }
+ if (flags & NDR_OUT) {
+- NDR_PULL_ALLOC_N(ndr, r->out.services, r->in.buf_size);
+- NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->out.services, r->in.buf_size));
++ size_services_0 = r->in.buf_size;
++ NDR_PULL_ALLOC_N(ndr, r->out.services, size_services_0);
++ NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->out.services, size_services_0));
+ if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
+ NDR_PULL_ALLOC(ndr, r->out.bytes_needed);
+ }
+@@ -5309,11 +5499,13 @@ static enum ndr_err_code ndr_pull_EnumServicesStatusExA(struct ndr_pull *ndr, in
+ NDR_PULL_SET_MEM_CTX(ndr, *r->out.group_name, 0);
+ NDR_CHECK(ndr_pull_array_size(ndr, r->out.group_name));
+ NDR_CHECK(ndr_pull_array_length(ndr, r->out.group_name));
+- if (ndr_get_array_length(ndr, r->out.group_name) > ndr_get_array_size(ndr, r->out.group_name)) {
+- return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, r->out.group_name), ndr_get_array_length(ndr, r->out.group_name));
++ size_group_name_2 = ndr_get_array_size(ndr, r->out.group_name);
++ length_group_name_2 = ndr_get_array_length(ndr, r->out.group_name);
++ if (length_group_name_2 > size_group_name_2) {
++ return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_group_name_2, length_group_name_2);
+ }
+- NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, r->out.group_name), sizeof(uint16_t)));
+- NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, r->out.group_name, ndr_get_array_length(ndr, r->out.group_name), sizeof(uint16_t), CH_UTF16));
++ NDR_CHECK(ndr_check_string_terminator(ndr, length_group_name_2, sizeof(uint16_t)));
++ NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, r->out.group_name, length_group_name_2, sizeof(uint16_t), CH_UTF16));
+ NDR_PULL_SET_MEM_CTX(ndr, _mem_save_group_name_1, 0);
+ }
+ NDR_PULL_SET_MEM_CTX(ndr, _mem_save_group_name_0, LIBNDR_FLAG_REF_ALLOC);
+@@ -5428,8 +5620,11 @@ static enum ndr_err_code ndr_push_EnumServicesStatusExW(struct ndr_push *ndr, in
+
+ static enum ndr_err_code ndr_pull_EnumServicesStatusExW(struct ndr_pull *ndr, int flags, struct EnumServicesStatusExW *r)
+ {
++ uint32_t size_services_0 = 0;
+ uint32_t _ptr_resume_handle;
+ uint32_t _ptr_group_name;
++ uint32_t size_group_name_2 = 0;
++ uint32_t length_group_name_2 = 0;
+ TALLOC_CTX *_mem_save_scmanager_0;
+ TALLOC_CTX *_mem_save_bytes_needed_0;
+ TALLOC_CTX *_mem_save_service_returned_0;
+@@ -5470,8 +5665,9 @@ static enum ndr_err_code ndr_pull_EnumServicesStatusExW(struct ndr_pull *ndr, in
+ ZERO_STRUCTP(r->out.group_name);
+ }
+ if (flags & NDR_OUT) {
+- NDR_PULL_ALLOC_N(ndr, r->out.services, r->in.buf_size);
+- NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->out.services, r->in.buf_size));
++ size_services_0 = r->in.buf_size;
++ NDR_PULL_ALLOC_N(ndr, r->out.services, size_services_0);
++ NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->out.services, size_services_0));
+ if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
+ NDR_PULL_ALLOC(ndr, r->out.bytes_needed);
+ }
+@@ -5514,11 +5710,13 @@ static enum ndr_err_code ndr_pull_EnumServicesStatusExW(struct ndr_pull *ndr, in
+ NDR_PULL_SET_MEM_CTX(ndr, *r->out.group_name, 0);
+ NDR_CHECK(ndr_pull_array_size(ndr, r->out.group_name));
+ NDR_CHECK(ndr_pull_array_length(ndr, r->out.group_name));
+- if (ndr_get_array_length(ndr, r->out.group_name) > ndr_get_array_size(ndr, r->out.group_name)) {
+- return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, r->out.group_name), ndr_get_array_length(ndr, r->out.group_name));
++ size_group_name_2 = ndr_get_array_size(ndr, r->out.group_name);
++ length_group_name_2 = ndr_get_array_length(ndr, r->out.group_name);
++ if (length_group_name_2 > size_group_name_2) {
++ return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_group_name_2, length_group_name_2);
+ }
+- NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, r->out.group_name), sizeof(uint16_t)));
+- NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, r->out.group_name, ndr_get_array_length(ndr, r->out.group_name), sizeof(uint16_t), CH_UTF16));
++ NDR_CHECK(ndr_check_string_terminator(ndr, length_group_name_2, sizeof(uint16_t)));
++ NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, r->out.group_name, length_group_name_2, sizeof(uint16_t), CH_UTF16));
+ NDR_PULL_SET_MEM_CTX(ndr, _mem_save_group_name_1, 0);
+ }
+ NDR_PULL_SET_MEM_CTX(ndr, _mem_save_group_name_0, LIBNDR_FLAG_REF_ALLOC);
+diff --git a/source/librpc/gen_ndr/ndr_winreg.c b/source/librpc/gen_ndr/ndr_winreg.c
+index 1a861af..e5e1564 100644
+--- a/source/librpc/gen_ndr/ndr_winreg.c
++++ b/source/librpc/gen_ndr/ndr_winreg.c
+@@ -92,6 +92,8 @@ _PUBLIC_ enum ndr_err_code ndr_push_winreg_String(struct ndr_push *ndr, int ndr_
+ _PUBLIC_ enum ndr_err_code ndr_pull_winreg_String(struct ndr_pull *ndr, int ndr_flags, struct winreg_String *r)
+ {
+ uint32_t _ptr_name;
++ uint32_t size_name_1 = 0;
++ uint32_t length_name_1 = 0;
+ TALLOC_CTX *_mem_save_name_0;
+ if (ndr_flags & NDR_SCALARS) {
+ NDR_CHECK(ndr_pull_align(ndr, 4));
+@@ -110,11 +112,13 @@ _PUBLIC_ enum ndr_err_code ndr_pull_winreg_String(struct ndr_pull *ndr, int ndr_
+ NDR_PULL_SET_MEM_CTX(ndr, r->name, 0);
+ NDR_CHECK(ndr_pull_array_size(ndr, &r->name));
+ NDR_CHECK(ndr_pull_array_length(ndr, &r->name));
+- if (ndr_get_array_length(ndr, &r->name) > ndr_get_array_size(ndr, &r->name)) {
+- return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->name), ndr_get_array_length(ndr, &r->name));
++ size_name_1 = ndr_get_array_size(ndr, &r->name);
++ length_name_1 = ndr_get_array_length(ndr, &r->name);
++ if (length_name_1 > size_name_1) {
++ return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_name_1, length_name_1);
+ }
+- NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->name), sizeof(uint16_t)));
+- NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->name, ndr_get_array_length(ndr, &r->name), sizeof(uint16_t), CH_UTF16));
++ NDR_CHECK(ndr_check_string_terminator(ndr, length_name_1, sizeof(uint16_t)));
++ NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->name, length_name_1, sizeof(uint16_t), CH_UTF16));
+ NDR_PULL_SET_MEM_CTX(ndr, _mem_save_name_0, 0);
+ }
+ }
+@@ -158,6 +162,8 @@ static enum ndr_err_code ndr_push_KeySecurityData(struct ndr_push *ndr, int ndr_
+ static enum ndr_err_code ndr_pull_KeySecurityData(struct ndr_pull *ndr, int ndr_flags, struct KeySecurityData *r)
+ {
+ uint32_t _ptr_data;
++ uint32_t size_data_1 = 0;
++ uint32_t length_data_1 = 0;
+ TALLOC_CTX *_mem_save_data_0;
+ if (ndr_flags & NDR_SCALARS) {
+ NDR_CHECK(ndr_pull_align(ndr, 4));
+@@ -176,11 +182,13 @@ static enum ndr_err_code ndr_pull_KeySecurityData(struct ndr_pull *ndr, int ndr_
+ NDR_PULL_SET_MEM_CTX(ndr, r->data, 0);
+ NDR_CHECK(ndr_pull_array_size(ndr, &r->data));
+ NDR_CHECK(ndr_pull_array_length(ndr, &r->data));
+- if (ndr_get_array_length(ndr, &r->data) > ndr_get_array_size(ndr, &r->data)) {
+- return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->data), ndr_get_array_length(ndr, &r->data));
++ size_data_1 = ndr_get_array_size(ndr, &r->data);
++ length_data_1 = ndr_get_array_length(ndr, &r->data);
++ if (length_data_1 > size_data_1) {
++ return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_data_1, length_data_1);
+ }
+- NDR_PULL_ALLOC_N(ndr, r->data, ndr_get_array_size(ndr, &r->data));
+- NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->data, ndr_get_array_length(ndr, &r->data)));
++ NDR_PULL_ALLOC_N(ndr, r->data, size_data_1);
++ NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->data, length_data_1));
+ NDR_PULL_SET_MEM_CTX(ndr, _mem_save_data_0, 0);
+ }
+ if (r->data) {
+@@ -294,6 +302,8 @@ static enum ndr_err_code ndr_push_winreg_StringBuf(struct ndr_push *ndr, int ndr
+ static enum ndr_err_code ndr_pull_winreg_StringBuf(struct ndr_pull *ndr, int ndr_flags, struct winreg_StringBuf *r)
+ {
+ uint32_t _ptr_name;
++ uint32_t size_name_1 = 0;
++ uint32_t length_name_1 = 0;
+ TALLOC_CTX *_mem_save_name_0;
+ if (ndr_flags & NDR_SCALARS) {
+ NDR_CHECK(ndr_pull_align(ndr, 4));
+@@ -312,10 +322,12 @@ static enum ndr_err_code ndr_pull_winreg_StringBuf(struct ndr_pull *ndr, int ndr
+ NDR_PULL_SET_MEM_CTX(ndr, r->name, 0);
+ NDR_CHECK(ndr_pull_array_size(ndr, &r->name));
+ NDR_CHECK(ndr_pull_array_length(ndr, &r->name));
+- if (ndr_get_array_length(ndr, &r->name) > ndr_get_array_size(ndr, &r->name)) {
+- return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->name), ndr_get_array_length(ndr, &r->name));
++ size_name_1 = ndr_get_array_size(ndr, &r->name);
++ length_name_1 = ndr_get_array_length(ndr, &r->name);
++ if (length_name_1 > size_name_1) {
++ return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_name_1, length_name_1);
+ }
+- NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->name, ndr_get_array_length(ndr, &r->name), sizeof(uint16_t), CH_UTF16));
++ NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->name, length_name_1, sizeof(uint16_t), CH_UTF16));
+ NDR_PULL_SET_MEM_CTX(ndr, _mem_save_name_0, 0);
+ }
+ if (r->name) {
+@@ -365,6 +377,8 @@ static enum ndr_err_code ndr_push_winreg_ValNameBuf(struct ndr_push *ndr, int nd
+ static enum ndr_err_code ndr_pull_winreg_ValNameBuf(struct ndr_pull *ndr, int ndr_flags, struct winreg_ValNameBuf *r)
+ {
+ uint32_t _ptr_name;
++ uint32_t size_name_1 = 0;
++ uint32_t length_name_1 = 0;
+ TALLOC_CTX *_mem_save_name_0;
+ if (ndr_flags & NDR_SCALARS) {
+ NDR_CHECK(ndr_pull_align(ndr, 4));
+@@ -383,10 +397,12 @@ static enum ndr_err_code ndr_pull_winreg_ValNameBuf(struct ndr_pull *ndr, int nd
+ NDR_PULL_SET_MEM_CTX(ndr, r->name, 0);
+ NDR_CHECK(ndr_pull_array_size(ndr, &r->name));
+ NDR_CHECK(ndr_pull_array_length(ndr, &r->name));
+- if (ndr_get_array_length(ndr, &r->name) > ndr_get_array_size(ndr, &r->name)) {
+- return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->name), ndr_get_array_length(ndr, &r->name));
++ size_name_1 = ndr_get_array_size(ndr, &r->name);
++ length_name_1 = ndr_get_array_length(ndr, &r->name);
++ if (length_name_1 > size_name_1) {
++ return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_name_1, length_name_1);
+ }
+- NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->name, ndr_get_array_length(ndr, &r->name), sizeof(uint16_t), CH_UTF16));
++ NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->name, length_name_1, sizeof(uint16_t), CH_UTF16));
+ NDR_PULL_SET_MEM_CTX(ndr, _mem_save_name_0, 0);
+ }
+ if (r->name) {
+@@ -1559,6 +1575,8 @@ static enum ndr_err_code ndr_pull_winreg_EnumValue(struct ndr_pull *ndr, int fla
+ {
+ uint32_t _ptr_type;
+ uint32_t _ptr_value;
++ uint32_t size_value_1 = 0;
++ uint32_t length_value_1 = 0;
+ uint32_t _ptr_size;
+ uint32_t _ptr_length;
+ TALLOC_CTX *_mem_save_handle_0;
+@@ -1608,11 +1626,13 @@ static enum ndr_err_code ndr_pull_winreg_EnumValue(struct ndr_pull *ndr, int fla
+ NDR_PULL_SET_MEM_CTX(ndr, r->in.value, 0);
+ NDR_CHECK(ndr_pull_array_size(ndr, &r->in.value));
+ NDR_CHECK(ndr_pull_array_length(ndr, &r->in.value));
+- if (ndr_get_array_length(ndr, &r->in.value) > ndr_get_array_size(ndr, &r->in.value)) {
+- return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.value), ndr_get_array_length(ndr, &r->in.value));
++ size_value_1 = ndr_get_array_size(ndr, &r->in.value);
++ length_value_1 = ndr_get_array_length(ndr, &r->in.value);
++ if (length_value_1 > size_value_1) {
++ return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_value_1, length_value_1);
+ }
+- NDR_PULL_ALLOC_N(ndr, r->in.value, ndr_get_array_size(ndr, &r->in.value));
+- NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->in.value, ndr_get_array_length(ndr, &r->in.value)));
++ NDR_PULL_ALLOC_N(ndr, r->in.value, size_value_1);
++ NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->in.value, length_value_1));
+ NDR_PULL_SET_MEM_CTX(ndr, _mem_save_value_0, 0);
+ }
+ NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_size));
+@@ -1681,11 +1701,13 @@ static enum ndr_err_code ndr_pull_winreg_EnumValue(struct ndr_pull *ndr, int fla
+ NDR_PULL_SET_MEM_CTX(ndr, r->out.value, 0);
+ NDR_CHECK(ndr_pull_array_size(ndr, &r->out.value));
+ NDR_CHECK(ndr_pull_array_length(ndr, &r->out.value));
+- if (ndr_get_array_length(ndr, &r->out.value) > ndr_get_array_size(ndr, &r->out.value)) {
+- return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->out.value), ndr_get_array_length(ndr, &r->out.value));
++ size_value_1 = ndr_get_array_size(ndr, &r->out.value);
++ length_value_1 = ndr_get_array_length(ndr, &r->out.value);
++ if (length_value_1 > size_value_1) {
++ return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_value_1, length_value_1);
+ }
+- NDR_PULL_ALLOC_N(ndr, r->out.value, ndr_get_array_size(ndr, &r->out.value));
+- NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->out.value, ndr_get_array_length(ndr, &r->out.value)));
++ NDR_PULL_ALLOC_N(ndr, r->out.value, size_value_1);
++ NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->out.value, length_value_1));
+ NDR_PULL_SET_MEM_CTX(ndr, _mem_save_value_0, 0);
+ }
+ NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_size));
+@@ -2523,6 +2545,8 @@ static enum ndr_err_code ndr_pull_winreg_QueryValue(struct ndr_pull *ndr, int fl
+ {
+ uint32_t _ptr_type;
+ uint32_t _ptr_data;
++ uint32_t size_data_1 = 0;
++ uint32_t length_data_1 = 0;
+ uint32_t _ptr_data_size;
+ uint32_t _ptr_value_length;
+ TALLOC_CTX *_mem_save_handle_0;
+@@ -2571,11 +2595,13 @@ static enum ndr_err_code ndr_pull_winreg_QueryValue(struct ndr_pull *ndr, int fl
+ NDR_PULL_SET_MEM_CTX(ndr, r->in.data, 0);
+ NDR_CHECK(ndr_pull_array_size(ndr, &r->in.data));
+ NDR_CHECK(ndr_pull_array_length(ndr, &r->in.data));
+- if (ndr_get_array_length(ndr, &r->in.data) > ndr_get_array_size(ndr, &r->in.data)) {
+- return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.data), ndr_get_array_length(ndr, &r->in.data));
++ size_data_1 = ndr_get_array_size(ndr, &r->in.data);
++ length_data_1 = ndr_get_array_length(ndr, &r->in.data);
++ if (length_data_1 > size_data_1) {
++ return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_data_1, length_data_1);
+ }
+- NDR_PULL_ALLOC_N(ndr, r->in.data, ndr_get_array_size(ndr, &r->in.data));
+- NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->in.data, ndr_get_array_length(ndr, &r->in.data)));
++ NDR_PULL_ALLOC_N(ndr, r->in.data, size_data_1);
++ NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->in.data, length_data_1));
+ NDR_PULL_SET_MEM_CTX(ndr, _mem_save_data_0, 0);
+ }
+ NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_data_size));
+@@ -2635,11 +2661,13 @@ static enum ndr_err_code ndr_pull_winreg_QueryValue(struct ndr_pull *ndr, int fl
+ NDR_PULL_SET_MEM_CTX(ndr, r->out.data, 0);
+ NDR_CHECK(ndr_pull_array_size(ndr, &r->out.data));
+ NDR_CHECK(ndr_pull_array_length(ndr, &r->out.data));
+- if (ndr_get_array_length(ndr, &r->out.data) > ndr_get_array_size(ndr, &r->out.data)) {
+- return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->out.data), ndr_get_array_length(ndr, &r->out.data));
++ size_data_1 = ndr_get_array_size(ndr, &r->out.data);
++ length_data_1 = ndr_get_array_length(ndr, &r->out.data);
++ if (length_data_1 > size_data_1) {
++ return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_data_1, length_data_1);
+ }
+- NDR_PULL_ALLOC_N(ndr, r->out.data, ndr_get_array_size(ndr, &r->out.data));
+- NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->out.data, ndr_get_array_length(ndr, &r->out.data)));
++ NDR_PULL_ALLOC_N(ndr, r->out.data, size_data_1);
++ NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->out.data, length_data_1));
+ NDR_PULL_SET_MEM_CTX(ndr, _mem_save_data_0, 0);
+ }
+ NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_data_size));
+@@ -3072,6 +3100,7 @@ static enum ndr_err_code ndr_push_winreg_SetValue(struct ndr_push *ndr, int flag
+
+ static enum ndr_err_code ndr_pull_winreg_SetValue(struct ndr_pull *ndr, int flags, struct winreg_SetValue *r)
+ {
++ uint32_t size_data_1 = 0;
+ TALLOC_CTX *_mem_save_handle_0;
+ if (flags & NDR_IN) {
+ if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
+@@ -3084,10 +3113,11 @@ static enum ndr_err_code ndr_pull_winreg_SetValue(struct ndr_pull *ndr, int flag
+ NDR_CHECK(ndr_pull_winreg_String(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.name));
+ NDR_CHECK(ndr_pull_winreg_Type(ndr, NDR_SCALARS, &r->in.type));
+ NDR_CHECK(ndr_pull_array_size(ndr, &r->in.data));
++ size_data_1 = ndr_get_array_size(ndr, &r->in.data);
+ if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
+- NDR_PULL_ALLOC_N(ndr, r->in.data, ndr_get_array_size(ndr, &r->in.data));
++ NDR_PULL_ALLOC_N(ndr, r->in.data, size_data_1);
+ }
+- NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->in.data, ndr_get_array_size(ndr, &r->in.data)));
++ NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->in.data, size_data_1));
+ NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.size));
+ if (r->in.data) {
+ NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->in.data, r->in.size));
+@@ -3652,8 +3682,12 @@ static enum ndr_err_code ndr_push_winreg_QueryMultipleValues(struct ndr_push *nd
+
+ static enum ndr_err_code ndr_pull_winreg_QueryMultipleValues(struct ndr_pull *ndr, int flags, struct winreg_QueryMultipleValues *r)
+ {
++ uint32_t size_values_1 = 0;
++ uint32_t length_values_1 = 0;
+ uint32_t cntr_values_1;
+ uint32_t _ptr_buffer;
++ uint32_t size_buffer_1 = 0;
++ uint32_t length_buffer_1 = 0;
+ TALLOC_CTX *_mem_save_key_handle_0;
+ TALLOC_CTX *_mem_save_values_1;
+ TALLOC_CTX *_mem_save_buffer_0;
+@@ -3670,19 +3704,21 @@ static enum ndr_err_code ndr_pull_winreg_QueryMultipleValues(struct ndr_pull *nd
+ NDR_PULL_SET_MEM_CTX(ndr, _mem_save_key_handle_0, LIBNDR_FLAG_REF_ALLOC);
+ NDR_CHECK(ndr_pull_array_size(ndr, &r->in.values));
+ NDR_CHECK(ndr_pull_array_length(ndr, &r->in.values));
+- if (ndr_get_array_length(ndr, &r->in.values) > ndr_get_array_size(ndr, &r->in.values)) {
+- return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.values), ndr_get_array_length(ndr, &r->in.values));
++ size_values_1 = ndr_get_array_size(ndr, &r->in.values);
++ length_values_1 = ndr_get_array_length(ndr, &r->in.values);
++ if (length_values_1 > size_values_1) {
++ return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_values_1, length_values_1);
+ }
+ if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
+- NDR_PULL_ALLOC_N(ndr, r->in.values, ndr_get_array_size(ndr, &r->in.values));
++ NDR_PULL_ALLOC_N(ndr, r->in.values, size_values_1);
+ }
+- memcpy(r->out.values, r->in.values, ndr_get_array_size(ndr, &r->in.values) * sizeof(*r->in.values));
++ memcpy(r->out.values, r->in.values, size_values_1 * sizeof(*r->in.values));
+ _mem_save_values_1 = NDR_PULL_GET_MEM_CTX(ndr);
+ NDR_PULL_SET_MEM_CTX(ndr, r->in.values, 0);
+- for (cntr_values_1 = 0; cntr_values_1 < r->in.num_values; cntr_values_1++) {
++ for (cntr_values_1 = 0; cntr_values_1 < length_values_1; cntr_values_1++) {
+ NDR_CHECK(ndr_pull_QueryMultipleValue(ndr, NDR_SCALARS, &r->in.values[cntr_values_1]));
+ }
+- for (cntr_values_1 = 0; cntr_values_1 < r->in.num_values; cntr_values_1++) {
++ for (cntr_values_1 = 0; cntr_values_1 < length_values_1; cntr_values_1++) {
+ NDR_CHECK(ndr_pull_QueryMultipleValue(ndr, NDR_BUFFERS, &r->in.values[cntr_values_1]));
+ }
+ NDR_PULL_SET_MEM_CTX(ndr, _mem_save_values_1, 0);
+@@ -3698,11 +3734,13 @@ static enum ndr_err_code ndr_pull_winreg_QueryMultipleValues(struct ndr_pull *nd
+ NDR_PULL_SET_MEM_CTX(ndr, r->in.buffer, 0);
+ NDR_CHECK(ndr_pull_array_size(ndr, &r->in.buffer));
+ NDR_CHECK(ndr_pull_array_length(ndr, &r->in.buffer));
+- if (ndr_get_array_length(ndr, &r->in.buffer) > ndr_get_array_size(ndr, &r->in.buffer)) {
+- return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.buffer), ndr_get_array_length(ndr, &r->in.buffer));
++ size_buffer_1 = ndr_get_array_size(ndr, &r->in.buffer);
++ length_buffer_1 = ndr_get_array_length(ndr, &r->in.buffer);
++ if (length_buffer_1 > size_buffer_1) {
++ return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_buffer_1, length_buffer_1);
+ }
+- NDR_PULL_ALLOC_N(ndr, r->in.buffer, ndr_get_array_size(ndr, &r->in.buffer));
+- NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->in.buffer, ndr_get_array_length(ndr, &r->in.buffer)));
++ NDR_PULL_ALLOC_N(ndr, r->in.buffer, size_buffer_1);
++ NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->in.buffer, length_buffer_1));
+ NDR_PULL_SET_MEM_CTX(ndr, _mem_save_buffer_0, 0);
+ }
+ if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
+@@ -3732,19 +3770,21 @@ static enum ndr_err_code ndr_pull_winreg_QueryMultipleValues(struct ndr_pull *nd
+ if (flags & NDR_OUT) {
+ NDR_CHECK(ndr_pull_array_size(ndr, &r->out.values));
+ NDR_CHECK(ndr_pull_array_length(ndr, &r->out.values));
+- if (ndr_get_array_length(ndr, &r->out.values) > ndr_get_array_size(ndr, &r->out.values)) {
+- return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->out.values), ndr_get_array_length(ndr, &r->out.values));
++ size_values_1 = ndr_get_array_size(ndr, &r->out.values);
++ length_values_1 = ndr_get_array_length(ndr, &r->out.values);
++ if (length_values_1 > size_values_1) {
++ return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_values_1, length_values_1);
+ }
+ if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
+- NDR_PULL_ALLOC_N(ndr, r->out.values, ndr_get_array_size(ndr, &r->out.values));
++ NDR_PULL_ALLOC_N(ndr, r->out.values, size_values_1);
+ }
+- memcpy(r->out.values, r->in.values, ndr_get_array_size(ndr, &r->out.values) * sizeof(*r->in.values));
++ memcpy(r->out.values, r->in.values, size_values_1 * sizeof(*r->in.values));
+ _mem_save_values_1 = NDR_PULL_GET_MEM_CTX(ndr);
+ NDR_PULL_SET_MEM_CTX(ndr, r->out.values, 0);
+- for (cntr_values_1 = 0; cntr_values_1 < r->in.num_values; cntr_values_1++) {
++ for (cntr_values_1 = 0; cntr_values_1 < length_values_1; cntr_values_1++) {
+ NDR_CHECK(ndr_pull_QueryMultipleValue(ndr, NDR_SCALARS, &r->out.values[cntr_values_1]));
+ }
+- for (cntr_values_1 = 0; cntr_values_1 < r->in.num_values; cntr_values_1++) {
++ for (cntr_values_1 = 0; cntr_values_1 < length_values_1; cntr_values_1++) {
+ NDR_CHECK(ndr_pull_QueryMultipleValue(ndr, NDR_BUFFERS, &r->out.values[cntr_values_1]));
+ }
+ NDR_PULL_SET_MEM_CTX(ndr, _mem_save_values_1, 0);
+@@ -3759,11 +3799,13 @@ static enum ndr_err_code ndr_pull_winreg_QueryMultipleValues(struct ndr_pull *nd
+ NDR_PULL_SET_MEM_CTX(ndr, r->out.buffer, 0);
+ NDR_CHECK(ndr_pull_array_size(ndr, &r->out.buffer));
+ NDR_CHECK(ndr_pull_array_length(ndr, &r->out.buffer));
+- if (ndr_get_array_length(ndr, &r->out.buffer) > ndr_get_array_size(ndr, &r->out.buffer)) {
+- return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->out.buffer), ndr_get_array_length(ndr, &r->out.buffer));
++ size_buffer_1 = ndr_get_array_size(ndr, &r->out.buffer);
++ length_buffer_1 = ndr_get_array_length(ndr, &r->out.buffer);
++ if (length_buffer_1 > size_buffer_1) {
++ return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_buffer_1, length_buffer_1);
+ }
+- NDR_PULL_ALLOC_N(ndr, r->out.buffer, ndr_get_array_size(ndr, &r->out.buffer));
+- NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->out.buffer, ndr_get_array_length(ndr, &r->out.buffer)));
++ NDR_PULL_ALLOC_N(ndr, r->out.buffer, size_buffer_1);
++ NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->out.buffer, length_buffer_1));
+ NDR_PULL_SET_MEM_CTX(ndr, _mem_save_buffer_0, 0);
+ }
+ if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
+diff --git a/source/librpc/gen_ndr/ndr_wkssvc.c b/source/librpc/gen_ndr/ndr_wkssvc.c
+index 10e5e55..d884bac 100644
+--- a/source/librpc/gen_ndr/ndr_wkssvc.c
++++ b/source/librpc/gen_ndr/ndr_wkssvc.c
+@@ -35,8 +35,12 @@ static enum ndr_err_code ndr_push_wkssvc_NetWkstaInfo100(struct ndr_push *ndr, i
+ static enum ndr_err_code ndr_pull_wkssvc_NetWkstaInfo100(struct ndr_pull *ndr, int ndr_flags, struct wkssvc_NetWkstaInfo100 *r)
+ {
+ uint32_t _ptr_server_name;
++ uint32_t size_server_name_1 = 0;
++ uint32_t length_server_name_1 = 0;
+ TALLOC_CTX *_mem_save_server_name_0;
+ uint32_t _ptr_domain_name;
++ uint32_t size_domain_name_1 = 0;
++ uint32_t length_domain_name_1 = 0;
+ TALLOC_CTX *_mem_save_domain_name_0;
+ if (ndr_flags & NDR_SCALARS) {
+ NDR_CHECK(ndr_pull_align(ndr, 4));
+@@ -62,11 +66,13 @@ static enum ndr_err_code ndr_pull_wkssvc_NetWkstaInfo100(struct ndr_pull *ndr, i
+ NDR_PULL_SET_MEM_CTX(ndr, r->server_name, 0);
+ NDR_CHECK(ndr_pull_array_size(ndr, &r->server_name));
+ NDR_CHECK(ndr_pull_array_length(ndr, &r->server_name));
+- if (ndr_get_array_length(ndr, &r->server_name) > ndr_get_array_size(ndr, &r->server_name)) {
+- return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->server_name), ndr_get_array_length(ndr, &r->server_name));
++ size_server_name_1 = ndr_get_array_size(ndr, &r->server_name);
++ length_server_name_1 = ndr_get_array_length(ndr, &r->server_name);
++ if (length_server_name_1 > size_server_name_1) {
++ return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_server_name_1, length_server_name_1);
+ }
+- NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->server_name), sizeof(uint16_t)));
+- NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->server_name, ndr_get_array_length(ndr, &r->server_name), sizeof(uint16_t), CH_UTF16));
++ NDR_CHECK(ndr_check_string_terminator(ndr, length_server_name_1, sizeof(uint16_t)));
++ NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->server_name, length_server_name_1, sizeof(uint16_t), CH_UTF16));
+ NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_name_0, 0);
+ }
+ if (r->domain_name) {
+@@ -74,11 +80,13 @@ static enum ndr_err_code ndr_pull_wkssvc_NetWkstaInfo100(struct ndr_pull *ndr, i
+ NDR_PULL_SET_MEM_CTX(ndr, r->domain_name, 0);
+ NDR_CHECK(ndr_pull_array_size(ndr, &r->domain_name));
+ NDR_CHECK(ndr_pull_array_length(ndr, &r->domain_name));
+- if (ndr_get_array_length(ndr, &r->domain_name) > ndr_get_array_size(ndr, &r->domain_name)) {
+- return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->domain_name), ndr_get_array_length(ndr, &r->domain_name));
++ size_domain_name_1 = ndr_get_array_size(ndr, &r->domain_name);
++ length_domain_name_1 = ndr_get_array_length(ndr, &r->domain_name);
++ if (length_domain_name_1 > size_domain_name_1) {
++ return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_domain_name_1, length_domain_name_1);
+ }
+- NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->domain_name), sizeof(uint16_t)));
+- NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->domain_name, ndr_get_array_length(ndr, &r->domain_name), sizeof(uint16_t), CH_UTF16));
++ NDR_CHECK(ndr_check_string_terminator(ndr, length_domain_name_1, sizeof(uint16_t)));
++ NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->domain_name, length_domain_name_1, sizeof(uint16_t), CH_UTF16));
+ NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_name_0, 0);
+ }
+ }
+@@ -144,10 +152,16 @@ static enum ndr_err_code ndr_push_wkssvc_NetWkstaInfo101(struct ndr_push *ndr, i
+ static enum ndr_err_code ndr_pull_wkssvc_NetWkstaInfo101(struct ndr_pull *ndr, int ndr_flags, struct wkssvc_NetWkstaInfo101 *r)
+ {
+ uint32_t _ptr_server_name;
++ uint32_t size_server_name_1 = 0;
++ uint32_t length_server_name_1 = 0;
+ TALLOC_CTX *_mem_save_server_name_0;
+ uint32_t _ptr_domain_name;
++ uint32_t size_domain_name_1 = 0;
++ uint32_t length_domain_name_1 = 0;
+ TALLOC_CTX *_mem_save_domain_name_0;
+ uint32_t _ptr_lan_root;
++ uint32_t size_lan_root_1 = 0;
++ uint32_t length_lan_root_1 = 0;
+ TALLOC_CTX *_mem_save_lan_root_0;
+ if (ndr_flags & NDR_SCALARS) {
+ NDR_CHECK(ndr_pull_align(ndr, 4));
+@@ -179,11 +193,13 @@ static enum ndr_err_code ndr_pull_wkssvc_NetWkstaInfo101(struct ndr_pull *ndr, i
+ NDR_PULL_SET_MEM_CTX(ndr, r->server_name, 0);
+ NDR_CHECK(ndr_pull_array_size(ndr, &r->server_name));
+ NDR_CHECK(ndr_pull_array_length(ndr, &r->server_name));
+- if (ndr_get_array_length(ndr, &r->server_name) > ndr_get_array_size(ndr, &r->server_name)) {
+- return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->server_name), ndr_get_array_length(ndr, &r->server_name));
++ size_server_name_1 = ndr_get_array_size(ndr, &r->server_name);
++ length_server_name_1 = ndr_get_array_length(ndr, &r->server_name);
++ if (length_server_name_1 > size_server_name_1) {
++ return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_server_name_1, length_server_name_1);
+ }
+- NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->server_name), sizeof(uint16_t)));
+- NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->server_name, ndr_get_array_length(ndr, &r->server_name), sizeof(uint16_t), CH_UTF16));
++ NDR_CHECK(ndr_check_string_terminator(ndr, length_server_name_1, sizeof(uint16_t)));
++ NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->server_name, length_server_name_1, sizeof(uint16_t), CH_UTF16));
+ NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_name_0, 0);
+ }
+ if (r->domain_name) {
+@@ -191,11 +207,13 @@ static enum ndr_err_code ndr_pull_wkssvc_NetWkstaInfo101(struct ndr_pull *ndr, i
+ NDR_PULL_SET_MEM_CTX(ndr, r->domain_name, 0);
+ NDR_CHECK(ndr_pull_array_size(ndr, &r->domain_name));
+ NDR_CHECK(ndr_pull_array_length(ndr, &r->domain_name));
+- if (ndr_get_array_length(ndr, &r->domain_name) > ndr_get_array_size(ndr, &r->domain_name)) {
+- return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->domain_name), ndr_get_array_length(ndr, &r->domain_name));
++ size_domain_name_1 = ndr_get_array_size(ndr, &r->domain_name);
++ length_domain_name_1 = ndr_get_array_length(ndr, &r->domain_name);
++ if (length_domain_name_1 > size_domain_name_1) {
++ return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_domain_name_1, length_domain_name_1);
+ }
+- NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->domain_name), sizeof(uint16_t)));
+- NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->domain_name, ndr_get_array_length(ndr, &r->domain_name), sizeof(uint16_t), CH_UTF16));
++ NDR_CHECK(ndr_check_string_terminator(ndr, length_domain_name_1, sizeof(uint16_t)));
++ NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->domain_name, length_domain_name_1, sizeof(uint16_t), CH_UTF16));
+ NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_name_0, 0);
+ }
+ if (r->lan_root) {
+@@ -203,11 +221,13 @@ static enum ndr_err_code ndr_pull_wkssvc_NetWkstaInfo101(struct ndr_pull *ndr, i
+ NDR_PULL_SET_MEM_CTX(ndr, r->lan_root, 0);
+ NDR_CHECK(ndr_pull_array_size(ndr, &r->lan_root));
+ NDR_CHECK(ndr_pull_array_length(ndr, &r->lan_root));
+- if (ndr_get_array_length(ndr, &r->lan_root) > ndr_get_array_size(ndr, &r->lan_root)) {
+- return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->lan_root), ndr_get_array_length(ndr, &r->lan_root));
++ size_lan_root_1 = ndr_get_array_size(ndr, &r->lan_root);
++ length_lan_root_1 = ndr_get_array_length(ndr, &r->lan_root);
++ if (length_lan_root_1 > size_lan_root_1) {
++ return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_lan_root_1, length_lan_root_1);
+ }
+- NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->lan_root), sizeof(uint16_t)));
+- NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->lan_root, ndr_get_array_length(ndr, &r->lan_root), sizeof(uint16_t), CH_UTF16));
++ NDR_CHECK(ndr_check_string_terminator(ndr, length_lan_root_1, sizeof(uint16_t)));
++ NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->lan_root, length_lan_root_1, sizeof(uint16_t), CH_UTF16));
+ NDR_PULL_SET_MEM_CTX(ndr, _mem_save_lan_root_0, 0);
+ }
+ }
+@@ -280,10 +300,16 @@ static enum ndr_err_code ndr_push_wkssvc_NetWkstaInfo102(struct ndr_push *ndr, i
+ static enum ndr_err_code ndr_pull_wkssvc_NetWkstaInfo102(struct ndr_pull *ndr, int ndr_flags, struct wkssvc_NetWkstaInfo102 *r)
+ {
+ uint32_t _ptr_server_name;
++ uint32_t size_server_name_1 = 0;
++ uint32_t length_server_name_1 = 0;
+ TALLOC_CTX *_mem_save_server_name_0;
+ uint32_t _ptr_domain_name;
++ uint32_t size_domain_name_1 = 0;
++ uint32_t length_domain_name_1 = 0;
+ TALLOC_CTX *_mem_save_domain_name_0;
+ uint32_t _ptr_lan_root;
++ uint32_t size_lan_root_1 = 0;
++ uint32_t length_lan_root_1 = 0;
+ TALLOC_CTX *_mem_save_lan_root_0;
+ if (ndr_flags & NDR_SCALARS) {
+ NDR_CHECK(ndr_pull_align(ndr, 4));
+@@ -316,11 +342,13 @@ static enum ndr_err_code ndr_pull_wkssvc_NetWkstaInfo102(struct ndr_pull *ndr, i
+ NDR_PULL_SET_MEM_CTX(ndr, r->server_name, 0);
+ NDR_CHECK(ndr_pull_array_size(ndr, &r->server_name));
+ NDR_CHECK(ndr_pull_array_length(ndr, &r->server_name));
+- if (ndr_get_array_length(ndr, &r->server_name) > ndr_get_array_size(ndr, &r->server_name)) {
+- return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->server_name), ndr_get_array_length(ndr, &r->server_name));
++ size_server_name_1 = ndr_get_array_size(ndr, &r->server_name);
++ length_server_name_1 = ndr_get_array_length(ndr, &r->server_name);
++ if (length_server_name_1 > size_server_name_1) {
++ return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_server_name_1, length_server_name_1);
+ }
+- NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->server_name), sizeof(uint16_t)));
+- NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->server_name, ndr_get_array_length(ndr, &r->server_name), sizeof(uint16_t), CH_UTF16));
++ NDR_CHECK(ndr_check_string_terminator(ndr, length_server_name_1, sizeof(uint16_t)));
++ NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->server_name, length_server_name_1, sizeof(uint16_t), CH_UTF16));
+ NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_name_0, 0);
+ }
+ if (r->domain_name) {
+@@ -328,11 +356,13 @@ static enum ndr_err_code ndr_pull_wkssvc_NetWkstaInfo102(struct ndr_pull *ndr, i
+ NDR_PULL_SET_MEM_CTX(ndr, r->domain_name, 0);
+ NDR_CHECK(ndr_pull_array_size(ndr, &r->domain_name));
+ NDR_CHECK(ndr_pull_array_length(ndr, &r->domain_name));
+- if (ndr_get_array_length(ndr, &r->domain_name) > ndr_get_array_size(ndr, &r->domain_name)) {
+- return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->domain_name), ndr_get_array_length(ndr, &r->domain_name));
++ size_domain_name_1 = ndr_get_array_size(ndr, &r->domain_name);
++ length_domain_name_1 = ndr_get_array_length(ndr, &r->domain_name);
++ if (length_domain_name_1 > size_domain_name_1) {
++ return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_domain_name_1, length_domain_name_1);
+ }
+- NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->domain_name), sizeof(uint16_t)));
+- NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->domain_name, ndr_get_array_length(ndr, &r->domain_name), sizeof(uint16_t), CH_UTF16));
++ NDR_CHECK(ndr_check_string_terminator(ndr, length_domain_name_1, sizeof(uint16_t)));
++ NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->domain_name, length_domain_name_1, sizeof(uint16_t), CH_UTF16));
+ NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_name_0, 0);
+ }
+ if (r->lan_root) {
+@@ -340,11 +370,13 @@ static enum ndr_err_code ndr_pull_wkssvc_NetWkstaInfo102(struct ndr_pull *ndr, i
+ NDR_PULL_SET_MEM_CTX(ndr, r->lan_root, 0);
+ NDR_CHECK(ndr_pull_array_size(ndr, &r->lan_root));
+ NDR_CHECK(ndr_pull_array_length(ndr, &r->lan_root));
+- if (ndr_get_array_length(ndr, &r->lan_root) > ndr_get_array_size(ndr, &r->lan_root)) {
+- return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->lan_root), ndr_get_array_length(ndr, &r->lan_root));
++ size_lan_root_1 = ndr_get_array_size(ndr, &r->lan_root);
++ length_lan_root_1 = ndr_get_array_length(ndr, &r->lan_root);
++ if (length_lan_root_1 > size_lan_root_1) {
++ return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_lan_root_1, length_lan_root_1);
+ }
+- NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->lan_root), sizeof(uint16_t)));
+- NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->lan_root, ndr_get_array_length(ndr, &r->lan_root), sizeof(uint16_t), CH_UTF16));
++ NDR_CHECK(ndr_check_string_terminator(ndr, length_lan_root_1, sizeof(uint16_t)));
++ NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->lan_root, length_lan_root_1, sizeof(uint16_t), CH_UTF16));
+ NDR_PULL_SET_MEM_CTX(ndr, _mem_save_lan_root_0, 0);
+ }
+ }
+@@ -1859,41 +1891,77 @@ static enum ndr_err_code ndr_pull_wkssvc_NetWkstaInfo(struct ndr_pull *ndr, int
+ int level;
+ uint32_t _level;
+ TALLOC_CTX *_mem_save_info100_0;
++ uint32_t _ptr_info100;
+ TALLOC_CTX *_mem_save_info101_0;
++ uint32_t _ptr_info101;
+ TALLOC_CTX *_mem_save_info102_0;
++ uint32_t _ptr_info102;
+ TALLOC_CTX *_mem_save_info502_0;
++ uint32_t _ptr_info502;
+ TALLOC_CTX *_mem_save_info1010_0;
++ uint32_t _ptr_info1010;
+ TALLOC_CTX *_mem_save_info1011_0;
++ uint32_t _ptr_info1011;
+ TALLOC_CTX *_mem_save_info1012_0;
++ uint32_t _ptr_info1012;
+ TALLOC_CTX *_mem_save_info1013_0;
++ uint32_t _ptr_info1013;
+ TALLOC_CTX *_mem_save_info1018_0;
++ uint32_t _ptr_info1018;
+ TALLOC_CTX *_mem_save_info1023_0;
++ uint32_t _ptr_info1023;
+ TALLOC_CTX *_mem_save_info1027_0;
++ uint32_t _ptr_info1027;
+ TALLOC_CTX *_mem_save_info1028_0;
++ uint32_t _ptr_info1028;
+ TALLOC_CTX *_mem_save_info1032_0;
++ uint32_t _ptr_info1032;
+ TALLOC_CTX *_mem_save_info1033_0;
++ uint32_t _ptr_info1033;
+ TALLOC_CTX *_mem_save_info1041_0;
++ uint32_t _ptr_info1041;
+ TALLOC_CTX *_mem_save_info1042_0;
++ uint32_t _ptr_info1042;
+ TALLOC_CTX *_mem_save_info1043_0;
++ uint32_t _ptr_info1043;
+ TALLOC_CTX *_mem_save_info1044_0;
++ uint32_t _ptr_info1044;
+ TALLOC_CTX *_mem_save_info1045_0;
++ uint32_t _ptr_info1045;
+ TALLOC_CTX *_mem_save_info1046_0;
++ uint32_t _ptr_info1046;
+ TALLOC_CTX *_mem_save_info1047_0;
++ uint32_t _ptr_info1047;
+ TALLOC_CTX *_mem_save_info1048_0;
++ uint32_t _ptr_info1048;
+ TALLOC_CTX *_mem_save_info1049_0;
++ uint32_t _ptr_info1049;
+ TALLOC_CTX *_mem_save_info1050_0;
++ uint32_t _ptr_info1050;
+ TALLOC_CTX *_mem_save_info1051_0;
++ uint32_t _ptr_info1051;
+ TALLOC_CTX *_mem_save_info1052_0;
++ uint32_t _ptr_info1052;
+ TALLOC_CTX *_mem_save_info1053_0;
++ uint32_t _ptr_info1053;
+ TALLOC_CTX *_mem_save_info1054_0;
++ uint32_t _ptr_info1054;
+ TALLOC_CTX *_mem_save_info1055_0;
++ uint32_t _ptr_info1055;
+ TALLOC_CTX *_mem_save_info1056_0;
++ uint32_t _ptr_info1056;
+ TALLOC_CTX *_mem_save_info1057_0;
++ uint32_t _ptr_info1057;
+ TALLOC_CTX *_mem_save_info1058_0;
++ uint32_t _ptr_info1058;
+ TALLOC_CTX *_mem_save_info1059_0;
++ uint32_t _ptr_info1059;
+ TALLOC_CTX *_mem_save_info1060_0;
++ uint32_t _ptr_info1060;
+ TALLOC_CTX *_mem_save_info1061_0;
++ uint32_t _ptr_info1061;
+ TALLOC_CTX *_mem_save_info1062_0;
++ uint32_t _ptr_info1062;
+ level = ndr_pull_get_switch_value(ndr, r);
+ if (ndr_flags & NDR_SCALARS) {
+ NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &_level));
+@@ -1902,7 +1970,6 @@ static enum ndr_err_code ndr_pull_wkssvc_NetWkstaInfo(struct ndr_pull *ndr, int
+ }
+ switch (level) {
+ case 100: {
+- uint32_t _ptr_info100;
+ NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info100));
+ if (_ptr_info100) {
+ NDR_PULL_ALLOC(ndr, r->info100);
+@@ -1912,7 +1979,6 @@ static enum ndr_err_code ndr_pull_wkssvc_NetWkstaInfo(struct ndr_pull *ndr, int
+ break; }
+
+ case 101: {
+- uint32_t _ptr_info101;
+ NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info101));
+ if (_ptr_info101) {
+ NDR_PULL_ALLOC(ndr, r->info101);
+@@ -1922,7 +1988,6 @@ static enum ndr_err_code ndr_pull_wkssvc_NetWkstaInfo(struct ndr_pull *ndr, int
+ break; }
+
+ case 102: {
+- uint32_t _ptr_info102;
+ NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info102));
+ if (_ptr_info102) {
+ NDR_PULL_ALLOC(ndr, r->info102);
+@@ -1932,7 +1997,6 @@ static enum ndr_err_code ndr_pull_wkssvc_NetWkstaInfo(struct ndr_pull *ndr, int
+ break; }
+
+ case 502: {
+- uint32_t _ptr_info502;
+ NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info502));
+ if (_ptr_info502) {
+ NDR_PULL_ALLOC(ndr, r->info502);
+@@ -1942,7 +2006,6 @@ static enum ndr_err_code ndr_pull_wkssvc_NetWkstaInfo(struct ndr_pull *ndr, int
+ break; }
+
+ case 1010: {
+- uint32_t _ptr_info1010;
+ NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info1010));
+ if (_ptr_info1010) {
+ NDR_PULL_ALLOC(ndr, r->info1010);
+@@ -1952,7 +2015,6 @@ static enum ndr_err_code ndr_pull_wkssvc_NetWkstaInfo(struct ndr_pull *ndr, int
+ break; }
+
+ case 1011: {
+- uint32_t _ptr_info1011;
+ NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info1011));
+ if (_ptr_info1011) {
+ NDR_PULL_ALLOC(ndr, r->info1011);
+@@ -1962,7 +2024,6 @@ static enum ndr_err_code ndr_pull_wkssvc_NetWkstaInfo(struct ndr_pull *ndr, int
+ break; }
+
+ case 1012: {
+- uint32_t _ptr_info1012;
+ NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info1012));
+ if (_ptr_info1012) {
+ NDR_PULL_ALLOC(ndr, r->info1012);
+@@ -1972,7 +2033,6 @@ static enum ndr_err_code ndr_pull_wkssvc_NetWkstaInfo(struct ndr_pull *ndr, int
+ break; }
+
+ case 1013: {
+- uint32_t _ptr_info1013;
+ NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info1013));
+ if (_ptr_info1013) {
+ NDR_PULL_ALLOC(ndr, r->info1013);
+@@ -1982,7 +2042,6 @@ static enum ndr_err_code ndr_pull_wkssvc_NetWkstaInfo(struct ndr_pull *ndr, int
+ break; }
+
+ case 1018: {
+- uint32_t _ptr_info1018;
+ NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info1018));
+ if (_ptr_info1018) {
+ NDR_PULL_ALLOC(ndr, r->info1018);
+@@ -1992,7 +2051,6 @@ static enum ndr_err_code ndr_pull_wkssvc_NetWkstaInfo(struct ndr_pull *ndr, int
+ break; }
+
+ case 1023: {
+- uint32_t _ptr_info1023;
+ NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info1023));
+ if (_ptr_info1023) {
+ NDR_PULL_ALLOC(ndr, r->info1023);
+@@ -2002,7 +2060,6 @@ static enum ndr_err_code ndr_pull_wkssvc_NetWkstaInfo(struct ndr_pull *ndr, int
+ break; }
+
+ case 1027: {
+- uint32_t _ptr_info1027;
+ NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info1027));
+ if (_ptr_info1027) {
+ NDR_PULL_ALLOC(ndr, r->info1027);
+@@ -2012,7 +2069,6 @@ static enum ndr_err_code ndr_pull_wkssvc_NetWkstaInfo(struct ndr_pull *ndr, int
+ break; }
+
+ case 1028: {
+- uint32_t _ptr_info1028;
+ NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info1028));
+ if (_ptr_info1028) {
+ NDR_PULL_ALLOC(ndr, r->info1028);
+@@ -2022,7 +2078,6 @@ static enum ndr_err_code ndr_pull_wkssvc_NetWkstaInfo(struct ndr_pull *ndr, int
+ break; }
+
+ case 1032: {
+- uint32_t _ptr_info1032;
+ NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info1032));
+ if (_ptr_info1032) {
+ NDR_PULL_ALLOC(ndr, r->info1032);
+@@ -2032,7 +2087,6 @@ static enum ndr_err_code ndr_pull_wkssvc_NetWkstaInfo(struct ndr_pull *ndr, int
+ break; }
+
+ case 1033: {
+- uint32_t _ptr_info1033;
+ NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info1033));
+ if (_ptr_info1033) {
+ NDR_PULL_ALLOC(ndr, r->info1033);
+@@ -2042,7 +2096,6 @@ static enum ndr_err_code ndr_pull_wkssvc_NetWkstaInfo(struct ndr_pull *ndr, int
+ break; }
+
+ case 1041: {
+- uint32_t _ptr_info1041;
+ NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info1041));
+ if (_ptr_info1041) {
+ NDR_PULL_ALLOC(ndr, r->info1041);
+@@ -2052,7 +2105,6 @@ static enum ndr_err_code ndr_pull_wkssvc_NetWkstaInfo(struct ndr_pull *ndr, int
+ break; }
+
+ case 1042: {
+- uint32_t _ptr_info1042;
+ NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info1042));
+ if (_ptr_info1042) {
+ NDR_PULL_ALLOC(ndr, r->info1042);
+@@ -2062,7 +2114,6 @@ static enum ndr_err_code ndr_pull_wkssvc_NetWkstaInfo(struct ndr_pull *ndr, int
+ break; }
+
+ case 1043: {
+- uint32_t _ptr_info1043;
+ NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info1043));
+ if (_ptr_info1043) {
+ NDR_PULL_ALLOC(ndr, r->info1043);
+@@ -2072,7 +2123,6 @@ static enum ndr_err_code ndr_pull_wkssvc_NetWkstaInfo(struct ndr_pull *ndr, int
+ break; }
+
+ case 1044: {
+- uint32_t _ptr_info1044;
+ NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info1044));
+ if (_ptr_info1044) {
+ NDR_PULL_ALLOC(ndr, r->info1044);
+@@ -2082,7 +2132,6 @@ static enum ndr_err_code ndr_pull_wkssvc_NetWkstaInfo(struct ndr_pull *ndr, int
+ break; }
+
+ case 1045: {
+- uint32_t _ptr_info1045;
+ NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info1045));
+ if (_ptr_info1045) {
+ NDR_PULL_ALLOC(ndr, r->info1045);
+@@ -2092,7 +2141,6 @@ static enum ndr_err_code ndr_pull_wkssvc_NetWkstaInfo(struct ndr_pull *ndr, int
+ break; }
+
+ case 1046: {
+- uint32_t _ptr_info1046;
+ NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info1046));
+ if (_ptr_info1046) {
+ NDR_PULL_ALLOC(ndr, r->info1046);
+@@ -2102,7 +2150,6 @@ static enum ndr_err_code ndr_pull_wkssvc_NetWkstaInfo(struct ndr_pull *ndr, int
+ break; }
+
+ case 1047: {
+- uint32_t _ptr_info1047;
+ NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info1047));
+ if (_ptr_info1047) {
+ NDR_PULL_ALLOC(ndr, r->info1047);
+@@ -2112,7 +2159,6 @@ static enum ndr_err_code ndr_pull_wkssvc_NetWkstaInfo(struct ndr_pull *ndr, int
+ break; }
+
+ case 1048: {
+- uint32_t _ptr_info1048;
+ NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info1048));
+ if (_ptr_info1048) {
+ NDR_PULL_ALLOC(ndr, r->info1048);
+@@ -2122,7 +2168,6 @@ static enum ndr_err_code ndr_pull_wkssvc_NetWkstaInfo(struct ndr_pull *ndr, int
+ break; }
+
+ case 1049: {
+- uint32_t _ptr_info1049;
+ NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info1049));
+ if (_ptr_info1049) {
+ NDR_PULL_ALLOC(ndr, r->info1049);
+@@ -2132,7 +2177,6 @@ static enum ndr_err_code ndr_pull_wkssvc_NetWkstaInfo(struct ndr_pull *ndr, int
+ break; }
+
+ case 1050: {
+- uint32_t _ptr_info1050;
+ NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info1050));
+ if (_ptr_info1050) {
+ NDR_PULL_ALLOC(ndr, r->info1050);
+@@ -2142,7 +2186,6 @@ static enum ndr_err_code ndr_pull_wkssvc_NetWkstaInfo(struct ndr_pull *ndr, int
+ break; }
+
+ case 1051: {
+- uint32_t _ptr_info1051;
+ NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info1051));
+ if (_ptr_info1051) {
+ NDR_PULL_ALLOC(ndr, r->info1051);
+@@ -2152,7 +2195,6 @@ static enum ndr_err_code ndr_pull_wkssvc_NetWkstaInfo(struct ndr_pull *ndr, int
+ break; }
+
+ case 1052: {
+- uint32_t _ptr_info1052;
+ NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info1052));
+ if (_ptr_info1052) {
+ NDR_PULL_ALLOC(ndr, r->info1052);
+@@ -2162,7 +2204,6 @@ static enum ndr_err_code ndr_pull_wkssvc_NetWkstaInfo(struct ndr_pull *ndr, int
+ break; }
+
+ case 1053: {
+- uint32_t _ptr_info1053;
+ NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info1053));
+ if (_ptr_info1053) {
+ NDR_PULL_ALLOC(ndr, r->info1053);
+@@ -2172,7 +2213,6 @@ static enum ndr_err_code ndr_pull_wkssvc_NetWkstaInfo(struct ndr_pull *ndr, int
+ break; }
+
+ case 1054: {
+- uint32_t _ptr_info1054;
+ NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info1054));
+ if (_ptr_info1054) {
+ NDR_PULL_ALLOC(ndr, r->info1054);
+@@ -2182,7 +2222,6 @@ static enum ndr_err_code ndr_pull_wkssvc_NetWkstaInfo(struct ndr_pull *ndr, int
+ break; }
+
+ case 1055: {
+- uint32_t _ptr_info1055;
+ NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info1055));
+ if (_ptr_info1055) {
+ NDR_PULL_ALLOC(ndr, r->info1055);
+@@ -2192,7 +2231,6 @@ static enum ndr_err_code ndr_pull_wkssvc_NetWkstaInfo(struct ndr_pull *ndr, int
+ break; }
+
+ case 1056: {
+- uint32_t _ptr_info1056;
+ NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info1056));
+ if (_ptr_info1056) {
+ NDR_PULL_ALLOC(ndr, r->info1056);
+@@ -2202,7 +2240,6 @@ static enum ndr_err_code ndr_pull_wkssvc_NetWkstaInfo(struct ndr_pull *ndr, int
+ break; }
+
+ case 1057: {
+- uint32_t _ptr_info1057;
+ NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info1057));
+ if (_ptr_info1057) {
+ NDR_PULL_ALLOC(ndr, r->info1057);
+@@ -2212,7 +2249,6 @@ static enum ndr_err_code ndr_pull_wkssvc_NetWkstaInfo(struct ndr_pull *ndr, int
+ break; }
+
+ case 1058: {
+- uint32_t _ptr_info1058;
+ NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info1058));
+ if (_ptr_info1058) {
+ NDR_PULL_ALLOC(ndr, r->info1058);
+@@ -2222,7 +2258,6 @@ static enum ndr_err_code ndr_pull_wkssvc_NetWkstaInfo(struct ndr_pull *ndr, int
+ break; }
+
+ case 1059: {
+- uint32_t _ptr_info1059;
+ NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info1059));
+ if (_ptr_info1059) {
+ NDR_PULL_ALLOC(ndr, r->info1059);
+@@ -2232,7 +2267,6 @@ static enum ndr_err_code ndr_pull_wkssvc_NetWkstaInfo(struct ndr_pull *ndr, int
+ break; }
+
+ case 1060: {
+- uint32_t _ptr_info1060;
+ NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info1060));
+ if (_ptr_info1060) {
+ NDR_PULL_ALLOC(ndr, r->info1060);
+@@ -2242,7 +2276,6 @@ static enum ndr_err_code ndr_pull_wkssvc_NetWkstaInfo(struct ndr_pull *ndr, int
+ break; }
+
+ case 1061: {
+- uint32_t _ptr_info1061;
+ NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info1061));
+ if (_ptr_info1061) {
+ NDR_PULL_ALLOC(ndr, r->info1061);
+@@ -2252,7 +2285,6 @@ static enum ndr_err_code ndr_pull_wkssvc_NetWkstaInfo(struct ndr_pull *ndr, int
+ break; }
+
+ case 1062: {
+- uint32_t _ptr_info1062;
+ NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info1062));
+ if (_ptr_info1062) {
+ NDR_PULL_ALLOC(ndr, r->info1062);
+@@ -2956,6 +2988,8 @@ static enum ndr_err_code ndr_push_wkssvc_NetrWkstaUserInfo0(struct ndr_push *ndr
+ static enum ndr_err_code ndr_pull_wkssvc_NetrWkstaUserInfo0(struct ndr_pull *ndr, int ndr_flags, struct wkssvc_NetrWkstaUserInfo0 *r)
+ {
+ uint32_t _ptr_user_name;
++ uint32_t size_user_name_1 = 0;
++ uint32_t length_user_name_1 = 0;
+ TALLOC_CTX *_mem_save_user_name_0;
+ if (ndr_flags & NDR_SCALARS) {
+ NDR_CHECK(ndr_pull_align(ndr, 4));
+@@ -2972,11 +3006,13 @@ static enum ndr_err_code ndr_pull_wkssvc_NetrWkstaUserInfo0(struct ndr_pull *ndr
+ NDR_PULL_SET_MEM_CTX(ndr, r->user_name, 0);
+ NDR_CHECK(ndr_pull_array_size(ndr, &r->user_name));
+ NDR_CHECK(ndr_pull_array_length(ndr, &r->user_name));
+- if (ndr_get_array_length(ndr, &r->user_name) > ndr_get_array_size(ndr, &r->user_name)) {
+- return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->user_name), ndr_get_array_length(ndr, &r->user_name));
++ size_user_name_1 = ndr_get_array_size(ndr, &r->user_name);
++ length_user_name_1 = ndr_get_array_length(ndr, &r->user_name);
++ if (length_user_name_1 > size_user_name_1) {
++ return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_user_name_1, length_user_name_1);
+ }
+- NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->user_name), sizeof(uint16_t)));
+- NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->user_name, ndr_get_array_length(ndr, &r->user_name), sizeof(uint16_t), CH_UTF16));
++ NDR_CHECK(ndr_check_string_terminator(ndr, length_user_name_1, sizeof(uint16_t)));
++ NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->user_name, length_user_name_1, sizeof(uint16_t), CH_UTF16));
+ NDR_PULL_SET_MEM_CTX(ndr, _mem_save_user_name_0, 0);
+ }
+ }
+@@ -3021,6 +3057,7 @@ static enum ndr_err_code ndr_push_wkssvc_NetWkstaEnumUsersCtr0(struct ndr_push *
+ static enum ndr_err_code ndr_pull_wkssvc_NetWkstaEnumUsersCtr0(struct ndr_pull *ndr, int ndr_flags, struct wkssvc_NetWkstaEnumUsersCtr0 *r)
+ {
+ uint32_t _ptr_user0;
++ uint32_t size_user0_1 = 0;
+ uint32_t cntr_user0_1;
+ TALLOC_CTX *_mem_save_user0_0;
+ TALLOC_CTX *_mem_save_user0_1;
+@@ -3039,13 +3076,14 @@ static enum ndr_err_code ndr_pull_wkssvc_NetWkstaEnumUsersCtr0(struct ndr_pull *
+ _mem_save_user0_0 = NDR_PULL_GET_MEM_CTX(ndr);
+ NDR_PULL_SET_MEM_CTX(ndr, r->user0, 0);
+ NDR_CHECK(ndr_pull_array_size(ndr, &r->user0));
+- NDR_PULL_ALLOC_N(ndr, r->user0, ndr_get_array_size(ndr, &r->user0));
++ size_user0_1 = ndr_get_array_size(ndr, &r->user0);
++ NDR_PULL_ALLOC_N(ndr, r->user0, size_user0_1);
+ _mem_save_user0_1 = NDR_PULL_GET_MEM_CTX(ndr);
+ NDR_PULL_SET_MEM_CTX(ndr, r->user0, 0);
+- for (cntr_user0_1 = 0; cntr_user0_1 < r->entries_read; cntr_user0_1++) {
++ for (cntr_user0_1 = 0; cntr_user0_1 < size_user0_1; cntr_user0_1++) {
+ NDR_CHECK(ndr_pull_wkssvc_NetrWkstaUserInfo0(ndr, NDR_SCALARS, &r->user0[cntr_user0_1]));
+ }
+- for (cntr_user0_1 = 0; cntr_user0_1 < r->entries_read; cntr_user0_1++) {
++ for (cntr_user0_1 = 0; cntr_user0_1 < size_user0_1; cntr_user0_1++) {
+ NDR_CHECK(ndr_pull_wkssvc_NetrWkstaUserInfo0(ndr, NDR_BUFFERS, &r->user0[cntr_user0_1]));
+ }
+ NDR_PULL_SET_MEM_CTX(ndr, _mem_save_user0_1, 0);
+@@ -3123,12 +3161,20 @@ static enum ndr_err_code ndr_push_wkssvc_NetrWkstaUserInfo1(struct ndr_push *ndr
+ static enum ndr_err_code ndr_pull_wkssvc_NetrWkstaUserInfo1(struct ndr_pull *ndr, int ndr_flags, struct wkssvc_NetrWkstaUserInfo1 *r)
+ {
+ uint32_t _ptr_user_name;
++ uint32_t size_user_name_1 = 0;
++ uint32_t length_user_name_1 = 0;
+ TALLOC_CTX *_mem_save_user_name_0;
+ uint32_t _ptr_logon_domain;
++ uint32_t size_logon_domain_1 = 0;
++ uint32_t length_logon_domain_1 = 0;
+ TALLOC_CTX *_mem_save_logon_domain_0;
+ uint32_t _ptr_other_domains;
++ uint32_t size_other_domains_1 = 0;
++ uint32_t length_other_domains_1 = 0;
+ TALLOC_CTX *_mem_save_other_domains_0;
+ uint32_t _ptr_logon_server;
++ uint32_t size_logon_server_1 = 0;
++ uint32_t length_logon_server_1 = 0;
+ TALLOC_CTX *_mem_save_logon_server_0;
+ if (ndr_flags & NDR_SCALARS) {
+ NDR_CHECK(ndr_pull_align(ndr, 4));
+@@ -3163,11 +3209,13 @@ static enum ndr_err_code ndr_pull_wkssvc_NetrWkstaUserInfo1(struct ndr_pull *ndr
+ NDR_PULL_SET_MEM_CTX(ndr, r->user_name, 0);
+ NDR_CHECK(ndr_pull_array_size(ndr, &r->user_name));
+ NDR_CHECK(ndr_pull_array_length(ndr, &r->user_name));
+- if (ndr_get_array_length(ndr, &r->user_name) > ndr_get_array_size(ndr, &r->user_name)) {
+- return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->user_name), ndr_get_array_length(ndr, &r->user_name));
++ size_user_name_1 = ndr_get_array_size(ndr, &r->user_name);
++ length_user_name_1 = ndr_get_array_length(ndr, &r->user_name);
++ if (length_user_name_1 > size_user_name_1) {
++ return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_user_name_1, length_user_name_1);
+ }
+- NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->user_name), sizeof(uint16_t)));
+- NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->user_name, ndr_get_array_length(ndr, &r->user_name), sizeof(uint16_t), CH_UTF16));
++ NDR_CHECK(ndr_check_string_terminator(ndr, length_user_name_1, sizeof(uint16_t)));
++ NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->user_name, length_user_name_1, sizeof(uint16_t), CH_UTF16));
+ NDR_PULL_SET_MEM_CTX(ndr, _mem_save_user_name_0, 0);
+ }
+ if (r->logon_domain) {
+@@ -3175,11 +3223,13 @@ static enum ndr_err_code ndr_pull_wkssvc_NetrWkstaUserInfo1(struct ndr_pull *ndr
+ NDR_PULL_SET_MEM_CTX(ndr, r->logon_domain, 0);
+ NDR_CHECK(ndr_pull_array_size(ndr, &r->logon_domain));
+ NDR_CHECK(ndr_pull_array_length(ndr, &r->logon_domain));
+- if (ndr_get_array_length(ndr, &r->logon_domain) > ndr_get_array_size(ndr, &r->logon_domain)) {
+- return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->logon_domain), ndr_get_array_length(ndr, &r->logon_domain));
++ size_logon_domain_1 = ndr_get_array_size(ndr, &r->logon_domain);
++ length_logon_domain_1 = ndr_get_array_length(ndr, &r->logon_domain);
++ if (length_logon_domain_1 > size_logon_domain_1) {
++ return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_logon_domain_1, length_logon_domain_1);
+ }
+- NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->logon_domain), sizeof(uint16_t)));
+- NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->logon_domain, ndr_get_array_length(ndr, &r->logon_domain), sizeof(uint16_t), CH_UTF16));
++ NDR_CHECK(ndr_check_string_terminator(ndr, length_logon_domain_1, sizeof(uint16_t)));
++ NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->logon_domain, length_logon_domain_1, sizeof(uint16_t), CH_UTF16));
+ NDR_PULL_SET_MEM_CTX(ndr, _mem_save_logon_domain_0, 0);
+ }
+ if (r->other_domains) {
+@@ -3187,11 +3237,13 @@ static enum ndr_err_code ndr_pull_wkssvc_NetrWkstaUserInfo1(struct ndr_pull *ndr
+ NDR_PULL_SET_MEM_CTX(ndr, r->other_domains, 0);
+ NDR_CHECK(ndr_pull_array_size(ndr, &r->other_domains));
+ NDR_CHECK(ndr_pull_array_length(ndr, &r->other_domains));
+- if (ndr_get_array_length(ndr, &r->other_domains) > ndr_get_array_size(ndr, &r->other_domains)) {
+- return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->other_domains), ndr_get_array_length(ndr, &r->other_domains));
++ size_other_domains_1 = ndr_get_array_size(ndr, &r->other_domains);
++ length_other_domains_1 = ndr_get_array_length(ndr, &r->other_domains);
++ if (length_other_domains_1 > size_other_domains_1) {
++ return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_other_domains_1, length_other_domains_1);
+ }
+- NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->other_domains), sizeof(uint16_t)));
+- NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->other_domains, ndr_get_array_length(ndr, &r->other_domains), sizeof(uint16_t), CH_UTF16));
++ NDR_CHECK(ndr_check_string_terminator(ndr, length_other_domains_1, sizeof(uint16_t)));
++ NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->other_domains, length_other_domains_1, sizeof(uint16_t), CH_UTF16));
+ NDR_PULL_SET_MEM_CTX(ndr, _mem_save_other_domains_0, 0);
+ }
+ if (r->logon_server) {
+@@ -3199,11 +3251,13 @@ static enum ndr_err_code ndr_pull_wkssvc_NetrWkstaUserInfo1(struct ndr_pull *ndr
+ NDR_PULL_SET_MEM_CTX(ndr, r->logon_server, 0);
+ NDR_CHECK(ndr_pull_array_size(ndr, &r->logon_server));
+ NDR_CHECK(ndr_pull_array_length(ndr, &r->logon_server));
+- if (ndr_get_array_length(ndr, &r->logon_server) > ndr_get_array_size(ndr, &r->logon_server)) {
+- return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->logon_server), ndr_get_array_length(ndr, &r->logon_server));
++ size_logon_server_1 = ndr_get_array_size(ndr, &r->logon_server);
++ length_logon_server_1 = ndr_get_array_length(ndr, &r->logon_server);
++ if (length_logon_server_1 > size_logon_server_1) {
++ return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_logon_server_1, length_logon_server_1);
+ }
+- NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->logon_server), sizeof(uint16_t)));
+- NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->logon_server, ndr_get_array_length(ndr, &r->logon_server), sizeof(uint16_t), CH_UTF16));
++ NDR_CHECK(ndr_check_string_terminator(ndr, length_logon_server_1, sizeof(uint16_t)));
++ NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->logon_server, length_logon_server_1, sizeof(uint16_t), CH_UTF16));
+ NDR_PULL_SET_MEM_CTX(ndr, _mem_save_logon_server_0, 0);
+ }
+ }
+@@ -3266,6 +3320,7 @@ static enum ndr_err_code ndr_push_wkssvc_NetWkstaEnumUsersCtr1(struct ndr_push *
+ static enum ndr_err_code ndr_pull_wkssvc_NetWkstaEnumUsersCtr1(struct ndr_pull *ndr, int ndr_flags, struct wkssvc_NetWkstaEnumUsersCtr1 *r)
+ {
+ uint32_t _ptr_user1;
++ uint32_t size_user1_1 = 0;
+ uint32_t cntr_user1_1;
+ TALLOC_CTX *_mem_save_user1_0;
+ TALLOC_CTX *_mem_save_user1_1;
+@@ -3284,13 +3339,14 @@ static enum ndr_err_code ndr_pull_wkssvc_NetWkstaEnumUsersCtr1(struct ndr_pull *
+ _mem_save_user1_0 = NDR_PULL_GET_MEM_CTX(ndr);
+ NDR_PULL_SET_MEM_CTX(ndr, r->user1, 0);
+ NDR_CHECK(ndr_pull_array_size(ndr, &r->user1));
+- NDR_PULL_ALLOC_N(ndr, r->user1, ndr_get_array_size(ndr, &r->user1));
++ size_user1_1 = ndr_get_array_size(ndr, &r->user1);
++ NDR_PULL_ALLOC_N(ndr, r->user1, size_user1_1);
+ _mem_save_user1_1 = NDR_PULL_GET_MEM_CTX(ndr);
+ NDR_PULL_SET_MEM_CTX(ndr, r->user1, 0);
+- for (cntr_user1_1 = 0; cntr_user1_1 < r->entries_read; cntr_user1_1++) {
++ for (cntr_user1_1 = 0; cntr_user1_1 < size_user1_1; cntr_user1_1++) {
+ NDR_CHECK(ndr_pull_wkssvc_NetrWkstaUserInfo1(ndr, NDR_SCALARS, &r->user1[cntr_user1_1]));
+ }
+- for (cntr_user1_1 = 0; cntr_user1_1 < r->entries_read; cntr_user1_1++) {
++ for (cntr_user1_1 = 0; cntr_user1_1 < size_user1_1; cntr_user1_1++) {
+ NDR_CHECK(ndr_pull_wkssvc_NetrWkstaUserInfo1(ndr, NDR_BUFFERS, &r->user1[cntr_user1_1]));
+ }
+ NDR_PULL_SET_MEM_CTX(ndr, _mem_save_user1_1, 0);
+@@ -3372,7 +3428,9 @@ static enum ndr_err_code ndr_pull_wkssvc_NetWkstaEnumUsersCtr(struct ndr_pull *n
+ int level;
+ uint32_t _level;
+ TALLOC_CTX *_mem_save_user0_0;
++ uint32_t _ptr_user0;
+ TALLOC_CTX *_mem_save_user1_0;
++ uint32_t _ptr_user1;
+ level = ndr_pull_get_switch_value(ndr, r);
+ if (ndr_flags & NDR_SCALARS) {
+ NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &_level));
+@@ -3381,7 +3439,6 @@ static enum ndr_err_code ndr_pull_wkssvc_NetWkstaEnumUsersCtr(struct ndr_pull *n
+ }
+ switch (level) {
+ case 0: {
+- uint32_t _ptr_user0;
+ NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_user0));
+ if (_ptr_user0) {
+ NDR_PULL_ALLOC(ndr, r->user0);
+@@ -3391,7 +3448,6 @@ static enum ndr_err_code ndr_pull_wkssvc_NetWkstaEnumUsersCtr(struct ndr_pull *n
+ break; }
+
+ case 1: {
+- uint32_t _ptr_user1;
+ NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_user1));
+ if (_ptr_user1) {
+ NDR_PULL_ALLOC(ndr, r->user1);
+@@ -3518,6 +3574,8 @@ static enum ndr_err_code ndr_push_wkssvc_NetrWkstaUserInfo1101(struct ndr_push *
+ static enum ndr_err_code ndr_pull_wkssvc_NetrWkstaUserInfo1101(struct ndr_pull *ndr, int ndr_flags, struct wkssvc_NetrWkstaUserInfo1101 *r)
+ {
+ uint32_t _ptr_other_domains;
++ uint32_t size_other_domains_1 = 0;
++ uint32_t length_other_domains_1 = 0;
+ TALLOC_CTX *_mem_save_other_domains_0;
+ if (ndr_flags & NDR_SCALARS) {
+ NDR_CHECK(ndr_pull_align(ndr, 4));
+@@ -3534,11 +3592,13 @@ static enum ndr_err_code ndr_pull_wkssvc_NetrWkstaUserInfo1101(struct ndr_pull *
+ NDR_PULL_SET_MEM_CTX(ndr, r->other_domains, 0);
+ NDR_CHECK(ndr_pull_array_size(ndr, &r->other_domains));
+ NDR_CHECK(ndr_pull_array_length(ndr, &r->other_domains));
+- if (ndr_get_array_length(ndr, &r->other_domains) > ndr_get_array_size(ndr, &r->other_domains)) {
+- return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->other_domains), ndr_get_array_length(ndr, &r->other_domains));
++ size_other_domains_1 = ndr_get_array_size(ndr, &r->other_domains);
++ length_other_domains_1 = ndr_get_array_length(ndr, &r->other_domains);
++ if (length_other_domains_1 > size_other_domains_1) {
++ return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_other_domains_1, length_other_domains_1);
+ }
+- NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->other_domains), sizeof(uint16_t)));
+- NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->other_domains, ndr_get_array_length(ndr, &r->other_domains), sizeof(uint16_t), CH_UTF16));
++ NDR_CHECK(ndr_check_string_terminator(ndr, length_other_domains_1, sizeof(uint16_t)));
++ NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->other_domains, length_other_domains_1, sizeof(uint16_t), CH_UTF16));
+ NDR_PULL_SET_MEM_CTX(ndr, _mem_save_other_domains_0, 0);
+ }
+ }
+@@ -3613,8 +3673,11 @@ static enum ndr_err_code ndr_pull_wkssvc_NetrWkstaUserInfo(struct ndr_pull *ndr,
+ int level;
+ uint32_t _level;
+ TALLOC_CTX *_mem_save_info0_0;
++ uint32_t _ptr_info0;
+ TALLOC_CTX *_mem_save_info1_0;
++ uint32_t _ptr_info1;
+ TALLOC_CTX *_mem_save_info1101_0;
++ uint32_t _ptr_info1101;
+ level = ndr_pull_get_switch_value(ndr, r);
+ if (ndr_flags & NDR_SCALARS) {
+ NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &_level));
+@@ -3623,7 +3686,6 @@ static enum ndr_err_code ndr_pull_wkssvc_NetrWkstaUserInfo(struct ndr_pull *ndr,
+ }
+ switch (level) {
+ case 0: {
+- uint32_t _ptr_info0;
+ NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info0));
+ if (_ptr_info0) {
+ NDR_PULL_ALLOC(ndr, r->info0);
+@@ -3633,7 +3695,6 @@ static enum ndr_err_code ndr_pull_wkssvc_NetrWkstaUserInfo(struct ndr_pull *ndr,
+ break; }
+
+ case 1: {
+- uint32_t _ptr_info1;
+ NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info1));
+ if (_ptr_info1) {
+ NDR_PULL_ALLOC(ndr, r->info1);
+@@ -3643,7 +3704,6 @@ static enum ndr_err_code ndr_pull_wkssvc_NetrWkstaUserInfo(struct ndr_pull *ndr,
+ break; }
+
+ case 1101: {
+- uint32_t _ptr_info1101;
+ NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info1101));
+ if (_ptr_info1101) {
+ NDR_PULL_ALLOC(ndr, r->info1101);
+@@ -3760,8 +3820,12 @@ static enum ndr_err_code ndr_push_wkssvc_NetWkstaTransportInfo0(struct ndr_push
+ static enum ndr_err_code ndr_pull_wkssvc_NetWkstaTransportInfo0(struct ndr_pull *ndr, int ndr_flags, struct wkssvc_NetWkstaTransportInfo0 *r)
+ {
+ uint32_t _ptr_name;
++ uint32_t size_name_1 = 0;
++ uint32_t length_name_1 = 0;
+ TALLOC_CTX *_mem_save_name_0;
+ uint32_t _ptr_address;
++ uint32_t size_address_1 = 0;
++ uint32_t length_address_1 = 0;
+ TALLOC_CTX *_mem_save_address_0;
+ if (ndr_flags & NDR_SCALARS) {
+ NDR_CHECK(ndr_pull_align(ndr, 4));
+@@ -3787,11 +3851,13 @@ static enum ndr_err_code ndr_pull_wkssvc_NetWkstaTransportInfo0(struct ndr_pull
+ NDR_PULL_SET_MEM_CTX(ndr, r->name, 0);
+ NDR_CHECK(ndr_pull_array_size(ndr, &r->name));
+ NDR_CHECK(ndr_pull_array_length(ndr, &r->name));
+- if (ndr_get_array_length(ndr, &r->name) > ndr_get_array_size(ndr, &r->name)) {
+- return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->name), ndr_get_array_length(ndr, &r->name));
++ size_name_1 = ndr_get_array_size(ndr, &r->name);
++ length_name_1 = ndr_get_array_length(ndr, &r->name);
++ if (length_name_1 > size_name_1) {
++ return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_name_1, length_name_1);
+ }
+- NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->name), sizeof(uint16_t)));
+- NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->name, ndr_get_array_length(ndr, &r->name), sizeof(uint16_t), CH_UTF16));
++ NDR_CHECK(ndr_check_string_terminator(ndr, length_name_1, sizeof(uint16_t)));
++ NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->name, length_name_1, sizeof(uint16_t), CH_UTF16));
+ NDR_PULL_SET_MEM_CTX(ndr, _mem_save_name_0, 0);
+ }
+ if (r->address) {
+@@ -3799,11 +3865,13 @@ static enum ndr_err_code ndr_pull_wkssvc_NetWkstaTransportInfo0(struct ndr_pull
+ NDR_PULL_SET_MEM_CTX(ndr, r->address, 0);
+ NDR_CHECK(ndr_pull_array_size(ndr, &r->address));
+ NDR_CHECK(ndr_pull_array_length(ndr, &r->address));
+- if (ndr_get_array_length(ndr, &r->address) > ndr_get_array_size(ndr, &r->address)) {
+- return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->address), ndr_get_array_length(ndr, &r->address));
++ size_address_1 = ndr_get_array_size(ndr, &r->address);
++ length_address_1 = ndr_get_array_length(ndr, &r->address);
++ if (length_address_1 > size_address_1) {
++ return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_address_1, length_address_1);
+ }
+- NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->address), sizeof(uint16_t)));
+- NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->address, ndr_get_array_length(ndr, &r->address), sizeof(uint16_t), CH_UTF16));
++ NDR_CHECK(ndr_check_string_terminator(ndr, length_address_1, sizeof(uint16_t)));
++ NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->address, length_address_1, sizeof(uint16_t), CH_UTF16));
+ NDR_PULL_SET_MEM_CTX(ndr, _mem_save_address_0, 0);
+ }
+ }
+@@ -3857,6 +3925,7 @@ static enum ndr_err_code ndr_push_wkssvc_NetWkstaTransportCtr0(struct ndr_push *
+ static enum ndr_err_code ndr_pull_wkssvc_NetWkstaTransportCtr0(struct ndr_pull *ndr, int ndr_flags, struct wkssvc_NetWkstaTransportCtr0 *r)
+ {
+ uint32_t _ptr_array;
++ uint32_t size_array_1 = 0;
+ uint32_t cntr_array_1;
+ TALLOC_CTX *_mem_save_array_0;
+ TALLOC_CTX *_mem_save_array_1;
+@@ -3875,13 +3944,14 @@ static enum ndr_err_code ndr_pull_wkssvc_NetWkstaTransportCtr0(struct ndr_pull *
+ _mem_save_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
+ NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
+ NDR_CHECK(ndr_pull_array_size(ndr, &r->array));
+- NDR_PULL_ALLOC_N(ndr, r->array, ndr_get_array_size(ndr, &r->array));
++ size_array_1 = ndr_get_array_size(ndr, &r->array);
++ NDR_PULL_ALLOC_N(ndr, r->array, size_array_1);
+ _mem_save_array_1 = NDR_PULL_GET_MEM_CTX(ndr);
+ NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
+- for (cntr_array_1 = 0; cntr_array_1 < r->count; cntr_array_1++) {
++ for (cntr_array_1 = 0; cntr_array_1 < size_array_1; cntr_array_1++) {
+ NDR_CHECK(ndr_pull_wkssvc_NetWkstaTransportInfo0(ndr, NDR_SCALARS, &r->array[cntr_array_1]));
+ }
+- for (cntr_array_1 = 0; cntr_array_1 < r->count; cntr_array_1++) {
++ for (cntr_array_1 = 0; cntr_array_1 < size_array_1; cntr_array_1++) {
+ NDR_CHECK(ndr_pull_wkssvc_NetWkstaTransportInfo0(ndr, NDR_BUFFERS, &r->array[cntr_array_1]));
+ }
+ NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_1, 0);
+@@ -3953,6 +4023,7 @@ static enum ndr_err_code ndr_pull_wkssvc_NetWkstaTransportCtr(struct ndr_pull *n
+ int level;
+ uint32_t _level;
+ TALLOC_CTX *_mem_save_ctr0_0;
++ uint32_t _ptr_ctr0;
+ level = ndr_pull_get_switch_value(ndr, r);
+ if (ndr_flags & NDR_SCALARS) {
+ NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &_level));
+@@ -3961,7 +4032,6 @@ static enum ndr_err_code ndr_pull_wkssvc_NetWkstaTransportCtr(struct ndr_pull *n
+ }
+ switch (level) {
+ case 0: {
+- uint32_t _ptr_ctr0;
+ NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_ctr0));
+ if (_ptr_ctr0) {
+ NDR_PULL_ALLOC(ndr, r->ctr0);
+@@ -4077,8 +4147,12 @@ static enum ndr_err_code ndr_push_wkssvc_NetrUseInfo3(struct ndr_push *ndr, int
+ static enum ndr_err_code ndr_pull_wkssvc_NetrUseInfo3(struct ndr_pull *ndr, int ndr_flags, struct wkssvc_NetrUseInfo3 *r)
+ {
+ uint32_t _ptr_unknown1;
++ uint32_t size_unknown1_1 = 0;
++ uint32_t length_unknown1_1 = 0;
+ TALLOC_CTX *_mem_save_unknown1_0;
+ uint32_t _ptr_unknown2;
++ uint32_t size_unknown2_1 = 0;
++ uint32_t length_unknown2_1 = 0;
+ TALLOC_CTX *_mem_save_unknown2_0;
+ if (ndr_flags & NDR_SCALARS) {
+ NDR_CHECK(ndr_pull_align(ndr, 4));
+@@ -4101,11 +4175,13 @@ static enum ndr_err_code ndr_pull_wkssvc_NetrUseInfo3(struct ndr_pull *ndr, int
+ NDR_PULL_SET_MEM_CTX(ndr, r->unknown1, 0);
+ NDR_CHECK(ndr_pull_array_size(ndr, &r->unknown1));
+ NDR_CHECK(ndr_pull_array_length(ndr, &r->unknown1));
+- if (ndr_get_array_length(ndr, &r->unknown1) > ndr_get_array_size(ndr, &r->unknown1)) {
+- return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->unknown1), ndr_get_array_length(ndr, &r->unknown1));
++ size_unknown1_1 = ndr_get_array_size(ndr, &r->unknown1);
++ length_unknown1_1 = ndr_get_array_length(ndr, &r->unknown1);
++ if (length_unknown1_1 > size_unknown1_1) {
++ return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_unknown1_1, length_unknown1_1);
+ }
+- NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->unknown1), sizeof(uint16_t)));
+- NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->unknown1, ndr_get_array_length(ndr, &r->unknown1), sizeof(uint16_t), CH_UTF16));
++ NDR_CHECK(ndr_check_string_terminator(ndr, length_unknown1_1, sizeof(uint16_t)));
++ NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->unknown1, length_unknown1_1, sizeof(uint16_t), CH_UTF16));
+ NDR_PULL_SET_MEM_CTX(ndr, _mem_save_unknown1_0, 0);
+ }
+ if (r->unknown2) {
+@@ -4113,11 +4189,13 @@ static enum ndr_err_code ndr_pull_wkssvc_NetrUseInfo3(struct ndr_pull *ndr, int
+ NDR_PULL_SET_MEM_CTX(ndr, r->unknown2, 0);
+ NDR_CHECK(ndr_pull_array_size(ndr, &r->unknown2));
+ NDR_CHECK(ndr_pull_array_length(ndr, &r->unknown2));
+- if (ndr_get_array_length(ndr, &r->unknown2) > ndr_get_array_size(ndr, &r->unknown2)) {
+- return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->unknown2), ndr_get_array_length(ndr, &r->unknown2));
++ size_unknown2_1 = ndr_get_array_size(ndr, &r->unknown2);
++ length_unknown2_1 = ndr_get_array_length(ndr, &r->unknown2);
++ if (length_unknown2_1 > size_unknown2_1) {
++ return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_unknown2_1, length_unknown2_1);
+ }
+- NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->unknown2), sizeof(uint16_t)));
+- NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->unknown2, ndr_get_array_length(ndr, &r->unknown2), sizeof(uint16_t), CH_UTF16));
++ NDR_CHECK(ndr_check_string_terminator(ndr, length_unknown2_1, sizeof(uint16_t)));
++ NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->unknown2, length_unknown2_1, sizeof(uint16_t), CH_UTF16));
+ NDR_PULL_SET_MEM_CTX(ndr, _mem_save_unknown2_0, 0);
+ }
+ }
+@@ -4195,14 +4273,24 @@ static enum ndr_err_code ndr_push_wkssvc_NetrUseInfo2(struct ndr_push *ndr, int
+ static enum ndr_err_code ndr_pull_wkssvc_NetrUseInfo2(struct ndr_pull *ndr, int ndr_flags, struct wkssvc_NetrUseInfo2 *r)
+ {
+ uint32_t _ptr_local;
++ uint32_t size_local_1 = 0;
++ uint32_t length_local_1 = 0;
+ TALLOC_CTX *_mem_save_local_0;
+ uint32_t _ptr_remote;
++ uint32_t size_remote_1 = 0;
++ uint32_t length_remote_1 = 0;
+ TALLOC_CTX *_mem_save_remote_0;
+ uint32_t _ptr_password;
++ uint32_t size_password_1 = 0;
++ uint32_t length_password_1 = 0;
+ TALLOC_CTX *_mem_save_password_0;
+ uint32_t _ptr_user_name;
++ uint32_t size_user_name_1 = 0;
++ uint32_t length_user_name_1 = 0;
+ TALLOC_CTX *_mem_save_user_name_0;
+ uint32_t _ptr_domain_name;
++ uint32_t size_domain_name_1 = 0;
++ uint32_t length_domain_name_1 = 0;
+ TALLOC_CTX *_mem_save_domain_name_0;
+ if (ndr_flags & NDR_SCALARS) {
+ NDR_CHECK(ndr_pull_align(ndr, 4));
+@@ -4247,11 +4335,13 @@ static enum ndr_err_code ndr_pull_wkssvc_NetrUseInfo2(struct ndr_pull *ndr, int
+ NDR_PULL_SET_MEM_CTX(ndr, r->local, 0);
+ NDR_CHECK(ndr_pull_array_size(ndr, &r->local));
+ NDR_CHECK(ndr_pull_array_length(ndr, &r->local));
+- if (ndr_get_array_length(ndr, &r->local) > ndr_get_array_size(ndr, &r->local)) {
+- return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->local), ndr_get_array_length(ndr, &r->local));
++ size_local_1 = ndr_get_array_size(ndr, &r->local);
++ length_local_1 = ndr_get_array_length(ndr, &r->local);
++ if (length_local_1 > size_local_1) {
++ return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_local_1, length_local_1);
+ }
+- NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->local), sizeof(uint16_t)));
+- NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->local, ndr_get_array_length(ndr, &r->local), sizeof(uint16_t), CH_UTF16));
++ NDR_CHECK(ndr_check_string_terminator(ndr, length_local_1, sizeof(uint16_t)));
++ NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->local, length_local_1, sizeof(uint16_t), CH_UTF16));
+ NDR_PULL_SET_MEM_CTX(ndr, _mem_save_local_0, 0);
+ }
+ if (r->remote) {
+@@ -4259,11 +4349,13 @@ static enum ndr_err_code ndr_pull_wkssvc_NetrUseInfo2(struct ndr_pull *ndr, int
+ NDR_PULL_SET_MEM_CTX(ndr, r->remote, 0);
+ NDR_CHECK(ndr_pull_array_size(ndr, &r->remote));
+ NDR_CHECK(ndr_pull_array_length(ndr, &r->remote));
+- if (ndr_get_array_length(ndr, &r->remote) > ndr_get_array_size(ndr, &r->remote)) {
+- return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->remote), ndr_get_array_length(ndr, &r->remote));
++ size_remote_1 = ndr_get_array_size(ndr, &r->remote);
++ length_remote_1 = ndr_get_array_length(ndr, &r->remote);
++ if (length_remote_1 > size_remote_1) {
++ return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_remote_1, length_remote_1);
+ }
+- NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->remote), sizeof(uint16_t)));
+- NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->remote, ndr_get_array_length(ndr, &r->remote), sizeof(uint16_t), CH_UTF16));
++ NDR_CHECK(ndr_check_string_terminator(ndr, length_remote_1, sizeof(uint16_t)));
++ NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->remote, length_remote_1, sizeof(uint16_t), CH_UTF16));
+ NDR_PULL_SET_MEM_CTX(ndr, _mem_save_remote_0, 0);
+ }
+ if (r->password) {
+@@ -4271,11 +4363,13 @@ static enum ndr_err_code ndr_pull_wkssvc_NetrUseInfo2(struct ndr_pull *ndr, int
+ NDR_PULL_SET_MEM_CTX(ndr, r->password, 0);
+ NDR_CHECK(ndr_pull_array_size(ndr, &r->password));
+ NDR_CHECK(ndr_pull_array_length(ndr, &r->password));
+- if (ndr_get_array_length(ndr, &r->password) > ndr_get_array_size(ndr, &r->password)) {
+- return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->password), ndr_get_array_length(ndr, &r->password));
++ size_password_1 = ndr_get_array_size(ndr, &r->password);
++ length_password_1 = ndr_get_array_length(ndr, &r->password);
++ if (length_password_1 > size_password_1) {
++ return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_password_1, length_password_1);
+ }
+- NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->password), sizeof(uint16_t)));
+- NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->password, ndr_get_array_length(ndr, &r->password), sizeof(uint16_t), CH_UTF16));
++ NDR_CHECK(ndr_check_string_terminator(ndr, length_password_1, sizeof(uint16_t)));
++ NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->password, length_password_1, sizeof(uint16_t), CH_UTF16));
+ NDR_PULL_SET_MEM_CTX(ndr, _mem_save_password_0, 0);
+ }
+ if (r->user_name) {
+@@ -4283,11 +4377,13 @@ static enum ndr_err_code ndr_pull_wkssvc_NetrUseInfo2(struct ndr_pull *ndr, int
+ NDR_PULL_SET_MEM_CTX(ndr, r->user_name, 0);
+ NDR_CHECK(ndr_pull_array_size(ndr, &r->user_name));
+ NDR_CHECK(ndr_pull_array_length(ndr, &r->user_name));
+- if (ndr_get_array_length(ndr, &r->user_name) > ndr_get_array_size(ndr, &r->user_name)) {
+- return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->user_name), ndr_get_array_length(ndr, &r->user_name));
++ size_user_name_1 = ndr_get_array_size(ndr, &r->user_name);
++ length_user_name_1 = ndr_get_array_length(ndr, &r->user_name);
++ if (length_user_name_1 > size_user_name_1) {
++ return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_user_name_1, length_user_name_1);
+ }
+- NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->user_name), sizeof(uint16_t)));
+- NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->user_name, ndr_get_array_length(ndr, &r->user_name), sizeof(uint16_t), CH_UTF16));
++ NDR_CHECK(ndr_check_string_terminator(ndr, length_user_name_1, sizeof(uint16_t)));
++ NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->user_name, length_user_name_1, sizeof(uint16_t), CH_UTF16));
+ NDR_PULL_SET_MEM_CTX(ndr, _mem_save_user_name_0, 0);
+ }
+ if (r->domain_name) {
+@@ -4295,11 +4391,13 @@ static enum ndr_err_code ndr_pull_wkssvc_NetrUseInfo2(struct ndr_pull *ndr, int
+ NDR_PULL_SET_MEM_CTX(ndr, r->domain_name, 0);
+ NDR_CHECK(ndr_pull_array_size(ndr, &r->domain_name));
+ NDR_CHECK(ndr_pull_array_length(ndr, &r->domain_name));
+- if (ndr_get_array_length(ndr, &r->domain_name) > ndr_get_array_size(ndr, &r->domain_name)) {
+- return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->domain_name), ndr_get_array_length(ndr, &r->domain_name));
++ size_domain_name_1 = ndr_get_array_size(ndr, &r->domain_name);
++ length_domain_name_1 = ndr_get_array_length(ndr, &r->domain_name);
++ if (length_domain_name_1 > size_domain_name_1) {
++ return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_domain_name_1, length_domain_name_1);
+ }
+- NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->domain_name), sizeof(uint16_t)));
+- NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->domain_name, ndr_get_array_length(ndr, &r->domain_name), sizeof(uint16_t), CH_UTF16));
++ NDR_CHECK(ndr_check_string_terminator(ndr, length_domain_name_1, sizeof(uint16_t)));
++ NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->domain_name, length_domain_name_1, sizeof(uint16_t), CH_UTF16));
+ NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_name_0, 0);
+ }
+ }
+@@ -4385,10 +4483,16 @@ static enum ndr_err_code ndr_push_wkssvc_NetrUseInfo1(struct ndr_push *ndr, int
+ static enum ndr_err_code ndr_pull_wkssvc_NetrUseInfo1(struct ndr_pull *ndr, int ndr_flags, struct wkssvc_NetrUseInfo1 *r)
+ {
+ uint32_t _ptr_local;
++ uint32_t size_local_1 = 0;
++ uint32_t length_local_1 = 0;
+ TALLOC_CTX *_mem_save_local_0;
+ uint32_t _ptr_remote;
++ uint32_t size_remote_1 = 0;
++ uint32_t length_remote_1 = 0;
+ TALLOC_CTX *_mem_save_remote_0;
+ uint32_t _ptr_password;
++ uint32_t size_password_1 = 0;
++ uint32_t length_password_1 = 0;
+ TALLOC_CTX *_mem_save_password_0;
+ if (ndr_flags & NDR_SCALARS) {
+ NDR_CHECK(ndr_pull_align(ndr, 4));
+@@ -4421,11 +4525,13 @@ static enum ndr_err_code ndr_pull_wkssvc_NetrUseInfo1(struct ndr_pull *ndr, int
+ NDR_PULL_SET_MEM_CTX(ndr, r->local, 0);
+ NDR_CHECK(ndr_pull_array_size(ndr, &r->local));
+ NDR_CHECK(ndr_pull_array_length(ndr, &r->local));
+- if (ndr_get_array_length(ndr, &r->local) > ndr_get_array_size(ndr, &r->local)) {
+- return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->local), ndr_get_array_length(ndr, &r->local));
++ size_local_1 = ndr_get_array_size(ndr, &r->local);
++ length_local_1 = ndr_get_array_length(ndr, &r->local);
++ if (length_local_1 > size_local_1) {
++ return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_local_1, length_local_1);
+ }
+- NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->local), sizeof(uint16_t)));
+- NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->local, ndr_get_array_length(ndr, &r->local), sizeof(uint16_t), CH_UTF16));
++ NDR_CHECK(ndr_check_string_terminator(ndr, length_local_1, sizeof(uint16_t)));
++ NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->local, length_local_1, sizeof(uint16_t), CH_UTF16));
+ NDR_PULL_SET_MEM_CTX(ndr, _mem_save_local_0, 0);
+ }
+ if (r->remote) {
+@@ -4433,11 +4539,13 @@ static enum ndr_err_code ndr_pull_wkssvc_NetrUseInfo1(struct ndr_pull *ndr, int
+ NDR_PULL_SET_MEM_CTX(ndr, r->remote, 0);
+ NDR_CHECK(ndr_pull_array_size(ndr, &r->remote));
+ NDR_CHECK(ndr_pull_array_length(ndr, &r->remote));
+- if (ndr_get_array_length(ndr, &r->remote) > ndr_get_array_size(ndr, &r->remote)) {
+- return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->remote), ndr_get_array_length(ndr, &r->remote));
++ size_remote_1 = ndr_get_array_size(ndr, &r->remote);
++ length_remote_1 = ndr_get_array_length(ndr, &r->remote);
++ if (length_remote_1 > size_remote_1) {
++ return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_remote_1, length_remote_1);
+ }
+- NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->remote), sizeof(uint16_t)));
+- NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->remote, ndr_get_array_length(ndr, &r->remote), sizeof(uint16_t), CH_UTF16));
++ NDR_CHECK(ndr_check_string_terminator(ndr, length_remote_1, sizeof(uint16_t)));
++ NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->remote, length_remote_1, sizeof(uint16_t), CH_UTF16));
+ NDR_PULL_SET_MEM_CTX(ndr, _mem_save_remote_0, 0);
+ }
+ if (r->password) {
+@@ -4445,11 +4553,13 @@ static enum ndr_err_code ndr_pull_wkssvc_NetrUseInfo1(struct ndr_pull *ndr, int
+ NDR_PULL_SET_MEM_CTX(ndr, r->password, 0);
+ NDR_CHECK(ndr_pull_array_size(ndr, &r->password));
+ NDR_CHECK(ndr_pull_array_length(ndr, &r->password));
+- if (ndr_get_array_length(ndr, &r->password) > ndr_get_array_size(ndr, &r->password)) {
+- return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->password), ndr_get_array_length(ndr, &r->password));
++ size_password_1 = ndr_get_array_size(ndr, &r->password);
++ length_password_1 = ndr_get_array_length(ndr, &r->password);
++ if (length_password_1 > size_password_1) {
++ return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_password_1, length_password_1);
+ }
+- NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->password), sizeof(uint16_t)));
+- NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->password, ndr_get_array_length(ndr, &r->password), sizeof(uint16_t), CH_UTF16));
++ NDR_CHECK(ndr_check_string_terminator(ndr, length_password_1, sizeof(uint16_t)));
++ NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->password, length_password_1, sizeof(uint16_t), CH_UTF16));
+ NDR_PULL_SET_MEM_CTX(ndr, _mem_save_password_0, 0);
+ }
+ }
+@@ -4512,8 +4622,12 @@ static enum ndr_err_code ndr_push_wkssvc_NetrUseInfo0(struct ndr_push *ndr, int
+ static enum ndr_err_code ndr_pull_wkssvc_NetrUseInfo0(struct ndr_pull *ndr, int ndr_flags, struct wkssvc_NetrUseInfo0 *r)
+ {
+ uint32_t _ptr_local;
++ uint32_t size_local_1 = 0;
++ uint32_t length_local_1 = 0;
+ TALLOC_CTX *_mem_save_local_0;
+ uint32_t _ptr_remote;
++ uint32_t size_remote_1 = 0;
++ uint32_t length_remote_1 = 0;
+ TALLOC_CTX *_mem_save_remote_0;
+ if (ndr_flags & NDR_SCALARS) {
+ NDR_CHECK(ndr_pull_align(ndr, 4));
+@@ -4536,11 +4650,13 @@ static enum ndr_err_code ndr_pull_wkssvc_NetrUseInfo0(struct ndr_pull *ndr, int
+ NDR_PULL_SET_MEM_CTX(ndr, r->local, 0);
+ NDR_CHECK(ndr_pull_array_size(ndr, &r->local));
+ NDR_CHECK(ndr_pull_array_length(ndr, &r->local));
+- if (ndr_get_array_length(ndr, &r->local) > ndr_get_array_size(ndr, &r->local)) {
+- return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->local), ndr_get_array_length(ndr, &r->local));
++ size_local_1 = ndr_get_array_size(ndr, &r->local);
++ length_local_1 = ndr_get_array_length(ndr, &r->local);
++ if (length_local_1 > size_local_1) {
++ return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_local_1, length_local_1);
+ }
+- NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->local), sizeof(uint16_t)));
+- NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->local, ndr_get_array_length(ndr, &r->local), sizeof(uint16_t), CH_UTF16));
++ NDR_CHECK(ndr_check_string_terminator(ndr, length_local_1, sizeof(uint16_t)));
++ NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->local, length_local_1, sizeof(uint16_t), CH_UTF16));
+ NDR_PULL_SET_MEM_CTX(ndr, _mem_save_local_0, 0);
+ }
+ if (r->remote) {
+@@ -4548,11 +4664,13 @@ static enum ndr_err_code ndr_pull_wkssvc_NetrUseInfo0(struct ndr_pull *ndr, int
+ NDR_PULL_SET_MEM_CTX(ndr, r->remote, 0);
+ NDR_CHECK(ndr_pull_array_size(ndr, &r->remote));
+ NDR_CHECK(ndr_pull_array_length(ndr, &r->remote));
+- if (ndr_get_array_length(ndr, &r->remote) > ndr_get_array_size(ndr, &r->remote)) {
+- return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->remote), ndr_get_array_length(ndr, &r->remote));
++ size_remote_1 = ndr_get_array_size(ndr, &r->remote);
++ length_remote_1 = ndr_get_array_length(ndr, &r->remote);
++ if (length_remote_1 > size_remote_1) {
++ return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_remote_1, length_remote_1);
+ }
+- NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->remote), sizeof(uint16_t)));
+- NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->remote, ndr_get_array_length(ndr, &r->remote), sizeof(uint16_t), CH_UTF16));
++ NDR_CHECK(ndr_check_string_terminator(ndr, length_remote_1, sizeof(uint16_t)));
++ NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->remote, length_remote_1, sizeof(uint16_t), CH_UTF16));
+ NDR_PULL_SET_MEM_CTX(ndr, _mem_save_remote_0, 0);
+ }
+ }
+@@ -4643,9 +4761,13 @@ static enum ndr_err_code ndr_pull_wkssvc_NetrUseGetInfoCtr(struct ndr_pull *ndr,
+ int level;
+ uint32_t _level;
+ TALLOC_CTX *_mem_save_info0_0;
++ uint32_t _ptr_info0;
+ TALLOC_CTX *_mem_save_info1_0;
++ uint32_t _ptr_info1;
+ TALLOC_CTX *_mem_save_info2_0;
++ uint32_t _ptr_info2;
+ TALLOC_CTX *_mem_save_info3_0;
++ uint32_t _ptr_info3;
+ level = ndr_pull_get_switch_value(ndr, r);
+ if (ndr_flags & NDR_SCALARS) {
+ NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &_level));
+@@ -4654,7 +4776,6 @@ static enum ndr_err_code ndr_pull_wkssvc_NetrUseGetInfoCtr(struct ndr_pull *ndr,
+ }
+ switch (level) {
+ case 0: {
+- uint32_t _ptr_info0;
+ NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info0));
+ if (_ptr_info0) {
+ NDR_PULL_ALLOC(ndr, r->info0);
+@@ -4664,7 +4785,6 @@ static enum ndr_err_code ndr_pull_wkssvc_NetrUseGetInfoCtr(struct ndr_pull *ndr,
+ break; }
+
+ case 1: {
+- uint32_t _ptr_info1;
+ NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info1));
+ if (_ptr_info1) {
+ NDR_PULL_ALLOC(ndr, r->info1);
+@@ -4674,7 +4794,6 @@ static enum ndr_err_code ndr_pull_wkssvc_NetrUseGetInfoCtr(struct ndr_pull *ndr,
+ break; }
+
+ case 2: {
+- uint32_t _ptr_info2;
+ NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info2));
+ if (_ptr_info2) {
+ NDR_PULL_ALLOC(ndr, r->info2);
+@@ -4684,7 +4803,6 @@ static enum ndr_err_code ndr_pull_wkssvc_NetrUseGetInfoCtr(struct ndr_pull *ndr,
+ break; }
+
+ case 3: {
+- uint32_t _ptr_info3;
+ NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info3));
+ if (_ptr_info3) {
+ NDR_PULL_ALLOC(ndr, r->info3);
+@@ -4814,6 +4932,7 @@ static enum ndr_err_code ndr_push_wkssvc_NetrUseEnumCtr2(struct ndr_push *ndr, i
+ static enum ndr_err_code ndr_pull_wkssvc_NetrUseEnumCtr2(struct ndr_pull *ndr, int ndr_flags, struct wkssvc_NetrUseEnumCtr2 *r)
+ {
+ uint32_t _ptr_array;
++ uint32_t size_array_1 = 0;
+ uint32_t cntr_array_1;
+ TALLOC_CTX *_mem_save_array_0;
+ TALLOC_CTX *_mem_save_array_1;
+@@ -4832,13 +4951,14 @@ static enum ndr_err_code ndr_pull_wkssvc_NetrUseEnumCtr2(struct ndr_pull *ndr, i
+ _mem_save_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
+ NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
+ NDR_CHECK(ndr_pull_array_size(ndr, &r->array));
+- NDR_PULL_ALLOC_N(ndr, r->array, ndr_get_array_size(ndr, &r->array));
++ size_array_1 = ndr_get_array_size(ndr, &r->array);
++ NDR_PULL_ALLOC_N(ndr, r->array, size_array_1);
+ _mem_save_array_1 = NDR_PULL_GET_MEM_CTX(ndr);
+ NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
+- for (cntr_array_1 = 0; cntr_array_1 < r->count; cntr_array_1++) {
++ for (cntr_array_1 = 0; cntr_array_1 < size_array_1; cntr_array_1++) {
+ NDR_CHECK(ndr_pull_wkssvc_NetrUseInfo2(ndr, NDR_SCALARS, &r->array[cntr_array_1]));
+ }
+- for (cntr_array_1 = 0; cntr_array_1 < r->count; cntr_array_1++) {
++ for (cntr_array_1 = 0; cntr_array_1 < size_array_1; cntr_array_1++) {
+ NDR_CHECK(ndr_pull_wkssvc_NetrUseInfo2(ndr, NDR_BUFFERS, &r->array[cntr_array_1]));
+ }
+ NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_1, 0);
+@@ -4900,6 +5020,7 @@ static enum ndr_err_code ndr_push_wkssvc_NetrUseEnumCtr1(struct ndr_push *ndr, i
+ static enum ndr_err_code ndr_pull_wkssvc_NetrUseEnumCtr1(struct ndr_pull *ndr, int ndr_flags, struct wkssvc_NetrUseEnumCtr1 *r)
+ {
+ uint32_t _ptr_array;
++ uint32_t size_array_1 = 0;
+ uint32_t cntr_array_1;
+ TALLOC_CTX *_mem_save_array_0;
+ TALLOC_CTX *_mem_save_array_1;
+@@ -4918,13 +5039,14 @@ static enum ndr_err_code ndr_pull_wkssvc_NetrUseEnumCtr1(struct ndr_pull *ndr, i
+ _mem_save_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
+ NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
+ NDR_CHECK(ndr_pull_array_size(ndr, &r->array));
+- NDR_PULL_ALLOC_N(ndr, r->array, ndr_get_array_size(ndr, &r->array));
++ size_array_1 = ndr_get_array_size(ndr, &r->array);
++ NDR_PULL_ALLOC_N(ndr, r->array, size_array_1);
+ _mem_save_array_1 = NDR_PULL_GET_MEM_CTX(ndr);
+ NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
+- for (cntr_array_1 = 0; cntr_array_1 < r->count; cntr_array_1++) {
++ for (cntr_array_1 = 0; cntr_array_1 < size_array_1; cntr_array_1++) {
+ NDR_CHECK(ndr_pull_wkssvc_NetrUseInfo1(ndr, NDR_SCALARS, &r->array[cntr_array_1]));
+ }
+- for (cntr_array_1 = 0; cntr_array_1 < r->count; cntr_array_1++) {
++ for (cntr_array_1 = 0; cntr_array_1 < size_array_1; cntr_array_1++) {
+ NDR_CHECK(ndr_pull_wkssvc_NetrUseInfo1(ndr, NDR_BUFFERS, &r->array[cntr_array_1]));
+ }
+ NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_1, 0);
+@@ -4986,6 +5108,7 @@ static enum ndr_err_code ndr_push_wkssvc_NetrUseEnumCtr0(struct ndr_push *ndr, i
+ static enum ndr_err_code ndr_pull_wkssvc_NetrUseEnumCtr0(struct ndr_pull *ndr, int ndr_flags, struct wkssvc_NetrUseEnumCtr0 *r)
+ {
+ uint32_t _ptr_array;
++ uint32_t size_array_1 = 0;
+ uint32_t cntr_array_1;
+ TALLOC_CTX *_mem_save_array_0;
+ TALLOC_CTX *_mem_save_array_1;
+@@ -5004,13 +5127,14 @@ static enum ndr_err_code ndr_pull_wkssvc_NetrUseEnumCtr0(struct ndr_pull *ndr, i
+ _mem_save_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
+ NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
+ NDR_CHECK(ndr_pull_array_size(ndr, &r->array));
+- NDR_PULL_ALLOC_N(ndr, r->array, ndr_get_array_size(ndr, &r->array));
++ size_array_1 = ndr_get_array_size(ndr, &r->array);
++ NDR_PULL_ALLOC_N(ndr, r->array, size_array_1);
+ _mem_save_array_1 = NDR_PULL_GET_MEM_CTX(ndr);
+ NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
+- for (cntr_array_1 = 0; cntr_array_1 < r->count; cntr_array_1++) {
++ for (cntr_array_1 = 0; cntr_array_1 < size_array_1; cntr_array_1++) {
+ NDR_CHECK(ndr_pull_wkssvc_NetrUseInfo0(ndr, NDR_SCALARS, &r->array[cntr_array_1]));
+ }
+- for (cntr_array_1 = 0; cntr_array_1 < r->count; cntr_array_1++) {
++ for (cntr_array_1 = 0; cntr_array_1 < size_array_1; cntr_array_1++) {
+ NDR_CHECK(ndr_pull_wkssvc_NetrUseInfo0(ndr, NDR_BUFFERS, &r->array[cntr_array_1]));
+ }
+ NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_1, 0);
+@@ -5102,8 +5226,11 @@ static enum ndr_err_code ndr_pull_wkssvc_NetrUseEnumCtr(struct ndr_pull *ndr, in
+ int level;
+ uint32_t _level;
+ TALLOC_CTX *_mem_save_ctr0_0;
++ uint32_t _ptr_ctr0;
+ TALLOC_CTX *_mem_save_ctr1_0;
++ uint32_t _ptr_ctr1;
+ TALLOC_CTX *_mem_save_ctr2_0;
++ uint32_t _ptr_ctr2;
+ level = ndr_pull_get_switch_value(ndr, r);
+ if (ndr_flags & NDR_SCALARS) {
+ NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &_level));
+@@ -5112,7 +5239,6 @@ static enum ndr_err_code ndr_pull_wkssvc_NetrUseEnumCtr(struct ndr_pull *ndr, in
+ }
+ switch (level) {
+ case 0: {
+- uint32_t _ptr_ctr0;
+ NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_ctr0));
+ if (_ptr_ctr0) {
+ NDR_PULL_ALLOC(ndr, r->ctr0);
+@@ -5122,7 +5248,6 @@ static enum ndr_err_code ndr_pull_wkssvc_NetrUseEnumCtr(struct ndr_pull *ndr, in
+ break; }
+
+ case 1: {
+- uint32_t _ptr_ctr1;
+ NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_ctr1));
+ if (_ptr_ctr1) {
+ NDR_PULL_ALLOC(ndr, r->ctr1);
+@@ -5132,7 +5257,6 @@ static enum ndr_err_code ndr_pull_wkssvc_NetrUseEnumCtr(struct ndr_pull *ndr, in
+ break; }
+
+ case 2: {
+- uint32_t _ptr_ctr2;
+ NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_ctr2));
+ if (_ptr_ctr2) {
+ NDR_PULL_ALLOC(ndr, r->ctr2);
+@@ -5500,12 +5624,14 @@ static enum ndr_err_code ndr_push_wkssvc_PasswordBuffer(struct ndr_push *ndr, in
+
+ static enum ndr_err_code ndr_pull_wkssvc_PasswordBuffer(struct ndr_pull *ndr, int ndr_flags, struct wkssvc_PasswordBuffer *r)
+ {
++ uint32_t size_data_0 = 0;
+ {
+ uint32_t _flags_save_STRUCT = ndr->flags;
+ ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
+ if (ndr_flags & NDR_SCALARS) {
+ NDR_CHECK(ndr_pull_align(ndr, 1));
+- NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->data, 524));
++ size_data_0 = 524;
++ NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->data, size_data_0));
+ }
+ if (ndr_flags & NDR_BUFFERS) {
+ }
+@@ -5610,6 +5736,7 @@ static enum ndr_err_code ndr_push_wkssvc_ComputerNamesCtr(struct ndr_push *ndr,
+ static enum ndr_err_code ndr_pull_wkssvc_ComputerNamesCtr(struct ndr_pull *ndr, int ndr_flags, struct wkssvc_ComputerNamesCtr *r)
+ {
+ uint32_t _ptr_computer_name;
++ uint32_t size_computer_name_1 = 0;
+ uint32_t cntr_computer_name_1;
+ TALLOC_CTX *_mem_save_computer_name_0;
+ TALLOC_CTX *_mem_save_computer_name_1;
+@@ -5628,13 +5755,14 @@ static enum ndr_err_code ndr_pull_wkssvc_ComputerNamesCtr(struct ndr_pull *ndr,
+ _mem_save_computer_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
+ NDR_PULL_SET_MEM_CTX(ndr, r->computer_name, 0);
+ NDR_CHECK(ndr_pull_array_size(ndr, &r->computer_name));
+- NDR_PULL_ALLOC_N(ndr, r->computer_name, ndr_get_array_size(ndr, &r->computer_name));
++ size_computer_name_1 = ndr_get_array_size(ndr, &r->computer_name);
++ NDR_PULL_ALLOC_N(ndr, r->computer_name, size_computer_name_1);
+ _mem_save_computer_name_1 = NDR_PULL_GET_MEM_CTX(ndr);
+ NDR_PULL_SET_MEM_CTX(ndr, r->computer_name, 0);
+- for (cntr_computer_name_1 = 0; cntr_computer_name_1 < r->count; cntr_computer_name_1++) {
++ for (cntr_computer_name_1 = 0; cntr_computer_name_1 < size_computer_name_1; cntr_computer_name_1++) {
+ NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->computer_name[cntr_computer_name_1]));
+ }
+- for (cntr_computer_name_1 = 0; cntr_computer_name_1 < r->count; cntr_computer_name_1++) {
++ for (cntr_computer_name_1 = 0; cntr_computer_name_1 < size_computer_name_1; cntr_computer_name_1++) {
+ NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->computer_name[cntr_computer_name_1]));
+ }
+ NDR_PULL_SET_MEM_CTX(ndr, _mem_save_computer_name_1, 0);
+@@ -5697,6 +5825,8 @@ static enum ndr_err_code ndr_push_wkssvc_NetWkstaGetInfo(struct ndr_push *ndr, i
+ static enum ndr_err_code ndr_pull_wkssvc_NetWkstaGetInfo(struct ndr_pull *ndr, int flags, struct wkssvc_NetWkstaGetInfo *r)
+ {
+ uint32_t _ptr_server_name;
++ uint32_t size_server_name_1 = 0;
++ uint32_t length_server_name_1 = 0;
+ TALLOC_CTX *_mem_save_server_name_0;
+ TALLOC_CTX *_mem_save_info_0;
+ if (flags & NDR_IN) {
+@@ -5713,11 +5843,13 @@ static enum ndr_err_code ndr_pull_wkssvc_NetWkstaGetInfo(struct ndr_pull *ndr, i
+ NDR_PULL_SET_MEM_CTX(ndr, r->in.server_name, 0);
+ NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_name));
+ NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_name));
+- if (ndr_get_array_length(ndr, &r->in.server_name) > ndr_get_array_size(ndr, &r->in.server_name)) {
+- return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.server_name), ndr_get_array_length(ndr, &r->in.server_name));
++ size_server_name_1 = ndr_get_array_size(ndr, &r->in.server_name);
++ length_server_name_1 = ndr_get_array_length(ndr, &r->in.server_name);
++ if (length_server_name_1 > size_server_name_1) {
++ return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_server_name_1, length_server_name_1);
+ }
+- NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t)));
+- NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.server_name, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t), CH_UTF16));
++ NDR_CHECK(ndr_check_string_terminator(ndr, length_server_name_1, sizeof(uint16_t)));
++ NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.server_name, length_server_name_1, sizeof(uint16_t), CH_UTF16));
+ NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_name_0, 0);
+ }
+ NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.level));
+@@ -5805,6 +5937,8 @@ static enum ndr_err_code ndr_push_wkssvc_NetWkstaSetInfo(struct ndr_push *ndr, i
+ static enum ndr_err_code ndr_pull_wkssvc_NetWkstaSetInfo(struct ndr_pull *ndr, int flags, struct wkssvc_NetWkstaSetInfo *r)
+ {
+ uint32_t _ptr_server_name;
++ uint32_t size_server_name_1 = 0;
++ uint32_t length_server_name_1 = 0;
+ TALLOC_CTX *_mem_save_server_name_0;
+ TALLOC_CTX *_mem_save_info_0;
+ TALLOC_CTX *_mem_save_parm_error_0;
+@@ -5822,11 +5956,13 @@ static enum ndr_err_code ndr_pull_wkssvc_NetWkstaSetInfo(struct ndr_pull *ndr, i
+ NDR_PULL_SET_MEM_CTX(ndr, r->in.server_name, 0);
+ NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_name));
+ NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_name));
+- if (ndr_get_array_length(ndr, &r->in.server_name) > ndr_get_array_size(ndr, &r->in.server_name)) {
+- return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.server_name), ndr_get_array_length(ndr, &r->in.server_name));
++ size_server_name_1 = ndr_get_array_size(ndr, &r->in.server_name);
++ length_server_name_1 = ndr_get_array_length(ndr, &r->in.server_name);
++ if (length_server_name_1 > size_server_name_1) {
++ return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_server_name_1, length_server_name_1);
+ }
+- NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t)));
+- NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.server_name, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t), CH_UTF16));
++ NDR_CHECK(ndr_check_string_terminator(ndr, length_server_name_1, sizeof(uint16_t)));
++ NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.server_name, length_server_name_1, sizeof(uint16_t), CH_UTF16));
+ NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_name_0, 0);
+ }
+ NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.level));
+@@ -5943,6 +6079,8 @@ static enum ndr_err_code ndr_push_wkssvc_NetWkstaEnumUsers(struct ndr_push *ndr,
+ static enum ndr_err_code ndr_pull_wkssvc_NetWkstaEnumUsers(struct ndr_pull *ndr, int flags, struct wkssvc_NetWkstaEnumUsers *r)
+ {
+ uint32_t _ptr_server_name;
++ uint32_t size_server_name_1 = 0;
++ uint32_t length_server_name_1 = 0;
+ uint32_t _ptr_resume_handle;
+ TALLOC_CTX *_mem_save_server_name_0;
+ TALLOC_CTX *_mem_save_info_0;
+@@ -5962,11 +6100,13 @@ static enum ndr_err_code ndr_pull_wkssvc_NetWkstaEnumUsers(struct ndr_pull *ndr,
+ NDR_PULL_SET_MEM_CTX(ndr, r->in.server_name, 0);
+ NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_name));
+ NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_name));
+- if (ndr_get_array_length(ndr, &r->in.server_name) > ndr_get_array_size(ndr, &r->in.server_name)) {
+- return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.server_name), ndr_get_array_length(ndr, &r->in.server_name));
++ size_server_name_1 = ndr_get_array_size(ndr, &r->in.server_name);
++ length_server_name_1 = ndr_get_array_length(ndr, &r->in.server_name);
++ if (length_server_name_1 > size_server_name_1) {
++ return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_server_name_1, length_server_name_1);
+ }
+- NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t)));
+- NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.server_name, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t), CH_UTF16));
++ NDR_CHECK(ndr_check_string_terminator(ndr, length_server_name_1, sizeof(uint16_t)));
++ NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.server_name, length_server_name_1, sizeof(uint16_t), CH_UTF16));
+ NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_name_0, 0);
+ }
+ if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
+@@ -6104,6 +6244,8 @@ static enum ndr_err_code ndr_push_wkssvc_NetrWkstaUserGetInfo(struct ndr_push *n
+ static enum ndr_err_code ndr_pull_wkssvc_NetrWkstaUserGetInfo(struct ndr_pull *ndr, int flags, struct wkssvc_NetrWkstaUserGetInfo *r)
+ {
+ uint32_t _ptr_unknown;
++ uint32_t size_unknown_1 = 0;
++ uint32_t length_unknown_1 = 0;
+ TALLOC_CTX *_mem_save_unknown_0;
+ TALLOC_CTX *_mem_save_info_0;
+ if (flags & NDR_IN) {
+@@ -6120,11 +6262,13 @@ static enum ndr_err_code ndr_pull_wkssvc_NetrWkstaUserGetInfo(struct ndr_pull *n
+ NDR_PULL_SET_MEM_CTX(ndr, r->in.unknown, 0);
+ NDR_CHECK(ndr_pull_array_size(ndr, &r->in.unknown));
+ NDR_CHECK(ndr_pull_array_length(ndr, &r->in.unknown));
+- if (ndr_get_array_length(ndr, &r->in.unknown) > ndr_get_array_size(ndr, &r->in.unknown)) {
+- return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.unknown), ndr_get_array_length(ndr, &r->in.unknown));
++ size_unknown_1 = ndr_get_array_size(ndr, &r->in.unknown);
++ length_unknown_1 = ndr_get_array_length(ndr, &r->in.unknown);
++ if (length_unknown_1 > size_unknown_1) {
++ return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_unknown_1, length_unknown_1);
+ }
+- NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.unknown), sizeof(uint16_t)));
+- NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.unknown, ndr_get_array_length(ndr, &r->in.unknown), sizeof(uint16_t), CH_UTF16));
++ NDR_CHECK(ndr_check_string_terminator(ndr, length_unknown_1, sizeof(uint16_t)));
++ NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.unknown, length_unknown_1, sizeof(uint16_t), CH_UTF16));
+ NDR_PULL_SET_MEM_CTX(ndr, _mem_save_unknown_0, 0);
+ }
+ NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.level));
+@@ -6212,6 +6356,8 @@ static enum ndr_err_code ndr_push_wkssvc_NetrWkstaUserSetInfo(struct ndr_push *n
+ static enum ndr_err_code ndr_pull_wkssvc_NetrWkstaUserSetInfo(struct ndr_pull *ndr, int flags, struct wkssvc_NetrWkstaUserSetInfo *r)
+ {
+ uint32_t _ptr_unknown;
++ uint32_t size_unknown_1 = 0;
++ uint32_t length_unknown_1 = 0;
+ uint32_t _ptr_parm_err;
+ TALLOC_CTX *_mem_save_unknown_0;
+ TALLOC_CTX *_mem_save_info_0;
+@@ -6230,11 +6376,13 @@ static enum ndr_err_code ndr_pull_wkssvc_NetrWkstaUserSetInfo(struct ndr_pull *n
+ NDR_PULL_SET_MEM_CTX(ndr, r->in.unknown, 0);
+ NDR_CHECK(ndr_pull_array_size(ndr, &r->in.unknown));
+ NDR_CHECK(ndr_pull_array_length(ndr, &r->in.unknown));
+- if (ndr_get_array_length(ndr, &r->in.unknown) > ndr_get_array_size(ndr, &r->in.unknown)) {
+- return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.unknown), ndr_get_array_length(ndr, &r->in.unknown));
++ size_unknown_1 = ndr_get_array_size(ndr, &r->in.unknown);
++ length_unknown_1 = ndr_get_array_length(ndr, &r->in.unknown);
++ if (length_unknown_1 > size_unknown_1) {
++ return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_unknown_1, length_unknown_1);
+ }
+- NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.unknown), sizeof(uint16_t)));
+- NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.unknown, ndr_get_array_length(ndr, &r->in.unknown), sizeof(uint16_t), CH_UTF16));
++ NDR_CHECK(ndr_check_string_terminator(ndr, length_unknown_1, sizeof(uint16_t)));
++ NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.unknown, length_unknown_1, sizeof(uint16_t), CH_UTF16));
+ NDR_PULL_SET_MEM_CTX(ndr, _mem_save_unknown_0, 0);
+ }
+ NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.level));
+@@ -6363,6 +6511,8 @@ static enum ndr_err_code ndr_push_wkssvc_NetWkstaTransportEnum(struct ndr_push *
+ static enum ndr_err_code ndr_pull_wkssvc_NetWkstaTransportEnum(struct ndr_pull *ndr, int flags, struct wkssvc_NetWkstaTransportEnum *r)
+ {
+ uint32_t _ptr_server_name;
++ uint32_t size_server_name_1 = 0;
++ uint32_t length_server_name_1 = 0;
+ uint32_t _ptr_resume_handle;
+ TALLOC_CTX *_mem_save_server_name_0;
+ TALLOC_CTX *_mem_save_info_0;
+@@ -6382,11 +6532,13 @@ static enum ndr_err_code ndr_pull_wkssvc_NetWkstaTransportEnum(struct ndr_pull *
+ NDR_PULL_SET_MEM_CTX(ndr, r->in.server_name, 0);
+ NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_name));
+ NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_name));
+- if (ndr_get_array_length(ndr, &r->in.server_name) > ndr_get_array_size(ndr, &r->in.server_name)) {
+- return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.server_name), ndr_get_array_length(ndr, &r->in.server_name));
++ size_server_name_1 = ndr_get_array_size(ndr, &r->in.server_name);
++ length_server_name_1 = ndr_get_array_length(ndr, &r->in.server_name);
++ if (length_server_name_1 > size_server_name_1) {
++ return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_server_name_1, length_server_name_1);
+ }
+- NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t)));
+- NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.server_name, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t), CH_UTF16));
++ NDR_CHECK(ndr_check_string_terminator(ndr, length_server_name_1, sizeof(uint16_t)));
++ NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.server_name, length_server_name_1, sizeof(uint16_t), CH_UTF16));
+ NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_name_0, 0);
+ }
+ if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
+@@ -6531,6 +6683,8 @@ static enum ndr_err_code ndr_push_wkssvc_NetrWkstaTransportAdd(struct ndr_push *
+ static enum ndr_err_code ndr_pull_wkssvc_NetrWkstaTransportAdd(struct ndr_pull *ndr, int flags, struct wkssvc_NetrWkstaTransportAdd *r)
+ {
+ uint32_t _ptr_server_name;
++ uint32_t size_server_name_1 = 0;
++ uint32_t length_server_name_1 = 0;
+ uint32_t _ptr_parm_err;
+ TALLOC_CTX *_mem_save_server_name_0;
+ TALLOC_CTX *_mem_save_info0_0;
+@@ -6549,11 +6703,13 @@ static enum ndr_err_code ndr_pull_wkssvc_NetrWkstaTransportAdd(struct ndr_pull *
+ NDR_PULL_SET_MEM_CTX(ndr, r->in.server_name, 0);
+ NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_name));
+ NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_name));
+- if (ndr_get_array_length(ndr, &r->in.server_name) > ndr_get_array_size(ndr, &r->in.server_name)) {
+- return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.server_name), ndr_get_array_length(ndr, &r->in.server_name));
++ size_server_name_1 = ndr_get_array_size(ndr, &r->in.server_name);
++ length_server_name_1 = ndr_get_array_length(ndr, &r->in.server_name);
++ if (length_server_name_1 > size_server_name_1) {
++ return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_server_name_1, length_server_name_1);
+ }
+- NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t)));
+- NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.server_name, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t), CH_UTF16));
++ NDR_CHECK(ndr_check_string_terminator(ndr, length_server_name_1, sizeof(uint16_t)));
++ NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.server_name, length_server_name_1, sizeof(uint16_t), CH_UTF16));
+ NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_name_0, 0);
+ }
+ NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.level));
+@@ -6667,7 +6823,11 @@ static enum ndr_err_code ndr_push_wkssvc_NetrWkstaTransportDel(struct ndr_push *
+ static enum ndr_err_code ndr_pull_wkssvc_NetrWkstaTransportDel(struct ndr_pull *ndr, int flags, struct wkssvc_NetrWkstaTransportDel *r)
+ {
+ uint32_t _ptr_server_name;
++ uint32_t size_server_name_1 = 0;
++ uint32_t length_server_name_1 = 0;
+ uint32_t _ptr_transport_name;
++ uint32_t size_transport_name_1 = 0;
++ uint32_t length_transport_name_1 = 0;
+ TALLOC_CTX *_mem_save_server_name_0;
+ TALLOC_CTX *_mem_save_transport_name_0;
+ if (flags & NDR_IN) {
+@@ -6682,11 +6842,13 @@ static enum ndr_err_code ndr_pull_wkssvc_NetrWkstaTransportDel(struct ndr_pull *
+ NDR_PULL_SET_MEM_CTX(ndr, r->in.server_name, 0);
+ NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_name));
+ NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_name));
+- if (ndr_get_array_length(ndr, &r->in.server_name) > ndr_get_array_size(ndr, &r->in.server_name)) {
+- return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.server_name), ndr_get_array_length(ndr, &r->in.server_name));
++ size_server_name_1 = ndr_get_array_size(ndr, &r->in.server_name);
++ length_server_name_1 = ndr_get_array_length(ndr, &r->in.server_name);
++ if (length_server_name_1 > size_server_name_1) {
++ return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_server_name_1, length_server_name_1);
+ }
+- NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t)));
+- NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.server_name, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t), CH_UTF16));
++ NDR_CHECK(ndr_check_string_terminator(ndr, length_server_name_1, sizeof(uint16_t)));
++ NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.server_name, length_server_name_1, sizeof(uint16_t), CH_UTF16));
+ NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_name_0, 0);
+ }
+ NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_transport_name));
+@@ -6700,11 +6862,13 @@ static enum ndr_err_code ndr_pull_wkssvc_NetrWkstaTransportDel(struct ndr_pull *
+ NDR_PULL_SET_MEM_CTX(ndr, r->in.transport_name, 0);
+ NDR_CHECK(ndr_pull_array_size(ndr, &r->in.transport_name));
+ NDR_CHECK(ndr_pull_array_length(ndr, &r->in.transport_name));
+- if (ndr_get_array_length(ndr, &r->in.transport_name) > ndr_get_array_size(ndr, &r->in.transport_name)) {
+- return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.transport_name), ndr_get_array_length(ndr, &r->in.transport_name));
++ size_transport_name_1 = ndr_get_array_size(ndr, &r->in.transport_name);
++ length_transport_name_1 = ndr_get_array_length(ndr, &r->in.transport_name);
++ if (length_transport_name_1 > size_transport_name_1) {
++ return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_transport_name_1, length_transport_name_1);
+ }
+- NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.transport_name), sizeof(uint16_t)));
+- NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.transport_name, ndr_get_array_length(ndr, &r->in.transport_name), sizeof(uint16_t), CH_UTF16));
++ NDR_CHECK(ndr_check_string_terminator(ndr, length_transport_name_1, sizeof(uint16_t)));
++ NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.transport_name, length_transport_name_1, sizeof(uint16_t), CH_UTF16));
+ NDR_PULL_SET_MEM_CTX(ndr, _mem_save_transport_name_0, 0);
+ }
+ NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.unknown3));
+@@ -6783,6 +6947,8 @@ static enum ndr_err_code ndr_push_wkssvc_NetrUseAdd(struct ndr_push *ndr, int fl
+ static enum ndr_err_code ndr_pull_wkssvc_NetrUseAdd(struct ndr_pull *ndr, int flags, struct wkssvc_NetrUseAdd *r)
+ {
+ uint32_t _ptr_server_name;
++ uint32_t size_server_name_1 = 0;
++ uint32_t length_server_name_1 = 0;
+ uint32_t _ptr_parm_err;
+ TALLOC_CTX *_mem_save_server_name_0;
+ TALLOC_CTX *_mem_save_ctr_0;
+@@ -6801,11 +6967,13 @@ static enum ndr_err_code ndr_pull_wkssvc_NetrUseAdd(struct ndr_pull *ndr, int fl
+ NDR_PULL_SET_MEM_CTX(ndr, r->in.server_name, 0);
+ NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_name));
+ NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_name));
+- if (ndr_get_array_length(ndr, &r->in.server_name) > ndr_get_array_size(ndr, &r->in.server_name)) {
+- return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.server_name), ndr_get_array_length(ndr, &r->in.server_name));
++ size_server_name_1 = ndr_get_array_size(ndr, &r->in.server_name);
++ length_server_name_1 = ndr_get_array_length(ndr, &r->in.server_name);
++ if (length_server_name_1 > size_server_name_1) {
++ return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_server_name_1, length_server_name_1);
+ }
+- NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t)));
+- NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.server_name, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t), CH_UTF16));
++ NDR_CHECK(ndr_check_string_terminator(ndr, length_server_name_1, sizeof(uint16_t)));
++ NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.server_name, length_server_name_1, sizeof(uint16_t), CH_UTF16));
+ NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_name_0, 0);
+ }
+ NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.level));
+@@ -6926,6 +7094,10 @@ static enum ndr_err_code ndr_push_wkssvc_NetrUseGetInfo(struct ndr_push *ndr, in
+ static enum ndr_err_code ndr_pull_wkssvc_NetrUseGetInfo(struct ndr_pull *ndr, int flags, struct wkssvc_NetrUseGetInfo *r)
+ {
+ uint32_t _ptr_server_name;
++ uint32_t size_server_name_1 = 0;
++ uint32_t length_server_name_1 = 0;
++ uint32_t size_use_name_1 = 0;
++ uint32_t length_use_name_1 = 0;
+ TALLOC_CTX *_mem_save_server_name_0;
+ TALLOC_CTX *_mem_save_ctr_0;
+ if (flags & NDR_IN) {
+@@ -6942,20 +7114,24 @@ static enum ndr_err_code ndr_pull_wkssvc_NetrUseGetInfo(struct ndr_pull *ndr, in
+ NDR_PULL_SET_MEM_CTX(ndr, r->in.server_name, 0);
+ NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_name));
+ NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_name));
+- if (ndr_get_array_length(ndr, &r->in.server_name) > ndr_get_array_size(ndr, &r->in.server_name)) {
+- return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.server_name), ndr_get_array_length(ndr, &r->in.server_name));
++ size_server_name_1 = ndr_get_array_size(ndr, &r->in.server_name);
++ length_server_name_1 = ndr_get_array_length(ndr, &r->in.server_name);
++ if (length_server_name_1 > size_server_name_1) {
++ return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_server_name_1, length_server_name_1);
+ }
+- NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t)));
+- NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.server_name, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t), CH_UTF16));
++ NDR_CHECK(ndr_check_string_terminator(ndr, length_server_name_1, sizeof(uint16_t)));
++ NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.server_name, length_server_name_1, sizeof(uint16_t), CH_UTF16));
+ NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_name_0, 0);
+ }
+ NDR_CHECK(ndr_pull_array_size(ndr, &r->in.use_name));
+ NDR_CHECK(ndr_pull_array_length(ndr, &r->in.use_name));
+- if (ndr_get_array_length(ndr, &r->in.use_name) > ndr_get_array_size(ndr, &r->in.use_name)) {
+- return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.use_name), ndr_get_array_length(ndr, &r->in.use_name));
++ size_use_name_1 = ndr_get_array_size(ndr, &r->in.use_name);
++ length_use_name_1 = ndr_get_array_length(ndr, &r->in.use_name);
++ if (length_use_name_1 > size_use_name_1) {
++ return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_use_name_1, length_use_name_1);
+ }
+- NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.use_name), sizeof(uint16_t)));
+- NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.use_name, ndr_get_array_length(ndr, &r->in.use_name), sizeof(uint16_t), CH_UTF16));
++ NDR_CHECK(ndr_check_string_terminator(ndr, length_use_name_1, sizeof(uint16_t)));
++ NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.use_name, length_use_name_1, sizeof(uint16_t), CH_UTF16));
+ NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.level));
+ NDR_PULL_ALLOC(ndr, r->out.ctr);
+ ZERO_STRUCTP(r->out.ctr);
+@@ -7039,6 +7215,10 @@ static enum ndr_err_code ndr_push_wkssvc_NetrUseDel(struct ndr_push *ndr, int fl
+ static enum ndr_err_code ndr_pull_wkssvc_NetrUseDel(struct ndr_pull *ndr, int flags, struct wkssvc_NetrUseDel *r)
+ {
+ uint32_t _ptr_server_name;
++ uint32_t size_server_name_1 = 0;
++ uint32_t length_server_name_1 = 0;
++ uint32_t size_use_name_1 = 0;
++ uint32_t length_use_name_1 = 0;
+ TALLOC_CTX *_mem_save_server_name_0;
+ if (flags & NDR_IN) {
+ NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_name));
+@@ -7052,20 +7232,24 @@ static enum ndr_err_code ndr_pull_wkssvc_NetrUseDel(struct ndr_pull *ndr, int fl
+ NDR_PULL_SET_MEM_CTX(ndr, r->in.server_name, 0);
+ NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_name));
+ NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_name));
+- if (ndr_get_array_length(ndr, &r->in.server_name) > ndr_get_array_size(ndr, &r->in.server_name)) {
+- return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.server_name), ndr_get_array_length(ndr, &r->in.server_name));
++ size_server_name_1 = ndr_get_array_size(ndr, &r->in.server_name);
++ length_server_name_1 = ndr_get_array_length(ndr, &r->in.server_name);
++ if (length_server_name_1 > size_server_name_1) {
++ return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_server_name_1, length_server_name_1);
+ }
+- NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t)));
+- NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.server_name, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t), CH_UTF16));
++ NDR_CHECK(ndr_check_string_terminator(ndr, length_server_name_1, sizeof(uint16_t)));
++ NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.server_name, length_server_name_1, sizeof(uint16_t), CH_UTF16));
+ NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_name_0, 0);
+ }
+ NDR_CHECK(ndr_pull_array_size(ndr, &r->in.use_name));
+ NDR_CHECK(ndr_pull_array_length(ndr, &r->in.use_name));
+- if (ndr_get_array_length(ndr, &r->in.use_name) > ndr_get_array_size(ndr, &r->in.use_name)) {
+- return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.use_name), ndr_get_array_length(ndr, &r->in.use_name));
++ size_use_name_1 = ndr_get_array_size(ndr, &r->in.use_name);
++ length_use_name_1 = ndr_get_array_length(ndr, &r->in.use_name);
++ if (length_use_name_1 > size_use_name_1) {
++ return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_use_name_1, length_use_name_1);
+ }
+- NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.use_name), sizeof(uint16_t)));
+- NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.use_name, ndr_get_array_length(ndr, &r->in.use_name), sizeof(uint16_t), CH_UTF16));
++ NDR_CHECK(ndr_check_string_terminator(ndr, length_use_name_1, sizeof(uint16_t)));
++ NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.use_name, length_use_name_1, sizeof(uint16_t), CH_UTF16));
+ NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.force_cond));
+ }
+ if (flags & NDR_OUT) {
+@@ -7147,6 +7331,8 @@ static enum ndr_err_code ndr_push_wkssvc_NetrUseEnum(struct ndr_push *ndr, int f
+ static enum ndr_err_code ndr_pull_wkssvc_NetrUseEnum(struct ndr_pull *ndr, int flags, struct wkssvc_NetrUseEnum *r)
+ {
+ uint32_t _ptr_server_name;
++ uint32_t size_server_name_1 = 0;
++ uint32_t length_server_name_1 = 0;
+ uint32_t _ptr_resume_handle;
+ TALLOC_CTX *_mem_save_server_name_0;
+ TALLOC_CTX *_mem_save_info_0;
+@@ -7166,11 +7352,13 @@ static enum ndr_err_code ndr_pull_wkssvc_NetrUseEnum(struct ndr_pull *ndr, int f
+ NDR_PULL_SET_MEM_CTX(ndr, r->in.server_name, 0);
+ NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_name));
+ NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_name));
+- if (ndr_get_array_length(ndr, &r->in.server_name) > ndr_get_array_size(ndr, &r->in.server_name)) {
+- return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.server_name), ndr_get_array_length(ndr, &r->in.server_name));
++ size_server_name_1 = ndr_get_array_size(ndr, &r->in.server_name);
++ length_server_name_1 = ndr_get_array_length(ndr, &r->in.server_name);
++ if (length_server_name_1 > size_server_name_1) {
++ return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_server_name_1, length_server_name_1);
+ }
+- NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t)));
+- NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.server_name, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t), CH_UTF16));
++ NDR_CHECK(ndr_check_string_terminator(ndr, length_server_name_1, sizeof(uint16_t)));
++ NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.server_name, length_server_name_1, sizeof(uint16_t), CH_UTF16));
+ NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_name_0, 0);
+ }
+ if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
+@@ -7322,7 +7510,14 @@ static enum ndr_err_code ndr_push_wkssvc_NetrMessageBufferSend(struct ndr_push *
+ static enum ndr_err_code ndr_pull_wkssvc_NetrMessageBufferSend(struct ndr_pull *ndr, int flags, struct wkssvc_NetrMessageBufferSend *r)
+ {
+ uint32_t _ptr_server_name;
++ uint32_t size_server_name_1 = 0;
++ uint32_t length_server_name_1 = 0;
++ uint32_t size_message_name_1 = 0;
++ uint32_t length_message_name_1 = 0;
+ uint32_t _ptr_message_sender_name;
++ uint32_t size_message_sender_name_1 = 0;
++ uint32_t length_message_sender_name_1 = 0;
++ uint32_t size_message_buffer_1 = 0;
+ TALLOC_CTX *_mem_save_server_name_0;
+ TALLOC_CTX *_mem_save_message_sender_name_0;
+ if (flags & NDR_IN) {
+@@ -7337,20 +7532,24 @@ static enum ndr_err_code ndr_pull_wkssvc_NetrMessageBufferSend(struct ndr_pull *
+ NDR_PULL_SET_MEM_CTX(ndr, r->in.server_name, 0);
+ NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_name));
+ NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_name));
+- if (ndr_get_array_length(ndr, &r->in.server_name) > ndr_get_array_size(ndr, &r->in.server_name)) {
+- return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.server_name), ndr_get_array_length(ndr, &r->in.server_name));
++ size_server_name_1 = ndr_get_array_size(ndr, &r->in.server_name);
++ length_server_name_1 = ndr_get_array_length(ndr, &r->in.server_name);
++ if (length_server_name_1 > size_server_name_1) {
++ return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_server_name_1, length_server_name_1);
+ }
+- NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t)));
+- NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.server_name, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t), CH_UTF16));
++ NDR_CHECK(ndr_check_string_terminator(ndr, length_server_name_1, sizeof(uint16_t)));
++ NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.server_name, length_server_name_1, sizeof(uint16_t), CH_UTF16));
+ NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_name_0, 0);
+ }
+ NDR_CHECK(ndr_pull_array_size(ndr, &r->in.message_name));
+ NDR_CHECK(ndr_pull_array_length(ndr, &r->in.message_name));
+- if (ndr_get_array_length(ndr, &r->in.message_name) > ndr_get_array_size(ndr, &r->in.message_name)) {
+- return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.message_name), ndr_get_array_length(ndr, &r->in.message_name));
++ size_message_name_1 = ndr_get_array_size(ndr, &r->in.message_name);
++ length_message_name_1 = ndr_get_array_length(ndr, &r->in.message_name);
++ if (length_message_name_1 > size_message_name_1) {
++ return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_message_name_1, length_message_name_1);
+ }
+- NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.message_name), sizeof(uint16_t)));
+- NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.message_name, ndr_get_array_length(ndr, &r->in.message_name), sizeof(uint16_t), CH_UTF16));
++ NDR_CHECK(ndr_check_string_terminator(ndr, length_message_name_1, sizeof(uint16_t)));
++ NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.message_name, length_message_name_1, sizeof(uint16_t), CH_UTF16));
+ NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_message_sender_name));
+ if (_ptr_message_sender_name) {
+ NDR_PULL_ALLOC(ndr, r->in.message_sender_name);
+@@ -7362,18 +7561,21 @@ static enum ndr_err_code ndr_pull_wkssvc_NetrMessageBufferSend(struct ndr_pull *
+ NDR_PULL_SET_MEM_CTX(ndr, r->in.message_sender_name, 0);
+ NDR_CHECK(ndr_pull_array_size(ndr, &r->in.message_sender_name));
+ NDR_CHECK(ndr_pull_array_length(ndr, &r->in.message_sender_name));
+- if (ndr_get_array_length(ndr, &r->in.message_sender_name) > ndr_get_array_size(ndr, &r->in.message_sender_name)) {
+- return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.message_sender_name), ndr_get_array_length(ndr, &r->in.message_sender_name));
++ size_message_sender_name_1 = ndr_get_array_size(ndr, &r->in.message_sender_name);
++ length_message_sender_name_1 = ndr_get_array_length(ndr, &r->in.message_sender_name);
++ if (length_message_sender_name_1 > size_message_sender_name_1) {
++ return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_message_sender_name_1, length_message_sender_name_1);
+ }
+- NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.message_sender_name), sizeof(uint16_t)));
+- NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.message_sender_name, ndr_get_array_length(ndr, &r->in.message_sender_name), sizeof(uint16_t), CH_UTF16));
++ NDR_CHECK(ndr_check_string_terminator(ndr, length_message_sender_name_1, sizeof(uint16_t)));
++ NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.message_sender_name, length_message_sender_name_1, sizeof(uint16_t), CH_UTF16));
+ NDR_PULL_SET_MEM_CTX(ndr, _mem_save_message_sender_name_0, 0);
+ }
+ NDR_CHECK(ndr_pull_array_size(ndr, &r->in.message_buffer));
++ size_message_buffer_1 = ndr_get_array_size(ndr, &r->in.message_buffer);
+ if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
+- NDR_PULL_ALLOC_N(ndr, r->in.message_buffer, ndr_get_array_size(ndr, &r->in.message_buffer));
++ NDR_PULL_ALLOC_N(ndr, r->in.message_buffer, size_message_buffer_1);
+ }
+- NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->in.message_buffer, ndr_get_array_size(ndr, &r->in.message_buffer)));
++ NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->in.message_buffer, size_message_buffer_1));
+ NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.message_size));
+ if (r->in.message_buffer) {
+ NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->in.message_buffer, r->in.message_size));
+@@ -7463,7 +7665,11 @@ static enum ndr_err_code ndr_push_wkssvc_NetrWorkstationStatisticsGet(struct ndr
+ static enum ndr_err_code ndr_pull_wkssvc_NetrWorkstationStatisticsGet(struct ndr_pull *ndr, int flags, struct wkssvc_NetrWorkstationStatisticsGet *r)
+ {
+ uint32_t _ptr_server_name;
++ uint32_t size_server_name_1 = 0;
++ uint32_t length_server_name_1 = 0;
+ uint32_t _ptr_unknown2;
++ uint32_t size_unknown2_1 = 0;
++ uint32_t length_unknown2_1 = 0;
+ uint32_t _ptr_info;
+ TALLOC_CTX *_mem_save_server_name_0;
+ TALLOC_CTX *_mem_save_unknown2_0;
+@@ -7483,11 +7689,13 @@ static enum ndr_err_code ndr_pull_wkssvc_NetrWorkstationStatisticsGet(struct ndr
+ NDR_PULL_SET_MEM_CTX(ndr, r->in.server_name, 0);
+ NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_name));
+ NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_name));
+- if (ndr_get_array_length(ndr, &r->in.server_name) > ndr_get_array_size(ndr, &r->in.server_name)) {
+- return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.server_name), ndr_get_array_length(ndr, &r->in.server_name));
++ size_server_name_1 = ndr_get_array_size(ndr, &r->in.server_name);
++ length_server_name_1 = ndr_get_array_length(ndr, &r->in.server_name);
++ if (length_server_name_1 > size_server_name_1) {
++ return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_server_name_1, length_server_name_1);
+ }
+- NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t)));
+- NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.server_name, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t), CH_UTF16));
++ NDR_CHECK(ndr_check_string_terminator(ndr, length_server_name_1, sizeof(uint16_t)));
++ NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.server_name, length_server_name_1, sizeof(uint16_t), CH_UTF16));
+ NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_name_0, 0);
+ }
+ NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_unknown2));
+@@ -7501,11 +7709,13 @@ static enum ndr_err_code ndr_pull_wkssvc_NetrWorkstationStatisticsGet(struct ndr
+ NDR_PULL_SET_MEM_CTX(ndr, r->in.unknown2, 0);
+ NDR_CHECK(ndr_pull_array_size(ndr, &r->in.unknown2));
+ NDR_CHECK(ndr_pull_array_length(ndr, &r->in.unknown2));
+- if (ndr_get_array_length(ndr, &r->in.unknown2) > ndr_get_array_size(ndr, &r->in.unknown2)) {
+- return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.unknown2), ndr_get_array_length(ndr, &r->in.unknown2));
++ size_unknown2_1 = ndr_get_array_size(ndr, &r->in.unknown2);
++ length_unknown2_1 = ndr_get_array_length(ndr, &r->in.unknown2);
++ if (length_unknown2_1 > size_unknown2_1) {
++ return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_unknown2_1, length_unknown2_1);
+ }
+- NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.unknown2), sizeof(uint16_t)));
+- NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.unknown2, ndr_get_array_length(ndr, &r->in.unknown2), sizeof(uint16_t), CH_UTF16));
++ NDR_CHECK(ndr_check_string_terminator(ndr, length_unknown2_1, sizeof(uint16_t)));
++ NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.unknown2, length_unknown2_1, sizeof(uint16_t), CH_UTF16));
+ NDR_PULL_SET_MEM_CTX(ndr, _mem_save_unknown2_0, 0);
+ }
+ NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.unknown3));
+@@ -7600,14 +7810,18 @@ static enum ndr_err_code ndr_push_wkssvc_NetrLogonDomainNameAdd(struct ndr_push
+
+ static enum ndr_err_code ndr_pull_wkssvc_NetrLogonDomainNameAdd(struct ndr_pull *ndr, int flags, struct wkssvc_NetrLogonDomainNameAdd *r)
+ {
++ uint32_t size_domain_name_1 = 0;
++ uint32_t length_domain_name_1 = 0;
+ if (flags & NDR_IN) {
+ NDR_CHECK(ndr_pull_array_size(ndr, &r->in.domain_name));
+ NDR_CHECK(ndr_pull_array_length(ndr, &r->in.domain_name));
+- if (ndr_get_array_length(ndr, &r->in.domain_name) > ndr_get_array_size(ndr, &r->in.domain_name)) {
+- return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.domain_name), ndr_get_array_length(ndr, &r->in.domain_name));
++ size_domain_name_1 = ndr_get_array_size(ndr, &r->in.domain_name);
++ length_domain_name_1 = ndr_get_array_length(ndr, &r->in.domain_name);
++ if (length_domain_name_1 > size_domain_name_1) {
++ return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_domain_name_1, length_domain_name_1);
+ }
+- NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.domain_name), sizeof(uint16_t)));
+- NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.domain_name, ndr_get_array_length(ndr, &r->in.domain_name), sizeof(uint16_t), CH_UTF16));
++ NDR_CHECK(ndr_check_string_terminator(ndr, length_domain_name_1, sizeof(uint16_t)));
++ NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.domain_name, length_domain_name_1, sizeof(uint16_t), CH_UTF16));
+ }
+ if (flags & NDR_OUT) {
+ NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
+@@ -7659,14 +7873,18 @@ static enum ndr_err_code ndr_push_wkssvc_NetrLogonDomainNameDel(struct ndr_push
+
+ static enum ndr_err_code ndr_pull_wkssvc_NetrLogonDomainNameDel(struct ndr_pull *ndr, int flags, struct wkssvc_NetrLogonDomainNameDel *r)
+ {
++ uint32_t size_domain_name_1 = 0;
++ uint32_t length_domain_name_1 = 0;
+ if (flags & NDR_IN) {
+ NDR_CHECK(ndr_pull_array_size(ndr, &r->in.domain_name));
+ NDR_CHECK(ndr_pull_array_length(ndr, &r->in.domain_name));
+- if (ndr_get_array_length(ndr, &r->in.domain_name) > ndr_get_array_size(ndr, &r->in.domain_name)) {
+- return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.domain_name), ndr_get_array_length(ndr, &r->in.domain_name));
++ size_domain_name_1 = ndr_get_array_size(ndr, &r->in.domain_name);
++ length_domain_name_1 = ndr_get_array_length(ndr, &r->in.domain_name);
++ if (length_domain_name_1 > size_domain_name_1) {
++ return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_domain_name_1, length_domain_name_1);
+ }
+- NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.domain_name), sizeof(uint16_t)));
+- NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.domain_name, ndr_get_array_length(ndr, &r->in.domain_name), sizeof(uint16_t), CH_UTF16));
++ NDR_CHECK(ndr_check_string_terminator(ndr, length_domain_name_1, sizeof(uint16_t)));
++ NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.domain_name, length_domain_name_1, sizeof(uint16_t), CH_UTF16));
+ }
+ if (flags & NDR_OUT) {
+ NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
+@@ -7748,9 +7966,19 @@ static enum ndr_err_code ndr_push_wkssvc_NetrJoinDomain(struct ndr_push *ndr, in
+ static enum ndr_err_code ndr_pull_wkssvc_NetrJoinDomain(struct ndr_pull *ndr, int flags, struct wkssvc_NetrJoinDomain *r)
+ {
+ uint32_t _ptr_server_name;
++ uint32_t size_server_name_1 = 0;
++ uint32_t length_server_name_1 = 0;
++ uint32_t size_domain_name_1 = 0;
++ uint32_t length_domain_name_1 = 0;
+ uint32_t _ptr_account_ou;
++ uint32_t size_account_ou_1 = 0;
++ uint32_t length_account_ou_1 = 0;
+ uint32_t _ptr_Account;
++ uint32_t size_Account_1 = 0;
++ uint32_t length_Account_1 = 0;
+ uint32_t _ptr_password;
++ uint32_t size_password_1 = 0;
++ uint32_t length_password_1 = 0;
+ TALLOC_CTX *_mem_save_server_name_0;
+ TALLOC_CTX *_mem_save_account_ou_0;
+ TALLOC_CTX *_mem_save_Account_0;
+@@ -7767,20 +7995,24 @@ static enum ndr_err_code ndr_pull_wkssvc_NetrJoinDomain(struct ndr_pull *ndr, in
+ NDR_PULL_SET_MEM_CTX(ndr, r->in.server_name, 0);
+ NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_name));
+ NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_name));
+- if (ndr_get_array_length(ndr, &r->in.server_name) > ndr_get_array_size(ndr, &r->in.server_name)) {
+- return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.server_name), ndr_get_array_length(ndr, &r->in.server_name));
++ size_server_name_1 = ndr_get_array_size(ndr, &r->in.server_name);
++ length_server_name_1 = ndr_get_array_length(ndr, &r->in.server_name);
++ if (length_server_name_1 > size_server_name_1) {
++ return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_server_name_1, length_server_name_1);
+ }
+- NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t)));
+- NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.server_name, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t), CH_UTF16));
++ NDR_CHECK(ndr_check_string_terminator(ndr, length_server_name_1, sizeof(uint16_t)));
++ NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.server_name, length_server_name_1, sizeof(uint16_t), CH_UTF16));
+ NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_name_0, 0);
+ }
+ NDR_CHECK(ndr_pull_array_size(ndr, &r->in.domain_name));
+ NDR_CHECK(ndr_pull_array_length(ndr, &r->in.domain_name));
+- if (ndr_get_array_length(ndr, &r->in.domain_name) > ndr_get_array_size(ndr, &r->in.domain_name)) {
+- return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.domain_name), ndr_get_array_length(ndr, &r->in.domain_name));
++ size_domain_name_1 = ndr_get_array_size(ndr, &r->in.domain_name);
++ length_domain_name_1 = ndr_get_array_length(ndr, &r->in.domain_name);
++ if (length_domain_name_1 > size_domain_name_1) {
++ return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_domain_name_1, length_domain_name_1);
+ }
+- NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.domain_name), sizeof(uint16_t)));
+- NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.domain_name, ndr_get_array_length(ndr, &r->in.domain_name), sizeof(uint16_t), CH_UTF16));
++ NDR_CHECK(ndr_check_string_terminator(ndr, length_domain_name_1, sizeof(uint16_t)));
++ NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.domain_name, length_domain_name_1, sizeof(uint16_t), CH_UTF16));
+ NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_account_ou));
+ if (_ptr_account_ou) {
+ NDR_PULL_ALLOC(ndr, r->in.account_ou);
+@@ -7792,11 +8024,13 @@ static enum ndr_err_code ndr_pull_wkssvc_NetrJoinDomain(struct ndr_pull *ndr, in
+ NDR_PULL_SET_MEM_CTX(ndr, r->in.account_ou, 0);
+ NDR_CHECK(ndr_pull_array_size(ndr, &r->in.account_ou));
+ NDR_CHECK(ndr_pull_array_length(ndr, &r->in.account_ou));
+- if (ndr_get_array_length(ndr, &r->in.account_ou) > ndr_get_array_size(ndr, &r->in.account_ou)) {
+- return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.account_ou), ndr_get_array_length(ndr, &r->in.account_ou));
++ size_account_ou_1 = ndr_get_array_size(ndr, &r->in.account_ou);
++ length_account_ou_1 = ndr_get_array_length(ndr, &r->in.account_ou);
++ if (length_account_ou_1 > size_account_ou_1) {
++ return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_account_ou_1, length_account_ou_1);
+ }
+- NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.account_ou), sizeof(uint16_t)));
+- NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.account_ou, ndr_get_array_length(ndr, &r->in.account_ou), sizeof(uint16_t), CH_UTF16));
++ NDR_CHECK(ndr_check_string_terminator(ndr, length_account_ou_1, sizeof(uint16_t)));
++ NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.account_ou, length_account_ou_1, sizeof(uint16_t), CH_UTF16));
+ NDR_PULL_SET_MEM_CTX(ndr, _mem_save_account_ou_0, 0);
+ }
+ NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_Account));
+@@ -7810,11 +8044,13 @@ static enum ndr_err_code ndr_pull_wkssvc_NetrJoinDomain(struct ndr_pull *ndr, in
+ NDR_PULL_SET_MEM_CTX(ndr, r->in.Account, 0);
+ NDR_CHECK(ndr_pull_array_size(ndr, &r->in.Account));
+ NDR_CHECK(ndr_pull_array_length(ndr, &r->in.Account));
+- if (ndr_get_array_length(ndr, &r->in.Account) > ndr_get_array_size(ndr, &r->in.Account)) {
+- return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.Account), ndr_get_array_length(ndr, &r->in.Account));
++ size_Account_1 = ndr_get_array_size(ndr, &r->in.Account);
++ length_Account_1 = ndr_get_array_length(ndr, &r->in.Account);
++ if (length_Account_1 > size_Account_1) {
++ return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_Account_1, length_Account_1);
+ }
+- NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.Account), sizeof(uint16_t)));
+- NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.Account, ndr_get_array_length(ndr, &r->in.Account), sizeof(uint16_t), CH_UTF16));
++ NDR_CHECK(ndr_check_string_terminator(ndr, length_Account_1, sizeof(uint16_t)));
++ NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.Account, length_Account_1, sizeof(uint16_t), CH_UTF16));
+ NDR_PULL_SET_MEM_CTX(ndr, _mem_save_Account_0, 0);
+ }
+ NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_password));
+@@ -7828,11 +8064,13 @@ static enum ndr_err_code ndr_pull_wkssvc_NetrJoinDomain(struct ndr_pull *ndr, in
+ NDR_PULL_SET_MEM_CTX(ndr, r->in.password, 0);
+ NDR_CHECK(ndr_pull_array_size(ndr, &r->in.password));
+ NDR_CHECK(ndr_pull_array_length(ndr, &r->in.password));
+- if (ndr_get_array_length(ndr, &r->in.password) > ndr_get_array_size(ndr, &r->in.password)) {
+- return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.password), ndr_get_array_length(ndr, &r->in.password));
++ size_password_1 = ndr_get_array_size(ndr, &r->in.password);
++ length_password_1 = ndr_get_array_length(ndr, &r->in.password);
++ if (length_password_1 > size_password_1) {
++ return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_password_1, length_password_1);
+ }
+- NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.password), sizeof(uint16_t)));
+- NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.password, ndr_get_array_length(ndr, &r->in.password), sizeof(uint16_t), CH_UTF16));
++ NDR_CHECK(ndr_check_string_terminator(ndr, length_password_1, sizeof(uint16_t)));
++ NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.password, length_password_1, sizeof(uint16_t), CH_UTF16));
+ NDR_PULL_SET_MEM_CTX(ndr, _mem_save_password_0, 0);
+ }
+ NDR_CHECK(ndr_pull_wkssvc_joinflags(ndr, NDR_SCALARS, &r->in.join_flags));
+@@ -7928,8 +8166,14 @@ static enum ndr_err_code ndr_push_wkssvc_NetrUnjoinDomain(struct ndr_push *ndr,
+ static enum ndr_err_code ndr_pull_wkssvc_NetrUnjoinDomain(struct ndr_pull *ndr, int flags, struct wkssvc_NetrUnjoinDomain *r)
+ {
+ uint32_t _ptr_server_name;
++ uint32_t size_server_name_1 = 0;
++ uint32_t length_server_name_1 = 0;
+ uint32_t _ptr_Account;
++ uint32_t size_Account_1 = 0;
++ uint32_t length_Account_1 = 0;
+ uint32_t _ptr_password;
++ uint32_t size_password_1 = 0;
++ uint32_t length_password_1 = 0;
+ TALLOC_CTX *_mem_save_server_name_0;
+ TALLOC_CTX *_mem_save_Account_0;
+ TALLOC_CTX *_mem_save_password_0;
+@@ -7945,11 +8189,13 @@ static enum ndr_err_code ndr_pull_wkssvc_NetrUnjoinDomain(struct ndr_pull *ndr,
+ NDR_PULL_SET_MEM_CTX(ndr, r->in.server_name, 0);
+ NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_name));
+ NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_name));
+- if (ndr_get_array_length(ndr, &r->in.server_name) > ndr_get_array_size(ndr, &r->in.server_name)) {
+- return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.server_name), ndr_get_array_length(ndr, &r->in.server_name));
++ size_server_name_1 = ndr_get_array_size(ndr, &r->in.server_name);
++ length_server_name_1 = ndr_get_array_length(ndr, &r->in.server_name);
++ if (length_server_name_1 > size_server_name_1) {
++ return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_server_name_1, length_server_name_1);
+ }
+- NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t)));
+- NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.server_name, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t), CH_UTF16));
++ NDR_CHECK(ndr_check_string_terminator(ndr, length_server_name_1, sizeof(uint16_t)));
++ NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.server_name, length_server_name_1, sizeof(uint16_t), CH_UTF16));
+ NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_name_0, 0);
+ }
+ NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_Account));
+@@ -7963,11 +8209,13 @@ static enum ndr_err_code ndr_pull_wkssvc_NetrUnjoinDomain(struct ndr_pull *ndr,
+ NDR_PULL_SET_MEM_CTX(ndr, r->in.Account, 0);
+ NDR_CHECK(ndr_pull_array_size(ndr, &r->in.Account));
+ NDR_CHECK(ndr_pull_array_length(ndr, &r->in.Account));
+- if (ndr_get_array_length(ndr, &r->in.Account) > ndr_get_array_size(ndr, &r->in.Account)) {
+- return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.Account), ndr_get_array_length(ndr, &r->in.Account));
++ size_Account_1 = ndr_get_array_size(ndr, &r->in.Account);
++ length_Account_1 = ndr_get_array_length(ndr, &r->in.Account);
++ if (length_Account_1 > size_Account_1) {
++ return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_Account_1, length_Account_1);
+ }
+- NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.Account), sizeof(uint16_t)));
+- NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.Account, ndr_get_array_length(ndr, &r->in.Account), sizeof(uint16_t), CH_UTF16));
++ NDR_CHECK(ndr_check_string_terminator(ndr, length_Account_1, sizeof(uint16_t)));
++ NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.Account, length_Account_1, sizeof(uint16_t), CH_UTF16));
+ NDR_PULL_SET_MEM_CTX(ndr, _mem_save_Account_0, 0);
+ }
+ NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_password));
+@@ -7981,11 +8229,13 @@ static enum ndr_err_code ndr_pull_wkssvc_NetrUnjoinDomain(struct ndr_pull *ndr,
+ NDR_PULL_SET_MEM_CTX(ndr, r->in.password, 0);
+ NDR_CHECK(ndr_pull_array_size(ndr, &r->in.password));
+ NDR_CHECK(ndr_pull_array_length(ndr, &r->in.password));
+- if (ndr_get_array_length(ndr, &r->in.password) > ndr_get_array_size(ndr, &r->in.password)) {
+- return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.password), ndr_get_array_length(ndr, &r->in.password));
++ size_password_1 = ndr_get_array_size(ndr, &r->in.password);
++ length_password_1 = ndr_get_array_length(ndr, &r->in.password);
++ if (length_password_1 > size_password_1) {
++ return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_password_1, length_password_1);
+ }
+- NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.password), sizeof(uint16_t)));
+- NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.password, ndr_get_array_length(ndr, &r->in.password), sizeof(uint16_t), CH_UTF16));
++ NDR_CHECK(ndr_check_string_terminator(ndr, length_password_1, sizeof(uint16_t)));
++ NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.password, length_password_1, sizeof(uint16_t), CH_UTF16));
+ NDR_PULL_SET_MEM_CTX(ndr, _mem_save_password_0, 0);
+ }
+ NDR_CHECK(ndr_pull_wkssvc_joinflags(ndr, NDR_SCALARS, &r->in.unjoin_flags));
+@@ -8078,9 +8328,17 @@ static enum ndr_err_code ndr_push_wkssvc_NetrRenameMachineInDomain(struct ndr_pu
+ static enum ndr_err_code ndr_pull_wkssvc_NetrRenameMachineInDomain(struct ndr_pull *ndr, int flags, struct wkssvc_NetrRenameMachineInDomain *r)
+ {
+ uint32_t _ptr_server_name;
++ uint32_t size_server_name_1 = 0;
++ uint32_t length_server_name_1 = 0;
+ uint32_t _ptr_NewMachineName;
++ uint32_t size_NewMachineName_1 = 0;
++ uint32_t length_NewMachineName_1 = 0;
+ uint32_t _ptr_Account;
++ uint32_t size_Account_1 = 0;
++ uint32_t length_Account_1 = 0;
+ uint32_t _ptr_password;
++ uint32_t size_password_1 = 0;
++ uint32_t length_password_1 = 0;
+ TALLOC_CTX *_mem_save_server_name_0;
+ TALLOC_CTX *_mem_save_NewMachineName_0;
+ TALLOC_CTX *_mem_save_Account_0;
+@@ -8097,11 +8355,13 @@ static enum ndr_err_code ndr_pull_wkssvc_NetrRenameMachineInDomain(struct ndr_pu
+ NDR_PULL_SET_MEM_CTX(ndr, r->in.server_name, 0);
+ NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_name));
+ NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_name));
+- if (ndr_get_array_length(ndr, &r->in.server_name) > ndr_get_array_size(ndr, &r->in.server_name)) {
+- return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.server_name), ndr_get_array_length(ndr, &r->in.server_name));
++ size_server_name_1 = ndr_get_array_size(ndr, &r->in.server_name);
++ length_server_name_1 = ndr_get_array_length(ndr, &r->in.server_name);
++ if (length_server_name_1 > size_server_name_1) {
++ return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_server_name_1, length_server_name_1);
+ }
+- NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t)));
+- NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.server_name, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t), CH_UTF16));
++ NDR_CHECK(ndr_check_string_terminator(ndr, length_server_name_1, sizeof(uint16_t)));
++ NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.server_name, length_server_name_1, sizeof(uint16_t), CH_UTF16));
+ NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_name_0, 0);
+ }
+ NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_NewMachineName));
+@@ -8115,11 +8375,13 @@ static enum ndr_err_code ndr_pull_wkssvc_NetrRenameMachineInDomain(struct ndr_pu
+ NDR_PULL_SET_MEM_CTX(ndr, r->in.NewMachineName, 0);
+ NDR_CHECK(ndr_pull_array_size(ndr, &r->in.NewMachineName));
+ NDR_CHECK(ndr_pull_array_length(ndr, &r->in.NewMachineName));
+- if (ndr_get_array_length(ndr, &r->in.NewMachineName) > ndr_get_array_size(ndr, &r->in.NewMachineName)) {
+- return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.NewMachineName), ndr_get_array_length(ndr, &r->in.NewMachineName));
++ size_NewMachineName_1 = ndr_get_array_size(ndr, &r->in.NewMachineName);
++ length_NewMachineName_1 = ndr_get_array_length(ndr, &r->in.NewMachineName);
++ if (length_NewMachineName_1 > size_NewMachineName_1) {
++ return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_NewMachineName_1, length_NewMachineName_1);
+ }
+- NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.NewMachineName), sizeof(uint16_t)));
+- NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.NewMachineName, ndr_get_array_length(ndr, &r->in.NewMachineName), sizeof(uint16_t), CH_UTF16));
++ NDR_CHECK(ndr_check_string_terminator(ndr, length_NewMachineName_1, sizeof(uint16_t)));
++ NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.NewMachineName, length_NewMachineName_1, sizeof(uint16_t), CH_UTF16));
+ NDR_PULL_SET_MEM_CTX(ndr, _mem_save_NewMachineName_0, 0);
+ }
+ NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_Account));
+@@ -8133,11 +8395,13 @@ static enum ndr_err_code ndr_pull_wkssvc_NetrRenameMachineInDomain(struct ndr_pu
+ NDR_PULL_SET_MEM_CTX(ndr, r->in.Account, 0);
+ NDR_CHECK(ndr_pull_array_size(ndr, &r->in.Account));
+ NDR_CHECK(ndr_pull_array_length(ndr, &r->in.Account));
+- if (ndr_get_array_length(ndr, &r->in.Account) > ndr_get_array_size(ndr, &r->in.Account)) {
+- return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.Account), ndr_get_array_length(ndr, &r->in.Account));
++ size_Account_1 = ndr_get_array_size(ndr, &r->in.Account);
++ length_Account_1 = ndr_get_array_length(ndr, &r->in.Account);
++ if (length_Account_1 > size_Account_1) {
++ return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_Account_1, length_Account_1);
+ }
+- NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.Account), sizeof(uint16_t)));
+- NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.Account, ndr_get_array_length(ndr, &r->in.Account), sizeof(uint16_t), CH_UTF16));
++ NDR_CHECK(ndr_check_string_terminator(ndr, length_Account_1, sizeof(uint16_t)));
++ NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.Account, length_Account_1, sizeof(uint16_t), CH_UTF16));
+ NDR_PULL_SET_MEM_CTX(ndr, _mem_save_Account_0, 0);
+ }
+ NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_password));
+@@ -8151,11 +8415,13 @@ static enum ndr_err_code ndr_pull_wkssvc_NetrRenameMachineInDomain(struct ndr_pu
+ NDR_PULL_SET_MEM_CTX(ndr, r->in.password, 0);
+ NDR_CHECK(ndr_pull_array_size(ndr, &r->in.password));
+ NDR_CHECK(ndr_pull_array_length(ndr, &r->in.password));
+- if (ndr_get_array_length(ndr, &r->in.password) > ndr_get_array_size(ndr, &r->in.password)) {
+- return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.password), ndr_get_array_length(ndr, &r->in.password));
++ size_password_1 = ndr_get_array_size(ndr, &r->in.password);
++ length_password_1 = ndr_get_array_length(ndr, &r->in.password);
++ if (length_password_1 > size_password_1) {
++ return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_password_1, length_password_1);
+ }
+- NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.password), sizeof(uint16_t)));
+- NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.password, ndr_get_array_length(ndr, &r->in.password), sizeof(uint16_t), CH_UTF16));
++ NDR_CHECK(ndr_check_string_terminator(ndr, length_password_1, sizeof(uint16_t)));
++ NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.password, length_password_1, sizeof(uint16_t), CH_UTF16));
+ NDR_PULL_SET_MEM_CTX(ndr, _mem_save_password_0, 0);
+ }
+ NDR_CHECK(ndr_pull_wkssvc_renameflags(ndr, NDR_SCALARS, &r->in.RenameOptions));
+@@ -8254,8 +8520,16 @@ static enum ndr_err_code ndr_push_wkssvc_NetrValidateName(struct ndr_push *ndr,
+ static enum ndr_err_code ndr_pull_wkssvc_NetrValidateName(struct ndr_pull *ndr, int flags, struct wkssvc_NetrValidateName *r)
+ {
+ uint32_t _ptr_server_name;
++ uint32_t size_server_name_1 = 0;
++ uint32_t length_server_name_1 = 0;
++ uint32_t size_name_1 = 0;
++ uint32_t length_name_1 = 0;
+ uint32_t _ptr_Account;
++ uint32_t size_Account_1 = 0;
++ uint32_t length_Account_1 = 0;
+ uint32_t _ptr_Password;
++ uint32_t size_Password_1 = 0;
++ uint32_t length_Password_1 = 0;
+ TALLOC_CTX *_mem_save_server_name_0;
+ TALLOC_CTX *_mem_save_Account_0;
+ TALLOC_CTX *_mem_save_Password_0;
+@@ -8271,20 +8545,24 @@ static enum ndr_err_code ndr_pull_wkssvc_NetrValidateName(struct ndr_pull *ndr,
+ NDR_PULL_SET_MEM_CTX(ndr, r->in.server_name, 0);
+ NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_name));
+ NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_name));
+- if (ndr_get_array_length(ndr, &r->in.server_name) > ndr_get_array_size(ndr, &r->in.server_name)) {
+- return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.server_name), ndr_get_array_length(ndr, &r->in.server_name));
++ size_server_name_1 = ndr_get_array_size(ndr, &r->in.server_name);
++ length_server_name_1 = ndr_get_array_length(ndr, &r->in.server_name);
++ if (length_server_name_1 > size_server_name_1) {
++ return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_server_name_1, length_server_name_1);
+ }
+- NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t)));
+- NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.server_name, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t), CH_UTF16));
++ NDR_CHECK(ndr_check_string_terminator(ndr, length_server_name_1, sizeof(uint16_t)));
++ NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.server_name, length_server_name_1, sizeof(uint16_t), CH_UTF16));
+ NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_name_0, 0);
+ }
+ NDR_CHECK(ndr_pull_array_size(ndr, &r->in.name));
+ NDR_CHECK(ndr_pull_array_length(ndr, &r->in.name));
+- if (ndr_get_array_length(ndr, &r->in.name) > ndr_get_array_size(ndr, &r->in.name)) {
+- return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.name), ndr_get_array_length(ndr, &r->in.name));
++ size_name_1 = ndr_get_array_size(ndr, &r->in.name);
++ length_name_1 = ndr_get_array_length(ndr, &r->in.name);
++ if (length_name_1 > size_name_1) {
++ return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_name_1, length_name_1);
+ }
+- NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.name), sizeof(uint16_t)));
+- NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.name, ndr_get_array_length(ndr, &r->in.name), sizeof(uint16_t), CH_UTF16));
++ NDR_CHECK(ndr_check_string_terminator(ndr, length_name_1, sizeof(uint16_t)));
++ NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.name, length_name_1, sizeof(uint16_t), CH_UTF16));
+ NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_Account));
+ if (_ptr_Account) {
+ NDR_PULL_ALLOC(ndr, r->in.Account);
+@@ -8296,11 +8574,13 @@ static enum ndr_err_code ndr_pull_wkssvc_NetrValidateName(struct ndr_pull *ndr,
+ NDR_PULL_SET_MEM_CTX(ndr, r->in.Account, 0);
+ NDR_CHECK(ndr_pull_array_size(ndr, &r->in.Account));
+ NDR_CHECK(ndr_pull_array_length(ndr, &r->in.Account));
+- if (ndr_get_array_length(ndr, &r->in.Account) > ndr_get_array_size(ndr, &r->in.Account)) {
+- return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.Account), ndr_get_array_length(ndr, &r->in.Account));
++ size_Account_1 = ndr_get_array_size(ndr, &r->in.Account);
++ length_Account_1 = ndr_get_array_length(ndr, &r->in.Account);
++ if (length_Account_1 > size_Account_1) {
++ return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_Account_1, length_Account_1);
+ }
+- NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.Account), sizeof(uint16_t)));
+- NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.Account, ndr_get_array_length(ndr, &r->in.Account), sizeof(uint16_t), CH_UTF16));
++ NDR_CHECK(ndr_check_string_terminator(ndr, length_Account_1, sizeof(uint16_t)));
++ NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.Account, length_Account_1, sizeof(uint16_t), CH_UTF16));
+ NDR_PULL_SET_MEM_CTX(ndr, _mem_save_Account_0, 0);
+ }
+ NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_Password));
+@@ -8314,11 +8594,13 @@ static enum ndr_err_code ndr_pull_wkssvc_NetrValidateName(struct ndr_pull *ndr,
+ NDR_PULL_SET_MEM_CTX(ndr, r->in.Password, 0);
+ NDR_CHECK(ndr_pull_array_size(ndr, &r->in.Password));
+ NDR_CHECK(ndr_pull_array_length(ndr, &r->in.Password));
+- if (ndr_get_array_length(ndr, &r->in.Password) > ndr_get_array_size(ndr, &r->in.Password)) {
+- return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.Password), ndr_get_array_length(ndr, &r->in.Password));
++ size_Password_1 = ndr_get_array_size(ndr, &r->in.Password);
++ length_Password_1 = ndr_get_array_length(ndr, &r->in.Password);
++ if (length_Password_1 > size_Password_1) {
++ return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_Password_1, length_Password_1);
+ }
+- NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.Password), sizeof(uint16_t)));
+- NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.Password, ndr_get_array_length(ndr, &r->in.Password), sizeof(uint16_t), CH_UTF16));
++ NDR_CHECK(ndr_check_string_terminator(ndr, length_Password_1, sizeof(uint16_t)));
++ NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.Password, length_Password_1, sizeof(uint16_t), CH_UTF16));
+ NDR_PULL_SET_MEM_CTX(ndr, _mem_save_Password_0, 0);
+ }
+ NDR_CHECK(ndr_pull_wkssvc_NetValidateNameType(ndr, NDR_SCALARS, &r->in.name_type));
+@@ -8417,7 +8699,11 @@ static enum ndr_err_code ndr_push_wkssvc_NetrGetJoinInformation(struct ndr_push
+ static enum ndr_err_code ndr_pull_wkssvc_NetrGetJoinInformation(struct ndr_pull *ndr, int flags, struct wkssvc_NetrGetJoinInformation *r)
+ {
+ uint32_t _ptr_server_name;
++ uint32_t size_server_name_1 = 0;
++ uint32_t length_server_name_1 = 0;
+ uint32_t _ptr_name_buffer;
++ uint32_t size_name_buffer_2 = 0;
++ uint32_t length_name_buffer_2 = 0;
+ TALLOC_CTX *_mem_save_server_name_0;
+ TALLOC_CTX *_mem_save_name_buffer_0;
+ TALLOC_CTX *_mem_save_name_buffer_1;
+@@ -8436,11 +8722,13 @@ static enum ndr_err_code ndr_pull_wkssvc_NetrGetJoinInformation(struct ndr_pull
+ NDR_PULL_SET_MEM_CTX(ndr, r->in.server_name, 0);
+ NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_name));
+ NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_name));
+- if (ndr_get_array_length(ndr, &r->in.server_name) > ndr_get_array_size(ndr, &r->in.server_name)) {
+- return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.server_name), ndr_get_array_length(ndr, &r->in.server_name));
++ size_server_name_1 = ndr_get_array_size(ndr, &r->in.server_name);
++ length_server_name_1 = ndr_get_array_length(ndr, &r->in.server_name);
++ if (length_server_name_1 > size_server_name_1) {
++ return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_server_name_1, length_server_name_1);
+ }
+- NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t)));
+- NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.server_name, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t), CH_UTF16));
++ NDR_CHECK(ndr_check_string_terminator(ndr, length_server_name_1, sizeof(uint16_t)));
++ NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.server_name, length_server_name_1, sizeof(uint16_t), CH_UTF16));
+ NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_name_0, 0);
+ }
+ if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
+@@ -8459,11 +8747,13 @@ static enum ndr_err_code ndr_pull_wkssvc_NetrGetJoinInformation(struct ndr_pull
+ NDR_PULL_SET_MEM_CTX(ndr, *r->in.name_buffer, 0);
+ NDR_CHECK(ndr_pull_array_size(ndr, r->in.name_buffer));
+ NDR_CHECK(ndr_pull_array_length(ndr, r->in.name_buffer));
+- if (ndr_get_array_length(ndr, r->in.name_buffer) > ndr_get_array_size(ndr, r->in.name_buffer)) {
+- return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, r->in.name_buffer), ndr_get_array_length(ndr, r->in.name_buffer));
++ size_name_buffer_2 = ndr_get_array_size(ndr, r->in.name_buffer);
++ length_name_buffer_2 = ndr_get_array_length(ndr, r->in.name_buffer);
++ if (length_name_buffer_2 > size_name_buffer_2) {
++ return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_name_buffer_2, length_name_buffer_2);
+ }
+- NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, r->in.name_buffer), sizeof(uint16_t)));
+- NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, r->in.name_buffer, ndr_get_array_length(ndr, r->in.name_buffer), sizeof(uint16_t), CH_UTF16));
++ NDR_CHECK(ndr_check_string_terminator(ndr, length_name_buffer_2, sizeof(uint16_t)));
++ NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, r->in.name_buffer, length_name_buffer_2, sizeof(uint16_t), CH_UTF16));
+ NDR_PULL_SET_MEM_CTX(ndr, _mem_save_name_buffer_1, 0);
+ }
+ NDR_PULL_SET_MEM_CTX(ndr, _mem_save_name_buffer_0, LIBNDR_FLAG_REF_ALLOC);
+@@ -8489,11 +8779,13 @@ static enum ndr_err_code ndr_pull_wkssvc_NetrGetJoinInformation(struct ndr_pull
+ NDR_PULL_SET_MEM_CTX(ndr, *r->out.name_buffer, 0);
+ NDR_CHECK(ndr_pull_array_size(ndr, r->out.name_buffer));
+ NDR_CHECK(ndr_pull_array_length(ndr, r->out.name_buffer));
+- if (ndr_get_array_length(ndr, r->out.name_buffer) > ndr_get_array_size(ndr, r->out.name_buffer)) {
+- return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, r->out.name_buffer), ndr_get_array_length(ndr, r->out.name_buffer));
++ size_name_buffer_2 = ndr_get_array_size(ndr, r->out.name_buffer);
++ length_name_buffer_2 = ndr_get_array_length(ndr, r->out.name_buffer);
++ if (length_name_buffer_2 > size_name_buffer_2) {
++ return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_name_buffer_2, length_name_buffer_2);
+ }
+- NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, r->out.name_buffer), sizeof(uint16_t)));
+- NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, r->out.name_buffer, ndr_get_array_length(ndr, r->out.name_buffer), sizeof(uint16_t), CH_UTF16));
++ NDR_CHECK(ndr_check_string_terminator(ndr, length_name_buffer_2, sizeof(uint16_t)));
++ NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, r->out.name_buffer, length_name_buffer_2, sizeof(uint16_t), CH_UTF16));
+ NDR_PULL_SET_MEM_CTX(ndr, _mem_save_name_buffer_1, 0);
+ }
+ NDR_PULL_SET_MEM_CTX(ndr, _mem_save_name_buffer_0, LIBNDR_FLAG_REF_ALLOC);
+@@ -8626,10 +8918,21 @@ static enum ndr_err_code ndr_push_wkssvc_NetrGetJoinableOus(struct ndr_push *ndr
+ static enum ndr_err_code ndr_pull_wkssvc_NetrGetJoinableOus(struct ndr_pull *ndr, int flags, struct wkssvc_NetrGetJoinableOus *r)
+ {
+ uint32_t _ptr_server_name;
++ uint32_t size_server_name_1 = 0;
++ uint32_t length_server_name_1 = 0;
++ uint32_t size_domain_name_1 = 0;
++ uint32_t length_domain_name_1 = 0;
+ uint32_t _ptr_Account;
++ uint32_t size_Account_1 = 0;
++ uint32_t length_Account_1 = 0;
+ uint32_t _ptr_unknown;
++ uint32_t size_unknown_1 = 0;
++ uint32_t length_unknown_1 = 0;
+ uint32_t _ptr_ous;
++ uint32_t size_ous_2 = 0;
+ uint32_t cntr_ous_2;
++ uint32_t size_ous_4 = 0;
++ uint32_t length_ous_4 = 0;
+ TALLOC_CTX *_mem_save_server_name_0;
+ TALLOC_CTX *_mem_save_Account_0;
+ TALLOC_CTX *_mem_save_unknown_0;
+@@ -8652,20 +8955,24 @@ static enum ndr_err_code ndr_pull_wkssvc_NetrGetJoinableOus(struct ndr_pull *ndr
+ NDR_PULL_SET_MEM_CTX(ndr, r->in.server_name, 0);
+ NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_name));
+ NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_name));
+- if (ndr_get_array_length(ndr, &r->in.server_name) > ndr_get_array_size(ndr, &r->in.server_name)) {
+- return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.server_name), ndr_get_array_length(ndr, &r->in.server_name));
++ size_server_name_1 = ndr_get_array_size(ndr, &r->in.server_name);
++ length_server_name_1 = ndr_get_array_length(ndr, &r->in.server_name);
++ if (length_server_name_1 > size_server_name_1) {
++ return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_server_name_1, length_server_name_1);
+ }
+- NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t)));
+- NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.server_name, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t), CH_UTF16));
++ NDR_CHECK(ndr_check_string_terminator(ndr, length_server_name_1, sizeof(uint16_t)));
++ NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.server_name, length_server_name_1, sizeof(uint16_t), CH_UTF16));
+ NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_name_0, 0);
+ }
+ NDR_CHECK(ndr_pull_array_size(ndr, &r->in.domain_name));
+ NDR_CHECK(ndr_pull_array_length(ndr, &r->in.domain_name));
+- if (ndr_get_array_length(ndr, &r->in.domain_name) > ndr_get_array_size(ndr, &r->in.domain_name)) {
+- return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.domain_name), ndr_get_array_length(ndr, &r->in.domain_name));
++ size_domain_name_1 = ndr_get_array_size(ndr, &r->in.domain_name);
++ length_domain_name_1 = ndr_get_array_length(ndr, &r->in.domain_name);
++ if (length_domain_name_1 > size_domain_name_1) {
++ return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_domain_name_1, length_domain_name_1);
+ }
+- NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.domain_name), sizeof(uint16_t)));
+- NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.domain_name, ndr_get_array_length(ndr, &r->in.domain_name), sizeof(uint16_t), CH_UTF16));
++ NDR_CHECK(ndr_check_string_terminator(ndr, length_domain_name_1, sizeof(uint16_t)));
++ NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.domain_name, length_domain_name_1, sizeof(uint16_t), CH_UTF16));
+ NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_Account));
+ if (_ptr_Account) {
+ NDR_PULL_ALLOC(ndr, r->in.Account);
+@@ -8677,11 +8984,13 @@ static enum ndr_err_code ndr_pull_wkssvc_NetrGetJoinableOus(struct ndr_pull *ndr
+ NDR_PULL_SET_MEM_CTX(ndr, r->in.Account, 0);
+ NDR_CHECK(ndr_pull_array_size(ndr, &r->in.Account));
+ NDR_CHECK(ndr_pull_array_length(ndr, &r->in.Account));
+- if (ndr_get_array_length(ndr, &r->in.Account) > ndr_get_array_size(ndr, &r->in.Account)) {
+- return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.Account), ndr_get_array_length(ndr, &r->in.Account));
++ size_Account_1 = ndr_get_array_size(ndr, &r->in.Account);
++ length_Account_1 = ndr_get_array_length(ndr, &r->in.Account);
++ if (length_Account_1 > size_Account_1) {
++ return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_Account_1, length_Account_1);
+ }
+- NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.Account), sizeof(uint16_t)));
+- NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.Account, ndr_get_array_length(ndr, &r->in.Account), sizeof(uint16_t), CH_UTF16));
++ NDR_CHECK(ndr_check_string_terminator(ndr, length_Account_1, sizeof(uint16_t)));
++ NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.Account, length_Account_1, sizeof(uint16_t), CH_UTF16));
+ NDR_PULL_SET_MEM_CTX(ndr, _mem_save_Account_0, 0);
+ }
+ NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_unknown));
+@@ -8695,11 +9004,13 @@ static enum ndr_err_code ndr_pull_wkssvc_NetrGetJoinableOus(struct ndr_pull *ndr
+ NDR_PULL_SET_MEM_CTX(ndr, r->in.unknown, 0);
+ NDR_CHECK(ndr_pull_array_size(ndr, &r->in.unknown));
+ NDR_CHECK(ndr_pull_array_length(ndr, &r->in.unknown));
+- if (ndr_get_array_length(ndr, &r->in.unknown) > ndr_get_array_size(ndr, &r->in.unknown)) {
+- return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.unknown), ndr_get_array_length(ndr, &r->in.unknown));
++ size_unknown_1 = ndr_get_array_size(ndr, &r->in.unknown);
++ length_unknown_1 = ndr_get_array_length(ndr, &r->in.unknown);
++ if (length_unknown_1 > size_unknown_1) {
++ return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_unknown_1, length_unknown_1);
+ }
+- NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.unknown), sizeof(uint16_t)));
+- NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.unknown, ndr_get_array_length(ndr, &r->in.unknown), sizeof(uint16_t), CH_UTF16));
++ NDR_CHECK(ndr_check_string_terminator(ndr, length_unknown_1, sizeof(uint16_t)));
++ NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.unknown, length_unknown_1, sizeof(uint16_t), CH_UTF16));
+ NDR_PULL_SET_MEM_CTX(ndr, _mem_save_unknown_0, 0);
+ }
+ if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
+@@ -8737,10 +9048,11 @@ static enum ndr_err_code ndr_pull_wkssvc_NetrGetJoinableOus(struct ndr_pull *ndr
+ _mem_save_ous_1 = NDR_PULL_GET_MEM_CTX(ndr);
+ NDR_PULL_SET_MEM_CTX(ndr, *r->out.ous, 0);
+ NDR_CHECK(ndr_pull_array_size(ndr, r->out.ous));
+- NDR_PULL_ALLOC_N(ndr, *r->out.ous, ndr_get_array_size(ndr, r->out.ous));
++ size_ous_2 = ndr_get_array_size(ndr, r->out.ous);
++ NDR_PULL_ALLOC_N(ndr, *r->out.ous, size_ous_2);
+ _mem_save_ous_2 = NDR_PULL_GET_MEM_CTX(ndr);
+ NDR_PULL_SET_MEM_CTX(ndr, *r->out.ous, 0);
+- for (cntr_ous_2 = 0; cntr_ous_2 < *r->out.num_ous; cntr_ous_2++) {
++ for (cntr_ous_2 = 0; cntr_ous_2 < size_ous_2; cntr_ous_2++) {
+ NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_ous));
+ if (_ptr_ous) {
+ NDR_PULL_ALLOC(ndr, (*r->out.ous)[cntr_ous_2]);
+@@ -8748,17 +9060,19 @@ static enum ndr_err_code ndr_pull_wkssvc_NetrGetJoinableOus(struct ndr_pull *ndr
+ (*r->out.ous)[cntr_ous_2] = NULL;
+ }
+ }
+- for (cntr_ous_2 = 0; cntr_ous_2 < *r->out.num_ous; cntr_ous_2++) {
++ for (cntr_ous_2 = 0; cntr_ous_2 < size_ous_2; cntr_ous_2++) {
+ if ((*r->out.ous)[cntr_ous_2]) {
+ _mem_save_ous_3 = NDR_PULL_GET_MEM_CTX(ndr);
+ NDR_PULL_SET_MEM_CTX(ndr, (*r->out.ous)[cntr_ous_2], 0);
+ NDR_CHECK(ndr_pull_array_size(ndr, &(*r->out.ous)[cntr_ous_2]));
+ NDR_CHECK(ndr_pull_array_length(ndr, &(*r->out.ous)[cntr_ous_2]));
+- if (ndr_get_array_length(ndr, &(*r->out.ous)[cntr_ous_2]) > ndr_get_array_size(ndr, &(*r->out.ous)[cntr_ous_2])) {
+- return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &(*r->out.ous)[cntr_ous_2]), ndr_get_array_length(ndr, &(*r->out.ous)[cntr_ous_2]));
++ size_ous_4 = ndr_get_array_size(ndr, &(*r->out.ous)[cntr_ous_2]);
++ length_ous_4 = ndr_get_array_length(ndr, &(*r->out.ous)[cntr_ous_2]);
++ if (length_ous_4 > size_ous_4) {
++ return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_ous_4, length_ous_4);
+ }
+- NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &(*r->out.ous)[cntr_ous_2]), sizeof(uint16_t)));
+- NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &(*r->out.ous)[cntr_ous_2], ndr_get_array_length(ndr, &(*r->out.ous)[cntr_ous_2]), sizeof(uint16_t), CH_UTF16));
++ NDR_CHECK(ndr_check_string_terminator(ndr, length_ous_4, sizeof(uint16_t)));
++ NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &(*r->out.ous)[cntr_ous_2], length_ous_4, sizeof(uint16_t), CH_UTF16));
+ NDR_PULL_SET_MEM_CTX(ndr, _mem_save_ous_3, 0);
+ }
+ }
+@@ -8895,8 +9209,16 @@ static enum ndr_err_code ndr_push_wkssvc_NetrJoinDomain2(struct ndr_push *ndr, i
+ static enum ndr_err_code ndr_pull_wkssvc_NetrJoinDomain2(struct ndr_pull *ndr, int flags, struct wkssvc_NetrJoinDomain2 *r)
+ {
+ uint32_t _ptr_server_name;
++ uint32_t size_server_name_1 = 0;
++ uint32_t length_server_name_1 = 0;
++ uint32_t size_domain_name_1 = 0;
++ uint32_t length_domain_name_1 = 0;
+ uint32_t _ptr_account_ou;
++ uint32_t size_account_ou_1 = 0;
++ uint32_t length_account_ou_1 = 0;
+ uint32_t _ptr_admin_account;
++ uint32_t size_admin_account_1 = 0;
++ uint32_t length_admin_account_1 = 0;
+ uint32_t _ptr_encrypted_password;
+ TALLOC_CTX *_mem_save_server_name_0;
+ TALLOC_CTX *_mem_save_account_ou_0;
+@@ -8914,20 +9236,24 @@ static enum ndr_err_code ndr_pull_wkssvc_NetrJoinDomain2(struct ndr_pull *ndr, i
+ NDR_PULL_SET_MEM_CTX(ndr, r->in.server_name, 0);
+ NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_name));
+ NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_name));
+- if (ndr_get_array_length(ndr, &r->in.server_name) > ndr_get_array_size(ndr, &r->in.server_name)) {
+- return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.server_name), ndr_get_array_length(ndr, &r->in.server_name));
++ size_server_name_1 = ndr_get_array_size(ndr, &r->in.server_name);
++ length_server_name_1 = ndr_get_array_length(ndr, &r->in.server_name);
++ if (length_server_name_1 > size_server_name_1) {
++ return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_server_name_1, length_server_name_1);
+ }
+- NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t)));
+- NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.server_name, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t), CH_UTF16));
++ NDR_CHECK(ndr_check_string_terminator(ndr, length_server_name_1, sizeof(uint16_t)));
++ NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.server_name, length_server_name_1, sizeof(uint16_t), CH_UTF16));
+ NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_name_0, 0);
+ }
+ NDR_CHECK(ndr_pull_array_size(ndr, &r->in.domain_name));
+ NDR_CHECK(ndr_pull_array_length(ndr, &r->in.domain_name));
+- if (ndr_get_array_length(ndr, &r->in.domain_name) > ndr_get_array_size(ndr, &r->in.domain_name)) {
+- return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.domain_name), ndr_get_array_length(ndr, &r->in.domain_name));
++ size_domain_name_1 = ndr_get_array_size(ndr, &r->in.domain_name);
++ length_domain_name_1 = ndr_get_array_length(ndr, &r->in.domain_name);
++ if (length_domain_name_1 > size_domain_name_1) {
++ return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_domain_name_1, length_domain_name_1);
+ }
+- NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.domain_name), sizeof(uint16_t)));
+- NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.domain_name, ndr_get_array_length(ndr, &r->in.domain_name), sizeof(uint16_t), CH_UTF16));
++ NDR_CHECK(ndr_check_string_terminator(ndr, length_domain_name_1, sizeof(uint16_t)));
++ NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.domain_name, length_domain_name_1, sizeof(uint16_t), CH_UTF16));
+ NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_account_ou));
+ if (_ptr_account_ou) {
+ NDR_PULL_ALLOC(ndr, r->in.account_ou);
+@@ -8939,11 +9265,13 @@ static enum ndr_err_code ndr_pull_wkssvc_NetrJoinDomain2(struct ndr_pull *ndr, i
+ NDR_PULL_SET_MEM_CTX(ndr, r->in.account_ou, 0);
+ NDR_CHECK(ndr_pull_array_size(ndr, &r->in.account_ou));
+ NDR_CHECK(ndr_pull_array_length(ndr, &r->in.account_ou));
+- if (ndr_get_array_length(ndr, &r->in.account_ou) > ndr_get_array_size(ndr, &r->in.account_ou)) {
+- return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.account_ou), ndr_get_array_length(ndr, &r->in.account_ou));
++ size_account_ou_1 = ndr_get_array_size(ndr, &r->in.account_ou);
++ length_account_ou_1 = ndr_get_array_length(ndr, &r->in.account_ou);
++ if (length_account_ou_1 > size_account_ou_1) {
++ return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_account_ou_1, length_account_ou_1);
+ }
+- NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.account_ou), sizeof(uint16_t)));
+- NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.account_ou, ndr_get_array_length(ndr, &r->in.account_ou), sizeof(uint16_t), CH_UTF16));
++ NDR_CHECK(ndr_check_string_terminator(ndr, length_account_ou_1, sizeof(uint16_t)));
++ NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.account_ou, length_account_ou_1, sizeof(uint16_t), CH_UTF16));
+ NDR_PULL_SET_MEM_CTX(ndr, _mem_save_account_ou_0, 0);
+ }
+ NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_admin_account));
+@@ -8957,11 +9285,13 @@ static enum ndr_err_code ndr_pull_wkssvc_NetrJoinDomain2(struct ndr_pull *ndr, i
+ NDR_PULL_SET_MEM_CTX(ndr, r->in.admin_account, 0);
+ NDR_CHECK(ndr_pull_array_size(ndr, &r->in.admin_account));
+ NDR_CHECK(ndr_pull_array_length(ndr, &r->in.admin_account));
+- if (ndr_get_array_length(ndr, &r->in.admin_account) > ndr_get_array_size(ndr, &r->in.admin_account)) {
+- return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.admin_account), ndr_get_array_length(ndr, &r->in.admin_account));
++ size_admin_account_1 = ndr_get_array_size(ndr, &r->in.admin_account);
++ length_admin_account_1 = ndr_get_array_length(ndr, &r->in.admin_account);
++ if (length_admin_account_1 > size_admin_account_1) {
++ return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_admin_account_1, length_admin_account_1);
+ }
+- NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.admin_account), sizeof(uint16_t)));
+- NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.admin_account, ndr_get_array_length(ndr, &r->in.admin_account), sizeof(uint16_t), CH_UTF16));
++ NDR_CHECK(ndr_check_string_terminator(ndr, length_admin_account_1, sizeof(uint16_t)));
++ NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.admin_account, length_admin_account_1, sizeof(uint16_t), CH_UTF16));
+ NDR_PULL_SET_MEM_CTX(ndr, _mem_save_admin_account_0, 0);
+ }
+ NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_encrypted_password));
+@@ -9066,7 +9396,11 @@ static enum ndr_err_code ndr_push_wkssvc_NetrUnjoinDomain2(struct ndr_push *ndr,
+ static enum ndr_err_code ndr_pull_wkssvc_NetrUnjoinDomain2(struct ndr_pull *ndr, int flags, struct wkssvc_NetrUnjoinDomain2 *r)
+ {
+ uint32_t _ptr_server_name;
++ uint32_t size_server_name_1 = 0;
++ uint32_t length_server_name_1 = 0;
+ uint32_t _ptr_account;
++ uint32_t size_account_1 = 0;
++ uint32_t length_account_1 = 0;
+ uint32_t _ptr_encrypted_password;
+ TALLOC_CTX *_mem_save_server_name_0;
+ TALLOC_CTX *_mem_save_account_0;
+@@ -9083,11 +9417,13 @@ static enum ndr_err_code ndr_pull_wkssvc_NetrUnjoinDomain2(struct ndr_pull *ndr,
+ NDR_PULL_SET_MEM_CTX(ndr, r->in.server_name, 0);
+ NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_name));
+ NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_name));
+- if (ndr_get_array_length(ndr, &r->in.server_name) > ndr_get_array_size(ndr, &r->in.server_name)) {
+- return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.server_name), ndr_get_array_length(ndr, &r->in.server_name));
++ size_server_name_1 = ndr_get_array_size(ndr, &r->in.server_name);
++ length_server_name_1 = ndr_get_array_length(ndr, &r->in.server_name);
++ if (length_server_name_1 > size_server_name_1) {
++ return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_server_name_1, length_server_name_1);
+ }
+- NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t)));
+- NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.server_name, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t), CH_UTF16));
++ NDR_CHECK(ndr_check_string_terminator(ndr, length_server_name_1, sizeof(uint16_t)));
++ NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.server_name, length_server_name_1, sizeof(uint16_t), CH_UTF16));
+ NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_name_0, 0);
+ }
+ NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_account));
+@@ -9101,11 +9437,13 @@ static enum ndr_err_code ndr_pull_wkssvc_NetrUnjoinDomain2(struct ndr_pull *ndr,
+ NDR_PULL_SET_MEM_CTX(ndr, r->in.account, 0);
+ NDR_CHECK(ndr_pull_array_size(ndr, &r->in.account));
+ NDR_CHECK(ndr_pull_array_length(ndr, &r->in.account));
+- if (ndr_get_array_length(ndr, &r->in.account) > ndr_get_array_size(ndr, &r->in.account)) {
+- return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.account), ndr_get_array_length(ndr, &r->in.account));
++ size_account_1 = ndr_get_array_size(ndr, &r->in.account);
++ length_account_1 = ndr_get_array_length(ndr, &r->in.account);
++ if (length_account_1 > size_account_1) {
++ return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_account_1, length_account_1);
+ }
+- NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.account), sizeof(uint16_t)));
+- NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.account, ndr_get_array_length(ndr, &r->in.account), sizeof(uint16_t), CH_UTF16));
++ NDR_CHECK(ndr_check_string_terminator(ndr, length_account_1, sizeof(uint16_t)));
++ NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.account, length_account_1, sizeof(uint16_t), CH_UTF16));
+ NDR_PULL_SET_MEM_CTX(ndr, _mem_save_account_0, 0);
+ }
+ NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_encrypted_password));
+@@ -9207,8 +9545,14 @@ static enum ndr_err_code ndr_push_wkssvc_NetrRenameMachineInDomain2(struct ndr_p
+ static enum ndr_err_code ndr_pull_wkssvc_NetrRenameMachineInDomain2(struct ndr_pull *ndr, int flags, struct wkssvc_NetrRenameMachineInDomain2 *r)
+ {
+ uint32_t _ptr_server_name;
++ uint32_t size_server_name_1 = 0;
++ uint32_t length_server_name_1 = 0;
+ uint32_t _ptr_NewMachineName;
++ uint32_t size_NewMachineName_1 = 0;
++ uint32_t length_NewMachineName_1 = 0;
+ uint32_t _ptr_Account;
++ uint32_t size_Account_1 = 0;
++ uint32_t length_Account_1 = 0;
+ uint32_t _ptr_EncryptedPassword;
+ TALLOC_CTX *_mem_save_server_name_0;
+ TALLOC_CTX *_mem_save_NewMachineName_0;
+@@ -9226,11 +9570,13 @@ static enum ndr_err_code ndr_pull_wkssvc_NetrRenameMachineInDomain2(struct ndr_p
+ NDR_PULL_SET_MEM_CTX(ndr, r->in.server_name, 0);
+ NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_name));
+ NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_name));
+- if (ndr_get_array_length(ndr, &r->in.server_name) > ndr_get_array_size(ndr, &r->in.server_name)) {
+- return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.server_name), ndr_get_array_length(ndr, &r->in.server_name));
++ size_server_name_1 = ndr_get_array_size(ndr, &r->in.server_name);
++ length_server_name_1 = ndr_get_array_length(ndr, &r->in.server_name);
++ if (length_server_name_1 > size_server_name_1) {
++ return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_server_name_1, length_server_name_1);
+ }
+- NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t)));
+- NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.server_name, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t), CH_UTF16));
++ NDR_CHECK(ndr_check_string_terminator(ndr, length_server_name_1, sizeof(uint16_t)));
++ NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.server_name, length_server_name_1, sizeof(uint16_t), CH_UTF16));
+ NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_name_0, 0);
+ }
+ NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_NewMachineName));
+@@ -9244,11 +9590,13 @@ static enum ndr_err_code ndr_pull_wkssvc_NetrRenameMachineInDomain2(struct ndr_p
+ NDR_PULL_SET_MEM_CTX(ndr, r->in.NewMachineName, 0);
+ NDR_CHECK(ndr_pull_array_size(ndr, &r->in.NewMachineName));
+ NDR_CHECK(ndr_pull_array_length(ndr, &r->in.NewMachineName));
+- if (ndr_get_array_length(ndr, &r->in.NewMachineName) > ndr_get_array_size(ndr, &r->in.NewMachineName)) {
+- return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.NewMachineName), ndr_get_array_length(ndr, &r->in.NewMachineName));
++ size_NewMachineName_1 = ndr_get_array_size(ndr, &r->in.NewMachineName);
++ length_NewMachineName_1 = ndr_get_array_length(ndr, &r->in.NewMachineName);
++ if (length_NewMachineName_1 > size_NewMachineName_1) {
++ return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_NewMachineName_1, length_NewMachineName_1);
+ }
+- NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.NewMachineName), sizeof(uint16_t)));
+- NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.NewMachineName, ndr_get_array_length(ndr, &r->in.NewMachineName), sizeof(uint16_t), CH_UTF16));
++ NDR_CHECK(ndr_check_string_terminator(ndr, length_NewMachineName_1, sizeof(uint16_t)));
++ NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.NewMachineName, length_NewMachineName_1, sizeof(uint16_t), CH_UTF16));
+ NDR_PULL_SET_MEM_CTX(ndr, _mem_save_NewMachineName_0, 0);
+ }
+ NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_Account));
+@@ -9262,11 +9610,13 @@ static enum ndr_err_code ndr_pull_wkssvc_NetrRenameMachineInDomain2(struct ndr_p
+ NDR_PULL_SET_MEM_CTX(ndr, r->in.Account, 0);
+ NDR_CHECK(ndr_pull_array_size(ndr, &r->in.Account));
+ NDR_CHECK(ndr_pull_array_length(ndr, &r->in.Account));
+- if (ndr_get_array_length(ndr, &r->in.Account) > ndr_get_array_size(ndr, &r->in.Account)) {
+- return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.Account), ndr_get_array_length(ndr, &r->in.Account));
++ size_Account_1 = ndr_get_array_size(ndr, &r->in.Account);
++ length_Account_1 = ndr_get_array_length(ndr, &r->in.Account);
++ if (length_Account_1 > size_Account_1) {
++ return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_Account_1, length_Account_1);
+ }
+- NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.Account), sizeof(uint16_t)));
+- NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.Account, ndr_get_array_length(ndr, &r->in.Account), sizeof(uint16_t), CH_UTF16));
++ NDR_CHECK(ndr_check_string_terminator(ndr, length_Account_1, sizeof(uint16_t)));
++ NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.Account, length_Account_1, sizeof(uint16_t), CH_UTF16));
+ NDR_PULL_SET_MEM_CTX(ndr, _mem_save_Account_0, 0);
+ }
+ NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_EncryptedPassword));
+@@ -9374,7 +9724,13 @@ static enum ndr_err_code ndr_push_wkssvc_NetrValidateName2(struct ndr_push *ndr,
+ static enum ndr_err_code ndr_pull_wkssvc_NetrValidateName2(struct ndr_pull *ndr, int flags, struct wkssvc_NetrValidateName2 *r)
+ {
+ uint32_t _ptr_server_name;
++ uint32_t size_server_name_1 = 0;
++ uint32_t length_server_name_1 = 0;
++ uint32_t size_name_1 = 0;
++ uint32_t length_name_1 = 0;
+ uint32_t _ptr_Account;
++ uint32_t size_Account_1 = 0;
++ uint32_t length_Account_1 = 0;
+ uint32_t _ptr_EncryptedPassword;
+ TALLOC_CTX *_mem_save_server_name_0;
+ TALLOC_CTX *_mem_save_Account_0;
+@@ -9391,20 +9747,24 @@ static enum ndr_err_code ndr_pull_wkssvc_NetrValidateName2(struct ndr_pull *ndr,
+ NDR_PULL_SET_MEM_CTX(ndr, r->in.server_name, 0);
+ NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_name));
+ NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_name));
+- if (ndr_get_array_length(ndr, &r->in.server_name) > ndr_get_array_size(ndr, &r->in.server_name)) {
+- return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.server_name), ndr_get_array_length(ndr, &r->in.server_name));
++ size_server_name_1 = ndr_get_array_size(ndr, &r->in.server_name);
++ length_server_name_1 = ndr_get_array_length(ndr, &r->in.server_name);
++ if (length_server_name_1 > size_server_name_1) {
++ return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_server_name_1, length_server_name_1);
+ }
+- NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t)));
+- NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.server_name, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t), CH_UTF16));
++ NDR_CHECK(ndr_check_string_terminator(ndr, length_server_name_1, sizeof(uint16_t)));
++ NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.server_name, length_server_name_1, sizeof(uint16_t), CH_UTF16));
+ NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_name_0, 0);
+ }
+ NDR_CHECK(ndr_pull_array_size(ndr, &r->in.name));
+ NDR_CHECK(ndr_pull_array_length(ndr, &r->in.name));
+- if (ndr_get_array_length(ndr, &r->in.name) > ndr_get_array_size(ndr, &r->in.name)) {
+- return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.name), ndr_get_array_length(ndr, &r->in.name));
++ size_name_1 = ndr_get_array_size(ndr, &r->in.name);
++ length_name_1 = ndr_get_array_length(ndr, &r->in.name);
++ if (length_name_1 > size_name_1) {
++ return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_name_1, length_name_1);
+ }
+- NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.name), sizeof(uint16_t)));
+- NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.name, ndr_get_array_length(ndr, &r->in.name), sizeof(uint16_t), CH_UTF16));
++ NDR_CHECK(ndr_check_string_terminator(ndr, length_name_1, sizeof(uint16_t)));
++ NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.name, length_name_1, sizeof(uint16_t), CH_UTF16));
+ NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_Account));
+ if (_ptr_Account) {
+ NDR_PULL_ALLOC(ndr, r->in.Account);
+@@ -9416,11 +9776,13 @@ static enum ndr_err_code ndr_pull_wkssvc_NetrValidateName2(struct ndr_pull *ndr,
+ NDR_PULL_SET_MEM_CTX(ndr, r->in.Account, 0);
+ NDR_CHECK(ndr_pull_array_size(ndr, &r->in.Account));
+ NDR_CHECK(ndr_pull_array_length(ndr, &r->in.Account));
+- if (ndr_get_array_length(ndr, &r->in.Account) > ndr_get_array_size(ndr, &r->in.Account)) {
+- return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.Account), ndr_get_array_length(ndr, &r->in.Account));
++ size_Account_1 = ndr_get_array_size(ndr, &r->in.Account);
++ length_Account_1 = ndr_get_array_length(ndr, &r->in.Account);
++ if (length_Account_1 > size_Account_1) {
++ return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_Account_1, length_Account_1);
+ }
+- NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.Account), sizeof(uint16_t)));
+- NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.Account, ndr_get_array_length(ndr, &r->in.Account), sizeof(uint16_t), CH_UTF16));
++ NDR_CHECK(ndr_check_string_terminator(ndr, length_Account_1, sizeof(uint16_t)));
++ NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.Account, length_Account_1, sizeof(uint16_t), CH_UTF16));
+ NDR_PULL_SET_MEM_CTX(ndr, _mem_save_Account_0, 0);
+ }
+ NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_EncryptedPassword));
+@@ -9552,10 +9914,19 @@ static enum ndr_err_code ndr_push_wkssvc_NetrGetJoinableOus2(struct ndr_push *nd
+ static enum ndr_err_code ndr_pull_wkssvc_NetrGetJoinableOus2(struct ndr_pull *ndr, int flags, struct wkssvc_NetrGetJoinableOus2 *r)
+ {
+ uint32_t _ptr_server_name;
++ uint32_t size_server_name_1 = 0;
++ uint32_t length_server_name_1 = 0;
++ uint32_t size_domain_name_1 = 0;
++ uint32_t length_domain_name_1 = 0;
+ uint32_t _ptr_Account;
++ uint32_t size_Account_1 = 0;
++ uint32_t length_Account_1 = 0;
+ uint32_t _ptr_EncryptedPassword;
+ uint32_t _ptr_ous;
++ uint32_t size_ous_2 = 0;
+ uint32_t cntr_ous_2;
++ uint32_t size_ous_4 = 0;
++ uint32_t length_ous_4 = 0;
+ TALLOC_CTX *_mem_save_server_name_0;
+ TALLOC_CTX *_mem_save_Account_0;
+ TALLOC_CTX *_mem_save_EncryptedPassword_0;
+@@ -9578,20 +9949,24 @@ static enum ndr_err_code ndr_pull_wkssvc_NetrGetJoinableOus2(struct ndr_pull *nd
+ NDR_PULL_SET_MEM_CTX(ndr, r->in.server_name, 0);
+ NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_name));
+ NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_name));
+- if (ndr_get_array_length(ndr, &r->in.server_name) > ndr_get_array_size(ndr, &r->in.server_name)) {
+- return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.server_name), ndr_get_array_length(ndr, &r->in.server_name));
++ size_server_name_1 = ndr_get_array_size(ndr, &r->in.server_name);
++ length_server_name_1 = ndr_get_array_length(ndr, &r->in.server_name);
++ if (length_server_name_1 > size_server_name_1) {
++ return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_server_name_1, length_server_name_1);
+ }
+- NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t)));
+- NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.server_name, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t), CH_UTF16));
++ NDR_CHECK(ndr_check_string_terminator(ndr, length_server_name_1, sizeof(uint16_t)));
++ NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.server_name, length_server_name_1, sizeof(uint16_t), CH_UTF16));
+ NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_name_0, 0);
+ }
+ NDR_CHECK(ndr_pull_array_size(ndr, &r->in.domain_name));
+ NDR_CHECK(ndr_pull_array_length(ndr, &r->in.domain_name));
+- if (ndr_get_array_length(ndr, &r->in.domain_name) > ndr_get_array_size(ndr, &r->in.domain_name)) {
+- return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.domain_name), ndr_get_array_length(ndr, &r->in.domain_name));
++ size_domain_name_1 = ndr_get_array_size(ndr, &r->in.domain_name);
++ length_domain_name_1 = ndr_get_array_length(ndr, &r->in.domain_name);
++ if (length_domain_name_1 > size_domain_name_1) {
++ return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_domain_name_1, length_domain_name_1);
+ }
+- NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.domain_name), sizeof(uint16_t)));
+- NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.domain_name, ndr_get_array_length(ndr, &r->in.domain_name), sizeof(uint16_t), CH_UTF16));
++ NDR_CHECK(ndr_check_string_terminator(ndr, length_domain_name_1, sizeof(uint16_t)));
++ NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.domain_name, length_domain_name_1, sizeof(uint16_t), CH_UTF16));
+ NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_Account));
+ if (_ptr_Account) {
+ NDR_PULL_ALLOC(ndr, r->in.Account);
+@@ -9603,11 +9978,13 @@ static enum ndr_err_code ndr_pull_wkssvc_NetrGetJoinableOus2(struct ndr_pull *nd
+ NDR_PULL_SET_MEM_CTX(ndr, r->in.Account, 0);
+ NDR_CHECK(ndr_pull_array_size(ndr, &r->in.Account));
+ NDR_CHECK(ndr_pull_array_length(ndr, &r->in.Account));
+- if (ndr_get_array_length(ndr, &r->in.Account) > ndr_get_array_size(ndr, &r->in.Account)) {
+- return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.Account), ndr_get_array_length(ndr, &r->in.Account));
++ size_Account_1 = ndr_get_array_size(ndr, &r->in.Account);
++ length_Account_1 = ndr_get_array_length(ndr, &r->in.Account);
++ if (length_Account_1 > size_Account_1) {
++ return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_Account_1, length_Account_1);
+ }
+- NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.Account), sizeof(uint16_t)));
+- NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.Account, ndr_get_array_length(ndr, &r->in.Account), sizeof(uint16_t), CH_UTF16));
++ NDR_CHECK(ndr_check_string_terminator(ndr, length_Account_1, sizeof(uint16_t)));
++ NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.Account, length_Account_1, sizeof(uint16_t), CH_UTF16));
+ NDR_PULL_SET_MEM_CTX(ndr, _mem_save_Account_0, 0);
+ }
+ NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_EncryptedPassword));
+@@ -9657,10 +10034,11 @@ static enum ndr_err_code ndr_pull_wkssvc_NetrGetJoinableOus2(struct ndr_pull *nd
+ _mem_save_ous_1 = NDR_PULL_GET_MEM_CTX(ndr);
+ NDR_PULL_SET_MEM_CTX(ndr, *r->out.ous, 0);
+ NDR_CHECK(ndr_pull_array_size(ndr, r->out.ous));
+- NDR_PULL_ALLOC_N(ndr, *r->out.ous, ndr_get_array_size(ndr, r->out.ous));
++ size_ous_2 = ndr_get_array_size(ndr, r->out.ous);
++ NDR_PULL_ALLOC_N(ndr, *r->out.ous, size_ous_2);
+ _mem_save_ous_2 = NDR_PULL_GET_MEM_CTX(ndr);
+ NDR_PULL_SET_MEM_CTX(ndr, *r->out.ous, 0);
+- for (cntr_ous_2 = 0; cntr_ous_2 < *r->out.num_ous; cntr_ous_2++) {
++ for (cntr_ous_2 = 0; cntr_ous_2 < size_ous_2; cntr_ous_2++) {
+ NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_ous));
+ if (_ptr_ous) {
+ NDR_PULL_ALLOC(ndr, (*r->out.ous)[cntr_ous_2]);
+@@ -9668,17 +10046,19 @@ static enum ndr_err_code ndr_pull_wkssvc_NetrGetJoinableOus2(struct ndr_pull *nd
+ (*r->out.ous)[cntr_ous_2] = NULL;
+ }
+ }
+- for (cntr_ous_2 = 0; cntr_ous_2 < *r->out.num_ous; cntr_ous_2++) {
++ for (cntr_ous_2 = 0; cntr_ous_2 < size_ous_2; cntr_ous_2++) {
+ if ((*r->out.ous)[cntr_ous_2]) {
+ _mem_save_ous_3 = NDR_PULL_GET_MEM_CTX(ndr);
+ NDR_PULL_SET_MEM_CTX(ndr, (*r->out.ous)[cntr_ous_2], 0);
+ NDR_CHECK(ndr_pull_array_size(ndr, &(*r->out.ous)[cntr_ous_2]));
+ NDR_CHECK(ndr_pull_array_length(ndr, &(*r->out.ous)[cntr_ous_2]));
+- if (ndr_get_array_length(ndr, &(*r->out.ous)[cntr_ous_2]) > ndr_get_array_size(ndr, &(*r->out.ous)[cntr_ous_2])) {
+- return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &(*r->out.ous)[cntr_ous_2]), ndr_get_array_length(ndr, &(*r->out.ous)[cntr_ous_2]));
++ size_ous_4 = ndr_get_array_size(ndr, &(*r->out.ous)[cntr_ous_2]);
++ length_ous_4 = ndr_get_array_length(ndr, &(*r->out.ous)[cntr_ous_2]);
++ if (length_ous_4 > size_ous_4) {
++ return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_ous_4, length_ous_4);
+ }
+- NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &(*r->out.ous)[cntr_ous_2]), sizeof(uint16_t)));
+- NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &(*r->out.ous)[cntr_ous_2], ndr_get_array_length(ndr, &(*r->out.ous)[cntr_ous_2]), sizeof(uint16_t), CH_UTF16));
++ NDR_CHECK(ndr_check_string_terminator(ndr, length_ous_4, sizeof(uint16_t)));
++ NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &(*r->out.ous)[cntr_ous_2], length_ous_4, sizeof(uint16_t), CH_UTF16));
+ NDR_PULL_SET_MEM_CTX(ndr, _mem_save_ous_3, 0);
+ }
+ }
+@@ -9808,8 +10188,14 @@ static enum ndr_err_code ndr_push_wkssvc_NetrAddAlternateComputerName(struct ndr
+ static enum ndr_err_code ndr_pull_wkssvc_NetrAddAlternateComputerName(struct ndr_pull *ndr, int flags, struct wkssvc_NetrAddAlternateComputerName *r)
+ {
+ uint32_t _ptr_server_name;
++ uint32_t size_server_name_1 = 0;
++ uint32_t length_server_name_1 = 0;
+ uint32_t _ptr_NewAlternateMachineName;
++ uint32_t size_NewAlternateMachineName_1 = 0;
++ uint32_t length_NewAlternateMachineName_1 = 0;
+ uint32_t _ptr_Account;
++ uint32_t size_Account_1 = 0;
++ uint32_t length_Account_1 = 0;
+ uint32_t _ptr_EncryptedPassword;
+ TALLOC_CTX *_mem_save_server_name_0;
+ TALLOC_CTX *_mem_save_NewAlternateMachineName_0;
+@@ -9827,11 +10213,13 @@ static enum ndr_err_code ndr_pull_wkssvc_NetrAddAlternateComputerName(struct ndr
+ NDR_PULL_SET_MEM_CTX(ndr, r->in.server_name, 0);
+ NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_name));
+ NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_name));
+- if (ndr_get_array_length(ndr, &r->in.server_name) > ndr_get_array_size(ndr, &r->in.server_name)) {
+- return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.server_name), ndr_get_array_length(ndr, &r->in.server_name));
++ size_server_name_1 = ndr_get_array_size(ndr, &r->in.server_name);
++ length_server_name_1 = ndr_get_array_length(ndr, &r->in.server_name);
++ if (length_server_name_1 > size_server_name_1) {
++ return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_server_name_1, length_server_name_1);
+ }
+- NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t)));
+- NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.server_name, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t), CH_UTF16));
++ NDR_CHECK(ndr_check_string_terminator(ndr, length_server_name_1, sizeof(uint16_t)));
++ NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.server_name, length_server_name_1, sizeof(uint16_t), CH_UTF16));
+ NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_name_0, 0);
+ }
+ NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_NewAlternateMachineName));
+@@ -9845,11 +10233,13 @@ static enum ndr_err_code ndr_pull_wkssvc_NetrAddAlternateComputerName(struct ndr
+ NDR_PULL_SET_MEM_CTX(ndr, r->in.NewAlternateMachineName, 0);
+ NDR_CHECK(ndr_pull_array_size(ndr, &r->in.NewAlternateMachineName));
+ NDR_CHECK(ndr_pull_array_length(ndr, &r->in.NewAlternateMachineName));
+- if (ndr_get_array_length(ndr, &r->in.NewAlternateMachineName) > ndr_get_array_size(ndr, &r->in.NewAlternateMachineName)) {
+- return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.NewAlternateMachineName), ndr_get_array_length(ndr, &r->in.NewAlternateMachineName));
++ size_NewAlternateMachineName_1 = ndr_get_array_size(ndr, &r->in.NewAlternateMachineName);
++ length_NewAlternateMachineName_1 = ndr_get_array_length(ndr, &r->in.NewAlternateMachineName);
++ if (length_NewAlternateMachineName_1 > size_NewAlternateMachineName_1) {
++ return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_NewAlternateMachineName_1, length_NewAlternateMachineName_1);
+ }
+- NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.NewAlternateMachineName), sizeof(uint16_t)));
+- NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.NewAlternateMachineName, ndr_get_array_length(ndr, &r->in.NewAlternateMachineName), sizeof(uint16_t), CH_UTF16));
++ NDR_CHECK(ndr_check_string_terminator(ndr, length_NewAlternateMachineName_1, sizeof(uint16_t)));
++ NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.NewAlternateMachineName, length_NewAlternateMachineName_1, sizeof(uint16_t), CH_UTF16));
+ NDR_PULL_SET_MEM_CTX(ndr, _mem_save_NewAlternateMachineName_0, 0);
+ }
+ NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_Account));
+@@ -9863,11 +10253,13 @@ static enum ndr_err_code ndr_pull_wkssvc_NetrAddAlternateComputerName(struct ndr
+ NDR_PULL_SET_MEM_CTX(ndr, r->in.Account, 0);
+ NDR_CHECK(ndr_pull_array_size(ndr, &r->in.Account));
+ NDR_CHECK(ndr_pull_array_length(ndr, &r->in.Account));
+- if (ndr_get_array_length(ndr, &r->in.Account) > ndr_get_array_size(ndr, &r->in.Account)) {
+- return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.Account), ndr_get_array_length(ndr, &r->in.Account));
++ size_Account_1 = ndr_get_array_size(ndr, &r->in.Account);
++ length_Account_1 = ndr_get_array_length(ndr, &r->in.Account);
++ if (length_Account_1 > size_Account_1) {
++ return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_Account_1, length_Account_1);
+ }
+- NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.Account), sizeof(uint16_t)));
+- NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.Account, ndr_get_array_length(ndr, &r->in.Account), sizeof(uint16_t), CH_UTF16));
++ NDR_CHECK(ndr_check_string_terminator(ndr, length_Account_1, sizeof(uint16_t)));
++ NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.Account, length_Account_1, sizeof(uint16_t), CH_UTF16));
+ NDR_PULL_SET_MEM_CTX(ndr, _mem_save_Account_0, 0);
+ }
+ NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_EncryptedPassword));
+@@ -9975,8 +10367,14 @@ static enum ndr_err_code ndr_push_wkssvc_NetrRemoveAlternateComputerName(struct
+ static enum ndr_err_code ndr_pull_wkssvc_NetrRemoveAlternateComputerName(struct ndr_pull *ndr, int flags, struct wkssvc_NetrRemoveAlternateComputerName *r)
+ {
+ uint32_t _ptr_server_name;
++ uint32_t size_server_name_1 = 0;
++ uint32_t length_server_name_1 = 0;
+ uint32_t _ptr_AlternateMachineNameToRemove;
++ uint32_t size_AlternateMachineNameToRemove_1 = 0;
++ uint32_t length_AlternateMachineNameToRemove_1 = 0;
+ uint32_t _ptr_Account;
++ uint32_t size_Account_1 = 0;
++ uint32_t length_Account_1 = 0;
+ uint32_t _ptr_EncryptedPassword;
+ TALLOC_CTX *_mem_save_server_name_0;
+ TALLOC_CTX *_mem_save_AlternateMachineNameToRemove_0;
+@@ -9994,11 +10392,13 @@ static enum ndr_err_code ndr_pull_wkssvc_NetrRemoveAlternateComputerName(struct
+ NDR_PULL_SET_MEM_CTX(ndr, r->in.server_name, 0);
+ NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_name));
+ NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_name));
+- if (ndr_get_array_length(ndr, &r->in.server_name) > ndr_get_array_size(ndr, &r->in.server_name)) {
+- return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.server_name), ndr_get_array_length(ndr, &r->in.server_name));
++ size_server_name_1 = ndr_get_array_size(ndr, &r->in.server_name);
++ length_server_name_1 = ndr_get_array_length(ndr, &r->in.server_name);
++ if (length_server_name_1 > size_server_name_1) {
++ return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_server_name_1, length_server_name_1);
+ }
+- NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t)));
+- NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.server_name, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t), CH_UTF16));
++ NDR_CHECK(ndr_check_string_terminator(ndr, length_server_name_1, sizeof(uint16_t)));
++ NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.server_name, length_server_name_1, sizeof(uint16_t), CH_UTF16));
+ NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_name_0, 0);
+ }
+ NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_AlternateMachineNameToRemove));
+@@ -10012,11 +10412,13 @@ static enum ndr_err_code ndr_pull_wkssvc_NetrRemoveAlternateComputerName(struct
+ NDR_PULL_SET_MEM_CTX(ndr, r->in.AlternateMachineNameToRemove, 0);
+ NDR_CHECK(ndr_pull_array_size(ndr, &r->in.AlternateMachineNameToRemove));
+ NDR_CHECK(ndr_pull_array_length(ndr, &r->in.AlternateMachineNameToRemove));
+- if (ndr_get_array_length(ndr, &r->in.AlternateMachineNameToRemove) > ndr_get_array_size(ndr, &r->in.AlternateMachineNameToRemove)) {
+- return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.AlternateMachineNameToRemove), ndr_get_array_length(ndr, &r->in.AlternateMachineNameToRemove));
++ size_AlternateMachineNameToRemove_1 = ndr_get_array_size(ndr, &r->in.AlternateMachineNameToRemove);
++ length_AlternateMachineNameToRemove_1 = ndr_get_array_length(ndr, &r->in.AlternateMachineNameToRemove);
++ if (length_AlternateMachineNameToRemove_1 > size_AlternateMachineNameToRemove_1) {
++ return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_AlternateMachineNameToRemove_1, length_AlternateMachineNameToRemove_1);
+ }
+- NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.AlternateMachineNameToRemove), sizeof(uint16_t)));
+- NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.AlternateMachineNameToRemove, ndr_get_array_length(ndr, &r->in.AlternateMachineNameToRemove), sizeof(uint16_t), CH_UTF16));
++ NDR_CHECK(ndr_check_string_terminator(ndr, length_AlternateMachineNameToRemove_1, sizeof(uint16_t)));
++ NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.AlternateMachineNameToRemove, length_AlternateMachineNameToRemove_1, sizeof(uint16_t), CH_UTF16));
+ NDR_PULL_SET_MEM_CTX(ndr, _mem_save_AlternateMachineNameToRemove_0, 0);
+ }
+ NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_Account));
+@@ -10030,11 +10432,13 @@ static enum ndr_err_code ndr_pull_wkssvc_NetrRemoveAlternateComputerName(struct
+ NDR_PULL_SET_MEM_CTX(ndr, r->in.Account, 0);
+ NDR_CHECK(ndr_pull_array_size(ndr, &r->in.Account));
+ NDR_CHECK(ndr_pull_array_length(ndr, &r->in.Account));
+- if (ndr_get_array_length(ndr, &r->in.Account) > ndr_get_array_size(ndr, &r->in.Account)) {
+- return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.Account), ndr_get_array_length(ndr, &r->in.Account));
++ size_Account_1 = ndr_get_array_size(ndr, &r->in.Account);
++ length_Account_1 = ndr_get_array_length(ndr, &r->in.Account);
++ if (length_Account_1 > size_Account_1) {
++ return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_Account_1, length_Account_1);
+ }
+- NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.Account), sizeof(uint16_t)));
+- NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.Account, ndr_get_array_length(ndr, &r->in.Account), sizeof(uint16_t), CH_UTF16));
++ NDR_CHECK(ndr_check_string_terminator(ndr, length_Account_1, sizeof(uint16_t)));
++ NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.Account, length_Account_1, sizeof(uint16_t), CH_UTF16));
+ NDR_PULL_SET_MEM_CTX(ndr, _mem_save_Account_0, 0);
+ }
+ NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_EncryptedPassword));
+@@ -10142,8 +10546,14 @@ static enum ndr_err_code ndr_push_wkssvc_NetrSetPrimaryComputername(struct ndr_p
+ static enum ndr_err_code ndr_pull_wkssvc_NetrSetPrimaryComputername(struct ndr_pull *ndr, int flags, struct wkssvc_NetrSetPrimaryComputername *r)
+ {
+ uint32_t _ptr_server_name;
++ uint32_t size_server_name_1 = 0;
++ uint32_t length_server_name_1 = 0;
+ uint32_t _ptr_primary_name;
++ uint32_t size_primary_name_1 = 0;
++ uint32_t length_primary_name_1 = 0;
+ uint32_t _ptr_Account;
++ uint32_t size_Account_1 = 0;
++ uint32_t length_Account_1 = 0;
+ uint32_t _ptr_EncryptedPassword;
+ TALLOC_CTX *_mem_save_server_name_0;
+ TALLOC_CTX *_mem_save_primary_name_0;
+@@ -10161,11 +10571,13 @@ static enum ndr_err_code ndr_pull_wkssvc_NetrSetPrimaryComputername(struct ndr_p
+ NDR_PULL_SET_MEM_CTX(ndr, r->in.server_name, 0);
+ NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_name));
+ NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_name));
+- if (ndr_get_array_length(ndr, &r->in.server_name) > ndr_get_array_size(ndr, &r->in.server_name)) {
+- return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.server_name), ndr_get_array_length(ndr, &r->in.server_name));
++ size_server_name_1 = ndr_get_array_size(ndr, &r->in.server_name);
++ length_server_name_1 = ndr_get_array_length(ndr, &r->in.server_name);
++ if (length_server_name_1 > size_server_name_1) {
++ return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_server_name_1, length_server_name_1);
+ }
+- NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t)));
+- NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.server_name, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t), CH_UTF16));
++ NDR_CHECK(ndr_check_string_terminator(ndr, length_server_name_1, sizeof(uint16_t)));
++ NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.server_name, length_server_name_1, sizeof(uint16_t), CH_UTF16));
+ NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_name_0, 0);
+ }
+ NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_primary_name));
+@@ -10179,11 +10591,13 @@ static enum ndr_err_code ndr_pull_wkssvc_NetrSetPrimaryComputername(struct ndr_p
+ NDR_PULL_SET_MEM_CTX(ndr, r->in.primary_name, 0);
+ NDR_CHECK(ndr_pull_array_size(ndr, &r->in.primary_name));
+ NDR_CHECK(ndr_pull_array_length(ndr, &r->in.primary_name));
+- if (ndr_get_array_length(ndr, &r->in.primary_name) > ndr_get_array_size(ndr, &r->in.primary_name)) {
+- return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.primary_name), ndr_get_array_length(ndr, &r->in.primary_name));
++ size_primary_name_1 = ndr_get_array_size(ndr, &r->in.primary_name);
++ length_primary_name_1 = ndr_get_array_length(ndr, &r->in.primary_name);
++ if (length_primary_name_1 > size_primary_name_1) {
++ return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_primary_name_1, length_primary_name_1);
+ }
+- NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.primary_name), sizeof(uint16_t)));
+- NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.primary_name, ndr_get_array_length(ndr, &r->in.primary_name), sizeof(uint16_t), CH_UTF16));
++ NDR_CHECK(ndr_check_string_terminator(ndr, length_primary_name_1, sizeof(uint16_t)));
++ NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.primary_name, length_primary_name_1, sizeof(uint16_t), CH_UTF16));
+ NDR_PULL_SET_MEM_CTX(ndr, _mem_save_primary_name_0, 0);
+ }
+ NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_Account));
+@@ -10197,11 +10611,13 @@ static enum ndr_err_code ndr_pull_wkssvc_NetrSetPrimaryComputername(struct ndr_p
+ NDR_PULL_SET_MEM_CTX(ndr, r->in.Account, 0);
+ NDR_CHECK(ndr_pull_array_size(ndr, &r->in.Account));
+ NDR_CHECK(ndr_pull_array_length(ndr, &r->in.Account));
+- if (ndr_get_array_length(ndr, &r->in.Account) > ndr_get_array_size(ndr, &r->in.Account)) {
+- return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.Account), ndr_get_array_length(ndr, &r->in.Account));
++ size_Account_1 = ndr_get_array_size(ndr, &r->in.Account);
++ length_Account_1 = ndr_get_array_length(ndr, &r->in.Account);
++ if (length_Account_1 > size_Account_1) {
++ return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_Account_1, length_Account_1);
+ }
+- NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.Account), sizeof(uint16_t)));
+- NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.Account, ndr_get_array_length(ndr, &r->in.Account), sizeof(uint16_t), CH_UTF16));
++ NDR_CHECK(ndr_check_string_terminator(ndr, length_Account_1, sizeof(uint16_t)));
++ NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.Account, length_Account_1, sizeof(uint16_t), CH_UTF16));
+ NDR_PULL_SET_MEM_CTX(ndr, _mem_save_Account_0, 0);
+ }
+ NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_EncryptedPassword));
+@@ -10299,6 +10715,8 @@ static enum ndr_err_code ndr_push_wkssvc_NetrEnumerateComputerNames(struct ndr_p
+ static enum ndr_err_code ndr_pull_wkssvc_NetrEnumerateComputerNames(struct ndr_pull *ndr, int flags, struct wkssvc_NetrEnumerateComputerNames *r)
+ {
+ uint32_t _ptr_server_name;
++ uint32_t size_server_name_1 = 0;
++ uint32_t length_server_name_1 = 0;
+ uint32_t _ptr_ctr;
+ TALLOC_CTX *_mem_save_server_name_0;
+ TALLOC_CTX *_mem_save_ctr_0;
+@@ -10317,11 +10735,13 @@ static enum ndr_err_code ndr_pull_wkssvc_NetrEnumerateComputerNames(struct ndr_p
+ NDR_PULL_SET_MEM_CTX(ndr, r->in.server_name, 0);
+ NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_name));
+ NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_name));
+- if (ndr_get_array_length(ndr, &r->in.server_name) > ndr_get_array_size(ndr, &r->in.server_name)) {
+- return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.server_name), ndr_get_array_length(ndr, &r->in.server_name));
++ size_server_name_1 = ndr_get_array_size(ndr, &r->in.server_name);
++ length_server_name_1 = ndr_get_array_length(ndr, &r->in.server_name);
++ if (length_server_name_1 > size_server_name_1) {
++ return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_server_name_1, length_server_name_1);
+ }
+- NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t)));
+- NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.server_name, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t), CH_UTF16));
++ NDR_CHECK(ndr_check_string_terminator(ndr, length_server_name_1, sizeof(uint16_t)));
++ NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.server_name, length_server_name_1, sizeof(uint16_t), CH_UTF16));
+ NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_name_0, 0);
+ }
+ NDR_CHECK(ndr_pull_wkssvc_ComputerNameType(ndr, NDR_SCALARS, &r->in.name_type));
+diff --git a/source/librpc/gen_ndr/ndr_xattr.c b/source/librpc/gen_ndr/ndr_xattr.c
+index ccbcc04..474a18e 100644
+--- a/source/librpc/gen_ndr/ndr_xattr.c
++++ b/source/librpc/gen_ndr/ndr_xattr.c
+@@ -63,15 +63,17 @@ _PUBLIC_ enum ndr_err_code ndr_push_tdb_xattrs(struct ndr_push *ndr, int ndr_fla
+
+ _PUBLIC_ enum ndr_err_code ndr_pull_tdb_xattrs(struct ndr_pull *ndr, int ndr_flags, struct tdb_xattrs *r)
+ {
++ uint32_t size_xattrs_0 = 0;
+ uint32_t cntr_xattrs_0;
+ TALLOC_CTX *_mem_save_xattrs_0;
+ if (ndr_flags & NDR_SCALARS) {
+ NDR_CHECK(ndr_pull_align(ndr, 4));
+ NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->num_xattrs));
+- NDR_PULL_ALLOC_N(ndr, r->xattrs, r->num_xattrs);
++ size_xattrs_0 = r->num_xattrs;
++ NDR_PULL_ALLOC_N(ndr, r->xattrs, size_xattrs_0);
+ _mem_save_xattrs_0 = NDR_PULL_GET_MEM_CTX(ndr);
+ NDR_PULL_SET_MEM_CTX(ndr, r->xattrs, 0);
+- for (cntr_xattrs_0 = 0; cntr_xattrs_0 < r->num_xattrs; cntr_xattrs_0++) {
++ for (cntr_xattrs_0 = 0; cntr_xattrs_0 < size_xattrs_0; cntr_xattrs_0++) {
+ NDR_CHECK(ndr_pull_tdb_xattr(ndr, NDR_SCALARS, &r->xattrs[cntr_xattrs_0]));
+ }
+ NDR_PULL_SET_MEM_CTX(ndr, _mem_save_xattrs_0, 0);
+--
+1.7.4.1
+
diff --git a/patches/source/samba/samba-3.3.12-CVE-2010-2063.patch b/patches/source/samba/samba-3.3.12-CVE-2010-2063.patch
new file mode 100644
index 00000000..1a55e5fe
--- /dev/null
+++ b/patches/source/samba/samba-3.3.12-CVE-2010-2063.patch
@@ -0,0 +1,37 @@
+diff --git a/source/smbd/process.c b/source/smbd/process.c
+index 446b868..403c7c6 100644
+--- a/source/smbd/process.c
++++ b/source/smbd/process.c
+@@ -1645,6 +1645,7 @@ void construct_reply_common(const char *inbuf, char *outbuf)
+ void chain_reply(struct smb_request *req)
+ {
+ static char *orig_inbuf;
++ static int orig_size;
+
+ /*
+ * Dirty little const_discard: We mess with req->inbuf, which is
+@@ -1679,13 +1680,24 @@ void chain_reply(struct smb_request *req)
+ if (chain_size == 0) {
+ /* this is the first part of the chain */
+ orig_inbuf = inbuf;
++ orig_size = size;
+ }
+
++ /* Validate smb_off2 */
++ if ((smb_off2 < smb_wct - 4) || orig_size < (smb_off2 + 4 - smb_wct)) {
++ exit_server_cleanly("Bad chained packet");
++ return;
++ }
+ /*
+ * We need to save the output the caller added to the chain so that we
+ * can splice it into the final output buffer later.
+ */
+
++ if (outsize <= smb_wct) {
++ exit_server_cleanly("Bad chained packet");
++ return;
++ }
++
+ caller_outputlen = outsize - smb_wct;
+
+ caller_output = (char *)memdup(outbuf + smb_wct, caller_outputlen);
diff --git a/patches/source/samba/samba.3-2-fd_set.CVE-2011-0719.patch b/patches/source/samba/samba.3-2-fd_set.CVE-2011-0719.patch
new file mode 100644
index 00000000..2ba252ba
--- /dev/null
+++ b/patches/source/samba/samba.3-2-fd_set.CVE-2011-0719.patch
@@ -0,0 +1,541 @@
+diff --git a/source/client/client.c b/source/client/client.c
+index 824dc32..0b095e5 100644
+--- a/source/client/client.c
++++ b/source/client/client.c
+@@ -4369,8 +4369,10 @@ static void readline_callback(void)
+
+ again:
+
+- if (cli->fd == -1)
++ if (cli->fd < 0 || cli->fd >= FD_SETSIZE) {
++ errno = EBADF;
+ return;
++ }
+
+ FD_ZERO(&fds);
+ FD_SET(cli->fd,&fds);
+diff --git a/source/client/dnsbrowse.c b/source/client/dnsbrowse.c
+index 5e3a4de..aa2fb22 100644
+--- a/source/client/dnsbrowse.c
++++ b/source/client/dnsbrowse.c
+@@ -81,6 +81,11 @@ static void do_smb_resolve(struct mdns_smbsrv_result *browsesrv)
+ TALLOC_FREE(fdset);
+ }
+
++ if (mdnsfd < 0 || mdnsfd >= FD_SETSIZE) {
++ errno = EBADF;
++ break;
++ }
++
+ fdsetsz = howmany(mdnsfd + 1, NFDBITS) * sizeof(fd_mask);
+ fdset = TALLOC_ZERO(ctx, fdsetsz);
+ FD_SET(mdnsfd, fdset);
+@@ -183,6 +188,13 @@ int do_smb_browse(void)
+
+ fdsetsz = howmany(mdnsfd + 1, NFDBITS) * sizeof(fd_mask);
+ fdset = TALLOC_ZERO(ctx, fdsetsz);
++
++ if (mdnsfd < 0 || mdnsfd >= FD_SETSIZE) {
++ errno = EBADF;
++ TALLOC_FREE(ctx);
++ return 1;
++ }
++
+ FD_SET(mdnsfd, fdset);
+
+ tv.tv_sec = 1;
+diff --git a/source/lib/events.c b/source/lib/events.c
+index 9d809fb..691daef 100644
+--- a/source/lib/events.c
++++ b/source/lib/events.c
+@@ -152,6 +152,11 @@ struct fd_event *event_add_fd(struct event_context *event_ctx,
+ {
+ struct fd_event *fde;
+
++ if (fd < 0 || fd >= FD_SETSIZE) {
++ errno = EBADF;
++ return NULL;
++ }
++
+ if (!(fde = TALLOC_P(mem_ctx, struct fd_event))) {
+ return NULL;
+ }
+@@ -202,6 +207,14 @@ bool event_add_to_select_args(struct event_context *event_ctx,
+ bool ret = False;
+
+ for (fde = event_ctx->fd_events; fde; fde = fde->next) {
++ if (fde->fd < 0 || fde->fd >= FD_SETSIZE) {
++ /* We ignore here, as it shouldn't be
++ possible to add an invalid fde->fd
++ but we don't want FD_SET to see an
++ invalid fd. */
++ continue;
++ }
++
+ if (fde->flags & EVENT_FD_READ) {
+ FD_SET(fde->fd, read_fds);
+ ret = True;
+diff --git a/source/lib/packet.c b/source/lib/packet.c
+index e048616..512c7f2 100644
+--- a/source/lib/packet.c
++++ b/source/lib/packet.c
+@@ -106,6 +106,11 @@ NTSTATUS packet_fd_read_sync(struct packet_context *ctx)
+ int res;
+ fd_set r_fds;
+
++ if (ctx->fd < 0 || ctx->fd >= FD_SETSIZE) {
++ errno = EBADF;
++ return map_nt_error_from_unix(errno);
++ }
++
+ FD_ZERO(&r_fds);
+ FD_SET(ctx->fd, &r_fds);
+
+diff --git a/source/lib/readline.c b/source/lib/readline.c
+index 5fa0ea6..a29eec8 100644
+--- a/source/lib/readline.c
++++ b/source/lib/readline.c
+@@ -91,6 +91,11 @@ static char *smb_readline_replacement(const char *prompt, void (*callback)(void)
+ timeout.tv_sec = 5;
+ timeout.tv_usec = 0;
+
++ if (fd < 0 || fd >= FD_SETSIZE) {
++ errno = EBADF;
++ break;
++ }
++
+ FD_ZERO(&fds);
+ FD_SET(fd,&fds);
+
+diff --git a/source/lib/select.c b/source/lib/select.c
+index c3da6a9..9a1e9b73 100644
+--- a/source/lib/select.c
++++ b/source/lib/select.c
+@@ -61,6 +61,11 @@ int sys_select(int maxfd, fd_set *readfds, fd_set *writefds, fd_set *errorfds, s
+ if (pipe(select_pipe) == -1)
+ smb_panic("Could not create select pipe");
+
++ if (select_pipe[0] < 0 || select_pipe[0] >= FD_SETSIZE) {
++ errno = EBADF;
++ return -1;
++ }
++
+ /*
+ * These next two lines seem to fix a bug with the Linux
+ * 2.0.x kernel (and probably other UNIXes as well) where
+diff --git a/source/lib/util_sock.c b/source/lib/util_sock.c
+index 650bd13..8aa2c97 100644
+--- a/source/lib/util_sock.c
++++ b/source/lib/util_sock.c
+@@ -960,6 +960,11 @@ NTSTATUS read_socket_with_timeout(int fd, char *buf,
+ timeout.tv_usec = (long)(1000 * (time_out % 1000));
+
+ for (nread=0; nread < mincnt; ) {
++ if (fd < 0 || fd >= FD_SETSIZE) {
++ errno = EBADF;
++ return map_nt_error_from_unix(EBADF);
++ }
++
+ FD_ZERO(&fds);
+ FD_SET(fd,&fds);
+
+@@ -1492,7 +1497,7 @@ bool open_any_socket_out(struct sockaddr_storage *addrs, int num_addrs,
+
+ for (i=0; i<num_addrs; i++) {
+ sockets[i] = socket(addrs[i].ss_family, SOCK_STREAM, 0);
+- if (sockets[i] < 0)
++ if (sockets[i] < 0 || sockets[i] >= FD_SETSIZE)
+ goto done;
+ set_blocking(sockets[i], false);
+ }
+@@ -1541,8 +1546,10 @@ bool open_any_socket_out(struct sockaddr_storage *addrs, int num_addrs,
+ FD_ZERO(&r_fds);
+
+ for (i=0; i<num_addrs; i++) {
+- if (sockets[i] == -1)
++ if (sockets[i] < 0 || sockets[i] >= FD_SETSIZE) {
++ /* This cannot happen - ignore if so. */
+ continue;
++ }
+ FD_SET(sockets[i], &wr_fds);
+ FD_SET(sockets[i], &r_fds);
+ if (sockets[i]>maxfd)
+diff --git a/source/libaddns/dnssock.c b/source/libaddns/dnssock.c
+index 7c8bd41..f427bd5 100644
+--- a/source/libaddns/dnssock.c
++++ b/source/libaddns/dnssock.c
+@@ -218,7 +218,11 @@ static DNS_ERROR read_all(int fd, uint8 *data, size_t len)
+ while (total < len) {
+ ssize_t ret;
+ int fd_ready;
+-
++
++ if (fd < 0 || fd >= FD_SETSIZE) {
++ return ERROR_DNS_SOCKET_ERROR;
++ }
++
+ FD_ZERO( &rfds );
+ FD_SET( fd, &rfds );
+
+diff --git a/source/libsmb/nmblib.c b/source/libsmb/nmblib.c
+index bfe5e7b..768e54d 100644
+--- a/source/libsmb/nmblib.c
++++ b/source/libsmb/nmblib.c
+@@ -1097,6 +1097,11 @@ struct packet_struct *receive_packet(int fd,enum packet_type type,int t)
+ struct timeval timeout;
+ int ret;
+
++ if (fd < 0 || fd >= FD_SETSIZE) {
++ errno = EBADF;
++ return NULL;
++ }
++
+ FD_ZERO(&fds);
+ FD_SET(fd,&fds);
+ timeout.tv_sec = t/1000;
+diff --git a/source/nmbd/nmbd_packets.c b/source/nmbd/nmbd_packets.c
+index c1d373a..0ffa166 100644
+--- a/source/nmbd/nmbd_packets.c
++++ b/source/nmbd/nmbd_packets.c
+@@ -1685,7 +1685,7 @@ static bool create_listen_fdset(fd_set **ppset, int **psock_array, int *listen_n
+ for (subrec = FIRST_SUBNET; subrec; subrec = NEXT_SUBNET_EXCLUDING_UNICAST(subrec))
+ count++;
+
+- if((count*2) + 2 > FD_SETSIZE) {
++ if((count*2) + 2 >= FD_SETSIZE) {
+ DEBUG(0,("create_listen_fdset: Too many file descriptors needed (%d). We can \
+ only use %d.\n", (count*2) + 2, FD_SETSIZE));
+ SAFE_FREE(pset);
+@@ -1701,24 +1701,44 @@ only use %d.\n", (count*2) + 2, FD_SETSIZE));
+ FD_ZERO(pset);
+
+ /* Add in the broadcast socket on 137. */
++ if (ClientNMB < 0 || ClientNMB >= FD_SETSIZE) {
++ errno = EBADF;
++ SAFE_FREE(pset);
++ return True;
++ }
++
+ FD_SET(ClientNMB,pset);
+ sock_array[num++] = ClientNMB;
+ *maxfd = MAX( *maxfd, ClientNMB);
+
+ /* Add in the 137 sockets on all the interfaces. */
+ for (subrec = FIRST_SUBNET; subrec; subrec = NEXT_SUBNET_EXCLUDING_UNICAST(subrec)) {
++ if (subrec->nmb_sock < 0 || subrec->nmb_sock >= FD_SETSIZE) {
++ /* We have to ignore sockets outside FD_SETSIZE. */
++ continue;
++ }
+ FD_SET(subrec->nmb_sock,pset);
+ sock_array[num++] = subrec->nmb_sock;
+ *maxfd = MAX( *maxfd, subrec->nmb_sock);
+ }
+
+ /* Add in the broadcast socket on 138. */
++ if (ClientDGRAM < 0 || ClientDGRAM >= FD_SETSIZE) {
++ errno = EBADF;
++ SAFE_FREE(pset);
++ return True;
++ }
++
+ FD_SET(ClientDGRAM,pset);
+ sock_array[num++] = ClientDGRAM;
+ *maxfd = MAX( *maxfd, ClientDGRAM);
+
+ /* Add in the 138 sockets on all the interfaces. */
+ for (subrec = FIRST_SUBNET; subrec; subrec = NEXT_SUBNET_EXCLUDING_UNICAST(subrec)) {
++ if (subrec->dgram_sock < 0 || subrec->dgram_sock >= FD_SETSIZE) {
++ /* We have to ignore sockets outside FD_SETSIZE. */
++ continue;
++ }
+ FD_SET(subrec->dgram_sock,pset);
+ sock_array[num++] = subrec->dgram_sock;
+ *maxfd = MAX( *maxfd, subrec->dgram_sock);
+@@ -1769,7 +1789,7 @@ bool listen_for_packets(bool run_election)
+
+ #ifndef SYNC_DNS
+ dns_fd = asyncdns_fd();
+- if (dns_fd != -1) {
++ if (dns_fd >= 0 && dns_fd < FD_SETSIZE) {
+ FD_SET(dns_fd, &r_fds);
+ maxfd = MAX( maxfd, dns_fd);
+ }
+diff --git a/source/nsswitch/wb_common.c b/source/nsswitch/wb_common.c
+index 6e6d2bb..aa565ff 100644
+--- a/source/nsswitch/wb_common.c
++++ b/source/nsswitch/wb_common.c
+@@ -240,6 +240,12 @@ static int winbind_named_pipe_sock(const char *dir)
+
+ switch (errno) {
+ case EINPROGRESS:
++
++ if (fd < 0 || fd >= FD_SETSIZE) {
++ errno = EBADF;
++ goto error_out;
++ }
++
+ FD_ZERO(&w_fds);
+ FD_SET(fd, &w_fds);
+ tv.tv_sec = CONNECT_TIMEOUT - wait_time;
+@@ -383,7 +389,13 @@ int winbind_write_sock(void *buffer, int count, int recursing, int need_priv)
+ while(nwritten < count) {
+ struct timeval tv;
+ fd_set r_fds;
+-
++
++ if (winbindd_fd < 0 || winbindd_fd >= FD_SETSIZE) {
++ errno = EBADF;
++ winbind_close_sock();
++ return -1;
++ }
++
+ /* Catch pipe close on other end by checking if a read()
+ call would not block by calling select(). */
+
+diff --git a/source/printing/printing.c b/source/printing/printing.c
+index ad293ea..2bc5c48 100644
+--- a/source/printing/printing.c
++++ b/source/printing/printing.c
+@@ -1407,6 +1407,11 @@ void start_background_queue(void)
+ exit(1);
+ }
+
++ if (pause_pipe[1] < 0 || pause_pipe[1] >= FD_SETSIZE) {
++ DEBUG(5,("start_background_queue: pipe fd out of range.\n"));
++ exit(1);
++ }
++
+ background_lpq_updater_pid = sys_fork();
+
+ if (background_lpq_updater_pid == -1) {
+diff --git a/source/smbd/dnsregister.c b/source/smbd/dnsregister.c
+index f304d86..764862c 100644
+--- a/source/smbd/dnsregister.c
++++ b/source/smbd/dnsregister.c
+@@ -126,6 +126,9 @@ void dns_register_smbd(struct dns_reg_state ** dns_state_ptr,
+ */
+ if (dns_state->srv_ref != NULL) {
+ mdnsd_conn_fd = DNSServiceRefSockFD(dns_state->srv_ref);
++ if (mdnsd_conn_fd < 0 || mdnsd_conn_fd >= FD_SETSIZE) {
++ return;
++ }
+ FD_SET(mdnsd_conn_fd, listen_set);
+ return;
+ }
+@@ -157,6 +160,9 @@ void dns_register_smbd(struct dns_reg_state ** dns_state_ptr,
+ }
+
+ mdnsd_conn_fd = DNSServiceRefSockFD(dns_state->srv_ref);
++ if (mdnsd_conn_fd < 0 || mdnsd_conn_fd >= FD_SETSIZE) {
++ return;
++ }
+ FD_SET(mdnsd_conn_fd, listen_set);
+ *maxfd = MAX(*maxfd, mdnsd_conn_fd);
+ *timeout = timeval_zero();
+diff --git a/source/smbd/oplock.c b/source/smbd/oplock.c
+index 261d8fd..f7e9e6f 100644
+--- a/source/smbd/oplock.c
++++ b/source/smbd/oplock.c
+@@ -241,7 +241,10 @@ bool downgrade_oplock(files_struct *fsp)
+ int oplock_notify_fd(void)
+ {
+ if (koplocks) {
+- return koplocks->notification_fd;
++ int fd = koplocks->notification_fd;
++ if (fd < 0 || fd >= FD_SETSIZE) {
++ return -1;
++ }
+ }
+
+ return -1;
+diff --git a/source/smbd/oplock_irix.c b/source/smbd/oplock_irix.c
+index 8c287c9..6e86fac 100644
+--- a/source/smbd/oplock_irix.c
++++ b/source/smbd/oplock_irix.c
+@@ -284,6 +284,11 @@ struct kernel_oplocks *irix_init_kernel_oplocks(void)
+ return False;
+ }
+
++ if (pfd[0] < 0 || pfd[0] >= FD_SETSIZE) {
++ DEBUG(0,("setup_kernel_oplock_pipe: fd out of range.\n"));
++ return False;
++ }
++
+ oplock_pipe_read = pfd[0];
+ oplock_pipe_write = pfd[1];
+
+diff --git a/source/smbd/process.c b/source/smbd/process.c
+index c53bfda..ac63c01 100644
+--- a/source/smbd/process.c
++++ b/source/smbd/process.c
+@@ -687,7 +687,7 @@ static void async_processing(fd_set *pfds)
+
+ static int select_on_fd(int fd, int maxfd, fd_set *fds)
+ {
+- if (fd != -1) {
++ if (fd != -1 && fd < FD_SETSIZE) {
+ FD_SET(fd, fds);
+ maxfd = MAX(maxfd, fd);
+ }
+diff --git a/source/smbd/server.c b/source/smbd/server.c
+index 35c98aa..56960d6 100644
+--- a/source/smbd/server.c
++++ b/source/smbd/server.c
+@@ -203,7 +203,13 @@ static bool open_sockets_inetd(void)
+ /* Started from inetd. fd 0 is the socket. */
+ /* We will abort gracefully when the client or remote system
+ goes away */
+- smbd_set_server_fd(dup(0));
++ int fd = dup(0);
++
++ if (fd < 0 || fd >= FD_SETSIZE) {
++ return false;
++ }
++
++ smbd_set_server_fd(fd);
+
+ /* close our standard file descriptors */
+ close_low_fds(False); /* Don't close stderr */
+@@ -429,7 +435,7 @@ static bool open_sockets_smbd(bool is_daemon, bool interactive, const char *smb_
+ num_sockets == 0 ? 0 : 2,
+ ifss,
+ true);
+- if(s == -1) {
++ if (s < 0 || s >= FD_SETSIZE) {
+ continue;
+ }
+
+@@ -509,7 +515,7 @@ static bool open_sockets_smbd(bool is_daemon, bool interactive, const char *smb_
+ num_sockets == 0 ? 0 : 2,
+ &ss,
+ true);
+- if (s == -1) {
++ if (s < 0 || s >= FD_SETSIZE) {
+ continue;
+ }
+
+@@ -683,6 +689,7 @@ static bool open_sockets_smbd(bool is_daemon, bool interactive, const char *smb_
+ struct sockaddr addr;
+ socklen_t in_addrlen = sizeof(addr);
+ pid_t child = 0;
++ int fd;
+
+ s = -1;
+ for(i = 0; i < num_sockets; i++) {
+@@ -695,17 +702,22 @@ static bool open_sockets_smbd(bool is_daemon, bool interactive, const char *smb_
+ }
+ }
+
+- smbd_set_server_fd(accept(s,&addr,&in_addrlen));
+-
+- if (smbd_server_fd() == -1 && errno == EINTR)
++ fd = accept(s,&addr,&in_addrlen);
++ if (fd == -1 && errno == EINTR)
+ continue;
+-
+- if (smbd_server_fd() == -1) {
++ if (fd == -1) {
+ DEBUG(2,("open_sockets_smbd: accept: %s\n",
+- strerror(errno)));
++ strerror(errno)));
++ continue;
++ }
++ if (fd < 0 || fd >= FD_SETSIZE) {
++ DEBUG(2,("open_sockets_smbd: bad fd %d\n",
++ fd ));
+ continue;
+ }
+
++ smbd_set_server_fd(fd);
++
+ /* Ensure child is set to blocking mode */
+ set_blocking(smbd_server_fd(),True);
+
+diff --git a/source/utils/smbfilter.c b/source/utils/smbfilter.c
+index 1e22a40..45f9207 100644
+--- a/source/utils/smbfilter.c
++++ b/source/utils/smbfilter.c
+@@ -162,8 +162,8 @@ static void filter_child(int c, struct sockaddr_storage *dest_ss)
+ int num;
+
+ FD_ZERO(&fds);
+- if (s != -1) FD_SET(s, &fds);
+- if (c != -1) FD_SET(c, &fds);
++ if (s >= 0 && s < FD_SETSIZE) FD_SET(s, &fds);
++ if (c >= 0 && c < FD_SETSIZE) FD_SET(c, &fds);
+
+ num = sys_select_intr(MAX(s+1, c+1),&fds,NULL,NULL,NULL);
+ if (num <= 0) continue;
+@@ -235,6 +235,10 @@ static void start_filter(char *desthost)
+ struct sockaddr_storage ss;
+ socklen_t in_addrlen = sizeof(ss);
+
++ if (s < 0 || s >= FD_SETSIZE) {
++ break;
++ }
++
+ FD_ZERO(&fds);
+ FD_SET(s, &fds);
+
+diff --git a/source/winbindd/winbindd.c b/source/winbindd/winbindd.c
+index 929a4ea..5edcc2f 100644
+--- a/source/winbindd/winbindd.c
++++ b/source/winbindd/winbindd.c
+@@ -856,7 +856,8 @@ static void process_loop(void)
+ listen_sock = open_winbindd_socket();
+ listen_priv_sock = open_winbindd_priv_socket();
+
+- if (listen_sock == -1 || listen_priv_sock == -1) {
++ if (listen_sock < 0 || listen_sock >= FD_SETSIZE ||
++ listen_priv_sock < 0 || listen_priv_sock >= FD_SETSIZE) {
+ perror("open_winbind_socket");
+ exit(1);
+ }
+@@ -877,6 +878,9 @@ static void process_loop(void)
+
+ maxfd = MAX(listen_sock, listen_priv_sock);
+
++ /* We check the range for listen_sock and
++ listen_priv_sock above. */
++
+ FD_ZERO(&r_fds);
+ FD_ZERO(&w_fds);
+ FD_SET(listen_sock, &r_fds);
+@@ -908,6 +912,12 @@ static void process_loop(void)
+ }
+
+ for (ev = fd_events; ev; ev = ev->next) {
++ if (ev->fd < 0 || ev->fd >= FD_SETSIZE) {
++ /* Ignore here - event_add_to_select_args
++ should make this impossible. */
++ continue;
++ }
++
+ if (ev->flags & EVENT_FD_READ) {
+ FD_SET(ev->fd, &r_fds);
+ maxfd = MAX(ev->fd, maxfd);
+diff --git a/source/winbindd/winbindd_dual.c b/source/winbindd/winbindd_dual.c
+index 49978c2..9e834f8 100644
+--- a/source/winbindd/winbindd_dual.c
++++ b/source/winbindd/winbindd_dual.c
+@@ -1149,6 +1149,12 @@ static bool fork_domain_child(struct winbindd_child *child)
+ return False;
+ }
+
++ if (fdpair[0] < 0 || fdpair[0] >= FD_SETSIZE) {
++ DEBUG(0, ("fork_domain_child: bad fd range (%d)\n", fdpair[0]));
++ errno = EBADF;
++ return False;
++ }
++
+ ZERO_STRUCT(state);
+ state.pid = sys_getpid();
+
+@@ -1289,6 +1295,7 @@ static bool fork_domain_child(struct winbindd_child *child)
+ message_dispatch(winbind_messaging_context());
+
+ FD_ZERO(&read_fds);
++ /* We check state.sock against FD_SETSIZE above. */
+ FD_SET(state.sock, &read_fds);
+
+ ret = sys_select(state.sock + 1, &read_fds, NULL, NULL, tp);
diff --git a/patches/source/samba/samba.SlackBuild b/patches/source/samba/samba.SlackBuild
new file mode 100755
index 00000000..932d59d0
--- /dev/null
+++ b/patches/source/samba/samba.SlackBuild
@@ -0,0 +1,212 @@
+#!/bin/sh
+
+# Copyright 2008, 2009, 2010, 2011, 2012 Patrick J. Volkerding, Sebeka, Minnesota, USA
+# All rights reserved.
+#
+# Redistribution and use of this script, with or without modification, is
+# permitted provided that the following conditions are met:
+#
+# 1. Redistributions of this script must retain the above copyright
+# notice, this list of conditions and the following disclaimer.
+#
+# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED
+# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
+# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
+# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+VERSION=${VERSION:-3.2.15}
+BUILD=${BUILD:-5_slack13.0}
+
+# Automatically determine the architecture we're building on:
+if [ -z "$ARCH" ]; then
+ case "$( uname -m )" in
+ i?86) export ARCH=i486 ;;
+ arm*) export ARCH=arm ;;
+ # Unless $ARCH is already set, use uname -m for all other archs:
+ *) export ARCH=$( uname -m ) ;;
+ esac
+fi
+
+CWD=$(pwd)
+TMP=${TMP:-/tmp}
+PKG=$TMP/package-samba
+rm -rf $PKG
+mkdir -p $TMP $PKG
+
+cd $TMP
+rm -rf samba-$VERSION
+tar xvf $CWD/samba-$VERSION.tar.?z* || exit 1
+cd samba-$VERSION || exit 1
+
+chown -R root:root .
+find . \
+ \( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \
+ -exec chmod 755 {} \; -o \
+ \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \
+ -exec chmod 644 {} \;
+
+cd source
+if [ "$ARCH" = "i486" ]; then
+ SLKCFLAGS="-O2 -march=i486 -mtune=i686"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "s390" ]; then
+ SLKCFLAGS="-O2"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "x86_64" ]; then
+ SLKCFLAGS="-O2 -fPIC"
+ LIBDIRSUFFIX="64"
+fi
+
+cat $CWD/samba-3.3.12-CVE-2010-2063.patch | patch -p2 --verbose || exit 1
+cat $CWD/samba-3.2.15-CVE-2010-3069.patch | patch -p2 --verbose || exit 1
+zcat $CWD/samba.3-2-fd_set.CVE-2011-0719.patch.gz | patch -p2 --verbose || exit 1
+zcat $CWD/samba-3.2.15-CVE-2012-1182.patch.gz | patch -p2 --verbose || exit 1
+
+# Some of these options could be auto-detected, but declaring them
+# here doesn't hurt and helps document what features we're trying to
+# build in.
+CFLAGS="$SLKCFLAGS" \
+./configure \
+ --prefix=/usr \
+ --libdir=/usr/lib${LIBDIRSUFFIX} \
+ --with-libdir=/usr/lib${LIBDIRSUFFIX} \
+ --bindir=/usr/bin \
+ --sbindir=/usr/sbin \
+ --mandir=/usr/man \
+ --sysconfdir=/etc \
+ --with-configdir=/etc/samba \
+ --with-piddir=/var/run \
+ --with-privatedir=/etc/samba/private \
+ --localstatedir=/var \
+ --with-lockdir=/var/cache/samba \
+ --with-swatdir=/usr/share/swat \
+ --with-logfilebase=/var/log/samba \
+ --enable-cups \
+ --enable-static=no \
+ --enable-shared=yes \
+ --with-acl-support=yes \
+ --with-automount \
+ --with-cifsmount \
+ --with-quotas \
+ --with-syslog \
+ --with-utmp \
+ --with-libsmbclient \
+ --with-winbind \
+ --with-ldap \
+ --build=$ARCH-slackware-linux
+ # Using with-fhs overrides our libdir, and besides we are already hard-coding
+ # directories. So, now we define them all explicitly...
+ #--with-fhs \
+
+# -j options don't seem to work...
+make || exit 1
+
+mkdir -p \
+ $PKG/usr/doc/samba-$VERSION \
+ $PKG/var/spool/samba \
+ $PKG/var/log/samba \
+ $PKG/etc/samba/private \
+ $PKG/var/cache/samba
+chmod 700 $PKG/etc/samba/private
+chmod 1777 $PKG/var/spool/samba
+
+make install-everything DESTDIR=$PKG || exit 1
+
+# Install libnss_win* libraries:
+mkdir -p $PKG/lib${LIBDIRSUFFIX}
+cp -a nsswitch/libnss_winbind.so $PKG/lib${LIBDIRSUFFIX}/libnss_winbind.so.2
+cp -a nsswitch/libnss_wins.so $PKG/lib${LIBDIRSUFFIX}/libnss_wins.so.2
+( cd $PKG/lib${LIBDIRSUFFIX}
+ ln -sf libnss_winbind.so.2 libnss_winbind.so
+ ln -sf libnss_wins.so.2 libnss_wins.so
+)
+
+## Make sure that other programs can link against libsmbclient:
+#( cd $PKG/usr/lib${LIBDIRSUFFIX}
+# for FILE in samba/libsmbclient.so* ; do
+# ln -sf $FILE
+# done
+#)
+
+# Add some (u)mount links:
+mkdir -p $PKG/sbin
+( cd $PKG/sbin
+ # SMBFS is obsolete in the kernel now -- use mount.cifs
+ #rm -f mount.smbfs ; ln -sf /usr/bin/smbmount mount.smbfs
+ # Add a wrapper script from Debian that's included in the upstream Samba
+ # sources to help out people (like me ;-) who don't read every speck of
+ # documentation:
+ cat $TMP/samba-$VERSION/examples/scripts/mount/mount.smbfs > mount.smbfs
+ chmod 755 $PKG/sbin/mount.smbfs
+ # I suppose this wouldn't be the worst idea in the world, either:
+ ( cd $PKG/usr/bin ; ln -sf /sbin/mount.smbfs smbmount )
+ rm -f mount.cifs ; ln -sf /usr/sbin/mount.cifs mount.cifs
+ # smbumount was giving me problems so it seems wise to play it safe
+ #rm -f umount.smbfs ; ln -sf /usr/bin/smbumount umount.smbfs
+ #rm -f umount.cifs ; ln -sf /usr/sbin/umount.cifs umount.cifs
+)
+
+# Add a sample config file:
+cat $CWD/smb.conf.default > $PKG/etc/samba/smb.conf-sample
+
+if [ ! -r $PKG/usr/bin/smbget ]; then
+ rm -f $PKG/usr/share/man/man1/smbget.1
+ rm -f $PKG/usr/share/swat/help/smbget.1.html
+fi
+
+# We'll add rc.samba to the init directory, but chmod 644 so that it doesn't
+# start by default:
+mkdir -p $PKG/etc/rc.d
+cat $CWD/rc.samba > $PKG/etc/rc.d/rc.samba.new
+chmod 644 $PKG/etc/rc.d/rc.samba.new
+
+mv $PKG/usr/share/man $PKG/usr
+gzip -9 $PKG/usr/man/man?/*.?
+
+find $PKG | xargs file | grep -e "executable" -e "shared object" \
+ | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
+
+cd ..
+cp -a \
+ COPYING* MAINTAINERS Manifest PFIF.txt README* \
+ Read-Manifest-Now Roadmap WHATSNEW.txt docs examples \
+ $PKG/usr/doc/samba-$VERSION
+# These are installed elsewhere:
+rm -rf $PKG/usr/doc/samba-$VERSION/docs/htmldocs \
+ $PKG/usr/doc/samba-$VERSION/docs/manpages
+mkdir -p $PKG/usr/doc/samba-$VERSION/docs
+( cd $PKG/usr/doc/samba-$VERSION/docs
+ ln -sf /usr/share/swat/help htmldocs
+ ln -sf /usr/share/swat/using_samba using_samba
+)
+# I'm sorry, but when all this info is included in HTML, adding 7MB worth of
+# PDF files just to have extra artwork is more fluff than I'll agree to.
+rm -f $PKG/usr/doc/samba-$VERSION/docs/*.pdf
+# Also redundant also:
+rm -rf $PKG/usr/doc/samba-$VERSION/docs/docbook
+
+mkdir -p $PKG/install
+cat $CWD/slack-desc > $PKG/install/slack-desc
+zcat $CWD/doinst.sh.gz > $PKG/install/doinst.sh
+
+cat << EOF
+
+*** Be sure the package contains:
+
+drwx------ 2 root root 1024 Mar 12 13:21 /etc/samba/private
+drwxr-xr-x 2 root root 4096 May 3 15:46 /var/cache/samba/
+drwxr-xr-x 2 root root 48 Aug 29 13:06 /var/log/samba/
+drwxrwxrwt 2 root root 1024 Mar 12 13:21 /var/spool/samba/
+
+EOF
+
+cd $PKG
+/sbin/makepkg -l y -c n $TMP/samba-$VERSION-$ARCH-$BUILD.txz
+
diff --git a/patches/source/samba/slack-desc b/patches/source/samba/slack-desc
new file mode 100644
index 00000000..dc42f2b6
--- /dev/null
+++ b/patches/source/samba/slack-desc
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|'
+# on the right side marks the last column you can put a character in. You must
+# make exactly 11 lines for the formatting to be correct. It's also
+# customary to leave one space after the ':'.
+
+ |-----handy-ruler------------------------------------------------------|
+samba: samba (SMB file and print server)
+samba:
+samba: Samba is an SMB file and print server for SMB and CIFS clients. It
+samba: allows you to make file space or printers on a Samba host available to
+samba: any PCs running SMB clients (such as PCs running Windows).
+samba:
+samba: If you have any SMB servers (such as Windows NT/2K Server), you may be
+samba: able to replace them by or supplement them with Samba. One of Samba's
+samba: big strengths is integration, so you can use it to tie together your
+samba: Linux hosts and Windows PC clients.
+samba:
diff --git a/patches/source/samba/smb.conf.default b/patches/source/samba/smb.conf.default
new file mode 100644
index 00000000..68e62f93
--- /dev/null
+++ b/patches/source/samba/smb.conf.default
@@ -0,0 +1,271 @@
+# This is the main Samba configuration file. You should read the
+# smb.conf(5) manual page in order to understand the options listed
+# here. Samba has a huge number of configurable options (perhaps too
+# many!) most of which are not shown in this example
+#
+# For a step to step guide on installing, configuring and using samba,
+# read the Samba-HOWTO-Collection. This may be obtained from:
+# http://www.samba.org/samba/docs/Samba-HOWTO-Collection.pdf
+#
+# Many working examples of smb.conf files can be found in the
+# Samba-Guide which is generated daily and can be downloaded from:
+# http://www.samba.org/samba/docs/Samba-Guide.pdf
+#
+# Any line which starts with a ; (semi-colon) or a # (hash)
+# is a comment and is ignored. In this example we will use a #
+# for commentry and a ; for parts of the config file that you
+# may wish to enable
+#
+# NOTE: Whenever you modify this file you should run the command "testparm"
+# to check that you have not made any basic syntactic errors.
+#
+#======================= Global Settings =====================================
+[global]
+
+# workgroup = NT-Domain-Name or Workgroup-Name, eg: LINUX2
+ workgroup = MYGROUP
+
+# server string is the equivalent of the NT Description field
+ server string = Samba Server
+
+# Security mode. Defines in which mode Samba will operate. Possible
+# values are share, user, server, domain and ads. Most people will want
+# user level security. See the Samba-HOWTO-Collection for details.
+ security = user
+
+# This option is important for security. It allows you to restrict
+# connections to machines which are on your local network. The
+# following example restricts access to two C class networks and
+# the "loopback" interface. For more examples of the syntax see
+# the smb.conf man page
+; hosts allow = 192.168.1. 192.168.2. 127.
+
+# If you want to automatically load your printer list rather
+# than setting them up individually then you'll need this
+ load printers = yes
+
+# you may wish to override the location of the printcap file
+; printcap name = /etc/printcap
+
+# on SystemV system setting printcap name to lpstat should allow
+# you to automatically obtain a printer list from the SystemV spool
+# system
+; printcap name = lpstat
+
+# It should not be necessary to specify the print system type unless
+# it is non-standard. Currently supported print systems include:
+# bsd, cups, sysv, plp, lprng, aix, hpux, qnx
+; printing = cups
+
+# Uncomment this if you want a guest account, you must add this to /etc/passwd
+# otherwise the user "nobody" is used
+; guest account = pcguest
+
+# this tells Samba to use a separate log file for each machine
+# that connects
+ log file = /var/log/samba.%m
+
+# Put a capping on the size of the log files (in Kb).
+ max log size = 50
+
+# Use password server option only with security = server
+# The argument list may include:
+# password server = My_PDC_Name [My_BDC_Name] [My_Next_BDC_Name]
+# or to auto-locate the domain controller/s
+# password server = *
+; password server = <NT-Server-Name>
+
+# Use the realm option only with security = ads
+# Specifies the Active Directory realm the host is part of
+; realm = MY_REALM
+
+# Backend to store user information in. New installations should
+# use either tdbsam or ldapsam. smbpasswd is available for backwards
+# compatibility. tdbsam requires no further configuration.
+; passdb backend = tdbsam
+
+# Using the following line enables you to customise your configuration
+# on a per machine basis. The %m gets replaced with the netbios name
+# of the machine that is connecting.
+# Note: Consider carefully the location in the configuration file of
+# this line. The included file is read at that point.
+; include = /usr/local/samba/lib/smb.conf.%m
+
+# Configure Samba to use multiple interfaces
+# If you have multiple network interfaces then you must list them
+# here. See the man page for details.
+; interfaces = 192.168.12.2/24 192.168.13.2/24
+
+# Browser Control Options:
+# set local master to no if you don't want Samba to become a master
+# browser on your network. Otherwise the normal election rules apply
+; local master = no
+
+# OS Level determines the precedence of this server in master browser
+# elections. The default value should be reasonable
+; os level = 33
+
+# Domain Master specifies Samba to be the Domain Master Browser. This
+# allows Samba to collate browse lists between subnets. Don't use this
+# if you already have a Windows NT domain controller doing this job
+; domain master = yes
+
+# Preferred Master causes Samba to force a local browser election on startup
+# and gives it a slightly higher chance of winning the election
+; preferred master = yes
+
+# Enable this if you want Samba to be a domain logon server for
+# Windows95 workstations.
+; domain logons = yes
+
+# if you enable domain logons then you may want a per-machine or
+# per user logon script
+# run a specific logon batch file per workstation (machine)
+; logon script = %m.bat
+# run a specific logon batch file per username
+; logon script = %U.bat
+
+# Where to store roving profiles (only for Win95 and WinNT)
+# %L substitutes for this servers netbios name, %U is username
+# You must uncomment the [Profiles] share below
+; logon path = \\%L\Profiles\%U
+
+# Windows Internet Name Serving Support Section:
+# WINS Support - Tells the NMBD component of Samba to enable it's WINS Server
+; wins support = yes
+
+# WINS Server - Tells the NMBD components of Samba to be a WINS Client
+# Note: Samba can be either a WINS Server, or a WINS Client, but NOT both
+; wins server = w.x.y.z
+
+# WINS Proxy - Tells Samba to answer name resolution queries on
+# behalf of a non WINS capable client, for this to work there must be
+# at least one WINS Server on the network. The default is NO.
+; wins proxy = yes
+
+# DNS Proxy - tells Samba whether or not to try to resolve NetBIOS names
+# via DNS nslookups. The default is NO.
+ dns proxy = no
+
+# These scripts are used on a domain controller or stand-alone
+# machine to add or delete corresponding unix accounts
+; add user script = /usr/sbin/useradd %u
+; add group script = /usr/sbin/groupadd %g
+; add machine script = /usr/sbin/adduser -n -g machines -c Machine -d /dev/null -s /bin/false %u
+; delete user script = /usr/sbin/userdel %u
+; delete user from group script = /usr/sbin/deluser %u %g
+; delete group script = /usr/sbin/groupdel %g
+
+
+#============================ Share Definitions ==============================
+[homes]
+ comment = Home Directories
+ browseable = no
+ writable = yes
+
+# Un-comment the following and create the netlogon directory for Domain Logons
+; [netlogon]
+; comment = Network Logon Service
+; path = /usr/local/samba/lib/netlogon
+; guest ok = yes
+; writable = no
+; share modes = no
+
+
+# Un-comment the following to provide a specific roving profile share
+# the default is to use the user's home directory
+;[Profiles]
+; path = /usr/local/samba/profiles
+; browseable = no
+; guest ok = yes
+
+
+# NOTE: If you have a BSD-style print system there is no need to
+# specifically define each individual printer
+[printers]
+ comment = All Printers
+ path = /var/spool/samba
+ browseable = no
+# Set public = yes to allow user 'guest account' to print
+ guest ok = no
+ writable = no
+ printable = yes
+
+# This one is useful for people to share files
+;[tmp]
+; comment = Temporary file space
+; path = /tmp
+; read only = no
+; public = yes
+
+# A publicly accessible directory, but read only, except for people in
+# the "staff" group
+;[public]
+; comment = Public Stuff
+; path = /home/samba
+; public = yes
+; writable = yes
+; printable = no
+; write list = @staff
+
+# Other examples.
+#
+# A private printer, usable only by fred. Spool data will be placed in fred's
+# home directory. Note that fred must have write access to the spool directory,
+# wherever it is.
+;[fredsprn]
+; comment = Fred's Printer
+; valid users = fred
+; path = /homes/fred
+; printer = freds_printer
+; public = no
+; writable = no
+; printable = yes
+
+# A private directory, usable only by fred. Note that fred requires write
+# access to the directory.
+;[fredsdir]
+; comment = Fred's Service
+; path = /usr/somewhere/private
+; valid users = fred
+; public = no
+; writable = yes
+; printable = no
+
+# a service which has a different directory for each machine that connects
+# this allows you to tailor configurations to incoming machines. You could
+# also use the %U option to tailor it by user name.
+# The %m gets replaced with the machine name that is connecting.
+;[pchome]
+; comment = PC Directories
+; path = /usr/pc/%m
+; public = no
+; writable = yes
+
+# A publicly accessible directory, read/write to all users. Note that all files
+# created in the directory by users will be owned by the default user, so
+# any user with access can delete any other user's files. Obviously this
+# directory must be writable by the default user. Another user could of course
+# be specified, in which case all files would be owned by that user instead.
+;[public]
+; path = /usr/somewhere/else/public
+; public = yes
+; only guest = yes
+; writable = yes
+; printable = no
+
+# The following two entries demonstrate how to share a directory so that two
+# users can place files there that will be owned by the specific users. In this
+# setup, the directory should be writable by both users and should have the
+# sticky bit set on it to prevent abuse. Obviously this could be extended to
+# as many users as required.
+;[myshare]
+; comment = Mary's and Fred's stuff
+; path = /usr/somewhere/shared
+; valid users = mary fred
+; public = no
+; writable = yes
+; printable = no
+; create mask = 0765
+
+
diff --git a/patches/source/samba/smb.conf.default.orig b/patches/source/samba/smb.conf.default.orig
new file mode 100644
index 00000000..971ca19c
--- /dev/null
+++ b/patches/source/samba/smb.conf.default.orig
@@ -0,0 +1,271 @@
+# This is the main Samba configuration file. You should read the
+# smb.conf(5) manual page in order to understand the options listed
+# here. Samba has a huge number of configurable options (perhaps too
+# many!) most of which are not shown in this example
+#
+# For a step to step guide on installing, configuring and using samba,
+# read the Samba-HOWTO-Collection. This may be obtained from:
+# http://www.samba.org/samba/docs/Samba-HOWTO-Collection.pdf
+#
+# Many working examples of smb.conf files can be found in the
+# Samba-Guide which is generated daily and can be downloaded from:
+# http://www.samba.org/samba/docs/Samba-Guide.pdf
+#
+# Any line which starts with a ; (semi-colon) or a # (hash)
+# is a comment and is ignored. In this example we will use a #
+# for commentry and a ; for parts of the config file that you
+# may wish to enable
+#
+# NOTE: Whenever you modify this file you should run the command "testparm"
+# to check that you have not made any basic syntactic errors.
+#
+#======================= Global Settings =====================================
+[global]
+
+# workgroup = NT-Domain-Name or Workgroup-Name, eg: MIDEARTH
+ workgroup = MYGROUP
+
+# server string is the equivalent of the NT Description field
+ server string = Samba Server
+
+# Security mode. Defines in which mode Samba will operate. Possible
+# values are share, user, server, domain and ads. Most people will want
+# user level security. See the Samba-HOWTO-Collection for details.
+ security = user
+
+# This option is important for security. It allows you to restrict
+# connections to machines which are on your local network. The
+# following example restricts access to two C class networks and
+# the "loopback" interface. For more examples of the syntax see
+# the smb.conf man page
+; hosts allow = 192.168.1. 192.168.2. 127.
+
+# If you want to automatically load your printer list rather
+# than setting them up individually then you'll need this
+ load printers = yes
+
+# you may wish to override the location of the printcap file
+; printcap name = /etc/printcap
+
+# on SystemV system setting printcap name to lpstat should allow
+# you to automatically obtain a printer list from the SystemV spool
+# system
+; printcap name = lpstat
+
+# It should not be necessary to specify the print system type unless
+# it is non-standard. Currently supported print systems include:
+# bsd, cups, sysv, plp, lprng, aix, hpux, qnx
+; printing = cups
+
+# Uncomment this if you want a guest account, you must add this to /etc/passwd
+# otherwise the user "nobody" is used
+; guest account = pcguest
+
+# this tells Samba to use a separate log file for each machine
+# that connects
+ log file = /usr/local/samba/var/log.%m
+
+# Put a capping on the size of the log files (in Kb).
+ max log size = 50
+
+# Use password server option only with security = server
+# The argument list may include:
+# password server = My_PDC_Name [My_BDC_Name] [My_Next_BDC_Name]
+# or to auto-locate the domain controller/s
+# password server = *
+; password server = <NT-Server-Name>
+
+# Use the realm option only with security = ads
+# Specifies the Active Directory realm the host is part of
+; realm = MY_REALM
+
+# Backend to store user information in. New installations should
+# use either tdbsam or ldapsam. smbpasswd is available for backwards
+# compatibility. tdbsam requires no further configuration.
+; passdb backend = tdbsam
+
+# Using the following line enables you to customise your configuration
+# on a per machine basis. The %m gets replaced with the netbios name
+# of the machine that is connecting.
+# Note: Consider carefully the location in the configuration file of
+# this line. The included file is read at that point.
+; include = /usr/local/samba/lib/smb.conf.%m
+
+# Configure Samba to use multiple interfaces
+# If you have multiple network interfaces then you must list them
+# here. See the man page for details.
+; interfaces = 192.168.12.2/24 192.168.13.2/24
+
+# Browser Control Options:
+# set local master to no if you don't want Samba to become a master
+# browser on your network. Otherwise the normal election rules apply
+; local master = no
+
+# OS Level determines the precedence of this server in master browser
+# elections. The default value should be reasonable
+; os level = 33
+
+# Domain Master specifies Samba to be the Domain Master Browser. This
+# allows Samba to collate browse lists between subnets. Don't use this
+# if you already have a Windows NT domain controller doing this job
+; domain master = yes
+
+# Preferred Master causes Samba to force a local browser election on startup
+# and gives it a slightly higher chance of winning the election
+; preferred master = yes
+
+# Enable this if you want Samba to be a domain logon server for
+# Windows95 workstations.
+; domain logons = yes
+
+# if you enable domain logons then you may want a per-machine or
+# per user logon script
+# run a specific logon batch file per workstation (machine)
+; logon script = %m.bat
+# run a specific logon batch file per username
+; logon script = %U.bat
+
+# Where to store roving profiles (only for Win95 and WinNT)
+# %L substitutes for this servers netbios name, %U is username
+# You must uncomment the [Profiles] share below
+; logon path = \\%L\Profiles\%U
+
+# Windows Internet Name Serving Support Section:
+# WINS Support - Tells the NMBD component of Samba to enable it's WINS Server
+; wins support = yes
+
+# WINS Server - Tells the NMBD components of Samba to be a WINS Client
+# Note: Samba can be either a WINS Server, or a WINS Client, but NOT both
+; wins server = w.x.y.z
+
+# WINS Proxy - Tells Samba to answer name resolution queries on
+# behalf of a non WINS capable client, for this to work there must be
+# at least one WINS Server on the network. The default is NO.
+; wins proxy = yes
+
+# DNS Proxy - tells Samba whether or not to try to resolve NetBIOS names
+# via DNS nslookups. The default is NO.
+ dns proxy = no
+
+# These scripts are used on a domain controller or stand-alone
+# machine to add or delete corresponding unix accounts
+; add user script = /usr/sbin/useradd %u
+; add group script = /usr/sbin/groupadd %g
+; add machine script = /usr/sbin/adduser -n -g machines -c Machine -d /dev/null -s /bin/false %u
+; delete user script = /usr/sbin/userdel %u
+; delete user from group script = /usr/sbin/deluser %u %g
+; delete group script = /usr/sbin/groupdel %g
+
+
+#============================ Share Definitions ==============================
+[homes]
+ comment = Home Directories
+ browseable = no
+ writable = yes
+
+# Un-comment the following and create the netlogon directory for Domain Logons
+; [netlogon]
+; comment = Network Logon Service
+; path = /usr/local/samba/lib/netlogon
+; guest ok = yes
+; writable = no
+; share modes = no
+
+
+# Un-comment the following to provide a specific roving profile share
+# the default is to use the user's home directory
+;[Profiles]
+; path = /usr/local/samba/profiles
+; browseable = no
+; guest ok = yes
+
+
+# NOTE: If you have a BSD-style print system there is no need to
+# specifically define each individual printer
+[printers]
+ comment = All Printers
+ path = /usr/spool/samba
+ browseable = no
+# Set public = yes to allow user 'guest account' to print
+ guest ok = no
+ writable = no
+ printable = yes
+
+# This one is useful for people to share files
+;[tmp]
+; comment = Temporary file space
+; path = /tmp
+; read only = no
+; public = yes
+
+# A publicly accessible directory, but read only, except for people in
+# the "staff" group
+;[public]
+; comment = Public Stuff
+; path = /home/samba
+; public = yes
+; writable = yes
+; printable = no
+; write list = @staff
+
+# Other examples.
+#
+# A private printer, usable only by fred. Spool data will be placed in fred's
+# home directory. Note that fred must have write access to the spool directory,
+# wherever it is.
+;[fredsprn]
+; comment = Fred's Printer
+; valid users = fred
+; path = /homes/fred
+; printer = freds_printer
+; public = no
+; writable = no
+; printable = yes
+
+# A private directory, usable only by fred. Note that fred requires write
+# access to the directory.
+;[fredsdir]
+; comment = Fred's Service
+; path = /usr/somewhere/private
+; valid users = fred
+; public = no
+; writable = yes
+; printable = no
+
+# a service which has a different directory for each machine that connects
+# this allows you to tailor configurations to incoming machines. You could
+# also use the %U option to tailor it by user name.
+# The %m gets replaced with the machine name that is connecting.
+;[pchome]
+; comment = PC Directories
+; path = /usr/pc/%m
+; public = no
+; writable = yes
+
+# A publicly accessible directory, read/write to all users. Note that all files
+# created in the directory by users will be owned by the default user, so
+# any user with access can delete any other user's files. Obviously this
+# directory must be writable by the default user. Another user could of course
+# be specified, in which case all files would be owned by that user instead.
+;[public]
+; path = /usr/somewhere/else/public
+; public = yes
+; only guest = yes
+; writable = yes
+; printable = no
+
+# The following two entries demonstrate how to share a directory so that two
+# users can place files there that will be owned by the specific users. In this
+# setup, the directory should be writable by both users and should have the
+# sticky bit set on it to prevent abuse. Obviously this could be extended to
+# as many users as required.
+;[myshare]
+; comment = Mary's and Fred's stuff
+; path = /usr/somewhere/shared
+; valid users = mary fred
+; public = no
+; writable = yes
+; printable = no
+; create mask = 0765
+
+
diff --git a/patches/source/samba/smb.conf.diff b/patches/source/samba/smb.conf.diff
new file mode 100644
index 00000000..553440c5
--- /dev/null
+++ b/patches/source/samba/smb.conf.diff
@@ -0,0 +1,29 @@
+--- smb.conf.default.orig 2008-05-28 07:41:11.000000000 -0500
++++ smb.conf.default 2008-05-28 13:53:01.000000000 -0500
+@@ -22,7 +22,7 @@
+ #======================= Global Settings =====================================
+ [global]
+
+-# workgroup = NT-Domain-Name or Workgroup-Name, eg: MIDEARTH
++# workgroup = NT-Domain-Name or Workgroup-Name, eg: LINUX2
+ workgroup = MYGROUP
+
+ # server string is the equivalent of the NT Description field
+@@ -63,7 +63,7 @@
+
+ # this tells Samba to use a separate log file for each machine
+ # that connects
+- log file = /usr/local/samba/var/log.%m
++ log file = /var/log/samba.%m
+
+ # Put a capping on the size of the log files (in Kb).
+ max log size = 50
+@@ -184,7 +184,7 @@
+ # specifically define each individual printer
+ [printers]
+ comment = All Printers
+- path = /usr/spool/samba
++ path = /var/spool/samba
+ browseable = no
+ # Set public = yes to allow user 'guest account' to print
+ guest ok = no
diff --git a/patches/source/seamonkey/doinst.sh b/patches/source/seamonkey/doinst.sh
new file mode 100644
index 00000000..c236bea5
--- /dev/null
+++ b/patches/source/seamonkey/doinst.sh
@@ -0,0 +1,11 @@
+# If there's no mozilla here, then take over:
+if [ ! -r usr/bin/mozilla ]; then
+ ( cd usr/bin ; ln -sf seamonkey mozilla )
+fi
+# Hopefully this won't break everything. ;-)
+if ! grep /usr/lib/seamonkey etc/ld.so.conf 1> /dev/null 2> /dev/null ; then
+ echo "/usr/lib/seamonkey" >> etc/ld.so.conf
+fi
+if [ -x /sbin/ldconfig ]; then
+ /sbin/ldconfig 2> /dev/null
+fi
diff --git a/patches/source/seamonkey/pkgconfig/seamonkey-gtkmozembed.pc b/patches/source/seamonkey/pkgconfig/seamonkey-gtkmozembed.pc
new file mode 100644
index 00000000..e5053267
--- /dev/null
+++ b/patches/source/seamonkey/pkgconfig/seamonkey-gtkmozembed.pc
@@ -0,0 +1,11 @@
+prefix=/usr
+exec_prefix=/usr
+libdir=/usr/@LIB@/seamonkey-@VERSION@
+includedir=/usr/include/seamonkey-@VERSION@
+
+Name: Mozilla Gtk Embedding Widget
+Description: Mozilla Embedding Widget for Gtk+
+Version: @VERSION@
+Requires: seamonkey-xpcom = @VERSION@
+Libs: -L${libdir} -lgtkembedmoz
+Cflags: -I${includedir}/gtkembedmoz
diff --git a/patches/source/seamonkey/pkgconfig/seamonkey-js.pc b/patches/source/seamonkey/pkgconfig/seamonkey-js.pc
new file mode 100644
index 00000000..31433be2
--- /dev/null
+++ b/patches/source/seamonkey/pkgconfig/seamonkey-js.pc
@@ -0,0 +1,11 @@
+prefix=/usr
+exec_prefix=/usr
+libdir=/usr/@LIB@/seamonkey-@VERSION@
+includedir=/usr/include/seamonkey-@VERSION@
+
+Name: JavaScript
+Description: The Mozilla JavaScript Library
+Version: @VERSION@
+Requires: seamonkey-nspr >= 4.7.1
+Libs: -L${libdir} -lmozjs
+Cflags: -I${includedir}/js -DXP_UNIX -DJS_THREADSAFE
diff --git a/patches/source/seamonkey/pkgconfig/seamonkey-nspr.pc b/patches/source/seamonkey/pkgconfig/seamonkey-nspr.pc
new file mode 100644
index 00000000..756e996d
--- /dev/null
+++ b/patches/source/seamonkey/pkgconfig/seamonkey-nspr.pc
@@ -0,0 +1,12 @@
+prefix=/usr
+exec_prefix=/usr
+libdir=/usr/@LIB@/seamonkey-@VERSION@
+includedir=/usr/include/seamonkey-@VERSION@
+
+Name: NSPR
+Description: The Netscape Portable Runtime
+Version: 4.7.1
+Libs: -L/usr/@LIB@/seamonkey-@VERSION@ -lplds4 -lplc4 -lnspr4 -lpthread -ldl
+Cflags: -I/usr/include/seamonkey-@VERSION@/nspr
+
+
diff --git a/patches/source/seamonkey/pkgconfig/seamonkey-nss.pc b/patches/source/seamonkey/pkgconfig/seamonkey-nss.pc
new file mode 100644
index 00000000..b929f202
--- /dev/null
+++ b/patches/source/seamonkey/pkgconfig/seamonkey-nss.pc
@@ -0,0 +1,11 @@
+prefix=/usr
+exec_prefix=/usr
+libdir=/usr/@LIB@/seamonkey-@VERSION@
+includedir=/usr/include/seamonkey-@VERSION@
+
+Name: NSS
+Description: Mozilla Network Security Services
+Version: @VERSION@
+Requires: seamonkey-nspr >= 4.7.1
+Libs: -L${libdir} -lnss3 -lsmime3 -lssl3 -lsoftokn3
+Cflags: -I${includedir}/nss
diff --git a/patches/source/seamonkey/pkgconfig/seamonkey-plugin.pc b/patches/source/seamonkey/pkgconfig/seamonkey-plugin.pc
new file mode 100644
index 00000000..4550444a
--- /dev/null
+++ b/patches/source/seamonkey/pkgconfig/seamonkey-plugin.pc
@@ -0,0 +1,10 @@
+prefix=/usr
+exec_prefix=/usr
+libdir=/usr/@LIB@/seamonkey-@VERSION@
+includedir=/usr/include/seamonkey-@VERSION@
+
+Name: Mozilla Plug-In API
+Description: Mozilla Plug-In API
+Version: @VERSION@
+Requires: seamonkey-nspr >= 4.7.1
+Cflags: -I${includedir}/java -I${includedir}/plugin
diff --git a/patches/source/seamonkey/pkgconfig/seamonkey-xpcom.pc b/patches/source/seamonkey/pkgconfig/seamonkey-xpcom.pc
new file mode 100644
index 00000000..53200567
--- /dev/null
+++ b/patches/source/seamonkey/pkgconfig/seamonkey-xpcom.pc
@@ -0,0 +1,12 @@
+prefix=/usr
+exec_prefix=/usr
+libdir=/usr/@LIB@/seamonkey-@VERSION@
+includedir=/usr/include/seamonkey-@VERSION@
+idldir=/usr/share/idl/seamonkey-@VERSION@
+
+Name: XPCOM
+Description: The Mozilla Cross Platform Component Library
+Version: @VERSION@
+Requires: seamonkey-nspr >= 4.7.1
+Libs: -L${libdir} -lxpcom
+Cflags: -I${includedir} -I${includedir}/xpcom -I${includedir}/string
diff --git a/patches/source/seamonkey/seamonkey-icon.png b/patches/source/seamonkey/seamonkey-icon.png
new file mode 100644
index 00000000..824ab7a5
--- /dev/null
+++ b/patches/source/seamonkey/seamonkey-icon.png
Binary files differ
diff --git a/patches/source/seamonkey/seamonkey-mail-icon.png b/patches/source/seamonkey/seamonkey-mail-icon.png
new file mode 100644
index 00000000..123b077b
--- /dev/null
+++ b/patches/source/seamonkey/seamonkey-mail-icon.png
Binary files differ
diff --git a/patches/source/seamonkey/seamonkey-mail.desktop b/patches/source/seamonkey/seamonkey-mail.desktop
new file mode 100644
index 00000000..1e0b62b1
--- /dev/null
+++ b/patches/source/seamonkey/seamonkey-mail.desktop
@@ -0,0 +1,8 @@
+[Desktop Entry]
+Name=SeaMonkey Mail
+Comment=Read Mail with SeaMonkey
+Exec=/usr/bin/seamonkey -mail
+Icon=/usr/share/pixmaps/seamonkey-mail-icon.png
+Terminal=0
+Type=Application
+Categories=Application;Network;
diff --git a/patches/source/seamonkey/seamonkey.SlackBuild b/patches/source/seamonkey/seamonkey.SlackBuild
new file mode 100755
index 00000000..8face236
--- /dev/null
+++ b/patches/source/seamonkey/seamonkey.SlackBuild
@@ -0,0 +1,234 @@
+#!/bin/sh
+
+# Copyright 2008, 2009, 2010 Patrick J. Volkerding, Sebeka, MN, USA
+# All rights reserved.
+#
+# Redistribution and use of this script, with or without modification, is
+# permitted provided that the following conditions are met:
+#
+# 1. Redistributions of this script must retain the above copyright
+# notice, this list of conditions and the following disclaimer.
+#
+# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED
+# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
+# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
+# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+VERSION=${VERSION:-$(basename $(ls seamonkey-*.tar.* | cut -d - -f 2 | rev | cut -f 3- -d . | rev) .source)}
+BUILD=${BUILD:-1_slack13.0}
+NUMJOBS=${NUMJOBS:-" -j7 "}
+
+# Automatically determine the architecture we're building on:
+if [ -z "$ARCH" ]; then
+ case "$( uname -m )" in
+ i?86) export ARCH=i486 ;;
+ arm*) export ARCH=arm ;;
+ # Unless $ARCH is already set, use uname -m for all other archs:
+ *) export ARCH=$( uname -m ) ;;
+ esac
+fi
+
+if [ "$ARCH" = "x86_64" ]; then
+ LIBDIRSUFFIX="64"
+else
+ LIBDIRSUFFIX=""
+fi
+
+CWD=$(pwd)
+TMP=${TMP:-/tmp}
+PKG=$TMP/package-seamonkey
+rm -rf $PKG
+mkdir -p $TMP $PKG/usr
+
+cd $TMP
+rm -rf comm-1.9.1
+tar xvf $CWD/seamonkey-${VERSION}.source.tar.?z* || exit 1
+cd comm-1.9.1 || exit 1
+
+# Make sure the perms/ownerships are sane:
+chown -R root:root .
+find . \
+ \( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \
+ -exec chmod 755 {} \; -o \
+ \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \
+ -exec chmod 644 {} \;
+
+# Fix a long standing bug that's prevented staying current on GTK+.
+# Thanks to the BLFS folks. :-)
+cat >> mozilla/layout/build/Makefile.in << EOF
+
+ifdef MOZ_ENABLE_CANVAS
+EXTRA_DSO_LDOPTS += \$(XLDFLAGS) -lX11 -lXrender
+endif
+
+EOF
+
+chown -R root:root .
+BUILD_OFFICIAL=1 MOZILLA_OFFICIAL=1 \
+./configure --prefix=/usr \
+ --libdir=/usr/lib${LIBDIRSUFFIX} \
+ --enable-optimize=-O2 \
+ --disable-debug \
+ --with-default-mozilla-five-home=/usr/lib${LIBDIRSUFFIX}/seamonkey-${VERSION} \
+ --enable-strip \
+ --disable-tests \
+ --enable-svg \
+ --enable-system-cairo \
+ --enable-canvas \
+ --disable-short-wchar \
+ --enable-nspr-autoconf \
+ --enable-extensions=default,irc \
+ --enable-crypto \
+ --disable-xprint \
+ --without-system-nspr \
+ --with-system-zlib \
+ --with-system-jpeg \
+ --with-system-mng \
+ --enable-application=suite \
+ --enable-xft \
+ --host=$ARCH-slackware-linux \
+ --target=$ARCH-slackware-linux \
+ --build=$ARCH-slackware-linux
+
+ # --with-system-png
+make $NUMJOBS || exit 1
+DESTDIR=$PKG make install || exit 1
+
+# Install js/nspr/nss headers.
+for includedir in js nspr nspr/obsolete nspr/private nss plugin xpcom ; do
+ mkdir -p $PKG/usr/include/seamonkey-${VERSION}/$includedir
+ cp -aL mozilla/dist/include/${includedir}/*.h $PKG/usr/include/seamonkey-${VERSION}/$includedir
+done
+cp -aL mozilla/dist/include/js/*.tbl mozilla/dist/include/js/*.msg $PKG/usr/include/seamonkey-${VERSION}/js
+cp -aL mozilla/dist/include/*.h $PKG/usr/include/seamonkey-${VERSION}
+cp -aL mozilla/dist/sdk/include/* $PKG/usr/include/seamonkey-${VERSION}
+( cd $PKG/usr/include/seamonkey-${VERSION}/plugin
+ for file in ../j*.h ; do
+ ln -sf $file .
+ done
+)
+chown -R root:root $PKG/usr/include/seamonkey-${VERSION}
+find $PKG/usr/include/seamonkey-${VERSION} -name "*.h" -type f -exec chmod 644 {} \;
+# Create a more generic include files symlink:
+( cd $PKG/usr/include
+ if [ ! -e seamonkey ]; then
+ ln -sf seamonkey-${VERSION} seamonkey
+ fi
+)
+
+# Install pkgconfig files:
+mkdir -p $PKG/usr/lib${LIBDIRSUFFIX}/pkgconfig
+for file in $CWD/pkgconfig/* ; do
+cat $file \
+ | sed -e "s/@LIB@/lib${LIBDIRSUFFIX}/" \
+ -e "s/@VERSION@/$VERSION/" \
+ > $PKG/usr/lib${LIBDIRSUFFIX}/pkgconfig/$(basename $file)
+done
+
+# Add symlinks for the pkgconfig files:
+( cd $PKG/usr/lib${LIBDIRSUFFIX}/pkgconfig
+ ln -s seamonkey-js.pc js.pc
+ ln -s seamonkey-nspr.pc nspr.pc
+ ln -s seamonkey-nss.pc nss.pc
+ ln -s seamonkey-plugin.pc plugin.pc
+ ln -s seamonkey-xpcom.pc xpcom.pc
+)
+
+# Compress and if needed symlink the man pages:
+if [ -d $PKG/usr/man ]; then
+ ( cd $PKG/usr/man
+ for manpagedir in $(find . -type d -name "man*") ; do
+ ( cd $manpagedir
+ for eachpage in $( find . -type l -maxdepth 1) ; do
+ ln -s $( readlink $eachpage ).gz $eachpage.gz
+ rm $eachpage
+ done
+ gzip -9 *.?
+ )
+ done
+ )
+fi
+
+# Strip files:
+find $PKG | xargs file | grep -e "executable" -e "shared object" | grep ELF \
+ | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
+
+# This remains the standard plugin directory for all browsers.
+mkdir -p $PKG/usr/lib${LIBDIRSUFFIX}/mozilla/plugins
+
+# This is traditional.
+( cd $PKG/usr/lib${LIBDIRSUFFIX}
+ if [ ! -e seamonkey ]; then
+ ln -sf seamonkey-${VERSION} seamonkey
+ fi
+)
+
+mkdir -p $PKG/usr/share/applications
+cp -a $CWD/*.desktop $PKG/usr/share/applications
+chown -R root:root $PKG/usr/share/applications
+chmod 644 $PKG/usr/share/applications/*
+mkdir -p $PKG/usr/share/pixmaps
+cp -a $CWD/*.png $PKG/usr/share/pixmaps
+chown -R root:root $PKG/usr/share/pixmaps
+chmod 644 $PKG/usr/share/pixmaps/*
+
+mkdir -p $PKG/usr/doc/seamonkey-$VERSION
+( cd mozilla
+ cp -a \
+ LEGAL LICENSE README.txt \
+ $PKG/usr/doc/seamonkey-$VERSION
+)
+
+mkdir -p $PKG/install
+cat $CWD/slack-desc > $PKG/install/slack-desc
+zcat $CWD/doinst.sh.gz | sed -e "s#usr/lib#usr/lib${LIBDIRSUFFIX}#g" \
+ > $PKG/install/doinst.sh
+
+cd $TMP/package-seamonkey
+/sbin/makepkg -l y -c n -p $TMP/seamonkey-$VERSION-$ARCH-$BUILD.txz
+
+# Create a standalone seamonkey-solibs package for RPM, gxine, etc.
+rm -r $TMP/package-seamonkey-solibs
+mkdir -p $TMP/package-seamonkey-solibs/usr/doc
+cp -a $PKG/usr/doc/seamonkey-$VERSION $TMP/package-seamonkey-solibs/usr/doc
+mkdir -p $TMP/package-seamonkey-solibs/usr/lib${LIBDIRSUFFIX}/seamonkey-${VERSION}
+for file in libfreebl3.chk libfreebl3.so libmozjs.so libnspr4.so libnss3.so \
+ libnssckbi.so libnssutil3.so libplc4.so libplds4.so libsmime3.so \
+ libsoftokn3.chk libsoftokn3.so libssl3.so ; do
+ cp -a $PKG/usr/lib${LIBDIRSUFFIX}/seamonkey-${VERSION}/$file \
+ $TMP/package-seamonkey-solibs/usr/lib${LIBDIRSUFFIX}/seamonkey-${VERSION}
+done
+mkdir $TMP/package-seamonkey-solibs/install
+cat << EOF | sed -e "s#usr/lib#usr/lib${LIBDIRSUFFIX}#g" > $TMP/package-seamonkey-solibs/install/doinst.sh
+( cd usr/lib ; rm -rf seamonkey )
+( cd usr/lib ; ln -sf seamonkey-$VERSION seamonkey )
+if ! grep /usr/lib/seamonkey etc/ld.so.conf 1> /dev/null 2> /dev/null ; then
+ echo "/usr/lib/seamonkey" >> etc/ld.so.conf
+fi
+if [ -x /sbin/ldconfig ]; then
+ /sbin/ldconfig 2> /dev/null
+fi
+EOF
+cat << EOF > $TMP/package-seamonkey-solibs/install/slack-desc
+ |-----handy-ruler------------------------------------------------------|
+seamonkey-solibs: seamonkey-solibs (Shared libraries from Seamonkey)
+seamonkey-solibs:
+seamonkey-solibs: This package contains a subset of the shared libraries from Seamonkey
+seamonkey-solibs: to provide runtime support for programs that require nss, nspr, and
+seamonkey-solibs: js. These libraries are used in programs like RPM and gxine, and can
+seamonkey-solibs: be used in others. This package is built from the Seamonkey sources
+seamonkey-solibs: and is provided as a standalone runtime package for people who do not
+seamonkey-solibs: want to install the entire seamonkey package (as for server use).
+seamonkey-solibs:
+seamonkey-solibs: This package is runtime only. The include files and other files for
+seamonkey-solibs: development can be found in the seamonkey package.
+EOF
+cd $TMP/package-seamonkey-solibs
+/sbin/makepkg -l y -c n -p $TMP/seamonkey-solibs-$VERSION-$ARCH-$BUILD.txz
+
diff --git a/patches/source/seamonkey/seamonkey.desktop b/patches/source/seamonkey/seamonkey.desktop
new file mode 100644
index 00000000..7c988a76
--- /dev/null
+++ b/patches/source/seamonkey/seamonkey.desktop
@@ -0,0 +1,8 @@
+[Desktop Entry]
+Name=SeaMonkey
+Comment=Web Browser
+Exec=/usr/bin/seamonkey
+Icon=/usr/share/pixmaps/seamonkey-icon.png
+Terminal=0
+Type=Application
+Categories=Application;Network;
diff --git a/patches/source/seamonkey/slack-desc b/patches/source/seamonkey/slack-desc
new file mode 100644
index 00000000..af6ee240
--- /dev/null
+++ b/patches/source/seamonkey/slack-desc
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|'
+# on the right side marks the last column you can put a character in. You must
+# make exactly 11 lines for the formatting to be correct. It's also
+# customary to leave one space after the ':'.
+
+ |-----handy-ruler------------------------------------------------------|
+seamonkey: SeaMonkey (an open-source web browser suite)
+seamonkey:
+seamonkey: The SeaMonkey browser suite. SeaMonkey features a state-of-the-art
+seamonkey: web browser and powerful email client, as well as a WYSIWYG web page
+seamonkey: composer and a feature-rich IRC chat client.
+seamonkey:
+seamonkey:
+seamonkey:
+seamonkey: Visit the SeaMonkey project at this URL:
+seamonkey: http://www.mozilla.org/projects/seamonkey/
+seamonkey:
diff --git a/patches/source/sendmail/Build b/patches/source/sendmail/Build
new file mode 100644
index 00000000..21950d49
--- /dev/null
+++ b/patches/source/sendmail/Build
@@ -0,0 +1,29 @@
+#!/bin/sh
+# Copyright 2004 Slackware Linux, Inc. Concord, CA 94520
+# Copyright 2007, 2008 Patrick J. Volkerding, Sebeka, MN, USA
+# All rights reserved.
+#
+# Redistribution and use of this script, with or without modification, is
+# permitted provided that the following conditions are met:
+#
+# 1. Redistributions of this script must retain the above copyright
+# notice, this list of conditions and the following disclaimer.
+#
+# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED
+# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
+# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
+# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+#
+
+# A script to build .cf files from .mc files:
+
+for mcfile in $* ; do
+ /usr/bin/m4 /usr/share/sendmail/cf/m4/cf.m4 $mcfile > $(basename $mcfile .mc).cf
+done
+
diff --git a/patches/source/sendmail/SlackBuild-sendmail b/patches/source/sendmail/SlackBuild-sendmail
new file mode 100755
index 00000000..c31a296e
--- /dev/null
+++ b/patches/source/sendmail/SlackBuild-sendmail
@@ -0,0 +1,167 @@
+#!/bin/sh
+
+# Copyright 2008, 2009, 2014 Patrick J. Volkerding, Sebeka, MN, USA
+# All rights reserved.
+#
+# Redistribution and use of this script, with or without modification, is
+# permitted provided that the following conditions are met:
+#
+# 1. Redistributions of this script must retain the above copyright
+# notice, this list of conditions and the following disclaimer.
+#
+# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED
+# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
+# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
+# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+VERSION=8.14.9
+BUILD=${BUILD:-1_slack13.0}
+
+# Automatically determine the architecture we're building on:
+if [ -z "$ARCH" ]; then
+ case "$(uname -m)" in
+ i?86) ARCH=i486 ;;
+ arm*) readelf /usr/bin/file -A | egrep -q "Tag_CPU.*[4,5]" && ARCH=arm || ARCH=armv7lh ;;
+ # Unless $ARCH is already set, use uname -m for all other archs:
+ *) ARCH=$(uname -m) ;;
+ esac
+ export ARCH
+fi
+
+CWD=$(pwd)
+TMP=${TMP:-/tmp}
+PKG=$TMP/package-sendmail
+
+if [ "$ARCH" = "i486" ]; then
+ SLKCFLAGS="-O2 -march=i486 -mtune=i686"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "s390" ]; then
+ SLKCFLAGS="-O2"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "x86_64" ]; then
+ SLKCFLAGS="-O2 -fPIC"
+ LIBDIRSUFFIX="64"
+fi
+
+rm -rf $PKG
+mkdir -p $TMP $PKG
+
+# Explode the package framework:
+cd $PKG
+explodepkg $CWD/_sendmail.tar.gz
+[ -n "${LIBDIRSUFFIX}" ] && mv $PKG/usr/lib $PKG/usr/lib${LIBDIRSUFFIX}
+
+echo "+=================+"
+echo "| sendmail.$VERSION |"
+echo "+=================+"
+OSCPU="`uname -srm | tr ' ' '.'`"
+cd $TMP
+rm -rf sendmail-$VERSION
+tar xvf $CWD/sendmail.$VERSION.tar.gz || exit 1
+cd sendmail-$VERSION
+
+chown -R root:root .
+find . \
+ \( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \
+ -exec chmod 755 {} \; -o \
+ \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \
+ -exec chmod 644 {} \;
+
+# Add TLS support to the sendmail binary:
+cat $CWD/site.config.m4 > devtools/Site/site.config.m4
+
+# Build .cf files for Linux:
+cd $TMP/sendmail-$VERSION/cf/cf
+cp $CWD/*.mc .
+cp linux.uucp.mc config.mc
+sh Build config.cf
+mv config.cf $PKG/usr/share/sendmail/linux.uucp.cf
+cp sendmail-slackware.mc config.mc
+sh Build config.cf
+mv config.cf $PKG/usr/share/sendmail/sendmail-slackware.cf
+cp sendmail-slackware-tls.mc config.mc
+sh Build config.cf
+mv config.cf $PKG/usr/share/sendmail/sendmail-slackware-tls.cf
+cp sendmail-slackware-tls-sasl.mc config.mc
+sh Build config.cf
+mv config.cf $PKG/usr/share/sendmail/sendmail-slackware-tls-sasl.cf
+
+# Add a sample sendmail.cf:
+cat $PKG/usr/share/sendmail/sendmail-slackware.cf > $PKG/etc/mail/sendmail.cf.new
+cat submit.cf > $PKG/etc/mail/submit.cf.new
+
+cd $TMP/sendmail-$VERSION
+## All "Build" does is call make while screwing up the options :-)
+## sh Build
+make O="$SLKCFLAGS"
+#O="$SLKCFLAGS" sh Build
+cat sendmail/mailq.1 | gzip -9c > $PKG/usr/man/man1/mailq.1.gz
+cat sendmail/newaliases.1 | gzip -9c > $PKG/usr/man/man1/newaliases.1.gz
+mkdir -p $PKG/usr/doc/sendmail-$VERSION
+cp -a \
+ FAQ INSTALL KNOWNBUGS LICENSE PGPKEYS README RELEASE_NOTES \
+ $PKG/usr/doc/sendmail-$VERSION
+( cd doc ; cp -a op $PKG/usr/doc/sendmail-$VERSION )
+
+cd obj.$OSCPU/sendmail
+cat sendmail > $PKG/usr/sbin/sendmail.new
+cat aliases.5 | gzip -9c > $PKG/usr/man/man5/aliases.5.gz
+cat sendmail.8 | gzip -9c > $PKG/usr/man/man8/sendmail.8.gz
+cat statistics > $PKG/etc/mail/statistics
+cat ../../sendmail/helpfile > $PKG/etc/mail/helpfile
+cd ../makemap
+cat makemap > $PKG/usr/sbin/makemap
+cat makemap.8 | gzip -9c > $PKG/usr/man/man8/makemap.8.gz
+cd ../mailstats
+cat mailstats > $PKG/usr/sbin/mailstats
+cat mailstats.8 | gzip -9c > $PKG/usr/man/man8/mailstats.8.gz
+cd ../praliases
+cat praliases > $PKG/usr/bin/praliases
+chmod 755 $PKG/usr/bin/praliases
+cat praliases.8 | gzip -9c > $PKG/usr/man/man8/praliases.8.gz
+cd ../rmail
+cat rmail > $PKG/usr/bin/rmail
+cat rmail.8 | gzip -9c > $PKG/usr/man/man8/rmail.8.gz
+cd ../smrsh
+cat smrsh > $PKG/usr/sbin/smrsh
+cat smrsh.8 | gzip -9c > $PKG/usr/man/man8/smrsh.8.gz
+cd ../mail.local
+cat mail.local > $PKG/usr/sbin/mail.local
+cat mail.local.8 | gzip -9c > $PKG/usr/man/man8/mail.local.8.gz
+cd ../vacation
+cat vacation > $PKG/usr/bin/vacation
+cat vacation.1 | gzip -9c > $PKG/usr/man/man1/vacation.1.gz
+cd ../editmap
+cat editmap > $PKG/usr/sbin/editmap
+cat editmap.8 | gzip -9c > $PKG/usr/man/man8/editmap.8.gz
+
+# Add libmilter:
+cd $TMP/sendmail-$VERSION/libmilter
+./Build
+cd ..
+mkdir -p $PKG/usr/include
+mkdir -p $PKG/usr/include/libmilter
+cp -a include/libmilter/mfapi.h $PKG/usr/include/libmilter
+cp -a include/libmilter/mfdef.h $PKG/usr/include/libmilter
+cp -a obj.*/libmilter/libmilter.a $PKG/usr/lib${LIBDIRSUFFIX}
+strip -g $PKG/usr/lib${LIBDIRSUFFIX}/libmilter.a
+chmod 644 $PKG/usr/lib${LIBDIRSUFFIX}/libmilter.a $PKG/usr/include/libmilter/*
+mkdir -p $PKG/usr/doc/sendmail-$VERSION/libmilter
+cp -a libmilter/README $PKG/usr/doc/sendmail-$VERSION/libmilter
+
+find $PKG | xargs file | grep -e "executable" -e "shared object" | grep ELF \
+ | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
+
+cat $CWD/slack-desc.sendmail > $PKG/install/slack-desc
+
+# Build the package:
+cd $PKG
+/sbin/makepkg -l y -c n $TMP/sendmail-$VERSION-$ARCH-$BUILD.txz
+
diff --git a/patches/source/sendmail/SlackBuild-sendmail-cf b/patches/source/sendmail/SlackBuild-sendmail-cf
new file mode 100755
index 00000000..1372cd01
--- /dev/null
+++ b/patches/source/sendmail/SlackBuild-sendmail-cf
@@ -0,0 +1,58 @@
+#!/bin/sh
+
+# Copyright 2008, 2009, 2014 Patrick J. Volkerding, Sebeka, Minnesota, USA
+# All rights reserved.
+#
+# Redistribution and use of this script, with or without modification, is
+# permitted provided that the following conditions are met:
+#
+# 1. Redistributions of this script must retain the above copyright
+# notice, this list of conditions and the following disclaimer.
+#
+# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED
+# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
+# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
+# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+VERSION=8.14.9
+ARCH=noarch
+BUILD=${BUILD:-1_slack13.0}
+
+CWD=$(pwd)
+TMP=${TMP:-/tmp}
+PKG=$TMP/package-sendmail-cf
+
+rm -rf $PKG
+mkdir -p $TMP $PKG
+
+echo "+====================+"
+echo "| sendmail.cf.$VERSION |"
+echo "+====================+"
+( cd $TMP/sendmail-$VERSION ; find . -name "*~" -print -exec rm {} \; )
+cd $PKG
+mkdir -p usr/share/sendmail/cf
+cd usr/share/sendmail/cf
+cp -a $TMP/sendmail-$VERSION/cf/README .
+cp -a $TMP/package-sendmail/usr/share/sendmail/README.linux .
+for dir in cf domain feature hack m4 mailer ostype sh siteconfig ; do
+ cp -a $TMP/sendmail-$VERSION/cf/$dir .
+done
+# Replace the sendmail Build script with a simple (working) one:
+cp -a $PKG/usr/share/sendmail/cf/cf/Build $PKG/usr/share/sendmail/cf/cf/Build.orig
+zcat $CWD/Build.gz > $PKG/usr/share/sendmail/cf/cf/Build
+chown -R root.root *
+
+mkdir -p $PKG/install
+cat $CWD/slack-desc.sendmail-cf > $PKG/install/slack-desc
+
+# Build the package:
+cd $PKG
+/sbin/makepkg -l y -c n $TMP/sendmail-cf-$VERSION-noarch-$BUILD.txz
+
diff --git a/patches/source/sendmail/linux.uucp.mc b/patches/source/sendmail/linux.uucp.mc
new file mode 100644
index 00000000..ffd242bb
--- /dev/null
+++ b/patches/source/sendmail/linux.uucp.mc
@@ -0,0 +1,8 @@
+include(`../m4/cf.m4')
+VERSIONID(`linux for setup with uucp which uses domain names')dnl
+OSTYPE(linux)
+FEATURE(always_add_domain)dnl
+MAILER(local)dnl
+MAILER(smtp)dnl
+MAILER(uucp)
+define(`SMART_HOST', uucp-dom:otheruucphost)
diff --git a/patches/source/sendmail/sendmail-slackware-tls-sasl.mc b/patches/source/sendmail/sendmail-slackware-tls-sasl.mc
new file mode 100644
index 00000000..ed5753b4
--- /dev/null
+++ b/patches/source/sendmail/sendmail-slackware-tls-sasl.mc
@@ -0,0 +1,61 @@
+dnl# This is the a sendmail .mc file for Slackware with TLS support.
+dnl# To generate the sendmail.cf file from this (perhaps after making
+dnl# some changes), use the m4 files in /usr/share/sendmail/cf like this:
+dnl#
+dnl# cp sendmail-slackware-tls.mc /usr/share/sendmail/cf/config.mc
+dnl# cd /usr/share/sendmail/cf
+dnl# sh Build config.mc
+dnl#
+dnl# You may then install the resulting .cf file:
+dnl# cp config.cf /etc/mail/sendmail.cf
+dnl#
+include(`../m4/cf.m4')
+VERSIONID(`TLS supporting setup for Slackware Linux')dnl
+OSTYPE(`linux')dnl
+dnl#
+dnl# You will need to create the certificates below with OpenSSL first:
+define(`confCACERT_PATH', `/etc/mail/certs/')
+define(`confCACERT', `/etc/mail/certs/CA.cert.pem')
+define(`confSERVER_CERT', `/etc/mail/certs/smtp.cert.pem')
+define(`confSERVER_KEY', `/etc/mail/certs/smtp.key.pem')
+dnl# These settings help protect against people verifying email addresses
+dnl# at your site in order to send you email that you probably don't want:
+define(`confPRIVACY_FLAGS', `authwarnings,novrfy,noexpn,restrictqrun')dnl
+dnl# Uncomment the line below to send outgoing mail through an external server:
+dnl define(`SMART_HOST',`mailserver.example.com')
+dnl# No timeout for ident:
+define(`confTO_IDENT', `0')dnl
+dnl# Enable the line below to use smrsh to restrict what sendmail can run:
+dnl FEATURE(`smrsh',`/usr/sbin/smrsh')dnl
+dnl# See the README in /usr/share/sendmail/cf for a ton of information on
+dnl# how these options work:
+FEATURE(`use_cw_file')dnl
+FEATURE(`use_ct_file')dnl
+FEATURE(`mailertable',`hash -o /etc/mail/mailertable.db')dnl
+FEATURE(`virtusertable',`hash -o /etc/mail/virtusertable.db')dnl
+FEATURE(`access_db', `hash -T<TMPF> /etc/mail/access')dnl
+FEATURE(`blacklist_recipients')dnl
+FEATURE(`local_procmail',`',`procmail -t -Y -a $h -d $u')dnl
+FEATURE(`always_add_domain')dnl
+FEATURE(`redirect')dnl
+FEATURE(`no_default_msa')dnl
+dnl# Turn this feature on if you don't always have DNS, or enjoy junk mail:
+dnl FEATURE(`accept_unresolvable_domains')dnl
+EXPOSED_USER(`root')dnl
+dnl# Also accept mail for localhost.localdomain:
+LOCAL_DOMAIN(`localhost.localdomain')dnl
+MAILER(local)dnl
+MAILER(smtp)dnl
+MAILER(procmail)dnl
+dnl# Allow SASL authentication/relaying:
+define(`confAUTH_OPTIONS', `A p y')dnl
+define(`confAUTH_MECHANISMS', `LOGIN PLAIN DIGEST-MD5 CRAM-MD5')dnl
+TRUST_AUTH_MECH(`LOGIN PLAIN DIGEST-MD5 CRAM-MD5')dnl
+DAEMON_OPTIONS(`Port=smtp, Name=MTA')dnl
+dnl# Daemon options after M= below that might need to be changed are:
+dnl# s (allow SSL, not only TLS)
+dnl# a (require authentication)
+DAEMON_OPTIONS(`Port=smtps, Name=MSA-SSL, M=Esa')dnl
+LOCAL_CONFIG
+dnl# Do not allow the weak SSLv2:
+O CipherList=ALL:!ADH:!NULL:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:-LOW:+SSLv3:+TLSv1:-SSLv2:+EXP:+eNULL
diff --git a/patches/source/sendmail/sendmail-slackware-tls.mc b/patches/source/sendmail/sendmail-slackware-tls.mc
new file mode 100644
index 00000000..01a66775
--- /dev/null
+++ b/patches/source/sendmail/sendmail-slackware-tls.mc
@@ -0,0 +1,56 @@
+dnl# This is the a sendmail .mc file for Slackware with TLS support.
+dnl# To generate the sendmail.cf file from this (perhaps after making
+dnl# some changes), use the m4 files in /usr/share/sendmail/cf like this:
+dnl#
+dnl# cp sendmail-slackware-tls.mc /usr/share/sendmail/cf/config.mc
+dnl# cd /usr/share/sendmail/cf
+dnl# sh Build config.mc
+dnl#
+dnl# You may then install the resulting .cf file:
+dnl# cp config.cf /etc/mail/sendmail.cf
+dnl#
+include(`../m4/cf.m4')
+VERSIONID(`TLS supporting setup for Slackware Linux')dnl
+OSTYPE(`linux')dnl
+dnl#
+dnl# You will need to create the certificates below with OpenSSL first:
+define(`confCACERT_PATH', `/etc/mail/certs/')
+define(`confCACERT', `/etc/mail/certs/CA.cert.pem')
+define(`confSERVER_CERT', `/etc/mail/certs/smtp.cert.pem')
+define(`confSERVER_KEY', `/etc/mail/certs/smtp.key.pem')
+dnl# These settings help protect against people verifying email addresses
+dnl# at your site in order to send you email that you probably don't want:
+define(`confPRIVACY_FLAGS', `authwarnings,novrfy,noexpn,restrictqrun')dnl
+dnl# Uncomment the line below to send outgoing mail through an external server:
+dnl define(`SMART_HOST',`mailserver.example.com')
+dnl# No timeout for ident:
+define(`confTO_IDENT', `0')dnl
+dnl# Enable the line below to use smrsh to restrict what sendmail can run:
+dnl FEATURE(`smrsh',`/usr/sbin/smrsh')dnl
+dnl# See the README in /usr/share/sendmail/cf for a ton of information on
+dnl# how these options work:
+FEATURE(`use_cw_file')dnl
+FEATURE(`use_ct_file')dnl
+FEATURE(`mailertable',`hash -o /etc/mail/mailertable.db')dnl
+FEATURE(`virtusertable',`hash -o /etc/mail/virtusertable.db')dnl
+FEATURE(`access_db', `hash -T<TMPF> /etc/mail/access')dnl
+FEATURE(`blacklist_recipients')dnl
+FEATURE(`local_procmail',`',`procmail -t -Y -a $h -d $u')dnl
+FEATURE(`always_add_domain')dnl
+FEATURE(`redirect')dnl
+dnl# Turn this feature on if you don't always have DNS, or enjoy junk mail:
+dnl FEATURE(`accept_unresolvable_domains')dnl
+EXPOSED_USER(`root')dnl
+dnl# Also accept mail for localhost.localdomain:
+LOCAL_DOMAIN(`localhost.localdomain')dnl
+MAILER(local)dnl
+MAILER(smtp)dnl
+MAILER(procmail)dnl
+DAEMON_OPTIONS(`Port=smtp, Name=MTA')dnl
+dnl# Daemon options after M= below that might need to be changed are:
+dnl# s (allow SSL, not only TLS)
+dnl# a (require authentication)
+DAEMON_OPTIONS(`Port=smtps, Name=MSA-SSL, M=Es')dnl
+LOCAL_CONFIG
+dnl# Do not allow the weak SSLv2:
+O CipherList=ALL:!ADH:!NULL:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:-LOW:+SSLv3:+TLSv1:-SSLv2:+EXP:+eNULL
diff --git a/patches/source/sendmail/sendmail-slackware.mc b/patches/source/sendmail/sendmail-slackware.mc
new file mode 100644
index 00000000..4fd4620b
--- /dev/null
+++ b/patches/source/sendmail/sendmail-slackware.mc
@@ -0,0 +1,42 @@
+dnl# This is the default sendmail .mc file for Slackware. To generate
+dnl# the sendmail.cf file from this (perhaps after making some changes),
+dnl# use the m4 files in /usr/share/sendmail/cf like this:
+dnl#
+dnl# cp sendmail-slackware.mc /usr/share/sendmail/cf/config.mc
+dnl# cd /usr/share/sendmail/cf
+dnl# sh Build config.cf
+dnl#
+dnl# You may then install the resulting .cf file:
+dnl# cp config.cf /etc/mail/sendmail.cf
+dnl#
+include(`../m4/cf.m4')
+VERSIONID(`default setup for Slackware Linux')dnl
+OSTYPE(`linux')dnl
+dnl# These settings help protect against people verifying email addresses
+dnl# at your site in order to send you email that you probably don't want:
+define(`confPRIVACY_FLAGS', `authwarnings,novrfy,noexpn,restrictqrun')dnl
+dnl# Uncomment the line below to send outgoing mail through an external server:
+dnl define(`SMART_HOST',`mailserver.example.com')
+dnl# No timeout for ident:
+define(`confTO_IDENT', `0')dnl
+dnl# Enable the line below to use smrsh to restrict what sendmail can run:
+dnl FEATURE(`smrsh',`/usr/sbin/smrsh')dnl
+dnl# See the README in /usr/share/sendmail/cf for a ton of information on
+dnl# how these options work:
+FEATURE(`use_cw_file')dnl
+FEATURE(`use_ct_file')dnl
+FEATURE(`mailertable',`hash -o /etc/mail/mailertable.db')dnl
+FEATURE(`virtusertable',`hash -o /etc/mail/virtusertable.db')dnl
+FEATURE(`access_db', `hash -T<TMPF> /etc/mail/access')dnl
+FEATURE(`blacklist_recipients')dnl
+FEATURE(`local_procmail',`',`procmail -t -Y -a $h -d $u')dnl
+FEATURE(`always_add_domain')dnl
+FEATURE(`redirect')dnl
+dnl# Turn this feature on if you don't always have DNS, or enjoy junk mail:
+dnl FEATURE(`accept_unresolvable_domains')dnl
+EXPOSED_USER(`root')dnl
+dnl# Also accept mail for localhost.localdomain:
+LOCAL_DOMAIN(`localhost.localdomain')dnl
+MAILER(local)dnl
+MAILER(smtp)dnl
+MAILER(procmail)dnl
diff --git a/patches/source/sendmail/sendmail.SlackBuild b/patches/source/sendmail/sendmail.SlackBuild
new file mode 100755
index 00000000..462f16e9
--- /dev/null
+++ b/patches/source/sendmail/sendmail.SlackBuild
@@ -0,0 +1,3 @@
+#!/bin/sh
+./SlackBuild-sendmail $*
+./SlackBuild-sendmail-cf $*
diff --git a/patches/source/sendmail/site.config.m4 b/patches/source/sendmail/site.config.m4
new file mode 100644
index 00000000..1f6c7f87
--- /dev/null
+++ b/patches/source/sendmail/site.config.m4
@@ -0,0 +1,7 @@
+APPENDDEF(`confMAPDEF', `-DNEWDB -DSTARTTLS -DSASL=2 -DTCPWRAPPERS -DNIS -DMAP_REGEX -DSOCKETMAP')
+APPENDDEF(`confLIBS', `-lnsl -lssl -lcrypto -lsasl2 -lwrap -lm -ldb -lresolv')
+APPENDDEF(`conf_libmilter_ENVDEF', `-DMILTER')
+APPENDDEF(`conf_sendmail_ENVDEF', `-DMILTER')
+APPENDDEF(`conf_libmilter_ENVDEF', `-D_FFR_MILTER_ROOT_UNSAFE ')
+APPENDDEF(`confENVDEF', `-DBROKEN_PTHREAD_SLEEP')
+APPENDDEF(`confENVDEF', `-D_FFR_TLS_1')dnl
diff --git a/patches/source/sendmail/slack-desc.sendmail b/patches/source/sendmail/slack-desc.sendmail
new file mode 100644
index 00000000..cdcc9387
--- /dev/null
+++ b/patches/source/sendmail/slack-desc.sendmail
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|'
+# on the right side marks the last column you can put a character in. You must
+# make exactly 11 lines for the formatting to be correct. It's also
+# customary to leave one space after the ':'.
+
+ |-----handy-ruler------------------------------------------------------|
+sendmail: sendmail (mail transfer agent)
+sendmail:
+sendmail: Eric Allman's mail transport agent. The _Unix System Administration
+sendmail: Handbook_ calls sendmail 'The most complex and complete mail delivery
+sendmail: system in common use...'
+sendmail:
+sendmail: Ready-made configuration files are included for systems connected by
+sendmail: TCP/IP (with or without a nameserver) and for systems using UUCP.
+sendmail:
+sendmail: The procmail package is required to handle local mail delivery.
+sendmail:
diff --git a/patches/source/sendmail/slack-desc.sendmail-cf b/patches/source/sendmail/slack-desc.sendmail-cf
new file mode 100644
index 00000000..df56efdc
--- /dev/null
+++ b/patches/source/sendmail/slack-desc.sendmail-cf
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|'
+# on the right side marks the last column you can put a character in. You must
+# make exactly 11 lines for the formatting to be correct. It's also
+# customary to leave one space after the ':'.
+
+ |-----handy-ruler------------------------------------------------------|
+sendmail-cf: sendmail-cf (configuration files for sendmail)
+sendmail-cf:
+sendmail-cf: These files are used to create sendmail.cf configuration files. The
+sendmail-cf: m4 macro processor is also required in order to make use of these
+sendmail-cf: files.
+sendmail-cf:
+sendmail-cf: The files and documentation in /usr/share/sendmail should make it
+sendmail-cf: possible to support virtually any mail configuration. NOTE: You
+sendmail-cf: probably won't need this package if you're planning to use one of the
+sendmail-cf: sendmail.cf samples included in the sendmail package.
+sendmail-cf:
diff --git a/patches/source/slocate/slack-desc b/patches/source/slocate/slack-desc
new file mode 100644
index 00000000..22ec56cc
--- /dev/null
+++ b/patches/source/slocate/slack-desc
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|' on
+# the right side marks the last column you can put a character in. You must make
+# exactly 11 lines for the formatting to be correct. It's also customary to
+# leave one space after the ':'.
+
+ |-----handy-ruler------------------------------------------------------|
+slocate: slocate (Secure Locate)
+slocate:
+slocate: Slocate is an enhanced version of locate, a command to help you locate
+slocate: files on the system. Like the original version of locate, Slocate
+slocate: maintains a database of files on the system, updating it nightly.
+slocate: Unlike the original, Slocate indexes every file on the machine rather
+slocate: than only the ones that can be seen by everyone. The "secure" part of
+slocate: slocate is that it will only return matches if the user is allowed to
+slocate: see the files.
+slocate:
+slocate:
diff --git a/patches/source/slocate/slocate-3.1.tar.gz.sign b/patches/source/slocate/slocate-3.1.tar.gz.sign
new file mode 100644
index 00000000..91b98242
--- /dev/null
+++ b/patches/source/slocate/slocate-3.1.tar.gz.sign
@@ -0,0 +1,7 @@
+-----BEGIN PGP SIGNATURE-----
+Version: GnuPG v1.4.2 (GNU/Linux)
+
+iD8DBQBEDmWkUZpV8HRsUfQRAnLeAJ0cBuIYvy+3GSTdm+sfQ7XYbNWuwgCgj+pZ
+RKdGZfMmcuFGoBO39sCX/64=
+=K/rW
+-----END PGP SIGNATURE-----
diff --git a/patches/source/slocate/slocate.CVE-2007-0277.diff b/patches/source/slocate/slocate.CVE-2007-0277.diff
new file mode 100644
index 00000000..4f109922
--- /dev/null
+++ b/patches/source/slocate/slocate.CVE-2007-0277.diff
@@ -0,0 +1,42 @@
+--- slocate-3.1.orig/src/utils.c
++++ slocate-3.1/src/utils.c
+@@ -524,6 +524,7 @@
+ {
+ struct stat path_stat;
+ int ret = 0;
++ char *path_copy = NULL;
+ char *ptr = NULL;
+
+ if (lstat(path, &path_stat) == -1)
+@@ -532,15 +533,25 @@
+ if (!S_ISLNK(path_stat.st_mode)) {
+ if (access(path, F_OK) != 0)
+ goto EXIT;
+- } else if ((ptr = rindex(path, '/'))) {
+- *ptr = 0;
+- if (access(path, F_OK) == 0)
+- ret = 1;
+- *ptr = '/';
+- goto EXIT;
+ }
+
++ /* "path" is const, so we shouldn't modify it. Also, for speed,
++ * I suspect strdup/free is less expensive than the deep access
++ * checks... */
++ if (!(path_copy = strdup(path)))
++ goto EXIT;
++
+ ret = 1;
++
++ /* Each directory leading to the file (symlink or not) must be
++ * readable for us to allow it to be listed in search results. */
++ while (ret && (ptr=rindex(path_copy,'/'))) {
++ *ptr=0;
++ if (*path_copy && access(path_copy, R_OK) != 0)
++ ret = 0;
++ }
++ free(path_copy);
++
+ EXIT:
+ return ret;
+ }
diff --git a/patches/source/slocate/slocate.SlackBuild b/patches/source/slocate/slocate.SlackBuild
new file mode 100755
index 00000000..3c3e8494
--- /dev/null
+++ b/patches/source/slocate/slocate.SlackBuild
@@ -0,0 +1,90 @@
+#!/bin/sh
+
+# Copyright 2008, 2009, 2010, 2012 Patrick J. Volkerding, Sebeka, Minnesota, USA
+# All rights reserved.
+#
+# Redistribution and use of this script, with or without modification, is
+# permitted provided that the following conditions are met:
+#
+# 1. Redistributions of this script must retain the above copyright
+# notice, this list of conditions and the following disclaimer.
+#
+# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED
+# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
+# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
+# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+VERSION=3.1
+BUILD=${BUILD:-4_slack13.0}
+
+# Automatically determine the architecture we're building on:
+if [ -z "$ARCH" ]; then
+ case "$( uname -m )" in
+ i?86) export ARCH=i486 ;;
+ arm*) export ARCH=arm ;;
+ # Unless $ARCH is already set, use uname -m for all other archs:
+ *) export ARCH=$( uname -m ) ;;
+ esac
+fi
+
+CWD=$(pwd)
+TMP=${TMP:-/tmp}
+PKG=$TMP/package-slocate
+
+if [ "$ARCH" = "i486" ]; then
+ SLKCFLAGS="-O2 -march=i486 -mtune=i686"
+elif [ "$ARCH" = "s390" ]; then
+ SLKCFLAGS="-O2"
+elif [ "$ARCH" = "x86_64" ]; then
+ SLKCFLAGS="-O2 -fPIC"
+fi
+
+rm -rf $PKG
+mkdir -p $TMP $PKG
+
+# Explode the package framework:
+cd $PKG
+explodepkg $CWD/_slocate.tar.gz
+
+cd $TMP
+rm -rf slocate-$VERSION
+tar xzvf $CWD/slocate-$VERSION.tar.gz || exit 1
+cd slocate-$VERSION || exit 1
+
+zcat $CWD/slocate.bigfile.diff.gz | patch -p0 --verbose || exit 1
+zcat $CWD/slocate.CVE-2007-0277.diff.gz | patch -p1 --verbose || exit 1
+
+chown -R root:root .
+find . \
+ \( -perm 777 -o -perm 775 -o -perm 750 -o -perm 2750 -o -perm 711 -o -perm 555 -o -perm 511 \) \
+ -exec chmod 755 {} \; -o \
+ \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \
+ -exec chmod 644 {} \;
+
+cd src
+make CFLAGS="$SLKCFLAGS -D_LARGEFILE64_SOURCE" || exit 1
+cd ..
+strip --strip-unneeded src/slocate
+mkdir -p $PKG/usr/bin
+cat src/slocate > $PKG/usr/bin/slocate
+mkdir -p $PKG/usr/man/man1
+cat doc/slocate.1 | gzip -9c > $PKG/usr/man/man1/slocate.1.gz
+cat doc/updatedb.1 | gzip -9c > $PKG/usr/man/man1/updatedb.1.gz
+mkdir -p $PKG/usr/doc/slocate-$VERSION
+cp -a \
+ Changelog LICENSE README WISHLIST \
+ $PKG/usr/doc/slocate-$VERSION
+mkdir -p $PKG/install
+cat $CWD/slack-desc > $PKG/install/slack-desc
+
+# Build the package:
+cd $PKG
+makepkg -l y -c n $TMP/slocate-$VERSION-$ARCH-$BUILD.txz
+
diff --git a/patches/source/slocate/slocate.bigfile.diff b/patches/source/slocate/slocate.bigfile.diff
new file mode 100644
index 00000000..6ccd1202
--- /dev/null
+++ b/patches/source/slocate/slocate.bigfile.diff
@@ -0,0 +1,33 @@
+Fix 2GB limitation - brought to you by mancha
+
+--- src/utils.c.orig 2012-08-25
++++ src/utils.c 2012-08-25
+@@ -284,12 +284,12 @@ int
+ verify_slocate_db(struct g_data_s *g_data, char *file)
+ {
+ char ch[1];
+- struct stat tf_stat;
++ struct stat64 tf_stat;
+ int bytes = 0;
+ int fd = -1;
+
+ if (access(file, W_OK | R_OK) == 0) {
+- if (lstat(file, &tf_stat) == -1) {
++ if (lstat64(file, &tf_stat) == -1) {
+ if (!report_error(g_data, FATAL, "get_temp_file: fstat(): %s: %s\n", file, strerror(errno)))
+ goto EXIT;
+
+@@ -522,11 +522,11 @@ EXIT:
+ * to check them separately */
+ int verify_access(const char *path)
+ {
+- struct stat path_stat;
++ struct stat64 path_stat;
+ int ret = 0;
+ char *ptr = NULL;
+
+- if (lstat(path, &path_stat) == -1)
++ if (lstat64(path, &path_stat) == -1)
+ goto EXIT;
+
+ if (!S_ISLNK(path_stat.st_mode)) {
diff --git a/patches/source/stunnel/doinst.sh b/patches/source/stunnel/doinst.sh
new file mode 100644
index 00000000..21f004b0
--- /dev/null
+++ b/patches/source/stunnel/doinst.sh
@@ -0,0 +1,12 @@
+config() {
+ NEW="$1"
+ OLD="`dirname $NEW`/`basename $NEW .new`"
+ # If there's no config file by that name, mv it over:
+ if [ ! -r $OLD ]; then
+ mv $NEW $OLD
+ elif [ "`cat $OLD | md5sum`" = "`cat $NEW | md5sum`" ]; then # toss the redundant copy
+ rm $NEW
+ fi
+ # Otherwise, we leave the .new copy for the admin to consider...
+}
+config etc/stunnel/openssl.cnf.new
diff --git a/patches/source/stunnel/generate-stunnel-key.sh b/patches/source/stunnel/generate-stunnel-key.sh
new file mode 100644
index 00000000..b24b4ba8
--- /dev/null
+++ b/patches/source/stunnel/generate-stunnel-key.sh
@@ -0,0 +1,13 @@
+#!/bin/sh
+USE_DH=0
+
+openssl req -new -x509 -days 365 -nodes \
+ -config ./openssl.cnf -out stunnel.pem -keyout stunnel.pem
+
+test $USE_DH -eq 0 || openssl gendh >> stunnel.pem
+
+openssl x509 -subject -dates -fingerprint -noout \
+ -in stunnel.pem
+
+chmod 600 stunnel.pem
+rm -f stunnel.rnd
diff --git a/patches/source/stunnel/slack-desc b/patches/source/stunnel/slack-desc
new file mode 100644
index 00000000..f8ee5bc4
--- /dev/null
+++ b/patches/source/stunnel/slack-desc
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|'
+# on the right side marks the last column you can put a character in. You must
+# make exactly 11 lines for the formatting to be correct. It's also
+# customary to leave one space after the ':'.
+
+ |-----handy-ruler------------------------------------------------------|
+stunnel: stunnel (Universal SSL tunnel)
+stunnel:
+stunnel: The stunnel program is designed to work as an SSL encryption wrapper
+stunnel: between remote client and local (inetd-startable) or remote servers.
+stunnel: The goal is to facilitate SSL encryption and authentication for
+stunnel: non-SSL-aware programs.
+stunnel:
+stunnel: stunnel can be used to add SSL functionality to commonly used inetd
+stunnel: daemons like POP-2, POP-3 and IMAP servers without any changes in the
+stunnel: programs' code.
+stunnel:
diff --git a/patches/source/stunnel/stunnel.SlackBuild b/patches/source/stunnel/stunnel.SlackBuild
new file mode 100755
index 00000000..767e3c8f
--- /dev/null
+++ b/patches/source/stunnel/stunnel.SlackBuild
@@ -0,0 +1,140 @@
+#!/bin/sh
+
+# Copyright 2008, 2009, 2010 Patrick J. Volkerding, Sebeka, MN, USA
+# All rights reserved.
+#
+# Redistribution and use of this script, with or without modification, is
+# permitted provided that the following conditions are met:
+#
+# 1. Redistributions of this script must retain the above copyright
+# notice, this list of conditions and the following disclaimer.
+#
+# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED
+# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
+# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
+# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+PKGNAM=stunnel
+VERSION=${VERSION:-$(echo $PKGNAM-*.tar.?z | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
+BUILD=${BUILD:-2_slack13.0}
+
+# Automatically determine the architecture we're building on:
+if [ -z "$ARCH" ]; then
+ case "$( uname -m )" in
+ i?86) export ARCH=i486 ;;
+ arm*) export ARCH=arm ;;
+ # Unless $ARCH is already set, use uname -m for all other archs:
+ *) export ARCH=$( uname -m ) ;;
+ esac
+fi
+
+NUMJOBS=${NUMJOBS:-" -j7 "}
+
+if [ "$ARCH" = "i486" ]; then
+ SLKCFLAGS="-O2 -march=i486 -mtune=i686"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "s390" ]; then
+ SLKCFLAGS="-O2"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "x86_64" ]; then
+ SLKCFLAGS="-O2 -fPIC"
+ LIBDIRSUFFIX="64"
+else
+ SLKCFLAGS="-O2"
+ LIBDIRSUFFIX=""
+fi
+
+CWD=$(pwd)
+TMP=${TMP:-/tmp}
+PKG=$TMP/package-stunnel
+
+rm -rf $PKG
+mkdir -p $TMP $PKG
+
+cd $TMP
+rm -rf stunnel-$VERSION
+tar xvf $CWD/stunnel-$VERSION.tar.?z || exit 1
+cd stunnel-$VERSION || exit 1
+chown -R root:root .
+find . \
+ \( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \
+ -exec chmod 755 {} \; -o \
+ \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \
+ -exec chmod 644 {} \;
+
+CFLAGS="$SLKCFLAGS" \
+./configure \
+ --prefix=/usr \
+ --libdir=/usr/lib${LIBDIRSUFFIX} \
+ --exec-prefix= \
+ --sysconfdir=/etc \
+ --datadir=/usr/share \
+ --mandir=/usr/man \
+ --sbindir=/usr/sbin \
+ --bindir=/usr/bin \
+ --localstatedir=/var \
+ --build=$ARCH-slackware-linux
+
+make $NUMJOBS || make || exit 1
+
+# This used to be installed in /usr/sbin, so it would probably be nice to
+# link from there:
+mkdir -p $PKG/usr/sbin
+( cd $PKG/usr/sbin
+ ln -sf ../bin/stunnel .
+ ln -sf ../bin/stunnel3 .
+)
+
+mkdir -p $PKG/var/run/stunnel
+# This will produce a useless key.
+make -i install DESTDIR=$PKG
+# Get rid of key, so nobody tries to use it:
+rm -f $PKG/etc/stunnel/stunnel.pem
+# Add cnf:
+cat tools/openssl.cnf > $PKG/etc/stunnel/openssl.cnf.new
+cat $CWD/generate-stunnel-key.sh > $PKG/etc/stunnel/generate-stunnel-key.sh
+chmod 755 $PKG/etc/stunnel/generate-stunnel-key.sh
+
+mkdir -p $PKG/usr/doc/stunnel-$VERSION
+mv $PKG/usr/share/doc/stunnel/* $PKG/usr/doc/stunnel-$VERSION
+rmdir $PKG/usr/share/doc/stunnel
+rmdir $PKG/usr/share/doc
+rmdir $PKG/usr/share
+
+mkdir -p $PKG/usr/man/pl/man8
+mv $PKG/usr/man/man8/stunnel.pl.8 $PKG/usr/man/pl/man8/stunnel.8
+mkdir -p $PKG/usr/man/fr/man8
+mv $PKG/usr/man/man8/stunnel.fr.8 $PKG/usr/man/fr/man8/stunnel.8
+gzip -9 $PKG/usr/man/*/man?/*.? $PKG/usr/man/man?/*.?
+
+find $PKG | xargs file | grep -e "executable" -e "shared object" \
+ | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
+
+# The 4.15 version of stunnel caused some bizarre perms, so
+# we'll protect against that:
+chmod 0755 $PKG/var/lib
+chown root:root $PKG/var/lib
+
+# If there's a ChangeLog, installing at least part of the recent history
+# is useful, but don't let it get totally out of control:
+if [ -r ChangeLog ]; then
+ DOCSDIR=$(echo $PKG/usr/doc/${PKGNAM}-$VERSION)
+ cat ChangeLog | head -n 1000 > $DOCSDIR/ChangeLog
+ touch -r ChangeLog $DOCSDIR/ChangeLog
+fi
+
+mkdir -p $PKG/install
+cat $CWD/slack-desc > $PKG/install/slack-desc
+zcat $CWD/doinst.sh.gz > $PKG/install/doinst.sh
+
+# Build the package:
+cd $PKG
+/sbin/makepkg -l y -c n $TMP/stunnel-$VERSION-$ARCH-$BUILD.txz
+
diff --git a/patches/source/subversion/get-svn-book.sh b/patches/source/subversion/get-svn-book.sh
new file mode 100755
index 00000000..112ba17c
--- /dev/null
+++ b/patches/source/subversion/get-svn-book.sh
@@ -0,0 +1,9 @@
+#!/bin/sh
+CWD=`pwd`
+
+# Add the latest copy of the Subversion book:
+( cd $CWD
+ lftpget http://svnbook.red-bean.com/nightly/en/svn-book-html.tar.bz2
+ chmod 644 svn-book-html.tar.bz2
+)
+
diff --git a/patches/source/subversion/slack-desc b/patches/source/subversion/slack-desc
new file mode 100644
index 00000000..935a5221
--- /dev/null
+++ b/patches/source/subversion/slack-desc
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|' on
+# the right side marks the last column you can put a character in. You must make
+# exactly 11 lines for the formatting to be correct. It's also customary to
+# leave one space after the ':'.
+
+ |-----handy-ruler------------------------------------------------------|
+subversion: subversion (a version control system)
+subversion:
+subversion: Subversion is a version control system which allows you to keep old
+subversion: versions of files and directories (usually source code), and keep a
+subversion: log of who, when, and why changes occurred, similar to other such
+subversion: systems like CVS, RCS or SCCS. Subversion keeps all the information
+subversion: to permit extracting previous versions of those files at any time.
+subversion:
+subversion: For more information about the Subversion project, visit:
+subversion: http://subversion.tigris.org
+subversion:
diff --git a/patches/source/subversion/subversion.SlackBuild b/patches/source/subversion/subversion.SlackBuild
new file mode 100755
index 00000000..97d48803
--- /dev/null
+++ b/patches/source/subversion/subversion.SlackBuild
@@ -0,0 +1,170 @@
+#!/bin/sh
+
+# Copyright 2008, 2009, 2011 Patrick J. Volkerding, Sebeka, MN, USA
+# All rights reserved.
+#
+# Redistribution and use of this script, with or without modification, is
+# permitted provided that the following conditions are met:
+#
+# 1. Redistributions of this script must retain the above copyright
+# notice, this list of conditions and the following disclaimer.
+#
+# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED
+# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
+# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
+# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+VERSION=${VERSION:-$(echo subversion-*.tar.?z* | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
+NUMJOBS=${NUMJOBS:-" -j7 "}
+BUILD=${BUILD:-1_slack13.0}
+
+# Automatically determine the architecture we're building on:
+if [ -z "$ARCH" ]; then
+ case "$( uname -m )" in
+ i?86) export ARCH=i486 ;;
+ arm*) export ARCH=arm ;;
+ # Unless $ARCH is already set, use uname -m for all other archs:
+ *) export ARCH=$( uname -m ) ;;
+ esac
+fi
+
+if [ "$ARCH" = "i486" ]; then
+ SLKCFLAGS="-O2 -march=i486 -mtune=i686"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "s390" ]; then
+ SLKCFLAGS="-O2"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "x86_64" ]; then
+ SLKCFLAGS="-O2 -fPIC"
+ LIBDIRSUFFIX="64"
+fi
+
+CWD=$(pwd)
+TMP=${TMP:-/tmp}
+PKG=$TMP/package-subversion
+
+rm -rf $PKG
+mkdir -p $TMP $PKG
+
+cd $TMP
+rm -rf subversion-$VERSION
+tar xvf $CWD/subversion-$VERSION.tar.xz || exit 1
+cd subversion-$VERSION || exit 1
+
+chown -R root:root .
+find . \
+ \( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \
+ -exec chmod 755 {} \; -o \
+ \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \
+ -exec chmod 644 {} \;
+
+CFLAGS="$SLKCFLAGS" \
+./configure \
+ --prefix=/usr \
+ --libdir=/usr/lib${LIBDIRSUFFIX} \
+ --mandir=/usr/man \
+ --docdir=/usr/doc/subversion-$VERSION \
+ --enable-shared \
+ --disable-static \
+ --with-apr=/usr \
+ --with-apr-util=/usr \
+ --with-apxs=/usr/sbin/apxs \
+ --with-neon=/usr \
+ --with-zlib=/usr \
+ --with-pic \
+ --with-ssl \
+ --with-kwallet \
+ --build=$ARCH-slackware-linux
+
+make $NUMJOBS || make || exit 1
+make install DESTDIR=$PKG || exit 1
+make install-docs DESTDIR=$PKG || exit 1
+
+# Install python bindings
+make swig-py
+make install-swig-py DESTDIR=$PKG
+PYTHON_VER=$(python -c 'import sys; print "%d.%d" % sys.version_info[:2]')
+mkdir -p $PKG/usr/lib${LIBDIRSUFFIX}/python${PYTHON_VER}/site-packages
+mv $PKG/usr/lib${LIBDIRSUFFIX}/svn-python/* \
+ $PKG/usr/lib${LIBDIRSUFFIX}/python${PYTHON_VER}/site-packages
+rmdir $PKG/usr/lib${LIBDIRSUFFIX}/svn-python
+
+# Perl bindings
+make swig-pl-lib
+make install-swig-pl-lib DESTDIR=$PKG
+( cd subversion/bindings/swig/perl/native
+ perl Makefile.PL
+ make install_vendor DESTDIR=$PKG
+)
+eval $(perl '-V:archlib')
+mv $PKG/$archlib/perllocal.pod $PKG/$archlib/subversion.pod
+
+# Ruby bindings
+make swig-rb
+make install-swig-rb DESTDIR=$PKG
+
+find $PKG | xargs file | grep -e "executable" -e "shared object" | grep ELF \
+ | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
+
+rm -rf $PKG/usr/info
+# Something doesn't honor --mandir
+mv $PKG/usr/share/man/man3 $PKG/usr/man
+gzip -9 $PKG/usr/man/man?/*
+rmdir $PKG/usr/share/man
+
+# What is this junk for? Since I don't know, I'll erase it. :-)
+rm -rf $PKG/usr/build
+
+mkdir -p $PKG/usr/doc/subversion-$VERSION
+cp -a \
+ BUGS CHANGES COMMITTERS COPYING* HACKING INSTALL README TRANSLATING doc \
+ $PKG/usr/doc/subversion-$VERSION
+# too big && useless for most || if you think not, can be found in the source tarball
+rm -rf $PKG/usr/doc/subversion-$VERSION/doc/tools
+# Add the HTML svn book:
+( cd $PKG/usr/doc/subversion-$VERSION
+ tar xf $CWD/svn-book-html.tar.bz2
+ mv svn-book-html book
+ cd book
+ chown -R root:root .
+ find . -type d -exec chmod 0755 {} \;
+ find . -type f -exec chmod 0644 {} \;
+ find . -perm 2755 -exec chmod 0755 {} \;
+ find . \
+ \( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \
+ -exec chmod 755 {} \; -o \
+ \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \
+ -exec chmod 644 {} \;
+)
+
+# This removes our DESTDIR from the packlist filenames, to keep perl's
+# internal inventories consistent and correct.
+find $PKG -name .packlist | while read plist ; do
+ sed -e "s%/share/man%/man%g" \
+ -e "s%$PKG%%g" \
+ -e "s%\.1$%\.1\.gz%g" \
+ -e "s%\.2$%\.2\.gz%g" \
+ -e "s%\.3$%\.3\.gz%g" \
+ -e "s%\.3pm$%\.3pm\.gz%g" \
+ -e "s%\.4$%\.4\.gz%g" \
+ -e "s%\.5$%\.5\.gz%g" \
+ -e "s%\.6$%\.6\.gz%g" \
+ -e "s%\.7$%\.7\.gz%g" \
+ -e "s%\.8$%\.8\.gz%g" \
+ ${plist} > ${plist}.new
+ mv -f ${plist}.new ${plist}
+done
+
+mkdir -p $PKG/install
+cat $CWD/slack-desc > $PKG/install/slack-desc
+
+cd $PKG
+/sbin/makepkg -l y -c n $TMP/subversion-$VERSION-$ARCH-$BUILD.txz
+
diff --git a/patches/source/sudo/doinst.sh b/patches/source/sudo/doinst.sh
new file mode 100644
index 00000000..01e3d173
--- /dev/null
+++ b/patches/source/sudo/doinst.sh
@@ -0,0 +1,14 @@
+#!/bin/sh
+config() {
+ NEW="$1"
+ OLD="`dirname $NEW`/`basename $NEW .new`"
+ # If there's no config file by that name, mv it over:
+ if [ ! -r $OLD ]; then
+ mv $NEW $OLD
+ elif [ "`cat $OLD | md5sum`" = "`cat $NEW | md5sum`" ]; then # toss the redundant copy
+ rm $NEW
+ fi
+ # Otherwise, we leave the .new copy for the admin to consider...
+}
+config etc/sudoers.new
+rm -f etc/sudoers.new
diff --git a/patches/source/sudo/slack-desc b/patches/source/sudo/slack-desc
new file mode 100644
index 00000000..66f1aa8c
--- /dev/null
+++ b/patches/source/sudo/slack-desc
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|' on
+# the right side marks the last column you can put a character in. You must make
+# exactly 11 lines for the formatting to be correct. It's also customary to
+# leave one space after the ':'.
+
+ |-----handy-ruler------------------------------------------------------|
+sudo: sudo (give limited root privileges to certain users)
+sudo:
+sudo: 'sudo' is a command that allows users to execute some commands as
+sudo: root. The /etc/sudoers file (edited with 'visudo') specifies which
+sudo: users have access to sudo and which commands they can run. 'sudo'
+sudo: logs all its activities to /var/log/ so the system administrator
+sudo: can keep an eye on things.
+sudo:
+sudo:
+sudo:
+sudo:
diff --git a/patches/source/sudo/sudo.SlackBuild b/patches/source/sudo/sudo.SlackBuild
new file mode 100755
index 00000000..e20a40e4
--- /dev/null
+++ b/patches/source/sudo/sudo.SlackBuild
@@ -0,0 +1,122 @@
+#!/bin/sh
+
+# Copyright 2008, 2009, 2010, 2011, 2012, 2015 Patrick J. Volkerding, Sebeka, MN, USA
+# All rights reserved.
+#
+# Redistribution and use of this script, with or without modification, is
+# permitted provided that the following conditions are met:
+#
+# 1. Redistributions of this script must retain the above copyright
+# notice, this list of conditions and the following disclaimer.
+#
+# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED
+# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
+# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
+# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+PKGNAM=sudo
+VERSION=${VERSION:-$(echo $PKGNAM-*.tar.?z* | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
+BUILD=${BUILD:-1_slack13.0}
+
+# Automatically determine the architecture we're building on:
+if [ -z "$ARCH" ]; then
+ case "$( uname -m )" in
+ i?86) export ARCH=i486 ;;
+ arm*) export ARCH=arm ;;
+ # Unless $ARCH is already set, use uname -m for all other archs:
+ *) export ARCH=$( uname -m ) ;;
+ esac
+fi
+
+NUMJOBS=${NUMJOBS:-" -j7 "}
+
+CWD=$(pwd)
+TMP=${TMP:-/tmp}
+PKG=$TMP/package-sudo
+
+rm -rf $PKG
+mkdir -p $TMP $PKG/var/db
+
+if [ "$ARCH" = "i386" ]; then
+ SLKCFLAGS="-O2 -march=i386 -mcpu=i686"
+elif [ "$ARCH" = "i486" ]; then
+ SLKCFLAGS="-O2 -march=i486 -mtune=i686"
+elif [ "$ARCH" = "s390" ]; then
+ SLKCFLAGS="-O2"
+elif [ "$ARCH" = "x86_64" ]; then
+ SLKCFLAGS="-O2 -fPIC"
+fi
+
+cd $TMP
+rm -rf sudo-$VERSION
+tar xvf $CWD/sudo-$VERSION.tar.?z* || exit 1
+cd sudo-$VERSION
+
+chown -R root:root .
+find . \
+ \( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \
+ -exec chmod 755 {} \; -o \
+ \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \
+ -exec chmod 644 {} \;
+
+CFLAGS="$SLKCFLAGS" \
+./configure \
+ --prefix=/usr \
+ --sbindir=/usr/sbin \
+ --mandir=/usr/man \
+ --docdir=/usr/doc/sudo-$VERSION \
+ --with-env-editor \
+ --disable-pam-session \
+ --with-pam=no \
+ --with-rundir=/var/db/sudo \
+ --build=$ARCH-slackware-linux
+
+make $NUMJOBS || make || exit 1
+make install DESTDIR=$PKG || exit 1
+
+( cd $PKG/usr/bin
+ chmod 4711 sudo
+ ln -sf sudo sudoedit
+)
+chmod 755 $PKG/usr/sbin/visudo
+
+rm -f $PKG/usr/man/man8/sudoedit.8
+gzip -9 $PKG/usr/man/man?/*.?
+( cd $PKG/usr/man/man8 ; ln -sf sudo.8.gz sudoedit.8.gz )
+
+find $PKG | xargs file | grep -e "executable" -e "shared object" | grep ELF \
+ | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
+
+mv $PKG/etc/sudoers $PKG/etc/sudoers.new
+
+rm -r $PKG/usr/doc/sudo-$VERSION
+mkdir -p $PKG/usr/doc/sudo-$VERSION
+cp -a \
+ INSTALL NEWS README* \
+ doc/{CONTRIBUTORS,HISTORY,LICENSE,TROUBLESHOOTING,UPGRADE} \
+ $PKG/usr/doc/sudo-$VERSION
+chmod 644 $PKG/usr/doc/sudo-$VERSION/*
+
+# If there's a ChangeLog, installing at least part of the recent history
+# is useful, but don't let it get totally out of control:
+if [ -r ChangeLog ]; then
+ DOCSDIR=$(echo $PKG/usr/doc/${PKGNAM}-$VERSION)
+ cat ChangeLog | head -n 1000 > $DOCSDIR/ChangeLog
+ touch -r ChangeLog $DOCSDIR/ChangeLog
+fi
+
+mkdir -p $PKG/install
+cat $CWD/slack-desc > $PKG/install/slack-desc
+zcat $CWD/doinst.sh.gz > $PKG/install/doinst.sh
+
+# Build the package:
+cd $PKG
+/sbin/makepkg -l y -c n $TMP/sudo-$VERSION-$ARCH-$BUILD.txz
+
diff --git a/patches/source/t1lib/slack-desc b/patches/source/t1lib/slack-desc
new file mode 100644
index 00000000..293af0cb
--- /dev/null
+++ b/patches/source/t1lib/slack-desc
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|'
+# on the right side marks the last column you can put a character in. You must
+# make exactly 11 lines for the formatting to be correct. It's also
+# customary to leave one space after the ':'.
+
+ |-----handy-ruler------------------------------------------------------|
+t1lib: t1lib (Type 1 font rasterizer library)
+t1lib:
+t1lib: t1lib is a library distributed under the GNU General Public Library
+t1lib: License for generating character and string glyphs from Adobe Type 1
+t1lib: fonts under UNIX. t1lib uses most of the code of the X11 rasterizer
+t1lib: donated by IBM to the X11 project.
+t1lib:
+t1lib:
+t1lib:
+t1lib:
+t1lib:
diff --git a/patches/source/t1lib/t1lib.SlackBuild b/patches/source/t1lib/t1lib.SlackBuild
new file mode 100755
index 00000000..c486c4e3
--- /dev/null
+++ b/patches/source/t1lib/t1lib.SlackBuild
@@ -0,0 +1,131 @@
+#!/bin/sh
+
+# Copyright 2008, 2009, 2011, 2012 Patrick J. Volkerding, Sebeka, Minnesota, USA
+# All rights reserved.
+#
+# Redistribution and use of this script, with or without modification, is
+# permitted provided that the following conditions are met:
+#
+# 1. Redistributions of this script must retain the above copyright
+# notice, this list of conditions and the following disclaimer.
+#
+# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED
+# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
+# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
+# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+PKGNAM=t1lib
+VERSION=${VERSION:-$(echo $PKGNAM-*.tar.xz | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
+BUILD=${BUILD:-2_slack13.0}
+
+# Automatically determine the architecture we're building on:
+if [ -z "$ARCH" ]; then
+ case "$( uname -m )" in
+ i?86) export ARCH=i486 ;;
+ arm*) export ARCH=arm ;;
+ # Unless $ARCH is already set, use uname -m for all other archs:
+ *) export ARCH=$( uname -m ) ;;
+ esac
+fi
+
+if [ "$ARCH" = "i486" ]; then
+ SLKCFLAGS="-O2 -march=i486 -mtune=i686"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "s390" ]; then
+ SLKCFLAGS="-O2"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "x86_64" ]; then
+ SLKCFLAGS="-O2 -fPIC"
+ LIBDIRSUFFIX="64"
+fi
+
+NUMJOBS=${NUMJOBS:-" -j7 "}
+
+CWD=$(pwd)
+TMP=${TMP:-/tmp}
+PKG=$TMP/package-t1lib
+rm -rf $PKG
+mkdir -p $TMP $PKG/usr
+
+cd $TMP
+rm -rf t1lib-$VERSION
+tar xvf $CWD/t1lib-$VERSION.tar.?z* || exit 1
+cd t1lib-$VERSION
+
+# Apply Debian's patch since upstream seems inactive:
+zcat $CWD/t1lib_5.1.2-3.5.diff.gz | patch -p1 --verbose || exit 1
+
+# I don't think anyone is applying this first one:
+#cat debian/patches/segfault.diff -b -z .segf | patch -p1 --verbose || exit 1
+# UUOCFTW:
+cat debian/patches/no-config.diff | patch -p1 --verbose || exit 1
+cat debian/patches/no-docs.diff | patch -p1 --verbose || exit 1
+cat debian/patches/lib-cleanup.diff | patch -p1 --verbose || exit 1
+cat debian/patches/format-security.diff | patch -p1 --verbose || exit 1
+cat debian/patches/CVE-2011-0764.diff | patch -p1 --verbose || exit 1
+cat debian/patches/CVE-2011-1552_1553_1554.patch | patch -p1 --verbose || exit 1
+cat debian/patches/CVE-2010-2642.patch | patch -p1 --verbose || exit 1
+
+chown -R root:root .
+find . \
+ \( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \
+ -exec chmod 755 {} \; -o \
+ \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \
+ -exec chmod 644 {} \;
+
+CFLAGS="$SLKCFLAGS" \
+./configure \
+ --prefix=/usr \
+ --libdir=/usr/lib${LIBDIRSUFFIX} \
+ --enable-static=no \
+ --build=$ARCH-slackware-linux
+
+make $NUMJOBS || make || exit 1
+make install prefix=$PKG/usr libdir=$PKG/usr/lib${LIBDIRSUFFIX} || exit 1
+
+find $PKG | xargs file | grep -e "executable" -e "shared object" | grep ELF \
+ | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
+
+chmod 755 $PKG/usr/lib${LIBDIRSUFFIX}/*.so
+
+mkdir -p $PKG/usr/doc/t1lib-$VERSION
+cp -a \
+ Change* COPYING* *GPL* LICENSE* README* \
+ $PKG/usr/doc/t1lib-$VERSION
+
+mkdir -p $PKG/usr/share/t1lib
+cp -a Fonts $PKG/usr/share/t1lib
+/bin/ls $PKG/usr/share/t1lib/Fonts/afm/*.afm /usr/share/fonts/Type1/*.afm | sort | uniq | wc -l | sed -e 's/ //g' > $PKG/usr/share/t1lib/FontDataBase
+( cd $PKG/usr/share/t1lib/Fonts/afm ; /bin/ls *.afm ; cd /usr/share/fonts/Type1 ; /bin/ls *.afm ) | sort | uniq >> $PKG/usr/share/t1lib/FontDataBase
+cat << EOF > $PKG/usr/share/t1lib/t1lib.config
+This is a configuration file for t1lib
+
+FONTDATABASE=/usr/share/t1lib/FontDataBase
+ENCODING=/usr/share/t1lib/Fonts/enc
+AFM=/usr/share/t1lib/Fonts/afm:/usr/share/fonts/Type1
+TYPE1=/usr/share/t1lib/Fonts/type1:/usr/share/fonts/Type1
+EOF
+
+mkdir -p $PKG/etc/profile.d
+cat << EOF > $PKG/etc/profile.d/t1lib.sh
+T1LIB_CONFIG=/usr/share/t1lib/t1lib.config
+export T1LIB_CONFIG
+EOF
+cat << EOF > $PKG/etc/profile.d/t1lib.csh
+setenv T1LIB_CONFIG /usr/share/t1lib/t1lib.config
+EOF
+chmod 755 $PKG/etc/profile.d/*
+
+mkdir -p $PKG/install
+cat $CWD/slack-desc > $PKG/install/slack-desc
+
+cd $PKG
+/sbin/makepkg -l y -c n $TMP/t1lib-$VERSION-$ARCH-$BUILD.txz
+
diff --git a/patches/source/t1lib/t1lib_5.1.2-3.5.diff b/patches/source/t1lib/t1lib_5.1.2-3.5.diff
new file mode 100644
index 00000000..bd137466
--- /dev/null
+++ b/patches/source/t1lib/t1lib_5.1.2-3.5.diff
@@ -0,0 +1,2109 @@
+--- t1lib-5.1.2.orig/debian/libt1-doc.docs
++++ t1lib-5.1.2/debian/libt1-doc.docs
+@@ -0,0 +1 @@
++doc/*.pdf
+--- t1lib-5.1.2.orig/debian/orig-tar.sh
++++ t1lib-5.1.2/debian/orig-tar.sh
+@@ -0,0 +1,11 @@
++#!/bin/sh -e
++
++# called by uscan with '--upstream-version' <version> <file>
++
++# move to directory 'tarballs'
++if [ -r .svn/deb-layout ]; then
++ . .svn/deb-layout
++ mv $3 $origDir
++ echo "moved $3 to $origDir"
++fi
++
+--- t1lib-5.1.2.orig/debian/libt1-5.install
++++ t1lib-5.1.2/debian/libt1-5.install
+@@ -0,0 +1 @@
++debian/tmp/usr/lib/libt1*.so.*
+--- t1lib-5.1.2.orig/debian/changelog
++++ t1lib-5.1.2/debian/changelog
+@@ -0,0 +1,456 @@
++t1lib (5.1.2-3.5) unstable; urgency=high
++
++ * Non-maintainer upload by the Security Team.
++ * Thanks Jamie Strandboge from Ubuntu for the patch.
++ * debian/patches:
++ - series: make sure CVE-2010-2642.patch is really applied so CVE-2010-2642
++ (denial of service via oversized fonts) is really fixed.
++ - CVE-2011-1552_1553_1554 added, few more fixes for CVE-2011-1552,
++ CVE-2011-1553 and CVE-2011-1554 (heap-based buffer overflow via AFM font
++ parser)
++
++ -- Yves-Alexis Perez <corsac@debian.org> Wed, 18 Jan 2012 10:43:23 +0100
++
++t1lib (5.1.2-3.4) unstable; urgency=high
++
++ * Non-maintainer upload by the Security Team.
++ * debian/patches:
++ - CVE-2010-2642 added, fix heap-based buffer overflow first found in
++ evince but applicable to the embedded afmparse library found in t1lib
++ too. Fixes CVE-2011-0433 too on the same patch.
++
++ -- Yves-Alexis Perez <corsac@debian.org> Sun, 15 Jan 2012 13:47:26 +0100
++
++t1lib (5.1.2-3.3) unstable; urgency=low
++
++ * Non-maintainer upload.
++ * Fix arbitrary code execution CVE-2011-0764 by only using ppoints when
++ it is a valid pointer (Closes: #652996).
++ * Don't ship .la file anymore (Closes: #633247).
++
++ -- Luk Claes <luk@debian.org> Thu, 29 Dec 2011 23:21:33 +0100
++
++t1lib (5.1.2-3.2) unstable; urgency=low
++
++ * Non-maintainer upload. (version 5.1.2-3.2 triggered a problem with dak)
++ * format-security.diff: use relevant "%s" format when passing a
++ variable string to a printf() function and replace printf()
++ with puts() for the model-only IfTrace0 macro. Thanks to Colin Watson
++ and Loïc Minier! (Closes: #646470)
++
++ -- Mònica Ramírez Arceda <monica@probeta.net> Sat, 03 Dec 2011 21:28:31 +0100
++
++t1lib (5.1.2-3) unstable; urgency=low
++
++ * New Maintainer (Closes: #430611)
++ * Solved some hyphen-used-as-minus-sign in FontDatabase.5
++ * Reformated debian/copyrigth
++ * Added symbols control file
++
++ -- Ruben Molina <rmolina@udea.edu.co> Wed, 23 Jul 2008 20:24:22 -0500
++
++t1lib (5.1.2-2) unstable; urgency=low
++
++ * Add a package with debugging information.
++
++ -- Torsten Werner <twerner@debian.org> Sat, 08 Mar 2008 10:21:43 +0100
++
++t1lib (5.1.2-1) unstable; urgency=low
++
++ * new upstream release
++ * Correct debian/watch.
++ * Remove patch cve-2007-4033.diff because it has been integrated upstream.
++ * Remove parts of patch segfault.diff that have been integrated upstream.
++ * Do not apply the remaining segfault.diff because it does not look safe but
++ keep the patch as a reminder that something was broken in the past.
++
++ -- Torsten Werner <twerner@debian.org> Sat, 08 Mar 2008 10:07:54 +0100
++
++t1lib (5.1.1-5) unstable; urgency=low
++
++ * Replace Build-Depends-Indep by Build-Depends again.
++
++ -- Torsten Werner <twerner@debian.org> Tue, 08 Jan 2008 21:34:25 +0100
++
++t1lib (5.1.1-4) unstable; urgency=low
++
++ * Add Build-Depends-Indep: libxt-dev. (Closes: #459754)
++
++ -- Torsten Werner <twerner@debian.org> Tue, 08 Jan 2008 20:29:01 +0100
++
++t1lib (5.1.1-3) unstable; urgency=low
++
++ * Replace static changes of upstream files by quilt patches as requested by
++ Fedora developers.
++ * Remove postinst that removed the old /usr/doc symlink.
++ * Remove preinst that removed the old /usr/share/doc/t1lib-bin symlink.
++ * Rename menu.t1lib-bin to t1lib-bin.menu to make sure the menu file gets
++ installed.
++ * Update menu file to conform to current menu policy.
++ * Install documentation with dh_installdocs instead of dh_install and some
++ other minor cleanups.
++ * Switch to cdbs.
++ * Fix versioned Build-Depends: debhelper (>= 5).
++ * Move some Build-Depends to Build-Depends-Indep.
++ * Apply two patches provided by Patrice Dumas:
++ - Update t1libconfig's font search.
++ - Fixes a segfault.
++ * Integrate another patch that fixes a segfault. (Closes: #313236)
++
++ -- Torsten Werner <twerner@debian.org> Sun, 06 Jan 2008 20:50:19 +0100
++
++t1lib (5.1.1-2) unstable; urgency=low
++
++ * Add Depends: libxaw7-dev to -dev package.
++ * Switch to DH_COMPAT = 5.
++ * Update Vcs headers in debian/control.
++ * Change Standards-Version: 3.7.3.
++ * Do not link with unneeded libraries.
++ * Add LDFLAGS=-Wl,--as-needed.
++
++ -- Torsten Werner <twerner@debian.org> Fri, 21 Dec 2007 22:54:43 +0100
++
++t1lib (5.1.1-1) unstable; urgency=low
++
++ * new upstream version (Closes: #418664)
++ * Add XS-Vcs-* header to debian/control.
++ * Update Standards-Version to 3.7.2 (no changes).
++ * Remove Depends: libc6-dev. (Closes: #446375).
++ * Change Maintainer to myself.
++ * Replace ${Source-Version} by ${binary:Version}.
++ * Do not ignore errors of 'make distclean'.
++
++ -- Torsten Werner <twerner@debian.org> Sat, 13 Oct 2007 14:46:23 +0200
++
++t1lib (5.1.0-3) unstable; urgency=low
++
++ * Apply patch from Artur R. Czechowski to fix CVE-2007-4033.
++ (Closes: #439927)
++
++ -- Torsten Werner <twerner@debian.org> Mon, 17 Sep 2007 23:25:45 +0200
++
++t1lib (5.1.0-2) unstable; urgency=low
++
++ * Upload to unstable
++ * Bump-up Standards-Version to 3.6.2 (no changes required)
++ * Torsten Werner <twerner@debian.org> is sponsoring the package
++
++ -- Artur R. Czechowski <arturcz@hell.pl> Sat, 6 Aug 2005 20:11:51 +0200
++
++t1lib (5.1.0-1) experimental; urgency=low
++
++ * New upstream release
++ * README.t1lib-5.0.2 replaced with README.t1lib-5.1.0
++ * README.win32 is no longer installed
++ * Removed misleading information from README.Debian
++ * Replace -V with -V 'libt1-5 (>= 5.0.2)' for dh_makeshlibs in debian/rules
++ * Remove some commented stuff from debian/rules
++ * Torsten Werner <twerner@debian.org> is sponsoring the package
++
++ -- Artur R. Czechowski <arturcz@hell.pl> Sat, 4 Jun 2005 22:12:43 +0200
++
++t1lib (5.0.2-3) unstable; urgency=low
++
++ * Update libtool (Closes: #246753)
++ * Build-Depends on individual library instead dummy xlibs-dev
++ * Added dependencies to -dev package (Closes: #249973)
++ * Thanks to Christopher L Cheney for above patches
++ * Add -V to dh_makeshlibs to make a versioned dependencies on this library
++ * Torsten Werner <twerner@debian.org> is sponsoring the package
++
++ -- Artur R. Czechowski <arturcz@hell.pl> Sun, 23 May 2004 01:02:02 +0200
++
++t1lib (5.0.2-2) unstable; urgency=low
++
++ * change distribution to unstable
++ * Torsten Werner <twerner@debian.org> is sponsoring the package
++
++ -- Artur R. Czechowski <arturcz@hell.pl> Sun, 18 Apr 2004 13:07:23 +0200
++
++t1lib (5.0.2-1) experimental; urgency=low
++
++ * New upstream release (Closes: #243916)
++ - fixed some crashes (Closes: #242570, #243378)
++ * Reference to README.t1lib-5.0.2 instead -5.0.0 in some debian/ files
++ * Torsten Werner <twerner@debian.org> is sponsoring the package
++
++ -- Artur R. Czechowski <arturcz@hell.pl> Sat, 17 Apr 2004 19:22:09 +0200
++
++t1lib (5.0.0-5) unstable; urgency=low
++
++ * debian/rules: documentation is build from binary-indep (Closes: #230386)
++ * debian/watch has been added
++ * Torsten Werner <twerner@debian.org> is sponsoring the package
++
++ -- Artur R. Czechowski <arturcz@hell.pl> Sat, 21 Feb 2004 20:19:38 +0100
++
++t1lib (5.0.0-4) unstable; urgency=low
++
++ * Added missing files in NEWS.Debian
++
++ -- Artur R. Czechowski <arturcz@hell.pl> Wed, 21 Jan 2004 00:27:24 +0100
++
++t1lib (5.0.0-3) unstable; urgency=low
++
++ * New release uploaded to unstable (finaly closes: #185097, #216501)
++ * Unleash it to allow to migrate to testing (Closes: #221198)
++ * libt1-dev and t1lib-dev conflict with each other,
++ * libt1-dev conflicts with t1lib1-dev to smooth upgrade from t1lib 1.3.1-6
++ * t1lib-bin provides/conflicts/replaces t1lib1-bin to smooth upgrade from
++ t1lib 1.3.1-6
++ * Some README.* files in libt1-dev
++ * Applied patch which fixes memory access bug (see #224314 for details)
++ * Torsten Werner <twerner@debian.org> is sponsoring the package
++
++ -- Artur R. Czechowski <arturcz@hell.pl> Sun, 18 Jan 2004 03:00:05 +0100
++
++t1lib (5.0.0-2) experimental; urgency=low
++
++ * rename source package to t1lib
++ * rename binary packages:
++ + libt1-5 -> libt1-dev
++ + t1lib5-bin -> t1lib-bin
++ + libt1-5-doc -> libt1-doc
++ * rationale for all above:
++ http://lists.debian.org/debian-devel/2003/debian-devel-200311/msg01083.html
++ and rest of this thread
++ * linking libt1x with X libraries to avoid undefined symbols (see #220111)
++ * clearing independency of X11 in README.Debian
++ * removed all tracks of t1lib0 (Conflict, Replaces, etc)
++ * Torsten Werner <twerner@debian.org> is sponsoring the package
++
++ -- Artur R. Czechowski <arturcz@hell.pl> Wed, 24 Dec 2003 01:50:37 +0100
++
++t1lib5 (5.0.0-1) experimental; urgency=low
++
++ * New upstream release (Closes: #185097, #216501)
++ * This release is binary incompatible with the previous one.
++ * t1lib-bin and t1lib-dev are virtual packages now
++ * removed weird ``dbl'' from configure - typo in upstream configure.in
++ * there is no necessity to conflict current -doc with the other ones
++ * library, devel and documentation package is libt1-5{,-dev,-doc} to be
++ consistent with Debian Policy 8.1
++ * do not anymore copy config.{sub,guess} automagically
++ * update ac-tools/config.{sub,guess} to 20031007
++ * Torsten Werner <twerner@debian.org> is sponsoring the package
++
++ -- Artur R. Czechowski <arturcz@hell.pl> Sun, 9 Nov 2003 15:16:51 +0100
++
++t1lib (1.3.1-4) unstable; urgency=low
++
++ * New Maintainer, Adopted Package (Closes: #189694)
++ * Prepare for migration to t1lib 5.x:
++ - all packages renamed to t1lib1{,-foo}
++ - empty packages t1lib-bin and t1lib-dev depending on t1lib1-bin
++ and t1lib1-dev
++ * Packaging from scratch using debhelper, Standards-Version is 3.6.1.0 now
++ * Remove non-existent xlib6g-dev from Build-Depends
++ * Updated README.Debian
++ * Remove symlinks from /usr/doc/t1lib*
++ * Only t1lib1-bin contains /etc/t1lib directory
++ * t1lib-dev has been split into two packages: t1lib1-dev and t1lib1-doc
++ * t1lib1-bin: change manual section for type1afm from 8 to 1
++ * t1lib1-bin: create files in /etc/t1lib if don't exist (Closes: #58275)
++ * t1lib1-bin: remove symlink /usr/share/doc/t1lib-bin -> t1lib1 if exists
++ * Torsten Werner <twerner@debian.org> is sponsoring the package
++
++ -- Artur R. Czechowski <arturcz@hell.pl> Sun, 2 Nov 2003 03:47:51 +0100
++
++t1lib (1.3.1-3) unstable; urgency=low
++
++ * Change t1lib-dev's section from "devel" to "libdevel" (thanks, Katie!)
++
++ -- Adam Conrad <adconrad@0c3.net> Mon, 18 Aug 2003 22:42:17 -0600
++
++t1lib (1.3.1-2) unstable; urgency=low
++
++ * Set maintainer to QA, as this package was orphaned months ago (see #189694)
++ * Change "make" to "make without_doc" and remove build-dep on
++ tetex-bin (closes: #192291, #192290)
++ * Change libxaw-dev build-dep to libxaw7-dev, so we are asking for a real
++ package, rather than a virtual (closes: #170012)
++ * lib/Makefile.in changes (closes: #193757)
++ - add "-lm" to libt1.la target
++ - add "-L@top_srcdir@/lib/.libs/ -lt1" to libt1x.la target
++
++ -- Adam Conrad <adconrad@0c3.net> Mon, 18 Aug 2003 21:50:22 -0600
++
++t1lib (1.3.1-1) unstable; urgency=low
++
++ * New upstream version. (Closes: #127619,#127618)
++
++ -- David Huggins-Daines <dhd@debian.org> Thu, 3 Jan 2002 21:53:29 -0500
++
++t1lib (1.2-1) unstable; urgency=low
++
++ * New upstream version.
++
++ -- David Huggins-Daines <dhd@debian.org> Wed, 22 Aug 2001 21:16:36 -0400
++
++t1lib (1.1.1-2.2) unstable; urgency=low
++
++ * NMU
++ * debian/rules: if LD_LIBRARY_PATH is already set, append to it, so
++ builds under fakeroot will work (Closes: #104046)
++
++ -- Branden Robinson <branden@debian.org> Fri, 10 Aug 2001 04:57:50 -0500
++
++t1lib (1.1.1-2.1) unstable; urgency=low
++
++ * NMU, with updated config.{guess,sub} for newer architectures
++
++ -- Randolph Chung <tausq@debian.org> Sat, 7 Jul 2001 01:01:51 -0600
++
++t1lib (1.1.1-2) unstable; urgency=high
++
++ * Yow! Major upstream weirdness. Do *not* try to print the documentation
++ when building... Closes: #94660
++
++ -- David Huggins-Daines <dhd@debian.org> Fri, 20 Apr 2001 20:35:49 -0400
++
++t1lib (1.1.1-1) unstable; urgency=low
++
++ * New upstream version. Closes: #94627 (why did I never get this bug
++ report in the first place?)
++
++ -- David Huggins-Daines <dhd@debian.org> Fri, 20 Apr 2001 11:16:15 -0400
++
++t1lib (1.0.1-2) unstable; urgency=low
++
++ * Recompile with new XFree86 libraries and glibc.
++
++ -- David Huggins-Daines <dhd@debian.org> Wed, 24 Jan 2001 22:33:43 -0500
++
++t1lib (1.0.1-1) unstable; urgency=low
++
++ * New upstream version. Closes: #69689
++
++ -- David Huggins-Daines <dhd@debian.org> Thu, 9 Nov 2000 00:29:06 -0500
++
++t1lib (1.0-2) frozen unstable; urgency=low
++
++ * Use dpkg-architecture to supply a target architecture name to
++ configure, should fix the compile problems on Alpha and ARM for good.
++ (closes:#57839)
++
++ -- David Huggins-Daines <dhd@eradicator.org> Wed, 1 Mar 2000 21:22:49 -0500
++
++t1lib (1.0-1) unstable; urgency=low
++
++ * New upstream version.
++ * Twiddled package names to make more sense.
++ * Move back to priority optional to satisfy dependencies of xpdf and
++ php3.
++ * Moved .la files to t1lib-dev. Added versioned Replaces: field in the
++ control file to cope with potato-to-potato upgrades (the t1lib0
++ packages in slink were not buggy in this way)
++ * t1libconfig and associated manual pages (FontDataBase.5,
++ t1libconfig.8) are now in the t1lib-bin package, for much the same
++ reason. Unfortunately this Replaces: field cannot be versioned.
++ * The t1lib packages no longer manage the contents of /etc/t1lib/. In
++ the near future, t1lib1 may have a debconf interface for doing so.
++ The t1lib.config and FontDataBase were never used by any programs that
++ linked with t1lib anyway, thankfully.
++
++ -- David Huggins-Daines <dhd@eradicator.org> Sun, 2 Jan 2000 03:02:30 -0500
++
++t1lib0 (0.9.2-1) unstable; urgency=low
++
++ * New upstream version.
++ * Being more intelligent in t1libconfig to avoid postinst-lossage.
++ Fixes: #44095
++ * Updated for FHS compliance.
++
++ -- David Huggins-Daines <dhd@debian.org> Fri, 8 Oct 1999 15:27:46 -0400
++
++t1lib0 (0.9.1-4) unstable; urgency=medium
++
++ * Updated the shlibs file since it appears that programs compiled
++ against 0.9.1 won't work with 0.9 (though the other way around does
++ work). Fixes: #43215, #43231
++ * Removed ARCH bogosity and updated config.sub and config.guess
++ (upstream maintainer will be notified)
++
++ -- David Huggins-Daines <dhd@debian.org> Sat, 21 Aug 1999 01:23:39 -0400
++
++t1lib0 (0.9.1-3) unstable; urgency=low
++
++ * Conditionalize that ARCH thing, or the Hurd people will kill me.
++
++ -- David Huggins-Daines <dhd@debian.org> Sat, 3 Jul 1999 13:56:12 -0400
++
++t1lib0 (0.9.1-2) unstable; urgency=low
++
++ * Oops. T1lib installs a dummy config file. We remove this before
++ building the package (because we generate our own). Also, the preinst
++ has to compensate for the past brokenness by saving it before an
++ upgrade.
++
++ -- David Huggins-Daines <dhd@debian.org> Fri, 2 Jul 1999 16:13:46 -0400
++
++t1lib0 (0.9.1-1) unstable; urgency=low
++
++ * New upstream version.
++ * Moved back to extra, because that's the way the winds are blowing.
++ * Added ARCH variable to debian/rules to work around strange
++ architecture detection on Alpha.
++
++ -- David Huggins-Daines <dhd@debian.org> Fri, 2 Jul 1999 14:58:32 -0400
++
++t1lib0 (0.9-1) unstable; urgency=low
++
++ * New upstream version
++
++ -- David Huggins-Daines <dhd@debian.org> Thu, 10 Jun 1999 23:00:12 -0400
++
++t1lib0 (0.8.1-1) unstable; urgency=low
++
++ * New upstream version. (fixes bug #31549)
++ * Upstream move to libtool has made debian/rules a lot less contorted,
++ and slimmed up the diff considerably. Thanks!
++ * I'm now uploading m68k versions as well.
++ * Fixed "confdif" typo in t1libconfig (oops!)
++ * This release breaks binary and source compatibility. Bumping the
++ soname seems a bit extreme, since there is only one Debian package
++ (gglyph) which depends on this, and I'm simultaneously uploading a
++ fixed version.
++
++ -- David Huggins-Daines <dhd@debian.org> Wed, 24 Feb 1999 17:16:41 -0500
++
++t1lib0 (0.7.1-5) unstable; urgency=low
++
++ * Changed debian/rules to remove debian/files on clean. (fixes bug #26907)
++ * Changed t1libconfig to allow installation </dev/null (fixes bug #27609)
++
++ -- David Huggins-Daines <dhd@debian.org> Fri, 16 Oct 1998 20:12:02 -0400
++
++t1lib0 (0.7.1-4) unstable; urgency=low
++
++ * Changed debian/rules not to use debhelper, to fix PowerPC and Alpha compile
++ problems and (hopefully) make the purists happy :)
++ * Upgraded priority to Optional, since it doesn't conflict with or break
++ anything, and is relatively stable.
++
++ -- David Huggins-Daines <dhd@debian.org> Fri, 18 Sep 1998 18:36:07 -0400
++
++t1lib0 (0.7.1-3) unstable; urgency=low
++
++ * Changed "read" to "read foo" in t1libconfig to make it more sh-friendly.
++ * Minor change to debian/rules (fixes bug #25501)
++
++ -- David Huggins-Daines <dhd@debian.org> Fri, 7 Aug 1998 13:31:28 -0400
++
++t1lib0 (0.7.1-2) unstable; urgency=low
++
++ * Patched lib/t1lib/t1finfo.c to fix segfault problems with some fonts.
++ * Fixed the URLs and info in copyright and README.Debian.
++
++ -- David Huggins-Daines <dhd@debian.org> Tue, 21 Jul 1998 16:01:03 -0400
++
++t1lib0 (0.7.1-1) unstable; urgency=low
++
++ * Initial release.
++
++ -- David Huggins-Daines <dhd@debian.org> Thu, 16 Jul 1998 22:07:08 -0400
++
++
+--- t1lib-5.1.2.orig/debian/libt1-5.docs
++++ t1lib-5.1.2/debian/libt1-5.docs
+@@ -0,0 +1,2 @@
++README.t1lib-*
++README.t1python
+--- t1lib-5.1.2.orig/debian/libt1-dev.docs
++++ t1lib-5.1.2/debian/libt1-dev.docs
+@@ -0,0 +1,2 @@
++README.t1lib-*
++README.t1python
+--- t1lib-5.1.2.orig/debian/t1libconfig
++++ t1lib-5.1.2/debian/t1libconfig
+@@ -0,0 +1,163 @@
++#!/bin/sh -e
++
++# to test POSIX-correctness, change hash-bang to /bin/bash and uncomment
++# the following line:
++
++# set -o posix
++
++# Very simple configuration script for t1lib. Checks a couple of
++# directories that might contain fonts, and if they exist, adds
++# anything ending in .pfa or pfb to the font database. A few things
++# borrowed from paperconfig, (C) 1996, Yves Arrouye
++# <arrouye@debian.org>
++
++# note that this creates the "minimal" font database accepted by t1lib,
++# and doesn't look in every possible place for fonts. It is mostly
++# provided so that xglyph will work out of the box...
++
++# Written by David Huggins-Daines <dhd@debian.org>
++
++usage() {
++ if [ "$1" = -h ]
++ then
++ exec 1>&2
++ echo -n U
++ else
++ echo -n u
++ fi
++
++ echo "sage: `basename $0` [ -v, --version ] [ -h, --help ] [ --force ]"
++ echo " [ fontdirs... ]"
++
++ if [ "$1" = -h ]
++ then
++ cat <<EOF
++
++Options: -v, --verbose print version information and exit
++ -h, --help print this help and exit
++ --force force configuration
++EOF
++ exit 0
++ else
++ exit 1
++ fi
++}
++
++version=0.2
++topfontdirs="/usr/share/fonts/type1 /usr/share/fonts/X11"
++for dir in $topfontdirs; do
++ if [ -d $dir ]; then
++ subdirs=$(find $dir -type d -printf "%p ")
++ fontdirs="$subdirs $fontdirs"
++ fi
++done
++conffile=/etc/t1lib/t1lib.config
++confdir=/etc/t1lib/
++dbase=/etc/t1lib/FontDatabase
++temp=/etc/t1lib/FontDatabase.tmp
++
++force=0
++
++while [ $# -ne 0 ]
++do
++ case "$1" in
++ -v|--version)
++ echo "`basename $0` version $version" \
++ "by David Huggins-Daines <dhd@debian.org>"
++ exit 0
++ ;;
++ -h|--help)
++ usage -h
++ ;;
++ --force)
++ force=1
++ ;;
++ *)
++ # hairy way to remove a trailing backslash (should use perl)
++ pat=`expr $1 : "\(.*\)\/\$" || echo $1`
++ # hairier way to find a string anywhere in another string
++ # should really use perl.
++ if ! grep $pat <<EOF >/dev/null 2>&1
++$fontdirs
++EOF
++ then
++ fontdirs="$fontdirs $1"
++ fi
++ ;;
++ esac
++ shift
++done
++
++# We presume that if the database exists, then so does the
++# configuration file. Hopefully this won't break anything.
++
++if [ $force -eq 1 ] || [ ! -e $dbase ]; then
++ fontpath=""
++ afmpath=""
++
++ mkdir -p $confdir || true
++
++ echo -n "Searching for Type 1 fonts and AFM files..."
++
++ for i in $fontdirs
++ do
++ if [ -d $i ] && ls $i/*.pf[ab] > /dev/null 2>&1; then
++ if [ -n "$fontpath" ]; then
++ fontpath="$fontpath:$i"
++ else
++ fontpath="$i"
++ fi
++
++ if ls $i/*.afm > /dev/null 2>&1; then
++ if [ -n "$afmpath" ]; then
++ afmpath="$afmpath:$i"
++ else
++ afmpath="$i"
++ fi
++ fi
++ # get a listing of all the fonts in each dir
++ find $i -maxdepth 1 -name *.pf[ab] -printf '%f\n' >> $temp
++ fi
++ done
++ if [ -z "$fontpath" ]; then
++ cat <<EOF
++
++No Type 1 fonts were found in the expected locations.
++If you want t1lib to be aware of your fonts, you should run
++/usr/sbin/t1libconfig with the names of your local font directories as
++arguments, or you should edit the /etc/t1lib/FontDatabase file manually.
++See the FontDatabase(5) manual page for more information.
++
++Press [return] to continue.
++EOF
++ read foo || true
++ rm -f $temp
++ else
++ echo "done."
++ echo -n "Building font database..."
++ fontcount=`wc -l $temp || true`
++ echo $fontcount > $dbase
++ cat $temp >> $dbase
++ rm -f $temp
++ echo "done."
++ fi
++
++ # now set the paths in the config file
++ cat <<EOF >$conffile
++t1lib.config - global configuration file for t1lib.
++It was created automatically on `date`
++by the t1libconfig script.
++
++Run /usr/sbin/t1libconfig --force to rebuild it.
++
++ENCODING=.
++AFM=$afmpath
++TYPE1=$fontpath
++FONTDATABASE=$dbase
++EOF
++else
++ echo "Configuration and font database files already exist."
++ echo "Run /usr/sbin/t1libconfig --force to rebuild them."
++fi
++
++exit 0
+--- t1lib-5.1.2.orig/debian/t1lib-bin.postinst
++++ t1lib-5.1.2/debian/t1lib-bin.postinst
+@@ -0,0 +1,8 @@
++#!/bin/sh
++set -e
++
++if [ ! -f /etc/t1lib/t1lib.config ]; then
++ /usr/sbin/t1libconfig
++fi
++
++#DEBHELPER#
+--- t1lib-5.1.2.orig/debian/t1lib-bin.menu
++++ t1lib-5.1.2/debian/t1lib-bin.menu
+@@ -0,0 +1,2 @@
++?package(t1lib-bin): needs="X11" section="Applications/Viewers" \
++ title="XGlyph" command="/usr/bin/xglyph"
+--- t1lib-5.1.2.orig/debian/t1lib-bin.install
++++ t1lib-5.1.2/debian/t1lib-bin.install
+@@ -0,0 +1,2 @@
++debian/t1libconfig usr/sbin
++debian/tmp/usr/bin/*
+--- t1lib-5.1.2.orig/debian/copyright
++++ t1lib-5.1.2/debian/copyright
+@@ -0,0 +1,94 @@
++This package was debianized by David Huggins-Daines <dhd@debian.org> on
++Fri, 19 Jun 1998 20:01:01 -0400. It has been also maintained by Artur
++R. Czechowski <arturcz@hell.pl> and Torsten Werner <twerner@debian.org>.
++
++It was downloaded from ftp://sunsite.unc.edu/pub/Linux/libs/graphics/
++
++Upstream Author:
++
++ Rainer Menzner <Rainer.Menzner@web.de>
++
++Copyright:
++
++ Copyright (C) 1996-2003 Rainer Menzner
++
++License:
++
++ This package is free software; you can redistribute it and/or
++ modify it under the terms of the GNU Lesser General Public
++ License as published by the Free Software Foundation; either
++ version 2 of the License, or (at your option) any later version.
++
++ This package is distributed in the hope that it will be useful,
++ but WITHOUT ANY WARRANTY; without even the implied warranty of
++ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
++ Lesser General Public License for more details.
++
++ You should have received a copy of the GNU Lesser General Public
++ License along with this package; if not, write to the Free Software
++ Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
++
++On Debian systems, the complete text of the GNU Lesser General
++Public License can be found in `/usr/share/common-licenses/LGPL'.
++
++The Debian packaging is (C) 2008, Ruben Molina <rmolina@udea.edu.co> and
++is licensed under the GPL, see `/usr/share/common-licenses/GPL'.
++
++Please note that there are parts of t1lib that are subject to other licenses:
++- The parseAFM-package is copyrighted by Adobe Systems Inc.
++- The type1 rasterizer is copyrighted by IBM and the X11-consortium.
++
++(from lib/t1lib/parseAFM.c)
++/*
++ * (C) 1988, 1989, 1990 by Adobe Systems Incorporated. All rights reserved.
++ *
++ * This file may be freely copied and redistributed as long as:
++ * 1) This entire notice continues to be included in the file,
++ * 2) If the file has been modified in any way, a notice of such
++ * modification is conspicuously indicated.
++ *
++ * PostScript, Display PostScript, and Adobe are registered trademarks of
++ * Adobe Systems Incorporated.
++ *
++ * ************************************************************************
++ * THE INFORMATION BELOW IS FURNISHED AS IS, IS SUBJECT TO CHANGE WITHOUT
++ * NOTICE, AND SHOULD NOT BE CONSTRUED AS A COMMITMENT BY ADOBE SYSTEMS
++ * INCORPORATED. ADOBE SYSTEMS INCORPORATED ASSUMES NO RESPONSIBILITY OR
++ * LIABILITY FOR ANY ERRORS OR INACCURACIES, MAKES NO WARRANTY OF ANY
++ * KIND (EXPRESS, IMPLIED OR STATUTORY) WITH RESPECT TO THIS INFORMATION,
++ * AND EXPRESSLY DISCLAIMS ANY AND ALL WARRANTIES OF MERCHANTABILITY,
++ * FITNESS FOR PARTICULAR PURPOSES AND NONINFRINGEMENT OF THIRD PARTY RIGHTS.
++ * ************************************************************************
++ */
++
++(from lib/type1/type1.c)
++/* $XConsortium: type1.c,v 1.5 91/10/10 11:20:06 rws Exp $ */
++/* Copyright International Business Machines, Corp. 1991
++ * All Rights Reserved
++ * Copyright Lexmark International, Inc. 1991
++ * All Rights Reserved
++ * Portions Copyright (c) 1990 Adobe Systems Incorporated.
++ * All Rights Reserved
++ *
++ * License to use, copy, modify, and distribute this software and its
++ * documentation for any purpose and without fee is hereby granted,
++ * provided that the above copyright notice appear in all copies and that
++ * both that copyright notice and this permission notice appear in
++ * supporting documentation, and that the name of IBM or Lexmark or Adobe
++ * not be used in advertising or publicity pertaining to distribution of
++ * the software without specific, written prior permission.
++ *
++ * IBM, LEXMARK, AND ADOBE PROVIDE THIS SOFTWARE "AS IS", WITHOUT ANY
++ * WARRANTIES OF ANY KIND, EITHER EXPRESS OR IMPLIED, INCLUDING, BUT NOT
++ * LIMITED TO ANY IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A
++ * PARTICULAR PURPOSE, AND NONINFRINGEMENT OF THIRD PARTY RIGHTS. THE
++ * ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE SOFTWARE, INCLUDING
++ * ANY DUTY TO SUPPORT OR MAINTAIN, BELONGS TO THE LICENSEE. SHOULD ANY
++ * PORTION OF THE SOFTWARE PROVE DEFECTIVE, THE LICENSEE (NOT IBM,
++ * LEXMARK, OR ADOBE) ASSUMES THE ENTIRE COST OF ALL SERVICING, REPAIR AND
++ * CORRECTION. IN NO EVENT SHALL IBM, LEXMARK, OR ADOBE BE LIABLE FOR ANY
++ * SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER
++ * RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF
++ * CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN
++ * CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
++ */
+--- t1lib-5.1.2.orig/debian/NEWS
++++ t1lib-5.1.2/debian/NEWS
+@@ -0,0 +1,9 @@
++t1lib (5.0.0-3) unstable; urgency=low
++
++ This version of t1lib package is binary incompatible with the previous
++ one in Debian. Details about changes are documented in following files
++ in /usr/share/doc/libt1-dev directory:
++ - changelog.gz
++ - README.t1lib-5.0.0.gz
++
++ -- Artur R. Czechowski <arturcz@hell.pl> Sun, 18 Jan 2004 00:02:29 +0100
+--- t1lib-5.1.2.orig/debian/t1lib-bin.manpages
++++ t1lib-5.1.2/debian/t1lib-bin.manpages
+@@ -0,0 +1,4 @@
++debian/man/FontDatabase.5
++debian/man/t1libconfig.8
++debian/man/type1afm.1
++debian/man/xglyph.1
+--- t1lib-5.1.2.orig/debian/rules
++++ t1lib-5.1.2/debian/rules
+@@ -0,0 +1,22 @@
++#!/usr/bin/make -f
++
++include /usr/share/cdbs/1/rules/debhelper.mk
++include /usr/share/cdbs/1/class/autotools.mk
++include /usr/share/cdbs/1/rules/patchsys-quilt.mk
++
++export LDFLAGS := -Wl,--as-needed
++
++DEB_MAKE_BUILD_TARGET := without_doc
++DEB_MAKE_INSTALL_TARGET := install prefix=$(CURDIR)/debian/tmp/usr
++DEB_INSTALL_DOCS_ALL += debian/README.Debian
++
++binary-post-install/libt1-5 ::
++ rm -rf debian/libt1-5-dbg/usr/lib/debug/usr/bin/
++binary-post-install/libt1-5-dbg ::
++ rm -rf debian/libt1-5-dbg/usr/lib/debug/usr/bin/
++binary-post-install/libt1-dev ::
++ rm -rf debian/libt1-5-dbg/usr/lib/debug/usr/bin/
++binary-post-install/libt1-doc ::
++ rm -rf debian/libt1-5-dbg/usr/lib/debug/usr/bin/
++binary-post-install/t1lib-bin ::
++ rm -rf debian/libt1-5-dbg/usr/lib/debug/usr/bin/
+--- t1lib-5.1.2.orig/debian/libt1-5.symbols
++++ t1lib-5.1.2/debian/libt1-5.symbols
+@@ -0,0 +1,381 @@
++libt1.so.5 libt1-5 #MINVER#
++ BezierTerminationTest@Base 5.1.0
++ CRASTERCompressionType@Base 5.1.0
++ CacheBLimit@Base 5.1.0
++ CachedChars@Base 5.1.0
++ CachedFonts@Base 5.1.0
++ ConicDebug@Base 5.1.0
++ Continuity@Base 5.1.0
++ CurFontEnv@Base 5.1.0
++ CurFontName@Base 5.1.0
++ DLadd@Base 5.1.0
++ DLdiv@Base 5.1.0
++ DLmult@Base 5.1.0
++ DLsub@Base 5.1.0
++ DeviceSpecifics@Base 5.1.0
++ FPXYboth@Base 5.1.0
++ FPXonly@Base 5.1.0
++ FPYonly@Base 5.1.0
++ FPdiv@Base 5.1.0
++ FPmult@Base 5.1.0
++ FPstarslash@Base 5.1.0
++ FXYConvert@Base 5.1.0
++ FXYboth@Base 5.1.0
++ FXonly@Base 5.1.0
++ FYonly@Base 5.1.0
++ FontBase@Base 5.1.0
++ FontDebug@Base 5.1.0
++ ForceAFMBBox@Base 5.1.0
++ ForceFloat@Base 5.1.0
++ FreeAFMData@Base 5.1.0
++ GetType1CharString@Base 5.1.0
++ HighHex@Base 5.1.0
++ HintDebug@Base 5.1.0
++ IXYConvert@Base 5.1.0
++ IXYboth@Base 5.1.0
++ IXonly@Base 5.1.0
++ IYonly@Base 5.1.0
++ ImageDebug@Base 5.1.0
++ InDotSection@Base 5.1.0
++ Init_BuiltInEncoding@Base 5.1.0
++ InternalTrace@Base 5.1.0
++ LineDebug@Base 5.1.0
++ LineIOTrace@Base 5.1.0
++ LowHex@Base 5.1.0
++ MemoryDebug@Base 5.1.0
++ MustCheckArgs@Base 5.1.0
++ MustCrash@Base 5.1.0
++ MustTraceCalls@Base 5.1.0
++ OffPageDebug@Base 5.1.0
++ PathDebug@Base 5.1.0
++ ProcessHints@Base 5.1.0
++ QueryFontLib@Base 5.1.0
++ RegionDebug@Base 5.1.0
++ SaveFontPaths@Base 5.1.0
++ SearchDictName@Base 5.1.0
++ SetFuncRequestID@Base 5.1.0
++ SpaceDebug@Base 5.1.0
++ StdEncArrayP@Base 5.1.0
++ StrokeDebug@Base 5.1.0
++ T1Close@Base 5.1.0
++ T1GetDecrypt@Base 5.1.0
++ T1GetFileSize@Base 5.1.0
++ T1GetTrailer@Base 5.1.0
++ T1Getc@Base 5.1.0
++ T1Gets@Base 5.1.0
++ T1Open@Base 5.1.0
++ T1Read@Base 5.1.0
++ T1Ungetc@Base 5.1.0
++ T1_AAFillOutline@Base 5.1.0
++ T1_AAGetBitsPerPixel@Base 5.1.0
++ T1_AAGetGrayValues@Base 5.1.0
++ T1_AAGetLevel@Base 5.1.0
++ T1_AAHGetGrayValues@Base 5.1.0
++ T1_AAHSetGrayValues@Base 5.1.0
++ T1_AANGetGrayValues@Base 5.1.0
++ T1_AANSetGrayValues@Base 5.1.0
++ T1_AASetBitsPerPixel@Base 5.1.0
++ T1_AASetChar@Base 5.1.0
++ T1_AASetGrayValues@Base 5.1.0
++ T1_AASetLevel@Base 5.1.0
++ T1_AASetRect@Base 5.1.0
++ T1_AASetSmartLimits@Base 5.1.0
++ T1_AASetSmartMode@Base 5.1.0
++ T1_AASetString@Base 5.1.0
++ T1_AFM_ptr@Base 5.1.0
++ T1_AbsolutePath@Base 5.1.0
++ T1_AddFont@Base 5.1.0
++ T1_AddFontDataBase@Base 5.1.0
++ T1_AddFontDataBaseXLFD@Base 5.1.0
++ T1_AddToFileSearchPath@Base 5.1.0
++ T1_CheckEndian@Base 5.1.0
++ T1_CheckForFontID@Base 5.1.0
++ T1_CheckForInit@Base 5.1.0
++ T1_ClearStrokeFlag@Base 5.1.0
++ T1_CloseLib@Base 5.1.0
++ T1_ConcatGlyphs@Base 5.1.0
++ T1_ConcatOutlines@Base 5.1.0
++ T1_CopyFont@Base 5.1.0
++ T1_CopyGlyph@Base 5.1.0
++ T1_CopyOutline@Base 5.1.0
++ T1_DeleteAllSizes@Base 5.1.0
++ T1_DeleteEncoding@Base 5.1.0
++ T1_DeleteFont@Base 5.1.0
++ T1_DeleteSize@Base 5.1.0
++ T1_DumpGlyph@Base 5.1.0
++ T1_DumpPath@Base 5.1.0
++ T1_ENC_ptr@Base 5.1.0
++ T1_ExtendFont@Base 5.1.0
++ T1_ExtendHMatrix@Base 5.1.0
++ T1_ExtendVMatrix@Base 5.1.0
++ T1_FDBXLFD_ptr@Base 5.1.0
++ T1_FDB_ptr@Base 5.1.0
++ T1_FillOutline@Base 5.1.0
++ T1_FreeCompCharData@Base 5.1.0
++ T1_FreeGlyph@Base 5.1.0
++ T1_FreeOutline@Base 5.1.0
++ T1_GenerateAFMFallbackInfo@Base 5.1.0
++ T1_GetAfmFileName@Base 5.1.0
++ T1_GetAfmFilePath@Base 5.1.0
++ T1_GetAllCharNames@Base 5.1.0
++ T1_GetBitmapPad@Base 5.1.0
++ T1_GetCharBBox@Base 5.1.0
++ T1_GetCharName@Base 5.1.0
++ T1_GetCharOutline@Base 5.1.0
++ T1_GetCharString@Base 5.1.0
++ T1_GetCharWidth@Base 5.1.0
++ T1_GetCompCharData@Base 5.1.0
++ T1_GetCompCharDataByIndex@Base 5.1.0
++ T1_GetEncodingIndex@Base 5.1.0
++ T1_GetEncodingIndices@Base 5.1.0
++ T1_GetEncodingScheme@Base 5.1.0
++ T1_GetExtend@Base 5.1.0
++ T1_GetFamilyName@Base 5.1.0
++ T1_GetFileSearchPath@Base 5.1.0
++ T1_GetFontBBox@Base 5.1.0
++ T1_GetFontFileName@Base 5.1.0
++ T1_GetFontFilePath@Base 5.1.0
++ T1_GetFontName@Base 5.1.0
++ T1_GetFullName@Base 5.1.0
++ T1_GetIsFixedPitch@Base 5.1.0
++ T1_GetItalicAngle@Base 5.1.0
++ T1_GetKerning@Base 5.1.0
++ T1_GetLibIdent@Base 5.1.0
++ T1_GetLinePosition@Base 5.1.0
++ T1_GetLineThickness@Base 5.1.0
++ T1_GetMetricsInfo@Base 5.1.0
++ T1_GetMoveOutline@Base 5.1.0
++ T1_GetNoCompositeChars@Base 5.1.0
++ T1_GetNoFonts@Base 5.1.0
++ T1_GetNoKernPairs@Base 5.1.0
++ T1_GetNotice@Base 5.1.0
++ T1_GetSlant@Base 5.1.0
++ T1_GetStringBBox@Base 5.1.0
++ T1_GetStringOutline@Base 5.1.0
++ T1_GetStringWidth@Base 5.1.0
++ T1_GetStrokeMode@Base 5.1.0
++ T1_GetStrokeWidth@Base 5.1.0
++ T1_GetTransform@Base 5.1.0
++ T1_GetUnderlinePosition@Base 5.1.0
++ T1_GetUnderlineThickness@Base 5.1.0
++ T1_GetVersion@Base 5.1.0
++ T1_GetWeight@Base 5.1.0
++ T1_GetlenIV@Base 5.1.0
++ T1_INFINITY@Base 5.1.0
++ T1_InitLib@Base 5.1.0
++ T1_IsInternalChar@Base 5.1.0
++ T1_LoadEncoding@Base 5.1.0
++ T1_LoadFont@Base 5.1.0
++ T1_ManipulatePath@Base 5.1.0
++ T1_MirrorHMatrix@Base 5.1.0
++ T1_MirrorVMatrix@Base 5.1.0
++ T1_PFAB_ptr@Base 5.1.0
++ T1_PrintLog@Base 5.1.0
++ T1_QueryCompositeChar@Base 5.1.0
++ T1_QueryLigs@Base 5.1.0
++ T1_QueryX11Support@Base 5.1.0
++ T1_ReencodeFont@Base 5.1.0
++ T1_RelativePath@Base 5.1.0
++ T1_RotateMatrix@Base 5.1.0
++ T1_ScaleOutline@Base 5.1.0
++ T1_SetAfmFileName@Base 5.1.0
++ T1_SetBitmapPad@Base 5.1.0
++ T1_SetChar@Base 5.1.0
++ T1_SetDefaultEncoding@Base 5.1.0
++ T1_SetDeviceResolutions@Base 5.1.0
++ T1_SetFileSearchPath@Base 5.1.0
++ T1_SetFontDataBase@Base 5.1.0
++ T1_SetFontDataBaseXLFD@Base 5.1.0
++ T1_SetLinePosition@Base 5.1.0
++ T1_SetLineThickness@Base 5.1.0
++ T1_SetLogLevel@Base 5.1.0
++ T1_SetRasterFlags@Base 5.1.0
++ T1_SetRect@Base 5.1.0
++ T1_SetString@Base 5.1.0
++ T1_SetStrokeFlag@Base 5.1.0
++ T1_SetStrokeWidth@Base 5.1.0
++ T1_ShearHMatrix@Base 5.1.0
++ T1_ShearVMatrix@Base 5.1.0
++ T1_SlantFont@Base 5.1.0
++ T1_StrError@Base 5.1.0
++ T1_StrokeFont@Base 5.1.0
++ T1_SubsetFont@Base 5.1.0
++ T1_TransformFont@Base 5.1.0
++ T1_TransformMatrix@Base 5.1.0
++ T1_Type1OperatorFlags@Base 5.1.0
++ T1_Up@Base 5.1.0
++ T1_WriteAFMFallbackFile@Base 5.1.0
++ T1_errno@Base 5.1.0
++ T1_fdb@Base 5.1.0
++ T1_fdbxlfd@Base 5.1.0
++ T1aa_SmartOn@Base 5.1.0
++ T1aa_bg@Base 5.1.0
++ T1aa_bpp@Base 5.1.0
++ T1aa_smartlimit1@Base 5.1.0
++ T1aa_smartlimit2@Base 5.1.0
++ T1eexec@Base 5.1.0
++ T1int_CreateNewFontSize@Base 5.1.0
++ T1int_GetLastFontSize@Base 5.1.0
++ T1int_QueryFontSize@Base 5.1.0
++ T1int_QuerySEAC@Base 5.1.0
++ T1int_Type1QuerySEAC@Base 5.1.0
++ T1io_reset@Base 5.1.0
++ T1lib_parseFile@Base 5.1.0
++ TheCurrentFont@Base 5.1.0
++ Type1Char@Base 5.1.0
++ Type1Line@Base 5.1.0
++ currstartstem@Base 5.1.0
++ digit_value@Base 5.1.0
++ err_warn_msg_buf@Base 5.1.0
++ errornumber@Base 5.1.0
++ filestats@Base 5.1.0
++ fill@Base 5.1.0
++ fillrun@Base 5.1.0
++ fontfcnA@Base 5.1.0
++ fontfcnB@Base 5.1.0
++ fontfcnB_ByName@Base 5.1.0
++ fontfcnB_string@Base 5.1.0
++ fontfcnRect@Base 5.1.0
++ initFont@Base 5.1.0
++ intT1_Env_GetCompletePath@Base 5.1.0
++ intT1_FreeSearchPaths@Base 5.1.0
++ intT1_ScanConfigFile@Base 5.1.0
++ intT1_SetupDefaultSearchPaths@Base 5.1.0
++ intT1_scanFontDBase@Base 5.1.0
++ intT1_scanFontDBaseXLFD@Base 5.1.0
++ linebuf@Base 5.1.0
++ not_def@Base 5.1.0
++ numalignmentzones@Base 5.1.0
++ numstems@Base 5.1.0
++ objFormatArray@Base 5.1.0
++ objFormatBoolean@Base 5.1.0
++ objFormatEncoding@Base 5.1.0
++ objFormatFile@Base 5.1.0
++ objFormatInteger@Base 5.1.0
++ objFormatName@Base 5.1.0
++ objFormatReal@Base 5.1.0
++ objFormatString@Base 5.1.0
++ oldhor@Base 5.1.0
++ oldhorhalf@Base 5.1.0
++ oldvert@Base 5.1.0
++ oldverthalf@Base 5.1.0
++ pFontBase@Base 5.1.0
++ readFont@Base 5.1.0
++ reportusage@Base 5.1.0
++ resetFont@Base 5.1.0
++ scan_font@Base 5.1.0
++ scan_token@Base 5.1.0
++ stck_state@Base 5.1.0
++ stems@Base 5.1.0
++ swathrightmost@Base 5.1.0
++ swathxsort@Base 5.1.0
++ t1_Allocate@Base 5.1.0
++ t1_ApplyContinuity@Base 5.1.0
++ t1_ArgErr@Base 5.1.0
++ t1_Bezier@Base 5.1.0
++ t1_BoundingBox@Base 5.1.0
++ t1_BoxClip@Base 5.1.0
++ t1_BoxPath@Base 5.1.0
++ t1_Bresenham@Base 5.1.0
++ t1_ChangeDirection@Base 5.1.0
++ t1_CloseHints@Base 5.1.0
++ t1_ClosePath@Base 5.1.0
++ t1_Consume@Base 5.1.0
++ t1_Copy@Base 5.1.0
++ t1_CopyPath@Base 5.1.0
++ t1_CopyRegion@Base 5.1.0
++ t1_CopySpace@Base 5.1.0
++ t1_Destroy@Base 5.1.0
++ t1_DropSegment@Base 5.1.0
++ t1_DumpArea@Base 5.1.0
++ t1_DumpEdges@Base 5.1.0
++ t1_DumpSpace@Base 5.1.0
++ t1_DumpText@Base 5.1.0
++ t1_Dup@Base 5.1.0
++ t1_EmptyRegion@Base 5.1.0
++ t1_ErrorMsg@Base 5.1.0
++ t1_FormatFP@Base 5.1.0
++ t1_Free@Base 5.1.0
++ t1_HeadSegment@Base 5.1.0
++ t1_Hint@Base 5.1.0
++ t1_ILoc@Base 5.1.0
++ t1_Identity@Base 5.1.0
++ t1_InitHints@Base 5.1.0
++ t1_InitImager@Base 5.1.0
++ t1_InitSpaces@Base 5.1.0
++ t1_Interior@Base 5.1.0
++ t1_Join@Base 5.1.0
++ t1_JoinSegment@Base 5.1.0
++ t1_KillPath@Base 5.1.0
++ t1_KillRegion@Base 5.1.0
++ t1_Line@Base 5.1.0
++ t1_Loc@Base 5.1.0
++ t1_MInvert@Base 5.1.0
++ t1_MMultiply@Base 5.1.0
++ t1_MoreWorkArea@Base 5.1.0
++ t1_MoveEdges@Base 5.1.0
++ t1_PathDelta@Base 5.1.0
++ t1_PathSegment@Base 5.1.0
++ t1_PathXform@Base 5.1.0
++ t1_Permanent@Base 5.1.0
++ t1_Phantom@Base 5.1.0
++ t1_Pragmatics@Base 5.1.0
++ t1_ProcessHint@Base 5.1.0
++ t1_PseudoSpace@Base 5.1.0
++ t1_QueryBounds@Base 5.1.0
++ t1_QueryLoc@Base 5.1.0
++ t1_QueryPath@Base 5.1.0
++ t1_QuerySpace@Base 5.1.0
++ t1_RegionBounds@Base 5.1.0
++ t1_Reverse@Base 5.1.0
++ t1_ReverseSubPaths@Base 5.1.0
++ t1_Scale@Base 5.1.0
++ t1_Snap@Base 5.1.0
++ t1_SortSwath@Base 5.1.0
++ t1_StepBezier@Base 5.1.0
++ t1_StepLine@Base 5.1.0
++ t1_SubLoc@Base 5.1.0
++ t1_SwathUnion@Base 5.1.0
++ t1_TermImager@Base 5.1.0
++ t1_Transform@Base 5.1.0
++ t1_TypeErr@Base 5.1.0
++ t1_UnConvert@Base 5.1.0
++ t1_UnJumble@Base 5.1.0
++ t1_Unique@Base 5.1.0
++ t1_User@Base 5.1.0
++ t1_Xform@Base 5.1.0
++ t1_abort@Base 5.1.0
++ t1_get_abort_message@Base 5.1.0
++ t1lib_log_file@Base 5.1.0
++ t1lib_log_level@Base 5.1.0
++ tokenLength@Base 5.1.0
++ tokenMaxP@Base 5.1.0
++ tokenStartP@Base 5.1.0
++ tokenTooLong@Base 5.1.0
++ tokenType@Base 5.1.0
++ tokenValue@Base 5.1.0
++ vm_alloc@Base 5.1.0
++ vm_base@Base 5.1.0
++ vm_free@Base 5.1.0
++ vm_init@Base 5.1.0
++ vm_init_amount@Base 5.1.0
++ vm_init_count@Base 5.1.0
++ vm_next@Base 5.1.0
++ vm_size@Base 5.1.0
++ vm_used@Base 5.1.0
++ wsoffsetX@Base 5.1.0
++ wsoffsetY@Base 5.1.0
++ wsset@Base 5.1.0
++ xiStub@Base 5.1.0
++ xiTemporary@Base 5.1.0
++libt1x.so.5 libt1-5 #MINVER#
++ T1_AASetCharX@Base 5.1.1
++ T1_AASetRectX@Base 5.1.1
++ T1_AASetStringX@Base 5.1.1
++ T1_ComputeAAColorsX@Base 5.1.1
++ T1_LogicalPositionX@Base 5.1.1
++ T1_SetCharX@Base 5.1.1
++ T1_SetRectX@Base 5.1.1
++ T1_SetStringX@Base 5.1.1
++ T1_SetX11Params@Base 5.1.1
++ T1_XImageFromGlyph@Base 5.1.1
+--- t1lib-5.1.2.orig/debian/control
++++ t1lib-5.1.2/debian/control
+@@ -0,0 +1,84 @@
++Source: t1lib
++Section: libs
++Priority: optional
++Maintainer: Ruben Molina <rmolina@udea.edu.co>
++Build-Depends: cdbs, debhelper (>= 7), autotools-dev, libice-dev, libsm-dev, libx11-dev, libxext-dev, libxaw7-dev, quilt
++Standards-Version: 3.8.0
++Homepage: ftp://sunsite.unc.edu/pub/Linux/libs/graphics/
++
++Package: libt1-5
++Section: libs
++Architecture: any
++Depends: ${shlibs:Depends}, ${misc:Depends}
++Description: Type 1 font rasterizer library - runtime
++ T1lib is an enhanced rasterizer for Type 1 fonts.
++ .
++ T1lib is based on the X11R5 font rasterizer code, but operates independently
++ of X11. It includes many enhancements, including underlining, antialiasing,
++ user-defined slant and extension factors, and rotation.
++ .
++ This package contains the shared libraries needed to run programs using T1lib.
++
++Package: libt1-dev
++Section: libdevel
++Architecture: any
++Depends: libt1-5 (= ${binary:Version}), libice-dev, libsm-dev, libx11-dev,
++ libxext-dev, libxaw7-dev
++Recommends: libt1-doc
++Conflicts: t1lib-dev, t1lib1-dev
++Description: Type 1 font rasterizer library - development
++ T1lib is an enhanced rasterizer for Type 1 fonts.
++ .
++ T1lib is based on the X11R5 font rasterizer code, but operates independently
++ of X11. It includes many enhancements, including underlining, antialiasing,
++ user-defined slant and extension factors, and rotation.
++ .
++ This package contains the header files and static libraries needed to
++ develop programs using T1lib.
++ .
++ Please note, that PDF documentation is placed in libt1-doc
++
++Package: t1lib-bin
++Architecture: any
++Section: misc
++Depends: ${shlibs:Depends}
++Provides: t1lib1-bin
++Replaces: t1lib1-bin
++Conflicts: t1lib1-bin
++Description: Type 1 font rasterizer library - user binaries
++ T1lib is an enhanced rasterizer for Type 1 fonts.
++ .
++ T1lib is based on the X11R5 font rasterizer code, but operates independently
++ of X11. It includes many enhancements, including underlining, antialiasing,
++ user-defined slant and extension factors, and rotation.
++ .
++ This package contains the programs "xglyph" and "type1afm", included in the
++ upstream T1lib distribution. It also contains the "t1libconfig"
++ script used to configure t1lib.
++
++Package: libt1-doc
++Architecture: all
++Section: doc
++Description: Type 1 font rasterizer library - developers documentation
++ T1lib is an enhanced rasterizer for Type 1 fonts.
++ .
++ T1lib is based on the X11R5 font rasterizer code, but operates independently
++ of X11. It includes many enhancements, including underlining, antialiasing,
++ user-defined slant and extension factors, and rotation.
++ .
++ This package contains developers documentation.
++
++Package: libt1-5-dbg
++Section: libdevel
++Priority: extra
++Architecture: any
++Depends: libt1-5 (= ${binary:Version}), ${shlibs:Depends}, ${misc:Depends}
++Description: Type 1 font rasterizer library - debugging runtime
++ T1lib is an enhanced rasterizer for Type 1 fonts.
++ .
++ T1lib is based on the X11R5 font rasterizer code, but operates independently
++ of X11. It includes many enhancements, including underlining, antialiasing,
++ user-defined slant and extension factors, and rotation.
++ .
++ This package contains debugging information.
++
+--- t1lib-5.1.2.orig/debian/libt1-dev.install
++++ t1lib-5.1.2/debian/libt1-dev.install
+@@ -0,0 +1,3 @@
++debian/tmp/usr/include/*
++debian/tmp/usr/lib/*.so
++debian/tmp/usr/lib/*.a
+--- t1lib-5.1.2.orig/debian/compat
++++ t1lib-5.1.2/debian/compat
+@@ -0,0 +1 @@
++7
+--- t1lib-5.1.2.orig/debian/t1lib-bin.postrm
++++ t1lib-5.1.2/debian/t1lib-bin.postrm
+@@ -0,0 +1,8 @@
++#!/bin/sh
++set -e
++
++if [ "$1" = "purge" ]; then
++ rm -rf /etc/t1lib
++fi
++
++#DEBHELPER#
+--- t1lib-5.1.2.orig/debian/watch
++++ t1lib-5.1.2/debian/watch
+@@ -0,0 +1,3 @@
++version=3
++ftp://sunsite.unc.edu/pub/Linux/libs/graphics/t1lib-(.*)\.tar\.gz \
++ debian debian/orig-tar.sh
+--- t1lib-5.1.2.orig/debian/README.Debian
++++ t1lib-5.1.2/debian/README.Debian
+@@ -0,0 +1,25 @@
++t1lib for Debian
++----------------
++
++This package has been created from scratch using debhelper. It contains
++four binary packages:
++ * shared library - libt1-5
++ * development files - libt1-5-dev
++ * font-related binary utils - t1lib5-bin
++ * documentation - libt1-5-doc
++
++However you can read in upstream's README that t1lib is completely independent
++of X11, you should know that package provides also libt1x library which
++contains X11 pixmap support. That's why it requires a bunch of X-libraries
++installed. If you consider this as a bad behavior, please discuss it on
++debian-devel list.
++
++NOTE: The old 't1lib0' package will *remove* /etc/t1lib/ and its
++contents if you purge it. Since this package is now obsolete, there
++is no good solution for this; you must back up your font database and
++config file if you wish to preserve them. Sorry...
++
++This package has been previously maintained by David Huggins-Daines, great
++thanks to him for his good job.
++
++ -- Artur R. Czechowski <arturcz@hell.pl>, Tue, 11 Nov 2003 13:31:48 +0100
+--- t1lib-5.1.2.orig/debian/t1lib-bin.dirs
++++ t1lib-5.1.2/debian/t1lib-bin.dirs
+@@ -0,0 +1 @@
++etc/t1lib
+--- t1lib-5.1.2.orig/debian/patches/no-docs.diff
++++ t1lib-5.1.2/debian/patches/no-docs.diff
+@@ -0,0 +1,34 @@
++We are using debhelper to install the documentation in the correct
++directory.
++
++Index: t1lib-5.1.1/doc/Makefile.in
++===================================================================
++--- t1lib-5.1.1.orig/doc/Makefile.in 2008-01-05 19:05:03.000000000 +0100
+++++ t1lib-5.1.1/doc/Makefile.in 2008-01-05 19:05:25.000000000 +0100
++@@ -89,16 +89,16 @@
++
++
++ install: dummy
++- if (test -f t1lib_doc.ps) \
++- then \
++- $(MKINSTALLDIRS) $(DESTDIR)@T1LIB_DATA_DIR@/doc; \
++- $(INSTALL_DATA) t1lib_doc.ps $(DESTDIR)@T1LIB_DATA_DIR@/doc; \
++- fi;
++- if (test -f t1lib_doc.pdf) \
++- then \
++- $(MKINSTALLDIRS) $(DESTDIR)@T1LIB_DATA_DIR@/doc; \
++- $(INSTALL_DATA) t1lib_doc.pdf $(DESTDIR)@T1LIB_DATA_DIR@/doc; \
++- fi;
+++# if (test -f t1lib_doc.ps) \
+++# then \
+++# $(MKINSTALLDIRS) $(DESTDIR)@T1LIB_DATA_DIR@/doc; \
+++# $(INSTALL_DATA) t1lib_doc.ps $(DESTDIR)@T1LIB_DATA_DIR@/doc; \
+++# fi;
+++# if (test -f t1lib_doc.pdf) \
+++# then \
+++# $(MKINSTALLDIRS) $(DESTDIR)@T1LIB_DATA_DIR@/doc; \
+++# $(INSTALL_DATA) t1lib_doc.pdf $(DESTDIR)@T1LIB_DATA_DIR@/doc; \
+++# fi;
++
++
++ uninstall: dummy
+--- t1lib-5.1.2.orig/debian/patches/lib-cleanup.diff
++++ t1lib-5.1.2/debian/patches/lib-cleanup.diff
+@@ -0,0 +1,59 @@
++do not link against libraries that are not needed
++
++Index: t1lib-5.1.1/lib/Makefile.in
++===================================================================
++--- t1lib-5.1.1.orig/lib/Makefile.in 2008-01-05 19:17:21.000000000 +0100
+++++ t1lib-5.1.1/lib/Makefile.in 2008-01-05 19:17:38.000000000 +0100
++@@ -24,7 +24,7 @@
++ X_LIBS = @X_LIBS@
++ TOPSRC = @top_srcdir@
++ XPM_LIB = -lXpm
++-XLIB = @X_PRE_LIBS@ -lXext -lX11 @X_EXTRA_LIBS@
+++XLIB = -lX11
++ LDFLAGS = @LDFLAGS@
++ LDLIBS = @LDLIBS@
++ AR = ar rc
++@@ -137,7 +137,7 @@
++ $(LIBTOOL) --mode=link \
++ $(CC) $(LDFLAGS) -o $@ $(T1LIBX_OBJS) \
++ -version-info @T1LIB_LT_CURRENT@:@T1LIB_LT_REVISION@:@T1LIB_LT_AGE@ \
++- libt1.la $(X_LIBS) $(XPM_LIB) $(XLIB) -no-undefined -rpath $(libdir)
+++ libt1.la $(X_LIBS) $(XLIB) -no-undefined -rpath $(libdir)
++ cp t1lib/t1libx.h .
++
++
++Index: t1lib-5.1.1/type1afm/Makefile.in
++===================================================================
++--- t1lib-5.1.1.orig/type1afm/Makefile.in 2008-01-05 19:17:52.000000000 +0100
+++++ t1lib-5.1.1/type1afm/Makefile.in 2008-01-05 19:18:02.000000000 +0100
++@@ -70,7 +70,7 @@
++
++ type1afm: $(OBJS) ../lib/t1lib.h
++ $(LIBTOOL) --mode=link \
++- $(CC) -o type1afm $(LDFLAGS) $(OBJS) $(T1LIB) $(LDLIBS)
+++ $(CC) -o type1afm $(LDFLAGS) $(OBJS) $(T1LIB)
++
++ .SUFFIXES: .lo
++ .c.lo:
++Index: t1lib-5.1.1/xglyph/Makefile.in
++===================================================================
++--- t1lib-5.1.1.orig/xglyph/Makefile.in 2008-01-05 19:18:15.000000000 +0100
+++++ t1lib-5.1.1/xglyph/Makefile.in 2008-01-05 19:18:31.000000000 +0100
++@@ -24,7 +24,7 @@
++ X_LIBS = @X_LIBS@
++ TOPSRC = @top_srcdir@
++ XPM_LIB = -lXpm
++-XLIB = @X_PRE_LIBS@ -lXext -lX11 @X_EXTRA_LIBS@
+++XLIB = -lX11 @X_EXTRA_LIBS@
++ LDFLAGS = @LDFLAGS@
++ LDLIBS = @LDLIBS@
++ AR = ar rc
++@@ -65,7 +65,7 @@
++
++ T1LIB = ../lib/libt1.la
++ T1LIBX = ../lib/libt1x.la
++-XAWLIB = -lXaw -lXt -lXmu
+++XAWLIB = -lXaw -lXt
++
++
++ all: xglyph
+--- t1lib-5.1.2.orig/debian/patches/no-config.diff
++++ t1lib-5.1.2/debian/patches/no-config.diff
+@@ -0,0 +1,57 @@
++do not install a static configuration file
++
++Index: t1lib-5.1.1/lib/Makefile.in
++===================================================================
++--- t1lib-5.1.1.orig/lib/Makefile.in 2008-01-05 19:13:57.000000000 +0100
+++++ t1lib-5.1.1/lib/Makefile.in 2008-01-05 19:14:18.000000000 +0100
++@@ -161,17 +161,17 @@
++ install: dummy
++ $(MKINSTALLDIRS) $(DESTDIR)$(libdir)
++ $(MKINSTALLDIRS) $(DESTDIR)$(includedir)
++- $(MKINSTALLDIRS) $(DESTDIR)@T1LIB_DATA_DIR@
+++# $(MKINSTALLDIRS) $(DESTDIR)@T1LIB_DATA_DIR@
++ $(LIBTOOL) --mode=install \
++ $(INSTALL_DATA) $(MAIN_TARGET) $(DESTDIR)$(libdir)
++ $(LIBTOOL) --mode=install \
++ $(INSTALL_DATA) $(MAIN_HEADER) $(DESTDIR)$(includedir)
++- if (test -f $(DESTDIR)@T1LIB_DATA_DIR@/t1lib.config) \
++- then \
++- echo "Alert: Global configuration file exists, installation skipped!"; \
++- else \
++- $(LIBTOOL) --mode=install $(INSTALL_DATA) t1lib.config $(DESTDIR)@T1LIB_DATA_DIR@; \
++- fi;
+++# if (test -f $(DESTDIR)@T1LIB_DATA_DIR@/t1lib.config) \
+++# then \
+++# echo "Alert: Global configuration file exists, installation skipped!"; \
+++# else \
+++# $(LIBTOOL) --mode=install $(INSTALL_DATA) t1lib.config $(DESTDIR)@T1LIB_DATA_DIR@; \
+++# fi;
++
++
++ uninstall: dummy
++@@ -179,7 +179,7 @@
++ -$(LIBTOOL) --mode=uninstall $(RM) $(DESTDIR)$(libdir)/libt1x.la
++ -$(LIBTOOL) --mode=uninstall $(RM) $(DESTDIR)$(includedir)/t1lib.h
++ -$(LIBTOOL) --mode=uninstall $(RM) $(DESTDIR)$(includedir)/t1libx.h
++- -$(LIBTOOL) --mode=uninstall $(RM) $(DESTDIR)@T1LIB_DATA_DIR@/t1lib.config
+++# -$(LIBTOOL) --mode=uninstall $(RM) $(DESTDIR)@T1LIB_DATA_DIR@/t1lib.config
++
++
++ dummy:
++Index: t1lib-5.1.1/xglyph/xglyph.c
++===================================================================
++--- t1lib-5.1.1.orig/xglyph/xglyph.c 2008-01-05 19:16:30.000000000 +0100
+++++ t1lib-5.1.1/xglyph/xglyph.c 2008-01-05 19:16:40.000000000 +0100
++@@ -526,9 +526,12 @@
++
++ /* Check for environment entry. If not set, set it to current
++ directory so that configuration file is found there */
+++ /* It violates the Debian Policy */
+++#if 0
++ if (getenv("T1LIB_CONFIG")==NULL){
++ putenv( "T1LIB_CONFIG=./t1lib.config");
++ }
+++#endif
++
++
++ /* Set log-level: */
+--- t1lib-5.1.2.orig/debian/patches/segfault.diff
++++ t1lib-5.1.2/debian/patches/segfault.diff
+@@ -0,0 +1,62 @@
++This patch does not look safe and it has not been accepted upstream.
++Index: t1lib-5.1.1/lib/t1lib/t1base.c
++===================================================================
++--- t1lib-5.1.1.orig/lib/t1lib/t1base.c 2005-05-18 05:08:01.000000000 +0200
+++++ t1lib-5.1.1/lib/t1lib/t1base.c 2008-01-06 20:48:32.000000000 +0100
++@@ -455,7 +455,7 @@
++ to test_for_t1_file() filename is substituted by an emty
++ string if the file was not found: */
++ sprintf( err_warn_msg_buf, "Type 1 Font file %s.[pfa/pfb] not found (FontID=%d, SearchPath=%s)",
++- linebuf, m-1, T1_GetFileSearchPath(T1_PFAB_PATH));
+++ linebuf, m-1, intT1_GetFileSearchPath(T1_PFAB_PATH));
++ if ((test_for_t1_file( &linebuf[0]))){
++ T1_PrintLog( "intT1_scanFontDBase()", err_warn_msg_buf, T1LOG_WARNING);
++ located=0;
++@@ -579,7 +579,7 @@
++ to test_for_t1_file() filename is substituted by an emty
++ string if the file was not found: */
++ sprintf( err_warn_msg_buf, "Type 1 Font file %s.[pfa/pfb] not found (FontID=%d, SearchPath=%s)",
++- linebuf, m-1, T1_GetFileSearchPath(T1_PFAB_PATH));
+++ linebuf, m-1, intT1_GetFileSearchPath(T1_PFAB_PATH));
++ if ((test_for_t1_file( &linebuf[0]))){
++ T1_PrintLog( "intT1_scanFontDBase()", err_warn_msg_buf, T1LOG_WARNING);
++ located=0;
++Index: t1lib-5.1.1/lib/t1lib/t1env.c
++===================================================================
++--- t1lib-5.1.1.orig/lib/t1lib/t1env.c 2008-01-06 20:48:32.000000000 +0100
+++++ t1lib-5.1.1/lib/t1lib/t1env.c 2008-01-06 20:48:32.000000000 +0100
++@@ -807,6 +807,14 @@
++
++ }
++
+++/* intT1_GetFileSearchPath():
+++ call T1_GetFileSearchPath and truncate the line to avoid overflowing
+++ error buffers*/
+++char *intT1_GetFileSearchPath( int type)
+++{
+++ char *res = T1_GetFileSearchPath(type);
+++ res[900] = 0;
+++}
++
++ /* T1_AddToFileSearchPath(): Add the specified path element to
++ the specified search path. If the existing path is the default path,
++Index: t1lib-5.1.1/lib/t1lib/t1env.h
++===================================================================
++--- t1lib-5.1.1.orig/lib/t1lib/t1env.h 2005-05-16 20:37:43.000000000 +0200
+++++ t1lib-5.1.1/lib/t1lib/t1env.h 2008-01-06 20:48:32.000000000 +0100
++@@ -35,6 +35,7 @@
++ int T1_SetFileSearchPath( int type, char *pathname);
++ int T1_AddToFileSearchPath( int pathtype, int mode, char *pathname);
++ char *T1_GetFileSearchPath( int type);
+++char *intT1_GetFileSearchPath( int type);
++ int T1_SetFontDataBase( char *filename);
++ int T1_AddFontDataBase( int mode, char *filename);
++ int T1_SetFontDataBaseXLFD( char *filename);
++@@ -49,6 +50,7 @@
++ extern int T1_SetFileSearchPath( int type, char *pathname);
++ extern int T1_AddToFileSearchPath( int pathtype, int mode, char *pathname);
++ extern char *T1_GetFileSearchPath( int type);
+++extern char *intT1_GetFileSearchPath( int type);
++ extern int T1_SetFontDataBase( char *filename);
++ extern int T1_AddFontDataBase( int mode, char *filename);
++ extern int T1_SetFontDataBaseXLFD( char *filename);
+--- t1lib-5.1.2.orig/debian/patches/CVE-2010-2642.patch
++++ t1lib-5.1.2/debian/patches/CVE-2010-2642.patch
+@@ -0,0 +1,24 @@
++diff --git a/lib/t1lib/parseAFM.c b/lib/t1lib/parseAFM.c
++index 6a31d7f..ba64541 100644
++--- a/lib/t1lib/parseAFM.c
+++++ b/lib/t1lib/parseAFM.c
++@@ -199,7 +199,9 @@ static char *token(stream)
++ idx = 0;
++
++ while (ch != EOF && ch != ' ' && ch != CR && ch != LF &&
++- ch != CTRL_Z && ch != '\t' && ch != ':' && ch != ';'){
+++ ch != CTRL_Z && ch != '\t' && ch != ':' && ch != ';'
+++ && idx < (MAX_NAME -1))
+++ {
++ ident[idx++] = ch;
++ ch = fgetc(stream);
++ } /* while */
++@@ -235,7 +237,7 @@ static char *linetoken(stream)
++ while ((ch = fgetc(stream)) == ' ' || ch == '\t' );
++
++ idx = 0;
++- while (ch != EOF && ch != CR && ch != LF && ch != CTRL_Z)
+++ while (ch != EOF && ch != CR && ch != LF && ch != CTRL_Z && idx < (MAX_NAME - 1))
++ {
++ ident[idx++] = ch;
++ ch = fgetc(stream);
+--- t1lib-5.1.2.orig/debian/patches/CVE-2011-0764.diff
++++ t1lib-5.1.2/debian/patches/CVE-2011-0764.diff
+@@ -0,0 +1,32 @@
++Description: Don't lookup previous point if there isn't any
++Author: Marc Deslauriers <marc.deslauriers@canonical.com>
++Forwarded: no
++
++Index: t1lib-5.1.2/lib/type1/type1.c
++===================================================================
++--- t1lib-5.1.2.orig/lib/type1/type1.c 2011-12-13 14:24:14.280965637 -0600
+++++ t1lib-5.1.2/lib/type1/type1.c 2011-12-13 14:25:25.893320747 -0600
++@@ -1700,6 +1700,7 @@
++ long pindex = 0;
++
++ /* compute hinting for previous segment! */
+++ if (ppoints == NULL) Error0i("RLineTo: No previous point!\n");
++ FindStems( currx, curry, currx-ppoints[numppoints-2].x, curry-ppoints[numppoints-2].y, dx, dy);
++
++ /* Allocate a new path point and pre-setup data */
++@@ -1728,6 +1729,7 @@
++ long pindex = 0;
++
++ /* compute hinting for previous point! */
+++ if (ppoints == NULL) Error0i("RRCurveTo: No previous point!\n");
++ FindStems( currx, curry, currx-ppoints[numppoints-2].x, curry-ppoints[numppoints-2].y, dx1, dy1);
++
++ /* Allocate three new path points and pre-setup data */
++@@ -1903,6 +1905,7 @@
++ FindStems( currx, curry, 0, 0, dx, dy);
++ }
++ else {
+++ if (ppoints == NULL) Error0i("RMoveTo: No previous point!\n");
++ FindStems( currx, curry, ppoints[numppoints-2].x, ppoints[numppoints-2].y, dx, dy);
++ }
++
+--- t1lib-5.1.2.orig/debian/patches/CVE-2011-1552_1553_1554.patch
++++ t1lib-5.1.2/debian/patches/CVE-2011-1552_1553_1554.patch
+@@ -0,0 +1,133 @@
++Author: Jaroslav Å karvada <jskarvad@redhat.com>
++Description: Fix more crashes on oversized fonts
++Bug-Redhat: http://bugzilla.redhat.com/show_bug.cgi?id=692909
++Index: t1lib-5.1.2/lib/type1/lines.c
++===================================================================
++--- t1lib-5.1.2.orig/lib/type1/lines.c 2007-12-23 09:49:42.000000000 -0600
+++++ t1lib-5.1.2/lib/type1/lines.c 2012-01-17 14:15:08.000000000 -0600
++@@ -67,6 +67,10 @@
++ None.
++ */
++
+++#define BITS (sizeof(LONG)*8)
+++#define HIGHTEST(p) (((p)>>(BITS-2)) != 0) /* includes sign bit */
+++#define TOOBIG(xy) ((xy < 0) ? HIGHTEST(-xy) : HIGHTEST(xy))
+++
++ /*
++ :h2.StepLine() - Produces Run Ends for a Line After Checks
++
++@@ -84,6 +88,9 @@
++ IfTrace4((LineDebug > 0), ".....StepLine: (%d,%d) to (%d,%d)\n",
++ x1, y1, x2, y2);
++
+++ if ( TOOBIG(x1) || TOOBIG(x2) || TOOBIG(y1) || TOOBIG(y2))
+++ abort("Lines this big not supported", 49);
+++
++ dy = y2 - y1;
++
++ /*
++Index: t1lib-5.1.2/lib/type1/objects.c
++===================================================================
++--- t1lib-5.1.2.orig/lib/type1/objects.c 2007-12-23 09:49:42.000000000 -0600
+++++ t1lib-5.1.2/lib/type1/objects.c 2012-01-17 14:15:08.000000000 -0600
++@@ -1137,12 +1137,13 @@
++ "Context: out of them", /* 46 */
++ "MatrixInvert: can't", /* 47 */
++ "xiStub called", /* 48 */
++- "Illegal access type1 abort() message" /* 49 */
+++ "Lines this big not supported", /* 49 */
+++ "Illegal access type1 abort() message" /* 50 */
++ };
++
++- /* no is valid from 1 to 48 */
++- if ( (number<1)||(number>48))
++- number=49;
+++ /* no is valid from 1 to 49 */
+++ if ( (number<1)||(number>49))
+++ number=50;
++ return( err_msgs[number-1]);
++
++ }
++Index: t1lib-5.1.2/lib/type1/type1.c
++===================================================================
++--- t1lib-5.1.2.orig/lib/type1/type1.c 2012-01-17 14:13:28.000000000 -0600
+++++ t1lib-5.1.2/lib/type1/type1.c 2012-01-17 14:19:54.000000000 -0600
++@@ -1012,6 +1012,7 @@
++ double nextdtana = 0.0; /* tangent of post-delta against horizontal line */
++ double nextdtanb = 0.0; /* tangent of post-delta against vertical line */
++
+++ if (ppoints == NULL || numppoints < 1) Error0v("FindStems: No previous point!\n");
++
++ /* setup default hinted position */
++ ppoints[numppoints-1].ax = ppoints[numppoints-1].x;
++@@ -1289,7 +1290,7 @@
++ static int DoRead(CodeP)
++ int *CodeP;
++ {
++- if (strindex >= CharStringP->len) return(FALSE); /* end of string */
+++ if (!CharStringP || strindex >= CharStringP->len) return(FALSE); /* end of string */
++ /* We handle the non-documented Adobe convention to use lenIV=-1 to
++ suppress charstring encryption. */
++ if (blues->lenIV==-1) {
++@@ -1700,7 +1701,7 @@
++ long pindex = 0;
++
++ /* compute hinting for previous segment! */
++- if (ppoints == NULL) Error0i("RLineTo: No previous point!\n");
+++ if (ppoints == NULL || numppoints < 2) Error0i("RLineTo: No previous point!\n");
++ FindStems( currx, curry, currx-ppoints[numppoints-2].x, curry-ppoints[numppoints-2].y, dx, dy);
++
++ /* Allocate a new path point and pre-setup data */
++@@ -1729,7 +1730,7 @@
++ long pindex = 0;
++
++ /* compute hinting for previous point! */
++- if (ppoints == NULL) Error0i("RRCurveTo: No previous point!\n");
+++ if (ppoints == NULL || numppoints < 2) Error0i("RRCurveTo: No previous point!\n");
++ FindStems( currx, curry, currx-ppoints[numppoints-2].x, curry-ppoints[numppoints-2].y, dx1, dy1);
++
++ /* Allocate three new path points and pre-setup data */
++@@ -1788,7 +1789,9 @@
++ long tmpind;
++ double deltax = 0.0;
++ double deltay = 0.0;
++-
+++
+++ if (ppoints == NULL || numppoints < 1) Error0i("DoClosePath: No previous point!");
+++
++ /* If this ClosePath command together with the starting point of this
++ path completes to a segment aligned to a stem, we would miss
++ hinting for this point. --> Check and explicitly care for this! */
++@@ -1803,6 +1806,7 @@
++ deltax = ppoints[i].x - ppoints[numppoints-1].x;
++ deltay = ppoints[i].y - ppoints[numppoints-1].y;
++
+++ if (ppoints == NULL || numppoints <= i + 1) Error0i("DoClosePath: No previous point!");
++ /* save nummppoints and reset to move point */
++ tmpind = numppoints;
++ numppoints = i + 1;
++@@ -1905,7 +1909,7 @@
++ FindStems( currx, curry, 0, 0, dx, dy);
++ }
++ else {
++- if (ppoints == NULL) Error0i("RMoveTo: No previous point!\n");
+++ if (ppoints == NULL || numppoints < 2) Error0i("RMoveTo: No previous point!\n");
++ FindStems( currx, curry, ppoints[numppoints-2].x, ppoints[numppoints-2].y, dx, dy);
++ }
++
++@@ -2155,6 +2159,7 @@
++ DOUBLE cx, cy;
++ DOUBLE ex, ey;
++
+++ if (ppoints == NULL || numppoints < 8) Error0v("FlxProc: No previous point!");
++
++ /* Our PPOINT list now contains 7 moveto commands which
++ are about to be consumed by the Flex mechanism. --> Remove these
++@@ -2324,6 +2329,7 @@
++ /* Returns currentpoint on stack */
++ static void FlxProc2()
++ {
+++ if (ppoints == NULL || numppoints < 1) Error0v("FlxProc2: No previous point!");
++ /* Push CurrentPoint on fake PostScript stack */
++ PSFakePush( ppoints[numppoints-1].x);
++ PSFakePush( ppoints[numppoints-1].y);
+--- t1lib-5.1.2.orig/debian/patches/format-security.diff
++++ t1lib-5.1.2/debian/patches/format-security.diff
+@@ -0,0 +1,33 @@
++--- a/lib/type1/objects.c
+++++ b/lib/type1/objects.c
++@@ -957,7 +957,7 @@
++
++ sprintf(typemsg, "Wrong object type in %s; expected %s, found %s.\n",
++ name, TypeFmt(expect), TypeFmt(obj->type));
++- IfTrace0(TRUE,typemsg);
+++ IfTrace1(TRUE, "%s", typemsg);
++
++ ObjectPostMortem(obj);
++
++--- a/lib/t1lib/t1subset.c
+++++ b/lib/t1lib/t1subset.c
++@@ -759,7 +759,7 @@
++ tr_len);
++ T1_PrintLog( "T1_SubsetFont()", err_warn_msg_buf,
++ T1LOG_DEBUG);
++- l+=sprintf( &(trailerbuf[l]), linebuf); /* contains the PostScript trailer */
+++ l+=sprintf( &(trailerbuf[l]), "%s", linebuf); /* contains the PostScript trailer */
++ }
++
++ /* compute size of output file */
++--- a/lib/type1/objects.h
+++++ b/lib/type1/objects.h
++@@ -214,7 +214,7 @@
++ /*SHARED*/
++ /* NDW: personally, I want to see status and error messages! */
++ #define IfTrace0(condition,model) \
++- {if (condition) printf(model);}
+++ {if (condition) fputs(model,stdout);}
++ #define IfTrace1(condition,model,arg0) \
++ {if (condition) printf(model,arg0);}
++ #define IfTrace2(condition,model,arg0,arg1) \
+--- t1lib-5.1.2.orig/debian/patches/series
++++ t1lib-5.1.2/debian/patches/series
+@@ -0,0 +1,8 @@
++no-docs.diff
++no-config.diff
++lib-cleanup.diff
++#segfault.diff
++format-security.diff
++CVE-2011-0764.diff
++CVE-2011-1552_1553_1554.patch
++CVE-2010-2642.patch
+--- t1lib-5.1.2.orig/debian/man/FontDatabase.5
++++ t1lib-5.1.2/debian/man/FontDatabase.5
+@@ -0,0 +1,77 @@
++.TH FONTDATABASE 5
++.SH NAME
++FontDataBase \- database of fonts accessible to t1lib.
++.SH DESCRIPTION
++This manual page has been written for the Debian GNU/Linux
++distribution. It has been adapted from the documentation included in
++the upstream
++.B t1lib
++distribution.
++.PP
++.B /etc/t1lib/FontDataBase
++is a text file which contains, minimally, the basenames of Type 1 font
++files to be made accessible to the
++.B t1lib
++font rasterizer library. The format is intentionally similar to that
++of the
++.B fonts.dir
++and
++.B fonts.scale
++files used by X11.
++.PP
++Line 1 of this file contains a positive integer specifying the number
++of fonts declared in that file. This is as in the
++.B fonts.dir
++files of the X11 system.
++.PP
++All remaining lines contain declarations of one font each. The only
++thing taken from such a line is the last string (delimited by white
++space) in it. It is assumed to be a filename of the format
++\fIbasename\fR.\fIsomeextension\fR.
++.PP
++The \fIbasename\fR part is assumed to be the
++.BR basename (1)
++of a fontfile. After the a string has been parsed, the
++.I extension
++is cut off and replaced in turn with
++.I .pfa
++and
++.I .pfb.
++The initialization routine tries to open a font file in
++its search path with one of the resulting filenames.
++.PP
++The remainder of the line, i.e., from beginning to the start of the
++filename string, is completely ignored and thus may contain
++information for other programs.
++.SH EXAMPLES
++Here is a minimal font database file for 4 fonts:
++.sp
++.nf
++4
++isvl.afm
++isvli.afm
++isvd.afm
++isvdi.afm
++.fi
++.PP
++This file is \fIminimal\fR, because it contains just the information
++needed, and nothing not needed by the library.
++.PP
++Here is a more realistic example, which allows an application to match
++a fully qualified X11 fontname to a FontID in
++.B t1lib.
++This is also a valid font database file:
++.sp
++.nf
++4
++Souvenir Souvenir-Light --- \-itc-souvenir-light-r-normal--#-0-0-0-p-0-iso8859-1 isvl.afm
++Souvenir Souvenir-LightItalic -*- \-itc-souvenir-light-i-normal--#-0-0-0-p-0-iso8859-1 isvli.afm
++ Souvenir-Demi *-- \-itc-souvenir-demi-r-normal--#-0-0-0-p-0-iso8859-1 isvd.afm
++ Souvenir-DemiItalic **- \-itc-souvenir-demi-i-normal--#-0-0-0-p-0-iso8859-1 isvdi.afm
++.fi
++.PP
++.SH FILES
++.I /etc/t1lib/FontDataBase
++.SH "SEE ALSO"
++.BR mkfontdir (1x)
++
+--- t1lib-5.1.2.orig/debian/man/t1libconfig.8
++++ t1lib-5.1.2/debian/man/t1libconfig.8
+@@ -0,0 +1,57 @@
++.TH T1LIBCONFIG 8
++.SH NAME
++.B t1libconfig
++\- create the t1lib.config and FontDataBase files for t1lib
++.SH SYNOPSIS
++.B t1libconfig
++[
++.BR \-v\fP, \fB\-\-version
++]
++[
++.BR \-h\fP, \fB\-\-help
++]
++.B \-\-force
++]
++[
++.B fontdirectory...
++]
++.SH DESCRIPTION
++.B t1libconfig
++scans a list of directories for Type 1 fonts and font metric files,
++and generates a configuration file and font database file for the
++.B t1lib
++rasterizer library accordingly. By default, it looks in all
++subdirectories of /usr/X11R6/lib/X11/fonts, and in
++/usr/lib/ghostscript. Extra directories to search may be specified on
++the command line. The
++.B t1libconfig
++script tries not to scan the same directory twice (this is, however,
++not foolproof, since /usr/X11R6/lib/X11/fonts and /usr/lib/X11/fonts
++typically point to the same directory on GNU/Linux systems).
++.SH OPTIONS
++.TP
++.BR \-v\fP, \fB\-\-version
++Print the version of
++.B t1libconfig
++and exit.
++.TP
++.BR \-h\fP, \fB\-\-help
++Print help about usage and exit.
++.TP
++.B \-\-force
++Force the generation of new configuration files even if these files
++already exist on the system.
++.SH FILES
++.TP 25
++.B /etc/t1lib/t1lib.config
++Contains configuration information for t1lib, including
++colon-separated lists of paths to Type 1 font files and font metrics
++files, and the location of the default font database file
++.TP 25
++.B /etc/t1lib/FontDataBase
++Contains a list of the names of Type 1 font files to be used by t1lib.
++.SH AUTHOR
++David Huggins-Daines <dhd@debian.org>
++.SH SEE ALSO
++.BR FontDataBase (5)
++
+--- t1lib-5.1.2.orig/debian/man/xglyph.1
++++ t1lib-5.1.2/debian/man/xglyph.1
+@@ -0,0 +1,111 @@
++.TH XGLYPH 1
++.SH NAME
++xglyph \- demonstration program for the t1lib font rasterizer library.
++.SH SYNOPSIS
++.B xglyph
++[
++.B fontfile...
++]
++.SH "DESCRIPTION"
++This manual page documents briefly the
++.BR xglyph
++program.
++This manual page was written for the Debian GNU/Linux distribution
++because the original program does not have a manual page.
++.PP
++.B xglyph
++is a program which demonstrates the capabilities of the
++.B t1lib
++library. It allows the user to view an arbitrary character or string
++rendered in the various ways pgossible with the library. By default,
++it writes a log file named \fIt1lib.log\fR in the current directory.
++.PP
++If invoked with no arguments, it will attempt to read the global
++configuration file and font database. It will also accept any number
++of filenames on the command line, in which case these are treated as
++font files to be loaded instead of the default font database.
++.SH "OPTIONS"
++.TP
++.BR \-\-help
++Shows a brief help text
++.TP
++.BR \-\-Help
++Shows a description of all options
++.TP
++.BR \-\-noGrid
++Don't draw grid lines when displaying glyphs
++.TP
++.BR \-\-setPad
++Set bitmap padding
++.TP
++.BR \-\-logError
++Log errors only
++.TP
++.BR \-\-logWarning
++Log errors and warnings
++.TP
++.BR \-\-logStatistic
++Log errors, warnings, and statistics
++.TP
++.BR \-\-logDebug
++Log just about everything
++.TP
++.BR \-\-ignoreForceBold
++Don't make pseudo-boldface glyphs
++.TP
++.BR \-\-ignoreFamilyAlignment
++.TP
++.BR \-\-ignoreHinting
++Ignore hints when scaling glyphs
++.TP
++.BR \-\-debugLine
++Show debugging info for line-drawing
++operations in the rasterizer
++.TP
++.BR \-\-debugRegion
++Show debugging info for region operations in
++the rasterizer
++.TP
++.BR \-\-debugPath
++Show debugging info for path operations in the
++rasterizer
++.TP
++.BR \-\-debugFont
++.TP
++.BR \-\-debugHint
++Show debugging info for hinting in the rasterizer.
++.TP
++.BR \-\-checkPerformance
++Do some simple performance tests while rasterizing.
++.TP
++.BR \-\-checkCopyFont
++Check that copying fonts works.
++.TP
++.BR \-\-checkConcatGlyphs
++Check that concatenating glyphs works.
++.TP
++.BR \-\-checkBadCharHandling
++.TP
++.BR \-\-checkDefaultEncoding
++Set a default encoding vector.
++.SH "ENVIRONMENT"
++In the Debian GNU/Linux version of this program, the environment
++variable
++.B T1LIB_CONFIG,
++if set, points to an alternate configuration
++file with which to initialize the library.
++.SH "SEE ALSO"
++.BR FontDataBase (5),
++.BR t1libconfig (8).
++.PP
++.B xglyph
++is much more fully documented in the LaTeX documentation that
++accompanies the upstream
++.B t1lib
++distribution. This documentation is installed in PostScript and source
++formats with the t1lib-dev package in /usr/share/doc/t1lib-dev, and is
++also accessible through the dwww system.
++.SH AUTHOR
++This manual page was written by David Huggins-Daines
++<dhd@debian.org>, for the Debian GNU/Linux system (but may
++be used by others).
+--- t1lib-5.1.2.orig/debian/man/type1afm.1
++++ t1lib-5.1.2/debian/man/type1afm.1
+@@ -0,0 +1,34 @@
++.TH TYPE1AFM 1
++.SH NAME
++.B type1afm
++\- create a font metrics file from a Type 1 font file
++.SH SYNOPSIS
++.B type1afm
++[
++.BR \-l
++]
++.B fontfile
++[
++.B fontfile...
++]
++.SH DESCRIPTION
++This manual page was written for the Debian GNU/Linux distribution
++because the original program does not have a manual page.
++.PP
++.B type1afm
++reads in Type 1 font files specified on the command line, rasterizes
++them to 1000bp, and writes AFM (font metrics) files based on the
++observed metrics information.
++.PP
++The AFM file is created in the same directory as the font file, so be
++sure that you have write access there before running this program.
++.SH OPTIONS
++.TP
++.BR \-l
++Write a log file
++.SH SEE ALSO
++.BR getafm (1)
++.SH AUTHOR
++This manual page was David Huggins-Daines <dhd@debian.org>
++for the Debian GNU/Linux distribution (but may be used by others)
++
diff --git a/patches/source/vsftpd/doinst.sh b/patches/source/vsftpd/doinst.sh
new file mode 100644
index 00000000..f915774f
--- /dev/null
+++ b/patches/source/vsftpd/doinst.sh
@@ -0,0 +1,15 @@
+config() {
+ NEW="$1"
+ OLD="$(dirname $NEW)/$(basename $NEW .new)"
+ # If there's no config file by that name, mv it over:
+ if [ ! -r $OLD ]; then
+ mv $NEW $OLD
+ elif [ "$(cat $OLD | md5sum)" = "$(cat $NEW | md5sum)" ]; then # toss the redundant copy
+ rm $NEW
+ fi
+ # Otherwise, we leave the .new copy for the admin to consider...
+}
+config etc/vsftpd.conf.new
+config etc/logrotate.d/vsftpd.new
+rm -f etc/logrotate.d/vsftpd.new
+
diff --git a/patches/source/vsftpd/slack-desc b/patches/source/vsftpd/slack-desc
new file mode 100644
index 00000000..82b9f521
--- /dev/null
+++ b/patches/source/vsftpd/slack-desc
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|' on
+# the right side marks the last column you can put a character in. You must make
+# exactly 11 lines for the formatting to be correct. It's also customary to
+# leave one space after the ':'.
+
+ |-----handy-ruler------------------------------------------------------|
+vsftpd: vsftpd (Very Secure FTP Daemon)
+vsftpd:
+vsftpd: vsftpd is an FTP server, or daemon. The 'vs' stands for Very Secure.
+vsftpd: Obviously this is not a guarantee, but a reflection that the entire
+vsftpd: codebase was written with security in mind, and carefully designed to
+vsftpd: be resilient to attack (as well as extremely fast and scalable).
+vsftpd:
+vsftpd: The vsftpd homepage is http://vsftpd.beasts.org/
+vsftpd:
+vsftpd: The Very Secure FTP Daemon was written by Chris Evans.
+vsftpd:
diff --git a/patches/source/vsftpd/vsftpd.SlackBuild b/patches/source/vsftpd/vsftpd.SlackBuild
new file mode 100755
index 00000000..783e4a5a
--- /dev/null
+++ b/patches/source/vsftpd/vsftpd.SlackBuild
@@ -0,0 +1,106 @@
+#!/bin/sh
+
+# Copyright 2008, 2009, 2010, 2011, 2012 Patrick J. Volkerding, Sebeka, MN, USA
+# All rights reserved.
+#
+# Redistribution and use of this script, with or without modification, is
+# permitted provided that the following conditions are met:
+#
+# 1. Redistributions of this script must retain the above copyright
+# notice, this list of conditions and the following disclaimer.
+#
+# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED
+# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
+# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
+# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+PKGNAM=vsftpd
+VERSION=${VERSION:-$(echo ${PKGNAM}-*.tar.gz | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
+BUILD=${BUILD:-1_slack13.0}
+
+NUMJOBS=${NUMJOBS:-" -j7 "}
+
+# Automatically determine the architecture we're building on:
+if [ -z "$ARCH" ]; then
+ case "$( uname -m )" in
+ i?86) export ARCH=i486 ;;
+ arm*) export ARCH=arm ;;
+ # Unless $ARCH is already set, use uname -m for all other archs:
+ *) export ARCH=$( uname -m ) ;;
+ esac
+fi
+
+if [ "$ARCH" = "x86_64" ]; then
+ LIBDIRSUFFIX="64"
+else
+ LIBDIRSUFFIX=""
+fi
+
+CWD=$(pwd)
+TMP=${TMP:-/tmp}
+PKG=$TMP/package-vsftpd
+
+rm -rf $PKG
+mkdir -p $TMP $PKG
+
+cd $TMP || exit 1
+rm -rf vsftpd-$VERSION
+tar xvf $CWD/vsftpd-$VERSION.tar.gz || exit 1
+cd vsftpd-$VERSION || exit 1
+chown -R root:root .
+find . \
+ \( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \
+ -exec chmod 755 {} \; -o \
+ \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \
+ -exec chmod 644 {} \;
+
+zcat $CWD/vsftpd.builddefs.diff.gz | patch -p1 --verbose || exit 1
+zcat $CWD/vsftpd.conf.diff.gz | patch -p1 --verbose || exit 1
+
+make $NUMJOBS || make || exit 1
+
+mkdir -p $PKG/usr/sbin
+cp vsftpd $PKG/usr/sbin
+chmod 755 $PKG/usr/sbin/vsftpd
+strip --strip-unneeded $PKG/usr/sbin/vsftpd
+
+mkdir -p $PKG/usr/man/man{5,8}
+cat vsftpd.conf.5 | gzip -9c > $PKG/usr/man/man5/vsftpd.conf.5.gz
+cat vsftpd.8 | gzip -9c > $PKG/usr/man/man8/vsftpd.8.gz
+
+mkdir -p $PKG/etc
+cat vsftpd.conf > $PKG/etc/vsftpd.conf.new
+
+mkdir -p $PKG/etc/logrotate.d
+zcat $CWD/vsftpd.log.gz > $PKG/etc/logrotate.d/vsftpd.new
+
+mkdir -p $PKG/usr/share/empty
+mkdir -p $PKG/home/ftp
+
+mkdir -p $PKG/usr/doc/vsftpd-$VERSION
+cp -a \
+ AUDIT BENCHMARKS BUGS COPYING* COPYRIGHT EXAMPLE FAQ \
+ INSTALL LICENSE README* REFS REWARD SECURITY SIZE SPEED TODO TUNING \
+ $PKG/usr/doc/vsftpd-$VERSION
+
+# If there's a ChangeLog, installing at least part of the recent history
+# is useful, but don't let it get totally out of control:
+if [ -r Changelog ]; then
+ DOCSDIR=$(echo $PKG/usr/doc/*-$VERSION)
+ cat Changelog | head -n 1000 > $DOCSDIR/Changelog
+ touch -r Changelog $DOCSDIR/Changelog
+fi
+
+mkdir -p $PKG/install
+cat $CWD/slack-desc > $PKG/install/slack-desc
+zcat $CWD/doinst.sh.gz > $PKG/install/doinst.sh
+
+cd $PKG
+/sbin/makepkg -l y -c n $TMP/vsftpd-$VERSION-$ARCH-$BUILD.txz
+
diff --git a/patches/source/vsftpd/vsftpd.builddefs.diff b/patches/source/vsftpd/vsftpd.builddefs.diff
new file mode 100644
index 00000000..ea908139
--- /dev/null
+++ b/patches/source/vsftpd/vsftpd.builddefs.diff
@@ -0,0 +1,15 @@
+--- ./builddefs.h.orig 2004-07-02 07:36:59.000000000 -0700
++++ ./builddefs.h 2004-09-03 11:25:13.000000000 -0700
+@@ -1,9 +1,9 @@
+ #ifndef VSF_BUILDDEFS_H
+ #define VSF_BUILDDEFS_H
+
+-#undef VSF_BUILD_TCPWRAPPERS
+-#define VSF_BUILD_PAM
+-#undef VSF_BUILD_SSL
++#define VSF_BUILD_TCPWRAPPERS
++#undef VSF_BUILD_PAM
++#define VSF_BUILD_SSL
+
+ #endif /* VSF_BUILDDEFS_H */
+
diff --git a/patches/source/vsftpd/vsftpd.conf.diff b/patches/source/vsftpd/vsftpd.conf.diff
new file mode 100644
index 00000000..1f410a7a
--- /dev/null
+++ b/patches/source/vsftpd/vsftpd.conf.diff
@@ -0,0 +1,45 @@
+diff -Nur vsftpd-2.2.1.orig/vsftpd.conf vsftpd-2.2.1/vsftpd.conf
+--- vsftpd-2.2.1.orig/vsftpd.conf 2009-10-18 21:04:23.000000000 -0500
++++ vsftpd-2.2.1/vsftpd.conf 2009-10-19 10:22:16.609407947 -0500
+@@ -19,7 +19,7 @@
+ #
+ # Default umask for local users is 077. You may wish to change this to 022,
+ # if your users expect that (022 is used by most other ftpd's)
+-#local_umask=022
++local_umask=022
+ #
+ # Uncomment this to allow the anonymous FTP user to upload files. This only
+ # has an effect if the above global write enable is activated. Also, you will
+@@ -48,11 +48,11 @@
+ #
+ # You may override where the log file goes if you like. The default is shown
+ # below.
+-#xferlog_file=/var/log/vsftpd.log
++xferlog_file=/var/log/vsftpd.log
+ #
+ # If you want, you can have your log file in standard ftpd xferlog format.
+ # Note that the default log file location is /var/log/xferlog in this case.
+-#xferlog_std_format=YES
++xferlog_std_format=YES
+ #
+ # You may change the default value for timing out an idle session.
+ #idle_session_timeout=600
+@@ -101,12 +101,13 @@
+ # default to avoid remote users being able to cause excessive I/O on large
+ # sites. However, some broken FTP clients such as "ncftp" and "mirror" assume
+ # the presence of the "-R" option, so there is a strong case for enabling it.
+-#ls_recurse_enable=YES
++ls_recurse_enable=YES
+ #
+-# When "listen" directive is enabled, vsftpd runs in standalone mode and
+-# listens on IPv4 sockets. This directive cannot be used in conjunction
+-# with the listen_ipv6 directive.
+-listen=YES
++# When "listen" directive is enabled, vsftpd runs in standalone mode (rather
++# than from inetd) and listens on IPv4 sockets. To use vsftpd in standalone
++# mode rather than with inetd, change the line below to 'listen=YES'
++# This directive cannot be used in conjunction with the listen_ipv6 directive.
++listen=NO
+ #
+ # This directive enables listening on IPv6 sockets. To listen on IPv4 and IPv6
+ # sockets, you must run two copies of vsftpd with two configuration files.
diff --git a/patches/source/vsftpd/vsftpd.log b/patches/source/vsftpd/vsftpd.log
new file mode 100644
index 00000000..d338de81
--- /dev/null
+++ b/patches/source/vsftpd/vsftpd.log
@@ -0,0 +1,5 @@
+/var/log/vsftpd.log {
+ # ftpd doesn't handle SIGHUP properly
+ nocompress
+ missingok
+}
diff --git a/patches/source/wget/doinst.sh b/patches/source/wget/doinst.sh
new file mode 100644
index 00000000..dd81eb50
--- /dev/null
+++ b/patches/source/wget/doinst.sh
@@ -0,0 +1,14 @@
+config() {
+ NEW="$1"
+ OLD="$(dirname $NEW)/$(basename $NEW .new)"
+ # If there's no config file by that name, mv it over:
+ if [ ! -r $OLD ]; then
+ mv $NEW $OLD
+ elif [ "$(cat $OLD | md5sum)" = "$(cat $NEW | md5sum)" ]; then # toss the redundant copy
+ rm $NEW
+ fi
+ # Otherwise, we leave the .new copy for the admin to consider...
+}
+
+config etc/wgetrc.new
+
diff --git a/patches/source/wget/slack-desc b/patches/source/wget/slack-desc
new file mode 100644
index 00000000..d023ea37
--- /dev/null
+++ b/patches/source/wget/slack-desc
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|'
+# on the right side marks the last column you can put a character in. You must
+# make exactly 11 lines for the formatting to be correct. It's also
+# customary to leave one space after the ':'.
+
+ |-----handy-ruler------------------------------------------------------|
+wget: wget (a non-interactive network retriever)
+wget:
+wget: GNU Wget is a free network utility to retrieve files from the
+wget: World Wide Web using HTTP and FTP, the two most widely used Internet
+wget: protocols. It works non-interactively, thus enabling work in the
+wget: background after having logged off.
+wget:
+wget: The author of Wget is Hrvoje Niksic <hniksic@srce.hr>.
+wget:
+wget:
+wget:
diff --git a/patches/source/wget/wget.SlackBuild b/patches/source/wget/wget.SlackBuild
new file mode 100755
index 00000000..bef0aa97
--- /dev/null
+++ b/patches/source/wget/wget.SlackBuild
@@ -0,0 +1,109 @@
+#!/bin/sh
+
+# Copyright 2008, 2009, 2010, 2012, 2013, 2014, 2015 Patrick J. Volkerding, Sebeka, Minnesota, USA
+# All rights reserved.
+#
+# Redistribution and use of this script, with or without modification, is
+# permitted provided that the following conditions are met:
+#
+# 1. Redistributions of this script must retain the above copyright
+# notice, this list of conditions and the following disclaimer.
+#
+# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED
+# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
+# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
+# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+VERSION=${VERSION:-$(echo wget-*.tar.?z | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
+BUILD=${BUILD:-1_slack13.0}
+
+NUMJOBS=${NUMJOBS:-" -j7 "}
+
+# Automatically determine the architecture we're building on:
+if [ -z "$ARCH" ]; then
+ case "$( uname -m )" in
+ i?86) export ARCH=i486 ;;
+ arm*) export ARCH=arm ;;
+ # Unless $ARCH is already set, use uname -m for all other archs:
+ *) export ARCH=$( uname -m ) ;;
+ esac
+fi
+
+if [ "$ARCH" = "i486" ]; then
+ SLKCFLAGS="-O2 -march=i486 -mtune=i686"
+elif [ "$ARCH" = "i586" ]; then
+ SLKCFLAGS="-O2 -march=i586 -mtune=i686"
+elif [ "$ARCH" = "s390" ]; then
+ SLKCFLAGS="-O2"
+elif [ "$ARCH" = "x86_64" ]; then
+ SLKCFLAGS="-O2 -fPIC"
+else
+ SLKCFLAGS="-O2"
+fi
+
+CWD=$(pwd)
+TMP=${TMP:-/tmp}
+PKG=$TMP/package-wget
+
+rm -rf $PKG
+mkdir -p $TMP $PKG
+cd $TMP
+rm -rf wget-$VERSION
+tar xvf $CWD/wget-$VERSION.tar.?z || exit 1
+cd wget-$VERSION
+
+chown -R root:root .
+find . \
+ \( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \
+ -exec chmod 755 {} \; -o \
+ \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \
+ -exec chmod 644 {} \;
+
+CFLAGS="$SLKCFLAGS" \
+./configure \
+ --prefix=/usr \
+ --sysconfdir=/etc \
+ --mandir=/usr/man \
+ --infodir=/usr/info \
+ --docdir=/usr/doc/wget-$VERSION \
+ --with-ssl=openssl \
+ --build=${ARCH}-slackware-linux || exit 1
+
+make $NUMJOBS || make || exit 1
+make install DESTDIR=$PKG || exit 1
+
+mv $PKG/etc/wgetrc $PKG/etc/wgetrc.new
+
+find $PKG | xargs file | grep -e "executable" -e "shared object" | grep ELF \
+ | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
+
+rm -f $PKG/usr/info/dir
+gzip -9 $PKG/usr/info/* $PKG/usr/man/man?/*
+
+mkdir -p $PKG/usr/doc/wget-$VERSION
+cp -a \
+ AUTHORS COPYING* MAILING-LIST NEWS PATCHES README* TODO \
+ $PKG/usr/doc/wget-$VERSION
+
+# If there's a ChangeLog, installing at least part of the recent history
+# is useful, but don't let it get totally out of control:
+if [ -r ChangeLog ]; then
+ DOCSDIR=$(echo $PKG/usr/doc/*-$VERSION)
+ cat ChangeLog | head -n 1000 > $DOCSDIR/ChangeLog
+ touch -r ChangeLog $DOCSDIR/ChangeLog
+fi
+
+mkdir -p $PKG/install
+cat $CWD/slack-desc > $PKG/install/slack-desc
+zcat $CWD/doinst.sh.gz > $PKG/install/doinst.sh
+
+cd $PKG
+/sbin/makepkg -l y -c n $TMP/wget-$VERSION-$ARCH-$BUILD.txz
+
diff --git a/patches/source/wicd/README.SLACKWARE b/patches/source/wicd/README.SLACKWARE
new file mode 100644
index 00000000..e7a374dc
--- /dev/null
+++ b/patches/source/wicd/README.SLACKWARE
@@ -0,0 +1,17 @@
+After installing this package, make sure the /etc/rc.d/rc.wicd
+script is executable; if necessary, do:
+ chmod +x /etc/rc.d/rc.wicd
+
+Results have varied, but you will probably need/want to remove
+any references to interfaces from /etc/rc.d/rc.inet1.conf - in
+other words, make that file look as if netconfig has never been
+run.
+
+When you start X, you should see a wicd icon in the system tray;
+click on it to open the gui interface and configure as desired.
+Your user account will need to be a member of the 'netdev' group
+in order to use wicd.
+
+Note that urwid will need to be installed if you want to use the
+curses client. Also, if you don't have kde installed, you won't
+have a graphical sudo client available.
diff --git a/patches/source/wicd/doinst.sh b/patches/source/wicd/doinst.sh
new file mode 100644
index 00000000..78732c5b
--- /dev/null
+++ b/patches/source/wicd/doinst.sh
@@ -0,0 +1,37 @@
+config() {
+ NEW="$1"
+ OLD="$(dirname $NEW)/$(basename $NEW .new)"
+ # If there's no config file by that name, mv it over:
+ if [ ! -r $OLD ]; then
+ mv $NEW $OLD
+ elif [ "$(cat $OLD | md5sum)" = "$(cat $NEW | md5sum)" ]; then
+ # toss the redundant copy
+ rm $NEW
+ fi
+ # Otherwise, we leave the .new copy for the admin to consider...
+}
+
+# Keep same perms on rc.wicd.new:
+if [ -e etc/rc.d/rc.wicd ]; then
+ cp -a etc/rc.d/rc.wicd etc/rc.d/rc.wicd.new.incoming
+ cat etc/rc.d/rc.wicd.new > etc/rc.d/rc.wicd.new.incoming
+ mv etc/rc.d/rc.wicd.new.incoming etc/rc.d/rc.wicd.new
+fi
+
+# Update desktop menu
+if [ -x /usr/bin/update-desktop-database ]; then
+ /usr/bin/update-desktop-database -q usr/share/applications >/dev/null 2>&1
+fi
+
+# Update icon cache if one exists
+if [ -r usr/share/icons/hicolor/icon-theme.cache ]; then
+ if [ -x /usr/bin/gtk-update-icon-cache ]; then
+ /usr/bin/gtk-update-icon-cache -t -f usr/share/icons/hicolor >/dev/null 2>&1
+ fi
+fi
+
+config etc/dbus-1/system.d/wicd.conf.new
+config etc/rc.d/rc.wicd.new
+config etc/wicd/manager-settings.conf.new
+config etc/logrotate.d/wicd.logrotate.new
+
diff --git a/patches/source/wicd/slack-desc b/patches/source/wicd/slack-desc
new file mode 100644
index 00000000..47cf875f
--- /dev/null
+++ b/patches/source/wicd/slack-desc
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|'
+# on the right side marks the last column you can put a character in. You must
+# make exactly 11 lines for the formatting to be correct. It's also
+# customary to leave one space after the ':'.
+
+ |-----handy-ruler-------------------------------------------------------|
+wicd: wicd (network manager for linux)
+wicd:
+wicd: wicd is a wired and wireless network manager for Linux.
+wicd: Some features include:
+wicd: - Ability to connect to wired and wireless networks
+wicd: - Profiles for each wireless network and wired network
+wicd: - Many encryption schemes, some of which include WEP/WPA/WPA2
+wicd: - Compatible with wireless-tools
+wicd:
+wicd: Homepage: http://wicd.net
+wicd:
diff --git a/patches/source/wicd/wicd-1.7.2.4.sanitize.string.bugfix.diff b/patches/source/wicd/wicd-1.7.2.4.sanitize.string.bugfix.diff
new file mode 100644
index 00000000..4be44631
--- /dev/null
+++ b/patches/source/wicd/wicd-1.7.2.4.sanitize.string.bugfix.diff
@@ -0,0 +1,11 @@
+--- ./wicd/misc.py.orig 2012-04-30 14:20:09.000000000 -0500
++++ ./wicd/misc.py 2012-05-09 14:08:24.611298308 -0500
+@@ -430,7 +430,7 @@
+ """ Sanitize property names to be used in config-files. """
+ allowed = string.ascii_letters + '_' + string.digits
+ table = string.maketrans(allowed, ' ' * len(allowed))
+- return s.translate(None, table)
++ return s.encode('ascii', 'replace').translate(None, table)
+
+ def sanitize_escaped(s):
+ """ Sanitize double-escaped unicode strings. """
diff --git a/patches/source/wicd/wicd.SlackBuild b/patches/source/wicd/wicd.SlackBuild
new file mode 100755
index 00000000..6c86ff73
--- /dev/null
+++ b/patches/source/wicd/wicd.SlackBuild
@@ -0,0 +1,100 @@
+#!/bin/sh
+
+# Copyright 2008,2009,2010,2011,2012 Robby Workman Northport, AL, USA
+# All rights reserved.
+#
+# Redistribution and use of this script, with or without modification, is
+# permitted provided that the following conditions are met:
+#
+# 1. Redistributions of this script must retain the above copyright
+# notice, this list of conditions and the following disclaimer.
+#
+# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ''AS IS'' AND ANY EXPRESS OR IMPLIED
+# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
+# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
+# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+PRGNAM=wicd
+VERSION=${VERSION:-1.7.2.4}
+BUILD=${BUILD:-2_slack13.0}
+
+# Automatically determine architecture for build & packaging:
+if [ -z "$ARCH" ]; then
+ case "$( uname -m )" in
+ i?86) export ARCH=i486 ;;
+ # Unless $ARCH is already set, use uname -m for all other archs:
+ *) export ARCH=$( uname -m ) ;;
+ esac
+fi
+
+CWD=$(pwd)
+TMP=${TMP:-/tmp}
+PKG=$TMP/package-$PRGNAM
+
+if [ "$ARCH" = "i486" ]; then
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "s390" ]; then
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "x86_64" ]; then
+ LIBDIRSUFFIX="64"
+else
+ LIBDIRSUFFIX=""
+fi
+
+rm -rf $PKG
+mkdir -p $TMP $PKG
+cd $TMP
+rm -rf $PRGNAM-$VERSION
+tar xvf $CWD/$PRGNAM-$VERSION.tar.xz || exit 1
+cd $PRGNAM-$VERSION || exit 1
+chown -R root:root .
+
+zcat $CWD/wicd-1.7.2.4.sanitize.string.bugfix.diff.gz | patch -p1 --verbose || exit 1
+
+python setup.py configure \
+ --lib=/usr/lib${LIBDIRSUFFIX}/wicd \
+ --kdedir=/usr/share/autostart \
+ --backends=/usr/lib${LIBDIRSUFFIX}/wicd/backends \
+ || exit 1
+
+# Bypass the need for pybabel (thanks, dapal!)
+for pofile in $(find po/ -type f -name "*.po") ; do
+ mkdir -p translations/$(basename ${pofile} .po)/LC_MESSAGES
+ msgfmt -o translations/$(basename ${pofile} .po)/LC_MESSAGES/wicd.mo ${pofile}
+done
+
+python setup.py install --root=$PKG || exit 1
+
+# Handle some Slackware defaults
+# Use dhcpcd as the dhcp client
+# Use kdesu as the graphical sudo application
+cat << EOF > $PKG/etc/wicd/manager-settings.conf.new
+[Settings]
+dhcp_client = 2
+sudo_app = 2
+EOF
+
+# Don't clobber configs on upgrade
+mv $PKG/etc/dbus-1/system.d/wicd.conf $PKG/etc/dbus-1/system.d/wicd.conf.new
+mv $PKG/etc/logrotate.d/wicd.logrotate $PKG/etc/logrotate.d/wicd.logrotate.new
+mv $PKG/etc/rc.d/rc.wicd $PKG/etc/rc.d/rc.wicd.new
+
+# Compress the man pages and add a bit to the package docs
+( cd $PKG/usr/man || exit 1
+ find . -type f -exec gzip -9 {} \;
+ for i in $(find . -type l) ; do ln -s $(readlink $i).gz $i.gz ; rm $i ; done
+)
+cat $CWD/README.SLACKWARE > $PKG/usr/doc/$PRGNAM-$VERSION/README.SLACKWARE
+
+mkdir -p $PKG/install
+cat $CWD/slack-desc > $PKG/install/slack-desc
+zcat $CWD/doinst.sh.gz > $PKG/install/doinst.sh
+
+cd $PKG
+/sbin/makepkg -c n -l y $TMP/$PRGNAM-$VERSION-$ARCH-$BUILD.txz
diff --git a/patches/source/xcb-proto/arch.use.flags b/patches/source/xcb-proto/arch.use.flags
new file mode 100644
index 00000000..11087c88
--- /dev/null
+++ b/patches/source/xcb-proto/arch.use.flags
@@ -0,0 +1,9 @@
+if [ "$ARCH" = "i486" ]; then
+ SLKCFLAGS="-O2 -march=i486 -mtune=i686"
+elif [ "$ARCH" = "i586" ]; then
+ SLKCFLAGS="-O2 -march=i586 -mtune=i686"
+elif [ "$ARCH" = "s390" ]; then
+ SLKCFLAGS="-O2"
+elif [ "$ARCH" = "x86_64" ]; then
+ SLKCFLAGS="-O2 -fPIC"
+fi
diff --git a/patches/source/xcb-proto/build/xcb-proto b/patches/source/xcb-proto/build/xcb-proto
new file mode 100644
index 00000000..1551cb6a
--- /dev/null
+++ b/patches/source/xcb-proto/build/xcb-proto
@@ -0,0 +1 @@
+1_slack13.0
diff --git a/patches/source/xcb-proto/configure/configure b/patches/source/xcb-proto/configure/configure
new file mode 100644
index 00000000..dcb1109b
--- /dev/null
+++ b/patches/source/xcb-proto/configure/configure
@@ -0,0 +1,13 @@
+CFLAGS=$SLKCFLAGS \
+CXXFLAGS=$SLKCFLAGS \
+./configure \
+ --prefix=/usr \
+ --libdir=/usr/lib${LIBDIRSUFFIX} \
+ --sysconfdir=/etc \
+ --localstatedir=/var \
+ --infodir=/usr/info \
+ --mandir=/usr/man \
+ --docdir=/usr/doc/${PKGNAME}-${MODULAR_PACKAGE_VERSION} \
+ --with-udev-rules-dir=/lib/udev/rules.d \
+ --disable-static \
+ --build=$ARCH-slackware-linux
diff --git a/patches/source/xcb-proto/modularize b/patches/source/xcb-proto/modularize
new file mode 100644
index 00000000..8a28ed93
--- /dev/null
+++ b/patches/source/xcb-proto/modularize
@@ -0,0 +1,279 @@
+# If a package is listed here, it will be built apart from the
+# usual "grab bag" package that's made from each source directory.
+
+appres
+bdftopcf
+beforelight
+bigreqsproto
+bitmap
+compiz
+compositeproto
+damageproto
+dmxproto
+dri2proto
+dri3proto
+editres
+encodings
+evieext
+fixesproto
+font-adobe-100dpi
+font-adobe-75dpi
+font-adobe-utopia-100dpi
+font-adobe-utopia-75dpi
+font-adobe-utopia-type1
+font-alias
+font-arabic-misc
+font-bh-100dpi
+font-bh-75dpi
+font-bh-lucidatypewriter-100dpi
+font-bh-lucidatypewriter-75dpi
+font-bh-ttf
+font-bh-type1
+font-bitstream-100dpi
+font-bitstream-75dpi
+font-bitstream-speedo
+font-bitstream-type1
+font-cronyx-cyrillic
+font-cursor-misc
+font-daewoo-misc
+font-dec-misc
+font-ibm-type1
+font-isas-misc
+font-jis-misc
+font-micro-misc
+font-misc-cyrillic
+font-misc-ethiopic
+font-misc-meltho
+font-misc-misc
+font-mutt-misc
+font-schumacher-misc
+font-screen-cyrillic
+font-sony-misc
+font-sun-misc
+font-util
+font-winitzki-cyrillic
+font-xfree86-type1
+fontcacheproto
+fontsproto
+fonttosfnt
+fslsfonts
+fstobdf
+gccmakedep
+glamor-egl
+glproto
+iceauth
+ico
+imake
+inputproto
+intel-gpu-tools
+kbproto
+libFS
+libICE
+libSM
+libX11
+libXScrnSaver
+libXau
+libXaw
+libXaw3d
+libXcm
+libXcomposite
+libXcursor
+libXdamage
+libXdmcp
+libXevie
+libXext
+libXfixes
+libXfont
+libXfontcache
+libXft
+libXi
+libXinerama
+libXmu
+libXp
+libXpm
+libXpresent
+libXrandr
+libXrender
+libXres
+libXt
+libXtst
+libXv
+libXvMC
+libXxf86dga
+libXxf86misc
+libXxf86vm
+libdmx
+libfontenc
+libpciaccess
+libpthread-stubs
+libxcb
+libxkbfile
+libxshmfence
+listres
+lndir
+luit
+makedepend
+mkcomposecache
+mkfontdir
+mkfontscale
+oclock
+pixman
+presentproto
+printproto
+randrproto
+recordproto
+rendercheck
+renderproto
+resourceproto
+rgb
+scrnsaverproto
+sessreg
+setxkbmap
+showfont
+smproxy
+transset
+twm
+util-macros
+videoproto
+viewres
+x11perf
+xauth
+xbacklight
+xbiff
+xbitmaps
+xcalc
+xcb-proto
+xcb-util
+xcb-util-cursor
+xcb-util-errors
+xcb-util-image
+xcb-util-keysyms
+xcb-util-renderutil
+xcb-util-wm
+xclipboard
+xclock
+xcm
+xcmiscproto
+xcmsdb
+xcompmgr
+xconsole
+xcursor-themes
+xcursorgen
+xdbedizzy
+xditview
+xdm
+xdpyinfo
+xdriinfo
+xedit
+xev
+xextproto
+xeyes
+xf86-input-acecad
+xf86-input-aiptek
+xf86-input-evdev
+xf86-input-joystick
+xf86-input-keyboard
+xf86-input-mouse
+xf86-input-penmount
+xf86-input-synaptics
+xf86-input-vmmouse
+xf86-input-void
+xf86-input-wacom
+xf86-video-amdgpu
+xf86-video-apm
+xf86-video-ark
+xf86-video-ast
+xf86-video-ati
+xf86-video-chips
+xf86-video-cirrus
+xf86-video-dummy
+xf86-video-geode
+xf86-video-glint
+xf86-video-i128
+xf86-video-i740
+xf86-video-intel
+xf86-video-mach64
+xf86-video-mga
+xf86-video-modesetting
+xf86-video-neomagic
+xf86-video-nouveau
+xf86-video-nv
+xf86-video-omap
+xf86-video-openchrome
+xf86-video-qxl
+xf86-video-r128
+xf86-video-rendition
+xf86-video-s3
+xf86-video-s3virge
+xf86-video-savage
+xf86-video-siliconmotion
+xf86-video-sis
+xf86-video-sisusb
+xf86-video-tdfx
+xf86-video-tga
+xf86-video-trident
+xf86-video-tseng
+xf86-video-v4l
+xf86-video-vesa
+xf86-video-vmware
+xf86-video-voodoo
+xf86-video-xgi
+xf86-video-xgixp
+xf86bigfontproto
+xf86dga
+xf86dgaproto
+xf86driproto
+xf86miscproto
+xf86vidmodeproto
+xfd
+xfontsel
+xfs
+xfsinfo
+xgamma
+xgc
+xhost
+xineramaproto
+xinit
+xinput
+xkbcomp
+xkbevd
+xkbprint
+xkbutils
+xkeyboard-config
+xkill
+xload
+xlogo
+xlsatoms
+xlsclients
+xlsfonts
+xmag
+xman
+xmessage
+xmh
+xmodmap
+xmore
+xorg-cf-files
+xorg-docs
+xorg-server
+xorg-server-xephyr
+xorg-server-xnest
+xorg-server-xvfb
+xorg-sgml-doctools
+xpr
+xprop
+xproto
+xpyb
+xrandr
+xrdb
+xrefresh
+xscope
+xset
+xsetroot
+xsm
+xstdcmap
+xtrans
+xvidtune
+xvinfo
+xwd
+xwininfo
+xwud
diff --git a/patches/source/xcb-proto/noarch b/patches/source/xcb-proto/noarch
new file mode 100644
index 00000000..8785ee52
--- /dev/null
+++ b/patches/source/xcb-proto/noarch
@@ -0,0 +1,75 @@
+# List packages with an $ARCH of "noarch" (i.e. packages
+# that contain no binaries) here:
+bigreqsproto
+compositeproto
+damageproto
+dejavu-ttf
+dmxproto
+encodings
+evieext
+font-adobe-100dpi
+font-adobe-75dpi
+font-adobe-utopia-100dpi
+font-adobe-utopia-75dpi
+font-adobe-utopia-type1
+font-alias
+font-arabic-misc
+font-bh-100dpi
+font-bh-75dpi
+font-bh-lucidatypewriter-100dpi
+font-bh-lucidatypewriter-75dpi
+font-bh-ttf
+font-bh-type1
+font-bitstream-100dpi
+font-bitstream-75dpi
+font-bitstream-speedo
+font-bitstream-type1
+font-cronyx-cyrillic
+font-cursor-misc
+font-daewoo-misc
+font-dec-misc
+font-ibm-type1
+font-isas-misc
+font-jis-misc
+font-micro-misc
+font-misc-cyrillic
+font-misc-ethiopic
+font-misc-meltho
+font-misc-misc
+font-mutt-misc
+font-schumacher-misc
+font-screen-cyrillic
+font-sony-misc
+font-sun-misc
+font-winitzki-cyrillic
+font-xfree86-type1
+fontcacheproto
+fontsproto
+gccmakedep
+glproto
+inputproto
+kbproto
+libpthread-stubs
+mkfontdir
+printproto
+randrproto
+recordproto
+renderproto
+resourceproto
+scrnsaverproto
+ttf-indic-fonts
+util-macros
+videoproto
+x11-skel
+xcmiscproto
+xcursor-themes
+xf86bigfontproto
+xf86dgaproto
+xf86driproto
+xf86miscproto
+xf86vidmodeproto
+xineramaproto
+xkeyboard-config
+xorg-docs
+xproto
+xtrans
diff --git a/patches/source/xcb-proto/package-blacklist b/patches/source/xcb-proto/package-blacklist
new file mode 100644
index 00000000..603b8c31
--- /dev/null
+++ b/patches/source/xcb-proto/package-blacklist
@@ -0,0 +1,44 @@
+# Enter packages to skip (perhaps because they aren't used on
+# this platform) below. Just the package name -- no version
+# number is needed.
+
+# ARM only packages:
+# They also say in the README for this one that it is not yet ready:
+xf86-video-omap
+
+# MacOS related packages:
+applewmproto
+windowswmproto
+libAppleWM
+libWindowsWM
+
+# Sun video cards:
+xf86-video-sunbw2
+xf86-video-suncg14
+xf86-video-suncg3
+xf86-video-suncg6
+xf86-video-sunffb
+xf86-video-sunleo
+xf86-video-suntcx
+
+# Obsolete packages:
+liboldX
+xf86-video-amd
+xf86-video-via
+xkbdata
+xphelloworld
+xrx
+xf86-video-modesetting
+
+# Not applicable to us
+grandr
+constype
+
+# CAREFUL NOT TO "SHIP" THE STUFF BELOW IN THE MAIN X PACKAGES DIR!
+
+# This is probably obsolete, and kills "X -configure" too
+xf86-video-nsc
+
+# We don't want this one, as it causes failure of X with no xorg.conf
+xf86-video-fbdev
+
diff --git a/patches/source/xcb-proto/post-install/xcb-proto.post-install b/patches/source/xcb-proto/post-install/xcb-proto.post-install
new file mode 100644
index 00000000..eb341027
--- /dev/null
+++ b/patches/source/xcb-proto/post-install/xcb-proto.post-install
@@ -0,0 +1,5 @@
+# Add documentation:
+mkdir -p $PKG/usr/doc/xcb-proto-$MODULAR_PACKAGE_VERSION
+cp -a \
+ COPYING README \
+ $PKG/usr/doc/xcb-proto-$MODULAR_PACKAGE_VERSION
diff --git a/patches/source/xcb-proto/slack-desc/xcb-proto b/patches/source/xcb-proto/slack-desc/xcb-proto
new file mode 100644
index 00000000..c66b7140
--- /dev/null
+++ b/patches/source/xcb-proto/slack-desc/xcb-proto
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|'
+# on the right side marks the last column you can put a character in. You must
+# make exactly 11 lines for the formatting to be correct. It's also
+# customary to leave one space after the ':'.
+
+ |-----handy-ruler------------------------------------------------------|
+xcb-proto: xcb-proto (X protocol C-language Binding protocol descriptions)
+xcb-proto:
+xcb-proto: xcb-proto provides the XML-XCB protocol descriptions that libxcb
+xcb-proto: uses to generate the majority of its code and API. We provide them
+xcb-proto: separately from libxcb to allow reuse by other projects, such as
+xcb-proto: additional language bindings, protocol dissectors, or documentation
+xcb-proto: generators.
+xcb-proto:
+xcb-proto:
+xcb-proto:
+xcb-proto:
diff --git a/patches/source/xcb-proto/x11.SlackBuild b/patches/source/xcb-proto/x11.SlackBuild
new file mode 100755
index 00000000..c3887dff
--- /dev/null
+++ b/patches/source/xcb-proto/x11.SlackBuild
@@ -0,0 +1,381 @@
+#!/bin/sh
+# Copyright 2007-2014 Patrick J. Volkerding, Sebeka, MN, USA
+# All rights reserved.
+#
+# Redistribution and use of this script, with or without modification, is
+# permitted provided that the following conditions are met:
+#
+# 1. Redistributions of this script must retain the above copyright
+# notice, this list of conditions and the following disclaimer.
+#
+# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED
+# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
+# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
+# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+# To build only a single package group, specify it as $1, like:
+# ./x11.SlackBuild lib
+# To build only a single package, specify both the source directory
+# and the name of the package, like:
+# ./x11.SlackBuild lib libX11
+
+# Upgrade packages as they are built.
+# Default is to upgrade new packages (UPGRADE_PACKAGES=yes).
+# To install ALL newly built packages (even if they are already installed),
+# use UPGRADE_PACKAGES=always
+# To not upgrade, pass UPGRADE_PACKAGES=no
+UPGRADE_PACKAGES=${UPGRADE_PACKAGES:-yes}
+
+pkgbase() {
+ PKGEXT=$(echo $1 | rev | cut -f 1 -d . | rev)
+ case $PKGEXT in
+ 'gz' )
+ PKGRETURN=$(basename $1 .tar.gz)
+ ;;
+ 'bz2' )
+ PKGRETURN=$(basename $1 .tar.bz2)
+ ;;
+ 'lzma' )
+ PKGRETURN=$(basename $1 .tar.lzma)
+ ;;
+ 'xz' )
+ PKGRETURN=$(basename $1 .tar.xz)
+ ;;
+ *)
+ PKGRETURN=$(basename $1)
+ ;;
+ esac
+ echo $PKGRETURN
+}
+
+# Set initial variables:
+CWD=$(pwd)
+TMP=${TMP:-/tmp}
+
+# Automatically determine the architecture we're building on:
+if [ -z "$ARCH" ]; then
+ case "$( uname -m )" in
+ i?86) export ARCH=i486 ;;
+ arm*) export ARCH=arm ;;
+ # Unless $ARCH is already set, use uname -m for all other archs:
+ *) export ARCH=$( uname -m ) ;;
+ esac
+fi
+
+# A lot of this stuff just controls the package names this time:
+VERSION=${VERSION:-7.5}
+BUILD=${BUILD:-1}
+PKGARCH=$ARCH
+NUMJOBS=${NUMJOBS:-" -j7 "}
+
+if [ "$ARCH" = "x86_64" ]; then
+ LIBDIRSUFFIX="64"
+else
+ LIBDIRSUFFIX=""
+fi
+
+# Set up a few useful functions:
+
+fix_perms() {
+ chown -R root:root .
+ find . \
+ \( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \
+ -exec chmod 755 {} \; -o \
+ \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \
+ -exec chmod 644 {} \;
+}
+
+process_man_pages() {
+ # Compress and if needed symlink the man pages:
+ if [ -d usr/man ]; then
+ ( cd usr/man
+ for manpagedir in $(find . -type d -name "man*") ; do
+ ( cd $manpagedir
+ for eachpage in $( find . -type l -maxdepth 1) ; do
+ ln -s $( readlink $eachpage ).gz $eachpage.gz
+ rm $eachpage
+ done
+ gzip -9 *.*
+ )
+ done
+ )
+ fi
+}
+
+process_info_pages() {
+ # Compress info pages and purge "dir" file from the package:
+ if [ -d usr/info ]; then
+ ( cd usr/info
+ rm -f dir
+ gzip -9 *
+ )
+ fi
+}
+
+no_usr_share_doc() {
+ # If there are docs, move them:
+ if [ -d usr/share/doc ]; then
+ mkdir -p usr/doc
+ mv usr/share/doc/* usr/doc
+ rmdir usr/share/doc
+ fi
+}
+
+# Set the compile options for the $ARCH being used:
+. $CWD/arch.use.flags
+
+SLACK_X_BUILD_DIR=$TMP/x11-build
+mkdir -p $SLACK_X_BUILD_DIR
+
+# Better have some binaries installed first, as this may not be
+# in the "magic order". I built mine by hand through trial-and-error
+# before getting this script to work. It wasn't that hard... I think. ;-)
+( cd src
+ for x_source_dir in proto data util xcb lib app doc xserver driver font ; do
+ # See if $1 is a source directory like "lib":
+ if [ ! -z "$1" ]; then
+ if [ ! "$1" = "${x_source_dir}" ]; then
+ continue
+ fi
+ fi
+ PKG=${SLACK_X_BUILD_DIR}/package-${x_source_dir}
+ rm -rf $PKG
+ mkdir -p $PKG
+ ( cd $x_source_dir
+ for x_pkg in *.tar.?z* ; do
+ # Reset $PKGARCH to its initial value:
+ PKGARCH=$ARCH
+ PKGNAME=$(echo $x_pkg | rev | cut -f 2- -d - | rev)
+ # Perhaps $PKGARCH should be something different:
+ if grep -wq "^$PKGNAME" ${CWD}/noarch ; then
+ PKGARCH=noarch
+ fi
+ if grep -wq "^$PKGNAME" ${CWD}/package-blacklist ; then
+ continue
+ fi
+ cd $SLACK_X_BUILD_DIR
+ # If $2 is set, we only want to build one package:
+ if [ ! -z "$2" ]; then
+ if [ "$2" = "$PKGNAME" ]; then
+ # Set $PKG to a private dir for the modular package build:
+ PKG=$SLACK_X_BUILD_DIR/package-$PKGNAME
+ rm -rf $PKG
+ mkdir -p $PKG
+ else
+ continue
+ fi
+ else
+ echo
+ echo "Building from source ${x_pkg}"
+ echo
+ fi
+ if grep -wq "^$PKGNAME" ${CWD}/modularize ; then
+ # Set $PKG to a private dir for the modular package build:
+ PKG=$SLACK_X_BUILD_DIR/package-$PKGNAME
+ rm -rf $PKG
+ mkdir -p $PKG
+ fi
+
+ # Let's figure out the version number on the modular package:
+ MODULAR_PACKAGE_VERSION=$(echo $x_pkg | rev | cut -f 3- -d . | cut -f 1 -d - | rev)
+
+ rm -rf $(pkgbase $x_pkg)
+ tar xf $CWD/src/${x_source_dir}/${x_pkg} || exit 1
+ cd $(pkgbase $x_pkg) || exit 1
+
+ fix_perms
+
+ # If any patches are needed, call this script to apply them:
+ if [ -r $CWD/patch/${PKGNAME}.patch ]; then
+ . $CWD/patch/${PKGNAME}.patch
+ fi
+
+ # I heard somewhere that -O2 breaks some chipset or another. If you encounter
+ # problems, please contact volkerdi@slackware.com. Thanks! :-)
+
+ # ./configure, using custom configure script if needed:
+ if [ -r $CWD/configure/${PKGNAME} ]; then
+ . $CWD/configure/${PKGNAME}
+ else
+ # This is the default configure script:
+ . $CWD/configure/configure
+ fi
+
+ if ! make $NUMJOBS ; then
+ touch ${SLACK_X_BUILD_DIR}/${PKGNAME}.failed
+ continue
+ fi
+
+ make install DESTDIR=$PKG
+
+ mkdir -p $PKG/usr/doc/${PKGNAME}-${MODULAR_PACKAGE_VERSION}
+ cp -a \
+ AUTHORS* COPYING* INSTALL* README* NEWS* TODO* \
+ $PKG/usr/doc/${PKGNAME}-${MODULAR_PACKAGE_VERSION}
+
+ # If there's a ChangeLog, installing at least part of the recent history
+ # is useful, but don't let it get totally out of control:
+ if [ -r ChangeLog ]; then
+ DOCSDIR=$(echo $PKG/usr/doc/${PKGNAME}-$MODULAR_PACKAGE_VERSION)
+ cat ChangeLog | head -n 1000 > $DOCSDIR/ChangeLog
+ touch -r ChangeLog $DOCSDIR/ChangeLog
+ fi
+
+ # Get rid of zero-length junk files:
+ find $PKG/usr/doc/${PKGNAME}-$MODULAR_PACKAGE_VERSION -type f -size 0 -exec rm --verbose "{}" \;
+ rmdir --verbose $PKG/usr/doc/${PKGNAME}-$MODULAR_PACKAGE_VERSION 2> /dev/null
+
+ # Strip binaries:
+ ( cd $PKG
+ find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
+ find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
+ find . | xargs file | grep "current ar archive" | grep ELF | cut -f 1 -d : | xargs strip -g 2> /dev/null
+ )
+
+ # If there's any special post-install things to do, do them:
+ if [ -r $CWD/post-install/${PKGNAME}.post-install ]; then
+ RUNSCRIPT=$(mktemp -p $TMP) || exit 1
+ cat $CWD/post-install/${PKGNAME}.post-install \
+ | sed -e "s#usr/lib#usr/lib${LIBDIRSUFFIX}#g" > $RUNSCRIPT
+ . $RUNSCRIPT
+ rm -f $RUNSCRIPT
+ fi
+
+ # If this package requires some doinst.sh material, add it here:
+ if [ -r $CWD/doinst.sh/${PKGNAME} ]; then
+ mkdir -p $PKG/install
+ cat $CWD/doinst.sh/${PKGNAME} \
+ | sed -e "s#usr/lib#usr/lib${LIBDIRSUFFIX}#g" \
+ >> $PKG/install/doinst.sh
+ fi
+
+ # If this is a modular package, build it here:
+ if [ -d $SLACK_X_BUILD_DIR/package-$PKGNAME ]; then
+ cd $PKG
+ process_man_pages
+ process_info_pages
+ no_usr_share_doc
+ mkdir -p $PKG/install
+ if [ -r $CWD/slack-desc/${PKGNAME} ]; then
+ cat $CWD/slack-desc/${PKGNAME} > $PKG/install/slack-desc
+ else
+ touch $PKG/install/slack-desc-missing
+ fi
+ if [ -r $CWD/build/${PKGNAME} ]; then
+ MODBUILD=$(cat $CWD/build/${PKGNAME})
+ else
+ MODBUILD=$BUILD
+ fi
+ if [ -r $CWD/makepkg/${PKGNAME} ]; then
+ BUILD=$MODBUILD . $CWD/makepkg/${PKGNAME}
+ else
+ /sbin/makepkg -l y -c n ${SLACK_X_BUILD_DIR}/${PKGNAME}-${MODULAR_PACKAGE_VERSION}-${PKGARCH}-${MODBUILD}.txz
+ if [ "$UPGRADE_PACKAGES" = "yes" ]; then
+ /sbin/upgradepkg --install-new ${SLACK_X_BUILD_DIR}/${PKGNAME}-${MODULAR_PACKAGE_VERSION}-${PKGARCH}-${MODBUILD}.txz
+ elif [ "$UPGRADE_PACKAGES" = "always" ]; then
+ /sbin/upgradepkg --install-new --reinstall ${SLACK_X_BUILD_DIR}/${PKGNAME}-${MODULAR_PACKAGE_VERSION}-${PKGARCH}-${MODBUILD}.txz
+ fi
+ fi
+ fi
+
+ # Reset $PKG to assume we're building the whole source dir:
+ PKG=${SLACK_X_BUILD_DIR}/package-${x_source_dir}
+
+ done
+
+ # Nothing here? Must have been fully modular. :-)
+ if [ ! -d ${SLACK_X_BUILD_DIR}/package-${x_source_dir}/etc -a \
+ ! -d ${SLACK_X_BUILD_DIR}/package-${x_source_dir}/usr ]; then
+ continue
+ fi
+
+ # Build an "x11-<sourcedir>" package for anything that wasn't built modular:
+ # It's safer to consider these to have binaries in them. ;-)
+ PKGARCH=$ARCH
+ cd $PKG
+ process_man_pages
+ process_info_pages
+ no_usr_share_doc
+ # If there are post-install things to do for the combined package,
+ # we do them here. This could be used for things like making a
+ # VERSION number for a combined package. :-)
+ if [ -r $CWD/post-install/x11-${x_source_dir}.post-install ]; then
+ RUNSCRIPT=$(mktemp -p $TMP) || exit 1
+ cat $CWD/post-install/x11-${x_source_dir}.post-install \
+ | sed -e "s#usr/lib#usr/lib${LIBDIRSUFFIX}#g" > $RUNSCRIPT
+ . $RUNSCRIPT
+ rm -f $RUNSCRIPT
+ fi
+ mkdir -p $PKG/install
+ if [ -r $CWD/slack-desc/x11-${x_source_dir} ]; then
+ cat $CWD/slack-desc/x11-${x_source_dir} > $PKG/install/slack-desc
+ else
+ touch $PKG/install/slack-desc-missing
+ fi
+ if [ -r $CWD/doinst.sh/x11-${x_source_dir} ]; then
+ cat $CWD/doinst.sh/x11-${x_source_dir} \
+ | sed -e "s#usr/lib#usr/lib${LIBDIRSUFFIX}#g" \
+ >> $PKG/install/doinst.sh
+ fi
+ if [ -r $CWD/build/x11-${PKGNAME} ]; then
+ SRCDIRBUILD=$(cat $CWD/build/x11-${PKGNAME})
+ else
+ SRCDIRBUILD=$BUILD
+ fi
+ if [ -r $CWD/makepkg/${PKGNAME} ]; then
+ BUILD=$MODBUILD . $CWD/makepkg/${PKGNAME}
+ else
+ /sbin/makepkg -l y -c n ${SLACK_X_BUILD_DIR}/x11-${x_source_dir}-${VERSION}-${PKGARCH}-${SRCDIRBUILD}.txz
+ if [ "$UPGRADE_PACKAGES" = "yes" ]; then
+ /sbin/upgradepkg --install-new ${SLACK_X_BUILD_DIR}/x11-${x_source_dir}-${VERSION}-${PKGARCH}-${SRCDIRBUILD}.txz
+ elif [ "$UPGRADE_PACKAGES" = "always" ]; then
+ /sbin/upgradepkg --install-new --reinstall ${SLACK_X_BUILD_DIR}/x11-${x_source_dir}-${VERSION}-${PKGARCH}-${SRCDIRBUILD}.txz
+ fi
+ fi
+ )
+ done
+)
+
+exit 0
+
+# I don't think I'll be using the following stuff, since I went for the latest in
+# "individual", rather than a release. That was mostly because version 7.1 depends
+# on a version of Mesa that won't build against kernel headers this new (&etc.).
+
+# If environment variable "REFRESH" is exported, start by refreshing the source tree:
+# export REFRESH yes
+if [ ! -z "$REFRESH" ]; then
+ # Only works once, unless you uncomment above.
+ unset REFRESH
+ ( cd patches
+ lftp -c \
+ "lftp ftp://ftp.x.org:/pub/X11R7.1/patches
+ mirror --delete --dereference .
+ exit"
+ chmod 644 *
+ )
+ ( cd src
+ mkdir -p update everything
+ for dir in app data deprecated doc driver extras font lib proto util xserver ; do
+ # We won't really download "update", as problems ensue. Plus, --dereference is
+ # bringing us updated files when needed, so it's redundant (like "everything").
+ if [ ! -d $dir ]; then
+ mkdir $dir
+ fi
+ ( cd $dir
+ lftp -c \
+ "lftp ftp://ftp.x.org:/pub/X11R7.1/src/$dir
+ mirror -c --delete --dereference --include-glob "*.tar.bz2" .
+ exit"
+ chmod 644 *
+ )
+ done
+ )
+fi
+
diff --git a/patches/source/xcb-proto/xcb-proto.SlackBuild b/patches/source/xcb-proto/xcb-proto.SlackBuild
new file mode 100755
index 00000000..84fbe97b
--- /dev/null
+++ b/patches/source/xcb-proto/xcb-proto.SlackBuild
@@ -0,0 +1,2 @@
+UPGRADE_PACKAGES=no ./x11.SlackBuild xcb xcb-proto
+mv /tmp/x11-build/xcb-proto*txz /tmp
diff --git a/patches/source/xextproto/arch.use.flags b/patches/source/xextproto/arch.use.flags
new file mode 100644
index 00000000..11087c88
--- /dev/null
+++ b/patches/source/xextproto/arch.use.flags
@@ -0,0 +1,9 @@
+if [ "$ARCH" = "i486" ]; then
+ SLKCFLAGS="-O2 -march=i486 -mtune=i686"
+elif [ "$ARCH" = "i586" ]; then
+ SLKCFLAGS="-O2 -march=i586 -mtune=i686"
+elif [ "$ARCH" = "s390" ]; then
+ SLKCFLAGS="-O2"
+elif [ "$ARCH" = "x86_64" ]; then
+ SLKCFLAGS="-O2 -fPIC"
+fi
diff --git a/patches/source/xextproto/build/xextproto b/patches/source/xextproto/build/xextproto
new file mode 100644
index 00000000..1551cb6a
--- /dev/null
+++ b/patches/source/xextproto/build/xextproto
@@ -0,0 +1 @@
+1_slack13.0
diff --git a/patches/source/xextproto/configure/configure b/patches/source/xextproto/configure/configure
new file mode 100644
index 00000000..dcb1109b
--- /dev/null
+++ b/patches/source/xextproto/configure/configure
@@ -0,0 +1,13 @@
+CFLAGS=$SLKCFLAGS \
+CXXFLAGS=$SLKCFLAGS \
+./configure \
+ --prefix=/usr \
+ --libdir=/usr/lib${LIBDIRSUFFIX} \
+ --sysconfdir=/etc \
+ --localstatedir=/var \
+ --infodir=/usr/info \
+ --mandir=/usr/man \
+ --docdir=/usr/doc/${PKGNAME}-${MODULAR_PACKAGE_VERSION} \
+ --with-udev-rules-dir=/lib/udev/rules.d \
+ --disable-static \
+ --build=$ARCH-slackware-linux
diff --git a/patches/source/xextproto/modularize b/patches/source/xextproto/modularize
new file mode 100644
index 00000000..8a28ed93
--- /dev/null
+++ b/patches/source/xextproto/modularize
@@ -0,0 +1,279 @@
+# If a package is listed here, it will be built apart from the
+# usual "grab bag" package that's made from each source directory.
+
+appres
+bdftopcf
+beforelight
+bigreqsproto
+bitmap
+compiz
+compositeproto
+damageproto
+dmxproto
+dri2proto
+dri3proto
+editres
+encodings
+evieext
+fixesproto
+font-adobe-100dpi
+font-adobe-75dpi
+font-adobe-utopia-100dpi
+font-adobe-utopia-75dpi
+font-adobe-utopia-type1
+font-alias
+font-arabic-misc
+font-bh-100dpi
+font-bh-75dpi
+font-bh-lucidatypewriter-100dpi
+font-bh-lucidatypewriter-75dpi
+font-bh-ttf
+font-bh-type1
+font-bitstream-100dpi
+font-bitstream-75dpi
+font-bitstream-speedo
+font-bitstream-type1
+font-cronyx-cyrillic
+font-cursor-misc
+font-daewoo-misc
+font-dec-misc
+font-ibm-type1
+font-isas-misc
+font-jis-misc
+font-micro-misc
+font-misc-cyrillic
+font-misc-ethiopic
+font-misc-meltho
+font-misc-misc
+font-mutt-misc
+font-schumacher-misc
+font-screen-cyrillic
+font-sony-misc
+font-sun-misc
+font-util
+font-winitzki-cyrillic
+font-xfree86-type1
+fontcacheproto
+fontsproto
+fonttosfnt
+fslsfonts
+fstobdf
+gccmakedep
+glamor-egl
+glproto
+iceauth
+ico
+imake
+inputproto
+intel-gpu-tools
+kbproto
+libFS
+libICE
+libSM
+libX11
+libXScrnSaver
+libXau
+libXaw
+libXaw3d
+libXcm
+libXcomposite
+libXcursor
+libXdamage
+libXdmcp
+libXevie
+libXext
+libXfixes
+libXfont
+libXfontcache
+libXft
+libXi
+libXinerama
+libXmu
+libXp
+libXpm
+libXpresent
+libXrandr
+libXrender
+libXres
+libXt
+libXtst
+libXv
+libXvMC
+libXxf86dga
+libXxf86misc
+libXxf86vm
+libdmx
+libfontenc
+libpciaccess
+libpthread-stubs
+libxcb
+libxkbfile
+libxshmfence
+listres
+lndir
+luit
+makedepend
+mkcomposecache
+mkfontdir
+mkfontscale
+oclock
+pixman
+presentproto
+printproto
+randrproto
+recordproto
+rendercheck
+renderproto
+resourceproto
+rgb
+scrnsaverproto
+sessreg
+setxkbmap
+showfont
+smproxy
+transset
+twm
+util-macros
+videoproto
+viewres
+x11perf
+xauth
+xbacklight
+xbiff
+xbitmaps
+xcalc
+xcb-proto
+xcb-util
+xcb-util-cursor
+xcb-util-errors
+xcb-util-image
+xcb-util-keysyms
+xcb-util-renderutil
+xcb-util-wm
+xclipboard
+xclock
+xcm
+xcmiscproto
+xcmsdb
+xcompmgr
+xconsole
+xcursor-themes
+xcursorgen
+xdbedizzy
+xditview
+xdm
+xdpyinfo
+xdriinfo
+xedit
+xev
+xextproto
+xeyes
+xf86-input-acecad
+xf86-input-aiptek
+xf86-input-evdev
+xf86-input-joystick
+xf86-input-keyboard
+xf86-input-mouse
+xf86-input-penmount
+xf86-input-synaptics
+xf86-input-vmmouse
+xf86-input-void
+xf86-input-wacom
+xf86-video-amdgpu
+xf86-video-apm
+xf86-video-ark
+xf86-video-ast
+xf86-video-ati
+xf86-video-chips
+xf86-video-cirrus
+xf86-video-dummy
+xf86-video-geode
+xf86-video-glint
+xf86-video-i128
+xf86-video-i740
+xf86-video-intel
+xf86-video-mach64
+xf86-video-mga
+xf86-video-modesetting
+xf86-video-neomagic
+xf86-video-nouveau
+xf86-video-nv
+xf86-video-omap
+xf86-video-openchrome
+xf86-video-qxl
+xf86-video-r128
+xf86-video-rendition
+xf86-video-s3
+xf86-video-s3virge
+xf86-video-savage
+xf86-video-siliconmotion
+xf86-video-sis
+xf86-video-sisusb
+xf86-video-tdfx
+xf86-video-tga
+xf86-video-trident
+xf86-video-tseng
+xf86-video-v4l
+xf86-video-vesa
+xf86-video-vmware
+xf86-video-voodoo
+xf86-video-xgi
+xf86-video-xgixp
+xf86bigfontproto
+xf86dga
+xf86dgaproto
+xf86driproto
+xf86miscproto
+xf86vidmodeproto
+xfd
+xfontsel
+xfs
+xfsinfo
+xgamma
+xgc
+xhost
+xineramaproto
+xinit
+xinput
+xkbcomp
+xkbevd
+xkbprint
+xkbutils
+xkeyboard-config
+xkill
+xload
+xlogo
+xlsatoms
+xlsclients
+xlsfonts
+xmag
+xman
+xmessage
+xmh
+xmodmap
+xmore
+xorg-cf-files
+xorg-docs
+xorg-server
+xorg-server-xephyr
+xorg-server-xnest
+xorg-server-xvfb
+xorg-sgml-doctools
+xpr
+xprop
+xproto
+xpyb
+xrandr
+xrdb
+xrefresh
+xscope
+xset
+xsetroot
+xsm
+xstdcmap
+xtrans
+xvidtune
+xvinfo
+xwd
+xwininfo
+xwud
diff --git a/patches/source/xextproto/noarch b/patches/source/xextproto/noarch
new file mode 100644
index 00000000..8785ee52
--- /dev/null
+++ b/patches/source/xextproto/noarch
@@ -0,0 +1,75 @@
+# List packages with an $ARCH of "noarch" (i.e. packages
+# that contain no binaries) here:
+bigreqsproto
+compositeproto
+damageproto
+dejavu-ttf
+dmxproto
+encodings
+evieext
+font-adobe-100dpi
+font-adobe-75dpi
+font-adobe-utopia-100dpi
+font-adobe-utopia-75dpi
+font-adobe-utopia-type1
+font-alias
+font-arabic-misc
+font-bh-100dpi
+font-bh-75dpi
+font-bh-lucidatypewriter-100dpi
+font-bh-lucidatypewriter-75dpi
+font-bh-ttf
+font-bh-type1
+font-bitstream-100dpi
+font-bitstream-75dpi
+font-bitstream-speedo
+font-bitstream-type1
+font-cronyx-cyrillic
+font-cursor-misc
+font-daewoo-misc
+font-dec-misc
+font-ibm-type1
+font-isas-misc
+font-jis-misc
+font-micro-misc
+font-misc-cyrillic
+font-misc-ethiopic
+font-misc-meltho
+font-misc-misc
+font-mutt-misc
+font-schumacher-misc
+font-screen-cyrillic
+font-sony-misc
+font-sun-misc
+font-winitzki-cyrillic
+font-xfree86-type1
+fontcacheproto
+fontsproto
+gccmakedep
+glproto
+inputproto
+kbproto
+libpthread-stubs
+mkfontdir
+printproto
+randrproto
+recordproto
+renderproto
+resourceproto
+scrnsaverproto
+ttf-indic-fonts
+util-macros
+videoproto
+x11-skel
+xcmiscproto
+xcursor-themes
+xf86bigfontproto
+xf86dgaproto
+xf86driproto
+xf86miscproto
+xf86vidmodeproto
+xineramaproto
+xkeyboard-config
+xorg-docs
+xproto
+xtrans
diff --git a/patches/source/xextproto/package-blacklist b/patches/source/xextproto/package-blacklist
new file mode 100644
index 00000000..603b8c31
--- /dev/null
+++ b/patches/source/xextproto/package-blacklist
@@ -0,0 +1,44 @@
+# Enter packages to skip (perhaps because they aren't used on
+# this platform) below. Just the package name -- no version
+# number is needed.
+
+# ARM only packages:
+# They also say in the README for this one that it is not yet ready:
+xf86-video-omap
+
+# MacOS related packages:
+applewmproto
+windowswmproto
+libAppleWM
+libWindowsWM
+
+# Sun video cards:
+xf86-video-sunbw2
+xf86-video-suncg14
+xf86-video-suncg3
+xf86-video-suncg6
+xf86-video-sunffb
+xf86-video-sunleo
+xf86-video-suntcx
+
+# Obsolete packages:
+liboldX
+xf86-video-amd
+xf86-video-via
+xkbdata
+xphelloworld
+xrx
+xf86-video-modesetting
+
+# Not applicable to us
+grandr
+constype
+
+# CAREFUL NOT TO "SHIP" THE STUFF BELOW IN THE MAIN X PACKAGES DIR!
+
+# This is probably obsolete, and kills "X -configure" too
+xf86-video-nsc
+
+# We don't want this one, as it causes failure of X with no xorg.conf
+xf86-video-fbdev
+
diff --git a/patches/source/xextproto/slack-desc/xextproto b/patches/source/xextproto/slack-desc/xextproto
new file mode 100644
index 00000000..6ea870d0
--- /dev/null
+++ b/patches/source/xextproto/slack-desc/xextproto
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|'
+# on the right side marks the last column you can put a character in. You must
+# make exactly 11 lines for the formatting to be correct. It's also
+# customary to leave one space after the ':'.
+
+ |-----handy-ruler------------------------------------------------------|
+xextproto: xextproto (C prototypes for X Protocol Extensions)
+xextproto:
+xextproto: xextproto is part of X11.
+xextproto:
+xextproto: For more information about the X.Org Foundation (the providers of the
+xextproto: X.Org implementation of the X Window System), see their website:
+xextproto:
+xextproto: http://www.x.org
+xextproto:
+xextproto:
+xextproto:
diff --git a/patches/source/xextproto/x11.SlackBuild b/patches/source/xextproto/x11.SlackBuild
new file mode 100755
index 00000000..c3887dff
--- /dev/null
+++ b/patches/source/xextproto/x11.SlackBuild
@@ -0,0 +1,381 @@
+#!/bin/sh
+# Copyright 2007-2014 Patrick J. Volkerding, Sebeka, MN, USA
+# All rights reserved.
+#
+# Redistribution and use of this script, with or without modification, is
+# permitted provided that the following conditions are met:
+#
+# 1. Redistributions of this script must retain the above copyright
+# notice, this list of conditions and the following disclaimer.
+#
+# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED
+# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
+# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
+# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+# To build only a single package group, specify it as $1, like:
+# ./x11.SlackBuild lib
+# To build only a single package, specify both the source directory
+# and the name of the package, like:
+# ./x11.SlackBuild lib libX11
+
+# Upgrade packages as they are built.
+# Default is to upgrade new packages (UPGRADE_PACKAGES=yes).
+# To install ALL newly built packages (even if they are already installed),
+# use UPGRADE_PACKAGES=always
+# To not upgrade, pass UPGRADE_PACKAGES=no
+UPGRADE_PACKAGES=${UPGRADE_PACKAGES:-yes}
+
+pkgbase() {
+ PKGEXT=$(echo $1 | rev | cut -f 1 -d . | rev)
+ case $PKGEXT in
+ 'gz' )
+ PKGRETURN=$(basename $1 .tar.gz)
+ ;;
+ 'bz2' )
+ PKGRETURN=$(basename $1 .tar.bz2)
+ ;;
+ 'lzma' )
+ PKGRETURN=$(basename $1 .tar.lzma)
+ ;;
+ 'xz' )
+ PKGRETURN=$(basename $1 .tar.xz)
+ ;;
+ *)
+ PKGRETURN=$(basename $1)
+ ;;
+ esac
+ echo $PKGRETURN
+}
+
+# Set initial variables:
+CWD=$(pwd)
+TMP=${TMP:-/tmp}
+
+# Automatically determine the architecture we're building on:
+if [ -z "$ARCH" ]; then
+ case "$( uname -m )" in
+ i?86) export ARCH=i486 ;;
+ arm*) export ARCH=arm ;;
+ # Unless $ARCH is already set, use uname -m for all other archs:
+ *) export ARCH=$( uname -m ) ;;
+ esac
+fi
+
+# A lot of this stuff just controls the package names this time:
+VERSION=${VERSION:-7.5}
+BUILD=${BUILD:-1}
+PKGARCH=$ARCH
+NUMJOBS=${NUMJOBS:-" -j7 "}
+
+if [ "$ARCH" = "x86_64" ]; then
+ LIBDIRSUFFIX="64"
+else
+ LIBDIRSUFFIX=""
+fi
+
+# Set up a few useful functions:
+
+fix_perms() {
+ chown -R root:root .
+ find . \
+ \( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \
+ -exec chmod 755 {} \; -o \
+ \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \
+ -exec chmod 644 {} \;
+}
+
+process_man_pages() {
+ # Compress and if needed symlink the man pages:
+ if [ -d usr/man ]; then
+ ( cd usr/man
+ for manpagedir in $(find . -type d -name "man*") ; do
+ ( cd $manpagedir
+ for eachpage in $( find . -type l -maxdepth 1) ; do
+ ln -s $( readlink $eachpage ).gz $eachpage.gz
+ rm $eachpage
+ done
+ gzip -9 *.*
+ )
+ done
+ )
+ fi
+}
+
+process_info_pages() {
+ # Compress info pages and purge "dir" file from the package:
+ if [ -d usr/info ]; then
+ ( cd usr/info
+ rm -f dir
+ gzip -9 *
+ )
+ fi
+}
+
+no_usr_share_doc() {
+ # If there are docs, move them:
+ if [ -d usr/share/doc ]; then
+ mkdir -p usr/doc
+ mv usr/share/doc/* usr/doc
+ rmdir usr/share/doc
+ fi
+}
+
+# Set the compile options for the $ARCH being used:
+. $CWD/arch.use.flags
+
+SLACK_X_BUILD_DIR=$TMP/x11-build
+mkdir -p $SLACK_X_BUILD_DIR
+
+# Better have some binaries installed first, as this may not be
+# in the "magic order". I built mine by hand through trial-and-error
+# before getting this script to work. It wasn't that hard... I think. ;-)
+( cd src
+ for x_source_dir in proto data util xcb lib app doc xserver driver font ; do
+ # See if $1 is a source directory like "lib":
+ if [ ! -z "$1" ]; then
+ if [ ! "$1" = "${x_source_dir}" ]; then
+ continue
+ fi
+ fi
+ PKG=${SLACK_X_BUILD_DIR}/package-${x_source_dir}
+ rm -rf $PKG
+ mkdir -p $PKG
+ ( cd $x_source_dir
+ for x_pkg in *.tar.?z* ; do
+ # Reset $PKGARCH to its initial value:
+ PKGARCH=$ARCH
+ PKGNAME=$(echo $x_pkg | rev | cut -f 2- -d - | rev)
+ # Perhaps $PKGARCH should be something different:
+ if grep -wq "^$PKGNAME" ${CWD}/noarch ; then
+ PKGARCH=noarch
+ fi
+ if grep -wq "^$PKGNAME" ${CWD}/package-blacklist ; then
+ continue
+ fi
+ cd $SLACK_X_BUILD_DIR
+ # If $2 is set, we only want to build one package:
+ if [ ! -z "$2" ]; then
+ if [ "$2" = "$PKGNAME" ]; then
+ # Set $PKG to a private dir for the modular package build:
+ PKG=$SLACK_X_BUILD_DIR/package-$PKGNAME
+ rm -rf $PKG
+ mkdir -p $PKG
+ else
+ continue
+ fi
+ else
+ echo
+ echo "Building from source ${x_pkg}"
+ echo
+ fi
+ if grep -wq "^$PKGNAME" ${CWD}/modularize ; then
+ # Set $PKG to a private dir for the modular package build:
+ PKG=$SLACK_X_BUILD_DIR/package-$PKGNAME
+ rm -rf $PKG
+ mkdir -p $PKG
+ fi
+
+ # Let's figure out the version number on the modular package:
+ MODULAR_PACKAGE_VERSION=$(echo $x_pkg | rev | cut -f 3- -d . | cut -f 1 -d - | rev)
+
+ rm -rf $(pkgbase $x_pkg)
+ tar xf $CWD/src/${x_source_dir}/${x_pkg} || exit 1
+ cd $(pkgbase $x_pkg) || exit 1
+
+ fix_perms
+
+ # If any patches are needed, call this script to apply them:
+ if [ -r $CWD/patch/${PKGNAME}.patch ]; then
+ . $CWD/patch/${PKGNAME}.patch
+ fi
+
+ # I heard somewhere that -O2 breaks some chipset or another. If you encounter
+ # problems, please contact volkerdi@slackware.com. Thanks! :-)
+
+ # ./configure, using custom configure script if needed:
+ if [ -r $CWD/configure/${PKGNAME} ]; then
+ . $CWD/configure/${PKGNAME}
+ else
+ # This is the default configure script:
+ . $CWD/configure/configure
+ fi
+
+ if ! make $NUMJOBS ; then
+ touch ${SLACK_X_BUILD_DIR}/${PKGNAME}.failed
+ continue
+ fi
+
+ make install DESTDIR=$PKG
+
+ mkdir -p $PKG/usr/doc/${PKGNAME}-${MODULAR_PACKAGE_VERSION}
+ cp -a \
+ AUTHORS* COPYING* INSTALL* README* NEWS* TODO* \
+ $PKG/usr/doc/${PKGNAME}-${MODULAR_PACKAGE_VERSION}
+
+ # If there's a ChangeLog, installing at least part of the recent history
+ # is useful, but don't let it get totally out of control:
+ if [ -r ChangeLog ]; then
+ DOCSDIR=$(echo $PKG/usr/doc/${PKGNAME}-$MODULAR_PACKAGE_VERSION)
+ cat ChangeLog | head -n 1000 > $DOCSDIR/ChangeLog
+ touch -r ChangeLog $DOCSDIR/ChangeLog
+ fi
+
+ # Get rid of zero-length junk files:
+ find $PKG/usr/doc/${PKGNAME}-$MODULAR_PACKAGE_VERSION -type f -size 0 -exec rm --verbose "{}" \;
+ rmdir --verbose $PKG/usr/doc/${PKGNAME}-$MODULAR_PACKAGE_VERSION 2> /dev/null
+
+ # Strip binaries:
+ ( cd $PKG
+ find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
+ find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
+ find . | xargs file | grep "current ar archive" | grep ELF | cut -f 1 -d : | xargs strip -g 2> /dev/null
+ )
+
+ # If there's any special post-install things to do, do them:
+ if [ -r $CWD/post-install/${PKGNAME}.post-install ]; then
+ RUNSCRIPT=$(mktemp -p $TMP) || exit 1
+ cat $CWD/post-install/${PKGNAME}.post-install \
+ | sed -e "s#usr/lib#usr/lib${LIBDIRSUFFIX}#g" > $RUNSCRIPT
+ . $RUNSCRIPT
+ rm -f $RUNSCRIPT
+ fi
+
+ # If this package requires some doinst.sh material, add it here:
+ if [ -r $CWD/doinst.sh/${PKGNAME} ]; then
+ mkdir -p $PKG/install
+ cat $CWD/doinst.sh/${PKGNAME} \
+ | sed -e "s#usr/lib#usr/lib${LIBDIRSUFFIX}#g" \
+ >> $PKG/install/doinst.sh
+ fi
+
+ # If this is a modular package, build it here:
+ if [ -d $SLACK_X_BUILD_DIR/package-$PKGNAME ]; then
+ cd $PKG
+ process_man_pages
+ process_info_pages
+ no_usr_share_doc
+ mkdir -p $PKG/install
+ if [ -r $CWD/slack-desc/${PKGNAME} ]; then
+ cat $CWD/slack-desc/${PKGNAME} > $PKG/install/slack-desc
+ else
+ touch $PKG/install/slack-desc-missing
+ fi
+ if [ -r $CWD/build/${PKGNAME} ]; then
+ MODBUILD=$(cat $CWD/build/${PKGNAME})
+ else
+ MODBUILD=$BUILD
+ fi
+ if [ -r $CWD/makepkg/${PKGNAME} ]; then
+ BUILD=$MODBUILD . $CWD/makepkg/${PKGNAME}
+ else
+ /sbin/makepkg -l y -c n ${SLACK_X_BUILD_DIR}/${PKGNAME}-${MODULAR_PACKAGE_VERSION}-${PKGARCH}-${MODBUILD}.txz
+ if [ "$UPGRADE_PACKAGES" = "yes" ]; then
+ /sbin/upgradepkg --install-new ${SLACK_X_BUILD_DIR}/${PKGNAME}-${MODULAR_PACKAGE_VERSION}-${PKGARCH}-${MODBUILD}.txz
+ elif [ "$UPGRADE_PACKAGES" = "always" ]; then
+ /sbin/upgradepkg --install-new --reinstall ${SLACK_X_BUILD_DIR}/${PKGNAME}-${MODULAR_PACKAGE_VERSION}-${PKGARCH}-${MODBUILD}.txz
+ fi
+ fi
+ fi
+
+ # Reset $PKG to assume we're building the whole source dir:
+ PKG=${SLACK_X_BUILD_DIR}/package-${x_source_dir}
+
+ done
+
+ # Nothing here? Must have been fully modular. :-)
+ if [ ! -d ${SLACK_X_BUILD_DIR}/package-${x_source_dir}/etc -a \
+ ! -d ${SLACK_X_BUILD_DIR}/package-${x_source_dir}/usr ]; then
+ continue
+ fi
+
+ # Build an "x11-<sourcedir>" package for anything that wasn't built modular:
+ # It's safer to consider these to have binaries in them. ;-)
+ PKGARCH=$ARCH
+ cd $PKG
+ process_man_pages
+ process_info_pages
+ no_usr_share_doc
+ # If there are post-install things to do for the combined package,
+ # we do them here. This could be used for things like making a
+ # VERSION number for a combined package. :-)
+ if [ -r $CWD/post-install/x11-${x_source_dir}.post-install ]; then
+ RUNSCRIPT=$(mktemp -p $TMP) || exit 1
+ cat $CWD/post-install/x11-${x_source_dir}.post-install \
+ | sed -e "s#usr/lib#usr/lib${LIBDIRSUFFIX}#g" > $RUNSCRIPT
+ . $RUNSCRIPT
+ rm -f $RUNSCRIPT
+ fi
+ mkdir -p $PKG/install
+ if [ -r $CWD/slack-desc/x11-${x_source_dir} ]; then
+ cat $CWD/slack-desc/x11-${x_source_dir} > $PKG/install/slack-desc
+ else
+ touch $PKG/install/slack-desc-missing
+ fi
+ if [ -r $CWD/doinst.sh/x11-${x_source_dir} ]; then
+ cat $CWD/doinst.sh/x11-${x_source_dir} \
+ | sed -e "s#usr/lib#usr/lib${LIBDIRSUFFIX}#g" \
+ >> $PKG/install/doinst.sh
+ fi
+ if [ -r $CWD/build/x11-${PKGNAME} ]; then
+ SRCDIRBUILD=$(cat $CWD/build/x11-${PKGNAME})
+ else
+ SRCDIRBUILD=$BUILD
+ fi
+ if [ -r $CWD/makepkg/${PKGNAME} ]; then
+ BUILD=$MODBUILD . $CWD/makepkg/${PKGNAME}
+ else
+ /sbin/makepkg -l y -c n ${SLACK_X_BUILD_DIR}/x11-${x_source_dir}-${VERSION}-${PKGARCH}-${SRCDIRBUILD}.txz
+ if [ "$UPGRADE_PACKAGES" = "yes" ]; then
+ /sbin/upgradepkg --install-new ${SLACK_X_BUILD_DIR}/x11-${x_source_dir}-${VERSION}-${PKGARCH}-${SRCDIRBUILD}.txz
+ elif [ "$UPGRADE_PACKAGES" = "always" ]; then
+ /sbin/upgradepkg --install-new --reinstall ${SLACK_X_BUILD_DIR}/x11-${x_source_dir}-${VERSION}-${PKGARCH}-${SRCDIRBUILD}.txz
+ fi
+ fi
+ )
+ done
+)
+
+exit 0
+
+# I don't think I'll be using the following stuff, since I went for the latest in
+# "individual", rather than a release. That was mostly because version 7.1 depends
+# on a version of Mesa that won't build against kernel headers this new (&etc.).
+
+# If environment variable "REFRESH" is exported, start by refreshing the source tree:
+# export REFRESH yes
+if [ ! -z "$REFRESH" ]; then
+ # Only works once, unless you uncomment above.
+ unset REFRESH
+ ( cd patches
+ lftp -c \
+ "lftp ftp://ftp.x.org:/pub/X11R7.1/patches
+ mirror --delete --dereference .
+ exit"
+ chmod 644 *
+ )
+ ( cd src
+ mkdir -p update everything
+ for dir in app data deprecated doc driver extras font lib proto util xserver ; do
+ # We won't really download "update", as problems ensue. Plus, --dereference is
+ # bringing us updated files when needed, so it's redundant (like "everything").
+ if [ ! -d $dir ]; then
+ mkdir $dir
+ fi
+ ( cd $dir
+ lftp -c \
+ "lftp ftp://ftp.x.org:/pub/X11R7.1/src/$dir
+ mirror -c --delete --dereference --include-glob "*.tar.bz2" .
+ exit"
+ chmod 644 *
+ )
+ done
+ )
+fi
+
diff --git a/patches/source/xextproto/xextproto.SlackBuild b/patches/source/xextproto/xextproto.SlackBuild
new file mode 100755
index 00000000..a61c5c38
--- /dev/null
+++ b/patches/source/xextproto/xextproto.SlackBuild
@@ -0,0 +1,2 @@
+UPGRADE_PACKAGES=no ./x11.SlackBuild proto xextproto
+mv /tmp/x11-build/xextproto*txz /tmp
diff --git a/patches/source/xorg-server/arch.use.flags b/patches/source/xorg-server/arch.use.flags
new file mode 100644
index 00000000..f28a6cca
--- /dev/null
+++ b/patches/source/xorg-server/arch.use.flags
@@ -0,0 +1,7 @@
+if [ "$ARCH" = "i486" ]; then
+ SLKCFLAGS="-O2 -march=i486 -mtune=i686"
+elif [ "$ARCH" = "s390" ]; then
+ SLKCFLAGS="-O2"
+elif [ "$ARCH" = "x86_64" ]; then
+ SLKCFLAGS="-O2 -fPIC"
+fi
diff --git a/patches/source/xorg-server/build/xorg-server b/patches/source/xorg-server/build/xorg-server
new file mode 100644
index 00000000..cd975050
--- /dev/null
+++ b/patches/source/xorg-server/build/xorg-server
@@ -0,0 +1 @@
+4_slack13.0
diff --git a/patches/source/xorg-server/configure/xorg-server b/patches/source/xorg-server/configure/xorg-server
new file mode 100644
index 00000000..b6660025
--- /dev/null
+++ b/patches/source/xorg-server/configure/xorg-server
@@ -0,0 +1,42 @@
+# Servers to build:
+BUILD_SERVERS="--enable-xorg \
+ --enable-xvfb \
+ --enable-xnest \
+ --enable-kdrive \
+ --enable-xephyr \
+ --enable-xsdl \
+ --enable-xfbdev"
+
+MESA_VERSION=${MESA_VERSION:-7.5}
+
+# Default font paths to be used by the X server
+DEF_FONTPATH="/usr/share/fonts/local,/usr/share/fonts/TTF,/usr/share/fonts/OTF,/usr/share/fonts/Type1,/usr/share/fonts/misc,/usr/share/fonts/CID,/usr/share/fonts/75dpi/:unscaled,/usr/share/fonts/100dpi/:unscaled,/usr/share/fonts/75dpi,/usr/share/fonts/100dpi,/usr/share/fonts/cyrillic"
+
+CFLAGS="$SLKCFLAGS" \
+./configure \
+ --prefix=/usr \
+ --libdir=/usr/lib${LIBDIRSUFFIX} \
+ --sysconfdir=/etc \
+ --localstatedir=/var \
+ --infodir=/usr/info \
+ --mandir=/usr/man \
+ --disable-static \
+ --with-pic \
+ --with-int10=x86emu \
+ --with-default-font-path="${DEF_FONTPATH}" \
+ --with-module-dir=/usr/lib${LIBDIRSUFFIX}/xorg/modules \
+ --with-dri-driver-path=/usr/lib${LIBDIRSUFFIX}/xorg/modules/dri \
+ --with-os-name="Slackware 13.0" \
+ --with-os-vendor="Slackware Linux Project" \
+ --with-mesa-source=/tmp/Mesa-${MESA_VERSION} \
+ --with-xkb-path=/etc/X11/xkb \
+ --with-xkb-output=/var/lib/xkb \
+ $BUILD_SERVERS \
+ --build=$ARCH-slackware-linux
+
+if [ "$ARCH" = "x86_64" ]; then
+ # To prevent the error "No rule to make target `-ldl'"
+ sed -i -e 's#-ldl##' hw/xfree86/Makefile
+ sed -i -e 's#-lm#-lm -ldl#' hw/xfree86/Makefile
+fi
+
diff --git a/patches/source/xorg-server/makepkg/xorg-server b/patches/source/xorg-server/makepkg/xorg-server
new file mode 100644
index 00000000..67b93c97
--- /dev/null
+++ b/patches/source/xorg-server/makepkg/xorg-server
@@ -0,0 +1,35 @@
+
+rm -r ${SLACK_X_BUILD_DIR}/package-xorg-server-xnest
+mkdir -p ${SLACK_X_BUILD_DIR}/package-xorg-server-xnest/usr/bin
+mv $PKG/usr/bin/Xnest ${SLACK_X_BUILD_DIR}/package-xorg-server-xnest/usr/bin
+mkdir -p ${SLACK_X_BUILD_DIR}/package-xorg-server-xnest/usr/man/man1
+mv $PKG/usr/man/man1/Xnest.1.gz ${SLACK_X_BUILD_DIR}/package-xorg-server-xnest/usr/man/man1
+mkdir -p ${SLACK_X_BUILD_DIR}/package-xorg-server-xnest/install
+cat $CWD/slack-desc/xorg-server-xnest > ${SLACK_X_BUILD_DIR}/package-xorg-server-xnest/install/slack-desc
+cd ${SLACK_X_BUILD_DIR}/package-xorg-server-xnest
+/sbin/makepkg -l y -c n ${SLACK_X_BUILD_DIR}/xorg-server-xnest-${MODULAR_PACKAGE_VERSION}-$ARCH-$BUILD.txz
+
+rm -r ${SLACK_X_BUILD_DIR}/package-xorg-server-xvfb
+mkdir -p ${SLACK_X_BUILD_DIR}/package-xorg-server-xvfb/usr/bin
+mv $PKG/usr/bin/Xvfb ${SLACK_X_BUILD_DIR}/package-xorg-server-xvfb/usr/bin
+mkdir -p ${SLACK_X_BUILD_DIR}/package-xorg-server-xvfb/usr/man/man1
+mv $PKG/usr/man/man1/Xvfb.1.gz ${SLACK_X_BUILD_DIR}/package-xorg-server-xvfb/usr/man/man1
+mkdir -p ${SLACK_X_BUILD_DIR}/package-xorg-server-xvfb/install
+cat $CWD/slack-desc/xorg-server-xvfb > ${SLACK_X_BUILD_DIR}/package-xorg-server-xvfb/install/slack-desc
+cd ${SLACK_X_BUILD_DIR}/package-xorg-server-xvfb
+/sbin/makepkg -l y -c n ${SLACK_X_BUILD_DIR}/xorg-server-xvfb-${MODULAR_PACKAGE_VERSION}-$ARCH-$BUILD.txz
+
+rm -r ${SLACK_X_BUILD_DIR}/package-xorg-server-xephyr
+mkdir -p ${SLACK_X_BUILD_DIR}/package-xorg-server-xephyr/usr/bin
+mv $PKG/usr/bin/Xephyr ${SLACK_X_BUILD_DIR}/package-xorg-server-xephyr/usr/bin
+mkdir -p ${SLACK_X_BUILD_DIR}/package-xorg-server-xephyr/usr/man/man1
+mv $PKG/usr/man/man1/Xephyr.1.gz ${SLACK_X_BUILD_DIR}/package-xorg-server-xephyr/usr/man/man1
+mkdir -p ${SLACK_X_BUILD_DIR}/package-xorg-server-xephyr/install
+cat $CWD/slack-desc/xorg-server-xephyr > ${SLACK_X_BUILD_DIR}/package-xorg-server-xephyr/install/slack-desc
+cd ${SLACK_X_BUILD_DIR}/package-xorg-server-xephyr
+/sbin/makepkg -l y -c n ${SLACK_X_BUILD_DIR}/xorg-server-xephyr-${MODULAR_PACKAGE_VERSION}-$ARCH-$BUILD.txz
+
+# Build the main xorg-server package:
+cd $PKG
+/sbin/makepkg -l y -c n ${SLACK_X_BUILD_DIR}/xorg-server-${MODULAR_PACKAGE_VERSION}-$ARCH-$BUILD.txz
+
diff --git a/patches/source/xorg-server/modularize b/patches/source/xorg-server/modularize
new file mode 100644
index 00000000..d6eb2f68
--- /dev/null
+++ b/patches/source/xorg-server/modularize
@@ -0,0 +1,265 @@
+# If a package is listed here, it will be built apart from the
+# usual "grab bag" package that's made from each source directory.
+
+appres
+bdftopcf
+beforelight
+bigreqsproto
+bitmap
+compiz
+compositeproto
+damageproto
+dmxproto
+dri2proto
+editres
+encodings
+evieext
+fixesproto
+font-adobe-100dpi
+font-adobe-75dpi
+font-adobe-utopia-100dpi
+font-adobe-utopia-75dpi
+font-adobe-utopia-type1
+font-alias
+font-arabic-misc
+font-bh-100dpi
+font-bh-75dpi
+font-bh-lucidatypewriter-100dpi
+font-bh-lucidatypewriter-75dpi
+font-bh-ttf
+font-bh-type1
+font-bitstream-100dpi
+font-bitstream-75dpi
+font-bitstream-speedo
+font-bitstream-type1
+font-cronyx-cyrillic
+font-cursor-misc
+font-daewoo-misc
+font-dec-misc
+font-ibm-type1
+font-isas-misc
+font-jis-misc
+font-micro-misc
+font-misc-cyrillic
+font-misc-ethiopic
+font-misc-meltho
+font-misc-misc
+font-mutt-misc
+font-schumacher-misc
+font-screen-cyrillic
+font-sony-misc
+font-sun-misc
+font-util
+font-winitzki-cyrillic
+font-xfree86-type1
+fontcacheproto
+fontsproto
+fonttosfnt
+fslsfonts
+fstobdf
+gccmakedep
+glproto
+iceauth
+ico
+imake
+inputproto
+intel-gpu-tools
+kbproto
+libFS
+libICE
+libSM
+libX11
+libXScrnSaver
+libXau
+libXaw
+libXaw3d
+libXcm
+libXcomposite
+libXcursor
+libXdamage
+libXdmcp
+libXevie
+libXext
+libXfixes
+libXfont
+libXfontcache
+libXft
+libXi
+libXinerama
+libXmu
+libXp
+libXpm
+libXrandr
+libXrender
+libXres
+libXt
+libXtst
+libXv
+libXvMC
+libXxf86dga
+libXxf86misc
+libXxf86vm
+libdmx
+libfontenc
+libpciaccess
+libpthread-stubs
+libxcb
+libxkbfile
+listres
+lndir
+luit
+makedepend
+mkcomposecache
+mkfontdir
+mkfontscale
+oclock
+pixman
+printproto
+randrproto
+recordproto
+rendercheck
+renderproto
+resourceproto
+rgb
+scrnsaverproto
+sessreg
+setxkbmap
+showfont
+smproxy
+twm
+util-macros
+videoproto
+viewres
+x11perf
+xauth
+xbacklight
+xbiff
+xbitmaps
+xcalc
+xcb-proto
+xcb-util
+xcb-util-image
+xcb-util-keysyms
+xcb-util-renderutil
+xcb-util-wm
+xclipboard
+xclock
+xcmiscproto
+xcmsdb
+xcompmgr
+xconsole
+xcursor-themes
+xcursorgen
+xdbedizzy
+xditview
+xdm
+xdpyinfo
+xdriinfo
+xedit
+xev
+xextproto
+xeyes
+xf86-input-acecad
+xf86-input-aiptek
+xf86-input-evdev
+xf86-input-joystick
+xf86-input-penmount
+xf86-input-synaptics
+xf86-input-vmmouse
+xf86-input-void
+xf86-input-wacom
+xf86-video-apm
+xf86-video-ark
+xf86-video-ast
+xf86-video-ati
+xf86-video-chips
+xf86-video-cirrus
+xf86-video-dummy
+xf86-video-geode
+xf86-video-glint
+xf86-video-i128
+xf86-video-i740
+xf86-video-intel
+xf86-video-mach64
+xf86-video-mga
+xf86-video-modesetting
+xf86-video-neomagic
+xf86-video-nouveau
+xf86-video-nv
+xf86-video-openchrome
+xf86-video-qxl
+xf86-video-r128
+xf86-video-rendition
+xf86-video-s3
+xf86-video-s3virge
+xf86-video-savage
+xf86-video-siliconmotion
+xf86-video-sis
+xf86-video-sisusb
+xf86-video-tdfx
+xf86-video-tga
+xf86-video-trident
+xf86-video-tseng
+xf86-video-v4l
+xf86-video-vesa
+xf86-video-vmware
+xf86-video-voodoo
+xf86-video-xgi
+xf86bigfontproto
+xf86dga
+xf86dgaproto
+xf86driproto
+xf86miscproto
+xf86vidmodeproto
+xfd
+xfontsel
+xfs
+xfsinfo
+xgamma
+xgc
+xhost
+xineramaproto
+xinit
+xinput
+xkbcomp
+xkbevd
+xkbprint
+xkbutils
+xkeyboard-config
+xkill
+xload
+xlogo
+xlsatoms
+xlsclients
+xlsfonts
+xmag
+xman
+xmessage
+xmh
+xmodmap
+xmore
+xorg-cf-files
+xorg-docs
+xorg-server
+xorg-server-xephyr
+xorg-server-xnest
+xorg-server-xvfb
+xorg-sgml-doctools
+xpr
+xprop
+xproto
+xpyb
+xrandr
+xrdb
+xrefresh
+xscope
+xset
+xsetroot
+xsm
+xstdcmap
+xtrans
+xvidtune
+xvinfo
+xwd
+xwininfo
+xwud
diff --git a/patches/source/xorg-server/noarch b/patches/source/xorg-server/noarch
new file mode 100644
index 00000000..480ffc26
--- /dev/null
+++ b/patches/source/xorg-server/noarch
@@ -0,0 +1,76 @@
+# List packages with an $ARCH of "noarch" (i.e. packages
+# that contain no binaries) here:
+bigreqsproto
+compositeproto
+damageproto
+dejavu-ttf
+dmxproto
+encodings
+evieext
+font-adobe-100dpi
+font-adobe-75dpi
+font-adobe-utopia-100dpi
+font-adobe-utopia-75dpi
+font-adobe-utopia-type1
+font-alias
+font-arabic-misc
+font-bh-100dpi
+font-bh-75dpi
+font-bh-lucidatypewriter-100dpi
+font-bh-lucidatypewriter-75dpi
+font-bh-ttf
+font-bh-type1
+font-bitstream-100dpi
+font-bitstream-75dpi
+font-bitstream-speedo
+font-bitstream-type1
+font-cronyx-cyrillic
+font-cursor-misc
+font-daewoo-misc
+font-dec-misc
+font-ibm-type1
+font-isas-misc
+font-jis-misc
+font-micro-misc
+font-misc-cyrillic
+font-misc-ethiopic
+font-misc-meltho
+font-misc-misc
+font-mutt-misc
+font-schumacher-misc
+font-screen-cyrillic
+font-sony-misc
+font-sun-misc
+font-winitzki-cyrillic
+font-xfree86-type1
+fontcacheproto
+fontsproto
+gccmakedep
+glproto
+inputproto
+kbproto
+libpthread-stubs
+mkfontdir
+printproto
+randrproto
+recordproto
+renderproto
+resourceproto
+scrnsaverproto
+ttf-indic-fonts
+util-macros
+videoproto
+x11-skel
+xcmiscproto
+xcursor-themes
+xf86bigfontproto
+xf86dgaproto
+xf86driproto
+xf86miscproto
+xf86vidmodeproto
+xineramaproto
+xkeyboard-config
+xorg-cf-files
+xorg-docs
+xproto
+xtrans
diff --git a/patches/source/xorg-server/package-blacklist b/patches/source/xorg-server/package-blacklist
new file mode 100644
index 00000000..37762499
--- /dev/null
+++ b/patches/source/xorg-server/package-blacklist
@@ -0,0 +1,39 @@
+# Enter packages to skip (perhaps because they aren't used on
+# this platform) below. Just the package name -- no version
+# number is needed.
+
+# MacOS related packages:
+applewmproto
+windowswmproto
+libAppleWM
+libWindowsWM
+
+# Sun video cards:
+xf86-video-sunbw2
+xf86-video-suncg14
+xf86-video-suncg3
+xf86-video-suncg6
+xf86-video-sunffb
+xf86-video-sunleo
+xf86-video-suntcx
+
+# Obsolete packages:
+liboldX
+xf86-video-amd
+xf86-video-via
+xkbdata
+xphelloworld
+xrx
+
+# Not applicable to us
+grandr
+constype
+
+# CAREFUL NOT TO "SHIP" THE STUFF BELOW IN THE MAIN X PACKAGES DIR!
+
+# This is probably obsolete, and kills "X -configure" too
+xf86-video-nsc
+
+# We don't want this one, as it causes failure of X with no xorg.conf
+xf86-video-fbdev
+
diff --git a/patches/source/xorg-server/patch/xorg-server.patch b/patches/source/xorg-server/patch/xorg-server.patch
new file mode 100644
index 00000000..996405a8
--- /dev/null
+++ b/patches/source/xorg-server/patch/xorg-server.patch
@@ -0,0 +1,5 @@
+zcat $CWD/patch/xorg-server/x11.startwithblackscreen.diff.gz | patch -p1 --verbose || exit 1
+zcat $CWD/patch/xorg-server/xorg-server.CVE-2010-2240.diff.gz | patch -p1 --verbose || exit 1
+zcat $CWD/patch/xorg-server/xorg-server.CVE-2013-4396.diff.gz | patch -p1 --verbose || { touch ${SLACK_X_BUILD_DIR}/${PKGNAME}.failed ; continue ; }
+zcat $CWD/patch/xorg-server/xorg-server.CVE-2017-10971.diff.gz | patch -p1 -l --verbose || { touch ${SLACK_X_BUILD_DIR}/${PKGNAME}.failed ; continue ; }
+zcat $CWD/patch/xorg-server/xorg-server.CVE-2017-10972.diff.gz | patch -p1 -l --verbose || { touch ${SLACK_X_BUILD_DIR}/${PKGNAME}.failed ; continue ; }
diff --git a/patches/source/xorg-server/patch/xorg-server/x11.startwithblackscreen.diff b/patches/source/xorg-server/patch/xorg-server/x11.startwithblackscreen.diff
new file mode 100644
index 00000000..bfa9c305
--- /dev/null
+++ b/patches/source/xorg-server/patch/xorg-server/x11.startwithblackscreen.diff
@@ -0,0 +1,13 @@
+--- ./dix/window.c.orig 2007-01-22 23:39:15.000000000 -0600
++++ ./dix/window.c 2007-02-14 03:21:03.000000000 -0600
+@@ -140,8 +140,8 @@
+ *
+ ******/
+
+-static unsigned char _back_lsb[4] = {0x88, 0x22, 0x44, 0x11};
+-static unsigned char _back_msb[4] = {0x11, 0x44, 0x22, 0x88};
++static unsigned char _back_lsb[4] = {0x00, 0x00, 0x00, 0x00};
++static unsigned char _back_msb[4] = {0x00, 0x00, 0x00, 0x00};
+
+ _X_EXPORT int screenIsSaved = SCREEN_SAVER_OFF;
+
diff --git a/patches/source/xorg-server/patch/xorg-server/xorg-server.CVE-2010-2240.diff b/patches/source/xorg-server/patch/xorg-server/xorg-server.CVE-2010-2240.diff
new file mode 100644
index 00000000..b4d2f095
--- /dev/null
+++ b/patches/source/xorg-server/patch/xorg-server/xorg-server.CVE-2010-2240.diff
@@ -0,0 +1,130 @@
+--- ./os/utils.c.orig 2009-07-07 12:48:58.000000000 -0500
++++ ./os/utils.c 2010-08-26 15:54:46.000000000 -0500
+@@ -58,6 +58,36 @@
+ #include <signal.h>
+ #endif
+
++/*
++ * issetugid()
++ *
++ * Copyright (C) - 2007 Robert Connolly
++ *
++ * Permission to reproduce, copy, delete, distribute, transmit, use, modify,
++ * build upon or otherwise exploit this software, in any form, for any
++ * purpose, in any way, and by anyone, including by methods that have not
++ * yet been invented or conceived, is hereby granted.
++ */
++#include <unistd.h>
++extern int __libc_enable_secure;
++int issetugid(void)
++{
++ if (__libc_enable_secure)
++ {
++ return 1;
++ }
++ if (getuid() != geteuid())
++ {
++ return 1;
++ }
++ if (getgid() != getegid())
++ {
++ return 1;
++ }
++ /* Else */
++ return 0;
++}
++
+ #if defined(WIN32) && !defined(__CYGWIN__)
+ #include <X11/Xwinsock.h>
+ #endif
+@@ -761,6 +791,22 @@
+ UseMsg();
+ }
+ #endif
++/* #ifdef RLIMIT_AS
++ else if ( strcmp( argv[i], "-la") == 0)
++ {
++ if (getuid() != 0 && issetugid()) {
++ FatalError("The '-la' option can only be used by root.\n");
++ }
++ if(++i < argc)
++ {
++ limitAddressSpace = atol(argv[i]);
++ if (limitAddressSpace > 0)
++ limitAddressSpace *= 1024;
++ }
++ else
++ UseMsg();
++ }
++#endif */
+ #ifdef SERVER_LOCK
+ else if ( strcmp ( argv[i], "-nolock") == 0)
+ {
+--- ./os/osinit.c.orig 2009-07-07 12:48:58.000000000 -0500
++++ ./os/osinit.c 2010-08-26 15:27:45.000000000 -0500
+@@ -99,6 +99,14 @@
+ #ifdef macII
+ set42sig();
+ #endif
++#ifdef RLIMIT_AS
++#ifdef _XSERVER64
++#define XORG_AS_LIMIT 10737418240LL
++#else
++#define XORG_AS_LIMIT 1610612736
++#endif
++long limitAddressSpace = XORG_AS_LIMIT;
++#endif
+
+ if (!been_here) {
+ #if !defined(__SCO__) && !defined(__CYGWIN__) && !defined(__UNIXWARE__)
+@@ -187,6 +195,22 @@
+ }
+ }
+ #endif
++#ifdef RLIMIT_AS
++ if (limitAddressSpace >= 0)
++ {
++ struct rlimit rlim;
++
++ if (!getrlimit(RLIMIT_AS, &rlim))
++ {
++ if ((limitAddressSpace > 0)
++ && (limitAddressSpace < rlim.rlim_max))
++ rlim.rlim_cur = limitAddressSpace;
++ else
++ rlim.rlim_cur = rlim.rlim_max;
++ (void)setrlimit(RLIMIT_AS, &rlim);
++ }
++ }
++#endif
+ LockServer();
+ been_here = TRUE;
+ }
+--- ./include/opaque.h.orig 2009-07-07 12:48:58.000000000 -0500
++++ ./include/opaque.h 2010-08-26 15:49:31.000000000 -0500
+@@ -67,6 +67,9 @@
+ #ifdef RLIMIT_NOFILE
+ extern int limitNoFile;
+ #endif
++#ifdef RLIMIT_AS
++extern long limitAddressSpace;
++#endif
+ extern Bool defeatAccessControl;
+ extern long maxBigRequestSize;
+ extern Bool party_like_its_1989;
+--- ./doc/Xserver.man.pre.orig 2009-07-07 12:48:58.000000000 -0500
++++ ./doc/Xserver.man.pre 2010-08-26 15:27:45.000000000 -0500
+@@ -293,6 +293,13 @@
+ A value of zero makes the stack size as large as possible. The default value
+ of \-1 leaves the stack space limit unchanged.
+ .TP 8
++.B \-la \fIkilobytes\fP
++sets the address space limit of the server to the specified number of
++kilobytes.
++A value of zero makes address space as large as possible.
++The default value is 1572864 (1.5GB) on 32 bit architectures and
++10485760 (10GB) on 64 bit architectures.
++.TP 8
+ .B \-logo
+ turns on the X Window System logo display in the screen-saver.
+ There is currently no way to change this from a client.
diff --git a/patches/source/xorg-server/patch/xorg-server/xorg-server.CVE-2013-4396.diff b/patches/source/xorg-server/patch/xorg-server/xorg-server.CVE-2013-4396.diff
new file mode 100644
index 00000000..d176b846
--- /dev/null
+++ b/patches/source/xorg-server/patch/xorg-server/xorg-server.CVE-2013-4396.diff
@@ -0,0 +1,42 @@
+--- ./dix/dixfonts.c.orig 2009-07-07 12:48:57.000000000 -0500
++++ ./dix/dixfonts.c 2013-10-09 21:49:12.126761613 -0500
+@@ -1512,6 +1512,7 @@
+ GC *pGC;
+ unsigned char *data;
+ ITclosurePtr new_closure;
++ ITclosurePtr old_closure;
+
+ /* We're putting the client to sleep. We need to
+ save some state. Similar problem to that handled
+@@ -1524,6 +1525,7 @@
+ err = BadAlloc;
+ goto bail;
+ }
++ old_closure = c;
+ *new_closure = *c;
+ c = new_closure;
+
+@@ -1531,6 +1533,7 @@
+ if (!data)
+ {
+ xfree(c);
++ c = old_closure;
+ err = BadAlloc;
+ goto bail;
+ }
+@@ -1542,6 +1545,7 @@
+ {
+ xfree(c->data);
+ xfree(c);
++ c = old_closure;
+ err = BadAlloc;
+ goto bail;
+ }
+@@ -1555,6 +1559,7 @@
+ FreeScratchGC(pGC);
+ xfree(c->data);
+ xfree(c);
++ c = old_closure;
+ err = BadAlloc;
+ goto bail;
+ }
diff --git a/patches/source/xorg-server/patch/xorg-server/xorg-server.CVE-2017-10971.diff b/patches/source/xorg-server/patch/xorg-server/xorg-server.CVE-2017-10971.diff
new file mode 100644
index 00000000..25f09ee1
--- /dev/null
+++ b/patches/source/xorg-server/patch/xorg-server/xorg-server.CVE-2017-10971.diff
@@ -0,0 +1,21 @@
+--- ./Xi/sendexev.c.orig 2010-04-30 04:26:35.000000000 -0500
++++ ./Xi/sendexev.c 2017-08-15 14:58:25.709950954 -0500
+@@ -95,9 +95,17 @@
+
+ eventP = (xEvent *) & stuff[1];
+ for (i = 0; i < stuff->num_events; i++, eventP++) {
++ if (eventP->u.u.type == GenericEvent) {
++ client->errorValue = eventP->u.u.type;
++ return BadValue;
++ }
++
+ proc = EventSwapVector[eventP->u.u.type & 0177];
+- if (proc == NotImplemented) /* no swapping proc; invalid event type? */
++ /* no swapping proc; invalid event type? */
++ if (proc == NotImplemented) {
++ client->errorValue = eventP->u.u.type;
+ return (BadValue);
++ }
+ (*proc) (eventP, &eventT);
+ *eventP = eventT;
+ }
diff --git a/patches/source/xorg-server/patch/xorg-server/xorg-server.CVE-2017-10972.diff b/patches/source/xorg-server/patch/xorg-server/xorg-server.CVE-2017-10972.diff
new file mode 100644
index 00000000..edddc8d6
--- /dev/null
+++ b/patches/source/xorg-server/patch/xorg-server/xorg-server.CVE-2017-10972.diff
@@ -0,0 +1,36 @@
+From 05442de962d3dc624f79fc1a00eca3ffc5489ced Mon Sep 17 00:00:00 2001
+From: Michal Srb <msrb@suse.com>
+Date: Wed, 24 May 2017 15:54:39 +0300
+Subject: Xi: Zero target buffer in SProcXSendExtensionEvent.
+
+Make sure that the xEvent eventT is initialized with zeros, the same way as
+in SProcSendEvent.
+
+Some event swapping functions do not overwrite all 32 bytes of xEvent
+structure, for example XSecurityAuthorizationRevoked. Two cooperating
+clients, one swapped and the other not, can send
+XSecurityAuthorizationRevoked event to each other to retrieve old stack data
+from X server. This can be potentialy misused to go around ASLR or
+stack-protector.
+
+Signed-off-by: Michal Srb <msrb@suse.com>
+Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net>
+Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
+
+diff --git a/Xi/sendexev.c b/Xi/sendexev.c
+index 11d8202..1cf118a 100644
+--- a/Xi/sendexev.c
++++ b/Xi/sendexev.c
+@@ -78,7 +78,7 @@ SProcXSendExtensionEvent(ClientPtr client)
+ {
+ CARD32 *p;
+ int i;
+- xEvent eventT;
++ xEvent eventT = { .u.u.type = 0 };
+ xEvent *eventP;
+ EventSwapPtr proc;
+
+--
+cgit v0.10.2
+
+
diff --git a/patches/source/xorg-server/post-install/xorg-server.post-install b/patches/source/xorg-server/post-install/xorg-server.post-install
new file mode 100644
index 00000000..0185cb70
--- /dev/null
+++ b/patches/source/xorg-server/post-install/xorg-server.post-install
@@ -0,0 +1,17 @@
+# Add COPYING file:
+mkdir -p $PKG/usr/doc/xorg-server-$MODULAR_PACKAGE_VERSION
+cp -a COPYING $PKG/usr/doc/xorg-server-$MODULAR_PACKAGE_VERSION
+
+# Don't mess with my /var/log/ permissions:
+rmdir $PKG/var/log
+rmdir $PKG/var
+
+# While I hate to have X11 take over another generic-sounding
+# piece of prime filesystem real estate, this symlink will
+# direct (for now) proprietary X drivers into the corrent
+# location:
+
+( cd $PKG/usr/lib
+ rm -rf modules
+ ln -sf xorg/modules .
+)
diff --git a/patches/source/xorg-server/slack-desc/xorg-server b/patches/source/xorg-server/slack-desc/xorg-server
new file mode 100644
index 00000000..9d25b405
--- /dev/null
+++ b/patches/source/xorg-server/slack-desc/xorg-server
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|'
+# on the right side marks the last column you can put a character in. You must
+# make exactly 11 lines for the formatting to be correct. It's also
+# customary to leave one space after the ':'.
+
+ |-----handy-ruler------------------------------------------------------|
+xorg-server: xorg-server (The Xorg server, the core of the X Window System)
+xorg-server:
+xorg-server: Xorg is a full featured X server that was originally designed for UNIX
+xorg-server: and UNIX-like operating systems running on Intel x86 hardware. It now
+xorg-server: runs on a wider range of hardware and OS platforms. This work was
+xorg-server: derived by the X.Org Foundation from the XFree86 Project's XFree86
+xorg-server: 4.4rc2 release. The XFree86 release was originally derived from X386
+xorg-server: 1.2 by Thomas Roell which was contributed to X11R5 by Snitily Graphics
+xorg-server: Consulting Service.
+xorg-server:
+xorg-server: The home page for the X project is: http://www.x.org
diff --git a/patches/source/xorg-server/slack-desc/xorg-server-xephyr b/patches/source/xorg-server/slack-desc/xorg-server-xephyr
new file mode 100644
index 00000000..640f3d18
--- /dev/null
+++ b/patches/source/xorg-server/slack-desc/xorg-server-xephyr
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|' on
+# the right side marks the last column you can put a character in. You must make
+# exactly 11 lines for the formatting to be correct. It's also customary to
+# leave one space after the ':'.
+
+ |-----handy-ruler------------------------------------------------------|
+xorg-server-xephyr: xorg-server-xephyr (Improved nested X server/client)
+xorg-server-xephyr:
+xorg-server-xephyr: Xephyr is a nested X-Client like Xnest, but with some additional
+xorg-server-xephyr: features like XRender support.
+xorg-server-xephyr:
+xorg-server-xephyr:
+xorg-server-xephyr:
+xorg-server-xephyr:
+xorg-server-xephyr:
+xorg-server-xephyr:
+xorg-server-xephyr:
diff --git a/patches/source/xorg-server/slack-desc/xorg-server-xnest b/patches/source/xorg-server/slack-desc/xorg-server-xnest
new file mode 100644
index 00000000..393f93bd
--- /dev/null
+++ b/patches/source/xorg-server/slack-desc/xorg-server-xnest
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|' on
+# the right side marks the last column you can put a character in. You must make
+# exactly 11 lines for the formatting to be correct. It's also customary to
+# leave one space after the ':'.
+
+ |-----handy-ruler------------------------------------------------------|
+xorg-server-xnest: xorg-server-xnest (a nested X server)
+xorg-server-xnest:
+xorg-server-xnest: Xnest is an experimental nested server for X that acts as both a
+xorg-server-xnest: client and a server. Xnest is a client of the real server which
+xorg-server-xnest: manages windows and graphics requests on its behalf. Xnest is a
+xorg-server-xnest: server to its own clients. Xnest manages windows and graphics
+xorg-server-xnest: requests on their behalf. To these clients Xnest appears to be a
+xorg-server-xnest: conventional server.
+xorg-server-xnest:
+xorg-server-xnest:
+xorg-server-xnest:
diff --git a/patches/source/xorg-server/slack-desc/xorg-server-xvfb b/patches/source/xorg-server/slack-desc/xorg-server-xvfb
new file mode 100644
index 00000000..aff9c642
--- /dev/null
+++ b/patches/source/xorg-server/slack-desc/xorg-server-xvfb
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|' on
+# the right side marks the last column you can put a character in. You must make
+# exactly 11 lines for the formatting to be correct. It's also customary to
+# leave one space after the ':'.
+
+ |-----handy-ruler------------------------------------------------------|
+xorg-server-xvfb: xorg-server-xvfb (virtual framebuffer X server)
+xorg-server-xvfb:
+xorg-server-xvfb: Xvfb is an X server that can run on machines with no display hardware
+xorg-server-xvfb: and no physical input devices. It emulates a dumb framebuffer using
+xorg-server-xvfb: virtual memory. The primary use of this server is intended to be
+xorg-server-xvfb: server testing. The mfb or cfb code for any depth can be exercised
+xorg-server-xvfb: with this server without the need for real hardware that supports the
+xorg-server-xvfb: desired depths. A secondary use is testing clients against unusual
+xorg-server-xvfb: depths and screen configurations.
+xorg-server-xvfb:
+xorg-server-xvfb:
diff --git a/patches/source/xorg-server/x11.SlackBuild b/patches/source/xorg-server/x11.SlackBuild
new file mode 100755
index 00000000..ca729708
--- /dev/null
+++ b/patches/source/xorg-server/x11.SlackBuild
@@ -0,0 +1,364 @@
+#!/bin/sh
+# Copyright 2007-2010 Patrick J. Volkerding, Sebeka, MN, USA
+# All rights reserved.
+#
+# Redistribution and use of this script, with or without modification, is
+# permitted provided that the following conditions are met:
+#
+# 1. Redistributions of this script must retain the above copyright
+# notice, this list of conditions and the following disclaimer.
+#
+# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED
+# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
+# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
+# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+# To build only a single package group, specify it as $1, like:
+# ./x11.SlackBuild lib
+# To build only a single package, specify both the source directory
+# and the name of the package, like:
+# ./x11.SlackBuild lib libX11
+
+pkgbase() {
+ PKGEXT=$(echo $1 | rev | cut -f 1 -d . | rev)
+ case $PKGEXT in
+ 'gz' )
+ PKGRETURN=$(basename $1 .tar.gz)
+ ;;
+ 'bz2' )
+ PKGRETURN=$(basename $1 .tar.bz2)
+ ;;
+ 'lzma' )
+ PKGRETURN=$(basename $1 .tar.lzma)
+ ;;
+ 'xz' )
+ PKGRETURN=$(basename $1 .tar.xz)
+ ;;
+ *)
+ PKGRETURN=$(basename $1)
+ ;;
+ esac
+ echo $PKGRETURN
+}
+
+# Set initial variables:
+CWD=$(pwd)
+TMP=${TMP:-/tmp}
+
+# Automatically determine the architecture we're building on:
+if [ -z "$ARCH" ]; then
+ case "$( uname -m )" in
+ i?86) export ARCH=i486 ;;
+ arm*) export ARCH=arm ;;
+ # Unless $ARCH is already set, use uname -m for all other archs:
+ *) export ARCH=$( uname -m ) ;;
+ esac
+fi
+
+# A lot of this stuff just controls the package names this time:
+VERSION=${VERSION:-7.5}
+BUILD=${BUILD:-1}
+PKGARCH=$ARCH
+NUMJOBS=${NUMJOBS:-" -j7 "}
+
+if [ "$ARCH" = "x86_64" ]; then
+ LIBDIRSUFFIX="64"
+else
+ LIBDIRSUFFIX=""
+fi
+
+# Set up a few useful functions:
+
+fix_perms() {
+ chown -R root:root .
+ find . \
+ \( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \
+ -exec chmod 755 {} \; -o \
+ \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \
+ -exec chmod 644 {} \;
+}
+
+process_man_pages() {
+ # Compress and if needed symlink the man pages:
+ if [ -d usr/man ]; then
+ ( cd usr/man
+ for manpagedir in $(find . -type d -name "man*") ; do
+ ( cd $manpagedir
+ for eachpage in $( find . -type l -maxdepth 1) ; do
+ ln -s $( readlink $eachpage ).gz $eachpage.gz
+ rm $eachpage
+ done
+ gzip -9 *.*
+ )
+ done
+ )
+ fi
+}
+
+process_info_pages() {
+ # Compress info pages and purge "dir" file from the package:
+ if [ -d usr/info ]; then
+ ( cd usr/info
+ rm -f dir
+ gzip -9 *
+ )
+ fi
+}
+
+no_usr_share_doc() {
+ # If there are docs, move them:
+ if [ -d usr/share/doc ]; then
+ mkdir -p usr/doc
+ mv usr/share/doc/* usr/doc
+ rmdir usr/share/doc
+ fi
+}
+
+# Set the compile options for the $ARCH being used:
+. $CWD/arch.use.flags
+
+SLACK_X_BUILD_DIR=$TMP/x11-build
+mkdir -p $SLACK_X_BUILD_DIR
+
+# Better have some binaries installed first, as this may not be
+# in the "magic order". I built mine by hand through trial-and-error
+# before getting this script to work. It wasn't that hard... I think. ;-)
+( cd src
+ for x_source_dir in proto data util xcb lib app doc driver font xserver ; do
+ # See if $1 is a source directory like "lib":
+ if [ ! -z "$1" ]; then
+ if [ ! "$1" = "${x_source_dir}" ]; then
+ continue
+ fi
+ fi
+ PKG=${SLACK_X_BUILD_DIR}/package-${x_source_dir}
+ rm -rf $PKG
+ mkdir -p $PKG
+ ( cd $x_source_dir
+ for x_pkg in *.tar.?z* ; do
+ # Reset $PKGARCH to its initial value:
+ PKGARCH=$ARCH
+ PKGNAME=$(echo $x_pkg | rev | cut -f 2- -d - | rev)
+ # Perhaps $PKGARCH should be something different:
+ if grep -wq "^$PKGNAME" ${CWD}/noarch ; then
+ PKGARCH=noarch
+ fi
+ if grep -wq "^$PKGNAME" ${CWD}/package-blacklist ; then
+ continue
+ fi
+ cd $SLACK_X_BUILD_DIR
+ # If $2 is set, we only want to build one package:
+ if [ ! -z "$2" ]; then
+ if [ "$2" = "$PKGNAME" ]; then
+ # Set $PKG to a private dir for the modular package build:
+ PKG=$SLACK_X_BUILD_DIR/package-$PKGNAME
+ rm -rf $PKG
+ mkdir -p $PKG
+ else
+ continue
+ fi
+ else
+ echo
+ echo "Building from source ${x_pkg}"
+ echo
+ fi
+ if grep -wq "^$PKGNAME" ${CWD}/modularize ; then
+ # Set $PKG to a private dir for the modular package build:
+ PKG=$SLACK_X_BUILD_DIR/package-$PKGNAME
+ rm -rf $PKG
+ mkdir -p $PKG
+ fi
+
+ # Let's figure out the version number on the modular package:
+ MODULAR_PACKAGE_VERSION=$(echo $x_pkg | rev | cut -f 3- -d . | cut -f 1 -d - | rev)
+
+ rm -rf $(pkgbase $x_pkg)
+ tar xf $CWD/src/${x_source_dir}/${x_pkg} || exit 1
+ cd $(pkgbase $x_pkg) || exit 1
+
+ fix_perms
+
+ # If any patches are needed, call this script to apply them:
+ if [ -r $CWD/patch/${PKGNAME}.patch ]; then
+ . $CWD/patch/${PKGNAME}.patch
+ fi
+
+ # I heard somewhere that -O2 breaks some chipset or another. If you encounter
+ # problems, please contact volkerdi@slackware.com. Thanks! :-)
+
+ # ./configure, using custom configure script if needed:
+ if [ -r $CWD/configure/${PKGNAME} ]; then
+ . $CWD/configure/${PKGNAME}
+ else
+ # This is the default configure script:
+ . $CWD/configure/configure
+ fi
+
+ if ! make $NUMJOBS ; then
+ touch ${SLACK_X_BUILD_DIR}/${PKGNAME}.failed
+ continue
+ fi
+
+ make install DESTDIR=$PKG
+
+ mkdir -p $PKG/usr/doc/${PKGNAME}-${MODULAR_PACKAGE_VERSION}
+ cp -a \
+ AUTHORS* COPYING* INSTALL* README* NEWS* TODO* \
+ $PKG/usr/doc/${PKGNAME}-${MODULAR_PACKAGE_VERSION}
+
+ # If there's a ChangeLog, installing at least part of the recent history
+ # is useful, but don't let it get totally out of control:
+ if [ -r ChangeLog ]; then
+ DOCSDIR=$(echo $PKG/usr/doc/${PKGNAME}-$MODULAR_PACKAGE_VERSION)
+ cat ChangeLog | head -n 1000 > $DOCSDIR/ChangeLog
+ touch -r ChangeLog $DOCSDIR/ChangeLog
+ fi
+
+ # Get rid of zero-length junk files:
+ find $PKG/usr/doc/${PKGNAME}-$MODULAR_PACKAGE_VERSION -type f -size 0 -exec rm --verbose "{}" \;
+ rmdir --verbose $PKG/usr/doc/${PKGNAME}-$MODULAR_PACKAGE_VERSION 2> /dev/null
+
+ # Strip binaries:
+ ( cd $PKG
+ find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
+ find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
+ find . | xargs file | grep "current ar archive" | grep ELF | cut -f 1 -d : | xargs strip -g 2> /dev/null
+ )
+
+ # If there's any special post-install things to do, do them:
+ if [ -r $CWD/post-install/${PKGNAME}.post-install ]; then
+ RUNSCRIPT=$(mktemp -p $TMP) || exit 1
+ cat $CWD/post-install/${PKGNAME}.post-install \
+ | sed -e "s#usr/lib#usr/lib${LIBDIRSUFFIX}#g" > $RUNSCRIPT
+ . $RUNSCRIPT
+ rm -f $RUNSCRIPT
+ fi
+
+ # If this package requires some doinst.sh material, add it here:
+ if [ -r $CWD/doinst.sh/${PKGNAME} ]; then
+ mkdir -p $PKG/install
+ cat $CWD/doinst.sh/${PKGNAME} \
+ | sed -e "s#usr/lib#usr/lib${LIBDIRSUFFIX}#g" \
+ >> $PKG/install/doinst.sh
+ fi
+
+ # If this is a modular package, build it here:
+ if [ -d $SLACK_X_BUILD_DIR/package-$PKGNAME ]; then
+ cd $PKG
+ process_man_pages
+ process_info_pages
+ no_usr_share_doc
+ mkdir -p $PKG/install
+ if [ -r $CWD/slack-desc/${PKGNAME} ]; then
+ cat $CWD/slack-desc/${PKGNAME} > $PKG/install/slack-desc
+ else
+ touch $PKG/install/slack-desc-missing
+ fi
+ if [ -r $CWD/build/${PKGNAME} ]; then
+ MODBUILD=$(cat $CWD/build/${PKGNAME})
+ else
+ MODBUILD=$BUILD
+ fi
+ if [ -r $CWD/makepkg/${PKGNAME} ]; then
+ BUILD=$MODBUILD . $CWD/makepkg/${PKGNAME}
+ else
+ /sbin/makepkg -l y -c n ${SLACK_X_BUILD_DIR}/${PKGNAME}-${MODULAR_PACKAGE_VERSION}-${PKGARCH}-${MODBUILD}.txz
+ fi
+ fi
+
+ # Reset $PKG to assume we're building the whole source dir:
+ PKG=${SLACK_X_BUILD_DIR}/package-${x_source_dir}
+
+ done
+
+ # Nothing here? Must have been fully modular. :-)
+ if [ ! -d ${SLACK_X_BUILD_DIR}/package-${x_source_dir}/etc -a \
+ ! -d ${SLACK_X_BUILD_DIR}/package-${x_source_dir}/usr ]; then
+ continue
+ fi
+
+ # Build an "x11-<sourcedir>" package for anything that wasn't built modular:
+ # It's safer to consider these to have binaries in them. ;-)
+ PKGARCH=$ARCH
+ cd $PKG
+ process_man_pages
+ process_info_pages
+ no_usr_share_doc
+ # If there are post-install things to do for the combined package,
+ # we do them here. This could be used for things like making a
+ # VERSION number for a combined package. :-)
+ if [ -r $CWD/post-install/x11-${x_source_dir}.post-install ]; then
+ RUNSCRIPT=$(mktemp -p $TMP) || exit 1
+ cat $CWD/post-install/x11-${x_source_dir}.post-install \
+ | sed -e "s#usr/lib#usr/lib${LIBDIRSUFFIX}#g" > $RUNSCRIPT
+ . $RUNSCRIPT
+ rm -f $RUNSCRIPT
+ fi
+ mkdir -p $PKG/install
+ if [ -r $CWD/slack-desc/x11-${x_source_dir} ]; then
+ cat $CWD/slack-desc/x11-${x_source_dir} > $PKG/install/slack-desc
+ else
+ touch $PKG/install/slack-desc-missing
+ fi
+ if [ -r $CWD/doinst.sh/x11-${x_source_dir} ]; then
+ cat $CWD/doinst.sh/x11-${x_source_dir} \
+ | sed -e "s#usr/lib#usr/lib${LIBDIRSUFFIX}#g" \
+ >> $PKG/install/doinst.sh
+ fi
+ if [ -r $CWD/build/x11-${PKGNAME} ]; then
+ SRCDIRBUILD=$(cat $CWD/build/x11-${PKGNAME})
+ else
+ SRCDIRBUILD=$BUILD
+ fi
+ if [ -r $CWD/makepkg/${PKGNAME} ]; then
+ BUILD=$MODBUILD . $CWD/makepkg/${PKGNAME}
+ else
+ /sbin/makepkg -l y -c n ${SLACK_X_BUILD_DIR}/x11-${x_source_dir}-${VERSION}-${PKGARCH}-${SRCDIRBUILD}.txz
+ fi
+ )
+ done
+)
+
+exit 0
+
+# I don't think I'll be using the following stuff, since I went for the latest in
+# "individual", rather than a release. That was mostly because version 7.1 depends
+# on a version of Mesa that won't build against kernel headers this new (&etc.).
+
+# If environment variable "REFRESH" is exported, start by refreshing the source tree:
+# export REFRESH yes
+if [ ! -z "$REFRESH" ]; then
+ # Only works once, unless you uncomment above.
+ unset REFRESH
+ ( cd patches
+ lftp -c \
+ "lftp ftp://ftp.x.org:/pub/X11R7.1/patches
+ mirror --delete --dereference .
+ exit"
+ chmod 644 *
+ )
+ ( cd src
+ mkdir -p update everything
+ for dir in app data deprecated doc driver extras font lib proto util xserver ; do
+ # We won't really download "update", as problems ensue. Plus, --dereference is
+ # bringing us updated files when needed, so it's redundant (like "everything").
+ if [ ! -d $dir ]; then
+ mkdir $dir
+ fi
+ ( cd $dir
+ lftp -c \
+ "lftp ftp://ftp.x.org:/pub/X11R7.1/src/$dir
+ mirror -c --delete --dereference --include-glob "*.tar.bz2" .
+ exit"
+ chmod 644 *
+ )
+ done
+ )
+fi
+
diff --git a/patches/source/xorg-server/xorg-server.SlackBuild b/patches/source/xorg-server/xorg-server.SlackBuild
new file mode 100755
index 00000000..688448ec
--- /dev/null
+++ b/patches/source/xorg-server/xorg-server.SlackBuild
@@ -0,0 +1,2 @@
+UPGRADE_PACKAGES=no ./x11.SlackBuild xserver xorg-server
+mv /tmp/x11-build/*txz /tmp
diff --git a/patches/source/xpdf/doinst.sh b/patches/source/xpdf/doinst.sh
new file mode 100644
index 00000000..03a6ae85
--- /dev/null
+++ b/patches/source/xpdf/doinst.sh
@@ -0,0 +1,19 @@
+config() {
+ NEW="$1"
+ OLD="$(dirname $NEW)/$(basename $NEW .new)"
+ # If there's no config file by that name, mv it over:
+ if [ ! -r $OLD ]; then
+ mv $NEW $OLD
+ elif [ "$(cat $OLD | md5sum)" = "$(cat $NEW | md5sum)" ]; then
+ # toss the redundant copy
+ rm $NEW
+ fi
+ # Otherwise, we leave the .new copy for the admin to consider...
+}
+
+config etc/xpdfrc.new
+
+if [ -x /usr/bin/update-desktop-database ]; then
+ /usr/bin/update-desktop-database -q usr/share/applications >/dev/null 2>&1
+fi
+
diff --git a/patches/source/xpdf/lang/xpdf-arabic.diff b/patches/source/xpdf/lang/xpdf-arabic.diff
new file mode 100644
index 00000000..006e836a
--- /dev/null
+++ b/patches/source/xpdf/lang/xpdf-arabic.diff
@@ -0,0 +1,7 @@
+--- ./add-to-xpdfrc.orig 2011-08-15 16:24:29.000000000 -0500
++++ ./add-to-xpdfrc 2013-03-28 15:43:21.102417270 -0500
+@@ -1,3 +1,3 @@
+ #----- begin Arabic support package (2011-aug-15)
+-unicodeMap ISO-8859-6 /usr/local/share/xpdf/arabic/ISO-8859-6.unicodeMap
++unicodeMap ISO-8859-6 /usr/share/xpdf/arabic/ISO-8859-6.unicodeMap
+ #----- end Arabic support package
diff --git a/patches/source/xpdf/lang/xpdf-chinese-simplified.diff b/patches/source/xpdf/lang/xpdf-chinese-simplified.diff
new file mode 100644
index 00000000..bec5e25b
--- /dev/null
+++ b/patches/source/xpdf/lang/xpdf-chinese-simplified.diff
@@ -0,0 +1,19 @@
+--- ./add-to-xpdfrc.orig 2011-09-02 17:24:44.000000000 -0500
++++ ./add-to-xpdfrc 2013-03-28 15:45:42.020412765 -0500
+@@ -1,9 +1,9 @@
+ #----- begin Chinese Simplified support package (2011-sep-02)
+-cidToUnicode Adobe-GB1 /usr/local/share/xpdf/chinese-simplified/Adobe-GB1.cidToUnicode
+-unicodeMap ISO-2022-CN /usr/local/share/xpdf/chinese-simplified/ISO-2022-CN.unicodeMap
+-unicodeMap EUC-CN /usr/local/share/xpdf/chinese-simplified/EUC-CN.unicodeMap
+-unicodeMap GBK /usr/local/share/xpdf/chinese-simplified/GBK.unicodeMap
+-cMapDir Adobe-GB1 /usr/local/share/xpdf/chinese-simplified/CMap
+-toUnicodeDir /usr/local/share/xpdf/chinese-simplified/CMap
+-#fontFileCC Adobe-GB1 /usr/..../gkai00mp.ttf
++cidToUnicode Adobe-GB1 /usr/share/xpdf/chinese-simplified/Adobe-GB1.cidToUnicode
++unicodeMap ISO-2022-CN /usr/share/xpdf/chinese-simplified/ISO-2022-CN.unicodeMap
++unicodeMap EUC-CN /usr/share/xpdf/chinese-simplified/EUC-CN.unicodeMap
++unicodeMap GBK /usr/share/xpdf/chinese-simplified/GBK.unicodeMap
++cMapDir Adobe-GB1 /usr/share/xpdf/chinese-simplified/CMap
++toUnicodeDir /usr/share/xpdf/chinese-simplified/CMap
++fontFileCC Adobe-GB1 /usr/share/fonts/TTF/wqy-zenhei.ttc
+ #----- end Chinese Simplified support package
diff --git a/patches/source/xpdf/lang/xpdf-chinese-traditional.diff b/patches/source/xpdf/lang/xpdf-chinese-traditional.diff
new file mode 100644
index 00000000..24857f46
--- /dev/null
+++ b/patches/source/xpdf/lang/xpdf-chinese-traditional.diff
@@ -0,0 +1,17 @@
+--- ./add-to-xpdfrc.orig 2011-09-02 17:24:44.000000000 -0500
++++ ./add-to-xpdfrc 2013-03-28 15:46:03.285412085 -0500
+@@ -1,8 +1,8 @@
+ #----- begin Chinese Traditional support package (2011-sep-02)
+-cidToUnicode Adobe-CNS1 /usr/local/share/xpdf/chinese-traditional/Adobe-CNS1.cidToUnicode
+-unicodeMap Big5 /usr/local/share/xpdf/chinese-traditional/Big5.unicodeMap
+-unicodeMap Big5ascii /usr/local/share/xpdf/chinese-traditional/Big5ascii.unicodeMap
+-cMapDir Adobe-CNS1 /usr/local/share/xpdf/chinese-traditional/CMap
+-toUnicodeDir /usr/local/share/xpdf/chinese-traditional/CMap
+-#fontFileCC Adobe-CNS1 /usr/..../bkai00mp.ttf
++cidToUnicode Adobe-CNS1 /usr/share/xpdf/chinese-traditional/Adobe-CNS1.cidToUnicode
++unicodeMap Big5 /usr/share/xpdf/chinese-traditional/Big5.unicodeMap
++unicodeMap Big5ascii /usr/share/xpdf/chinese-traditional/Big5ascii.unicodeMap
++cMapDir Adobe-CNS1 /usr/share/xpdf/chinese-traditional/CMap
++toUnicodeDir /usr/share/xpdf/chinese-traditional/CMap
++fontFileCC Adobe-CNS1 /usr/share/fonts/TTF/wqy-zenhei.ttc
+ #----- end Chinese Traditional support package
diff --git a/patches/source/xpdf/lang/xpdf-cyrillic.diff b/patches/source/xpdf/lang/xpdf-cyrillic.diff
new file mode 100644
index 00000000..c453271a
--- /dev/null
+++ b/patches/source/xpdf/lang/xpdf-cyrillic.diff
@@ -0,0 +1,9 @@
+--- ./add-to-xpdfrc.orig 2011-08-15 16:24:29.000000000 -0500
++++ ./add-to-xpdfrc 2013-03-28 15:43:21.115417270 -0500
+@@ -1,4 +1,4 @@
+ #----- begin Cyrillic support package (2011-aug-15)
+-nameToUnicode /usr/local/share/xpdf/cyrillic/Bulgarian.nameToUnicode
+-unicodeMap KOI8-R /usr/local/share/xpdf/cyrillic/KOI8-R.unicodeMap
++nameToUnicode /usr/share/xpdf/cyrillic/Bulgarian.nameToUnicode
++unicodeMap KOI8-R /usr/share/xpdf/cyrillic/KOI8-R.unicodeMap
+ #----- end Cyrillic support package
diff --git a/patches/source/xpdf/lang/xpdf-greek.diff b/patches/source/xpdf/lang/xpdf-greek.diff
new file mode 100644
index 00000000..2e846160
--- /dev/null
+++ b/patches/source/xpdf/lang/xpdf-greek.diff
@@ -0,0 +1,9 @@
+--- ./add-to-xpdfrc.orig 2011-08-15 16:24:29.000000000 -0500
++++ ./add-to-xpdfrc 2013-03-28 15:43:21.116417270 -0500
+@@ -1,4 +1,4 @@
+ #----- begin Greek support package (2011-aug-15)
+-nameToUnicode /usr/local/share/xpdf/greek/Greek.nameToUnicode
+-unicodeMap ISO-8859-7 /usr/local/share/xpdf/greek/ISO-8859-7.unicodeMap
++nameToUnicode /usr/share/xpdf/greek/Greek.nameToUnicode
++unicodeMap ISO-8859-7 /usr/share/xpdf/greek/ISO-8859-7.unicodeMap
+ #----- end Greek support package
diff --git a/patches/source/xpdf/lang/xpdf-hebrew.diff b/patches/source/xpdf/lang/xpdf-hebrew.diff
new file mode 100644
index 00000000..2c27bb6f
--- /dev/null
+++ b/patches/source/xpdf/lang/xpdf-hebrew.diff
@@ -0,0 +1,9 @@
+--- ./add-to-xpdfrc.orig 2011-08-15 16:24:29.000000000 -0500
++++ ./add-to-xpdfrc 2013-03-28 15:43:21.117417269 -0500
+@@ -1,4 +1,4 @@
+ #----- begin Hebrew support package (2011-aug-15)
+-unicodeMap ISO-8859-8 /usr/local/share/xpdf/hebrew/ISO-8859-8.unicodeMap
+-unicodeMap Windows-1255 /usr/local/share/xpdf/hebrew/Windows-1255.unicodeMap
++unicodeMap ISO-8859-8 /usr/share/xpdf/hebrew/ISO-8859-8.unicodeMap
++unicodeMap Windows-1255 /usr/share/xpdf/hebrew/Windows-1255.unicodeMap
+ #----- end Hebrew support package
diff --git a/patches/source/xpdf/lang/xpdf-japanese.diff b/patches/source/xpdf/lang/xpdf-japanese.diff
new file mode 100644
index 00000000..ff0c6e98
--- /dev/null
+++ b/patches/source/xpdf/lang/xpdf-japanese.diff
@@ -0,0 +1,55 @@
+--- ./add-to-xpdfrc.orig 2013-03-29 14:49:00.000000000 +0900
++++ ./add-to-xpdfrc 2013-03-29 15:00:17.000000000 +0900
+@@ -1,9 +1,45 @@
+ #----- begin Japanese support package (2011-sep-02)
+-cidToUnicode Adobe-Japan1 /usr/local/share/xpdf/japanese/Adobe-Japan1.cidToUnicode
+-unicodeMap ISO-2022-JP /usr/local/share/xpdf/japanese/ISO-2022-JP.unicodeMap
+-unicodeMap EUC-JP /usr/local/share/xpdf/japanese/EUC-JP.unicodeMap
+-unicodeMap Shift-JIS /usr/local/share/xpdf/japanese/Shift-JIS.unicodeMap
+-cMapDir Adobe-Japan1 /usr/local/share/xpdf/japanese/CMap
+-toUnicodeDir /usr/local/share/xpdf/japanese/CMap
+-#fontFileCC Adobe-Japan1 /usr/..../kochi-mincho.ttf
++cidToUnicode Adobe-Japan1 /usr/share/xpdf/japanese/Adobe-Japan1.cidToUnicode
++unicodeMap ISO-2022-JP /usr/share/xpdf/japanese/ISO-2022-JP.unicodeMap
++unicodeMap EUC-JP /usr/share/xpdf/japanese/EUC-JP.unicodeMap
++unicodeMap Shift-JIS /usr/share/xpdf/japanese/Shift-JIS.unicodeMap
++cMapDir Adobe-Japan1 /usr/share/xpdf/japanese/CMap
++toUnicodeDir /usr/share/xpdf/japanese/CMap
++### use Sazanami by default
++fontFileCC Adobe-Japan1 /usr/share/fonts/TTF/sazanami-mincho.ttf
++### use Sazanami (Sazanami Gothic) if gothic font is required
++fontFileCC ShinGo-Bold /usr/share/fonts/TTF/sazanami-gothic.ttf
++fontFileCC ShinGo-regular /usr/share/fonts/TTF/sazanami-gothic.ttf
++fontFileCC MidashiGo-MB31 /usr/share/fonts/TTF/sazanami-gothic.ttf
++fontFileCC FutoGoB101-Bold /usr/share/fonts/TTF/sazanami-gothic.ttf
++fontFileCC HeiseiKakuGo-W5 /usr/share/fonts/TTF/sazanami-gothic.ttf
++fontFileCC HeiseiKakuGo-W9 /usr/share/fonts/TTF/sazanami-gothic.ttf
++fontFileCC HeiseiMaruGo-W4 /usr/share/fonts/TTF/sazanami-gothic.ttf
++fontFileCC MS-Gothic /usr/share/fonts/TTF/sazanami-gothic.ttf
++fontFileCC HG-GothicB /usr/share/fonts/TTF/sazanami-gothic.ttf
++fontFileCC Kochi-Gothic /usr/share/fonts/TTF/sazanami-gothic.ttf
++fontFileCC GothicBBB-Medium-H /usr/share/fonts/TTF/sazanami-gothic.ttf
++fontFileCC GothicBBB-Medium /usr/share/fonts/TTF/sazanami-gothic.ttf
++fontFileCC Ryumin-Light-H /usr/share/fonts/TTF/sazanami-mincho.ttf
++fontFileCC Ryumin-Light /usr/share/fonts/TTF/sazanami-mincho.ttf
++### make default font name to "Ryumin-Light" when converted to PostScript
++psResidentFontCC Adobe-Japan1 H Ryumin-Light-H ISO-2022-JP
++psResidentFontCC Adobe-Japan1 V Ryumin-Light-V ISO-2022-JP
++# use "Gothic-BBB-Medium" if gothic font is required
++psResidentFont16 MidashiGo-MB31 H GothicBBB-Medium-H ISO-2022-JP
++psResidentFont16 MidashiGo-MB31 V GothicBBB-Medium-V ISO-2022-JP
++psResidentFont16 FutoGoB101-Bold H GothicBBB-Medium-H ISO-2022-JP
++psResidentFont16 FutoGoB101-Bold V GothicBBB-Medium-V ISO-2022-JP
++psResidentFont16 HeiseiKakuGo-W5 H GothicBBB-Medium-H ISO-2022-JP
++psResidentFont16 HeiseiKakuGo-W5 V GothicBBB-Medium-V ISO-2022-JP
++psResidentFont16 HeiseiKakuGo-W9 H GothicBBB-Medium-H ISO-2022-JP
++psResidentFont16 HeiseiKakuGo-W9 V GothicBBB-Medium-V ISO-2022-JP
++psResidentFont16 HeiseiMaruGo-W4 H GothicBBB-Medium-H ISO-2022-JP
++psResidentFont16 HeiseiMaruGo-W4 V GothicBBB-Medium-V ISO-2022-JP
++psResidentFont16 MS-Gothic H GothicBBB-Medium-H ISO-2022-JP
++psResidentFont16 MS-Gothic V GothicBBB-Medium-V ISO-2022-JP
++psResidentFont16 HG-GothicB H GothicBBB-Medium-H ISO-2022-JP
++psResidentFont16 HG-GothicB V GothicBBB-Medium-V ISO-2022-JP
++psResidentFont16 Kochi-Gothic H GothicBBB-Medium-H ISO-2022-JP
++psResidentFont16 Kochi-Gothic V GothicBBB-Medium-V ISO-2022-JP
+ #----- end Japanese support package
diff --git a/patches/source/xpdf/lang/xpdf-korean.diff b/patches/source/xpdf/lang/xpdf-korean.diff
new file mode 100644
index 00000000..531ad629
--- /dev/null
+++ b/patches/source/xpdf/lang/xpdf-korean.diff
@@ -0,0 +1,15 @@
+--- ./add-to-xpdfrc.orig 2011-09-02 17:24:45.000000000 -0500
++++ ./add-to-xpdfrc 2013-03-28 15:43:21.119417269 -0500
+@@ -1,8 +1,8 @@
+ #----- begin Korean support package (2011-sep-02)
+-cidToUnicode Adobe-Korea1 /usr/local/share/xpdf/korean/Adobe-Korea1.cidToUnicode
+-unicodeMap ISO-2022-KR /usr/local/share/xpdf/korean/ISO-2022-KR.unicodeMap
+-cMapDir Adobe-Korea1 /usr/local/share/xpdf/korean/CMap
+-toUnicodeDir /usr/local/share/xpdf/korean/CMap
++cidToUnicode Adobe-Korea1 /usr/share/xpdf/korean/Adobe-Korea1.cidToUnicode
++unicodeMap ISO-2022-KR /usr/share/xpdf/korean/ISO-2022-KR.unicodeMap
++cMapDir Adobe-Korea1 /usr/share/xpdf/korean/CMap
++toUnicodeDir /usr/share/xpdf/korean/CMap
+ #fontFileCC Adobe-Korea1 /usr/..../batang.ttf"
+ #fontFileCC Unidocs-Korea1 /usr/..../batang.ttf"
+ #----- end Korean support package
diff --git a/patches/source/xpdf/lang/xpdf-latin2.diff b/patches/source/xpdf/lang/xpdf-latin2.diff
new file mode 100644
index 00000000..cf88fa02
--- /dev/null
+++ b/patches/source/xpdf/lang/xpdf-latin2.diff
@@ -0,0 +1,7 @@
+--- ./add-to-xpdfrc.orig 2011-08-15 16:24:29.000000000 -0500
++++ ./add-to-xpdfrc 2013-03-28 15:43:21.120417269 -0500
+@@ -1,3 +1,3 @@
+ #----- begin Latin2 support package (2011-aug-15)
+-unicodeMap Latin2 /usr/local/share/xpdf/latin2/Latin2.unicodeMap
++unicodeMap Latin2 /usr/share/xpdf/latin2/Latin2.unicodeMap
+ #----- end Latin2 support package
diff --git a/patches/source/xpdf/lang/xpdf-thai.diff b/patches/source/xpdf/lang/xpdf-thai.diff
new file mode 100644
index 00000000..30c480ef
--- /dev/null
+++ b/patches/source/xpdf/lang/xpdf-thai.diff
@@ -0,0 +1,9 @@
+--- ./add-to-xpdfrc.orig 2011-08-15 16:24:29.000000000 -0500
++++ ./add-to-xpdfrc 2013-03-28 15:43:21.121417269 -0500
+@@ -1,4 +1,4 @@
+ #----- begin Thai support package (2011-aug-15)
+-nameToUnicode /usr/local/share/xpdf/thai/Thai.nameToUnicode
+-unicodeMap TIS-620 /usr/local/share/xpdf/thai/TIS-620.unicodeMap
++nameToUnicode /usr/share/xpdf/thai/Thai.nameToUnicode
++unicodeMap TIS-620 /usr/share/xpdf/thai/TIS-620.unicodeMap
+ #----- end Thai support package
diff --git a/patches/source/xpdf/lang/xpdf-turkish.diff b/patches/source/xpdf/lang/xpdf-turkish.diff
new file mode 100644
index 00000000..81a79cff
--- /dev/null
+++ b/patches/source/xpdf/lang/xpdf-turkish.diff
@@ -0,0 +1,7 @@
+--- ./add-to-xpdfrc.orig 2011-08-15 16:24:29.000000000 -0500
++++ ./add-to-xpdfrc 2013-03-28 15:43:21.122417269 -0500
+@@ -1,3 +1,3 @@
+ #----- begin Turkish support package (2011-aug-15)
+-unicodeMap ISO-8859-9 /usr/local/share/xpdf/turkish/ISO-8859-9.unicodeMap
++unicodeMap ISO-8859-9 /usr/share/xpdf/turkish/ISO-8859-9.unicodeMap
+ #----- end Turkish support package
diff --git a/patches/source/xpdf/patches/xpdf-3.03-CVE-2012-2142.diff b/patches/source/xpdf/patches/xpdf-3.03-CVE-2012-2142.diff
new file mode 100644
index 00000000..891c41fd
--- /dev/null
+++ b/patches/source/xpdf/patches/xpdf-3.03-CVE-2012-2142.diff
@@ -0,0 +1,55 @@
+From 3945969e0072217c143fefa3044512a31ac2afa8 Mon Sep 17 00:00:00 2001
+From: mancha <mancha1@hush.com>
+Date: Sun, 11 Aug 2013
+Subject: CVE-2012-2142
+
+Filter stuff that might end up in the shell to address CVE-2012-2142.
+This code was adapted from the Poppler project.
+---
+ Error.cc | 21 ++++++++++++++++-----
+ 1 file changed, 16 insertions(+), 5 deletions(-)
+
+--- a/xpdf/Error.cc 2013-08-11
++++ b/xpdf/Error.cc 2013-08-11
+@@ -43,7 +43,7 @@ void setErrorCallback(void (*cbk)(void *
+
+ void CDECL error(ErrorCategory category, int pos, const char *msg, ...) {
+ va_list args;
+- GString *s;
++ GString *s, *sanitized;
+
+ // NB: this can be called before the globalParams object is created
+ if (!errorCbk && globalParams && globalParams->getErrQuiet()) {
+@@ -52,17 +52,28 @@ void CDECL error(ErrorCategory category,
+ va_start(args, msg);
+ s = GString::formatv(msg, args);
+ va_end(args);
++
++ sanitized = new GString ();
++ for (int i = 0; i < s->getLength(); ++i) {
++ const char c = s->getChar(i);
++ if (c < (char)0x20 || c >= (char)0x7f) {
++ sanitized->appendf("<{0:02x}>", c & 0xff);
++ } else {
++ sanitized->append(c);
++ }
++ }
++
+ if (errorCbk) {
+- (*errorCbk)(errorCbkData, category, pos, s->getCString());
++ (*errorCbk)(errorCbkData, category, pos, sanitized->getCString());
+ } else {
+ if (pos >= 0) {
+ fprintf(stderr, "%s (%d): %s\n",
+- errorCategoryNames[category], pos, s->getCString());
++ errorCategoryNames[category], pos, sanitized->getCString());
+ } else {
+ fprintf(stderr, "%s: %s\n",
+- errorCategoryNames[category], s->getCString());
++ errorCategoryNames[category], sanitized->getCString());
+ }
+ fflush(stderr);
+ }
+- delete s;
++ delete sanitized;
+ }
diff --git a/patches/source/xpdf/patches/xpdf.XPDFViewer.diff b/patches/source/xpdf/patches/xpdf.XPDFViewer.diff
new file mode 100644
index 00000000..0aa4455d
--- /dev/null
+++ b/patches/source/xpdf/patches/xpdf.XPDFViewer.diff
@@ -0,0 +1,11 @@
+--- ./xpdf/XPDFViewer.cc.orig 2011-08-15 16:08:53.000000000 -0500
++++ ./xpdf/XPDFViewer.cc 2013-03-28 15:35:31.589432279 -0500
+@@ -1803,7 +1803,7 @@
+ menuPane = XmCreatePulldownMenu(toolBar, "zoomMenuPane", args, n);
+ for (i = 0; i < nZoomMenuItems; ++i) {
+ n = 0;
+- s = XmStringCreateLocalized(zoomMenuInfo[i].label);
++ s = XmStringCreateLocalized((char *)zoomMenuInfo[i].label);
+ XtSetArg(args[n], XmNlabelString, s); ++n;
+ XtSetArg(args[n], XmNuserData, (XtPointer)i); ++n;
+ sprintf(buf, "zoom%d", i);
diff --git a/patches/source/xpdf/patches/xpdfrc.diff b/patches/source/xpdf/patches/xpdfrc.diff
new file mode 100644
index 00000000..c136f997
--- /dev/null
+++ b/patches/source/xpdf/patches/xpdfrc.diff
@@ -0,0 +1,43 @@
+--- ./doc/sample-xpdfrc.orig 2013-03-28 15:29:16.957444255 -0500
++++ ./doc/sample-xpdfrc 2013-03-28 15:32:11.413438678 -0500
+@@ -29,20 +29,20 @@
+ # installed in a "standard" location, xpdf will find them
+ # automatically.)
+
+-#fontFile Times-Roman /usr/local/share/ghostscript/fonts/n021003l.pfb
+-#fontFile Times-Italic /usr/local/share/ghostscript/fonts/n021023l.pfb
+-#fontFile Times-Bold /usr/local/share/ghostscript/fonts/n021004l.pfb
+-#fontFile Times-BoldItalic /usr/local/share/ghostscript/fonts/n021024l.pfb
+-#fontFile Helvetica /usr/local/share/ghostscript/fonts/n019003l.pfb
+-#fontFile Helvetica-Oblique /usr/local/share/ghostscript/fonts/n019023l.pfb
+-#fontFile Helvetica-Bold /usr/local/share/ghostscript/fonts/n019004l.pfb
+-#fontFile Helvetica-BoldOblique /usr/local/share/ghostscript/fonts/n019024l.pfb
+-#fontFile Courier /usr/local/share/ghostscript/fonts/n022003l.pfb
+-#fontFile Courier-Oblique /usr/local/share/ghostscript/fonts/n022023l.pfb
+-#fontFile Courier-Bold /usr/local/share/ghostscript/fonts/n022004l.pfb
+-#fontFile Courier-BoldOblique /usr/local/share/ghostscript/fonts/n022024l.pfb
+-#fontFile Symbol /usr/local/share/ghostscript/fonts/s050000l.pfb
+-#fontFile ZapfDingbats /usr/local/share/ghostscript/fonts/d050000l.pfb
++fontFile Times-Roman /usr/share/ghostscript/fonts/n021003l.pfb
++fontFile Times-Italic /usr/share/ghostscript/fonts/n021023l.pfb
++fontFile Times-Bold /usr/share/ghostscript/fonts/n021004l.pfb
++fontFile Times-BoldItalic /usr/share/ghostscript/fonts/n021024l.pfb
++fontFile Helvetica /usr/share/ghostscript/fonts/n019003l.pfb
++fontFile Helvetica-Oblique /usr/share/ghostscript/fonts/n019023l.pfb
++fontFile Helvetica-Bold /usr/share/ghostscript/fonts/n019004l.pfb
++fontFile Helvetica-BoldOblique /usr/share/ghostscript/fonts/n019024l.pfb
++fontFile Courier /usr/share/ghostscript/fonts/n022003l.pfb
++fontFile Courier-Oblique /usr/share/ghostscript/fonts/n022023l.pfb
++fontFile Courier-Bold /usr/share/ghostscript/fonts/n022004l.pfb
++fontFile Courier-BoldOblique /usr/share/ghostscript/fonts/n022024l.pfb
++fontFile Symbol /usr/share/ghostscript/fonts/s050000l.pfb
++fontFile ZapfDingbats /usr/share/ghostscript/fonts/d050000l.pfb
+
+ # If you need to display PDF files that refer to non-embedded fonts,
+ # you should add one or more fontDir options to point to the
+@@ -89,4 +89,4 @@
+ # clicked.
+
+ #launchCommand viewer-script
+-#urlCommand "netscape -remote 'openURL(%s)'"
++#urlCommand "firefox -remote 'openURL(%s)'"
diff --git a/patches/source/xpdf/slack-desc b/patches/source/xpdf/slack-desc
new file mode 100644
index 00000000..58072776
--- /dev/null
+++ b/patches/source/xpdf/slack-desc
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|'
+# on the right side marks the last column you can put a character in. You must
+# make exactly 11 lines for the formatting to be correct. It's also
+# customary to leave one space after the ':'.
+
+ |-----handy-ruler------------------------------------------------------|
+xpdf: xpdf (PDF viewer for X)
+xpdf:
+xpdf: Xpdf is a viewer for Portable Document Format (PDF) files.
+xpdf:
+xpdf: xpdf was written by Derek B. Noonburg.
+xpdf:
+xpdf:
+xpdf:
+xpdf:
+xpdf:
+xpdf:
diff --git a/patches/source/xpdf/xpdf.SlackBuild b/patches/source/xpdf/xpdf.SlackBuild
new file mode 100755
index 00000000..f9d3908f
--- /dev/null
+++ b/patches/source/xpdf/xpdf.SlackBuild
@@ -0,0 +1,151 @@
+#!/bin/sh
+
+# Copyright 2008, 2009, 2010, 2011, 2012, 2013 Patrick J. Volkerding, Sebeka, MN, USA
+# All rights reserved.
+#
+# Redistribution and use of this script, with or without modification, is
+# permitted provided that the following conditions are met:
+#
+# 1. Redistributions of this script must retain the above copyright
+# notice, this list of conditions and the following disclaimer.
+#
+# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED
+# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
+# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
+# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+VERSION=3.03
+PATCHLEVEL=
+BUILD=${BUILD:-1_slack13.0}
+
+NUMJOBS=${NUMJOBS:-" -j7 "}
+
+# Automatically determine the architecture we're building on:
+if [ -z "$ARCH" ]; then
+ case "$( uname -m )" in
+ i?86) export ARCH=i486 ;;
+ arm*) export ARCH=arm ;;
+ # Unless $ARCH is already set, use uname -m for all other archs:
+ *) export ARCH=$( uname -m ) ;;
+ esac
+fi
+
+if [ "$ARCH" = "i486" ]; then
+ SLKCFLAGS="-O2 -march=i486 -mtune=i686"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "s390" ]; then
+ SLKCFLAGS="-O2"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "x86_64" ]; then
+ SLKCFLAGS="-O2 -fPIC"
+ LIBDIRSUFFIX="64"
+else
+ SLKCFLAGS="-O2"
+ LIBDIRSUFFIX=""
+fi
+
+CWD=$(pwd)
+TMP=${TMP:-/tmp}
+PKG=$TMP/package-xpdf
+
+rm -rf $PKG
+mkdir -p $TMP $PKG
+
+cd $TMP
+rm -rf xpdf-$VERSION
+tar xvf $CWD/xpdf-$VERSION.tar.?z || exit 1
+cd xpdf-$VERSION || exit 1
+
+chown -R root:root .
+find . \
+ \( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \
+ -exec chmod 755 {} \; -o \
+ \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \
+ -exec chmod 644 {} \;
+
+zcat $CWD/patches/xpdfrc.diff.gz | patch -p1 --verbose || exit 1
+zcat $CWD/patches/xpdf.XPDFViewer.diff.gz | patch -p1 --verbose || exit 1
+zcat $CWD/patches/xpdf-3.03-CVE-2012-2142.diff.gz | patch -p1 --verbose || exit 1
+
+CFLAGS="$SLKCFLAGS" \
+CXXFLAGS="$SLKCFLAGS" \
+./configure \
+ --prefix=/usr \
+ --libdir=/usr/lib${LIBDIRSUFFIX} \
+ --mandir=/usr/man \
+ --sysconfdir=/etc \
+ --with-freetype2-includes=/usr/include/freetype2 \
+ --build=$ARCH-slackware-linux || exit 1
+
+make $NUMJOBS || make || exit 1
+make install DESTDIR=$PKG || exit 1
+
+chmod 0755 $PKG/usr/bin/*
+gzip -9 $PKG/usr/man/man?/*
+
+# We'll use the versions of these from the poppler derived work (if they exist here):
+( cd $PKG/usr/bin
+ rm -f pdfinfo pdftops pdftoppm pdftohtml pdftotext pdfimages pdffonts
+ cd $PKG/usr/man/man1
+ for file in pdfinfo pdftops pdftoppm pdftohtml pdftotext pdfimages pdffonts ; do
+ rm -f ${file}.1.gz
+ done
+)
+
+# Don't clobber /etc/xpdfrc
+mkdir -p $PKG/etc
+cat doc/sample-xpdfrc > $PKG/etc/xpdfrc
+mv $PKG/etc/xpdfrc $PKG/etc/xpdfrc.new
+
+# Add desktop menu entry and icon
+mkdir -p $PKG/usr/share/{applications,pixmaps}
+cat $CWD/xpdf.desktop > $PKG/usr/share/applications/xpdf.desktop
+cat xpdf/xpdfIcon.xpm > $PKG/usr/share/pixmaps/xpdfIcon.xpm
+
+# Add additional language support:
+for language in xpdf-arabic xpdf-chinese-simplified xpdf-chinese-traditional xpdf-cyrillic xpdf-greek xpdf-hebrew xpdf-japanese xpdf-korean xpdf-latin2 xpdf-thai xpdf-turkish ; do
+ rm -rf ${language}
+ tar xf $CWD/lang/${language}*.tar.gz
+ ( cd ${language}
+ echo "Patching for ${language}:"
+ zcat $CWD/lang/${language}.diff.gz | patch -p1 --verbose --backup --suffix=.orig || exit 1
+ chown -R root:root .
+ find . -type f -exec chmod 644 {} \;
+ cat add-to-xpdfrc >> $PKG/etc/xpdfrc.new
+ mkdir -p $PKG/usr/share/xpdf/$(echo ${language} | cut -f2- -d -)
+ cp -a * $PKG/usr/share/xpdf/$(echo ${language} | cut -f2- -d -)
+ ) || exit 1
+done
+
+find $PKG | xargs file | grep -e "executable" -e "shared object" \
+ | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
+
+mkdir -p $PKG/usr/doc/xpdf-$VERSION
+cp -a \
+ ANNOUNCE CHANGES COPYING INSTALL README \
+ $PKG/usr/doc/xpdf-$VERSION
+chmod 0644 $PKG/usr/doc/xpdf-$VERSION/*
+
+# If there's a ChangeLog, installing at least part of the recent history
+# is useful, but don't let it get totally out of control:
+if [ -r CHANGES ]; then
+ DOCSDIR=$(echo $PKG/usr/doc/*-$VERSION)
+ cat CHANGES | head -n 1000 > $DOCSDIR/CHANGES
+ touch -r CHANGES $DOCSDIR/CHANGES
+fi
+
+mkdir -p $PKG/install
+cat $CWD/slack-desc > $PKG/install/slack-desc
+zcat $CWD/doinst.sh.gz > $PKG/install/doinst.sh
+
+# Build the package:
+cd $PKG
+/sbin/makepkg -l y -c n $TMP/xpdf-${VERSION}${PATCHLEVEL}-$ARCH-$BUILD.txz
+
diff --git a/patches/source/xpdf/xpdf.desktop b/patches/source/xpdf/xpdf.desktop
new file mode 100644
index 00000000..51d1a5a6
--- /dev/null
+++ b/patches/source/xpdf/xpdf.desktop
@@ -0,0 +1,98 @@
+[Desktop Entry]
+Name=X PDF
+Name[bn]=à¦à¦•à§à¦¸ পি-ডি-à¦à¦«
+Name[de]=X-PDF
+Name[eo]=XPDF
+Name[es]=PDF para X
+Name[fr]=XPDF
+Name[hi]=à¤à¤•à¥à¤¸ पीडीà¤à¤«
+Name[ko]=Xìš© PDF
+Name[mn]=X-PDF
+Name[nds]=X-PDF
+Name[te]=à°Žà°•à±à°¸à± పిడిఎఫà±
+MimeType=application/pdf;
+GenericName=PDF Viewer
+GenericName[af]=Pdf Aansig
+GenericName[ar]=عارض الملÙات PDF
+GenericName[az]=PDF Nümayişçisi
+GenericName[be]=ПраглÑдальнік PDF
+GenericName[bg]=Преглед на PDF документи
+GenericName[bn]=পি-ডি-à¦à¦« পà§à¦°à¦¦à¦°à§à¦¶à¦•
+GenericName[br]=Gweler PDF
+GenericName[bs]=Preglednik PDF dokumenata
+GenericName[ca]=Visor PDF
+GenericName[cs]=ProhlížeÄ PDF souborů
+GenericName[csb]=Przezérnik PDF
+GenericName[cy]=Gwelydd PDF
+GenericName[da]=PDF-fremviser
+GenericName[de]=PDF-Betrachter
+GenericName[el]=ΠÏοβολέας PDF
+GenericName[eo]=PDF-rigardilo
+GenericName[es]=Visor de documentos PDF
+GenericName[et]=PDF failide vaatamine
+GenericName[eu]=PDF ikustailua
+GenericName[fa]=مشاهده‌گر PDF
+GenericName[fi]=PDF-näytin
+GenericName[fo]=PDF-vísari
+GenericName[fr]=Afficheur PDF
+GenericName[fy]=PDF-werjefteprogramma
+GenericName[ga]=Amharcán PDF
+GenericName[gl]=Visualizador de PDF
+GenericName[he]=מציג קבצי PDF
+GenericName[hi]=पीडीà¤à¤« पà¥à¤°à¤¦à¤°à¥à¤¶à¤•
+GenericName[hr]=Preglednik PDF dokumenata
+GenericName[hu]=PDF-nézegető
+GenericName[id]=Viewer PDF
+GenericName[is]=PDF-sjá
+GenericName[it]=Visualizzatore PDF
+GenericName[ja]=PDF ビューア
+GenericName[kk]=PDF қарау құралы
+GenericName[km]=កម្មវិធី​មើល PDF
+GenericName[ko]=PDF 보기
+GenericName[lo]=ສະà»àº”ງຜົນPDF
+GenericName[lt]=PDF Žiūriklis
+GenericName[lv]=PDF SkatÄ«tÄjs
+GenericName[mk]=Прегледувач на PDF
+GenericName[mn]=PDF-Харагч
+GenericName[ms]=Pemapar PDF
+GenericName[mt]=Werrej PDF
+GenericName[nb]=PDF-leser
+GenericName[nds]=Kieker för PDF-Dateien
+GenericName[ne]=PDF दरà¥à¤¶à¤•
+GenericName[nl]=PDF-weergaveprogramma
+GenericName[nn]=PDF-lesar
+GenericName[nso]=Molebeledi wa PDF
+GenericName[oc]=Visualisor PDF
+GenericName[pa]=PDF ਦਰਸ਼ਕ
+GenericName[pl]=Przeglądarka plików PDF
+GenericName[pt]=Visualizador de PDFs
+GenericName[pt_BR]=Visualizador de arquivos PDF
+GenericName[ro]=Vizualizor de documente PDF
+GenericName[ru]=ПроÑмотр PDF
+GenericName[rw]=Mugaragaza PDF
+GenericName[se]=PDF-logan
+GenericName[sk]=PrehliadaÄ PDF súborov
+GenericName[sl]=Pregledovalnik datotek PDF
+GenericName[sr]=PDF приказивач
+GenericName[sr@Latn]=PDF prikazivaÄ
+GenericName[ss]=Sibuki se PDF
+GenericName[sv]=PDF-visare
+GenericName[ta]=PDF காடà¯à®šà®¿
+GenericName[tg]=Ðамоишгари PDF
+GenericName[th]=ตัวà¹à¸ªà¸”งผล PDF
+GenericName[tr]=PDF Görüntüleyici
+GenericName[tt]=PDF Kürsätkeç
+GenericName[uk]=ПереглÑдач PDF
+GenericName[uz]=PDF кўрувчи
+GenericName[ven]=Tshivhoni tsha PDF
+GenericName[vi]=Trình xem PDF
+GenericName[wa]=HÃ¥yneu di documints PDF
+GenericName[zh_CN]=PDF 查看器
+GenericName[zh_TW]=PDF 檢視程å¼
+GenericName[zu]=Umbukisi we-PDF
+Exec=xpdf
+Icon=xpdfIcon
+Type=Application
+Terminal=false
+X-KDE-StartupNotify=false
+Categories=Graphics;
diff --git a/patches/source/xproto/arch.use.flags b/patches/source/xproto/arch.use.flags
new file mode 100644
index 00000000..11087c88
--- /dev/null
+++ b/patches/source/xproto/arch.use.flags
@@ -0,0 +1,9 @@
+if [ "$ARCH" = "i486" ]; then
+ SLKCFLAGS="-O2 -march=i486 -mtune=i686"
+elif [ "$ARCH" = "i586" ]; then
+ SLKCFLAGS="-O2 -march=i586 -mtune=i686"
+elif [ "$ARCH" = "s390" ]; then
+ SLKCFLAGS="-O2"
+elif [ "$ARCH" = "x86_64" ]; then
+ SLKCFLAGS="-O2 -fPIC"
+fi
diff --git a/patches/source/xproto/build/xproto b/patches/source/xproto/build/xproto
new file mode 100644
index 00000000..1551cb6a
--- /dev/null
+++ b/patches/source/xproto/build/xproto
@@ -0,0 +1 @@
+1_slack13.0
diff --git a/patches/source/xproto/configure/configure b/patches/source/xproto/configure/configure
new file mode 100644
index 00000000..dcb1109b
--- /dev/null
+++ b/patches/source/xproto/configure/configure
@@ -0,0 +1,13 @@
+CFLAGS=$SLKCFLAGS \
+CXXFLAGS=$SLKCFLAGS \
+./configure \
+ --prefix=/usr \
+ --libdir=/usr/lib${LIBDIRSUFFIX} \
+ --sysconfdir=/etc \
+ --localstatedir=/var \
+ --infodir=/usr/info \
+ --mandir=/usr/man \
+ --docdir=/usr/doc/${PKGNAME}-${MODULAR_PACKAGE_VERSION} \
+ --with-udev-rules-dir=/lib/udev/rules.d \
+ --disable-static \
+ --build=$ARCH-slackware-linux
diff --git a/patches/source/xproto/modularize b/patches/source/xproto/modularize
new file mode 100644
index 00000000..8a28ed93
--- /dev/null
+++ b/patches/source/xproto/modularize
@@ -0,0 +1,279 @@
+# If a package is listed here, it will be built apart from the
+# usual "grab bag" package that's made from each source directory.
+
+appres
+bdftopcf
+beforelight
+bigreqsproto
+bitmap
+compiz
+compositeproto
+damageproto
+dmxproto
+dri2proto
+dri3proto
+editres
+encodings
+evieext
+fixesproto
+font-adobe-100dpi
+font-adobe-75dpi
+font-adobe-utopia-100dpi
+font-adobe-utopia-75dpi
+font-adobe-utopia-type1
+font-alias
+font-arabic-misc
+font-bh-100dpi
+font-bh-75dpi
+font-bh-lucidatypewriter-100dpi
+font-bh-lucidatypewriter-75dpi
+font-bh-ttf
+font-bh-type1
+font-bitstream-100dpi
+font-bitstream-75dpi
+font-bitstream-speedo
+font-bitstream-type1
+font-cronyx-cyrillic
+font-cursor-misc
+font-daewoo-misc
+font-dec-misc
+font-ibm-type1
+font-isas-misc
+font-jis-misc
+font-micro-misc
+font-misc-cyrillic
+font-misc-ethiopic
+font-misc-meltho
+font-misc-misc
+font-mutt-misc
+font-schumacher-misc
+font-screen-cyrillic
+font-sony-misc
+font-sun-misc
+font-util
+font-winitzki-cyrillic
+font-xfree86-type1
+fontcacheproto
+fontsproto
+fonttosfnt
+fslsfonts
+fstobdf
+gccmakedep
+glamor-egl
+glproto
+iceauth
+ico
+imake
+inputproto
+intel-gpu-tools
+kbproto
+libFS
+libICE
+libSM
+libX11
+libXScrnSaver
+libXau
+libXaw
+libXaw3d
+libXcm
+libXcomposite
+libXcursor
+libXdamage
+libXdmcp
+libXevie
+libXext
+libXfixes
+libXfont
+libXfontcache
+libXft
+libXi
+libXinerama
+libXmu
+libXp
+libXpm
+libXpresent
+libXrandr
+libXrender
+libXres
+libXt
+libXtst
+libXv
+libXvMC
+libXxf86dga
+libXxf86misc
+libXxf86vm
+libdmx
+libfontenc
+libpciaccess
+libpthread-stubs
+libxcb
+libxkbfile
+libxshmfence
+listres
+lndir
+luit
+makedepend
+mkcomposecache
+mkfontdir
+mkfontscale
+oclock
+pixman
+presentproto
+printproto
+randrproto
+recordproto
+rendercheck
+renderproto
+resourceproto
+rgb
+scrnsaverproto
+sessreg
+setxkbmap
+showfont
+smproxy
+transset
+twm
+util-macros
+videoproto
+viewres
+x11perf
+xauth
+xbacklight
+xbiff
+xbitmaps
+xcalc
+xcb-proto
+xcb-util
+xcb-util-cursor
+xcb-util-errors
+xcb-util-image
+xcb-util-keysyms
+xcb-util-renderutil
+xcb-util-wm
+xclipboard
+xclock
+xcm
+xcmiscproto
+xcmsdb
+xcompmgr
+xconsole
+xcursor-themes
+xcursorgen
+xdbedizzy
+xditview
+xdm
+xdpyinfo
+xdriinfo
+xedit
+xev
+xextproto
+xeyes
+xf86-input-acecad
+xf86-input-aiptek
+xf86-input-evdev
+xf86-input-joystick
+xf86-input-keyboard
+xf86-input-mouse
+xf86-input-penmount
+xf86-input-synaptics
+xf86-input-vmmouse
+xf86-input-void
+xf86-input-wacom
+xf86-video-amdgpu
+xf86-video-apm
+xf86-video-ark
+xf86-video-ast
+xf86-video-ati
+xf86-video-chips
+xf86-video-cirrus
+xf86-video-dummy
+xf86-video-geode
+xf86-video-glint
+xf86-video-i128
+xf86-video-i740
+xf86-video-intel
+xf86-video-mach64
+xf86-video-mga
+xf86-video-modesetting
+xf86-video-neomagic
+xf86-video-nouveau
+xf86-video-nv
+xf86-video-omap
+xf86-video-openchrome
+xf86-video-qxl
+xf86-video-r128
+xf86-video-rendition
+xf86-video-s3
+xf86-video-s3virge
+xf86-video-savage
+xf86-video-siliconmotion
+xf86-video-sis
+xf86-video-sisusb
+xf86-video-tdfx
+xf86-video-tga
+xf86-video-trident
+xf86-video-tseng
+xf86-video-v4l
+xf86-video-vesa
+xf86-video-vmware
+xf86-video-voodoo
+xf86-video-xgi
+xf86-video-xgixp
+xf86bigfontproto
+xf86dga
+xf86dgaproto
+xf86driproto
+xf86miscproto
+xf86vidmodeproto
+xfd
+xfontsel
+xfs
+xfsinfo
+xgamma
+xgc
+xhost
+xineramaproto
+xinit
+xinput
+xkbcomp
+xkbevd
+xkbprint
+xkbutils
+xkeyboard-config
+xkill
+xload
+xlogo
+xlsatoms
+xlsclients
+xlsfonts
+xmag
+xman
+xmessage
+xmh
+xmodmap
+xmore
+xorg-cf-files
+xorg-docs
+xorg-server
+xorg-server-xephyr
+xorg-server-xnest
+xorg-server-xvfb
+xorg-sgml-doctools
+xpr
+xprop
+xproto
+xpyb
+xrandr
+xrdb
+xrefresh
+xscope
+xset
+xsetroot
+xsm
+xstdcmap
+xtrans
+xvidtune
+xvinfo
+xwd
+xwininfo
+xwud
diff --git a/patches/source/xproto/noarch b/patches/source/xproto/noarch
new file mode 100644
index 00000000..8785ee52
--- /dev/null
+++ b/patches/source/xproto/noarch
@@ -0,0 +1,75 @@
+# List packages with an $ARCH of "noarch" (i.e. packages
+# that contain no binaries) here:
+bigreqsproto
+compositeproto
+damageproto
+dejavu-ttf
+dmxproto
+encodings
+evieext
+font-adobe-100dpi
+font-adobe-75dpi
+font-adobe-utopia-100dpi
+font-adobe-utopia-75dpi
+font-adobe-utopia-type1
+font-alias
+font-arabic-misc
+font-bh-100dpi
+font-bh-75dpi
+font-bh-lucidatypewriter-100dpi
+font-bh-lucidatypewriter-75dpi
+font-bh-ttf
+font-bh-type1
+font-bitstream-100dpi
+font-bitstream-75dpi
+font-bitstream-speedo
+font-bitstream-type1
+font-cronyx-cyrillic
+font-cursor-misc
+font-daewoo-misc
+font-dec-misc
+font-ibm-type1
+font-isas-misc
+font-jis-misc
+font-micro-misc
+font-misc-cyrillic
+font-misc-ethiopic
+font-misc-meltho
+font-misc-misc
+font-mutt-misc
+font-schumacher-misc
+font-screen-cyrillic
+font-sony-misc
+font-sun-misc
+font-winitzki-cyrillic
+font-xfree86-type1
+fontcacheproto
+fontsproto
+gccmakedep
+glproto
+inputproto
+kbproto
+libpthread-stubs
+mkfontdir
+printproto
+randrproto
+recordproto
+renderproto
+resourceproto
+scrnsaverproto
+ttf-indic-fonts
+util-macros
+videoproto
+x11-skel
+xcmiscproto
+xcursor-themes
+xf86bigfontproto
+xf86dgaproto
+xf86driproto
+xf86miscproto
+xf86vidmodeproto
+xineramaproto
+xkeyboard-config
+xorg-docs
+xproto
+xtrans
diff --git a/patches/source/xproto/package-blacklist b/patches/source/xproto/package-blacklist
new file mode 100644
index 00000000..603b8c31
--- /dev/null
+++ b/patches/source/xproto/package-blacklist
@@ -0,0 +1,44 @@
+# Enter packages to skip (perhaps because they aren't used on
+# this platform) below. Just the package name -- no version
+# number is needed.
+
+# ARM only packages:
+# They also say in the README for this one that it is not yet ready:
+xf86-video-omap
+
+# MacOS related packages:
+applewmproto
+windowswmproto
+libAppleWM
+libWindowsWM
+
+# Sun video cards:
+xf86-video-sunbw2
+xf86-video-suncg14
+xf86-video-suncg3
+xf86-video-suncg6
+xf86-video-sunffb
+xf86-video-sunleo
+xf86-video-suntcx
+
+# Obsolete packages:
+liboldX
+xf86-video-amd
+xf86-video-via
+xkbdata
+xphelloworld
+xrx
+xf86-video-modesetting
+
+# Not applicable to us
+grandr
+constype
+
+# CAREFUL NOT TO "SHIP" THE STUFF BELOW IN THE MAIN X PACKAGES DIR!
+
+# This is probably obsolete, and kills "X -configure" too
+xf86-video-nsc
+
+# We don't want this one, as it causes failure of X with no xorg.conf
+xf86-video-fbdev
+
diff --git a/patches/source/xproto/post-install/xproto.post-install b/patches/source/xproto/post-install/xproto.post-install
new file mode 100644
index 00000000..5a3b79b3
--- /dev/null
+++ b/patches/source/xproto/post-install/xproto.post-install
@@ -0,0 +1,2 @@
+# bloat
+rm -rf $PKG/usr/doc/xproto
diff --git a/patches/source/xproto/slack-desc/xproto b/patches/source/xproto/slack-desc/xproto
new file mode 100644
index 00000000..1c230b1e
--- /dev/null
+++ b/patches/source/xproto/slack-desc/xproto
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|'
+# on the right side marks the last column you can put a character in. You must
+# make exactly 11 lines for the formatting to be correct. It's also
+# customary to leave one space after the ':'.
+
+ |-----handy-ruler------------------------------------------------------|
+xproto: xproto (C prototypes for X Window System Core Protocol)
+xproto:
+xproto: xproto is part of X11.
+xproto:
+xproto: For more information about the X.Org Foundation (the providers of the
+xproto: X.Org implementation of the X Window System), see their website:
+xproto:
+xproto: http://www.x.org
+xproto:
+xproto:
+xproto:
diff --git a/patches/source/xproto/x11.SlackBuild b/patches/source/xproto/x11.SlackBuild
new file mode 100755
index 00000000..c3887dff
--- /dev/null
+++ b/patches/source/xproto/x11.SlackBuild
@@ -0,0 +1,381 @@
+#!/bin/sh
+# Copyright 2007-2014 Patrick J. Volkerding, Sebeka, MN, USA
+# All rights reserved.
+#
+# Redistribution and use of this script, with or without modification, is
+# permitted provided that the following conditions are met:
+#
+# 1. Redistributions of this script must retain the above copyright
+# notice, this list of conditions and the following disclaimer.
+#
+# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED
+# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
+# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
+# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+# To build only a single package group, specify it as $1, like:
+# ./x11.SlackBuild lib
+# To build only a single package, specify both the source directory
+# and the name of the package, like:
+# ./x11.SlackBuild lib libX11
+
+# Upgrade packages as they are built.
+# Default is to upgrade new packages (UPGRADE_PACKAGES=yes).
+# To install ALL newly built packages (even if they are already installed),
+# use UPGRADE_PACKAGES=always
+# To not upgrade, pass UPGRADE_PACKAGES=no
+UPGRADE_PACKAGES=${UPGRADE_PACKAGES:-yes}
+
+pkgbase() {
+ PKGEXT=$(echo $1 | rev | cut -f 1 -d . | rev)
+ case $PKGEXT in
+ 'gz' )
+ PKGRETURN=$(basename $1 .tar.gz)
+ ;;
+ 'bz2' )
+ PKGRETURN=$(basename $1 .tar.bz2)
+ ;;
+ 'lzma' )
+ PKGRETURN=$(basename $1 .tar.lzma)
+ ;;
+ 'xz' )
+ PKGRETURN=$(basename $1 .tar.xz)
+ ;;
+ *)
+ PKGRETURN=$(basename $1)
+ ;;
+ esac
+ echo $PKGRETURN
+}
+
+# Set initial variables:
+CWD=$(pwd)
+TMP=${TMP:-/tmp}
+
+# Automatically determine the architecture we're building on:
+if [ -z "$ARCH" ]; then
+ case "$( uname -m )" in
+ i?86) export ARCH=i486 ;;
+ arm*) export ARCH=arm ;;
+ # Unless $ARCH is already set, use uname -m for all other archs:
+ *) export ARCH=$( uname -m ) ;;
+ esac
+fi
+
+# A lot of this stuff just controls the package names this time:
+VERSION=${VERSION:-7.5}
+BUILD=${BUILD:-1}
+PKGARCH=$ARCH
+NUMJOBS=${NUMJOBS:-" -j7 "}
+
+if [ "$ARCH" = "x86_64" ]; then
+ LIBDIRSUFFIX="64"
+else
+ LIBDIRSUFFIX=""
+fi
+
+# Set up a few useful functions:
+
+fix_perms() {
+ chown -R root:root .
+ find . \
+ \( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \
+ -exec chmod 755 {} \; -o \
+ \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \
+ -exec chmod 644 {} \;
+}
+
+process_man_pages() {
+ # Compress and if needed symlink the man pages:
+ if [ -d usr/man ]; then
+ ( cd usr/man
+ for manpagedir in $(find . -type d -name "man*") ; do
+ ( cd $manpagedir
+ for eachpage in $( find . -type l -maxdepth 1) ; do
+ ln -s $( readlink $eachpage ).gz $eachpage.gz
+ rm $eachpage
+ done
+ gzip -9 *.*
+ )
+ done
+ )
+ fi
+}
+
+process_info_pages() {
+ # Compress info pages and purge "dir" file from the package:
+ if [ -d usr/info ]; then
+ ( cd usr/info
+ rm -f dir
+ gzip -9 *
+ )
+ fi
+}
+
+no_usr_share_doc() {
+ # If there are docs, move them:
+ if [ -d usr/share/doc ]; then
+ mkdir -p usr/doc
+ mv usr/share/doc/* usr/doc
+ rmdir usr/share/doc
+ fi
+}
+
+# Set the compile options for the $ARCH being used:
+. $CWD/arch.use.flags
+
+SLACK_X_BUILD_DIR=$TMP/x11-build
+mkdir -p $SLACK_X_BUILD_DIR
+
+# Better have some binaries installed first, as this may not be
+# in the "magic order". I built mine by hand through trial-and-error
+# before getting this script to work. It wasn't that hard... I think. ;-)
+( cd src
+ for x_source_dir in proto data util xcb lib app doc xserver driver font ; do
+ # See if $1 is a source directory like "lib":
+ if [ ! -z "$1" ]; then
+ if [ ! "$1" = "${x_source_dir}" ]; then
+ continue
+ fi
+ fi
+ PKG=${SLACK_X_BUILD_DIR}/package-${x_source_dir}
+ rm -rf $PKG
+ mkdir -p $PKG
+ ( cd $x_source_dir
+ for x_pkg in *.tar.?z* ; do
+ # Reset $PKGARCH to its initial value:
+ PKGARCH=$ARCH
+ PKGNAME=$(echo $x_pkg | rev | cut -f 2- -d - | rev)
+ # Perhaps $PKGARCH should be something different:
+ if grep -wq "^$PKGNAME" ${CWD}/noarch ; then
+ PKGARCH=noarch
+ fi
+ if grep -wq "^$PKGNAME" ${CWD}/package-blacklist ; then
+ continue
+ fi
+ cd $SLACK_X_BUILD_DIR
+ # If $2 is set, we only want to build one package:
+ if [ ! -z "$2" ]; then
+ if [ "$2" = "$PKGNAME" ]; then
+ # Set $PKG to a private dir for the modular package build:
+ PKG=$SLACK_X_BUILD_DIR/package-$PKGNAME
+ rm -rf $PKG
+ mkdir -p $PKG
+ else
+ continue
+ fi
+ else
+ echo
+ echo "Building from source ${x_pkg}"
+ echo
+ fi
+ if grep -wq "^$PKGNAME" ${CWD}/modularize ; then
+ # Set $PKG to a private dir for the modular package build:
+ PKG=$SLACK_X_BUILD_DIR/package-$PKGNAME
+ rm -rf $PKG
+ mkdir -p $PKG
+ fi
+
+ # Let's figure out the version number on the modular package:
+ MODULAR_PACKAGE_VERSION=$(echo $x_pkg | rev | cut -f 3- -d . | cut -f 1 -d - | rev)
+
+ rm -rf $(pkgbase $x_pkg)
+ tar xf $CWD/src/${x_source_dir}/${x_pkg} || exit 1
+ cd $(pkgbase $x_pkg) || exit 1
+
+ fix_perms
+
+ # If any patches are needed, call this script to apply them:
+ if [ -r $CWD/patch/${PKGNAME}.patch ]; then
+ . $CWD/patch/${PKGNAME}.patch
+ fi
+
+ # I heard somewhere that -O2 breaks some chipset or another. If you encounter
+ # problems, please contact volkerdi@slackware.com. Thanks! :-)
+
+ # ./configure, using custom configure script if needed:
+ if [ -r $CWD/configure/${PKGNAME} ]; then
+ . $CWD/configure/${PKGNAME}
+ else
+ # This is the default configure script:
+ . $CWD/configure/configure
+ fi
+
+ if ! make $NUMJOBS ; then
+ touch ${SLACK_X_BUILD_DIR}/${PKGNAME}.failed
+ continue
+ fi
+
+ make install DESTDIR=$PKG
+
+ mkdir -p $PKG/usr/doc/${PKGNAME}-${MODULAR_PACKAGE_VERSION}
+ cp -a \
+ AUTHORS* COPYING* INSTALL* README* NEWS* TODO* \
+ $PKG/usr/doc/${PKGNAME}-${MODULAR_PACKAGE_VERSION}
+
+ # If there's a ChangeLog, installing at least part of the recent history
+ # is useful, but don't let it get totally out of control:
+ if [ -r ChangeLog ]; then
+ DOCSDIR=$(echo $PKG/usr/doc/${PKGNAME}-$MODULAR_PACKAGE_VERSION)
+ cat ChangeLog | head -n 1000 > $DOCSDIR/ChangeLog
+ touch -r ChangeLog $DOCSDIR/ChangeLog
+ fi
+
+ # Get rid of zero-length junk files:
+ find $PKG/usr/doc/${PKGNAME}-$MODULAR_PACKAGE_VERSION -type f -size 0 -exec rm --verbose "{}" \;
+ rmdir --verbose $PKG/usr/doc/${PKGNAME}-$MODULAR_PACKAGE_VERSION 2> /dev/null
+
+ # Strip binaries:
+ ( cd $PKG
+ find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
+ find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
+ find . | xargs file | grep "current ar archive" | grep ELF | cut -f 1 -d : | xargs strip -g 2> /dev/null
+ )
+
+ # If there's any special post-install things to do, do them:
+ if [ -r $CWD/post-install/${PKGNAME}.post-install ]; then
+ RUNSCRIPT=$(mktemp -p $TMP) || exit 1
+ cat $CWD/post-install/${PKGNAME}.post-install \
+ | sed -e "s#usr/lib#usr/lib${LIBDIRSUFFIX}#g" > $RUNSCRIPT
+ . $RUNSCRIPT
+ rm -f $RUNSCRIPT
+ fi
+
+ # If this package requires some doinst.sh material, add it here:
+ if [ -r $CWD/doinst.sh/${PKGNAME} ]; then
+ mkdir -p $PKG/install
+ cat $CWD/doinst.sh/${PKGNAME} \
+ | sed -e "s#usr/lib#usr/lib${LIBDIRSUFFIX}#g" \
+ >> $PKG/install/doinst.sh
+ fi
+
+ # If this is a modular package, build it here:
+ if [ -d $SLACK_X_BUILD_DIR/package-$PKGNAME ]; then
+ cd $PKG
+ process_man_pages
+ process_info_pages
+ no_usr_share_doc
+ mkdir -p $PKG/install
+ if [ -r $CWD/slack-desc/${PKGNAME} ]; then
+ cat $CWD/slack-desc/${PKGNAME} > $PKG/install/slack-desc
+ else
+ touch $PKG/install/slack-desc-missing
+ fi
+ if [ -r $CWD/build/${PKGNAME} ]; then
+ MODBUILD=$(cat $CWD/build/${PKGNAME})
+ else
+ MODBUILD=$BUILD
+ fi
+ if [ -r $CWD/makepkg/${PKGNAME} ]; then
+ BUILD=$MODBUILD . $CWD/makepkg/${PKGNAME}
+ else
+ /sbin/makepkg -l y -c n ${SLACK_X_BUILD_DIR}/${PKGNAME}-${MODULAR_PACKAGE_VERSION}-${PKGARCH}-${MODBUILD}.txz
+ if [ "$UPGRADE_PACKAGES" = "yes" ]; then
+ /sbin/upgradepkg --install-new ${SLACK_X_BUILD_DIR}/${PKGNAME}-${MODULAR_PACKAGE_VERSION}-${PKGARCH}-${MODBUILD}.txz
+ elif [ "$UPGRADE_PACKAGES" = "always" ]; then
+ /sbin/upgradepkg --install-new --reinstall ${SLACK_X_BUILD_DIR}/${PKGNAME}-${MODULAR_PACKAGE_VERSION}-${PKGARCH}-${MODBUILD}.txz
+ fi
+ fi
+ fi
+
+ # Reset $PKG to assume we're building the whole source dir:
+ PKG=${SLACK_X_BUILD_DIR}/package-${x_source_dir}
+
+ done
+
+ # Nothing here? Must have been fully modular. :-)
+ if [ ! -d ${SLACK_X_BUILD_DIR}/package-${x_source_dir}/etc -a \
+ ! -d ${SLACK_X_BUILD_DIR}/package-${x_source_dir}/usr ]; then
+ continue
+ fi
+
+ # Build an "x11-<sourcedir>" package for anything that wasn't built modular:
+ # It's safer to consider these to have binaries in them. ;-)
+ PKGARCH=$ARCH
+ cd $PKG
+ process_man_pages
+ process_info_pages
+ no_usr_share_doc
+ # If there are post-install things to do for the combined package,
+ # we do them here. This could be used for things like making a
+ # VERSION number for a combined package. :-)
+ if [ -r $CWD/post-install/x11-${x_source_dir}.post-install ]; then
+ RUNSCRIPT=$(mktemp -p $TMP) || exit 1
+ cat $CWD/post-install/x11-${x_source_dir}.post-install \
+ | sed -e "s#usr/lib#usr/lib${LIBDIRSUFFIX}#g" > $RUNSCRIPT
+ . $RUNSCRIPT
+ rm -f $RUNSCRIPT
+ fi
+ mkdir -p $PKG/install
+ if [ -r $CWD/slack-desc/x11-${x_source_dir} ]; then
+ cat $CWD/slack-desc/x11-${x_source_dir} > $PKG/install/slack-desc
+ else
+ touch $PKG/install/slack-desc-missing
+ fi
+ if [ -r $CWD/doinst.sh/x11-${x_source_dir} ]; then
+ cat $CWD/doinst.sh/x11-${x_source_dir} \
+ | sed -e "s#usr/lib#usr/lib${LIBDIRSUFFIX}#g" \
+ >> $PKG/install/doinst.sh
+ fi
+ if [ -r $CWD/build/x11-${PKGNAME} ]; then
+ SRCDIRBUILD=$(cat $CWD/build/x11-${PKGNAME})
+ else
+ SRCDIRBUILD=$BUILD
+ fi
+ if [ -r $CWD/makepkg/${PKGNAME} ]; then
+ BUILD=$MODBUILD . $CWD/makepkg/${PKGNAME}
+ else
+ /sbin/makepkg -l y -c n ${SLACK_X_BUILD_DIR}/x11-${x_source_dir}-${VERSION}-${PKGARCH}-${SRCDIRBUILD}.txz
+ if [ "$UPGRADE_PACKAGES" = "yes" ]; then
+ /sbin/upgradepkg --install-new ${SLACK_X_BUILD_DIR}/x11-${x_source_dir}-${VERSION}-${PKGARCH}-${SRCDIRBUILD}.txz
+ elif [ "$UPGRADE_PACKAGES" = "always" ]; then
+ /sbin/upgradepkg --install-new --reinstall ${SLACK_X_BUILD_DIR}/x11-${x_source_dir}-${VERSION}-${PKGARCH}-${SRCDIRBUILD}.txz
+ fi
+ fi
+ )
+ done
+)
+
+exit 0
+
+# I don't think I'll be using the following stuff, since I went for the latest in
+# "individual", rather than a release. That was mostly because version 7.1 depends
+# on a version of Mesa that won't build against kernel headers this new (&etc.).
+
+# If environment variable "REFRESH" is exported, start by refreshing the source tree:
+# export REFRESH yes
+if [ ! -z "$REFRESH" ]; then
+ # Only works once, unless you uncomment above.
+ unset REFRESH
+ ( cd patches
+ lftp -c \
+ "lftp ftp://ftp.x.org:/pub/X11R7.1/patches
+ mirror --delete --dereference .
+ exit"
+ chmod 644 *
+ )
+ ( cd src
+ mkdir -p update everything
+ for dir in app data deprecated doc driver extras font lib proto util xserver ; do
+ # We won't really download "update", as problems ensue. Plus, --dereference is
+ # bringing us updated files when needed, so it's redundant (like "everything").
+ if [ ! -d $dir ]; then
+ mkdir $dir
+ fi
+ ( cd $dir
+ lftp -c \
+ "lftp ftp://ftp.x.org:/pub/X11R7.1/src/$dir
+ mirror -c --delete --dereference --include-glob "*.tar.bz2" .
+ exit"
+ chmod 644 *
+ )
+ done
+ )
+fi
+
diff --git a/patches/source/xproto/xproto.SlackBuild b/patches/source/xproto/xproto.SlackBuild
new file mode 100755
index 00000000..34af847e
--- /dev/null
+++ b/patches/source/xproto/xproto.SlackBuild
@@ -0,0 +1,2 @@
+UPGRADE_PACKAGES=no ./x11.SlackBuild proto xproto
+mv /tmp/x11-build/xproto*txz /tmp
diff --git a/patches/source/xrdb/arch.use.flags b/patches/source/xrdb/arch.use.flags
new file mode 100644
index 00000000..f28a6cca
--- /dev/null
+++ b/patches/source/xrdb/arch.use.flags
@@ -0,0 +1,7 @@
+if [ "$ARCH" = "i486" ]; then
+ SLKCFLAGS="-O2 -march=i486 -mtune=i686"
+elif [ "$ARCH" = "s390" ]; then
+ SLKCFLAGS="-O2"
+elif [ "$ARCH" = "x86_64" ]; then
+ SLKCFLAGS="-O2 -fPIC"
+fi
diff --git a/patches/source/xrdb/build/xrdb b/patches/source/xrdb/build/xrdb
new file mode 100644
index 00000000..1551cb6a
--- /dev/null
+++ b/patches/source/xrdb/build/xrdb
@@ -0,0 +1 @@
+1_slack13.0
diff --git a/patches/source/xrdb/configure/configure b/patches/source/xrdb/configure/configure
new file mode 100644
index 00000000..0f3bccf2
--- /dev/null
+++ b/patches/source/xrdb/configure/configure
@@ -0,0 +1,12 @@
+CFLAGS=$SLKCFLAGS \
+CXXFLAGS=$SLKCFLAGS \
+./configure \
+ --prefix=/usr \
+ --libdir=/usr/lib${LIBDIRSUFFIX} \
+ --sysconfdir=/etc \
+ --localstatedir=/var \
+ --infodir=/usr/info \
+ --mandir=/usr/man \
+ --docdir=/usr/doc/${PKGNAME}-${MODULAR_PACKAGE_VERSION} \
+ --disable-static \
+ --build=$ARCH-slackware-linux
diff --git a/patches/source/xrdb/modularize b/patches/source/xrdb/modularize
new file mode 100644
index 00000000..47da583f
--- /dev/null
+++ b/patches/source/xrdb/modularize
@@ -0,0 +1,293 @@
+# If a package is listed here, it will be built apart from the
+# usual "grab bag" package that's made from each source directory.
+
+applewmproto
+appres
+bdftopcf
+beforelight
+bigreqsproto
+bitmap
+compiz
+compositeproto
+constype
+damageproto
+dmxproto
+dri2proto
+editres
+encodings
+evieext
+fixesproto
+font-adobe-100dpi
+font-adobe-75dpi
+font-adobe-utopia-100dpi
+font-adobe-utopia-75dpi
+font-adobe-utopia-type1
+font-alias
+font-arabic-misc
+font-bh-100dpi
+font-bh-75dpi
+font-bh-lucidatypewriter-100dpi
+font-bh-lucidatypewriter-75dpi
+font-bh-ttf
+font-bh-type1
+font-bitstream-100dpi
+font-bitstream-75dpi
+font-bitstream-speedo
+font-bitstream-type1
+font-cronyx-cyrillic
+font-cursor-misc
+font-daewoo-misc
+font-dec-misc
+font-ibm-type1
+font-isas-misc
+font-jis-misc
+font-micro-misc
+font-misc-cyrillic
+font-misc-ethiopic
+font-misc-meltho
+font-misc-misc
+font-mutt-misc
+font-schumacher-misc
+font-screen-cyrillic
+font-sony-misc
+font-sun-misc
+font-util
+font-winitzki-cyrillic
+font-xfree86-type1
+fontcacheproto
+fontsproto
+fonttosfnt
+fslsfonts
+fstobdf
+gccmakedep
+glproto
+iceauth
+ico
+imake
+inputproto
+intel-gpu-tools
+kbproto
+libAppleWM
+libFS
+libICE
+libSM
+libWindowsWM
+libX11
+libXScrnSaver
+libXTrap
+libXau
+libXaw
+libXcomposite
+libXcursor
+libXdamage
+libXdmcp
+libXevie
+libXext
+libXfixes
+libXfont
+libXfontcache
+libXft
+libXi
+libXinerama
+libXmu
+libXp
+libXpm
+libXprintAppUtil
+libXprintUtil
+libXrandr
+libXrender
+libXres
+libXt
+libXtst
+libXv
+libXvMC
+libXxf86dga
+libXxf86misc
+libXxf86vm
+libdmx
+libfontenc
+libpciaccess
+libpthread-stubs
+libxcb
+libxkbfile
+libxkbui
+listres
+lndir
+luit
+makedepend
+mkcfm
+mkcomposecache
+mkfontdir
+mkfontscale
+oclock
+pixman
+printproto
+proxymngr
+randrproto
+recordproto
+rendercheck
+renderproto
+resourceproto
+rgb
+rstart
+scripts
+scrnsaverproto
+sessreg
+setxkbmap
+showfont
+smproxy
+trapproto
+twm
+util-macros
+videoproto
+viewres
+windowswmproto
+x11perf
+xauth
+xbacklight
+xbiff
+xbitmaps
+xcalc
+xcb-proto
+xcb-util
+xclipboard
+xclock
+xcmiscproto
+xcmsdb
+xcompmgr
+xconsole
+xcursor-themes
+xcursorgen
+xdbedizzy
+xditview
+xdm
+xdpyinfo
+xdriinfo
+xedit
+xev
+xextproto
+xeyes
+xf86-input-acecad
+xf86-input-aiptek
+xf86-input-citron
+xf86-input-evdev
+xf86-input-joystick
+xf86-input-keyboard
+xf86-input-mouse
+xf86-input-penmount
+xf86-input-synaptics
+xf86-input-vmmouse
+xf86-input-void
+xf86-input-wacom
+xf86-video-geode
+xf86-video-apm
+xf86-video-ark
+xf86-video-ast
+xf86-video-ati
+xf86-video-chips
+xf86-video-cirrus
+xf86-video-dummy
+xf86-video-fbdev
+xf86-video-glint
+xf86-video-i128
+xf86-video-i740
+xf86-video-i810
+xf86-video-intel
+xf86-video-mach64
+xf86-video-mga
+xf86-video-neomagic
+xf86-video-nouveau
+xf86-video-nsc
+xf86-video-nv
+xf86-video-openchrome
+xf86-video-r128
+xf86-video-rendition
+xf86-video-s3
+xf86-video-s3virge
+xf86-video-savage
+xf86-video-siliconmotion
+xf86-video-sis
+xf86-video-sisusb
+xf86-video-sunbw2
+xf86-video-suncg14
+xf86-video-suncg3
+xf86-video-suncg6
+xf86-video-sunffb
+xf86-video-sunleo
+xf86-video-suntcx
+xf86-video-tdfx
+xf86-video-tga
+xf86-video-trident
+xf86-video-tseng
+xf86-video-v4l
+xf86-video-vesa
+xf86-video-vmware
+xf86-video-voodoo
+xf86-video-wsfb
+xf86-video-xgi
+xf86-video-xgixp
+xf86bigfontproto
+xf86dga
+xf86dgaproto
+xf86driproto
+xf86miscproto
+xf86rushproto
+xf86vidmodeproto
+xfd
+xfindproxy
+xfontsel
+xfs
+xfsinfo
+xfwp
+xgamma
+xgc
+xhost
+xineramaproto
+xinit
+xinput
+xkbcomp
+xkbevd
+xkbprint
+xkbutils
+xkeyboard-config
+xkill
+xload
+xlogo
+xlsatoms
+xlsclients
+xlsfonts
+xmag
+xman
+xmessage
+xmh
+xmodmap
+xmore
+xorg-cf-files
+xorg-docs
+xorg-server
+xorg-sgml-doctools
+xphelloworld
+xplsprinters
+xpr
+xprehashprinterlist
+xprop
+xproto
+xproxymanagementprotocol
+xpyb
+xrandr
+xrdb
+xrefresh
+xscope
+xset
+xsetmode
+xsetpointer
+xsetroot
+xsm
+xstdcmap
+xtrans
+xtrap
+xvidtune
+xvinfo
+xwd
+xwininfo
+xwud
diff --git a/patches/source/xrdb/noarch b/patches/source/xrdb/noarch
new file mode 100644
index 00000000..79eb0e56
--- /dev/null
+++ b/patches/source/xrdb/noarch
@@ -0,0 +1,81 @@
+# List packages with an $ARCH of "noarch" (i.e. packages
+# that contain no binaries) here:
+bigreqsproto
+compositeproto
+damageproto
+dejavu-ttf
+dmxproto
+encodings
+evieext
+font-adobe-100dpi
+font-adobe-75dpi
+font-adobe-utopia-100dpi
+font-adobe-utopia-75dpi
+font-adobe-utopia-type1
+font-alias
+font-arabic-misc
+font-bh-100dpi
+font-bh-75dpi
+font-bh-lucidatypewriter-100dpi
+font-bh-lucidatypewriter-75dpi
+font-bh-ttf
+font-bh-type1
+font-bitstream-100dpi
+font-bitstream-75dpi
+font-bitstream-speedo
+font-bitstream-type1
+font-cronyx-cyrillic
+font-cursor-misc
+font-daewoo-misc
+font-dec-misc
+font-ibm-type1
+font-isas-misc
+font-jis-misc
+font-micro-misc
+font-misc-cyrillic
+font-misc-ethiopic
+font-misc-meltho
+font-misc-misc
+font-mutt-misc
+font-schumacher-misc
+font-screen-cyrillic
+font-sony-misc
+font-sun-misc
+font-winitzki-cyrillic
+font-xfree86-type1
+fontcacheproto
+fontsproto
+gccmakedep
+glproto
+inputproto
+kbproto
+libpthread-stubs
+mkfontdir
+printproto
+randrproto
+recordproto
+renderproto
+resourceproto
+scripts
+scrnsaverproto
+trapproto
+ttf-indic-fonts
+util-macros
+videoproto
+x11-skel
+xcb-proto
+xcmiscproto
+xcursor-themes
+xf86bigfontproto
+xf86dgaproto
+xf86driproto
+xf86miscproto
+xf86rushproto
+xf86vidmodeproto
+xineramaproto
+xkeyboard-config
+xorg-cf-files
+xorg-docs
+xproto
+xproxymanagementprotocol
+xtrans
diff --git a/patches/source/xrdb/package-blacklist b/patches/source/xrdb/package-blacklist
new file mode 100644
index 00000000..37762499
--- /dev/null
+++ b/patches/source/xrdb/package-blacklist
@@ -0,0 +1,39 @@
+# Enter packages to skip (perhaps because they aren't used on
+# this platform) below. Just the package name -- no version
+# number is needed.
+
+# MacOS related packages:
+applewmproto
+windowswmproto
+libAppleWM
+libWindowsWM
+
+# Sun video cards:
+xf86-video-sunbw2
+xf86-video-suncg14
+xf86-video-suncg3
+xf86-video-suncg6
+xf86-video-sunffb
+xf86-video-sunleo
+xf86-video-suntcx
+
+# Obsolete packages:
+liboldX
+xf86-video-amd
+xf86-video-via
+xkbdata
+xphelloworld
+xrx
+
+# Not applicable to us
+grandr
+constype
+
+# CAREFUL NOT TO "SHIP" THE STUFF BELOW IN THE MAIN X PACKAGES DIR!
+
+# This is probably obsolete, and kills "X -configure" too
+xf86-video-nsc
+
+# We don't want this one, as it causes failure of X with no xorg.conf
+xf86-video-fbdev
+
diff --git a/patches/source/xrdb/slack-desc/xrdb b/patches/source/xrdb/slack-desc/xrdb
new file mode 100644
index 00000000..26ea4786
--- /dev/null
+++ b/patches/source/xrdb/slack-desc/xrdb
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|'
+# on the right side marks the last column you can put a character in. You must
+# make exactly 11 lines for the formatting to be correct. It's also
+# customary to leave one space after the ':'.
+
+ |-----handy-ruler------------------------------------------------------|
+xrdb: xrdb
+xrdb:
+xrdb: xrdb is part of X11.
+xrdb:
+xrdb: For more information about the X.Org Foundation (the providers of the
+xrdb: X.Org implementation of the X Window System), see their website:
+xrdb:
+xrdb: http://www.x.org
+xrdb:
+xrdb:
+xrdb:
diff --git a/patches/source/xrdb/x11.SlackBuild b/patches/source/xrdb/x11.SlackBuild
new file mode 100755
index 00000000..ca729708
--- /dev/null
+++ b/patches/source/xrdb/x11.SlackBuild
@@ -0,0 +1,364 @@
+#!/bin/sh
+# Copyright 2007-2010 Patrick J. Volkerding, Sebeka, MN, USA
+# All rights reserved.
+#
+# Redistribution and use of this script, with or without modification, is
+# permitted provided that the following conditions are met:
+#
+# 1. Redistributions of this script must retain the above copyright
+# notice, this list of conditions and the following disclaimer.
+#
+# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED
+# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
+# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
+# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+# To build only a single package group, specify it as $1, like:
+# ./x11.SlackBuild lib
+# To build only a single package, specify both the source directory
+# and the name of the package, like:
+# ./x11.SlackBuild lib libX11
+
+pkgbase() {
+ PKGEXT=$(echo $1 | rev | cut -f 1 -d . | rev)
+ case $PKGEXT in
+ 'gz' )
+ PKGRETURN=$(basename $1 .tar.gz)
+ ;;
+ 'bz2' )
+ PKGRETURN=$(basename $1 .tar.bz2)
+ ;;
+ 'lzma' )
+ PKGRETURN=$(basename $1 .tar.lzma)
+ ;;
+ 'xz' )
+ PKGRETURN=$(basename $1 .tar.xz)
+ ;;
+ *)
+ PKGRETURN=$(basename $1)
+ ;;
+ esac
+ echo $PKGRETURN
+}
+
+# Set initial variables:
+CWD=$(pwd)
+TMP=${TMP:-/tmp}
+
+# Automatically determine the architecture we're building on:
+if [ -z "$ARCH" ]; then
+ case "$( uname -m )" in
+ i?86) export ARCH=i486 ;;
+ arm*) export ARCH=arm ;;
+ # Unless $ARCH is already set, use uname -m for all other archs:
+ *) export ARCH=$( uname -m ) ;;
+ esac
+fi
+
+# A lot of this stuff just controls the package names this time:
+VERSION=${VERSION:-7.5}
+BUILD=${BUILD:-1}
+PKGARCH=$ARCH
+NUMJOBS=${NUMJOBS:-" -j7 "}
+
+if [ "$ARCH" = "x86_64" ]; then
+ LIBDIRSUFFIX="64"
+else
+ LIBDIRSUFFIX=""
+fi
+
+# Set up a few useful functions:
+
+fix_perms() {
+ chown -R root:root .
+ find . \
+ \( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \
+ -exec chmod 755 {} \; -o \
+ \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \
+ -exec chmod 644 {} \;
+}
+
+process_man_pages() {
+ # Compress and if needed symlink the man pages:
+ if [ -d usr/man ]; then
+ ( cd usr/man
+ for manpagedir in $(find . -type d -name "man*") ; do
+ ( cd $manpagedir
+ for eachpage in $( find . -type l -maxdepth 1) ; do
+ ln -s $( readlink $eachpage ).gz $eachpage.gz
+ rm $eachpage
+ done
+ gzip -9 *.*
+ )
+ done
+ )
+ fi
+}
+
+process_info_pages() {
+ # Compress info pages and purge "dir" file from the package:
+ if [ -d usr/info ]; then
+ ( cd usr/info
+ rm -f dir
+ gzip -9 *
+ )
+ fi
+}
+
+no_usr_share_doc() {
+ # If there are docs, move them:
+ if [ -d usr/share/doc ]; then
+ mkdir -p usr/doc
+ mv usr/share/doc/* usr/doc
+ rmdir usr/share/doc
+ fi
+}
+
+# Set the compile options for the $ARCH being used:
+. $CWD/arch.use.flags
+
+SLACK_X_BUILD_DIR=$TMP/x11-build
+mkdir -p $SLACK_X_BUILD_DIR
+
+# Better have some binaries installed first, as this may not be
+# in the "magic order". I built mine by hand through trial-and-error
+# before getting this script to work. It wasn't that hard... I think. ;-)
+( cd src
+ for x_source_dir in proto data util xcb lib app doc driver font xserver ; do
+ # See if $1 is a source directory like "lib":
+ if [ ! -z "$1" ]; then
+ if [ ! "$1" = "${x_source_dir}" ]; then
+ continue
+ fi
+ fi
+ PKG=${SLACK_X_BUILD_DIR}/package-${x_source_dir}
+ rm -rf $PKG
+ mkdir -p $PKG
+ ( cd $x_source_dir
+ for x_pkg in *.tar.?z* ; do
+ # Reset $PKGARCH to its initial value:
+ PKGARCH=$ARCH
+ PKGNAME=$(echo $x_pkg | rev | cut -f 2- -d - | rev)
+ # Perhaps $PKGARCH should be something different:
+ if grep -wq "^$PKGNAME" ${CWD}/noarch ; then
+ PKGARCH=noarch
+ fi
+ if grep -wq "^$PKGNAME" ${CWD}/package-blacklist ; then
+ continue
+ fi
+ cd $SLACK_X_BUILD_DIR
+ # If $2 is set, we only want to build one package:
+ if [ ! -z "$2" ]; then
+ if [ "$2" = "$PKGNAME" ]; then
+ # Set $PKG to a private dir for the modular package build:
+ PKG=$SLACK_X_BUILD_DIR/package-$PKGNAME
+ rm -rf $PKG
+ mkdir -p $PKG
+ else
+ continue
+ fi
+ else
+ echo
+ echo "Building from source ${x_pkg}"
+ echo
+ fi
+ if grep -wq "^$PKGNAME" ${CWD}/modularize ; then
+ # Set $PKG to a private dir for the modular package build:
+ PKG=$SLACK_X_BUILD_DIR/package-$PKGNAME
+ rm -rf $PKG
+ mkdir -p $PKG
+ fi
+
+ # Let's figure out the version number on the modular package:
+ MODULAR_PACKAGE_VERSION=$(echo $x_pkg | rev | cut -f 3- -d . | cut -f 1 -d - | rev)
+
+ rm -rf $(pkgbase $x_pkg)
+ tar xf $CWD/src/${x_source_dir}/${x_pkg} || exit 1
+ cd $(pkgbase $x_pkg) || exit 1
+
+ fix_perms
+
+ # If any patches are needed, call this script to apply them:
+ if [ -r $CWD/patch/${PKGNAME}.patch ]; then
+ . $CWD/patch/${PKGNAME}.patch
+ fi
+
+ # I heard somewhere that -O2 breaks some chipset or another. If you encounter
+ # problems, please contact volkerdi@slackware.com. Thanks! :-)
+
+ # ./configure, using custom configure script if needed:
+ if [ -r $CWD/configure/${PKGNAME} ]; then
+ . $CWD/configure/${PKGNAME}
+ else
+ # This is the default configure script:
+ . $CWD/configure/configure
+ fi
+
+ if ! make $NUMJOBS ; then
+ touch ${SLACK_X_BUILD_DIR}/${PKGNAME}.failed
+ continue
+ fi
+
+ make install DESTDIR=$PKG
+
+ mkdir -p $PKG/usr/doc/${PKGNAME}-${MODULAR_PACKAGE_VERSION}
+ cp -a \
+ AUTHORS* COPYING* INSTALL* README* NEWS* TODO* \
+ $PKG/usr/doc/${PKGNAME}-${MODULAR_PACKAGE_VERSION}
+
+ # If there's a ChangeLog, installing at least part of the recent history
+ # is useful, but don't let it get totally out of control:
+ if [ -r ChangeLog ]; then
+ DOCSDIR=$(echo $PKG/usr/doc/${PKGNAME}-$MODULAR_PACKAGE_VERSION)
+ cat ChangeLog | head -n 1000 > $DOCSDIR/ChangeLog
+ touch -r ChangeLog $DOCSDIR/ChangeLog
+ fi
+
+ # Get rid of zero-length junk files:
+ find $PKG/usr/doc/${PKGNAME}-$MODULAR_PACKAGE_VERSION -type f -size 0 -exec rm --verbose "{}" \;
+ rmdir --verbose $PKG/usr/doc/${PKGNAME}-$MODULAR_PACKAGE_VERSION 2> /dev/null
+
+ # Strip binaries:
+ ( cd $PKG
+ find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
+ find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
+ find . | xargs file | grep "current ar archive" | grep ELF | cut -f 1 -d : | xargs strip -g 2> /dev/null
+ )
+
+ # If there's any special post-install things to do, do them:
+ if [ -r $CWD/post-install/${PKGNAME}.post-install ]; then
+ RUNSCRIPT=$(mktemp -p $TMP) || exit 1
+ cat $CWD/post-install/${PKGNAME}.post-install \
+ | sed -e "s#usr/lib#usr/lib${LIBDIRSUFFIX}#g" > $RUNSCRIPT
+ . $RUNSCRIPT
+ rm -f $RUNSCRIPT
+ fi
+
+ # If this package requires some doinst.sh material, add it here:
+ if [ -r $CWD/doinst.sh/${PKGNAME} ]; then
+ mkdir -p $PKG/install
+ cat $CWD/doinst.sh/${PKGNAME} \
+ | sed -e "s#usr/lib#usr/lib${LIBDIRSUFFIX}#g" \
+ >> $PKG/install/doinst.sh
+ fi
+
+ # If this is a modular package, build it here:
+ if [ -d $SLACK_X_BUILD_DIR/package-$PKGNAME ]; then
+ cd $PKG
+ process_man_pages
+ process_info_pages
+ no_usr_share_doc
+ mkdir -p $PKG/install
+ if [ -r $CWD/slack-desc/${PKGNAME} ]; then
+ cat $CWD/slack-desc/${PKGNAME} > $PKG/install/slack-desc
+ else
+ touch $PKG/install/slack-desc-missing
+ fi
+ if [ -r $CWD/build/${PKGNAME} ]; then
+ MODBUILD=$(cat $CWD/build/${PKGNAME})
+ else
+ MODBUILD=$BUILD
+ fi
+ if [ -r $CWD/makepkg/${PKGNAME} ]; then
+ BUILD=$MODBUILD . $CWD/makepkg/${PKGNAME}
+ else
+ /sbin/makepkg -l y -c n ${SLACK_X_BUILD_DIR}/${PKGNAME}-${MODULAR_PACKAGE_VERSION}-${PKGARCH}-${MODBUILD}.txz
+ fi
+ fi
+
+ # Reset $PKG to assume we're building the whole source dir:
+ PKG=${SLACK_X_BUILD_DIR}/package-${x_source_dir}
+
+ done
+
+ # Nothing here? Must have been fully modular. :-)
+ if [ ! -d ${SLACK_X_BUILD_DIR}/package-${x_source_dir}/etc -a \
+ ! -d ${SLACK_X_BUILD_DIR}/package-${x_source_dir}/usr ]; then
+ continue
+ fi
+
+ # Build an "x11-<sourcedir>" package for anything that wasn't built modular:
+ # It's safer to consider these to have binaries in them. ;-)
+ PKGARCH=$ARCH
+ cd $PKG
+ process_man_pages
+ process_info_pages
+ no_usr_share_doc
+ # If there are post-install things to do for the combined package,
+ # we do them here. This could be used for things like making a
+ # VERSION number for a combined package. :-)
+ if [ -r $CWD/post-install/x11-${x_source_dir}.post-install ]; then
+ RUNSCRIPT=$(mktemp -p $TMP) || exit 1
+ cat $CWD/post-install/x11-${x_source_dir}.post-install \
+ | sed -e "s#usr/lib#usr/lib${LIBDIRSUFFIX}#g" > $RUNSCRIPT
+ . $RUNSCRIPT
+ rm -f $RUNSCRIPT
+ fi
+ mkdir -p $PKG/install
+ if [ -r $CWD/slack-desc/x11-${x_source_dir} ]; then
+ cat $CWD/slack-desc/x11-${x_source_dir} > $PKG/install/slack-desc
+ else
+ touch $PKG/install/slack-desc-missing
+ fi
+ if [ -r $CWD/doinst.sh/x11-${x_source_dir} ]; then
+ cat $CWD/doinst.sh/x11-${x_source_dir} \
+ | sed -e "s#usr/lib#usr/lib${LIBDIRSUFFIX}#g" \
+ >> $PKG/install/doinst.sh
+ fi
+ if [ -r $CWD/build/x11-${PKGNAME} ]; then
+ SRCDIRBUILD=$(cat $CWD/build/x11-${PKGNAME})
+ else
+ SRCDIRBUILD=$BUILD
+ fi
+ if [ -r $CWD/makepkg/${PKGNAME} ]; then
+ BUILD=$MODBUILD . $CWD/makepkg/${PKGNAME}
+ else
+ /sbin/makepkg -l y -c n ${SLACK_X_BUILD_DIR}/x11-${x_source_dir}-${VERSION}-${PKGARCH}-${SRCDIRBUILD}.txz
+ fi
+ )
+ done
+)
+
+exit 0
+
+# I don't think I'll be using the following stuff, since I went for the latest in
+# "individual", rather than a release. That was mostly because version 7.1 depends
+# on a version of Mesa that won't build against kernel headers this new (&etc.).
+
+# If environment variable "REFRESH" is exported, start by refreshing the source tree:
+# export REFRESH yes
+if [ ! -z "$REFRESH" ]; then
+ # Only works once, unless you uncomment above.
+ unset REFRESH
+ ( cd patches
+ lftp -c \
+ "lftp ftp://ftp.x.org:/pub/X11R7.1/patches
+ mirror --delete --dereference .
+ exit"
+ chmod 644 *
+ )
+ ( cd src
+ mkdir -p update everything
+ for dir in app data deprecated doc driver extras font lib proto util xserver ; do
+ # We won't really download "update", as problems ensue. Plus, --dereference is
+ # bringing us updated files when needed, so it's redundant (like "everything").
+ if [ ! -d $dir ]; then
+ mkdir $dir
+ fi
+ ( cd $dir
+ lftp -c \
+ "lftp ftp://ftp.x.org:/pub/X11R7.1/src/$dir
+ mirror -c --delete --dereference --include-glob "*.tar.bz2" .
+ exit"
+ chmod 644 *
+ )
+ done
+ )
+fi
+
diff --git a/patches/source/xrdb/xrdb.SlackBuild b/patches/source/xrdb/xrdb.SlackBuild
new file mode 100755
index 00000000..cd657e95
--- /dev/null
+++ b/patches/source/xrdb/xrdb.SlackBuild
@@ -0,0 +1,2 @@
+./x11.SlackBuild app xrdb
+mv /tmp/x11-build/xrdb*z /tmp
diff --git a/patches/source/yasm/slack-desc b/patches/source/yasm/slack-desc
new file mode 100644
index 00000000..fc28253f
--- /dev/null
+++ b/patches/source/yasm/slack-desc
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|'
+# on the right side marks the last column you can put a character in. You must
+# make exactly 11 lines for the formatting to be correct. It's also
+# customary to leave one space after the ':'.
+
+ |-----handy-ruler------------------------------------------------------|
+yasm: yasm (complete rewrite of the NASM assembler)
+yasm:
+yasm: Yasm is a complete rewrite of the NASM assembler under the "new" BSD
+yasm: License (some portions are under other licenses, see COPYING for
+yasm: details). Yasm currently supports the x86 and AMD64 instruction sets,
+yasm: accepts NASM and GAS assembler syntaxes, outputs binary, ELF32, ELF64,
+yasm: 32 and 64-bit Mach-O, RDOFF2, COFF, Win32, and Win64 object formats,
+yasm: and generates source debugging information in STABS, DWARF 2, and
+yasm: CodeView 8 formats.
+yasm:
+yasm: yasm home: http://www.tortall.net/projects/yasm/
diff --git a/patches/source/yasm/yasm.SlackBuild b/patches/source/yasm/yasm.SlackBuild
new file mode 100755
index 00000000..ef340d69
--- /dev/null
+++ b/patches/source/yasm/yasm.SlackBuild
@@ -0,0 +1,216 @@
+#!/bin/sh
+# $Id: yasm.SlackBuild,v 1.7 2009/05/12 20:24:31 root Exp root $
+# Copyright (c) 2008 Eric Hameleers <alien@slackware.com>
+# Copyright 2010 Patrick Volkerding, Sebeka, MN, USA
+# All rights reserved.
+#
+# Permission to use, copy, modify, and distribute this software for
+# any purpose with or without fee is hereby granted, provided that
+# the above copyright notice and this permission notice appear in all
+# copies.
+#
+# THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
+# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+# IN NO EVENT SHALL THE AUTHORS AND COPYRIGHT HOLDERS AND THEIR
+# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
+# USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+# ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+# OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
+# OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+# SUCH DAMAGE.
+# -----------------------------------------------------------------------------
+#
+# Slackware SlackBuild script
+# ===========================
+# By: Eric Hameleers <alien@slackware.com>
+# For: yasm
+# Descr: complete rewrite of the NASM assembler
+# URL: http://www.tortall.net/projects/yasm/
+# Needs:
+# Changelog:
+# 0.7.1-1: 16/Jun/2008 by Eric Hameleers <alien@slackware.com>
+# * Initial build.
+# 0.7.2-1: 08/dec/2008 by Eric Hameleers <alien@slackware.com>
+# * Update.
+# 0.8.0-1: 12/may/2009 by Eric Hameleers <alien@slackware.com>
+# * Update.
+# 1.1.0-1: 2010-08-31 by volkerdi@slackware.com
+# * Update.
+#
+# Run 'sh yasm.SlackBuild' to build a Slackware package.
+# The package (.txz) plus descriptive .txt file are created in /tmp .
+# Install using 'installpkg'.
+#
+# -----------------------------------------------------------------------------
+
+PKGNAM=yasm
+VERSION=${VERSION:-1.2.0}
+BUILD=${BUILD:-1_slack13.0}
+TAG=${TAG:-}
+
+# Automatically determine the architecture we're building on:
+if [ -z "$ARCH" ]; then
+ case "$( uname -m )" in
+ i?86) export ARCH=i486 ;;
+ arm*) export ARCH=arm ;;
+ # Unless $ARCH is already set, use uname -m for all other archs:
+ *) export ARCH=$( uname -m ) ;;
+ esac
+fi
+
+DOCS="ABOUT-NLS AUTHORS ChangeLog COPYING GNU_* NEWS README *.txt"
+
+# If you want to disable python bindings, set ENABLE_PYTHON to "NO".
+# Building python support requires Cython, which is not shipped with Slackware.
+ENABLE_PYTHON=${ENABLE_PYTHON:-"'NO"}
+
+# Where do we look for sources?
+SRCDIR=$(cd $(dirname $0); pwd)
+
+# Place to build (TMP) package (PKG) and output (OUTPUT) the program:
+TMP=${TMP:-/tmp/build}
+PKG=$TMP/package-$PKGNAM
+OUTPUT=${OUTPUT:-/tmp}
+
+SOURCE="$SRCDIR/${PKGNAM}-${VERSION}.tar.xz"
+SRCURL="http://www.tortall.net/projects/${PKGNAM}/releases/${PKGNAM}-${VERSION}.tar.gz"
+
+##
+## --- with a little luck, you won't have to edit below this point --- ##
+##
+
+# Exit the script on errors:
+set -e
+trap 'echo "$0 FAILED at line ${LINENO}" | tee $OUTPUT/error-${PKGNAM}.log' ERR
+# Catch unitialized variables:
+set -u
+P1=${1:-1}
+
+case "$ARCH" in
+ i486) SLKCFLAGS="-O2 -march=i486 -mtune=i686"
+ SLKLDFLAGS=""; LIBDIRSUFFIX=""
+ ;;
+ s390) SLKCFLAGS="-O2"
+ SLKLDFLAGS=""; LIBDIRSUFFIX=""
+ ;;
+ powerpc) SLKCFLAGS="-O2"
+ SLKLDFLAGS=""; LIBDIRSUFFIX=""
+ ;;
+ x86_64) SLKCFLAGS="-O2 -fPIC"
+ SLKLDFLAGS="-L/usr/lib64"; LIBDIRSUFFIX="64"
+ ;;
+ athlon-xp) SLKCFLAGS="-march=athlon-xp -O3 -pipe -fomit-frame-pointer"
+ SLKLDFLAGS=""; LIBDIRSUFFIX=""
+ ;;
+esac
+
+# Create working directories:
+mkdir -p $OUTPUT # place for the package to be saved
+mkdir -p $TMP/tmp-$PKGNAM # location to build the source
+mkdir -p $PKG # place for the package to be built
+rm -rf $PKG/* # always erase old package's contents
+rm -rf $TMP/tmp-$PKGNAM/* # remove the remnants of previous build
+
+# Source file availability:
+if ! [ -f ${SOURCE} ]; then
+ if ! [ "x${SRCURL}" == "x" ]; then
+ # Check if the $SRCDIR is writable at all - if not, download to $OUTPUT
+ [ -w "$SRCDIR" ] || SOURCE="$OUTPUT/$(basename $SOURCE)"
+ echo "Source '$(basename ${SOURCE})' not available yet..."
+ echo "Will download file to $(dirname $SOURCE)"
+ wget -nv -T 20 -O "${SOURCE}" "${SRCURL}" || true
+ if [ $? -ne 0 -o ! -s "${SOURCE}" ]; then
+ echo "Downloading '$(basename ${SOURCE})' failed... aborting the build."
+ mv -f "${SOURCE}" "${SOURCE}".FAIL
+ exit 1
+ fi
+ else
+ echo "File '$(basename ${SOURCE})' not available... aborting the build."
+ exit 1
+ fi
+fi
+
+if [ "$P1" == "--download" ]; then
+ echo "Download complete."
+ exit 0
+fi
+
+# --- PACKAGE BUILDING ---
+
+echo "++"
+echo "|| $PKGNAM-$VERSION"
+echo "++"
+
+cd $TMP/tmp-$PKGNAM
+echo "Extracting the source archive(s) for $PKGNAM..."
+tar xvf ${SOURCE}
+cd ${PKGNAM}-${VERSION}
+chown -R root:root .
+chmod -R u+w,go+r-w,a-s .
+
+if [ "$ENABLE_PYTHON" = "YES" ]; then
+ PYTHONSTUFF="--enable-python --enable-python-bindings"
+else
+ PYTHONSTUFF=""
+fi
+
+echo Building ...
+LDFLAGS="$SLKLDFLAGS" \
+CXXFLAGS="$SLKCFLAGS" \
+CFLAGS="$SLKCFLAGS" \
+./configure --prefix=/usr \
+ --libdir=/usr/lib${LIBDIRSUFFIX} \
+ --localstatedir=/var \
+ --sysconfdir=/etc \
+ --mandir=/usr/man \
+ ${PYTHONSTUFF} \
+ --program-prefix= \
+ --program-suffix= \
+ --build=$ARCH-slackware-linux \
+ 2>&1 | tee $OUTPUT/configure-${PKGNAM}.log
+make 2>&1 | tee $OUTPUT/make-${PKGNAM}.log
+
+# Install all the needed stuff to the package dir
+# Use installwatch if available, to produce a logfile of the installation
+# process that is more easily readable:
+if $(which installwatch > /dev/null 2>&1); then
+ installwatch -o $OUTPUT/install-${PKGNAM}.log make DESTDIR=$PKG install
+else
+ make DESTDIR=$PKG install 2>&1 |tee $OUTPUT/install-${PKGNAM}.log
+fi
+
+# Add documentation:
+mkdir -p $PKG/usr/doc/$PKGNAM-$VERSION
+cp -a $DOCS $PKG/usr/doc/$PKGNAM-$VERSION || true
+cp -a $SRCDIR/$(basename $0) $PKG/usr/doc/$PKGNAM-$VERSION/$PKGNAM.SlackBuild
+chown -R root:root $PKG/usr/doc/$PKGNAM-$VERSION
+find $PKG/usr/doc -type f -exec chmod 644 {} \;
+
+# Remove empty share directory:
+rmdir $PKG/usr/share || true
+
+# Compress the man page(s):
+if [ -d $PKG/usr/man ]; then
+ find $PKG/usr/man -type f -name "*.?" -exec gzip -9f {} \;
+ for i in $(find $PKG/usr/man -type l -name "*.?") ; do ln -s $( readlink $i ).gz $i.gz ; rm $i ; done
+fi
+
+# Strip binaries:
+find $PKG | xargs file | grep -e "executable" -e "shared object" \
+ | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
+
+# Add a package description:
+mkdir -p $PKG/install
+cat $SRCDIR/slack-desc > $PKG/install/slack-desc
+
+# Build the package:
+cd $PKG
+makepkg --linkadd y --chown n $OUTPUT/${PKGNAM}-${VERSION}-${ARCH}-${BUILD}${TAG}.txz 2>&1 | tee $OUTPUT/makepkg-${PKGNAM}.log
+cd $OUTPUT
+md5sum ${PKGNAM}-${VERSION}-${ARCH}-${BUILD}${TAG}.txz > ${PKGNAM}-${VERSION}-${ARCH}-${BUILD}${TAG}.txz.md5
+cd -
+cat $PKG/install/slack-desc | grep "^${PKGNAM}" > $OUTPUT/${PKGNAM}-${VERSION}-${ARCH}-${BUILD}${TAG}.txt
+
diff --git a/recompress.sh b/recompress.sh
index 80b2cb9b..fc30a4fe 100755
--- a/recompress.sh
+++ b/recompress.sh
@@ -3,948 +3,1190 @@
# Run this script in the root directory of the repository to re-compress
# all patches and scripts that were un-compressed to make a better git commit:
#
-gzip ./extra/source/kde3-compat/qt3/qt.x86.cflags.diff
+gzip ./testing/source/bash/doinst.sh
+gzip ./extra/source/grub/grubconfig_localefix.patch
+gzip ./extra/source/grub/grub-0.97-x86_64.patch
+gzip ./extra/source/grub/grub_support_256byte_inode.patch
+gzip ./extra/source/kde3-compat/qt3/doinst.sh
gzip ./extra/source/kde3-compat/qt3/qt-x11.diff
gzip ./extra/source/kde3-compat/qt3/qt.mysql.h.diff
-gzip ./extra/source/kde3-compat/qt3/doinst.sh
-gzip ./extra/source/kde3-compat/arts/arts.tmpdir.diff
-gzip ./extra/source/kde3-compat/kdelibs3/kdelibs-utempter.diff
+gzip ./extra/source/kde3-compat/qt3/qt.x86.cflags.diff
gzip ./extra/source/kde3-compat/kdelibs3/kdelibs.inotify.diff
gzip ./extra/source/kde3-compat/kdelibs3/kdelibs.no.inotify.externs.diff
-gzip ./extra/source/grub/grub-0.97-x86_64.patch
-gzip ./extra/source/grub/grub_support_256byte_inode.patch
-gzip ./extra/source/grub/grubconfig_localefix.patch
-gzip ./extra/source/bittorrent/doinst.sh
-gzip ./extra/source/bittorrent/bittorrent-xterm.sh
-gzip ./extra/source/partitionmanager/doinst.sh
-gzip ./extra/source/wicd/doinst.sh
-gzip ./extra/source/bash-completion/bash_completion.sh
-gzip ./extra/source/bash-completion/bash-completion-xz.diff
+gzip ./extra/source/kde3-compat/kdelibs3/kdelibs-utempter.diff
+gzip ./extra/source/kde3-compat/arts/arts.tmpdir.diff
gzip ./extra/source/tightvnc/doinst.sh
gzip ./extra/source/tightvnc/tightvnc.paths-and-perms.diff
-gzip ./testing/source/bash/doinst.sh
-gzip ./source/a/kbd/sources/kbd-1.15-unicode_start.patch
-gzip ./source/a/kbd/sources/speakupmap.map
-gzip ./source/a/kbd/sources/kbd-1.15-po.patch
-gzip ./source/a/kbd/sources/kbd-1.15-keycodes-man.patch
-gzip ./source/a/kbd/sources/kbd-1.15-quiet_doc.patch
-gzip ./source/a/kbd/sources/kbd-1.15-resizecon-x86_64.patch
-gzip ./source/a/kbd/sources/nl.euro.diff
-gzip ./source/a/kbd/sources/kbd-1.15-sparc.patch
-gzip ./source/a/pcmciautils/doinst.sh
-gzip ./source/a/dialog/dialog.smaller.min.height.diff
-gzip ./source/a/splitvt/splitvt_1.6.5-9.diff
-gzip ./source/a/bin/scripts/xx
-gzip ./source/a/bin/scripts/diskcopy
-gzip ./source/a/cpio/cpio-2.9.gcc43.diff
-gzip ./source/a/acl/acl.destdir.diff
-gzip ./source/a/util-linux-ng/adjtimex_1.23-1.diff
-gzip ./source/a/util-linux-ng/setserial-rc.serial.diff
-gzip ./source/a/util-linux-ng/ziptool-fix_build.patch
-gzip ./source/a/util-linux-ng/doinst.sh
-gzip ./source/a/util-linux-ng/net-tools.diff
-gzip ./source/a/util-linux-ng/net-tools_1.60-19.diff
-gzip ./source/a/util-linux-ng/util-linux-ng.fdisk-no-solaris.diff
-gzip ./source/a/lha/lha_1.14i-10.1.diff
-gzip ./source/a/bash/patches/bash31-016
-gzip ./source/a/bash/patches/bash31-014
-gzip ./source/a/bash/patches/bash31-015
-gzip ./source/a/bash/patches/bash31-005
-gzip ./source/a/bash/patches/bash31-009
-gzip ./source/a/bash/patches/bash31-008
-gzip ./source/a/bash/patches/bash31-010
-gzip ./source/a/bash/patches/bash31-011
-gzip ./source/a/bash/patches/bash31-012
-gzip ./source/a/bash/patches/bash31-001
-gzip ./source/a/bash/patches/bash31-007
-gzip ./source/a/bash/patches/bash31-002
-gzip ./source/a/bash/patches/bash31-013
-gzip ./source/a/bash/patches/bash31-006
-gzip ./source/a/bash/patches/bash31-003
-gzip ./source/a/bash/patches/bash31-004
-gzip ./source/a/bash/patches/bash31-017
-gzip ./source/a/bash/doinst.sh
-gzip ./source/a/tcsh/tcsh.nobuiltincolorls.diff
-gzip ./source/a/tcsh/doinst.sh
-gzip ./source/a/dbus/rc.messagebus
-gzip ./source/a/dbus/doinst.sh
-gzip ./source/a/minicom/minicom.users
-gzip ./source/a/minicom/lrzsz_0.12.21-4.diff
-gzip ./source/a/minicom/wintcap.diff
-gzip ./source/a/minicom/minirc.dfl
-gzip ./source/a/minicom/config.sub-x86_64.diff
-gzip ./source/a/minicom/doinst.sh
-gzip ./source/a/sysvinit-scripts/doinst.sh
-gzip ./source/a/acpid/rc.acpid
-gzip ./source/a/acpid/default
-gzip ./source/a/acpid/doinst.sh
-gzip ./source/a/acpid/acpi_handler.sh
-gzip ./source/a/mkinitrd/busybox-1.12.1_inotify.diff
-gzip ./source/a/mkinitrd/archive/busybox-1.7.2.remove_warning.diff
-gzip ./source/a/mkinitrd/archive/busybox-1.7.2.no-gc-sections.diff
-gzip ./source/a/utempter/doinst.sh
-gzip ./source/a/lvm2/doinst.sh
-gzip ./source/a/sysvinit-functions/doinst.sh
-gzip ./source/a/logrotate/logrotate.slackware.diff
-gzip ./source/a/etc/nsswitch.conf
-gzip ./source/a/etc/termcap-BSD
-gzip ./source/a/file/file.short.diff
-gzip ./source/a/file/file.crdaregbin.magic
-gzip ./source/a/file/file.zisofs.magic
-gzip ./source/a/file/file.quiet.diff
-gzip ./source/a/file/file.etc.file.diff
-gzip ./source/a/file/file.xz.magic
-gzip ./source/a/pciutils/pciutils.ids.dest.diff
-gzip ./source/a/tar/tar.nolonezero.diff
-gzip ./source/a/tar/tar.norecordsizespam.diff
-gzip ./source/a/tar/tar-1.22-support_txz.diff
-gzip ./source/a/tar/rmt.8
-gzip ./source/a/tar/tar.1
-gzip ./source/a/tar/tar-1.13.bzip2.diff
-gzip ./source/a/less/less.sysconfdir.diff
-gzip ./source/a/less/lesspipe.sh
-gzip ./source/a/floppy/fdutils-5.4-20020222.diff
-gzip ./source/a/floppy/fdutils.mediaprm.diff
-gzip ./source/a/gpm/inputattach.c
-gzip ./source/a/gpm/gpm-1.20.1-math.patch
-gzip ./source/a/gpm/gpm-evdev-cumulative.patch
-gzip ./source/a/gpm/gpm-1.20.1-no-console-error.patch
-gzip ./source/a/gpm/mouseconfig
-gzip ./source/a/gpm/gpm-1.20.1-input-defines.diff
-gzip ./source/a/gpm/setup.mouse
-gzip ./source/a/gpm/gpm-1.20.1-gpmopen.patch
-gzip ./source/a/gpm/gpm-1.20.1.send-noise-to-syslogs.diff
-gzip ./source/a/gpm/gpm-1.20.1-multilib.patch
-gzip ./source/a/gpm/gpm-1.20.1-idie.patch
-gzip ./source/a/gpm/gpm.evdevmakefile.patch
-gzip ./source/a/gpm/gpm-1.20.1-consolename.patch
-gzip ./source/a/gpm/gpm-1.20.1-lib-silent.patch
-gzip ./source/a/gpm/gpm-1.20.1-weak-wgetch.patch
-gzip ./source/a/gpm/gpm-1.20.1-nodebug.patch
-gzip ./source/a/gpm/gpm-1.20.1-input.patch
-gzip ./source/a/gpm/gpm-1.20.1-subscript.patch
-gzip ./source/a/shadow/shadow.remove.obsolete.options.diff
-gzip ./source/a/shadow/shadow.newgrp.getlogin
-gzip ./source/a/shadow/shadow-4.0.3.x86_64.diff
-gzip ./source/a/shadow/shadow.shadowconfig.diff
-gzip ./source/a/shadow/shadow.gcc34.diff
-gzip ./source/a/shadow/shadow.login.defs.diff
-gzip ./source/a/shadow/shadow.newgrp.nopam
-gzip ./source/a/zoo/zoo_2.10-18.diff
-gzip ./source/a/bzip2/bzip2-1.0.4.saneso.diff
-gzip ./source/a/e2fsprogs/doinst.sh
-gzip ./source/a/smartmontools/doinst.sh
-gzip ./source/a/usbutils/usbutils.ids.dest
-gzip ./source/a/dcron/dcron-2.3.3.version.diff
-gzip ./source/a/dcron/run-parts.8
-gzip ./source/a/dcron/dcron-2.3.3.diff3
-gzip ./source/a/dcron/dcron-2.3.3.diff2
-gzip ./source/a/dcron/dcron-2.3.3.diff
-gzip ./source/a/dcron/dcron.fork.diff
-gzip ./source/a/dcron/dcron.tmpdir.diff
-gzip ./source/a/dcron/dcron-2.3.3.crontab.diff4
-gzip ./source/a/dcron/run-parts
-gzip ./source/a/getty-ps/getty.bugfixes.diff
-gzip ./source/a/sysvinit/sysvinit.pidof.rhforkseverything.diff
-gzip ./source/a/sysvinit/doinst.sh
-gzip ./source/a/sysvinit/sysvinit.diff
-gzip ./source/a/sysvinit/sysvinit-2.86-timeval.patch
-gzip ./source/a/sysklogd/sysklogd-1.4.1-owl-syslogd-crunch_list.diff
-gzip ./source/a/sysklogd/sysklogd_1.4.1-20.diff
-gzip ./source/a/udev/rule_generator.diff
-gzip ./source/a/udev/doinst.sh
-gzip ./source/a/genpower/genpower.halt.diff
-gzip ./source/a/genpower/genpower.var.diff
-gzip ./source/a/ncompress/ncompress.filenamelen.diff
-gzip ./source/a/ncompress/ncompress.zerobyteforce.diff
-gzip ./source/a/ncompress/ncompress-4.2.4-bssUnderflow.patch
-gzip ./source/a/ncompress/ncompress.lfs2.diff
-gzip ./source/a/ncompress/ncompress.make.diff
-gzip ./source/a/ncompress/ncompress.2GB.diff
-gzip ./source/a/ncompress/ncompress-4.2.4-endians.patch
-gzip ./source/a/procps/procinfo.gcc3.diff
-gzip ./source/a/procps/procps.nowarning.diff
-gzip ./source/a/procps/procps.w.showfrom.diff
-gzip ./source/a/procps/procps-3.2.7-ps-eip64.diff
-gzip ./source/a/coreutils/DIR_COLORS
-gzip ./source/a/coreutils/coreutils-dircolors.csh
-gzip ./source/a/coreutils/coreutils.uname.diff
-gzip ./source/a/coreutils/doinst.sh
-gzip ./source/a/coreutils/coreutils-dircolors.sh
-gzip ./source/a/mt-st/mt-st.man.diff
-gzip ./source/a/mt-st/mt-st.config.diff
-gzip ./source/a/mt-st/mt-st.sdlt.diff
-gzip ./source/a/cups/cups.firefox.desktop.diff
-gzip ./source/a/cups/doinst.sh
-gzip ./source/a/devs/makedev_2.3.1-46.2.diff
-gzip ./source/a/devs/makedev_2.3.1.slack.diff
-gzip ./source/a/devs/makedev_2.3.1.hd.diff
-gzip ./source/a/devs/makedev.hd.diff
-gzip ./source/a/mdadm/mdadm.static.small.diff
-gzip ./source/a/mdadm/doinst.sh
-gzip ./source/a/findutils/findutils.no.default.options.warnings.diff
-gzip ./source/a/findutils/findutils.nolocate.diff
-gzip ./source/a/attr/attr.destdir.diff
-gzip ./source/a/module-init-tools/modprobe.favor.etc.modprobe.d.diff
-gzip ./source/a/module-init-tools/modprobe.ignore_some_suffixes.diff
-gzip ./source/a/module-init-tools/modprobe.no_sys_check.diff
-gzip ./source/a/module-init-tools/doinst.sh
-gzip ./source/a/unarj/Makefile
-gzip ./source/k/2.6.29.x-intel-crash-patch.diff
-gzip ./source/k/linux-2.6.29.6-02-default-mmap_min_addr-4096.diff
-gzip ./source/k/linux-2.6.29.6-01-sendpage.diff
-gzip ./source/n/httpd/httpd.nossldefault.diff
-gzip ./source/n/httpd/config.layout.diff
-gzip ./source/n/httpd/httpd.runasapache.diff
-gzip ./source/n/httpd/doinst.sh
-gzip ./source/n/dnsmasq/dnsmasq.leasedir.diff
-gzip ./source/n/dnsmasq/rc.dnsmasq
-gzip ./source/n/dnsmasq/doinst.sh
+gzip ./extra/source/bash-completion/bash_completion.sh
+gzip ./extra/source/bash-completion/bash-completion-xz.diff
+gzip ./extra/source/partitionmanager/doinst.sh
+gzip ./extra/source/wicd/doinst.sh
+gzip ./extra/source/bittorrent/bittorrent-xterm.sh
+gzip ./extra/source/bittorrent/doinst.sh
+gzip ./pasture/source/seamonkey/seamonkey.sqlite3.static.diff
+gzip ./pasture/source/seamonkey/doinst.sh
+gzip ./pasture/source/seamonkey/seamonkey.moz_plugin_path.diff
+gzip ./patches/source/sudo/doinst.sh
+gzip ./patches/source/libtiff/tiff-3.9.7_CVE-2013-4232.diff
+gzip ./patches/source/libtiff/tiff-3.9.7_CVE-2013-4244.diff
+gzip ./patches/source/libtiff/tiff-3.9.7_CVE-2013-4231.diff
+gzip ./patches/source/libtiff/tiff-3.9.7_CVE-2012-4447_CVE-2012-4564_CVE-2013-1960_CVE-2013-1961.diff
+gzip ./patches/source/jasper/patches/jasper-1.900.1-Coverity-UNREACHABLE.patch
+gzip ./patches/source/jasper/patches/jasper-1.900.1-CVE-2008-3520.patch
+gzip ./patches/source/jasper/patches/jasper-CVE-2014-9029.patch
+gzip ./patches/source/jasper/patches/jpc_dec.c.patch
+gzip ./patches/source/jasper/patches/jasper-CVE-2014-8138.patch
+gzip ./patches/source/jasper/patches/patch-libjasper-stepsizes-overflow.diff
+gzip ./patches/source/jasper/patches/jasper-CVE-2014-8137.patch
+gzip ./patches/source/jasper/patches/jasper-1.900.1-Coverity-CHECKED_RETURN.patch
+gzip ./patches/source/jasper/patches/jasper-1.900.1-CVE-2008-3522.patch
+gzip ./patches/source/jasper/patches/jasper-1.900.1-CVE-2011-4516-CVE-2011-4517-CERT-VU-887409.patch
+gzip ./patches/source/jasper/patches/jasper-CVE-2014-8158.patch
+gzip ./patches/source/jasper/patches/jasper-1.900.1-Coverity-NULL_RETURNS.patch
+gzip ./patches/source/jasper/patches/jasper-1.900.1-Coverity-RESOURCE_LEAK.patch
+gzip ./patches/source/jasper/patches/jasper-1.900.1-Coverity-UNUSED_VALUE.patch
+gzip ./patches/source/jasper/patches/jasper-1.900.1-Coverity-BAD_SIZEOF.patch
+gzip ./patches/source/jasper/patches/jasper-1.900.1-Coverity-FORWARD_NULL.patch
+gzip ./patches/source/jasper/patches/jasper-CVE-2014-8157.patch
+gzip ./patches/source/mozilla-thunderbird/mimeTypes.rdf
+gzip ./patches/source/emacs/doinst.sh
+gzip ./patches/source/rxvt/rxvt.utempter.diff
+gzip ./patches/source/rxvt/rxvt-integer-overflow-fix.patch
+gzip ./patches/source/libpng/libpng.libs.diff
+gzip ./patches/source/acl/acl.destdir.diff
+gzip ./patches/source/dhcpcd/patches/dhcpcd.8.in.diff
+gzip ./patches/source/dhcpcd/patches/dhcpcd.sh.diff
+gzip ./patches/source/dhcpcd/patches/dhcpcd3.sanitize_strings.diff
+gzip ./patches/source/dhcpcd/patches/config.h.diff
+gzip ./patches/source/dhcpcd/COPYRIGHT
+gzip ./patches/source/dhcpcd/dhcpcd.vararg.diff
+gzip ./patches/source/xorg-server/patch/xorg-server/xorg-server.CVE-2013-4396.diff
+gzip ./patches/source/xorg-server/patch/xorg-server/xorg-server.CVE-2010-2240.diff
+gzip ./patches/source/xorg-server/patch/xorg-server/x11.startwithblackscreen.diff
+gzip ./patches/source/xorg-server/patch/xorg-server/xorg-server.CVE-2017-10972.diff
+gzip ./patches/source/xorg-server/patch/xorg-server/xorg-server.CVE-2017-10971.diff
+gzip ./patches/source/proftpd/doinst.sh
+gzip ./patches/source/ntp/ntp.nano.diff
+gzip ./patches/source/ntp/doinst.sh
+gzip ./patches/source/glibc/glibc.CVE-2013-4332.diff
+gzip ./patches/source/glibc/glibc.getcwd.max.macro.diff
+gzip ./patches/source/glibc/glibc.CVE-2015-0235.glibc29.diff
+gzip ./patches/source/glibc/glibc.ru_RU.CP1251.diff
+gzip ./patches/source/glibc/glibc.nis-netgroups.diff
+gzip ./patches/source/glibc/glibc-2.10-dns-no-gethostbyname4.diff
+gzip ./patches/source/glibc/glibc.CVE-2010-3856.diff
+gzip ./patches/source/glibc/glibc.revert.to.fix.build.breakages.diff
+gzip ./patches/source/glibc/glibc.locale.no-archive.diff
+gzip ./patches/source/glibc/glibc.CVE-2010-3847.diff
+gzip ./patches/source/glibc/is_IS.diff
+gzip ./patches/source/xpdf/patches/xpdf.XPDFViewer.diff
+gzip ./patches/source/xpdf/patches/xpdf-3.03-CVE-2012-2142.diff
+gzip ./patches/source/xpdf/patches/xpdfrc.diff
+gzip ./patches/source/xpdf/doinst.sh
+gzip ./patches/source/xpdf/lang/xpdf-latin2.diff
+gzip ./patches/source/xpdf/lang/xpdf-hebrew.diff
+gzip ./patches/source/xpdf/lang/xpdf-chinese-traditional.diff
+gzip ./patches/source/xpdf/lang/xpdf-thai.diff
+gzip ./patches/source/xpdf/lang/xpdf-turkish.diff
+gzip ./patches/source/xpdf/lang/xpdf-greek.diff
+gzip ./patches/source/xpdf/lang/xpdf-chinese-simplified.diff
+gzip ./patches/source/xpdf/lang/xpdf-arabic.diff
+gzip ./patches/source/xpdf/lang/xpdf-korean.diff
+gzip ./patches/source/xpdf/lang/xpdf-cyrillic.diff
+gzip ./patches/source/xpdf/lang/xpdf-japanese.diff
+gzip ./patches/source/minicom/minicom.users
+gzip ./patches/source/minicom/lrzsz_0.12.21-5.diff
+gzip ./patches/source/minicom/doinst.sh
+gzip ./patches/source/minicom/config.sub-x86_64.diff
+gzip ./patches/source/mysql/mysql.CVE-2014-0001.diff
+gzip ./patches/source/mysql/rc.mysqld
+gzip ./patches/source/mysql/doinst.sh
+gzip ./patches/source/libXfont/patch/libXfont/libXfont.CVE-2017-16611.diff
+gzip ./patches/source/bzip2/bzip2.saneso.diff
+gzip ./patches/source/pidgin/purple-allow-sign-rsa-md5.patch
+gzip ./patches/source/stunnel/doinst.sh
+gzip ./patches/source/ppp/options.new
+gzip ./patches/source/ppp/realms
+gzip ./patches/source/ppp/pppsetup-1.98.moredevs.diff
+gzip ./patches/source/ppp/ppp.slack.diff
+gzip ./patches/source/ppp/radius.msdict
+gzip ./patches/source/ppp/pppsetup-1.98.backupfiles.diff
+gzip ./patches/source/ppp/doinst.sh
+gzip ./patches/source/ppp/ppp.CVE-2014-3158.diff
+gzip ./patches/source/ppp/servers
+gzip ./patches/source/ppp/pppsetup-1.98.slack.diff
+gzip ./patches/source/ppp/ppp.CVE-2015-3310.diff
+gzip ./patches/source/ppp/pppsetup-1.98.pppoff.diff
+gzip ./patches/source/sendmail/Build
+gzip ./patches/source/libxml2/libxml.CVE-2011-3102.diff
+gzip ./patches/source/libxml2/libxml2.CVE-2012-5134.diff
+gzip ./patches/source/patch/0001-Refuse-to-apply-ed-scripts-by-default.patch
+gzip ./patches/source/slocate/slocate.CVE-2007-0277.diff
+gzip ./patches/source/slocate/slocate.bigfile.diff
+gzip ./patches/source/bash/patches/bash31-023
+gzip ./patches/source/bash/patches/bash31-003
+gzip ./patches/source/bash/patches/bash31-002
+gzip ./patches/source/bash/patches/bash31-014
+gzip ./patches/source/bash/patches/bash31-011
+gzip ./patches/source/bash/patches/bash31-006
+gzip ./patches/source/bash/patches/bash31-016
+gzip ./patches/source/bash/patches/bash31-005
+gzip ./patches/source/bash/patches/bash31-019
+gzip ./patches/source/bash/patches/bash31-017
+gzip ./patches/source/bash/patches/bash31-004
+gzip ./patches/source/bash/patches/bash31-013
+gzip ./patches/source/bash/patches/bash31-007
+gzip ./patches/source/bash/patches/bash31-022
+gzip ./patches/source/bash/patches/bash31-008
+gzip ./patches/source/bash/patches/bash31-021
+gzip ./patches/source/bash/patches/bash31-020
+gzip ./patches/source/bash/patches/bash31-012
+gzip ./patches/source/bash/patches/bash31-009
+gzip ./patches/source/bash/patches/bash31-010
+gzip ./patches/source/bash/patches/bash31-015
+gzip ./patches/source/bash/patches/bash31-001
+gzip ./patches/source/bash/patches/bash31-018
+gzip ./patches/source/bash/doinst.sh
+gzip ./patches/source/httpd/httpd.runasapache.diff
+gzip ./patches/source/httpd/config.layout.diff
+gzip ./patches/source/httpd/httpd.nossldefault.diff
+gzip ./patches/source/httpd/httpd.brigade_move.__noinline__.gcc451.diff
+gzip ./patches/source/httpd/doinst.sh
+gzip ./patches/source/httpd/apache-2.2.CVE-2017-9798.optionsbleed.patch
+gzip ./patches/source/gnupg2/gnupg2.CVE-2010-2547.diff
+gzip ./patches/source/cups/cups-1.3.x.CVE-2010-0542.diff
+gzip ./patches/source/cups/cups-1.3.x.CVE-2010-2941.diff
+gzip ./patches/source/cups/cups.firefox.desktop.diff
+gzip ./patches/source/cups/doinst.sh
+gzip ./patches/source/cups/str4609-1.3.patch
+gzip ./patches/source/bind/doinst.sh
+gzip ./patches/source/bind/bind.so_bsdcompat.diff
+gzip ./patches/source/mercurial/doinst.sh
+gzip ./patches/source/gnutls/gnutls-2.8.4_CVE-2014-3467.diff
+gzip ./patches/source/gnutls/gnutls-2.8.4_fix-expired-cert.diff
+gzip ./patches/source/gnutls/gnutls-2.8.4_libgcrypt150-fix.diff
+gzip ./patches/source/gnutls/gnutls-2.8.4_CVE-2014-0092.diff
+gzip ./patches/source/gnutls/gnutls-2.8.4_CVE-2011-4128.diff
+gzip ./patches/source/gnutls/gnutls-2.8.4_CVE-2012-1573.diff
+gzip ./patches/source/gnutls/gnutls-2.8.4_ipv6.diff
+gzip ./patches/source/gnutls/gnutls-2.8.4_CVE-2013-1619_CVE-2013-2116.diff
+gzip ./patches/source/gnutls/gnutls-2.8.4_CVE-2009-3555.diff
+gzip ./patches/source/gnutls/gnutls-2.8.4_CVE-2012-1569.diff
+gzip ./patches/source/gnutls/gnutls-2.8.4_CVE-2014-3466.diff
+gzip ./patches/source/gnutls/gnutls-2.8.4_fix-timebomb.diff
+gzip ./patches/source/gnutls/gnutls-2.8.4_CVE-2014-3468.diff
+gzip ./patches/source/gnutls/gnutls-2.8.4_CVE-2014-3469.diff
+gzip ./patches/source/linux-2.6.29.6-3/linux-2.6.29.6-03-ip_fragment-CVE-2009-1298.diff
+gzip ./patches/source/linux-2.6.29.6-3/linux-2.6.29.6-01-sendpage.diff
+gzip ./patches/source/linux-2.6.29.6-3/linux-2.6.29.6-02-default-mmap_min_addr-4096.diff
+gzip ./patches/source/wicd/doinst.sh
+gzip ./patches/source/wicd/wicd-1.7.2.4.sanitize.string.bugfix.diff
+gzip ./patches/source/dnsmasq/rc.dnsmasq
+gzip ./patches/source/dnsmasq/doinst.sh
+gzip ./patches/source/dnsmasq/dnsmasq.leasedir.diff
+gzip ./patches/source/vsftpd/vsftpd.log
+gzip ./patches/source/vsftpd/vsftpd.builddefs.diff
+gzip ./patches/source/vsftpd/vsftpd.conf.diff
+gzip ./patches/source/vsftpd/doinst.sh
+gzip ./patches/source/lynx/lynx.cfg.diff
+gzip ./patches/source/lynx/doinst.sh
+gzip ./patches/source/hplip/hplip.CVE-2010-4267.diff
+gzip ./patches/source/hplip/doinst.sh
+gzip ./patches/source/hplip/hplip.prevent_segfault.diff
+gzip ./patches/source/freetype/freetype.subpixel.rendering.diff
+gzip ./patches/source/freetype/freetype.CVE-2017-8287.diff
+gzip ./patches/source/freetype/freetype.illadvisederror.diff
+gzip ./patches/source/irssi/patch-src_irc_dcc_dcc-get_c.diff
+gzip ./patches/source/irssi/doinst.sh
+gzip ./patches/source/irssi/patch-src_irc_dcc_dcc-resume_c.diff
+gzip ./patches/source/poppler/poppler-0.12.4-CVE-2010-3702.patch
+gzip ./patches/source/poppler/poppler-0.12.4-CVE-2010-3703.patch
+gzip ./patches/source/poppler/poppler-0.10.7.CVE-2009-3603_3604_3605_3606_3608_3609.diff
+gzip ./patches/source/poppler/poppler-0.12.4-CVE-2010-3704.patch
+gzip ./patches/source/mailx/heirloom-mailx-12.5-fixes-1.patch
+gzip ./patches/source/mailx/doinst.sh
+gzip ./patches/source/openssh/openssh.CVE-2017-15906.patch
+gzip ./patches/source/openssh/openssh-7.4p1-libwrap.diff
+gzip ./patches/source/openssh/doinst.sh
+gzip ./patches/source/seamonkey/doinst.sh
+gzip ./patches/source/dhcp/dhclient-script.PATH.diff
+gzip ./patches/source/dhcp/doinst.sh
+gzip ./patches/source/libjpeg/jpeg.CVE-2013-6629.diff
+gzip ./patches/source/libjpeg/jpeg-6b.diff
+gzip ./patches/source/kdebase-workspace/doinst.sh
+gzip ./patches/source/coreutils/coreutils.uname.diff
+gzip ./patches/source/coreutils/coreutils-dircolors.sh
+gzip ./patches/source/coreutils/coreutils-dircolors.csh
+gzip ./patches/source/coreutils/DIR_COLORS
+gzip ./patches/source/coreutils/doinst.sh
+gzip ./patches/source/samba/smb.conf.diff
+gzip ./patches/source/samba/samba.3-2-fd_set.CVE-2011-0719.patch
+gzip ./patches/source/samba/samba-3.2.15-CVE-2012-1182.patch
+gzip ./patches/source/samba/doinst.sh
+gzip ./patches/source/wget/doinst.sh
+gzip ./patches/source/rdesktop/rdesktop.CVE-2011-1595.diff
+gzip ./patches/source/php/php.session.save_path.diff
+gzip ./patches/source/php/php.ini-development.diff
+gzip ./patches/source/php/doinst.sh
+gzip ./patches/source/libexif/libexif.pc.diff
+gzip ./patches/source/t1lib/t1lib_5.1.2-3.5.diff
+gzip ./patches/source/openssl/openssl.soname.diff
+gzip ./patches/source/openssl/doinst.sh-openssl-solibs
+gzip ./patches/source/openssl/openssl.no.weak.sslv3.ciphers.diff
+gzip ./patches/source/openssl/certwatch
+gzip ./patches/source/openssl/openssl.optsx86.diff
+gzip ./patches/source/openssl/openssl.no.weak.sslv2.ciphers.diff
+gzip ./patches/source/openssl/doinst.sh-openssl
+gzip ./patches/source/mozilla-firefox/mimeTypes.rdf
+gzip ./patches/source/mozilla-firefox/firefox.moz_plugin_path.diff
+gzip ./patches/source/mozilla-firefox/mozilla-firefox-mimeTypes-fix.diff
+gzip ./patches/source/libwmf/libwmf-0.2.8.4-CVE-2015-4696.patch
+gzip ./patches/source/libwmf/libwmf-0.2.8.4-CVE-2015-0848+CVE-2015-4588.patch
+gzip ./patches/source/libwmf/libwmf-0.2.8.4-CVE-2016-9011.patch
+gzip ./patches/source/libwmf/libwmf-0.2.8.4-CVE-2017-6362.patch
+gzip ./patches/source/libwmf/libwmf-0.2.8.4-CVE-2015-4695.patch
+gzip ./patches/source/libwmf/libwmf-0.2.8.4-fallbackfont.patch
+gzip ./patches/source/libwmf/libwmf-0.2.8.4-CVE-2016-10167.patch
+gzip ./patches/source/libwmf/libwmf-0.2.8.4-CVE-2009-3546.patch
+gzip ./patches/source/libwmf/libwmf-0.2.8.4-pixbufloaderdir.patch
+gzip ./patches/source/libwmf/libwmf-0.2.8.4-CVE-2016-9317.patch
+gzip ./patches/source/libwmf/libwmf-0.2.8.4-CVE-2016-10168.patch
+gzip ./patches/source/libwmf/libwmf-0.2.8.4-CVE-2007-2756.patch
+gzip ./patches/source/libwmf/libwmf.png14.diff
+gzip ./patches/source/libwmf/libwmf-0.2.8.4-CVE-2006-3376.patch
+gzip ./patches/source/libwmf/libwmf-0.2.8.4-CVE-2007-0455.patch
+gzip ./patches/source/libwmf/libwmf-0.2.8.4-useafterfree.patch
+gzip ./patches/source/libwmf/libwmf-0.2.8.4-reducesymbols.patch
+gzip ./patches/source/libwmf/libwmf-0.2.8.4-CVE-2004-0941.patch
+gzip ./patches/source/libwmf/libwmf-0.2.8.4-CVE-2007-3473.patch
+gzip ./patches/source/libwmf/libwmf-0.2.8.4-CVE-2007-3472.patch
+gzip ./patches/source/libwmf/libwmf-0.2.8.4-CVE-2007-3477.patch
+gzip ./patches/source/lm_sensors/lm_sensors.makefile.diff
+gzip ./patches/source/glibc-zoneinfo/doinst.sh
+gzip ./patches/source/openvpn/doinst.sh
+gzip ./source/d/libtool/libtool.no.moved.warning.diff
+gzip ./source/d/libtool/doinst.sh
+gzip ./source/d/gcc/gcc-no_fixincludes.diff
+gzip ./source/d/pmake/pmake.txt
+gzip ./source/d/pmake/pmake.strerror.strdup.diff
+gzip ./source/d/pmake/pmake_1.111-1.diff
+gzip ./source/d/rcs/rcs-5.7.diff
+gzip ./source/d/doxygen/doxygen.qt4.diff
+gzip ./source/d/p2c/p2c.examples.diff
+gzip ./source/d/p2c/p2c_1.21alpha2-2.1.diff
+gzip ./source/d/p2c/p2c_time.diff
+gzip ./source/d/automake/doinst.sh
+gzip ./source/d/autoconf/doinst.sh
+gzip ./source/d/python/python.readline.set_pre_input_hook.diff
+gzip ./source/d/python/python.pure64.diff
+gzip ./source/d/python/python.x86_64.diff
+gzip ./source/d/dev86/dev86-x86_64.noelks.patch
+gzip ./source/d/dev86/dev86-x86_64.patch
+gzip ./source/d/ruby/ruby.x86_64.diff
+gzip ./source/d/perl/perl.configure.multilib.patch
+gzip ./source/d/perl/doinst.sh
+gzip ./source/d/pkg-config/doinst.sh
+gzip ./source/l/libtiff/tiff-3.8.2.goo-sec.diff
+gzip ./source/l/libtiff/tiff-3.8.2.tiffsplit.commandline.overflow.diff
+gzip ./source/l/hal/hal.conf
+gzip ./source/l/hal/patches/regen_fdi_cache_if_zero_size.diff
+gzip ./source/l/hal/patches/hide_more_invalid_partitions.diff
+gzip ./source/l/hal/patches/use_udevadm_not_udevinfo.patch
+gzip ./source/l/hal/patches/fix_led_crash.diff
+gzip ./source/l/hal/patches/fix_md_crash.diff
+gzip ./source/l/hal/patches/check_udi_properly.diff
+gzip ./source/l/hal/patches/fixup_udi_strings.diff
+gzip ./source/l/hal/patches/set_X_keymap_properly.diff
+gzip ./source/l/hal/patches/10-keymap.fdi-restore_zap.diff
+gzip ./source/l/hal/patches/allow_uid_gid_ntfs.diff
+gzip ./source/l/hal/patches/fix_segfault_in_mdraid.diff
+gzip ./source/l/hal/patches/ignore_dupe_add_events.diff
+gzip ./source/l/hal/doinst.sh
+gzip ./source/l/hal/rc.hald
+gzip ./source/l/librsvg/librsvg_seamonkey-config.diff
+gzip ./source/l/db42/patch.4.2.52.2
+gzip ./source/l/db42/patch.4.2.52.1
+gzip ./source/l/db42/patch.4.2.52.4
+gzip ./source/l/db42/patch.4.2.52.3
+gzip ./source/l/libpng/libpng.libs.diff
+gzip ./source/l/shared-mime-info/doinst.sh
+gzip ./source/l/icon-naming-utils/icon-naming-utils.pkgconfigdir.diff
+gzip ./source/l/netpbm/Makefile.config
+gzip ./source/l/qtscriptgenerator/include-everything.patch
+gzip ./source/l/parted/parted.configure.diff
+gzip ./source/l/glibc/glibc.getcwd.max.macro.diff
+gzip ./source/l/glibc/glibc.ru_RU.CP1251.diff
+gzip ./source/l/glibc/glibc.nis-netgroups.diff
+gzip ./source/l/glibc/glibc-2.10-dns-no-gethostbyname4.diff
+gzip ./source/l/glibc/glibc.revert.to.fix.build.breakages.diff
+gzip ./source/l/glibc/glibc.locale.no-archive.diff
+gzip ./source/l/glibc/is_IS.diff
+gzip ./source/l/esound/doinst.sh
+gzip ./source/l/libcap/libcap.capability.h.fix.broken.includes.diff
+gzip ./source/l/djvulibre/doinst.sh
+gzip ./source/l/urwid/LICENSE
+gzip ./source/l/qt/doinst.sh
+gzip ./source/l/qt/qt.mysql.h.diff
+gzip ./source/l/qt/qt.x86.cflags.diff
+gzip ./source/l/boost/boost.ifdef_placement.diff
+gzip ./source/l/db44/patch.4.4.20.1
+gzip ./source/l/db44/patch.4.4.20.2
+gzip ./source/l/libvisual-plugins/libvisual-plugins.gstreamer.diff
+gzip ./source/l/gnome-icon-theme/gnome-icon-theme.pkgconfig.path.diff
+gzip ./source/l/gnome-icon-theme/doinst.sh
+gzip ./source/l/openexr/openexr.gcc43.diff
+gzip ./source/l/ncurses/ncurses.mkhashsize.diff
+gzip ./source/l/gtk+2/gtk.nsplugin.diff
+gzip ./source/l/gtk+2/gtk.pnglz.diff
+gzip ./source/l/gtk+2/doinst.sh
+gzip ./source/l/svgalib/svgalib.prefix.diff
+gzip ./source/l/svgalib/svgalib-1.9.25-kernel-2.6.26.diff
+gzip ./source/l/svgalib/svgalib.nohelper.diff
+gzip ./source/l/imlib/imlib.mitshm.render.diff
+gzip ./source/l/lesstif/lesstif.rendertable.check.diff
+gzip ./source/l/lesstif/lesstif.Makefile.in.patch
+gzip ./source/l/lesstif/lesstif.PutPixel32.patch
+gzip ./source/l/lesstif/lesstif.gcc42.diff
+gzip ./source/l/lesstif/doinst.sh
+gzip ./source/l/lesstif/lesstif.x86_64.patch
+gzip ./source/l/freetype/freetype.bytecode.interpreter.diff
+gzip ./source/l/freetype/freetype.subpixel.rendering.diff
+gzip ./source/l/freetype/freetype.illadvisederror.diff
+gzip ./source/l/fuse/doinst.sh
+gzip ./source/l/sdl/SDL_mixer-1.2.8.usrlocal.diff
+gzip ./source/l/libjpeg/jpeg-6b.diff
+gzip ./source/l/pango/pango.etc.host.location.diff
+gzip ./source/l/qca-ossl/qca-ossl.nowhirlpool.diff
+gzip ./source/l/libtermcap/termcap.h.diff
+gzip ./source/l/libtermcap/termcap.bufsize.diff
+gzip ./source/l/libtermcap/termcap-compat_1.2.3.diff
+gzip ./source/l/libnl/libnl-include_limits.h.patch
+gzip ./source/l/libexif/libexif.pc.diff
+gzip ./source/l/akonadi/doinst.sh
+gzip ./source/l/hicolor-icon-theme/doinst.sh
+gzip ./source/l/desktop-file-utils/doinst.sh
+gzip ./source/l/glib2/glib-CVE-2008-4316.diff
+gzip ./source/l/glib2/doinst.sh
+gzip ./source/kde/kdebase-runtime/doinst.sh
+gzip ./source/kde/kdebase-runtime/kdebase-runtime-text-render-969192.diff
+gzip ./source/kde/kdeaccessibility/doinst.sh
+gzip ./source/kde/skanlite/doinst.sh
+gzip ./source/kde/kdenetwork/doinst.sh
+gzip ./source/kde/kdenetwork/kopete-r986796.diff
+gzip ./source/kde/amarok/amarok.qtscript.optional.diff
+gzip ./source/kde/amarok/doinst.sh
+gzip ./source/kde/k3b/doinst.sh
+gzip ./source/kde/k3b/k3b.internal.libsamplerate.diff
+gzip ./source/kde/kdemultimedia/doinst.sh
+gzip ./source/kde/kdeutils/doinst.sh
+gzip ./source/kde/kdegraphics/doinst.sh
+gzip ./source/kde/kdesdk/doinst.sh
+gzip ./source/kde/kdebase/doinst.sh
+gzip ./source/kde/kdeartwork/doinst.sh
+gzip ./source/kde/kdeplasma-addons/doinst.sh
+gzip ./source/kde/kdevplatform/doinst.sh
+gzip ./source/kde/kdeedu/doinst.sh
+gzip ./source/kde/kdelibs/kdesu-allow_NOPASS_in_suauth.patch
+gzip ./source/kde/kdelibs/fixPopupForPlasmaboard.diff
+gzip ./source/kde/kdelibs/doinst.sh
+gzip ./source/kde/kdetoys/doinst.sh
+gzip ./source/kde/kdewebdev/kde4-kdewebdev-findtidy.diff
+gzip ./source/kde/kdewebdev/doinst.sh
+gzip ./source/kde/ktorrent/doinst.sh
+gzip ./source/kde/kdebase-workspace/doinst.sh
+gzip ./source/kde/kdepim/doinst.sh
+gzip ./source/kde/kdegames/doinst.sh
+gzip ./source/kde/kdeadmin/doinst.sh
+gzip ./source/kde/kaudiocreator/doinst.sh
+gzip ./source/kde/koffice/doinst.sh
+gzip ./source/kde/kdevelop/doinst.sh
gzip ./source/n/portmap/rc.rpc
-gzip ./source/n/portmap/doinst.sh
gzip ./source/n/portmap/portmap.lwrap.needs.lnsl.diff
-gzip ./source/n/iptraf/iptraf_3.0.0-6.diff
-gzip ./source/n/iptraf/iptraf.paths.diff
-gzip ./source/n/htdig/htdig.conf.diff
-gzip ./source/n/htdig/htdig-3.2.0b6.diff
-gzip ./source/n/htdig/doinst.sh
-gzip ./source/n/lftp/doinst.sh
-gzip ./source/n/irssi/irsi-0.8.14.manpage_fix.diff
-gzip ./source/n/irssi/doinst.sh
-gzip ./source/n/openssh/doinst.sh
-gzip ./source/n/mailx/doinst.sh
-gzip ./source/n/nfs-utils/nfs-utils.lwrap.needs.lnsl.diff
-gzip ./source/n/network-scripts/doinst.sh
-gzip ./source/n/netkit-timed/netkit-timed-0.17.diff
-gzip ./source/n/ytalk/doinst.sh
-gzip ./source/n/stunnel/doinst.sh
-gzip ./source/n/netatalk/netatalk-2.0.4-afpdconf.diff
-gzip ./source/n/netatalk/netatalk-2.0.4-without_xfs.diff
-gzip ./source/n/netatalk/netatalk.etc2ps.diff
-gzip ./source/n/netatalk/doinst.sh
-gzip ./source/n/icmpinfo/icmpinfo-1.11.diff
-gzip ./source/n/netwrite/netwrite-0.17.diff
-gzip ./source/n/bsd-finger/bsd-finger-0.17.diff
-gzip ./source/n/netkit-routed/routed.18.candidate.final.patch
-gzip ./source/n/netkit-routed/netkit-routed-0.17.diff
-gzip ./source/n/net-tools/net-tools.diff
-gzip ./source/n/net-tools/net-tools_1.60-19.diff
-gzip ./source/n/inetd/inetd.loopingdos.diff
-gzip ./source/n/inetd/inetd-OpenBSD-1.79.diff
+gzip ./source/n/portmap/doinst.sh
+gzip ./source/n/gpa/doinst.sh
gzip ./source/n/openldap-client/doinst.sh
-gzip ./source/n/netwatch/netwatch.makefile.diff
-gzip ./source/n/netwatch/netwatch.phonemyself.diff
-gzip ./source/n/nmap/nmap.ndiff.mandir.diff
-gzip ./source/n/procmail/procmail_3.22-5.diff
-gzip ./source/n/procmail/procmail.lfs.diff
-gzip ./source/n/rp-pppoe/doinst.sh
-gzip ./source/n/bluez-utils/doinst.sh
+gzip ./source/n/trn/config.x86_64.sh
+gzip ./source/n/trn/config.sh
gzip ./source/n/pidentd/pidentd.conf.diff
gzip ./source/n/pidentd/doinst.sh
-gzip ./source/n/dhcpcd/COPYRIGHT
-gzip ./source/n/dhcpcd/patches/config.h.diff
+gzip ./source/n/yptools/rc.yp
+gzip ./source/n/yptools/nsswitch.conf-nis
gzip ./source/n/dhcpcd/patches/dhcpcd.8.in.diff
gzip ./source/n/dhcpcd/patches/dhcpcd.sh.diff
+gzip ./source/n/dhcpcd/patches/config.h.diff
+gzip ./source/n/dhcpcd/COPYRIGHT
gzip ./source/n/dhcpcd/dhcpcd.vararg.diff
-gzip ./source/n/sendmail/Build
+gzip ./source/n/network-scripts/doinst.sh
+gzip ./source/n/rp-pppoe/doinst.sh
+gzip ./source/n/proftpd/doinst.sh
+gzip ./source/n/ntp/doinst.sh
+gzip ./source/n/biff+comsat/biff+comsat.offset.diff
+gzip ./source/n/biff+comsat/biff+comsat-0.17.diff
+gzip ./source/n/biff+comsat/biff+comsat.badutmp.diff
+gzip ./source/n/netwrite/netwrite-0.17.diff
+gzip ./source/n/autofs/autofs.x86_64.diff
+gzip ./source/n/autofs/autofs-3.1.7.diff
+gzip ./source/n/autofs/autofs.gcc.fix.diff
gzip ./source/n/popa3d/popa3d.diff
gzip ./source/n/popa3d/doinst.sh
-gzip ./source/n/traceroute/traceroute.no.domain.strip.diff
-gzip ./source/n/traceroute/traceroute_1.4a12-5.diff
-gzip ./source/n/nc/nc-110-21.diff
-gzip ./source/n/nc/nc.diff
-gzip ./source/n/rdist/rdist-6.1.5-cleanup.diff
-gzip ./source/n/rdist/rdist-6.1.5-varargs.diff
gzip ./source/n/rdist/rdist-6.1.5-bison.diff
gzip ./source/n/rdist/rdist-6.1.5.diff
-gzip ./source/n/netdate/netdate.diff
-gzip ./source/n/netdate/netdate.diff2
-gzip ./source/n/wget/doinst.sh
-gzip ./source/n/gpa/doinst.sh
-gzip ./source/n/samba/doinst.sh
-gzip ./source/n/samba/smb.conf.diff
-gzip ./source/n/php/php.ini.diff
-gzip ./source/n/php/php.recommended.ini.diff
-gzip ./source/n/php/doinst.sh
-gzip ./source/n/alpine/alpine.manpage.diff
-gzip ./source/n/alpine/alpine.config.h.diff
-gzip ./source/n/alpine/alpine.tech-notes.txt.diff
-gzip ./source/n/alpine/pinepgp-0.18.0-makefile-sed-fix.diff
-gzip ./source/n/alpine/pinepgp.pinegpgp.in.diff
-gzip ./source/n/nn/nn.diff
-gzip ./source/n/nn/nntpserver
-gzip ./source/n/nn/nn.destdir.diff
-gzip ./source/n/nn/nn.badnntphost.diff
-gzip ./source/n/nn/doinst.sh
-gzip ./source/n/nn/NNTP
-gzip ./source/n/net-snmp/snmpd.conf
-gzip ./source/n/net-snmp/doinst.sh
-gzip ./source/n/trn/config.sh
-gzip ./source/n/trn/config.x86_64.sh
-gzip ./source/n/iproute2/iproute2.dbpath.diff
-gzip ./source/n/iproute2/doinst.sh
-gzip ./source/n/iproute2/iproute2.iptablespath.diff
-gzip ./source/n/biff+comsat/biff+comsat.offset.diff
-gzip ./source/n/biff+comsat/biff+comsat-0.17.diff
-gzip ./source/n/biff+comsat/biff+comsat.badutmp.diff
+gzip ./source/n/rdist/rdist-6.1.5-varargs.diff
+gzip ./source/n/rdist/rdist-6.1.5-cleanup.diff
+gzip ./source/n/iptraf/iptraf.paths.diff
+gzip ./source/n/iptraf/iptraf_3.0.0-6.diff
+gzip ./source/n/net-tools/net-tools_1.60-19.diff
+gzip ./source/n/net-tools/net-tools.diff
+gzip ./source/n/inetd/inetd.loopingdos.diff
+gzip ./source/n/inetd/inetd-OpenBSD-1.79.diff
+gzip ./source/n/netkit-rusers/netkit-rusers-0.17.diff
+gzip ./source/n/stunnel/doinst.sh
+gzip ./source/n/ppp/options.new
+gzip ./source/n/ppp/realms
+gzip ./source/n/ppp/pppsetup-1.98.moredevs.diff
+gzip ./source/n/ppp/ppp.slack.diff
+gzip ./source/n/ppp/radius.msdict
+gzip ./source/n/ppp/pppsetup-1.98.backupfiles.diff
+gzip ./source/n/ppp/doinst.sh
+gzip ./source/n/ppp/servers
+gzip ./source/n/ppp/pppsetup-1.98.slack.diff
+gzip ./source/n/ppp/pppsetup-1.98.pppoff.diff
+gzip ./source/n/sendmail/Build
gzip ./source/n/telnet/netkit-telnet-0.17.diff
-gzip ./source/n/telnet/telnet-OpenBSD-014_telnet.diff
gzip ./source/n/telnet/netkit-telnet-0.17-ayt.patch
+gzip ./source/n/telnet/telnet-OpenBSD-014_telnet.diff
gzip ./source/n/telnet/telnet-OpenBSD-20020321.diff
-gzip ./source/n/bootp/bootptab
-gzip ./source/n/bootp/bootp_2.4.3-15.diff
-gzip ./source/n/bridge-utils/bridge-utils.isbridge.diff
-gzip ./source/n/netkit-rwho/rwhod_getloadavg.diff
-gzip ./source/n/netkit-rwho/netkit-rwho-0.17.diff
-gzip ./source/n/mutt/doinst.sh
+gzip ./source/n/httpd/httpd.runasapache.diff
+gzip ./source/n/httpd/config.layout.diff
+gzip ./source/n/httpd/httpd.nossldefault.diff
+gzip ./source/n/httpd/doinst.sh
+gzip ./source/n/slrn/doinst.sh
gzip ./source/n/bind/bind.man.diff
gzip ./source/n/bind/bind.var.run.named.diff
-gzip ./source/n/bind/bind.so_bsdcompat.diff
gzip ./source/n/bind/doinst.sh
-gzip ./source/n/openssl/openssl.optsx86.diff
-gzip ./source/n/openssl/openssl.soname.diff
-gzip ./source/n/openssl/doinst.sh-openssl
-gzip ./source/n/openssl/doinst.sh-openssl-solibs
-gzip ./source/n/openssl/openssl.no-extssl.diff
-gzip ./source/n/openssl/certwatch
-gzip ./source/n/wireless-tools/wireless_tools.nowhine.diff
-gzip ./source/n/wireless-tools/doinst.sh
-gzip ./source/n/wireless-tools/wireless_tools.static.diff
-gzip ./source/n/yptools/rc.yp
-gzip ./source/n/yptools/nsswitch.conf-nis
-gzip ./source/n/lynx/lynx.path.diff
-gzip ./source/n/lynx/lynx.cfg.diff
-gzip ./source/n/ppp/pppsetup-1.98.slack.diff
-gzip ./source/n/ppp/realms
-gzip ./source/n/ppp/servers
-gzip ./source/n/ppp/pppsetup-1.98.pppoff.diff
-gzip ./source/n/ppp/options.new
-gzip ./source/n/ppp/ppp.slack.diff
-gzip ./source/n/ppp/pppsetup-1.98.backupfiles.diff
-gzip ./source/n/ppp/doinst.sh
-gzip ./source/n/ppp/pppsetup-1.98.moredevs.diff
-gzip ./source/n/ppp/radius.msdict
-gzip ./source/n/autofs/autofs.x86_64.diff
-gzip ./source/n/autofs/autofs.gcc.fix.diff
-gzip ./source/n/autofs/autofs-3.1.7.diff
-gzip ./source/n/mtr/mtr-0.73.configure.error.diff
-gzip ./source/n/cyrus-sasl/rc.saslauthd
+gzip ./source/n/bind/bind.so_bsdcompat.diff
+gzip ./source/n/bootp/bootp_2.4.3-15.diff
+gzip ./source/n/bootp/bootptab
+gzip ./source/n/nn/nntpserver
+gzip ./source/n/nn/NNTP
+gzip ./source/n/nn/nn.badnntphost.diff
+gzip ./source/n/nn/nn.destdir.diff
+gzip ./source/n/nn/nn.diff
+gzip ./source/n/nn/doinst.sh
+gzip ./source/n/htdig/htdig-3.2.0b6.diff
+gzip ./source/n/htdig/doinst.sh
+gzip ./source/n/htdig/htdig.conf.diff
+gzip ./source/n/netatalk/doinst.sh
+gzip ./source/n/netatalk/netatalk-2.0.4-afpdconf.diff
+gzip ./source/n/netatalk/netatalk.etc2ps.diff
+gzip ./source/n/netatalk/netatalk-2.0.4-without_xfs.diff
+gzip ./source/n/net-snmp/snmpd.conf
+gzip ./source/n/net-snmp/doinst.sh
+gzip ./source/n/dnsmasq/rc.dnsmasq
+gzip ./source/n/dnsmasq/doinst.sh
+gzip ./source/n/dnsmasq/dnsmasq.leasedir.diff
gzip ./source/n/cyrus-sasl/doinst.sh
+gzip ./source/n/cyrus-sasl/rc.saslauthd
+gzip ./source/n/netkit-timed/netkit-timed-0.17.diff
gzip ./source/n/vsftpd/vsftpd.vsf_findlibs.sh.diff
gzip ./source/n/vsftpd/vsftpd.log
+gzip ./source/n/vsftpd/vsftpd.builddefs.diff
gzip ./source/n/vsftpd/vsftpd.conf.diff
gzip ./source/n/vsftpd/doinst.sh
-gzip ./source/n/vsftpd/vsftpd.builddefs.diff
-gzip ./source/n/netkit-rusers/netkit-rusers-0.17.diff
-gzip ./source/n/slrn/doinst.sh
+gzip ./source/n/nfs-utils/nfs-utils.lwrap.needs.lnsl.diff
+gzip ./source/n/lynx/lynx.cfg.diff
+gzip ./source/n/lynx/lynx.path.diff
+gzip ./source/n/traceroute/traceroute.no.domain.strip.diff
+gzip ./source/n/traceroute/traceroute_1.4a12-5.diff
+gzip ./source/n/irssi/irsi-0.8.14.manpage_fix.diff
+gzip ./source/n/irssi/doinst.sh
+gzip ./source/n/mailx/doinst.sh
+gzip ./source/n/netwatch/netwatch.phonemyself.diff
+gzip ./source/n/netwatch/netwatch.makefile.diff
+gzip ./source/n/iproute2/iproute2.dbpath.diff
+gzip ./source/n/iproute2/iproute2.iptablespath.diff
+gzip ./source/n/iproute2/doinst.sh
+gzip ./source/n/openssh/doinst.sh
gzip ./source/n/uucp/policy.h.diff
-gzip ./source/n/proftpd/doinst.sh
+gzip ./source/n/ytalk/doinst.sh
+gzip ./source/n/nc/nc-110-21.diff
+gzip ./source/n/nc/nc.diff
+gzip ./source/n/bluez-utils/doinst.sh
+gzip ./source/n/samba/smb.conf.diff
+gzip ./source/n/samba/doinst.sh
+gzip ./source/n/netkit-rwho/rwhod_getloadavg.diff
+gzip ./source/n/netkit-rwho/netkit-rwho-0.17.diff
+gzip ./source/n/wget/doinst.sh
+gzip ./source/n/alpine/pinepgp.pinegpgp.in.diff
+gzip ./source/n/alpine/alpine.tech-notes.txt.diff
+gzip ./source/n/alpine/pinepgp-0.18.0-makefile-sed-fix.diff
+gzip ./source/n/alpine/alpine.config.h.diff
+gzip ./source/n/alpine/alpine.manpage.diff
+gzip ./source/n/netkit-routed/netkit-routed-0.17.diff
+gzip ./source/n/netkit-routed/routed.18.candidate.final.patch
+gzip ./source/n/netdate/netdate.diff2
+gzip ./source/n/netdate/netdate.diff
+gzip ./source/n/php/php.ini.diff
+gzip ./source/n/php/php.recommended.ini.diff
+gzip ./source/n/php/doinst.sh
+gzip ./source/n/bridge-utils/bridge-utils.isbridge.diff
gzip ./source/n/netkit-ntalk/netkit-ntalk-0.11.diff
gzip ./source/n/netkit-ntalk/ntalk-0.17-slackware-alt-talkd.patch
gzip ./source/n/netkit-ntalk/netkit-ntalk-0.17.diff
-gzip ./source/n/ntp/doinst.sh
-gzip ./source/installer/busybox-1.12.1_inotify.diff
-gzip ./source/ap/hplip/hplip.prevent_segfault.diff
-gzip ./source/ap/hplip/doinst.sh
-gzip ./source/ap/xfsdump/xfsdump.destdir.diff
-gzip ./source/ap/sysstat/sysstat.etc.sysstat.diff
-gzip ./source/ap/sysstat/sysstat.var.run.diff
-gzip ./source/ap/sysstat/sysstat.prefix.usr.diff
-gzip ./source/ap/ghostscript-fonts-std/doinst.sh
-gzip ./source/ap/groff/groff.docdir.diff
-gzip ./source/ap/groff/groff.man.mdoc.local
-gzip ./source/ap/cdrtools/doinst.sh
-gzip ./source/ap/diffutils/doinst.sh
-gzip ./source/ap/diffutils/diffutils-sdiff-no-waitpid.patch
-gzip ./source/ap/acct/acct-6.4pre1-6.diff
-gzip ./source/ap/acct/acct.logdir.fhs.diff
-gzip ./source/ap/amp/amp-gcc34.diff
-gzip ./source/ap/ispell/ispell.diff
-gzip ./source/ap/seejpeg/seejpeg-1.10.diff
-gzip ./source/ap/libx86/lrmi.c.diff
-gzip ./source/ap/man-pages/doinst.sh
-gzip ./source/ap/alsa-utils/alsa-utils.alsaconf.diff
-gzip ./source/ap/alsa-utils/rc.alsa
-gzip ./source/ap/workbone/workbone.1.diff
-gzip ./source/ap/workbone/workbone_2.40-3.diff
+gzip ./source/n/wireless-tools/wireless_tools.nowhine.diff
+gzip ./source/n/wireless-tools/doinst.sh
+gzip ./source/n/wireless-tools/wireless_tools.static.diff
+gzip ./source/n/mutt/doinst.sh
+gzip ./source/n/mtr/mtr-0.73.configure.error.diff
+gzip ./source/n/openssl/openssl.soname.diff
+gzip ./source/n/openssl/openssl.no-extssl.diff
+gzip ./source/n/openssl/doinst.sh-openssl-solibs
+gzip ./source/n/openssl/certwatch
+gzip ./source/n/openssl/openssl.optsx86.diff
+gzip ./source/n/openssl/doinst.sh-openssl
+gzip ./source/n/procmail/procmail_3.22-5.diff
+gzip ./source/n/procmail/procmail.lfs.diff
+gzip ./source/n/lftp/doinst.sh
+gzip ./source/n/nmap/nmap.ndiff.mandir.diff
+gzip ./source/n/icmpinfo/icmpinfo-1.11.diff
+gzip ./source/n/bsd-finger/bsd-finger-0.17.diff
+gzip ./source/x/x11/patch/xorg-server/x11.startwithblackscreen.diff
+gzip ./source/x/x11/patch/compiz/compiz-0.7.8-kde42-crash.patch
+gzip ./source/x/x11/patch/compiz/compiz-0.7.8-kde42-krunner.patch
+gzip ./source/x/x11/patch/compiz/compiz-0.7.8-kde42.patch
+gzip ./source/x/x11/patch/xscope/xscope-1.1-scope.c.diff
+gzip ./source/x/x11/post-install/xorg-cf-files/x11.tmpl.lib64.kludge.diff
+gzip ./source/x/scim-hangul/scim-hangul.gcc43.diff
+gzip ./source/x/scim-pinyin/scim-pinyin.gcc43.diff
+gzip ./source/x/ttf-indic-fonts/doinst.sh
+gzip ./source/x/ttf-indic-fonts/ttf-indic-fonts.copyright.diff
+gzip ./source/x/xdg-utils/doinst.sh
+gzip ./source/x/scim-anthy/scim-anthy.gcc43.diff
+gzip ./source/x/x11-skel/doinst.sh
+gzip ./source/x/liberation-fonts-ttf/doinst.sh
+gzip ./source/x/fontconfig/fontconfig.font.dir.list.diff
+gzip ./source/x/fontconfig/fontconfig.dejavu.diff
+gzip ./source/x/xaw3d/Xaw3d-1.5-debian-fixes.diff
+gzip ./source/x/xaw3d/Xaw3d-1.5E.diff
+gzip ./source/x/dejavu-fonts-ttf/doinst.sh
+gzip ./source/k/2.6.29.x-intel-crash-patch.diff
+gzip ./source/k/linux-2.6.29.6-01-sendpage.diff
+gzip ./source/k/linux-2.6.29.6-02-default-mmap_min_addr-4096.diff
gzip ./source/ap/sudo/doinst.sh
gzip ./source/ap/dvd+rw-tools/dvd+rw-tools.limits.h.diff
-gzip ./source/ap/texinfo/dir
-gzip ./source/ap/texinfo/doinst.sh
-gzip ./source/ap/jove/jove.makefile.diff
-gzip ./source/ap/sc/sc-malloc.diff
-gzip ./source/ap/sc/sc-gcc34.diff
-gzip ./source/ap/man/man-1.6f.nroff.mandoc.diff
-gzip ./source/ap/man/doinst.sh
-gzip ./source/ap/ash/patches/ash-freebsd.patch
-gzip ./source/ap/ash/patches/ash-setmode.patch
-gzip ./source/ap/ash/patches/ash-syntax.patch
-gzip ./source/ap/ash/patches/ash-makefile.patch
-gzip ./source/ap/ash/patches/ash-kill.patch
-gzip ./source/ap/ash/patches/ash-test.patch
-gzip ./source/ap/ash/patches/ash-echo.patch
-gzip ./source/ap/ash/patches/ash-debian.patch
-gzip ./source/ap/ash/patches/ash-getcwd.patch
-gzip ./source/ap/ash/patches/ash-getopt.patch
-gzip ./source/ap/ash/patches/ash-hetio.patch
-gzip ./source/ap/ash/patches/ash-glob.patch
-gzip ./source/ap/ash/patches/ash-manpage.patch
-gzip ./source/ap/ash/patches/ash-ppid.patch
-gzip ./source/ap/ash/patches/ash-times.patch
-gzip ./source/ap/ash/patches/ash-sighup.patch
-gzip ./source/ap/ash/patches/ash-memout.patch
-gzip ./source/ap/ash/patches/ash-misc.patch
-gzip ./source/ap/ash/patches/ash-builtin.patch
-gzip ./source/ap/ash/patches/ash-redir.patch
-gzip ./source/ap/ash/patches/ash-jobs.patch
-gzip ./source/ap/dmidecode/dmidecode.makefile.diff
-gzip ./source/ap/cdparanoia/cdparanoia-III-10.2_cdda_private.patch
-gzip ./source/ap/radeontool/radeontool.c.diff
-gzip ./source/ap/sqlite/COPYRIGHT
+gzip ./source/ap/xfsdump/xfsdump.destdir.diff
gzip ./source/ap/ghostscript/cidfmap
-gzip ./source/ap/linuxdoc-tools/sources/docbook_4.5-4.diff
-gzip ./source/ap/linuxdoc-tools/sources/libsgmls-perl_1.03ii-32.diff
-gzip ./source/ap/dmapi/dmapi.destdir.diff
-gzip ./source/ap/rpm/doinst.sh
-gzip ./source/ap/rpm/Packages
-gzip ./source/ap/at/doinst.sh
+gzip ./source/ap/a2ps/a2ps.a2ps_cfg.in.diff
+gzip ./source/ap/a2ps/psutils.diff
+gzip ./source/ap/a2ps/a2ps.diff
+gzip ./source/ap/a2ps/psutils.destdir.diff
gzip ./source/ap/aumix/aumix.alsa.diff
+gzip ./source/ap/dmapi/dmapi.destdir.diff
+gzip ./source/ap/man/doinst.sh
+gzip ./source/ap/man/man-1.6f.nroff.mandoc.diff
gzip ./source/ap/mysql/rc.mysqld
gzip ./source/ap/mysql/doinst.sh
-gzip ./source/ap/jed/jed.mouse.diff
-gzip ./source/ap/jed/jed.multibyte.diff
-gzip ./source/ap/foomatic-filters/doinst.sh
+gzip ./source/ap/texinfo/doinst.sh
+gzip ./source/ap/texinfo/dir
gzip ./source/ap/zsh/zsh-4.3.10-add_new_pkg_completion.diff
gzip ./source/ap/zsh/doinst.sh
-gzip ./source/ap/flac/flac.man.diff
-gzip ./source/ap/vim/patches/7.2.130
-gzip ./source/ap/vim/patches/7.2.243
-gzip ./source/ap/vim/patches/7.2.194
-gzip ./source/ap/vim/patches/7.2.110
-gzip ./source/ap/vim/patches/7.2.068
-gzip ./source/ap/vim/patches/7.2.085
-gzip ./source/ap/vim/patches/7.2.105
-gzip ./source/ap/vim/patches/7.2.095
-gzip ./source/ap/vim/patches/7.2.113
-gzip ./source/ap/vim/patches/7.2.024
-gzip ./source/ap/vim/patches/7.2.062
-gzip ./source/ap/vim/patches/7.2.136
-gzip ./source/ap/vim/patches/7.2.106
-gzip ./source/ap/vim/patches/7.2.033
-gzip ./source/ap/vim/patches/7.2.147
-gzip ./source/ap/vim/patches/7.2.189
-gzip ./source/ap/vim/patches/7.2.163
-gzip ./source/ap/vim/patches/7.2.201
-gzip ./source/ap/vim/patches/7.2.120
-gzip ./source/ap/vim/patches/7.2.240
-gzip ./source/ap/vim/patches/7.2.035
-gzip ./source/ap/vim/patches/7.2.069
-gzip ./source/ap/vim/patches/7.2.244
-gzip ./source/ap/vim/patches/7.2.153
-gzip ./source/ap/vim/patches/7.2.030
-gzip ./source/ap/vim/patches/7.2.154
-gzip ./source/ap/vim/patches/7.2.179
-gzip ./source/ap/vim/patches/7.2.185
-gzip ./source/ap/vim/patches/7.2.064
-gzip ./source/ap/vim/patches/7.2.116
-gzip ./source/ap/vim/patches/7.2.010
-gzip ./source/ap/vim/patches/7.2.121
-gzip ./source/ap/vim/patches/7.2.245
-gzip ./source/ap/vim/patches/7.2.117
-gzip ./source/ap/vim/patches/7.2.178
-gzip ./source/ap/vim/patches/7.2.124
-gzip ./source/ap/vim/patches/7.2.101
-gzip ./source/ap/vim/patches/7.2.061
-gzip ./source/ap/vim/patches/7.2.187
-gzip ./source/ap/vim/patches/7.2.060
-gzip ./source/ap/vim/patches/7.2.075
-gzip ./source/ap/vim/patches/7.2.131
-gzip ./source/ap/vim/patches/7.2.166
-gzip ./source/ap/vim/patches/7.2.219
-gzip ./source/ap/vim/patches/7.2.090
-gzip ./source/ap/vim/patches/7.2.170
-gzip ./source/ap/vim/patches/7.2.129
+gzip ./source/ap/at/doinst.sh
+gzip ./source/ap/cdparanoia/cdparanoia-III-10.2_cdda_private.patch
+gzip ./source/ap/jed/jed.mouse.diff
+gzip ./source/ap/jed/jed.multibyte.diff
+gzip ./source/ap/sqlite/COPYRIGHT
+gzip ./source/ap/seejpeg/seejpeg-1.10.diff
+gzip ./source/ap/libx86/lrmi.c.diff
+gzip ./source/ap/cdrtools/doinst.sh
+gzip ./source/ap/diffutils/diffutils-sdiff-no-waitpid.patch
+gzip ./source/ap/diffutils/doinst.sh
+gzip ./source/ap/ghostscript-fonts-std/doinst.sh
+gzip ./source/ap/hplip/doinst.sh
+gzip ./source/ap/hplip/hplip.prevent_segfault.diff
+gzip ./source/ap/linuxdoc-tools/sources/libsgmls-perl_1.03ii-32.diff
+gzip ./source/ap/linuxdoc-tools/sources/docbook_4.5-4.diff
+gzip ./source/ap/sysstat/sysstat.etc.sysstat.diff
+gzip ./source/ap/sysstat/sysstat.prefix.usr.diff
+gzip ./source/ap/sysstat/sysstat.var.run.diff
+gzip ./source/ap/rpm/doinst.sh
+gzip ./source/ap/rpm/Packages
+gzip ./source/ap/radeontool/radeontool.c.diff
+gzip ./source/ap/vim/patches/7.2.149
+gzip ./source/ap/vim/patches/7.2.096
gzip ./source/ap/vim/patches/7.2.088
-gzip ./source/ap/vim/patches/7.2.200
-gzip ./source/ap/vim/patches/7.2.204
-gzip ./source/ap/vim/patches/7.2.216
-gzip ./source/ap/vim/patches/7.2.097
-gzip ./source/ap/vim/patches/7.2.125
-gzip ./source/ap/vim/patches/7.2.041
-gzip ./source/ap/vim/patches/7.2.013
+gzip ./source/ap/vim/patches/7.2.082
gzip ./source/ap/vim/patches/7.2.055
-gzip ./source/ap/vim/patches/7.2.152
-gzip ./source/ap/vim/patches/7.2.169
-gzip ./source/ap/vim/patches/7.2.128
+gzip ./source/ap/vim/patches/7.2.145
+gzip ./source/ap/vim/patches/7.2.093
+gzip ./source/ap/vim/patches/7.2.228
+gzip ./source/ap/vim/patches/7.2.147
+gzip ./source/ap/vim/patches/7.2.102
+gzip ./source/ap/vim/patches/7.2.187
+gzip ./source/ap/vim/patches/7.2.183
gzip ./source/ap/vim/patches/7.2.126
-gzip ./source/ap/vim/patches/7.2.157
-gzip ./source/ap/vim/patches/7.2.079
-gzip ./source/ap/vim/patches/7.2.222
-gzip ./source/ap/vim/patches/7.2.007
-gzip ./source/ap/vim/patches/7.2.180
+gzip ./source/ap/vim/patches/7.2.022
+gzip ./source/ap/vim/patches/7.2.170
gzip ./source/ap/vim/patches/7.2.044
-gzip ./source/ap/vim/patches/7.2.045
-gzip ./source/ap/vim/patches/7.2.234
-gzip ./source/ap/vim/patches/7.2.098
-gzip ./source/ap/vim/patches/7.2.239
-gzip ./source/ap/vim/patches/7.2.237
-gzip ./source/ap/vim/patches/7.2.056
-gzip ./source/ap/vim/patches/7.2.191
+gzip ./source/ap/vim/patches/7.2.152
+gzip ./source/ap/vim/patches/7.2.101
+gzip ./source/ap/vim/patches/7.2.160
+gzip ./source/ap/vim/patches/7.2.067
+gzip ./source/ap/vim/patches/7.2.004
+gzip ./source/ap/vim/patches/7.2.025
+gzip ./source/ap/vim/patches/7.2.197
+gzip ./source/ap/vim/patches/7.2.184
+gzip ./source/ap/vim/patches/7.2.134
gzip ./source/ap/vim/patches/7.2.159
-gzip ./source/ap/vim/patches/7.2.080
+gzip ./source/ap/vim/patches/7.2.165
+gzip ./source/ap/vim/patches/7.2.095
+gzip ./source/ap/vim/patches/7.2.081
+gzip ./source/ap/vim/patches/7.2.058
+gzip ./source/ap/vim/patches/7.2.033
+gzip ./source/ap/vim/patches/7.2.015
gzip ./source/ap/vim/patches/7.2.214
-gzip ./source/ap/vim/patches/7.2.142
-gzip ./source/ap/vim/patches/7.2.172
-gzip ./source/ap/vim/patches/7.2.134
-gzip ./source/ap/vim/patches/7.2.135
-gzip ./source/ap/vim/patches/7.2.076
-gzip ./source/ap/vim/patches/7.2.071
-gzip ./source/ap/vim/patches/7.2.190
-gzip ./source/ap/vim/patches/7.2.220
-gzip ./source/ap/vim/patches/7.2.070
-gzip ./source/ap/vim/patches/7.2.059
-gzip ./source/ap/vim/patches/7.2.006
-gzip ./source/ap/vim/patches/7.2.096
+gzip ./source/ap/vim/patches/7.2.174
+gzip ./source/ap/vim/patches/7.2.202
+gzip ./source/ap/vim/patches/7.2.039
+gzip ./source/ap/vim/patches/7.2.086
+gzip ./source/ap/vim/patches/7.2.079
+gzip ./source/ap/vim/patches/7.2.042
+gzip ./source/ap/vim/patches/7.2.036
+gzip ./source/ap/vim/patches/7.2.019
+gzip ./source/ap/vim/patches/7.2.038
+gzip ./source/ap/vim/patches/7.2.163
+gzip ./source/ap/vim/patches/7.2.140
+gzip ./source/ap/vim/patches/7.2.161
+gzip ./source/ap/vim/patches/7.2.181
+gzip ./source/ap/vim/patches/7.2.216
+gzip ./source/ap/vim/patches/7.2.240
+gzip ./source/ap/vim/patches/7.2.018
gzip ./source/ap/vim/patches/7.2.226
-gzip ./source/ap/vim/patches/7.2.023
-gzip ./source/ap/vim/patches/7.2.083
+gzip ./source/ap/vim/patches/7.2.009
+gzip ./source/ap/vim/patches/7.2.212
+gzip ./source/ap/vim/patches/7.2.238
+gzip ./source/ap/vim/patches/7.2.219
+gzip ./source/ap/vim/patches/7.2.136
+gzip ./source/ap/vim/patches/7.2.097
+gzip ./source/ap/vim/patches/7.2.061
+gzip ./source/ap/vim/patches/7.2.024
+gzip ./source/ap/vim/patches/7.2.074
+gzip ./source/ap/vim/patches/7.2.218
+gzip ./source/ap/vim/patches/7.2.172
+gzip ./source/ap/vim/patches/7.2.213
+gzip ./source/ap/vim/patches/7.2.227
gzip ./source/ap/vim/patches/7.2.054
-gzip ./source/ap/vim/patches/7.2.122
-gzip ./source/ap/vim/patches/7.2.052
-gzip ./source/ap/vim/patches/7.2.235
+gzip ./source/ap/vim/patches/7.2.121
+gzip ./source/ap/vim/patches/7.2.142
+gzip ./source/ap/vim/patches/7.2.035
+gzip ./source/ap/vim/patches/7.2.066
+gzip ./source/ap/vim/patches/7.2.029
+gzip ./source/ap/vim/patches/7.2.124
+gzip ./source/ap/vim/patches/7.2.007
+gzip ./source/ap/vim/patches/7.2.151
+gzip ./source/ap/vim/patches/7.2.073
+gzip ./source/ap/vim/patches/7.2.233
+gzip ./source/ap/vim/patches/7.2.085
+gzip ./source/ap/vim/patches/7.2.203
+gzip ./source/ap/vim/patches/7.2.103
+gzip ./source/ap/vim/patches/7.2.245
+gzip ./source/ap/vim/patches/7.2.043
gzip ./source/ap/vim/patches/7.2.241
-gzip ./source/ap/vim/patches/7.2.111
+gzip ./source/ap/vim/patches/7.2.171
+gzip ./source/ap/vim/patches/7.2.071
+gzip ./source/ap/vim/patches/7.2.153
+gzip ./source/ap/vim/patches/7.2.209
gzip ./source/ap/vim/patches/7.2.034
-gzip ./source/ap/vim/patches/7.2.081
-gzip ./source/ap/vim/patches/7.2.114
-gzip ./source/ap/vim/patches/7.2.047
-gzip ./source/ap/vim/patches/7.2.158
-gzip ./source/ap/vim/patches/7.2.149
-gzip ./source/ap/vim/patches/7.2.032
-gzip ./source/ap/vim/patches/7.2.156
-gzip ./source/ap/vim/patches/7.2.009
-gzip ./source/ap/vim/patches/7.2.016
-gzip ./source/ap/vim/patches/7.2.004
-gzip ./source/ap/vim/patches/7.2.091
+gzip ./source/ap/vim/patches/7.2.040
+gzip ./source/ap/vim/patches/7.2.112
+gzip ./source/ap/vim/patches/7.2.072
gzip ./source/ap/vim/patches/7.2.205
-gzip ./source/ap/vim/patches/7.2.150
+gzip ./source/ap/vim/patches/7.2.217
+gzip ./source/ap/vim/patches/7.2.075
+gzip ./source/ap/vim/patches/7.2.127
+gzip ./source/ap/vim/patches/7.2.177
+gzip ./source/ap/vim/patches/7.2.182
+gzip ./source/ap/vim/patches/7.2.139
+gzip ./source/ap/vim/patches/7.2.224
+gzip ./source/ap/vim/patches/7.2.013
+gzip ./source/ap/vim/patches/7.2.194
+gzip ./source/ap/vim/patches/7.2.201
+gzip ./source/ap/vim/patches/7.2.083
+gzip ./source/ap/vim/patches/7.2.048
+gzip ./source/ap/vim/patches/7.2.032
+gzip ./source/ap/vim/patches/7.2.206
gzip ./source/ap/vim/patches/7.2.236
+gzip ./source/ap/vim/patches/7.2.008
+gzip ./source/ap/vim/patches/7.2.144
+gzip ./source/ap/vim/patches/7.2.231
+gzip ./source/ap/vim/patches/7.2.021
+gzip ./source/ap/vim/patches/7.2.191
+gzip ./source/ap/vim/patches/7.2.051
+gzip ./source/ap/vim/patches/7.2.242
+gzip ./source/ap/vim/patches/7.2.108
+gzip ./source/ap/vim/patches/7.2.091
+gzip ./source/ap/vim/patches/7.2.109
+gzip ./source/ap/vim/patches/7.2.164
gzip ./source/ap/vim/patches/7.2.089
-gzip ./source/ap/vim/patches/7.2.092
-gzip ./source/ap/vim/patches/7.2.160
-gzip ./source/ap/vim/patches/7.2.206
-gzip ./source/ap/vim/patches/7.2.199
-gzip ./source/ap/vim/patches/7.2.162
-gzip ./source/ap/vim/patches/7.2.215
-gzip ./source/ap/vim/patches/7.2.102
-gzip ./source/ap/vim/patches/7.2.207
+gzip ./source/ap/vim/patches/7.2.154
+gzip ./source/ap/vim/patches/7.2.070
+gzip ./source/ap/vim/patches/7.2.059
+gzip ./source/ap/vim/patches/7.2.020
+gzip ./source/ap/vim/patches/7.2.037
+gzip ./source/ap/vim/patches/7.2.090
gzip ./source/ap/vim/patches/7.2.198
-gzip ./source/ap/vim/patches/7.2.197
-gzip ./source/ap/vim/patches/7.2.094
-gzip ./source/ap/vim/patches/7.2.043
-gzip ./source/ap/vim/patches/7.2.186
-gzip ./source/ap/vim/patches/7.2.223
+gzip ./source/ap/vim/patches/7.2.148
+gzip ./source/ap/vim/patches/7.2.207
+gzip ./source/ap/vim/patches/7.2.167
+gzip ./source/ap/vim/patches/7.2.030
+gzip ./source/ap/vim/patches/7.2.111
+gzip ./source/ap/vim/patches/7.2.196
+gzip ./source/ap/vim/patches/7.2.084
+gzip ./source/ap/vim/patches/7.2.063
+gzip ./source/ap/vim/patches/7.2.173
+gzip ./source/ap/vim/patches/7.2.208
gzip ./source/ap/vim/patches/7.2.046
-gzip ./source/ap/vim/patches/7.2.230
-gzip ./source/ap/vim/patches/7.2.042
-gzip ./source/ap/vim/patches/7.2.228
-gzip ./source/ap/vim/patches/7.2.058
-gzip ./source/ap/vim/patches/7.2.029
-gzip ./source/ap/vim/patches/7.2.077
-gzip ./source/ap/vim/patches/7.2.217
+gzip ./source/ap/vim/patches/7.2.062
+gzip ./source/ap/vim/patches/7.2.031
+gzip ./source/ap/vim/patches/7.2.114
+gzip ./source/ap/vim/patches/7.2.156
+gzip ./source/ap/vim/patches/7.2.006
+gzip ./source/ap/vim/patches/7.2.113
+gzip ./source/ap/vim/patches/7.2.016
+gzip ./source/ap/vim/patches/7.2.087
+gzip ./source/ap/vim/patches/7.2.023
+gzip ./source/ap/vim/patches/7.2.011
+gzip ./source/ap/vim/patches/7.2.175
gzip ./source/ap/vim/patches/7.2.078
-gzip ./source/ap/vim/patches/7.2.093
-gzip ./source/ap/vim/patches/7.2.218
-gzip ./source/ap/vim/patches/7.2.181
-gzip ./source/ap/vim/patches/7.2.138
-gzip ./source/ap/vim/patches/7.2.119
-gzip ./source/ap/vim/patches/7.2.063
-gzip ./source/ap/vim/patches/7.2.225
-gzip ./source/ap/vim/patches/7.2.003
-gzip ./source/ap/vim/patches/7.2.144
-gzip ./source/ap/vim/patches/7.2.145
-gzip ./source/ap/vim/patches/7.2.065
-gzip ./source/ap/vim/patches/7.2.184
+gzip ./source/ap/vim/patches/7.2.052
+gzip ./source/ap/vim/patches/7.2.189
+gzip ./source/ap/vim/patches/7.2.118
+gzip ./source/ap/vim/patches/7.2.180
+gzip ./source/ap/vim/patches/7.2.100
+gzip ./source/ap/vim/patches/7.2.157
+gzip ./source/ap/vim/patches/7.2.105
+gzip ./source/ap/vim/patches/7.2.098
+gzip ./source/ap/vim/patches/7.2.092
+gzip ./source/ap/vim/patches/7.2.005
+gzip ./source/ap/vim/patches/7.2.210
gzip ./source/ap/vim/patches/7.2.188
-gzip ./source/ap/vim/patches/7.2.099
-gzip ./source/ap/vim/patches/7.2.109
-gzip ./source/ap/vim/patches/7.2.074
-gzip ./source/ap/vim/patches/7.2.209
-gzip ./source/ap/vim/patches/7.2.087
+gzip ./source/ap/vim/patches/7.2.192
gzip ./source/ap/vim/patches/7.2.107
gzip ./source/ap/vim/patches/7.2.143
+gzip ./source/ap/vim/patches/7.2.077
+gzip ./source/ap/vim/patches/7.2.129
+gzip ./source/ap/vim/patches/7.2.133
+gzip ./source/ap/vim/patches/7.2.186
+gzip ./source/ap/vim/patches/7.2.168
+gzip ./source/ap/vim/patches/7.2.158
+gzip ./source/ap/vim/patches/7.2.185
+gzip ./source/ap/vim/patches/7.2.190
gzip ./source/ap/vim/patches/7.2.115
-gzip ./source/ap/vim/patches/7.2.233
+gzip ./source/ap/vim/patches/7.2.193
+gzip ./source/ap/vim/patches/7.2.117
+gzip ./source/ap/vim/patches/7.2.132
+gzip ./source/ap/vim/patches/7.2.195
+gzip ./source/ap/vim/patches/7.2.220
gzip ./source/ap/vim/patches/7.2.028
-gzip ./source/ap/vim/patches/7.2.025
-gzip ./source/ap/vim/patches/7.2.082
-gzip ./source/ap/vim/patches/7.2.183
-gzip ./source/ap/vim/patches/7.2.165
-gzip ./source/ap/vim/patches/7.2.037
-gzip ./source/ap/vim/patches/7.2.213
-gzip ./source/ap/vim/patches/7.2.175
-gzip ./source/ap/vim/patches/7.2.238
-gzip ./source/ap/vim/patches/7.2.168
-gzip ./source/ap/vim/patches/7.2.048
-gzip ./source/ap/vim/patches/7.2.021
gzip ./source/ap/vim/patches/7.2.104
-gzip ./source/ap/vim/patches/7.2.015
-gzip ./source/ap/vim/patches/7.2.103
-gzip ./source/ap/vim/patches/7.2.051
-gzip ./source/ap/vim/patches/7.2.039
-gzip ./source/ap/vim/patches/7.2.140
-gzip ./source/ap/vim/patches/7.2.112
+gzip ./source/ap/vim/patches/7.2.234
+gzip ./source/ap/vim/patches/7.2.211
+gzip ./source/ap/vim/patches/7.2.204
+gzip ./source/ap/vim/patches/7.2.068
+gzip ./source/ap/vim/patches/7.2.064
+gzip ./source/ap/vim/patches/7.2.199
+gzip ./source/ap/vim/patches/7.2.002
+gzip ./source/ap/vim/patches/7.2.045
+gzip ./source/ap/vim/patches/7.2.146
+gzip ./source/ap/vim/patches/7.2.239
+gzip ./source/ap/vim/patches/7.2.125
+gzip ./source/ap/vim/patches/7.2.215
+gzip ./source/ap/vim/patches/7.2.243
+gzip ./source/ap/vim/patches/7.2.012
+gzip ./source/ap/vim/patches/7.2.141
+gzip ./source/ap/vim/patches/7.2.120
+gzip ./source/ap/vim/patches/7.2.053
+gzip ./source/ap/vim/patches/7.2.003
gzip ./source/ap/vim/patches/7.2.050
-gzip ./source/ap/vim/patches/7.2.203
-gzip ./source/ap/vim/patches/7.2.132
-gzip ./source/ap/vim/patches/7.2.017
-gzip ./source/ap/vim/patches/7.2.242
+gzip ./source/ap/vim/patches/7.2.080
+gzip ./source/ap/vim/patches/7.2.057
+gzip ./source/ap/vim/patches/7.2.060
+gzip ./source/ap/vim/patches/7.2.122
+gzip ./source/ap/vim/patches/7.2.150
gzip ./source/ap/vim/patches/7.2.137
-gzip ./source/ap/vim/patches/7.2.195
-gzip ./source/ap/vim/patches/7.2.167
-gzip ./source/ap/vim/patches/7.2.141
-gzip ./source/ap/vim/patches/7.2.227
-gzip ./source/ap/vim/patches/7.2.139
-gzip ./source/ap/vim/patches/7.2.018
+gzip ./source/ap/vim/patches/7.2.155
+gzip ./source/ap/vim/patches/7.2.232
+gzip ./source/ap/vim/patches/7.2.131
+gzip ./source/ap/vim/patches/7.2.130
+gzip ./source/ap/vim/patches/7.2.106
+gzip ./source/ap/vim/patches/7.2.119
gzip ./source/ap/vim/patches/7.2.176
-gzip ./source/ap/vim/patches/7.2.001
-gzip ./source/ap/vim/patches/7.2.123
-gzip ./source/ap/vim/patches/7.2.208
-gzip ./source/ap/vim/patches/7.2.020
-gzip ./source/ap/vim/patches/7.2.193
-gzip ./source/ap/vim/patches/7.2.146
-gzip ./source/ap/vim/patches/7.2.100
-gzip ./source/ap/vim/patches/7.2.229
-gzip ./source/ap/vim/patches/7.2.164
-gzip ./source/ap/vim/patches/7.2.019
-gzip ./source/ap/vim/patches/7.2.211
-gzip ./source/ap/vim/patches/7.2.108
-gzip ./source/ap/vim/patches/7.2.224
-gzip ./source/ap/vim/patches/7.2.026
-gzip ./source/ap/vim/patches/7.2.192
-gzip ./source/ap/vim/patches/7.2.040
-gzip ./source/ap/vim/patches/7.2.171
-gzip ./source/ap/vim/patches/7.2.005
-gzip ./source/ap/vim/patches/7.2.182
+gzip ./source/ap/vim/patches/7.2.162
+gzip ./source/ap/vim/patches/7.2.223
+gzip ./source/ap/vim/patches/7.2.076
+gzip ./source/ap/vim/patches/7.2.128
+gzip ./source/ap/vim/patches/7.2.116
+gzip ./source/ap/vim/patches/7.2.235
+gzip ./source/ap/vim/patches/7.2.135
+gzip ./source/ap/vim/patches/7.2.225
+gzip ./source/ap/vim/patches/7.2.056
+gzip ./source/ap/vim/patches/7.2.179
gzip ./source/ap/vim/patches/7.2.049
-gzip ./source/ap/vim/patches/7.2.053
-gzip ./source/ap/vim/patches/7.2.031
-gzip ./source/ap/vim/patches/7.2.212
-gzip ./source/ap/vim/patches/7.2.118
-gzip ./source/ap/vim/patches/7.2.038
-gzip ./source/ap/vim/patches/7.2.196
-gzip ./source/ap/vim/patches/7.2.232
-gzip ./source/ap/vim/patches/7.2.127
-gzip ./source/ap/vim/patches/7.2.151
-gzip ./source/ap/vim/patches/7.2.073
-gzip ./source/ap/vim/patches/7.2.066
-gzip ./source/ap/vim/patches/7.2.086
-gzip ./source/ap/vim/patches/7.2.173
-gzip ./source/ap/vim/patches/7.2.012
-gzip ./source/ap/vim/patches/7.2.057
-gzip ./source/ap/vim/patches/7.2.067
-gzip ./source/ap/vim/patches/7.2.221
-gzip ./source/ap/vim/patches/7.2.072
-gzip ./source/ap/vim/patches/7.2.022
-gzip ./source/ap/vim/patches/7.2.210
-gzip ./source/ap/vim/patches/7.2.148
-gzip ./source/ap/vim/patches/7.2.133
-gzip ./source/ap/vim/patches/7.2.011
-gzip ./source/ap/vim/patches/7.2.008
-gzip ./source/ap/vim/patches/7.2.174
-gzip ./source/ap/vim/patches/7.2.161
-gzip ./source/ap/vim/patches/7.2.177
-gzip ./source/ap/vim/patches/7.2.002
-gzip ./source/ap/vim/patches/7.2.084
-gzip ./source/ap/vim/patches/7.2.036
-gzip ./source/ap/vim/patches/7.2.202
-gzip ./source/ap/vim/patches/7.2.231
+gzip ./source/ap/vim/patches/7.2.230
+gzip ./source/ap/vim/patches/7.2.017
+gzip ./source/ap/vim/patches/7.2.026
+gzip ./source/ap/vim/patches/7.2.069
+gzip ./source/ap/vim/patches/7.2.237
gzip ./source/ap/vim/patches/7.2.014
+gzip ./source/ap/vim/patches/7.2.099
+gzip ./source/ap/vim/patches/7.2.178
+gzip ./source/ap/vim/patches/7.2.094
+gzip ./source/ap/vim/patches/7.2.110
+gzip ./source/ap/vim/patches/7.2.138
+gzip ./source/ap/vim/patches/7.2.221
+gzip ./source/ap/vim/patches/7.2.200
+gzip ./source/ap/vim/patches/7.2.123
+gzip ./source/ap/vim/patches/7.2.047
+gzip ./source/ap/vim/patches/7.2.169
+gzip ./source/ap/vim/patches/7.2.041
gzip ./source/ap/vim/patches/7.2.027
-gzip ./source/ap/vim/patches/7.2.155
+gzip ./source/ap/vim/patches/7.2.166
+gzip ./source/ap/vim/patches/7.2.010
+gzip ./source/ap/vim/patches/7.2.229
+gzip ./source/ap/vim/patches/7.2.001
+gzip ./source/ap/vim/patches/7.2.244
+gzip ./source/ap/vim/patches/7.2.222
+gzip ./source/ap/vim/patches/7.2.065
gzip ./source/ap/vim/vim.vimrc.diff
gzip ./source/ap/vim/doinst.sh
-gzip ./source/ap/a2ps/a2ps.diff
-gzip ./source/ap/a2ps/psutils.destdir.diff
-gzip ./source/ap/a2ps/psutils.diff
-gzip ./source/ap/a2ps/a2ps.a2ps_cfg.in.diff
+gzip ./source/ap/ispell/ispell.diff
+gzip ./source/ap/flac/flac.man.diff
+gzip ./source/ap/workbone/workbone.1.diff
+gzip ./source/ap/workbone/workbone_2.40-3.diff
+gzip ./source/ap/man-pages/doinst.sh
+gzip ./source/ap/groff/groff.docdir.diff
+gzip ./source/ap/groff/groff.man.mdoc.local
+gzip ./source/ap/foomatic-filters/doinst.sh
+gzip ./source/ap/ash/patches/ash-getcwd.patch
+gzip ./source/ap/ash/patches/ash-glob.patch
+gzip ./source/ap/ash/patches/ash-jobs.patch
+gzip ./source/ap/ash/patches/ash-times.patch
+gzip ./source/ap/ash/patches/ash-echo.patch
+gzip ./source/ap/ash/patches/ash-ppid.patch
+gzip ./source/ap/ash/patches/ash-manpage.patch
+gzip ./source/ap/ash/patches/ash-builtin.patch
+gzip ./source/ap/ash/patches/ash-memout.patch
+gzip ./source/ap/ash/patches/ash-setmode.patch
+gzip ./source/ap/ash/patches/ash-hetio.patch
+gzip ./source/ap/ash/patches/ash-sighup.patch
+gzip ./source/ap/ash/patches/ash-syntax.patch
+gzip ./source/ap/ash/patches/ash-makefile.patch
+gzip ./source/ap/ash/patches/ash-test.patch
+gzip ./source/ap/ash/patches/ash-kill.patch
+gzip ./source/ap/ash/patches/ash-getopt.patch
+gzip ./source/ap/ash/patches/ash-misc.patch
+gzip ./source/ap/ash/patches/ash-debian.patch
+gzip ./source/ap/ash/patches/ash-redir.patch
+gzip ./source/ap/ash/patches/ash-freebsd.patch
+gzip ./source/ap/amp/amp-gcc34.diff
+gzip ./source/ap/alsa-utils/alsa-utils.alsaconf.diff
+gzip ./source/ap/alsa-utils/rc.alsa
+gzip ./source/ap/acct/acct.logdir.fhs.diff
+gzip ./source/ap/acct/acct-6.4pre1-6.diff
+gzip ./source/ap/dmidecode/dmidecode.makefile.diff
+gzip ./source/ap/sc/sc-gcc34.diff
+gzip ./source/ap/sc/sc-malloc.diff
gzip ./source/ap/lm_sensors/lm_sensors.makefile.diff
-gzip ./source/d/autoconf/doinst.sh
-gzip ./source/d/ruby/ruby.x86_64.diff
-gzip ./source/d/doxygen/doxygen.qt4.diff
-gzip ./source/d/libtool/libtool.no.moved.warning.diff
-gzip ./source/d/libtool/doinst.sh
-gzip ./source/d/rcs/rcs-5.7.diff
-gzip ./source/d/dev86/dev86-x86_64.noelks.patch
-gzip ./source/d/dev86/dev86-x86_64.patch
-gzip ./source/d/automake/doinst.sh
-gzip ./source/d/python/python.readline.set_pre_input_hook.diff
-gzip ./source/d/python/python.pure64.diff
-gzip ./source/d/python/python.x86_64.diff
-gzip ./source/d/pmake/pmake.strerror.strdup.diff
-gzip ./source/d/pmake/pmake.txt
-gzip ./source/d/pmake/pmake_1.111-1.diff
-gzip ./source/d/pkg-config/doinst.sh
-gzip ./source/d/gcc/gcc-no_fixincludes.diff
-gzip ./source/d/p2c/p2c_1.21alpha2-2.1.diff
-gzip ./source/d/p2c/p2c.examples.diff
-gzip ./source/d/p2c/p2c_time.diff
-gzip ./source/d/perl/perl.configure.multilib.patch
-gzip ./source/d/perl/doinst.sh
+gzip ./source/ap/jove/jove.makefile.diff
+gzip ./source/tcl/expect/expect.exp_main_tk.c.version.require.diff
+gzip ./source/tcl/tclx/tclx-8.4.gcc4.diff
+gzip ./source/tcl/tclx/tclx-8.4.configure.diff
+gzip ./source/tcl/tix/tix.soname.patch
+gzip ./source/tcl/tix/tix.tcl8.5.patch
+gzip ./source/tcl/hfsutils/hfsutils.errno.diff
+gzip ./source/xap/mozilla-thunderbird/mozilla-thunderbird-firefox.diff
+gzip ./source/xap/gftp/gftp.desktop
gzip ./source/xap/rxvt/rxvt.utempter.diff
+gzip ./source/xap/x3270/doinst.sh
+gzip ./source/xap/audacious-plugins/amidi-plug.fix-drct.diff
+gzip ./source/xap/audacious-plugins/audacious-plugins.libmtp8.diff
+gzip ./source/xap/xpdf/xpdf-latin2.diff
+gzip ./source/xap/xpdf/xpdf-resizefix.diff
+gzip ./source/xap/xpdf/xpdf_3.02-1.3.diff
+gzip ./source/xap/xpdf/xpdf-hebrew.diff
+gzip ./source/xap/xpdf/xpdf-chinese-traditional.diff
+gzip ./source/xap/xpdf/xpdf-thai.diff
+gzip ./source/xap/xpdf/xpdf-turkish.diff
+gzip ./source/xap/xpdf/xpdf-greek.diff
+gzip ./source/xap/xpdf/xpdfrc.diff
+gzip ./source/xap/xpdf/xpdf-chinese-simplified.diff
+gzip ./source/xap/xpdf/xpdf-arabic.diff
+gzip ./source/xap/xpdf/xpdf-korean.diff
+gzip ./source/xap/xpdf/xpdf-cyrillic.diff
+gzip ./source/xap/xpdf/xpdf-japanese.diff
+gzip ./source/xap/xine-ui/xine.desktop
+gzip ./source/xap/gqview/doinst.sh
+gzip ./source/xap/pidgin/purple-allow-sign-rsa-md5.patch
gzip ./source/xap/xmms/xmms.gtk.doublesize.diff
gzip ./source/xap/xmms/xmms.wmxmms_vis_depth_workaround.diff
+gzip ./source/xap/gnuchess/xboard.infodir.diff
+gzip ./source/xap/gnuchess/xboard.buffer_overflow_fix.diff
+gzip ./source/xap/gnuchess/gnuchess.gcc4_fix.diff
+gzip ./source/xap/gnuchess/gnuchess.SlackBuild.diff
gzip ./source/xap/gxine/gxine.desktop
-gzip ./source/xap/gftp/gftp.desktop
-gzip ./source/xap/xfce/patches/exo_quoting_fix.diff
-gzip ./source/xap/xfce/patches/migrate-itheme-smartly.diff
+gzip ./source/xap/xfce/patches/launcher-plugin-migrate-icon-cat.diff
gzip ./source/xap/xfce/patches/xfdesktop-fix_education_icon.diff
gzip ./source/xap/xfce/patches/xfcalendar.desktop.in.diff
-gzip ./source/xap/xfce/patches/launcher-plugin-migrate-icon-cat.diff
-gzip ./source/xap/xfce/patches/terminal-0.4.0-fixup_docdir.diff
+gzip ./source/xap/xfce/patches/exo_quoting_fix.diff
gzip ./source/xap/xfce/patches/thunar-1.0.1-fixup_docdir.diff
+gzip ./source/xap/xfce/patches/terminal-0.4.0-fixup_docdir.diff
+gzip ./source/xap/xfce/patches/migrate-itheme-smartly.diff
+gzip ./source/xap/windowmaker/wmaker.inst.diff
+gzip ./source/xap/windowmaker/windowmaker.no-mmx.diff
+gzip ./source/xap/sane/doinst.sh
+gzip ./source/xap/sane/dll.conf.additions
+gzip ./source/xap/xscreensaver/setuid.c
+gzip ./source/xap/xscreensaver/xscreensaver.electricsheep.diff
+gzip ./source/xap/xscreensaver/xscreensaver.setuid.diff
+gzip ./source/xap/gkrellm/gkrellm.theme.defaults.diff
+gzip ./source/xap/xv/xv.prefix_x86_64.diff
+gzip ./source/xap/xv/xv-3.10a.patch
+gzip ./source/xap/xv/xv.prefix.diff
gzip ./source/xap/fluxbox/xinitrc.fluxbox
-gzip ./source/xap/mozilla-thunderbird/mozilla-thunderbird-firefox.diff
-gzip ./source/xap/xine-ui/xine.desktop
-gzip ./source/xap/xfce4-power-manager/doinst.sh
-gzip ./source/xap/xpaint/xpaint_2.7.8.1-1.2.diff
-gzip ./source/xap/xpaint/xpaint_xaw3d_no_scroll_mode.diff
+gzip ./source/xap/gucharmap/doinst.sh
gzip ./source/xap/xchat/patches/xc286-smallfixes.diff
gzip ./source/xap/xchat/patches/xchat.gtk_2_14.diff
-gzip ./source/xap/gkrellm/gkrellm.theme.defaults.diff
-gzip ./source/xap/x3270/doinst.sh
-gzip ./source/xap/xxgdb/xxgdb.fix_glibc_and_gcc.diff
-gzip ./source/xap/blackbox/xinitrc.blackbox
-gzip ./source/xap/blackbox/blackbox_0.65.0-5.diff
-gzip ./source/xap/windowmaker/windowmaker.no-mmx.diff
-gzip ./source/xap/windowmaker/wmaker.inst.diff
-gzip ./source/xap/audacious/audacious.handle_cmd_line_options.diff
gzip ./source/xap/electricsheep/electricsheep.mplayer.diff
-gzip ./source/xap/gucharmap/doinst.sh
-gzip ./source/xap/pidgin/purple-allow-sign-rsa-md5.patch
+gzip ./source/xap/seamonkey/doinst.sh
+gzip ./source/xap/seamonkey/seamonkey.moz_plugin_path.diff
+gzip ./source/xap/audacious/audacious.handle_cmd_line_options.diff
+gzip ./source/xap/xfce4-power-manager/doinst.sh
+gzip ./source/xap/blackbox/blackbox_0.65.0-5.diff
+gzip ./source/xap/blackbox/xinitrc.blackbox
+gzip ./source/xap/xpaint/xpaint_xaw3d_no_scroll_mode.diff
+gzip ./source/xap/xpaint/xpaint_2.7.8.1-1.2.diff
+gzip ./source/xap/fvwm/fvwm.colormap.diff
+gzip ./source/xap/fvwm/system.fvwm2rc
+gzip ./source/xap/fvwm/xinitrc.fvwm2
+gzip ./source/xap/fvwm/doinst.sh
+gzip ./source/xap/xgames/spider.diff
gzip ./source/xap/xgames/xlander-2009-07-18.diff
gzip ./source/xap/xgames/xcolormap.diff
-gzip ./source/xap/xgames/spider.diff
gzip ./source/xap/xgames/xcuckoo.diff
-gzip ./source/xap/xgames/maze.diff
gzip ./source/xap/xgames/xlander.fixes.diff
-gzip ./source/xap/xscreensaver/setuid.c
-gzip ./source/xap/xscreensaver/xscreensaver.setuid.diff
-gzip ./source/xap/xscreensaver/xscreensaver.electricsheep.diff
-gzip ./source/xap/sane/doinst.sh
-gzip ./source/xap/sane/dll.conf.additions
-gzip ./source/xap/seamonkey/seamonkey.moz_plugin_path.diff
-gzip ./source/xap/seamonkey/doinst.sh
-gzip ./source/xap/gnuchess/xboard.buffer_overflow_fix.diff
-gzip ./source/xap/gnuchess/gnuchess.gcc4_fix.diff
-gzip ./source/xap/gnuchess/gnuchess.SlackBuild.diff
-gzip ./source/xap/gnuchess/xboard.infodir.diff
-gzip ./source/xap/audacious-plugins/amidi-plug.fix-drct.diff
-gzip ./source/xap/audacious-plugins/audacious-plugins.libmtp8.diff
-gzip ./source/xap/xpdf/xpdf-resizefix.diff
-gzip ./source/xap/xpdf/xpdfrc.diff
-gzip ./source/xap/xpdf/xpdf-hebrew.diff
-gzip ./source/xap/xpdf/xpdf_3.02-1.3.diff
-gzip ./source/xap/xpdf/xpdf-thai.diff
-gzip ./source/xap/xpdf/xpdf-korean.diff
-gzip ./source/xap/xpdf/xpdf-chinese-traditional.diff
-gzip ./source/xap/xpdf/xpdf-greek.diff
-gzip ./source/xap/xpdf/xpdf-chinese-simplified.diff
-gzip ./source/xap/xpdf/xpdf-turkish.diff
-gzip ./source/xap/xpdf/xpdf-arabic.diff
-gzip ./source/xap/xpdf/xpdf-japanese.diff
-gzip ./source/xap/xpdf/xpdf-cyrillic.diff
-gzip ./source/xap/xpdf/xpdf-latin2.diff
+gzip ./source/xap/xgames/maze.diff
+gzip ./source/xap/xxgdb/xxgdb.fix_glibc_and_gcc.diff
+gzip ./source/xap/mozilla-firefox/mimeTypes.rdf
+gzip ./source/xap/mozilla-firefox/firefox.moz_plugin_path.diff
+gzip ./source/xap/mozilla-firefox/mozilla-firefox-mimeTypes-fix.diff
gzip ./source/xap/seyon/seyon_2.20c-16.diff
gzip ./source/xap/xlockmore/xlockmore.bitmap.diff
-gzip ./source/xap/fvwm/xinitrc.fvwm2
-gzip ./source/xap/fvwm/fvwm.colormap.diff
-gzip ./source/xap/fvwm/doinst.sh
-gzip ./source/xap/fvwm/system.fvwm2rc
-gzip ./source/xap/xv/xv.prefix_x86_64.diff
-gzip ./source/xap/xv/xv.prefix.diff
-gzip ./source/xap/xv/xv-3.10a.patch
-gzip ./source/xap/mozilla-firefox/mozilla-firefox-mimeTypes-fix.diff
-gzip ./source/xap/mozilla-firefox/firefox.moz_plugin_path.diff
-gzip ./source/xap/mozilla-firefox/mimeTypes.rdf
-gzip ./source/xap/gqview/doinst.sh
-gzip ./source/x/x11-skel/doinst.sh
-gzip ./source/x/xaw3d/Xaw3d-1.5-debian-fixes.diff
-gzip ./source/x/xaw3d/Xaw3d-1.5E.diff
-gzip ./source/x/x11/post-install/xorg-cf-files/x11.tmpl.lib64.kludge.diff
-gzip ./source/x/x11/patch/xorg-server/x11.startwithblackscreen.diff
-gzip ./source/x/x11/patch/xscope/xscope-1.1-scope.c.diff
-gzip ./source/x/x11/patch/compiz/compiz-0.7.8-kde42-krunner.patch
-gzip ./source/x/x11/patch/compiz/compiz-0.7.8-kde42-crash.patch
-gzip ./source/x/x11/patch/compiz/compiz-0.7.8-kde42.patch
-gzip ./source/x/ttf-indic-fonts/ttf-indic-fonts.copyright.diff
-gzip ./source/x/ttf-indic-fonts/doinst.sh
-gzip ./source/x/scim-hangul/scim-hangul.gcc43.diff
-gzip ./source/x/xdg-utils/doinst.sh
-gzip ./source/x/liberation-fonts-ttf/doinst.sh
-gzip ./source/x/scim-anthy/scim-anthy.gcc43.diff
-gzip ./source/x/dejavu-fonts-ttf/doinst.sh
-gzip ./source/x/fontconfig/fontconfig.dejavu.diff
-gzip ./source/x/fontconfig/fontconfig.font.dir.list.diff
-gzip ./source/x/scim-pinyin/scim-pinyin.gcc43.diff
+gzip ./source/y/bsd-games/bsd-games.pom.diff
+gzip ./source/y/bsd-games/bsd-games.config.params.diff
+gzip ./source/y/bsd-games/bsd-games.phantasia_install_fix.diff
+gzip ./source/y/bsd-games/hangman-words
+gzip ./source/y/bsd-games/bsd-games.ospeed.diff
+gzip ./source/y/bsd-games/bsd-games.trek-gcc4.diff
+gzip ./source/y/bsd-games/bsd-games.fortlen.diff
+gzip ./source/y/bsd-games/bsd-games.strfile.8.diff
+gzip ./source/y/bsd-games/bsd-games.fortunepath.diff
gzip ./source/t/transfig/transfig.diff
gzip ./source/t/transfig/transfig.3.2.4-gcc4.patch
-gzip ./source/t/tetex/tetex.dvipdfm.mkstemp.diff
-gzip ./source/t/tetex/tetex.fontcachedirinhome.diff
-gzip ./source/t/tetex/tetex.etex.diff
-gzip ./source/t/tetex/tetex.tmp.cleanup.diff
-gzip ./source/t/tetex/tetex.amstex.fmtutil.diff
-gzip ./source/t/tetex/tetex.browsers.diff
-gzip ./source/t/tetex/tetex.scripts.mktemp.diff
-gzip ./source/t/tetex/tetex.var.fonts.diff
-gzip ./source/t/tetex/tetex.CVE-2005-3193.diff
+gzip ./source/t/xfig/xfig.3.2.4-gcc4.diff
+gzip ./source/t/xfig/xfig.3.2.4-urw-fonts.diff
+gzip ./source/t/xfig/xfig.docs.location.diff
+gzip ./source/t/xfig/xfig.no.xfig_ref_en.pdf.diff
+gzip ./source/t/xfig/xfig.no.pdf.ref.diff
+gzip ./source/t/xfig/xfig.3.2.4-quiet.diff
+gzip ./source/t/xfig/xfig.3.2.3d-international-std-fonts.diff
gzip ./source/t/xfig/xfig.3.2.4-null.diff
+gzip ./source/t/xfig/xfig.3.2.4-locale.diff
gzip ./source/t/xfig/xfig-3.2.4-mkstemp.diff
-gzip ./source/t/xfig/xfig.3.2.3d-international-std-fonts.diff
-gzip ./source/t/xfig/xfig.3.2.4-quiet.diff
-gzip ./source/t/xfig/xfig.no.pdf.ref.diff
-gzip ./source/t/xfig/xfig.3.2.3d-xcolor.diff
-gzip ./source/t/xfig/xfig.3.2.4-gcc4.diff
gzip ./source/t/xfig/xfig.fig.ad.diff
-gzip ./source/t/xfig/xfig.no.xfig_ref_en.pdf.diff
-gzip ./source/t/xfig/xfig.docs.location.diff
gzip ./source/t/xfig/xfig.3.2.3d-xim.diff
-gzip ./source/t/xfig/xfig.3.2.4-locale.diff
gzip ./source/t/xfig/xfig.3.2.4.diff
-gzip ./source/t/xfig/xfig.3.2.4-urw-fonts.diff
-gzip ./source/y/bsd-games/bsd-games.ospeed.diff
-gzip ./source/y/bsd-games/bsd-games.config.params.diff
-gzip ./source/y/bsd-games/bsd-games.strfile.8.diff
-gzip ./source/y/bsd-games/bsd-games.phantasia_install_fix.diff
-gzip ./source/y/bsd-games/bsd-games.fortlen.diff
-gzip ./source/y/bsd-games/bsd-games.trek-gcc4.diff
-gzip ./source/y/bsd-games/hangman-words
-gzip ./source/y/bsd-games/bsd-games.pom.diff
-gzip ./source/y/bsd-games/bsd-games.fortunepath.diff
-gzip ./source/kde/kdeutils/doinst.sh
-gzip ./source/kde/kdemultimedia/doinst.sh
-gzip ./source/kde/kdeadmin/doinst.sh
-gzip ./source/kde/k3b/k3b.internal.libsamplerate.diff
-gzip ./source/kde/k3b/doinst.sh
-gzip ./source/kde/kdeartwork/doinst.sh
-gzip ./source/kde/amarok/doinst.sh
-gzip ./source/kde/amarok/amarok.qtscript.optional.diff
-gzip ./source/kde/ktorrent/doinst.sh
-gzip ./source/kde/kaudiocreator/doinst.sh
-gzip ./source/kde/kdenetwork/kopete-r986796.diff
-gzip ./source/kde/kdenetwork/doinst.sh
-gzip ./source/kde/kdebase-runtime/kdebase-runtime-text-render-969192.diff
-gzip ./source/kde/kdebase-runtime/doinst.sh
-gzip ./source/kde/kdebase-workspace/doinst.sh
-gzip ./source/kde/kdetoys/doinst.sh
-gzip ./source/kde/kdewebdev/doinst.sh
-gzip ./source/kde/kdewebdev/kde4-kdewebdev-findtidy.diff
-gzip ./source/kde/kdepim/doinst.sh
-gzip ./source/kde/kdeedu/doinst.sh
-gzip ./source/kde/kdeaccessibility/doinst.sh
-gzip ./source/kde/kdeplasma-addons/doinst.sh
-gzip ./source/kde/kdegraphics/doinst.sh
-gzip ./source/kde/kdebase/doinst.sh
-gzip ./source/kde/skanlite/doinst.sh
-gzip ./source/kde/koffice/doinst.sh
-gzip ./source/kde/kdegames/doinst.sh
-gzip ./source/kde/kdevplatform/doinst.sh
-gzip ./source/kde/kdevelop/doinst.sh
-gzip ./source/kde/kdelibs/kdesu-allow_NOPASS_in_suauth.patch
-gzip ./source/kde/kdelibs/doinst.sh
-gzip ./source/kde/kdelibs/fixPopupForPlasmaboard.diff
-gzip ./source/kde/kdesdk/doinst.sh
-gzip ./source/tcl/tix/tix.soname.patch
-gzip ./source/tcl/tix/tix.tcl8.5.patch
-gzip ./source/tcl/expect/expect.exp_main_tk.c.version.require.diff
-gzip ./source/tcl/hfsutils/hfsutils.errno.diff
-gzip ./source/tcl/tclx/tclx-8.4.configure.diff
-gzip ./source/tcl/tclx/tclx-8.4.gcc4.diff
-gzip ./source/l/hal/patches/ignore_dupe_add_events.diff
-gzip ./source/l/hal/patches/allow_uid_gid_ntfs.diff
-gzip ./source/l/hal/patches/fix_led_crash.diff
-gzip ./source/l/hal/patches/fix_segfault_in_mdraid.diff
-gzip ./source/l/hal/patches/fixup_udi_strings.diff
-gzip ./source/l/hal/patches/10-keymap.fdi-restore_zap.diff
-gzip ./source/l/hal/patches/regen_fdi_cache_if_zero_size.diff
-gzip ./source/l/hal/patches/set_X_keymap_properly.diff
-gzip ./source/l/hal/patches/hide_more_invalid_partitions.diff
-gzip ./source/l/hal/patches/check_udi_properly.diff
-gzip ./source/l/hal/patches/use_udevadm_not_udevinfo.patch
-gzip ./source/l/hal/patches/fix_md_crash.diff
-gzip ./source/l/hal/hal.conf
-gzip ./source/l/hal/doinst.sh
-gzip ./source/l/hal/rc.hald
-gzip ./source/l/ncurses/ncurses.mkhashsize.diff
-gzip ./source/l/shared-mime-info/doinst.sh
-gzip ./source/l/db42/patch.4.2.52.2
-gzip ./source/l/db42/patch.4.2.52.1
-gzip ./source/l/db42/patch.4.2.52.4
-gzip ./source/l/db42/patch.4.2.52.3
-gzip ./source/l/hicolor-icon-theme/doinst.sh
-gzip ./source/l/svgalib/svgalib.nohelper.diff
-gzip ./source/l/svgalib/svgalib-1.9.25-kernel-2.6.26.diff
-gzip ./source/l/svgalib/svgalib.prefix.diff
-gzip ./source/l/urwid/LICENSE
-gzip ./source/l/djvulibre/doinst.sh
-gzip ./source/l/glib2/glib-CVE-2008-4316.diff
-gzip ./source/l/glib2/doinst.sh
-gzip ./source/l/sdl/SDL_mixer-1.2.8.usrlocal.diff
-gzip ./source/l/parted/parted.configure.diff
-gzip ./source/l/libtiff/tiff-3.8.2.goo-sec.diff
-gzip ./source/l/libtiff/tiff-3.8.2.tiffsplit.commandline.overflow.diff
-gzip ./source/l/glibc/glibc-2.10-dns-no-gethostbyname4.diff
-gzip ./source/l/glibc/glibc.ru_RU.CP1251.diff
-gzip ./source/l/glibc/glibc.nis-netgroups.diff
-gzip ./source/l/glibc/glibc.getcwd.max.macro.diff
-gzip ./source/l/glibc/is_IS.diff
-gzip ./source/l/glibc/glibc.locale.no-archive.diff
-gzip ./source/l/glibc/glibc.revert.to.fix.build.breakages.diff
-gzip ./source/l/libvisual-plugins/libvisual-plugins.gstreamer.diff
-gzip ./source/l/qt/qt.x86.cflags.diff
-gzip ./source/l/qt/qt.mysql.h.diff
-gzip ./source/l/qt/doinst.sh
-gzip ./source/l/librsvg/librsvg_seamonkey-config.diff
-gzip ./source/l/netpbm/Makefile.config
-gzip ./source/l/esound/doinst.sh
-gzip ./source/l/qtscriptgenerator/include-everything.patch
-gzip ./source/l/libtermcap/termcap.h.diff
-gzip ./source/l/libtermcap/termcap-compat_1.2.3.diff
-gzip ./source/l/libtermcap/termcap.bufsize.diff
-gzip ./source/l/openexr/openexr.gcc43.diff
-gzip ./source/l/lesstif/lesstif.gcc42.diff
-gzip ./source/l/lesstif/lesstif.x86_64.patch
-gzip ./source/l/lesstif/lesstif.rendertable.check.diff
-gzip ./source/l/lesstif/lesstif.Makefile.in.patch
-gzip ./source/l/lesstif/doinst.sh
-gzip ./source/l/lesstif/lesstif.PutPixel32.patch
-gzip ./source/l/imlib/imlib.mitshm.render.diff
-gzip ./source/l/libjpeg/jpeg-6b.diff
-gzip ./source/l/gtk+2/gtk.nsplugin.diff
-gzip ./source/l/gtk+2/gtk.pnglz.diff
-gzip ./source/l/gtk+2/doinst.sh
-gzip ./source/l/libnl/libnl-include_limits.h.patch
-gzip ./source/l/pango/pango.etc.host.location.diff
-gzip ./source/l/desktop-file-utils/doinst.sh
-gzip ./source/l/db44/patch.4.4.20.2
-gzip ./source/l/db44/patch.4.4.20.1
-gzip ./source/l/libcap/libcap.capability.h.fix.broken.includes.diff
-gzip ./source/l/freetype/freetype.bytecode.interpreter.diff
-gzip ./source/l/freetype/freetype.illadvisederror.diff
-gzip ./source/l/freetype/freetype.subpixel.rendering.diff
-gzip ./source/l/qca-ossl/qca-ossl.nowhirlpool.diff
-gzip ./source/l/akonadi/doinst.sh
-gzip ./source/l/boost/boost.ifdef_placement.diff
-gzip ./source/l/icon-naming-utils/icon-naming-utils.pkgconfigdir.diff
-gzip ./source/l/fuse/doinst.sh
-gzip ./source/l/gnome-icon-theme/doinst.sh
-gzip ./source/l/gnome-icon-theme/gnome-icon-theme.pkgconfig.path.diff
-gzip ./source/l/libpng/libpng.libs.diff
-gzip ./source/l/libexif/libexif.pc.diff
+gzip ./source/t/xfig/xfig.3.2.3d-xcolor.diff
+gzip ./source/t/tetex/tetex.amstex.fmtutil.diff
+gzip ./source/t/tetex/tetex.dvipdfm.mkstemp.diff
+gzip ./source/t/tetex/tetex.tmp.cleanup.diff
+gzip ./source/t/tetex/tetex.browsers.diff
+gzip ./source/t/tetex/tetex.scripts.mktemp.diff
+gzip ./source/t/tetex/tetex.CVE-2005-3193.diff
+gzip ./source/t/tetex/tetex.var.fonts.diff
+gzip ./source/t/tetex/tetex.etex.diff
+gzip ./source/t/tetex/tetex.fontcachedirinhome.diff
+gzip ./source/a/gpm/gpm-1.20.1-multilib.patch
+gzip ./source/a/gpm/gpm-1.20.1-input-defines.diff
+gzip ./source/a/gpm/gpm-1.20.1-no-console-error.patch
+gzip ./source/a/gpm/gpm-1.20.1-lib-silent.patch
+gzip ./source/a/gpm/mouseconfig
+gzip ./source/a/gpm/gpm-1.20.1-input.patch
+gzip ./source/a/gpm/gpm.evdevmakefile.patch
+gzip ./source/a/gpm/gpm-1.20.1-math.patch
+gzip ./source/a/gpm/inputattach.c
+gzip ./source/a/gpm/gpm-1.20.1-idie.patch
+gzip ./source/a/gpm/gpm-1.20.1-gpmopen.patch
+gzip ./source/a/gpm/setup.mouse
+gzip ./source/a/gpm/gpm-1.20.1.send-noise-to-syslogs.diff
+gzip ./source/a/gpm/gpm-1.20.1-nodebug.patch
+gzip ./source/a/gpm/gpm-evdev-cumulative.patch
+gzip ./source/a/gpm/gpm-1.20.1-subscript.patch
+gzip ./source/a/gpm/gpm-1.20.1-consolename.patch
+gzip ./source/a/gpm/gpm-1.20.1-weak-wgetch.patch
+gzip ./source/a/devs/makedev.hd.diff
+gzip ./source/a/devs/makedev_2.3.1.hd.diff
+gzip ./source/a/devs/makedev_2.3.1.slack.diff
+gzip ./source/a/devs/makedev_2.3.1-46.2.diff
+gzip ./source/a/etc/nsswitch.conf
+gzip ./source/a/etc/termcap-BSD
+gzip ./source/a/unarj/Makefile
+gzip ./source/a/acl/acl.destdir.diff
+gzip ./source/a/utempter/doinst.sh
+gzip ./source/a/dbus/rc.messagebus
+gzip ./source/a/dbus/doinst.sh
+gzip ./source/a/attr/attr.destdir.diff
+gzip ./source/a/tar/tar.1
+gzip ./source/a/tar/rmt.8
+gzip ./source/a/tar/tar.nolonezero.diff
+gzip ./source/a/tar/tar-1.13.bzip2.diff
+gzip ./source/a/tar/tar.norecordsizespam.diff
+gzip ./source/a/tar/tar-1.22-support_txz.diff
+gzip ./source/a/minicom/minicom.users
+gzip ./source/a/minicom/wintcap.diff
+gzip ./source/a/minicom/minirc.dfl
+gzip ./source/a/minicom/lrzsz_0.12.21-4.diff
+gzip ./source/a/minicom/doinst.sh
+gzip ./source/a/minicom/config.sub-x86_64.diff
+gzip ./source/a/mdadm/mdadm.static.small.diff
+gzip ./source/a/mdadm/doinst.sh
+gzip ./source/a/bzip2/bzip2-1.0.4.saneso.diff
+gzip ./source/a/zoo/zoo_2.10-18.diff
+gzip ./source/a/getty-ps/getty.bugfixes.diff
+gzip ./source/a/udev/rule_generator.diff
+gzip ./source/a/udev/doinst.sh
+gzip ./source/a/util-linux-ng/ziptool-fix_build.patch
+gzip ./source/a/util-linux-ng/net-tools_1.60-19.diff
+gzip ./source/a/util-linux-ng/net-tools.diff
+gzip ./source/a/util-linux-ng/doinst.sh
+gzip ./source/a/util-linux-ng/adjtimex_1.23-1.diff
+gzip ./source/a/util-linux-ng/setserial-rc.serial.diff
+gzip ./source/a/util-linux-ng/util-linux-ng.fdisk-no-solaris.diff
+gzip ./source/a/bin/scripts/diskcopy
+gzip ./source/a/bin/scripts/xx
+gzip ./source/a/kbd/sources/kbd-1.15-quiet_doc.patch
+gzip ./source/a/kbd/sources/speakupmap.map
+gzip ./source/a/kbd/sources/kbd-1.15-unicode_start.patch
+gzip ./source/a/kbd/sources/kbd-1.15-resizecon-x86_64.patch
+gzip ./source/a/kbd/sources/kbd-1.15-po.patch
+gzip ./source/a/kbd/sources/kbd-1.15-sparc.patch
+gzip ./source/a/kbd/sources/nl.euro.diff
+gzip ./source/a/kbd/sources/kbd-1.15-keycodes-man.patch
+gzip ./source/a/bash/patches/bash31-003
+gzip ./source/a/bash/patches/bash31-002
+gzip ./source/a/bash/patches/bash31-014
+gzip ./source/a/bash/patches/bash31-011
+gzip ./source/a/bash/patches/bash31-006
+gzip ./source/a/bash/patches/bash31-016
+gzip ./source/a/bash/patches/bash31-005
+gzip ./source/a/bash/patches/bash31-017
+gzip ./source/a/bash/patches/bash31-004
+gzip ./source/a/bash/patches/bash31-013
+gzip ./source/a/bash/patches/bash31-007
+gzip ./source/a/bash/patches/bash31-008
+gzip ./source/a/bash/patches/bash31-012
+gzip ./source/a/bash/patches/bash31-009
+gzip ./source/a/bash/patches/bash31-010
+gzip ./source/a/bash/patches/bash31-015
+gzip ./source/a/bash/patches/bash31-001
+gzip ./source/a/bash/doinst.sh
+gzip ./source/a/ncompress/ncompress.make.diff
+gzip ./source/a/ncompress/ncompress-4.2.4-endians.patch
+gzip ./source/a/ncompress/ncompress.2GB.diff
+gzip ./source/a/ncompress/ncompress.filenamelen.diff
+gzip ./source/a/ncompress/ncompress-4.2.4-bssUnderflow.patch
+gzip ./source/a/ncompress/ncompress.zerobyteforce.diff
+gzip ./source/a/ncompress/ncompress.lfs2.diff
+gzip ./source/a/cups/cups.firefox.desktop.diff
+gzip ./source/a/cups/doinst.sh
+gzip ./source/a/mkinitrd/archive/busybox-1.7.2.remove_warning.diff
+gzip ./source/a/mkinitrd/archive/busybox-1.7.2.no-gc-sections.diff
+gzip ./source/a/mkinitrd/busybox-1.12.1_inotify.diff
+gzip ./source/a/pciutils/pciutils.ids.dest.diff
+gzip ./source/a/usbutils/usbutils.ids.dest
+gzip ./source/a/findutils/findutils.no.default.options.warnings.diff
+gzip ./source/a/findutils/findutils.nolocate.diff
+gzip ./source/a/sysvinit/sysvinit.diff
+gzip ./source/a/sysvinit/sysvinit.pidof.rhforkseverything.diff
+gzip ./source/a/sysvinit/sysvinit-2.86-timeval.patch
+gzip ./source/a/sysvinit/doinst.sh
+gzip ./source/a/pcmciautils/doinst.sh
+gzip ./source/a/cpio/cpio-2.9.gcc43.diff
+gzip ./source/a/logrotate/logrotate.slackware.diff
+gzip ./source/a/dcron/dcron-2.3.3.diff3
+gzip ./source/a/dcron/dcron.fork.diff
+gzip ./source/a/dcron/dcron-2.3.3.crontab.diff4
+gzip ./source/a/dcron/dcron-2.3.3.version.diff
+gzip ./source/a/dcron/run-parts
+gzip ./source/a/dcron/dcron-2.3.3.diff2
+gzip ./source/a/dcron/dcron.tmpdir.diff
+gzip ./source/a/dcron/run-parts.8
+gzip ./source/a/dcron/dcron-2.3.3.diff
+gzip ./source/a/mt-st/mt-st.config.diff
+gzip ./source/a/mt-st/mt-st.man.diff
+gzip ./source/a/mt-st/mt-st.sdlt.diff
+gzip ./source/a/acpid/default
+gzip ./source/a/acpid/rc.acpid
+gzip ./source/a/acpid/acpi_handler.sh
+gzip ./source/a/acpid/doinst.sh
+gzip ./source/a/module-init-tools/modprobe.no_sys_check.diff
+gzip ./source/a/module-init-tools/modprobe.ignore_some_suffixes.diff
+gzip ./source/a/module-init-tools/modprobe.favor.etc.modprobe.d.diff
+gzip ./source/a/module-init-tools/doinst.sh
+gzip ./source/a/lvm2/doinst.sh
+gzip ./source/a/coreutils/coreutils.uname.diff
+gzip ./source/a/coreutils/coreutils-dircolors.sh
+gzip ./source/a/coreutils/coreutils-dircolors.csh
+gzip ./source/a/coreutils/DIR_COLORS
+gzip ./source/a/coreutils/doinst.sh
+gzip ./source/a/file/file.zisofs.magic
+gzip ./source/a/file/file.xz.magic
+gzip ./source/a/file/file.quiet.diff
+gzip ./source/a/file/file.etc.file.diff
+gzip ./source/a/file/file.crdaregbin.magic
+gzip ./source/a/file/file.short.diff
+gzip ./source/a/dialog/dialog.smaller.min.height.diff
+gzip ./source/a/lha/lha_1.14i-10.1.diff
+gzip ./source/a/sysklogd/sysklogd-1.4.1-owl-syslogd-crunch_list.diff
+gzip ./source/a/sysklogd/sysklogd_1.4.1-20.diff
+gzip ./source/a/floppy/fdutils.mediaprm.diff
+gzip ./source/a/floppy/fdutils-5.4-20020222.diff
+gzip ./source/a/genpower/genpower.halt.diff
+gzip ./source/a/genpower/genpower.var.diff
+gzip ./source/a/shadow/shadow.shadowconfig.diff
+gzip ./source/a/shadow/shadow.newgrp.nopam
+gzip ./source/a/shadow/shadow.gcc34.diff
+gzip ./source/a/shadow/shadow-4.0.3.x86_64.diff
+gzip ./source/a/shadow/shadow.newgrp.getlogin
+gzip ./source/a/shadow/shadow.login.defs.diff
+gzip ./source/a/shadow/shadow.remove.obsolete.options.diff
+gzip ./source/a/sysvinit-functions/doinst.sh
+gzip ./source/a/less/lesspipe.sh
+gzip ./source/a/less/less.sysconfdir.diff
+gzip ./source/a/sysvinit-scripts/doinst.sh
+gzip ./source/a/tcsh/doinst.sh
+gzip ./source/a/tcsh/tcsh.nobuiltincolorls.diff
+gzip ./source/a/procps/procps-3.2.7-ps-eip64.diff
+gzip ./source/a/procps/procinfo.gcc3.diff
+gzip ./source/a/procps/procps.nowarning.diff
+gzip ./source/a/procps/procps.w.showfrom.diff
+gzip ./source/a/smartmontools/doinst.sh
+gzip ./source/a/e2fsprogs/doinst.sh
+gzip ./source/a/splitvt/splitvt_1.6.5-9.diff
+gzip ./source/installer/busybox-1.12.1_inotify.diff
+bzip2 ./patches/source/curl/cacert.pem
+bzip2 ./source/l/glib/glib1.2_1.2.10-17.diff
+bzip2 ./source/l/gtk+/gtk+1.2_1.2.10-18.diff
bzip2 ./source/n/curl/cacert.pem
-bzip2 ./source/xap/xv/xv-3.10a-jumbo-enh-patch-20050501.txt
-bzip2 ./source/xap/xv/xv-3.10a-jumbo-fix-patch-20050410.txt
bzip2 ./source/x/ttf-indic-fonts/Samyak_Malayalam.ttf
bzip2 ./source/x/ttf-indic-fonts/COPYING
-bzip2 ./source/l/gtk+/gtk+1.2_1.2.10-18.diff
-bzip2 ./source/l/glib/glib1.2_1.2.10-17.diff
+bzip2 ./source/xap/xv/xv-3.10a-jumbo-enh-patch-20050501.txt
+bzip2 ./source/xap/xv/xv-3.10a-jumbo-fix-patch-20050410.txt
diff --git a/slackbook/html/TRADEMARKS.html b/slackbook/html/TRADEMARKS.html
deleted file mode 100644
index 0f282ca4..00000000
--- a/slackbook/html/TRADEMARKS.html
+++ /dev/null
@@ -1,80 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta name="generator" content="HTML Tidy, see www.w3.org" />
-<meta name="GENERATOR" content="Modular DocBook HTML Stylesheet Version 1.7" />
-<link rel="HOME" title="Slackware Linux Essentials" href="index.html" />
-<link rel="NEXT" title="Preface" href="book-preface.html" />
-<link rel="STYLESHEET" type="text/css" href="docbook.css" />
-<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
-<title></title>
-</head>
-<body bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#840084" alink="#0000FF">
-<div class="NAVHEADER">
-<table summary="Header navigation table" width="100%" border="0" cellpadding="0"
-cellspacing="0">
-<tr>
-<th colspan="3" align="center">Slackware Linux Essentials</th>
-</tr>
-</table>
-
-<hr align="LEFT" width="100%" />
-</div>
-
-<div class="LEGALNOTICE"><a id="TRADEMARKS" name="TRADEMARKS"></a>
-<p>Slackware Linux is a registered trademark of Patrick Volkerding and Slackware Linux,
-Inc.</p>
-
-<p>Linux is a registered trademark of Linus Torvalds.</p>
-
-<p>America Online and AOL are registered trademarks of America Online, Inc. in the United
-States and/or other countries.</p>
-
-<p>Apple, FireWire, Mac, Macintosh, Mac OS, Quicktime, and TrueType are trademarks of
-Apple Computer, Inc., registered in the United States and other countries.</p>
-
-<p>IBM, AIX, EtherJet, Netfinity, OS/2, PowerPC, PS/2, S/390, and ThinkPad are trademarks
-of International Business Machines Corporation in the United States, other countries, or
-both.</p>
-
-<p>IEEE, POSIX, and 802 are registered trademarks of Institute of Electrical and
-Electronics Engineers, Inc. in the United States.</p>
-
-<p>Intel, Celeron, EtherExpress, i386, i486, Itanium, Pentium, and Xeon are trademarks or
-registered trademarks of Intel Corporation or its subsidiaries in the United States and
-other countries.</p>
-
-<p>Microsoft, IntelliMouse, MS-DOS, Outlook, Windows, Windows Media and Windows NT are
-either registered trademarks or trademarks of Microsoft Corporation in the United States
-and/or other countries.</p>
-
-<p>Netscape and the Netscape Navigator are registered trademarks of Netscape
-Communications Corporation in the U.S. and other countries.</p>
-
-<p>Red Hat, RPM, are trademarks or registered trademarks of Red Hat, Inc. in the United
-States and other countries.</p>
-
-<p>XFree86 is a trademark of The XFree86 Project, Inc.</p>
-
-<p>Many of the designations used by manufacturers and sellers to distinguish their
-products are claimed as trademarks. Where those designations appear in this document, and
-Slackware Linux, Inc. was aware of the trademark claim, the designations have been
-followed by the &#8220;&trade;&#8221; or the &#8220;&reg;&#8221; symbol.</p>
-</div>
-
-<div class="NAVFOOTER">
-<hr align="LEFT" width="100%" />
-<table summary="Footer navigation table" width="100%" border="0" cellpadding="0"
-cellspacing="0">
-<tr>
-<td width="33%" align="left" valign="top">&nbsp;</td>
-<td width="34%" align="center" valign="top"><a href="index.html"
-accesskey="H">Home</a></td>
-<td width="33%" align="right" valign="top">&nbsp;</td>
-</tr>
-</table>
-</div>
-</body>
-</html>
-
diff --git a/slackbook/html/archive-files-bzip2.html b/slackbook/html/archive-files-bzip2.html
deleted file mode 100644
index ea3a4e04..00000000
--- a/slackbook/html/archive-files-bzip2.html
+++ /dev/null
@@ -1,103 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta name="generator" content="HTML Tidy, see www.w3.org" />
-<title>bzip2</title>
-<meta name="GENERATOR" content="Modular DocBook HTML Stylesheet Version 1.7" />
-<link rel="HOME" title="Slackware Linux Essentials" href="index.html" />
-<link rel="UP" title="Archive Files" href="archive-files.html" />
-<link rel="PREVIOUS" title="Archive Files" href="archive-files.html" />
-<link rel="NEXT" title="tar" href="archive-files-tar.html" />
-<link rel="STYLESHEET" type="text/css" href="docbook.css" />
-<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
-</head>
-<body class="SECT1" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#840084"
-alink="#0000FF">
-<div class="NAVHEADER">
-<table summary="Header navigation table" width="100%" border="0" cellpadding="0"
-cellspacing="0">
-<tr>
-<th colspan="3" align="center">Slackware Linux Essentials</th>
-</tr>
-
-<tr>
-<td width="10%" align="left" valign="bottom"><a href="archive-files.html"
-accesskey="P">Prev</a></td>
-<td width="80%" align="center" valign="bottom">Chapter 15 Archive Files</td>
-<td width="10%" align="right" valign="bottom"><a href="archive-files-tar.html"
-accesskey="N">Next</a></td>
-</tr>
-</table>
-
-<hr align="LEFT" width="100%" />
-</div>
-
-<div class="SECT1">
-<h1 class="SECT1"><a id="ARCHIVE-FILES-BZIP2" name="ARCHIVE-FILES-BZIP2">15.2 <tt
-class="COMMAND">bzip2</tt></a></h1>
-
-<p><tt class="COMMAND">bzip2</tt>(1) is an alternative compression program installed on
-Slackware Linux. It uses a different compression algorithm from <tt
-class="COMMAND">gzip</tt>, which results in some advantages and some disadvantages. The
-main advantage for <tt class="COMMAND">bzip2</tt> is the compressed file size. <tt
-class="COMMAND">bzip2</tt> will almost always compress better than <tt
-class="COMMAND">gzip</tt>. In some instances, this can result in dramatically smaller
-files. This can be a great advantage for people on slower modem connections. Also
-remember, when downloading software from a public ftp server, it's generally good
-netiquette to download the <tt class="FILENAME">.bz2</tt> files instead of the <tt
-class="FILENAME">.gz</tt> files, as this results in less overhead for the generous people
-hosting the server.</p>
-
-<p>The disadvantage to <tt class="COMMAND">bzip2</tt> is that it is more CPU intensive
-than <tt class="COMMAND">gzip</tt>. This means that bzipping a file will generally take
-longer and will use more of the CPU than gzipping the file would. When considering which
-compression program to use, you must weigh this speed vs. compressed size and determine
-which is more important.</p>
-
-<p>The usage of <tt class="COMMAND">bzip2</tt> is nearly identical to <tt
-class="COMMAND">gzip</tt>, so not much time will be spent discussing it. Like <tt
-class="COMMAND">gunzip</tt>, <tt class="COMMAND">bunzip2</tt> is identical to <tt
-class="COMMAND">bzip2 -d</tt>. The primary difference in practical usage is that <tt
-class="COMMAND">bzip2</tt> uses the <tt class="FILENAME">.bz2</tt> extension.</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">%</samp> <kbd class="USERINPUT">bzip2 <var
-class="REPLACEABLE">filename</var></kbd>
-<samp class="PROMPT">%</samp> <kbd class="USERINPUT">bunzip2 <var
-class="REPLACEABLE">filename.bz2</var></kbd>
-<samp class="PROMPT">%</samp> <kbd class="USERINPUT">bzip2 -9 <var
-class="REPLACEABLE">filename</var></kbd>
-</pre>
-</td>
-</tr>
-</table>
-</div>
-
-<div class="NAVFOOTER">
-<hr align="LEFT" width="100%" />
-<table summary="Footer navigation table" width="100%" border="0" cellpadding="0"
-cellspacing="0">
-<tr>
-<td width="33%" align="left" valign="top"><a href="archive-files.html"
-accesskey="P">Prev</a></td>
-<td width="34%" align="center" valign="top"><a href="index.html"
-accesskey="H">Home</a></td>
-<td width="33%" align="right" valign="top"><a href="archive-files-tar.html"
-accesskey="N">Next</a></td>
-</tr>
-
-<tr>
-<td width="33%" align="left" valign="top">Archive Files</td>
-<td width="34%" align="center" valign="top"><a href="archive-files.html"
-accesskey="U">Up</a></td>
-<td width="33%" align="right" valign="top"><tt class="COMMAND">tar</tt></td>
-</tr>
-</table>
-</div>
-</body>
-</html>
-
diff --git a/slackbook/html/archive-files-tar.html b/slackbook/html/archive-files-tar.html
deleted file mode 100644
index b23db4b1..00000000
--- a/slackbook/html/archive-files-tar.html
+++ /dev/null
@@ -1,232 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta name="generator" content="HTML Tidy, see www.w3.org" />
-<title>tar</title>
-<meta name="GENERATOR" content="Modular DocBook HTML Stylesheet Version 1.7" />
-<link rel="HOME" title="Slackware Linux Essentials" href="index.html" />
-<link rel="UP" title="Archive Files" href="archive-files.html" />
-<link rel="PREVIOUS" title="bzip2" href="archive-files-bzip2.html" />
-<link rel="NEXT" title="zip" href="archive-files-zip.html" />
-<link rel="STYLESHEET" type="text/css" href="docbook.css" />
-<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
-</head>
-<body class="SECT1" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#840084"
-alink="#0000FF">
-<div class="NAVHEADER">
-<table summary="Header navigation table" width="100%" border="0" cellpadding="0"
-cellspacing="0">
-<tr>
-<th colspan="3" align="center">Slackware Linux Essentials</th>
-</tr>
-
-<tr>
-<td width="10%" align="left" valign="bottom"><a href="archive-files-bzip2.html"
-accesskey="P">Prev</a></td>
-<td width="80%" align="center" valign="bottom">Chapter 15 Archive Files</td>
-<td width="10%" align="right" valign="bottom"><a href="archive-files-zip.html"
-accesskey="N">Next</a></td>
-</tr>
-</table>
-
-<hr align="LEFT" width="100%" />
-</div>
-
-<div class="SECT1">
-<h1 class="SECT1"><a id="ARCHIVE-FILES-TAR" name="ARCHIVE-FILES-TAR">15.3 <tt
-class="COMMAND">tar</tt></a></h1>
-
-<p><tt class="COMMAND">tar</tt>(1) is the GNU tape archiver. It takes several files or
-directories and creates one large file. This allows you to compress an entire directory
-tree, which is impossible by just using <tt class="COMMAND">gzip</tt> or <tt
-class="COMMAND">bzip2</tt>. <tt class="COMMAND">tar</tt> has many command line options,
-which are explained in its man page. This section will just cover the most common uses of
-<tt class="COMMAND">tar</tt>.</p>
-
-<p>The most common use for <tt class="COMMAND">tar</tt> is to decompress and unarchive a
-package that you've downloaded from a web site or ftp site. Most files will come with a
-<tt class="FILENAME">.tar.gz</tt> extension. This is commonly known as a
-&#8220;tarball&#8221;. It means that several files were archived using <tt
-class="COMMAND">tar</tt> and then compressed using <tt class="COMMAND">gzip</tt>. You
-might also see this listed as a <tt class="FILENAME">.tar.Z</tt> file. It means the same
-thing, but this is usually encountered on older Unix systems.</p>
-
-<p>Alternatively, you might find a <tt class="FILENAME">.tar.bz2</tt> file somewhere.
-Kernel source is distributed as such because it is a smaller download. As you might have
-guessed, this is several files archived with <tt class="COMMAND">tar</tt> and then
-bzipped.</p>
-
-<p>You can get to all the files in this archive by making use of <tt
-class="COMMAND">tar</tt> and some command line arguments. Unarchiving a tarball makes use
-of the <var class="OPTION">-z</var> flag, which means to first run the file through <tt
-class="COMMAND">gunzip</tt> and decompress it. The most common way to decompress a
-tarball is like so:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">%</samp> <kbd class="USERINPUT">tar -xvzf filename.tar.gz</kbd>
-</pre>
-</td>
-</tr>
-</table>
-
-<p>That's quite a few options. So what do they all mean? The <var class="OPTION">-x</var>
-means to extract. This is important, as it tells <tt class="COMMAND">tar</tt> exactly
-what to do with the input file. In this case, we'll be splitting it back up into all the
-files that it came from. <var class="OPTION">-v</var> means to be verbose. This will list
-all the files that are being unarchived. It is perfectly acceptable to leave this option
-off, if somewhat boring. Alternatively, you could use <var class="OPTION">-vv</var> to be
-very verbose and list even more information about each file being unarchived. The <var
-class="OPTION">-z</var> option tells <tt class="COMMAND">tar</tt> to run <tt
-class="FILENAME">filename.tar.gz</tt> through <tt class="COMMAND">gunzip</tt> first. And
-finally, the <var class="OPTION">-f</var> option tells <tt class="COMMAND">tar</tt> that
-the next string on the command line is the file to operate on.</p>
-
-<p>There are a few other ways to write this same command. On older systems lacking a
-decent copy of GNU <tt class="COMMAND">tar</tt>, you might see it written like so:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">%</samp> <kbd
-class="USERINPUT">gunzip filename.tar.gz | tar -xvf -</kbd>
-</pre>
-</td>
-</tr>
-</table>
-
-<p>This command line will uncompress the file and send the output to <tt
-class="COMMAND">tar</tt>. Since <tt class="COMMAND">gzip</tt> will write its output to
-standard out if told to do so, this command will write the decompressed file to standard
-out. The pipe then sends it to <tt class="COMMAND">tar</tt> for unarchiving. The
-&#8220;-&#8221; means to operate on standard input. It will unarchive the stream of data
-that it gets from <tt class="COMMAND">gzip</tt> and write that to the disk.</p>
-
-<p>Another way to write the first command line is to leave off the dash before the
-options, like so:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">%</samp> <kbd class="USERINPUT">tar xvzf filename.tar.gz</kbd>
-</pre>
-</td>
-</tr>
-</table>
-
-<p>You might also encounter a bzipped archive. The version of <tt
-class="COMMAND">tar</tt> that comes with Slackware Linux can handle these the same as
-gzipped archives. Instead of the <var class="OPTION">-z</var> command line option, you'd
-use <var class="OPTION">-j</var>:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">%</samp> <kbd class="USERINPUT">tar -xvjf filename.tar.bz2</kbd>
-</pre>
-</td>
-</tr>
-</table>
-
-<p>It is important to note that <tt class="COMMAND">tar</tt> will place the unarchived
-files in the current directory. So, if you had an archive in <tt
-class="FILENAME">/tmp</tt> that you wanted to decompress into your home directory, there
-are a few options. First, the archive could be moved into your home directory and then
-run through <tt class="COMMAND">tar</tt>. Second, you could specify the path to the
-archive file on the command line. Third, you can use the <var class="OPTION">-C</var>
-option to &#8220;explode&#8221; the tarball in a specified directory.</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">%</samp> <kbd class="USERINPUT">cd $HOME</kbd>
-<samp class="PROMPT">%</samp> <kbd class="USERINPUT">cp /tmp/filename.tar.gz .</kbd>
-<samp class="PROMPT">%</samp> <kbd class="USERINPUT">tar -xvzf filename.tar.gz</kbd>
-
-<samp class="PROMPT">%</samp> <kbd class="USERINPUT">cd $HOME</kbd>
-<samp class="PROMPT">%</samp> <kbd class="USERINPUT">tar -xvzf /tmp/filename.tar.gz</kbd>
-
-<samp class="PROMPT">%</samp> <kbd class="USERINPUT">cd /</kbd>
-<samp class="PROMPT">%</samp> <kbd
-class="USERINPUT">tar -xvzf /tmp/filename.tar.gz -C $HOME</kbd>
-</pre>
-</td>
-</tr>
-</table>
-
-<p>All the above statements are equivalent. In each case, the archive is unpacked inside
-your home directory and the original uncompressed archive is left in place.</p>
-
-<p>So what good is being able to uncompress these archives if you can't make them? Well,
-<tt class="COMMAND">tar</tt> handles that too. In most cases it's as easy as removing the
-&#8220;<var class="OPTION">-x</var>&#8221; option and replacing it with the &#8220;<var
-class="OPTION">-c</var>&#8221; option.</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">%</samp> <kbd class="USERINPUT">tar -cvzf filename.tar.gz .</kbd>
-</pre>
-</td>
-</tr>
-</table>
-
-<p>In this command line, the <var class="OPTION">-c</var> option tells <tt
-class="COMMAND">tar</tt> to create an archive, while the <var class="OPTION">-z</var>
-option runs the resulting archive file through <tt class="COMMAND">gzip</tt> to compress
-it. <tt class="FILENAME">filename.tar.gz</tt> is the file that you want to create.</p>
-
-<p>Specifying the &#8220;<var class="OPTION">-f</var>&#8221; option isn't always
-necessary, but is typically good practice anyway. Without it, <tt
-class="COMMAND">tar</tt> writes to standard output, which is usually desired for piping
-<tt class="COMMAND">tar</tt>'s output to another program, like so.</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">%</samp> <kbd
-class="USERINPUT">tar -cv filename.tar . | gpg --encrypt</kbd>
-</pre>
-</td>
-</tr>
-</table>
-
-<p>That command creates an non-compressed tar archive of the current directory, pipes the
-tarball through <tt class="COMMAND">gpg</tt> which encrypts and compresses the tarball,
-making it realistically impossible to read by anyone other than the person knowing the
-secret key.</p>
-</div>
-
-<div class="NAVFOOTER">
-<hr align="LEFT" width="100%" />
-<table summary="Footer navigation table" width="100%" border="0" cellpadding="0"
-cellspacing="0">
-<tr>
-<td width="33%" align="left" valign="top"><a href="archive-files-bzip2.html"
-accesskey="P">Prev</a></td>
-<td width="34%" align="center" valign="top"><a href="index.html"
-accesskey="H">Home</a></td>
-<td width="33%" align="right" valign="top"><a href="archive-files-zip.html"
-accesskey="N">Next</a></td>
-</tr>
-
-<tr>
-<td width="33%" align="left" valign="top"><tt class="COMMAND">bzip2</tt></td>
-<td width="34%" align="center" valign="top"><a href="archive-files.html"
-accesskey="U">Up</a></td>
-<td width="33%" align="right" valign="top"><tt class="COMMAND">zip</tt></td>
-</tr>
-</table>
-</div>
-</body>
-</html>
-
diff --git a/slackbook/html/archive-files-zip.html b/slackbook/html/archive-files-zip.html
deleted file mode 100644
index cf7ef6cd..00000000
--- a/slackbook/html/archive-files-zip.html
+++ /dev/null
@@ -1,114 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta name="generator" content="HTML Tidy, see www.w3.org" />
-<title>zip</title>
-<meta name="GENERATOR" content="Modular DocBook HTML Stylesheet Version 1.7" />
-<link rel="HOME" title="Slackware Linux Essentials" href="index.html" />
-<link rel="UP" title="Archive Files" href="archive-files.html" />
-<link rel="PREVIOUS" title="tar" href="archive-files-tar.html" />
-<link rel="NEXT" title="Vi" href="vi.html" />
-<link rel="STYLESHEET" type="text/css" href="docbook.css" />
-<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
-</head>
-<body class="SECT1" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#840084"
-alink="#0000FF">
-<div class="NAVHEADER">
-<table summary="Header navigation table" width="100%" border="0" cellpadding="0"
-cellspacing="0">
-<tr>
-<th colspan="3" align="center">Slackware Linux Essentials</th>
-</tr>
-
-<tr>
-<td width="10%" align="left" valign="bottom"><a href="archive-files-tar.html"
-accesskey="P">Prev</a></td>
-<td width="80%" align="center" valign="bottom">Chapter 15 Archive Files</td>
-<td width="10%" align="right" valign="bottom"><a href="vi.html"
-accesskey="N">Next</a></td>
-</tr>
-</table>
-
-<hr align="LEFT" width="100%" />
-</div>
-
-<div class="SECT1">
-<h1 class="SECT1"><a id="ARCHIVE-FILES-ZIP" name="ARCHIVE-FILES-ZIP">15.4 <tt
-class="COMMAND">zip</tt></a></h1>
-
-<p>Finally, there are two utilities that can be used on zip files. These are very common
-in the Windows world, so Linux has programs to deal with them. The compression program is
-called <tt class="COMMAND">zip</tt>(1), and the decompression program is called <tt
-class="COMMAND">unzip</tt>(1).</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">%</samp> <kbd class="USERINPUT">zip foo *</kbd>
-</pre>
-</td>
-</tr>
-</table>
-
-<p>This will create the file <tt class="FILENAME">foo.zip</tt>, which will contain all
-the files in the current directory. <tt class="COMMAND">zip</tt> will add the <tt
-class="FILENAME">.zip</tt> extension automatically, so there's no need to include that in
-the file name. You can also recurse through the current directory, zipping up any
-directories that are also laying around:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">%</samp> <kbd class="USERINPUT">zip -r foo *</kbd>
-</pre>
-</td>
-</tr>
-</table>
-
-<p>Decompressing files is easy, as well.</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">%</samp> <kbd class="USERINPUT">unzip foo.zip</kbd>
-</pre>
-</td>
-</tr>
-</table>
-
-<p>This will extract all the files in the file <tt class="FILENAME">foo.zip</tt>,
-including any directories in the archive.</p>
-
-<p>The <tt class="COMMAND">zip</tt> utilities have several advanced options for creating
-self-extracting archives, leaving out files, controlling compressed file size, printing
-out what will happen, and much more. See the man pages for <tt class="COMMAND">zip</tt>
-and <tt class="COMMAND">unzip</tt> to find out how to use these options.</p>
-</div>
-
-<div class="NAVFOOTER">
-<hr align="LEFT" width="100%" />
-<table summary="Footer navigation table" width="100%" border="0" cellpadding="0"
-cellspacing="0">
-<tr>
-<td width="33%" align="left" valign="top"><a href="archive-files-tar.html"
-accesskey="P">Prev</a></td>
-<td width="34%" align="center" valign="top"><a href="index.html"
-accesskey="H">Home</a></td>
-<td width="33%" align="right" valign="top"><a href="vi.html" accesskey="N">Next</a></td>
-</tr>
-
-<tr>
-<td width="33%" align="left" valign="top"><tt class="COMMAND">tar</tt></td>
-<td width="34%" align="center" valign="top"><a href="archive-files.html"
-accesskey="U">Up</a></td>
-<td width="33%" align="right" valign="top">Vi</td>
-</tr>
-</table>
-</div>
-</body>
-</html>
-
diff --git a/slackbook/html/archive-files.html b/slackbook/html/archive-files.html
deleted file mode 100644
index c29542a9..00000000
--- a/slackbook/html/archive-files.html
+++ /dev/null
@@ -1,145 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta name="generator" content="HTML Tidy, see www.w3.org" />
-<title>Archive Files</title>
-<meta name="GENERATOR" content="Modular DocBook HTML Stylesheet Version 1.7" />
-<link rel="HOME" title="Slackware Linux Essentials" href="index.html" />
-<link rel="PREVIOUS" title="Keeping Current" href="security-current.html" />
-<link rel="NEXT" title="bzip2" href="archive-files-bzip2.html" />
-<link rel="STYLESHEET" type="text/css" href="docbook.css" />
-<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
-</head>
-<body class="CHAPTER" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#840084"
-alink="#0000FF">
-<div class="NAVHEADER">
-<table summary="Header navigation table" width="100%" border="0" cellpadding="0"
-cellspacing="0">
-<tr>
-<th colspan="3" align="center">Slackware Linux Essentials</th>
-</tr>
-
-<tr>
-<td width="10%" align="left" valign="bottom"><a href="security-current.html"
-accesskey="P">Prev</a></td>
-<td width="80%" align="center" valign="bottom"></td>
-<td width="10%" align="right" valign="bottom"><a href="archive-files-bzip2.html"
-accesskey="N">Next</a></td>
-</tr>
-</table>
-
-<hr align="LEFT" width="100%" />
-</div>
-
-<div class="CHAPTER">
-<h1><a id="ARCHIVE-FILES" name="ARCHIVE-FILES"></a>Chapter 15 Archive Files</h1>
-
-<div class="TOC">
-<dl>
-<dt><b>Table of Contents</b></dt>
-
-<dt>15.1 <a href="archive-files.html#ARCHIVE-FILES-GZIP"><tt
-class="COMMAND">gzip</tt></a></dt>
-
-<dt>15.2 <a href="archive-files-bzip2.html"><tt class="COMMAND">bzip2</tt></a></dt>
-
-<dt>15.3 <a href="archive-files-tar.html"><tt class="COMMAND">tar</tt></a></dt>
-
-<dt>15.4 <a href="archive-files-zip.html"><tt class="COMMAND">zip</tt></a></dt>
-</dl>
-</div>
-
-<div class="SECT1">
-<h1 class="SECT1"><a id="ARCHIVE-FILES-GZIP" name="ARCHIVE-FILES-GZIP">15.1 <tt
-class="COMMAND">gzip</tt></a></h1>
-
-<p><tt class="COMMAND">gzip</tt>(1) is the GNU compression program. It takes a single
-file and compresses it. The basic usage is as follows:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">%</samp> <kbd class="USERINPUT">gzip <var
-class="REPLACEABLE">filename</var></kbd>
-</pre>
-</td>
-</tr>
-</table>
-
-<p>The resulting file will be named <tt class="FILENAME"><var
-class="REPLACEABLE">filename</var>.gz</tt> and will usually be smaller than the input
-file. Note that <tt class="FILENAME">filename.gz</tt> will replace <tt
-class="FILENAME">filename</tt>. This means that <tt class="FILENAME">filename</tt> will
-no longer exist, even though a gzipped copy will. Regular text files will compress
-nicely, while jpeg images, mp3s, and other such files will not compress too well as they
-are already compressed. This basic usage is a balance of final file size and compression
-time. The maximum compression can be achieved like so:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">%</samp> <kbd class="USERINPUT">gzip -9 <var
-class="REPLACEABLE">filename</var></kbd>
-</pre>
-</td>
-</tr>
-</table>
-
-<p>This will take a longer time to compress the file, but the result will be as small as
-<tt class="COMMAND">gzip</tt> can make it. Using lower values for the command line option
-will cause it to compress faster, but the file will not be as compressed.</p>
-
-<p>Decompressing gzipped files can be done using two commands, which are really just the
-same program. <tt class="COMMAND">gzip</tt> will decompress any file with a recognized
-file extension. A recognized extension can be any of the following: <tt
-class="FILENAME">.gz</tt>, <tt class="FILENAME">-gz</tt>, <tt class="FILENAME">.z</tt>,
-<tt class="FILENAME">-z</tt>, <tt class="FILENAME">.Z</tt>, or <tt
-class="FILENAME">-Z</tt>. The first method is to call <tt class="COMMAND">gunzip</tt>(1)
-on a file, like so:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">%</samp> <kbd class="USERINPUT">gunzip <var
-class="REPLACEABLE">filename.gz</var></kbd>
-</pre>
-</td>
-</tr>
-</table>
-
-<p>This will leave a decompressed version of infile in the current directory, and the <tt
-class="FILENAME">.gz</tt> extension will be stripped from the filename. <tt
-class="COMMAND">gunzip</tt> is really part of <tt class="COMMAND">gzip</tt> and is
-identical to <tt class="COMMAND">gzip -d</tt>. As such, <tt class="COMMAND">gzip</tt> is
-often pronounced <tt class="COMMAND">gunzip</tt>, as that name just sounds cooler.
-:^)</p>
-</div>
-</div>
-
-<div class="NAVFOOTER">
-<hr align="LEFT" width="100%" />
-<table summary="Footer navigation table" width="100%" border="0" cellpadding="0"
-cellspacing="0">
-<tr>
-<td width="33%" align="left" valign="top"><a href="security-current.html"
-accesskey="P">Prev</a></td>
-<td width="34%" align="center" valign="top"><a href="index.html"
-accesskey="H">Home</a></td>
-<td width="33%" align="right" valign="top"><a href="archive-files-bzip2.html"
-accesskey="N">Next</a></td>
-</tr>
-
-<tr>
-<td width="33%" align="left" valign="top">Keeping Current</td>
-<td width="34%" align="center" valign="top">&nbsp;</td>
-<td width="33%" align="right" valign="top"><tt class="COMMAND">bzip2</tt></td>
-</tr>
-</table>
-</div>
-</body>
-</html>
-
diff --git a/slackbook/html/basic-network-commands-dns.html b/slackbook/html/basic-network-commands-dns.html
deleted file mode 100644
index f8881aad..00000000
--- a/slackbook/html/basic-network-commands-dns.html
+++ /dev/null
@@ -1,181 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta name="generator" content="HTML Tidy, see www.w3.org" />
-<title>DNS Tools</title>
-<meta name="GENERATOR" content="Modular DocBook HTML Stylesheet Version 1.7" />
-<link rel="HOME" title="Slackware Linux Essentials" href="index.html" />
-<link rel="UP" title="Basic Network Commands" href="basic-network-commands.html" />
-<link rel="PREVIOUS" title="traceroute" href="basic-network-commands-traceroute.html" />
-<link rel="NEXT" title="finger" href="basic-network-commands-finger.html" />
-<link rel="STYLESHEET" type="text/css" href="docbook.css" />
-<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
-</head>
-<body class="SECT1" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#840084"
-alink="#0000FF">
-<div class="NAVHEADER">
-<table summary="Header navigation table" width="100%" border="0" cellpadding="0"
-cellspacing="0">
-<tr>
-<th colspan="3" align="center">Slackware Linux Essentials</th>
-</tr>
-
-<tr>
-<td width="10%" align="left" valign="bottom"><a
-href="basic-network-commands-traceroute.html" accesskey="P">Prev</a></td>
-<td width="80%" align="center" valign="bottom">Chapter 13 Basic Network Commands</td>
-<td width="10%" align="right" valign="bottom"><a
-href="basic-network-commands-finger.html" accesskey="N">Next</a></td>
-</tr>
-</table>
-
-<hr align="LEFT" width="100%" />
-</div>
-
-<div class="SECT1">
-<h1 class="SECT1"><a id="BASIC-NETWORK-COMMANDS-DNS"
-name="BASIC-NETWORK-COMMANDS-DNS">13.3 DNS Tools</a></h1>
-
-<p>Domain Name Service (DNS for short) is that magical protocol that allows your computer
-to turn meaningless domain names like www.slackware.com into meaningful IP address like
-<tt class="HOSTID">64.57.102.34</tt>. Computers can't route packets to www.slackware.com,
-but they can route packets to that domain name's IP address. This gives us a convenient
-way to remember machines. Without DNS we'd have to keep a mental database of just what IP
-address belongs to what computer, and that's assuming the IP address doesn't change.
-Clearly using names for computers is better, but how do we map names to IP addresses?</p>
-
-<div class="SECT2">
-<h2 class="SECT2"><a id="AEN4475" name="AEN4475">13.3.1 <tt
-class="COMMAND">host</tt></a></h2>
-
-<p><tt class="COMMAND">host</tt>(1) can do this for us. <tt class="COMMAND">host</tt> is
-used to map names to IP addresses. It is a very quick and simple utility without a lot of
-functions.</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">%</samp> <kbd class="USERINPUT">host www.slackware.com</kbd>
-www.slackware.com is an alias for slackware.com.
-slackware.com has address 64.57.102.34
-</pre>
-</td>
-</tr>
-</table>
-
-<p>But let's say for some reason we want to map an IP address to a domain name; what
-then?</p>
-</div>
-
-<div class="SECT2">
-<h2 class="SECT2"><a id="AEN4487" name="AEN4487">13.3.2 <tt
-class="COMMAND">nslookup</tt></a></h2>
-
-<p><tt class="COMMAND">nslookup</tt> is a tried and true program that has weathered the
-ages. <tt class="COMMAND">nslookup</tt> has been deprecated and may be removed from
-future releases. There is not even a man page for this program.</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">%</samp> <kbd class="USERINPUT">nslookup 64.57.102.34</kbd>
-Note: nslookup is deprecated and may be removed from future releases.
-Consider using the `dig' or `host' programs instead. Run nslookup with
-the `-sil[ent]' option to prevent this message from appearing.
-Server: 192.168.1.254
-Address: 192.168.1.254#53
-
-Non-authoritative answer:
-www.slackware.com canonical name = slackware.com.
-Name: slackware.com
-Address: 64.57.102.34
-</pre>
-</td>
-</tr>
-</table>
-</div>
-
-<div class="SECT2">
-<h2 class="SECT2"><a id="AEN4496" name="AEN4496">13.3.3 <tt
-class="COMMAND">dig</tt></a></h2>
-
-<p>The meanest dog in the pound, the domain information groper, <tt
-class="COMMAND">dig</tt>(1) for short, is the go-to program for finding DNS information.
-<tt class="COMMAND">dig</tt> can grab just about anything from a DNS server including
-reverse lookups, A, CNAME, MX, SP, and TXT records. <tt class="COMMAND">dig</tt> has many
-command line options and if you're not familiar with it you should read through it's
-extensive man page.</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">%</samp> <kbd
-class="USERINPUT">dig @192.168.1.254 www.slackware.com mx</kbd>
-
-; &lt;&lt;&#62;&#62; DiG 9.2.2 &lt;&lt;&#62;&#62; @192.168.1.254 www.slackware.com mx
-;; global options: printcmd
-;; Got answer:
-;; -&#62;&#62;HEADER&lt;&lt;- opcode: QUERY, status: NOERROR, id: 26362
-;; flags: qr rd ra; QUERY: 1, ANSWER: 2, AUTHORITY: 2, ADDITIONAL: 2
-
-;; QUESTION SECTION:
-;www.slackware.com. IN MX
-
-;; ANSWER SECTION:
-www.slackware.com. 76634 IN CNAME slackware.com.
-slackware.com. 86400 IN MX 1 mail.slackware.com.
-
-;; AUTHORITY SECTION:
-slackware.com. 86400 IN NS ns1.cwo.com.
-slackware.com. 86400 IN NS ns2.cwo.com.
-
-;; ADDITIONAL SECTION:
-ns1.cwo.com. 163033 IN A 64.57.100.2
-ns2.cwo.com. 163033 IN A 64.57.100.3
-
-;; Query time: 149 msec
-;; SERVER: 192.168.1.254#53(192.168.1.254)
-;; WHEN: Sat Nov 6 16:59:31 2004
-;; MSG SIZE rcvd: 159
-</pre>
-</td>
-</tr>
-</table>
-
-<p>This should give you an idea how <tt class="COMMAND">dig</tt> works.
-&#8220;@192.168.1.254&#8221; specifies the dns server to use.
-&#8220;www.slackware.com&#8221; is the domain name I am performing a lookup on, and
-&#8220;mx&#8221; is the type of lookup I am performing. The above query tells me that
-e-mail to <tt class="HOSTID">www.slackware.com</tt> will instead be sent to <tt
-class="HOSTID">mail.slackware.com</tt> for delivery.</p>
-</div>
-</div>
-
-<div class="NAVFOOTER">
-<hr align="LEFT" width="100%" />
-<table summary="Footer navigation table" width="100%" border="0" cellpadding="0"
-cellspacing="0">
-<tr>
-<td width="33%" align="left" valign="top"><a
-href="basic-network-commands-traceroute.html" accesskey="P">Prev</a></td>
-<td width="34%" align="center" valign="top"><a href="index.html"
-accesskey="H">Home</a></td>
-<td width="33%" align="right" valign="top"><a href="basic-network-commands-finger.html"
-accesskey="N">Next</a></td>
-</tr>
-
-<tr>
-<td width="33%" align="left" valign="top"><tt class="COMMAND">traceroute</tt></td>
-<td width="34%" align="center" valign="top"><a href="basic-network-commands.html"
-accesskey="U">Up</a></td>
-<td width="33%" align="right" valign="top"><tt class="COMMAND">finger</tt></td>
-</tr>
-</table>
-</div>
-</body>
-</html>
-
diff --git a/slackbook/html/basic-network-commands-email.html b/slackbook/html/basic-network-commands-email.html
deleted file mode 100644
index 487ea4bc..00000000
--- a/slackbook/html/basic-network-commands-email.html
+++ /dev/null
@@ -1,241 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta name="generator" content="HTML Tidy, see www.w3.org" />
-<title>email</title>
-<meta name="GENERATOR" content="Modular DocBook HTML Stylesheet Version 1.7" />
-<link rel="HOME" title="Slackware Linux Essentials" href="index.html" />
-<link rel="UP" title="Basic Network Commands" href="basic-network-commands.html" />
-<link rel="PREVIOUS" title="The Secure shell" href="basic-network-commands-ssh.html" />
-<link rel="NEXT" title="Browsers" href="basic-network-commands-web.html" />
-<link rel="STYLESHEET" type="text/css" href="docbook.css" />
-<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
-</head>
-<body class="SECT1" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#840084"
-alink="#0000FF">
-<div class="NAVHEADER">
-<table summary="Header navigation table" width="100%" border="0" cellpadding="0"
-cellspacing="0">
-<tr>
-<th colspan="3" align="center">Slackware Linux Essentials</th>
-</tr>
-
-<tr>
-<td width="10%" align="left" valign="bottom"><a href="basic-network-commands-ssh.html"
-accesskey="P">Prev</a></td>
-<td width="80%" align="center" valign="bottom">Chapter 13 Basic Network Commands</td>
-<td width="10%" align="right" valign="bottom"><a href="basic-network-commands-web.html"
-accesskey="N">Next</a></td>
-</tr>
-</table>
-
-<hr align="LEFT" width="100%" />
-</div>
-
-<div class="SECT1">
-<h1 class="SECT1"><a id="BASIC-NETWORK-COMMANDS-EMAIL"
-name="BASIC-NETWORK-COMMANDS-EMAIL">13.7 email</a></h1>
-
-<p>Electronic mail is one of the most popular things one can do on the Internet. In 1998,
-it was reported that more electronic mail was sent than regular mail. It is indeed common
-and useful.</p>
-
-<p>Under Slackware, we provide a standard mail server, and several mail clients. All of
-the clients discussed below are text-based. A lot of Windows users may be against this,
-but you will find that a text based client is very convenient, especially when checking
-mail remotely. Fear not, there are many graphical e-mail clients such as KDE's Kmail. If
-you wish to use one of those check its help menu.</p>
-
-<div class="SECT2">
-<h2 class="SECT2"><a id="BASIC-NETWORK-COMMANDS-EMAIL-PINE"
-name="BASIC-NETWORK-COMMANDS-EMAIL-PINE">13.7.1 <tt class="COMMAND">pine</tt></a></h2>
-
-<p><tt class="COMMAND">pine</tt>(1) is not <tt class="COMMAND">elm</tt>. Or so the saying
-goes. The University of Washington created their program for Internet news and email out
-of a need for an easy mail reader for their students. <tt class="COMMAND">pine</tt> is
-one of the most popular email clients in use today and is available for nearly every
-flavor of Unix and even Windows.</p>
-
-<div class="FIGURE"><a id="FIG-BASIC-NETWORK-COMMANDS-EMAIL-PINE"
-name="FIG-BASIC-NETWORK-COMMANDS-EMAIL-PINE"></a>
-<p><b>Figure 13-2. The Pine main menu</b></p>
-
-<p><img src="basic-network-commands/pine.png" /></p>
-</div>
-
-<p>You will see a menu of commands and a row of command keys at the bottom. <tt
-class="COMMAND">pine</tt> is indeed a complex program, so we will not discuss every
-feature about it here.</p>
-
-<p>To see what's in your inbox, type <kbd class="USERINPUT">i</kbd>. Your messages are
-listed with their date, author, and subject. Highlight the message you want and press
-<kbd class="USERINPUT">enter</kbd> to view it. Pressing <kbd class="USERINPUT">r</kbd>
-will start a reply to the message. Once you have written the response, type <b
-class="KEYCAP">Ctrl</b>+<b class="KEYCAP">X</b> to send it. You can press <kbd
-class="USERINPUT">i</kbd> to get back to the message listing.</p>
-
-<p>If you want to delete a message, press <kbd class="USERINPUT">d</kbd>. It will mark
-the highlighted message for deletion. <tt class="COMMAND">pine</tt> deletes the mail when
-you exit the program. <tt class="COMMAND">pine</tt> also lets you store your mail in
-folders. You can get a listing of folders by pressing <kbd class="USERINPUT">l</kbd>. At
-the message listing, press <kbd class="USERINPUT">s</kbd> to save it to another folder.
-It will ask for the folder name to write the message to.</p>
-
-<p><tt class="COMMAND">pine</tt> offers many, many features; you should definitely have a
-look at the man page for more information. It will contain the latest information about
-the program.</p>
-</div>
-
-<div class="SECT2">
-<h2 class="SECT2"><a id="BASIC-NETWORK-COMMANDS-EMAIL-ELM"
-name="BASIC-NETWORK-COMMANDS-EMAIL-ELM">13.7.2 <tt class="COMMAND">elm</tt></a></h2>
-
-<p><tt class="COMMAND">elm</tt>(1) is another popular text-based email client. Though not
-quite as user friendly as <tt class="COMMAND">pine</tt>, it's definitely been around a
-lot longer.</p>
-
-<div class="FIGURE"><a id="FIG-BASIC-NETWORK-COMMANDS-EMAIL-ELM"
-name="FIG-BASIC-NETWORK-COMMANDS-EMAIL-ELM"></a>
-<p><b>Figure 13-3. Elm main screen</b></p>
-
-<p><img src="basic-network-commands/elm.png" /></p>
-</div>
-
-<p>By default, you are placed in your inbox. The messages are listed with the message
-number, date, sender, and subject. Use the arrow keys to highlight the message you want.
-Press <kbd class="USERINPUT">Enter</kbd> to read the message.</p>
-
-<p>To compose a new message, type <kbd class="USERINPUT">m</kbd> at the main screen. The
-<kbd class="USERINPUT">d</kbd> key will flag a message for deletion. And the <kbd
-class="USERINPUT">r</kbd> key will reply to the current message you are reading. All of
-these keys are displayed at the bottom of the screen with a prompt.</p>
-
-<p>The man page discusses <tt class="COMMAND">elm</tt> in more detail, so you will
-probably want to consult that before using <tt class="COMMAND">elm</tt>.</p>
-</div>
-
-<div class="SECT2">
-<h2 class="SECT2"><a id="BASIC-NETWORK-COMMANDS-EMAIL-MUTT"
-name="BASIC-NETWORK-COMMANDS-EMAIL-MUTT">13.7.3 <tt class="COMMAND">mutt</tt></a></h2>
-
-<p>&#8220;All mail clients suck. This one just sucks less.&#8221; <tt
-class="COMMAND">mutt</tt>'s original interface was based on <tt class="COMMAND">elm</tt>
-with added features found in other popular mailclients, resulting in a hybrid mutt.</p>
-
-<p>Some of <tt class="COMMAND">mutt</tt>'s features include:</p>
-
-<ul>
-<li>
-<p>color support</p>
-</li>
-
-<li>
-<p>message threading</p>
-</li>
-
-<li>
-<p>MIME and PGP/MIME support</p>
-</li>
-
-<li>
-<p>pop3 and imap support</p>
-</li>
-
-<li>
-<p>support for multiple mailbox formats (mbox, MMDF, MH, maildir)</p>
-</li>
-
-<li>
-<p><span class="emphasis"><i class="EMPHASIS">highly</i></span> customizable</p>
-</li>
-</ul>
-
-<div class="FIGURE"><a id="FIG-BASIC-NETWORK-COMMANDS-EMAIL-MUTT"
-name="FIG-BASIC-NETWORK-COMMANDS-EMAIL-MUTT"></a>
-<p><b>Figure 13-4. Mutt main screen</b></p>
-
-<p><img src="basic-network-commands/mutt.png" /></p>
-</div>
-
-<p>if you're looking for a mail client that will let you be in total control over
-everything, then you will like <tt class="COMMAND">mutt</tt>. all the default settings
-can be customized, keybindings can be changed. if you like to add a macro, you can.</p>
-
-<p>you probably want to take a look at the <tt class="FILENAME">muttrc</tt> manpage,
-which will tell you how to configure everything. or take a look at the included example
-<tt class="FILENAME">muttrc</tt> file.</p>
-</div>
-
-<div class="SECT2">
-<h2 class="SECT2"><a id="BASIC-NETWORK-COMMANDS-EMAIL-NAIL"
-name="BASIC-NETWORK-COMMANDS-EMAIL-NAIL">13.7.4 <tt class="COMMAND">nail</tt></a></h2>
-
-<p><tt class="COMMAND">nail</tt>(1) is a command line driven mail client. It is very
-primitive and offers pretty much nothing in the way of user interfaces. However, mailx is
-handy for times when you need to quickly mail something, scripting a bulk mailer, testing
-your MTA installation or something similar. Note that Slackware creates symbolic links to
-<tt class="COMMAND">nail</tt> at <tt class="FILENAME">/usr/bin/mail</tt> and <tt
-class="FILENAME">/usr/bin/mailx</tt>. Any of these three commands executes the same
-program. In fact, you will most likely see <tt class="COMMAND">nail</tt> referred to as
-<tt class="COMMAND">mail</tt>.</p>
-
-<p>The basic command line is:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">%</samp> <kbd
-class="USERINPUT">mailx &lt;subject&gt; &lt;to-addr&gt;</kbd>
-</pre>
-</td>
-</tr>
-</table>
-
-<p><tt class="COMMAND">mailx</tt> reads the message body from standard input. So you can
-cat a file into this command to mail it, or you can just type text and hit <b
-class="KEYCAP">Ctrl</b>+<b class="KEYCAP">D</b> when finished with the message.</p>
-
-<p>Here is an example of mailing a program source file to another person.</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">%</samp> <kbd
-class="USERINPUT">cat randomfunc.c | mail -s "Here's that function" asdf@example.net</kbd>
-</pre>
-</td>
-</tr>
-</table>
-
-<p>The man page explains more of what <tt class="COMMAND">nail</tt> can do, so you will
-probably want to have a look at that before using it.</p>
-</div>
-</div>
-
-<div class="NAVFOOTER">
-<hr align="LEFT" width="100%" />
-<table summary="Footer navigation table" width="100%" border="0" cellpadding="0"
-cellspacing="0">
-<tr>
-<td width="33%" align="left" valign="top"><a href="basic-network-commands-ssh.html"
-accesskey="P">Prev</a></td>
-<td width="34%" align="center" valign="top"><a href="index.html"
-accesskey="H">Home</a></td>
-<td width="33%" align="right" valign="top"><a href="basic-network-commands-web.html"
-accesskey="N">Next</a></td>
-</tr>
-
-<tr>
-<td width="33%" align="left" valign="top">The Secure shell</td>
-<td width="34%" align="center" valign="top"><a href="basic-network-commands.html"
-accesskey="U">Up</a></td>
-<td width="33%" align="right" valign="top">Browsers</td>
-</tr>
-</table>
-</div>
-</body>
-</html>
-
diff --git a/slackbook/html/basic-network-commands-finger.html b/slackbook/html/basic-network-commands-finger.html
deleted file mode 100644
index 08eca57c..00000000
--- a/slackbook/html/basic-network-commands-finger.html
+++ /dev/null
@@ -1,132 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta name="generator" content="HTML Tidy, see www.w3.org" />
-<title>finger</title>
-<meta name="GENERATOR" content="Modular DocBook HTML Stylesheet Version 1.7" />
-<link rel="HOME" title="Slackware Linux Essentials" href="index.html" />
-<link rel="UP" title="Basic Network Commands" href="basic-network-commands.html" />
-<link rel="PREVIOUS" title="DNS Tools" href="basic-network-commands-dns.html" />
-<link rel="NEXT" title="telnet" href="basic-network-commands-telnet.html" />
-<link rel="STYLESHEET" type="text/css" href="docbook.css" />
-<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
-</head>
-<body class="SECT1" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#840084"
-alink="#0000FF">
-<div class="NAVHEADER">
-<table summary="Header navigation table" width="100%" border="0" cellpadding="0"
-cellspacing="0">
-<tr>
-<th colspan="3" align="center">Slackware Linux Essentials</th>
-</tr>
-
-<tr>
-<td width="10%" align="left" valign="bottom"><a href="basic-network-commands-dns.html"
-accesskey="P">Prev</a></td>
-<td width="80%" align="center" valign="bottom">Chapter 13 Basic Network Commands</td>
-<td width="10%" align="right" valign="bottom"><a
-href="basic-network-commands-telnet.html" accesskey="N">Next</a></td>
-</tr>
-</table>
-
-<hr align="LEFT" width="100%" />
-</div>
-
-<div class="SECT1">
-<h1 class="SECT1"><a id="BASIC-NETWORK-COMMANDS-FINGER"
-name="BASIC-NETWORK-COMMANDS-FINGER">13.4 <tt class="COMMAND">finger</tt></a></h1>
-
-<p><tt class="COMMAND">finger</tt>(1) will retrieve information about the specified user.
-You give finger a username or an email address and it will try to contact the necessary
-server and retrieve the username, office, telephone number, and other pieces of
-information. Here is an example:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">%</samp> <kbd class="USERINPUT">finger johnc@idsoftware.com</kbd>
-</pre>
-</td>
-</tr>
-</table>
-
-<p><tt class="COMMAND">finger</tt> can return the username, mail status, phone numbers,
-and files referred to as &#8220;dot plan&#8221; and &#8220;dot project&#8221;. Of course,
-the information returned varies with each <tt class="COMMAND">finger</tt> server. The one
-included with Slackware returns the following information by default:</p>
-
-<ul>
-<li>
-<p>Username</p>
-</li>
-
-<li>
-<p>Room number</p>
-</li>
-
-<li>
-<p>Home phone number</p>
-</li>
-
-<li>
-<p>Work phone number</p>
-</li>
-
-<li>
-<p>Login status</p>
-</li>
-
-<li>
-<p>Email status</p>
-</li>
-
-<li>
-<p>Contents of the <tt class="FILENAME">.plan</tt> file in the user's home directory</p>
-</li>
-
-<li>
-<p>Contents of the <tt class="FILENAME">.project</tt> file in the user's home
-directory</p>
-</li>
-</ul>
-
-<p>The first four items can be set with the <tt class="COMMAND">chfn</tt> command. It
-stores those values in the <tt class="FILENAME">/etc/passwd</tt> file. To change the
-information in your <tt class="FILENAME">.plan</tt> or <tt class="FILENAME">.project</tt>
-file, just edit them with your favorite text editor. They must reside in your home
-directory and must be called <tt class="FILENAME">.plan</tt> and <tt
-class="FILENAME">.project</tt>.</p>
-
-<p>Many users <tt class="COMMAND">finger</tt> their own account from a remote machine to
-quickly see if they have new email. Or, you can see a user's plan or current project.</p>
-
-<p>Like many commands, <tt class="COMMAND">finger</tt> has options. Check the man page
-for more information on what special options you can use.</p>
-</div>
-
-<div class="NAVFOOTER">
-<hr align="LEFT" width="100%" />
-<table summary="Footer navigation table" width="100%" border="0" cellpadding="0"
-cellspacing="0">
-<tr>
-<td width="33%" align="left" valign="top"><a href="basic-network-commands-dns.html"
-accesskey="P">Prev</a></td>
-<td width="34%" align="center" valign="top"><a href="index.html"
-accesskey="H">Home</a></td>
-<td width="33%" align="right" valign="top"><a href="basic-network-commands-telnet.html"
-accesskey="N">Next</a></td>
-</tr>
-
-<tr>
-<td width="33%" align="left" valign="top">DNS Tools</td>
-<td width="34%" align="center" valign="top"><a href="basic-network-commands.html"
-accesskey="U">Up</a></td>
-<td width="33%" align="right" valign="top"><tt class="COMMAND">telnet</tt></td>
-</tr>
-</table>
-</div>
-</body>
-</html>
-
diff --git a/slackbook/html/basic-network-commands-ftp.html b/slackbook/html/basic-network-commands-ftp.html
deleted file mode 100644
index a5b48f07..00000000
--- a/slackbook/html/basic-network-commands-ftp.html
+++ /dev/null
@@ -1,279 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta name="generator" content="HTML Tidy, see www.w3.org" />
-<title>FTP Clients</title>
-<meta name="GENERATOR" content="Modular DocBook HTML Stylesheet Version 1.7" />
-<link rel="HOME" title="Slackware Linux Essentials" href="index.html" />
-<link rel="UP" title="Basic Network Commands" href="basic-network-commands.html" />
-<link rel="PREVIOUS" title="Browsers" href="basic-network-commands-web.html" />
-<link rel="NEXT" title="Talking to Other People"
-href="basic-network-commands-talk.html" />
-<link rel="STYLESHEET" type="text/css" href="docbook.css" />
-<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
-</head>
-<body class="SECT1" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#840084"
-alink="#0000FF">
-<div class="NAVHEADER">
-<table summary="Header navigation table" width="100%" border="0" cellpadding="0"
-cellspacing="0">
-<tr>
-<th colspan="3" align="center">Slackware Linux Essentials</th>
-</tr>
-
-<tr>
-<td width="10%" align="left" valign="bottom"><a href="basic-network-commands-web.html"
-accesskey="P">Prev</a></td>
-<td width="80%" align="center" valign="bottom">Chapter 13 Basic Network Commands</td>
-<td width="10%" align="right" valign="bottom"><a href="basic-network-commands-talk.html"
-accesskey="N">Next</a></td>
-</tr>
-</table>
-
-<hr align="LEFT" width="100%" />
-</div>
-
-<div class="SECT1">
-<h1 class="SECT1"><a id="BASIC-NETWORK-COMMANDS-FTP"
-name="BASIC-NETWORK-COMMANDS-FTP">13.9 FTP Clients</a></h1>
-
-<p>FTP stands for the File Transfer Protocol. It allows you to send and receive files
-between two computers. There is the FTP server and the FTP client. We discuss the client
-in this section.</p>
-
-<p>For the curious, the &#8220;client&#8221; is you. The &#8220;server&#8221; is the
-computer that answers your FTP request and lets you login. You will download files from
-and upload files to the server. The client cannot accept FTP connections, it can only
-connect to servers.</p>
-
-<div class="SECT2">
-<h2 class="SECT2"><a id="AEN4871" name="AEN4871">13.9.1 <tt
-class="COMMAND">ftp</tt></a></h2>
-
-<p>To connect to an FTP server, simply run the <tt class="COMMAND">ftp</tt>(1) command
-and specify the host:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">%</samp> <kbd class="USERINPUT">ftp &lt;hostname&gt; [port]</kbd>
-</pre>
-</td>
-</tr>
-</table>
-
-<p>If the host is running an FTP server, it will ask for a username and password. You can
-log in as yourself or as &#8220;anonymous&#8221;. Anonymous FTP sites are very popular
-for software archives. For example, to get Slackware Linux via FTP, you must use
-anonymous FTP.</p>
-
-<p>Once connected, you will be at the <var class="LITERAL">ftp&gt;</var> prompt. There
-are special commands for FTP, but they are similar to other standard commands. The
-following shows some of the basic commands and what they do:</p>
-
-<div class="TABLE"><a id="AEN4883" name="AEN4883"></a>
-<p><b>Table 13-1. <tt class="COMMAND">ftp</tt> commands</b></p>
-
-<table border="0" frame="void" class="CALSTABLE">
-<col width="1*" />
-<col width="3*" />
-<thead>
-<tr>
-<th>Command</th>
-<th>Purpose</th>
-</tr>
-</thead>
-
-<tbody>
-<tr>
-<td><tt class="COMMAND">ls</tt></td>
-<td>List files</td>
-</tr>
-
-<tr>
-<td><tt class="COMMAND">cd &lt;dirname&gt;</tt></td>
-<td>Change directory</td>
-</tr>
-
-<tr>
-<td><tt class="COMMAND">bin</tt></td>
-<td>Set binary transfer mode</td>
-</tr>
-
-<tr>
-<td><tt class="COMMAND">ascii</tt></td>
-<td>Set ASCII transfer mode</td>
-</tr>
-
-<tr>
-<td><tt class="COMMAND">get &lt;filename&gt;</tt></td>
-<td>Download a file</td>
-</tr>
-
-<tr>
-<td><tt class="COMMAND">put &lt;filename&gt;</tt></td>
-<td>Upload a file</td>
-</tr>
-
-<tr>
-<td><tt class="COMMAND">hash</tt></td>
-<td>Toggle hash mark stats indicator</td>
-</tr>
-
-<tr>
-<td><tt class="COMMAND">tick</tt></td>
-<td>Toggle byte counter indicator</td>
-</tr>
-
-<tr>
-<td><tt class="COMMAND">prom</tt></td>
-<td>Toggle interactive mode for downloads</td>
-</tr>
-
-<tr>
-<td><tt class="COMMAND">mget &lt;mask&gt;</tt></td>
-<td>Download a file or group of files; wildcards are allowed</td>
-</tr>
-
-<tr>
-<td><tt class="COMMAND">mput &lt;mask&gt;</tt></td>
-<td>Upload a file or group of files; wildcards are allowed</td>
-</tr>
-
-<tr>
-<td><tt class="COMMAND">quit</tt></td>
-<td>Log off the FTP server</td>
-</tr>
-</tbody>
-</table>
-</div>
-
-<p>You can also use some of the following commands which are quite self-explanatory: <tt
-class="COMMAND">chmod</tt>, <tt class="COMMAND">delete</tt>, <tt
-class="COMMAND">rename</tt>, <tt class="COMMAND">rmdir</tt>. For a complete list of all
-commands and their meaning, just type <kbd class="USERINPUT">help</kbd> or <kbd
-class="USERINPUT">?</kbd> and you'll see a complete listing on screen.</p>
-
-<p>FTP is a fairly simple program to use, but lacks the user interface that many of us
-are used to nowadays. The man page discusses some of the command line options for <tt
-class="COMMAND">ftp</tt>(1).</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-ftp&#62; <kbd class="USERINPUT">ls *.TXT</kbd>
-200 PORT command successful.
-150 Opening ASCII mode data connection for /bin/ls.
--rw-r--r-- 1 root 100 18606 Apr 6 2002 BOOTING.TXT
--rw-r--r-- 1 root 100 10518 Jun 13 2002 COPYRIGHT.TXT
--rw-r--r-- 1 root 100 602 Apr 6 2002 CRYPTO_NOTICE.TXT
--rw-r--r-- 1 root 100 32431 Sep 29 02:56 FAQ.TXT
--rw-r--r-- 1 root 100 499784 Mar 3 19:29 FILELIST.TXT
--rw-r--r-- 1 root 100 241099 Mar 3 19:12 PACKAGES.TXT
--rw-r--r-- 1 root 100 12339 Jun 19 2002 README81.TXT
--rw-r--r-- 1 root 100 14826 Jun 17 2002 SPEAKUP_DOCS.TXT
--rw-r--r-- 1 root 100 15434 Jun 17 2002 SPEAK_INSTALL.TXT
--rw-r--r-- 1 root 100 2876 Jun 17 2002 UPGRADE.TXT
-226 Transfer complete.
-ftp&#62; <kbd class="USERINPUT">tick</kbd>
-Tick counter printing on (10240 bytes/tick increment).
-ftp&#62; <kbd class="USERINPUT">get README81.TXT</kbd>
-local: README81.TXT remote: README81.TXT
-200 PORT command successful.
-150 Opening BINARY mode data connection for README81.TXT (12339 bytes).
-Bytes transferred: 12339
-226 Transfer complete.
-12339 bytes received in 0.208 secs (58 Kbytes/sec)
-</pre>
-</td>
-</tr>
-</table>
-</div>
-
-<div class="SECT2">
-<h2 class="SECT2"><a id="BASIC-NETWORK-COMMANDS-FTP-NCFTP"
-name="BASIC-NETWORK-COMMANDS-FTP-NCFTP">13.9.2 <tt class="COMMAND">ncftp</tt></a></h2>
-
-<p><tt class="COMMAND">ncftp</tt>(1) (pronounced "Nik-F-T-P") is an alternative to the
-traditional ftp client that comes with Slackware. It is still a text-based program, but
-offers many advantages over <tt class="COMMAND">ftp</tt>, including:</p>
-
-<ul>
-<li>
-<p>Tab completion</p>
-</li>
-
-<li>
-<p>Bookmarks file</p>
-</li>
-
-<li>
-<p>More liberal wildcard uses</p>
-</li>
-
-<li>
-<p>Command history</p>
-</li>
-</ul>
-
-<p>By default, <tt class="COMMAND">ncftp</tt> will try to log in anonymously to the
-server you specify. You can force <tt class="COMMAND">ncftp</tt> to present a login
-prompt with the &#8220;<var class="OPTION">-u</var>&#8221; option. Once logged in, you
-can use the same commands as in <tt class="COMMAND">ftp</tt>, only you'll notice a nicer
-interface, one that works more like <tt class="COMMAND">bash</tt>.</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-ncftp /pub/linux/slackware &#62; <kbd class="USERINPUT">cd slackware-current/</kbd>
-Please read the file README81.TXT
- it was last modified on Wed Jun 19 16:24:21 2002 - 258 days ago
-CWD command successful.
-ncftp ...ware/slackware-current &#62; <kbd class="USERINPUT">ls</kbd>
-BOOTING.TXT FAQ.TXT bootdisks/
-CHECKSUMS FILELIST.TXT extra/
-CHECKSUMS.asc GPG-KEY isolinux/
-CHECKSUMS.md5 PACKAGES.TXT kernels/
-CHECKSUMS.md5.asc PRERELEASE_NOTES pasture/
-COPYING README81.TXT rootdisks/
-COPYRIGHT.TXT SPEEKUP_DOCS.TXT slackware/
-CRYPTO_NOTICE.TXT SPEEK_INSTALL.TXT source/
-CURRENT.WARNING Slackware-HOWTO
-ChangeLog.txt UPGRADE.TXT
-ncftp ...ware/slackware-current &#62; <kbd class="USERINPUT">get README81.TXT</kbd>
-README81.TXT: 12.29 kB 307.07 kB/s
-</pre>
-</td>
-</tr>
-</table>
-</div>
-</div>
-
-<div class="NAVFOOTER">
-<hr align="LEFT" width="100%" />
-<table summary="Footer navigation table" width="100%" border="0" cellpadding="0"
-cellspacing="0">
-<tr>
-<td width="33%" align="left" valign="top"><a href="basic-network-commands-web.html"
-accesskey="P">Prev</a></td>
-<td width="34%" align="center" valign="top"><a href="index.html"
-accesskey="H">Home</a></td>
-<td width="33%" align="right" valign="top"><a href="basic-network-commands-talk.html"
-accesskey="N">Next</a></td>
-</tr>
-
-<tr>
-<td width="33%" align="left" valign="top">Browsers</td>
-<td width="34%" align="center" valign="top"><a href="basic-network-commands.html"
-accesskey="U">Up</a></td>
-<td width="33%" align="right" valign="top">Talking to Other People</td>
-</tr>
-</table>
-</div>
-</body>
-</html>
-
diff --git a/slackbook/html/basic-network-commands-ssh.html b/slackbook/html/basic-network-commands-ssh.html
deleted file mode 100644
index f9912fe1..00000000
--- a/slackbook/html/basic-network-commands-ssh.html
+++ /dev/null
@@ -1,100 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta name="generator" content="HTML Tidy, see www.w3.org" />
-<title>The Secure shell</title>
-<meta name="GENERATOR" content="Modular DocBook HTML Stylesheet Version 1.7" />
-<link rel="HOME" title="Slackware Linux Essentials" href="index.html" />
-<link rel="UP" title="Basic Network Commands" href="basic-network-commands.html" />
-<link rel="PREVIOUS" title="telnet" href="basic-network-commands-telnet.html" />
-<link rel="NEXT" title="email" href="basic-network-commands-email.html" />
-<link rel="STYLESHEET" type="text/css" href="docbook.css" />
-<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
-</head>
-<body class="SECT1" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#840084"
-alink="#0000FF">
-<div class="NAVHEADER">
-<table summary="Header navigation table" width="100%" border="0" cellpadding="0"
-cellspacing="0">
-<tr>
-<th colspan="3" align="center">Slackware Linux Essentials</th>
-</tr>
-
-<tr>
-<td width="10%" align="left" valign="bottom"><a href="basic-network-commands-telnet.html"
-accesskey="P">Prev</a></td>
-<td width="80%" align="center" valign="bottom">Chapter 13 Basic Network Commands</td>
-<td width="10%" align="right" valign="bottom"><a href="basic-network-commands-email.html"
-accesskey="N">Next</a></td>
-</tr>
-</table>
-
-<hr align="LEFT" width="100%" />
-</div>
-
-<div class="SECT1">
-<h1 class="SECT1"><a id="BASIC-NETWORK-COMMANDS-SSH"
-name="BASIC-NETWORK-COMMANDS-SSH">13.6 The Secure shell</a></h1>
-
-<p>Today, secure shell basks in the adoration that <tt class="COMMAND">telnet</tt> once
-enjoyed. <tt class="COMMAND">ssh</tt>(1) allows one to make a connection to a remote
-machine and execute programs as if one were physically present; however, <tt
-class="COMMAND">ssh</tt> encrypts all the data travelling between the two computers so
-even if others intercept the conversation, they are unable to understand it. A typical
-secure shell connection follows.</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">%</samp> <kbd
-class="USERINPUT">ssh carrier.lizella.net -l alan</kbd>
-The authenticity of host 'carrier.lizella.net (192.168.1.253)' can't be
-established.
-RSA key fingerprint is 0b:e2:5d:43:4c:39:4f:8c:b9:85:db:b2:fa:25:e9:9d.
-Are you sure you want to continue connecting (yes/no)? yes
-Warning: Permanently added 'carrier.lizella.net' (RSA) to the list of
-known hosts.
-Password: <kbd class="USERINPUT">password</kbd>
-Last login: Sat Nov 6 16:32:19 2004 from 192.168.1.102
-Linux 2.4.26-smp.
-alan@carrier:~$ <kbd class="USERINPUT">ls -l MANIFEST</kbd>
--rw-r--r-- 1 alan users 23545276 2004-10-28 20:04 MANIFEST
-alan@carrier:~$ <kbd class="USERINPUT">exit</kbd>
-logout
-Connection to carrier.lizella.net closed.
-</pre>
-</td>
-</tr>
-</table>
-
-<p>There you see me making an ssh connection to <tt
-class="HOSTID">carrier.lizella.net</tt>, and checking the permissions on the <tt
-class="FILENAME">MANIFEST</tt> file.</p>
-</div>
-
-<div class="NAVFOOTER">
-<hr align="LEFT" width="100%" />
-<table summary="Footer navigation table" width="100%" border="0" cellpadding="0"
-cellspacing="0">
-<tr>
-<td width="33%" align="left" valign="top"><a href="basic-network-commands-telnet.html"
-accesskey="P">Prev</a></td>
-<td width="34%" align="center" valign="top"><a href="index.html"
-accesskey="H">Home</a></td>
-<td width="33%" align="right" valign="top"><a href="basic-network-commands-email.html"
-accesskey="N">Next</a></td>
-</tr>
-
-<tr>
-<td width="33%" align="left" valign="top"><tt class="COMMAND">telnet</tt></td>
-<td width="34%" align="center" valign="top"><a href="basic-network-commands.html"
-accesskey="U">Up</a></td>
-<td width="33%" align="right" valign="top">email</td>
-</tr>
-</table>
-</div>
-</body>
-</html>
-
diff --git a/slackbook/html/basic-network-commands-talk.html b/slackbook/html/basic-network-commands-talk.html
deleted file mode 100644
index 5c61119e..00000000
--- a/slackbook/html/basic-network-commands-talk.html
+++ /dev/null
@@ -1,184 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta name="generator" content="HTML Tidy, see www.w3.org" />
-<title>Talking to Other People</title>
-<meta name="GENERATOR" content="Modular DocBook HTML Stylesheet Version 1.7" />
-<link rel="HOME" title="Slackware Linux Essentials" href="index.html" />
-<link rel="UP" title="Basic Network Commands" href="basic-network-commands.html" />
-<link rel="PREVIOUS" title="FTP Clients" href="basic-network-commands-ftp.html" />
-<link rel="NEXT" title="Security" href="security.html" />
-<link rel="STYLESHEET" type="text/css" href="docbook.css" />
-<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
-</head>
-<body class="SECT1" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#840084"
-alink="#0000FF">
-<div class="NAVHEADER">
-<table summary="Header navigation table" width="100%" border="0" cellpadding="0"
-cellspacing="0">
-<tr>
-<th colspan="3" align="center">Slackware Linux Essentials</th>
-</tr>
-
-<tr>
-<td width="10%" align="left" valign="bottom"><a href="basic-network-commands-ftp.html"
-accesskey="P">Prev</a></td>
-<td width="80%" align="center" valign="bottom">Chapter 13 Basic Network Commands</td>
-<td width="10%" align="right" valign="bottom"><a href="security.html"
-accesskey="N">Next</a></td>
-</tr>
-</table>
-
-<hr align="LEFT" width="100%" />
-</div>
-
-<div class="SECT1">
-<h1 class="SECT1"><a id="BASIC-NETWORK-COMMANDS-TALK"
-name="BASIC-NETWORK-COMMANDS-TALK">13.10 Talking to Other People</a></h1>
-
-<div class="SECT2">
-<h2 class="SECT2"><a id="AEN4989" name="AEN4989">13.10.1 <tt
-class="COMMAND">wall</tt></a></h2>
-
-<p><tt class="COMMAND">wall</tt>(1) is a quick way to write a message to the users on a
-system. The basic syntax is:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">%</samp> <kbd class="USERINPUT">wall [file]</kbd>
-</pre>
-</td>
-</tr>
-</table>
-
-<p>This will result in the contents of [file] being displayed on the terminals of all
-currently logged in users. If you don't specify a file, wall will read from standard
-input, so you can just type your message, and end with <b class="KEYCAP">Ctrl</b>+<b
-class="KEYCAP">d</b>.</p>
-
-<p><tt class="COMMAND">wall</tt> doesn't have many features, and apart from letting your
-users know that you're about to do some serious maintenance to the system, or even reboot
-it, so they have time to save their work and log off :)</p>
-</div>
-
-<div class="SECT2">
-<h2 class="SECT2"><a id="AEN5006" name="AEN5006">13.10.2 <tt
-class="COMMAND">talk</tt></a></h2>
-
-<p><tt class="COMMAND">talk</tt>(1) allows two users to chat. It splits the screen in
-half, horizontally. To request a chat with another user, use this command:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">%</samp> <kbd class="USERINPUT">talk &lt;person&gt; [ttyname]</kbd>
-</pre>
-</td>
-</tr>
-</table>
-
-<div class="FIGURE"><a id="FIG-BASIC-NETWORK-COMMANDS-TALK-TALK"
-name="FIG-BASIC-NETWORK-COMMANDS-TALK-TALK"></a>
-<p><b>Figure 13-7. Two users in a <tt class="COMMAND">talk</tt> session</b></p>
-
-<p><img src="basic-network-commands/talk.png" /></p>
-</div>
-
-<p>If you specify just a username, the chat request is assumed to be local, so only local
-users are queried. The ttyname is required if you want to ring a user on a specific
-terminal (if the user is logged in more than once). The required information for <tt
-class="COMMAND">talk</tt> can be obtained from the <tt class="COMMAND">w</tt>(1)
-command.</p>
-
-<p><tt class="COMMAND">talk</tt> can also ring users on remote hosts. For the username
-you simply specify an email address. <tt class="COMMAND">talk</tt> will try to contact
-that remote user on that host.</p>
-
-<p><tt class="COMMAND">talk</tt> is somewhat limited. It only supports two users and is
-half-duplex.</p>
-</div>
-
-<div class="SECT2">
-<h2 class="SECT2"><a id="AEN5033" name="AEN5033">13.10.3 <tt
-class="COMMAND">ytalk</tt></a></h2>
-
-<p><tt class="COMMAND">ytalk</tt>(1) is a backwards compatible replacement for <tt
-class="COMMAND">talk</tt>. It comes with Slackware as the <tt class="COMMAND">ytalk</tt>
-command. The syntax is similar, but has a few differences:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">%</samp> <kbd
-class="USERINPUT">ytalk &lt;username&gt;[#ttyname]</kbd>
-</pre>
-</td>
-</tr>
-</table>
-
-<div class="FIGURE"><a id="FIG-BASIC-NETWORK-COMMANDS-TALK-YTALK"
-name="FIG-BASIC-NETWORK-COMMANDS-TALK-YTALK"></a>
-<p><b>Figure 13-8. Two users in a <tt class="COMMAND">ytalk</tt> session</b></p>
-
-<p><img src="basic-network-commands/ytalk.png" /></p>
-</div>
-
-<p>The username and terminal are specified the same as under talk, except you must put
-them together with the hash mark (#).</p>
-
-<p>ytalk offers several advantages:</p>
-
-<ul>
-<li>
-<p>It supports more than two users.</p>
-</li>
-
-<li>
-<p>A menu of options that can be brought up anytime with <kbd
-class="USERINPUT">Esc</kbd>.</p>
-</li>
-
-<li>
-<p>You can shell out while still in the talk session.</p>
-</li>
-
-<li>
-<p>Plus more...</p>
-</li>
-</ul>
-
-<p>If you're a server administrator, you'll want to make sure that the <tt
-class="COMMAND">ntalk</tt> port is enabled in <tt class="FILENAME">/etc/inetd.conf</tt>.
-<tt class="COMMAND">ytalk</tt> needs that to work properly.</p>
-</div>
-</div>
-
-<div class="NAVFOOTER">
-<hr align="LEFT" width="100%" />
-<table summary="Footer navigation table" width="100%" border="0" cellpadding="0"
-cellspacing="0">
-<tr>
-<td width="33%" align="left" valign="top"><a href="basic-network-commands-ftp.html"
-accesskey="P">Prev</a></td>
-<td width="34%" align="center" valign="top"><a href="index.html"
-accesskey="H">Home</a></td>
-<td width="33%" align="right" valign="top"><a href="security.html"
-accesskey="N">Next</a></td>
-</tr>
-
-<tr>
-<td width="33%" align="left" valign="top">FTP Clients</td>
-<td width="34%" align="center" valign="top"><a href="basic-network-commands.html"
-accesskey="U">Up</a></td>
-<td width="33%" align="right" valign="top">Security</td>
-</tr>
-</table>
-</div>
-</body>
-</html>
-
diff --git a/slackbook/html/basic-network-commands-telnet.html b/slackbook/html/basic-network-commands-telnet.html
deleted file mode 100644
index 736a2648..00000000
--- a/slackbook/html/basic-network-commands-telnet.html
+++ /dev/null
@@ -1,173 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta name="generator" content="HTML Tidy, see www.w3.org" />
-<title>telnet</title>
-<meta name="GENERATOR" content="Modular DocBook HTML Stylesheet Version 1.7" />
-<link rel="HOME" title="Slackware Linux Essentials" href="index.html" />
-<link rel="UP" title="Basic Network Commands" href="basic-network-commands.html" />
-<link rel="PREVIOUS" title="finger" href="basic-network-commands-finger.html" />
-<link rel="NEXT" title="The Secure shell" href="basic-network-commands-ssh.html" />
-<link rel="STYLESHEET" type="text/css" href="docbook.css" />
-<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
-</head>
-<body class="SECT1" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#840084"
-alink="#0000FF">
-<div class="NAVHEADER">
-<table summary="Header navigation table" width="100%" border="0" cellpadding="0"
-cellspacing="0">
-<tr>
-<th colspan="3" align="center">Slackware Linux Essentials</th>
-</tr>
-
-<tr>
-<td width="10%" align="left" valign="bottom"><a href="basic-network-commands-finger.html"
-accesskey="P">Prev</a></td>
-<td width="80%" align="center" valign="bottom">Chapter 13 Basic Network Commands</td>
-<td width="10%" align="right" valign="bottom"><a href="basic-network-commands-ssh.html"
-accesskey="N">Next</a></td>
-</tr>
-</table>
-
-<hr align="LEFT" width="100%" />
-</div>
-
-<div class="SECT1">
-<h1 class="SECT1"><a id="BASIC-NETWORK-COMMANDS-TELNET"
-name="BASIC-NETWORK-COMMANDS-TELNET">13.5 <tt class="COMMAND">telnet</tt></a></h1>
-
-<p>Someone once stated that <tt class="COMMAND">telnet</tt>(1) was the coolest thing he
-had ever seen on computers. The ability to remotely log in and do stuff on another
-computer is what separates Unix and Unix-like operating systems from other operating
-systems.</p>
-
-<p><tt class="COMMAND">telnet</tt> allows you to log in to a computer, just as if you
-were sitting at the terminal. Once your username and password are verified, you are given
-a shell prompt. From here, you can do anything requiring a text console. Compose email,
-read newsgroups, move files around, and so on. If you are running X and you <tt
-class="COMMAND">telnet</tt> to another machine, you can run X programs on the remote
-computer and display them on yours.</p>
-
-<p>To login to a remote machine, use this syntax:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">%</samp> <kbd class="USERINPUT">telnet &lt;<var
-class="REPLACEABLE">hostname</var>&gt;</kbd>
-</pre>
-</td>
-</tr>
-</table>
-
-<p>If the host responds, you will receive a login prompt. Give it your username and
-password. That's it. You are now at a shell. To quit your telnet session, use either the
-<tt class="COMMAND">exit</tt> command or the <tt class="COMMAND">logout</tt> command.</p>
-
-<div class="WARNING">
-<table class="WARNING" width="100%" border="0">
-<tr>
-<td width="25" align="CENTER" valign="TOP"><img src="./imagelib/admon/warning.png"
-hspace="5" alt="Warning" /></td>
-<td align="LEFT" valign="TOP">
-<p><tt class="COMMAND">telnet</tt> does not encrypt the information it sends. Everything
-is sent in plain text, even passwords. It is not advisable to use <tt
-class="COMMAND">telnet</tt> over the Internet. Instead, consider the <tt
-class="COMMAND">Secure Shell</tt>. It encrypts all traffic and is available for free.</p>
-</td>
-</tr>
-</table>
-</div>
-
-<div class="SECT2">
-<h2 class="SECT2"><a id="AEN4593" name="AEN4593">13.5.1 The other use of telnet</a></h2>
-
-<p>Now that we have convinced you not to use the telnet protocol anymore to log into a
-remote machine, we'll show you a couple of useful ways to use <tt
-class="COMMAND">telnet</tt>.</p>
-
-<p>You can also use the <tt class="COMMAND">telnet</tt> command to connect to a host on a
-certain port.</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">%</samp> <kbd class="USERINPUT">telnet &lt;<var
-class="REPLACEABLE">hostname</var>&gt; [port]</kbd>
-</pre>
-</td>
-</tr>
-</table>
-
-<p>This can be quite handy when you quickly need to test a certain service, and you need
-full control over the commands, and you need to see what exactly is going on. You can
-interactively test or use an SMTP server, a POP3 server, an HTTP server, etc. this
-way.</p>
-
-<p>In the next figure you'll see how you can <tt class="COMMAND">telnet</tt> to a HTTP
-server on port 80, and get some basic information from it.</p>
-
-<div class="FIGURE"><a id="FIG-BASIC-NETWORK-COMMANDS-TELNET-WEB"
-name="FIG-BASIC-NETWORK-COMMANDS-TELNET-WEB"></a>
-<p><b>Figure 13-1. Telnetting to a webserver</b></p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">%</samp> <kbd class="USERINPUT">telnet store.slackware.com 80</kbd>
-Trying 69.50.233.153...
-Connected to store.slackware.com.
-Escape character is '^]'.
-HEAD / HTTP/1.0
-
-HTTP/1.1 200 OK
-Date: Mon, 25 Apr 2005 20:47:01 GMT
-Server: Apache/1.3.33 (Unix) mod_ssl/2.8.22 OpenSSL/0.9.7d
-Last-Modified: Fri, 18 Apr 2003 10:58:54 GMT
-ETag: "193424-c0-3e9fda6e"
-Accept-Ranges: bytes
-Content-Length: 192
-Connection: close
-Content-Type: text/html
-
-Connection closed by foreign host.
-<samp class="PROMPT">%</samp>
-</pre>
-</td>
-</tr>
-</table>
-</div>
-
-<p>You can do the same for other plain-text protocols, as long as you know what port to
-connect to, and what the commands are.</p>
-</div>
-</div>
-
-<div class="NAVFOOTER">
-<hr align="LEFT" width="100%" />
-<table summary="Footer navigation table" width="100%" border="0" cellpadding="0"
-cellspacing="0">
-<tr>
-<td width="33%" align="left" valign="top"><a href="basic-network-commands-finger.html"
-accesskey="P">Prev</a></td>
-<td width="34%" align="center" valign="top"><a href="index.html"
-accesskey="H">Home</a></td>
-<td width="33%" align="right" valign="top"><a href="basic-network-commands-ssh.html"
-accesskey="N">Next</a></td>
-</tr>
-
-<tr>
-<td width="33%" align="left" valign="top"><tt class="COMMAND">finger</tt></td>
-<td width="34%" align="center" valign="top"><a href="basic-network-commands.html"
-accesskey="U">Up</a></td>
-<td width="33%" align="right" valign="top">The Secure shell</td>
-</tr>
-</table>
-</div>
-</body>
-</html>
-
diff --git a/slackbook/html/basic-network-commands-traceroute.html b/slackbook/html/basic-network-commands-traceroute.html
deleted file mode 100644
index fead8c00..00000000
--- a/slackbook/html/basic-network-commands-traceroute.html
+++ /dev/null
@@ -1,106 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta name="generator" content="HTML Tidy, see www.w3.org" />
-<title>traceroute</title>
-<meta name="GENERATOR" content="Modular DocBook HTML Stylesheet Version 1.7" />
-<link rel="HOME" title="Slackware Linux Essentials" href="index.html" />
-<link rel="UP" title="Basic Network Commands" href="basic-network-commands.html" />
-<link rel="PREVIOUS" title="Basic Network Commands" href="basic-network-commands.html" />
-<link rel="NEXT" title="DNS Tools" href="basic-network-commands-dns.html" />
-<link rel="STYLESHEET" type="text/css" href="docbook.css" />
-<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
-</head>
-<body class="SECT1" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#840084"
-alink="#0000FF">
-<div class="NAVHEADER">
-<table summary="Header navigation table" width="100%" border="0" cellpadding="0"
-cellspacing="0">
-<tr>
-<th colspan="3" align="center">Slackware Linux Essentials</th>
-</tr>
-
-<tr>
-<td width="10%" align="left" valign="bottom"><a href="basic-network-commands.html"
-accesskey="P">Prev</a></td>
-<td width="80%" align="center" valign="bottom">Chapter 13 Basic Network Commands</td>
-<td width="10%" align="right" valign="bottom"><a href="basic-network-commands-dns.html"
-accesskey="N">Next</a></td>
-</tr>
-</table>
-
-<hr align="LEFT" width="100%" />
-</div>
-
-<div class="SECT1">
-<h1 class="SECT1"><a id="BASIC-NETWORK-COMMANDS-TRACEROUTE"
-name="BASIC-NETWORK-COMMANDS-TRACEROUTE">13.2 <tt
-class="COMMAND">traceroute</tt></a></h1>
-
-<p>Slackware's <tt class="COMMAND">traceroute</tt>(8) command is a very useful network
-diagnostic tool. <tt class="COMMAND">traceroute</tt> displays each host that a packet
-travels through as it tries to reach its destination. You can see how many
-&#8220;hops&#8221; from the Slackware web site you are with this command:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">%</samp> <kbd class="USERINPUT">traceroute www.slackware.com</kbd>
-</pre>
-</td>
-</tr>
-</table>
-
-<p>Each host will be displayed, along with the response times at each host. Here is an
-example output:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">%</samp> <kbd class="USERINPUT">traceroute www.slackware.com</kbd>
-traceroute to www.slackware.com (204.216.27.13), 30 hops max, 40 byte packets
-1 zuul.tdn (192.168.1.1) 0.409 ms 1.032 ms 0.303 ms
-2 207.171.227.254 (207.171.227.254) 18.218 ms 32.873 ms 32.433 ms
-3 border-sf-2-0-4.sirius.com (205.134.230.254) 15.662 ms 15.731 ms 16.142 ms
-4 pb-nap.crl.net (198.32.128.20) 20.741 ms 23.672 ms 21.378 ms
-5 E0-CRL-SFO-03-E0X0.US.CRL.NET (165.113.55.3) 22.293 ms 21.532 ms 21.29 ms
-6 T1-CDROM-00-EX.US.CRL.NET (165.113.118.2) 24.544 ms 42.955 ms 58.443 ms
-7 www.slackware.com (204.216.27.13) 38.115 ms 53.033 ms 48.328 ms
-</pre>
-</td>
-</tr>
-</table>
-
-<p><tt class="COMMAND">traceroute</tt> is similar to <tt class="COMMAND">ping</tt> in
-that it uses ICMP packets. There are several options that you can specify with <tt
-class="COMMAND">traceroute</tt>. These options are explained in detail in the man
-page.</p>
-</div>
-
-<div class="NAVFOOTER">
-<hr align="LEFT" width="100%" />
-<table summary="Footer navigation table" width="100%" border="0" cellpadding="0"
-cellspacing="0">
-<tr>
-<td width="33%" align="left" valign="top"><a href="basic-network-commands.html"
-accesskey="P">Prev</a></td>
-<td width="34%" align="center" valign="top"><a href="index.html"
-accesskey="H">Home</a></td>
-<td width="33%" align="right" valign="top"><a href="basic-network-commands-dns.html"
-accesskey="N">Next</a></td>
-</tr>
-
-<tr>
-<td width="33%" align="left" valign="top">Basic Network Commands</td>
-<td width="34%" align="center" valign="top"><a href="basic-network-commands.html"
-accesskey="U">Up</a></td>
-<td width="33%" align="right" valign="top">DNS Tools</td>
-</tr>
-</table>
-</div>
-</body>
-</html>
-
diff --git a/slackbook/html/basic-network-commands-web.html b/slackbook/html/basic-network-commands-web.html
deleted file mode 100644
index e3f3b6c5..00000000
--- a/slackbook/html/basic-network-commands-web.html
+++ /dev/null
@@ -1,215 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta name="generator" content="HTML Tidy, see www.w3.org" />
-<title>Browsers</title>
-<meta name="GENERATOR" content="Modular DocBook HTML Stylesheet Version 1.7" />
-<link rel="HOME" title="Slackware Linux Essentials" href="index.html" />
-<link rel="UP" title="Basic Network Commands" href="basic-network-commands.html" />
-<link rel="PREVIOUS" title="email" href="basic-network-commands-email.html" />
-<link rel="NEXT" title="FTP Clients" href="basic-network-commands-ftp.html" />
-<link rel="STYLESHEET" type="text/css" href="docbook.css" />
-<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
-</head>
-<body class="SECT1" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#840084"
-alink="#0000FF">
-<div class="NAVHEADER">
-<table summary="Header navigation table" width="100%" border="0" cellpadding="0"
-cellspacing="0">
-<tr>
-<th colspan="3" align="center">Slackware Linux Essentials</th>
-</tr>
-
-<tr>
-<td width="10%" align="left" valign="bottom"><a href="basic-network-commands-email.html"
-accesskey="P">Prev</a></td>
-<td width="80%" align="center" valign="bottom">Chapter 13 Basic Network Commands</td>
-<td width="10%" align="right" valign="bottom"><a href="basic-network-commands-ftp.html"
-accesskey="N">Next</a></td>
-</tr>
-</table>
-
-<hr align="LEFT" width="100%" />
-</div>
-
-<div class="SECT1">
-<h1 class="SECT1"><a id="BASIC-NETWORK-COMMANDS-WEB"
-name="BASIC-NETWORK-COMMANDS-WEB">13.8 Browsers</a></h1>
-
-<p>The first thing that people think about when they hear the word Internet is
-&#8220;surfing the net&#8221;. Or looking at websites using a web browser. This is
-probably by far the most popular use of the Internet for the average user.</p>
-
-<p>Slackware provides popular graphical web browsers in the &#8220;XAP&#8221; series, as
-well as text mode browsers in the &#8220;N&#8221; series. We'll take a quick look at some
-of the most common options below.</p>
-
-<div class="SECT2">
-<h2 class="SECT2"><a id="AEN4776" name="AEN4776">13.8.1 <tt
-class="COMMAND">lynx</tt></a></h2>
-
-<p><tt class="COMMAND">lynx</tt>(1) is a text-based web browser. It is a very quick way
-of looking up something on the Internet. Sometimes graphics just get in the way if you
-know exactly what you're after.</p>
-
-<p>To start <tt class="COMMAND">lynx</tt>, just type <tt class="COMMAND">lynx</tt> at the
-prompt:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">%</samp> <kbd class="USERINPUT">lynx</kbd>
-</pre>
-</td>
-</tr>
-</table>
-
-<div class="FIGURE"><a id="FIG-BASIC-NETWORK-COMMANDS-WEB-LYNX"
-name="FIG-BASIC-NETWORK-COMMANDS-WEB-LYNX"></a>
-<p><b>Figure 13-5. Lynx default start page</b></p>
-
-<p><img src="basic-network-commands/lynx.png" /></p>
-</div>
-
-<p>You may want to specify a site for <tt class="COMMAND">lynx</tt> to open to:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">%</samp> <kbd class="USERINPUT">lynx http://www.slackware.com</kbd>
-</pre>
-</td>
-</tr>
-</table>
-
-<p><tt class="COMMAND">lynx</tt> prints the command keys and what they do at the bottom
-of the screen. The up and down arrow keys move around the document, <kbd
-class="USERINPUT">Enter</kbd> selects the highlighted link, and the <kbd
-class="USERINPUT">left arrow</kbd> goes back to the previous page. Typing <kbd
-class="USERINPUT">d</kbd> will download the currently selected file. The <kbd
-class="USERINPUT">g</kbd> command brings up the Go prompt, where you can give <tt
-class="COMMAND">lynx</tt> a URL to open.</p>
-
-<p>There are many other commands in <tt class="COMMAND">lynx</tt>. You can either consult
-the man page, or type <kbd class="USERINPUT">h</kbd> to get the help screen for more
-information.</p>
-</div>
-
-<div class="SECT2">
-<h2 class="SECT2"><a id="AEN4813" name="AEN4813">13.8.2 <tt
-class="COMMAND">links</tt></a></h2>
-
-<p>Just like <tt class="COMMAND">lynx</tt>, <tt class="COMMAND">links</tt> is a textmode
-web browser, where you do all the navigation using the keyboard. However, when you press
-the <kbd class="USERINPUT">Esc</kbd> key, it will activate a very convenient pulldown
-menu on the top of the screen. This makes it very easy to use, without having to learn
-all the keyboard shortcuts. People who do not use a text browser every day will
-appreciate this feature.</p>
-
-<p><tt class="COMMAND">links</tt> seems to have better support for both frames and
-tables, when compared to <tt class="COMMAND">lynx</tt>.</p>
-
-<div class="FIGURE"><a id="FIG-BASIC-NETWORK-COMMANDS-WEB-LINKS"
-name="FIG-BASIC-NETWORK-COMMANDS-WEB-LINKS"></a>
-<p><b>Figure 13-6. Links, with the file menu open</b></p>
-
-<p><img src="basic-network-commands/links.png" /></p>
-</div>
-</div>
-
-<div class="SECT2">
-<h2 class="SECT2"><a id="AEN4831" name="AEN4831">13.8.3 <tt
-class="COMMAND">wget</tt></a></h2>
-
-<p><tt class="COMMAND">wget</tt>(1) is a command line utility that will download files
-from a specified URL. While not an actual web-browser, <tt class="COMMAND">wget</tt> is
-used primarily to grab whole or partial web sites for offline viewing, or for fast
-download of single files from HTTP or FTP servers instead. The basic syntax is:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">%</samp> <kbd class="USERINPUT">wget &lt;url&gt;</kbd>
-</pre>
-</td>
-</tr>
-</table>
-
-<p>You can also pass options. For example, this will download the Slackware web site:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">%</samp> <kbd
-class="USERINPUT">wget --recursive http://www.slackware.com</kbd>
-</pre>
-</td>
-</tr>
-</table>
-
-<p><tt class="COMMAND">wget</tt> will create a <tt
-class="FILENAME">www.slackware.com</tt> directory and store the files in there, just as
-the site does.</p>
-
-<p><tt class="COMMAND">wget</tt> can also download files from FTP sites; just specify an
-FTP URL instead of an HTTP one.</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">%</samp> <kbd
-class="USERINPUT">wget ftp://ftp.gnu.org/gnu/wget/wget-1.8.2.tar.gz</kbd>
---12:18:16-- ftp://ftp.gnu.org/gnu/wget/wget-1.8.2.tar.gz
- =&#62; `wget-1.8.2.tar.gz'
-Resolving ftp.gnu.org... done.
-Connecting to ftp.gnu.org[199.232.41.7]:21... connected.
-Logging in as anonymous ... Logged in!
-==&#62; SYST ... done. ==&#62; PWD ... done.
-==&#62; TYPE I ... done. ==&#62; CWD /gnu/wget ... done.
-==&#62; PORT ... done. ==&#62; RETR wget-1.8.2.tar.gz ... done.
-Length: 1,154,648 (unauthoritative)
-
-100%[==================================&#62;] 1,154,648 209.55K/s ETA 00:00
-
-12:18:23 (209.55KB/s) - `wget-1.8.2.tar.gz' saved [1154648]
-</pre>
-</td>
-</tr>
-</table>
-
-<p><tt class="COMMAND">wget</tt> has many more options, which make it nice for site
-specific scripts (web site mirroring and so forth). The man page should be consulted for
-more information.</p>
-</div>
-</div>
-
-<div class="NAVFOOTER">
-<hr align="LEFT" width="100%" />
-<table summary="Footer navigation table" width="100%" border="0" cellpadding="0"
-cellspacing="0">
-<tr>
-<td width="33%" align="left" valign="top"><a href="basic-network-commands-email.html"
-accesskey="P">Prev</a></td>
-<td width="34%" align="center" valign="top"><a href="index.html"
-accesskey="H">Home</a></td>
-<td width="33%" align="right" valign="top"><a href="basic-network-commands-ftp.html"
-accesskey="N">Next</a></td>
-</tr>
-
-<tr>
-<td width="33%" align="left" valign="top">email</td>
-<td width="34%" align="center" valign="top"><a href="basic-network-commands.html"
-accesskey="U">Up</a></td>
-<td width="33%" align="right" valign="top">FTP Clients</td>
-</tr>
-</table>
-</div>
-</body>
-</html>
-
diff --git a/slackbook/html/basic-network-commands.html b/slackbook/html/basic-network-commands.html
deleted file mode 100644
index 7ee78751..00000000
--- a/slackbook/html/basic-network-commands.html
+++ /dev/null
@@ -1,142 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta name="generator" content="HTML Tidy, see www.w3.org" />
-<title>Basic Network Commands</title>
-<meta name="GENERATOR" content="Modular DocBook HTML Stylesheet Version 1.7" />
-<link rel="HOME" title="Slackware Linux Essentials" href="index.html" />
-<link rel="PREVIOUS" title="Shutting Down Properly"
-href="essential-sysadmin-shutdown.html" />
-<link rel="NEXT" title="traceroute" href="basic-network-commands-traceroute.html" />
-<link rel="STYLESHEET" type="text/css" href="docbook.css" />
-<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
-</head>
-<body class="CHAPTER" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#840084"
-alink="#0000FF">
-<div class="NAVHEADER">
-<table summary="Header navigation table" width="100%" border="0" cellpadding="0"
-cellspacing="0">
-<tr>
-<th colspan="3" align="center">Slackware Linux Essentials</th>
-</tr>
-
-<tr>
-<td width="10%" align="left" valign="bottom"><a href="essential-sysadmin-shutdown.html"
-accesskey="P">Prev</a></td>
-<td width="80%" align="center" valign="bottom"></td>
-<td width="10%" align="right" valign="bottom"><a
-href="basic-network-commands-traceroute.html" accesskey="N">Next</a></td>
-</tr>
-</table>
-
-<hr align="LEFT" width="100%" />
-</div>
-
-<div class="CHAPTER">
-<h1><a id="BASIC-NETWORK-COMMANDS" name="BASIC-NETWORK-COMMANDS"></a>Chapter 13 Basic
-Network Commands</h1>
-
-<div class="TOC">
-<dl>
-<dt><b>Table of Contents</b></dt>
-
-<dt>13.1 <a href="basic-network-commands.html#BASIC-NETWORK-COMMANDS-PING"><tt
-class="COMMAND">ping</tt></a></dt>
-
-<dt>13.2 <a href="basic-network-commands-traceroute.html"><tt
-class="COMMAND">traceroute</tt></a></dt>
-
-<dt>13.3 <a href="basic-network-commands-dns.html">DNS Tools</a></dt>
-
-<dt>13.4 <a href="basic-network-commands-finger.html"><tt
-class="COMMAND">finger</tt></a></dt>
-
-<dt>13.5 <a href="basic-network-commands-telnet.html"><tt
-class="COMMAND">telnet</tt></a></dt>
-
-<dt>13.6 <a href="basic-network-commands-ssh.html">The Secure shell</a></dt>
-
-<dt>13.7 <a href="basic-network-commands-email.html">email</a></dt>
-
-<dt>13.8 <a href="basic-network-commands-web.html">Browsers</a></dt>
-
-<dt>13.9 <a href="basic-network-commands-ftp.html">FTP Clients</a></dt>
-
-<dt>13.10 <a href="basic-network-commands-talk.html">Talking to Other People</a></dt>
-</dl>
-</div>
-
-<p>A network consists of several computers connected together. The network can be as
-simple as a few computers connected in your home or office, or as complicated as a large
-university network or even the entire Internet. When your computer is part of a network,
-you have access to those systems either directly or through services like mail and the
-web.</p>
-
-<p>There are a variety of networking programs that you can use. Some are handy for
-performing diagnostics to see if everything is working properly. Others (like mail
-readers and web browsers) are useful for getting your work done and staying in contact
-with other people.</p>
-
-<div class="SECT1">
-<h1 class="SECT1"><a id="BASIC-NETWORK-COMMANDS-PING"
-name="BASIC-NETWORK-COMMANDS-PING">13.1 <tt class="COMMAND">ping</tt></a></h1>
-
-<p><tt class="COMMAND">ping</tt>(8) sends an ICMP <var class="LITERAL">ECHO_REQUEST</var>
-packet to the specified host. If the host responds, you get an ICMP packet back. Sound
-strange? Well, you can &#8220;ping&#8221; an IP address to see if a machine is alive. If
-there is no response, you know something is wrong. Here is an example conversation
-between two Linux users:</p>
-
-<a id="AEN4428" name="AEN4428"></a>
-<blockquote class="BLOCKQUOTE">
-<p class="LITERALLAYOUT"><span class="emphasis"><i class="EMPHASIS">User
-A</i></span>:&nbsp;Loki's&nbsp;down&nbsp;again.<br />
-<span class="emphasis"><i class="EMPHASIS">User
-B</i></span>:&nbsp;Are&nbsp;you&nbsp;sure?<br />
-<span class="emphasis"><i class="EMPHASIS">User
-A</i></span>:&nbsp;Yeah,&nbsp;I&nbsp;tried&nbsp;pinging&nbsp;it,&nbsp;but&nbsp;there's&nbsp;no&nbsp;response.</p>
-</blockquote>
-
-<p>It's instances like these that make <tt class="COMMAND">ping</tt> a very useful
-day-to-day command. It provides a very quick way to see if a machine is up and connected
-to the network. The basic syntax is:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">%</samp> <kbd class="USERINPUT">ping www.slackware.com</kbd>
-</pre>
-</td>
-</tr>
-</table>
-
-<p>There are, of course, several options that can be specified. Check the <tt
-class="COMMAND">ping</tt>(1) man page for more information.</p>
-</div>
-</div>
-
-<div class="NAVFOOTER">
-<hr align="LEFT" width="100%" />
-<table summary="Footer navigation table" width="100%" border="0" cellpadding="0"
-cellspacing="0">
-<tr>
-<td width="33%" align="left" valign="top"><a href="essential-sysadmin-shutdown.html"
-accesskey="P">Prev</a></td>
-<td width="34%" align="center" valign="top"><a href="index.html"
-accesskey="H">Home</a></td>
-<td width="33%" align="right" valign="top"><a
-href="basic-network-commands-traceroute.html" accesskey="N">Next</a></td>
-</tr>
-
-<tr>
-<td width="33%" align="left" valign="top">Shutting Down Properly</td>
-<td width="34%" align="center" valign="top">&nbsp;</td>
-<td width="33%" align="right" valign="top"><tt class="COMMAND">traceroute</tt></td>
-</tr>
-</table>
-</div>
-</body>
-</html>
-
diff --git a/slackbook/html/basic-network-commands/elm.png b/slackbook/html/basic-network-commands/elm.png
deleted file mode 100644
index 3607bb64..00000000
--- a/slackbook/html/basic-network-commands/elm.png
+++ /dev/null
Binary files differ
diff --git a/slackbook/html/basic-network-commands/links.png b/slackbook/html/basic-network-commands/links.png
deleted file mode 100644
index f5b8275a..00000000
--- a/slackbook/html/basic-network-commands/links.png
+++ /dev/null
Binary files differ
diff --git a/slackbook/html/basic-network-commands/lynx.png b/slackbook/html/basic-network-commands/lynx.png
deleted file mode 100644
index 52d0a0c3..00000000
--- a/slackbook/html/basic-network-commands/lynx.png
+++ /dev/null
Binary files differ
diff --git a/slackbook/html/basic-network-commands/mutt.png b/slackbook/html/basic-network-commands/mutt.png
deleted file mode 100644
index d67675ab..00000000
--- a/slackbook/html/basic-network-commands/mutt.png
+++ /dev/null
Binary files differ
diff --git a/slackbook/html/basic-network-commands/pine.png b/slackbook/html/basic-network-commands/pine.png
deleted file mode 100644
index 3257d14e..00000000
--- a/slackbook/html/basic-network-commands/pine.png
+++ /dev/null
Binary files differ
diff --git a/slackbook/html/basic-network-commands/talk.png b/slackbook/html/basic-network-commands/talk.png
deleted file mode 100644
index 408ab118..00000000
--- a/slackbook/html/basic-network-commands/talk.png
+++ /dev/null
Binary files differ
diff --git a/slackbook/html/basic-network-commands/ytalk.png b/slackbook/html/basic-network-commands/ytalk.png
deleted file mode 100644
index f5f2f9c7..00000000
--- a/slackbook/html/basic-network-commands/ytalk.png
+++ /dev/null
Binary files differ
diff --git a/slackbook/html/book-preface.html b/slackbook/html/book-preface.html
deleted file mode 100644
index 9507434d..00000000
--- a/slackbook/html/book-preface.html
+++ /dev/null
@@ -1,404 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta name="generator" content="HTML Tidy, see www.w3.org" />
-<title>Preface</title>
-<meta name="GENERATOR" content="Modular DocBook HTML Stylesheet Version 1.7" />
-<link rel="HOME" title="Slackware Linux Essentials" href="index.html" />
-<link rel="PREVIOUS" title="Slackware Linux Essentials" href="index.html" />
-<link rel="NEXT" title="An Introduction to Slackware Linux" href="introduction.html" />
-<link rel="STYLESHEET" type="text/css" href="docbook.css" />
-<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
-</head>
-<body class="PREFACE" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#840084"
-alink="#0000FF">
-<div class="NAVHEADER">
-<table summary="Header navigation table" width="100%" border="0" cellpadding="0"
-cellspacing="0">
-<tr>
-<th colspan="3" align="center">Slackware Linux Essentials</th>
-</tr>
-
-<tr>
-<td width="10%" align="left" valign="bottom"><a href="index.html"
-accesskey="P">Prev</a></td>
-<td width="80%" align="center" valign="bottom"></td>
-<td width="10%" align="right" valign="bottom"><a href="introduction.html"
-accesskey="N">Next</a></td>
-</tr>
-</table>
-
-<hr align="LEFT" width="100%" />
-</div>
-
-<div class="PREFACE">
-<h1><a id="BOOK-PREFACE" name="BOOK-PREFACE"></a>Preface</h1>
-
-<h1 class="BRIDGEHEAD"><a id="PREFACE-AUDIENCE" name="PREFACE-AUDIENCE"></a>Intended
-Audience</h1>
-
-<p>The Slackware Linux operating system is a powerful platform for Intel-based computers.
-It is designed to be stable, secure, and functional as both a high-end server and
-powerful workstation.</p>
-
-<p>This book is designed to get you started with the Slackware Linux operating system.
-It's not meant to cover every single aspect of the distribution, but rather to show what
-it is capable of and give you a basic working knowledge of the system.</p>
-
-<p>As you gain experience with Slackware Linux, we hope you find this book to be a handy
-reference. We also hope you'll lend it to all of your friends when they come asking about
-that cool Slackware Linux operating system you're running.</p>
-
-<p>While this book may not an edge-of-your-seat novel, we certainly tried to make it as
-entertaining as possible. With any luck, we'll get a movie deal. Of course, we also hope
-you are able to learn from it and find it useful.</p>
-
-<p>And now, on with the show.</p>
-
-<h1 class="BRIDGEHEAD"><a id="PREFACE-CHANGES" name="PREFACE-CHANGES"></a>Changes from
-the First Edition</h1>
-
-<p>This second edition is the culmination of years of hard work by the dedicated members
-of the Slackware Documentation Project. The following are the major changes in this new
-edition:</p>
-
-<ul>
-<li>
-<p><a href="installation.html">Chapter 3</a>, Installation, has been modified with new
-screenshots of the installer, and reflects changes in disk-sets, and CD installation.</p>
-</li>
-
-<li>
-<p><a href="system-configuration.html">Chapter 4</a>, System Configuration, has been
-updated with new information about Linux 2.6.x kernels.</p>
-</li>
-
-<li>
-<p><a href="network-configuration.html">Chapter 5</a>, Network Configuration, has been
-expanded with further explanation of Samba, NFS, and DHCP. A section on wireless
-networking has also been added. This chapter now reflects major changes in how Slackware
-handles network setup.</p>
-</li>
-
-<li>
-<p><a href="x-window-system.html">Chapter 6</a>, X Window System, has been substantially
-rewritten for Xorg based systems. This chapter now also covers the xdm graphical login
-manager.</p>
-</li>
-
-<li>
-<p><a href="basic-network-commands.html">Chapter 13</a>, Basic Network Commands, has been
-enhanced with information about additional network utilities.</p>
-</li>
-
-<li>
-<p><a href="security.html">Chapter 14</a>, Security, is a new chapter with this edition.
-It explains how to keep a Slackware Linux system secure.</p>
-</li>
-
-<li>
-<p><a href="emacs.html">Chapter 17</a>, Emacs, is a new chapter with this edition. It
-describes how to use Emacs, a powerful editor for Unix.</p>
-</li>
-
-<li>
-<p><a href="package-management.html">Chapter 18</a>, Package Management, has been updated
-with information about SlackBuild scripts.</p>
-</li>
-
-<li>
-<p>There are many other changes, both minor and major, to reflect changes in Slackware as
-it has matured.</p>
-</li>
-</ul>
-
-<h1 class="BRIDGEHEAD"><a id="PREFACE-ORGANIZATION"
-name="PREFACE-ORGANIZATION"></a>Organization of this Book</h1>
-
-<div class="VARIABLELIST">
-<dl>
-<dt><a href="introduction.html">Chapter 1</a>, Introduction</dt>
-
-<dd>
-<p>Provides introductory material on Linux, Slackware, and the Open Source and Free
-Software Movements.</p>
-</dd>
-
-<dt><a href="help.html">Chapter 2</a>, Help</dt>
-
-<dd>
-<p>Describes the help resources available on a Slackware Linux system and online.</p>
-</dd>
-
-<dt><a href="installation.html">Chapter 3</a>, Installation</dt>
-
-<dd>
-<p>Describes the installation process step-by-step with screenshots to provide an
-illustrative walk-through.</p>
-</dd>
-
-<dt><a href="system-configuration.html">Chapter 4</a>, System Configuration</dt>
-
-<dd>
-<p>Describes the important configuration files and covers kernel recompilation.</p>
-</dd>
-
-<dt><a href="network-configuration.html">Chapter 5</a>, Network Configuration</dt>
-
-<dd>
-<p>Describes how to connect a Slackware Linux machine to a network. Covers TCP/IP,
-PPP/dial-up, wireless networking, and more.</p>
-</dd>
-
-<dt><a href="x-window-system.html">Chapter 6</a>, The X Window System</dt>
-
-<dd>
-<p>Describes how to setup and use the graphical X Window System in Slackware.</p>
-</dd>
-
-<dt><a href="booting.html">Chapter 7</a>, Booting</dt>
-
-<dd>
-<p>Describes the process by which a computer boots into Slackware Linux. Also covers
-dual-booting with Microsoft Windows operating systems.</p>
-</dd>
-
-<dt><a href="shell.html">Chapter 8</a>, The Shell</dt>
-
-<dd>
-<p>Describes the powerful command line interface for Linux.</p>
-</dd>
-
-<dt><a href="filesystem-structure.html">Chapter 9</a>, Filesystem Structure</dt>
-
-<dd>
-<p>Describes the filesystem structure, including file ownership, permission, and
-linking.</p>
-</dd>
-
-<dt><a href="file-commands.html">Chapter 10</a>, Handling Files and Directories</dt>
-
-<dd>
-<p>Describes the commands used to manipulate files and directories from the command line
-interface.</p>
-</dd>
-
-<dt><a href="process-control.html">Chapter 11</a>, Process Control</dt>
-
-<dd>
-<p>Describes the powerful Linux process management commands used to manage multiple
-running applications.</p>
-</dd>
-
-<dt><a href="essential-sysadmin.html">Chapter 12</a>, Essential System
-Administration</dt>
-
-<dd>
-<p>Describes basic system administration tasks such as adding and removing users,
-shutting down the system properly, and more.</p>
-</dd>
-
-<dt><a href="basic-network-commands.html">Chapter 13</a>, Basic Network Commands</dt>
-
-<dd>
-<p>Describes the collection of network clients included with Slackware.</p>
-</dd>
-
-<dt><a href="security.html">Chapter 14</a>, Security</dt>
-
-<dd>
-<p>Describes many different tools available to help keep your Slackware system secure,
-including <tt class="COMMAND">iptables</tt> and <tt class="COMMAND">tcpwrappers</tt>.</p>
-</dd>
-
-<dt><a href="archive-files.html">Chapter 15</a>, Archive Files</dt>
-
-<dd>
-<p>Describes the different compression and archive utilities available for Linux.</p>
-</dd>
-
-<dt><a href="vi.html">Chapter 16</a>, vi</dt>
-
-<dd>
-<p>Describes the powerful <tt class="COMMAND">vi</tt> text editor.</p>
-</dd>
-
-<dt><a href="emacs.html">Chapter 17</a>, Emacs</dt>
-
-<dd>
-<p>Describes the powerful <tt class="COMMAND">Emacs</tt> text editor.</p>
-</dd>
-
-<dt><a href="package-management.html">Chapter 18</a>, Slackware Package Management</dt>
-
-<dd>
-<p>Describes the Slackware package utilities and the process used to create custom
-packages and tagfiles.</p>
-</dd>
-
-<dt><a href="zipslack.html">Chapter 19</a>, ZipSlack</dt>
-
-<dd>
-<p>Describes the ZipSlack version of Linux that can be used from Windows without
-requiring an installation.</p>
-</dd>
-
-<dt><a href="gpl.html">Appendix A</a>, The GNU General Public License</dt>
-
-<dd>
-<p>Describes the license terms under which Slackware Linux and this book can be copied
-and distributed.</p>
-</dd>
-</dl>
-</div>
-
-<h1 class="BRIDGEHEAD"><a id="PREFACE-CONV" name="PREFACE-CONV"></a>Conventions used in
-this book</h1>
-
-<p>To provide a consistent and easy to read text, several conventions are followed
-throughout the book.</p>
-
-<h2 class="BRIDGEHEAD"><a id="PREFACE-CONV-TYPOGRAPHIC"
-name="PREFACE-CONV-TYPOGRAPHIC"></a>Typographic Conventions</h2>
-
-<div class="VARIABLELIST">
-<dl>
-<dt><span class="emphasis"><i class="EMPHASIS">Italic</i></span></dt>
-
-<dd>
-<p>An <span class="emphasis"><i class="EMPHASIS">italic</i></span> font is used for
-commands, emphasized text, and the first usage of technical terms.</p>
-</dd>
-
-<dt><var class="VARNAME">Monospace</var></dt>
-
-<dd>
-<p>A <var class="VARNAME">monospaced</var> font is used for error messages, commands,
-environment variables, names of ports, hostnames, user names, group names, device names,
-variables, and code fragments.</p>
-</dd>
-
-<dt><b class="APPLICATION">Bold</b></dt>
-
-<dd>
-<p>A <b class="APPLICATION">bold</b> font is used for user input in examples.</p>
-</dd>
-</dl>
-</div>
-
-<h2 class="BRIDGEHEAD"><a id="PREFACE-CONV-COMMANDS"
-name="PREFACE-CONV-COMMANDS"></a>User Input</h2>
-
-<p>Keys are shown in <b class="KEYCAP">bold</b> to stand out from other text. Key
-combinations that are meant to be typed simultaneously are shown with `<var
-class="LITERAL">+</var>' between the keys, such as:</p>
-
-<p><b class="KEYCAP">Ctrl</b>+<b class="KEYCAP">Alt</b>+<b class="KEYCAP">Del</b></p>
-
-<p>Meaning the user should type the <b class="KEYCAP">Ctrl</b>, <b
-class="KEYCAP">Alt</b>, and <b class="KEYCAP">Del</b> keys at the same time.</p>
-
-<p>Keys that are meant to be typed in sequence will be separated with commas, for
-example:</p>
-
-<p><b class="KEYCAP">Ctrl</b>+<b class="KEYCAP">X</b>, <b class="KEYCAP">Ctrl</b>+<b
-class="KEYCAP">S</b></p>
-
-<p>Would mean that the user is expected to type the <b class="KEYCAP">Ctrl</b> and <b
-class="KEYCAP">X</b> keys simultaneously and then to type the <b class="KEYCAP">Ctrl</b>
-and <b class="KEYCAP">S</b> keys simultaneously.</p>
-
-<h2 class="BRIDGEHEAD"><a id="PREFACE-CONV-EXAMPLES"
-name="PREFACE-CONV-EXAMPLES"></a>Examples</h2>
-
-<p>Examples starting with <tt class="DEVICENAME">E:\&gt;</tt> indicate a <span
-class="TRADEMARK">MS-DOS</span>&reg; command. Unless otherwise noted, these commands may
-be executed from a &#8220;Command Prompt&#8221; window in a modern <span
-class="TRADEMARK">Microsoft</span>&reg;&nbsp;<span class="TRADEMARK">Windows</span>&reg;
-environment.</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">D:\&gt;</samp> <kbd class="USERINPUT">rawrite a: bare.i</kbd>
-</pre>
-</td>
-</tr>
-</table>
-
-<p>Examples starting with <samp class="PROMPT">#</samp> indicate a command that must be
-invoked as the superuser in Slackware. You can login as <tt class="USERNAME">root</tt> to
-type the command, or login as your normal account and use <span
-class="CITEREFENTRY"><span class="REFENTRYTITLE">su</span>(1)</span> to gain superuser
-privileges.</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">#</samp> <kbd class="USERINPUT">dd if=bare.i of=/dev/fd0</kbd>
-</pre>
-</td>
-</tr>
-</table>
-
-<p>Examples starting with <samp class="PROMPT">%</samp> indicate a command that should be
-invoked from a normal user account. Unless otherwise noted, C-shell syntax is used for
-setting environment variables and other shell commands.</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">%</samp> <kbd class="USERINPUT">top</kbd>
-</pre>
-</td>
-</tr>
-</table>
-
-<h1 class="BRIDGEHEAD"><a id="PREFACE-ACKNOWLEDGEMENTS"
-name="PREFACE-ACKNOWLEDGEMENTS"></a>Acknowledgments</h1>
-
-<p>This project is the accumulation of months of work by many dedicated individuals. It
-would not have been possible for me to produce this work in a vacuum. Many people deserve
-our thanks for their selfless acts: Keith Keller for his work on wireless networking,
-Joost Kremers for his great work in single-handedly writing the emacs section, Simon
-Williams for the security chapter, Jurgen Phillippaerts for basic networking commands,
-Cibao Cu Ali G Colibri for the inspiration and a good kick in the pants. Countless others
-have sent in suggestions and fixes. An incomplete list includes: Jacob Anhoej, John Yast,
-Sally Welch, Morgan Landry, and Charlie Law. I'd also like to thank Keith Keller for
-hosting the mailing list for this project, as well as Carl Inglis for the initial web
-hosting. Last but not least, I'd like to thank Patrick J. Volkerding for Slackware Linux,
-and David Cantrell, Logan Johnson, and Chris Lumens for Slackware Linux Essentials 1st
-Edition. Without their initial framework, none of this would have ever happened. Many
-others have contributed in small and large ways to this project and have not been listed.
-I hope they will forgive me for a poor memory.</p>
-
-<p>Alan Hicks, May 2005</p>
-</div>
-
-<div class="NAVFOOTER">
-<hr align="LEFT" width="100%" />
-<table summary="Footer navigation table" width="100%" border="0" cellpadding="0"
-cellspacing="0">
-<tr>
-<td width="33%" align="left" valign="top"><a href="index.html"
-accesskey="P">Prev</a></td>
-<td width="34%" align="center" valign="top"><a href="index.html"
-accesskey="H">Home</a></td>
-<td width="33%" align="right" valign="top"><a href="introduction.html"
-accesskey="N">Next</a></td>
-</tr>
-
-<tr>
-<td width="33%" align="left" valign="top">Slackware Linux Essentials</td>
-<td width="34%" align="center" valign="top">&nbsp;</td>
-<td width="33%" align="right" valign="top">An Introduction to Slackware Linux</td>
-</tr>
-</table>
-</div>
-</body>
-</html>
-
diff --git a/slackbook/html/book.html b/slackbook/html/book.html
deleted file mode 100644
index c0803a78..00000000
--- a/slackbook/html/book.html
+++ /dev/null
@@ -1,13511 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta name="generator" content="HTML Tidy, see www.w3.org" />
-<title>Slackware Linux Essentials</title>
-<meta name="GENERATOR" content="Modular DocBook HTML Stylesheet Version 1.7" />
-<link rel="STYLESHEET" type="text/css" href="docbook.css" />
-<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
-</head>
-<body class="BOOK" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#840084"
-alink="#0000FF">
-<div class="BOOK"><a id="AEN1" name="AEN1"></a>
-<div class="TITLEPAGE">
-<h1 class="TITLE"><a id="AEN2" name="AEN2">Slackware Linux Essentials</a></h1>
-
-<p><img src="slackware_logo.png" align="CENTER" /></p>
-
-<h3 class="AUTHOR"><a id="AEN30" name="AEN30"></a>Alan Hicks</h3>
-
-<h3 class="AUTHOR"><a id="AEN43" name="AEN43"></a>Chris Lumens</h3>
-
-<h3 class="AUTHOR"><a id="AEN47" name="AEN47"></a>David Cantrell</h3>
-
-<h3 class="AUTHOR"><a id="AEN50" name="AEN50"></a>Logan Johnson</h3>
-
-<p class="COPYRIGHT">Copyright &copy; 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005
-Slackware Linux, Inc.</p>
-
-<div class="LEGALNOTICE"><a id="TRADEMARKS" name="TRADEMARKS"></a>
-<p>Slackware Linux is a registered trademark of Patrick Volkerding and Slackware Linux,
-Inc.</p>
-
-<p>Linux is a registered trademark of Linus Torvalds.</p>
-
-<p>America Online and AOL are registered trademarks of America Online, Inc. in the United
-States and/or other countries.</p>
-
-<p>Apple, FireWire, Mac, Macintosh, Mac OS, Quicktime, and TrueType are trademarks of
-Apple Computer, Inc., registered in the United States and other countries.</p>
-
-<p>IBM, AIX, EtherJet, Netfinity, OS/2, PowerPC, PS/2, S/390, and ThinkPad are trademarks
-of International Business Machines Corporation in the United States, other countries, or
-both.</p>
-
-<p>IEEE, POSIX, and 802 are registered trademarks of Institute of Electrical and
-Electronics Engineers, Inc. in the United States.</p>
-
-<p>Intel, Celeron, EtherExpress, i386, i486, Itanium, Pentium, and Xeon are trademarks or
-registered trademarks of Intel Corporation or its subsidiaries in the United States and
-other countries.</p>
-
-<p>Microsoft, IntelliMouse, MS-DOS, Outlook, Windows, Windows Media and Windows NT are
-either registered trademarks or trademarks of Microsoft Corporation in the United States
-and/or other countries.</p>
-
-<p>Netscape and the Netscape Navigator are registered trademarks of Netscape
-Communications Corporation in the U.S. and other countries.</p>
-
-<p>Red Hat, RPM, are trademarks or registered trademarks of Red Hat, Inc. in the United
-States and other countries.</p>
-
-<p>XFree86 is a trademark of The XFree86 Project, Inc.</p>
-
-<p>Many of the designations used by manufacturers and sellers to distinguish their
-products are claimed as trademarks. Where those designations appear in this document, and
-Slackware Linux, Inc. was aware of the trademark claim, the designations have been
-followed by the &#8220;&trade;&#8221; or the &#8220;&reg;&#8221; symbol.</p>
-</div>
-
-<span class="ISBN">1-57176-338-4<br />
-</span>
-<div class="DOCFORAMTNAVI">[ <a href="./index.html">Split HTML</a> / <a
-href="./book.html">Single HTML</a> ]</div>
-
-<hr />
-</div>
-
-<div class="TOC">
-<dl>
-<dt><b>Table of Contents</b></dt>
-
-<dt><a href="#BOOK-PREFACE">Preface</a></dt>
-
-<dt>1 <a href="#INTRODUCTION">An Introduction to Slackware Linux</a></dt>
-
-<dd>
-<dl>
-<dt>1.1 <a href="#INTRODUCTION-LINUX">What is Linux?</a></dt>
-
-<dd>
-<dl>
-<dt>1.1.1 <a href="#INTRODUCTION-LINUX-GNU">A Word on GNU</a></dt>
-</dl>
-</dd>
-
-<dt>1.2 <a href="#INTRODUCTION-SLACKWARE">What is Slackware?</a></dt>
-
-<dt>1.3 <a href="#INTRODUCTION-OPENSOURCE">Open Source and Free Software</a></dt>
-</dl>
-</dd>
-
-<dt>2 <a href="#HELP">Help</a></dt>
-
-<dd>
-<dl>
-<dt>2.1 <a href="#HELP-SYSTEM">System Help</a></dt>
-
-<dd>
-<dl>
-<dt>2.1.1 <a href="#HELP-SYSTEM-MAN"><tt class="COMMAND">man</tt></a></dt>
-
-<dt>2.1.2 <a href="#HELP-SYSTEM-DOC">The <tt class="FILENAME">/usr/doc</tt>
-Directory</a></dt>
-
-<dt>2.1.3 <a href="#HELP-SYSTEM-HOWTO">HOWTOs and mini-HOWTOs</a></dt>
-</dl>
-</dd>
-
-<dt>2.2 <a href="#HELP-ONLINE">Online Help</a></dt>
-
-<dd>
-<dl>
-<dt>2.2.1 <a href="#HELP-ONLINE-OFFICIAL">The Official Website and Help Forums</a></dt>
-
-<dt>2.2.2 <a href="#HELP-ONLINE-EMAIL">E-mail Support</a></dt>
-
-<dt>2.2.3 <a href="#HELP-ONLINE-NONOFFICIAL">Non-Official Websites and Help
-Forums</a></dt>
-</dl>
-</dd>
-</dl>
-</dd>
-
-<dt>3 <a href="#INSTALLATION">Installation</a></dt>
-
-<dd>
-<dl>
-<dt>3.1 <a href="#INSTALLATION-GETTING">Getting Slackware</a></dt>
-
-<dd>
-<dl>
-<dt>3.1.1 <a href="#AEN641">The Official Disc and Box Sets</a></dt>
-
-<dt>3.1.2 <a href="#AEN683">Via the Internet</a></dt>
-</dl>
-</dd>
-
-<dt>3.2 <a href="#INSTALLATION-REQUIREMENTS">System Requirements</a></dt>
-
-<dd>
-<dl>
-<dt>3.2.1 <a href="#INSTALLATION-SOFTWARE-SERIES">The Software Series</a></dt>
-
-<dt>3.2.2 <a href="#INSTALLATION-METHODS">Installation Methods</a></dt>
-
-<dt>3.2.3 <a href="#INSTALLATION-INSTALLATION-METHODS-BOOTDISK">Boot Disk</a></dt>
-
-<dt>3.2.4 <a href="#INSTALLATION-INSTALLATION-METHODS-ROOTDISK">Root Disk</a></dt>
-
-<dt>3.2.5 <a href="#INSTALLATION-SUPPLEMENTAL-DISK">Supplemental Disk</a></dt>
-
-<dt>3.2.6 <a href="#INSTALLATION-MAKING-THE-DISKS">Making the Disks</a></dt>
-</dl>
-</dd>
-
-<dt>3.3 <a href="#INSTALLATION-PARTITIONING">Partitioning</a></dt>
-
-<dt>3.4 <a href="#INSTALLATION-SETUP">The <tt class="COMMAND">setup</tt> Program</a></dt>
-
-<dd>
-<dl>
-<dt>3.4.1 <a href="#AEN993">HELP</a></dt>
-
-<dt>3.4.2 <a href="#AEN1001">KEYMAP</a></dt>
-
-<dt>3.4.3 <a href="#AEN1013">ADDSWAP</a></dt>
-
-<dt>3.4.4 <a href="#AEN1023">TARGET</a></dt>
-
-<dt>3.4.5 <a href="#AEN1035">SOURCE</a></dt>
-
-<dt>3.4.6 <a href="#AEN1054">SELECT</a></dt>
-
-<dt>3.4.7 <a href="#AEN1062">INSTALL</a></dt>
-
-<dt>3.4.8 <a href="#AEN1100">CONFIGURE</a></dt>
-</dl>
-</dd>
-</dl>
-</dd>
-
-<dt>4 <a href="#SYSTEM-CONFIGURATION">System Configuration</a></dt>
-
-<dd>
-<dl>
-<dt>4.1 <a href="#SYSTEM-CONFIGURATION-OVERVIEW">System Overview</a></dt>
-
-<dd>
-<dl>
-<dt>4.1.1 <a href="#SYSTEM-CONFIGURATION-LAYOUT">File System Layout</a></dt>
-
-<dt>4.1.2 <a href="#SYSTEM-CONFIGURATION-FINDING">Finding Files</a></dt>
-
-<dt>4.1.3 <a href="#SYSTEM-CONFIGURATION-RCD">The <tt class="FILENAME">/etc/rc.d</tt>
-Directory</a></dt>
-</dl>
-</dd>
-
-<dt>4.2 <a href="#SYSTEM-CONFIGURATION-KERNEL">Selecting a Kernel</a></dt>
-
-<dd>
-<dl>
-<dt>4.2.1 <a href="#AEN1581">The <tt class="FILENAME">/kernels</tt> Directory on the
-Slackware CD-ROM</a></dt>
-
-<dt>4.2.2 <a href="#SYSTEM-CONFIGURATION-KERNEL-COMPILE">Compiling a Kernel from
-Source</a></dt>
-
-<dt>4.2.3 <a href="#SYSTEM-CONFIGURATION-KERNEL-MODULES">Using Kernel Modules</a></dt>
-</dl>
-</dd>
-</dl>
-</dd>
-
-<dt>5 <a href="#NETWORK-CONFIGURATION">Network Configuration</a></dt>
-
-<dd>
-<dl>
-<dt>5.1 <a href="#NETWORK-CONFIGURATION-NETCONFIG">Introduction: netconfig is your
-friend.</a></dt>
-
-<dt>5.2 <a href="#NETWORK-CONFIGURATION-HARDWARE">Network Hardware Configuration</a></dt>
-
-<dd>
-<dl>
-<dt>5.2.1 <a href="#NETWORK-CONFIGURATION-HARDWARE-MODULES">Loading Network
-Modules</a></dt>
-
-<dt>5.2.2 <a href="#NETWORK-CONFIGURATION-HARDWARE-LAN">LAN (10/100/1000Base-T and
-Base-2) cards</a></dt>
-
-<dt>5.2.3 <a href="#NETWORK-CONFIGURATION-HARDWARE-MODEMS">Modems</a></dt>
-
-<dt>5.2.4 <a href="#NETWORK-CONFIGURATION-HARDWARE-PCMCIA">PCMCIA</a></dt>
-</dl>
-</dd>
-
-<dt>5.3 <a href="#NETWORK-CONFIGURATION-TCPIP">TCP/IP Configuration</a></dt>
-
-<dd>
-<dl>
-<dt>5.3.1 <a href="#NETWORK-CONFIGURATION-TCPIP-DHCP">DHCP</a></dt>
-
-<dt>5.3.2 <a href="#NETWORK-CONFIGURATION-TCPIP-STATIC">Static IP</a></dt>
-
-<dt>5.3.3 <a href="#NETWORK-CONFIGURATION-TCPIP-CONF"><tt
-class="FILENAME">/etc/rc.d/rc.inet1.conf</tt></a></dt>
-
-<dt>5.3.4 <a href="#NETWORK-CONFIGURATION-TCPIP-RESOLVER"><tt
-class="FILENAME">/etc/resolv.conf</tt></a></dt>
-
-<dt>5.3.5 <a href="#NETWORK-CONFIGURATION-TCPIP-HOSTS"><tt
-class="FILENAME">/etc/hosts</tt></a></dt>
-</dl>
-</dd>
-
-<dt>5.4 <a href="#NETWORK-CONFIGURATION-PPP">PPP</a></dt>
-
-<dd>
-<dl>
-<dt>5.4.1 <a href="#AEN1954"><tt class="COMMAND">pppsetup</tt></a></dt>
-
-<dt>5.4.2 <a href="#AEN1969"><tt class="FILENAME">/etc/ppp</tt></a></dt>
-</dl>
-</dd>
-
-<dt>5.5 <a href="#NETWORK-CONFIGURATION-WIRELESS">Wireless</a></dt>
-
-<dd>
-<dl>
-<dt>5.5.1 <a href="#AEN2033">Hardware Support</a></dt>
-
-<dt>5.5.2 <a href="#AEN2044">Configure the Wireless Settings</a></dt>
-
-<dt>5.5.3 <a href="#AEN2101">Configure the Network</a></dt>
-</dl>
-</dd>
-
-<dt>5.6 <a href="#NETWORK-CONFIGURATION-NFS">Network File Systems</a></dt>
-
-<dd>
-<dl>
-<dt>5.6.1 <a href="#NETWORK-CONFIGURATION-NSF-SMB">SMB/Samba/CIFS</a></dt>
-
-<dt>5.6.2 <a href="#NETWORK-CONFIGURATION-NFS-NFS">Network File System (NFS)</a></dt>
-</dl>
-</dd>
-</dl>
-</dd>
-
-<dt>6 <a href="#X-WINDOW-SYSTEM">X Configuration</a></dt>
-
-<dd>
-<dl>
-<dt>6.1 <a href="#X-WINDOW-SYSTEM-XORGCONFIG"><tt
-class="COMMAND">xorgconfig</tt></a></dt>
-
-<dt>6.2 <a href="#X-WINDOW-SYSTEM-XORGSETUP"><tt class="COMMAND">xorgsetup</tt></a></dt>
-
-<dt>6.3 <a href="#X-WINDOW-SYSTEM-XINITRC">xinitrc</a></dt>
-
-<dt>6.4 <a href="#X-WINDOW-SYSTEM-XWMCONFIG"><tt class="COMMAND">xwmconfig</tt></a></dt>
-
-<dt>6.5 <a href="#X-WINDOW-SYSTEM-XDM"><tt class="COMMAND">xdm</tt></a></dt>
-</dl>
-</dd>
-
-<dt>7 <a href="#BOOTING">Booting</a></dt>
-
-<dd>
-<dl>
-<dt>7.1 <a href="#BOOTING-LILO">LILO</a></dt>
-
-<dt>7.2 <a href="#BOOTING-LOADLIN">LOADLIN</a></dt>
-
-<dt>7.3 <a href="#BOOTING-DUAL">Dual Booting</a></dt>
-
-<dd>
-<dl>
-<dt>7.3.1 <a href="#BOOTING-DUAL-WINDOWS">Windows</a></dt>
-
-<dt>7.3.2 <a href="#BOOTING-DUAL-LINUX">Linux</a></dt>
-</dl>
-</dd>
-</dl>
-</dd>
-
-<dt>8 <a href="#SHELL">The Shell</a></dt>
-
-<dd>
-<dl>
-<dt>8.1 <a href="#SHELL-USERS">Users</a></dt>
-
-<dd>
-<dl>
-<dt>8.1.1 <a href="#AEN2678">Logging In</a></dt>
-
-<dt>8.1.2 <a href="#AEN2693">Root: The Superuser</a></dt>
-</dl>
-</dd>
-
-<dt>8.2 <a href="#SHELL-COMMAND-LINE">The Command Line</a></dt>
-
-<dd>
-<dl>
-<dt>8.2.1 <a href="#SHELL-COMMAND-LINE-RUNNING">Running Programs</a></dt>
-
-<dt>8.2.2 <a href="#SHELL-COMMAND-LINE-WILDCARD">Wildcard Matching</a></dt>
-
-<dt>8.2.3 <a href="#SHELL-COMMAND-LINE-PIPING">Input/Output Redirection and
-Piping</a></dt>
-</dl>
-</dd>
-
-<dt>8.3 <a href="#SHELL-BASH">The Bourne Again Shell (bash)</a></dt>
-
-<dd>
-<dl>
-<dt>8.3.1 <a href="#SHELL-BASH-ENVIRONMENT">Environment Variables</a></dt>
-
-<dt>8.3.2 <a href="#SHELL-BASH-TAB">Tab Completion</a></dt>
-</dl>
-</dd>
-
-<dt>8.4 <a href="#SHELL-VT">Virtual Terminals</a></dt>
-
-<dd>
-<dl>
-<dt>8.4.1 <a href="#AEN3024">Screen</a></dt>
-</dl>
-</dd>
-</dl>
-</dd>
-
-<dt>9 <a href="#FILESYSTEM-STRUCTURE">Filesystem Structure</a></dt>
-
-<dd>
-<dl>
-<dt>9.1 <a href="#FILESYSTEM-STRUCTURE-OWNERSHIP">Ownership</a></dt>
-
-<dt>9.2 <a href="#FILESYSTEM-STRUCTURE-PERMISSIONS">Permissions</a></dt>
-
-<dt>9.3 <a href="#FILESYSTEM-STRUCTURE-LINKS">Links</a></dt>
-
-<dt>9.4 <a href="#FILESYSTEM-STRUCTURE-MOUNTING">Mounting Devices</a></dt>
-
-<dd>
-<dl>
-<dt>9.4.1 <a href="#AEN3319"><tt class="FILENAME">fstab</tt></a></dt>
-
-<dt>9.4.2 <a href="#AEN3340"><tt class="COMMAND">mount</tt> and <tt
-class="COMMAND">umount</tt></a></dt>
-</dl>
-</dd>
-
-<dt>9.5 <a href="#FILESYSTEM-STRUCTURE-NFS">NFS Mounts</a></dt>
-</dl>
-</dd>
-
-<dt>10 <a href="#FILE-COMMANDS">Handling Files and Directories</a></dt>
-
-<dd>
-<dl>
-<dt>10.1 <a href="#FILE-COMMANDS-NAVIGATION">Navigation : <tt class="COMMAND">ls</tt>,
-<tt class="COMMAND">cd</tt>, and <tt class="COMMAND">pwd</tt></a></dt>
-
-<dd>
-<dl>
-<dt>10.1.1 <a href="#AEN3398"><tt class="COMMAND">ls</tt></a></dt>
-
-<dt>10.1.2 <a href="#AEN3436"><tt class="COMMAND">cd</tt></a></dt>
-
-<dt>10.1.3 <a href="#AEN3463"><tt class="COMMAND">pwd</tt></a></dt>
-</dl>
-</dd>
-
-<dt>10.2 <a href="#FILE-COMMANDS-PAGERS">Pagers: <tt class="COMMAND">more</tt>, <tt
-class="COMMAND">less</tt>, and <tt class="COMMAND">most</tt></a></dt>
-
-<dd>
-<dl>
-<dt>10.2.1 <a href="#AEN3491"><tt class="COMMAND">more</tt></a></dt>
-
-<dt>10.2.2 <a href="#AEN3518"><tt class="COMMAND">less</tt></a></dt>
-
-<dt>10.2.3 <a href="#AEN3539"><tt class="COMMAND">most</tt></a></dt>
-</dl>
-</dd>
-
-<dt>10.3 <a href="#FILE-COMMANDS-OUTPUT">Simple Output: <tt class="COMMAND">cat</tt> and
-<tt class="COMMAND">echo</tt></a></dt>
-
-<dd>
-<dl>
-<dt>10.3.1 <a href="#AEN3559"><tt class="COMMAND">cat</tt></a></dt>
-
-<dt>10.3.2 <a href="#AEN3603"><tt class="COMMAND">echo</tt></a></dt>
-</dl>
-</dd>
-
-<dt>10.4 <a href="#FILE-COMMANDS-CREATION">Creation: <tt class="COMMAND">touch</tt> and
-<tt class="COMMAND">mkdir</tt></a></dt>
-
-<dd>
-<dl>
-<dt>10.4.1 <a href="#AEN3619"><tt class="COMMAND">touch</tt></a></dt>
-
-<dt>10.4.2 <a href="#AEN3639"><tt class="COMMAND">mkdir</tt></a></dt>
-</dl>
-</dd>
-
-<dt>10.5 <a href="#FILE-COMMANDS-COPYMOVE">Copy and Move</a></dt>
-
-<dd>
-<dl>
-<dt>10.5.1 <a href="#FILE-COMMANDS-COPYMOVE-CP"><tt class="COMMAND">cp</tt></a></dt>
-
-<dt>10.5.2 <a href="#AEN3712"><tt class="COMMAND">mv</tt></a></dt>
-</dl>
-</dd>
-
-<dt>10.6 <a href="#FILE-COMMANDS-DELETION">Deletion: <tt class="COMMAND">rm</tt> and <tt
-class="COMMAND">rmdir</tt></a></dt>
-
-<dd>
-<dl>
-<dt>10.6.1 <a href="#AEN3733"><tt class="COMMAND">rm</tt></a></dt>
-
-<dt>10.6.2 <a href="#AEN3764"><tt class="COMMAND">rmdir</tt></a></dt>
-</dl>
-</dd>
-
-<dt>10.7 <a href="#FILE-COMMANDS-LINK">Aliasing files with <tt
-class="COMMAND">ln</tt></a></dt>
-</dl>
-</dd>
-
-<dt>11 <a href="#PROCESS-CONTROL">Process Control</a></dt>
-
-<dd>
-<dl>
-<dt>11.1 <a href="#PROCESS-CONTROL-BACKGROUNDING">Backgrounding</a></dt>
-
-<dt>11.2 <a href="#PROCESS-CONTROL-FOREGROUNDING">Foregrounding</a></dt>
-
-<dt>11.3 <a href="#PROCESS-CONTROL-PS"><tt class="COMMAND">ps</tt></a></dt>
-
-<dt>11.4 <a href="#PROCESS-CONTROL-KILL"><tt class="COMMAND">kill</tt></a></dt>
-
-<dt>11.5 <a href="#PROCESS-CONTROL-TOP"><tt class="COMMAND">top</tt></a></dt>
-</dl>
-</dd>
-
-<dt>12 <a href="#ESSENTIAL-SYSADMIN">Essential System Administration</a></dt>
-
-<dd>
-<dl>
-<dt>12.1 <a href="#ESSENTIAL-SYSADMIN-USERS">Users and Groups</a></dt>
-
-<dd>
-<dl>
-<dt>12.1.1 <a href="#ESSENTIAL-SYSADMIN-USERS-SCRIPTS">Supplied Scripts</a></dt>
-
-<dt>12.1.2 <a href="#ESSENTIAL-SYSADMIN-USERS-PASSWDS">Changing Passwords</a></dt>
-
-<dt>12.1.3 <a href="#ESSENTIAL-SYSADMIN-USERS-CHANGING">Changing User
-Information</a></dt>
-</dl>
-</dd>
-
-<dt>12.2 <a href="#ESSENTIAL-SYSADMIN-HARDUSERS">Users and Groups, the Hard Way</a></dt>
-
-<dt>12.3 <a href="#ESSENTIAL-SYSADMIN-SHUTDOWN">Shutting Down Properly</a></dt>
-</dl>
-</dd>
-
-<dt>13 <a href="#BASIC-NETWORK-COMMANDS">Basic Network Commands</a></dt>
-
-<dd>
-<dl>
-<dt>13.1 <a href="#BASIC-NETWORK-COMMANDS-PING"><tt class="COMMAND">ping</tt></a></dt>
-
-<dt>13.2 <a href="#BASIC-NETWORK-COMMANDS-TRACEROUTE"><tt
-class="COMMAND">traceroute</tt></a></dt>
-
-<dt>13.3 <a href="#BASIC-NETWORK-COMMANDS-DNS">DNS Tools</a></dt>
-
-<dd>
-<dl>
-<dt>13.3.1 <a href="#AEN4475"><tt class="COMMAND">host</tt></a></dt>
-
-<dt>13.3.2 <a href="#AEN4487"><tt class="COMMAND">nslookup</tt></a></dt>
-
-<dt>13.3.3 <a href="#AEN4496"><tt class="COMMAND">dig</tt></a></dt>
-</dl>
-</dd>
-
-<dt>13.4 <a href="#BASIC-NETWORK-COMMANDS-FINGER"><tt
-class="COMMAND">finger</tt></a></dt>
-
-<dt>13.5 <a href="#BASIC-NETWORK-COMMANDS-TELNET"><tt
-class="COMMAND">telnet</tt></a></dt>
-
-<dd>
-<dl>
-<dt>13.5.1 <a href="#AEN4593">The other use of telnet</a></dt>
-</dl>
-</dd>
-
-<dt>13.6 <a href="#BASIC-NETWORK-COMMANDS-SSH">The Secure shell</a></dt>
-
-<dt>13.7 <a href="#BASIC-NETWORK-COMMANDS-EMAIL">email</a></dt>
-
-<dd>
-<dl>
-<dt>13.7.1 <a href="#BASIC-NETWORK-COMMANDS-EMAIL-PINE"><tt
-class="COMMAND">pine</tt></a></dt>
-
-<dt>13.7.2 <a href="#BASIC-NETWORK-COMMANDS-EMAIL-ELM"><tt
-class="COMMAND">elm</tt></a></dt>
-
-<dt>13.7.3 <a href="#BASIC-NETWORK-COMMANDS-EMAIL-MUTT"><tt
-class="COMMAND">mutt</tt></a></dt>
-
-<dt>13.7.4 <a href="#BASIC-NETWORK-COMMANDS-EMAIL-NAIL"><tt
-class="COMMAND">nail</tt></a></dt>
-</dl>
-</dd>
-
-<dt>13.8 <a href="#BASIC-NETWORK-COMMANDS-WEB">Browsers</a></dt>
-
-<dd>
-<dl>
-<dt>13.8.1 <a href="#AEN4776"><tt class="COMMAND">lynx</tt></a></dt>
-
-<dt>13.8.2 <a href="#AEN4813"><tt class="COMMAND">links</tt></a></dt>
-
-<dt>13.8.3 <a href="#AEN4831"><tt class="COMMAND">wget</tt></a></dt>
-</dl>
-</dd>
-
-<dt>13.9 <a href="#BASIC-NETWORK-COMMANDS-FTP">FTP Clients</a></dt>
-
-<dd>
-<dl>
-<dt>13.9.1 <a href="#AEN4871"><tt class="COMMAND">ftp</tt></a></dt>
-
-<dt>13.9.2 <a href="#BASIC-NETWORK-COMMANDS-FTP-NCFTP"><tt
-class="COMMAND">ncftp</tt></a></dt>
-</dl>
-</dd>
-
-<dt>13.10 <a href="#BASIC-NETWORK-COMMANDS-TALK">Talking to Other People</a></dt>
-
-<dd>
-<dl>
-<dt>13.10.1 <a href="#AEN4989"><tt class="COMMAND">wall</tt></a></dt>
-
-<dt>13.10.2 <a href="#AEN5006"><tt class="COMMAND">talk</tt></a></dt>
-
-<dt>13.10.3 <a href="#AEN5033"><tt class="COMMAND">ytalk</tt></a></dt>
-</dl>
-</dd>
-</dl>
-</dd>
-
-<dt>14 <a href="#SECURITY">Security</a></dt>
-
-<dd>
-<dl>
-<dt>14.1 <a href="#SECURITY-DISABLE">Disabling Services</a></dt>
-
-<dd>
-<dl>
-<dt>14.1.1 <a href="#AEN5081">Services started from <tt
-class="COMMAND">inetd</tt></a></dt>
-
-<dt>14.1.2 <a href="#AEN5102">Services started from init scripts</a></dt>
-</dl>
-</dd>
-
-<dt>14.2 <a href="#SECURITY-HOST">Host Access Control</a></dt>
-
-<dd>
-<dl>
-<dt>14.2.1 <a href="#SECURITY-HOST-IPTABLES"><tt class="COMMAND">iptables</tt></a></dt>
-
-<dt>14.2.2 <a href="#SECURITY-HOST-TCPWRAPPERS"><tt
-class="COMMAND">tcpwrappers</tt></a></dt>
-</dl>
-</dd>
-
-<dt>14.3 <a href="#SECURITY-CURRENT">Keeping Current</a></dt>
-
-<dd>
-<dl>
-<dt>14.3.1 <a href="#SECURITY-CURRENT-LIST"><var class="LITERAL">slackware-security</var>
-mailing list</a></dt>
-
-<dt>14.3.2 <a href="#SECURITY-CURRENT-PATCHES">The <tt class="FILENAME">/patches</tt>
-directory</a></dt>
-</dl>
-</dd>
-</dl>
-</dd>
-
-<dt>15 <a href="#ARCHIVE-FILES">Archive Files</a></dt>
-
-<dd>
-<dl>
-<dt>15.1 <a href="#ARCHIVE-FILES-GZIP"><tt class="COMMAND">gzip</tt></a></dt>
-
-<dt>15.2 <a href="#ARCHIVE-FILES-BZIP2"><tt class="COMMAND">bzip2</tt></a></dt>
-
-<dt>15.3 <a href="#ARCHIVE-FILES-TAR"><tt class="COMMAND">tar</tt></a></dt>
-
-<dt>15.4 <a href="#ARCHIVE-FILES-ZIP"><tt class="COMMAND">zip</tt></a></dt>
-</dl>
-</dd>
-
-<dt>16 <a href="#VI">Vi</a></dt>
-
-<dd>
-<dl>
-<dt>16.1 <a href="#VI-STARTING">Starting vi</a></dt>
-
-<dt>16.2 <a href="#VI-MODES">Modes</a></dt>
-
-<dd>
-<dl>
-<dt>16.2.1 <a href="#VI-MODES-COMMAND-MODE">Command Mode</a></dt>
-
-<dt>16.2.2 <a href="#VI-MODES-INSET-MODE">Insert Mode</a></dt>
-</dl>
-</dd>
-
-<dt>16.3 <a href="#VI-OPENING-FILES">Opening Files</a></dt>
-
-<dt>16.4 <a href="#VI-SAVING-FILES">Saving Files</a></dt>
-
-<dt>16.5 <a href="#VI-QUITTING-VI">Quitting vi</a></dt>
-
-<dt>16.6 <a href="#VI-CONFIGURATION">vi Configuration</a></dt>
-
-<dt>16.7 <a href="#VI-KEYS">Vi Keys</a></dt>
-</dl>
-</dd>
-
-<dt>17 <a href="#EMACS">Emacs</a></dt>
-
-<dd>
-<dl>
-<dt>17.1 <a href="#EMACS-STARTING">Starting emacs</a></dt>
-
-<dd>
-<dl>
-<dt>17.1.1 <a href="#EMACS-COMMAND-KEYS">Command Keys</a></dt>
-</dl>
-</dd>
-
-<dt>17.2 <a href="#EMACS-BUFFERS">Buffers</a></dt>
-
-<dt>17.3 <a href="#EMACS-MODES">Modes</a></dt>
-
-<dd>
-<dl>
-<dt>17.3.1 <a href="#EMACS-OPENING-FILES">Opening files</a></dt>
-</dl>
-</dd>
-
-<dt>17.4 <a href="#EMACS-BASIC-EDITING">Basic Editing</a></dt>
-
-<dt>17.5 <a href="#EMACS-SAVING-FILES">Saving Files</a></dt>
-
-<dd>
-<dl>
-<dt>17.5.1 <a href="#EMACS-QUITING">Quitting Emacs</a></dt>
-</dl>
-</dd>
-</dl>
-</dd>
-
-<dt>18 <a href="#PACKAGE-MANAGEMENT">Slackware Package Management</a></dt>
-
-<dd>
-<dl>
-<dt>18.1 <a href="#PACKAGE-MANAGEMENT-OVERVIEW">Overview of Package Format</a></dt>
-
-<dt>18.2 <a href="#PACKAGE-MANAGEMENT-PACKAGE-UTILITIES">Package Utilities</a></dt>
-
-<dd>
-<dl>
-<dt>18.2.1 <a href="#PACKAGE-MANAGEMENT-PACKAGE-UTILITIES-PKGTOOL">pkgtool</a></dt>
-
-<dt>18.2.2 <a href="#PACKAGE-MANAGEMENT-PACKAGE-UTILITIES-INSTALLPKG">installpkg</a></dt>
-
-<dt>18.2.3 <a href="#PACKAGE-MANAGEMENT-PACKAGE-UTILITIES-REMOVEPKG">removepkg</a></dt>
-
-<dt>18.2.4 <a href="#PACKAGE-MANAGEMENT-PACKAGE-UTILITIES-UPGRADEPKG">upgradepkg</a></dt>
-
-<dt>18.2.5 <a href="#PACKAGE-MANAGEMENT-PACKAGE-UTILITIES-RPM"><tt
-class="COMMAND">rpm2tgz</tt>/<tt class="COMMAND">rpm2targz</tt></a></dt>
-</dl>
-</dd>
-
-<dt>18.3 <a href="#PACKAGE-MANAGEMENT-MAKING-PACKAGES">Making Packages</a></dt>
-
-<dd>
-<dl>
-<dt>18.3.1 <a href="#PACKAGE-MANAGEMENT-EXPLODEPKG"><tt
-class="COMMAND">explodepkg</tt></a></dt>
-
-<dt>18.3.2 <a href="#PACKAGE-MANAGEMENT-MAKEPKG"><tt
-class="COMMAND">makepkg</tt></a></dt>
-
-<dt>18.3.3 <a href="#PACKAGE-MANAGEMENT-SLACKBUILD-SCRIPTS">SlackBuild Scripts</a></dt>
-</dl>
-</dd>
-
-<dt>18.4 <a href="#PACKAGE-MANAGEMENT-MAKING-TAGS-AND-TAGFILES">Making Tags and Tagfiles
-(for setup)</a></dt>
-</dl>
-</dd>
-
-<dt>19 <a href="#ZIPSLACK">ZipSlack</a></dt>
-
-<dd>
-<dl>
-<dt>19.1 <a href="#ZIPSLACK-WHAT">What is ZipSlack?</a></dt>
-
-<dd>
-<dl>
-<dt>19.1.1 <a href="#ZIPSLACK-ADVANTAGES">Advantages</a></dt>
-
-<dt>19.1.2 <a href="#ZIPSLACK-DISADVANTAGES">Disadvantages</a></dt>
-</dl>
-</dd>
-
-<dt>19.2 <a href="#ZIPSLACK-GETTING">Getting ZipSlack</a></dt>
-
-<dd>
-<dl>
-<dt>19.2.1 <a href="#ZIPSLACK-INSTALLATION">Installation</a></dt>
-</dl>
-</dd>
-
-<dt>19.3 <a href="#ZIPSLACK-BOOTING">Booting ZipSlack</a></dt>
-</dl>
-</dd>
-
-<dt><a href="#GLOSSARY">Glossary</a></dt>
-
-<dt>A. <a href="#GPL">The GNU General Public License</a></dt>
-
-<dd>
-<dl>
-<dt>A.1. <a href="#AEN7088">Preamble</a></dt>
-
-<dt>A.2. <a href="#AEN7098">TERMS AND CONDITIONS</a></dt>
-
-<dt>A.3. <a href="#AEN7162">How to Apply These Terms to Your New Programs</a></dt>
-</dl>
-</dd>
-</dl>
-</div>
-
-<div class="LOT">
-<dl class="LOT">
-<dt><b>List of Tables</b></dt>
-
-<dt>2-1. <a href="#AEN409">Man Page Sections</a></dt>
-
-<dt>3-1. <a href="#AEN661">Slackware Linux, Inc. Contact Information</a></dt>
-
-<dt>3-2. <a href="#AEN706">System Requirements</a></dt>
-
-<dt>3-3. <a href="#AEN746">Software Series</a></dt>
-
-<dt>9-1. <a href="#AEN3142">Octal Permission Values</a></dt>
-
-<dt>13-1. <a href="#AEN4883"><tt class="COMMAND">ftp</tt> commands</a></dt>
-
-<dt>16-1. <a href="#AEN5773">Movement</a></dt>
-
-<dt>16-2. <a href="#AEN5808">Editing</a></dt>
-
-<dt>16-3. <a href="#AEN5848">Searching</a></dt>
-
-<dt>16-4. <a href="#AEN5882">Saving and Quitting</a></dt>
-
-<dt>17-1. <a href="#TABLE-EMACS-BASIC-EDITING">Basic Emacs Editing Commands</a></dt>
-
-<dt>18-1. <a href="#AEN6446"><tt class="COMMAND">installpkg</tt> Options</a></dt>
-
-<dt>18-2. <a href="#AEN6491"><tt class="COMMAND">removepkg</tt> Options</a></dt>
-
-<dt>18-3. <a href="#AEN6621">Tagfile Status Options</a></dt>
-</dl>
-</div>
-
-<div class="LOT">
-<dl class="LOT">
-<dt><b>List of Figures</b></dt>
-
-<dt>4-1. <a href="#SYSTEM-CONFIGURATION-MAKE-MENUCONFIG">Kernel Configuration
-Menu</a></dt>
-
-<dt>6-1. <a href="#X-WINDOW-SYSTEM-1"><tt class="COMMAND">xorgconfig</tt> Mouse
-Configuration</a></dt>
-
-<dt>6-2. <a href="#X-WINDOW-SYSTEM-2"><tt class="COMMAND">xorgconfig</tt> Horizontal
-Sync</a></dt>
-
-<dt>6-3. <a href="#X-WINDOW-SYSTEM-3"><tt class="COMMAND">xorgconfig</tt> Vertical
-Sync</a></dt>
-
-<dt>6-4. <a href="#X-WINDOW-SYSTEM-4"><tt class="COMMAND">xorgconfig</tt> Video
-Card</a></dt>
-
-<dt>6-5. <a href="#FIG-X-WINDOW-SYSTEM-XWMCONFIG">Desktop Configuration with <tt
-class="COMMAND">xorgconfig</tt></a></dt>
-
-<dt>7-1. <a href="#BOOTING-SETUP-LILO"><tt class="COMMAND">liloconfig</tt></a></dt>
-
-<dt>7-2. <a href="#BOOTING-LILO-EXPERT"><tt class="COMMAND">liloconfig</tt> Expert
-Menu</a></dt>
-
-<dt>11-1. <a href="#FIG-PROCESS-CONTROL-PS-SHORT">Basic <tt class="COMMAND">ps</tt>
-output</a></dt>
-
-<dt>13-1. <a href="#FIG-BASIC-NETWORK-COMMANDS-TELNET-WEB">Telnetting to a
-webserver</a></dt>
-
-<dt>13-2. <a href="#FIG-BASIC-NETWORK-COMMANDS-EMAIL-PINE">The Pine main menu</a></dt>
-
-<dt>13-3. <a href="#FIG-BASIC-NETWORK-COMMANDS-EMAIL-ELM">Elm main screen</a></dt>
-
-<dt>13-4. <a href="#FIG-BASIC-NETWORK-COMMANDS-EMAIL-MUTT">Mutt main screen</a></dt>
-
-<dt>13-5. <a href="#FIG-BASIC-NETWORK-COMMANDS-WEB-LYNX">Lynx default start page</a></dt>
-
-<dt>13-6. <a href="#FIG-BASIC-NETWORK-COMMANDS-WEB-LINKS">Links, with the file menu
-open</a></dt>
-
-<dt>13-7. <a href="#FIG-BASIC-NETWORK-COMMANDS-TALK-TALK">Two users in a <tt
-class="COMMAND">talk</tt> session</a></dt>
-
-<dt>13-8. <a href="#FIG-BASIC-NETWORK-COMMANDS-TALK-YTALK">Two users in a <tt
-class="COMMAND">ytalk</tt> session</a></dt>
-
-<dt>16-1. <a href="#FIG-VI-VIM-SPLITEDIT">A vi session.</a></dt>
-
-<dt>18-1. <a href="#PKGTOOL-MAIN-MENU">Pkgtool's main menu.</a></dt>
-
-<dt>18-2. <a href="#PKGTOOL-VIEW-MODE">Pkgtool view mode</a></dt>
-</dl>
-</div>
-
-<div class="LOT">
-<dl class="LOT">
-<dt><b>List of Examples</b></dt>
-
-<dt>8-1. <a href="#EX-SHELL-BASH-ENVIRONMENT">Listing Environment Variables with <tt
-class="COMMAND">set</tt></a></dt>
-</dl>
-</div>
-
-<div class="PREFACE">
-<hr />
-<h1><a id="BOOK-PREFACE" name="BOOK-PREFACE"></a>Preface</h1>
-
-<h2 class="BRIDGEHEAD"><a id="PREFACE-AUDIENCE" name="PREFACE-AUDIENCE"></a>Intended
-Audience</h2>
-
-<p>The Slackware Linux operating system is a powerful platform for Intel-based computers.
-It is designed to be stable, secure, and functional as both a high-end server and
-powerful workstation.</p>
-
-<p>This book is designed to get you started with the Slackware Linux operating system.
-It's not meant to cover every single aspect of the distribution, but rather to show what
-it is capable of and give you a basic working knowledge of the system.</p>
-
-<p>As you gain experience with Slackware Linux, we hope you find this book to be a handy
-reference. We also hope you'll lend it to all of your friends when they come asking about
-that cool Slackware Linux operating system you're running.</p>
-
-<p>While this book may not an edge-of-your-seat novel, we certainly tried to make it as
-entertaining as possible. With any luck, we'll get a movie deal. Of course, we also hope
-you are able to learn from it and find it useful.</p>
-
-<p>And now, on with the show.</p>
-
-<h2 class="BRIDGEHEAD"><a id="PREFACE-CHANGES" name="PREFACE-CHANGES"></a>Changes from
-the First Edition</h2>
-
-<p>This second edition is the culmination of years of hard work by the dedicated members
-of the Slackware Documentation Project. The following are the major changes in this new
-edition:</p>
-
-<ul>
-<li>
-<p><a href="#INSTALLATION">Chapter 3</a>, Installation, has been modified with new
-screenshots of the installer, and reflects changes in disk-sets, and CD installation.</p>
-</li>
-
-<li>
-<p><a href="#SYSTEM-CONFIGURATION">Chapter 4</a>, System Configuration, has been updated
-with new information about Linux 2.6.x kernels.</p>
-</li>
-
-<li>
-<p><a href="#NETWORK-CONFIGURATION">Chapter 5</a>, Network Configuration, has been
-expanded with further explanation of Samba, NFS, and DHCP. A section on wireless
-networking has also been added. This chapter now reflects major changes in how Slackware
-handles network setup.</p>
-</li>
-
-<li>
-<p><a href="#X-WINDOW-SYSTEM">Chapter 6</a>, X Window System, has been substantially
-rewritten for Xorg based systems. This chapter now also covers the xdm graphical login
-manager.</p>
-</li>
-
-<li>
-<p><a href="#BASIC-NETWORK-COMMANDS">Chapter 13</a>, Basic Network Commands, has been
-enhanced with information about additional network utilities.</p>
-</li>
-
-<li>
-<p><a href="#SECURITY">Chapter 14</a>, Security, is a new chapter with this edition. It
-explains how to keep a Slackware Linux system secure.</p>
-</li>
-
-<li>
-<p><a href="#EMACS">Chapter 17</a>, Emacs, is a new chapter with this edition. It
-describes how to use Emacs, a powerful editor for Unix.</p>
-</li>
-
-<li>
-<p><a href="#PACKAGE-MANAGEMENT">Chapter 18</a>, Package Management, has been updated
-with information about SlackBuild scripts.</p>
-</li>
-
-<li>
-<p>There are many other changes, both minor and major, to reflect changes in Slackware as
-it has matured.</p>
-</li>
-</ul>
-
-<h2 class="BRIDGEHEAD"><a id="PREFACE-ORGANIZATION"
-name="PREFACE-ORGANIZATION"></a>Organization of this Book</h2>
-
-<div class="VARIABLELIST">
-<dl>
-<dt><a href="#INTRODUCTION">Chapter 1</a>, Introduction</dt>
-
-<dd>
-<p>Provides introductory material on Linux, Slackware, and the Open Source and Free
-Software Movements.</p>
-</dd>
-
-<dt><a href="#HELP">Chapter 2</a>, Help</dt>
-
-<dd>
-<p>Describes the help resources available on a Slackware Linux system and online.</p>
-</dd>
-
-<dt><a href="#INSTALLATION">Chapter 3</a>, Installation</dt>
-
-<dd>
-<p>Describes the installation process step-by-step with screenshots to provide an
-illustrative walk-through.</p>
-</dd>
-
-<dt><a href="#SYSTEM-CONFIGURATION">Chapter 4</a>, System Configuration</dt>
-
-<dd>
-<p>Describes the important configuration files and covers kernel recompilation.</p>
-</dd>
-
-<dt><a href="#NETWORK-CONFIGURATION">Chapter 5</a>, Network Configuration</dt>
-
-<dd>
-<p>Describes how to connect a Slackware Linux machine to a network. Covers TCP/IP,
-PPP/dial-up, wireless networking, and more.</p>
-</dd>
-
-<dt><a href="#X-WINDOW-SYSTEM">Chapter 6</a>, The X Window System</dt>
-
-<dd>
-<p>Describes how to setup and use the graphical X Window System in Slackware.</p>
-</dd>
-
-<dt><a href="#BOOTING">Chapter 7</a>, Booting</dt>
-
-<dd>
-<p>Describes the process by which a computer boots into Slackware Linux. Also covers
-dual-booting with Microsoft Windows operating systems.</p>
-</dd>
-
-<dt><a href="#SHELL">Chapter 8</a>, The Shell</dt>
-
-<dd>
-<p>Describes the powerful command line interface for Linux.</p>
-</dd>
-
-<dt><a href="#FILESYSTEM-STRUCTURE">Chapter 9</a>, Filesystem Structure</dt>
-
-<dd>
-<p>Describes the filesystem structure, including file ownership, permission, and
-linking.</p>
-</dd>
-
-<dt><a href="#FILE-COMMANDS">Chapter 10</a>, Handling Files and Directories</dt>
-
-<dd>
-<p>Describes the commands used to manipulate files and directories from the command line
-interface.</p>
-</dd>
-
-<dt><a href="#PROCESS-CONTROL">Chapter 11</a>, Process Control</dt>
-
-<dd>
-<p>Describes the powerful Linux process management commands used to manage multiple
-running applications.</p>
-</dd>
-
-<dt><a href="#ESSENTIAL-SYSADMIN">Chapter 12</a>, Essential System Administration</dt>
-
-<dd>
-<p>Describes basic system administration tasks such as adding and removing users,
-shutting down the system properly, and more.</p>
-</dd>
-
-<dt><a href="#BASIC-NETWORK-COMMANDS">Chapter 13</a>, Basic Network Commands</dt>
-
-<dd>
-<p>Describes the collection of network clients included with Slackware.</p>
-</dd>
-
-<dt><a href="#SECURITY">Chapter 14</a>, Security</dt>
-
-<dd>
-<p>Describes many different tools available to help keep your Slackware system secure,
-including <tt class="COMMAND">iptables</tt> and <tt class="COMMAND">tcpwrappers</tt>.</p>
-</dd>
-
-<dt><a href="#ARCHIVE-FILES">Chapter 15</a>, Archive Files</dt>
-
-<dd>
-<p>Describes the different compression and archive utilities available for Linux.</p>
-</dd>
-
-<dt><a href="#VI">Chapter 16</a>, vi</dt>
-
-<dd>
-<p>Describes the powerful <tt class="COMMAND">vi</tt> text editor.</p>
-</dd>
-
-<dt><a href="#EMACS">Chapter 17</a>, Emacs</dt>
-
-<dd>
-<p>Describes the powerful <tt class="COMMAND">Emacs</tt> text editor.</p>
-</dd>
-
-<dt><a href="#PACKAGE-MANAGEMENT">Chapter 18</a>, Slackware Package Management</dt>
-
-<dd>
-<p>Describes the Slackware package utilities and the process used to create custom
-packages and tagfiles.</p>
-</dd>
-
-<dt><a href="#ZIPSLACK">Chapter 19</a>, ZipSlack</dt>
-
-<dd>
-<p>Describes the ZipSlack version of Linux that can be used from Windows without
-requiring an installation.</p>
-</dd>
-
-<dt><a href="#GPL">Appendix A</a>, The GNU General Public License</dt>
-
-<dd>
-<p>Describes the license terms under which Slackware Linux and this book can be copied
-and distributed.</p>
-</dd>
-</dl>
-</div>
-
-<h2 class="BRIDGEHEAD"><a id="PREFACE-CONV" name="PREFACE-CONV"></a>Conventions used in
-this book</h2>
-
-<p>To provide a consistent and easy to read text, several conventions are followed
-throughout the book.</p>
-
-<h3 class="BRIDGEHEAD"><a id="PREFACE-CONV-TYPOGRAPHIC"
-name="PREFACE-CONV-TYPOGRAPHIC"></a>Typographic Conventions</h3>
-
-<div class="VARIABLELIST">
-<dl>
-<dt><span class="emphasis"><i class="EMPHASIS">Italic</i></span></dt>
-
-<dd>
-<p>An <span class="emphasis"><i class="EMPHASIS">italic</i></span> font is used for
-commands, emphasized text, and the first usage of technical terms.</p>
-</dd>
-
-<dt><var class="VARNAME">Monospace</var></dt>
-
-<dd>
-<p>A <var class="VARNAME">monospaced</var> font is used for error messages, commands,
-environment variables, names of ports, hostnames, user names, group names, device names,
-variables, and code fragments.</p>
-</dd>
-
-<dt><b class="APPLICATION">Bold</b></dt>
-
-<dd>
-<p>A <b class="APPLICATION">bold</b> font is used for user input in examples.</p>
-</dd>
-</dl>
-</div>
-
-<h3 class="BRIDGEHEAD"><a id="PREFACE-CONV-COMMANDS"
-name="PREFACE-CONV-COMMANDS"></a>User Input</h3>
-
-<p>Keys are shown in <b class="KEYCAP">bold</b> to stand out from other text. Key
-combinations that are meant to be typed simultaneously are shown with `<var
-class="LITERAL">+</var>' between the keys, such as:</p>
-
-<p><b class="KEYCAP">Ctrl</b>+<b class="KEYCAP">Alt</b>+<b class="KEYCAP">Del</b></p>
-
-<p>Meaning the user should type the <b class="KEYCAP">Ctrl</b>, <b
-class="KEYCAP">Alt</b>, and <b class="KEYCAP">Del</b> keys at the same time.</p>
-
-<p>Keys that are meant to be typed in sequence will be separated with commas, for
-example:</p>
-
-<p><b class="KEYCAP">Ctrl</b>+<b class="KEYCAP">X</b>, <b class="KEYCAP">Ctrl</b>+<b
-class="KEYCAP">S</b></p>
-
-<p>Would mean that the user is expected to type the <b class="KEYCAP">Ctrl</b> and <b
-class="KEYCAP">X</b> keys simultaneously and then to type the <b class="KEYCAP">Ctrl</b>
-and <b class="KEYCAP">S</b> keys simultaneously.</p>
-
-<h3 class="BRIDGEHEAD"><a id="PREFACE-CONV-EXAMPLES"
-name="PREFACE-CONV-EXAMPLES"></a>Examples</h3>
-
-<p>Examples starting with <tt class="DEVICENAME">E:\&gt;</tt> indicate a <span
-class="TRADEMARK">MS-DOS</span>&reg; command. Unless otherwise noted, these commands may
-be executed from a &#8220;Command Prompt&#8221; window in a modern <span
-class="TRADEMARK">Microsoft</span>&reg;&nbsp;<span class="TRADEMARK">Windows</span>&reg;
-environment.</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">D:\&gt;</samp> <kbd class="USERINPUT">rawrite a: bare.i</kbd>
-</pre>
-</td>
-</tr>
-</table>
-
-<p>Examples starting with <samp class="PROMPT">#</samp> indicate a command that must be
-invoked as the superuser in Slackware. You can login as <tt class="USERNAME">root</tt> to
-type the command, or login as your normal account and use <span
-class="CITEREFENTRY"><span class="REFENTRYTITLE">su</span>(1)</span> to gain superuser
-privileges.</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">#</samp> <kbd class="USERINPUT">dd if=bare.i of=/dev/fd0</kbd>
-</pre>
-</td>
-</tr>
-</table>
-
-<p>Examples starting with <samp class="PROMPT">%</samp> indicate a command that should be
-invoked from a normal user account. Unless otherwise noted, C-shell syntax is used for
-setting environment variables and other shell commands.</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">%</samp> <kbd class="USERINPUT">top</kbd>
-</pre>
-</td>
-</tr>
-</table>
-
-<h2 class="BRIDGEHEAD"><a id="PREFACE-ACKNOWLEDGEMENTS"
-name="PREFACE-ACKNOWLEDGEMENTS"></a>Acknowledgments</h2>
-
-<p>This project is the accumulation of months of work by many dedicated individuals. It
-would not have been possible for me to produce this work in a vacuum. Many people deserve
-our thanks for their selfless acts: Keith Keller for his work on wireless networking,
-Joost Kremers for his great work in single-handedly writing the emacs section, Simon
-Williams for the security chapter, Jurgen Phillippaerts for basic networking commands,
-Cibao Cu Ali G Colibri for the inspiration and a good kick in the pants. Countless others
-have sent in suggestions and fixes. An incomplete list includes: Jacob Anhoej, John Yast,
-Sally Welch, Morgan Landry, and Charlie Law. I'd also like to thank Keith Keller for
-hosting the mailing list for this project, as well as Carl Inglis for the initial web
-hosting. Last but not least, I'd like to thank Patrick J. Volkerding for Slackware Linux,
-and David Cantrell, Logan Johnson, and Chris Lumens for Slackware Linux Essentials 1st
-Edition. Without their initial framework, none of this would have ever happened. Many
-others have contributed in small and large ways to this project and have not been listed.
-I hope they will forgive me for a poor memory.</p>
-
-<p>Alan Hicks, May 2005</p>
-</div>
-
-<div class="CHAPTER">
-<hr />
-<h1><a id="INTRODUCTION" name="INTRODUCTION"></a>Chapter 1 An Introduction to Slackware
-Linux</h1>
-
-<div class="SECT1">
-<h2 class="SECT1"><a id="INTRODUCTION-LINUX" name="INTRODUCTION-LINUX">1.1 What is
-Linux?</a></h2>
-
-<p>Linus Torvalds started Linux, an operating system kernel, as a personal project in
-1991. He started the project because he wanted to run a Unix-based operating system
-without spending a lot of money. In addition, he wanted to learn the ins and outs of the
-386 processor. Linux was released free of charge to the public so that anyone could study
-it and make improvements under the General Public License. (See <a
-href="#INTRODUCTION-OPENSOURCE">Section 1.3</a> and <a href="#GPL">Appendix A</a> for an
-explanation of the license.) Today, Linux has grown into a major player in the operating
-system market. It has been ported to run on a variety of system architectures, including
-HP/Compaq's Alpha, Sun's SPARC and UltraSPARC, and Motorola's PowerPC chips (through
-Apple Macintosh and IBM RS/6000 computers.) Hundreds, if not thousands, of programmers
-all over the world now develop Linux. It runs programs like Sendmail, Apache, and BIND,
-which are very popular software used to run Internet servers. It's important to remember
-that the term &#8220;Linux&#8221; really refers to the kernel - the core of the operating
-system. This core is responsible for controlling your computer's processor, memory, hard
-drives, and peripherals. That's all Linux really does: It controls the operations of your
-computer and makes sure that all of its programs behave. Various companies and
-individuals bundle the kernel and various programs together to make an operating system.
-We call each bundle a Linux distribution.</p>
-
-<div class="SECT2">
-<hr />
-<h3 class="SECT2"><a id="INTRODUCTION-LINUX-GNU" name="INTRODUCTION-LINUX-GNU">1.1.1 A
-Word on GNU</a></h3>
-
-<p>The Linux kernel project began as a solo endeavor by Linus Torvalds in 1991, but as
-Isaac Newton once said, &#8220;If I have seen further, it is by standing on the shoulders
-of giants.&#8221; When Linus Torvalds began the kernel the Free Software Foundation had
-already established the idea of collaborative software. They entitled their effort GNU, a
-recursive acronym that means simply &#8220;GNU's Not Unix&#8221;. GNU software ran atop
-the Linux kernel from day 1. Their compiler <tt class="COMMAND">gcc</tt> was used to
-compile the kernel. Today many GNU tools from <tt class="COMMAND">gcc</tt> to <tt
-class="COMMAND">gnutar</tt> are still at the basis of every major Linux distribution. For
-this reason many of the Free Software Foundation's proponents fervently state that their
-work should be given the same credit as the Linux kernel. They strongly suggest that all
-Linux distributions should refer to themselves as GNU/Linux distributions.</p>
-
-<p>This is the topic of many flamewars, surpassed only by the ancient vi versus emacs
-holy war. The purpose of this book is not to fan the fires of this heated discussion, but
-rather to clarify the terminology for neophytes. When one sees GNU/Linux it means a Linux
-distribution. When one sees Linux they can either be referring to the kernel, or to a
-distribution. It can be rather confusing. Typically the term GNU/Linux isn't used because
-it's a mouth full.</p>
-</div>
-</div>
-
-<div class="SECT1">
-<hr />
-<h2 class="SECT1"><a id="INTRODUCTION-SLACKWARE" name="INTRODUCTION-SLACKWARE">1.2 What
-is Slackware?</a></h2>
-
-<p>Slackware, started by Patrick Volkerding in late 1992, and initially released to the
-world on July 17, 1993, was the first Linux distribution to achieve widespread use.
-Volkerding first learned of Linux when he needed an inexpensive LISP interpreter for a
-project. One of the few distributions available at the time was SLS Linux from Soft
-Landing Systems. Volkerding used SLS Linux, fixing bugs as he found them. Eventually, he
-decided to merge all of these bugfixes into his own private distribution that he and his
-friends could use. This private distribution quickly gained popularity, so Volkerding
-decided to name it Slackware and make it publicly available. Along the way, Patrick added
-new things to Slackware; a user friendly installation program based on a menuing system,
-as well as the concept of package management, which allows users to easily add, remove,
-or upgrade software packages on their systems.</p>
-
-<p>There are many reasons why Slackware is Linux's oldest living distribution. It does
-not try to emulate Windows, it tries to be as Unix-like as possible. It does not try to
-cover up processes with fancy, point-and-click GUIs (Graphical User Interfaces). Instead,
-it puts users in control by letting them see exactly what's going on. Its development is
-not rushed to meet deadlines-each version comes out when it is ready.</p>
-
-<p>Slackware is for people who enjoy learning and tweaking their system to do exactly
-what they want. Slackware's stability and simplicity are why people will continue to use
-it for years to come. Slackware currently enjoys a reputation as a solid server and a
-no-nonsense workstation. You can find Slackware desktops running nearly any window
-manager or desktop environment, or none at all. Slackware servers power businesses,
-acting in every capacity that a server can be used in. Slackware users are among the most
-satisfied Linux users. Of course, we'd say that. :^)</p>
-</div>
-
-<div class="SECT1">
-<hr />
-<h2 class="SECT1"><a id="INTRODUCTION-OPENSOURCE" name="INTRODUCTION-OPENSOURCE">1.3 Open
-Source and Free Software</a></h2>
-
-<p>Within the Linux community, there are two major ideological movements at work. The
-Free Software movement (which we'll get into in a moment) is working toward the goal of
-making all software free of intellectual property restrictions. Followers of this
-movement believe these restrictions hamper technical improvement and work against the
-good of the community. The Open Source movement is working toward most of the same goals,
-but takes a more pragmatic approach to them. Followers of this movement prefer to base
-their arguments on the economic and technical merits of making source code freely
-available, rather than the moral and ethical principles that drive the Free Software
-Movement.</p>
-
-<p>At the other end of the spectrum are groups that wish to maintain tighter controls
-over their software.</p>
-
-<p>The Free Software movement is headed by the Free Software Foundation, a fund-raising
-organization for the GNU project. Free software is more of an ideology. The oft-used
-expression is &#8220;free as in speech, not free as in beer&#8221;. In essence, free
-software is an attempt to guarantee certain rights for both users and developers. These
-freedoms include the freedom to run the program for any reason, to study and modify the
-source code, to redistribute the source, and to share any modifications you make. In
-order to guarantee these freedoms, the GNU General Public License (GPL) was created. The
-GPL, in brief, provides that anyone distributing a compiled program which is licensed
-under the GPL must also provide source code, and is free to make modifications to the
-program as long as those modifications are also made available in source code form. This
-guarantees that once a program is &#8220;opened&#8221; to the community, it cannot be
-&#8220;closed&#8221; except by consent of every author of every piece of code (even the
-modifications) within it. Most Linux programs are licensed under the GPL.</p>
-
-<p>It is important to note that the GPL does not say anything about price. As odd as it
-may sound, you can charge for free software. The &#8220;free&#8221; part is in the
-liberties you have with the source code, not in the price you pay for the software.
-(However, once someone has sold you, or even given you, a compiled program licensed under
-the GPL they are obligated to provide its source code as well.)</p>
-
-<p>Another popular license is the BSD license. In contrast to the GPL, the BSD license
-gives no requirement for the release of a program's source code. Software released under
-the BSD license allows redistribution in source or binary form provided only a few
-conditions are met. The author's credentials cannot be used as a sort of advertisement
-for the program. It also indemnifies the author from liability for damages that may arise
-from the use of the software. Much of the software included in Slackware Linux is BSD
-licensed.</p>
-
-<p>At the forefront of the younger Open Source movement, the Open Source Initiative is an
-organization that solely exists to gain support for open source software, that is,
-software that has the source code available as well as the ready-to-run program. They do
-not offer a specific license, but instead they support the various types of open source
-licenses available.</p>
-
-<p>The idea behind the OSI is to get more companies behind open source by allowing them
-to write their own open source licenses and have those licenses certified by the Open
-Source Initiative. Many companies want to release source code, but do not want to use the
-GPL. Since they cannot radically change the GPL, they are offered the opportunity to
-provide their own license and have it certified by this organization.</p>
-
-<p>While the Free Software Foundation and the Open Source Initiative work to help each
-other, they are not the same thing. The Free Software Foundation uses a specific license
-and provides software under that license. The Open Source Initiative seeks support for
-all open source licenses, including the one from the Free Software Foundation. The
-grounds on which each argues for making source code freely available sometimes divides
-the two movements, but the fact that two ideologically diverse groups are working toward
-the same goal lends credence to the efforts of each.</p>
-</div>
-</div>
-
-<div class="CHAPTER">
-<hr />
-<h1><a id="HELP" name="HELP"></a>Chapter 2 Help</h1>
-
-<p>Often there are times when you might need help with a specific command, setting up a
-program, or getting a piece of hardware to work. Maybe you simply want to understand a
-given command better, or see what other options are available to use with it. Luckily,
-there are a variety of ways that you can get the help you're looking for. When you
-install Slackware you have the option of installing packages from the &#8220;F&#8221;
-series which includes FAQs and HOWTOs. Programs also come with help about their options,
-configuration files, and usage.</p>
-
-<div class="SECT1">
-<hr />
-<h2 class="SECT1"><a id="HELP-SYSTEM" name="HELP-SYSTEM">2.1 System Help</a></h2>
-
-<div class="SECT2">
-<h3 class="SECT2"><a id="HELP-SYSTEM-MAN" name="HELP-SYSTEM-MAN">2.1.1 <tt
-class="COMMAND">man</tt></a></h3>
-
-<p>The <tt class="COMMAND">man</tt> command (short for &#8220;manual&#8221;) is the
-traditional form of online documentation in Unix and Linux operating systems. Comprised
-of specially formatted files, the &#8220;man pages&#8221;, are written for the vast
-majority of commands and are distributed with the software itself. Executing <tt
-class="COMMAND">man somecommand</tt> will display the man page for (naturally) the
-command specified, in our example this would be the imaginary program <tt
-class="COMMAND">somecommand</tt>.</p>
-
-<p>As you might imagine, the amount of man pages can quickly add up, becoming overly
-confusing and seriously complicated, even for an advanced user. So, for this reason, man
-pages are grouped into enumerated sections. This system has been around for a very long
-time; enough so that you will often see commands, programs, and even programming library
-functions referred to with their man section number.</p>
-
-<p>For example:</p>
-
-<p>You might see a reference to <tt class="COMMAND">man</tt>(1). The numbering tells you
-that &#8220;<tt class="COMMAND">man</tt>&#8221; is documented in section 1 (user
-commands); you can specify that you want the section 1 man page for &#8220;man&#8221;
-with the command <tt class="COMMAND">man 1 man</tt>. Specifying the section that man
-should look in is useful in the case of multiple items with the same name.</p>
-
-<div class="TABLE"><a id="AEN409" name="AEN409"></a>
-<p><b>Table 2-1. Man Page Sections</b></p>
-
-<table border="0" frame="void" width="100%" class="CALSTABLE">
-<col width="25%" />
-<col width="75%" />
-<thead>
-<tr>
-<th>Section</th>
-<th>Contents</th>
-</tr>
-</thead>
-
-<tbody>
-<tr>
-<td>Section 1</td>
-<td>user commands (intro only)</td>
-</tr>
-
-<tr>
-<td>Section 2</td>
-<td>system calls</td>
-</tr>
-
-<tr>
-<td>Section 3</td>
-<td>C library calls</td>
-</tr>
-
-<tr>
-<td>Section 4</td>
-<td>devices (e.g., <tt class="FILENAME">hd</tt>, <tt class="FILENAME">sd</tt>)</td>
-</tr>
-
-<tr>
-<td>Section 5</td>
-<td>file formats and protocols (e.g., wtmp, <tt class="FILENAME">/etc/passwd</tt>,
-nfs)</td>
-</tr>
-
-<tr>
-<td>Section 6</td>
-<td>games (intro only)</td>
-</tr>
-
-<tr>
-<td>Section 7</td>
-<td>conventions, macro packages, etc. (e.g., nroff, ascii)</td>
-</tr>
-
-<tr>
-<td>Section 8</td>
-<td>system administration (intro only)</td>
-</tr>
-</tbody>
-</table>
-</div>
-
-<p>In addition to <tt class="COMMAND">man</tt>(1), there are the commands <tt
-class="COMMAND">whatis</tt>(1) and <tt class="COMMAND">apropos</tt>(1) available to you,
-whose shared purpose is to make it easier to find information in the man system.</p>
-
-<p>The command <tt class="COMMAND">whatis</tt> gives a very brief description of system
-commands, somewhat in the style of a pocket command reference.</p>
-
-<p>Example:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">%</samp> <kbd class="USERINPUT">whatis whatis</kbd>
-whatis (1) - search the whatis database for complete words
-</pre>
-</td>
-</tr>
-</table>
-
-<p>The command <tt class="COMMAND">apropos</tt> is used to search for a man page
-containing a given keyword.</p>
-
-<p>Example:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">%</samp> <kbd class="USERINPUT">apropos wav</kbd>
-cdda2wav (1) - a sampling utility that dumps CD audio data into wav sound files
-netwave_cs (4) - Xircom Creditcard Netwave device driver
-oggdec (1) - simple decoder, Ogg Vorbis file to PCM audio file (WAV or RAW)
-wavelan (4) - AT&amp;T GIS WaveLAN ISA device driver
-wavelan_cs (4) - AT&amp;T GIS WaveLAN PCMCIA device driver
-wvlan_cs (4) - Lucent WaveLAN/IEEE 802.11 device driver
-</pre>
-</td>
-</tr>
-</table>
-
-<p>If you'd like further information on any of these commands, read their man pages for
-the details. ;)</p>
-</div>
-
-<div class="SECT2">
-<hr />
-<h3 class="SECT2"><a id="HELP-SYSTEM-DOC" name="HELP-SYSTEM-DOC">2.1.2 The <tt
-class="FILENAME">/usr/doc</tt> Directory</a></h3>
-
-<p>The source for most packages that we build comes with some sort of documentation:
-README files, usage instructions, license files, etc. Any sort of documentation that
-comes with the source is included and installed on your system in the <tt
-class="FILENAME">/usr/doc</tt> directory. Each program will (usually) install its own
-documentation in the order of:</p>
-
-<p><tt class="FILENAME">/usr/doc/<var
-class="REPLACEABLE">$program-$version</var></tt></p>
-
-<p>Where <var class="REPLACEABLE">$program</var> is the name of the program you are
-wanting to read about, and <var class="REPLACEABLE">$version</var> is (obviously) the
-appropriate version of software package installed on your system.</p>
-
-<p>For example, to read the documentation for the command <tt class="COMMAND">man</tt>(1)
-you would want to <tt class="COMMAND">cd</tt> to:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">%</samp> <kbd class="USERINPUT">cd /usr/doc/man-<var
-class="REPLACEABLE">$version</var></kbd>
-</pre>
-</td>
-</tr>
-</table>
-
-<p>If reading the appropriate man page(s) doesn't provide you with enough information, or
-address what you're looking for in particular, the <tt class="FILENAME">/usr/doc</tt>
-directory should be your next stop.</p>
-</div>
-
-<div class="SECT2">
-<hr />
-<h3 class="SECT2"><a id="HELP-SYSTEM-HOWTO" name="HELP-SYSTEM-HOWTO">2.1.3 HOWTOs and
-mini-HOWTOs</a></h3>
-
-<p>It is in the truest spirit of the Open Source community that brings us to the
-HOWTO/mini-HOWTO collection. These files are exactly what they sound like - documents and
-guides describing how to do stuff. If you installed the HOWTO collection, the HOWTOs will
-be installed to <tt class="FILENAME">/usr/doc/Linux-HOWTOs</tt> and the mini-HOWTOs to
-<tt class="FILENAME">/usr/doc/Linux-mini-HOWTOs</tt>.</p>
-
-<p>Also included in the same package series is a collection of FAQs, which is an acronym
-which stands for</p>
-
-<div class="INFORMALTABLE"><a id="AEN497" name="AEN497"></a>
-<table border="0" frame="void" class="CALSTABLE">
-<col />
-<tbody>
-<tr>
-<td><span class="emphasis"><i class="EMPHASIS">F</i></span>requently</td>
-</tr>
-
-<tr>
-<td><span class="emphasis"><i class="EMPHASIS">A</i></span>sked</td>
-</tr>
-
-<tr>
-<td><span class="emphasis"><i class="EMPHASIS">Q</i></span>uestions</td>
-</tr>
-</tbody>
-</table>
-</div>
-
-<p>These documents are written in a &#8220;Question and answer&#8221; style for
-(surprise) Frequently Asked Questions. The FAQs can often be a very useful place to look
-if you're just looking for a &#8220;Quick Fix&#8221; to something. If you decide to
-install the FAQs during setup, you will find them installed to the <tt
-class="FILENAME">/usr/doc/Linux-FAQs</tt> directory.</p>
-
-<p>These files are well worth reading whenever you're not quite sure how to proceed with
-something. They cover an amazing range of topics, more often than not in a surprisingly
-detailed manner. Good stuff!</p>
-</div>
-</div>
-
-<div class="SECT1">
-<hr />
-<h2 class="SECT1"><a id="HELP-ONLINE" name="HELP-ONLINE">2.2 Online Help</a></h2>
-
-<p>In addition to the documentation provided and installable with the Slackware Linux
-Operating System, there are a vast multitude of online resources available for you to
-learn from as well.</p>
-
-<div class="SECT2">
-<hr />
-<h3 class="SECT2"><a id="HELP-ONLINE-OFFICIAL" name="HELP-ONLINE-OFFICIAL">2.2.1 The
-Official Website and Help Forums</a></h3>
-
-<p><a href="http://www.slackware.com" target="_top">The Official Slackware
-Website</a></p>
-
-<p>The Official Slackware Linux website is sometimes out of date, but still contains
-information relevant to the latest Slackware versions. At one time an active help forum
-existed there before a horde of trolls, troublemakers, and whiners descended on the
-forum. Maintaining the forum was beginning to be too much work, and so Pat shut it down.
-One can find that old forum back up and running complete with searchable archives of the
-old data at <a href="http://www.userlocal.com/phorum/"
-target="_top">http://www.userlocal.com/phorum/</a>.</p>
-
-<p>After the forums were taken down on <a href="http://slackware.com"
-target="_top">http://slackware.com</a>, several other sites sprang up that offered forum
-support for Slackware. After much thought, Pat chose to endorse <a
-href="www.linuxquestions.org" target="_top">www.linuxquestions.org</a> as the official
-forum for Slackware Linux.</p>
-</div>
-
-<div class="SECT2">
-<hr />
-<h3 class="SECT2"><a id="HELP-ONLINE-EMAIL" name="HELP-ONLINE-EMAIL">2.2.2 E-mail
-Support</a></h3>
-
-<p>Everyone who purchases an official CD set is entitled to free installation support via
-e-mail from the developer. That having been said, please keep in mind that we, the
-developers, (and a vast majority of users) of Slackware are of &#8220;The Old
-School&#8221;. That means that we prefer to help those who have a sincere interest and
-are willing to help themselves in the process. We will always do our best to help
-everyone who emails us with support questions. However, Please check your documentation
-and the website (especially the FAQs and maybe some of the forums listed below) before
-e-mailing. You may get a faster answer that way, and the less e-mail we have to answer,
-obviously the sooner we will be of assistance to those that need it.</p>
-
-<p>The e-mail address for technical support is: <var
-class="LITERAL">support@slackware.com</var>. Other e-mail addresses and contact
-information are listed on the website.</p>
-
-<div class="SECT3">
-<hr />
-<h4 class="SECT3"><a id="AEN535" name="AEN535">2.2.2.1 Slackware Linux Project Mailing
-Lists</a></h4>
-
-<p>We have several mailing lists, available in digest and normal forms. Check the
-instructions for how to subscribe.</p>
-
-<p>To subscribe to a mailing list, email:</p>
-
-<p><var class="LITERAL">majordomo@slackware.com</var></p>
-
-<p>with the phrase &#8220;<var class="LITERAL">subscribe <var class="REPLACEABLE">[name
-of list]</var></var>&#8221; in the body of the email. The list choices are described
-below (use one the names below for the name of the list).</p>
-
-<p>Archives of the mailing list can be found on Slackware's website at:</p>
-
-<p><var class="LITERAL">http://slackware.com/lists/archive/</var></p>
-
-<div class="VARIABLELIST">
-<dl>
-<dt><var class="LITERAL">slackware-announce</var></dt>
-
-<dd>
-<p>The <var class="LITERAL">slackware-announce</var> mailing list is for announcements of
-new versions, major updates and other general information.</p>
-</dd>
-
-<dt><var class="LITERAL">slackware-security</var></dt>
-
-<dd>
-<p>The <var class="LITERAL">slackware-security</var> mailing list is for announcements
-relating to security issues. Any exploits or other vulnerabilities directly pertaining to
-Slackware will get posted to this list immediately.</p>
-</dd>
-</dl>
-</div>
-
-<p>These lists are also available in digest format. This means that you get one large
-message per day instead of several messages throughout the day. Since the slackware
-mailing lists do not allow users to post, and the lists are such low traffic, most users
-find little advantage in the digest lists. Still, they are available if you want them by
-subscribing to <var class="LITERAL">slackware-announce-digest</var> or <var
-class="LITERAL">slackware-security-digest</var>.</p>
-</div>
-</div>
-
-<div class="SECT2">
-<hr />
-<h3 class="SECT2"><a id="HELP-ONLINE-NONOFFICIAL" name="HELP-ONLINE-NONOFFICIAL">2.2.3
-Non-Official Websites and Help Forums</a></h3>
-
-<div class="SECT3">
-<h4 class="SECT3"><a id="AEN571" name="AEN571">2.2.3.1 Websites</a></h4>
-
-<div class="VARIABLELIST">
-<dl>
-<dt><a href="http://www.google.com" target="_top">Google</a></dt>
-
-<dd>
-<p>The Kung-Fu Master of Search Engines. When you absolutely, positively gotta find every
-last kernel of information on a subject: Accept no substitutes.</p>
-</dd>
-
-<dt><a href="http://www.google.com/linux" target="_top">Google:Linux</a></dt>
-
-<dd>
-<p>Linux-Specific searches</p>
-</dd>
-
-<dt><a href="http://www.google.com/bsd" target="_top">Google:BSD</a></dt>
-
-<dd>
-<p>BSD-Specific searches. Slackware is so generic as a Unix work-a-like operating system
-that one can as often as not find very detailed information that is almost 100% relevant
-to Slackware here. Many times a BSD search reveals far more technical information than
-the often PR-related Linux searches.</p>
-</dd>
-
-<dt><a href="http://groups.google.com" target="_top">Google:Groups</a></dt>
-
-<dd>
-<p>Search through decades of Usenet posts for your pearls of wisdom.</p>
-</dd>
-
-<dt><a href="http://userlocal.com" target="_top">http://userlocal.com</a></dt>
-
-<dd>
-<p>A virtual treasure-trove of knowledge, good advice, first-hand experience and
-interesting articles. Often the first place you'll hear about new developments in the
-world of Slackware.</p>
-</dd>
-</dl>
-</div>
-</div>
-
-<div class="SECT3">
-<hr />
-<h4 class="SECT3"><a id="AEN601" name="AEN601">2.2.3.2 Web-based Resources</a></h4>
-
-<div class="VARIABLELIST">
-<dl>
-<dt><a href="http://www.linuxquestions.org/questions/forumdisplay.php?forumid=14"
-target="_top">linuxquestions.org</a></dt>
-
-<dd>
-<p>The officially sanctioned web-forum for Slackware users.</p>
-</dd>
-
-<dt><a href="http://forums.linuxiso.org/viewforum.php?f=25" target="_top">LinuxISO.org
-Slackware Forum</a></dt>
-
-<dd>
-<p>&#8220;A place to download and get help with Linux.&#8221;</p>
-</dd>
-
-<dt><a href="http://wombat.san-francisco.ca.us/perl/fom"
-target="_top">alt.os.linux.slackware FAQ</a></dt>
-
-<dd>
-<p>Another FAQ</p>
-</dd>
-</dl>
-</div>
-</div>
-
-<div class="SECT3">
-<hr />
-<h4 class="SECT3"><a id="AEN620" name="AEN620">2.2.3.3 Usenet Groups (NNTP)</a></h4>
-
-<p>Usenet has long been a place for geeks to gather and help one another. There are few
-newsgroups dedicated to Slackware Linux, but they tend to be filled with very
-knowledgeable people.</p>
-
-<p><var class="LITERAL">alt.os.linux.slackware</var></p>
-
-<p><var class="LITERAL">alt.os.linux.slackware</var>, better known as aols (not to be
-confused with <span class="TRADEMARK">AOL</span>&reg;!) is one of the most active places
-to find technical help with Slackware problems. Like every Usenet newsgroup, a few
-unhelpful participants (&#8220;trolls&#8221;) can mar the experience with constant
-arguing. Learning to ignore the trolls and identifying the truly helpful people is key to
-making the most of this resource.</p>
-</div>
-</div>
-</div>
-</div>
-
-<div class="CHAPTER">
-<hr />
-<h1><a id="INSTALLATION" name="INSTALLATION"></a>Chapter 3 Installation</h1>
-
-<p>Before you can use Slackware Linux, you'll have to obtain and install it. Getting
-Slackware is as easy as purchasing it or downloading it for free over the Internet.
-Installing it is also easy as long as you have some basic knowledge about your computer
-and are willing to learn a few other things. The installation program itself is very much
-a step-by-step process. Because of this, you can be up and running very quickly. In fact,
-Slackware boasts one of the lowest installation times of any full-featured Linux
-distribution.</p>
-
-<div class="SECT1">
-<hr />
-<h2 class="SECT1"><a id="INSTALLATION-GETTING" name="INSTALLATION-GETTING">3.1 Getting
-Slackware</a></h2>
-
-<div class="SECT2">
-<h3 class="SECT2"><a id="AEN641" name="AEN641">3.1.1 The Official Disc and Box
-Sets</a></h3>
-
-<p>The official Slackware Linux CD set is available from Slackware Linux, Inc. The CD set
-consists of 4 discs. The first disk contains all the software needed for a basic server
-install, and the X window system. The second cd is a &#8220;live&#8221; cd; that is, a
-bootable cd that installs into RAM and gives you a temporary installation to play around
-with or do a data or machine rescue. This cd also contains a few packages such as the KDE
-and GNOME desktop environments. A few other goodies are included on the second cd
-including many non-vital packages in the &#8220;extra&#8221; folder. The third and fourth
-CDs contain the source code to all of Slackware, along with the original edition of this
-book.</p>
-
-<p>One may also purchase a boxed set that includes the 4 discs and a copy of this book,
-as well as lots of neat Slackware gear to show off your geek pride. CD subscriptions are
-available at a reduced rate also.</p>
-
-<p>The preferred method for shopping for Slackware merchandise is online at the Slackware
-store.</p>
-
-<p><a href="http://store.slackware.com" target="_top">http://store.slackware.com</a></p>
-
-<p>You can also call or e-mail your order in.</p>
-
-<div class="TABLE"><a id="AEN661" name="AEN661"></a>
-<p><b>Table 3-1. Slackware Linux, Inc. Contact Information</b></p>
-
-<table border="0" frame="void" class="CALSTABLE">
-<col width="1*" />
-<col width="2*" />
-<thead>
-<tr>
-<th>Method</th>
-<th>Contact Details</th>
-</tr>
-</thead>
-
-<tbody>
-<tr>
-<td>Telephone</td>
-<td>1-(925) 674-0783</td>
-</tr>
-
-<tr>
-<td>Website</td>
-<td>http://store.slackware.com</td>
-</tr>
-
-<tr>
-<td>Email</td>
-<td>orders@slackware.com</td>
-</tr>
-
-<tr>
-<td>Postal</td>
-<td>1164 Claremont Drive, Brentwood, CA 94513</td>
-</tr>
-</tbody>
-</table>
-</div>
-</div>
-
-<div class="SECT2">
-<hr />
-<h3 class="SECT2"><a id="AEN683" name="AEN683">3.1.2 Via the Internet</a></h3>
-
-<p>Slackware Linux is also freely available over the Internet. You may email in your
-support questions, but higher priority will be given to those who have purchased the
-official CD set. With that said, we get a lot of e-mails and our time is rather limited.
-Before e-mailing for support consider reading <a href="#HELP">Chapter 2</a> first.</p>
-
-<p>The official Slackware Linux Project website is located at:</p>
-
-<p><a href="http://www.slackware.com/" target="_top">http://www.slackware.com/</a></p>
-
-<p>The primary FTP location for Slackware Linux is:</p>
-
-<p><a href="ftp://ftp.slackware.com/pub/slackware/"
-target="_top">ftp://ftp.slackware.com/pub/slackware/</a></p>
-
-<p>Bear in mind that our ftp site, while open for general use, does not have unlimited
-bandwidth. Please consider using a mirror near you to download Slackware. An incomplete
-list of mirrors can be found on our site at <a href="http://www.slackware.com/getslack"
-target="_top">http://www.slackware.com/getslack</a>.</p>
-</div>
-</div>
-
-<div class="SECT1">
-<hr />
-<h2 class="SECT1"><a id="INSTALLATION-REQUIREMENTS" name="INSTALLATION-REQUIREMENTS">3.2
-System Requirements</a></h2>
-
-<p>An easy Slackware installation requires, at minimum, the following:</p>
-
-<div class="TABLE"><a id="AEN706" name="AEN706"></a>
-<p><b>Table 3-2. System Requirements</b></p>
-
-<table border="0" frame="void" class="CALSTABLE">
-<col />
-<col />
-<thead>
-<tr>
-<th>Hardware</th>
-<th>Requirement</th>
-</tr>
-</thead>
-
-<tbody>
-<tr>
-<td>Processor</td>
-<td>586</td>
-</tr>
-
-<tr>
-<td>RAM</td>
-<td>32 MB</td>
-</tr>
-
-<tr>
-<td>Disk Space</td>
-<td>1GB</td>
-</tr>
-
-<tr>
-<td>Media Drive</td>
-<td>4x CD-ROM</td>
-</tr>
-</tbody>
-</table>
-</div>
-
-<p>If you have the bootable CD, you will probably not need a floppy drive. Of course, it
-stands to reason that if you don't possess a CD-ROM drive, you will need a floppy drive
-to do a network install. A network card is required for an NFS install. See the section
-called NFS for more information.</p>
-
-<p>The disk space requirement is somewhat tricky. The 1GB recommendation is usually safe
-for a minimal install, but if you do a full install, you will need around two gigabytes
-of available hard disk space plus additional space for personal files.. Most users don't
-do a full install. In fact, many run Slackware on as little as 100MB of hard disk
-space.</p>
-
-<p>Slackware can be installed to systems with less RAM, smaller hard drives, and weaker
-CPUs, but doing so will require a little elbow grease. If you're up for a little work,
-take a look at the <tt class="FILENAME">LOWMEM.TXT</tt> file in the distribution tree for
-a few helpful hints.</p>
-
-<div class="SECT2">
-<hr />
-<h3 class="SECT2"><a id="INSTALLATION-SOFTWARE-SERIES"
-name="INSTALLATION-SOFTWARE-SERIES">3.2.1 The Software Series</a></h3>
-
-<p>For reasons of simplicity, Slackware has historically been divided into software
-series. Once called &#8220;disk sets&#8221; because they were designed for floppy-based
-installation, the software series are now used primarily to categorize the packages
-included in Slackware. Today, floppy installation is no longer possible.</p>
-
-<p>The following is a brief description of each software series.</p>
-
-<div class="TABLE"><a id="AEN746" name="AEN746"></a>
-<p><b>Table 3-3. Software Series</b></p>
-
-<table border="0" frame="void" class="CALSTABLE">
-<col width="1*" />
-<col width="4*" />
-<thead>
-<tr>
-<th>Series</th>
-<th>Contents</th>
-</tr>
-</thead>
-
-<tbody>
-<tr>
-<td>A</td>
-<td>The base system. Contains enough software to get up and running and have a text
-editor and basic communication program.</td>
-</tr>
-
-<tr>
-<td>AP</td>
-<td>Various applications that do not require the X Window System.</td>
-</tr>
-
-<tr>
-<td>D</td>
-<td>Program development tools. Compilers, debuggers, interpreters, and man pages are all
-here.</td>
-</tr>
-
-<tr>
-<td>E</td>
-<td>GNU Emacs.</td>
-</tr>
-
-<tr>
-<td>F</td>
-<td>FAQs, HOWTOs, and other miscellaneous documentation.</td>
-</tr>
-
-<tr>
-<td>GNOME</td>
-<td>The GNOME desktop environment.</td>
-</tr>
-
-<tr>
-<td>K</td>
-<td>The source code for the Linux kernel.</td>
-</tr>
-
-<tr>
-<td>KDE</td>
-<td>The K Desktop Environment. An X environment which shares a lot of look-and-feel
-features with MacOS and Windows. The Qt library, which KDE requires, is also in this
-series.</td>
-</tr>
-
-<tr>
-<td>KDEI</td>
-<td>Internationalization packages for the KDE desktop.</td>
-</tr>
-
-<tr>
-<td>L</td>
-<td>Libraries. Dynamically linked libraries required by many other programs.</td>
-</tr>
-
-<tr>
-<td>N</td>
-<td>Networking programs. Daemons, mail programs, telnet, news readers, and so on.</td>
-</tr>
-
-<tr>
-<td>T</td>
-<td>teTeX document formatting system.</td>
-</tr>
-
-<tr>
-<td>TCL</td>
-<td>The Tool Command Language. Tk, TclX, and TkDesk.</td>
-</tr>
-
-<tr>
-<td>X</td>
-<td>The base X Window System.</td>
-</tr>
-
-<tr>
-<td>XAP</td>
-<td>X Applications that are not part of a major desktop environment (for example,
-Ghostscript and Netscape).</td>
-</tr>
-
-<tr>
-<td>Y</td>
-<td>BSD Console games</td>
-</tr>
-</tbody>
-</table>
-</div>
-</div>
-
-<div class="SECT2">
-<hr />
-<h3 class="SECT2"><a id="INSTALLATION-METHODS" name="INSTALLATION-METHODS">3.2.2
-Installation Methods</a></h3>
-
-<div class="SECT3">
-<h4 class="SECT3"><a id="INSTALLATION-INSTALLATION-METHODS-FLOPPY"
-name="INSTALLATION-INSTALLATION-METHODS-FLOPPY">3.2.2.1 Floppy</a></h4>
-
-<p>While it was once possible to install all of Slackware Linux from floppy disks, the
-increasing size of software packages (indeed, of some individual programs) has forced the
-abandonment of the floppy install. As late as Slackware version 7.1 a partial install was
-possible using floppy disks. The A and N series could be nearly entirely installed,
-providing a base system from which to install the rest of the distribution. If you are
-considering a floppy install (typically on older hardware), it is typically recommended
-to find another way, or use an older release. Slackware 4.0 is still very popular for
-this reason, as is 7.0.</p>
-
-<p>Please note that floppy disks are still required for a CD-ROM install if you do not
-have a bootable CD, as well as for an NFS install.</p>
-</div>
-
-<div class="SECT3">
-<hr />
-<h4 class="SECT3"><a id="INSTALLATION-INSTALLLATION-METHODS-CDROM"
-name="INSTALLATION-INSTALLLATION-METHODS-CDROM">3.2.2.2 CD-ROM</a></h4>
-
-<p>If you have the bootable CD, available in the official disc set published by Slackware
-Linux, Inc. (see the section called Getting Slackware), a CD-based installation will be a
-bit simpler for you. If not, you will need to boot from floppies. Also, if you have
-special hardware that makes usage of the kernel on the bootable CD problematic, you may
-need to use specialized floppies.</p>
-
-<p>As of Slackware version 8.1, a new method is used for creating the bootable CDs, which
-does not work as well with certain flaky BIOS chips (it is worth noting that most all
-Linux CDs suffer from this these days). If that is the case, we recommend booting from a
-floppy disk.</p>
-
-<p><a href="#INSTALLATION-INSTALLATION-METHODS-BOOTDISK">Section 3.2.3</a> and <a
-href="#INSTALLATION-SUPPLEMENTAL-DISK">Section 3.2.5</a> provide information on choosing
-and creating floppies from which to boot, should this be necessary.</p>
-</div>
-
-<div class="SECT3">
-<hr />
-<h4 class="SECT3"><a id="AEN823" name="AEN823">3.2.2.3 NFS</a></h4>
-
-<p>NFS (the Network File System) is a way of making filesystems available to remote
-machines. An NFS install allows you to install Slackware from another computer on your
-network. The machine from which you are installing needs to be configured to export the
-Slackware distribution tree to the machine to which you're installing. This, of course,
-involves some knowledge of NFS, which is covered in <a
-href="#NETWORK-CONFIGURATION-NFS">Section 5.6</a>.</p>
-
-<p>It is possible to perform an NFS install via such methods as PLIP (over a parallel
-port), SLIP, and PPP (though not over a modem connection). However, we recommend the use
-of a network card if available. After all, installing an operating system through your
-printer port is going to be a very, very slow process.</p>
-</div>
-</div>
-
-<div class="SECT2">
-<hr />
-<h3 class="SECT2"><a id="INSTALLATION-INSTALLATION-METHODS-BOOTDISK"
-name="INSTALLATION-INSTALLATION-METHODS-BOOTDISK">3.2.3 Boot Disk</a></h3>
-
-<p>The boot disk is the floppy you actually boot from to begin the installation. It
-contains a compressed kernel image which is used to control the hardware during
-installation. Therefore, it is very much required (unless you're booting from CD, as is
-discussed in the section called CD-ROM). The boot disks are located in the <tt
-class="FILENAME">bootdisks/</tt> directory in the distribution tree.</p>
-
-<p>There are more Slackware boot disks than you can shake a stick at (which is to say
-about 16). A complete list of boot disks, with a description of each, is available in the
-Slackware distribution tree in the file <tt class="FILENAME">bootdisks/README.TXT</tt>.
-However, most people are able to use the <tt class="FILENAME">bare.i</tt> (for IDE
-devices) or <tt class="FILENAME">scsi.s</tt> (for SCSI devices) boot disk image.</p>
-
-<p>See <a href="#INSTALLATION-MAKING-THE-DISKS">Section 3.2.6</a> for instructions on
-making a disk from an image.</p>
-
-<p>After booting, you will be prompted to insert the root disk. We recommend that you
-just humor the boot disk and play along.</p>
-</div>
-
-<div class="SECT2">
-<hr />
-<h3 class="SECT2"><a id="INSTALLATION-INSTALLATION-METHODS-ROOTDISK"
-name="INSTALLATION-INSTALLATION-METHODS-ROOTDISK">3.2.4 Root Disk</a></h3>
-
-<p>The root disks contain the setup program and a filesystem which is used during
-installation. They are also required. The root disk images are located in the directory
-rootdisks in the distribution tree. You'll have to make two root disks from the <tt
-class="FILENAME">install.1</tt> and <tt class="FILENAME">install.2</tt> images. Here you
-can also find the <tt class="FILENAME">network.dsk</tt>, <tt
-class="FILENAME">pcmcia.dsk</tt>, <tt class="FILENAME">rescue.dsk</tt>, and <tt
-class="FILENAME">sbootmgr.dsk</tt> disks.</p>
-</div>
-
-<div class="SECT2">
-<hr />
-<h3 class="SECT2"><a id="INSTALLATION-SUPPLEMENTAL-DISK"
-name="INSTALLATION-SUPPLEMENTAL-DISK">3.2.5 Supplemental Disk</a></h3>
-
-<p>A supplemental disk is needed if you are performing an NFS install or installing to a
-system with PCMCIA devices. Supplemental disks are in the rootdsks directory in the
-distribution tree, with the filenames <tt class="FILENAME">network.dsk</tt> and <tt
-class="FILENAME">pcmcia.dsk</tt>. Recently other supplemental disks such as <tt
-class="FILENAME">rescue.dsk</tt> and <tt class="FILENAME">sbootmgr.dsk</tt> have been
-added. The rescue disk is a small floppy root image that runs in a 4MB RAM drive. It
-includes some basic networking utilities and the vi editor for quick fixes on busted
-machines. The <tt class="FILENAME">sbootmgr.dsk</tt> disk is used to boot other devices.
-Boot off this disk if your bootable CD-ROM drive doesn't want to boot the Slackware CDs.
-It will prompt you for different things to boot and may offer a convenient way to work
-around a buggy BIOS.</p>
-
-<p>The root disk will instruct you on the use of supplemental disks when it is
-loaded.</p>
-</div>
-
-<div class="SECT2">
-<hr />
-<h3 class="SECT2"><a id="INSTALLATION-MAKING-THE-DISKS"
-name="INSTALLATION-MAKING-THE-DISKS">3.2.6 Making the Disks</a></h3>
-
-<p>Once you've selected a boot disk image, you need to put it on a floppy. The process is
-slightly different depending on which operating system you're using to make the disks. If
-you're running Linux (or pretty much any Unix-like OS) you'll need to use the <tt
-class="COMMAND">dd</tt>(1) command. Assuming <tt class="FILENAME">bare.i</tt> is your
-disk image file and your floppy drive is <tt class="FILENAME">/dev/fd0</tt>, the command
-to make a <tt class="FILENAME">bare.i</tt> floppy is:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">%</samp> <kbd class="USERINPUT">dd if=bare.i of=/dev/fd0</kbd>
-</pre>
-</td>
-</tr>
-</table>
-
-<p>If you're running a Microsoft OS, you'll need to use the <tt
-class="FILENAME">RAWRITE.EXE</tt> program, which is included in the distribution tree in
-the same directories as the floppy images. Again assuming that <tt
-class="FILENAME">bare.i</tt> is your disk image file and your floppy drive is <tt
-class="FILENAME">A:</tt>, open a DOS prompt and type the following:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-C:\ <kbd class="USERINPUT">rawrite a: bare.i</kbd>
-</pre>
-</td>
-</tr>
-</table>
-</div>
-</div>
-
-<div class="SECT1">
-<hr />
-<h2 class="SECT1"><a id="INSTALLATION-PARTITIONING" name="INSTALLATION-PARTITIONING">3.3
-Partitioning</a></h2>
-
-<p>After booting from your preferred media, you will need to partition your hard disk.
-The disk partition is where the Linux filesystem will be created and is where Slackware
-will be installed. At the very minimum we recommend creating two partitions; one for your
-root filesystem (<tt class="FILENAME">/</tt>) and one for swap space.</p>
-
-<p>After the root disk finishes loading, it will present you with a login prompt. Log in
-as root (there is no password). At the shell prompt, run either <tt
-class="COMMAND">cfdisk</tt>(8) or <tt class="COMMAND">fdisk</tt>(8). The <tt
-class="COMMAND">cfdisk</tt> program provides a more user-friendly interface than the
-regular <tt class="COMMAND">fdisk</tt> program, but does lack some features. We will
-briefly explain the <tt class="COMMAND">fdisk</tt> program below.</p>
-
-<p>Begin by running <tt class="COMMAND">fdisk</tt> for your hard disk. In Linux, the hard
-disks do not have drive letters, but are represented by a file. The first IDE hard disk
-(primary master) is <tt class="FILENAME">/dev/hda</tt>, the primary slave is <tt
-class="FILENAME">/dev/hdb</tt>, and so on. SCSI disks follow the same type system, but
-are in the form of <tt class="FILENAME">/dev/sd<var class="REPLACEABLE">X</var></tt>. You
-will need to start <tt class="COMMAND">fdisk</tt> and pass it your hard disk:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">#</samp> <kbd class="USERINPUT">fdisk /dev/hda</kbd>
-</pre>
-</td>
-</tr>
-</table>
-
-<p>Like all good Unix programs, <tt class="COMMAND">fdisk</tt> gives you a prompt
-(thought you were getting a menu, right?). The first thing you should do is examine your
-current partitions. We do that by typing <kbd class="USERINPUT">p</kbd> at the <tt
-class="COMMAND">fdisk</tt> prompt:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-Command (m for help): <kbd class="USERINPUT">p</kbd>
-</pre>
-</td>
-</tr>
-</table>
-
-<p>This will display all sorts of information about your current partitions. Most people
-pick a free drive to install to and then remove any existing partitions on it to create
-room for the Linux partitions.</p>
-
-<div class="WARNING">
-<table class="WARNING" width="100%" border="0">
-<tr>
-<td width="25" align="CENTER" valign="TOP"><img src="./imagelib/admon/warning.png"
-hspace="5" alt="Warning" /></td>
-<td align="LEFT" valign="TOP">
-<p>IT IS VERY IMPORTANT THAT YOU BACK UP ANY INFORMATION YOU WANT TO SAVE BEFORE
-DESTROYING THE PARTITION IT LIVES ON.</p>
-</td>
-</tr>
-</table>
-</div>
-
-<p>There is no easy way to recover from deleting a partition, so always back up before
-playing with them.</p>
-
-<p>Looking at the table of partition information you should see a partition number, the
-size of the partition, and its type. There's more information, but don't worry about that
-for now. We are going to delete all of the partitions on this drive to create the Linux
-ones. We run the <kbd class="USERINPUT">d</kbd> command to delete those:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-Command (m for help): <kbd class="USERINPUT">d</kbd>
-Partition number (1-4): <kbd class="USERINPUT">1</kbd>
-</pre>
-</td>
-</tr>
-</table>
-
-<p>This process should be continued for each of the partitions. After deleting the
-partitions we are ready to create the Linux ones. We have decided to create one partition
-for our root filesystem and one for swap. It is worth noting that Unix partitioning
-schemes are the subject of many flame wars, and that most users will tell you the best
-way to do it. At a minimum, you should create one partition for <tt
-class="FILENAME">/</tt> and one for swap. Over time, you'll develop a method that works
-well for you.</p>
-
-<p>I use two basic partition schemes. The first is for a desktop. I make 4 partitions,
-<tt class="FILENAME">/</tt>, <tt class="FILENAME">/home</tt>, <tt
-class="FILENAME">/usr/local</tt>, and swap. This lets me re-install or upgrade the entire
-installation under <tt class="FILENAME">/</tt> without wiping out my data files under
-/home or my custom compiled applications under <tt class="FILENAME">/usr/local</tt>. For
-servers, I often replace the <tt class="FILENAME">/usr/local</tt> partition with a <tt
-class="FILENAME">/var</tt> partition. Many different servers store information on that
-partition and having it kept separate from <tt class="FILENAME">/</tt> has certain
-performance benefits. For now, we're sticking with just two partitions: <tt
-class="FILENAME">/</tt> and swap.</p>
-
-<p>Now we create the partitions with the <kbd class="USERINPUT">n</kbd> command:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-Command (m for help): <kbd class="USERINPUT">n</kbd>
-Command action
- e extended
- p primary partition (1-4)
-<kbd class="USERINPUT">p</kbd>
-Partition number (1-4):<kbd class="USERINPUT">1</kbd>
-First cylinder (0-1060, default 0):<kbd class="USERINPUT">0</kbd>
- Last cylinder or +size or +sizeM or +sizeK (0-1060, default 1060):<kbd
-class="USERINPUT">+64M</kbd>
-</pre>
-</td>
-</tr>
-</table>
-
-<p>You need to make sure you create primary partitions. The first partition is going to
-be our swap partition. We tell fdisk to make partition number 1 a primary partition. We
-start it at cylinder 0 and for the ending cylinder we type +64M. This will give us a 64
-megabyte partition for swap. (The size of the swap partition you need actually depends on
-the amount of RAM you have. It is conventional wisdom that a swap space double the size
-of your RAM should be created.) Then we define primary partition number 2 starting at the
-first available cylinder and going all the way to the end of the drive.</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-Command (m for help):<kbd class="USERINPUT">n</kbd>
-Command action
- e extended
- p primary partition (1-4)
-<kbd class="USERINPUT">p</kbd>
-Partition number (1-4):<kbd class="USERINPUT">2</kbd>
-First cylinder (124-1060, default 124):<kbd class="USERINPUT">124</kbd>
-Last cylinder or +size or +sizeM or +sizeK (124-1060, default 1060):<kbd
-class="USERINPUT">1060</kbd>
-</pre>
-</td>
-</tr>
-</table>
-
-<p>We are almost done. We need to change the type of the first partition to type 82
-(Linux swap). Type <kbd class="USERINPUT">t</kbd> to change the type, select the first
-partition, and type <var class="LITERAL">82</var>. Before writing your changes to the
-disk, you should look at the new partition table one last time. Use the <kbd
-class="USERINPUT">p</kbd> in <tt class="COMMAND">fdisk</tt> to display the partition
-table. If everything looks good, type <kbd class="USERINPUT">w</kbd> to write your
-changes to the disk and quit <tt class="COMMAND">fdisk</tt>.</p>
-</div>
-
-<div class="SECT1">
-<hr />
-<h2 class="SECT1"><a id="INSTALLATION-SETUP" name="INSTALLATION-SETUP">3.4 The <tt
-class="COMMAND">setup</tt> Program</a></h2>
-
-<p>Once you have created your partitions, you are ready to install Slackware. The next
-step in the installation process is running the <tt class="COMMAND">setup</tt>(8)
-program. To do so, simply type <tt class="COMMAND">setup</tt> at the shell prompt. <tt
-class="COMMAND">setup</tt> is a menu-driven system for actually installing the Slackware
-packages and configuring your system.</p>
-
-<div class="INFORMALFIGURE"><a id="AEN981" name="AEN981"></a>
-<p><img src="installation/setup-program-w.png" /></p>
-</div>
-
-<p>The setup process goes something like this: You step through each option in the <tt
-class="COMMAND">setup</tt> program, in the order they are listed. (Of course, you are
-free to do things in almost any order you choose, but chances are it isn't going to work
-out very well.) Menu items are selected using the up and down arrow keys, and the
-&#8220;Okay&#8221; and &#8220;Cancel&#8221; buttons can be chosen by using the left and
-right arrow keys. Alternatively, each option has a corresponding key, which is
-highlighted in the option name. Options which are flaggable (those indicated with a <var
-class="LITERAL">[X]</var>) are toggled using the spacebar.</p>
-
-<p>Of course, all of that is described in the &#8220;help&#8221; section of <tt
-class="COMMAND">setup</tt>, but we believe in giving our readers their money's worth.</p>
-
-<div class="SECT2">
-<hr />
-<h3 class="SECT2"><a id="AEN993" name="AEN993">3.4.1 HELP</a></h3>
-
-<p>If this is your first time installing Slackware, you might want to take a look at the
-help screen. It will give a description of each part of <tt class="COMMAND">setup</tt>
-(much like the one we're writing now, but less involved) and instructions for navigating
-the rest of the install.</p>
-
-<div class="INFORMALFIGURE"><a id="AEN997" name="AEN997"></a>
-<p><img src="installation/setup-help-w.png" /></p>
-</div>
-</div>
-
-<div class="SECT2">
-<hr />
-<h3 class="SECT2"><a id="AEN1001" name="AEN1001">3.4.2 KEYMAP</a></h3>
-
-<p>If you require a keymap other than the United States &#8220;qwerty&#8221; layout, you
-may want to take a look at this section. It offers a number of alternate layouts for your
-keyboarding enjoyment.</p>
-
-<div class="INFORMALFIGURE"><a id="AEN1009" name="AEN1009"></a>
-<p><img src="installation/setup-keymap-w.png" /></p>
-</div>
-</div>
-
-<div class="SECT2">
-<hr />
-<h3 class="SECT2"><a id="AEN1013" name="AEN1013">3.4.3 ADDSWAP</a></h3>
-
-<div class="INFORMALFIGURE"><a id="AEN1015" name="AEN1015"></a>
-<p><img src="installation/setup-swap-w.png" /></p>
-</div>
-
-<p>If you created a swap partition (back in <a href="#INSTALLATION-PARTITIONING">Section
-3.3</a>), this section will allow you to enable it. It will autodetect and display the
-swap partitions on your hard drive, allowing you to select one to format and enable.</p>
-</div>
-
-<div class="SECT2">
-<hr />
-<h3 class="SECT2"><a id="AEN1023" name="AEN1023">3.4.4 TARGET</a></h3>
-
-<div class="INFORMALFIGURE"><a id="AEN1025" name="AEN1025"></a>
-<p><img src="installation/setup-target-w.png" /></p>
-</div>
-
-<p>The target section is where your other (non-swap) partitions are formatted and mapped
-to filesystem mount points. A list of the partitions on your hard disk will be displayed.
-For each partition, you will be given the option of whether to format that partition or
-not. Depending on the kernel used, you can choose between reiserfs (the default), ext3,
-ext2, jfs, and xfs. Most people use either reiserfs or ext3. In the near future we may
-see support for reiserfs4 slip in.</p>
-
-<p>The first option in the target section is the selection of a partition on which to
-install your root (<tt class="FILENAME">/</tt>) filesystem. After that, you will be able
-to map other partitions to filesystems as you choose. (For instance, you may want your
-third partition, say <tt class="FILENAME">/dev/hda3</tt>, to be your home filesystem.
-This is just an example; map the partitions as you see fit.)</p>
-</div>
-
-<div class="SECT2">
-<hr />
-<h3 class="SECT2"><a id="AEN1035" name="AEN1035">3.4.5 SOURCE</a></h3>
-
-<p>The source section is where you select the source media from which you are installing
-Slackware. Currently there are four sources to choose from. These are CD-ROM, NFS, or a
-premounted directory.</p>
-
-<div class="INFORMALFIGURE"><a id="AEN1038" name="AEN1038"></a>
-<p><img src="installation/setup-source-w.png" /></p>
-</div>
-
-<p>The CD-ROM selection enables a CD-ROM based installation. It will offer the option of
-scanning for a CD-ROM drive or displaying a list from which you can pick your drive type.
-Make sure you have the Slackware CD in your drive before allowing it to scan.</p>
-
-<p>The NFS selection prompts for your network information and the network information for
-your NFS server. The NFS server must be set up in advance. Also note that you cannot use
-hostnames, you must use the IP addresses for both your machine and the NFS server (there
-is no name resolver on the setup disk). Naturally you must have used the <tt
-class="FILENAME">network.dsk</tt> floppy to add support for your network controller.</p>
-
-<p>The premounted directory offers the most flexibility. You can use this method to
-install from things such as Jaz disks, NFS mounts over PLIP, and FAT filesystems. Mount
-the filesystem to a location of your choosing before running setup, then specify that
-location here.</p>
-</div>
-
-<div class="SECT2">
-<hr />
-<h3 class="SECT2"><a id="AEN1054" name="AEN1054">3.4.6 SELECT</a></h3>
-
-<p>The select option allows you to select the software series that you wish to install.
-These series are described in <a href="#INSTALLATION-SOFTWARE-SERIES">Section 3.2.1</a>.
-Please note that you must install the A series to have a working base system. All other
-series are optional.</p>
-
-<div class="INFORMALFIGURE"><a id="AEN1058" name="AEN1058"></a>
-<p><img src="installation/setup-select-w.png" /></p>
-</div>
-</div>
-
-<div class="SECT2">
-<hr />
-<h3 class="SECT2"><a id="AEN1062" name="AEN1062">3.4.7 INSTALL</a></h3>
-
-<p>Assuming that you have gone through the &#8220;target&#8221;, &#8220;source&#8221;,
-and &#8220;select&#8221; options, the <var class="OPTION">install</var> option will allow
-you to select packages from your chosen software series. If not, it will prompt you to go
-back and complete the other sections of the setup program. This option allows you to
-select from six different installation methods: <var class="OPTION">full</var>, <var
-class="OPTION">newbie</var>, <var class="OPTION">menu</var>, <var
-class="OPTION">expert</var>, <var class="OPTION">custom</var>, and <var
-class="OPTION">tag path</var>.</p>
-
-<div class="INFORMALFIGURE"><a id="AEN1077" name="AEN1077"></a>
-<p><img src="installation/setup-install-w.png" /></p>
-</div>
-
-<p>The <var class="OPTION">full</var> option will install every package from all the
-software series that you chose in the &#8220;select&#8221; section. There is no further
-prompting. This is the easiest installation method, since you do not need to make any
-decisions on the actual packages to install. Of course, this option also takes up the
-most hard drive space.</p>
-
-<p>The next option is <var class="OPTION">newbie</var>. This option installs all of the
-required packages in the selected series. For all other packages, it offers a prompt
-where you can select &#8220;Yes&#8221;, &#8220;No&#8221;, or &#8220;Skip&#8221;. Yes and
-No do the obvious, while Skip will go ahead to the next software series. Additionally,
-you will see a description and size requirement for each package to help you decide if
-you need it. We recommend this option for new users, as it ensures that you get all the
-required packages installed. However, it is a little slow because of the prompting.</p>
-
-<p><var class="OPTION">Menu</var> is a faster and more advanced version of the newbie
-option. For each series, a menu is displayed, from which you can select all the
-non-required packages you want to install. Required packages are not displayed on this
-menu.</p>
-
-<p>For the more advanced user, install offers the <var class="OPTION">expert</var>
-option. This allows you complete control over what packages get installed. You can
-deselect packages that are absolutely required, resulting in a broken system. On the
-other hand, you can control exactly what goes onto your system. Simply select the
-packages from each series that you want installed. This is not recommended for the new
-user, as it is quite easy to shoot yourself in the foot.</p>
-
-<p>The <var class="OPTION">custom</var> and <var class="OPTION">tag path</var> options
-are also for advanced users. These options allow you to install based upon custom tag
-files that you created in the distribution tree. This is useful for installing to large
-numbers of machines fairly quickly. For more information on using tag files, see <a
-href="#PACKAGE-MANAGEMENT-MAKING-TAGS-AND-TAGFILES">Section 18.4</a>.</p>
-
-<p>After selecting your installation method, one of a few things will happen. If you
-selected full or menu, a menu screen will appear, allowing you to select the packages to
-be installed. If you selected full, packages will immediately start getting installed to
-the target. If you selected newbie, packages will be installed until an optional package
-is reached.</p>
-
-<p>Note that it is possible to run out of space while installing. If you selected too
-many packages for the amount of free space on the target device, you will have problems.
-The safest thing to do is to select some software and add more later, if you need it.
-This can easily be done using Slackware's package management tools. For this information,
-see <a href="#PACKAGE-MANAGEMENT">Chapter 18</a>.</p>
-</div>
-
-<div class="SECT2">
-<hr />
-<h3 class="SECT2"><a id="AEN1100" name="AEN1100">3.4.8 CONFIGURE</a></h3>
-
-<p>The configure section allows you to do some basic system configuration, now that the
-packages have been installed. What you see here depends in large part upon which software
-you have installed. You will, however, always see the following:</p>
-
-<div class="SECT3">
-<hr />
-<h4 class="SECT3"><a id="AEN1103" name="AEN1103">3.4.8.1 Kernel selection</a></h4>
-
-<p>Here you will be asked to select a kernel to install. You can install the kernel from
-the boot disk you used to install, the Slackware CD-ROM, or from another floppy which you
-(always thinking ahead) have prepared. Or you can elect to skip, in which case the
-default kernel will be installed and play will continue to the dealer's left.</p>
-
-<div class="INFORMALFIGURE"><a id="AEN1106" name="AEN1106"></a>
-<p><img src="installation/setup-kernel-w.png" /></p>
-</div>
-</div>
-
-<div class="SECT3">
-<hr />
-<h4 class="SECT3"><a id="AEN1110" name="AEN1110">3.4.8.2 Make a boot disk</a></h4>
-
-<p>Making a boot disk for future use is probably a good idea. You will have the option of
-formatting a floppy and then creating one of two types of boot disk. The first type, <var
-class="OPTION">simple</var>, simply (go figure) writes a kernel to the floppy. A more
-flexible (and highly recommended) option is <var class="OPTION">lilo</var>, which will of
-course create a lilo boot disk. See LILO in <a href="#BOOTING-LILO">Section 7.1</a> for
-more information. Of course, you may also choose to simply <var
-class="LITERAL">continue</var>, in which case no boot disk will be made.</p>
-
-<div class="INFORMALFIGURE"><a id="AEN1119" name="AEN1119"></a>
-<p><img src="installation/setup-bootdisk-w.png" /></p>
-</div>
-</div>
-
-<div class="SECT3">
-<hr />
-<h4 class="SECT3"><a id="AEN1123" name="AEN1123">3.4.8.3 Modem</a></h4>
-
-<p>You will be prompted for modem information. More specifically, you will be asked
-whether you have a modem, and if so, what serial port it is on.</p>
-
-<div class="INFORMALFIGURE"><a id="AEN1128" name="AEN1128"></a>
-<p><img src="installation/setup-modem-w.png" /></p>
-</div>
-
-<p>These next configuration subsections may or may not appear, depending on whether or
-not you installed their corresponding packages.</p>
-</div>
-
-<div class="SECT3">
-<hr />
-<h4 class="SECT3"><a id="AEN1133" name="AEN1133">3.4.8.4 Timezone</a></h4>
-
-<p>This one's pretty straightforward: you will be asked what time zone you are in. If you
-operate on Zulu time, we are very sorry; the (extremely long) list is alphabetically
-ordered, and you're at the bottom.</p>
-
-<div class="INFORMALFIGURE"><a id="AEN1138" name="AEN1138"></a>
-<p><img src="installation/setup-timezone-w.png" /></p>
-</div>
-</div>
-
-<div class="SECT3">
-<hr />
-<h4 class="SECT3"><a id="AEN1142" name="AEN1142">3.4.8.5 Mouse</a></h4>
-
-<p>This subsection simply asks what kind of mouse you have, and whether you want <tt
-class="COMMAND">gpm</tt>(8) console mouse support enabled on bootup.</p>
-
-<div class="INFORMALFIGURE"><a id="AEN1148" name="AEN1148"></a>
-<p><img src="installation/setup-mouse-w.png" /></p>
-</div>
-</div>
-
-<div class="SECT3">
-<hr />
-<h4 class="SECT3"><a id="AEN1152" name="AEN1152">3.4.8.6 Hardware clock</a></h4>
-
-<p>This subsection asks if your computer's hardware clock is set to Coordinated Universal
-Time (UTC or GMT). Most PCs are not, so you should probably say no.</p>
-
-<div class="INFORMALFIGURE"><a id="AEN1155" name="AEN1155"></a>
-<p><img src="installation/setup-hardware-clock-w.png" /></p>
-</div>
-</div>
-
-<div class="SECT3">
-<hr />
-<h4 class="SECT3"><a id="AEN1159" name="AEN1159">3.4.8.7 Font</a></h4>
-
-<p>The font subsection allows you to choose from a list of custom console fonts.</p>
-
-<div class="INFORMALFIGURE"><a id="AEN1164" name="AEN1164"></a>
-<p><img src="installation/setup-font-w.png" /></p>
-</div>
-</div>
-
-<div class="SECT3">
-<hr />
-<h4 class="SECT3"><a id="AEN1168" name="AEN1168">3.4.8.8 LILO</a></h4>
-
-<p>Here you are prompted for installation of LILO (the LInux LOader; see <a
-href="#BOOTING-LILO">Section 7.1</a> for more information).</p>
-
-<div class="INFORMALFIGURE"><a id="AEN1174" name="AEN1174"></a>
-<p><img src="installation/setup-lilo-w.png" /></p>
-</div>
-
-<p>If Slackware is to be the only operating system on your computer, <var
-class="OPTION">simple</var> should work just fine for you. If you are dual-booting, the
-<var class="OPTION">expert</var> option is a better choice. See <a
-href="#BOOTING-DUAL">Section 7.3</a> for more information on dual-booting. The third
-option, <var class="OPTION">do not install</var>, is not recommended unless you know what
-you're doing and have a very good reason for not installing LILO. If you are performing
-an expert install, you will be given a choice as to where LILO will be put. You may place
-LILO in the MBR (Master Boot Record) of your hard drive, in the superblock of your root
-Linux partition, or on a floppy disk.</p>
-</div>
-
-<div class="SECT3">
-<hr />
-<h4 class="SECT3"><a id="AEN1183" name="AEN1183">3.4.8.9 Network</a></h4>
-
-<p>The network configuration subsection is actually <tt class="COMMAND">netconfig</tt>.
-See <a href="#NETWORK-CONFIGURATION-NETCONFIG">Section 5.1</a> for more information.</p>
-</div>
-
-<div class="SECT3">
-<hr />
-<h4 class="SECT3"><a id="AEN1190" name="AEN1190">3.4.8.10 X Window Manager</a></h4>
-
-<p>This subsection will allow you to choose a default window manager for X. See <a
-href="#X-WINDOW-SYSTEM">Chapter 6</a> for more details on X and window managers.</p>
-
-<div class="INFORMALFIGURE"><a id="AEN1198" name="AEN1198"></a>
-<p><img src="installation/setup-xwmconfig-w.png" /></p>
-</div>
-
-<p>No matter which packages you installed, the last thing configure will do is ask you
-whether you want to go ahead and set a <tt class="USERNAME">root</tt> password. For
-security reasons, this is probably a good idea; however, like almost everything else in
-Slackware, this is your call.</p>
-</div>
-</div>
-</div>
-</div>
-
-<div class="CHAPTER">
-<hr />
-<h1><a id="SYSTEM-CONFIGURATION" name="SYSTEM-CONFIGURATION"></a>Chapter 4 System
-Configuration</h1>
-
-<p>Before you can configure the more advanced parts of your system, it's a good idea to
-learn how the system is organized and what commands can be used to search for files and
-programs. It's also good to know if you need to compile a custom kernel and what the
-steps for doing that are. This chapter will familiarize you with system organization and
-configuration files. Then, you can move on to configuring the more advanced parts of the
-system.</p>
-
-<div class="SECT1">
-<hr />
-<h2 class="SECT1"><a id="SYSTEM-CONFIGURATION-OVERVIEW"
-name="SYSTEM-CONFIGURATION-OVERVIEW">4.1 System Overview</a></h2>
-
-<p>It's important to understand how a Linux system is put together before diving into the
-various configuration aspects. A Linux system is significantly different from a DOS,
-Windows, or Macintosh system (with the exception of the Unix-based Mac OS X), but these
-sections will help you get acquainted with the layout so that you can easily configure
-your system to meet your needs.</p>
-
-<div class="SECT2">
-<hr />
-<h3 class="SECT2"><a id="SYSTEM-CONFIGURATION-LAYOUT"
-name="SYSTEM-CONFIGURATION-LAYOUT">4.1.1 File System Layout</a></h3>
-
-<p>The first noticeable difference between Slackware Linux and a DOS or Windows system is
-the filesystem. For starters, we do not use drive letters to denote different partitions.
-Under Linux, there is one main directory. You can relate this to the <tt
-class="DEVICENAME">C:</tt> drive under DOS. Each partition on your system is mounted to a
-directory on the main directory. It's kind of like an ever-expanding hard disk.</p>
-
-<p>We call the main directory the root directory, and it's denoted with a single slash
-(<tt class="FILENAME">/</tt>). This concept may seem strange, but it actually makes life
-easy for you when you want to add more space. For example, let's say you run out of space
-on the drive that has <tt class="FILENAME">/home</tt> on it. Most people install
-Slackware and make one big root drive. Well, since a partition can be mounted to any
-directory, you can simply go to the store and pick up a new hard drive and mount it to
-<tt class="FILENAME">/home</tt>. You've now grafted on some more space to your system.
-And all without having to move many things around.</p>
-
-<p>Below, you will find descriptions of the major top level directories under
-Slackware.</p>
-
-<div class="VARIABLELIST">
-<dl>
-<dt><tt class="FILENAME">bin</tt></dt>
-
-<dd>
-<p>Essential user programs are stored here. These represent the bare minimum set of
-programs required for a user to use the system. Things like the shell and the filesystem
-commands (<tt class="COMMAND">ls</tt>, <tt class="COMMAND">cp</tt>, and so on) are stored
-here. The <tt class="FILENAME">/bin</tt> directory usually doesn't receive modification
-after installation. If it does, it's usually in the form of package upgrades that we
-provide.</p>
-</dd>
-
-<dt><tt class="FILENAME">boot</tt></dt>
-
-<dd>
-<p>Files that are used by the Linux Loader (LILO). This directory also receives little
-modification after an installation. The kernel is stored here as of Slackware 8.1. In
-earlier releases of Slackware, the kernel was simply stored under <tt
-class="FILENAME">/</tt> , but common practice is to put the kernel and related files here
-to facilitate dual-booting.</p>
-</dd>
-
-<dt><tt class="FILENAME">dev</tt></dt>
-
-<dd>
-<p>Everything in Linux is treated as a file, even hardware devices like serial ports,
-hard disks, and scanners. In order to access these devices, a special file called a
-device node has to be present. All device nodes are stored in the <tt
-class="FILENAME">/dev</tt> directory. You will find this to be true across many Unix-like
-operating systems.</p>
-</dd>
-
-<dt><tt class="FILENAME">etc</tt></dt>
-
-<dd>
-<p>This directory holds system configuration files. Everything from the X Window
-configuration file, the user database, to the system startup scripts. The system
-administrator will become quite familiar with this directory over time.</p>
-</dd>
-
-<dt><tt class="FILENAME">home</tt></dt>
-
-<dd>
-<p>Linux is a multiuser operating system. Each user on the system is given an account and
-a unique directory for personal files. This directory is called the user's home
-directory. The <tt class="FILENAME">/home</tt> directory is provided as the default
-location for user home directories.</p>
-</dd>
-
-<dt><tt class="FILENAME">lib</tt></dt>
-
-<dd>
-<p>System libraries that are required for basic operation are stored here. The C library,
-the dynamic loader, the ncurses library, and kernel modules are among the things stored
-here.</p>
-</dd>
-
-<dt><tt class="FILENAME">mnt</tt></dt>
-
-<dd>
-<p>This directory contains temporary mount points for working on hard disks or removable
-drives. Here you'll find mount points for your CD-ROM and floppy drives.</p>
-</dd>
-
-<dt><tt class="FILENAME">opt</tt></dt>
-
-<dd>
-<p>Optional software packages. The idea behind <tt class="FILENAME">/opt</tt> is that
-each software package installs to <tt class="FILENAME">/opt/<var
-class="REPLACEABLE">software-package</var></tt>, which makes it easy to remove later.
-Slackware distributes some things in <tt class="FILENAME">/opt</tt> (such as KDE in <tt
-class="FILENAME">/opt/kde</tt>), but you are free to add anything you want to <tt
-class="FILENAME">/opt</tt>.</p>
-</dd>
-
-<dt><tt class="FILENAME">proc</tt></dt>
-
-<dd>
-<p>This is a unique directory. It's not really part of the filesystem, but a virtual
-filesystem that provides access to kernel information. Various pieces of information that
-the kernel wants you to know are conveyed to you through files in the <tt
-class="FILENAME">/proc</tt> directory. You can also send information to the kernel
-through some of these files. Try doing <tt class="COMMAND">cat /proc/cpuinfo</tt>.</p>
-</dd>
-
-<dt><tt class="FILENAME">root</tt></dt>
-
-<dd>
-<p>The system administrator is known as <tt class="USERNAME">root</tt> on the system. <tt
-class="USERNAME">root</tt>'s home directory is kept in <tt class="FILENAME">/root</tt>
-instead of <tt class="FILENAME">/home/root</tt>. The reason is simple. What if <tt
-class="FILENAME">/home</tt> was a different partition from <tt class="FILENAME">/</tt>
-and it could not be mounted? <tt class="USERNAME">root</tt> would naturally want to log
-in and repair the problem. If his home directory was on the damaged filesystem, it would
-make it difficult for him to log in.</p>
-</dd>
-
-<dt><tt class="FILENAME">sbin</tt></dt>
-
-<dd>
-<p>Essential programs that are run by <tt class="USERNAME">root</tt> and during the
-system bootup process are kept here. Normal users will not run programs in this
-directory.</p>
-</dd>
-
-<dt><tt class="FILENAME">tmp</tt></dt>
-
-<dd>
-<p>The temporary storage location. All users have read and write access to this
-directory.</p>
-</dd>
-
-<dt><tt class="FILENAME">usr</tt></dt>
-
-<dd>
-<p>This is the big directory on a Linux system. Everything else pretty much goes here,
-programs, documentation, the kernel source code, and the X Window system. This is the
-directory to which you will most likely be installing programs.</p>
-</dd>
-
-<dt><tt class="FILENAME">var</tt></dt>
-
-<dd>
-<p>System log files, cache data, and program lock files are stored here. This is the
-directory for frequently-changing data.</p>
-</dd>
-</dl>
-</div>
-
-<p>You should now have a good feel for which directories contain what on the filesystem.
-More detailed information about the filesystem layout is available in the hier(7) man
-page. The next section will help you find specific files easily, so you don't have to do
-it by hand.</p>
-</div>
-
-<div class="SECT2">
-<hr />
-<h3 class="SECT2"><a id="SYSTEM-CONFIGURATION-FINDING"
-name="SYSTEM-CONFIGURATION-FINDING">4.1.2 Finding Files</a></h3>
-
-<p>You now know what each major directory holds, but it still doesn't really help you
-find things. I mean, you could go looking through directories, but there are quicker
-ways. There are four main file search commands available in Slackware.</p>
-
-<div class="SECT3">
-<hr />
-<h4 class="SECT3"><a id="AEN1329" name="AEN1329">4.1.2.1 <tt
-class="COMMAND">which</tt></a></h4>
-
-<p>The first is the <tt class="COMMAND">which</tt>(1) command. <tt
-class="COMMAND">which</tt> is usually used to locate a program quickly. It just searches
-your <tt class="ENVAR">PATH</tt> and returns the first instance it finds and the
-directory path to it. Take this example:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">%</samp> <kbd class="USERINPUT">which bash</kbd>
-/bin/bash
-</pre>
-</td>
-</tr>
-</table>
-
-<p>From that you see that <tt class="COMMAND">bash</tt> is in the <tt
-class="FILENAME">/bin</tt> directory. This is a very limited command for searching, since
-it only searches your <tt class="ENVAR">PATH</tt>.</p>
-</div>
-
-<div class="SECT3">
-<hr />
-<h4 class="SECT3"><a id="AEN1347" name="AEN1347">4.1.2.2 <tt
-class="COMMAND">whereis</tt></a></h4>
-
-<p>The <tt class="COMMAND">whereis</tt>(1) command works similar to <tt
-class="COMMAND">which</tt>, but can also search for man pages and source files. A <tt
-class="COMMAND">whereis</tt> search for <tt class="COMMAND">bash</tt> should return
-this:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">%</samp> <kbd class="USERINPUT">whereis bash</kbd>
-bash: /bin/bash /usr/bin/bash /usr/man/man1/bash.1.gz
-</pre>
-</td>
-</tr>
-</table>
-
-<p>This command not only told us where the actual program is located, but also where the
-online documentation is stored. Still, this command is limited. What if you wanted to
-search for a specific configuration file? You can't use <tt class="COMMAND">which</tt> or
-<tt class="COMMAND">whereis</tt> for that.</p>
-</div>
-
-<div class="SECT3">
-<hr />
-<h4 class="SECT3"><a id="AEN1363" name="AEN1363">4.1.2.3 <tt
-class="COMMAND">find</tt></a></h4>
-
-<p>The <tt class="COMMAND">find</tt>(1) command allows the user to search the filesystem
-with a rich collection of search predicates. Users may specify a search with filename
-wildcards, ranges of modification or creation times, or other advanced properties. For
-example, to search for the default <tt class="FILENAME">xinitrc</tt> file on the system,
-the following command could be used.</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">%</samp> <kbd class="USERINPUT">find / -name xinitrc</kbd>
-/var/X11R6/lib/xinit/xinitrc
-</pre>
-</td>
-</tr>
-</table>
-
-<p><tt class="COMMAND">find</tt> will take a while to run, since it has to traverse the
-entire root directory tree. And if this command is run as a normal user, there will be
-permission denied error messages for directories that only <tt class="USERNAME">root</tt>
-can see. But <tt class="COMMAND">find</tt> found our file, so that's good. If only it
-could be a bit faster...</p>
-</div>
-
-<div class="SECT3">
-<hr />
-<h4 class="SECT3"><a id="AEN1378" name="AEN1378">4.1.2.4 <tt
-class="COMMAND">slocate</tt></a></h4>
-
-<p>The <tt class="COMMAND">slocate</tt>(1) command searches the entire filesystem, just
-like the find command can do, but it searches a database instead of the actual
-filesystem. The database is set to automatically update every morning, so you have a
-somewhat fresh listing of files on your system. You can manually run <tt
-class="COMMAND">updatedb</tt>(1) to update the slocate database (before running <tt
-class="COMMAND">updatedb</tt> by hand, you must first <tt class="COMMAND">su</tt> to the
-<tt class="USERNAME">root</tt> user). Here's an example of <tt
-class="COMMAND">slocate</tt> in action:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">%</samp> <kbd
-class="USERINPUT">slocate xinitrc</kbd> # we don't have to go to the root
-/var/X11R6/lib/xinit/xinitrc
-/var/X11R6/lib/xinit/xinitrc.fvwm2
-/var/X11R6/lib/xinit/xinitrc.openwin
-/var/X11R6/lib/xinit/xinitrc.twm
-</pre>
-</td>
-</tr>
-</table>
-
-<p>We got more than what we were looking for, and quickly too. With these commands, you
-should be able to find whatever you're looking for on your Linux system.</p>
-</div>
-</div>
-
-<div class="SECT2">
-<hr />
-<h3 class="SECT2"><a id="SYSTEM-CONFIGURATION-RCD" name="SYSTEM-CONFIGURATION-RCD">4.1.3
-The <tt class="FILENAME">/etc/rc.d</tt> Directory</a></h3>
-
-<p>The system initialization files are stored in the <tt class="FILENAME">/etc/rc.d</tt>
-directory. Slackware uses the BSD-style layout for its initialization files as opposed to
-System V init scripts, which tend to make configuration changes much more difficult
-without using a program specifically designed for that purpose. In BSD-init scripts, each
-runlevel is given a single rc file. In System V, each runlevel is given its own
-directory, each containing numerous init scripts. This provides an organized structure
-that is easy to maintain.</p>
-
-<p>There are several categories of initialization files. These are system startup,
-runlevels, network initialization, and System V compatibility. As per tradition, we'll
-lump everything else into another category.</p>
-
-<div class="SECT3">
-<hr />
-<h4 class="SECT3"><a id="AEN1406" name="AEN1406">4.1.3.1 System Startup</a></h4>
-
-<p>The first program to run under Slackware besides the Linux kernel is <tt
-class="COMMAND">init</tt>(8). This program reads the <tt
-class="FILENAME">/etc/inittab</tt>(5) file to see how to run the system. It runs the <tt
-class="FILENAME">/etc/rc.d/rc.S</tt> script to prepare the system before going into your
-desired runlevel. The <tt class="FILENAME">rc.S</tt> file enables your virtual memory,
-mounts your filesystems, cleans up certain log directories, initializes Plug and Play
-devices, loads kernel modules, configures PCMCIA devices, sets up serial ports, and runs
-System V init scripts (if found). Obviously <tt class="FILENAME">rc.S</tt> has a lot on
-its plate, but here are some scripts in <tt class="FILENAME">/etc/rc.d</tt> that <tt
-class="FILENAME">rc.S</tt> will call on to complete its work:</p>
-
-<div class="VARIABLELIST">
-<dl>
-<dt><tt class="FILENAME">rc.S</tt></dt>
-
-<dd>
-<p>This is the actual system initialization script.</p>
-</dd>
-
-<dt><tt class="FILENAME">rc.modules</tt></dt>
-
-<dd>
-<p>Loads kernel modules. Things like your network card, PPP support, and other things are
-loaded here. If this script finds <tt class="FILENAME">rc.netdevice</tt>, it will run
-that as well.</p>
-</dd>
-
-<dt><tt class="FILENAME">rc.pcmcia</tt></dt>
-
-<dd>
-<p>Probes for and configures any PCMCIA devices that you might have on your system. This
-is most useful for laptop users, who probably have a PCMCIA modem or network card.</p>
-</dd>
-
-<dt><tt class="FILENAME">rc.serial</tt></dt>
-
-<dd>
-<p>Configures your serial ports by running the appropriate <tt
-class="COMMAND">setserial</tt> commands.</p>
-</dd>
-
-<dt><tt class="FILENAME">rc.sysvinit</tt></dt>
-
-<dd>
-<p>Looks for System V init scripts for the desired runlevel and runs them. This is
-discussed in more detail below.</p>
-</dd>
-</dl>
-</div>
-</div>
-
-<div class="SECT3">
-<hr />
-<h4 class="SECT3"><a id="AEN1454" name="AEN1454">4.1.3.2 Runlevel Initialization
-Scripts</a></h4>
-
-<p>After system initialization is complete, <tt class="COMMAND">init</tt> moves on to
-runlevel initialization. A runlevel describes the state that your machine will be running
-in. Sound redundant? Well, the runlevel tells <tt class="COMMAND">init</tt> if you will
-be accepting multiuser logins or just a single user, whether or not you want network
-services, and if you will be using the X Window System or <tt
-class="COMMAND">agetty</tt>(8) to handle logins. The files below define the different
-runlevels in Slackware Linux.</p>
-
-<div class="VARIABLELIST">
-<dl>
-<dt><tt class="FILENAME">rc.0</tt></dt>
-
-<dd>
-<p>Halt the system (runlevel 0). By default, this is symlinked to <tt
-class="FILENAME">rc.6</tt>.</p>
-</dd>
-
-<dt><tt class="FILENAME">rc.4</tt></dt>
-
-<dd>
-<p>Multiuser startup (runlevel 4), but in X11 with KDM, GDM, or XDM as the login
-manager.</p>
-</dd>
-
-<dt><tt class="FILENAME">rc.6</tt></dt>
-
-<dd>
-<p>Reboot the system (runlevel 6).</p>
-</dd>
-
-<dt><tt class="FILENAME">rc.K</tt></dt>
-
-<dd>
-<p>Startup in single user mode (runlevel 1).</p>
-</dd>
-
-<dt><tt class="FILENAME">rc.M</tt></dt>
-
-<dd>
-<p>Multiuser mode (runlevels 2 and 3), but with the standard text-based login. This is
-the default runlevel in Slackware.</p>
-</dd>
-</dl>
-</div>
-</div>
-
-<div class="SECT3">
-<hr />
-<h4 class="SECT3"><a id="AEN1493" name="AEN1493">4.1.3.3 Network Initialization</a></h4>
-
-<p>Runlevels 2, 3, and 4 will start up the network services. The following files are
-responsible for the network initialization:</p>
-
-<div class="VARIABLELIST">
-<dl>
-<dt><tt class="FILENAME">rc.inet1</tt></dt>
-
-<dd>
-<p>Created by <tt class="COMMAND">netconfig</tt>, this file is responsible for
-configuring the actual network interface.</p>
-</dd>
-
-<dt><tt class="FILENAME">rc.inet2</tt></dt>
-
-<dd>
-<p>Runs after <tt class="FILENAME">rc.inet1</tt> and starts up basic network
-services.</p>
-</dd>
-
-<dt><tt class="FILENAME">rc.atalk</tt></dt>
-
-<dd>
-<p>Starts up AppleTalk services.</p>
-</dd>
-
-<dt><tt class="FILENAME">rc.httpd</tt></dt>
-
-<dd>
-<p>Starts up the Apache web server. Like a few other rc scripts, this one can also be
-used to stop and restart a service. <tt class="FILENAME">rc.httpd</tt> takes arguments of
-stop, start, or restart. &#13;</p>
-</dd>
-
-<dt><tt class="FILENAME">rc.news</tt></dt>
-
-<dd>
-<p>Starts up the news server.</p>
-</dd>
-</dl>
-</div>
-</div>
-
-<div class="SECT3">
-<hr />
-<h4 class="SECT3"><a id="AEN1534" name="AEN1534">4.1.3.4 System V Compatibility</a></h4>
-
-<p>System V init compatibility was introduced in Slackware 7.0. Many other Linux
-distributions make use of this style instead of the BSD style. Basically each runlevel is
-given a subdirectory for init scripts, whereas BSD style gives one init script to each
-runlevel.</p>
-
-<p>The <tt class="FILENAME">rc.sysvinit</tt> script will search for any System V init
-scripts you have in <tt class="FILENAME">/etc/rc.d</tt> and run them, if the runlevel is
-appropriate. This is useful for certain commercial software packages that install System
-V init scripts</p>
-</div>
-
-<div class="SECT3">
-<hr />
-<h4 class="SECT3"><a id="AEN1546" name="AEN1546">4.1.3.5 Other Files</a></h4>
-
-<p>The scripts described below are the other system initialization scripts. They are
-typically run from one of the major scripts above, so all you need to do is edit the
-contents.</p>
-
-<div class="VARIABLELIST">
-<dl>
-<dt><tt class="FILENAME">rc.gpm</tt></dt>
-
-<dd>
-<p>Starts up general purpose mouse services. Allows you to copy and paste at the Linux
-console. Occasionally, gpm will cause problems with the mouse when it is used under X
-windows. If you experience problems with the mouse under X, try taking away the
-executable permission from this file and stopping the gpm server.</p>
-</dd>
-
-<dt><tt class="FILENAME">rc.font</tt></dt>
-
-<dd>
-<p>Loads the custom screen font for the console.</p>
-</dd>
-
-<dt><tt class="FILENAME">rc.local</tt></dt>
-
-<dd>
-<p>Contains any specific startup commands for your system. This is empty after a fresh
-install, as it is reserved for local administrators. This script is run after all other
-initialization has taken place.</p>
-</dd>
-</dl>
-</div>
-
-<p>To enable a script, all you need to do is add the execute permissions to it with the
-<tt class="COMMAND">chmod</tt> command. To disable a script, remove the execute
-permissions from it. For more information about <tt class="COMMAND">chmod</tt>, see <a
-href="#FILESYSTEM-STRUCTURE-PERMISSIONS">Section 9.2</a>.</p>
-</div>
-</div>
-</div>
-
-<div class="SECT1">
-<hr />
-<h2 class="SECT1"><a id="SYSTEM-CONFIGURATION-KERNEL"
-name="SYSTEM-CONFIGURATION-KERNEL">4.2 Selecting a Kernel</a></h2>
-
-<p>The kernel is the part of the operating system that provides hardware access, process
-control, and overall system control. The kernel contains support for your hardware
-devices, so picking one for your system is an important setup step.</p>
-
-<p>Slackware provides more than a dozen precompiled kernels that you can pick from, each
-with a standard set of drivers and additional specific drivers. You can run one of the
-precompiled kernels or you can build your own kernel from source. Either way, you need to
-make sure that your kernel has the hardware support your system needs.</p>
-
-<div class="SECT2">
-<hr />
-<h3 class="SECT2"><a id="AEN1581" name="AEN1581">4.2.1 The <tt
-class="FILENAME">/kernels</tt> Directory on the Slackware CD-ROM</a></h3>
-
-<p>The precompiled Slackware kernels are available in the <tt
-class="FILENAME">/kernels</tt> directory on the Slackware CD-ROM or on the FTP site in
-the main Slackware directory. The available kernels change as new releases are made, so
-the documentation in that directory is always the authoritative source. The <tt
-class="FILENAME">/kernels</tt> directory has subdirectories for each kernel available.
-The subdirectories have the same name as their accompanying boot disk. In each
-subdirectory you will find the following files:</p>
-
-<div class="INFORMALTABLE"><a id="AEN1587" name="AEN1587"></a>
-<table border="0" frame="void" width="100%" class="CALSTABLE">
-<col width="33%" />
-<col width="67%" />
-<thead>
-<tr>
-<th>File</th>
-<th>Purpose</th>
-</tr>
-</thead>
-
-<tbody>
-<tr>
-<td><tt class="FILENAME">System.map</tt></td>
-<td>The system map file for this kernel</td>
-</tr>
-
-<tr>
-<td><tt class="FILENAME">bzImage</tt></td>
-<td>The actual kernel image</td>
-</tr>
-
-<tr>
-<td><tt class="FILENAME">config</tt></td>
-<td>The source configuration file for this kernel</td>
-</tr>
-</tbody>
-</table>
-</div>
-
-<p>To use a kernel, copy the <tt class="FILENAME">System.map</tt> and <tt
-class="FILENAME">config</tt> files to your <tt class="FILENAME">/boot</tt> directory and
-copy the kernel image to <tt class="FILENAME">/boot/vmlinuz</tt>. Run <tt
-class="COMMAND">/sbin/lilo</tt>(8) to install LILO for the new kernel, and then reboot
-your system. That's all there is to installing a new kernel.</p>
-
-<p>The kernels that end with a .i are IDE kernels. That is, they include no SCSI support
-in the base kernel. The kernels that end with .s are SCSI kernels. They include all the
-IDE support in .i kernels, plus SCSI support.</p>
-</div>
-
-<div class="SECT2">
-<hr />
-<h3 class="SECT2"><a id="SYSTEM-CONFIGURATION-KERNEL-COMPILE"
-name="SYSTEM-CONFIGURATION-KERNEL-COMPILE">4.2.2 Compiling a Kernel from Source</a></h3>
-
-<p>The question &#8220;Should I compile a kernel for my system?&#8221; is often asked by
-new users. The answer is a definite maybe. There are few instances where you will need to
-compile a kernel specific to your system. Most users can use a precompiled kernel and the
-loadable kernel modules to achieve a fully working system. You will want to compile a
-kernel for your system if you are upgrading kernel versions to one that we do not
-currently offer in Slackware, or if you have patched the kernel source to get special
-device support that is not in the native kernel source. Anyone with an SMP system will
-definitely want to compile a kernel with SMP support. Also, many users find a custom
-compiled kernel runs much faster on their machine. You may find it useful to compile the
-kernel with optimizations for the specific processor in your machine.</p>
-
-<p>Building your own kernel is not that hard. The first step is to make sure you have the
-kernel source installed on your system. Make sure that you installed the packages from
-the K series during the installation. You will also want to make sure you have the D
-series installed, specifically the C compiler, GNU make, and GNU binutils. In general,
-it's a good idea to have the entire D series installed if you plan on doing any kind of
-development. You can also download the latest kernel source from <a
-href="http://www.kernel.org/mirrors" target="_top">http://www.kernel.org/mirrors</a>.</p>
-
-<div class="SECT3">
-<hr />
-<h4 class="SECT3"><a id="AEN1624" name="AEN1624">4.2.2.1 Linux Kernel version 2.4.x
-Compilation</a></h4>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">%</samp> <kbd class="USERINPUT">su -</kbd>
-Password:
-<samp class="PROMPT">#</samp> <kbd class="USERINPUT">cd /usr/src/linux</kbd>
-</pre>
-</td>
-</tr>
-</table>
-
-<p>The first step is to bring the kernel source into its base state. We issue this
-command to do that (note, you may wish to back-up the <tt class="FILENAME">.config</tt>
-file as this command will delete it without warning):</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">#</samp> <kbd class="USERINPUT">make mrproper</kbd>
-</pre>
-</td>
-</tr>
-</table>
-
-<p>Now you can configure the kernel for your system. The current kernel offers three ways
-of doing this. The first is the original text-based question and answer system. It asks a
-bunch of questions and then builds a configuration file. The problem with this method is
-that if you mess up, you must start over. The method that most people prefer is the menu
-driven one. Lastly, there is an X-based kernel configuration tool. Pick the one you want
-and issue the appropriate command:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">#</samp> <kbd
-class="USERINPUT">make config</kbd> (text-based Q&amp;A version)
-<samp class="PROMPT">#</samp> <kbd
-class="USERINPUT">make menuconfig</kbd> (menu driven, text-based version)
-<samp class="PROMPT">#</samp> <kbd
-class="USERINPUT">make xconfig</kbd> (X-based version, make sure you are in X first)
-</pre>
-</td>
-</tr>
-</table>
-
-<div class="FIGURE"><a id="SYSTEM-CONFIGURATION-MAKE-MENUCONFIG"
-name="SYSTEM-CONFIGURATION-MAKE-MENUCONFIG"></a>
-<p><b>Figure 4-1. Kernel Configuration Menu</b></p>
-
-<p><img src="system-configuration/make-menuconfig-w.png" /></p>
-</div>
-
-<p>New users will probably find <tt class="COMMAND">menuconfig</tt> to be the easiest to
-use. Help screens are provided that explain the various parts of the kernel. After
-configuring your kernel, exit the configuration program. It will write the necessary
-configuration files. Now we can prepare the source tree for a build:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">#</samp> <kbd class="USERINPUT">make dep</kbd>
-<samp class="PROMPT">#</samp> <kbd class="USERINPUT">make clean</kbd>
-</pre>
-</td>
-</tr>
-</table>
-
-<p>The next step is to compile the kernel. First try issuing the <tt
-class="COMMAND">bzImage</tt> command below.</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">#</samp> <kbd class="USERINPUT">make bzImage</kbd>
-</pre>
-</td>
-</tr>
-</table>
-
-<p>This may take a while, depending on your CPU speed. During the build process, you will
-see the compiler messages. After building the kernel image, you will want to build any
-parts of the kernel that you flagged as modular.</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">#</samp> <kbd class="USERINPUT">make modules</kbd>
-</pre>
-</td>
-</tr>
-</table>
-
-<p>We can now install the kernel and modules that you compiled. To install the kernel on
-a Slackware system, these commands should be issued:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">#</samp> <kbd
-class="USERINPUT">mv /boot/vmlinuz /boot/vmlinuz.old</kbd>
-<samp class="PROMPT">#</samp> <kbd
-class="USERINPUT">cat arch/i386/boot/bzImage &#62; /vmlinuz</kbd>
-<samp class="PROMPT">#</samp> <kbd
-class="USERINPUT">mv /boot/System.map /boot/System.map.old</kbd>
-<samp class="PROMPT">#</samp> <kbd class="USERINPUT">cp System.map /boot/System.map</kbd>
-<samp class="PROMPT">#</samp> <kbd class="USERINPUT">make modules_install</kbd>
-</pre>
-</td>
-</tr>
-</table>
-
-<p>You will want to edit <tt class="FILENAME">/etc/lilo.conf</tt> and add a section to
-boot your old kernel in case your new one does not work. After doing that, run <tt
-class="COMMAND">/sbin/lilo</tt> to install the new boot block. You can now reboot with
-your new kernel.</p>
-</div>
-
-<div class="SECT3">
-<hr />
-<h4 class="SECT3"><a id="AEN1686" name="AEN1686">4.2.2.2 Linux Kernel Version
-2.6.x</a></h4>
-
-<p>The compilation of a 2.6 kernel is only slightly different from a 2.4 or a 2.2 kernel,
-but it is important that you understand the differences before delving in. It's no longer
-necessary to run <tt class="COMMAND">make dep</tt> and <tt class="COMMAND">make
-clean</tt>. Also, the kernel compilation process is not as verbose in the 2.6 kernel
-series. This results in a build process that is easier to understand, but has some short
-comings as well. If you have trouble building the kernel, it's highly recommended that
-you turn verbosity back up. You do this simply by appending <var class="OPTION">V=1</var>
-to the build. This allows you to log more information that could help a kernel developer
-or other friendly geek aid you in resolving the issue.</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">#</samp> <kbd class="USERINPUT">make bzImage V=1</kbd>
-</pre>
-</td>
-</tr>
-</table>
-</div>
-</div>
-
-<div class="SECT2">
-<hr />
-<h3 class="SECT2"><a id="SYSTEM-CONFIGURATION-KERNEL-MODULES"
-name="SYSTEM-CONFIGURATION-KERNEL-MODULES">4.2.3 Using Kernel Modules</a></h3>
-
-<p>Kernel modules are another name for device drivers that can be inserted into a running
-kernel. They allow you to extend the hardware supported by your kernel without needing to
-pick another kernel or compile one yourself.</p>
-
-<p>Modules can also be loaded and unloaded at any time, even when the system is running.
-This makes upgrading specific drivers easy for system administrators. A new module can be
-compiled, the old one removed, and the new one loaded, all without rebooting the
-machine.</p>
-
-<p>Modules are stored in the <tt class="FILENAME">/lib/modules/<var
-class="REPLACEABLE">kernel version</var></tt> directory on your system. They can be
-loaded at boot time through the <tt class="FILENAME">rc.modules</tt> file. This file is
-very well commented and offers examples for major hardware components. To see a list of
-modules that are currently active, use the <tt class="COMMAND">lsmod</tt>(1) command:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">#</samp> <kbd class="USERINPUT">lsmod</kbd>
-Module Size Used by
-parport_pc 7220 0
-parport 7844 0 [parport_pc]
-</pre>
-</td>
-</tr>
-</table>
-
-<p>You can see here that I only have the parallel port module loaded. To remove a module,
-you use the <tt class="COMMAND">rmmod</tt>(1) command. Modules can be loaded by the <tt
-class="COMMAND">modprobe</tt>(1) or <tt class="COMMAND">insmod</tt>(1) command. <tt
-class="COMMAND">modprobe</tt> is usually safer because it will load any modules that the
-one you're trying to load depends on.</p>
-
-<p>A lot of users never have to load or unload modules by hand. They use the kernel
-autoloader for module management. By default, Slackware includes <var
-class="OPTION">kmod</var> in its kernels. <var class="OPTION">kmod</var> is a kernel
-option that enables the kernel to automatically load modules as they are requested. For
-more information on <var class="OPTION">kmod</var> and how it is configured, see <tt
-class="FILENAME">/usr/src/linux/Documentation/kmod.txt</tt>. You'll have needed to have
-the kernel source package, or downloaded kernel source from <a href="http://kernel.org"
-target="_top">http://kernel.org</a>.</p>
-
-<p>More information can be found in the man pages for each of these commands, plus the
-<tt class="FILENAME">rc.modules</tt> file.</p>
-</div>
-</div>
-</div>
-
-<div class="CHAPTER">
-<hr />
-<h1><a id="NETWORK-CONFIGURATION" name="NETWORK-CONFIGURATION"></a>Chapter 5 Network
-Configuration</h1>
-
-<div class="SECT1">
-<h2 class="SECT1"><a id="NETWORK-CONFIGURATION-NETCONFIG"
-name="NETWORK-CONFIGURATION-NETCONFIG">5.1 Introduction: netconfig is your
-friend.</a></h2>
-
-<p>When you initially installed Slackware, the setup program invoked the <tt
-class="COMMAND">netconfig</tt> program. <tt class="COMMAND">netconfig</tt> attempted to
-perform the following functions for you:</p>
-
-<ul>
-<li>
-<p>It asked you for the name of your computer, and the domain name for your computer.</p>
-</li>
-
-<li>
-<p>It gave a brief explanation of the various types of addressing schemes, told when they
-should be used, and asked you which IP addressing scheme you wished to use to configure
-your network card:</p>
-
-<ul>
-<li>
-<p>Static-IP</p>
-</li>
-
-<li>
-<p>DHCP</p>
-</li>
-
-<li>
-<p>Loopback</p>
-</li>
-</ul>
-
-<br />
-<br />
-</li>
-
-<li>
-<p>It then offered to probe for a network card to configure.</p>
-</li>
-</ul>
-
-<p><tt class="COMMAND">netconfig</tt> will generally take care of about 80% of the work
-of configuring your LAN network connection if you will let it. Note that I would strongly
-suggest that you review your config file for a couple of reasons:</p>
-
-<ol type="1">
-<li>
-<p>You should never trust a setup program to properly configure your computer. If you use
-a setup program, you should review the configuration yourself.</p>
-</li>
-
-<li>
-<p>If you are still learning Slackware and Linux system management, viewing a working
-configuration can be helpful. You'll at least know what the configuration should look
-like. This will allow you to correct problems due to misconfiguration of the system at a
-later date.</p>
-</li>
-</ol>
-</div>
-
-<div class="SECT1">
-<hr />
-<h2 class="SECT1"><a id="NETWORK-CONFIGURATION-HARDWARE"
-name="NETWORK-CONFIGURATION-HARDWARE">5.2 Network Hardware Configuration</a></h2>
-
-<p>Having decided that you wish to bring your Slackware machine on to some form of
-network, the first thing you'll need is a Linux-compatible network card. You will need to
-take a little care to ensure that the card is truly Linux-compatible (please refer to the
-Linux Documentation Project and/or the kernel documentation for information on the
-current status of your proposed network card). As a general rule, you will most likely be
-pleasantly surprised by the number of networking cards that are supported under the more
-modern kernels. Having said that, I'd still suggest referring to any of the various Linux
-hardware compatibility lists (such as <a
-href="http://www.eskimo.com/%7Elo/linux/hardwarelinks.html" target="_top">The GNU/Linux
-Beginners Group Hardware Compatibility Links</a> and <a
-href="http://www.linux.org/docs/ldp/howto/Hardware-HOWTO/" target="_top">The Linux
-Documentation Project Hardware HOWTO</a>) that are available on the Internet before
-purchasing your card. A little extra time spent in research can save days or even weeks
-trying to troubleshoot a card that isn't compatible with Linux at all.</p>
-
-<p>When you visit the Linux Hardware Compatibility lists available on the Internet, or
-when you refer to the kernel documentation installed on your machine, it would be wise to
-note which kernel module you'll need to use to support your network card.</p>
-
-<div class="SECT2">
-<hr />
-<h3 class="SECT2"><a id="NETWORK-CONFIGURATION-HARDWARE-MODULES"
-name="NETWORK-CONFIGURATION-HARDWARE-MODULES">5.2.1 Loading Network Modules</a></h3>
-
-<p>Kernel modules that are to be loaded on boot-up are loaded from the <tt
-class="FILENAME">rc.modules</tt> file in <tt class="FILENAME">/etc/rc.d</tt> or by the
-kernel's auto module loading started by <tt class="FILENAME">/etc/rc.d/rc.hotplug</tt>.
-The default <tt class="FILENAME">rc.modules</tt> file includes a Network device support
-section. If you open <tt class="FILENAME">rc.modules</tt> and look for that section,
-you'll notice that it first checks for an executable <tt
-class="FILENAME">rc.netdevice</tt> file in <tt class="FILENAME">/etc/rc.d/</tt>. This
-script is created if <tt class="COMMAND">setup</tt> successfully autoprobes your network
-device during installation.</p>
-
-<p>Below that &#8220;if&#8221; block is a list of network devices and modprobe lines,
-each commented out. Find your device and uncomment the corresponding modprobe line, then
-save the file. Running <tt class="FILENAME">rc.modules</tt> as <tt
-class="USERNAME">root</tt> should now load your network device driver (as well as any
-other modules that are listed and uncommented). Note that some modules (such as the
-ne2000 driver) require parameters; make sure you select the correct line.</p>
-</div>
-
-<div class="SECT2">
-<hr />
-<h3 class="SECT2"><a id="NETWORK-CONFIGURATION-HARDWARE-LAN"
-name="NETWORK-CONFIGURATION-HARDWARE-LAN">5.2.2 LAN (10/100/1000Base-T and Base-2)
-cards</a></h3>
-
-<p>This heading encompasses all of the internal PCI and ISA networking cards. Drivers for
-these cards are provided via loadable kernel modules as covered in the previous
-paragraph. <tt class="FILENAME">/sbin/netconfig</tt> should have probed for your card and
-successfully set up your <tt class="FILENAME">rc.netdevice</tt> file. If this did not
-occur, the most likely problem would be that the module that you're attempting to load
-for a given card is incorrect (it is not unheard of for different generations of the same
-brand of card from the same manufacturer to require different modules). If you are
-certain that the module that you're attempting to load is the correct one, your next best
-bet would be to refer to the documentation for the module in an attempt to discover
-whether or not specific parameters are required during when the module is
-initialized.</p>
-</div>
-
-<div class="SECT2">
-<hr />
-<h3 class="SECT2"><a id="NETWORK-CONFIGURATION-HARDWARE-MODEMS"
-name="NETWORK-CONFIGURATION-HARDWARE-MODEMS">5.2.3 Modems</a></h3>
-
-<p>Like LAN cards, modems can come with various bus support options. Until recently, most
-modems were 8 or 16 bit ISA cards. With the efforts of Intel and motherboard
-manufacturers everywhere to finally kill off the ISA bus completely, it is common now to
-find that most modems are either external modems that connect to a serial or USB port or
-are internal PCI modems. If you wish for your modem to work with Linux, it is <span
-class="emphasis"><i class="EMPHASIS">VITALLY</i></span> important to research your
-prospective modem purchase, particularly if you are considering purchasing a PCI modem.
-Many, if not most, PCI modems available on store shelves these days are WinModems.
-WinModems lack some basic hardware on the modem card itself: the functions performed by
-this hardware are typically offloaded onto the CPU by the modem driver and the Windows
-operating system. This means that they do not have the standard serial interface that
-PPPD will be expecting to see when you try to dial out to your Internet Service
-Provider.</p>
-
-<p>If you want to be absolutely sure that the modem you're purchasing will work with
-Linux, purchase an external hardware modem that connects to the serial port on your PC.
-These are guaranteed to work better and be less trouble to install and maintain, though
-they require external power and tend to cost more.</p>
-
-<p>There are several web sites that provide drivers and assistance for configuring
-WinModem based devices. Some users have reported success configuring and installing
-drivers for the various winmodems, including Lucent, Conexant, and Rockwell chipsets. As
-the required software for these devices is not an included part of Slackware, and varies
-from driver to driver, we will not go into detail on them.</p>
-</div>
-
-<div class="SECT2">
-<hr />
-<h3 class="SECT2"><a id="NETWORK-CONFIGURATION-HARDWARE-PCMCIA"
-name="NETWORK-CONFIGURATION-HARDWARE-PCMCIA">5.2.4 PCMCIA</a></h3>
-
-<p>As part of your Slackware install, you are given the opportunity to install the pcmcia
-package (in the &#8220;A&#8221; series of packages). This package contains the
-applications and setup files required to work with PCMCIA cards under Slackware. It is
-important to note that the pcmcia package only installs the generic software required to
-work with PCMCIA cards under Slackware. It does NOT install any drivers or modules. The
-available modules and drivers will be in the <tt class="FILENAME">/lib/modules/`uname
--r`/pcmcia</tt> directory. You may need to do some experimentation to find a module that
-will work with your network card.</p>
-
-<p>You will need to edit <tt class="FILENAME">/etc/pcmcia/network.opts</tt> (for an
-Ethernet card) or <tt class="FILENAME">/etc/pcmcia/wireless.opts</tt> (if you have a
-wireless networking card). Like most Slackware configuration files, these two files are
-very well commented and it should be easy to determine which modifications need to be
-made.</p>
-</div>
-</div>
-
-<div class="SECT1">
-<hr />
-<h2 class="SECT1"><a id="NETWORK-CONFIGURATION-TCPIP"
-name="NETWORK-CONFIGURATION-TCPIP">5.3 TCP/IP Configuration</a></h2>
-
-<p>At this point, your network card should be physically installed in your computer, and
-the relevant kernel modules should be loaded. You will not yet be able to communicate
-over your network card, but information about the network device can be obtained with <tt
-class="COMMAND">ifconfig -a</tt>.</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">#</samp> <kbd class="USERINPUT">ifconfig -a</kbd>
-eth0 Link encap:Ethernet HWaddr 00:A0:CC:3C:60:A4
-UP BROADCAST NOTRAILERS RUNNING MULTICAST MTU:1500 Metric:1
-RX packets:110081 errors:1 dropped:0 overruns:0 frame:0
-TX packets:84931 errors:0 dropped:0 overruns:0 carrier:0
-collisions:0 txqueuelen:100
-RX bytes:114824506 (109.5 Mb) TX bytes:9337924 (8.9 Mb)
-Interrupt:5 Base address:0x8400
-
-lo Link encap:Local Loopback
-inet addr:127.0.0.1 Mask:255.0.0.0
-UP LOOPBACK RUNNING MTU:16436 Metric:1
-RX packets:2234 errors:0 dropped:0 overruns:0 frame:0
-TX packets:2234 errors:0 dropped:0 overruns:0 carrier:0
-collisions:0 txqueuelen:0
-RX bytes:168758 (164.8 Kb) TX bytes:168758 (164.8 Kb)
-</pre>
-</td>
-</tr>
-</table>
-
-<p>If you just typed <tt class="COMMAND">/sbin/ifconfig</tt> without the <var
-class="OPTION">-a</var> suffix, you would not see the <tt class="FILENAME">eth0</tt>
-interface, as your network card does not yet have a valid IP address or route.</p>
-
-<p>While there are many different ways to setup and subnet a network, all of them can be
-broken down into two types: Static and Dynamic. Static networks are setup such that each
-node (geek lingo for thing with an IP address) always has the same IP address. Dynamic
-networks are setup in such a way that the IP addresses for the nodes are controlled by a
-single server called the DHCP server.</p>
-
-<div class="SECT2">
-<hr />
-<h3 class="SECT2"><a id="NETWORK-CONFIGURATION-TCPIP-DHCP"
-name="NETWORK-CONFIGURATION-TCPIP-DHCP">5.3.1 DHCP</a></h3>
-
-<p>DHCP (or Dynamic Host Configuration Protocol), is a means by which an IP address may
-be assigned to a computer on boot. When the DHCP <span class="emphasis"><i
-class="EMPHASIS">client</i></span> boots, it puts out a request on the Local Area Network
-for a DHCP <span class="emphasis"><i class="EMPHASIS">server</i></span> to assign it an
-IP address. The DHCP server has a pool (or <span class="emphasis"><i
-class="EMPHASIS">scope</i></span>) of IP addresses available. The server will respond to
-this request with an IP address from the pool, along with a <span class="emphasis"><i
-class="EMPHASIS">lease time</i></span>. Once the lease time for a given IP address lease
-has expired, the client must contact the server again and repeat the negotiation.</p>
-
-<p>The client will then accept the IP address from the server and will configure the
-requested interface with the IP address. There is one more handy trick that DHCP clients
-use for negotiating the IP address that they will be assigned, however. The client will
-remember it's last assigned IP address, and will request that the server re-assign that
-IP address to the client again upon next negotiation. If possible, the server will do so,
-but if not, a new address is assigned. So, the negotiation resembles the following:</p>
-
-<p class="LITERALLAYOUT">&nbsp;&nbsp;&nbsp;&nbsp;<span class="emphasis"><i
-class="EMPHASIS">Client</i></span>:&nbsp;Is&nbsp;there&nbsp;a&nbsp;DHCP&nbsp;server&nbsp;available&nbsp;on&nbsp;the&nbsp;LAN?<br />
-
-&nbsp;&nbsp;&nbsp;&nbsp;<span class="emphasis"><i
-class="EMPHASIS">Server</i></span>:&nbsp;Yes,&nbsp;there&nbsp;is.&nbsp;Here&nbsp;I&nbsp;am.<br />
-
-&nbsp;&nbsp;&nbsp;&nbsp;<span class="emphasis"><i
-class="EMPHASIS">Client</i></span>:&nbsp;I&nbsp;need&nbsp;an&nbsp;IP&nbsp;address.<br />
-&nbsp;&nbsp;&nbsp;&nbsp;<span class="emphasis"><i
-class="EMPHASIS">Server</i></span>:&nbsp;You&nbsp;may&nbsp;take&nbsp;192.168.10.10&nbsp;for&nbsp;19200&nbsp;seconds.<br />
-
-&nbsp;&nbsp;&nbsp;&nbsp;<span class="emphasis"><i
-class="EMPHASIS">Client</i></span>:&nbsp;Thank&nbsp;you.</p>
-
-<p class="LITERALLAYOUT">&nbsp;&nbsp;&nbsp;&nbsp;<span class="emphasis"><i
-class="EMPHASIS">Client</i></span>:&nbsp;Is&nbsp;there&nbsp;a&nbsp;DHCP&nbsp;server&nbsp;available&nbsp;on&nbsp;the&nbsp;LAN?<br />
-
-&nbsp;&nbsp;&nbsp;&nbsp;<span class="emphasis"><i
-class="EMPHASIS">Server</i></span>:Yes,&nbsp;there&nbsp;is.&nbsp;Here&nbsp;I&nbsp;am.<br />
-
-&nbsp;&nbsp;&nbsp;&nbsp;<span class="emphasis"><i
-class="EMPHASIS">Client</i></span>:I&nbsp;need&nbsp;an&nbsp;IP&nbsp;address.&nbsp;The&nbsp;last&nbsp;time&nbsp;we<br />
-
-&nbsp;&nbsp;&nbsp;&nbsp;talked,&nbsp;I&nbsp;had&nbsp;192.168.10.10;<br />
-&nbsp;&nbsp;&nbsp;&nbsp;May&nbsp;I&nbsp;have&nbsp;it&nbsp;again?<br />
-&nbsp;&nbsp;&nbsp;&nbsp;<span class="emphasis"><i
-class="EMPHASIS">Server</i></span>:Yes,&nbsp;you&nbsp;may&nbsp;(or&nbsp;No,&nbsp;you&nbsp;may&nbsp;not:&nbsp;take&nbsp;192.168.10.12&nbsp;instead).<br />
-
-&nbsp;&nbsp;&nbsp;&nbsp;<span class="emphasis"><i
-class="EMPHASIS">Client</i></span>:&nbsp;Thank&nbsp;you.</p>
-
-<p>The DHCP client in Linux is <tt class="COMMAND">/sbin/dhcpcd</tt>. If you load <tt
-class="FILENAME">/etc/rc.d/rc.inet1</tt> in your favorite text editor, you will notice
-that <tt class="COMMAND">/sbin/dhcpcd</tt> is called about midway through the script.
-This will force the conversation shown above. <tt class="COMMAND">dhcpcd</tt> will also
-track the amount of time left on the lease for the current IP address, and will
-automatically contact the DHCP server with a request to renew the lease when necessary.
-DHCP can also control related information, such as what ntp server to use, what route to
-take, etc.</p>
-
-<p>Setting up DHCP on Slackware is simple. Just run <tt class="COMMAND">netconfig</tt>
-and select DHCP when offered. If you have more than one NIC and do not wish <tt
-class="FILENAME">eth0</tt> to be configured by DHCP, just edit the <tt
-class="FILENAME">/etc/rc.d/rc.inet1.conf</tt> file and change the related variable for
-your NIC to &#8220;<var class="LITERAL">YES</var>&#8221;.</p>
-</div>
-
-<div class="SECT2">
-<hr />
-<h3 class="SECT2"><a id="NETWORK-CONFIGURATION-TCPIP-STATIC"
-name="NETWORK-CONFIGURATION-TCPIP-STATIC">5.3.2 Static IP</a></h3>
-
-<p>Static IP addresses are fixed addresses that only change if manually told to. These
-are used in any case where an administrator doesn't want the IP information to change,
-such for internal servers on a LAN, any server connected to the Internet, and networked
-routers. With static IP addressing, you assign an address and leave it at that. Other
-machines know that you are always at that certain IP address and can contact you at that
-address always.</p>
-</div>
-
-<div class="SECT2">
-<hr />
-<h3 class="SECT2"><a id="NETWORK-CONFIGURATION-TCPIP-CONF"
-name="NETWORK-CONFIGURATION-TCPIP-CONF">5.3.3 <tt
-class="FILENAME">/etc/rc.d/rc.inet1.conf</tt></a></h3>
-
-<p>If you plan on assigning an IP address to your new Slackware box, you may do so either
-through the <tt class="FILENAME">netconfig</tt> script, or you may edit <tt
-class="FILENAME">/etc/rc.d/rc.inet1.conf</tt>. In <tt
-class="FILENAME">/etc/rc.d/rc.inet1.conf</tt> , you will notice:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="PROGRAMLISTING">
- # Primary network interface card (eth0)
- IPADDR[0]=""
- NETMASK[0]=""
- USE_DHCP[0]=""
- DHCP_HOSTNAME[0]=""
-</pre>
-</td>
-</tr>
-</table>
-
-<p>Then further at the bottom:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="PROGRAMLISTING">
- GATEWAY=""
-</pre>
-</td>
-</tr>
-</table>
-
-<p>In this case, our task is merely to place the correct information between the
-double-quotes. These variables are called by <tt class="FILENAME">/etc/rc.d/rc.inet1</tt>
-at boot time to setup the nics. For each NIC, just enter the correct IP information, or
-put &#8220;<var class="LITERAL">YES</var>&#8221; for <var class="LITERAL">USE_DHCP</var>.
-Slackware will startup the interfaces with the information placed here in the order they
-are found.</p>
-
-<p>The <var class="LITERAL">DEFAULT_GW</var> variable sets up the default route for
-Slackware. All communications between your computer and other computers on the Internet
-must pass through that gateway if no other route is specified for them. If you are using
-DHCP, you will usually not need to enter anything here, as the DHCP server will specify
-what gateway to use.</p>
-</div>
-
-<div class="SECT2">
-<hr />
-<h3 class="SECT2"><a id="NETWORK-CONFIGURATION-TCPIP-RESOLVER"
-name="NETWORK-CONFIGURATION-TCPIP-RESOLVER">5.3.4 <tt
-class="FILENAME">/etc/resolv.conf</tt></a></h3>
-
-<p>Ok, so you've got an IP address, you've got a default gateway, you may even have ten
-million dollars (give us some), but what good is that if you can't resolve names to IP
-addresses? No one wants to type in <tt class="HOSTID">72.9.234.112</tt> into their web
-browser to reach <tt class="HOSTID">www.slackbook.org</tt>. After all, who other than the
-authors would memorize that IP address? We need to setup DNS, but how? That's where <tt
-class="FILENAME">/etc/resolv.conf</tt> comes into play.</p>
-
-<p>Chances are you already have the proper options in <tt
-class="FILENAME">/etc/resolv.conf</tt>. If you setup your network connection using DHCP,
-the DHCP server should handle updating this file for you. (Technically the DHCP server
-just tells <tt class="COMMAND">dhcpcd</tt> what to put here, and it obeys.) If you need
-to manually update your DNS server list though, you'll need to hand edit <tt
-class="FILENAME">/etc/resolv.conf</tt>. Below is an example:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">#</samp> <kbd class="USERINPUT">cat /etc/resolv.conf</kbd>
-nameserver 192.168.1.254
-search lizella.net
-</pre>
-</td>
-</tr>
-</table>
-
-<p>The first line is simple. The nameserver directive tells us what DNS servers to query.
-By necessity these are always IP addresses. You may have as many listed there as you
-like. Slackware will happily check one after the other until one returns a match.</p>
-
-<p>The second line is a little more interesting. The search directive gives us a list of
-domain names to assume whenever a DNS request is made. This allows you to contact a
-machine by only the first part of its FQDN (Fully Qualified Domain Name). For example, if
-&#8220;slackware.com&#8221; were in your search path, you could reach <tt
-class="HOSTID">http://store.slackware.com</tt> by just pointing your web browser at <tt
-class="HOSTID">http://store</tt>.</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">#</samp> <kbd class="USERINPUT">ping -c 1 store</kbd>
-PING store.slackware.com (69.50.233.153): 56 data bytes
-64 bytes from 69.50.233.153 : icmp_seq=0 ttl=64 time=0.251 ms
-1 packets transmitted, 1 packets received, 0% packet loss
-round-trip min/avg/max = 0.251/0.251/0.251 ms
-</pre>
-</td>
-</tr>
-</table>
-
-<br />
-<br />
-</div>
-
-<div class="SECT2">
-<hr />
-<h3 class="SECT2"><a id="NETWORK-CONFIGURATION-TCPIP-HOSTS"
-name="NETWORK-CONFIGURATION-TCPIP-HOSTS">5.3.5 <tt
-class="FILENAME">/etc/hosts</tt></a></h3>
-
-<p>Now that we've got DNS working fine, what if we want to bypass our DNS server, or add
-a DNS entry for a machine that isn't in DNS? Slackware includes the oft-loved <tt
-class="FILENAME">/etc/hosts</tt> file which contains a local list of DNS names and IP
-addresses they should match to.</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">#</samp> <kbd class="USERINPUT">cat /etc/hosts</kbd>
-127.0.0.1 localhost locahost.localdomain
-192.168.1.101 redtail
-172.14.66.32 foobar.slackware.com
-</pre>
-</td>
-</tr>
-</table>
-
-<p>Here you can see that localhost has an IP address of <tt class="HOSTID">127.0.0.1</tt>
-(always reserved for localhost), redtail can be reached at <tt
-class="HOSTID">192.168.1.101</tt>, and <tt class="HOSTID">foobar.slackware.com</tt> is
-<tt class="HOSTID">172.14.66.32</tt>.</p>
-</div>
-</div>
-
-<div class="SECT1">
-<hr />
-<h2 class="SECT1"><a id="NETWORK-CONFIGURATION-PPP" name="NETWORK-CONFIGURATION-PPP">5.4
-PPP</a></h2>
-
-<p>Many people still connect to the Internet through some kind of dialup connection. The
-most common method is PPP, though SLIP is still occasionally used. Setting up your system
-to speak PPP to a remote server is pretty easy. We've included a few tools to help you in
-setting it up.</p>
-
-<div class="SECT2">
-<hr />
-<h3 class="SECT2"><a id="AEN1954" name="AEN1954">5.4.1 <tt
-class="COMMAND">pppsetup</tt></a></h3>
-
-<p>Slackware includes a program called <tt class="COMMAND">pppsetup</tt> to configure
-your system to use your dialup account. It shares a look and feel similar to our <tt
-class="COMMAND">netconfig</tt> program. To run the program, make sure you are logged in
-as root. Then type <tt class="COMMAND">pppsetup</tt> to run it. You should see a screen
-like this:</p>
-
-<p>The program will present a series of questions, to which you will feed it appropriate
-answers. Things like your modem device, the modem initialization string, and the ISP
-phone number. Some items will have a default, which you can accept in most cases.</p>
-
-<p>After the program runs, it will create a <tt class="COMMAND">ppp-go</tt> program and a
-<tt class="COMMAND">ppp-off</tt> program. These are used to start and stop, respectively,
-the PPP connection. The two programs are located in <tt class="FILENAME">/usr/sbin</tt>
-and need root privileges to run.</p>
-</div>
-
-<div class="SECT2">
-<hr />
-<h3 class="SECT2"><a id="AEN1969" name="AEN1969">5.4.2 <tt
-class="FILENAME">/etc/ppp</tt></a></h3>
-
-<p>For most users, running <tt class="COMMAND">pppsetup</tt> will be sufficient. However,
-there may be an instance where you want to tweak some of the values used by the PPP
-daemon. All of the configuration information is kept in <tt
-class="FILENAME">/etc/ppp</tt>. Here is a list of what the different files are for:</p>
-
-<div class="INFORMALTABLE"><a id="AEN1975" name="AEN1975"></a>
-<table border="0" frame="void" class="CALSTABLE">
-<col width="1*" />
-<col width="3*" />
-<tbody>
-<tr>
-<td><tt class="COMMAND">ip-down</tt></td>
-<td>
-<p>This script is run by <tt class="COMMAND">pppd</tt> after the PPP connection is
-ended.</p>
-</td>
-</tr>
-
-<tr>
-<td><tt class="COMMAND">ip-up</tt></td>
-<td>
-<p>This script is run by <tt class="COMMAND">pppd</tt> when there's a successful ppp
-connection. Put any commands you want run after a successful connection in this file.</p>
-</td>
-</tr>
-
-<tr>
-<td><tt class="FILENAME">options</tt></td>
-<td>
-<p>General configuration options for <tt class="COMMAND">pppd</tt>.</p>
-</td>
-</tr>
-
-<tr>
-<td><tt class="FILENAME">options.demand</tt></td>
-<td>
-<p>General configuration options for <tt class="COMMAND">pppd</tt> when run in demand
-dialing mode.</p>
-</td>
-</tr>
-
-<tr>
-<td><tt class="COMMAND">pppscript</tt></td>
-<td>
-<p>The commands sent to the modem.</p>
-</td>
-</tr>
-
-<tr>
-<td><tt class="FILENAME">pppsetup.txt</tt></td>
-<td>
-<p>A log of what you entered when you ran <tt class="COMMAND">pppsetup</tt>.</p>
-</td>
-</tr>
-</tbody>
-</table>
-</div>
-
-<div class="NOTE">
-<table class="NOTE" width="100%" border="0">
-<tr>
-<td width="25" align="CENTER" valign="TOP"><img src="./imagelib/admon/note.png"
-hspace="5" alt="Note" /></td>
-<td align="LEFT" valign="TOP">
-<p>Most of these files won't be there until after you run <tt
-class="COMMAND">pppsetup</tt>.</p>
-</td>
-</tr>
-</table>
-</div>
-</div>
-</div>
-
-<div class="SECT1">
-<hr />
-<h2 class="SECT1"><a id="NETWORK-CONFIGURATION-WIRELESS"
-name="NETWORK-CONFIGURATION-WIRELESS">5.5 Wireless</a></h2>
-
-<p>Wireless networking is still a relatively new thing in the world of computers, yet is
-quickly catching on as more people begin to purchase laptops and want networking on the
-go, without having to fool with some old twisted pair cable. This trend doesn't appear to
-be slowing down. Unfortunately, wireless networking isn't yet as strongly supported in
-Linux as traditional wired networking.</p>
-
-<p>There are three basic steps to configuring an 802.11 wireless Ethernet card:</p>
-
-<ol type="1">
-<li>
-<p>Hardware support for the wireless card</p>
-</li>
-
-<li>
-<p>Configure the card to connect to a wireless access point</p>
-</li>
-
-<li>
-<p>Configure the network</p>
-</li>
-</ol>
-
-<div class="SECT2">
-<hr />
-<h3 class="SECT2"><a id="AEN2033" name="AEN2033">5.5.1 Hardware Support</a></h3>
-
-<p>Hardware support for a wireless card is provided through the kernel, either with a
-module or built in to the kernel. Generally, most newer Ethernet cards are provided
-through kernel modules, so you'll want to determine the appropriate kernel module and
-load it through <tt class="FILENAME">/etc/rc.d/rc.modules</tt>. <tt
-class="COMMAND">netconfig</tt> may not detect your wireless card, so you'll probably need
-to determine the card yourself. See <a
-href="http://www.hpl.hp.com/personal/Jean_Tourrilhes/Linux/"
-target="_top">http://www.hpl.hp.com/personal/Jean_Tourrilhes/Linux/</a> for more
-information on kernel drivers for various wireless cards.</p>
-</div>
-
-<div class="SECT2">
-<hr />
-<h3 class="SECT2"><a id="AEN2044" name="AEN2044">5.5.2 Configure the Wireless
-Settings</a></h3>
-
-<p>The vast majority of this work is done by <tt class="COMMAND">iwconfig</tt>, so as
-always read the man page for <tt class="COMMAND">iwconfig</tt> if you need more
-information.</p>
-
-<p>First, you'll want to configure your wireless access point. Wireless access points
-vary quite a bit in their terminology, and how to configure them, so you may need to
-adjust a bit to accommodate your hardware. In general, you'll need at least the following
-information:</p>
-
-<ul>
-<li>
-<p>The domain ID, or name of the network (called the ESSID by <tt
-class="COMMAND">iwconfig</tt>)</p>
-</li>
-
-<li>
-<p>The channel the WAP uses</p>
-</li>
-
-<li>
-<p>The encryption settings, including any keys used (preferably in hexadecimal)</p>
-</li>
-</ul>
-
-<div class="WARNING">
-<table class="WARNING" width="100%" border="0">
-<tr>
-<td width="25" align="CENTER" valign="TOP"><img src="./imagelib/admon/warning.png"
-hspace="5" alt="Warning" /></td>
-<td align="LEFT" valign="TOP">
-<p>A NOTE ABOUT WEP. WEP is quit flawed, but it's much better than nothing. If you wish a
-greater degree of security on your wireless network, you should investigate VPNs or
-IPSec, both of which are beyond the scope of this document. You might also configure your
-WAP not to advertise its domain ID/ ESSID. A thorough discussion of wireless policy is
-beyond the scope of this section, but a quick Google search will turn up more than you
-ever wanted to know.</p>
-</td>
-</tr>
-</table>
-</div>
-
-<p>Once you've gathered the above information, and assuming you've used <tt
-class="COMMAND">modprobe</tt> to load the appropriate kernel driver, you can edit <tt
-class="FILENAME">rc.wireless.conf</tt> and add your settings. The <tt
-class="FILENAME">rc.wireless.conf</tt> file is a bit untidy. The least effort is to
-modify the generic section with your ESSID and KEY, and CHANNEL if required by your card.
-(Try not setting CHANNEL, and if it works, great; if not, set the CHANNEL as
-appropriate.) If you're daring, you can modify the file so that only the necessary
-variables are set. The variable names in <tt class="FILENAME">rc.wireless.conf</tt>
-correspond to the <tt class="COMMAND">iwconfig</tt> parameters, and are read by <tt
-class="FILENAME">rc.wireless</tt> and used in the appropriate <tt
-class="COMMAND">iwconfig</tt> commands.</p>
-
-<p>If you have your key in hexadecimal, that's ideal, since you can be fairly confident
-that your WAP and <tt class="COMMAND">iwconfig</tt> will agree on the key. If you only
-have a string, you can't be sure how your WAP will translate that into a hexadecimal key,
-so some guesswork may be needed (or get your WAP's key in hex).</p>
-
-<p>Once you've modified <tt class="FILENAME">rc.wireless.conf</tt>, run <tt
-class="FILENAME">rc.wireless</tt> as <tt class="USERNAME">root</tt>, then run <tt
-class="FILENAME">rc.inet1</tt>, again as <tt class="USERNAME">root</tt>. You can test
-your wireless networking with standard testing tools such as <tt
-class="COMMAND">ping</tt>, along with <tt class="COMMAND">iwconfig</tt>. If you have a
-wired interface you may wish to use <tt class="COMMAND">ifconfig</tt> to turn those
-interfaces off while you test your wireless networking to ensure there's no interference.
-You may also want to test your changes through a reboot.</p>
-
-<p>Now that you've seen how to edit <tt class="FILENAME">/etc/rc.d/rc.wireless</tt> for
-you default network, let's take a closer look at iwconfig and see how it all works. This
-will teach you the quick and dirty way of setting up wifi for those times when you find
-yourself at an Internet cafe, coffee shop, or any other wifi hot spot and wish to get
-online.</p>
-
-<p>The first step is to tell your wireless NIC what network to join. Make sure you
-replace &#8220;<tt class="FILENAME">eth0</tt>&#8221; with whatever network interface your
-wireless card uses and change &#8220;<var class="REPLACEABLE">mynetwork</var>&#8221; to
-the essid you wish to use. Yes, we know you're smarter than that. Next you'll have to
-specify the encryption key (if any) used on your wireless network. Finally specify the
-channel to use (if needed).</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">#</samp> <kbd class="USERINPUT">iwconfig eth0 essid "<var
-class="REPLACEABLE">mynetwork</var>"</kbd>
-<samp class="PROMPT">#</samp> <kbd class="USERINPUT">iwconfig eth0 key <var
-class="REPLACEABLE">XXXXXXXXXXXXXXXXXXXXXXXXXXX</var></kbd>
-<samp class="PROMPT">#</samp> <kbd class="USERINPUT">iwconfig eth0 channel n</kbd>
-</pre>
-</td>
-</tr>
-</table>
-
-<p>That should be all on the wireless end of things.</p>
-</div>
-
-<div class="SECT2">
-<hr />
-<h3 class="SECT2"><a id="AEN2101" name="AEN2101">5.5.3 Configure the Network</a></h3>
-
-<p>This is done in the exact same way as wired networks. Simply refer to earlier sections
-of this chapter.</p>
-</div>
-</div>
-
-<div class="SECT1">
-<hr />
-<h2 class="SECT1"><a id="NETWORK-CONFIGURATION-NFS" name="NETWORK-CONFIGURATION-NFS">5.6
-Network File Systems</a></h2>
-
-<p>At this point, you should have a working TCP/IP connection to your network. You should
-be able to ping other computers on your internal network and, if you have configured an
-appropriate gateway, you should also be able to ping computers on the Internet itself. As
-we know, the whole point in bringing a computer onto a network is to access information.
-While some people might bring a computer up on a network just for the fun of it, most
-people wish to be able to share files and printers. They wish to be able to access
-documents on the Internet or play an online game. Having TCP/IP installed and functional
-on your new Slackware system is a means to that end, but with just TCP/IP installed,
-functionality will be very rudimentary. To share files, we will have to transfer them
-back and forth using either FTP or SCP. We cannot browse files on our new Slackware
-computer from the Network Neighborhood or My Network Places icons on Windows computers.
-We'd like to be able to access files on other Unix machines seamlessly.</p>
-
-<p>Ideally, we'd like to be able to use a <span class="emphasis"><i
-class="EMPHASIS">network file system</i></span> to allow us transparent access to our
-files on other computers. The programs that we use to interact with information stored on
-our computers really do not need to know on what computer a given file is stored; they
-just need to know that it exists and how to get to it. It is then the responsibility of
-the operating system to manage access to that file through the available file systems and
-network file systems. The two most commonly used network file systems are SMB (as
-implemented by Samba) and NFS.</p>
-
-<div class="SECT2">
-<hr />
-<h3 class="SECT2"><a id="NETWORK-CONFIGURATION-NSF-SMB"
-name="NETWORK-CONFIGURATION-NSF-SMB">5.6.1 SMB/Samba/CIFS</a></h3>
-
-<p>SMB (for Server Message Block) is a descendant of the older NetBIOS protocol that was
-initially used by IBM in their LAN Manager product. Microsoft has always been fairly
-interested in NetBIOS and it's successors (NetBEUI, SMB and CIFS). The Samba project has
-existed since 1991, when it was originally written to link an IBM PC running NetBIOS with
-a Unix server. These days, SMB is the preferred method for sharing file and print
-services over a network for virtually the entire civilized world because Windows supports
-it.</p>
-
-<p>Samba's configuration file is <tt class="FILENAME">/etc/samba/smb.conf</tt>; one of
-the most well commented and documented configuration files you will find anywhere. Sample
-shares have been setup for you to view and modify for your needs. If you need even
-tighter control the man page for smb.conf is indispensable. Since Samba is documented so
-well in the places I've mentioned above, we will not rewrite the documentation here. We
-will, however, quickly cover the basics.</p>
-
-<p><tt class="FILENAME">smb.conf</tt> is broken down into multiple sections: one section
-per share, and a global section for setting options that are to be used everywhere. Some
-options are only valid in the global section; some are only valid outside the global
-section. Remember that the global section can be over-ridden by any other section. Refer
-to the man pages for more information.</p>
-
-<p>You will most likely wish to edit your <tt class="FILENAME">smb.conf</tt> file to
-reflect the network settings in your LAN. I would suggest modifying the items listed
-below:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="PROGRAMLISTING">
-[global]
-# workgroup = NT-Domain-Name or Workgroup-Name, eg: LINUX2
-workgroup = MYGROUP
-</pre>
-</td>
-</tr>
-</table>
-
-<p>Change the workgroup name to reflect the workgroup or domain name that you are using
-locally.</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="PROGRAMLISTING">
-# server string is the equivalent of the NT Description field
-server string = Samba Server
-</pre>
-</td>
-</tr>
-</table>
-
-<p>This will be the name of your Slackware computer displayed in the Network Neighborhood
-(or My Network Places) folder.</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="PROGRAMLISTING">
-# Security mode. Most people will want user level security. See
-# security_level.txt for details. NOTE: To get the behaviour of
-# Samba-1.9.18, you'll need to use "security = share".
-security = user
-</pre>
-</td>
-</tr>
-</table>
-
-<p>You'll almost certainly wish to implement user level security on your Slackware
-system.</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="PROGRAMLISTING">
-# You may wish to use password encryption. Please read
-# ENCRYPTION.txt, Win95.txt and WinNT.txt in the Samba
-# documentation.
-# Do not enable this option unless you have read those documents
-encrypt passwords = yes
-</pre>
-</td>
-</tr>
-</table>
-
-<p>If encrypt passwords is not enabled, you will not be able to use Samba with NT4.0,
-Win2k, WinXP, and Win2003. Earlier Windows operating systems did not require encryption
-to share files.</p>
-
-<p>SMB is an authenticated protocol, meaning you must supply a correct username and
-password in order to use this service. We tell the samba server what usernames and
-passwords are valid with the <tt class="COMMAND">smbpasswd</tt> command. <tt
-class="COMMAND">smbpasswd</tt> takes a couple of common switches to tell it to either add
-traditional users, or add machine users (SMB requires that you add the computers' NETBIOS
-names as machine users, restricting what computers one can authenticate from).</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-Adding a user to the <tt class="FILENAME">/etc/samba/private/smbpasswd</tt> file.
-<samp class="PROMPT">#</samp> <kbd class="USERINPUT">smbpasswd -a user</kbd>
-Adding a machine name to the /etc/samba/private/smbpasswd file.
-<samp class="PROMPT">#</samp> <kbd class="USERINPUT">smbpasswd -a -m machine</kbd>
-</pre>
-</td>
-</tr>
-</table>
-
-<p>It's important to note that a given username or machine name must already exist in the
-<tt class="FILENAME">/etc/passwd</tt> file. You can accomplish this simply with the <tt
-class="COMMAND">adduser</tt> command. Note that when using the <tt
-class="COMMAND">adduser</tt> command to add a machine name one must append a dollar sign
-(&#8220;<var class="LITERAL">$</var>&#8221;) to the machine name. This should <span
-class="emphasis"><i class="EMPHASIS">not</i></span> however, be done with <tt
-class="COMMAND">smbpasswd</tt>. <tt class="COMMAND">smbpasswd</tt> appends the dollar
-sign on its own. Failing to mangle the machine name this way with <tt
-class="COMMAND">adduser</tt> will result in an error when adding the machine name to
-samba.</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">#</samp> <kbd class="USERINPUT">adduser machine$</kbd>
-</pre>
-</td>
-</tr>
-</table>
-</div>
-
-<div class="SECT2">
-<hr />
-<h3 class="SECT2"><a id="NETWORK-CONFIGURATION-NFS-NFS"
-name="NETWORK-CONFIGURATION-NFS-NFS">5.6.2 Network File System (NFS)</a></h3>
-
-<p>NFS (or Network File System) was originally written by Sun for their Solaris
-implementation of Unix. While it is significantly easier to get up and running when
-compared to SMB, it is also significantly less secure. The primary insecurity in NFS is
-that it is easy to spoof user and group id's from one machine to another. NFS is an
-unauthenticated protocol. Future versions of the NFS protocol are being devised that
-enhance security, but these are not common at the time of this writing.</p>
-
-<p>NFS configuration is governed by the <tt class="FILENAME">/etc/exports</tt> file. When
-you load the default <tt class="FILENAME">/etc/exports</tt> file into an editor, you'll
-see a blank file with a two line comment on top. We'll need to add a line to the exports
-file for each directory that we wish to export, with a listing of client workstations
-that will be allowed to access that file. For instance, if we wished to export directory
-<tt class="FILENAME">/home/foo</tt> to workstation Bar, we would simply add the line:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="PROGRAMLISTING">
-/home/foo Bar(rw)
-</pre>
-</td>
-</tr>
-</table>
-
-<p>to our <tt class="FILENAME">/etc/exports</tt>. Below, you'll find the example from the
-man page for the <tt class="FILENAME">exports</tt> file:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="PROGRAMLISTING">
-# sample /etc/exports file
-/ master(rw) trusty(rw,no_root_squash)
-/projects proj*.local.domain(rw)
-/usr *.local.domain(ro) @trusted(rw)
-/home/joe pc001(rw,all_squash,anonuid=150,anongid=100)
-/pub (ro,insecure,all_squash)
-</pre>
-</td>
-</tr>
-</table>
-
-<p>As you can see, there are various options available, but most should be fairly clear
-from this example.</p>
-
-<p>NFS works under the assumption that a given user on one machine in a network has the
-same user ID on all machines across the network. When an attempt is made to read or write
-from a NFS client to an NFS server, a UID is passed as part of the read/write request.
-This UID is treated the same as if the read/write request originated on the local
-machine. As you can see, if one could arbitrarily specify a given UID when accessing
-resources on a remote system, Bad Things (tm) could and would happen. As a partial hedge
-against this, each directory is mounted with the <var class="OPTION">root_squash</var>
-option. This maps the UID for any user claiming to be root to a different UID, thus
-preventing root access to the files or folders in the exported directory. <var
-class="OPTION">root_squash</var> seems to be enabled by default as a security measure,
-but the authors recommend specifying it anyway in your <tt
-class="FILENAME">/etc/exports</tt> file.</p>
-
-<p>You can also export a directory directly from the command line on the server by using
-the <tt class="COMMAND">exportfs</tt> command as follows:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">#</samp> <kbd
-class="USERINPUT">exportfs -o rw,no_root_squash Bar:/home/foo</kbd>
-</pre>
-</td>
-</tr>
-</table>
-
-<p>This line exports the <tt class="FILENAME">/home/foo</tt> directory to the computer
-&#8220;<tt class="HOSTID">Bar</tt>&#8221; and grants <tt class="HOSTID">Bar</tt>
-read/write access. Additionally, the NFS server will not invoke <var
-class="OPTION">root_squash</var>, which means any user on Bar with a UID of
-&#8220;0&#8221; (root's UID) will have the same privileges as root on the server. The
-syntax does look strange (usually when a directory is specified in <var
-class="LITERAL">computer:/directory/file</var> syntax, you are referring to a file in a
-directory on a given computer).</p>
-
-<p>You'll find more information on the man page for the exports file.</p>
-</div>
-</div>
-</div>
-
-<div class="CHAPTER">
-<hr />
-<h1><a id="X-WINDOW-SYSTEM" name="X-WINDOW-SYSTEM"></a>Chapter 6 X Configuration</h1>
-
-<p>Starting with Slackware-10.0, the X Window environment in Slackware is provided by
-Xorg. X is responsible for providing a graphical user interface. It is independent from
-the operating system, unlike Windows or the MacOS.</p>
-
-<p>The X Window System is implemented through many programs that run in userland. The two
-main components are the server and the window manager. The server provides the lowlevel
-functions for interacting with your video hardware, thus it is system specific. The
-window manager sits on top of the server and provides the user interface. The advantage
-to this is you can have many different graphical interfaces by simply changing the window
-manager you use.</p>
-
-<p>Configuring X can be a complex task. The reason for this is the vast numbers of video
-cards available for the PC architecture, most of which use different programming
-interfaces. Luckily, most cards today support basic video standards known as VESA, and if
-your card is among them you'll be able to start X using the <tt
-class="COMMAND">startx</tt> command right out of the box.</p>
-
-<p>If this doesn't work with your card, or if you'd like to take advantage of the
-high-performance features of your video card such as hardware acceleration or 3-D
-hardware rendering, then you'll need to reconfigure X.</p>
-
-<p>To configure X, you'll need to make an <tt class="FILENAME">/etc/X11/xorg.conf</tt>
-file. This file contains lots of details about your video hardware, mouse, and monitor.
-It's a very complex configuration file, but fortunately there are several programs to
-help create one for you. We'll mention a few of them here.</p>
-
-<div class="SECT1">
-<hr />
-<h2 class="SECT1"><a id="X-WINDOW-SYSTEM-XORGCONFIG"
-name="X-WINDOW-SYSTEM-XORGCONFIG">6.1 <tt class="COMMAND">xorgconfig</tt></a></h2>
-
-<p>This is a simple menu driven frontend that's similar in feel to the Slackware
-installer. It simply tells the X server to take a look at the card, and then set up the
-best initial configuration file it can make based on the information it gathers. The
-generated <tt class="FILENAME">/etc/X11/xorg.conf</tt> file should be a good starting
-point for most systems (and should work without modification).</p>
-
-<p>This is a text-based X configuration program that's designed for the advanced system
-administrator. Here's a sample walkthrough using <tt class="COMMAND">xorgconfig</tt>.
-First, start the program:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">#</samp> <kbd class="USERINPUT">xorgconfig</kbd>
-</pre>
-</td>
-</tr>
-</table>
-
-<p>This will present a screenful of information about <tt
-class="COMMAND">xorgconfig</tt>. To continue, press <kbd class="USERINPUT">ENTER</kbd>.
-<tt class="COMMAND">xorgconfig</tt> will ask you to verify you have set your <tt
-class="ENVAR">PATH</tt> correctly. It should be fine, so go ahead and hit <kbd
-class="USERINPUT">ENTER</kbd>.</p>
-
-<div class="FIGURE"><a id="X-WINDOW-SYSTEM-1" name="X-WINDOW-SYSTEM-1"></a>
-<p><b>Figure 6-1. <tt class="COMMAND">xorgconfig</tt> Mouse Configuration</b></p>
-
-<p><img src="x-window-system/xorgconfig1-w.png" /></p>
-</div>
-
-<p>Select your mouse from the menu presented. If you don't see your serial mouse listed,
-pick the Microsoft protocol -- it's the most common and will probably work. Next <tt
-class="COMMAND">xorgconfig</tt> will ask you about using <var
-class="OPTION">ChordMiddle</var> and <var class="OPTION">Emulate3Buttons</var>. You'll
-see these options described in detail on the screen. Use them if the middle button on
-your mouse doesn't work under X, or if your mouse only has two buttons (<var
-class="OPTION">Emulate3Buttons</var> lets you simulate the middle button by pressing both
-buttons simultaneously). Then, enter the name of your mouse device. The default choice,
-<tt class="FILENAME">/dev/mouse</tt>, should work since the link was configured during
-Slackware setup. If you're running GPM (the Linux mouse server) in repeater mode, you can
-set your mouse type to <tt class="FILENAME">/dev/gpmdata</tt> to have X get information
-about the mouse through <tt class="COMMAND">gpm</tt>. In some cases (with busmice
-especially) this can work better, but most users shouldn't do this.</p>
-
-<p><tt class="COMMAND">xorgconfig</tt> will ask you about enabling special key bindings.
-If you need this say &#8220;<kbd class="USERINPUT">y</kbd>&#8221;. Most users can say
-&#8220;<kbd class="USERINPUT">n</kbd>&#8221; -- enter this if you're not sure.</p>
-
-<div class="FIGURE"><a id="X-WINDOW-SYSTEM-2" name="X-WINDOW-SYSTEM-2"></a>
-<p><b>Figure 6-2. <tt class="COMMAND">xorgconfig</tt> Horizontal Sync</b></p>
-
-<p><img src="x-window-system/xorgconfig2-w.png" /></p>
-</div>
-
-<p>In the next section you enter the sync range for your monitor. To start configuring
-your monitor, press <kbd class="USERINPUT">ENTER</kbd>. You will see a list of monitor
-types -- choose one of them. Be careful not to exceed the specifications of your monitor.
-Doing so could damage your hardware.</p>
-
-<div class="FIGURE"><a id="X-WINDOW-SYSTEM-3" name="X-WINDOW-SYSTEM-3"></a>
-<p><b>Figure 6-3. <tt class="COMMAND">xorgconfig</tt> Vertical Sync</b></p>
-
-<p><img src="x-window-system/xorgconfig3-w.png" /></p>
-</div>
-
-<p>Specify the vertical sync range for your monitor (you should find this in the manual
-for the monitor). xorgconfig will ask you to enter strings to identify the monitor type
-in the <tt class="FILENAME">xorg.conf</tt> file. Enter anything you like on these 3 lines
-(including nothing at all).</p>
-
-<div class="FIGURE"><a id="X-WINDOW-SYSTEM-4" name="X-WINDOW-SYSTEM-4"></a>
-<p><b>Figure 6-4. <tt class="COMMAND">xorgconfig</tt> Video Card</b></p>
-
-<p><img src="x-window-system/xorgconfig4-w.png" /></p>
-</div>
-
-<p>Now you have the opportunity to look at the database of video card types. You'll want
-to do this, so say &#8220;<kbd class="USERINPUT">y</kbd>&#8221;, and select a card from
-the list shown. If you don't see your exact card, try selecting one that uses the same
-chipset and it will probably work fine.</p>
-
-<p>Next, tell <tt class="COMMAND">xorgconfig</tt> how much RAM you have on your video
-card. <tt class="COMMAND">xorgconfig</tt> will want you to enter some more descriptive
-text about your video card. If you like, you can enter descriptions on these three
-lines.</p>
-
-<p>You'll then be asked which display resolutions you want to use. Again, going with the
-provided defaults should be fine to start with. Later on, you can edit the <tt
-class="FILENAME">/etc/X11/xorg.conf</tt> file and rearrange the modes so 1024x768 (or
-whatever mode you like) is the default.</p>
-
-<p>At this point, the <tt class="COMMAND">xorgconfig</tt> program will ask if you'd like
-to save the current configuration file. Answer yes, and the X configuration file is
-saved, completing the setup process. You can start X now with the <tt
-class="COMMAND">startx</tt> command.</p>
-</div>
-
-<div class="SECT1">
-<hr />
-<h2 class="SECT1"><a id="X-WINDOW-SYSTEM-XORGSETUP" name="X-WINDOW-SYSTEM-XORGSETUP">6.2
-<tt class="COMMAND">xorgsetup</tt></a></h2>
-
-<p>The second way to configure X is to use <tt class="COMMAND">xorgsetup</tt>, an
-automagical configuration program that comes with Slackware.</p>
-
-<p>To run <tt class="COMMAND">xorgsetup</tt>, log in as root and type:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">#</samp> <kbd class="USERINPUT">xorgsetup</kbd>
-</pre>
-</td>
-</tr>
-</table>
-
-<p>If you've already got an <tt class="FILENAME">/etc/X11/xorg.conf</tt> file (because
-you've already configured X), you'll be asked if you want to backup the existing config
-file before continuing. The original file will be renamed to <tt
-class="FILENAME">/etc/X11/xorg.conf.backup</tt>.</p>
-</div>
-
-<div class="SECT1">
-<hr />
-<h2 class="SECT1"><a id="X-WINDOW-SYSTEM-XINITRC" name="X-WINDOW-SYSTEM-XINITRC">6.3
-xinitrc</a></h2>
-
-<p><tt class="COMMAND">xinit</tt>(1) is the program that actually starts X; it is called
-by <tt class="COMMAND">startx</tt>(1), so you may not have noticed it (and probably don't
-really need to). Its configuration file, however, determines which programs (including
-and especially the window manager) are run when X starts up. <tt
-class="COMMAND">xinit</tt> first checks your home directory for a <tt
-class="FILENAME">.xinitrc</tt> file. If the file is found, it gets run; otherwise, <tt
-class="FILENAME">/var/X11R6/lib/xinit/xinitrc</tt> (the systemwide default) is used.
-Here's a simple <tt class="FILENAME">xinitrc</tt> file:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="PROGRAMLISTING">
-#!/bin/sh
-# $XConsortium: xinitrc.cpp,v 1.4 91/08/22 11:41:34 rws Exp $
-
-userresources=$HOME/.Xresources
-usermodmap=$HOME/.Xmodmap
-sysresources=/usr/X11R6/lib/X11/xinit/.Xresources
-sysmodmap=/usr/X11R6/lib/X11/xinit/.Xmodmap
-
-# merge in defaults and keymaps
-
-if [ -f $sysresources ]; then
- xrdb -merge $sysresources
-fi
-
-if [ -f $sysmodmap ]; then
- xmodmap $sysmodmap
-fi
-
-if [ -f $userresources ]; then
- xrdb -merge $userresources
-fi
-
-if [ -f $usermodmap ]; then
- xmodmap $usermodmap
-fi
-
-# start some nice programs
-
-twm &#38;
-xclock -geometry 50x50-1+1 &#38;
-xterm -geometry 80x50+494+51 &#38;
-xterm -geometry 80x20+494-0 &#38;
-exec xterm -geometry 80x66+0+0 -name login
-</pre>
-</td>
-</tr>
-</table>
-
-<p>All of those &#8220;if&#8221; blocks are there to merge in various configuration
-settings from other files. The interesting part of the file is toward the end, where
-various programs are run. This X session will begin with the <tt
-class="COMMAND">twm</tt>(1) window manager, a clock, and three terminals. Note the <tt
-class="COMMAND">exec</tt> before the last <tt class="COMMAND">xterm</tt>. What that does
-is replace the currently running shell (the one that's executing this <tt
-class="FILENAME">xinitrc</tt> script) with that <tt class="COMMAND">xterm</tt>(1)
-command. When the user quits that <tt class="COMMAND">xterm</tt>, the X session will
-end.</p>
-
-<p>To customize your X startup, copy the default <tt
-class="FILENAME">/var/X11R6/lib/xinit/xinitrc</tt> to <tt
-class="FILENAME">~/.xinitrc</tt> and edit it, replacing those program lines with whatever
-you like. The end of mine is simply:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="PROGRAMLISTING">
-# Start the window manager:
-exec startkde
-</pre>
-</td>
-</tr>
-</table>
-
-<p>Note that there are several <tt class="FILENAME">xinitrc.*</tt> files in <tt
-class="FILENAME">/var/X11R6/lib/xinit</tt> that correspond to various window managers and
-GUIs. You can use any of those, if you like.</p>
-</div>
-
-<div class="SECT1">
-<hr />
-<h2 class="SECT1"><a id="X-WINDOW-SYSTEM-XWMCONFIG" name="X-WINDOW-SYSTEM-XWMCONFIG">6.4
-<tt class="COMMAND">xwmconfig</tt></a></h2>
-
-<p>For years, Unix was used almost exclusively as the operating system for servers, with
-the exception of high-powered professional workstations. Only the technically inclined
-were likely to use a Unix-like operating system, and the user interface reflected this
-fact. GUIs tended to be fairly bare-bones, designed to run a few necessarily graphical
-applications like CAD programs and image renderers. Most file and system management was
-conducted at the command line. Various vendors (Sun Microsystems, Silicon Graphics, etc)
-were selling workstations with an attempt to provide a cohesive &#8220;look and
-feel&#8221;, but the wide variety of GUI toolkits in use by developers led inevitably to
-the dissolution of the desktop's uniformity. A scrollbar might not look the same in two
-different applications. Menus might appear in different places. Programs would have
-different buttons and checkboxes. Colors ranged widely, and were generally hard-coded in
-each toolkit. As long as the users were primarily technical professionals, none of this
-mattered much.</p>
-
-<p>With the advent of free Unix-like operating systems and the growing number and variety
-of graphical applications, X has recently gained a wide desktop user base. Most users, of
-course, are accustomed to the consistent look and feel provided by Microsoft's Windows or
-Apple's MacOS; the lack of such consistency in X-based applications became a barrier to
-its wider acceptance. In response, two open source projects have been undertaken: The K
-Desktop Environment, or KDE, and the GNU Network Object Model Environment, known as
-GNOME. Each has a wide variety of applications, from taskbars and file managers to games
-and office suites, written with the same GUI toolkit and tightly integrated to provide a
-uniform, consistent desktop.</p>
-
-<p>The differences in KDE and GNOME are generally fairly subtle. They each look different
-from the other, because each uses a different GUI toolkit. KDE is based on the Qt library
-from Troll Tech AS, while GNOME uses GTK, a toolkit originally developed for The GNU
-Image Manipulation Program (or The GIMP, for short). As separate projects, KDE and GNOME
-each have their own designers and programmers, with different development styles and
-philosophies. The result in each case, however, has been fundamentally the same: a
-consistent, tightly integrated desktop environment and application collection. The
-functionality, usability, and sheer prettiness of both KDE and GNOME rival anything
-available on other operating systems.</p>
-
-<p>The best part, though, is that these advanced desktops are free. This means you can
-have either or both (yes, at the same time). The choice is yours.</p>
-
-<p>In addition to the GNOME and KDE desktops, Slackware includes a large collection of
-window managers. Some are designed to emulate other operating systems, some for
-customization, others for speed. There's quite a variety. Of course you can install as
-many as you want, play with them all, and decide which you like the most.</p>
-
-<p>To make desktop selection easy, Slackware also includes a program called <tt
-class="COMMAND">xwmconfig</tt> that can be used to select a desktop or window manager. It
-is run like so:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">%</samp> <kbd class="USERINPUT">xwmconfig</kbd>
-</pre>
-</td>
-</tr>
-</table>
-
-<div class="FIGURE"><a id="FIG-X-WINDOW-SYSTEM-XWMCONFIG"
-name="FIG-X-WINDOW-SYSTEM-XWMCONFIG"></a>
-<p><b>Figure 6-5. Desktop Configuration with <tt class="COMMAND">xorgconfig</tt></b></p>
-
-<p><img src="x-window-system/xwmconfig-w.png" /></p>
-</div>
-
-<p>You'll be given a list of all the desktops and window managers installed. Just select
-the one you want from the list. Each user on your system will need to run this program,
-since different users can use different desktops, and not everyone will want the default
-one you selected at installation.</p>
-
-<p>Then just start up X, and you're good to go.</p>
-</div>
-
-<div class="SECT1">
-<hr />
-<h2 class="SECT1"><a id="X-WINDOW-SYSTEM-XDM" name="X-WINDOW-SYSTEM-XDM">6.5 <tt
-class="COMMAND">xdm</tt></a></h2>
-
-<p>As Linux becomes more and more useful as a desktop operating system, many users find
-it desirable for the machine to boot straight into a graphical environment. For this, you
-will need to tell Slackware to boot straight into X, and assign a graphical login
-manager. Slackware ships with three graphical login tools, <tt
-class="COMMAND">xdm</tt>(1), <tt class="COMMAND">kdm</tt>, and <tt
-class="COMMAND">gdm</tt>(1).</p>
-
-<p><tt class="COMMAND">xdm</tt> is the graphical login manager shipped with the X.org
-system. It's ubiquitous, but not as fully features as alternatives. <tt
-class="COMMAND">kdm</tt> is the graphical login manager shipped with KDE, The K Desktop
-Environment. Finally, <tt class="COMMAND">gdm</tt> is the login manager shipped with
-GNOME. Any of the choices will allow you to log in as any user, and choose what desktop
-you wish to use.</p>
-
-<p>Unfortunately, Slackware doesn't include a nice program like <tt
-class="COMMAND">xwmconfig</tt> for choosing what login manager to use, so if all three
-are installed you may have to do some editing to choose your preference. But first, we'll
-discuss how to boot into a graphical environment.</p>
-
-<p>In order to start X at boot, you need to boot into run-level 4. Run-levels are just a
-way of telling <tt class="COMMAND">init</tt>(8) to do something different when it starts
-the OS. We do this by editing the config file for <tt class="COMMAND">init</tt>, <tt
-class="FILENAME">/etc/inittab</tt>.</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="PROGRAMLISTING">
-# These are the default runlevels in Slackware:
-# 0 = halt
-# 1 = single user mode
-# 2 = unused (but configured the same as runlevel 3)
-# 3 = multiuser mode (default Slackware runlevel)
-# 4 = X11 with KDM/GDM/XDM (session managers)
-# 5 = unused (but configured the same as runlevel 3)
-# 6 = reboot
-
-# Default runlevel. (Do not set to 0 or 6)
-id:3:initdefault:
-</pre>
-</td>
-</tr>
-</table>
-
-<p>In order to make Slackware boot to a graphical environment, we just change the 3 to a
-4.</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="PROGRAMLISTING">
- # Default runlevel. (Do not set to 0 or 6)
- id:4:initdefault:
-</pre>
-</td>
-</tr>
-</table>
-
-<p>Now Slackware will boot into runlevel 4 and execute <tt
-class="FILENAME">/etc/rc.d/rc.4</tt>. This file starts up X and calls whatever login
-manager you've chosen. So, how do we choose login managers? There are a few ways to do
-this, and I'll explain them after we look at <tt class="FILENAME">rc.4</tt>.</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="PROGRAMLISTING">
- # Try to use GNOME's gdm session manager:
- if [ -x /usr/bin/gdm ]; then
- exec /usr/bin/gdm -nodaemon
- fi
-
- # Not there? OK, try to use KDE's kdm session manager:
- if [ -x /opt/kde/bin/kdm ]; then
- exec /opt/kde/bin/kdm -nodaemon
- fi
-
- # If all you have is XDM, I guess it will have to do:
- if [ -x /usr/X11R6/bin/xdm ]; then
- exec /usr/X11R6/bin/xdm -nodaemon
- fi
-</pre>
-</td>
-</tr>
-</table>
-
-<p>As you can see here, <tt class="FILENAME">rc.4</tt> first checks to see if <tt
-class="COMMAND">gdm</tt> is executable, and if so runs it. Second on the list is <tt
-class="COMMAND">kdm</tt>, and finally <tt class="COMMAND">xdm</tt>. One way of choosing a
-login manager is to simply remove the ones you don't wish to use using <tt
-class="COMMAND">removepkg</tt>. You can find out more about <tt
-class="COMMAND">removepkg</tt> in <a href="#PACKAGE-MANAGEMENT">Chapter 18</a>.</p>
-
-<p>Optionally, you can remove the executable permission from those files that you don't
-want to use. We discuss <tt class="COMMAND">chmod</tt> in <a
-href="#FILESYSTEM-STRUCTURE">Chapter 9</a>.</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">#</samp> <kbd class="USERINPUT">chmod -x /usr/bin/gdm</kbd>
-</pre>
-</td>
-</tr>
-</table>
-
-<p>Finally, you can just comment out the lines for the login manager you don't want to
-use.</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="PROGRAMLISTING">
- # Try to use GNOME's gdm session manager:
- # if [ -x /usr/bin/gdm ]; then
- # exec /usr/bin/gdm -nodaemon
- # fi
-
- # Not there? OK, try to use KDE's kdm session manager:
- if [ -x /opt/kde/bin/kdm ]; then
- exec /opt/kde/bin/kdm -nodaemon
- fi
-
- # If all you have is XDM, I guess it will have to do:
- if [ -x /usr/X11R6/bin/xdm ]; then
- exec /usr/X11R6/bin/xdm -nodaemon
- fi
-</pre>
-</td>
-</tr>
-</table>
-
-<p>Any lines preceded by the hash mark (<var class="LITERAL">#</var>) are considered
-comments and the shell silently passes them. Thus, even if <tt class="COMMAND">gdm</tt>
-is installed and executable, the shell (in this case <tt class="COMMAND">bash</tt>) won't
-bother checking for it.</p>
-</div>
-</div>
-
-<div class="CHAPTER">
-<hr />
-<h1><a id="BOOTING" name="BOOTING"></a>Chapter 7 Booting</h1>
-
-<p>The process of booting your Linux system can sometimes be easy and sometimes be
-difficult. Many users install Slackware on their computer and that's it. They just turn
-it on and it's ready to use. Othertimes, simply booting the machine can be a chore. For
-most users, LILO works best. Slackware includes LILO and Loadlin for booting Slackware
-Linux. LILO will work from a hard drive partition, a hard drive's master boot record, or
-a floppy disk, making it a very versatile tool. Loadlin works from a DOS command line,
-killing DOS and invoking Linux.</p>
-
-<p>Another popular utility for booting Linux is GRUB. GRUB is not included or officially
-supported by Slackware. Slackware holds to the &#8220;tried and true&#8221; standard for
-what gets included inside the distribution. While GRUB works well and includes some
-features that LILO does not, LILO handles all the essential tasks of a boot loader
-reliably with a proven track record. Being younger, GRUB hasn't quite lived up to that
-legacy yet. As it is not included with Slackware, we do not discuss it here. If you wish
-to use GRUB (perhaps it came with another Linux OS and you want to use it to dual-boot)
-consult GRUB's documentation.</p>
-
-<p>This section covers using LILO and Loadlin, the two booters included with Slackware.
-It also explains some typical dual booting scenarios and how you could go about setting
-it up.</p>
-
-<div class="SECT1">
-<hr />
-<h2 class="SECT1"><a id="BOOTING-LILO" name="BOOTING-LILO">7.1 LILO</a></h2>
-
-<p>The Linux Loader, or LILO, is the most popular booter in use on Linux systems. It is
-quite configurable and can easily be used to boot other operating systems.</p>
-
-<p>Slackware Linux comes with a menu-driven configuration utility called <tt
-class="COMMAND">liloconfig</tt>. This program is first run during the setup process, but
-you can invoke it later by typing <tt class="COMMAND">liloconfig</tt> at the prompt.</p>
-
-<p>LILO reads its settings from the <tt class="COMMAND">/etc/lilo.conf</tt>(5) file. It
-is not read each time you boot up, but instead is read each time you install LILO. LILO
-must be reinstalled to the boot sector each time you make a configuration change. Many
-LILO errors come from making changes to the <tt class="FILENAME">lilo.conf</tt> file, but
-failing to re-run lilo to install these changes. <tt class="COMMAND">liloconfig</tt> will
-help you build the configuration file so that you can install LILO for your system. If
-you prefer to edit <tt class="FILENAME">/etc/lilo.conf</tt> by hand, then reinstalling
-LILO just involves typing <tt class="COMMAND">/sbin/lilo</tt> (as <tt
-class="USERNAME">root</tt>) at the prompt.</p>
-
-<p>When you first invoke <tt class="COMMAND">liloconfig</tt>, it will look like this:</p>
-
-<div class="FIGURE"><a id="BOOTING-SETUP-LILO" name="BOOTING-SETUP-LILO"></a>
-<p><b>Figure 7-1. <tt class="COMMAND">liloconfig</tt></b></p>
-
-<p><img src="booting/setup-lilo-w.png" /></p>
-</div>
-
-<p>If this is your first time setting up LILO, you should pick simple. Otherwise, you
-might find expert to be faster if you are familiar with LILO and Linux. Selecting simple
-will begin the LILO configuration.</p>
-
-<p>If kernel frame buffer support is compiled into your kernel, <tt
-class="COMMAND">liloconfig</tt> will ask which video resolution you would like to use.
-This is the resolution that is also used by the XFree86 frame buffer server. If you do
-not want the console to run in a special video mode, selecting normal will keep the
-standard 80x25 text mode in use.</p>
-
-<p>The next part of the LILO configuration is selecting where you want it installed. This
-is probably the most important step. The list below explains the installation places:</p>
-
-<div class="VARIABLELIST">
-<dl>
-<dt><var class="OPTION">Root</var></dt>
-
-<dd>
-<p>This option installs LILO to the beginning of your Linux root partition. This is the
-safest option if you have other operating systems on your computer. It ensures that any
-other booters are not overwritten. The disadvantage is that LILO will only load from here
-if your Linux drive is the first drive on your system. This is why many people chose to
-create a very small <tt class="FILENAME">/boot</tt> partition as the first drive on their
-system. This allows the kernel and LILO to be installed at the beginning of the drive
-where LILO can find them. Previous versions of LILO contained an infamous flaw known as
-the &#8220;1024 cylinder limit&#8221;. LILO was unable to boot kernels on partitions past
-the 1024th cylinder. Recent editions of LILO have eliminated this problem.</p>
-</dd>
-
-<dt><var class="OPTION">Floppy</var></dt>
-
-<dd>
-<p>This method is even safer than the previous one. It creates a boot floppy that you can
-use to boot your Linux system. This keeps the booter off the hard disk entirely, so you
-only boot this floppy when you want to use Slackware. The flaws with this method are
-obvious. Floppies are notoriously fickle, prone to failures. Secondly, the boot loader is
-no longer self-contained within the computer. If you loose your floppy disk, you'll have
-to make another to boot your system.</p>
-</dd>
-
-<dt><var class="OPTION">MBR</var></dt>
-
-<dd>
-<p>You will want to use this method if Slackware is the only operating system on your
-computer, or if you will be using LILO to choose between multiple operating systems on
-your computer. This is the most preferred method for installing LILO and will work with
-almost any computer system.</p>
-
-<div class="WARNING">
-<table class="WARNING" width="90%" border="0">
-<tr>
-<td width="25" align="CENTER" valign="TOP"><img src="./imagelib/admon/warning.png"
-hspace="5" alt="Warning" /></td>
-<td align="LEFT" valign="TOP">
-<p>This option will overwrite any other booter you have in the MBR.</p>
-</td>
-</tr>
-</table>
-</div>
-</dd>
-</dl>
-</div>
-
-<p>After selecting the installation location, <tt class="COMMAND">liloconfig</tt> will
-write the configuration file and install LILO. That's it. If you select the expert mode
-you will receive a special menu. This menu allows you to tweak the <tt
-class="FILENAME">/etc/lilo.conf</tt> file, add other operating systems to your boot menu,
-and set LILO to pass special kernel parameters at boot time. The expert menu looks like
-this:</p>
-
-<div class="FIGURE"><a id="BOOTING-LILO-EXPERT" name="BOOTING-LILO-EXPERT"></a>
-<p><b>Figure 7-2. <tt class="COMMAND">liloconfig</tt> Expert Menu</b></p>
-
-<p><img src="booting/setup-lilo-expert-w.png" /></p>
-</div>
-
-<p>Whatever your system configuration is, setting up a working boot loader is easy. <tt
-class="COMMAND">liloconfig</tt> makes setting it up a cinch.</p>
-</div>
-
-<div class="SECT1">
-<hr />
-<h2 class="SECT1"><a id="BOOTING-LOADLIN" name="BOOTING-LOADLIN">7.2 LOADLIN</a></h2>
-
-<p>The other booting option that comes with Slackware Linux is LOADLIN. LOADLIN is a DOS
-executable that can be used to start Linux from a running DOS system. It requires the
-Linux kernel to be on the DOS partition so that LOADLIN can load it and properly boot the
-system.</p>
-
-<p>During the installation process, LOADLIN will be copied to root's home directory as a
-.ZIP file. There is no automatic setup process for LOADLIN. You will need to copy the
-Linux kernel (typically <tt class="FILENAME">/boot/vmlinuz</tt>) and the LOADLIN file
-from root's home directory to the DOS partition.</p>
-
-<p>LOADLIN is useful if you would like to make a boot menu on your DOS partition. A menu
-could be added to your <tt class="FILENAME">AUTOEXEC.BAT</tt> file that would allow you
-to pick between Linux or DOS. A choice of Linux would run LOADLIN, thus booting your
-Slackware system. This <tt class="FILENAME">AUTOEXEC.BAT</tt> file under Windows 95 will
-provide a sufficient boot menu:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="PROGRAMLISTING">
- @ECHO OFF
- SET PROMPT=$P$G
- SET PATH=C:\WINDOWS;C:\WINDOWS\COMMAND;C:\
- CLS
- ECHO Please Select Your Operating System:
- ECHO.
- ECHO [1] Slackware Linux
- ECHO [2] Windows 95
- ECHO.
- CHOICE /C:12 "Selection? -&gt; "
- IF ERRORLEVEL 2 GOTO WIN
- IF ERRORLEVEL 1 GOTO LINUX
- :WIN
- CLS
- ECHO Starting Windows 95...
- WIN
- GOTO END
- :LINUX
- ECHO Starting Slackware Linux...
- CD \LINUX
- LOADLIN C:\LINUX\VMLINUZ ROOT=&lt;root partition device&gt; RO
- GOTO END
- :END
-</pre>
-</td>
-</tr>
-</table>
-
-<p>You will want to specify your root partition as a Linux device name, like <tt
-class="FILENAME">/dev/hda2</tt> or something else. You can always use LOADLIN at the
-command line. You simply use it in the same manner as it is in the example above. The
-LOADLIN documentation comes with many examples on how to use it.</p>
-</div>
-
-<div class="SECT1">
-<hr />
-<h2 class="SECT1"><a id="BOOTING-DUAL" name="BOOTING-DUAL">7.3 Dual Booting</a></h2>
-
-<p>Many users set up their computers to boot Slackware Linux and another operating
-system. We've described several typical dual boot scenarios below, in case you are having
-difficulty setting up your system.</p>
-
-<div class="SECT2">
-<hr />
-<h3 class="SECT2"><a id="BOOTING-DUAL-WINDOWS" name="BOOTING-DUAL-WINDOWS">7.3.1
-Windows</a></h3>
-
-<p>Setting up a computer with both MS Windows and Linux is probably the most common dual
-boot scenario. There are numerous ways you can setup the booting, but this section will
-cover two.</p>
-
-<p>Often times when setting up a dual boot system, a person will devise a perfect plan
-for where everything should go but mess up the installation order. It is very important
-to understand that operating systems need to be installed in a certain order for a dual
-boot setup to work. Linux always offers control over what, if anything, gets written to
-the Master Boot Record. Therefore, it's always advisable to install Linux last. Windows
-should be installed first, since it will always write its booter to the Master Boot
-Record, overwriting any entry Linux may have put there.</p>
-
-<div class="SECT3">
-<hr />
-<h4 class="SECT3"><a id="AEN2577" name="AEN2577">7.3.1.1 Using LILO</a></h4>
-
-<p>Most people will want to use LILO to chose between Linux and Windows. As stated above,
-you should install Windows first, then Linux.</p>
-
-<p>Let's say you have a 40GB IDE hard disk as the only drive in your system. Let's also
-say that you want to give half of that space to Windows and half of that space to Linux.
-This will present a problem when trying to boot Linux.</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="PROGRAMLISTING">
- 20GB Windows boot (C:)
- 1GB Linux root (/)
- 19GB Linux /usr (/usr)
-</pre>
-</td>
-</tr>
-</table>
-
-<p>You would also want to set aside an adequate amount of space for a Linux swap
-partition. The unwritten rule is to use twice the amount of RAM you have in disk space. A
-64MB system would have 128MB of swap, and so on. Adequate swap space is the discussion of
-many flames on IRC and Usenet. There's no truly &#8220;right&#8221; way to do it, but
-sticking with the rule above should be sufficient.</p>
-
-<p>With your partitions laid out, you should proceed to install Windows. After that is
-set up and working, you should install Linux. The LILO installation needs special
-attention. You will want to select the expert mode for installing LILO.</p>
-
-<p>Begin a new LILO configuration. You will want to install it to Master Boot Record so
-that it can be used to choose between the two operating systems. From the menu, add your
-Linux partition and add your Windows (or DOS) partition. Once that's complete, you can
-install LILO.</p>
-
-<p>Reboot the computer. LILO should load and will display a menu letting you select
-between the operating systems you have installed. Select the name of the OS you wish to
-load (these names were selected when you setup LILO).</p>
-
-<p>LILO is quite a configurable boot loader. It's not just limited to booting Linux or
-DOS. It can boot just about anything. The man pages for <tt class="COMMAND">lilo</tt>(8)
-and <tt class="FILENAME">lilo.conf</tt>(5) provide more detailed information.</p>
-
-<p>What if LILO doesn't work? There are instances where LILO just won't work on a
-particular machine. Fortunately, there is another way to dual boot Linux and Windows.</p>
-</div>
-
-<div class="SECT3">
-<hr />
-<h4 class="SECT3"><a id="AEN2591" name="AEN2591">7.3.1.2 Using LOADLIN</a></h4>
-
-<p>This method can be used if LILO doesn't work on your system, or if you just don't want
-to set up LILO. This method is also ideal for the user that reinstalls Windows often.
-Each time you reinstall Windows, it will overwrite the Master Boot Record, thus
-destroying any LILO installation. With LOADLIN, you are not subject to that problem. The
-biggest disadvantage is that you can only use LOADLIN to boot Linux.</p>
-
-<p>With LOADLIN, you can install the operating systems in any order desired. Be careful
-about installing things to the Master Boot Record, you do not want to do that. LOADLIN
-relies on the Windows partition being bootable. So during the Slackware installation,
-make sure you skip the LILO setup.</p>
-
-<p>After installing the operating systems, copy the <tt class="FILENAME">loadlin<var
-class="REPLACEABLE">X</var>.zip</tt> (where <var class="REPLACEABLE">X</var> is a version
-number, such as <var class="LITERAL">16a</var>) file from root's home directory to your
-Windows partition. Also copy your kernel image to the Windows partition. You will need to
-be in Linux for this to work. This example shows how to do this:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">#</samp> <kbd class="USERINPUT">mkdir /win</kbd>
-<samp class="PROMPT">#</samp> <kbd class="USERINPUT">mount -t vfat /dev/hda1 /win</kbd>
-<samp class="PROMPT">#</samp> <kbd class="USERINPUT">mkdir /win/linux</kbd>
-<samp class="PROMPT">#</samp> <kbd class="USERINPUT">cd /root</kbd>
-<samp class="PROMPT">#</samp> <kbd class="USERINPUT">cp loadlin* /win/linux</kbd>
-<samp class="PROMPT">#</samp> <kbd class="USERINPUT">cp /boot/vmlinuz /win/linux</kbd>
-<samp class="PROMPT">#</samp> <kbd class="USERINPUT">cd /win/linuz</kbd>
-<samp class="PROMPT">#</samp> <kbd class="USERINPUT">unzip loadlin16a.zip</kbd>
-</pre>
-</td>
-</tr>
-</table>
-
-<p>That will create a <tt class="FILENAME">C:\LINUX</tt> directory on your Windows
-partition (assuming it's <tt class="FILENAME">/dev/hda1</tt>) and copy over the necessary
-stuff for LOADLIN. After doing this, you will need to reboot into Windows to setup a boot
-menu.</p>
-
-<p>Once in Windows, get to a DOS prompt. First, we need to make sure the system is set to
-not boot into the graphical interface.</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-C:\&#62; <kbd class="USERINPUT">cd \</kbd>
-C:\&#62; <kbd class="USERINPUT">attrib -r -a -s -h MSDOS.SYS</kbd>
-C:\&#62; <kbd class="USERINPUT">edit MSDOS.SYS</kbd>
-</pre>
-</td>
-</tr>
-</table>
-
-<p>Add this line to the file:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="PROGRAMLISTING">
-BootGUI=0
-</pre>
-</td>
-</tr>
-</table>
-
-<p>Now save the file and exit the editor. Now edit <tt
-class="FILENAME">C:\AUTOEXEC.BAT</tt> so we can add a boot menu. The following provides
-an example of what a boot menu block in <tt class="FILENAME">AUTOEXEC.BAT</tt> would look
-like:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="PROGRAMLISTING">
-cls
-echo System Boot Menu
-echo.
-echo 1 - Linux
-echo 2 - Windows
-echo.
-choice /c:12 "Selection? -&#62; "
-if errorlevel 2 goto WIN
-if errorlevel 1 goto LINUX
-:LINUX
-cls
-echo "Starting Linux..."
-cd \linux
-loadlin c:\linux\vmlinuz root=/dev/hda2 ro
-goto END
-:WIN
-cls
-echo "Starting Windows..."
-win
-goto END
-:END
-</pre>
-</td>
-</tr>
-</table>
-
-<p>The key line is the one that runs LOADLIN. We tell it the kernel to load, the Linux
-root partition, and that we want it mounted read-only initially.</p>
-
-<p>The tools for these two methods are provided with Slackware Linux. There are numerous
-other booters on the market, but these should work for most dual boot setups.</p>
-</div>
-
-<div class="SECT3">
-<hr />
-<h4 class="SECT3"><a id="AEN2633" name="AEN2633">7.3.1.3 Deprecated Windows NT
-Hack</a></h4>
-
-<p>This is the least common dual booting situation. In the days of old, LILO was unable
-to boot Windows NT, requiring Linux users to hack NTLDR, which presented several more
-problems than dual booting between Windows 9x and Linux. Understand that the following
-instructions are deprecated. LILO has been able to boot Windows NT/2000/XP/2003 for many
-years now. If you are using a legacy machine though, you may need to use just such a
-hack.</p>
-
-<ol type="1">
-<li>
-<p>Install Windows NT</p>
-</li>
-
-<li>
-<p>Install Linux, making sure LILO is installed to the superblock of the Linux
-partition</p>
-</li>
-
-<li>
-<p>Get the first 512 bytes of the Linux root partition and store it on the Windows NT
-partition</p>
-</li>
-
-<li>
-<p>Edit <tt class="FILENAME">C:\BOOT.INI</tt> under Windows NT to add a Linux option</p>
-</li>
-</ol>
-
-<p>Installing Windows NT should be fairly straightforward, as should installing Linux.
-From there, it gets a little more tricky. Grabbing the first 512 bytes of the Linux
-partition is easier than it sounds. You will need to be in Linux to accomplish this.
-Assuming your Linux partition is <tt class="FILENAME">/dev/hda2</tt>, issue this
-command:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">#</samp> <kbd
-class="USERINPUT">dd if=/dev/hda2 of=/tmp/bootsect.lnx bs=1 count=512</kbd>
-</pre>
-</td>
-</tr>
-</table>
-
-<p>That's it. Now you need to copy bootsect.lnx to the Windows NT partition. Here's where
-we run into another problem. Linux does not have stable write support for the NTFS
-filesystem. If you installed Windows NT and formatted your drive as NTFS, you will need
-to copy this file to a FAT floppy and then read from it under Windows NT. If you
-formatted the Windows NT drive as FAT, you can simply mount it under Linux and copy the
-file over. Either way, you will want to get <tt class="FILENAME">/tmp/bootsect.lnx</tt>
-from the Linux drive to <tt class="FILENAME">C:\BOOTSECT.LNX</tt> on the Windows NT
-drive.</p>
-
-<p>The last step is adding a menu option to the Windows NT boot menu. Under Windows NT
-open a command prompt.</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-C:\WINNT&#62; <kbd class="USERINPUT">cd \</kbd>
-C:\&#62; <kbd class="USERINPUT">attrib -r -a -s -h boot.ini</kbd>
-C:\&#62; <kbd class="USERINPUT">edit boot.ini</kbd>
-</pre>
-</td>
-</tr>
-</table>
-
-<p>Add this line to the end of the file:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="PROGRAMLISTING">
-C:\bootsect.lnx="Slackware Linux"
-</pre>
-</td>
-</tr>
-</table>
-
-<p>Save the changes and exit the editor. When you reboot Windows NT, you will have a
-Linux option on the menu. Choosing it will boot into Linux.</p>
-</div>
-</div>
-
-<div class="SECT2">
-<hr />
-<h3 class="SECT2"><a id="BOOTING-DUAL-LINUX" name="BOOTING-DUAL-LINUX">7.3.2
-Linux</a></h3>
-
-<p>Yes, people really do this. This is definitely the easiest dual boot scenario. You can
-simply use LILO and add more entries to the <tt class="FILENAME">/etc/lilo.conf</tt>
-file. That's all there is to it.</p>
-</div>
-</div>
-</div>
-
-<div class="CHAPTER">
-<hr />
-<h1><a id="SHELL" name="SHELL"></a>Chapter 8 The Shell</h1>
-
-<p>In a graphical environment, the interface is provided by a program that creates
-windows, scrollbars, menus, etc. In a commandline environment, the user interface is
-provided by a shell, which interprets commands and generally makes things useable.
-Immediately after logging in (which is covered in this chapter), users are put into a
-shell and allowed to go about their business. This chapter serves as an introduction to
-the shell, and to the most common shell among Linux users-- the Bourne Again Shell
-(bash). For more detailed information on anything in this chapter, check out the <tt
-class="COMMAND">bash</tt>(1) man page.</p>
-
-<div class="SECT1">
-<hr />
-<h2 class="SECT1"><a id="SHELL-USERS" name="SHELL-USERS">8.1 Users</a></h2>
-
-<div class="SECT2">
-<h3 class="SECT2"><a id="AEN2678" name="AEN2678">8.1.1 Logging In</a></h3>
-
-<p>So you've booted, and you're looking at something that looks like this:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-Welcome to Linux 2.4.18
-Last login: Wed Jan 1 15:59:14 -0500 2005 on tty6.
-darkstar login:
-</pre>
-</td>
-</tr>
-</table>
-
-<p>Hmm.. nobody said anything about a login. And what's a darkstar? Don't worry; you
-probably didn't accidentally fire up a hyperspace comm-link to the Empire's artificial
-moon. (I'm afraid the hyperspace comm-link protocol isn't currently supported by the
-Linux kernel. Maybe the 2.8 kernel branch will at last provide this oft looked-for
-support.) No, darkstar is just the name of one of our computers, and its name gets
-stamped on as the default. If you specified a name for your computer during setup, you
-should see it instead of darkstar.</p>
-
-<p>As for the login... If this is your first time, you'll want to log in as <tt
-class="USERNAME">root</tt>. You'll be prompted for a password; if you set one during the
-setup process, that's what it's looking for. If not, just hit enter. That's it-- you're
-in!</p>
-</div>
-
-<div class="SECT2">
-<hr />
-<h3 class="SECT2"><a id="AEN2693" name="AEN2693">8.1.2 Root: The Superuser</a></h3>
-
-<p>Okay, who or <span class="emphasis"><i class="EMPHASIS">what</i></span> is <tt
-class="USERNAME">root</tt>? And what's it doing with an account on <span
-class="emphasis"><i class="EMPHASIS">your</i></span> system?</p>
-
-<p>Well, in the world of Unix and similar operating systems (like Linux), there are users
-and then there are users. We'll go into this in more detail later, but the important
-thing to know now is that <tt class="USERNAME">root</tt> is the user above all users; <tt
-class="USERNAME">root</tt> is all-powerful and all-knowing, and <span class="emphasis"><i
-class="EMPHASIS">nobody</i></span> disobeys <tt class="USERNAME">root</tt>. It just isn't
-allowed. <tt class="USERNAME">root</tt> is what we call a &#8220;superuser&#8221;, and
-rightly so. And best of all, <tt class="USERNAME">root</tt> is <span class="emphasis"><i
-class="EMPHASIS">you</i></span>.</p>
-
-<p>Cool, huh?</p>
-
-<p>If you're not sure: yes, that's very cool. The catch is, though, that root is
-inherently allowed to break anything it so desires. You might want to skip ahead to <a
-href="#ESSENTIAL-SYSADMIN-USERS-SCRIPTS">Section 12.1.1</a> and see about adding a user;
-then login as that user and work from there. The traditional wisdom is that it's best to
-only become the superuser when absolutely necessary, so as to minimize the possibility of
-accidentally breaking something.</p>
-
-<p>By the way, if you decide you want to be root while you're logged in as someone else,
-no problem. Just use the <tt class="COMMAND">su</tt>(1) command. You'll be asked for <tt
-class="USERNAME">root's</tt> password and then it will make you <tt
-class="USERNAME">root</tt> until you <tt class="COMMAND">exit</tt> or <tt
-class="COMMAND">logout</tt>. You can also become any other user using <tt
-class="COMMAND">su</tt>, provided you know that user's password: <tt class="COMMAND">su
-logan</tt>, for instance, would make you me.</p>
-
-<div class="NOTE">
-<table class="NOTE" width="100%" border="0">
-<tr>
-<td width="25" align="CENTER" valign="TOP"><img src="./imagelib/admon/note.png"
-hspace="5" alt="Note" /></td>
-<td align="LEFT" valign="TOP">
-<p><tt class="USERNAME">root</tt> is allowed to su to any user, without requiring their
-password.</p>
-</td>
-</tr>
-</table>
-</div>
-</div>
-</div>
-
-<div class="SECT1">
-<hr />
-<h2 class="SECT1"><a id="SHELL-COMMAND-LINE" name="SHELL-COMMAND-LINE">8.2 The Command
-Line</a></h2>
-
-<div class="SECT2">
-<h3 class="SECT2"><a id="SHELL-COMMAND-LINE-RUNNING"
-name="SHELL-COMMAND-LINE-RUNNING">8.2.1 Running Programs</a></h3>
-
-<p>It's hard to get much accomplished without running a program; you might be able to
-prop something up with your computer or hold a door open, and some will make the most
-lovely humming noise when running, but that's really about it. And I think we can all
-agree that its use as a humming doorstop isn't what brought the personal computer the
-popularity it now enjoys.</p>
-
-<p>So, remember how almost everything in Linux is a file? Well, that goes for programs,
-too. Every command you run (that isn't built into the shell) resides as a file somewhere.
-You run a program simply by specifying the full path to it.</p>
-
-<p>For instance, remember that <tt class="COMMAND">su</tt> command from the last section?
-Well, it's actually in the <tt class="FILENAME">/bin</tt> directory: <tt
-class="COMMAND">/bin/su</tt> would run it nicely.</p>
-
-<p>So why, then, does just typing <tt class="COMMAND">su</tt> work? After all, you didn't
-say it was in <tt class="FILENAME">/bin</tt>. It could just as easily have been in <tt
-class="FILENAME">/usr/local/share</tt>, right? How did it <span class="emphasis"><i
-class="EMPHASIS">know</i></span>? The answer to that lies in the <tt
-class="ENVAR">PATH</tt> environment variable; most shells have either <tt
-class="ENVAR">PATH</tt> or something very much like <tt class="ENVAR">PATH</tt>. It
-basically contains a list of directories to look in for programs you try to run. So when
-you ran <tt class="COMMAND">su</tt>, your shell ran through its list of directories,
-checking each one for an executable file called <tt class="COMMAND">su</tt> that it could
-run; the first one it came to, it ran. This happens whenever you run a program without
-specifying a full path to it; if you get a &#8220;&#8220;<tt class="ERRORNAME">Command
-not found</tt>&#8221;&#8221; error, that only means that the program you tried to run
-isn't in your <tt class="ENVAR">PATH</tt>. (Of course, this would be true if the program
-doesn't exist at all...) We'll discuss environment variables in more depth in <a
-href="#SHELL-BASH-ENVIRONMENT">Section 8.3.1</a>.</p>
-
-<p>Remember also that &#8220;<tt class="FILENAME">.</tt>&#8221; is shorthand for the
-current directory, so if you happened to be in <tt class="FILENAME">/bin</tt>, <tt
-class="FILENAME">./su</tt> would have worked as an explicit full path.</p>
-</div>
-
-<div class="SECT2">
-<hr />
-<h3 class="SECT2"><a id="SHELL-COMMAND-LINE-WILDCARD"
-name="SHELL-COMMAND-LINE-WILDCARD">8.2.2 Wildcard Matching</a></h3>
-
-<p>Nearly every shell recognizes some characters as being substitutes or abbreviations
-that mean anything goes here. Such characters are aptly named wildcards; the most common
-are <var class="LITERAL">*</var> and <var class="LITERAL">?</var>. By convention, <var
-class="LITERAL">?</var> usually matches any single character. For instance, suppose
-you're in a directory with three files: <tt class="FILENAME">ex1.txt</tt>, <tt
-class="FILENAME">ex2.txt</tt>, and <tt class="FILENAME">ex3.txt</tt>. You want to copy
-all of those files (using the <tt class="COMMAND">cp</tt> command we cover in <a
-href="#FILE-COMMANDS-COPYMOVE-CP">Section 10.5.1</a>) to another directory, say <tt
-class="FILENAME">/tmp</tt>. Well, typing <tt class="COMMAND">cp ex1.txt ex2.txt ex3.txt
-/tmp</tt> is entirely too much work. It's much easier to type <tt class="COMMAND">cp
-ex?.txt /tmp</tt>; the <var class="LITERAL">?</var> will match each of the characters
-&#8220;1&#8221;, &#8220;2&#8221;, and &#8220;3&#8221;, and each in turn will be
-substituted in.</p>
-
-<p>What's that you say? That's <span class="emphasis"><i
-class="EMPHASIS">still</i></span> too much work? You're right. It's appalling; we have
-labor laws to protect us from that sort of thing. Fortunately, we also have <var
-class="LITERAL">*</var>. As was already mentioned, <var class="LITERAL">*</var> matches
-&#8220;any number of characters&#8221;, including 0. So if those three files were the
-only ones in the directory, we could have simply said <tt class="COMMAND">cp * /tmp</tt>
-and gotten them all in one fell swoop. Suppose, though, that there is also a file called
-<tt class="FILENAME">ex.txt</tt> and one called <tt class="FILENAME">hejaz.txt</tt>. We
-want to copy <tt class="FILENAME">ex.txt</tt> but not <tt
-class="FILENAME">hejaz.txt</tt>; <tt class="COMMAND">cp ex* /tmp</tt> will do that for
-us.</p>
-
-<p><tt class="COMMAND">cp ex?.txt /tmp</tt>, would, of course, only get our original
-three files; there's no character in <tt class="FILENAME">ex.txt</tt> to match that <var
-class="LITERAL">?</var>, so it would be left out.</p>
-
-<p>Another common wildcard is the bracket pair <var class="LITERAL">[ ]</var>. Any
-characters inside the brackets will be substituted in place of the <var class="LITERAL">[
-]</var> to find matches. Sound confusing? It's not too bad. Suppose for instance, we have
-a directory containing the following 8 files: <tt class="FILENAME">a1</tt>, <tt
-class="FILENAME">a2</tt>, <tt class="FILENAME">a3</tt>, <tt class="FILENAME">a4</tt>, <tt
-class="FILENAME">aA</tt>, <tt class="FILENAME">aB</tt>, <tt class="FILENAME">aC</tt>, and
-<tt class="FILENAME">aD</tt> . We want to only find the files ending in numbers; <var
-class="LITERAL">[ ]</var> will do this for us.</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">%</samp> <kbd class="USERINPUT">ls a[1-4]</kbd>
-a1 a2 a3 a4
-</pre>
-</td>
-</tr>
-</table>
-
-<p>But what we really want is just <tt class="FILENAME">a1</tt>, <tt
-class="FILENAME">a2</tt>, and <tt class="FILENAME">a4</tt>? In the previous example we
-used - to mean all values between 1 and 4. We can also separate individual entries with
-commas.</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">%</samp> <kbd class="USERINPUT">ls a[1,2,4]</kbd>
-a1 a2 a4
-</pre>
-</td>
-</tr>
-</table>
-
-<p>I know what you're thinking now, &#8220;Well what about letters?&#8221; Linux is
-case-sensitive, meaning that <var class="LITERAL">a</var> and <var
-class="LITERAL">A</var> are different characters and are only related in your mind.
-Capitals always come before lowercase letters, so <var class="LITERAL">A</var> and <var
-class="LITERAL">B</var> come before <var class="LITERAL">a</var> and <var
-class="LITERAL">b</var>. Continuing with our earlier example, if we wanted files <tt
-class="FILENAME">a1</tt>, and <tt class="FILENAME">A1</tt>, we can find these quickly
-with <var class="LITERAL">[ ]</var>.</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">%</samp> <kbd class="USERINPUT">ls [A,a]1</kbd>
-A1 a1
-</pre>
-</td>
-</tr>
-</table>
-
-<p>Note, that if we had included a hyphen instead of a comma, we would have gotten
-incorrect results.</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">%</samp> <kbd class="USERINPUT">ls [A-a]1</kbd>
-A1 B1 C1 D1 a1
-</pre>
-</td>
-</tr>
-</table>
-
-<p>You can also combine hyphen and comma strings.</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">%</samp> <kbd class="USERINPUT">ls [A,a-d]</kbd>
-A1 a1 b1 c1 d1
-</pre>
-</td>
-</tr>
-</table>
-</div>
-
-<div class="SECT2">
-<hr />
-<h3 class="SECT2"><a id="SHELL-COMMAND-LINE-PIPING"
-name="SHELL-COMMAND-LINE-PIPING">8.2.3 Input/Output Redirection and Piping</a></h3>
-
-<p>(Here comes something cool.)</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">%</samp> <kbd class="USERINPUT">ps &#62; blargh</kbd>
-</pre>
-</td>
-</tr>
-</table>
-
-<p>Y'know what that is? That's me running <tt class="COMMAND">ps</tt> to see which
-processes are running; <tt class="COMMAND">ps</tt> is covered in <a
-href="#PROCESS-CONTROL-PS">Section 11.3</a>. That's not the cool part. The cool part is
-<var class="LITERAL">&gt; blargh</var>, which means, roughly, take the output from <tt
-class="COMMAND">ps</tt> and write it to a file called <tt class="FILENAME">blargh</tt>.
-But wait, it gets cooler.</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">%</samp> <kbd class="USERINPUT">ps | less</kbd>
-</pre>
-</td>
-</tr>
-</table>
-
-<p>That one takes the output from <tt class="COMMAND">ps</tt> and pipes it through <tt
-class="COMMAND">less</tt>, so I can scroll through it at my leisure.</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">%</samp> <kbd class="USERINPUT">ps &gt;&gt; blargh</kbd>
-</pre>
-</td>
-</tr>
-</table>
-
-<p>This is the third most commonly used redirector; it does the same thing as
-&#8220;&gt;&#8221;, except that &#8220;&gt;&gt;&#8221; will append output from <tt
-class="COMMAND">ps</tt> to the file <tt class="FILENAME">blargh</tt>, if said file
-exists. If not, just like &#8220;&gt;&#8221;, it will be created. (&#8220;&gt;&#8221;
-will obliterate the current contents of <tt class="FILENAME">blargh</tt>.)</p>
-
-<p>There is also a &#8220;&lt;&#8221; operator, which means take your input from the
-following, but it's not used nearly so often.</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">%</samp> <kbd
-class="USERINPUT">fromdos &lt; dosfile.txt &gt; unixfile.txt</kbd>
-</pre>
-</td>
-</tr>
-</table>
-
-<p>Redirection gets really fun when you start piling it up:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">%</samp> <kbd class="USERINPUT">ps | tac &gt;&gt; blargh</kbd>
-</pre>
-</td>
-</tr>
-</table>
-
-<p>That will run <tt class="COMMAND">ps</tt>, reverse the lines of its output, and append
-those to the file <tt class="FILENAME">blargh</tt>. You can stack as many of these up as
-you want; just be careful to remember that they get interpreted from left to right.</p>
-
-<p>See the <tt class="COMMAND">bash</tt>(1) man page for more detailed information on
-redirection.</p>
-</div>
-</div>
-
-<div class="SECT1">
-<hr />
-<h2 class="SECT1"><a id="SHELL-BASH" name="SHELL-BASH">8.3 The Bourne Again Shell
-(bash)</a></h2>
-
-<div class="SECT2">
-<h3 class="SECT2"><a id="SHELL-BASH-ENVIRONMENT" name="SHELL-BASH-ENVIRONMENT">8.3.1
-Environment Variables</a></h3>
-
-<p>A Linux system is a complex beast, and there's a lot to keep track of, a lot of little
-details that come into play in your normal interactions with various programs (some of
-which you might not even need to be aware of). Nobody wants to pass a bunch of options to
-every program that gets run, telling it what kind of terminal is being used, the hostname
-of the computer, how their prompt should look...</p>
-
-<p>So as a coping mechanism, users have what's called an environment. The environment
-defines the conditions in which programs run, and some of this definition is variable;
-the user can alter and play with it, as is only right in a Linux system. Pretty much any
-shell will have environment variables (if not, it's probably not a very useable shell).
-Here we will give an overview of the commands bash provides for manipulating its
-environment variables.</p>
-
-<p><tt class="COMMAND">set</tt> by itself will show you all of the environment variables
-that are currently defined, as well as their values. Like most <tt
-class="COMMAND">bash</tt> built-ins, it can also do several other things (with
-parameters); we'll leave it to the <tt class="COMMAND">bash</tt>(1) man page to cover
-that, though. <a href="#EX-SHELL-BASH-ENVIRONMENT">Example 8-1</a> shows an excerpt from
-a <tt class="COMMAND">set</tt> command run on one of the author's computers. Notice in
-this example the <tt class="ENVAR">PATH</tt> variable that was discussed earlier.
-Programs in any of those directories can be run simply by typing the base filename.</p>
-
-<div class="EXAMPLE"><a id="EX-SHELL-BASH-ENVIRONMENT"
-name="EX-SHELL-BASH-ENVIRONMENT"></a>
-<p><b>Example 8-1. Listing Environment Variables with <tt
-class="COMMAND">set</tt></b></p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">%</samp> <kbd class="USERINPUT">set</kbd>
-PATH=/usr/local/lib/qt/bin:/usr/local/bin:/usr/bin:/bin:/usr/X11R6/bin:
-/usr/openwin/bin:/usr/games:.:/usr/local/ssh2/bin:/usr/local/ssh1/bin:
-/usr/share/texmf/bin:/usr/local/sbin:/usr/sbin:/home/logan/bin
-PIPESTATUS=([0]="0")
-PPID=4978
-PS1='\h:\w\$ '
-PS2='&#62; '
-PS4='+ '
-PWD=/home/logan
-QTDIR=/usr/local/lib/qt
-REMOTEHOST=ninja.tdn
-SHELL=/bin/bash
-</pre>
-</td>
-</tr>
-</table>
-</div>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">%</samp> <kbd class="USERINPUT">unset <var
-class="REPLACEABLE">VARIABLE</var></kbd>
-</pre>
-</td>
-</tr>
-</table>
-
-<p><tt class="COMMAND">unset</tt> will remove any variables that you give it, wiping out
-both the variable and its value; <tt class="COMMAND">bash</tt> will forget that variable
-ever existed. (Don't worry. Unless it's something you explicitly defined in that shell
-session, it'll probably get redefined in any other session.)</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">%</samp> <kbd class="USERINPUT">export <var
-class="REPLACEABLE">VARIABLE=some_value</var></kbd>
-</pre>
-</td>
-</tr>
-</table>
-
-<p>Now, <tt class="COMMAND">export</tt> is truly handy. Using it, you give the
-environment variable <tt class="ENVAR">VARIABLE</tt> the value &#8220;<var
-class="LITERAL">some_value</var>&#8221;; if <tt class="ENVAR">VARIABLE</tt> didn't exist,
-it does now. If <tt class="ENVAR">VARIABLE</tt> already had a value, well, it's gone.
-That's not so good, if you're just trying to add a directory to your <tt
-class="ENVAR">PATH</tt>. In that case, you probably want to do something like this:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">%</samp> <kbd class="USERINPUT">export PATH=$PATH:<var
-class="REPLACEABLE">/some/new/directory</var></kbd>
-</pre>
-</td>
-</tr>
-</table>
-
-<p>Note the use of <tt class="ENVAR">$PATH</tt> there: when you want <tt
-class="COMMAND">bash</tt> to interpret a variable (replace it with its value), tack a
-<var class="LITERAL">$</var> onto the beginning of the variable's name. For instance, <tt
-class="COMMAND">echo $PATH</tt> will echo the value of <tt class="ENVAR">PATH</tt>, in my
-case:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">%</samp> <kbd class="USERINPUT">echo $PATH</kbd>
-/usr/local/lib/qt/bin:/usr/local/bin:/usr/bin:/bin:/usr/X11R6/bin:
-/usr/openwin/bin:/usr/games:.:/usr/local/ssh2/bin:/usr/local/ssh1/bin:
-/usr/share/texmf/bin:/usr/local/sbin:/usr/sbin:/home/logan/bin
-</pre>
-</td>
-</tr>
-</table>
-</div>
-
-<div class="SECT2">
-<hr />
-<h3 class="SECT2"><a id="SHELL-BASH-TAB" name="SHELL-BASH-TAB">8.3.2 Tab
-Completion</a></h3>
-
-<p>(Here comes something cool again.)</p>
-
-<ol type="1">
-<li>
-<p>A commandline interface means lots of typing.</p>
-</li>
-
-<li>
-<p>Typing is work.</p>
-</li>
-
-<li>
-<p>Nobody likes work.</p>
-</li>
-</ol>
-
-<p>From 3 and 2, we can determine that (4) nobody likes typing. Fortunately, <tt
-class="COMMAND">bash</tt> saves us from (5) (nobody likes a commandline interface).</p>
-
-<p>How does <tt class="COMMAND">bash</tt> accomplish this wonderful feat, you ask? In
-addition to the wildcard expansion we discussed before, <tt class="COMMAND">bash</tt>
-features tab completion.</p>
-
-<p>Tab completion works something like this: You're typing the name of a file. Maybe it's
-in your <tt class="ENVAR">PATH</tt>, maybe you're typing it out explicitly. All you have
-to do is type enough of the filename to uniquely identify it. Then hit the tab key. <tt
-class="COMMAND">bash</tt> will figure out what you want and finish typing it for you!</p>
-
-<p>Example time. <tt class="FILENAME">/usr/src</tt> contains two subdirectories: <tt
-class="FILENAME">/usr/src/linux</tt> and <tt class="FILENAME">/usr/src/sendmail</tt>. I
-want to see what's in <tt class="FILENAME">/usr/src/linux</tt>. So I just type <tt
-class="COMMAND">ls /usr/src/l</tt>, hit the <kbd class="USERINPUT">TAB</kbd> key, and <tt
-class="COMMAND">bash</tt> gives me <tt class="COMMAND">ls /usr/src/linux</tt>.</p>
-
-<p>Now, suppose there are two directories <tt class="FILENAME">/usr/src/linux</tt> and
-<tt class="FILENAME">/usr/src/linux-old</tt>; If I type <tt
-class="FILENAME">/usr/src/l</tt> and hit <kbd class="USERINPUT">TAB</kbd>, <tt
-class="COMMAND">bash</tt> will fill in as much as it can, and I'll get <tt
-class="FILENAME">/usr/src/linux</tt>. I can stop there, or I can hit <kbd
-class="USERINPUT">TAB</kbd> again, and <tt class="COMMAND">bash</tt> will show a list of
-directories that match what I've typed so far.</p>
-
-<p>Hence, less typing (and hence, people can like commandline interfaces). I told you it
-was cool.</p>
-</div>
-</div>
-
-<div class="SECT1">
-<hr />
-<h2 class="SECT1"><a id="SHELL-VT" name="SHELL-VT">8.4 Virtual Terminals</a></h2>
-
-<p>So you're in the middle of working on something and you decide you need to do
-something else. You could just drop what you're doing and switch tasks, but this is a
-multi-user system, right? And you can log in as many times simultaneously as you want,
-right? So why should you have to do one thing at a time?</p>
-
-<p>You don't. We can't all have multiple keyboards, mice, and monitors for one machine;
-chances are most of us don't want them. Clearly, hardware isn't the solution. That leaves
-software, and Linux steps up on this one, providing &#8220;virtual terminals&#8221;, or
-&#8220;VTs&#8221;.</p>
-
-<p>By pressing <kbd class="USERINPUT">Alt</kbd> and a function key, you can switch
-between virtual terminals; each function key corresponds to one. Slackware has logins on
-6 VTs by default. <b class="KEYCAP">Alt</b>+<b class="KEYCAP">F2</b> will take you to the
-second one, <b class="KEYCAP">Alt</b>+<b class="KEYCAP">F3</b> to the third, etc.</p>
-
-<p>The rest of the function keys are reserved for X sessions. Each X session uses its own
-VT, beginning with the seventh (<b class="KEYCAP">Alt</b>+<b class="KEYCAP">F7</b>) and
-going up. When in X, the <b class="KEYCAP">Alt</b>+<b class="KEYCAP">Function key</b>
-combination is replaced with <b class="KEYCAP">Ctrl</b>+<b class="KEYCAP">Alt</b>+<b
-class="KEYCAP">Function</b>; so if you are in X and want to get back to a text login
-(without exiting your X session), <b class="KEYCAP">Ctrl</b>+<b class="KEYCAP">Alt</b>+<b
-class="KEYCAP">F3</b> will take you to the third. (<b class="KEYCAP">Alt</b>+<b
-class="KEYCAP">F7</b> will take you back, assuming you're using the first X session.)</p>
-
-<div class="SECT2">
-<hr />
-<h3 class="SECT2"><a id="AEN3024" name="AEN3024">8.4.1 Screen</a></h3>
-
-<p>But what about situations where there are no virtual terminals? What then?
-Fortunately, slackware includes a beautiful screen manager aptly named <tt
-class="COMMAND">screen</tt>. <tt class="COMMAND">screen</tt> is a terminal emulator that
-has virtual terminal like capabilities. Executing <tt class="COMMAND">screen</tt> flashes
-a brief introduction, then dumps to a terminal. Unlike the standard virtual terminals,
-<tt class="COMMAND">screen</tt> has its own commands. All <tt class="COMMAND">screen</tt>
-commands are prefixed with a <b class="KEYCAP">Crtl</b>+<b class="KEYCAP">A</b>
-keystroke. For example, <b class="KEYCAP">Ctrl</b>+<b class="KEYCAP">A</b>+<b
-class="KEYCAP">C</b> will create a new terminal session. <b class="KEYCAP">Ctrl</b>+<b
-class="KEYCAP">A</b>+<b class="KEYCAP">N</b> will switch to the next terminal. <b
-class="KEYCAP">Ctrl</b>+<b class="KEYCAP">A</b>+<b class="KEYCAP">P</b> switches to the
-previous terminal.</p>
-
-<p><tt class="COMMAND">screen</tt> also supports detaching and re-attaching to <tt
-class="COMMAND">screen</tt> sessions which is particularly useful for remote sessions via
-<tt class="COMMAND">ssh</tt> and <tt class="COMMAND">telnet</tt>, (more on those later).
-<b class="KEYCAP">Ctrl</b>+<b class="KEYCAP">A</b>+<b class="KEYCAP">D</b> will detach
-from the currently running screen. Executing <tt class="COMMAND">screen -r</tt> will list
-all currently running screen sessions you may reattach to.</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">%</samp> <kbd class="USERINPUT">screen -r</kbd>
-There are several suitable screens on:
- 1212.pts-1.redtail (Detached)
- 1195.pts-1.redtail (Detached)
- 1225.pts-1.redtail (Detached)
- 17146.pts-1.sanctuary (Dead ???)
-Remove dead screens with 'screen -wipe'.
-Type "screen [-d] -r [pid.]tty.host" to resume one of them.
-</pre>
-</td>
-</tr>
-</table>
-
-<p>Running <tt class="COMMAND">screen -r 1212</tt> would reattach to the first screen
-listed. I mentioned earlier how useful this was for remote sessions. If I were to login
-to a remote slackware server via <tt class="COMMAND">ssh</tt>, and my connection was
-severed by some chance occurrence such as a local power failure, whatever I was doing at
-that moment would instantly perish, which can be a horrible thing for your server. Using
-<tt class="COMMAND">screen</tt> prevents this by detaching my session if my connection is
-dropped. Once my connection is restored, I can reattach to my screen session and resume
-right where I left off.</p>
-</div>
-</div>
-</div>
-
-<div class="CHAPTER">
-<hr />
-<h1><a id="FILESYSTEM-STRUCTURE" name="FILESYSTEM-STRUCTURE"></a>Chapter 9 Filesystem
-Structure</h1>
-
-<p>We have already discussed the directory structure in Slackware Linux. By this point,
-you should be able to find files and directories that you need. But there is more to the
-filesystem than just the directory structure.</p>
-
-<p>Linux is a multiuser operating system. Every aspect of the system is multiuser, even
-the filesystem. The system stores information like who owns a file and who can read it.
-There are other unique parts about the filesystems, such as links and NFS mounts. This
-section explains these, as well as the multiuser aspects of the filesystem.</p>
-
-<div class="SECT1">
-<hr />
-<h2 class="SECT1"><a id="FILESYSTEM-STRUCTURE-OWNERSHIP"
-name="FILESYSTEM-STRUCTURE-OWNERSHIP">9.1 Ownership</a></h2>
-
-<p>The filesystem stores ownership information for each file and directory on the system.
-This includes what user and group own a particular file. The easiest way to see this
-information is with the <tt class="COMMAND">ls</tt> command:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">%</samp> <kbd class="USERINPUT">ls -l /usr/bin/wc</kbd>
--rwxr-xr-x 1 root bin 7368 Jul 30 1999 /usr/bin/wc
-</pre>
-</td>
-</tr>
-</table>
-
-<p>We are interested in the third and fourth columns. These contain the username and
-group name that owns this file. We see that the user &#8220;<tt
-class="USERNAME">root</tt>&#8221; and the group &#8220;<tt
-class="USERNAME">bin</tt>&#8221; own this file.</p>
-
-<p>We can easily change the file owners with the <tt class="COMMAND">chown</tt>(1) (which
-means &#8220;change owner&#8221;) and <tt class="COMMAND">chgrp</tt>(1) (which means
-&#8220;change group&#8221;) commands. To change the file owner to <tt
-class="USERNAME">daemon</tt>, we would use <tt class="COMMAND">chown</tt>:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">#</samp> <kbd class="USERINPUT">chown daemon /usr/bin/wc</kbd>
-</pre>
-</td>
-</tr>
-</table>
-
-<p>To change the group owner to &#8220;<tt class="USERNAME">root</tt>&#8221;, we would
-use <tt class="COMMAND">chgrp</tt>:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">#</samp> <kbd class="USERINPUT">chgrp root /usr/bin/wc</kbd>
-</pre>
-</td>
-</tr>
-</table>
-
-<p>We can also use <tt class="COMMAND">chown</tt> to specify the user and group owners
-for a file:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">#</samp> <kbd class="USERINPUT">chown daemon:root /usr/bin/wc</kbd>
-</pre>
-</td>
-</tr>
-</table>
-
-<p>In the above example, the user could have used a period instead of a colon. The result
-would have been the same; however, the colon is considered better form. Use of the period
-is deprecated and may be removed from future versions of <tt class="COMMAND">chown</tt>
-to allow usernames with periods in them. These usernames tend to be very popular with
-Windows Exchange Servers and are encountered most commonly in email addresses such as:
-<var class="LITERAL">mr.jones@example.com</var>. In slackware, administrators are advised
-to stay away from such usernames because some scripts still use the period to indicate
-the user and group of a file or directory. In our example, <tt class="COMMAND">chmod</tt>
-would interpret <var class="LITERAL">mr.jones</var> as user &#8220;mr&#8221; and group
-&#8220;jones&#8221;.</p>
-
-<p>File ownership is a very important part of using a Linux system, even if you are the
-only user. You sometimes need to fix ownerships on files and device nodes.</p>
-</div>
-
-<div class="SECT1">
-<hr />
-<h2 class="SECT1"><a id="FILESYSTEM-STRUCTURE-PERMISSIONS"
-name="FILESYSTEM-STRUCTURE-PERMISSIONS">9.2 Permissions</a></h2>
-
-<p>Permissions are the other important part of the multiuser aspects of the filesystem.
-With these, you can change who can read, write, and execute files.</p>
-
-<p>The permission information is stored as four octal digits, each specifying a different
-set of permissions. There are owner permissions, group permissions, and world
-permissions. The fourth octal digit is used to store special information such as set user
-ID, set group ID, and the sticky bit. The octal values assigned to the permission modes
-are (they also have letters associated with them that are displayed by programs such as
-<tt class="COMMAND">ls</tt> and can be used by <tt class="COMMAND">chmod</tt>):</p>
-
-<div class="TABLE"><a id="AEN3142" name="AEN3142"></a>
-<p><b>Table 9-1. Octal Permission Values</b></p>
-
-<table border="0" frame="void" class="CALSTABLE">
-<col width="3*" />
-<col width="1*" align="CENTER" />
-<col width="1*" align="CENTER" />
-<thead>
-<tr>
-<th>Permission Type</th>
-<th>Octal Value</th>
-<th>Letter Value</th>
-</tr>
-</thead>
-
-<tbody>
-<tr>
-<td>&#8220;sticky&#8221; bit</td>
-<td>1</td>
-<td>t</td>
-</tr>
-
-<tr>
-<td>set user ID</td>
-<td>4</td>
-<td>s</td>
-</tr>
-
-<tr>
-<td>set group ID</td>
-<td>2</td>
-<td>s</td>
-</tr>
-
-<tr>
-<td>read</td>
-<td>4</td>
-<td>r</td>
-</tr>
-
-<tr>
-<td>write</td>
-<td>2</td>
-<td>w</td>
-</tr>
-
-<tr>
-<td>execute</td>
-<td>1</td>
-<td>x</td>
-</tr>
-</tbody>
-</table>
-</div>
-
-<p>You add the octal values for each permission group. For example, if you want the group
-permissions to be &#8220;read&#8221; and &#8220;write&#8221;, you would use
-&#8220;6&#8221; in the group portion of the permission information.</p>
-
-<p><tt class="COMMAND">bash</tt>'s default permissions are:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">%</samp> <kbd class="USERINPUT">ls -l /bin/bash</kbd>
--rwxr-xr-x 1 root bin 477692 Mar 21 19:57 /bin/bash
-</pre>
-</td>
-</tr>
-</table>
-
-<p>The first dash would be replaced with a &#8220;d&#8221; if this was a directory. The
-three permission groups (owner, group, and world) are displayed next. We see that the
-owner has read, write, and execute permissions (<var class="LITERAL">rwx</var>). The
-group has only read and execute (<var class="LITERAL">r-x</var>). And everyone else has
-only read and execute (<var class="LITERAL">r-x</var>).</p>
-
-<p>How would we set permissions on another file to resemble <tt
-class="COMMAND">bash</tt>'s? First, let's make an example file:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">%</samp> <kbd class="USERINPUT">touch /tmp/example</kbd>
-<samp class="PROMPT">%</samp> <kbd class="USERINPUT">ls -l /tmp/example</kbd>
--rw-rw-r--- 1 david users 0 Apr 19 11:21 /tmp/example
-</pre>
-</td>
-</tr>
-</table>
-
-<p>We will use <tt class="COMMAND">chmod</tt>(1) (which means &#8220;change mode&#8221;)
-to set the permissions on the example file. Add the octal numbers for the permissions you
-want. For the owner to have read, write, and execute, we would have a value of <var
-class="LITERAL">7</var>. Read and execute would have <var class="LITERAL">5</var>. Run
-those together and pass them to <tt class="COMMAND">chmod</tt> like this:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">%</samp> <kbd class="USERINPUT">chmod 755 /tmp/example</kbd>
-<samp class="PROMPT">%</samp> <kbd class="USERINPUT">ls -l /tmp/example</kbd>
--rwxr-xr-x 1 david users 0 Apr 19 11:21 /tmp/example
-</pre>
-</td>
-</tr>
-</table>
-
-<p>Now you may be thinking, &#8220;Why didn't it just create a file with those
-permissions in the first place?&#8221; Well the answer is simple. <tt
-class="COMMAND">bash</tt> includes a nice little built-in called <tt
-class="COMMAND">umask</tt>. This is included with most Unix shells as well, and controls
-what file permissions are assigned to newly created files. We discussed <tt
-class="COMMAND">bash</tt> built-ins to some degree in <a
-href="#SHELL-BASH-ENVIRONMENT">Section 8.3.1</a>. <tt class="COMMAND">umask</tt> takes a
-little getting used to. It works very similar to <tt class="COMMAND">chmod</tt>, only in
-reverse. You specify the octal values you do not wish to have present in newly created
-files. The default umask value is <var class="LITERAL">0022</var>.</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">%</samp> <kbd class="USERINPUT">umask</kbd>
-0022
-<samp class="PROMPT">%</samp> <kbd class="USERINPUT">umask 0077</kbd>
-<samp class="PROMPT">%</samp> <kbd class="USERINPUT">touch tempfile</kbd>
-<samp class="PROMPT">%</samp> <kbd class="USERINPUT">ls -l tempfile</kbd>
--rw-------- 1 david users 0 Apr 19 11:21 tempfile
-</pre>
-</td>
-</tr>
-</table>
-
-<p>See the man page for <tt class="COMMAND">bash</tt> for more information.</p>
-
-<p>To set special permissions with <tt class="COMMAND">chmod</tt>, add the numbers
-together and place them in the first column. For example, to make it set user ID and set
-group ID, we use 6 as the first column:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">%</samp> <kbd class="USERINPUT">chmod 6755 /tmp/example</kbd>
-<samp class="PROMPT">%</samp> <kbd class="USERINPUT">ls -l /tmp/example</kbd>
--rwsr-sr-x 1 david users 0 Apr 19 11:21 /tmp/example
-</pre>
-</td>
-</tr>
-</table>
-
-<p>If the octal values confuse you, you can use letters with <tt
-class="COMMAND">chmod</tt>. The permission groups are represented as:</p>
-
-<div class="INFORMALTABLE"><a id="AEN3246" name="AEN3246"></a>
-<table border="0" frame="void" class="CALSTABLE">
-<col />
-<col />
-<tbody>
-<tr>
-<td>Owner</td>
-<td>u</td>
-</tr>
-
-<tr>
-<td>Group</td>
-<td>g</td>
-</tr>
-
-<tr>
-<td>World</td>
-<td>o</td>
-</tr>
-
-<tr>
-<td>All of the above</td>
-<td>a</td>
-</tr>
-</tbody>
-</table>
-</div>
-
-<p>To do the above, we would have to use several command lines:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">%</samp> <kbd class="USERINPUT">chmod a+rx /tmp/example</kbd>
-<samp class="PROMPT">%</samp> <kbd class="USERINPUT">chmod u+w /tmp/example</kbd>
-<samp class="PROMPT">%</samp> <kbd class="USERINPUT">chmod ug+s /tmp/example</kbd>
-</pre>
-</td>
-</tr>
-</table>
-
-<p>Some people prefer the letters over the numbers. Either way will result in the same
-set of permissions.</p>
-
-<p>The octal format is often faster, and the one you see most often used in shell
-scripts. Sometimes the letters are more powerful however. For example, there's no easy
-way to change one group of permissions while preserving the other groups on files and
-directories when using the octal format. This is trivial with the letters.</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">%</samp> <kbd class="USERINPUT">ls -l /tmp/</kbd>
--rwxr-xr-x 1 alan users 0 Apr 19 11:21 /tmp/example0
--rwxr-x--- 1 alan users 0 Apr 19 11:21 /tmp/example1
-----r-xr-x 1 alan users 0 Apr 19 11:21 /tmp/example2
-<samp class="PROMPT">%</samp> <kbd class="USERINPUT">chmod g-rwx /tmp/example?</kbd>
--rwx---r-x 1 alan users 0 Apr 19 11:21 /tmp/example0
--rwx------ 1 alan users 0 Apr 19 11:21 /tmp/example1
--------r-x 1 alan users 0 Apr 19 11:21 /tmp/example2
-</pre>
-</td>
-</tr>
-</table>
-
-<p>We mentioned set user ID and set group ID permissions in several places above. You may
-be wondering what this is. Normally when you run a program, it is operating under your
-user account. That is, it has all the permissions that you as a user have. The same is
-true for the group. When you run a program, it executes under your current group. With
-set user ID permissions, you can force the program to always run as the program owner
-(such as &#8220;root&#8221;). Set group ID is the same, but for the group.</p>
-
-<p>Be careful with this, set user ID and set group ID programs can open major security
-holes on your system. If you frequently set user ID programs that are owned by <tt
-class="USERNAME">root</tt>, you are allowing anyone to run that program and run it as <tt
-class="USERNAME">root</tt>. Since <tt class="USERNAME">root</tt> has no restrictions on
-the system, you can see how this would pose a major security problem. In short, it's not
-bad to use set user ID and set group ID permissions, just use common sense.</p>
-</div>
-
-<div class="SECT1">
-<hr />
-<h2 class="SECT1"><a id="FILESYSTEM-STRUCTURE-LINKS"
-name="FILESYSTEM-STRUCTURE-LINKS">9.3 Links</a></h2>
-
-<p>Links are pointers between files. With links, you can have files exist in many
-locations and be accessible by many names. There are two types of links: hard and
-soft.</p>
-
-<p>Hard links are names for a particular file. They can only exist within a single
-filesystem and are only removed when the real name is removed from the system. These are
-useful in some cases, but many users find the soft link to be more versatile.</p>
-
-<p>The soft link, also called a symbolic link, can point to a file outside of its
-filesystem. It is actually a small file containing the information it needs. You can add
-and remove soft links without affecting the actual file. And since a symbolic link is
-actually a small file containing its own information, they can even point at a directory.
-It's rather common to have <tt class="FILENAME">/var/tmp</tt> actually be a symbolic link
-to <tt class="FILENAME">/tmp</tt> for example.</p>
-
-<p>Links do not have their own set of permissions or ownerships, but instead reflect
-those of the file they point to. Slackware uses mostly soft links. Here is a common
-example:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">%</samp> <kbd class="USERINPUT">ls -l /bin/sh</kbd>
-lrwxrwxrwx 1 root root 4 Apr 6 12:34 /bin/sh -&#62; bash
-</pre>
-</td>
-</tr>
-</table>
-
-<p>The <tt class="COMMAND">sh</tt> shell under Slackware is actually <tt
-class="COMMAND">bash</tt>. Removing links is done using <tt class="COMMAND">rm</tt>. The
-<tt class="COMMAND">ln</tt> command is used to create links. These commands will be
-discussed in more depth in <a href="#FILE-COMMANDS">Chapter 10</a>.</p>
-
-<p>It's very important to be careful about symlinks in particular. Once, I was working on
-a machine that was consistently failing to back-up to tape each night. Two symlinks had
-been made to directories beneath each other. The back-up software kept appending those
-same directories to the tape until it was out of space. Normally, a set of checks will
-prevent creating a symlink in this situation, but ours was a special case.</p>
-</div>
-
-<div class="SECT1">
-<hr />
-<h2 class="SECT1"><a id="FILESYSTEM-STRUCTURE-MOUNTING"
-name="FILESYSTEM-STRUCTURE-MOUNTING">9.4 Mounting Devices</a></h2>
-
-<p>As was previously discussed in <a href="#SYSTEM-CONFIGURATION-LAYOUT">Section
-4.1.1</a>, all the drives and devices in your computer are one big filesystem. Various
-hard drive partitions, CD-ROMs, and floppies are all placed in the same tree. In order to
-attach these drives to the filesystem so that you can access them, you have to use the
-<tt class="COMMAND">mount</tt>(1) and <tt class="COMMAND">umount</tt>(1) commands.</p>
-
-<p>Some devices are automatically mounted when you boot up your computer. These are
-listed in the <tt class="FILENAME">/etc/fstab</tt> file. Anything that you want to be
-mounted automatically gets an entry in that file. For other devices, you'll have to issue
-a command every time you want to use the device.</p>
-
-<div class="SECT2">
-<hr />
-<h3 class="SECT2"><a id="AEN3319" name="AEN3319">9.4.1 <tt
-class="FILENAME">fstab</tt></a></h3>
-
-<p>Let's look at an example of the <tt class="FILENAME">/etc/fstab</tt> file:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">%</samp> <kbd class="USERINPUT">cat /etc/fstab</kbd>
-/dev/sda1 / ext2 defaults 1 1
-/dev/sda2 /usr/local ext2 defaults 1 1
-/dev/sda4 /home ext2 defaults 1 1
-/dev/sdb1 swap swap defaults 0 0
-/dev/sdb3 /export ext2 defaults 1 1
-none /dev/pts devpts gid=5,mode=620 0 0
-none /proc proc defaults 0 0
-/dev/fd0 /mnt ext2 defaults 0 0
-/dev/cdrom /mnt/cdrom iso9660 ro 0 0
-</pre>
-</td>
-</tr>
-</table>
-
-<p>The first column is the device name. In this case, the devices are five partitions
-spread out across two SCSI hard drives, two special filesystems that don't need a device,
-a floppy, and a CD-ROM drive. The second column is where the device will be mounted. This
-needs to be a directory name, except in the case of a swap partition. The third column is
-the filesystem type of the device. For normal Linux filesystems, this will be <var
-class="LITERAL">ext2</var> (second extended filesystem). CD-ROM drives are <var
-class="LITERAL">iso9660</var>, and Windows-based devices will either be <var
-class="LITERAL">msdos</var> or <var class="LITERAL">vfat</var>.</p>
-
-<p>The fourth column is a listing of options that apply to the mounted filesystem.
-defaults is fine for just about everything. However, read-only devices should be given
-the <var class="LITERAL">ro</var> flag. There are a lot of options that can be used.
-Check the <tt class="FILENAME">fstab</tt>(5) man page for more information. The last two
-columns are used by <tt class="COMMAND">fsck</tt> and other commands that need to
-manipulate the devices. Check the man page for that information as well.</p>
-
-<p>When you install Slackware Linux, the setup program will build much of the <tt
-class="FILENAME">fstab</tt> file.</p>
-</div>
-
-<div class="SECT2">
-<hr />
-<h3 class="SECT2"><a id="AEN3340" name="AEN3340">9.4.2 <tt class="COMMAND">mount</tt> and
-<tt class="COMMAND">umount</tt></a></h3>
-
-<p>Attaching another device to your filesystem is easy. All you have to do is use the <tt
-class="COMMAND">mount</tt> command, along with a few options. Using <tt
-class="COMMAND">mount</tt> can simplified if the device has an entry in the <tt
-class="FILENAME">/etc/fstab</tt> file. For example, let's say that I wanted to mount my
-CD-ROM drive and that my <tt class="COMMAND">fstab</tt> file looked like the example from
-the previous section. I would call <tt class="COMMAND">mount</tt> like so:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">%</samp> <kbd class="USERINPUT">mount /cdrom</kbd>
-</pre>
-</td>
-</tr>
-</table>
-
-<p>Since there is an entry in <tt class="FILENAME">fstab</tt> for that mount point, <tt
-class="COMMAND">mount</tt> knows what options to use. If there wasn't an entry for that
-device, I would have to use several options for <tt class="COMMAND">mount</tt>:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">%</samp> <kbd
-class="USERINPUT">mount -t iso9660 -o ro /dev/cdrom /cdrom</kbd>
-</pre>
-</td>
-</tr>
-</table>
-
-<p>That command line includes the same information as the example <tt
-class="FILENAME">fstab</tt> did, but we'll go over all the parts anyways. The <var
-class="OPTION">-t iso9660</var> is the filesystem type of the device to mount. In this
-case, it would be the iso9660 filesystem which is what CD-ROM drives most commonly use.
-The <var class="OPTION">-o ro</var> tells mount to mount the device read-only. The <tt
-class="FILENAME">/dev/cdrom</tt> is the name of the device to mount, and <tt
-class="FILENAME">/cdrom</tt> is the location on the filesystem to mount the drive.</p>
-
-<p>Before you can remove a floppy, CD-ROM, or other removable device that is currently
-mounted, you'll have to unmount it. That is done using the <tt
-class="COMMAND">umount</tt> command. Don't ask where the &#8220;n&#8221; went because we
-couldn't tell you. You can use either the mounted device or the mount point as the
-argument to <tt class="COMMAND">umount</tt>. For example, if you wanted to unmount the
-CD-ROM from the previous example, either of these commands would work:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">#</samp> <kbd class="USERINPUT">umount /dev/cdrom</kbd>
-<samp class="PROMPT">#</samp> <kbd class="USERINPUT">umount /cdrom</kbd>
-</pre>
-</td>
-</tr>
-</table>
-</div>
-</div>
-
-<div class="SECT1">
-<hr />
-<h2 class="SECT1"><a id="FILESYSTEM-STRUCTURE-NFS" name="FILESYSTEM-STRUCTURE-NFS">9.5
-NFS Mounts</a></h2>
-
-<p>NFS stands for the Network Filesystem. It is not really part of the real filesystem,
-but can be used to add parts to the mounted filesystem.</p>
-
-<p>Large Unix environments often times share the same programs, sets of home directories,
-and mail spool. The problem of getting the same copy to each machine is solved with NFS.
-We can use NFS to share one set of home directories between all of the workstations. The
-workstations then mount that NFS share as if it were on their own machines.</p>
-
-<p>See <a href="#NETWORK-CONFIGURATION-NFS-NFS">Section 5.6.2</a> and the man pages for
-<tt class="FILENAME">exports</tt>(5), <tt class="COMMAND">nfsd</tt>(8), and <tt
-class="COMMAND">mountd</tt>(8) for more information.</p>
-</div>
-</div>
-
-<div class="CHAPTER">
-<hr />
-<h1><a id="FILE-COMMANDS" name="FILE-COMMANDS"></a>Chapter 10 Handling Files and
-Directories</h1>
-
-<p>Linux aims to the most Unix-like it can be. Traditionally, Unix operating systems have
-been command-line oriented. We do have a graphical user interface in Slackware, but the
-command-line is still the main level of control for the system. Therefore, it is
-important to understand some of the basic file management commands.</p>
-
-<p>The following sections explain the common file management commands and provide
-examples of how they are used. There are many other commands, but these will help you get
-started. Also, the commands are only briefly discussed here. You will find more detail in
-the accompanying man pages for each command.</p>
-
-<div class="SECT1">
-<hr />
-<h2 class="SECT1"><a id="FILE-COMMANDS-NAVIGATION" name="FILE-COMMANDS-NAVIGATION">10.1
-Navigation : <tt class="COMMAND">ls</tt>, <tt class="COMMAND">cd</tt>, and <tt
-class="COMMAND">pwd</tt></a></h2>
-
-<div class="SECT2">
-<h3 class="SECT2"><a id="AEN3398" name="AEN3398">10.1.1 <tt
-class="COMMAND">ls</tt></a></h3>
-
-<p>This command lists files in a directory. Windows and DOS users will notice its
-similarity to the <tt class="COMMAND">dir</tt> command. By itself, <tt
-class="COMMAND">ls</tt>(1) will list the files in the current directory. To see what's in
-your root directory, you could issue these commands:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">%</samp> <kbd class="USERINPUT">cd /</kbd>
-<samp class="PROMPT">%</samp> <kbd class="USERINPUT">ls</kbd>
-bin cdr dev home lost+found proc sbin tmp var
-boot cdrom etc lib mnt root suncd usr vmlinuz
-</pre>
-</td>
-</tr>
-</table>
-
-<p>The problem a lot of people have with that output is that you cannot easily tell what
-is a directory and what is a file. Some users prefer that <tt class="COMMAND">ls</tt> add
-a type identifier to each listing, like this:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">%</samp> <kbd class="USERINPUT">ls -FC</kbd>
-bin/ cdr/ dev/ home/ lost+found/ proc/ sbin/ tmp/ var/
-boot/ cdrom/ etc/ lib/ mnt/ root/ suncd/ usr/ vmlinuz
-</pre>
-</td>
-</tr>
-</table>
-
-<p>Directories get a slash at the end of the name, executable files get an asterisk at
-the end of the name, and so on.</p>
-
-<p><tt class="COMMAND">ls</tt> can also be used to get other statistics on files. For
-example, to see the creation dates, owners, and permissions, you would look at a long
-listing:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">%</samp> <kbd class="USERINPUT">ls -l</kbd>
-drwxr-xr-x 2 root bin 4096 May 7 09:11 bin/
-drwxr-xr-x 2 root root 4096 Feb 24 03:55 boot/
-drwxr-xr-x 2 root root 4096 Feb 18 01:10 cdr/
-drwxr-xr-x 14 root root 6144 Oct 23 18:37 cdrom/
-drwxr-xr-x 4 root root 28672 Mar 5 18:01 dev/
-drwxr-xr-x 10 root root 4096 Mar 8 03:32 etc/
-drwxr-xr-x 8 root root 4096 Mar 8 03:31 home/
-drwxr-xr-x 3 root root 4096 Jan 23 21:29 lib/
-drwxr-xr-x 2 root root 16384 Nov 1 08:53 lost+found/
-drwxr-xr-x 2 root root 4096 Oct 6 12:47 mnt/
-dr-xr-xr-x 62 root root 0 Mar 4 15:32 proc/
-drwxr-x--x 12 root root 4096 Feb 26 02:06 root/
-drwxr-xr-x 2 root bin 4096 Feb 17 02:02 sbin/
-drwxr-xr-x 5 root root 2048 Oct 25 10:51 suncd/
-drwxrwxrwt 4 root root 487424 Mar 7 20:42 tmp/
-drwxr-xr-x 21 root root 4096 Aug 24 03:04 usr/
-drwxr-xr-x 18 root root 4096 Mar 8 03:32 var/
-</pre>
-</td>
-</tr>
-</table>
-
-<p>Suppose you want to get a listing of the hidden files in the current directory. This
-command will do just that:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">%</samp> <kbd class="USERINPUT">ls -a</kbd>
-. bin cdrom home mnt sbin usr
-.. boot dev lib proc suncd var
-.pwrchute_tmp cdr etc lost+found root tmp vmlinuz
-</pre>
-</td>
-</tr>
-</table>
-
-<p>Files beginning with a period (called dot files) are hidden when you run <tt
-class="COMMAND">ls</tt>. You will only see them if you pass the <var
-class="OPTION">-a</var> option.</p>
-
-<p>There are many more options that can be found in the online manual page. Don't forget
-that you can combine options that you pass to <tt class="COMMAND">ls</tt>.</p>
-</div>
-
-<div class="SECT2">
-<hr />
-<h3 class="SECT2"><a id="AEN3436" name="AEN3436">10.1.2 <tt
-class="COMMAND">cd</tt></a></h3>
-
-<p>The <tt class="COMMAND">cd</tt> command is used to change working directories. You
-simply type <tt class="COMMAND">cd</tt> followed by the path name to change to. Here are
-some examples:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-darkstar:~$ <kbd class="USERINPUT">cd /bin</kbd>
-darkstar:/bin$ <kbd class="USERINPUT">cd usr</kbd>
-bash: cd: usr: No such file or directory
-darkstar:/bin$ <kbd class="USERINPUT">cd /usr</kbd>
-darkstar:/usr$ <kbd class="USERINPUT">ls</kbd>
-bin
-darkstar:/usr$ <kbd class="USERINPUT">cd bin</kbd>
-darkstar:/usr/bin$
-</pre>
-</td>
-</tr>
-</table>
-
-<p>Notice that without the preceding slash, it tries to change to a directory in the
-current directory. Also executing <tt class="COMMAND">cd</tt> with no options will move
-you to your home directory.</p>
-
-<p>The <tt class="COMMAND">cd</tt> command is not like the other commands. It is a
-builtin shell command. Shell builtins are discussed in <a
-href="#SHELL-BASH-ENVIRONMENT">Section 8.3.1</a>. This may not make any sense to you
-right now. Basically it means there is no man page for this command. Instead, you have to
-use the shell help. Like this:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">%</samp> <kbd class="USERINPUT">help cd</kbd>
-</pre>
-</td>
-</tr>
-</table>
-
-<p>It will display the options for <tt class="COMMAND">cd</tt> and how to use them.</p>
-</div>
-
-<div class="SECT2">
-<hr />
-<h3 class="SECT2"><a id="AEN3463" name="AEN3463">10.1.3 <tt
-class="COMMAND">pwd</tt></a></h3>
-
-<p>The <tt class="COMMAND">pwd</tt> command is used to show your current location. To use
-the <tt class="COMMAND">pwd</tt> command just type <tt class="COMMAND">pwd</tt>. For
-example:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">%</samp> <kbd class="USERINPUT">cd /bin</kbd>
-<samp class="PROMPT">%</samp> <kbd class="USERINPUT">pwd</kbd>
-/bin
-<samp class="PROMPT">%</samp> <kbd class="USERINPUT">cd /usr</kbd>
-<samp class="PROMPT">%</samp> <kbd class="USERINPUT">cd bin</kbd>
-<samp class="PROMPT">%</samp> <kbd class="USERINPUT">pwd</kbd>
-/usr/bin
-</pre>
-</td>
-</tr>
-</table>
-</div>
-</div>
-
-<div class="SECT1">
-<hr />
-<h2 class="SECT1"><a id="FILE-COMMANDS-PAGERS" name="FILE-COMMANDS-PAGERS">10.2 Pagers:
-<tt class="COMMAND">more</tt>, <tt class="COMMAND">less</tt>, and <tt
-class="COMMAND">most</tt></a></h2>
-
-<div class="SECT2">
-<h3 class="SECT2"><a id="AEN3491" name="AEN3491">10.2.1 <tt
-class="COMMAND">more</tt></a></h3>
-
-<p><tt class="COMMAND">more</tt>(1) is what we call a pager utility. Oftentimes the
-output of a particular command is too big to fit on one screen. The individual commands
-do not know how to fit their output to separate screens. They leave this job to the pager
-utility.</p>
-
-<p>The <tt class="COMMAND">more</tt> command breaks the output into individual screens
-and waits for you to press the space bar before continuing on to the next screen.
-Pressing the enter key will advance the output one line. Here is a good example:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">%</samp> <kbd class="USERINPUT">cd /usr/bin</kbd>
-<samp class="PROMPT">%</samp> <kbd class="USERINPUT">ls -l</kbd>
-</pre>
-</td>
-</tr>
-</table>
-
-<p>That should scroll for a while. To break up the output screen by screen, just pipe it
-through more:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">%</samp> <kbd class="USERINPUT">ls -l | more</kbd>
-</pre>
-</td>
-</tr>
-</table>
-
-<p>That is the pipe character (shift backslash). The pipe is short for saying take the
-output of <tt class="COMMAND">ls</tt> and feed it into <tt class="COMMAND">more</tt>. You
-can pipe just about anything through the <tt class="COMMAND">more</tt> command, not just
-<tt class="COMMAND">ls</tt>. Piping is also covered in <a
-href="#SHELL-COMMAND-LINE-PIPING">Section 8.2.3</a>.</p>
-</div>
-
-<div class="SECT2">
-<hr />
-<h3 class="SECT2"><a id="AEN3518" name="AEN3518">10.2.2 <tt
-class="COMMAND">less</tt></a></h3>
-
-<p>The <tt class="COMMAND">more</tt> command is quite handy, but often you will find that
-you have advanced past the screen you wanted. more does not provide a way to go back. The
-<tt class="COMMAND">less</tt>(1) command provides this functionality. It is used in the
-same way as the <tt class="COMMAND">more</tt> command, so the previous examples apply
-here too. So, <tt class="COMMAND">less</tt> is more than <tt class="COMMAND">more</tt>.
-Joost Kremers puts it this way:</p>
-
-<a id="AEN3530" name="AEN3530"></a>
-<blockquote class="BLOCKQUOTE">
-<p><tt class="COMMAND">less</tt> is more, but more <tt class="COMMAND">more</tt> than <tt
-class="COMMAND">more</tt> is, so <tt class="COMMAND">more</tt> is less <tt
-class="COMMAND">less</tt>, so use more <tt class="COMMAND">less</tt> if you want less <tt
-class="COMMAND">more</tt>.</p>
-</blockquote>
-</div>
-
-<div class="SECT2">
-<hr />
-<h3 class="SECT2"><a id="AEN3539" name="AEN3539">10.2.3 <tt
-class="COMMAND">most</tt></a></h3>
-
-<p>Where <tt class="COMMAND">more</tt> and <tt class="COMMAND">less</tt> leave off, <tt
-class="COMMAND">most</tt>(1) picks back up. If <tt class="COMMAND">less</tt> is more than
-<tt class="COMMAND">more</tt>, <tt class="COMMAND">most</tt> is more than <tt
-class="COMMAND">less</tt>. Whereas the other pagers can only display one file at a time,
-<tt class="COMMAND">most</tt> is capable of viewing any number of files, as long as each
-file's window is at least 2 lines long. <tt class="COMMAND">most</tt> has a lot of
-options, check the man page for full details.</p>
-</div>
-</div>
-
-<div class="SECT1">
-<hr />
-<h2 class="SECT1"><a id="FILE-COMMANDS-OUTPUT" name="FILE-COMMANDS-OUTPUT">10.3 Simple
-Output: <tt class="COMMAND">cat</tt> and <tt class="COMMAND">echo</tt></a></h2>
-
-<div class="SECT2">
-<h3 class="SECT2"><a id="AEN3559" name="AEN3559">10.3.1 <tt
-class="COMMAND">cat</tt></a></h3>
-
-<p><tt class="COMMAND">cat</tt>(1) is short for &#8220;concatenate&#8221;. It was
-originally designed to merge text files into one, but can be used for many other
-purposes.</p>
-
-<p>To merge two or more files into one, you simply list the files after the <tt
-class="COMMAND">cat</tt> command and then redirect the new output to a file. <tt
-class="COMMAND">cat</tt> works with standard input and standard output, so you have to
-use the shell redirection characters. For example:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">%</samp> <kbd
-class="USERINPUT">cat file1 file2 file3 &gt; bigfile</kbd>
-</pre>
-</td>
-</tr>
-</table>
-
-<p>This command takes the contents of <tt class="FILENAME">file1</tt>, <tt
-class="FILENAME">file2</tt>, and <tt class="FILENAME">file3</tt> and merges it all
-together. The new output is sent to standard out.</p>
-
-<p>One can also use <tt class="COMMAND">cat</tt> to display files. Many people <tt
-class="COMMAND">cat</tt> text files through the <tt class="COMMAND">more</tt> or <tt
-class="COMMAND">less</tt> commands, like this:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">%</samp> <kbd class="USERINPUT">cat file1 | more</kbd>
-</pre>
-</td>
-</tr>
-</table>
-
-<p>That will display the <tt class="FILENAME">file1</tt> file and pipe it through the <tt
-class="COMMAND">more</tt> command so that you only get one screen at a time.</p>
-
-<p>Another common use for <tt class="COMMAND">cat</tt> is copying files. You can copy any
-file around with <tt class="COMMAND">cat</tt>, like this:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">%</samp> <kbd class="USERINPUT">cat /bin/bash &gt; ~/mybash</kbd>
-</pre>
-</td>
-</tr>
-</table>
-
-<p>The <tt class="COMMAND">/bin/bash</tt> program is copied to your home directory and
-named <tt class="FILENAME">mybash</tt>.</p>
-
-<p><tt class="COMMAND">cat</tt> has many uses and the ones discussed here are just a few.
-Since <tt class="COMMAND">cat</tt> makes extensive use of standard input and standard
-output, it is ideal for use in shell scripts or part of other complex commands.</p>
-</div>
-
-<div class="SECT2">
-<hr />
-<h3 class="SECT2"><a id="AEN3603" name="AEN3603">10.3.2 <tt
-class="COMMAND">echo</tt></a></h3>
-
-<p>The <tt class="COMMAND">echo</tt>(1) command displays the specified text on the
-screen. You specify the string to display after the <tt class="COMMAND">echo</tt>
-command. By default <tt class="COMMAND">echo</tt> will display the string and print a
-newline character after it. You can pass the <var class="OPTION">-n</var> option to
-suppress the printing of the newline. The <var class="OPTION">-e</var> option will cause
-<tt class="COMMAND">echo</tt> to search for escape characters in the string and execute
-them.</p>
-</div>
-</div>
-
-<div class="SECT1">
-<hr />
-<h2 class="SECT1"><a id="FILE-COMMANDS-CREATION" name="FILE-COMMANDS-CREATION">10.4
-Creation: <tt class="COMMAND">touch</tt> and <tt class="COMMAND">mkdir</tt></a></h2>
-
-<div class="SECT2">
-<h3 class="SECT2"><a id="AEN3619" name="AEN3619">10.4.1 <tt
-class="COMMAND">touch</tt></a></h3>
-
-<p><tt class="COMMAND">touch</tt>(1) is used to change the timestamp on a file. You can
-change access timestamps and modification timestamps with this command. If the file
-specified does not exist, <tt class="COMMAND">touch</tt> will create a zero length file
-with the name specified. To mark a file with the current system time, you would issue
-this command:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">%</samp> <kbd class="USERINPUT">ls -al file1</kbd>
--rw-r--r-- 1 root root 9779 Feb 7 21:41 file1
-<samp class="PROMPT">%</samp> <kbd class="USERINPUT">touch file1</kbd>
-<samp class="PROMPT">%</samp> <kbd class="USERINPUT">ls -al file1</kbd>
--rw-r--r-- 1 root root 9779 Feb 8 09:17 file1
-</pre>
-</td>
-</tr>
-</table>
-
-<p>There are several options for <tt class="COMMAND">touch</tt>, including options to
-specify which timestamp to modify, the time to use, and many more. The online manual page
-discusses these in detail.</p>
-</div>
-
-<div class="SECT2">
-<hr />
-<h3 class="SECT2"><a id="AEN3639" name="AEN3639">10.4.2 <tt
-class="COMMAND">mkdir</tt></a></h3>
-
-<p><tt class="COMMAND">mkdir</tt>(1) will create a new directory. You simply specify the
-directory to create when you run mkdir. This example creates the <tt
-class="FILENAME">hejaz</tt> directory in the current directory:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">%</samp> <kbd class="USERINPUT">mkdir hejaz</kbd>
-</pre>
-</td>
-</tr>
-</table>
-
-<p>You can also specify a path, like this:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">%</samp> <kbd class="USERINPUT">mkdir /usr/local/hejaz</kbd>
-</pre>
-</td>
-</tr>
-</table>
-
-<p>The <var class="OPTION">-p</var> option will tell <tt class="COMMAND">mkdir</tt> to
-make any parent directories. The above example will fail if <tt
-class="COMMAND">/usr/local</tt> does not exist. The <var class="OPTION">-p</var> option
-will create <tt class="FILENAME">/usr/local</tt> and <tt
-class="FILENAME">/usr/local/hejaz</tt>:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">%</samp> <kbd class="USERINPUT">mkdir -p /usr/local/hejaz</kbd>
-</pre>
-</td>
-</tr>
-</table>
-</div>
-</div>
-
-<div class="SECT1">
-<hr />
-<h2 class="SECT1"><a id="FILE-COMMANDS-COPYMOVE" name="FILE-COMMANDS-COPYMOVE">10.5 Copy
-and Move</a></h2>
-
-<div class="SECT2">
-<h3 class="SECT2"><a id="FILE-COMMANDS-COPYMOVE-CP"
-name="FILE-COMMANDS-COPYMOVE-CP">10.5.1 <tt class="COMMAND">cp</tt></a></h3>
-
-<p><tt class="COMMAND">cp</tt>(1) copies files. DOS users will notice its similarity to
-the <tt class="COMMAND">copy</tt> command. There are many options for <tt
-class="COMMAND">cp</tt> , so you should have a look at the man page before using it.</p>
-
-<p>A common use is to use <tt class="COMMAND">cp</tt> to copy a file from one location to
-another. For example:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">%</samp> <kbd class="USERINPUT">cp hejaz /tmp</kbd>
-</pre>
-</td>
-</tr>
-</table>
-
-<p>This copies the <tt class="FILENAME">hejaz</tt> file from the current directory to the
-<tt class="FILENAME">/tmp</tt> directory.</p>
-
-<p>Many users prefer to keep the timestamps preserved, as in this example:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">%</samp> <kbd class="USERINPUT">cp -a hejaz /tmp</kbd>
-</pre>
-</td>
-</tr>
-</table>
-
-<p>This ensures that the timestamps are not modified in the copy.</p>
-
-<p>To recursively copy the contents of a directory to another directory, you would issue
-this command:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">%</samp> <kbd class="USERINPUT">cp -R <var
-class="REPLACEABLE">mydir</var> /tmp</kbd>
-</pre>
-</td>
-</tr>
-</table>
-
-<p>That will copy the <var class="REPLACEABLE">mydir</var> directory to the <tt
-class="FILENAME">/tmp</tt> directory.</p>
-
-<p>Also if you wish to copy a directory or a file and keep all it's old permissions and
-time stamps and keep it exactly the same use <tt class="COMMAND">cp -p</tt>.</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">%</samp> <kbd class="USERINPUT">ls -l file</kbd>
--rw-r--r-- 1 root vlad 4 Jan 1 15:27 file
-<samp class="PROMPT">%</samp> <kbd class="USERINPUT">cp -p file /tmp</kbd>
-<samp class="PROMPT">%</samp> <kbd class="USERINPUT">ls -l /tmp/file</kbd>
--rw-r--r-- 1 root vlad 4 Jan 1 15:27 file
-</pre>
-</td>
-</tr>
-</table>
-
-<p><tt class="COMMAND">cp</tt> has many more options that are discussed in detail in the
-online manual page.</p>
-</div>
-
-<div class="SECT2">
-<hr />
-<h3 class="SECT2"><a id="AEN3712" name="AEN3712">10.5.2 <tt
-class="COMMAND">mv</tt></a></h3>
-
-<p><tt class="COMMAND">mv</tt>(1) moves files from one place to another. Sounds simple
-enough doesn't it?</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">%</samp> <kbd class="USERINPUT">mv oldfile /tmp/newfile</kbd>
-</pre>
-</td>
-</tr>
-</table>
-
-<p><tt class="COMMAND">mv</tt> has a few useful command line options that are detailed in
-the man page. In practice, <tt class="COMMAND">mv</tt> is almost never used with
-commandline options.</p>
-</div>
-</div>
-
-<div class="SECT1">
-<hr />
-<h2 class="SECT1"><a id="FILE-COMMANDS-DELETION" name="FILE-COMMANDS-DELETION">10.6
-Deletion: <tt class="COMMAND">rm</tt> and <tt class="COMMAND">rmdir</tt></a></h2>
-
-<div class="SECT2">
-<h3 class="SECT2"><a id="AEN3733" name="AEN3733">10.6.1 <tt
-class="COMMAND">rm</tt></a></h3>
-
-<p><tt class="COMMAND">rm</tt>(1) removes files and directory trees. DOS users will
-notice the similarity to both the <tt class="COMMAND">del</tt> and <tt
-class="COMMAND">deltree</tt> commands. <tt class="COMMAND">rm</tt> can be very dangerous
-if you do not watch yourself. While it is sometimes possible to retrieve a recently
-deleted file, it can be complicated (and potentially costly) and is beyond the scope of
-this book.</p>
-
-<p>To remove a single file, specify its name when you run rm:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">%</samp> <kbd class="USERINPUT">rm file1</kbd>
-</pre>
-</td>
-</tr>
-</table>
-
-<p>If the file has write permissions removed, you may get a permission denied error
-message. To force removal of the file no matter what, pass the <tt
-class="COMMAND">-f</tt> option, like this:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">%</samp> <kbd class="USERINPUT">rm -f file1</kbd>
-</pre>
-</td>
-</tr>
-</table>
-
-<p>To remove an entire directory, you use the <var class="OPTION">-r</var> and <var
-class="OPTION">-f</var> options together. This is a good example of how to delete the
-entire contents of your hard drive. You really don't want to do this. But here's the
-command anyway:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">#</samp> <kbd class="USERINPUT">rm -rf /</kbd>
-</pre>
-</td>
-</tr>
-</table>
-
-<p>Be very careful with <tt class="COMMAND">rm</tt>; you can shoot yourself in the foot.
-There are several command line options, which are discussed in detail in the online
-manual page.</p>
-</div>
-
-<div class="SECT2">
-<hr />
-<h3 class="SECT2"><a id="AEN3764" name="AEN3764">10.6.2 <tt
-class="COMMAND">rmdir</tt></a></h3>
-
-<p><tt class="COMMAND">rmdir</tt>(1) removes directories from the filesystem. The
-directory must be empty before it can be removed. The syntax is simply:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">%</samp> <kbd class="USERINPUT">rmdir &lt;<var
-class="REPLACEABLE">directory</var>&gt;</kbd>
-</pre>
-</td>
-</tr>
-</table>
-
-<p>This example will remove the <tt class="FILENAME">hejaz</tt> subdirectory in the
-current working directory:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">%</samp> <kbd class="USERINPUT">rmdir hejaz</kbd>
-</pre>
-</td>
-</tr>
-</table>
-
-<p>If that directory does not exist, <tt class="COMMAND">rmdir</tt> will tell you. You
-can also specify a full path to a directory to remove, as this example shows:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">%</samp> <kbd class="USERINPUT">rmdir /tmp/hejaz</kbd>
-</pre>
-</td>
-</tr>
-</table>
-
-<p>That example will try to remove the <tt class="FILENAME">hejaz</tt> directory inside
-the <tt class="FILENAME">/tmp</tt> directory.</p>
-
-<p>You can also remove a directory and all of its parent directories by passing the <var
-class="OPTION">-p</var> option.</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">%</samp> <kbd class="USERINPUT">rmdir -p /tmp/hejaz</kbd>
-</pre>
-</td>
-</tr>
-</table>
-
-<p>This will first try to remove the <tt class="FILENAME">hejaz</tt> directory inside <tt
-class="FILENAME">/tmp</tt>. If that is successful, it will try to remove <tt
-class="FILENAME">/tmp</tt>. <tt class="COMMAND">rmdir</tt> will continue this until an
-error is encountered or the entire tree specified is removed.</p>
-</div>
-</div>
-
-<div class="SECT1">
-<hr />
-<h2 class="SECT1"><a id="FILE-COMMANDS-LINK" name="FILE-COMMANDS-LINK">10.7 Aliasing
-files with <tt class="COMMAND">ln</tt></a></h2>
-
-<p><tt class="COMMAND">ln</tt>(1) is used to create links between files. These links can
-be either hard links or soft (symbolic) links. The differences between the two kinds of
-links were discussed in <a href="#FILESYSTEM-STRUCTURE-LINKS">Section 9.3</a>. If you
-wanted to make a symbolic link to the directory <tt class="FILENAME">/var/media/mp3</tt>
-and place the link in your home directory, you would do this:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">%</samp> <kbd class="USERINPUT">ln -s /var/media/mp3 ~/mp3</kbd>
-</pre>
-</td>
-</tr>
-</table>
-
-<p>The <var class="OPTION">-s</var> option tells <tt class="COMMAND">ln</tt> to make a
-symbolic link. The next option is the target of the link, and the final option is what to
-call the link. In this case, it will just make a file called <tt
-class="FILENAME">mp3</tt> in your home directory that points to <tt
-class="FILENAME">/var/media/mp3</tt>. You can call the link itself whatever you want by
-just changing the last option.</p>
-
-<p>Making a hard link is just as simple. All you have to do is leave off the <var
-class="OPTION">-s</var> option. Hard links may not normally refer to directories or span
-file systems, however. To create a hard link <tt class="FILENAME">/usr/bin/email</tt> to
-<tt class="FILENAME">/usr/bin/mutt</tt>, simply type the following:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">#</samp> <kbd
-class="USERINPUT">ln /usr/bin/mutt /usr/bin/email</kbd>
-</pre>
-</td>
-</tr>
-</table>
-</div>
-</div>
-
-<div class="CHAPTER">
-<hr />
-<h1><a id="PROCESS-CONTROL" name="PROCESS-CONTROL"></a>Chapter 11 Process Control</h1>
-
-<p>Every program that is running is called a process. These processes range from things
-like the X Window System to system programs (daemons) that are started when the computer
-boots. Every process runs as a particular user. Processes that are started at boot time
-usually run as <tt class="USERNAME">root</tt> or <tt class="USERNAME">nobody</tt>.
-Processes that you start will run as you. Processes started as other users will run as
-those users.</p>
-
-<p>You have control over all the processes that you start. Additionally, <tt
-class="USERNAME">root</tt> has control over all processes on the system, including those
-started by other users. Processes can be controlled and monitored through several
-programs, as well as some shell commands.</p>
-
-<div class="SECT1">
-<hr />
-<h2 class="SECT1"><a id="PROCESS-CONTROL-BACKGROUNDING"
-name="PROCESS-CONTROL-BACKGROUNDING">11.1 Backgrounding</a></h2>
-
-<p>Programs started from the command line start up in the foreground. This allows you to
-see all the output of the program and interact with it. However, there are several
-occasions when you'd like the program to run without taking up your terminal. This is
-called running the program in the background, and there are a few ways to do it.</p>
-
-<p>The first way to background a process is by adding an ampersand to the command line
-when you start the program. For example, assume you wanted to use the command line mp3
-player <tt class="COMMAND">amp</tt> to play a directory full of mp3s, but you needed to
-do something else on the same terminal. The following command line would start up amp in
-the background:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">%</samp> <kbd class="USERINPUT">amp *.mp3 &#38;</kbd>
-</pre>
-</td>
-</tr>
-</table>
-
-<p>The program will run as normal, and you are returned to a prompt.</p>
-
-<p>The other way to background a process is to do so while it is running. First, start up
-a program. While it is running, hit <b class="KEYCAP">Control</b>+<b
-class="KEYCAP">z</b>. This suspends the process. A suspended process is basically paused.
-It momentarily stops running, but can be started up again at any time. Once you have
-suspended a process, you are returned to a prompt. You can background the process by
-typing:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">%</samp> <kbd class="USERINPUT">bg</kbd>
-</pre>
-</td>
-</tr>
-</table>
-
-<p>Now the suspended process is running in the background.</p>
-</div>
-
-<div class="SECT1">
-<hr />
-<h2 class="SECT1"><a id="PROCESS-CONTROL-FOREGROUNDING"
-name="PROCESS-CONTROL-FOREGROUNDING">11.2 Foregrounding</a></h2>
-
-<p>If you need to interact with a backgrounded process, you can bring it back into the
-foreground. If you've only got one backgrounded process, you can bring it back by
-typing:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">%</samp> <kbd class="USERINPUT">fg</kbd>
-</pre>
-</td>
-</tr>
-</table>
-
-<p>If the program is not done running, the program will take control over you terminal
-and you will not be returned to a prompt. Sometimes, the program will finish running
-while backgrounded. In this instance, you'll get a message like this:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-[1]+ Done /bin/ls $LS_OPTIONS
-</pre>
-</td>
-</tr>
-</table>
-
-<p>That tells you that the backgrounded process (in this case <tt class="COMMAND">ls</tt>
-- not terribly interesting) has completed.</p>
-
-<p>It is possible to have several processes backgrounded at once. When this happens,
-you'll need to know which process you want to bring back to the foreground. Just typing
-<tt class="COMMAND">fg</tt> will foreground the process that was last backgrounded. What
-if you had a whole list of processes in the background? Luckily, bash includes a command
-to list all the processes. It's called <tt class="COMMAND">jobs</tt> and gives output
-like so:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">%</samp> <kbd class="USERINPUT">jobs</kbd>
-[1] Stopped vim
-[2]- Stopped amp
-[3]+ Stopped man ps
-</pre>
-</td>
-</tr>
-</table>
-
-<p>This shows you a list of all the processes that are backgrounded. As you can see, they
-are all stopped. This means that the processes are suspended. The number is a sort of ID
-for all the backgrounded processes. The ID with a plus sign beside it (<var
-class="LITERAL">man ps</var>) is the process that will be foregrounded if you just type
-<tt class="COMMAND">fg</tt>.</p>
-
-<p>If you wanted to foreground <tt class="COMMAND">vim</tt>, you would type:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">%</samp> <kbd class="USERINPUT">fg 1</kbd>
-</pre>
-</td>
-</tr>
-</table>
-
-<p>and <tt class="COMMAND">vim</tt> would spring back up to the console. Backgrounding
-processes can be very useful if you only have one terminal open over a dialup connection.
-You can have several programs running on that one terminal, periodically switching back
-and forth between them.</p>
-</div>
-
-<div class="SECT1">
-<hr />
-<h2 class="SECT1"><a id="PROCESS-CONTROL-PS" name="PROCESS-CONTROL-PS">11.3 <tt
-class="COMMAND">ps</tt></a></h2>
-
-<p>So now you know how to switch back and forth between several processes that you've
-started from the command line. And you also know that there are lots of processes running
-all the time. So how do you list all of these programs? Well, you make use of the <tt
-class="COMMAND">ps</tt>(1) command. This command has a lot of options, so we'll only
-cover the most important ones here. For a complete listing, see the man page for ps. Man
-pages are covered in-depth in <a href="#HELP-SYSTEM-MAN">Section 2.1.1</a>.</p>
-
-<p>Simply typing <tt class="COMMAND">ps</tt> will get you a listing of the programs
-running on your terminal. This incudes the foreground processes (which include whatever
-shell you are using, and of course, <tt class="COMMAND">ps</tt> itself). Also listed are
-backgrounded processes you may have running. Many times, that will be a very short
-listing:</p>
-
-<div class="FIGURE"><a id="FIG-PROCESS-CONTROL-PS-SHORT"
-name="FIG-PROCESS-CONTROL-PS-SHORT"></a>
-<p><b>Figure 11-1. Basic <tt class="COMMAND">ps</tt> output</b></p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">%</samp> <kbd class="USERINPUT">ps</kbd>
- PID TTY TIME CMD
- 7923 ttyp0 00:00:00 bash
- 8059 ttyp0 00:00:00 ps
-</pre>
-</td>
-</tr>
-</table>
-</div>
-
-<p>Even though this is not a lot of processes, the information is very typical. You'll
-get the same columns using regular ps no matter how many processes are running. So what
-does it all mean?</p>
-
-<p>Well, the <var class="LITERAL">PID</var> is the <span class="emphasis"><i
-class="EMPHASIS">process ID</i></span>. All running processes are given a unique
-identifier which ranges between 1 and 32767. Each process is assigned the next free PID.
-When a process quits (or is killed, as you will see in the next section), it gives up its
-PID. When the max PID is reached, the next free one will wrap back around to the lowest
-free one.</p>
-
-<p>The <var class="LITERAL">TTY</var> column indicates which terminal the process is
-running on. Doing a plain <tt class="COMMAND">ps</tt> will only list all the programs
-running on the current terminal, so all the processes give the same information in the
-TTY column. As you can see, both processes listed are running on <tt
-class="FILENAME">ttyp0</tt>. This indicates that they are either running remotely or from
-an X terminal of some variety.</p>
-
-<p>The <var class="LITERAL">TIME</var> column indicated how much CPU time the process has
-been running. This is different from the actual amount of time that a process runs.
-Remember that Linux is a multitasking operating system. There are many processes running
-all the time, and these processes each get a small portion of the processor's time. So,
-the TIME column should show much less time for each process than it actually takes to
-run. If you see more than several minutes in the TIME column, it could mean that
-something is wrong.</p>
-
-<p>Finally, the <var class="LITERAL">CMD</var> column shows what the program actually is.
-It only lists the base name of the program, not any command line options or similar
-information. To get that information, you'll need to use one of the many options to <tt
-class="COMMAND">ps</tt>. We'll discuss that shortly.</p>
-
-<p>You can get a complete listing of the processes running on your system using the right
-combination of options. This will probably result in a long listing of processes
-(fifty-five on my laptop as I write this sentence), so I'll abbreviate the output:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">%</samp> <kbd class="USERINPUT">ps -ax</kbd>
- PID TTY STAT TIME COMMAND
- 1 ? S 0:03 init [3]
- 2 ? SW 0:13 [kflushd]
- 3 ? SW 0:14 [kupdate]
- 4 ? SW 0:00 [kpiod]
- 5 ? SW 0:17 [kswapd]
- 11 ? S 0:00 /sbin/kerneld
- 30 ? SW 0:01 [cardmgr]
- 50 ? S 0:00 /sbin/rpc.portmap
- 54 ? S 0:00 /usr/sbin/syslogd
- 57 ? S 0:00 /usr/sbin/klogd -c 3
- 59 ? S 0:00 /usr/sbin/inetd
- 61 ? S 0:04 /usr/local/sbin/sshd
- 63 ? S 0:00 /usr/sbin/rpc.mountd
- 65 ? S 0:00 /usr/sbin/rpc.nfsd
- 67 ? S 0:00 /usr/sbin/crond -l10
- 69 ? S 0:00 /usr/sbin/atd -b 15 -l 1
- 77 ? S 0:00 /usr/sbin/apmd
- 79 ? S 0:01 gpm -m /dev/mouse -t ps2
- 94 ? S 0:00 /usr/sbin/automount /auto file /etc/auto.misc
- 106 tty1 S 0:08 -bash
- 108 tty3 SW 0:00 [agetty]
- 109 tty4 SW 0:00 [agetty]
- 110 tty5 SW 0:00 [agetty]
- 111 tty6 SW 0:00 [agetty]
- [output cut]
-</pre>
-</td>
-</tr>
-</table>
-
-<p>Most of these processes are started at boot time on most systems. I've made a few
-modifications to my system, so your mileage will most likely vary. However, you will see
-most of these processes on your system too. As you can see, these options display command
-line options to the running processes. Recently, a kernel vulnerability in <tt
-class="COMMAND">ptrace</tt> facilitated a fix which no longer shows command line options
-for many running processes. These are now listed in brackets like PIDs 108 through 110.
-It also brings up a few more columns and some other interesting output.</p>
-
-<p>First, you'll notice that most of these processes are listed as running on tty
-&#8220;?&#8221;. Those are not attached to any particular terminal. This is most common
-with daemons, which are processes which run without attaching to any particular terminal.
-Common daemons are sendmail, BIND, apache, and NFS. They typically listen for some
-request from a client, and return information to it upon request.</p>
-
-<p>Second, there is a new column: <var class="LITERAL">STAT</var>. It shows the status of
-the process. <var class="LITERAL">S</var> stands for sleeping: the process is waiting for
-something to happen. <var class="LITERAL">Z</var> stands for a zombied process. A zombied
-processes is one whose parent has died, leaving the child processes behind. This is not a
-good thing. <var class="LITERAL">D</var> stands for a process that has entered an
-uninterruptible sleep. Often, these processes refuse to die even when passed a SIGKILL.
-You can read more about SIGKILL later in the next section on <tt
-class="COMMAND">kill</tt> . W stands for paging. A dead process is marked with an <var
-class="LITERAL">X</var>. A process marked <var class="LITERAL">T</var> is traced, or
-stopped. <var class="LITERAL">R</var> means that the process is runable.</p>
-
-<p>If you want to see even more information about the running processes, try this
-out:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">%</samp> <kbd class="USERINPUT">ps -aux</kbd>
- USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
- root 1 0.0 0.0 344 80 ? S Mar02 0:03 init [3]
- root 2 0.0 0.0 0 0 ? SW Mar02 0:13 [kflushd]
- root 3 0.0 0.0 0 0 ? SW Mar02 0:14 [kupdate]
- root 4 0.0 0.0 0 0 ? SW Mar02 0:00 [kpiod]
- root 5 0.0 0.0 0 0 ? SW Mar02 0:17 [kswapd]
- root 11 0.0 0.0 1044 44 ? S Mar02 0:00 /sbin/kerneld
- root 30 0.0 0.0 1160 0 ? SW Mar02 0:01 [cardmgr]
- bin 50 0.0 0.0 1076 120 ? S Mar02 0:00 /sbin/rpc.port
- root 54 0.0 0.1 1360 192 ? S Mar02 0:00 /usr/sbin/sysl
- root 57 0.0 0.1 1276 152 ? S Mar02 0:00 /usr/sbin/klog
- root 59 0.0 0.0 1332 60 ? S Mar02 0:00 /usr/sbin/inet
- root 61 0.0 0.2 1540 312 ? S Mar02 0:04 /usr/local/sbi
- root 63 0.0 0.0 1796 72 ? S Mar02 0:00 /usr/sbin/rpc.
- root 65 0.0 0.0 1812 68 ? S Mar02 0:00 /usr/sbin/rpc.
- root 67 0.0 0.2 1172 260 ? S Mar02 0:00 /usr/sbin/cron
- root 77 0.0 0.2 1048 316 ? S Mar02 0:00 /usr/sbin/apmd
- root 79 0.0 0.1 1100 152 ? S Mar02 0:01 gpm
- root 94 0.0 0.2 1396 280 ? S Mar02 0:00 /usr/sbin/auto
- chris 106 0.0 0.5 1820 680 tty1 S Mar02 0:08 -bash
- root 108 0.0 0.0 1048 0 tty3 SW Mar02 0:00 [agetty]
- root 109 0.0 0.0 1048 0 tty4 SW Mar02 0:00 [agetty]
- root 110 0.0 0.0 1048 0 tty5 SW Mar02 0:00 [agetty]
- root 111 0.0 0.0 1048 0 tty6 SW Mar02 0:00 [agetty]
- [output cut]
-</pre>
-</td>
-</tr>
-</table>
-
-<p>That's a whole lot of information. Basically, it adds information including what user
-started the process, how much of the system resources the process is using (the %CPU,
-%MEM, VSZ, and RSS columns), and on what date the process was started. Obviously, that's
-a lot of information that could come in handy for a system administrator. It also brings
-up another point: the information now goes off the edge of the screen so that you cannot
-see it all. The <var class="OPTION">-w</var> option will force <tt
-class="COMMAND">ps</tt> to wrap long lines.</p>
-
-<p>It's not terribly pretty, but it does the job. You've now got the complete listings
-for each process. There's even more information that you can display about each process.
-Check out the very in-depth man page for <tt class="COMMAND">ps</tt>. However, the
-options shown above are the most popular ones and will be the ones you need to use the
-most often.</p>
-</div>
-
-<div class="SECT1">
-<hr />
-<h2 class="SECT1"><a id="PROCESS-CONTROL-KILL" name="PROCESS-CONTROL-KILL">11.4 <tt
-class="COMMAND">kill</tt></a></h2>
-
-<p>On occasion, programs misbehave and you'll need to put them back in line. The program
-for this kind of administration is called <tt class="COMMAND">kill</tt>(1), and it can be
-used for manipulating processes in several ways. The most obvious use of <tt
-class="COMMAND">kill</tt> is to kill off a process. You'll need to do this if a program
-has run away and is using up lots of system resources, or if you're just sick of it
-running.</p>
-
-<p>In order to kill off a process, you'll need to know its PID or its name. To get the
-PID, use the <tt class="COMMAND">ps</tt> command as was discussed in the last section.
-For example, to kill off process 4747, you'd issue the following:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">%</samp> <kbd class="USERINPUT">kill 4747</kbd>
-</pre>
-</td>
-</tr>
-</table>
-
-<p>Note that you'll have to be the owner of the process in order to kill it. This is a
-security feature. If you were allowed to kill off processes started by other users, it
-would be possible to do all sorts of malicious things. Of course, <tt
-class="USERNAME">root</tt> can kill off any process on the system.</p>
-
-<p>There's another variety of the <tt class="COMMAND">kill</tt> command called <tt
-class="COMMAND">killall</tt>(1). This program does exactly what it says: it kills all the
-running processes that have a certain name. If you wanted to kill off all the running <tt
-class="COMMAND">vim</tt> processes, you could type the following command:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">%</samp> <kbd class="USERINPUT">killall vim</kbd>
-</pre>
-</td>
-</tr>
-</table>
-
-<p>Any and all <tt class="COMMAND">vim</tt> processes you have running will die off.
-Doing this as <tt class="USERNAME">root</tt> would kill off all the <tt
-class="COMMAND">vim</tt> processes running for all users. This brings up an interesting
-way to kick everyone (including yourself) off the system:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">#</samp> <kbd class="USERINPUT">killall bash</kbd>
-</pre>
-</td>
-</tr>
-</table>
-
-<p>Sometimes a regular kill doesn't get the job done. Certain processes will not die with
-a kill. You'll need to use a more potent form. If that pesky PID 4747 wasn't responding
-to your kill request, you could do the following:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">%</samp> <kbd class="USERINPUT">kill -9 4747</kbd>
-</pre>
-</td>
-</tr>
-</table>
-
-<p>That will almost certainly cause process 4747 to die. You can do the same thing with
-<tt class="COMMAND">killall</tt>. What this is doing is sending a different signal to the
-process. A regular <tt class="COMMAND">kill</tt> sends a <var
-class="LITERAL">SIGTERM</var> (terminate) signal to the process, which tells it to finish
-what it's doing, clean up, and exit. <tt class="COMMAND">kill -9</tt> sends a <var
-class="LITERAL">SIGKILL</var> (kill) signal to the process, which essentially drops it.
-The process is not allowed to clean-up, and sometimes bad things like data corruption
-could occur by killing something with a <var class="LITERAL">SIGKILL</var>. There's a
-whole list of signals at your disposal. You can get a listing of signals by typing the
-following:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">%</samp> <kbd class="USERINPUT">kill -l</kbd>
- 1) SIGHUP 2) SIGINT 3) SIGQUIT 4) SIGILL
- 5) SIGTRAP 6) SIGABRT 7) SIGBUS 8) SIGFPE
- 9) SIGKILL 10) SIGUSR1 11) SIGSEGV 12) SIGUSR2
- 13) SIGPIPE 14) SIGALRM 15) SIGTERM 17) SIGCHLD
- 18) SIGCONT 19) SIGSTOP 20) SIGTSTP 21) SIGTTIN
- 22) SIGTTOU 23) SIGURG 24) SIGXCPU 25) SIGXFSZ
- 26) SIGVTALRM 27) SIGPROF 28) SIGWINCH 29) SIGIO
- 30) SIGPWR
-</pre>
-</td>
-</tr>
-</table>
-
-<p>The number must be used for <tt class="COMMAND">kill</tt>, while the name minus the
-leading &#8220;SIG&#8221; can be used with <tt class="COMMAND">killall</tt>. Here's
-another example:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">%</samp> <kbd class="USERINPUT">killall -KILL vim</kbd>
-</pre>
-</td>
-</tr>
-</table>
-
-<p>A final use of <tt class="COMMAND">kill</tt> is to restart a process. Sending a <var
-class="LITERAL">SIGHUP</var> will cause most processes to re-read their configuration
-files. This is especially helpful for telling system processes to re-read their config
-files after editing.</p>
-</div>
-
-<div class="SECT1">
-<hr />
-<h2 class="SECT1"><a id="PROCESS-CONTROL-TOP" name="PROCESS-CONTROL-TOP">11.5 <tt
-class="COMMAND">top</tt></a></h2>
-
-<p>Finally, there's a command you can use to display updating information about the
-processes running on the system. This command is called <tt class="COMMAND">top</tt>(1),
-and is started like so:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">%</samp> <kbd class="USERINPUT">top</kbd>
-</pre>
-</td>
-</tr>
-</table>
-
-<p>This will display a full screen of information about the processes running on the
-system, as well as some overall information about the system. This includes load average,
-number of processes, the CPU status, free memory information, and details about processes
-including PID, user, priority, CPU and memory usage information, running time, and
-program name.</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
- 6:47pm up 1 day, 18:01, 1 user, load average: 0.02, 0.07, 0.02
-61 processes: 59 sleeping, 2 running, 0 zombie, 0 stopped
-CPU states: 2.8% user, 3.1% system, 0.0% nice, 93.9% idle
-Mem: 257992K av, 249672K used, 8320K free, 51628K shrd, 78248K buff
-Swap: 32764K av, 136K used, 32628K free, 82600K cached
-
-<span class="emphasis"><i
-class="EMPHASIS">PID USER PRI NI SIZE RSS SHARE STAT LIB %CPU %MEM TIME COMMAND</i></span>
- 112 root 12 0 19376 18M 2468 R 0 3.7 7.5 55:53 X
-4947 david 15 0 2136 2136 1748 S 0 2.3 0.8 0:00 screenshot
-3398 david 7 0 20544 20M 3000 S 0 1.5 7.9 0:14 gimp
-4946 root 12 0 1040 1040 836 R 0 1.5 0.4 0:00 top
- 121 david 4 0 796 796 644 S 0 1.1 0.3 25:37 wmSMPmon
- 115 david 3 0 2180 2180 1452 S 0 0.3 0.8 1:35 wmaker
-4948 david 16 0 776 776 648 S 0 0.3 0.3 0:00 xwd
- 1 root 1 0 176 176 148 S 0 0.1 0.0 0:13 init
- 189 david 1 0 6256 6156 4352 S 0 0.1 2.4 3:16 licq
-4734 david 0 0 1164 1164 916 S 0 0.1 0.4 0:00 rxvt
- 2 root 0 0 0 0 0 SW 0 0.0 0.0 0:08 kflushd
- 3 root 0 0 0 0 0 SW 0 0.0 0.0 0:06 kupdate
- 4 root 0 0 0 0 0 SW 0 0.0 0.0 0:00 kpiod
- 5 root 0 0 0 0 0 SW 0 0.0 0.0 0:04 kswapd
- 31 root 0 0 340 340 248 S 0 0.0 0.1 0:00 kerneld
- 51 root 0 0 48 48 32 S 0 0.0 0.0 0:00 dhcpcd
- 53 bin 0 0 316 316 236 S 0 0.0 0.1 0:00 rpc.portmap
- 57 root 0 0 588 588 488 S 0 0.0 0.2 0:01 syslogd
-</pre>
-</td>
-</tr>
-</table>
-
-<p>It's called <tt class="COMMAND">top</tt> because the most CPU intensive programs will
-be listed at the top. An interesting note is that top will be listed first on most
-inactive (and some active) systems because of its CPU utilization. However, <tt
-class="COMMAND">top</tt> is quite useful for determining what program is misbehaving and
-needs to be killed off.</p>
-
-<p>But suppose you only want a list of your own processes, or the processes of some other
-user. The processes you want to see might not be among the most CPU intensive programs
-currently running. The <var class="OPTION">-u</var> option allows you to specify a
-username or UID and monitor only those processes owned by that UID.</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">%</samp> <kbd class="USERINPUT">top -u alan</kbd>
- PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
-3622 alan 13 0 11012 10m 6956 S 1.0 2.1 0:03.66 gnome-terminal
-3739 alan 13 0 1012 1012 804 R 0.3 0.2 0:00.06 top
-3518 alan 9 0 1312 1312 1032 S 0.0 0.3 0:00.09 bash
-3529 alan 9 0 984 984 848 S 0.0 0.2 0:00.00 startx
-3544 alan 9 0 640 640 568 S 0.0 0.1 0:00.00 xinit
-3548 alan 9 0 8324 8320 6044 S 0.0 1.6 0:00.30 gnome-session
-3551 alan 9 0 7084 7084 1968 S 0.0 1.4 0:00.50 gconfd-2
-3553 alan 9 0 2232 2232 380 S 0.0 0.4 0:00.05 esd
-3555 alan 9 0 2552 2552 1948 S 0.0 0.5 0:00.10 bonobo-activati
-3557 alan 9 0 2740 2740 2224 S 0.0 0.5 0:00.05 gnome-smproxy
-3559 alan 9 0 6496 6492 5004 S 0.0 1.3 0:00.31 gnome-settings-
-3565 alan 9 0 1740 1740 1440 S 0.0 0.3 0:00.28 xscreensaver
-3568 alan 9 0 7052 7052 4960 S 0.0 1.4 0:02.28 metacity
-3572 alan 9 0 11412 11m 7992 S 0.0 2.2 0:01.58 gnome-panel
-3574 alan 9 0 12148 11m 8780 S 0.0 2.4 0:00.64 nautilus
-3575 alan 9 0 12148 11m 8780 S 0.0 2.4 0:00.00 nautilus
-3576 alan 9 0 12148 11m 8780 S 0.0 2.4 0:00.00 nautilus
-</pre>
-</td>
-</tr>
-</table>
-
-<p>As you can see, I'm currently running <tt class="COMMAND">X</tt>, <tt
-class="COMMAND">top</tt>, a <tt class="COMMAND">gnome-terminal</tt> (in which I'm writing
-this) and many other X-related processes which take up the most CPU time for me. This is
-a good way to monitor how hard your users are working your system.</p>
-
-<p><tt class="COMMAND">top</tt> also supports monitoring processes by their PID, ignoring
-idle and zombied processes, and many other options. The best place to get a handle on
-these options is the man page for <tt class="COMMAND">top</tt>.</p>
-</div>
-</div>
-
-<div class="CHAPTER">
-<hr />
-<h1><a id="ESSENTIAL-SYSADMIN" name="ESSENTIAL-SYSADMIN"></a>Chapter 12 Essential System
-Administration</h1>
-
-<p>Whoa whoa whoa whoa whoa.... I know what you're thinking. &#8220;I'm not a system
-administrator! I don't even want to be a system administrator!&#8221;</p>
-
-<p>Fact is, you are the administrator of any computers for which you have the <tt
-class="USERNAME">root</tt> password. This might be your desktop box with one or two
-users, or it might be a big server with several hundred. Regardless, you'll need to know
-how to manage users, and how to shut down the system safely. These tasks seem simple, but
-they have some quirks to keep in mind.</p>
-
-<div class="SECT1">
-<hr />
-<h2 class="SECT1"><a id="ESSENTIAL-SYSADMIN-USERS" name="ESSENTIAL-SYSADMIN-USERS">12.1
-Users and Groups</a></h2>
-
-<p>As mentioned in <a href="#SHELL">Chapter 8</a>, you shouldn't normally use your system
-logged in as <tt class="USERNAME">root</tt>. Instead, you should create a normal user
-account for everyday use, and use the root account only for system administration tasks.
-To create a user, you can either use the tools supplied with Slackware, or you can edit
-the password files by hand.</p>
-
-<div class="SECT2">
-<hr />
-<h3 class="SECT2"><a id="ESSENTIAL-SYSADMIN-USERS-SCRIPTS"
-name="ESSENTIAL-SYSADMIN-USERS-SCRIPTS">12.1.1 Supplied Scripts</a></h3>
-
-<p>The easiest way to manage users and groups is with the supplied scripts and programs.
-Slackware includes the programs <tt class="COMMAND">adduser</tt>, <tt
-class="COMMAND">userdel</tt>(8), <tt class="COMMAND">chfn</tt>(1), <tt
-class="COMMAND">chsh</tt>(1), and <tt class="COMMAND">passwd</tt>(1) for dealing with
-users. The commands <tt class="COMMAND">groupadd</tt>(8), <tt
-class="COMMAND">groupdel</tt>(8), and <tt class="COMMAND">groupmod</tt>(8) are for
-dealing with groups. With the exception of <tt class="COMMAND">chfn</tt>, <tt
-class="COMMAND">chsh</tt>, and <tt class="COMMAND">passwd</tt>, these programs are
-generally only run as <tt class="USERNAME">root</tt>, and are therefore located in <tt
-class="FILENAME">/usr/sbin</tt>. <tt class="COMMAND">chfn</tt>, <tt
-class="COMMAND">chsh</tt>, and <tt class="COMMAND">passwd</tt> can be run by anyone, and
-are located in <tt class="FILENAME">/usr/bin</tt>.</p>
-
-<p>Users can be added with the <tt class="COMMAND">adduser</tt> program. We'll start out
-by going through the whole procedure, showing all the questions that are asked and a
-brief description of what everything means. The default answer is in the brackets, and
-can be chosen for almost all the questions, unless you really want to change
-something.</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">#</samp> <kbd class="USERINPUT">adduser</kbd>
-Login name for new user []: jellyd
-</pre>
-</td>
-</tr>
-</table>
-
-<p>This is the name that the user will use to login. Traditionally, login names are eight
-characters or fewer, and all lowercase characters. (You may use more than eight
-characters, or use digits, but avoid doing so unless you have a fairly important
-reason.)</p>
-
-<p>You can also provide the login name as an argument on the command line:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">#</samp> <kbd class="USERINPUT">adduser jellyd</kbd>
-</pre>
-</td>
-</tr>
-</table>
-
-<p>In either case, after providing the login name, adduser will prompt for the user
-ID:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-User ID ('UID') [ defaults to next available ]:
-</pre>
-</td>
-</tr>
-</table>
-
-<p>The user ID (UID) is how ownerships are really determined in Linux. Each user has a
-unique number, starting at 1000 in Slackware. You can pick a UID for the new user, or you
-can just let adduser assign the user the next free one.</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-Initial group [users]:
-</pre>
-</td>
-</tr>
-</table>
-
-<p>All users are placed into the <tt class="USERNAME">users</tt> group by default. You
-might want to place the new user into a different group, but it is not recommended unless
-you know what you're doing.</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-Additional groups (comma separated) []:
-</pre>
-</td>
-</tr>
-</table>
-
-<p>This question allows you to place the new user into additional groups. It is possible
-for a user to be in several groups at the same time. This is useful if you have
-established groups for things like modifying web site files, playing games, and so on.
-For example, some sites define group <tt class="USERNAME">wheel</tt> as the only group
-that can use the <tt class="COMMAND">su</tt> command. Or, a default Slackware
-installation uses the <tt class="USERNAME">sys</tt> group for users authorized to play
-sounds through the internal sound card.</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-Home directory [/home/jellyd]
-</pre>
-</td>
-</tr>
-</table>
-
-<p>Home directories default to being placed under <tt class="FILENAME">/home</tt>. If you
-run a very large system, it's possible that you have moved the home directories to a
-different location (or to many locations). This step allows you to specify where the
-user's home directory will be.</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-Shell [ /bin/bash ]
-</pre>
-</td>
-</tr>
-</table>
-
-<p><tt class="COMMAND">bash</tt> is the default shell for Slackware Linux, and will be
-fine for most people. If your new user comes from a Unix background, they may be familiar
-with a different shell. You can change their shell now, or they can change it themselves
-later using the <tt class="COMMAND">chsh</tt> command.</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-Expiry date (YYYY-MM-DD) []:
-</pre>
-</td>
-</tr>
-</table>
-
-<p>Accounts can be set up to expire on a specified date. By default, there is no
-expiration date. You can change that, if you'd like. This option might be useful for
-people running an ISP who might want to make an account expire upon a certain date,
-unless they receive the next year's payment.</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-New account will be created as follows:
----------------------------------------
-Login name: jellyd
-UID: [ Next available ]
-Initial group: users
-Additional groups: [ None ]
-Home directory: /home/jellyd
-Shell: /bin/bash
-Expiry date: [ Never ]
-</pre>
-</td>
-</tr>
-</table>
-
-<p>This is it... if you want to bail out, hit <b class="KEYCAP">Control</b>+<b
-class="KEYCAP">C</b>. Otherwise, press <kbd class="USERINPUT">ENTER</kbd> to go ahead and
-make the account.</p>
-
-<p>You now see all the information that you've entered about the new account and are
-given the opportunity to abort the account creation. If you entered something
-incorrectly, you should hit <b class="KEYCAP">Control</b>+<b class="KEYCAP">C</b> and
-start over. Otherwise, you can hit <kbd class="USERINPUT">enter</kbd> and the account
-will be made.</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-Creating new account...
-
-Changing the user information for jellyd
-Enter the new value, or press return for the default
- Full Name []: Jeremy
- Room Number []: Smith 130
- Work Phone []:
- Home Phone []:
- Other []:
-</pre>
-</td>
-</tr>
-</table>
-
-<p>All of this information is optional. You don't have to enter any of this if you don't
-want to, and the user can change it at any time using <tt class="COMMAND">chfn</tt>.
-However, you might find it helpful to enter at least the full name and a phone number, in
-case you need to get in touch with the person later.</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-Changing password for jellyd
-Enter the new password (minimum of 5, maximum of 127 characters)
-Please use a combination of upper and lower case letters and numbers.
-New password:
-Re-enter new password:
-Password changed.
-
-Account setup complete.
-</pre>
-</td>
-</tr>
-</table>
-
-<p>You'll have to enter a password for the new user. Generally, if the new user is not
-physically present at this point, you'll just pick some default password and tell the
-user to change it to something more secure.</p>
-
-<div class="NOTE">
-<table class="NOTE" width="100%" border="0">
-<tr>
-<td width="25" align="CENTER" valign="TOP"><img src="./imagelib/admon/note.png"
-hspace="5" alt="Note" /></td>
-<td align="LEFT" valign="TOP">
-<p><span class="emphasis"><i class="EMPHASIS">Choosing a Password</i></span>: Having a
-secure password is the first line of defense against getting cracked. You do not want to
-have an easily guessed password, because that makes it easier for someone to break into
-your system. Ideally, a secure password would be a random string of characters, including
-upper and lowercase letters, numbers, and random characters. (A tab character might not
-be a wise choice, depending on what kinds of computers you'll be logging in from.) There
-are many software packages that can generate random passwords for you; search the
-Internet for these utilities.</p>
-
-<p>In general, just use common sense: don't pick a password that is someone's birthday, a
-common phrase, something found on your desk, or anything that is easily associated with
-you. A password like &#8220;secure1&#8221; or any other password you see in print or
-online is also bad.</p>
-</td>
-</tr>
-</table>
-</div>
-
-<p>Removing users is not difficult at all. Just run <tt class="COMMAND">userdel</tt> with
-the name of the account to remove. You should verify that the user is not logged in, and
-that no processes are running as that user. Also, remember that once you've deleted the
-user, all of that user's password information is gone permanently.</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">#</samp> <kbd class="USERINPUT">userdel jellyd</kbd>
-</pre>
-</td>
-</tr>
-</table>
-
-<p>This command removes that annoying <tt class="USERNAME">jellyd</tt> user from your
-system. Good riddance! :) The user is removed from the <tt
-class="FILENAME">/etc/passwd</tt>, <tt class="FILENAME">/etc/shadow</tt>, and <tt
-class="FILENAME">/etc/group</tt> files, but doesn't remove the user's home directory.</p>
-
-<p>If you'd wanted to remove the home directory as well, you would instead use this
-command:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">#</samp> <kbd class="USERINPUT">userdel -r jellyd</kbd>
-</pre>
-</td>
-</tr>
-</table>
-
-<p>Temporarily disabling an account will be covered in the next section on passwords,
-since a temporary change involves changing the user's password. Changing other account
-information is covered in <a href="#ESSENTIAL-SYSADMIN-USERS-CHANGING">Section
-12.1.3</a>.</p>
-
-<p>The programs to add and remove groups are very simple. <tt
-class="COMMAND">groupadd</tt> will just add another entry to the <tt
-class="FILENAME">/etc/group</tt> file with a unique group ID, while <tt
-class="COMMAND">groupdel</tt> will remove the specified group. It is up to you to edit
-<tt class="FILENAME">/etc/group</tt> to add users to a specific group. For example, to
-add a group called <tt class="USERNAME">cvs</tt>:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">#</samp> <kbd class="USERINPUT">groupadd cvs</kbd>
-</pre>
-</td>
-</tr>
-</table>
-
-<p>And to remove it:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">#</samp> <kbd class="USERINPUT">groupdel cvs</kbd>
-</pre>
-</td>
-</tr>
-</table>
-</div>
-
-<div class="SECT2">
-<hr />
-<h3 class="SECT2"><a id="ESSENTIAL-SYSADMIN-USERS-PASSWDS"
-name="ESSENTIAL-SYSADMIN-USERS-PASSWDS">12.1.2 Changing Passwords</a></h3>
-
-<p>The <tt class="COMMAND">passwd</tt> program changes passwords by modifying the <tt
-class="FILENAME">/etc/shadow</tt> file. This file holds all the passwords for the system
-in an encrypted format. In order to change your own password, you would type:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">%</samp> <kbd class="USERINPUT">passwd</kbd>
-Changing password for chris
-Old password:
-Enter the new password (minumum of 5, maximum of 127 characters)
-Please use a combination of upper and lower case letters and numbers.
-New password:
-</pre>
-</td>
-</tr>
-</table>
-
-<p>As you can see, you are prompted to enter your old password. It won't appear on the
-screen as you type it, just like when you log in. Then, you are prompted to enter the new
-password. <tt class="COMMAND">passwd</tt> performs a lot of checks on your new password,
-and it will complain if your new password doesn't pass its checks. You can ignore its
-warnings if you want. You will be prompted to enter your new password a second time for
-confirmation.</p>
-
-<p>If you are <tt class="USERNAME">root</tt>, you can also change another user's
-password:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">#</samp> <kbd class="USERINPUT">passwd ted</kbd>
-</pre>
-</td>
-</tr>
-</table>
-
-<p>You will then have to go through the same procedure as above, except that you won't
-have to enter the user's old password. (One of the many benefits of being <tt
-class="USERNAME">root</tt>...)</p>
-
-<p>If needed, you can also temporarily disable an account, and reenable it at a later
-time if needed. Both disabling an account and reenabling an account can be done with <tt
-class="COMMAND">passwd</tt>. To disable an account, do the following as <tt
-class="USERNAME">root</tt>:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">#</samp> <kbd class="USERINPUT">passwd -l david</kbd>
-</pre>
-</td>
-</tr>
-</table>
-
-<p>This will change david's password to something that can never match any encrypted
-value. You would reenable the account by using:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">#</samp> <kbd class="USERINPUT">passwd -u david</kbd>
-</pre>
-</td>
-</tr>
-</table>
-
-<p>Now, david's account is back to normal. Disabling an account might be useful if the
-user doesn't play by the rules you've set up on your system, or if they've exported a
-very large copy of <tt class="COMMAND">xeyes</tt>(1) to your X desktop.</p>
-</div>
-
-<div class="SECT2">
-<hr />
-<h3 class="SECT2"><a id="ESSENTIAL-SYSADMIN-USERS-CHANGING"
-name="ESSENTIAL-SYSADMIN-USERS-CHANGING">12.1.3 Changing User Information</a></h3>
-
-<p>There are two pieces of information that users can change at any time: their shell and
-their finger information. Slackware Linux uses <tt class="COMMAND">chsh</tt> (change
-shell) and <tt class="COMMAND">chfn</tt> (change finger) to modify these values.</p>
-
-<p>A user can pick any shell that is listed in the <tt class="FILENAME">/etc/shells</tt>
-file. For most people, <tt class="COMMAND">/bin/bash</tt> will do just fine. Others might
-be familiar with a shell found on their system at work or school and want to use what
-they already know. To change your shell, use <tt class="COMMAND">chsh</tt>:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">%</samp> <kbd class="USERINPUT">chsh</kbd>
-Password:
-Changing the login shell for chris
-Enter the new value, or press return for the default
- Login Shell [/bin/bash]:
-</pre>
-</td>
-</tr>
-</table>
-
-<p>After entering your password, enter the full path to the new shell. Make sure that
-it's listed in the <tt class="FILENAME">/etc/shells</tt>(5) file first. The <tt
-class="USERNAME">root</tt> user can also change any user's shell by running <tt
-class="COMMAND">chsh</tt> with a username as the argument.</p>
-
-<p>The finger information is the optional information such as your full name, phone
-numbers, and room number. This can be changed using <tt class="COMMAND">chfn</tt>, and
-follows the same procedure as it did during account creation. As usual, <tt
-class="USERNAME">root</tt> can change anyone's finger information.</p>
-</div>
-</div>
-
-<div class="SECT1">
-<hr />
-<h2 class="SECT1"><a id="ESSENTIAL-SYSADMIN-HARDUSERS"
-name="ESSENTIAL-SYSADMIN-HARDUSERS">12.2 Users and Groups, the Hard Way</a></h2>
-
-<p>Of course, it is possible to add, modify, and remove users and groups without using
-the scripts and programs that come with Slackware. It's not really difficult, although
-after reading this process, you'll probably find it much easier to use the scripts.
-However, it's important to know how your password information is actually stored, in case
-you ever need to recover this information and don't have the Slackware tools
-available.</p>
-
-<p>First, we'll add a new user to the <tt class="FILENAME">/etc/passwd</tt>(5), <tt
-class="FILENAME">/etc/shadow</tt>(5), and <tt class="FILENAME">/etc/group</tt>(5) files.
-The <tt class="FILENAME">passwd</tt> file holds some information about the users on your
-system, but (strangely enough) not their passwords. This was once the case, but was
-halted long ago for security reasons. The passwd file must be readable by all users, but
-you don't want encrypted passwords world-readable, as would-be intruders can use the
-encrypted passwords as a starting point for decrypting a user's password. Instead, the
-encrypted passwords are kept in the shadow file, which is only readable by root, and
-everyone's password is entered into the <tt class="FILENAME">passwd</tt> file simply as
-&#8220;<var class="LITERAL">x</var>&#8221;. The <tt class="FILENAME">group</tt> file
-lists all the groups and who is in each.</p>
-
-<p>You can use the <tt class="COMMAND">vipw</tt> command to edit the <tt
-class="FILENAME">/etc/passwd</tt> file safely, and the <tt class="COMMAND">vigr</tt>
-command to edit the <tt class="FILENAME">/etc/group</tt> file safely. Use <tt
-class="COMMAND">vipw -s</tt> to edit the <tt class="FILENAME">/etc/shadow</tt> file
-safely. (&#8220;Safely&#8221; in this context means someone else won't be able to modify
-the file you're editing at the moment. If you're the only administrator of your system,
-you're probably safe, but it's best to get into good habits from the start.)</p>
-
-<p>Let's examine the <tt class="FILENAME">/etc/passwd</tt> file and look at how to add a
-new user. A typical entry in <tt class="FILENAME">passwd</tt> looks like this:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="PROGRAMLISTING">
-chris:x:1000:100:Chris Lumens,Room 2,,:/home/chris:/bin/bash
-</pre>
-</td>
-</tr>
-</table>
-
-<p>Each line is an entry for one user, and fields on each line are separated by a colon.
-The fields are the login name, encrypted password (&#8220;<var
-class="LITERAL">x</var>&#8221; for everyone on a Slackware system, since Slackware uses
-shadow passwords), user ID, group ID, the optional finger information (separated by
-commas), home directory, and shell. To add a new user by hand, add a new line at the end
-of the file, filling in the appropriate information.</p>
-
-<p>The information you add needs to meet some requirements, or your new user may have
-problems logging in. First, make sure that the password field is an <var
-class="LITERAL">x</var>, and that both the user name and user ID is unique. Assign the
-user a group, either 100 (the &#8220;users&#8221; group in Slackware) or your default
-group (use its number, not its name). Give the user a valid home directory (which you'll
-create later) and shell (remember, valid shells are listed in <tt
-class="FILENAME">/etc/shells</tt>).</p>
-
-<p>Next, we'll need to add an entry in the /etc/shadow file, which holds the encrypted
-passwords. A typical entry looks like this:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="PROGRAMLISTING">
-chris:$1$w9bsw/N9$uwLr2bRER6YyBS.CAEp7R.:11055:0:99999:7:::
-</pre>
-</td>
-</tr>
-</table>
-
-<p>Again, each line is an entry for one person, with each field delimited by a colon. The
-fields are (in order) login name, encrypted password, days since the Epoch (January 1,
-1970) that the password was last changed, days before the password may be changed, days
-after which the password must be changed, days before password expiration that the user
-is notified, days after expiration that the account is disabled, days since the Epoch
-that the account is disabled, and a reserved field.</p>
-
-<p>As you can see, most of that is for account expiration information. If you aren't
-using expiration information, you only need to fill in a few fields with some special
-values. Otherwise, you'll need to do some calculations and decision making before you can
-fill those fields in. For a new user, just put some random garbage in the password field.
-Don't worry about what the password is right now, because you're going to change it in a
-minute. The only character you cannot include in the password field is a colon. Leave the
-&#8220;days since password was changed&#8221; field blank as well. Fill in <var
-class="LITERAL">0</var>, <var class="LITERAL">99999</var>, and <var
-class="LITERAL">7</var> just as you see in the example entry, and leave the other fields
-blank.</p>
-
-<p>(For those of you who think you see my encrypted password above and believe you've got
-a leg up on breaking into my system, go right ahead. If you can crack that password,
-you'll know the password to a firewalled test system. Now that's useful :) )</p>
-
-<p>All normal users are members of the &#8220;<tt class="USERNAME">users</tt>&#8221;
-group on a typical Slackware system. However, if you want to create a new group, or add
-the new user to additional groups, you'll need to modify the <tt
-class="FILENAME">/etc/group</tt> file. Here is a typical entry:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="PROGRAMLISTING">
-cvs::102:chris,logan,david,root
-</pre>
-</td>
-</tr>
-</table>
-
-<p>The fields are group name, group password, group ID, and group members, separated by
-commas. Creating a new group is a simple matter of adding a new line with a unique group
-ID, and listing all the users you want to be in the group. Any users that are in this new
-group and are logged in will have to log out and log back in for those changes to take
-effect.</p>
-
-<p>At this point, it might be a good idea to use the <tt class="COMMAND">pwck</tt> and
-<tt class="COMMAND">grpck</tt> commands to verify that the changes you've made are
-consistent. First, use <tt class="COMMAND">pwck -r</tt> and <tt class="COMMAND">grpck
--r</tt>: the <var class="OPTION">-r</var> switch makes no changes, but lists the changes
-you would be asked to make if you ran the command without the switch. You can use this
-output to decide whether you need to further modify any files, to run <tt
-class="COMMAND">pwck</tt> or <tt class="COMMAND">grpck</tt> without the <var
-class="OPTION">-r</var> switch, or to simply leave your changes as they are.</p>
-
-<p>At this point, you should use the <tt class="COMMAND">passwd</tt> command to create a
-proper password for the user. Then, use <tt class="COMMAND">mkdir</tt> to create the new
-user's home directory in the location you entered into the <tt
-class="FILENAME">/etc/passwd</tt> file, and use <tt class="COMMAND">chown</tt> to change
-the owner of the new directory to the new user.</p>
-
-<p>Removing a user is a simple matter of deleting all of the entries that exist for that
-user. Remove the user's entry from <tt class="FILENAME">/etc/passwd</tt> and <tt
-class="FILENAME">/etc/shadow</tt>, and remove the login name from any groups in the <tt
-class="FILENAME">/etc/group</tt> file. If you wish, delete the user's home directory, the
-mail spool file, and his crontab entry (if they exist).</p>
-
-<p>Removing groups is similar: remove the group's entry from <tt
-class="FILENAME">/etc/group</tt>.</p>
-</div>
-
-<div class="SECT1">
-<hr />
-<h2 class="SECT1"><a id="ESSENTIAL-SYSADMIN-SHUTDOWN"
-name="ESSENTIAL-SYSADMIN-SHUTDOWN">12.3 Shutting Down Properly</a></h2>
-
-<p>It is very important that you shut down your system properly. Simply turning the power
-off with the power switch can cause serious filesystem damage. While the system is on,
-files are in use even if you aren't doing anything. Remember that there are many
-processes running in the background all the time. These processes are managing the system
-and keep a lot of files open. When the system's power is switched off, these files are
-not closed properly and may become corrupted. Depending on what files become damaged, the
-system might be rendered completely unusable! In any case, you'll have to go through a
-long filesystem check procedure on the next reboot.</p>
-
-<div class="NOTE">
-<table class="NOTE" width="100%" border="0">
-<tr>
-<td width="25" align="CENTER" valign="TOP"><img src="./imagelib/admon/note.png"
-hspace="5" alt="Note" /></td>
-<td align="LEFT" valign="TOP">
-<p>If you configured your system with a journalling filesystem, like ext3 or reiserfs,
-you'll be partially protected from filesystem damage, and your filesystem check on reboot
-will be shorter than if you had used a filesystem without journalling, like ext2.
-However, this safety net is no excuse for improperly shutting down your system! A
-journalling FS is meant to protect your files from events beyond your control, not from
-your own laziness.</p>
-</td>
-</tr>
-</table>
-</div>
-
-<p>In any case, when you want to reboot or power down your computer, it is important to
-do so properly. There are several ways of doing so; you can pick whichever one you think
-is the most fun (or least amount of work). Since a shutdown and a reboot are similar
-procedures, most of the ways for powering off the system can also be applied to
-rebooting.</p>
-
-<p>The first method is through the <tt class="COMMAND">shutdown</tt>(8) program, and it
-is probably the most popular. <tt class="COMMAND">shutdown</tt> can be used to reboot or
-turn off the system at a given time, and can display a message to all the logged-in users
-of the system telling them that the system is going down.</p>
-
-<p>The most basic use of shutdown to power down the computer is:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">#</samp> <kbd class="USERINPUT">shutdown -h now</kbd>
-</pre>
-</td>
-</tr>
-</table>
-
-<p>In this case, we are not going to send a custom message to the users; they will see
-<tt class="COMMAND">shutdown</tt>'s default message. &#8220;<var
-class="OPTION">now</var>&#8221; is the time that we want to shutdown, and the &#8220;<var
-class="OPTION">-h</var>&#8221; means to halt the system. This is not a very friendly way
-to run a multi-user system, but it works just fine on your home computer. A better method
-on a multiuser system would be to give everyone a little advance warning:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">#</samp> <kbd class="USERINPUT">shutdown -h +60</kbd>
-</pre>
-</td>
-</tr>
-</table>
-
-<p>This would shutdown the system in one hour (60 minutes), which would be just fine on a
-normal multiuser system. Vital systems should have their downtime scheduled far in
-advance, and you should post warnings about the downtime in any appropriate locations
-used for system notifications (email, bulletin board, <tt
-class="FILENAME">/etc/motd</tt>, whatever).</p>
-
-<p>Rebooting the system uses the same command, but substitutes &#8220;<var
-class="OPTION">-r</var>&#8221; for &#8220;<var class="OPTION">-h</var>&#8221;:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">#</samp> <kbd class="USERINPUT">shutdown -r now</kbd>
-</pre>
-</td>
-</tr>
-</table>
-
-<p>You can use same time notation with <tt class="COMMAND">shutdown -r</tt> that you
-could with <tt class="COMMAND">shutdown -h</tt>. There are a lot of other things that you
-can do with <tt class="COMMAND">shutdown</tt> to control when to halt or reboot the
-machine; see the man page for more details.</p>
-
-<p>The second way of shutting down or powering off the computer is to use the <tt
-class="COMMAND">halt</tt>(8) and <tt class="COMMAND">reboot</tt>(8) commands. As the
-names indicate, <tt class="COMMAND">halt</tt> will immediately halt the operating system,
-and <tt class="COMMAND">reboot</tt> will reboot the system. (<tt
-class="COMMAND">reboot</tt> is actually just a symbolic link to <tt
-class="COMMAND">halt</tt>.) They are invoked like so:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">#</samp> <kbd class="USERINPUT">halt</kbd>
-<samp class="PROMPT">#</samp> <kbd class="USERINPUT">reboot</kbd>
-</pre>
-</td>
-</tr>
-</table>
-
-<p>A lower-level way to reboot or shutdown the system is to talk directly to <tt
-class="COMMAND">init</tt>. All the other methods are simply convenient ways to talk to
-<tt class="COMMAND">init</tt>, but you can directly tell it what to do using <tt
-class="COMMAND">telinit</tt>(8) (note that it only has one &#8220;l&#8221;). Using <tt
-class="COMMAND">telinit</tt> will tell <tt class="COMMAND">init</tt> what runlevel to
-drop into, which will cause a special script to be run. This script will kill or spawn
-processes as needed for that runlevel. This works for rebooting and shutting down because
-both of those are special runlevels.</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">#</samp> <kbd class="USERINPUT">telinit 0</kbd>
-</pre>
-</td>
-</tr>
-</table>
-
-<p>Runlevel 0 is halt mode. Telling <tt class="COMMAND">init</tt> to enter runlevel 0
-will cause all processes to be killed off, the filesystems unmounted, and the machine to
-be halted. This is a perfectly acceptable way to bring down the system. On many laptops
-and modern desktop computers, this will also cause the machine to be turned off.</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">#</samp> <kbd class="USERINPUT">telinit 6</kbd>
-</pre>
-</td>
-</tr>
-</table>
-
-<p>Runlevel 6 is reboot mode. All processes will be killed off, the filesystems will be
-unmounted, and the machine will be rebooted. This is a perfectly acceptable method of
-rebooting the system.</p>
-
-<p>For the curious, when switching to runlevel 0 or 6, whether by using <tt
-class="COMMAND">shutdown</tt>, <tt class="COMMAND">halt</tt>, or <tt
-class="COMMAND">reboot</tt>, the script <tt class="FILENAME">/etc/rc.d/rc.6</tt> is run.
-(The script <tt class="FILENAME">/etc/rc.d/rc.0</tt> is another symbolic link, to <tt
-class="FILENAME">/etc/rc.d/rc.6</tt>.) You can customize this file to your tastes--but be
-sure to test your changes carefully!</p>
-
-<p>There is one last method of rebooting the system. All the other methods require you to
-be logged in as <tt class="USERNAME">root</tt>. However, it is possible to reboot the
-machine even if you aren't root, provided that you have physical access to the keyboard.
-Using <b class="KEYCAP">Control</b>+<b class="KEYCAP">Alt</b>+<b
-class="KEYCAP">Delete</b> (the "three-fingered salute") will cause the machine to
-immediately reboot. (Behind the scenes, the <tt class="COMMAND">shutdown</tt> command is
-called for you when you use <b class="KEYCAP">Control</b>+<b class="KEYCAP">Alt</b>+<b
-class="KEYCAP">Delete</b>.) The salute doesn't always work when using X Windows--you may
-need to use <b class="KEYCAP">Control</b>+<b class="KEYCAP">Alt</b>+<b
-class="KEYCAP">F1</b> (or another Function key) to switch to a non-X Windows terminal
-before using it.</p>
-
-<p>Finally, the file that ultimately controls every aspect of startup and shutdown is the
-<tt class="FILENAME">/etc/inittab</tt>(5) file. In general, you should not need to modify
-this file, but it may give you insight into why some things work the way they do. As
-always, see the man pages for further details.</p>
-</div>
-</div>
-
-<div class="CHAPTER">
-<hr />
-<h1><a id="BASIC-NETWORK-COMMANDS" name="BASIC-NETWORK-COMMANDS"></a>Chapter 13 Basic
-Network Commands</h1>
-
-<p>A network consists of several computers connected together. The network can be as
-simple as a few computers connected in your home or office, or as complicated as a large
-university network or even the entire Internet. When your computer is part of a network,
-you have access to those systems either directly or through services like mail and the
-web.</p>
-
-<p>There are a variety of networking programs that you can use. Some are handy for
-performing diagnostics to see if everything is working properly. Others (like mail
-readers and web browsers) are useful for getting your work done and staying in contact
-with other people.</p>
-
-<div class="SECT1">
-<hr />
-<h2 class="SECT1"><a id="BASIC-NETWORK-COMMANDS-PING"
-name="BASIC-NETWORK-COMMANDS-PING">13.1 <tt class="COMMAND">ping</tt></a></h2>
-
-<p><tt class="COMMAND">ping</tt>(8) sends an ICMP <var class="LITERAL">ECHO_REQUEST</var>
-packet to the specified host. If the host responds, you get an ICMP packet back. Sound
-strange? Well, you can &#8220;ping&#8221; an IP address to see if a machine is alive. If
-there is no response, you know something is wrong. Here is an example conversation
-between two Linux users:</p>
-
-<a id="AEN4428" name="AEN4428"></a>
-<blockquote class="BLOCKQUOTE">
-<p class="LITERALLAYOUT"><span class="emphasis"><i class="EMPHASIS">User
-A</i></span>:&nbsp;Loki's&nbsp;down&nbsp;again.<br />
-<span class="emphasis"><i class="EMPHASIS">User
-B</i></span>:&nbsp;Are&nbsp;you&nbsp;sure?<br />
-<span class="emphasis"><i class="EMPHASIS">User
-A</i></span>:&nbsp;Yeah,&nbsp;I&nbsp;tried&nbsp;pinging&nbsp;it,&nbsp;but&nbsp;there's&nbsp;no&nbsp;response.</p>
-</blockquote>
-
-<p>It's instances like these that make <tt class="COMMAND">ping</tt> a very useful
-day-to-day command. It provides a very quick way to see if a machine is up and connected
-to the network. The basic syntax is:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">%</samp> <kbd class="USERINPUT">ping www.slackware.com</kbd>
-</pre>
-</td>
-</tr>
-</table>
-
-<p>There are, of course, several options that can be specified. Check the <tt
-class="COMMAND">ping</tt>(1) man page for more information.</p>
-</div>
-
-<div class="SECT1">
-<hr />
-<h2 class="SECT1"><a id="BASIC-NETWORK-COMMANDS-TRACEROUTE"
-name="BASIC-NETWORK-COMMANDS-TRACEROUTE">13.2 <tt
-class="COMMAND">traceroute</tt></a></h2>
-
-<p>Slackware's <tt class="COMMAND">traceroute</tt>(8) command is a very useful network
-diagnostic tool. <tt class="COMMAND">traceroute</tt> displays each host that a packet
-travels through as it tries to reach its destination. You can see how many
-&#8220;hops&#8221; from the Slackware web site you are with this command:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">%</samp> <kbd class="USERINPUT">traceroute www.slackware.com</kbd>
-</pre>
-</td>
-</tr>
-</table>
-
-<p>Each host will be displayed, along with the response times at each host. Here is an
-example output:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">%</samp> <kbd class="USERINPUT">traceroute www.slackware.com</kbd>
-traceroute to www.slackware.com (204.216.27.13), 30 hops max, 40 byte packets
-1 zuul.tdn (192.168.1.1) 0.409 ms 1.032 ms 0.303 ms
-2 207.171.227.254 (207.171.227.254) 18.218 ms 32.873 ms 32.433 ms
-3 border-sf-2-0-4.sirius.com (205.134.230.254) 15.662 ms 15.731 ms 16.142 ms
-4 pb-nap.crl.net (198.32.128.20) 20.741 ms 23.672 ms 21.378 ms
-5 E0-CRL-SFO-03-E0X0.US.CRL.NET (165.113.55.3) 22.293 ms 21.532 ms 21.29 ms
-6 T1-CDROM-00-EX.US.CRL.NET (165.113.118.2) 24.544 ms 42.955 ms 58.443 ms
-7 www.slackware.com (204.216.27.13) 38.115 ms 53.033 ms 48.328 ms
-</pre>
-</td>
-</tr>
-</table>
-
-<p><tt class="COMMAND">traceroute</tt> is similar to <tt class="COMMAND">ping</tt> in
-that it uses ICMP packets. There are several options that you can specify with <tt
-class="COMMAND">traceroute</tt>. These options are explained in detail in the man
-page.</p>
-</div>
-
-<div class="SECT1">
-<hr />
-<h2 class="SECT1"><a id="BASIC-NETWORK-COMMANDS-DNS"
-name="BASIC-NETWORK-COMMANDS-DNS">13.3 DNS Tools</a></h2>
-
-<p>Domain Name Service (DNS for short) is that magical protocol that allows your computer
-to turn meaningless domain names like www.slackware.com into meaningful IP address like
-<tt class="HOSTID">64.57.102.34</tt>. Computers can't route packets to www.slackware.com,
-but they can route packets to that domain name's IP address. This gives us a convenient
-way to remember machines. Without DNS we'd have to keep a mental database of just what IP
-address belongs to what computer, and that's assuming the IP address doesn't change.
-Clearly using names for computers is better, but how do we map names to IP addresses?</p>
-
-<div class="SECT2">
-<hr />
-<h3 class="SECT2"><a id="AEN4475" name="AEN4475">13.3.1 <tt
-class="COMMAND">host</tt></a></h3>
-
-<p><tt class="COMMAND">host</tt>(1) can do this for us. <tt class="COMMAND">host</tt> is
-used to map names to IP addresses. It is a very quick and simple utility without a lot of
-functions.</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">%</samp> <kbd class="USERINPUT">host www.slackware.com</kbd>
-www.slackware.com is an alias for slackware.com.
-slackware.com has address 64.57.102.34
-</pre>
-</td>
-</tr>
-</table>
-
-<p>But let's say for some reason we want to map an IP address to a domain name; what
-then?</p>
-</div>
-
-<div class="SECT2">
-<hr />
-<h3 class="SECT2"><a id="AEN4487" name="AEN4487">13.3.2 <tt
-class="COMMAND">nslookup</tt></a></h3>
-
-<p><tt class="COMMAND">nslookup</tt> is a tried and true program that has weathered the
-ages. <tt class="COMMAND">nslookup</tt> has been deprecated and may be removed from
-future releases. There is not even a man page for this program.</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">%</samp> <kbd class="USERINPUT">nslookup 64.57.102.34</kbd>
-Note: nslookup is deprecated and may be removed from future releases.
-Consider using the `dig' or `host' programs instead. Run nslookup with
-the `-sil[ent]' option to prevent this message from appearing.
-Server: 192.168.1.254
-Address: 192.168.1.254#53
-
-Non-authoritative answer:
-www.slackware.com canonical name = slackware.com.
-Name: slackware.com
-Address: 64.57.102.34
-</pre>
-</td>
-</tr>
-</table>
-</div>
-
-<div class="SECT2">
-<hr />
-<h3 class="SECT2"><a id="AEN4496" name="AEN4496">13.3.3 <tt
-class="COMMAND">dig</tt></a></h3>
-
-<p>The meanest dog in the pound, the domain information groper, <tt
-class="COMMAND">dig</tt>(1) for short, is the go-to program for finding DNS information.
-<tt class="COMMAND">dig</tt> can grab just about anything from a DNS server including
-reverse lookups, A, CNAME, MX, SP, and TXT records. <tt class="COMMAND">dig</tt> has many
-command line options and if you're not familiar with it you should read through it's
-extensive man page.</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">%</samp> <kbd
-class="USERINPUT">dig @192.168.1.254 www.slackware.com mx</kbd>
-
-; &lt;&lt;&#62;&#62; DiG 9.2.2 &lt;&lt;&#62;&#62; @192.168.1.254 www.slackware.com mx
-;; global options: printcmd
-;; Got answer:
-;; -&#62;&#62;HEADER&lt;&lt;- opcode: QUERY, status: NOERROR, id: 26362
-;; flags: qr rd ra; QUERY: 1, ANSWER: 2, AUTHORITY: 2, ADDITIONAL: 2
-
-;; QUESTION SECTION:
-;www.slackware.com. IN MX
-
-;; ANSWER SECTION:
-www.slackware.com. 76634 IN CNAME slackware.com.
-slackware.com. 86400 IN MX 1 mail.slackware.com.
-
-;; AUTHORITY SECTION:
-slackware.com. 86400 IN NS ns1.cwo.com.
-slackware.com. 86400 IN NS ns2.cwo.com.
-
-;; ADDITIONAL SECTION:
-ns1.cwo.com. 163033 IN A 64.57.100.2
-ns2.cwo.com. 163033 IN A 64.57.100.3
-
-;; Query time: 149 msec
-;; SERVER: 192.168.1.254#53(192.168.1.254)
-;; WHEN: Sat Nov 6 16:59:31 2004
-;; MSG SIZE rcvd: 159
-</pre>
-</td>
-</tr>
-</table>
-
-<p>This should give you an idea how <tt class="COMMAND">dig</tt> works.
-&#8220;@192.168.1.254&#8221; specifies the dns server to use.
-&#8220;www.slackware.com&#8221; is the domain name I am performing a lookup on, and
-&#8220;mx&#8221; is the type of lookup I am performing. The above query tells me that
-e-mail to <tt class="HOSTID">www.slackware.com</tt> will instead be sent to <tt
-class="HOSTID">mail.slackware.com</tt> for delivery.</p>
-</div>
-</div>
-
-<div class="SECT1">
-<hr />
-<h2 class="SECT1"><a id="BASIC-NETWORK-COMMANDS-FINGER"
-name="BASIC-NETWORK-COMMANDS-FINGER">13.4 <tt class="COMMAND">finger</tt></a></h2>
-
-<p><tt class="COMMAND">finger</tt>(1) will retrieve information about the specified user.
-You give finger a username or an email address and it will try to contact the necessary
-server and retrieve the username, office, telephone number, and other pieces of
-information. Here is an example:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">%</samp> <kbd class="USERINPUT">finger johnc@idsoftware.com</kbd>
-</pre>
-</td>
-</tr>
-</table>
-
-<p><tt class="COMMAND">finger</tt> can return the username, mail status, phone numbers,
-and files referred to as &#8220;dot plan&#8221; and &#8220;dot project&#8221;. Of course,
-the information returned varies with each <tt class="COMMAND">finger</tt> server. The one
-included with Slackware returns the following information by default:</p>
-
-<ul>
-<li>
-<p>Username</p>
-</li>
-
-<li>
-<p>Room number</p>
-</li>
-
-<li>
-<p>Home phone number</p>
-</li>
-
-<li>
-<p>Work phone number</p>
-</li>
-
-<li>
-<p>Login status</p>
-</li>
-
-<li>
-<p>Email status</p>
-</li>
-
-<li>
-<p>Contents of the <tt class="FILENAME">.plan</tt> file in the user's home directory</p>
-</li>
-
-<li>
-<p>Contents of the <tt class="FILENAME">.project</tt> file in the user's home
-directory</p>
-</li>
-</ul>
-
-<p>The first four items can be set with the <tt class="COMMAND">chfn</tt> command. It
-stores those values in the <tt class="FILENAME">/etc/passwd</tt> file. To change the
-information in your <tt class="FILENAME">.plan</tt> or <tt class="FILENAME">.project</tt>
-file, just edit them with your favorite text editor. They must reside in your home
-directory and must be called <tt class="FILENAME">.plan</tt> and <tt
-class="FILENAME">.project</tt>.</p>
-
-<p>Many users <tt class="COMMAND">finger</tt> their own account from a remote machine to
-quickly see if they have new email. Or, you can see a user's plan or current project.</p>
-
-<p>Like many commands, <tt class="COMMAND">finger</tt> has options. Check the man page
-for more information on what special options you can use.</p>
-</div>
-
-<div class="SECT1">
-<hr />
-<h2 class="SECT1"><a id="BASIC-NETWORK-COMMANDS-TELNET"
-name="BASIC-NETWORK-COMMANDS-TELNET">13.5 <tt class="COMMAND">telnet</tt></a></h2>
-
-<p>Someone once stated that <tt class="COMMAND">telnet</tt>(1) was the coolest thing he
-had ever seen on computers. The ability to remotely log in and do stuff on another
-computer is what separates Unix and Unix-like operating systems from other operating
-systems.</p>
-
-<p><tt class="COMMAND">telnet</tt> allows you to log in to a computer, just as if you
-were sitting at the terminal. Once your username and password are verified, you are given
-a shell prompt. From here, you can do anything requiring a text console. Compose email,
-read newsgroups, move files around, and so on. If you are running X and you <tt
-class="COMMAND">telnet</tt> to another machine, you can run X programs on the remote
-computer and display them on yours.</p>
-
-<p>To login to a remote machine, use this syntax:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">%</samp> <kbd class="USERINPUT">telnet &lt;<var
-class="REPLACEABLE">hostname</var>&gt;</kbd>
-</pre>
-</td>
-</tr>
-</table>
-
-<p>If the host responds, you will receive a login prompt. Give it your username and
-password. That's it. You are now at a shell. To quit your telnet session, use either the
-<tt class="COMMAND">exit</tt> command or the <tt class="COMMAND">logout</tt> command.</p>
-
-<div class="WARNING">
-<table class="WARNING" width="100%" border="0">
-<tr>
-<td width="25" align="CENTER" valign="TOP"><img src="./imagelib/admon/warning.png"
-hspace="5" alt="Warning" /></td>
-<td align="LEFT" valign="TOP">
-<p><tt class="COMMAND">telnet</tt> does not encrypt the information it sends. Everything
-is sent in plain text, even passwords. It is not advisable to use <tt
-class="COMMAND">telnet</tt> over the Internet. Instead, consider the <tt
-class="COMMAND">Secure Shell</tt>. It encrypts all traffic and is available for free.</p>
-</td>
-</tr>
-</table>
-</div>
-
-<div class="SECT2">
-<hr />
-<h3 class="SECT2"><a id="AEN4593" name="AEN4593">13.5.1 The other use of telnet</a></h3>
-
-<p>Now that we have convinced you not to use the telnet protocol anymore to log into a
-remote machine, we'll show you a couple of useful ways to use <tt
-class="COMMAND">telnet</tt>.</p>
-
-<p>You can also use the <tt class="COMMAND">telnet</tt> command to connect to a host on a
-certain port.</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">%</samp> <kbd class="USERINPUT">telnet &lt;<var
-class="REPLACEABLE">hostname</var>&gt; [port]</kbd>
-</pre>
-</td>
-</tr>
-</table>
-
-<p>This can be quite handy when you quickly need to test a certain service, and you need
-full control over the commands, and you need to see what exactly is going on. You can
-interactively test or use an SMTP server, a POP3 server, an HTTP server, etc. this
-way.</p>
-
-<p>In the next figure you'll see how you can <tt class="COMMAND">telnet</tt> to a HTTP
-server on port 80, and get some basic information from it.</p>
-
-<div class="FIGURE"><a id="FIG-BASIC-NETWORK-COMMANDS-TELNET-WEB"
-name="FIG-BASIC-NETWORK-COMMANDS-TELNET-WEB"></a>
-<p><b>Figure 13-1. Telnetting to a webserver</b></p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">%</samp> <kbd class="USERINPUT">telnet store.slackware.com 80</kbd>
-Trying 69.50.233.153...
-Connected to store.slackware.com.
-Escape character is '^]'.
-HEAD / HTTP/1.0
-
-HTTP/1.1 200 OK
-Date: Mon, 25 Apr 2005 20:47:01 GMT
-Server: Apache/1.3.33 (Unix) mod_ssl/2.8.22 OpenSSL/0.9.7d
-Last-Modified: Fri, 18 Apr 2003 10:58:54 GMT
-ETag: "193424-c0-3e9fda6e"
-Accept-Ranges: bytes
-Content-Length: 192
-Connection: close
-Content-Type: text/html
-
-Connection closed by foreign host.
-<samp class="PROMPT">%</samp>
-</pre>
-</td>
-</tr>
-</table>
-</div>
-
-<p>You can do the same for other plain-text protocols, as long as you know what port to
-connect to, and what the commands are.</p>
-</div>
-</div>
-
-<div class="SECT1">
-<hr />
-<h2 class="SECT1"><a id="BASIC-NETWORK-COMMANDS-SSH"
-name="BASIC-NETWORK-COMMANDS-SSH">13.6 The Secure shell</a></h2>
-
-<p>Today, secure shell basks in the adoration that <tt class="COMMAND">telnet</tt> once
-enjoyed. <tt class="COMMAND">ssh</tt>(1) allows one to make a connection to a remote
-machine and execute programs as if one were physically present; however, <tt
-class="COMMAND">ssh</tt> encrypts all the data travelling between the two computers so
-even if others intercept the conversation, they are unable to understand it. A typical
-secure shell connection follows.</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">%</samp> <kbd
-class="USERINPUT">ssh carrier.lizella.net -l alan</kbd>
-The authenticity of host 'carrier.lizella.net (192.168.1.253)' can't be
-established.
-RSA key fingerprint is 0b:e2:5d:43:4c:39:4f:8c:b9:85:db:b2:fa:25:e9:9d.
-Are you sure you want to continue connecting (yes/no)? yes
-Warning: Permanently added 'carrier.lizella.net' (RSA) to the list of
-known hosts.
-Password: <kbd class="USERINPUT">password</kbd>
-Last login: Sat Nov 6 16:32:19 2004 from 192.168.1.102
-Linux 2.4.26-smp.
-alan@carrier:~$ <kbd class="USERINPUT">ls -l MANIFEST</kbd>
--rw-r--r-- 1 alan users 23545276 2004-10-28 20:04 MANIFEST
-alan@carrier:~$ <kbd class="USERINPUT">exit</kbd>
-logout
-Connection to carrier.lizella.net closed.
-</pre>
-</td>
-</tr>
-</table>
-
-<p>There you see me making an ssh connection to <tt
-class="HOSTID">carrier.lizella.net</tt>, and checking the permissions on the <tt
-class="FILENAME">MANIFEST</tt> file.</p>
-</div>
-
-<div class="SECT1">
-<hr />
-<h2 class="SECT1"><a id="BASIC-NETWORK-COMMANDS-EMAIL"
-name="BASIC-NETWORK-COMMANDS-EMAIL">13.7 email</a></h2>
-
-<p>Electronic mail is one of the most popular things one can do on the Internet. In 1998,
-it was reported that more electronic mail was sent than regular mail. It is indeed common
-and useful.</p>
-
-<p>Under Slackware, we provide a standard mail server, and several mail clients. All of
-the clients discussed below are text-based. A lot of Windows users may be against this,
-but you will find that a text based client is very convenient, especially when checking
-mail remotely. Fear not, there are many graphical e-mail clients such as KDE's Kmail. If
-you wish to use one of those check its help menu.</p>
-
-<div class="SECT2">
-<hr />
-<h3 class="SECT2"><a id="BASIC-NETWORK-COMMANDS-EMAIL-PINE"
-name="BASIC-NETWORK-COMMANDS-EMAIL-PINE">13.7.1 <tt class="COMMAND">pine</tt></a></h3>
-
-<p><tt class="COMMAND">pine</tt>(1) is not <tt class="COMMAND">elm</tt>. Or so the saying
-goes. The University of Washington created their program for Internet news and email out
-of a need for an easy mail reader for their students. <tt class="COMMAND">pine</tt> is
-one of the most popular email clients in use today and is available for nearly every
-flavor of Unix and even Windows.</p>
-
-<div class="FIGURE"><a id="FIG-BASIC-NETWORK-COMMANDS-EMAIL-PINE"
-name="FIG-BASIC-NETWORK-COMMANDS-EMAIL-PINE"></a>
-<p><b>Figure 13-2. The Pine main menu</b></p>
-
-<p><img src="basic-network-commands/pine.png" /></p>
-</div>
-
-<p>You will see a menu of commands and a row of command keys at the bottom. <tt
-class="COMMAND">pine</tt> is indeed a complex program, so we will not discuss every
-feature about it here.</p>
-
-<p>To see what's in your inbox, type <kbd class="USERINPUT">i</kbd>. Your messages are
-listed with their date, author, and subject. Highlight the message you want and press
-<kbd class="USERINPUT">enter</kbd> to view it. Pressing <kbd class="USERINPUT">r</kbd>
-will start a reply to the message. Once you have written the response, type <b
-class="KEYCAP">Ctrl</b>+<b class="KEYCAP">X</b> to send it. You can press <kbd
-class="USERINPUT">i</kbd> to get back to the message listing.</p>
-
-<p>If you want to delete a message, press <kbd class="USERINPUT">d</kbd>. It will mark
-the highlighted message for deletion. <tt class="COMMAND">pine</tt> deletes the mail when
-you exit the program. <tt class="COMMAND">pine</tt> also lets you store your mail in
-folders. You can get a listing of folders by pressing <kbd class="USERINPUT">l</kbd>. At
-the message listing, press <kbd class="USERINPUT">s</kbd> to save it to another folder.
-It will ask for the folder name to write the message to.</p>
-
-<p><tt class="COMMAND">pine</tt> offers many, many features; you should definitely have a
-look at the man page for more information. It will contain the latest information about
-the program.</p>
-</div>
-
-<div class="SECT2">
-<hr />
-<h3 class="SECT2"><a id="BASIC-NETWORK-COMMANDS-EMAIL-ELM"
-name="BASIC-NETWORK-COMMANDS-EMAIL-ELM">13.7.2 <tt class="COMMAND">elm</tt></a></h3>
-
-<p><tt class="COMMAND">elm</tt>(1) is another popular text-based email client. Though not
-quite as user friendly as <tt class="COMMAND">pine</tt>, it's definitely been around a
-lot longer.</p>
-
-<div class="FIGURE"><a id="FIG-BASIC-NETWORK-COMMANDS-EMAIL-ELM"
-name="FIG-BASIC-NETWORK-COMMANDS-EMAIL-ELM"></a>
-<p><b>Figure 13-3. Elm main screen</b></p>
-
-<p><img src="basic-network-commands/elm.png" /></p>
-</div>
-
-<p>By default, you are placed in your inbox. The messages are listed with the message
-number, date, sender, and subject. Use the arrow keys to highlight the message you want.
-Press <kbd class="USERINPUT">Enter</kbd> to read the message.</p>
-
-<p>To compose a new message, type <kbd class="USERINPUT">m</kbd> at the main screen. The
-<kbd class="USERINPUT">d</kbd> key will flag a message for deletion. And the <kbd
-class="USERINPUT">r</kbd> key will reply to the current message you are reading. All of
-these keys are displayed at the bottom of the screen with a prompt.</p>
-
-<p>The man page discusses <tt class="COMMAND">elm</tt> in more detail, so you will
-probably want to consult that before using <tt class="COMMAND">elm</tt>.</p>
-</div>
-
-<div class="SECT2">
-<hr />
-<h3 class="SECT2"><a id="BASIC-NETWORK-COMMANDS-EMAIL-MUTT"
-name="BASIC-NETWORK-COMMANDS-EMAIL-MUTT">13.7.3 <tt class="COMMAND">mutt</tt></a></h3>
-
-<p>&#8220;All mail clients suck. This one just sucks less.&#8221; <tt
-class="COMMAND">mutt</tt>'s original interface was based on <tt class="COMMAND">elm</tt>
-with added features found in other popular mailclients, resulting in a hybrid mutt.</p>
-
-<p>Some of <tt class="COMMAND">mutt</tt>'s features include:</p>
-
-<ul>
-<li>
-<p>color support</p>
-</li>
-
-<li>
-<p>message threading</p>
-</li>
-
-<li>
-<p>MIME and PGP/MIME support</p>
-</li>
-
-<li>
-<p>pop3 and imap support</p>
-</li>
-
-<li>
-<p>support for multiple mailbox formats (mbox, MMDF, MH, maildir)</p>
-</li>
-
-<li>
-<p><span class="emphasis"><i class="EMPHASIS">highly</i></span> customizable</p>
-</li>
-</ul>
-
-<div class="FIGURE"><a id="FIG-BASIC-NETWORK-COMMANDS-EMAIL-MUTT"
-name="FIG-BASIC-NETWORK-COMMANDS-EMAIL-MUTT"></a>
-<p><b>Figure 13-4. Mutt main screen</b></p>
-
-<p><img src="basic-network-commands/mutt.png" /></p>
-</div>
-
-<p>if you're looking for a mail client that will let you be in total control over
-everything, then you will like <tt class="COMMAND">mutt</tt>. all the default settings
-can be customized, keybindings can be changed. if you like to add a macro, you can.</p>
-
-<p>you probably want to take a look at the <tt class="FILENAME">muttrc</tt> manpage,
-which will tell you how to configure everything. or take a look at the included example
-<tt class="FILENAME">muttrc</tt> file.</p>
-</div>
-
-<div class="SECT2">
-<hr />
-<h3 class="SECT2"><a id="BASIC-NETWORK-COMMANDS-EMAIL-NAIL"
-name="BASIC-NETWORK-COMMANDS-EMAIL-NAIL">13.7.4 <tt class="COMMAND">nail</tt></a></h3>
-
-<p><tt class="COMMAND">nail</tt>(1) is a command line driven mail client. It is very
-primitive and offers pretty much nothing in the way of user interfaces. However, mailx is
-handy for times when you need to quickly mail something, scripting a bulk mailer, testing
-your MTA installation or something similar. Note that Slackware creates symbolic links to
-<tt class="COMMAND">nail</tt> at <tt class="FILENAME">/usr/bin/mail</tt> and <tt
-class="FILENAME">/usr/bin/mailx</tt>. Any of these three commands executes the same
-program. In fact, you will most likely see <tt class="COMMAND">nail</tt> referred to as
-<tt class="COMMAND">mail</tt>.</p>
-
-<p>The basic command line is:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">%</samp> <kbd
-class="USERINPUT">mailx &lt;subject&gt; &lt;to-addr&gt;</kbd>
-</pre>
-</td>
-</tr>
-</table>
-
-<p><tt class="COMMAND">mailx</tt> reads the message body from standard input. So you can
-cat a file into this command to mail it, or you can just type text and hit <b
-class="KEYCAP">Ctrl</b>+<b class="KEYCAP">D</b> when finished with the message.</p>
-
-<p>Here is an example of mailing a program source file to another person.</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">%</samp> <kbd
-class="USERINPUT">cat randomfunc.c | mail -s "Here's that function" asdf@example.net</kbd>
-</pre>
-</td>
-</tr>
-</table>
-
-<p>The man page explains more of what <tt class="COMMAND">nail</tt> can do, so you will
-probably want to have a look at that before using it.</p>
-</div>
-</div>
-
-<div class="SECT1">
-<hr />
-<h2 class="SECT1"><a id="BASIC-NETWORK-COMMANDS-WEB"
-name="BASIC-NETWORK-COMMANDS-WEB">13.8 Browsers</a></h2>
-
-<p>The first thing that people think about when they hear the word Internet is
-&#8220;surfing the net&#8221;. Or looking at websites using a web browser. This is
-probably by far the most popular use of the Internet for the average user.</p>
-
-<p>Slackware provides popular graphical web browsers in the &#8220;XAP&#8221; series, as
-well as text mode browsers in the &#8220;N&#8221; series. We'll take a quick look at some
-of the most common options below.</p>
-
-<div class="SECT2">
-<hr />
-<h3 class="SECT2"><a id="AEN4776" name="AEN4776">13.8.1 <tt
-class="COMMAND">lynx</tt></a></h3>
-
-<p><tt class="COMMAND">lynx</tt>(1) is a text-based web browser. It is a very quick way
-of looking up something on the Internet. Sometimes graphics just get in the way if you
-know exactly what you're after.</p>
-
-<p>To start <tt class="COMMAND">lynx</tt>, just type <tt class="COMMAND">lynx</tt> at the
-prompt:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">%</samp> <kbd class="USERINPUT">lynx</kbd>
-</pre>
-</td>
-</tr>
-</table>
-
-<div class="FIGURE"><a id="FIG-BASIC-NETWORK-COMMANDS-WEB-LYNX"
-name="FIG-BASIC-NETWORK-COMMANDS-WEB-LYNX"></a>
-<p><b>Figure 13-5. Lynx default start page</b></p>
-
-<p><img src="basic-network-commands/lynx.png" /></p>
-</div>
-
-<p>You may want to specify a site for <tt class="COMMAND">lynx</tt> to open to:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">%</samp> <kbd class="USERINPUT">lynx http://www.slackware.com</kbd>
-</pre>
-</td>
-</tr>
-</table>
-
-<p><tt class="COMMAND">lynx</tt> prints the command keys and what they do at the bottom
-of the screen. The up and down arrow keys move around the document, <kbd
-class="USERINPUT">Enter</kbd> selects the highlighted link, and the <kbd
-class="USERINPUT">left arrow</kbd> goes back to the previous page. Typing <kbd
-class="USERINPUT">d</kbd> will download the currently selected file. The <kbd
-class="USERINPUT">g</kbd> command brings up the Go prompt, where you can give <tt
-class="COMMAND">lynx</tt> a URL to open.</p>
-
-<p>There are many other commands in <tt class="COMMAND">lynx</tt>. You can either consult
-the man page, or type <kbd class="USERINPUT">h</kbd> to get the help screen for more
-information.</p>
-</div>
-
-<div class="SECT2">
-<hr />
-<h3 class="SECT2"><a id="AEN4813" name="AEN4813">13.8.2 <tt
-class="COMMAND">links</tt></a></h3>
-
-<p>Just like <tt class="COMMAND">lynx</tt>, <tt class="COMMAND">links</tt> is a textmode
-web browser, where you do all the navigation using the keyboard. However, when you press
-the <kbd class="USERINPUT">Esc</kbd> key, it will activate a very convenient pulldown
-menu on the top of the screen. This makes it very easy to use, without having to learn
-all the keyboard shortcuts. People who do not use a text browser every day will
-appreciate this feature.</p>
-
-<p><tt class="COMMAND">links</tt> seems to have better support for both frames and
-tables, when compared to <tt class="COMMAND">lynx</tt>.</p>
-
-<div class="FIGURE"><a id="FIG-BASIC-NETWORK-COMMANDS-WEB-LINKS"
-name="FIG-BASIC-NETWORK-COMMANDS-WEB-LINKS"></a>
-<p><b>Figure 13-6. Links, with the file menu open</b></p>
-
-<p><img src="basic-network-commands/links.png" /></p>
-</div>
-</div>
-
-<div class="SECT2">
-<hr />
-<h3 class="SECT2"><a id="AEN4831" name="AEN4831">13.8.3 <tt
-class="COMMAND">wget</tt></a></h3>
-
-<p><tt class="COMMAND">wget</tt>(1) is a command line utility that will download files
-from a specified URL. While not an actual web-browser, <tt class="COMMAND">wget</tt> is
-used primarily to grab whole or partial web sites for offline viewing, or for fast
-download of single files from HTTP or FTP servers instead. The basic syntax is:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">%</samp> <kbd class="USERINPUT">wget &lt;url&gt;</kbd>
-</pre>
-</td>
-</tr>
-</table>
-
-<p>You can also pass options. For example, this will download the Slackware web site:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">%</samp> <kbd
-class="USERINPUT">wget --recursive http://www.slackware.com</kbd>
-</pre>
-</td>
-</tr>
-</table>
-
-<p><tt class="COMMAND">wget</tt> will create a <tt
-class="FILENAME">www.slackware.com</tt> directory and store the files in there, just as
-the site does.</p>
-
-<p><tt class="COMMAND">wget</tt> can also download files from FTP sites; just specify an
-FTP URL instead of an HTTP one.</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">%</samp> <kbd
-class="USERINPUT">wget ftp://ftp.gnu.org/gnu/wget/wget-1.8.2.tar.gz</kbd>
---12:18:16-- ftp://ftp.gnu.org/gnu/wget/wget-1.8.2.tar.gz
- =&#62; `wget-1.8.2.tar.gz'
-Resolving ftp.gnu.org... done.
-Connecting to ftp.gnu.org[199.232.41.7]:21... connected.
-Logging in as anonymous ... Logged in!
-==&#62; SYST ... done. ==&#62; PWD ... done.
-==&#62; TYPE I ... done. ==&#62; CWD /gnu/wget ... done.
-==&#62; PORT ... done. ==&#62; RETR wget-1.8.2.tar.gz ... done.
-Length: 1,154,648 (unauthoritative)
-
-100%[==================================&#62;] 1,154,648 209.55K/s ETA 00:00
-
-12:18:23 (209.55KB/s) - `wget-1.8.2.tar.gz' saved [1154648]
-</pre>
-</td>
-</tr>
-</table>
-
-<p><tt class="COMMAND">wget</tt> has many more options, which make it nice for site
-specific scripts (web site mirroring and so forth). The man page should be consulted for
-more information.</p>
-</div>
-</div>
-
-<div class="SECT1">
-<hr />
-<h2 class="SECT1"><a id="BASIC-NETWORK-COMMANDS-FTP"
-name="BASIC-NETWORK-COMMANDS-FTP">13.9 FTP Clients</a></h2>
-
-<p>FTP stands for the File Transfer Protocol. It allows you to send and receive files
-between two computers. There is the FTP server and the FTP client. We discuss the client
-in this section.</p>
-
-<p>For the curious, the &#8220;client&#8221; is you. The &#8220;server&#8221; is the
-computer that answers your FTP request and lets you login. You will download files from
-and upload files to the server. The client cannot accept FTP connections, it can only
-connect to servers.</p>
-
-<div class="SECT2">
-<hr />
-<h3 class="SECT2"><a id="AEN4871" name="AEN4871">13.9.1 <tt
-class="COMMAND">ftp</tt></a></h3>
-
-<p>To connect to an FTP server, simply run the <tt class="COMMAND">ftp</tt>(1) command
-and specify the host:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">%</samp> <kbd class="USERINPUT">ftp &lt;hostname&gt; [port]</kbd>
-</pre>
-</td>
-</tr>
-</table>
-
-<p>If the host is running an FTP server, it will ask for a username and password. You can
-log in as yourself or as &#8220;anonymous&#8221;. Anonymous FTP sites are very popular
-for software archives. For example, to get Slackware Linux via FTP, you must use
-anonymous FTP.</p>
-
-<p>Once connected, you will be at the <var class="LITERAL">ftp&gt;</var> prompt. There
-are special commands for FTP, but they are similar to other standard commands. The
-following shows some of the basic commands and what they do:</p>
-
-<div class="TABLE"><a id="AEN4883" name="AEN4883"></a>
-<p><b>Table 13-1. <tt class="COMMAND">ftp</tt> commands</b></p>
-
-<table border="0" frame="void" class="CALSTABLE">
-<col width="1*" />
-<col width="3*" />
-<thead>
-<tr>
-<th>Command</th>
-<th>Purpose</th>
-</tr>
-</thead>
-
-<tbody>
-<tr>
-<td><tt class="COMMAND">ls</tt></td>
-<td>List files</td>
-</tr>
-
-<tr>
-<td><tt class="COMMAND">cd &lt;dirname&gt;</tt></td>
-<td>Change directory</td>
-</tr>
-
-<tr>
-<td><tt class="COMMAND">bin</tt></td>
-<td>Set binary transfer mode</td>
-</tr>
-
-<tr>
-<td><tt class="COMMAND">ascii</tt></td>
-<td>Set ASCII transfer mode</td>
-</tr>
-
-<tr>
-<td><tt class="COMMAND">get &lt;filename&gt;</tt></td>
-<td>Download a file</td>
-</tr>
-
-<tr>
-<td><tt class="COMMAND">put &lt;filename&gt;</tt></td>
-<td>Upload a file</td>
-</tr>
-
-<tr>
-<td><tt class="COMMAND">hash</tt></td>
-<td>Toggle hash mark stats indicator</td>
-</tr>
-
-<tr>
-<td><tt class="COMMAND">tick</tt></td>
-<td>Toggle byte counter indicator</td>
-</tr>
-
-<tr>
-<td><tt class="COMMAND">prom</tt></td>
-<td>Toggle interactive mode for downloads</td>
-</tr>
-
-<tr>
-<td><tt class="COMMAND">mget &lt;mask&gt;</tt></td>
-<td>Download a file or group of files; wildcards are allowed</td>
-</tr>
-
-<tr>
-<td><tt class="COMMAND">mput &lt;mask&gt;</tt></td>
-<td>Upload a file or group of files; wildcards are allowed</td>
-</tr>
-
-<tr>
-<td><tt class="COMMAND">quit</tt></td>
-<td>Log off the FTP server</td>
-</tr>
-</tbody>
-</table>
-</div>
-
-<p>You can also use some of the following commands which are quite self-explanatory: <tt
-class="COMMAND">chmod</tt>, <tt class="COMMAND">delete</tt>, <tt
-class="COMMAND">rename</tt>, <tt class="COMMAND">rmdir</tt>. For a complete list of all
-commands and their meaning, just type <kbd class="USERINPUT">help</kbd> or <kbd
-class="USERINPUT">?</kbd> and you'll see a complete listing on screen.</p>
-
-<p>FTP is a fairly simple program to use, but lacks the user interface that many of us
-are used to nowadays. The man page discusses some of the command line options for <tt
-class="COMMAND">ftp</tt>(1).</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-ftp&#62; <kbd class="USERINPUT">ls *.TXT</kbd>
-200 PORT command successful.
-150 Opening ASCII mode data connection for /bin/ls.
--rw-r--r-- 1 root 100 18606 Apr 6 2002 BOOTING.TXT
--rw-r--r-- 1 root 100 10518 Jun 13 2002 COPYRIGHT.TXT
--rw-r--r-- 1 root 100 602 Apr 6 2002 CRYPTO_NOTICE.TXT
--rw-r--r-- 1 root 100 32431 Sep 29 02:56 FAQ.TXT
--rw-r--r-- 1 root 100 499784 Mar 3 19:29 FILELIST.TXT
--rw-r--r-- 1 root 100 241099 Mar 3 19:12 PACKAGES.TXT
--rw-r--r-- 1 root 100 12339 Jun 19 2002 README81.TXT
--rw-r--r-- 1 root 100 14826 Jun 17 2002 SPEAKUP_DOCS.TXT
--rw-r--r-- 1 root 100 15434 Jun 17 2002 SPEAK_INSTALL.TXT
--rw-r--r-- 1 root 100 2876 Jun 17 2002 UPGRADE.TXT
-226 Transfer complete.
-ftp&#62; <kbd class="USERINPUT">tick</kbd>
-Tick counter printing on (10240 bytes/tick increment).
-ftp&#62; <kbd class="USERINPUT">get README81.TXT</kbd>
-local: README81.TXT remote: README81.TXT
-200 PORT command successful.
-150 Opening BINARY mode data connection for README81.TXT (12339 bytes).
-Bytes transferred: 12339
-226 Transfer complete.
-12339 bytes received in 0.208 secs (58 Kbytes/sec)
-</pre>
-</td>
-</tr>
-</table>
-</div>
-
-<div class="SECT2">
-<hr />
-<h3 class="SECT2"><a id="BASIC-NETWORK-COMMANDS-FTP-NCFTP"
-name="BASIC-NETWORK-COMMANDS-FTP-NCFTP">13.9.2 <tt class="COMMAND">ncftp</tt></a></h3>
-
-<p><tt class="COMMAND">ncftp</tt>(1) (pronounced "Nik-F-T-P") is an alternative to the
-traditional ftp client that comes with Slackware. It is still a text-based program, but
-offers many advantages over <tt class="COMMAND">ftp</tt>, including:</p>
-
-<ul>
-<li>
-<p>Tab completion</p>
-</li>
-
-<li>
-<p>Bookmarks file</p>
-</li>
-
-<li>
-<p>More liberal wildcard uses</p>
-</li>
-
-<li>
-<p>Command history</p>
-</li>
-</ul>
-
-<p>By default, <tt class="COMMAND">ncftp</tt> will try to log in anonymously to the
-server you specify. You can force <tt class="COMMAND">ncftp</tt> to present a login
-prompt with the &#8220;<var class="OPTION">-u</var>&#8221; option. Once logged in, you
-can use the same commands as in <tt class="COMMAND">ftp</tt>, only you'll notice a nicer
-interface, one that works more like <tt class="COMMAND">bash</tt>.</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-ncftp /pub/linux/slackware &#62; <kbd class="USERINPUT">cd slackware-current/</kbd>
-Please read the file README81.TXT
- it was last modified on Wed Jun 19 16:24:21 2002 - 258 days ago
-CWD command successful.
-ncftp ...ware/slackware-current &#62; <kbd class="USERINPUT">ls</kbd>
-BOOTING.TXT FAQ.TXT bootdisks/
-CHECKSUMS FILELIST.TXT extra/
-CHECKSUMS.asc GPG-KEY isolinux/
-CHECKSUMS.md5 PACKAGES.TXT kernels/
-CHECKSUMS.md5.asc PRERELEASE_NOTES pasture/
-COPYING README81.TXT rootdisks/
-COPYRIGHT.TXT SPEEKUP_DOCS.TXT slackware/
-CRYPTO_NOTICE.TXT SPEEK_INSTALL.TXT source/
-CURRENT.WARNING Slackware-HOWTO
-ChangeLog.txt UPGRADE.TXT
-ncftp ...ware/slackware-current &#62; <kbd class="USERINPUT">get README81.TXT</kbd>
-README81.TXT: 12.29 kB 307.07 kB/s
-</pre>
-</td>
-</tr>
-</table>
-</div>
-</div>
-
-<div class="SECT1">
-<hr />
-<h2 class="SECT1"><a id="BASIC-NETWORK-COMMANDS-TALK"
-name="BASIC-NETWORK-COMMANDS-TALK">13.10 Talking to Other People</a></h2>
-
-<div class="SECT2">
-<h3 class="SECT2"><a id="AEN4989" name="AEN4989">13.10.1 <tt
-class="COMMAND">wall</tt></a></h3>
-
-<p><tt class="COMMAND">wall</tt>(1) is a quick way to write a message to the users on a
-system. The basic syntax is:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">%</samp> <kbd class="USERINPUT">wall [file]</kbd>
-</pre>
-</td>
-</tr>
-</table>
-
-<p>This will result in the contents of [file] being displayed on the terminals of all
-currently logged in users. If you don't specify a file, wall will read from standard
-input, so you can just type your message, and end with <b class="KEYCAP">Ctrl</b>+<b
-class="KEYCAP">d</b>.</p>
-
-<p><tt class="COMMAND">wall</tt> doesn't have many features, and apart from letting your
-users know that you're about to do some serious maintenance to the system, or even reboot
-it, so they have time to save their work and log off :)</p>
-</div>
-
-<div class="SECT2">
-<hr />
-<h3 class="SECT2"><a id="AEN5006" name="AEN5006">13.10.2 <tt
-class="COMMAND">talk</tt></a></h3>
-
-<p><tt class="COMMAND">talk</tt>(1) allows two users to chat. It splits the screen in
-half, horizontally. To request a chat with another user, use this command:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">%</samp> <kbd class="USERINPUT">talk &lt;person&gt; [ttyname]</kbd>
-</pre>
-</td>
-</tr>
-</table>
-
-<div class="FIGURE"><a id="FIG-BASIC-NETWORK-COMMANDS-TALK-TALK"
-name="FIG-BASIC-NETWORK-COMMANDS-TALK-TALK"></a>
-<p><b>Figure 13-7. Two users in a <tt class="COMMAND">talk</tt> session</b></p>
-
-<p><img src="basic-network-commands/talk.png" /></p>
-</div>
-
-<p>If you specify just a username, the chat request is assumed to be local, so only local
-users are queried. The ttyname is required if you want to ring a user on a specific
-terminal (if the user is logged in more than once). The required information for <tt
-class="COMMAND">talk</tt> can be obtained from the <tt class="COMMAND">w</tt>(1)
-command.</p>
-
-<p><tt class="COMMAND">talk</tt> can also ring users on remote hosts. For the username
-you simply specify an email address. <tt class="COMMAND">talk</tt> will try to contact
-that remote user on that host.</p>
-
-<p><tt class="COMMAND">talk</tt> is somewhat limited. It only supports two users and is
-half-duplex.</p>
-</div>
-
-<div class="SECT2">
-<hr />
-<h3 class="SECT2"><a id="AEN5033" name="AEN5033">13.10.3 <tt
-class="COMMAND">ytalk</tt></a></h3>
-
-<p><tt class="COMMAND">ytalk</tt>(1) is a backwards compatible replacement for <tt
-class="COMMAND">talk</tt>. It comes with Slackware as the <tt class="COMMAND">ytalk</tt>
-command. The syntax is similar, but has a few differences:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">%</samp> <kbd
-class="USERINPUT">ytalk &lt;username&gt;[#ttyname]</kbd>
-</pre>
-</td>
-</tr>
-</table>
-
-<div class="FIGURE"><a id="FIG-BASIC-NETWORK-COMMANDS-TALK-YTALK"
-name="FIG-BASIC-NETWORK-COMMANDS-TALK-YTALK"></a>
-<p><b>Figure 13-8. Two users in a <tt class="COMMAND">ytalk</tt> session</b></p>
-
-<p><img src="basic-network-commands/ytalk.png" /></p>
-</div>
-
-<p>The username and terminal are specified the same as under talk, except you must put
-them together with the hash mark (#).</p>
-
-<p>ytalk offers several advantages:</p>
-
-<ul>
-<li>
-<p>It supports more than two users.</p>
-</li>
-
-<li>
-<p>A menu of options that can be brought up anytime with <kbd
-class="USERINPUT">Esc</kbd>.</p>
-</li>
-
-<li>
-<p>You can shell out while still in the talk session.</p>
-</li>
-
-<li>
-<p>Plus more...</p>
-</li>
-</ul>
-
-<p>If you're a server administrator, you'll want to make sure that the <tt
-class="COMMAND">ntalk</tt> port is enabled in <tt class="FILENAME">/etc/inetd.conf</tt>.
-<tt class="COMMAND">ytalk</tt> needs that to work properly.</p>
-</div>
-</div>
-</div>
-
-<div class="CHAPTER">
-<hr />
-<h1><a id="SECURITY" name="SECURITY"></a>Chapter 14 Security</h1>
-
-<p>Security on any system is important; it can prevent people launching attacks from your
-machine, as well as protect sensitive data. This chapter is all about how to start
-securing your Slackware box against script kiddies, crackers and rogue hamsters alike.
-Bear in mind that this is only the start of securing a system; security is a process, not
-a state.</p>
-
-<div class="SECT1">
-<hr />
-<h2 class="SECT1"><a id="SECURITY-DISABLE" name="SECURITY-DISABLE">14.1 Disabling
-Services</a></h2>
-
-<p>The first step after installing Slackware should be to disable any services you don't
-need. Any services could potentially pose a security risk, so it is important to run as
-few services as possible (i.e. only those that are needed). Services are started from two
-main places - <tt class="COMMAND">inetd</tt> and init scripts.</p>
-
-<div class="SECT2">
-<hr />
-<h3 class="SECT2"><a id="AEN5081" name="AEN5081">14.1.1 Services started from <tt
-class="COMMAND">inetd</tt></a></h3>
-
-<p>A lot of the daemons that come with Slackware are run from <tt
-class="COMMAND">inetd</tt>(8). <tt class="COMMAND">inetd</tt> is a daemon that listens on
-all of the ports used by services configured to be started by it and spawns an instance
-of the relevant daemon when a connection attempt is made. Daemons started from <tt
-class="COMMAND">inetd</tt> can be disabled by commenting out the relevant lines in <tt
-class="FILENAME">/etc/inetd.conf</tt>. To do this, open this file in your favorite editor
-(e.g. <tt class="COMMAND">vi</tt>) and you should see lines similar to this:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="PROGRAMLISTING">
-telnet stream tcp nowait root /usr/sbin/tcpd in.telnetd
-</pre>
-</td>
-</tr>
-</table>
-
-<p>You can disable this service, and any others you don't need, by commenting them out
-(i.e. adding a <var class="LITERAL">#</var> (hash) symbol to the beginning of the line).
-The above line would then become:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="PROGRAMLISTING">
-#telnet stream tcp nowait root /usr/sbin/tcpd in.telnetd
-</pre>
-</td>
-</tr>
-</table>
-
-<p>After <tt class="COMMAND">inetd</tt> has been restarted, this service will be
-disabled. You can restart <tt class="COMMAND">inetd</tt> with the command:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">#</samp> <kbd
-class="USERINPUT">kill -HUP $(cat /var/run/inetd.pid)</kbd>
-</pre>
-</td>
-</tr>
-</table>
-</div>
-
-<div class="SECT2">
-<hr />
-<h3 class="SECT2"><a id="AEN5102" name="AEN5102">14.1.2 Services started from init
-scripts</a></h3>
-
-<p>The rest of the services started when the machine starts are started from the init
-scripts in <tt class="FILENAME">/etc/rc.d/</tt>. These can be disabled in two different
-ways, the first being to remove the execute permissions on the relevant init script and
-the second being to comment out the relevant lines in the init scripts.</p>
-
-<p>For example, SSH is started by its own init script at <tt
-class="FILENAME">/etc/rc.d/rc.sshd</tt>. You can disable this using:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">#</samp> <kbd class="USERINPUT">chmod -x /etc/rc.d/rc.sshd</kbd>
-</pre>
-</td>
-</tr>
-</table>
-
-<p>For services that don't have their own init script, you will need to comment out the
-relevant lines in the init scripts to disable them. For example, the portmap daemon is
-started by the following lines in <tt class="FILENAME">/etc/rc.d/rc.inet2</tt>:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="PROGRAMLISTING">
-# This must be running in order to mount NFS volumes.
-# Start the RPC portmapper:
-if [ -x /sbin/rpc.portmap ]; then
- echo "Starting RPC portmapper: /sbin/rpc.portmap"
- /sbin/rpc.portmap
-fi
-# Done starting the RPC portmapper.
-</pre>
-</td>
-</tr>
-</table>
-
-<p>This can be disabled by adding <var class="LITERAL">#</var> symbols to the beginnings
-of the lines that don't already start with them, like so:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="PROGRAMLISTING">
-# This must be running in order to mount NFS volumes.
-# Start the RPC portmapper:
-#if [ -x /sbin/rpc.portmap ]; then
-# echo "Starting RPC portmapper: /sbin/rpc.portmap"
-# /sbin/rpc.portmap
-#fi
-# Done starting the RPC portmapper.
-</pre>
-</td>
-</tr>
-</table>
-
-<p>These changes will only take effect after either a reboot or changing from and back to
-runlevel 3 or 4. You can do this by typing the following on the console (you will need to
-log in again after changing to runlevel 1):</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">#</samp> <kbd class="USERINPUT">telinit 1</kbd>
-<samp class="PROMPT">#</samp> <kbd class="USERINPUT">telinit 3</kbd>
-</pre>
-</td>
-</tr>
-</table>
-</div>
-</div>
-
-<div class="SECT1">
-<hr />
-<h2 class="SECT1"><a id="SECURITY-HOST" name="SECURITY-HOST">14.2 Host Access
-Control</a></h2>
-
-<div class="SECT2">
-<h3 class="SECT2"><a id="SECURITY-HOST-IPTABLES" name="SECURITY-HOST-IPTABLES">14.2.1 <tt
-class="COMMAND">iptables</tt></a></h3>
-
-<p><tt class="COMMAND">iptables</tt> is the packet filtering configuration program for
-Linux 2.4 and above. The 2.4 kernel (2.4.5, to be exact) was first introduced into
-Slackware (as an option) in version 8.0 and was made the default in Slackware 8.1. This
-section only covers the basics of its usage and you should check <a
-href="http://www.netfilter.org/" target="_top">http://www.netfilter.org/</a> for more
-details. These commands can be entered into <tt
-class="FILENAME">/etc/rc.d/rc.firewall</tt>, which has to be set as executable for these
-rules to take effect at startup. Note that incorrect <tt class="COMMAND">iptables</tt>
-commands can essentially lock you out of your own machine. Unless you are 100% confident
-in your skills, always ensure you have local access to the machine.</p>
-
-<p>The first thing most people should do is set the default policy for each inbound chain
-to DROP:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">#</samp> <kbd class="USERINPUT">iptables -P INPUT DROP</kbd>
-<samp class="PROMPT">#</samp> <kbd class="USERINPUT">iptables -P FORWARD DROP</kbd>
-</pre>
-</td>
-</tr>
-</table>
-
-<p>When everything is denied, you can start allowing things. The first thing to allow is
-any traffic for sessions which are already established:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">#</samp> <kbd
-class="USERINPUT">iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT</kbd>
-</pre>
-</td>
-</tr>
-</table>
-
-<p>So as not to break any applications that communicate using the loopback address, it is
-usually wise to add a rule like this:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">#</samp> <kbd
-class="USERINPUT">iptables -A INPUT -s 127.0.0.0/8 -d 127.0.0.0/8 -i lo -j ACCEPT</kbd>
-</pre>
-</td>
-</tr>
-</table>
-
-<p>This rules allows any traffic to and from 127.0.0.0/8 (127.0.0.0 - 127.255.255.255) on
-the loopback (<tt class="FILENAME">lo</tt>) interface. When creating rules, it is a good
-idea to be as specific as possible, to make sure that your rules do not inadvertently
-allow anything evil. That said, rules that allow too little mean more rules and more
-typing.</p>
-
-<p>The next thing to do would be to allow access to specific services running on your
-machine. If, for example, you wanted to run a web server on your machine, you would use a
-rule similar to this:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">#</samp> <kbd
-class="USERINPUT">iptables -A INPUT -p tcp --dport 80 -i ppp0 -j ACCEPT</kbd>
-</pre>
-</td>
-</tr>
-</table>
-
-<p>This will allow access from any machine to port 80 on your machine via the <tt
-class="FILENAME">ppp0</tt> interface. You may want to restrict access to this service so
-that only certain machines can access it. This rule allows access to your web service
-from <tt class="HOSTID">64.57.102.34</tt>:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">#</samp> <kbd
-class="USERINPUT">iptables -A INPUT -p tcp -s 64.57.102.34 --dport 80 -i ppp0 -j ACCEPT</kbd>
-</pre>
-</td>
-</tr>
-</table>
-
-<p>Allowing ICMP traffic can be useful for diagnostic purposes. To do this, you would use
-a rule like this:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">#</samp> <kbd
-class="USERINPUT">iptables -A INPUT -p icmp -j ACCEPT</kbd>
-</pre>
-</td>
-</tr>
-</table>
-
-<p>Most people will also want to set up Network Address Translation (NAT) on their
-gateway machine, so that other machines on their network can access the Internet through
-it. You would use the following rule to do this:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">#</samp> <kbd
-class="USERINPUT">iptables -t nat -A POSTROUTING -o ppp0 -j MASQUERADE</kbd>
-</pre>
-</td>
-</tr>
-</table>
-
-<p>You will also need to enable IP forwarding. You can do this temporarily, using the
-following command:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">#</samp> <kbd
-class="USERINPUT">echo 1 &#62; /proc/sys/net/ipv4/ip_forward</kbd>
-</pre>
-</td>
-</tr>
-</table>
-
-<p>To enable IP forwarding on a more permanent basis (i.e. so that the change is kept
-after a reboot), you will need to open the file <tt
-class="FILENAME">/etc/rc.d/rc.inet2</tt> in your favorite editor and change the following
-line:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="PROGRAMLISTING">
-IPV4_FORWARD=0
-</pre>
-</td>
-</tr>
-</table>
-
-<p>...to this:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="PROGRAMLISTING">
-IPV4_FORWARD=1
-</pre>
-</td>
-</tr>
-</table>
-
-<p>For more information on NAT, see the <a
-href="http://www.netfilter.org/documentation/HOWTO/NAT-HOWTO.txt" target="_top">NAT
-HOWTO</a>.</p>
-</div>
-
-<div class="SECT2">
-<hr />
-<h3 class="SECT2"><a id="SECURITY-HOST-TCPWRAPPERS"
-name="SECURITY-HOST-TCPWRAPPERS">14.2.2 <tt class="COMMAND">tcpwrappers</tt></a></h3>
-
-<p><tt class="COMMAND">tcpwrappers</tt> controls access to daemons at the application
-level, rather than at the IP level. This can provide an extra layer of security at times
-when IP-level access controls (e.g. Netfilter) are not functioning correctly. For
-example, if you recompile the kernel but forget to include iptables support, your IP
-level protection will fail but tcpwrappers will still help protect your system.</p>
-
-<p>Access to services protected by tcpwrappers can be controlled using <tt
-class="FILENAME">/etc/hosts.allow</tt> and <tt class="FILENAME">/etc/hosts.deny</tt>.</p>
-
-<p>The majority of people would have a single line in their <tt
-class="FILENAME">/etc/hosts.deny</tt> file to deny access to all daemons by default. This
-line would be:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="PROGRAMLISTING">
-ALL : ALL
-</pre>
-</td>
-</tr>
-</table>
-
-<p>When this is done, you can concentrate on allowing access to services for specified
-hosts, domains, or IP ranges. This can be done in the <tt
-class="FILENAME">/etc/hosts.allow</tt> file, which follows the same format.</p>
-
-<p>A lot of people would start by accepting all connections from <tt
-class="HOSTID">localhost</tt>. This can be achieved using:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="PROGRAMLISTING">
-ALL : 127.0.0.1
-</pre>
-</td>
-</tr>
-</table>
-
-<p>To allow access to SSHd from <tt class="HOSTID">192.168.0.0/24</tt>, you could use
-either of the following rules:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="PROGRAMLISTING">
-sshd : 192.168.0.0/24
-sshd : 192.168.0.
-</pre>
-</td>
-</tr>
-</table>
-
-<p>It is also possible to restrict access to hosts in certain domains. This can be done
-using the following rule (note that this relies on the reverse DNS entry for the
-connecting host being trustworthy, so I would recommand against its use on
-Internet-connected hosts):</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="PROGRAMLISTING">
-sshd : .slackware.com
-</pre>
-</td>
-</tr>
-</table>
-</div>
-</div>
-
-<div class="SECT1">
-<hr />
-<h2 class="SECT1"><a id="SECURITY-CURRENT" name="SECURITY-CURRENT">14.3 Keeping
-Current</a></h2>
-
-<div class="SECT2">
-<h3 class="SECT2"><a id="SECURITY-CURRENT-LIST" name="SECURITY-CURRENT-LIST">14.3.1 <var
-class="LITERAL">slackware-security</var> mailing list</a></h3>
-
-<p>Whenever a security problem affects Slackware, an email is sent to all subscribers to
-the <var class="LITERAL">slackware-security@slackware.com</var> mailing list. Reports are
-sent out for vulnerabilities of any part of Slackware, apart from the software in <tt
-class="FILENAME">/extra</tt> or <tt class="FILENAME">/pasture</tt>. These security
-announcement emails include details on obtaining updated versions of Slackware packages
-or work-arounds, if any.</p>
-
-<p>Subscribing to Slackware mailing lists is covered in <a
-href="#HELP-ONLINE-EMAIL">Section 2.2.2</a>.</p>
-</div>
-
-<div class="SECT2">
-<hr />
-<h3 class="SECT2"><a id="SECURITY-CURRENT-PATCHES" name="SECURITY-CURRENT-PATCHES">14.3.2
-The <tt class="FILENAME">/patches</tt> directory</a></h3>
-
-<p>Whenever updated packages are released for a version of Slackware (usually only to fix
-a security problem, in the case of already released Slackware versions), they are placed
-in the <tt class="FILENAME">/patches</tt> directory. The full path to these patches will
-depend on the mirror you are using, but will take the form <tt
-class="FILENAME">/path/to/slackware-x.x/patches/</tt>.</p>
-
-<p>Before installing these packages, it is a good idea to verify the <tt
-class="COMMAND">md5sum</tt> of the package. <tt class="COMMAND">md5sum</tt>(1) is a
-commandline utility that creates a &#8220;unique&#8221; mathematical hash of the file. If
-a single bit of the file has been changed, it will generate a different md5sum value.</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">%</samp> <kbd
-class="USERINPUT">md5sum package-&lt;ver&gt;-&lt;arch&gt;-&lt;rev&gt;.tgz</kbd>
-6341417aa1c025448b53073a1f1d287d package-&lt;ver&gt;-&lt;arch&gt;-&lt;rev&gt;.tgz
-</pre>
-</td>
-</tr>
-</table>
-
-<p>You should then check this against the line for the new package in the <tt
-class="FILENAME">CHECKSUMS.md5</tt> file in the root of the <tt
-class="FILENAME">slackware-<var class="REPLACEABLE">$VERSION</var></tt> directory (also
-in the <tt class="FILENAME">/patches</tt> directory for patches) or in the email to the
-<var class="LITERAL">slackware-security</var> mailing list.</p>
-
-<p>If you have a file with the md5sum values in it, you can source it instead with the
-<var class="OPTION">-c</var> option to <tt class="COMMAND">md5sum</tt>.</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">#</samp> <kbd class="USERINPUT">md5sum -c CHECKSUMS.md5</kbd>
-./ANNOUNCE.10_0: OK
-./BOOTING.TXT: OK
-./COPYING: OK
-./COPYRIGHT.TXT: OK
-./CRYPTO_NOTICE.TXT: OK
-./ChangeLog.txt: OK
-./FAQ.TXT: FAILED
-</pre>
-</td>
-</tr>
-</table>
-
-<p>As you can see, any files that <tt class="COMMAND">md5sum</tt> evaluates as correct
-are listed &#8220;<var class="LITERAL">OK</var>&#8221; while files that fail are labelled
-&#8220;<var class="LITERAL">FAILED</var>&#8221;. (Yes, this was an insult to your
-intelligence. Why do you put up with me?)</p>
-</div>
-</div>
-</div>
-
-<div class="CHAPTER">
-<hr />
-<h1><a id="ARCHIVE-FILES" name="ARCHIVE-FILES"></a>Chapter 15 Archive Files</h1>
-
-<div class="SECT1">
-<h2 class="SECT1"><a id="ARCHIVE-FILES-GZIP" name="ARCHIVE-FILES-GZIP">15.1 <tt
-class="COMMAND">gzip</tt></a></h2>
-
-<p><tt class="COMMAND">gzip</tt>(1) is the GNU compression program. It takes a single
-file and compresses it. The basic usage is as follows:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">%</samp> <kbd class="USERINPUT">gzip <var
-class="REPLACEABLE">filename</var></kbd>
-</pre>
-</td>
-</tr>
-</table>
-
-<p>The resulting file will be named <tt class="FILENAME"><var
-class="REPLACEABLE">filename</var>.gz</tt> and will usually be smaller than the input
-file. Note that <tt class="FILENAME">filename.gz</tt> will replace <tt
-class="FILENAME">filename</tt>. This means that <tt class="FILENAME">filename</tt> will
-no longer exist, even though a gzipped copy will. Regular text files will compress
-nicely, while jpeg images, mp3s, and other such files will not compress too well as they
-are already compressed. This basic usage is a balance of final file size and compression
-time. The maximum compression can be achieved like so:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">%</samp> <kbd class="USERINPUT">gzip -9 <var
-class="REPLACEABLE">filename</var></kbd>
-</pre>
-</td>
-</tr>
-</table>
-
-<p>This will take a longer time to compress the file, but the result will be as small as
-<tt class="COMMAND">gzip</tt> can make it. Using lower values for the command line option
-will cause it to compress faster, but the file will not be as compressed.</p>
-
-<p>Decompressing gzipped files can be done using two commands, which are really just the
-same program. <tt class="COMMAND">gzip</tt> will decompress any file with a recognized
-file extension. A recognized extension can be any of the following: <tt
-class="FILENAME">.gz</tt>, <tt class="FILENAME">-gz</tt>, <tt class="FILENAME">.z</tt>,
-<tt class="FILENAME">-z</tt>, <tt class="FILENAME">.Z</tt>, or <tt
-class="FILENAME">-Z</tt>. The first method is to call <tt class="COMMAND">gunzip</tt>(1)
-on a file, like so:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">%</samp> <kbd class="USERINPUT">gunzip <var
-class="REPLACEABLE">filename.gz</var></kbd>
-</pre>
-</td>
-</tr>
-</table>
-
-<p>This will leave a decompressed version of infile in the current directory, and the <tt
-class="FILENAME">.gz</tt> extension will be stripped from the filename. <tt
-class="COMMAND">gunzip</tt> is really part of <tt class="COMMAND">gzip</tt> and is
-identical to <tt class="COMMAND">gzip -d</tt>. As such, <tt class="COMMAND">gzip</tt> is
-often pronounced <tt class="COMMAND">gunzip</tt>, as that name just sounds cooler.
-:^)</p>
-</div>
-
-<div class="SECT1">
-<hr />
-<h2 class="SECT1"><a id="ARCHIVE-FILES-BZIP2" name="ARCHIVE-FILES-BZIP2">15.2 <tt
-class="COMMAND">bzip2</tt></a></h2>
-
-<p><tt class="COMMAND">bzip2</tt>(1) is an alternative compression program installed on
-Slackware Linux. It uses a different compression algorithm from <tt
-class="COMMAND">gzip</tt>, which results in some advantages and some disadvantages. The
-main advantage for <tt class="COMMAND">bzip2</tt> is the compressed file size. <tt
-class="COMMAND">bzip2</tt> will almost always compress better than <tt
-class="COMMAND">gzip</tt>. In some instances, this can result in dramatically smaller
-files. This can be a great advantage for people on slower modem connections. Also
-remember, when downloading software from a public ftp server, it's generally good
-netiquette to download the <tt class="FILENAME">.bz2</tt> files instead of the <tt
-class="FILENAME">.gz</tt> files, as this results in less overhead for the generous people
-hosting the server.</p>
-
-<p>The disadvantage to <tt class="COMMAND">bzip2</tt> is that it is more CPU intensive
-than <tt class="COMMAND">gzip</tt>. This means that bzipping a file will generally take
-longer and will use more of the CPU than gzipping the file would. When considering which
-compression program to use, you must weigh this speed vs. compressed size and determine
-which is more important.</p>
-
-<p>The usage of <tt class="COMMAND">bzip2</tt> is nearly identical to <tt
-class="COMMAND">gzip</tt>, so not much time will be spent discussing it. Like <tt
-class="COMMAND">gunzip</tt>, <tt class="COMMAND">bunzip2</tt> is identical to <tt
-class="COMMAND">bzip2 -d</tt>. The primary difference in practical usage is that <tt
-class="COMMAND">bzip2</tt> uses the <tt class="FILENAME">.bz2</tt> extension.</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">%</samp> <kbd class="USERINPUT">bzip2 <var
-class="REPLACEABLE">filename</var></kbd>
-<samp class="PROMPT">%</samp> <kbd class="USERINPUT">bunzip2 <var
-class="REPLACEABLE">filename.bz2</var></kbd>
-<samp class="PROMPT">%</samp> <kbd class="USERINPUT">bzip2 -9 <var
-class="REPLACEABLE">filename</var></kbd>
-</pre>
-</td>
-</tr>
-</table>
-</div>
-
-<div class="SECT1">
-<hr />
-<h2 class="SECT1"><a id="ARCHIVE-FILES-TAR" name="ARCHIVE-FILES-TAR">15.3 <tt
-class="COMMAND">tar</tt></a></h2>
-
-<p><tt class="COMMAND">tar</tt>(1) is the GNU tape archiver. It takes several files or
-directories and creates one large file. This allows you to compress an entire directory
-tree, which is impossible by just using <tt class="COMMAND">gzip</tt> or <tt
-class="COMMAND">bzip2</tt>. <tt class="COMMAND">tar</tt> has many command line options,
-which are explained in its man page. This section will just cover the most common uses of
-<tt class="COMMAND">tar</tt>.</p>
-
-<p>The most common use for <tt class="COMMAND">tar</tt> is to decompress and unarchive a
-package that you've downloaded from a web site or ftp site. Most files will come with a
-<tt class="FILENAME">.tar.gz</tt> extension. This is commonly known as a
-&#8220;tarball&#8221;. It means that several files were archived using <tt
-class="COMMAND">tar</tt> and then compressed using <tt class="COMMAND">gzip</tt>. You
-might also see this listed as a <tt class="FILENAME">.tar.Z</tt> file. It means the same
-thing, but this is usually encountered on older Unix systems.</p>
-
-<p>Alternatively, you might find a <tt class="FILENAME">.tar.bz2</tt> file somewhere.
-Kernel source is distributed as such because it is a smaller download. As you might have
-guessed, this is several files archived with <tt class="COMMAND">tar</tt> and then
-bzipped.</p>
-
-<p>You can get to all the files in this archive by making use of <tt
-class="COMMAND">tar</tt> and some command line arguments. Unarchiving a tarball makes use
-of the <var class="OPTION">-z</var> flag, which means to first run the file through <tt
-class="COMMAND">gunzip</tt> and decompress it. The most common way to decompress a
-tarball is like so:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">%</samp> <kbd class="USERINPUT">tar -xvzf filename.tar.gz</kbd>
-</pre>
-</td>
-</tr>
-</table>
-
-<p>That's quite a few options. So what do they all mean? The <var class="OPTION">-x</var>
-means to extract. This is important, as it tells <tt class="COMMAND">tar</tt> exactly
-what to do with the input file. In this case, we'll be splitting it back up into all the
-files that it came from. <var class="OPTION">-v</var> means to be verbose. This will list
-all the files that are being unarchived. It is perfectly acceptable to leave this option
-off, if somewhat boring. Alternatively, you could use <var class="OPTION">-vv</var> to be
-very verbose and list even more information about each file being unarchived. The <var
-class="OPTION">-z</var> option tells <tt class="COMMAND">tar</tt> to run <tt
-class="FILENAME">filename.tar.gz</tt> through <tt class="COMMAND">gunzip</tt> first. And
-finally, the <var class="OPTION">-f</var> option tells <tt class="COMMAND">tar</tt> that
-the next string on the command line is the file to operate on.</p>
-
-<p>There are a few other ways to write this same command. On older systems lacking a
-decent copy of GNU <tt class="COMMAND">tar</tt>, you might see it written like so:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">%</samp> <kbd
-class="USERINPUT">gunzip filename.tar.gz | tar -xvf -</kbd>
-</pre>
-</td>
-</tr>
-</table>
-
-<p>This command line will uncompress the file and send the output to <tt
-class="COMMAND">tar</tt>. Since <tt class="COMMAND">gzip</tt> will write its output to
-standard out if told to do so, this command will write the decompressed file to standard
-out. The pipe then sends it to <tt class="COMMAND">tar</tt> for unarchiving. The
-&#8220;-&#8221; means to operate on standard input. It will unarchive the stream of data
-that it gets from <tt class="COMMAND">gzip</tt> and write that to the disk.</p>
-
-<p>Another way to write the first command line is to leave off the dash before the
-options, like so:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">%</samp> <kbd class="USERINPUT">tar xvzf filename.tar.gz</kbd>
-</pre>
-</td>
-</tr>
-</table>
-
-<p>You might also encounter a bzipped archive. The version of <tt
-class="COMMAND">tar</tt> that comes with Slackware Linux can handle these the same as
-gzipped archives. Instead of the <var class="OPTION">-z</var> command line option, you'd
-use <var class="OPTION">-j</var>:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">%</samp> <kbd class="USERINPUT">tar -xvjf filename.tar.bz2</kbd>
-</pre>
-</td>
-</tr>
-</table>
-
-<p>It is important to note that <tt class="COMMAND">tar</tt> will place the unarchived
-files in the current directory. So, if you had an archive in <tt
-class="FILENAME">/tmp</tt> that you wanted to decompress into your home directory, there
-are a few options. First, the archive could be moved into your home directory and then
-run through <tt class="COMMAND">tar</tt>. Second, you could specify the path to the
-archive file on the command line. Third, you can use the <var class="OPTION">-C</var>
-option to &#8220;explode&#8221; the tarball in a specified directory.</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">%</samp> <kbd class="USERINPUT">cd $HOME</kbd>
-<samp class="PROMPT">%</samp> <kbd class="USERINPUT">cp /tmp/filename.tar.gz .</kbd>
-<samp class="PROMPT">%</samp> <kbd class="USERINPUT">tar -xvzf filename.tar.gz</kbd>
-
-<samp class="PROMPT">%</samp> <kbd class="USERINPUT">cd $HOME</kbd>
-<samp class="PROMPT">%</samp> <kbd class="USERINPUT">tar -xvzf /tmp/filename.tar.gz</kbd>
-
-<samp class="PROMPT">%</samp> <kbd class="USERINPUT">cd /</kbd>
-<samp class="PROMPT">%</samp> <kbd
-class="USERINPUT">tar -xvzf /tmp/filename.tar.gz -C $HOME</kbd>
-</pre>
-</td>
-</tr>
-</table>
-
-<p>All the above statements are equivalent. In each case, the archive is unpacked inside
-your home directory and the original uncompressed archive is left in place.</p>
-
-<p>So what good is being able to uncompress these archives if you can't make them? Well,
-<tt class="COMMAND">tar</tt> handles that too. In most cases it's as easy as removing the
-&#8220;<var class="OPTION">-x</var>&#8221; option and replacing it with the &#8220;<var
-class="OPTION">-c</var>&#8221; option.</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">%</samp> <kbd class="USERINPUT">tar -cvzf filename.tar.gz .</kbd>
-</pre>
-</td>
-</tr>
-</table>
-
-<p>In this command line, the <var class="OPTION">-c</var> option tells <tt
-class="COMMAND">tar</tt> to create an archive, while the <var class="OPTION">-z</var>
-option runs the resulting archive file through <tt class="COMMAND">gzip</tt> to compress
-it. <tt class="FILENAME">filename.tar.gz</tt> is the file that you want to create.</p>
-
-<p>Specifying the &#8220;<var class="OPTION">-f</var>&#8221; option isn't always
-necessary, but is typically good practice anyway. Without it, <tt
-class="COMMAND">tar</tt> writes to standard output, which is usually desired for piping
-<tt class="COMMAND">tar</tt>'s output to another program, like so.</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">%</samp> <kbd
-class="USERINPUT">tar -cv filename.tar . | gpg --encrypt</kbd>
-</pre>
-</td>
-</tr>
-</table>
-
-<p>That command creates an non-compressed tar archive of the current directory, pipes the
-tarball through <tt class="COMMAND">gpg</tt> which encrypts and compresses the tarball,
-making it realistically impossible to read by anyone other than the person knowing the
-secret key.</p>
-</div>
-
-<div class="SECT1">
-<hr />
-<h2 class="SECT1"><a id="ARCHIVE-FILES-ZIP" name="ARCHIVE-FILES-ZIP">15.4 <tt
-class="COMMAND">zip</tt></a></h2>
-
-<p>Finally, there are two utilities that can be used on zip files. These are very common
-in the Windows world, so Linux has programs to deal with them. The compression program is
-called <tt class="COMMAND">zip</tt>(1), and the decompression program is called <tt
-class="COMMAND">unzip</tt>(1).</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">%</samp> <kbd class="USERINPUT">zip foo *</kbd>
-</pre>
-</td>
-</tr>
-</table>
-
-<p>This will create the file <tt class="FILENAME">foo.zip</tt>, which will contain all
-the files in the current directory. <tt class="COMMAND">zip</tt> will add the <tt
-class="FILENAME">.zip</tt> extension automatically, so there's no need to include that in
-the file name. You can also recurse through the current directory, zipping up any
-directories that are also laying around:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">%</samp> <kbd class="USERINPUT">zip -r foo *</kbd>
-</pre>
-</td>
-</tr>
-</table>
-
-<p>Decompressing files is easy, as well.</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">%</samp> <kbd class="USERINPUT">unzip foo.zip</kbd>
-</pre>
-</td>
-</tr>
-</table>
-
-<p>This will extract all the files in the file <tt class="FILENAME">foo.zip</tt>,
-including any directories in the archive.</p>
-
-<p>The <tt class="COMMAND">zip</tt> utilities have several advanced options for creating
-self-extracting archives, leaving out files, controlling compressed file size, printing
-out what will happen, and much more. See the man pages for <tt class="COMMAND">zip</tt>
-and <tt class="COMMAND">unzip</tt> to find out how to use these options.</p>
-</div>
-</div>
-
-<div class="CHAPTER">
-<hr />
-<h1><a id="VI" name="VI"></a>Chapter 16 Vi</h1>
-
-<p><tt class="COMMAND">vi</tt>(1) is the standard Unix text editing program, and while
-mastering it is not as essential as it once was, is still a very rewarding goal. There
-are several versions (or clones) of <tt class="COMMAND">vi</tt> available, including <tt
-class="COMMAND">vi</tt>, <tt class="COMMAND">elvis</tt>, <tt class="COMMAND">vile</tt>,
-and <tt class="COMMAND">vim</tt>. One of these is available on just about any version of
-Unix, as well as on Linux. All of these versions include the same basic feature set and
-commands, so learning one clone should make it easy to learn another. With the variety of
-text editors included with Linux distributions and Unix variants these days, many people
-no longer use <tt class="COMMAND">vi</tt>. Still, it remains the most universal text
-editor across Unix and Unix work-alikes. Mastering <tt class="COMMAND">vi</tt> means you
-should never be sitting at a Unix machine and not be comfortable with at least one
-powerful text editor.</p>
-
-<p><tt class="COMMAND">vi</tt> includes a number of powerful features including syntax
-highlighting, code formatting, a powerful search-and-replace mechanism, macros, and more.
-These features make it especially attractive to programmers, web developers, and the
-like. System administrators will appreciate the automation and integration with the shell
-that is possible.</p>
-
-<p>On Slackware Linux, the default version of <tt class="COMMAND">vi</tt> available is
-<tt class="COMMAND">elvis</tt>. Other versions - including <tt class="COMMAND">vim</tt>
-and <tt class="COMMAND">gvim</tt> - are available if you've installed the proper
-packages. <tt class="COMMAND">gvim</tt> is an X Window version of <tt
-class="COMMAND">vim</tt> that includes toolbars, detachable menus, and dialog boxes.</p>
-
-<div class="SECT1">
-<hr />
-<h2 class="SECT1"><a id="VI-STARTING" name="VI-STARTING">16.1 Starting vi</a></h2>
-
-<p><tt class="COMMAND">vi</tt> can be started from the command line in a variety of ways.
-The simplest form is just:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">%</samp> <kbd class="USERINPUT">vi</kbd>
-</pre>
-</td>
-</tr>
-</table>
-
-<div class="FIGURE"><a id="FIG-VI-VIM-SPLITEDIT" name="FIG-VI-VIM-SPLITEDIT"></a>
-<p><b>Figure 16-1. A vi session.</b></p>
-
-<p><img src="vi/vim-splitedit.png" /></p>
-</div>
-
-<p>This will start up <tt class="COMMAND">vi</tt> with an empty buffer. At this point,
-you'll see a mostly blank screen. It is now in &#8220;command mode&#8221;, waiting for
-you to do something. For a discussion of the various <tt class="COMMAND">vi</tt> modes,
-see the <a href="#VI-MODES">Section 16.2</a>. In order to quit out of <tt
-class="COMMAND">vi</tt>, type the following:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<kbd class="USERINPUT">:q</kbd>
-</pre>
-</td>
-</tr>
-</table>
-
-<p>Assuming that there have been no changes to the file, this will cause <tt
-class="COMMAND">vi</tt> to quit. If there have been changes made, it will warn you that
-there have been changes and tell you how to disregard them. Disregarding changes usually
-means appending an exclamation point after the &#8220;<b class="KEYCAP">q</b>&#8221; like
-so:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<kbd class="USERINPUT">:q!</kbd>
-</pre>
-</td>
-</tr>
-</table>
-
-<p>The exclamation point usually means to force some action. We'll discuss it and other
-key combinations in further details later.</p>
-
-<p>You can also start <tt class="COMMAND">vi</tt> with a pre-existing file. For example,
-the file <tt class="FILENAME">/etc/resolv.conf</tt> would be opened like so:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">%</samp> <kbd class="USERINPUT">vi /etc/resolv.conf</kbd>
-</pre>
-</td>
-</tr>
-</table>
-
-<p>Finally, <tt class="COMMAND">vi</tt> can be started on a particular line of a file.
-This is especially useful for programmers when an error message includes the line their
-program bombed on. For example, you could start up <tt class="COMMAND">vi</tt> on line 47
-of <tt class="FILENAME">/usr/src/linux/init/main.c</tt> like so:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">%</samp> <kbd
-class="USERINPUT">vi +47 /usr/src/linux/init/main.c</kbd>
-</pre>
-</td>
-</tr>
-</table>
-
-<p><tt class="COMMAND">vi</tt> will display the given file and will place the cursor at
-the specified line. In the case where you specify a line that is after the end of the
-file, <tt class="COMMAND">vi</tt> will place the cursor on the last line. This is
-especially helpful for programmers, as they can jump straight to the location in the file
-that an error occurred, without having to search for it.</p>
-</div>
-
-<div class="SECT1">
-<hr />
-<h2 class="SECT1"><a id="VI-MODES" name="VI-MODES">16.2 Modes</a></h2>
-
-<p><tt class="COMMAND">vi</tt> operates in various modes, which are used to accomplish
-various tasks. When you first start <tt class="COMMAND">vi</tt>, you are placed into
-command mode. From this point, you can issue various commands to manipulate text, move
-around in the file, save, quit, and change modes. Editing the text is done in insert
-mode. You can quickly move between modes with a variety of keystrokes, which are
-explained below.</p>
-
-<div class="SECT2">
-<hr />
-<h3 class="SECT2"><a id="VI-MODES-COMMAND-MODE" name="VI-MODES-COMMAND-MODE">16.2.1
-Command Mode</a></h3>
-
-<p>You are first placed into command mode. From this mode, you cannot directly enter text
-or edit what is already there. However, you can manipulate the text, search, quit, save,
-load new files, and more. This is intended only to be an introduction to the command
-mode. For a description of the various commands, see <a href="#VI-KEYS">Section
-16.7</a>.</p>
-
-<p>Probably the most often used command in command mode is changing to insert mode. This
-is accomplished by hitting the <b class="KEYCAP">i</b> key. The cursor changes shapes,
-and <span class="emphasis"><i class="EMPHASIS">-- INSERT --</i></span> is displayed at
-the bottom of the screen (note that this does not happen in all clones of <tt
-class="COMMAND">vi</tt>). From there, all your keystrokes are entered into the current
-buffer and are displayed to the screen. To get back into command mode, hit the <b
-class="KEYCAP">ESCAPE</b> key.</p>
-
-<p>Command mode is also where you move around in the file. On some systems, you can use
-the arrow keys to move around. On other systems, you may need to use the more traditional
-keys of &#8220;<b class="KEYCAP">hjkl</b>&#8221;. Here is a simple listing of how these
-keys are used to move around:</p>
-
-<div class="INFORMALTABLE"><a id="AEN5604" name="AEN5604"></a>
-<table border="0" frame="void" width="100%" class="CALSTABLE">
-<col width="25%" />
-<col width="75%" />
-<tbody>
-<tr>
-<td><b class="KEYCAP">h</b></td>
-<td>move left one character</td>
-</tr>
-
-<tr>
-<td><b class="KEYCAP">j</b></td>
-<td>move down one character</td>
-</tr>
-
-<tr>
-<td><b class="KEYCAP">k</b></td>
-<td>move up one character</td>
-</tr>
-
-<tr>
-<td><b class="KEYCAP">l</b></td>
-<td>move right one character</td>
-</tr>
-</tbody>
-</table>
-</div>
-
-<p>Simply press a key to move. As you will see later, these keys can be combined with a
-number to move much more efficiently.</p>
-
-<p>Many of the commands that you will use in command mode begin with a colon. For
-example, quitting is <b class="KEYCAP">:q</b>, as discussed earlier. The colon simply
-indicates that it is a command, while the &#8220;<b class="KEYCAP">q</b>&#8221; tells <tt
-class="COMMAND">vi</tt> to quit. Other commands are an optional number, followed by a
-letter. These commands do not have a colon before them, and are generally used to
-manipulate the text.</p>
-
-<p>For example, deleting one line from a file is accomplished by hitting <b
-class="KEYCAP">dd</b>. This will remove the line that the cursor is on. Issuing the
-command <b class="KEYCAP">4dd</b> would tell <tt class="COMMAND">vi</tt> to remove the
-line that the cursor is on and the three after that. In general, the number tells <tt
-class="COMMAND">vi</tt> how many times to perform the command.</p>
-
-<p>You can combine a number with the movement keys to move around several characters at a
-time. For example, <b class="KEYCAP">10k</b> would move up ten lines on the screen.</p>
-
-<p>Command mode can also be used to cut and paste, insert text, and read other files into
-the current buffer. Copying text is accomplished with the <b class="KEYCAP">y</b> key (<b
-class="KEYCAP">y</b> stands for yank). Copying the current line is done by typing <b
-class="KEYCAP">yy</b>, and this can be prefixed with a number to yank more lines. Then,
-move to the location for the copy and hit <b class="KEYCAP">p</b>. The text is pasted on
-the line after the current one.</p>
-
-<p>Cutting text is done by typing <b class="KEYCAP">dd</b>, and <b class="KEYCAP">p</b>
-can be used to paste the cut text back into the file. Reading in text from another file
-is a simple procedure. Just type <b class="KEYCAP">:r</b>, followed by a space and the
-file name that contains the text to be inserted. The file's contents will be pasted into
-the current buffer on the line after the cursor. More sophisticated <tt
-class="COMMAND">vi</tt> clones even contain filename completion similar to the
-shell's.</p>
-
-<p>The final use that will be covered is searching. Command mode allows for simple
-searching, as well as complicated search-and-replace commands that make use of a powerful
-version of regular expressions. A complete discussion of regular expressions is beyond
-the scope of this chapter, so this section will only cover simple means of searching.</p>
-
-<p>A simple search is accomplished by hitting the <b class="KEYCAP">/</b> key, followed
-by the text that you are searching for. <tt class="COMMAND">vi</tt> will search forward
-from the cursor to the end of the file for a match, stopping when it finds one. Note that
-inexact matches will cause <tt class="COMMAND">vi</tt> to stop as well. For example, a
-search for &#8220;<span class="emphasis"><i class="EMPHASIS">the</i></span>&#8221; will
-cause <tt class="COMMAND">vi</tt> to stop on &#8220;<span class="emphasis"><i
-class="EMPHASIS">then</i></span>&#8221;, &#8220;<span class="emphasis"><i
-class="EMPHASIS">therefore</i></span>&#8221;, and so on. This is because all of those
-words do match &#8220;<span class="emphasis"><i
-class="EMPHASIS">the</i></span>&#8221;.</p>
-
-<p>After <tt class="COMMAND">vi</tt> has found the first match, you can continue on to
-the next match simply by hitting the <b class="KEYCAP">/</b> key followed by enter. You
-can also search backwards through the file by replacing the slash with the <b
-class="KEYCAP">?</b> key. For example, searching backwards through the file for
-&#8220;<span class="emphasis"><i class="EMPHASIS">the</i></span>&#8221; would be
-accomplished by typing <b class="KEYCAP">?the</b>.</p>
-</div>
-
-<div class="SECT2">
-<hr />
-<h3 class="SECT2"><a id="VI-MODES-INSET-MODE" name="VI-MODES-INSET-MODE">16.2.2 Insert
-Mode</a></h3>
-
-<p>Inserting and replacing text is accomplished in insert mode. As previously discussed,
-you can get into insert mode by hitting <b class="KEYCAP">i</b> from command mode. Then,
-all text that you type is entered into the current buffer. Hitting the <b
-class="KEYCAP">ESCAPE</b> key takes you back into command mode.</p>
-
-<p>Replacing text is accomplished in several ways. From command mode, hitting <b
-class="KEYCAP">r</b> will allow you to replace the one character underneath the cursor.
-Just type the new character and it will replace the one under the cursor. You will then
-be immediately placed back into command mode. Hitting <b class="KEYCAP">R</b> allows you
-to replace as many characters as you'd like. To get out of this replacement mode, just
-hit <b class="KEYCAP">ESCAPE</b> to go back into command mode.</p>
-
-<p>There is yet another way to toggle between insertion and replacement. Hitting the <b
-class="KEYCAP">INSERT</b> key from command mode will take you into insert mode. Once you
-are in insert mode, the keyboard's <b class="KEYCAP">INSERT</b> key serves as a toggle
-between insert and replace. Hitting it once will allow you to replace. Hitting it once
-more will once again allow you to insert text.</p>
-</div>
-</div>
-
-<div class="SECT1">
-<hr />
-<h2 class="SECT1"><a id="VI-OPENING-FILES" name="VI-OPENING-FILES">16.3 Opening
-Files</a></h2>
-
-<p><tt class="COMMAND">vi</tt> allows you to open files from command mode as well as
-specifying a file on the command line to open. To open the file <tt
-class="FILENAME">/etc/lilo.conf</tt>:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<kbd class="USERINPUT">:e /etc/lilo.conf</kbd>
-</pre>
-</td>
-</tr>
-</table>
-
-<p>If you have made changes to the current buffer without saving, <tt
-class="COMMAND">vi</tt> will complain. You can still open the file without saving the
-current buffer by typing <b class="KEYCAP">:e!</b>, followed by a space and the filename.
-In general, <tt class="COMMAND">vi</tt>'s warnings can be suppressed by following the
-command with an exclamation mark.</p>
-
-<p>If you want to reopen the current file, you can do so simply by typing <b
-class="KEYCAP">e!</b>. This is particularly useful if you have somehow messed up the file
-and want to reopen it.</p>
-
-<p>Some <tt class="COMMAND">vi</tt> clones (for example, <tt class="COMMAND">vim</tt>)
-allow for multiple buffers to be open at the same time. For example, to open up the file
-<tt class="FILENAME">09-vi.sgml</tt> in my home directory while another file was open, I
-would type:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<kbd class="USERINPUT">:split ~/09-vi.sgml</kbd>
-</pre>
-</td>
-</tr>
-</table>
-
-<p>The new file is displayed on the top half of the screen, and the old file is displayed
-in the bottom half of the screen. There are a lot of commands that manipulate the split
-screen, and many of these commands start to resemble something out of <tt
-class="COMMAND">Emacs</tt> The best place to look up these commands would be the man page
-for your vi clone. Note that many clones do not support the split-screen idea, so you
-might not be able to use it at all.</p>
-</div>
-
-<div class="SECT1">
-<hr />
-<h2 class="SECT1"><a id="VI-SAVING-FILES" name="VI-SAVING-FILES">16.4 Saving
-Files</a></h2>
-
-<p>There are several ways to save files in <tt class="COMMAND">vi</tt>. If you want to
-save the current buffer to the file <tt class="FILENAME">randomness</tt>, you would
-type:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<kbd class="USERINPUT">:w randomness</kbd>
-</pre>
-</td>
-</tr>
-</table>
-
-<p>Once you've saved the file once, saving it again is as simple as typing <b
-class="KEYCAP">:w</b>. Any changes will be written out to the file. After you've saved
-the file, you are dumped back into command mode. If you want to save the file and quit
-<tt class="COMMAND">vi</tt> (a very common operation), you would type <b
-class="KEYCAP">:wq</b>. That tells <tt class="COMMAND">vi</tt> to save the current file
-and quit back to the shell.</p>
-
-<p>On occasion, you want to save a file that is marked as read-only. You can do this by
-adding an exclamation point after the write command, like so:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<kbd class="USERINPUT">:w!</kbd>
-</pre>
-</td>
-</tr>
-</table>
-
-<p>However, there will still be instances where you cannot write the file (for example,
-you are attempting to edit a file that is owned by another user). When this happens, <tt
-class="COMMAND">vi</tt> will tell you that it cannot save the file. If you really want to
-edit the file, you'll have to come back and edit it as <tt class="USERNAME">root</tt> or
-(preferably) the owner of that file.</p>
-</div>
-
-<div class="SECT1">
-<hr />
-<h2 class="SECT1"><a id="VI-QUITTING-VI" name="VI-QUITTING-VI">16.5 Quitting vi</a></h2>
-
-<p>One way to quit <tt class="COMMAND">vi</tt> is through <b class="KEYCAP">:wq</b>,
-which will save the current buffer before quitting. You can also quit without saving with
-<b class="KEYCAP">:q</b> or (more commonly) <b class="KEYCAP">:q!</b>. The latter is used
-when you've modified the file but do not wish to save any changes to it.</p>
-
-<p>On occasion, your machine might crash or <tt class="COMMAND">vi</tt> might crash.
-However, both <tt class="COMMAND">elvis</tt> and <tt class="COMMAND">vim</tt> will take
-steps to minimize the damage to any open buffers. Both editors save the open buffers to a
-temporary file on occasion. This file is usually named similarly to the open file, but
-with a dot at the beginning. This makes the file hidden.</p>
-
-<p>This temporary file gets removed once the editor quits under normal conditions. This
-means that the temporary copy will still be around if something crashes. When you go back
-to edit the file again, you will be prompted for what action to take. In most cases, a
-large amount of your unsaved work can be recovered. <tt class="COMMAND">elvis</tt> will
-also send you a mail (from Graceland, oddly enough :) telling you that a backup copy
-exists.</p>
-</div>
-
-<div class="SECT1">
-<hr />
-<h2 class="SECT1"><a id="VI-CONFIGURATION" name="VI-CONFIGURATION">16.6 vi
-Configuration</a></h2>
-
-<p>Your <tt class="COMMAND">vi</tt> clone of choice can be configured in several
-ways.</p>
-
-<p>A variety of commands can be entered while in command mode to set up <tt
-class="COMMAND">vi</tt> just how you like it. Depending on your editor, you can enable
-features to make programming easier (like syntax hilighting, auto-indenting, and more),
-set up macros to automake tasks, enable textual substitutions, and more.</p>
-
-<p>Almost all of these commands can be put into a configuration file in your home
-directory. <tt class="COMMAND">elvis</tt> expects a <tt class="FILENAME">.exrc</tt> file,
-while <tt class="COMMAND">vim</tt> expects a <tt class="FILENAME">.vimrc</tt> file. Most
-of the setup commands that can be entered in command mode can be placed in the
-configuration file. This includes setup information, textual substitutions, macros, and
-more.</p>
-
-<p>Discussing all these options and the differences between the editors is quite an
-involved subject. For more information, check out the man page or web site for your
-preferred <tt class="COMMAND">vi</tt> editor. Some editors (like <tt
-class="COMMAND">vim</tt>) have extensive help within the editor that can be accessed with
-the <b class="KEYCAP">:help</b> command, or something similar. You can also check out the
-O'Reilly book <i class="CITETITLE">Learning the <tt class="COMMAND">vi</tt> Editor</i> by
-Lamb and Robbins.</p>
-
-<p>Many common programs in Linux will load up a text file in <tt class="COMMAND">vi</tt>
-by default. For example, editing your crontabs will start up <tt class="COMMAND">vi</tt>
-by default. If you do not like <tt class="COMMAND">vi</tt> and would like another editor
-to be started instead, all you need to do is set the <tt class="ENVAR">VISUAL</tt>
-environment variable to the editor you prefer. For information on setting environment
-variables, see the section called Environment Variables in Chapter 8. If you want to make
-sure that your editor will be the default every time you login, add the VISUAL setting to
-your <tt class="FILENAME">.bash_profile</tt> or <tt class="FILENAME">.bashrc</tt>
-files.</p>
-</div>
-
-<div class="SECT1">
-<hr />
-<h2 class="SECT1"><a id="VI-KEYS" name="VI-KEYS">16.7 Vi Keys</a></h2>
-
-<p>This section is a quick reference of many common <tt class="COMMAND">vi</tt> commands.
-Some of these were discussed earlier in the chapter, while many will be new.</p>
-
-<div class="TABLE"><a id="AEN5773" name="AEN5773"></a>
-<p><b>Table 16-1. Movement</b></p>
-
-<table border="0" frame="void" class="CALSTABLE">
-<col />
-<col />
-<thead>
-<tr>
-<th align="CENTER">Operation</th>
-<th align="CENTER">Key</th>
-</tr>
-</thead>
-
-<tbody>
-<tr>
-<td>left, down, up, right</td>
-<td align="CENTER"><b class="KEYCAP">h</b>, <b class="KEYCAP">j</b>, <b
-class="KEYCAP">k</b>, <b class="KEYCAP">l</b></td>
-</tr>
-
-<tr>
-<td>To the end of the line</td>
-<td align="CENTER"><b class="KEYCAP">$</b></td>
-</tr>
-
-<tr>
-<td>To the beginning of the line</td>
-<td align="CENTER"><b class="KEYCAP">^</b></td>
-</tr>
-
-<tr>
-<td>To the end of the file</td>
-<td align="CENTER"><b class="KEYCAP">G</b></td>
-</tr>
-
-<tr>
-<td>To the beginning of the file</td>
-<td align="CENTER"><b class="KEYCAP">:1</b></td>
-</tr>
-
-<tr>
-<td>To line 47</td>
-<td align="CENTER"><b class="KEYCAP">:47</b></td>
-</tr>
-</tbody>
-</table>
-</div>
-
-<div class="TABLE"><a id="AEN5808" name="AEN5808"></a>
-<p><b>Table 16-2. Editing</b></p>
-
-<table border="0" frame="void" class="CALSTABLE">
-<col />
-<col />
-<thead>
-<tr>
-<th align="CENTER">Operation</th>
-<th align="CENTER">Key</th>
-</tr>
-</thead>
-
-<tbody>
-<tr>
-<td>Removing a line</td>
-<td align="CENTER"><b class="KEYCAP">dd</b></td>
-</tr>
-
-<tr>
-<td>Removing five lines</td>
-<td align="CENTER"><b class="KEYCAP">5dd</b></td>
-</tr>
-
-<tr>
-<td>Replacing a character</td>
-<td align="CENTER"><b class="KEYCAP">r</b></td>
-</tr>
-
-<tr>
-<td>Removing a character</td>
-<td align="CENTER"><b class="KEYCAP">x</b></td>
-</tr>
-
-<tr>
-<td>Removing ten characters</td>
-<td align="CENTER"><b class="KEYCAP">10x</b></td>
-</tr>
-
-<tr>
-<td>Undo last action</td>
-<td align="CENTER"><b class="KEYCAP">u</b></td>
-</tr>
-
-<tr>
-<td>Join current and next lines</td>
-<td align="CENTER"><b class="KEYCAP">J</b></td>
-</tr>
-
-<tr>
-<td>Replace old with new, globally</td>
-<td align="CENTER"><b class="KEYCAP">%s'old'new'g</b></td>
-</tr>
-</tbody>
-</table>
-</div>
-
-<div class="TABLE"><a id="AEN5848" name="AEN5848"></a>
-<p><b>Table 16-3. Searching</b></p>
-
-<table border="0" frame="void" class="CALSTABLE">
-<col />
-<col />
-<thead>
-<tr>
-<th align="CENTER">Operation</th>
-<th align="CENTER">Key</th>
-</tr>
-</thead>
-
-<tbody>
-<tr>
-<td>Search for &#8220;asdf&#8221;</td>
-<td align="CENTER"><b class="KEYCAP">/asdf</b></td>
-</tr>
-
-<tr>
-<td>Search backwards for &#8220;asdf&#8221;</td>
-<td align="CENTER"><b class="KEYCAP">?asdf</b></td>
-</tr>
-
-<tr>
-<td>Repeat last search forwards</td>
-<td align="CENTER"><b class="KEYCAP">/</b></td>
-</tr>
-
-<tr>
-<td>Repeat last search backwards</td>
-<td align="CENTER"><b class="KEYCAP">?</b></td>
-</tr>
-
-<tr>
-<td>Repeat last search, same direction</td>
-<td align="CENTER"><b class="KEYCAP">n</b></td>
-</tr>
-
-<tr>
-<td>Repeat last search, opposite direction</td>
-<td align="CENTER"><b class="KEYCAP">N</b></td>
-</tr>
-</tbody>
-</table>
-</div>
-
-<div class="TABLE"><a id="AEN5882" name="AEN5882"></a>
-<p><b>Table 16-4. Saving and Quitting</b></p>
-
-<table border="0" frame="void" class="CALSTABLE">
-<col />
-<col />
-<thead>
-<tr>
-<th align="CENTER">Operation</th>
-<th align="CENTER">Key</th>
-</tr>
-</thead>
-
-<tbody>
-<tr>
-<td>Quit</td>
-<td align="CENTER"><b class="KEYCAP">:q</b></td>
-</tr>
-
-<tr>
-<td>Quit without saving</td>
-<td align="CENTER"><b class="KEYCAP">:q!</b></td>
-</tr>
-
-<tr>
-<td>Write and quit</td>
-<td align="CENTER"><b class="KEYCAP">:wq</b></td>
-</tr>
-
-<tr>
-<td>Write, without quitting</td>
-<td align="CENTER"><b class="KEYCAP">:w</b></td>
-</tr>
-
-<tr>
-<td>Reload currently open file</td>
-<td align="CENTER"><b class="KEYCAP">:e!</b></td>
-</tr>
-
-<tr>
-<td>Write buffer to file <tt class="FILENAME">asdf</tt></td>
-<td align="CENTER"><b class="KEYCAP">:w asdf</b></td>
-</tr>
-
-<tr>
-<td>Open file <tt class="FILENAME">hejaz</tt></td>
-<td align="CENTER"><b class="KEYCAP">:e hejaz</b></td>
-</tr>
-
-<tr>
-<td>Read file <tt class="FILENAME">asdf</tt> into buffer</td>
-<td align="CENTER"><b class="KEYCAP">:r asdf</b></td>
-</tr>
-
-<tr>
-<td>Read output of <tt class="COMMAND">ls</tt> into buffer</td>
-<td align="CENTER"><b class="KEYCAP">:r !ls</b></td>
-</tr>
-</tbody>
-</table>
-</div>
-</div>
-</div>
-
-<div class="CHAPTER">
-<hr />
-<h1><a id="EMACS" name="EMACS"></a>Chapter 17 Emacs</h1>
-
-<p>While <tt class="COMMAND">vi</tt> (with its clones) is without a doubt the most
-ubiquitous editor on Unix-like systems, Emacs comes in a good second. Instead of using
-different &#8220;modes&#8221;, like <tt class="COMMAND">vi</tt> does, it uses <b
-class="KEYCAP">Control</b> and <b class="KEYCAP">Alt</b> key combinations to enter
-commands, in much the same way that you can use <b class="KEYCAP">Control</b> and <b
-class="KEYCAP">Alt</b> key combinations in a word processor and indeed in many other
-applications to execute certain functions. (Though it should be noted that the commands
-rarely correspond; so while many modern applications use <b class="KEYCAP">Ctrl</b>-<b
-class="KEYCAP">C</b>/ <b class="KEYCAP">X</b>/ <b class="KEYCAP">V</b> for copying,
-cutting and pasting, Emacs uses different keys and actually a somewhat different
-mechanism for this.)</p>
-
-<p>Also unlike <tt class="COMMAND">vi</tt>, which is an (excellent) editor and nothing
-more, Emacs is a program with near endless capabilities. Emacs is (for the most part)
-written in Lisp, which is a very powerful programming language that has the peculiar
-property that every program written in it is automatically a Lisp compiler of its own.
-This means that the user can extend Emacs, and in fact write completely new programs
-&#8220;in Emacs&#8221;.</p>
-
-<p>As a result, Emacs is not just an editor anymore. There are many add-on packages for
-Emacs available (many come with the program's source) that provide all sorts of
-functionality. Many of these are related to text editing, which is after all Emacs' basic
-task, but it doesn't stop there. There are for example several spreadsheet programs for
-Emacs, there are databases, games, mail and news clients (the top one being Gnus),
-etc.</p>
-
-<p>There are two main versions of Emacs: GNU Emacs (which is the version that comes with
-Slackware) and XEmacs. The latter is <span class="emphasis"><i
-class="EMPHASIS">not</i></span> a version for Emacs running under X. In fact, both Emacs
-and XEmacs run on the console as well as under X. XEmacs was once started as a project to
-tidy up the Emacs code. Currently, both versions are being actively developed, and there
-is in fact much interaction between the two development teams. For the present chapter,
-it is immaterial whether you use Emacs or XEmacs, the differences between them are not
-relevant to the normal user.</p>
-
-<div class="SECT1">
-<hr />
-<h2 class="SECT1"><a id="EMACS-STARTING" name="EMACS-STARTING">17.1 Starting
-emacs</a></h2>
-
-<p>Emacs can be started from the shell by simply typing <tt class="COMMAND">emacs</tt>.
-When you are running X, Emacs will (normally) come up with its own X window, usually with
-a menu bar at the top, where you can find the most important functions. On startup, Emacs
-will first show a welcome message, and then after a few seconds will drop you in the
-*scratch* buffer. (See <a href="#EMACS-BUFFERS">Section 17.2</a>.)</p>
-
-<div class="INFORMALFIGURE"><a id="AEN5971" name="AEN5971"></a>
-<p><img src="emacs/emacs.png" /></p>
-</div>
-
-<p>You can also start Emacs on an existing file by typing</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">%</samp> <kbd class="USERINPUT">emacs /etc/resolv.conf</kbd>
-</pre>
-</td>
-</tr>
-</table>
-
-<p>This will cause Emacs to load the specified file when it starts up, skipping the
-welcome message.</p>
-
-<div class="SECT2">
-<hr />
-<h3 class="SECT2"><a id="EMACS-COMMAND-KEYS" name="EMACS-COMMAND-KEYS">17.1.1 Command
-Keys</a></h3>
-
-<p>As mentioned above, Emacs uses <b class="KEYCAP">Control</b> and <b
-class="KEYCAP">Alt</b> combinations for commands. The usual convention is to write these
-with <b class="KEYCAP">C</b>-<b class="KEYCAP">letter</b> and <b class="KEYCAP">M</b>-<b
-class="KEYCAP">letter</b>, respectively. So <b class="KEYCAP">C</b>-<b
-class="KEYCAP">x</b> means <b class="KEYCAP">Control</b>+<b class="KEYCAP">x</b>, and <b
-class="KEYCAP">M</b>-<b class="KEYCAP">x</b> means <b class="KEYCAP">Alt</b>+<b
-class="KEYCAP">x</b>. (The letter <b class="KEYCAP">M</b> is used instead of A because
-originally the key was not the <b class="KEYCAP">Alt</b> key but the <b
-class="KEYCAP">Meta</b> key. The <b class="KEYCAP">Meta</b> key has all but disappeared
-from computer keyboards, and in Emacs the <b class="KEYCAP">Alt</b> key has taken over
-its function.)</p>
-
-<p>Many Emacs commands consist of sequences of keys and key combinations. For example, <b
-class="KEYCAP">C</b>-<b class="KEYCAP">x</b> <b class="KEYCAP">C</b>-<b
-class="KEYCAP">c</b> (that is <b class="KEYCAP">Control</b>-<b class="KEYCAP">x</b>
-followed by <b class="KEYCAP">Control</b>-<b class="KEYCAP">c</b> ) quits Emacs, <b
-class="KEYCAP">C</b>-<b class="KEYCAP">x</b> <b class="KEYCAP">C</b>-<b
-class="KEYCAP">s</b> saves the current file. Keep in mind that <b class="KEYCAP">C</b>-<b
-class="KEYCAP">x</b> <b class="KEYCAP">C</b>-<b class="KEYCAP">b</b> is <span
-class="emphasis"><i class="EMPHASIS">not</i></span> the same as <b
-class="KEYCAP">C</b>-<b class="KEYCAP">x</b> <b class="KEYCAP">b</b>. The former means <b
-class="KEYCAP">Control</b>-<b class="KEYCAP">x</b> followed by <b
-class="KEYCAP">Control</b>-<b class="KEYCAP">b</b>, while the latter means <b
-class="KEYCAP">Control</b>-<b class="KEYCAP">x</b> followed by just '<b
-class="KEYCAP">b</b>'.</p>
-</div>
-</div>
-
-<div class="SECT1">
-<hr />
-<h2 class="SECT1"><a id="EMACS-BUFFERS" name="EMACS-BUFFERS">17.2 Buffers</a></h2>
-
-<p>In Emacs, the concept of &#8220;buffers&#8221; is essential. Every file that you open
-is loaded into its own buffer. Furthermore, Emacs has several special buffers, which do
-not contain a file but are used for other things. Such special buffers usually have a
-name that starts and ends with an asterisk. For example, the buffer that Emacs shows when
-it is first started, is the so-called *scratch* buffer. In the *scratch* buffer, you can
-type text in the normal way, but text that is typed there is not saved when Emacs is
-closed.</p>
-
-<p>There is one other special buffer you need to know about, and that is the minibuffer.
-This buffer consists of only one line, and is always on the screen: it is the very last
-line of the Emacs window, below the status bar for the current buffer. The minibuffer is
-where Emacs shows messages for the user, and it is also the place where commands that
-require some user input are executed. For example, when you open a file, Emacs will ask
-for its name in the minibuffer.</p>
-
-<p>Switching from one buffer to another can be done with the command <b
-class="KEYCAP">C</b>-<b class="KEYCAP">x</b> <b class="KEYCAP">b</b>. This will prompt
-you for the name of a buffer (a buffer's name is usually the name of the file you are
-editing in it), and it gives a default choice, which is normally the buffer that you were
-in before you switched to or created the current buffer. Just hitting <span
-class="emphasis"><i class="EMPHASIS">Enter</i></span> will switch to that default
-buffer.</p>
-
-<p>If you want to switch to another buffer than the default offered by Emacs, just type
-its name. Note that you can use so-called <b class="KEYCAP">Tab</b>-completion here: type
-the first few letters of the buffer's name and hit <b class="KEYCAP">Tab</b>; Emacs will
-then complete the name of the buffer. <b class="KEYCAP">Tab</b> completion works
-everywhere in Emacs where it makes sense.</p>
-
-<p>You can get a list of open buffers by hitting <b class="KEYCAP">C</b>-<b
-class="KEYCAP">x</b> <b class="KEYCAP">C</b>-<b class="KEYCAP">b</b>. This command will
-usually split the screen in two, displaying the buffer you were working in in the top
-half, and a new buffer called *Buffer List* in the bottom half. This buffer contains a
-list of all the buffers, their sizes and modes, and the files, if any, that those buffers
-are visiting (as it is called in Emacs). You can get rid of this split screen by typing
-<b class="KEYCAP">C</b>-<b class="KEYCAP">x</b> <b class="KEYCAP">1</b>.</p>
-
-<div class="NOTE">
-<table class="NOTE" width="100%" border="0">
-<tr>
-<td width="25" align="CENTER" valign="TOP"><img src="./imagelib/admon/note.png"
-hspace="5" alt="Note" /></td>
-<td align="LEFT" valign="TOP">
-<p>Under X, the list of buffers is also available in the Buffer menu in the menu bar.</p>
-</td>
-</tr>
-</table>
-</div>
-</div>
-
-<div class="SECT1">
-<hr />
-<h2 class="SECT1"><a id="EMACS-MODES" name="EMACS-MODES">17.3 Modes</a></h2>
-
-<p>Every buffer in Emacs has an associated mode. This mode is very different from the
-idea of modes in <tt class="COMMAND">vi</tt>: a mode tells you what kind of buffer you
-are in. For example, there is text-mode for normal text files, but there are also modes
-such as c-mode for editing C programs, sh-mode for editing shell scripts, latex-mode for
-editing <b class="APPLICATION">LaTeX</b> files, mail-mode for editing email and news
-messages, etc. A mode provides special customizations and functionality that is useful
-for the kind of file you are editing. It is even possible for a mode to redefine keys and
-key commands. For example, in Text mode, the Tab key simply jumps to the next tab stop,
-but in many programming language modes, the <b class="KEYCAP">Tab</b> key indents the
-current line according to the depth of the block that line is in.</p>
-
-<p>The modes mentioned above are called major modes. Each buffer has exactly one major
-mode. Additionally, a buffer can have one or more minor modes. A minor mode provides
-additional features that may be useful for certain editing tasks. For example, if you hit
-the <b class="KEYCAP">INSERT</b> key, you invoke overwrite-mode, which does what you'd
-expect. There is also an auto-fill-mode, which is handy in combination with text-mode or
-latex-mode: it causes each line that you type to be automatically wrapped once the line
-reaches a certain number of characters. Without auto-fill-mode, you have to type <b
-class="KEYCAP">M</b>-<b class="KEYCAP">q</b> to fill out a paragraph. (Which you can also
-use to reformat a paragraph after you've edited some text in it and it is no longer
-nicely filled out.)</p>
-
-<div class="SECT2">
-<hr />
-<h3 class="SECT2"><a id="EMACS-OPENING-FILES" name="EMACS-OPENING-FILES">17.3.1 Opening
-files</a></h3>
-
-<p>To open a file in Emacs, type</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<kbd class="USERINPUT">C-x C-f</kbd>
-</pre>
-</td>
-</tr>
-</table>
-
-<p>Emacs will ask you for the name of the file, filling in some default path for you
-(which is usually <tt class="FILENAME">~/</tt> ). After you type the filename (you can
-use <b class="KEYCAP">Tab</b> completion) and hit <b class="KEYCAP">ENTER</b> , Emacs
-will open the file in a new buffer and display that buffer on the screen.</p>
-
-<div class="NOTE">
-<table class="NOTE" width="100%" border="0">
-<tr>
-<td width="25" align="CENTER" valign="TOP"><img src="./imagelib/admon/note.png"
-hspace="5" alt="Note" /></td>
-<td align="LEFT" valign="TOP">
-<p>Emacs will automatically create a new buffer, it will not load the file into the
-current buffer.</p>
-</td>
-</tr>
-</table>
-</div>
-
-<p>In order to create a new file in emacs, you cannot just go typing right away. You
-first have to create a buffer for it, and come up with a filename. You do this by typing
-<b class="KEYCAP">C</b>-<b class="KEYCAP">x</b> <b class="KEYCAP">C</b>-<b
-class="KEYCAP">f</b> and typing a filename, just as if you were opening an existing file.
-Emacs will notice that the file you typed doesn't exist, and will create a new buffer and
-report &#8220;(New file)&#8221; in the minibuffer.</p>
-
-<p>When you type <b class="KEYCAP">C</b>-<b class="KEYCAP">x</b> <b
-class="KEYCAP">C</b>-<b class="KEYCAP">f</b> and then enter a directory name instead of a
-filename, Emacs will create a new buffer in which you will find a list of all the files
-in that directory. You can move the cursor to the file that you are looking for and type
-, and Emacs will open it. (There are in fact a lot more actions you can perform here,
-such as deleting, renaming and moving files, etc. Emacs is now in dired-mode, which is
-basically a simple file manager.)</p>
-
-<p>When you have typed <b class="KEYCAP">C</b>-<b class="KEYCAP">x</b> <b
-class="KEYCAP">C</b>-<b class="KEYCAP">f</b> and suddenly change your mind, you can type
-<b class="KEYCAP">C</b>-<b class="KEYCAP">g</b> to cancel the action. <b
-class="KEYCAP">C</b>-<b class="KEYCAP">g</b> works almost everywhere where you want to
-cancel an action or command that you've started but don't want to finish.</p>
-</div>
-</div>
-
-<div class="SECT1">
-<hr />
-<h2 class="SECT1"><a id="EMACS-BASIC-EDITING" name="EMACS-BASIC-EDITING">17.4 Basic
-Editing</a></h2>
-
-<p>When you have opened a file, you can of course move around in it with the cursor. The
-<b class="KEYCAP">cursor keys</b> and <b class="KEYCAP">PgUp</b>, <b
-class="KEYCAP">PgDn</b> do what you'd expect. <b class="KEYCAP">Home</b> and <b
-class="KEYCAP">End</b> jump to the beginning and end of the line. (In older versions,
-they would actually jump to the beginning and end of the buffer.) However, there are also
-<b class="KEYCAP">Control</b> and <b class="KEYCAP">Meta</b> (<b class="KEYCAP">Alt</b>)
-key combos that move the cursor around. Because you do not need to move your hands to
-another part of the keyboard for these, they are much quicker once you get used to them.
-The most important such commands are listed in <a href="#TABLE-EMACS-BASIC-EDITING">Table
-17-1</a>.</p>
-
-<div class="TABLE"><a id="TABLE-EMACS-BASIC-EDITING"
-name="TABLE-EMACS-BASIC-EDITING"></a>
-<p><b>Table 17-1. Basic Emacs Editing Commands</b></p>
-
-<table border="0" frame="void" width="100%" class="CALSTABLE">
-<col width="25%" />
-<col width="75%" />
-<thead>
-<tr>
-<th>Command</th>
-<th>Result</th>
-</tr>
-</thead>
-
-<tbody>
-<tr>
-<td><b class="KEYCAP">C</b>-<b class="KEYCAP">b</b> </td>
-<td>go one character back</td>
-</tr>
-
-<tr>
-<td><b class="KEYCAP">C</b>-<b class="KEYCAP">f</b> </td>
-<td>go one character forward</td>
-</tr>
-
-<tr>
-<td><b class="KEYCAP">C</b>-<b class="KEYCAP">n</b> </td>
-<td>go one line down</td>
-</tr>
-
-<tr>
-<td><b class="KEYCAP">C</b>-<b class="KEYCAP">p</b> </td>
-<td>go one line up</td>
-</tr>
-
-<tr>
-<td><b class="KEYCAP">C</b>-<b class="KEYCAP">a</b> </td>
-<td>go to the beginning of the line</td>
-</tr>
-
-<tr>
-<td><b class="KEYCAP">C</b>-<b class="KEYCAP">e</b> </td>
-<td>go to the end of the line</td>
-</tr>
-
-<tr>
-<td><b class="KEYCAP">M</b>-<b class="KEYCAP">b</b> </td>
-<td>go one word back</td>
-</tr>
-
-<tr>
-<td><b class="KEYCAP">M</b>-<b class="KEYCAP">f</b> </td>
-<td>go one word forward</td>
-</tr>
-
-<tr>
-<td><b class="KEYCAP">M</b>-<b class="KEYCAP">}</b> </td>
-<td>go one paragraph forward</td>
-</tr>
-
-<tr>
-<td><b class="KEYCAP">M</b>-<b class="KEYCAP">{</b> </td>
-<td>go one paragraph backward</td>
-</tr>
-
-<tr>
-<td><b class="KEYCAP">M</b>-<b class="KEYCAP">a</b> </td>
-<td>go one sentence backward</td>
-</tr>
-
-<tr>
-<td><b class="KEYCAP">M</b>-<b class="KEYCAP">e</b> </td>
-<td>go one sentence forward</td>
-</tr>
-
-<tr>
-<td><b class="KEYCAP">C</b>-<b class="KEYCAP">d</b> </td>
-<td>delete the character under the cursor</td>
-</tr>
-
-<tr>
-<td><b class="KEYCAP">M</b>-<b class="KEYCAP">d</b> </td>
-<td>delete until the end of the current word</td>
-</tr>
-
-<tr>
-<td><b class="KEYCAP">C</b>-<b class="KEYCAP">v</b> </td>
-<td>go down one screen (i.e., PgDn)</td>
-</tr>
-
-<tr>
-<td><b class="KEYCAP">M</b>-<b class="KEYCAP">v</b> </td>
-<td>go up one screen (i.e., PgUp)</td>
-</tr>
-
-<tr>
-<td><b class="KEYCAP">M</b>-<b class="KEYCAP">&lt;</b> </td>
-<td>go to the beginning of the buffer</td>
-</tr>
-
-<tr>
-<td><b class="KEYCAP">M</b>-<b class="KEYCAP">&gt;</b> </td>
-<td>go to the end of the buffer</td>
-</tr>
-
-<tr>
-<td><b class="KEYCAP">C</b>-<b class="KEYCAP">_</b> </td>
-<td>undo the last change (can be repeated); note that you actually have to type <b
-class="KEYCAP">Shift</b>+<b class="KEYCAP">Control</b>+<b class="KEYCAP">hyphen</b> for
-this.</td>
-</tr>
-
-<tr>
-<td><b class="KEYCAP">C</b>-<b class="KEYCAP">k</b> </td>
-<td>delete to end of line</td>
-</tr>
-
-<tr>
-<td><b class="KEYCAP">C</b>-<b class="KEYCAP">s</b> </td>
-<td>forward search</td>
-</tr>
-
-<tr>
-<td><b class="KEYCAP">C</b>-<b class="KEYCAP">r</b> </td>
-<td>backward search</td>
-</tr>
-</tbody>
-</table>
-</div>
-
-<p>Note that many <b class="KEYCAP">Meta</b> commands are parallel to the <b
-class="KEYCAP">Control</b> commands except that they operate on larger units: while <b
-class="KEYCAP">C</b>-<b class="KEYCAP">f</b> goes forward one character, <b
-class="KEYCAP">M</b>-<b class="KEYCAP">f</b> goes forward an entire word, etc.</p>
-
-<p>Also note that <b class="KEYCAP">M</b>-<b class="KEYCAP">&lt;</b> and <b
-class="KEYCAP">M</b>-<b class="KEYCAP">&gt;</b> require you to type <b
-class="KEYCAP">Shift</b>+<b class="KEYCAP">Alt</b>+<b class="KEYCAP">comma</b> and <b
-class="KEYCAP">Shift</b>+<b class="KEYCAP">Alt</b>+<b class="KEYCAP">dot</b>
-respectively, since <b class="KEYCAP">&lt;</b> and <b class="KEYCAP">&gt;</b> are on <b
-class="KEYCAP">Shift</b>+<b class="KEYCAP">comma</b> and <b class="KEYCAP">Shift</b>+<b
-class="KEYCAP">dot</b>. (Unless of course you have a different keyboard layout from the
-standard US layout.)</p>
-
-<p>Note that <b class="KEYCAP">C</b>-<b class="KEYCAP">k</b> deletes (kills, as it is
-commonly called) all the text after the cursor to the end of the line, but doesn't delete
-the line itself (i.e., it doesn't delete the final newline). It only deletes the line if
-there was no text after the cursor. In other words, in order to delete a complete line,
-you have to put the cursor at the beginning of the line, and then hit <b
-class="KEYCAP">C</b>-<b class="KEYCAP">k</b> twice: once to delete the text on the line,
-once to delete the line itself.</p>
-</div>
-
-<div class="SECT1">
-<hr />
-<h2 class="SECT1"><a id="EMACS-SAVING-FILES" name="EMACS-SAVING-FILES">17.5 Saving
-Files</a></h2>
-
-<p>In order to save a file, you type</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<kbd class="USERINPUT">C-x C-s</kbd>
-</pre>
-</td>
-</tr>
-</table>
-
-<p>Emacs will not ask you for a filename, the buffer will just be saved to the file it
-was loaded from. If you want to save your text to another file, type</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<kbd class="USERINPUT">C-x C-w</kbd>
-</pre>
-</td>
-</tr>
-</table>
-
-<p>When you save the file for the first time in this session, Emacs will normally save
-the old version of your file to a backup file, which has the same name appended with a
-tilde: so if you're editing a file &#8220;<tt class="FILENAME">cars.txt</tt>&#8221;,
-Emacs will create a backup &#8220;<tt class="FILENAME">cars.txt~</tt>&#8221;.</p>
-
-<p>This backup file is a copy of the file that you opened. While you are working, Emacs
-will also regularly create an auto-save copy of the work you are doing, to a file named
-with hash signs: <tt class="FILENAME">#cars.txt#</tt>. This backup is deleted when you
-save the file with C-x C-s.</p>
-
-<p>When you are done editing a file, you can kill the buffer that holds it by typing</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<kbd class="USERINPUT">C-x k</kbd>
-</pre>
-</td>
-</tr>
-</table>
-
-<p>Emacs will then ask you which buffer you want to kill, with the current buffer as
-default, which you can select by hitting <b class="KEYCAP">ENTER</b>. If you haven't
-saved your file yet, Emacs will ask you if you really want to kill the buffer.</p>
-
-<div class="SECT2">
-<hr />
-<h3 class="SECT2"><a id="EMACS-QUITING" name="EMACS-QUITING">17.5.1 Quitting
-Emacs</a></h3>
-
-<p>When you are done with Emacs altogether, you can type</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<kbd class="USERINPUT">C-x C-c</kbd>
-</pre>
-</td>
-</tr>
-</table>
-
-<p>This quits Emacs. If you have any unsaved files, Emacs will tell you so, and ask if
-you want to save them each in turn. If you answer no to any of these, Emacs will ask for
-one final confirmation and then quit.</p>
-</div>
-</div>
-</div>
-
-<div class="CHAPTER">
-<hr />
-<h1><a id="PACKAGE-MANAGEMENT" name="PACKAGE-MANAGEMENT"></a>Chapter 18 Slackware Package
-Management</h1>
-
-<p>A software package is a bundle of related programs that are ready for you to install.
-When you download a source code archive, you have to configure, compile, and install it
-by hand. With a software package, this has already been done for you. All that you have
-to do is install the package. Another handy feature of using software packages is that it
-is very easy to remove and upgrade them, if you so desire. Slackware comes with programs
-for all your package management needs. You can install, remove, upgrade, make, and
-examine packages very easily.</p>
-
-<p>There's a myth that's been going around ever since RedHat debuted RedHat Package
-Manager, that Slackware has no package management tool. This simply couldn't be further
-from the truth. Slackware has always included a package manager, even before RedHat
-existed. While not as full-featured or as ubiquitous as rpm (or for that matter deb), <tt
-class="COMMAND">pkgtool</tt> and its associated programs are every bit as good at
-installing packages as rpm. The truth about <tt class="COMMAND">pkgtool</tt> is not that
-it doesn't exist, but that it doesn't do any dependency checking.</p>
-
-<p>Apparently many people in the Linux community think that a packager manager must by
-definition include dependency checking. Well, that simply isn't the case, as Slackware
-most certainly does not. This is not to say that Slackware packages don't have
-dependencies, but rather that its package manager doesn't check for them. Dependency
-management is left up to the sysadmin, and that's the way we like it.</p>
-
-<div class="SECT1">
-<hr />
-<h2 class="SECT1"><a id="PACKAGE-MANAGEMENT-OVERVIEW"
-name="PACKAGE-MANAGEMENT-OVERVIEW">18.1 Overview of Package Format</a></h2>
-
-<p>Before learning the utilities, you should become familiar with the format of a
-Slackware package. In Slackware, a package is simply a tar archive file that has been
-compressed with <tt class="COMMAND">gzip</tt>. Packages are built to be extracted in the
-root directory.</p>
-
-<p>Here is a fictitious program and its example package:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-./
-usr/
-usr/bin/
-usr/bin/makehejaz
-usr/doc/
-usr/doc/makehejaz-1.0/
-usr/doc/makehejaz-1.0/COPYING
-usr/doc/makehejaz-1.0/README
-usr/man/
-usr/man/man1
-usr/man/man1/makehejaz.1.gz
-install/
-install/doinst.sh
-</pre>
-</td>
-</tr>
-</table>
-
-<p>The package system will extract this file in the root directory to install it. An
-entry in the package database will be created that contains the contents of this package
-so that it can be upgraded or removed later.</p>
-
-<p>Notice the <tt class="FILENAME">install/</tt> subdirectory. This is a special
-directory that can contain a postinstallation script called <tt
-class="FILENAME">doinst.sh</tt>. If the package system finds this file, it will execute
-it after installing the package.</p>
-
-<p>Other scripts can be embedded in the package, but those are discussed more in detail
-in <a href="#PACKAGE-MANAGEMENT-MAKEPKG">Section 18.3.2</a> below.</p>
-</div>
-
-<div class="SECT1">
-<hr />
-<h2 class="SECT1"><a id="PACKAGE-MANAGEMENT-PACKAGE-UTILITIES"
-name="PACKAGE-MANAGEMENT-PACKAGE-UTILITIES">18.2 Package Utilities</a></h2>
-
-<p>There are four main utilities for package management. They perform installation,
-removal, and upgrades of packages.</p>
-
-<div class="SECT2">
-<hr />
-<h3 class="SECT2"><a id="PACKAGE-MANAGEMENT-PACKAGE-UTILITIES-PKGTOOL"
-name="PACKAGE-MANAGEMENT-PACKAGE-UTILITIES-PKGTOOL">18.2.1 pkgtool</a></h3>
-
-<p><tt class="COMMAND">pkgtool</tt>(8) is a menu-driven program that allows installation
-and removal of packages. The main menu is shown in <a href="#PKGTOOL-MAIN-MENU">Figure
-18-1</a>.</p>
-
-<div class="FIGURE"><a id="PKGTOOL-MAIN-MENU" name="PKGTOOL-MAIN-MENU"></a>
-<p><b>Figure 18-1. Pkgtool's main menu.</b></p>
-
-<p><img src="package-management/pkgtool-w.png" /></p>
-</div>
-
-<p>Installation is offered from the current directory, another directory, or from floppy
-disks. Simply select the installation method you want and pkgtool will search that
-location for valid packages to install.</p>
-
-<p>You may also view a list of installed packages, as shown in <a
-href="#PKGTOOL-VIEW-MODE">Figure 18-2</a>.</p>
-
-<div class="FIGURE"><a id="PKGTOOL-VIEW-MODE" name="PKGTOOL-VIEW-MODE"></a>
-<p><b>Figure 18-2. Pkgtool view mode</b></p>
-
-<p><img src="package-management/pkgtool-view-w.png" /></p>
-</div>
-
-<p>If you want to remove packages, select the remove option and you will be presented
-with a checklist of all the installed packages. Flag the ones you want to remove and
-select OK. <tt class="COMMAND">pkgtool</tt> will remove them.</p>
-
-<p>Some users prefer this utility to the command line utilities. However, it should be
-noted that the command line utilities offer many more options. Also, the ability to
-upgrade packages is only offered through the command line utilities.</p>
-</div>
-
-<div class="SECT2">
-<hr />
-<h3 class="SECT2"><a id="PACKAGE-MANAGEMENT-PACKAGE-UTILITIES-INSTALLPKG"
-name="PACKAGE-MANAGEMENT-PACKAGE-UTILITIES-INSTALLPKG">18.2.2 installpkg</a></h3>
-
-<p><tt class="COMMAND">installpkg</tt>(8) handles installation of new packages on the
-system. The syntax is as follows:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">#</samp> <kbd class="USERINPUT">installpkg option package_name</kbd>
-</pre>
-</td>
-</tr>
-</table>
-
-<p>Three options are provided for <tt class="COMMAND">installpkg</tt>. Only one option
-can be used at a time.</p>
-
-<div class="TABLE"><a id="AEN6446" name="AEN6446"></a>
-<p><b>Table 18-1. <tt class="COMMAND">installpkg</tt> Options</b></p>
-
-<table border="0" frame="void" class="CALSTABLE">
-<col width="1*" />
-<col width="3*" />
-<thead>
-<tr>
-<th align="LEFT">Option</th>
-<th align="LEFT">Effects</th>
-</tr>
-</thead>
-
-<tbody>
-<tr>
-<td>-m</td>
-<td>Performs a makepkg operation on the current directory.</td>
-</tr>
-
-<tr>
-<td>-warn</td>
-<td>Shows what would happen if you installed the specified package. This is useful for
-production systems so you can see exactly what would happen before installing
-something.</td>
-</tr>
-
-<tr>
-<td>-r</td>
-<td>Recursively install all packages in the current directory and down. The package name
-can use wildcards, which would be used as the search mask when recursively
-installing.</td>
-</tr>
-</tbody>
-</table>
-</div>
-
-<p>If you pass the <tt class="ENVAR">ROOT</tt> environment variable before <tt
-class="COMMAND">installpkg</tt>, that path will be used for the root directory. This is
-useful for setting up new drives for your root directory. They will typically be mounted
-to <tt class="FILENAME">/mnt</tt> or something other than <tt
-class="FILENAME">/</tt>.</p>
-
-<p>The installed package database entry is stored in <tt
-class="FILENAME">/var/log/packages</tt>. The entry is really just a plain text file, one
-for each package. If the package has a postinstallation script, it is written to <tt
-class="FILENAME">/var/log/scripts/</tt>.</p>
-
-<p>You may specify several packages or use wildcards for the package name. Be advised
-that <tt class="COMMAND">installpkg</tt> will not tell you if you are overwriting an
-installed package. It will simply install right on top of the old one. If you want to
-ensure that old files from the previous package are safely removed, use <tt
-class="COMMAND">upgradepkg</tt>.</p>
-</div>
-
-<div class="SECT2">
-<hr />
-<h3 class="SECT2"><a id="PACKAGE-MANAGEMENT-PACKAGE-UTILITIES-REMOVEPKG"
-name="PACKAGE-MANAGEMENT-PACKAGE-UTILITIES-REMOVEPKG">18.2.3 removepkg</a></h3>
-
-<p><tt class="COMMAND">removepkg</tt>(8) handles removing installed packages from the
-system. The syntax is as follows:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">#</samp> <kbd class="USERINPUT">removepkg option package_name</kbd>
-</pre>
-</td>
-</tr>
-</table>
-
-<p>Four options are provided for <tt class="COMMAND">removepkg</tt>. Only one option may
-be used at a time.</p>
-
-<div class="TABLE"><a id="AEN6491" name="AEN6491"></a>
-<p><b>Table 18-2. <tt class="COMMAND">removepkg</tt> Options</b></p>
-
-<table border="0" frame="void" class="CALSTABLE">
-<col width="1*" />
-<col width="3*" />
-<thead>
-<tr>
-<th>Option</th>
-<th>Effects</th>
-</tr>
-</thead>
-
-<tbody>
-<tr>
-<td>-copy</td>
-<td>The package is copied to the preserved packages directory. This creates a tree of the
-original package without removing it.</td>
-</tr>
-
-<tr>
-<td>-keep</td>
-<td>Saves temporary files created during the removal. Really only useful for debugging
-purposes.</td>
-</tr>
-
-<tr>
-<td>-preserve</td>
-<td>The package is removed, but copied to the preserved packages directory at the same
-time.</td>
-</tr>
-
-<tr>
-<td>-warn</td>
-<td>Shows what would happen if you removed the package.</td>
-</tr>
-</tbody>
-</table>
-</div>
-
-<p>If you pass the <tt class="ENVAR">ROOT</tt> environment variable before <tt
-class="COMMAND">removepkg</tt>, that path will be used for the root directory. This is
-useful for setting up new drives for your root directory. They will typically be mounted
-to <tt class="FILENAME">/mnt</tt> or something other than <tt
-class="FILENAME">/</tt>.</p>
-
-<p><tt class="COMMAND">removepkg</tt> looks at the other installed packages and only
-removes files unique to the package you specify. It will also scan the postinstallation
-script for the specified package and remove any symbolic links that were created by
-it.</p>
-
-<p>During the removal process, a status report is displayed. After the removal, the
-package database entry is moved to <tt class="FILENAME">/var/log/removed_packages</tt>
-and the postinstallation script is moved to <tt
-class="FILENAME">/var/log/removed</tt>_scripts.</p>
-
-<p>Just as with <tt class="COMMAND">installpkg</tt>, you can specify several packages or
-use wildcards for the package name.</p>
-</div>
-
-<div class="SECT2">
-<hr />
-<h3 class="SECT2"><a id="PACKAGE-MANAGEMENT-PACKAGE-UTILITIES-UPGRADEPKG"
-name="PACKAGE-MANAGEMENT-PACKAGE-UTILITIES-UPGRADEPKG">18.2.4 upgradepkg</a></h3>
-
-<p><tt class="COMMAND">upgradepkg</tt>(8) will upgrade an installed Slackware package.
-The syntax is as follows:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">#</samp> <kbd class="USERINPUT">upgradepkg package_name</kbd>
-</pre>
-</td>
-</tr>
-</table>
-
-<p>or</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">#</samp> <kbd
-class="USERINPUT">upgradepkg old_package_name%new_package_name</kbd>
-</pre>
-</td>
-</tr>
-</table>
-
-<p><tt class="COMMAND">upgradepkg</tt> works by first installing the new package and then
-removing the old package so that old files are no longer around on the system. If the
-upgraded package name has changed, use the percent sign syntax to specify the old package
-(the one that is installed) and the new package (the one you are upgrading it to).</p>
-
-<p>If you pass the <tt class="ENVAR">ROOT</tt> environment variable before <tt
-class="COMMAND">upgradepkg</tt>, that path will be used for the root directory. This is
-useful for setting up new drives for your root directory. They will typically be mounted
-to <tt class="FILENAME">/mnt</tt> or something other than <tt
-class="FILENAME">/</tt>.</p>
-
-<p><tt class="COMMAND">upgradepkg</tt> is not flawless. You should always back up your
-configuration files. If they get removed or overwritten, you'll want a copy of the
-originals for any needed repair work.</p>
-
-<p>Just as with <tt class="COMMAND">installpkg</tt> and <tt
-class="COMMAND">removepkg</tt>, you can specify several packages or use wildcards for the
-package name.</p>
-</div>
-
-<div class="SECT2">
-<hr />
-<h3 class="SECT2"><a id="PACKAGE-MANAGEMENT-PACKAGE-UTILITIES-RPM"
-name="PACKAGE-MANAGEMENT-PACKAGE-UTILITIES-RPM">18.2.5 <tt
-class="COMMAND">rpm2tgz</tt>/<tt class="COMMAND">rpm2targz</tt></a></h3>
-
-<p>The Red Hat Package Manager is a popular packaging system available today. Many
-software distributors are offering their products in RPM format. Since this is not our
-native format, we do not recommend people rely on them. However, some things are only
-available as an RPM (even the source).</p>
-
-<p>We provide a program that will convert RPM packages to our native <tt
-class="FILENAME">.tgz</tt> format. This will allow you to extract the package (perhaps
-with <tt class="COMMAND">explodepkg</tt>) to a temporary directory and examine its
-contents.</p>
-
-<p>The <tt class="COMMAND">rpm2tgz</tt> program will create a Slackware package with a
-<tt class="FILENAME">.tgz</tt> extension, while <tt class="FILENAME">rpm2targz</tt>
-creates an archive with a <tt class="FILENAME">.tar.gz</tt> extension.</p>
-</div>
-</div>
-
-<div class="SECT1">
-<hr />
-<h2 class="SECT1"><a id="PACKAGE-MANAGEMENT-MAKING-PACKAGES"
-name="PACKAGE-MANAGEMENT-MAKING-PACKAGES">18.3 Making Packages</a></h2>
-
-<p>Making Slackware packages can be either easy or difficult. There is no specific method
-for building a package. The only requirement is that the package be a tar gzipped file
-and if there is a postinstallation script, it must be <tt
-class="FILENAME">/install/doinst.sh</tt>.</p>
-
-<p>If you are interested in making packages for your system or for a network that you
-manage, you should have a look at the various build scripts in the Slackware source tree.
-There are several methods we use for making packages.</p>
-
-<div class="SECT2">
-<hr />
-<h3 class="SECT2"><a id="PACKAGE-MANAGEMENT-EXPLODEPKG"
-name="PACKAGE-MANAGEMENT-EXPLODEPKG">18.3.1 <tt class="COMMAND">explodepkg</tt></a></h3>
-
-<p><tt class="COMMAND">explodepkg</tt>(8) will do the same thing that <tt
-class="COMMAND">installpkg</tt> does to extract the package, but it doesn't actually
-install it and it doesn't record it in the packages database. It simply extracts it to
-the current directory.</p>
-
-<p>If you look at the Slackware source tree, you will see how we use this command for
-&#8220;framework&#8221; packages. These packages contain a skeleton of what the final
-package will look like. They hold all the necessary filenames (zero-length), permissions,
-and ownerships. The build script will cat the package contents from the source directory
-to the package build directory.</p>
-</div>
-
-<div class="SECT2">
-<hr />
-<h3 class="SECT2"><a id="PACKAGE-MANAGEMENT-MAKEPKG"
-name="PACKAGE-MANAGEMENT-MAKEPKG">18.3.2 <tt class="COMMAND">makepkg</tt></a></h3>
-
-<p><tt class="COMMAND">makepkg</tt>(8) will package up the current directory into a valid
-Slackware package. It will search the tree for any symbolic links and add a creation
-block to the postinstallation script for creating them during the package install. It
-also warns of any zero-length files in the package tree.</p>
-
-<p>This command is typically run after you have created your package tree.</p>
-</div>
-
-<div class="SECT2">
-<hr />
-<h3 class="SECT2"><a id="PACKAGE-MANAGEMENT-SLACKBUILD-SCRIPTS"
-name="PACKAGE-MANAGEMENT-SLACKBUILD-SCRIPTS">18.3.3 SlackBuild Scripts</a></h3>
-
-<p>Slackware packages are built in many different ways by necessity. Not all software
-packages are written by their programmers to compile the same way. Many have compile time
-options that are not all included in the packages Slackware uses. Perhaps you need some
-of this functionality; you'll need to compile your own package then. Fortunately for many
-Slackware packages, you can find SlackBuild scripts in the package's source code.</p>
-
-<p>So what is a SlackBuild script? SlackBuild scripts are executable shell scripts that
-you run as <tt class="USERNAME">root</tt> to configure, compile, and create Slackware
-packages. You can freely modify these scripts in the source directory and run them to
-create your own versions of the default Slackware packages.</p>
-</div>
-</div>
-
-<div class="SECT1">
-<hr />
-<h2 class="SECT1"><a id="PACKAGE-MANAGEMENT-MAKING-TAGS-AND-TAGFILES"
-name="PACKAGE-MANAGEMENT-MAKING-TAGS-AND-TAGFILES">18.4 Making Tags and Tagfiles (for
-setup)</a></h2>
-
-<p>The Slackware setup program handles installation of the software packages on your
-system. There are files that tell the setup program which packages must be installed,
-which ones are optional, and which ones are selected by default by the setup program.</p>
-
-<p>A tagfile is in the first software series directory and is called tagfile. It lists
-the packages in that particular disk set and their status. The status can be:</p>
-
-<div class="TABLE"><a id="AEN6621" name="AEN6621"></a>
-<p><b>Table 18-3. Tagfile Status Options</b></p>
-
-<table border="0" frame="void" width="100%" class="CALSTABLE">
-<col width="25%" />
-<col width="75%" />
-<thead>
-<tr>
-<th>Option</th>
-<th>Meaning</th>
-</tr>
-</thead>
-
-<tbody>
-<tr>
-<td>ADD</td>
-<td>The package is required for proper system operation</td>
-</tr>
-
-<tr>
-<td>SKP</td>
-<td>The package will be automatically skipped</td>
-</tr>
-
-<tr>
-<td>REC</td>
-<td>The package is not required, but recommended</td>
-</tr>
-
-<tr>
-<td>OPT</td>
-<td>The package is optional</td>
-</tr>
-</tbody>
-</table>
-</div>
-
-<p>The format is simply:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-package_name: status
-</pre>
-</td>
-</tr>
-</table>
-
-<p>One package per line. The original tagfiles for each software series are stored as
-tagfile.org. So if you mess up yours, you can restore the original one.</p>
-
-<p>Many administrators prefer writing their own tagfiles and starting the installer and
-selecting &#8220;full&#8221;. The setup program will read the tagfiles and perform the
-installation according to their contents. If you use REC or OPT, a dialog box will be
-presented to the user asking whether or not they want a particular package. Therefore, it
-is recommended that you stick with ADD and SKP when writing tagfiles for automated
-installs.</p>
-
-<p>Just make sure your tagfiles are written to the same location as the originals. Or you
-can specify a custom tagfile path if you have custom tagfiles.</p>
-</div>
-</div>
-
-<div class="CHAPTER">
-<hr />
-<h1><a id="ZIPSLACK" name="ZIPSLACK"></a>Chapter 19 ZipSlack</h1>
-
-<div class="SECT1">
-<h2 class="SECT1"><a id="ZIPSLACK-WHAT" name="ZIPSLACK-WHAT">19.1 What is
-ZipSlack?</a></h2>
-
-<p>ZipSlack is a special version of Slackware Linux. It's an already installed copy of
-Slackware that's ready to run from your DOS or Windows partition. It's a basic
-installation, you do not get everything that comes with Slackware.</p>
-
-<p>ZipSlack gets its name from the form it's distributed in, a big .ZIP file. Users of
-DOS and Windows will probably be familiar with these files. They are compressed archives.
-The ZipSlack archive contains everything you need to get up and running with
-Slackware.</p>
-
-<p>It is important to note that ZipSlack is significantly different from a regular
-installation. Even though they function the same and contain the same programs, their
-intended audiences and functions differ. Several advantages and disadvantages of ZipSlack
-are discussed below.</p>
-
-<p>One last thing, you should always review the documentation included in the actual
-ZipSlack directory. It contains the latest information regarding installation, booting,
-and general use of the product.</p>
-
-<div class="SECT2">
-<hr />
-<h3 class="SECT2"><a id="ZIPSLACK-ADVANTAGES" name="ZIPSLACK-ADVANTAGES">19.1.1
-Advantages</a></h3>
-
-<ul>
-<li>
-<p>Does not require repartitioning of your hard disk.</p>
-</li>
-
-<li>
-<p>Great way to learn Slackware Linux without stumbling through the installation
-process.</p>
-</li>
-</ul>
-</div>
-
-<div class="SECT2">
-<hr />
-<h3 class="SECT2"><a id="ZIPSLACK-DISADVANTAGES" name="ZIPSLACK-DISADVANTAGES">19.1.2
-Disadvantages</a></h3>
-
-<ul>
-<li>
-<p>Uses the DOS filesystem, which is slower than a native Linux filesystem.</p>
-</li>
-
-<li>
-<p>Will not work with Windows NT.</p>
-</li>
-</ul>
-</div>
-</div>
-
-<div class="SECT1">
-<hr />
-<h2 class="SECT1"><a id="ZIPSLACK-GETTING" name="ZIPSLACK-GETTING">19.2 Getting
-ZipSlack</a></h2>
-
-<p>Obtaining ZipSlack is easy. If you have purchased the official Slackware Linux CD set,
-then you already have ZipSlack. Just find the CD that contains the <tt
-class="FILENAME">zipslack</tt> directory and place it in your CD-ROM drive. It's usually
-the third or fourth disc, but always trust the labels over this documentation as the disk
-it resides on is prone to change.</p>
-
-<p>If you want to download ZipSlack, you should first visit our &#8220;Get Slack&#8221;
-web page for the latest download information:</p>
-
-<p><a href="http://www.slackware.com/getslack/"
-target="_top">http://www.slackware.com/getslack/</a></p>
-
-<p>ZipSlack is part of each Slackware release. Locate the release you want, and go to
-that directory on the FTP site. The latest release directory can be found at this
-location:</p>
-
-<p><a href="ftp://ftp.slackware.com/pub/slackware/slackware/"
-target="_top">ftp://ftp.slackware.com/pub/slackware/slackware/</a></p>
-
-<p>You'll find ZipSlack in the <tt class="FILENAME">/zipslack</tt> subdirectory. ZipSlack
-is offered as one big <tt class="FILENAME">.ZIP</tt> file or floppy-sized chunks. The
-chunks are in the <tt class="FILENAME">/zipslack/split</tt> directory.</p>
-
-<p>Don't stop at just the <tt class="FILENAME">.ZIP</tt> files. You should also download
-the documentation files and any boot images that appear in the directory.</p>
-
-<div class="SECT2">
-<hr />
-<h3 class="SECT2"><a id="ZIPSLACK-INSTALLATION" name="ZIPSLACK-INSTALLATION">19.2.1
-Installation</a></h3>
-
-<p>Once you've downloaded the necessary components, you'll need to extract the <tt
-class="FILENAME">.ZIP</tt> file. Be sure to use a 32-bit unzipper. The size and filenames
-in the archive are too much for a 16-bit unzipper. Examples of 32-bit unzippers include
-WinZip and PKZIP for Windows.</p>
-
-<p>ZipSlack is designed to be extracted directly to the root directory of a drive (such
-as <tt class="DEVICENAME">C:</tt> or <tt class="DEVICENAME">D:</tt>). A <tt
-class="FILENAME">\LINUX</tt> directory will be created that contains the actual Slackware
-installation. You'll also find the files necessary to booting the system in that
-directory as well.</p>
-
-<p>After you've extracted the files, you should have a <tt class="FILENAME">\LINUX</tt>
-directory on the drive of your choosing (we'll use <tt class="DEVICENAME">C:</tt> from
-here on).</p>
-</div>
-</div>
-
-<div class="SECT1">
-<hr />
-<h2 class="SECT1"><a id="ZIPSLACK-BOOTING" name="ZIPSLACK-BOOTING">19.3 Booting
-ZipSlack</a></h2>
-
-<p>There are several ways to boot ZipSlack. The most common is to use the included
-LINUX.BAT to boot the system from DOS (or from DOS mode under Windows 9x). This file must
-be edited to match your system before it will work.</p>
-
-<p>Start by opening the <tt class="FILENAME">C:\LINUX\LINUX.BAT</tt> file in your
-favorite text editor. At the top of the file you will notice a large comment. It explains
-what you need to edit in this file (and also what to do if you are booting from an
-external Zip drive). Don't worry if you don't understand the <var
-class="LITERAL">root=</var> setting. There are several examples, so feel free to pick one
-and try it. If it doesn't work, you can edit the file again, comment out the line you
-uncommented, and pick another one.</p>
-
-<p>After you uncomment the line you want by removing the &#8220;rem&#8221; at the
-beginning of the line, save the file and exit the editor. Bring your machine into DOS
-mode.</p>
-
-<p>A DOS prompt window in Windows 9x will NOT work.</p>
-
-<p>Type <tt class="COMMAND">C:\LINUX\LINUX.BAT</tt> to boot the system. If all goes well,
-you should be presented with a login prompt.</p>
-
-<p>Log in as <tt class="USERNAME">root</tt>, with no password. You'll probably want to
-set a password for root, as well as adding an account for yourself. At this point you can
-refer to the other sections in this book for general system usage.</p>
-
-<p>If using the <tt class="FILENAME">LINUX.BAT</tt> file to boot the system didn't work
-for you, you should refer to the included <tt class="FILENAME">C:\LINUX\README.1ST</tt>
-file for other ways to boot.</p>
-</div>
-</div>
-
-<div class="GLOSSARY">
-<h1><a id="GLOSSARY" name="GLOSSARY"></a>Glossary</h1>
-
-<dl>
-<dt><b>Account</b></dt>
-
-<dd>
-<p>All of the information about a user, including username, password, finger information,
-UID and GID, and home directory. To create an account is to add and define a user.</p>
-</dd>
-
-<dt><b>Background</b></dt>
-
-<dd>
-<p>Any process that is running without accepting or controlling the input of a terminal
-is said to be running in the background.</p>
-</dd>
-
-<dt><b>Boot disk</b></dt>
-
-<dd>
-<p>A floppy disk containing an operating system (in our case, the Linux kernel) from
-which a computer can be started.</p>
-</dd>
-
-<dt><b>Compile</b></dt>
-
-<dd>
-<p>To convert source code to machine-readable &#8220;binary&#8221; code.</p>
-</dd>
-
-<dt><b>Daemon</b></dt>
-
-<dd>
-<p>A program designed to run in the background and, without user intervention, perform a
-specific task (usually providing a service).</p>
-</dd>
-
-<dt><b>Darkstar</b></dt>
-
-<dd>
-<p>The default hostname in Slackware; your computer will be called darkstar if you do not
-specify some other name.</p>
-
-<p>One of Patrick Volkerding's development machines, named after &#8220;Dark Star&#8221;,
-a song by the Grateful Dead.</p>
-</dd>
-
-<dt><b>Desktop Environment</b></dt>
-
-<dd>
-<p>A graphical user interface (GUI) that runs atop the X Window System and provides such
-features as integrated applications, cohesive look-and-feel between programs and
-components, file and window management capabilities, etc. A step beyond the simple window
-manager.</p>
-</dd>
-
-<dt><b>Device driver</b></dt>
-
-<dd>
-<p>A chunk of code in the kernel that directly controls a piece of hardware.</p>
-</dd>
-
-<dt><b>Device node</b></dt>
-
-<dd>
-<p>A special type of file in the <tt class="FILENAME">/dev</tt> filesystem that
-represents a hardware component to the operating system.</p>
-</dd>
-
-<dt><b>DNS</b></dt>
-
-<dd>
-<p>Domain Name Service. A system in which networked computers are given names which
-translate to numerical addresses.</p>
-</dd>
-
-<dt><b>Domain name</b></dt>
-
-<dd>
-<p>A computer's DNS name, excluding its host name.</p>
-</dd>
-
-<dt><b>Dot file</b></dt>
-
-<dd>
-<p>In Linux, files which are to be hidden have filenames beginning with a dot ('.').</p>
-</dd>
-
-<dt><b>Dotted quad</b></dt>
-
-<dd>
-<p>The format of IP addresses, so called because it consists of four numbers (range 0-255
-decimal) separated by periods.</p>
-</dd>
-
-<dt><b>Dynamic loader</b></dt>
-
-<dd>
-<p>When programs are compiled under Linux, they usually use pieces of code (functions)
-from external libraries. When such programs are run, those libraries must be found and
-the required functions loaded into memory. This is the job of the dynamic loader.</p>
-</dd>
-
-<dt><b>Environment variable</b></dt>
-
-<dd>
-<p>A variable set in the user's shell which can be referenced by that user or programs
-run by that user within that shell. Environment variables are generally used to store
-preferences and default parameters.</p>
-</dd>
-
-<dt><b>Epoch</b></dt>
-
-<dd>
-<p>A period of history; in Unix, &#8220;The Epoch&#8221; begins at 00:00:00 UTC January
-1, 1970. This is considered the &#8220;dawn of time&#8221; by Unix and Unix-like
-operating systems, and all other time is calculated relative to this date.</p>
-</dd>
-
-<dt><b>Filesystem</b></dt>
-
-<dd>
-<p>A representation of stored data in which &#8220;files&#8221; of data are kept
-organized in &#8220;directories&#8221;. The filesystem is the nearly universal form of
-representation for data stored to disks (both fixed and removable).</p>
-</dd>
-
-<dt><b>Foreground</b></dt>
-
-<dd>
-<p>A program that is accepting or controlling a terminal's input is said to be running in
-the foreground.</p>
-</dd>
-
-<dt><b>Framebuffer</b></dt>
-
-<dd>
-<p>A type of graphics device; in Linux, this most often refers to the software
-framebuffer, which provides a standard framebuffer interface to programs while keeping
-specific hardware drivers hidden from them. This layer of abstraction frees programs of
-the need to speak to various hardware drivers.</p>
-</dd>
-
-<dt><b>FTP</b></dt>
-
-<dd>
-<p>The File Transfer Protocol. FTP is a very popular method of transferring data between
-computers.</p>
-</dd>
-
-<dt><b>Gateway</b></dt>
-
-<dd>
-<p>A computer through which data on a network is transferred to another network.</p>
-</dd>
-
-<dt><b>GID</b></dt>
-
-<dd>
-<p>Group Identifier. The GID is a unique number attributed to a group of users.</p>
-</dd>
-
-<dt><b>Group</b></dt>
-
-<dd>
-<p>Users in Unix belong to &#8220;groups&#8221;, which can contain many other users and
-are used for more general access control than the existence of users alone can easily
-allow.</p>
-</dd>
-
-<dt><b>GUI</b></dt>
-
-<dd>
-<p>Graphical User Interface. A software interface that uses rendered graphical elements
-such as buttons, scrollbars, windows, etc. rather than solely text-based input and
-output</p>
-</dd>
-
-<dt><b>Home directory</b></dt>
-
-<dd>
-<p>A user's &#8220;home directory&#8221; is the directory the user is placed in
-immediately upon logging in. Users have full permissions and more or less free reign
-within their home directories.</p>
-</dd>
-
-<dt><b>HOWTO</b></dt>
-
-<dd>
-<p>A document describing &#8220;how to&#8221; do something, such as configure a firewall
-or manage users and groups. There is a large collection of these documents available from
-the Linux Documentation Project.</p>
-</dd>
-
-<dt><b>HTTP</b></dt>
-
-<dd>
-<p>The Hypertext Transfer Protocol. HTTP is the primary protocol on which the World Wide
-Web operates.</p>
-</dd>
-
-<dt><b>ICMP</b></dt>
-
-<dd>
-<p>Internet Control Message Protocol. A very basic networking protocol, used mostly for
-pings.</p>
-</dd>
-
-<dt><b>Kernel</b></dt>
-
-<dd>
-<p>The heart of an operating system. The kernel is the part that provides basic process
-control and interfaces with the computer's hardware.</p>
-</dd>
-
-<dt><b>Kernel module</b></dt>
-
-<dd>
-<p>A piece of kernel code, usually a driver of some sort, that can be loaded and unloaded
-from memory separately from the main body of the kernel. Modules are handy when upgrading
-drivers or testing kernel settings, because they can be loaded and unloaded without
-rebooting.</p>
-</dd>
-
-<dt><b>Library</b></dt>
-
-<dd>
-<p>A collection of functions which can be shared between programs.</p>
-</dd>
-
-<dt><b>LILO</b></dt>
-
-<dd>
-<p>The LInux LOader. LILO is the most widely-used Linux boot manager.</p>
-</dd>
-
-<dt><b>LOADLIN</b></dt>
-
-<dd>
-<p>LOADLIN is a program that runs under MS DOS or Windows and boots a Linux system. It is
-most commonly used on computers with multiple operating systems (including Linux and
-DOS/Windows, of course).</p>
-</dd>
-
-<dt><b>Man section</b></dt>
-
-<dd>
-<p>Pages in the standard Unix online manual ("man") are grouped into sections for easy
-reference. All C programming pages are in section 3, system administration pages in
-section 5, etc.</p>
-</dd>
-
-<dt><b>MBR</b></dt>
-
-<dd>
-<p>The Master Boot Record. A reserved space on a hard drive where information on what to
-do when booting is stored. LILO or other boot managers can be written here.</p>
-</dd>
-
-<dt><b>Motif</b></dt>
-
-<dd>
-<p>A popular programming toolkit used in many older X programs.</p>
-</dd>
-
-<dt><b>MOTD</b></dt>
-
-<dd>
-<p>Message of the Day. The motd (stored in Linux in <tt class="FILENAME">/etc/motd</tt>
-is a text file that is displayed to all users upon logging in. Traditionally, it is used
-by the system administrator as a sort of &#8220;bulletin board&#8221; for communicating
-with users.</p>
-</dd>
-
-<dt><b>Mount point</b></dt>
-
-<dd>
-<p>An empty directory in a filesystem where another filesystem is to be
-&#8220;mounted&#8221;, or grafted on.</p>
-</dd>
-
-<dt><b>Nameserver</b></dt>
-
-<dd>
-<p>A DNS information server. Nameservers translate DNS names to numerical IP
-addresses.</p>
-</dd>
-
-<dt><b>Network interface</b></dt>
-
-<dd>
-<p>A virtual representation of a network device provided by the kernel. Network
-interfaces allow users and programs to talk to network devices.</p>
-</dd>
-
-<dt><b>NFS</b></dt>
-
-<dd>
-<p>The Network Filesystem. NFS allows the mounting of remote filesystems as if they were
-local to your computer and thus provides a transparent method of file sharing.</p>
-</dd>
-
-<dt><b>Octal</b></dt>
-
-<dd>
-<p>Base-8 number system, with digits 0-7.</p>
-</dd>
-
-<dt><b>Pager</b></dt>
-
-<dd>
-<p>An X program that allows the user to see and switch between multiple
-&#8220;desktops&#8221;.</p>
-</dd>
-
-<dt><b>Partition</b></dt>
-
-<dd>
-<p>A division of a hard drive. Filesystems exist on top of partitions.</p>
-</dd>
-
-<dt><b>PPP</b></dt>
-
-<dd>
-<p>Point-to-Point Protocol. PPP is used mainly for connecting via modem to an Internet
-Service Provider.</p>
-</dd>
-
-<dt><b>Process</b></dt>
-
-<dd>
-<p>A running program.</p>
-</dd>
-
-<dt><b>Root directory</b></dt>
-
-<dd>
-<p>Represented as &#8220;/&#8221;, the root directory exists at the top of the
-filesystem, with all other directories branching out beneath it in a &#8220;file
-tree&#8221;.</p>
-</dd>
-
-<dt><b>Root disk</b></dt>
-
-<dd>
-<p>The disk (usually fixed) on which the root directory is stored.</p>
-</dd>
-
-<dt><b>Routing table</b></dt>
-
-<dd>
-<p>The set of information the kernel uses in &#8220;routing&#8221; network data around.
-It contains such tidbits as where your default gateway is, which network interface is
-connected to which network, etc.</p>
-</dd>
-
-<dt><b>Runlevel</b></dt>
-
-<dd>
-<p>The overall system state as defined by init. Runlevel 6 is rebooting, runlevel 1 is
-&#8220;single user mode&#8221;, runlevel 4 is an X login, etc. There are 6 available
-runlevels on a Slackware system.</p>
-</dd>
-
-<dt><b>Secure shell</b></dt>
-
-<dd>
-<p>An encrypted (thus secure) method of logging in remotely to a computer. Many secure
-shell programs are available; both a client and server are needed.</p>
-</dd>
-
-<dt><b>Service</b></dt>
-
-<dd>
-<p>The sharing of information and/or data between programs and computers from a single
-&#8220;server&#8221; to multiple &#8220;clients&#8221;. HTTP, FTP, NFS, etc. are
-services.</p>
-</dd>
-
-<dt><b>Shadow password suite</b></dt>
-
-<dd>
-<p>The shadow password suite allows encrypted passwords to be hidden from users, while
-the rest of the information in the <tt class="FILENAME">/etc/passwd</tt> file remains
-visible to all. This helps prevent brute-force attempts at cracking passwords.</p>
-</dd>
-
-<dt><b>Shell</b></dt>
-
-<dd>
-<p>Shells provide a commandline interface to the user. When you're looking at a text
-prompt, you're in a shell.</p>
-</dd>
-
-<dt><b>Shell builtin</b></dt>
-
-<dd>
-<p>A command built into the shell, as opposed to being provided by an external program.
-For instance, <tt class="COMMAND">bash</tt> has a <tt class="COMMAND">cd</tt>
-builtin.</p>
-</dd>
-
-<dt><b>Signal</b></dt>
-
-<dd>
-<p>Unix programs can communicate between each other using simple &#8220;signals&#8221;,
-which are enumerated and usually have specific meanings. <tt class="COMMAND">kill -l</tt>
-will list the available signals.</p>
-</dd>
-
-<dt><b>SLIP</b></dt>
-
-<dd>
-<p>Serial Line Interface Protocol. SLIP is a similar protocol to PPP, in that it's used
-for connecting two machines via a serial interface.</p>
-</dd>
-
-<dt><b>Software package</b></dt>
-
-<dd>
-<p>A program and its associated files, archived and compressed into a single file along
-with any necessary scripts or information to aid in managing the installation, upgrade,
-and removal of those files.</p>
-</dd>
-
-<dt><b>Software series</b></dt>
-
-<dd>
-<p>A collection of related software packages in Slackware. All KDE packages are in the
-&#8220;kde&#8221; series, networking packages in the &#8220;n&#8221; series, etc.</p>
-</dd>
-
-<dt><b>Source code</b></dt>
-
-<dd>
-<p>The (more or less) human-readable code in which most programs are written. Source code
-is compiled into &#8220;binary&#8221; code.</p>
-</dd>
-
-<dt><b>Standard Error (stderr)</b></dt>
-
-<dd>
-<p>The Unix-standard output stream for errors. Programs write any error messages on
-stderr, so that they can be separated from normal output.</p>
-</dd>
-
-<dt><b>Standard Input (stdin)</b></dt>
-
-<dd>
-<p>The Unix-standard input stream. Data can be redirected or piped into a program's stdin
-from any source.</p>
-</dd>
-
-<dt><b>Standard Output (stdout)</b></dt>
-
-<dd>
-<p>The Unix-standard output stream. Normal text output from a program is written to
-stdout, which is separate from the error messages reported on stderr and can be piped or
-redirected into other programs' stdin or to a file.</p>
-</dd>
-
-<dt><b>Subnet</b></dt>
-
-<dd>
-<p>An IP address range that is part of a larger range. For instance, 192.168.1.0 is a
-subnet of 192.168.0.0 (where 0 is a mask meaning &#8220;undefined&#8221;); it is, in
-fact, the &#8220;.1&#8221; subnet.</p>
-</dd>
-
-<dt><b>Superblock</b></dt>
-
-<dd>
-<p>In Linux, partitions are discussed in terms of blocks. A block is 512 bytes. The
-superblock is the first 512 bytes of a partition.</p>
-</dd>
-
-<dt><b>Supplemental disk</b></dt>
-
-<dd>
-<p>In Slackware, a floppy disk used during installation that contains neither the kernel
-(which is on the boot disk) nor the root filesystem (which is on the root disk), but
-additional needed files such as network modules or PCMCIA support.</p>
-</dd>
-
-<dt><b>Suspended process</b></dt>
-
-<dd>
-<p>A process which has been frozen until killed or resumed.</p>
-</dd>
-
-<dt><b>Swap space</b></dt>
-
-<dd>
-<p>Disk space used by the kernel as &#8220;virtual&#8221; RAM. It is slower than RAM, but
-because disk space is cheaper, swap is usually more plentiful. Swap space is useful to
-the kernel for holding lesser-used data and as a fallback when physical RAM is
-exhausted.</p>
-</dd>
-
-<dt><b>Symbolic link</b></dt>
-
-<dd>
-<p>A special file that simply points to the location of another file. Symbolic links are
-used to avoid data duplication when a file is needed in multiple locations.</p>
-</dd>
-
-<dt><b>Tagfile</b></dt>
-
-<dd>
-<p>A file used by the Slackware <tt class="COMMAND">setup</tt> program during
-installation, which describes a set of packages to be installed.</p>
-</dd>
-
-<dt><b>Terminal</b></dt>
-
-<dd>
-<p>A human-computer interface consisting of at least a screen (or virtual screen) and
-some method of input (almost always at least a keyboard).</p>
-</dd>
-
-<dt><b>Toolkit, GUI</b></dt>
-
-<dd>
-<p>A GUI toolkit is a collection of libraries that provide a programmer with code to draw
-&#8220;widgets&#8221; such as scrollbars, checkboxes, etc. and construct a graphical
-interface. The GUI toolkit used by a program often defines its &#8220;look and
-feel&#8221;.</p>
-</dd>
-
-<dt><b>UID</b></dt>
-
-<dd>
-<p>User Identifier. A unique number that identifies a user to the system. UIDs are used
-by most programs instead of usernames because a number is easier to deal with; usernames
-are generally only used when the user has to see things happen.</p>
-</dd>
-
-<dt><b>VESA</b></dt>
-
-<dd>
-<p>Video Electronics Standards Association. The term &#8220;VESA&#8221; is often used to
-denote a standard specified by said Association. Nearly all modern video adapters are
-VESA-compliant.</p>
-</dd>
-
-<dt><b>Virtual terminal</b></dt>
-
-<dd>
-<p>The use of software to simulate multiple terminals while using only a single set of
-input/output devices (keyboard, monitor, mouse). Special keystrokes switch between
-virtual terminals at a single physical terminal.</p>
-</dd>
-
-<dt><b>Window manager</b></dt>
-
-<dd>
-<p>An X program whose purpose is to provide a graphical interface beyond the simple
-rectangle-drawing of the X Window System. Window managers generally provide titlebars,
-menus for running programs, etc.</p>
-</dd>
-
-<dt><b>Working directory</b></dt>
-
-<dd>
-<p>The directory in which a program considers itself to be while running.</p>
-</dd>
-
-<dt><b>Wrapper program</b></dt>
-
-<dd>
-<p>A program whose sole purpose is to run other programs, but change their behavior in
-some way by altering their environments or filtering their input.</p>
-</dd>
-
-<dt><b>X server</b></dt>
-
-<dd>
-<p>The program in the X Window System which interfaces with graphics hardware and handles
-the actual running of X programs.</p>
-</dd>
-
-<dt><b>X Window System</b></dt>
-
-<dd>
-<p>Network-oriented graphical interface system used on most Unix-like operating systems,
-including Linux.</p>
-</dd>
-</dl>
-</div>
-
-<div class="APPENDIX">
-<hr />
-<h1><a id="GPL" name="GPL"></a>Appendix A. The GNU General Public License</h1>
-
-<p class="LITERALLAYOUT">GNU&nbsp;GENERAL&nbsp;PUBLIC&nbsp;LICENSE<br />
-<br />
-Version&nbsp;2,&nbsp;June&nbsp;1991<br />
-Copyright&nbsp;(C)&nbsp;1989,&nbsp;1991&nbsp;Free&nbsp;Software&nbsp;Foundation,&nbsp;Inc.<br />
-
-59&nbsp;Temple&nbsp;Place,&nbsp;Suite&nbsp;330,&nbsp;Boston,&nbsp;MA&nbsp;&nbsp;02111-1307&nbsp;&nbsp;USA<br />
-
-Everyone&nbsp;is&nbsp;permitted&nbsp;to&nbsp;copy&nbsp;and&nbsp;distribute&nbsp;verbatim&nbsp;copies&nbsp;of&nbsp;this<br />
-
-license&nbsp;document,&nbsp;but&nbsp;changing&nbsp;it&nbsp;is&nbsp;not&nbsp;allowed.</p>
-
-<div class="SIMPLESECT">
-<hr />
-<h4 class="SIMPLESECT"><a id="AEN7088" name="AEN7088">A.1. Preamble</a></h4>
-
-<p>The licenses for most software are designed to take away your freedom to share and
-change it. By contrast, the GNU General Public License is intended to guarantee your
-freedom to share and change free software--to make sure the software is free for all its
-users. This General Public License applies to most of the Free Software Foundation's
-software and to any other program whose authors commit to using it. (Some other Free
-Software Foundation software is covered by the GNU Library General Public License
-instead.) You can apply it to your programs, too.</p>
-
-<p>When we speak of free software, we are referring to freedom, not price. Our General
-Public Licenses are designed to make sure that you have the freedom to distribute copies
-of free software (and charge for this service if you wish), that you receive source code
-or can get it if you want it, that you can change the software or use pieces of it in new
-free programs; and that you know you can do these things.</p>
-
-<p>To protect your rights, we need to make restrictions that forbid anyone to deny you
-these rights or to ask you to surrender the rights. These restrictions translate to
-certain responsibilities for you if you distribute copies of the software, or if you
-modify it.</p>
-
-<p>For example, if you distribute copies of such a program, whether gratis or for a fee,
-you must give the recipients all the rights that you have. You must make sure that they,
-too, receive or can get the source code. And you must show them these terms so they know
-their rights.</p>
-
-<p>We protect your rights with two steps: (1) copyright the software, and (2) offer you
-this license which gives you legal permission to copy, distribute and/or modify the
-software.</p>
-
-<p>Also, for each author's protection and ours, we want to make certain that everyone
-understands that there is no warranty for this free software. If the software is modified
-by someone else and passed on, we want its recipients to know that what they have is not
-the original, so that any problems introduced by others will not reflect on the original
-authors' reputations.</p>
-
-<p>Finally, any free program is threatened constantly by software patents. We wish to
-avoid the danger that redistributors of a free program will individually obtain patent
-licenses, in effect making the program proprietary. To prevent this, we have made it
-clear that any patent must be licensed for everyone's free use or not licensed at
-all.</p>
-
-<p>The precise terms and conditions for copying, distribution and modification
-follow.</p>
-</div>
-
-<div class="SIMPLESECT">
-<hr />
-<h4 class="SIMPLESECT"><a id="AEN7098" name="AEN7098">A.2. TERMS AND CONDITIONS</a></h4>
-
-<p><span class="emphasis"><i class="EMPHASIS">TERMS AND CONDITIONS FOR COPYING,
-DISTRIBUTION AND MODIFICATION</i></span></p>
-
-<ol type="1">
-<li>
-<p>This License applies to any program or other work which contains a notice placed by
-the copyright holder saying it may be distributed under the terms of this General Public
-License. The &#8220;Program&#8221;, below, refers to any such program or work, and a
-&#8220;work based on the Program&#8221; means either the Program or any derivative work
-under copyright law: that is to say, a work containing the Program or a portion of it,
-either verbatim or with modifications and/or translated into another language.
-(Hereinafter, translation is included without limitation in the term
-&#8220;modification&#8221;.) Each licensee is addressed as &#8220;you&#8221;.</p>
-
-<p>Activities other than copying, distribution and modification are not covered by this
-License; they are outside its scope. The act of running the Program is not restricted,
-and the output from the Program is covered only if its contents constitute a work based
-on the Program (independent of having been made by running the Program). Whether that is
-true depends on what the Program does.</p>
-</li>
-
-<li>
-<p>You may copy and distribute verbatim copies of the Program's source code as you
-receive it, in any medium, provided that you conspicuously and appropriately publish on
-each copy an appropriate copyright notice and disclaimer of warranty; keep intact all the
-notices that refer to this License and to the absence of any warranty; and give any other
-recipients of the Program a copy of this License along with the Program.</p>
-
-<p>You may charge a fee for the physical act of transferring a copy, and you may at your
-option offer warranty protection in exchange for a fee.</p>
-</li>
-
-<li>
-<p>You may modify your copy or copies of the Program or any portion of it, thus forming a
-work based on the Program, and copy and distribute such modifications or work under the
-terms of Section 1 above, provided that you also meet all of these conditions:</p>
-
-<ol type="a">
-<li>
-<p>You must cause the modified files to carry prominent notices stating that you changed
-the files and the date of any change.</p>
-</li>
-
-<li>
-<p>You must cause any work that you distribute or publish, that in whole or in part
-contains or is derived from the Program or any part thereof, to be licensed as a whole at
-no charge to all third parties under the terms of this License.</p>
-</li>
-
-<li>
-<p>If the modified program normally reads commands interactively when run, you must cause
-it, when started running for such interactive use in the most ordinary way, to print or
-display an announcement including an appropriate copyright notice and a notice that there
-is no warranty (or else, saying that you provide a warranty) and that users may
-redistribute the program under these conditions, and telling the user how to view a copy
-of this License. (Exception: if the Program itself is interactive but does not normally
-print such an announcement, your work based on the Program is not required to print an
-announcement.)</p>
-</li>
-</ol>
-
-<p>These requirements apply to the modified work as a whole. If identifiable sections of
-that work are not derived from the Program, and can be reasonably considered independent
-and separate works in themselves, then this License, and its terms, do not apply to those
-sections when you distribute them as separate works. But when you distribute the same
-sections as part of a whole which is a work based on the Program, the distribution of the
-whole must be on the terms of this License, whose permissions for other licensees extend
-to the entire whole, and thus to each and every part regardless of who wrote it.</p>
-
-<p>Thus, it is not the intent of this section to claim rights or contest your rights to
-work written entirely by you; rather, the intent is to exercise the right to control the
-distribution of derivative or collective works based on the Program.</p>
-
-<p>In addition, mere aggregation of another work not based on the Program with the
-Program (or with a work based on the Program) on a volume of a storage or distribution
-medium does not bring the other work under the scope of this License.</p>
-</li>
-
-<li>
-<p>You may copy and distribute the Program (or a work based on it, under Section 2) in
-object code or executable form under the terms of Sections 1 and 2 above provided that
-you also do one of the following:</p>
-
-<ol type="a">
-<li>
-<p>Accompany it with the complete corresponding machine-readable source code, which must
-be distributed under the terms of Sections 1 and 2 above on a medium customarily used for
-software interchange; or,</p>
-</li>
-
-<li>
-<p>Accompany it with a written offer, valid for at least three years, to give any third
-party, for a charge no more than your cost of physically performing source distribution,
-a complete machine-readable copy of the corresponding source code, to be distributed
-under the terms of Sections 1 and 2 above on a medium customarily used for software
-interchange; or,</p>
-</li>
-
-<li>
-<p>Accompany it with the information you received as to the offer to distribute
-corresponding source code. (This alternative is allowed only for noncommercial
-distribution and only if you received the program in object code or executable form with
-such an offer, in accord with Subsection b above.)</p>
-</li>
-</ol>
-
-<p>The source code for a work means the preferred form of the work for making
-modifications to it. For an executable work, complete source code means all the source
-code for all modules it contains, plus any associated interface definition files, plus
-the scripts used to control compilation and installation of the executable. However, as a
-special exception, the source code distributed need not include anything that is normally
-distributed (in either source or binary form) with the major components (compiler,
-kernel, and so on) of the operating system on which the executable runs, unless that
-component itself accompanies the executable.</p>
-
-<p>If distribution of executable or object code is made by offering access to copy from a
-designated place, then offering equivalent access to copy the source code from the same
-place counts as distribution of the source code, even though third parties are not
-compelled to copy the source along with the object code.</p>
-</li>
-
-<li>
-<p>You may not copy, modify, sublicense, or distribute the Program except as expressly
-provided under this License. Any attempt otherwise to copy, modify, sublicense or
-distribute the Program is void, and will automatically terminate your rights under this
-License. However, parties who have received copies, or rights, from you under this
-License will not have their licenses terminated so long as such parties remain in full
-compliance.</p>
-</li>
-
-<li>
-<p>You are not required to accept this License, since you have not signed it. However,
-nothing else grants you permission to modify or distribute the Program or its derivative
-works. These actions are prohibited by law if you do not accept this License. Therefore,
-by modifying or distributing the Program (or any work based on the Program), you indicate
-your acceptance of this License to do so, and all its terms and conditions for copying,
-distributing or modifying the Program or works based on it.</p>
-</li>
-
-<li>
-<p>Each time you redistribute the Program (or any work based on the Program), the
-recipient automatically receives a license from the original licensor to copy, distribute
-or modify the Program subject to these terms and conditions. You may not impose any
-further restrictions on the recipients' exercise of the rights granted herein. You are
-not responsible for enforcing compliance by third parties to this License.</p>
-</li>
-
-<li>
-<p>If, as a consequence of a court judgment or allegation of patent infringement or for
-any other reason (not limited to patent issues), conditions are imposed on you (whether
-by court order, agreement or otherwise) that contradict the conditions of this License,
-they do not excuse you from the conditions of this License. If you cannot distribute so
-as to satisfy simultaneously your obligations under this License and any other pertinent
-obligations, then as a consequence you may not distribute the Program at all. For
-example, if a patent license would not permit royalty-free redistribution of the Program
-by all those who receive copies directly or indirectly through you, then the only way you
-could satisfy both it and this License would be to refrain entirely from distribution of
-the Program.</p>
-
-<p>If any portion of this section is held invalid or unenforceable under any particular
-circumstance, the balance of the section is intended to apply and the section as a whole
-is intended to apply in other circumstances.</p>
-
-<p>It is not the purpose of this section to induce you to infringe any patents or other
-property right claims or to contest validity of any such claims; this section has the
-sole purpose of protecting the integrity of the free software distribution system, which
-is implemented by public license practices. Many people have made generous contributions
-to the wide range of software distributed through that system in reliance on consistent
-application of that system; it is up to the author/donor to decide if he or she is
-willing to distribute software through any other system and a licensee cannot impose that
-choice.</p>
-
-<p>This section is intended to make thoroughly clear what is believed to be a consequence
-of the rest of this License.</p>
-</li>
-
-<li>
-<p>If the distribution and/or use of the Program is restricted in certain countries
-either by patents or by copyrighted interfaces, the original copyright holder who places
-the Program under this License may add an explicit geographical distribution limitation
-excluding those countries, so that distribution is permitted only in or among countries
-not thus excluded. In such case, this License incorporates the limitation as if written
-in the body of this License.</p>
-</li>
-
-<li>
-<p>The Free Software Foundation may publish revised and/or new versions of the General
-Public License from time to time. Such new versions will be similar in spirit to the
-present version, but may differ in detail to address new problems or concerns.</p>
-
-<p>Each version is given a distinguishing version number. If the Program specifies a
-version number of this License which applies to it and &#8220;any later version&#8221;,
-you have the option of following the terms and conditions either of that version or of
-any later version published by the Free Software Foundation. If the Program does not
-specify a version number of this License, you may choose any version ever published by
-the Free Software Foundation.</p>
-</li>
-
-<li>
-<p>If you wish to incorporate parts of the Program into other free programs whose
-distribution conditions are different, write to the author to ask for permission. For
-software which is copyrighted by the Free Software Foundation, write to the Free Software
-Foundation; we sometimes make exceptions for this. Our decision will be guided by the two
-goals of preserving the free status of all derivatives of our free software and of
-promoting the sharing and reuse of software generally.</p>
-</li>
-
-<li>
-<p>NO WARRANTY</p>
-
-<p>BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY FOR THE PROGRAM,
-TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE
-COPYRIGHT HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM &#8220;AS IS&#8221; WITHOUT
-WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE
-IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE
-RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE PROGRAM
-PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, REPAIR OR
-CORRECTION.</p>
-</li>
-
-<li>
-<p>IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING WILL ANY
-COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR REDISTRIBUTE THE PROGRAM AS
-PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL
-OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE PROGRAM
-(INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES
-SUSTAINED BY YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
-PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH
-DAMAGES.</p>
-</li>
-</ol>
-
-<p>END OF TERMS AND CONDITIONS</p>
-</div>
-
-<div class="SIMPLESECT">
-<hr />
-<h4 class="SIMPLESECT"><a id="AEN7162" name="AEN7162">A.3. How to Apply These Terms to
-Your New Programs</a></h4>
-
-<p>If you develop a new program, and you want it to be of the greatest possible use to
-the public, the best way to achieve this is to make it free software which everyone can
-redistribute and change under these terms.</p>
-
-<p>To do so, attach the following notices to the program. It is safest to attach them to
-the start of each source file to most effectively convey the exclusion of warranty; and
-each file should have at least the &#8220;copyright&#8221; line and a pointer to where
-the full notice is found.</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="PROGRAMLISTING">
-&lt;one line to give the program's name and a brief idea of what it does.&gt;
- Copyright (C) &lt;year&gt; &lt;name of author&gt;
-
- This program is free software; you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 2 of the License, or
- (at your option) any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program; if not, write to the Free Software
- Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
-</pre>
-</td>
-</tr>
-</table>
-
-<p>Also add information on how to contact you by electronic and paper mail.</p>
-
-<p>If the program is interactive, make it output a short notice like this when it starts
-in an interactive mode:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-Gnomovision version 69, Copyright (C) year name of author
-Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
-This is free software, and you are welcome to redistribute it
-under certain conditions; type `show c' for details.
-</pre>
-</td>
-</tr>
-</table>
-
-<p>The hypothetical commands `show w' and `show c' should show the appropriate parts of
-the General Public License. Of course, the commands you use may be called something other
-than `show w' and `show c'; they could even be mouse-clicks or menu items--whatever suits
-your program.</p>
-
-<p>You should also get your employer (if you work as a programmer) or your school, if
-any, to sign a &#8220;copyright disclaimer&#8221; for the program, if necessary. Here is
-a sample; alter the names:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="PROGRAMLISTING">
- Yoyodyne, Inc., hereby disclaims all copyright interest in the program
- `Gnomovision' (which makes passes at compilers) written by James Hacker.
-
- &lt;signature of Ty Coon&gt;, 1 April 1989
- Ty Coon, President of Vice
-</pre>
-</td>
-</tr>
-</table>
-
-<p>This General Public License does not permit incorporating your program into
-proprietary programs. If your program is a subroutine library, you may consider it more
-useful to permit linking proprietary applications with the library. If this is what you
-want to do, use the GNU Library General Public License instead of this License.</p>
-</div>
-</div>
-</div>
-
-<hr />
-</body>
-</html>
-
diff --git a/slackbook/html/booting-dual.html b/slackbook/html/booting-dual.html
deleted file mode 100644
index b74eb874..00000000
--- a/slackbook/html/booting-dual.html
+++ /dev/null
@@ -1,341 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta name="generator" content="HTML Tidy, see www.w3.org" />
-<title>Dual Booting</title>
-<meta name="GENERATOR" content="Modular DocBook HTML Stylesheet Version 1.7" />
-<link rel="HOME" title="Slackware Linux Essentials" href="index.html" />
-<link rel="UP" title="Booting" href="booting.html" />
-<link rel="PREVIOUS" title="LOADLIN" href="booting-loadlin.html" />
-<link rel="NEXT" title="The Shell" href="shell.html" />
-<link rel="STYLESHEET" type="text/css" href="docbook.css" />
-<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
-</head>
-<body class="SECT1" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#840084"
-alink="#0000FF">
-<div class="NAVHEADER">
-<table summary="Header navigation table" width="100%" border="0" cellpadding="0"
-cellspacing="0">
-<tr>
-<th colspan="3" align="center">Slackware Linux Essentials</th>
-</tr>
-
-<tr>
-<td width="10%" align="left" valign="bottom"><a href="booting-loadlin.html"
-accesskey="P">Prev</a></td>
-<td width="80%" align="center" valign="bottom">Chapter 7 Booting</td>
-<td width="10%" align="right" valign="bottom"><a href="shell.html"
-accesskey="N">Next</a></td>
-</tr>
-</table>
-
-<hr align="LEFT" width="100%" />
-</div>
-
-<div class="SECT1">
-<h1 class="SECT1"><a id="BOOTING-DUAL" name="BOOTING-DUAL">7.3 Dual Booting</a></h1>
-
-<p>Many users set up their computers to boot Slackware Linux and another operating
-system. We've described several typical dual boot scenarios below, in case you are having
-difficulty setting up your system.</p>
-
-<div class="SECT2">
-<h2 class="SECT2"><a id="BOOTING-DUAL-WINDOWS" name="BOOTING-DUAL-WINDOWS">7.3.1
-Windows</a></h2>
-
-<p>Setting up a computer with both MS Windows and Linux is probably the most common dual
-boot scenario. There are numerous ways you can setup the booting, but this section will
-cover two.</p>
-
-<p>Often times when setting up a dual boot system, a person will devise a perfect plan
-for where everything should go but mess up the installation order. It is very important
-to understand that operating systems need to be installed in a certain order for a dual
-boot setup to work. Linux always offers control over what, if anything, gets written to
-the Master Boot Record. Therefore, it's always advisable to install Linux last. Windows
-should be installed first, since it will always write its booter to the Master Boot
-Record, overwriting any entry Linux may have put there.</p>
-
-<div class="SECT3">
-<h3 class="SECT3"><a id="AEN2577" name="AEN2577">7.3.1.1 Using LILO</a></h3>
-
-<p>Most people will want to use LILO to chose between Linux and Windows. As stated above,
-you should install Windows first, then Linux.</p>
-
-<p>Let's say you have a 40GB IDE hard disk as the only drive in your system. Let's also
-say that you want to give half of that space to Windows and half of that space to Linux.
-This will present a problem when trying to boot Linux.</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="PROGRAMLISTING">
- 20GB Windows boot (C:)
- 1GB Linux root (/)
- 19GB Linux /usr (/usr)
-</pre>
-</td>
-</tr>
-</table>
-
-<p>You would also want to set aside an adequate amount of space for a Linux swap
-partition. The unwritten rule is to use twice the amount of RAM you have in disk space. A
-64MB system would have 128MB of swap, and so on. Adequate swap space is the discussion of
-many flames on IRC and Usenet. There's no truly &#8220;right&#8221; way to do it, but
-sticking with the rule above should be sufficient.</p>
-
-<p>With your partitions laid out, you should proceed to install Windows. After that is
-set up and working, you should install Linux. The LILO installation needs special
-attention. You will want to select the expert mode for installing LILO.</p>
-
-<p>Begin a new LILO configuration. You will want to install it to Master Boot Record so
-that it can be used to choose between the two operating systems. From the menu, add your
-Linux partition and add your Windows (or DOS) partition. Once that's complete, you can
-install LILO.</p>
-
-<p>Reboot the computer. LILO should load and will display a menu letting you select
-between the operating systems you have installed. Select the name of the OS you wish to
-load (these names were selected when you setup LILO).</p>
-
-<p>LILO is quite a configurable boot loader. It's not just limited to booting Linux or
-DOS. It can boot just about anything. The man pages for <tt class="COMMAND">lilo</tt>(8)
-and <tt class="FILENAME">lilo.conf</tt>(5) provide more detailed information.</p>
-
-<p>What if LILO doesn't work? There are instances where LILO just won't work on a
-particular machine. Fortunately, there is another way to dual boot Linux and Windows.</p>
-</div>
-
-<div class="SECT3">
-<h3 class="SECT3"><a id="AEN2591" name="AEN2591">7.3.1.2 Using LOADLIN</a></h3>
-
-<p>This method can be used if LILO doesn't work on your system, or if you just don't want
-to set up LILO. This method is also ideal for the user that reinstalls Windows often.
-Each time you reinstall Windows, it will overwrite the Master Boot Record, thus
-destroying any LILO installation. With LOADLIN, you are not subject to that problem. The
-biggest disadvantage is that you can only use LOADLIN to boot Linux.</p>
-
-<p>With LOADLIN, you can install the operating systems in any order desired. Be careful
-about installing things to the Master Boot Record, you do not want to do that. LOADLIN
-relies on the Windows partition being bootable. So during the Slackware installation,
-make sure you skip the LILO setup.</p>
-
-<p>After installing the operating systems, copy the <tt class="FILENAME">loadlin<var
-class="REPLACEABLE">X</var>.zip</tt> (where <var class="REPLACEABLE">X</var> is a version
-number, such as <var class="LITERAL">16a</var>) file from root's home directory to your
-Windows partition. Also copy your kernel image to the Windows partition. You will need to
-be in Linux for this to work. This example shows how to do this:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">#</samp> <kbd class="USERINPUT">mkdir /win</kbd>
-<samp class="PROMPT">#</samp> <kbd class="USERINPUT">mount -t vfat /dev/hda1 /win</kbd>
-<samp class="PROMPT">#</samp> <kbd class="USERINPUT">mkdir /win/linux</kbd>
-<samp class="PROMPT">#</samp> <kbd class="USERINPUT">cd /root</kbd>
-<samp class="PROMPT">#</samp> <kbd class="USERINPUT">cp loadlin* /win/linux</kbd>
-<samp class="PROMPT">#</samp> <kbd class="USERINPUT">cp /boot/vmlinuz /win/linux</kbd>
-<samp class="PROMPT">#</samp> <kbd class="USERINPUT">cd /win/linuz</kbd>
-<samp class="PROMPT">#</samp> <kbd class="USERINPUT">unzip loadlin16a.zip</kbd>
-</pre>
-</td>
-</tr>
-</table>
-
-<p>That will create a <tt class="FILENAME">C:\LINUX</tt> directory on your Windows
-partition (assuming it's <tt class="FILENAME">/dev/hda1</tt>) and copy over the necessary
-stuff for LOADLIN. After doing this, you will need to reboot into Windows to setup a boot
-menu.</p>
-
-<p>Once in Windows, get to a DOS prompt. First, we need to make sure the system is set to
-not boot into the graphical interface.</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-C:\&#62; <kbd class="USERINPUT">cd \</kbd>
-C:\&#62; <kbd class="USERINPUT">attrib -r -a -s -h MSDOS.SYS</kbd>
-C:\&#62; <kbd class="USERINPUT">edit MSDOS.SYS</kbd>
-</pre>
-</td>
-</tr>
-</table>
-
-<p>Add this line to the file:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="PROGRAMLISTING">
-BootGUI=0
-</pre>
-</td>
-</tr>
-</table>
-
-<p>Now save the file and exit the editor. Now edit <tt
-class="FILENAME">C:\AUTOEXEC.BAT</tt> so we can add a boot menu. The following provides
-an example of what a boot menu block in <tt class="FILENAME">AUTOEXEC.BAT</tt> would look
-like:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="PROGRAMLISTING">
-cls
-echo System Boot Menu
-echo.
-echo 1 - Linux
-echo 2 - Windows
-echo.
-choice /c:12 "Selection? -&#62; "
-if errorlevel 2 goto WIN
-if errorlevel 1 goto LINUX
-:LINUX
-cls
-echo "Starting Linux..."
-cd \linux
-loadlin c:\linux\vmlinuz root=/dev/hda2 ro
-goto END
-:WIN
-cls
-echo "Starting Windows..."
-win
-goto END
-:END
-</pre>
-</td>
-</tr>
-</table>
-
-<p>The key line is the one that runs LOADLIN. We tell it the kernel to load, the Linux
-root partition, and that we want it mounted read-only initially.</p>
-
-<p>The tools for these two methods are provided with Slackware Linux. There are numerous
-other booters on the market, but these should work for most dual boot setups.</p>
-</div>
-
-<div class="SECT3">
-<h3 class="SECT3"><a id="AEN2633" name="AEN2633">7.3.1.3 Deprecated Windows NT
-Hack</a></h3>
-
-<p>This is the least common dual booting situation. In the days of old, LILO was unable
-to boot Windows NT, requiring Linux users to hack NTLDR, which presented several more
-problems than dual booting between Windows 9x and Linux. Understand that the following
-instructions are deprecated. LILO has been able to boot Windows NT/2000/XP/2003 for many
-years now. If you are using a legacy machine though, you may need to use just such a
-hack.</p>
-
-<ol type="1">
-<li>
-<p>Install Windows NT</p>
-</li>
-
-<li>
-<p>Install Linux, making sure LILO is installed to the superblock of the Linux
-partition</p>
-</li>
-
-<li>
-<p>Get the first 512 bytes of the Linux root partition and store it on the Windows NT
-partition</p>
-</li>
-
-<li>
-<p>Edit <tt class="FILENAME">C:\BOOT.INI</tt> under Windows NT to add a Linux option</p>
-</li>
-</ol>
-
-<p>Installing Windows NT should be fairly straightforward, as should installing Linux.
-From there, it gets a little more tricky. Grabbing the first 512 bytes of the Linux
-partition is easier than it sounds. You will need to be in Linux to accomplish this.
-Assuming your Linux partition is <tt class="FILENAME">/dev/hda2</tt>, issue this
-command:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">#</samp> <kbd
-class="USERINPUT">dd if=/dev/hda2 of=/tmp/bootsect.lnx bs=1 count=512</kbd>
-</pre>
-</td>
-</tr>
-</table>
-
-<p>That's it. Now you need to copy bootsect.lnx to the Windows NT partition. Here's where
-we run into another problem. Linux does not have stable write support for the NTFS
-filesystem. If you installed Windows NT and formatted your drive as NTFS, you will need
-to copy this file to a FAT floppy and then read from it under Windows NT. If you
-formatted the Windows NT drive as FAT, you can simply mount it under Linux and copy the
-file over. Either way, you will want to get <tt class="FILENAME">/tmp/bootsect.lnx</tt>
-from the Linux drive to <tt class="FILENAME">C:\BOOTSECT.LNX</tt> on the Windows NT
-drive.</p>
-
-<p>The last step is adding a menu option to the Windows NT boot menu. Under Windows NT
-open a command prompt.</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-C:\WINNT&#62; <kbd class="USERINPUT">cd \</kbd>
-C:\&#62; <kbd class="USERINPUT">attrib -r -a -s -h boot.ini</kbd>
-C:\&#62; <kbd class="USERINPUT">edit boot.ini</kbd>
-</pre>
-</td>
-</tr>
-</table>
-
-<p>Add this line to the end of the file:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="PROGRAMLISTING">
-C:\bootsect.lnx="Slackware Linux"
-</pre>
-</td>
-</tr>
-</table>
-
-<p>Save the changes and exit the editor. When you reboot Windows NT, you will have a
-Linux option on the menu. Choosing it will boot into Linux.</p>
-</div>
-</div>
-
-<div class="SECT2">
-<h2 class="SECT2"><a id="BOOTING-DUAL-LINUX" name="BOOTING-DUAL-LINUX">7.3.2
-Linux</a></h2>
-
-<p>Yes, people really do this. This is definitely the easiest dual boot scenario. You can
-simply use LILO and add more entries to the <tt class="FILENAME">/etc/lilo.conf</tt>
-file. That's all there is to it.</p>
-</div>
-</div>
-
-<div class="NAVFOOTER">
-<hr align="LEFT" width="100%" />
-<table summary="Footer navigation table" width="100%" border="0" cellpadding="0"
-cellspacing="0">
-<tr>
-<td width="33%" align="left" valign="top"><a href="booting-loadlin.html"
-accesskey="P">Prev</a></td>
-<td width="34%" align="center" valign="top"><a href="index.html"
-accesskey="H">Home</a></td>
-<td width="33%" align="right" valign="top"><a href="shell.html"
-accesskey="N">Next</a></td>
-</tr>
-
-<tr>
-<td width="33%" align="left" valign="top">LOADLIN</td>
-<td width="34%" align="center" valign="top"><a href="booting.html"
-accesskey="U">Up</a></td>
-<td width="33%" align="right" valign="top">The Shell</td>
-</tr>
-</table>
-</div>
-</body>
-</html>
-
diff --git a/slackbook/html/booting-loadlin.html b/slackbook/html/booting-loadlin.html
deleted file mode 100644
index d11754d3..00000000
--- a/slackbook/html/booting-loadlin.html
+++ /dev/null
@@ -1,116 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta name="generator" content="HTML Tidy, see www.w3.org" />
-<title>LOADLIN</title>
-<meta name="GENERATOR" content="Modular DocBook HTML Stylesheet Version 1.7" />
-<link rel="HOME" title="Slackware Linux Essentials" href="index.html" />
-<link rel="UP" title="Booting" href="booting.html" />
-<link rel="PREVIOUS" title="Booting" href="booting.html" />
-<link rel="NEXT" title="Dual Booting" href="booting-dual.html" />
-<link rel="STYLESHEET" type="text/css" href="docbook.css" />
-<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
-</head>
-<body class="SECT1" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#840084"
-alink="#0000FF">
-<div class="NAVHEADER">
-<table summary="Header navigation table" width="100%" border="0" cellpadding="0"
-cellspacing="0">
-<tr>
-<th colspan="3" align="center">Slackware Linux Essentials</th>
-</tr>
-
-<tr>
-<td width="10%" align="left" valign="bottom"><a href="booting.html"
-accesskey="P">Prev</a></td>
-<td width="80%" align="center" valign="bottom">Chapter 7 Booting</td>
-<td width="10%" align="right" valign="bottom"><a href="booting-dual.html"
-accesskey="N">Next</a></td>
-</tr>
-</table>
-
-<hr align="LEFT" width="100%" />
-</div>
-
-<div class="SECT1">
-<h1 class="SECT1"><a id="BOOTING-LOADLIN" name="BOOTING-LOADLIN">7.2 LOADLIN</a></h1>
-
-<p>The other booting option that comes with Slackware Linux is LOADLIN. LOADLIN is a DOS
-executable that can be used to start Linux from a running DOS system. It requires the
-Linux kernel to be on the DOS partition so that LOADLIN can load it and properly boot the
-system.</p>
-
-<p>During the installation process, LOADLIN will be copied to root's home directory as a
-.ZIP file. There is no automatic setup process for LOADLIN. You will need to copy the
-Linux kernel (typically <tt class="FILENAME">/boot/vmlinuz</tt>) and the LOADLIN file
-from root's home directory to the DOS partition.</p>
-
-<p>LOADLIN is useful if you would like to make a boot menu on your DOS partition. A menu
-could be added to your <tt class="FILENAME">AUTOEXEC.BAT</tt> file that would allow you
-to pick between Linux or DOS. A choice of Linux would run LOADLIN, thus booting your
-Slackware system. This <tt class="FILENAME">AUTOEXEC.BAT</tt> file under Windows 95 will
-provide a sufficient boot menu:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="PROGRAMLISTING">
- @ECHO OFF
- SET PROMPT=$P$G
- SET PATH=C:\WINDOWS;C:\WINDOWS\COMMAND;C:\
- CLS
- ECHO Please Select Your Operating System:
- ECHO.
- ECHO [1] Slackware Linux
- ECHO [2] Windows 95
- ECHO.
- CHOICE /C:12 "Selection? -&gt; "
- IF ERRORLEVEL 2 GOTO WIN
- IF ERRORLEVEL 1 GOTO LINUX
- :WIN
- CLS
- ECHO Starting Windows 95...
- WIN
- GOTO END
- :LINUX
- ECHO Starting Slackware Linux...
- CD \LINUX
- LOADLIN C:\LINUX\VMLINUZ ROOT=&lt;root partition device&gt; RO
- GOTO END
- :END
-</pre>
-</td>
-</tr>
-</table>
-
-<p>You will want to specify your root partition as a Linux device name, like <tt
-class="FILENAME">/dev/hda2</tt> or something else. You can always use LOADLIN at the
-command line. You simply use it in the same manner as it is in the example above. The
-LOADLIN documentation comes with many examples on how to use it.</p>
-</div>
-
-<div class="NAVFOOTER">
-<hr align="LEFT" width="100%" />
-<table summary="Footer navigation table" width="100%" border="0" cellpadding="0"
-cellspacing="0">
-<tr>
-<td width="33%" align="left" valign="top"><a href="booting.html"
-accesskey="P">Prev</a></td>
-<td width="34%" align="center" valign="top"><a href="index.html"
-accesskey="H">Home</a></td>
-<td width="33%" align="right" valign="top"><a href="booting-dual.html"
-accesskey="N">Next</a></td>
-</tr>
-
-<tr>
-<td width="33%" align="left" valign="top">Booting</td>
-<td width="34%" align="center" valign="top"><a href="booting.html"
-accesskey="U">Up</a></td>
-<td width="33%" align="right" valign="top">Dual Booting</td>
-</tr>
-</table>
-</div>
-</body>
-</html>
-
diff --git a/slackbook/html/booting.html b/slackbook/html/booting.html
deleted file mode 100644
index ca3b7871..00000000
--- a/slackbook/html/booting.html
+++ /dev/null
@@ -1,202 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta name="generator" content="HTML Tidy, see www.w3.org" />
-<title>Booting</title>
-<meta name="GENERATOR" content="Modular DocBook HTML Stylesheet Version 1.7" />
-<link rel="HOME" title="Slackware Linux Essentials" href="index.html" />
-<link rel="PREVIOUS" title="xdm" href="x-window-system-xdm.html" />
-<link rel="NEXT" title="LOADLIN" href="booting-loadlin.html" />
-<link rel="STYLESHEET" type="text/css" href="docbook.css" />
-<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
-</head>
-<body class="CHAPTER" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#840084"
-alink="#0000FF">
-<div class="NAVHEADER">
-<table summary="Header navigation table" width="100%" border="0" cellpadding="0"
-cellspacing="0">
-<tr>
-<th colspan="3" align="center">Slackware Linux Essentials</th>
-</tr>
-
-<tr>
-<td width="10%" align="left" valign="bottom"><a href="x-window-system-xdm.html"
-accesskey="P">Prev</a></td>
-<td width="80%" align="center" valign="bottom"></td>
-<td width="10%" align="right" valign="bottom"><a href="booting-loadlin.html"
-accesskey="N">Next</a></td>
-</tr>
-</table>
-
-<hr align="LEFT" width="100%" />
-</div>
-
-<div class="CHAPTER">
-<h1><a id="BOOTING" name="BOOTING"></a>Chapter 7 Booting</h1>
-
-<div class="TOC">
-<dl>
-<dt><b>Table of Contents</b></dt>
-
-<dt>7.1 <a href="booting.html#BOOTING-LILO">LILO</a></dt>
-
-<dt>7.2 <a href="booting-loadlin.html">LOADLIN</a></dt>
-
-<dt>7.3 <a href="booting-dual.html">Dual Booting</a></dt>
-</dl>
-</div>
-
-<p>The process of booting your Linux system can sometimes be easy and sometimes be
-difficult. Many users install Slackware on their computer and that's it. They just turn
-it on and it's ready to use. Othertimes, simply booting the machine can be a chore. For
-most users, LILO works best. Slackware includes LILO and Loadlin for booting Slackware
-Linux. LILO will work from a hard drive partition, a hard drive's master boot record, or
-a floppy disk, making it a very versatile tool. Loadlin works from a DOS command line,
-killing DOS and invoking Linux.</p>
-
-<p>Another popular utility for booting Linux is GRUB. GRUB is not included or officially
-supported by Slackware. Slackware holds to the &#8220;tried and true&#8221; standard for
-what gets included inside the distribution. While GRUB works well and includes some
-features that LILO does not, LILO handles all the essential tasks of a boot loader
-reliably with a proven track record. Being younger, GRUB hasn't quite lived up to that
-legacy yet. As it is not included with Slackware, we do not discuss it here. If you wish
-to use GRUB (perhaps it came with another Linux OS and you want to use it to dual-boot)
-consult GRUB's documentation.</p>
-
-<p>This section covers using LILO and Loadlin, the two booters included with Slackware.
-It also explains some typical dual booting scenarios and how you could go about setting
-it up.</p>
-
-<div class="SECT1">
-<h1 class="SECT1"><a id="BOOTING-LILO" name="BOOTING-LILO">7.1 LILO</a></h1>
-
-<p>The Linux Loader, or LILO, is the most popular booter in use on Linux systems. It is
-quite configurable and can easily be used to boot other operating systems.</p>
-
-<p>Slackware Linux comes with a menu-driven configuration utility called <tt
-class="COMMAND">liloconfig</tt>. This program is first run during the setup process, but
-you can invoke it later by typing <tt class="COMMAND">liloconfig</tt> at the prompt.</p>
-
-<p>LILO reads its settings from the <tt class="COMMAND">/etc/lilo.conf</tt>(5) file. It
-is not read each time you boot up, but instead is read each time you install LILO. LILO
-must be reinstalled to the boot sector each time you make a configuration change. Many
-LILO errors come from making changes to the <tt class="FILENAME">lilo.conf</tt> file, but
-failing to re-run lilo to install these changes. <tt class="COMMAND">liloconfig</tt> will
-help you build the configuration file so that you can install LILO for your system. If
-you prefer to edit <tt class="FILENAME">/etc/lilo.conf</tt> by hand, then reinstalling
-LILO just involves typing <tt class="COMMAND">/sbin/lilo</tt> (as <tt
-class="USERNAME">root</tt>) at the prompt.</p>
-
-<p>When you first invoke <tt class="COMMAND">liloconfig</tt>, it will look like this:</p>
-
-<div class="FIGURE"><a id="BOOTING-SETUP-LILO" name="BOOTING-SETUP-LILO"></a>
-<p><b>Figure 7-1. <tt class="COMMAND">liloconfig</tt></b></p>
-
-<p><img src="booting/setup-lilo-w.png" /></p>
-</div>
-
-<p>If this is your first time setting up LILO, you should pick simple. Otherwise, you
-might find expert to be faster if you are familiar with LILO and Linux. Selecting simple
-will begin the LILO configuration.</p>
-
-<p>If kernel frame buffer support is compiled into your kernel, <tt
-class="COMMAND">liloconfig</tt> will ask which video resolution you would like to use.
-This is the resolution that is also used by the XFree86 frame buffer server. If you do
-not want the console to run in a special video mode, selecting normal will keep the
-standard 80x25 text mode in use.</p>
-
-<p>The next part of the LILO configuration is selecting where you want it installed. This
-is probably the most important step. The list below explains the installation places:</p>
-
-<div class="VARIABLELIST">
-<dl>
-<dt><var class="OPTION">Root</var></dt>
-
-<dd>
-<p>This option installs LILO to the beginning of your Linux root partition. This is the
-safest option if you have other operating systems on your computer. It ensures that any
-other booters are not overwritten. The disadvantage is that LILO will only load from here
-if your Linux drive is the first drive on your system. This is why many people chose to
-create a very small <tt class="FILENAME">/boot</tt> partition as the first drive on their
-system. This allows the kernel and LILO to be installed at the beginning of the drive
-where LILO can find them. Previous versions of LILO contained an infamous flaw known as
-the &#8220;1024 cylinder limit&#8221;. LILO was unable to boot kernels on partitions past
-the 1024th cylinder. Recent editions of LILO have eliminated this problem.</p>
-</dd>
-
-<dt><var class="OPTION">Floppy</var></dt>
-
-<dd>
-<p>This method is even safer than the previous one. It creates a boot floppy that you can
-use to boot your Linux system. This keeps the booter off the hard disk entirely, so you
-only boot this floppy when you want to use Slackware. The flaws with this method are
-obvious. Floppies are notoriously fickle, prone to failures. Secondly, the boot loader is
-no longer self-contained within the computer. If you loose your floppy disk, you'll have
-to make another to boot your system.</p>
-</dd>
-
-<dt><var class="OPTION">MBR</var></dt>
-
-<dd>
-<p>You will want to use this method if Slackware is the only operating system on your
-computer, or if you will be using LILO to choose between multiple operating systems on
-your computer. This is the most preferred method for installing LILO and will work with
-almost any computer system.</p>
-
-<div class="WARNING">
-<table class="WARNING" width="90%" border="0">
-<tr>
-<td width="25" align="CENTER" valign="TOP"><img src="./imagelib/admon/warning.png"
-hspace="5" alt="Warning" /></td>
-<td align="LEFT" valign="TOP">
-<p>This option will overwrite any other booter you have in the MBR.</p>
-</td>
-</tr>
-</table>
-</div>
-</dd>
-</dl>
-</div>
-
-<p>After selecting the installation location, <tt class="COMMAND">liloconfig</tt> will
-write the configuration file and install LILO. That's it. If you select the expert mode
-you will receive a special menu. This menu allows you to tweak the <tt
-class="FILENAME">/etc/lilo.conf</tt> file, add other operating systems to your boot menu,
-and set LILO to pass special kernel parameters at boot time. The expert menu looks like
-this:</p>
-
-<div class="FIGURE"><a id="BOOTING-LILO-EXPERT" name="BOOTING-LILO-EXPERT"></a>
-<p><b>Figure 7-2. <tt class="COMMAND">liloconfig</tt> Expert Menu</b></p>
-
-<p><img src="booting/setup-lilo-expert-w.png" /></p>
-</div>
-
-<p>Whatever your system configuration is, setting up a working boot loader is easy. <tt
-class="COMMAND">liloconfig</tt> makes setting it up a cinch.</p>
-</div>
-</div>
-
-<div class="NAVFOOTER">
-<hr align="LEFT" width="100%" />
-<table summary="Footer navigation table" width="100%" border="0" cellpadding="0"
-cellspacing="0">
-<tr>
-<td width="33%" align="left" valign="top"><a href="x-window-system-xdm.html"
-accesskey="P">Prev</a></td>
-<td width="34%" align="center" valign="top"><a href="index.html"
-accesskey="H">Home</a></td>
-<td width="33%" align="right" valign="top"><a href="booting-loadlin.html"
-accesskey="N">Next</a></td>
-</tr>
-
-<tr>
-<td width="33%" align="left" valign="top"><tt class="COMMAND">xdm</tt></td>
-<td width="34%" align="center" valign="top">&nbsp;</td>
-<td width="33%" align="right" valign="top">LOADLIN</td>
-</tr>
-</table>
-</div>
-</body>
-</html>
-
diff --git a/slackbook/html/booting/setup-lilo-expert-w.png b/slackbook/html/booting/setup-lilo-expert-w.png
deleted file mode 100644
index 9c029d78..00000000
--- a/slackbook/html/booting/setup-lilo-expert-w.png
+++ /dev/null
Binary files differ
diff --git a/slackbook/html/booting/setup-lilo-w.png b/slackbook/html/booting/setup-lilo-w.png
deleted file mode 100644
index 638a29ff..00000000
--- a/slackbook/html/booting/setup-lilo-w.png
+++ /dev/null
Binary files differ
diff --git a/slackbook/html/docbook.css b/slackbook/html/docbook.css
deleted file mode 100644
index 7d7cf794..00000000
--- a/slackbook/html/docbook.css
+++ /dev/null
@@ -1,162 +0,0 @@
-/*
- * Copyright (c) 2001, 2003 The FreeBSD Documentation Project
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the distribution.
- *
- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
- * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
- * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
- * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
- * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- *
- * $FreeBSD: doc/share/misc/docbook.css,v 1.7 2004/03/22 19:17:52 ceri Exp $
- */
-
-
-DIV.TITLEPAGE {
- text-align: center;
-}
-
-P.COPYRIGHT {
- text-align: left;
-}
-
-SPAN.ISBN {
- text-align: left;
-}
-
-DIV.LEGALNOTICE {
- text-align: left;
-}
-
-.USERINPUT {
- font-weight: bold;
-}
-
-BODY ADDRESS {
- line-height: 1.3;
- margin: .6em 0;
-}
-
-BODY BLOCKQUOTE {
- margin-top: .75em;
- line-height: 1.5;
- margin-bottom: .75em;
-}
-
-HTML BODY {
- margin: 1em 8% 1em 10%;
- line-height: 1.2;
-}
-
-.LEGALNOTICE {
- font-size: small;
- font-variant: small-caps;
-}
-
-BODY DIV {
- margin: 0;
-}
-
-DL {
- margin: .8em 0;
- line-height: 1.2;
-}
-
-BODY FORM {
- margin: .6em 0;
-}
-
-BODY H1 {
- margin: .8em 0 0 -4%;
- line-height: 1.3;
-}
-
-BODY H2 {
- margin: .8em 0 0 -4%;
- line-height: 1.3;
-}
-
-BODY H3 {
- margin: .8em 0 0 -3%;
- line-height: 1.3;
-}
-
-BODY H4 {
- margin: .8em 0 0 -3%;
- line-height: 1.3;
-}
-
-BODY H5 {
- margin: .8em 0 0 -2%;
- line-height: 1.3;
-}
-
-BODY H6 {
- margin: .8em 0 0 -1%;
- line-height: 1.3;
-}
-
-BODY HR {
- margin: .6em
-}
-
-BODY IMG.NAVHEADER {
- margin: 0 0 0 -4%;
-}
-
-OL {
- margin: 0 0 0 5%;
- line-height: 1.2;
-}
-
-BODY TD {
- line-height: 1.2
-}
-
-BODY TH {
- line-height: 1.2;
-}
-
-UL, BODY DIR, BODY MENU {
- margin: 0 0 0 5%;
- line-height: 1.2;
-}
-
-HTML {
- margin: 0;
- padding: 0;
-}
-
-BODY H1, BODY H2, BODY H3, BODY H4, BODY H5, BODY H6 {
- margin-left: 0
-}
-
-.GUIMENU, .GUIMENUITEM, .GUISUBMENU,
-.GUILABEL, .INTERFACE, .GUIBUTTON,
-.SHORTCUT, .SHORTCUT .KEYCAP {
- background-color: #F0F0F0;
-}
-
-.ACCEL {
- background-color: #F0F0F0;
- text-decoration: underline;
-}
-
-.PROGRAMLISTING, .SCREEN {
- margin-left: 3ex;
-}
diff --git a/slackbook/html/emacs-basic-editing.html b/slackbook/html/emacs-basic-editing.html
deleted file mode 100644
index fbc5072b..00000000
--- a/slackbook/html/emacs-basic-editing.html
+++ /dev/null
@@ -1,227 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta name="generator" content="HTML Tidy, see www.w3.org" />
-<title>Basic Editing</title>
-<meta name="GENERATOR" content="Modular DocBook HTML Stylesheet Version 1.7" />
-<link rel="HOME" title="Slackware Linux Essentials" href="index.html" />
-<link rel="UP" title="Emacs" href="emacs.html" />
-<link rel="PREVIOUS" title="Modes" href="emacs-modes.html" />
-<link rel="NEXT" title="Saving Files" href="emacs-saving-files.html" />
-<link rel="STYLESHEET" type="text/css" href="docbook.css" />
-<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
-</head>
-<body class="SECT1" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#840084"
-alink="#0000FF">
-<div class="NAVHEADER">
-<table summary="Header navigation table" width="100%" border="0" cellpadding="0"
-cellspacing="0">
-<tr>
-<th colspan="3" align="center">Slackware Linux Essentials</th>
-</tr>
-
-<tr>
-<td width="10%" align="left" valign="bottom"><a href="emacs-modes.html"
-accesskey="P">Prev</a></td>
-<td width="80%" align="center" valign="bottom">Chapter 17 Emacs</td>
-<td width="10%" align="right" valign="bottom"><a href="emacs-saving-files.html"
-accesskey="N">Next</a></td>
-</tr>
-</table>
-
-<hr align="LEFT" width="100%" />
-</div>
-
-<div class="SECT1">
-<h1 class="SECT1"><a id="EMACS-BASIC-EDITING" name="EMACS-BASIC-EDITING">17.4 Basic
-Editing</a></h1>
-
-<p>When you have opened a file, you can of course move around in it with the cursor. The
-<b class="KEYCAP">cursor keys</b> and <b class="KEYCAP">PgUp</b>, <b
-class="KEYCAP">PgDn</b> do what you'd expect. <b class="KEYCAP">Home</b> and <b
-class="KEYCAP">End</b> jump to the beginning and end of the line. (In older versions,
-they would actually jump to the beginning and end of the buffer.) However, there are also
-<b class="KEYCAP">Control</b> and <b class="KEYCAP">Meta</b> (<b class="KEYCAP">Alt</b>)
-key combos that move the cursor around. Because you do not need to move your hands to
-another part of the keyboard for these, they are much quicker once you get used to them.
-The most important such commands are listed in <a
-href="emacs-basic-editing.html#TABLE-EMACS-BASIC-EDITING">Table 17-1</a>.</p>
-
-<div class="TABLE"><a id="TABLE-EMACS-BASIC-EDITING"
-name="TABLE-EMACS-BASIC-EDITING"></a>
-<p><b>Table 17-1. Basic Emacs Editing Commands</b></p>
-
-<table border="0" frame="void" width="100%" class="CALSTABLE">
-<col width="25%" />
-<col width="75%" />
-<thead>
-<tr>
-<th>Command</th>
-<th>Result</th>
-</tr>
-</thead>
-
-<tbody>
-<tr>
-<td><b class="KEYCAP">C</b>-<b class="KEYCAP">b</b> </td>
-<td>go one character back</td>
-</tr>
-
-<tr>
-<td><b class="KEYCAP">C</b>-<b class="KEYCAP">f</b> </td>
-<td>go one character forward</td>
-</tr>
-
-<tr>
-<td><b class="KEYCAP">C</b>-<b class="KEYCAP">n</b> </td>
-<td>go one line down</td>
-</tr>
-
-<tr>
-<td><b class="KEYCAP">C</b>-<b class="KEYCAP">p</b> </td>
-<td>go one line up</td>
-</tr>
-
-<tr>
-<td><b class="KEYCAP">C</b>-<b class="KEYCAP">a</b> </td>
-<td>go to the beginning of the line</td>
-</tr>
-
-<tr>
-<td><b class="KEYCAP">C</b>-<b class="KEYCAP">e</b> </td>
-<td>go to the end of the line</td>
-</tr>
-
-<tr>
-<td><b class="KEYCAP">M</b>-<b class="KEYCAP">b</b> </td>
-<td>go one word back</td>
-</tr>
-
-<tr>
-<td><b class="KEYCAP">M</b>-<b class="KEYCAP">f</b> </td>
-<td>go one word forward</td>
-</tr>
-
-<tr>
-<td><b class="KEYCAP">M</b>-<b class="KEYCAP">}</b> </td>
-<td>go one paragraph forward</td>
-</tr>
-
-<tr>
-<td><b class="KEYCAP">M</b>-<b class="KEYCAP">{</b> </td>
-<td>go one paragraph backward</td>
-</tr>
-
-<tr>
-<td><b class="KEYCAP">M</b>-<b class="KEYCAP">a</b> </td>
-<td>go one sentence backward</td>
-</tr>
-
-<tr>
-<td><b class="KEYCAP">M</b>-<b class="KEYCAP">e</b> </td>
-<td>go one sentence forward</td>
-</tr>
-
-<tr>
-<td><b class="KEYCAP">C</b>-<b class="KEYCAP">d</b> </td>
-<td>delete the character under the cursor</td>
-</tr>
-
-<tr>
-<td><b class="KEYCAP">M</b>-<b class="KEYCAP">d</b> </td>
-<td>delete until the end of the current word</td>
-</tr>
-
-<tr>
-<td><b class="KEYCAP">C</b>-<b class="KEYCAP">v</b> </td>
-<td>go down one screen (i.e., PgDn)</td>
-</tr>
-
-<tr>
-<td><b class="KEYCAP">M</b>-<b class="KEYCAP">v</b> </td>
-<td>go up one screen (i.e., PgUp)</td>
-</tr>
-
-<tr>
-<td><b class="KEYCAP">M</b>-<b class="KEYCAP">&lt;</b> </td>
-<td>go to the beginning of the buffer</td>
-</tr>
-
-<tr>
-<td><b class="KEYCAP">M</b>-<b class="KEYCAP">&gt;</b> </td>
-<td>go to the end of the buffer</td>
-</tr>
-
-<tr>
-<td><b class="KEYCAP">C</b>-<b class="KEYCAP">_</b> </td>
-<td>undo the last change (can be repeated); note that you actually have to type <b
-class="KEYCAP">Shift</b>+<b class="KEYCAP">Control</b>+<b class="KEYCAP">hyphen</b> for
-this.</td>
-</tr>
-
-<tr>
-<td><b class="KEYCAP">C</b>-<b class="KEYCAP">k</b> </td>
-<td>delete to end of line</td>
-</tr>
-
-<tr>
-<td><b class="KEYCAP">C</b>-<b class="KEYCAP">s</b> </td>
-<td>forward search</td>
-</tr>
-
-<tr>
-<td><b class="KEYCAP">C</b>-<b class="KEYCAP">r</b> </td>
-<td>backward search</td>
-</tr>
-</tbody>
-</table>
-</div>
-
-<p>Note that many <b class="KEYCAP">Meta</b> commands are parallel to the <b
-class="KEYCAP">Control</b> commands except that they operate on larger units: while <b
-class="KEYCAP">C</b>-<b class="KEYCAP">f</b> goes forward one character, <b
-class="KEYCAP">M</b>-<b class="KEYCAP">f</b> goes forward an entire word, etc.</p>
-
-<p>Also note that <b class="KEYCAP">M</b>-<b class="KEYCAP">&lt;</b> and <b
-class="KEYCAP">M</b>-<b class="KEYCAP">&gt;</b> require you to type <b
-class="KEYCAP">Shift</b>+<b class="KEYCAP">Alt</b>+<b class="KEYCAP">comma</b> and <b
-class="KEYCAP">Shift</b>+<b class="KEYCAP">Alt</b>+<b class="KEYCAP">dot</b>
-respectively, since <b class="KEYCAP">&lt;</b> and <b class="KEYCAP">&gt;</b> are on <b
-class="KEYCAP">Shift</b>+<b class="KEYCAP">comma</b> and <b class="KEYCAP">Shift</b>+<b
-class="KEYCAP">dot</b>. (Unless of course you have a different keyboard layout from the
-standard US layout.)</p>
-
-<p>Note that <b class="KEYCAP">C</b>-<b class="KEYCAP">k</b> deletes (kills, as it is
-commonly called) all the text after the cursor to the end of the line, but doesn't delete
-the line itself (i.e., it doesn't delete the final newline). It only deletes the line if
-there was no text after the cursor. In other words, in order to delete a complete line,
-you have to put the cursor at the beginning of the line, and then hit <b
-class="KEYCAP">C</b>-<b class="KEYCAP">k</b> twice: once to delete the text on the line,
-once to delete the line itself.</p>
-</div>
-
-<div class="NAVFOOTER">
-<hr align="LEFT" width="100%" />
-<table summary="Footer navigation table" width="100%" border="0" cellpadding="0"
-cellspacing="0">
-<tr>
-<td width="33%" align="left" valign="top"><a href="emacs-modes.html"
-accesskey="P">Prev</a></td>
-<td width="34%" align="center" valign="top"><a href="index.html"
-accesskey="H">Home</a></td>
-<td width="33%" align="right" valign="top"><a href="emacs-saving-files.html"
-accesskey="N">Next</a></td>
-</tr>
-
-<tr>
-<td width="33%" align="left" valign="top">Modes</td>
-<td width="34%" align="center" valign="top"><a href="emacs.html"
-accesskey="U">Up</a></td>
-<td width="33%" align="right" valign="top">Saving Files</td>
-</tr>
-</table>
-</div>
-</body>
-</html>
-
diff --git a/slackbook/html/emacs-buffers.html b/slackbook/html/emacs-buffers.html
deleted file mode 100644
index 53516de8..00000000
--- a/slackbook/html/emacs-buffers.html
+++ /dev/null
@@ -1,112 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta name="generator" content="HTML Tidy, see www.w3.org" />
-<title>Buffers</title>
-<meta name="GENERATOR" content="Modular DocBook HTML Stylesheet Version 1.7" />
-<link rel="HOME" title="Slackware Linux Essentials" href="index.html" />
-<link rel="UP" title="Emacs" href="emacs.html" />
-<link rel="PREVIOUS" title="Emacs" href="emacs.html" />
-<link rel="NEXT" title="Modes" href="emacs-modes.html" />
-<link rel="STYLESHEET" type="text/css" href="docbook.css" />
-<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
-</head>
-<body class="SECT1" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#840084"
-alink="#0000FF">
-<div class="NAVHEADER">
-<table summary="Header navigation table" width="100%" border="0" cellpadding="0"
-cellspacing="0">
-<tr>
-<th colspan="3" align="center">Slackware Linux Essentials</th>
-</tr>
-
-<tr>
-<td width="10%" align="left" valign="bottom"><a href="emacs.html"
-accesskey="P">Prev</a></td>
-<td width="80%" align="center" valign="bottom">Chapter 17 Emacs</td>
-<td width="10%" align="right" valign="bottom"><a href="emacs-modes.html"
-accesskey="N">Next</a></td>
-</tr>
-</table>
-
-<hr align="LEFT" width="100%" />
-</div>
-
-<div class="SECT1">
-<h1 class="SECT1"><a id="EMACS-BUFFERS" name="EMACS-BUFFERS">17.2 Buffers</a></h1>
-
-<p>In Emacs, the concept of &#8220;buffers&#8221; is essential. Every file that you open
-is loaded into its own buffer. Furthermore, Emacs has several special buffers, which do
-not contain a file but are used for other things. Such special buffers usually have a
-name that starts and ends with an asterisk. For example, the buffer that Emacs shows when
-it is first started, is the so-called *scratch* buffer. In the *scratch* buffer, you can
-type text in the normal way, but text that is typed there is not saved when Emacs is
-closed.</p>
-
-<p>There is one other special buffer you need to know about, and that is the minibuffer.
-This buffer consists of only one line, and is always on the screen: it is the very last
-line of the Emacs window, below the status bar for the current buffer. The minibuffer is
-where Emacs shows messages for the user, and it is also the place where commands that
-require some user input are executed. For example, when you open a file, Emacs will ask
-for its name in the minibuffer.</p>
-
-<p>Switching from one buffer to another can be done with the command <b
-class="KEYCAP">C</b>-<b class="KEYCAP">x</b> <b class="KEYCAP">b</b>. This will prompt
-you for the name of a buffer (a buffer's name is usually the name of the file you are
-editing in it), and it gives a default choice, which is normally the buffer that you were
-in before you switched to or created the current buffer. Just hitting <span
-class="emphasis"><i class="EMPHASIS">Enter</i></span> will switch to that default
-buffer.</p>
-
-<p>If you want to switch to another buffer than the default offered by Emacs, just type
-its name. Note that you can use so-called <b class="KEYCAP">Tab</b>-completion here: type
-the first few letters of the buffer's name and hit <b class="KEYCAP">Tab</b>; Emacs will
-then complete the name of the buffer. <b class="KEYCAP">Tab</b> completion works
-everywhere in Emacs where it makes sense.</p>
-
-<p>You can get a list of open buffers by hitting <b class="KEYCAP">C</b>-<b
-class="KEYCAP">x</b> <b class="KEYCAP">C</b>-<b class="KEYCAP">b</b>. This command will
-usually split the screen in two, displaying the buffer you were working in in the top
-half, and a new buffer called *Buffer List* in the bottom half. This buffer contains a
-list of all the buffers, their sizes and modes, and the files, if any, that those buffers
-are visiting (as it is called in Emacs). You can get rid of this split screen by typing
-<b class="KEYCAP">C</b>-<b class="KEYCAP">x</b> <b class="KEYCAP">1</b>.</p>
-
-<div class="NOTE">
-<table class="NOTE" width="100%" border="0">
-<tr>
-<td width="25" align="CENTER" valign="TOP"><img src="./imagelib/admon/note.png"
-hspace="5" alt="Note" /></td>
-<td align="LEFT" valign="TOP">
-<p>Under X, the list of buffers is also available in the Buffer menu in the menu bar.</p>
-</td>
-</tr>
-</table>
-</div>
-</div>
-
-<div class="NAVFOOTER">
-<hr align="LEFT" width="100%" />
-<table summary="Footer navigation table" width="100%" border="0" cellpadding="0"
-cellspacing="0">
-<tr>
-<td width="33%" align="left" valign="top"><a href="emacs.html"
-accesskey="P">Prev</a></td>
-<td width="34%" align="center" valign="top"><a href="index.html"
-accesskey="H">Home</a></td>
-<td width="33%" align="right" valign="top"><a href="emacs-modes.html"
-accesskey="N">Next</a></td>
-</tr>
-
-<tr>
-<td width="33%" align="left" valign="top">Emacs</td>
-<td width="34%" align="center" valign="top"><a href="emacs.html"
-accesskey="U">Up</a></td>
-<td width="33%" align="right" valign="top">Modes</td>
-</tr>
-</table>
-</div>
-</body>
-</html>
-
diff --git a/slackbook/html/emacs-modes.html b/slackbook/html/emacs-modes.html
deleted file mode 100644
index ed22a354..00000000
--- a/slackbook/html/emacs-modes.html
+++ /dev/null
@@ -1,141 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta name="generator" content="HTML Tidy, see www.w3.org" />
-<title>Modes</title>
-<meta name="GENERATOR" content="Modular DocBook HTML Stylesheet Version 1.7" />
-<link rel="HOME" title="Slackware Linux Essentials" href="index.html" />
-<link rel="UP" title="Emacs" href="emacs.html" />
-<link rel="PREVIOUS" title="Buffers" href="emacs-buffers.html" />
-<link rel="NEXT" title="Basic Editing" href="emacs-basic-editing.html" />
-<link rel="STYLESHEET" type="text/css" href="docbook.css" />
-<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
-</head>
-<body class="SECT1" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#840084"
-alink="#0000FF">
-<div class="NAVHEADER">
-<table summary="Header navigation table" width="100%" border="0" cellpadding="0"
-cellspacing="0">
-<tr>
-<th colspan="3" align="center">Slackware Linux Essentials</th>
-</tr>
-
-<tr>
-<td width="10%" align="left" valign="bottom"><a href="emacs-buffers.html"
-accesskey="P">Prev</a></td>
-<td width="80%" align="center" valign="bottom">Chapter 17 Emacs</td>
-<td width="10%" align="right" valign="bottom"><a href="emacs-basic-editing.html"
-accesskey="N">Next</a></td>
-</tr>
-</table>
-
-<hr align="LEFT" width="100%" />
-</div>
-
-<div class="SECT1">
-<h1 class="SECT1"><a id="EMACS-MODES" name="EMACS-MODES">17.3 Modes</a></h1>
-
-<p>Every buffer in Emacs has an associated mode. This mode is very different from the
-idea of modes in <tt class="COMMAND">vi</tt>: a mode tells you what kind of buffer you
-are in. For example, there is text-mode for normal text files, but there are also modes
-such as c-mode for editing C programs, sh-mode for editing shell scripts, latex-mode for
-editing <b class="APPLICATION">LaTeX</b> files, mail-mode for editing email and news
-messages, etc. A mode provides special customizations and functionality that is useful
-for the kind of file you are editing. It is even possible for a mode to redefine keys and
-key commands. For example, in Text mode, the Tab key simply jumps to the next tab stop,
-but in many programming language modes, the <b class="KEYCAP">Tab</b> key indents the
-current line according to the depth of the block that line is in.</p>
-
-<p>The modes mentioned above are called major modes. Each buffer has exactly one major
-mode. Additionally, a buffer can have one or more minor modes. A minor mode provides
-additional features that may be useful for certain editing tasks. For example, if you hit
-the <b class="KEYCAP">INSERT</b> key, you invoke overwrite-mode, which does what you'd
-expect. There is also an auto-fill-mode, which is handy in combination with text-mode or
-latex-mode: it causes each line that you type to be automatically wrapped once the line
-reaches a certain number of characters. Without auto-fill-mode, you have to type <b
-class="KEYCAP">M</b>-<b class="KEYCAP">q</b> to fill out a paragraph. (Which you can also
-use to reformat a paragraph after you've edited some text in it and it is no longer
-nicely filled out.)</p>
-
-<div class="SECT2">
-<h2 class="SECT2"><a id="EMACS-OPENING-FILES" name="EMACS-OPENING-FILES">17.3.1 Opening
-files</a></h2>
-
-<p>To open a file in Emacs, type</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<kbd class="USERINPUT">C-x C-f</kbd>
-</pre>
-</td>
-</tr>
-</table>
-
-<p>Emacs will ask you for the name of the file, filling in some default path for you
-(which is usually <tt class="FILENAME">~/</tt> ). After you type the filename (you can
-use <b class="KEYCAP">Tab</b> completion) and hit <b class="KEYCAP">ENTER</b> , Emacs
-will open the file in a new buffer and display that buffer on the screen.</p>
-
-<div class="NOTE">
-<table class="NOTE" width="100%" border="0">
-<tr>
-<td width="25" align="CENTER" valign="TOP"><img src="./imagelib/admon/note.png"
-hspace="5" alt="Note" /></td>
-<td align="LEFT" valign="TOP">
-<p>Emacs will automatically create a new buffer, it will not load the file into the
-current buffer.</p>
-</td>
-</tr>
-</table>
-</div>
-
-<p>In order to create a new file in emacs, you cannot just go typing right away. You
-first have to create a buffer for it, and come up with a filename. You do this by typing
-<b class="KEYCAP">C</b>-<b class="KEYCAP">x</b> <b class="KEYCAP">C</b>-<b
-class="KEYCAP">f</b> and typing a filename, just as if you were opening an existing file.
-Emacs will notice that the file you typed doesn't exist, and will create a new buffer and
-report &#8220;(New file)&#8221; in the minibuffer.</p>
-
-<p>When you type <b class="KEYCAP">C</b>-<b class="KEYCAP">x</b> <b
-class="KEYCAP">C</b>-<b class="KEYCAP">f</b> and then enter a directory name instead of a
-filename, Emacs will create a new buffer in which you will find a list of all the files
-in that directory. You can move the cursor to the file that you are looking for and type
-, and Emacs will open it. (There are in fact a lot more actions you can perform here,
-such as deleting, renaming and moving files, etc. Emacs is now in dired-mode, which is
-basically a simple file manager.)</p>
-
-<p>When you have typed <b class="KEYCAP">C</b>-<b class="KEYCAP">x</b> <b
-class="KEYCAP">C</b>-<b class="KEYCAP">f</b> and suddenly change your mind, you can type
-<b class="KEYCAP">C</b>-<b class="KEYCAP">g</b> to cancel the action. <b
-class="KEYCAP">C</b>-<b class="KEYCAP">g</b> works almost everywhere where you want to
-cancel an action or command that you've started but don't want to finish.</p>
-</div>
-</div>
-
-<div class="NAVFOOTER">
-<hr align="LEFT" width="100%" />
-<table summary="Footer navigation table" width="100%" border="0" cellpadding="0"
-cellspacing="0">
-<tr>
-<td width="33%" align="left" valign="top"><a href="emacs-buffers.html"
-accesskey="P">Prev</a></td>
-<td width="34%" align="center" valign="top"><a href="index.html"
-accesskey="H">Home</a></td>
-<td width="33%" align="right" valign="top"><a href="emacs-basic-editing.html"
-accesskey="N">Next</a></td>
-</tr>
-
-<tr>
-<td width="33%" align="left" valign="top">Buffers</td>
-<td width="34%" align="center" valign="top"><a href="emacs.html"
-accesskey="U">Up</a></td>
-<td width="33%" align="right" valign="top">Basic Editing</td>
-</tr>
-</table>
-</div>
-</body>
-</html>
-
diff --git a/slackbook/html/emacs-saving-files.html b/slackbook/html/emacs-saving-files.html
deleted file mode 100644
index 7e2ee9e1..00000000
--- a/slackbook/html/emacs-saving-files.html
+++ /dev/null
@@ -1,136 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta name="generator" content="HTML Tidy, see www.w3.org" />
-<title>Saving Files</title>
-<meta name="GENERATOR" content="Modular DocBook HTML Stylesheet Version 1.7" />
-<link rel="HOME" title="Slackware Linux Essentials" href="index.html" />
-<link rel="UP" title="Emacs" href="emacs.html" />
-<link rel="PREVIOUS" title="Basic Editing" href="emacs-basic-editing.html" />
-<link rel="NEXT" title="Slackware Package Management" href="package-management.html" />
-<link rel="STYLESHEET" type="text/css" href="docbook.css" />
-<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
-</head>
-<body class="SECT1" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#840084"
-alink="#0000FF">
-<div class="NAVHEADER">
-<table summary="Header navigation table" width="100%" border="0" cellpadding="0"
-cellspacing="0">
-<tr>
-<th colspan="3" align="center">Slackware Linux Essentials</th>
-</tr>
-
-<tr>
-<td width="10%" align="left" valign="bottom"><a href="emacs-basic-editing.html"
-accesskey="P">Prev</a></td>
-<td width="80%" align="center" valign="bottom">Chapter 17 Emacs</td>
-<td width="10%" align="right" valign="bottom"><a href="package-management.html"
-accesskey="N">Next</a></td>
-</tr>
-</table>
-
-<hr align="LEFT" width="100%" />
-</div>
-
-<div class="SECT1">
-<h1 class="SECT1"><a id="EMACS-SAVING-FILES" name="EMACS-SAVING-FILES">17.5 Saving
-Files</a></h1>
-
-<p>In order to save a file, you type</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<kbd class="USERINPUT">C-x C-s</kbd>
-</pre>
-</td>
-</tr>
-</table>
-
-<p>Emacs will not ask you for a filename, the buffer will just be saved to the file it
-was loaded from. If you want to save your text to another file, type</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<kbd class="USERINPUT">C-x C-w</kbd>
-</pre>
-</td>
-</tr>
-</table>
-
-<p>When you save the file for the first time in this session, Emacs will normally save
-the old version of your file to a backup file, which has the same name appended with a
-tilde: so if you're editing a file &#8220;<tt class="FILENAME">cars.txt</tt>&#8221;,
-Emacs will create a backup &#8220;<tt class="FILENAME">cars.txt~</tt>&#8221;.</p>
-
-<p>This backup file is a copy of the file that you opened. While you are working, Emacs
-will also regularly create an auto-save copy of the work you are doing, to a file named
-with hash signs: <tt class="FILENAME">#cars.txt#</tt>. This backup is deleted when you
-save the file with C-x C-s.</p>
-
-<p>When you are done editing a file, you can kill the buffer that holds it by typing</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<kbd class="USERINPUT">C-x k</kbd>
-</pre>
-</td>
-</tr>
-</table>
-
-<p>Emacs will then ask you which buffer you want to kill, with the current buffer as
-default, which you can select by hitting <b class="KEYCAP">ENTER</b>. If you haven't
-saved your file yet, Emacs will ask you if you really want to kill the buffer.</p>
-
-<div class="SECT2">
-<h2 class="SECT2"><a id="EMACS-QUITING" name="EMACS-QUITING">17.5.1 Quitting
-Emacs</a></h2>
-
-<p>When you are done with Emacs altogether, you can type</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<kbd class="USERINPUT">C-x C-c</kbd>
-</pre>
-</td>
-</tr>
-</table>
-
-<p>This quits Emacs. If you have any unsaved files, Emacs will tell you so, and ask if
-you want to save them each in turn. If you answer no to any of these, Emacs will ask for
-one final confirmation and then quit.</p>
-</div>
-</div>
-
-<div class="NAVFOOTER">
-<hr align="LEFT" width="100%" />
-<table summary="Footer navigation table" width="100%" border="0" cellpadding="0"
-cellspacing="0">
-<tr>
-<td width="33%" align="left" valign="top"><a href="emacs-basic-editing.html"
-accesskey="P">Prev</a></td>
-<td width="34%" align="center" valign="top"><a href="index.html"
-accesskey="H">Home</a></td>
-<td width="33%" align="right" valign="top"><a href="package-management.html"
-accesskey="N">Next</a></td>
-</tr>
-
-<tr>
-<td width="33%" align="left" valign="top">Basic Editing</td>
-<td width="34%" align="center" valign="top"><a href="emacs.html"
-accesskey="U">Up</a></td>
-<td width="33%" align="right" valign="top">Slackware Package Management</td>
-</tr>
-</table>
-</div>
-</body>
-</html>
-
diff --git a/slackbook/html/emacs.html b/slackbook/html/emacs.html
deleted file mode 100644
index 8c6479cd..00000000
--- a/slackbook/html/emacs.html
+++ /dev/null
@@ -1,173 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta name="generator" content="HTML Tidy, see www.w3.org" />
-<title>Emacs</title>
-<meta name="GENERATOR" content="Modular DocBook HTML Stylesheet Version 1.7" />
-<link rel="HOME" title="Slackware Linux Essentials" href="index.html" />
-<link rel="PREVIOUS" title="Vi Keys" href="vi-keys.html" />
-<link rel="NEXT" title="Buffers" href="emacs-buffers.html" />
-<link rel="STYLESHEET" type="text/css" href="docbook.css" />
-<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
-</head>
-<body class="CHAPTER" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#840084"
-alink="#0000FF">
-<div class="NAVHEADER">
-<table summary="Header navigation table" width="100%" border="0" cellpadding="0"
-cellspacing="0">
-<tr>
-<th colspan="3" align="center">Slackware Linux Essentials</th>
-</tr>
-
-<tr>
-<td width="10%" align="left" valign="bottom"><a href="vi-keys.html"
-accesskey="P">Prev</a></td>
-<td width="80%" align="center" valign="bottom"></td>
-<td width="10%" align="right" valign="bottom"><a href="emacs-buffers.html"
-accesskey="N">Next</a></td>
-</tr>
-</table>
-
-<hr align="LEFT" width="100%" />
-</div>
-
-<div class="CHAPTER">
-<h1><a id="EMACS" name="EMACS"></a>Chapter 17 Emacs</h1>
-
-<div class="TOC">
-<dl>
-<dt><b>Table of Contents</b></dt>
-
-<dt>17.1 <a href="emacs.html#EMACS-STARTING">Starting emacs</a></dt>
-
-<dt>17.2 <a href="emacs-buffers.html">Buffers</a></dt>
-
-<dt>17.3 <a href="emacs-modes.html">Modes</a></dt>
-
-<dt>17.4 <a href="emacs-basic-editing.html">Basic Editing</a></dt>
-
-<dt>17.5 <a href="emacs-saving-files.html">Saving Files</a></dt>
-</dl>
-</div>
-
-<p>While <tt class="COMMAND">vi</tt> (with its clones) is without a doubt the most
-ubiquitous editor on Unix-like systems, Emacs comes in a good second. Instead of using
-different &#8220;modes&#8221;, like <tt class="COMMAND">vi</tt> does, it uses <b
-class="KEYCAP">Control</b> and <b class="KEYCAP">Alt</b> key combinations to enter
-commands, in much the same way that you can use <b class="KEYCAP">Control</b> and <b
-class="KEYCAP">Alt</b> key combinations in a word processor and indeed in many other
-applications to execute certain functions. (Though it should be noted that the commands
-rarely correspond; so while many modern applications use <b class="KEYCAP">Ctrl</b>-<b
-class="KEYCAP">C</b>/ <b class="KEYCAP">X</b>/ <b class="KEYCAP">V</b> for copying,
-cutting and pasting, Emacs uses different keys and actually a somewhat different
-mechanism for this.)</p>
-
-<p>Also unlike <tt class="COMMAND">vi</tt>, which is an (excellent) editor and nothing
-more, Emacs is a program with near endless capabilities. Emacs is (for the most part)
-written in Lisp, which is a very powerful programming language that has the peculiar
-property that every program written in it is automatically a Lisp compiler of its own.
-This means that the user can extend Emacs, and in fact write completely new programs
-&#8220;in Emacs&#8221;.</p>
-
-<p>As a result, Emacs is not just an editor anymore. There are many add-on packages for
-Emacs available (many come with the program's source) that provide all sorts of
-functionality. Many of these are related to text editing, which is after all Emacs' basic
-task, but it doesn't stop there. There are for example several spreadsheet programs for
-Emacs, there are databases, games, mail and news clients (the top one being Gnus),
-etc.</p>
-
-<p>There are two main versions of Emacs: GNU Emacs (which is the version that comes with
-Slackware) and XEmacs. The latter is <span class="emphasis"><i
-class="EMPHASIS">not</i></span> a version for Emacs running under X. In fact, both Emacs
-and XEmacs run on the console as well as under X. XEmacs was once started as a project to
-tidy up the Emacs code. Currently, both versions are being actively developed, and there
-is in fact much interaction between the two development teams. For the present chapter,
-it is immaterial whether you use Emacs or XEmacs, the differences between them are not
-relevant to the normal user.</p>
-
-<div class="SECT1">
-<h1 class="SECT1"><a id="EMACS-STARTING" name="EMACS-STARTING">17.1 Starting
-emacs</a></h1>
-
-<p>Emacs can be started from the shell by simply typing <tt class="COMMAND">emacs</tt>.
-When you are running X, Emacs will (normally) come up with its own X window, usually with
-a menu bar at the top, where you can find the most important functions. On startup, Emacs
-will first show a welcome message, and then after a few seconds will drop you in the
-*scratch* buffer. (See <a href="emacs-buffers.html">Section 17.2</a>.)</p>
-
-<div class="INFORMALFIGURE"><a id="AEN5971" name="AEN5971"></a>
-<p><img src="emacs/emacs.png" /></p>
-</div>
-
-<p>You can also start Emacs on an existing file by typing</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">%</samp> <kbd class="USERINPUT">emacs /etc/resolv.conf</kbd>
-</pre>
-</td>
-</tr>
-</table>
-
-<p>This will cause Emacs to load the specified file when it starts up, skipping the
-welcome message.</p>
-
-<div class="SECT2">
-<h2 class="SECT2"><a id="EMACS-COMMAND-KEYS" name="EMACS-COMMAND-KEYS">17.1.1 Command
-Keys</a></h2>
-
-<p>As mentioned above, Emacs uses <b class="KEYCAP">Control</b> and <b
-class="KEYCAP">Alt</b> combinations for commands. The usual convention is to write these
-with <b class="KEYCAP">C</b>-<b class="KEYCAP">letter</b> and <b class="KEYCAP">M</b>-<b
-class="KEYCAP">letter</b>, respectively. So <b class="KEYCAP">C</b>-<b
-class="KEYCAP">x</b> means <b class="KEYCAP">Control</b>+<b class="KEYCAP">x</b>, and <b
-class="KEYCAP">M</b>-<b class="KEYCAP">x</b> means <b class="KEYCAP">Alt</b>+<b
-class="KEYCAP">x</b>. (The letter <b class="KEYCAP">M</b> is used instead of A because
-originally the key was not the <b class="KEYCAP">Alt</b> key but the <b
-class="KEYCAP">Meta</b> key. The <b class="KEYCAP">Meta</b> key has all but disappeared
-from computer keyboards, and in Emacs the <b class="KEYCAP">Alt</b> key has taken over
-its function.)</p>
-
-<p>Many Emacs commands consist of sequences of keys and key combinations. For example, <b
-class="KEYCAP">C</b>-<b class="KEYCAP">x</b> <b class="KEYCAP">C</b>-<b
-class="KEYCAP">c</b> (that is <b class="KEYCAP">Control</b>-<b class="KEYCAP">x</b>
-followed by <b class="KEYCAP">Control</b>-<b class="KEYCAP">c</b> ) quits Emacs, <b
-class="KEYCAP">C</b>-<b class="KEYCAP">x</b> <b class="KEYCAP">C</b>-<b
-class="KEYCAP">s</b> saves the current file. Keep in mind that <b class="KEYCAP">C</b>-<b
-class="KEYCAP">x</b> <b class="KEYCAP">C</b>-<b class="KEYCAP">b</b> is <span
-class="emphasis"><i class="EMPHASIS">not</i></span> the same as <b
-class="KEYCAP">C</b>-<b class="KEYCAP">x</b> <b class="KEYCAP">b</b>. The former means <b
-class="KEYCAP">Control</b>-<b class="KEYCAP">x</b> followed by <b
-class="KEYCAP">Control</b>-<b class="KEYCAP">b</b>, while the latter means <b
-class="KEYCAP">Control</b>-<b class="KEYCAP">x</b> followed by just '<b
-class="KEYCAP">b</b>'.</p>
-</div>
-</div>
-</div>
-
-<div class="NAVFOOTER">
-<hr align="LEFT" width="100%" />
-<table summary="Footer navigation table" width="100%" border="0" cellpadding="0"
-cellspacing="0">
-<tr>
-<td width="33%" align="left" valign="top"><a href="vi-keys.html"
-accesskey="P">Prev</a></td>
-<td width="34%" align="center" valign="top"><a href="index.html"
-accesskey="H">Home</a></td>
-<td width="33%" align="right" valign="top"><a href="emacs-buffers.html"
-accesskey="N">Next</a></td>
-</tr>
-
-<tr>
-<td width="33%" align="left" valign="top">Vi Keys</td>
-<td width="34%" align="center" valign="top">&nbsp;</td>
-<td width="33%" align="right" valign="top">Buffers</td>
-</tr>
-</table>
-</div>
-</body>
-</html>
-
diff --git a/slackbook/html/emacs/emacs.png b/slackbook/html/emacs/emacs.png
deleted file mode 100644
index 7571dec4..00000000
--- a/slackbook/html/emacs/emacs.png
+++ /dev/null
Binary files differ
diff --git a/slackbook/html/essential-sysadmin-hardusers.html b/slackbook/html/essential-sysadmin-hardusers.html
deleted file mode 100644
index f9ad5448..00000000
--- a/slackbook/html/essential-sysadmin-hardusers.html
+++ /dev/null
@@ -1,202 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta name="generator" content="HTML Tidy, see www.w3.org" />
-<title>Users and Groups, the Hard Way</title>
-<meta name="GENERATOR" content="Modular DocBook HTML Stylesheet Version 1.7" />
-<link rel="HOME" title="Slackware Linux Essentials" href="index.html" />
-<link rel="UP" title="Essential System Administration" href="essential-sysadmin.html" />
-<link rel="PREVIOUS" title="Essential System Administration"
-href="essential-sysadmin.html" />
-<link rel="NEXT" title="Shutting Down Properly"
-href="essential-sysadmin-shutdown.html" />
-<link rel="STYLESHEET" type="text/css" href="docbook.css" />
-<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
-</head>
-<body class="SECT1" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#840084"
-alink="#0000FF">
-<div class="NAVHEADER">
-<table summary="Header navigation table" width="100%" border="0" cellpadding="0"
-cellspacing="0">
-<tr>
-<th colspan="3" align="center">Slackware Linux Essentials</th>
-</tr>
-
-<tr>
-<td width="10%" align="left" valign="bottom"><a href="essential-sysadmin.html"
-accesskey="P">Prev</a></td>
-<td width="80%" align="center" valign="bottom">Chapter 12 Essential System
-Administration</td>
-<td width="10%" align="right" valign="bottom"><a href="essential-sysadmin-shutdown.html"
-accesskey="N">Next</a></td>
-</tr>
-</table>
-
-<hr align="LEFT" width="100%" />
-</div>
-
-<div class="SECT1">
-<h1 class="SECT1"><a id="ESSENTIAL-SYSADMIN-HARDUSERS"
-name="ESSENTIAL-SYSADMIN-HARDUSERS">12.2 Users and Groups, the Hard Way</a></h1>
-
-<p>Of course, it is possible to add, modify, and remove users and groups without using
-the scripts and programs that come with Slackware. It's not really difficult, although
-after reading this process, you'll probably find it much easier to use the scripts.
-However, it's important to know how your password information is actually stored, in case
-you ever need to recover this information and don't have the Slackware tools
-available.</p>
-
-<p>First, we'll add a new user to the <tt class="FILENAME">/etc/passwd</tt>(5), <tt
-class="FILENAME">/etc/shadow</tt>(5), and <tt class="FILENAME">/etc/group</tt>(5) files.
-The <tt class="FILENAME">passwd</tt> file holds some information about the users on your
-system, but (strangely enough) not their passwords. This was once the case, but was
-halted long ago for security reasons. The passwd file must be readable by all users, but
-you don't want encrypted passwords world-readable, as would-be intruders can use the
-encrypted passwords as a starting point for decrypting a user's password. Instead, the
-encrypted passwords are kept in the shadow file, which is only readable by root, and
-everyone's password is entered into the <tt class="FILENAME">passwd</tt> file simply as
-&#8220;<var class="LITERAL">x</var>&#8221;. The <tt class="FILENAME">group</tt> file
-lists all the groups and who is in each.</p>
-
-<p>You can use the <tt class="COMMAND">vipw</tt> command to edit the <tt
-class="FILENAME">/etc/passwd</tt> file safely, and the <tt class="COMMAND">vigr</tt>
-command to edit the <tt class="FILENAME">/etc/group</tt> file safely. Use <tt
-class="COMMAND">vipw -s</tt> to edit the <tt class="FILENAME">/etc/shadow</tt> file
-safely. (&#8220;Safely&#8221; in this context means someone else won't be able to modify
-the file you're editing at the moment. If you're the only administrator of your system,
-you're probably safe, but it's best to get into good habits from the start.)</p>
-
-<p>Let's examine the <tt class="FILENAME">/etc/passwd</tt> file and look at how to add a
-new user. A typical entry in <tt class="FILENAME">passwd</tt> looks like this:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="PROGRAMLISTING">
-chris:x:1000:100:Chris Lumens,Room 2,,:/home/chris:/bin/bash
-</pre>
-</td>
-</tr>
-</table>
-
-<p>Each line is an entry for one user, and fields on each line are separated by a colon.
-The fields are the login name, encrypted password (&#8220;<var
-class="LITERAL">x</var>&#8221; for everyone on a Slackware system, since Slackware uses
-shadow passwords), user ID, group ID, the optional finger information (separated by
-commas), home directory, and shell. To add a new user by hand, add a new line at the end
-of the file, filling in the appropriate information.</p>
-
-<p>The information you add needs to meet some requirements, or your new user may have
-problems logging in. First, make sure that the password field is an <var
-class="LITERAL">x</var>, and that both the user name and user ID is unique. Assign the
-user a group, either 100 (the &#8220;users&#8221; group in Slackware) or your default
-group (use its number, not its name). Give the user a valid home directory (which you'll
-create later) and shell (remember, valid shells are listed in <tt
-class="FILENAME">/etc/shells</tt>).</p>
-
-<p>Next, we'll need to add an entry in the /etc/shadow file, which holds the encrypted
-passwords. A typical entry looks like this:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="PROGRAMLISTING">
-chris:$1$w9bsw/N9$uwLr2bRER6YyBS.CAEp7R.:11055:0:99999:7:::
-</pre>
-</td>
-</tr>
-</table>
-
-<p>Again, each line is an entry for one person, with each field delimited by a colon. The
-fields are (in order) login name, encrypted password, days since the Epoch (January 1,
-1970) that the password was last changed, days before the password may be changed, days
-after which the password must be changed, days before password expiration that the user
-is notified, days after expiration that the account is disabled, days since the Epoch
-that the account is disabled, and a reserved field.</p>
-
-<p>As you can see, most of that is for account expiration information. If you aren't
-using expiration information, you only need to fill in a few fields with some special
-values. Otherwise, you'll need to do some calculations and decision making before you can
-fill those fields in. For a new user, just put some random garbage in the password field.
-Don't worry about what the password is right now, because you're going to change it in a
-minute. The only character you cannot include in the password field is a colon. Leave the
-&#8220;days since password was changed&#8221; field blank as well. Fill in <var
-class="LITERAL">0</var>, <var class="LITERAL">99999</var>, and <var
-class="LITERAL">7</var> just as you see in the example entry, and leave the other fields
-blank.</p>
-
-<p>(For those of you who think you see my encrypted password above and believe you've got
-a leg up on breaking into my system, go right ahead. If you can crack that password,
-you'll know the password to a firewalled test system. Now that's useful :) )</p>
-
-<p>All normal users are members of the &#8220;<tt class="USERNAME">users</tt>&#8221;
-group on a typical Slackware system. However, if you want to create a new group, or add
-the new user to additional groups, you'll need to modify the <tt
-class="FILENAME">/etc/group</tt> file. Here is a typical entry:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="PROGRAMLISTING">
-cvs::102:chris,logan,david,root
-</pre>
-</td>
-</tr>
-</table>
-
-<p>The fields are group name, group password, group ID, and group members, separated by
-commas. Creating a new group is a simple matter of adding a new line with a unique group
-ID, and listing all the users you want to be in the group. Any users that are in this new
-group and are logged in will have to log out and log back in for those changes to take
-effect.</p>
-
-<p>At this point, it might be a good idea to use the <tt class="COMMAND">pwck</tt> and
-<tt class="COMMAND">grpck</tt> commands to verify that the changes you've made are
-consistent. First, use <tt class="COMMAND">pwck -r</tt> and <tt class="COMMAND">grpck
--r</tt>: the <var class="OPTION">-r</var> switch makes no changes, but lists the changes
-you would be asked to make if you ran the command without the switch. You can use this
-output to decide whether you need to further modify any files, to run <tt
-class="COMMAND">pwck</tt> or <tt class="COMMAND">grpck</tt> without the <var
-class="OPTION">-r</var> switch, or to simply leave your changes as they are.</p>
-
-<p>At this point, you should use the <tt class="COMMAND">passwd</tt> command to create a
-proper password for the user. Then, use <tt class="COMMAND">mkdir</tt> to create the new
-user's home directory in the location you entered into the <tt
-class="FILENAME">/etc/passwd</tt> file, and use <tt class="COMMAND">chown</tt> to change
-the owner of the new directory to the new user.</p>
-
-<p>Removing a user is a simple matter of deleting all of the entries that exist for that
-user. Remove the user's entry from <tt class="FILENAME">/etc/passwd</tt> and <tt
-class="FILENAME">/etc/shadow</tt>, and remove the login name from any groups in the <tt
-class="FILENAME">/etc/group</tt> file. If you wish, delete the user's home directory, the
-mail spool file, and his crontab entry (if they exist).</p>
-
-<p>Removing groups is similar: remove the group's entry from <tt
-class="FILENAME">/etc/group</tt>.</p>
-</div>
-
-<div class="NAVFOOTER">
-<hr align="LEFT" width="100%" />
-<table summary="Footer navigation table" width="100%" border="0" cellpadding="0"
-cellspacing="0">
-<tr>
-<td width="33%" align="left" valign="top"><a href="essential-sysadmin.html"
-accesskey="P">Prev</a></td>
-<td width="34%" align="center" valign="top"><a href="index.html"
-accesskey="H">Home</a></td>
-<td width="33%" align="right" valign="top"><a href="essential-sysadmin-shutdown.html"
-accesskey="N">Next</a></td>
-</tr>
-
-<tr>
-<td width="33%" align="left" valign="top">Essential System Administration</td>
-<td width="34%" align="center" valign="top"><a href="essential-sysadmin.html"
-accesskey="U">Up</a></td>
-<td width="33%" align="right" valign="top">Shutting Down Properly</td>
-</tr>
-</table>
-</div>
-</body>
-</html>
-
diff --git a/slackbook/html/essential-sysadmin-shutdown.html b/slackbook/html/essential-sysadmin-shutdown.html
deleted file mode 100644
index a97c78f6..00000000
--- a/slackbook/html/essential-sysadmin-shutdown.html
+++ /dev/null
@@ -1,236 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta name="generator" content="HTML Tidy, see www.w3.org" />
-<title>Shutting Down Properly</title>
-<meta name="GENERATOR" content="Modular DocBook HTML Stylesheet Version 1.7" />
-<link rel="HOME" title="Slackware Linux Essentials" href="index.html" />
-<link rel="UP" title="Essential System Administration" href="essential-sysadmin.html" />
-<link rel="PREVIOUS" title="Users and Groups, the Hard Way"
-href="essential-sysadmin-hardusers.html" />
-<link rel="NEXT" title="Basic Network Commands" href="basic-network-commands.html" />
-<link rel="STYLESHEET" type="text/css" href="docbook.css" />
-<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
-</head>
-<body class="SECT1" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#840084"
-alink="#0000FF">
-<div class="NAVHEADER">
-<table summary="Header navigation table" width="100%" border="0" cellpadding="0"
-cellspacing="0">
-<tr>
-<th colspan="3" align="center">Slackware Linux Essentials</th>
-</tr>
-
-<tr>
-<td width="10%" align="left" valign="bottom"><a href="essential-sysadmin-hardusers.html"
-accesskey="P">Prev</a></td>
-<td width="80%" align="center" valign="bottom">Chapter 12 Essential System
-Administration</td>
-<td width="10%" align="right" valign="bottom"><a href="basic-network-commands.html"
-accesskey="N">Next</a></td>
-</tr>
-</table>
-
-<hr align="LEFT" width="100%" />
-</div>
-
-<div class="SECT1">
-<h1 class="SECT1"><a id="ESSENTIAL-SYSADMIN-SHUTDOWN"
-name="ESSENTIAL-SYSADMIN-SHUTDOWN">12.3 Shutting Down Properly</a></h1>
-
-<p>It is very important that you shut down your system properly. Simply turning the power
-off with the power switch can cause serious filesystem damage. While the system is on,
-files are in use even if you aren't doing anything. Remember that there are many
-processes running in the background all the time. These processes are managing the system
-and keep a lot of files open. When the system's power is switched off, these files are
-not closed properly and may become corrupted. Depending on what files become damaged, the
-system might be rendered completely unusable! In any case, you'll have to go through a
-long filesystem check procedure on the next reboot.</p>
-
-<div class="NOTE">
-<table class="NOTE" width="100%" border="0">
-<tr>
-<td width="25" align="CENTER" valign="TOP"><img src="./imagelib/admon/note.png"
-hspace="5" alt="Note" /></td>
-<td align="LEFT" valign="TOP">
-<p>If you configured your system with a journalling filesystem, like ext3 or reiserfs,
-you'll be partially protected from filesystem damage, and your filesystem check on reboot
-will be shorter than if you had used a filesystem without journalling, like ext2.
-However, this safety net is no excuse for improperly shutting down your system! A
-journalling FS is meant to protect your files from events beyond your control, not from
-your own laziness.</p>
-</td>
-</tr>
-</table>
-</div>
-
-<p>In any case, when you want to reboot or power down your computer, it is important to
-do so properly. There are several ways of doing so; you can pick whichever one you think
-is the most fun (or least amount of work). Since a shutdown and a reboot are similar
-procedures, most of the ways for powering off the system can also be applied to
-rebooting.</p>
-
-<p>The first method is through the <tt class="COMMAND">shutdown</tt>(8) program, and it
-is probably the most popular. <tt class="COMMAND">shutdown</tt> can be used to reboot or
-turn off the system at a given time, and can display a message to all the logged-in users
-of the system telling them that the system is going down.</p>
-
-<p>The most basic use of shutdown to power down the computer is:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">#</samp> <kbd class="USERINPUT">shutdown -h now</kbd>
-</pre>
-</td>
-</tr>
-</table>
-
-<p>In this case, we are not going to send a custom message to the users; they will see
-<tt class="COMMAND">shutdown</tt>'s default message. &#8220;<var
-class="OPTION">now</var>&#8221; is the time that we want to shutdown, and the &#8220;<var
-class="OPTION">-h</var>&#8221; means to halt the system. This is not a very friendly way
-to run a multi-user system, but it works just fine on your home computer. A better method
-on a multiuser system would be to give everyone a little advance warning:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">#</samp> <kbd class="USERINPUT">shutdown -h +60</kbd>
-</pre>
-</td>
-</tr>
-</table>
-
-<p>This would shutdown the system in one hour (60 minutes), which would be just fine on a
-normal multiuser system. Vital systems should have their downtime scheduled far in
-advance, and you should post warnings about the downtime in any appropriate locations
-used for system notifications (email, bulletin board, <tt
-class="FILENAME">/etc/motd</tt>, whatever).</p>
-
-<p>Rebooting the system uses the same command, but substitutes &#8220;<var
-class="OPTION">-r</var>&#8221; for &#8220;<var class="OPTION">-h</var>&#8221;:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">#</samp> <kbd class="USERINPUT">shutdown -r now</kbd>
-</pre>
-</td>
-</tr>
-</table>
-
-<p>You can use same time notation with <tt class="COMMAND">shutdown -r</tt> that you
-could with <tt class="COMMAND">shutdown -h</tt>. There are a lot of other things that you
-can do with <tt class="COMMAND">shutdown</tt> to control when to halt or reboot the
-machine; see the man page for more details.</p>
-
-<p>The second way of shutting down or powering off the computer is to use the <tt
-class="COMMAND">halt</tt>(8) and <tt class="COMMAND">reboot</tt>(8) commands. As the
-names indicate, <tt class="COMMAND">halt</tt> will immediately halt the operating system,
-and <tt class="COMMAND">reboot</tt> will reboot the system. (<tt
-class="COMMAND">reboot</tt> is actually just a symbolic link to <tt
-class="COMMAND">halt</tt>.) They are invoked like so:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">#</samp> <kbd class="USERINPUT">halt</kbd>
-<samp class="PROMPT">#</samp> <kbd class="USERINPUT">reboot</kbd>
-</pre>
-</td>
-</tr>
-</table>
-
-<p>A lower-level way to reboot or shutdown the system is to talk directly to <tt
-class="COMMAND">init</tt>. All the other methods are simply convenient ways to talk to
-<tt class="COMMAND">init</tt>, but you can directly tell it what to do using <tt
-class="COMMAND">telinit</tt>(8) (note that it only has one &#8220;l&#8221;). Using <tt
-class="COMMAND">telinit</tt> will tell <tt class="COMMAND">init</tt> what runlevel to
-drop into, which will cause a special script to be run. This script will kill or spawn
-processes as needed for that runlevel. This works for rebooting and shutting down because
-both of those are special runlevels.</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">#</samp> <kbd class="USERINPUT">telinit 0</kbd>
-</pre>
-</td>
-</tr>
-</table>
-
-<p>Runlevel 0 is halt mode. Telling <tt class="COMMAND">init</tt> to enter runlevel 0
-will cause all processes to be killed off, the filesystems unmounted, and the machine to
-be halted. This is a perfectly acceptable way to bring down the system. On many laptops
-and modern desktop computers, this will also cause the machine to be turned off.</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">#</samp> <kbd class="USERINPUT">telinit 6</kbd>
-</pre>
-</td>
-</tr>
-</table>
-
-<p>Runlevel 6 is reboot mode. All processes will be killed off, the filesystems will be
-unmounted, and the machine will be rebooted. This is a perfectly acceptable method of
-rebooting the system.</p>
-
-<p>For the curious, when switching to runlevel 0 or 6, whether by using <tt
-class="COMMAND">shutdown</tt>, <tt class="COMMAND">halt</tt>, or <tt
-class="COMMAND">reboot</tt>, the script <tt class="FILENAME">/etc/rc.d/rc.6</tt> is run.
-(The script <tt class="FILENAME">/etc/rc.d/rc.0</tt> is another symbolic link, to <tt
-class="FILENAME">/etc/rc.d/rc.6</tt>.) You can customize this file to your tastes--but be
-sure to test your changes carefully!</p>
-
-<p>There is one last method of rebooting the system. All the other methods require you to
-be logged in as <tt class="USERNAME">root</tt>. However, it is possible to reboot the
-machine even if you aren't root, provided that you have physical access to the keyboard.
-Using <b class="KEYCAP">Control</b>+<b class="KEYCAP">Alt</b>+<b
-class="KEYCAP">Delete</b> (the "three-fingered salute") will cause the machine to
-immediately reboot. (Behind the scenes, the <tt class="COMMAND">shutdown</tt> command is
-called for you when you use <b class="KEYCAP">Control</b>+<b class="KEYCAP">Alt</b>+<b
-class="KEYCAP">Delete</b>.) The salute doesn't always work when using X Windows--you may
-need to use <b class="KEYCAP">Control</b>+<b class="KEYCAP">Alt</b>+<b
-class="KEYCAP">F1</b> (or another Function key) to switch to a non-X Windows terminal
-before using it.</p>
-
-<p>Finally, the file that ultimately controls every aspect of startup and shutdown is the
-<tt class="FILENAME">/etc/inittab</tt>(5) file. In general, you should not need to modify
-this file, but it may give you insight into why some things work the way they do. As
-always, see the man pages for further details.</p>
-</div>
-
-<div class="NAVFOOTER">
-<hr align="LEFT" width="100%" />
-<table summary="Footer navigation table" width="100%" border="0" cellpadding="0"
-cellspacing="0">
-<tr>
-<td width="33%" align="left" valign="top"><a href="essential-sysadmin-hardusers.html"
-accesskey="P">Prev</a></td>
-<td width="34%" align="center" valign="top"><a href="index.html"
-accesskey="H">Home</a></td>
-<td width="33%" align="right" valign="top"><a href="basic-network-commands.html"
-accesskey="N">Next</a></td>
-</tr>
-
-<tr>
-<td width="33%" align="left" valign="top">Users and Groups, the Hard Way</td>
-<td width="34%" align="center" valign="top"><a href="essential-sysadmin.html"
-accesskey="U">Up</a></td>
-<td width="33%" align="right" valign="top">Basic Network Commands</td>
-</tr>
-</table>
-</div>
-</body>
-</html>
-
diff --git a/slackbook/html/essential-sysadmin.html b/slackbook/html/essential-sysadmin.html
deleted file mode 100644
index 85e127ed..00000000
--- a/slackbook/html/essential-sysadmin.html
+++ /dev/null
@@ -1,524 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta name="generator" content="HTML Tidy, see www.w3.org" />
-<title>Essential System Administration</title>
-<meta name="GENERATOR" content="Modular DocBook HTML Stylesheet Version 1.7" />
-<link rel="HOME" title="Slackware Linux Essentials" href="index.html" />
-<link rel="PREVIOUS" title="top" href="process-control-top.html" />
-<link rel="NEXT" title="Users and Groups, the Hard Way"
-href="essential-sysadmin-hardusers.html" />
-<link rel="STYLESHEET" type="text/css" href="docbook.css" />
-<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
-</head>
-<body class="CHAPTER" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#840084"
-alink="#0000FF">
-<div class="NAVHEADER">
-<table summary="Header navigation table" width="100%" border="0" cellpadding="0"
-cellspacing="0">
-<tr>
-<th colspan="3" align="center">Slackware Linux Essentials</th>
-</tr>
-
-<tr>
-<td width="10%" align="left" valign="bottom"><a href="process-control-top.html"
-accesskey="P">Prev</a></td>
-<td width="80%" align="center" valign="bottom"></td>
-<td width="10%" align="right" valign="bottom"><a href="essential-sysadmin-hardusers.html"
-accesskey="N">Next</a></td>
-</tr>
-</table>
-
-<hr align="LEFT" width="100%" />
-</div>
-
-<div class="CHAPTER">
-<h1><a id="ESSENTIAL-SYSADMIN" name="ESSENTIAL-SYSADMIN"></a>Chapter 12 Essential System
-Administration</h1>
-
-<div class="TOC">
-<dl>
-<dt><b>Table of Contents</b></dt>
-
-<dt>12.1 <a href="essential-sysadmin.html#ESSENTIAL-SYSADMIN-USERS">Users and
-Groups</a></dt>
-
-<dt>12.2 <a href="essential-sysadmin-hardusers.html">Users and Groups, the Hard
-Way</a></dt>
-
-<dt>12.3 <a href="essential-sysadmin-shutdown.html">Shutting Down Properly</a></dt>
-</dl>
-</div>
-
-<p>Whoa whoa whoa whoa whoa.... I know what you're thinking. &#8220;I'm not a system
-administrator! I don't even want to be a system administrator!&#8221;</p>
-
-<p>Fact is, you are the administrator of any computers for which you have the <tt
-class="USERNAME">root</tt> password. This might be your desktop box with one or two
-users, or it might be a big server with several hundred. Regardless, you'll need to know
-how to manage users, and how to shut down the system safely. These tasks seem simple, but
-they have some quirks to keep in mind.</p>
-
-<div class="SECT1">
-<h1 class="SECT1"><a id="ESSENTIAL-SYSADMIN-USERS" name="ESSENTIAL-SYSADMIN-USERS">12.1
-Users and Groups</a></h1>
-
-<p>As mentioned in <a href="shell.html">Chapter 8</a>, you shouldn't normally use your
-system logged in as <tt class="USERNAME">root</tt>. Instead, you should create a normal
-user account for everyday use, and use the root account only for system administration
-tasks. To create a user, you can either use the tools supplied with Slackware, or you can
-edit the password files by hand.</p>
-
-<div class="SECT2">
-<h2 class="SECT2"><a id="ESSENTIAL-SYSADMIN-USERS-SCRIPTS"
-name="ESSENTIAL-SYSADMIN-USERS-SCRIPTS">12.1.1 Supplied Scripts</a></h2>
-
-<p>The easiest way to manage users and groups is with the supplied scripts and programs.
-Slackware includes the programs <tt class="COMMAND">adduser</tt>, <tt
-class="COMMAND">userdel</tt>(8), <tt class="COMMAND">chfn</tt>(1), <tt
-class="COMMAND">chsh</tt>(1), and <tt class="COMMAND">passwd</tt>(1) for dealing with
-users. The commands <tt class="COMMAND">groupadd</tt>(8), <tt
-class="COMMAND">groupdel</tt>(8), and <tt class="COMMAND">groupmod</tt>(8) are for
-dealing with groups. With the exception of <tt class="COMMAND">chfn</tt>, <tt
-class="COMMAND">chsh</tt>, and <tt class="COMMAND">passwd</tt>, these programs are
-generally only run as <tt class="USERNAME">root</tt>, and are therefore located in <tt
-class="FILENAME">/usr/sbin</tt>. <tt class="COMMAND">chfn</tt>, <tt
-class="COMMAND">chsh</tt>, and <tt class="COMMAND">passwd</tt> can be run by anyone, and
-are located in <tt class="FILENAME">/usr/bin</tt>.</p>
-
-<p>Users can be added with the <tt class="COMMAND">adduser</tt> program. We'll start out
-by going through the whole procedure, showing all the questions that are asked and a
-brief description of what everything means. The default answer is in the brackets, and
-can be chosen for almost all the questions, unless you really want to change
-something.</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">#</samp> <kbd class="USERINPUT">adduser</kbd>
-Login name for new user []: jellyd
-</pre>
-</td>
-</tr>
-</table>
-
-<p>This is the name that the user will use to login. Traditionally, login names are eight
-characters or fewer, and all lowercase characters. (You may use more than eight
-characters, or use digits, but avoid doing so unless you have a fairly important
-reason.)</p>
-
-<p>You can also provide the login name as an argument on the command line:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">#</samp> <kbd class="USERINPUT">adduser jellyd</kbd>
-</pre>
-</td>
-</tr>
-</table>
-
-<p>In either case, after providing the login name, adduser will prompt for the user
-ID:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-User ID ('UID') [ defaults to next available ]:
-</pre>
-</td>
-</tr>
-</table>
-
-<p>The user ID (UID) is how ownerships are really determined in Linux. Each user has a
-unique number, starting at 1000 in Slackware. You can pick a UID for the new user, or you
-can just let adduser assign the user the next free one.</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-Initial group [users]:
-</pre>
-</td>
-</tr>
-</table>
-
-<p>All users are placed into the <tt class="USERNAME">users</tt> group by default. You
-might want to place the new user into a different group, but it is not recommended unless
-you know what you're doing.</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-Additional groups (comma separated) []:
-</pre>
-</td>
-</tr>
-</table>
-
-<p>This question allows you to place the new user into additional groups. It is possible
-for a user to be in several groups at the same time. This is useful if you have
-established groups for things like modifying web site files, playing games, and so on.
-For example, some sites define group <tt class="USERNAME">wheel</tt> as the only group
-that can use the <tt class="COMMAND">su</tt> command. Or, a default Slackware
-installation uses the <tt class="USERNAME">sys</tt> group for users authorized to play
-sounds through the internal sound card.</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-Home directory [/home/jellyd]
-</pre>
-</td>
-</tr>
-</table>
-
-<p>Home directories default to being placed under <tt class="FILENAME">/home</tt>. If you
-run a very large system, it's possible that you have moved the home directories to a
-different location (or to many locations). This step allows you to specify where the
-user's home directory will be.</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-Shell [ /bin/bash ]
-</pre>
-</td>
-</tr>
-</table>
-
-<p><tt class="COMMAND">bash</tt> is the default shell for Slackware Linux, and will be
-fine for most people. If your new user comes from a Unix background, they may be familiar
-with a different shell. You can change their shell now, or they can change it themselves
-later using the <tt class="COMMAND">chsh</tt> command.</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-Expiry date (YYYY-MM-DD) []:
-</pre>
-</td>
-</tr>
-</table>
-
-<p>Accounts can be set up to expire on a specified date. By default, there is no
-expiration date. You can change that, if you'd like. This option might be useful for
-people running an ISP who might want to make an account expire upon a certain date,
-unless they receive the next year's payment.</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-New account will be created as follows:
----------------------------------------
-Login name: jellyd
-UID: [ Next available ]
-Initial group: users
-Additional groups: [ None ]
-Home directory: /home/jellyd
-Shell: /bin/bash
-Expiry date: [ Never ]
-</pre>
-</td>
-</tr>
-</table>
-
-<p>This is it... if you want to bail out, hit <b class="KEYCAP">Control</b>+<b
-class="KEYCAP">C</b>. Otherwise, press <kbd class="USERINPUT">ENTER</kbd> to go ahead and
-make the account.</p>
-
-<p>You now see all the information that you've entered about the new account and are
-given the opportunity to abort the account creation. If you entered something
-incorrectly, you should hit <b class="KEYCAP">Control</b>+<b class="KEYCAP">C</b> and
-start over. Otherwise, you can hit <kbd class="USERINPUT">enter</kbd> and the account
-will be made.</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-Creating new account...
-
-Changing the user information for jellyd
-Enter the new value, or press return for the default
- Full Name []: Jeremy
- Room Number []: Smith 130
- Work Phone []:
- Home Phone []:
- Other []:
-</pre>
-</td>
-</tr>
-</table>
-
-<p>All of this information is optional. You don't have to enter any of this if you don't
-want to, and the user can change it at any time using <tt class="COMMAND">chfn</tt>.
-However, you might find it helpful to enter at least the full name and a phone number, in
-case you need to get in touch with the person later.</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-Changing password for jellyd
-Enter the new password (minimum of 5, maximum of 127 characters)
-Please use a combination of upper and lower case letters and numbers.
-New password:
-Re-enter new password:
-Password changed.
-
-Account setup complete.
-</pre>
-</td>
-</tr>
-</table>
-
-<p>You'll have to enter a password for the new user. Generally, if the new user is not
-physically present at this point, you'll just pick some default password and tell the
-user to change it to something more secure.</p>
-
-<div class="NOTE">
-<table class="NOTE" width="100%" border="0">
-<tr>
-<td width="25" align="CENTER" valign="TOP"><img src="./imagelib/admon/note.png"
-hspace="5" alt="Note" /></td>
-<td align="LEFT" valign="TOP">
-<p><span class="emphasis"><i class="EMPHASIS">Choosing a Password</i></span>: Having a
-secure password is the first line of defense against getting cracked. You do not want to
-have an easily guessed password, because that makes it easier for someone to break into
-your system. Ideally, a secure password would be a random string of characters, including
-upper and lowercase letters, numbers, and random characters. (A tab character might not
-be a wise choice, depending on what kinds of computers you'll be logging in from.) There
-are many software packages that can generate random passwords for you; search the
-Internet for these utilities.</p>
-
-<p>In general, just use common sense: don't pick a password that is someone's birthday, a
-common phrase, something found on your desk, or anything that is easily associated with
-you. A password like &#8220;secure1&#8221; or any other password you see in print or
-online is also bad.</p>
-</td>
-</tr>
-</table>
-</div>
-
-<p>Removing users is not difficult at all. Just run <tt class="COMMAND">userdel</tt> with
-the name of the account to remove. You should verify that the user is not logged in, and
-that no processes are running as that user. Also, remember that once you've deleted the
-user, all of that user's password information is gone permanently.</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">#</samp> <kbd class="USERINPUT">userdel jellyd</kbd>
-</pre>
-</td>
-</tr>
-</table>
-
-<p>This command removes that annoying <tt class="USERNAME">jellyd</tt> user from your
-system. Good riddance! :) The user is removed from the <tt
-class="FILENAME">/etc/passwd</tt>, <tt class="FILENAME">/etc/shadow</tt>, and <tt
-class="FILENAME">/etc/group</tt> files, but doesn't remove the user's home directory.</p>
-
-<p>If you'd wanted to remove the home directory as well, you would instead use this
-command:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">#</samp> <kbd class="USERINPUT">userdel -r jellyd</kbd>
-</pre>
-</td>
-</tr>
-</table>
-
-<p>Temporarily disabling an account will be covered in the next section on passwords,
-since a temporary change involves changing the user's password. Changing other account
-information is covered in <a
-href="essential-sysadmin.html#ESSENTIAL-SYSADMIN-USERS-CHANGING">Section 12.1.3</a>.</p>
-
-<p>The programs to add and remove groups are very simple. <tt
-class="COMMAND">groupadd</tt> will just add another entry to the <tt
-class="FILENAME">/etc/group</tt> file with a unique group ID, while <tt
-class="COMMAND">groupdel</tt> will remove the specified group. It is up to you to edit
-<tt class="FILENAME">/etc/group</tt> to add users to a specific group. For example, to
-add a group called <tt class="USERNAME">cvs</tt>:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">#</samp> <kbd class="USERINPUT">groupadd cvs</kbd>
-</pre>
-</td>
-</tr>
-</table>
-
-<p>And to remove it:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">#</samp> <kbd class="USERINPUT">groupdel cvs</kbd>
-</pre>
-</td>
-</tr>
-</table>
-</div>
-
-<div class="SECT2">
-<h2 class="SECT2"><a id="ESSENTIAL-SYSADMIN-USERS-PASSWDS"
-name="ESSENTIAL-SYSADMIN-USERS-PASSWDS">12.1.2 Changing Passwords</a></h2>
-
-<p>The <tt class="COMMAND">passwd</tt> program changes passwords by modifying the <tt
-class="FILENAME">/etc/shadow</tt> file. This file holds all the passwords for the system
-in an encrypted format. In order to change your own password, you would type:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">%</samp> <kbd class="USERINPUT">passwd</kbd>
-Changing password for chris
-Old password:
-Enter the new password (minumum of 5, maximum of 127 characters)
-Please use a combination of upper and lower case letters and numbers.
-New password:
-</pre>
-</td>
-</tr>
-</table>
-
-<p>As you can see, you are prompted to enter your old password. It won't appear on the
-screen as you type it, just like when you log in. Then, you are prompted to enter the new
-password. <tt class="COMMAND">passwd</tt> performs a lot of checks on your new password,
-and it will complain if your new password doesn't pass its checks. You can ignore its
-warnings if you want. You will be prompted to enter your new password a second time for
-confirmation.</p>
-
-<p>If you are <tt class="USERNAME">root</tt>, you can also change another user's
-password:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">#</samp> <kbd class="USERINPUT">passwd ted</kbd>
-</pre>
-</td>
-</tr>
-</table>
-
-<p>You will then have to go through the same procedure as above, except that you won't
-have to enter the user's old password. (One of the many benefits of being <tt
-class="USERNAME">root</tt>...)</p>
-
-<p>If needed, you can also temporarily disable an account, and reenable it at a later
-time if needed. Both disabling an account and reenabling an account can be done with <tt
-class="COMMAND">passwd</tt>. To disable an account, do the following as <tt
-class="USERNAME">root</tt>:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">#</samp> <kbd class="USERINPUT">passwd -l david</kbd>
-</pre>
-</td>
-</tr>
-</table>
-
-<p>This will change david's password to something that can never match any encrypted
-value. You would reenable the account by using:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">#</samp> <kbd class="USERINPUT">passwd -u david</kbd>
-</pre>
-</td>
-</tr>
-</table>
-
-<p>Now, david's account is back to normal. Disabling an account might be useful if the
-user doesn't play by the rules you've set up on your system, or if they've exported a
-very large copy of <tt class="COMMAND">xeyes</tt>(1) to your X desktop.</p>
-</div>
-
-<div class="SECT2">
-<h2 class="SECT2"><a id="ESSENTIAL-SYSADMIN-USERS-CHANGING"
-name="ESSENTIAL-SYSADMIN-USERS-CHANGING">12.1.3 Changing User Information</a></h2>
-
-<p>There are two pieces of information that users can change at any time: their shell and
-their finger information. Slackware Linux uses <tt class="COMMAND">chsh</tt> (change
-shell) and <tt class="COMMAND">chfn</tt> (change finger) to modify these values.</p>
-
-<p>A user can pick any shell that is listed in the <tt class="FILENAME">/etc/shells</tt>
-file. For most people, <tt class="COMMAND">/bin/bash</tt> will do just fine. Others might
-be familiar with a shell found on their system at work or school and want to use what
-they already know. To change your shell, use <tt class="COMMAND">chsh</tt>:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">%</samp> <kbd class="USERINPUT">chsh</kbd>
-Password:
-Changing the login shell for chris
-Enter the new value, or press return for the default
- Login Shell [/bin/bash]:
-</pre>
-</td>
-</tr>
-</table>
-
-<p>After entering your password, enter the full path to the new shell. Make sure that
-it's listed in the <tt class="FILENAME">/etc/shells</tt>(5) file first. The <tt
-class="USERNAME">root</tt> user can also change any user's shell by running <tt
-class="COMMAND">chsh</tt> with a username as the argument.</p>
-
-<p>The finger information is the optional information such as your full name, phone
-numbers, and room number. This can be changed using <tt class="COMMAND">chfn</tt>, and
-follows the same procedure as it did during account creation. As usual, <tt
-class="USERNAME">root</tt> can change anyone's finger information.</p>
-</div>
-</div>
-</div>
-
-<div class="NAVFOOTER">
-<hr align="LEFT" width="100%" />
-<table summary="Footer navigation table" width="100%" border="0" cellpadding="0"
-cellspacing="0">
-<tr>
-<td width="33%" align="left" valign="top"><a href="process-control-top.html"
-accesskey="P">Prev</a></td>
-<td width="34%" align="center" valign="top"><a href="index.html"
-accesskey="H">Home</a></td>
-<td width="33%" align="right" valign="top"><a href="essential-sysadmin-hardusers.html"
-accesskey="N">Next</a></td>
-</tr>
-
-<tr>
-<td width="33%" align="left" valign="top"><tt class="COMMAND">top</tt></td>
-<td width="34%" align="center" valign="top">&nbsp;</td>
-<td width="33%" align="right" valign="top">Users and Groups, the Hard Way</td>
-</tr>
-</table>
-</div>
-</body>
-</html>
-
diff --git a/slackbook/html/file-commands-copymove.html b/slackbook/html/file-commands-copymove.html
deleted file mode 100644
index ddb7179a..00000000
--- a/slackbook/html/file-commands-copymove.html
+++ /dev/null
@@ -1,166 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta name="generator" content="HTML Tidy, see www.w3.org" />
-<title>Copy and Move</title>
-<meta name="GENERATOR" content="Modular DocBook HTML Stylesheet Version 1.7" />
-<link rel="HOME" title="Slackware Linux Essentials" href="index.html" />
-<link rel="UP" title="Handling Files and Directories" href="file-commands.html" />
-<link rel="PREVIOUS" title="Creation: touch and mkdir"
-href="file-commands-creation.html" />
-<link rel="NEXT" title="Deletion: rm and rmdir" href="file-commands-deletion.html" />
-<link rel="STYLESHEET" type="text/css" href="docbook.css" />
-<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
-</head>
-<body class="SECT1" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#840084"
-alink="#0000FF">
-<div class="NAVHEADER">
-<table summary="Header navigation table" width="100%" border="0" cellpadding="0"
-cellspacing="0">
-<tr>
-<th colspan="3" align="center">Slackware Linux Essentials</th>
-</tr>
-
-<tr>
-<td width="10%" align="left" valign="bottom"><a href="file-commands-creation.html"
-accesskey="P">Prev</a></td>
-<td width="80%" align="center" valign="bottom">Chapter 10 Handling Files and
-Directories</td>
-<td width="10%" align="right" valign="bottom"><a href="file-commands-deletion.html"
-accesskey="N">Next</a></td>
-</tr>
-</table>
-
-<hr align="LEFT" width="100%" />
-</div>
-
-<div class="SECT1">
-<h1 class="SECT1"><a id="FILE-COMMANDS-COPYMOVE" name="FILE-COMMANDS-COPYMOVE">10.5 Copy
-and Move</a></h1>
-
-<div class="SECT2">
-<h2 class="SECT2"><a id="FILE-COMMANDS-COPYMOVE-CP"
-name="FILE-COMMANDS-COPYMOVE-CP">10.5.1 <tt class="COMMAND">cp</tt></a></h2>
-
-<p><tt class="COMMAND">cp</tt>(1) copies files. DOS users will notice its similarity to
-the <tt class="COMMAND">copy</tt> command. There are many options for <tt
-class="COMMAND">cp</tt> , so you should have a look at the man page before using it.</p>
-
-<p>A common use is to use <tt class="COMMAND">cp</tt> to copy a file from one location to
-another. For example:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">%</samp> <kbd class="USERINPUT">cp hejaz /tmp</kbd>
-</pre>
-</td>
-</tr>
-</table>
-
-<p>This copies the <tt class="FILENAME">hejaz</tt> file from the current directory to the
-<tt class="FILENAME">/tmp</tt> directory.</p>
-
-<p>Many users prefer to keep the timestamps preserved, as in this example:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">%</samp> <kbd class="USERINPUT">cp -a hejaz /tmp</kbd>
-</pre>
-</td>
-</tr>
-</table>
-
-<p>This ensures that the timestamps are not modified in the copy.</p>
-
-<p>To recursively copy the contents of a directory to another directory, you would issue
-this command:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">%</samp> <kbd class="USERINPUT">cp -R <var
-class="REPLACEABLE">mydir</var> /tmp</kbd>
-</pre>
-</td>
-</tr>
-</table>
-
-<p>That will copy the <var class="REPLACEABLE">mydir</var> directory to the <tt
-class="FILENAME">/tmp</tt> directory.</p>
-
-<p>Also if you wish to copy a directory or a file and keep all it's old permissions and
-time stamps and keep it exactly the same use <tt class="COMMAND">cp -p</tt>.</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">%</samp> <kbd class="USERINPUT">ls -l file</kbd>
--rw-r--r-- 1 root vlad 4 Jan 1 15:27 file
-<samp class="PROMPT">%</samp> <kbd class="USERINPUT">cp -p file /tmp</kbd>
-<samp class="PROMPT">%</samp> <kbd class="USERINPUT">ls -l /tmp/file</kbd>
--rw-r--r-- 1 root vlad 4 Jan 1 15:27 file
-</pre>
-</td>
-</tr>
-</table>
-
-<p><tt class="COMMAND">cp</tt> has many more options that are discussed in detail in the
-online manual page.</p>
-</div>
-
-<div class="SECT2">
-<h2 class="SECT2"><a id="AEN3712" name="AEN3712">10.5.2 <tt
-class="COMMAND">mv</tt></a></h2>
-
-<p><tt class="COMMAND">mv</tt>(1) moves files from one place to another. Sounds simple
-enough doesn't it?</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">%</samp> <kbd class="USERINPUT">mv oldfile /tmp/newfile</kbd>
-</pre>
-</td>
-</tr>
-</table>
-
-<p><tt class="COMMAND">mv</tt> has a few useful command line options that are detailed in
-the man page. In practice, <tt class="COMMAND">mv</tt> is almost never used with
-commandline options.</p>
-</div>
-</div>
-
-<div class="NAVFOOTER">
-<hr align="LEFT" width="100%" />
-<table summary="Footer navigation table" width="100%" border="0" cellpadding="0"
-cellspacing="0">
-<tr>
-<td width="33%" align="left" valign="top"><a href="file-commands-creation.html"
-accesskey="P">Prev</a></td>
-<td width="34%" align="center" valign="top"><a href="index.html"
-accesskey="H">Home</a></td>
-<td width="33%" align="right" valign="top"><a href="file-commands-deletion.html"
-accesskey="N">Next</a></td>
-</tr>
-
-<tr>
-<td width="33%" align="left" valign="top">Creation: <tt class="COMMAND">touch</tt> and
-<tt class="COMMAND">mkdir</tt></td>
-<td width="34%" align="center" valign="top"><a href="file-commands.html"
-accesskey="U">Up</a></td>
-<td width="33%" align="right" valign="top">Deletion: <tt class="COMMAND">rm</tt> and <tt
-class="COMMAND">rmdir</tt></td>
-</tr>
-</table>
-</div>
-</body>
-</html>
-
diff --git a/slackbook/html/file-commands-creation.html b/slackbook/html/file-commands-creation.html
deleted file mode 100644
index cfbf7205..00000000
--- a/slackbook/html/file-commands-creation.html
+++ /dev/null
@@ -1,143 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta name="generator" content="HTML Tidy, see www.w3.org" />
-<title>Creation: touch and mkdir</title>
-<meta name="GENERATOR" content="Modular DocBook HTML Stylesheet Version 1.7" />
-<link rel="HOME" title="Slackware Linux Essentials" href="index.html" />
-<link rel="UP" title="Handling Files and Directories" href="file-commands.html" />
-<link rel="PREVIOUS" title="Simple Output: cat and echo"
-href="file-commands-output.html" />
-<link rel="NEXT" title="Copy and Move" href="file-commands-copymove.html" />
-<link rel="STYLESHEET" type="text/css" href="docbook.css" />
-<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
-</head>
-<body class="SECT1" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#840084"
-alink="#0000FF">
-<div class="NAVHEADER">
-<table summary="Header navigation table" width="100%" border="0" cellpadding="0"
-cellspacing="0">
-<tr>
-<th colspan="3" align="center">Slackware Linux Essentials</th>
-</tr>
-
-<tr>
-<td width="10%" align="left" valign="bottom"><a href="file-commands-output.html"
-accesskey="P">Prev</a></td>
-<td width="80%" align="center" valign="bottom">Chapter 10 Handling Files and
-Directories</td>
-<td width="10%" align="right" valign="bottom"><a href="file-commands-copymove.html"
-accesskey="N">Next</a></td>
-</tr>
-</table>
-
-<hr align="LEFT" width="100%" />
-</div>
-
-<div class="SECT1">
-<h1 class="SECT1"><a id="FILE-COMMANDS-CREATION" name="FILE-COMMANDS-CREATION">10.4
-Creation: <tt class="COMMAND">touch</tt> and <tt class="COMMAND">mkdir</tt></a></h1>
-
-<div class="SECT2">
-<h2 class="SECT2"><a id="AEN3619" name="AEN3619">10.4.1 <tt
-class="COMMAND">touch</tt></a></h2>
-
-<p><tt class="COMMAND">touch</tt>(1) is used to change the timestamp on a file. You can
-change access timestamps and modification timestamps with this command. If the file
-specified does not exist, <tt class="COMMAND">touch</tt> will create a zero length file
-with the name specified. To mark a file with the current system time, you would issue
-this command:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">%</samp> <kbd class="USERINPUT">ls -al file1</kbd>
--rw-r--r-- 1 root root 9779 Feb 7 21:41 file1
-<samp class="PROMPT">%</samp> <kbd class="USERINPUT">touch file1</kbd>
-<samp class="PROMPT">%</samp> <kbd class="USERINPUT">ls -al file1</kbd>
--rw-r--r-- 1 root root 9779 Feb 8 09:17 file1
-</pre>
-</td>
-</tr>
-</table>
-
-<p>There are several options for <tt class="COMMAND">touch</tt>, including options to
-specify which timestamp to modify, the time to use, and many more. The online manual page
-discusses these in detail.</p>
-</div>
-
-<div class="SECT2">
-<h2 class="SECT2"><a id="AEN3639" name="AEN3639">10.4.2 <tt
-class="COMMAND">mkdir</tt></a></h2>
-
-<p><tt class="COMMAND">mkdir</tt>(1) will create a new directory. You simply specify the
-directory to create when you run mkdir. This example creates the <tt
-class="FILENAME">hejaz</tt> directory in the current directory:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">%</samp> <kbd class="USERINPUT">mkdir hejaz</kbd>
-</pre>
-</td>
-</tr>
-</table>
-
-<p>You can also specify a path, like this:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">%</samp> <kbd class="USERINPUT">mkdir /usr/local/hejaz</kbd>
-</pre>
-</td>
-</tr>
-</table>
-
-<p>The <var class="OPTION">-p</var> option will tell <tt class="COMMAND">mkdir</tt> to
-make any parent directories. The above example will fail if <tt
-class="COMMAND">/usr/local</tt> does not exist. The <var class="OPTION">-p</var> option
-will create <tt class="FILENAME">/usr/local</tt> and <tt
-class="FILENAME">/usr/local/hejaz</tt>:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">%</samp> <kbd class="USERINPUT">mkdir -p /usr/local/hejaz</kbd>
-</pre>
-</td>
-</tr>
-</table>
-</div>
-</div>
-
-<div class="NAVFOOTER">
-<hr align="LEFT" width="100%" />
-<table summary="Footer navigation table" width="100%" border="0" cellpadding="0"
-cellspacing="0">
-<tr>
-<td width="33%" align="left" valign="top"><a href="file-commands-output.html"
-accesskey="P">Prev</a></td>
-<td width="34%" align="center" valign="top"><a href="index.html"
-accesskey="H">Home</a></td>
-<td width="33%" align="right" valign="top"><a href="file-commands-copymove.html"
-accesskey="N">Next</a></td>
-</tr>
-
-<tr>
-<td width="33%" align="left" valign="top">Simple Output: <tt class="COMMAND">cat</tt> and
-<tt class="COMMAND">echo</tt></td>
-<td width="34%" align="center" valign="top"><a href="file-commands.html"
-accesskey="U">Up</a></td>
-<td width="33%" align="right" valign="top">Copy and Move</td>
-</tr>
-</table>
-</div>
-</body>
-</html>
-
diff --git a/slackbook/html/file-commands-deletion.html b/slackbook/html/file-commands-deletion.html
deleted file mode 100644
index 5b4277c6..00000000
--- a/slackbook/html/file-commands-deletion.html
+++ /dev/null
@@ -1,189 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta name="generator" content="HTML Tidy, see www.w3.org" />
-<title>Deletion: rm and rmdir</title>
-<meta name="GENERATOR" content="Modular DocBook HTML Stylesheet Version 1.7" />
-<link rel="HOME" title="Slackware Linux Essentials" href="index.html" />
-<link rel="UP" title="Handling Files and Directories" href="file-commands.html" />
-<link rel="PREVIOUS" title="Copy and Move" href="file-commands-copymove.html" />
-<link rel="NEXT" title="Aliasing files with ln" href="file-commands-link.html" />
-<link rel="STYLESHEET" type="text/css" href="docbook.css" />
-<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
-</head>
-<body class="SECT1" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#840084"
-alink="#0000FF">
-<div class="NAVHEADER">
-<table summary="Header navigation table" width="100%" border="0" cellpadding="0"
-cellspacing="0">
-<tr>
-<th colspan="3" align="center">Slackware Linux Essentials</th>
-</tr>
-
-<tr>
-<td width="10%" align="left" valign="bottom"><a href="file-commands-copymove.html"
-accesskey="P">Prev</a></td>
-<td width="80%" align="center" valign="bottom">Chapter 10 Handling Files and
-Directories</td>
-<td width="10%" align="right" valign="bottom"><a href="file-commands-link.html"
-accesskey="N">Next</a></td>
-</tr>
-</table>
-
-<hr align="LEFT" width="100%" />
-</div>
-
-<div class="SECT1">
-<h1 class="SECT1"><a id="FILE-COMMANDS-DELETION" name="FILE-COMMANDS-DELETION">10.6
-Deletion: <tt class="COMMAND">rm</tt> and <tt class="COMMAND">rmdir</tt></a></h1>
-
-<div class="SECT2">
-<h2 class="SECT2"><a id="AEN3733" name="AEN3733">10.6.1 <tt
-class="COMMAND">rm</tt></a></h2>
-
-<p><tt class="COMMAND">rm</tt>(1) removes files and directory trees. DOS users will
-notice the similarity to both the <tt class="COMMAND">del</tt> and <tt
-class="COMMAND">deltree</tt> commands. <tt class="COMMAND">rm</tt> can be very dangerous
-if you do not watch yourself. While it is sometimes possible to retrieve a recently
-deleted file, it can be complicated (and potentially costly) and is beyond the scope of
-this book.</p>
-
-<p>To remove a single file, specify its name when you run rm:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">%</samp> <kbd class="USERINPUT">rm file1</kbd>
-</pre>
-</td>
-</tr>
-</table>
-
-<p>If the file has write permissions removed, you may get a permission denied error
-message. To force removal of the file no matter what, pass the <tt
-class="COMMAND">-f</tt> option, like this:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">%</samp> <kbd class="USERINPUT">rm -f file1</kbd>
-</pre>
-</td>
-</tr>
-</table>
-
-<p>To remove an entire directory, you use the <var class="OPTION">-r</var> and <var
-class="OPTION">-f</var> options together. This is a good example of how to delete the
-entire contents of your hard drive. You really don't want to do this. But here's the
-command anyway:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">#</samp> <kbd class="USERINPUT">rm -rf /</kbd>
-</pre>
-</td>
-</tr>
-</table>
-
-<p>Be very careful with <tt class="COMMAND">rm</tt>; you can shoot yourself in the foot.
-There are several command line options, which are discussed in detail in the online
-manual page.</p>
-</div>
-
-<div class="SECT2">
-<h2 class="SECT2"><a id="AEN3764" name="AEN3764">10.6.2 <tt
-class="COMMAND">rmdir</tt></a></h2>
-
-<p><tt class="COMMAND">rmdir</tt>(1) removes directories from the filesystem. The
-directory must be empty before it can be removed. The syntax is simply:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">%</samp> <kbd class="USERINPUT">rmdir &lt;<var
-class="REPLACEABLE">directory</var>&gt;</kbd>
-</pre>
-</td>
-</tr>
-</table>
-
-<p>This example will remove the <tt class="FILENAME">hejaz</tt> subdirectory in the
-current working directory:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">%</samp> <kbd class="USERINPUT">rmdir hejaz</kbd>
-</pre>
-</td>
-</tr>
-</table>
-
-<p>If that directory does not exist, <tt class="COMMAND">rmdir</tt> will tell you. You
-can also specify a full path to a directory to remove, as this example shows:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">%</samp> <kbd class="USERINPUT">rmdir /tmp/hejaz</kbd>
-</pre>
-</td>
-</tr>
-</table>
-
-<p>That example will try to remove the <tt class="FILENAME">hejaz</tt> directory inside
-the <tt class="FILENAME">/tmp</tt> directory.</p>
-
-<p>You can also remove a directory and all of its parent directories by passing the <var
-class="OPTION">-p</var> option.</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">%</samp> <kbd class="USERINPUT">rmdir -p /tmp/hejaz</kbd>
-</pre>
-</td>
-</tr>
-</table>
-
-<p>This will first try to remove the <tt class="FILENAME">hejaz</tt> directory inside <tt
-class="FILENAME">/tmp</tt>. If that is successful, it will try to remove <tt
-class="FILENAME">/tmp</tt>. <tt class="COMMAND">rmdir</tt> will continue this until an
-error is encountered or the entire tree specified is removed.</p>
-</div>
-</div>
-
-<div class="NAVFOOTER">
-<hr align="LEFT" width="100%" />
-<table summary="Footer navigation table" width="100%" border="0" cellpadding="0"
-cellspacing="0">
-<tr>
-<td width="33%" align="left" valign="top"><a href="file-commands-copymove.html"
-accesskey="P">Prev</a></td>
-<td width="34%" align="center" valign="top"><a href="index.html"
-accesskey="H">Home</a></td>
-<td width="33%" align="right" valign="top"><a href="file-commands-link.html"
-accesskey="N">Next</a></td>
-</tr>
-
-<tr>
-<td width="33%" align="left" valign="top">Copy and Move</td>
-<td width="34%" align="center" valign="top"><a href="file-commands.html"
-accesskey="U">Up</a></td>
-<td width="33%" align="right" valign="top">Aliasing files with <tt
-class="COMMAND">ln</tt></td>
-</tr>
-</table>
-</div>
-</body>
-</html>
-
diff --git a/slackbook/html/file-commands-link.html b/slackbook/html/file-commands-link.html
deleted file mode 100644
index 8a3784fa..00000000
--- a/slackbook/html/file-commands-link.html
+++ /dev/null
@@ -1,105 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta name="generator" content="HTML Tidy, see www.w3.org" />
-<title>Aliasing files with ln</title>
-<meta name="GENERATOR" content="Modular DocBook HTML Stylesheet Version 1.7" />
-<link rel="HOME" title="Slackware Linux Essentials" href="index.html" />
-<link rel="UP" title="Handling Files and Directories" href="file-commands.html" />
-<link rel="PREVIOUS" title="Deletion: rm and rmdir" href="file-commands-deletion.html" />
-<link rel="NEXT" title="Process Control" href="process-control.html" />
-<link rel="STYLESHEET" type="text/css" href="docbook.css" />
-<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
-</head>
-<body class="SECT1" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#840084"
-alink="#0000FF">
-<div class="NAVHEADER">
-<table summary="Header navigation table" width="100%" border="0" cellpadding="0"
-cellspacing="0">
-<tr>
-<th colspan="3" align="center">Slackware Linux Essentials</th>
-</tr>
-
-<tr>
-<td width="10%" align="left" valign="bottom"><a href="file-commands-deletion.html"
-accesskey="P">Prev</a></td>
-<td width="80%" align="center" valign="bottom">Chapter 10 Handling Files and
-Directories</td>
-<td width="10%" align="right" valign="bottom"><a href="process-control.html"
-accesskey="N">Next</a></td>
-</tr>
-</table>
-
-<hr align="LEFT" width="100%" />
-</div>
-
-<div class="SECT1">
-<h1 class="SECT1"><a id="FILE-COMMANDS-LINK" name="FILE-COMMANDS-LINK">10.7 Aliasing
-files with <tt class="COMMAND">ln</tt></a></h1>
-
-<p><tt class="COMMAND">ln</tt>(1) is used to create links between files. These links can
-be either hard links or soft (symbolic) links. The differences between the two kinds of
-links were discussed in <a href="filesystem-structure-links.html">Section 9.3</a>. If you
-wanted to make a symbolic link to the directory <tt class="FILENAME">/var/media/mp3</tt>
-and place the link in your home directory, you would do this:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">%</samp> <kbd class="USERINPUT">ln -s /var/media/mp3 ~/mp3</kbd>
-</pre>
-</td>
-</tr>
-</table>
-
-<p>The <var class="OPTION">-s</var> option tells <tt class="COMMAND">ln</tt> to make a
-symbolic link. The next option is the target of the link, and the final option is what to
-call the link. In this case, it will just make a file called <tt
-class="FILENAME">mp3</tt> in your home directory that points to <tt
-class="FILENAME">/var/media/mp3</tt>. You can call the link itself whatever you want by
-just changing the last option.</p>
-
-<p>Making a hard link is just as simple. All you have to do is leave off the <var
-class="OPTION">-s</var> option. Hard links may not normally refer to directories or span
-file systems, however. To create a hard link <tt class="FILENAME">/usr/bin/email</tt> to
-<tt class="FILENAME">/usr/bin/mutt</tt>, simply type the following:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">#</samp> <kbd
-class="USERINPUT">ln /usr/bin/mutt /usr/bin/email</kbd>
-</pre>
-</td>
-</tr>
-</table>
-</div>
-
-<div class="NAVFOOTER">
-<hr align="LEFT" width="100%" />
-<table summary="Footer navigation table" width="100%" border="0" cellpadding="0"
-cellspacing="0">
-<tr>
-<td width="33%" align="left" valign="top"><a href="file-commands-deletion.html"
-accesskey="P">Prev</a></td>
-<td width="34%" align="center" valign="top"><a href="index.html"
-accesskey="H">Home</a></td>
-<td width="33%" align="right" valign="top"><a href="process-control.html"
-accesskey="N">Next</a></td>
-</tr>
-
-<tr>
-<td width="33%" align="left" valign="top">Deletion: <tt class="COMMAND">rm</tt> and <tt
-class="COMMAND">rmdir</tt></td>
-<td width="34%" align="center" valign="top"><a href="file-commands.html"
-accesskey="U">Up</a></td>
-<td width="33%" align="right" valign="top">Process Control</td>
-</tr>
-</table>
-</div>
-</body>
-</html>
-
diff --git a/slackbook/html/file-commands-output.html b/slackbook/html/file-commands-output.html
deleted file mode 100644
index e2419b27..00000000
--- a/slackbook/html/file-commands-output.html
+++ /dev/null
@@ -1,147 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta name="generator" content="HTML Tidy, see www.w3.org" />
-<title>Simple Output: cat and echo</title>
-<meta name="GENERATOR" content="Modular DocBook HTML Stylesheet Version 1.7" />
-<link rel="HOME" title="Slackware Linux Essentials" href="index.html" />
-<link rel="UP" title="Handling Files and Directories" href="file-commands.html" />
-<link rel="PREVIOUS" title="Pagers: more, less, and most"
-href="file-commands-pagers.html" />
-<link rel="NEXT" title="Creation: touch and mkdir" href="file-commands-creation.html" />
-<link rel="STYLESHEET" type="text/css" href="docbook.css" />
-<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
-</head>
-<body class="SECT1" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#840084"
-alink="#0000FF">
-<div class="NAVHEADER">
-<table summary="Header navigation table" width="100%" border="0" cellpadding="0"
-cellspacing="0">
-<tr>
-<th colspan="3" align="center">Slackware Linux Essentials</th>
-</tr>
-
-<tr>
-<td width="10%" align="left" valign="bottom"><a href="file-commands-pagers.html"
-accesskey="P">Prev</a></td>
-<td width="80%" align="center" valign="bottom">Chapter 10 Handling Files and
-Directories</td>
-<td width="10%" align="right" valign="bottom"><a href="file-commands-creation.html"
-accesskey="N">Next</a></td>
-</tr>
-</table>
-
-<hr align="LEFT" width="100%" />
-</div>
-
-<div class="SECT1">
-<h1 class="SECT1"><a id="FILE-COMMANDS-OUTPUT" name="FILE-COMMANDS-OUTPUT">10.3 Simple
-Output: <tt class="COMMAND">cat</tt> and <tt class="COMMAND">echo</tt></a></h1>
-
-<div class="SECT2">
-<h2 class="SECT2"><a id="AEN3559" name="AEN3559">10.3.1 <tt
-class="COMMAND">cat</tt></a></h2>
-
-<p><tt class="COMMAND">cat</tt>(1) is short for &#8220;concatenate&#8221;. It was
-originally designed to merge text files into one, but can be used for many other
-purposes.</p>
-
-<p>To merge two or more files into one, you simply list the files after the <tt
-class="COMMAND">cat</tt> command and then redirect the new output to a file. <tt
-class="COMMAND">cat</tt> works with standard input and standard output, so you have to
-use the shell redirection characters. For example:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">%</samp> <kbd
-class="USERINPUT">cat file1 file2 file3 &gt; bigfile</kbd>
-</pre>
-</td>
-</tr>
-</table>
-
-<p>This command takes the contents of <tt class="FILENAME">file1</tt>, <tt
-class="FILENAME">file2</tt>, and <tt class="FILENAME">file3</tt> and merges it all
-together. The new output is sent to standard out.</p>
-
-<p>One can also use <tt class="COMMAND">cat</tt> to display files. Many people <tt
-class="COMMAND">cat</tt> text files through the <tt class="COMMAND">more</tt> or <tt
-class="COMMAND">less</tt> commands, like this:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">%</samp> <kbd class="USERINPUT">cat file1 | more</kbd>
-</pre>
-</td>
-</tr>
-</table>
-
-<p>That will display the <tt class="FILENAME">file1</tt> file and pipe it through the <tt
-class="COMMAND">more</tt> command so that you only get one screen at a time.</p>
-
-<p>Another common use for <tt class="COMMAND">cat</tt> is copying files. You can copy any
-file around with <tt class="COMMAND">cat</tt>, like this:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">%</samp> <kbd class="USERINPUT">cat /bin/bash &gt; ~/mybash</kbd>
-</pre>
-</td>
-</tr>
-</table>
-
-<p>The <tt class="COMMAND">/bin/bash</tt> program is copied to your home directory and
-named <tt class="FILENAME">mybash</tt>.</p>
-
-<p><tt class="COMMAND">cat</tt> has many uses and the ones discussed here are just a few.
-Since <tt class="COMMAND">cat</tt> makes extensive use of standard input and standard
-output, it is ideal for use in shell scripts or part of other complex commands.</p>
-</div>
-
-<div class="SECT2">
-<h2 class="SECT2"><a id="AEN3603" name="AEN3603">10.3.2 <tt
-class="COMMAND">echo</tt></a></h2>
-
-<p>The <tt class="COMMAND">echo</tt>(1) command displays the specified text on the
-screen. You specify the string to display after the <tt class="COMMAND">echo</tt>
-command. By default <tt class="COMMAND">echo</tt> will display the string and print a
-newline character after it. You can pass the <var class="OPTION">-n</var> option to
-suppress the printing of the newline. The <var class="OPTION">-e</var> option will cause
-<tt class="COMMAND">echo</tt> to search for escape characters in the string and execute
-them.</p>
-</div>
-</div>
-
-<div class="NAVFOOTER">
-<hr align="LEFT" width="100%" />
-<table summary="Footer navigation table" width="100%" border="0" cellpadding="0"
-cellspacing="0">
-<tr>
-<td width="33%" align="left" valign="top"><a href="file-commands-pagers.html"
-accesskey="P">Prev</a></td>
-<td width="34%" align="center" valign="top"><a href="index.html"
-accesskey="H">Home</a></td>
-<td width="33%" align="right" valign="top"><a href="file-commands-creation.html"
-accesskey="N">Next</a></td>
-</tr>
-
-<tr>
-<td width="33%" align="left" valign="top">Pagers: <tt class="COMMAND">more</tt>, <tt
-class="COMMAND">less</tt>, and <tt class="COMMAND">most</tt></td>
-<td width="34%" align="center" valign="top"><a href="file-commands.html"
-accesskey="U">Up</a></td>
-<td width="33%" align="right" valign="top">Creation: <tt class="COMMAND">touch</tt> and
-<tt class="COMMAND">mkdir</tt></td>
-</tr>
-</table>
-</div>
-</body>
-</html>
-
diff --git a/slackbook/html/file-commands-pagers.html b/slackbook/html/file-commands-pagers.html
deleted file mode 100644
index 731c464b..00000000
--- a/slackbook/html/file-commands-pagers.html
+++ /dev/null
@@ -1,144 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta name="generator" content="HTML Tidy, see www.w3.org" />
-<title>Pagers: more, less, and most</title>
-<meta name="GENERATOR" content="Modular DocBook HTML Stylesheet Version 1.7" />
-<link rel="HOME" title="Slackware Linux Essentials" href="index.html" />
-<link rel="UP" title="Handling Files and Directories" href="file-commands.html" />
-<link rel="PREVIOUS" title="Handling Files and Directories" href="file-commands.html" />
-<link rel="NEXT" title="Simple Output: cat and echo" href="file-commands-output.html" />
-<link rel="STYLESHEET" type="text/css" href="docbook.css" />
-<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
-</head>
-<body class="SECT1" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#840084"
-alink="#0000FF">
-<div class="NAVHEADER">
-<table summary="Header navigation table" width="100%" border="0" cellpadding="0"
-cellspacing="0">
-<tr>
-<th colspan="3" align="center">Slackware Linux Essentials</th>
-</tr>
-
-<tr>
-<td width="10%" align="left" valign="bottom"><a href="file-commands.html"
-accesskey="P">Prev</a></td>
-<td width="80%" align="center" valign="bottom">Chapter 10 Handling Files and
-Directories</td>
-<td width="10%" align="right" valign="bottom"><a href="file-commands-output.html"
-accesskey="N">Next</a></td>
-</tr>
-</table>
-
-<hr align="LEFT" width="100%" />
-</div>
-
-<div class="SECT1">
-<h1 class="SECT1"><a id="FILE-COMMANDS-PAGERS" name="FILE-COMMANDS-PAGERS">10.2 Pagers:
-<tt class="COMMAND">more</tt>, <tt class="COMMAND">less</tt>, and <tt
-class="COMMAND">most</tt></a></h1>
-
-<div class="SECT2">
-<h2 class="SECT2"><a id="AEN3491" name="AEN3491">10.2.1 <tt
-class="COMMAND">more</tt></a></h2>
-
-<p><tt class="COMMAND">more</tt>(1) is what we call a pager utility. Oftentimes the
-output of a particular command is too big to fit on one screen. The individual commands
-do not know how to fit their output to separate screens. They leave this job to the pager
-utility.</p>
-
-<p>The <tt class="COMMAND">more</tt> command breaks the output into individual screens
-and waits for you to press the space bar before continuing on to the next screen.
-Pressing the enter key will advance the output one line. Here is a good example:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">%</samp> <kbd class="USERINPUT">cd /usr/bin</kbd>
-<samp class="PROMPT">%</samp> <kbd class="USERINPUT">ls -l</kbd>
-</pre>
-</td>
-</tr>
-</table>
-
-<p>That should scroll for a while. To break up the output screen by screen, just pipe it
-through more:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">%</samp> <kbd class="USERINPUT">ls -l | more</kbd>
-</pre>
-</td>
-</tr>
-</table>
-
-<p>That is the pipe character (shift backslash). The pipe is short for saying take the
-output of <tt class="COMMAND">ls</tt> and feed it into <tt class="COMMAND">more</tt>. You
-can pipe just about anything through the <tt class="COMMAND">more</tt> command, not just
-<tt class="COMMAND">ls</tt>. Piping is also covered in <a
-href="shell-command-line.html#SHELL-COMMAND-LINE-PIPING">Section 8.2.3</a>.</p>
-</div>
-
-<div class="SECT2">
-<h2 class="SECT2"><a id="AEN3518" name="AEN3518">10.2.2 <tt
-class="COMMAND">less</tt></a></h2>
-
-<p>The <tt class="COMMAND">more</tt> command is quite handy, but often you will find that
-you have advanced past the screen you wanted. more does not provide a way to go back. The
-<tt class="COMMAND">less</tt>(1) command provides this functionality. It is used in the
-same way as the <tt class="COMMAND">more</tt> command, so the previous examples apply
-here too. So, <tt class="COMMAND">less</tt> is more than <tt class="COMMAND">more</tt>.
-Joost Kremers puts it this way:</p>
-
-<a id="AEN3530" name="AEN3530"></a>
-<blockquote class="BLOCKQUOTE">
-<p><tt class="COMMAND">less</tt> is more, but more <tt class="COMMAND">more</tt> than <tt
-class="COMMAND">more</tt> is, so <tt class="COMMAND">more</tt> is less <tt
-class="COMMAND">less</tt>, so use more <tt class="COMMAND">less</tt> if you want less <tt
-class="COMMAND">more</tt>.</p>
-</blockquote>
-</div>
-
-<div class="SECT2">
-<h2 class="SECT2"><a id="AEN3539" name="AEN3539">10.2.3 <tt
-class="COMMAND">most</tt></a></h2>
-
-<p>Where <tt class="COMMAND">more</tt> and <tt class="COMMAND">less</tt> leave off, <tt
-class="COMMAND">most</tt>(1) picks back up. If <tt class="COMMAND">less</tt> is more than
-<tt class="COMMAND">more</tt>, <tt class="COMMAND">most</tt> is more than <tt
-class="COMMAND">less</tt>. Whereas the other pagers can only display one file at a time,
-<tt class="COMMAND">most</tt> is capable of viewing any number of files, as long as each
-file's window is at least 2 lines long. <tt class="COMMAND">most</tt> has a lot of
-options, check the man page for full details.</p>
-</div>
-</div>
-
-<div class="NAVFOOTER">
-<hr align="LEFT" width="100%" />
-<table summary="Footer navigation table" width="100%" border="0" cellpadding="0"
-cellspacing="0">
-<tr>
-<td width="33%" align="left" valign="top"><a href="file-commands.html"
-accesskey="P">Prev</a></td>
-<td width="34%" align="center" valign="top"><a href="index.html"
-accesskey="H">Home</a></td>
-<td width="33%" align="right" valign="top"><a href="file-commands-output.html"
-accesskey="N">Next</a></td>
-</tr>
-
-<tr>
-<td width="33%" align="left" valign="top">Handling Files and Directories</td>
-<td width="34%" align="center" valign="top"><a href="file-commands.html"
-accesskey="U">Up</a></td>
-<td width="33%" align="right" valign="top">Simple Output: <tt class="COMMAND">cat</tt>
-and <tt class="COMMAND">echo</tt></td>
-</tr>
-</table>
-</div>
-</body>
-</html>
-
diff --git a/slackbook/html/file-commands.html b/slackbook/html/file-commands.html
deleted file mode 100644
index b541735d..00000000
--- a/slackbook/html/file-commands.html
+++ /dev/null
@@ -1,275 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta name="generator" content="HTML Tidy, see www.w3.org" />
-<title>Handling Files and Directories</title>
-<meta name="GENERATOR" content="Modular DocBook HTML Stylesheet Version 1.7" />
-<link rel="HOME" title="Slackware Linux Essentials" href="index.html" />
-<link rel="PREVIOUS" title="NFS Mounts" href="filesystem-structure-nfs.html" />
-<link rel="NEXT" title="Pagers: more, less, and most" href="file-commands-pagers.html" />
-<link rel="STYLESHEET" type="text/css" href="docbook.css" />
-<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
-</head>
-<body class="CHAPTER" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#840084"
-alink="#0000FF">
-<div class="NAVHEADER">
-<table summary="Header navigation table" width="100%" border="0" cellpadding="0"
-cellspacing="0">
-<tr>
-<th colspan="3" align="center">Slackware Linux Essentials</th>
-</tr>
-
-<tr>
-<td width="10%" align="left" valign="bottom"><a href="filesystem-structure-nfs.html"
-accesskey="P">Prev</a></td>
-<td width="80%" align="center" valign="bottom"></td>
-<td width="10%" align="right" valign="bottom"><a href="file-commands-pagers.html"
-accesskey="N">Next</a></td>
-</tr>
-</table>
-
-<hr align="LEFT" width="100%" />
-</div>
-
-<div class="CHAPTER">
-<h1><a id="FILE-COMMANDS" name="FILE-COMMANDS"></a>Chapter 10 Handling Files and
-Directories</h1>
-
-<div class="TOC">
-<dl>
-<dt><b>Table of Contents</b></dt>
-
-<dt>10.1 <a href="file-commands.html#FILE-COMMANDS-NAVIGATION">Navigation : <tt
-class="COMMAND">ls</tt>, <tt class="COMMAND">cd</tt>, and <tt
-class="COMMAND">pwd</tt></a></dt>
-
-<dt>10.2 <a href="file-commands-pagers.html">Pagers: <tt class="COMMAND">more</tt>, <tt
-class="COMMAND">less</tt>, and <tt class="COMMAND">most</tt></a></dt>
-
-<dt>10.3 <a href="file-commands-output.html">Simple Output: <tt class="COMMAND">cat</tt>
-and <tt class="COMMAND">echo</tt></a></dt>
-
-<dt>10.4 <a href="file-commands-creation.html">Creation: <tt class="COMMAND">touch</tt>
-and <tt class="COMMAND">mkdir</tt></a></dt>
-
-<dt>10.5 <a href="file-commands-copymove.html">Copy and Move</a></dt>
-
-<dt>10.6 <a href="file-commands-deletion.html">Deletion: <tt class="COMMAND">rm</tt> and
-<tt class="COMMAND">rmdir</tt></a></dt>
-
-<dt>10.7 <a href="file-commands-link.html">Aliasing files with <tt
-class="COMMAND">ln</tt></a></dt>
-</dl>
-</div>
-
-<p>Linux aims to the most Unix-like it can be. Traditionally, Unix operating systems have
-been command-line oriented. We do have a graphical user interface in Slackware, but the
-command-line is still the main level of control for the system. Therefore, it is
-important to understand some of the basic file management commands.</p>
-
-<p>The following sections explain the common file management commands and provide
-examples of how they are used. There are many other commands, but these will help you get
-started. Also, the commands are only briefly discussed here. You will find more detail in
-the accompanying man pages for each command.</p>
-
-<div class="SECT1">
-<h1 class="SECT1"><a id="FILE-COMMANDS-NAVIGATION" name="FILE-COMMANDS-NAVIGATION">10.1
-Navigation : <tt class="COMMAND">ls</tt>, <tt class="COMMAND">cd</tt>, and <tt
-class="COMMAND">pwd</tt></a></h1>
-
-<div class="SECT2">
-<h2 class="SECT2"><a id="AEN3398" name="AEN3398">10.1.1 <tt
-class="COMMAND">ls</tt></a></h2>
-
-<p>This command lists files in a directory. Windows and DOS users will notice its
-similarity to the <tt class="COMMAND">dir</tt> command. By itself, <tt
-class="COMMAND">ls</tt>(1) will list the files in the current directory. To see what's in
-your root directory, you could issue these commands:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">%</samp> <kbd class="USERINPUT">cd /</kbd>
-<samp class="PROMPT">%</samp> <kbd class="USERINPUT">ls</kbd>
-bin cdr dev home lost+found proc sbin tmp var
-boot cdrom etc lib mnt root suncd usr vmlinuz
-</pre>
-</td>
-</tr>
-</table>
-
-<p>The problem a lot of people have with that output is that you cannot easily tell what
-is a directory and what is a file. Some users prefer that <tt class="COMMAND">ls</tt> add
-a type identifier to each listing, like this:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">%</samp> <kbd class="USERINPUT">ls -FC</kbd>
-bin/ cdr/ dev/ home/ lost+found/ proc/ sbin/ tmp/ var/
-boot/ cdrom/ etc/ lib/ mnt/ root/ suncd/ usr/ vmlinuz
-</pre>
-</td>
-</tr>
-</table>
-
-<p>Directories get a slash at the end of the name, executable files get an asterisk at
-the end of the name, and so on.</p>
-
-<p><tt class="COMMAND">ls</tt> can also be used to get other statistics on files. For
-example, to see the creation dates, owners, and permissions, you would look at a long
-listing:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">%</samp> <kbd class="USERINPUT">ls -l</kbd>
-drwxr-xr-x 2 root bin 4096 May 7 09:11 bin/
-drwxr-xr-x 2 root root 4096 Feb 24 03:55 boot/
-drwxr-xr-x 2 root root 4096 Feb 18 01:10 cdr/
-drwxr-xr-x 14 root root 6144 Oct 23 18:37 cdrom/
-drwxr-xr-x 4 root root 28672 Mar 5 18:01 dev/
-drwxr-xr-x 10 root root 4096 Mar 8 03:32 etc/
-drwxr-xr-x 8 root root 4096 Mar 8 03:31 home/
-drwxr-xr-x 3 root root 4096 Jan 23 21:29 lib/
-drwxr-xr-x 2 root root 16384 Nov 1 08:53 lost+found/
-drwxr-xr-x 2 root root 4096 Oct 6 12:47 mnt/
-dr-xr-xr-x 62 root root 0 Mar 4 15:32 proc/
-drwxr-x--x 12 root root 4096 Feb 26 02:06 root/
-drwxr-xr-x 2 root bin 4096 Feb 17 02:02 sbin/
-drwxr-xr-x 5 root root 2048 Oct 25 10:51 suncd/
-drwxrwxrwt 4 root root 487424 Mar 7 20:42 tmp/
-drwxr-xr-x 21 root root 4096 Aug 24 03:04 usr/
-drwxr-xr-x 18 root root 4096 Mar 8 03:32 var/
-</pre>
-</td>
-</tr>
-</table>
-
-<p>Suppose you want to get a listing of the hidden files in the current directory. This
-command will do just that:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">%</samp> <kbd class="USERINPUT">ls -a</kbd>
-. bin cdrom home mnt sbin usr
-.. boot dev lib proc suncd var
-.pwrchute_tmp cdr etc lost+found root tmp vmlinuz
-</pre>
-</td>
-</tr>
-</table>
-
-<p>Files beginning with a period (called dot files) are hidden when you run <tt
-class="COMMAND">ls</tt>. You will only see them if you pass the <var
-class="OPTION">-a</var> option.</p>
-
-<p>There are many more options that can be found in the online manual page. Don't forget
-that you can combine options that you pass to <tt class="COMMAND">ls</tt>.</p>
-</div>
-
-<div class="SECT2">
-<h2 class="SECT2"><a id="AEN3436" name="AEN3436">10.1.2 <tt
-class="COMMAND">cd</tt></a></h2>
-
-<p>The <tt class="COMMAND">cd</tt> command is used to change working directories. You
-simply type <tt class="COMMAND">cd</tt> followed by the path name to change to. Here are
-some examples:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-darkstar:~$ <kbd class="USERINPUT">cd /bin</kbd>
-darkstar:/bin$ <kbd class="USERINPUT">cd usr</kbd>
-bash: cd: usr: No such file or directory
-darkstar:/bin$ <kbd class="USERINPUT">cd /usr</kbd>
-darkstar:/usr$ <kbd class="USERINPUT">ls</kbd>
-bin
-darkstar:/usr$ <kbd class="USERINPUT">cd bin</kbd>
-darkstar:/usr/bin$
-</pre>
-</td>
-</tr>
-</table>
-
-<p>Notice that without the preceding slash, it tries to change to a directory in the
-current directory. Also executing <tt class="COMMAND">cd</tt> with no options will move
-you to your home directory.</p>
-
-<p>The <tt class="COMMAND">cd</tt> command is not like the other commands. It is a
-builtin shell command. Shell builtins are discussed in <a
-href="shell-bash.html#SHELL-BASH-ENVIRONMENT">Section 8.3.1</a>. This may not make any
-sense to you right now. Basically it means there is no man page for this command.
-Instead, you have to use the shell help. Like this:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">%</samp> <kbd class="USERINPUT">help cd</kbd>
-</pre>
-</td>
-</tr>
-</table>
-
-<p>It will display the options for <tt class="COMMAND">cd</tt> and how to use them.</p>
-</div>
-
-<div class="SECT2">
-<h2 class="SECT2"><a id="AEN3463" name="AEN3463">10.1.3 <tt
-class="COMMAND">pwd</tt></a></h2>
-
-<p>The <tt class="COMMAND">pwd</tt> command is used to show your current location. To use
-the <tt class="COMMAND">pwd</tt> command just type <tt class="COMMAND">pwd</tt>. For
-example:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">%</samp> <kbd class="USERINPUT">cd /bin</kbd>
-<samp class="PROMPT">%</samp> <kbd class="USERINPUT">pwd</kbd>
-/bin
-<samp class="PROMPT">%</samp> <kbd class="USERINPUT">cd /usr</kbd>
-<samp class="PROMPT">%</samp> <kbd class="USERINPUT">cd bin</kbd>
-<samp class="PROMPT">%</samp> <kbd class="USERINPUT">pwd</kbd>
-/usr/bin
-</pre>
-</td>
-</tr>
-</table>
-</div>
-</div>
-</div>
-
-<div class="NAVFOOTER">
-<hr align="LEFT" width="100%" />
-<table summary="Footer navigation table" width="100%" border="0" cellpadding="0"
-cellspacing="0">
-<tr>
-<td width="33%" align="left" valign="top"><a href="filesystem-structure-nfs.html"
-accesskey="P">Prev</a></td>
-<td width="34%" align="center" valign="top"><a href="index.html"
-accesskey="H">Home</a></td>
-<td width="33%" align="right" valign="top"><a href="file-commands-pagers.html"
-accesskey="N">Next</a></td>
-</tr>
-
-<tr>
-<td width="33%" align="left" valign="top">NFS Mounts</td>
-<td width="34%" align="center" valign="top">&nbsp;</td>
-<td width="33%" align="right" valign="top">Pagers: <tt class="COMMAND">more</tt>, <tt
-class="COMMAND">less</tt>, and <tt class="COMMAND">most</tt></td>
-</tr>
-</table>
-</div>
-</body>
-</html>
-
diff --git a/slackbook/html/filesystem-structure-links.html b/slackbook/html/filesystem-structure-links.html
deleted file mode 100644
index 451270e5..00000000
--- a/slackbook/html/filesystem-structure-links.html
+++ /dev/null
@@ -1,105 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta name="generator" content="HTML Tidy, see www.w3.org" />
-<title>Links</title>
-<meta name="GENERATOR" content="Modular DocBook HTML Stylesheet Version 1.7" />
-<link rel="HOME" title="Slackware Linux Essentials" href="index.html" />
-<link rel="UP" title="Filesystem Structure" href="filesystem-structure.html" />
-<link rel="PREVIOUS" title="Permissions" href="filesystem-structure-permissions.html" />
-<link rel="NEXT" title="Mounting Devices" href="filesystem-structure-mounting.html" />
-<link rel="STYLESHEET" type="text/css" href="docbook.css" />
-<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
-</head>
-<body class="SECT1" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#840084"
-alink="#0000FF">
-<div class="NAVHEADER">
-<table summary="Header navigation table" width="100%" border="0" cellpadding="0"
-cellspacing="0">
-<tr>
-<th colspan="3" align="center">Slackware Linux Essentials</th>
-</tr>
-
-<tr>
-<td width="10%" align="left" valign="bottom"><a
-href="filesystem-structure-permissions.html" accesskey="P">Prev</a></td>
-<td width="80%" align="center" valign="bottom">Chapter 9 Filesystem Structure</td>
-<td width="10%" align="right" valign="bottom"><a
-href="filesystem-structure-mounting.html" accesskey="N">Next</a></td>
-</tr>
-</table>
-
-<hr align="LEFT" width="100%" />
-</div>
-
-<div class="SECT1">
-<h1 class="SECT1"><a id="FILESYSTEM-STRUCTURE-LINKS"
-name="FILESYSTEM-STRUCTURE-LINKS">9.3 Links</a></h1>
-
-<p>Links are pointers between files. With links, you can have files exist in many
-locations and be accessible by many names. There are two types of links: hard and
-soft.</p>
-
-<p>Hard links are names for a particular file. They can only exist within a single
-filesystem and are only removed when the real name is removed from the system. These are
-useful in some cases, but many users find the soft link to be more versatile.</p>
-
-<p>The soft link, also called a symbolic link, can point to a file outside of its
-filesystem. It is actually a small file containing the information it needs. You can add
-and remove soft links without affecting the actual file. And since a symbolic link is
-actually a small file containing its own information, they can even point at a directory.
-It's rather common to have <tt class="FILENAME">/var/tmp</tt> actually be a symbolic link
-to <tt class="FILENAME">/tmp</tt> for example.</p>
-
-<p>Links do not have their own set of permissions or ownerships, but instead reflect
-those of the file they point to. Slackware uses mostly soft links. Here is a common
-example:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">%</samp> <kbd class="USERINPUT">ls -l /bin/sh</kbd>
-lrwxrwxrwx 1 root root 4 Apr 6 12:34 /bin/sh -&#62; bash
-</pre>
-</td>
-</tr>
-</table>
-
-<p>The <tt class="COMMAND">sh</tt> shell under Slackware is actually <tt
-class="COMMAND">bash</tt>. Removing links is done using <tt class="COMMAND">rm</tt>. The
-<tt class="COMMAND">ln</tt> command is used to create links. These commands will be
-discussed in more depth in <a href="file-commands.html">Chapter 10</a>.</p>
-
-<p>It's very important to be careful about symlinks in particular. Once, I was working on
-a machine that was consistently failing to back-up to tape each night. Two symlinks had
-been made to directories beneath each other. The back-up software kept appending those
-same directories to the tape until it was out of space. Normally, a set of checks will
-prevent creating a symlink in this situation, but ours was a special case.</p>
-</div>
-
-<div class="NAVFOOTER">
-<hr align="LEFT" width="100%" />
-<table summary="Footer navigation table" width="100%" border="0" cellpadding="0"
-cellspacing="0">
-<tr>
-<td width="33%" align="left" valign="top"><a href="filesystem-structure-permissions.html"
-accesskey="P">Prev</a></td>
-<td width="34%" align="center" valign="top"><a href="index.html"
-accesskey="H">Home</a></td>
-<td width="33%" align="right" valign="top"><a href="filesystem-structure-mounting.html"
-accesskey="N">Next</a></td>
-</tr>
-
-<tr>
-<td width="33%" align="left" valign="top">Permissions</td>
-<td width="34%" align="center" valign="top"><a href="filesystem-structure.html"
-accesskey="U">Up</a></td>
-<td width="33%" align="right" valign="top">Mounting Devices</td>
-</tr>
-</table>
-</div>
-</body>
-</html>
-
diff --git a/slackbook/html/filesystem-structure-mounting.html b/slackbook/html/filesystem-structure-mounting.html
deleted file mode 100644
index e09694e4..00000000
--- a/slackbook/html/filesystem-structure-mounting.html
+++ /dev/null
@@ -1,184 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta name="generator" content="HTML Tidy, see www.w3.org" />
-<title>Mounting Devices</title>
-<meta name="GENERATOR" content="Modular DocBook HTML Stylesheet Version 1.7" />
-<link rel="HOME" title="Slackware Linux Essentials" href="index.html" />
-<link rel="UP" title="Filesystem Structure" href="filesystem-structure.html" />
-<link rel="PREVIOUS" title="Links" href="filesystem-structure-links.html" />
-<link rel="NEXT" title="NFS Mounts" href="filesystem-structure-nfs.html" />
-<link rel="STYLESHEET" type="text/css" href="docbook.css" />
-<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
-</head>
-<body class="SECT1" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#840084"
-alink="#0000FF">
-<div class="NAVHEADER">
-<table summary="Header navigation table" width="100%" border="0" cellpadding="0"
-cellspacing="0">
-<tr>
-<th colspan="3" align="center">Slackware Linux Essentials</th>
-</tr>
-
-<tr>
-<td width="10%" align="left" valign="bottom"><a href="filesystem-structure-links.html"
-accesskey="P">Prev</a></td>
-<td width="80%" align="center" valign="bottom">Chapter 9 Filesystem Structure</td>
-<td width="10%" align="right" valign="bottom"><a href="filesystem-structure-nfs.html"
-accesskey="N">Next</a></td>
-</tr>
-</table>
-
-<hr align="LEFT" width="100%" />
-</div>
-
-<div class="SECT1">
-<h1 class="SECT1"><a id="FILESYSTEM-STRUCTURE-MOUNTING"
-name="FILESYSTEM-STRUCTURE-MOUNTING">9.4 Mounting Devices</a></h1>
-
-<p>As was previously discussed in <a
-href="system-configuration.html#SYSTEM-CONFIGURATION-LAYOUT">Section 4.1.1</a>, all the
-drives and devices in your computer are one big filesystem. Various hard drive
-partitions, CD-ROMs, and floppies are all placed in the same tree. In order to attach
-these drives to the filesystem so that you can access them, you have to use the <tt
-class="COMMAND">mount</tt>(1) and <tt class="COMMAND">umount</tt>(1) commands.</p>
-
-<p>Some devices are automatically mounted when you boot up your computer. These are
-listed in the <tt class="FILENAME">/etc/fstab</tt> file. Anything that you want to be
-mounted automatically gets an entry in that file. For other devices, you'll have to issue
-a command every time you want to use the device.</p>
-
-<div class="SECT2">
-<h2 class="SECT2"><a id="AEN3319" name="AEN3319">9.4.1 <tt
-class="FILENAME">fstab</tt></a></h2>
-
-<p>Let's look at an example of the <tt class="FILENAME">/etc/fstab</tt> file:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">%</samp> <kbd class="USERINPUT">cat /etc/fstab</kbd>
-/dev/sda1 / ext2 defaults 1 1
-/dev/sda2 /usr/local ext2 defaults 1 1
-/dev/sda4 /home ext2 defaults 1 1
-/dev/sdb1 swap swap defaults 0 0
-/dev/sdb3 /export ext2 defaults 1 1
-none /dev/pts devpts gid=5,mode=620 0 0
-none /proc proc defaults 0 0
-/dev/fd0 /mnt ext2 defaults 0 0
-/dev/cdrom /mnt/cdrom iso9660 ro 0 0
-</pre>
-</td>
-</tr>
-</table>
-
-<p>The first column is the device name. In this case, the devices are five partitions
-spread out across two SCSI hard drives, two special filesystems that don't need a device,
-a floppy, and a CD-ROM drive. The second column is where the device will be mounted. This
-needs to be a directory name, except in the case of a swap partition. The third column is
-the filesystem type of the device. For normal Linux filesystems, this will be <var
-class="LITERAL">ext2</var> (second extended filesystem). CD-ROM drives are <var
-class="LITERAL">iso9660</var>, and Windows-based devices will either be <var
-class="LITERAL">msdos</var> or <var class="LITERAL">vfat</var>.</p>
-
-<p>The fourth column is a listing of options that apply to the mounted filesystem.
-defaults is fine for just about everything. However, read-only devices should be given
-the <var class="LITERAL">ro</var> flag. There are a lot of options that can be used.
-Check the <tt class="FILENAME">fstab</tt>(5) man page for more information. The last two
-columns are used by <tt class="COMMAND">fsck</tt> and other commands that need to
-manipulate the devices. Check the man page for that information as well.</p>
-
-<p>When you install Slackware Linux, the setup program will build much of the <tt
-class="FILENAME">fstab</tt> file.</p>
-</div>
-
-<div class="SECT2">
-<h2 class="SECT2"><a id="AEN3340" name="AEN3340">9.4.2 <tt class="COMMAND">mount</tt> and
-<tt class="COMMAND">umount</tt></a></h2>
-
-<p>Attaching another device to your filesystem is easy. All you have to do is use the <tt
-class="COMMAND">mount</tt> command, along with a few options. Using <tt
-class="COMMAND">mount</tt> can simplified if the device has an entry in the <tt
-class="FILENAME">/etc/fstab</tt> file. For example, let's say that I wanted to mount my
-CD-ROM drive and that my <tt class="COMMAND">fstab</tt> file looked like the example from
-the previous section. I would call <tt class="COMMAND">mount</tt> like so:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">%</samp> <kbd class="USERINPUT">mount /cdrom</kbd>
-</pre>
-</td>
-</tr>
-</table>
-
-<p>Since there is an entry in <tt class="FILENAME">fstab</tt> for that mount point, <tt
-class="COMMAND">mount</tt> knows what options to use. If there wasn't an entry for that
-device, I would have to use several options for <tt class="COMMAND">mount</tt>:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">%</samp> <kbd
-class="USERINPUT">mount -t iso9660 -o ro /dev/cdrom /cdrom</kbd>
-</pre>
-</td>
-</tr>
-</table>
-
-<p>That command line includes the same information as the example <tt
-class="FILENAME">fstab</tt> did, but we'll go over all the parts anyways. The <var
-class="OPTION">-t iso9660</var> is the filesystem type of the device to mount. In this
-case, it would be the iso9660 filesystem which is what CD-ROM drives most commonly use.
-The <var class="OPTION">-o ro</var> tells mount to mount the device read-only. The <tt
-class="FILENAME">/dev/cdrom</tt> is the name of the device to mount, and <tt
-class="FILENAME">/cdrom</tt> is the location on the filesystem to mount the drive.</p>
-
-<p>Before you can remove a floppy, CD-ROM, or other removable device that is currently
-mounted, you'll have to unmount it. That is done using the <tt
-class="COMMAND">umount</tt> command. Don't ask where the &#8220;n&#8221; went because we
-couldn't tell you. You can use either the mounted device or the mount point as the
-argument to <tt class="COMMAND">umount</tt>. For example, if you wanted to unmount the
-CD-ROM from the previous example, either of these commands would work:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">#</samp> <kbd class="USERINPUT">umount /dev/cdrom</kbd>
-<samp class="PROMPT">#</samp> <kbd class="USERINPUT">umount /cdrom</kbd>
-</pre>
-</td>
-</tr>
-</table>
-</div>
-</div>
-
-<div class="NAVFOOTER">
-<hr align="LEFT" width="100%" />
-<table summary="Footer navigation table" width="100%" border="0" cellpadding="0"
-cellspacing="0">
-<tr>
-<td width="33%" align="left" valign="top"><a href="filesystem-structure-links.html"
-accesskey="P">Prev</a></td>
-<td width="34%" align="center" valign="top"><a href="index.html"
-accesskey="H">Home</a></td>
-<td width="33%" align="right" valign="top"><a href="filesystem-structure-nfs.html"
-accesskey="N">Next</a></td>
-</tr>
-
-<tr>
-<td width="33%" align="left" valign="top">Links</td>
-<td width="34%" align="center" valign="top"><a href="filesystem-structure.html"
-accesskey="U">Up</a></td>
-<td width="33%" align="right" valign="top">NFS Mounts</td>
-</tr>
-</table>
-</div>
-</body>
-</html>
-
diff --git a/slackbook/html/filesystem-structure-nfs.html b/slackbook/html/filesystem-structure-nfs.html
deleted file mode 100644
index 720cda6e..00000000
--- a/slackbook/html/filesystem-structure-nfs.html
+++ /dev/null
@@ -1,78 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta name="generator" content="HTML Tidy, see www.w3.org" />
-<title>NFS Mounts</title>
-<meta name="GENERATOR" content="Modular DocBook HTML Stylesheet Version 1.7" />
-<link rel="HOME" title="Slackware Linux Essentials" href="index.html" />
-<link rel="UP" title="Filesystem Structure" href="filesystem-structure.html" />
-<link rel="PREVIOUS" title="Mounting Devices"
-href="filesystem-structure-mounting.html" />
-<link rel="NEXT" title="Handling Files and Directories" href="file-commands.html" />
-<link rel="STYLESHEET" type="text/css" href="docbook.css" />
-<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
-</head>
-<body class="SECT1" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#840084"
-alink="#0000FF">
-<div class="NAVHEADER">
-<table summary="Header navigation table" width="100%" border="0" cellpadding="0"
-cellspacing="0">
-<tr>
-<th colspan="3" align="center">Slackware Linux Essentials</th>
-</tr>
-
-<tr>
-<td width="10%" align="left" valign="bottom"><a href="filesystem-structure-mounting.html"
-accesskey="P">Prev</a></td>
-<td width="80%" align="center" valign="bottom">Chapter 9 Filesystem Structure</td>
-<td width="10%" align="right" valign="bottom"><a href="file-commands.html"
-accesskey="N">Next</a></td>
-</tr>
-</table>
-
-<hr align="LEFT" width="100%" />
-</div>
-
-<div class="SECT1">
-<h1 class="SECT1"><a id="FILESYSTEM-STRUCTURE-NFS" name="FILESYSTEM-STRUCTURE-NFS">9.5
-NFS Mounts</a></h1>
-
-<p>NFS stands for the Network Filesystem. It is not really part of the real filesystem,
-but can be used to add parts to the mounted filesystem.</p>
-
-<p>Large Unix environments often times share the same programs, sets of home directories,
-and mail spool. The problem of getting the same copy to each machine is solved with NFS.
-We can use NFS to share one set of home directories between all of the workstations. The
-workstations then mount that NFS share as if it were on their own machines.</p>
-
-<p>See <a href="network-configuration-nfs.html#NETWORK-CONFIGURATION-NFS-NFS">Section
-5.6.2</a> and the man pages for <tt class="FILENAME">exports</tt>(5), <tt
-class="COMMAND">nfsd</tt>(8), and <tt class="COMMAND">mountd</tt>(8) for more
-information.</p>
-</div>
-
-<div class="NAVFOOTER">
-<hr align="LEFT" width="100%" />
-<table summary="Footer navigation table" width="100%" border="0" cellpadding="0"
-cellspacing="0">
-<tr>
-<td width="33%" align="left" valign="top"><a href="filesystem-structure-mounting.html"
-accesskey="P">Prev</a></td>
-<td width="34%" align="center" valign="top"><a href="index.html"
-accesskey="H">Home</a></td>
-<td width="33%" align="right" valign="top"><a href="file-commands.html"
-accesskey="N">Next</a></td>
-</tr>
-
-<tr>
-<td width="33%" align="left" valign="top">Mounting Devices</td>
-<td width="34%" align="center" valign="top"><a href="filesystem-structure.html"
-accesskey="U">Up</a></td>
-<td width="33%" align="right" valign="top">Handling Files and Directories</td>
-</tr>
-</table>
-</div>
-</body>
-</html>
-
diff --git a/slackbook/html/filesystem-structure-permissions.html b/slackbook/html/filesystem-structure-permissions.html
deleted file mode 100644
index 0f951e77..00000000
--- a/slackbook/html/filesystem-structure-permissions.html
+++ /dev/null
@@ -1,314 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta name="generator" content="HTML Tidy, see www.w3.org" />
-<title>Permissions</title>
-<meta name="GENERATOR" content="Modular DocBook HTML Stylesheet Version 1.7" />
-<link rel="HOME" title="Slackware Linux Essentials" href="index.html" />
-<link rel="UP" title="Filesystem Structure" href="filesystem-structure.html" />
-<link rel="PREVIOUS" title="Filesystem Structure" href="filesystem-structure.html" />
-<link rel="NEXT" title="Links" href="filesystem-structure-links.html" />
-<link rel="STYLESHEET" type="text/css" href="docbook.css" />
-<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
-</head>
-<body class="SECT1" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#840084"
-alink="#0000FF">
-<div class="NAVHEADER">
-<table summary="Header navigation table" width="100%" border="0" cellpadding="0"
-cellspacing="0">
-<tr>
-<th colspan="3" align="center">Slackware Linux Essentials</th>
-</tr>
-
-<tr>
-<td width="10%" align="left" valign="bottom"><a href="filesystem-structure.html"
-accesskey="P">Prev</a></td>
-<td width="80%" align="center" valign="bottom">Chapter 9 Filesystem Structure</td>
-<td width="10%" align="right" valign="bottom"><a href="filesystem-structure-links.html"
-accesskey="N">Next</a></td>
-</tr>
-</table>
-
-<hr align="LEFT" width="100%" />
-</div>
-
-<div class="SECT1">
-<h1 class="SECT1"><a id="FILESYSTEM-STRUCTURE-PERMISSIONS"
-name="FILESYSTEM-STRUCTURE-PERMISSIONS">9.2 Permissions</a></h1>
-
-<p>Permissions are the other important part of the multiuser aspects of the filesystem.
-With these, you can change who can read, write, and execute files.</p>
-
-<p>The permission information is stored as four octal digits, each specifying a different
-set of permissions. There are owner permissions, group permissions, and world
-permissions. The fourth octal digit is used to store special information such as set user
-ID, set group ID, and the sticky bit. The octal values assigned to the permission modes
-are (they also have letters associated with them that are displayed by programs such as
-<tt class="COMMAND">ls</tt> and can be used by <tt class="COMMAND">chmod</tt>):</p>
-
-<div class="TABLE"><a id="AEN3142" name="AEN3142"></a>
-<p><b>Table 9-1. Octal Permission Values</b></p>
-
-<table border="0" frame="void" class="CALSTABLE">
-<col width="3*" />
-<col width="1*" align="CENTER" />
-<col width="1*" align="CENTER" />
-<thead>
-<tr>
-<th>Permission Type</th>
-<th>Octal Value</th>
-<th>Letter Value</th>
-</tr>
-</thead>
-
-<tbody>
-<tr>
-<td>&#8220;sticky&#8221; bit</td>
-<td>1</td>
-<td>t</td>
-</tr>
-
-<tr>
-<td>set user ID</td>
-<td>4</td>
-<td>s</td>
-</tr>
-
-<tr>
-<td>set group ID</td>
-<td>2</td>
-<td>s</td>
-</tr>
-
-<tr>
-<td>read</td>
-<td>4</td>
-<td>r</td>
-</tr>
-
-<tr>
-<td>write</td>
-<td>2</td>
-<td>w</td>
-</tr>
-
-<tr>
-<td>execute</td>
-<td>1</td>
-<td>x</td>
-</tr>
-</tbody>
-</table>
-</div>
-
-<p>You add the octal values for each permission group. For example, if you want the group
-permissions to be &#8220;read&#8221; and &#8220;write&#8221;, you would use
-&#8220;6&#8221; in the group portion of the permission information.</p>
-
-<p><tt class="COMMAND">bash</tt>'s default permissions are:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">%</samp> <kbd class="USERINPUT">ls -l /bin/bash</kbd>
--rwxr-xr-x 1 root bin 477692 Mar 21 19:57 /bin/bash
-</pre>
-</td>
-</tr>
-</table>
-
-<p>The first dash would be replaced with a &#8220;d&#8221; if this was a directory. The
-three permission groups (owner, group, and world) are displayed next. We see that the
-owner has read, write, and execute permissions (<var class="LITERAL">rwx</var>). The
-group has only read and execute (<var class="LITERAL">r-x</var>). And everyone else has
-only read and execute (<var class="LITERAL">r-x</var>).</p>
-
-<p>How would we set permissions on another file to resemble <tt
-class="COMMAND">bash</tt>'s? First, let's make an example file:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">%</samp> <kbd class="USERINPUT">touch /tmp/example</kbd>
-<samp class="PROMPT">%</samp> <kbd class="USERINPUT">ls -l /tmp/example</kbd>
--rw-rw-r--- 1 david users 0 Apr 19 11:21 /tmp/example
-</pre>
-</td>
-</tr>
-</table>
-
-<p>We will use <tt class="COMMAND">chmod</tt>(1) (which means &#8220;change mode&#8221;)
-to set the permissions on the example file. Add the octal numbers for the permissions you
-want. For the owner to have read, write, and execute, we would have a value of <var
-class="LITERAL">7</var>. Read and execute would have <var class="LITERAL">5</var>. Run
-those together and pass them to <tt class="COMMAND">chmod</tt> like this:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">%</samp> <kbd class="USERINPUT">chmod 755 /tmp/example</kbd>
-<samp class="PROMPT">%</samp> <kbd class="USERINPUT">ls -l /tmp/example</kbd>
--rwxr-xr-x 1 david users 0 Apr 19 11:21 /tmp/example
-</pre>
-</td>
-</tr>
-</table>
-
-<p>Now you may be thinking, &#8220;Why didn't it just create a file with those
-permissions in the first place?&#8221; Well the answer is simple. <tt
-class="COMMAND">bash</tt> includes a nice little built-in called <tt
-class="COMMAND">umask</tt>. This is included with most Unix shells as well, and controls
-what file permissions are assigned to newly created files. We discussed <tt
-class="COMMAND">bash</tt> built-ins to some degree in <a
-href="shell-bash.html#SHELL-BASH-ENVIRONMENT">Section 8.3.1</a>. <tt
-class="COMMAND">umask</tt> takes a little getting used to. It works very similar to <tt
-class="COMMAND">chmod</tt>, only in reverse. You specify the octal values you do not wish
-to have present in newly created files. The default umask value is <var
-class="LITERAL">0022</var>.</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">%</samp> <kbd class="USERINPUT">umask</kbd>
-0022
-<samp class="PROMPT">%</samp> <kbd class="USERINPUT">umask 0077</kbd>
-<samp class="PROMPT">%</samp> <kbd class="USERINPUT">touch tempfile</kbd>
-<samp class="PROMPT">%</samp> <kbd class="USERINPUT">ls -l tempfile</kbd>
--rw-------- 1 david users 0 Apr 19 11:21 tempfile
-</pre>
-</td>
-</tr>
-</table>
-
-<p>See the man page for <tt class="COMMAND">bash</tt> for more information.</p>
-
-<p>To set special permissions with <tt class="COMMAND">chmod</tt>, add the numbers
-together and place them in the first column. For example, to make it set user ID and set
-group ID, we use 6 as the first column:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">%</samp> <kbd class="USERINPUT">chmod 6755 /tmp/example</kbd>
-<samp class="PROMPT">%</samp> <kbd class="USERINPUT">ls -l /tmp/example</kbd>
--rwsr-sr-x 1 david users 0 Apr 19 11:21 /tmp/example
-</pre>
-</td>
-</tr>
-</table>
-
-<p>If the octal values confuse you, you can use letters with <tt
-class="COMMAND">chmod</tt>. The permission groups are represented as:</p>
-
-<div class="INFORMALTABLE"><a id="AEN3246" name="AEN3246"></a>
-<table border="0" frame="void" class="CALSTABLE">
-<col />
-<col />
-<tbody>
-<tr>
-<td>Owner</td>
-<td>u</td>
-</tr>
-
-<tr>
-<td>Group</td>
-<td>g</td>
-</tr>
-
-<tr>
-<td>World</td>
-<td>o</td>
-</tr>
-
-<tr>
-<td>All of the above</td>
-<td>a</td>
-</tr>
-</tbody>
-</table>
-</div>
-
-<p>To do the above, we would have to use several command lines:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">%</samp> <kbd class="USERINPUT">chmod a+rx /tmp/example</kbd>
-<samp class="PROMPT">%</samp> <kbd class="USERINPUT">chmod u+w /tmp/example</kbd>
-<samp class="PROMPT">%</samp> <kbd class="USERINPUT">chmod ug+s /tmp/example</kbd>
-</pre>
-</td>
-</tr>
-</table>
-
-<p>Some people prefer the letters over the numbers. Either way will result in the same
-set of permissions.</p>
-
-<p>The octal format is often faster, and the one you see most often used in shell
-scripts. Sometimes the letters are more powerful however. For example, there's no easy
-way to change one group of permissions while preserving the other groups on files and
-directories when using the octal format. This is trivial with the letters.</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">%</samp> <kbd class="USERINPUT">ls -l /tmp/</kbd>
--rwxr-xr-x 1 alan users 0 Apr 19 11:21 /tmp/example0
--rwxr-x--- 1 alan users 0 Apr 19 11:21 /tmp/example1
-----r-xr-x 1 alan users 0 Apr 19 11:21 /tmp/example2
-<samp class="PROMPT">%</samp> <kbd class="USERINPUT">chmod g-rwx /tmp/example?</kbd>
--rwx---r-x 1 alan users 0 Apr 19 11:21 /tmp/example0
--rwx------ 1 alan users 0 Apr 19 11:21 /tmp/example1
--------r-x 1 alan users 0 Apr 19 11:21 /tmp/example2
-</pre>
-</td>
-</tr>
-</table>
-
-<p>We mentioned set user ID and set group ID permissions in several places above. You may
-be wondering what this is. Normally when you run a program, it is operating under your
-user account. That is, it has all the permissions that you as a user have. The same is
-true for the group. When you run a program, it executes under your current group. With
-set user ID permissions, you can force the program to always run as the program owner
-(such as &#8220;root&#8221;). Set group ID is the same, but for the group.</p>
-
-<p>Be careful with this, set user ID and set group ID programs can open major security
-holes on your system. If you frequently set user ID programs that are owned by <tt
-class="USERNAME">root</tt>, you are allowing anyone to run that program and run it as <tt
-class="USERNAME">root</tt>. Since <tt class="USERNAME">root</tt> has no restrictions on
-the system, you can see how this would pose a major security problem. In short, it's not
-bad to use set user ID and set group ID permissions, just use common sense.</p>
-</div>
-
-<div class="NAVFOOTER">
-<hr align="LEFT" width="100%" />
-<table summary="Footer navigation table" width="100%" border="0" cellpadding="0"
-cellspacing="0">
-<tr>
-<td width="33%" align="left" valign="top"><a href="filesystem-structure.html"
-accesskey="P">Prev</a></td>
-<td width="34%" align="center" valign="top"><a href="index.html"
-accesskey="H">Home</a></td>
-<td width="33%" align="right" valign="top"><a href="filesystem-structure-links.html"
-accesskey="N">Next</a></td>
-</tr>
-
-<tr>
-<td width="33%" align="left" valign="top">Filesystem Structure</td>
-<td width="34%" align="center" valign="top"><a href="filesystem-structure.html"
-accesskey="U">Up</a></td>
-<td width="33%" align="right" valign="top">Links</td>
-</tr>
-</table>
-</div>
-</body>
-</html>
-
diff --git a/slackbook/html/filesystem-structure.html b/slackbook/html/filesystem-structure.html
deleted file mode 100644
index 843c07c5..00000000
--- a/slackbook/html/filesystem-structure.html
+++ /dev/null
@@ -1,168 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta name="generator" content="HTML Tidy, see www.w3.org" />
-<title>Filesystem Structure</title>
-<meta name="GENERATOR" content="Modular DocBook HTML Stylesheet Version 1.7" />
-<link rel="HOME" title="Slackware Linux Essentials" href="index.html" />
-<link rel="PREVIOUS" title="Virtual Terminals" href="shell-vt.html" />
-<link rel="NEXT" title="Permissions" href="filesystem-structure-permissions.html" />
-<link rel="STYLESHEET" type="text/css" href="docbook.css" />
-<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
-</head>
-<body class="CHAPTER" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#840084"
-alink="#0000FF">
-<div class="NAVHEADER">
-<table summary="Header navigation table" width="100%" border="0" cellpadding="0"
-cellspacing="0">
-<tr>
-<th colspan="3" align="center">Slackware Linux Essentials</th>
-</tr>
-
-<tr>
-<td width="10%" align="left" valign="bottom"><a href="shell-vt.html"
-accesskey="P">Prev</a></td>
-<td width="80%" align="center" valign="bottom"></td>
-<td width="10%" align="right" valign="bottom"><a
-href="filesystem-structure-permissions.html" accesskey="N">Next</a></td>
-</tr>
-</table>
-
-<hr align="LEFT" width="100%" />
-</div>
-
-<div class="CHAPTER">
-<h1><a id="FILESYSTEM-STRUCTURE" name="FILESYSTEM-STRUCTURE"></a>Chapter 9 Filesystem
-Structure</h1>
-
-<div class="TOC">
-<dl>
-<dt><b>Table of Contents</b></dt>
-
-<dt>9.1 <a
-href="filesystem-structure.html#FILESYSTEM-STRUCTURE-OWNERSHIP">Ownership</a></dt>
-
-<dt>9.2 <a href="filesystem-structure-permissions.html">Permissions</a></dt>
-
-<dt>9.3 <a href="filesystem-structure-links.html">Links</a></dt>
-
-<dt>9.4 <a href="filesystem-structure-mounting.html">Mounting Devices</a></dt>
-
-<dt>9.5 <a href="filesystem-structure-nfs.html">NFS Mounts</a></dt>
-</dl>
-</div>
-
-<p>We have already discussed the directory structure in Slackware Linux. By this point,
-you should be able to find files and directories that you need. But there is more to the
-filesystem than just the directory structure.</p>
-
-<p>Linux is a multiuser operating system. Every aspect of the system is multiuser, even
-the filesystem. The system stores information like who owns a file and who can read it.
-There are other unique parts about the filesystems, such as links and NFS mounts. This
-section explains these, as well as the multiuser aspects of the filesystem.</p>
-
-<div class="SECT1">
-<h1 class="SECT1"><a id="FILESYSTEM-STRUCTURE-OWNERSHIP"
-name="FILESYSTEM-STRUCTURE-OWNERSHIP">9.1 Ownership</a></h1>
-
-<p>The filesystem stores ownership information for each file and directory on the system.
-This includes what user and group own a particular file. The easiest way to see this
-information is with the <tt class="COMMAND">ls</tt> command:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">%</samp> <kbd class="USERINPUT">ls -l /usr/bin/wc</kbd>
--rwxr-xr-x 1 root bin 7368 Jul 30 1999 /usr/bin/wc
-</pre>
-</td>
-</tr>
-</table>
-
-<p>We are interested in the third and fourth columns. These contain the username and
-group name that owns this file. We see that the user &#8220;<tt
-class="USERNAME">root</tt>&#8221; and the group &#8220;<tt
-class="USERNAME">bin</tt>&#8221; own this file.</p>
-
-<p>We can easily change the file owners with the <tt class="COMMAND">chown</tt>(1) (which
-means &#8220;change owner&#8221;) and <tt class="COMMAND">chgrp</tt>(1) (which means
-&#8220;change group&#8221;) commands. To change the file owner to <tt
-class="USERNAME">daemon</tt>, we would use <tt class="COMMAND">chown</tt>:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">#</samp> <kbd class="USERINPUT">chown daemon /usr/bin/wc</kbd>
-</pre>
-</td>
-</tr>
-</table>
-
-<p>To change the group owner to &#8220;<tt class="USERNAME">root</tt>&#8221;, we would
-use <tt class="COMMAND">chgrp</tt>:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">#</samp> <kbd class="USERINPUT">chgrp root /usr/bin/wc</kbd>
-</pre>
-</td>
-</tr>
-</table>
-
-<p>We can also use <tt class="COMMAND">chown</tt> to specify the user and group owners
-for a file:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">#</samp> <kbd class="USERINPUT">chown daemon:root /usr/bin/wc</kbd>
-</pre>
-</td>
-</tr>
-</table>
-
-<p>In the above example, the user could have used a period instead of a colon. The result
-would have been the same; however, the colon is considered better form. Use of the period
-is deprecated and may be removed from future versions of <tt class="COMMAND">chown</tt>
-to allow usernames with periods in them. These usernames tend to be very popular with
-Windows Exchange Servers and are encountered most commonly in email addresses such as:
-<var class="LITERAL">mr.jones@example.com</var>. In slackware, administrators are advised
-to stay away from such usernames because some scripts still use the period to indicate
-the user and group of a file or directory. In our example, <tt class="COMMAND">chmod</tt>
-would interpret <var class="LITERAL">mr.jones</var> as user &#8220;mr&#8221; and group
-&#8220;jones&#8221;.</p>
-
-<p>File ownership is a very important part of using a Linux system, even if you are the
-only user. You sometimes need to fix ownerships on files and device nodes.</p>
-</div>
-</div>
-
-<div class="NAVFOOTER">
-<hr align="LEFT" width="100%" />
-<table summary="Footer navigation table" width="100%" border="0" cellpadding="0"
-cellspacing="0">
-<tr>
-<td width="33%" align="left" valign="top"><a href="shell-vt.html"
-accesskey="P">Prev</a></td>
-<td width="34%" align="center" valign="top"><a href="index.html"
-accesskey="H">Home</a></td>
-<td width="33%" align="right" valign="top"><a
-href="filesystem-structure-permissions.html" accesskey="N">Next</a></td>
-</tr>
-
-<tr>
-<td width="33%" align="left" valign="top">Virtual Terminals</td>
-<td width="34%" align="center" valign="top">&nbsp;</td>
-<td width="33%" align="right" valign="top">Permissions</td>
-</tr>
-</table>
-</div>
-</body>
-</html>
-
diff --git a/slackbook/html/glossary.html b/slackbook/html/glossary.html
deleted file mode 100644
index efdb6323..00000000
--- a/slackbook/html/glossary.html
+++ /dev/null
@@ -1,647 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta name="generator" content="HTML Tidy, see www.w3.org" />
-<title>Glossary</title>
-<meta name="GENERATOR" content="Modular DocBook HTML Stylesheet Version 1.7" />
-<link rel="HOME" title="Slackware Linux Essentials" href="index.html" />
-<link rel="PREVIOUS" title="Booting ZipSlack" href="zipslack-booting.html" />
-<link rel="NEXT" title="The GNU General Public License" href="gpl.html" />
-<link rel="STYLESHEET" type="text/css" href="docbook.css" />
-<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
-</head>
-<body class="GLOSSARY" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#840084"
-alink="#0000FF">
-<div class="NAVHEADER">
-<table summary="Header navigation table" width="100%" border="0" cellpadding="0"
-cellspacing="0">
-<tr>
-<th colspan="3" align="center">Slackware Linux Essentials</th>
-</tr>
-
-<tr>
-<td width="10%" align="left" valign="bottom"><a href="zipslack-booting.html"
-accesskey="P">Prev</a></td>
-<td width="80%" align="center" valign="bottom"></td>
-<td width="10%" align="right" valign="bottom"><a href="gpl.html"
-accesskey="N">Next</a></td>
-</tr>
-</table>
-
-<hr align="LEFT" width="100%" />
-</div>
-
-<div class="GLOSSARY">
-<h1><a id="GLOSSARY" name="GLOSSARY"></a>Glossary</h1>
-
-<dl>
-<dt><b>Account</b></dt>
-
-<dd>
-<p>All of the information about a user, including username, password, finger information,
-UID and GID, and home directory. To create an account is to add and define a user.</p>
-</dd>
-
-<dt><b>Background</b></dt>
-
-<dd>
-<p>Any process that is running without accepting or controlling the input of a terminal
-is said to be running in the background.</p>
-</dd>
-
-<dt><b>Boot disk</b></dt>
-
-<dd>
-<p>A floppy disk containing an operating system (in our case, the Linux kernel) from
-which a computer can be started.</p>
-</dd>
-
-<dt><b>Compile</b></dt>
-
-<dd>
-<p>To convert source code to machine-readable &#8220;binary&#8221; code.</p>
-</dd>
-
-<dt><b>Daemon</b></dt>
-
-<dd>
-<p>A program designed to run in the background and, without user intervention, perform a
-specific task (usually providing a service).</p>
-</dd>
-
-<dt><b>Darkstar</b></dt>
-
-<dd>
-<p>The default hostname in Slackware; your computer will be called darkstar if you do not
-specify some other name.</p>
-
-<p>One of Patrick Volkerding's development machines, named after &#8220;Dark Star&#8221;,
-a song by the Grateful Dead.</p>
-</dd>
-
-<dt><b>Desktop Environment</b></dt>
-
-<dd>
-<p>A graphical user interface (GUI) that runs atop the X Window System and provides such
-features as integrated applications, cohesive look-and-feel between programs and
-components, file and window management capabilities, etc. A step beyond the simple window
-manager.</p>
-</dd>
-
-<dt><b>Device driver</b></dt>
-
-<dd>
-<p>A chunk of code in the kernel that directly controls a piece of hardware.</p>
-</dd>
-
-<dt><b>Device node</b></dt>
-
-<dd>
-<p>A special type of file in the <tt class="FILENAME">/dev</tt> filesystem that
-represents a hardware component to the operating system.</p>
-</dd>
-
-<dt><b>DNS</b></dt>
-
-<dd>
-<p>Domain Name Service. A system in which networked computers are given names which
-translate to numerical addresses.</p>
-</dd>
-
-<dt><b>Domain name</b></dt>
-
-<dd>
-<p>A computer's DNS name, excluding its host name.</p>
-</dd>
-
-<dt><b>Dot file</b></dt>
-
-<dd>
-<p>In Linux, files which are to be hidden have filenames beginning with a dot ('.').</p>
-</dd>
-
-<dt><b>Dotted quad</b></dt>
-
-<dd>
-<p>The format of IP addresses, so called because it consists of four numbers (range 0-255
-decimal) separated by periods.</p>
-</dd>
-
-<dt><b>Dynamic loader</b></dt>
-
-<dd>
-<p>When programs are compiled under Linux, they usually use pieces of code (functions)
-from external libraries. When such programs are run, those libraries must be found and
-the required functions loaded into memory. This is the job of the dynamic loader.</p>
-</dd>
-
-<dt><b>Environment variable</b></dt>
-
-<dd>
-<p>A variable set in the user's shell which can be referenced by that user or programs
-run by that user within that shell. Environment variables are generally used to store
-preferences and default parameters.</p>
-</dd>
-
-<dt><b>Epoch</b></dt>
-
-<dd>
-<p>A period of history; in Unix, &#8220;The Epoch&#8221; begins at 00:00:00 UTC January
-1, 1970. This is considered the &#8220;dawn of time&#8221; by Unix and Unix-like
-operating systems, and all other time is calculated relative to this date.</p>
-</dd>
-
-<dt><b>Filesystem</b></dt>
-
-<dd>
-<p>A representation of stored data in which &#8220;files&#8221; of data are kept
-organized in &#8220;directories&#8221;. The filesystem is the nearly universal form of
-representation for data stored to disks (both fixed and removable).</p>
-</dd>
-
-<dt><b>Foreground</b></dt>
-
-<dd>
-<p>A program that is accepting or controlling a terminal's input is said to be running in
-the foreground.</p>
-</dd>
-
-<dt><b>Framebuffer</b></dt>
-
-<dd>
-<p>A type of graphics device; in Linux, this most often refers to the software
-framebuffer, which provides a standard framebuffer interface to programs while keeping
-specific hardware drivers hidden from them. This layer of abstraction frees programs of
-the need to speak to various hardware drivers.</p>
-</dd>
-
-<dt><b>FTP</b></dt>
-
-<dd>
-<p>The File Transfer Protocol. FTP is a very popular method of transferring data between
-computers.</p>
-</dd>
-
-<dt><b>Gateway</b></dt>
-
-<dd>
-<p>A computer through which data on a network is transferred to another network.</p>
-</dd>
-
-<dt><b>GID</b></dt>
-
-<dd>
-<p>Group Identifier. The GID is a unique number attributed to a group of users.</p>
-</dd>
-
-<dt><b>Group</b></dt>
-
-<dd>
-<p>Users in Unix belong to &#8220;groups&#8221;, which can contain many other users and
-are used for more general access control than the existence of users alone can easily
-allow.</p>
-</dd>
-
-<dt><b>GUI</b></dt>
-
-<dd>
-<p>Graphical User Interface. A software interface that uses rendered graphical elements
-such as buttons, scrollbars, windows, etc. rather than solely text-based input and
-output</p>
-</dd>
-
-<dt><b>Home directory</b></dt>
-
-<dd>
-<p>A user's &#8220;home directory&#8221; is the directory the user is placed in
-immediately upon logging in. Users have full permissions and more or less free reign
-within their home directories.</p>
-</dd>
-
-<dt><b>HOWTO</b></dt>
-
-<dd>
-<p>A document describing &#8220;how to&#8221; do something, such as configure a firewall
-or manage users and groups. There is a large collection of these documents available from
-the Linux Documentation Project.</p>
-</dd>
-
-<dt><b>HTTP</b></dt>
-
-<dd>
-<p>The Hypertext Transfer Protocol. HTTP is the primary protocol on which the World Wide
-Web operates.</p>
-</dd>
-
-<dt><b>ICMP</b></dt>
-
-<dd>
-<p>Internet Control Message Protocol. A very basic networking protocol, used mostly for
-pings.</p>
-</dd>
-
-<dt><b>Kernel</b></dt>
-
-<dd>
-<p>The heart of an operating system. The kernel is the part that provides basic process
-control and interfaces with the computer's hardware.</p>
-</dd>
-
-<dt><b>Kernel module</b></dt>
-
-<dd>
-<p>A piece of kernel code, usually a driver of some sort, that can be loaded and unloaded
-from memory separately from the main body of the kernel. Modules are handy when upgrading
-drivers or testing kernel settings, because they can be loaded and unloaded without
-rebooting.</p>
-</dd>
-
-<dt><b>Library</b></dt>
-
-<dd>
-<p>A collection of functions which can be shared between programs.</p>
-</dd>
-
-<dt><b>LILO</b></dt>
-
-<dd>
-<p>The LInux LOader. LILO is the most widely-used Linux boot manager.</p>
-</dd>
-
-<dt><b>LOADLIN</b></dt>
-
-<dd>
-<p>LOADLIN is a program that runs under MS DOS or Windows and boots a Linux system. It is
-most commonly used on computers with multiple operating systems (including Linux and
-DOS/Windows, of course).</p>
-</dd>
-
-<dt><b>Man section</b></dt>
-
-<dd>
-<p>Pages in the standard Unix online manual ("man") are grouped into sections for easy
-reference. All C programming pages are in section 3, system administration pages in
-section 5, etc.</p>
-</dd>
-
-<dt><b>MBR</b></dt>
-
-<dd>
-<p>The Master Boot Record. A reserved space on a hard drive where information on what to
-do when booting is stored. LILO or other boot managers can be written here.</p>
-</dd>
-
-<dt><b>Motif</b></dt>
-
-<dd>
-<p>A popular programming toolkit used in many older X programs.</p>
-</dd>
-
-<dt><b>MOTD</b></dt>
-
-<dd>
-<p>Message of the Day. The motd (stored in Linux in <tt class="FILENAME">/etc/motd</tt>
-is a text file that is displayed to all users upon logging in. Traditionally, it is used
-by the system administrator as a sort of &#8220;bulletin board&#8221; for communicating
-with users.</p>
-</dd>
-
-<dt><b>Mount point</b></dt>
-
-<dd>
-<p>An empty directory in a filesystem where another filesystem is to be
-&#8220;mounted&#8221;, or grafted on.</p>
-</dd>
-
-<dt><b>Nameserver</b></dt>
-
-<dd>
-<p>A DNS information server. Nameservers translate DNS names to numerical IP
-addresses.</p>
-</dd>
-
-<dt><b>Network interface</b></dt>
-
-<dd>
-<p>A virtual representation of a network device provided by the kernel. Network
-interfaces allow users and programs to talk to network devices.</p>
-</dd>
-
-<dt><b>NFS</b></dt>
-
-<dd>
-<p>The Network Filesystem. NFS allows the mounting of remote filesystems as if they were
-local to your computer and thus provides a transparent method of file sharing.</p>
-</dd>
-
-<dt><b>Octal</b></dt>
-
-<dd>
-<p>Base-8 number system, with digits 0-7.</p>
-</dd>
-
-<dt><b>Pager</b></dt>
-
-<dd>
-<p>An X program that allows the user to see and switch between multiple
-&#8220;desktops&#8221;.</p>
-</dd>
-
-<dt><b>Partition</b></dt>
-
-<dd>
-<p>A division of a hard drive. Filesystems exist on top of partitions.</p>
-</dd>
-
-<dt><b>PPP</b></dt>
-
-<dd>
-<p>Point-to-Point Protocol. PPP is used mainly for connecting via modem to an Internet
-Service Provider.</p>
-</dd>
-
-<dt><b>Process</b></dt>
-
-<dd>
-<p>A running program.</p>
-</dd>
-
-<dt><b>Root directory</b></dt>
-
-<dd>
-<p>Represented as &#8220;/&#8221;, the root directory exists at the top of the
-filesystem, with all other directories branching out beneath it in a &#8220;file
-tree&#8221;.</p>
-</dd>
-
-<dt><b>Root disk</b></dt>
-
-<dd>
-<p>The disk (usually fixed) on which the root directory is stored.</p>
-</dd>
-
-<dt><b>Routing table</b></dt>
-
-<dd>
-<p>The set of information the kernel uses in &#8220;routing&#8221; network data around.
-It contains such tidbits as where your default gateway is, which network interface is
-connected to which network, etc.</p>
-</dd>
-
-<dt><b>Runlevel</b></dt>
-
-<dd>
-<p>The overall system state as defined by init. Runlevel 6 is rebooting, runlevel 1 is
-&#8220;single user mode&#8221;, runlevel 4 is an X login, etc. There are 6 available
-runlevels on a Slackware system.</p>
-</dd>
-
-<dt><b>Secure shell</b></dt>
-
-<dd>
-<p>An encrypted (thus secure) method of logging in remotely to a computer. Many secure
-shell programs are available; both a client and server are needed.</p>
-</dd>
-
-<dt><b>Service</b></dt>
-
-<dd>
-<p>The sharing of information and/or data between programs and computers from a single
-&#8220;server&#8221; to multiple &#8220;clients&#8221;. HTTP, FTP, NFS, etc. are
-services.</p>
-</dd>
-
-<dt><b>Shadow password suite</b></dt>
-
-<dd>
-<p>The shadow password suite allows encrypted passwords to be hidden from users, while
-the rest of the information in the <tt class="FILENAME">/etc/passwd</tt> file remains
-visible to all. This helps prevent brute-force attempts at cracking passwords.</p>
-</dd>
-
-<dt><b>Shell</b></dt>
-
-<dd>
-<p>Shells provide a commandline interface to the user. When you're looking at a text
-prompt, you're in a shell.</p>
-</dd>
-
-<dt><b>Shell builtin</b></dt>
-
-<dd>
-<p>A command built into the shell, as opposed to being provided by an external program.
-For instance, <tt class="COMMAND">bash</tt> has a <tt class="COMMAND">cd</tt>
-builtin.</p>
-</dd>
-
-<dt><b>Signal</b></dt>
-
-<dd>
-<p>Unix programs can communicate between each other using simple &#8220;signals&#8221;,
-which are enumerated and usually have specific meanings. <tt class="COMMAND">kill -l</tt>
-will list the available signals.</p>
-</dd>
-
-<dt><b>SLIP</b></dt>
-
-<dd>
-<p>Serial Line Interface Protocol. SLIP is a similar protocol to PPP, in that it's used
-for connecting two machines via a serial interface.</p>
-</dd>
-
-<dt><b>Software package</b></dt>
-
-<dd>
-<p>A program and its associated files, archived and compressed into a single file along
-with any necessary scripts or information to aid in managing the installation, upgrade,
-and removal of those files.</p>
-</dd>
-
-<dt><b>Software series</b></dt>
-
-<dd>
-<p>A collection of related software packages in Slackware. All KDE packages are in the
-&#8220;kde&#8221; series, networking packages in the &#8220;n&#8221; series, etc.</p>
-</dd>
-
-<dt><b>Source code</b></dt>
-
-<dd>
-<p>The (more or less) human-readable code in which most programs are written. Source code
-is compiled into &#8220;binary&#8221; code.</p>
-</dd>
-
-<dt><b>Standard Error (stderr)</b></dt>
-
-<dd>
-<p>The Unix-standard output stream for errors. Programs write any error messages on
-stderr, so that they can be separated from normal output.</p>
-</dd>
-
-<dt><b>Standard Input (stdin)</b></dt>
-
-<dd>
-<p>The Unix-standard input stream. Data can be redirected or piped into a program's stdin
-from any source.</p>
-</dd>
-
-<dt><b>Standard Output (stdout)</b></dt>
-
-<dd>
-<p>The Unix-standard output stream. Normal text output from a program is written to
-stdout, which is separate from the error messages reported on stderr and can be piped or
-redirected into other programs' stdin or to a file.</p>
-</dd>
-
-<dt><b>Subnet</b></dt>
-
-<dd>
-<p>An IP address range that is part of a larger range. For instance, 192.168.1.0 is a
-subnet of 192.168.0.0 (where 0 is a mask meaning &#8220;undefined&#8221;); it is, in
-fact, the &#8220;.1&#8221; subnet.</p>
-</dd>
-
-<dt><b>Superblock</b></dt>
-
-<dd>
-<p>In Linux, partitions are discussed in terms of blocks. A block is 512 bytes. The
-superblock is the first 512 bytes of a partition.</p>
-</dd>
-
-<dt><b>Supplemental disk</b></dt>
-
-<dd>
-<p>In Slackware, a floppy disk used during installation that contains neither the kernel
-(which is on the boot disk) nor the root filesystem (which is on the root disk), but
-additional needed files such as network modules or PCMCIA support.</p>
-</dd>
-
-<dt><b>Suspended process</b></dt>
-
-<dd>
-<p>A process which has been frozen until killed or resumed.</p>
-</dd>
-
-<dt><b>Swap space</b></dt>
-
-<dd>
-<p>Disk space used by the kernel as &#8220;virtual&#8221; RAM. It is slower than RAM, but
-because disk space is cheaper, swap is usually more plentiful. Swap space is useful to
-the kernel for holding lesser-used data and as a fallback when physical RAM is
-exhausted.</p>
-</dd>
-
-<dt><b>Symbolic link</b></dt>
-
-<dd>
-<p>A special file that simply points to the location of another file. Symbolic links are
-used to avoid data duplication when a file is needed in multiple locations.</p>
-</dd>
-
-<dt><b>Tagfile</b></dt>
-
-<dd>
-<p>A file used by the Slackware <tt class="COMMAND">setup</tt> program during
-installation, which describes a set of packages to be installed.</p>
-</dd>
-
-<dt><b>Terminal</b></dt>
-
-<dd>
-<p>A human-computer interface consisting of at least a screen (or virtual screen) and
-some method of input (almost always at least a keyboard).</p>
-</dd>
-
-<dt><b>Toolkit, GUI</b></dt>
-
-<dd>
-<p>A GUI toolkit is a collection of libraries that provide a programmer with code to draw
-&#8220;widgets&#8221; such as scrollbars, checkboxes, etc. and construct a graphical
-interface. The GUI toolkit used by a program often defines its &#8220;look and
-feel&#8221;.</p>
-</dd>
-
-<dt><b>UID</b></dt>
-
-<dd>
-<p>User Identifier. A unique number that identifies a user to the system. UIDs are used
-by most programs instead of usernames because a number is easier to deal with; usernames
-are generally only used when the user has to see things happen.</p>
-</dd>
-
-<dt><b>VESA</b></dt>
-
-<dd>
-<p>Video Electronics Standards Association. The term &#8220;VESA&#8221; is often used to
-denote a standard specified by said Association. Nearly all modern video adapters are
-VESA-compliant.</p>
-</dd>
-
-<dt><b>Virtual terminal</b></dt>
-
-<dd>
-<p>The use of software to simulate multiple terminals while using only a single set of
-input/output devices (keyboard, monitor, mouse). Special keystrokes switch between
-virtual terminals at a single physical terminal.</p>
-</dd>
-
-<dt><b>Window manager</b></dt>
-
-<dd>
-<p>An X program whose purpose is to provide a graphical interface beyond the simple
-rectangle-drawing of the X Window System. Window managers generally provide titlebars,
-menus for running programs, etc.</p>
-</dd>
-
-<dt><b>Working directory</b></dt>
-
-<dd>
-<p>The directory in which a program considers itself to be while running.</p>
-</dd>
-
-<dt><b>Wrapper program</b></dt>
-
-<dd>
-<p>A program whose sole purpose is to run other programs, but change their behavior in
-some way by altering their environments or filtering their input.</p>
-</dd>
-
-<dt><b>X server</b></dt>
-
-<dd>
-<p>The program in the X Window System which interfaces with graphics hardware and handles
-the actual running of X programs.</p>
-</dd>
-
-<dt><b>X Window System</b></dt>
-
-<dd>
-<p>Network-oriented graphical interface system used on most Unix-like operating systems,
-including Linux.</p>
-</dd>
-</dl>
-</div>
-
-<div class="NAVFOOTER">
-<hr align="LEFT" width="100%" />
-<table summary="Footer navigation table" width="100%" border="0" cellpadding="0"
-cellspacing="0">
-<tr>
-<td width="33%" align="left" valign="top"><a href="zipslack-booting.html"
-accesskey="P">Prev</a></td>
-<td width="34%" align="center" valign="top"><a href="index.html"
-accesskey="H">Home</a></td>
-<td width="33%" align="right" valign="top"><a href="gpl.html" accesskey="N">Next</a></td>
-</tr>
-
-<tr>
-<td width="33%" align="left" valign="top">Booting ZipSlack</td>
-<td width="34%" align="center" valign="top">&nbsp;</td>
-<td width="33%" align="right" valign="top">The GNU General Public License</td>
-</tr>
-</table>
-</div>
-</body>
-</html>
-
diff --git a/slackbook/html/gpl.html b/slackbook/html/gpl.html
deleted file mode 100644
index 7e41435c..00000000
--- a/slackbook/html/gpl.html
+++ /dev/null
@@ -1,452 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta name="generator" content="HTML Tidy, see www.w3.org" />
-<title>The GNU General Public License</title>
-<meta name="GENERATOR" content="Modular DocBook HTML Stylesheet Version 1.7" />
-<link rel="HOME" title="Slackware Linux Essentials" href="index.html" />
-<link rel="PREVIOUS" title="Glossary" href="glossary.html" />
-<link rel="STYLESHEET" type="text/css" href="docbook.css" />
-<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
-</head>
-<body class="APPENDIX" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#840084"
-alink="#0000FF">
-<div class="NAVHEADER">
-<table summary="Header navigation table" width="100%" border="0" cellpadding="0"
-cellspacing="0">
-<tr>
-<th colspan="3" align="center">Slackware Linux Essentials</th>
-</tr>
-
-<tr>
-<td width="10%" align="left" valign="bottom"><a href="glossary.html"
-accesskey="P">Prev</a></td>
-<td width="80%" align="center" valign="bottom"></td>
-<td width="10%" align="right" valign="bottom">&nbsp;</td>
-</tr>
-</table>
-
-<hr align="LEFT" width="100%" />
-</div>
-
-<div class="APPENDIX">
-<h1><a id="GPL" name="GPL"></a>Appendix A. The GNU General Public License</h1>
-
-<div class="TOC">
-<dl>
-<dt><b>Table of Contents</b></dt>
-
-<dt>A.1. <a href="gpl.html#AEN7088">Preamble</a></dt>
-
-<dt>A.2. <a href="gpl.html#AEN7098">TERMS AND CONDITIONS</a></dt>
-
-<dt>A.3. <a href="gpl.html#AEN7162">How to Apply These Terms to Your New
-Programs</a></dt>
-</dl>
-</div>
-
-<p class="LITERALLAYOUT">GNU&nbsp;GENERAL&nbsp;PUBLIC&nbsp;LICENSE<br />
-<br />
-Version&nbsp;2,&nbsp;June&nbsp;1991<br />
-Copyright&nbsp;(C)&nbsp;1989,&nbsp;1991&nbsp;Free&nbsp;Software&nbsp;Foundation,&nbsp;Inc.<br />
-
-59&nbsp;Temple&nbsp;Place,&nbsp;Suite&nbsp;330,&nbsp;Boston,&nbsp;MA&nbsp;&nbsp;02111-1307&nbsp;&nbsp;USA<br />
-
-Everyone&nbsp;is&nbsp;permitted&nbsp;to&nbsp;copy&nbsp;and&nbsp;distribute&nbsp;verbatim&nbsp;copies&nbsp;of&nbsp;this<br />
-
-license&nbsp;document,&nbsp;but&nbsp;changing&nbsp;it&nbsp;is&nbsp;not&nbsp;allowed.</p>
-
-<div class="SIMPLESECT">
-<h4 class="SIMPLESECT"><a id="AEN7088" name="AEN7088">A.1. Preamble</a></h4>
-
-<p>The licenses for most software are designed to take away your freedom to share and
-change it. By contrast, the GNU General Public License is intended to guarantee your
-freedom to share and change free software--to make sure the software is free for all its
-users. This General Public License applies to most of the Free Software Foundation's
-software and to any other program whose authors commit to using it. (Some other Free
-Software Foundation software is covered by the GNU Library General Public License
-instead.) You can apply it to your programs, too.</p>
-
-<p>When we speak of free software, we are referring to freedom, not price. Our General
-Public Licenses are designed to make sure that you have the freedom to distribute copies
-of free software (and charge for this service if you wish), that you receive source code
-or can get it if you want it, that you can change the software or use pieces of it in new
-free programs; and that you know you can do these things.</p>
-
-<p>To protect your rights, we need to make restrictions that forbid anyone to deny you
-these rights or to ask you to surrender the rights. These restrictions translate to
-certain responsibilities for you if you distribute copies of the software, or if you
-modify it.</p>
-
-<p>For example, if you distribute copies of such a program, whether gratis or for a fee,
-you must give the recipients all the rights that you have. You must make sure that they,
-too, receive or can get the source code. And you must show them these terms so they know
-their rights.</p>
-
-<p>We protect your rights with two steps: (1) copyright the software, and (2) offer you
-this license which gives you legal permission to copy, distribute and/or modify the
-software.</p>
-
-<p>Also, for each author's protection and ours, we want to make certain that everyone
-understands that there is no warranty for this free software. If the software is modified
-by someone else and passed on, we want its recipients to know that what they have is not
-the original, so that any problems introduced by others will not reflect on the original
-authors' reputations.</p>
-
-<p>Finally, any free program is threatened constantly by software patents. We wish to
-avoid the danger that redistributors of a free program will individually obtain patent
-licenses, in effect making the program proprietary. To prevent this, we have made it
-clear that any patent must be licensed for everyone's free use or not licensed at
-all.</p>
-
-<p>The precise terms and conditions for copying, distribution and modification
-follow.</p>
-</div>
-
-<div class="SIMPLESECT">
-<h4 class="SIMPLESECT"><a id="AEN7098" name="AEN7098">A.2. TERMS AND CONDITIONS</a></h4>
-
-<p><span class="emphasis"><i class="EMPHASIS">TERMS AND CONDITIONS FOR COPYING,
-DISTRIBUTION AND MODIFICATION</i></span></p>
-
-<ol type="1">
-<li>
-<p>This License applies to any program or other work which contains a notice placed by
-the copyright holder saying it may be distributed under the terms of this General Public
-License. The &#8220;Program&#8221;, below, refers to any such program or work, and a
-&#8220;work based on the Program&#8221; means either the Program or any derivative work
-under copyright law: that is to say, a work containing the Program or a portion of it,
-either verbatim or with modifications and/or translated into another language.
-(Hereinafter, translation is included without limitation in the term
-&#8220;modification&#8221;.) Each licensee is addressed as &#8220;you&#8221;.</p>
-
-<p>Activities other than copying, distribution and modification are not covered by this
-License; they are outside its scope. The act of running the Program is not restricted,
-and the output from the Program is covered only if its contents constitute a work based
-on the Program (independent of having been made by running the Program). Whether that is
-true depends on what the Program does.</p>
-</li>
-
-<li>
-<p>You may copy and distribute verbatim copies of the Program's source code as you
-receive it, in any medium, provided that you conspicuously and appropriately publish on
-each copy an appropriate copyright notice and disclaimer of warranty; keep intact all the
-notices that refer to this License and to the absence of any warranty; and give any other
-recipients of the Program a copy of this License along with the Program.</p>
-
-<p>You may charge a fee for the physical act of transferring a copy, and you may at your
-option offer warranty protection in exchange for a fee.</p>
-</li>
-
-<li>
-<p>You may modify your copy or copies of the Program or any portion of it, thus forming a
-work based on the Program, and copy and distribute such modifications or work under the
-terms of Section 1 above, provided that you also meet all of these conditions:</p>
-
-<ol type="a">
-<li>
-<p>You must cause the modified files to carry prominent notices stating that you changed
-the files and the date of any change.</p>
-</li>
-
-<li>
-<p>You must cause any work that you distribute or publish, that in whole or in part
-contains or is derived from the Program or any part thereof, to be licensed as a whole at
-no charge to all third parties under the terms of this License.</p>
-</li>
-
-<li>
-<p>If the modified program normally reads commands interactively when run, you must cause
-it, when started running for such interactive use in the most ordinary way, to print or
-display an announcement including an appropriate copyright notice and a notice that there
-is no warranty (or else, saying that you provide a warranty) and that users may
-redistribute the program under these conditions, and telling the user how to view a copy
-of this License. (Exception: if the Program itself is interactive but does not normally
-print such an announcement, your work based on the Program is not required to print an
-announcement.)</p>
-</li>
-</ol>
-
-<p>These requirements apply to the modified work as a whole. If identifiable sections of
-that work are not derived from the Program, and can be reasonably considered independent
-and separate works in themselves, then this License, and its terms, do not apply to those
-sections when you distribute them as separate works. But when you distribute the same
-sections as part of a whole which is a work based on the Program, the distribution of the
-whole must be on the terms of this License, whose permissions for other licensees extend
-to the entire whole, and thus to each and every part regardless of who wrote it.</p>
-
-<p>Thus, it is not the intent of this section to claim rights or contest your rights to
-work written entirely by you; rather, the intent is to exercise the right to control the
-distribution of derivative or collective works based on the Program.</p>
-
-<p>In addition, mere aggregation of another work not based on the Program with the
-Program (or with a work based on the Program) on a volume of a storage or distribution
-medium does not bring the other work under the scope of this License.</p>
-</li>
-
-<li>
-<p>You may copy and distribute the Program (or a work based on it, under Section 2) in
-object code or executable form under the terms of Sections 1 and 2 above provided that
-you also do one of the following:</p>
-
-<ol type="a">
-<li>
-<p>Accompany it with the complete corresponding machine-readable source code, which must
-be distributed under the terms of Sections 1 and 2 above on a medium customarily used for
-software interchange; or,</p>
-</li>
-
-<li>
-<p>Accompany it with a written offer, valid for at least three years, to give any third
-party, for a charge no more than your cost of physically performing source distribution,
-a complete machine-readable copy of the corresponding source code, to be distributed
-under the terms of Sections 1 and 2 above on a medium customarily used for software
-interchange; or,</p>
-</li>
-
-<li>
-<p>Accompany it with the information you received as to the offer to distribute
-corresponding source code. (This alternative is allowed only for noncommercial
-distribution and only if you received the program in object code or executable form with
-such an offer, in accord with Subsection b above.)</p>
-</li>
-</ol>
-
-<p>The source code for a work means the preferred form of the work for making
-modifications to it. For an executable work, complete source code means all the source
-code for all modules it contains, plus any associated interface definition files, plus
-the scripts used to control compilation and installation of the executable. However, as a
-special exception, the source code distributed need not include anything that is normally
-distributed (in either source or binary form) with the major components (compiler,
-kernel, and so on) of the operating system on which the executable runs, unless that
-component itself accompanies the executable.</p>
-
-<p>If distribution of executable or object code is made by offering access to copy from a
-designated place, then offering equivalent access to copy the source code from the same
-place counts as distribution of the source code, even though third parties are not
-compelled to copy the source along with the object code.</p>
-</li>
-
-<li>
-<p>You may not copy, modify, sublicense, or distribute the Program except as expressly
-provided under this License. Any attempt otherwise to copy, modify, sublicense or
-distribute the Program is void, and will automatically terminate your rights under this
-License. However, parties who have received copies, or rights, from you under this
-License will not have their licenses terminated so long as such parties remain in full
-compliance.</p>
-</li>
-
-<li>
-<p>You are not required to accept this License, since you have not signed it. However,
-nothing else grants you permission to modify or distribute the Program or its derivative
-works. These actions are prohibited by law if you do not accept this License. Therefore,
-by modifying or distributing the Program (or any work based on the Program), you indicate
-your acceptance of this License to do so, and all its terms and conditions for copying,
-distributing or modifying the Program or works based on it.</p>
-</li>
-
-<li>
-<p>Each time you redistribute the Program (or any work based on the Program), the
-recipient automatically receives a license from the original licensor to copy, distribute
-or modify the Program subject to these terms and conditions. You may not impose any
-further restrictions on the recipients' exercise of the rights granted herein. You are
-not responsible for enforcing compliance by third parties to this License.</p>
-</li>
-
-<li>
-<p>If, as a consequence of a court judgment or allegation of patent infringement or for
-any other reason (not limited to patent issues), conditions are imposed on you (whether
-by court order, agreement or otherwise) that contradict the conditions of this License,
-they do not excuse you from the conditions of this License. If you cannot distribute so
-as to satisfy simultaneously your obligations under this License and any other pertinent
-obligations, then as a consequence you may not distribute the Program at all. For
-example, if a patent license would not permit royalty-free redistribution of the Program
-by all those who receive copies directly or indirectly through you, then the only way you
-could satisfy both it and this License would be to refrain entirely from distribution of
-the Program.</p>
-
-<p>If any portion of this section is held invalid or unenforceable under any particular
-circumstance, the balance of the section is intended to apply and the section as a whole
-is intended to apply in other circumstances.</p>
-
-<p>It is not the purpose of this section to induce you to infringe any patents or other
-property right claims or to contest validity of any such claims; this section has the
-sole purpose of protecting the integrity of the free software distribution system, which
-is implemented by public license practices. Many people have made generous contributions
-to the wide range of software distributed through that system in reliance on consistent
-application of that system; it is up to the author/donor to decide if he or she is
-willing to distribute software through any other system and a licensee cannot impose that
-choice.</p>
-
-<p>This section is intended to make thoroughly clear what is believed to be a consequence
-of the rest of this License.</p>
-</li>
-
-<li>
-<p>If the distribution and/or use of the Program is restricted in certain countries
-either by patents or by copyrighted interfaces, the original copyright holder who places
-the Program under this License may add an explicit geographical distribution limitation
-excluding those countries, so that distribution is permitted only in or among countries
-not thus excluded. In such case, this License incorporates the limitation as if written
-in the body of this License.</p>
-</li>
-
-<li>
-<p>The Free Software Foundation may publish revised and/or new versions of the General
-Public License from time to time. Such new versions will be similar in spirit to the
-present version, but may differ in detail to address new problems or concerns.</p>
-
-<p>Each version is given a distinguishing version number. If the Program specifies a
-version number of this License which applies to it and &#8220;any later version&#8221;,
-you have the option of following the terms and conditions either of that version or of
-any later version published by the Free Software Foundation. If the Program does not
-specify a version number of this License, you may choose any version ever published by
-the Free Software Foundation.</p>
-</li>
-
-<li>
-<p>If you wish to incorporate parts of the Program into other free programs whose
-distribution conditions are different, write to the author to ask for permission. For
-software which is copyrighted by the Free Software Foundation, write to the Free Software
-Foundation; we sometimes make exceptions for this. Our decision will be guided by the two
-goals of preserving the free status of all derivatives of our free software and of
-promoting the sharing and reuse of software generally.</p>
-</li>
-
-<li>
-<p>NO WARRANTY</p>
-
-<p>BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY FOR THE PROGRAM,
-TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE
-COPYRIGHT HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM &#8220;AS IS&#8221; WITHOUT
-WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE
-IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE
-RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE PROGRAM
-PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, REPAIR OR
-CORRECTION.</p>
-</li>
-
-<li>
-<p>IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING WILL ANY
-COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR REDISTRIBUTE THE PROGRAM AS
-PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL
-OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE PROGRAM
-(INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES
-SUSTAINED BY YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
-PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH
-DAMAGES.</p>
-</li>
-</ol>
-
-<p>END OF TERMS AND CONDITIONS</p>
-</div>
-
-<div class="SIMPLESECT">
-<h4 class="SIMPLESECT"><a id="AEN7162" name="AEN7162">A.3. How to Apply These Terms to
-Your New Programs</a></h4>
-
-<p>If you develop a new program, and you want it to be of the greatest possible use to
-the public, the best way to achieve this is to make it free software which everyone can
-redistribute and change under these terms.</p>
-
-<p>To do so, attach the following notices to the program. It is safest to attach them to
-the start of each source file to most effectively convey the exclusion of warranty; and
-each file should have at least the &#8220;copyright&#8221; line and a pointer to where
-the full notice is found.</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="PROGRAMLISTING">
-&lt;one line to give the program's name and a brief idea of what it does.&gt;
- Copyright (C) &lt;year&gt; &lt;name of author&gt;
-
- This program is free software; you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 2 of the License, or
- (at your option) any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program; if not, write to the Free Software
- Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
-</pre>
-</td>
-</tr>
-</table>
-
-<p>Also add information on how to contact you by electronic and paper mail.</p>
-
-<p>If the program is interactive, make it output a short notice like this when it starts
-in an interactive mode:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-Gnomovision version 69, Copyright (C) year name of author
-Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
-This is free software, and you are welcome to redistribute it
-under certain conditions; type `show c' for details.
-</pre>
-</td>
-</tr>
-</table>
-
-<p>The hypothetical commands `show w' and `show c' should show the appropriate parts of
-the General Public License. Of course, the commands you use may be called something other
-than `show w' and `show c'; they could even be mouse-clicks or menu items--whatever suits
-your program.</p>
-
-<p>You should also get your employer (if you work as a programmer) or your school, if
-any, to sign a &#8220;copyright disclaimer&#8221; for the program, if necessary. Here is
-a sample; alter the names:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="PROGRAMLISTING">
- Yoyodyne, Inc., hereby disclaims all copyright interest in the program
- `Gnomovision' (which makes passes at compilers) written by James Hacker.
-
- &lt;signature of Ty Coon&gt;, 1 April 1989
- Ty Coon, President of Vice
-</pre>
-</td>
-</tr>
-</table>
-
-<p>This General Public License does not permit incorporating your program into
-proprietary programs. If your program is a subroutine library, you may consider it more
-useful to permit linking proprietary applications with the library. If this is what you
-want to do, use the GNU Library General Public License instead of this License.</p>
-</div>
-</div>
-
-<div class="NAVFOOTER">
-<hr align="LEFT" width="100%" />
-<table summary="Footer navigation table" width="100%" border="0" cellpadding="0"
-cellspacing="0">
-<tr>
-<td width="33%" align="left" valign="top"><a href="glossary.html"
-accesskey="P">Prev</a></td>
-<td width="34%" align="center" valign="top"><a href="index.html"
-accesskey="H">Home</a></td>
-<td width="33%" align="right" valign="top">&nbsp;</td>
-</tr>
-
-<tr>
-<td width="33%" align="left" valign="top">Glossary</td>
-<td width="34%" align="center" valign="top">&nbsp;</td>
-<td width="33%" align="right" valign="top">&nbsp;</td>
-</tr>
-</table>
-</div>
-</body>
-</html>
-
diff --git a/slackbook/html/help-online.html b/slackbook/html/help-online.html
deleted file mode 100644
index fdd25388..00000000
--- a/slackbook/html/help-online.html
+++ /dev/null
@@ -1,247 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta name="generator" content="HTML Tidy, see www.w3.org" />
-<title>Online Help</title>
-<meta name="GENERATOR" content="Modular DocBook HTML Stylesheet Version 1.7" />
-<link rel="HOME" title="Slackware Linux Essentials" href="index.html" />
-<link rel="UP" title="Help" href="help.html" />
-<link rel="PREVIOUS" title="Help" href="help.html" />
-<link rel="NEXT" title="Installation" href="installation.html" />
-<link rel="STYLESHEET" type="text/css" href="docbook.css" />
-<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
-</head>
-<body class="SECT1" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#840084"
-alink="#0000FF">
-<div class="NAVHEADER">
-<table summary="Header navigation table" width="100%" border="0" cellpadding="0"
-cellspacing="0">
-<tr>
-<th colspan="3" align="center">Slackware Linux Essentials</th>
-</tr>
-
-<tr>
-<td width="10%" align="left" valign="bottom"><a href="help.html"
-accesskey="P">Prev</a></td>
-<td width="80%" align="center" valign="bottom">Chapter 2 Help</td>
-<td width="10%" align="right" valign="bottom"><a href="installation.html"
-accesskey="N">Next</a></td>
-</tr>
-</table>
-
-<hr align="LEFT" width="100%" />
-</div>
-
-<div class="SECT1">
-<h1 class="SECT1"><a id="HELP-ONLINE" name="HELP-ONLINE">2.2 Online Help</a></h1>
-
-<p>In addition to the documentation provided and installable with the Slackware Linux
-Operating System, there are a vast multitude of online resources available for you to
-learn from as well.</p>
-
-<div class="SECT2">
-<h2 class="SECT2"><a id="HELP-ONLINE-OFFICIAL" name="HELP-ONLINE-OFFICIAL">2.2.1 The
-Official Website and Help Forums</a></h2>
-
-<p><a href="http://www.slackware.com" target="_top">The Official Slackware
-Website</a></p>
-
-<p>The Official Slackware Linux website is sometimes out of date, but still contains
-information relevant to the latest Slackware versions. At one time an active help forum
-existed there before a horde of trolls, troublemakers, and whiners descended on the
-forum. Maintaining the forum was beginning to be too much work, and so Pat shut it down.
-One can find that old forum back up and running complete with searchable archives of the
-old data at <a href="http://www.userlocal.com/phorum/"
-target="_top">http://www.userlocal.com/phorum/</a>.</p>
-
-<p>After the forums were taken down on <a href="http://slackware.com"
-target="_top">http://slackware.com</a>, several other sites sprang up that offered forum
-support for Slackware. After much thought, Pat chose to endorse <a
-href="http://www.linuxquestions.org" target="_top">www.linuxquestions.org</a> as the official
-forum for Slackware Linux.</p>
-</div>
-
-<div class="SECT2">
-<h2 class="SECT2"><a id="HELP-ONLINE-EMAIL" name="HELP-ONLINE-EMAIL">2.2.2 E-mail
-Support</a></h2>
-
-<p>Everyone who purchases an official CD set is entitled to free installation support via
-e-mail from the developer. That having been said, please keep in mind that we, the
-developers, (and a vast majority of users) of Slackware are of &#8220;The Old
-School&#8221;. That means that we prefer to help those who have a sincere interest and
-are willing to help themselves in the process. We will always do our best to help
-everyone who emails us with support questions. However, Please check your documentation
-and the website (especially the FAQs and maybe some of the forums listed below) before
-e-mailing. You may get a faster answer that way, and the less e-mail we have to answer,
-obviously the sooner we will be of assistance to those that need it.</p>
-
-<p>The e-mail address for technical support is: <var
-class="LITERAL">support@slackware.com</var>. Other e-mail addresses and contact
-information are listed on the website.</p>
-
-<div class="SECT3">
-<h3 class="SECT3"><a id="AEN535" name="AEN535">2.2.2.1 Slackware Linux Project Mailing
-Lists</a></h3>
-
-<p>We have several mailing lists, available in digest and normal forms. Check the
-instructions for how to subscribe.</p>
-
-<p>To subscribe to a mailing list, email:</p>
-
-<p><var class="LITERAL">majordomo@slackware.com</var></p>
-
-<p>with the phrase &#8220;<var class="LITERAL">subscribe <var class="REPLACEABLE">[name
-of list]</var></var>&#8221; in the body of the email. The list choices are described
-below (use one the names below for the name of the list).</p>
-
-<p>Archives of the mailing list can be found on Slackware's website at:</p>
-
-<p><var class="LITERAL">http://slackware.com/lists/archive/</var></p>
-
-<div class="VARIABLELIST">
-<dl>
-<dt><var class="LITERAL">slackware-announce</var></dt>
-
-<dd>
-<p>The <var class="LITERAL">slackware-announce</var> mailing list is for announcements of
-new versions, major updates and other general information.</p>
-</dd>
-
-<dt><var class="LITERAL">slackware-security</var></dt>
-
-<dd>
-<p>The <var class="LITERAL">slackware-security</var> mailing list is for announcements
-relating to security issues. Any exploits or other vulnerabilities directly pertaining to
-Slackware will get posted to this list immediately.</p>
-</dd>
-</dl>
-</div>
-
-<p>These lists are also available in digest format. This means that you get one large
-message per day instead of several messages throughout the day. Since the slackware
-mailing lists do not allow users to post, and the lists are such low traffic, most users
-find little advantage in the digest lists. Still, they are available if you want them by
-subscribing to <var class="LITERAL">slackware-announce-digest</var> or <var
-class="LITERAL">slackware-security-digest</var>.</p>
-</div>
-</div>
-
-<div class="SECT2">
-<h2 class="SECT2"><a id="HELP-ONLINE-NONOFFICIAL" name="HELP-ONLINE-NONOFFICIAL">2.2.3
-Non-Official Websites and Help Forums</a></h2>
-
-<div class="SECT3">
-<h3 class="SECT3"><a id="AEN571" name="AEN571">2.2.3.1 Websites</a></h3>
-
-<div class="VARIABLELIST">
-<dl>
-<dt><a href="http://www.google.com" target="_top">Google</a></dt>
-
-<dd>
-<p>The Kung-Fu Master of Search Engines. When you absolutely, positively gotta find every
-last kernel of information on a subject: Accept no substitutes.</p>
-</dd>
-
-<dt><a href="http://www.google.com/linux" target="_top">Google:Linux</a></dt>
-
-<dd>
-<p>Linux-Specific searches</p>
-</dd>
-
-<dt><a href="http://www.google.com/bsd" target="_top">Google:BSD</a></dt>
-
-<dd>
-<p>BSD-Specific searches. Slackware is so generic as a Unix work-a-like operating system
-that one can as often as not find very detailed information that is almost 100% relevant
-to Slackware here. Many times a BSD search reveals far more technical information than
-the often PR-related Linux searches.</p>
-</dd>
-
-<dt><a href="http://groups.google.com" target="_top">Google:Groups</a></dt>
-
-<dd>
-<p>Search through decades of Usenet posts for your pearls of wisdom.</p>
-</dd>
-
-<dt><a href="http://userlocal.com" target="_top">http://userlocal.com</a></dt>
-
-<dd>
-<p>A virtual treasure-trove of knowledge, good advice, first-hand experience and
-interesting articles. Often the first place you'll hear about new developments in the
-world of Slackware.</p>
-</dd>
-</dl>
-</div>
-</div>
-
-<div class="SECT3">
-<h3 class="SECT3"><a id="AEN601" name="AEN601">2.2.3.2 Web-based Resources</a></h3>
-
-<div class="VARIABLELIST">
-<dl>
-<dt><a href="http://www.linuxquestions.org/questions/forumdisplay.php?forumid=14"
-target="_top">linuxquestions.org</a></dt>
-
-<dd>
-<p>The officially sanctioned web-forum for Slackware users.</p>
-</dd>
-
-<dt><a href="http://forums.linuxiso.org/viewforum.php?f=25" target="_top">LinuxISO.org
-Slackware Forum</a></dt>
-
-<dd>
-<p>&#8220;A place to download and get help with Linux.&#8221;</p>
-</dd>
-
-<dt><a href="http://wombat.san-francisco.ca.us/perl/fom"
-target="_top">alt.os.linux.slackware FAQ</a></dt>
-
-<dd>
-<p>Another FAQ</p>
-</dd>
-</dl>
-</div>
-</div>
-
-<div class="SECT3">
-<h3 class="SECT3"><a id="AEN620" name="AEN620">2.2.3.3 Usenet Groups (NNTP)</a></h3>
-
-<p>Usenet has long been a place for geeks to gather and help one another. There are few
-newsgroups dedicated to Slackware Linux, but they tend to be filled with very
-knowledgeable people.</p>
-
-<p><var class="LITERAL">alt.os.linux.slackware</var></p>
-
-<p><var class="LITERAL">alt.os.linux.slackware</var>, better known as aols (not to be
-confused with <span class="TRADEMARK">AOL</span>&reg;!) is one of the most active places
-to find technical help with Slackware problems. Like every Usenet newsgroup, a few
-unhelpful participants (&#8220;trolls&#8221;) can mar the experience with constant
-arguing. Learning to ignore the trolls and identifying the truly helpful people is key to
-making the most of this resource.</p>
-</div>
-</div>
-</div>
-
-<div class="NAVFOOTER">
-<hr align="LEFT" width="100%" />
-<table summary="Footer navigation table" width="100%" border="0" cellpadding="0"
-cellspacing="0">
-<tr>
-<td width="33%" align="left" valign="top"><a href="help.html" accesskey="P">Prev</a></td>
-<td width="34%" align="center" valign="top"><a href="index.html"
-accesskey="H">Home</a></td>
-<td width="33%" align="right" valign="top"><a href="installation.html"
-accesskey="N">Next</a></td>
-</tr>
-
-<tr>
-<td width="33%" align="left" valign="top">Help</td>
-<td width="34%" align="center" valign="top"><a href="help.html" accesskey="U">Up</a></td>
-<td width="33%" align="right" valign="top">Installation</td>
-</tr>
-</table>
-</div>
-</body>
-</html>
-
diff --git a/slackbook/html/help.html b/slackbook/html/help.html
deleted file mode 100644
index 691282f6..00000000
--- a/slackbook/html/help.html
+++ /dev/null
@@ -1,292 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta name="generator" content="HTML Tidy, see www.w3.org" />
-<title>Help</title>
-<meta name="GENERATOR" content="Modular DocBook HTML Stylesheet Version 1.7" />
-<link rel="HOME" title="Slackware Linux Essentials" href="index.html" />
-<link rel="PREVIOUS" title="Open Source and Free Software"
-href="introduction-opensource.html" />
-<link rel="NEXT" title="Online Help" href="help-online.html" />
-<link rel="STYLESHEET" type="text/css" href="docbook.css" />
-<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
-</head>
-<body class="CHAPTER" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#840084"
-alink="#0000FF">
-<div class="NAVHEADER">
-<table summary="Header navigation table" width="100%" border="0" cellpadding="0"
-cellspacing="0">
-<tr>
-<th colspan="3" align="center">Slackware Linux Essentials</th>
-</tr>
-
-<tr>
-<td width="10%" align="left" valign="bottom"><a href="introduction-opensource.html"
-accesskey="P">Prev</a></td>
-<td width="80%" align="center" valign="bottom"></td>
-<td width="10%" align="right" valign="bottom"><a href="help-online.html"
-accesskey="N">Next</a></td>
-</tr>
-</table>
-
-<hr align="LEFT" width="100%" />
-</div>
-
-<div class="CHAPTER">
-<h1><a id="HELP" name="HELP"></a>Chapter 2 Help</h1>
-
-<div class="TOC">
-<dl>
-<dt><b>Table of Contents</b></dt>
-
-<dt>2.1 <a href="help.html#HELP-SYSTEM">System Help</a></dt>
-
-<dt>2.2 <a href="help-online.html">Online Help</a></dt>
-</dl>
-</div>
-
-<p>Often there are times when you might need help with a specific command, setting up a
-program, or getting a piece of hardware to work. Maybe you simply want to understand a
-given command better, or see what other options are available to use with it. Luckily,
-there are a variety of ways that you can get the help you're looking for. When you
-install Slackware you have the option of installing packages from the &#8220;F&#8221;
-series which includes FAQs and HOWTOs. Programs also come with help about their options,
-configuration files, and usage.</p>
-
-<div class="SECT1">
-<h1 class="SECT1"><a id="HELP-SYSTEM" name="HELP-SYSTEM">2.1 System Help</a></h1>
-
-<div class="SECT2">
-<h2 class="SECT2"><a id="HELP-SYSTEM-MAN" name="HELP-SYSTEM-MAN">2.1.1 <tt
-class="COMMAND">man</tt></a></h2>
-
-<p>The <tt class="COMMAND">man</tt> command (short for &#8220;manual&#8221;) is the
-traditional form of online documentation in Unix and Linux operating systems. Comprised
-of specially formatted files, the &#8220;man pages&#8221;, are written for the vast
-majority of commands and are distributed with the software itself. Executing <tt
-class="COMMAND">man somecommand</tt> will display the man page for (naturally) the
-command specified, in our example this would be the imaginary program <tt
-class="COMMAND">somecommand</tt>.</p>
-
-<p>As you might imagine, the amount of man pages can quickly add up, becoming overly
-confusing and seriously complicated, even for an advanced user. So, for this reason, man
-pages are grouped into enumerated sections. This system has been around for a very long
-time; enough so that you will often see commands, programs, and even programming library
-functions referred to with their man section number.</p>
-
-<p>For example:</p>
-
-<p>You might see a reference to <tt class="COMMAND">man</tt>(1). The numbering tells you
-that &#8220;<tt class="COMMAND">man</tt>&#8221; is documented in section 1 (user
-commands); you can specify that you want the section 1 man page for &#8220;man&#8221;
-with the command <tt class="COMMAND">man 1 man</tt>. Specifying the section that man
-should look in is useful in the case of multiple items with the same name.</p>
-
-<div class="TABLE"><a id="AEN409" name="AEN409"></a>
-<p><b>Table 2-1. Man Page Sections</b></p>
-
-<table border="0" frame="void" width="100%" class="CALSTABLE">
-<col width="25%" />
-<col width="75%" />
-<thead>
-<tr>
-<th>Section</th>
-<th>Contents</th>
-</tr>
-</thead>
-
-<tbody>
-<tr>
-<td>Section 1</td>
-<td>user commands (intro only)</td>
-</tr>
-
-<tr>
-<td>Section 2</td>
-<td>system calls</td>
-</tr>
-
-<tr>
-<td>Section 3</td>
-<td>C library calls</td>
-</tr>
-
-<tr>
-<td>Section 4</td>
-<td>devices (e.g., <tt class="FILENAME">hd</tt>, <tt class="FILENAME">sd</tt>)</td>
-</tr>
-
-<tr>
-<td>Section 5</td>
-<td>file formats and protocols (e.g., wtmp, <tt class="FILENAME">/etc/passwd</tt>,
-nfs)</td>
-</tr>
-
-<tr>
-<td>Section 6</td>
-<td>games (intro only)</td>
-</tr>
-
-<tr>
-<td>Section 7</td>
-<td>conventions, macro packages, etc. (e.g., nroff, ascii)</td>
-</tr>
-
-<tr>
-<td>Section 8</td>
-<td>system administration (intro only)</td>
-</tr>
-</tbody>
-</table>
-</div>
-
-<p>In addition to <tt class="COMMAND">man</tt>(1), there are the commands <tt
-class="COMMAND">whatis</tt>(1) and <tt class="COMMAND">apropos</tt>(1) available to you,
-whose shared purpose is to make it easier to find information in the man system.</p>
-
-<p>The command <tt class="COMMAND">whatis</tt> gives a very brief description of system
-commands, somewhat in the style of a pocket command reference.</p>
-
-<p>Example:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">%</samp> <kbd class="USERINPUT">whatis whatis</kbd>
-whatis (1) - search the whatis database for complete words
-</pre>
-</td>
-</tr>
-</table>
-
-<p>The command <tt class="COMMAND">apropos</tt> is used to search for a man page
-containing a given keyword.</p>
-
-<p>Example:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">%</samp> <kbd class="USERINPUT">apropos wav</kbd>
-cdda2wav (1) - a sampling utility that dumps CD audio data into wav sound files
-netwave_cs (4) - Xircom Creditcard Netwave device driver
-oggdec (1) - simple decoder, Ogg Vorbis file to PCM audio file (WAV or RAW)
-wavelan (4) - AT&amp;T GIS WaveLAN ISA device driver
-wavelan_cs (4) - AT&amp;T GIS WaveLAN PCMCIA device driver
-wvlan_cs (4) - Lucent WaveLAN/IEEE 802.11 device driver
-</pre>
-</td>
-</tr>
-</table>
-
-<p>If you'd like further information on any of these commands, read their man pages for
-the details. ;)</p>
-</div>
-
-<div class="SECT2">
-<h2 class="SECT2"><a id="HELP-SYSTEM-DOC" name="HELP-SYSTEM-DOC">2.1.2 The <tt
-class="FILENAME">/usr/doc</tt> Directory</a></h2>
-
-<p>The source for most packages that we build comes with some sort of documentation:
-README files, usage instructions, license files, etc. Any sort of documentation that
-comes with the source is included and installed on your system in the <tt
-class="FILENAME">/usr/doc</tt> directory. Each program will (usually) install its own
-documentation in the order of:</p>
-
-<p><tt class="FILENAME">/usr/doc/<var
-class="REPLACEABLE">$program-$version</var></tt></p>
-
-<p>Where <var class="REPLACEABLE">$program</var> is the name of the program you are
-wanting to read about, and <var class="REPLACEABLE">$version</var> is (obviously) the
-appropriate version of software package installed on your system.</p>
-
-<p>For example, to read the documentation for the command <tt class="COMMAND">man</tt>(1)
-you would want to <tt class="COMMAND">cd</tt> to:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">%</samp> <kbd class="USERINPUT">cd /usr/doc/man-<var
-class="REPLACEABLE">$version</var></kbd>
-</pre>
-</td>
-</tr>
-</table>
-
-<p>If reading the appropriate man page(s) doesn't provide you with enough information, or
-address what you're looking for in particular, the <tt class="FILENAME">/usr/doc</tt>
-directory should be your next stop.</p>
-</div>
-
-<div class="SECT2">
-<h2 class="SECT2"><a id="HELP-SYSTEM-HOWTO" name="HELP-SYSTEM-HOWTO">2.1.3 HOWTOs and
-mini-HOWTOs</a></h2>
-
-<p>It is in the truest spirit of the Open Source community that brings us to the
-HOWTO/mini-HOWTO collection. These files are exactly what they sound like - documents and
-guides describing how to do stuff. If you installed the HOWTO collection, the HOWTOs will
-be installed to <tt class="FILENAME">/usr/doc/Linux-HOWTOs</tt> and the mini-HOWTOs to
-<tt class="FILENAME">/usr/doc/Linux-mini-HOWTOs</tt>.</p>
-
-<p>Also included in the same package series is a collection of FAQs, which is an acronym
-which stands for</p>
-
-<div class="INFORMALTABLE"><a id="AEN497" name="AEN497"></a>
-<table border="0" frame="void" class="CALSTABLE">
-<col />
-<tbody>
-<tr>
-<td><span class="emphasis"><i class="EMPHASIS">F</i></span>requently</td>
-</tr>
-
-<tr>
-<td><span class="emphasis"><i class="EMPHASIS">A</i></span>sked</td>
-</tr>
-
-<tr>
-<td><span class="emphasis"><i class="EMPHASIS">Q</i></span>uestions</td>
-</tr>
-</tbody>
-</table>
-</div>
-
-<p>These documents are written in a &#8220;Question and answer&#8221; style for
-(surprise) Frequently Asked Questions. The FAQs can often be a very useful place to look
-if you're just looking for a &#8220;Quick Fix&#8221; to something. If you decide to
-install the FAQs during setup, you will find them installed to the <tt
-class="FILENAME">/usr/doc/Linux-FAQs</tt> directory.</p>
-
-<p>These files are well worth reading whenever you're not quite sure how to proceed with
-something. They cover an amazing range of topics, more often than not in a surprisingly
-detailed manner. Good stuff!</p>
-</div>
-</div>
-</div>
-
-<div class="NAVFOOTER">
-<hr align="LEFT" width="100%" />
-<table summary="Footer navigation table" width="100%" border="0" cellpadding="0"
-cellspacing="0">
-<tr>
-<td width="33%" align="left" valign="top"><a href="introduction-opensource.html"
-accesskey="P">Prev</a></td>
-<td width="34%" align="center" valign="top"><a href="index.html"
-accesskey="H">Home</a></td>
-<td width="33%" align="right" valign="top"><a href="help-online.html"
-accesskey="N">Next</a></td>
-</tr>
-
-<tr>
-<td width="33%" align="left" valign="top">Open Source and Free Software</td>
-<td width="34%" align="center" valign="top">&nbsp;</td>
-<td width="33%" align="right" valign="top">Online Help</td>
-</tr>
-</table>
-</div>
-</body>
-</html>
-
diff --git a/slackbook/html/imagelib/admon/note.png b/slackbook/html/imagelib/admon/note.png
deleted file mode 100644
index b0ee5555..00000000
--- a/slackbook/html/imagelib/admon/note.png
+++ /dev/null
Binary files differ
diff --git a/slackbook/html/imagelib/admon/warning.png b/slackbook/html/imagelib/admon/warning.png
deleted file mode 100644
index bc0adf33..00000000
--- a/slackbook/html/imagelib/admon/warning.png
+++ /dev/null
Binary files differ
diff --git a/slackbook/html/index.html b/slackbook/html/index.html
deleted file mode 100644
index dc63844e..00000000
--- a/slackbook/html/index.html
+++ /dev/null
@@ -1,1013 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta name="generator" content="HTML Tidy, see www.w3.org" />
-<title>Slackware Linux Essentials</title>
-<meta name="GENERATOR" content="Modular DocBook HTML Stylesheet Version 1.7" />
-<link rel="NEXT" title="Preface" href="book-preface.html" />
-<link rel="STYLESHEET" type="text/css" href="docbook.css" />
-<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
-</head>
-<body class="BOOK" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#840084"
-alink="#0000FF">
-<div class="BOOK"><a id="AEN1" name="AEN1"></a>
-<div class="TITLEPAGE">
-<h1 class="TITLE"><a id="AEN2" name="AEN2">Slackware Linux Essentials</a></h1>
-
-<p><img src="slackware_logo.png" align="CENTER" /></p>
-
-<h3 class="AUTHOR"><a id="AEN30" name="AEN30"></a>Alan Hicks</h3>
-
-<h3 class="AUTHOR"><a id="AEN43" name="AEN43"></a>Chris Lumens</h3>
-
-<h3 class="AUTHOR"><a id="AEN47" name="AEN47"></a>David Cantrell</h3>
-
-<h3 class="AUTHOR"><a id="AEN50" name="AEN50"></a>Logan Johnson</h3>
-
-<p class="COPYRIGHT"><a href="TRADEMARKS.html">Copyright</a> &copy; 1998, 1999, 2000,
-2001, 2002, 2003, 2004, 2005 Slackware Linux, Inc.</p>
-
-<span class="ISBN">1-57176-338-4<br />
-</span>
-<div class="DOCFORAMTNAVI">[ <a href="./index.html">Split HTML</a> / <a
-href="./book.html">Single HTML</a> ]</div>
-
-<hr />
-</div>
-
-<div class="TOC">
-<dl>
-<dt><b>Table of Contents</b></dt>
-
-<dt><a href="book-preface.html">Preface</a></dt>
-
-<dt>1 <a href="introduction.html">An Introduction to Slackware Linux</a></dt>
-
-<dd>
-<dl>
-<dt>1.1 <a href="introduction.html#INTRODUCTION-LINUX">What is Linux?</a></dt>
-
-<dd>
-<dl>
-<dt>1.1.1 <a href="introduction.html#INTRODUCTION-LINUX-GNU">A Word on GNU</a></dt>
-</dl>
-</dd>
-
-<dt>1.2 <a href="introduction-slackware.html">What is Slackware?</a></dt>
-
-<dt>1.3 <a href="introduction-opensource.html">Open Source and Free Software</a></dt>
-</dl>
-</dd>
-
-<dt>2 <a href="help.html">Help</a></dt>
-
-<dd>
-<dl>
-<dt>2.1 <a href="help.html#HELP-SYSTEM">System Help</a></dt>
-
-<dd>
-<dl>
-<dt>2.1.1 <a href="help.html#HELP-SYSTEM-MAN"><tt class="COMMAND">man</tt></a></dt>
-
-<dt>2.1.2 <a href="help.html#HELP-SYSTEM-DOC">The <tt class="FILENAME">/usr/doc</tt>
-Directory</a></dt>
-
-<dt>2.1.3 <a href="help.html#HELP-SYSTEM-HOWTO">HOWTOs and mini-HOWTOs</a></dt>
-</dl>
-</dd>
-
-<dt>2.2 <a href="help-online.html">Online Help</a></dt>
-
-<dd>
-<dl>
-<dt>2.2.1 <a href="help-online.html#HELP-ONLINE-OFFICIAL">The Official Website and Help
-Forums</a></dt>
-
-<dt>2.2.2 <a href="help-online.html#HELP-ONLINE-EMAIL">E-mail Support</a></dt>
-
-<dt>2.2.3 <a href="help-online.html#HELP-ONLINE-NONOFFICIAL">Non-Official Websites and
-Help Forums</a></dt>
-</dl>
-</dd>
-</dl>
-</dd>
-
-<dt>3 <a href="installation.html">Installation</a></dt>
-
-<dd>
-<dl>
-<dt>3.1 <a href="installation.html#INSTALLATION-GETTING">Getting Slackware</a></dt>
-
-<dd>
-<dl>
-<dt>3.1.1 <a href="installation.html#AEN641">The Official Disc and Box Sets</a></dt>
-
-<dt>3.1.2 <a href="installation.html#AEN683">Via the Internet</a></dt>
-</dl>
-</dd>
-
-<dt>3.2 <a href="installation-requirements.html">System Requirements</a></dt>
-
-<dd>
-<dl>
-<dt>3.2.1 <a href="installation-requirements.html#INSTALLATION-SOFTWARE-SERIES">The
-Software Series</a></dt>
-
-<dt>3.2.2 <a href="installation-requirements.html#INSTALLATION-METHODS">Installation
-Methods</a></dt>
-
-<dt>3.2.3 <a
-href="installation-requirements.html#INSTALLATION-INSTALLATION-METHODS-BOOTDISK">Boot
-Disk</a></dt>
-
-<dt>3.2.4 <a
-href="installation-requirements.html#INSTALLATION-INSTALLATION-METHODS-ROOTDISK">Root
-Disk</a></dt>
-
-<dt>3.2.5 <a
-href="installation-requirements.html#INSTALLATION-SUPPLEMENTAL-DISK">Supplemental
-Disk</a></dt>
-
-<dt>3.2.6 <a href="installation-requirements.html#INSTALLATION-MAKING-THE-DISKS">Making
-the Disks</a></dt>
-</dl>
-</dd>
-
-<dt>3.3 <a href="installation-partitioning.html">Partitioning</a></dt>
-
-<dt>3.4 <a href="installation-setup.html">The <tt class="COMMAND">setup</tt>
-Program</a></dt>
-
-<dd>
-<dl>
-<dt>3.4.1 <a href="installation-setup.html#AEN993">HELP</a></dt>
-
-<dt>3.4.2 <a href="installation-setup.html#AEN1001">KEYMAP</a></dt>
-
-<dt>3.4.3 <a href="installation-setup.html#AEN1013">ADDSWAP</a></dt>
-
-<dt>3.4.4 <a href="installation-setup.html#AEN1023">TARGET</a></dt>
-
-<dt>3.4.5 <a href="installation-setup.html#AEN1035">SOURCE</a></dt>
-
-<dt>3.4.6 <a href="installation-setup.html#AEN1054">SELECT</a></dt>
-
-<dt>3.4.7 <a href="installation-setup.html#AEN1062">INSTALL</a></dt>
-
-<dt>3.4.8 <a href="installation-setup.html#AEN1100">CONFIGURE</a></dt>
-</dl>
-</dd>
-</dl>
-</dd>
-
-<dt>4 <a href="system-configuration.html">System Configuration</a></dt>
-
-<dd>
-<dl>
-<dt>4.1 <a href="system-configuration.html#SYSTEM-CONFIGURATION-OVERVIEW">System
-Overview</a></dt>
-
-<dd>
-<dl>
-<dt>4.1.1 <a href="system-configuration.html#SYSTEM-CONFIGURATION-LAYOUT">File System
-Layout</a></dt>
-
-<dt>4.1.2 <a href="system-configuration.html#SYSTEM-CONFIGURATION-FINDING">Finding
-Files</a></dt>
-
-<dt>4.1.3 <a href="system-configuration.html#SYSTEM-CONFIGURATION-RCD">The <tt
-class="FILENAME">/etc/rc.d</tt> Directory</a></dt>
-</dl>
-</dd>
-
-<dt>4.2 <a href="system-configuration-kernel.html">Selecting a Kernel</a></dt>
-
-<dd>
-<dl>
-<dt>4.2.1 <a href="system-configuration-kernel.html#AEN1581">The <tt
-class="FILENAME">/kernels</tt> Directory on the Slackware CD-ROM</a></dt>
-
-<dt>4.2.2 <a
-href="system-configuration-kernel.html#SYSTEM-CONFIGURATION-KERNEL-COMPILE">Compiling a
-Kernel from Source</a></dt>
-
-<dt>4.2.3 <a
-href="system-configuration-kernel.html#SYSTEM-CONFIGURATION-KERNEL-MODULES">Using Kernel
-Modules</a></dt>
-</dl>
-</dd>
-</dl>
-</dd>
-
-<dt>5 <a href="network-configuration.html">Network Configuration</a></dt>
-
-<dd>
-<dl>
-<dt>5.1 <a
-href="network-configuration.html#NETWORK-CONFIGURATION-NETCONFIG">Introduction: netconfig
-is your friend.</a></dt>
-
-<dt>5.2 <a href="network-configuration-hardware.html">Network Hardware
-Configuration</a></dt>
-
-<dd>
-<dl>
-<dt>5.2.1 <a
-href="network-configuration-hardware.html#NETWORK-CONFIGURATION-HARDWARE-MODULES">Loading
-Network Modules</a></dt>
-
-<dt>5.2.2 <a
-href="network-configuration-hardware.html#NETWORK-CONFIGURATION-HARDWARE-LAN">LAN
-(10/100/1000Base-T and Base-2) cards</a></dt>
-
-<dt>5.2.3 <a
-href="network-configuration-hardware.html#NETWORK-CONFIGURATION-HARDWARE-MODEMS">Modems</a></dt>
-
-<dt>5.2.4 <a
-href="network-configuration-hardware.html#NETWORK-CONFIGURATION-HARDWARE-PCMCIA">PCMCIA</a></dt>
-</dl>
-</dd>
-
-<dt>5.3 <a href="network-configuration-tcpip.html">TCP/IP Configuration</a></dt>
-
-<dd>
-<dl>
-<dt>5.3.1 <a
-href="network-configuration-tcpip.html#NETWORK-CONFIGURATION-TCPIP-DHCP">DHCP</a></dt>
-
-<dt>5.3.2 <a
-href="network-configuration-tcpip.html#NETWORK-CONFIGURATION-TCPIP-STATIC">Static
-IP</a></dt>
-
-<dt>5.3.3 <a href="network-configuration-tcpip.html#NETWORK-CONFIGURATION-TCPIP-CONF"><tt
-class="FILENAME">/etc/rc.d/rc.inet1.conf</tt></a></dt>
-
-<dt>5.3.4 <a
-href="network-configuration-tcpip.html#NETWORK-CONFIGURATION-TCPIP-RESOLVER"><tt
-class="FILENAME">/etc/resolv.conf</tt></a></dt>
-
-<dt>5.3.5 <a
-href="network-configuration-tcpip.html#NETWORK-CONFIGURATION-TCPIP-HOSTS"><tt
-class="FILENAME">/etc/hosts</tt></a></dt>
-</dl>
-</dd>
-
-<dt>5.4 <a href="network-configuration-ppp.html">PPP</a></dt>
-
-<dd>
-<dl>
-<dt>5.4.1 <a href="network-configuration-ppp.html#AEN1954"><tt
-class="COMMAND">pppsetup</tt></a></dt>
-
-<dt>5.4.2 <a href="network-configuration-ppp.html#AEN1969"><tt
-class="FILENAME">/etc/ppp</tt></a></dt>
-</dl>
-</dd>
-
-<dt>5.5 <a href="network-configuration-wireless.html">Wireless</a></dt>
-
-<dd>
-<dl>
-<dt>5.5.1 <a href="network-configuration-wireless.html#AEN2033">Hardware Support</a></dt>
-
-<dt>5.5.2 <a href="network-configuration-wireless.html#AEN2044">Configure the Wireless
-Settings</a></dt>
-
-<dt>5.5.3 <a href="network-configuration-wireless.html#AEN2101">Configure the
-Network</a></dt>
-</dl>
-</dd>
-
-<dt>5.6 <a href="network-configuration-nfs.html">Network File Systems</a></dt>
-
-<dd>
-<dl>
-<dt>5.6.1 <a
-href="network-configuration-nfs.html#NETWORK-CONFIGURATION-NSF-SMB">SMB/Samba/CIFS</a></dt>
-
-<dt>5.6.2 <a href="network-configuration-nfs.html#NETWORK-CONFIGURATION-NFS-NFS">Network
-File System (NFS)</a></dt>
-</dl>
-</dd>
-</dl>
-</dd>
-
-<dt>6 <a href="x-window-system.html">X Configuration</a></dt>
-
-<dd>
-<dl>
-<dt>6.1 <a href="x-window-system.html#X-WINDOW-SYSTEM-XORGCONFIG"><tt
-class="COMMAND">xorgconfig</tt></a></dt>
-
-<dt>6.2 <a href="x-window-system-xorgsetup.html"><tt
-class="COMMAND">xorgsetup</tt></a></dt>
-
-<dt>6.3 <a href="x-window-system-xinitrc.html">xinitrc</a></dt>
-
-<dt>6.4 <a href="x-window-system-xwmconfig.html"><tt
-class="COMMAND">xwmconfig</tt></a></dt>
-
-<dt>6.5 <a href="x-window-system-xdm.html"><tt class="COMMAND">xdm</tt></a></dt>
-</dl>
-</dd>
-
-<dt>7 <a href="booting.html">Booting</a></dt>
-
-<dd>
-<dl>
-<dt>7.1 <a href="booting.html#BOOTING-LILO">LILO</a></dt>
-
-<dt>7.2 <a href="booting-loadlin.html">LOADLIN</a></dt>
-
-<dt>7.3 <a href="booting-dual.html">Dual Booting</a></dt>
-
-<dd>
-<dl>
-<dt>7.3.1 <a href="booting-dual.html#BOOTING-DUAL-WINDOWS">Windows</a></dt>
-
-<dt>7.3.2 <a href="booting-dual.html#BOOTING-DUAL-LINUX">Linux</a></dt>
-</dl>
-</dd>
-</dl>
-</dd>
-
-<dt>8 <a href="shell.html">The Shell</a></dt>
-
-<dd>
-<dl>
-<dt>8.1 <a href="shell.html#SHELL-USERS">Users</a></dt>
-
-<dd>
-<dl>
-<dt>8.1.1 <a href="shell.html#AEN2678">Logging In</a></dt>
-
-<dt>8.1.2 <a href="shell.html#AEN2693">Root: The Superuser</a></dt>
-</dl>
-</dd>
-
-<dt>8.2 <a href="shell-command-line.html">The Command Line</a></dt>
-
-<dd>
-<dl>
-<dt>8.2.1 <a href="shell-command-line.html#SHELL-COMMAND-LINE-RUNNING">Running
-Programs</a></dt>
-
-<dt>8.2.2 <a href="shell-command-line.html#SHELL-COMMAND-LINE-WILDCARD">Wildcard
-Matching</a></dt>
-
-<dt>8.2.3 <a href="shell-command-line.html#SHELL-COMMAND-LINE-PIPING">Input/Output
-Redirection and Piping</a></dt>
-</dl>
-</dd>
-
-<dt>8.3 <a href="shell-bash.html">The Bourne Again Shell (bash)</a></dt>
-
-<dd>
-<dl>
-<dt>8.3.1 <a href="shell-bash.html#SHELL-BASH-ENVIRONMENT">Environment Variables</a></dt>
-
-<dt>8.3.2 <a href="shell-bash.html#SHELL-BASH-TAB">Tab Completion</a></dt>
-</dl>
-</dd>
-
-<dt>8.4 <a href="shell-vt.html">Virtual Terminals</a></dt>
-
-<dd>
-<dl>
-<dt>8.4.1 <a href="shell-vt.html#AEN3024">Screen</a></dt>
-</dl>
-</dd>
-</dl>
-</dd>
-
-<dt>9 <a href="filesystem-structure.html">Filesystem Structure</a></dt>
-
-<dd>
-<dl>
-<dt>9.1 <a
-href="filesystem-structure.html#FILESYSTEM-STRUCTURE-OWNERSHIP">Ownership</a></dt>
-
-<dt>9.2 <a href="filesystem-structure-permissions.html">Permissions</a></dt>
-
-<dt>9.3 <a href="filesystem-structure-links.html">Links</a></dt>
-
-<dt>9.4 <a href="filesystem-structure-mounting.html">Mounting Devices</a></dt>
-
-<dd>
-<dl>
-<dt>9.4.1 <a href="filesystem-structure-mounting.html#AEN3319"><tt
-class="FILENAME">fstab</tt></a></dt>
-
-<dt>9.4.2 <a href="filesystem-structure-mounting.html#AEN3340"><tt
-class="COMMAND">mount</tt> and <tt class="COMMAND">umount</tt></a></dt>
-</dl>
-</dd>
-
-<dt>9.5 <a href="filesystem-structure-nfs.html">NFS Mounts</a></dt>
-</dl>
-</dd>
-
-<dt>10 <a href="file-commands.html">Handling Files and Directories</a></dt>
-
-<dd>
-<dl>
-<dt>10.1 <a href="file-commands.html#FILE-COMMANDS-NAVIGATION">Navigation : <tt
-class="COMMAND">ls</tt>, <tt class="COMMAND">cd</tt>, and <tt
-class="COMMAND">pwd</tt></a></dt>
-
-<dd>
-<dl>
-<dt>10.1.1 <a href="file-commands.html#AEN3398"><tt class="COMMAND">ls</tt></a></dt>
-
-<dt>10.1.2 <a href="file-commands.html#AEN3436"><tt class="COMMAND">cd</tt></a></dt>
-
-<dt>10.1.3 <a href="file-commands.html#AEN3463"><tt class="COMMAND">pwd</tt></a></dt>
-</dl>
-</dd>
-
-<dt>10.2 <a href="file-commands-pagers.html">Pagers: <tt class="COMMAND">more</tt>, <tt
-class="COMMAND">less</tt>, and <tt class="COMMAND">most</tt></a></dt>
-
-<dd>
-<dl>
-<dt>10.2.1 <a href="file-commands-pagers.html#AEN3491"><tt
-class="COMMAND">more</tt></a></dt>
-
-<dt>10.2.2 <a href="file-commands-pagers.html#AEN3518"><tt
-class="COMMAND">less</tt></a></dt>
-
-<dt>10.2.3 <a href="file-commands-pagers.html#AEN3539"><tt
-class="COMMAND">most</tt></a></dt>
-</dl>
-</dd>
-
-<dt>10.3 <a href="file-commands-output.html">Simple Output: <tt class="COMMAND">cat</tt>
-and <tt class="COMMAND">echo</tt></a></dt>
-
-<dd>
-<dl>
-<dt>10.3.1 <a href="file-commands-output.html#AEN3559"><tt
-class="COMMAND">cat</tt></a></dt>
-
-<dt>10.3.2 <a href="file-commands-output.html#AEN3603"><tt
-class="COMMAND">echo</tt></a></dt>
-</dl>
-</dd>
-
-<dt>10.4 <a href="file-commands-creation.html">Creation: <tt class="COMMAND">touch</tt>
-and <tt class="COMMAND">mkdir</tt></a></dt>
-
-<dd>
-<dl>
-<dt>10.4.1 <a href="file-commands-creation.html#AEN3619"><tt
-class="COMMAND">touch</tt></a></dt>
-
-<dt>10.4.2 <a href="file-commands-creation.html#AEN3639"><tt
-class="COMMAND">mkdir</tt></a></dt>
-</dl>
-</dd>
-
-<dt>10.5 <a href="file-commands-copymove.html">Copy and Move</a></dt>
-
-<dd>
-<dl>
-<dt>10.5.1 <a href="file-commands-copymove.html#FILE-COMMANDS-COPYMOVE-CP"><tt
-class="COMMAND">cp</tt></a></dt>
-
-<dt>10.5.2 <a href="file-commands-copymove.html#AEN3712"><tt
-class="COMMAND">mv</tt></a></dt>
-</dl>
-</dd>
-
-<dt>10.6 <a href="file-commands-deletion.html">Deletion: <tt class="COMMAND">rm</tt> and
-<tt class="COMMAND">rmdir</tt></a></dt>
-
-<dd>
-<dl>
-<dt>10.6.1 <a href="file-commands-deletion.html#AEN3733"><tt
-class="COMMAND">rm</tt></a></dt>
-
-<dt>10.6.2 <a href="file-commands-deletion.html#AEN3764"><tt
-class="COMMAND">rmdir</tt></a></dt>
-</dl>
-</dd>
-
-<dt>10.7 <a href="file-commands-link.html">Aliasing files with <tt
-class="COMMAND">ln</tt></a></dt>
-</dl>
-</dd>
-
-<dt>11 <a href="process-control.html">Process Control</a></dt>
-
-<dd>
-<dl>
-<dt>11.1 <a
-href="process-control.html#PROCESS-CONTROL-BACKGROUNDING">Backgrounding</a></dt>
-
-<dt>11.2 <a href="process-control-foregrounding.html">Foregrounding</a></dt>
-
-<dt>11.3 <a href="process-control-ps.html"><tt class="COMMAND">ps</tt></a></dt>
-
-<dt>11.4 <a href="process-control-kill.html"><tt class="COMMAND">kill</tt></a></dt>
-
-<dt>11.5 <a href="process-control-top.html"><tt class="COMMAND">top</tt></a></dt>
-</dl>
-</dd>
-
-<dt>12 <a href="essential-sysadmin.html">Essential System Administration</a></dt>
-
-<dd>
-<dl>
-<dt>12.1 <a href="essential-sysadmin.html#ESSENTIAL-SYSADMIN-USERS">Users and
-Groups</a></dt>
-
-<dd>
-<dl>
-<dt>12.1.1 <a href="essential-sysadmin.html#ESSENTIAL-SYSADMIN-USERS-SCRIPTS">Supplied
-Scripts</a></dt>
-
-<dt>12.1.2 <a href="essential-sysadmin.html#ESSENTIAL-SYSADMIN-USERS-PASSWDS">Changing
-Passwords</a></dt>
-
-<dt>12.1.3 <a href="essential-sysadmin.html#ESSENTIAL-SYSADMIN-USERS-CHANGING">Changing
-User Information</a></dt>
-</dl>
-</dd>
-
-<dt>12.2 <a href="essential-sysadmin-hardusers.html">Users and Groups, the Hard
-Way</a></dt>
-
-<dt>12.3 <a href="essential-sysadmin-shutdown.html">Shutting Down Properly</a></dt>
-</dl>
-</dd>
-
-<dt>13 <a href="basic-network-commands.html">Basic Network Commands</a></dt>
-
-<dd>
-<dl>
-<dt>13.1 <a href="basic-network-commands.html#BASIC-NETWORK-COMMANDS-PING"><tt
-class="COMMAND">ping</tt></a></dt>
-
-<dt>13.2 <a href="basic-network-commands-traceroute.html"><tt
-class="COMMAND">traceroute</tt></a></dt>
-
-<dt>13.3 <a href="basic-network-commands-dns.html">DNS Tools</a></dt>
-
-<dd>
-<dl>
-<dt>13.3.1 <a href="basic-network-commands-dns.html#AEN4475"><tt
-class="COMMAND">host</tt></a></dt>
-
-<dt>13.3.2 <a href="basic-network-commands-dns.html#AEN4487"><tt
-class="COMMAND">nslookup</tt></a></dt>
-
-<dt>13.3.3 <a href="basic-network-commands-dns.html#AEN4496"><tt
-class="COMMAND">dig</tt></a></dt>
-</dl>
-</dd>
-
-<dt>13.4 <a href="basic-network-commands-finger.html"><tt
-class="COMMAND">finger</tt></a></dt>
-
-<dt>13.5 <a href="basic-network-commands-telnet.html"><tt
-class="COMMAND">telnet</tt></a></dt>
-
-<dd>
-<dl>
-<dt>13.5.1 <a href="basic-network-commands-telnet.html#AEN4593">The other use of
-telnet</a></dt>
-</dl>
-</dd>
-
-<dt>13.6 <a href="basic-network-commands-ssh.html">The Secure shell</a></dt>
-
-<dt>13.7 <a href="basic-network-commands-email.html">email</a></dt>
-
-<dd>
-<dl>
-<dt>13.7.1 <a
-href="basic-network-commands-email.html#BASIC-NETWORK-COMMANDS-EMAIL-PINE"><tt
-class="COMMAND">pine</tt></a></dt>
-
-<dt>13.7.2 <a
-href="basic-network-commands-email.html#BASIC-NETWORK-COMMANDS-EMAIL-ELM"><tt
-class="COMMAND">elm</tt></a></dt>
-
-<dt>13.7.3 <a
-href="basic-network-commands-email.html#BASIC-NETWORK-COMMANDS-EMAIL-MUTT"><tt
-class="COMMAND">mutt</tt></a></dt>
-
-<dt>13.7.4 <a
-href="basic-network-commands-email.html#BASIC-NETWORK-COMMANDS-EMAIL-NAIL"><tt
-class="COMMAND">nail</tt></a></dt>
-</dl>
-</dd>
-
-<dt>13.8 <a href="basic-network-commands-web.html">Browsers</a></dt>
-
-<dd>
-<dl>
-<dt>13.8.1 <a href="basic-network-commands-web.html#AEN4776"><tt
-class="COMMAND">lynx</tt></a></dt>
-
-<dt>13.8.2 <a href="basic-network-commands-web.html#AEN4813"><tt
-class="COMMAND">links</tt></a></dt>
-
-<dt>13.8.3 <a href="basic-network-commands-web.html#AEN4831"><tt
-class="COMMAND">wget</tt></a></dt>
-</dl>
-</dd>
-
-<dt>13.9 <a href="basic-network-commands-ftp.html">FTP Clients</a></dt>
-
-<dd>
-<dl>
-<dt>13.9.1 <a href="basic-network-commands-ftp.html#AEN4871"><tt
-class="COMMAND">ftp</tt></a></dt>
-
-<dt>13.9.2 <a href="basic-network-commands-ftp.html#BASIC-NETWORK-COMMANDS-FTP-NCFTP"><tt
-class="COMMAND">ncftp</tt></a></dt>
-</dl>
-</dd>
-
-<dt>13.10 <a href="basic-network-commands-talk.html">Talking to Other People</a></dt>
-
-<dd>
-<dl>
-<dt>13.10.1 <a href="basic-network-commands-talk.html#AEN4989"><tt
-class="COMMAND">wall</tt></a></dt>
-
-<dt>13.10.2 <a href="basic-network-commands-talk.html#AEN5006"><tt
-class="COMMAND">talk</tt></a></dt>
-
-<dt>13.10.3 <a href="basic-network-commands-talk.html#AEN5033"><tt
-class="COMMAND">ytalk</tt></a></dt>
-</dl>
-</dd>
-</dl>
-</dd>
-
-<dt>14 <a href="security.html">Security</a></dt>
-
-<dd>
-<dl>
-<dt>14.1 <a href="security.html#SECURITY-DISABLE">Disabling Services</a></dt>
-
-<dd>
-<dl>
-<dt>14.1.1 <a href="security.html#AEN5081">Services started from <tt
-class="COMMAND">inetd</tt></a></dt>
-
-<dt>14.1.2 <a href="security.html#AEN5102">Services started from init scripts</a></dt>
-</dl>
-</dd>
-
-<dt>14.2 <a href="security-host.html">Host Access Control</a></dt>
-
-<dd>
-<dl>
-<dt>14.2.1 <a href="security-host.html#SECURITY-HOST-IPTABLES"><tt
-class="COMMAND">iptables</tt></a></dt>
-
-<dt>14.2.2 <a href="security-host.html#SECURITY-HOST-TCPWRAPPERS"><tt
-class="COMMAND">tcpwrappers</tt></a></dt>
-</dl>
-</dd>
-
-<dt>14.3 <a href="security-current.html">Keeping Current</a></dt>
-
-<dd>
-<dl>
-<dt>14.3.1 <a href="security-current.html#SECURITY-CURRENT-LIST"><var
-class="LITERAL">slackware-security</var> mailing list</a></dt>
-
-<dt>14.3.2 <a href="security-current.html#SECURITY-CURRENT-PATCHES">The <tt
-class="FILENAME">/patches</tt> directory</a></dt>
-</dl>
-</dd>
-</dl>
-</dd>
-
-<dt>15 <a href="archive-files.html">Archive Files</a></dt>
-
-<dd>
-<dl>
-<dt>15.1 <a href="archive-files.html#ARCHIVE-FILES-GZIP"><tt
-class="COMMAND">gzip</tt></a></dt>
-
-<dt>15.2 <a href="archive-files-bzip2.html"><tt class="COMMAND">bzip2</tt></a></dt>
-
-<dt>15.3 <a href="archive-files-tar.html"><tt class="COMMAND">tar</tt></a></dt>
-
-<dt>15.4 <a href="archive-files-zip.html"><tt class="COMMAND">zip</tt></a></dt>
-</dl>
-</dd>
-
-<dt>16 <a href="vi.html">Vi</a></dt>
-
-<dd>
-<dl>
-<dt>16.1 <a href="vi.html#VI-STARTING">Starting vi</a></dt>
-
-<dt>16.2 <a href="vi-modes.html">Modes</a></dt>
-
-<dd>
-<dl>
-<dt>16.2.1 <a href="vi-modes.html#VI-MODES-COMMAND-MODE">Command Mode</a></dt>
-
-<dt>16.2.2 <a href="vi-modes.html#VI-MODES-INSET-MODE">Insert Mode</a></dt>
-</dl>
-</dd>
-
-<dt>16.3 <a href="vi-opening-files.html">Opening Files</a></dt>
-
-<dt>16.4 <a href="vi-saving-files.html">Saving Files</a></dt>
-
-<dt>16.5 <a href="vi-quitting-vi.html">Quitting vi</a></dt>
-
-<dt>16.6 <a href="vi-configuration.html">vi Configuration</a></dt>
-
-<dt>16.7 <a href="vi-keys.html">Vi Keys</a></dt>
-</dl>
-</dd>
-
-<dt>17 <a href="emacs.html">Emacs</a></dt>
-
-<dd>
-<dl>
-<dt>17.1 <a href="emacs.html#EMACS-STARTING">Starting emacs</a></dt>
-
-<dd>
-<dl>
-<dt>17.1.1 <a href="emacs.html#EMACS-COMMAND-KEYS">Command Keys</a></dt>
-</dl>
-</dd>
-
-<dt>17.2 <a href="emacs-buffers.html">Buffers</a></dt>
-
-<dt>17.3 <a href="emacs-modes.html">Modes</a></dt>
-
-<dd>
-<dl>
-<dt>17.3.1 <a href="emacs-modes.html#EMACS-OPENING-FILES">Opening files</a></dt>
-</dl>
-</dd>
-
-<dt>17.4 <a href="emacs-basic-editing.html">Basic Editing</a></dt>
-
-<dt>17.5 <a href="emacs-saving-files.html">Saving Files</a></dt>
-
-<dd>
-<dl>
-<dt>17.5.1 <a href="emacs-saving-files.html#EMACS-QUITING">Quitting Emacs</a></dt>
-</dl>
-</dd>
-</dl>
-</dd>
-
-<dt>18 <a href="package-management.html">Slackware Package Management</a></dt>
-
-<dd>
-<dl>
-<dt>18.1 <a href="package-management.html#PACKAGE-MANAGEMENT-OVERVIEW">Overview of
-Package Format</a></dt>
-
-<dt>18.2 <a href="package-management-package-utilities.html">Package Utilities</a></dt>
-
-<dd>
-<dl>
-<dt>18.2.1 <a
-href="package-management-package-utilities.html#PACKAGE-MANAGEMENT-PACKAGE-UTILITIES-PKGTOOL">
-pkgtool</a></dt>
-
-<dt>18.2.2 <a
-href="package-management-package-utilities.html#PACKAGE-MANAGEMENT-PACKAGE-UTILITIES-INSTALLPKG">
-installpkg</a></dt>
-
-<dt>18.2.3 <a
-href="package-management-package-utilities.html#PACKAGE-MANAGEMENT-PACKAGE-UTILITIES-REMOVEPKG">
-removepkg</a></dt>
-
-<dt>18.2.4 <a
-href="package-management-package-utilities.html#PACKAGE-MANAGEMENT-PACKAGE-UTILITIES-UPGRADEPKG">
-upgradepkg</a></dt>
-
-<dt>18.2.5 <a
-href="package-management-package-utilities.html#PACKAGE-MANAGEMENT-PACKAGE-UTILITIES-RPM">
-<tt class="COMMAND">rpm2tgz</tt>/<tt class="COMMAND">rpm2targz</tt></a></dt>
-</dl>
-</dd>
-
-<dt>18.3 <a href="package-management-making-packages.html">Making Packages</a></dt>
-
-<dd>
-<dl>
-<dt>18.3.1 <a
-href="package-management-making-packages.html#PACKAGE-MANAGEMENT-EXPLODEPKG"><tt
-class="COMMAND">explodepkg</tt></a></dt>
-
-<dt>18.3.2 <a
-href="package-management-making-packages.html#PACKAGE-MANAGEMENT-MAKEPKG"><tt
-class="COMMAND">makepkg</tt></a></dt>
-
-<dt>18.3.3 <a
-href="package-management-making-packages.html#PACKAGE-MANAGEMENT-SLACKBUILD-SCRIPTS">SlackBuild
-Scripts</a></dt>
-</dl>
-</dd>
-
-<dt>18.4 <a href="package-management-making-tags-and-tagfiles.html">Making Tags and
-Tagfiles (for setup)</a></dt>
-</dl>
-</dd>
-
-<dt>19 <a href="zipslack.html">ZipSlack</a></dt>
-
-<dd>
-<dl>
-<dt>19.1 <a href="zipslack.html#ZIPSLACK-WHAT">What is ZipSlack?</a></dt>
-
-<dd>
-<dl>
-<dt>19.1.1 <a href="zipslack.html#ZIPSLACK-ADVANTAGES">Advantages</a></dt>
-
-<dt>19.1.2 <a href="zipslack.html#ZIPSLACK-DISADVANTAGES">Disadvantages</a></dt>
-</dl>
-</dd>
-
-<dt>19.2 <a href="zipslack-getting.html">Getting ZipSlack</a></dt>
-
-<dd>
-<dl>
-<dt>19.2.1 <a href="zipslack-getting.html#ZIPSLACK-INSTALLATION">Installation</a></dt>
-</dl>
-</dd>
-
-<dt>19.3 <a href="zipslack-booting.html">Booting ZipSlack</a></dt>
-</dl>
-</dd>
-
-<dt><a href="glossary.html">Glossary</a></dt>
-
-<dt>A. <a href="gpl.html">The GNU General Public License</a></dt>
-
-<dd>
-<dl>
-<dt>A.1. <a href="gpl.html#AEN7088">Preamble</a></dt>
-
-<dt>A.2. <a href="gpl.html#AEN7098">TERMS AND CONDITIONS</a></dt>
-
-<dt>A.3. <a href="gpl.html#AEN7162">How to Apply These Terms to Your New
-Programs</a></dt>
-</dl>
-</dd>
-</dl>
-</div>
-
-<div class="LOT">
-<dl class="LOT">
-<dt><b>List of Tables</b></dt>
-
-<dt>2-1. <a href="help.html#AEN409">Man Page Sections</a></dt>
-
-<dt>3-1. <a href="installation.html#AEN661">Slackware Linux, Inc. Contact
-Information</a></dt>
-
-<dt>3-2. <a href="installation-requirements.html#AEN706">System Requirements</a></dt>
-
-<dt>3-3. <a href="installation-requirements.html#AEN746">Software Series</a></dt>
-
-<dt>9-1. <a href="filesystem-structure-permissions.html#AEN3142">Octal Permission
-Values</a></dt>
-
-<dt>13-1. <a href="basic-network-commands-ftp.html#AEN4883"><tt class="COMMAND">ftp</tt>
-commands</a></dt>
-
-<dt>16-1. <a href="vi-keys.html#AEN5773">Movement</a></dt>
-
-<dt>16-2. <a href="vi-keys.html#AEN5808">Editing</a></dt>
-
-<dt>16-3. <a href="vi-keys.html#AEN5848">Searching</a></dt>
-
-<dt>16-4. <a href="vi-keys.html#AEN5882">Saving and Quitting</a></dt>
-
-<dt>17-1. <a href="emacs-basic-editing.html#TABLE-EMACS-BASIC-EDITING">Basic Emacs
-Editing Commands</a></dt>
-
-<dt>18-1. <a href="package-management-package-utilities.html#AEN6446"><tt
-class="COMMAND">installpkg</tt> Options</a></dt>
-
-<dt>18-2. <a href="package-management-package-utilities.html#AEN6491"><tt
-class="COMMAND">removepkg</tt> Options</a></dt>
-
-<dt>18-3. <a href="package-management-making-tags-and-tagfiles.html#AEN6621">Tagfile
-Status Options</a></dt>
-</dl>
-</div>
-
-<div class="LOT">
-<dl class="LOT">
-<dt><b>List of Figures</b></dt>
-
-<dt>4-1. <a
-href="system-configuration-kernel.html#SYSTEM-CONFIGURATION-MAKE-MENUCONFIG">Kernel
-Configuration Menu</a></dt>
-
-<dt>6-1. <a href="x-window-system.html#X-WINDOW-SYSTEM-1"><tt
-class="COMMAND">xorgconfig</tt> Mouse Configuration</a></dt>
-
-<dt>6-2. <a href="x-window-system.html#X-WINDOW-SYSTEM-2"><tt
-class="COMMAND">xorgconfig</tt> Horizontal Sync</a></dt>
-
-<dt>6-3. <a href="x-window-system.html#X-WINDOW-SYSTEM-3"><tt
-class="COMMAND">xorgconfig</tt> Vertical Sync</a></dt>
-
-<dt>6-4. <a href="x-window-system.html#X-WINDOW-SYSTEM-4"><tt
-class="COMMAND">xorgconfig</tt> Video Card</a></dt>
-
-<dt>6-5. <a href="x-window-system-xwmconfig.html#FIG-X-WINDOW-SYSTEM-XWMCONFIG">Desktop
-Configuration with <tt class="COMMAND">xorgconfig</tt></a></dt>
-
-<dt>7-1. <a href="booting.html#BOOTING-SETUP-LILO"><tt
-class="COMMAND">liloconfig</tt></a></dt>
-
-<dt>7-2. <a href="booting.html#BOOTING-LILO-EXPERT"><tt class="COMMAND">liloconfig</tt>
-Expert Menu</a></dt>
-
-<dt>11-1. <a href="process-control-ps.html#FIG-PROCESS-CONTROL-PS-SHORT">Basic <tt
-class="COMMAND">ps</tt> output</a></dt>
-
-<dt>13-1. <a
-href="basic-network-commands-telnet.html#FIG-BASIC-NETWORK-COMMANDS-TELNET-WEB">Telnetting
-to a webserver</a></dt>
-
-<dt>13-2. <a
-href="basic-network-commands-email.html#FIG-BASIC-NETWORK-COMMANDS-EMAIL-PINE">The Pine
-main menu</a></dt>
-
-<dt>13-3. <a
-href="basic-network-commands-email.html#FIG-BASIC-NETWORK-COMMANDS-EMAIL-ELM">Elm main
-screen</a></dt>
-
-<dt>13-4. <a
-href="basic-network-commands-email.html#FIG-BASIC-NETWORK-COMMANDS-EMAIL-MUTT">Mutt main
-screen</a></dt>
-
-<dt>13-5. <a
-href="basic-network-commands-web.html#FIG-BASIC-NETWORK-COMMANDS-WEB-LYNX">Lynx default
-start page</a></dt>
-
-<dt>13-6. <a
-href="basic-network-commands-web.html#FIG-BASIC-NETWORK-COMMANDS-WEB-LINKS">Links, with
-the file menu open</a></dt>
-
-<dt>13-7. <a
-href="basic-network-commands-talk.html#FIG-BASIC-NETWORK-COMMANDS-TALK-TALK">Two users in
-a <tt class="COMMAND">talk</tt> session</a></dt>
-
-<dt>13-8. <a
-href="basic-network-commands-talk.html#FIG-BASIC-NETWORK-COMMANDS-TALK-YTALK">Two users
-in a <tt class="COMMAND">ytalk</tt> session</a></dt>
-
-<dt>16-1. <a href="vi.html#FIG-VI-VIM-SPLITEDIT">A vi session.</a></dt>
-
-<dt>18-1. <a href="package-management-package-utilities.html#PKGTOOL-MAIN-MENU">Pkgtool's
-main menu.</a></dt>
-
-<dt>18-2. <a href="package-management-package-utilities.html#PKGTOOL-VIEW-MODE">Pkgtool
-view mode</a></dt>
-</dl>
-</div>
-
-<div class="LOT">
-<dl class="LOT">
-<dt><b>List of Examples</b></dt>
-
-<dt>8-1. <a href="shell-bash.html#EX-SHELL-BASH-ENVIRONMENT">Listing Environment
-Variables with <tt class="COMMAND">set</tt></a></dt>
-</dl>
-</div>
-</div>
-
-<div class="NAVFOOTER">
-<hr align="LEFT" width="100%" />
-<table summary="Footer navigation table" width="100%" border="0" cellpadding="0"
-cellspacing="0">
-<tr>
-<td width="33%" align="left" valign="top">&nbsp;</td>
-<td width="34%" align="center" valign="top">&nbsp;</td>
-<td width="33%" align="right" valign="top"><a href="book-preface.html"
-accesskey="N">Next</a></td>
-</tr>
-
-<tr>
-<td width="33%" align="left" valign="top">&nbsp;</td>
-<td width="34%" align="center" valign="top">&nbsp;</td>
-<td width="33%" align="right" valign="top">Preface</td>
-</tr>
-</table>
-</div>
-</body>
-</html>
-
diff --git a/slackbook/html/installation-partitioning.html b/slackbook/html/installation-partitioning.html
deleted file mode 100644
index 3d3821e5..00000000
--- a/slackbook/html/installation-partitioning.html
+++ /dev/null
@@ -1,218 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta name="generator" content="HTML Tidy, see www.w3.org" />
-<title>Partitioning</title>
-<meta name="GENERATOR" content="Modular DocBook HTML Stylesheet Version 1.7" />
-<link rel="HOME" title="Slackware Linux Essentials" href="index.html" />
-<link rel="UP" title="Installation" href="installation.html" />
-<link rel="PREVIOUS" title="System Requirements" href="installation-requirements.html" />
-<link rel="NEXT" title="The setup Program" href="installation-setup.html" />
-<link rel="STYLESHEET" type="text/css" href="docbook.css" />
-<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
-</head>
-<body class="SECT1" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#840084"
-alink="#0000FF">
-<div class="NAVHEADER">
-<table summary="Header navigation table" width="100%" border="0" cellpadding="0"
-cellspacing="0">
-<tr>
-<th colspan="3" align="center">Slackware Linux Essentials</th>
-</tr>
-
-<tr>
-<td width="10%" align="left" valign="bottom"><a href="installation-requirements.html"
-accesskey="P">Prev</a></td>
-<td width="80%" align="center" valign="bottom">Chapter 3 Installation</td>
-<td width="10%" align="right" valign="bottom"><a href="installation-setup.html"
-accesskey="N">Next</a></td>
-</tr>
-</table>
-
-<hr align="LEFT" width="100%" />
-</div>
-
-<div class="SECT1">
-<h1 class="SECT1"><a id="INSTALLATION-PARTITIONING" name="INSTALLATION-PARTITIONING">3.3
-Partitioning</a></h1>
-
-<p>After booting from your preferred media, you will need to partition your hard disk.
-The disk partition is where the Linux filesystem will be created and is where Slackware
-will be installed. At the very minimum we recommend creating two partitions; one for your
-root filesystem (<tt class="FILENAME">/</tt>) and one for swap space.</p>
-
-<p>After the root disk finishes loading, it will present you with a login prompt. Log in
-as root (there is no password). At the shell prompt, run either <tt
-class="COMMAND">cfdisk</tt>(8) or <tt class="COMMAND">fdisk</tt>(8). The <tt
-class="COMMAND">cfdisk</tt> program provides a more user-friendly interface than the
-regular <tt class="COMMAND">fdisk</tt> program, but does lack some features. We will
-briefly explain the <tt class="COMMAND">fdisk</tt> program below.</p>
-
-<p>Begin by running <tt class="COMMAND">fdisk</tt> for your hard disk. In Linux, the hard
-disks do not have drive letters, but are represented by a file. The first IDE hard disk
-(primary master) is <tt class="FILENAME">/dev/hda</tt>, the primary slave is <tt
-class="FILENAME">/dev/hdb</tt>, and so on. SCSI disks follow the same type system, but
-are in the form of <tt class="FILENAME">/dev/sd<var class="REPLACEABLE">X</var></tt>. You
-will need to start <tt class="COMMAND">fdisk</tt> and pass it your hard disk:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">#</samp> <kbd class="USERINPUT">fdisk /dev/hda</kbd>
-</pre>
-</td>
-</tr>
-</table>
-
-<p>Like all good Unix programs, <tt class="COMMAND">fdisk</tt> gives you a prompt
-(thought you were getting a menu, right?). The first thing you should do is examine your
-current partitions. We do that by typing <kbd class="USERINPUT">p</kbd> at the <tt
-class="COMMAND">fdisk</tt> prompt:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-Command (m for help): <kbd class="USERINPUT">p</kbd>
-</pre>
-</td>
-</tr>
-</table>
-
-<p>This will display all sorts of information about your current partitions. Most people
-pick a free drive to install to and then remove any existing partitions on it to create
-room for the Linux partitions.</p>
-
-<div class="WARNING">
-<table class="WARNING" width="100%" border="0">
-<tr>
-<td width="25" align="CENTER" valign="TOP"><img src="./imagelib/admon/warning.png"
-hspace="5" alt="Warning" /></td>
-<td align="LEFT" valign="TOP">
-<p>IT IS VERY IMPORTANT THAT YOU BACK UP ANY INFORMATION YOU WANT TO SAVE BEFORE
-DESTROYING THE PARTITION IT LIVES ON.</p>
-</td>
-</tr>
-</table>
-</div>
-
-<p>There is no easy way to recover from deleting a partition, so always back up before
-playing with them.</p>
-
-<p>Looking at the table of partition information you should see a partition number, the
-size of the partition, and its type. There's more information, but don't worry about that
-for now. We are going to delete all of the partitions on this drive to create the Linux
-ones. We run the <kbd class="USERINPUT">d</kbd> command to delete those:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-Command (m for help): <kbd class="USERINPUT">d</kbd>
-Partition number (1-4): <kbd class="USERINPUT">1</kbd>
-</pre>
-</td>
-</tr>
-</table>
-
-<p>This process should be continued for each of the partitions. After deleting the
-partitions we are ready to create the Linux ones. We have decided to create one partition
-for our root filesystem and one for swap. It is worth noting that Unix partitioning
-schemes are the subject of many flame wars, and that most users will tell you the best
-way to do it. At a minimum, you should create one partition for <tt
-class="FILENAME">/</tt> and one for swap. Over time, you'll develop a method that works
-well for you.</p>
-
-<p>I use two basic partition schemes. The first is for a desktop. I make 4 partitions,
-<tt class="FILENAME">/</tt>, <tt class="FILENAME">/home</tt>, <tt
-class="FILENAME">/usr/local</tt>, and swap. This lets me re-install or upgrade the entire
-installation under <tt class="FILENAME">/</tt> without wiping out my data files under
-/home or my custom compiled applications under <tt class="FILENAME">/usr/local</tt>. For
-servers, I often replace the <tt class="FILENAME">/usr/local</tt> partition with a <tt
-class="FILENAME">/var</tt> partition. Many different servers store information on that
-partition and having it kept separate from <tt class="FILENAME">/</tt> has certain
-performance benefits. For now, we're sticking with just two partitions: <tt
-class="FILENAME">/</tt> and swap.</p>
-
-<p>Now we create the partitions with the <kbd class="USERINPUT">n</kbd> command:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-Command (m for help): <kbd class="USERINPUT">n</kbd>
-Command action
- e extended
- p primary partition (1-4)
-<kbd class="USERINPUT">p</kbd>
-Partition number (1-4):<kbd class="USERINPUT">1</kbd>
-First cylinder (0-1060, default 0):<kbd class="USERINPUT">0</kbd>
- Last cylinder or +size or +sizeM or +sizeK (0-1060, default 1060):<kbd
-class="USERINPUT">+64M</kbd>
-</pre>
-</td>
-</tr>
-</table>
-
-<p>You need to make sure you create primary partitions. The first partition is going to
-be our swap partition. We tell fdisk to make partition number 1 a primary partition. We
-start it at cylinder 0 and for the ending cylinder we type +64M. This will give us a 64
-megabyte partition for swap. (The size of the swap partition you need actually depends on
-the amount of RAM you have. It is conventional wisdom that a swap space double the size
-of your RAM should be created.) Then we define primary partition number 2 starting at the
-first available cylinder and going all the way to the end of the drive.</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-Command (m for help):<kbd class="USERINPUT">n</kbd>
-Command action
- e extended
- p primary partition (1-4)
-<kbd class="USERINPUT">p</kbd>
-Partition number (1-4):<kbd class="USERINPUT">2</kbd>
-First cylinder (124-1060, default 124):<kbd class="USERINPUT">124</kbd>
-Last cylinder or +size or +sizeM or +sizeK (124-1060, default 1060):<kbd
-class="USERINPUT">1060</kbd>
-</pre>
-</td>
-</tr>
-</table>
-
-<p>We are almost done. We need to change the type of the first partition to type 82
-(Linux swap). Type <kbd class="USERINPUT">t</kbd> to change the type, select the first
-partition, and type <var class="LITERAL">82</var>. Before writing your changes to the
-disk, you should look at the new partition table one last time. Use the <kbd
-class="USERINPUT">p</kbd> in <tt class="COMMAND">fdisk</tt> to display the partition
-table. If everything looks good, type <kbd class="USERINPUT">w</kbd> to write your
-changes to the disk and quit <tt class="COMMAND">fdisk</tt>.</p>
-</div>
-
-<div class="NAVFOOTER">
-<hr align="LEFT" width="100%" />
-<table summary="Footer navigation table" width="100%" border="0" cellpadding="0"
-cellspacing="0">
-<tr>
-<td width="33%" align="left" valign="top"><a href="installation-requirements.html"
-accesskey="P">Prev</a></td>
-<td width="34%" align="center" valign="top"><a href="index.html"
-accesskey="H">Home</a></td>
-<td width="33%" align="right" valign="top"><a href="installation-setup.html"
-accesskey="N">Next</a></td>
-</tr>
-
-<tr>
-<td width="33%" align="left" valign="top">System Requirements</td>
-<td width="34%" align="center" valign="top"><a href="installation.html"
-accesskey="U">Up</a></td>
-<td width="33%" align="right" valign="top">The <tt class="COMMAND">setup</tt>
-Program</td>
-</tr>
-</table>
-</div>
-</body>
-</html>
-
diff --git a/slackbook/html/installation-requirements.html b/slackbook/html/installation-requirements.html
deleted file mode 100644
index e0e53dbf..00000000
--- a/slackbook/html/installation-requirements.html
+++ /dev/null
@@ -1,388 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta name="generator" content="HTML Tidy, see www.w3.org" />
-<title>System Requirements</title>
-<meta name="GENERATOR" content="Modular DocBook HTML Stylesheet Version 1.7" />
-<link rel="HOME" title="Slackware Linux Essentials" href="index.html" />
-<link rel="UP" title="Installation" href="installation.html" />
-<link rel="PREVIOUS" title="Installation" href="installation.html" />
-<link rel="NEXT" title="Partitioning" href="installation-partitioning.html" />
-<link rel="STYLESHEET" type="text/css" href="docbook.css" />
-<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
-</head>
-<body class="SECT1" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#840084"
-alink="#0000FF">
-<div class="NAVHEADER">
-<table summary="Header navigation table" width="100%" border="0" cellpadding="0"
-cellspacing="0">
-<tr>
-<th colspan="3" align="center">Slackware Linux Essentials</th>
-</tr>
-
-<tr>
-<td width="10%" align="left" valign="bottom"><a href="installation.html"
-accesskey="P">Prev</a></td>
-<td width="80%" align="center" valign="bottom">Chapter 3 Installation</td>
-<td width="10%" align="right" valign="bottom"><a href="installation-partitioning.html"
-accesskey="N">Next</a></td>
-</tr>
-</table>
-
-<hr align="LEFT" width="100%" />
-</div>
-
-<div class="SECT1">
-<h1 class="SECT1"><a id="INSTALLATION-REQUIREMENTS" name="INSTALLATION-REQUIREMENTS">3.2
-System Requirements</a></h1>
-
-<p>An easy Slackware installation requires, at minimum, the following:</p>
-
-<div class="TABLE"><a id="AEN706" name="AEN706"></a>
-<p><b>Table 3-2. System Requirements</b></p>
-
-<table border="0" frame="void" class="CALSTABLE">
-<col />
-<col />
-<thead>
-<tr>
-<th>Hardware</th>
-<th>Requirement</th>
-</tr>
-</thead>
-
-<tbody>
-<tr>
-<td>Processor</td>
-<td>586</td>
-</tr>
-
-<tr>
-<td>RAM</td>
-<td>32 MB</td>
-</tr>
-
-<tr>
-<td>Disk Space</td>
-<td>1GB</td>
-</tr>
-
-<tr>
-<td>Media Drive</td>
-<td>4x CD-ROM</td>
-</tr>
-</tbody>
-</table>
-</div>
-
-<p>If you have the bootable CD, you will probably not need a floppy drive. Of course, it
-stands to reason that if you don't possess a CD-ROM drive, you will need a floppy drive
-to do a network install. A network card is required for an NFS install. See the section
-called NFS for more information.</p>
-
-<p>The disk space requirement is somewhat tricky. The 1GB recommendation is usually safe
-for a minimal install, but if you do a full install, you will need around two gigabytes
-of available hard disk space plus additional space for personal files.. Most users don't
-do a full install. In fact, many run Slackware on as little as 100MB of hard disk
-space.</p>
-
-<p>Slackware can be installed to systems with less RAM, smaller hard drives, and weaker
-CPUs, but doing so will require a little elbow grease. If you're up for a little work,
-take a look at the <tt class="FILENAME">LOWMEM.TXT</tt> file in the distribution tree for
-a few helpful hints.</p>
-
-<div class="SECT2">
-<h2 class="SECT2"><a id="INSTALLATION-SOFTWARE-SERIES"
-name="INSTALLATION-SOFTWARE-SERIES">3.2.1 The Software Series</a></h2>
-
-<p>For reasons of simplicity, Slackware has historically been divided into software
-series. Once called &#8220;disk sets&#8221; because they were designed for floppy-based
-installation, the software series are now used primarily to categorize the packages
-included in Slackware. Today, floppy installation is no longer possible.</p>
-
-<p>The following is a brief description of each software series.</p>
-
-<div class="TABLE"><a id="AEN746" name="AEN746"></a>
-<p><b>Table 3-3. Software Series</b></p>
-
-<table border="0" frame="void" class="CALSTABLE">
-<col width="1*" />
-<col width="4*" />
-<thead>
-<tr>
-<th>Series</th>
-<th>Contents</th>
-</tr>
-</thead>
-
-<tbody>
-<tr>
-<td>A</td>
-<td>The base system. Contains enough software to get up and running and have a text
-editor and basic communication program.</td>
-</tr>
-
-<tr>
-<td>AP</td>
-<td>Various applications that do not require the X Window System.</td>
-</tr>
-
-<tr>
-<td>D</td>
-<td>Program development tools. Compilers, debuggers, interpreters, and man pages are all
-here.</td>
-</tr>
-
-<tr>
-<td>E</td>
-<td>GNU Emacs.</td>
-</tr>
-
-<tr>
-<td>F</td>
-<td>FAQs, HOWTOs, and other miscellaneous documentation.</td>
-</tr>
-
-<tr>
-<td>GNOME</td>
-<td>The GNOME desktop environment.</td>
-</tr>
-
-<tr>
-<td>K</td>
-<td>The source code for the Linux kernel.</td>
-</tr>
-
-<tr>
-<td>KDE</td>
-<td>The K Desktop Environment. An X environment which shares a lot of look-and-feel
-features with MacOS and Windows. The Qt library, which KDE requires, is also in this
-series.</td>
-</tr>
-
-<tr>
-<td>KDEI</td>
-<td>Internationalization packages for the KDE desktop.</td>
-</tr>
-
-<tr>
-<td>L</td>
-<td>Libraries. Dynamically linked libraries required by many other programs.</td>
-</tr>
-
-<tr>
-<td>N</td>
-<td>Networking programs. Daemons, mail programs, telnet, news readers, and so on.</td>
-</tr>
-
-<tr>
-<td>T</td>
-<td>teTeX document formatting system.</td>
-</tr>
-
-<tr>
-<td>TCL</td>
-<td>The Tool Command Language. Tk, TclX, and TkDesk.</td>
-</tr>
-
-<tr>
-<td>X</td>
-<td>The base X Window System.</td>
-</tr>
-
-<tr>
-<td>XAP</td>
-<td>X Applications that are not part of a major desktop environment (for example,
-Ghostscript and Netscape).</td>
-</tr>
-
-<tr>
-<td>Y</td>
-<td>BSD Console games</td>
-</tr>
-</tbody>
-</table>
-</div>
-</div>
-
-<div class="SECT2">
-<h2 class="SECT2"><a id="INSTALLATION-METHODS" name="INSTALLATION-METHODS">3.2.2
-Installation Methods</a></h2>
-
-<div class="SECT3">
-<h3 class="SECT3"><a id="INSTALLATION-INSTALLATION-METHODS-FLOPPY"
-name="INSTALLATION-INSTALLATION-METHODS-FLOPPY">3.2.2.1 Floppy</a></h3>
-
-<p>While it was once possible to install all of Slackware Linux from floppy disks, the
-increasing size of software packages (indeed, of some individual programs) has forced the
-abandonment of the floppy install. As late as Slackware version 7.1 a partial install was
-possible using floppy disks. The A and N series could be nearly entirely installed,
-providing a base system from which to install the rest of the distribution. If you are
-considering a floppy install (typically on older hardware), it is typically recommended
-to find another way, or use an older release. Slackware 4.0 is still very popular for
-this reason, as is 7.0.</p>
-
-<p>Please note that floppy disks are still required for a CD-ROM install if you do not
-have a bootable CD, as well as for an NFS install.</p>
-</div>
-
-<div class="SECT3">
-<h3 class="SECT3"><a id="INSTALLATION-INSTALLLATION-METHODS-CDROM"
-name="INSTALLATION-INSTALLLATION-METHODS-CDROM">3.2.2.2 CD-ROM</a></h3>
-
-<p>If you have the bootable CD, available in the official disc set published by Slackware
-Linux, Inc. (see the section called Getting Slackware), a CD-based installation will be a
-bit simpler for you. If not, you will need to boot from floppies. Also, if you have
-special hardware that makes usage of the kernel on the bootable CD problematic, you may
-need to use specialized floppies.</p>
-
-<p>As of Slackware version 8.1, a new method is used for creating the bootable CDs, which
-does not work as well with certain flaky BIOS chips (it is worth noting that most all
-Linux CDs suffer from this these days). If that is the case, we recommend booting from a
-floppy disk.</p>
-
-<p><a
-href="installation-requirements.html#INSTALLATION-INSTALLATION-METHODS-BOOTDISK">Section
-3.2.3</a> and <a
-href="installation-requirements.html#INSTALLATION-SUPPLEMENTAL-DISK">Section 3.2.5</a>
-provide information on choosing and creating floppies from which to boot, should this be
-necessary.</p>
-</div>
-
-<div class="SECT3">
-<h3 class="SECT3"><a id="AEN823" name="AEN823">3.2.2.3 NFS</a></h3>
-
-<p>NFS (the Network File System) is a way of making filesystems available to remote
-machines. An NFS install allows you to install Slackware from another computer on your
-network. The machine from which you are installing needs to be configured to export the
-Slackware distribution tree to the machine to which you're installing. This, of course,
-involves some knowledge of NFS, which is covered in <a
-href="network-configuration-nfs.html">Section 5.6</a>.</p>
-
-<p>It is possible to perform an NFS install via such methods as PLIP (over a parallel
-port), SLIP, and PPP (though not over a modem connection). However, we recommend the use
-of a network card if available. After all, installing an operating system through your
-printer port is going to be a very, very slow process.</p>
-</div>
-</div>
-
-<div class="SECT2">
-<h2 class="SECT2"><a id="INSTALLATION-INSTALLATION-METHODS-BOOTDISK"
-name="INSTALLATION-INSTALLATION-METHODS-BOOTDISK">3.2.3 Boot Disk</a></h2>
-
-<p>The boot disk is the floppy you actually boot from to begin the installation. It
-contains a compressed kernel image which is used to control the hardware during
-installation. Therefore, it is very much required (unless you're booting from CD, as is
-discussed in the section called CD-ROM). The boot disks are located in the <tt
-class="FILENAME">bootdisks/</tt> directory in the distribution tree.</p>
-
-<p>There are more Slackware boot disks than you can shake a stick at (which is to say
-about 16). A complete list of boot disks, with a description of each, is available in the
-Slackware distribution tree in the file <tt class="FILENAME">bootdisks/README.TXT</tt>.
-However, most people are able to use the <tt class="FILENAME">bare.i</tt> (for IDE
-devices) or <tt class="FILENAME">scsi.s</tt> (for SCSI devices) boot disk image.</p>
-
-<p>See <a href="installation-requirements.html#INSTALLATION-MAKING-THE-DISKS">Section
-3.2.6</a> for instructions on making a disk from an image.</p>
-
-<p>After booting, you will be prompted to insert the root disk. We recommend that you
-just humor the boot disk and play along.</p>
-</div>
-
-<div class="SECT2">
-<h2 class="SECT2"><a id="INSTALLATION-INSTALLATION-METHODS-ROOTDISK"
-name="INSTALLATION-INSTALLATION-METHODS-ROOTDISK">3.2.4 Root Disk</a></h2>
-
-<p>The root disks contain the setup program and a filesystem which is used during
-installation. They are also required. The root disk images are located in the directory
-rootdisks in the distribution tree. You'll have to make two root disks from the <tt
-class="FILENAME">install.1</tt> and <tt class="FILENAME">install.2</tt> images. Here you
-can also find the <tt class="FILENAME">network.dsk</tt>, <tt
-class="FILENAME">pcmcia.dsk</tt>, <tt class="FILENAME">rescue.dsk</tt>, and <tt
-class="FILENAME">sbootmgr.dsk</tt> disks.</p>
-</div>
-
-<div class="SECT2">
-<h2 class="SECT2"><a id="INSTALLATION-SUPPLEMENTAL-DISK"
-name="INSTALLATION-SUPPLEMENTAL-DISK">3.2.5 Supplemental Disk</a></h2>
-
-<p>A supplemental disk is needed if you are performing an NFS install or installing to a
-system with PCMCIA devices. Supplemental disks are in the rootdsks directory in the
-distribution tree, with the filenames <tt class="FILENAME">network.dsk</tt> and <tt
-class="FILENAME">pcmcia.dsk</tt>. Recently other supplemental disks such as <tt
-class="FILENAME">rescue.dsk</tt> and <tt class="FILENAME">sbootmgr.dsk</tt> have been
-added. The rescue disk is a small floppy root image that runs in a 4MB RAM drive. It
-includes some basic networking utilities and the vi editor for quick fixes on busted
-machines. The <tt class="FILENAME">sbootmgr.dsk</tt> disk is used to boot other devices.
-Boot off this disk if your bootable CD-ROM drive doesn't want to boot the Slackware CDs.
-It will prompt you for different things to boot and may offer a convenient way to work
-around a buggy BIOS.</p>
-
-<p>The root disk will instruct you on the use of supplemental disks when it is
-loaded.</p>
-</div>
-
-<div class="SECT2">
-<h2 class="SECT2"><a id="INSTALLATION-MAKING-THE-DISKS"
-name="INSTALLATION-MAKING-THE-DISKS">3.2.6 Making the Disks</a></h2>
-
-<p>Once you've selected a boot disk image, you need to put it on a floppy. The process is
-slightly different depending on which operating system you're using to make the disks. If
-you're running Linux (or pretty much any Unix-like OS) you'll need to use the <tt
-class="COMMAND">dd</tt>(1) command. Assuming <tt class="FILENAME">bare.i</tt> is your
-disk image file and your floppy drive is <tt class="FILENAME">/dev/fd0</tt>, the command
-to make a <tt class="FILENAME">bare.i</tt> floppy is:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">%</samp> <kbd class="USERINPUT">dd if=bare.i of=/dev/fd0</kbd>
-</pre>
-</td>
-</tr>
-</table>
-
-<p>If you're running a Microsoft OS, you'll need to use the <tt
-class="FILENAME">RAWRITE.EXE</tt> program, which is included in the distribution tree in
-the same directories as the floppy images. Again assuming that <tt
-class="FILENAME">bare.i</tt> is your disk image file and your floppy drive is <tt
-class="FILENAME">A:</tt>, open a DOS prompt and type the following:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-C:\ <kbd class="USERINPUT">rawrite a: bare.i</kbd>
-</pre>
-</td>
-</tr>
-</table>
-</div>
-</div>
-
-<div class="NAVFOOTER">
-<hr align="LEFT" width="100%" />
-<table summary="Footer navigation table" width="100%" border="0" cellpadding="0"
-cellspacing="0">
-<tr>
-<td width="33%" align="left" valign="top"><a href="installation.html"
-accesskey="P">Prev</a></td>
-<td width="34%" align="center" valign="top"><a href="index.html"
-accesskey="H">Home</a></td>
-<td width="33%" align="right" valign="top"><a href="installation-partitioning.html"
-accesskey="N">Next</a></td>
-</tr>
-
-<tr>
-<td width="33%" align="left" valign="top">Installation</td>
-<td width="34%" align="center" valign="top"><a href="installation.html"
-accesskey="U">Up</a></td>
-<td width="33%" align="right" valign="top">Partitioning</td>
-</tr>
-</table>
-</div>
-</body>
-</html>
-
diff --git a/slackbook/html/installation-setup.html b/slackbook/html/installation-setup.html
deleted file mode 100644
index 68b06ce1..00000000
--- a/slackbook/html/installation-setup.html
+++ /dev/null
@@ -1,387 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta name="generator" content="HTML Tidy, see www.w3.org" />
-<title>The setup Program</title>
-<meta name="GENERATOR" content="Modular DocBook HTML Stylesheet Version 1.7" />
-<link rel="HOME" title="Slackware Linux Essentials" href="index.html" />
-<link rel="UP" title="Installation" href="installation.html" />
-<link rel="PREVIOUS" title="Partitioning" href="installation-partitioning.html" />
-<link rel="NEXT" title="System Configuration" href="system-configuration.html" />
-<link rel="STYLESHEET" type="text/css" href="docbook.css" />
-<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
-</head>
-<body class="SECT1" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#840084"
-alink="#0000FF">
-<div class="NAVHEADER">
-<table summary="Header navigation table" width="100%" border="0" cellpadding="0"
-cellspacing="0">
-<tr>
-<th colspan="3" align="center">Slackware Linux Essentials</th>
-</tr>
-
-<tr>
-<td width="10%" align="left" valign="bottom"><a href="installation-partitioning.html"
-accesskey="P">Prev</a></td>
-<td width="80%" align="center" valign="bottom">Chapter 3 Installation</td>
-<td width="10%" align="right" valign="bottom"><a href="system-configuration.html"
-accesskey="N">Next</a></td>
-</tr>
-</table>
-
-<hr align="LEFT" width="100%" />
-</div>
-
-<div class="SECT1">
-<h1 class="SECT1"><a id="INSTALLATION-SETUP" name="INSTALLATION-SETUP">3.4 The <tt
-class="COMMAND">setup</tt> Program</a></h1>
-
-<p>Once you have created your partitions, you are ready to install Slackware. The next
-step in the installation process is running the <tt class="COMMAND">setup</tt>(8)
-program. To do so, simply type <tt class="COMMAND">setup</tt> at the shell prompt. <tt
-class="COMMAND">setup</tt> is a menu-driven system for actually installing the Slackware
-packages and configuring your system.</p>
-
-<div class="INFORMALFIGURE"><a id="AEN981" name="AEN981"></a>
-<p><img src="installation/setup-program-w.png" /></p>
-</div>
-
-<p>The setup process goes something like this: You step through each option in the <tt
-class="COMMAND">setup</tt> program, in the order they are listed. (Of course, you are
-free to do things in almost any order you choose, but chances are it isn't going to work
-out very well.) Menu items are selected using the up and down arrow keys, and the
-&#8220;Okay&#8221; and &#8220;Cancel&#8221; buttons can be chosen by using the left and
-right arrow keys. Alternatively, each option has a corresponding key, which is
-highlighted in the option name. Options which are flaggable (those indicated with a <var
-class="LITERAL">[X]</var>) are toggled using the spacebar.</p>
-
-<p>Of course, all of that is described in the &#8220;help&#8221; section of <tt
-class="COMMAND">setup</tt>, but we believe in giving our readers their money's worth.</p>
-
-<div class="SECT2">
-<h2 class="SECT2"><a id="AEN993" name="AEN993">3.4.1 HELP</a></h2>
-
-<p>If this is your first time installing Slackware, you might want to take a look at the
-help screen. It will give a description of each part of <tt class="COMMAND">setup</tt>
-(much like the one we're writing now, but less involved) and instructions for navigating
-the rest of the install.</p>
-
-<div class="INFORMALFIGURE"><a id="AEN997" name="AEN997"></a>
-<p><img src="installation/setup-help-w.png" /></p>
-</div>
-</div>
-
-<div class="SECT2">
-<h2 class="SECT2"><a id="AEN1001" name="AEN1001">3.4.2 KEYMAP</a></h2>
-
-<p>If you require a keymap other than the United States &#8220;qwerty&#8221; layout, you
-may want to take a look at this section. It offers a number of alternate layouts for your
-keyboarding enjoyment.</p>
-
-<div class="INFORMALFIGURE"><a id="AEN1009" name="AEN1009"></a>
-<p><img src="installation/setup-keymap-w.png" /></p>
-</div>
-</div>
-
-<div class="SECT2">
-<h2 class="SECT2"><a id="AEN1013" name="AEN1013">3.4.3 ADDSWAP</a></h2>
-
-<div class="INFORMALFIGURE"><a id="AEN1015" name="AEN1015"></a>
-<p><img src="installation/setup-swap-w.png" /></p>
-</div>
-
-<p>If you created a swap partition (back in <a
-href="installation-partitioning.html">Section 3.3</a>), this section will allow you to
-enable it. It will autodetect and display the swap partitions on your hard drive,
-allowing you to select one to format and enable.</p>
-</div>
-
-<div class="SECT2">
-<h2 class="SECT2"><a id="AEN1023" name="AEN1023">3.4.4 TARGET</a></h2>
-
-<div class="INFORMALFIGURE"><a id="AEN1025" name="AEN1025"></a>
-<p><img src="installation/setup-target-w.png" /></p>
-</div>
-
-<p>The target section is where your other (non-swap) partitions are formatted and mapped
-to filesystem mount points. A list of the partitions on your hard disk will be displayed.
-For each partition, you will be given the option of whether to format that partition or
-not. Depending on the kernel used, you can choose between reiserfs (the default), ext3,
-ext2, jfs, and xfs. Most people use either reiserfs or ext3. In the near future we may
-see support for reiserfs4 slip in.</p>
-
-<p>The first option in the target section is the selection of a partition on which to
-install your root (<tt class="FILENAME">/</tt>) filesystem. After that, you will be able
-to map other partitions to filesystems as you choose. (For instance, you may want your
-third partition, say <tt class="FILENAME">/dev/hda3</tt>, to be your home filesystem.
-This is just an example; map the partitions as you see fit.)</p>
-</div>
-
-<div class="SECT2">
-<h2 class="SECT2"><a id="AEN1035" name="AEN1035">3.4.5 SOURCE</a></h2>
-
-<p>The source section is where you select the source media from which you are installing
-Slackware. Currently there are four sources to choose from. These are CD-ROM, NFS, or a
-premounted directory.</p>
-
-<div class="INFORMALFIGURE"><a id="AEN1038" name="AEN1038"></a>
-<p><img src="installation/setup-source-w.png" /></p>
-</div>
-
-<p>The CD-ROM selection enables a CD-ROM based installation. It will offer the option of
-scanning for a CD-ROM drive or displaying a list from which you can pick your drive type.
-Make sure you have the Slackware CD in your drive before allowing it to scan.</p>
-
-<p>The NFS selection prompts for your network information and the network information for
-your NFS server. The NFS server must be set up in advance. Also note that you cannot use
-hostnames, you must use the IP addresses for both your machine and the NFS server (there
-is no name resolver on the setup disk). Naturally you must have used the <tt
-class="FILENAME">network.dsk</tt> floppy to add support for your network controller.</p>
-
-<p>The premounted directory offers the most flexibility. You can use this method to
-install from things such as Jaz disks, NFS mounts over PLIP, and FAT filesystems. Mount
-the filesystem to a location of your choosing before running setup, then specify that
-location here.</p>
-</div>
-
-<div class="SECT2">
-<h2 class="SECT2"><a id="AEN1054" name="AEN1054">3.4.6 SELECT</a></h2>
-
-<p>The select option allows you to select the software series that you wish to install.
-These series are described in <a
-href="installation-requirements.html#INSTALLATION-SOFTWARE-SERIES">Section 3.2.1</a>.
-Please note that you must install the A series to have a working base system. All other
-series are optional.</p>
-
-<div class="INFORMALFIGURE"><a id="AEN1058" name="AEN1058"></a>
-<p><img src="installation/setup-select-w.png" /></p>
-</div>
-</div>
-
-<div class="SECT2">
-<h2 class="SECT2"><a id="AEN1062" name="AEN1062">3.4.7 INSTALL</a></h2>
-
-<p>Assuming that you have gone through the &#8220;target&#8221;, &#8220;source&#8221;,
-and &#8220;select&#8221; options, the <var class="OPTION">install</var> option will allow
-you to select packages from your chosen software series. If not, it will prompt you to go
-back and complete the other sections of the setup program. This option allows you to
-select from six different installation methods: <var class="OPTION">full</var>, <var
-class="OPTION">newbie</var>, <var class="OPTION">menu</var>, <var
-class="OPTION">expert</var>, <var class="OPTION">custom</var>, and <var
-class="OPTION">tag path</var>.</p>
-
-<div class="INFORMALFIGURE"><a id="AEN1077" name="AEN1077"></a>
-<p><img src="installation/setup-install-w.png" /></p>
-</div>
-
-<p>The <var class="OPTION">full</var> option will install every package from all the
-software series that you chose in the &#8220;select&#8221; section. There is no further
-prompting. This is the easiest installation method, since you do not need to make any
-decisions on the actual packages to install. Of course, this option also takes up the
-most hard drive space.</p>
-
-<p>The next option is <var class="OPTION">newbie</var>. This option installs all of the
-required packages in the selected series. For all other packages, it offers a prompt
-where you can select &#8220;Yes&#8221;, &#8220;No&#8221;, or &#8220;Skip&#8221;. Yes and
-No do the obvious, while Skip will go ahead to the next software series. Additionally,
-you will see a description and size requirement for each package to help you decide if
-you need it. We recommend this option for new users, as it ensures that you get all the
-required packages installed. However, it is a little slow because of the prompting.</p>
-
-<p><var class="OPTION">Menu</var> is a faster and more advanced version of the newbie
-option. For each series, a menu is displayed, from which you can select all the
-non-required packages you want to install. Required packages are not displayed on this
-menu.</p>
-
-<p>For the more advanced user, install offers the <var class="OPTION">expert</var>
-option. This allows you complete control over what packages get installed. You can
-deselect packages that are absolutely required, resulting in a broken system. On the
-other hand, you can control exactly what goes onto your system. Simply select the
-packages from each series that you want installed. This is not recommended for the new
-user, as it is quite easy to shoot yourself in the foot.</p>
-
-<p>The <var class="OPTION">custom</var> and <var class="OPTION">tag path</var> options
-are also for advanced users. These options allow you to install based upon custom tag
-files that you created in the distribution tree. This is useful for installing to large
-numbers of machines fairly quickly. For more information on using tag files, see <a
-href="package-management-making-tags-and-tagfiles.html">Section 18.4</a>.</p>
-
-<p>After selecting your installation method, one of a few things will happen. If you
-selected full or menu, a menu screen will appear, allowing you to select the packages to
-be installed. If you selected full, packages will immediately start getting installed to
-the target. If you selected newbie, packages will be installed until an optional package
-is reached.</p>
-
-<p>Note that it is possible to run out of space while installing. If you selected too
-many packages for the amount of free space on the target device, you will have problems.
-The safest thing to do is to select some software and add more later, if you need it.
-This can easily be done using Slackware's package management tools. For this information,
-see <a href="package-management.html">Chapter 18</a>.</p>
-</div>
-
-<div class="SECT2">
-<h2 class="SECT2"><a id="AEN1100" name="AEN1100">3.4.8 CONFIGURE</a></h2>
-
-<p>The configure section allows you to do some basic system configuration, now that the
-packages have been installed. What you see here depends in large part upon which software
-you have installed. You will, however, always see the following:</p>
-
-<div class="SECT3">
-<h3 class="SECT3"><a id="AEN1103" name="AEN1103">3.4.8.1 Kernel selection</a></h3>
-
-<p>Here you will be asked to select a kernel to install. You can install the kernel from
-the boot disk you used to install, the Slackware CD-ROM, or from another floppy which you
-(always thinking ahead) have prepared. Or you can elect to skip, in which case the
-default kernel will be installed and play will continue to the dealer's left.</p>
-
-<div class="INFORMALFIGURE"><a id="AEN1106" name="AEN1106"></a>
-<p><img src="installation/setup-kernel-w.png" /></p>
-</div>
-</div>
-
-<div class="SECT3">
-<h3 class="SECT3"><a id="AEN1110" name="AEN1110">3.4.8.2 Make a boot disk</a></h3>
-
-<p>Making a boot disk for future use is probably a good idea. You will have the option of
-formatting a floppy and then creating one of two types of boot disk. The first type, <var
-class="OPTION">simple</var>, simply (go figure) writes a kernel to the floppy. A more
-flexible (and highly recommended) option is <var class="OPTION">lilo</var>, which will of
-course create a lilo boot disk. See LILO in <a href="booting.html#BOOTING-LILO">Section
-7.1</a> for more information. Of course, you may also choose to simply <var
-class="LITERAL">continue</var>, in which case no boot disk will be made.</p>
-
-<div class="INFORMALFIGURE"><a id="AEN1119" name="AEN1119"></a>
-<p><img src="installation/setup-bootdisk-w.png" /></p>
-</div>
-</div>
-
-<div class="SECT3">
-<h3 class="SECT3"><a id="AEN1123" name="AEN1123">3.4.8.3 Modem</a></h3>
-
-<p>You will be prompted for modem information. More specifically, you will be asked
-whether you have a modem, and if so, what serial port it is on.</p>
-
-<div class="INFORMALFIGURE"><a id="AEN1128" name="AEN1128"></a>
-<p><img src="installation/setup-modem-w.png" /></p>
-</div>
-
-<p>These next configuration subsections may or may not appear, depending on whether or
-not you installed their corresponding packages.</p>
-</div>
-
-<div class="SECT3">
-<h3 class="SECT3"><a id="AEN1133" name="AEN1133">3.4.8.4 Timezone</a></h3>
-
-<p>This one's pretty straightforward: you will be asked what time zone you are in. If you
-operate on Zulu time, we are very sorry; the (extremely long) list is alphabetically
-ordered, and you're at the bottom.</p>
-
-<div class="INFORMALFIGURE"><a id="AEN1138" name="AEN1138"></a>
-<p><img src="installation/setup-timezone-w.png" /></p>
-</div>
-</div>
-
-<div class="SECT3">
-<h3 class="SECT3"><a id="AEN1142" name="AEN1142">3.4.8.5 Mouse</a></h3>
-
-<p>This subsection simply asks what kind of mouse you have, and whether you want <tt
-class="COMMAND">gpm</tt>(8) console mouse support enabled on bootup.</p>
-
-<div class="INFORMALFIGURE"><a id="AEN1148" name="AEN1148"></a>
-<p><img src="installation/setup-mouse-w.png" /></p>
-</div>
-</div>
-
-<div class="SECT3">
-<h3 class="SECT3"><a id="AEN1152" name="AEN1152">3.4.8.6 Hardware clock</a></h3>
-
-<p>This subsection asks if your computer's hardware clock is set to Coordinated Universal
-Time (UTC or GMT). Most PCs are not, so you should probably say no.</p>
-
-<div class="INFORMALFIGURE"><a id="AEN1155" name="AEN1155"></a>
-<p><img src="installation/setup-hardware-clock-w.png" /></p>
-</div>
-</div>
-
-<div class="SECT3">
-<h3 class="SECT3"><a id="AEN1159" name="AEN1159">3.4.8.7 Font</a></h3>
-
-<p>The font subsection allows you to choose from a list of custom console fonts.</p>
-
-<div class="INFORMALFIGURE"><a id="AEN1164" name="AEN1164"></a>
-<p><img src="installation/setup-font-w.png" /></p>
-</div>
-</div>
-
-<div class="SECT3">
-<h3 class="SECT3"><a id="AEN1168" name="AEN1168">3.4.8.8 LILO</a></h3>
-
-<p>Here you are prompted for installation of LILO (the LInux LOader; see <a
-href="booting.html#BOOTING-LILO">Section 7.1</a> for more information).</p>
-
-<div class="INFORMALFIGURE"><a id="AEN1174" name="AEN1174"></a>
-<p><img src="installation/setup-lilo-w.png" /></p>
-</div>
-
-<p>If Slackware is to be the only operating system on your computer, <var
-class="OPTION">simple</var> should work just fine for you. If you are dual-booting, the
-<var class="OPTION">expert</var> option is a better choice. See <a
-href="booting-dual.html">Section 7.3</a> for more information on dual-booting. The third
-option, <var class="OPTION">do not install</var>, is not recommended unless you know what
-you're doing and have a very good reason for not installing LILO. If you are performing
-an expert install, you will be given a choice as to where LILO will be put. You may place
-LILO in the MBR (Master Boot Record) of your hard drive, in the superblock of your root
-Linux partition, or on a floppy disk.</p>
-</div>
-
-<div class="SECT3">
-<h3 class="SECT3"><a id="AEN1183" name="AEN1183">3.4.8.9 Network</a></h3>
-
-<p>The network configuration subsection is actually <tt class="COMMAND">netconfig</tt>.
-See <a href="network-configuration.html#NETWORK-CONFIGURATION-NETCONFIG">Section 5.1</a>
-for more information.</p>
-</div>
-
-<div class="SECT3">
-<h3 class="SECT3"><a id="AEN1190" name="AEN1190">3.4.8.10 X Window Manager</a></h3>
-
-<p>This subsection will allow you to choose a default window manager for X. See <a
-href="x-window-system.html">Chapter 6</a> for more details on X and window managers.</p>
-
-<div class="INFORMALFIGURE"><a id="AEN1198" name="AEN1198"></a>
-<p><img src="installation/setup-xwmconfig-w.png" /></p>
-</div>
-
-<p>No matter which packages you installed, the last thing configure will do is ask you
-whether you want to go ahead and set a <tt class="USERNAME">root</tt> password. For
-security reasons, this is probably a good idea; however, like almost everything else in
-Slackware, this is your call.</p>
-</div>
-</div>
-</div>
-
-<div class="NAVFOOTER">
-<hr align="LEFT" width="100%" />
-<table summary="Footer navigation table" width="100%" border="0" cellpadding="0"
-cellspacing="0">
-<tr>
-<td width="33%" align="left" valign="top"><a href="installation-partitioning.html"
-accesskey="P">Prev</a></td>
-<td width="34%" align="center" valign="top"><a href="index.html"
-accesskey="H">Home</a></td>
-<td width="33%" align="right" valign="top"><a href="system-configuration.html"
-accesskey="N">Next</a></td>
-</tr>
-
-<tr>
-<td width="33%" align="left" valign="top">Partitioning</td>
-<td width="34%" align="center" valign="top"><a href="installation.html"
-accesskey="U">Up</a></td>
-<td width="33%" align="right" valign="top">System Configuration</td>
-</tr>
-</table>
-</div>
-</body>
-</html>
-
diff --git a/slackbook/html/installation.html b/slackbook/html/installation.html
deleted file mode 100644
index c2d1140e..00000000
--- a/slackbook/html/installation.html
+++ /dev/null
@@ -1,176 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta name="generator" content="HTML Tidy, see www.w3.org" />
-<title>Installation</title>
-<meta name="GENERATOR" content="Modular DocBook HTML Stylesheet Version 1.7" />
-<link rel="HOME" title="Slackware Linux Essentials" href="index.html" />
-<link rel="PREVIOUS" title="Online Help" href="help-online.html" />
-<link rel="NEXT" title="System Requirements" href="installation-requirements.html" />
-<link rel="STYLESHEET" type="text/css" href="docbook.css" />
-<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
-</head>
-<body class="CHAPTER" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#840084"
-alink="#0000FF">
-<div class="NAVHEADER">
-<table summary="Header navigation table" width="100%" border="0" cellpadding="0"
-cellspacing="0">
-<tr>
-<th colspan="3" align="center">Slackware Linux Essentials</th>
-</tr>
-
-<tr>
-<td width="10%" align="left" valign="bottom"><a href="help-online.html"
-accesskey="P">Prev</a></td>
-<td width="80%" align="center" valign="bottom"></td>
-<td width="10%" align="right" valign="bottom"><a href="installation-requirements.html"
-accesskey="N">Next</a></td>
-</tr>
-</table>
-
-<hr align="LEFT" width="100%" />
-</div>
-
-<div class="CHAPTER">
-<h1><a id="INSTALLATION" name="INSTALLATION"></a>Chapter 3 Installation</h1>
-
-<div class="TOC">
-<dl>
-<dt><b>Table of Contents</b></dt>
-
-<dt>3.1 <a href="installation.html#INSTALLATION-GETTING">Getting Slackware</a></dt>
-
-<dt>3.2 <a href="installation-requirements.html">System Requirements</a></dt>
-
-<dt>3.3 <a href="installation-partitioning.html">Partitioning</a></dt>
-
-<dt>3.4 <a href="installation-setup.html">The <tt class="COMMAND">setup</tt>
-Program</a></dt>
-</dl>
-</div>
-
-<p>Before you can use Slackware Linux, you'll have to obtain and install it. Getting
-Slackware is as easy as purchasing it or downloading it for free over the Internet.
-Installing it is also easy as long as you have some basic knowledge about your computer
-and are willing to learn a few other things. The installation program itself is very much
-a step-by-step process. Because of this, you can be up and running very quickly. In fact,
-Slackware boasts one of the lowest installation times of any full-featured Linux
-distribution.</p>
-
-<div class="SECT1">
-<h1 class="SECT1"><a id="INSTALLATION-GETTING" name="INSTALLATION-GETTING">3.1 Getting
-Slackware</a></h1>
-
-<div class="SECT2">
-<h2 class="SECT2"><a id="AEN641" name="AEN641">3.1.1 The Official Disc and Box
-Sets</a></h2>
-
-<p>The official Slackware Linux CD set is available from Slackware Linux, Inc. The CD set
-consists of 4 discs. The first disk contains all the software needed for a basic server
-install, and the X window system. The second cd is a &#8220;live&#8221; cd; that is, a
-bootable cd that installs into RAM and gives you a temporary installation to play around
-with or do a data or machine rescue. This cd also contains a few packages such as the KDE
-and GNOME desktop environments. A few other goodies are included on the second cd
-including many non-vital packages in the &#8220;extra&#8221; folder. The third and fourth
-CDs contain the source code to all of Slackware, along with the original edition of this
-book.</p>
-
-<p>One may also purchase a boxed set that includes the 4 discs and a copy of this book,
-as well as lots of neat Slackware gear to show off your geek pride. CD subscriptions are
-available at a reduced rate also.</p>
-
-<p>The preferred method for shopping for Slackware merchandise is online at the Slackware
-store.</p>
-
-<p><a href="http://store.slackware.com" target="_top">http://store.slackware.com</a></p>
-
-<p>You can also call or e-mail your order in.</p>
-
-<div class="TABLE"><a id="AEN661" name="AEN661"></a>
-<p><b>Table 3-1. Slackware Linux, Inc. Contact Information</b></p>
-
-<table border="0" frame="void" class="CALSTABLE">
-<col width="1*" />
-<col width="2*" />
-<thead>
-<tr>
-<th>Method</th>
-<th>Contact Details</th>
-</tr>
-</thead>
-
-<tbody>
-<tr>
-<td>Telephone</td>
-<td>1-(925) 674-0783</td>
-</tr>
-
-<tr>
-<td>Website</td>
-<td>http://store.slackware.com</td>
-</tr>
-
-<tr>
-<td>Email</td>
-<td>orders@slackware.com</td>
-</tr>
-
-<tr>
-<td>Postal</td>
-<td>1164 Claremont Drive, Brentwood, CA 94513</td>
-</tr>
-</tbody>
-</table>
-</div>
-</div>
-
-<div class="SECT2">
-<h2 class="SECT2"><a id="AEN683" name="AEN683">3.1.2 Via the Internet</a></h2>
-
-<p>Slackware Linux is also freely available over the Internet. You may email in your
-support questions, but higher priority will be given to those who have purchased the
-official CD set. With that said, we get a lot of e-mails and our time is rather limited.
-Before e-mailing for support consider reading <a href="help.html">Chapter 2</a>
-first.</p>
-
-<p>The official Slackware Linux Project website is located at:</p>
-
-<p><a href="http://www.slackware.com/" target="_top">http://www.slackware.com/</a></p>
-
-<p>The primary FTP location for Slackware Linux is:</p>
-
-<p><a href="ftp://ftp.slackware.com/pub/slackware/"
-target="_top">ftp://ftp.slackware.com/pub/slackware/</a></p>
-
-<p>Bear in mind that our ftp site, while open for general use, does not have unlimited
-bandwidth. Please consider using a mirror near you to download Slackware. An incomplete
-list of mirrors can be found on our site at <a href="http://www.slackware.com/getslack"
-target="_top">http://www.slackware.com/getslack</a>.</p>
-</div>
-</div>
-</div>
-
-<div class="NAVFOOTER">
-<hr align="LEFT" width="100%" />
-<table summary="Footer navigation table" width="100%" border="0" cellpadding="0"
-cellspacing="0">
-<tr>
-<td width="33%" align="left" valign="top"><a href="help-online.html"
-accesskey="P">Prev</a></td>
-<td width="34%" align="center" valign="top"><a href="index.html"
-accesskey="H">Home</a></td>
-<td width="33%" align="right" valign="top"><a href="installation-requirements.html"
-accesskey="N">Next</a></td>
-</tr>
-
-<tr>
-<td width="33%" align="left" valign="top">Online Help</td>
-<td width="34%" align="center" valign="top">&nbsp;</td>
-<td width="33%" align="right" valign="top">System Requirements</td>
-</tr>
-</table>
-</div>
-</body>
-</html>
-
diff --git a/slackbook/html/installation/setup-bootdisk-w.png b/slackbook/html/installation/setup-bootdisk-w.png
deleted file mode 100644
index 55eb7b2a..00000000
--- a/slackbook/html/installation/setup-bootdisk-w.png
+++ /dev/null
Binary files differ
diff --git a/slackbook/html/installation/setup-font-w.png b/slackbook/html/installation/setup-font-w.png
deleted file mode 100644
index c1876966..00000000
--- a/slackbook/html/installation/setup-font-w.png
+++ /dev/null
Binary files differ
diff --git a/slackbook/html/installation/setup-hardware-clock-w.png b/slackbook/html/installation/setup-hardware-clock-w.png
deleted file mode 100644
index 784975da..00000000
--- a/slackbook/html/installation/setup-hardware-clock-w.png
+++ /dev/null
Binary files differ
diff --git a/slackbook/html/installation/setup-help-w.png b/slackbook/html/installation/setup-help-w.png
deleted file mode 100644
index 21958005..00000000
--- a/slackbook/html/installation/setup-help-w.png
+++ /dev/null
Binary files differ
diff --git a/slackbook/html/installation/setup-install-w.png b/slackbook/html/installation/setup-install-w.png
deleted file mode 100644
index 7ca52698..00000000
--- a/slackbook/html/installation/setup-install-w.png
+++ /dev/null
Binary files differ
diff --git a/slackbook/html/installation/setup-kernel-w.png b/slackbook/html/installation/setup-kernel-w.png
deleted file mode 100644
index 206c3d76..00000000
--- a/slackbook/html/installation/setup-kernel-w.png
+++ /dev/null
Binary files differ
diff --git a/slackbook/html/installation/setup-keymap-w.png b/slackbook/html/installation/setup-keymap-w.png
deleted file mode 100644
index ab7dd6f4..00000000
--- a/slackbook/html/installation/setup-keymap-w.png
+++ /dev/null
Binary files differ
diff --git a/slackbook/html/installation/setup-lilo-w.png b/slackbook/html/installation/setup-lilo-w.png
deleted file mode 100644
index 638a29ff..00000000
--- a/slackbook/html/installation/setup-lilo-w.png
+++ /dev/null
Binary files differ
diff --git a/slackbook/html/installation/setup-modem-w.png b/slackbook/html/installation/setup-modem-w.png
deleted file mode 100644
index e1c8877e..00000000
--- a/slackbook/html/installation/setup-modem-w.png
+++ /dev/null
Binary files differ
diff --git a/slackbook/html/installation/setup-mouse-w.png b/slackbook/html/installation/setup-mouse-w.png
deleted file mode 100644
index 31ee6b35..00000000
--- a/slackbook/html/installation/setup-mouse-w.png
+++ /dev/null
Binary files differ
diff --git a/slackbook/html/installation/setup-program-w.png b/slackbook/html/installation/setup-program-w.png
deleted file mode 100644
index 721ed058..00000000
--- a/slackbook/html/installation/setup-program-w.png
+++ /dev/null
Binary files differ
diff --git a/slackbook/html/installation/setup-select-w.png b/slackbook/html/installation/setup-select-w.png
deleted file mode 100644
index d2f7a144..00000000
--- a/slackbook/html/installation/setup-select-w.png
+++ /dev/null
Binary files differ
diff --git a/slackbook/html/installation/setup-source-w.png b/slackbook/html/installation/setup-source-w.png
deleted file mode 100644
index 226ef5b6..00000000
--- a/slackbook/html/installation/setup-source-w.png
+++ /dev/null
Binary files differ
diff --git a/slackbook/html/installation/setup-swap-w.png b/slackbook/html/installation/setup-swap-w.png
deleted file mode 100644
index f17ba4f3..00000000
--- a/slackbook/html/installation/setup-swap-w.png
+++ /dev/null
Binary files differ
diff --git a/slackbook/html/installation/setup-target-w.png b/slackbook/html/installation/setup-target-w.png
deleted file mode 100644
index 142cf8bc..00000000
--- a/slackbook/html/installation/setup-target-w.png
+++ /dev/null
Binary files differ
diff --git a/slackbook/html/installation/setup-timezone-w.png b/slackbook/html/installation/setup-timezone-w.png
deleted file mode 100644
index b51500b8..00000000
--- a/slackbook/html/installation/setup-timezone-w.png
+++ /dev/null
Binary files differ
diff --git a/slackbook/html/installation/setup-xwmconfig-w.png b/slackbook/html/installation/setup-xwmconfig-w.png
deleted file mode 100644
index 91c8cc01..00000000
--- a/slackbook/html/installation/setup-xwmconfig-w.png
+++ /dev/null
Binary files differ
diff --git a/slackbook/html/introduction-opensource.html b/slackbook/html/introduction-opensource.html
deleted file mode 100644
index eeeda9e5..00000000
--- a/slackbook/html/introduction-opensource.html
+++ /dev/null
@@ -1,126 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta name="generator" content="HTML Tidy, see www.w3.org" />
-<title>Open Source and Free Software</title>
-<meta name="GENERATOR" content="Modular DocBook HTML Stylesheet Version 1.7" />
-<link rel="HOME" title="Slackware Linux Essentials" href="index.html" />
-<link rel="UP" title="An Introduction to Slackware Linux" href="introduction.html" />
-<link rel="PREVIOUS" title="What is Slackware?" href="introduction-slackware.html" />
-<link rel="NEXT" title="Help" href="help.html" />
-<link rel="STYLESHEET" type="text/css" href="docbook.css" />
-<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
-</head>
-<body class="SECT1" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#840084"
-alink="#0000FF">
-<div class="NAVHEADER">
-<table summary="Header navigation table" width="100%" border="0" cellpadding="0"
-cellspacing="0">
-<tr>
-<th colspan="3" align="center">Slackware Linux Essentials</th>
-</tr>
-
-<tr>
-<td width="10%" align="left" valign="bottom"><a href="introduction-slackware.html"
-accesskey="P">Prev</a></td>
-<td width="80%" align="center" valign="bottom">Chapter 1 An Introduction to Slackware
-Linux</td>
-<td width="10%" align="right" valign="bottom"><a href="help.html"
-accesskey="N">Next</a></td>
-</tr>
-</table>
-
-<hr align="LEFT" width="100%" />
-</div>
-
-<div class="SECT1">
-<h1 class="SECT1"><a id="INTRODUCTION-OPENSOURCE" name="INTRODUCTION-OPENSOURCE">1.3 Open
-Source and Free Software</a></h1>
-
-<p>Within the Linux community, there are two major ideological movements at work. The
-Free Software movement (which we'll get into in a moment) is working toward the goal of
-making all software free of intellectual property restrictions. Followers of this
-movement believe these restrictions hamper technical improvement and work against the
-good of the community. The Open Source movement is working toward most of the same goals,
-but takes a more pragmatic approach to them. Followers of this movement prefer to base
-their arguments on the economic and technical merits of making source code freely
-available, rather than the moral and ethical principles that drive the Free Software
-Movement.</p>
-
-<p>At the other end of the spectrum are groups that wish to maintain tighter controls
-over their software.</p>
-
-<p>The Free Software movement is headed by the Free Software Foundation, a fund-raising
-organization for the GNU project. Free software is more of an ideology. The oft-used
-expression is &#8220;free as in speech, not free as in beer&#8221;. In essence, free
-software is an attempt to guarantee certain rights for both users and developers. These
-freedoms include the freedom to run the program for any reason, to study and modify the
-source code, to redistribute the source, and to share any modifications you make. In
-order to guarantee these freedoms, the GNU General Public License (GPL) was created. The
-GPL, in brief, provides that anyone distributing a compiled program which is licensed
-under the GPL must also provide source code, and is free to make modifications to the
-program as long as those modifications are also made available in source code form. This
-guarantees that once a program is &#8220;opened&#8221; to the community, it cannot be
-&#8220;closed&#8221; except by consent of every author of every piece of code (even the
-modifications) within it. Most Linux programs are licensed under the GPL.</p>
-
-<p>It is important to note that the GPL does not say anything about price. As odd as it
-may sound, you can charge for free software. The &#8220;free&#8221; part is in the
-liberties you have with the source code, not in the price you pay for the software.
-(However, once someone has sold you, or even given you, a compiled program licensed under
-the GPL they are obligated to provide its source code as well.)</p>
-
-<p>Another popular license is the BSD license. In contrast to the GPL, the BSD license
-gives no requirement for the release of a program's source code. Software released under
-the BSD license allows redistribution in source or binary form provided only a few
-conditions are met. The author's credentials cannot be used as a sort of advertisement
-for the program. It also indemnifies the author from liability for damages that may arise
-from the use of the software. Much of the software included in Slackware Linux is BSD
-licensed.</p>
-
-<p>At the forefront of the younger Open Source movement, the Open Source Initiative is an
-organization that solely exists to gain support for open source software, that is,
-software that has the source code available as well as the ready-to-run program. They do
-not offer a specific license, but instead they support the various types of open source
-licenses available.</p>
-
-<p>The idea behind the OSI is to get more companies behind open source by allowing them
-to write their own open source licenses and have those licenses certified by the Open
-Source Initiative. Many companies want to release source code, but do not want to use the
-GPL. Since they cannot radically change the GPL, they are offered the opportunity to
-provide their own license and have it certified by this organization.</p>
-
-<p>While the Free Software Foundation and the Open Source Initiative work to help each
-other, they are not the same thing. The Free Software Foundation uses a specific license
-and provides software under that license. The Open Source Initiative seeks support for
-all open source licenses, including the one from the Free Software Foundation. The
-grounds on which each argues for making source code freely available sometimes divides
-the two movements, but the fact that two ideologically diverse groups are working toward
-the same goal lends credence to the efforts of each.</p>
-</div>
-
-<div class="NAVFOOTER">
-<hr align="LEFT" width="100%" />
-<table summary="Footer navigation table" width="100%" border="0" cellpadding="0"
-cellspacing="0">
-<tr>
-<td width="33%" align="left" valign="top"><a href="introduction-slackware.html"
-accesskey="P">Prev</a></td>
-<td width="34%" align="center" valign="top"><a href="index.html"
-accesskey="H">Home</a></td>
-<td width="33%" align="right" valign="top"><a href="help.html"
-accesskey="N">Next</a></td>
-</tr>
-
-<tr>
-<td width="33%" align="left" valign="top">What is Slackware?</td>
-<td width="34%" align="center" valign="top"><a href="introduction.html"
-accesskey="U">Up</a></td>
-<td width="33%" align="right" valign="top">Help</td>
-</tr>
-</table>
-</div>
-</body>
-</html>
-
diff --git a/slackbook/html/introduction-slackware.html b/slackbook/html/introduction-slackware.html
deleted file mode 100644
index c9c7a11a..00000000
--- a/slackbook/html/introduction-slackware.html
+++ /dev/null
@@ -1,93 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta name="generator" content="HTML Tidy, see www.w3.org" />
-<title>What is Slackware?</title>
-<meta name="GENERATOR" content="Modular DocBook HTML Stylesheet Version 1.7" />
-<link rel="HOME" title="Slackware Linux Essentials" href="index.html" />
-<link rel="UP" title="An Introduction to Slackware Linux" href="introduction.html" />
-<link rel="PREVIOUS" title="An Introduction to Slackware Linux"
-href="introduction.html" />
-<link rel="NEXT" title="Open Source and Free Software"
-href="introduction-opensource.html" />
-<link rel="STYLESHEET" type="text/css" href="docbook.css" />
-<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
-</head>
-<body class="SECT1" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#840084"
-alink="#0000FF">
-<div class="NAVHEADER">
-<table summary="Header navigation table" width="100%" border="0" cellpadding="0"
-cellspacing="0">
-<tr>
-<th colspan="3" align="center">Slackware Linux Essentials</th>
-</tr>
-
-<tr>
-<td width="10%" align="left" valign="bottom"><a href="introduction.html"
-accesskey="P">Prev</a></td>
-<td width="80%" align="center" valign="bottom">Chapter 1 An Introduction to Slackware
-Linux</td>
-<td width="10%" align="right" valign="bottom"><a href="introduction-opensource.html"
-accesskey="N">Next</a></td>
-</tr>
-</table>
-
-<hr align="LEFT" width="100%" />
-</div>
-
-<div class="SECT1">
-<h1 class="SECT1"><a id="INTRODUCTION-SLACKWARE" name="INTRODUCTION-SLACKWARE">1.2 What
-is Slackware?</a></h1>
-
-<p>Slackware, started by Patrick Volkerding in late 1992, and initially released to the
-world on July 17, 1993, was the first Linux distribution to achieve widespread use.
-Volkerding first learned of Linux when he needed an inexpensive LISP interpreter for a
-project. One of the few distributions available at the time was SLS Linux from Soft
-Landing Systems. Volkerding used SLS Linux, fixing bugs as he found them. Eventually, he
-decided to merge all of these bugfixes into his own private distribution that he and his
-friends could use. This private distribution quickly gained popularity, so Volkerding
-decided to name it Slackware and make it publicly available. Along the way, Patrick added
-new things to Slackware; a user friendly installation program based on a menuing system,
-as well as the concept of package management, which allows users to easily add, remove,
-or upgrade software packages on their systems.</p>
-
-<p>There are many reasons why Slackware is Linux's oldest living distribution. It does
-not try to emulate Windows, it tries to be as Unix-like as possible. It does not try to
-cover up processes with fancy, point-and-click GUIs (Graphical User Interfaces). Instead,
-it puts users in control by letting them see exactly what's going on. Its development is
-not rushed to meet deadlines-each version comes out when it is ready.</p>
-
-<p>Slackware is for people who enjoy learning and tweaking their system to do exactly
-what they want. Slackware's stability and simplicity are why people will continue to use
-it for years to come. Slackware currently enjoys a reputation as a solid server and a
-no-nonsense workstation. You can find Slackware desktops running nearly any window
-manager or desktop environment, or none at all. Slackware servers power businesses,
-acting in every capacity that a server can be used in. Slackware users are among the most
-satisfied Linux users. Of course, we'd say that. :^)</p>
-</div>
-
-<div class="NAVFOOTER">
-<hr align="LEFT" width="100%" />
-<table summary="Footer navigation table" width="100%" border="0" cellpadding="0"
-cellspacing="0">
-<tr>
-<td width="33%" align="left" valign="top"><a href="introduction.html"
-accesskey="P">Prev</a></td>
-<td width="34%" align="center" valign="top"><a href="index.html"
-accesskey="H">Home</a></td>
-<td width="33%" align="right" valign="top"><a href="introduction-opensource.html"
-accesskey="N">Next</a></td>
-</tr>
-
-<tr>
-<td width="33%" align="left" valign="top">An Introduction to Slackware Linux</td>
-<td width="34%" align="center" valign="top"><a href="introduction.html"
-accesskey="U">Up</a></td>
-<td width="33%" align="right" valign="top">Open Source and Free Software</td>
-</tr>
-</table>
-</div>
-</body>
-</html>
-
diff --git a/slackbook/html/introduction.html b/slackbook/html/introduction.html
deleted file mode 100644
index 70bc4216..00000000
--- a/slackbook/html/introduction.html
+++ /dev/null
@@ -1,122 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta name="generator" content="HTML Tidy, see www.w3.org" />
-<title>An Introduction to Slackware Linux</title>
-<meta name="GENERATOR" content="Modular DocBook HTML Stylesheet Version 1.7" />
-<link rel="HOME" title="Slackware Linux Essentials" href="index.html" />
-<link rel="PREVIOUS" title="Preface" href="book-preface.html" />
-<link rel="NEXT" title="What is Slackware?" href="introduction-slackware.html" />
-<link rel="STYLESHEET" type="text/css" href="docbook.css" />
-<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
-</head>
-<body class="CHAPTER" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#840084"
-alink="#0000FF">
-<div class="NAVHEADER">
-<table summary="Header navigation table" width="100%" border="0" cellpadding="0"
-cellspacing="0">
-<tr>
-<th colspan="3" align="center">Slackware Linux Essentials</th>
-</tr>
-
-<tr>
-<td width="10%" align="left" valign="bottom"><a href="book-preface.html"
-accesskey="P">Prev</a></td>
-<td width="80%" align="center" valign="bottom"></td>
-<td width="10%" align="right" valign="bottom"><a href="introduction-slackware.html"
-accesskey="N">Next</a></td>
-</tr>
-</table>
-
-<hr align="LEFT" width="100%" />
-</div>
-
-<div class="CHAPTER">
-<h1><a id="INTRODUCTION" name="INTRODUCTION"></a>Chapter 1 An Introduction to Slackware
-Linux</h1>
-
-<div class="TOC">
-<dl>
-<dt><b>Table of Contents</b></dt>
-
-<dt>1.1 <a href="introduction.html#INTRODUCTION-LINUX">What is Linux?</a></dt>
-
-<dt>1.2 <a href="introduction-slackware.html">What is Slackware?</a></dt>
-
-<dt>1.3 <a href="introduction-opensource.html">Open Source and Free Software</a></dt>
-</dl>
-</div>
-
-<div class="SECT1">
-<h1 class="SECT1"><a id="INTRODUCTION-LINUX" name="INTRODUCTION-LINUX">1.1 What is
-Linux?</a></h1>
-
-<p>Linus Torvalds started Linux, an operating system kernel, as a personal project in
-1991. He started the project because he wanted to run a Unix-based operating system
-without spending a lot of money. In addition, he wanted to learn the ins and outs of the
-386 processor. Linux was released free of charge to the public so that anyone could study
-it and make improvements under the General Public License. (See <a
-href="introduction-opensource.html">Section 1.3</a> and <a href="gpl.html">Appendix A</a>
-for an explanation of the license.) Today, Linux has grown into a major player in the
-operating system market. It has been ported to run on a variety of system architectures,
-including HP/Compaq's Alpha, Sun's SPARC and UltraSPARC, and Motorola's PowerPC chips
-(through Apple Macintosh and IBM RS/6000 computers.) Hundreds, if not thousands, of
-programmers all over the world now develop Linux. It runs programs like Sendmail, Apache,
-and BIND, which are very popular software used to run Internet servers. It's important to
-remember that the term &#8220;Linux&#8221; really refers to the kernel - the core of the
-operating system. This core is responsible for controlling your computer's processor,
-memory, hard drives, and peripherals. That's all Linux really does: It controls the
-operations of your computer and makes sure that all of its programs behave. Various
-companies and individuals bundle the kernel and various programs together to make an
-operating system. We call each bundle a Linux distribution.</p>
-
-<div class="SECT2">
-<h2 class="SECT2"><a id="INTRODUCTION-LINUX-GNU" name="INTRODUCTION-LINUX-GNU">1.1.1 A
-Word on GNU</a></h2>
-
-<p>The Linux kernel project began as a solo endeavor by Linus Torvalds in 1991, but as
-Isaac Newton once said, &#8220;If I have seen further, it is by standing on the shoulders
-of giants.&#8221; When Linus Torvalds began the kernel the Free Software Foundation had
-already established the idea of collaborative software. They entitled their effort GNU, a
-recursive acronym that means simply &#8220;GNU's Not Unix&#8221;. GNU software ran atop
-the Linux kernel from day 1. Their compiler <tt class="COMMAND">gcc</tt> was used to
-compile the kernel. Today many GNU tools from <tt class="COMMAND">gcc</tt> to <tt
-class="COMMAND">gnutar</tt> are still at the basis of every major Linux distribution. For
-this reason many of the Free Software Foundation's proponents fervently state that their
-work should be given the same credit as the Linux kernel. They strongly suggest that all
-Linux distributions should refer to themselves as GNU/Linux distributions.</p>
-
-<p>This is the topic of many flamewars, surpassed only by the ancient vi versus emacs
-holy war. The purpose of this book is not to fan the fires of this heated discussion, but
-rather to clarify the terminology for neophytes. When one sees GNU/Linux it means a Linux
-distribution. When one sees Linux they can either be referring to the kernel, or to a
-distribution. It can be rather confusing. Typically the term GNU/Linux isn't used because
-it's a mouth full.</p>
-</div>
-</div>
-</div>
-
-<div class="NAVFOOTER">
-<hr align="LEFT" width="100%" />
-<table summary="Footer navigation table" width="100%" border="0" cellpadding="0"
-cellspacing="0">
-<tr>
-<td width="33%" align="left" valign="top"><a href="book-preface.html"
-accesskey="P">Prev</a></td>
-<td width="34%" align="center" valign="top"><a href="index.html"
-accesskey="H">Home</a></td>
-<td width="33%" align="right" valign="top"><a href="introduction-slackware.html"
-accesskey="N">Next</a></td>
-</tr>
-
-<tr>
-<td width="33%" align="left" valign="top">Preface</td>
-<td width="34%" align="center" valign="top">&nbsp;</td>
-<td width="33%" align="right" valign="top">What is Slackware?</td>
-</tr>
-</table>
-</div>
-</body>
-</html>
-
diff --git a/slackbook/html/network-configuration-hardware.html b/slackbook/html/network-configuration-hardware.html
deleted file mode 100644
index 99c2f283..00000000
--- a/slackbook/html/network-configuration-hardware.html
+++ /dev/null
@@ -1,173 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta name="generator" content="HTML Tidy, see www.w3.org" />
-<title>Network Hardware Configuration</title>
-<meta name="GENERATOR" content="Modular DocBook HTML Stylesheet Version 1.7" />
-<link rel="HOME" title="Slackware Linux Essentials" href="index.html" />
-<link rel="UP" title="Network Configuration" href="network-configuration.html" />
-<link rel="PREVIOUS" title="Network Configuration" href="network-configuration.html" />
-<link rel="NEXT" title="TCP/IP Configuration" href="network-configuration-tcpip.html" />
-<link rel="STYLESHEET" type="text/css" href="docbook.css" />
-<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
-</head>
-<body class="SECT1" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#840084"
-alink="#0000FF">
-<div class="NAVHEADER">
-<table summary="Header navigation table" width="100%" border="0" cellpadding="0"
-cellspacing="0">
-<tr>
-<th colspan="3" align="center">Slackware Linux Essentials</th>
-</tr>
-
-<tr>
-<td width="10%" align="left" valign="bottom"><a href="network-configuration.html"
-accesskey="P">Prev</a></td>
-<td width="80%" align="center" valign="bottom">Chapter 5 Network Configuration</td>
-<td width="10%" align="right" valign="bottom"><a href="network-configuration-tcpip.html"
-accesskey="N">Next</a></td>
-</tr>
-</table>
-
-<hr align="LEFT" width="100%" />
-</div>
-
-<div class="SECT1">
-<h1 class="SECT1"><a id="NETWORK-CONFIGURATION-HARDWARE"
-name="NETWORK-CONFIGURATION-HARDWARE">5.2 Network Hardware Configuration</a></h1>
-
-<p>Having decided that you wish to bring your Slackware machine on to some form of
-network, the first thing you'll need is a Linux-compatible network card. You will need to
-take a little care to ensure that the card is truly Linux-compatible (please refer to the
-Linux Documentation Project and/or the kernel documentation for information on the
-current status of your proposed network card). As a general rule, you will most likely be
-pleasantly surprised by the number of networking cards that are supported under the more
-modern kernels. Having said that, I'd still suggest referring to any of the various Linux
-hardware compatibility lists (such as <a
-href="http://www.eskimo.com/%7Elo/linux/hardwarelinks.html" target="_top">The GNU/Linux
-Beginners Group Hardware Compatibility Links</a> and <a
-href="http://www.linux.org/docs/ldp/howto/Hardware-HOWTO/" target="_top">The Linux
-Documentation Project Hardware HOWTO</a>) that are available on the Internet before
-purchasing your card. A little extra time spent in research can save days or even weeks
-trying to troubleshoot a card that isn't compatible with Linux at all.</p>
-
-<p>When you visit the Linux Hardware Compatibility lists available on the Internet, or
-when you refer to the kernel documentation installed on your machine, it would be wise to
-note which kernel module you'll need to use to support your network card.</p>
-
-<div class="SECT2">
-<h2 class="SECT2"><a id="NETWORK-CONFIGURATION-HARDWARE-MODULES"
-name="NETWORK-CONFIGURATION-HARDWARE-MODULES">5.2.1 Loading Network Modules</a></h2>
-
-<p>Kernel modules that are to be loaded on boot-up are loaded from the <tt
-class="FILENAME">rc.modules</tt> file in <tt class="FILENAME">/etc/rc.d</tt> or by the
-kernel's auto module loading started by <tt class="FILENAME">/etc/rc.d/rc.hotplug</tt>.
-The default <tt class="FILENAME">rc.modules</tt> file includes a Network device support
-section. If you open <tt class="FILENAME">rc.modules</tt> and look for that section,
-you'll notice that it first checks for an executable <tt
-class="FILENAME">rc.netdevice</tt> file in <tt class="FILENAME">/etc/rc.d/</tt>. This
-script is created if <tt class="COMMAND">setup</tt> successfully autoprobes your network
-device during installation.</p>
-
-<p>Below that &#8220;if&#8221; block is a list of network devices and modprobe lines,
-each commented out. Find your device and uncomment the corresponding modprobe line, then
-save the file. Running <tt class="FILENAME">rc.modules</tt> as <tt
-class="USERNAME">root</tt> should now load your network device driver (as well as any
-other modules that are listed and uncommented). Note that some modules (such as the
-ne2000 driver) require parameters; make sure you select the correct line.</p>
-</div>
-
-<div class="SECT2">
-<h2 class="SECT2"><a id="NETWORK-CONFIGURATION-HARDWARE-LAN"
-name="NETWORK-CONFIGURATION-HARDWARE-LAN">5.2.2 LAN (10/100/1000Base-T and Base-2)
-cards</a></h2>
-
-<p>This heading encompasses all of the internal PCI and ISA networking cards. Drivers for
-these cards are provided via loadable kernel modules as covered in the previous
-paragraph. <tt class="FILENAME">/sbin/netconfig</tt> should have probed for your card and
-successfully set up your <tt class="FILENAME">rc.netdevice</tt> file. If this did not
-occur, the most likely problem would be that the module that you're attempting to load
-for a given card is incorrect (it is not unheard of for different generations of the same
-brand of card from the same manufacturer to require different modules). If you are
-certain that the module that you're attempting to load is the correct one, your next best
-bet would be to refer to the documentation for the module in an attempt to discover
-whether or not specific parameters are required during when the module is
-initialized.</p>
-</div>
-
-<div class="SECT2">
-<h2 class="SECT2"><a id="NETWORK-CONFIGURATION-HARDWARE-MODEMS"
-name="NETWORK-CONFIGURATION-HARDWARE-MODEMS">5.2.3 Modems</a></h2>
-
-<p>Like LAN cards, modems can come with various bus support options. Until recently, most
-modems were 8 or 16 bit ISA cards. With the efforts of Intel and motherboard
-manufacturers everywhere to finally kill off the ISA bus completely, it is common now to
-find that most modems are either external modems that connect to a serial or USB port or
-are internal PCI modems. If you wish for your modem to work with Linux, it is <span
-class="emphasis"><i class="EMPHASIS">VITALLY</i></span> important to research your
-prospective modem purchase, particularly if you are considering purchasing a PCI modem.
-Many, if not most, PCI modems available on store shelves these days are WinModems.
-WinModems lack some basic hardware on the modem card itself: the functions performed by
-this hardware are typically offloaded onto the CPU by the modem driver and the Windows
-operating system. This means that they do not have the standard serial interface that
-PPPD will be expecting to see when you try to dial out to your Internet Service
-Provider.</p>
-
-<p>If you want to be absolutely sure that the modem you're purchasing will work with
-Linux, purchase an external hardware modem that connects to the serial port on your PC.
-These are guaranteed to work better and be less trouble to install and maintain, though
-they require external power and tend to cost more.</p>
-
-<p>There are several web sites that provide drivers and assistance for configuring
-WinModem based devices. Some users have reported success configuring and installing
-drivers for the various winmodems, including Lucent, Conexant, and Rockwell chipsets. As
-the required software for these devices is not an included part of Slackware, and varies
-from driver to driver, we will not go into detail on them.</p>
-</div>
-
-<div class="SECT2">
-<h2 class="SECT2"><a id="NETWORK-CONFIGURATION-HARDWARE-PCMCIA"
-name="NETWORK-CONFIGURATION-HARDWARE-PCMCIA">5.2.4 PCMCIA</a></h2>
-
-<p>As part of your Slackware install, you are given the opportunity to install the pcmcia
-package (in the &#8220;A&#8221; series of packages). This package contains the
-applications and setup files required to work with PCMCIA cards under Slackware. It is
-important to note that the pcmcia package only installs the generic software required to
-work with PCMCIA cards under Slackware. It does NOT install any drivers or modules. The
-available modules and drivers will be in the <tt class="FILENAME">/lib/modules/`uname
--r`/pcmcia</tt> directory. You may need to do some experimentation to find a module that
-will work with your network card.</p>
-
-<p>You will need to edit <tt class="FILENAME">/etc/pcmcia/network.opts</tt> (for an
-Ethernet card) or <tt class="FILENAME">/etc/pcmcia/wireless.opts</tt> (if you have a
-wireless networking card). Like most Slackware configuration files, these two files are
-very well commented and it should be easy to determine which modifications need to be
-made.</p>
-</div>
-</div>
-
-<div class="NAVFOOTER">
-<hr align="LEFT" width="100%" />
-<table summary="Footer navigation table" width="100%" border="0" cellpadding="0"
-cellspacing="0">
-<tr>
-<td width="33%" align="left" valign="top"><a href="network-configuration.html"
-accesskey="P">Prev</a></td>
-<td width="34%" align="center" valign="top"><a href="index.html"
-accesskey="H">Home</a></td>
-<td width="33%" align="right" valign="top"><a href="network-configuration-tcpip.html"
-accesskey="N">Next</a></td>
-</tr>
-
-<tr>
-<td width="33%" align="left" valign="top">Network Configuration</td>
-<td width="34%" align="center" valign="top"><a href="network-configuration.html"
-accesskey="U">Up</a></td>
-<td width="33%" align="right" valign="top">TCP/IP Configuration</td>
-</tr>
-</table>
-</div>
-</body>
-</html>
-
diff --git a/slackbook/html/network-configuration-nfs.html b/slackbook/html/network-configuration-nfs.html
deleted file mode 100644
index ca6138d8..00000000
--- a/slackbook/html/network-configuration-nfs.html
+++ /dev/null
@@ -1,308 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta name="generator" content="HTML Tidy, see www.w3.org" />
-<title>Network File Systems</title>
-<meta name="GENERATOR" content="Modular DocBook HTML Stylesheet Version 1.7" />
-<link rel="HOME" title="Slackware Linux Essentials" href="index.html" />
-<link rel="UP" title="Network Configuration" href="network-configuration.html" />
-<link rel="PREVIOUS" title="Wireless" href="network-configuration-wireless.html" />
-<link rel="NEXT" title="X Configuration" href="x-window-system.html" />
-<link rel="STYLESHEET" type="text/css" href="docbook.css" />
-<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
-</head>
-<body class="SECT1" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#840084"
-alink="#0000FF">
-<div class="NAVHEADER">
-<table summary="Header navigation table" width="100%" border="0" cellpadding="0"
-cellspacing="0">
-<tr>
-<th colspan="3" align="center">Slackware Linux Essentials</th>
-</tr>
-
-<tr>
-<td width="10%" align="left" valign="bottom"><a
-href="network-configuration-wireless.html" accesskey="P">Prev</a></td>
-<td width="80%" align="center" valign="bottom">Chapter 5 Network Configuration</td>
-<td width="10%" align="right" valign="bottom"><a href="x-window-system.html"
-accesskey="N">Next</a></td>
-</tr>
-</table>
-
-<hr align="LEFT" width="100%" />
-</div>
-
-<div class="SECT1">
-<h1 class="SECT1"><a id="NETWORK-CONFIGURATION-NFS" name="NETWORK-CONFIGURATION-NFS">5.6
-Network File Systems</a></h1>
-
-<p>At this point, you should have a working TCP/IP connection to your network. You should
-be able to ping other computers on your internal network and, if you have configured an
-appropriate gateway, you should also be able to ping computers on the Internet itself. As
-we know, the whole point in bringing a computer onto a network is to access information.
-While some people might bring a computer up on a network just for the fun of it, most
-people wish to be able to share files and printers. They wish to be able to access
-documents on the Internet or play an online game. Having TCP/IP installed and functional
-on your new Slackware system is a means to that end, but with just TCP/IP installed,
-functionality will be very rudimentary. To share files, we will have to transfer them
-back and forth using either FTP or SCP. We cannot browse files on our new Slackware
-computer from the Network Neighborhood or My Network Places icons on Windows computers.
-We'd like to be able to access files on other Unix machines seamlessly.</p>
-
-<p>Ideally, we'd like to be able to use a <span class="emphasis"><i
-class="EMPHASIS">network file system</i></span> to allow us transparent access to our
-files on other computers. The programs that we use to interact with information stored on
-our computers really do not need to know on what computer a given file is stored; they
-just need to know that it exists and how to get to it. It is then the responsibility of
-the operating system to manage access to that file through the available file systems and
-network file systems. The two most commonly used network file systems are SMB (as
-implemented by Samba) and NFS.</p>
-
-<div class="SECT2">
-<h2 class="SECT2"><a id="NETWORK-CONFIGURATION-NSF-SMB"
-name="NETWORK-CONFIGURATION-NSF-SMB">5.6.1 SMB/Samba/CIFS</a></h2>
-
-<p>SMB (for Server Message Block) is a descendant of the older NetBIOS protocol that was
-initially used by IBM in their LAN Manager product. Microsoft has always been fairly
-interested in NetBIOS and it's successors (NetBEUI, SMB and CIFS). The Samba project has
-existed since 1991, when it was originally written to link an IBM PC running NetBIOS with
-a Unix server. These days, SMB is the preferred method for sharing file and print
-services over a network for virtually the entire civilized world because Windows supports
-it.</p>
-
-<p>Samba's configuration file is <tt class="FILENAME">/etc/samba/smb.conf</tt>; one of
-the most well commented and documented configuration files you will find anywhere. Sample
-shares have been setup for you to view and modify for your needs. If you need even
-tighter control the man page for smb.conf is indispensable. Since Samba is documented so
-well in the places I've mentioned above, we will not rewrite the documentation here. We
-will, however, quickly cover the basics.</p>
-
-<p><tt class="FILENAME">smb.conf</tt> is broken down into multiple sections: one section
-per share, and a global section for setting options that are to be used everywhere. Some
-options are only valid in the global section; some are only valid outside the global
-section. Remember that the global section can be over-ridden by any other section. Refer
-to the man pages for more information.</p>
-
-<p>You will most likely wish to edit your <tt class="FILENAME">smb.conf</tt> file to
-reflect the network settings in your LAN. I would suggest modifying the items listed
-below:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="PROGRAMLISTING">
-[global]
-# workgroup = NT-Domain-Name or Workgroup-Name, eg: LINUX2
-workgroup = MYGROUP
-</pre>
-</td>
-</tr>
-</table>
-
-<p>Change the workgroup name to reflect the workgroup or domain name that you are using
-locally.</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="PROGRAMLISTING">
-# server string is the equivalent of the NT Description field
-server string = Samba Server
-</pre>
-</td>
-</tr>
-</table>
-
-<p>This will be the name of your Slackware computer displayed in the Network Neighborhood
-(or My Network Places) folder.</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="PROGRAMLISTING">
-# Security mode. Most people will want user level security. See
-# security_level.txt for details. NOTE: To get the behaviour of
-# Samba-1.9.18, you'll need to use "security = share".
-security = user
-</pre>
-</td>
-</tr>
-</table>
-
-<p>You'll almost certainly wish to implement user level security on your Slackware
-system.</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="PROGRAMLISTING">
-# You may wish to use password encryption. Please read
-# ENCRYPTION.txt, Win95.txt and WinNT.txt in the Samba
-# documentation.
-# Do not enable this option unless you have read those documents
-encrypt passwords = yes
-</pre>
-</td>
-</tr>
-</table>
-
-<p>If encrypt passwords is not enabled, you will not be able to use Samba with NT4.0,
-Win2k, WinXP, and Win2003. Earlier Windows operating systems did not require encryption
-to share files.</p>
-
-<p>SMB is an authenticated protocol, meaning you must supply a correct username and
-password in order to use this service. We tell the samba server what usernames and
-passwords are valid with the <tt class="COMMAND">smbpasswd</tt> command. <tt
-class="COMMAND">smbpasswd</tt> takes a couple of common switches to tell it to either add
-traditional users, or add machine users (SMB requires that you add the computers' NETBIOS
-names as machine users, restricting what computers one can authenticate from).</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-Adding a user to the <tt class="FILENAME">/etc/samba/private/smbpasswd</tt> file.
-<samp class="PROMPT">#</samp> <kbd class="USERINPUT">smbpasswd -a user</kbd>
-Adding a machine name to the /etc/samba/private/smbpasswd file.
-<samp class="PROMPT">#</samp> <kbd class="USERINPUT">smbpasswd -a -m machine</kbd>
-</pre>
-</td>
-</tr>
-</table>
-
-<p>It's important to note that a given username or machine name must already exist in the
-<tt class="FILENAME">/etc/passwd</tt> file. You can accomplish this simply with the <tt
-class="COMMAND">adduser</tt> command. Note that when using the <tt
-class="COMMAND">adduser</tt> command to add a machine name one must append a dollar sign
-(&#8220;<var class="LITERAL">$</var>&#8221;) to the machine name. This should <span
-class="emphasis"><i class="EMPHASIS">not</i></span> however, be done with <tt
-class="COMMAND">smbpasswd</tt>. <tt class="COMMAND">smbpasswd</tt> appends the dollar
-sign on its own. Failing to mangle the machine name this way with <tt
-class="COMMAND">adduser</tt> will result in an error when adding the machine name to
-samba.</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">#</samp> <kbd class="USERINPUT">adduser machine$</kbd>
-</pre>
-</td>
-</tr>
-</table>
-</div>
-
-<div class="SECT2">
-<h2 class="SECT2"><a id="NETWORK-CONFIGURATION-NFS-NFS"
-name="NETWORK-CONFIGURATION-NFS-NFS">5.6.2 Network File System (NFS)</a></h2>
-
-<p>NFS (or Network File System) was originally written by Sun for their Solaris
-implementation of Unix. While it is significantly easier to get up and running when
-compared to SMB, it is also significantly less secure. The primary insecurity in NFS is
-that it is easy to spoof user and group id's from one machine to another. NFS is an
-unauthenticated protocol. Future versions of the NFS protocol are being devised that
-enhance security, but these are not common at the time of this writing.</p>
-
-<p>NFS configuration is governed by the <tt class="FILENAME">/etc/exports</tt> file. When
-you load the default <tt class="FILENAME">/etc/exports</tt> file into an editor, you'll
-see a blank file with a two line comment on top. We'll need to add a line to the exports
-file for each directory that we wish to export, with a listing of client workstations
-that will be allowed to access that file. For instance, if we wished to export directory
-<tt class="FILENAME">/home/foo</tt> to workstation Bar, we would simply add the line:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="PROGRAMLISTING">
-/home/foo Bar(rw)
-</pre>
-</td>
-</tr>
-</table>
-
-<p>to our <tt class="FILENAME">/etc/exports</tt>. Below, you'll find the example from the
-man page for the <tt class="FILENAME">exports</tt> file:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="PROGRAMLISTING">
-# sample /etc/exports file
-/ master(rw) trusty(rw,no_root_squash)
-/projects proj*.local.domain(rw)
-/usr *.local.domain(ro) @trusted(rw)
-/home/joe pc001(rw,all_squash,anonuid=150,anongid=100)
-/pub (ro,insecure,all_squash)
-</pre>
-</td>
-</tr>
-</table>
-
-<p>As you can see, there are various options available, but most should be fairly clear
-from this example.</p>
-
-<p>NFS works under the assumption that a given user on one machine in a network has the
-same user ID on all machines across the network. When an attempt is made to read or write
-from a NFS client to an NFS server, a UID is passed as part of the read/write request.
-This UID is treated the same as if the read/write request originated on the local
-machine. As you can see, if one could arbitrarily specify a given UID when accessing
-resources on a remote system, Bad Things (tm) could and would happen. As a partial hedge
-against this, each directory is mounted with the <var class="OPTION">root_squash</var>
-option. This maps the UID for any user claiming to be root to a different UID, thus
-preventing root access to the files or folders in the exported directory. <var
-class="OPTION">root_squash</var> seems to be enabled by default as a security measure,
-but the authors recommend specifying it anyway in your <tt
-class="FILENAME">/etc/exports</tt> file.</p>
-
-<p>You can also export a directory directly from the command line on the server by using
-the <tt class="COMMAND">exportfs</tt> command as follows:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">#</samp> <kbd
-class="USERINPUT">exportfs -o rw,no_root_squash Bar:/home/foo</kbd>
-</pre>
-</td>
-</tr>
-</table>
-
-<p>This line exports the <tt class="FILENAME">/home/foo</tt> directory to the computer
-&#8220;<tt class="HOSTID">Bar</tt>&#8221; and grants <tt class="HOSTID">Bar</tt>
-read/write access. Additionally, the NFS server will not invoke <var
-class="OPTION">root_squash</var>, which means any user on Bar with a UID of
-&#8220;0&#8221; (root's UID) will have the same privileges as root on the server. The
-syntax does look strange (usually when a directory is specified in <var
-class="LITERAL">computer:/directory/file</var> syntax, you are referring to a file in a
-directory on a given computer).</p>
-
-<p>You'll find more information on the man page for the exports file.</p>
-</div>
-</div>
-
-<div class="NAVFOOTER">
-<hr align="LEFT" width="100%" />
-<table summary="Footer navigation table" width="100%" border="0" cellpadding="0"
-cellspacing="0">
-<tr>
-<td width="33%" align="left" valign="top"><a href="network-configuration-wireless.html"
-accesskey="P">Prev</a></td>
-<td width="34%" align="center" valign="top"><a href="index.html"
-accesskey="H">Home</a></td>
-<td width="33%" align="right" valign="top"><a href="x-window-system.html"
-accesskey="N">Next</a></td>
-</tr>
-
-<tr>
-<td width="33%" align="left" valign="top">Wireless</td>
-<td width="34%" align="center" valign="top"><a href="network-configuration.html"
-accesskey="U">Up</a></td>
-<td width="33%" align="right" valign="top">X Configuration</td>
-</tr>
-</table>
-</div>
-</body>
-</html>
-
diff --git a/slackbook/html/network-configuration-ppp.html b/slackbook/html/network-configuration-ppp.html
deleted file mode 100644
index 06dd7203..00000000
--- a/slackbook/html/network-configuration-ppp.html
+++ /dev/null
@@ -1,166 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta name="generator" content="HTML Tidy, see www.w3.org" />
-<title>PPP</title>
-<meta name="GENERATOR" content="Modular DocBook HTML Stylesheet Version 1.7" />
-<link rel="HOME" title="Slackware Linux Essentials" href="index.html" />
-<link rel="UP" title="Network Configuration" href="network-configuration.html" />
-<link rel="PREVIOUS" title="TCP/IP Configuration"
-href="network-configuration-tcpip.html" />
-<link rel="NEXT" title="Wireless" href="network-configuration-wireless.html" />
-<link rel="STYLESHEET" type="text/css" href="docbook.css" />
-<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
-</head>
-<body class="SECT1" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#840084"
-alink="#0000FF">
-<div class="NAVHEADER">
-<table summary="Header navigation table" width="100%" border="0" cellpadding="0"
-cellspacing="0">
-<tr>
-<th colspan="3" align="center">Slackware Linux Essentials</th>
-</tr>
-
-<tr>
-<td width="10%" align="left" valign="bottom"><a href="network-configuration-tcpip.html"
-accesskey="P">Prev</a></td>
-<td width="80%" align="center" valign="bottom">Chapter 5 Network Configuration</td>
-<td width="10%" align="right" valign="bottom"><a
-href="network-configuration-wireless.html" accesskey="N">Next</a></td>
-</tr>
-</table>
-
-<hr align="LEFT" width="100%" />
-</div>
-
-<div class="SECT1">
-<h1 class="SECT1"><a id="NETWORK-CONFIGURATION-PPP" name="NETWORK-CONFIGURATION-PPP">5.4
-PPP</a></h1>
-
-<p>Many people still connect to the Internet through some kind of dialup connection. The
-most common method is PPP, though SLIP is still occasionally used. Setting up your system
-to speak PPP to a remote server is pretty easy. We've included a few tools to help you in
-setting it up.</p>
-
-<div class="SECT2">
-<h2 class="SECT2"><a id="AEN1954" name="AEN1954">5.4.1 <tt
-class="COMMAND">pppsetup</tt></a></h2>
-
-<p>Slackware includes a program called <tt class="COMMAND">pppsetup</tt> to configure
-your system to use your dialup account. It shares a look and feel similar to our <tt
-class="COMMAND">netconfig</tt> program. To run the program, make sure you are logged in
-as root. Then type <tt class="COMMAND">pppsetup</tt> to run it. You should see a screen
-like this:</p>
-
-<p>The program will present a series of questions, to which you will feed it appropriate
-answers. Things like your modem device, the modem initialization string, and the ISP
-phone number. Some items will have a default, which you can accept in most cases.</p>
-
-<p>After the program runs, it will create a <tt class="COMMAND">ppp-go</tt> program and a
-<tt class="COMMAND">ppp-off</tt> program. These are used to start and stop, respectively,
-the PPP connection. The two programs are located in <tt class="FILENAME">/usr/sbin</tt>
-and need root privileges to run.</p>
-</div>
-
-<div class="SECT2">
-<h2 class="SECT2"><a id="AEN1969" name="AEN1969">5.4.2 <tt
-class="FILENAME">/etc/ppp</tt></a></h2>
-
-<p>For most users, running <tt class="COMMAND">pppsetup</tt> will be sufficient. However,
-there may be an instance where you want to tweak some of the values used by the PPP
-daemon. All of the configuration information is kept in <tt
-class="FILENAME">/etc/ppp</tt>. Here is a list of what the different files are for:</p>
-
-<div class="INFORMALTABLE"><a id="AEN1975" name="AEN1975"></a>
-<table border="0" frame="void" class="CALSTABLE">
-<col width="1*" />
-<col width="3*" />
-<tbody>
-<tr>
-<td><tt class="COMMAND">ip-down</tt></td>
-<td>
-<p>This script is run by <tt class="COMMAND">pppd</tt> after the PPP connection is
-ended.</p>
-</td>
-</tr>
-
-<tr>
-<td><tt class="COMMAND">ip-up</tt></td>
-<td>
-<p>This script is run by <tt class="COMMAND">pppd</tt> when there's a successful ppp
-connection. Put any commands you want run after a successful connection in this file.</p>
-</td>
-</tr>
-
-<tr>
-<td><tt class="FILENAME">options</tt></td>
-<td>
-<p>General configuration options for <tt class="COMMAND">pppd</tt>.</p>
-</td>
-</tr>
-
-<tr>
-<td><tt class="FILENAME">options.demand</tt></td>
-<td>
-<p>General configuration options for <tt class="COMMAND">pppd</tt> when run in demand
-dialing mode.</p>
-</td>
-</tr>
-
-<tr>
-<td><tt class="COMMAND">pppscript</tt></td>
-<td>
-<p>The commands sent to the modem.</p>
-</td>
-</tr>
-
-<tr>
-<td><tt class="FILENAME">pppsetup.txt</tt></td>
-<td>
-<p>A log of what you entered when you ran <tt class="COMMAND">pppsetup</tt>.</p>
-</td>
-</tr>
-</tbody>
-</table>
-</div>
-
-<div class="NOTE">
-<table class="NOTE" width="100%" border="0">
-<tr>
-<td width="25" align="CENTER" valign="TOP"><img src="./imagelib/admon/note.png"
-hspace="5" alt="Note" /></td>
-<td align="LEFT" valign="TOP">
-<p>Most of these files won't be there until after you run <tt
-class="COMMAND">pppsetup</tt>.</p>
-</td>
-</tr>
-</table>
-</div>
-</div>
-</div>
-
-<div class="NAVFOOTER">
-<hr align="LEFT" width="100%" />
-<table summary="Footer navigation table" width="100%" border="0" cellpadding="0"
-cellspacing="0">
-<tr>
-<td width="33%" align="left" valign="top"><a href="network-configuration-tcpip.html"
-accesskey="P">Prev</a></td>
-<td width="34%" align="center" valign="top"><a href="index.html"
-accesskey="H">Home</a></td>
-<td width="33%" align="right" valign="top"><a href="network-configuration-wireless.html"
-accesskey="N">Next</a></td>
-</tr>
-
-<tr>
-<td width="33%" align="left" valign="top">TCP/IP Configuration</td>
-<td width="34%" align="center" valign="top"><a href="network-configuration.html"
-accesskey="U">Up</a></td>
-<td width="33%" align="right" valign="top">Wireless</td>
-</tr>
-</table>
-</div>
-</body>
-</html>
-
diff --git a/slackbook/html/network-configuration-tcpip.html b/slackbook/html/network-configuration-tcpip.html
deleted file mode 100644
index 3b49437e..00000000
--- a/slackbook/html/network-configuration-tcpip.html
+++ /dev/null
@@ -1,324 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta name="generator" content="HTML Tidy, see www.w3.org" />
-<title>TCP/IP Configuration</title>
-<meta name="GENERATOR" content="Modular DocBook HTML Stylesheet Version 1.7" />
-<link rel="HOME" title="Slackware Linux Essentials" href="index.html" />
-<link rel="UP" title="Network Configuration" href="network-configuration.html" />
-<link rel="PREVIOUS" title="Network Hardware Configuration"
-href="network-configuration-hardware.html" />
-<link rel="NEXT" title="PPP" href="network-configuration-ppp.html" />
-<link rel="STYLESHEET" type="text/css" href="docbook.css" />
-<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
-</head>
-<body class="SECT1" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#840084"
-alink="#0000FF">
-<div class="NAVHEADER">
-<table summary="Header navigation table" width="100%" border="0" cellpadding="0"
-cellspacing="0">
-<tr>
-<th colspan="3" align="center">Slackware Linux Essentials</th>
-</tr>
-
-<tr>
-<td width="10%" align="left" valign="bottom"><a
-href="network-configuration-hardware.html" accesskey="P">Prev</a></td>
-<td width="80%" align="center" valign="bottom">Chapter 5 Network Configuration</td>
-<td width="10%" align="right" valign="bottom"><a href="network-configuration-ppp.html"
-accesskey="N">Next</a></td>
-</tr>
-</table>
-
-<hr align="LEFT" width="100%" />
-</div>
-
-<div class="SECT1">
-<h1 class="SECT1"><a id="NETWORK-CONFIGURATION-TCPIP"
-name="NETWORK-CONFIGURATION-TCPIP">5.3 TCP/IP Configuration</a></h1>
-
-<p>At this point, your network card should be physically installed in your computer, and
-the relevant kernel modules should be loaded. You will not yet be able to communicate
-over your network card, but information about the network device can be obtained with <tt
-class="COMMAND">ifconfig -a</tt>.</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">#</samp> <kbd class="USERINPUT">ifconfig -a</kbd>
-eth0 Link encap:Ethernet HWaddr 00:A0:CC:3C:60:A4
-UP BROADCAST NOTRAILERS RUNNING MULTICAST MTU:1500 Metric:1
-RX packets:110081 errors:1 dropped:0 overruns:0 frame:0
-TX packets:84931 errors:0 dropped:0 overruns:0 carrier:0
-collisions:0 txqueuelen:100
-RX bytes:114824506 (109.5 Mb) TX bytes:9337924 (8.9 Mb)
-Interrupt:5 Base address:0x8400
-
-lo Link encap:Local Loopback
-inet addr:127.0.0.1 Mask:255.0.0.0
-UP LOOPBACK RUNNING MTU:16436 Metric:1
-RX packets:2234 errors:0 dropped:0 overruns:0 frame:0
-TX packets:2234 errors:0 dropped:0 overruns:0 carrier:0
-collisions:0 txqueuelen:0
-RX bytes:168758 (164.8 Kb) TX bytes:168758 (164.8 Kb)
-</pre>
-</td>
-</tr>
-</table>
-
-<p>If you just typed <tt class="COMMAND">/sbin/ifconfig</tt> without the <var
-class="OPTION">-a</var> suffix, you would not see the <tt class="FILENAME">eth0</tt>
-interface, as your network card does not yet have a valid IP address or route.</p>
-
-<p>While there are many different ways to setup and subnet a network, all of them can be
-broken down into two types: Static and Dynamic. Static networks are setup such that each
-node (geek lingo for thing with an IP address) always has the same IP address. Dynamic
-networks are setup in such a way that the IP addresses for the nodes are controlled by a
-single server called the DHCP server.</p>
-
-<div class="SECT2">
-<h2 class="SECT2"><a id="NETWORK-CONFIGURATION-TCPIP-DHCP"
-name="NETWORK-CONFIGURATION-TCPIP-DHCP">5.3.1 DHCP</a></h2>
-
-<p>DHCP (or Dynamic Host Configuration Protocol), is a means by which an IP address may
-be assigned to a computer on boot. When the DHCP <span class="emphasis"><i
-class="EMPHASIS">client</i></span> boots, it puts out a request on the Local Area Network
-for a DHCP <span class="emphasis"><i class="EMPHASIS">server</i></span> to assign it an
-IP address. The DHCP server has a pool (or <span class="emphasis"><i
-class="EMPHASIS">scope</i></span>) of IP addresses available. The server will respond to
-this request with an IP address from the pool, along with a <span class="emphasis"><i
-class="EMPHASIS">lease time</i></span>. Once the lease time for a given IP address lease
-has expired, the client must contact the server again and repeat the negotiation.</p>
-
-<p>The client will then accept the IP address from the server and will configure the
-requested interface with the IP address. There is one more handy trick that DHCP clients
-use for negotiating the IP address that they will be assigned, however. The client will
-remember it's last assigned IP address, and will request that the server re-assign that
-IP address to the client again upon next negotiation. If possible, the server will do so,
-but if not, a new address is assigned. So, the negotiation resembles the following:</p>
-
-<p class="LITERALLAYOUT">&nbsp;&nbsp;&nbsp;&nbsp;<span class="emphasis"><i
-class="EMPHASIS">Client</i></span>:&nbsp;Is&nbsp;there&nbsp;a&nbsp;DHCP&nbsp;server&nbsp;available&nbsp;on&nbsp;the&nbsp;LAN?<br />
-
-&nbsp;&nbsp;&nbsp;&nbsp;<span class="emphasis"><i
-class="EMPHASIS">Server</i></span>:&nbsp;Yes,&nbsp;there&nbsp;is.&nbsp;Here&nbsp;I&nbsp;am.<br />
-
-&nbsp;&nbsp;&nbsp;&nbsp;<span class="emphasis"><i
-class="EMPHASIS">Client</i></span>:&nbsp;I&nbsp;need&nbsp;an&nbsp;IP&nbsp;address.<br />
-&nbsp;&nbsp;&nbsp;&nbsp;<span class="emphasis"><i
-class="EMPHASIS">Server</i></span>:&nbsp;You&nbsp;may&nbsp;take&nbsp;192.168.10.10&nbsp;for&nbsp;19200&nbsp;seconds.<br />
-
-&nbsp;&nbsp;&nbsp;&nbsp;<span class="emphasis"><i
-class="EMPHASIS">Client</i></span>:&nbsp;Thank&nbsp;you.</p>
-
-<p class="LITERALLAYOUT">&nbsp;&nbsp;&nbsp;&nbsp;<span class="emphasis"><i
-class="EMPHASIS">Client</i></span>:&nbsp;Is&nbsp;there&nbsp;a&nbsp;DHCP&nbsp;server&nbsp;available&nbsp;on&nbsp;the&nbsp;LAN?<br />
-
-&nbsp;&nbsp;&nbsp;&nbsp;<span class="emphasis"><i
-class="EMPHASIS">Server</i></span>:Yes,&nbsp;there&nbsp;is.&nbsp;Here&nbsp;I&nbsp;am.<br />
-
-&nbsp;&nbsp;&nbsp;&nbsp;<span class="emphasis"><i
-class="EMPHASIS">Client</i></span>:I&nbsp;need&nbsp;an&nbsp;IP&nbsp;address.&nbsp;The&nbsp;last&nbsp;time&nbsp;we<br />
-
-&nbsp;&nbsp;&nbsp;&nbsp;talked,&nbsp;I&nbsp;had&nbsp;192.168.10.10;<br />
-&nbsp;&nbsp;&nbsp;&nbsp;May&nbsp;I&nbsp;have&nbsp;it&nbsp;again?<br />
-&nbsp;&nbsp;&nbsp;&nbsp;<span class="emphasis"><i
-class="EMPHASIS">Server</i></span>:Yes,&nbsp;you&nbsp;may&nbsp;(or&nbsp;No,&nbsp;you&nbsp;may&nbsp;not:&nbsp;take&nbsp;192.168.10.12&nbsp;instead).<br />
-
-&nbsp;&nbsp;&nbsp;&nbsp;<span class="emphasis"><i
-class="EMPHASIS">Client</i></span>:&nbsp;Thank&nbsp;you.</p>
-
-<p>The DHCP client in Linux is <tt class="COMMAND">/sbin/dhcpcd</tt>. If you load <tt
-class="FILENAME">/etc/rc.d/rc.inet1</tt> in your favorite text editor, you will notice
-that <tt class="COMMAND">/sbin/dhcpcd</tt> is called about midway through the script.
-This will force the conversation shown above. <tt class="COMMAND">dhcpcd</tt> will also
-track the amount of time left on the lease for the current IP address, and will
-automatically contact the DHCP server with a request to renew the lease when necessary.
-DHCP can also control related information, such as what ntp server to use, what route to
-take, etc.</p>
-
-<p>Setting up DHCP on Slackware is simple. Just run <tt class="COMMAND">netconfig</tt>
-and select DHCP when offered. If you have more than one NIC and do not wish <tt
-class="FILENAME">eth0</tt> to be configured by DHCP, just edit the <tt
-class="FILENAME">/etc/rc.d/rc.inet1.conf</tt> file and change the related variable for
-your NIC to &#8220;<var class="LITERAL">YES</var>&#8221;.</p>
-</div>
-
-<div class="SECT2">
-<h2 class="SECT2"><a id="NETWORK-CONFIGURATION-TCPIP-STATIC"
-name="NETWORK-CONFIGURATION-TCPIP-STATIC">5.3.2 Static IP</a></h2>
-
-<p>Static IP addresses are fixed addresses that only change if manually told to. These
-are used in any case where an administrator doesn't want the IP information to change,
-such for internal servers on a LAN, any server connected to the Internet, and networked
-routers. With static IP addressing, you assign an address and leave it at that. Other
-machines know that you are always at that certain IP address and can contact you at that
-address always.</p>
-</div>
-
-<div class="SECT2">
-<h2 class="SECT2"><a id="NETWORK-CONFIGURATION-TCPIP-CONF"
-name="NETWORK-CONFIGURATION-TCPIP-CONF">5.3.3 <tt
-class="FILENAME">/etc/rc.d/rc.inet1.conf</tt></a></h2>
-
-<p>If you plan on assigning an IP address to your new Slackware box, you may do so either
-through the <tt class="FILENAME">netconfig</tt> script, or you may edit <tt
-class="FILENAME">/etc/rc.d/rc.inet1.conf</tt>. In <tt
-class="FILENAME">/etc/rc.d/rc.inet1.conf</tt> , you will notice:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="PROGRAMLISTING">
- # Primary network interface card (eth0)
- IPADDR[0]=""
- NETMASK[0]=""
- USE_DHCP[0]=""
- DHCP_HOSTNAME[0]=""
-</pre>
-</td>
-</tr>
-</table>
-
-<p>Then further at the bottom:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="PROGRAMLISTING">
- GATEWAY=""
-</pre>
-</td>
-</tr>
-</table>
-
-<p>In this case, our task is merely to place the correct information between the
-double-quotes. These variables are called by <tt class="FILENAME">/etc/rc.d/rc.inet1</tt>
-at boot time to setup the nics. For each NIC, just enter the correct IP information, or
-put &#8220;<var class="LITERAL">YES</var>&#8221; for <var class="LITERAL">USE_DHCP</var>.
-Slackware will startup the interfaces with the information placed here in the order they
-are found.</p>
-
-<p>The <var class="LITERAL">DEFAULT_GW</var> variable sets up the default route for
-Slackware. All communications between your computer and other computers on the Internet
-must pass through that gateway if no other route is specified for them. If you are using
-DHCP, you will usually not need to enter anything here, as the DHCP server will specify
-what gateway to use.</p>
-</div>
-
-<div class="SECT2">
-<h2 class="SECT2"><a id="NETWORK-CONFIGURATION-TCPIP-RESOLVER"
-name="NETWORK-CONFIGURATION-TCPIP-RESOLVER">5.3.4 <tt
-class="FILENAME">/etc/resolv.conf</tt></a></h2>
-
-<p>Ok, so you've got an IP address, you've got a default gateway, you may even have ten
-million dollars (give us some), but what good is that if you can't resolve names to IP
-addresses? No one wants to type in <tt class="HOSTID">72.9.234.112</tt> into their web
-browser to reach <tt class="HOSTID">www.slackbook.org</tt>. After all, who other than the
-authors would memorize that IP address? We need to setup DNS, but how? That's where <tt
-class="FILENAME">/etc/resolv.conf</tt> comes into play.</p>
-
-<p>Chances are you already have the proper options in <tt
-class="FILENAME">/etc/resolv.conf</tt>. If you setup your network connection using DHCP,
-the DHCP server should handle updating this file for you. (Technically the DHCP server
-just tells <tt class="COMMAND">dhcpcd</tt> what to put here, and it obeys.) If you need
-to manually update your DNS server list though, you'll need to hand edit <tt
-class="FILENAME">/etc/resolv.conf</tt>. Below is an example:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">#</samp> <kbd class="USERINPUT">cat /etc/resolv.conf</kbd>
-nameserver 192.168.1.254
-search lizella.net
-</pre>
-</td>
-</tr>
-</table>
-
-<p>The first line is simple. The nameserver directive tells us what DNS servers to query.
-By necessity these are always IP addresses. You may have as many listed there as you
-like. Slackware will happily check one after the other until one returns a match.</p>
-
-<p>The second line is a little more interesting. The search directive gives us a list of
-domain names to assume whenever a DNS request is made. This allows you to contact a
-machine by only the first part of its FQDN (Fully Qualified Domain Name). For example, if
-&#8220;slackware.com&#8221; were in your search path, you could reach <tt
-class="HOSTID">http://store.slackware.com</tt> by just pointing your web browser at <tt
-class="HOSTID">http://store</tt>.</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">#</samp> <kbd class="USERINPUT">ping -c 1 store</kbd>
-PING store.slackware.com (69.50.233.153): 56 data bytes
-64 bytes from 69.50.233.153 : icmp_seq=0 ttl=64 time=0.251 ms
-1 packets transmitted, 1 packets received, 0% packet loss
-round-trip min/avg/max = 0.251/0.251/0.251 ms
-</pre>
-</td>
-</tr>
-</table>
-
-<br />
-<br />
-</div>
-
-<div class="SECT2">
-<h2 class="SECT2"><a id="NETWORK-CONFIGURATION-TCPIP-HOSTS"
-name="NETWORK-CONFIGURATION-TCPIP-HOSTS">5.3.5 <tt
-class="FILENAME">/etc/hosts</tt></a></h2>
-
-<p>Now that we've got DNS working fine, what if we want to bypass our DNS server, or add
-a DNS entry for a machine that isn't in DNS? Slackware includes the oft-loved <tt
-class="FILENAME">/etc/hosts</tt> file which contains a local list of DNS names and IP
-addresses they should match to.</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">#</samp> <kbd class="USERINPUT">cat /etc/hosts</kbd>
-127.0.0.1 localhost locahost.localdomain
-192.168.1.101 redtail
-172.14.66.32 foobar.slackware.com
-</pre>
-</td>
-</tr>
-</table>
-
-<p>Here you can see that localhost has an IP address of <tt class="HOSTID">127.0.0.1</tt>
-(always reserved for localhost), redtail can be reached at <tt
-class="HOSTID">192.168.1.101</tt>, and <tt class="HOSTID">foobar.slackware.com</tt> is
-<tt class="HOSTID">172.14.66.32</tt>.</p>
-</div>
-</div>
-
-<div class="NAVFOOTER">
-<hr align="LEFT" width="100%" />
-<table summary="Footer navigation table" width="100%" border="0" cellpadding="0"
-cellspacing="0">
-<tr>
-<td width="33%" align="left" valign="top"><a href="network-configuration-hardware.html"
-accesskey="P">Prev</a></td>
-<td width="34%" align="center" valign="top"><a href="index.html"
-accesskey="H">Home</a></td>
-<td width="33%" align="right" valign="top"><a href="network-configuration-ppp.html"
-accesskey="N">Next</a></td>
-</tr>
-
-<tr>
-<td width="33%" align="left" valign="top">Network Hardware Configuration</td>
-<td width="34%" align="center" valign="top"><a href="network-configuration.html"
-accesskey="U">Up</a></td>
-<td width="33%" align="right" valign="top">PPP</td>
-</tr>
-</table>
-</div>
-</body>
-</html>
-
diff --git a/slackbook/html/network-configuration-wireless.html b/slackbook/html/network-configuration-wireless.html
deleted file mode 100644
index fa86dcc2..00000000
--- a/slackbook/html/network-configuration-wireless.html
+++ /dev/null
@@ -1,208 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta name="generator" content="HTML Tidy, see www.w3.org" />
-<title>Wireless</title>
-<meta name="GENERATOR" content="Modular DocBook HTML Stylesheet Version 1.7" />
-<link rel="HOME" title="Slackware Linux Essentials" href="index.html" />
-<link rel="UP" title="Network Configuration" href="network-configuration.html" />
-<link rel="PREVIOUS" title="PPP" href="network-configuration-ppp.html" />
-<link rel="NEXT" title="Network File Systems" href="network-configuration-nfs.html" />
-<link rel="STYLESHEET" type="text/css" href="docbook.css" />
-<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
-</head>
-<body class="SECT1" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#840084"
-alink="#0000FF">
-<div class="NAVHEADER">
-<table summary="Header navigation table" width="100%" border="0" cellpadding="0"
-cellspacing="0">
-<tr>
-<th colspan="3" align="center">Slackware Linux Essentials</th>
-</tr>
-
-<tr>
-<td width="10%" align="left" valign="bottom"><a href="network-configuration-ppp.html"
-accesskey="P">Prev</a></td>
-<td width="80%" align="center" valign="bottom">Chapter 5 Network Configuration</td>
-<td width="10%" align="right" valign="bottom"><a href="network-configuration-nfs.html"
-accesskey="N">Next</a></td>
-</tr>
-</table>
-
-<hr align="LEFT" width="100%" />
-</div>
-
-<div class="SECT1">
-<h1 class="SECT1"><a id="NETWORK-CONFIGURATION-WIRELESS"
-name="NETWORK-CONFIGURATION-WIRELESS">5.5 Wireless</a></h1>
-
-<p>Wireless networking is still a relatively new thing in the world of computers, yet is
-quickly catching on as more people begin to purchase laptops and want networking on the
-go, without having to fool with some old twisted pair cable. This trend doesn't appear to
-be slowing down. Unfortunately, wireless networking isn't yet as strongly supported in
-Linux as traditional wired networking.</p>
-
-<p>There are three basic steps to configuring an 802.11 wireless Ethernet card:</p>
-
-<ol type="1">
-<li>
-<p>Hardware support for the wireless card</p>
-</li>
-
-<li>
-<p>Configure the card to connect to a wireless access point</p>
-</li>
-
-<li>
-<p>Configure the network</p>
-</li>
-</ol>
-
-<div class="SECT2">
-<h2 class="SECT2"><a id="AEN2033" name="AEN2033">5.5.1 Hardware Support</a></h2>
-
-<p>Hardware support for a wireless card is provided through the kernel, either with a
-module or built in to the kernel. Generally, most newer Ethernet cards are provided
-through kernel modules, so you'll want to determine the appropriate kernel module and
-load it through <tt class="FILENAME">/etc/rc.d/rc.modules</tt>. <tt
-class="COMMAND">netconfig</tt> may not detect your wireless card, so you'll probably need
-to determine the card yourself. See <a
-href="http://www.hpl.hp.com/personal/Jean_Tourrilhes/Linux/"
-target="_top">http://www.hpl.hp.com/personal/Jean_Tourrilhes/Linux/</a> for more
-information on kernel drivers for various wireless cards.</p>
-</div>
-
-<div class="SECT2">
-<h2 class="SECT2"><a id="AEN2044" name="AEN2044">5.5.2 Configure the Wireless
-Settings</a></h2>
-
-<p>The vast majority of this work is done by <tt class="COMMAND">iwconfig</tt>, so as
-always read the man page for <tt class="COMMAND">iwconfig</tt> if you need more
-information.</p>
-
-<p>First, you'll want to configure your wireless access point. Wireless access points
-vary quite a bit in their terminology, and how to configure them, so you may need to
-adjust a bit to accommodate your hardware. In general, you'll need at least the following
-information:</p>
-
-<ul>
-<li>
-<p>The domain ID, or name of the network (called the ESSID by <tt
-class="COMMAND">iwconfig</tt>)</p>
-</li>
-
-<li>
-<p>The channel the WAP uses</p>
-</li>
-
-<li>
-<p>The encryption settings, including any keys used (preferably in hexadecimal)</p>
-</li>
-</ul>
-
-<div class="WARNING">
-<table class="WARNING" width="100%" border="0">
-<tr>
-<td width="25" align="CENTER" valign="TOP"><img src="./imagelib/admon/warning.png"
-hspace="5" alt="Warning" /></td>
-<td align="LEFT" valign="TOP">
-<p>A NOTE ABOUT WEP. WEP is quit flawed, but it's much better than nothing. If you wish a
-greater degree of security on your wireless network, you should investigate VPNs or
-IPSec, both of which are beyond the scope of this document. You might also configure your
-WAP not to advertise its domain ID/ ESSID. A thorough discussion of wireless policy is
-beyond the scope of this section, but a quick Google search will turn up more than you
-ever wanted to know.</p>
-</td>
-</tr>
-</table>
-</div>
-
-<p>Once you've gathered the above information, and assuming you've used <tt
-class="COMMAND">modprobe</tt> to load the appropriate kernel driver, you can edit <tt
-class="FILENAME">rc.wireless.conf</tt> and add your settings. The <tt
-class="FILENAME">rc.wireless.conf</tt> file is a bit untidy. The least effort is to
-modify the generic section with your ESSID and KEY, and CHANNEL if required by your card.
-(Try not setting CHANNEL, and if it works, great; if not, set the CHANNEL as
-appropriate.) If you're daring, you can modify the file so that only the necessary
-variables are set. The variable names in <tt class="FILENAME">rc.wireless.conf</tt>
-correspond to the <tt class="COMMAND">iwconfig</tt> parameters, and are read by <tt
-class="FILENAME">rc.wireless</tt> and used in the appropriate <tt
-class="COMMAND">iwconfig</tt> commands.</p>
-
-<p>If you have your key in hexadecimal, that's ideal, since you can be fairly confident
-that your WAP and <tt class="COMMAND">iwconfig</tt> will agree on the key. If you only
-have a string, you can't be sure how your WAP will translate that into a hexadecimal key,
-so some guesswork may be needed (or get your WAP's key in hex).</p>
-
-<p>Once you've modified <tt class="FILENAME">rc.wireless.conf</tt>, run <tt
-class="FILENAME">rc.wireless</tt> as <tt class="USERNAME">root</tt>, then run <tt
-class="FILENAME">rc.inet1</tt>, again as <tt class="USERNAME">root</tt>. You can test
-your wireless networking with standard testing tools such as <tt
-class="COMMAND">ping</tt>, along with <tt class="COMMAND">iwconfig</tt>. If you have a
-wired interface you may wish to use <tt class="COMMAND">ifconfig</tt> to turn those
-interfaces off while you test your wireless networking to ensure there's no interference.
-You may also want to test your changes through a reboot.</p>
-
-<p>Now that you've seen how to edit <tt class="FILENAME">/etc/rc.d/rc.wireless</tt> for
-you default network, let's take a closer look at iwconfig and see how it all works. This
-will teach you the quick and dirty way of setting up wifi for those times when you find
-yourself at an Internet cafe, coffee shop, or any other wifi hot spot and wish to get
-online.</p>
-
-<p>The first step is to tell your wireless NIC what network to join. Make sure you
-replace &#8220;<tt class="FILENAME">eth0</tt>&#8221; with whatever network interface your
-wireless card uses and change &#8220;<var class="REPLACEABLE">mynetwork</var>&#8221; to
-the essid you wish to use. Yes, we know you're smarter than that. Next you'll have to
-specify the encryption key (if any) used on your wireless network. Finally specify the
-channel to use (if needed).</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">#</samp> <kbd class="USERINPUT">iwconfig eth0 essid "<var
-class="REPLACEABLE">mynetwork</var>"</kbd>
-<samp class="PROMPT">#</samp> <kbd class="USERINPUT">iwconfig eth0 key <var
-class="REPLACEABLE">XXXXXXXXXXXXXXXXXXXXXXXXXXX</var></kbd>
-<samp class="PROMPT">#</samp> <kbd class="USERINPUT">iwconfig eth0 channel n</kbd>
-</pre>
-</td>
-</tr>
-</table>
-
-<p>That should be all on the wireless end of things.</p>
-</div>
-
-<div class="SECT2">
-<h2 class="SECT2"><a id="AEN2101" name="AEN2101">5.5.3 Configure the Network</a></h2>
-
-<p>This is done in the exact same way as wired networks. Simply refer to earlier sections
-of this chapter.</p>
-</div>
-</div>
-
-<div class="NAVFOOTER">
-<hr align="LEFT" width="100%" />
-<table summary="Footer navigation table" width="100%" border="0" cellpadding="0"
-cellspacing="0">
-<tr>
-<td width="33%" align="left" valign="top"><a href="network-configuration-ppp.html"
-accesskey="P">Prev</a></td>
-<td width="34%" align="center" valign="top"><a href="index.html"
-accesskey="H">Home</a></td>
-<td width="33%" align="right" valign="top"><a href="network-configuration-nfs.html"
-accesskey="N">Next</a></td>
-</tr>
-
-<tr>
-<td width="33%" align="left" valign="top">PPP</td>
-<td width="34%" align="center" valign="top"><a href="network-configuration.html"
-accesskey="U">Up</a></td>
-<td width="33%" align="right" valign="top">Network File Systems</td>
-</tr>
-</table>
-</div>
-</body>
-</html>
-
diff --git a/slackbook/html/network-configuration.html b/slackbook/html/network-configuration.html
deleted file mode 100644
index 66fb0082..00000000
--- a/slackbook/html/network-configuration.html
+++ /dev/null
@@ -1,146 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta name="generator" content="HTML Tidy, see www.w3.org" />
-<title>Network Configuration</title>
-<meta name="GENERATOR" content="Modular DocBook HTML Stylesheet Version 1.7" />
-<link rel="HOME" title="Slackware Linux Essentials" href="index.html" />
-<link rel="PREVIOUS" title="Selecting a Kernel"
-href="system-configuration-kernel.html" />
-<link rel="NEXT" title="Network Hardware Configuration"
-href="network-configuration-hardware.html" />
-<link rel="STYLESHEET" type="text/css" href="docbook.css" />
-<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
-</head>
-<body class="CHAPTER" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#840084"
-alink="#0000FF">
-<div class="NAVHEADER">
-<table summary="Header navigation table" width="100%" border="0" cellpadding="0"
-cellspacing="0">
-<tr>
-<th colspan="3" align="center">Slackware Linux Essentials</th>
-</tr>
-
-<tr>
-<td width="10%" align="left" valign="bottom"><a href="system-configuration-kernel.html"
-accesskey="P">Prev</a></td>
-<td width="80%" align="center" valign="bottom"></td>
-<td width="10%" align="right" valign="bottom"><a
-href="network-configuration-hardware.html" accesskey="N">Next</a></td>
-</tr>
-</table>
-
-<hr align="LEFT" width="100%" />
-</div>
-
-<div class="CHAPTER">
-<h1><a id="NETWORK-CONFIGURATION" name="NETWORK-CONFIGURATION"></a>Chapter 5 Network
-Configuration</h1>
-
-<div class="TOC">
-<dl>
-<dt><b>Table of Contents</b></dt>
-
-<dt>5.1 <a
-href="network-configuration.html#NETWORK-CONFIGURATION-NETCONFIG">Introduction: netconfig
-is your friend.</a></dt>
-
-<dt>5.2 <a href="network-configuration-hardware.html">Network Hardware
-Configuration</a></dt>
-
-<dt>5.3 <a href="network-configuration-tcpip.html">TCP/IP Configuration</a></dt>
-
-<dt>5.4 <a href="network-configuration-ppp.html">PPP</a></dt>
-
-<dt>5.5 <a href="network-configuration-wireless.html">Wireless</a></dt>
-
-<dt>5.6 <a href="network-configuration-nfs.html">Network File Systems</a></dt>
-</dl>
-</div>
-
-<div class="SECT1">
-<h1 class="SECT1"><a id="NETWORK-CONFIGURATION-NETCONFIG"
-name="NETWORK-CONFIGURATION-NETCONFIG">5.1 Introduction: netconfig is your
-friend.</a></h1>
-
-<p>When you initially installed Slackware, the setup program invoked the <tt
-class="COMMAND">netconfig</tt> program. <tt class="COMMAND">netconfig</tt> attempted to
-perform the following functions for you:</p>
-
-<ul>
-<li>
-<p>It asked you for the name of your computer, and the domain name for your computer.</p>
-</li>
-
-<li>
-<p>It gave a brief explanation of the various types of addressing schemes, told when they
-should be used, and asked you which IP addressing scheme you wished to use to configure
-your network card:</p>
-
-<ul>
-<li>
-<p>Static-IP</p>
-</li>
-
-<li>
-<p>DHCP</p>
-</li>
-
-<li>
-<p>Loopback</p>
-</li>
-</ul>
-
-<br />
-<br />
-</li>
-
-<li>
-<p>It then offered to probe for a network card to configure.</p>
-</li>
-</ul>
-
-<p><tt class="COMMAND">netconfig</tt> will generally take care of about 80% of the work
-of configuring your LAN network connection if you will let it. Note that I would strongly
-suggest that you review your config file for a couple of reasons:</p>
-
-<ol type="1">
-<li>
-<p>You should never trust a setup program to properly configure your computer. If you use
-a setup program, you should review the configuration yourself.</p>
-</li>
-
-<li>
-<p>If you are still learning Slackware and Linux system management, viewing a working
-configuration can be helpful. You'll at least know what the configuration should look
-like. This will allow you to correct problems due to misconfiguration of the system at a
-later date.</p>
-</li>
-</ol>
-</div>
-</div>
-
-<div class="NAVFOOTER">
-<hr align="LEFT" width="100%" />
-<table summary="Footer navigation table" width="100%" border="0" cellpadding="0"
-cellspacing="0">
-<tr>
-<td width="33%" align="left" valign="top"><a href="system-configuration-kernel.html"
-accesskey="P">Prev</a></td>
-<td width="34%" align="center" valign="top"><a href="index.html"
-accesskey="H">Home</a></td>
-<td width="33%" align="right" valign="top"><a href="network-configuration-hardware.html"
-accesskey="N">Next</a></td>
-</tr>
-
-<tr>
-<td width="33%" align="left" valign="top">Selecting a Kernel</td>
-<td width="34%" align="center" valign="top">&nbsp;</td>
-<td width="33%" align="right" valign="top">Network Hardware Configuration</td>
-</tr>
-</table>
-</div>
-</body>
-</html>
-
diff --git a/slackbook/html/package-management-making-packages.html b/slackbook/html/package-management-making-packages.html
deleted file mode 100644
index f5812775..00000000
--- a/slackbook/html/package-management-making-packages.html
+++ /dev/null
@@ -1,120 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta name="generator" content="HTML Tidy, see www.w3.org" />
-<title>Making Packages</title>
-<meta name="GENERATOR" content="Modular DocBook HTML Stylesheet Version 1.7" />
-<link rel="HOME" title="Slackware Linux Essentials" href="index.html" />
-<link rel="UP" title="Slackware Package Management" href="package-management.html" />
-<link rel="PREVIOUS" title="Package Utilities"
-href="package-management-package-utilities.html" />
-<link rel="NEXT" title="Making Tags and Tagfiles (for setup)"
-href="package-management-making-tags-and-tagfiles.html" />
-<link rel="STYLESHEET" type="text/css" href="docbook.css" />
-<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
-</head>
-<body class="SECT1" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#840084"
-alink="#0000FF">
-<div class="NAVHEADER">
-<table summary="Header navigation table" width="100%" border="0" cellpadding="0"
-cellspacing="0">
-<tr>
-<th colspan="3" align="center">Slackware Linux Essentials</th>
-</tr>
-
-<tr>
-<td width="10%" align="left" valign="bottom"><a
-href="package-management-package-utilities.html" accesskey="P">Prev</a></td>
-<td width="80%" align="center" valign="bottom">Chapter 18 Slackware Package
-Management</td>
-<td width="10%" align="right" valign="bottom"><a
-href="package-management-making-tags-and-tagfiles.html" accesskey="N">Next</a></td>
-</tr>
-</table>
-
-<hr align="LEFT" width="100%" />
-</div>
-
-<div class="SECT1">
-<h1 class="SECT1"><a id="PACKAGE-MANAGEMENT-MAKING-PACKAGES"
-name="PACKAGE-MANAGEMENT-MAKING-PACKAGES">18.3 Making Packages</a></h1>
-
-<p>Making Slackware packages can be either easy or difficult. There is no specific method
-for building a package. The only requirement is that the package be a tar gzipped file
-and if there is a postinstallation script, it must be <tt
-class="FILENAME">/install/doinst.sh</tt>.</p>
-
-<p>If you are interested in making packages for your system or for a network that you
-manage, you should have a look at the various build scripts in the Slackware source tree.
-There are several methods we use for making packages.</p>
-
-<div class="SECT2">
-<h2 class="SECT2"><a id="PACKAGE-MANAGEMENT-EXPLODEPKG"
-name="PACKAGE-MANAGEMENT-EXPLODEPKG">18.3.1 <tt class="COMMAND">explodepkg</tt></a></h2>
-
-<p><tt class="COMMAND">explodepkg</tt>(8) will do the same thing that <tt
-class="COMMAND">installpkg</tt> does to extract the package, but it doesn't actually
-install it and it doesn't record it in the packages database. It simply extracts it to
-the current directory.</p>
-
-<p>If you look at the Slackware source tree, you will see how we use this command for
-&#8220;framework&#8221; packages. These packages contain a skeleton of what the final
-package will look like. They hold all the necessary filenames (zero-length), permissions,
-and ownerships. The build script will cat the package contents from the source directory
-to the package build directory.</p>
-</div>
-
-<div class="SECT2">
-<h2 class="SECT2"><a id="PACKAGE-MANAGEMENT-MAKEPKG"
-name="PACKAGE-MANAGEMENT-MAKEPKG">18.3.2 <tt class="COMMAND">makepkg</tt></a></h2>
-
-<p><tt class="COMMAND">makepkg</tt>(8) will package up the current directory into a valid
-Slackware package. It will search the tree for any symbolic links and add a creation
-block to the postinstallation script for creating them during the package install. It
-also warns of any zero-length files in the package tree.</p>
-
-<p>This command is typically run after you have created your package tree.</p>
-</div>
-
-<div class="SECT2">
-<h2 class="SECT2"><a id="PACKAGE-MANAGEMENT-SLACKBUILD-SCRIPTS"
-name="PACKAGE-MANAGEMENT-SLACKBUILD-SCRIPTS">18.3.3 SlackBuild Scripts</a></h2>
-
-<p>Slackware packages are built in many different ways by necessity. Not all software
-packages are written by their programmers to compile the same way. Many have compile time
-options that are not all included in the packages Slackware uses. Perhaps you need some
-of this functionality; you'll need to compile your own package then. Fortunately for many
-Slackware packages, you can find SlackBuild scripts in the package's source code.</p>
-
-<p>So what is a SlackBuild script? SlackBuild scripts are executable shell scripts that
-you run as <tt class="USERNAME">root</tt> to configure, compile, and create Slackware
-packages. You can freely modify these scripts in the source directory and run them to
-create your own versions of the default Slackware packages.</p>
-</div>
-</div>
-
-<div class="NAVFOOTER">
-<hr align="LEFT" width="100%" />
-<table summary="Footer navigation table" width="100%" border="0" cellpadding="0"
-cellspacing="0">
-<tr>
-<td width="33%" align="left" valign="top"><a
-href="package-management-package-utilities.html" accesskey="P">Prev</a></td>
-<td width="34%" align="center" valign="top"><a href="index.html"
-accesskey="H">Home</a></td>
-<td width="33%" align="right" valign="top"><a
-href="package-management-making-tags-and-tagfiles.html" accesskey="N">Next</a></td>
-</tr>
-
-<tr>
-<td width="33%" align="left" valign="top">Package Utilities</td>
-<td width="34%" align="center" valign="top"><a href="package-management.html"
-accesskey="U">Up</a></td>
-<td width="33%" align="right" valign="top">Making Tags and Tagfiles (for setup)</td>
-</tr>
-</table>
-</div>
-</body>
-</html>
-
diff --git a/slackbook/html/package-management-making-tags-and-tagfiles.html b/slackbook/html/package-management-making-tags-and-tagfiles.html
deleted file mode 100644
index 9c82bdf0..00000000
--- a/slackbook/html/package-management-making-tags-and-tagfiles.html
+++ /dev/null
@@ -1,136 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta name="generator" content="HTML Tidy, see www.w3.org" />
-<title>Making Tags and Tagfiles (for setup)</title>
-<meta name="GENERATOR" content="Modular DocBook HTML Stylesheet Version 1.7" />
-<link rel="HOME" title="Slackware Linux Essentials" href="index.html" />
-<link rel="UP" title="Slackware Package Management" href="package-management.html" />
-<link rel="PREVIOUS" title="Making Packages"
-href="package-management-making-packages.html" />
-<link rel="NEXT" title="ZipSlack" href="zipslack.html" />
-<link rel="STYLESHEET" type="text/css" href="docbook.css" />
-<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
-</head>
-<body class="SECT1" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#840084"
-alink="#0000FF">
-<div class="NAVHEADER">
-<table summary="Header navigation table" width="100%" border="0" cellpadding="0"
-cellspacing="0">
-<tr>
-<th colspan="3" align="center">Slackware Linux Essentials</th>
-</tr>
-
-<tr>
-<td width="10%" align="left" valign="bottom"><a
-href="package-management-making-packages.html" accesskey="P">Prev</a></td>
-<td width="80%" align="center" valign="bottom">Chapter 18 Slackware Package
-Management</td>
-<td width="10%" align="right" valign="bottom"><a href="zipslack.html"
-accesskey="N">Next</a></td>
-</tr>
-</table>
-
-<hr align="LEFT" width="100%" />
-</div>
-
-<div class="SECT1">
-<h1 class="SECT1"><a id="PACKAGE-MANAGEMENT-MAKING-TAGS-AND-TAGFILES"
-name="PACKAGE-MANAGEMENT-MAKING-TAGS-AND-TAGFILES">18.4 Making Tags and Tagfiles (for
-setup)</a></h1>
-
-<p>The Slackware setup program handles installation of the software packages on your
-system. There are files that tell the setup program which packages must be installed,
-which ones are optional, and which ones are selected by default by the setup program.</p>
-
-<p>A tagfile is in the first software series directory and is called tagfile. It lists
-the packages in that particular disk set and their status. The status can be:</p>
-
-<div class="TABLE"><a id="AEN6621" name="AEN6621"></a>
-<p><b>Table 18-3. Tagfile Status Options</b></p>
-
-<table border="0" frame="void" width="100%" class="CALSTABLE">
-<col width="25%" />
-<col width="75%" />
-<thead>
-<tr>
-<th>Option</th>
-<th>Meaning</th>
-</tr>
-</thead>
-
-<tbody>
-<tr>
-<td>ADD</td>
-<td>The package is required for proper system operation</td>
-</tr>
-
-<tr>
-<td>SKP</td>
-<td>The package will be automatically skipped</td>
-</tr>
-
-<tr>
-<td>REC</td>
-<td>The package is not required, but recommended</td>
-</tr>
-
-<tr>
-<td>OPT</td>
-<td>The package is optional</td>
-</tr>
-</tbody>
-</table>
-</div>
-
-<p>The format is simply:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-package_name: status
-</pre>
-</td>
-</tr>
-</table>
-
-<p>One package per line. The original tagfiles for each software series are stored as
-tagfile.org. So if you mess up yours, you can restore the original one.</p>
-
-<p>Many administrators prefer writing their own tagfiles and starting the installer and
-selecting &#8220;full&#8221;. The setup program will read the tagfiles and perform the
-installation according to their contents. If you use REC or OPT, a dialog box will be
-presented to the user asking whether or not they want a particular package. Therefore, it
-is recommended that you stick with ADD and SKP when writing tagfiles for automated
-installs.</p>
-
-<p>Just make sure your tagfiles are written to the same location as the originals. Or you
-can specify a custom tagfile path if you have custom tagfiles.</p>
-</div>
-
-<div class="NAVFOOTER">
-<hr align="LEFT" width="100%" />
-<table summary="Footer navigation table" width="100%" border="0" cellpadding="0"
-cellspacing="0">
-<tr>
-<td width="33%" align="left" valign="top"><a
-href="package-management-making-packages.html" accesskey="P">Prev</a></td>
-<td width="34%" align="center" valign="top"><a href="index.html"
-accesskey="H">Home</a></td>
-<td width="33%" align="right" valign="top"><a href="zipslack.html"
-accesskey="N">Next</a></td>
-</tr>
-
-<tr>
-<td width="33%" align="left" valign="top">Making Packages</td>
-<td width="34%" align="center" valign="top"><a href="package-management.html"
-accesskey="U">Up</a></td>
-<td width="33%" align="right" valign="top">ZipSlack</td>
-</tr>
-</table>
-</div>
-</body>
-</html>
-
diff --git a/slackbook/html/package-management-package-utilities.html b/slackbook/html/package-management-package-utilities.html
deleted file mode 100644
index 0179a5a8..00000000
--- a/slackbook/html/package-management-package-utilities.html
+++ /dev/null
@@ -1,330 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta name="generator" content="HTML Tidy, see www.w3.org" />
-<title>Package Utilities</title>
-<meta name="GENERATOR" content="Modular DocBook HTML Stylesheet Version 1.7" />
-<link rel="HOME" title="Slackware Linux Essentials" href="index.html" />
-<link rel="UP" title="Slackware Package Management" href="package-management.html" />
-<link rel="PREVIOUS" title="Slackware Package Management"
-href="package-management.html" />
-<link rel="NEXT" title="Making Packages"
-href="package-management-making-packages.html" />
-<link rel="STYLESHEET" type="text/css" href="docbook.css" />
-<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
-</head>
-<body class="SECT1" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#840084"
-alink="#0000FF">
-<div class="NAVHEADER">
-<table summary="Header navigation table" width="100%" border="0" cellpadding="0"
-cellspacing="0">
-<tr>
-<th colspan="3" align="center">Slackware Linux Essentials</th>
-</tr>
-
-<tr>
-<td width="10%" align="left" valign="bottom"><a href="package-management.html"
-accesskey="P">Prev</a></td>
-<td width="80%" align="center" valign="bottom">Chapter 18 Slackware Package
-Management</td>
-<td width="10%" align="right" valign="bottom"><a
-href="package-management-making-packages.html" accesskey="N">Next</a></td>
-</tr>
-</table>
-
-<hr align="LEFT" width="100%" />
-</div>
-
-<div class="SECT1">
-<h1 class="SECT1"><a id="PACKAGE-MANAGEMENT-PACKAGE-UTILITIES"
-name="PACKAGE-MANAGEMENT-PACKAGE-UTILITIES">18.2 Package Utilities</a></h1>
-
-<p>There are four main utilities for package management. They perform installation,
-removal, and upgrades of packages.</p>
-
-<div class="SECT2">
-<h2 class="SECT2"><a id="PACKAGE-MANAGEMENT-PACKAGE-UTILITIES-PKGTOOL"
-name="PACKAGE-MANAGEMENT-PACKAGE-UTILITIES-PKGTOOL">18.2.1 pkgtool</a></h2>
-
-<p><tt class="COMMAND">pkgtool</tt>(8) is a menu-driven program that allows installation
-and removal of packages. The main menu is shown in <a
-href="package-management-package-utilities.html#PKGTOOL-MAIN-MENU">Figure 18-1</a>.</p>
-
-<div class="FIGURE"><a id="PKGTOOL-MAIN-MENU" name="PKGTOOL-MAIN-MENU"></a>
-<p><b>Figure 18-1. Pkgtool's main menu.</b></p>
-
-<p><img src="package-management/pkgtool-w.png" /></p>
-</div>
-
-<p>Installation is offered from the current directory, another directory, or from floppy
-disks. Simply select the installation method you want and pkgtool will search that
-location for valid packages to install.</p>
-
-<p>You may also view a list of installed packages, as shown in <a
-href="package-management-package-utilities.html#PKGTOOL-VIEW-MODE">Figure 18-2</a>.</p>
-
-<div class="FIGURE"><a id="PKGTOOL-VIEW-MODE" name="PKGTOOL-VIEW-MODE"></a>
-<p><b>Figure 18-2. Pkgtool view mode</b></p>
-
-<p><img src="package-management/pkgtool-view-w.png" /></p>
-</div>
-
-<p>If you want to remove packages, select the remove option and you will be presented
-with a checklist of all the installed packages. Flag the ones you want to remove and
-select OK. <tt class="COMMAND">pkgtool</tt> will remove them.</p>
-
-<p>Some users prefer this utility to the command line utilities. However, it should be
-noted that the command line utilities offer many more options. Also, the ability to
-upgrade packages is only offered through the command line utilities.</p>
-</div>
-
-<div class="SECT2">
-<h2 class="SECT2"><a id="PACKAGE-MANAGEMENT-PACKAGE-UTILITIES-INSTALLPKG"
-name="PACKAGE-MANAGEMENT-PACKAGE-UTILITIES-INSTALLPKG">18.2.2 installpkg</a></h2>
-
-<p><tt class="COMMAND">installpkg</tt>(8) handles installation of new packages on the
-system. The syntax is as follows:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">#</samp> <kbd class="USERINPUT">installpkg option package_name</kbd>
-</pre>
-</td>
-</tr>
-</table>
-
-<p>Three options are provided for <tt class="COMMAND">installpkg</tt>. Only one option
-can be used at a time.</p>
-
-<div class="TABLE"><a id="AEN6446" name="AEN6446"></a>
-<p><b>Table 18-1. <tt class="COMMAND">installpkg</tt> Options</b></p>
-
-<table border="0" frame="void" class="CALSTABLE">
-<col width="1*" />
-<col width="3*" />
-<thead>
-<tr>
-<th align="LEFT">Option</th>
-<th align="LEFT">Effects</th>
-</tr>
-</thead>
-
-<tbody>
-<tr>
-<td>-m</td>
-<td>Performs a makepkg operation on the current directory.</td>
-</tr>
-
-<tr>
-<td>-warn</td>
-<td>Shows what would happen if you installed the specified package. This is useful for
-production systems so you can see exactly what would happen before installing
-something.</td>
-</tr>
-
-<tr>
-<td>-r</td>
-<td>Recursively install all packages in the current directory and down. The package name
-can use wildcards, which would be used as the search mask when recursively
-installing.</td>
-</tr>
-</tbody>
-</table>
-</div>
-
-<p>If you pass the <tt class="ENVAR">ROOT</tt> environment variable before <tt
-class="COMMAND">installpkg</tt>, that path will be used for the root directory. This is
-useful for setting up new drives for your root directory. They will typically be mounted
-to <tt class="FILENAME">/mnt</tt> or something other than <tt
-class="FILENAME">/</tt>.</p>
-
-<p>The installed package database entry is stored in <tt
-class="FILENAME">/var/log/packages</tt>. The entry is really just a plain text file, one
-for each package. If the package has a postinstallation script, it is written to <tt
-class="FILENAME">/var/log/scripts/</tt>.</p>
-
-<p>You may specify several packages or use wildcards for the package name. Be advised
-that <tt class="COMMAND">installpkg</tt> will not tell you if you are overwriting an
-installed package. It will simply install right on top of the old one. If you want to
-ensure that old files from the previous package are safely removed, use <tt
-class="COMMAND">upgradepkg</tt>.</p>
-</div>
-
-<div class="SECT2">
-<h2 class="SECT2"><a id="PACKAGE-MANAGEMENT-PACKAGE-UTILITIES-REMOVEPKG"
-name="PACKAGE-MANAGEMENT-PACKAGE-UTILITIES-REMOVEPKG">18.2.3 removepkg</a></h2>
-
-<p><tt class="COMMAND">removepkg</tt>(8) handles removing installed packages from the
-system. The syntax is as follows:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">#</samp> <kbd class="USERINPUT">removepkg option package_name</kbd>
-</pre>
-</td>
-</tr>
-</table>
-
-<p>Four options are provided for <tt class="COMMAND">removepkg</tt>. Only one option may
-be used at a time.</p>
-
-<div class="TABLE"><a id="AEN6491" name="AEN6491"></a>
-<p><b>Table 18-2. <tt class="COMMAND">removepkg</tt> Options</b></p>
-
-<table border="0" frame="void" class="CALSTABLE">
-<col width="1*" />
-<col width="3*" />
-<thead>
-<tr>
-<th>Option</th>
-<th>Effects</th>
-</tr>
-</thead>
-
-<tbody>
-<tr>
-<td>-copy</td>
-<td>The package is copied to the preserved packages directory. This creates a tree of the
-original package without removing it.</td>
-</tr>
-
-<tr>
-<td>-keep</td>
-<td>Saves temporary files created during the removal. Really only useful for debugging
-purposes.</td>
-</tr>
-
-<tr>
-<td>-preserve</td>
-<td>The package is removed, but copied to the preserved packages directory at the same
-time.</td>
-</tr>
-
-<tr>
-<td>-warn</td>
-<td>Shows what would happen if you removed the package.</td>
-</tr>
-</tbody>
-</table>
-</div>
-
-<p>If you pass the <tt class="ENVAR">ROOT</tt> environment variable before <tt
-class="COMMAND">removepkg</tt>, that path will be used for the root directory. This is
-useful for setting up new drives for your root directory. They will typically be mounted
-to <tt class="FILENAME">/mnt</tt> or something other than <tt
-class="FILENAME">/</tt>.</p>
-
-<p><tt class="COMMAND">removepkg</tt> looks at the other installed packages and only
-removes files unique to the package you specify. It will also scan the postinstallation
-script for the specified package and remove any symbolic links that were created by
-it.</p>
-
-<p>During the removal process, a status report is displayed. After the removal, the
-package database entry is moved to <tt class="FILENAME">/var/log/removed_packages</tt>
-and the postinstallation script is moved to <tt
-class="FILENAME">/var/log/removed</tt>_scripts.</p>
-
-<p>Just as with <tt class="COMMAND">installpkg</tt>, you can specify several packages or
-use wildcards for the package name.</p>
-</div>
-
-<div class="SECT2">
-<h2 class="SECT2"><a id="PACKAGE-MANAGEMENT-PACKAGE-UTILITIES-UPGRADEPKG"
-name="PACKAGE-MANAGEMENT-PACKAGE-UTILITIES-UPGRADEPKG">18.2.4 upgradepkg</a></h2>
-
-<p><tt class="COMMAND">upgradepkg</tt>(8) will upgrade an installed Slackware package.
-The syntax is as follows:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">#</samp> <kbd class="USERINPUT">upgradepkg package_name</kbd>
-</pre>
-</td>
-</tr>
-</table>
-
-<p>or</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">#</samp> <kbd
-class="USERINPUT">upgradepkg old_package_name%new_package_name</kbd>
-</pre>
-</td>
-</tr>
-</table>
-
-<p><tt class="COMMAND">upgradepkg</tt> works by first installing the new package and then
-removing the old package so that old files are no longer around on the system. If the
-upgraded package name has changed, use the percent sign syntax to specify the old package
-(the one that is installed) and the new package (the one you are upgrading it to).</p>
-
-<p>If you pass the <tt class="ENVAR">ROOT</tt> environment variable before <tt
-class="COMMAND">upgradepkg</tt>, that path will be used for the root directory. This is
-useful for setting up new drives for your root directory. They will typically be mounted
-to <tt class="FILENAME">/mnt</tt> or something other than <tt
-class="FILENAME">/</tt>.</p>
-
-<p><tt class="COMMAND">upgradepkg</tt> is not flawless. You should always back up your
-configuration files. If they get removed or overwritten, you'll want a copy of the
-originals for any needed repair work.</p>
-
-<p>Just as with <tt class="COMMAND">installpkg</tt> and <tt
-class="COMMAND">removepkg</tt>, you can specify several packages or use wildcards for the
-package name.</p>
-</div>
-
-<div class="SECT2">
-<h2 class="SECT2"><a id="PACKAGE-MANAGEMENT-PACKAGE-UTILITIES-RPM"
-name="PACKAGE-MANAGEMENT-PACKAGE-UTILITIES-RPM">18.2.5 <tt
-class="COMMAND">rpm2tgz</tt>/<tt class="COMMAND">rpm2targz</tt></a></h2>
-
-<p>The Red Hat Package Manager is a popular packaging system available today. Many
-software distributors are offering their products in RPM format. Since this is not our
-native format, we do not recommend people rely on them. However, some things are only
-available as an RPM (even the source).</p>
-
-<p>We provide a program that will convert RPM packages to our native <tt
-class="FILENAME">.tgz</tt> format. This will allow you to extract the package (perhaps
-with <tt class="COMMAND">explodepkg</tt>) to a temporary directory and examine its
-contents.</p>
-
-<p>The <tt class="COMMAND">rpm2tgz</tt> program will create a Slackware package with a
-<tt class="FILENAME">.tgz</tt> extension, while <tt class="FILENAME">rpm2targz</tt>
-creates an archive with a <tt class="FILENAME">.tar.gz</tt> extension.</p>
-</div>
-</div>
-
-<div class="NAVFOOTER">
-<hr align="LEFT" width="100%" />
-<table summary="Footer navigation table" width="100%" border="0" cellpadding="0"
-cellspacing="0">
-<tr>
-<td width="33%" align="left" valign="top"><a href="package-management.html"
-accesskey="P">Prev</a></td>
-<td width="34%" align="center" valign="top"><a href="index.html"
-accesskey="H">Home</a></td>
-<td width="33%" align="right" valign="top"><a
-href="package-management-making-packages.html" accesskey="N">Next</a></td>
-</tr>
-
-<tr>
-<td width="33%" align="left" valign="top">Slackware Package Management</td>
-<td width="34%" align="center" valign="top"><a href="package-management.html"
-accesskey="U">Up</a></td>
-<td width="33%" align="right" valign="top">Making Packages</td>
-</tr>
-</table>
-</div>
-</body>
-</html>
-
diff --git a/slackbook/html/package-management.html b/slackbook/html/package-management.html
deleted file mode 100644
index e6ddc32b..00000000
--- a/slackbook/html/package-management.html
+++ /dev/null
@@ -1,148 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta name="generator" content="HTML Tidy, see www.w3.org" />
-<title>Slackware Package Management</title>
-<meta name="GENERATOR" content="Modular DocBook HTML Stylesheet Version 1.7" />
-<link rel="HOME" title="Slackware Linux Essentials" href="index.html" />
-<link rel="PREVIOUS" title="Saving Files" href="emacs-saving-files.html" />
-<link rel="NEXT" title="Package Utilities"
-href="package-management-package-utilities.html" />
-<link rel="STYLESHEET" type="text/css" href="docbook.css" />
-<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
-</head>
-<body class="CHAPTER" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#840084"
-alink="#0000FF">
-<div class="NAVHEADER">
-<table summary="Header navigation table" width="100%" border="0" cellpadding="0"
-cellspacing="0">
-<tr>
-<th colspan="3" align="center">Slackware Linux Essentials</th>
-</tr>
-
-<tr>
-<td width="10%" align="left" valign="bottom"><a href="emacs-saving-files.html"
-accesskey="P">Prev</a></td>
-<td width="80%" align="center" valign="bottom"></td>
-<td width="10%" align="right" valign="bottom"><a
-href="package-management-package-utilities.html" accesskey="N">Next</a></td>
-</tr>
-</table>
-
-<hr align="LEFT" width="100%" />
-</div>
-
-<div class="CHAPTER">
-<h1><a id="PACKAGE-MANAGEMENT" name="PACKAGE-MANAGEMENT"></a>Chapter 18 Slackware Package
-Management</h1>
-
-<div class="TOC">
-<dl>
-<dt><b>Table of Contents</b></dt>
-
-<dt>18.1 <a href="package-management.html#PACKAGE-MANAGEMENT-OVERVIEW">Overview of
-Package Format</a></dt>
-
-<dt>18.2 <a href="package-management-package-utilities.html">Package Utilities</a></dt>
-
-<dt>18.3 <a href="package-management-making-packages.html">Making Packages</a></dt>
-
-<dt>18.4 <a href="package-management-making-tags-and-tagfiles.html">Making Tags and
-Tagfiles (for setup)</a></dt>
-</dl>
-</div>
-
-<p>A software package is a bundle of related programs that are ready for you to install.
-When you download a source code archive, you have to configure, compile, and install it
-by hand. With a software package, this has already been done for you. All that you have
-to do is install the package. Another handy feature of using software packages is that it
-is very easy to remove and upgrade them, if you so desire. Slackware comes with programs
-for all your package management needs. You can install, remove, upgrade, make, and
-examine packages very easily.</p>
-
-<p>There's a myth that's been going around ever since RedHat debuted RedHat Package
-Manager, that Slackware has no package management tool. This simply couldn't be further
-from the truth. Slackware has always included a package manager, even before RedHat
-existed. While not as full-featured or as ubiquitous as rpm (or for that matter deb), <tt
-class="COMMAND">pkgtool</tt> and its associated programs are every bit as good at
-installing packages as rpm. The truth about <tt class="COMMAND">pkgtool</tt> is not that
-it doesn't exist, but that it doesn't do any dependency checking.</p>
-
-<p>Apparently many people in the Linux community think that a packager manager must by
-definition include dependency checking. Well, that simply isn't the case, as Slackware
-most certainly does not. This is not to say that Slackware packages don't have
-dependencies, but rather that its package manager doesn't check for them. Dependency
-management is left up to the sysadmin, and that's the way we like it.</p>
-
-<div class="SECT1">
-<h1 class="SECT1"><a id="PACKAGE-MANAGEMENT-OVERVIEW"
-name="PACKAGE-MANAGEMENT-OVERVIEW">18.1 Overview of Package Format</a></h1>
-
-<p>Before learning the utilities, you should become familiar with the format of a
-Slackware package. In Slackware, a package is simply a tar archive file that has been
-compressed with <tt class="COMMAND">gzip</tt>. Packages are built to be extracted in the
-root directory.</p>
-
-<p>Here is a fictitious program and its example package:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-./
-usr/
-usr/bin/
-usr/bin/makehejaz
-usr/doc/
-usr/doc/makehejaz-1.0/
-usr/doc/makehejaz-1.0/COPYING
-usr/doc/makehejaz-1.0/README
-usr/man/
-usr/man/man1
-usr/man/man1/makehejaz.1.gz
-install/
-install/doinst.sh
-</pre>
-</td>
-</tr>
-</table>
-
-<p>The package system will extract this file in the root directory to install it. An
-entry in the package database will be created that contains the contents of this package
-so that it can be upgraded or removed later.</p>
-
-<p>Notice the <tt class="FILENAME">install/</tt> subdirectory. This is a special
-directory that can contain a postinstallation script called <tt
-class="FILENAME">doinst.sh</tt>. If the package system finds this file, it will execute
-it after installing the package.</p>
-
-<p>Other scripts can be embedded in the package, but those are discussed more in detail
-in <a href="package-management-making-packages.html#PACKAGE-MANAGEMENT-MAKEPKG">Section
-18.3.2</a> below.</p>
-</div>
-</div>
-
-<div class="NAVFOOTER">
-<hr align="LEFT" width="100%" />
-<table summary="Footer navigation table" width="100%" border="0" cellpadding="0"
-cellspacing="0">
-<tr>
-<td width="33%" align="left" valign="top"><a href="emacs-saving-files.html"
-accesskey="P">Prev</a></td>
-<td width="34%" align="center" valign="top"><a href="index.html"
-accesskey="H">Home</a></td>
-<td width="33%" align="right" valign="top"><a
-href="package-management-package-utilities.html" accesskey="N">Next</a></td>
-</tr>
-
-<tr>
-<td width="33%" align="left" valign="top">Saving Files</td>
-<td width="34%" align="center" valign="top">&nbsp;</td>
-<td width="33%" align="right" valign="top">Package Utilities</td>
-</tr>
-</table>
-</div>
-</body>
-</html>
-
diff --git a/slackbook/html/package-management/pkgtool-view-w.png b/slackbook/html/package-management/pkgtool-view-w.png
deleted file mode 100644
index 7a62a8bc..00000000
--- a/slackbook/html/package-management/pkgtool-view-w.png
+++ /dev/null
Binary files differ
diff --git a/slackbook/html/package-management/pkgtool-w.png b/slackbook/html/package-management/pkgtool-w.png
deleted file mode 100644
index 1a43423f..00000000
--- a/slackbook/html/package-management/pkgtool-w.png
+++ /dev/null
Binary files differ
diff --git a/slackbook/html/process-control-foregrounding.html b/slackbook/html/process-control-foregrounding.html
deleted file mode 100644
index 7b185ba7..00000000
--- a/slackbook/html/process-control-foregrounding.html
+++ /dev/null
@@ -1,138 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta name="generator" content="HTML Tidy, see www.w3.org" />
-<title>Foregrounding</title>
-<meta name="GENERATOR" content="Modular DocBook HTML Stylesheet Version 1.7" />
-<link rel="HOME" title="Slackware Linux Essentials" href="index.html" />
-<link rel="UP" title="Process Control" href="process-control.html" />
-<link rel="PREVIOUS" title="Process Control" href="process-control.html" />
-<link rel="NEXT" title="ps" href="process-control-ps.html" />
-<link rel="STYLESHEET" type="text/css" href="docbook.css" />
-<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
-</head>
-<body class="SECT1" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#840084"
-alink="#0000FF">
-<div class="NAVHEADER">
-<table summary="Header navigation table" width="100%" border="0" cellpadding="0"
-cellspacing="0">
-<tr>
-<th colspan="3" align="center">Slackware Linux Essentials</th>
-</tr>
-
-<tr>
-<td width="10%" align="left" valign="bottom"><a href="process-control.html"
-accesskey="P">Prev</a></td>
-<td width="80%" align="center" valign="bottom">Chapter 11 Process Control</td>
-<td width="10%" align="right" valign="bottom"><a href="process-control-ps.html"
-accesskey="N">Next</a></td>
-</tr>
-</table>
-
-<hr align="LEFT" width="100%" />
-</div>
-
-<div class="SECT1">
-<h1 class="SECT1"><a id="PROCESS-CONTROL-FOREGROUNDING"
-name="PROCESS-CONTROL-FOREGROUNDING">11.2 Foregrounding</a></h1>
-
-<p>If you need to interact with a backgrounded process, you can bring it back into the
-foreground. If you've only got one backgrounded process, you can bring it back by
-typing:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">%</samp> <kbd class="USERINPUT">fg</kbd>
-</pre>
-</td>
-</tr>
-</table>
-
-<p>If the program is not done running, the program will take control over you terminal
-and you will not be returned to a prompt. Sometimes, the program will finish running
-while backgrounded. In this instance, you'll get a message like this:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-[1]+ Done /bin/ls $LS_OPTIONS
-</pre>
-</td>
-</tr>
-</table>
-
-<p>That tells you that the backgrounded process (in this case <tt class="COMMAND">ls</tt>
-- not terribly interesting) has completed.</p>
-
-<p>It is possible to have several processes backgrounded at once. When this happens,
-you'll need to know which process you want to bring back to the foreground. Just typing
-<tt class="COMMAND">fg</tt> will foreground the process that was last backgrounded. What
-if you had a whole list of processes in the background? Luckily, bash includes a command
-to list all the processes. It's called <tt class="COMMAND">jobs</tt> and gives output
-like so:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">%</samp> <kbd class="USERINPUT">jobs</kbd>
-[1] Stopped vim
-[2]- Stopped amp
-[3]+ Stopped man ps
-</pre>
-</td>
-</tr>
-</table>
-
-<p>This shows you a list of all the processes that are backgrounded. As you can see, they
-are all stopped. This means that the processes are suspended. The number is a sort of ID
-for all the backgrounded processes. The ID with a plus sign beside it (<var
-class="LITERAL">man ps</var>) is the process that will be foregrounded if you just type
-<tt class="COMMAND">fg</tt>.</p>
-
-<p>If you wanted to foreground <tt class="COMMAND">vim</tt>, you would type:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">%</samp> <kbd class="USERINPUT">fg 1</kbd>
-</pre>
-</td>
-</tr>
-</table>
-
-<p>and <tt class="COMMAND">vim</tt> would spring back up to the console. Backgrounding
-processes can be very useful if you only have one terminal open over a dialup connection.
-You can have several programs running on that one terminal, periodically switching back
-and forth between them.</p>
-</div>
-
-<div class="NAVFOOTER">
-<hr align="LEFT" width="100%" />
-<table summary="Footer navigation table" width="100%" border="0" cellpadding="0"
-cellspacing="0">
-<tr>
-<td width="33%" align="left" valign="top"><a href="process-control.html"
-accesskey="P">Prev</a></td>
-<td width="34%" align="center" valign="top"><a href="index.html"
-accesskey="H">Home</a></td>
-<td width="33%" align="right" valign="top"><a href="process-control-ps.html"
-accesskey="N">Next</a></td>
-</tr>
-
-<tr>
-<td width="33%" align="left" valign="top">Process Control</td>
-<td width="34%" align="center" valign="top"><a href="process-control.html"
-accesskey="U">Up</a></td>
-<td width="33%" align="right" valign="top"><tt class="COMMAND">ps</tt></td>
-</tr>
-</table>
-</div>
-</body>
-</html>
-
diff --git a/slackbook/html/process-control-kill.html b/slackbook/html/process-control-kill.html
deleted file mode 100644
index 32292651..00000000
--- a/slackbook/html/process-control-kill.html
+++ /dev/null
@@ -1,182 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta name="generator" content="HTML Tidy, see www.w3.org" />
-<title>kill</title>
-<meta name="GENERATOR" content="Modular DocBook HTML Stylesheet Version 1.7" />
-<link rel="HOME" title="Slackware Linux Essentials" href="index.html" />
-<link rel="UP" title="Process Control" href="process-control.html" />
-<link rel="PREVIOUS" title="ps" href="process-control-ps.html" />
-<link rel="NEXT" title="top" href="process-control-top.html" />
-<link rel="STYLESHEET" type="text/css" href="docbook.css" />
-<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
-</head>
-<body class="SECT1" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#840084"
-alink="#0000FF">
-<div class="NAVHEADER">
-<table summary="Header navigation table" width="100%" border="0" cellpadding="0"
-cellspacing="0">
-<tr>
-<th colspan="3" align="center">Slackware Linux Essentials</th>
-</tr>
-
-<tr>
-<td width="10%" align="left" valign="bottom"><a href="process-control-ps.html"
-accesskey="P">Prev</a></td>
-<td width="80%" align="center" valign="bottom">Chapter 11 Process Control</td>
-<td width="10%" align="right" valign="bottom"><a href="process-control-top.html"
-accesskey="N">Next</a></td>
-</tr>
-</table>
-
-<hr align="LEFT" width="100%" />
-</div>
-
-<div class="SECT1">
-<h1 class="SECT1"><a id="PROCESS-CONTROL-KILL" name="PROCESS-CONTROL-KILL">11.4 <tt
-class="COMMAND">kill</tt></a></h1>
-
-<p>On occasion, programs misbehave and you'll need to put them back in line. The program
-for this kind of administration is called <tt class="COMMAND">kill</tt>(1), and it can be
-used for manipulating processes in several ways. The most obvious use of <tt
-class="COMMAND">kill</tt> is to kill off a process. You'll need to do this if a program
-has run away and is using up lots of system resources, or if you're just sick of it
-running.</p>
-
-<p>In order to kill off a process, you'll need to know its PID or its name. To get the
-PID, use the <tt class="COMMAND">ps</tt> command as was discussed in the last section.
-For example, to kill off process 4747, you'd issue the following:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">%</samp> <kbd class="USERINPUT">kill 4747</kbd>
-</pre>
-</td>
-</tr>
-</table>
-
-<p>Note that you'll have to be the owner of the process in order to kill it. This is a
-security feature. If you were allowed to kill off processes started by other users, it
-would be possible to do all sorts of malicious things. Of course, <tt
-class="USERNAME">root</tt> can kill off any process on the system.</p>
-
-<p>There's another variety of the <tt class="COMMAND">kill</tt> command called <tt
-class="COMMAND">killall</tt>(1). This program does exactly what it says: it kills all the
-running processes that have a certain name. If you wanted to kill off all the running <tt
-class="COMMAND">vim</tt> processes, you could type the following command:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">%</samp> <kbd class="USERINPUT">killall vim</kbd>
-</pre>
-</td>
-</tr>
-</table>
-
-<p>Any and all <tt class="COMMAND">vim</tt> processes you have running will die off.
-Doing this as <tt class="USERNAME">root</tt> would kill off all the <tt
-class="COMMAND">vim</tt> processes running for all users. This brings up an interesting
-way to kick everyone (including yourself) off the system:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">#</samp> <kbd class="USERINPUT">killall bash</kbd>
-</pre>
-</td>
-</tr>
-</table>
-
-<p>Sometimes a regular kill doesn't get the job done. Certain processes will not die with
-a kill. You'll need to use a more potent form. If that pesky PID 4747 wasn't responding
-to your kill request, you could do the following:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">%</samp> <kbd class="USERINPUT">kill -9 4747</kbd>
-</pre>
-</td>
-</tr>
-</table>
-
-<p>That will almost certainly cause process 4747 to die. You can do the same thing with
-<tt class="COMMAND">killall</tt>. What this is doing is sending a different signal to the
-process. A regular <tt class="COMMAND">kill</tt> sends a <var
-class="LITERAL">SIGTERM</var> (terminate) signal to the process, which tells it to finish
-what it's doing, clean up, and exit. <tt class="COMMAND">kill -9</tt> sends a <var
-class="LITERAL">SIGKILL</var> (kill) signal to the process, which essentially drops it.
-The process is not allowed to clean-up, and sometimes bad things like data corruption
-could occur by killing something with a <var class="LITERAL">SIGKILL</var>. There's a
-whole list of signals at your disposal. You can get a listing of signals by typing the
-following:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">%</samp> <kbd class="USERINPUT">kill -l</kbd>
- 1) SIGHUP 2) SIGINT 3) SIGQUIT 4) SIGILL
- 5) SIGTRAP 6) SIGABRT 7) SIGBUS 8) SIGFPE
- 9) SIGKILL 10) SIGUSR1 11) SIGSEGV 12) SIGUSR2
- 13) SIGPIPE 14) SIGALRM 15) SIGTERM 17) SIGCHLD
- 18) SIGCONT 19) SIGSTOP 20) SIGTSTP 21) SIGTTIN
- 22) SIGTTOU 23) SIGURG 24) SIGXCPU 25) SIGXFSZ
- 26) SIGVTALRM 27) SIGPROF 28) SIGWINCH 29) SIGIO
- 30) SIGPWR
-</pre>
-</td>
-</tr>
-</table>
-
-<p>The number must be used for <tt class="COMMAND">kill</tt>, while the name minus the
-leading &#8220;SIG&#8221; can be used with <tt class="COMMAND">killall</tt>. Here's
-another example:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">%</samp> <kbd class="USERINPUT">killall -KILL vim</kbd>
-</pre>
-</td>
-</tr>
-</table>
-
-<p>A final use of <tt class="COMMAND">kill</tt> is to restart a process. Sending a <var
-class="LITERAL">SIGHUP</var> will cause most processes to re-read their configuration
-files. This is especially helpful for telling system processes to re-read their config
-files after editing.</p>
-</div>
-
-<div class="NAVFOOTER">
-<hr align="LEFT" width="100%" />
-<table summary="Footer navigation table" width="100%" border="0" cellpadding="0"
-cellspacing="0">
-<tr>
-<td width="33%" align="left" valign="top"><a href="process-control-ps.html"
-accesskey="P">Prev</a></td>
-<td width="34%" align="center" valign="top"><a href="index.html"
-accesskey="H">Home</a></td>
-<td width="33%" align="right" valign="top"><a href="process-control-top.html"
-accesskey="N">Next</a></td>
-</tr>
-
-<tr>
-<td width="33%" align="left" valign="top"><tt class="COMMAND">ps</tt></td>
-<td width="34%" align="center" valign="top"><a href="process-control.html"
-accesskey="U">Up</a></td>
-<td width="33%" align="right" valign="top"><tt class="COMMAND">top</tt></td>
-</tr>
-</table>
-</div>
-</body>
-</html>
-
diff --git a/slackbook/html/process-control-ps.html b/slackbook/html/process-control-ps.html
deleted file mode 100644
index 27b84268..00000000
--- a/slackbook/html/process-control-ps.html
+++ /dev/null
@@ -1,243 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta name="generator" content="HTML Tidy, see www.w3.org" />
-<title>ps</title>
-<meta name="GENERATOR" content="Modular DocBook HTML Stylesheet Version 1.7" />
-<link rel="HOME" title="Slackware Linux Essentials" href="index.html" />
-<link rel="UP" title="Process Control" href="process-control.html" />
-<link rel="PREVIOUS" title="Foregrounding" href="process-control-foregrounding.html" />
-<link rel="NEXT" title="kill" href="process-control-kill.html" />
-<link rel="STYLESHEET" type="text/css" href="docbook.css" />
-<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
-</head>
-<body class="SECT1" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#840084"
-alink="#0000FF">
-<div class="NAVHEADER">
-<table summary="Header navigation table" width="100%" border="0" cellpadding="0"
-cellspacing="0">
-<tr>
-<th colspan="3" align="center">Slackware Linux Essentials</th>
-</tr>
-
-<tr>
-<td width="10%" align="left" valign="bottom"><a href="process-control-foregrounding.html"
-accesskey="P">Prev</a></td>
-<td width="80%" align="center" valign="bottom">Chapter 11 Process Control</td>
-<td width="10%" align="right" valign="bottom"><a href="process-control-kill.html"
-accesskey="N">Next</a></td>
-</tr>
-</table>
-
-<hr align="LEFT" width="100%" />
-</div>
-
-<div class="SECT1">
-<h1 class="SECT1"><a id="PROCESS-CONTROL-PS" name="PROCESS-CONTROL-PS">11.3 <tt
-class="COMMAND">ps</tt></a></h1>
-
-<p>So now you know how to switch back and forth between several processes that you've
-started from the command line. And you also know that there are lots of processes running
-all the time. So how do you list all of these programs? Well, you make use of the <tt
-class="COMMAND">ps</tt>(1) command. This command has a lot of options, so we'll only
-cover the most important ones here. For a complete listing, see the man page for ps. Man
-pages are covered in-depth in <a href="help.html#HELP-SYSTEM-MAN">Section 2.1.1</a>.</p>
-
-<p>Simply typing <tt class="COMMAND">ps</tt> will get you a listing of the programs
-running on your terminal. This incudes the foreground processes (which include whatever
-shell you are using, and of course, <tt class="COMMAND">ps</tt> itself). Also listed are
-backgrounded processes you may have running. Many times, that will be a very short
-listing:</p>
-
-<div class="FIGURE"><a id="FIG-PROCESS-CONTROL-PS-SHORT"
-name="FIG-PROCESS-CONTROL-PS-SHORT"></a>
-<p><b>Figure 11-1. Basic <tt class="COMMAND">ps</tt> output</b></p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">%</samp> <kbd class="USERINPUT">ps</kbd>
- PID TTY TIME CMD
- 7923 ttyp0 00:00:00 bash
- 8059 ttyp0 00:00:00 ps
-</pre>
-</td>
-</tr>
-</table>
-</div>
-
-<p>Even though this is not a lot of processes, the information is very typical. You'll
-get the same columns using regular ps no matter how many processes are running. So what
-does it all mean?</p>
-
-<p>Well, the <var class="LITERAL">PID</var> is the <span class="emphasis"><i
-class="EMPHASIS">process ID</i></span>. All running processes are given a unique
-identifier which ranges between 1 and 32767. Each process is assigned the next free PID.
-When a process quits (or is killed, as you will see in the next section), it gives up its
-PID. When the max PID is reached, the next free one will wrap back around to the lowest
-free one.</p>
-
-<p>The <var class="LITERAL">TTY</var> column indicates which terminal the process is
-running on. Doing a plain <tt class="COMMAND">ps</tt> will only list all the programs
-running on the current terminal, so all the processes give the same information in the
-TTY column. As you can see, both processes listed are running on <tt
-class="FILENAME">ttyp0</tt>. This indicates that they are either running remotely or from
-an X terminal of some variety.</p>
-
-<p>The <var class="LITERAL">TIME</var> column indicated how much CPU time the process has
-been running. This is different from the actual amount of time that a process runs.
-Remember that Linux is a multitasking operating system. There are many processes running
-all the time, and these processes each get a small portion of the processor's time. So,
-the TIME column should show much less time for each process than it actually takes to
-run. If you see more than several minutes in the TIME column, it could mean that
-something is wrong.</p>
-
-<p>Finally, the <var class="LITERAL">CMD</var> column shows what the program actually is.
-It only lists the base name of the program, not any command line options or similar
-information. To get that information, you'll need to use one of the many options to <tt
-class="COMMAND">ps</tt>. We'll discuss that shortly.</p>
-
-<p>You can get a complete listing of the processes running on your system using the right
-combination of options. This will probably result in a long listing of processes
-(fifty-five on my laptop as I write this sentence), so I'll abbreviate the output:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">%</samp> <kbd class="USERINPUT">ps -ax</kbd>
- PID TTY STAT TIME COMMAND
- 1 ? S 0:03 init [3]
- 2 ? SW 0:13 [kflushd]
- 3 ? SW 0:14 [kupdate]
- 4 ? SW 0:00 [kpiod]
- 5 ? SW 0:17 [kswapd]
- 11 ? S 0:00 /sbin/kerneld
- 30 ? SW 0:01 [cardmgr]
- 50 ? S 0:00 /sbin/rpc.portmap
- 54 ? S 0:00 /usr/sbin/syslogd
- 57 ? S 0:00 /usr/sbin/klogd -c 3
- 59 ? S 0:00 /usr/sbin/inetd
- 61 ? S 0:04 /usr/local/sbin/sshd
- 63 ? S 0:00 /usr/sbin/rpc.mountd
- 65 ? S 0:00 /usr/sbin/rpc.nfsd
- 67 ? S 0:00 /usr/sbin/crond -l10
- 69 ? S 0:00 /usr/sbin/atd -b 15 -l 1
- 77 ? S 0:00 /usr/sbin/apmd
- 79 ? S 0:01 gpm -m /dev/mouse -t ps2
- 94 ? S 0:00 /usr/sbin/automount /auto file /etc/auto.misc
- 106 tty1 S 0:08 -bash
- 108 tty3 SW 0:00 [agetty]
- 109 tty4 SW 0:00 [agetty]
- 110 tty5 SW 0:00 [agetty]
- 111 tty6 SW 0:00 [agetty]
- [output cut]
-</pre>
-</td>
-</tr>
-</table>
-
-<p>Most of these processes are started at boot time on most systems. I've made a few
-modifications to my system, so your mileage will most likely vary. However, you will see
-most of these processes on your system too. As you can see, these options display command
-line options to the running processes. Recently, a kernel vulnerability in <tt
-class="COMMAND">ptrace</tt> facilitated a fix which no longer shows command line options
-for many running processes. These are now listed in brackets like PIDs 108 through 110.
-It also brings up a few more columns and some other interesting output.</p>
-
-<p>First, you'll notice that most of these processes are listed as running on tty
-&#8220;?&#8221;. Those are not attached to any particular terminal. This is most common
-with daemons, which are processes which run without attaching to any particular terminal.
-Common daemons are sendmail, BIND, apache, and NFS. They typically listen for some
-request from a client, and return information to it upon request.</p>
-
-<p>Second, there is a new column: <var class="LITERAL">STAT</var>. It shows the status of
-the process. <var class="LITERAL">S</var> stands for sleeping: the process is waiting for
-something to happen. <var class="LITERAL">Z</var> stands for a zombied process. A zombied
-processes is one whose parent has died, leaving the child processes behind. This is not a
-good thing. <var class="LITERAL">D</var> stands for a process that has entered an
-uninterruptible sleep. Often, these processes refuse to die even when passed a SIGKILL.
-You can read more about SIGKILL later in the next section on <tt
-class="COMMAND">kill</tt> . W stands for paging. A dead process is marked with an <var
-class="LITERAL">X</var>. A process marked <var class="LITERAL">T</var> is traced, or
-stopped. <var class="LITERAL">R</var> means that the process is runable.</p>
-
-<p>If you want to see even more information about the running processes, try this
-out:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">%</samp> <kbd class="USERINPUT">ps -aux</kbd>
- USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
- root 1 0.0 0.0 344 80 ? S Mar02 0:03 init [3]
- root 2 0.0 0.0 0 0 ? SW Mar02 0:13 [kflushd]
- root 3 0.0 0.0 0 0 ? SW Mar02 0:14 [kupdate]
- root 4 0.0 0.0 0 0 ? SW Mar02 0:00 [kpiod]
- root 5 0.0 0.0 0 0 ? SW Mar02 0:17 [kswapd]
- root 11 0.0 0.0 1044 44 ? S Mar02 0:00 /sbin/kerneld
- root 30 0.0 0.0 1160 0 ? SW Mar02 0:01 [cardmgr]
- bin 50 0.0 0.0 1076 120 ? S Mar02 0:00 /sbin/rpc.port
- root 54 0.0 0.1 1360 192 ? S Mar02 0:00 /usr/sbin/sysl
- root 57 0.0 0.1 1276 152 ? S Mar02 0:00 /usr/sbin/klog
- root 59 0.0 0.0 1332 60 ? S Mar02 0:00 /usr/sbin/inet
- root 61 0.0 0.2 1540 312 ? S Mar02 0:04 /usr/local/sbi
- root 63 0.0 0.0 1796 72 ? S Mar02 0:00 /usr/sbin/rpc.
- root 65 0.0 0.0 1812 68 ? S Mar02 0:00 /usr/sbin/rpc.
- root 67 0.0 0.2 1172 260 ? S Mar02 0:00 /usr/sbin/cron
- root 77 0.0 0.2 1048 316 ? S Mar02 0:00 /usr/sbin/apmd
- root 79 0.0 0.1 1100 152 ? S Mar02 0:01 gpm
- root 94 0.0 0.2 1396 280 ? S Mar02 0:00 /usr/sbin/auto
- chris 106 0.0 0.5 1820 680 tty1 S Mar02 0:08 -bash
- root 108 0.0 0.0 1048 0 tty3 SW Mar02 0:00 [agetty]
- root 109 0.0 0.0 1048 0 tty4 SW Mar02 0:00 [agetty]
- root 110 0.0 0.0 1048 0 tty5 SW Mar02 0:00 [agetty]
- root 111 0.0 0.0 1048 0 tty6 SW Mar02 0:00 [agetty]
- [output cut]
-</pre>
-</td>
-</tr>
-</table>
-
-<p>That's a whole lot of information. Basically, it adds information including what user
-started the process, how much of the system resources the process is using (the %CPU,
-%MEM, VSZ, and RSS columns), and on what date the process was started. Obviously, that's
-a lot of information that could come in handy for a system administrator. It also brings
-up another point: the information now goes off the edge of the screen so that you cannot
-see it all. The <var class="OPTION">-w</var> option will force <tt
-class="COMMAND">ps</tt> to wrap long lines.</p>
-
-<p>It's not terribly pretty, but it does the job. You've now got the complete listings
-for each process. There's even more information that you can display about each process.
-Check out the very in-depth man page for <tt class="COMMAND">ps</tt>. However, the
-options shown above are the most popular ones and will be the ones you need to use the
-most often.</p>
-</div>
-
-<div class="NAVFOOTER">
-<hr align="LEFT" width="100%" />
-<table summary="Footer navigation table" width="100%" border="0" cellpadding="0"
-cellspacing="0">
-<tr>
-<td width="33%" align="left" valign="top"><a href="process-control-foregrounding.html"
-accesskey="P">Prev</a></td>
-<td width="34%" align="center" valign="top"><a href="index.html"
-accesskey="H">Home</a></td>
-<td width="33%" align="right" valign="top"><a href="process-control-kill.html"
-accesskey="N">Next</a></td>
-</tr>
-
-<tr>
-<td width="33%" align="left" valign="top">Foregrounding</td>
-<td width="34%" align="center" valign="top"><a href="process-control.html"
-accesskey="U">Up</a></td>
-<td width="33%" align="right" valign="top"><tt class="COMMAND">kill</tt></td>
-</tr>
-</table>
-</div>
-</body>
-</html>
-
diff --git a/slackbook/html/process-control-top.html b/slackbook/html/process-control-top.html
deleted file mode 100644
index c15f0f4e..00000000
--- a/slackbook/html/process-control-top.html
+++ /dev/null
@@ -1,168 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta name="generator" content="HTML Tidy, see www.w3.org" />
-<title>top</title>
-<meta name="GENERATOR" content="Modular DocBook HTML Stylesheet Version 1.7" />
-<link rel="HOME" title="Slackware Linux Essentials" href="index.html" />
-<link rel="UP" title="Process Control" href="process-control.html" />
-<link rel="PREVIOUS" title="kill" href="process-control-kill.html" />
-<link rel="NEXT" title="Essential System Administration"
-href="essential-sysadmin.html" />
-<link rel="STYLESHEET" type="text/css" href="docbook.css" />
-<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
-</head>
-<body class="SECT1" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#840084"
-alink="#0000FF">
-<div class="NAVHEADER">
-<table summary="Header navigation table" width="100%" border="0" cellpadding="0"
-cellspacing="0">
-<tr>
-<th colspan="3" align="center">Slackware Linux Essentials</th>
-</tr>
-
-<tr>
-<td width="10%" align="left" valign="bottom"><a href="process-control-kill.html"
-accesskey="P">Prev</a></td>
-<td width="80%" align="center" valign="bottom">Chapter 11 Process Control</td>
-<td width="10%" align="right" valign="bottom"><a href="essential-sysadmin.html"
-accesskey="N">Next</a></td>
-</tr>
-</table>
-
-<hr align="LEFT" width="100%" />
-</div>
-
-<div class="SECT1">
-<h1 class="SECT1"><a id="PROCESS-CONTROL-TOP" name="PROCESS-CONTROL-TOP">11.5 <tt
-class="COMMAND">top</tt></a></h1>
-
-<p>Finally, there's a command you can use to display updating information about the
-processes running on the system. This command is called <tt class="COMMAND">top</tt>(1),
-and is started like so:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">%</samp> <kbd class="USERINPUT">top</kbd>
-</pre>
-</td>
-</tr>
-</table>
-
-<p>This will display a full screen of information about the processes running on the
-system, as well as some overall information about the system. This includes load average,
-number of processes, the CPU status, free memory information, and details about processes
-including PID, user, priority, CPU and memory usage information, running time, and
-program name.</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
- 6:47pm up 1 day, 18:01, 1 user, load average: 0.02, 0.07, 0.02
-61 processes: 59 sleeping, 2 running, 0 zombie, 0 stopped
-CPU states: 2.8% user, 3.1% system, 0.0% nice, 93.9% idle
-Mem: 257992K av, 249672K used, 8320K free, 51628K shrd, 78248K buff
-Swap: 32764K av, 136K used, 32628K free, 82600K cached
-
-<span class="emphasis"><i
-class="EMPHASIS">PID USER PRI NI SIZE RSS SHARE STAT LIB %CPU %MEM TIME COMMAND</i></span>
- 112 root 12 0 19376 18M 2468 R 0 3.7 7.5 55:53 X
-4947 david 15 0 2136 2136 1748 S 0 2.3 0.8 0:00 screenshot
-3398 david 7 0 20544 20M 3000 S 0 1.5 7.9 0:14 gimp
-4946 root 12 0 1040 1040 836 R 0 1.5 0.4 0:00 top
- 121 david 4 0 796 796 644 S 0 1.1 0.3 25:37 wmSMPmon
- 115 david 3 0 2180 2180 1452 S 0 0.3 0.8 1:35 wmaker
-4948 david 16 0 776 776 648 S 0 0.3 0.3 0:00 xwd
- 1 root 1 0 176 176 148 S 0 0.1 0.0 0:13 init
- 189 david 1 0 6256 6156 4352 S 0 0.1 2.4 3:16 licq
-4734 david 0 0 1164 1164 916 S 0 0.1 0.4 0:00 rxvt
- 2 root 0 0 0 0 0 SW 0 0.0 0.0 0:08 kflushd
- 3 root 0 0 0 0 0 SW 0 0.0 0.0 0:06 kupdate
- 4 root 0 0 0 0 0 SW 0 0.0 0.0 0:00 kpiod
- 5 root 0 0 0 0 0 SW 0 0.0 0.0 0:04 kswapd
- 31 root 0 0 340 340 248 S 0 0.0 0.1 0:00 kerneld
- 51 root 0 0 48 48 32 S 0 0.0 0.0 0:00 dhcpcd
- 53 bin 0 0 316 316 236 S 0 0.0 0.1 0:00 rpc.portmap
- 57 root 0 0 588 588 488 S 0 0.0 0.2 0:01 syslogd
-</pre>
-</td>
-</tr>
-</table>
-
-<p>It's called <tt class="COMMAND">top</tt> because the most CPU intensive programs will
-be listed at the top. An interesting note is that top will be listed first on most
-inactive (and some active) systems because of its CPU utilization. However, <tt
-class="COMMAND">top</tt> is quite useful for determining what program is misbehaving and
-needs to be killed off.</p>
-
-<p>But suppose you only want a list of your own processes, or the processes of some other
-user. The processes you want to see might not be among the most CPU intensive programs
-currently running. The <var class="OPTION">-u</var> option allows you to specify a
-username or UID and monitor only those processes owned by that UID.</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">%</samp> <kbd class="USERINPUT">top -u alan</kbd>
- PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
-3622 alan 13 0 11012 10m 6956 S 1.0 2.1 0:03.66 gnome-terminal
-3739 alan 13 0 1012 1012 804 R 0.3 0.2 0:00.06 top
-3518 alan 9 0 1312 1312 1032 S 0.0 0.3 0:00.09 bash
-3529 alan 9 0 984 984 848 S 0.0 0.2 0:00.00 startx
-3544 alan 9 0 640 640 568 S 0.0 0.1 0:00.00 xinit
-3548 alan 9 0 8324 8320 6044 S 0.0 1.6 0:00.30 gnome-session
-3551 alan 9 0 7084 7084 1968 S 0.0 1.4 0:00.50 gconfd-2
-3553 alan 9 0 2232 2232 380 S 0.0 0.4 0:00.05 esd
-3555 alan 9 0 2552 2552 1948 S 0.0 0.5 0:00.10 bonobo-activati
-3557 alan 9 0 2740 2740 2224 S 0.0 0.5 0:00.05 gnome-smproxy
-3559 alan 9 0 6496 6492 5004 S 0.0 1.3 0:00.31 gnome-settings-
-3565 alan 9 0 1740 1740 1440 S 0.0 0.3 0:00.28 xscreensaver
-3568 alan 9 0 7052 7052 4960 S 0.0 1.4 0:02.28 metacity
-3572 alan 9 0 11412 11m 7992 S 0.0 2.2 0:01.58 gnome-panel
-3574 alan 9 0 12148 11m 8780 S 0.0 2.4 0:00.64 nautilus
-3575 alan 9 0 12148 11m 8780 S 0.0 2.4 0:00.00 nautilus
-3576 alan 9 0 12148 11m 8780 S 0.0 2.4 0:00.00 nautilus
-</pre>
-</td>
-</tr>
-</table>
-
-<p>As you can see, I'm currently running <tt class="COMMAND">X</tt>, <tt
-class="COMMAND">top</tt>, a <tt class="COMMAND">gnome-terminal</tt> (in which I'm writing
-this) and many other X-related processes which take up the most CPU time for me. This is
-a good way to monitor how hard your users are working your system.</p>
-
-<p><tt class="COMMAND">top</tt> also supports monitoring processes by their PID, ignoring
-idle and zombied processes, and many other options. The best place to get a handle on
-these options is the man page for <tt class="COMMAND">top</tt>.</p>
-</div>
-
-<div class="NAVFOOTER">
-<hr align="LEFT" width="100%" />
-<table summary="Footer navigation table" width="100%" border="0" cellpadding="0"
-cellspacing="0">
-<tr>
-<td width="33%" align="left" valign="top"><a href="process-control-kill.html"
-accesskey="P">Prev</a></td>
-<td width="34%" align="center" valign="top"><a href="index.html"
-accesskey="H">Home</a></td>
-<td width="33%" align="right" valign="top"><a href="essential-sysadmin.html"
-accesskey="N">Next</a></td>
-</tr>
-
-<tr>
-<td width="33%" align="left" valign="top"><tt class="COMMAND">kill</tt></td>
-<td width="34%" align="center" valign="top"><a href="process-control.html"
-accesskey="U">Up</a></td>
-<td width="33%" align="right" valign="top">Essential System Administration</td>
-</tr>
-</table>
-</div>
-</body>
-</html>
-
diff --git a/slackbook/html/process-control.html b/slackbook/html/process-control.html
deleted file mode 100644
index 8727262d..00000000
--- a/slackbook/html/process-control.html
+++ /dev/null
@@ -1,138 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta name="generator" content="HTML Tidy, see www.w3.org" />
-<title>Process Control</title>
-<meta name="GENERATOR" content="Modular DocBook HTML Stylesheet Version 1.7" />
-<link rel="HOME" title="Slackware Linux Essentials" href="index.html" />
-<link rel="PREVIOUS" title="Aliasing files with ln" href="file-commands-link.html" />
-<link rel="NEXT" title="Foregrounding" href="process-control-foregrounding.html" />
-<link rel="STYLESHEET" type="text/css" href="docbook.css" />
-<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
-</head>
-<body class="CHAPTER" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#840084"
-alink="#0000FF">
-<div class="NAVHEADER">
-<table summary="Header navigation table" width="100%" border="0" cellpadding="0"
-cellspacing="0">
-<tr>
-<th colspan="3" align="center">Slackware Linux Essentials</th>
-</tr>
-
-<tr>
-<td width="10%" align="left" valign="bottom"><a href="file-commands-link.html"
-accesskey="P">Prev</a></td>
-<td width="80%" align="center" valign="bottom"></td>
-<td width="10%" align="right" valign="bottom"><a
-href="process-control-foregrounding.html" accesskey="N">Next</a></td>
-</tr>
-</table>
-
-<hr align="LEFT" width="100%" />
-</div>
-
-<div class="CHAPTER">
-<h1><a id="PROCESS-CONTROL" name="PROCESS-CONTROL"></a>Chapter 11 Process Control</h1>
-
-<div class="TOC">
-<dl>
-<dt><b>Table of Contents</b></dt>
-
-<dt>11.1 <a
-href="process-control.html#PROCESS-CONTROL-BACKGROUNDING">Backgrounding</a></dt>
-
-<dt>11.2 <a href="process-control-foregrounding.html">Foregrounding</a></dt>
-
-<dt>11.3 <a href="process-control-ps.html"><tt class="COMMAND">ps</tt></a></dt>
-
-<dt>11.4 <a href="process-control-kill.html"><tt class="COMMAND">kill</tt></a></dt>
-
-<dt>11.5 <a href="process-control-top.html"><tt class="COMMAND">top</tt></a></dt>
-</dl>
-</div>
-
-<p>Every program that is running is called a process. These processes range from things
-like the X Window System to system programs (daemons) that are started when the computer
-boots. Every process runs as a particular user. Processes that are started at boot time
-usually run as <tt class="USERNAME">root</tt> or <tt class="USERNAME">nobody</tt>.
-Processes that you start will run as you. Processes started as other users will run as
-those users.</p>
-
-<p>You have control over all the processes that you start. Additionally, <tt
-class="USERNAME">root</tt> has control over all processes on the system, including those
-started by other users. Processes can be controlled and monitored through several
-programs, as well as some shell commands.</p>
-
-<div class="SECT1">
-<h1 class="SECT1"><a id="PROCESS-CONTROL-BACKGROUNDING"
-name="PROCESS-CONTROL-BACKGROUNDING">11.1 Backgrounding</a></h1>
-
-<p>Programs started from the command line start up in the foreground. This allows you to
-see all the output of the program and interact with it. However, there are several
-occasions when you'd like the program to run without taking up your terminal. This is
-called running the program in the background, and there are a few ways to do it.</p>
-
-<p>The first way to background a process is by adding an ampersand to the command line
-when you start the program. For example, assume you wanted to use the command line mp3
-player <tt class="COMMAND">amp</tt> to play a directory full of mp3s, but you needed to
-do something else on the same terminal. The following command line would start up amp in
-the background:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">%</samp> <kbd class="USERINPUT">amp *.mp3 &#38;</kbd>
-</pre>
-</td>
-</tr>
-</table>
-
-<p>The program will run as normal, and you are returned to a prompt.</p>
-
-<p>The other way to background a process is to do so while it is running. First, start up
-a program. While it is running, hit <b class="KEYCAP">Control</b>+<b
-class="KEYCAP">z</b>. This suspends the process. A suspended process is basically paused.
-It momentarily stops running, but can be started up again at any time. Once you have
-suspended a process, you are returned to a prompt. You can background the process by
-typing:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">%</samp> <kbd class="USERINPUT">bg</kbd>
-</pre>
-</td>
-</tr>
-</table>
-
-<p>Now the suspended process is running in the background.</p>
-</div>
-</div>
-
-<div class="NAVFOOTER">
-<hr align="LEFT" width="100%" />
-<table summary="Footer navigation table" width="100%" border="0" cellpadding="0"
-cellspacing="0">
-<tr>
-<td width="33%" align="left" valign="top"><a href="file-commands-link.html"
-accesskey="P">Prev</a></td>
-<td width="34%" align="center" valign="top"><a href="index.html"
-accesskey="H">Home</a></td>
-<td width="33%" align="right" valign="top"><a href="process-control-foregrounding.html"
-accesskey="N">Next</a></td>
-</tr>
-
-<tr>
-<td width="33%" align="left" valign="top">Aliasing files with <tt
-class="COMMAND">ln</tt></td>
-<td width="34%" align="center" valign="top">&nbsp;</td>
-<td width="33%" align="right" valign="top">Foregrounding</td>
-</tr>
-</table>
-</div>
-</body>
-</html>
-
diff --git a/slackbook/html/security-current.html b/slackbook/html/security-current.html
deleted file mode 100644
index 12e20716..00000000
--- a/slackbook/html/security-current.html
+++ /dev/null
@@ -1,138 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta name="generator" content="HTML Tidy, see www.w3.org" />
-<title>Keeping Current</title>
-<meta name="GENERATOR" content="Modular DocBook HTML Stylesheet Version 1.7" />
-<link rel="HOME" title="Slackware Linux Essentials" href="index.html" />
-<link rel="UP" title="Security" href="security.html" />
-<link rel="PREVIOUS" title="Host Access Control" href="security-host.html" />
-<link rel="NEXT" title="Archive Files" href="archive-files.html" />
-<link rel="STYLESHEET" type="text/css" href="docbook.css" />
-<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
-</head>
-<body class="SECT1" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#840084"
-alink="#0000FF">
-<div class="NAVHEADER">
-<table summary="Header navigation table" width="100%" border="0" cellpadding="0"
-cellspacing="0">
-<tr>
-<th colspan="3" align="center">Slackware Linux Essentials</th>
-</tr>
-
-<tr>
-<td width="10%" align="left" valign="bottom"><a href="security-host.html"
-accesskey="P">Prev</a></td>
-<td width="80%" align="center" valign="bottom">Chapter 14 Security</td>
-<td width="10%" align="right" valign="bottom"><a href="archive-files.html"
-accesskey="N">Next</a></td>
-</tr>
-</table>
-
-<hr align="LEFT" width="100%" />
-</div>
-
-<div class="SECT1">
-<h1 class="SECT1"><a id="SECURITY-CURRENT" name="SECURITY-CURRENT">14.3 Keeping
-Current</a></h1>
-
-<div class="SECT2">
-<h2 class="SECT2"><a id="SECURITY-CURRENT-LIST" name="SECURITY-CURRENT-LIST">14.3.1 <var
-class="LITERAL">slackware-security</var> mailing list</a></h2>
-
-<p>Whenever a security problem affects Slackware, an email is sent to all subscribers to
-the <var class="LITERAL">slackware-security@slackware.com</var> mailing list. Reports are
-sent out for vulnerabilities of any part of Slackware, apart from the software in <tt
-class="FILENAME">/extra</tt> or <tt class="FILENAME">/pasture</tt>. These security
-announcement emails include details on obtaining updated versions of Slackware packages
-or work-arounds, if any.</p>
-
-<p>Subscribing to Slackware mailing lists is covered in <a
-href="help-online.html#HELP-ONLINE-EMAIL">Section 2.2.2</a>.</p>
-</div>
-
-<div class="SECT2">
-<h2 class="SECT2"><a id="SECURITY-CURRENT-PATCHES" name="SECURITY-CURRENT-PATCHES">14.3.2
-The <tt class="FILENAME">/patches</tt> directory</a></h2>
-
-<p>Whenever updated packages are released for a version of Slackware (usually only to fix
-a security problem, in the case of already released Slackware versions), they are placed
-in the <tt class="FILENAME">/patches</tt> directory. The full path to these patches will
-depend on the mirror you are using, but will take the form <tt
-class="FILENAME">/path/to/slackware-x.x/patches/</tt>.</p>
-
-<p>Before installing these packages, it is a good idea to verify the <tt
-class="COMMAND">md5sum</tt> of the package. <tt class="COMMAND">md5sum</tt>(1) is a
-commandline utility that creates a &#8220;unique&#8221; mathematical hash of the file. If
-a single bit of the file has been changed, it will generate a different md5sum value.</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">%</samp> <kbd
-class="USERINPUT">md5sum package-&lt;ver&gt;-&lt;arch&gt;-&lt;rev&gt;.tgz</kbd>
-6341417aa1c025448b53073a1f1d287d package-&lt;ver&gt;-&lt;arch&gt;-&lt;rev&gt;.tgz
-</pre>
-</td>
-</tr>
-</table>
-
-<p>You should then check this against the line for the new package in the <tt
-class="FILENAME">CHECKSUMS.md5</tt> file in the root of the <tt
-class="FILENAME">slackware-<var class="REPLACEABLE">$VERSION</var></tt> directory (also
-in the <tt class="FILENAME">/patches</tt> directory for patches) or in the email to the
-<var class="LITERAL">slackware-security</var> mailing list.</p>
-
-<p>If you have a file with the md5sum values in it, you can source it instead with the
-<var class="OPTION">-c</var> option to <tt class="COMMAND">md5sum</tt>.</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">#</samp> <kbd class="USERINPUT">md5sum -c CHECKSUMS.md5</kbd>
-./ANNOUNCE.10_0: OK
-./BOOTING.TXT: OK
-./COPYING: OK
-./COPYRIGHT.TXT: OK
-./CRYPTO_NOTICE.TXT: OK
-./ChangeLog.txt: OK
-./FAQ.TXT: FAILED
-</pre>
-</td>
-</tr>
-</table>
-
-<p>As you can see, any files that <tt class="COMMAND">md5sum</tt> evaluates as correct
-are listed &#8220;<var class="LITERAL">OK</var>&#8221; while files that fail are labelled
-&#8220;<var class="LITERAL">FAILED</var>&#8221;. (Yes, this was an insult to your
-intelligence. Why do you put up with me?)</p>
-</div>
-</div>
-
-<div class="NAVFOOTER">
-<hr align="LEFT" width="100%" />
-<table summary="Footer navigation table" width="100%" border="0" cellpadding="0"
-cellspacing="0">
-<tr>
-<td width="33%" align="left" valign="top"><a href="security-host.html"
-accesskey="P">Prev</a></td>
-<td width="34%" align="center" valign="top"><a href="index.html"
-accesskey="H">Home</a></td>
-<td width="33%" align="right" valign="top"><a href="archive-files.html"
-accesskey="N">Next</a></td>
-</tr>
-
-<tr>
-<td width="33%" align="left" valign="top">Host Access Control</td>
-<td width="34%" align="center" valign="top"><a href="security.html"
-accesskey="U">Up</a></td>
-<td width="33%" align="right" valign="top">Archive Files</td>
-</tr>
-</table>
-</div>
-</body>
-</html>
-
diff --git a/slackbook/html/security-host.html b/slackbook/html/security-host.html
deleted file mode 100644
index 55f33286..00000000
--- a/slackbook/html/security-host.html
+++ /dev/null
@@ -1,307 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta name="generator" content="HTML Tidy, see www.w3.org" />
-<title>Host Access Control</title>
-<meta name="GENERATOR" content="Modular DocBook HTML Stylesheet Version 1.7" />
-<link rel="HOME" title="Slackware Linux Essentials" href="index.html" />
-<link rel="UP" title="Security" href="security.html" />
-<link rel="PREVIOUS" title="Security" href="security.html" />
-<link rel="NEXT" title="Keeping Current" href="security-current.html" />
-<link rel="STYLESHEET" type="text/css" href="docbook.css" />
-<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
-</head>
-<body class="SECT1" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#840084"
-alink="#0000FF">
-<div class="NAVHEADER">
-<table summary="Header navigation table" width="100%" border="0" cellpadding="0"
-cellspacing="0">
-<tr>
-<th colspan="3" align="center">Slackware Linux Essentials</th>
-</tr>
-
-<tr>
-<td width="10%" align="left" valign="bottom"><a href="security.html"
-accesskey="P">Prev</a></td>
-<td width="80%" align="center" valign="bottom">Chapter 14 Security</td>
-<td width="10%" align="right" valign="bottom"><a href="security-current.html"
-accesskey="N">Next</a></td>
-</tr>
-</table>
-
-<hr align="LEFT" width="100%" />
-</div>
-
-<div class="SECT1">
-<h1 class="SECT1"><a id="SECURITY-HOST" name="SECURITY-HOST">14.2 Host Access
-Control</a></h1>
-
-<div class="SECT2">
-<h2 class="SECT2"><a id="SECURITY-HOST-IPTABLES" name="SECURITY-HOST-IPTABLES">14.2.1 <tt
-class="COMMAND">iptables</tt></a></h2>
-
-<p><tt class="COMMAND">iptables</tt> is the packet filtering configuration program for
-Linux 2.4 and above. The 2.4 kernel (2.4.5, to be exact) was first introduced into
-Slackware (as an option) in version 8.0 and was made the default in Slackware 8.1. This
-section only covers the basics of its usage and you should check <a
-href="http://www.netfilter.org/" target="_top">http://www.netfilter.org/</a> for more
-details. These commands can be entered into <tt
-class="FILENAME">/etc/rc.d/rc.firewall</tt>, which has to be set as executable for these
-rules to take effect at startup. Note that incorrect <tt class="COMMAND">iptables</tt>
-commands can essentially lock you out of your own machine. Unless you are 100% confident
-in your skills, always ensure you have local access to the machine.</p>
-
-<p>The first thing most people should do is set the default policy for each inbound chain
-to DROP:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">#</samp> <kbd class="USERINPUT">iptables -P INPUT DROP</kbd>
-<samp class="PROMPT">#</samp> <kbd class="USERINPUT">iptables -P FORWARD DROP</kbd>
-</pre>
-</td>
-</tr>
-</table>
-
-<p>When everything is denied, you can start allowing things. The first thing to allow is
-any traffic for sessions which are already established:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">#</samp> <kbd
-class="USERINPUT">iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT</kbd>
-</pre>
-</td>
-</tr>
-</table>
-
-<p>So as not to break any applications that communicate using the loopback address, it is
-usually wise to add a rule like this:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">#</samp> <kbd
-class="USERINPUT">iptables -A INPUT -s 127.0.0.0/8 -d 127.0.0.0/8 -i lo -j ACCEPT</kbd>
-</pre>
-</td>
-</tr>
-</table>
-
-<p>This rules allows any traffic to and from 127.0.0.0/8 (127.0.0.0 - 127.255.255.255) on
-the loopback (<tt class="FILENAME">lo</tt>) interface. When creating rules, it is a good
-idea to be as specific as possible, to make sure that your rules do not inadvertently
-allow anything evil. That said, rules that allow too little mean more rules and more
-typing.</p>
-
-<p>The next thing to do would be to allow access to specific services running on your
-machine. If, for example, you wanted to run a web server on your machine, you would use a
-rule similar to this:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">#</samp> <kbd
-class="USERINPUT">iptables -A INPUT -p tcp --dport 80 -i ppp0 -j ACCEPT</kbd>
-</pre>
-</td>
-</tr>
-</table>
-
-<p>This will allow access from any machine to port 80 on your machine via the <tt
-class="FILENAME">ppp0</tt> interface. You may want to restrict access to this service so
-that only certain machines can access it. This rule allows access to your web service
-from <tt class="HOSTID">64.57.102.34</tt>:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">#</samp> <kbd
-class="USERINPUT">iptables -A INPUT -p tcp -s 64.57.102.34 --dport 80 -i ppp0 -j ACCEPT</kbd>
-</pre>
-</td>
-</tr>
-</table>
-
-<p>Allowing ICMP traffic can be useful for diagnostic purposes. To do this, you would use
-a rule like this:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">#</samp> <kbd
-class="USERINPUT">iptables -A INPUT -p icmp -j ACCEPT</kbd>
-</pre>
-</td>
-</tr>
-</table>
-
-<p>Most people will also want to set up Network Address Translation (NAT) on their
-gateway machine, so that other machines on their network can access the Internet through
-it. You would use the following rule to do this:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">#</samp> <kbd
-class="USERINPUT">iptables -t nat -A POSTROUTING -o ppp0 -j MASQUERADE</kbd>
-</pre>
-</td>
-</tr>
-</table>
-
-<p>You will also need to enable IP forwarding. You can do this temporarily, using the
-following command:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">#</samp> <kbd
-class="USERINPUT">echo 1 &#62; /proc/sys/net/ipv4/ip_forward</kbd>
-</pre>
-</td>
-</tr>
-</table>
-
-<p>To enable IP forwarding on a more permanent basis (i.e. so that the change is kept
-after a reboot), you will need to open the file <tt
-class="FILENAME">/etc/rc.d/rc.inet2</tt> in your favorite editor and change the following
-line:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="PROGRAMLISTING">
-IPV4_FORWARD=0
-</pre>
-</td>
-</tr>
-</table>
-
-<p>...to this:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="PROGRAMLISTING">
-IPV4_FORWARD=1
-</pre>
-</td>
-</tr>
-</table>
-
-<p>For more information on NAT, see the <a
-href="http://www.netfilter.org/documentation/HOWTO/NAT-HOWTO.txt" target="_top">NAT
-HOWTO</a>.</p>
-</div>
-
-<div class="SECT2">
-<h2 class="SECT2"><a id="SECURITY-HOST-TCPWRAPPERS"
-name="SECURITY-HOST-TCPWRAPPERS">14.2.2 <tt class="COMMAND">tcpwrappers</tt></a></h2>
-
-<p><tt class="COMMAND">tcpwrappers</tt> controls access to daemons at the application
-level, rather than at the IP level. This can provide an extra layer of security at times
-when IP-level access controls (e.g. Netfilter) are not functioning correctly. For
-example, if you recompile the kernel but forget to include iptables support, your IP
-level protection will fail but tcpwrappers will still help protect your system.</p>
-
-<p>Access to services protected by tcpwrappers can be controlled using <tt
-class="FILENAME">/etc/hosts.allow</tt> and <tt class="FILENAME">/etc/hosts.deny</tt>.</p>
-
-<p>The majority of people would have a single line in their <tt
-class="FILENAME">/etc/hosts.deny</tt> file to deny access to all daemons by default. This
-line would be:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="PROGRAMLISTING">
-ALL : ALL
-</pre>
-</td>
-</tr>
-</table>
-
-<p>When this is done, you can concentrate on allowing access to services for specified
-hosts, domains, or IP ranges. This can be done in the <tt
-class="FILENAME">/etc/hosts.allow</tt> file, which follows the same format.</p>
-
-<p>A lot of people would start by accepting all connections from <tt
-class="HOSTID">localhost</tt>. This can be achieved using:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="PROGRAMLISTING">
-ALL : 127.0.0.1
-</pre>
-</td>
-</tr>
-</table>
-
-<p>To allow access to SSHd from <tt class="HOSTID">192.168.0.0/24</tt>, you could use
-either of the following rules:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="PROGRAMLISTING">
-sshd : 192.168.0.0/24
-sshd : 192.168.0.
-</pre>
-</td>
-</tr>
-</table>
-
-<p>It is also possible to restrict access to hosts in certain domains. This can be done
-using the following rule (note that this relies on the reverse DNS entry for the
-connecting host being trustworthy, so I would recommand against its use on
-Internet-connected hosts):</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="PROGRAMLISTING">
-sshd : .slackware.com
-</pre>
-</td>
-</tr>
-</table>
-</div>
-</div>
-
-<div class="NAVFOOTER">
-<hr align="LEFT" width="100%" />
-<table summary="Footer navigation table" width="100%" border="0" cellpadding="0"
-cellspacing="0">
-<tr>
-<td width="33%" align="left" valign="top"><a href="security.html"
-accesskey="P">Prev</a></td>
-<td width="34%" align="center" valign="top"><a href="index.html"
-accesskey="H">Home</a></td>
-<td width="33%" align="right" valign="top"><a href="security-current.html"
-accesskey="N">Next</a></td>
-</tr>
-
-<tr>
-<td width="33%" align="left" valign="top">Security</td>
-<td width="34%" align="center" valign="top"><a href="security.html"
-accesskey="U">Up</a></td>
-<td width="33%" align="right" valign="top">Keeping Current</td>
-</tr>
-</table>
-</div>
-</body>
-</html>
-
diff --git a/slackbook/html/security.html b/slackbook/html/security.html
deleted file mode 100644
index 34249a8b..00000000
--- a/slackbook/html/security.html
+++ /dev/null
@@ -1,218 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta name="generator" content="HTML Tidy, see www.w3.org" />
-<title>Security</title>
-<meta name="GENERATOR" content="Modular DocBook HTML Stylesheet Version 1.7" />
-<link rel="HOME" title="Slackware Linux Essentials" href="index.html" />
-<link rel="PREVIOUS" title="Talking to Other People"
-href="basic-network-commands-talk.html" />
-<link rel="NEXT" title="Host Access Control" href="security-host.html" />
-<link rel="STYLESHEET" type="text/css" href="docbook.css" />
-<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
-</head>
-<body class="CHAPTER" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#840084"
-alink="#0000FF">
-<div class="NAVHEADER">
-<table summary="Header navigation table" width="100%" border="0" cellpadding="0"
-cellspacing="0">
-<tr>
-<th colspan="3" align="center">Slackware Linux Essentials</th>
-</tr>
-
-<tr>
-<td width="10%" align="left" valign="bottom"><a href="basic-network-commands-talk.html"
-accesskey="P">Prev</a></td>
-<td width="80%" align="center" valign="bottom"></td>
-<td width="10%" align="right" valign="bottom"><a href="security-host.html"
-accesskey="N">Next</a></td>
-</tr>
-</table>
-
-<hr align="LEFT" width="100%" />
-</div>
-
-<div class="CHAPTER">
-<h1><a id="SECURITY" name="SECURITY"></a>Chapter 14 Security</h1>
-
-<div class="TOC">
-<dl>
-<dt><b>Table of Contents</b></dt>
-
-<dt>14.1 <a href="security.html#SECURITY-DISABLE">Disabling Services</a></dt>
-
-<dt>14.2 <a href="security-host.html">Host Access Control</a></dt>
-
-<dt>14.3 <a href="security-current.html">Keeping Current</a></dt>
-</dl>
-</div>
-
-<p>Security on any system is important; it can prevent people launching attacks from your
-machine, as well as protect sensitive data. This chapter is all about how to start
-securing your Slackware box against script kiddies, crackers and rogue hamsters alike.
-Bear in mind that this is only the start of securing a system; security is a process, not
-a state.</p>
-
-<div class="SECT1">
-<h1 class="SECT1"><a id="SECURITY-DISABLE" name="SECURITY-DISABLE">14.1 Disabling
-Services</a></h1>
-
-<p>The first step after installing Slackware should be to disable any services you don't
-need. Any services could potentially pose a security risk, so it is important to run as
-few services as possible (i.e. only those that are needed). Services are started from two
-main places - <tt class="COMMAND">inetd</tt> and init scripts.</p>
-
-<div class="SECT2">
-<h2 class="SECT2"><a id="AEN5081" name="AEN5081">14.1.1 Services started from <tt
-class="COMMAND">inetd</tt></a></h2>
-
-<p>A lot of the daemons that come with Slackware are run from <tt
-class="COMMAND">inetd</tt>(8). <tt class="COMMAND">inetd</tt> is a daemon that listens on
-all of the ports used by services configured to be started by it and spawns an instance
-of the relevant daemon when a connection attempt is made. Daemons started from <tt
-class="COMMAND">inetd</tt> can be disabled by commenting out the relevant lines in <tt
-class="FILENAME">/etc/inetd.conf</tt>. To do this, open this file in your favorite editor
-(e.g. <tt class="COMMAND">vi</tt>) and you should see lines similar to this:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="PROGRAMLISTING">
-telnet stream tcp nowait root /usr/sbin/tcpd in.telnetd
-</pre>
-</td>
-</tr>
-</table>
-
-<p>You can disable this service, and any others you don't need, by commenting them out
-(i.e. adding a <var class="LITERAL">#</var> (hash) symbol to the beginning of the line).
-The above line would then become:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="PROGRAMLISTING">
-#telnet stream tcp nowait root /usr/sbin/tcpd in.telnetd
-</pre>
-</td>
-</tr>
-</table>
-
-<p>After <tt class="COMMAND">inetd</tt> has been restarted, this service will be
-disabled. You can restart <tt class="COMMAND">inetd</tt> with the command:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">#</samp> <kbd
-class="USERINPUT">kill -HUP $(cat /var/run/inetd.pid)</kbd>
-</pre>
-</td>
-</tr>
-</table>
-</div>
-
-<div class="SECT2">
-<h2 class="SECT2"><a id="AEN5102" name="AEN5102">14.1.2 Services started from init
-scripts</a></h2>
-
-<p>The rest of the services started when the machine starts are started from the init
-scripts in <tt class="FILENAME">/etc/rc.d/</tt>. These can be disabled in two different
-ways, the first being to remove the execute permissions on the relevant init script and
-the second being to comment out the relevant lines in the init scripts.</p>
-
-<p>For example, SSH is started by its own init script at <tt
-class="FILENAME">/etc/rc.d/rc.sshd</tt>. You can disable this using:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">#</samp> <kbd class="USERINPUT">chmod -x /etc/rc.d/rc.sshd</kbd>
-</pre>
-</td>
-</tr>
-</table>
-
-<p>For services that don't have their own init script, you will need to comment out the
-relevant lines in the init scripts to disable them. For example, the portmap daemon is
-started by the following lines in <tt class="FILENAME">/etc/rc.d/rc.inet2</tt>:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="PROGRAMLISTING">
-# This must be running in order to mount NFS volumes.
-# Start the RPC portmapper:
-if [ -x /sbin/rpc.portmap ]; then
- echo "Starting RPC portmapper: /sbin/rpc.portmap"
- /sbin/rpc.portmap
-fi
-# Done starting the RPC portmapper.
-</pre>
-</td>
-</tr>
-</table>
-
-<p>This can be disabled by adding <var class="LITERAL">#</var> symbols to the beginnings
-of the lines that don't already start with them, like so:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="PROGRAMLISTING">
-# This must be running in order to mount NFS volumes.
-# Start the RPC portmapper:
-#if [ -x /sbin/rpc.portmap ]; then
-# echo "Starting RPC portmapper: /sbin/rpc.portmap"
-# /sbin/rpc.portmap
-#fi
-# Done starting the RPC portmapper.
-</pre>
-</td>
-</tr>
-</table>
-
-<p>These changes will only take effect after either a reboot or changing from and back to
-runlevel 3 or 4. You can do this by typing the following on the console (you will need to
-log in again after changing to runlevel 1):</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">#</samp> <kbd class="USERINPUT">telinit 1</kbd>
-<samp class="PROMPT">#</samp> <kbd class="USERINPUT">telinit 3</kbd>
-</pre>
-</td>
-</tr>
-</table>
-</div>
-</div>
-</div>
-
-<div class="NAVFOOTER">
-<hr align="LEFT" width="100%" />
-<table summary="Footer navigation table" width="100%" border="0" cellpadding="0"
-cellspacing="0">
-<tr>
-<td width="33%" align="left" valign="top"><a href="basic-network-commands-talk.html"
-accesskey="P">Prev</a></td>
-<td width="34%" align="center" valign="top"><a href="index.html"
-accesskey="H">Home</a></td>
-<td width="33%" align="right" valign="top"><a href="security-host.html"
-accesskey="N">Next</a></td>
-</tr>
-
-<tr>
-<td width="33%" align="left" valign="top">Talking to Other People</td>
-<td width="34%" align="center" valign="top">&nbsp;</td>
-<td width="33%" align="right" valign="top">Host Access Control</td>
-</tr>
-</table>
-</div>
-</body>
-</html>
-
diff --git a/slackbook/html/shell-bash.html b/slackbook/html/shell-bash.html
deleted file mode 100644
index 13ffdf08..00000000
--- a/slackbook/html/shell-bash.html
+++ /dev/null
@@ -1,234 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta name="generator" content="HTML Tidy, see www.w3.org" />
-<title>The Bourne Again Shell (bash)</title>
-<meta name="GENERATOR" content="Modular DocBook HTML Stylesheet Version 1.7" />
-<link rel="HOME" title="Slackware Linux Essentials" href="index.html" />
-<link rel="UP" title="The Shell" href="shell.html" />
-<link rel="PREVIOUS" title="The Command Line" href="shell-command-line.html" />
-<link rel="NEXT" title="Virtual Terminals" href="shell-vt.html" />
-<link rel="STYLESHEET" type="text/css" href="docbook.css" />
-<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
-</head>
-<body class="SECT1" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#840084"
-alink="#0000FF">
-<div class="NAVHEADER">
-<table summary="Header navigation table" width="100%" border="0" cellpadding="0"
-cellspacing="0">
-<tr>
-<th colspan="3" align="center">Slackware Linux Essentials</th>
-</tr>
-
-<tr>
-<td width="10%" align="left" valign="bottom"><a href="shell-command-line.html"
-accesskey="P">Prev</a></td>
-<td width="80%" align="center" valign="bottom">Chapter 8 The Shell</td>
-<td width="10%" align="right" valign="bottom"><a href="shell-vt.html"
-accesskey="N">Next</a></td>
-</tr>
-</table>
-
-<hr align="LEFT" width="100%" />
-</div>
-
-<div class="SECT1">
-<h1 class="SECT1"><a id="SHELL-BASH" name="SHELL-BASH">8.3 The Bourne Again Shell
-(bash)</a></h1>
-
-<div class="SECT2">
-<h2 class="SECT2"><a id="SHELL-BASH-ENVIRONMENT" name="SHELL-BASH-ENVIRONMENT">8.3.1
-Environment Variables</a></h2>
-
-<p>A Linux system is a complex beast, and there's a lot to keep track of, a lot of little
-details that come into play in your normal interactions with various programs (some of
-which you might not even need to be aware of). Nobody wants to pass a bunch of options to
-every program that gets run, telling it what kind of terminal is being used, the hostname
-of the computer, how their prompt should look...</p>
-
-<p>So as a coping mechanism, users have what's called an environment. The environment
-defines the conditions in which programs run, and some of this definition is variable;
-the user can alter and play with it, as is only right in a Linux system. Pretty much any
-shell will have environment variables (if not, it's probably not a very useable shell).
-Here we will give an overview of the commands bash provides for manipulating its
-environment variables.</p>
-
-<p><tt class="COMMAND">set</tt> by itself will show you all of the environment variables
-that are currently defined, as well as their values. Like most <tt
-class="COMMAND">bash</tt> built-ins, it can also do several other things (with
-parameters); we'll leave it to the <tt class="COMMAND">bash</tt>(1) man page to cover
-that, though. <a href="shell-bash.html#EX-SHELL-BASH-ENVIRONMENT">Example 8-1</a> shows
-an excerpt from a <tt class="COMMAND">set</tt> command run on one of the author's
-computers. Notice in this example the <tt class="ENVAR">PATH</tt> variable that was
-discussed earlier. Programs in any of those directories can be run simply by typing the
-base filename.</p>
-
-<div class="EXAMPLE"><a id="EX-SHELL-BASH-ENVIRONMENT"
-name="EX-SHELL-BASH-ENVIRONMENT"></a>
-<p><b>Example 8-1. Listing Environment Variables with <tt
-class="COMMAND">set</tt></b></p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">%</samp> <kbd class="USERINPUT">set</kbd>
-PATH=/usr/local/lib/qt/bin:/usr/local/bin:/usr/bin:/bin:/usr/X11R6/bin:
-/usr/openwin/bin:/usr/games:.:/usr/local/ssh2/bin:/usr/local/ssh1/bin:
-/usr/share/texmf/bin:/usr/local/sbin:/usr/sbin:/home/logan/bin
-PIPESTATUS=([0]="0")
-PPID=4978
-PS1='\h:\w\$ '
-PS2='&#62; '
-PS4='+ '
-PWD=/home/logan
-QTDIR=/usr/local/lib/qt
-REMOTEHOST=ninja.tdn
-SHELL=/bin/bash
-</pre>
-</td>
-</tr>
-</table>
-</div>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">%</samp> <kbd class="USERINPUT">unset <var
-class="REPLACEABLE">VARIABLE</var></kbd>
-</pre>
-</td>
-</tr>
-</table>
-
-<p><tt class="COMMAND">unset</tt> will remove any variables that you give it, wiping out
-both the variable and its value; <tt class="COMMAND">bash</tt> will forget that variable
-ever existed. (Don't worry. Unless it's something you explicitly defined in that shell
-session, it'll probably get redefined in any other session.)</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">%</samp> <kbd class="USERINPUT">export <var
-class="REPLACEABLE">VARIABLE=some_value</var></kbd>
-</pre>
-</td>
-</tr>
-</table>
-
-<p>Now, <tt class="COMMAND">export</tt> is truly handy. Using it, you give the
-environment variable <tt class="ENVAR">VARIABLE</tt> the value &#8220;<var
-class="LITERAL">some_value</var>&#8221;; if <tt class="ENVAR">VARIABLE</tt> didn't exist,
-it does now. If <tt class="ENVAR">VARIABLE</tt> already had a value, well, it's gone.
-That's not so good, if you're just trying to add a directory to your <tt
-class="ENVAR">PATH</tt>. In that case, you probably want to do something like this:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">%</samp> <kbd class="USERINPUT">export PATH=$PATH:<var
-class="REPLACEABLE">/some/new/directory</var></kbd>
-</pre>
-</td>
-</tr>
-</table>
-
-<p>Note the use of <tt class="ENVAR">$PATH</tt> there: when you want <tt
-class="COMMAND">bash</tt> to interpret a variable (replace it with its value), tack a
-<var class="LITERAL">$</var> onto the beginning of the variable's name. For instance, <tt
-class="COMMAND">echo $PATH</tt> will echo the value of <tt class="ENVAR">PATH</tt>, in my
-case:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">%</samp> <kbd class="USERINPUT">echo $PATH</kbd>
-/usr/local/lib/qt/bin:/usr/local/bin:/usr/bin:/bin:/usr/X11R6/bin:
-/usr/openwin/bin:/usr/games:.:/usr/local/ssh2/bin:/usr/local/ssh1/bin:
-/usr/share/texmf/bin:/usr/local/sbin:/usr/sbin:/home/logan/bin
-</pre>
-</td>
-</tr>
-</table>
-</div>
-
-<div class="SECT2">
-<h2 class="SECT2"><a id="SHELL-BASH-TAB" name="SHELL-BASH-TAB">8.3.2 Tab
-Completion</a></h2>
-
-<p>(Here comes something cool again.)</p>
-
-<ol type="1">
-<li>
-<p>A commandline interface means lots of typing.</p>
-</li>
-
-<li>
-<p>Typing is work.</p>
-</li>
-
-<li>
-<p>Nobody likes work.</p>
-</li>
-</ol>
-
-<p>From 3 and 2, we can determine that (4) nobody likes typing. Fortunately, <tt
-class="COMMAND">bash</tt> saves us from (5) (nobody likes a commandline interface).</p>
-
-<p>How does <tt class="COMMAND">bash</tt> accomplish this wonderful feat, you ask? In
-addition to the wildcard expansion we discussed before, <tt class="COMMAND">bash</tt>
-features tab completion.</p>
-
-<p>Tab completion works something like this: You're typing the name of a file. Maybe it's
-in your <tt class="ENVAR">PATH</tt>, maybe you're typing it out explicitly. All you have
-to do is type enough of the filename to uniquely identify it. Then hit the tab key. <tt
-class="COMMAND">bash</tt> will figure out what you want and finish typing it for you!</p>
-
-<p>Example time. <tt class="FILENAME">/usr/src</tt> contains two subdirectories: <tt
-class="FILENAME">/usr/src/linux</tt> and <tt class="FILENAME">/usr/src/sendmail</tt>. I
-want to see what's in <tt class="FILENAME">/usr/src/linux</tt>. So I just type <tt
-class="COMMAND">ls /usr/src/l</tt>, hit the <kbd class="USERINPUT">TAB</kbd> key, and <tt
-class="COMMAND">bash</tt> gives me <tt class="COMMAND">ls /usr/src/linux</tt>.</p>
-
-<p>Now, suppose there are two directories <tt class="FILENAME">/usr/src/linux</tt> and
-<tt class="FILENAME">/usr/src/linux-old</tt>; If I type <tt
-class="FILENAME">/usr/src/l</tt> and hit <kbd class="USERINPUT">TAB</kbd>, <tt
-class="COMMAND">bash</tt> will fill in as much as it can, and I'll get <tt
-class="FILENAME">/usr/src/linux</tt>. I can stop there, or I can hit <kbd
-class="USERINPUT">TAB</kbd> again, and <tt class="COMMAND">bash</tt> will show a list of
-directories that match what I've typed so far.</p>
-
-<p>Hence, less typing (and hence, people can like commandline interfaces). I told you it
-was cool.</p>
-</div>
-</div>
-
-<div class="NAVFOOTER">
-<hr align="LEFT" width="100%" />
-<table summary="Footer navigation table" width="100%" border="0" cellpadding="0"
-cellspacing="0">
-<tr>
-<td width="33%" align="left" valign="top"><a href="shell-command-line.html"
-accesskey="P">Prev</a></td>
-<td width="34%" align="center" valign="top"><a href="index.html"
-accesskey="H">Home</a></td>
-<td width="33%" align="right" valign="top"><a href="shell-vt.html"
-accesskey="N">Next</a></td>
-</tr>
-
-<tr>
-<td width="33%" align="left" valign="top">The Command Line</td>
-<td width="34%" align="center" valign="top"><a href="shell.html"
-accesskey="U">Up</a></td>
-<td width="33%" align="right" valign="top">Virtual Terminals</td>
-</tr>
-</table>
-</div>
-</body>
-</html>
-
diff --git a/slackbook/html/shell-command-line.html b/slackbook/html/shell-command-line.html
deleted file mode 100644
index 6188bd95..00000000
--- a/slackbook/html/shell-command-line.html
+++ /dev/null
@@ -1,307 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta name="generator" content="HTML Tidy, see www.w3.org" />
-<title>The Command Line</title>
-<meta name="GENERATOR" content="Modular DocBook HTML Stylesheet Version 1.7" />
-<link rel="HOME" title="Slackware Linux Essentials" href="index.html" />
-<link rel="UP" title="The Shell" href="shell.html" />
-<link rel="PREVIOUS" title="The Shell" href="shell.html" />
-<link rel="NEXT" title="The Bourne Again Shell (bash)" href="shell-bash.html" />
-<link rel="STYLESHEET" type="text/css" href="docbook.css" />
-<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
-</head>
-<body class="SECT1" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#840084"
-alink="#0000FF">
-<div class="NAVHEADER">
-<table summary="Header navigation table" width="100%" border="0" cellpadding="0"
-cellspacing="0">
-<tr>
-<th colspan="3" align="center">Slackware Linux Essentials</th>
-</tr>
-
-<tr>
-<td width="10%" align="left" valign="bottom"><a href="shell.html"
-accesskey="P">Prev</a></td>
-<td width="80%" align="center" valign="bottom">Chapter 8 The Shell</td>
-<td width="10%" align="right" valign="bottom"><a href="shell-bash.html"
-accesskey="N">Next</a></td>
-</tr>
-</table>
-
-<hr align="LEFT" width="100%" />
-</div>
-
-<div class="SECT1">
-<h1 class="SECT1"><a id="SHELL-COMMAND-LINE" name="SHELL-COMMAND-LINE">8.2 The Command
-Line</a></h1>
-
-<div class="SECT2">
-<h2 class="SECT2"><a id="SHELL-COMMAND-LINE-RUNNING"
-name="SHELL-COMMAND-LINE-RUNNING">8.2.1 Running Programs</a></h2>
-
-<p>It's hard to get much accomplished without running a program; you might be able to
-prop something up with your computer or hold a door open, and some will make the most
-lovely humming noise when running, but that's really about it. And I think we can all
-agree that its use as a humming doorstop isn't what brought the personal computer the
-popularity it now enjoys.</p>
-
-<p>So, remember how almost everything in Linux is a file? Well, that goes for programs,
-too. Every command you run (that isn't built into the shell) resides as a file somewhere.
-You run a program simply by specifying the full path to it.</p>
-
-<p>For instance, remember that <tt class="COMMAND">su</tt> command from the last section?
-Well, it's actually in the <tt class="FILENAME">/bin</tt> directory: <tt
-class="COMMAND">/bin/su</tt> would run it nicely.</p>
-
-<p>So why, then, does just typing <tt class="COMMAND">su</tt> work? After all, you didn't
-say it was in <tt class="FILENAME">/bin</tt>. It could just as easily have been in <tt
-class="FILENAME">/usr/local/share</tt>, right? How did it <span class="emphasis"><i
-class="EMPHASIS">know</i></span>? The answer to that lies in the <tt
-class="ENVAR">PATH</tt> environment variable; most shells have either <tt
-class="ENVAR">PATH</tt> or something very much like <tt class="ENVAR">PATH</tt>. It
-basically contains a list of directories to look in for programs you try to run. So when
-you ran <tt class="COMMAND">su</tt>, your shell ran through its list of directories,
-checking each one for an executable file called <tt class="COMMAND">su</tt> that it could
-run; the first one it came to, it ran. This happens whenever you run a program without
-specifying a full path to it; if you get a &#8220;&#8220;<tt class="ERRORNAME">Command
-not found</tt>&#8221;&#8221; error, that only means that the program you tried to run
-isn't in your <tt class="ENVAR">PATH</tt>. (Of course, this would be true if the program
-doesn't exist at all...) We'll discuss environment variables in more depth in <a
-href="shell-bash.html#SHELL-BASH-ENVIRONMENT">Section 8.3.1</a>.</p>
-
-<p>Remember also that &#8220;<tt class="FILENAME">.</tt>&#8221; is shorthand for the
-current directory, so if you happened to be in <tt class="FILENAME">/bin</tt>, <tt
-class="FILENAME">./su</tt> would have worked as an explicit full path.</p>
-</div>
-
-<div class="SECT2">
-<h2 class="SECT2"><a id="SHELL-COMMAND-LINE-WILDCARD"
-name="SHELL-COMMAND-LINE-WILDCARD">8.2.2 Wildcard Matching</a></h2>
-
-<p>Nearly every shell recognizes some characters as being substitutes or abbreviations
-that mean anything goes here. Such characters are aptly named wildcards; the most common
-are <var class="LITERAL">*</var> and <var class="LITERAL">?</var>. By convention, <var
-class="LITERAL">?</var> usually matches any single character. For instance, suppose
-you're in a directory with three files: <tt class="FILENAME">ex1.txt</tt>, <tt
-class="FILENAME">ex2.txt</tt>, and <tt class="FILENAME">ex3.txt</tt>. You want to copy
-all of those files (using the <tt class="COMMAND">cp</tt> command we cover in <a
-href="file-commands-copymove.html#FILE-COMMANDS-COPYMOVE-CP">Section 10.5.1</a>) to
-another directory, say <tt class="FILENAME">/tmp</tt>. Well, typing <tt
-class="COMMAND">cp ex1.txt ex2.txt ex3.txt /tmp</tt> is entirely too much work. It's much
-easier to type <tt class="COMMAND">cp ex?.txt /tmp</tt>; the <var class="LITERAL">?</var>
-will match each of the characters &#8220;1&#8221;, &#8220;2&#8221;, and &#8220;3&#8221;,
-and each in turn will be substituted in.</p>
-
-<p>What's that you say? That's <span class="emphasis"><i
-class="EMPHASIS">still</i></span> too much work? You're right. It's appalling; we have
-labor laws to protect us from that sort of thing. Fortunately, we also have <var
-class="LITERAL">*</var>. As was already mentioned, <var class="LITERAL">*</var> matches
-&#8220;any number of characters&#8221;, including 0. So if those three files were the
-only ones in the directory, we could have simply said <tt class="COMMAND">cp * /tmp</tt>
-and gotten them all in one fell swoop. Suppose, though, that there is also a file called
-<tt class="FILENAME">ex.txt</tt> and one called <tt class="FILENAME">hejaz.txt</tt>. We
-want to copy <tt class="FILENAME">ex.txt</tt> but not <tt
-class="FILENAME">hejaz.txt</tt>; <tt class="COMMAND">cp ex* /tmp</tt> will do that for
-us.</p>
-
-<p><tt class="COMMAND">cp ex?.txt /tmp</tt>, would, of course, only get our original
-three files; there's no character in <tt class="FILENAME">ex.txt</tt> to match that <var
-class="LITERAL">?</var>, so it would be left out.</p>
-
-<p>Another common wildcard is the bracket pair <var class="LITERAL">[ ]</var>. Any
-characters inside the brackets will be substituted in place of the <var class="LITERAL">[
-]</var> to find matches. Sound confusing? It's not too bad. Suppose for instance, we have
-a directory containing the following 8 files: <tt class="FILENAME">a1</tt>, <tt
-class="FILENAME">a2</tt>, <tt class="FILENAME">a3</tt>, <tt class="FILENAME">a4</tt>, <tt
-class="FILENAME">aA</tt>, <tt class="FILENAME">aB</tt>, <tt class="FILENAME">aC</tt>, and
-<tt class="FILENAME">aD</tt> . We want to only find the files ending in numbers; <var
-class="LITERAL">[ ]</var> will do this for us.</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">%</samp> <kbd class="USERINPUT">ls a[1-4]</kbd>
-a1 a2 a3 a4
-</pre>
-</td>
-</tr>
-</table>
-
-<p>But what we really want is just <tt class="FILENAME">a1</tt>, <tt
-class="FILENAME">a2</tt>, and <tt class="FILENAME">a4</tt>? In the previous example we
-used - to mean all values between 1 and 4. We can also separate individual entries with
-commas.</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">%</samp> <kbd class="USERINPUT">ls a[1,2,4]</kbd>
-a1 a2 a4
-</pre>
-</td>
-</tr>
-</table>
-
-<p>I know what you're thinking now, &#8220;Well what about letters?&#8221; Linux is
-case-sensitive, meaning that <var class="LITERAL">a</var> and <var
-class="LITERAL">A</var> are different characters and are only related in your mind.
-Capitals always come before lowercase letters, so <var class="LITERAL">A</var> and <var
-class="LITERAL">B</var> come before <var class="LITERAL">a</var> and <var
-class="LITERAL">b</var>. Continuing with our earlier example, if we wanted files <tt
-class="FILENAME">a1</tt>, and <tt class="FILENAME">A1</tt>, we can find these quickly
-with <var class="LITERAL">[ ]</var>.</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">%</samp> <kbd class="USERINPUT">ls [A,a]1</kbd>
-A1 a1
-</pre>
-</td>
-</tr>
-</table>
-
-<p>Note, that if we had included a hyphen instead of a comma, we would have gotten
-incorrect results.</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">%</samp> <kbd class="USERINPUT">ls [A-a]1</kbd>
-A1 B1 C1 D1 a1
-</pre>
-</td>
-</tr>
-</table>
-
-<p>You can also combine hyphen and comma strings.</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">%</samp> <kbd class="USERINPUT">ls [A,a-d]</kbd>
-A1 a1 b1 c1 d1
-</pre>
-</td>
-</tr>
-</table>
-</div>
-
-<div class="SECT2">
-<h2 class="SECT2"><a id="SHELL-COMMAND-LINE-PIPING"
-name="SHELL-COMMAND-LINE-PIPING">8.2.3 Input/Output Redirection and Piping</a></h2>
-
-<p>(Here comes something cool.)</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">%</samp> <kbd class="USERINPUT">ps &#62; blargh</kbd>
-</pre>
-</td>
-</tr>
-</table>
-
-<p>Y'know what that is? That's me running <tt class="COMMAND">ps</tt> to see which
-processes are running; <tt class="COMMAND">ps</tt> is covered in <a
-href="process-control-ps.html">Section 11.3</a>. That's not the cool part. The cool part
-is <var class="LITERAL">&gt; blargh</var>, which means, roughly, take the output from <tt
-class="COMMAND">ps</tt> and write it to a file called <tt class="FILENAME">blargh</tt>.
-But wait, it gets cooler.</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">%</samp> <kbd class="USERINPUT">ps | less</kbd>
-</pre>
-</td>
-</tr>
-</table>
-
-<p>That one takes the output from <tt class="COMMAND">ps</tt> and pipes it through <tt
-class="COMMAND">less</tt>, so I can scroll through it at my leisure.</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">%</samp> <kbd class="USERINPUT">ps &gt;&gt; blargh</kbd>
-</pre>
-</td>
-</tr>
-</table>
-
-<p>This is the third most commonly used redirector; it does the same thing as
-&#8220;&gt;&#8221;, except that &#8220;&gt;&gt;&#8221; will append output from <tt
-class="COMMAND">ps</tt> to the file <tt class="FILENAME">blargh</tt>, if said file
-exists. If not, just like &#8220;&gt;&#8221;, it will be created. (&#8220;&gt;&#8221;
-will obliterate the current contents of <tt class="FILENAME">blargh</tt>.)</p>
-
-<p>There is also a &#8220;&lt;&#8221; operator, which means take your input from the
-following, but it's not used nearly so often.</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">%</samp> <kbd
-class="USERINPUT">fromdos &lt; dosfile.txt &gt; unixfile.txt</kbd>
-</pre>
-</td>
-</tr>
-</table>
-
-<p>Redirection gets really fun when you start piling it up:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">%</samp> <kbd class="USERINPUT">ps | tac &gt;&gt; blargh</kbd>
-</pre>
-</td>
-</tr>
-</table>
-
-<p>That will run <tt class="COMMAND">ps</tt>, reverse the lines of its output, and append
-those to the file <tt class="FILENAME">blargh</tt>. You can stack as many of these up as
-you want; just be careful to remember that they get interpreted from left to right.</p>
-
-<p>See the <tt class="COMMAND">bash</tt>(1) man page for more detailed information on
-redirection.</p>
-</div>
-</div>
-
-<div class="NAVFOOTER">
-<hr align="LEFT" width="100%" />
-<table summary="Footer navigation table" width="100%" border="0" cellpadding="0"
-cellspacing="0">
-<tr>
-<td width="33%" align="left" valign="top"><a href="shell.html"
-accesskey="P">Prev</a></td>
-<td width="34%" align="center" valign="top"><a href="index.html"
-accesskey="H">Home</a></td>
-<td width="33%" align="right" valign="top"><a href="shell-bash.html"
-accesskey="N">Next</a></td>
-</tr>
-
-<tr>
-<td width="33%" align="left" valign="top">The Shell</td>
-<td width="34%" align="center" valign="top"><a href="shell.html"
-accesskey="U">Up</a></td>
-<td width="33%" align="right" valign="top">The Bourne Again Shell (bash)</td>
-</tr>
-</table>
-</div>
-</body>
-</html>
-
diff --git a/slackbook/html/shell-vt.html b/slackbook/html/shell-vt.html
deleted file mode 100644
index 2d28160c..00000000
--- a/slackbook/html/shell-vt.html
+++ /dev/null
@@ -1,137 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta name="generator" content="HTML Tidy, see www.w3.org" />
-<title>Virtual Terminals</title>
-<meta name="GENERATOR" content="Modular DocBook HTML Stylesheet Version 1.7" />
-<link rel="HOME" title="Slackware Linux Essentials" href="index.html" />
-<link rel="UP" title="The Shell" href="shell.html" />
-<link rel="PREVIOUS" title="The Bourne Again Shell (bash)" href="shell-bash.html" />
-<link rel="NEXT" title="Filesystem Structure" href="filesystem-structure.html" />
-<link rel="STYLESHEET" type="text/css" href="docbook.css" />
-<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
-</head>
-<body class="SECT1" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#840084"
-alink="#0000FF">
-<div class="NAVHEADER">
-<table summary="Header navigation table" width="100%" border="0" cellpadding="0"
-cellspacing="0">
-<tr>
-<th colspan="3" align="center">Slackware Linux Essentials</th>
-</tr>
-
-<tr>
-<td width="10%" align="left" valign="bottom"><a href="shell-bash.html"
-accesskey="P">Prev</a></td>
-<td width="80%" align="center" valign="bottom">Chapter 8 The Shell</td>
-<td width="10%" align="right" valign="bottom"><a href="filesystem-structure.html"
-accesskey="N">Next</a></td>
-</tr>
-</table>
-
-<hr align="LEFT" width="100%" />
-</div>
-
-<div class="SECT1">
-<h1 class="SECT1"><a id="SHELL-VT" name="SHELL-VT">8.4 Virtual Terminals</a></h1>
-
-<p>So you're in the middle of working on something and you decide you need to do
-something else. You could just drop what you're doing and switch tasks, but this is a
-multi-user system, right? And you can log in as many times simultaneously as you want,
-right? So why should you have to do one thing at a time?</p>
-
-<p>You don't. We can't all have multiple keyboards, mice, and monitors for one machine;
-chances are most of us don't want them. Clearly, hardware isn't the solution. That leaves
-software, and Linux steps up on this one, providing &#8220;virtual terminals&#8221;, or
-&#8220;VTs&#8221;.</p>
-
-<p>By pressing <kbd class="USERINPUT">Alt</kbd> and a function key, you can switch
-between virtual terminals; each function key corresponds to one. Slackware has logins on
-6 VTs by default. <b class="KEYCAP">Alt</b>+<b class="KEYCAP">F2</b> will take you to the
-second one, <b class="KEYCAP">Alt</b>+<b class="KEYCAP">F3</b> to the third, etc.</p>
-
-<p>The rest of the function keys are reserved for X sessions. Each X session uses its own
-VT, beginning with the seventh (<b class="KEYCAP">Alt</b>+<b class="KEYCAP">F7</b>) and
-going up. When in X, the <b class="KEYCAP">Alt</b>+<b class="KEYCAP">Function key</b>
-combination is replaced with <b class="KEYCAP">Ctrl</b>+<b class="KEYCAP">Alt</b>+<b
-class="KEYCAP">Function</b>; so if you are in X and want to get back to a text login
-(without exiting your X session), <b class="KEYCAP">Ctrl</b>+<b class="KEYCAP">Alt</b>+<b
-class="KEYCAP">F3</b> will take you to the third. (<b class="KEYCAP">Alt</b>+<b
-class="KEYCAP">F7</b> will take you back, assuming you're using the first X session.)</p>
-
-<div class="SECT2">
-<h2 class="SECT2"><a id="AEN3024" name="AEN3024">8.4.1 Screen</a></h2>
-
-<p>But what about situations where there are no virtual terminals? What then?
-Fortunately, slackware includes a beautiful screen manager aptly named <tt
-class="COMMAND">screen</tt>. <tt class="COMMAND">screen</tt> is a terminal emulator that
-has virtual terminal like capabilities. Executing <tt class="COMMAND">screen</tt> flashes
-a brief introduction, then dumps to a terminal. Unlike the standard virtual terminals,
-<tt class="COMMAND">screen</tt> has its own commands. All <tt class="COMMAND">screen</tt>
-commands are prefixed with a <b class="KEYCAP">Crtl</b>+<b class="KEYCAP">A</b>
-keystroke. For example, <b class="KEYCAP">Ctrl</b>+<b class="KEYCAP">A</b>+<b
-class="KEYCAP">C</b> will create a new terminal session. <b class="KEYCAP">Ctrl</b>+<b
-class="KEYCAP">A</b>+<b class="KEYCAP">N</b> will switch to the next terminal. <b
-class="KEYCAP">Ctrl</b>+<b class="KEYCAP">A</b>+<b class="KEYCAP">P</b> switches to the
-previous terminal.</p>
-
-<p><tt class="COMMAND">screen</tt> also supports detaching and re-attaching to <tt
-class="COMMAND">screen</tt> sessions which is particularly useful for remote sessions via
-<tt class="COMMAND">ssh</tt> and <tt class="COMMAND">telnet</tt>, (more on those later).
-<b class="KEYCAP">Ctrl</b>+<b class="KEYCAP">A</b>+<b class="KEYCAP">D</b> will detach
-from the currently running screen. Executing <tt class="COMMAND">screen -r</tt> will list
-all currently running screen sessions you may reattach to.</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">%</samp> <kbd class="USERINPUT">screen -r</kbd>
-There are several suitable screens on:
- 1212.pts-1.redtail (Detached)
- 1195.pts-1.redtail (Detached)
- 1225.pts-1.redtail (Detached)
- 17146.pts-1.sanctuary (Dead ???)
-Remove dead screens with 'screen -wipe'.
-Type "screen [-d] -r [pid.]tty.host" to resume one of them.
-</pre>
-</td>
-</tr>
-</table>
-
-<p>Running <tt class="COMMAND">screen -r 1212</tt> would reattach to the first screen
-listed. I mentioned earlier how useful this was for remote sessions. If I were to login
-to a remote slackware server via <tt class="COMMAND">ssh</tt>, and my connection was
-severed by some chance occurrence such as a local power failure, whatever I was doing at
-that moment would instantly perish, which can be a horrible thing for your server. Using
-<tt class="COMMAND">screen</tt> prevents this by detaching my session if my connection is
-dropped. Once my connection is restored, I can reattach to my screen session and resume
-right where I left off.</p>
-</div>
-</div>
-
-<div class="NAVFOOTER">
-<hr align="LEFT" width="100%" />
-<table summary="Footer navigation table" width="100%" border="0" cellpadding="0"
-cellspacing="0">
-<tr>
-<td width="33%" align="left" valign="top"><a href="shell-bash.html"
-accesskey="P">Prev</a></td>
-<td width="34%" align="center" valign="top"><a href="index.html"
-accesskey="H">Home</a></td>
-<td width="33%" align="right" valign="top"><a href="filesystem-structure.html"
-accesskey="N">Next</a></td>
-</tr>
-
-<tr>
-<td width="33%" align="left" valign="top">The Bourne Again Shell (bash)</td>
-<td width="34%" align="center" valign="top"><a href="shell.html"
-accesskey="U">Up</a></td>
-<td width="33%" align="right" valign="top">Filesystem Structure</td>
-</tr>
-</table>
-</div>
-</body>
-</html>
-
diff --git a/slackbook/html/shell.html b/slackbook/html/shell.html
deleted file mode 100644
index aa259c8c..00000000
--- a/slackbook/html/shell.html
+++ /dev/null
@@ -1,166 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta name="generator" content="HTML Tidy, see www.w3.org" />
-<title>The Shell</title>
-<meta name="GENERATOR" content="Modular DocBook HTML Stylesheet Version 1.7" />
-<link rel="HOME" title="Slackware Linux Essentials" href="index.html" />
-<link rel="PREVIOUS" title="Dual Booting" href="booting-dual.html" />
-<link rel="NEXT" title="The Command Line" href="shell-command-line.html" />
-<link rel="STYLESHEET" type="text/css" href="docbook.css" />
-<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
-</head>
-<body class="CHAPTER" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#840084"
-alink="#0000FF">
-<div class="NAVHEADER">
-<table summary="Header navigation table" width="100%" border="0" cellpadding="0"
-cellspacing="0">
-<tr>
-<th colspan="3" align="center">Slackware Linux Essentials</th>
-</tr>
-
-<tr>
-<td width="10%" align="left" valign="bottom"><a href="booting-dual.html"
-accesskey="P">Prev</a></td>
-<td width="80%" align="center" valign="bottom"></td>
-<td width="10%" align="right" valign="bottom"><a href="shell-command-line.html"
-accesskey="N">Next</a></td>
-</tr>
-</table>
-
-<hr align="LEFT" width="100%" />
-</div>
-
-<div class="CHAPTER">
-<h1><a id="SHELL" name="SHELL"></a>Chapter 8 The Shell</h1>
-
-<div class="TOC">
-<dl>
-<dt><b>Table of Contents</b></dt>
-
-<dt>8.1 <a href="shell.html#SHELL-USERS">Users</a></dt>
-
-<dt>8.2 <a href="shell-command-line.html">The Command Line</a></dt>
-
-<dt>8.3 <a href="shell-bash.html">The Bourne Again Shell (bash)</a></dt>
-
-<dt>8.4 <a href="shell-vt.html">Virtual Terminals</a></dt>
-</dl>
-</div>
-
-<p>In a graphical environment, the interface is provided by a program that creates
-windows, scrollbars, menus, etc. In a commandline environment, the user interface is
-provided by a shell, which interprets commands and generally makes things useable.
-Immediately after logging in (which is covered in this chapter), users are put into a
-shell and allowed to go about their business. This chapter serves as an introduction to
-the shell, and to the most common shell among Linux users-- the Bourne Again Shell
-(bash). For more detailed information on anything in this chapter, check out the <tt
-class="COMMAND">bash</tt>(1) man page.</p>
-
-<div class="SECT1">
-<h1 class="SECT1"><a id="SHELL-USERS" name="SHELL-USERS">8.1 Users</a></h1>
-
-<div class="SECT2">
-<h2 class="SECT2"><a id="AEN2678" name="AEN2678">8.1.1 Logging In</a></h2>
-
-<p>So you've booted, and you're looking at something that looks like this:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-Welcome to Linux 2.4.18
-Last login: Wed Jan 1 15:59:14 -0500 2005 on tty6.
-darkstar login:
-</pre>
-</td>
-</tr>
-</table>
-
-<p>Hmm.. nobody said anything about a login. And what's a darkstar? Don't worry; you
-probably didn't accidentally fire up a hyperspace comm-link to the Empire's artificial
-moon. (I'm afraid the hyperspace comm-link protocol isn't currently supported by the
-Linux kernel. Maybe the 2.8 kernel branch will at last provide this oft looked-for
-support.) No, darkstar is just the name of one of our computers, and its name gets
-stamped on as the default. If you specified a name for your computer during setup, you
-should see it instead of darkstar.</p>
-
-<p>As for the login... If this is your first time, you'll want to log in as <tt
-class="USERNAME">root</tt>. You'll be prompted for a password; if you set one during the
-setup process, that's what it's looking for. If not, just hit enter. That's it-- you're
-in!</p>
-</div>
-
-<div class="SECT2">
-<h2 class="SECT2"><a id="AEN2693" name="AEN2693">8.1.2 Root: The Superuser</a></h2>
-
-<p>Okay, who or <span class="emphasis"><i class="EMPHASIS">what</i></span> is <tt
-class="USERNAME">root</tt>? And what's it doing with an account on <span
-class="emphasis"><i class="EMPHASIS">your</i></span> system?</p>
-
-<p>Well, in the world of Unix and similar operating systems (like Linux), there are users
-and then there are users. We'll go into this in more detail later, but the important
-thing to know now is that <tt class="USERNAME">root</tt> is the user above all users; <tt
-class="USERNAME">root</tt> is all-powerful and all-knowing, and <span class="emphasis"><i
-class="EMPHASIS">nobody</i></span> disobeys <tt class="USERNAME">root</tt>. It just isn't
-allowed. <tt class="USERNAME">root</tt> is what we call a &#8220;superuser&#8221;, and
-rightly so. And best of all, <tt class="USERNAME">root</tt> is <span class="emphasis"><i
-class="EMPHASIS">you</i></span>.</p>
-
-<p>Cool, huh?</p>
-
-<p>If you're not sure: yes, that's very cool. The catch is, though, that root is
-inherently allowed to break anything it so desires. You might want to skip ahead to <a
-href="essential-sysadmin.html#ESSENTIAL-SYSADMIN-USERS-SCRIPTS">Section 12.1.1</a> and
-see about adding a user; then login as that user and work from there. The traditional
-wisdom is that it's best to only become the superuser when absolutely necessary, so as to
-minimize the possibility of accidentally breaking something.</p>
-
-<p>By the way, if you decide you want to be root while you're logged in as someone else,
-no problem. Just use the <tt class="COMMAND">su</tt>(1) command. You'll be asked for <tt
-class="USERNAME">root's</tt> password and then it will make you <tt
-class="USERNAME">root</tt> until you <tt class="COMMAND">exit</tt> or <tt
-class="COMMAND">logout</tt>. You can also become any other user using <tt
-class="COMMAND">su</tt>, provided you know that user's password: <tt class="COMMAND">su
-logan</tt>, for instance, would make you me.</p>
-
-<div class="NOTE">
-<table class="NOTE" width="100%" border="0">
-<tr>
-<td width="25" align="CENTER" valign="TOP"><img src="./imagelib/admon/note.png"
-hspace="5" alt="Note" /></td>
-<td align="LEFT" valign="TOP">
-<p><tt class="USERNAME">root</tt> is allowed to su to any user, without requiring their
-password.</p>
-</td>
-</tr>
-</table>
-</div>
-</div>
-</div>
-</div>
-
-<div class="NAVFOOTER">
-<hr align="LEFT" width="100%" />
-<table summary="Footer navigation table" width="100%" border="0" cellpadding="0"
-cellspacing="0">
-<tr>
-<td width="33%" align="left" valign="top"><a href="booting-dual.html"
-accesskey="P">Prev</a></td>
-<td width="34%" align="center" valign="top"><a href="index.html"
-accesskey="H">Home</a></td>
-<td width="33%" align="right" valign="top"><a href="shell-command-line.html"
-accesskey="N">Next</a></td>
-</tr>
-
-<tr>
-<td width="33%" align="left" valign="top">Dual Booting</td>
-<td width="34%" align="center" valign="top">&nbsp;</td>
-<td width="33%" align="right" valign="top">The Command Line</td>
-</tr>
-</table>
-</div>
-</body>
-</html>
-
diff --git a/slackbook/html/slackware_logo.png b/slackbook/html/slackware_logo.png
deleted file mode 100644
index 3f2955e3..00000000
--- a/slackbook/html/slackware_logo.png
+++ /dev/null
Binary files differ
diff --git a/slackbook/html/system-configuration-kernel.html b/slackbook/html/system-configuration-kernel.html
deleted file mode 100644
index 7934fec4..00000000
--- a/slackbook/html/system-configuration-kernel.html
+++ /dev/null
@@ -1,354 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta name="generator" content="HTML Tidy, see www.w3.org" />
-<title>Selecting a Kernel</title>
-<meta name="GENERATOR" content="Modular DocBook HTML Stylesheet Version 1.7" />
-<link rel="HOME" title="Slackware Linux Essentials" href="index.html" />
-<link rel="UP" title="System Configuration" href="system-configuration.html" />
-<link rel="PREVIOUS" title="System Configuration" href="system-configuration.html" />
-<link rel="NEXT" title="Network Configuration" href="network-configuration.html" />
-<link rel="STYLESHEET" type="text/css" href="docbook.css" />
-<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
-</head>
-<body class="SECT1" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#840084"
-alink="#0000FF">
-<div class="NAVHEADER">
-<table summary="Header navigation table" width="100%" border="0" cellpadding="0"
-cellspacing="0">
-<tr>
-<th colspan="3" align="center">Slackware Linux Essentials</th>
-</tr>
-
-<tr>
-<td width="10%" align="left" valign="bottom"><a href="system-configuration.html"
-accesskey="P">Prev</a></td>
-<td width="80%" align="center" valign="bottom">Chapter 4 System Configuration</td>
-<td width="10%" align="right" valign="bottom"><a href="network-configuration.html"
-accesskey="N">Next</a></td>
-</tr>
-</table>
-
-<hr align="LEFT" width="100%" />
-</div>
-
-<div class="SECT1">
-<h1 class="SECT1"><a id="SYSTEM-CONFIGURATION-KERNEL"
-name="SYSTEM-CONFIGURATION-KERNEL">4.2 Selecting a Kernel</a></h1>
-
-<p>The kernel is the part of the operating system that provides hardware access, process
-control, and overall system control. The kernel contains support for your hardware
-devices, so picking one for your system is an important setup step.</p>
-
-<p>Slackware provides more than a dozen precompiled kernels that you can pick from, each
-with a standard set of drivers and additional specific drivers. You can run one of the
-precompiled kernels or you can build your own kernel from source. Either way, you need to
-make sure that your kernel has the hardware support your system needs.</p>
-
-<div class="SECT2">
-<h2 class="SECT2"><a id="AEN1581" name="AEN1581">4.2.1 The <tt
-class="FILENAME">/kernels</tt> Directory on the Slackware CD-ROM</a></h2>
-
-<p>The precompiled Slackware kernels are available in the <tt
-class="FILENAME">/kernels</tt> directory on the Slackware CD-ROM or on the FTP site in
-the main Slackware directory. The available kernels change as new releases are made, so
-the documentation in that directory is always the authoritative source. The <tt
-class="FILENAME">/kernels</tt> directory has subdirectories for each kernel available.
-The subdirectories have the same name as their accompanying boot disk. In each
-subdirectory you will find the following files:</p>
-
-<div class="INFORMALTABLE"><a id="AEN1587" name="AEN1587"></a>
-<table border="0" frame="void" width="100%" class="CALSTABLE">
-<col width="33%" />
-<col width="67%" />
-<thead>
-<tr>
-<th>File</th>
-<th>Purpose</th>
-</tr>
-</thead>
-
-<tbody>
-<tr>
-<td><tt class="FILENAME">System.map</tt></td>
-<td>The system map file for this kernel</td>
-</tr>
-
-<tr>
-<td><tt class="FILENAME">bzImage</tt></td>
-<td>The actual kernel image</td>
-</tr>
-
-<tr>
-<td><tt class="FILENAME">config</tt></td>
-<td>The source configuration file for this kernel</td>
-</tr>
-</tbody>
-</table>
-</div>
-
-<p>To use a kernel, copy the <tt class="FILENAME">System.map</tt> and <tt
-class="FILENAME">config</tt> files to your <tt class="FILENAME">/boot</tt> directory and
-copy the kernel image to <tt class="FILENAME">/boot/vmlinuz</tt>. Run <tt
-class="COMMAND">/sbin/lilo</tt>(8) to install LILO for the new kernel, and then reboot
-your system. That's all there is to installing a new kernel.</p>
-
-<p>The kernels that end with a .i are IDE kernels. That is, they include no SCSI support
-in the base kernel. The kernels that end with .s are SCSI kernels. They include all the
-IDE support in .i kernels, plus SCSI support.</p>
-</div>
-
-<div class="SECT2">
-<h2 class="SECT2"><a id="SYSTEM-CONFIGURATION-KERNEL-COMPILE"
-name="SYSTEM-CONFIGURATION-KERNEL-COMPILE">4.2.2 Compiling a Kernel from Source</a></h2>
-
-<p>The question &#8220;Should I compile a kernel for my system?&#8221; is often asked by
-new users. The answer is a definite maybe. There are few instances where you will need to
-compile a kernel specific to your system. Most users can use a precompiled kernel and the
-loadable kernel modules to achieve a fully working system. You will want to compile a
-kernel for your system if you are upgrading kernel versions to one that we do not
-currently offer in Slackware, or if you have patched the kernel source to get special
-device support that is not in the native kernel source. Anyone with an SMP system will
-definitely want to compile a kernel with SMP support. Also, many users find a custom
-compiled kernel runs much faster on their machine. You may find it useful to compile the
-kernel with optimizations for the specific processor in your machine.</p>
-
-<p>Building your own kernel is not that hard. The first step is to make sure you have the
-kernel source installed on your system. Make sure that you installed the packages from
-the K series during the installation. You will also want to make sure you have the D
-series installed, specifically the C compiler, GNU make, and GNU binutils. In general,
-it's a good idea to have the entire D series installed if you plan on doing any kind of
-development. You can also download the latest kernel source from <a
-href="http://www.kernel.org/mirrors" target="_top">http://www.kernel.org/mirrors</a>.</p>
-
-<div class="SECT3">
-<h3 class="SECT3"><a id="AEN1624" name="AEN1624">4.2.2.1 Linux Kernel version 2.4.x
-Compilation</a></h3>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">%</samp> <kbd class="USERINPUT">su -</kbd>
-Password:
-<samp class="PROMPT">#</samp> <kbd class="USERINPUT">cd /usr/src/linux</kbd>
-</pre>
-</td>
-</tr>
-</table>
-
-<p>The first step is to bring the kernel source into its base state. We issue this
-command to do that (note, you may wish to back-up the <tt class="FILENAME">.config</tt>
-file as this command will delete it without warning):</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">#</samp> <kbd class="USERINPUT">make mrproper</kbd>
-</pre>
-</td>
-</tr>
-</table>
-
-<p>Now you can configure the kernel for your system. The current kernel offers three ways
-of doing this. The first is the original text-based question and answer system. It asks a
-bunch of questions and then builds a configuration file. The problem with this method is
-that if you mess up, you must start over. The method that most people prefer is the menu
-driven one. Lastly, there is an X-based kernel configuration tool. Pick the one you want
-and issue the appropriate command:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">#</samp> <kbd
-class="USERINPUT">make config</kbd> (text-based Q&amp;A version)
-<samp class="PROMPT">#</samp> <kbd
-class="USERINPUT">make menuconfig</kbd> (menu driven, text-based version)
-<samp class="PROMPT">#</samp> <kbd
-class="USERINPUT">make xconfig</kbd> (X-based version, make sure you are in X first)
-</pre>
-</td>
-</tr>
-</table>
-
-<div class="FIGURE"><a id="SYSTEM-CONFIGURATION-MAKE-MENUCONFIG"
-name="SYSTEM-CONFIGURATION-MAKE-MENUCONFIG"></a>
-<p><b>Figure 4-1. Kernel Configuration Menu</b></p>
-
-<p><img src="system-configuration/make-menuconfig-w.png" /></p>
-</div>
-
-<p>New users will probably find <tt class="COMMAND">menuconfig</tt> to be the easiest to
-use. Help screens are provided that explain the various parts of the kernel. After
-configuring your kernel, exit the configuration program. It will write the necessary
-configuration files. Now we can prepare the source tree for a build:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">#</samp> <kbd class="USERINPUT">make dep</kbd>
-<samp class="PROMPT">#</samp> <kbd class="USERINPUT">make clean</kbd>
-</pre>
-</td>
-</tr>
-</table>
-
-<p>The next step is to compile the kernel. First try issuing the <tt
-class="COMMAND">bzImage</tt> command below.</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">#</samp> <kbd class="USERINPUT">make bzImage</kbd>
-</pre>
-</td>
-</tr>
-</table>
-
-<p>This may take a while, depending on your CPU speed. During the build process, you will
-see the compiler messages. After building the kernel image, you will want to build any
-parts of the kernel that you flagged as modular.</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">#</samp> <kbd class="USERINPUT">make modules</kbd>
-</pre>
-</td>
-</tr>
-</table>
-
-<p>We can now install the kernel and modules that you compiled. To install the kernel on
-a Slackware system, these commands should be issued:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">#</samp> <kbd
-class="USERINPUT">mv /boot/vmlinuz /boot/vmlinuz.old</kbd>
-<samp class="PROMPT">#</samp> <kbd
-class="USERINPUT">cat arch/i386/boot/bzImage &#62; /vmlinuz</kbd>
-<samp class="PROMPT">#</samp> <kbd
-class="USERINPUT">mv /boot/System.map /boot/System.map.old</kbd>
-<samp class="PROMPT">#</samp> <kbd class="USERINPUT">cp System.map /boot/System.map</kbd>
-<samp class="PROMPT">#</samp> <kbd class="USERINPUT">make modules_install</kbd>
-</pre>
-</td>
-</tr>
-</table>
-
-<p>You will want to edit <tt class="FILENAME">/etc/lilo.conf</tt> and add a section to
-boot your old kernel in case your new one does not work. After doing that, run <tt
-class="COMMAND">/sbin/lilo</tt> to install the new boot block. You can now reboot with
-your new kernel.</p>
-</div>
-
-<div class="SECT3">
-<h3 class="SECT3"><a id="AEN1686" name="AEN1686">4.2.2.2 Linux Kernel Version
-2.6.x</a></h3>
-
-<p>The compilation of a 2.6 kernel is only slightly different from a 2.4 or a 2.2 kernel,
-but it is important that you understand the differences before delving in. It's no longer
-necessary to run <tt class="COMMAND">make dep</tt> and <tt class="COMMAND">make
-clean</tt>. Also, the kernel compilation process is not as verbose in the 2.6 kernel
-series. This results in a build process that is easier to understand, but has some short
-comings as well. If you have trouble building the kernel, it's highly recommended that
-you turn verbosity back up. You do this simply by appending <var class="OPTION">V=1</var>
-to the build. This allows you to log more information that could help a kernel developer
-or other friendly geek aid you in resolving the issue.</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">#</samp> <kbd class="USERINPUT">make bzImage V=1</kbd>
-</pre>
-</td>
-</tr>
-</table>
-</div>
-</div>
-
-<div class="SECT2">
-<h2 class="SECT2"><a id="SYSTEM-CONFIGURATION-KERNEL-MODULES"
-name="SYSTEM-CONFIGURATION-KERNEL-MODULES">4.2.3 Using Kernel Modules</a></h2>
-
-<p>Kernel modules are another name for device drivers that can be inserted into a running
-kernel. They allow you to extend the hardware supported by your kernel without needing to
-pick another kernel or compile one yourself.</p>
-
-<p>Modules can also be loaded and unloaded at any time, even when the system is running.
-This makes upgrading specific drivers easy for system administrators. A new module can be
-compiled, the old one removed, and the new one loaded, all without rebooting the
-machine.</p>
-
-<p>Modules are stored in the <tt class="FILENAME">/lib/modules/<var
-class="REPLACEABLE">kernel version</var></tt> directory on your system. They can be
-loaded at boot time through the <tt class="FILENAME">rc.modules</tt> file. This file is
-very well commented and offers examples for major hardware components. To see a list of
-modules that are currently active, use the <tt class="COMMAND">lsmod</tt>(1) command:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">#</samp> <kbd class="USERINPUT">lsmod</kbd>
-Module Size Used by
-parport_pc 7220 0
-parport 7844 0 [parport_pc]
-</pre>
-</td>
-</tr>
-</table>
-
-<p>You can see here that I only have the parallel port module loaded. To remove a module,
-you use the <tt class="COMMAND">rmmod</tt>(1) command. Modules can be loaded by the <tt
-class="COMMAND">modprobe</tt>(1) or <tt class="COMMAND">insmod</tt>(1) command. <tt
-class="COMMAND">modprobe</tt> is usually safer because it will load any modules that the
-one you're trying to load depends on.</p>
-
-<p>A lot of users never have to load or unload modules by hand. They use the kernel
-autoloader for module management. By default, Slackware includes <var
-class="OPTION">kmod</var> in its kernels. <var class="OPTION">kmod</var> is a kernel
-option that enables the kernel to automatically load modules as they are requested. For
-more information on <var class="OPTION">kmod</var> and how it is configured, see <tt
-class="FILENAME">/usr/src/linux/Documentation/kmod.txt</tt>. You'll have needed to have
-the kernel source package, or downloaded kernel source from <a href="http://kernel.org"
-target="_top">http://kernel.org</a>.</p>
-
-<p>More information can be found in the man pages for each of these commands, plus the
-<tt class="FILENAME">rc.modules</tt> file.</p>
-</div>
-</div>
-
-<div class="NAVFOOTER">
-<hr align="LEFT" width="100%" />
-<table summary="Footer navigation table" width="100%" border="0" cellpadding="0"
-cellspacing="0">
-<tr>
-<td width="33%" align="left" valign="top"><a href="system-configuration.html"
-accesskey="P">Prev</a></td>
-<td width="34%" align="center" valign="top"><a href="index.html"
-accesskey="H">Home</a></td>
-<td width="33%" align="right" valign="top"><a href="network-configuration.html"
-accesskey="N">Next</a></td>
-</tr>
-
-<tr>
-<td width="33%" align="left" valign="top">System Configuration</td>
-<td width="34%" align="center" valign="top"><a href="system-configuration.html"
-accesskey="U">Up</a></td>
-<td width="33%" align="right" valign="top">Network Configuration</td>
-</tr>
-</table>
-</div>
-</body>
-</html>
-
diff --git a/slackbook/html/system-configuration.html b/slackbook/html/system-configuration.html
deleted file mode 100644
index 2c88375a..00000000
--- a/slackbook/html/system-configuration.html
+++ /dev/null
@@ -1,589 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta name="generator" content="HTML Tidy, see www.w3.org" />
-<title>System Configuration</title>
-<meta name="GENERATOR" content="Modular DocBook HTML Stylesheet Version 1.7" />
-<link rel="HOME" title="Slackware Linux Essentials" href="index.html" />
-<link rel="PREVIOUS" title="The setup Program" href="installation-setup.html" />
-<link rel="NEXT" title="Selecting a Kernel" href="system-configuration-kernel.html" />
-<link rel="STYLESHEET" type="text/css" href="docbook.css" />
-<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
-</head>
-<body class="CHAPTER" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#840084"
-alink="#0000FF">
-<div class="NAVHEADER">
-<table summary="Header navigation table" width="100%" border="0" cellpadding="0"
-cellspacing="0">
-<tr>
-<th colspan="3" align="center">Slackware Linux Essentials</th>
-</tr>
-
-<tr>
-<td width="10%" align="left" valign="bottom"><a href="installation-setup.html"
-accesskey="P">Prev</a></td>
-<td width="80%" align="center" valign="bottom"></td>
-<td width="10%" align="right" valign="bottom"><a href="system-configuration-kernel.html"
-accesskey="N">Next</a></td>
-</tr>
-</table>
-
-<hr align="LEFT" width="100%" />
-</div>
-
-<div class="CHAPTER">
-<h1><a id="SYSTEM-CONFIGURATION" name="SYSTEM-CONFIGURATION"></a>Chapter 4 System
-Configuration</h1>
-
-<div class="TOC">
-<dl>
-<dt><b>Table of Contents</b></dt>
-
-<dt>4.1 <a href="system-configuration.html#SYSTEM-CONFIGURATION-OVERVIEW">System
-Overview</a></dt>
-
-<dt>4.2 <a href="system-configuration-kernel.html">Selecting a Kernel</a></dt>
-</dl>
-</div>
-
-<p>Before you can configure the more advanced parts of your system, it's a good idea to
-learn how the system is organized and what commands can be used to search for files and
-programs. It's also good to know if you need to compile a custom kernel and what the
-steps for doing that are. This chapter will familiarize you with system organization and
-configuration files. Then, you can move on to configuring the more advanced parts of the
-system.</p>
-
-<div class="SECT1">
-<h1 class="SECT1"><a id="SYSTEM-CONFIGURATION-OVERVIEW"
-name="SYSTEM-CONFIGURATION-OVERVIEW">4.1 System Overview</a></h1>
-
-<p>It's important to understand how a Linux system is put together before diving into the
-various configuration aspects. A Linux system is significantly different from a DOS,
-Windows, or Macintosh system (with the exception of the Unix-based Mac OS X), but these
-sections will help you get acquainted with the layout so that you can easily configure
-your system to meet your needs.</p>
-
-<div class="SECT2">
-<h2 class="SECT2"><a id="SYSTEM-CONFIGURATION-LAYOUT"
-name="SYSTEM-CONFIGURATION-LAYOUT">4.1.1 File System Layout</a></h2>
-
-<p>The first noticeable difference between Slackware Linux and a DOS or Windows system is
-the filesystem. For starters, we do not use drive letters to denote different partitions.
-Under Linux, there is one main directory. You can relate this to the <tt
-class="DEVICENAME">C:</tt> drive under DOS. Each partition on your system is mounted to a
-directory on the main directory. It's kind of like an ever-expanding hard disk.</p>
-
-<p>We call the main directory the root directory, and it's denoted with a single slash
-(<tt class="FILENAME">/</tt>). This concept may seem strange, but it actually makes life
-easy for you when you want to add more space. For example, let's say you run out of space
-on the drive that has <tt class="FILENAME">/home</tt> on it. Most people install
-Slackware and make one big root drive. Well, since a partition can be mounted to any
-directory, you can simply go to the store and pick up a new hard drive and mount it to
-<tt class="FILENAME">/home</tt>. You've now grafted on some more space to your system.
-And all without having to move many things around.</p>
-
-<p>Below, you will find descriptions of the major top level directories under
-Slackware.</p>
-
-<div class="VARIABLELIST">
-<dl>
-<dt><tt class="FILENAME">bin</tt></dt>
-
-<dd>
-<p>Essential user programs are stored here. These represent the bare minimum set of
-programs required for a user to use the system. Things like the shell and the filesystem
-commands (<tt class="COMMAND">ls</tt>, <tt class="COMMAND">cp</tt>, and so on) are stored
-here. The <tt class="FILENAME">/bin</tt> directory usually doesn't receive modification
-after installation. If it does, it's usually in the form of package upgrades that we
-provide.</p>
-</dd>
-
-<dt><tt class="FILENAME">boot</tt></dt>
-
-<dd>
-<p>Files that are used by the Linux Loader (LILO). This directory also receives little
-modification after an installation. The kernel is stored here as of Slackware 8.1. In
-earlier releases of Slackware, the kernel was simply stored under <tt
-class="FILENAME">/</tt> , but common practice is to put the kernel and related files here
-to facilitate dual-booting.</p>
-</dd>
-
-<dt><tt class="FILENAME">dev</tt></dt>
-
-<dd>
-<p>Everything in Linux is treated as a file, even hardware devices like serial ports,
-hard disks, and scanners. In order to access these devices, a special file called a
-device node has to be present. All device nodes are stored in the <tt
-class="FILENAME">/dev</tt> directory. You will find this to be true across many Unix-like
-operating systems.</p>
-</dd>
-
-<dt><tt class="FILENAME">etc</tt></dt>
-
-<dd>
-<p>This directory holds system configuration files. Everything from the X Window
-configuration file, the user database, to the system startup scripts. The system
-administrator will become quite familiar with this directory over time.</p>
-</dd>
-
-<dt><tt class="FILENAME">home</tt></dt>
-
-<dd>
-<p>Linux is a multiuser operating system. Each user on the system is given an account and
-a unique directory for personal files. This directory is called the user's home
-directory. The <tt class="FILENAME">/home</tt> directory is provided as the default
-location for user home directories.</p>
-</dd>
-
-<dt><tt class="FILENAME">lib</tt></dt>
-
-<dd>
-<p>System libraries that are required for basic operation are stored here. The C library,
-the dynamic loader, the ncurses library, and kernel modules are among the things stored
-here.</p>
-</dd>
-
-<dt><tt class="FILENAME">mnt</tt></dt>
-
-<dd>
-<p>This directory contains temporary mount points for working on hard disks or removable
-drives. Here you'll find mount points for your CD-ROM and floppy drives.</p>
-</dd>
-
-<dt><tt class="FILENAME">opt</tt></dt>
-
-<dd>
-<p>Optional software packages. The idea behind <tt class="FILENAME">/opt</tt> is that
-each software package installs to <tt class="FILENAME">/opt/<var
-class="REPLACEABLE">software-package</var></tt>, which makes it easy to remove later.
-Slackware distributes some things in <tt class="FILENAME">/opt</tt> (such as KDE in <tt
-class="FILENAME">/opt/kde</tt>), but you are free to add anything you want to <tt
-class="FILENAME">/opt</tt>.</p>
-</dd>
-
-<dt><tt class="FILENAME">proc</tt></dt>
-
-<dd>
-<p>This is a unique directory. It's not really part of the filesystem, but a virtual
-filesystem that provides access to kernel information. Various pieces of information that
-the kernel wants you to know are conveyed to you through files in the <tt
-class="FILENAME">/proc</tt> directory. You can also send information to the kernel
-through some of these files. Try doing <tt class="COMMAND">cat /proc/cpuinfo</tt>.</p>
-</dd>
-
-<dt><tt class="FILENAME">root</tt></dt>
-
-<dd>
-<p>The system administrator is known as <tt class="USERNAME">root</tt> on the system. <tt
-class="USERNAME">root</tt>'s home directory is kept in <tt class="FILENAME">/root</tt>
-instead of <tt class="FILENAME">/home/root</tt>. The reason is simple. What if <tt
-class="FILENAME">/home</tt> was a different partition from <tt class="FILENAME">/</tt>
-and it could not be mounted? <tt class="USERNAME">root</tt> would naturally want to log
-in and repair the problem. If his home directory was on the damaged filesystem, it would
-make it difficult for him to log in.</p>
-</dd>
-
-<dt><tt class="FILENAME">sbin</tt></dt>
-
-<dd>
-<p>Essential programs that are run by <tt class="USERNAME">root</tt> and during the
-system bootup process are kept here. Normal users will not run programs in this
-directory.</p>
-</dd>
-
-<dt><tt class="FILENAME">tmp</tt></dt>
-
-<dd>
-<p>The temporary storage location. All users have read and write access to this
-directory.</p>
-</dd>
-
-<dt><tt class="FILENAME">usr</tt></dt>
-
-<dd>
-<p>This is the big directory on a Linux system. Everything else pretty much goes here,
-programs, documentation, the kernel source code, and the X Window system. This is the
-directory to which you will most likely be installing programs.</p>
-</dd>
-
-<dt><tt class="FILENAME">var</tt></dt>
-
-<dd>
-<p>System log files, cache data, and program lock files are stored here. This is the
-directory for frequently-changing data.</p>
-</dd>
-</dl>
-</div>
-
-<p>You should now have a good feel for which directories contain what on the filesystem.
-More detailed information about the filesystem layout is available in the hier(7) man
-page. The next section will help you find specific files easily, so you don't have to do
-it by hand.</p>
-</div>
-
-<div class="SECT2">
-<h2 class="SECT2"><a id="SYSTEM-CONFIGURATION-FINDING"
-name="SYSTEM-CONFIGURATION-FINDING">4.1.2 Finding Files</a></h2>
-
-<p>You now know what each major directory holds, but it still doesn't really help you
-find things. I mean, you could go looking through directories, but there are quicker
-ways. There are four main file search commands available in Slackware.</p>
-
-<div class="SECT3">
-<h3 class="SECT3"><a id="AEN1329" name="AEN1329">4.1.2.1 <tt
-class="COMMAND">which</tt></a></h3>
-
-<p>The first is the <tt class="COMMAND">which</tt>(1) command. <tt
-class="COMMAND">which</tt> is usually used to locate a program quickly. It just searches
-your <tt class="ENVAR">PATH</tt> and returns the first instance it finds and the
-directory path to it. Take this example:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">%</samp> <kbd class="USERINPUT">which bash</kbd>
-/bin/bash
-</pre>
-</td>
-</tr>
-</table>
-
-<p>From that you see that <tt class="COMMAND">bash</tt> is in the <tt
-class="FILENAME">/bin</tt> directory. This is a very limited command for searching, since
-it only searches your <tt class="ENVAR">PATH</tt>.</p>
-</div>
-
-<div class="SECT3">
-<h3 class="SECT3"><a id="AEN1347" name="AEN1347">4.1.2.2 <tt
-class="COMMAND">whereis</tt></a></h3>
-
-<p>The <tt class="COMMAND">whereis</tt>(1) command works similar to <tt
-class="COMMAND">which</tt>, but can also search for man pages and source files. A <tt
-class="COMMAND">whereis</tt> search for <tt class="COMMAND">bash</tt> should return
-this:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">%</samp> <kbd class="USERINPUT">whereis bash</kbd>
-bash: /bin/bash /usr/bin/bash /usr/man/man1/bash.1.gz
-</pre>
-</td>
-</tr>
-</table>
-
-<p>This command not only told us where the actual program is located, but also where the
-online documentation is stored. Still, this command is limited. What if you wanted to
-search for a specific configuration file? You can't use <tt class="COMMAND">which</tt> or
-<tt class="COMMAND">whereis</tt> for that.</p>
-</div>
-
-<div class="SECT3">
-<h3 class="SECT3"><a id="AEN1363" name="AEN1363">4.1.2.3 <tt
-class="COMMAND">find</tt></a></h3>
-
-<p>The <tt class="COMMAND">find</tt>(1) command allows the user to search the filesystem
-with a rich collection of search predicates. Users may specify a search with filename
-wildcards, ranges of modification or creation times, or other advanced properties. For
-example, to search for the default <tt class="FILENAME">xinitrc</tt> file on the system,
-the following command could be used.</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">%</samp> <kbd class="USERINPUT">find / -name xinitrc</kbd>
-/var/X11R6/lib/xinit/xinitrc
-</pre>
-</td>
-</tr>
-</table>
-
-<p><tt class="COMMAND">find</tt> will take a while to run, since it has to traverse the
-entire root directory tree. And if this command is run as a normal user, there will be
-permission denied error messages for directories that only <tt class="USERNAME">root</tt>
-can see. But <tt class="COMMAND">find</tt> found our file, so that's good. If only it
-could be a bit faster...</p>
-</div>
-
-<div class="SECT3">
-<h3 class="SECT3"><a id="AEN1378" name="AEN1378">4.1.2.4 <tt
-class="COMMAND">slocate</tt></a></h3>
-
-<p>The <tt class="COMMAND">slocate</tt>(1) command searches the entire filesystem, just
-like the find command can do, but it searches a database instead of the actual
-filesystem. The database is set to automatically update every morning, so you have a
-somewhat fresh listing of files on your system. You can manually run <tt
-class="COMMAND">updatedb</tt>(1) to update the slocate database (before running <tt
-class="COMMAND">updatedb</tt> by hand, you must first <tt class="COMMAND">su</tt> to the
-<tt class="USERNAME">root</tt> user). Here's an example of <tt
-class="COMMAND">slocate</tt> in action:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">%</samp> <kbd
-class="USERINPUT">slocate xinitrc</kbd> # we don't have to go to the root
-/var/X11R6/lib/xinit/xinitrc
-/var/X11R6/lib/xinit/xinitrc.fvwm2
-/var/X11R6/lib/xinit/xinitrc.openwin
-/var/X11R6/lib/xinit/xinitrc.twm
-</pre>
-</td>
-</tr>
-</table>
-
-<p>We got more than what we were looking for, and quickly too. With these commands, you
-should be able to find whatever you're looking for on your Linux system.</p>
-</div>
-</div>
-
-<div class="SECT2">
-<h2 class="SECT2"><a id="SYSTEM-CONFIGURATION-RCD" name="SYSTEM-CONFIGURATION-RCD">4.1.3
-The <tt class="FILENAME">/etc/rc.d</tt> Directory</a></h2>
-
-<p>The system initialization files are stored in the <tt class="FILENAME">/etc/rc.d</tt>
-directory. Slackware uses the BSD-style layout for its initialization files as opposed to
-System V init scripts, which tend to make configuration changes much more difficult
-without using a program specifically designed for that purpose. In BSD-init scripts, each
-runlevel is given a single rc file. In System V, each runlevel is given its own
-directory, each containing numerous init scripts. This provides an organized structure
-that is easy to maintain.</p>
-
-<p>There are several categories of initialization files. These are system startup,
-runlevels, network initialization, and System V compatibility. As per tradition, we'll
-lump everything else into another category.</p>
-
-<div class="SECT3">
-<h3 class="SECT3"><a id="AEN1406" name="AEN1406">4.1.3.1 System Startup</a></h3>
-
-<p>The first program to run under Slackware besides the Linux kernel is <tt
-class="COMMAND">init</tt>(8). This program reads the <tt
-class="FILENAME">/etc/inittab</tt>(5) file to see how to run the system. It runs the <tt
-class="FILENAME">/etc/rc.d/rc.S</tt> script to prepare the system before going into your
-desired runlevel. The <tt class="FILENAME">rc.S</tt> file enables your virtual memory,
-mounts your filesystems, cleans up certain log directories, initializes Plug and Play
-devices, loads kernel modules, configures PCMCIA devices, sets up serial ports, and runs
-System V init scripts (if found). Obviously <tt class="FILENAME">rc.S</tt> has a lot on
-its plate, but here are some scripts in <tt class="FILENAME">/etc/rc.d</tt> that <tt
-class="FILENAME">rc.S</tt> will call on to complete its work:</p>
-
-<div class="VARIABLELIST">
-<dl>
-<dt><tt class="FILENAME">rc.S</tt></dt>
-
-<dd>
-<p>This is the actual system initialization script.</p>
-</dd>
-
-<dt><tt class="FILENAME">rc.modules</tt></dt>
-
-<dd>
-<p>Loads kernel modules. Things like your network card, PPP support, and other things are
-loaded here. If this script finds <tt class="FILENAME">rc.netdevice</tt>, it will run
-that as well.</p>
-</dd>
-
-<dt><tt class="FILENAME">rc.pcmcia</tt></dt>
-
-<dd>
-<p>Probes for and configures any PCMCIA devices that you might have on your system. This
-is most useful for laptop users, who probably have a PCMCIA modem or network card.</p>
-</dd>
-
-<dt><tt class="FILENAME">rc.serial</tt></dt>
-
-<dd>
-<p>Configures your serial ports by running the appropriate <tt
-class="COMMAND">setserial</tt> commands.</p>
-</dd>
-
-<dt><tt class="FILENAME">rc.sysvinit</tt></dt>
-
-<dd>
-<p>Looks for System V init scripts for the desired runlevel and runs them. This is
-discussed in more detail below.</p>
-</dd>
-</dl>
-</div>
-</div>
-
-<div class="SECT3">
-<h3 class="SECT3"><a id="AEN1454" name="AEN1454">4.1.3.2 Runlevel Initialization
-Scripts</a></h3>
-
-<p>After system initialization is complete, <tt class="COMMAND">init</tt> moves on to
-runlevel initialization. A runlevel describes the state that your machine will be running
-in. Sound redundant? Well, the runlevel tells <tt class="COMMAND">init</tt> if you will
-be accepting multiuser logins or just a single user, whether or not you want network
-services, and if you will be using the X Window System or <tt
-class="COMMAND">agetty</tt>(8) to handle logins. The files below define the different
-runlevels in Slackware Linux.</p>
-
-<div class="VARIABLELIST">
-<dl>
-<dt><tt class="FILENAME">rc.0</tt></dt>
-
-<dd>
-<p>Halt the system (runlevel 0). By default, this is symlinked to <tt
-class="FILENAME">rc.6</tt>.</p>
-</dd>
-
-<dt><tt class="FILENAME">rc.4</tt></dt>
-
-<dd>
-<p>Multiuser startup (runlevel 4), but in X11 with KDM, GDM, or XDM as the login
-manager.</p>
-</dd>
-
-<dt><tt class="FILENAME">rc.6</tt></dt>
-
-<dd>
-<p>Reboot the system (runlevel 6).</p>
-</dd>
-
-<dt><tt class="FILENAME">rc.K</tt></dt>
-
-<dd>
-<p>Startup in single user mode (runlevel 1).</p>
-</dd>
-
-<dt><tt class="FILENAME">rc.M</tt></dt>
-
-<dd>
-<p>Multiuser mode (runlevels 2 and 3), but with the standard text-based login. This is
-the default runlevel in Slackware.</p>
-</dd>
-</dl>
-</div>
-</div>
-
-<div class="SECT3">
-<h3 class="SECT3"><a id="AEN1493" name="AEN1493">4.1.3.3 Network Initialization</a></h3>
-
-<p>Runlevels 2, 3, and 4 will start up the network services. The following files are
-responsible for the network initialization:</p>
-
-<div class="VARIABLELIST">
-<dl>
-<dt><tt class="FILENAME">rc.inet1</tt></dt>
-
-<dd>
-<p>Created by <tt class="COMMAND">netconfig</tt>, this file is responsible for
-configuring the actual network interface.</p>
-</dd>
-
-<dt><tt class="FILENAME">rc.inet2</tt></dt>
-
-<dd>
-<p>Runs after <tt class="FILENAME">rc.inet1</tt> and starts up basic network
-services.</p>
-</dd>
-
-<dt><tt class="FILENAME">rc.atalk</tt></dt>
-
-<dd>
-<p>Starts up AppleTalk services.</p>
-</dd>
-
-<dt><tt class="FILENAME">rc.httpd</tt></dt>
-
-<dd>
-<p>Starts up the Apache web server. Like a few other rc scripts, this one can also be
-used to stop and restart a service. <tt class="FILENAME">rc.httpd</tt> takes arguments of
-stop, start, or restart. &#13;</p>
-</dd>
-
-<dt><tt class="FILENAME">rc.news</tt></dt>
-
-<dd>
-<p>Starts up the news server.</p>
-</dd>
-</dl>
-</div>
-</div>
-
-<div class="SECT3">
-<h3 class="SECT3"><a id="AEN1534" name="AEN1534">4.1.3.4 System V Compatibility</a></h3>
-
-<p>System V init compatibility was introduced in Slackware 7.0. Many other Linux
-distributions make use of this style instead of the BSD style. Basically each runlevel is
-given a subdirectory for init scripts, whereas BSD style gives one init script to each
-runlevel.</p>
-
-<p>The <tt class="FILENAME">rc.sysvinit</tt> script will search for any System V init
-scripts you have in <tt class="FILENAME">/etc/rc.d</tt> and run them, if the runlevel is
-appropriate. This is useful for certain commercial software packages that install System
-V init scripts</p>
-</div>
-
-<div class="SECT3">
-<h3 class="SECT3"><a id="AEN1546" name="AEN1546">4.1.3.5 Other Files</a></h3>
-
-<p>The scripts described below are the other system initialization scripts. They are
-typically run from one of the major scripts above, so all you need to do is edit the
-contents.</p>
-
-<div class="VARIABLELIST">
-<dl>
-<dt><tt class="FILENAME">rc.gpm</tt></dt>
-
-<dd>
-<p>Starts up general purpose mouse services. Allows you to copy and paste at the Linux
-console. Occasionally, gpm will cause problems with the mouse when it is used under X
-windows. If you experience problems with the mouse under X, try taking away the
-executable permission from this file and stopping the gpm server.</p>
-</dd>
-
-<dt><tt class="FILENAME">rc.font</tt></dt>
-
-<dd>
-<p>Loads the custom screen font for the console.</p>
-</dd>
-
-<dt><tt class="FILENAME">rc.local</tt></dt>
-
-<dd>
-<p>Contains any specific startup commands for your system. This is empty after a fresh
-install, as it is reserved for local administrators. This script is run after all other
-initialization has taken place.</p>
-</dd>
-</dl>
-</div>
-
-<p>To enable a script, all you need to do is add the execute permissions to it with the
-<tt class="COMMAND">chmod</tt> command. To disable a script, remove the execute
-permissions from it. For more information about <tt class="COMMAND">chmod</tt>, see <a
-href="filesystem-structure-permissions.html">Section 9.2</a>.</p>
-</div>
-</div>
-</div>
-</div>
-
-<div class="NAVFOOTER">
-<hr align="LEFT" width="100%" />
-<table summary="Footer navigation table" width="100%" border="0" cellpadding="0"
-cellspacing="0">
-<tr>
-<td width="33%" align="left" valign="top"><a href="installation-setup.html"
-accesskey="P">Prev</a></td>
-<td width="34%" align="center" valign="top"><a href="index.html"
-accesskey="H">Home</a></td>
-<td width="33%" align="right" valign="top"><a href="system-configuration-kernel.html"
-accesskey="N">Next</a></td>
-</tr>
-
-<tr>
-<td width="33%" align="left" valign="top">The <tt class="COMMAND">setup</tt> Program</td>
-<td width="34%" align="center" valign="top">&nbsp;</td>
-<td width="33%" align="right" valign="top">Selecting a Kernel</td>
-</tr>
-</table>
-</div>
-</body>
-</html>
-
diff --git a/slackbook/html/system-configuration/make-menuconfig-w.png b/slackbook/html/system-configuration/make-menuconfig-w.png
deleted file mode 100644
index 84814290..00000000
--- a/slackbook/html/system-configuration/make-menuconfig-w.png
+++ /dev/null
Binary files differ
diff --git a/slackbook/html/vi-configuration.html b/slackbook/html/vi-configuration.html
deleted file mode 100644
index e37b86dd..00000000
--- a/slackbook/html/vi-configuration.html
+++ /dev/null
@@ -1,96 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta name="generator" content="HTML Tidy, see www.w3.org" />
-<title>vi Configuration</title>
-<meta name="GENERATOR" content="Modular DocBook HTML Stylesheet Version 1.7" />
-<link rel="HOME" title="Slackware Linux Essentials" href="index.html" />
-<link rel="UP" title="Vi" href="vi.html" />
-<link rel="PREVIOUS" title="Quitting vi" href="vi-quitting-vi.html" />
-<link rel="NEXT" title="Vi Keys" href="vi-keys.html" />
-<link rel="STYLESHEET" type="text/css" href="docbook.css" />
-<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
-</head>
-<body class="SECT1" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#840084"
-alink="#0000FF">
-<div class="NAVHEADER">
-<table summary="Header navigation table" width="100%" border="0" cellpadding="0"
-cellspacing="0">
-<tr>
-<th colspan="3" align="center">Slackware Linux Essentials</th>
-</tr>
-
-<tr>
-<td width="10%" align="left" valign="bottom"><a href="vi-quitting-vi.html"
-accesskey="P">Prev</a></td>
-<td width="80%" align="center" valign="bottom">Chapter 16 Vi</td>
-<td width="10%" align="right" valign="bottom"><a href="vi-keys.html"
-accesskey="N">Next</a></td>
-</tr>
-</table>
-
-<hr align="LEFT" width="100%" />
-</div>
-
-<div class="SECT1">
-<h1 class="SECT1"><a id="VI-CONFIGURATION" name="VI-CONFIGURATION">16.6 vi
-Configuration</a></h1>
-
-<p>Your <tt class="COMMAND">vi</tt> clone of choice can be configured in several
-ways.</p>
-
-<p>A variety of commands can be entered while in command mode to set up <tt
-class="COMMAND">vi</tt> just how you like it. Depending on your editor, you can enable
-features to make programming easier (like syntax hilighting, auto-indenting, and more),
-set up macros to automake tasks, enable textual substitutions, and more.</p>
-
-<p>Almost all of these commands can be put into a configuration file in your home
-directory. <tt class="COMMAND">elvis</tt> expects a <tt class="FILENAME">.exrc</tt> file,
-while <tt class="COMMAND">vim</tt> expects a <tt class="FILENAME">.vimrc</tt> file. Most
-of the setup commands that can be entered in command mode can be placed in the
-configuration file. This includes setup information, textual substitutions, macros, and
-more.</p>
-
-<p>Discussing all these options and the differences between the editors is quite an
-involved subject. For more information, check out the man page or web site for your
-preferred <tt class="COMMAND">vi</tt> editor. Some editors (like <tt
-class="COMMAND">vim</tt>) have extensive help within the editor that can be accessed with
-the <b class="KEYCAP">:help</b> command, or something similar. You can also check out the
-O'Reilly book <i class="CITETITLE">Learning the <tt class="COMMAND">vi</tt> Editor</i> by
-Lamb and Robbins.</p>
-
-<p>Many common programs in Linux will load up a text file in <tt class="COMMAND">vi</tt>
-by default. For example, editing your crontabs will start up <tt class="COMMAND">vi</tt>
-by default. If you do not like <tt class="COMMAND">vi</tt> and would like another editor
-to be started instead, all you need to do is set the <tt class="ENVAR">VISUAL</tt>
-environment variable to the editor you prefer. For information on setting environment
-variables, see the section called Environment Variables in Chapter 8. If you want to make
-sure that your editor will be the default every time you login, add the VISUAL setting to
-your <tt class="FILENAME">.bash_profile</tt> or <tt class="FILENAME">.bashrc</tt>
-files.</p>
-</div>
-
-<div class="NAVFOOTER">
-<hr align="LEFT" width="100%" />
-<table summary="Footer navigation table" width="100%" border="0" cellpadding="0"
-cellspacing="0">
-<tr>
-<td width="33%" align="left" valign="top"><a href="vi-quitting-vi.html"
-accesskey="P">Prev</a></td>
-<td width="34%" align="center" valign="top"><a href="index.html"
-accesskey="H">Home</a></td>
-<td width="33%" align="right" valign="top"><a href="vi-keys.html"
-accesskey="N">Next</a></td>
-</tr>
-
-<tr>
-<td width="33%" align="left" valign="top">Quitting vi</td>
-<td width="34%" align="center" valign="top"><a href="vi.html" accesskey="U">Up</a></td>
-<td width="33%" align="right" valign="top">Vi Keys</td>
-</tr>
-</table>
-</div>
-</body>
-</html>
-
diff --git a/slackbook/html/vi-keys.html b/slackbook/html/vi-keys.html
deleted file mode 100644
index a2386360..00000000
--- a/slackbook/html/vi-keys.html
+++ /dev/null
@@ -1,279 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta name="generator" content="HTML Tidy, see www.w3.org" />
-<title>Vi Keys</title>
-<meta name="GENERATOR" content="Modular DocBook HTML Stylesheet Version 1.7" />
-<link rel="HOME" title="Slackware Linux Essentials" href="index.html" />
-<link rel="UP" title="Vi" href="vi.html" />
-<link rel="PREVIOUS" title="vi Configuration" href="vi-configuration.html" />
-<link rel="NEXT" title="Emacs" href="emacs.html" />
-<link rel="STYLESHEET" type="text/css" href="docbook.css" />
-<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
-</head>
-<body class="SECT1" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#840084"
-alink="#0000FF">
-<div class="NAVHEADER">
-<table summary="Header navigation table" width="100%" border="0" cellpadding="0"
-cellspacing="0">
-<tr>
-<th colspan="3" align="center">Slackware Linux Essentials</th>
-</tr>
-
-<tr>
-<td width="10%" align="left" valign="bottom"><a href="vi-configuration.html"
-accesskey="P">Prev</a></td>
-<td width="80%" align="center" valign="bottom">Chapter 16 Vi</td>
-<td width="10%" align="right" valign="bottom"><a href="emacs.html"
-accesskey="N">Next</a></td>
-</tr>
-</table>
-
-<hr align="LEFT" width="100%" />
-</div>
-
-<div class="SECT1">
-<h1 class="SECT1"><a id="VI-KEYS" name="VI-KEYS">16.7 Vi Keys</a></h1>
-
-<p>This section is a quick reference of many common <tt class="COMMAND">vi</tt> commands.
-Some of these were discussed earlier in the chapter, while many will be new.</p>
-
-<div class="TABLE"><a id="AEN5773" name="AEN5773"></a>
-<p><b>Table 16-1. Movement</b></p>
-
-<table border="0" frame="void" class="CALSTABLE">
-<col />
-<col />
-<thead>
-<tr>
-<th align="CENTER">Operation</th>
-<th align="CENTER">Key</th>
-</tr>
-</thead>
-
-<tbody>
-<tr>
-<td>left, down, up, right</td>
-<td align="CENTER"><b class="KEYCAP">h</b>, <b class="KEYCAP">j</b>, <b
-class="KEYCAP">k</b>, <b class="KEYCAP">l</b></td>
-</tr>
-
-<tr>
-<td>To the end of the line</td>
-<td align="CENTER"><b class="KEYCAP">$</b></td>
-</tr>
-
-<tr>
-<td>To the beginning of the line</td>
-<td align="CENTER"><b class="KEYCAP">^</b></td>
-</tr>
-
-<tr>
-<td>To the end of the file</td>
-<td align="CENTER"><b class="KEYCAP">G</b></td>
-</tr>
-
-<tr>
-<td>To the beginning of the file</td>
-<td align="CENTER"><b class="KEYCAP">:1</b></td>
-</tr>
-
-<tr>
-<td>To line 47</td>
-<td align="CENTER"><b class="KEYCAP">:47</b></td>
-</tr>
-</tbody>
-</table>
-</div>
-
-<div class="TABLE"><a id="AEN5808" name="AEN5808"></a>
-<p><b>Table 16-2. Editing</b></p>
-
-<table border="0" frame="void" class="CALSTABLE">
-<col />
-<col />
-<thead>
-<tr>
-<th align="CENTER">Operation</th>
-<th align="CENTER">Key</th>
-</tr>
-</thead>
-
-<tbody>
-<tr>
-<td>Removing a line</td>
-<td align="CENTER"><b class="KEYCAP">dd</b></td>
-</tr>
-
-<tr>
-<td>Removing five lines</td>
-<td align="CENTER"><b class="KEYCAP">5dd</b></td>
-</tr>
-
-<tr>
-<td>Replacing a character</td>
-<td align="CENTER"><b class="KEYCAP">r</b></td>
-</tr>
-
-<tr>
-<td>Removing a character</td>
-<td align="CENTER"><b class="KEYCAP">x</b></td>
-</tr>
-
-<tr>
-<td>Removing ten characters</td>
-<td align="CENTER"><b class="KEYCAP">10x</b></td>
-</tr>
-
-<tr>
-<td>Undo last action</td>
-<td align="CENTER"><b class="KEYCAP">u</b></td>
-</tr>
-
-<tr>
-<td>Join current and next lines</td>
-<td align="CENTER"><b class="KEYCAP">J</b></td>
-</tr>
-
-<tr>
-<td>Replace old with new, globally</td>
-<td align="CENTER"><b class="KEYCAP">%s'old'new'g</b></td>
-</tr>
-</tbody>
-</table>
-</div>
-
-<div class="TABLE"><a id="AEN5848" name="AEN5848"></a>
-<p><b>Table 16-3. Searching</b></p>
-
-<table border="0" frame="void" class="CALSTABLE">
-<col />
-<col />
-<thead>
-<tr>
-<th align="CENTER">Operation</th>
-<th align="CENTER">Key</th>
-</tr>
-</thead>
-
-<tbody>
-<tr>
-<td>Search for &#8220;asdf&#8221;</td>
-<td align="CENTER"><b class="KEYCAP">/asdf</b></td>
-</tr>
-
-<tr>
-<td>Search backwards for &#8220;asdf&#8221;</td>
-<td align="CENTER"><b class="KEYCAP">?asdf</b></td>
-</tr>
-
-<tr>
-<td>Repeat last search forwards</td>
-<td align="CENTER"><b class="KEYCAP">/</b></td>
-</tr>
-
-<tr>
-<td>Repeat last search backwards</td>
-<td align="CENTER"><b class="KEYCAP">?</b></td>
-</tr>
-
-<tr>
-<td>Repeat last search, same direction</td>
-<td align="CENTER"><b class="KEYCAP">n</b></td>
-</tr>
-
-<tr>
-<td>Repeat last search, opposite direction</td>
-<td align="CENTER"><b class="KEYCAP">N</b></td>
-</tr>
-</tbody>
-</table>
-</div>
-
-<div class="TABLE"><a id="AEN5882" name="AEN5882"></a>
-<p><b>Table 16-4. Saving and Quitting</b></p>
-
-<table border="0" frame="void" class="CALSTABLE">
-<col />
-<col />
-<thead>
-<tr>
-<th align="CENTER">Operation</th>
-<th align="CENTER">Key</th>
-</tr>
-</thead>
-
-<tbody>
-<tr>
-<td>Quit</td>
-<td align="CENTER"><b class="KEYCAP">:q</b></td>
-</tr>
-
-<tr>
-<td>Quit without saving</td>
-<td align="CENTER"><b class="KEYCAP">:q!</b></td>
-</tr>
-
-<tr>
-<td>Write and quit</td>
-<td align="CENTER"><b class="KEYCAP">:wq</b></td>
-</tr>
-
-<tr>
-<td>Write, without quitting</td>
-<td align="CENTER"><b class="KEYCAP">:w</b></td>
-</tr>
-
-<tr>
-<td>Reload currently open file</td>
-<td align="CENTER"><b class="KEYCAP">:e!</b></td>
-</tr>
-
-<tr>
-<td>Write buffer to file <tt class="FILENAME">asdf</tt></td>
-<td align="CENTER"><b class="KEYCAP">:w asdf</b></td>
-</tr>
-
-<tr>
-<td>Open file <tt class="FILENAME">hejaz</tt></td>
-<td align="CENTER"><b class="KEYCAP">:e hejaz</b></td>
-</tr>
-
-<tr>
-<td>Read file <tt class="FILENAME">asdf</tt> into buffer</td>
-<td align="CENTER"><b class="KEYCAP">:r asdf</b></td>
-</tr>
-
-<tr>
-<td>Read output of <tt class="COMMAND">ls</tt> into buffer</td>
-<td align="CENTER"><b class="KEYCAP">:r !ls</b></td>
-</tr>
-</tbody>
-</table>
-</div>
-</div>
-
-<div class="NAVFOOTER">
-<hr align="LEFT" width="100%" />
-<table summary="Footer navigation table" width="100%" border="0" cellpadding="0"
-cellspacing="0">
-<tr>
-<td width="33%" align="left" valign="top"><a href="vi-configuration.html"
-accesskey="P">Prev</a></td>
-<td width="34%" align="center" valign="top"><a href="index.html"
-accesskey="H">Home</a></td>
-<td width="33%" align="right" valign="top"><a href="emacs.html"
-accesskey="N">Next</a></td>
-</tr>
-
-<tr>
-<td width="33%" align="left" valign="top">vi Configuration</td>
-<td width="34%" align="center" valign="top"><a href="vi.html" accesskey="U">Up</a></td>
-<td width="33%" align="right" valign="top">Emacs</td>
-</tr>
-</table>
-</div>
-</body>
-</html>
-
diff --git a/slackbook/html/vi-modes.html b/slackbook/html/vi-modes.html
deleted file mode 100644
index df838797..00000000
--- a/slackbook/html/vi-modes.html
+++ /dev/null
@@ -1,200 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta name="generator" content="HTML Tidy, see www.w3.org" />
-<title>Modes</title>
-<meta name="GENERATOR" content="Modular DocBook HTML Stylesheet Version 1.7" />
-<link rel="HOME" title="Slackware Linux Essentials" href="index.html" />
-<link rel="UP" title="Vi" href="vi.html" />
-<link rel="PREVIOUS" title="Vi" href="vi.html" />
-<link rel="NEXT" title="Opening Files" href="vi-opening-files.html" />
-<link rel="STYLESHEET" type="text/css" href="docbook.css" />
-<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
-</head>
-<body class="SECT1" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#840084"
-alink="#0000FF">
-<div class="NAVHEADER">
-<table summary="Header navigation table" width="100%" border="0" cellpadding="0"
-cellspacing="0">
-<tr>
-<th colspan="3" align="center">Slackware Linux Essentials</th>
-</tr>
-
-<tr>
-<td width="10%" align="left" valign="bottom"><a href="vi.html"
-accesskey="P">Prev</a></td>
-<td width="80%" align="center" valign="bottom">Chapter 16 Vi</td>
-<td width="10%" align="right" valign="bottom"><a href="vi-opening-files.html"
-accesskey="N">Next</a></td>
-</tr>
-</table>
-
-<hr align="LEFT" width="100%" />
-</div>
-
-<div class="SECT1">
-<h1 class="SECT1"><a id="VI-MODES" name="VI-MODES">16.2 Modes</a></h1>
-
-<p><tt class="COMMAND">vi</tt> operates in various modes, which are used to accomplish
-various tasks. When you first start <tt class="COMMAND">vi</tt>, you are placed into
-command mode. From this point, you can issue various commands to manipulate text, move
-around in the file, save, quit, and change modes. Editing the text is done in insert
-mode. You can quickly move between modes with a variety of keystrokes, which are
-explained below.</p>
-
-<div class="SECT2">
-<h2 class="SECT2"><a id="VI-MODES-COMMAND-MODE" name="VI-MODES-COMMAND-MODE">16.2.1
-Command Mode</a></h2>
-
-<p>You are first placed into command mode. From this mode, you cannot directly enter text
-or edit what is already there. However, you can manipulate the text, search, quit, save,
-load new files, and more. This is intended only to be an introduction to the command
-mode. For a description of the various commands, see <a href="vi-keys.html">Section
-16.7</a>.</p>
-
-<p>Probably the most often used command in command mode is changing to insert mode. This
-is accomplished by hitting the <b class="KEYCAP">i</b> key. The cursor changes shapes,
-and <span class="emphasis"><i class="EMPHASIS">-- INSERT --</i></span> is displayed at
-the bottom of the screen (note that this does not happen in all clones of <tt
-class="COMMAND">vi</tt>). From there, all your keystrokes are entered into the current
-buffer and are displayed to the screen. To get back into command mode, hit the <b
-class="KEYCAP">ESCAPE</b> key.</p>
-
-<p>Command mode is also where you move around in the file. On some systems, you can use
-the arrow keys to move around. On other systems, you may need to use the more traditional
-keys of &#8220;<b class="KEYCAP">hjkl</b>&#8221;. Here is a simple listing of how these
-keys are used to move around:</p>
-
-<div class="INFORMALTABLE"><a id="AEN5604" name="AEN5604"></a>
-<table border="0" frame="void" width="100%" class="CALSTABLE">
-<col width="25%" />
-<col width="75%" />
-<tbody>
-<tr>
-<td><b class="KEYCAP">h</b></td>
-<td>move left one character</td>
-</tr>
-
-<tr>
-<td><b class="KEYCAP">j</b></td>
-<td>move down one character</td>
-</tr>
-
-<tr>
-<td><b class="KEYCAP">k</b></td>
-<td>move up one character</td>
-</tr>
-
-<tr>
-<td><b class="KEYCAP">l</b></td>
-<td>move right one character</td>
-</tr>
-</tbody>
-</table>
-</div>
-
-<p>Simply press a key to move. As you will see later, these keys can be combined with a
-number to move much more efficiently.</p>
-
-<p>Many of the commands that you will use in command mode begin with a colon. For
-example, quitting is <b class="KEYCAP">:q</b>, as discussed earlier. The colon simply
-indicates that it is a command, while the &#8220;<b class="KEYCAP">q</b>&#8221; tells <tt
-class="COMMAND">vi</tt> to quit. Other commands are an optional number, followed by a
-letter. These commands do not have a colon before them, and are generally used to
-manipulate the text.</p>
-
-<p>For example, deleting one line from a file is accomplished by hitting <b
-class="KEYCAP">dd</b>. This will remove the line that the cursor is on. Issuing the
-command <b class="KEYCAP">4dd</b> would tell <tt class="COMMAND">vi</tt> to remove the
-line that the cursor is on and the three after that. In general, the number tells <tt
-class="COMMAND">vi</tt> how many times to perform the command.</p>
-
-<p>You can combine a number with the movement keys to move around several characters at a
-time. For example, <b class="KEYCAP">10k</b> would move up ten lines on the screen.</p>
-
-<p>Command mode can also be used to cut and paste, insert text, and read other files into
-the current buffer. Copying text is accomplished with the <b class="KEYCAP">y</b> key (<b
-class="KEYCAP">y</b> stands for yank). Copying the current line is done by typing <b
-class="KEYCAP">yy</b>, and this can be prefixed with a number to yank more lines. Then,
-move to the location for the copy and hit <b class="KEYCAP">p</b>. The text is pasted on
-the line after the current one.</p>
-
-<p>Cutting text is done by typing <b class="KEYCAP">dd</b>, and <b class="KEYCAP">p</b>
-can be used to paste the cut text back into the file. Reading in text from another file
-is a simple procedure. Just type <b class="KEYCAP">:r</b>, followed by a space and the
-file name that contains the text to be inserted. The file's contents will be pasted into
-the current buffer on the line after the cursor. More sophisticated <tt
-class="COMMAND">vi</tt> clones even contain filename completion similar to the
-shell's.</p>
-
-<p>The final use that will be covered is searching. Command mode allows for simple
-searching, as well as complicated search-and-replace commands that make use of a powerful
-version of regular expressions. A complete discussion of regular expressions is beyond
-the scope of this chapter, so this section will only cover simple means of searching.</p>
-
-<p>A simple search is accomplished by hitting the <b class="KEYCAP">/</b> key, followed
-by the text that you are searching for. <tt class="COMMAND">vi</tt> will search forward
-from the cursor to the end of the file for a match, stopping when it finds one. Note that
-inexact matches will cause <tt class="COMMAND">vi</tt> to stop as well. For example, a
-search for &#8220;<span class="emphasis"><i class="EMPHASIS">the</i></span>&#8221; will
-cause <tt class="COMMAND">vi</tt> to stop on &#8220;<span class="emphasis"><i
-class="EMPHASIS">then</i></span>&#8221;, &#8220;<span class="emphasis"><i
-class="EMPHASIS">therefore</i></span>&#8221;, and so on. This is because all of those
-words do match &#8220;<span class="emphasis"><i
-class="EMPHASIS">the</i></span>&#8221;.</p>
-
-<p>After <tt class="COMMAND">vi</tt> has found the first match, you can continue on to
-the next match simply by hitting the <b class="KEYCAP">/</b> key followed by enter. You
-can also search backwards through the file by replacing the slash with the <b
-class="KEYCAP">?</b> key. For example, searching backwards through the file for
-&#8220;<span class="emphasis"><i class="EMPHASIS">the</i></span>&#8221; would be
-accomplished by typing <b class="KEYCAP">?the</b>.</p>
-</div>
-
-<div class="SECT2">
-<h2 class="SECT2"><a id="VI-MODES-INSET-MODE" name="VI-MODES-INSET-MODE">16.2.2 Insert
-Mode</a></h2>
-
-<p>Inserting and replacing text is accomplished in insert mode. As previously discussed,
-you can get into insert mode by hitting <b class="KEYCAP">i</b> from command mode. Then,
-all text that you type is entered into the current buffer. Hitting the <b
-class="KEYCAP">ESCAPE</b> key takes you back into command mode.</p>
-
-<p>Replacing text is accomplished in several ways. From command mode, hitting <b
-class="KEYCAP">r</b> will allow you to replace the one character underneath the cursor.
-Just type the new character and it will replace the one under the cursor. You will then
-be immediately placed back into command mode. Hitting <b class="KEYCAP">R</b> allows you
-to replace as many characters as you'd like. To get out of this replacement mode, just
-hit <b class="KEYCAP">ESCAPE</b> to go back into command mode.</p>
-
-<p>There is yet another way to toggle between insertion and replacement. Hitting the <b
-class="KEYCAP">INSERT</b> key from command mode will take you into insert mode. Once you
-are in insert mode, the keyboard's <b class="KEYCAP">INSERT</b> key serves as a toggle
-between insert and replace. Hitting it once will allow you to replace. Hitting it once
-more will once again allow you to insert text.</p>
-</div>
-</div>
-
-<div class="NAVFOOTER">
-<hr align="LEFT" width="100%" />
-<table summary="Footer navigation table" width="100%" border="0" cellpadding="0"
-cellspacing="0">
-<tr>
-<td width="33%" align="left" valign="top"><a href="vi.html" accesskey="P">Prev</a></td>
-<td width="34%" align="center" valign="top"><a href="index.html"
-accesskey="H">Home</a></td>
-<td width="33%" align="right" valign="top"><a href="vi-opening-files.html"
-accesskey="N">Next</a></td>
-</tr>
-
-<tr>
-<td width="33%" align="left" valign="top">Vi</td>
-<td width="34%" align="center" valign="top"><a href="vi.html" accesskey="U">Up</a></td>
-<td width="33%" align="right" valign="top">Opening Files</td>
-</tr>
-</table>
-</div>
-</body>
-</html>
-
diff --git a/slackbook/html/vi-opening-files.html b/slackbook/html/vi-opening-files.html
deleted file mode 100644
index db79dd08..00000000
--- a/slackbook/html/vi-opening-files.html
+++ /dev/null
@@ -1,109 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta name="generator" content="HTML Tidy, see www.w3.org" />
-<title>Opening Files</title>
-<meta name="GENERATOR" content="Modular DocBook HTML Stylesheet Version 1.7" />
-<link rel="HOME" title="Slackware Linux Essentials" href="index.html" />
-<link rel="UP" title="Vi" href="vi.html" />
-<link rel="PREVIOUS" title="Modes" href="vi-modes.html" />
-<link rel="NEXT" title="Saving Files" href="vi-saving-files.html" />
-<link rel="STYLESHEET" type="text/css" href="docbook.css" />
-<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
-</head>
-<body class="SECT1" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#840084"
-alink="#0000FF">
-<div class="NAVHEADER">
-<table summary="Header navigation table" width="100%" border="0" cellpadding="0"
-cellspacing="0">
-<tr>
-<th colspan="3" align="center">Slackware Linux Essentials</th>
-</tr>
-
-<tr>
-<td width="10%" align="left" valign="bottom"><a href="vi-modes.html"
-accesskey="P">Prev</a></td>
-<td width="80%" align="center" valign="bottom">Chapter 16 Vi</td>
-<td width="10%" align="right" valign="bottom"><a href="vi-saving-files.html"
-accesskey="N">Next</a></td>
-</tr>
-</table>
-
-<hr align="LEFT" width="100%" />
-</div>
-
-<div class="SECT1">
-<h1 class="SECT1"><a id="VI-OPENING-FILES" name="VI-OPENING-FILES">16.3 Opening
-Files</a></h1>
-
-<p><tt class="COMMAND">vi</tt> allows you to open files from command mode as well as
-specifying a file on the command line to open. To open the file <tt
-class="FILENAME">/etc/lilo.conf</tt>:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<kbd class="USERINPUT">:e /etc/lilo.conf</kbd>
-</pre>
-</td>
-</tr>
-</table>
-
-<p>If you have made changes to the current buffer without saving, <tt
-class="COMMAND">vi</tt> will complain. You can still open the file without saving the
-current buffer by typing <b class="KEYCAP">:e!</b>, followed by a space and the filename.
-In general, <tt class="COMMAND">vi</tt>'s warnings can be suppressed by following the
-command with an exclamation mark.</p>
-
-<p>If you want to reopen the current file, you can do so simply by typing <b
-class="KEYCAP">e!</b>. This is particularly useful if you have somehow messed up the file
-and want to reopen it.</p>
-
-<p>Some <tt class="COMMAND">vi</tt> clones (for example, <tt class="COMMAND">vim</tt>)
-allow for multiple buffers to be open at the same time. For example, to open up the file
-<tt class="FILENAME">09-vi.sgml</tt> in my home directory while another file was open, I
-would type:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<kbd class="USERINPUT">:split ~/09-vi.sgml</kbd>
-</pre>
-</td>
-</tr>
-</table>
-
-<p>The new file is displayed on the top half of the screen, and the old file is displayed
-in the bottom half of the screen. There are a lot of commands that manipulate the split
-screen, and many of these commands start to resemble something out of <tt
-class="COMMAND">Emacs</tt> The best place to look up these commands would be the man page
-for your vi clone. Note that many clones do not support the split-screen idea, so you
-might not be able to use it at all.</p>
-</div>
-
-<div class="NAVFOOTER">
-<hr align="LEFT" width="100%" />
-<table summary="Footer navigation table" width="100%" border="0" cellpadding="0"
-cellspacing="0">
-<tr>
-<td width="33%" align="left" valign="top"><a href="vi-modes.html"
-accesskey="P">Prev</a></td>
-<td width="34%" align="center" valign="top"><a href="index.html"
-accesskey="H">Home</a></td>
-<td width="33%" align="right" valign="top"><a href="vi-saving-files.html"
-accesskey="N">Next</a></td>
-</tr>
-
-<tr>
-<td width="33%" align="left" valign="top">Modes</td>
-<td width="34%" align="center" valign="top"><a href="vi.html" accesskey="U">Up</a></td>
-<td width="33%" align="right" valign="top">Saving Files</td>
-</tr>
-</table>
-</div>
-</body>
-</html>
-
diff --git a/slackbook/html/vi-quitting-vi.html b/slackbook/html/vi-quitting-vi.html
deleted file mode 100644
index d600af00..00000000
--- a/slackbook/html/vi-quitting-vi.html
+++ /dev/null
@@ -1,80 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta name="generator" content="HTML Tidy, see www.w3.org" />
-<title>Quitting vi</title>
-<meta name="GENERATOR" content="Modular DocBook HTML Stylesheet Version 1.7" />
-<link rel="HOME" title="Slackware Linux Essentials" href="index.html" />
-<link rel="UP" title="Vi" href="vi.html" />
-<link rel="PREVIOUS" title="Saving Files" href="vi-saving-files.html" />
-<link rel="NEXT" title="vi Configuration" href="vi-configuration.html" />
-<link rel="STYLESHEET" type="text/css" href="docbook.css" />
-<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
-</head>
-<body class="SECT1" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#840084"
-alink="#0000FF">
-<div class="NAVHEADER">
-<table summary="Header navigation table" width="100%" border="0" cellpadding="0"
-cellspacing="0">
-<tr>
-<th colspan="3" align="center">Slackware Linux Essentials</th>
-</tr>
-
-<tr>
-<td width="10%" align="left" valign="bottom"><a href="vi-saving-files.html"
-accesskey="P">Prev</a></td>
-<td width="80%" align="center" valign="bottom">Chapter 16 Vi</td>
-<td width="10%" align="right" valign="bottom"><a href="vi-configuration.html"
-accesskey="N">Next</a></td>
-</tr>
-</table>
-
-<hr align="LEFT" width="100%" />
-</div>
-
-<div class="SECT1">
-<h1 class="SECT1"><a id="VI-QUITTING-VI" name="VI-QUITTING-VI">16.5 Quitting vi</a></h1>
-
-<p>One way to quit <tt class="COMMAND">vi</tt> is through <b class="KEYCAP">:wq</b>,
-which will save the current buffer before quitting. You can also quit without saving with
-<b class="KEYCAP">:q</b> or (more commonly) <b class="KEYCAP">:q!</b>. The latter is used
-when you've modified the file but do not wish to save any changes to it.</p>
-
-<p>On occasion, your machine might crash or <tt class="COMMAND">vi</tt> might crash.
-However, both <tt class="COMMAND">elvis</tt> and <tt class="COMMAND">vim</tt> will take
-steps to minimize the damage to any open buffers. Both editors save the open buffers to a
-temporary file on occasion. This file is usually named similarly to the open file, but
-with a dot at the beginning. This makes the file hidden.</p>
-
-<p>This temporary file gets removed once the editor quits under normal conditions. This
-means that the temporary copy will still be around if something crashes. When you go back
-to edit the file again, you will be prompted for what action to take. In most cases, a
-large amount of your unsaved work can be recovered. <tt class="COMMAND">elvis</tt> will
-also send you a mail (from Graceland, oddly enough :) telling you that a backup copy
-exists.</p>
-</div>
-
-<div class="NAVFOOTER">
-<hr align="LEFT" width="100%" />
-<table summary="Footer navigation table" width="100%" border="0" cellpadding="0"
-cellspacing="0">
-<tr>
-<td width="33%" align="left" valign="top"><a href="vi-saving-files.html"
-accesskey="P">Prev</a></td>
-<td width="34%" align="center" valign="top"><a href="index.html"
-accesskey="H">Home</a></td>
-<td width="33%" align="right" valign="top"><a href="vi-configuration.html"
-accesskey="N">Next</a></td>
-</tr>
-
-<tr>
-<td width="33%" align="left" valign="top">Saving Files</td>
-<td width="34%" align="center" valign="top"><a href="vi.html" accesskey="U">Up</a></td>
-<td width="33%" align="right" valign="top">vi Configuration</td>
-</tr>
-</table>
-</div>
-</body>
-</html>
-
diff --git a/slackbook/html/vi-saving-files.html b/slackbook/html/vi-saving-files.html
deleted file mode 100644
index 137c46b5..00000000
--- a/slackbook/html/vi-saving-files.html
+++ /dev/null
@@ -1,103 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta name="generator" content="HTML Tidy, see www.w3.org" />
-<title>Saving Files</title>
-<meta name="GENERATOR" content="Modular DocBook HTML Stylesheet Version 1.7" />
-<link rel="HOME" title="Slackware Linux Essentials" href="index.html" />
-<link rel="UP" title="Vi" href="vi.html" />
-<link rel="PREVIOUS" title="Opening Files" href="vi-opening-files.html" />
-<link rel="NEXT" title="Quitting vi" href="vi-quitting-vi.html" />
-<link rel="STYLESHEET" type="text/css" href="docbook.css" />
-<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
-</head>
-<body class="SECT1" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#840084"
-alink="#0000FF">
-<div class="NAVHEADER">
-<table summary="Header navigation table" width="100%" border="0" cellpadding="0"
-cellspacing="0">
-<tr>
-<th colspan="3" align="center">Slackware Linux Essentials</th>
-</tr>
-
-<tr>
-<td width="10%" align="left" valign="bottom"><a href="vi-opening-files.html"
-accesskey="P">Prev</a></td>
-<td width="80%" align="center" valign="bottom">Chapter 16 Vi</td>
-<td width="10%" align="right" valign="bottom"><a href="vi-quitting-vi.html"
-accesskey="N">Next</a></td>
-</tr>
-</table>
-
-<hr align="LEFT" width="100%" />
-</div>
-
-<div class="SECT1">
-<h1 class="SECT1"><a id="VI-SAVING-FILES" name="VI-SAVING-FILES">16.4 Saving
-Files</a></h1>
-
-<p>There are several ways to save files in <tt class="COMMAND">vi</tt>. If you want to
-save the current buffer to the file <tt class="FILENAME">randomness</tt>, you would
-type:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<kbd class="USERINPUT">:w randomness</kbd>
-</pre>
-</td>
-</tr>
-</table>
-
-<p>Once you've saved the file once, saving it again is as simple as typing <b
-class="KEYCAP">:w</b>. Any changes will be written out to the file. After you've saved
-the file, you are dumped back into command mode. If you want to save the file and quit
-<tt class="COMMAND">vi</tt> (a very common operation), you would type <b
-class="KEYCAP">:wq</b>. That tells <tt class="COMMAND">vi</tt> to save the current file
-and quit back to the shell.</p>
-
-<p>On occasion, you want to save a file that is marked as read-only. You can do this by
-adding an exclamation point after the write command, like so:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<kbd class="USERINPUT">:w!</kbd>
-</pre>
-</td>
-</tr>
-</table>
-
-<p>However, there will still be instances where you cannot write the file (for example,
-you are attempting to edit a file that is owned by another user). When this happens, <tt
-class="COMMAND">vi</tt> will tell you that it cannot save the file. If you really want to
-edit the file, you'll have to come back and edit it as <tt class="USERNAME">root</tt> or
-(preferably) the owner of that file.</p>
-</div>
-
-<div class="NAVFOOTER">
-<hr align="LEFT" width="100%" />
-<table summary="Footer navigation table" width="100%" border="0" cellpadding="0"
-cellspacing="0">
-<tr>
-<td width="33%" align="left" valign="top"><a href="vi-opening-files.html"
-accesskey="P">Prev</a></td>
-<td width="34%" align="center" valign="top"><a href="index.html"
-accesskey="H">Home</a></td>
-<td width="33%" align="right" valign="top"><a href="vi-quitting-vi.html"
-accesskey="N">Next</a></td>
-</tr>
-
-<tr>
-<td width="33%" align="left" valign="top">Opening Files</td>
-<td width="34%" align="center" valign="top"><a href="vi.html" accesskey="U">Up</a></td>
-<td width="33%" align="right" valign="top">Quitting vi</td>
-</tr>
-</table>
-</div>
-</body>
-</html>
-
diff --git a/slackbook/html/vi.html b/slackbook/html/vi.html
deleted file mode 100644
index d5fbf29f..00000000
--- a/slackbook/html/vi.html
+++ /dev/null
@@ -1,199 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta name="generator" content="HTML Tidy, see www.w3.org" />
-<title>Vi</title>
-<meta name="GENERATOR" content="Modular DocBook HTML Stylesheet Version 1.7" />
-<link rel="HOME" title="Slackware Linux Essentials" href="index.html" />
-<link rel="PREVIOUS" title="zip" href="archive-files-zip.html" />
-<link rel="NEXT" title="Modes" href="vi-modes.html" />
-<link rel="STYLESHEET" type="text/css" href="docbook.css" />
-<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
-</head>
-<body class="CHAPTER" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#840084"
-alink="#0000FF">
-<div class="NAVHEADER">
-<table summary="Header navigation table" width="100%" border="0" cellpadding="0"
-cellspacing="0">
-<tr>
-<th colspan="3" align="center">Slackware Linux Essentials</th>
-</tr>
-
-<tr>
-<td width="10%" align="left" valign="bottom"><a href="archive-files-zip.html"
-accesskey="P">Prev</a></td>
-<td width="80%" align="center" valign="bottom"></td>
-<td width="10%" align="right" valign="bottom"><a href="vi-modes.html"
-accesskey="N">Next</a></td>
-</tr>
-</table>
-
-<hr align="LEFT" width="100%" />
-</div>
-
-<div class="CHAPTER">
-<h1><a id="VI" name="VI"></a>Chapter 16 Vi</h1>
-
-<div class="TOC">
-<dl>
-<dt><b>Table of Contents</b></dt>
-
-<dt>16.1 <a href="vi.html#VI-STARTING">Starting vi</a></dt>
-
-<dt>16.2 <a href="vi-modes.html">Modes</a></dt>
-
-<dt>16.3 <a href="vi-opening-files.html">Opening Files</a></dt>
-
-<dt>16.4 <a href="vi-saving-files.html">Saving Files</a></dt>
-
-<dt>16.5 <a href="vi-quitting-vi.html">Quitting vi</a></dt>
-
-<dt>16.6 <a href="vi-configuration.html">vi Configuration</a></dt>
-
-<dt>16.7 <a href="vi-keys.html">Vi Keys</a></dt>
-</dl>
-</div>
-
-<p><tt class="COMMAND">vi</tt>(1) is the standard Unix text editing program, and while
-mastering it is not as essential as it once was, is still a very rewarding goal. There
-are several versions (or clones) of <tt class="COMMAND">vi</tt> available, including <tt
-class="COMMAND">vi</tt>, <tt class="COMMAND">elvis</tt>, <tt class="COMMAND">vile</tt>,
-and <tt class="COMMAND">vim</tt>. One of these is available on just about any version of
-Unix, as well as on Linux. All of these versions include the same basic feature set and
-commands, so learning one clone should make it easy to learn another. With the variety of
-text editors included with Linux distributions and Unix variants these days, many people
-no longer use <tt class="COMMAND">vi</tt>. Still, it remains the most universal text
-editor across Unix and Unix work-alikes. Mastering <tt class="COMMAND">vi</tt> means you
-should never be sitting at a Unix machine and not be comfortable with at least one
-powerful text editor.</p>
-
-<p><tt class="COMMAND">vi</tt> includes a number of powerful features including syntax
-highlighting, code formatting, a powerful search-and-replace mechanism, macros, and more.
-These features make it especially attractive to programmers, web developers, and the
-like. System administrators will appreciate the automation and integration with the shell
-that is possible.</p>
-
-<p>On Slackware Linux, the default version of <tt class="COMMAND">vi</tt> available is
-<tt class="COMMAND">elvis</tt>. Other versions - including <tt class="COMMAND">vim</tt>
-and <tt class="COMMAND">gvim</tt> - are available if you've installed the proper
-packages. <tt class="COMMAND">gvim</tt> is an X Window version of <tt
-class="COMMAND">vim</tt> that includes toolbars, detachable menus, and dialog boxes.</p>
-
-<div class="SECT1">
-<h1 class="SECT1"><a id="VI-STARTING" name="VI-STARTING">16.1 Starting vi</a></h1>
-
-<p><tt class="COMMAND">vi</tt> can be started from the command line in a variety of ways.
-The simplest form is just:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">%</samp> <kbd class="USERINPUT">vi</kbd>
-</pre>
-</td>
-</tr>
-</table>
-
-<div class="FIGURE"><a id="FIG-VI-VIM-SPLITEDIT" name="FIG-VI-VIM-SPLITEDIT"></a>
-<p><b>Figure 16-1. A vi session.</b></p>
-
-<p><img src="vi/vim-splitedit.png" /></p>
-</div>
-
-<p>This will start up <tt class="COMMAND">vi</tt> with an empty buffer. At this point,
-you'll see a mostly blank screen. It is now in &#8220;command mode&#8221;, waiting for
-you to do something. For a discussion of the various <tt class="COMMAND">vi</tt> modes,
-see the <a href="vi-modes.html">Section 16.2</a>. In order to quit out of <tt
-class="COMMAND">vi</tt>, type the following:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<kbd class="USERINPUT">:q</kbd>
-</pre>
-</td>
-</tr>
-</table>
-
-<p>Assuming that there have been no changes to the file, this will cause <tt
-class="COMMAND">vi</tt> to quit. If there have been changes made, it will warn you that
-there have been changes and tell you how to disregard them. Disregarding changes usually
-means appending an exclamation point after the &#8220;<b class="KEYCAP">q</b>&#8221; like
-so:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<kbd class="USERINPUT">:q!</kbd>
-</pre>
-</td>
-</tr>
-</table>
-
-<p>The exclamation point usually means to force some action. We'll discuss it and other
-key combinations in further details later.</p>
-
-<p>You can also start <tt class="COMMAND">vi</tt> with a pre-existing file. For example,
-the file <tt class="FILENAME">/etc/resolv.conf</tt> would be opened like so:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">%</samp> <kbd class="USERINPUT">vi /etc/resolv.conf</kbd>
-</pre>
-</td>
-</tr>
-</table>
-
-<p>Finally, <tt class="COMMAND">vi</tt> can be started on a particular line of a file.
-This is especially useful for programmers when an error message includes the line their
-program bombed on. For example, you could start up <tt class="COMMAND">vi</tt> on line 47
-of <tt class="FILENAME">/usr/src/linux/init/main.c</tt> like so:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">%</samp> <kbd
-class="USERINPUT">vi +47 /usr/src/linux/init/main.c</kbd>
-</pre>
-</td>
-</tr>
-</table>
-
-<p><tt class="COMMAND">vi</tt> will display the given file and will place the cursor at
-the specified line. In the case where you specify a line that is after the end of the
-file, <tt class="COMMAND">vi</tt> will place the cursor on the last line. This is
-especially helpful for programmers, as they can jump straight to the location in the file
-that an error occurred, without having to search for it.</p>
-</div>
-</div>
-
-<div class="NAVFOOTER">
-<hr align="LEFT" width="100%" />
-<table summary="Footer navigation table" width="100%" border="0" cellpadding="0"
-cellspacing="0">
-<tr>
-<td width="33%" align="left" valign="top"><a href="archive-files-zip.html"
-accesskey="P">Prev</a></td>
-<td width="34%" align="center" valign="top"><a href="index.html"
-accesskey="H">Home</a></td>
-<td width="33%" align="right" valign="top"><a href="vi-modes.html"
-accesskey="N">Next</a></td>
-</tr>
-
-<tr>
-<td width="33%" align="left" valign="top"><tt class="COMMAND">zip</tt></td>
-<td width="34%" align="center" valign="top">&nbsp;</td>
-<td width="33%" align="right" valign="top">Modes</td>
-</tr>
-</table>
-</div>
-</body>
-</html>
-
diff --git a/slackbook/html/vi/vim-splitedit.png b/slackbook/html/vi/vim-splitedit.png
deleted file mode 100644
index f1ce5ceb..00000000
--- a/slackbook/html/vi/vim-splitedit.png
+++ /dev/null
Binary files differ
diff --git a/slackbook/html/x-window-system-xdm.html b/slackbook/html/x-window-system-xdm.html
deleted file mode 100644
index 88b44e49..00000000
--- a/slackbook/html/x-window-system-xdm.html
+++ /dev/null
@@ -1,202 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta name="generator" content="HTML Tidy, see www.w3.org" />
-<title>xdm</title>
-<meta name="GENERATOR" content="Modular DocBook HTML Stylesheet Version 1.7" />
-<link rel="HOME" title="Slackware Linux Essentials" href="index.html" />
-<link rel="UP" title="X Configuration" href="x-window-system.html" />
-<link rel="PREVIOUS" title="xwmconfig" href="x-window-system-xwmconfig.html" />
-<link rel="NEXT" title="Booting" href="booting.html" />
-<link rel="STYLESHEET" type="text/css" href="docbook.css" />
-<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
-</head>
-<body class="SECT1" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#840084"
-alink="#0000FF">
-<div class="NAVHEADER">
-<table summary="Header navigation table" width="100%" border="0" cellpadding="0"
-cellspacing="0">
-<tr>
-<th colspan="3" align="center">Slackware Linux Essentials</th>
-</tr>
-
-<tr>
-<td width="10%" align="left" valign="bottom"><a href="x-window-system-xwmconfig.html"
-accesskey="P">Prev</a></td>
-<td width="80%" align="center" valign="bottom">Chapter 6 X Configuration</td>
-<td width="10%" align="right" valign="bottom"><a href="booting.html"
-accesskey="N">Next</a></td>
-</tr>
-</table>
-
-<hr align="LEFT" width="100%" />
-</div>
-
-<div class="SECT1">
-<h1 class="SECT1"><a id="X-WINDOW-SYSTEM-XDM" name="X-WINDOW-SYSTEM-XDM">6.5 <tt
-class="COMMAND">xdm</tt></a></h1>
-
-<p>As Linux becomes more and more useful as a desktop operating system, many users find
-it desirable for the machine to boot straight into a graphical environment. For this, you
-will need to tell Slackware to boot straight into X, and assign a graphical login
-manager. Slackware ships with three graphical login tools, <tt
-class="COMMAND">xdm</tt>(1), <tt class="COMMAND">kdm</tt>, and <tt
-class="COMMAND">gdm</tt>(1).</p>
-
-<p><tt class="COMMAND">xdm</tt> is the graphical login manager shipped with the X.org
-system. It's ubiquitous, but not as fully features as alternatives. <tt
-class="COMMAND">kdm</tt> is the graphical login manager shipped with KDE, The K Desktop
-Environment. Finally, <tt class="COMMAND">gdm</tt> is the login manager shipped with
-GNOME. Any of the choices will allow you to log in as any user, and choose what desktop
-you wish to use.</p>
-
-<p>Unfortunately, Slackware doesn't include a nice program like <tt
-class="COMMAND">xwmconfig</tt> for choosing what login manager to use, so if all three
-are installed you may have to do some editing to choose your preference. But first, we'll
-discuss how to boot into a graphical environment.</p>
-
-<p>In order to start X at boot, you need to boot into run-level 4. Run-levels are just a
-way of telling <tt class="COMMAND">init</tt>(8) to do something different when it starts
-the OS. We do this by editing the config file for <tt class="COMMAND">init</tt>, <tt
-class="FILENAME">/etc/inittab</tt>.</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="PROGRAMLISTING">
-# These are the default runlevels in Slackware:
-# 0 = halt
-# 1 = single user mode
-# 2 = unused (but configured the same as runlevel 3)
-# 3 = multiuser mode (default Slackware runlevel)
-# 4 = X11 with KDM/GDM/XDM (session managers)
-# 5 = unused (but configured the same as runlevel 3)
-# 6 = reboot
-
-# Default runlevel. (Do not set to 0 or 6)
-id:3:initdefault:
-</pre>
-</td>
-</tr>
-</table>
-
-<p>In order to make Slackware boot to a graphical environment, we just change the 3 to a
-4.</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="PROGRAMLISTING">
- # Default runlevel. (Do not set to 0 or 6)
- id:4:initdefault:
-</pre>
-</td>
-</tr>
-</table>
-
-<p>Now Slackware will boot into runlevel 4 and execute <tt
-class="FILENAME">/etc/rc.d/rc.4</tt>. This file starts up X and calls whatever login
-manager you've chosen. So, how do we choose login managers? There are a few ways to do
-this, and I'll explain them after we look at <tt class="FILENAME">rc.4</tt>.</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="PROGRAMLISTING">
- # Try to use GNOME's gdm session manager:
- if [ -x /usr/bin/gdm ]; then
- exec /usr/bin/gdm -nodaemon
- fi
-
- # Not there? OK, try to use KDE's kdm session manager:
- if [ -x /opt/kde/bin/kdm ]; then
- exec /opt/kde/bin/kdm -nodaemon
- fi
-
- # If all you have is XDM, I guess it will have to do:
- if [ -x /usr/X11R6/bin/xdm ]; then
- exec /usr/X11R6/bin/xdm -nodaemon
- fi
-</pre>
-</td>
-</tr>
-</table>
-
-<p>As you can see here, <tt class="FILENAME">rc.4</tt> first checks to see if <tt
-class="COMMAND">gdm</tt> is executable, and if so runs it. Second on the list is <tt
-class="COMMAND">kdm</tt>, and finally <tt class="COMMAND">xdm</tt>. One way of choosing a
-login manager is to simply remove the ones you don't wish to use using <tt
-class="COMMAND">removepkg</tt>. You can find out more about <tt
-class="COMMAND">removepkg</tt> in <a href="package-management.html">Chapter 18</a>.</p>
-
-<p>Optionally, you can remove the executable permission from those files that you don't
-want to use. We discuss <tt class="COMMAND">chmod</tt> in <a
-href="filesystem-structure.html">Chapter 9</a>.</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">#</samp> <kbd class="USERINPUT">chmod -x /usr/bin/gdm</kbd>
-</pre>
-</td>
-</tr>
-</table>
-
-<p>Finally, you can just comment out the lines for the login manager you don't want to
-use.</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="PROGRAMLISTING">
- # Try to use GNOME's gdm session manager:
- # if [ -x /usr/bin/gdm ]; then
- # exec /usr/bin/gdm -nodaemon
- # fi
-
- # Not there? OK, try to use KDE's kdm session manager:
- if [ -x /opt/kde/bin/kdm ]; then
- exec /opt/kde/bin/kdm -nodaemon
- fi
-
- # If all you have is XDM, I guess it will have to do:
- if [ -x /usr/X11R6/bin/xdm ]; then
- exec /usr/X11R6/bin/xdm -nodaemon
- fi
-</pre>
-</td>
-</tr>
-</table>
-
-<p>Any lines preceded by the hash mark (<var class="LITERAL">#</var>) are considered
-comments and the shell silently passes them. Thus, even if <tt class="COMMAND">gdm</tt>
-is installed and executable, the shell (in this case <tt class="COMMAND">bash</tt>) won't
-bother checking for it.</p>
-</div>
-
-<div class="NAVFOOTER">
-<hr align="LEFT" width="100%" />
-<table summary="Footer navigation table" width="100%" border="0" cellpadding="0"
-cellspacing="0">
-<tr>
-<td width="33%" align="left" valign="top"><a href="x-window-system-xwmconfig.html"
-accesskey="P">Prev</a></td>
-<td width="34%" align="center" valign="top"><a href="index.html"
-accesskey="H">Home</a></td>
-<td width="33%" align="right" valign="top"><a href="booting.html"
-accesskey="N">Next</a></td>
-</tr>
-
-<tr>
-<td width="33%" align="left" valign="top"><tt class="COMMAND">xwmconfig</tt></td>
-<td width="34%" align="center" valign="top"><a href="x-window-system.html"
-accesskey="U">Up</a></td>
-<td width="33%" align="right" valign="top">Booting</td>
-</tr>
-</table>
-</div>
-</body>
-</html>
-
diff --git a/slackbook/html/x-window-system-xinitrc.html b/slackbook/html/x-window-system-xinitrc.html
deleted file mode 100644
index 968b4c13..00000000
--- a/slackbook/html/x-window-system-xinitrc.html
+++ /dev/null
@@ -1,145 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta name="generator" content="HTML Tidy, see www.w3.org" />
-<title>xinitrc</title>
-<meta name="GENERATOR" content="Modular DocBook HTML Stylesheet Version 1.7" />
-<link rel="HOME" title="Slackware Linux Essentials" href="index.html" />
-<link rel="UP" title="X Configuration" href="x-window-system.html" />
-<link rel="PREVIOUS" title="xorgsetup" href="x-window-system-xorgsetup.html" />
-<link rel="NEXT" title="xwmconfig" href="x-window-system-xwmconfig.html" />
-<link rel="STYLESHEET" type="text/css" href="docbook.css" />
-<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
-</head>
-<body class="SECT1" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#840084"
-alink="#0000FF">
-<div class="NAVHEADER">
-<table summary="Header navigation table" width="100%" border="0" cellpadding="0"
-cellspacing="0">
-<tr>
-<th colspan="3" align="center">Slackware Linux Essentials</th>
-</tr>
-
-<tr>
-<td width="10%" align="left" valign="bottom"><a href="x-window-system-xorgsetup.html"
-accesskey="P">Prev</a></td>
-<td width="80%" align="center" valign="bottom">Chapter 6 X Configuration</td>
-<td width="10%" align="right" valign="bottom"><a href="x-window-system-xwmconfig.html"
-accesskey="N">Next</a></td>
-</tr>
-</table>
-
-<hr align="LEFT" width="100%" />
-</div>
-
-<div class="SECT1">
-<h1 class="SECT1"><a id="X-WINDOW-SYSTEM-XINITRC" name="X-WINDOW-SYSTEM-XINITRC">6.3
-xinitrc</a></h1>
-
-<p><tt class="COMMAND">xinit</tt>(1) is the program that actually starts X; it is called
-by <tt class="COMMAND">startx</tt>(1), so you may not have noticed it (and probably don't
-really need to). Its configuration file, however, determines which programs (including
-and especially the window manager) are run when X starts up. <tt
-class="COMMAND">xinit</tt> first checks your home directory for a <tt
-class="FILENAME">.xinitrc</tt> file. If the file is found, it gets run; otherwise, <tt
-class="FILENAME">/var/X11R6/lib/xinit/xinitrc</tt> (the systemwide default) is used.
-Here's a simple <tt class="FILENAME">xinitrc</tt> file:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="PROGRAMLISTING">
-#!/bin/sh
-# $XConsortium: xinitrc.cpp,v 1.4 91/08/22 11:41:34 rws Exp $
-
-userresources=$HOME/.Xresources
-usermodmap=$HOME/.Xmodmap
-sysresources=/usr/X11R6/lib/X11/xinit/.Xresources
-sysmodmap=/usr/X11R6/lib/X11/xinit/.Xmodmap
-
-# merge in defaults and keymaps
-
-if [ -f $sysresources ]; then
- xrdb -merge $sysresources
-fi
-
-if [ -f $sysmodmap ]; then
- xmodmap $sysmodmap
-fi
-
-if [ -f $userresources ]; then
- xrdb -merge $userresources
-fi
-
-if [ -f $usermodmap ]; then
- xmodmap $usermodmap
-fi
-
-# start some nice programs
-
-twm &#38;
-xclock -geometry 50x50-1+1 &#38;
-xterm -geometry 80x50+494+51 &#38;
-xterm -geometry 80x20+494-0 &#38;
-exec xterm -geometry 80x66+0+0 -name login
-</pre>
-</td>
-</tr>
-</table>
-
-<p>All of those &#8220;if&#8221; blocks are there to merge in various configuration
-settings from other files. The interesting part of the file is toward the end, where
-various programs are run. This X session will begin with the <tt
-class="COMMAND">twm</tt>(1) window manager, a clock, and three terminals. Note the <tt
-class="COMMAND">exec</tt> before the last <tt class="COMMAND">xterm</tt>. What that does
-is replace the currently running shell (the one that's executing this <tt
-class="FILENAME">xinitrc</tt> script) with that <tt class="COMMAND">xterm</tt>(1)
-command. When the user quits that <tt class="COMMAND">xterm</tt>, the X session will
-end.</p>
-
-<p>To customize your X startup, copy the default <tt
-class="FILENAME">/var/X11R6/lib/xinit/xinitrc</tt> to <tt
-class="FILENAME">~/.xinitrc</tt> and edit it, replacing those program lines with whatever
-you like. The end of mine is simply:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="PROGRAMLISTING">
-# Start the window manager:
-exec startkde
-</pre>
-</td>
-</tr>
-</table>
-
-<p>Note that there are several <tt class="FILENAME">xinitrc.*</tt> files in <tt
-class="FILENAME">/var/X11R6/lib/xinit</tt> that correspond to various window managers and
-GUIs. You can use any of those, if you like.</p>
-</div>
-
-<div class="NAVFOOTER">
-<hr align="LEFT" width="100%" />
-<table summary="Footer navigation table" width="100%" border="0" cellpadding="0"
-cellspacing="0">
-<tr>
-<td width="33%" align="left" valign="top"><a href="x-window-system-xorgsetup.html"
-accesskey="P">Prev</a></td>
-<td width="34%" align="center" valign="top"><a href="index.html"
-accesskey="H">Home</a></td>
-<td width="33%" align="right" valign="top"><a href="x-window-system-xwmconfig.html"
-accesskey="N">Next</a></td>
-</tr>
-
-<tr>
-<td width="33%" align="left" valign="top"><tt class="COMMAND">xorgsetup</tt></td>
-<td width="34%" align="center" valign="top"><a href="x-window-system.html"
-accesskey="U">Up</a></td>
-<td width="33%" align="right" valign="top"><tt class="COMMAND">xwmconfig</tt></td>
-</tr>
-</table>
-</div>
-</body>
-</html>
-
diff --git a/slackbook/html/x-window-system-xorgsetup.html b/slackbook/html/x-window-system-xorgsetup.html
deleted file mode 100644
index 664f895f..00000000
--- a/slackbook/html/x-window-system-xorgsetup.html
+++ /dev/null
@@ -1,84 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta name="generator" content="HTML Tidy, see www.w3.org" />
-<title>xorgsetup</title>
-<meta name="GENERATOR" content="Modular DocBook HTML Stylesheet Version 1.7" />
-<link rel="HOME" title="Slackware Linux Essentials" href="index.html" />
-<link rel="UP" title="X Configuration" href="x-window-system.html" />
-<link rel="PREVIOUS" title="X Configuration" href="x-window-system.html" />
-<link rel="NEXT" title="xinitrc" href="x-window-system-xinitrc.html" />
-<link rel="STYLESHEET" type="text/css" href="docbook.css" />
-<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
-</head>
-<body class="SECT1" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#840084"
-alink="#0000FF">
-<div class="NAVHEADER">
-<table summary="Header navigation table" width="100%" border="0" cellpadding="0"
-cellspacing="0">
-<tr>
-<th colspan="3" align="center">Slackware Linux Essentials</th>
-</tr>
-
-<tr>
-<td width="10%" align="left" valign="bottom"><a href="x-window-system.html"
-accesskey="P">Prev</a></td>
-<td width="80%" align="center" valign="bottom">Chapter 6 X Configuration</td>
-<td width="10%" align="right" valign="bottom"><a href="x-window-system-xinitrc.html"
-accesskey="N">Next</a></td>
-</tr>
-</table>
-
-<hr align="LEFT" width="100%" />
-</div>
-
-<div class="SECT1">
-<h1 class="SECT1"><a id="X-WINDOW-SYSTEM-XORGSETUP" name="X-WINDOW-SYSTEM-XORGSETUP">6.2
-<tt class="COMMAND">xorgsetup</tt></a></h1>
-
-<p>The second way to configure X is to use <tt class="COMMAND">xorgsetup</tt>, an
-automagical configuration program that comes with Slackware.</p>
-
-<p>To run <tt class="COMMAND">xorgsetup</tt>, log in as root and type:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">#</samp> <kbd class="USERINPUT">xorgsetup</kbd>
-</pre>
-</td>
-</tr>
-</table>
-
-<p>If you've already got an <tt class="FILENAME">/etc/X11/xorg.conf</tt> file (because
-you've already configured X), you'll be asked if you want to backup the existing config
-file before continuing. The original file will be renamed to <tt
-class="FILENAME">/etc/X11/xorg.conf.backup</tt>.</p>
-</div>
-
-<div class="NAVFOOTER">
-<hr align="LEFT" width="100%" />
-<table summary="Footer navigation table" width="100%" border="0" cellpadding="0"
-cellspacing="0">
-<tr>
-<td width="33%" align="left" valign="top"><a href="x-window-system.html"
-accesskey="P">Prev</a></td>
-<td width="34%" align="center" valign="top"><a href="index.html"
-accesskey="H">Home</a></td>
-<td width="33%" align="right" valign="top"><a href="x-window-system-xinitrc.html"
-accesskey="N">Next</a></td>
-</tr>
-
-<tr>
-<td width="33%" align="left" valign="top">X Configuration</td>
-<td width="34%" align="center" valign="top"><a href="x-window-system.html"
-accesskey="U">Up</a></td>
-<td width="33%" align="right" valign="top">xinitrc</td>
-</tr>
-</table>
-</div>
-</body>
-</html>
-
diff --git a/slackbook/html/x-window-system-xwmconfig.html b/slackbook/html/x-window-system-xwmconfig.html
deleted file mode 100644
index 849d383a..00000000
--- a/slackbook/html/x-window-system-xwmconfig.html
+++ /dev/null
@@ -1,134 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta name="generator" content="HTML Tidy, see www.w3.org" />
-<title>xwmconfig</title>
-<meta name="GENERATOR" content="Modular DocBook HTML Stylesheet Version 1.7" />
-<link rel="HOME" title="Slackware Linux Essentials" href="index.html" />
-<link rel="UP" title="X Configuration" href="x-window-system.html" />
-<link rel="PREVIOUS" title="xinitrc" href="x-window-system-xinitrc.html" />
-<link rel="NEXT" title="xdm" href="x-window-system-xdm.html" />
-<link rel="STYLESHEET" type="text/css" href="docbook.css" />
-<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
-</head>
-<body class="SECT1" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#840084"
-alink="#0000FF">
-<div class="NAVHEADER">
-<table summary="Header navigation table" width="100%" border="0" cellpadding="0"
-cellspacing="0">
-<tr>
-<th colspan="3" align="center">Slackware Linux Essentials</th>
-</tr>
-
-<tr>
-<td width="10%" align="left" valign="bottom"><a href="x-window-system-xinitrc.html"
-accesskey="P">Prev</a></td>
-<td width="80%" align="center" valign="bottom">Chapter 6 X Configuration</td>
-<td width="10%" align="right" valign="bottom"><a href="x-window-system-xdm.html"
-accesskey="N">Next</a></td>
-</tr>
-</table>
-
-<hr align="LEFT" width="100%" />
-</div>
-
-<div class="SECT1">
-<h1 class="SECT1"><a id="X-WINDOW-SYSTEM-XWMCONFIG" name="X-WINDOW-SYSTEM-XWMCONFIG">6.4
-<tt class="COMMAND">xwmconfig</tt></a></h1>
-
-<p>For years, Unix was used almost exclusively as the operating system for servers, with
-the exception of high-powered professional workstations. Only the technically inclined
-were likely to use a Unix-like operating system, and the user interface reflected this
-fact. GUIs tended to be fairly bare-bones, designed to run a few necessarily graphical
-applications like CAD programs and image renderers. Most file and system management was
-conducted at the command line. Various vendors (Sun Microsystems, Silicon Graphics, etc)
-were selling workstations with an attempt to provide a cohesive &#8220;look and
-feel&#8221;, but the wide variety of GUI toolkits in use by developers led inevitably to
-the dissolution of the desktop's uniformity. A scrollbar might not look the same in two
-different applications. Menus might appear in different places. Programs would have
-different buttons and checkboxes. Colors ranged widely, and were generally hard-coded in
-each toolkit. As long as the users were primarily technical professionals, none of this
-mattered much.</p>
-
-<p>With the advent of free Unix-like operating systems and the growing number and variety
-of graphical applications, X has recently gained a wide desktop user base. Most users, of
-course, are accustomed to the consistent look and feel provided by Microsoft's Windows or
-Apple's MacOS; the lack of such consistency in X-based applications became a barrier to
-its wider acceptance. In response, two open source projects have been undertaken: The K
-Desktop Environment, or KDE, and the GNU Network Object Model Environment, known as
-GNOME. Each has a wide variety of applications, from taskbars and file managers to games
-and office suites, written with the same GUI toolkit and tightly integrated to provide a
-uniform, consistent desktop.</p>
-
-<p>The differences in KDE and GNOME are generally fairly subtle. They each look different
-from the other, because each uses a different GUI toolkit. KDE is based on the Qt library
-from Troll Tech AS, while GNOME uses GTK, a toolkit originally developed for The GNU
-Image Manipulation Program (or The GIMP, for short). As separate projects, KDE and GNOME
-each have their own designers and programmers, with different development styles and
-philosophies. The result in each case, however, has been fundamentally the same: a
-consistent, tightly integrated desktop environment and application collection. The
-functionality, usability, and sheer prettiness of both KDE and GNOME rival anything
-available on other operating systems.</p>
-
-<p>The best part, though, is that these advanced desktops are free. This means you can
-have either or both (yes, at the same time). The choice is yours.</p>
-
-<p>In addition to the GNOME and KDE desktops, Slackware includes a large collection of
-window managers. Some are designed to emulate other operating systems, some for
-customization, others for speed. There's quite a variety. Of course you can install as
-many as you want, play with them all, and decide which you like the most.</p>
-
-<p>To make desktop selection easy, Slackware also includes a program called <tt
-class="COMMAND">xwmconfig</tt> that can be used to select a desktop or window manager. It
-is run like so:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">%</samp> <kbd class="USERINPUT">xwmconfig</kbd>
-</pre>
-</td>
-</tr>
-</table>
-
-<div class="FIGURE"><a id="FIG-X-WINDOW-SYSTEM-XWMCONFIG"
-name="FIG-X-WINDOW-SYSTEM-XWMCONFIG"></a>
-<p><b>Figure 6-5. Desktop Configuration with <tt class="COMMAND">xorgconfig</tt></b></p>
-
-<p><img src="x-window-system/xwmconfig-w.png" /></p>
-</div>
-
-<p>You'll be given a list of all the desktops and window managers installed. Just select
-the one you want from the list. Each user on your system will need to run this program,
-since different users can use different desktops, and not everyone will want the default
-one you selected at installation.</p>
-
-<p>Then just start up X, and you're good to go.</p>
-</div>
-
-<div class="NAVFOOTER">
-<hr align="LEFT" width="100%" />
-<table summary="Footer navigation table" width="100%" border="0" cellpadding="0"
-cellspacing="0">
-<tr>
-<td width="33%" align="left" valign="top"><a href="x-window-system-xinitrc.html"
-accesskey="P">Prev</a></td>
-<td width="34%" align="center" valign="top"><a href="index.html"
-accesskey="H">Home</a></td>
-<td width="33%" align="right" valign="top"><a href="x-window-system-xdm.html"
-accesskey="N">Next</a></td>
-</tr>
-
-<tr>
-<td width="33%" align="left" valign="top">xinitrc</td>
-<td width="34%" align="center" valign="top"><a href="x-window-system.html"
-accesskey="U">Up</a></td>
-<td width="33%" align="right" valign="top"><tt class="COMMAND">xdm</tt></td>
-</tr>
-</table>
-</div>
-</body>
-</html>
-
diff --git a/slackbook/html/x-window-system.html b/slackbook/html/x-window-system.html
deleted file mode 100644
index 6aaf81bb..00000000
--- a/slackbook/html/x-window-system.html
+++ /dev/null
@@ -1,210 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta name="generator" content="HTML Tidy, see www.w3.org" />
-<title>X Configuration</title>
-<meta name="GENERATOR" content="Modular DocBook HTML Stylesheet Version 1.7" />
-<link rel="HOME" title="Slackware Linux Essentials" href="index.html" />
-<link rel="PREVIOUS" title="Network File Systems"
-href="network-configuration-nfs.html" />
-<link rel="NEXT" title="xorgsetup" href="x-window-system-xorgsetup.html" />
-<link rel="STYLESHEET" type="text/css" href="docbook.css" />
-<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
-</head>
-<body class="CHAPTER" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#840084"
-alink="#0000FF">
-<div class="NAVHEADER">
-<table summary="Header navigation table" width="100%" border="0" cellpadding="0"
-cellspacing="0">
-<tr>
-<th colspan="3" align="center">Slackware Linux Essentials</th>
-</tr>
-
-<tr>
-<td width="10%" align="left" valign="bottom"><a href="network-configuration-nfs.html"
-accesskey="P">Prev</a></td>
-<td width="80%" align="center" valign="bottom"></td>
-<td width="10%" align="right" valign="bottom"><a href="x-window-system-xorgsetup.html"
-accesskey="N">Next</a></td>
-</tr>
-</table>
-
-<hr align="LEFT" width="100%" />
-</div>
-
-<div class="CHAPTER">
-<h1><a id="X-WINDOW-SYSTEM" name="X-WINDOW-SYSTEM"></a>Chapter 6 X Configuration</h1>
-
-<div class="TOC">
-<dl>
-<dt><b>Table of Contents</b></dt>
-
-<dt>6.1 <a href="x-window-system.html#X-WINDOW-SYSTEM-XORGCONFIG"><tt
-class="COMMAND">xorgconfig</tt></a></dt>
-
-<dt>6.2 <a href="x-window-system-xorgsetup.html"><tt
-class="COMMAND">xorgsetup</tt></a></dt>
-
-<dt>6.3 <a href="x-window-system-xinitrc.html">xinitrc</a></dt>
-
-<dt>6.4 <a href="x-window-system-xwmconfig.html"><tt
-class="COMMAND">xwmconfig</tt></a></dt>
-
-<dt>6.5 <a href="x-window-system-xdm.html"><tt class="COMMAND">xdm</tt></a></dt>
-</dl>
-</div>
-
-<p>Starting with Slackware-10.0, the X Window environment in Slackware is provided by
-Xorg. X is responsible for providing a graphical user interface. It is independent from
-the operating system, unlike Windows or the MacOS.</p>
-
-<p>The X Window System is implemented through many programs that run in userland. The two
-main components are the server and the window manager. The server provides the lowlevel
-functions for interacting with your video hardware, thus it is system specific. The
-window manager sits on top of the server and provides the user interface. The advantage
-to this is you can have many different graphical interfaces by simply changing the window
-manager you use.</p>
-
-<p>Configuring X can be a complex task. The reason for this is the vast numbers of video
-cards available for the PC architecture, most of which use different programming
-interfaces. Luckily, most cards today support basic video standards known as VESA, and if
-your card is among them you'll be able to start X using the <tt
-class="COMMAND">startx</tt> command right out of the box.</p>
-
-<p>If this doesn't work with your card, or if you'd like to take advantage of the
-high-performance features of your video card such as hardware acceleration or 3-D
-hardware rendering, then you'll need to reconfigure X.</p>
-
-<p>To configure X, you'll need to make an <tt class="FILENAME">/etc/X11/xorg.conf</tt>
-file. This file contains lots of details about your video hardware, mouse, and monitor.
-It's a very complex configuration file, but fortunately there are several programs to
-help create one for you. We'll mention a few of them here.</p>
-
-<div class="SECT1">
-<h1 class="SECT1"><a id="X-WINDOW-SYSTEM-XORGCONFIG"
-name="X-WINDOW-SYSTEM-XORGCONFIG">6.1 <tt class="COMMAND">xorgconfig</tt></a></h1>
-
-<p>This is a simple menu driven frontend that's similar in feel to the Slackware
-installer. It simply tells the X server to take a look at the card, and then set up the
-best initial configuration file it can make based on the information it gathers. The
-generated <tt class="FILENAME">/etc/X11/xorg.conf</tt> file should be a good starting
-point for most systems (and should work without modification).</p>
-
-<p>This is a text-based X configuration program that's designed for the advanced system
-administrator. Here's a sample walkthrough using <tt class="COMMAND">xorgconfig</tt>.
-First, start the program:</p>
-
-<table border="0" bgcolor="#E0E0E0" width="100%">
-<tr>
-<td>
-<pre class="SCREEN">
-<samp class="PROMPT">#</samp> <kbd class="USERINPUT">xorgconfig</kbd>
-</pre>
-</td>
-</tr>
-</table>
-
-<p>This will present a screenful of information about <tt
-class="COMMAND">xorgconfig</tt>. To continue, press <kbd class="USERINPUT">ENTER</kbd>.
-<tt class="COMMAND">xorgconfig</tt> will ask you to verify you have set your <tt
-class="ENVAR">PATH</tt> correctly. It should be fine, so go ahead and hit <kbd
-class="USERINPUT">ENTER</kbd>.</p>
-
-<div class="FIGURE"><a id="X-WINDOW-SYSTEM-1" name="X-WINDOW-SYSTEM-1"></a>
-<p><b>Figure 6-1. <tt class="COMMAND">xorgconfig</tt> Mouse Configuration</b></p>
-
-<p><img src="x-window-system/xorgconfig1-w.png" /></p>
-</div>
-
-<p>Select your mouse from the menu presented. If you don't see your serial mouse listed,
-pick the Microsoft protocol -- it's the most common and will probably work. Next <tt
-class="COMMAND">xorgconfig</tt> will ask you about using <var
-class="OPTION">ChordMiddle</var> and <var class="OPTION">Emulate3Buttons</var>. You'll
-see these options described in detail on the screen. Use them if the middle button on
-your mouse doesn't work under X, or if your mouse only has two buttons (<var
-class="OPTION">Emulate3Buttons</var> lets you simulate the middle button by pressing both
-buttons simultaneously). Then, enter the name of your mouse device. The default choice,
-<tt class="FILENAME">/dev/mouse</tt>, should work since the link was configured during
-Slackware setup. If you're running GPM (the Linux mouse server) in repeater mode, you can
-set your mouse type to <tt class="FILENAME">/dev/gpmdata</tt> to have X get information
-about the mouse through <tt class="COMMAND">gpm</tt>. In some cases (with busmice
-especially) this can work better, but most users shouldn't do this.</p>
-
-<p><tt class="COMMAND">xorgconfig</tt> will ask you about enabling special key bindings.
-If you need this say &#8220;<kbd class="USERINPUT">y</kbd>&#8221;. Most users can say
-&#8220;<kbd class="USERINPUT">n</kbd>&#8221; -- enter this if you're not sure.</p>
-
-<div class="FIGURE"><a id="X-WINDOW-SYSTEM-2" name="X-WINDOW-SYSTEM-2"></a>
-<p><b>Figure 6-2. <tt class="COMMAND">xorgconfig</tt> Horizontal Sync</b></p>
-
-<p><img src="x-window-system/xorgconfig2-w.png" /></p>
-</div>
-
-<p>In the next section you enter the sync range for your monitor. To start configuring
-your monitor, press <kbd class="USERINPUT">ENTER</kbd>. You will see a list of monitor
-types -- choose one of them. Be careful not to exceed the specifications of your monitor.
-Doing so could damage your hardware.</p>
-
-<div class="FIGURE"><a id="X-WINDOW-SYSTEM-3" name="X-WINDOW-SYSTEM-3"></a>
-<p><b>Figure 6-3. <tt class="COMMAND">xorgconfig</tt> Vertical Sync</b></p>
-
-<p><img src="x-window-system/xorgconfig3-w.png" /></p>
-</div>
-
-<p>Specify the vertical sync range for your monitor (you should find this in the manual
-for the monitor). xorgconfig will ask you to enter strings to identify the monitor type
-in the <tt class="FILENAME">xorg.conf</tt> file. Enter anything you like on these 3 lines
-(including nothing at all).</p>
-
-<div class="FIGURE"><a id="X-WINDOW-SYSTEM-4" name="X-WINDOW-SYSTEM-4"></a>
-<p><b>Figure 6-4. <tt class="COMMAND">xorgconfig</tt> Video Card</b></p>
-
-<p><img src="x-window-system/xorgconfig4-w.png" /></p>
-</div>
-
-<p>Now you have the opportunity to look at the database of video card types. You'll want
-to do this, so say &#8220;<kbd class="USERINPUT">y</kbd>&#8221;, and select a card from
-the list shown. If you don't see your exact card, try selecting one that uses the same
-chipset and it will probably work fine.</p>
-
-<p>Next, tell <tt class="COMMAND">xorgconfig</tt> how much RAM you have on your video
-card. <tt class="COMMAND">xorgconfig</tt> will want you to enter some more descriptive
-text about your video card. If you like, you can enter descriptions on these three
-lines.</p>
-
-<p>You'll then be asked which display resolutions you want to use. Again, going with the
-provided defaults should be fine to start with. Later on, you can edit the <tt
-class="FILENAME">/etc/X11/xorg.conf</tt> file and rearrange the modes so 1024x768 (or
-whatever mode you like) is the default.</p>
-
-<p>At this point, the <tt class="COMMAND">xorgconfig</tt> program will ask if you'd like
-to save the current configuration file. Answer yes, and the X configuration file is
-saved, completing the setup process. You can start X now with the <tt
-class="COMMAND">startx</tt> command.</p>
-</div>
-</div>
-
-<div class="NAVFOOTER">
-<hr align="LEFT" width="100%" />
-<table summary="Footer navigation table" width="100%" border="0" cellpadding="0"
-cellspacing="0">
-<tr>
-<td width="33%" align="left" valign="top"><a href="network-configuration-nfs.html"
-accesskey="P">Prev</a></td>
-<td width="34%" align="center" valign="top"><a href="index.html"
-accesskey="H">Home</a></td>
-<td width="33%" align="right" valign="top"><a href="x-window-system-xorgsetup.html"
-accesskey="N">Next</a></td>
-</tr>
-
-<tr>
-<td width="33%" align="left" valign="top">Network File Systems</td>
-<td width="34%" align="center" valign="top">&nbsp;</td>
-<td width="33%" align="right" valign="top"><tt class="COMMAND">xorgsetup</tt></td>
-</tr>
-</table>
-</div>
-</body>
-</html>
-
diff --git a/slackbook/html/x-window-system/xorgconfig1-w.png b/slackbook/html/x-window-system/xorgconfig1-w.png
deleted file mode 100644
index bedcc0b3..00000000
--- a/slackbook/html/x-window-system/xorgconfig1-w.png
+++ /dev/null
Binary files differ
diff --git a/slackbook/html/x-window-system/xorgconfig2-w.png b/slackbook/html/x-window-system/xorgconfig2-w.png
deleted file mode 100644
index 82722c4b..00000000
--- a/slackbook/html/x-window-system/xorgconfig2-w.png
+++ /dev/null
Binary files differ
diff --git a/slackbook/html/x-window-system/xorgconfig3-w.png b/slackbook/html/x-window-system/xorgconfig3-w.png
deleted file mode 100644
index eb8c5c7d..00000000
--- a/slackbook/html/x-window-system/xorgconfig3-w.png
+++ /dev/null
Binary files differ
diff --git a/slackbook/html/x-window-system/xorgconfig4-w.png b/slackbook/html/x-window-system/xorgconfig4-w.png
deleted file mode 100644
index 651da228..00000000
--- a/slackbook/html/x-window-system/xorgconfig4-w.png
+++ /dev/null
Binary files differ
diff --git a/slackbook/html/x-window-system/xwmconfig-w.png b/slackbook/html/x-window-system/xwmconfig-w.png
deleted file mode 100644
index 91c8cc01..00000000
--- a/slackbook/html/x-window-system/xwmconfig-w.png
+++ /dev/null
Binary files differ
diff --git a/slackbook/html/zipslack-booting.html b/slackbook/html/zipslack-booting.html
deleted file mode 100644
index 89dabfee..00000000
--- a/slackbook/html/zipslack-booting.html
+++ /dev/null
@@ -1,93 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta name="generator" content="HTML Tidy, see www.w3.org" />
-<title>Booting ZipSlack</title>
-<meta name="GENERATOR" content="Modular DocBook HTML Stylesheet Version 1.7" />
-<link rel="HOME" title="Slackware Linux Essentials" href="index.html" />
-<link rel="UP" title="ZipSlack" href="zipslack.html" />
-<link rel="PREVIOUS" title="Getting ZipSlack" href="zipslack-getting.html" />
-<link rel="NEXT" title="Glossary" href="glossary.html" />
-<link rel="STYLESHEET" type="text/css" href="docbook.css" />
-<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
-</head>
-<body class="SECT1" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#840084"
-alink="#0000FF">
-<div class="NAVHEADER">
-<table summary="Header navigation table" width="100%" border="0" cellpadding="0"
-cellspacing="0">
-<tr>
-<th colspan="3" align="center">Slackware Linux Essentials</th>
-</tr>
-
-<tr>
-<td width="10%" align="left" valign="bottom"><a href="zipslack-getting.html"
-accesskey="P">Prev</a></td>
-<td width="80%" align="center" valign="bottom">Chapter 19 ZipSlack</td>
-<td width="10%" align="right" valign="bottom"><a href="glossary.html"
-accesskey="N">Next</a></td>
-</tr>
-</table>
-
-<hr align="LEFT" width="100%" />
-</div>
-
-<div class="SECT1">
-<h1 class="SECT1"><a id="ZIPSLACK-BOOTING" name="ZIPSLACK-BOOTING">19.3 Booting
-ZipSlack</a></h1>
-
-<p>There are several ways to boot ZipSlack. The most common is to use the included
-LINUX.BAT to boot the system from DOS (or from DOS mode under Windows 9x). This file must
-be edited to match your system before it will work.</p>
-
-<p>Start by opening the <tt class="FILENAME">C:\LINUX\LINUX.BAT</tt> file in your
-favorite text editor. At the top of the file you will notice a large comment. It explains
-what you need to edit in this file (and also what to do if you are booting from an
-external Zip drive). Don't worry if you don't understand the <var
-class="LITERAL">root=</var> setting. There are several examples, so feel free to pick one
-and try it. If it doesn't work, you can edit the file again, comment out the line you
-uncommented, and pick another one.</p>
-
-<p>After you uncomment the line you want by removing the &#8220;rem&#8221; at the
-beginning of the line, save the file and exit the editor. Bring your machine into DOS
-mode.</p>
-
-<p>A DOS prompt window in Windows 9x will NOT work.</p>
-
-<p>Type <tt class="COMMAND">C:\LINUX\LINUX.BAT</tt> to boot the system. If all goes well,
-you should be presented with a login prompt.</p>
-
-<p>Log in as <tt class="USERNAME">root</tt>, with no password. You'll probably want to
-set a password for root, as well as adding an account for yourself. At this point you can
-refer to the other sections in this book for general system usage.</p>
-
-<p>If using the <tt class="FILENAME">LINUX.BAT</tt> file to boot the system didn't work
-for you, you should refer to the included <tt class="FILENAME">C:\LINUX\README.1ST</tt>
-file for other ways to boot.</p>
-</div>
-
-<div class="NAVFOOTER">
-<hr align="LEFT" width="100%" />
-<table summary="Footer navigation table" width="100%" border="0" cellpadding="0"
-cellspacing="0">
-<tr>
-<td width="33%" align="left" valign="top"><a href="zipslack-getting.html"
-accesskey="P">Prev</a></td>
-<td width="34%" align="center" valign="top"><a href="index.html"
-accesskey="H">Home</a></td>
-<td width="33%" align="right" valign="top"><a href="glossary.html"
-accesskey="N">Next</a></td>
-</tr>
-
-<tr>
-<td width="33%" align="left" valign="top">Getting ZipSlack</td>
-<td width="34%" align="center" valign="top"><a href="zipslack.html"
-accesskey="U">Up</a></td>
-<td width="33%" align="right" valign="top">Glossary</td>
-</tr>
-</table>
-</div>
-</body>
-</html>
-
diff --git a/slackbook/html/zipslack-getting.html b/slackbook/html/zipslack-getting.html
deleted file mode 100644
index 3e3e54f4..00000000
--- a/slackbook/html/zipslack-getting.html
+++ /dev/null
@@ -1,110 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta name="generator" content="HTML Tidy, see www.w3.org" />
-<title>Getting ZipSlack</title>
-<meta name="GENERATOR" content="Modular DocBook HTML Stylesheet Version 1.7" />
-<link rel="HOME" title="Slackware Linux Essentials" href="index.html" />
-<link rel="UP" title="ZipSlack" href="zipslack.html" />
-<link rel="PREVIOUS" title="ZipSlack" href="zipslack.html" />
-<link rel="NEXT" title="Booting ZipSlack" href="zipslack-booting.html" />
-<link rel="STYLESHEET" type="text/css" href="docbook.css" />
-<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
-</head>
-<body class="SECT1" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#840084"
-alink="#0000FF">
-<div class="NAVHEADER">
-<table summary="Header navigation table" width="100%" border="0" cellpadding="0"
-cellspacing="0">
-<tr>
-<th colspan="3" align="center">Slackware Linux Essentials</th>
-</tr>
-
-<tr>
-<td width="10%" align="left" valign="bottom"><a href="zipslack.html"
-accesskey="P">Prev</a></td>
-<td width="80%" align="center" valign="bottom">Chapter 19 ZipSlack</td>
-<td width="10%" align="right" valign="bottom"><a href="zipslack-booting.html"
-accesskey="N">Next</a></td>
-</tr>
-</table>
-
-<hr align="LEFT" width="100%" />
-</div>
-
-<div class="SECT1">
-<h1 class="SECT1"><a id="ZIPSLACK-GETTING" name="ZIPSLACK-GETTING">19.2 Getting
-ZipSlack</a></h1>
-
-<p>Obtaining ZipSlack is easy. If you have purchased the official Slackware Linux CD set,
-then you already have ZipSlack. Just find the CD that contains the <tt
-class="FILENAME">zipslack</tt> directory and place it in your CD-ROM drive. It's usually
-the third or fourth disc, but always trust the labels over this documentation as the disk
-it resides on is prone to change.</p>
-
-<p>If you want to download ZipSlack, you should first visit our &#8220;Get Slack&#8221;
-web page for the latest download information:</p>
-
-<p><a href="http://www.slackware.com/getslack/"
-target="_top">http://www.slackware.com/getslack/</a></p>
-
-<p>ZipSlack is part of each Slackware release. Locate the release you want, and go to
-that directory on the FTP site. The latest release directory can be found at this
-location:</p>
-
-<p><a href="ftp://ftp.slackware.com/pub/slackware/slackware/"
-target="_top">ftp://ftp.slackware.com/pub/slackware/slackware/</a></p>
-
-<p>You'll find ZipSlack in the <tt class="FILENAME">/zipslack</tt> subdirectory. ZipSlack
-is offered as one big <tt class="FILENAME">.ZIP</tt> file or floppy-sized chunks. The
-chunks are in the <tt class="FILENAME">/zipslack/split</tt> directory.</p>
-
-<p>Don't stop at just the <tt class="FILENAME">.ZIP</tt> files. You should also download
-the documentation files and any boot images that appear in the directory.</p>
-
-<div class="SECT2">
-<h2 class="SECT2"><a id="ZIPSLACK-INSTALLATION" name="ZIPSLACK-INSTALLATION">19.2.1
-Installation</a></h2>
-
-<p>Once you've downloaded the necessary components, you'll need to extract the <tt
-class="FILENAME">.ZIP</tt> file. Be sure to use a 32-bit unzipper. The size and filenames
-in the archive are too much for a 16-bit unzipper. Examples of 32-bit unzippers include
-WinZip and PKZIP for Windows.</p>
-
-<p>ZipSlack is designed to be extracted directly to the root directory of a drive (such
-as <tt class="DEVICENAME">C:</tt> or <tt class="DEVICENAME">D:</tt>). A <tt
-class="FILENAME">\LINUX</tt> directory will be created that contains the actual Slackware
-installation. You'll also find the files necessary to booting the system in that
-directory as well.</p>
-
-<p>After you've extracted the files, you should have a <tt class="FILENAME">\LINUX</tt>
-directory on the drive of your choosing (we'll use <tt class="DEVICENAME">C:</tt> from
-here on).</p>
-</div>
-</div>
-
-<div class="NAVFOOTER">
-<hr align="LEFT" width="100%" />
-<table summary="Footer navigation table" width="100%" border="0" cellpadding="0"
-cellspacing="0">
-<tr>
-<td width="33%" align="left" valign="top"><a href="zipslack.html"
-accesskey="P">Prev</a></td>
-<td width="34%" align="center" valign="top"><a href="index.html"
-accesskey="H">Home</a></td>
-<td width="33%" align="right" valign="top"><a href="zipslack-booting.html"
-accesskey="N">Next</a></td>
-</tr>
-
-<tr>
-<td width="33%" align="left" valign="top">ZipSlack</td>
-<td width="34%" align="center" valign="top"><a href="zipslack.html"
-accesskey="U">Up</a></td>
-<td width="33%" align="right" valign="top">Booting ZipSlack</td>
-</tr>
-</table>
-</div>
-</body>
-</html>
-
diff --git a/slackbook/html/zipslack.html b/slackbook/html/zipslack.html
deleted file mode 100644
index 7edd94d2..00000000
--- a/slackbook/html/zipslack.html
+++ /dev/null
@@ -1,128 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta name="generator" content="HTML Tidy, see www.w3.org" />
-<title>ZipSlack</title>
-<meta name="GENERATOR" content="Modular DocBook HTML Stylesheet Version 1.7" />
-<link rel="HOME" title="Slackware Linux Essentials" href="index.html" />
-<link rel="PREVIOUS" title="Making Tags and Tagfiles (for setup)"
-href="package-management-making-tags-and-tagfiles.html" />
-<link rel="NEXT" title="Getting ZipSlack" href="zipslack-getting.html" />
-<link rel="STYLESHEET" type="text/css" href="docbook.css" />
-<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
-</head>
-<body class="CHAPTER" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#840084"
-alink="#0000FF">
-<div class="NAVHEADER">
-<table summary="Header navigation table" width="100%" border="0" cellpadding="0"
-cellspacing="0">
-<tr>
-<th colspan="3" align="center">Slackware Linux Essentials</th>
-</tr>
-
-<tr>
-<td width="10%" align="left" valign="bottom"><a
-href="package-management-making-tags-and-tagfiles.html" accesskey="P">Prev</a></td>
-<td width="80%" align="center" valign="bottom"></td>
-<td width="10%" align="right" valign="bottom"><a href="zipslack-getting.html"
-accesskey="N">Next</a></td>
-</tr>
-</table>
-
-<hr align="LEFT" width="100%" />
-</div>
-
-<div class="CHAPTER">
-<h1><a id="ZIPSLACK" name="ZIPSLACK"></a>Chapter 19 ZipSlack</h1>
-
-<div class="TOC">
-<dl>
-<dt><b>Table of Contents</b></dt>
-
-<dt>19.1 <a href="zipslack.html#ZIPSLACK-WHAT">What is ZipSlack?</a></dt>
-
-<dt>19.2 <a href="zipslack-getting.html">Getting ZipSlack</a></dt>
-
-<dt>19.3 <a href="zipslack-booting.html">Booting ZipSlack</a></dt>
-</dl>
-</div>
-
-<div class="SECT1">
-<h1 class="SECT1"><a id="ZIPSLACK-WHAT" name="ZIPSLACK-WHAT">19.1 What is
-ZipSlack?</a></h1>
-
-<p>ZipSlack is a special version of Slackware Linux. It's an already installed copy of
-Slackware that's ready to run from your DOS or Windows partition. It's a basic
-installation, you do not get everything that comes with Slackware.</p>
-
-<p>ZipSlack gets its name from the form it's distributed in, a big .ZIP file. Users of
-DOS and Windows will probably be familiar with these files. They are compressed archives.
-The ZipSlack archive contains everything you need to get up and running with
-Slackware.</p>
-
-<p>It is important to note that ZipSlack is significantly different from a regular
-installation. Even though they function the same and contain the same programs, their
-intended audiences and functions differ. Several advantages and disadvantages of ZipSlack
-are discussed below.</p>
-
-<p>One last thing, you should always review the documentation included in the actual
-ZipSlack directory. It contains the latest information regarding installation, booting,
-and general use of the product.</p>
-
-<div class="SECT2">
-<h2 class="SECT2"><a id="ZIPSLACK-ADVANTAGES" name="ZIPSLACK-ADVANTAGES">19.1.1
-Advantages</a></h2>
-
-<ul>
-<li>
-<p>Does not require repartitioning of your hard disk.</p>
-</li>
-
-<li>
-<p>Great way to learn Slackware Linux without stumbling through the installation
-process.</p>
-</li>
-</ul>
-</div>
-
-<div class="SECT2">
-<h2 class="SECT2"><a id="ZIPSLACK-DISADVANTAGES" name="ZIPSLACK-DISADVANTAGES">19.1.2
-Disadvantages</a></h2>
-
-<ul>
-<li>
-<p>Uses the DOS filesystem, which is slower than a native Linux filesystem.</p>
-</li>
-
-<li>
-<p>Will not work with Windows NT.</p>
-</li>
-</ul>
-</div>
-</div>
-</div>
-
-<div class="NAVFOOTER">
-<hr align="LEFT" width="100%" />
-<table summary="Footer navigation table" width="100%" border="0" cellpadding="0"
-cellspacing="0">
-<tr>
-<td width="33%" align="left" valign="top"><a
-href="package-management-making-tags-and-tagfiles.html" accesskey="P">Prev</a></td>
-<td width="34%" align="center" valign="top"><a href="index.html"
-accesskey="H">Home</a></td>
-<td width="33%" align="right" valign="top"><a href="zipslack-getting.html"
-accesskey="N">Next</a></td>
-</tr>
-
-<tr>
-<td width="33%" align="left" valign="top">Making Tags and Tagfiles (for setup)</td>
-<td width="34%" align="center" valign="top">&nbsp;</td>
-<td width="33%" align="right" valign="top">Getting ZipSlack</td>
-</tr>
-</table>
-</div>
-</body>
-</html>
-
diff --git a/slackbook/slackbook-2.0.pdf b/slackbook/slackbook-2.0.pdf
deleted file mode 100644
index 8961f55f..00000000
--- a/slackbook/slackbook-2.0.pdf
+++ /dev/null
Binary files differ
diff --git a/slackbook/slackbook-2.0.ps b/slackbook/slackbook-2.0.ps
deleted file mode 100644
index 75b1c13b..00000000
--- a/slackbook/slackbook-2.0.ps
+++ /dev/null
@@ -1,86611 +0,0 @@
-%!PS-Adobe-2.0
-%%Creator: dvips(k) 5.92b Copyright 2002 Radical Eye Software
-%%Title: book.dvi
-%%Pages: 284
-%%PageOrder: Ascend
-%%BoundingBox: 0 0 612 792
-%%DocumentFonts: Helvetica Helvetica-Oblique Times-Bold Times-Roman
-%%+ Times-BoldItalic Helvetica-Bold Times-Italic Courier
-%%+ Helvetica-BoldOblique CMMI10 CMMI9 Courier-Bold Courier-Oblique
-%%+ Courier-BoldOblique CMMI12
-%%EndComments
-%DVIPSWebPage: (www.radicaleye.com)
-%DVIPSCommandLine: /usr/local/bin/dvips -Ppdf -o book.ps book.dvi
-%DVIPSParameters: dpi=8000, compressed
-%DVIPSSource: TeX output 2005.05.12:0318
-%%BeginProcSet: tex.pro
-%!
-/TeXDict 300 dict def TeXDict begin/N{def}def/B{bind def}N/S{exch}N/X{S
-N}B/A{dup}B/TR{translate}N/isls false N/vsize 11 72 mul N/hsize 8.5 72
-mul N/landplus90{false}def/@rigin{isls{[0 landplus90{1 -1}{-1 1}ifelse 0
-0 0]concat}if 72 Resolution div 72 VResolution div neg scale isls{
-landplus90{VResolution 72 div vsize mul 0 exch}{Resolution -72 div hsize
-mul 0}ifelse TR}if Resolution VResolution vsize -72 div 1 add mul TR[
-matrix currentmatrix{A A round sub abs 0.00001 lt{round}if}forall round
-exch round exch]setmatrix}N/@landscape{/isls true N}B/@manualfeed{
-statusdict/manualfeed true put}B/@copies{/#copies X}B/FMat[1 0 0 -1 0 0]
-N/FBB[0 0 0 0]N/nn 0 N/IEn 0 N/ctr 0 N/df-tail{/nn 8 dict N nn begin
-/FontType 3 N/FontMatrix fntrx N/FontBBox FBB N string/base X array
-/BitMaps X/BuildChar{CharBuilder}N/Encoding IEn N end A{/foo setfont}2
-array copy cvx N load 0 nn put/ctr 0 N[}B/sf 0 N/df{/sf 1 N/fntrx FMat N
-df-tail}B/dfs{div/sf X/fntrx[sf 0 0 sf neg 0 0]N df-tail}B/E{pop nn A
-definefont setfont}B/Cw{Cd A length 5 sub get}B/Ch{Cd A length 4 sub get
-}B/Cx{128 Cd A length 3 sub get sub}B/Cy{Cd A length 2 sub get 127 sub}
-B/Cdx{Cd A length 1 sub get}B/Ci{Cd A type/stringtype ne{ctr get/ctr ctr
-1 add N}if}B/CharBuilder{save 3 1 roll S A/base get 2 index get S
-/BitMaps get S get/Cd X pop/ctr 0 N Cdx 0 Cx Cy Ch sub Cx Cw add Cy
-setcachedevice Cw Ch true[1 0 0 -1 -.1 Cx sub Cy .1 sub]{Ci}imagemask
-restore}B/D{/cc X A type/stringtype ne{]}if nn/base get cc ctr put nn
-/BitMaps get S ctr S sf 1 ne{A A length 1 sub A 2 index S get sf div put
-}if put/ctr ctr 1 add N}B/I{cc 1 add D}B/bop{userdict/bop-hook known{
-bop-hook}if/SI save N @rigin 0 0 moveto/V matrix currentmatrix A 1 get A
-mul exch 0 get A mul add .99 lt{/QV}{/RV}ifelse load def pop pop}N/eop{
-SI restore userdict/eop-hook known{eop-hook}if showpage}N/@start{
-userdict/start-hook known{start-hook}if pop/VResolution X/Resolution X
-1000 div/DVImag X/IEn 256 array N 2 string 0 1 255{IEn S A 360 add 36 4
-index cvrs cvn put}for pop 65781.76 div/vsize X 65781.76 div/hsize X}N
-/p{show}N/RMat[1 0 0 -1 0 0]N/BDot 260 string N/Rx 0 N/Ry 0 N/V{}B/RV/v{
-/Ry X/Rx X V}B statusdict begin/product where{pop false[(Display)(NeXT)
-(LaserWriter 16/600)]{A length product length le{A length product exch 0
-exch getinterval eq{pop true exit}if}{pop}ifelse}forall}{false}ifelse
-end{{gsave TR -.1 .1 TR 1 1 scale Rx Ry false RMat{BDot}imagemask
-grestore}}{{gsave TR -.1 .1 TR Rx Ry scale 1 1 false RMat{BDot}
-imagemask grestore}}ifelse B/QV{gsave newpath transform round exch round
-exch itransform moveto Rx 0 rlineto 0 Ry neg rlineto Rx neg 0 rlineto
-fill grestore}B/a{moveto}B/delta 0 N/tail{A/delta X 0 rmoveto}B/M{S p
-delta add tail}B/b{S p tail}B/c{-4 M}B/d{-3 M}B/e{-2 M}B/f{-1 M}B/g{0 M}
-B/h{1 M}B/i{2 M}B/j{3 M}B/k{4 M}B/w{0 rmoveto}B/l{p -4 w}B/m{p -3 w}B/n{
-p -2 w}B/o{p -1 w}B/q{p 1 w}B/r{p 2 w}B/s{p 3 w}B/t{p 4 w}B/x{0 S
-rmoveto}B/y{3 2 roll p a}B/bos{/SS save N}B/eos{SS restore}B end
-
-%%EndProcSet
-%%BeginProcSet: alt-rule.pro
-%!
-% Patch by TVZ
-% Makes dvips files draw rules with stroke rather than fill.
-% Makes narrow rules more predictable at low resolutions
-% after distilling to PDF.
-% May have unknown consequences for very thick rules.
-% Tested only with dvips 5.85(k).
-TeXDict begin
-/QV {
- gsave newpath /ruleY X /ruleX X
- Rx Ry gt
- { ruleX ruleY Ry 2 div sub moveto Rx 0 rlineto Ry }
- { ruleX Rx 2 div add ruleY moveto 0 Ry neg rlineto Rx }
- ifelse
- setlinewidth 0 setlinecap stroke grestore
-} bind def
-end
-
-%%EndProcSet
-%%BeginProcSet: texc.pro
-%!
-/TeXDict 300 dict def TeXDict begin/N{def}def/B{bind def}N/S{exch}N/X{S
-N}B/A{dup}B/TR{translate}N/isls false N/vsize 11 72 mul N/hsize 8.5 72
-mul N/landplus90{false}def/@rigin{isls{[0 landplus90{1 -1}{-1 1}ifelse 0
-0 0]concat}if 72 Resolution div 72 VResolution div neg scale isls{
-landplus90{VResolution 72 div vsize mul 0 exch}{Resolution -72 div hsize
-mul 0}ifelse TR}if Resolution VResolution vsize -72 div 1 add mul TR[
-matrix currentmatrix{A A round sub abs 0.00001 lt{round}if}forall round
-exch round exch]setmatrix}N/@landscape{/isls true N}B/@manualfeed{
-statusdict/manualfeed true put}B/@copies{/#copies X}B/FMat[1 0 0 -1 0 0]
-N/FBB[0 0 0 0]N/nn 0 N/IEn 0 N/ctr 0 N/df-tail{/nn 8 dict N nn begin
-/FontType 3 N/FontMatrix fntrx N/FontBBox FBB N string/base X array
-/BitMaps X/BuildChar{CharBuilder}N/Encoding IEn N end A{/foo setfont}2
-array copy cvx N load 0 nn put/ctr 0 N[}B/sf 0 N/df{/sf 1 N/fntrx FMat N
-df-tail}B/dfs{div/sf X/fntrx[sf 0 0 sf neg 0 0]N df-tail}B/E{pop nn A
-definefont setfont}B/Cw{Cd A length 5 sub get}B/Ch{Cd A length 4 sub get
-}B/Cx{128 Cd A length 3 sub get sub}B/Cy{Cd A length 2 sub get 127 sub}
-B/Cdx{Cd A length 1 sub get}B/Ci{Cd A type/stringtype ne{ctr get/ctr ctr
-1 add N}if}B/id 0 N/rw 0 N/rc 0 N/gp 0 N/cp 0 N/G 0 N/CharBuilder{save 3
-1 roll S A/base get 2 index get S/BitMaps get S get/Cd X pop/ctr 0 N Cdx
-0 Cx Cy Ch sub Cx Cw add Cy setcachedevice Cw Ch true[1 0 0 -1 -.1 Cx
-sub Cy .1 sub]/id Ci N/rw Cw 7 add 8 idiv string N/rc 0 N/gp 0 N/cp 0 N{
-rc 0 ne{rc 1 sub/rc X rw}{G}ifelse}imagemask restore}B/G{{id gp get/gp
-gp 1 add N A 18 mod S 18 idiv pl S get exec}loop}B/adv{cp add/cp X}B
-/chg{rw cp id gp 4 index getinterval putinterval A gp add/gp X adv}B/nd{
-/cp 0 N rw exit}B/lsh{rw cp 2 copy get A 0 eq{pop 1}{A 255 eq{pop 254}{
-A A add 255 and S 1 and or}ifelse}ifelse put 1 adv}B/rsh{rw cp 2 copy
-get A 0 eq{pop 128}{A 255 eq{pop 127}{A 2 idiv S 128 and or}ifelse}
-ifelse put 1 adv}B/clr{rw cp 2 index string putinterval adv}B/set{rw cp
-fillstr 0 4 index getinterval putinterval adv}B/fillstr 18 string 0 1 17
-{2 copy 255 put pop}for N/pl[{adv 1 chg}{adv 1 chg nd}{1 add chg}{1 add
-chg nd}{adv lsh}{adv lsh nd}{adv rsh}{adv rsh nd}{1 add adv}{/rc X nd}{
-1 add set}{1 add clr}{adv 2 chg}{adv 2 chg nd}{pop nd}]A{bind pop}
-forall N/D{/cc X A type/stringtype ne{]}if nn/base get cc ctr put nn
-/BitMaps get S ctr S sf 1 ne{A A length 1 sub A 2 index S get sf div put
-}if put/ctr ctr 1 add N}B/I{cc 1 add D}B/bop{userdict/bop-hook known{
-bop-hook}if/SI save N @rigin 0 0 moveto/V matrix currentmatrix A 1 get A
-mul exch 0 get A mul add .99 lt{/QV}{/RV}ifelse load def pop pop}N/eop{
-SI restore userdict/eop-hook known{eop-hook}if showpage}N/@start{
-userdict/start-hook known{start-hook}if pop/VResolution X/Resolution X
-1000 div/DVImag X/IEn 256 array N 2 string 0 1 255{IEn S A 360 add 36 4
-index cvrs cvn put}for pop 65781.76 div/vsize X 65781.76 div/hsize X}N
-/p{show}N/RMat[1 0 0 -1 0 0]N/BDot 260 string N/Rx 0 N/Ry 0 N/V{}B/RV/v{
-/Ry X/Rx X V}B statusdict begin/product where{pop false[(Display)(NeXT)
-(LaserWriter 16/600)]{A length product length le{A length product exch 0
-exch getinterval eq{pop true exit}if}{pop}ifelse}forall}{false}ifelse
-end{{gsave TR -.1 .1 TR 1 1 scale Rx Ry false RMat{BDot}imagemask
-grestore}}{{gsave TR -.1 .1 TR Rx Ry scale 1 1 false RMat{BDot}
-imagemask grestore}}ifelse B/QV{gsave newpath transform round exch round
-exch itransform moveto Rx 0 rlineto 0 Ry neg rlineto Rx neg 0 rlineto
-fill grestore}B/a{moveto}B/delta 0 N/tail{A/delta X 0 rmoveto}B/M{S p
-delta add tail}B/b{S p tail}B/c{-4 M}B/d{-3 M}B/e{-2 M}B/f{-1 M}B/g{0 M}
-B/h{1 M}B/i{2 M}B/j{3 M}B/k{4 M}B/w{0 rmoveto}B/l{p -4 w}B/m{p -3 w}B/n{
-p -2 w}B/o{p -1 w}B/q{p 1 w}B/r{p 2 w}B/s{p 3 w}B/t{p 4 w}B/x{0 S
-rmoveto}B/y{3 2 roll p a}B/bos{/SS save N}B/eos{SS restore}B end
-
-%%EndProcSet
-%%BeginProcSet: 8r.enc
-% File 8r.enc as of 2002-03-12 for PSNFSS 9
-%
-% This is the encoding vector for Type1 and TrueType fonts to be used
-% with TeX. This file is part of the PSNFSS bundle, version 9
-%
-% Authors: S. Rahtz, P. MacKay, Alan Jeffrey, B. Horn, K. Berry, W. Schmidt
-%
-% Idea is to have all the characters normally included in Type 1 fonts
-% available for typesetting. This is effectively the characters in Adobe
-% Standard Encoding + ISO Latin 1 + extra characters from Lucida + Euro.
-%
-% Character code assignments were made as follows:
-%
-% (1) the Windows ANSI characters are almost all in their Windows ANSI
-% positions, because some Windows users cannot easily reencode the
-% fonts, and it makes no difference on other systems. The only Windows
-% ANSI characters not available are those that make no sense for
-% typesetting -- rubout (127 decimal), nobreakspace (160), softhyphen
-% (173). quotesingle and grave are moved just because it's such an
-% irritation not having them in TeX positions.
-%
-% (2) Remaining characters are assigned arbitrarily to the lower part
-% of the range, avoiding 0, 10 and 13 in case we meet dumb software.
-%
-% (3) Y&Y Lucida Bright includes some extra text characters; in the
-% hopes that other PostScript fonts, perhaps created for public
-% consumption, will include them, they are included starting at 0x12.
-%
-% (4) Remaining positions left undefined are for use in (hopefully)
-% upward-compatible revisions, if someday more characters are generally
-% available.
-%
-% (5) hyphen appears twice for compatibility with both ASCII and Windows.
-%
-% (6) /Euro is assigned to 128, as in Windows ANSI
-%
-/TeXBase1Encoding [
-% 0x00 (encoded characters from Adobe Standard not in Windows 3.1)
- /.notdef /dotaccent /fi /fl
- /fraction /hungarumlaut /Lslash /lslash
- /ogonek /ring /.notdef
- /breve /minus /.notdef
-% These are the only two remaining unencoded characters, so may as
-% well include them.
- /Zcaron /zcaron
-% 0x10
- /caron /dotlessi
-% (unusual TeX characters available in, e.g., Lucida Bright)
- /dotlessj /ff /ffi /ffl
- /.notdef /.notdef /.notdef /.notdef
- /.notdef /.notdef /.notdef /.notdef
- % very contentious; it's so painful not having quoteleft and quoteright
- % at 96 and 145 that we move the things normally found there down to here.
- /grave /quotesingle
-% 0x20 (ASCII begins)
- /space /exclam /quotedbl /numbersign
- /dollar /percent /ampersand /quoteright
- /parenleft /parenright /asterisk /plus /comma /hyphen /period /slash
-% 0x30
- /zero /one /two /three /four /five /six /seven
- /eight /nine /colon /semicolon /less /equal /greater /question
-% 0x40
- /at /A /B /C /D /E /F /G /H /I /J /K /L /M /N /O
-% 0x50
- /P /Q /R /S /T /U /V /W
- /X /Y /Z /bracketleft /backslash /bracketright /asciicircum /underscore
-% 0x60
- /quoteleft /a /b /c /d /e /f /g /h /i /j /k /l /m /n /o
-% 0x70
- /p /q /r /s /t /u /v /w
- /x /y /z /braceleft /bar /braceright /asciitilde
- /.notdef % rubout; ASCII ends
-% 0x80
- /Euro /.notdef /quotesinglbase /florin
- /quotedblbase /ellipsis /dagger /daggerdbl
- /circumflex /perthousand /Scaron /guilsinglleft
- /OE /.notdef /.notdef /.notdef
-% 0x90
- /.notdef /.notdef /.notdef /quotedblleft
- /quotedblright /bullet /endash /emdash
- /tilde /trademark /scaron /guilsinglright
- /oe /.notdef /.notdef /Ydieresis
-% 0xA0
- /.notdef % nobreakspace
- /exclamdown /cent /sterling
- /currency /yen /brokenbar /section
- /dieresis /copyright /ordfeminine /guillemotleft
- /logicalnot
- /hyphen % Y&Y (also at 45); Windows' softhyphen
- /registered
- /macron
-% 0xD0
- /degree /plusminus /twosuperior /threesuperior
- /acute /mu /paragraph /periodcentered
- /cedilla /onesuperior /ordmasculine /guillemotright
- /onequarter /onehalf /threequarters /questiondown
-% 0xC0
- /Agrave /Aacute /Acircumflex /Atilde /Adieresis /Aring /AE /Ccedilla
- /Egrave /Eacute /Ecircumflex /Edieresis
- /Igrave /Iacute /Icircumflex /Idieresis
-% 0xD0
- /Eth /Ntilde /Ograve /Oacute
- /Ocircumflex /Otilde /Odieresis /multiply
- /Oslash /Ugrave /Uacute /Ucircumflex
- /Udieresis /Yacute /Thorn /germandbls
-% 0xE0
- /agrave /aacute /acircumflex /atilde
- /adieresis /aring /ae /ccedilla
- /egrave /eacute /ecircumflex /edieresis
- /igrave /iacute /icircumflex /idieresis
-% 0xF0
- /eth /ntilde /ograve /oacute
- /ocircumflex /otilde /odieresis /divide
- /oslash /ugrave /uacute /ucircumflex
- /udieresis /yacute /thorn /ydieresis
-] def
-
-%%EndProcSet
-%%BeginProcSet: aae443f0.enc
-% Thomas Esser, Dec 2002. public domain
-%
-% Encoding for:
-% cmmi10 cmmi12 cmmi5 cmmi6 cmmi7 cmmi8 cmmi9 cmmib10
-%
-/TeXaae443f0Encoding [
-/Gamma /Delta /Theta /Lambda /Xi /Pi /Sigma /Upsilon /Phi /Psi /Omega
-/alpha /beta /gamma /delta /epsilon1 /zeta /eta /theta /iota /kappa
-/lambda /mu /nu /xi /pi /rho /sigma /tau /upsilon /phi /chi /psi
-/omega /epsilon /theta1 /pi1 /rho1 /sigma1 /phi1 /arrowlefttophalf
-/arrowleftbothalf /arrowrighttophalf /arrowrightbothalf /arrowhookleft
-/arrowhookright /triangleright /triangleleft /zerooldstyle /oneoldstyle
-/twooldstyle /threeoldstyle /fouroldstyle /fiveoldstyle /sixoldstyle
-/sevenoldstyle /eightoldstyle /nineoldstyle /period /comma /less /slash
-/greater /star /partialdiff /A /B /C /D /E /F /G /H /I /J /K /L /M /N
-/O /P /Q /R /S /T /U /V /W /X /Y /Z /flat /natural /sharp /slurbelow
-/slurabove /lscript /a /b /c /d /e /f /g /h /i /j /k /l /m /n /o /p
-/q /r /s /t /u /v /w /x /y /z /dotlessi /dotlessj /weierstrass /vector
-/tie /psi /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
-/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
-/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
-/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
-/space /Gamma /Delta /Theta /Lambda /Xi /Pi /Sigma /Upsilon /Phi /Psi
-/.notdef /.notdef /Omega /alpha /beta /gamma /delta /epsilon1 /zeta /eta
-/theta /iota /kappa /lambda /mu /nu /xi /pi /rho /sigma /tau /upsilon
-/phi /chi /psi /tie /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
-/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
-/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
-/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
-/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
-/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
-/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
-/.notdef /.notdef /.notdef /.notdef /.notdef
-] def
-
-%%EndProcSet
-%%BeginProcSet: texps.pro
-%!
-TeXDict begin/rf{findfont dup length 1 add dict begin{1 index/FID ne 2
-index/UniqueID ne and{def}{pop pop}ifelse}forall[1 index 0 6 -1 roll
-exec 0 exch 5 -1 roll VResolution Resolution div mul neg 0 0]FontType 0
-ne{/Metrics exch def dict begin Encoding{exch dup type/integertype ne{
-pop pop 1 sub dup 0 le{pop}{[}ifelse}{FontMatrix 0 get div Metrics 0 get
-div def}ifelse}forall Metrics/Metrics currentdict end def}{{1 index type
-/nametype eq{exit}if exch pop}loop}ifelse[2 index currentdict end
-definefont 3 -1 roll makefont/setfont cvx]cvx def}def/ObliqueSlant{dup
-sin S cos div neg}B/SlantFont{4 index mul add}def/ExtendFont{3 -1 roll
-mul exch}def/ReEncodeFont{CharStrings rcheck{/Encoding false def dup[
-exch{dup CharStrings exch known not{pop/.notdef/Encoding true def}if}
-forall Encoding{]exch pop}{cleartomark}ifelse}if/Encoding exch def}def
-end
-
-%%EndProcSet
-%%BeginProcSet: special.pro
-%!
-TeXDict begin/SDict 200 dict N SDict begin/@SpecialDefaults{/hs 612 N
-/vs 792 N/ho 0 N/vo 0 N/hsc 1 N/vsc 1 N/ang 0 N/CLIP 0 N/rwiSeen false N
-/rhiSeen false N/letter{}N/note{}N/a4{}N/legal{}N}B/@scaleunit 100 N
-/@hscale{@scaleunit div/hsc X}B/@vscale{@scaleunit div/vsc X}B/@hsize{
-/hs X/CLIP 1 N}B/@vsize{/vs X/CLIP 1 N}B/@clip{/CLIP 2 N}B/@hoffset{/ho
-X}B/@voffset{/vo X}B/@angle{/ang X}B/@rwi{10 div/rwi X/rwiSeen true N}B
-/@rhi{10 div/rhi X/rhiSeen true N}B/@llx{/llx X}B/@lly{/lly X}B/@urx{
-/urx X}B/@ury{/ury X}B/magscale true def end/@MacSetUp{userdict/md known
-{userdict/md get type/dicttype eq{userdict begin md length 10 add md
-maxlength ge{/md md dup length 20 add dict copy def}if end md begin
-/letter{}N/note{}N/legal{}N/od{txpose 1 0 mtx defaultmatrix dtransform S
-atan/pa X newpath clippath mark{transform{itransform moveto}}{transform{
-itransform lineto}}{6 -2 roll transform 6 -2 roll transform 6 -2 roll
-transform{itransform 6 2 roll itransform 6 2 roll itransform 6 2 roll
-curveto}}{{closepath}}pathforall newpath counttomark array astore/gc xdf
-pop ct 39 0 put 10 fz 0 fs 2 F/|______Courier fnt invertflag{PaintBlack}
-if}N/txpose{pxs pys scale ppr aload pop por{noflips{pop S neg S TR pop 1
--1 scale}if xflip yflip and{pop S neg S TR 180 rotate 1 -1 scale ppr 3
-get ppr 1 get neg sub neg ppr 2 get ppr 0 get neg sub neg TR}if xflip
-yflip not and{pop S neg S TR pop 180 rotate ppr 3 get ppr 1 get neg sub
-neg 0 TR}if yflip xflip not and{ppr 1 get neg ppr 0 get neg TR}if}{
-noflips{TR pop pop 270 rotate 1 -1 scale}if xflip yflip and{TR pop pop
-90 rotate 1 -1 scale ppr 3 get ppr 1 get neg sub neg ppr 2 get ppr 0 get
-neg sub neg TR}if xflip yflip not and{TR pop pop 90 rotate ppr 3 get ppr
-1 get neg sub neg 0 TR}if yflip xflip not and{TR pop pop 270 rotate ppr
-2 get ppr 0 get neg sub neg 0 S TR}if}ifelse scaleby96{ppr aload pop 4
--1 roll add 2 div 3 1 roll add 2 div 2 copy TR .96 dup scale neg S neg S
-TR}if}N/cp{pop pop showpage pm restore}N end}if}if}N/normalscale{
-Resolution 72 div VResolution 72 div neg scale magscale{DVImag dup scale
-}if 0 setgray}N/psfts{S 65781.76 div N}N/startTexFig{/psf$SavedState
-save N userdict maxlength dict begin/magscale true def normalscale
-currentpoint TR/psf$ury psfts/psf$urx psfts/psf$lly psfts/psf$llx psfts
-/psf$y psfts/psf$x psfts currentpoint/psf$cy X/psf$cx X/psf$sx psf$x
-psf$urx psf$llx sub div N/psf$sy psf$y psf$ury psf$lly sub div N psf$sx
-psf$sy scale psf$cx psf$sx div psf$llx sub psf$cy psf$sy div psf$ury sub
-TR/showpage{}N/erasepage{}N/setpagedevice{pop}N/copypage{}N/p 3 def
-@MacSetUp}N/doclip{psf$llx psf$lly psf$urx psf$ury currentpoint 6 2 roll
-newpath 4 copy 4 2 roll moveto 6 -1 roll S lineto S lineto S lineto
-closepath clip newpath moveto}N/endTexFig{end psf$SavedState restore}N
-/@beginspecial{SDict begin/SpecialSave save N gsave normalscale
-currentpoint TR @SpecialDefaults count/ocount X/dcount countdictstack N}
-N/@setspecial{CLIP 1 eq{newpath 0 0 moveto hs 0 rlineto 0 vs rlineto hs
-neg 0 rlineto closepath clip}if ho vo TR hsc vsc scale ang rotate
-rwiSeen{rwi urx llx sub div rhiSeen{rhi ury lly sub div}{dup}ifelse
-scale llx neg lly neg TR}{rhiSeen{rhi ury lly sub div dup scale llx neg
-lly neg TR}if}ifelse CLIP 2 eq{newpath llx lly moveto urx lly lineto urx
-ury lineto llx ury lineto closepath clip}if/showpage{}N/erasepage{}N
-/setpagedevice{pop}N/copypage{}N newpath}N/@endspecial{count ocount sub{
-pop}repeat countdictstack dcount sub{end}repeat grestore SpecialSave
-restore end}N/@defspecial{SDict begin}N/@fedspecial{end}B/li{lineto}B
-/rl{rlineto}B/rc{rcurveto}B/np{/SaveX currentpoint/SaveY X N 1
-setlinecap newpath}N/st{stroke SaveX SaveY moveto}N/fil{fill SaveX SaveY
-moveto}N/ellipse{/endangle X/startangle X/yrad X/xrad X/savematrix
-matrix currentmatrix N TR xrad yrad scale 0 0 1 startangle endangle arc
-savematrix setmatrix}N end
-
-%%EndProcSet
-%%BeginProcSet: color.pro
-%!
-TeXDict begin/setcmykcolor where{pop}{/setcmykcolor{dup 10 eq{pop
-setrgbcolor}{1 sub 4 1 roll 3{3 index add neg dup 0 lt{pop 0}if 3 1 roll
-}repeat setrgbcolor pop}ifelse}B}ifelse/TeXcolorcmyk{setcmykcolor}def
-/TeXcolorrgb{setrgbcolor}def/TeXcolorgrey{setgray}def/TeXcolorgray{
-setgray}def/TeXcolorhsb{sethsbcolor}def/currentcmykcolor where{pop}{
-/currentcmykcolor{currentrgbcolor 10}B}ifelse/DC{exch dup userdict exch
-known{pop pop}{X}ifelse}B/GreenYellow{0.15 0 0.69 0 setcmykcolor}DC
-/Yellow{0 0 1 0 setcmykcolor}DC/Goldenrod{0 0.10 0.84 0 setcmykcolor}DC
-/Dandelion{0 0.29 0.84 0 setcmykcolor}DC/Apricot{0 0.32 0.52 0
-setcmykcolor}DC/Peach{0 0.50 0.70 0 setcmykcolor}DC/Melon{0 0.46 0.50 0
-setcmykcolor}DC/YellowOrange{0 0.42 1 0 setcmykcolor}DC/Orange{0 0.61
-0.87 0 setcmykcolor}DC/BurntOrange{0 0.51 1 0 setcmykcolor}DC
-/Bittersweet{0 0.75 1 0.24 setcmykcolor}DC/RedOrange{0 0.77 0.87 0
-setcmykcolor}DC/Mahogany{0 0.85 0.87 0.35 setcmykcolor}DC/Maroon{0 0.87
-0.68 0.32 setcmykcolor}DC/BrickRed{0 0.89 0.94 0.28 setcmykcolor}DC/Red{
-0 1 1 0 setcmykcolor}DC/OrangeRed{0 1 0.50 0 setcmykcolor}DC/RubineRed{
-0 1 0.13 0 setcmykcolor}DC/WildStrawberry{0 0.96 0.39 0 setcmykcolor}DC
-/Salmon{0 0.53 0.38 0 setcmykcolor}DC/CarnationPink{0 0.63 0 0
-setcmykcolor}DC/Magenta{0 1 0 0 setcmykcolor}DC/VioletRed{0 0.81 0 0
-setcmykcolor}DC/Rhodamine{0 0.82 0 0 setcmykcolor}DC/Mulberry{0.34 0.90
-0 0.02 setcmykcolor}DC/RedViolet{0.07 0.90 0 0.34 setcmykcolor}DC
-/Fuchsia{0.47 0.91 0 0.08 setcmykcolor}DC/Lavender{0 0.48 0 0
-setcmykcolor}DC/Thistle{0.12 0.59 0 0 setcmykcolor}DC/Orchid{0.32 0.64 0
-0 setcmykcolor}DC/DarkOrchid{0.40 0.80 0.20 0 setcmykcolor}DC/Purple{
-0.45 0.86 0 0 setcmykcolor}DC/Plum{0.50 1 0 0 setcmykcolor}DC/Violet{
-0.79 0.88 0 0 setcmykcolor}DC/RoyalPurple{0.75 0.90 0 0 setcmykcolor}DC
-/BlueViolet{0.86 0.91 0 0.04 setcmykcolor}DC/Periwinkle{0.57 0.55 0 0
-setcmykcolor}DC/CadetBlue{0.62 0.57 0.23 0 setcmykcolor}DC
-/CornflowerBlue{0.65 0.13 0 0 setcmykcolor}DC/MidnightBlue{0.98 0.13 0
-0.43 setcmykcolor}DC/NavyBlue{0.94 0.54 0 0 setcmykcolor}DC/RoyalBlue{1
-0.50 0 0 setcmykcolor}DC/Blue{1 1 0 0 setcmykcolor}DC/Cerulean{0.94 0.11
-0 0 setcmykcolor}DC/Cyan{1 0 0 0 setcmykcolor}DC/ProcessBlue{0.96 0 0 0
-setcmykcolor}DC/SkyBlue{0.62 0 0.12 0 setcmykcolor}DC/Turquoise{0.85 0
-0.20 0 setcmykcolor}DC/TealBlue{0.86 0 0.34 0.02 setcmykcolor}DC
-/Aquamarine{0.82 0 0.30 0 setcmykcolor}DC/BlueGreen{0.85 0 0.33 0
-setcmykcolor}DC/Emerald{1 0 0.50 0 setcmykcolor}DC/JungleGreen{0.99 0
-0.52 0 setcmykcolor}DC/SeaGreen{0.69 0 0.50 0 setcmykcolor}DC/Green{1 0
-1 0 setcmykcolor}DC/ForestGreen{0.91 0 0.88 0.12 setcmykcolor}DC
-/PineGreen{0.92 0 0.59 0.25 setcmykcolor}DC/LimeGreen{0.50 0 1 0
-setcmykcolor}DC/YellowGreen{0.44 0 0.74 0 setcmykcolor}DC/SpringGreen{
-0.26 0 0.76 0 setcmykcolor}DC/OliveGreen{0.64 0 0.95 0.40 setcmykcolor}
-DC/RawSienna{0 0.72 1 0.45 setcmykcolor}DC/Sepia{0 0.83 1 0.70
-setcmykcolor}DC/Brown{0 0.81 1 0.60 setcmykcolor}DC/Tan{0.14 0.42 0.56 0
-setcmykcolor}DC/Gray{0 0 0 0.50 setcmykcolor}DC/Black{0 0 0 1
-setcmykcolor}DC/White{0 0 0 0 setcmykcolor}DC end
-
-%%EndProcSet
-TeXDict begin @defspecial
-
- /DvipsToPDF { 72.27 mul Resolution div } def /PDFToDvips { 72.27 div
-Resolution mul } def /HyperBorder { 1 PDFToDvips } def /H.V {pdf@hoff
-pdf@voff null} def /H.B {/Rect[pdf@llx pdf@lly pdf@urx pdf@ury]} def
-/H.S { currentpoint HyperBorder add /pdf@lly exch def dup DvipsToPDF
-/pdf@hoff exch def HyperBorder sub /pdf@llx exch def } def /H.L { 2
-sub dup /HyperBasePt exch def PDFToDvips /HyperBaseDvips exch def currentpoint
-HyperBaseDvips sub /pdf@ury exch def /pdf@urx exch def } def /H.A {
-H.L currentpoint exch pop vsize 72 sub exch DvipsToPDF HyperBasePt
-sub sub /pdf@voff exch def } def /H.R { currentpoint HyperBorder sub
-/pdf@ury exch def HyperBorder add /pdf@urx exch def currentpoint exch
-pop vsize 72 sub exch DvipsToPDF sub /pdf@voff exch def } def systemdict
-/pdfmark known not {userdict /pdfmark systemdict /cleartomark get put}
-if
-
-@fedspecial end
-%%BeginFont: CMMI10
-%!PS-AdobeFont-1.1: CMMI10 1.100
-%%CreationDate: 1996 Jul 23 07:53:57
-% Copyright (C) 1997 American Mathematical Society. All Rights Reserved.
-11 dict begin
-/FontInfo 7 dict dup begin
-/version (1.100) readonly def
-/Notice (Copyright (C) 1997 American Mathematical Society. All Rights Reserved) readonly def
-/FullName (CMMI10) readonly def
-/FamilyName (Computer Modern) readonly def
-/Weight (Medium) readonly def
-/ItalicAngle -14.04 def
-/isFixedPitch false def
-end readonly def
-/FontName /CMMI10 def
-/PaintType 0 def
-/FontType 1 def
-/FontMatrix [0.001 0 0 0.001 0 0] readonly def
-/Encoding 256 array
-0 1 255 {1 index exch /.notdef put} for
-dup 0 /.notdef put
-readonly def
-/FontBBox{-32 -250 1048 750}readonly def
-/UniqueID 5087385 def
-currentdict end
-currentfile eexec
-D9D66F633B846A97B686A97E45A3D0AA0529731C99A784CCBE85B4993B2EEBDE
-3B12D472B7CF54651EF21185116A69AB1096ED4BAD2F646635E019B6417CC77B
-532F85D811C70D1429A19A5307EF63EB5C5E02C89FC6C20F6D9D89E7D91FE470
-B72BEFDA23F5DF76BE05AF4CE93137A219ED8A04A9D7D6FDF37E6B7FCDE0D90B
-986423E5960A5D9FBB4C956556E8DF90CBFAEC476FA36FD9A5C8175C9AF513FE
-D919C2DDD26BDC0D99398B9F4D03D5993DFC0930297866E1CD0A319B6B1FD958
-9E394A533A081C36D456A09920001A3D2199583EB9B84B4DEE08E3D12939E321
-990CD249827D9648574955F61BAAA11263A91B6C3D47A5190165B0C25ABF6D3E
-6EC187E4B05182126BB0D0323D943170B795255260F9FD25F2248D04F45DFBFB
-DEF7FF8B19BFEF637B210018AE02572B389B3F76282BEB29CC301905D388C721
-59616893E774413F48DE0B408BC66DCE3FE17CB9F84D205839D58014D6A88823
-D9320AE93AF96D97A02C4D5A2BB2B8C7925C4578003959C46E3CE1A2F0EAC4BF
-8B9B325E46435BDE60BC54D72BC8ACB5C0A34413AC87045DC7B84646A324B808
-6FD8E34217213E131C3B1510415CE45420688ED9C1D27890EC68BD7C1235FAF9
-1DAB3A369DD2FC3BE5CF9655C7B7EDA7361D7E05E5831B6B8E2EEC542A7B38EE
-03BE4BAC6079D038ACB3C7C916279764547C2D51976BABA94BA9866D79F13909
-95AA39B0F03103A07CBDF441B8C5669F729020AF284B7FF52A29C6255FCAACF1
-74109050FBA2602E72593FBCBFC26E726EE4AEF97B7632BC4F5F353B5C67FED2
-3EA752A4A57B8F7FEFF1D7341D895F0A3A0BE1D8E3391970457A967EFF84F6D8
-47750B1145B8CC5BD96EE7AA99DDC9E06939E383BDA41175233D58AD263EBF19
-AFC0E2F840512D321166547B306C592B8A01E1FA2564B9A26DAC14256414E4C8
-42616728D918C74D13C349F4186EC7B9708B86467425A6FDB3A396562F7EE4D8
-40B43621744CF8A23A6E532649B66C2A0002DD04F8F39618E4F572819DD34837
-B5A08E643FDCA1505AF6A1FA3DDFD1FA758013CAED8ACDDBBB334D664DFF5B53
-95601766777978D01677B8D19E1B10A078432D2884BB4F7B8C3293B68BB78100
-16724E495064BA0168CC86D413CB48560D6D318357397832F7A858CD82030C7D
-8A4A1919716E8B26AFF8789AAF489EE4E0A88DC477551A87C7DF2856189E4596
-FE015956AFE5CC019F5CA6323A12B763B7B08B92C1A2940D3C566C43729E5482
-63C6DC5E834AEB4DAFB5AE8F0B8931A4687C94D11587B9071C8D81DA14F12776
-53A1985A3EBE37827656BD4635E03F09C3231F906874645E7DB3E59045A59D67
-E745D8487CF73FC50F64060544F624F357BC998A87FBE468DEBB38A09449EBCA
-D041D7C29225ACD16CB8A59E87924D15A9125F064710A6CCCA3AD3103D8FCC94
-CC3571C6F9192774FCFE5BB42A14B27960903144D28BF047BF4C77646EA7BF6F
-440D4EDEB712C63F2E8080419E42D1D58EED685EB5CDD49F80DB6E5553B519FA
-C6A39A093155802F3EC607721F390307E91ECB597ABA60A537E3F8C045BF5DD3
-D88CF6518D37FCD95D2F295D902D617440D23516D962F47750A682A319ACE1
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-cleartomark
-%%EndFont
-%%BeginFont: CMMI12
-%!PS-AdobeFont-1.1: CMMI12 1.100
-%%CreationDate: 1996 Jul 27 08:57:55
-% Copyright (C) 1997 American Mathematical Society. All Rights Reserved.
-11 dict begin
-/FontInfo 7 dict dup begin
-/version (1.100) readonly def
-/Notice (Copyright (C) 1997 American Mathematical Society. All Rights Reserved) readonly def
-/FullName (CMMI12) readonly def
-/FamilyName (Computer Modern) readonly def
-/Weight (Medium) readonly def
-/ItalicAngle -14.04 def
-/isFixedPitch false def
-end readonly def
-/FontName /CMMI12 def
-/PaintType 0 def
-/FontType 1 def
-/FontMatrix [0.001 0 0 0.001 0 0] readonly def
-/Encoding 256 array
-0 1 255 {1 index exch /.notdef put} for
-dup 0 /.notdef put
-readonly def
-/FontBBox{-30 -250 1026 750}readonly def
-/UniqueID 5087386 def
-currentdict end
-currentfile eexec
-D9D66F633B846A97B686A97E45A3D0AA0529731C99A784CCBE85B4993B2EEBDE
-3B12D472B7CF54651EF21185116A69AB1096ED4BAD2F646635E019B6417CC77B
-532F85D811C70D1429A19A5307EF63EB5C5E02C89FC6C20F6D9D89E7D91FE470
-B72BEFDA23F5DF76BE05AF4CE93137A219ED8A04A9D7D6FDF37E6B7FCDE0D90B
-986423E5960A5D9FBB4C956556E8DF90CBFAEC476FA36FD9A5C8175C9AF513FE
-D919C2DDD26BDC0D99398B9F4D03D6A8F05B47AF95EF28A9C561DBDC98C47CF5
-5250011D19E9366EB6FD153D3A100CAA6212E3D5D93990737F8D326D347B7EDC
-4391C9DF440285B8FC159D0E98D4258FC57892DCC57F7903449E07914FBE9E67
-3C15C2153C061EB541F66C11E7EE77D5D77C0B11E1AC55101DA976CCACAB6993
-EED1406FBB7FF30EAC9E90B90B2AF4EC7C273CA32F11A5C1426FF641B4A2FB2F
-4E68635C93DB835737567FAF8471CBC05078DCD4E40E25A2F4E5AF46C234CF59
-2A1CE8F39E1BA1B2A594355637E474167EAD4D97D51AF0A899B44387E1FD933A
-323AFDA6BA740534A510B4705C0A15647AFBF3E53A82BF320DD96753639BE49C
-2F79A1988863EF977B800C9DB5B42039C23EB86953713F730E03EA22FF7BB2C1
-D97D33FD77B1BDCC2A60B12CF7805CFC90C5B914C0F30A673DF9587F93E47CEA
-5932DD1930560C4F0D97547BCD805D6D854455B13A4D7382A22F562D7C55041F
-0FD294BDAA1834820F894265A667E5C97D95FF152531EF97258F56374502865D
-A1E7C0C5FB7C6FB7D3C43FEB3431095A59FBF6F61CEC6D6DEE09F4EB0FD70D77
-2A8B0A4984C6120293F6B947944BE23259F6EB64303D627353163B6505FC8A60
-00681F7A3968B6CBB49E0420A691258F5E7B07B417157803FCBE9B9FB1F80FD8
-CA0DA1186446DD565542BCCC7D339A1EB34C7F49246E8D72E987EB477C6DB757
-99AF86CEBCD7605C487A00CD2CD093098182DC57B20D78ECE0BECF3A0BF88EBA
-C866DB19F34BBBED6634AFC0F08D2AFB2A92578A6F8B4ADCD6594737FF6EED7D
-5B536DA9E3E2CADB40DB7C600EA4D100D33C3B92B1CF857E012C4EB370BA8295
-55B50047CD58E912E67E22C1B92F41D0BEE742201DF198F3766AE35EA71D8195
-A8C94D661C40D718CB09497485FAA34204229AECFE644C93FFDA54C789E4F751
-3D2519F7CB9E79B2ABE3101DF2EBFAD375469CDC687FB3DC2833EDC0F946B41F
-F28D72FFF2A9B8B0D76DC542537612E2BE0F3FB9601C897386359C55E867A547
-F872005F5C56C6EC5E9685E03D7A82653BE8B69741C4DF332AEEB2AA450B23F3
-EABD5ED060606CC7DB1762632EC3C6C4A66ADAF61A97D949DEA5156B4CF34765
-67AC3F10AE17199A710A882D47979F9D41AA2CB794648BE47479F0B00E18BF04
-923F54CEC1214BAFA39BB65ECB013875899E9901B7882D16D2E2C97AD3353668
-A6070081E4DC627AF9192599F5876369908FBDFA11E8D6CB2E83896E9C897CEC
-FD1D25651D66A333AF531FF74E1B0DEB1E3D1B5B7D3FB9D1C8BF60517B31C8D2
-1C264F44BC9AF3D9BA5280D1618EED96C11ED24F789FAA263394C658DFCA8DE9
-D47D9E188E212F9EC1DCF449DFDAB8437FAB9EA9AF01AE1714E8F932855182
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-cleartomark
-%%EndFont
-%%BeginFont: CMMI9
-%!PS-AdobeFont-1.1: CMMI9 1.100
-%%CreationDate: 1996 Jul 23 07:53:55
-% Copyright (C) 1997 American Mathematical Society. All Rights Reserved.
-11 dict begin
-/FontInfo 7 dict dup begin
-/version (1.100) readonly def
-/Notice (Copyright (C) 1997 American Mathematical Society. All Rights Reserved) readonly def
-/FullName (CMMI9) readonly def
-/FamilyName (Computer Modern) readonly def
-/Weight (Medium) readonly def
-/ItalicAngle -14.04 def
-/isFixedPitch false def
-end readonly def
-/FontName /CMMI9 def
-/PaintType 0 def
-/FontType 1 def
-/FontMatrix [0.001 0 0 0.001 0 0] readonly def
-/Encoding 256 array
-0 1 255 {1 index exch /.notdef put} for
-dup 0 /.notdef put
-readonly def
-/FontBBox{-29 -250 1075 750}readonly def
-/UniqueID 5087384 def
-currentdict end
-currentfile eexec
-D9D66F633B846A97B686A97E45A3D0AA0529731C99A784CCBE85B4993B2EEBDE
-3B12D472B7CF54651EF21185116A69AB1096ED4BAD2F646635E019B6417CC77B
-532F85D811C70D1429A19A5307EF63EB5C5E02C89FC6C20F6D9D89E7D91FE470
-B72BEFDA23F5DF76BE05AF4CE93137A219ED8A04A9D7D6FDF37E6B7FCDE0D90B
-986423E5960A5D9FBB4C956556E8DF90CBFAEC476FA36FD9A5C8175C9AF513FE
-D919C2DDD26BDC0D99398B9F4D03D5993DFC0930297866E1CD0A319B6B1FD958
-9E394A533A081C36D6F5CA5FED4F9AC9ADE41E04F9FC52E758C9F45A92BED935
-86F9CFDB57732045913A6422AD4206418610C81D882EE493DE9523CC1BFE1505
-DD1390B19BC1947A01B93BC668BE9B2A0E69A968554239B88C00AF9FBDF09CCD
-67D3B2094C11A04762FE8CC1E91D020A28B3C122D24BEAACF82313F4604F2FEF
-6E176D730A879BE45DD0D4996EF0247AEB1CA0AB08FF374D99F06D47B36F9554
-FAD9A2D3CE451B7791C3709D8A1DDDEFBD840C1B42AB824D5A0DFF0E0F15B0B7
-22AEEB877FF489581DA6FA8DA64944555101EB16F7AB0B717E148B7B98D8DBFD
-730C52937E226545CF8DC3E07C5BA30739BAFCD0F2B44275A6D503F582C0FB4F
-449963D0AD2FAFDE33BA3D77BCA9D1DF878DDAFCA2E22CC4BACD542B282164C7
-97C2BDE318AF9D501CA21F6E662E7AAB75A5F24D2C182E598D175D44E88AB19A
-E7CD59584F95B389183EE21B525BF52A3F23C0FE5383A5565A19361D716F508C
-AAB78411CA5A4D27552CC1C435760D5A89D535B71C593E755C616661363308DA
-A683F54ED0C23FB2C225A008392B0B719F66F11A946A090B7C00B662A3C69599
-B4ECB0CC70C85C4BBBF207E0026F6C7A19F2ACFB7A60804FC98A4BFFD7BFFF2B
-9529E6D9D4238002BBC255BC62959D6F3381FE06E0621B879D5FE5B541D45A1E
-759A6E7DC32B1D1632368D09A97039DF255B6492B1B2B7E2C1434E8306ECA7D3
-5A79B6D614B4979F10988BC76ED53A5F45315CD7DA216221F842FD0F3E050DD2
-BAC23C984D506D8F7D614BCB6B244F5F41321549BB0BD041FBF3053307168680
-3435E9C9445A59A7C666418C4F2512C32058B1CE1EA47B47B1131E460878F813
-19BB4E4E5F6F34AE021597FDBA6C5AAA07C7F6A8C69B690A2DDF6EB467DD8DED
-1C7FDCFC833DC1AF35D7E6B2A2B96DAD8E5097B6D375AA3EDFEC35143A698687
-EF9CD3772A7921257E4D4EB2CB059A0416D6A70EADDFBB8B4711DBE47745349C
-1305E7724E698115C416F36DB9CA9E0E7A91384CFB0DC79E414B99A6CB4ABF94
-FCBD125832AC6B83EA14136803514FA7AE90227F7684C5717DB21CBAB1EF8303
-F3FBE6A303D6A845E62169358A26710AA5B7D9110C4F290E5758FE6D31B1C679
-A8BFC3841F42CEBE4067D6D294BA8064CC79305B16A6D9A1662E1D0530AA4C60
-F32E3F13AA5F7F02D9EC7B7A
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-cleartomark
-%%EndFont
-TeXDict begin 40258431 52099146 1000 8000 8000 (book.dvi)
-@start /Fa 192[697 63[{ TeXBase1Encoding ReEncodeFont }1
-1394.77 /Times-Bold rf /Fb 190[783 65[{ TeXBase1Encoding ReEncodeFont }
-1 1084.82 /Times-Roman rf /Fc 134[893 1[893 1[893 893
-893 893 5[893 893 1[893 3[893 1[893 1[893 51[893 45[{
- TeXBase1Encoding ReEncodeFont }13 1487.75 /Courier-Bold
-rf /Fd 193[861 1[861 60[{ TeXaae443f0Encoding ReEncodeFont }2
-1106.96 /CMMI10 rf /Fe 140[543 543 12[619 15[1007 18[852
-852 65[{ TeXBase1Encoding ReEncodeFont }6 1394.77 /Times-Italic
-rf /Ff 136[1039 3[720 479 2[800 800 4[319 800 800 2[800
-2[800 16[960 12[1039 67[{ TeXBase1Encoding ReEncodeFont }12
-1439.05 /Helvetica-Oblique rf /Fg 165[663 4[663 663 663
-663 1[663 663 663 663 663 2[663 663 2[663 663 663 663
-663 27[663 37[{ TeXBase1Encoding ReEncodeFont }18 1104.52
-/Courier-Oblique rf /Fh 129[663 3[663 663 663 663 663
-663 663 663 663 663 663 663 663 663 663 663 1[663 663
-663 663 663 663 663 663 663 663 663 1[663 1[663 663 663
-663 663 663 663 663 663 663 663 663 663 663 663 663 663
-663 663 663 663 663 663 663 663 663 663 663 663 663 663
-1[663 663 663 663 663 663 663 663 663 663 663 663 663
-663 663 663 663 1[663 663 663 1[663 663 663 1[663 33[{
- TeXBase1Encoding ReEncodeFont }84 1104.52 /Courier rf
-/Fi 133[663 1[663 663 1[663 663 663 663 1[663 663 663
-663 663 663 1[663 663 663 663 663 663 663 1[663 8[663
-3[663 663 663 3[663 663 3[663 2[663 663 663 2[663 663
-5[663 663 663 663 663 663 663 663 663 663 663 663 663
-663 2[663 42[{ TeXBase1Encoding ReEncodeFont }48 1104.52
-/Courier-Bold rf /Fj 218[530 37[{ TeXBase1Encoding ReEncodeFont }1
-883.575 /Courier rf /Fk 140[669 669 2[669 1[669 669 6[669
-101[{ TeXBase1Encoding ReEncodeFont }6 1115.82 /Courier
-rf /Fl 193[1214 1[1214 60[{ TeXaae443f0Encoding ReEncodeFont }2
-1594.02 /CMMI12 rf
-%DVIPSBitmapFont: Fm ectt0900 9 14
-/Fm 14 120 8000 600 dfs[<1538157CA215FC15F8140115F0140315E0140715C0A214
-0F1580141F15005C143E147E147C14FC5C13015C13035C13075C130F5CA2131F91C7FC5B
-133E137E137C13FC5B12015B12035B12075B120F5BA2121F90C8FC5A123E127E127C12FC
-5AA21270>30 58 124 179 520 47 D[<3801FFE0000713F84813FE486D7E81EBC07FEC
-0FE0380F8007D802007FC71203A2EB07FF137F0003B5FC120F5A383FFC03EA7FE0130012
-FE5AA46C1307007F130FEBC07F6CB612C06C15E07E000313F83A007FC03FC0>35
-32 125 159 520 97 D[<EA7FE0487EA3127F1203A9EC7F809038F1FFE001F713F890B5
-7E81ECC0FF9138007F8001FCEB1FC049130F16E0491307A216F01503A615076D14E0A215
-0F6DEB1FC06D133F6DEB7F809138C1FF00ECFFFE5D01F75B01F313E02601E07FC7FC>36
-46 128 173 520 I[<EB0FFF017F13C048B512E04814F05A380FF807EA1FE0393FC003E0
-903880008048C8FC127EA212FE5AA67E127EA2007F14F0393F8001F813C0381FE003390F
-F80FF06CB5FC6C14E06C14C06C6C1300EB0FF8>29 32 123 159
-520 I[<EC1FF84A7EA3141F1400A9EB0FF0EB7FFC48B5FC5A5A380FF81F381FE007383F
-C003EB8001EA7F00007E1300A212FE5AA67E007E1301A2007F13037EEB8007381FE00F38
-0FF03F6CB612E06C15F06C5B38007FF890391FE07FE0>36 46 126
-173 520 I[<EB0FF8EB3FFE90B51280000314C04814E0390FFC0FF0391FE003F8EBC001
-D83F8013FC48C7FC127E157E12FEB612FEA415FC00FCC8FC7E127E127F6C143C6D137E6C
-7E01F013FE390FFC07FC6CB5FC000114F86C14F0013F13C0903807FE00>31
-32 125 159 520 I[<130F497E497EA46D5A6DC7FC90C8FCA7383FFF80487FA37EEA000F
-B3A4007FB512F0B6FC15F815F07E>29 47 123 174 520 105 D[<397F07C01F3AFF9FF0
-7FC09039FFF9FFE091B57E7E3A0FFC7FF1F89038F03FC001E0138001C01300A3EB803EB0
-3A7FF0FFC3FF486C01E3138001F913E701F813E36C4801C31300>41
-32 129 159 520 109 D[<397FE07F8039FFF1FFE001F713F890B57E6C800003EBC0FF91
-38007F8001FCEB1FC049130F16E0491307A216F01503A615076D14E0A2150F6DEB1FC06D
-133F6DEB7F809138C1FF00ECFFFE5D01F75B01F313E0D9F07FC7FC91C8FCAC387FFF80B5
-7EA36C5B>36 49 128 159 520 112 D[<397FFC03FC39FFFE0FFF023F13804A13C0007F
-90B5FC39007FFE1F14F89138F00F809138E002004AC7FC5CA291C8FCA2137EAD007FB57E
-B67EA36C5C>34 32 126 159 520 114 D[<9038FFF3800007EBFFC0121F5A5AEB803F38
-FC000F5AA2EC07806C90C7FCEA7F8013FC383FFFF06C13FC000713FF00011480D8000F13
-C09038003FE014070078EB03F000FC1301A27E14036CEB07E0EBE01F90B512C015801500
-00FB13FC38707FF0>28 32 123 159 520 I[<133C137EA8007FB512F0B612F8A36C14F0
-D8007EC7FCAE1518157EA415FE6D13FC1483ECFFF86D13F06D13E0010313C001001300>
-31 41 126 168 520 I[<3A7FFC0FFF80486C4813C0A36C486C13803A07C000F800EBE0
-0100035CA2EBF00300015CA2EBF80700005CA390387C0F80A36D48C7FCA3EB3F3FEB1F3E
-A214FE6D5AA36D5AA26D5A>34 32 126 159 520 118 D[<3A7FFE07FFE000FF15F06D5A
-497E007F15E03A0F80001F00A36D5B0007143EA414F0EBC1F83903E3FC7CA4EBE79EA200
-011478A301F713F8A2EBFF0F6C5CA3EBFE0790387C03E0>36 32
-127 159 520 I E
-%EndDVIPSBitmapFont
-/Fn 138[691 691 691 691 1[691 691 691 1[691 3[691 2[691
-1[691 15[691 83[{ TeXBase1Encoding ReEncodeFont }12 1151.24
-/Courier rf /Fo 106[391 149[{ TeXBase1Encoding ReEncodeFont }1
-1115.82 /Times-Roman rf /Fp 136[1206 2[516 862 603 2[947
-947 1[431 2[431 947 2[862 947 862 1[862 94[947 2[{
- TeXBase1Encoding ReEncodeFont }14 1549.74 /Helvetica-BoldOblique
-rf /Fq 133[1116 1[1241 1736 1[1364 743 1241 868 1[1364
-1364 1364 1984 620 1241 1[620 1364 1364 1[1241 1364 1241
-1364 1241 46[1241 47[1364 2[{ TeXBase1Encoding ReEncodeFont }23
-2231.63 /Helvetica-BoldOblique rf /Fr 143[716 1[716 32[716
-22[716 1[716 1[716 716 716 4[716 43[{ TeXBase1Encoding ReEncodeFont }9
-1193.64 /Courier-Bold rf /Fs 133[716 716 716 2[716 716
-716 716 1[716 716 716 716 716 2[716 716 1[716 716 716
-716 716 716 16[716 2[716 716 716 4[716 2[716 8[716 3[716
-1[716 1[716 716 716 2[716 716 716 1[716 716 40[{
- TeXBase1Encoding ReEncodeFont }37 1193.64 /Courier rf
-/Ft 107[479 479 24[720 720 720 1039 720 800 400 720 479
-800 800 800 800 1199 319 720 319 319 800 800 400 800
-800 720 800 800 7[960 960 1358 960 1039 879 960 1039
-1[960 1120 1039 1199 800 960 1[400 1039 1120 879 960
-1039 1039 960 960 5[400 400 6[800 800 800 1[400 400 479
-400 2[479 479 319 5[400 29[720 720 2[{ TeXBase1Encoding ReEncodeFont }
-66 1439.05 /Helvetica rf /Fu 139[479 1[560 2[879 879
-4[400 1[879 1[800 3[800 9[1358 8[1039 19[479 58[{
- TeXBase1Encoding ReEncodeFont }11 1439.05 /Helvetica-Bold
-rf /Fv 134[930 1[930 2[930 930 930 1[930 930 930 930
-930 2[930 930 930 930 930 930 930 1[930 12[930 1[930
-3[930 8[930 2[930 930 1[930 63[{ TeXBase1Encoding ReEncodeFont }25
-1549.74 /Courier-Bold rf /Fw 137[744 1[744 744 3[744
-744 744 744 2[744 2[744 744 3[744 3[744 1[744 91[{
- TeXBase1Encoding ReEncodeFont }13 1239.79 /Courier-Oblique
-rf /Fx 134[498 498 719 498 498 277 388 332 498 498 498
-498 775 277 498 1[277 498 498 332 442 498 442 498 442
-9[940 2[609 4[719 719 5[719 2[609 3[719 1[442 1[562 2[277
-1[498 498 498 498 498 1[498 498 1[277 249 332 7[830 34[554
-2[{ TeXBase1Encoding ReEncodeFont }46 996.264 /Times-Roman
-rf /Fy 133[744 744 1[744 744 744 744 744 744 2[744 744
-744 744 744 1[744 744 744 744 744 744 744 744 744 1[744
-6[744 1[744 3[744 5[744 2[744 3[744 2[744 744 3[744 10[744
-2[744 744 9[744 36[{ TeXBase1Encoding ReEncodeFont }36
-1239.79 /Courier-BoldOblique rf /Fz 134[930 1[930 930
-1[930 930 930 1[930 930 930 930 1[930 1[930 1[930 1[930
-930 2[930 8[930 51[930 36[{ TeXBase1Encoding ReEncodeFont }18
-1549.74 /Courier-Oblique rf
-%DVIPSBitmapFont: FA ectt1440 14.4 31
-/FA 31 121 8000 600 dfs[<EA0F80EA3FE0EA7FF0A2EAFFF8A5EA7FF0A2EA3FE0EA0F
-80>13 13 104 140 813 46 D[<177817F8EE01FCA21603A2EE07F8A2EE0FF0A2EE1FE0
-A2EE3FC0A21780167FA2EEFF00A24B5AA24B5AA24B5AA25E150FA24B5AA24B5AA24B5AA2
-4BC7FCA25D1401A24A5AA24A5AA24A5AA24A5AA25D143FA24A5AA24AC8FCA2495AA25C13
-03A2495AA2495AA2495AA2495AA25C137FA249C9FCA2485AA2485AA2485AA25B120FA248
-5AA2485AA2485AA248CAFCA25AA2127CA2>46 93 121 210 813
-I[<143C147EA214FEA21301A21303A21307130F131F133F13FF120F127F13FEEAFFFC13
-F8EA7FE01380EA1800C7FCB3B3A9001FB612F84815FC5AA46C15F8>38
-74 116 201 813 49 D[<EA0F80EA3FE0EA7FF0A2EAFFF8A5EA7FF0A2EA3FE0EA0F80C7
-FCB3A7EA0F80EA3FE0EA7FF0A2EAFFF8A5EA7FF0A2EA3FE0EA0F80>13
-51 104 178 813 58 D[<021FB512F04A14F817FCA317F86E14F091390001FC00B3B3AD
-121C123E127F487E15035E150790C7FC6C6CEB1FF001E0133F3A3FFC01FFE090B65A6C5D
-6C92C7FC00035C6C14F8D8003F13E0010790C8FC>46 74 119 200
-813 74 D[<007FB5FCB67E81A35D6C91C9FCC648CAFCB3B3ABEF07C0EF0FE0AB007FB8FC
-B9FCA56C17C0>51 73 123 200 813 76 D[<003FB812F84817FCB9FCA548C738FE0001
-A9007CEE00F8C81500B3B3AD49B6FC4981A56D92C7FC>54 73 125
-200 813 84 D[<003FB712FC4816FEB9FCA46C16FE6C16FC>48 8
-122 124 813 95 D[<90380FFFC090B512F8000314FE486E7E4881824881D9F8007F49EB
-1FFC15076F7E6C4813016C486D7EC97E83163FA6ED7FFF021FB5FC49B6FC130F133F90B7
-FC0003ECFC3F48EBFC004813C04848C7FCEA3FF05BEA7F8090C8FC5A5AA56C157F7E6D14
-FF6D1303D83FF0010F13E001FE90B612F06CB812F87E6C15CF6C15076CECFC036C6C9039
-E0007FF0D90FFEC9FC>53 54 121 180 813 97 D[<EA7FFEB5FCA57EC67EAEED1FF0ED
-FFFC020313FF020F14C0023F804A8091B67E9238C07FFC9238000FFE02FC13074AEB01FF
-4A7F4A15804A147F4AEC3FC0A2EF1FE091C8FC170FA218F0A21707A9170FA218E080171F
-18C06E143FA26EEC7F8017FF6E4913006E5B6E495A6EEB1FFC9139FFC0FFF892B5FC6E14
-E06E5C020F5C6D6C49C7FCD91E0113F890C7EA3FE0>52 74 125
-200 813 I[<91380FFFC091B512FC010314FF491580011F15C05B4915E09039FFF8007F
-4801C0133F4890C7FC485A49EC1FC04848EC0F80484891C7FC5B485AA25B127F90CAFCA3
-5A5AA97E7EA27FA26C7E6DEC01F0001FED03F87F6C6C14076D15F06CB4140F6C6DEB1FE0
-02F0137F6C9039FE01FFC06C90B61280013F15006D5C6D5C010314F0010014C0DA1FFCC7
-FC>45 54 119 180 813 I[<92380FFFC04B7FA581ED000FAEEC7FC0903803FFF8010F13
-FE49EBFF8F017F14CF90B612EF4815FF48EBF01FEC80073907FE000148487F49147F485A
-49143F4848141FA249140F127F90C8FCA25AA25AA97EA27E161F7FA26C6C143FA26C6C14
-7F6D14FF000F5C7FD807FE13076D5B6CD9E07FEBFFE06C90B500EF13F06C15CF6D148F6D
-140F010F13FC0103D9F00713E001000180C8FC>52 74 123 200
-813 I[<EC1FF891B57E010314E0010F14F84980498049809026FFF80F138048D9C00113
-C04890C7EA7FE0D807FC141F4848EC0FF05B4848EC07F81603485A4915FC1601127F90C8
-FC17FE4815005AB8FCA617FC48CAFC7E7EA37F123F7F6C6C157C17FE6C7E7F6C6C14016C
-B4EC03FC6E13076C01F0EB1FF86C01FEEBFFF06DB612E06D15C0010F15806D1500010114
-FC6D6C13E0020790C7FC>47 54 121 180 813 I[<EEFF80030F13F0033F13F892B512FC
-4A14FE5C5C91380FFE03EC1FF89238E001FC91393FC000F84B1300147F92C8FCAA003FB7
-12F04816F8B8FCA46C16F0C76CC8FCB3B3001FB612FC4881A56C5D>47
-74 124 201 813 I[<DA1FF0EB3FE0913AFFFE01FFF80103D9FF8713FC4902DF13FE4991
-B5FC5B5B90267FF01FEBE0FC903BFFC007FE0078DA0001140048486D7EA248486E7E4914
-3F000782A249141FA66D143FA200035E6D147F6C6C4AC7FCA26C6C495AECC00790397FF0
-1FFC90B65A485D5E5ED803FB5C01F049C8FCEC1FF091CAFCA37F12017F3800FE4090B612
-F86DECFF8090B712F04816FC4816FF481780D80FFCC7000F13C0D81FF0020013E0D83FC0
-151F49ED0FF048C91207EF03F8007E160100FE17FC5A1700A56C1601007E17F8007F1603
-6D15076C6CED0FF0D81FF0ED3FE001FC15FF6CB46C010713C06C01F8017F13806C90B712
-00C616FC6D5D011F15E001071580010002FCC7FC020F13C0>55 81
-125 179 813 I[<EA7FFEB5FCA57EC67EAEED3FE0913801FFFC02077F021F6D7E5C4A80
-91B67EEDC07F9139FE001FF04A130F4A13074A805C4A1303A25CA391C7FCB3A9007FB548
-B512F8B6008314FC1587A315836C020114F8>54 73 125 200 813
-I[<143C147E14FF497FA46D90C8FC147E143C91C9FCAD001FB5FC48805AA37E7EC7123F
-B3B3003FB612FE4881B81280A36C16006C5D>41 74 118 201 813
-I[<EA3FFE487EB5FCA37E7EEA003FAF0307B512E04B14F04B14F8A36F14F06F14E09239
-001FE0004C5A4C5A4CC7FC4B5A4B5A4B5A4B5A4B5A4B5A4B5A4BC8FC4A5A4A5A140F4A7E
-4A7E5C9138FFBF809138FE1FC002FC7FECF80F4A6C7E4A6C7E02C07FEC800191C77E8282
-707E707E83160F707E707E831601003FB590381FFFF8486E4813FCB66C4813FEA36C4A6C
-13FC6C4A6C13F8>55 73 125 200 813 107 D[<003FB57E4880B6FCA37E7EC7121FB3B3
-B3A5003FB712E04816F0B812F8A36C16F06C16E0>45 73 120 200
-813 I[<DA1FC013FE3C7FE0FFF007FF80D8FFF16D487F01F7D9FC3F7F90B55B6FB57EA2
-6C01E0B5EA07F800039039807FFC039139003FF8014902F07F4914E0031F1300A2495CA3
-495CB3AA3D7FFF81FFFC0FFFE0B500C36D4813F002C75CA302C3806C0181496C13E0>60
-52 128 179 813 I[<ED3FE03A7FFE01FFFCB500077F021F6D7E5C4A8091B67E6CECC07F
-3B007FFE001FF04A130F4A13074A805C4A1303A25CA391C7FCB3A9007FB548B512F8B600
-8314FC1587A315836C020114F8>54 52 125 179 813 I[<EC1FE0ECFFFC0107EBFF8049
-80013F14F0498090B67E489038E01FFE4890388007FF9038FE000148486D13804848EC7F
-C049143F4848EC1FE049140F003F16F0491407A248C8EA03F8A400FEED01FCAA6C15036C
-16F8A26D1407A2003F16F06D140F6D141F001F16E06D143F6C6CEC7FC06C6CECFF806D5B
-2703FF800713006C9038F03FFE6C90B55A6D5C6D5C010F14C06D5C010149C7FC9038001F
-E0>46 54 121 180 813 I[<ED1FF0D87FFEEBFFFCB5000313FF020F14C0023F804A8091
-B67E6C9138C07FFCC66C9038000FFE02FC13074AEB01FF4A7F4A15804A147F4AEC3FC0A2
-EF1FE091C8FC170FA218F0A21707A9170FA218E080171F18C06E143FA26EEC7F8017FF6E
-4913006E5B6E495A6EEB1FFC9139FFC0FFF892B5FC6E14E06E5C020F5C6E49C7FC020113
-F89138003FE092C9FCB3007FB5FCB67EA56C91C9FC>52 79 125
-179 813 I[<DA3FF013F8903A01FFFE01FC0107EBFF814914C1013F14F14914F990B612
-FD489038F80FFF48EBC0014890C7FC49147FD80FF8143F4848141F49140F123F4914075B
-007F1503A290C8FC16015A5AA97EA26C1503A27F003F15077F160F6C6C141F7F6C6C143F
-6D147F6C6CEB01FF6C6C6C5A6C9038F01FFD91B512F96C15F1013F14E16D14C101071401
-010113FC9038007FE091C7FCB34BB512FC4B14FE4B14FFA36F14FE6F14FC>56
-79 123 179 813 I[<EE1FF8267FFFE090B5FCB5D8F0071480031F14C05D4B14E002F1B6
-FC6C01F3EBF03F260007F713809239FE001FC0DAFFF8EB0F804B90C7FC5D5D5D92C9FC5C
-A25CA25CA45CB3A3007FB612E0B77E82A35E6C5D>51 52 123 179
-813 I[<903901FFF00F011F01FE138090B6129F000315FF5A5A5A48EB001FD87FF01307
-01C01301497F48C8127F5A163FA37E7E6DEC1F0001E091C7FCEA3FFC381FFFE06C13FF6C
-14FC0001ECFF806C6C14E0010F14F8010014FE02077FDA001F1380030113C09238007FE0
-007C151F00FEED0FF0160717F86C1503A37F7F16076DEC0FF07F6D143F01FEECFFE09026
-FFC00713C091B6FC178000FC1600013F14FC010F14F0D8F80314C02778007FFCC7FC>45
-54 120 180 813 I[<147814FC1301AD003FB712F84816FCB8FCA46C16F8260001FCC8FC
-B3A6173E177FA86E14FFEE01FE6D6C130392388007FC91387FF01F92B512F86E14F017E0
-6E1480020714006E13FC9138007FC0>48 67 125 193 813 I[<D87FFE903803FFF0B549
-7FA56C80C66CEB0003B3AC1607A2160F161F6E133F167F6D6C13FFDAF807EBFFF86DB712
-FCA26D14FB6D14E36D14C30100020113F8DA3FF0C8FC>54 52 125
-178 813 I[<267FFFE090381FFFF8B56C4913FC6E5BA34A7F6C496D13F8D800FCC8EAFC
-00A26D1401017E5DA2017F14036D5DA26E1307011F5DA26E130F010F5DA26E131F01075D
-A26E133F010392C7FCA26E5B0101147EA26E13FE01005CA2ECFE01027E5BA2EC7F03023F
-5BA21587021F5BA215CF020F5BA215FF6E5BA36E90C8FCA2EC00FC>54
-52 125 178 813 I[<267FFFF090380FFFFEB56C4913FFA56C496D13FED807F0C8EA0FE0
-000317C0A56D151F00011780A56C6CED3F00157FEDFF805C16C0A2017E157E4A13E015F7
-A2140716F0013F01E7137C03E313FC140F16F8A215C1D91F1F5C029F13FC16FD158014BF
-010F5DA29138FF007FA34A133F01075DA24A131F6D486D5A>56 52
-126 178 813 I[<263FFFF090B512E0486D4814F014FCA314F86C496C14E026003F8090
-380FE0006D6C495A6D6C495A6E137F010792C7FC6D6C13FE6D6C485AEB00FE6E485A6E48
-5A91383F8FE091381FCFC0EC0FFF5E6E90C8FC6E5A14016E5A14014A7E814A7FEC0FDF91
-381F8FC0ED87E091383F07F091387E03F8ECFE0149486C7E4A7F0103147F49486D7E4948
-131F4A80011F6E7E49486D7E49C7FC267FFFF090383FFFF0B56C4913F818FCA318F86C49
-6D13F0>54 51 125 178 813 I E
-%EndDVIPSBitmapFont
-/FB 134[634 1[634 634 634 634 634 634 1[634 634 634 634
-634 2[634 634 634 634 634 634 634 634 634 1[634 6[634
-634 634 1[634 634 634 1[634 634 634 634 634 2[634 1[634
-1[634 634 634 1[634 8[634 3[634 1[634 634 634 634 634
-634 634 2[634 634 1[634 38[{ TeXBase1Encoding ReEncodeFont }51
-1057.26 /Courier rf /FC 136[634 634 2[634 634 1[634 634
-13[634 97[{ TeXBase1Encoding ReEncodeFont }7 1057.26
-/Courier-Bold rf /FD 218[507 37[{ TeXBase1Encoding ReEncodeFont }1
-845.717 /Courier rf /FE 133[775 862 862 1206 862 947
-516 862 603 947 947 947 947 1378 431 862 431 431 947
-947 516 862 947 862 947 862 7[1034 1034 1463 1034 1119
-947 1034 1119 1[1034 1206 1119 1291 947 1119 1[431 1119
-1206 947 1034 1119 1119 1119 1119 10[862 1[862 1[862
-3[431 516 431 2[516 516 37[947 2[{ TeXBase1Encoding ReEncodeFont }58
-1549.74 /Helvetica-Bold rf /FF 133[930 1034 1034 1447
-1034 1136 619 1034 723 1[1136 1136 1136 1653 517 1034
-1[517 1136 1136 619 1034 1136 1034 1136 1034 46[1034
-50[{ TeXBase1Encoding ReEncodeFont }25 1859.69 /Helvetica-BoldOblique
-rf /FG 134[1034 1034 1447 1034 1136 619 1034 723 1[1136
-1136 1136 1653 517 1034 1[517 1136 1136 619 1034 1136
-1034 1136 1034 7[1240 1[1756 1240 1343 1136 1240 1343
-1447 1240 1447 1343 1549 1136 1343 1[517 1343 1447 1136
-1240 1343 1343 1343 1343 6[619 7[1034 1034 1034 517 1[619
-3[619 619 37[1136 2[{ TeXBase1Encoding ReEncodeFont }55
-1859.69 /Helvetica-Bold rf /FH 129[744 1[744 1[744 744
-744 744 744 744 744 744 744 744 744 744 744 744 744 744
-744 744 744 744 744 744 744 744 744 744 1[744 1[744 744
-744 1[744 1[744 744 744 744 744 744 744 744 744 744 744
-744 744 1[744 744 744 744 744 744 744 744 744 744 744
-744 744 2[744 744 744 744 744 744 744 744 744 744 744
-744 744 744 744 744 744 744 744 744 744 744 744 744 744
-744 33[{ TeXBase1Encoding ReEncodeFont }85 1239.79 /Courier-Bold
-rf /FI 193[796 62[{ TeXaae443f0Encoding ReEncodeFont }1
-996.264 /CMMI9 rf /FJ 163[595 23[595 9[595 20[595 1[595
-35[{ TeXBase1Encoding ReEncodeFont }5 991.837 /Courier
-rf /FK 193[943 1[943 60[{ TeXaae443f0Encoding ReEncodeFont }2
-1212.12 /CMMI10 rf /FL 134[1241 1241 1736 1241 1364 743
-1241 868 1364 1364 1364 1364 1984 620 1241 1[620 1364
-1364 743 1241 1364 1241 1364 1241 6[1364 1[1488 2107
-1488 1611 1364 1488 1611 1736 1488 1736 1611 1859 1364
-1611 1241 620 1611 1736 1364 1488 1611 1611 1611 1611
-1[1364 4[743 1241 1241 1241 1241 1241 1241 1241 1241
-1241 1241 620 620 1[620 2[743 743 37[1364 2[{
- TeXBase1Encoding ReEncodeFont }67 2231.63 /Helvetica-Bold
-rf /FM 106[434 149[{ TeXBase1Encoding ReEncodeFont }1
-1239.79 /Times-Roman rf /FN 133[1339 2[2083 1489 1636
-892 1489 1042 2[1636 1636 2381 744 1489 1[744 1636 1636
-892 1489 1636 1489 1636 1489 17[2083 5[744 2[1636 1786
-1[1933 1933 1933 65[{ TeXBase1Encoding ReEncodeFont }28
-2677.96 /Helvetica-Bold rf /FO 134[2573 2573 3600 2573
-2827 1541 2573 1800 1[2827 2827 2827 4114 1286 2573 1[1286
-2827 2827 1541 2573 2827 2573 2827 2573 6[2827 1[3086
-1[3086 3341 2827 3086 2[3086 1[3341 3855 2827 2[1286
-3341 3600 2827 3086 3341 3341 3341 3341 62[2827 2[{
- TeXBase1Encoding ReEncodeFont }43 4627.42 /Helvetica-BoldOblique
-rf /FP 123[744 5[744 3[744 744 744 744 744 744 744 744
-744 744 744 744 744 744 744 744 744 744 744 744 744 744
-744 744 744 744 1[744 744 744 744 744 744 744 744 744
-744 744 744 744 744 744 744 744 744 744 744 744 744 744
-744 744 744 744 744 744 744 744 744 744 744 744 1[744
-744 744 744 744 744 744 744 744 744 744 744 744 744 744
-744 744 744 744 744 744 744 744 744 744 744 744 33[{
- TeXBase1Encoding ReEncodeFont }90 1239.79 /Courier rf
-%DVIPSBitmapFont: FQ ectt1095 10.95 69
-/FQ 69 127 8000 600 dfs[<90390780078090390FC00FC0A9011F131F02801380A400
-3FB612FC4815FEB8FCA36C15FE3A003F003F00A2495B017E137EA901FE13FE495BA2007F
-B612FEB8FCA36C15FE6C15FC3A01F801F800A30003130301F05BA96C486C5A>40
-56 125 183 627 35 D[<14F0497EA5EB07FE90383FFFE090B512F80003804880488026
-1FFDFB13803A3FE1F87FC001C1131FD87F81EB0FE001011307007E15F012FE12FC150FA3
-ED07E012FE007E91C7FC127FEA3F8113E1EA1FF9EA0FFF7E6CEBFF806C14E06C6C13F801
-0F7F01017F8102F81380ED7FC0151FED0FE0A200181407007E15F0150312FFA312FE1507
-A2007E15E0007F140FED1FC0D83FC1133F01E1EBFF80261FFDFB13006CB55A6C5C6C5CC6
-5C013F13C0D907FEC7FCEB01F8A66D5A>36 71 123 190 627 I[<EB01E0497EA7003014
-03007CEC0F8000FEEC1FC0D8FF83137F9038E3F1FF267FF3F31380001FB5EAFE006C5C00
-0314F0C614C0013F90C7FCEB0FFCEB3FFF90B512C0000314F0000F14FC48803A7FF3F3FF
-8026FFE3F113C0903883F07FD8FE03131F007CEC0F800030EC0300000091C7FCA76D5A>
-34 39 122 174 627 42 D[<007FB512F8B612FCA46C14F8>30 6
-120 150 627 45 D[<121FEA3F80EA7FC0EAFFE0A5EA7FC0EA3F80EA1F00>11
-11 110 138 627 I[<16E0ED01F01503A2150716E0150F16C0151F1680153F16005D157E
-15FE5DA214015D14035D14075D140F5D141F5D143F92C7FCA25C147E14FE5C13015C1303
-5C13075C130F5CA2131F5C133F91C8FC5B137E13FE5B12015B12035BA212075B120F5B12
-1F5B123F90C9FC5A127E12FE5AA25A1278>36 71 123 190 627
-I[<EB01FE903807FF80011F13E0497F497F90B57E48EB03FE3903FC00FF497F4848EB3F
-804848EB1FC049130F001F15E0491307A248C7EA03F0A3007EEC01F8A448EC00FCAD6C14
-01007E15F8A3007F14036C15F0A26D1307001F15E06D130FA26C6CEB1FC0A26C6CEB3F80
-6C6CEB7F006D5B3901FF03FE6CEBFFFC6D5B6D5B6D5B01071380D901FEC7FC>38
-58 124 184 627 I[<EB0380497EA2130FA2131F133FA2137FEA01FF5A127FB5FCA213CF
-138FEA7E0F1200B3B0003FB512F85A15FCA215F8A2>30 57 119
-184 627 I[<EB0FFC90383FFF8090B512E0000314F848804880391FF80FFF263FE00113
-80903880007F48C7EA3FC0007E141FED0FE000FE140716F07E1503A3127E1218C8FCA215
-0716E0150F16C0151FA2ED3F80ED7F005D4A5A4A5A4A5A4A5A4A5A4A5A4A5A4AC7FC495A
-EB07FC495A495A495AEB7F8049C8FC485A4848EB01E0D80FF8EB03F0485A485A48B6FCB7
-FCA46C15E0>36 57 123 184 627 I[<EB07FF013F13E048B512F84814FE488048158026
-1FFC0113C09038E0003FD83F80EB1FE06D130716F01503A26C5A6CC7FCC8FC150716E015
-0FA2ED1FC0157FEDFF80020F130090380FFFFE495B5DA215FE6D7FD9000113809138003F
-C0ED1FE0ED07F0150316F8150116FC1500A21218127EB4FCA2150116F8481403A2007FEC
-07F06DEB1FE0D83FE0133F3A1FFE01FFC06CB612806C15006C5CC614F8013F13E0010390
-C7FC>38 58 124 184 627 I[<EC07F84A7EA2141F143F157C147F147E14FEEB01FC14F8
-130314F01307EB0FE014C0131F1480133FEB7F00137E13FE5B485A12035B12075B485A12
-1F5B123F90C7FC127E12FEB712FE16FFA46C15FEC8EA7C00AA91387FFFFC91B512FEA46E
-13FC>40 57 125 184 627 I[<000FB6FC481580A416000180C8FCAEEB83FE90389FFFC0
-90B512F08181819038FE03FFD9F000138049133F0180EB1FC0150F6CC713E0C81207A216
-F01503A4123C127EB4FC150716E0150F5A007EEC1FC0007F143F6DEB7F803A3FC001FF00
-391FF80FFE90B55A6C5C00035C6C14C06C6C90C7FCEB0FF8>36 57
-123 183 627 I[<EC1FE0ECFFFC010313FF010F14805B4914C090387FF03F9039FF800F
-E03901FE001F485A485A5B4848EB0FC049EB0780001F91C7FC5B123F90C9FC5AA2007E13
-10903807FF80011F13E0D8FE7F13F848B57E00FD80B7FCEBFC019039F0007F8001C0EB3F
-C049131F90C7EA0FE0A248140716F01503A3127EA4127F6C140716E07F001F140F6DEB1F
-C06C6C133F6DEB7F806C6CEBFF003803FE0390B55A6C5C6C5C013F13E0010F1380D903FE
-C7FC>36 58 123 184 627 I[<1278B712F816FCA416F800FCC7EA07F0ED0FE0ED1FC000
-78EC3F80C8FCED7F0015FE4A5A5D14034A5A5D140F5D141F5D143F92C7FC5C147E14FE5C
-A213015CA2495AA313075CA3130F5CA5131F5CAA6DC8FC>38 58
-124 184 627 I[<EB03FF011F13E0017F13F848B512FE4880481580260FFE0113C03A1F
-F0003FE049131FD83F80EB07F0A248C7EA03F8007E1401A5007F14036C15F06D13076C6C
-EB0FE06C6CEB1FC001F8137F3A03FF03FF006CEBFFFE6C6C13F8011F13E0497F90B512FC
-000314FF2607FC001380D80FF0EB3FC0D81FC0EB0FE04848EB07F090C712034815F8007E
-140100FE15FC481400A66C1401007E15F8007F14036D13076C6CEB0FF06C6CEB1FE06D13
-3F3A0FFE01FFC06CB612806C15006C5C6C6C13F8011F13E0010390C7FC>38
-58 124 184 627 I[<EB03FC90381FFF80017F13E090B57E0003804880390FFE07FEEBF0
-0148486C7E48487F49EB3F8048C7121F007E15C0150F12FE4815E01507A416F0A37E127E
-007F140FA26C6C131F6D133F6C6C13FF380FF80390B6FC6C14FB6C14F36C14E36C6C1387
-90391FFE07E0EB00801400150F16C0151FA2ED3F80121E003FEC7F00486C5B5D4A5A1407
-49485A393FC07FF090B55A6C5C6C5C6C49C7FC6C13F838007FC0>36
-58 123 184 627 I[<121FEA3F80EA7FC0EAFFE0A5EA7FC0EA3F80EA1F00C7FCB1121FEA
-3F80EA7FC0EAFFE0A5EA7FC0EA3F80EA1F00>11 39 110 166 627
-I[<143F4A7EA24A7EA4903801F3E0A501037FA314E101077FA414C0010F7FA490381F80
-7EA4013F137F4A7EA4017E6D7EA2017FB5FCA290B67EA49038FC000F48486D7EA4000381
-491303A3D87FFF90383FFF80A2B56C4813C0A26C496C1380A2>42
-57 126 184 627 65 D[<007FB512E0B612FC15FF168016C06C15E03A03F0001FF0150F
-ED03F8A2150116FC1500A5150116F8150316F01507ED1FE0ED7FC090B61280160015FC15
-FF16C016E09039F0000FF0ED03F8ED01FC150016FE167EA2163FA6167F167E16FEA2ED01
-FC1507ED1FF8007FB6FCB712F016E0168016006C14F8>40 56 126
-183 627 I[<91387F8038903903FFE07C010FEBF8FC4913FC4913FF5BEBFFC048EB003F
-4848130FEA07F849130748481303A2484813015B123F90C8FCA25A127E1678160012FE5A
-AC7E127EA21678007F15FC7EA27F121F6D13016C6C14F86D130312076DEB07F0D803FE13
-0F6C6CEB1FE06C9038C07FC06DB512806D14006D5B6D5B010313F09038007F80>38
-58 124 184 627 I[<007FB57EB612F015FC81816C812607E0017F9138003FE0151F6F7E
-6F7E15036F7EA26F7EA2167E167F82A41780161FAB163F1700A35E167EA216FE4B5AA24B
-5A15074B5A151F4B5A4AB45A007FB65AB7C7FC5D5D15F06C1480>41
-56 126 183 627 I[<007FB612FCB77EA47ED803F0C7127EA7163C93C7FCA515F04A7EA4
-90B5FCA6EBF001A46E5A92C8FCA5160FEE1F80A9007FB7FCB8FCA46C1600>41
-56 125 183 627 I[<007FB612FEB8FCA47ED803F0C7123FA7161E1600A6157815FCA490
-B5FCA6EBF000A4157892C7FCAE387FFFE0B57EA46C5B>40 56 125
-183 627 I[<3B7FFF807FFF80A2B56CB512C0A26C496C1380A23B03F00003F000B290B6
-FCA69038F00003B3A23B7FFF807FFF80A2B56CB512C0A26C496C1380A2>42
-56 126 183 627 72 D[<007FB512FEB7FCA46C14FE390007E000B3B3A8007FB512FEB7
-FCA46C14FE>32 56 121 183 627 I[<D87FFCEB7FFC486C14FE15FFA2157F6C4814FCD8
-07C0EB1FC01680ED3F00157E15FE5D4A5A4A5A14075D4A5A4A5A143F92C7FC147E5C13C1
-5CEBC3FC13C7EBCFFE80EBDFBF9038FF1F80140F01FE7FEBFC0701F87F140301F07FEBE0
-0101C07F140081157C157E153E153FED1F80A2ED0FC0150716E01503D87FFCEB0FFE486C
-EB1FFFA46C48EB0FFE>40 56 125 183 627 75 D[<387FFFF080B5FCA27E5CD801F8C8
-FCB3B0161E163FA9007FB7FCA2B8FCA27E16FE>40 56 125 183
-627 I[<D87FF0ECFFE06D5B00FF16F06D5B007F16E0A2D807DE903807BE00A301DF130F
-01CF143EA2EC801FA201C7131EA2ECC03EA201C3133CECE07CA201C11378ECF0F8A301C0
-13F014F9A2EC79E0A3EC3FC0A3EC1F80A2EC0F0091C7FCADD87FFC903803FFE0A2486C49
-13F0A26C486D13E0A2>44 56 127 183 627 I[<D87FF890383FFF807F00FF4A13C07F00
-7F6E1380A2D803EF903801F000A2148013E7A214C013E3A214E0A213E114F0A213E014F8
-A21478147CA2143EA3141FA3EC0F81A2140715C1A2140315E1A2140115F1A21400A215F9
-1579A2157D153DA2D87FFF131FA2B51280150F6C13006F5A>42 56
-126 183 627 I[<90383FFFC00003B512FC488048804815804815C0EBF00001C0133F48
-48EB1FE090C7120F007E1407A400FE15F0481403B3A96C1407A2007E15E0A3007F140FA2
-6D131F6C6CEB3FC09038F801FF90B6FC6C15806C15006C5C6C5CD8003F13C0>36
-58 123 184 627 I[<007FB512E0B612F815FEEDFF8016C06C15E03A03F0007FF0151FED
-07F81503ED01FCA2150016FE167EA616FE16FC1501A2ED03F81507ED1FF0157F90B612E0
-16C01680EDFE0015F815E001F0C8FCB0387FFF80B57EA46C5B>39
-56 125 183 627 I[<90383FFFC00003B512FC488048804815804815C0EBF00001C0133F
-4848EB1FE090C7120FA2007E1407A300FE15F0481403B3A814FC130139FE00FE07007E15
-E0147FA2007FEB3F8FA29038801FDFD83FC0EBFFC0EBF00F90B6FC6C15806C15006C5C6C
-5CEA003FEB00016E7EA2157FA2ED3F80A2ED1FC0A2ED0FE0A2ED07C0>36
-70 123 184 627 I[<387FFFFEECFFC0B612F015FC6C80812603F0037F9138007FC0153F
-6F7E150F1507821503A515075E150F151F4B5A157F913803FF8090B6C7FC5D5D5D818190
-38F003FF9138007F80153F151F82150FA9EEC1E0EEC3F0A316E33A7FFF8007E7EEFFE0B5
-12C06F13C06C497E6F1380C9EA3E00>44 57 126 183 627 I[<90391FF8038090397FFF
-07C048B512C74814EF4814FF5A381FF80F383FC00349C6FC48C7127F007E143F12FE4814
-1FA2150FA46CEC0780007E91C7FC127F6C7E7FEA1FF86CB47E6C13F86CEBFF806C14E06C
-6C13F8010F7F01007FEC0FFF02001380ED3FC0151FED0FE01507A216F00078140312FCA5
-6C140716E06C140F7F6DEB1FC001F0137F9039FE01FF8090B612005D00FD5CD8F87F5B01
-1F13E0D8700390C7FC>36 58 123 184 627 I[<007FB71280B812C0A53AFC003F000FA7
-0078ED0780C791C7FCB3B290381FFFFE497FA46D5B>42 56 126
-183 627 I[<3B7FFF801FFFE0B56C4813F0A46C496C13E0D803F0C7EAFC00B3B16D1301
-A200015DA26D13036C6C495AA2017F495AEC801F90393FE07FC06DB55A6D91C7FC6D5B6D
-5B010013F0EC3FC0>44 57 127 183 627 I[<D87FFE90381FFF8000FF16C06D5BA2497F
-007F1680D807E0903801F800A36D130300035DA36D130700015DA36D130F00005DA36D13
-1F017E5CA46D49C7FCA490381F807EA46D6C5AA401075B14E1A301035B14F3A301015BA4
-6DB45AA56E5A6EC8FC>42 57 126 183 627 I[<D87FF8903801FFE0486C4913F0A46C48
-6D13E0001FC8EA0F806D141F000F1600A76C6C143EA7EC1F806C6C486C5AA4EC7FE01479
-A3000115789039F0F9F0F8A414F001F113F800005DA39038F9E079A201FB137DA390397B
-C03DE0A4017F133FEC801FA3013F5CEC000F011E6D5A>44 57 127
-183 627 I[<D83FFFEBFFFC02817F5AA27E02005BD801FCEB1F806C6C133F93C7FC017F
-5B157E90383F80FE5DEB1FC1010F5B14E301075B14F701035B14FF6D5BA26D5BA26EC8FC
-A44A7EA2497FA2497F14F7ECF3F0EB07E3ECE1F8EB0FC181EB1F808190383F007E157F01
-7E7F8201FE131F49800001140F498000036E7ED87FFE90381FFF806D5BB515C0A26C1680
-497F>42 56 126 183 627 I[<003FB612F84815FCA5007EC7EA03F8ED07F0150F16E0ED
-1FC0153F1680003CEC7F00C85A5D4A5A14035D4A5A140F5D4A5A143F5D4AC7FC5C5C495A
-13035C495A130F5C495A133F5C49C8FC5B5B48481478000315FC5B485A120F5B485A123F
-5B48C8FC90B6FCB7FCA46C15F8>38 56 124 183 627 90 D[<127812F87EA27E127E12
-7F7E7F121F7F120F7F12077F1203A27F12017F12007F137E137F7F80131F80130FA28013
-0780130380130180130080147E147F80A281141F81140F811407811403811401811400A2
-81157E157F811680151F16C0150F16E0150716F01503A21501ED00E0>36
-71 123 190 627 92 D[<007FB612E0A2B712F0A36C15E0A2>36
-7 123 125 627 95 D[<131C133E13FF5A5AEA07FCEA0FF813F0EA1FC0A2EA3F8013005A
-127EA212FE5AA4EAFFE013F013F813FC127FA2123FA2EA1FF8EA0FF0EA03E0>16
-31 113 190 627 I[<EB7FF03803FFFE486D7E4880488048809038C01FF8EC03FC14016E
-7E6C48137E6CC7127FC87EA4EC7FFF0107B5FC133F48B6FC120748EBF83F381FFE00EA3F
-F0EA7FC090C7FC12FE5AA45D7E007F5CD980037F263FE01F13FF90B712807E6C14DF6C14
-0F0001D9FC01130026007FE0C8FC>41 42 123 168 627 I[<EA7FF0487EA4127F1201AA
-EC0FF0EC3FFC91B5FC01FB14C090B67E82ECF03F9138C00FF891388003FCEC0001496D7E
-5B167F4980A21780161FA8163FA26D15005EA26D14FEA26D495AEC80076E485A9138F03F
-F091B55A5E01FB5C01F991C7FC3900F07FFC9038001FE0>41 57
-126 183 627 I[<903803FFC0010F13F8013F7F90B57E488048158048EB007FEA0FF85B
-485A49EB3F004848131E90C9FC5A127EA212FE5AA87E127EA2127FED07806C6CEB0FC07F
-6C6C131F6D1480D80FFC137F3A07FF81FF006C90B5FC6C5C6C5C013F13F0010F13C0D903
-FEC7FC>34 42 121 168 627 I[<913803FF804A7FA480EC000FAAEB03FCEB1FFF017F13
-CF90B512EF4814FF5A3807FE07380FF801391FF0007F01C0133F485A151F48C7FC150F12
-7E12FEA25AA87E007E141FA2127F6C6C133F157F6C7E6D13FF380FF8012607FE0713FF90
-B712806C14EF6C14CF6C6C138F90261FFE071300D907F8C8FC>41
-57 125 183 627 I[<EB03FE90380FFF80013F13E090B57E488048803907FE07FE390FF8
-00FF497FD81FC0EB3F80003F141F4914C090C7120F5A127E16E000FE14075AB7FCA516C0
-00FCC9FC7E127EA2127F6C6CEB03C0ED07E06C7E6D130FD80FF8EB1FC0D807FE133F9039
-FF80FF806C90B5FC6C15006C6C13FC6D5B010F13E0010190C7FC>35
-42 123 168 627 I[<4AB4FC020713C0021F13E0147F91B512F0A249130FEB03FC9138F8
-07E0903907F001804AC7FCA8007FB61280B712C0A46C1580260007E0C7FCB3A9003FB512
-FC4880A46C5C>36 57 125 184 627 I[<903903F801FE903A1FFF07FF80017F13DF90B7
-12C05A5AD9FE0FEB0F803B07F803FC070048486C6CC7FCEBE00049137E001F147F497FA6
-6D5B000F147E6D13FEEBF0016C6C485A3903FE0FF890B5FC485C5D485C019F90C8FCEB83
-F80180C9FCA37FEA07E490B512F06C14FF4815C0488148813A3FC0001FF890C7EA01FC00
-7E6E7E007C157E00FC153E48153F82A46C5D007C153E007F15FE6C6C495A01E01307D81F
-FEEB7FF86CB65A6C5D000115806C92C7FC011F13F8010313C0>42
-62 125 167 627 I[<EA7FF0487EA4127F1201AAEC0FF0EC3FFCECFFFE01FB7F90B67EA2
-9138F03FC0ECC01F4A6C7E14004913075BA35BB3A23B7FFFE07FFF80B56CB512C0A46C49
-6C1380>42 56 126 183 627 I[<EB0380EB0FE0A2497EA36D5AA2EB038090C9FCA9383F
-FFE0487FA47EEA0003B3A9007FB6FCB7FC1680A216007E>33 57
-121 184 627 I[<EC0380EC0FE0A2EC1FF0A3EC0FE0A2EC038091C7FCA990B512E015F0
-5AA27EA2EB0003B3B3A5140715E0007E130F15C0B4131FEC3F8014FF90B512006C5B5C6C
-5B000F13E000011380>28 78 124 184 627 I[<EA7FF0487EA4127F1200AB0207B5FC5C
-1780A21700809138003F804BC7FC15FE4A5A4A5A4A5A4A5A4A5A4A5A4AC8FC5C01F97F13
-FB90B57EECE7E0ECC7F01483EC01F8496C7E497F49137E816F7EA26F7E6F7E823B7FFFF0
-3FFFC0B56C5A17E0A217C06C497E>43 56 126 183 627 I[<387FFFF080B5FCA27EA2EA
-0001B3B3A8007FB612E0A2B712F0A26C15E0A2>36 56 123 183
-627 I[<903901F801F83A7F8FFC0FFC3AFFDFFE1FFE90B5487E92B51280A23A7FFE1FFE
-1F3B07FC0FFC0FC001F813F89039F007F00701E013E0A301C013C0B3A33B7FFC3FFC3FFC
-D8FFFE01FE13FE027F137FA2023F133FD87FFC01FC13FC>47 40
-128 167 627 I[<EC0FF0397FF03FFC486CB47E01FB7F90B67EA26C9038F03FC00001EB
-C01F4A6C7E14004913075BA35BB3A23B7FFFE07FFF80B56CB512C0A46C496C1380>42
-40 126 167 627 I[<EB03FC90381FFF80497F90B512F0488048803907FE07FE390FF801
-FF9038E0007F4848EB3F8049131F003F15C090C7120F4815E0007E1407A248EC03F0A96C
-1407007E15E0A2007F140FA26C6CEB1FC0A26C6CEB3F806D137F3A0FF801FF003907FE07
-FE6CB55A6C5C6C5C6D5B011F1380D903FCC7FC>36 42 123 168
-627 I[<EC0FF0397FF03FFC486CB5FC01FB14C090B67E826CEBF03F00019038C00FF891
-388003FCEC0001496D7E5B167F4980A21780161FA8163FA26D15005EA26D14FEA26D495A
-EC80076E485A9138F03FF091B55A5E01FB5C01F991C7FC9038F87FFCEC1FE091C9FCAD38
-7FFFE0B57EA46C5B>41 60 126 167 627 I[<ED0FF0D87FFFEB7FFE0281B5FCB5128702
-8F14806C139F9138BFF87F39001FFFC09238003F004A131E4A90C7FC5C5CA25C5CA45CAF
-007FB512F881B6FCA27E5D>41 40 126 167 627 114 D[<90381FFC0E48B5129F000714
-FF5A5A5A387FF007EB800000FEC77EA24880A37E007F141E01C090C7FCEA3FFC381FFFF0
-6CEBFF80000314E0C614F8011F13FE9038007FFF02011380EC007F0078EC1FC000FC140F
-ED07E0A27EA27E6D130F6DEB1FC06D133F9039FC01FF8090B6FC16005D00F814F8013F13
-E0D8700790C7FC>35 42 122 168 627 I[<130F497EAA007FB612C0B712E0A46C15C026
-001F80C7FCB216F0ED01F8A5ECC003ED07F090380FE00F9138F81FE06DB512C0A26D1480
-6DEBFE009038007FF8EC1FE0>37 51 126 177 627 I[<3A7FF001FFC0486C487FA4007F
-7F0001EB0007B3A4150FA2151F153F6D137F6CB448B5128091B612C07FA26D13E7010F01
-831380D903FEC8FC>42 40 126 166 627 I[<D87FFF90383FFF80B56C4813C0A46C496C
-1380D801F0903803E000A26D130700005DA26D130F017C5CA36D49C7FCA36D133EA36D6C
-5AA36D6C5AA3903803E1F0A3903801F3E0A36DB45AA36E5AA26EC8FC>42
-39 126 166 627 I[<3B7FFF801FFFE06E5AB515F0A26C16E04A7ED807C0C7EA3E00A36D
-147E0003157CA56C6C5CEC0F80EC1FC0EC3FE0A36C6C486C5AEC7DF1A214FD15F914F9D9
-78F85B1379137DA2ECF079157B013FEB7FC014E0153FA2ECC01F6D486C5A>44
-39 127 166 627 I[<3A3FFF80FFFE4801C17FA46C01805B27007E001FC7FC6D5B157E6D
-6C5AEB0FC0903807C1F8ECE3F0903803F3E0EB01FF6D5B5D6EC8FC80A25C4A7E81903801
-F3E0903803E3F0EB07E1ECC0F849487E011F137E90383F003E013E7F017E80496D7E3B7F
-FF807FFF806EB5FCB515C0A26C16804A7E>42 39 126 166 627
-I[<3B7FFF803FFF80B54913C014C0A214806C6E13803B01F00003E0007F12004B5A7F13
-7C017E495A133EA2013F49C7FC7FA290380F803EA214C001075BA214E001035BA2EB01F0
-5D14F1EB00F95DA2147BEC7FC0143FA25D141FA292C8FCA3143EA35CA214FC000F5BEA1F
-81EA3FC1EBC3F0EB07E0131FEBFFC06C5BA26C48C9FC6C5AEA03F0>42
-60 126 166 627 I[<003FB612F84815FCA416F8007EC7EA0FF0ED1FE0ED3FC0ED7F80ED
-FF00003C495AC7485A4A5A4A5A4A5A4A5A4A5A4AC7FC495A495A495A495A495A495A495A
-49C7123C4848147E485A485A485A485A485A48B612FEB7FCA46C15FC>39
-39 125 166 627 I[<D801FC1307D807FFEB0F80489038C01FC048EBF03F48EBFEFF4890
-B51280D8FFDF140001035B48C65B007CEB3FF80038EB0FE0>34 11
-122 183 627 126 D E
-%EndDVIPSBitmapFont
-/FR 133[603 688 688 1034 688 775 431 603 603 1[775 775
-775 1119 431 688 1[431 775 775 431 688 775 688 775 775
-6[862 862 947 1[947 1119 862 775 947 1119 947 1119 1034
-1291 862 2[516 1119 1119 947 947 1119 1034 947 947 7[775
-775 775 775 775 775 775 775 775 775 1[387 516 387 41[775
-2[{ TeXBase1Encoding ReEncodeFont }61 1549.74 /Times-Italic
-rf /FS 135[1787 2[1963 1070 1787 1250 1[1963 1963 1963
-2857 893 2[893 1963 1963 1070 1787 1963 1[1963 1787 12[1963
-7[1963 5[1963 2143 1[2320 1[2320 7[1787 1787 1787 1787
-1787 1787 1787 1787 1787 1787 1[893 46[{ TeXBase1Encoding ReEncodeFont }
-35 3213.5 /Helvetica-Bold rf /FT 81[707 20[911 4[413
-413 25[465 465 671 465 465 258 362 310 1[465 465 465
-723 258 465 258 258 465 465 310 413 465 413 465 413 8[671
-878 671 671 568 517 620 671 517 671 671 827 568 1[362
-310 671 1[517 568 671 620 620 671 7[465 465 465 465 1[465
-465 465 465 465 258 232 310 232 41[517 2[{
- TeXBase1Encoding ReEncodeFont }64 929.846 /Times-Roman
-rf /FU 81[1178 25[688 688 24[688 775 775 1119 775 775
-431 603 516 775 775 775 775 1206 431 775 431 431 775
-775 516 688 775 688 775 688 516 775 727 516 1[516 947
-1119 1119 1463 1119 1119 947 862 1034 1119 862 1119 1119
-1378 947 1119 603 516 1119 1119 862 947 1119 1034 1034
-1119 1427 688 3[431 431 775 775 775 775 775 775 775 775
-775 775 431 387 516 387 874 775 516 516 516 1[1291 1[775
-632 516 29[862 862 2[{ TeXBase1Encoding ReEncodeFont }89
-1549.74 /Times-Roman rf /FV 134[688 775 1[688 862 431
-603 603 1[775 775 862 1206 431 775 1[431 862 775 516
-688 775 688 1[775 13[862 2[947 3[947 3[1206 1[1034 1034
-3[1034 6[516 13[387 41[862 2[{ TeXBase1Encoding ReEncodeFont }31
-1549.74 /Times-BoldItalic rf /FW 86[1060 46[619 697 697
-1007 697 697 388 543 464 697 697 697 697 1085 388 697
-388 388 697 697 464 619 697 619 697 619 6[852 1007 1007
-1317 1007 1007 852 775 930 1007 775 1007 1007 1240 852
-1007 543 464 1007 1007 775 852 1007 930 930 1007 1[619
-4[388 697 697 697 697 697 697 697 697 697 697 388 349
-464 349 2[464 464 464 35[775 775 2[{ TeXBase1Encoding ReEncodeFont }74
-1394.77 /Times-Roman rf /FX 130[611 1[611 688 775 775
-1119 775 862 516 603 688 862 862 775 862 1291 431 862
-516 431 862 775 516 688 862 688 862 775 1[775 900 3[1034
-1[1119 1[1119 1119 1034 862 1119 1206 947 1206 1119 1463
-1034 1206 775 603 1206 1206 947 1034 1119 1119 1034 1119
-1[775 4[516 775 775 775 775 775 775 775 775 775 775 431
-387 516 387 4[516 1[1550 775 2[516 30[862 2[{
- TeXBase1Encoding ReEncodeFont }75 1549.74 /Times-Bold
-rf /FY 139[620 4[1241 1241 4[495 3[1241 1241 1116 15[1488
-13[1488 69[{ TeXBase1Encoding ReEncodeFont }9 2231.63
-/Helvetica-Oblique rf /FZ 135[1928 2784 1[2144 1072 1928
-1284 3[2144 1[856 1928 1[856 3[2144 1[1928 1[2144 13[2572
-6[2144 6[2572 69[{ TeXBase1Encoding ReEncodeFont }16
-3856.21 /Helvetica rf end
-%%EndProlog
-%%BeginSetup
-%%Feature: *Resolution 8000dpi
-TeXDict begin
- end
-%%EndSetup
-%%Page: 1 1
-TeXDict begin 1 0 bop -8000 -8000 a
-SDict begin /product where{pop product(Distiller)search{pop pop pop
-version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
-closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
-grestore}if}{pop}ifelse}{pop}ifelse}if end
- -8000 -8000 a -8000
--8000 a
-SDict begin [ /Title () /Subject () /Creator (LaTeX with hyperref package)
-/Author () /Producer (dvips + Distiller) /Keywords () /DOCINFO pdfmark
-end
- -8000 -8000 a Black 0 TeXcolorgray -30 -1358
-a
-SDict begin H.S end
- -30 -1358 a 0 TeXcolorgray 0 TeXcolorgray -30 -1358
-a
-SDict begin H.R end
- -30 -1358 a -30 -1358 a
-SDict begin [ /View [/XYZ H.V] /Dest (page.1) cvn H.B /DEST pdfmark
-end
- -30 -1358 a Black Black -30
-2383 a
-SDict begin [ /Page 1 /View [ /Fit ] /PageMode /UseOutlines /DOCVIEW
-pdfmark end
- -30 2383 a -30 2383 a
-SDict begin [ {Catalog} << /ViewerPreferences << >> >> /PUT pdfmark
-end
- -30 2383 a -30 2383 a
-SDict begin H.S end
- -30
-2383 a -30 2383 a
-SDict begin 12 H.A end
- -30 2383 a -30 2383 a
-SDict begin [ /View [/XYZ H.V] /Dest (Doc-Start) cvn H.B /DEST pdfmark
-end
- -30 2383 a -30
-2383 a
-SDict begin H.S end
- -30 2383 a -30 2383 a
-SDict begin 12 H.A end
- -30 2383 a -30 2383 a
-SDict begin [ /View [/XYZ H.V] /Dest (0) cvn H.B /DEST pdfmark end
- -30
-2383 a 2601 5220 a FZ(Slac)-77 b(kw)-58 b(are)1073 b(Lin)-39
-b(ux)1072 b(Essentials)p -30 9464 52581 222 v Black Black
-eop end
-%%Page: 2 2
-TeXDict begin 2 1 bop -8000 -8000 a
-SDict begin /product where{pop product(Distiller)search{pop pop pop
-version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
-closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
-grestore}if}{pop}ifelse}{pop}ifelse}if end
- -8000 -8000 a Black
-0 TeXcolorgray -30 -1358 a
-SDict begin H.S end
- -30 -1358 a 0 TeXcolorgray
-0 TeXcolorgray -30 -1358 a
-SDict begin H.R end
- -30 -1358 a -30 -1358 a
-SDict begin [ /View [/XYZ H.V] /Dest (page.2) cvn H.B /DEST pdfmark
-end
- -30
--1358 a Black Black Black Black eop end
-%%Page: 3 3
-TeXDict begin 3 2 bop -8000 -8000 a
-SDict begin /product where{pop product(Distiller)search{pop pop pop
-version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
-closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
-grestore}if}{pop}ifelse}{pop}ifelse}if end
- -8000 -8000 a Black
-0 TeXcolorgray -30 -1358 a
-SDict begin H.S end
- -30 -1358 a 0 TeXcolorgray
-0 TeXcolorgray -30 -1358 a
-SDict begin H.R end
- -30 -1358 a -30 -1358 a
-SDict begin [ /View [/XYZ H.V] /Dest (page.3) cvn H.B /DEST pdfmark
-end
- -30
--1358 a Black Black 2601 5220 a FZ(Slac)-77 b(kw)-58
-b(are)1073 b(Lin)-39 b(ux)1072 b(Essentials)p -30 15489
-52581 222 v 18350 19139 a FY(Second)619 b(Edition)-30
-55785 y
-SDict begin H.S end
- -30 55785 a -30 55785 a
-SDict begin 18.2 H.A end
- -30 55785 a -30 55785
-a
-SDict begin [ /View [/XYZ H.V] /Dest (5) cvn H.B /DEST pdfmark end
- -30 55785 a 14290 63035 a
- currentpoint currentpoint translate 0.75 0.75 scale neg exch neg exch
-translate
- 14290 63035 a @beginspecial
-200 @llx 400 @lly 478 @urx 487 @ury 2780 @rwi @setspecial
-%%BeginDocument: slackware_logo.eps
-%!PS-Adobe-3.0 EPSF-3.0
-%%Creator: Adobe Illustrator(r) 6.0
-%%For: (Kristina Fuxell) (Walnut Creek CDROM)
-%%Title: (slack7_logo.eps)
-%%CreationDate: (10/12/99) (11:41 AM)
-%%BoundingBox: 200 400 478 487
-%%HiResBoundingBox: 200.4342 400.0493 477.3733 486.4154
-%%DocumentProcessColors: Black
-%%DocumentSuppliedResources: procset Adobe_level2_AI5 1.0 0
-%%+ procset Adobe_Illustrator_AI6_vars Adobe_Illustrator_AI6
-%%+ procset Adobe_Illustrator_AI5 1.0 0
-%AI5_FileFormat 2.0
-%AI3_ColorUsage: Black&White
-%%AI6_ColorSeparationSet: 1 1 (AI6 Default Color Separation Set)
-%%+ Options: 1 16 0 1 0 1 1 1 0 1 1 1 1 18 0 0 0 0 0 0 0 0 -1 -1
-%%+ PPD: 1 21 0 0 60 45 2 2 1 0 0 1 0 0 0 0 0 0 0 0 0 0 ()
-%AI3_TemplateBox: 306 396 306 396
-%AI3_TileBox: 30 33 582 761
-%AI3_DocumentPreview: Macintosh_ColorPic
-%AI5_ArtSize: 612 792
-%AI5_RulerUnits: 2
-%AI5_ArtFlags: 1 0 0 1 0 0 1 1 0
-%AI5_TargetResolution: 800
-%AI5_NumLayers: 1
-%AI5_OpenToView: 130 564 3 1146 827 18 0 1 3 40
-%AI5_OpenViewLayers: 7
-%%EndComments
-%%BeginProlog
-%%BeginResource: procset Adobe_level2_AI5 1.2 0
-%%Title: (Adobe Illustrator (R) Version 5.0 Level 2 Emulation)
-%%Version: 1.2
-%%CreationDate: (04/10/93) ()
-%%Copyright: ((C) 1987-1993 Adobe Systems Incorporated All Rights Reserved)
-userdict /Adobe_level2_AI5 23 dict dup begin
- put
- /packedarray where not
- {
- userdict begin
- /packedarray
- {
- array astore readonly
- } bind def
- /setpacking /pop load def
- /currentpacking false def
- end
- 0
- } if
- pop
- userdict /defaultpacking currentpacking put true setpacking
- /initialize
- {
- Adobe_level2_AI5 begin
- } bind def
- /terminate
- {
- currentdict Adobe_level2_AI5 eq
- {
- end
- } if
- } bind def
- mark
- /setcustomcolor where not
- {
- /findcmykcustomcolor
- {
- 5 packedarray
- } bind def
- /setcustomcolor
- {
- exch aload pop pop
- 4
- {
- 4 index mul 4 1 roll
- } repeat
- 5 -1 roll pop
- setcmykcolor
- }
- def
- } if
-
- /gt38? mark {version cvr cvx exec} stopped {cleartomark true} {38 gt exch pop} ifelse def
- userdict /deviceDPI 72 0 matrix defaultmatrix dtransform dup mul exch dup mul add sqrt put
- userdict /level2?
- systemdict /languagelevel known dup
- {
- pop systemdict /languagelevel get 2 ge
- } if
- put
-/level2ScreenFreq
-{
- begin
- 60
- HalftoneType 1 eq
- {
- pop Frequency
- } if
- HalftoneType 2 eq
- {
- pop GrayFrequency
- } if
- HalftoneType 5 eq
- {
- pop Default level2ScreenFreq
- } if
- end
-} bind def
-userdict /currentScreenFreq
- level2? {currenthalftone level2ScreenFreq} {currentscreen pop pop} ifelse put
-level2? not
- {
- /setcmykcolor where not
- {
- /setcmykcolor
- {
- exch .11 mul add exch .59 mul add exch .3 mul add
- 1 exch sub setgray
- } def
- } if
- /currentcmykcolor where not
- {
- /currentcmykcolor
- {
- 0 0 0 1 currentgray sub
- } def
- } if
- /setoverprint where not
- {
- /setoverprint /pop load def
- } if
- /selectfont where not
- {
- /selectfont
- {
- exch findfont exch
- dup type /arraytype eq
- {
- makefont
- }
- {
- scalefont
- } ifelse
- setfont
- } bind def
- } if
- /cshow where not
- {
- /cshow
- {
- [
- 0 0 5 -1 roll aload pop
- ] cvx bind forall
- } bind def
- } if
- } if
- cleartomark
- /anyColor?
- {
- add add add 0 ne
- } bind def
- /testColor
- {
- gsave
- setcmykcolor currentcmykcolor
- grestore
- } bind def
- /testCMYKColorThrough
- {
- testColor anyColor?
- } bind def
- userdict /composite?
- level2?
- {
- gsave 1 1 1 1 setcmykcolor currentcmykcolor grestore
- add add add 4 eq
- }
- {
- 1 0 0 0 testCMYKColorThrough
- 0 1 0 0 testCMYKColorThrough
- 0 0 1 0 testCMYKColorThrough
- 0 0 0 1 testCMYKColorThrough
- and and and
- } ifelse
- put
- composite? not
- {
- userdict begin
- gsave
- /cyan? 1 0 0 0 testCMYKColorThrough def
- /magenta? 0 1 0 0 testCMYKColorThrough def
- /yellow? 0 0 1 0 testCMYKColorThrough def
- /black? 0 0 0 1 testCMYKColorThrough def
- grestore
- /isCMYKSep? cyan? magenta? yellow? black? or or or def
- /customColor? isCMYKSep? not def
- end
- } if
- end defaultpacking setpacking
-%%EndResource
-%%BeginProcSet: Adobe_ColorImage_AI6 1.0 0
-userdict /Adobe_ColorImage_AI6 known not
-{
- userdict /Adobe_ColorImage_AI6 17 dict put
-} if
-userdict /Adobe_ColorImage_AI6 get begin
-
- /initialize
- {
- Adobe_ColorImage_AI6 begin
- Adobe_ColorImage_AI6
- {
- dup type /arraytype eq
- {
- dup xcheck
- {
- bind
- } if
- } if
- pop pop
- } forall
- } def
- /terminate { end } def
-
- currentdict /Adobe_ColorImage_AI6_Vars known not
- {
- /Adobe_ColorImage_AI6_Vars 14 dict def
- } if
-
- Adobe_ColorImage_AI6_Vars begin
- /channelcount 0 def
- /sourcecount 0 def
- /sourcearray 4 array def
- /plateindex -1 def
- /XIMask 0 def
- /XIBinary 0 def
- /XIChannelCount 0 def
- /XIBitsPerPixel 0 def
- /XIImageHeight 0 def
- /XIImageWidth 0 def
- /XIImageMatrix null def
- /XIBuffer null def
- /XIDataProc null def
- end
-
- /WalkRGBString null def
- /WalkCMYKString null def
-
- /StuffRGBIntoGrayString null def
- /RGBToGrayImageProc null def
- /StuffCMYKIntoGrayString null def
- /CMYKToGrayImageProc null def
- /ColorImageCompositeEmulator null def
-
- /SeparateCMYKImageProc null def
-
- /FourEqual null def
- /TestPlateIndex null def
-
- currentdict /_colorimage known not
- {
- /colorimage where
- {
- /colorimage get /_colorimage exch def
- }
- {
- /_colorimage null def
- } ifelse
- } if
-
- /_currenttransfer systemdict /currenttransfer get def
-
- /colorimage null def
- /XI null def
-
-
- /WalkRGBString
- {
- 0 3 index
-
- dup length 1 sub 0 3 3 -1 roll
- {
- 3 getinterval { } forall
-
- 5 index exec
-
- 3 index
- } for
-
- 5 { pop } repeat
-
- } def
-
-
- /WalkCMYKString
- {
- 0 3 index
-
- dup length 1 sub 0 4 3 -1 roll
- {
- 4 getinterval { } forall
-
- 6 index exec
-
- 3 index
-
- } for
-
- 5 { pop } repeat
-
- } def
-
-
- /StuffRGBIntoGrayString
- {
- .11 mul exch
-
- .59 mul add exch
-
- .3 mul add
-
- cvi 3 copy put
-
- pop 1 add
- } def
-
-
- /RGBToGrayImageProc
- {
- Adobe_ColorImage_AI6_Vars begin
- sourcearray 0 get exec
- dup length 3 idiv string
- dup 3 1 roll
-
- /StuffRGBIntoGrayString load exch
- WalkRGBString
- end
- } def
-
-
- /StuffCMYKIntoGrayString
- {
- exch .11 mul add
-
- exch .59 mul add
-
- exch .3 mul add
-
- dup 255 gt { pop 255 } if
-
- 255 exch sub cvi 3 copy put
-
- pop 1 add
- } def
-
-
- /CMYKToGrayImageProc
- {
- Adobe_ColorImage_AI6_Vars begin
- sourcearray 0 get exec
- dup length 4 idiv string
- dup 3 1 roll
-
- /StuffCMYKIntoGrayString load exch
- WalkCMYKString
- end
- } def
-
-
- /ColorImageCompositeEmulator
- {
- pop true eq
- {
- Adobe_ColorImage_AI6_Vars /sourcecount get 5 add { pop } repeat
- }
- {
- Adobe_ColorImage_AI6_Vars /channelcount get 1 ne
- {
- Adobe_ColorImage_AI6_Vars begin
- sourcearray 0 3 -1 roll put
-
- channelcount 3 eq
- {
- /RGBToGrayImageProc
- }
- {
- /CMYKToGrayImageProc
- } ifelse
- load
- end
- } if
- image
- } ifelse
- } def
-
-
- /SeparateCMYKImageProc
- {
- Adobe_ColorImage_AI6_Vars begin
-
- sourcecount 0 ne
- {
- sourcearray plateindex get exec
- }
- {
- sourcearray 0 get exec
-
- dup length 4 idiv string
-
- 0 2 index
-
- plateindex 4 2 index length 1 sub
- {
- get 255 exch sub
-
- 3 copy put pop 1 add
-
- 2 index
- } for
-
- pop pop exch pop
- } ifelse
- end
- } def
-
-
- /FourEqual
- {
- 4 index ne
- {
- pop pop pop false
- }
- {
- 4 index ne
- {
- pop pop false
- }
- {
- 4 index ne
- {
- pop false
- }
- {
- 4 index eq
- } ifelse
- } ifelse
- } ifelse
- } def
-
-
- /TestPlateIndex
- {
- Adobe_ColorImage_AI6_Vars begin
- /plateindex -1 def
-
- /setcmykcolor where
- {
- pop
- gsave
- 1 0 0 0 setcmykcolor systemdict /currentgray get exec 1 exch sub
- 0 1 0 0 setcmykcolor systemdict /currentgray get exec 1 exch sub
- 0 0 1 0 setcmykcolor systemdict /currentgray get exec 1 exch sub
- 0 0 0 1 setcmykcolor systemdict /currentgray get exec 1 exch sub
- grestore
-
- 1 0 0 0 FourEqual
- {
- /plateindex 0 def
- }
- {
- 0 1 0 0 FourEqual
- {
- /plateindex 1 def
- }
- {
- 0 0 1 0 FourEqual
- {
- /plateindex 2 def
- }
- {
- 0 0 0 1 FourEqual
- {
- /plateindex 3 def
- }
- {
- 0 0 0 0 FourEqual
- {
- /plateindex 5 def
- } if
- } ifelse
- } ifelse
- } ifelse
- } ifelse
- pop pop pop pop
- } if
- plateindex
- end
- } def
-
-
- /colorimage
- {
- Adobe_ColorImage_AI6_Vars begin
- /channelcount 1 index def
- /sourcecount 2 index 1 eq { channelcount 1 sub } { 0 } ifelse def
-
- 4 sourcecount add index dup
- 8 eq exch 1 eq or not
- end
-
- {
- /_colorimage load null ne
- {
- _colorimage
- }
- {
- Adobe_ColorImage_AI6_Vars /sourcecount get
- 7 add { pop } repeat
- } ifelse
- }
- {
- dup 3 eq
- TestPlateIndex
- dup -1 eq exch 5 eq or or
- {
- /_colorimage load null eq
- {
- ColorImageCompositeEmulator
- }
- {
- dup 1 eq
- {
- pop pop image
- }
- {
- Adobe_ColorImage_AI6_Vars /plateindex get 5 eq
- {
- gsave
-
- 0 _currenttransfer exec
- 1 _currenttransfer exec
- eq
- { 0 _currenttransfer exec 0.5 lt }
- { 0 _currenttransfer exec 1 _currenttransfer exec gt } ifelse
-
- { { pop 0 } } { { pop 1 } } ifelse
- systemdict /settransfer get exec
- } if
-
- _colorimage
-
- Adobe_ColorImage_AI6_Vars /plateindex get 5 eq
- {
- grestore
- } if
- } ifelse
- } ifelse
- }
- {
- dup 1 eq
- {
- pop pop
- image
- }
- {
- pop pop
-
- Adobe_ColorImage_AI6_Vars begin
- sourcecount -1 0
- {
- exch sourcearray 3 1 roll put
- } for
-
- /SeparateCMYKImageProc load
- end
-
- systemdict /image get exec
- } ifelse
- } ifelse
- } ifelse
- } def
-
- /XI
- {
- Adobe_ColorImage_AI6_Vars begin
- gsave
- /XIMask exch 0 ne def
- /XIBinary exch 0 ne def
- pop
- pop
- /XIChannelCount exch def
- /XIBitsPerPixel exch def
- /XIImageHeight exch def
- /XIImageWidth exch def
- pop pop pop pop
- /XIImageMatrix exch def
-
- XIBitsPerPixel 1 eq
- {
- XIImageWidth 8 div ceiling cvi
- }
- {
- XIImageWidth XIChannelCount mul
- } ifelse
- /XIBuffer exch string def
-
- XIBinary
- {
- /XIDataProc { currentfile XIBuffer readstring pop } def
- currentfile 128 string readline pop pop
- }
- {
- /XIDataProc { currentfile XIBuffer readhexstring pop } def
- } ifelse
-
- 0 0 moveto
- XIImageMatrix concat
- XIImageWidth XIImageHeight scale
-
- XIMask
- {
- XIImageWidth XIImageHeight
- false
- [ XIImageWidth 0 0 XIImageHeight neg 0 0 ]
- /XIDataProc load
-
- /_lp /null ddef
- _fc
- /_lp /imagemask ddef
-
- imagemask
- }
- {
- XIImageWidth XIImageHeight
- XIBitsPerPixel
- [ XIImageWidth 0 0 XIImageHeight neg 0 0 ]
- /XIDataProc load
-
- XIChannelCount 1 eq
- {
-
- gsave
- 0 setgray
-
- image
-
- grestore
- }
- {
- false
- XIChannelCount
- colorimage
- } ifelse
- } ifelse
- grestore
- end
- } def
-
-end
-%%EndProcSet
-%%BeginResource: procset Adobe_Illustrator_AI5 1.1 0
-%%Title: (Adobe Illustrator (R) Version 5.0 Full Prolog)
-%%Version: 1.1
-%%CreationDate: (3/7/1994) ()
-%%Copyright: ((C) 1987-1994 Adobe Systems Incorporated All Rights Reserved)
-currentpacking true setpacking
-userdict /Adobe_Illustrator_AI5_vars 81 dict dup begin
-put
-/_eo false def
-/_lp /none def
-/_pf
-{
-} def
-/_ps
-{
-} def
-/_psf
-{
-} def
-/_pss
-{
-} def
-/_pjsf
-{
-} def
-/_pjss
-{
-} def
-/_pola 0 def
-/_doClip 0 def
-/cf currentflat def
-/_tm matrix def
-/_renderStart
-[
-/e0 /r0 /a0 /o0 /e1 /r1 /a1 /i0
-] def
-/_renderEnd
-[
-null null null null /i1 /i1 /i1 /i1
-] def
-/_render -1 def
-/_rise 0 def
-/_ax 0 def
-/_ay 0 def
-/_cx 0 def
-/_cy 0 def
-/_leading
-[
-0 0
-] def
-/_ctm matrix def
-/_mtx matrix def
-/_sp 16#020 def
-/_hyphen (-) def
-/_fScl 0 def
-/_cnt 0 def
-/_hs 1 def
-/_nativeEncoding 0 def
-/_useNativeEncoding 0 def
-/_tempEncode 0 def
-/_pntr 0 def
-/_tDict 2 dict def
-/_wv 0 def
-/Tx
-{
-} def
-/Tj
-{
-} def
-/CRender
-{
-} def
-/_AI3_savepage
-{
-} def
-/_gf null def
-/_cf 4 array def
-/_if null def
-/_of false def
-/_fc
-{
-} def
-/_gs null def
-/_cs 4 array def
-/_is null def
-/_os false def
-/_sc
-{
-} def
-/_pd 1 dict def
-/_ed 15 dict def
-/_pm matrix def
-/_fm null def
-/_fd null def
-/_fdd null def
-/_sm null def
-/_sd null def
-/_sdd null def
-/_i null def
-/discardSave null def
-/buffer 256 string def
-/beginString null def
-/endString null def
-/endStringLength null def
-/layerCnt 1 def
-/layerCount 1 def
-/perCent (%) 0 get def
-/perCentSeen? false def
-/newBuff null def
-/newBuffButFirst null def
-/newBuffLast null def
-/clipForward? false def
-end
-userdict /Adobe_Illustrator_AI5 known not {
- userdict /Adobe_Illustrator_AI5 91 dict put
-} if
-userdict /Adobe_Illustrator_AI5 get begin
-/initialize
-{
- Adobe_Illustrator_AI5 dup begin
- Adobe_Illustrator_AI5_vars begin
- discardDict
- {
- bind pop pop
- } forall
- dup /nc get begin
- {
- dup xcheck 1 index type /operatortype ne and
- {
- bind
- } if
- pop pop
- } forall
- end
- newpath
-} def
-/terminate
-{
- end
- end
-} def
-/_
-null def
-/ddef
-{
- Adobe_Illustrator_AI5_vars 3 1 roll put
-} def
-/xput
-{
- dup load dup length exch maxlength eq
- {
- dup dup load dup
- length 2 mul dict copy def
- } if
- load begin
- def
- end
-} def
-/npop
-{
- {
- pop
- } repeat
-} def
-/sw
-{
- dup length exch stringwidth
- exch 5 -1 roll 3 index mul add
- 4 1 roll 3 1 roll mul add
-} def
-/swj
-{
- dup 4 1 roll
- dup length exch stringwidth
- exch 5 -1 roll 3 index mul add
- 4 1 roll 3 1 roll mul add
- 6 2 roll /_cnt 0 ddef
- {
- 1 index eq
- {
- /_cnt _cnt 1 add ddef
- } if
- } forall
- pop
- exch _cnt mul exch _cnt mul 2 index add 4 1 roll 2 index add 4 1 roll pop pop
-} def
-/ss
-{
- 4 1 roll
- {
- 2 npop
- (0) exch 2 copy 0 exch put pop
- gsave
- false charpath currentpoint
- 4 index setmatrix
- stroke
- grestore
- moveto
- 2 copy rmoveto
- } exch cshow
- 3 npop
-} def
-/jss
-{
- 4 1 roll
- {
- 2 npop
- (0) exch 2 copy 0 exch put
- gsave
- _sp eq
- {
- exch 6 index 6 index 6 index 5 -1 roll widthshow
- currentpoint
- }
- {
- false charpath currentpoint
- 4 index setmatrix stroke
- } ifelse
- grestore
- moveto
- 2 copy rmoveto
- } exch cshow
- 6 npop
-} def
-/sp
-{
- {
- 2 npop (0) exch
- 2 copy 0 exch put pop
- false charpath
- 2 copy rmoveto
- } exch cshow
- 2 npop
-} def
-/jsp
-{
- {
- 2 npop
- (0) exch 2 copy 0 exch put
- _sp eq
- {
- exch 5 index 5 index 5 index 5 -1 roll widthshow
- }
- {
- false charpath
- } ifelse
- 2 copy rmoveto
- } exch cshow
- 5 npop
-} def
-/pl
-{
- transform
- 0.25 sub round 0.25 add exch
- 0.25 sub round 0.25 add exch
- itransform
-} def
-/setstrokeadjust where
-{
- pop true setstrokeadjust
- /c
- {
- curveto
- } def
- /C
- /c load def
- /v
- {
- currentpoint 6 2 roll curveto
- } def
- /V
- /v load def
- /y
- {
- 2 copy curveto
- } def
- /Y
- /y load def
- /l
- {
- lineto
- } def
- /L
- /l load def
- /m
- {
- moveto
- } def
-}
-{
- /c
- {
- pl curveto
- } def
- /C
- /c load def
- /v
- {
- currentpoint 6 2 roll pl curveto
- } def
- /V
- /v load def
- /y
- {
- pl 2 copy curveto
- } def
- /Y
- /y load def
- /l
- {
- pl lineto
- } def
- /L
- /l load def
- /m
- {
- pl moveto
- } def
-} ifelse
-/d
-{
- setdash
-} def
-/cf
-{
-} def
-/i
-{
- dup 0 eq
- {
- pop cf
- } if
- setflat
-} def
-/j
-{
- setlinejoin
-} def
-/J
-{
- setlinecap
-} def
-/M
-{
- setmiterlimit
-} def
-/w
-{
- setlinewidth
-} def
-/XR
-{
- 0 ne
- /_eo exch ddef
-} def
-/H
-{
-} def
-/h
-{
- closepath
-} def
-/N
-{
- _pola 0 eq
- {
- _doClip 1 eq
- {
- _eo {eoclip} {clip} ifelse /_doClip 0 ddef
- } if
- newpath
- }
- {
- /CRender
- {
- N
- } ddef
- } ifelse
-} def
-/n
-{
- N
-} def
-/F
-{
- _pola 0 eq
- {
- _doClip 1 eq
- {
- gsave _pf grestore _eo {eoclip} {clip} ifelse newpath /_lp /none ddef _fc
- /_doClip 0 ddef
- }
- {
- _pf
- } ifelse
- }
- {
- /CRender
- {
- F
- } ddef
- } ifelse
-} def
-/f
-{
- closepath
- F
-} def
-/S
-{
- _pola 0 eq
- {
- _doClip 1 eq
- {
- gsave _ps grestore _eo {eoclip} {clip} ifelse newpath /_lp /none ddef _sc
- /_doClip 0 ddef
- }
- {
- _ps
- } ifelse
- }
- {
- /CRender
- {
- S
- } ddef
- } ifelse
-} def
-/s
-{
- closepath
- S
-} def
-/B
-{
- _pola 0 eq
- {
- _doClip 1 eq
- gsave F grestore
- {
- gsave S grestore _eo {eoclip} {clip} ifelse newpath /_lp /none ddef _sc
- /_doClip 0 ddef
- }
- {
- S
- } ifelse
- }
- {
- /CRender
- {
- B
- } ddef
- } ifelse
-} def
-/b
-{
- closepath
- B
-} def
-/W
-{
- /_doClip 1 ddef
-} def
-/*
-{
- count 0 ne
- {
- dup type /stringtype eq
- {
- pop
- } if
- } if
- newpath
-} def
-/u
-{
-} def
-/U
-{
-} def
-/q
-{
- _pola 0 eq
- {
- gsave
- } if
-} def
-/Q
-{
- _pola 0 eq
- {
- grestore
- } if
-} def
-/*u
-{
- _pola 1 add /_pola exch ddef
-} def
-/*U
-{
- _pola 1 sub /_pola exch ddef
- _pola 0 eq
- {
- CRender
- } if
-} def
-/D
-{
- pop
-} def
-/*w
-{
-} def
-/*W
-{
-} def
-/`
-{
- /_i save ddef
- clipForward?
- {
- nulldevice
- } if
- 6 1 roll 4 npop
- concat pop
- userdict begin
- /showpage
- {
- } def
- 0 setgray
- 0 setlinecap
- 1 setlinewidth
- 0 setlinejoin
- 10 setmiterlimit
- [] 0 setdash
- /setstrokeadjust where {pop false setstrokeadjust} if
- newpath
- 0 setgray
- false setoverprint
-} def
-/~
-{
- end
- _i restore
-} def
-/O
-{
- 0 ne
- /_of exch ddef
- /_lp /none ddef
-} def
-/R
-{
- 0 ne
- /_os exch ddef
- /_lp /none ddef
-} def
-/g
-{
- /_gf exch ddef
- /_fc
- {
- _lp /fill ne
- {
- _of setoverprint
- _gf setgray
- /_lp /fill ddef
- } if
- } ddef
- /_pf
- {
- _fc
- _eo {eofill} {fill} ifelse
- } ddef
- /_psf
- {
- _fc
- ashow
- } ddef
- /_pjsf
- {
- _fc
- awidthshow
- } ddef
- /_lp /none ddef
-} def
-/G
-{
- /_gs exch ddef
- /_sc
- {
- _lp /stroke ne
- {
- _os setoverprint
- _gs setgray
- /_lp /stroke ddef
- } if
- } ddef
- /_ps
- {
- _sc
- stroke
- } ddef
- /_pss
- {
- _sc
- ss
- } ddef
- /_pjss
- {
- _sc
- jss
- } ddef
- /_lp /none ddef
-} def
-/k
-{
- _cf astore pop
- /_fc
- {
- _lp /fill ne
- {
- _of setoverprint
- _cf aload pop setcmykcolor
- /_lp /fill ddef
- } if
- } ddef
- /_pf
- {
- _fc
- _eo {eofill} {fill} ifelse
- } ddef
- /_psf
- {
- _fc
- ashow
- } ddef
- /_pjsf
- {
- _fc
- awidthshow
- } ddef
- /_lp /none ddef
-} def
-/K
-{
- _cs astore pop
- /_sc
- {
- _lp /stroke ne
- {
- _os setoverprint
- _cs aload pop setcmykcolor
- /_lp /stroke ddef
- } if
- } ddef
- /_ps
- {
- _sc
- stroke
- } ddef
- /_pss
- {
- _sc
- ss
- } ddef
- /_pjss
- {
- _sc
- jss
- } ddef
- /_lp /none ddef
-} def
-/x
-{
- /_gf exch ddef
- findcmykcustomcolor
- /_if exch ddef
- /_fc
- {
- _lp /fill ne
- {
- _of setoverprint
- _if _gf 1 exch sub setcustomcolor
- /_lp /fill ddef
- } if
- } ddef
- /_pf
- {
- _fc
- _eo {eofill} {fill} ifelse
- } ddef
- /_psf
- {
- _fc
- ashow
- } ddef
- /_pjsf
- {
- _fc
- awidthshow
- } ddef
- /_lp /none ddef
-} def
-/X
-{
- /_gs exch ddef
- findcmykcustomcolor
- /_is exch ddef
- /_sc
- {
- _lp /stroke ne
- {
- _os setoverprint
- _is _gs 1 exch sub setcustomcolor
- /_lp /stroke ddef
- } if
- } ddef
- /_ps
- {
- _sc
- stroke
- } ddef
- /_pss
- {
- _sc
- ss
- } ddef
- /_pjss
- {
- _sc
- jss
- } ddef
- /_lp /none ddef
-} def
-/A
-{
- pop
-} def
-/annotatepage
-{
-userdict /annotatepage 2 copy known {get exec} {pop pop} ifelse
-} def
-/XT {
- pop pop
-} def
-/discard
-{
- save /discardSave exch store
- discardDict begin
- /endString exch store
- gt38?
- {
- 2 add
- } if
- load
- stopped
- pop
- end
- discardSave restore
-} bind def
-userdict /discardDict 7 dict dup begin
-put
-/pre38Initialize
-{
- /endStringLength endString length store
- /newBuff buffer 0 endStringLength getinterval store
- /newBuffButFirst newBuff 1 endStringLength 1 sub getinterval store
- /newBuffLast newBuff endStringLength 1 sub 1 getinterval store
-} def
-/shiftBuffer
-{
- newBuff 0 newBuffButFirst putinterval
- newBuffLast 0
- currentfile read not
- {
- stop
- } if
- put
-} def
-0
-{
- pre38Initialize
- mark
- currentfile newBuff readstring exch pop
- {
- {
- newBuff endString eq
- {
- cleartomark stop
- } if
- shiftBuffer
- } loop
- }
- {
- stop
- } ifelse
-} def
-1
-{
- pre38Initialize
- /beginString exch store
- mark
- currentfile newBuff readstring exch pop
- {
- {
- newBuff beginString eq
- {
- /layerCount dup load 1 add store
- }
- {
- newBuff endString eq
- {
- /layerCount dup load 1 sub store
- layerCount 0 eq
- {
- cleartomark stop
- } if
- } if
- } ifelse
- shiftBuffer
- } loop
- } if
-} def
-2
-{
- mark
- {
- currentfile buffer readline not
- {
- stop
- } if
- endString eq
- {
- cleartomark stop
- } if
- } loop
-} def
-3
-{
- /beginString exch store
- /layerCnt 1 store
- mark
- {
- currentfile buffer readline not
- {
- stop
- } if
- dup beginString eq
- {
- pop /layerCnt dup load 1 add store
- }
- {
- endString eq
- {
- layerCnt 1 eq
- {
- cleartomark stop
- }
- {
- /layerCnt dup load 1 sub store
- } ifelse
- } if
- } ifelse
- } loop
-} def
-end
-userdict /clipRenderOff 15 dict dup begin
-put
-{
- /n /N /s /S /f /F /b /B
-}
-{
- {
- _doClip 1 eq
- {
- /_doClip 0 ddef _eo {eoclip} {clip} ifelse
- } if
- newpath
- } def
-} forall
-/Tr /pop load def
-/Bb {} def
-/BB /pop load def
-/Bg {12 npop} def
-/Bm {6 npop} def
-/Bc /Bm load def
-/Bh {4 npop} def
-end
-/Lb
-{
- 4 npop
- 6 1 roll
- pop
- 4 1 roll
- pop pop pop
- 0 eq
- {
- 0 eq
- {
- (%AI5_BeginLayer) 1 (%AI5_EndLayer--) discard
- }
- {
-
- /clipForward? true def
-
- /Tx /pop load def
- /Tj /pop load def
-
- currentdict end clipRenderOff begin begin
- } ifelse
- }
- {
- 0 eq
- {
- save /discardSave exch store
- } if
- } ifelse
-} bind def
-/LB
-{
- discardSave dup null ne
- {
- restore
- }
- {
- pop
- clipForward?
- {
- currentdict
- end
- end
- begin
-
- /clipForward? false ddef
- } if
- } ifelse
-} bind def
-/Pb
-{
- pop pop
- 0 (%AI5_EndPalette) discard
-} bind def
-/Np
-{
- 0 (%AI5_End_NonPrinting--) discard
-} bind def
-/Ln /pop load def
-/Ap
-/pop load def
-/Ar
-{
- 72 exch div
- 0 dtransform dup mul exch dup mul add sqrt
- dup 1 lt
- {
- pop 1
- } if
- setflat
-} def
-/Mb
-{
- q
-} def
-/Md
-{
-} def
-/MB
-{
- Q
-} def
-/nc 3 dict def
-nc begin
-/setgray
-{
- pop
-} bind def
-/setcmykcolor
-{
- 4 npop
-} bind def
-/setcustomcolor
-{
- 2 npop
-} bind def
-currentdict readonly pop
-end
-end
-setpacking
-%%EndResource
-%%EndProlog
-%%BeginSetup
-Adobe_level2_AI5 /initialize get exec
-Adobe_ColorImage_AI6 /initialize get exec
-Adobe_Illustrator_AI5 /initialize get exec
-%AI5_BeginPalette
-0 2 Pb
-Pn
-Pc
-1 g
-Pc
-0 g
-Pc
-0 0 0 0 k
-Pc
-0.75 g
-Pc
-0.5 g
-Pc
-0.25 g
-Pc
-0 g
-Pc
-0 0 0 0 k
-Pc
-0.25 0 0 0 k
-Pc
-0.5 0 0 0 k
-Pc
-0.75 0 0 0 k
-Pc
-1 0 0 0 k
-Pc
-0.25 0.25 0 0 k
-Pc
-0.5 0.5 0 0 k
-Pc
-0.75 0.75 0 0 k
-Pc
-1 1 0 0 k
-Pc
-0 0 0 0 k
-Pc
-0 0.25 0 0 k
-Pc
-0 0.5 0 0 k
-Pc
-0 0.75 0 0 k
-Pc
-0 1 0 0 k
-Pc
-0 0.25 0.25 0 k
-Pc
-0 0.5 0.5 0 k
-Pc
-0 0.75 0.75 0 k
-Pc
-0 1 1 0 k
-Pc
-0 0 0 0 k
-Pc
-0 0 0.25 0 k
-Pc
-0 0 0.5 0 k
-Pc
-0 0 0.75 0 k
-Pc
-0 0 1 0 k
-Pc
-0.25 0 0.25 0 k
-Pc
-0.5 0 0.5 0 k
-Pc
-0.75 0 0.75 0 k
-Pc
-1 0 1 0 k
-Pc
-PB
-%AI5_EndPalette
-%%EndSetup
-%AI5_BeginLayer
-1 1 1 1 0 0 0 79 128 255 Lb
-(Layer 1) Ln
-0 A
-u
-u
-*u
-0 O
-0 g
-800 Ar
-0 J 0 j 1 w 4 M []0 d
-%AI3_Note:
-0 D
-0 XR
-211.8549 455.5205 m
-211.8549 459.9661 l
-211.8549 460.6982 211.9923 461.2227 212.2669 461.5397 c
-212.5418 461.8557 212.9866 462.0141 213.6032 462.0141 c
-214.2854 462.0141 214.8269 461.5474 215.2267 460.6156 c
-215.4928 460.0489 215.734 459.6243 215.9508 459.3418 c
-216.6502 458.4426 217.682 457.7222 219.0479 457.1814 c
-220.413 456.6396 221.9201 456.3696 223.5685 456.3696 c
-225.3332 456.3696 226.7482 456.7271 227.8143 457.4436 c
-228.8797 458.1593 229.4128 459.0998 229.4128 460.2659 c
-229.4128 461.4474 228.9834 462.2889 228.1266 462.7884 c
-227.2688 463.2879 225.7991 463.5376 223.7184 463.5376 C
-222.3446 463.5376 l
-218.9479 463.5376 216.3583 464.1285 214.5772 465.311 c
-212.7953 466.4925 211.9049 468.2081 211.9049 470.4559 c
-211.9049 472.6538 212.7743 474.3599 214.5148 475.5759 c
-216.2545 476.7911 218.6982 477.3992 221.8452 477.3992 c
-223.1267 477.3992 224.434 477.2197 225.7664 476.8622 c
-227.0978 476.5039 227.7972 476.3251 227.8643 476.3251 c
-228.0469 476.3251 228.3966 476.4876 228.9132 476.8121 c
-229.4292 477.1369 229.9373 477.2992 230.4367 477.2992 c
-231.0026 477.2992 231.4233 477.0909 231.6981 476.6748 c
-231.9727 476.258 232.1101 475.6337 232.1101 474.8016 C
-232.1101 471.8796 l
-232.1101 470.9967 231.9766 470.36 231.7105 469.9689 c
-231.4436 469.5771 231.019 469.3819 230.4367 469.3819 c
-229.9373 469.3819 229.3207 469.8065 228.5886 470.6557 c
-228.0719 471.2379 227.6473 471.6796 227.3148 471.9794 c
-226.4321 472.795 225.4916 473.382 224.4926 473.7402 c
-223.4935 474.0976 222.3196 474.2771 220.971 474.2771 c
-219.4053 474.2771 218.1441 473.9315 217.1871 473.2406 c
-216.2295 472.5492 215.751 471.6711 215.751 470.6058 c
-215.751 469.5568 216.2421 468.8075 217.2246 468.358 c
-218.2066 467.9083 220.3217 467.6501 223.5685 467.5838 c
-227.0315 467.5002 229.5626 466.8969 231.161 465.773 c
-232.7595 464.6491 233.5587 462.9133 233.5587 460.5655 c
-233.5587 458.3177 232.676 456.5195 230.9113 455.1709 c
-229.1459 453.8221 226.7653 453.1478 223.7683 453.1478 c
-222.8192 453.1478 221.7616 453.2352 220.5964 453.4101 c
-219.4303 453.5849 217.9654 453.8799 216.2007 454.2967 c
-215.6176 453.9135 215.1182 453.6271 214.7021 453.435 c
-214.2854 453.2437 213.9357 453.1478 213.6531 453.1478 c
-213.0702 453.1478 212.6245 453.3522 212.317 453.7597 c
-212.0087 454.1671 211.8549 454.7541 211.8549 455.5205 c
-f
-*U
-*u
-247.1034 457.2438 m
-247.1034 482.8189 L
-242.8577 482.8189 l
-241.2419 482.8189 240.2306 482.9477 239.823 483.2059 c
-239.4149 483.4635 239.2111 483.9341 239.2111 484.617 c
-239.2111 485.2164 239.3813 485.6661 239.7232 485.9657 c
-240.0642 486.2655 240.5598 486.4154 241.2092 486.4154 C
-249.4512 486.4154 l
-249.9007 486.4154 250.2504 486.3233 250.5001 486.1405 c
-250.75 485.9572 250.8747 485.7075 250.8747 485.3913 C
-250.8747 457.2438 L
-258.7171 457.2438 l
-259.3494 457.2438 259.8114 457.1063 260.1033 456.8317 c
-260.3944 456.557 260.5404 456.1199 260.5404 455.5205 c
-260.5404 454.8376 260.3983 454.3669 260.1157 454.1094 c
-259.8325 453.851 259.2993 453.7222 258.5173 453.7222 C
-240.0853 453.7222 l
-239.4358 453.7222 238.9403 453.8721 238.5993 454.1717 c
-238.2574 454.4715 238.0872 454.921 238.0872 455.5205 c
-238.0872 456.1027 238.2621 456.536 238.6117 456.8191 c
-238.9614 457.1017 239.4859 457.2438 240.1851 457.2438 C
-247.1034 457.2438 l
-f
-*U
-*u
-279.1941 458.6049 m
-277.3872 457.4974 275.4268 456.9441 273.3124 456.9441 c
-271.8802 456.9441 270.7024 457.3102 269.7783 458.043 c
-268.8542 458.7751 268.3921 459.7077 268.3921 460.8403 c
-268.3921 462.3052 269.1328 463.4705 270.615 464.3368 c
-272.0963 465.2025 274.1194 465.6356 276.6842 465.6356 c
-277.5332 465.6356 278.3863 465.5646 279.2441 465.4234 c
-280.1011 465.2812 280.9877 465.0611 281.9039 464.7615 c
-281.9039 462.064 l
-281.9039 460.8653 281.0001 459.7117 279.1941 458.6049 c
-f
-282.9031 454.1468 m
-283.2027 453.8634 283.5852 453.7222 284.0519 453.7222 c
-287.9731 453.7222 L
-288.6389 453.7222 289.1383 453.8721 289.4717 454.1717 c
-289.8041 454.4715 289.9711 454.921 289.9711 455.5205 c
-289.9711 456.1698 289.7713 456.6193 289.3717 456.8692 c
-288.9721 457.1189 288.1807 457.2438 286.9989 457.2438 c
-285.7752 457.2438 L
-285.7752 468.5578 L
-285.7752 471.4713 285.0259 473.6731 283.5274 475.1637 c
-282.0289 476.6537 279.8139 477.3992 276.8839 477.3992 c
-274.0195 477.3992 271.6679 477.0572 269.8283 476.3751 c
-267.9878 475.6921 267.0684 474.8595 267.0684 473.8775 c
-267.0684 473.261 267.2262 472.7575 267.543 472.3666 c
-267.8591 471.9748 268.2586 471.7796 268.7418 471.7796 c
-269.2578 471.7796 270.3153 472.1293 271.9137 472.8287 c
-273.5122 473.5279 274.9607 473.8775 276.2594 473.8775 c
-278.1904 473.8775 279.614 473.4193 280.5303 472.5039 c
-281.4459 471.5876 281.9039 470.1726 281.9039 468.258 c
-281.9039 468.0832 L
-280.8713 468.3493 279.8638 468.5452 278.8819 468.6701 c
-277.8993 468.7951 276.9252 468.8574 275.9598 468.8574 c
-272.2962 468.8574 269.4537 468.1332 267.4306 466.6846 c
-265.4076 465.236 264.396 463.1958 264.396 460.5655 c
-264.396 458.3505 265.1578 456.5522 266.6814 455.1709 c
-268.2048 453.7886 270.2068 453.0979 272.6879 453.0979 c
-274.3863 453.0979 276.0386 453.4225 277.6456 454.0719 c
-279.2519 454.7212 280.7379 455.6617 282.1037 456.8942 c
-282.3035 455.3707 l
-282.4035 454.8376 282.6033 454.4293 282.9031 454.1468 c
-f
-*U
-*u
-314.5596 475.3012 m
-314.5596 475.401 l
-314.5596 475.9505 314.7173 476.354 315.0342 476.6124 c
-315.3502 476.87 315.8412 476.9995 316.5077 476.9995 c
-317.1899 476.9995 317.6605 476.7998 317.9189 476.4002 c
-318.1765 476.0004 318.3059 475.1763 318.3059 473.9274 C
-318.3059 469.2821 l
-318.3059 468.6655 318.1475 468.2034 317.8315 467.8959 c
-317.5145 467.5876 317.04 467.4339 316.4078 467.4339 c
-315.9583 467.4339 315.5711 467.5627 315.2465 467.8209 c
-314.9218 468.0785 314.5261 468.6154 314.0601 469.4318 c
-313.261 470.7806 312.2908 471.7999 311.1505 472.4914 c
-310.0094 473.1822 308.6982 473.5279 307.2167 473.5279 c
-304.6194 473.5279 302.5089 472.7615 300.8854 471.2301 c
-299.2621 469.6981 298.4504 467.7164 298.4504 465.2859 c
-298.4504 462.8048 299.2285 460.7778 300.7856 459.2044 c
-302.3418 457.6309 304.3446 456.8442 306.7922 456.8442 c
-307.9075 456.8442 308.969 456.998 309.9766 457.3063 c
-310.9834 457.6137 311.9373 458.0757 312.8363 458.6923 c
-313.1525 458.8921 313.577 459.1996 314.11 459.6164 c
-315.1918 460.4984 316.041 460.9401 316.6576 460.9401 c
-317.1735 460.9401 317.5941 460.7778 317.9189 460.4531 c
-318.2436 460.1286 318.4059 459.7077 318.4059 459.1919 c
-318.4059 457.8759 317.1609 456.5319 314.6721 455.1583 c
-312.1823 453.7847 309.5395 453.0979 306.7423 453.0979 c
-303.1286 453.0979 300.119 454.2545 297.7135 456.5694 c
-295.3073 458.8836 294.1046 461.7722 294.1046 465.236 c
-294.1046 468.699 295.3034 471.5922 297.7011 473.9151 c
-300.0988 476.2377 303.0959 477.3992 306.6923 477.3992 c
-307.9575 477.3992 309.2274 477.2282 310.501 476.8872 c
-311.7748 476.5453 313.1275 476.0169 314.5596 475.3012 c
-f
-*U
-*u
-332.3268 465.3359 m
-330.079 463.2879 L
-330.079 455.9201 l
-330.079 455.2535 329.9416 454.7212 329.6668 454.3216 c
-329.3921 453.922 329.0378 453.7222 328.6054 453.7222 C
-323.985 453.7222 l
-323.3355 453.7222 322.8439 453.8721 322.5114 454.1717 c
-322.1781 454.4715 322.0118 454.921 322.0118 455.5205 c
-322.0118 456.1863 322.207 456.6396 322.5988 456.8816 c
-322.9897 457.1228 323.8264 457.2438 325.1089 457.2438 C
-326.3076 457.2438 L
-326.3076 482.8189 L
-325.2836 482.8189 l
-323.8515 482.8189 322.9274 482.9477 322.5114 483.2059 c
-322.0946 483.4635 321.8869 483.9341 321.8869 484.617 c
-321.8869 485.2164 322.0571 485.6661 322.399 485.9657 c
-322.74 486.2655 323.2357 486.4154 323.885 486.4154 C
-328.6553 486.4154 l
-329.1049 486.4154 329.4546 486.3233 329.7043 486.1405 c
-329.954 485.9572 330.079 485.7075 330.079 485.3913 C
-330.079 467.4838 L
-337.2969 473.5279 l
-336.7474 473.7605 336.3431 474.0189 336.0855 474.3021 c
-335.8273 474.5846 335.6985 474.9179 335.6985 475.3012 c
-335.6985 475.8006 335.8811 476.1752 336.248 476.4251 c
-336.6139 476.6748 337.1471 476.7998 337.8463 476.7998 C
-344.6147 476.7998 l
-345.247 476.7998 345.7301 476.6576 346.0634 476.3751 c
-346.3958 476.0919 346.5629 475.6672 346.5629 475.1014 c
-346.5629 474.1023 345.7551 473.5193 344.1403 473.353 c
-343.8233 473.3195 343.5736 473.2859 343.391 473.2532 c
-342.7081 473.1697 341.9588 472.9074 341.1432 472.4664 c
-340.3268 472.0247 339.5025 471.4377 338.6706 470.7056 C
-335.049 467.5337 L
-344.5149 457.2438 L
-346.6628 457.2438 l
-347.3785 457.2438 347.8905 457.1104 348.1988 456.8442 c
-348.5063 456.5772 348.6609 456.1362 348.6609 455.5205 c
-348.6609 454.9374 348.4899 454.4918 348.1489 454.1843 c
-347.807 453.876 347.3122 453.7222 346.6628 453.7222 C
-339.8944 453.7222 l
-339.1615 453.7222 338.6285 453.8471 338.296 454.0969 c
-337.9627 454.3466 337.7964 454.7462 337.7964 455.2957 c
-337.7964 455.7453 337.9587 456.1323 338.2834 456.4571 c
-338.6082 456.7818 339.0952 457.044 339.7445 457.2438 C
-332.3268 465.3359 l
-f
-*U
-*u
-369.979 455.0459 m
-366.7072 466.4098 L
-363.4854 454.5464 l
-363.3183 453.9135 363.0686 453.4725 362.7361 453.2227 c
-362.4029 452.973 361.9033 452.848 361.2376 452.848 c
-360.6382 452.848 360.1715 453.0064 359.8389 453.3226 c
-359.5056 453.6394 359.206 454.2131 358.9399 455.0459 C
-353.2203 473.2532 L
-352.9956 473.2532 l
-352.2962 473.2532 351.7922 473.3905 351.4847 473.6653 c
-351.1771 473.94 351.0226 474.402 351.0226 475.0513 c
-351.0226 475.6172 351.1849 476.0505 351.5096 476.3501 c
-351.8342 476.6499 352.3127 476.7998 352.9457 476.7998 C
-359.6141 476.7998 l
-360.5133 476.7998 361.1206 476.6702 361.4374 476.4126 c
-361.7534 476.1542 361.912 475.7008 361.912 475.0513 c
-361.912 474.6518 361.8198 474.3061 361.6372 474.0149 c
-361.4538 473.723 361.2204 473.5443 360.9378 473.4779 c
-360.6545 473.3944 360.326 473.336 359.9514 473.3031 c
-359.5767 473.2696 359.1224 473.2532 358.5902 473.2532 C
-357.1416 473.2532 L
-361.4374 458.2678 L
-364.6592 469.1571 l
-364.8418 469.7894 365.1002 470.2311 365.4334 470.4808 c
-365.7659 470.7306 366.2577 470.8555 366.907 470.8555 c
-367.5064 470.8555 367.9764 470.6932 368.3181 470.3685 c
-368.6593 470.0438 368.9628 469.4732 369.2297 468.6576 C
-372.3517 458.2678 L
-376.4727 473.2532 L
-375.8733 473.2532 L
-374.7993 473.2532 l
-373.6505 473.2532 372.8762 473.382 372.4767 473.6402 c
-372.0771 473.8978 371.8773 474.3684 371.8773 475.0513 c
-371.8773 475.7173 372.027 476.1752 372.3268 476.4251 c
-372.6264 476.6748 373.2087 476.7998 374.075 476.7998 C
-380.7686 476.7998 l
-381.2844 476.7998 381.6716 476.6499 381.9298 476.3501 c
-382.1874 476.0505 382.317 475.6172 382.317 475.0513 c
-382.317 474.4185 382.1671 473.9688 381.8675 473.7027 c
-381.5677 473.4358 381.0011 473.2859 380.1692 473.2532 C
-374.5496 454.5464 l
-374.3326 453.9135 374.0626 453.4725 373.7379 453.2227 c
-373.4132 452.973 372.9262 452.848 372.2769 452.848 c
-371.6773 452.848 371.2029 453.0105 370.8532 453.335 c
-370.5035 453.6598 370.2116 454.2295 369.979 455.0459 c
-f
-*U
-*u
-400.3744 458.6049 m
-398.5675 457.4974 396.607 456.9441 394.4926 456.9441 c
-393.0604 456.9441 391.8827 457.3102 390.9586 458.043 c
-390.0345 458.7751 389.5724 459.7077 389.5724 460.8403 c
-389.5724 462.3052 390.3132 463.4705 391.7953 464.3368 c
-393.2766 465.2025 395.2997 465.6356 397.8643 465.6356 c
-398.7136 465.6356 399.5665 465.5646 400.4243 465.4234 c
-401.2813 465.2812 402.1679 465.0611 403.0843 464.7615 c
-403.0843 462.064 l
-403.0843 460.8653 402.1804 459.7117 400.3744 458.6049 c
-f
-404.0832 454.1468 m
-404.383 453.8634 404.7654 453.7222 405.2321 453.7222 c
-409.1533 453.7222 L
-409.819 453.7222 410.3186 453.8721 410.6518 454.1717 c
-410.9843 454.4715 411.1514 454.921 411.1514 455.5205 c
-411.1514 456.1698 410.9516 456.6193 410.552 456.8692 c
-410.1524 457.1189 409.361 457.2438 408.1793 457.2438 c
-406.9555 457.2438 L
-406.9555 468.5578 L
-406.9555 471.4713 406.2063 473.6731 404.7077 475.1637 c
-403.2092 476.6537 400.9941 477.3992 398.0641 477.3992 c
-395.1997 477.3992 392.8482 477.0572 391.0085 476.3751 c
-389.1682 475.6921 388.2487 474.8595 388.2487 473.8775 c
-388.2487 473.261 388.4063 472.7575 388.7233 472.3666 c
-389.0394 471.9748 389.4389 471.7796 389.9221 471.7796 c
-390.4379 471.7796 391.4955 472.1293 393.094 472.8287 c
-394.6924 473.5279 396.141 473.8775 397.4398 473.8775 c
-399.3708 473.8775 400.7943 473.4193 401.7106 472.5039 c
-402.6261 471.5876 403.0843 470.1726 403.0843 468.258 c
-403.0843 468.0832 L
-402.0516 468.3493 401.044 468.5452 400.0622 468.6701 c
-399.0795 468.7951 398.1055 468.8574 397.14 468.8574 c
-393.4764 468.8574 390.6339 468.1332 388.6108 466.6846 c
-386.5879 465.236 385.5764 463.1958 385.5764 460.5655 c
-385.5764 458.3505 386.338 456.5522 387.8617 455.1709 c
-389.3852 453.7886 391.387 453.0979 393.8683 453.0979 c
-395.5666 453.0979 397.2189 453.4225 398.8259 454.0719 c
-400.4322 454.7212 401.9182 455.6617 403.2841 456.8942 c
-403.4838 455.3707 l
-403.5838 454.8376 403.7836 454.4293 404.0832 454.1468 c
-f
-*U
-*u
-424.9996 467.5838 m
-424.9996 457.2438 L
-433.2915 457.2438 l
-433.9409 457.2438 434.4193 457.1063 434.7276 456.8317 c
-435.0351 456.557 435.1896 456.1199 435.1896 455.5205 c
-435.1896 454.8376 435.0438 454.3669 434.7525 454.1094 c
-434.4607 453.851 433.9237 453.7222 433.1416 453.7222 C
-416.8077 453.7222 l
-416.1582 453.7222 415.6666 453.8721 415.3341 454.1717 c
-415.0008 454.4715 414.8345 454.921 414.8345 455.5205 c
-414.8345 456.1027 415.0047 456.536 415.3465 456.8191 c
-415.6876 457.1017 416.216 457.2438 416.9324 457.2438 C
-421.2782 457.2438 L
-421.2782 473.2532 L
-419.5799 473.2532 l
-417.9643 473.2532 416.9574 473.382 416.5578 473.6402 c
-416.1582 473.8978 415.9584 474.3684 415.9584 475.0513 c
-415.9584 475.6337 416.1207 476.0708 416.4454 476.3627 c
-416.7702 476.6537 417.2649 476.7998 417.9316 476.7998 C
-423.626 476.7998 l
-424.0755 476.7998 424.4166 476.7123 424.6499 476.5375 c
-424.8826 476.3627 424.9996 476.1082 424.9996 475.7757 C
-424.9996 471.5299 l
-426.5809 473.5106 428.2293 474.9842 429.9447 475.9505 c
-431.6595 476.916 433.5077 477.3992 435.4894 477.3992 c
-436.9707 477.3992 438.1695 477.0994 439.0859 476.5 c
-440.0015 475.9006 440.4595 475.1264 440.4595 474.1773 c
-440.4595 473.5607 440.2301 473.0159 439.7727 472.5414 c
-439.3145 472.0668 438.8112 471.8295 438.2617 471.8295 c
-437.8784 471.8295 437.233 472.0832 436.3261 472.5913 c
-435.4184 473.0987 434.6067 473.353 433.8909 473.353 c
-432.5921 473.353 431.2224 472.891 429.7824 471.9669 c
-428.3417 471.0429 426.7478 469.5817 424.9996 467.5838 c
-f
-*U
-*u
-450.4849 472.2792 m
-451.9999 473.4443 453.8645 474.0274 456.0795 474.0274 c
-458.1275 474.0274 459.8547 473.4234 461.2619 472.2167 c
-462.6684 471.0092 463.4973 469.4148 463.7471 467.4339 c
-447.488 467.4339 l
-447.9702 469.4983 448.9693 471.1131 450.4849 472.2792 c
-f
-1 D
-464.5213 464.162 m
-466.2525 464.162 467.3139 464.3197 467.7058 464.6366 c
-468.0967 464.9526 468.2926 465.5771 468.2926 466.5097 c
-468.2926 469.5395 467.1352 472.1206 464.821 474.2522 c
-462.5061 476.383 459.5926 477.4491 456.0795 477.4491 c
-452.1997 477.4491 449.0529 476.3079 446.6387 474.0274 c
-444.224 471.746 443.0173 468.7653 443.0173 465.0861 c
-443.0173 461.4724 444.1576 458.5714 446.4389 456.3822 c
-448.7194 454.192 451.7587 453.0979 455.555 453.0979 c
-457.3034 453.0979 459.0642 453.3147 460.8374 453.7472 c
-462.6106 454.1796 464.3292 454.804 465.9949 455.6203 c
-466.7606 456.0027 467.3186 456.3946 467.6682 456.7942 c
-468.0179 457.1938 468.1928 457.6347 468.1928 458.1179 c
-468.1928 458.5838 468.0257 458.9749 467.6932 459.2919 c
-467.3599 459.6079 466.9439 459.7663 466.4443 459.7663 c
-465.9612 459.7663 464.5712 459.2457 462.2735 458.2053 c
-459.9757 457.1641 457.8528 456.6443 455.9046 456.6443 c
-453.3236 456.6443 451.2881 457.2976 449.7981 458.6049 c
-448.3074 459.9115 447.4957 461.7644 447.363 464.162 c
-464.1466 464.162 l
-464.5213 464.162 L
-f
-*U
-U
-1 Ap
-0 D
-469.3598 400.0493 m
-469.3598 445.9331 L
-321.3362 445.9331 L
-321.3362 400.0493 L
-469.3598 400.0493 L
-f
-u
-*u
-0 Ap
-1 g
-341.4219 412.3292 m
-341.4219 434.0293 L
-337.8194 434.0293 l
-336.4486 434.0293 335.5903 434.1386 335.2447 434.3577 c
-334.8982 434.5763 334.7254 434.9757 334.7254 435.5551 c
-334.7254 436.0637 334.8697 436.4451 335.1599 436.6995 c
-335.4492 436.9537 335.8698 437.0809 336.4208 437.0809 C
-343.4139 437.0809 l
-343.7954 437.0809 344.0921 437.0028 344.304 436.8478 c
-344.5158 436.6922 344.6219 436.4803 344.6219 436.212 C
-344.6219 412.3292 L
-351.2759 412.3292 l
-351.8123 412.3292 352.2043 412.2127 352.452 411.9796 c
-352.6991 411.7464 352.8229 411.3757 352.8229 410.8671 c
-352.8229 410.2876 352.7023 409.8883 352.4627 409.6697 c
-352.2223 409.4506 351.77 409.3413 351.1065 409.3413 C
-335.4671 409.3413 l
-334.9162 409.3413 334.4957 409.4684 334.2062 409.7227 c
-333.9161 409.977 333.7718 410.3584 333.7718 410.8671 c
-333.7718 411.3611 333.9202 411.7286 334.2169 411.969 c
-334.5135 412.2088 334.9585 412.3292 335.5519 412.3292 C
-341.4219 412.3292 l
-f
-*U
-*u
-365.3758 435.0253 m
-365.3758 436.5511 365.5136 437.5114 365.789 437.9074 c
-366.0646 438.3026 366.6539 438.5007 367.5585 438.5007 c
-368.4339 438.5007 369.0135 438.3344 369.2962 438.0027 c
-369.5783 437.6703 369.7201 436.8828 369.7201 435.6399 c
-369.7201 434.4247 369.589 433.6723 369.328 433.3829 c
-369.0665 433.0929 368.4764 432.9486 367.5585 432.9486 c
-366.6539 432.9486 366.0646 433.0824 365.789 433.3512 c
-365.5136 433.6195 365.3758 434.1776 365.3758 435.0253 c
-f
-369.2962 428.0532 m
-369.2962 412.3292 L
-376.0987 412.3292 l
-376.6497 412.3292 377.0557 412.2127 377.3172 411.9796 c
-377.5782 411.7464 377.7093 411.3757 377.7093 410.8671 c
-377.7093 410.2876 377.5855 409.8883 377.3384 409.6697 c
-377.0907 409.4506 376.6352 409.3413 375.9716 409.3413 C
-359.527 409.3413 l
-358.9614 409.3413 358.5376 409.4684 358.2555 409.7227 c
-357.9727 409.977 357.8316 410.3584 357.8316 410.8671 c
-357.8316 411.3611 357.9799 411.7286 358.2766 411.969 c
-358.5734 412.2088 359.0184 412.3292 359.6118 412.3292 C
-366.0751 412.3292 L
-366.0751 425.913 L
-361.9428 425.913 l
-361.3633 425.913 360.9217 426.0435 360.6184 426.305 c
-360.3144 426.566 360.1627 426.9441 360.1627 427.4388 c
-360.1627 427.9328 360.3037 428.3036 360.5866 428.5513 c
-360.8687 428.7983 361.2924 428.9222 361.858 428.9222 C
-368.0672 428.9222 l
-368.4485 428.9222 368.7486 428.8441 368.9678 428.6891 c
-369.1863 428.5334 369.2962 428.3216 369.2962 428.0532 c
-f
-*U
-*u
-385.0309 412.3292 m
-385.4759 412.3292 L
-385.4759 425.913 L
-385.0732 425.913 l
-384.1124 425.913 383.4521 426.0255 383.0919 426.252 c
-382.7316 426.4778 382.5515 426.8732 382.5515 427.4388 c
-382.5515 427.9613 382.6999 428.3394 382.9965 428.5725 c
-383.2932 428.8056 383.7732 428.9222 384.4376 428.9222 C
-385.4336 428.9222 L
-387.468 428.9222 l
-387.8493 428.9222 388.1461 428.8441 388.358 428.6891 c
-388.5699 428.5334 388.6757 428.3216 388.6757 428.0532 C
-388.6757 426.6124 l
-389.707 427.5726 390.7275 428.2825 391.7379 428.7421 c
-392.7479 429.201 393.7968 429.4307 394.8849 429.4307 c
-397.018 429.4307 398.6954 428.7666 399.9179 427.4388 c
-401.1396 426.1103 401.7509 424.274 401.7509 421.929 C
-401.7509 412.3292 L
-402.747 412.3292 l
-403.4529 412.3292 403.9614 412.2127 404.2727 411.9796 c
-404.5833 411.7464 404.7389 411.3757 404.7389 410.8671 c
-404.7389 410.3161 404.5727 409.9241 404.2409 409.691 c
-403.9085 409.4579 403.3191 409.3413 402.4714 409.3413 C
-397.7882 409.3413 l
-396.8835 409.3413 396.3047 409.4472 396.0505 409.6592 c
-395.7962 409.8711 395.669 410.2736 395.669 410.8671 c
-395.669 411.418 395.8174 411.7994 396.114 412.0113 c
-396.4107 412.2234 396.9683 412.3292 397.7882 412.3292 C
-398.5299 412.3292 L
-398.5299 421.1449 l
-398.5299 422.7978 398.1549 424.0587 397.4067 424.9275 c
-396.6576 425.7964 395.5697 426.2309 394.1432 426.2309 c
-392.7022 426.2309 391.4307 425.7434 390.3288 424.7686 c
-389.2268 423.7938 388.6757 422.5859 388.6757 421.1449 C
-388.6757 412.3292 L
-389.4176 412.3292 l
-390.2651 412.3292 390.8374 412.2234 391.1341 412.0113 c
-391.4307 411.7994 391.5791 411.418 391.5791 410.8671 c
-391.5791 410.2736 391.4519 409.8711 391.1976 409.6592 c
-390.9432 409.4472 390.3215 409.3413 389.3328 409.3413 C
-385.4759 409.3413 L
-384.3316 409.3413 l
-383.7521 409.3413 383.3177 409.4645 383.0283 409.7121 c
-382.7383 409.9591 382.5938 410.3439 382.5938 410.8671 c
-382.5938 411.4319 382.7594 411.8167 383.0919 412.022 c
-383.4237 412.2266 384.0701 412.3292 385.0309 412.3292 c
-f
-*U
-*u
-414.1161 427.3116 m
-414.1161 417.1609 l
-414.1161 415.3809 414.4903 414.0809 415.2392 413.2617 c
-415.9876 412.4418 417.1744 412.0326 418.7994 412.0326 c
-420.3392 412.0326 421.6564 412.52 422.7516 413.4949 c
-423.8464 414.4696 424.394 415.6914 424.394 417.1609 C
-424.394 425.913 L
-421.4907 425.913 l
-420.9398 425.913 420.5404 426.0296 420.2935 426.2627 c
-420.0458 426.4958 419.9226 426.8593 419.9226 427.354 c
-419.9226 427.8903 420.0563 428.2864 420.3253 428.5407 c
-420.5934 428.7951 421.0246 428.9222 421.6179 428.9222 C
-426.1317 428.9222 l
-426.6682 428.9222 427.0462 428.8056 427.2654 428.5725 c
-427.4839 428.3394 427.5938 427.7705 427.5938 426.8666 C
-427.5938 412.3292 L
-428.5688 412.3292 l
-429.2607 412.3292 429.7587 412.2161 430.0627 411.9903 c
-430.366 411.7636 430.5184 411.3896 430.5184 410.8671 c
-430.5184 410.3584 430.3733 409.977 430.0839 409.7227 c
-429.7939 409.4684 429.374 409.3413 428.823 409.3413 C
-425.6019 409.3413 l
-425.2205 409.3413 424.9238 409.4188 424.7119 409.5744 c
-424.5 409.7293 424.394 409.9413 424.394 410.2101 C
-424.394 411.6511 l
-423.0378 410.6055 421.8756 409.8883 420.9081 409.5002 c
-419.9398 409.1122 418.9194 408.9174 417.8459 408.9174 c
-415.5148 408.9174 413.7664 409.5354 412.601 410.7716 c
-411.4354 412.0075 410.8527 413.8763 410.8527 416.3768 C
-410.8527 425.913 L
-410.4077 425.913 l
-409.4467 425.913 408.7898 426.0255 408.4369 426.252 c
-408.0832 426.4778 407.9071 426.8732 407.9071 427.4388 c
-407.9071 427.9328 408.0447 428.3036 408.3203 428.5513 c
-408.5958 428.7983 409.0229 428.9222 409.6023 428.9222 C
-412.8023 428.9222 l
-413.2963 428.9222 413.6393 428.8228 413.8301 428.6255 c
-414.0208 428.4274 414.1161 427.9897 414.1161 427.3116 c
-f
-*U
-*u
-447.2096 417.5424 m
-442.3356 412.3292 L
-442.9502 412.3292 l
-443.6561 412.3292 444.2071 412.1981 444.6031 411.9373 c
-444.9984 411.6756 445.1964 411.3049 445.1964 410.8247 c
-445.1964 410.3161 445.023 409.9413 444.6772 409.7015 c
-444.3309 409.4611 443.7831 409.3413 443.035 409.3413 C
-437.186 409.3413 l
-436.7623 409.3413 436.4085 409.4824 436.1265 409.7651 c
-435.8437 410.0472 435.7027 410.4009 435.7027 410.8247 c
-435.7027 411.3472 435.8933 411.7286 436.2748 411.969 c
-436.6562 412.2088 437.2635 412.3292 438.0973 412.3292 C
-438.5212 412.3292 L
-445.3871 419.3649 L
-438.6483 425.913 L
-438.3516 425.913 l
-437.5317 425.913 436.9636 426.0223 436.6457 426.2414 c
-436.3278 426.46 436.1689 426.8455 436.1689 427.3963 c
-436.1689 427.9751 436.349 428.3746 436.7092 428.5937 c
-437.0695 428.8123 437.7583 428.9222 438.7754 428.9222 C
-443.1196 428.9222 l
-443.8825 428.9222 444.4368 428.7983 444.7832 428.5513 c
-445.1289 428.3036 445.3025 427.9189 445.3025 427.3963 c
-445.3025 426.9155 445.1076 426.5487 444.7197 426.2945 c
-444.3309 426.0401 443.7694 425.913 443.035 425.913 C
-442.8654 425.913 L
-447.4215 421.4416 L
-451.7658 425.913 L
-451.3208 425.913 l
-450.5294 425.913 449.9433 426.0296 449.5619 426.2627 c
-449.1804 426.4958 448.9898 426.8593 448.9898 427.354 c
-448.9898 427.9049 449.1592 428.3036 449.4983 428.5513 c
-449.8373 428.7983 450.3883 428.9222 451.1512 428.9222 C
-456.661 428.9222 l
-457.0988 428.9222 457.4557 428.7844 457.7312 428.5089 c
-458.0066 428.2335 458.1444 427.8765 458.1444 427.4388 c
-458.1444 426.9155 457.9676 426.5308 457.6146 426.2838 c
-457.261 426.0362 456.6961 425.913 455.9194 425.913 C
-455.3259 425.913 L
-449.244 419.5767 L
-456.661 412.3292 L
-456.8729 412.3292 l
-457.4094 412.3292 457.8265 412.1981 458.1231 411.9373 c
-458.4198 411.6756 458.5682 411.3049 458.5682 410.8247 c
-458.5682 410.2591 458.3988 409.8711 458.0596 409.6592 c
-457.7206 409.4472 457.0213 409.3413 455.9617 409.3413 C
-451.6386 409.3413 l
-450.8896 409.3413 450.3387 409.4611 449.9856 409.7015 c
-449.6321 409.9413 449.4559 410.3161 449.4559 410.8247 c
-449.4559 411.2909 449.6254 411.6578 449.9646 411.9267 c
-450.3036 412.1949 450.7698 412.3292 451.3631 412.3292 C
-452.5498 412.3292 L
-447.2096 417.5424 l
-f
-*U
-U
-u
-0 R
-0 G
-1.5 w
-201.2092 463.7972 m
-201.2092 426.5972 l
-S
-200.4342 427.3722 m
-334.8323 427.3722 l
-S
-U
-*u
-0 O
-0 g
-1 w
-476.0812 478.2771 m
-476.5944 477.7618 476.8511 477.1422 476.8511 476.4175 c
-476.8511 475.7036 476.5927 475.0872 476.0759 474.5687 c
-475.559 474.05 474.9399 473.7907 474.219 473.7907 c
-473.4978 473.7907 472.8798 474.0491 472.3648 474.5661 c
-471.8497 475.0828 471.5922 475.6999 471.5922 476.4175 c
-471.5922 477.135 471.8506 477.753 472.3675 478.2718 c
-472.8843 478.7903 473.5014 479.0497 474.219 479.0497 c
-474.9471 479.0497 475.5678 478.7921 476.0812 478.2771 c
-f
-1 D
-474.6212 477.5791 m
-474.7332 477.5008 474.7891 477.3801 474.7891 477.2167 c
-474.7891 477.0533 474.7296 476.93 474.6105 476.8464 c
-474.4915 476.7629 474.315 476.7213 474.0804 476.7213 c
-473.7714 476.7213 L
-473.7714 477.6963 L
-474.0912 477.6963 l
-474.3326 477.6963 474.5093 477.6572 474.6212 477.5791 c
-f
-473.8728 476.1672 m
-473.9792 476.1672 474.06 476.1466 474.1152 476.1058 c
-474.17 476.0649 474.2526 475.961 474.3628 475.7941 c
-474.917 474.9576 L
-474.9844 474.8474 475.0456 474.7738 475.1008 474.7366 c
-475.1557 474.6992 475.2223 474.6806 475.3006 474.6806 c
-475.6204 474.6806 L
-475.7126 474.6806 475.7845 474.7072 475.8361 474.7604 c
-475.8876 474.8137 475.9133 474.8866 475.9133 474.979 c
-475.9133 475.0854 475.8831 475.1609 475.8228 475.2054 c
-475.7624 475.2498 475.654 475.2719 475.4978 475.2719 c
-474.9436 476.1139 L
-474.9151 476.1565 474.8903 476.1911 474.8691 476.2177 c
-474.8477 476.2444 474.828 476.263 474.8105 476.2737 c
-475.0163 476.3447 475.1789 476.4618 475.298 476.6254 c
-475.4169 476.7888 475.4765 476.9769 475.4765 477.1902 c
-475.4765 477.5594 475.3521 477.8322 475.1034 478.008 c
-474.8547 478.1838 474.4695 478.2718 473.9473 478.2718 c
-472.9348 478.2718 L
-472.8425 478.2718 472.7698 478.2459 472.7164 478.1944 c
-472.6631 478.1428 472.6366 478.0709 472.6366 477.9787 c
-472.6366 477.8827 472.6641 477.8117 472.7191 477.7656 c
-472.7741 477.7192 472.8567 477.6963 472.9669 477.6963 c
-473.0734 477.6963 L
-473.1534 477.6963 L
-473.1534 475.2719 L
-473.0734 475.2719 L
-472.9562 475.2719 L
-472.8497 475.2719 472.7698 475.2481 472.7164 475.2 c
-472.6631 475.1521 472.6366 475.0783 472.6366 474.979 c
-472.6366 474.8866 472.6631 474.8137 472.7164 474.7604 c
-472.7698 474.7072 472.8425 474.6806 472.9348 474.6806 c
-473.894 474.6806 L
-474.0288 474.6806 474.1266 474.7035 474.1871 474.7499 c
-474.2474 474.7959 474.2776 474.8723 474.2776 474.979 c
-474.2776 475.0749 474.2457 475.1476 474.1817 475.1974 c
-474.1178 475.247 474.0254 475.2719 473.9047 475.2719 c
-473.7714 475.2719 L
-473.7714 476.1672 l
-473.8728 476.1672 L
-f
-471.9892 474.177 m
-472.6019 473.5607 473.3451 473.2526 474.219 473.2526 c
-475.0928 473.2526 475.8369 473.5624 476.4515 474.1824 c
-477.0659 474.8021 477.3733 475.5472 477.3733 476.4175 c
-477.3733 477.2877 477.0651 478.0309 476.4488 478.6474 c
-475.8324 479.2636 475.0892 479.5718 474.219 479.5718 c
-473.3487 479.5718 472.6062 479.2644 471.9918 478.65 c
-471.3772 478.0354 471.07 477.2914 471.07 476.4175 c
-471.07 475.5401 471.3765 474.7933 471.9892 474.177 c
-f
-*U
-U
-LB
-%AI5_EndLayer--
-%%PageTrailer
-gsave annotatepage grestore showpage
-%%Trailer
-Adobe_Illustrator_AI5 /terminate get exec
-Adobe_ColorImage_AI6 /terminate get exec
-Adobe_level2_AI5 /terminate get exec
-%%EOF
-
-%%EndDocument
- @endspecial 14290 63035 a
- currentpoint currentpoint translate 1 0.75 div 1 0.75 div scale neg
-exch neg exch translate
- 14290 63035 a Black Black
-eop end
-%%Page: 4 4
-TeXDict begin 4 3 bop -8000 -8000 a
-SDict begin /product where{pop product(Distiller)search{pop pop pop
-version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
-closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
-grestore}if}{pop}ifelse}{pop}ifelse}if end
- -8000 -8000 a Black
-0 TeXcolorgray -30 -1358 a
-SDict begin H.S end
- -30 -1358 a 0 TeXcolorgray
-0 TeXcolorgray -30 -1358 a
-SDict begin H.R end
- -30 -1358 a -30 -1358 a
-SDict begin [ /View [/XYZ H.V] /Dest (page.4) cvn H.B /DEST pdfmark
-end
- -30
--1358 a Black Black 4848 x FX(Slackwar)-28 b(e)387 b(Linux)f
-(Essentials,)g(Second)g(Edition)-30 5303 y FW(Cop)-14
-b(yright)351 b(\251)e(1998,)h(1999,)g(2000,)f(2001,)h(2002,)g(2003,)g
-(2004,)g(2005)g(Slackw)-14 b(are)351 b(Linux,)f(Inc.)-30
-7117 y(All)e(rights)h(reserv)-21 b(ed.)351 b(Printed)f(in)f(Canada.)-30
-10037 y(Published)h(by)g(Slackw)-14 b(are)350 b(Linux,)g(Inc.,)f(1164)h
-(Claremont)h(Dri)-35 b(v)-21 b(e,)349 b(Brentw)-14 b(ood,)351
-b(CA)e(94513)-30 13158 y FV(Lead)387 b(A)-46 b(uthor)-101
-b(,)386 b(Second)h(Edition:)f FU(Alan)h(Hicks.)-30 16280
-y FV(Editors,)g(Second)f(Edition:)g FU(Murray)h(Stok)-15
-b(ely)386 b(and)i(FuKang)e(Chen.)-30 19402 y FV(A)-46
-b(uthors,)386 b(F)-62 b(irst)386 b(Edition:)g FU(Chris)h(Lumens,)g(Da)
--31 b(vid)387 b(Cantrell,)g(and)g(Log)-8 b(an)388 b(Johnson.)-30
-22322 y FV(Print)f(History:)-30 24188 y
-SDict begin H.S end
- -30 24188 a -30
-24188 a
-SDict begin 16.38 H.A end
- -30 24188 a -30 24188 a
-SDict begin [ /View [/XYZ H.V] /Dest (table.1) cvn H.B /DEST pdfmark
-end
- -30 24188 a 1564 25775
-a FW(June,)349 b(2000)5913 b(First)349 b(Edition)1564
-27695 y(May)-91 b(,)349 b(2005)6004 b(Second)351 b(Edition)-30
-32738 y FT(Slackw)-9 b(are)232 b(Linux)h(is)g(a)f(re)-14
-b(gistered)232 b(trademark)g(of)g(P)-14 b(atrick)232
-b(V)-120 b(olk)-9 b(erding)233 b(and)f(Slackw)-9 b(are)232
-b(Linux,)h(Inc.)-30 34350 y(Linux)g(is)g(a)f(re)-14 b(gistered)232
-b(trademark)g(of)g(Linus)g(T)-74 b(orv)-23 b(alds.)-30
-35961 y(America)233 b(Online)g(and)g(A)-51 b(OL)233 b(are)f(re)-14
-b(gistered)231 b(trademarks)h(of)g(America)h(Online,)h(Inc.)e(in)h(the)
-g(United)g(States)g(and/or)f(other)h(countries.)-30 37573
-y(Apple,)h(FireW)-37 b(ire,)232 b(Mac,)g(Macintosh,)h(Mac)f(OS,)h
-(Quicktime,)i(and)d(T)-33 b(rueT)-74 b(ype)232 b(are)f(trademarks)h(of)
-g(Apple)h(Computer)-37 b(,)233 b(Inc.,)g(re)-14 b(gistered)232
-b(in)h(the)f(United)-30 39185 y(States)h(and)f(other)g(countries.)-30
-40797 y(IBM,)g(AIX,)i(EtherJet,)f(Net\002nity)-60 b(,)234
-b(OS/2,)f(Po)-23 b(werPC,)233 b(PS/2,)g(S/390,)g(and)g(ThinkP)-14
-b(ad)232 b(are)g(trademarks)g(of)g(International)h(Business)f(Machines)
-f(Corporation)-30 42408 y(in)i(the)g(United)g(States,)g(other)g
-(countries,)f(or)g(both.)-30 44020 y(IEEE,)h(POSIX,)g(and)f(802)h(are)e
-(re)-14 b(gistered)232 b(trademarks)g(of)g(Institute)h(of)f(Electrical)
-i(and)e(Electronics)h(Engineers,)f(Inc.)h(in)g(the)f(United)i(States.)
--30 45632 y(Intel,)f(Celeron,)g(EtherExpress,)f(i386,)h(i486,)g
-(Itanium,)h(Pentium,)g(and)e(Xeon)h(are)e(trademarks)h(or)g(re)-14
-b(gistered)232 b(trademarks)g(of)g(Intel)h(Corporation)f(or)g(its)-30
-47243 y(subsidiaries)g(in)h(the)g(United)g(States)g(and)f(other)h
-(countries.)-30 48855 y(Microsoft,)f(IntelliMouse,)i(MS-DOS,)e
-(Outlook,)i(W)-37 b(indo)-23 b(ws,)233 b(W)-37 b(indo)-23
-b(ws)232 b(Media)g(and)g(W)-37 b(indo)-23 b(ws)232 b(NT)h(are)f(either)
-h(re)-14 b(gistered)232 b(trademarks)f(or)h(trademarks)-30
-50467 y(of)g(Microsoft)g(Corporation)g(in)h(the)g(United)g(States)g
-(and/or)f(other)h(countries.)-30 52079 y(Netscape)f(and)h(the)f
-(Netscape)h(Na)-19 b(vig)-5 b(ator)233 b(are)f(re)-14
-b(gistered)232 b(trademarks)g(of)g(Netscape)g(Communications)i
-(Corporation)e(in)h(the)g(U.S.)g(and)g(other)f(countries.)-30
-53690 y(Red)h(Hat,)g(RPM,)g(are)f(trademarks)f(or)h(re)-14
-b(gistered)232 b(trademarks)g(of)g(Red)g(Hat,)i(Inc.)e(in)h(the)g
-(United)g(States)g(and)f(other)h(countries.)-30 55302
-y(XFree86)f(is)h(a)f(trademark)g(of)g(The)g(XFree86)g(Project,)i(Inc.)
--30 56914 y(Man)-14 b(y)232 b(of)g(the)h(designations)f(used)g(by)g
-(manuf)-9 b(acturers)231 b(and)h(sellers)h(to)f(distinguish)i(their)f
-(products)f(are)f(claimed)j(as)e(trademarks.)g(Where)f(those)-30
-58526 y(designations)c(appear)g(in)g(this)h(document,)g(and)f(Slackw)-9
-b(are)227 b(Linux,)h(Inc.)f(w)-9 b(as)227 b(a)-14 b(w)-9
-b(are)226 b(of)h(the)g(trademark)g(claim,)i(the)e(designations)h(ha)-19
-b(v)-14 b(e)227 b(been)f(follo)-23 b(wed)228 b(by)-30
-60137 y(the)233 b(\223\231\224)f(or)g(the)h(\223\256\224)f(symbol.)-30
-65716 y FW(ISBN:)350 b(1-57176-338-4)p Black Black eop
-end
-%%Page: 5 5
-TeXDict begin 5 4 bop -8000 -8000 a
-SDict begin /product where{pop product(Distiller)search{pop pop pop
-version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
-closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
-grestore}if}{pop}ifelse}{pop}ifelse}if end
- -8000 -8000 a Black
-0 TeXcolorgray -30 -1358 a
-SDict begin H.S end
- -30 -1358 a 0 TeXcolorgray
-0 TeXcolorgray -30 -1358 a
-SDict begin H.R end
- -30 -1358 a -30 -1358 a
-SDict begin [ /View [/XYZ H.V] /Dest (page.5) cvn H.B /DEST pdfmark
-end
- -30
--1358 a Black Black 6086 x FS(T)-257 b(ab)-32 b(le)894
-b(of)g(Contents)p 0 TeXcolorgray -30 8349 a
-SDict begin H.S end
- -30 8349
-a FX(Pr)-28 b(eface)4932 8349 y
-SDict begin 18.2 H.L end
- 4932 8349 a 4932 8349
-a
-SDict begin [ /Subtype /Link /Dest (BOOK-PREFACE) cvn /H /I /Border
-[0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 4932 8349 a Black Black 75 w FX(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black 0 TeXcolorgray 50226 8349 a
-SDict begin H.S end
-
-50226 8349 a FX(xv)51776 8349 y
-SDict begin 18.2 H.L end
- 51776 8349 a 51776 8349
-a
-SDict begin [ /Subtype /Link /Dest (BOOK-PREFACE) cvn /H /I /Border
-[0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 51776 8349 a Black 0 TeXcolorgray -30 10629 a
-SDict begin H.S end
- -30 10629
-a FX(1)387 b(An)g(Intr)-28 b(oduction)386 b(to)i(Slackwar)-28
-b(e)386 b(Linux)25187 10629 y
-SDict begin 18.2 H.L end
- 25187 10629 a 25187 10629
-a
-SDict begin [ /Subtype /Link /Dest (INTRODUCTION) cvn /H /I /Border
-[0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 25187 10629 a Black Black 354 w FX(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black 0 TeXcolorgray 51001 10629 a
-SDict begin H.S end
- 51001
-10629 a FX(1)51776 10629 y
-SDict begin 18.2 H.L end
- 51776 10629 a 51776 10629
-a
-SDict begin [ /Subtype /Link /Dest (INTRODUCTION) cvn /H /I /Border
-[0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 51776 10629 a Black 0 TeXcolorgray 2627 12910 a
-SDict begin H.S end
- 2627
-12910 a FU(1.1)h(What)h(is)f(Linux?)14508 12910 y
-SDict begin 18.2 H.L end
- 14508
-12910 a 14508 12910 a
-SDict begin [ /Subtype /Link /Dest (INTRODUCTION-LINUX) cvn /H /I /Border
-[0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 14508 12910 a Black Black 185 w
-FU(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black 0 TeXcolorgray 51001 12910 a
-SDict begin H.S end
- 51001 12910
-a FU(1)51776 12910 y
-SDict begin 18.2 H.L end
- 51776 12910 a 51776 12910 a
-SDict begin [ /Subtype /Link /Dest (INTRODUCTION-LINUX) cvn /H /I /Border
-[0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 51776
-12910 a Black 0 TeXcolorgray 5284 14924 a
-SDict begin H.S end
- 5284 14924
-a FU(1.1.1)g(A)h(W)-124 b(ord)387 b(on)g(GNU)19363 14924
-y
-SDict begin 18.2 H.L end
- 19363 14924 a 19363 14924 a
-SDict begin [ /Subtype /Link /Dest (INTRODUCTION-LINUX-GNU) cvn /H
-/I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 19363 14924 a Black Black
-366 w FU(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black 0 TeXcolorgray 51001 14924
-a
-SDict begin H.S end
- 51001 14924 a FU(1)51776 14924 y
-SDict begin 18.2 H.L end
- 51776 14924 a 51776
-14924 a
-SDict begin [ /Subtype /Link /Dest (INTRODUCTION-LINUX-GNU) cvn /H
-/I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 51776 14924 a Black 0 TeXcolorgray 2627 16939
-a
-SDict begin H.S end
- 2627 16939 a FU(1.2)g(What)h(is)f(Slackw)-15 b(are?)17245
-16939 y
-SDict begin 18.2 H.L end
- 17245 16939 a 17245 16939 a
-SDict begin [ /Subtype /Link /Dest (INTRODUCTION-SLACKWARE) cvn /H
-/I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 17245 16939 a Black
-Black 160 w FU(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black 0 TeXcolorgray 51001 16939 a
-SDict begin H.S end
- 51001
-16939 a FU(2)51776 16939 y
-SDict begin 18.2 H.L end
- 51776 16939 a 51776 16939
-a
-SDict begin [ /Subtype /Link /Dest (INTRODUCTION-SLACKWARE) cvn /H
-/I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 51776 16939 a Black 0 TeXcolorgray 2627 18954 a
-SDict begin H.S end
- 2627
-18954 a FU(1.3)387 b(Open)h(Source)f(and)g(Free)g(Softw)-15
-b(are)24733 18954 y
-SDict begin 18.2 H.L end
- 24733 18954 a 24733 18954 a
-SDict begin [ /Subtype /Link /Dest (INTRODUCTION-OPENSOURCE) cvn /H
-/I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 24733
-18954 a Black Black 33 w FU(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black 0 TeXcolorgray 51001 18954 a
-SDict begin H.S end
- 51001 18954 a FU(3)51776
-18954 y
-SDict begin 18.2 H.L end
- 51776 18954 a 51776 18954 a
-SDict begin [ /Subtype /Link /Dest (INTRODUCTION-OPENSOURCE) cvn /H
-/I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 51776 18954 a Black
-0 TeXcolorgray -30 21234 a
-SDict begin H.S end
- -30 21234 a FX(2)387 b(Help)4319
-21234 y
-SDict begin 18.2 H.L end
- 4319 21234 a 4319 21234 a
-SDict begin [ /Subtype /Link /Dest (HELP) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 4319 21234 a Black
-Black 300 w FX(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black 0 TeXcolorgray 51001 21234 a
-SDict begin H.S end
- 51001 21234 a FX(7)51776
-21234 y
-SDict begin 18.2 H.L end
- 51776 21234 a 51776 21234 a
-SDict begin [ /Subtype /Link /Dest (HELP) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 51776 21234 a Black
-0 TeXcolorgray 2627 23514 a
-SDict begin H.S end
- 2627 23514 a FU(2.1)g(System)g(Help)12916
-23514 y
-SDict begin 18.2 H.L end
- 12916 23514 a 12916 23514 a
-SDict begin [ /Subtype /Link /Dest (HELP-SYSTEM) cvn /H /I /Border
-[0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 12916 23514 a Black
-Black 227 w FU(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black 0 TeXcolorgray 51001 23514 a
-SDict begin H.S end
- 51001 23514 a FU(7)51776
-23514 y
-SDict begin 18.2 H.L end
- 51776 23514 a 51776 23514 a
-SDict begin [ /Subtype /Link /Dest (HELP-SYSTEM) cvn /H /I /Border
-[0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 51776 23514 a Black
-0 TeXcolorgray 5284 25529 a
-SDict begin H.S end
- 5284 25529 a FU(2.1.1)g FR(man)11439
-25529 y
-SDict begin 18.2 H.L end
- 11439 25529 a 11439 25529 a
-SDict begin [ /Subtype /Link /Dest (HELP-SYSTEM-MAN) cvn /H /I /Border
-[0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 11439 25529 a Black
-Black 154 w FU(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black 0 TeXcolorgray 51001 25529 a
-SDict begin H.S end
- 51001 25529 a FU(7)51776
-25529 y
-SDict begin 18.2 H.L end
- 51776 25529 a 51776 25529 a
-SDict begin [ /Subtype /Link /Dest (HELP-SYSTEM-MAN) cvn /H /I /Border
-[0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 51776 25529 a Black
-0 TeXcolorgray 5284 27544 a
-SDict begin H.S end
- 5284 27544 a FU(2.1.2)g(The)h
-FQ(/usr/doc)382 b FU(Directory)22905 27544 y
-SDict begin 18.2 H.L end
- 22905 27544
-a 22905 27544 a
-SDict begin [ /Subtype /Link /Dest (HELP-SYSTEM-DOC) cvn /H /I /Border
-[0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 22905 27544 a Black Black 311 w FU(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black 0 TeXcolorgray 51001 27544
-a
-SDict begin H.S end
- 51001 27544 a FU(9)51776 27544 y
-SDict begin 18.2 H.L end
- 51776 27544 a 51776
-27544 a
-SDict begin [ /Subtype /Link /Dest (HELP-SYSTEM-DOC) cvn /H /I /Border
-[0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 51776 27544 a Black 0 TeXcolorgray 5284 29558
-a
-SDict begin H.S end
- 5284 29558 a FU(2.1.3)387 b(HO)-54 b(WT)-28 b(Os)387
-b(and)g(mini-HO)-54 b(WT)-28 b(Os)27717 29558 y
-SDict begin 18.2 H.L end
- 27717
-29558 a 27717 29558 a
-SDict begin [ /Subtype /Link /Dest (HELP-SYSTEM-HOWTO) cvn /H /I /Border
-[0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 27717 29558 a Black Black 149 w
-FU(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black 0 TeXcolorgray 51001 29558 a
-SDict begin H.S end
- 51001 29558 a FU(9)51776
-29558 y
-SDict begin 18.2 H.L end
- 51776 29558 a 51776 29558 a
-SDict begin [ /Subtype /Link /Dest (HELP-SYSTEM-HOWTO) cvn /H /I /Border
-[0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 51776 29558 a Black
-0 TeXcolorgray 2627 31573 a
-SDict begin H.S end
- 2627 31573 a FU(2.2)387 b(Online)g(Help)
-12570 31573 y
-SDict begin 18.2 H.L end
- 12570 31573 a 12570 31573 a
-SDict begin [ /Subtype /Link /Dest (HELP-ONLINE) cvn /H /I /Border
-[0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 12570 31573
-a Black Black 186 w FU(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black 0 TeXcolorgray 50226 31573
-a
-SDict begin H.S end
- 50226 31573 a FU(10)51776 31573 y
-SDict begin 18.2 H.L end
- 51776 31573 a 51776
-31573 a
-SDict begin [ /Subtype /Link /Dest (HELP-ONLINE) cvn /H /I /Border
-[0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 51776 31573 a Black 0 TeXcolorgray 5284 33588
-a
-SDict begin H.S end
- 5284 33588 a FU(2.2.1)g(The)h(Of)-39 b(\002cial)387
-b(W)-124 b(ebsite)387 b(and)g(Help)g(F)-23 b(orums)32732
-33588 y
-SDict begin 18.2 H.L end
- 32732 33588 a 32732 33588 a
-SDict begin [ /Subtype /Link /Dest (HELP-ONLINE-OFFICIAL) cvn /H /I
-/Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 32732 33588 a Black
-Black 170 w FU(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black(.)p Black Black 1 w(.)p Black 0 TeXcolorgray 50226
-33588 a
-SDict begin H.S end
- 50226 33588 a FU(10)51776 33588 y
-SDict begin 18.2 H.L end
- 51776 33588
-a 51776 33588 a
-SDict begin [ /Subtype /Link /Dest (HELP-ONLINE-OFFICIAL) cvn /H /I
-/Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 51776 33588 a Black 0 TeXcolorgray 5284
-35602 a
-SDict begin H.S end
- 5284 35602 a FU(2.2.2)387 b(E-mail)g(Support)18285
-35602 y
-SDict begin 18.2 H.L end
- 18285 35602 a 18285 35602 a
-SDict begin [ /Subtype /Link /Dest (HELP-ONLINE-EMAIL) cvn /H /I /Border
-[0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 18285 35602 a Black
-Black 282 w FU(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black(.)p Black Black 1 w(.)p Black 0
-TeXcolorgray 50226 35602 a
-SDict begin H.S end
- 50226 35602 a FU(11)51776
-35602 y
-SDict begin 18.2 H.L end
- 51776 35602 a 51776 35602 a
-SDict begin [ /Subtype /Link /Dest (HELP-ONLINE-EMAIL) cvn /H /I /Border
-[0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 51776 35602 a Black
-0 TeXcolorgray 5284 37617 a
-SDict begin H.S end
- 5284 37617 a FU(2.2.3)g(Non-Of)-39
-b(\002cial)387 b(W)-124 b(ebsites)387 b(and)g(Help)g(F)-23
-b(orums)33722 37617 y
-SDict begin 18.2 H.L end
- 33722 37617 a 33722 37617 a
-SDict begin [ /Subtype /Link /Dest (HELP-ONLINE-NONOFFICIAL) cvn /H
-/I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 33722
-37617 a Black Black 342 w FU(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black(.)p Black Black 1 w(.)p Black
-0 TeXcolorgray 50226 37617 a
-SDict begin H.S end
- 50226 37617 a FU(12)51776
-37617 y
-SDict begin 18.2 H.L end
- 51776 37617 a 51776 37617 a
-SDict begin [ /Subtype /Link /Dest (HELP-ONLINE-NONOFFICIAL) cvn /H
-/I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 51776 37617 a Black
-0 TeXcolorgray -30 39897 a
-SDict begin H.S end
- -30 39897 a FX(3)387 b(Installation)8712
-39897 y
-SDict begin 18.2 H.L end
- 8712 39897 a 8712 39897 a
-SDict begin [ /Subtype /Link /Dest (INSTALLATION) cvn /H /I /Border
-[0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 8712 39897 a Black
-Black 169 w FX(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black 0 TeXcolorgray 50226 39897
-a
-SDict begin H.S end
- 50226 39897 a FX(15)51776 39897 y
-SDict begin 18.2 H.L end
- 51776 39897 a 51776
-39897 a
-SDict begin [ /Subtype /Link /Dest (INSTALLATION) cvn /H /I /Border
-[0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 51776 39897 a Black 0 TeXcolorgray 2627 42178
-a
-SDict begin H.S end
- 2627 42178 a FU(3.1)g(Getting)g(Slackw)-15 b(are)16428
-42178 y
-SDict begin 18.2 H.L end
- 16428 42178 a 16428 42178 a
-SDict begin [ /Subtype /Link /Dest (INSTALLATION-GETTING) cvn /H /I
-/Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 16428 42178 a Black
-Black 202 w FU(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black 0 TeXcolorgray 50226 42178
-a
-SDict begin H.S end
- 50226 42178 a FU(15)51776 42178 y
-SDict begin 18.2 H.L end
- 51776 42178 a 51776
-42178 a
-SDict begin [ /Subtype /Link /Dest (INSTALLATION-GETTING) cvn /H /I
-/Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 51776 42178 a Black 0 TeXcolorgray 5284 44192
-a
-SDict begin H.S end
- 5284 44192 a FU(3.1.1)387 b(The)h(Of)-39 b(\002cial)387
-b(Disc)g(and)g(Box)g(Sets)28059 44192 y
-SDict begin 18.2 H.L end
- 28059 44192 a
-28059 44192 a
-SDict begin [ /Subtype /Link /Dest (640) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 28059 44192 a Black Black 194 w FU(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black(.)p Black Black 1 w(.)p Black 0
-TeXcolorgray 50226 44192 a
-SDict begin H.S end
- 50226 44192 a FU(15)51776
-44192 y
-SDict begin 18.2 H.L end
- 51776 44192 a 51776 44192 a
-SDict begin [ /Subtype /Link /Dest (640) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 51776 44192 a Black
-0 TeXcolorgray 5284 46207 a
-SDict begin H.S end
- 5284 46207 a FU(3.1.2)g(V)-93
-b(ia)388 b(the)f(Internet)18404 46207 y
-SDict begin 18.2 H.L end
- 18404 46207 a
-18404 46207 a
-SDict begin [ /Subtype /Link /Dest (682) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 18404 46207 a Black Black 163 w FU(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black 0 TeXcolorgray 50226 46207
-a
-SDict begin H.S end
- 50226 46207 a FU(16)51776 46207 y
-SDict begin 18.2 H.L end
- 51776 46207 a 51776
-46207 a
-SDict begin [ /Subtype /Link /Dest (682) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 51776 46207 a Black 0 TeXcolorgray 2627 48222
-a
-SDict begin H.S end
- 2627 48222 a FU(3.2)g(System)g(Requirements)18513 48222
-y
-SDict begin 18.2 H.L end
- 18513 48222 a 18513 48222 a
-SDict begin [ /Subtype /Link /Dest (INSTALLATION-REQUIREMENTS) cvn
-/H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 18513 48222 a Black Black
-54 w FU(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black(.)p Black Black 1 w(.)p Black 0 TeXcolorgray
-50226 48222 a
-SDict begin H.S end
- 50226 48222 a FU(17)51776 48222 y
-SDict begin 18.2 H.L end
- 51776
-48222 a 51776 48222 a
-SDict begin [ /Subtype /Link /Dest (INSTALLATION-REQUIREMENTS) cvn
-/H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 51776 48222 a Black 0 TeXcolorgray
-5284 50236 a
-SDict begin H.S end
- 5284 50236 a FU(3.2.1)g(The)h(Softw)-15
-b(are)386 b(Series)21322 50236 y
-SDict begin 18.2 H.L end
- 21322 50236 a 21322
-50236 a
-SDict begin [ /Subtype /Link /Dest (INSTALLATION-SOFTWARE-SERIES) cvn
-/H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 21322 50236 a Black Black 345 w FU(.)p Black
-Black(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black(.)p Black Black 1 w(.)p Black 0
-TeXcolorgray 50226 50236 a
-SDict begin H.S end
- 50226 50236 a FU(17)51776
-50236 y
-SDict begin 18.2 H.L end
- 51776 50236 a 51776 50236 a
-SDict begin [ /Subtype /Link /Dest (INSTALLATION-SOFTWARE-SERIES) cvn
-/H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 51776 50236 a Black
-0 TeXcolorgray 5284 52251 a
-SDict begin H.S end
- 5284 52251 a FU(3.2.2)h(Installation)g
-(Methods)21557 52251 y
-SDict begin 18.2 H.L end
- 21557 52251 a 21557 52251 a
-SDict begin [ /Subtype /Link /Dest (INSTALLATION-METHODS) cvn /H /I
-/Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 21557
-52251 a Black Black 110 w FU(.)p Black Black(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black(.)p Black Black 1 w(.)p Black 0 TeXcolorgray 50226
-52251 a
-SDict begin H.S end
- 50226 52251 a FU(18)51776 52251 y
-SDict begin 18.2 H.L end
- 51776 52251
-a 51776 52251 a
-SDict begin [ /Subtype /Link /Dest (INSTALLATION-METHODS) cvn /H /I
-/Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 51776 52251 a Black 0 TeXcolorgray 5284
-54266 a
-SDict begin H.S end
- 5284 54266 a FU(3.2.3)g(Boot)g(Disk)15100 54266
-y
-SDict begin 18.2 H.L end
- 15100 54266 a 15100 54266 a
-SDict begin [ /Subtype /Link /Dest (INSTALLATION-INSTALLATION-METHODS-BOOTDISK)
-cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 15100 54266 a Black Black
-368 w FU(.)p Black Black(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black 0 TeXcolorgray 50226 54266
-a
-SDict begin H.S end
- 50226 54266 a FU(20)51776 54266 y
-SDict begin 18.2 H.L end
- 51776 54266 a 51776
-54266 a
-SDict begin [ /Subtype /Link /Dest (INSTALLATION-INSTALLATION-METHODS-BOOTDISK)
-cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 51776 54266 a Black 0 TeXcolorgray 5284 56280
-a
-SDict begin H.S end
- 5284 56280 a FU(3.2.4)g(Root)g(Disk)15100 56280 y
-SDict begin 18.2 H.L end
- 15100
-56280 a 15100 56280 a
-SDict begin [ /Subtype /Link /Dest (INSTALLATION-INSTALLATION-METHODS-ROOTDISK)
-cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 15100 56280 a Black Black 368 w
-FU(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black 0 TeXcolorgray 50226 56280
-a
-SDict begin H.S end
- 50226 56280 a FU(20)51776 56280 y
-SDict begin 18.2 H.L end
- 51776 56280 a 51776
-56280 a
-SDict begin [ /Subtype /Link /Dest (INSTALLATION-INSTALLATION-METHODS-ROOTDISK)
-cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 51776 56280 a Black 0 TeXcolorgray 5284 58295
-a
-SDict begin H.S end
- 5284 58295 a FU(3.2.5)g(Supplemental)f(Disk)20609 58295
-y
-SDict begin 18.2 H.L end
- 20609 58295 a 20609 58295 a
-SDict begin [ /Subtype /Link /Dest (INSTALLATION-SUPPLEMENTAL-DISK)
-cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 20609 58295 a Black Black
-283 w FU(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black(.)p Black Black 1 w(.)p Black 0
-TeXcolorgray 50226 58295 a
-SDict begin H.S end
- 50226 58295 a FU(21)51776
-58295 y
-SDict begin 18.2 H.L end
- 51776 58295 a 51776 58295 a
-SDict begin [ /Subtype /Link /Dest (INSTALLATION-SUPPLEMENTAL-DISK)
-cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 51776 58295 a Black
-0 TeXcolorgray 5284 60310 a
-SDict begin H.S end
- 5284 60310 a FU(3.2.6)h(Making)g(the)g
-(Disks)19791 60310 y
-SDict begin 18.2 H.L end
- 19791 60310 a 19791 60310 a
-SDict begin [ /Subtype /Link /Dest (INSTALLATION-MAKING-THE-DISKS)
-cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 19791
-60310 a Black Black 326 w FU(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black(.)p Black Black 1 w(.)p Black 0
-TeXcolorgray 50226 60310 a
-SDict begin H.S end
- 50226 60310 a FU(21)51776
-60310 y
-SDict begin 18.2 H.L end
- 51776 60310 a 51776 60310 a
-SDict begin [ /Subtype /Link /Dest (INSTALLATION-MAKING-THE-DISKS)
-cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 51776 60310 a Black
-0 TeXcolorgray 2627 62324 a
-SDict begin H.S end
- 2627 62324 a FU(3.3)g(P)-23
-b(artitioning)12249 62324 y
-SDict begin 18.2 H.L end
- 12249 62324 a 12249 62324
-a
-SDict begin [ /Subtype /Link /Dest (INSTALLATION-PARTITIONING) cvn
-/H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 12249 62324 a Black Black 119 w FU(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black 0 TeXcolorgray 50226 62324
-a
-SDict begin H.S end
- 50226 62324 a FU(22)51776 62324 y
-SDict begin 18.2 H.L end
- 51776 62324 a 51776
-62324 a
-SDict begin [ /Subtype /Link /Dest (INSTALLATION-PARTITIONING) cvn
-/H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 51776 62324 a Black 0 TeXcolorgray 2627 64339
-a
-SDict begin H.S end
- 2627 64339 a FU(3.4)387 b(The)h FR(setup)f FU(Program)16746
-64339 y
-SDict begin 18.2 H.L end
- 16746 64339 a 16746 64339 a
-SDict begin [ /Subtype /Link /Dest (INSTALLATION-SETUP) cvn /H /I /Border
-[0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 16746 64339 a Black
-Black 271 w FU(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black 0 TeXcolorgray 50226 64339
-a
-SDict begin H.S end
- 50226 64339 a FU(24)51776 64339 y
-SDict begin 18.2 H.L end
- 51776 64339 a 51776
-64339 a
-SDict begin [ /Subtype /Link /Dest (INSTALLATION-SETUP) cvn /H /I /Border
-[0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 51776 64339 a Black 0 TeXcolorgray 5284 66354
-a
-SDict begin H.S end
- 5284 66354 a FU(3.4.1)g(HELP)12645 66354 y
-SDict begin 18.2 H.L end
- 12645 66354
-a 12645 66354 a
-SDict begin [ /Subtype /Link /Dest (992) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 12645 66354 a Black Black 111 w FU(.)p
-Black Black(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black 0 TeXcolorgray 50226 66354
-a
-SDict begin H.S end
- 50226 66354 a FU(25)51776 66354 y
-SDict begin 18.2 H.L end
- 51776 66354 a 51776
-66354 a
-SDict begin [ /Subtype /Link /Dest (992) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 51776 66354 a Black Black 51088 73672 a FR(v)p
-Black eop end
-%%Page: 6 6
-TeXDict begin 6 5 bop -8000 -8000 a
-SDict begin /product where{pop product(Distiller)search{pop pop pop
-version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
-closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
-grestore}if}{pop}ifelse}{pop}ifelse}if end
- -8000 -8000 a Black
-0 TeXcolorgray -30 -1358 a
-SDict begin H.S end
- -30 -1358 a 0 TeXcolorgray
-0 TeXcolorgray -30 -1358 a
-SDict begin H.R end
- -30 -1358 a -30 -1358 a
-SDict begin [ /View [/XYZ H.V] /Dest (page.6) cvn H.B /DEST pdfmark
-end
- -30
--1358 a Black Black 0 TeXcolorgray 5284 3490 a
-SDict begin H.S end
- 5284 3490
-a FU(3.4.2)387 b(KEYMAP)15314 3490 y
-SDict begin 18.2 H.L end
- 15314 3490 a 15314
-3490 a
-SDict begin [ /Subtype /Link /Dest (1000) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 15314 3490 a Black Black 154 w FU(.)p Black Black(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black(.)p Black Black 1 w(.)p Black 0 TeXcolorgray 50226
-3490 a
-SDict begin H.S end
- 50226 3490 a FU(26)51776 3490 y
-SDict begin 18.2 H.L end
- 51776 3490 a 51776
-3490 a
-SDict begin [ /Subtype /Link /Dest (1000) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 51776 3490 a Black 0 TeXcolorgray 5284 5505 a
-SDict begin H.S end
-
-5284 5505 a FU(3.4.3)g(ADDSW)-186 b(AP)16247 5505 y
-SDict begin 18.2 H.L end
- 16247
-5505 a 16247 5505 a
-SDict begin [ /Subtype /Link /Dest (1012) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 16247 5505 a Black Black 383 w FU(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black 0 TeXcolorgray 50226 5505 a
-SDict begin H.S end
-
-50226 5505 a FU(27)51776 5505 y
-SDict begin 18.2 H.L end
- 51776 5505 a 51776 5505
-a
-SDict begin [ /Subtype /Link /Dest (1012) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 51776 5505 a Black 0 TeXcolorgray 5284 7520 a
-SDict begin H.S end
- 5284
-7520 a FU(3.4.4)387 b(T)-144 b(ARGET)14739 7520 y
-SDict begin 18.2 H.L end
- 14739
-7520 a 14739 7520 a
-SDict begin [ /Subtype /Link /Dest (1022) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 14739 7520 a Black Black 341 w FU(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black 0 TeXcolorgray 50226 7520 a
-SDict begin H.S end
-
-50226 7520 a FU(28)51776 7520 y
-SDict begin 18.2 H.L end
- 51776 7520 a 51776 7520
-a
-SDict begin [ /Subtype /Link /Dest (1022) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 51776 7520 a Black 0 TeXcolorgray 5284 9534 a
-SDict begin H.S end
- 5284
-9534 a FU(3.4.5)387 b(SOURCE)14885 9534 y
-SDict begin 18.2 H.L end
- 14885 9534
-a 14885 9534 a
-SDict begin [ /Subtype /Link /Dest (1034) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 14885 9534 a Black Black 195 w FU(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black 0 TeXcolorgray 50226 9534 a
-SDict begin H.S end
-
-50226 9534 a FU(28)51776 9534 y
-SDict begin 18.2 H.L end
- 51776 9534 a 51776 9534
-a
-SDict begin [ /Subtype /Link /Dest (1034) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 51776 9534 a Black 0 TeXcolorgray 5284 11549 a
-SDict begin H.S end
- 5284
-11549 a FU(3.4.6)g(SELECT)14454 11549 y
-SDict begin 18.2 H.L end
- 14454 11549 a
-14454 11549 a
-SDict begin [ /Subtype /Link /Dest (1053) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 14454 11549 a Black Black 239 w FU(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black 0 TeXcolorgray 50226 11549
-a
-SDict begin H.S end
- 50226 11549 a FU(29)51776 11549 y
-SDict begin 18.2 H.L end
- 51776 11549 a 51776
-11549 a
-SDict begin [ /Subtype /Link /Dest (1053) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 51776 11549 a Black 0 TeXcolorgray 5284 13564
-a
-SDict begin H.S end
- 5284 13564 a FU(3.4.7)g(INST)-144 b(ALL)15083 13564
-y
-SDict begin 18.2 H.L end
- 15083 13564 a 15083 13564 a
-SDict begin [ /Subtype /Link /Dest (1061) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 15083 13564 a Black Black
-385 w FU(.)p Black Black(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black 0 TeXcolorgray 50226 13564
-a
-SDict begin H.S end
- 50226 13564 a FU(30)51776 13564 y
-SDict begin 18.2 H.L end
- 51776 13564 a 51776
-13564 a
-SDict begin [ /Subtype /Link /Dest (1061) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 51776 13564 a Black 0 TeXcolorgray 5284 15578
-a
-SDict begin H.S end
- 5284 15578 a FU(3.4.8)387 b(CONFIGURE)17639 15578 y
-SDict begin 18.2 H.L end
-
-17639 15578 a 17639 15578 a
-SDict begin [ /Subtype /Link /Dest (1099) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 17639 15578 a Black Black
-153 w FU(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black 0 TeXcolorgray 50226 15578
-a
-SDict begin H.S end
- 50226 15578 a FU(32)51776 15578 y
-SDict begin 18.2 H.L end
- 51776 15578 a 51776
-15578 a
-SDict begin [ /Subtype /Link /Dest (1099) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 51776 15578 a Black 0 TeXcolorgray -30 17859
-a
-SDict begin H.S end
- -30 17859 a FX(4)g(System)g(Con\002guration)15556 17859
-y
-SDict begin 18.2 H.L end
- 15556 17859 a 15556 17859 a
-SDict begin [ /Subtype /Link /Dest (SYSTEM-CONFIGURATION) cvn /H /I
-/Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 15556 17859 a Black Black
-299 w FX(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black 0 TeXcolorgray 50226 17859
-a
-SDict begin H.S end
- 50226 17859 a FX(41)51776 17859 y
-SDict begin 18.2 H.L end
- 51776 17859 a 51776
-17859 a
-SDict begin [ /Subtype /Link /Dest (SYSTEM-CONFIGURATION) cvn /H /I
-/Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 51776 17859 a Black 0 TeXcolorgray 2627 20139
-a
-SDict begin H.S end
- 2627 20139 a FU(4.1)g(System)g(Ov)-23 b(ervie)-39 b(w)15952
-20139 y
-SDict begin 18.2 H.L end
- 15952 20139 a 15952 20139 a
-SDict begin [ /Subtype /Link /Dest (SYSTEM-CONFIGURATION-OVERVIEW)
-cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 15952 20139 a Black
-Black 290 w FU(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black(.)p Black Black 1 w(.)p Black 0 TeXcolorgray
-50226 20139 a
-SDict begin H.S end
- 50226 20139 a FU(41)51776 20139 y
-SDict begin 18.2 H.L end
- 51776
-20139 a 51776 20139 a
-SDict begin [ /Subtype /Link /Dest (SYSTEM-CONFIGURATION-OVERVIEW)
-cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 51776 20139 a Black 0 TeXcolorgray
-5284 22154 a
-SDict begin H.S end
- 5284 22154 a FU(4.1.1)387 b(File)g(System)g(Layout)20912
-22154 y
-SDict begin 18.2 H.L end
- 20912 22154 a 20912 22154 a
-SDict begin [ /Subtype /Link /Dest (SYSTEM-CONFIGURATION-LAYOUT) cvn
-/H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 20912 22154 a Black
-Black 367 w FU(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black(.)p Black Black 1 w(.)p Black 0 TeXcolorgray
-50226 22154 a
-SDict begin H.S end
- 50226 22154 a FU(41)51776 22154 y
-SDict begin 18.2 H.L end
- 51776
-22154 a 51776 22154 a
-SDict begin [ /Subtype /Link /Dest (SYSTEM-CONFIGURATION-LAYOUT) cvn
-/H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 51776 22154 a Black 0 TeXcolorgray
-5284 24168 a
-SDict begin H.S end
- 5284 24168 a FU(4.1.2)g(Finding)g(Files)16996
-24168 y
-SDict begin 18.2 H.L end
- 16996 24168 a 16996 24168 a
-SDict begin [ /Subtype /Link /Dest (SYSTEM-CONFIGURATION-FINDING) cvn
-/H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 16996 24168 a Black
-Black 21 w FU(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black 0 TeXcolorgray 50226 24168
-a
-SDict begin H.S end
- 50226 24168 a FU(44)51776 24168 y
-SDict begin 18.2 H.L end
- 51776 24168 a 51776
-24168 a
-SDict begin [ /Subtype /Link /Dest (SYSTEM-CONFIGURATION-FINDING) cvn
-/H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 51776 24168 a Black 0 TeXcolorgray 5284 26183
-a
-SDict begin H.S end
- 5284 26183 a FU(4.1.3)g(The)h FQ(/etc/rc.d)381 b FU(Directory)23531
-26183 y
-SDict begin 18.2 H.L end
- 23531 26183 a 23531 26183 a
-SDict begin [ /Subtype /Link /Dest (SYSTEM-CONFIGURATION-RCD) cvn /H
-/I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 23531 26183 a Black
-Black 73 w FU(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black(.)p Black Black 1 w(.)p Black 0
-TeXcolorgray 50226 26183 a
-SDict begin H.S end
- 50226 26183 a FU(46)51776
-26183 y
-SDict begin 18.2 H.L end
- 51776 26183 a 51776 26183 a
-SDict begin [ /Subtype /Link /Dest (SYSTEM-CONFIGURATION-RCD) cvn /H
-/I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 51776 26183 a Black
-0 TeXcolorgray 2627 28198 a
-SDict begin H.S end
- 2627 28198 a FU(4.2)387 b(Selecting)g(a)g
-(K)-39 b(ernel)16360 28198 y
-SDict begin 18.2 H.L end
- 16360 28198 a 16360 28198
-a
-SDict begin [ /Subtype /Link /Dest (SYSTEM-CONFIGURATION-KERNEL) cvn
-/H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 16360 28198 a Black Black 270 w FU(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black(.)p Black Black 1 w(.)p Black 0 TeXcolorgray
-50226 28198 a
-SDict begin H.S end
- 50226 28198 a FU(50)51776 28198 y
-SDict begin 18.2 H.L end
- 51776
-28198 a 51776 28198 a
-SDict begin [ /Subtype /Link /Dest (SYSTEM-CONFIGURATION-KERNEL) cvn
-/H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 51776 28198 a Black 0 TeXcolorgray
-5284 30212 a
-SDict begin H.S end
- 5284 30212 a FU(4.2.1)387 b(The)h FQ(/kernels)382
-b FU(Directory)387 b(on)g(the)g(Slackw)-15 b(are)387
-b(CD-R)-62 b(OM)40475 30212 y
-SDict begin 18.2 H.L end
- 40475 30212 a 40475 30212
-a
-SDict begin [ /Subtype /Link /Dest (1580) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 40475 30212 a Black Black 176 w FU(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black(.)p Black Black 1 w(.)p Black 0
-TeXcolorgray 50226 30212 a
-SDict begin H.S end
- 50226 30212 a FU(51)51776
-30212 y
-SDict begin 18.2 H.L end
- 51776 30212 a 51776 30212 a
-SDict begin [ /Subtype /Link /Dest (1580) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 51776 30212 a Black
-0 TeXcolorgray 5284 32227 a
-SDict begin H.S end
- 5284 32227 a FU(4.2.2)387
-b(Compiling)f(a)i(K)-39 b(ernel)387 b(from)g(Source)29134
-32227 y
-SDict begin 18.2 H.L end
- 29134 32227 a 29134 32227 a
-SDict begin [ /Subtype /Link /Dest (SYSTEM-CONFIGURATION-KERNEL-COMPILE)
-cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 29134 32227 a Black
-Black 281 w FU(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black 0 TeXcolorgray 50226 32227
-a
-SDict begin H.S end
- 50226 32227 a FU(51)51776 32227 y
-SDict begin 18.2 H.L end
- 51776 32227 a 51776
-32227 a
-SDict begin [ /Subtype /Link /Dest (SYSTEM-CONFIGURATION-KERNEL-COMPILE)
-cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 51776 32227 a Black 0 TeXcolorgray 5284 34242
-a
-SDict begin H.S end
- 5284 34242 a FU(4.2.3)g(Using)g(K)-39 b(ernel)388 b(Modules)22851
-34242 y
-SDict begin 18.2 H.L end
- 22851 34242 a 22851 34242 a
-SDict begin [ /Subtype /Link /Dest (SYSTEM-CONFIGURATION-KERNEL-MODULES)
-cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 22851 34242 a Black
-Black 365 w FU(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black 0 TeXcolorgray 50226 34242
-a
-SDict begin H.S end
- 50226 34242 a FU(55)51776 34242 y
-SDict begin 18.2 H.L end
- 51776 34242 a 51776
-34242 a
-SDict begin [ /Subtype /Link /Dest (SYSTEM-CONFIGURATION-KERNEL-MODULES)
-cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 51776 34242 a Black 0 TeXcolorgray -30 36522
-a
-SDict begin H.S end
- -30 36522 a FX(5)f(Netw)-15 b(ork)387 b(Con\002guration)16573
-36522 y
-SDict begin 18.2 H.L end
- 16573 36522 a 16573 36522 a
-SDict begin [ /Subtype /Link /Dest (NETWORK-CONFIGURATION) cvn /H /I
-/Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 16573 36522 a Black
-Black 57 w FX(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black 0 TeXcolorgray 50226 36522
-a
-SDict begin H.S end
- 50226 36522 a FX(57)51776 36522 y
-SDict begin 18.2 H.L end
- 51776 36522 a 51776
-36522 a
-SDict begin [ /Subtype /Link /Dest (NETWORK-CONFIGURATION) cvn /H /I
-/Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 51776 36522 a Black 0 TeXcolorgray 2627 38802
-a
-SDict begin H.S end
- 2627 38802 a FU(5.1)g(Introduction:)g(netcon\002g)f(is)h(your)g
-(friend.)28324 38802 y
-SDict begin 18.2 H.L end
- 28324 38802 a 28324 38802 a
-SDict begin [ /Subtype /Link /Dest (NETWORK-CONFIGURATION-NETCONFIG)
-cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 28324
-38802 a Black Black 316 w FU(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black 0 TeXcolorgray 50226 38802
-a
-SDict begin H.S end
- 50226 38802 a FU(57)51776 38802 y
-SDict begin 18.2 H.L end
- 51776 38802 a 51776
-38802 a
-SDict begin [ /Subtype /Link /Dest (NETWORK-CONFIGURATION-NETCONFIG)
-cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 51776 38802 a Black 0 TeXcolorgray 2627 40817
-a
-SDict begin H.S end
- 2627 40817 a FU(5.2)g(Netw)-15 b(ork)387 b(Hardw)-15
-b(are)387 b(Con\002guration)25839 40817 y
-SDict begin 18.2 H.L end
- 25839 40817
-a 25839 40817 a
-SDict begin [ /Subtype /Link /Dest (NETWORK-CONFIGURATION-HARDWARE)
-cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 25839 40817 a Black Black 89 w FU(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black(.)p Black Black 1 w(.)p Black 0 TeXcolorgray
-50226 40817 a
-SDict begin H.S end
- 50226 40817 a FU(58)51776 40817 y
-SDict begin 18.2 H.L end
- 51776
-40817 a 51776 40817 a
-SDict begin [ /Subtype /Link /Dest (NETWORK-CONFIGURATION-HARDWARE)
-cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 51776 40817 a Black 0 TeXcolorgray
-5284 42832 a
-SDict begin H.S end
- 5284 42832 a FU(5.2.1)g(Loading)g(Netw)-15
-b(ork)387 b(Modules)25543 42832 y
-SDict begin 18.2 H.L end
- 25543 42832 a 25543
-42832 a
-SDict begin [ /Subtype /Link /Dest (NETWORK-CONFIGURATION-HARDWARE-MODULES)
-cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 25543 42832 a Black Black 385 w FU(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black(.)p Black Black 1 w(.)p Black 0 TeXcolorgray 50226
-42832 a
-SDict begin H.S end
- 50226 42832 a FU(58)51776 42832 y
-SDict begin 18.2 H.L end
- 51776 42832
-a 51776 42832 a
-SDict begin [ /Subtype /Link /Dest (NETWORK-CONFIGURATION-HARDWARE-MODULES)
-cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 51776 42832 a Black 0 TeXcolorgray 5284
-44846 a
-SDict begin H.S end
- 5284 44846 a FU(5.2.2)g(LAN)h(\(10/100/1000Base-T)d(and)i
-(Base-2\))h(cards)36660 44846 y
-SDict begin 18.2 H.L end
- 36660 44846 a 36660 44846
-a
-SDict begin [ /Subtype /Link /Dest (NETWORK-CONFIGURATION-HARDWARE-LAN)
-cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 36660 44846 a Black Black 117 w FU(.)p Black Black(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black(.)p Black Black 1 w(.)p Black 0
-TeXcolorgray 50226 44846 a
-SDict begin H.S end
- 50226 44846 a FU(59)51776
-44846 y
-SDict begin 18.2 H.L end
- 51776 44846 a 51776 44846 a
-SDict begin [ /Subtype /Link /Dest (NETWORK-CONFIGURATION-HARDWARE-LAN)
-cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 51776 44846 a Black
-0 TeXcolorgray 5284 46861 a
-SDict begin H.S end
- 5284 46861 a FU(5.2.3)f(Modems)14195
-46861 y
-SDict begin 18.2 H.L end
- 14195 46861 a 14195 46861 a
-SDict begin [ /Subtype /Link /Dest (NETWORK-CONFIGURATION-HARDWARE-MODEMS)
-cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 14195 46861 a Black
-Black 110 w FU(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black 0 TeXcolorgray 50226 46861
-a
-SDict begin H.S end
- 50226 46861 a FU(59)51776 46861 y
-SDict begin 18.2 H.L end
- 51776 46861 a 51776
-46861 a
-SDict begin [ /Subtype /Link /Dest (NETWORK-CONFIGURATION-HARDWARE-MODEMS)
-cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 51776 46861 a Black 0 TeXcolorgray 5284 48876
-a
-SDict begin H.S end
- 5284 48876 a FU(5.2.4)g(PCMCIA)14713 48876 y
-SDict begin 18.2 H.L end
- 14713
-48876 a 14713 48876 a
-SDict begin [ /Subtype /Link /Dest (NETWORK-CONFIGURATION-HARDWARE-PCMCIA)
-cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 14713 48876 a Black Black 367 w
-FU(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black 0 TeXcolorgray 50226 48876
-a
-SDict begin H.S end
- 50226 48876 a FU(60)51776 48876 y
-SDict begin 18.2 H.L end
- 51776 48876 a 51776
-48876 a
-SDict begin [ /Subtype /Link /Dest (NETWORK-CONFIGURATION-HARDWARE-PCMCIA)
-cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 51776 48876 a Black 0 TeXcolorgray 2627 50890
-a
-SDict begin H.S end
- 2627 50890 a FU(5.3)g(TCP/IP)g(Con\002guration)18602
-50890 y
-SDict begin 18.2 H.L end
- 18602 50890 a 18602 50890 a
-SDict begin [ /Subtype /Link /Dest (NETWORK-CONFIGURATION-TCPIP) cvn
-/H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 18602 50890 a Black
-Black 352 w FU(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black(.)p Black Black 1 w(.)p Black 0 TeXcolorgray 50226
-50890 a
-SDict begin H.S end
- 50226 50890 a FU(61)51776 50890 y
-SDict begin 18.2 H.L end
- 51776 50890
-a 51776 50890 a
-SDict begin [ /Subtype /Link /Dest (NETWORK-CONFIGURATION-TCPIP) cvn
-/H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 51776 50890 a Black 0 TeXcolorgray 5284
-52905 a
-SDict begin H.S end
- 5284 52905 a FU(5.3.1)g(DHCP)12904 52905 y
-SDict begin 18.2 H.L end
- 12904
-52905 a 12904 52905 a
-SDict begin [ /Subtype /Link /Dest (NETWORK-CONFIGURATION-TCPIP-DHCP)
-cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 12904 52905 a Black Black 239 w
-FU(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black 0 TeXcolorgray 50226 52905
-a
-SDict begin H.S end
- 50226 52905 a FU(61)51776 52905 y
-SDict begin 18.2 H.L end
- 51776 52905 a 51776
-52905 a
-SDict begin [ /Subtype /Link /Dest (NETWORK-CONFIGURATION-TCPIP-DHCP)
-cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 51776 52905 a Black 0 TeXcolorgray 5284 54920
-a
-SDict begin H.S end
- 5284 54920 a FU(5.3.2)g(Static)g(IP)14066 54920 y
-SDict begin 18.2 H.L end
- 14066
-54920 a 14066 54920 a
-SDict begin [ /Subtype /Link /Dest (NETWORK-CONFIGURATION-TCPIP-STATIC)
-cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 14066 54920 a Black Black 239 w
-FU(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black 0 TeXcolorgray 50226 54920
-a
-SDict begin H.S end
- 50226 54920 a FU(63)51776 54920 y
-SDict begin 18.2 H.L end
- 51776 54920 a 51776
-54920 a
-SDict begin [ /Subtype /Link /Dest (NETWORK-CONFIGURATION-TCPIP-STATIC)
-cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 51776 54920 a Black 0 TeXcolorgray 5284 56934
-a
-SDict begin H.S end
- 5284 56934 a FU(5.3.3)g FQ(/etc/rc.d/rc.inet1.conf)23191
-56934 y
-SDict begin 18.2 H.L end
- 23191 56934 a 23191 56934 a
-SDict begin [ /Subtype /Link /Dest (NETWORK-CONFIGURATION-TCPIP-CONF)
-cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 23191 56934 a Black
-Black 25 w FU(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black 0 TeXcolorgray 50226 56934
-a
-SDict begin H.S end
- 50226 56934 a FU(63)51776 56934 y
-SDict begin 18.2 H.L end
- 51776 56934 a 51776
-56934 a
-SDict begin [ /Subtype /Link /Dest (NETWORK-CONFIGURATION-TCPIP-CONF)
-cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 51776 56934 a Black 0 TeXcolorgray 5284 58949
-a
-SDict begin H.S end
- 5284 58949 a FU(5.3.4)g FQ(/etc/resolv.conf)18802 58949
-y
-SDict begin 18.2 H.L end
- 18802 58949 a 18802 58949 a
-SDict begin [ /Subtype /Link /Dest (NETWORK-CONFIGURATION-TCPIP-RESOLVER)
-cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 18802 58949 a Black Black
-152 w FU(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black 0 TeXcolorgray 50226 58949
-a
-SDict begin H.S end
- 50226 58949 a FU(64)51776 58949 y
-SDict begin 18.2 H.L end
- 51776 58949 a 51776
-58949 a
-SDict begin [ /Subtype /Link /Dest (NETWORK-CONFIGURATION-TCPIP-RESOLVER)
-cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 51776 58949 a Black 0 TeXcolorgray 5284 60964
-a
-SDict begin H.S end
- 5284 60964 a FU(5.3.5)g FQ(/etc/hosts)15040 60964 y
-SDict begin 18.2 H.L end
-
-15040 60964 a 15040 60964 a
-SDict begin [ /Subtype /Link /Dest (NETWORK-CONFIGURATION-TCPIP-HOSTS)
-cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 15040 60964 a Black Black
-40 w FU(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black 0 TeXcolorgray 50226 60964
-a
-SDict begin H.S end
- 50226 60964 a FU(65)51776 60964 y
-SDict begin 18.2 H.L end
- 51776 60964 a 51776
-60964 a
-SDict begin [ /Subtype /Link /Dest (NETWORK-CONFIGURATION-TCPIP-HOSTS)
-cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 51776 60964 a Black 0 TeXcolorgray 2627 62978
-a
-SDict begin H.S end
- 2627 62978 a FU(5.4)g(PPP)7537 62978 y
-SDict begin 18.2 H.L end
- 7537 62978 a
-7537 62978 a
-SDict begin [ /Subtype /Link /Dest (NETWORK-CONFIGURATION-PPP) cvn
-/H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 7537 62978 a Black Black 182 w FU(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black 0 TeXcolorgray 50226 62978
-a
-SDict begin H.S end
- 50226 62978 a FU(65)51776 62978 y
-SDict begin 18.2 H.L end
- 51776 62978 a 51776
-62978 a
-SDict begin [ /Subtype /Link /Dest (NETWORK-CONFIGURATION-PPP) cvn
-/H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 51776 62978 a Black 0 TeXcolorgray 5284 64993
-a
-SDict begin H.S end
- 5284 64993 a FU(5.4.1)g FR(pppsetup)14367 64993 y
-SDict begin 18.2 H.L end
- 14367
-64993 a 14367 64993 a
-SDict begin [ /Subtype /Link /Dest (1953) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 14367 64993 a Black Black 326 w
-FU(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black(.)p Black Black 1 w(.)p Black 0 TeXcolorgray 50226
-64993 a
-SDict begin H.S end
- 50226 64993 a FU(66)51776 64993 y
-SDict begin 18.2 H.L end
- 51776 64993
-a 51776 64993 a
-SDict begin [ /Subtype /Link /Dest (1953) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 51776 64993 a Black 0 TeXcolorgray 5284
-67008 a
-SDict begin H.S end
- 5284 67008 a FU(5.4.2)g FQ(/etc/ppp)13786 67008
-y
-SDict begin 18.2 H.L end
- 13786 67008 a 13786 67008 a
-SDict begin [ /Subtype /Link /Dest (1968) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 13786 67008 a Black Black
-132 w FU(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black 0 TeXcolorgray 50226 67008
-a
-SDict begin H.S end
- 50226 67008 a FU(66)51776 67008 y
-SDict begin 18.2 H.L end
- 51776 67008 a 51776
-67008 a
-SDict begin [ /Subtype /Link /Dest (1968) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 51776 67008 a Black Black -30 73672 a FR(vi)p
-Black eop end
-%%Page: 7 7
-TeXDict begin 7 6 bop -8000 -8000 a
-SDict begin /product where{pop product(Distiller)search{pop pop pop
-version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
-closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
-grestore}if}{pop}ifelse}{pop}ifelse}if end
- -8000 -8000 a Black
-0 TeXcolorgray -30 -1358 a
-SDict begin H.S end
- -30 -1358 a 0 TeXcolorgray
-0 TeXcolorgray -30 -1358 a
-SDict begin H.R end
- -30 -1358 a -30 -1358 a
-SDict begin [ /View [/XYZ H.V] /Dest (page.7) cvn H.B /DEST pdfmark
-end
- -30
--1358 a Black Black 0 TeXcolorgray 2627 3490 a
-SDict begin H.S end
- 2627 3490
-a FU(5.5)387 b(W)-62 b(ireless)10312 3490 y
-SDict begin 18.2 H.L end
- 10312 3490
-a 10312 3490 a
-SDict begin [ /Subtype /Link /Dest (NETWORK-CONFIGURATION-WIRELESS)
-cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 10312 3490 a Black Black 119 w FU(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black 0 TeXcolorgray 50226 3490 a
-SDict begin H.S end
-
-50226 3490 a FU(67)51776 3490 y
-SDict begin 18.2 H.L end
- 51776 3490 a 51776 3490
-a
-SDict begin [ /Subtype /Link /Dest (NETWORK-CONFIGURATION-WIRELESS)
-cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 51776 3490 a Black 0 TeXcolorgray 5284 5505 a
-SDict begin H.S end
- 5284
-5505 a FU(5.5.1)387 b(Hardw)-15 b(are)387 b(Support)20160
-5505 y
-SDict begin 18.2 H.L end
- 20160 5505 a 20160 5505 a
-SDict begin [ /Subtype /Link /Dest (2032) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 20160 5505 a Black Black
-344 w FU(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black 0 TeXcolorgray 50226 5505 a
-SDict begin H.S end
-
-50226 5505 a FU(67)51776 5505 y
-SDict begin 18.2 H.L end
- 51776 5505 a 51776 5505
-a
-SDict begin [ /Subtype /Link /Dest (2032) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 51776 5505 a Black 0 TeXcolorgray 5284 7520 a
-SDict begin H.S end
- 5284
-7520 a FU(5.5.2)g(Con\002gure)g(the)g(W)-62 b(ireless)387
-b(Settings)28382 7520 y
-SDict begin 18.2 H.L end
- 28382 7520 a 28382 7520 a
-SDict begin [ /Subtype /Link /Dest (2043) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 28382
-7520 a Black Black 258 w FU(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black 0 TeXcolorgray 50226 7520 a
-SDict begin H.S end
-
-50226 7520 a FU(68)51776 7520 y
-SDict begin 18.2 H.L end
- 51776 7520 a 51776 7520
-a
-SDict begin [ /Subtype /Link /Dest (2043) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 51776 7520 a Black 0 TeXcolorgray 5284 9534 a
-SDict begin H.S end
- 5284
-9534 a FU(5.5.3)g(Con\002gure)g(the)g(Netw)-15 b(ork)23046
-9534 y
-SDict begin 18.2 H.L end
- 23046 9534 a 23046 9534 a
-SDict begin [ /Subtype /Link /Dest (2100) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 23046 9534 a Black Black
-170 w FU(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black 0 TeXcolorgray 50226 9534 a
-SDict begin H.S end
-
-50226 9534 a FU(69)51776 9534 y
-SDict begin 18.2 H.L end
- 51776 9534 a 51776 9534
-a
-SDict begin [ /Subtype /Link /Dest (2100) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 51776 9534 a Black 0 TeXcolorgray 2627 11549 a
-SDict begin H.S end
- 2627
-11549 a FU(5.6)387 b(Netw)-15 b(ork)387 b(File)g(Systems)18713
-11549 y
-SDict begin 18.2 H.L end
- 18713 11549 a 18713 11549 a
-SDict begin [ /Subtype /Link /Dest (NETWORK-CONFIGURATION-NFS) cvn
-/H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 18713 11549 a Black
-Black 241 w FU(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black(.)p Black Black 1 w(.)p Black 0 TeXcolorgray 50226
-11549 a
-SDict begin H.S end
- 50226 11549 a FU(70)51776 11549 y
-SDict begin 18.2 H.L end
- 51776 11549
-a 51776 11549 a
-SDict begin [ /Subtype /Link /Dest (NETWORK-CONFIGURATION-NFS) cvn
-/H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 51776 11549 a Black 0 TeXcolorgray 5284
-13564 a
-SDict begin H.S end
- 5284 13564 a FU(5.6.1)g(SMB/Samba/CIFS)20399
-13564 y
-SDict begin 18.2 H.L end
- 20399 13564 a 20399 13564 a
-SDict begin [ /Subtype /Link /Dest (NETWORK-CONFIGURATION-NSF-SMB)
-cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 20399 13564 a Black
-Black 105 w FU(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black 0 TeXcolorgray 50226 13564
-a
-SDict begin H.S end
- 50226 13564 a FU(70)51776 13564 y
-SDict begin 18.2 H.L end
- 51776 13564 a 51776
-13564 a
-SDict begin [ /Subtype /Link /Dest (NETWORK-CONFIGURATION-NSF-SMB)
-cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 51776 13564 a Black 0 TeXcolorgray 5284 15578
-a
-SDict begin H.S end
- 5284 15578 a FU(5.6.2)g(Netw)-15 b(ork)387 b(File)g(System)f(\(NFS\))
-26190 15578 y
-SDict begin 18.2 H.L end
- 26190 15578 a 26190 15578 a
-SDict begin [ /Subtype /Link /Dest (NETWORK-CONFIGURATION-NFS-NFS)
-cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 26190 15578
-a Black Black 126 w FU(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black(.)p Black Black 1 w(.)p Black 0
-TeXcolorgray 50226 15578 a
-SDict begin H.S end
- 50226 15578 a FU(72)51776
-15578 y
-SDict begin 18.2 H.L end
- 51776 15578 a 51776 15578 a
-SDict begin [ /Subtype /Link /Dest (NETWORK-CONFIGURATION-NFS-NFS)
-cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 51776 15578 a Black
-0 TeXcolorgray -30 17859 a
-SDict begin H.S end
- -30 17859 a FX(6)h(X)h(Con\002guration)11941
-17859 y
-SDict begin 18.2 H.L end
- 11941 17859 a 11941 17859 a
-SDict begin [ /Subtype /Link /Dest (X-WINDOW-SYSTEM) cvn /H /I /Border
-[0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 11941 17859 a Black
-Black 40 w FX(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black 0 TeXcolorgray 50226 17859
-a
-SDict begin H.S end
- 50226 17859 a FX(75)51776 17859 y
-SDict begin 18.2 H.L end
- 51776 17859 a 51776
-17859 a
-SDict begin [ /Subtype /Link /Dest (X-WINDOW-SYSTEM) cvn /H /I /Border
-[0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 51776 17859 a Black 0 TeXcolorgray 2627 20139
-a
-SDict begin H.S end
- 2627 20139 a FU(6.1)f FR(xor)-57 b(gcon\002g)11523
-20139 y
-SDict begin 18.2 H.L end
- 11523 20139 a 11523 20139 a
-SDict begin [ /Subtype /Link /Dest (X-WINDOW-SYSTEM-XORGCONFIG) cvn
-/H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 11523 20139 a Black
-Black 70 w FU(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black 0 TeXcolorgray 50226 20139
-a
-SDict begin H.S end
- 50226 20139 a FU(75)51776 20139 y
-SDict begin 18.2 H.L end
- 51776 20139 a 51776
-20139 a
-SDict begin [ /Subtype /Link /Dest (X-WINDOW-SYSTEM-XORGCONFIG) cvn
-/H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 51776 20139 a Black 0 TeXcolorgray 2627 22154
-a
-SDict begin H.S end
- 2627 22154 a FU(6.2)387 b FR(xor)-57 b(gsetup)11007
-22154 y
-SDict begin 18.2 H.L end
- 11007 22154 a 11007 22154 a
-SDict begin [ /Subtype /Link /Dest (X-WINDOW-SYSTEM-XORGSETUP) cvn
-/H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 11007 22154 a Black
-Black 199 w FU(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black(.)p Black Black 1 w(.)p Black 0 TeXcolorgray 50226
-22154 a
-SDict begin H.S end
- 50226 22154 a FU(81)51776 22154 y
-SDict begin 18.2 H.L end
- 51776 22154
-a 51776 22154 a
-SDict begin [ /Subtype /Link /Dest (X-WINDOW-SYSTEM-XORGSETUP) cvn
-/H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 51776 22154 a Black 0 TeXcolorgray 2627
-24168 a
-SDict begin H.S end
- 2627 24168 a FU(6.3)387 b(xinitrc)8998 24168
-y
-SDict begin 18.2 H.L end
- 8998 24168 a 8998 24168 a
-SDict begin [ /Subtype /Link /Dest (X-WINDOW-SYSTEM-XINITRC) cvn /H
-/I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 8998 24168 a Black Black
-271 w FU(.)p Black Black(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black 0 TeXcolorgray 50226 24168
-a
-SDict begin H.S end
- 50226 24168 a FU(81)51776 24168 y
-SDict begin 18.2 H.L end
- 51776 24168 a 51776
-24168 a
-SDict begin [ /Subtype /Link /Dest (X-WINDOW-SYSTEM-XINITRC) cvn /H
-/I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 51776 24168 a Black 0 TeXcolorgray 2627 26183
-a
-SDict begin H.S end
- 2627 26183 a FU(6.4)g FR(xwmcon\002g)11580 26183 y
-SDict begin 18.2 H.L end
-
-11580 26183 a 11580 26183 a
-SDict begin [ /Subtype /Link /Dest (X-WINDOW-SYSTEM-XWMCONFIG) cvn
-/H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 11580 26183 a Black Black
-13 w FU(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black 0 TeXcolorgray 50226 26183
-a
-SDict begin H.S end
- 50226 26183 a FU(83)51776 26183 y
-SDict begin 18.2 H.L end
- 51776 26183 a 51776
-26183 a
-SDict begin [ /Subtype /Link /Dest (X-WINDOW-SYSTEM-XWMCONFIG) cvn
-/H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 51776 26183 a Black 0 TeXcolorgray 2627 28198
-a
-SDict begin H.S end
- 2627 28198 a FU(6.5)g FR(xdm)7533 28198 y
-SDict begin 18.2 H.L end
- 7533 28198
-a 7533 28198 a
-SDict begin [ /Subtype /Link /Dest (X-WINDOW-SYSTEM-XDM) cvn /H /I
-/Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 7533 28198 a Black Black 186 w FU(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black 0 TeXcolorgray 50226 28198
-a
-SDict begin H.S end
- 50226 28198 a FU(85)51776 28198 y
-SDict begin 18.2 H.L end
- 51776 28198 a 51776
-28198 a
-SDict begin [ /Subtype /Link /Dest (X-WINDOW-SYSTEM-XDM) cvn /H /I
-/Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 51776 28198 a Black 0 TeXcolorgray -30 30478
-a
-SDict begin H.S end
- -30 30478 a FX(7)g(Booting)6300 30478 y
-SDict begin 18.2 H.L end
- 6300 30478
-a 6300 30478 a
-SDict begin [ /Subtype /Link /Dest (BOOTING) cvn /H /I /Border [0 0
-0] /Color [1 0 0] H.B /ANN pdfmark end
- 6300 30478 a Black Black 257 w FX(.)p
-Black Black(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black 0 TeXcolorgray 50226 30478
-a
-SDict begin H.S end
- 50226 30478 a FX(89)51776 30478 y
-SDict begin 18.2 H.L end
- 51776 30478 a 51776
-30478 a
-SDict begin [ /Subtype /Link /Dest (BOOTING) cvn /H /I /Border [0 0
-0] /Color [1 0 0] H.B /ANN pdfmark end
- 51776 30478 a Black 0 TeXcolorgray 2627 32758
-a
-SDict begin H.S end
- 2627 32758 a FU(7.1)g(LILO)8480 32758 y
-SDict begin 18.2 H.L end
- 8480 32758
-a 8480 32758 a
-SDict begin [ /Subtype /Link /Dest (BOOTING-LILO) cvn /H /I /Border
-[0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 8480 32758 a Black Black 14 w FU(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black 0 TeXcolorgray 50226 32758
-a
-SDict begin H.S end
- 50226 32758 a FU(89)51776 32758 y
-SDict begin 18.2 H.L end
- 51776 32758 a 51776
-32758 a
-SDict begin [ /Subtype /Link /Dest (BOOTING-LILO) cvn /H /I /Border
-[0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 51776 32758 a Black 0 TeXcolorgray 2627 34773
-a
-SDict begin H.S end
- 2627 34773 a FU(7.2)g(LO)-54 b(ADLIN)11783 34773 y
-SDict begin 18.2 H.L end
-
-11783 34773 a 11783 34773 a
-SDict begin [ /Subtype /Link /Dest (BOOTING-LOADLIN) cvn /H /I /Border
-[0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 11783 34773 a Black Black
-198 w FU(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black 0 TeXcolorgray 50226 34773
-a
-SDict begin H.S end
- 50226 34773 a FU(93)51776 34773 y
-SDict begin 18.2 H.L end
- 51776 34773 a 51776
-34773 a
-SDict begin [ /Subtype /Link /Dest (BOOTING-LOADLIN) cvn /H /I /Border
-[0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 51776 34773 a Black 0 TeXcolorgray 2627 36788
-a
-SDict begin H.S end
- 2627 36788 a FU(7.3)387 b(Dual)h(Booting)13348 36788
-y
-SDict begin 18.2 H.L end
- 13348 36788 a 13348 36788 a
-SDict begin [ /Subtype /Link /Dest (BOOTING-DUAL) cvn /H /I /Border
-[0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 13348 36788 a Black Black
-182 w FU(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black(.)p Black Black 1 w(.)p Black 0 TeXcolorgray
-50226 36788 a
-SDict begin H.S end
- 50226 36788 a FU(94)51776 36788 y
-SDict begin 18.2 H.L end
- 51776
-36788 a 51776 36788 a
-SDict begin [ /Subtype /Link /Dest (BOOTING-DUAL) cvn /H /I /Border
-[0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 51776 36788 a Black 0 TeXcolorgray
-5284 38802 a
-SDict begin H.S end
- 5284 38802 a FU(7.3.1)f(W)-62 b(indo)-39
-b(ws)14610 38802 y
-SDict begin 18.2 H.L end
- 14610 38802 a 14610 38802 a
-SDict begin [ /Subtype /Link /Dest (BOOTING-DUAL-WINDOWS) cvn /H /I
-/Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 14610
-38802 a Black Black 83 w FU(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black 0 TeXcolorgray 50226 38802
-a
-SDict begin H.S end
- 50226 38802 a FU(94)51776 38802 y
-SDict begin 18.2 H.L end
- 51776 38802 a 51776
-38802 a
-SDict begin [ /Subtype /Link /Dest (BOOTING-DUAL-WINDOWS) cvn /H /I
-/Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 51776 38802 a Black 0 TeXcolorgray 5284 40817
-a
-SDict begin H.S end
- 5284 40817 a FU(7.3.2)387 b(Linux)12473 40817 y
-SDict begin 18.2 H.L end
- 12473
-40817 a 12473 40817 a
-SDict begin [ /Subtype /Link /Dest (BOOTING-DUAL-LINUX) cvn /H /I /Border
-[0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 12473 40817 a Black Black 283 w
-FU(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black 0 TeXcolorgray 50226 40817
-a
-SDict begin H.S end
- 50226 40817 a FU(99)51776 40817 y
-SDict begin 18.2 H.L end
- 51776 40817 a 51776
-40817 a
-SDict begin [ /Subtype /Link /Dest (BOOTING-DUAL-LINUX) cvn /H /I /Border
-[0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 51776 40817 a Black 0 TeXcolorgray -30 43097
-a
-SDict begin H.S end
- -30 43097 a FX(8)g(The)g(Shell)7377 43097 y
-SDict begin 18.2 H.L end
- 7377 43097
-a 7377 43097 a
-SDict begin [ /Subtype /Link /Dest (SHELL) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 7377 43097 a Black Black 342 w FX(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black 0
-TeXcolorgray 49451 43097 a
-SDict begin H.S end
- 49451 43097 a FX(101)51776
-43097 y
-SDict begin 18.2 H.L end
- 51776 43097 a 51776 43097 a
-SDict begin [ /Subtype /Link /Dest (SHELL) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 51776 43097 a Black
-0 TeXcolorgray 2627 45378 a
-SDict begin H.S end
- 2627 45378 a FU(8.1)g(Users)8480
-45378 y
-SDict begin 18.2 H.L end
- 8480 45378 a 8480 45378 a
-SDict begin [ /Subtype /Link /Dest (SHELL-USERS) cvn /H /I /Border
-[0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 8480 45378 a Black
-Black 14 w FU(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black 0 TeXcolorgray 49451 45378 a
-SDict begin H.S end
- 49451 45378 a FU(101)51776
-45378 y
-SDict begin 18.2 H.L end
- 51776 45378 a 51776 45378 a
-SDict begin [ /Subtype /Link /Dest (SHELL-USERS) cvn /H /I /Border
-[0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 51776 45378 a Black
-0 TeXcolorgray 5284 47392 a
-SDict begin H.S end
- 5284 47392 a FU(8.1.1)g(Logging)g(In)15701
-47392 y
-SDict begin 18.2 H.L end
- 15701 47392 a 15701 47392 a
-SDict begin [ /Subtype /Link /Dest (2677) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 15701 47392 a Black
-Black 154 w FU(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black 0
-TeXcolorgray 49451 47392 a
-SDict begin H.S end
- 49451 47392 a FU(101)51776
-47392 y
-SDict begin 18.2 H.L end
- 51776 47392 a 51776 47392 a
-SDict begin [ /Subtype /Link /Dest (2677) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 51776 47392 a Black
-0 TeXcolorgray 5284 49407 a
-SDict begin H.S end
- 5284 49407 a FU(8.1.2)g(Root:)g(The)g
-(Superuser)21598 49407 y
-SDict begin 18.2 H.L end
- 21598 49407 a 21598 49407 a
-SDict begin [ /Subtype /Link /Dest (2692) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
-
-21598 49407 a Black Black 69 w FU(.)p Black Black(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black 0 TeXcolorgray 49451 49407 a
-SDict begin H.S end
- 49451 49407 a FU(102)51776
-49407 y
-SDict begin 18.2 H.L end
- 51776 49407 a 51776 49407 a
-SDict begin [ /Subtype /Link /Dest (2692) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 51776 49407 a Black
-0 TeXcolorgray 2627 51422 a
-SDict begin H.S end
- 2627 51422 a FU(8.2)g(The)h(Command)e(Line)
-17435 51422 y
-SDict begin 18.2 H.L end
- 17435 51422 a 17435 51422 a
-SDict begin [ /Subtype /Link /Dest (SHELL-COMMAND-LINE) cvn /H /I /Border
-[0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 17435 51422
-a Black Black 357 w FU(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-0 TeXcolorgray 49451 51422 a
-SDict begin H.S end
- 49451 51422 a FU(103)51776
-51422 y
-SDict begin 18.2 H.L end
- 51776 51422 a 51776 51422 a
-SDict begin [ /Subtype /Link /Dest (SHELL-COMMAND-LINE) cvn /H /I /Border
-[0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 51776 51422 a Black
-0 TeXcolorgray 5284 53436 a
-SDict begin H.S end
- 5284 53436 a FU(8.2.1)h(Running)g(Programs)
-20438 53436 y
-SDict begin 18.2 H.L end
- 20438 53436 a 20438 53436 a
-SDict begin [ /Subtype /Link /Dest (SHELL-COMMAND-LINE-RUNNING) cvn
-/H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 20438 53436
-a Black Black 66 w FU(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black 0
-TeXcolorgray 49451 53436 a
-SDict begin H.S end
- 49451 53436 a FU(103)51776
-53436 y
-SDict begin 18.2 H.L end
- 51776 53436 a 51776 53436 a
-SDict begin [ /Subtype /Link /Dest (SHELL-COMMAND-LINE-RUNNING) cvn
-/H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 51776 53436 a Black
-0 TeXcolorgray 5284 55451 a
-SDict begin H.S end
- 5284 55451 a FU(8.2.2)g(W)-62
-b(ildcard)387 b(Matching)20803 55451 y
-SDict begin 18.2 H.L end
- 20803 55451 a
-20803 55451 a
-SDict begin [ /Subtype /Link /Dest (SHELL-COMMAND-LINE-WILDCARD) cvn
-/H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 20803 55451 a Black Black 89 w FU(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black 0
-TeXcolorgray 49451 55451 a
-SDict begin H.S end
- 49451 55451 a FU(103)51776
-55451 y
-SDict begin 18.2 H.L end
- 51776 55451 a 51776 55451 a
-SDict begin [ /Subtype /Link /Dest (SHELL-COMMAND-LINE-WILDCARD) cvn
-/H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 51776 55451 a Black
-0 TeXcolorgray 5284 57466 a
-SDict begin H.S end
- 5284 57466 a FU(8.2.3)g(Input/Output)f
-(Redirection)h(and)g(Piping)31458 57466 y
-SDict begin 18.2 H.L end
- 31458 57466
-a 31458 57466 a
-SDict begin [ /Subtype /Link /Dest (SHELL-COMMAND-LINE-PIPING) cvn
-/H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 31458 57466 a Black Black 282 w FU(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black 0 TeXcolorgray
-49451 57466 a
-SDict begin H.S end
- 49451 57466 a FU(105)51776 57466 y
-SDict begin 18.2 H.L end
- 51776
-57466 a 51776 57466 a
-SDict begin [ /Subtype /Link /Dest (SHELL-COMMAND-LINE-PIPING) cvn
-/H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 51776 57466 a Black 0 TeXcolorgray
-2627 59480 a
-SDict begin H.S end
- 2627 59480 a FU(8.3)g(The)h(Bourne)f(Ag)-8
-b(ain)387 b(Shell)f(\(bash\))24312 59480 y
-SDict begin 18.2 H.L end
- 24312 59480
-a 24312 59480 a
-SDict begin [ /Subtype /Link /Dest (SHELL-BASH) cvn /H /I /Border [0
-0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 24312 59480 a Black Black 67 w FU(.)p
-Black Black(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black 0 TeXcolorgray 49451 59480 a
-SDict begin H.S end
- 49451 59480
-a FU(106)51776 59480 y
-SDict begin 18.2 H.L end
- 51776 59480 a 51776 59480 a
-SDict begin [ /Subtype /Link /Dest (SHELL-BASH) cvn /H /I /Border [0
-0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 51776
-59480 a Black 0 TeXcolorgray 5284 61495 a
-SDict begin H.S end
- 5284 61495
-a FU(8.3.1)h(En)-62 b(vironment)387 b(V)-172 b(ariables)22956
-61495 y
-SDict begin 18.2 H.L end
- 22956 61495 a 22956 61495 a
-SDict begin [ /Subtype /Link /Dest (SHELL-BASH-ENVIRONMENT) cvn /H
-/I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 22956 61495 a Black
-Black 260 w FU(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black 0
-TeXcolorgray 49451 61495 a
-SDict begin H.S end
- 49451 61495 a FU(106)51776
-61495 y
-SDict begin 18.2 H.L end
- 51776 61495 a 51776 61495 a
-SDict begin [ /Subtype /Link /Dest (SHELL-BASH-ENVIRONMENT) cvn /H
-/I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 51776 61495 a Black
-0 TeXcolorgray 5284 63510 a
-SDict begin H.S end
- 5284 63510 a FU(8.3.2)387
-b(T)-124 b(ab)388 b(Completion)18765 63510 y
-SDict begin 18.2 H.L end
- 18765 63510
-a 18765 63510 a
-SDict begin [ /Subtype /Link /Dest (SHELL-BASH-TAB) cvn /H /I /Border
-[0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 18765 63510 a Black Black 189 w FU(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black 0
-TeXcolorgray 49451 63510 a
-SDict begin H.S end
- 49451 63510 a FU(108)51776
-63510 y
-SDict begin 18.2 H.L end
- 51776 63510 a 51776 63510 a
-SDict begin [ /Subtype /Link /Dest (SHELL-BASH-TAB) cvn /H /I /Border
-[0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 51776 63510 a Black
-0 TeXcolorgray 2627 65524 a
-SDict begin H.S end
- 2627 65524 a FU(8.4)f(V)-93
-b(irtual)387 b(T)-108 b(erminals)15813 65524 y
-SDict begin 18.2 H.L end
- 15813
-65524 a 15813 65524 a
-SDict begin [ /Subtype /Link /Dest (SHELL-VT) cvn /H /I /Border [0
-0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 15813 65524 a Black Black 42 w
-FU(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black 0 TeXcolorgray 49451 65524 a
-SDict begin H.S end
- 49451 65524 a FU(109)51776
-65524 y
-SDict begin 18.2 H.L end
- 51776 65524 a 51776 65524 a
-SDict begin [ /Subtype /Link /Dest (SHELL-VT) cvn /H /I /Border [0
-0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 51776 65524 a Black
-0 TeXcolorgray 5284 67539 a
-SDict begin H.S end
- 5284 67539 a FU(8.4.1)387
-b(Screen)12987 67539 y
-SDict begin 18.2 H.L end
- 12987 67539 a 12987 67539 a
-SDict begin [ /Subtype /Link /Dest (3023) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 12987
-67539 a Black Black 156 w FU(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black 0
-TeXcolorgray 49451 67539 a
-SDict begin H.S end
- 49451 67539 a FU(110)51776
-67539 y
-SDict begin 18.2 H.L end
- 51776 67539 a 51776 67539 a
-SDict begin [ /Subtype /Link /Dest (3023) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 51776 67539 a Black
-Black 50226 73672 a FR(vii)p Black eop end
-%%Page: 8 8
-TeXDict begin 8 7 bop -8000 -8000 a
-SDict begin /product where{pop product(Distiller)search{pop pop pop
-version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
-closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
-grestore}if}{pop}ifelse}{pop}ifelse}if end
- -8000 -8000 a Black
-0 TeXcolorgray -30 -1358 a
-SDict begin H.S end
- -30 -1358 a 0 TeXcolorgray
-0 TeXcolorgray -30 -1358 a
-SDict begin H.R end
- -30 -1358 a -30 -1358 a
-SDict begin [ /View [/XYZ H.V] /Dest (page.8) cvn H.B /DEST pdfmark
-end
- -30
--1358 a Black Black 0 TeXcolorgray -30 3490 a
-SDict begin H.S end
- -30 3490
-a FX(9)387 b(Filesystem)g(Structur)-28 b(e)14834 3490
-y
-SDict begin 18.2 H.L end
- 14834 3490 a 14834 3490 a
-SDict begin [ /Subtype /Link /Dest (FILESYSTEM-STRUCTURE) cvn /H /I
-/Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 14834 3490 a Black Black
-246 w FX(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black 0
-TeXcolorgray 49451 3490 a
-SDict begin H.S end
- 49451 3490 a FX(111)51776 3490
-y
-SDict begin 18.2 H.L end
- 51776 3490 a 51776 3490 a
-SDict begin [ /Subtype /Link /Dest (FILESYSTEM-STRUCTURE) cvn /H /I
-/Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 51776 3490 a Black 0 TeXcolorgray
-2627 5771 a
-SDict begin H.S end
- 2627 5771 a FU(9.1)387 b(Ownership)11752
-5771 y
-SDict begin 18.2 H.L end
- 11752 5771 a 11752 5771 a
-SDict begin [ /Subtype /Link /Dest (FILESYSTEM-STRUCTURE-OWNERSHIP)
-cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 11752 5771 a Black Black
-229 w FU(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black 0
-TeXcolorgray 49451 5771 a
-SDict begin H.S end
- 49451 5771 a FU(111)51776 5771
-y
-SDict begin 18.2 H.L end
- 51776 5771 a 51776 5771 a
-SDict begin [ /Subtype /Link /Dest (FILESYSTEM-STRUCTURE-OWNERSHIP)
-cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 51776 5771 a Black 0 TeXcolorgray
-2627 7785 a
-SDict begin H.S end
- 2627 7785 a FU(9.2)g(Permissions)12444 7785
-y
-SDict begin 18.2 H.L end
- 12444 7785 a 12444 7785 a
-SDict begin [ /Subtype /Link /Dest (FILESYSTEM-STRUCTURE-PERMISSIONS)
-cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 12444 7785 a Black Black
-312 w FU(.)p Black Black(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black 0
-TeXcolorgray 49451 7785 a
-SDict begin H.S end
- 49451 7785 a FU(112)51776 7785
-y
-SDict begin 18.2 H.L end
- 51776 7785 a 51776 7785 a
-SDict begin [ /Subtype /Link /Dest (FILESYSTEM-STRUCTURE-PERMISSIONS)
-cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 51776 7785 a Black 0 TeXcolorgray
-2627 9800 a
-SDict begin H.S end
- 2627 9800 a FU(9.3)g(Links)8482 9800 y
-SDict begin 18.2 H.L end
- 8482
-9800 a 8482 9800 a
-SDict begin [ /Subtype /Link /Dest (FILESYSTEM-STRUCTURE-LINKS) cvn
-/H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 8482 9800 a Black Black 12 w FU(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black 0
-TeXcolorgray 49451 9800 a
-SDict begin H.S end
- 49451 9800 a FU(115)51776 9800
-y
-SDict begin 18.2 H.L end
- 51776 9800 a 51776 9800 a
-SDict begin [ /Subtype /Link /Dest (FILESYSTEM-STRUCTURE-LINKS) cvn
-/H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 51776 9800 a Black 0 TeXcolorgray
-2627 11815 a
-SDict begin H.S end
- 2627 11815 a FU(9.4)g(Mounting)g(De)-39
-b(vices)16406 11815 y
-SDict begin 18.2 H.L end
- 16406 11815 a 16406 11815 a
-SDict begin [ /Subtype /Link /Dest (FILESYSTEM-STRUCTURE-MOUNTING)
-cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 16406
-11815 a Black Black 224 w FU(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-0 TeXcolorgray 49451 11815 a
-SDict begin H.S end
- 49451 11815 a FU(116)51776
-11815 y
-SDict begin 18.2 H.L end
- 51776 11815 a 51776 11815 a
-SDict begin [ /Subtype /Link /Dest (FILESYSTEM-STRUCTURE-MOUNTING)
-cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 51776 11815 a Black
-0 TeXcolorgray 5284 13829 a
-SDict begin H.S end
- 5284 13829 a FU(9.4.1)387
-b FQ(fstab)11905 13829 y
-SDict begin 18.2 H.L end
- 11905 13829 a 11905 13829 a
-SDict begin [ /Subtype /Link /Dest (3318) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
-
-11905 13829 a Black Black 76 w FU(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black 0
-TeXcolorgray 49451 13829 a
-SDict begin H.S end
- 49451 13829 a FU(117)51776
-13829 y
-SDict begin 18.2 H.L end
- 51776 13829 a 51776 13829 a
-SDict begin [ /Subtype /Link /Dest (3318) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 51776 13829 a Black
-0 TeXcolorgray 5284 15844 a
-SDict begin H.S end
- 5284 15844 a FU(9.4.2)g FR(mount)415
-b FU(and)387 b FR(umount)20363 15844 y
-SDict begin 18.2 H.L end
- 20363 15844 a
-20363 15844 a
-SDict begin [ /Subtype /Link /Dest (3339) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 20363 15844 a Black Black 141 w FU(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black 0
-TeXcolorgray 49451 15844 a
-SDict begin H.S end
- 49451 15844 a FU(118)51776
-15844 y
-SDict begin 18.2 H.L end
- 51776 15844 a 51776 15844 a
-SDict begin [ /Subtype /Link /Dest (3339) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 51776 15844 a Black
-0 TeXcolorgray 2627 17859 a
-SDict begin H.S end
- 2627 17859 a FU(9.5)g(NFS)g(Mounts)12918
-17859 y
-SDict begin 18.2 H.L end
- 12918 17859 a 12918 17859 a
-SDict begin [ /Subtype /Link /Dest (FILESYSTEM-STRUCTURE-NFS) cvn /H
-/I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 12918 17859 a Black
-Black 225 w FU(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black 0
-TeXcolorgray 49451 17859 a
-SDict begin H.S end
- 49451 17859 a FU(119)51776
-17859 y
-SDict begin 18.2 H.L end
- 51776 17859 a 51776 17859 a
-SDict begin [ /Subtype /Link /Dest (FILESYSTEM-STRUCTURE-NFS) cvn /H
-/I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 51776 17859 a Black
-0 TeXcolorgray -30 20139 a
-SDict begin H.S end
- -30 20139 a FX(10)g(Handling)f(Files)h(and)f
-(Dir)-28 b(ectories)22156 20139 y
-SDict begin 18.2 H.L end
- 22156 20139 a 22156
-20139 a
-SDict begin [ /Subtype /Link /Dest (FILE-COMMANDS) cvn /H /I /Border
-[0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 22156 20139 a Black Black 285 w FX(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black 0
-TeXcolorgray 49451 20139 a
-SDict begin H.S end
- 49451 20139 a FX(121)51776
-20139 y
-SDict begin 18.2 H.L end
- 51776 20139 a 51776 20139 a
-SDict begin [ /Subtype /Link /Dest (FILE-COMMANDS) cvn /H /I /Border
-[0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 51776 20139 a Black
-0 TeXcolorgray 2627 22419 a
-SDict begin H.S end
- 2627 22419 a FU(10.1)387
-b(Na)-31 b(vig)-8 b(ation)387 b(:)g FR(ls)p FU(,)h FR(cd)42
-b FU(,)387 b(and)h FR(pwd)23120 22419 y
-SDict begin 18.2 H.L end
- 23120 22419 a
-23120 22419 a
-SDict begin [ /Subtype /Link /Dest (FILE-COMMANDS-NAVIGATION) cvn /H
-/I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 23120 22419 a Black Black 96 w FU(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black 0 TeXcolorgray 49451 22419 a
-SDict begin H.S end
- 49451 22419 a FU(121)51776
-22419 y
-SDict begin 18.2 H.L end
- 51776 22419 a 51776 22419 a
-SDict begin [ /Subtype /Link /Dest (FILE-COMMANDS-NAVIGATION) cvn /H
-/I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 51776 22419 a Black
-0 TeXcolorgray 5284 24434 a
-SDict begin H.S end
- 5284 24434 a FU(10.1.1)f
-FR(ls)10579 24434 y
-SDict begin 18.2 H.L end
- 10579 24434 a 10579 24434 a
-SDict begin [ /Subtype /Link /Dest (3397) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 10579
-24434 a Black Black 239 w FU(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black 0
-TeXcolorgray 49451 24434 a
-SDict begin H.S end
- 49451 24434 a FU(121)51776
-24434 y
-SDict begin 18.2 H.L end
- 51776 24434 a 51776 24434 a
-SDict begin [ /Subtype /Link /Dest (3397) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 51776 24434 a Black
-0 TeXcolorgray 5284 26449 a
-SDict begin H.S end
- 5284 26449 a FU(10.1.2)g
-FR(cd)11050 26449 y
-SDict begin 18.2 H.L end
- 11050 26449 a 11050 26449 a
-SDict begin [ /Subtype /Link /Dest (3435) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 11050
-26449 a Black Black 156 w FU(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black 0
-TeXcolorgray 49451 26449 a
-SDict begin H.S end
- 49451 26449 a FU(123)51776
-26449 y
-SDict begin 18.2 H.L end
- 51776 26449 a 51776 26449 a
-SDict begin [ /Subtype /Link /Dest (3435) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 51776 26449 a Black
-0 TeXcolorgray 5284 28463 a
-SDict begin H.S end
- 5284 28463 a FU(10.1.3)g
-FR(pwd)12171 28463 y
-SDict begin 18.2 H.L end
- 12171 28463 a 12171 28463 a
-SDict begin [ /Subtype /Link /Dest (3462) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 12171
-28463 a Black Black 197 w FU(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black 0
-TeXcolorgray 49451 28463 a
-SDict begin H.S end
- 49451 28463 a FU(123)51776
-28463 y
-SDict begin 18.2 H.L end
- 51776 28463 a 51776 28463 a
-SDict begin [ /Subtype /Link /Dest (3462) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 51776 28463 a Black
-0 TeXcolorgray 2627 30478 a
-SDict begin H.S end
- 2627 30478 a FU(10.2)g(P)-23
-b(agers:)387 b FR(mor)-57 b(e)p FU(,)387 b FR(less)p
-FU(,)h(and)f FR(most)23236 30478 y
-SDict begin 18.2 H.L end
- 23236 30478 a 23236
-30478 a
-SDict begin [ /Subtype /Link /Dest (FILE-COMMANDS-PAGERS) cvn /H /I
-/Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 23236 30478 a Black Black 368 w FU(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black 0
-TeXcolorgray 49451 30478 a
-SDict begin H.S end
- 49451 30478 a FU(124)51776
-30478 y
-SDict begin 18.2 H.L end
- 51776 30478 a 51776 30478 a
-SDict begin [ /Subtype /Link /Dest (FILE-COMMANDS-PAGERS) cvn /H /I
-/Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 51776 30478 a Black
-0 TeXcolorgray 5284 32493 a
-SDict begin H.S end
- 5284 32493 a FU(10.2.1)g
-FR(mor)-57 b(e)12673 32493 y
-SDict begin 18.2 H.L end
- 12673 32493 a 12673 32493
-a
-SDict begin [ /Subtype /Link /Dest (3490) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 12673 32493 a Black Black 83 w FU(.)p Black Black(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black 0 TeXcolorgray 49451 32493 a
-SDict begin H.S end
- 49451 32493 a FU(124)51776
-32493 y
-SDict begin 18.2 H.L end
- 51776 32493 a 51776 32493 a
-SDict begin [ /Subtype /Link /Dest (3490) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 51776 32493 a Black
-0 TeXcolorgray 5284 34507 a
-SDict begin H.S end
- 5284 34507 a FU(10.2.2)387
-b FR(less)11870 34507 y
-SDict begin 18.2 H.L end
- 11870 34507 a 11870 34507 a
-SDict begin [ /Subtype /Link /Dest (3517) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 11870
-34507 a Black Black 111 w FU(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black 0
-TeXcolorgray 49451 34507 a
-SDict begin H.S end
- 49451 34507 a FU(125)51776
-34507 y
-SDict begin 18.2 H.L end
- 51776 34507 a 51776 34507 a
-SDict begin [ /Subtype /Link /Dest (3517) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 51776 34507 a Black
-0 TeXcolorgray 5284 36522 a
-SDict begin H.S end
- 5284 36522 a FU(10.2.3)g
-FR(most)12501 36522 y
-SDict begin 18.2 H.L end
- 12501 36522 a 12501 36522 a
-SDict begin [ /Subtype /Link /Dest (3538) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 12501
-36522 a Black Black 255 w FU(.)p Black Black(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-0 TeXcolorgray 49451 36522 a
-SDict begin H.S end
- 49451 36522 a FU(125)51776
-36522 y
-SDict begin 18.2 H.L end
- 51776 36522 a 51776 36522 a
-SDict begin [ /Subtype /Link /Dest (3538) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 51776 36522 a Black
-0 TeXcolorgray 2627 38537 a
-SDict begin H.S end
- 2627 38537 a FU(10.3)g(Simple)g(Output:)f
-FR(cat)415 b FU(and)387 b FR(ec)-23 b(ho)23466 38537
-y
-SDict begin 18.2 H.L end
- 23466 38537 a 23466 38537 a
-SDict begin [ /Subtype /Link /Dest (FILE-COMMANDS-OUTPUT) cvn /H /I
-/Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 23466 38537 a Black Black
-138 w FU(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black 0 TeXcolorgray 49451 38537 a
-SDict begin H.S end
- 49451 38537 a FU(125)51776
-38537 y
-SDict begin 18.2 H.L end
- 51776 38537 a 51776 38537 a
-SDict begin [ /Subtype /Link /Dest (FILE-COMMANDS-OUTPUT) cvn /H /I
-/Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 51776 38537 a Black
-0 TeXcolorgray 5284 40551 a
-SDict begin H.S end
- 5284 40551 a FU(10.3.1)387
-b FR(cat)11467 40551 y
-SDict begin 18.2 H.L end
- 11467 40551 a 11467 40551 a
-SDict begin [ /Subtype /Link /Dest (3558) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 11467
-40551 a Black Black 126 w FU(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-0 TeXcolorgray 49451 40551 a
-SDict begin H.S end
- 49451 40551 a FU(125)51776
-40551 y
-SDict begin 18.2 H.L end
- 51776 40551 a 51776 40551 a
-SDict begin [ /Subtype /Link /Dest (3558) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 51776 40551 a Black
-0 TeXcolorgray 5284 42566 a
-SDict begin H.S end
- 5284 42566 a FU(10.3.2)g
-FR(ec)-23 b(ho)12448 42566 y
-SDict begin 18.2 H.L end
- 12448 42566 a 12448 42566
-a
-SDict begin [ /Subtype /Link /Dest (3602) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 12448 42566 a Black Black 308 w FU(.)p Black Black(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black 0 TeXcolorgray 49451 42566 a
-SDict begin H.S end
- 49451 42566 a FU(126)51776
-42566 y
-SDict begin 18.2 H.L end
- 51776 42566 a 51776 42566 a
-SDict begin [ /Subtype /Link /Dest (3602) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 51776 42566 a Black
-0 TeXcolorgray 2627 44581 a
-SDict begin H.S end
- 2627 44581 a FU(10.4)387
-b(Creation:)g FR(touc)-23 b(h)387 b FU(and)g FR(mkdir)21967
-44581 y
-SDict begin 18.2 H.L end
- 21967 44581 a 21967 44581 a
-SDict begin [ /Subtype /Link /Dest (FILE-COMMANDS-CREATION) cvn /H
-/I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 21967 44581 a Black
-Black 87 w FU(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black 0
-TeXcolorgray 49451 44581 a
-SDict begin H.S end
- 49451 44581 a FU(126)51776
-44581 y
-SDict begin 18.2 H.L end
- 51776 44581 a 51776 44581 a
-SDict begin [ /Subtype /Link /Dest (FILE-COMMANDS-CREATION) cvn /H
-/I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 51776 44581 a Black
-0 TeXcolorgray 5284 46595 a
-SDict begin H.S end
- 5284 46595 a FU(10.4.1)g
-FR(touc)-23 b(h)12966 46595 y
-SDict begin 18.2 H.L end
- 12966 46595 a 12966 46595
-a
-SDict begin [ /Subtype /Link /Dest (3618) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 12966 46595 a Black Black 177 w FU(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black 0
-TeXcolorgray 49451 46595 a
-SDict begin H.S end
- 49451 46595 a FU(127)51776
-46595 y
-SDict begin 18.2 H.L end
- 51776 46595 a 51776 46595 a
-SDict begin [ /Subtype /Link /Dest (3618) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 51776 46595 a Black
-0 TeXcolorgray 5284 48610 a
-SDict begin H.S end
- 5284 48610 a FU(10.4.2)387
-b FR(mkdir)13197 48610 y
-SDict begin 18.2 H.L end
- 13197 48610 a 13197 48610 a
-SDict begin [ /Subtype /Link /Dest (3638) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
-
-13197 48610 a Black Black 333 w FU(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black 0
-TeXcolorgray 49451 48610 a
-SDict begin H.S end
- 49451 48610 a FU(127)51776
-48610 y
-SDict begin 18.2 H.L end
- 51776 48610 a 51776 48610 a
-SDict begin [ /Subtype /Link /Dest (3638) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 51776 48610 a Black
-0 TeXcolorgray 2627 50625 a
-SDict begin H.S end
- 2627 50625 a FU(10.5)g(Cop)-15
-b(y)387 b(and)g(Mo)-23 b(v)g(e)15652 50625 y
-SDict begin 18.2 H.L end
- 15652 50625
-a 15652 50625 a
-SDict begin [ /Subtype /Link /Dest (FILE-COMMANDS-COPYMOVE) cvn /H
-/I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 15652 50625 a Black Black 203 w FU(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-0 TeXcolorgray 49451 50625 a
-SDict begin H.S end
- 49451 50625 a FU(128)51776
-50625 y
-SDict begin 18.2 H.L end
- 51776 50625 a 51776 50625 a
-SDict begin [ /Subtype /Link /Dest (FILE-COMMANDS-COPYMOVE) cvn /H
-/I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 51776 50625 a Black
-0 TeXcolorgray 5284 52639 a
-SDict begin H.S end
- 5284 52639 a FU(10.5.1)387
-b FR(cp)11008 52639 y
-SDict begin 18.2 H.L end
- 11008 52639 a 11008 52639 a
-SDict begin [ /Subtype /Link /Dest (FILE-COMMANDS-COPYMOVE-CP) cvn
-/H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 11008
-52639 a Black Black 198 w FU(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black 0
-TeXcolorgray 49451 52639 a
-SDict begin H.S end
- 49451 52639 a FU(128)51776
-52639 y
-SDict begin 18.2 H.L end
- 51776 52639 a 51776 52639 a
-SDict begin [ /Subtype /Link /Dest (FILE-COMMANDS-COPYMOVE-CP) cvn
-/H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 51776 52639 a Black
-0 TeXcolorgray 5284 54654 a
-SDict begin H.S end
- 5284 54654 a FU(10.5.2)g
-FR(mv)11352 54654 y
-SDict begin 18.2 H.L end
- 11352 54654 a 11352 54654 a
-SDict begin [ /Subtype /Link /Dest (3711) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 11352
-54654 a Black Black 241 w FU(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-0 TeXcolorgray 49451 54654 a
-SDict begin H.S end
- 49451 54654 a FU(129)51776
-54654 y
-SDict begin 18.2 H.L end
- 51776 54654 a 51776 54654 a
-SDict begin [ /Subtype /Link /Dest (3711) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 51776 54654 a Black
-0 TeXcolorgray 2627 56669 a
-SDict begin H.S end
- 2627 56669 a FU(10.6)g(Deletion:)g
-FR(rm)g FU(and)g FR(rmdir)20183 56669 y
-SDict begin 18.2 H.L end
- 20183 56669 a
-20183 56669 a
-SDict begin [ /Subtype /Link /Dest (FILE-COMMANDS-DELETION) cvn /H
-/I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 20183 56669 a Black Black 321 w FU(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black 0
-TeXcolorgray 49451 56669 a
-SDict begin H.S end
- 49451 56669 a FU(129)51776
-56669 y
-SDict begin 18.2 H.L end
- 51776 56669 a 51776 56669 a
-SDict begin [ /Subtype /Link /Dest (FILE-COMMANDS-DELETION) cvn /H
-/I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 51776 56669 a Black
-0 TeXcolorgray 5284 58683 a
-SDict begin H.S end
- 5284 58683 a FU(10.6.1)g
-FR(rm)11267 58683 y
-SDict begin 18.2 H.L end
- 11267 58683 a 11267 58683 a
-SDict begin [ /Subtype /Link /Dest (3732) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 11267
-58683 a Black Black 326 w FU(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-0 TeXcolorgray 49451 58683 a
-SDict begin H.S end
- 49451 58683 a FU(129)51776
-58683 y
-SDict begin 18.2 H.L end
- 51776 58683 a 51776 58683 a
-SDict begin [ /Subtype /Link /Dest (3732) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 51776 58683 a Black
-0 TeXcolorgray 5284 60698 a
-SDict begin H.S end
- 5284 60698 a FU(10.6.2)g
-FR(rmdir)13112 60698 y
-SDict begin 18.2 H.L end
- 13112 60698 a 13112 60698 a
-SDict begin [ /Subtype /Link /Dest (3763) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 13112
-60698 a Black Black 31 w FU(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black 0
-TeXcolorgray 49451 60698 a
-SDict begin H.S end
- 49451 60698 a FU(130)51776
-60698 y
-SDict begin 18.2 H.L end
- 51776 60698 a 51776 60698 a
-SDict begin [ /Subtype /Link /Dest (3763) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 51776 60698 a Black
-0 TeXcolorgray 2627 62713 a
-SDict begin H.S end
- 2627 62713 a FU(10.7)g(Aliasing)g(\002les)g
-(with)f FR(ln)18685 62713 y
-SDict begin 18.2 H.L end
- 18685 62713 a 18685 62713
-a
-SDict begin [ /Subtype /Link /Dest (FILE-COMMANDS-LINK) cvn /H /I /Border
-[0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 18685 62713 a Black Black 269 w FU(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black 0
-TeXcolorgray 49451 62713 a
-SDict begin H.S end
- 49451 62713 a FU(130)51776
-62713 y
-SDict begin 18.2 H.L end
- 51776 62713 a 51776 62713 a
-SDict begin [ /Subtype /Link /Dest (FILE-COMMANDS-LINK) cvn /H /I /Border
-[0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 51776 62713 a Black
-Black -30 73672 a FR(viii)p Black eop end
-%%Page: 9 9
-TeXDict begin 9 8 bop -8000 -8000 a
-SDict begin /product where{pop product(Distiller)search{pop pop pop
-version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
-closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
-grestore}if}{pop}ifelse}{pop}ifelse}if end
- -8000 -8000 a Black
-0 TeXcolorgray -30 -1358 a
-SDict begin H.S end
- -30 -1358 a 0 TeXcolorgray
-0 TeXcolorgray -30 -1358 a
-SDict begin H.R end
- -30 -1358 a -30 -1358 a
-SDict begin [ /View [/XYZ H.V] /Dest (page.9) cvn H.B /DEST pdfmark
-end
- -30
--1358 a Black Black 0 TeXcolorgray -30 3490 a
-SDict begin H.S end
- -30 3490
-a FX(11)387 b(Pr)-28 b(ocess)388 b(Contr)-28 b(ol)12397
-3490 y
-SDict begin 18.2 H.L end
- 12397 3490 a 12397 3490 a
-SDict begin [ /Subtype /Link /Dest (PROCESS-CONTROL) cvn /H /I /Border
-[0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 12397 3490 a Black Black
-359 w FX(.)p Black Black(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black 0
-TeXcolorgray 49451 3490 a
-SDict begin H.S end
- 49451 3490 a FX(133)51776 3490
-y
-SDict begin 18.2 H.L end
- 51776 3490 a 51776 3490 a
-SDict begin [ /Subtype /Link /Dest (PROCESS-CONTROL) cvn /H /I /Border
-[0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 51776 3490 a Black 0 TeXcolorgray
-2627 5771 a
-SDict begin H.S end
- 2627 5771 a FU(11.1)387 b(Backgrounding)15283
-5771 y
-SDict begin 18.2 H.L end
- 15283 5771 a 15283 5771 a
-SDict begin [ /Subtype /Link /Dest (PROCESS-CONTROL-BACKGROUNDING)
-cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 15283 5771 a Black Black
-185 w FU(.)p Black Black(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black 0
-TeXcolorgray 49451 5771 a
-SDict begin H.S end
- 49451 5771 a FU(133)51776 5771
-y
-SDict begin 18.2 H.L end
- 51776 5771 a 51776 5771 a
-SDict begin [ /Subtype /Link /Dest (PROCESS-CONTROL-BACKGROUNDING)
-cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 51776 5771 a Black 0 TeXcolorgray
-2627 7785 a
-SDict begin H.S end
- 2627 7785 a FU(11.2)g(F)-23 b(ore)g(grounding)14893
-7785 y
-SDict begin 18.2 H.L end
- 14893 7785 a 14893 7785 a
-SDict begin [ /Subtype /Link /Dest (PROCESS-CONTROL-FOREGROUNDING)
-cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 14893 7785 a Black Black
-187 w FU(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black 0
-TeXcolorgray 49451 7785 a
-SDict begin H.S end
- 49451 7785 a FU(134)51776 7785
-y
-SDict begin 18.2 H.L end
- 51776 7785 a 51776 7785 a
-SDict begin [ /Subtype /Link /Dest (PROCESS-CONTROL-FOREGROUNDING)
-cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 51776 7785 a Black 0 TeXcolorgray
-2627 9800 a
-SDict begin H.S end
- 2627 9800 a FU(11.3)387 b FR(ps)7104 9800
-y
-SDict begin 18.2 H.L end
- 7104 9800 a 7104 9800 a
-SDict begin [ /Subtype /Link /Dest (PROCESS-CONTROL-PS) cvn /H /I /Border
-[0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 7104 9800 a Black Black 227
-w FU(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black 0
-TeXcolorgray 49451 9800 a
-SDict begin H.S end
- 49451 9800 a FU(135)51776 9800
-y
-SDict begin 18.2 H.L end
- 51776 9800 a 51776 9800 a
-SDict begin [ /Subtype /Link /Dest (PROCESS-CONTROL-PS) cvn /H /I /Border
-[0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 51776 9800 a Black 0 TeXcolorgray
-2627 11815 a
-SDict begin H.S end
- 2627 11815 a FU(11.4)g FR(kill)7709 11815
-y
-SDict begin 18.2 H.L end
- 7709 11815 a 7709 11815 a
-SDict begin [ /Subtype /Link /Dest (PROCESS-CONTROL-KILL) cvn /H /I
-/Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 7709 11815 a Black Black
-10 w FU(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black 0
-TeXcolorgray 49451 11815 a
-SDict begin H.S end
- 49451 11815 a FU(139)51776
-11815 y
-SDict begin 18.2 H.L end
- 51776 11815 a 51776 11815 a
-SDict begin [ /Subtype /Link /Dest (PROCESS-CONTROL-KILL) cvn /H /I
-/Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 51776 11815 a Black
-0 TeXcolorgray 2627 13829 a
-SDict begin H.S end
- 2627 13829 a FU(11.5)g FR(top)7707
-13829 y
-SDict begin 18.2 H.L end
- 7707 13829 a 7707 13829 a
-SDict begin [ /Subtype /Link /Dest (PROCESS-CONTROL-TOP) cvn /H /I
-/Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 7707 13829 a Black
-Black 12 w FU(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black 0
-TeXcolorgray 49451 13829 a
-SDict begin H.S end
- 49451 13829 a FU(141)51776
-13829 y
-SDict begin 18.2 H.L end
- 51776 13829 a 51776 13829 a
-SDict begin [ /Subtype /Link /Dest (PROCESS-CONTROL-TOP) cvn /H /I
-/Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 51776 13829 a Black
-0 TeXcolorgray -30 16110 a
-SDict begin H.S end
- -30 16110 a FX(12)g(Essential)f(System)h
-(Administration)23520 16110 y
-SDict begin 18.2 H.L end
- 23520 16110 a 23520 16110
-a
-SDict begin [ /Subtype /Link /Dest (ESSENTIAL-SYSADMIN) cvn /H /I /Border
-[0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 23520 16110 a Black Black 84 w FX(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black 0
-TeXcolorgray 49451 16110 a
-SDict begin H.S end
- 49451 16110 a FX(143)51776
-16110 y
-SDict begin 18.2 H.L end
- 51776 16110 a 51776 16110 a
-SDict begin [ /Subtype /Link /Dest (ESSENTIAL-SYSADMIN) cvn /H /I /Border
-[0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 51776 16110 a Black
-0 TeXcolorgray 2627 18390 a
-SDict begin H.S end
- 2627 18390 a FU(12.1)g(Users)g(and)h
-(Groups)16831 18390 y
-SDict begin 18.2 H.L end
- 16831 18390 a 16831 18390 a
-SDict begin [ /Subtype /Link /Dest (ESSENTIAL-SYSADMIN-USERS) cvn /H
-/I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 16831
-18390 a Black Black 186 w FU(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black 0
-TeXcolorgray 49451 18390 a
-SDict begin H.S end
- 49451 18390 a FU(143)51776
-18390 y
-SDict begin 18.2 H.L end
- 51776 18390 a 51776 18390 a
-SDict begin [ /Subtype /Link /Dest (ESSENTIAL-SYSADMIN-USERS) cvn /H
-/I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 51776 18390 a Black
-0 TeXcolorgray 5284 20405 a
-SDict begin H.S end
- 5284 20405 a FU(12.1.1)f(Supplied)g
-(Scripts)19750 20405 y
-SDict begin 18.2 H.L end
- 19750 20405 a 19750 20405 a
-SDict begin [ /Subtype /Link /Dest (ESSENTIAL-SYSADMIN-USERS-SCRIPTS)
-cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 19750
-20405 a Black Black 367 w FU(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black 0 TeXcolorgray 49451 20405 a
-SDict begin H.S end
- 49451 20405
-a FU(143)51776 20405 y
-SDict begin 18.2 H.L end
- 51776 20405 a 51776 20405 a
-SDict begin [ /Subtype /Link /Dest (ESSENTIAL-SYSADMIN-USERS-SCRIPTS)
-cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 51776
-20405 a Black 0 TeXcolorgray 5284 22419 a
-SDict begin H.S end
- 5284 22419
-a FU(12.1.2)g(Changing)g(P)-23 b(assw)-15 b(ords)22466
-22419 y
-SDict begin 18.2 H.L end
- 22466 22419 a 22466 22419 a
-SDict begin [ /Subtype /Link /Dest (ESSENTIAL-SYSADMIN-USERS-PASSWDS)
-cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 22466 22419 a Black
-Black 363 w FU(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black 0
-TeXcolorgray 49451 22419 a
-SDict begin H.S end
- 49451 22419 a FU(148)51776
-22419 y
-SDict begin 18.2 H.L end
- 51776 22419 a 51776 22419 a
-SDict begin [ /Subtype /Link /Dest (ESSENTIAL-SYSADMIN-USERS-PASSWDS)
-cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 51776 22419 a Black
-0 TeXcolorgray 5284 24434 a
-SDict begin H.S end
- 5284 24434 a FU(12.1.3)387
-b(Changing)g(User)g(Information)26677 24434 y
-SDict begin 18.2 H.L end
- 26677 24434
-a 26677 24434 a
-SDict begin [ /Subtype /Link /Dest (ESSENTIAL-SYSADMIN-USERS-CHANGING)
-cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 26677 24434 a Black Black 26 w FU(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black 0
-TeXcolorgray 49451 24434 a
-SDict begin H.S end
- 49451 24434 a FU(149)51776
-24434 y
-SDict begin 18.2 H.L end
- 51776 24434 a 51776 24434 a
-SDict begin [ /Subtype /Link /Dest (ESSENTIAL-SYSADMIN-USERS-CHANGING)
-cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 51776 24434 a Black
-0 TeXcolorgray 2627 26449 a
-SDict begin H.S end
- 2627 26449 a FU(12.2)g(Users)g(and)h
-(Groups,)f(the)g(Hard)h(W)-124 b(ay)26174 26449 y
-SDict begin 18.2 H.L end
- 26174
-26449 a 26174 26449 a
-SDict begin [ /Subtype /Link /Dest (ESSENTIAL-SYSADMIN-HARDUSERS) cvn
-/H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 26174 26449 a Black Black 142 w
-FU(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black 0
-TeXcolorgray 49451 26449 a
-SDict begin H.S end
- 49451 26449 a FU(150)51776
-26449 y
-SDict begin 18.2 H.L end
- 51776 26449 a 51776 26449 a
-SDict begin [ /Subtype /Link /Dest (ESSENTIAL-SYSADMIN-HARDUSERS) cvn
-/H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 51776 26449 a Black
-0 TeXcolorgray 2627 28463 a
-SDict begin H.S end
- 2627 28463 a FU(12.3)387
-b(Shutting)f(Do)-39 b(wn)388 b(Properly)20842 28463 y
-SDict begin 18.2 H.L end
-
-20842 28463 a 20842 28463 a
-SDict begin [ /Subtype /Link /Dest (ESSENTIAL-SYSADMIN-SHUTDOWN) cvn
-/H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 20842 28463 a Black Black
-50 w FU(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black 0 TeXcolorgray 49451 28463 a
-SDict begin H.S end
- 49451 28463
-a FU(152)51776 28463 y
-SDict begin 18.2 H.L end
- 51776 28463 a 51776 28463 a
-SDict begin [ /Subtype /Link /Dest (ESSENTIAL-SYSADMIN-SHUTDOWN) cvn
-/H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 51776
-28463 a Black 0 TeXcolorgray -30 30744 a
-SDict begin H.S end
- -30 30744 a
-FX(13)f(Basic)g(Netw)-15 b(ork)386 b(Commands)19541 30744
-y
-SDict begin 18.2 H.L end
- 19541 30744 a 19541 30744 a
-SDict begin [ /Subtype /Link /Dest (BASIC-NETWORK-COMMANDS) cvn /H
-/I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 19541 30744 a Black Black
-188 w FX(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black 0 TeXcolorgray 49451 30744 a
-SDict begin H.S end
- 49451 30744
-a FX(157)51776 30744 y
-SDict begin 18.2 H.L end
- 51776 30744 a 51776 30744 a
-SDict begin [ /Subtype /Link /Dest (BASIC-NETWORK-COMMANDS) cvn /H
-/I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 51776
-30744 a Black 0 TeXcolorgray 2627 33024 a
-SDict begin H.S end
- 2627 33024
-a FU(13.1)h FR(ping)8482 33024 y
-SDict begin 18.2 H.L end
- 8482 33024 a 8482 33024
-a
-SDict begin [ /Subtype /Link /Dest (BASIC-NETWORK-COMMANDS-PING) cvn
-/H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 8482 33024 a Black Black 12 w FU(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black 0
-TeXcolorgray 49451 33024 a
-SDict begin H.S end
- 49451 33024 a FU(157)51776
-33024 y
-SDict begin 18.2 H.L end
- 51776 33024 a 51776 33024 a
-SDict begin [ /Subtype /Link /Dest (BASIC-NETWORK-COMMANDS-PING) cvn
-/H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 51776 33024 a Black
-0 TeXcolorgray 2627 35039 a
-SDict begin H.S end
- 2627 35039 a FU(13.2)g FR(tr)-23
-b(acer)-70 b(oute)12090 35039 y
-SDict begin 18.2 H.L end
- 12090 35039 a 12090 35039
-a
-SDict begin [ /Subtype /Link /Dest (BASIC-NETWORK-COMMANDS-TRACEROUTE)
-cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 12090 35039 a Black Black 278 w FU(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black 0
-TeXcolorgray 49451 35039 a
-SDict begin H.S end
- 49451 35039 a FU(158)51776
-35039 y
-SDict begin 18.2 H.L end
- 51776 35039 a 51776 35039 a
-SDict begin [ /Subtype /Link /Dest (BASIC-NETWORK-COMMANDS-TRACEROUTE)
-cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 51776 35039 a Black
-0 TeXcolorgray 2627 37053 a
-SDict begin H.S end
- 2627 37053 a FU(13.3)387
-b(DNS)g(T)-124 b(ools)12620 37053 y
-SDict begin 18.2 H.L end
- 12620 37053 a 12620
-37053 a
-SDict begin [ /Subtype /Link /Dest (BASIC-NETWORK-COMMANDS-DNS) cvn
-/H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 12620 37053 a Black Black 136 w FU(.)p Black
-Black(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black 0
-TeXcolorgray 49451 37053 a
-SDict begin H.S end
- 49451 37053 a FU(158)51776
-37053 y
-SDict begin 18.2 H.L end
- 51776 37053 a 51776 37053 a
-SDict begin [ /Subtype /Link /Dest (BASIC-NETWORK-COMMANDS-DNS) cvn
-/H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 51776 37053 a Black
-0 TeXcolorgray 5284 39068 a
-SDict begin H.S end
- 5284 39068 a FU(13.3.1)387
-b FR(host)12157 39068 y
-SDict begin 18.2 H.L end
- 12157 39068 a 12157 39068 a
-SDict begin [ /Subtype /Link /Dest (4474) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 12157
-39068 a Black Black 211 w FU(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black 0
-TeXcolorgray 49451 39068 a
-SDict begin H.S end
- 49451 39068 a FU(159)51776
-39068 y
-SDict begin 18.2 H.L end
- 51776 39068 a 51776 39068 a
-SDict begin [ /Subtype /Link /Dest (4474) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 51776 39068 a Black
-0 TeXcolorgray 5284 41083 a
-SDict begin H.S end
- 5284 41083 a FU(13.3.2)g
-FR(nslookup)15142 41083 y
-SDict begin 18.2 H.L end
- 15142 41083 a 15142 41083 a
-SDict begin [ /Subtype /Link /Dest (4486) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
-
-15142 41083 a Black Black 326 w FU(.)p Black Black(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-0 TeXcolorgray 49451 41083 a
-SDict begin H.S end
- 49451 41083 a FU(159)51776
-41083 y
-SDict begin 18.2 H.L end
- 51776 41083 a 51776 41083 a
-SDict begin [ /Subtype /Link /Dest (4486) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 51776 41083 a Black
-0 TeXcolorgray 5284 43097 a
-SDict begin H.S end
- 5284 43097 a FU(13.3.3)g
-FR(dig)11526 43097 y
-SDict begin 18.2 H.L end
- 11526 43097 a 11526 43097 a
-SDict begin [ /Subtype /Link /Dest (4495) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 11526
-43097 a Black Black 67 w FU(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black 0
-TeXcolorgray 49451 43097 a
-SDict begin H.S end
- 49451 43097 a FU(160)51776
-43097 y
-SDict begin 18.2 H.L end
- 51776 43097 a 51776 43097 a
-SDict begin [ /Subtype /Link /Dest (4495) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 51776 43097 a Black
-0 TeXcolorgray 2627 45112 a
-SDict begin H.S end
- 2627 45112 a FU(13.4)g FR(\002ng)-15
-b(er)9363 45112 y
-SDict begin 18.2 H.L end
- 9363 45112 a 9363 45112 a
-SDict begin [ /Subtype /Link /Dest (BASIC-NETWORK-COMMANDS-FINGER)
-cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 9363 45112
-a Black Black 293 w FU(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black 0
-TeXcolorgray 49451 45112 a
-SDict begin H.S end
- 49451 45112 a FU(161)51776
-45112 y
-SDict begin 18.2 H.L end
- 51776 45112 a 51776 45112 a
-SDict begin [ /Subtype /Link /Dest (BASIC-NETWORK-COMMANDS-FINGER)
-cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 51776 45112 a Black
-0 TeXcolorgray 2627 47127 a
-SDict begin H.S end
- 2627 47127 a FU(13.5)387
-b FR(telnet)9198 47127 y
-SDict begin 18.2 H.L end
- 9198 47127 a 9198 47127 a
-SDict begin [ /Subtype /Link /Dest (BASIC-NETWORK-COMMANDS-TELNET)
-cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 9198
-47127 a Black Black 71 w FU(.)p Black Black(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black 0
-TeXcolorgray 49451 47127 a
-SDict begin H.S end
- 49451 47127 a FU(162)51776
-47127 y
-SDict begin 18.2 H.L end
- 51776 47127 a 51776 47127 a
-SDict begin [ /Subtype /Link /Dest (BASIC-NETWORK-COMMANDS-TELNET)
-cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 51776 47127 a Black
-0 TeXcolorgray 5284 49141 a
-SDict begin H.S end
- 5284 49141 a FU(13.5.1)g(The)h(other)f(use)
-g(of)g(telnet)23490 49141 y
-SDict begin 18.2 H.L end
- 23490 49141 a 23490 49141
-a
-SDict begin [ /Subtype /Link /Dest (4592) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 23490 49141 a Black Black 114 w FU(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black 0
-TeXcolorgray 49451 49141 a
-SDict begin H.S end
- 49451 49141 a FU(163)51776
-49141 y
-SDict begin 18.2 H.L end
- 51776 49141 a 51776 49141 a
-SDict begin [ /Subtype /Link /Dest (4592) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 51776 49141 a Black
-0 TeXcolorgray 2627 51156 a
-SDict begin H.S end
- 2627 51156 a FU(13.6)g(The)h(Secure)f
-(shell)16056 51156 y
-SDict begin 18.2 H.L end
- 16056 51156 a 16056 51156 a
-SDict begin [ /Subtype /Link /Dest (BASIC-NETWORK-COMMANDS-SSH) cvn
-/H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 16056
-51156 a Black Black 186 w FU(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black 0
-TeXcolorgray 49451 51156 a
-SDict begin H.S end
- 49451 51156 a FU(164)51776
-51156 y
-SDict begin 18.2 H.L end
- 51776 51156 a 51776 51156 a
-SDict begin [ /Subtype /Link /Dest (BASIC-NETWORK-COMMANDS-SSH) cvn
-/H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 51776 51156 a Black
-0 TeXcolorgray 2627 53171 a
-SDict begin H.S end
- 2627 53171 a FU(13.7)g(email)9170
-53171 y
-SDict begin 18.2 H.L end
- 9170 53171 a 9170 53171 a
-SDict begin [ /Subtype /Link /Dest (BASIC-NETWORK-COMMANDS-EMAIL) cvn
-/H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 9170 53171 a Black
-Black 99 w FU(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black 0
-TeXcolorgray 49451 53171 a
-SDict begin H.S end
- 49451 53171 a FU(164)51776
-53171 y
-SDict begin 18.2 H.L end
- 51776 53171 a 51776 53171 a
-SDict begin [ /Subtype /Link /Dest (BASIC-NETWORK-COMMANDS-EMAIL) cvn
-/H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 51776 53171 a Black
-0 TeXcolorgray 5284 55185 a
-SDict begin H.S end
- 5284 55185 a FU(13.7.1)g
-FR(pine)12214 55185 y
-SDict begin 18.2 H.L end
- 12214 55185 a 12214 55185 a
-SDict begin [ /Subtype /Link /Dest (BASIC-NETWORK-COMMANDS-EMAIL-PINE)
-cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 12214
-55185 a Black Black 154 w FU(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black 0
-TeXcolorgray 49451 55185 a
-SDict begin H.S end
- 49451 55185 a FU(165)51776
-55185 y
-SDict begin 18.2 H.L end
- 51776 55185 a 51776 55185 a
-SDict begin [ /Subtype /Link /Dest (BASIC-NETWORK-COMMANDS-EMAIL-PINE)
-cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 51776 55185 a Black
-0 TeXcolorgray 5284 57200 a
-SDict begin H.S end
- 5284 57200 a FU(13.7.2)g
-FR(elm)11783 57200 y
-SDict begin 18.2 H.L end
- 11783 57200 a 11783 57200 a
-SDict begin [ /Subtype /Link /Dest (BASIC-NETWORK-COMMANDS-EMAIL-ELM)
-cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 11783
-57200 a Black Black 198 w FU(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black 0
-TeXcolorgray 49451 57200 a
-SDict begin H.S end
- 49451 57200 a FU(167)51776
-57200 y
-SDict begin 18.2 H.L end
- 51776 57200 a 51776 57200 a
-SDict begin [ /Subtype /Link /Dest (BASIC-NETWORK-COMMANDS-EMAIL-ELM)
-cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 51776 57200 a Black
-0 TeXcolorgray 5284 59215 a
-SDict begin H.S end
- 5284 59215 a FU(13.7.3)g
-FR(mutt)12329 59215 y
-SDict begin 18.2 H.L end
- 12329 59215 a 12329 59215 a
-SDict begin [ /Subtype /Link /Dest (BASIC-NETWORK-COMMANDS-EMAIL-MUTT)
-cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 12329
-59215 a Black Black 39 w FU(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black 0
-TeXcolorgray 49451 59215 a
-SDict begin H.S end
- 49451 59215 a FU(168)51776
-59215 y
-SDict begin 18.2 H.L end
- 51776 59215 a 51776 59215 a
-SDict begin [ /Subtype /Link /Dest (BASIC-NETWORK-COMMANDS-EMAIL-MUTT)
-cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 51776 59215 a Black
-0 TeXcolorgray 5284 61229 a
-SDict begin H.S end
- 5284 61229 a FU(13.7.4)g
-FR(nail)11959 61229 y
-SDict begin 18.2 H.L end
- 11959 61229 a 11959 61229 a
-SDict begin [ /Subtype /Link /Dest (BASIC-NETWORK-COMMANDS-EMAIL-NAIL)
-cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 11959
-61229 a Black Black 22 w FU(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black 0
-TeXcolorgray 49451 61229 a
-SDict begin H.S end
- 49451 61229 a FU(169)51776
-61229 y
-SDict begin 18.2 H.L end
- 51776 61229 a 51776 61229 a
-SDict begin [ /Subtype /Link /Dest (BASIC-NETWORK-COMMANDS-EMAIL-NAIL)
-cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 51776 61229 a Black
-0 TeXcolorgray 2627 63244 a
-SDict begin H.S end
- 2627 63244 a FU(13.8)g(Bro)-39
-b(wsers)11541 63244 y
-SDict begin 18.2 H.L end
- 11541 63244 a 11541 63244 a
-SDict begin [ /Subtype /Link /Dest (BASIC-NETWORK-COMMANDS-WEB) cvn
-/H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 11541
-63244 a Black Black 52 w FU(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black 0
-TeXcolorgray 49451 63244 a
-SDict begin H.S end
- 49451 63244 a FU(170)51776
-63244 y
-SDict begin 18.2 H.L end
- 51776 63244 a 51776 63244 a
-SDict begin [ /Subtype /Link /Dest (BASIC-NETWORK-COMMANDS-WEB) cvn
-/H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 51776 63244 a Black
-0 TeXcolorgray 5284 65259 a
-SDict begin H.S end
- 5284 65259 a FU(13.8.1)387
-b FR(lynx)12132 65259 y
-SDict begin 18.2 H.L end
- 12132 65259 a 12132 65259 a
-SDict begin [ /Subtype /Link /Dest (4775) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 12132
-65259 a Black Black 236 w FU(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black 0
-TeXcolorgray 49451 65259 a
-SDict begin H.S end
- 49451 65259 a FU(170)51776
-65259 y
-SDict begin 18.2 H.L end
- 51776 65259 a 51776 65259 a
-SDict begin [ /Subtype /Link /Dest (4775) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 51776 65259 a Black
-0 TeXcolorgray 5284 67273 a
-SDict begin H.S end
- 5284 67273 a FU(13.8.2)g
-FR(links)12473 67273 y
-SDict begin 18.2 H.L end
- 12473 67273 a 12473 67273 a
-SDict begin [ /Subtype /Link /Dest (4812) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 12473
-67273 a Black Black 283 w FU(.)p Black Black(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-0 TeXcolorgray 49451 67273 a
-SDict begin H.S end
- 49451 67273 a FU(171)51776
-67273 y
-SDict begin 18.2 H.L end
- 51776 67273 a 51776 67273 a
-SDict begin [ /Subtype /Link /Dest (4812) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 51776 67273 a Black
-Black 50652 73672 a FR(ix)p Black eop end
-%%Page: 10 10
-TeXDict begin 10 9 bop -8000 -8000 a
-SDict begin /product where{pop product(Distiller)search{pop pop pop
-version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
-closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
-grestore}if}{pop}ifelse}{pop}ifelse}if end
- -8000 -8000 a Black
-0 TeXcolorgray -30 -1358 a
-SDict begin H.S end
- -30 -1358 a 0 TeXcolorgray
-0 TeXcolorgray -30 -1358 a
-SDict begin H.R end
- -30 -1358 a -30 -1358 a
-SDict begin [ /View [/XYZ H.V] /Dest (page.10) cvn H.B /DEST pdfmark
-end
- -30
--1358 a Black Black 0 TeXcolorgray 5284 3490 a
-SDict begin H.S end
- 5284 3490
-a FU(13.8.3)387 b FR(wg)-15 b(et)12486 3490 y
-SDict begin 18.2 H.L end
- 12486 3490
-a 12486 3490 a
-SDict begin [ /Subtype /Link /Dest (4830) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 12486 3490 a Black Black 270 w FU(.)p
-Black Black(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black 0
-TeXcolorgray 49451 3490 a
-SDict begin H.S end
- 49451 3490 a FU(172)51776 3490
-y
-SDict begin 18.2 H.L end
- 51776 3490 a 51776 3490 a
-SDict begin [ /Subtype /Link /Dest (4830) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 51776 3490 a Black 0 TeXcolorgray
-2627 5505 a
-SDict begin H.S end
- 2627 5505 a FU(13.9)387 b(FTP)g(Clients)13177
-5505 y
-SDict begin 18.2 H.L end
- 13177 5505 a 13177 5505 a
-SDict begin [ /Subtype /Link /Dest (BASIC-NETWORK-COMMANDS-FTP) cvn
-/H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 13177 5505 a Black Black
-353 w FU(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black 0 TeXcolorgray 49451 5505 a
-SDict begin H.S end
- 49451 5505 a FU(173)51776
-5505 y
-SDict begin 18.2 H.L end
- 51776 5505 a 51776 5505 a
-SDict begin [ /Subtype /Link /Dest (BASIC-NETWORK-COMMANDS-FTP) cvn
-/H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 51776 5505 a Black 0
-TeXcolorgray 5284 7520 a
-SDict begin H.S end
- 5284 7520 a FU(13.9.1)g FR(ftp)11182
-7520 y
-SDict begin 18.2 H.L end
- 11182 7520 a 11182 7520 a
-SDict begin [ /Subtype /Link /Dest (4870) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 11182 7520 a Black Black
-24 w FU(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black 0
-TeXcolorgray 49451 7520 a
-SDict begin H.S end
- 49451 7520 a FU(174)51776 7520
-y
-SDict begin 18.2 H.L end
- 51776 7520 a 51776 7520 a
-SDict begin [ /Subtype /Link /Dest (4870) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 51776 7520 a Black 0 TeXcolorgray
-5284 9534 a
-SDict begin H.S end
- 5284 9534 a FU(13.9.2)g FR(ncftp)12645 9534
-y
-SDict begin 18.2 H.L end
- 12645 9534 a 12645 9534 a
-SDict begin [ /Subtype /Link /Dest (BASIC-NETWORK-COMMANDS-FTP-NCFTP)
-cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 12645 9534 a Black Black
-111 w FU(.)p Black Black(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black 0
-TeXcolorgray 49451 9534 a
-SDict begin H.S end
- 49451 9534 a FU(175)51776 9534
-y
-SDict begin 18.2 H.L end
- 51776 9534 a 51776 9534 a
-SDict begin [ /Subtype /Link /Dest (BASIC-NETWORK-COMMANDS-FTP-NCFTP)
-cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 51776 9534 a Black 0 TeXcolorgray
-2627 11549 a
-SDict begin H.S end
- 2627 11549 a FU(13.10)g(T)-124 b(alking)387
-b(to)g(Other)g(People)21314 11549 y
-SDict begin 18.2 H.L end
- 21314 11549 a 21314
-11549 a
-SDict begin [ /Subtype /Link /Dest (BASIC-NETWORK-COMMANDS-TALK) cvn
-/H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 21314 11549 a Black Black 353 w FU(.)p Black
-Black(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black 0 TeXcolorgray 49451 11549 a
-SDict begin H.S end
- 49451 11549
-a FU(176)51776 11549 y
-SDict begin 18.2 H.L end
- 51776 11549 a 51776 11549 a
-SDict begin [ /Subtype /Link /Dest (BASIC-NETWORK-COMMANDS-TALK) cvn
-/H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 51776
-11549 a Black 0 TeXcolorgray 5284 13564 a
-SDict begin H.S end
- 5284 13564
-a FU(13.10.1)g FR(wall)12993 13564 y
-SDict begin 18.2 H.L end
- 12993 13564 a 12993
-13564 a
-SDict begin [ /Subtype /Link /Dest (4988) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 12993 13564 a Black Black 150 w FU(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-0 TeXcolorgray 49451 13564 a
-SDict begin H.S end
- 49451 13564 a FU(177)51776
-13564 y
-SDict begin 18.2 H.L end
- 51776 13564 a 51776 13564 a
-SDict begin [ /Subtype /Link /Dest (4988) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 51776 13564 a Black
-0 TeXcolorgray 5284 15578 a
-SDict begin H.S end
- 5284 15578 a FU(13.10.2)g
-FR(talk)12671 15578 y
-SDict begin 18.2 H.L end
- 12671 15578 a 12671 15578 a
-SDict begin [ /Subtype /Link /Dest (5005) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 12671
-15578 a Black Black 85 w FU(.)p Black Black(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-0 TeXcolorgray 49451 15578 a
-SDict begin H.S end
- 49451 15578 a FU(177)51776
-15578 y
-SDict begin 18.2 H.L end
- 51776 15578 a 51776 15578 a
-SDict begin [ /Subtype /Link /Dest (5005) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 51776 15578 a Black
-0 TeXcolorgray 5284 17593 a
-SDict begin H.S end
- 5284 17593 a FU(13.10.3)g
-FR(ytalk)13359 17593 y
-SDict begin 18.2 H.L end
- 13359 17593 a 13359 17593 a
-SDict begin [ /Subtype /Link /Dest (5032) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 13359
-17593 a Black Black 171 w FU(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black 0
-TeXcolorgray 49451 17593 a
-SDict begin H.S end
- 49451 17593 a FU(178)51776
-17593 y
-SDict begin 18.2 H.L end
- 51776 17593 a 51776 17593 a
-SDict begin [ /Subtype /Link /Dest (5032) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 51776 17593 a Black
-0 TeXcolorgray -30 19873 a
-SDict begin H.S end
- -30 19873 a FX(14)g(Security)7417
-19873 y
-SDict begin 18.2 H.L end
- 7417 19873 a 7417 19873 a
-SDict begin [ /Subtype /Link /Dest (SECURITY) cvn /H /I /Border [0
-0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 7417 19873 a Black
-Black 302 w FX(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black 0
-TeXcolorgray 49451 19873 a
-SDict begin H.S end
- 49451 19873 a FX(181)51776
-19873 y
-SDict begin 18.2 H.L end
- 51776 19873 a 51776 19873 a
-SDict begin [ /Subtype /Link /Dest (SECURITY) cvn /H /I /Border [0
-0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 51776 19873 a Black
-0 TeXcolorgray 2627 22154 a
-SDict begin H.S end
- 2627 22154 a FU(14.1)g(Disabling)g
-(Services)17392 22154 y
-SDict begin 18.2 H.L end
- 17392 22154 a 17392 22154 a
-SDict begin [ /Subtype /Link /Dest (SECURITY-DISABLE) cvn /H /I /Border
-[0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 17392
-22154 a Black Black 13 w FU(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black 0
-TeXcolorgray 49451 22154 a
-SDict begin H.S end
- 49451 22154 a FU(181)51776
-22154 y
-SDict begin 18.2 H.L end
- 51776 22154 a 51776 22154 a
-SDict begin [ /Subtype /Link /Dest (SECURITY-DISABLE) cvn /H /I /Border
-[0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 51776 22154 a Black
-0 TeXcolorgray 5284 24168 a
-SDict begin H.S end
- 5284 24168 a FU(14.1.1)g(Services)g
-(started)g(from)g FR(inetd)26244 24168 y
-SDict begin 18.2 H.L end
- 26244 24168
-a 26244 24168 a
-SDict begin [ /Subtype /Link /Dest (5080) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 26244 24168 a Black Black 72 w FU(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black 0
-TeXcolorgray 49451 24168 a
-SDict begin H.S end
- 49451 24168 a FU(181)51776
-24168 y
-SDict begin 18.2 H.L end
- 51776 24168 a 51776 24168 a
-SDict begin [ /Subtype /Link /Dest (5080) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 51776 24168 a Black
-0 TeXcolorgray 5284 26183 a
-SDict begin H.S end
- 5284 26183 a FU(14.1.2)g(Services)g
-(started)g(from)g(init)g(scripts)29604 26183 y
-SDict begin 18.2 H.L end
- 29604
-26183 a 29604 26183 a
-SDict begin [ /Subtype /Link /Dest (5101) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 29604 26183 a Black Black 199 w
-FU(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black 0 TeXcolorgray 49451 26183 a
-SDict begin H.S end
- 49451 26183 a FU(182)51776
-26183 y
-SDict begin 18.2 H.L end
- 51776 26183 a 51776 26183 a
-SDict begin [ /Subtype /Link /Dest (5101) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 51776 26183 a Black
-0 TeXcolorgray 2627 28198 a
-SDict begin H.S end
- 2627 28198 a FU(14.2)g(Host)g(Access)g
-(Control)18554 28198 y
-SDict begin 18.2 H.L end
- 18554 28198 a 18554 28198 a
-SDict begin [ /Subtype /Link /Dest (SECURITY-HOST) cvn /H /I /Border
-[0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 18554
-28198 a Black Black 13 w FU(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black 0
-TeXcolorgray 49451 28198 a
-SDict begin H.S end
- 49451 28198 a FU(183)51776
-28198 y
-SDict begin 18.2 H.L end
- 51776 28198 a 51776 28198 a
-SDict begin [ /Subtype /Link /Dest (SECURITY-HOST) cvn /H /I /Border
-[0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 51776 28198 a Black
-0 TeXcolorgray 5284 30212 a
-SDict begin H.S end
- 5284 30212 a FU(14.2.1)g
-FR(iptables)14454 30212 y
-SDict begin 18.2 H.L end
- 14454 30212 a 14454 30212 a
-SDict begin [ /Subtype /Link /Dest (SECURITY-HOST-IPTABLES) cvn /H
-/I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
-
-14454 30212 a Black Black 239 w FU(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black 0
-TeXcolorgray 49451 30212 a
-SDict begin H.S end
- 49451 30212 a FU(183)51776
-30212 y
-SDict begin 18.2 H.L end
- 51776 30212 a 51776 30212 a
-SDict begin [ /Subtype /Link /Dest (SECURITY-HOST-IPTABLES) cvn /H
-/I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 51776 30212 a Black
-0 TeXcolorgray 5284 32227 a
-SDict begin H.S end
- 5284 32227 a FU(14.2.2)g
-FR(tcpwr)-23 b(apper)-15 b(s)17257 32227 y
-SDict begin 18.2 H.L end
- 17257 32227
-a 17257 32227 a
-SDict begin [ /Subtype /Link /Dest (SECURITY-HOST-TCPWRAPPERS) cvn
-/H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 17257 32227 a Black Black 148 w FU(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black 0
-TeXcolorgray 49451 32227 a
-SDict begin H.S end
- 49451 32227 a FU(185)51776
-32227 y
-SDict begin 18.2 H.L end
- 51776 32227 a 51776 32227 a
-SDict begin [ /Subtype /Link /Dest (SECURITY-HOST-TCPWRAPPERS) cvn
-/H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 51776 32227 a Black
-0 TeXcolorgray 2627 34242 a
-SDict begin H.S end
- 2627 34242 a FU(14.3)387
-b(K)-39 b(eeping)387 b(Current)16060 34242 y
-SDict begin 18.2 H.L end
- 16060 34242
-a 16060 34242 a
-SDict begin [ /Subtype /Link /Dest (SECURITY-CURRENT) cvn /H /I /Border
-[0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 16060 34242 a Black Black 182 w FU(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black 0
-TeXcolorgray 49451 34242 a
-SDict begin H.S end
- 49451 34242 a FU(186)51776
-34242 y
-SDict begin 18.2 H.L end
- 51776 34242 a 51776 34242 a
-SDict begin [ /Subtype /Link /Dest (SECURITY-CURRENT) cvn /H /I /Border
-[0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 51776 34242 a Black
-0 TeXcolorgray 5284 36256 a
-SDict begin H.S end
- 5284 36256 a FU(14.3.1)g
-FP(slackware-security)f FU(mailing)g(list)30342 36256
-y
-SDict begin 18.2 H.L end
- 30342 36256 a 30342 36256 a
-SDict begin [ /Subtype /Link /Dest (SECURITY-CURRENT-LIST) cvn /H /I
-/Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 30342 36256 a Black Black
-236 w FU(.)p Black Black(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black 0
-TeXcolorgray 49451 36256 a
-SDict begin H.S end
- 49451 36256 a FU(186)51776
-36256 y
-SDict begin 18.2 H.L end
- 51776 36256 a 51776 36256 a
-SDict begin [ /Subtype /Link /Dest (SECURITY-CURRENT-LIST) cvn /H /I
-/Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 51776 36256 a Black
-0 TeXcolorgray 5284 38271 a
-SDict begin H.S end
- 5284 38271 a FU(14.3.2)h(The)h
-FQ(/patches)382 b FU(directory)23336 38271 y
-SDict begin 18.2 H.L end
- 23336 38271
-a 23336 38271 a
-SDict begin [ /Subtype /Link /Dest (SECURITY-CURRENT-PATCHES) cvn /H
-/I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 23336 38271 a Black Black 268 w FU(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black 0
-TeXcolorgray 49451 38271 a
-SDict begin H.S end
- 49451 38271 a FU(187)51776
-38271 y
-SDict begin 18.2 H.L end
- 51776 38271 a 51776 38271 a
-SDict begin [ /Subtype /Link /Dest (SECURITY-CURRENT-PATCHES) cvn /H
-/I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 51776 38271 a Black
-0 TeXcolorgray -30 40551 a
-SDict begin H.S end
- -30 40551 a FX(15)387 b(Ar)-28
-b(chi)-15 b(v)g(e)386 b(Files)10586 40551 y
-SDict begin 18.2 H.L end
- 10586 40551
-a 10586 40551 a
-SDict begin [ /Subtype /Link /Dest (ARCHIVE-FILES) cvn /H /I /Border
-[0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 10586 40551 a Black Black 232 w FX(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-0 TeXcolorgray 49451 40551 a
-SDict begin H.S end
- 49451 40551 a FX(189)51776
-40551 y
-SDict begin 18.2 H.L end
- 51776 40551 a 51776 40551 a
-SDict begin [ /Subtype /Link /Dest (ARCHIVE-FILES) cvn /H /I /Border
-[0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 51776 40551 a Black
-0 TeXcolorgray 2627 42832 a
-SDict begin H.S end
- 2627 42832 a FU(15.1)h FR(gzip)8310
-42832 y
-SDict begin 18.2 H.L end
- 8310 42832 a 8310 42832 a
-SDict begin [ /Subtype /Link /Dest (ARCHIVE-FILES-GZIP) cvn /H /I /Border
-[0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 8310 42832 a Black
-Black 184 w FU(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black 0 TeXcolorgray 49451 42832 a
-SDict begin H.S end
- 49451 42832 a FU(189)51776
-42832 y
-SDict begin 18.2 H.L end
- 51776 42832 a 51776 42832 a
-SDict begin [ /Subtype /Link /Dest (ARCHIVE-FILES-GZIP) cvn /H /I /Border
-[0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 51776 42832 a Black
-0 TeXcolorgray 2627 44846 a
-SDict begin H.S end
- 2627 44846 a FU(15.2)g FR(bzip2)9085
-44846 y
-SDict begin 18.2 H.L end
- 9085 44846 a 9085 44846 a
-SDict begin [ /Subtype /Link /Dest (ARCHIVE-FILES-BZIP2) cvn /H /I
-/Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 9085 44846 a Black
-Black 184 w FU(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black 0
-TeXcolorgray 49451 44846 a
-SDict begin H.S end
- 49451 44846 a FU(190)51776
-44846 y
-SDict begin 18.2 H.L end
- 51776 44846 a 51776 44846 a
-SDict begin [ /Subtype /Link /Dest (ARCHIVE-FILES-BZIP2) cvn /H /I
-/Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 51776 44846 a Black
-0 TeXcolorgray 2627 46861 a
-SDict begin H.S end
- 2627 46861 a FU(15.3)g FR(tar)7571
-46861 y
-SDict begin 18.2 H.L end
- 7571 46861 a 7571 46861 a
-SDict begin [ /Subtype /Link /Dest (ARCHIVE-FILES-TAR) cvn /H /I /Border
-[0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 7571 46861 a Black
-Black 148 w FU(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black 0
-TeXcolorgray 49451 46861 a
-SDict begin H.S end
- 49451 46861 a FU(190)51776
-46861 y
-SDict begin 18.2 H.L end
- 51776 46861 a 51776 46861 a
-SDict begin [ /Subtype /Link /Dest (ARCHIVE-FILES-TAR) cvn /H /I /Border
-[0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 51776 46861 a Black
-0 TeXcolorgray 2627 48876 a
-SDict begin H.S end
- 2627 48876 a FU(15.4)g FR(zip)7535
-48876 y
-SDict begin 18.2 H.L end
- 7535 48876 a 7535 48876 a
-SDict begin [ /Subtype /Link /Dest (ARCHIVE-FILES-ZIP) cvn /H /I /Border
-[0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 7535 48876 a Black
-Black 184 w FU(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black 0
-TeXcolorgray 49451 48876 a
-SDict begin H.S end
- 49451 48876 a FU(193)51776
-48876 y
-SDict begin 18.2 H.L end
- 51776 48876 a 51776 48876 a
-SDict begin [ /Subtype /Link /Dest (ARCHIVE-FILES-ZIP) cvn /H /I /Border
-[0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 51776 48876 a Black
-0 TeXcolorgray -30 51156 a
-SDict begin H.S end
- -30 51156 a FX(16)g(V)-57
-b(i)3400 51156 y
-SDict begin 18.2 H.L end
- 3400 51156 a 3400 51156 a
-SDict begin [ /Subtype /Link /Dest (VI) cvn /H /I /Border [0 0 0] /Color
-[1 0 0] H.B /ANN pdfmark end
- 3400 51156
-a Black Black 57 w FX(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black 0
-TeXcolorgray 49451 51156 a
-SDict begin H.S end
- 49451 51156 a FX(195)51776
-51156 y
-SDict begin 18.2 H.L end
- 51776 51156 a 51776 51156 a
-SDict begin [ /Subtype /Link /Dest (VI) cvn /H /I /Border [0 0 0] /Color
-[1 0 0] H.B /ANN pdfmark end
- 51776 51156 a Black
-0 TeXcolorgray 2627 53436 a
-SDict begin H.S end
- 2627 53436 a FU(16.1)387
-b(Starting)g(vi)12228 53436 y
-SDict begin 18.2 H.L end
- 12228 53436 a 12228 53436
-a
-SDict begin [ /Subtype /Link /Dest (VI-STARTING) cvn /H /I /Border
-[0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 12228 53436 a Black Black 140 w FU(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black 0
-TeXcolorgray 49451 53436 a
-SDict begin H.S end
- 49451 53436 a FU(195)51776
-53436 y
-SDict begin 18.2 H.L end
- 51776 53436 a 51776 53436 a
-SDict begin [ /Subtype /Link /Dest (VI-STARTING) cvn /H /I /Border
-[0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 51776 53436 a Black
-0 TeXcolorgray 2627 55451 a
-SDict begin H.S end
- 2627 55451 a FU(16.2)g(Modes)9945
-55451 y
-SDict begin 18.2 H.L end
- 9945 55451 a 9945 55451 a
-SDict begin [ /Subtype /Link /Dest (VI-MODES) cvn /H /I /Border [0
-0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 9945 55451 a Black
-Black 98 w FU(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-0 TeXcolorgray 49451 55451 a
-SDict begin H.S end
- 49451 55451 a FU(197)51776
-55451 y
-SDict begin 18.2 H.L end
- 51776 55451 a 51776 55451 a
-SDict begin [ /Subtype /Link /Dest (VI-MODES) cvn /H /I /Border [0
-0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 51776 55451 a Black
-0 TeXcolorgray 5284 57466 a
-SDict begin H.S end
- 5284 57466 a FU(16.2.1)g(Command)f(Mode)
-20006 57466 y
-SDict begin 18.2 H.L end
- 20006 57466 a 20006 57466 a
-SDict begin [ /Subtype /Link /Dest (VI-MODES-COMMAND-MODE) cvn /H /I
-/Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 20006 57466
-a Black Black 111 w FU(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black 0 TeXcolorgray 49451 57466 a
-SDict begin H.S end
- 49451 57466 a FU(197)51776
-57466 y
-SDict begin 18.2 H.L end
- 51776 57466 a 51776 57466 a
-SDict begin [ /Subtype /Link /Dest (VI-MODES-COMMAND-MODE) cvn /H /I
-/Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 51776 57466 a Black
-0 TeXcolorgray 5284 59480 a
-SDict begin H.S end
- 5284 59480 a FU(16.2.2)h(Insert)g(Mode)
-17077 59480 y
-SDict begin 18.2 H.L end
- 17077 59480 a 17077 59480 a
-SDict begin [ /Subtype /Link /Dest (VI-MODES-INSET-MODE) cvn /H /I
-/Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 17077 59480
-a Black Black 328 w FU(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black 0
-TeXcolorgray 49451 59480 a
-SDict begin H.S end
- 49451 59480 a FU(199)51776
-59480 y
-SDict begin 18.2 H.L end
- 51776 59480 a 51776 59480 a
-SDict begin [ /Subtype /Link /Dest (VI-MODES-INSET-MODE) cvn /H /I
-/Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 51776 59480 a Black
-0 TeXcolorgray 2627 61495 a
-SDict begin H.S end
- 2627 61495 a FU(16.3)g(Opening)g(Files)
-14466 61495 y
-SDict begin 18.2 H.L end
- 14466 61495 a 14466 61495 a
-SDict begin [ /Subtype /Link /Dest (VI-OPENING-FILES) cvn /H /I /Border
-[0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 14466 61495
-a Black Black 227 w FU(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black 0
-TeXcolorgray 49451 61495 a
-SDict begin H.S end
- 49451 61495 a FU(200)51776
-61495 y
-SDict begin 18.2 H.L end
- 51776 61495 a 51776 61495 a
-SDict begin [ /Subtype /Link /Dest (VI-OPENING-FILES) cvn /H /I /Border
-[0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 51776 61495 a Black
-0 TeXcolorgray 2627 63510 a
-SDict begin H.S end
- 2627 63510 a FU(16.4)g(Sa)-31
-b(ving)387 b(Files)13403 63510 y
-SDict begin 18.2 H.L end
- 13403 63510 a 13403
-63510 a
-SDict begin [ /Subtype /Link /Dest (VI-SAVING-FILES) cvn /H /I /Border
-[0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 13403 63510 a Black Black 127 w FU(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black 0
-TeXcolorgray 49451 63510 a
-SDict begin H.S end
- 49451 63510 a FU(201)51776
-63510 y
-SDict begin 18.2 H.L end
- 51776 63510 a 51776 63510 a
-SDict begin [ /Subtype /Link /Dest (VI-SAVING-FILES) cvn /H /I /Border
-[0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 51776 63510 a Black
-0 TeXcolorgray 2627 65524 a
-SDict begin H.S end
- 2627 65524 a FU(16.5)g(Quitting)g(vi)12487
-65524 y
-SDict begin 18.2 H.L end
- 12487 65524 a 12487 65524 a
-SDict begin [ /Subtype /Link /Dest (VI-QUITTING-VI) cvn /H /I /Border
-[0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 12487 65524 a Black
-Black 269 w FU(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black 0
-TeXcolorgray 49451 65524 a
-SDict begin H.S end
- 49451 65524 a FU(201)51776
-65524 y
-SDict begin 18.2 H.L end
- 51776 65524 a 51776 65524 a
-SDict begin [ /Subtype /Link /Dest (VI-QUITTING-VI) cvn /H /I /Border
-[0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 51776 65524 a Black
-0 TeXcolorgray 2627 67539 a
-SDict begin H.S end
- 2627 67539 a FU(16.6)g(vi)g
-(Con\002guration)15931 67539 y
-SDict begin 18.2 H.L end
- 15931 67539 a 15931 67539
-a
-SDict begin [ /Subtype /Link /Dest (VI-CONFIGURATION) cvn /H /I /Border
-[0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 15931 67539 a Black Black 311 w FU(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black 0
-TeXcolorgray 49451 67539 a
-SDict begin H.S end
- 49451 67539 a FU(202)51776
-67539 y
-SDict begin 18.2 H.L end
- 51776 67539 a 51776 67539 a
-SDict begin [ /Subtype /Link /Dest (VI-CONFIGURATION) cvn /H /I /Border
-[0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 51776 67539 a Black
-Black -30 73672 a FR(x)p Black eop end
-%%Page: 11 11
-TeXDict begin 11 10 bop -8000 -8000 a
-SDict begin /product where{pop product(Distiller)search{pop pop pop
-version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
-closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
-grestore}if}{pop}ifelse}{pop}ifelse}if end
- -8000 -8000 a Black
-0 TeXcolorgray -30 -1358 a
-SDict begin H.S end
- -30 -1358 a 0 TeXcolorgray
-0 TeXcolorgray -30 -1358 a
-SDict begin H.R end
- -30 -1358 a -30 -1358 a
-SDict begin [ /View [/XYZ H.V] /Dest (page.11) cvn H.B /DEST pdfmark
-end
- -30
--1358 a Black Black 0 TeXcolorgray 2627 3490 a
-SDict begin H.S end
- 2627 3490
-a FU(16.7)387 b(V)-93 b(i)387 b(K)-39 b(e)-23 b(ys)10693
-3490 y
-SDict begin 18.2 H.L end
- 10693 3490 a 10693 3490 a
-SDict begin [ /Subtype /Link /Dest (VI-KEYS) cvn /H /I /Border [0 0
-0] /Color [1 0 0] H.B /ANN pdfmark end
- 10693 3490 a Black Black
-125 w FU(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black 0
-TeXcolorgray 49451 3490 a
-SDict begin H.S end
- 49451 3490 a FU(203)51776 3490
-y
-SDict begin 18.2 H.L end
- 51776 3490 a 51776 3490 a
-SDict begin [ /Subtype /Link /Dest (VI-KEYS) cvn /H /I /Border [0 0
-0] /Color [1 0 0] H.B /ANN pdfmark end
- 51776 3490 a Black 0 TeXcolorgray
--30 5771 a
-SDict begin H.S end
- -30 5771 a FX(17)387 b(Emacs)6298 5771 y
-SDict begin 18.2 H.L end
- 6298
-5771 a 6298 5771 a
-SDict begin [ /Subtype /Link /Dest (EMACS) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 6298 5771 a Black Black 259 w FX(.)p
-Black Black(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black 0
-TeXcolorgray 49451 5771 a
-SDict begin H.S end
- 49451 5771 a FX(205)51776 5771
-y
-SDict begin 18.2 H.L end
- 51776 5771 a 51776 5771 a
-SDict begin [ /Subtype /Link /Dest (EMACS) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 51776 5771 a Black 0 TeXcolorgray
-2627 8051 a
-SDict begin H.S end
- 2627 8051 a FU(17.1)g(Starting)g(emacs)14895
-8051 y
-SDict begin 18.2 H.L end
- 14895 8051 a 14895 8051 a
-SDict begin [ /Subtype /Link /Dest (EMACS-STARTING) cvn /H /I /Border
-[0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 14895 8051 a Black Black
-185 w FU(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black 0
-TeXcolorgray 49451 8051 a
-SDict begin H.S end
- 49451 8051 a FU(206)51776 8051
-y
-SDict begin 18.2 H.L end
- 51776 8051 a 51776 8051 a
-SDict begin [ /Subtype /Link /Dest (EMACS-STARTING) cvn /H /I /Border
-[0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 51776 8051 a Black 0 TeXcolorgray
-5284 10066 a
-SDict begin H.S end
- 5284 10066 a FU(17.1.1)g(Command)f(K)-39
-b(e)-23 b(ys)19513 10066 y
-SDict begin 18.2 H.L end
- 19513 10066 a 19513 10066
-a
-SDict begin [ /Subtype /Link /Dest (EMACS-COMMAND-KEYS) cvn /H /I /Border
-[0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 19513 10066 a Black Black 216 w FU(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black 0
-TeXcolorgray 49451 10066 a
-SDict begin H.S end
- 49451 10066 a FU(207)51776
-10066 y
-SDict begin 18.2 H.L end
- 51776 10066 a 51776 10066 a
-SDict begin [ /Subtype /Link /Dest (EMACS-COMMAND-KEYS) cvn /H /I /Border
-[0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 51776 10066 a Black
-0 TeXcolorgray 2627 12080 a
-SDict begin H.S end
- 2627 12080 a FU(17.2)387
-b(Buf)-39 b(fers)10335 12080 y
-SDict begin 18.2 H.L end
- 10335 12080 a 10335 12080
-a
-SDict begin [ /Subtype /Link /Dest (EMACS-BUFFERS) cvn /H /I /Border
-[0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 10335 12080 a Black Black 96 w FU(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-0 TeXcolorgray 49451 12080 a
-SDict begin H.S end
- 49451 12080 a FU(207)51776
-12080 y
-SDict begin 18.2 H.L end
- 51776 12080 a 51776 12080 a
-SDict begin [ /Subtype /Link /Dest (EMACS-BUFFERS) cvn /H /I /Border
-[0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 51776 12080 a Black
-0 TeXcolorgray 2627 14095 a
-SDict begin H.S end
- 2627 14095 a FU(17.3)387
-b(Modes)9945 14095 y
-SDict begin 18.2 H.L end
- 9945 14095 a 9945 14095 a
-SDict begin [ /Subtype /Link /Dest (EMACS-MODES) cvn /H /I /Border
-[0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 9945 14095
-a Black Black 98 w FU(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-0 TeXcolorgray 49451 14095 a
-SDict begin H.S end
- 49451 14095 a FU(208)51776
-14095 y
-SDict begin 18.2 H.L end
- 51776 14095 a 51776 14095 a
-SDict begin [ /Subtype /Link /Dest (EMACS-MODES) cvn /H /I /Border
-[0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 51776 14095 a Black
-0 TeXcolorgray 5284 16110 a
-SDict begin H.S end
- 5284 16110 a FU(17.3.1)g(Opening)g(\002les)
-17854 16110 y
-SDict begin 18.2 H.L end
- 17854 16110 a 17854 16110 a
-SDict begin [ /Subtype /Link /Dest (EMACS-OPENING-FILES) cvn /H /I
-/Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 17854 16110
-a Black Black 326 w FU(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black 0
-TeXcolorgray 49451 16110 a
-SDict begin H.S end
- 49451 16110 a FU(209)51776
-16110 y
-SDict begin 18.2 H.L end
- 51776 16110 a 51776 16110 a
-SDict begin [ /Subtype /Link /Dest (EMACS-OPENING-FILES) cvn /H /I
-/Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 51776 16110 a Black
-0 TeXcolorgray 2627 18124 a
-SDict begin H.S end
- 2627 18124 a FU(17.4)g(Basic)g(Editing)
-14122 18124 y
-SDict begin 18.2 H.L end
- 14122 18124 a 14122 18124 a
-SDict begin [ /Subtype /Link /Dest (EMACS-BASIC-EDITING) cvn /H /I
-/Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 14122 18124
-a Black Black 183 w FU(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black 0
-TeXcolorgray 49451 18124 a
-SDict begin H.S end
- 49451 18124 a FU(210)51776
-18124 y
-SDict begin 18.2 H.L end
- 51776 18124 a 51776 18124 a
-SDict begin [ /Subtype /Link /Dest (EMACS-BASIC-EDITING) cvn /H /I
-/Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 51776 18124 a Black
-0 TeXcolorgray 2627 20139 a
-SDict begin H.S end
- 2627 20139 a FU(17.5)g(Sa)-31
-b(ving)387 b(Files)13403 20139 y
-SDict begin 18.2 H.L end
- 13403 20139 a 13403
-20139 a
-SDict begin [ /Subtype /Link /Dest (EMACS-SAVING-FILES) cvn /H /I /Border
-[0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 13403 20139 a Black Black 127 w FU(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black 0
-TeXcolorgray 49451 20139 a
-SDict begin H.S end
- 49451 20139 a FU(212)51776
-20139 y
-SDict begin 18.2 H.L end
- 51776 20139 a 51776 20139 a
-SDict begin [ /Subtype /Link /Dest (EMACS-SAVING-FILES) cvn /H /I /Border
-[0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 51776 20139 a Black
-0 TeXcolorgray 5284 22154 a
-SDict begin H.S end
- 5284 22154 a FU(17.5.1)g(Quitting)g(Emacs)
-19232 22154 y
-SDict begin 18.2 H.L end
- 19232 22154 a 19232 22154 a
-SDict begin [ /Subtype /Link /Dest (EMACS-QUITING) cvn /H /I /Border
-[0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 19232 22154
-a Black Black 110 w FU(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black 0
-TeXcolorgray 49451 22154 a
-SDict begin H.S end
- 49451 22154 a FU(212)51776
-22154 y
-SDict begin 18.2 H.L end
- 51776 22154 a 51776 22154 a
-SDict begin [ /Subtype /Link /Dest (EMACS-QUITING) cvn /H /I /Border
-[0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 51776 22154 a Black
-0 TeXcolorgray -30 24434 a
-SDict begin H.S end
- -30 24434 a FX(18)g(Slackwar)-28
-b(e)387 b(P)-15 b(ackage)386 b(Management)23730 24434
-y
-SDict begin 18.2 H.L end
- 23730 24434 a 23730 24434 a
-SDict begin [ /Subtype /Link /Dest (PACKAGE-MANAGEMENT) cvn /H /I /Border
-[0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 23730 24434 a Black Black
-261 w FX(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black 0
-TeXcolorgray 49451 24434 a
-SDict begin H.S end
- 49451 24434 a FX(215)51776
-24434 y
-SDict begin 18.2 H.L end
- 51776 24434 a 51776 24434 a
-SDict begin [ /Subtype /Link /Dest (PACKAGE-MANAGEMENT) cvn /H /I /Border
-[0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 51776 24434 a Black
-0 TeXcolorgray 2627 26714 a
-SDict begin H.S end
- 2627 26714 a FU(18.1)h(Ov)-23
-b(ervie)-39 b(w)387 b(of)h(P)-23 b(ackage)387 b(F)-23
-b(ormat)23824 26714 y
-SDict begin 18.2 H.L end
- 23824 26714 a 23824 26714 a
-SDict begin [ /Subtype /Link /Dest (PACKAGE-MANAGEMENT-OVERVIEW) cvn
-/H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 23824
-26714 a Black Black 167 w FU(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black 0 TeXcolorgray 49451 26714 a
-SDict begin H.S end
- 49451 26714
-a FU(215)51776 26714 y
-SDict begin 18.2 H.L end
- 51776 26714 a 51776 26714 a
-SDict begin [ /Subtype /Link /Dest (PACKAGE-MANAGEMENT-OVERVIEW) cvn
-/H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 51776
-26714 a Black 0 TeXcolorgray 2627 28729 a
-SDict begin H.S end
- 2627 28729
-a FU(18.2)387 b(P)-23 b(ackage)387 b(Utilities)16250
-28729 y
-SDict begin 18.2 H.L end
- 16250 28729 a 16250 28729 a
-SDict begin [ /Subtype /Link /Dest (PACKAGE-MANAGEMENT-PACKAGE-UTILITIES)
-cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 16250 28729 a Black
-Black 380 w FU(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black 0
-TeXcolorgray 49451 28729 a
-SDict begin H.S end
- 49451 28729 a FU(216)51776
-28729 y
-SDict begin 18.2 H.L end
- 51776 28729 a 51776 28729 a
-SDict begin [ /Subtype /Link /Dest (PACKAGE-MANAGEMENT-PACKAGE-UTILITIES)
-cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 51776 28729 a Black
-0 TeXcolorgray 5284 30744 a
-SDict begin H.S end
- 5284 30744 a FU(18.2.1)g(pkgtool)14282
-30744 y
-SDict begin 18.2 H.L end
- 14282 30744 a 14282 30744 a
-SDict begin [ /Subtype /Link /Dest (PACKAGE-MANAGEMENT-PACKAGE-UTILITIES-PKGTOOL)
-cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 14282 30744 a Black
-Black 23 w FU(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black 0
-TeXcolorgray 49451 30744 a
-SDict begin H.S end
- 49451 30744 a FU(216)51776
-30744 y
-SDict begin 18.2 H.L end
- 51776 30744 a 51776 30744 a
-SDict begin [ /Subtype /Link /Dest (PACKAGE-MANAGEMENT-PACKAGE-UTILITIES-PKGTOOL)
-cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 51776 30744 a Black
-0 TeXcolorgray 5284 32758 a
-SDict begin H.S end
- 5284 32758 a FU(18.2.2)g(installpkg)15660
-32758 y
-SDict begin 18.2 H.L end
- 15660 32758 a 15660 32758 a
-SDict begin [ /Subtype /Link /Dest (PACKAGE-MANAGEMENT-PACKAGE-UTILITIES-INSTALLPKG)
-cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 15660 32758 a Black
-Black 195 w FU(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black 0
-TeXcolorgray 49451 32758 a
-SDict begin H.S end
- 49451 32758 a FU(218)51776
-32758 y
-SDict begin 18.2 H.L end
- 51776 32758 a 51776 32758 a
-SDict begin [ /Subtype /Link /Dest (PACKAGE-MANAGEMENT-PACKAGE-UTILITIES-INSTALLPKG)
-cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 51776 32758 a Black
-0 TeXcolorgray 5284 34773 a
-SDict begin H.S end
- 5284 34773 a FU(18.2.3)g(remo)-23
-b(v)g(epkg)16472 34773 y
-SDict begin 18.2 H.L end
- 16472 34773 a 16472 34773 a
-SDict begin [ /Subtype /Link /Dest (PACKAGE-MANAGEMENT-PACKAGE-UTILITIES-REMOVEPKG)
-cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
-
-16472 34773 a Black Black 158 w FU(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black 0 TeXcolorgray 49451 34773 a
-SDict begin H.S end
- 49451 34773 a FU(219)51776
-34773 y
-SDict begin 18.2 H.L end
- 51776 34773 a 51776 34773 a
-SDict begin [ /Subtype /Link /Dest (PACKAGE-MANAGEMENT-PACKAGE-UTILITIES-REMOVEPKG)
-cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 51776 34773 a Black
-0 TeXcolorgray 5284 36788 a
-SDict begin H.S end
- 5284 36788 a FU(18.2.4)387
-b(upgradepkg)16862 36788 y
-SDict begin 18.2 H.L end
- 16862 36788 a 16862 36788
-a
-SDict begin [ /Subtype /Link /Dest (PACKAGE-MANAGEMENT-PACKAGE-UTILITIES-UPGRADEPKG)
-cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 16862 36788 a Black Black 155 w FU(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black 0
-TeXcolorgray 49451 36788 a
-SDict begin H.S end
- 49451 36788 a FU(220)51776
-36788 y
-SDict begin 18.2 H.L end
- 51776 36788 a 51776 36788 a
-SDict begin [ /Subtype /Link /Dest (PACKAGE-MANAGEMENT-PACKAGE-UTILITIES-UPGRADEPKG)
-cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 51776 36788 a Black
-0 TeXcolorgray 5284 38802 a
-SDict begin H.S end
- 5284 38802 a FU(18.2.5)g
-FR(rpm2tgz)p FU(/)p FR(rpm2tar)-57 b(gz)21459 38802 y
-SDict begin 18.2 H.L end
-
-21459 38802 a 21459 38802 a
-SDict begin [ /Subtype /Link /Dest (PACKAGE-MANAGEMENT-PACKAGE-UTILITIES-RPM)
-cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 21459 38802 a Black Black
-208 w FU(.)p Black Black(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black 0
-TeXcolorgray 49451 38802 a
-SDict begin H.S end
- 49451 38802 a FU(221)51776
-38802 y
-SDict begin 18.2 H.L end
- 51776 38802 a 51776 38802 a
-SDict begin [ /Subtype /Link /Dest (PACKAGE-MANAGEMENT-PACKAGE-UTILITIES-RPM)
-cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 51776 38802 a Black
-0 TeXcolorgray 2627 40817 a
-SDict begin H.S end
- 2627 40817 a FU(18.3)387
-b(Making)g(P)-23 b(ackages)16679 40817 y
-SDict begin 18.2 H.L end
- 16679 40817
-a 16679 40817 a
-SDict begin [ /Subtype /Link /Dest (PACKAGE-MANAGEMENT-MAKING-PACKAGES)
-cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 16679 40817 a Black Black 338 w FU(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black 0 TeXcolorgray 49451 40817 a
-SDict begin H.S end
- 49451 40817 a FU(221)51776
-40817 y
-SDict begin 18.2 H.L end
- 51776 40817 a 51776 40817 a
-SDict begin [ /Subtype /Link /Dest (PACKAGE-MANAGEMENT-MAKING-PACKAGES)
-cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 51776 40817 a Black
-0 TeXcolorgray 5284 42832 a
-SDict begin H.S end
- 5284 42832 a FU(18.3.1)387
-b FR(e)-31 b(xplodepkg)16572 42832 y
-SDict begin 18.2 H.L end
- 16572 42832 a 16572
-42832 a
-SDict begin [ /Subtype /Link /Dest (PACKAGE-MANAGEMENT-EXPLODEPKG)
-cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 16572 42832 a Black Black 58 w FU(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black 0 TeXcolorgray 49451 42832 a
-SDict begin H.S end
- 49451 42832 a FU(222)51776
-42832 y
-SDict begin 18.2 H.L end
- 51776 42832 a 51776 42832 a
-SDict begin [ /Subtype /Link /Dest (PACKAGE-MANAGEMENT-EXPLODEPKG)
-cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 51776 42832 a Black
-0 TeXcolorgray 5284 44846 a
-SDict begin H.S end
- 5284 44846 a FU(18.3.2)387
-b FR(mak)-15 b(epkg)15038 44846 y
-SDict begin 18.2 H.L end
- 15038 44846 a 15038
-44846 a
-SDict begin [ /Subtype /Link /Dest (PACKAGE-MANAGEMENT-MAKEPKG) cvn
-/H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 15038 44846 a Black Black 42 w FU(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black 0
-TeXcolorgray 49451 44846 a
-SDict begin H.S end
- 49451 44846 a FU(222)51776
-44846 y
-SDict begin 18.2 H.L end
- 51776 44846 a 51776 44846 a
-SDict begin [ /Subtype /Link /Dest (PACKAGE-MANAGEMENT-MAKEPKG) cvn
-/H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 51776 44846 a Black
-0 TeXcolorgray 5284 46861 a
-SDict begin H.S end
- 5284 46861 a FU(18.3.3)387
-b(SlackBuild)f(Scripts)21127 46861 y
-SDict begin 18.2 H.L end
- 21127 46861 a 21127
-46861 a
-SDict begin [ /Subtype /Link /Dest (PACKAGE-MANAGEMENT-SLACKBUILD-SCRIPTS)
-cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 21127 46861 a Black Black 152 w FU(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black 0
-TeXcolorgray 49451 46861 a
-SDict begin H.S end
- 49451 46861 a FU(222)51776
-46861 y
-SDict begin 18.2 H.L end
- 51776 46861 a 51776 46861 a
-SDict begin [ /Subtype /Link /Dest (PACKAGE-MANAGEMENT-SLACKBUILD-SCRIPTS)
-cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 51776 46861 a Black
-0 TeXcolorgray 2627 48876 a
-SDict begin H.S end
- 2627 48876 a FU(18.4)h(Making)g(T)-124
-b(ags)387 b(and)g(T)-124 b(ag\002les)387 b(\(for)h(setup\))28592
-48876 y
-SDict begin 18.2 H.L end
- 28592 48876 a 28592 48876 a
-SDict begin [ /Subtype /Link /Dest (PACKAGE-MANAGEMENT-MAKING-TAGS-AND-TAGFILES)
-cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 28592 48876 a Black
-Black 48 w FU(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black 0 TeXcolorgray
-49451 48876 a
-SDict begin H.S end
- 49451 48876 a FU(223)51776 48876 y
-SDict begin 18.2 H.L end
- 51776
-48876 a 51776 48876 a
-SDict begin [ /Subtype /Link /Dest (PACKAGE-MANAGEMENT-MAKING-TAGS-AND-TAGFILES)
-cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 51776 48876 a Black 0 TeXcolorgray
--30 51156 a
-SDict begin H.S end
- -30 51156 a FX(19)f(ZipSlack)7852 51156 y
-SDict begin 18.2 H.L end
-
-7852 51156 a 7852 51156 a
-SDict begin [ /Subtype /Link /Dest (ZIPSLACK) cvn /H /I /Border [0
-0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 7852 51156 a Black Black 254
-w FX(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black 0
-TeXcolorgray 49451 51156 a
-SDict begin H.S end
- 49451 51156 a FX(225)51776
-51156 y
-SDict begin 18.2 H.L end
- 51776 51156 a 51776 51156 a
-SDict begin [ /Subtype /Link /Dest (ZIPSLACK) cvn /H /I /Border [0
-0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 51776 51156 a Black
-0 TeXcolorgray 2627 53436 a
-SDict begin H.S end
- 2627 53436 a FU(19.1)g(What)g(is)h
-(ZipSlack?)17177 53436 y
-SDict begin 18.2 H.L end
- 17177 53436 a 17177 53436 a
-SDict begin [ /Subtype /Link /Dest (ZIPSLACK-WHAT) cvn /H /I /Border
-[0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
-
-17177 53436 a Black Black 228 w FU(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black 0
-TeXcolorgray 49451 53436 a
-SDict begin H.S end
- 49451 53436 a FU(225)51776
-53436 y
-SDict begin 18.2 H.L end
- 51776 53436 a 51776 53436 a
-SDict begin [ /Subtype /Link /Dest (ZIPSLACK-WHAT) cvn /H /I /Border
-[0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 51776 53436 a Black
-0 TeXcolorgray 5284 55451 a
-SDict begin H.S end
- 5284 55451 a FU(19.1.1)f(Adv)-39
-b(antages)16823 55451 y
-SDict begin 18.2 H.L end
- 16823 55451 a 16823 55451 a
-SDict begin [ /Subtype /Link /Dest (ZIPSLACK-ADVANTAGES) cvn /H /I
-/Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 16823
-55451 a Black Black 194 w FU(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black 0
-TeXcolorgray 49451 55451 a
-SDict begin H.S end
- 49451 55451 a FU(225)51776
-55451 y
-SDict begin 18.2 H.L end
- 51776 55451 a 51776 55451 a
-SDict begin [ /Subtype /Link /Dest (ZIPSLACK-ADVANTAGES) cvn /H /I
-/Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 51776 55451 a Black
-0 TeXcolorgray 5284 57466 a
-SDict begin H.S end
- 5284 57466 a FU(19.1.2)387
-b(Disadv)-39 b(antages)18545 57466 y
-SDict begin 18.2 H.L end
- 18545 57466 a 18545
-57466 a
-SDict begin [ /Subtype /Link /Dest (ZIPSLACK-DISADVANTAGES) cvn /H
-/I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 18545 57466 a Black Black 22 w FU(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black 0
-TeXcolorgray 49451 57466 a
-SDict begin H.S end
- 49451 57466 a FU(226)51776
-57466 y
-SDict begin 18.2 H.L end
- 51776 57466 a 51776 57466 a
-SDict begin [ /Subtype /Link /Dest (ZIPSLACK-DISADVANTAGES) cvn /H
-/I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 51776 57466 a Black
-0 TeXcolorgray 2627 59480 a
-SDict begin H.S end
- 2627 59480 a FU(19.2)387
-b(Getting)g(ZipSlack)16360 59480 y
-SDict begin 18.2 H.L end
- 16360 59480 a 16360
-59480 a
-SDict begin [ /Subtype /Link /Dest (ZIPSLACK-GETTING) cvn /H /I /Border
-[0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 16360 59480 a Black Black 270 w FU(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black 0
-TeXcolorgray 49451 59480 a
-SDict begin H.S end
- 49451 59480 a FU(226)51776
-59480 y
-SDict begin 18.2 H.L end
- 51776 59480 a 51776 59480 a
-SDict begin [ /Subtype /Link /Dest (ZIPSLACK-GETTING) cvn /H /I /Border
-[0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 51776 59480 a Black
-0 TeXcolorgray 5284 61495 a
-SDict begin H.S end
- 5284 61495 a FU(19.2.1)g(Installation)16520
-61495 y
-SDict begin 18.2 H.L end
- 16520 61495 a 16520 61495 a
-SDict begin [ /Subtype /Link /Dest (ZIPSLACK-INSTALLATION) cvn /H /I
-/Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 16520 61495 a Black
-Black 110 w FU(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black 0
-TeXcolorgray 49451 61495 a
-SDict begin H.S end
- 49451 61495 a FU(226)51776
-61495 y
-SDict begin 18.2 H.L end
- 51776 61495 a 51776 61495 a
-SDict begin [ /Subtype /Link /Dest (ZIPSLACK-INSTALLATION) cvn /H /I
-/Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 51776 61495 a Black
-0 TeXcolorgray 2627 63510 a
-SDict begin H.S end
- 2627 63510 a FU(19.3)g(Booting)g(ZipSlack)
-16706 63510 y
-SDict begin 18.2 H.L end
- 16706 63510 a 16706 63510 a
-SDict begin [ /Subtype /Link /Dest (ZIPSLACK-BOOTING) cvn /H /I /Border
-[0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 16706 63510
-a Black Black 311 w FU(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black 0
-TeXcolorgray 49451 63510 a
-SDict begin H.S end
- 49451 63510 a FU(227)51776
-63510 y
-SDict begin 18.2 H.L end
- 51776 63510 a 51776 63510 a
-SDict begin [ /Subtype /Link /Dest (ZIPSLACK-BOOTING) cvn /H /I /Border
-[0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 51776 63510 a Black
-Black 50657 73672 a FR(xi)p Black eop end
-%%Page: 12 12
-TeXDict begin 12 11 bop -8000 -8000 a
-SDict begin /product where{pop product(Distiller)search{pop pop pop
-version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
-closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
-grestore}if}{pop}ifelse}{pop}ifelse}if end
- -8000 -8000 a Black
-0 TeXcolorgray -30 -1358 a
-SDict begin H.S end
- -30 -1358 a 0 TeXcolorgray
-0 TeXcolorgray -30 -1358 a
-SDict begin H.R end
- -30 -1358 a -30 -1358 a
-SDict begin [ /View [/XYZ H.V] /Dest (page.12) cvn H.B /DEST pdfmark
-end
- -30
--1358 a Black Black 0 TeXcolorgray -30 3490 a
-SDict begin H.S end
- -30 3490
-a FX(Glossary)5826 3490 y
-SDict begin 18.2 H.L end
- 5826 3490 a 5826 3490 a
-SDict begin [ /Subtype /Link /Dest (GLOSSARY) cvn /H /I /Border [0
-0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 5826
-3490 a Black Black 343 w FX(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black 0 TeXcolorgray 49451 3490 a
-SDict begin H.S end
- 49451 3490 a FX(229)51776
-3490 y
-SDict begin 18.2 H.L end
- 51776 3490 a 51776 3490 a
-SDict begin [ /Subtype /Link /Dest (GLOSSARY) cvn /H /I /Border [0
-0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 51776 3490 a Black 0
-TeXcolorgray -30 5771 a
-SDict begin H.S end
- -30 5771 a FX(A.)388 b(The)f(GNU)g(General)f
-(Public)h(License)23992 5771 y
-SDict begin 18.2 H.L end
- 23992 5771 a 23992 5771
-a
-SDict begin [ /Subtype /Link /Dest (GPL) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 23992 5771 a Black Black -1 w FX(.)p Black Black 1
-w(.)p Black Black(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black 0 TeXcolorgray
-49451 5771 a
-SDict begin H.S end
- 49451 5771 a FX(245)51776 5771 y
-SDict begin 18.2 H.L end
- 51776 5771
-a 51776 5771 a
-SDict begin [ /Subtype /Link /Dest (GPL) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 51776 5771 a Black 0 TeXcolorgray 2627
-8051 a
-SDict begin H.S end
- 2627 8051 a FU(A.1.)h(Preamble)11537 8051 y
-SDict begin 18.2 H.L end
- 11537
-8051 a 11537 8051 a
-SDict begin [ /Subtype /Link /Dest (7087) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 11537 8051 a Black Black 56 w FU(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black 0
-TeXcolorgray 49451 8051 a
-SDict begin H.S end
- 49451 8051 a FU(245)51776 8051
-y
-SDict begin 18.2 H.L end
- 51776 8051 a 51776 8051 a
-SDict begin [ /Subtype /Link /Dest (7087) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 51776 8051 a Black 0 TeXcolorgray
-2627 10066 a
-SDict begin H.S end
- 2627 10066 a FU(A.2.)g(TERMS)e(AND)h(CONDITIONS)24451
-10066 y
-SDict begin 18.2 H.L end
- 24451 10066 a 24451 10066 a
-SDict begin [ /Subtype /Link /Dest (7097) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 24451 10066 a Black
-Black 315 w FU(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black 0 TeXcolorgray
-49451 10066 a
-SDict begin H.S end
- 49451 10066 a FU(246)51776 10066 y
-SDict begin 18.2 H.L end
- 51776
-10066 a 51776 10066 a
-SDict begin [ /Subtype /Link /Dest (7097) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 51776 10066 a Black 0 TeXcolorgray
-2627 12080 a
-SDict begin H.S end
- 2627 12080 a FU(A.3.)h(Ho)-39 b(w)387 b(to)g(Apply)g
-(These)g(T)-108 b(erms)387 b(to)g(Y)-170 b(our)387 b(Ne)-39
-b(w)387 b(Programs)37436 12080 y
-SDict begin 18.2 H.L end
- 37436 12080 a 37436
-12080 a
-SDict begin [ /Subtype /Link /Dest (7161) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 37436 12080 a Black Black 115 w FU(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black 0
-TeXcolorgray 49451 12080 a
-SDict begin H.S end
- 49451 12080 a FU(253)51776
-12080 y
-SDict begin 18.2 H.L end
- 51776 12080 a 51776 12080 a
-SDict begin [ /Subtype /Link /Dest (7161) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 51776 12080 a Black
-0 TeXcolorgray -30 14361 a
-SDict begin H.S end
- -30 14361 a FX(Index)3760
-14361 y
-SDict begin 18.2 H.L end
- 3760 14361 a 3760 14361 a
-SDict begin [ /Subtype /Link /Dest (DOC-INDEX) cvn /H /I /Border [0
-0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 3760 14361 a Black
-Black 84 w FX(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black 0
-TeXcolorgray 49451 14361 a
-SDict begin H.S end
- 49451 14361 a FX(255)51776
-14361 y
-SDict begin 18.2 H.L end
- 51776 14361 a 51776 14361 a
-SDict begin [ /Subtype /Link /Dest (DOC-INDEX) cvn /H /I /Border [0
-0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 51776 14361 a Black
-Black -30 73672 a FR(xii)p Black eop end
-%%Page: 13 13
-TeXDict begin 13 12 bop -8000 -8000 a
-SDict begin /product where{pop product(Distiller)search{pop pop pop
-version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
-closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
-grestore}if}{pop}ifelse}{pop}ifelse}if end
- -8000 -8000 a Black
-0 TeXcolorgray -30 -1358 a
-SDict begin H.S end
- -30 -1358 a 0 TeXcolorgray
-0 TeXcolorgray -30 -1358 a
-SDict begin H.R end
- -30 -1358 a -30 -1358 a
-SDict begin [ /View [/XYZ H.V] /Dest (page.13) cvn H.B /DEST pdfmark
-end
- -30
--1358 a Black Black 6086 x FS(List)894 b(of)g(T)-257
-b(ab)-32 b(les)p 0 TeXcolorgray -30 8349 a
-SDict begin H.S end
- -30 8349 a
-FU(2-1.)388 b(Man)f(P)-23 b(age)387 b(Sections)14669
-8349 y
-SDict begin 18.2 H.L end
- 14669 8349 a 14669 8349 a
-SDict begin [ /Subtype /Link /Dest (408) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 14669 8349 a Black Black
-24 w FU(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black 0 TeXcolorgray 51001 8349 a
-SDict begin H.S end
- 51001
-8349 a FU(8)51776 8349 y
-SDict begin 18.2 H.L end
- 51776 8349 a 51776 8349 a
-SDict begin [ /Subtype /Link /Dest (408) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 51776
-8349 a Black 0 TeXcolorgray -30 10364 a
-SDict begin H.S end
- -30 10364 a FU(3-1.)h(Slackw)
--15 b(are)386 b(Linux,)i(Inc.)f(Contact)g(Information)29481
-10364 y
-SDict begin 18.2 H.L end
- 29481 10364 a 29481 10364 a
-SDict begin [ /Subtype /Link /Dest (660) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 29481 10364 a Black
-Black 322 w FU(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black 0 TeXcolorgray 50226 10364 a
-SDict begin H.S end
- 50226
-10364 a FU(16)51776 10364 y
-SDict begin 18.2 H.L end
- 51776 10364 a 51776 10364
-a
-SDict begin [ /Subtype /Link /Dest (660) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 51776 10364 a Black 0 TeXcolorgray -30 12378 a
-SDict begin H.S end
- -30
-12378 a FU(3-2.)h(System)e(Requirements)16372 12378 y
-SDict begin 18.2 H.L end
-
-16372 12378 a 16372 12378 a
-SDict begin [ /Subtype /Link /Dest (705) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 16372 12378 a Black Black
-258 w FU(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black 0 TeXcolorgray 50226 12378
-a
-SDict begin H.S end
- 50226 12378 a FU(17)51776 12378 y
-SDict begin 18.2 H.L end
- 51776 12378 a 51776
-12378 a
-SDict begin [ /Subtype /Link /Dest (705) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 51776 12378 a Black 0 TeXcolorgray -30 14393
-a
-SDict begin H.S end
- -30 14393 a FU(3-3.)i(Softw)-15 b(are)386 b(Series)12565
-14393 y
-SDict begin 18.2 H.L end
- 12565 14393 a 12565 14393 a
-SDict begin [ /Subtype /Link /Dest (745) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 12565 14393 a Black
-Black 191 w FU(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black 0 TeXcolorgray 50226 14393
-a
-SDict begin H.S end
- 50226 14393 a FU(18)51776 14393 y
-SDict begin 18.2 H.L end
- 51776 14393 a 51776
-14393 a
-SDict begin [ /Subtype /Link /Dest (745) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 51776 14393 a Black 0 TeXcolorgray -30 16408
-a
-SDict begin H.S end
- -30 16408 a FU(9-1.)i(Octal)f(Permission)f(V)-172 b(alues)17963
-16408 y
-SDict begin 18.2 H.L end
- 17963 16408 a 17963 16408 a
-SDict begin [ /Subtype /Link /Dest (3141) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 17963 16408 a Black
-Black 217 w FU(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black 0
-TeXcolorgray 49451 16408 a
-SDict begin H.S end
- 49451 16408 a FU(112)51776
-16408 y
-SDict begin 18.2 H.L end
- 51776 16408 a 51776 16408 a
-SDict begin [ /Subtype /Link /Dest (3141) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 51776 16408 a Black
-0 TeXcolorgray -30 18422 a
-SDict begin H.S end
- -30 18422 a FU(13-1.)388 b
-FR(ftp)f FU(commands)12326 18422 y
-SDict begin 18.2 H.L end
- 12326 18422 a 12326
-18422 a
-SDict begin [ /Subtype /Link /Dest (4882) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 12326 18422 a Black Black 42 w FU(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black 0
-TeXcolorgray 49451 18422 a
-SDict begin H.S end
- 49451 18422 a FU(174)51776
-18422 y
-SDict begin 18.2 H.L end
- 51776 18422 a 51776 18422 a
-SDict begin [ /Subtype /Link /Dest (4882) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 51776 18422 a Black
-0 TeXcolorgray -30 20437 a
-SDict begin H.S end
- -30 20437 a FU(16-1.)h(Mo)-23
-b(v)g(ement)10256 20437 y
-SDict begin 18.2 H.L end
- 10256 20437 a 10256 20437 a
-SDict begin [ /Subtype /Link /Dest (5772) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
-
-10256 20437 a Black Black 175 w FU(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-0 TeXcolorgray 49451 20437 a
-SDict begin H.S end
- 49451 20437 a FU(203)51776
-20437 y
-SDict begin 18.2 H.L end
- 51776 20437 a 51776 20437 a
-SDict begin [ /Subtype /Link /Dest (5772) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 51776 20437 a Black
-0 TeXcolorgray -30 22452 a
-SDict begin H.S end
- -30 22452 a FU(16-2.)388 b(Editing)8151
-22452 y
-SDict begin 18.2 H.L end
- 8151 22452 a 8151 22452 a
-SDict begin [ /Subtype /Link /Dest (5807) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 8151 22452 a Black
-Black 343 w FU(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black 0 TeXcolorgray 49451 22452 a
-SDict begin H.S end
- 49451 22452 a FU(203)51776
-22452 y
-SDict begin 18.2 H.L end
- 51776 22452 a 51776 22452 a
-SDict begin [ /Subtype /Link /Dest (5807) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 51776 22452 a Black
-0 TeXcolorgray -30 24466 a
-SDict begin H.S end
- -30 24466 a FU(16-3.)g(Searching)9784
-24466 y
-SDict begin 18.2 H.L end
- 9784 24466 a 9784 24466 a
-SDict begin [ /Subtype /Link /Dest (5847) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 9784 24466 a Black
-Black 259 w FU(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-0 TeXcolorgray 49451 24466 a
-SDict begin H.S end
- 49451 24466 a FU(204)51776
-24466 y
-SDict begin 18.2 H.L end
- 51776 24466 a 51776 24466 a
-SDict begin [ /Subtype /Link /Dest (5847) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 51776 24466 a Black
-0 TeXcolorgray -30 26481 a
-SDict begin H.S end
- -30 26481 a FU(16-4.)g(Sa)-31
-b(ving)386 b(and)i(Quitting)16041 26481 y
-SDict begin 18.2 H.L end
- 16041 26481
-a 16041 26481 a
-SDict begin [ /Subtype /Link /Dest (5881) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 16041 26481 a Black Black 201 w FU(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black 0
-TeXcolorgray 49451 26481 a
-SDict begin H.S end
- 49451 26481 a FU(204)51776
-26481 y
-SDict begin 18.2 H.L end
- 51776 26481 a 51776 26481 a
-SDict begin [ /Subtype /Link /Dest (5881) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 51776 26481 a Black
-0 TeXcolorgray -30 28496 a
-SDict begin H.S end
- -30 28496 a FU(17-1.)g(Basic)f(Emacs)g
-(Editing)f(Commands)23949 28496 y
-SDict begin 18.2 H.L end
- 23949 28496 a 23949
-28496 a
-SDict begin [ /Subtype /Link /Dest (TABLE-EMACS-BASIC-EDITING) cvn
-/H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 23949 28496 a Black Black 42 w FU(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black 0
-TeXcolorgray 49451 28496 a
-SDict begin H.S end
- 49451 28496 a FU(210)51776
-28496 y
-SDict begin 18.2 H.L end
- 51776 28496 a 51776 28496 a
-SDict begin [ /Subtype /Link /Dest (TABLE-EMACS-BASIC-EDITING) cvn
-/H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 51776 28496 a Black
-0 TeXcolorgray -30 30510 a
-SDict begin H.S end
- -30 30510 a FU(18-1.)i FR(installpkg)e
-FU(Options)14996 30510 y
-SDict begin 18.2 H.L end
- 14996 30510 a 14996 30510 a
-SDict begin [ /Subtype /Link /Dest (6445) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
-
-14996 30510 a Black Black 84 w FU(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black 0 TeXcolorgray 50226 30510
-a
-SDict begin H.S end
- 50226 30510 a FX(??)51776 30510 y
-SDict begin 18.2 H.L end
- 51776 30510 a 51776
-30510 a
-SDict begin [ /Subtype /Link /Dest (6445) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 51776 30510 a Black 0 TeXcolorgray -30 32525
-a
-SDict begin H.S end
- -30 32525 a FU(18-2.)i FR(r)-57 b(emo)-15 b(vepkg)386
-b FU(Options)15608 32525 y
-SDict begin 18.2 H.L end
- 15608 32525 a 15608 32525
-a
-SDict begin [ /Subtype /Link /Dest (6490) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 15608 32525 a Black Black 247 w FU(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black 0
-TeXcolorgray 49451 32525 a
-SDict begin H.S end
- 49451 32525 a FU(219)51776
-32525 y
-SDict begin 18.2 H.L end
- 51776 32525 a 51776 32525 a
-SDict begin [ /Subtype /Link /Dest (6490) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 51776 32525 a Black
-0 TeXcolorgray -30 34540 a
-SDict begin H.S end
- -30 34540 a FU(18-3.)i(T)-124
-b(ag\002le)387 b(Status)f(Options)17325 34540 y
-SDict begin 18.2 H.L end
- 17325
-34540 a 17325 34540 a
-SDict begin [ /Subtype /Link /Dest (6620) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 17325 34540 a Black Black 80 w
-FU(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black 0
-TeXcolorgray 49451 34540 a
-SDict begin H.S end
- 49451 34540 a FU(223)51776
-34540 y
-SDict begin 18.2 H.L end
- 51776 34540 a 51776 34540 a
-SDict begin [ /Subtype /Link /Dest (6620) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 51776 34540 a Black
--30 41127 a FS(List)894 b(of)g(Figures)p 0 TeXcolorgray
--30 44749 a
-SDict begin H.S end
- -30 44749 a FU(4-1.)388 b(K)-39 b(ernel)387
-b(Con\002guration)f(Menu)19990 44749 y
-SDict begin 18.2 H.L end
- 19990 44749 a
-19990 44749 a
-SDict begin [ /Subtype /Link /Dest (SYSTEM-CONFIGURATION-MAKE-MENUCONFIG)
-cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 19990 44749 a Black Black 127 w FU(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black 0 TeXcolorgray 50226 44749
-a
-SDict begin H.S end
- 50226 44749 a FU(53)51776 44749 y
-SDict begin 18.2 H.L end
- 51776 44749 a 51776
-44749 a
-SDict begin [ /Subtype /Link /Dest (SYSTEM-CONFIGURATION-MAKE-MENUCONFIG)
-cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 51776 44749 a Black 0 TeXcolorgray -30 46764
-a
-SDict begin H.S end
- -30 46764 a FU(6-1.)i FR(xor)-57 b(gcon\002g)386 b
-FU(Mouse)h(Con\002guration)22987 46764 y
-SDict begin 18.2 H.L end
- 22987 46764
-a 22987 46764 a
-SDict begin [ /Subtype /Link /Dest (X-WINDOW-SYSTEM-1) cvn /H /I /Border
-[0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 22987 46764 a Black Black 229 w FU(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black(.)p Black Black 1 w(.)p Black 0
-TeXcolorgray 50226 46764 a
-SDict begin H.S end
- 50226 46764 a FU(76)51776
-46764 y
-SDict begin 18.2 H.L end
- 51776 46764 a 51776 46764 a
-SDict begin [ /Subtype /Link /Dest (X-WINDOW-SYSTEM-1) cvn /H /I /Border
-[0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 51776 46764 a Black
-0 TeXcolorgray -30 48778 a
-SDict begin H.S end
- -30 48778 a FU(6-2.)h FR(xor)-57
-b(gcon\002g)386 b FU(Horizontal)h(Sync)19885 48778 y
-SDict begin 18.2 H.L end
-
-19885 48778 a 19885 48778 a
-SDict begin [ /Subtype /Link /Dest (X-WINDOW-SYSTEM-2) cvn /H /I /Border
-[0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 19885 48778 a Black Black
-232 w FU(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black 0 TeXcolorgray 50226 48778
-a
-SDict begin H.S end
- 50226 48778 a FU(78)51776 48778 y
-SDict begin 18.2 H.L end
- 51776 48778 a 51776
-48778 a
-SDict begin [ /Subtype /Link /Dest (X-WINDOW-SYSTEM-2) cvn /H /I /Border
-[0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 51776 48778 a Black 0 TeXcolorgray -30 50793
-a
-SDict begin H.S end
- -30 50793 a FU(6-3.)h FR(xor)-57 b(gcon\002g)386 b
-FU(V)-172 b(ertical)387 b(Sync)18076 50793 y
-SDict begin 18.2 H.L end
- 18076 50793
-a 18076 50793 a
-SDict begin [ /Subtype /Link /Dest (X-WINDOW-SYSTEM-3) cvn /H /I /Border
-[0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 18076 50793 a Black Black 104 w FU(.)p
-Black Black(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black(.)p Black Black 1 w(.)p Black 0 TeXcolorgray
-50226 50793 a
-SDict begin H.S end
- 50226 50793 a FU(78)51776 50793 y
-SDict begin 18.2 H.L end
- 51776
-50793 a 51776 50793 a
-SDict begin [ /Subtype /Link /Dest (X-WINDOW-SYSTEM-3) cvn /H /I /Border
-[0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 51776 50793 a Black 0 TeXcolorgray
--30 52808 a
-SDict begin H.S end
- -30 52808 a FU(6-4.)h FR(xor)-57 b(gcon\002g)386
-b FU(V)-93 b(ideo)387 b(Card)16864 52808 y
-SDict begin 18.2 H.L end
- 16864 52808
-a 16864 52808 a
-SDict begin [ /Subtype /Link /Dest (X-WINDOW-SYSTEM-4) cvn /H /I /Border
-[0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 16864 52808 a Black Black 153 w FU(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black(.)p Black Black 1 w(.)p Black 0 TeXcolorgray
-50226 52808 a
-SDict begin H.S end
- 50226 52808 a FU(79)51776 52808 y
-SDict begin 18.2 H.L end
- 51776
-52808 a 51776 52808 a
-SDict begin [ /Subtype /Link /Dest (X-WINDOW-SYSTEM-4) cvn /H /I /Border
-[0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 51776 52808 a Black 0 TeXcolorgray
--30 54822 a
-SDict begin H.S end
- -30 54822 a FU(6-5.)h(Desktop)e(Con\002guration)g(with)h
-FR(xor)-57 b(gcon\002g)27076 54822 y
-SDict begin 18.2 H.L end
- 27076 54822 a 27076
-54822 a
-SDict begin [ /Subtype /Link /Dest (FIG-X-WINDOW-SYSTEM-XWMCONFIG)
-cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 27076 54822 a Black Black 15 w FU(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black 0 TeXcolorgray 50226 54822
-a
-SDict begin H.S end
- 50226 54822 a FU(84)51776 54822 y
-SDict begin 18.2 H.L end
- 51776 54822 a 51776
-54822 a
-SDict begin [ /Subtype /Link /Dest (FIG-X-WINDOW-SYSTEM-XWMCONFIG)
-cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 51776 54822 a Black 0 TeXcolorgray -30 56837
-a
-SDict begin H.S end
- -30 56837 a FU(7-1.)388 b FR(lilocon\002g)8667 56837
-y
-SDict begin 18.2 H.L end
- 8667 56837 a 8667 56837 a
-SDict begin [ /Subtype /Link /Dest (BOOTING-SETUP-LILO) cvn /H /I /Border
-[0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 8667 56837 a Black Black
-214 w FU(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black 0 TeXcolorgray 50226 56837
-a
-SDict begin H.S end
- 50226 56837 a FU(90)51776 56837 y
-SDict begin 18.2 H.L end
- 51776 56837 a 51776
-56837 a
-SDict begin [ /Subtype /Link /Dest (BOOTING-SETUP-LILO) cvn /H /I /Border
-[0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 51776 56837 a Black 0 TeXcolorgray -30 58852
-a
-SDict begin H.S end
- -30 58852 a FU(7-2.)g FR(lilocon\002g)e FU(Expert)h(Menu)17188
-58852 y
-SDict begin 18.2 H.L end
- 17188 58852 a 17188 58852 a
-SDict begin [ /Subtype /Link /Dest (BOOTING-LILO-EXPERT) cvn /H /I
-/Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 17188 58852 a Black
-Black 217 w FU(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black(.)p Black Black 1 w(.)p Black 0 TeXcolorgray
-50226 58852 a
-SDict begin H.S end
- 50226 58852 a FU(92)51776 58852 y
-SDict begin 18.2 H.L end
- 51776
-58852 a 51776 58852 a
-SDict begin [ /Subtype /Link /Dest (BOOTING-LILO-EXPERT) cvn /H /I
-/Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 51776 58852 a Black 0 TeXcolorgray
--30 60866 a
-SDict begin H.S end
- -30 60866 a FU(11-1.)h(Basic)f FR(ps)g FU(output)13144
-60866 y
-SDict begin 18.2 H.L end
- 13144 60866 a 13144 60866 a
-SDict begin [ /Subtype /Link /Dest (FIG-PROCESS-CONTROL-PS-SHORT) cvn
-/H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 13144 60866 a Black
-Black -1 w FU(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black 0
-TeXcolorgray 49451 60866 a
-SDict begin H.S end
- 49451 60866 a FU(135)51776
-60866 y
-SDict begin 18.2 H.L end
- 51776 60866 a 51776 60866 a
-SDict begin [ /Subtype /Link /Dest (FIG-PROCESS-CONTROL-PS-SHORT) cvn
-/H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 51776 60866 a Black
-0 TeXcolorgray -30 62881 a
-SDict begin H.S end
- -30 62881 a FU(13-1.)h(T)-108
-b(elnetting)386 b(to)h(a)g(webserv)-23 b(er)19249 62881
-y
-SDict begin 18.2 H.L end
- 19249 62881 a 19249 62881 a
-SDict begin [ /Subtype /Link /Dest (FIG-BASIC-NETWORK-COMMANDS-TELNET-WEB)
-cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 19249 62881 a Black Black
-93 w FU(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black 0
-TeXcolorgray 49451 62881 a
-SDict begin H.S end
- 49451 62881 a FU(163)51776
-62881 y
-SDict begin 18.2 H.L end
- 51776 62881 a 51776 62881 a
-SDict begin [ /Subtype /Link /Dest (FIG-BASIC-NETWORK-COMMANDS-TELNET-WEB)
-cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 51776 62881 a Black
-0 TeXcolorgray -30 64896 a
-SDict begin H.S end
- -30 64896 a FU(13-2.)388 b(The)f(Pine)g
-(main)g(menu)16457 64896 y
-SDict begin 18.2 H.L end
- 16457 64896 a 16457 64896
-a
-SDict begin [ /Subtype /Link /Dest (FIG-BASIC-NETWORK-COMMANDS-EMAIL-PINE)
-cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 16457 64896 a Black Black 173 w FU(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black 0 TeXcolorgray 49451 64896 a
-SDict begin H.S end
- 49451 64896 a FU(165)51776
-64896 y
-SDict begin 18.2 H.L end
- 51776 64896 a 51776 64896 a
-SDict begin [ /Subtype /Link /Dest (FIG-BASIC-NETWORK-COMMANDS-EMAIL-PINE)
-cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 51776 64896 a Black
-0 TeXcolorgray -30 66910 a
-SDict begin H.S end
- -30 66910 a FU(13-3.)h(Elm)e(main)h(screen)
-14001 66910 y
-SDict begin 18.2 H.L end
- 14001 66910 a 14001 66910 a
-SDict begin [ /Subtype /Link /Dest (FIG-BASIC-NETWORK-COMMANDS-EMAIL-ELM)
-cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 14001 66910
-a Black Black 304 w FU(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black 0
-TeXcolorgray 49451 66910 a
-SDict begin H.S end
- 49451 66910 a FU(167)51776
-66910 y
-SDict begin 18.2 H.L end
- 51776 66910 a 51776 66910 a
-SDict begin [ /Subtype /Link /Dest (FIG-BASIC-NETWORK-COMMANDS-EMAIL-ELM)
-cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 51776 66910 a Black
-Black 49795 73672 a FR(xiii)p Black eop end
-%%Page: 14 14
-TeXDict begin 14 13 bop -8000 -8000 a
-SDict begin /product where{pop product(Distiller)search{pop pop pop
-version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
-closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
-grestore}if}{pop}ifelse}{pop}ifelse}if end
- -8000 -8000 a Black
-0 TeXcolorgray -30 -1358 a
-SDict begin H.S end
- -30 -1358 a 0 TeXcolorgray
-0 TeXcolorgray -30 -1358 a
-SDict begin H.R end
- -30 -1358 a -30 -1358 a
-SDict begin [ /View [/XYZ H.V] /Dest (page.14) cvn H.B /DEST pdfmark
-end
- -30
--1358 a Black Black 0 TeXcolorgray -30 3490 a
-SDict begin H.S end
- -30 3490
-a FU(13-4.)388 b(Mutt)e(main)h(screen)14432 3490 y
-SDict begin 18.2 H.L end
- 14432
-3490 a 14432 3490 a
-SDict begin [ /Subtype /Link /Dest (FIG-BASIC-NETWORK-COMMANDS-EMAIL-MUTT)
-cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 14432 3490 a Black Black 261 w FU(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black 0
-TeXcolorgray 49451 3490 a
-SDict begin H.S end
- 49451 3490 a FU(168)51776 3490
-y
-SDict begin 18.2 H.L end
- 51776 3490 a 51776 3490 a
-SDict begin [ /Subtype /Link /Dest (FIG-BASIC-NETWORK-COMMANDS-EMAIL-MUTT)
-cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 51776 3490 a Black 0 TeXcolorgray
--30 5505 a
-SDict begin H.S end
- -30 5505 a FU(13-5.)h(L)-85 b(ynx)386 b(def)-15
-b(ault)387 b(start)g(page)17817 5505 y
-SDict begin 18.2 H.L end
- 17817 5505 a 17817
-5505 a
-SDict begin [ /Subtype /Link /Dest (FIG-BASIC-NETWORK-COMMANDS-WEB-LYNX)
-cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 17817 5505 a Black Black 363 w FU(.)p Black Black(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black 0
-TeXcolorgray 49451 5505 a
-SDict begin H.S end
- 49451 5505 a FU(171)51776 5505
-y
-SDict begin 18.2 H.L end
- 51776 5505 a 51776 5505 a
-SDict begin [ /Subtype /Link /Dest (FIG-BASIC-NETWORK-COMMANDS-WEB-LYNX)
-cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 51776 5505 a Black 0 TeXcolorgray
--30 7520 a
-SDict begin H.S end
- -30 7520 a FU(13-6.)h(Links,)f(with)g(the)g(\002le)g(menu)g
-(open)22527 7520 y
-SDict begin 18.2 H.L end
- 22527 7520 a 22527 7520 a
-SDict begin [ /Subtype /Link /Dest (FIG-BASIC-NETWORK-COMMANDS-WEB-LINKS)
-cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 22527 7520
-a Black Black 302 w FU(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-0 TeXcolorgray 49451 7520 a
-SDict begin H.S end
- 49451 7520 a FU(172)51776
-7520 y
-SDict begin 18.2 H.L end
- 51776 7520 a 51776 7520 a
-SDict begin [ /Subtype /Link /Dest (FIG-BASIC-NETWORK-COMMANDS-WEB-LINKS)
-cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 51776 7520 a Black 0
-TeXcolorgray -30 9534 a
-SDict begin H.S end
- -30 9534 a FU(13-7.)h(T)-124
-b(w)-15 b(o)386 b(users)h(in)h(a)f FR(talk)413 b FU(session)20131
-9534 y
-SDict begin 18.2 H.L end
- 20131 9534 a 20131 9534 a
-SDict begin [ /Subtype /Link /Dest (FIG-BASIC-NETWORK-COMMANDS-TALK-TALK)
-cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 20131 9534 a Black Black
-373 w FU(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black 0
-TeXcolorgray 49451 9534 a
-SDict begin H.S end
- 49451 9534 a FU(177)51776 9534
-y
-SDict begin 18.2 H.L end
- 51776 9534 a 51776 9534 a
-SDict begin [ /Subtype /Link /Dest (FIG-BASIC-NETWORK-COMMANDS-TALK-TALK)
-cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 51776 9534 a Black 0 TeXcolorgray
--30 11549 a
-SDict begin H.S end
- -30 11549 a FU(13-8.)388 b(T)-124 b(w)-15
-b(o)386 b(users)h(in)h(a)f FR(ytalk)413 b FU(session)20819
-11549 y
-SDict begin 18.2 H.L end
- 20819 11549 a 20819 11549 a
-SDict begin [ /Subtype /Link /Dest (FIG-BASIC-NETWORK-COMMANDS-TALK-YTALK)
-cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 20819 11549 a Black
-Black 73 w FU(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black 0
-TeXcolorgray 49451 11549 a
-SDict begin H.S end
- 49451 11549 a FU(179)51776
-11549 y
-SDict begin 18.2 H.L end
- 51776 11549 a 51776 11549 a
-SDict begin [ /Subtype /Link /Dest (FIG-BASIC-NETWORK-COMMANDS-TALK-YTALK)
-cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 51776 11549 a Black
-0 TeXcolorgray -30 13564 a
-SDict begin H.S end
- -30 13564 a FU(16-1.)388 b(A)f(vi)g
-(session.)11550 13564 y
-SDict begin 18.2 H.L end
- 11550 13564 a 11550 13564 a
-SDict begin [ /Subtype /Link /Dest (FIG-VI-VIM-SPLITEDIT) cvn /H /I
-/Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 11550
-13564 a Black Black 43 w FU(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black 0
-TeXcolorgray 49451 13564 a
-SDict begin H.S end
- 49451 13564 a FU(196)51776
-13564 y
-SDict begin 18.2 H.L end
- 51776 13564 a 51776 13564 a
-SDict begin [ /Subtype /Link /Dest (FIG-VI-VIM-SPLITEDIT) cvn /H /I
-/Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 51776 13564 a Black
-0 TeXcolorgray -30 15578 a
-SDict begin H.S end
- -30 15578 a FU(18-1.)h(Pkgtool')-85
-b(s)386 b(main)g(menu.)17147 15578 y
-SDict begin 18.2 H.L end
- 17147 15578 a 17147
-15578 a
-SDict begin [ /Subtype /Link /Dest (PKGTOOL-MAIN-MENU) cvn /H /I /Border
-[0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 17147 15578 a Black Black 258 w FU(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black 0
-TeXcolorgray 49451 15578 a
-SDict begin H.S end
- 49451 15578 a FU(217)51776
-15578 y
-SDict begin 18.2 H.L end
- 51776 15578 a 51776 15578 a
-SDict begin [ /Subtype /Link /Dest (PKGTOOL-MAIN-MENU) cvn /H /I /Border
-[0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 51776 15578 a Black
-0 TeXcolorgray -30 17593 a
-SDict begin H.S end
- -30 17593 a FU(18-2.)i(Pkgtool)e(vie)-39
-b(w)387 b(mode)15601 17593 y
-SDict begin 18.2 H.L end
- 15601 17593 a 15601 17593
-a
-SDict begin [ /Subtype /Link /Dest (PKGTOOL-VIEW-MODE) cvn /H /I /Border
-[0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 15601 17593 a Black Black 254 w FU(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black 1 w(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black 0
-TeXcolorgray 49451 17593 a
-SDict begin H.S end
- 49451 17593 a FU(217)51776
-17593 y
-SDict begin 18.2 H.L end
- 51776 17593 a 51776 17593 a
-SDict begin [ /Subtype /Link /Dest (PKGTOOL-VIEW-MODE) cvn /H /I /Border
-[0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 51776 17593 a Black
--30 24181 a FS(List)894 b(of)g(Examples)p 0 TeXcolorgray
--30 27802 a
-SDict begin H.S end
- -30 27802 a FU(8-1.)388 b(Listing)e(En)-62
-b(vironment)386 b(V)-172 b(ariables)387 b(with)g FR(set)27055
-27802 y
-SDict begin 18.2 H.L end
- 27055 27802 a 27055 27802 a
-SDict begin [ /Subtype /Link /Dest (EX-SHELL-BASH-ENVIRONMENT) cvn
-/H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 27055 27802 a Black
-Black 36 w FU(.)p Black Black(.)p Black Black 1 w(.)p
-Black Black(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black Black
-1 w(.)p Black Black(.)p Black Black(.)p Black Black 1
-w(.)p Black Black(.)p Black Black 1 w(.)p Black Black(.)p
-Black Black 1 w(.)p Black Black(.)p Black Black(.)p Black
-Black 1 w(.)p Black Black(.)p Black Black 1 w(.)p Black
-Black(.)p Black Black 1 w(.)p Black Black(.)p Black 0
-TeXcolorgray 49451 27802 a
-SDict begin H.S end
- 49451 27802 a FU(107)51776
-27802 y
-SDict begin 18.2 H.L end
- 51776 27802 a 51776 27802 a
-SDict begin [ /Subtype /Link /Dest (EX-SHELL-BASH-ENVIRONMENT) cvn
-/H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 51776 27802 a Black
-Black -30 73672 a FR(xiv)p Black eop end
-%%Page: 15 15
-TeXDict begin 15 14 bop -8000 -8000 a
-SDict begin /product where{pop product(Distiller)search{pop pop pop
-version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
-closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
-grestore}if}{pop}ifelse}{pop}ifelse}if end
- -8000 -8000 a Black
-0 TeXcolorgray -30 -1358 a
-SDict begin H.S end
- -30 -1358 a 0 TeXcolorgray
-0 TeXcolorgray -30 -1358 a
-SDict begin H.R end
- -30 -1358 a -30 -1358 a
-SDict begin [ /View [/XYZ H.V] /Dest (page.15) cvn H.B /DEST pdfmark
-end
- -30
--1358 a Black Black -30 2383 a
-SDict begin H.S end
- -30 2383 a -30 2383 a
-SDict begin 18.2 H.A end
-
--30 2383 a -30 2383 a
-SDict begin [ /View [/XYZ H.V] /Dest (BOOK-PREFACE) cvn H.B /DEST pdfmark
-end
- -30 2383 a 3376 x FO(Preface)p
--30 13332 51806 56 v -30 15341 a
-SDict begin H.S end
- -30 15341 a -30 15341
-a
-SDict begin 31.45 H.A end
- -30 15341 a -30 15341 a
-SDict begin [ /View [/XYZ H.V] /Dest (PREFACE-AUDIENCE) cvn H.B /DEST
-pdfmark end
- -30 15341 a 1953 x FN(Intended)746
-b(A)-80 b(udience)-30 18667 y
-SDict begin H.S end
- -30 18667 a -30 18667 a
-SDict begin 18.2 H.A end
-
--30 18667 a -30 18667 a
-SDict begin [ /View [/XYZ H.V] /Dest (80) cvn H.B /DEST pdfmark end
- -30 18667 a 1981 x FU(The)419
-b(Slackw)-15 b(are)417 b(Linux)h(operating)g(system)g(is)g(a)g(po)-39
-b(werful)419 b(platform)f(for)g(Intel-based)g(com-)-30
-22662 y(puters.)471 b(It)g(is)g(designed)f(to)h(be)g(stable,)g(secure,)
-h(and)f(functional)f(as)h(both)f(a)i(high-end)e(serv)-23
-b(er)-30 24677 y(and)387 b(po)-39 b(werful)388 b(w)-15
-b(orkstation.)-30 25788 y
-SDict begin H.S end
- -30 25788 a -30 25788 a
-SDict begin 18.2 H.A end
- -30
-25788 a -30 25788 a
-SDict begin [ /View [/XYZ H.V] /Dest (81) cvn H.B /DEST pdfmark end
- -30 25788 a 1679 x FU(This)347 b(book)g(is)g
-(designed)f(to)h(get)h(you)f(started)g(with)f(the)h(Slackw)-15
-b(are)347 b(Linux)g(operating)f(system.)-30 29481 y(It')-85
-b(s)320 b(not)f(meant)g(to)h(co)-23 b(v)g(er)319 b(e)-39
-b(v)-23 b(ery)320 b(single)f(aspect)h(of)g(the)f(distrib)-31
-b(ution,)319 b(b)-31 b(ut)319 b(rather)h(to)g(sho)-39
-b(w)319 b(what)-30 31496 y(it)387 b(is)g(capable)h(of)f(and)g(gi)-39
-b(v)-23 b(e)387 b(you)g(a)h(basic)f(w)-15 b(orking)386
-b(kno)-39 b(wledge)387 b(of)g(the)h(system.)-30 32606
-y
-SDict begin H.S end
- -30 32606 a -30 32606 a
-SDict begin 18.2 H.A end
- -30 32606 a -30 32606 a
-SDict begin [ /View [/XYZ H.V] /Dest (82) cvn H.B /DEST pdfmark end
- -30
-32606 a 1680 x FU(As)458 b(you)g(g)-8 b(ain)458 b(e)-23
-b(xperience)458 b(with)g(Slackw)-15 b(are)457 b(Linux,)h(we)h(hope)f
-(you)f(\002nd)h(this)g(book)g(to)g(be)g(a)-30 36300 y(handy)437
-b(reference.)i(W)-124 b(e)437 b(also)h(hope)f(you')-15
-b(ll)436 b(lend)i(it)f(to)g(all)h(of)f(your)h(friends)f(when)g(the)-23
-b(y)437 b(come)-30 38315 y(asking)387 b(about)g(that)g(cool)g(Slackw)
--15 b(are)386 b(Linux)h(operating)g(system)g(you')-77
-b(re)386 b(running.)-30 39425 y
-SDict begin H.S end
- -30 39425 a -30 39425
-a
-SDict begin 18.2 H.A end
- -30 39425 a -30 39425 a
-SDict begin [ /View [/XYZ H.V] /Dest (83) cvn H.B /DEST pdfmark end
- -30 39425 a 1679 x FU(While)359
-b(this)f(book)h(may)g(not)g(an)g(edge-of-your)-31 b(-seat)358
-b(no)-23 b(v)g(el,)359 b(we)g(certainly)g(tried)g(to)g(mak)-15
-b(e)358 b(it)h(as)-30 43119 y(entertaining)456 b(as)g(possible.)h(W)-62
-b(ith)456 b(an)-23 b(y)456 b(luck,)h(we')-15 b(ll)456
-b(get)g(a)h(mo)-23 b(vie)456 b(deal.)h(Of)g(course,)g(we)f(also)-30
-45134 y(hope)387 b(you)g(are)h(able)f(to)g(learn)h(from)f(it)g(and)g
-(\002nd)g(it)g(useful.)-30 46244 y
-SDict begin H.S end
- -30 46244 a -30 46244
-a
-SDict begin 18.2 H.A end
- -30 46244 a -30 46244 a
-SDict begin [ /View [/XYZ H.V] /Dest (84) cvn H.B /DEST pdfmark end
- -30 46244 a 1679 x FU(And)g(no)-39
-b(w)-101 b(,)388 b(on)f(with)g(the)g(sho)-39 b(w)-101
-b(.)-30 50156 y
-SDict begin H.S end
- -30 50156 a -30 50156 a
-SDict begin 31.45 H.A end
- -30 50156 a -30
-50156 a
-SDict begin [ /View [/XYZ H.V] /Dest (PREFACE-CHANGES) cvn H.B /DEST
-pdfmark end
- -30 50156 a 3257 x FN(Chang)27 b(es)745 b(fr)-54
-b(om)745 b(the)f(Fir)-40 b(st)744 b(Edition)-30 55348
-y
-SDict begin H.S end
- -30 55348 a -30 55348 a
-SDict begin 18.2 H.A end
- -30 55348 a -30 55348 a
-SDict begin [ /View [/XYZ H.V] /Dest (86) cvn H.B /DEST pdfmark end
- -30
-55348 a 1419 x FU(This)381 b(second)g(edition)f(is)h(the)g(culmination)
-f(of)h(years)g(of)g(hard)g(w)-15 b(ork)381 b(by)g(the)g(dedicated)f
-(mem-)-30 58781 y(bers)407 b(of)g(the)f(Slackw)-15 b(are)406
-b(Documentation)g(Project.)g(The)h(follo)-39 b(wing)406
-b(are)h(the)g(major)f(changes)-30 60796 y(in)387 b(this)g(ne)-39
-b(w)388 b(edition:)-30 60811 y
-SDict begin H.S end
- -30 60811 a -30 60811
-a
-SDict begin 18.2 H.A end
- -30 60811 a -30 60811 a
-SDict begin [ /View [/XYZ H.V] /Dest (87) cvn H.B /DEST pdfmark end
- -30 60811 a -30 61587 a
-SDict begin H.S end
- -30
-61587 a -30 61587 a
-SDict begin 18.2 H.A end
- -30 61587 a -30 61587 a
-SDict begin [ /View [/XYZ H.V] /Dest (88) cvn H.B /DEST pdfmark end
- -30 61587
-a Black 3548 x FM(\225)p Black 1520 65135 a
-SDict begin H.S end
- 1520 65135
-a 1520 65135 a
-SDict begin 18.2 H.A end
- 1520 65135 a 1520 65135 a
-SDict begin [ /View [/XYZ H.V] /Dest (89) cvn H.B /DEST pdfmark end
- 1520 65135 a
-0 TeXcolorgray 1520 65135 a
-SDict begin H.S end
- 1520 65135 a FU(Chapter)f(3)7589
-65135 y
-SDict begin 18.2 H.L end
- 7589 65135 a 7589 65135 a
-SDict begin [ /Subtype /Link /Dest (INSTALLATION) cvn /H /I /Border
-[0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 7589 65135 a Black
-FU(,)499 b(Installation,)f(has)h(been)g(modi\002ed)f(with)g(ne)-39
-b(w)499 b(screenshots)g(of)f(the)h(installer)-62 b(,)1520
-67150 y(and)387 b(re\003ects)g(changes)g(in)g(disk-sets,)g(and)h(CD)f
-(installation.)-30 67486 y
-SDict begin H.S end
- -30 67486 a -30 67486 a
-SDict begin 18.2 H.A end
- -30
-67486 a -30 67486 a
-SDict begin [ /View [/XYZ H.V] /Dest (91) cvn H.B /DEST pdfmark end
- -30 67486 a Black 50400 73672 a FR(xv)p
-Black eop end
-%%Page: 16 16
-TeXDict begin 16 15 bop -8000 -8000 a
-SDict begin /product where{pop product(Distiller)search{pop pop pop
-version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
-closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
-grestore}if}{pop}ifelse}{pop}ifelse}if end
- -8000 -8000 a Black
-0 TeXcolorgray -30 -1358 a
-SDict begin H.S end
- -30 -1358 a 0 TeXcolorgray
-0 TeXcolorgray -30 -1358 a
-SDict begin H.R end
- -30 -1358 a -30 -1358 a
-SDict begin [ /View [/XYZ H.V] /Dest (page.16) cvn H.B /DEST pdfmark
-end
- -30
--1358 a Black -278 x FR(Pr)-57 b(eface)p Black Black
--30 3490 a FM(\225)p Black 1520 3490 a
-SDict begin H.S end
- 1520 3490 a 1520
-3490 a
-SDict begin 18.2 H.A end
- 1520 3490 a 1520 3490 a
-SDict begin [ /View [/XYZ H.V] /Dest (92) cvn H.B /DEST pdfmark end
- 1520 3490 a 0 TeXcolorgray
-1520 3490 a
-SDict begin H.S end
- 1520 3490 a FU(Chapter)387 b(4)7589 3490
-y
-SDict begin 18.2 H.L end
- 7589 3490 a 7589 3490 a
-SDict begin [ /Subtype /Link /Dest (SYSTEM-CONFIGURATION) cvn /H /I
-/Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 7589 3490 a Black FU(,)476
-b(System)e(Con\002guration,)g(has)i(been)f(updated)g(with)g(ne)-39
-b(w)476 b(information)e(about)1520 5505 y(Linux)387 b(2.6.x)h(k)-15
-b(ernels.)-30 5520 y
-SDict begin H.S end
- -30 5520 a -30 5520 a
-SDict begin 18.2 H.A end
- -30 5520 a
--30 5520 a
-SDict begin [ /View [/XYZ H.V] /Dest (94) cvn H.B /DEST pdfmark end
- -30 5520 a Black 2774 x FM(\225)p Black 1520
-8294 a
-SDict begin H.S end
- 1520 8294 a 1520 8294 a
-SDict begin 18.2 H.A end
- 1520 8294 a 1520 8294
-a
-SDict begin [ /View [/XYZ H.V] /Dest (95) cvn H.B /DEST pdfmark end
- 1520 8294 a 0 TeXcolorgray 1520 8294 a
-SDict begin H.S end
- 1520 8294 a
-FU(Chapter)387 b(5)7589 8294 y
-SDict begin 18.2 H.L end
- 7589 8294 a 7589 8294
-a
-SDict begin [ /Subtype /Link /Dest (NETWORK-CONFIGURATION) cvn /H /I
-/Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 7589 8294 a Black FU(,)335 b(Netw)-15 b(ork)335 b(Con\002guration,)e
-(has)i(been)h(e)-23 b(xpanded)334 b(with)h(further)g(e)-23
-b(xplanation)334 b(of)1520 10309 y(Samba,)423 b(NFS,)f(and)h(DHCP)-172
-b(.)423 b(A)g(section)f(on)h(wireless)g(netw)-15 b(orking)421
-b(has)i(also)g(been)g(added.)1520 12324 y(This)317 b(chapter)h(no)-39
-b(w)317 b(re\003ects)h(major)f(changes)h(in)f(ho)-39
-b(w)318 b(Slackw)-15 b(are)317 b(handles)g(netw)-15 b(ork)317
-b(setup.)-30 12659 y
-SDict begin H.S end
- -30 12659 a -30 12659 a
-SDict begin 18.2 H.A end
- -30 12659
-a -30 12659 a
-SDict begin [ /View [/XYZ H.V] /Dest (97) cvn H.B /DEST pdfmark end
- -30 12659 a Black 2454 x FM(\225)p Black
-1520 15113 a
-SDict begin H.S end
- 1520 15113 a 1520 15113 a
-SDict begin 18.2 H.A end
- 1520 15113 a 1520
-15113 a
-SDict begin [ /View [/XYZ H.V] /Dest (98) cvn H.B /DEST pdfmark end
- 1520 15113 a 0 TeXcolorgray 1520 15113 a
-SDict begin H.S end
- 1520
-15113 a FU(Chapter)387 b(6)7589 15113 y
-SDict begin 18.2 H.L end
- 7589 15113 a
-7589 15113 a
-SDict begin [ /Subtype /Link /Dest (X-WINDOW-SYSTEM) cvn /H /I /Border
-[0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 7589 15113 a Black FU(,)562 b(X)f(W)-62
-b(indo)-39 b(w)562 b(System,)f(has)g(been)h(substantially)e(re)-39
-b(written)562 b(for)g(Xor)-28 b(g)561 b(based)1520 17128
-y(systems.)387 b(This)g(chapter)g(no)-39 b(w)387 b(also)g(co)-23
-b(v)g(ers)387 b(the)g(xdm)g(graphical)g(login)g(manager)-85
-b(.)-30 17463 y
-SDict begin H.S end
- -30 17463 a -30 17463 a
-SDict begin 18.2 H.A end
- -30 17463 a -30
-17463 a
-SDict begin [ /View [/XYZ H.V] /Dest (100) cvn H.B /DEST pdfmark end
- -30 17463 a Black 2455 x FM(\225)p Black 1520
-19918 a
-SDict begin H.S end
- 1520 19918 a 1520 19918 a
-SDict begin 18.2 H.A end
- 1520 19918 a 1520 19918
-a
-SDict begin [ /View [/XYZ H.V] /Dest (101) cvn H.B /DEST pdfmark end
- 1520 19918 a 0 TeXcolorgray 1520 19918 a
-SDict begin H.S end
- 1520 19918
-a FU(Chapter)387 b(13)8364 19918 y
-SDict begin 18.2 H.L end
- 8364 19918 a 8364
-19918 a
-SDict begin [ /Subtype /Link /Dest (BASIC-NETWORK-COMMANDS) cvn /H
-/I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 8364 19918 a Black -1 w FU(,)727 b(Basic)f(Netw)-15
-b(ork)725 b(Commands,)g(has)h(been)g(enhanced)g(with)g(information)1520
-21932 y(about)387 b(additional)f(netw)-15 b(ork)387 b(utilities.)-30
-21947 y
-SDict begin H.S end
- -30 21947 a -30 21947 a
-SDict begin 18.2 H.A end
- -30 21947 a -30 21947
-a
-SDict begin [ /View [/XYZ H.V] /Dest (103) cvn H.B /DEST pdfmark end
- -30 21947 a Black 2775 x FM(\225)p Black 1520 24722
-a
-SDict begin H.S end
- 1520 24722 a 1520 24722 a
-SDict begin 18.2 H.A end
- 1520 24722 a 1520 24722 a
-SDict begin [ /View [/XYZ H.V] /Dest (104) cvn H.B /DEST pdfmark end
-
-1520 24722 a 0 TeXcolorgray 1520 24722 a
-SDict begin H.S end
- 1520 24722 a
-FU(Chapter)g(14)8364 24722 y
-SDict begin 18.2 H.L end
- 8364 24722 a 8364 24722
-a
-SDict begin [ /Subtype /Link /Dest (SECURITY) cvn /H /I /Border [0
-0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 8364 24722 a Black -1 w FU(,)396 b(Security)-101 b(,)396
-b(is)f(a)h(ne)-39 b(w)395 b(chapter)h(with)e(this)h(edition.)g(It)h(e)
--23 b(xplains)394 b(ho)-39 b(w)396 b(to)f(k)-15 b(eep)395
-b(a)1520 26736 y(Slackw)-15 b(are)386 b(Linux)h(system)g(secure.)-30
-27072 y
-SDict begin H.S end
- -30 27072 a -30 27072 a
-SDict begin 18.2 H.A end
- -30 27072 a -30 27072
-a
-SDict begin [ /View [/XYZ H.V] /Dest (106) cvn H.B /DEST pdfmark end
- -30 27072 a Black 2454 x FM(\225)p Black 1520 29526
-a
-SDict begin H.S end
- 1520 29526 a 1520 29526 a
-SDict begin 18.2 H.A end
- 1520 29526 a 1520 29526 a
-SDict begin [ /View [/XYZ H.V] /Dest (107) cvn H.B /DEST pdfmark end
-
-1520 29526 a 0 TeXcolorgray 1520 29526 a
-SDict begin H.S end
- 1520 29526 a
-FU(Chapter)g(17)8364 29526 y
-SDict begin 18.2 H.L end
- 8364 29526 a 8364 29526
-a
-SDict begin [ /Subtype /Link /Dest (EMACS) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 8364 29526 a Black -1 w FU(,)568 b(Emacs,)g(is)f(a)h(ne)-39
-b(w)568 b(chapter)f(with)g(this)g(edition.)g(It)g(describes)g(ho)-39
-b(w)568 b(to)f(use)1520 31541 y(Emacs,)387 b(a)h(po)-39
-b(werful)387 b(editor)g(for)g(Unix.)-30 31876 y
-SDict begin H.S end
- -30 31876
-a -30 31876 a
-SDict begin 18.2 H.A end
- -30 31876 a -30 31876 a
-SDict begin [ /View [/XYZ H.V] /Dest (109) cvn H.B /DEST pdfmark end
- -30 31876 a Black
-2454 x FM(\225)p Black 1520 34330 a
-SDict begin H.S end
- 1520 34330 a 1520
-34330 a
-SDict begin 18.2 H.A end
- 1520 34330 a 1520 34330 a
-SDict begin [ /View [/XYZ H.V] /Dest (110) cvn H.B /DEST pdfmark end
- 1520 34330 a 0 TeXcolorgray
-1520 34330 a
-SDict begin H.S end
- 1520 34330 a FU(Chapter)g(18)8364 34330
-y
-SDict begin 18.2 H.L end
- 8364 34330 a 8364 34330 a
-SDict begin [ /Subtype /Link /Dest (PACKAGE-MANAGEMENT) cvn /H /I /Border
-[0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 8364 34330 a Black -1 w FU(,)750
-b(P)-23 b(ackage)748 b(Management,)h(has)f(been)h(updated)f(with)h
-(information)e(about)1520 36345 y(SlackBuild)386 b(scripts.)-30
-36680 y
-SDict begin H.S end
- -30 36680 a -30 36680 a
-SDict begin 18.2 H.A end
- -30 36680 a -30 36680
-a
-SDict begin [ /View [/XYZ H.V] /Dest (112) cvn H.B /DEST pdfmark end
- -30 36680 a Black 2454 x FM(\225)p Black 1520 39134
-a
-SDict begin H.S end
- 1520 39134 a 1520 39134 a
-SDict begin 18.2 H.A end
- 1520 39134 a 1520 39134 a
-SDict begin [ /View [/XYZ H.V] /Dest (113) cvn H.B /DEST pdfmark end
-
-1520 39134 a FU(There)376 b(are)h(man)-23 b(y)376 b(other)g(changes,)g
-(both)g(minor)g(and)g(major)-62 b(,)377 b(to)f(re\003ect)g(changes)g
-(in)g(Slack-)1520 41149 y(w)-15 b(are)387 b(as)g(it)g(has)h(matured.)
--30 43173 y
-SDict begin H.S end
- -30 43173 a -30 43173 a
-SDict begin 31.45 H.A end
- -30 43173 a -30 43173
-a
-SDict begin [ /View [/XYZ H.V] /Dest (PREFACE-ORGANIZATION) cvn H.B
-/DEST pdfmark end
- -30 43173 a 3466 x FN(Or)-40 b(ganization)746 b(of)e(this)h(Book)-30
-47235 y
-SDict begin H.S end
- -30 47235 a -30 47235 a
-SDict begin 18.2 H.A end
- -30 47235 a -30 47235
-a
-SDict begin [ /View [/XYZ H.V] /Dest (115) cvn H.B /DEST pdfmark end
- -30 47235 a -30 50123 a
-SDict begin H.S end
- -30 50123 a -30 50123 a
-SDict begin 18.2 H.A end
- -30
-50123 a -30 50123 a
-SDict begin [ /View [/XYZ H.V] /Dest (117) cvn H.B /DEST pdfmark end
- -30 50123 a 0 TeXcolorgray -30 51542
-a
-SDict begin H.S end
- -30 51542 a FU(Chapter)387 b(1)6039 51542 y
-SDict begin 18.2 H.L end
- 6039 51542
-a 6039 51542 a
-SDict begin [ /Subtype /Link /Dest (INTRODUCTION) cvn /H /I /Border
-[0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 6039 51542 a Black FU(,)h(Introduction)-30
-51878 y
-SDict begin H.S end
- -30 51878 a -30 51878 a
-SDict begin 18.2 H.A end
- -30 51878 a -30 51878
-a
-SDict begin [ /View [/XYZ H.V] /Dest (119) cvn H.B /DEST pdfmark end
- -30 51878 a Black Black 3070 54332 a
-SDict begin H.S end
- 3070 54332 a 3070
-54332 a
-SDict begin 18.2 H.A end
- 3070 54332 a 3070 54332 a
-SDict begin [ /View [/XYZ H.V] /Dest (120) cvn H.B /DEST pdfmark end
- 3070 54332 a FU(Pro)-23
-b(vides)405 b(introductory)h(material)h(on)f(Linux,)h(Slackw)-15
-b(are,)406 b(and)h(the)g(Open)f(Source)h(and)3070 56346
-y(Free)387 b(Softw)-15 b(are)386 b(Mo)-23 b(v)g(ements.)-30
-57912 y
-SDict begin H.S end
- -30 57912 a -30 57912 a
-SDict begin 18.2 H.A end
- -30 57912 a -30 57912
-a
-SDict begin [ /View [/XYZ H.V] /Dest (122) cvn H.B /DEST pdfmark end
- -30 57912 a 0 TeXcolorgray -30 59911 a
-SDict begin H.S end
- -30 59911 a
-FU(Chapter)387 b(2)6039 59911 y
-SDict begin 18.2 H.L end
- 6039 59911 a 6039 59911
-a
-SDict begin [ /Subtype /Link /Dest (HELP) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 6039 59911 a Black FU(,)h(Help)-30 60246 y
-SDict begin H.S end
- -30 60246
-a -30 60246 a
-SDict begin 18.2 H.A end
- -30 60246 a -30 60246 a
-SDict begin [ /View [/XYZ H.V] /Dest (124) cvn H.B /DEST pdfmark end
- -30 60246 a Black
-Black 3070 62700 a
-SDict begin H.S end
- 3070 62700 a 3070 62700 a
-SDict begin 18.2 H.A end
- 3070 62700
-a 3070 62700 a
-SDict begin [ /View [/XYZ H.V] /Dest (125) cvn H.B /DEST pdfmark end
- 3070 62700 a FU(Describes)315 b(the)g(help)h(resources)f
-(a)-31 b(v)-39 b(ailable)316 b(on)f(a)h(Slackw)-15 b(are)315
-b(Linux)g(system)g(and)g(online.)p Black -30 73672 a
-FR(xvi)p Black eop end
-%%Page: 17 17
-TeXDict begin 17 16 bop -8000 -8000 a
-SDict begin /product where{pop product(Distiller)search{pop pop pop
-version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
-closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
-grestore}if}{pop}ifelse}{pop}ifelse}if end
- -8000 -8000 a Black
-0 TeXcolorgray -30 -1237 a
-SDict begin H.S end
- -30 -1237 a 0 TeXcolorgray
-0 TeXcolorgray -30 -1237 a
-SDict begin H.R end
- -30 -1237 a -30 -1237 a
-SDict begin [ /View [/XYZ H.V] /Dest (page.17) cvn H.B /DEST pdfmark
-end
- -30
--1237 a Black -30 -2687 a
-SDict begin H.S end
- -30 -2687 a -30 -2687 a
-SDict begin 18.2 H.A end
- -30
--2687 a -30 -2687 a
-SDict begin [ /View [/XYZ H.V] /Dest (172) cvn H.B /DEST pdfmark end
- -30 -2687 a 47014 -1636 a FR(Pr)-57
-b(eface)p Black -30 2504 a
-SDict begin H.S end
- -30 2504 a -30 2504 a
-SDict begin 18.2 H.A end
- -30
-2504 a -30 2504 a
-SDict begin [ /View [/XYZ H.V] /Dest (127) cvn H.B /DEST pdfmark end
- -30 2504 a 0 TeXcolorgray -30 3611
-a
-SDict begin H.S end
- -30 3611 a FU(Chapter)387 b(3)6039 3611 y
-SDict begin 18.2 H.L end
- 6039 3611
-a 6039 3611 a
-SDict begin [ /Subtype /Link /Dest (INSTALLATION) cvn /H /I /Border
-[0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 6039 3611 a Black FU(,)h(Installation)-30
-3947 y
-SDict begin H.S end
- -30 3947 a -30 3947 a
-SDict begin 18.2 H.A end
- -30 3947 a -30 3947 a
-SDict begin [ /View [/XYZ H.V] /Dest (129) cvn H.B /DEST pdfmark end
- -30
-3947 a Black Black 3070 6401 a
-SDict begin H.S end
- 3070 6401 a 3070 6401
-a
-SDict begin 18.2 H.A end
- 3070 6401 a 3070 6401 a
-SDict begin [ /View [/XYZ H.V] /Dest (130) cvn H.B /DEST pdfmark end
- 3070 6401 a FU(Describes)478
-b(the)h(installation)e(process)i(step-by-step)f(with)h(screenshots)f
-(to)h(pro)-23 b(vide)478 b(an)3070 8415 y(illustrati)-39
-b(v)-23 b(e)386 b(w)-15 b(alk-through.)-30 10301 y
-SDict begin H.S end
- -30
-10301 a -30 10301 a
-SDict begin 18.2 H.A end
- -30 10301 a -30 10301 a
-SDict begin [ /View [/XYZ H.V] /Dest (132) cvn H.B /DEST pdfmark end
- -30 10301
-a 0 TeXcolorgray -30 11980 a
-SDict begin H.S end
- -30 11980 a FU(Chapter)387
-b(4)6039 11980 y
-SDict begin 18.2 H.L end
- 6039 11980 a 6039 11980 a
-SDict begin [ /Subtype /Link /Dest (SYSTEM-CONFIGURATION) cvn /H /I
-/Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 6039 11980
-a Black FU(,)h(System)e(Con\002guration)-30 12315 y
-SDict begin H.S end
- -30
-12315 a -30 12315 a
-SDict begin 18.2 H.A end
- -30 12315 a -30 12315 a
-SDict begin [ /View [/XYZ H.V] /Dest (134) cvn H.B /DEST pdfmark end
- -30 12315
-a Black Black 3070 14769 a
-SDict begin H.S end
- 3070 14769 a 3070 14769 a
-SDict begin 18.2 H.A end
-
-3070 14769 a 3070 14769 a
-SDict begin [ /View [/XYZ H.V] /Dest (135) cvn H.B /DEST pdfmark end
- 3070 14769 a FU(Describes)h(the)g(important)f
-(con\002guration)g(\002les)h(and)g(co)-23 b(v)g(ers)387
-b(k)-15 b(ernel)387 b(recompilation.)-30 16655 y
-SDict begin H.S end
- -30
-16655 a -30 16655 a
-SDict begin 18.2 H.A end
- -30 16655 a -30 16655 a
-SDict begin [ /View [/XYZ H.V] /Dest (137) cvn H.B /DEST pdfmark end
- -30 16655
-a 0 TeXcolorgray -30 18334 a
-SDict begin H.S end
- -30 18334 a FU(Chapter)g(5)6039
-18334 y
-SDict begin 18.2 H.L end
- 6039 18334 a 6039 18334 a
-SDict begin [ /Subtype /Link /Dest (NETWORK-CONFIGURATION) cvn /H /I
-/Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 6039 18334 a Black
-FU(,)h(Netw)-15 b(ork)386 b(Con\002guration)-30 18669
-y
-SDict begin H.S end
- -30 18669 a -30 18669 a
-SDict begin 18.2 H.A end
- -30 18669 a -30 18669 a
-SDict begin [ /View [/XYZ H.V] /Dest (139) cvn H.B /DEST pdfmark end
- -30
-18669 a Black Black 3070 21123 a
-SDict begin H.S end
- 3070 21123 a 3070 21123
-a
-SDict begin 18.2 H.A end
- 3070 21123 a 3070 21123 a
-SDict begin [ /View [/XYZ H.V] /Dest (140) cvn H.B /DEST pdfmark end
- 3070 21123 a FU(Describes)560
-b(ho)-39 b(w)561 b(to)g(connect)g(a)g(Slackw)-15 b(are)560
-b(Linux)h(machine)f(to)h(a)g(netw)-15 b(ork.)561 b(Co)-23
-b(v)g(ers)3070 23138 y(TCP/IP)-172 b(,)386 b(PPP/dial-up,)g(wireless)h
-(netw)-15 b(orking,)386 b(and)i(more.)-30 25023 y
-SDict begin H.S end
- -30
-25023 a -30 25023 a
-SDict begin 18.2 H.A end
- -30 25023 a -30 25023 a
-SDict begin [ /View [/XYZ H.V] /Dest (142) cvn H.B /DEST pdfmark end
- -30 25023
-a 0 TeXcolorgray -30 26702 a
-SDict begin H.S end
- -30 26702 a FU(Chapter)f(6)6039
-26702 y
-SDict begin 18.2 H.L end
- 6039 26702 a 6039 26702 a
-SDict begin [ /Subtype /Link /Dest (X-WINDOW-SYSTEM) cvn /H /I /Border
-[0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 6039 26702 a Black
-FU(,)h(The)f(X)g(W)-62 b(indo)-39 b(w)387 b(System)-30
-27038 y
-SDict begin H.S end
- -30 27038 a -30 27038 a
-SDict begin 18.2 H.A end
- -30 27038 a -30 27038
-a
-SDict begin [ /View [/XYZ H.V] /Dest (144) cvn H.B /DEST pdfmark end
- -30 27038 a Black Black 3070 29492 a
-SDict begin H.S end
- 3070 29492 a 3070
-29492 a
-SDict begin 18.2 H.A end
- 3070 29492 a 3070 29492 a
-SDict begin [ /View [/XYZ H.V] /Dest (145) cvn H.B /DEST pdfmark end
- 3070 29492 a FU(Describes)380
-b(ho)-39 b(w)381 b(to)g(setup)g(and)f(use)h(the)g(graphical)g(X)g(W)-62
-b(indo)-39 b(w)380 b(System)h(in)f(Slackw)-15 b(are.)-30
-31377 y
-SDict begin H.S end
- -30 31377 a -30 31377 a
-SDict begin 18.2 H.A end
- -30 31377 a -30 31377
-a
-SDict begin [ /View [/XYZ H.V] /Dest (147) cvn H.B /DEST pdfmark end
- -30 31377 a 0 TeXcolorgray -30 33056 a
-SDict begin H.S end
- -30 33056 a
-FU(Chapter)387 b(7)6039 33056 y
-SDict begin 18.2 H.L end
- 6039 33056 a 6039 33056
-a
-SDict begin [ /Subtype /Link /Dest (BOOTING) cvn /H /I /Border [0 0
-0] /Color [1 0 0] H.B /ANN pdfmark end
- 6039 33056 a Black FU(,)h(Booting)-30 33392 y
-SDict begin H.S end
- -30 33392
-a -30 33392 a
-SDict begin 18.2 H.A end
- -30 33392 a -30 33392 a
-SDict begin [ /View [/XYZ H.V] /Dest (149) cvn H.B /DEST pdfmark end
- -30 33392 a Black
-Black 3070 35846 a
-SDict begin H.S end
- 3070 35846 a 3070 35846 a
-SDict begin 18.2 H.A end
- 3070 35846
-a 3070 35846 a
-SDict begin [ /View [/XYZ H.V] /Dest (150) cvn H.B /DEST pdfmark end
- 3070 35846 a FU(Describes)449 b(the)h(process)f(by)h
-(which)g(a)g(computer)f(boots)g(into)h(Slackw)-15 b(are)449
-b(Linux.)g(Also)3070 37860 y(co)-23 b(v)g(ers)386 b(dual-booting)g
-(with)h(Microsoft)g(W)-62 b(indo)-39 b(ws)387 b(operating)f(systems.)
--30 39746 y
-SDict begin H.S end
- -30 39746 a -30 39746 a
-SDict begin 18.2 H.A end
- -30 39746 a -30 39746
-a
-SDict begin [ /View [/XYZ H.V] /Dest (152) cvn H.B /DEST pdfmark end
- -30 39746 a 0 TeXcolorgray -30 41425 a
-SDict begin H.S end
- -30 41425 a
-FU(Chapter)h(8)6039 41425 y
-SDict begin 18.2 H.L end
- 6039 41425 a 6039 41425 a
-SDict begin [ /Subtype /Link /Dest (SHELL) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
-
-6039 41425 a Black FU(,)h(The)f(Shell)-30 41760 y
-SDict begin H.S end
- -30
-41760 a -30 41760 a
-SDict begin 18.2 H.A end
- -30 41760 a -30 41760 a
-SDict begin [ /View [/XYZ H.V] /Dest (154) cvn H.B /DEST pdfmark end
- -30 41760
-a Black Black 3070 44214 a
-SDict begin H.S end
- 3070 44214 a 3070 44214 a
-SDict begin 18.2 H.A end
-
-3070 44214 a 3070 44214 a
-SDict begin [ /View [/XYZ H.V] /Dest (155) cvn H.B /DEST pdfmark end
- 3070 44214 a FU(Describes)g(the)g(po)-39
-b(werful)387 b(command)g(line)g(interf)-15 b(ace)386
-b(for)i(Linux.)-30 46100 y
-SDict begin H.S end
- -30 46100 a -30 46100 a
-SDict begin 18.2 H.A end
- -30
-46100 a -30 46100 a
-SDict begin [ /View [/XYZ H.V] /Dest (157) cvn H.B /DEST pdfmark end
- -30 46100 a 0 TeXcolorgray -30 47779
-a
-SDict begin H.S end
- -30 47779 a FU(Chapter)f(9)6039 47779 y
-SDict begin 18.2 H.L end
- 6039 47779
-a 6039 47779 a
-SDict begin [ /Subtype /Link /Dest (FILESYSTEM-STRUCTURE) cvn /H /I
-/Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 6039 47779 a Black FU(,)h(Filesystem)e(Structure)-30
-48114 y
-SDict begin H.S end
- -30 48114 a -30 48114 a
-SDict begin 18.2 H.A end
- -30 48114 a -30 48114
-a
-SDict begin [ /View [/XYZ H.V] /Dest (159) cvn H.B /DEST pdfmark end
- -30 48114 a Black Black 3070 50568 a
-SDict begin H.S end
- 3070 50568 a 3070
-50568 a
-SDict begin 18.2 H.A end
- 3070 50568 a 3070 50568 a
-SDict begin [ /View [/XYZ H.V] /Dest (160) cvn H.B /DEST pdfmark end
- 3070 50568 a FU(Describes)567
-b(the)g(\002lesystem)f(structure,)h(including)f(\002le)h(o)-39
-b(wnership,)567 b(permission,)g(and)3070 52583 y(linking.)-30
-54468 y
-SDict begin H.S end
- -30 54468 a -30 54468 a
-SDict begin 18.2 H.A end
- -30 54468 a -30 54468
-a
-SDict begin [ /View [/XYZ H.V] /Dest (162) cvn H.B /DEST pdfmark end
- -30 54468 a 0 TeXcolorgray -30 56147 a
-SDict begin H.S end
- -30 56147 a
-FU(Chapter)387 b(10)6814 56147 y
-SDict begin 18.2 H.L end
- 6814 56147 a 6814 56147
-a
-SDict begin [ /Subtype /Link /Dest (FILE-COMMANDS) cvn /H /I /Border
-[0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 6814 56147 a Black FU(,)h(Handling)e(Files)h(and)g(Directories)-30
-56483 y
-SDict begin H.S end
- -30 56483 a -30 56483 a
-SDict begin 18.2 H.A end
- -30 56483 a -30 56483
-a
-SDict begin [ /View [/XYZ H.V] /Dest (164) cvn H.B /DEST pdfmark end
- -30 56483 a Black Black 3070 58937 a
-SDict begin H.S end
- 3070 58937 a 3070
-58937 a
-SDict begin 18.2 H.A end
- 3070 58937 a 3070 58937 a
-SDict begin [ /View [/XYZ H.V] /Dest (165) cvn H.B /DEST pdfmark end
- 3070 58937 a FU(Describes)326
-b(the)h(commands)g(used)g(to)g(manipulate)f(\002les)g(and)i
-(directories)e(from)h(the)g(com-)3070 60952 y(mand)387
-b(line)g(interf)-15 b(ace.)-30 62517 y
-SDict begin H.S end
- -30 62517 a -30
-62517 a
-SDict begin 18.2 H.A end
- -30 62517 a -30 62517 a
-SDict begin [ /View [/XYZ H.V] /Dest (167) cvn H.B /DEST pdfmark end
- -30 62517 a 0 TeXcolorgray
--30 64516 a
-SDict begin H.S end
- -30 64516 a FU(Chapter)387 b(11)6814 64516
-y
-SDict begin 18.2 H.L end
- 6814 64516 a 6814 64516 a
-SDict begin [ /Subtype /Link /Dest (PROCESS-CONTROL) cvn /H /I /Border
-[0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 6814 64516 a Black FU(,)h(Process)e
-(Control)-30 64852 y
-SDict begin H.S end
- -30 64852 a -30 64852 a
-SDict begin 18.2 H.A end
- -30 64852
-a -30 64852 a
-SDict begin [ /View [/XYZ H.V] /Dest (169) cvn H.B /DEST pdfmark end
- -30 64852 a Black Black 3070 67306 a
-SDict begin H.S end
- 3070
-67306 a 3070 67306 a
-SDict begin 18.2 H.A end
- 3070 67306 a 3070 67306 a
-SDict begin [ /View [/XYZ H.V] /Dest (170) cvn H.B /DEST pdfmark end
- 3070 67306
-a FU(Describes)365 b(the)h(po)-39 b(werful)366 b(Linux)g(process)g
-(management)f(commands)g(used)h(to)g(manage)p Black 49538
-73792 a FR(xvii)p Black eop end
-%%Page: 18 18
-TeXDict begin 18 17 bop -8000 -8000 a
-SDict begin /product where{pop product(Distiller)search{pop pop pop
-version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
-closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
-grestore}if}{pop}ifelse}{pop}ifelse}if end
- -8000 -8000 a Black
-0 TeXcolorgray -30 -1237 a
-SDict begin H.S end
- -30 -1237 a 0 TeXcolorgray
-0 TeXcolorgray -30 -1237 a
-SDict begin H.R end
- -30 -1237 a -30 -1237 a
-SDict begin [ /View [/XYZ H.V] /Dest (page.18) cvn H.B /DEST pdfmark
-end
- -30
--1237 a Black -399 x FR(Pr)-57 b(eface)p Black 3070 3611
-a FU(multiple)386 b(running)g(applications.)p 0 TeXcolorgray
--30 7176 a
-SDict begin H.S end
- -30 7176 a FU(Chapter)h(12)6814 7176 y
-SDict begin 18.2 H.L end
- 6814
-7176 a 6814 7176 a
-SDict begin [ /Subtype /Link /Dest (ESSENTIAL-SYSADMIN) cvn /H /I /Border
-[0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 6814 7176 a Black FU(,)h(Essential)e(System)g
-(Administration)-30 7511 y
-SDict begin H.S end
- -30 7511 a -30 7511 a
-SDict begin 18.2 H.A end
- -30
-7511 a -30 7511 a
-SDict begin [ /View [/XYZ H.V] /Dest (174) cvn H.B /DEST pdfmark end
- -30 7511 a Black Black 3070 9965 a
-SDict begin H.S end
-
-3070 9965 a 3070 9965 a
-SDict begin 18.2 H.A end
- 3070 9965 a 3070 9965 a
-SDict begin [ /View [/XYZ H.V] /Dest (175) cvn H.B /DEST pdfmark end
- 3070
-9965 a FU(Describes)297 b(basic)g(system)g(administration)e(tasks)i
-(such)h(as)f(adding)g(and)g(remo)-23 b(ving)297 b(users,)3070
-11980 y(shutting)386 b(do)-39 b(wn)387 b(the)g(system)g(properly)-101
-b(,)387 b(and)h(more.)-30 13865 y
-SDict begin H.S end
- -30 13865 a -30 13865
-a
-SDict begin 18.2 H.A end
- -30 13865 a -30 13865 a
-SDict begin [ /View [/XYZ H.V] /Dest (177) cvn H.B /DEST pdfmark end
- -30 13865 a 0 TeXcolorgray
--30 15544 a
-SDict begin H.S end
- -30 15544 a FU(Chapter)f(13)6814 15544 y
-SDict begin 18.2 H.L end
-
-6814 15544 a 6814 15544 a
-SDict begin [ /Subtype /Link /Dest (BASIC-NETWORK-COMMANDS) cvn /H
-/I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 6814 15544 a Black FU(,)h(Basic)f(Netw)-15
-b(ork)386 b(Commands)-30 15880 y
-SDict begin H.S end
- -30 15880 a -30 15880
-a
-SDict begin 18.2 H.A end
- -30 15880 a -30 15880 a
-SDict begin [ /View [/XYZ H.V] /Dest (179) cvn H.B /DEST pdfmark end
- -30 15880 a Black Black 3070
-18334 a
-SDict begin H.S end
- 3070 18334 a 3070 18334 a
-SDict begin 18.2 H.A end
- 3070 18334 a 3070 18334
-a
-SDict begin [ /View [/XYZ H.V] /Dest (180) cvn H.B /DEST pdfmark end
- 3070 18334 a FU(Describes)h(the)g(collection)f(of)i(netw)-15
-b(ork)386 b(clients)h(included)g(with)f(Slackw)-15 b(are.)-30
-19899 y
-SDict begin H.S end
- -30 19899 a -30 19899 a
-SDict begin 18.2 H.A end
- -30 19899 a -30 19899
-a
-SDict begin [ /View [/XYZ H.V] /Dest (182) cvn H.B /DEST pdfmark end
- -30 19899 a 0 TeXcolorgray -30 21898 a
-SDict begin H.S end
- -30 21898 a
-FU(Chapter)387 b(14)6814 21898 y
-SDict begin 18.2 H.L end
- 6814 21898 a 6814 21898
-a
-SDict begin [ /Subtype /Link /Dest (SECURITY) cvn /H /I /Border [0
-0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 6814 21898 a Black FU(,)h(Security)-30 22234 y
-SDict begin H.S end
- -30
-22234 a -30 22234 a
-SDict begin 18.2 H.A end
- -30 22234 a -30 22234 a
-SDict begin [ /View [/XYZ H.V] /Dest (184) cvn H.B /DEST pdfmark end
- -30 22234
-a Black Black 3070 24688 a
-SDict begin H.S end
- 3070 24688 a 3070 24688 a
-SDict begin 18.2 H.A end
-
-3070 24688 a 3070 24688 a
-SDict begin [ /View [/XYZ H.V] /Dest (185) cvn H.B /DEST pdfmark end
- 3070 24688 a FU(Describes)496
-b(man)-23 b(y)496 b(dif)-39 b(ferent)497 b(tools)g(a)-31
-b(v)-39 b(ailable)496 b(to)h(help)g(k)-15 b(eep)496 b(your)h(Slackw)-15
-b(are)496 b(system)3070 26702 y(secure,)387 b(including)14045
-26702 y
-SDict begin H.S end
- 14045 26702 a 14045 26702 a
-SDict begin 18.2 H.A end
- 14045 26702 a 14045
-26702 a
-SDict begin [ /View [/XYZ H.V] /Dest (186) cvn H.B /DEST pdfmark end
- 14045 26702 a FP(iptables)f FU(and)23008 26702
-y
-SDict begin H.S end
- 23008 26702 a 23008 26702 a
-SDict begin 18.2 H.A end
- 23008 26702 a 23008 26702
-a
-SDict begin [ /View [/XYZ H.V] /Dest (187) cvn H.B /DEST pdfmark end
- 23008 26702 a FP(tcpwrappers)p FU(.)-30 28588 y
-SDict begin H.S end
- -30
-28588 a -30 28588 a
-SDict begin 18.2 H.A end
- -30 28588 a -30 28588 a
-SDict begin [ /View [/XYZ H.V] /Dest (189) cvn H.B /DEST pdfmark end
- -30 28588
-a 0 TeXcolorgray -30 30267 a
-SDict begin H.S end
- -30 30267 a FU(Chapter)h(15)6814
-30267 y
-SDict begin 18.2 H.L end
- 6814 30267 a 6814 30267 a
-SDict begin [ /Subtype /Link /Dest (ARCHIVE-FILES) cvn /H /I /Border
-[0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 6814 30267 a Black
-FU(,)h(Archi)-39 b(v)-23 b(e)387 b(Files)-30 30602 y
-SDict begin H.S end
-
--30 30602 a -30 30602 a
-SDict begin 18.2 H.A end
- -30 30602 a -30 30602 a
-SDict begin [ /View [/XYZ H.V] /Dest (191) cvn H.B /DEST pdfmark end
- -30 30602
-a Black Black 3070 33056 a
-SDict begin H.S end
- 3070 33056 a 3070 33056 a
-SDict begin 18.2 H.A end
-
-3070 33056 a 3070 33056 a
-SDict begin [ /View [/XYZ H.V] /Dest (192) cvn H.B /DEST pdfmark end
- 3070 33056 a FU(Describes)g(the)g(dif)-39
-b(ferent)387 b(compression)f(and)i(archi)-39 b(v)-23
-b(e)387 b(utilities)f(a)-31 b(v)-39 b(ailable)387 b(for)h(Linux.)-30
-34941 y
-SDict begin H.S end
- -30 34941 a -30 34941 a
-SDict begin 18.2 H.A end
- -30 34941 a -30 34941
-a
-SDict begin [ /View [/XYZ H.V] /Dest (194) cvn H.B /DEST pdfmark end
- -30 34941 a 0 TeXcolorgray -30 36621 a
-SDict begin H.S end
- -30 36621 a
-FU(Chapter)f(16)6814 36621 y
-SDict begin 18.2 H.L end
- 6814 36621 a 6814 36621
-a
-SDict begin [ /Subtype /Link /Dest (VI) cvn /H /I /Border [0 0 0] /Color
-[1 0 0] H.B /ANN pdfmark end
- 6814 36621 a Black FU(,)h(vi)-30 36956 y
-SDict begin H.S end
- -30 36956
-a -30 36956 a
-SDict begin 18.2 H.A end
- -30 36956 a -30 36956 a
-SDict begin [ /View [/XYZ H.V] /Dest (196) cvn H.B /DEST pdfmark end
- -30 36956 a Black
-Black 3070 39410 a
-SDict begin H.S end
- 3070 39410 a 3070 39410 a
-SDict begin 18.2 H.A end
- 3070 39410
-a 3070 39410 a
-SDict begin [ /View [/XYZ H.V] /Dest (197) cvn H.B /DEST pdfmark end
- 3070 39410 a FU(Describes)f(the)g(po)-39
-b(werful)17792 39410 y
-SDict begin H.S end
- 17792 39410 a 17792 39410 a
-SDict begin 18.2 H.A end
- 17792
-39410 a 17792 39410 a
-SDict begin [ /View [/XYZ H.V] /Dest (198) cvn H.B /DEST pdfmark end
- 17792 39410 a FP(vi)387 b FU(te)-23
-b(xt)387 b(editor)-85 b(.)-30 41295 y
-SDict begin H.S end
- -30 41295 a -30
-41295 a
-SDict begin 18.2 H.A end
- -30 41295 a -30 41295 a
-SDict begin [ /View [/XYZ H.V] /Dest (200) cvn H.B /DEST pdfmark end
- -30 41295 a 0 TeXcolorgray
--30 42975 a
-SDict begin H.S end
- -30 42975 a FU(Chapter)387 b(17)6814 42975
-y
-SDict begin 18.2 H.L end
- 6814 42975 a 6814 42975 a
-SDict begin [ /Subtype /Link /Dest (EMACS) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 6814 42975 a Black FU(,)h(Emacs)-30
-43310 y
-SDict begin H.S end
- -30 43310 a -30 43310 a
-SDict begin 18.2 H.A end
- -30 43310 a -30 43310
-a
-SDict begin [ /View [/XYZ H.V] /Dest (202) cvn H.B /DEST pdfmark end
- -30 43310 a Black Black 3070 45764 a
-SDict begin H.S end
- 3070 45764 a 3070
-45764 a
-SDict begin 18.2 H.A end
- 3070 45764 a 3070 45764 a
-SDict begin [ /View [/XYZ H.V] /Dest (203) cvn H.B /DEST pdfmark end
- 3070 45764 a FU(Describes)f(the)g(po)
--39 b(werful)17792 45764 y
-SDict begin H.S end
- 17792 45764 a 17792 45764
-a
-SDict begin 18.2 H.A end
- 17792 45764 a 17792 45764 a
-SDict begin [ /View [/XYZ H.V] /Dest (204) cvn H.B /DEST pdfmark end
- 17792 45764 a FP(Emacs)387
-b FU(te)-23 b(xt)387 b(editor)-85 b(.)-30 47649 y
-SDict begin H.S end
- -30
-47649 a -30 47649 a
-SDict begin 18.2 H.A end
- -30 47649 a -30 47649 a
-SDict begin [ /View [/XYZ H.V] /Dest (206) cvn H.B /DEST pdfmark end
- -30 47649
-a 0 TeXcolorgray -30 49329 a
-SDict begin H.S end
- -30 49329 a FU(Chapter)387
-b(18)6814 49329 y
-SDict begin 18.2 H.L end
- 6814 49329 a 6814 49329 a
-SDict begin [ /Subtype /Link /Dest (PACKAGE-MANAGEMENT) cvn /H /I /Border
-[0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 6814 49329
-a Black FU(,)h(Slackw)-15 b(are)386 b(P)-23 b(ackage)387
-b(Management)-30 49664 y
-SDict begin H.S end
- -30 49664 a -30 49664 a
-SDict begin 18.2 H.A end
- -30
-49664 a -30 49664 a
-SDict begin [ /View [/XYZ H.V] /Dest (208) cvn H.B /DEST pdfmark end
- -30 49664 a Black Black 3070 52118
-a
-SDict begin H.S end
- 3070 52118 a 3070 52118 a
-SDict begin 18.2 H.A end
- 3070 52118 a 3070 52118 a
-SDict begin [ /View [/XYZ H.V] /Dest (209) cvn H.B /DEST pdfmark end
-
-3070 52118 a FU(Describes)320 b(the)h(Slackw)-15 b(are)321
-b(package)g(utilities)f(and)h(the)g(process)g(used)f(to)h(create)h
-(custom)3070 54133 y(packages)387 b(and)g(tag\002les.)-30
-56018 y
-SDict begin H.S end
- -30 56018 a -30 56018 a
-SDict begin 18.2 H.A end
- -30 56018 a -30 56018
-a
-SDict begin [ /View [/XYZ H.V] /Dest (211) cvn H.B /DEST pdfmark end
- -30 56018 a 0 TeXcolorgray -30 57697 a
-SDict begin H.S end
- -30 57697 a
-FU(Chapter)g(19)6814 57697 y
-SDict begin 18.2 H.L end
- 6814 57697 a 6814 57697
-a
-SDict begin [ /Subtype /Link /Dest (ZIPSLACK) cvn /H /I /Border [0
-0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 6814 57697 a Black FU(,)h(ZipSlack)-30 58033 y
-SDict begin H.S end
- -30
-58033 a -30 58033 a
-SDict begin 18.2 H.A end
- -30 58033 a -30 58033 a
-SDict begin [ /View [/XYZ H.V] /Dest (213) cvn H.B /DEST pdfmark end
- -30 58033
-a Black Black 3070 60487 a
-SDict begin H.S end
- 3070 60487 a 3070 60487 a
-SDict begin 18.2 H.A end
-
-3070 60487 a 3070 60487 a
-SDict begin [ /View [/XYZ H.V] /Dest (214) cvn H.B /DEST pdfmark end
- 3070 60487 a FU(Describes)g(the)h(ZipSlack)g
-(v)-23 b(ersion)388 b(of)h(Linux)g(that)g(can)g(be)g(used)g(from)g(W)
--62 b(indo)-39 b(ws)388 b(with-)3070 62501 y(out)f(requiring)f(an)i
-(installation.)p Black -30 73792 a FR(xviii)p Black eop
-end
-%%Page: 19 19
-TeXDict begin 19 18 bop -8000 -8000 a
-SDict begin /product where{pop product(Distiller)search{pop pop pop
-version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
-closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
-grestore}if}{pop}ifelse}{pop}ifelse}if end
- -8000 -8000 a Black
-0 TeXcolorgray -30 -1237 a
-SDict begin H.S end
- -30 -1237 a 0 TeXcolorgray
-0 TeXcolorgray -30 -1237 a
-SDict begin H.R end
- -30 -1237 a -30 -1237 a
-SDict begin [ /View [/XYZ H.V] /Dest (page.19) cvn H.B /DEST pdfmark
-end
- -30
--1237 a Black -30 -2687 a
-SDict begin H.S end
- -30 -2687 a -30 -2687 a
-SDict begin 18.2 H.A end
- -30
--2687 a -30 -2687 a
-SDict begin [ /View [/XYZ H.V] /Dest (256) cvn H.B /DEST pdfmark end
- -30 -2687 a 47014 -1636 a FR(Pr)-57
-b(eface)p Black -30 2504 a
-SDict begin H.S end
- -30 2504 a -30 2504 a
-SDict begin 18.2 H.A end
- -30
-2504 a -30 2504 a
-SDict begin [ /View [/XYZ H.V] /Dest (216) cvn H.B /DEST pdfmark end
- -30 2504 a 0 TeXcolorgray -30 3611
-a
-SDict begin H.S end
- -30 3611 a FU(Appendix)387 b(A)7589 3611 y
-SDict begin 18.2 H.L end
- 7589 3611
-a 7589 3611 a
-SDict begin [ /Subtype /Link /Dest (GPL) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 7589 3611 a Black FU(,)g(The)h(GNU)f(General)g(Public)g
-(License)-30 3947 y
-SDict begin H.S end
- -30 3947 a -30 3947 a
-SDict begin 18.2 H.A end
- -30 3947 a
--30 3947 a
-SDict begin [ /View [/XYZ H.V] /Dest (218) cvn H.B /DEST pdfmark end
- -30 3947 a Black Black 3070 6401 a
-SDict begin H.S end
- 3070 6401
-a 3070 6401 a
-SDict begin 18.2 H.A end
- 3070 6401 a 3070 6401 a
-SDict begin [ /View [/XYZ H.V] /Dest (219) cvn H.B /DEST pdfmark end
- 3070 6401 a FU(Describes)358
-b(the)h(license)f(terms)g(under)h(which)g(Slackw)-15
-b(are)358 b(Linux)g(and)g(this)h(book)f(can)h(be)3070
-8415 y(copied)387 b(and)g(distrib)-31 b(uted.)-30 10759
-y
-SDict begin H.S end
- -30 10759 a -30 10759 a
-SDict begin 31.45 H.A end
- -30 10759 a -30 10759 a
-SDict begin [ /View [/XYZ H.V] /Dest (PREFACE-CONV) cvn H.B /DEST pdfmark
-end
- -30
-10759 a 3146 x FN(Con)-107 b(ventions)746 b(used)f(in)g(this)g(book)-30
-15278 y
-SDict begin H.S end
- -30 15278 a -30 15278 a
-SDict begin 18.2 H.A end
- -30 15278 a -30 15278
-a
-SDict begin [ /View [/XYZ H.V] /Dest (221) cvn H.B /DEST pdfmark end
- -30 15278 a 1981 x FU(T)-124 b(o)663 b(pro)-23 b(vide)663
-b(a)h(consistent)e(and)i(easy)f(to)g(read)h(te)-23 b(xt,)663
-b(se)-39 b(v)-23 b(eral)663 b(con)-62 b(v)-23 b(entions)663
-b(are)g(follo)-39 b(wed)-30 19273 y(throughout)386 b(the)i(book.)-30
-21283 y
-SDict begin H.S end
- -30 21283 a -30 21283 a
-SDict begin 26.208 H.A end
- -30 21283 a -30 21283
-a
-SDict begin [ /View [/XYZ H.V] /Dest (PREFACE-CONV-TYPOGRAPHIC) cvn
-H.B /DEST pdfmark end
- -30 21283 a 2565 x FL(T)-134 b(ypographic)618 b(Con)-89
-b(ventions)-30 24345 y
-SDict begin H.S end
- -30 24345 a -30 24345 a
-SDict begin 18.2 H.A end
- -30 24345
-a -30 24345 a
-SDict begin [ /View [/XYZ H.V] /Dest (223) cvn H.B /DEST pdfmark end
- -30 24345 a -30 27010 a
-SDict begin H.S end
- -30 27010 a -30
-27010 a
-SDict begin 18.2 H.A end
- -30 27010 a -30 27010 a
-SDict begin [ /View [/XYZ H.V] /Dest (225) cvn H.B /DEST pdfmark end
- -30 27010 a -30 27010
-a
-SDict begin H.S end
- -30 27010 a -30 27010 a
-SDict begin 18.2 H.A end
- -30 27010 a -30 27010 a
-SDict begin [ /View [/XYZ H.V] /Dest (226) cvn H.B /DEST pdfmark end
- -30
-27010 a 1519 x FR(Italic)-30 28548 y
-SDict begin H.S end
- -30 28548 a -30
-28548 a
-SDict begin 18.2 H.A end
- -30 28548 a -30 28548 a
-SDict begin [ /View [/XYZ H.V] /Dest (227) cvn H.B /DEST pdfmark end
- -30 28548 a Black Black
-3070 31318 a
-SDict begin H.S end
- 3070 31318 a 3070 31318 a
-SDict begin 18.2 H.A end
- 3070 31318 a 3070
-31318 a
-SDict begin [ /View [/XYZ H.V] /Dest (228) cvn H.B /DEST pdfmark end
- 3070 31318 a FU(An)5500 31318 y
-SDict begin H.S end
- 5500 31318 a
-5500 31318 a
-SDict begin 18.2 H.A end
- 5500 31318 a 5500 31318 a
-SDict begin [ /View [/XYZ H.V] /Dest (229) cvn H.B /DEST pdfmark end
- 5500 31318 a FR(italic)536
-b FU(font)h(is)f(used)g(for)h(commands,)f(emphasized)g(te)-23
-b(xt,)537 b(and)g(the)f(\002rst)g(usage)h(of)3070 33333
-y(technical)387 b(terms.)-30 34898 y
-SDict begin H.S end
- -30 34898 a -30
-34898 a
-SDict begin 18.2 H.A end
- -30 34898 a -30 34898 a
-SDict begin [ /View [/XYZ H.V] /Dest (231) cvn H.B /DEST pdfmark end
- -30 34898 a -30 34898
-a
-SDict begin H.S end
- -30 34898 a -30 34898 a
-SDict begin 18.2 H.A end
- -30 34898 a -30 34898 a
-SDict begin [ /View [/XYZ H.V] /Dest (232) cvn H.B /DEST pdfmark end
- -30
-34898 a 1999 x FQ(Monospace)-30 37166 y
-SDict begin H.S end
- -30 37166 a -30
-37166 a
-SDict begin 18.2 H.A end
- -30 37166 a -30 37166 a
-SDict begin [ /View [/XYZ H.V] /Dest (233) cvn H.B /DEST pdfmark end
- -30 37166 a Black Black
-3070 39687 a
-SDict begin H.S end
- 3070 39687 a 3070 39687 a
-SDict begin 18.2 H.A end
- 3070 39687 a 3070
-39687 a
-SDict begin [ /View [/XYZ H.V] /Dest (234) cvn H.B /DEST pdfmark end
- 3070 39687 a FU(A)4496 39687 y
-SDict begin H.S end
- 4496 39687 a 4496
-39687 a
-SDict begin 18.2 H.A end
- 4496 39687 a 4496 39687 a
-SDict begin [ /View [/XYZ H.V] /Dest (235) cvn H.B /DEST pdfmark end
- 4496 39687 a FQ(monospaced)301
-b FU(font)308 b(is)f(used)g(for)h(error)g(messages,)f(commands,)g(en)
--62 b(vironment)307 b(v)-39 b(ariables,)3070 41701 y(names)384
-b(of)h(ports,)g(hostnames,)g(user)g(names,)g(group)f(names,)h(de)-39
-b(vice)386 b(names,)f(v)-39 b(ariables,)3070 43716 y(and)387
-b(code)g(fragments.)-30 45601 y
-SDict begin H.S end
- -30 45601 a -30 45601
-a
-SDict begin 18.2 H.A end
- -30 45601 a -30 45601 a
-SDict begin [ /View [/XYZ H.V] /Dest (237) cvn H.B /DEST pdfmark end
- -30 45601 a -30 45601 a
-SDict begin H.S end
- -30
-45601 a -30 45601 a
-SDict begin 18.2 H.A end
- -30 45601 a -30 45601 a
-SDict begin [ /View [/XYZ H.V] /Dest (238) cvn H.B /DEST pdfmark end
- -30 45601
-a 1679 x FX(Bold)-30 47299 y
-SDict begin H.S end
- -30 47299 a -30 47299 a
-SDict begin 18.2 H.A end
-
--30 47299 a -30 47299 a
-SDict begin [ /View [/XYZ H.V] /Dest (239) cvn H.B /DEST pdfmark end
- -30 47299 a Black Black 3070
-50070 a
-SDict begin H.S end
- 3070 50070 a 3070 50070 a
-SDict begin 18.2 H.A end
- 3070 50070 a 3070 50070
-a
-SDict begin [ /View [/XYZ H.V] /Dest (240) cvn H.B /DEST pdfmark end
- 3070 50070 a FU(A)4576 50070 y
-SDict begin H.S end
- 4576 50070 a 4576 50070
-a
-SDict begin 18.2 H.A end
- 4576 50070 a 4576 50070 a
-SDict begin [ /View [/XYZ H.V] /Dest (241) cvn H.B /DEST pdfmark end
- 4576 50070 a FX(bold)f FU(font)h(is)g(used)
-h(for)f(user)g(input)g(in)g(e)-23 b(xamples.)-30 52079
-y
-SDict begin H.S end
- -30 52079 a -30 52079 a
-SDict begin 26.208 H.A end
- -30 52079 a -30 52079 a
-SDict begin [ /View [/XYZ H.V] /Dest (PREFACE-CONV-COMMANDS) cvn H.B
-/DEST pdfmark end
- -30
-52079 a 2566 x FL(User)620 b(Input)-30 56223 y
-SDict begin H.S end
- -30 56223
-a -30 56223 a
-SDict begin 18.2 H.A end
- -30 56223 a -30 56223 a
-SDict begin [ /View [/XYZ H.V] /Dest (243) cvn H.B /DEST pdfmark end
- -30 56223 a 1552
-x FU(K)-39 b(e)-23 b(ys)587 b(are)g(sho)-39 b(wn)586
-b(in)12546 57775 y
-SDict begin H.S end
- 12546 57775 a 12546 57775 a
-SDict begin 18.2 H.A end
- 12546
-57775 a 12546 57775 a
-SDict begin [ /View [/XYZ H.V] /Dest (244) cvn H.B /DEST pdfmark end
- 12546 57775 a FX(bold)g FU(to)g(stand)h(out)f
-(from)h(other)f(te)-23 b(xt.)587 b(K)-39 b(e)-23 b(y)587
-b(combinations)e(that)i(are)-30 59790 y(meant)387 b(to)g(be)h(typed)f
-(simultaneously)e(are)j(sho)-39 b(wn)387 b(with)g(`)31526
-59790 y
-SDict begin H.S end
- 31526 59790 a 31526 59790 a
-SDict begin 18.2 H.A end
- 31526 59790 a 31526
-59790 a
-SDict begin [ /View [/XYZ H.V] /Dest (245) cvn H.B /DEST pdfmark end
- 31526 59790 a FP(+)p FU(')g(between)g(the)g(k)-15
-b(e)-23 b(ys,)387 b(such)g(as:)-30 60900 y
-SDict begin H.S end
- -30 60900
-a -30 60900 a
-SDict begin 18.2 H.A end
- -30 60900 a -30 60900 a
-SDict begin [ /View [/XYZ H.V] /Dest (246) cvn H.B /DEST pdfmark end
- -30 60900 a -30
-60900 a
-SDict begin H.S end
- -30 60900 a -30 60900 a
-SDict begin 18.2 H.A end
- -30 60900 a -30 60900
-a
-SDict begin [ /View [/XYZ H.V] /Dest (247) cvn H.B /DEST pdfmark end
- -30 60900 a -30 60900 a
-SDict begin H.S end
- -30 60900 a -30 60900 a
-SDict begin 18.2 H.A end
- -30
-60900 a -30 60900 a
-SDict begin [ /View [/XYZ H.V] /Dest (248) cvn H.B /DEST pdfmark end
- -30 60900 a 1680 x FX(Ctrl)p FU(+)3598
-62580 y
-SDict begin H.S end
- 3598 62580 a 3598 62580 a
-SDict begin 18.2 H.A end
- 3598 62580 a 3598 62580
-a
-SDict begin [ /View [/XYZ H.V] /Dest (249) cvn H.B /DEST pdfmark end
- 3598 62580 a FX(Alt)p FU(+)6538 62580 y
-SDict begin H.S end
- 6538 62580
-a 6538 62580 a
-SDict begin 18.2 H.A end
- 6538 62580 a 6538 62580 a
-SDict begin [ /View [/XYZ H.V] /Dest (250) cvn H.B /DEST pdfmark end
- 6538 62580 a
-FX(Del)-30 63373 y
-SDict begin H.S end
- -30 63373 a -30 63373 a
-SDict begin 18.2 H.A end
- -30 63373
-a -30 63373 a
-SDict begin [ /View [/XYZ H.V] /Dest (251) cvn H.B /DEST pdfmark end
- -30 63373 a 1996 x FU(Meaning)g(the)g(user)g(should)g
-(type)g(the)20975 65369 y
-SDict begin H.S end
- 20975 65369 a 20975 65369 a
-SDict begin 18.2 H.A end
-
-20975 65369 a 20975 65369 a
-SDict begin [ /View [/XYZ H.V] /Dest (252) cvn H.B /DEST pdfmark end
- 20975 65369 a FX(Ctrl)p FU(,)24504
-65369 y
-SDict begin H.S end
- 24504 65369 a 24504 65369 a
-SDict begin 18.2 H.A end
- 24504 65369 a 24504
-65369 a
-SDict begin [ /View [/XYZ H.V] /Dest (253) cvn H.B /DEST pdfmark end
- 24504 65369 a FX(Alt)p FU(,)h(and)29970 65369
-y
-SDict begin H.S end
- 29970 65369 a 29970 65369 a
-SDict begin 18.2 H.A end
- 29970 65369 a 29970 65369
-a
-SDict begin [ /View [/XYZ H.V] /Dest (254) cvn H.B /DEST pdfmark end
- 29970 65369 a FX(Del)f FU(k)-15 b(e)-23 b(ys)386 b(at)i(the)f(same)g
-(time.)p Black 49964 73792 a FR(xix)p Black eop end
-%%Page: 20 20
-TeXDict begin 20 19 bop -8000 -8000 a
-SDict begin /product where{pop product(Distiller)search{pop pop pop
-version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
-closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
-grestore}if}{pop}ifelse}{pop}ifelse}if end
- -8000 -8000 a Black
-0 TeXcolorgray -30 -1237 a
-SDict begin H.S end
- -30 -1237 a 0 TeXcolorgray
-0 TeXcolorgray -30 -1237 a
-SDict begin H.R end
- -30 -1237 a -30 -1237 a
-SDict begin [ /View [/XYZ H.V] /Dest (page.20) cvn H.B /DEST pdfmark
-end
- -30
--1237 a Black -399 x FR(Pr)-57 b(eface)p Black -30 2504
-a
-SDict begin H.S end
- -30 2504 a -30 2504 a
-SDict begin 18.2 H.A end
- -30 2504 a -30 2504 a
-SDict begin [ /View [/XYZ H.V] /Dest (255) cvn H.B /DEST pdfmark end
- -30 2504
-a 1107 x FU(K)-39 b(e)-23 b(ys)560 b(that)f(are)i(meant)e(to)h(be)g
-(typed)f(in)h(sequence)g(will)f(be)h(separated)g(with)f(commas,)h(for)
--30 5626 y(e)-23 b(xample:)-30 8415 y FX(Ctrl)p FU(+)3598
-8415 y
-SDict begin H.S end
- 3598 8415 a 3598 8415 a
-SDict begin 18.2 H.A end
- 3598 8415 a 3598 8415
-a
-SDict begin [ /View [/XYZ H.V] /Dest (259) cvn H.B /DEST pdfmark end
- 3598 8415 a FX(X)p FU(,)5492 8415 y
-SDict begin H.S end
- 5492 8415 a 5492
-8415 a
-SDict begin 18.2 H.A end
- 5492 8415 a 5492 8415 a
-SDict begin [ /View [/XYZ H.V] /Dest (260) cvn H.B /DEST pdfmark end
- 5492 8415 a 5492 8415
-a
-SDict begin H.S end
- 5492 8415 a 5492 8415 a
-SDict begin 18.2 H.A end
- 5492 8415 a 5492 8415 a
-SDict begin [ /View [/XYZ H.V] /Dest (261) cvn H.B /DEST pdfmark end
- 5492
-8415 a FX(Ctrl)p FU(+)9120 8415 y
-SDict begin H.S end
- 9120 8415 a 9120 8415
-a
-SDict begin 18.2 H.A end
- 9120 8415 a 9120 8415 a
-SDict begin [ /View [/XYZ H.V] /Dest (262) cvn H.B /DEST pdfmark end
- 9120 8415 a FX(S)-30 9414 y
-SDict begin H.S end
-
--30 9414 a -30 9414 a
-SDict begin 18.2 H.A end
- -30 9414 a -30 9414 a
-SDict begin [ /View [/XYZ H.V] /Dest (263) cvn H.B /DEST pdfmark end
- -30 9414
-a 1791 x FU(W)-124 b(ould)497 b(mean)h(that)g(the)f(user)h(is)f(e)-23
-b(xpected)498 b(to)f(type)h(the)31487 11205 y
-SDict begin H.S end
- 31487 11205
-a 31487 11205 a
-SDict begin 18.2 H.A end
- 31487 11205 a 31487 11205 a
-SDict begin [ /View [/XYZ H.V] /Dest (264) cvn H.B /DEST pdfmark end
- 31487 11205
-a FX(Ctrl)f FU(and)37474 11205 y
-SDict begin H.S end
- 37474 11205 a 37474
-11205 a
-SDict begin 18.2 H.A end
- 37474 11205 a 37474 11205 a
-SDict begin [ /View [/XYZ H.V] /Dest (265) cvn H.B /DEST pdfmark end
- 37474 11205 a FX(X)h
-FU(k)-15 b(e)-23 b(ys)497 b(simultaneously)-30 13220
-y(and)387 b(then)g(to)h(type)f(the)12582 13220 y
-SDict begin H.S end
- 12582
-13220 a 12582 13220 a
-SDict begin 18.2 H.A end
- 12582 13220 a 12582 13220 a
-SDict begin [ /View [/XYZ H.V] /Dest (266) cvn H.B /DEST pdfmark end
- 12582
-13220 a FX(Ctrl)g FU(and)18348 13220 y
-SDict begin H.S end
- 18348 13220 a
-18348 13220 a
-SDict begin 18.2 H.A end
- 18348 13220 a 18348 13220 a
-SDict begin [ /View [/XYZ H.V] /Dest (267) cvn H.B /DEST pdfmark end
- 18348 13220
-a FX(S)g FU(k)-15 b(e)-23 b(ys)387 b(simultaneously)-101
-b(.)-30 15229 y
-SDict begin H.S end
- -30 15229 a -30 15229 a
-SDict begin 26.208 H.A end
- -30 15229 a -30
-15229 a
-SDict begin [ /View [/XYZ H.V] /Dest (PREFACE-CONV-EXAMPLES) cvn H.B
-/DEST pdfmark end
- -30 15229 a 2565 x FL(Examples)-30 19372 y
-SDict begin H.S end
- -30
-19372 a -30 19372 a
-SDict begin 18.2 H.A end
- -30 19372 a -30 19372 a
-SDict begin [ /View [/XYZ H.V] /Dest (269) cvn H.B /DEST pdfmark end
- -30 19372
-a 1553 x FU(Examples)637 b(starting)h(with)15402 20925
-y
-SDict begin H.S end
- 15402 20925 a 15402 20925 a
-SDict begin 18.2 H.A end
- 15402 20925 a 15402 20925
-a
-SDict begin [ /View [/XYZ H.V] /Dest (270) cvn H.B /DEST pdfmark end
- 15402 20925 a FP(E:\\)p FK(>)f FU(indicate)h(a)26085
-20925 y
-SDict begin H.S end
- 26085 20925 a 26085 20925 a
-SDict begin 18.2 H.A end
- 26085 20925 a 26085
-20925 a
-SDict begin [ /View [/XYZ H.V] /Dest (271) cvn H.B /DEST pdfmark end
- 26085 20925 a FU(MS-DOS\256)f(command.)h(Unless)g(otherwise)-30
-22940 y(noted,)566 b(these)f(commands)g(may)g(be)h(e)-23
-b(x)g(ecuted)565 b(from)h(a)31520 22940 y
-SDict begin H.S end
- 31520 22940
-a 31520 22940 a
-SDict begin 18.2 H.A end
- 31520 22940 a 31520 22940 a
-SDict begin [ /View [/XYZ H.V] /Dest (272) cvn H.B /DEST pdfmark end
- 31520 22940
-a FU(\223Command)f(Prompt\224)g(windo)-39 b(w)565 b(in)-30
-24954 y(a)388 b(modern)6167 24954 y
-SDict begin H.S end
- 6167 24954 a 6167
-24954 a
-SDict begin 18.2 H.A end
- 6167 24954 a 6167 24954 a
-SDict begin [ /View [/XYZ H.V] /Dest (273) cvn H.B /DEST pdfmark end
- 6167 24954 a FU(Microsoft\256)13845
-24954 y
-SDict begin H.S end
- 13845 24954 a 13845 24954 a
-SDict begin 18.2 H.A end
- 13845 24954 a 13845
-24954 a
-SDict begin [ /View [/XYZ H.V] /Dest (274) cvn H.B /DEST pdfmark end
- 13845 24954 a FU(W)-62 b(indo)-39 b(ws\256)386
-b(en)-62 b(vironment.)-30 26525 y
-SDict begin H.S end
- -30 26525 a -30 26525
-a
-SDict begin 14.56 H.A end
- -30 26525 a -30 26525 a
-SDict begin [ /View [/XYZ H.V] /Dest (275) cvn H.B /DEST pdfmark end
- -30 26525 a -30 26525 a
-SDict begin H.S end
- -30
-26525 a -30 26525 a
-SDict begin 14.56 H.A end
- -30 26525 a -30 26525 a
-SDict begin [ /View [/XYZ H.V] /Dest (276) cvn H.B /DEST pdfmark end
- -30 26525
-a 1591 x FJ(D:\\)p FI(>)3296 28116 y
-SDict begin H.S end
- 3296 28116 a 3296
-28116 a
-SDict begin 14.56 H.A end
- 3296 28116 a 3296 28116 a
-SDict begin [ /View [/XYZ H.V] /Dest (277) cvn H.B /DEST pdfmark end
- 3296 28116 a FH(rawrite)743
-b(a:)g(bare.i)-30 29744 y
-SDict begin H.S end
- -30 29744 a -30 29744 a
-SDict begin 18.2 H.A end
- -30
-29744 a -30 29744 a
-SDict begin [ /View [/XYZ H.V] /Dest (278) cvn H.B /DEST pdfmark end
- -30 29744 a 1936 x FU(Examples)386
-b(starting)g(with)14647 31680 y
-SDict begin H.S end
- 14647 31680 a 14647 31680
-a
-SDict begin 18.2 H.A end
- 14647 31680 a 14647 31680 a
-SDict begin [ /View [/XYZ H.V] /Dest (279) cvn H.B /DEST pdfmark end
- 14647 31680 a FP(#)h FU(indicate)f(a)h
-(command)f(that)h(must)f(be)g(in)-62 b(v)-31 b(ok)-15
-b(ed)386 b(as)h(the)f(superuser)-30 33695 y(in)427 b(Slackw)-15
-b(are.)426 b(Y)-170 b(ou)426 b(can)i(login)e(as)19691
-33695 y
-SDict begin H.S end
- 19691 33695 a 19691 33695 a
-SDict begin 18.2 H.A end
- 19691 33695 a 19691
-33695 a
-SDict begin [ /View [/XYZ H.V] /Dest (280) cvn H.B /DEST pdfmark end
- 19691 33695 a FP(root)g FU(to)h(type)f(the)h(command,)g(or)g
-(login)f(as)h(your)f(normal)-30 35709 y(account)387 b(and)g(use)10256
-35709 y
-SDict begin H.S end
- 10256 35709 a 10256 35709 a
-SDict begin 18.2 H.A end
- 10256 35709 a 10256
-35709 a
-SDict begin [ /View [/XYZ H.V] /Dest (281) cvn H.B /DEST pdfmark end
- 10256 35709 a 10256 35709 a
-SDict begin H.S end
- 10256 35709 a 10256
-35709 a
-SDict begin 18.2 H.A end
- 10256 35709 a 10256 35709 a
-SDict begin [ /View [/XYZ H.V] /Dest (282) cvn H.B /DEST pdfmark end
- 10256 35709 a FU(su\(1\))g(to)g(g)
--8 b(ain)387 b(superuser)g(pri)-39 b(vile)-23 b(ges.)-30
-37595 y
-SDict begin H.S end
- -30 37595 a -30 37595 a
-SDict begin 14.56 H.A end
- -30 37595 a -30 37595
-a
-SDict begin [ /View [/XYZ H.V] /Dest (284) cvn H.B /DEST pdfmark end
- -30 37595 a -30 37595 a
-SDict begin H.S end
- -30 37595 a -30 37595 a
-SDict begin 14.56 H.A end
- -30
-37595 a -30 37595 a
-SDict begin [ /View [/XYZ H.V] /Dest (285) cvn H.B /DEST pdfmark end
- -30 37595 a 1276 x FJ(#)1309 38871
-y
-SDict begin H.S end
- 1309 38871 a 1309 38871 a
-SDict begin 14.56 H.A end
- 1309 38871 a 1309 38871 a
-SDict begin [ /View [/XYZ H.V] /Dest (286) cvn H.B /DEST pdfmark end
-
-1309 38871 a FH(dd)744 b(if=bare.i)e(of=/dev/fd0)-30
-40512 y
-SDict begin H.S end
- -30 40512 a -30 40512 a
-SDict begin 18.2 H.A end
- -30 40512 a -30 40512
-a
-SDict begin [ /View [/XYZ H.V] /Dest (287) cvn H.B /DEST pdfmark end
- -30 40512 a 1923 x FU(Examples)379 b(starting)h(with)14627
-42435 y
-SDict begin H.S end
- 14627 42435 a 14627 42435 a
-SDict begin 18.2 H.A end
- 14627 42435 a 14627
-42435 a
-SDict begin [ /View [/XYZ H.V] /Dest (288) cvn H.B /DEST pdfmark end
- 14627 42435 a FP(\045)g FU(indicate)g(a)g(command)f(that)h
-(should)f(be)h(in)-62 b(v)-31 b(ok)-15 b(ed)379 b(from)h(a)g(normal)-30
-44450 y(user)348 b(account.)h(Unless)f(otherwise)f(noted,)i(C-shell)e
-(syntax)h(is)g(used)g(for)g(setting)g(en)-62 b(vironment)-30
-46465 y(v)-39 b(ariables)387 b(and)h(other)f(shell)g(commands.)-30
-48030 y
-SDict begin H.S end
- -30 48030 a -30 48030 a
-SDict begin 14.56 H.A end
- -30 48030 a -30 48030
-a
-SDict begin [ /View [/XYZ H.V] /Dest (289) cvn H.B /DEST pdfmark end
- -30 48030 a -30 48030 a
-SDict begin H.S end
- -30 48030 a -30 48030 a
-SDict begin 14.56 H.A end
- -30
-48030 a -30 48030 a
-SDict begin [ /View [/XYZ H.V] /Dest (290) cvn H.B /DEST pdfmark end
- -30 48030 a 1596 x FJ(\045)1309 49626
-y
-SDict begin H.S end
- 1309 49626 a 1309 49626 a
-SDict begin 14.56 H.A end
- 1309 49626 a 1309 49626 a
-SDict begin [ /View [/XYZ H.V] /Dest (291) cvn H.B /DEST pdfmark end
-
-1309 49626 a FH(top)-30 51803 y
-SDict begin H.S end
- -30 51803 a -30 51803
-a
-SDict begin 31.45 H.A end
- -30 51803 a -30 51803 a
-SDict begin [ /View [/XYZ H.V] /Dest (PREFACE-ACKNOWLEDGEMENTS) cvn
-H.B /DEST pdfmark end
- -30 51803 a 3313 x FN(Ac)-54
-b(kno)-40 b(wledgments)-30 57051 y
-SDict begin H.S end
- -30 57051 a -30 57051
-a
-SDict begin 18.2 H.A end
- -30 57051 a -30 57051 a
-SDict begin [ /View [/XYZ H.V] /Dest (293) cvn H.B /DEST pdfmark end
- -30 57051 a 1419 x FU(This)417
-b(project)g(is)g(the)g(accumulation)f(of)i(months)e(of)h(w)-15
-b(ork)417 b(by)g(man)-23 b(y)417 b(dedicated)g(indi)-39
-b(viduals.)-30 60484 y(It)334 b(w)-15 b(ould)332 b(not)i(ha)-31
-b(v)-23 b(e)333 b(been)h(possible)e(for)i(me)g(to)f(produce)h(this)f(w)
--15 b(ork)333 b(in)g(a)h(v)-39 b(acuum.)334 b(Man)-23
-b(y)333 b(peo-)-30 62499 y(ple)462 b(deserv)-23 b(e)462
-b(our)g(thanks)g(for)g(their)h(sel\003ess)e(acts:)h(K)-39
-b(eith)462 b(K)-39 b(eller)462 b(for)h(his)f(w)-15 b(ork)461
-b(on)h(wireless)-30 64514 y(netw)-15 b(orking,)419 b(Joost)h(Kremers)f
-(for)h(his)g(great)g(w)-15 b(ork)419 b(in)h(single-handedly)f(writing)g
-(the)h(emacs)-30 66528 y(section,)411 b(Simon)g(W)-62
-b(illiams)410 b(for)h(the)g(security)g(chapter)-62 b(,)412
-b(Jur)-28 b(gen)411 b(Phillippaerts)f(for)h(basic)g(net-)p
-Black -30 73792 a FR(xx)p Black eop end
-%%Page: 21 21
-TeXDict begin 21 20 bop -8000 -8000 a
-SDict begin /product where{pop product(Distiller)search{pop pop pop
-version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
-closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
-grestore}if}{pop}ifelse}{pop}ifelse}if end
- -8000 -8000 a Black
-0 TeXcolorgray -30 -1237 a
-SDict begin H.S end
- -30 -1237 a 0 TeXcolorgray
-0 TeXcolorgray -30 -1237 a
-SDict begin H.R end
- -30 -1237 a -30 -1237 a
-SDict begin [ /View [/XYZ H.V] /Dest (page.21) cvn H.B /DEST pdfmark
-end
- -30
--1237 a Black 47014 -1636 a FR(Pr)-57 b(eface)p Black
--30 3611 a FU(w)-15 b(orking)450 b(commands,)h(Cibao)g(Cu)g(Ali)g(G)h
-(Colibri)e(for)i(the)f(inspiration)f(and)h(a)h(good)f(kick)g(in)-30
-5626 y(the)528 b(pants.)g(Countless)f(others)h(ha)-31
-b(v)-23 b(e)528 b(sent)g(in)g(suggestions)f(and)h(\002x)-23
-b(es.)528 b(An)g(incomplete)g(list)-30 7640 y(includes:)434
-b(Jacob)h(Anhoej,)g(John)f(Y)-155 b(ast,)435 b(Sally)g(W)-124
-b(elch,)435 b(Mor)-28 b(g)-8 b(an)435 b(Landry)-101 b(,)435
-b(and)g(Charlie)f(La)-23 b(w)-101 b(.)-30 9655 y(I')-77
-b(d)361 b(also)h(lik)-15 b(e)361 b(to)g(thank)h(K)-39
-b(eith)361 b(K)-39 b(eller)362 b(for)g(hosting)f(the)h(mailing)e(list)i
-(for)f(this)h(project,)f(as)h(well)-30 11670 y(as)411
-b(Carl)h(Inglis)e(for)i(the)f(initial)f(web)i(hosting.)f(Last)g(b)-31
-b(ut)411 b(not)g(least,)g(I')-77 b(d)411 b(lik)-15 b(e)411
-b(to)g(thank)g(P)-23 b(atrick)-30 13684 y(J.)477 b(V)-200
-b(olk)-15 b(erding)476 b(for)h(Slackw)-15 b(are)476 b(Linux,)g(and)h
-(Da)-31 b(vid)476 b(Cantrell,)h(Log)-8 b(an)477 b(Johnson,)f(and)h
-(Chris)-30 15699 y(Lumens)329 b(for)h(Slackw)-15 b(are)329
-b(Linux)g(Essentials)g(1st)g(Edition.)g(W)-62 b(ithout)329
-b(their)g(initial)g(frame)-39 b(w)-15 b(ork,)-30 17714
-y(none)424 b(of)h(this)f(w)-15 b(ould)423 b(ha)-31 b(v)-23
-b(e)425 b(e)-39 b(v)-23 b(er)424 b(happened.)h(Man)-23
-b(y)424 b(others)g(ha)-31 b(v)-23 b(e)424 b(contrib)-31
-b(uted)424 b(in)g(small)g(and)-30 19728 y(lar)-28 b(ge)394
-b(w)-15 b(ays)393 b(to)h(this)f(project)g(and)h(ha)-31
-b(v)-23 b(e)394 b(not)f(been)h(listed.)f(I)h(hope)g(the)-23
-b(y)393 b(will)h(for)-28 b(gi)-39 b(v)-23 b(e)393 b(me)h(for)g(a)-30
-21743 y(poor)387 b(memory)-101 b(.)-30 22853 y
-SDict begin H.S end
- -30 22853
-a -30 22853 a
-SDict begin 18.2 H.A end
- -30 22853 a -30 22853 a
-SDict begin [ /View [/XYZ H.V] /Dest (294) cvn H.B /DEST pdfmark end
- -30 22853 a 1680
-x FU(Alan)387 b(Hicks,)h(May)f(2005)p Black 49969 73792
-a FR(xxi)p Black eop end
-%%Page: 22 22
-TeXDict begin 22 21 bop -8000 -8000 a
-SDict begin /product where{pop product(Distiller)search{pop pop pop
-version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
-closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
-grestore}if}{pop}ifelse}{pop}ifelse}if end
- -8000 -8000 a Black
-0 TeXcolorgray -30 -1237 a
-SDict begin H.S end
- -30 -1237 a 0 TeXcolorgray
-0 TeXcolorgray -30 -1237 a
-SDict begin H.R end
- -30 -1237 a -30 -1237 a
-SDict begin [ /View [/XYZ H.V] /Dest (page.22) cvn H.B /DEST pdfmark
-end
- -30
--1237 a Black -399 x FR(Pr)-57 b(eface)p Black Black
--30 73792 a(xxii)p Black eop end
-%%Page: 1 23
-TeXDict begin 1 22 bop -8000 -8000 a
-SDict begin /product where{pop product(Distiller)search{pop pop pop
-version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
-closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
-grestore}if}{pop}ifelse}{pop}ifelse}if end
- -8000 -8000 a Black
-0 TeXcolorgray -30 -1358 a
-SDict begin H.S end
- -30 -1358 a 0 TeXcolorgray
-0 TeXcolorgray -30 -1358 a
-SDict begin H.R end
- -30 -1358 a -30 -1358 a
-SDict begin [ /View [/XYZ H.V] /Dest (page.1) cvn H.B /DEST pdfmark
-end
- -30
--1358 a Black Black -30 2383 a
-SDict begin H.S end
- -30 2383 a -30 2383 a
-SDict begin 18.2 H.A end
-
--30 2383 a -30 2383 a
-SDict begin [ /View [/XYZ H.V] /Dest (INTRODUCTION) cvn H.B /DEST pdfmark
-end
- -30 2383 a 2345 x FS(Chapter)894
-b(1)-30 10743 y FO(An)1287 b(Intr)-93 b(oduction)1289
-b(to)-30 16759 y(Slac)-93 b(kware)1287 b(Lin)-46 b(ux)p
--30 24332 51806 56 v -30 24332 a
-SDict begin H.S end
- -30 24332 a -30 24332
-a
-SDict begin 18.2 H.A end
- -30 24332 a -30 24332 a
-SDict begin [ /View [/XYZ H.V] /Dest (INTRODUCTION-LINUX) cvn H.B /DEST
-pdfmark end
- -30 24332 a 4852 x FL(1.1)620
-b(What)g(is)g(Lin)-22 b(ux?)-30 29212 y
-SDict begin H.S end
- -30 29212 a -30
-29212 a
-SDict begin 18.2 H.A end
- -30 29212 a -30 29212 a
-SDict begin [ /View [/XYZ H.V] /Dest (299) cvn H.B /DEST pdfmark end
- -30 29212 a -30 29212
-a
-SDict begin H.S end
- -30 29212 a -30 29212 a
-SDict begin 18.2 H.A end
- -30 29212 a -30 29212 a
-SDict begin [ /View [/XYZ H.V] /Dest (301) cvn H.B /DEST pdfmark end
- -30
-29212 a -30 29212 a
-SDict begin H.S end
- -30 29212 a -30 29212 a
-SDict begin 18.2 H.A end
- -30 29212
-a -30 29212 a
-SDict begin [ /View [/XYZ H.V] /Dest (303) cvn H.B /DEST pdfmark end
- -30 29212 a -30 29212 a
-SDict begin H.S end
- -30 29212 a -30
-29212 a
-SDict begin 18.2 H.A end
- -30 29212 a -30 29212 a
-SDict begin [ /View [/XYZ H.V] /Dest (305) cvn H.B /DEST pdfmark end
- -30 29212 a -30 29212
-a
-SDict begin H.S end
- -30 29212 a -30 29212 a
-SDict begin 18.2 H.A end
- -30 29212 a -30 29212 a
-SDict begin [ /View [/XYZ H.V] /Dest (307) cvn H.B /DEST pdfmark end
- -30
-29212 a -30 29212 a
-SDict begin H.S end
- -30 29212 a -30 29212 a
-SDict begin 18.2 H.A end
- -30 29212
-a -30 29212 a
-SDict begin [ /View [/XYZ H.V] /Dest (309) cvn H.B /DEST pdfmark end
- -30 29212 a -30 30327 a
-SDict begin H.S end
- -30 30327 a -30
-30327 a
-SDict begin 18.2 H.A end
- -30 30327 a -30 30327 a
-SDict begin [ /View [/XYZ H.V] /Dest (311) cvn H.B /DEST pdfmark end
- -30 30327 a 1987 x FU(Linus)508
-b(T)-124 b(orv)-39 b(alds)508 b(started)g(Linux,)h(an)f(operating)g
-(system)g(k)-15 b(ernel,)508 b(as)g(a)h(personal)f(project)g(in)-30
-34329 y(1991.)454 b(He)g(started)f(the)h(project)g(because)f(he)h(w)-15
-b(anted)453 b(to)h(run)g(a)g(Unix-based)f(operating)g(sys-)-30
-36343 y(tem)541 b(without)g(spending)g(a)h(lot)f(of)h(mone)-23
-b(y)-101 b(.)542 b(In)f(addition,)g(he)h(w)-15 b(anted)541
-b(to)h(learn)f(the)h(ins)f(and)-30 38358 y(outs)521 b(of)g(the)g(386)h
-(processor)-85 b(.)521 b(Linux)f(w)-15 b(as)521 b(released)g(free)h(of)
-g(char)-28 b(ge)521 b(to)g(the)g(public)g(so)g(that)-30
-40373 y(an)-23 b(yone)526 b(could)h(study)f(it)g(and)g(mak)-15
-b(e)526 b(impro)-23 b(v)g(ements)525 b(under)i(the)f(General)h(Public)f
-(License.)-30 42387 y(\(See)p 0 TeXcolorgray 3226 42387
-a
-SDict begin H.S end
- 3226 42387 a FU(Section)387 b(1.3)10200 42387 y
-SDict begin 18.2 H.L end
- 10200
-42387 a 10200 42387 a
-SDict begin [ /Subtype /Link /Dest (INTRODUCTION-OPENSOURCE) cvn /H
-/I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 10200 42387 a Black 503 w FU(and)p
-0 TeXcolorgray 13443 42387 a
-SDict begin H.S end
- 13443 42387 a FU(Appendix)g(A)21062
-42387 y
-SDict begin 18.2 H.L end
- 21062 42387 a 21062 42387 a
-SDict begin [ /Subtype /Link /Dest (GPL) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 21062 42387 a Black
-502 w FU(for)503 b(an)f(e)-23 b(xplanation)501 b(of)i(the)f(license.\))
-h(T)-124 b(oday)-101 b(,)503 b(Linux)-30 44402 y(has)528
-b(gro)-39 b(wn)529 b(into)f(a)g(major)g(player)h(in)f(the)g(operating)g
-(system)g(mark)-15 b(et.)528 b(It)g(has)h(been)f(ported)-30
-46417 y(to)541 b(run)h(on)f(a)h(v)-39 b(ariety)542 b(of)f(system)g
-(architectures,)h(including)e(HP/Compaq')-85 b(s)540
-b(Alpha,)i(Sun')-85 b(s)-30 48431 y(SP)-143 b(ARC)525
-b(and)h(UltraSP)-143 b(ARC,)525 b(and)h(Motorola')-85
-b(s)525 b(Po)-39 b(werPC)525 b(chips)g(\(through)h(Apple)f(Macin-)-30
-50446 y(tosh)385 b(and)g(IBM)h(RS/6000)e(computers.\))h(Hundreds,)g(if)
-h(not)f(thousands,)g(of)g(programmers)g(all)-30 52461
-y(o)-23 b(v)g(er)555 b(the)g(w)-15 b(orld)554 b(no)-39
-b(w)555 b(de)-39 b(v)-23 b(elop)555 b(Linux.)f(It)i(runs)e(programs)h
-(lik)-15 b(e)554 b(Sendmail,)h(Apache,)g(and)-30 54475
-y(BIND,)456 b(which)g(are)g(v)-23 b(ery)456 b(popular)g(softw)-15
-b(are)455 b(used)h(to)f(run)h(Internet)g(serv)-23 b(ers.)456
-b(It')-85 b(s)456 b(important)-30 56490 y(to)490 b(remember)f(that)h
-(the)g(term)16967 56490 y
-SDict begin H.S end
- 16967 56490 a 16967 56490 a
-SDict begin 18.2 H.A end
-
-16967 56490 a 16967 56490 a
-SDict begin [ /View [/XYZ H.V] /Dest (314) cvn H.B /DEST pdfmark end
- 16967 56490 a FU(\223Linux\224)g(really)g
-(refers)g(to)f(the)h(k)-15 b(ernel)489 b(-)h(the)g(core)g(of)g(the)g
-(op-)-30 58505 y(erating)469 b(system.)g(This)g(core)g(is)g
-(responsible)g(for)g(controlling)f(your)h(computer')-85
-b(s)469 b(processor)-62 b(,)-30 60519 y(memory)-101 b(,)518
-b(hard)g(dri)-39 b(v)-23 b(es,)518 b(and)g(peripherals.)g(That')-85
-b(s)517 b(all)h(Linux)f(really)h(does:)f(It)h(controls)f(the)-30
-62534 y(operations)358 b(of)g(your)h(computer)e(and)i(mak)-15
-b(es)358 b(sure)g(that)g(all)g(of)h(its)f(programs)g(beha)-31
-b(v)-23 b(e.)358 b(V)-172 b(arious)-30 64549 y(companies)355
-b(and)g(indi)-39 b(viduals)355 b(b)-31 b(undle)355 b(the)g(k)-15
-b(ernel)355 b(and)g(v)-39 b(arious)355 b(programs)g(together)g(to)h
-(mak)-15 b(e)-30 66563 y(an)387 b(operating)g(system.)g(W)-124
-b(e)388 b(call)f(each)g(b)-31 b(undle)387 b(a)h(Linux)f(distrib)-31
-b(ution.)-30 66899 y
-SDict begin H.S end
- -30 66899 a -30 66899 a
-SDict begin 18.2 H.A end
- -30 66899
-a -30 66899 a
-SDict begin [ /View [/XYZ H.V] /Dest (INTRODUCTION-LINUX-GNU) cvn H.B
-/DEST pdfmark end
- -30 66899 a Black 51001 73672 a FR(1)p
-Black eop end
-%%Page: 2 24
-TeXDict begin 2 23 bop -8000 -8000 a
-SDict begin /product where{pop product(Distiller)search{pop pop pop
-version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
-closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
-grestore}if}{pop}ifelse}{pop}ifelse}if end
- -8000 -8000 a Black
-0 TeXcolorgray -30 -1358 a
-SDict begin H.S end
- -30 -1358 a 0 TeXcolorgray
-0 TeXcolorgray -30 -1358 a
-SDict begin H.R end
- -30 -1358 a -30 -1358 a
-SDict begin [ /View [/XYZ H.V] /Dest (page.2) cvn H.B /DEST pdfmark
-end
- -30
--1358 a Black -278 x FR(Chapter)387 b(1)g(An)g(Intr)-70
-b(oduction)386 b(to)i(Slac)-31 b(kwar)-57 b(e)386 b(Linux)p
-Black -30 3740 a FG(A)517 b(W)-112 b(or)-37 b(d)517 b(on)h(GNU)-30
-3763 y
-SDict begin H.S end
- -30 3763 a -30 3763 a
-SDict begin 18.2 H.A end
- -30 3763 a -30 3763 a
-SDict begin [ /View [/XYZ H.V] /Dest (317) cvn H.B /DEST pdfmark end
- -30
-3763 a -30 3763 a
-SDict begin H.S end
- -30 3763 a -30 3763 a
-SDict begin 18.2 H.A end
- -30 3763 a -30
-3763 a
-SDict begin [ /View [/XYZ H.V] /Dest (319) cvn H.B /DEST pdfmark end
- -30 3763 a -30 3763 a
-SDict begin H.S end
- -30 3763 a -30 3763 a
-SDict begin 18.2 H.A end
- -30
-3763 a -30 3763 a
-SDict begin [ /View [/XYZ H.V] /Dest (321) cvn H.B /DEST pdfmark end
- -30 3763 a -30 3763 a
-SDict begin H.S end
- -30 3763 a -30
-3763 a
-SDict begin 18.2 H.A end
- -30 3763 a -30 3763 a
-SDict begin [ /View [/XYZ H.V] /Dest (323) cvn H.B /DEST pdfmark end
- -30 3763 a -30 3763 a
-SDict begin H.S end
- -30
-3763 a -30 3763 a
-SDict begin 18.2 H.A end
- -30 3763 a -30 3763 a
-SDict begin [ /View [/XYZ H.V] /Dest (325) cvn H.B /DEST pdfmark end
- -30 3763 a -30
-4693 a
-SDict begin H.S end
- -30 4693 a -30 4693 a
-SDict begin 18.2 H.A end
- -30 4693 a -30 4693 a
-SDict begin [ /View [/XYZ H.V] /Dest (327) cvn H.B /DEST pdfmark end
- -30
-4693 a 1991 x FU(The)355 b(Linux)f(k)-15 b(ernel)354
-b(project)h(be)-23 b(g)-8 b(an)354 b(as)h(a)g(solo)f(endea)-31
-b(v)g(or)355 b(by)g(Linus)f(T)-124 b(orv)-39 b(alds)354
-b(in)h(1991,)f(b)-31 b(ut)355 b(as)-30 8699 y(Isaac)386
-b(Ne)-39 b(wton)385 b(once)h(said,)15373 8699 y
-SDict begin H.S end
- 15373
-8699 a 15373 8699 a
-SDict begin 18.2 H.A end
- 15373 8699 a 15373 8699 a
-SDict begin [ /View [/XYZ H.V] /Dest (328) cvn H.B /DEST pdfmark end
- 15373 8699
-a FU(\223If)g(I)g(ha)-31 b(v)-23 b(e)385 b(seen)g(further)-62
-b(,)386 b(it)f(is)h(by)f(standing)g(on)g(the)g(shoulders)g(of)-30
-10714 y(giants.\224)324 b(When)g(Linus)g(T)-124 b(orv)-39
-b(alds)324 b(be)-23 b(g)-8 b(an)324 b(the)g(k)-15 b(ernel)324
-b(the)g(Free)h(Softw)-15 b(are)323 b(F)-23 b(oundation)323
-b(had)h(al-)-30 12728 y(ready)380 b(established)e(the)h(idea)h(of)f
-(collaborati)-39 b(v)-23 b(e)379 b(softw)-15 b(are.)379
-b(The)-23 b(y)379 b(entitled)g(their)g(ef)-39 b(fort)380
-b(GNU,)-30 14743 y(a)391 b(recursi)-39 b(v)-23 b(e)391
-b(acron)-23 b(ym)391 b(that)f(means)h(simply)24526 14743
-y
-SDict begin H.S end
- 24526 14743 a 24526 14743 a
-SDict begin 18.2 H.A end
- 24526 14743 a 24526 14743
-a
-SDict begin [ /View [/XYZ H.V] /Dest (329) cvn H.B /DEST pdfmark end
- 24526 14743 a FU(\223GNU')-85 b(s)391 b(Not)g(Unix\224.)g(GNU)g
-(softw)-15 b(are)390 b(ran)h(atop)-30 16758 y(the)519
-b(Linux)g(k)-15 b(ernel)518 b(from)h(day)g(1.)h(Their)f(compiler)28856
-16758 y
-SDict begin H.S end
- 28856 16758 a 28856 16758 a
-SDict begin 18.2 H.A end
- 28856 16758 a 28856
-16758 a
-SDict begin [ /View [/XYZ H.V] /Dest (330) cvn H.B /DEST pdfmark end
- 28856 16758 a FP(gcc)g FU(w)-15 b(as)519 b(used)g(to)g(compile)
-f(the)h(k)-15 b(ernel.)-30 18772 y(T)-124 b(oday)576
-b(man)-23 b(y)576 b(GNU)g(tools)g(from)19492 18772 y
-SDict begin H.S end
-
-19492 18772 a 19492 18772 a
-SDict begin 18.2 H.A end
- 19492 18772 a 19492 18772
-a
-SDict begin [ /View [/XYZ H.V] /Dest (331) cvn H.B /DEST pdfmark end
- 19492 18772 a FP(gcc)h FU(to)24083 18772 y
-SDict begin H.S end
- 24083 18772
-a 24083 18772 a
-SDict begin 18.2 H.A end
- 24083 18772 a 24083 18772 a
-SDict begin [ /View [/XYZ H.V] /Dest (332) cvn H.B /DEST pdfmark end
- 24083 18772
-a FP(gnutar)f FU(are)h(still)e(at)i(the)f(basis)g(of)h(e)-39
-b(v)-23 b(ery)576 b(major)-30 20787 y(Linux)458 b(distrib)-31
-b(ution.)458 b(F)-23 b(or)458 b(this)g(reason)g(man)-23
-b(y)458 b(of)h(the)f(Free)h(Softw)-15 b(are)458 b(F)-23
-b(oundation')-85 b(s)456 b(propo-)-30 22802 y(nents)522
-b(ferv)-23 b(ently)522 b(state)g(that)g(their)h(w)-15
-b(ork)521 b(should)h(be)h(gi)-39 b(v)-23 b(en)522 b(the)g(same)g
-(credit)h(as)f(the)h(Linux)-30 24816 y(k)-15 b(ernel.)386
-b(The)-23 b(y)386 b(strongly)f(suggest)g(that)h(all)g(Linux)f(distrib)
--31 b(utions)385 b(should)g(refer)h(to)g(themselv)-23
-b(es)-30 26831 y(as)387 b(GNU/Linux)g(distrib)-31 b(utions.)-30
-26846 y
-SDict begin H.S end
- -30 26846 a -30 26846 a
-SDict begin 18.2 H.A end
- -30 26846 a -30 26846
-a
-SDict begin [ /View [/XYZ H.V] /Dest (333) cvn H.B /DEST pdfmark end
- -30 26846 a -30 26846 a
-SDict begin H.S end
- -30 26846 a -30 26846 a
-SDict begin 18.2 H.A end
- -30
-26846 a -30 26846 a
-SDict begin [ /View [/XYZ H.V] /Dest (335) cvn H.B /DEST pdfmark end
- -30 26846 a -30 27621 a
-SDict begin H.S end
- -30 27621
-a -30 27621 a
-SDict begin 18.2 H.A end
- -30 27621 a -30 27621 a
-SDict begin [ /View [/XYZ H.V] /Dest (337) cvn H.B /DEST pdfmark end
- -30 27621 a 2000
-x FU(This)421 b(is)f(the)h(topic)g(of)g(man)-23 b(y)420
-b(\003ame)-39 b(w)-15 b(ars,)421 b(surpassed)f(only)h(by)f(the)h
-(ancient)g(vi)g(v)-23 b(ersus)420 b(emacs)-30 31635 y(holy)458
-b(w)-15 b(ar)-85 b(.)457 b(The)h(purpose)g(of)g(this)f(book)h(is)f(not)
-h(to)g(f)-15 b(an)457 b(the)h(\002res)g(of)g(this)f(heated)h
-(discussion,)-30 33650 y(b)-31 b(ut)515 b(rather)f(to)h(clarify)g(the)f
-(terminology)g(for)h(neoph)-8 b(ytes.)514 b(When)h(one)g(sees)f
-(GNU/Linux)g(it)-30 35665 y(means)387 b(a)g(Linux)g(distrib)-31
-b(ution.)386 b(When)h(one)g(sees)g(Linux)f(the)-23 b(y)387
-b(can)g(either)g(be)g(referring)g(to)g(the)-30 37679
-y(k)-15 b(ernel,)320 b(or)f(to)h(a)g(distrib)-31 b(ution.)318
-b(It)i(can)g(be)g(rather)g(confusing.)f(T)-124 b(ypically)319
-b(the)h(term)f(GNU/Linux)-30 39694 y(isn')-28 b(t)387
-b(used)g(because)g(it')-85 b(s)387 b(a)h(mouth)e(full.)-30
-42034 y
-SDict begin H.S end
- -30 42034 a -30 42034 a
-SDict begin 18.2 H.A end
- -30 42034 a -30 42034
-a
-SDict begin [ /View [/XYZ H.V] /Dest (INTRODUCTION-SLACKWARE) cvn H.B
-/DEST pdfmark end
- -30 42034 a 6109 x FL(1.2)620 b(What)g(is)g(Slac)-45
-b(kware?)-30 48171 y
-SDict begin H.S end
- -30 48171 a -30 48171 a
-SDict begin 18.2 H.A end
- -30 48171
-a -30 48171 a
-SDict begin [ /View [/XYZ H.V] /Dest (340) cvn H.B /DEST pdfmark end
- -30 48171 a -30 48171 a
-SDict begin H.S end
- -30 48171 a -30
-48171 a
-SDict begin 18.2 H.A end
- -30 48171 a -30 48171 a
-SDict begin [ /View [/XYZ H.V] /Dest (342) cvn H.B /DEST pdfmark end
- -30 48171 a -30 49287
-a
-SDict begin H.S end
- -30 49287 a -30 49287 a
-SDict begin 18.2 H.A end
- -30 49287 a -30 49287 a
-SDict begin [ /View [/XYZ H.V] /Dest (344) cvn H.B /DEST pdfmark end
- -30
-49287 a 1987 x FU(Slackw)-15 b(are,)493 b(started)g(by)g(P)-23
-b(atrick)492 b(V)-200 b(olk)-15 b(erding)492 b(in)h(late)g(1992,)h(and)
-f(initially)f(released)h(to)g(the)-30 53288 y(w)-15 b(orld)441
-b(on)g(July)h(17,)g(1993,)f(w)-15 b(as)441 b(the)h(\002rst)f(Linux)g
-(distrib)-31 b(ution)440 b(to)i(achie)-39 b(v)-23 b(e)441
-b(widespread)h(use.)-30 55303 y(V)-200 b(olk)-15 b(erding)487
-b(\002rst)g(learned)h(of)f(Linux)h(when)f(he)h(needed)g(an)g(ine)-23
-b(xpensi)-39 b(v)-23 b(e)486 b(LISP)h(interpreter)-30
-57318 y(for)385 b(a)g(project.)h(One)f(of)g(the)g(fe)-39
-b(w)385 b(distrib)-31 b(utions)383 b(a)-31 b(v)-39 b(ailable)385
-b(at)g(the)g(time)g(w)-15 b(as)384 b(SLS)h(Linux)f(from)-30
-59332 y(Soft)437 b(Landing)g(Systems.)g(V)-200 b(olk)-15
-b(erding)436 b(used)25145 59332 y
-SDict begin H.S end
- 25145 59332 a 25145
-59332 a
-SDict begin 18.2 H.A end
- 25145 59332 a 25145 59332 a
-SDict begin [ /View [/XYZ H.V] /Dest (345) cvn H.B /DEST pdfmark end
- 25145 59332 a 438
-w FU(SLS)h(Linux,)g(\002xing)g(b)-31 b(ugs)437 b(as)g(he)h(found)f
-(them.)-30 61347 y(Ev)-23 b(entually)-101 b(,)313 b(he)h(decided)f(to)h
-(mer)-28 b(ge)313 b(all)h(of)g(these)f(b)-31 b(ug\002x)-23
-b(es)313 b(into)g(his)g(o)-39 b(wn)314 b(pri)-39 b(v)g(ate)314
-b(distrib)-31 b(ution)-30 63362 y(that)353 b(he)h(and)f(his)g(friends)g
-(could)h(use.)f(This)g(pri)-39 b(v)g(ate)354 b(distrib)-31
-b(ution)352 b(quickly)h(g)-8 b(ained)353 b(popularity)-101
-b(,)-30 65376 y(so)466 b(V)-200 b(olk)-15 b(erding)465
-b(decided)h(to)g(name)g(it)f(Slackw)-15 b(are)466 b(and)g(mak)-15
-b(e)465 b(it)h(publicly)f(a)-31 b(v)-39 b(ailable.)467
-b(Along)-30 67391 y(the)356 b(w)-15 b(ay)-101 b(,)355
-b(P)-23 b(atrick)355 b(added)g(ne)-39 b(w)356 b(things)f(to)g(Slackw)
--15 b(are;)355 b(a)h(user)f(friendly)g(installation)f(program)p
-Black -30 73672 a FR(2)p Black eop end
-%%Page: 3 25
-TeXDict begin 3 24 bop -8000 -8000 a
-SDict begin /product where{pop product(Distiller)search{pop pop pop
-version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
-closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
-grestore}if}{pop}ifelse}{pop}ifelse}if end
- -8000 -8000 a Black
-0 TeXcolorgray -30 -1237 a
-SDict begin H.S end
- -30 -1237 a 0 TeXcolorgray
-0 TeXcolorgray -30 -1237 a
-SDict begin H.R end
- -30 -1237 a -30 -1237 a
-SDict begin [ /View [/XYZ H.V] /Dest (page.3) cvn H.B /DEST pdfmark
-end
- -30
--1237 a Black 23087 -1636 a FR(Chapter)387 b(1)g(An)g(Intr)-70
-b(oduction)387 b(to)g(Slac)-31 b(kwar)-57 b(e)386 b(Linux)p
-Black -30 3611 a FU(based)423 b(on)f(a)h(menuing)f(system,)g(as)h(well)
-g(as)f(the)h(concept)f(of)h(package)g(management,)f(which)-30
-5626 y(allo)-39 b(ws)387 b(users)g(to)g(easily)g(add,)h(remo)-23
-b(v)g(e,)387 b(or)g(upgrade)h(softw)-15 b(are)386 b(packages)h(on)h
-(their)f(systems.)-30 6736 y
-SDict begin H.S end
- -30 6736 a -30 6736 a
-SDict begin 18.2 H.A end
- -30
-6736 a -30 6736 a
-SDict begin [ /View [/XYZ H.V] /Dest (347) cvn H.B /DEST pdfmark end
- -30 6736 a 1679 x FU(There)399 b(are)h(man)-23
-b(y)398 b(reasons)h(wh)-8 b(y)399 b(Slackw)-15 b(are)398
-b(is)h(Linux')-85 b(s)398 b(oldest)h(li)-39 b(ving)398
-b(distrib)-31 b(ution.)398 b(It)h(does)-30 10430 y(not)476
-b(try)h(to)f(emulate)g(W)-62 b(indo)-39 b(ws,)476 b(it)19732
-10430 y
-SDict begin H.S end
- 19732 10430 a 19732 10430 a
-SDict begin 18.2 H.A end
- 19732 10430 a 19732
-10430 a
-SDict begin [ /View [/XYZ H.V] /Dest (348) cvn H.B /DEST pdfmark end
- 19732 10430 a 477 w FU(tries)g(to)h(be)f(as)h(Unix-lik)-15
-b(e)475 b(as)h(possible.)g(It)h(does)f(not)g(try)-30
-12445 y(to)389 b(co)-23 b(v)g(er)389 b(up)h(processes)f(with)g(f)-15
-b(anc)-23 b(y)-101 b(,)389 b(point-and-click)g(GUIs)g(\(Graphical)g
-(User)h(Interf)-15 b(aces\).)-30 14459 y(Instead,)615
-b(it)g(puts)g(users)f(in)h(control)g(by)g(letting)f(them)g(see)h(e)-23
-b(xactly)615 b(what')-85 b(s)614 b(going)h(on.)g(Its)-30
-16474 y(de)-39 b(v)-23 b(elopment)294 b(is)g(not)g(rushed)g(to)g(meet)h
-(deadlines-each)f(v)-23 b(ersion)293 b(comes)h(out)g(when)h(it)f(is)g
-(ready)-101 b(.)-30 17584 y
-SDict begin H.S end
- -30 17584 a -30 17584 a
-SDict begin 18.2 H.A end
- -30
-17584 a -30 17584 a
-SDict begin [ /View [/XYZ H.V] /Dest (350) cvn H.B /DEST pdfmark end
- -30 17584 a 1680 x FU(Slackw)-15
-b(are)380 b(is)g(for)g(people)g(who)h(enjo)-15 b(y)379
-b(learning)h(and)g(tweaking)g(their)g(system)g(to)g(do)g(e)-23
-b(xactly)-30 21278 y(what)493 b(the)-23 b(y)492 b(w)-15
-b(ant.)493 b(Slackw)-15 b(are')-85 b(s)492 b(stability)g(and)h
-(simplicity)e(are)i(wh)-8 b(y)493 b(people)g(will)g(continue)-30
-23293 y(to)390 b(use)g(it)g(for)g(years)g(to)g(come.)g(Slackw)-15
-b(are)390 b(currently)g(enjo)-15 b(ys)389 b(a)h(reputation)f(as)h(a)h
-(solid)e(serv)-23 b(er)-30 25308 y(and)328 b(a)g(no-nonsense)g(w)-15
-b(orkstation.)327 b(Y)-170 b(ou)327 b(can)i(\002nd)e(Slackw)-15
-b(are)327 b(desktops)h(running)f(nearly)h(an)-23 b(y)-30
-27322 y(windo)-39 b(w)476 b(manager)h(or)g(desktop)f(en)-62
-b(vironment,)476 b(or)h(none)g(at)f(all.)h(Slackw)-15
-b(are)476 b(serv)-23 b(ers)477 b(po)-39 b(wer)-30 29337
-y(b)-31 b(usinesses,)359 b(acting)g(in)g(e)-39 b(v)-23
-b(ery)359 b(capacity)g(that)g(a)g(serv)-23 b(er)359 b(can)h(be)f(used)g
-(in.)g(Slackw)-15 b(are)359 b(users)g(are)-30 31352 y(among)387
-b(the)g(most)g(satis\002ed)f(Linux)h(users.)g(Of)h(course,)g(we')-77
-b(d)386 b(say)i(that.)f(:^\))-30 32462 y
-SDict begin H.S end
- -30 32462 a
--30 32462 a
-SDict begin 18.2 H.A end
- -30 32462 a -30 32462 a
-SDict begin [ /View [/XYZ H.V] /Dest (INTRODUCTION-OPENSOURCE) cvn
-H.B /DEST pdfmark end
- -30 32462 a 5789
-x FL(1.3)620 b(Open)g(Sour)-45 b(ce)620 b(and)f(Free)g(Software)-30
-38713 y
-SDict begin H.S end
- -30 38713 a -30 38713 a
-SDict begin 18.2 H.A end
- -30 38713 a -30 38713
-a
-SDict begin [ /View [/XYZ H.V] /Dest (353) cvn H.B /DEST pdfmark end
- -30 38713 a -30 38713 a
-SDict begin H.S end
- -30 38713 a -30 38713 a
-SDict begin 18.2 H.A end
- -30
-38713 a -30 38713 a
-SDict begin [ /View [/XYZ H.V] /Dest (355) cvn H.B /DEST pdfmark end
- -30 38713 a -30 39829 a
-SDict begin H.S end
- -30 39829
-a -30 39829 a
-SDict begin 18.2 H.A end
- -30 39829 a -30 39829 a
-SDict begin [ /View [/XYZ H.V] /Dest (357) cvn H.B /DEST pdfmark end
- -30 39829 a 1552
-x FU(W)-62 b(ithin)458 b(the)g(Linux)g(community)-101
-b(,)457 b(there)i(are)f(tw)-15 b(o)458 b(major)g(ideological)f(mo)-23
-b(v)g(ements)457 b(at)h(w)-15 b(ork.)-30 43396 y(The)374
-b(Free)g(Softw)-15 b(are)374 b(mo)-23 b(v)g(ement)373
-b(\(which)g(we')-15 b(ll)374 b(get)g(into)g(in)g(a)g(moment\))f(is)h(w)
--15 b(orking)373 b(to)-39 b(w)-15 b(ard)-30 45411 y(the)471
-b(goal)g(of)h(making)e(all)h(softw)-15 b(are)471 b(free)h(of)f
-(intellectual)f(property)h(restrictions.)g(F)-23 b(ollo)-39
-b(wers)-30 47425 y(of)343 b(this)f(mo)-23 b(v)g(ement)341
-b(belie)-39 b(v)-23 b(e)342 b(these)g(restrictions)g(hamper)g
-(technical)g(impro)-23 b(v)g(ement)341 b(and)i(w)-15
-b(ork)-30 49440 y(ag)-8 b(ainst)408 b(the)g(good)g(of)g(the)g
-(community)-101 b(.)407 b(The)h(Open)g(Source)g(mo)-23
-b(v)g(ement)407 b(is)h(w)-15 b(orking)406 b(to)-39 b(w)-15
-b(ard)-30 51455 y(most)412 b(of)g(the)g(same)g(goals,)h(b)-31
-b(ut)412 b(tak)-15 b(es)411 b(a)i(more)f(pragmatic)g(approach)g(to)g
-(them.)h(F)-23 b(ollo)-39 b(wers)411 b(of)-30 53469 y(this)i(mo)-23
-b(v)g(ement)413 b(prefer)h(to)f(base)h(their)g(ar)-28
-b(guments)413 b(on)h(the)f(economic)g(and)h(technical)g(merits)-30
-55484 y(of)425 b(making)e(source)i(code)f(freely)h(a)-31
-b(v)-39 b(ailable,)425 b(rather)f(than)h(the)f(moral)g(and)h(ethical)f
-(principles)-30 57499 y(that)387 b(dri)-39 b(v)-23 b(e)387
-b(the)g(Free)h(Softw)-15 b(are)386 b(Mo)-23 b(v)g(ement.)-30
-58289 y
-SDict begin H.S end
- -30 58289 a -30 58289 a
-SDict begin 18.2 H.A end
- -30 58289 a -30 58289
-a
-SDict begin [ /View [/XYZ H.V] /Dest (358) cvn H.B /DEST pdfmark end
- -30 58289 a 1999 x FU(At)503 b(the)g(other)f(end)h(of)g(the)g
-(spectrum)f(are)h(groups)g(that)f(wish)h(to)f(maintain)g(tighter)h
-(controls)-30 62303 y(o)-23 b(v)g(er)387 b(their)g(softw)-15
-b(are.)-30 62318 y
-SDict begin H.S end
- -30 62318 a -30 62318 a
-SDict begin 18.2 H.A end
- -30 62318
-a -30 62318 a
-SDict begin [ /View [/XYZ H.V] /Dest (359) cvn H.B /DEST pdfmark end
- -30 62318 a -30 62318 a
-SDict begin H.S end
- -30 62318 a -30
-62318 a
-SDict begin 18.2 H.A end
- -30 62318 a -30 62318 a
-SDict begin [ /View [/XYZ H.V] /Dest (361) cvn H.B /DEST pdfmark end
- -30 62318 a -30 63093
-a
-SDict begin H.S end
- -30 63093 a -30 63093 a
-SDict begin 18.2 H.A end
- -30 63093 a -30 63093 a
-SDict begin [ /View [/XYZ H.V] /Dest (363) cvn H.B /DEST pdfmark end
- -30
-63093 a 2000 x FU(The)491 b(Free)h(Softw)-15 b(are)490
-b(mo)-23 b(v)g(ement)490 b(is)h(headed)h(by)f(the)g(Free)h(Softw)-15
-b(are)490 b(F)-23 b(oundation,)491 b(a)g(fund-)-30 67107
-y(raising)614 b(or)-28 b(g)-8 b(anization)613 b(for)i(the)f(GNU)f
-(project.)h(Free)h(softw)-15 b(are)613 b(is)h(more)g(of)g(an)g
-(ideology)-101 b(.)p Black 51001 73792 a FR(3)p Black
-eop end
-%%Page: 4 26
-TeXDict begin 4 25 bop -8000 -8000 a
-SDict begin /product where{pop product(Distiller)search{pop pop pop
-version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
-closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
-grestore}if}{pop}ifelse}{pop}ifelse}if end
- -8000 -8000 a Black
-0 TeXcolorgray -30 -1237 a
-SDict begin H.S end
- -30 -1237 a 0 TeXcolorgray
-0 TeXcolorgray -30 -1237 a
-SDict begin H.R end
- -30 -1237 a -30 -1237 a
-SDict begin [ /View [/XYZ H.V] /Dest (page.4) cvn H.B /DEST pdfmark
-end
- -30
--1237 a Black -399 x FR(Chapter)387 b(1)g(An)g(Intr)-70
-b(oduction)386 b(to)i(Slac)-31 b(kwar)-57 b(e)386 b(Linux)p
-Black -30 3611 a FU(The)469 b(oft-used)f(e)-23 b(xpression)468
-b(is)16973 3611 y
-SDict begin H.S end
- 16973 3611 a 16973 3611 a
-SDict begin 18.2 H.A end
- 16973 3611
-a 16973 3611 a
-SDict begin [ /View [/XYZ H.V] /Dest (364) cvn H.B /DEST pdfmark end
- 16973 3611 a FU(\223free)h(as)g(in)g(speech,)g(not)f
-(free)h(as)g(in)g(beer\224.)g(In)g(essence,)h(free)-30
-5626 y(softw)-15 b(are)611 b(is)g(an)h(attempt)f(to)g(guarantee)g
-(certain)h(rights)f(for)g(both)g(users)h(and)f(de)-39
-b(v)-23 b(elopers.)-30 7640 y(These)360 b(freedoms)g(include)g(the)h
-(freedom)f(to)g(run)g(the)h(program)f(for)g(an)-23 b(y)360
-b(reason,)h(to)f(study)g(and)-30 9655 y(modify)512 b(the)g(source)h
-(code,)f(to)h(redistrib)-31 b(ute)511 b(the)i(source,)f(and)h(to)f
-(share)g(an)-23 b(y)513 b(modi\002cations)-30 11670 y(you)437
-b(mak)-15 b(e.)437 b(In)h(order)f(to)g(guarantee)h(these)f(freedoms,)
-30652 11670 y
-SDict begin H.S end
- 30652 11670 a 30652 11670 a
-SDict begin 18.2 H.A end
- 30652 11670
-a 30652 11670 a
-SDict begin [ /View [/XYZ H.V] /Dest (365) cvn H.B /DEST pdfmark end
- 30652 11670 a 438 w FU(the)g(GNU)g(General)h(Public)e
-(License)-30 13684 y(\(GPL\))390 b(w)-15 b(as)390 b(created.)g(The)g
-(GPL,)h(in)e(brief,)i(pro)-23 b(vides)389 b(that)h(an)-23
-b(yone)390 b(distrib)-31 b(uting)388 b(a)j(compiled)-30
-15699 y(program)360 b(which)g(is)g(licensed)g(under)g(the)g(GPL)g(must)
-g(also)g(pro)-23 b(vide)359 b(source)i(code,)f(and)h(is)f(free)-30
-17714 y(to)437 b(mak)-15 b(e)436 b(modi\002cations)f(to)h(the)h
-(program)f(as)h(long)f(as)g(those)h(modi\002cations)e(are)i(also)f
-(made)-30 19728 y(a)-31 b(v)-39 b(ailable)465 b(in)f(source)h(code)f
-(form.)h(This)g(guarantees)f(that)g(once)h(a)g(program)f(is)44254
-19728 y
-SDict begin H.S end
- 44254 19728 a 44254 19728 a
-SDict begin 18.2 H.A end
- 44254 19728 a 44254
-19728 a
-SDict begin [ /View [/XYZ H.V] /Dest (367) cvn H.B /DEST pdfmark end
- 44254 19728 a FU(\223opened\224)g(to)-30 21743
-y(the)551 b(community)-101 b(,)551 b(it)f(cannot)h(be)18423
-21743 y
-SDict begin H.S end
- 18423 21743 a 18423 21743 a
-SDict begin 18.2 H.A end
- 18423 21743 a 18423
-21743 a
-SDict begin [ /View [/XYZ H.V] /Dest (368) cvn H.B /DEST pdfmark end
- 18423 21743 a FU(\223closed\224)g(e)-23 b(xcept)551
-b(by)g(consent)g(of)g(e)-39 b(v)-23 b(ery)551 b(author)g(of)g(e)-39
-b(v)-23 b(ery)-30 23758 y(piece)431 b(of)f(code)h(\(e)-39
-b(v)-23 b(en)431 b(the)f(modi\002cations\))f(within)h(it.)h(Most)e
-(Linux)h(programs)h(are)f(licensed)-30 25772 y(under)387
-b(the)g(GPL.)-30 26563 y
-SDict begin H.S end
- -30 26563 a -30 26563 a
-SDict begin 18.2 H.A end
- -30
-26563 a -30 26563 a
-SDict begin [ /View [/XYZ H.V] /Dest (369) cvn H.B /DEST pdfmark end
- -30 26563 a 1999 x FU(It)433 b(is)g(important)f(to)
-h(note)f(that)h(the)g(GPL)f(does)h(not)g(say)g(an)-23
-b(ything)432 b(about)g(price.)i(As)e(odd)h(as)g(it)-30
-30577 y(may)g(sound,)f(you)g(can)h(char)-28 b(ge)433
-b(for)g(free)g(softw)-15 b(are.)432 b(The)31534 30577
-y
-SDict begin H.S end
- 31534 30577 a 31534 30577 a
-SDict begin 18.2 H.A end
- 31534 30577 a 31534 30577
-a
-SDict begin [ /View [/XYZ H.V] /Dest (370) cvn H.B /DEST pdfmark end
- 31534 30577 a FU(\223free\224)h(part)g(is)f(in)h(the)f(liberties)g
-(you)-30 32591 y(ha)-31 b(v)-23 b(e)362 b(with)f(the)h(source)g(code,)h
-(not)e(in)h(the)g(price)g(you)g(pay)g(for)g(the)g(softw)-15
-b(are.)361 b(\(Ho)-39 b(we)g(v)-23 b(er)-62 b(,)363 b(once)-30
-34606 y(someone)498 b(has)g(sold)g(you,)g(or)h(e)-39
-b(v)-23 b(en)498 b(gi)-39 b(v)-23 b(en)498 b(you,)g(a)h(compiled)e
-(program)h(licensed)g(under)g(the)-30 36621 y(GPL)387
-b(the)-23 b(y)387 b(are)g(oblig)-8 b(ated)387 b(to)g(pro)-23
-b(vide)387 b(its)g(source)g(code)g(as)h(well.\))-30 36956
-y
-SDict begin H.S end
- -30 36956 a -30 36956 a
-SDict begin 18.2 H.A end
- -30 36956 a -30 36956 a
-SDict begin [ /View [/XYZ H.V] /Dest (371) cvn H.B /DEST pdfmark end
- -30
-36956 a -30 37731 a
-SDict begin H.S end
- -30 37731 a -30 37731 a
-SDict begin 18.2 H.A end
- -30 37731
-a -30 37731 a
-SDict begin [ /View [/XYZ H.V] /Dest (374) cvn H.B /DEST pdfmark end
- -30 37731 a 1679 x FU(Another)373 b(popular)h(license)f
-(is)g(the)h(BSD)f(license.)h(In)g(contrast)f(to)g(the)h(GPL,)g(the)f
-(BSD)g(license)-30 41425 y(gi)-39 b(v)-23 b(es)439 b(no)h(requirement)f
-(for)h(the)g(release)g(of)f(a)h(program')-85 b(s)439
-b(source)h(code.)g(Softw)-15 b(are)439 b(released)-30
-43440 y(under)415 b(the)g(BSD)f(license)h(allo)-39 b(ws)415
-b(redistrib)-31 b(ution)414 b(in)g(source)h(or)h(binary)e(form)h(pro)
--23 b(vided)414 b(only)-30 45454 y(a)382 b(fe)-39 b(w)381
-b(conditions)f(are)i(met.)g(The)f(author')-85 b(s)381
-b(credentials)f(cannot)h(be)h(used)f(as)g(a)h(sort)f(of)g(adv)-23
-b(er)-31 b(-)-30 47469 y(tisement)468 b(for)g(the)g(program.)g(It)h
-(also)f(indemni\002es)f(the)h(author)g(from)g(liability)f(for)h
-(damages)-30 49484 y(that)360 b(may)f(arise)h(from)g(the)f(use)h(of)g
-(the)g(softw)-15 b(are.)359 b(Much)h(of)g(the)f(softw)-15
-b(are)359 b(included)h(in)f(Slack-)-30 51498 y(w)-15
-b(are)387 b(Linux)g(is)g(BSD)g(licensed.)-30 52289 y
-SDict begin H.S end
-
--30 52289 a -30 52289 a
-SDict begin 18.2 H.A end
- -30 52289 a -30 52289 a
-SDict begin [ /View [/XYZ H.V] /Dest (375) cvn H.B /DEST pdfmark end
- -30 52289
-a 1999 x FU(At)381 b(the)h(forefront)f(of)g(the)g(younger)g(Open)g
-(Source)g(mo)-23 b(v)g(ement,)381 b(the)37437 54288 y
-SDict begin H.S end
-
-37437 54288 a 37437 54288 a
-SDict begin 18.2 H.A end
- 37437 54288 a 37437 54288
-a
-SDict begin [ /View [/XYZ H.V] /Dest (376) cvn H.B /DEST pdfmark end
- 37437 54288 a 382 w FU(Open)g(Source)g(Initiati)-39
-b(v)-23 b(e)-30 56302 y(is)511 b(an)h(or)-28 b(g)-8 b(anization)511
-b(that)g(solely)g(e)-23 b(xists)511 b(to)g(g)-8 b(ain)512
-b(support)f(for)g(open)h(source)f(softw)-15 b(are,)511
-b(that)-30 58317 y(is,)443 b(softw)-15 b(are)442 b(that)h(has)f(the)h
-(source)f(code)h(a)-31 b(v)-39 b(ailable)443 b(as)g(well)f(as)h(the)f
-(ready-to-run)h(program.)-30 60332 y(The)-23 b(y)529
-b(do)g(not)h(of)-39 b(fer)529 b(a)h(speci\002c)f(license,)h(b)-31
-b(ut)529 b(instead)g(the)-23 b(y)529 b(support)f(the)i(v)-39
-b(arious)529 b(types)g(of)-30 62346 y(open)387 b(source)g(licenses)g(a)
--31 b(v)-39 b(ailable.)-30 63457 y
-SDict begin H.S end
- -30 63457 a -30 63457
-a
-SDict begin 18.2 H.A end
- -30 63457 a -30 63457 a
-SDict begin [ /View [/XYZ H.V] /Dest (378) cvn H.B /DEST pdfmark end
- -30 63457 a 1679 x FU(The)432
-b(idea)g(behind)f(the)h(OSI)g(is)f(to)h(get)g(more)g(companies)f
-(behind)g(open)h(source)g(by)g(allo)-39 b(wing)-30 67151
-y(them)535 b(to)h(write)f(their)h(o)-39 b(wn)536 b(open)f(source)h
-(licenses)f(and)h(ha)-31 b(v)-23 b(e)535 b(those)h(licenses)f
-(certi\002ed)g(by)p Black -30 73792 a FR(4)p Black eop
-end
-%%Page: 5 27
-TeXDict begin 5 26 bop -8000 -8000 a
-SDict begin /product where{pop product(Distiller)search{pop pop pop
-version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
-closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
-grestore}if}{pop}ifelse}{pop}ifelse}if end
- -8000 -8000 a Black
-0 TeXcolorgray -30 -1237 a
-SDict begin H.S end
- -30 -1237 a 0 TeXcolorgray
-0 TeXcolorgray -30 -1237 a
-SDict begin H.R end
- -30 -1237 a -30 -1237 a
-SDict begin [ /View [/XYZ H.V] /Dest (page.5) cvn H.B /DEST pdfmark
-end
- -30
--1237 a Black 23087 -1636 a FR(Chapter)387 b(1)g(An)g(Intr)-70
-b(oduction)387 b(to)g(Slac)-31 b(kwar)-57 b(e)386 b(Linux)p
-Black -30 3611 a FU(the)367 b(Open)f(Source)g(Initiati)-39
-b(v)-23 b(e.)366 b(Man)-23 b(y)366 b(companies)g(w)-15
-b(ant)366 b(to)g(release)h(source)g(code,)g(b)-31 b(ut)366
-b(do)g(not)-30 5626 y(w)-15 b(ant)436 b(to)h(use)f(the)h(GPL.)f(Since)h
-(the)-23 b(y)436 b(cannot)g(radically)g(change)h(the)g(GPL,)f(the)-23
-b(y)437 b(are)g(of)-39 b(fered)-30 7640 y(the)311 b(opportunity)g(to)g
-(pro)-23 b(vide)311 b(their)g(o)-39 b(wn)312 b(license)f(and)g(ha)-31
-b(v)-23 b(e)311 b(it)h(certi\002ed)f(by)g(this)g(or)-28
-b(g)-8 b(anization.)-30 8751 y
-SDict begin H.S end
- -30 8751 a -30 8751 a
-SDict begin 18.2 H.A end
-
--30 8751 a -30 8751 a
-SDict begin [ /View [/XYZ H.V] /Dest (379) cvn H.B /DEST pdfmark end
- -30 8751 a 1679 x FU(While)532
-b(the)g(Free)f(Softw)-15 b(are)532 b(F)-23 b(oundation)530
-b(and)i(the)g(Open)f(Source)h(Initiati)-39 b(v)-23 b(e)531
-b(w)-15 b(ork)531 b(to)h(help)-30 12445 y(each)469 b(other)-62
-b(,)470 b(the)-23 b(y)468 b(are)h(not)g(the)g(same)g(thing.)g(The)g
-(Free)f(Softw)-15 b(are)469 b(F)-23 b(oundation)467 b(uses)i(a)g(spe-)
--30 14459 y(ci\002c)528 b(license)g(and)g(pro)-23 b(vides)528
-b(softw)-15 b(are)528 b(under)g(that)g(license.)g(The)h(Open)f(Source)g
-(Initiati)-39 b(v)-23 b(e)-30 16474 y(seeks)565 b(support)f(for)h(all)g
-(open)g(source)f(licenses,)h(including)f(the)h(one)g(from)g(the)f(Free)
-h(Soft-)-30 18489 y(w)-15 b(are)395 b(F)-23 b(oundation.)395
-b(The)g(grounds)g(on)h(which)f(each)h(ar)-28 b(gues)395
-b(for)h(making)f(source)g(code)h(freely)-30 20503 y(a)-31
-b(v)-39 b(ailable)422 b(sometimes)f(di)-39 b(vides)422
-b(the)g(tw)-15 b(o)422 b(mo)-23 b(v)g(ements,)421 b(b)-31
-b(ut)422 b(the)g(f)-15 b(act)422 b(that)g(tw)-15 b(o)421
-b(ideologically)-30 22518 y(di)-39 b(v)-23 b(erse)535
-b(groups)g(are)h(w)-15 b(orking)534 b(to)-39 b(w)-15
-b(ard)535 b(the)g(same)g(goal)g(lends)g(credence)h(to)f(the)g(ef)-39
-b(forts)536 b(of)-30 24533 y(each.)p Black 51001 73792
-a FR(5)p Black eop end
-%%Page: 6 28
-TeXDict begin 6 27 bop -8000 -8000 a
-SDict begin /product where{pop product(Distiller)search{pop pop pop
-version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
-closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
-grestore}if}{pop}ifelse}{pop}ifelse}if end
- -8000 -8000 a Black
-0 TeXcolorgray -30 -1237 a
-SDict begin H.S end
- -30 -1237 a 0 TeXcolorgray
-0 TeXcolorgray -30 -1237 a
-SDict begin H.R end
- -30 -1237 a -30 -1237 a
-SDict begin [ /View [/XYZ H.V] /Dest (page.6) cvn H.B /DEST pdfmark
-end
- -30
--1237 a Black -399 x FR(Chapter)387 b(1)g(An)g(Intr)-70
-b(oduction)386 b(to)i(Slac)-31 b(kwar)-57 b(e)386 b(Linux)p
-Black Black -30 73792 a(6)p Black eop end
-%%Page: 7 29
-TeXDict begin 7 28 bop -8000 -8000 a
-SDict begin /product where{pop product(Distiller)search{pop pop pop
-version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
-closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
-grestore}if}{pop}ifelse}{pop}ifelse}if end
- -8000 -8000 a Black
-0 TeXcolorgray -30 -1358 a
-SDict begin H.S end
- -30 -1358 a 0 TeXcolorgray
-0 TeXcolorgray -30 -1358 a
-SDict begin H.R end
- -30 -1358 a -30 -1358 a
-SDict begin [ /View [/XYZ H.V] /Dest (page.7) cvn H.B /DEST pdfmark
-end
- -30
--1358 a Black Black -30 2383 a
-SDict begin H.S end
- -30 2383 a -30 2383 a
-SDict begin 18.2 H.A end
-
--30 2383 a -30 2383 a
-SDict begin [ /View [/XYZ H.V] /Dest (HELP) cvn H.B /DEST pdfmark end
- -30 2383 a 2345 x FS(Chapter)894
-b(2)-30 10743 y FO(Help)p -30 18316 51806 56 v -30 19091
-a
-SDict begin H.S end
- -30 19091 a -30 19091 a
-SDict begin 18.2 H.A end
- -30 19091 a -30 19091 a
-SDict begin [ /View [/XYZ H.V] /Dest (382) cvn H.B /DEST pdfmark end
- -30
-19091 a 1051 x FU(Often)479 b(there)f(are)i(times)e(when)g(you)h(might)
-f(need)g(help)h(with)f(a)h(speci\002c)f(command,)h(setting)-30
-22157 y(up)501 b(a)h(program,)f(or)h(getting)e(a)i(piece)f(of)h(hardw)
--15 b(are)501 b(to)g(w)-15 b(ork.)501 b(Maybe)g(you)g(simply)f(w)-15
-b(ant)501 b(to)-30 24171 y(understand)480 b(a)h(gi)-39
-b(v)-23 b(en)480 b(command)g(better)-62 b(,)481 b(or)g(see)g(what)f
-(other)g(options)g(are)h(a)-31 b(v)-39 b(ailable)481
-b(to)f(use)-30 26186 y(with)395 b(it.)h(Luckily)-101
-b(,)395 b(there)h(are)g(a)g(v)-39 b(ariety)395 b(of)h(w)-15
-b(ays)395 b(that)g(you)g(can)h(get)f(the)h(help)f(you')-77
-b(re)395 b(looking)-30 28201 y(for)-85 b(.)365 b(When)g(you)g(install)f
-(Slackw)-15 b(are)364 b(you)h(ha)-31 b(v)-23 b(e)364
-b(the)h(option)f(of)h(installing)f(packages)g(from)h(the)-30
-30215 y
-SDict begin H.S end
- -30 30215 a -30 30215 a
-SDict begin 18.2 H.A end
- -30 30215 a -30 30215
-a
-SDict begin [ /View [/XYZ H.V] /Dest (383) cvn H.B /DEST pdfmark end
- -30 30215 a FU(\223F\224)334 b(series)g(which)g(includes)f(F)-115
-b(A)-85 b(Qs)334 b(and)g(HO)-54 b(WT)-28 b(Os.)334 b(Programs)f(also)h
-(come)g(with)f(help)h(about)-30 32230 y(their)387 b(options,)g
-(con\002guration)f(\002les,)h(and)h(usage.)-30 32566
-y
-SDict begin H.S end
- -30 32566 a -30 32566 a
-SDict begin 18.2 H.A end
- -30 32566 a -30 32566 a
-SDict begin [ /View [/XYZ H.V] /Dest (HELP-SYSTEM) cvn H.B /DEST pdfmark
-end
- -30
-32566 a 5789 x FL(2.1)620 b(System)h(Help)-30 38817 y
-SDict begin H.S end
-
--30 38817 a -30 38817 a
-SDict begin 18.2 H.A end
- -30 38817 a -30 38817 a
-SDict begin [ /View [/XYZ H.V] /Dest (HELP-SYSTEM-MAN) cvn H.B /DEST
-pdfmark end
- -30 38817
-a 4900 x FF(man)-30 43740 y
-SDict begin H.S end
- -30 43740 a -30 43740 a
-SDict begin 18.2 H.A end
- -30
-43740 a -30 43740 a
-SDict begin [ /View [/XYZ H.V] /Dest (389) cvn H.B /DEST pdfmark end
- -30 43740 a -30 43740 a
-SDict begin H.S end
- -30 43740
-a -30 43740 a
-SDict begin 18.2 H.A end
- -30 43740 a -30 43740 a
-SDict begin [ /View [/XYZ H.V] /Dest (391) cvn H.B /DEST pdfmark end
- -30 43740 a -30
-44670 a
-SDict begin H.S end
- -30 44670 a -30 44670 a
-SDict begin 18.2 H.A end
- -30 44670 a -30 44670
-a
-SDict begin [ /View [/XYZ H.V] /Dest (394) cvn H.B /DEST pdfmark end
- -30 44670 a 1991 x FU(The)2838 46661 y
-SDict begin H.S end
- 2838 46661 a
-2838 46661 a
-SDict begin 18.2 H.A end
- 2838 46661 a 2838 46661 a
-SDict begin [ /View [/XYZ H.V] /Dest (395) cvn H.B /DEST pdfmark end
- 2838 46661 a FP(man)458
-b FU(command)g(\(short)g(for)18438 46661 y
-SDict begin H.S end
- 18438 46661
-a 18438 46661 a
-SDict begin 18.2 H.A end
- 18438 46661 a 18438 46661 a
-SDict begin [ /View [/XYZ H.V] /Dest (396) cvn H.B /DEST pdfmark end
- 18438 46661
-a FU(\223manual\224\))h(is)f(the)g(traditional)f(form)h(of)h(online)e
-(documen-)-30 48676 y(tation)389 b(in)g(Unix)g(and)g(Linux)g(operating)
-f(systems.)h(Comprised)f(of)i(specially)e(formatted)h(\002les,)-30
-50691 y(the)2289 50691 y
-SDict begin H.S end
- 2289 50691 a 2289 50691 a
-SDict begin 18.2 H.A end
- 2289
-50691 a 2289 50691 a
-SDict begin [ /View [/XYZ H.V] /Dest (397) cvn H.B /DEST pdfmark end
- 2289 50691 a FU(\223man)424 b(pages\224,)h(are)g
-(written)g(for)g(the)f(v)-39 b(ast)425 b(majority)f(of)h(commands)e
-(and)i(are)g(distrib)-31 b(uted)-30 52705 y(with)431
-b(the)g(softw)-15 b(are)431 b(itself.)g(Ex)-23 b(ecuting)21845
-52705 y
-SDict begin H.S end
- 21845 52705 a 21845 52705 a
-SDict begin 18.2 H.A end
- 21845 52705 a 21845
-52705 a
-SDict begin [ /View [/XYZ H.V] /Dest (398) cvn H.B /DEST pdfmark end
- 21845 52705 a FP(man)743 b(somecommand)430 b
-FU(will)h(display)g(the)g(man)g(page)h(for)-30 54720
-y(\(naturally\))378 b(the)g(command)g(speci\002ed,)g(in)g(our)h(e)-23
-b(xample)377 b(this)h(w)-15 b(ould)378 b(be)g(the)g(imaginary)g(pro-)
--30 56735 y(gram)3542 56735 y
-SDict begin H.S end
- 3542 56735 a 3542 56735
-a
-SDict begin 18.2 H.A end
- 3542 56735 a 3542 56735 a
-SDict begin [ /View [/XYZ H.V] /Dest (399) cvn H.B /DEST pdfmark end
- 3542 56735 a FP(somecommand)p
-FU(.)-30 57845 y
-SDict begin H.S end
- -30 57845 a -30 57845 a
-SDict begin 18.2 H.A end
- -30 57845 a
--30 57845 a
-SDict begin [ /View [/XYZ H.V] /Dest (400) cvn H.B /DEST pdfmark end
- -30 57845 a 1679 x FU(As)588 b(you)f(might)g(imagine,)h
-(the)g(amount)f(of)h(man)f(pages)h(can)g(quickly)f(add)h(up,)g
-(becoming)-30 61539 y(o)-23 b(v)g(erly)665 b(confusing)g(and)g
-(seriously)g(complicated,)g(e)-39 b(v)-23 b(en)666 b(for)f(an)h(adv)-39
-b(anced)666 b(user)-85 b(.)665 b(So,)h(for)-30 63553
-y(this)407 b(reason,)h(man)f(pages)h(are)g(grouped)f(into)g(enumerated)
-g(sections.)h(This)f(system)f(has)i(been)-30 65568 y(around)345
-b(for)f(a)h(v)-23 b(ery)345 b(long)f(time;)g(enough)g(so)h(that)f(you)g
-(will)h(often)f(see)h(commands,)f(programs,)-30 67583
-y(and)387 b(e)-39 b(v)-23 b(en)388 b(programming)e(library)h(functions)
-f(referred)i(to)f(with)g(their)g(man)g(section)g(number)-85
-b(.)p Black -30 73672 a
-SDict begin H.S end
- -30 73672 a -30 73672 a
-SDict begin 18.2 H.A end
- -30 73672
-a -30 73672 a
-SDict begin [ /View [/XYZ H.V] /Dest (402) cvn H.B /DEST pdfmark end
- -30 73672 a 50944 74722 a FR(7)p Black
-eop end
-%%Page: 8 30
-TeXDict begin 8 29 bop -8000 -8000 a
-SDict begin /product where{pop product(Distiller)search{pop pop pop
-version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
-closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
-grestore}if}{pop}ifelse}{pop}ifelse}if end
- -8000 -8000 a Black
-0 TeXcolorgray -30 -1358 a
-SDict begin H.S end
- -30 -1358 a 0 TeXcolorgray
-0 TeXcolorgray -30 -1358 a
-SDict begin H.R end
- -30 -1358 a -30 -1358 a
-SDict begin [ /View [/XYZ H.V] /Dest (page.8) cvn H.B /DEST pdfmark
-end
- -30
--1358 a Black -278 x FR(Chapter)387 b(2)g(Help)p Black
--30 2383 a
-SDict begin H.S end
- -30 2383 a -30 2383 a
-SDict begin 18.2 H.A end
- -30 2383 a -30 2383
-a
-SDict begin [ /View [/XYZ H.V] /Dest (401) cvn H.B /DEST pdfmark end
- -30 2383 a 1107 x FU(F)-23 b(or)387 b(e)-23 b(xample:)-30
-6280 y(Y)-170 b(ou)506 b(might)h(see)g(a)g(reference)h(to)f
-FP(man)p FU(\(1\).)g(The)g(numbering)f(tells)h(you)g(that)42591
-6280 y
-SDict begin H.S end
- 42591 6280 a 42591 6280 a
-SDict begin 18.2 H.A end
- 42591 6280 a 42591 6280
-a
-SDict begin [ /View [/XYZ H.V] /Dest (404) cvn H.B /DEST pdfmark end
- 42591 6280 a FU(\223)43279 6280 y
-SDict begin H.S end
- 43279 6280 a 43279
-6280 a
-SDict begin 18.2 H.A end
- 43279 6280 a 43279 6280 a
-SDict begin [ /View [/XYZ H.V] /Dest (405) cvn H.B /DEST pdfmark end
- 43279 6280 a FP(man)p
-FU(\224)g(is)g(docu-)-30 8294 y(mented)461 b(in)f(section)h(1)g(\(user)
-g(commands\);)f(you)h(can)g(specify)g(that)f(you)h(w)-15
-b(ant)461 b(the)f(section)h(1)-30 10309 y(man)377 b(page)g(for)8503
-10309 y
-SDict begin H.S end
- 8503 10309 a 8503 10309 a
-SDict begin 18.2 H.A end
- 8503 10309 a 8503 10309
-a
-SDict begin [ /View [/XYZ H.V] /Dest (406) cvn H.B /DEST pdfmark end
- 8503 10309 a FU(\223man\224)f(with)h(the)f(command)24816
-10309 y
-SDict begin H.S end
- 24816 10309 a 24816 10309 a
-SDict begin 18.2 H.A end
- 24816 10309 a 24816
-10309 a
-SDict begin [ /View [/XYZ H.V] /Dest (407) cvn H.B /DEST pdfmark end
- 24816 10309 a FP(man)744 b(1)g(man)p FU(.)377
-b(Specifying)f(the)g(section)h(that)f(man)-30 12324 y(should)387
-b(look)g(in)g(is)g(useful)g(in)g(the)g(case)h(of)f(multiple)f(items)h
-(with)g(the)g(same)g(name.)-30 12659 y
-SDict begin H.S end
- -30 12659 a -30
-12659 a
-SDict begin 18.2 H.A end
- -30 12659 a -30 12659 a
-SDict begin [ /View [/XYZ H.V] /Dest (408) cvn H.B /DEST pdfmark end
- -30 12659 a 4004 x FX(T)-143
-b(able)387 b(2-1.)h(Man)f(P)-15 b(age)386 b(Sections)-30
-18527 y
-SDict begin H.S end
- -30 18527 a -30 18527 a
-SDict begin 18.2 H.A end
- -30 18527 a -30 18527
-a
-SDict begin [ /View [/XYZ H.V] /Dest (410) cvn H.B /DEST pdfmark end
- -30 18527 a -30 18527 a
-SDict begin H.S end
- -30 18527 a -30 18527 a
-SDict begin 18.2 H.A end
- -30
-18527 a -30 18527 a
-SDict begin [ /View [/XYZ H.V] /Dest (table.2) cvn H.B /DEST pdfmark
-end
- -30 18527 a 1761 x FE(Section)7353
-b(Contents)p -30 20665 51806 45 v -30 20665 V -30 22426
-a FU(Section)387 b(1)7140 b(user)387 b(commands)f(\(intro)h(only\))-30
-24522 y(Section)g(2)7140 b(system)386 b(calls)-30 26619
-y(Section)h(3)7140 b(C)387 b(library)g(calls)-30 28715
-y(Section)g(4)7140 b(de)-39 b(vices)387 b(\(e.g.,)i FQ(hd)p
-FU(,)d FQ(sd)p FU(\))-30 30811 y(Section)h(5)7140 b(\002le)387
-b(formats)f(and)i(protocols)e(\(e.g.,)j(wtmp,)e FQ(/etc/passwd)p
-FU(,)381 b(nfs\))-30 32908 y(Section)387 b(6)7140 b(g)-8
-b(ames)387 b(\(intro)g(only\))-30 35004 y(Section)g(7)7140
-b(con)-62 b(v)-23 b(entions,)386 b(macro)h(packages,)h(etc.)g(\(e.g.,)g
-(nrof)-39 b(f,)389 b(ascii\))-30 37101 y(Section)e(8)7140
-b(system)386 b(administration)g(\(intro)h(only\))-30
-38986 y
-SDict begin H.S end
- -30 38986 a -30 38986 a
-SDict begin 18.2 H.A end
- -30 38986 a -30 38986
-a
-SDict begin [ /View [/XYZ H.V] /Dest (445) cvn H.B /DEST pdfmark end
- -30 38986 a 1683 x FU(In)397 b(addition)e(to)8737 40669
-y
-SDict begin H.S end
- 8737 40669 a 8737 40669 a
-SDict begin 18.2 H.A end
- 8737 40669 a 8737 40669 a
-SDict begin [ /View [/XYZ H.V] /Dest (446) cvn H.B /DEST pdfmark end
-
-8737 40669 a FP(man)p FU(\(1\),)i(there)f(are)h(the)21634
-40669 y
-SDict begin H.S end
- 21634 40669 a 21634 40669 a
-SDict begin 18.2 H.A end
- 21634 40669 a 21634
-40669 a
-SDict begin [ /View [/XYZ H.V] /Dest (447) cvn H.B /DEST pdfmark end
- 21634 40669 a 22030 40669 a
-SDict begin H.S end
- 22030 40669 a 22030
-40669 a
-SDict begin 18.2 H.A end
- 22030 40669 a 22030 40669 a
-SDict begin [ /View [/XYZ H.V] /Dest (449) cvn H.B /DEST pdfmark end
- 22030 40669 a 397
-w FU(commands)29539 40669 y
-SDict begin H.S end
- 29539 40669 a 29539 40669
-a
-SDict begin 18.2 H.A end
- 29539 40669 a 29539 40669 a
-SDict begin [ /View [/XYZ H.V] /Dest (451) cvn H.B /DEST pdfmark end
- 29539 40669 a FP(whatis)p
-FU(\(1\))f(and)38840 40669 y
-SDict begin H.S end
- 38840 40669 a 38840 40669
-a
-SDict begin 18.2 H.A end
- 38840 40669 a 38840 40669 a
-SDict begin [ /View [/XYZ H.V] /Dest (452) cvn H.B /DEST pdfmark end
- 38840 40669 a FP(apropos)p
-FU(\(1\))g(a)-31 b(v)-39 b(ailable)-30 42683 y(to)548
-b(you,)g(whose)f(shared)h(purpose)f(is)h(to)f(mak)-15
-b(e)547 b(it)h(easier)g(to)f(\002nd)g(information)g(in)h(the)f(man)-30
-44698 y(system.)-30 45808 y
-SDict begin H.S end
- -30 45808 a -30 45808 a
-SDict begin 18.2 H.A end
- -30
-45808 a -30 45808 a
-SDict begin [ /View [/XYZ H.V] /Dest (453) cvn H.B /DEST pdfmark end
- -30 45808 a 1680 x FU(The)312 b(command)9117
-47488 y
-SDict begin H.S end
- 9117 47488 a 9117 47488 a
-SDict begin 18.2 H.A end
- 9117 47488 a 9117 47488
-a
-SDict begin [ /View [/XYZ H.V] /Dest (454) cvn H.B /DEST pdfmark end
- 9117 47488 a FP(whatis)f FU(gi)-39 b(v)-23 b(es)312
-b(a)h(v)-23 b(ery)312 b(brief)g(description)f(of)h(system)g(commands,)f
-(some)-39 b(what)-30 49502 y(in)387 b(the)g(style)g(of)h(a)f(pock)-15
-b(et)387 b(command)f(reference.)-30 50613 y
-SDict begin H.S end
- -30 50613
-a -30 50613 a
-SDict begin 18.2 H.A end
- -30 50613 a -30 50613 a
-SDict begin [ /View [/XYZ H.V] /Dest (455) cvn H.B /DEST pdfmark end
- -30 50613 a 1679
-x FU(Example:)-30 54177 y
-SDict begin H.S end
- -30 54177 a -30 54177 a
-SDict begin 14.56 H.A end
- -30
-54177 a -30 54177 a
-SDict begin [ /View [/XYZ H.V] /Dest (456) cvn H.B /DEST pdfmark end
- -30 54177 a -30 54177 a
-SDict begin H.S end
- -30 54177
-a -30 54177 a
-SDict begin 14.56 H.A end
- -30 54177 a -30 54177 a
-SDict begin [ /View [/XYZ H.V] /Dest (457) cvn H.B /DEST pdfmark end
- -30 54177 a 1276
-x FJ(\045)1309 55453 y
-SDict begin H.S end
- 1309 55453 a 1309 55453 a
-SDict begin 14.56 H.A end
- 1309
-55453 a 1309 55453 a
-SDict begin [ /View [/XYZ H.V] /Dest (458) cvn H.B /DEST pdfmark end
- 1309 55453 a FH(whatis)743 b(whatis)-30
-57065 y FP(whatis)g(\(1\))1488 b(-)743 b(search)h(the)f(whatis)g
-(database)g(for)h(complete)e(words)p Black -30 73672
-a FR(8)p Black eop end
-%%Page: 9 31
-TeXDict begin 9 30 bop -8000 -8000 a
-SDict begin /product where{pop product(Distiller)search{pop pop pop
-version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
-closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
-grestore}if}{pop}ifelse}{pop}ifelse}if end
- -8000 -8000 a Black
-0 TeXcolorgray -30 -1237 a
-SDict begin H.S end
- -30 -1237 a 0 TeXcolorgray
-0 TeXcolorgray -30 -1237 a
-SDict begin H.R end
- -30 -1237 a -30 -1237 a
-SDict begin [ /View [/XYZ H.V] /Dest (page.9) cvn H.B /DEST pdfmark
-end
- -30
--1237 a Black 42133 -1636 a FR(Chapter)387 b(2)g(Help)p
-Black -30 3611 a FU(The)327 b(command)9146 3611 y
-SDict begin H.S end
- 9146
-3611 a 9146 3611 a
-SDict begin 18.2 H.A end
- 9146 3611 a 9146 3611 a
-SDict begin [ /View [/XYZ H.V] /Dest (460) cvn H.B /DEST pdfmark end
- 9146 3611
-a FP(apropos)g FU(is)g(used)g(to)f(search)i(for)f(a)g(man)g(page)g
-(containing)f(a)h(gi)-39 b(v)-23 b(en)327 b(k)-15 b(e)-23
-b(yw)-15 b(ord.)-30 4721 y
-SDict begin H.S end
- -30 4721 a -30 4721 a
-SDict begin 18.2 H.A end
- -30
-4721 a -30 4721 a
-SDict begin [ /View [/XYZ H.V] /Dest (461) cvn H.B /DEST pdfmark end
- -30 4721 a 1680 x FU(Example:)-30 8286
-y
-SDict begin H.S end
- -30 8286 a -30 8286 a
-SDict begin 12.416 H.A end
- -30 8286 a -30 8286 a
-SDict begin [ /View [/XYZ H.V] /Dest (462) cvn H.B /DEST pdfmark end
- -30 8286
-a -30 8286 a
-SDict begin H.S end
- -30 8286 a -30 8286 a
-SDict begin 12.416 H.A end
- -30 8286 a -30 8286
-a
-SDict begin [ /View [/XYZ H.V] /Dest (463) cvn H.B /DEST pdfmark end
- -30 8286 a 1039 x FD(\045)1112 9325 y
-SDict begin H.S end
- 1112 9325 a 1112
-9325 a
-SDict begin 12.416 H.A end
- 1112 9325 a 1112 9325 a
-SDict begin [ /View [/XYZ H.V] /Dest (464) cvn H.B /DEST pdfmark end
- 1112 9325 a FC(apropos)637
-b(wav)-30 10699 y FB(cdda2wav)2540 b(\(1\))1270 b(-)635
-b(a)g(sampling)i(utility)g(that)e(dumps)h(CD)f(audio)i(data)e(into)h
-(wav)g(sound)g(files)-30 12074 y(netwave_cs)1272 b(\(4\))e(-)635
-b(Xircom)h(Creditcard)i(Netwave)f(device)f(driver)-30
-13448 y(oggdec)3808 b(\(1\))1270 b(-)635 b(simple)h(decoder,)h(Ogg)f
-(Vorbis)g(file)g(to)f(PCM)h(audio)g(file)g(\(WAV)f(or)g(RAW\))-30
-14822 y(wavelan)3174 b(\(4\))1270 b(-)635 b(AT&T)h(GIS)f(WaveLAN)i(ISA)
-e(device)i(driver)-30 16197 y(wavelan_cs)1272 b(\(4\))e(-)635
-b(AT&T)h(GIS)f(WaveLAN)i(PCMCIA)f(device)h(driver)-30
-17571 y(wvlan_cs)2540 b(\(4\))1270 b(-)635 b(Lucent)h(WaveLAN/IEEE)j
-(802.11)d(device)h(driver)-30 19245 y
-SDict begin H.S end
- -30 19245 a -30
-19245 a
-SDict begin 18.2 H.A end
- -30 19245 a -30 19245 a
-SDict begin [ /View [/XYZ H.V] /Dest (465) cvn H.B /DEST pdfmark end
- -30 19245 a 1891 x FU(If)488
-b(you')-77 b(d)487 b(lik)-15 b(e)487 b(further)h(information)f(on)h(an)
--23 b(y)488 b(of)g(these)f(commands,)h(read)g(their)f(man)h(pages)-30
-23150 y(for)388 b(the)f(details.)g(;\))-30 24203 y
-SDict begin H.S end
- -30
-24203 a -30 24203 a
-SDict begin 18.2 H.A end
- -30 24203 a -30 24203 a
-SDict begin [ /View [/XYZ H.V] /Dest (HELP-SYSTEM-DOC) cvn H.B /DEST
-pdfmark end
- -30 24203
-a 5239 x FG(The)518 b FA(/usr/do)n(c)487 b FG(Director)19
-b(y)-30 30757 y
-SDict begin H.S end
- -30 30757 a -30 30757 a
-SDict begin 18.2 H.A end
- -30 30757 a -30
-30757 a
-SDict begin [ /View [/XYZ H.V] /Dest (469) cvn H.B /DEST pdfmark end
- -30 30757 a 1630 x FU(The)332 b(source)g(for)g(most)g(packages)
-g(that)g(we)g(b)-31 b(uild)331 b(comes)h(with)g(some)f(sort)h(of)g
-(documentation:)-30 34401 y(README)619 b(\002les,)h(usage)g
-(instructions,)f(license)h(\002les,)g(etc.)h(An)-23 b(y)619
-b(sort)h(of)g(documentation)-30 36416 y(that)440 b(comes)f(with)h(the)g
-(source)g(is)f(included)h(and)g(installed)f(on)g(your)h(system)f(in)h
-(the)46765 36416 y
-SDict begin H.S end
- 46765 36416 a 46765 36416 a
-SDict begin 18.2 H.A end
- 46765
-36416 a 46765 36416 a
-SDict begin [ /View [/XYZ H.V] /Dest (470) cvn H.B /DEST pdfmark end
- 46765 36416 a FQ(/usr/doc)-30 38431
-y FU(directory)-101 b(.)373 b(Each)f(program)g(will)g(\(usually\))g
-(install)f(its)h(o)-39 b(wn)372 b(documentation)f(in)i(the)f(order)g
-(of:)-30 39541 y
-SDict begin H.S end
- -30 39541 a -30 39541 a
-SDict begin 18.2 H.A end
- -30 39541 a
--30 39541 a
-SDict begin [ /View [/XYZ H.V] /Dest (471) cvn H.B /DEST pdfmark end
- -30 39541 a -30 39541 a
-SDict begin H.S end
- -30 39541 a -30 39541
-a
-SDict begin 18.2 H.A end
- -30 39541 a -30 39541 a
-SDict begin [ /View [/XYZ H.V] /Dest (472) cvn H.B /DEST pdfmark end
- -30 39541 a 1679 x FQ(/usr/doc/$program-)55
-b($version)-30 42264 y
-SDict begin H.S end
- -30 42264 a -30 42264 a
-SDict begin 18.2 H.A end
- -30 42264
-a -30 42264 a
-SDict begin [ /View [/XYZ H.V] /Dest (474) cvn H.B /DEST pdfmark end
- -30 42264 a 1746 x FU(Where)4554 44010
-y
-SDict begin H.S end
- 4554 44010 a 4554 44010 a
-SDict begin 18.2 H.A end
- 4554 44010 a 4554 44010 a
-SDict begin [ /View [/XYZ H.V] /Dest (475) cvn H.B /DEST pdfmark end
-
-4554 44010 a Fz($program)476 b FU(is)454 b(the)g(name)g(of)g(the)g
-(program)g(you)g(are)g(w)-15 b(anting)453 b(to)h(read)g(about,)g(and)
--30 46025 y
-SDict begin H.S end
- -30 46025 a -30 46025 a
-SDict begin 18.2 H.A end
- -30 46025 a -30 46025
-a
-SDict begin [ /View [/XYZ H.V] /Dest (476) cvn H.B /DEST pdfmark end
- -30 46025 a Fz($version)422 b FU(is)h(\(ob)-23 b(viously\))421
-b(the)i(appropriate)g(v)-23 b(ersion)422 b(of)h(softw)-15
-b(are)422 b(package)h(installed)f(on)-30 48039 y(your)387
-b(system.)-30 49150 y
-SDict begin H.S end
- -30 49150 a -30 49150 a
-SDict begin 18.2 H.A end
- -30 49150
-a -30 49150 a
-SDict begin [ /View [/XYZ H.V] /Dest (477) cvn H.B /DEST pdfmark end
- -30 49150 a 1679 x FU(F)-23 b(or)372 b(e)-23
-b(xample,)373 b(to)f(read)h(the)f(documentation)g(for)h(the)f(command)
-35860 50829 y
-SDict begin H.S end
- 35860 50829 a 35860 50829 a
-SDict begin 18.2 H.A end
- 35860 50829
-a 35860 50829 a
-SDict begin [ /View [/XYZ H.V] /Dest (478) cvn H.B /DEST pdfmark end
- 35860 50829 a FP(man)p FU(\(1\))g(you)h(w)-15
-b(ould)371 b(w)-15 b(ant)372 b(to)-30 52843 y
-SDict begin H.S end
- -30 52843
-a -30 52843 a
-SDict begin 18.2 H.A end
- -30 52843 a -30 52843 a
-SDict begin [ /View [/XYZ H.V] /Dest (479) cvn H.B /DEST pdfmark end
- -30 52843 a FP(cd)387
-b FU(to:)-30 54419 y
-SDict begin H.S end
- -30 54419 a -30 54419 a
-SDict begin 14.56 H.A end
- -30 54419
-a -30 54419 a
-SDict begin [ /View [/XYZ H.V] /Dest (480) cvn H.B /DEST pdfmark end
- -30 54419 a -30 54419 a
-SDict begin H.S end
- -30 54419 a -30
-54419 a
-SDict begin 14.56 H.A end
- -30 54419 a -30 54419 a
-SDict begin [ /View [/XYZ H.V] /Dest (481) cvn H.B /DEST pdfmark end
- -30 54419 a 1586 x FJ(\045)1309
-56005 y
-SDict begin H.S end
- 1309 56005 a 1309 56005 a
-SDict begin 14.56 H.A end
- 1309 56005 a 1309 56005
-a
-SDict begin [ /View [/XYZ H.V] /Dest (482) cvn H.B /DEST pdfmark end
- 1309 56005 a FH(cd)744 b(/usr/doc/man-)13213 56005
-y
-SDict begin H.S end
- 13213 56005 a 13213 56005 a
-SDict begin 14.56 H.A end
- 13213 56005 a 13213 56005
-a
-SDict begin [ /View [/XYZ H.V] /Dest (483) cvn H.B /DEST pdfmark end
- 13213 56005 a Fy($version)-30 57723 y
-SDict begin H.S end
- -30 57723 a -30
-57723 a
-SDict begin 18.2 H.A end
- -30 57723 a -30 57723 a
-SDict begin [ /View [/XYZ H.V] /Dest (484) cvn H.B /DEST pdfmark end
- -30 57723 a 1846 x FU(If)305
-b(reading)f(the)h(appropriate)f(man)g(page\(s\))h(doesn')-28
-b(t)304 b(pro)-23 b(vide)304 b(you)g(with)g(enough)h(information,)-30
-61584 y(or)e(address)g(what)f(you')-77 b(re)303 b(looking)f(for)g(in)h
-(particular)-62 b(,)303 b(the)31522 61584 y
-SDict begin H.S end
- 31522 61584
-a 31522 61584 a
-SDict begin 18.2 H.A end
- 31522 61584 a 31522 61584 a
-SDict begin [ /View [/XYZ H.V] /Dest (485) cvn H.B /DEST pdfmark end
- 31522 61584
-a FQ(/usr/doc)298 b FU(directory)k(should)g(be)h(your)-30
-63599 y(ne)-23 b(xt)387 b(stop.)-30 64709 y
-SDict begin H.S end
- -30 64709
-a -30 64709 a
-SDict begin 18.2 H.A end
- -30 64709 a -30 64709 a
-SDict begin [ /View [/XYZ H.V] /Dest (HELP-SYSTEM-HOWTO) cvn H.B /DEST
-pdfmark end
- -30 64709 a Black
-51001 73792 a FR(9)p Black eop end
-%%Page: 10 32
-TeXDict begin 10 31 bop -8000 -8000 a
-SDict begin /product where{pop product(Distiller)search{pop pop pop
-version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
-closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
-grestore}if}{pop}ifelse}{pop}ifelse}if end
- -8000 -8000 a Black
-0 TeXcolorgray -30 -1237 a
-SDict begin H.S end
- -30 -1237 a 0 TeXcolorgray
-0 TeXcolorgray -30 -1237 a
-SDict begin H.R end
- -30 -1237 a -30 -1237 a
-SDict begin [ /View [/XYZ H.V] /Dest (page.10) cvn H.B /DEST pdfmark
-end
- -30
--1237 a Black -30 -2687 a
-SDict begin H.S end
- -30 -2687 a -30 -2687 a
-SDict begin 18.2 H.A end
- -30
--2687 a -30 -2687 a
-SDict begin [ /View [/XYZ H.V] /Dest (520) cvn H.B /DEST pdfmark end
- -30 -2687 a 1051 x FR(Chapter)387
-b(2)g(Help)p Black -30 3861 a FG(HO)-93 b(WT)-74 b(Os)516
-b(and)h(mini-HO)-93 b(WT)-74 b(Os)-30 3884 y
-SDict begin H.S end
- -30 3884
-a -30 3884 a
-SDict begin 18.2 H.A end
- -30 3884 a -30 3884 a
-SDict begin [ /View [/XYZ H.V] /Dest (488) cvn H.B /DEST pdfmark end
- -30 3884 a -30 4814
-a
-SDict begin H.S end
- -30 4814 a -30 4814 a
-SDict begin 18.2 H.A end
- -30 4814 a -30 4814 a
-SDict begin [ /View [/XYZ H.V] /Dest (490) cvn H.B /DEST pdfmark end
- -30 4814
-a 1991 x FU(It)768 b(is)f(in)g(the)h(truest)f(spirit)g(of)g(the)g(Open)
-h(Source)f(community)f(that)h(brings)g(us)h(to)f(the)-30
-8820 y(HO)-54 b(WT)-28 b(O/mini-HO)-54 b(WT)-28 b(O)531
-b(collection.)i(These)g(\002les)g(are)h(e)-23 b(xactly)533
-b(what)g(the)-23 b(y)533 b(sound)f(lik)-15 b(e)533 b(-)-30
-10835 y(documents)631 b(and)i(guides)e(describing)h(ho)-39
-b(w)632 b(to)g(do)h(stuf)-39 b(f.)632 b(If)h(you)f(installed)f(the)h
-(HO)-54 b(WT)-28 b(O)-30 12849 y(collection,)1050 b(the)g(HO)-54
-b(WT)-28 b(Os)1050 b(will)f(be)h(installed)g(to)32335
-12849 y
-SDict begin H.S end
- 32335 12849 a 32335 12849 a
-SDict begin 18.2 H.A end
- 32335 12849 a 32335
-12849 a
-SDict begin [ /View [/XYZ H.V] /Dest (491) cvn H.B /DEST pdfmark end
- 32335 12849 a FQ(/usr/doc/Linux-)55 b(HOWTOs)1037
-b FU(and)1050 b(the)-30 14864 y(mini-HO)-54 b(WT)-28
-b(Os)386 b(to)11596 14864 y
-SDict begin H.S end
- 11596 14864 a 11596 14864
-a
-SDict begin 18.2 H.A end
- 11596 14864 a 11596 14864 a
-SDict begin [ /View [/XYZ H.V] /Dest (492) cvn H.B /DEST pdfmark end
- 11596 14864 a FQ(/usr/doc/Linux-)55
-b(mini-)g(HOWTOs)p FU(.)-30 15046 y
-SDict begin H.S end
- -30 15046 a -30 15046
-a
-SDict begin 18.2 H.A end
- -30 15046 a -30 15046 a
-SDict begin [ /View [/XYZ H.V] /Dest (493) cvn H.B /DEST pdfmark end
- -30 15046 a -30 15821 a
-SDict begin H.S end
- -30
-15821 a -30 15821 a
-SDict begin 18.2 H.A end
- -30 15821 a -30 15821 a
-SDict begin [ /View [/XYZ H.V] /Dest (495) cvn H.B /DEST pdfmark end
- -30 15821
-a 1833 x FU(Also)668 b(included)f(in)h(the)f(same)h(package)g(series)g
-(is)g(a)g(collection)f(of)h(F)-115 b(A)-85 b(Qs,)668
-b(which)f(is)h(an)-30 19668 y(acron)-23 b(ym)387 b(which)g(stands)g
-(for)-30 20004 y
-SDict begin H.S end
- -30 20004 a -30 20004 a
-SDict begin 18.2 H.A end
- -30 20004 a
--30 20004 a
-SDict begin [ /View [/XYZ H.V] /Dest (496) cvn H.B /DEST pdfmark end
- -30 20004 a -30 22328 a
-SDict begin H.S end
- -30 22328 a -30 22328
-a
-SDict begin 18.2 H.A end
- -30 22328 a -30 22328 a
-SDict begin [ /View [/XYZ H.V] /Dest (497) cvn H.B /DEST pdfmark end
- -30 22328 a -30 22328 a
-SDict begin H.S end
- -30
-22328 a -30 22328 a
-SDict begin 18.2 H.A end
- -30 22328 a -30 22328 a
-SDict begin [ /View [/XYZ H.V] /Dest (table.3) cvn H.B /DEST pdfmark
-end
- -30 22328
-a 1727 x FR(F)53 b FU(requently)-30 26118 y FR(A)p FU(sk)-15
-b(ed)-30 28176 y FR(Q)p FU(uestions)-30 30058 y
-SDict begin H.S end
- -30 30058
-a -30 30058 a
-SDict begin 18.2 H.A end
- -30 30058 a -30 30058 a
-SDict begin [ /View [/XYZ H.V] /Dest (508) cvn H.B /DEST pdfmark end
- -30 30058 a 2015
-x FU(These)530 b(documents)f(are)h(written)f(in)h(a)21742
-32073 y
-SDict begin H.S end
- 21742 32073 a 21742 32073 a
-SDict begin 18.2 H.A end
- 21742 32073 a 21742
-32073 a
-SDict begin [ /View [/XYZ H.V] /Dest (509) cvn H.B /DEST pdfmark end
- 21742 32073 a FU(\223Question)f(and)h(answer\224)g(style)f(for)
-h(\(surprise\))g(Fre-)-30 34088 y(quently)609 b(Ask)-15
-b(ed)608 b(Questions.)h(The)g(F)-115 b(A)-85 b(Qs)609
-b(can)g(often)g(be)h(a)f(v)-23 b(ery)609 b(useful)g(place)g(to)g(look)g
-(if)-30 36102 y(you')-77 b(re)352 b(just)h(looking)f(for)g(a)15172
-36102 y
-SDict begin H.S end
- 15172 36102 a 15172 36102 a
-SDict begin 18.2 H.A end
- 15172 36102 a 15172
-36102 a
-SDict begin [ /View [/XYZ H.V] /Dest (510) cvn H.B /DEST pdfmark end
- 15172 36102 a FU(\223Quick)h(Fix\224)f(to)h(something.)f(If)h
-(you)g(decide)f(to)h(install)f(the)g(F)-115 b(A)-85 b(Qs)-30
-38117 y(during)387 b(setup,)g(you)g(will)g(\002nd)g(them)g(installed)f
-(to)h(the)29761 38117 y
-SDict begin H.S end
- 29761 38117 a 29761 38117 a
-SDict begin 18.2 H.A end
- 29761
-38117 a 29761 38117 a
-SDict begin [ /View [/XYZ H.V] /Dest (511) cvn H.B /DEST pdfmark end
- 29761 38117 a FQ(/usr/doc/Linux-)55
-b(FAQs)375 b FU(directory)-101 b(.)-30 39227 y
-SDict begin H.S end
- -30 39227
-a -30 39227 a
-SDict begin 18.2 H.A end
- -30 39227 a -30 39227 a
-SDict begin [ /View [/XYZ H.V] /Dest (512) cvn H.B /DEST pdfmark end
- -30 39227 a 1680
-x FU(These)491 b(\002les)f(are)h(well)g(w)-15 b(orth)490
-b(reading)g(whene)-39 b(v)-23 b(er)491 b(you')-77 b(re)490
-b(not)g(quite)h(sure)g(ho)-39 b(w)490 b(to)h(proceed)-30
-42921 y(with)514 b(something.)f(The)-23 b(y)514 b(co)-23
-b(v)g(er)514 b(an)g(amazing)g(range)g(of)g(topics,)g(more)g(often)g
-(than)g(not)g(in)g(a)-30 44936 y(surprisingly)386 b(detailed)h(manner)
--85 b(.)387 b(Good)g(stuf)-39 b(f!)-30 47596 y
-SDict begin H.S end
- -30 47596
-a -30 47596 a
-SDict begin 18.2 H.A end
- -30 47596 a -30 47596 a
-SDict begin [ /View [/XYZ H.V] /Dest (HELP-ONLINE) cvn H.B /DEST pdfmark
-end
- -30 47596 a 5789
-x FL(2.2)620 b(Online)h(Help)-30 54963 y
-SDict begin H.S end
- -30 54963 a
--30 54963 a
-SDict begin 18.2 H.A end
- -30 54963 a -30 54963 a
-SDict begin [ /View [/XYZ H.V] /Dest (515) cvn H.B /DEST pdfmark end
- -30 54963 a 1553
-x FU(In)385 b(addition)g(to)g(the)g(documentation)f(pro)-23
-b(vided)384 b(and)h(installable)f(with)h(the)g(Slackw)-15
-b(are)385 b(Linux)-30 58530 y(Operating)361 b(System,)g(there)g(are)h
-(a)g(v)-39 b(ast)361 b(multitude)f(of)i(online)f(resources)g(a)-31
-b(v)-39 b(ailable)361 b(for)h(you)f(to)-30 60545 y(learn)387
-b(from)h(as)f(well.)-30 60560 y
-SDict begin H.S end
- -30 60560 a -30 60560
-a
-SDict begin 18.2 H.A end
- -30 60560 a -30 60560 a
-SDict begin [ /View [/XYZ H.V] /Dest (HELP-ONLINE-OFFICIAL) cvn H.B
-/DEST pdfmark end
- -30 60560 a Black 13232 x FR(10)p
-Black eop end
-%%Page: 11 33
-TeXDict begin 11 32 bop -8000 -8000 a
-SDict begin /product where{pop product(Distiller)search{pop pop pop
-version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
-closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
-grestore}if}{pop}ifelse}{pop}ifelse}if end
- -8000 -8000 a Black
-0 TeXcolorgray -30 -1237 a
-SDict begin H.S end
- -30 -1237 a 0 TeXcolorgray
-0 TeXcolorgray -30 -1237 a
-SDict begin H.R end
- -30 -1237 a -30 -1237 a
-SDict begin [ /View [/XYZ H.V] /Dest (page.11) cvn H.B /DEST pdfmark
-end
- -30
--1237 a Black -30 -2687 a
-SDict begin H.S end
- -30 -2687 a -30 -2687 a
-SDict begin 18.2 H.A end
- -30
--2687 a -30 -2687 a
-SDict begin [ /View [/XYZ H.V] /Dest (541) cvn H.B /DEST pdfmark end
- -30 -2687 a 42133 -1636 a FR(Chapter)387
-b(2)g(Help)p Black -30 3861 a FG(The)518 b(Of\002cial)f(W)-65
-b(ebsite)517 b(and)g(Help)g(Forums)-30 5176 y
-SDict begin H.S end
- -30 5176
-a -30 5176 a
-SDict begin 18.2 H.A end
- -30 5176 a -30 5176 a
-SDict begin [ /View [/XYZ H.V] /Dest (518) cvn H.B /DEST pdfmark end
- -30 5176 a -30 5176
-a
-SDict begin H.S end
- -30 5176 a -30 5176 a
-SDict begin 18.2 H.A end
- -30 5176 a -30 5176 a
-SDict begin [ /View [/XYZ H.V] /Dest (519) cvn H.B /DEST pdfmark end
- -30 5176
-a 1629 x FU(The)387 b(Of)-39 b(\002cial)387 b(Slackw)-15
-b(are)387 b(W)-124 b(ebsite)19632 6185 y FT(1)-30 9595
-y FU(The)540 b(Of)-39 b(\002cial)540 b(Slackw)-15 b(are)539
-b(Linux)g(website)g(is)h(sometimes)e(out)i(of)g(date,)g(b)-31
-b(ut)540 b(still)f(contains)-30 11610 y(information)576
-b(rele)-39 b(v)g(ant)577 b(to)f(the)h(latest)f(Slackw)-15
-b(are)576 b(v)-23 b(ersions.)576 b(At)g(one)h(time)f(an)h(acti)-39
-b(v)-23 b(e)576 b(help)-30 13624 y(forum)425 b(e)-23
-b(xisted)424 b(there)h(before)g(a)h(horde)f(of)g(trolls,)f(troublemak)
--15 b(ers,)425 b(and)g(whiners)f(descended)-30 15639
-y(on)507 b(the)f(forum.)h(Maintaining)e(the)i(forum)f(w)-15
-b(as)506 b(be)-23 b(ginning)505 b(to)i(be)g(too)f(much)g(w)-15
-b(ork,)507 b(and)f(so)-30 17654 y(P)-23 b(at)493 b(shut)g(it)g(do)-39
-b(wn.)494 b(One)f(can)h(\002nd)f(that)g(old)g(forum)g(back)g(up)h(and)f
-(running)g(complete)f(with)-30 19668 y(searchable)387
-b(archi)-39 b(v)-23 b(es)388 b(of)f(the)g(old)g(data)g(at)p
-0 1 0 0 TeXcolorcmyk 23190 20022 a
-SDict begin H.S end
- 23190 20022 a 0 1 0 0
-TeXcolorcmyk -354 x FA(http://)n(w)l(w)l(w)l(.)l(u)l(s)l(e)l(r)l(l)l(o)
-l(c)l(a)l(l)l(.)l(c)l(o)l(m)l(/)l(p)l(h)l(o)l(r)l(u)l(m)l(/)p
-0 1 0 0 TeXcolorcmyk 49078 18561 a
-SDict begin H.R end
- 49078 18561 a 49078
-19668 a
-SDict begin [ /H /I /Border [0 0 0] /Color [0 1 1] /Action << /Subtype
-/URI /URI (http://www.userlocal.com/phorum/) >> /Subtype /Link H.B
-/ANN pdfmark end
- 49078 19668 a Black FU(.)-30 20797 y
-SDict begin H.S end
- -30 20797
-a -30 20797 a
-SDict begin 18.2 H.A end
- -30 20797 a -30 20797 a
-SDict begin [ /View [/XYZ H.V] /Dest (522) cvn H.B /DEST pdfmark end
- -30 20797 a 1661
-x FU(After)411 b(the)g(forums)f(were)h(tak)-15 b(en)411
-b(do)-39 b(wn)410 b(on)p 0 1 0 0 TeXcolorcmyk 23708 22812
-a
-SDict begin H.S end
- 23708 22812 a 0 1 0 0 TeXcolorcmyk -354 x FA(http://)n(s)l(l)l(a)l(c)
-l(k)l(w)l(a)l(r)l(e)l(.)l(c)l(o)l(m)p 0 1 0 0 TeXcolorcmyk
-39888 21351 a
-SDict begin H.R end
- 39888 21351 a 39888 22458 a
-SDict begin [ /H /I /Border [0 0 0] /Color [0 1 1] /Action << /Subtype
-/URI /URI (http://slackware.com) >> /Subtype /Link H.B /ANN pdfmark
-end
- 39888 22458
-a Black FU(,)i(se)-39 b(v)-23 b(eral)411 b(other)f(sites)-30
-24472 y(sprang)k(up)g(that)g(of)-39 b(fered)414 b(forum)g(support)g
-(for)g(Slackw)-15 b(are.)414 b(After)g(much)g(thought,)g(P)-23
-b(at)413 b(chose)-30 26487 y(to)387 b(endorse)p 0 1 0 0
-TeXcolorcmyk 6770 26841 a
-SDict begin H.S end
- 6770 26841 a 0 1 0 0 TeXcolorcmyk
--354 x FA(www.lin)n(u)l(x)l(q)l(u)l(e)l(s)l(t)l(i)l(o)l(n)l(s)l(.)l(o)l
-(r)l(g)p 0 1 0 0 TeXcolorcmyk 24568 25513 a
-SDict begin H.R end
- 24568 25513
-a 24568 26487 a
-SDict begin [ /H /I /Border [0 0 0] /Color [0 1 1] /Action << /Subtype
-/URI /URI (www.linuxquestions.org) >> /Subtype /Link H.B /ANN pdfmark
-end
- 24568 26487 a Black 388 w FU(as)g(the)g(of)-39
-b(\002cial)388 b(forum)e(for)i(Slackw)-15 b(are)386 b(Linux.)-30
-27616 y
-SDict begin H.S end
- -30 27616 a -30 27616 a
-SDict begin 18.2 H.A end
- -30 27616 a -30 27616
-a
-SDict begin [ /View [/XYZ H.V] /Dest (HELP-ONLINE-EMAIL) cvn H.B /DEST
-pdfmark end
- -30 27616 a 5163 x FG(E-mail)518 b(Suppor)37 b(t)-30
-33164 y
-SDict begin H.S end
- -30 33164 a -30 33164 a
-SDict begin 18.2 H.A end
- -30 33164 a -30 33164
-a
-SDict begin [ /View [/XYZ H.V] /Dest (527) cvn H.B /DEST pdfmark end
- -30 33164 a -30 34094 a
-SDict begin H.S end
- -30 34094 a -30 34094 a
-SDict begin 18.2 H.A end
- -30
-34094 a -30 34094 a
-SDict begin [ /View [/XYZ H.V] /Dest (530) cvn H.B /DEST pdfmark end
- -30 34094 a 1630 x FU(Ev)-23 b(eryone)361
-b(who)f(purchases)h(an)g(of)-39 b(\002cial)361 b(CD)f(set)h(is)g
-(entitled)f(to)h(free)g(installation)f(support)g(via)-30
-37738 y(e-mail)440 b(from)g(the)g(de)-39 b(v)-23 b(eloper)-85
-b(.)440 b(That)g(ha)-31 b(ving)439 b(been)h(said,)h(please)f(k)-15
-b(eep)439 b(in)h(mind)g(that)f(we,)i(the)-30 39753 y(de)-39
-b(v)-23 b(elopers,)531 b(\(and)g(a)h(v)-39 b(ast)531
-b(majority)f(of)i(users\))f(of)g(Slackw)-15 b(are)530
-b(are)i(of)39910 39753 y
-SDict begin H.S end
- 39910 39753 a 39910 39753 a
-SDict begin 18.2 H.A end
-
-39910 39753 a 39910 39753 a
-SDict begin [ /View [/XYZ H.V] /Dest (531) cvn H.B /DEST pdfmark end
- 39910 39753 a FU(\223The)f(Old)g
-(School\224.)-30 41768 y(That)422 b(means)f(that)g(we)h(prefer)g(to)g
-(help)f(those)h(who)f(ha)-31 b(v)-23 b(e)422 b(a)f(sincere)h(interest)f
-(and)h(are)g(willing)-30 43782 y(to)615 b(help)h(themselv)-23
-b(es)614 b(in)h(the)g(process.)h(W)-124 b(e)616 b(will)f(al)-15
-b(w)g(ays)614 b(do)h(our)g(best)h(to)f(help)g(e)-39 b(v)-23
-b(eryone)-30 45797 y(who)453 b(emails)g(us)h(with)f(support)f
-(questions.)h(Ho)-39 b(we)g(v)-23 b(er)-62 b(,)454 b(Please)f(check)h
-(your)f(documentation)-30 47812 y(and)461 b(the)f(website)h
-(\(especially)f(the)h(F)-115 b(A)-85 b(Qs)460 b(and)g(maybe)h(some)f
-(of)h(the)g(forums)f(listed)g(belo)-39 b(w\))-30 49826
-y(before)379 b(e-mailing.)g(Y)-170 b(ou)378 b(may)g(get)h(a)g(f)-15
-b(aster)378 b(answer)h(that)g(w)-15 b(ay)-101 b(,)379
-b(and)g(the)f(less)h(e-mail)f(we)h(ha)-31 b(v)-23 b(e)-30
-51841 y(to)387 b(answer)-62 b(,)388 b(ob)-23 b(viously)386
-b(the)h(sooner)g(we)h(will)e(be)i(of)f(assistance)g(to)g(those)g(that)g
-(need)g(it.)-30 52951 y
-SDict begin H.S end
- -30 52951 a -30 52951 a
-SDict begin 18.2 H.A end
- -30 52951
-a -30 52951 a
-SDict begin [ /View [/XYZ H.V] /Dest (532) cvn H.B /DEST pdfmark end
- -30 52951 a 1679 x FU(The)420 b(e-mail)f(address)g(for)h
-(technical)f(support)f(is:)27440 54630 y
-SDict begin H.S end
- 27440 54630
-a 27440 54630 a
-SDict begin 18.2 H.A end
- 27440 54630 a 27440 54630 a
-SDict begin [ /View [/XYZ H.V] /Dest (533) cvn H.B /DEST pdfmark end
- 27440 54630
-a FP(support@slackware.com)p FU(.)f(Other)i(e-mail)-30
-56645 y(addresses)387 b(and)g(contact)g(information)g(are)g(listed)g
-(on)g(the)g(website.)-30 56660 y
-SDict begin H.S end
- -30 56660 a -30 56660
-a
-SDict begin 18.2 H.A end
- -30 56660 a -30 56660 a
-SDict begin [ /View [/XYZ H.V] /Dest (534) cvn H.B /DEST pdfmark end
- -30 56660 a 4712 x FE(Slac)-31
-b(kware)428 b(Lin)-15 b(ux)430 b(Pr)-31 b(oject)429 b(Mailing)h(Lists)
--30 61717 y
-SDict begin H.S end
- -30 61717 a -30 61717 a
-SDict begin 18.2 H.A end
- -30 61717 a -30 61717
-a
-SDict begin [ /View [/XYZ H.V] /Dest (536) cvn H.B /DEST pdfmark end
- -30 61717 a -30 62491 a
-SDict begin H.S end
- -30 62491 a -30 62491 a
-SDict begin 18.2 H.A end
- -30
-62491 a -30 62491 a
-SDict begin [ /View [/XYZ H.V] /Dest (539) cvn H.B /DEST pdfmark end
- -30 62491 a 1670 x FU(W)-124 b(e)486
-b(ha)-31 b(v)-23 b(e)486 b(se)-39 b(v)-23 b(eral)486
-b(mailing)f(lists,)h(a)-31 b(v)-39 b(ailable)486 b(in)g(digest)f(and)h
-(normal)f(forms.)i(Check)e(the)h(in-)-30 66176 y(structions)386
-b(for)i(ho)-39 b(w)387 b(to)g(subscribe.)p Black -30
-67232 16000 45 v -30 68195 a Fx(1)249 b(http://www)-65
-b(.slackw)-10 b(are.com)p Black Black 50226 73792 a FR(11)p
-Black eop end
-%%Page: 12 34
-TeXDict begin 12 33 bop -8000 -8000 a
-SDict begin /product where{pop product(Distiller)search{pop pop pop
-version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
-closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
-grestore}if}{pop}ifelse}{pop}ifelse}if end
- -8000 -8000 a Black
-0 TeXcolorgray -30 -1237 a
-SDict begin H.S end
- -30 -1237 a 0 TeXcolorgray
-0 TeXcolorgray -30 -1237 a
-SDict begin H.R end
- -30 -1237 a -30 -1237 a
-SDict begin [ /View [/XYZ H.V] /Dest (page.12) cvn H.B /DEST pdfmark
-end
- -30
--1237 a Black -30 -2687 a
-SDict begin H.S end
- -30 -2687 a -30 -2687 a
-SDict begin 18.2 H.A end
- -30
--2687 a -30 -2687 a
-SDict begin [ /View [/XYZ H.V] /Dest (579) cvn H.B /DEST pdfmark end
- -30 -2687 a 1051 x FR(Chapter)387
-b(2)g(Help)p Black -30 2504 a
-SDict begin H.S end
- -30 2504 a -30 2504 a
-SDict begin 18.2 H.A end
- -30
-2504 a -30 2504 a
-SDict begin [ /View [/XYZ H.V] /Dest (540) cvn H.B /DEST pdfmark end
- -30 2504 a 1107 x FU(T)-124 b(o)387
-b(subscribe)g(to)g(a)h(mailing)e(list,)h(email:)-30 6401
-y FP(majordomo@slackware.com)-30 7370 y
-SDict begin H.S end
- -30 7370 a -30
-7370 a
-SDict begin 18.2 H.A end
- -30 7370 a -30 7370 a
-SDict begin [ /View [/XYZ H.V] /Dest (543) cvn H.B /DEST pdfmark end
- -30 7370 a 1820 x FU(with)578
-b(the)g(phrase)10399 9190 y
-SDict begin H.S end
- 10399 9190 a 10399 9190 a
-SDict begin 18.2 H.A end
-
-10399 9190 a 10399 9190 a
-SDict begin [ /View [/XYZ H.V] /Dest (544) cvn H.B /DEST pdfmark end
- 10399 9190 a FU(\223)11087
-9190 y
-SDict begin H.S end
- 11087 9190 a 11087 9190 a
-SDict begin 18.2 H.A end
- 11087 9190 a 11087 9190
-a
-SDict begin [ /View [/XYZ H.V] /Dest (545) cvn H.B /DEST pdfmark end
- 11087 9190 a FP(subscribe)18526 9190 y
-SDict begin H.S end
- 18526 9190 a
-18526 9190 a
-SDict begin 18.2 H.A end
- 18526 9190 a 18526 9190 a
-SDict begin [ /View [/XYZ H.V] /Dest (546) cvn H.B /DEST pdfmark end
- 18526 9190 a Fw([name)744
-b(of)f(list])p FU(\224)578 b(in)g(the)g(body)g(of)h(the)f(email.)g(The)
-h(list)-30 11205 y(choices)387 b(are)h(described)f(belo)-39
-b(w)387 b(\(use)g(one)h(the)f(names)g(belo)-39 b(w)387
-b(for)g(the)h(name)f(of)g(the)g(list\).)-30 12257 y
-SDict begin H.S end
- -30
-12257 a -30 12257 a
-SDict begin 18.2 H.A end
- -30 12257 a -30 12257 a
-SDict begin [ /View [/XYZ H.V] /Dest (547) cvn H.B /DEST pdfmark end
- -30 12257
-a 1737 x FU(Archi)-39 b(v)-23 b(es)387 b(of)g(the)h(mailing)e(list)h
-(can)g(be)h(found)f(on)g(Slackw)-15 b(are')-85 b(s)386
-b(website)h(at:)-30 15105 y
-SDict begin H.S end
- -30 15105 a -30 15105 a
-SDict begin 18.2 H.A end
- -30
-15105 a -30 15105 a
-SDict begin [ /View [/XYZ H.V] /Dest (548) cvn H.B /DEST pdfmark end
- -30 15105 a -30 15105 a
-SDict begin H.S end
- -30 15105
-a -30 15105 a
-SDict begin 18.2 H.A end
- -30 15105 a -30 15105 a
-SDict begin [ /View [/XYZ H.V] /Dest (549) cvn H.B /DEST pdfmark end
- -30 15105 a 1679
-x FP(http://slackware.com/lists/archive/)-30 16979 y
-SDict begin H.S end
-
--30 16979 a -30 16979 a
-SDict begin 18.2 H.A end
- -30 16979 a -30 16979 a
-SDict begin [ /View [/XYZ H.V] /Dest (550) cvn H.B /DEST pdfmark end
- -30 16979
-a -30 16979 a
-SDict begin H.S end
- -30 16979 a -30 16979 a
-SDict begin 18.2 H.A end
- -30 16979 a -30
-16979 a
-SDict begin [ /View [/XYZ H.V] /Dest (552) cvn H.B /DEST pdfmark end
- -30 16979 a -30 19303 a
-SDict begin H.S end
- -30 19303 a -30 19303
-a
-SDict begin 18.2 H.A end
- -30 19303 a -30 19303 a
-SDict begin [ /View [/XYZ H.V] /Dest (554) cvn H.B /DEST pdfmark end
- -30 19303 a -30 19303 a
-SDict begin H.S end
- -30
-19303 a -30 19303 a
-SDict begin 18.2 H.A end
- -30 19303 a -30 19303 a
-SDict begin [ /View [/XYZ H.V] /Dest (555) cvn H.B /DEST pdfmark end
- -30 19303
-a 1820 x FP(slackware-announce)-30 21149 y
-SDict begin H.S end
- -30 21149
-a -30 21149 a
-SDict begin 18.2 H.A end
- -30 21149 a -30 21149 a
-SDict begin [ /View [/XYZ H.V] /Dest (556) cvn H.B /DEST pdfmark end
- -30 21149 a Black
-Black 3070 23913 a
-SDict begin H.S end
- 3070 23913 a 3070 23913 a
-SDict begin 18.2 H.A end
- 3070 23913
-a 3070 23913 a
-SDict begin [ /View [/XYZ H.V] /Dest (557) cvn H.B /DEST pdfmark end
- 3070 23913 a FU(The)5972 23913 y
-SDict begin H.S end
- 5972
-23913 a 5972 23913 a
-SDict begin 18.2 H.A end
- 5972 23913 a 5972 23913 a
-SDict begin [ /View [/XYZ H.V] /Dest (558) cvn H.B /DEST pdfmark end
- 5972 23913
-a FP(slackware-announce)490 b FU(mailing)h(list)h(is)f(for)i
-(announcements)e(of)h(ne)-39 b(w)492 b(v)-23 b(ersions,)3070
-25927 y(major)387 b(updates)f(and)i(other)f(general)g(information.)-30
-27813 y
-SDict begin H.S end
- -30 27813 a -30 27813 a
-SDict begin 18.2 H.A end
- -30 27813 a -30 27813
-a
-SDict begin [ /View [/XYZ H.V] /Dest (560) cvn H.B /DEST pdfmark end
- -30 27813 a -30 27813 a
-SDict begin H.S end
- -30 27813 a -30 27813 a
-SDict begin 18.2 H.A end
- -30
-27813 a -30 27813 a
-SDict begin [ /View [/XYZ H.V] /Dest (561) cvn H.B /DEST pdfmark end
- -30 27813 a 1679 x FP(slackware-security)-30
-29687 y
-SDict begin H.S end
- -30 29687 a -30 29687 a
-SDict begin 18.2 H.A end
- -30 29687 a -30 29687
-a
-SDict begin [ /View [/XYZ H.V] /Dest (562) cvn H.B /DEST pdfmark end
- -30 29687 a Black Black 3070 32281 a
-SDict begin H.S end
- 3070 32281 a 3070
-32281 a
-SDict begin 18.2 H.A end
- 3070 32281 a 3070 32281 a
-SDict begin [ /View [/XYZ H.V] /Dest (563) cvn H.B /DEST pdfmark end
- 3070 32281 a FU(The)5807
-32281 y
-SDict begin H.S end
- 5807 32281 a 5807 32281 a
-SDict begin 18.2 H.A end
- 5807 32281 a 5807 32281
-a
-SDict begin [ /View [/XYZ H.V] /Dest (564) cvn H.B /DEST pdfmark end
- 5807 32281 a FP(slackware-security)325 b FU(mailing)i(list)f(is)i
-(for)f(announcements)f(relating)h(to)g(security)3070
-34296 y(issues.)564 b(An)-23 b(y)564 b(e)-23 b(xploits)563
-b(or)h(other)g(vulnerabilities)f(directly)h(pertaining)g(to)g(Slackw)
--15 b(are)3070 36311 y(will)386 b(get)i(posted)e(to)h(this)g(list)g
-(immediately)-101 b(.)-30 37421 y
-SDict begin H.S end
- -30 37421 a -30 37421
-a
-SDict begin 18.2 H.A end
- -30 37421 a -30 37421 a
-SDict begin [ /View [/XYZ H.V] /Dest (565) cvn H.B /DEST pdfmark end
- -30 37421 a 1679 x FU(These)550
-b(lists)f(are)h(also)g(a)-31 b(v)-39 b(ailable)550 b(in)f(digest)h
-(format.)g(This)f(means)h(that)g(you)f(get)h(one)g(lar)-28
-b(ge)-30 41115 y(message)311 b(per)h(day)f(instead)g(of)h(se)-39
-b(v)-23 b(eral)311 b(messages)g(throughout)g(the)g(day)-101
-b(.)312 b(Since)f(the)h(slackw)-15 b(are)-30 43130 y(mailing)398
-b(lists)g(do)g(not)g(allo)-39 b(w)399 b(users)f(to)g(post,)h(and)f(the)
-h(lists)e(are)i(such)g(lo)-39 b(w)398 b(traf)-39 b(\002c,)399
-b(most)f(users)-30 45144 y(\002nd)444 b(little)g(adv)-39
-b(antage)444 b(in)g(the)h(digest)f(lists.)g(Still,)g(the)-23
-b(y)444 b(are)g(a)-31 b(v)-39 b(ailable)445 b(if)f(you)g(w)-15
-b(ant)444 b(them)g(by)-30 47159 y(subscribing)386 b(to)9096
-47159 y
-SDict begin H.S end
- 9096 47159 a 9096 47159 a
-SDict begin 18.2 H.A end
- 9096 47159 a 9096 47159
-a
-SDict begin [ /View [/XYZ H.V] /Dest (566) cvn H.B /DEST pdfmark end
- 9096 47159 a FP(slackware-announce-digest)f FU(or)29759
-47159 y
-SDict begin H.S end
- 29759 47159 a 29759 47159 a
-SDict begin 18.2 H.A end
- 29759 47159 a 29759
-47159 a
-SDict begin [ /View [/XYZ H.V] /Dest (567) cvn H.B /DEST pdfmark end
- 29759 47159 a FP(slackware-security-digest)p
-FU(.)-30 49819 y
-SDict begin H.S end
- -30 49819 a -30 49819 a
-SDict begin 18.2 H.A end
- -30 49819 a
--30 49819 a
-SDict begin [ /View [/XYZ H.V] /Dest (HELP-ONLINE-NONOFFICIAL) cvn
-H.B /DEST pdfmark end
- -30 49819 a 5182 x FG(Non-Of\002cial)518
-b(W)-65 b(ebsites)517 b(and)g(Help)g(Forums)-30 55386
-y
-SDict begin H.S end
- -30 55386 a -30 55386 a
-SDict begin 18.2 H.A end
- -30 55386 a -30 55386 a
-SDict begin [ /View [/XYZ H.V] /Dest (570) cvn H.B /DEST pdfmark end
- -30
-55386 a 4341 x FE(W)-54 b(ebsites)-30 59746 y
-SDict begin H.S end
- -30 59746
-a -30 59746 a
-SDict begin 18.2 H.A end
- -30 59746 a -30 59746 a
-SDict begin [ /View [/XYZ H.V] /Dest (572) cvn H.B /DEST pdfmark end
- -30 59746 a -30
-62071 a
-SDict begin H.S end
- -30 62071 a -30 62071 a
-SDict begin 18.2 H.A end
- -30 62071 a -30 62071
-a
-SDict begin [ /View [/XYZ H.V] /Dest (574) cvn H.B /DEST pdfmark end
- -30 62071 a -30 62071 a
-SDict begin H.S end
- -30 62071 a -30 62071 a
-SDict begin 18.2 H.A end
- -30
-62071 a -30 62071 a
-SDict begin [ /View [/XYZ H.V] /Dest (575) cvn H.B /DEST pdfmark end
- -30 62071 a 1996 x FU(Google)387
-b(\()p 0 1 0 0 TeXcolorcmyk 5436 64421 a
-SDict begin H.S end
- 5436 64421 a
-0 1 0 0 TeXcolorcmyk -354 x FA(http://)n(w)l(w)l(w)l(.)l(g)l(o)l(o)l(g)
-l(l)l(e)l(.)l(c)l(o)l(m)p 0 1 0 0 TeXcolorcmyk 22425
-62960 a
-SDict begin H.R end
- 22425 62960 a 22425 64067 a
-SDict begin [ /H /I /Border [0 0 0] /Color [0 1 1] /Action << /Subtype
-/URI /URI (http://www.google.com) >> /Subtype /Link H.B /ANN pdfmark
-end
- 22425 64067 a Black
-FU(\))-30 64421 y
-SDict begin H.S end
- -30 64421 a -30 64421 a
-SDict begin 18.2 H.A end
- -30 64421 a
--30 64421 a
-SDict begin [ /View [/XYZ H.V] /Dest (576) cvn H.B /DEST pdfmark end
- -30 64421 a Black Black 3070 66856 a
-SDict begin H.S end
- 3070
-66856 a 3070 66856 a
-SDict begin 18.2 H.A end
- 3070 66856 a 3070 66856 a
-SDict begin [ /View [/XYZ H.V] /Dest (577) cvn H.B /DEST pdfmark end
- 3070 66856
-a FU(The)369 b(K)-23 b(ung-Fu)369 b(Master)g(of)h(Search)f(Engines.)h
-(When)f(you)h(absolutely)-101 b(,)369 b(positi)-39 b(v)-23
-b(ely)368 b(gotta)p Black -30 73792 a FR(12)p Black eop
-end
-%%Page: 13 35
-TeXDict begin 13 34 bop -8000 -8000 a
-SDict begin /product where{pop product(Distiller)search{pop pop pop
-version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
-closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
-grestore}if}{pop}ifelse}{pop}ifelse}if end
- -8000 -8000 a Black
-0 TeXcolorgray -30 -1237 a
-SDict begin H.S end
- -30 -1237 a 0 TeXcolorgray
-0 TeXcolorgray -30 -1237 a
-SDict begin H.R end
- -30 -1237 a -30 -1237 a
-SDict begin [ /View [/XYZ H.V] /Dest (page.13) cvn H.B /DEST pdfmark
-end
- -30
--1237 a Black -30 -2687 a
-SDict begin H.S end
- -30 -2687 a -30 -2687 a
-SDict begin 18.2 H.A end
- -30
--2687 a -30 -2687 a
-SDict begin [ /View [/XYZ H.V] /Dest (619) cvn H.B /DEST pdfmark end
- -30 -2687 a 42133 -1636 a FR(Chapter)387
-b(2)g(Help)p Black 3070 3611 a FU(\002nd)f(e)-39 b(v)-23
-b(ery)388 b(last)f(k)-15 b(ernel)387 b(of)g(information)f(on)h(a)h
-(subject:)e(Accept)i(no)f(substitutes.)-30 7176 y(Google:Linux)f(\()p
-0 1 0 0 TeXcolorcmyk 9569 7530 a
-SDict begin H.S end
- 9569 7530 a 0 1 0 0
-TeXcolorcmyk -354 x FA(http://)n(w)l(w)l(w)l(.)l(g)l(o)l(o)l(g)l(l)l(e)
-l(.)l(c)l(o)l(m)l(/)l(l)l(i)l(n)l(u)l(x)p 0 1 0 0 TeXcolorcmyk
-31412 6069 a
-SDict begin H.R end
- 31412 6069 a 31412 7176 a
-SDict begin [ /H /I /Border [0 0 0] /Color [0 1 1] /Action << /Subtype
-/URI /URI (http://www.google.com/linux) >> /Subtype /Link H.B /ANN
-pdfmark end
- 31412 7176 a Black
-FU(\))-30 7530 y
-SDict begin H.S end
- -30 7530 a -30 7530 a
-SDict begin 18.2 H.A end
- -30 7530 a -30
-7530 a
-SDict begin [ /View [/XYZ H.V] /Dest (581) cvn H.B /DEST pdfmark end
- -30 7530 a Black Black 3070 9965 a
-SDict begin H.S end
- 3070 9965 a
-3070 9965 a
-SDict begin 18.2 H.A end
- 3070 9965 a 3070 9965 a
-SDict begin [ /View [/XYZ H.V] /Dest (582) cvn H.B /DEST pdfmark end
- 3070 9965 a FU(Linux-Speci\002c)g
-(searches)-30 11850 y
-SDict begin H.S end
- -30 11850 a -30 11850 a
-SDict begin 18.2 H.A end
- -30 11850
-a -30 11850 a
-SDict begin [ /View [/XYZ H.V] /Dest (584) cvn H.B /DEST pdfmark end
- -30 11850 a -30 11850 a
-SDict begin H.S end
- -30 11850 a -30
-11850 a
-SDict begin 18.2 H.A end
- -30 11850 a -30 11850 a
-SDict begin [ /View [/XYZ H.V] /Dest (585) cvn H.B /DEST pdfmark end
- -30 11850 a 1679 x FU(Google:BSD)g(\()p
-0 1 0 0 TeXcolorcmyk 8881 13884 a
-SDict begin H.S end
- 8881 13884 a 0 1 0 0
-TeXcolorcmyk -355 x FA(http://)n(w)l(w)l(w)l(.)l(g)l(o)l(o)l(g)l(l)l(e)
-l(.)l(c)l(o)l(m)l(/)l(b)l(s)l(d)p 0 1 0 0 TeXcolorcmyk
-29106 12423 a
-SDict begin H.R end
- 29106 12423 a 29106 13529 a
-SDict begin [ /H /I /Border [0 0 0] /Color [0 1 1] /Action << /Subtype
-/URI /URI (http://www.google.com/bsd) >> /Subtype /Link H.B /ANN pdfmark
-end
- 29106 13529
-a Black FU(\))-30 13884 y
-SDict begin H.S end
- -30 13884 a -30 13884 a
-SDict begin 18.2 H.A end
- -30
-13884 a -30 13884 a
-SDict begin [ /View [/XYZ H.V] /Dest (586) cvn H.B /DEST pdfmark end
- -30 13884 a -30 13884 a
-SDict begin H.S end
- -30 13884
-a -30 13884 a
-SDict begin 18.2 H.A end
- -30 13884 a -30 13884 a
-SDict begin [ /View [/XYZ H.V] /Dest (588) cvn H.B /DEST pdfmark end
- -30 13884 a Black
-Black 3070 16319 a
-SDict begin H.S end
- 3070 16319 a 3070 16319 a
-SDict begin 18.2 H.A end
- 3070 16319
-a 3070 16319 a
-SDict begin [ /View [/XYZ H.V] /Dest (589) cvn H.B /DEST pdfmark end
- 3070 16319 a FU(BSD-Speci\002c)299 b(searches.)h(Slackw)
--15 b(are)300 b(is)g(so)g(generic)h(as)f(a)h(Unix)f(w)-15
-b(ork-a-lik)g(e)299 b(operating)3070 18334 y(system)362
-b(that)g(one)h(can)g(as)g(often)g(as)g(not)g(\002nd)f(v)-23
-b(ery)363 b(detailed)f(information)g(that)h(is)g(almost)3070
-20348 y(100\045)470 b(rele)-39 b(v)g(ant)471 b(to)g(Slackw)-15
-b(are)470 b(here.)h(Man)-23 b(y)470 b(times)g(a)h(BSD)f(search)h(re)-39
-b(v)-23 b(eals)471 b(f)-15 b(ar)470 b(more)3070 22363
-y(technical)387 b(information)f(than)h(the)g(often)g(PR-related)g
-(Linux)g(searches.)-30 23928 y
-SDict begin H.S end
- -30 23928 a -30 23928
-a
-SDict begin 18.2 H.A end
- -30 23928 a -30 23928 a
-SDict begin [ /View [/XYZ H.V] /Dest (591) cvn H.B /DEST pdfmark end
- -30 23928 a -30 23928 a
-SDict begin H.S end
- -30
-23928 a -30 23928 a
-SDict begin 18.2 H.A end
- -30 23928 a -30 23928 a
-SDict begin [ /View [/XYZ H.V] /Dest (592) cvn H.B /DEST pdfmark end
- -30 23928
-a 1999 x FU(Google:Groups)f(\()p 0 1 0 0 TeXcolorcmyk
-10429 26282 a
-SDict begin H.S end
- 10429 26282 a 0 1 0 0 TeXcolorcmyk -355
-x FA(http://)n(g)l(r)l(o)l(u)l(p)l(s)l(.)l(g)l(o)l(o)l(g)l(l)l(e)l(.)l
-(c)l(o)l(m)p 0 1 0 0 TeXcolorcmyk 29845 24821 a
-SDict begin H.R end
- 29845
-24821 a 29845 25927 a
-SDict begin [ /H /I /Border [0 0 0] /Color [0 1 1] /Action << /Subtype
-/URI /URI (http://groups.google.com) >> /Subtype /Link H.B /ANN pdfmark
-end
- 29845 25927 a Black FU(\))-30 26282
-y
-SDict begin H.S end
- -30 26282 a -30 26282 a
-SDict begin 18.2 H.A end
- -30 26282 a -30 26282 a
-SDict begin [ /View [/XYZ H.V] /Dest (593) cvn H.B /DEST pdfmark end
- -30
-26282 a Black Black 3070 28717 a
-SDict begin H.S end
- 3070 28717 a 3070 28717
-a
-SDict begin 18.2 H.A end
- 3070 28717 a 3070 28717 a
-SDict begin [ /View [/XYZ H.V] /Dest (594) cvn H.B /DEST pdfmark end
- 3070 28717 a FU(Search)h(through)g(decades)
-g(of)g(Usenet)g(posts)g(for)g(your)g(pearls)h(of)f(wisdom.)-30
-30602 y
-SDict begin H.S end
- -30 30602 a -30 30602 a
-SDict begin 18.2 H.A end
- -30 30602 a -30 30602
-a
-SDict begin [ /View [/XYZ H.V] /Dest (596) cvn H.B /DEST pdfmark end
- -30 30602 a 0 1 0 0 TeXcolorcmyk -30 32636 a
-SDict begin H.S end
- -30 32636
-a 0 1 0 0 TeXcolorcmyk -355 x FA(http://)n(u)l(s)l(e)l(r)l(l)l(o)l(c)l
-(a)l(l)l(.)l(c)l(o)l(m)p 0 1 0 0 TeXcolorcmyk 16150 31175
-a
-SDict begin H.R end
- 16150 31175 a 16150 32281 a
-SDict begin [ /H /I /Border [0 0 0] /Color [0 1 1] /Action << /Subtype
-/URI /URI (http://userlocal.com) >> /Subtype /Link H.B /ANN pdfmark
-end
- 16150 32281 a Black -30
-32636 a
-SDict begin H.S end
- -30 32636 a -30 32636 a
-SDict begin 18.2 H.A end
- -30 32636 a -30 32636
-a
-SDict begin [ /View [/XYZ H.V] /Dest (598) cvn H.B /DEST pdfmark end
- -30 32636 a Black Black 3070 35071 a
-SDict begin H.S end
- 3070 35071 a 3070
-35071 a
-SDict begin 18.2 H.A end
- 3070 35071 a 3070 35071 a
-SDict begin [ /View [/XYZ H.V] /Dest (599) cvn H.B /DEST pdfmark end
- 3070 35071 a FU(A)460
-b(virtual)g(treasure-tro)-23 b(v)g(e)459 b(of)i(kno)-39
-b(wledge,)460 b(good)g(advice,)g(\002rst-hand)g(e)-23
-b(xperience)460 b(and)3070 37086 y(interesting)372 b(articles.)h(Often)
-f(the)h(\002rst)g(place)g(you')-15 b(ll)371 b(hear)j(about)e(ne)-39
-b(w)373 b(de)-39 b(v)-23 b(elopments)372 b(in)3070 39100
-y(the)387 b(w)-15 b(orld)386 b(of)i(Slackw)-15 b(are.)-30
-39891 y
-SDict begin H.S end
- -30 39891 a -30 39891 a
-SDict begin 18.2 H.A end
- -30 39891 a -30 39891
-a
-SDict begin [ /View [/XYZ H.V] /Dest (600) cvn H.B /DEST pdfmark end
- -30 39891 a 5098 x FE(W)-54 b(eb-based)429 b(Resour)-31
-b(ces)-30 45008 y
-SDict begin H.S end
- -30 45008 a -30 45008 a
-SDict begin 18.2 H.A end
- -30 45008 a
--30 45008 a
-SDict begin [ /View [/XYZ H.V] /Dest (602) cvn H.B /DEST pdfmark end
- -30 45008 a -30 47333 a
-SDict begin H.S end
- -30 47333 a -30 47333
-a
-SDict begin 18.2 H.A end
- -30 47333 a -30 47333 a
-SDict begin [ /View [/XYZ H.V] /Dest (604) cvn H.B /DEST pdfmark end
- -30 47333 a -30 47333 a
-SDict begin H.S end
- -30
-47333 a -30 47333 a
-SDict begin 18.2 H.A end
- -30 47333 a -30 47333 a
-SDict begin [ /View [/XYZ H.V] /Dest (605) cvn H.B /DEST pdfmark end
- -30 47333
-a 1996 x FU(linuxquestions.or)j(g)11438 48709 y FT(6)-30
-49664 y
-SDict begin H.S end
- -30 49664 a -30 49664 a
-SDict begin 18.2 H.A end
- -30 49664 a -30 49664
-a
-SDict begin [ /View [/XYZ H.V] /Dest (606) cvn H.B /DEST pdfmark end
- -30 49664 a Black Black 3070 52118 a
-SDict begin H.S end
- 3070 52118 a 3070
-52118 a
-SDict begin 18.2 H.A end
- 3070 52118 a 3070 52118 a
-SDict begin [ /View [/XYZ H.V] /Dest (607) cvn H.B /DEST pdfmark end
- 3070 52118 a FU(The)387
-b(of)-39 b(\002cially)387 b(sanctioned)f(web-forum)h(for)h(Slackw)-15
-b(are)386 b(users.)-30 54003 y
-SDict begin H.S end
- -30 54003 a -30 54003
-a
-SDict begin 18.2 H.A end
- -30 54003 a -30 54003 a
-SDict begin [ /View [/XYZ H.V] /Dest (609) cvn H.B /DEST pdfmark end
- -30 54003 a -30 54003 a
-SDict begin H.S end
- -30
-54003 a -30 54003 a
-SDict begin 18.2 H.A end
- -30 54003 a -30 54003 a
-SDict begin [ /View [/XYZ H.V] /Dest (610) cvn H.B /DEST pdfmark end
- -30 54003
-a 1680 x FU(LinuxISO.or)-28 b(g)387 b(Slackw)-15 b(are)386
-b(F)-23 b(orum)19919 55063 y FT(7)-30 56018 y
-SDict begin H.S end
- -30 56018
-a -30 56018 a
-SDict begin 18.2 H.A end
- -30 56018 a -30 56018 a
-SDict begin [ /View [/XYZ H.V] /Dest (611) cvn H.B /DEST pdfmark end
- -30 56018 a Black
-Black 3070 58472 a
-SDict begin H.S end
- 3070 58472 a 3070 58472 a
-SDict begin 18.2 H.A end
- 3070 58472
-a 3070 58472 a
-SDict begin [ /View [/XYZ H.V] /Dest (612) cvn H.B /DEST pdfmark end
- 3070 58472 a 3070 58472 a
-SDict begin H.S end
- 3070 58472 a
-3070 58472 a
-SDict begin 18.2 H.A end
- 3070 58472 a 3070 58472 a
-SDict begin [ /View [/XYZ H.V] /Dest (613) cvn H.B /DEST pdfmark end
- 3070 58472 a FU(\223A)387
-b(place)g(to)g(do)-39 b(wnload)387 b(and)h(get)f(help)g(with)g
-(Linux.\224)p Black -30 59848 16000 45 v -30 60811 a
-Fx(6)249 b(http://www)-65 b(.linuxquestions.or)-18 b
-(g/questions/forumdisplay)-65 b(.php?forumid=14)-30 61852
-y(7)249 b(http://forums.linuxiso.or)-18 b(g/vie)-25 b(wforum.php?f=25)p
-Black Black 50226 73792 a FR(13)p Black eop end
-%%Page: 14 36
-TeXDict begin 14 35 bop -8000 -8000 a
-SDict begin /product where{pop product(Distiller)search{pop pop pop
-version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
-closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
-grestore}if}{pop}ifelse}{pop}ifelse}if end
- -8000 -8000 a Black
-0 TeXcolorgray -30 -1237 a
-SDict begin H.S end
- -30 -1237 a 0 TeXcolorgray
-0 TeXcolorgray -30 -1237 a
-SDict begin H.R end
- -30 -1237 a -30 -1237 a
-SDict begin [ /View [/XYZ H.V] /Dest (page.14) cvn H.B /DEST pdfmark
-end
- -30
--1237 a Black -399 x FR(Chapter)387 b(2)g(Help)p Black
--30 2504 a
-SDict begin H.S end
- -30 2504 a -30 2504 a
-SDict begin 18.2 H.A end
- -30 2504 a -30 2504
-a
-SDict begin [ /View [/XYZ H.V] /Dest (615) cvn H.B /DEST pdfmark end
- -30 2504 a -30 2504 a
-SDict begin H.S end
- -30 2504 a -30 2504 a
-SDict begin 18.2 H.A end
- -30 2504
-a -30 2504 a
-SDict begin [ /View [/XYZ H.V] /Dest (616) cvn H.B /DEST pdfmark end
- -30 2504 a 1250 x FU(alt.os.linux.slackw)-15
-b(are)387 b(F)-115 b(A)-85 b(Q)16714 3135 y FT(8)-30
-4032 y
-SDict begin H.S end
- -30 4032 a -30 4032 a
-SDict begin 18.2 H.A end
- -30 4032 a -30 4032 a
-SDict begin [ /View [/XYZ H.V] /Dest (617) cvn H.B /DEST pdfmark end
- -30
-4032 a Black Black 3070 6544 a
-SDict begin H.S end
- 3070 6544 a 3070 6544
-a
-SDict begin 18.2 H.A end
- 3070 6544 a 3070 6544 a
-SDict begin [ /View [/XYZ H.V] /Dest (618) cvn H.B /DEST pdfmark end
- 3070 6544 a FU(Another)387
-b(F)-115 b(A)-85 b(Q)-30 7596 y
-SDict begin H.S end
- -30 7596 a -30 7596 a
-SDict begin 18.2 H.A end
-
--30 7596 a -30 7596 a
-SDict begin [ /View [/XYZ H.V] /Dest (619) cvn H.B /DEST pdfmark end
- -30 7596 a 4837 x FE(Usenet)430
-b(Gr)-31 b(oups)429 b(\(NNTP\))-30 12754 y
-SDict begin H.S end
- -30 12754
-a -30 12754 a
-SDict begin 18.2 H.A end
- -30 12754 a -30 12754 a
-SDict begin [ /View [/XYZ H.V] /Dest (621) cvn H.B /DEST pdfmark end
- -30 12754 a -30
-12754 a
-SDict begin H.S end
- -30 12754 a -30 12754 a
-SDict begin 18.2 H.A end
- -30 12754 a -30 12754
-a
-SDict begin [ /View [/XYZ H.V] /Dest (624) cvn H.B /DEST pdfmark end
- -30 12754 a -30 13529 a
-SDict begin H.S end
- -30 13529 a -30 13529 a
-SDict begin 18.2 H.A end
- -30
-13529 a -30 13529 a
-SDict begin [ /View [/XYZ H.V] /Dest (626) cvn H.B /DEST pdfmark end
- -30 13529 a 1694 x FU(Usenet)519
-b(has)g(long)g(been)g(a)h(place)f(for)g(geeks)g(to)g(g)-8
-b(ather)520 b(and)f(help)g(one)g(another)-85 b(.)519
-b(There)h(are)-30 17237 y(fe)-39 b(w)453 b(ne)-39 b(wsgroups)451
-b(dedicated)h(to)g(Slackw)-15 b(are)451 b(Linux,)h(b)-31
-b(ut)452 b(the)-23 b(y)452 b(tend)g(to)g(be)g(\002lled)g(with)f(v)-23
-b(ery)-30 19252 y(kno)-39 b(wledgeable)387 b(people.)-30
-20362 y
-SDict begin H.S end
- -30 20362 a -30 20362 a
-SDict begin 18.2 H.A end
- -30 20362 a -30 20362
-a
-SDict begin [ /View [/XYZ H.V] /Dest (627) cvn H.B /DEST pdfmark end
- -30 20362 a -30 20362 a
-SDict begin H.S end
- -30 20362 a -30 20362 a
-SDict begin 18.2 H.A end
- -30
-20362 a -30 20362 a
-SDict begin [ /View [/XYZ H.V] /Dest (628) cvn H.B /DEST pdfmark end
- -30 20362 a 1679 x FP(alt.os.linux.slackware)-30
-22842 y
-SDict begin H.S end
- -30 22842 a -30 22842 a
-SDict begin 18.2 H.A end
- -30 22842 a -30 22842
-a
-SDict begin [ /View [/XYZ H.V] /Dest (629) cvn H.B /DEST pdfmark end
- -30 22842 a -30 22842 a
-SDict begin H.S end
- -30 22842 a -30 22842 a
-SDict begin 18.2 H.A end
- -30
-22842 a -30 22842 a
-SDict begin [ /View [/XYZ H.V] /Dest (630) cvn H.B /DEST pdfmark end
- -30 22842 a 1989 x FP(alt.os.linux.slackware)p
-FU(,)471 b(better)i(kno)-39 b(wn)473 b(as)g(aols)g(\(not)g(to)g(be)g
-(confused)g(with)46466 24831 y
-SDict begin H.S end
- 46466 24831 a 46466 24831
-a
-SDict begin 18.2 H.A end
- 46466 24831 a 46466 24831 a
-SDict begin [ /View [/XYZ H.V] /Dest (631) cvn H.B /DEST pdfmark end
- 46466 24831 a FU(A)-85
-b(OL\256!\))-30 26846 y(is)584 b(one)g(of)g(the)g(most)f(acti)-39
-b(v)-23 b(e)584 b(places)g(to)g(\002nd)f(technical)h(help)g(with)f
-(Slackw)-15 b(are)583 b(problems.)-30 28860 y(Lik)-15
-b(e)541 b(e)-39 b(v)-23 b(ery)541 b(Usenet)g(ne)-39 b(wsgroup,)541
-b(a)h(fe)-39 b(w)542 b(unhelpful)e(participants)h(\()38619
-28860 y
-SDict begin H.S end
- 38619 28860 a 38619 28860 a
-SDict begin 18.2 H.A end
- 38619 28860 a 38619
-28860 a
-SDict begin [ /View [/XYZ H.V] /Dest (632) cvn H.B /DEST pdfmark end
- 38619 28860 a FU(\223trolls\224\))f(can)i(mar)f(the)-30
-30875 y(e)-23 b(xperience)484 b(with)g(constant)g(ar)-28
-b(guing.)484 b(Learning)g(to)h(ignore)f(the)g(trolls)g(and)g
-(identifying)f(the)-30 32890 y(truly)387 b(helpful)g(people)g(is)g(k)
--15 b(e)-23 b(y)386 b(to)i(making)e(the)h(most)g(of)g(this)g(resource.)
-p Black -30 67513 16000 45 v -30 68476 a Fx(8)249 b(http://w)-10
-b(ombat.san-francisco.ca.us/perl/fom)p Black Black -30
-73792 a FR(14)p Black eop end
-%%Page: 15 37
-TeXDict begin 15 36 bop -8000 -8000 a
-SDict begin /product where{pop product(Distiller)search{pop pop pop
-version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
-closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
-grestore}if}{pop}ifelse}{pop}ifelse}if end
- -8000 -8000 a Black
-0 TeXcolorgray -30 -1358 a
-SDict begin H.S end
- -30 -1358 a 0 TeXcolorgray
-0 TeXcolorgray -30 -1358 a
-SDict begin H.R end
- -30 -1358 a -30 -1358 a
-SDict begin [ /View [/XYZ H.V] /Dest (page.15) cvn H.B /DEST pdfmark
-end
- -30
--1358 a Black Black -30 2383 a
-SDict begin H.S end
- -30 2383 a -30 2383 a
-SDict begin 18.2 H.A end
-
--30 2383 a -30 2383 a
-SDict begin [ /View [/XYZ H.V] /Dest (INSTALLATION) cvn H.B /DEST pdfmark
-end
- -30 2383 a 2345 x FS(Chapter)894
-b(3)-30 10743 y FO(Installation)p -30 18316 51806 56
-v -30 18316 a
-SDict begin H.S end
- -30 18316 a -30 18316 a
-SDict begin 18.2 H.A end
- -30 18316 a -30
-18316 a
-SDict begin [ /View [/XYZ H.V] /Dest (635) cvn H.B /DEST pdfmark end
- -30 18316 a -30 19091 a
-SDict begin H.S end
- -30 19091 a -30 19091
-a
-SDict begin 18.2 H.A end
- -30 19091 a -30 19091 a
-SDict begin [ /View [/XYZ H.V] /Dest (637) cvn H.B /DEST pdfmark end
- -30 19091 a 1051 x FU(Before)535
-b(you)g(can)g(use)f(Slackw)-15 b(are)534 b(Linux,)h(you')-15
-b(ll)534 b(ha)-31 b(v)-23 b(e)535 b(to)f(obtain)h(and)g(install)f(it.)h
-(Getting)-30 22157 y(Slackw)-15 b(are)507 b(is)g(as)g(easy)h(as)f
-(purchasing)g(it)g(or)h(do)-39 b(wnloading)506 b(it)h(for)h(free)g(o)
--23 b(v)g(er)506 b(the)i(Internet.)-30 24171 y(Installing)371
-b(it)h(is)g(also)g(easy)g(as)h(long)e(as)i(you)f(ha)-31
-b(v)-23 b(e)372 b(some)f(basic)h(kno)-39 b(wledge)372
-b(about)g(your)g(com-)-30 26186 y(puter)484 b(and)g(are)h(willing)e(to)
-h(learn)g(a)g(fe)-39 b(w)485 b(other)f(things.)g(The)g(installation)f
-(program)h(itself)f(is)-30 28201 y(v)-23 b(ery)426 b(much)h(a)f
-(step-by-step)g(process.)h(Because)f(of)h(this,)g(you)f(can)h(be)f(up)h
-(and)f(running)g(v)-23 b(ery)-30 30215 y(quickly)-101
-b(.)517 b(In)g(f)-15 b(act,)517 b(Slackw)-15 b(are)516
-b(boasts)g(one)h(of)f(the)h(lo)-39 b(west)516 b(installation)g(times)g
-(of)h(an)-23 b(y)516 b(full-)-30 32230 y(featured)387
-b(Linux)g(distrib)-31 b(ution.)-30 32245 y
-SDict begin H.S end
- -30 32245
-a -30 32245 a
-SDict begin 18.2 H.A end
- -30 32245 a -30 32245 a
-SDict begin [ /View [/XYZ H.V] /Dest (INSTALLATION-GETTING) cvn H.B
-/DEST pdfmark end
- -30 32245 a 6110
-x FL(3.1)620 b(Getting)g(Slac)-45 b(kware)-30 38851 y
-SDict begin H.S end
-
--30 38851 a -30 38851 a
-SDict begin 18.2 H.A end
- -30 38851 a -30 38851 a
-SDict begin [ /View [/XYZ H.V] /Dest (640) cvn H.B /DEST pdfmark end
- -30 38851
-a 4866 x FG(The)518 b(Of\002cial)f(Disc)f(and)i(Bo)-56
-b(x)517 b(Sets)-30 43740 y
-SDict begin H.S end
- -30 43740 a -30 43740 a
-SDict begin 18.2 H.A end
- -30
-43740 a -30 43740 a
-SDict begin [ /View [/XYZ H.V] /Dest (642) cvn H.B /DEST pdfmark end
- -30 43740 a -30 43740 a
-SDict begin H.S end
- -30 43740
-a -30 43740 a
-SDict begin 18.2 H.A end
- -30 43740 a -30 43740 a
-SDict begin [ /View [/XYZ H.V] /Dest (645) cvn H.B /DEST pdfmark end
- -30 43740 a -30
-43740 a
-SDict begin H.S end
- -30 43740 a -30 43740 a
-SDict begin 18.2 H.A end
- -30 43740 a -30 43740
-a
-SDict begin [ /View [/XYZ H.V] /Dest (647) cvn H.B /DEST pdfmark end
- -30 43740 a -30 44670 a
-SDict begin H.S end
- -30 44670 a -30 44670 a
-SDict begin 18.2 H.A end
- -30
-44670 a -30 44670 a
-SDict begin [ /View [/XYZ H.V] /Dest (649) cvn H.B /DEST pdfmark end
- -30 44670 a 1991 x FU(The)c(of)-39
-b(\002cial)512 b(Slackw)-15 b(are)512 b(Linux)g(CD)g(set)g(is)h(a)-31
-b(v)-39 b(ailable)512 b(from)h(Slackw)-15 b(are)511 b(Linux,)i(Inc.)g
-(The)-30 48676 y(CD)454 b(set)h(consists)e(of)i(4)f(discs.)h(The)f
-(\002rst)g(disk)g(contains)g(all)h(the)f(softw)-15 b(are)454
-b(needed)g(for)h(a)g(ba-)-30 50691 y(sic)504 b(serv)-23
-b(er)504 b(install,)g(and)h(the)f(X)g(windo)-39 b(w)504
-b(system.)g(The)g(second)g(cd)h(is)f(a)40984 50691 y
-SDict begin H.S end
-
-40984 50691 a 40984 50691 a
-SDict begin 18.2 H.A end
- 40984 50691 a 40984 50691
-a
-SDict begin [ /View [/XYZ H.V] /Dest (650) cvn H.B /DEST pdfmark end
- 40984 50691 a FU(\223li)-39 b(v)-23 b(e\224)505 b(cd;)f(that)g(is,)
--30 52705 y(a)434 b(bootable)e(cd)i(that)e(installs)h(into)f(RAM)h(and)
-g(gi)-39 b(v)-23 b(es)433 b(you)g(a)h(temporary)e(installation)g(to)h
-(play)-30 54720 y(around)481 b(with)f(or)h(do)g(a)h(data)f(or)g
-(machine)f(rescue.)i(This)e(cd)h(also)g(contains)f(a)i(fe)-39
-b(w)481 b(packages)-30 56735 y(such)467 b(as)g(the)f(KDE)h(and)g(GNOME)
-f(desktop)g(en)-62 b(vironments.)466 b(A)h(fe)-39 b(w)467
-b(other)g(goodies)f(are)h(in-)-30 58749 y(cluded)530
-b(on)f(the)h(second)g(cd)g(including)f(man)-23 b(y)529
-b(non-vital)g(packages)h(in)f(the)42792 58749 y
-SDict begin H.S end
- 42792
-58749 a 42792 58749 a
-SDict begin 18.2 H.A end
- 42792 58749 a 42792 58749 a
-SDict begin [ /View [/XYZ H.V] /Dest (651) cvn H.B /DEST pdfmark end
- 42792
-58749 a FU(\223e)-23 b(xtra\224)530 b(folder)-85 b(.)-30
-60764 y(The)353 b(third)f(and)h(fourth)g(CDs)f(contain)h(the)f(source)h
-(code)g(to)g(all)g(of)g(Slackw)-15 b(are,)352 b(along)h(with)f(the)-30
-62779 y(original)387 b(edition)f(of)i(this)e(book.)-30
-63889 y
-SDict begin H.S end
- -30 63889 a -30 63889 a
-SDict begin 18.2 H.A end
- -30 63889 a -30 63889
-a
-SDict begin [ /View [/XYZ H.V] /Dest (652) cvn H.B /DEST pdfmark end
- -30 63889 a 1679 x FU(One)363 b(may)h(also)f(purchase)g(a)g(box)-23
-b(ed)363 b(set)g(that)g(includes)g(the)g(4)g(discs)g(and)h(a)f(cop)-15
-b(y)363 b(of)g(this)g(book,)-30 67583 y(as)h(well)g(as)f(lots)h(of)g
-(neat)g(Slackw)-15 b(are)363 b(gear)h(to)f(sho)-39 b(w)364
-b(of)-39 b(f)364 b(your)g(geek)g(pride.)g(CD)f(subscriptions)p
-Black -30 73672 a
-SDict begin H.S end
- -30 73672 a -30 73672 a
-SDict begin 18.2 H.A end
- -30 73672 a
--30 73672 a
-SDict begin [ /View [/XYZ H.V] /Dest (656) cvn H.B /DEST pdfmark end
- -30 73672 a 50226 74722 a FR(15)p Black eop
-end
-%%Page: 16 38
-TeXDict begin 16 37 bop -8000 -8000 a
-SDict begin /product where{pop product(Distiller)search{pop pop pop
-version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
-closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
-grestore}if}{pop}ifelse}{pop}ifelse}if end
- -8000 -8000 a Black
-0 TeXcolorgray -30 -1358 a
-SDict begin H.S end
- -30 -1358 a 0 TeXcolorgray
-0 TeXcolorgray -30 -1358 a
-SDict begin H.R end
- -30 -1358 a -30 -1358 a
-SDict begin [ /View [/XYZ H.V] /Dest (page.16) cvn H.B /DEST pdfmark
-end
- -30
--1358 a Black -278 x FR(Chapter)387 b(3)g(Installation)p
-Black -30 3490 a FU(are)h(a)-31 b(v)-39 b(ailable)387
-b(at)g(a)h(reduced)f(rate)h(also.)-30 3505 y
-SDict begin H.S end
- -30 3505
-a -30 3505 a
-SDict begin 18.2 H.A end
- -30 3505 a -30 3505 a
-SDict begin [ /View [/XYZ H.V] /Dest (653) cvn H.B /DEST pdfmark end
- -30 3505 a 2775 x
-FU(The)302 b(preferred)f(method)g(for)h(shopping)f(for)g(Slackw)-15
-b(are)301 b(merchandise)g(is)g(online)g(at)h(the)f(Slack-)-30
-8294 y(w)-15 b(are)387 b(store.)-30 9085 y
-SDict begin H.S end
- -30 9085 a
--30 9085 a
-SDict begin 18.2 H.A end
- -30 9085 a -30 9085 a
-SDict begin [ /View [/XYZ H.V] /Dest (657) cvn H.B /DEST pdfmark end
- -30 9085 a 0 1 0 0 TeXcolorcmyk
--30 11438 a
-SDict begin H.S end
- -30 11438 a 0 1 0 0 TeXcolorcmyk -354 x FA(http://)n(s)l(t)
-l(o)l(r)l(e)l(.)l(s)l(l)l(a)l(c)l(k)l(w)l(a)l(r)l(e)l(.)l(c)l(o)l(m)p
-0 1 0 0 TeXcolorcmyk 21004 9977 a
-SDict begin H.R end
- 21004 9977 a 21004
-11084 a
-SDict begin [ /H /I /Border [0 0 0] /Color [0 1 1] /Action << /Subtype
-/URI /URI (http://store.slackware.com) >> /Subtype /Link H.B /ANN pdfmark
-end
- 21004 11084 a Black -30 12213 a
-SDict begin H.S end
- -30 12213 a -30
-12213 a
-SDict begin 18.2 H.A end
- -30 12213 a -30 12213 a
-SDict begin [ /View [/XYZ H.V] /Dest (659) cvn H.B /DEST pdfmark end
- -30 12213 a 1661 x FU(Y)-170
-b(ou)387 b(can)g(also)g(call)g(or)h(e-mail)f(your)g(order)g(in.)-30
-14209 y
-SDict begin H.S end
- -30 14209 a -30 14209 a
-SDict begin 18.2 H.A end
- -30 14209 a -30 14209
-a
-SDict begin [ /View [/XYZ H.V] /Dest (660) cvn H.B /DEST pdfmark end
- -30 14209 a 4004 x FX(T)-143 b(able)387 b(3-1.)h(Slackwar)-28
-b(e)386 b(Linux,)h(Inc.)g(Contact)g(Inf)-39 b(ormation)-30
-20032 y
-SDict begin H.S end
- -30 20032 a -30 20032 a
-SDict begin 18.2 H.A end
- -30 20032 a -30 20032
-a
-SDict begin [ /View [/XYZ H.V] /Dest (662) cvn H.B /DEST pdfmark end
- -30 20032 a -30 20032 a
-SDict begin H.S end
- -30 20032 a -30 20032 a
-SDict begin 18.2 H.A end
- -30
-20032 a -30 20032 a
-SDict begin [ /View [/XYZ H.V] /Dest (table.4) cvn H.B /DEST pdfmark
-end
- -30 20032 a 1761 x FE(Method)11759
-b(Contact)430 b(Details)p -30 22170 51806 45 v -30 22170
-V -30 23930 a FU(T)-108 b(elephone)10835 b(1-\(925\))387
-b(674-0783)-30 26027 y(W)-124 b(ebsite)12314 b(http://store.slackw)-15
-b(are.com)-30 28123 y(Email)13566 b(orders@slackw)-15
-b(are.com)-30 30216 y(Postal)13479 b(1164)387 b(Claremont)f(Dri)-39
-b(v)-23 b(e,)388 b(Brentw)-15 b(ood,)386 b(CA)h(94513)-30
-32098 y
-SDict begin H.S end
- -30 32098 a -30 32098 a
-SDict begin 18.2 H.A end
- -30 32098 a -30 32098
-a
-SDict begin [ /View [/XYZ H.V] /Dest (682) cvn H.B /DEST pdfmark end
- -30 32098 a 5185 x FG(Via)517 b(the)h(Internet)-30
-38236 y
-SDict begin H.S end
- -30 38236 a -30 38236 a
-SDict begin 18.2 H.A end
- -30 38236 a -30 38236
-a
-SDict begin [ /View [/XYZ H.V] /Dest (684) cvn H.B /DEST pdfmark end
- -30 38236 a 1992 x FU(Slackw)-15 b(are)502 b(Linux)f(is)h(also)g
-(freely)g(a)-31 b(v)-39 b(ailable)503 b(o)-23 b(v)g(er)501
-b(the)h(Internet.)h(Y)-170 b(ou)501 b(may)h(email)g(in)g(your)-30
-42242 y(support)377 b(questions,)f(b)-31 b(ut)377 b(higher)g(priority)g
-(will)g(be)g(gi)-39 b(v)-23 b(en)377 b(to)g(those)g(who)g(ha)-31
-b(v)-23 b(e)377 b(purchased)g(the)-30 44257 y(of)-39
-b(\002cial)387 b(CD)g(set.)g(W)-62 b(ith)387 b(that)f(said,)i(we)f(get)
-g(a)g(lot)f(of)i(e-mails)e(and)h(our)g(time)g(is)f(rather)i(limited.)
--30 46272 y(Before)f(e-mailing)g(for)g(support)g(consider)g(reading)p
-0 TeXcolorgray 28806 46272 a
-SDict begin H.S end
- 28806 46272 a FU(Chapter)g(2)34875
-46272 y
-SDict begin 18.2 H.L end
- 34875 46272 a 34875 46272 a
-SDict begin [ /Subtype /Link /Dest (HELP) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 34875 46272 a Black
-387 w FU(\002rst.)-30 47382 y
-SDict begin H.S end
- -30 47382 a -30 47382 a
-SDict begin 18.2 H.A end
-
--30 47382 a -30 47382 a
-SDict begin [ /View [/XYZ H.V] /Dest (686) cvn H.B /DEST pdfmark end
- -30 47382 a 1679 x FU(The)g(of)-39
-b(\002cial)387 b(Slackw)-15 b(are)387 b(Linux)g(Project)g(website)f(is)
-h(located)g(at:)-30 50172 y
-SDict begin H.S end
- -30 50172 a -30 50172 a
-SDict begin 18.2 H.A end
- -30
-50172 a -30 50172 a
-SDict begin [ /View [/XYZ H.V] /Dest (687) cvn H.B /DEST pdfmark end
- -30 50172 a 0 1 0 0 TeXcolorcmyk
--30 52205 a
-SDict begin H.S end
- -30 52205 a 0 1 0 0 TeXcolorcmyk -354 x FA(http://)n(w)l(w)
-l(w)l(.)l(s)l(l)l(a)l(c)l(k)l(w)l(a)l(r)l(e)l(.)l(c)l(o)l(m)l(/)p
-0 1 0 0 TeXcolorcmyk 20195 50744 a
-SDict begin H.R end
- 20195 50744 a 20195
-51851 a
-SDict begin [ /H /I /Border [0 0 0] /Color [0 1 1] /Action << /Subtype
-/URI /URI (http://www.slackware.com/) >> /Subtype /Link H.B /ANN pdfmark
-end
- 20195 51851 a Black -30 52980 a
-SDict begin H.S end
- -30 52980 a -30
-52980 a
-SDict begin 18.2 H.A end
- -30 52980 a -30 52980 a
-SDict begin [ /View [/XYZ H.V] /Dest (689) cvn H.B /DEST pdfmark end
- -30 52980 a 1660 x FU(The)g(primary)g
-(FTP)g(location)g(for)g(Slackw)-15 b(are)387 b(Linux)f(is:)-30
-55751 y
-SDict begin H.S end
- -30 55751 a -30 55751 a
-SDict begin 18.2 H.A end
- -30 55751 a -30 55751
-a
-SDict begin [ /View [/XYZ H.V] /Dest (690) cvn H.B /DEST pdfmark end
- -30 55751 a 0 1 0 0 TeXcolorcmyk -30 57784 a
-SDict begin H.S end
- -30 57784
-a 0 1 0 0 TeXcolorcmyk -354 x FA(ftp://f)n(t)l(p)l(.)l(s)l(l)l(a)l(c)l
-(k)l(w)l(a)l(r)l(e)l(.)l(c)l(o)l(m)l(/)l(p)l(u)l(b)l(/)l(s)l(l)l(a)l(c)
-l(k)l(w)l(a)l(r)l(e)l(/)p 0 1 0 0 TeXcolorcmyk 30712
-56323 a
-SDict begin H.R end
- 30712 56323 a 30712 57430 a
-SDict begin [ /H /I /Border [0 0 0] /Color [0 1 1] /Action << /Subtype
-/URI /URI (ftp://ftp.slackware.com/pub/slackware/) >> /Subtype /Link
-H.B /ANN pdfmark end
- 30712 57430 a Black
--30 58559 a
-SDict begin H.S end
- -30 58559 a -30 58559 a
-SDict begin 18.2 H.A end
- -30 58559 a -30 58559
-a
-SDict begin [ /View [/XYZ H.V] /Dest (692) cvn H.B /DEST pdfmark end
- -30 58559 a 1660 x FU(Bear)919 b(in)g(mind)f(that)g(our)h(ftp)g
-(site,)g(while)f(open)h(for)g(general)g(use,)g(does)g(not)f(ha)-31
-b(v)-23 b(e)-30 62234 y(unlimited)943 b(bandwidth.)i(Please)f(consider)
-g(using)g(a)h(mirror)f(near)h(you)f(to)g(do)-39 b(wnload)-30
-64249 y(Slackw)-15 b(are.)1194 b(An)g(incomplete)g(list)f(of)i(mirrors)
-f(can)g(be)h(found)f(on)g(our)g(site)g(at)p 0 1 0 0 TeXcolorcmyk
--30 66618 a
-SDict begin H.S end
- -30 66618 a 0 1 0 0 TeXcolorcmyk -355 x FA(http://)n(w)l(w)
-l(w)l(.)l(s)l(l)l(a)l(c)l(k)l(w)l(a)l(r)l(e)l(.)l(c)l(o)l(m)l(/)l(g)l
-(e)l(t)l(s)l(l)l(a)l(c)l(k)p 0 1 0 0 TeXcolorcmyk 26667
-65157 a
-SDict begin H.R end
- 26667 65157 a 26667 66263 a
-SDict begin [ /H /I /Border [0 0 0] /Color [0 1 1] /Action << /Subtype
-/URI /URI (http://www.slackware.com/getslack) >> /Subtype /Link H.B
-/ANN pdfmark end
- 26667 66263 a Black
-FU(.)p Black -30 73672 a FR(16)p Black eop end
-%%Page: 17 39
-TeXDict begin 17 38 bop -8000 -8000 a
-SDict begin /product where{pop product(Distiller)search{pop pop pop
-version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
-closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
-grestore}if}{pop}ifelse}{pop}ifelse}if end
- -8000 -8000 a Black
-0 TeXcolorgray -30 -1237 a
-SDict begin H.S end
- -30 -1237 a 0 TeXcolorgray
-0 TeXcolorgray -30 -1237 a
-SDict begin H.R end
- -30 -1237 a -30 -1237 a
-SDict begin [ /View [/XYZ H.V] /Dest (page.17) cvn H.B /DEST pdfmark
-end
- -30
--1237 a Black 37999 -1636 a FR(Chapter)386 b(3)i(Installation)p
-Black -30 2504 a
-SDict begin H.S end
- -30 2504 a -30 2504 a
-SDict begin 18.2 H.A end
- -30 2504 a -30
-2504 a
-SDict begin [ /View [/XYZ H.V] /Dest (INSTALLATION-REQUIREMENTS) cvn
-H.B /DEST pdfmark end
- -30 2504 a 1628 x FL(3.2)620 b(System)h(Requirements)-30
-4594 y
-SDict begin H.S end
- -30 4594 a -30 4594 a
-SDict begin 18.2 H.A end
- -30 4594 a -30 4594 a
-SDict begin [ /View [/XYZ H.V] /Dest (696) cvn H.B /DEST pdfmark end
- -30
-4594 a -30 5710 a
-SDict begin H.S end
- -30 5710 a -30 5710 a
-SDict begin 18.2 H.A end
- -30 5710 a -30
-5710 a
-SDict begin [ /View [/XYZ H.V] /Dest (698) cvn H.B /DEST pdfmark end
- -30 5710 a 1553 x FU(An)387 b(easy)h(Slackw)-15
-b(are)386 b(installation)g(requires,)i(at)f(minimum,)f(the)35465
-7263 y
-SDict begin H.S end
- 35465 7263 a 35465 7263 a
-SDict begin 18.2 H.A end
- 35465 7263 a 35465 7263
-a
-SDict begin [ /View [/XYZ H.V] /Dest (699) cvn H.B /DEST pdfmark end
- 35465 7263 a 35465 7263 a
-SDict begin H.S end
- 35465 7263 a 35465 7263 a
-SDict begin 18.2 H.A end
-
-35465 7263 a 35465 7263 a
-SDict begin [ /View [/XYZ H.V] /Dest (702) cvn H.B /DEST pdfmark end
- 35465 7263 a 387 w FU(follo)-39
-b(wing:)-30 7598 y
-SDict begin H.S end
- -30 7598 a -30 7598 a
-SDict begin 18.2 H.A end
- -30 7598 a -30
-7598 a
-SDict begin [ /View [/XYZ H.V] /Dest (705) cvn H.B /DEST pdfmark end
- -30 7598 a 4004 x FX(T)-143 b(able)387 b(3-2.)h(System)f(Requir)
--28 b(ements)-30 13466 y
-SDict begin H.S end
- -30 13466 a -30 13466 a
-SDict begin 18.2 H.A end
- -30
-13466 a -30 13466 a
-SDict begin [ /View [/XYZ H.V] /Dest (707) cvn H.B /DEST pdfmark end
- -30 13466 a -30 13466 a
-SDict begin H.S end
- -30 13466
-a -30 13466 a
-SDict begin 18.2 H.A end
- -30 13466 a -30 13466 a
-SDict begin [ /View [/XYZ H.V] /Dest (table.5) cvn H.B /DEST pdfmark
-end
- -30 13466 a 1761
-x FE(Har)d(d)-23 b(ware)18893 b(Requirement)p -30 15604
-51806 45 v -30 15604 V -30 17364 a FU(Processor)19877
-b(586)-30 19458 y(RAM)22372 b(32)387 b(MB)-30 21551 y(Disk)g(Space)
-18887 b(1GB)-30 23647 y(Media)387 b(Dri)-39 b(v)-23 b(e)18089
-b(4x)387 b(CD-R)-62 b(OM)-30 25529 y
-SDict begin H.S end
- -30 25529 a -30
-25529 a
-SDict begin 18.2 H.A end
- -30 25529 a -30 25529 a
-SDict begin [ /View [/XYZ H.V] /Dest (725) cvn H.B /DEST pdfmark end
- -30 25529 a 1682 x FU(If)430
-b(you)f(ha)-31 b(v)-23 b(e)429 b(the)h(bootable)e(CD,)i(you)f(will)g
-(probably)g(not)g(need)h(a)f(\003opp)-15 b(y)428 b(dri)-39
-b(v)-23 b(e.)430 b(Of)g(course,)-30 29226 y(it)356 b(stands)g(to)f
-(reason)h(that)g(if)g(you)g(don')-28 b(t)356 b(possess)f(a)i(CD-R)-62
-b(OM)355 b(dri)-39 b(v)-23 b(e,)356 b(you)g(will)g(need)g(a)g(\003opp)
--15 b(y)-30 31241 y(dri)-39 b(v)-23 b(e)408 b(to)g(do)g(a)7761
-31241 y
-SDict begin H.S end
- 7761 31241 a 7761 31241 a
-SDict begin 18.2 H.A end
- 7761 31241 a 7761 31241
-a
-SDict begin [ /View [/XYZ H.V] /Dest (726) cvn H.B /DEST pdfmark end
- 7761 31241 a 7761 31241 a
-SDict begin H.S end
- 7761 31241 a 7761 31241 a
-SDict begin 18.2 H.A end
-
-7761 31241 a 7761 31241 a
-SDict begin [ /View [/XYZ H.V] /Dest (728) cvn H.B /DEST pdfmark end
- 7761 31241 a 409 w FU(netw)-15
-b(ork)407 b(install.)h(A)g(netw)-15 b(ork)407 b(card)i(is)f(required)g
-(for)g(an)h(NFS)e(install.)h(See)g(the)-30 33255 y(section)387
-b(called)g(NFS)g(for)g(more)g(information.)-30 34046
-y
-SDict begin H.S end
- -30 34046 a -30 34046 a
-SDict begin 18.2 H.A end
- -30 34046 a -30 34046 a
-SDict begin [ /View [/XYZ H.V] /Dest (731) cvn H.B /DEST pdfmark end
- -30
-34046 a 1999 x FU(The)315 b(disk)f(space)g(requirement)g(is)g(some)-39
-b(what)314 b(trick)-23 b(y)-101 b(.)315 b(The)f(1GB)g(recommendation)f
-(is)i(usually)-30 38060 y(safe)588 b(for)g(a)h(minimal)d(install,)i(b)
--31 b(ut)588 b(if)g(you)f(do)h(a)h(full)e(install,)h(you)g(will)f(need)
-h(around)g(tw)-15 b(o)-30 40074 y(gig)-8 b(abytes)371
-b(of)f(a)-31 b(v)-39 b(ailable)371 b(hard)g(disk)g(space)g(plus)f
-(additional)g(space)h(for)g(personal)f(\002les..)i(Most)-30
-42089 y(users)493 b(don')-28 b(t)494 b(do)f(a)h(full)f(install.)g(In)h
-(f)-15 b(act,)494 b(man)-23 b(y)493 b(run)g(Slackw)-15
-b(are)493 b(on)g(as)h(little)f(as)g(100MB)g(of)-30 44104
-y(hard)387 b(disk)g(space.)-30 44439 y
-SDict begin H.S end
- -30 44439 a -30
-44439 a
-SDict begin 18.2 H.A end
- -30 44439 a -30 44439 a
-SDict begin [ /View [/XYZ H.V] /Dest (732) cvn H.B /DEST pdfmark end
- -30 44439 a -30 45214
-a
-SDict begin H.S end
- -30 45214 a -30 45214 a
-SDict begin 18.2 H.A end
- -30 45214 a -30 45214 a
-SDict begin [ /View [/XYZ H.V] /Dest (735) cvn H.B /DEST pdfmark end
- -30
-45214 a 1679 x FU(Slackw)-15 b(are)643 b(can)g(be)h(installed)e(to)h
-(systems)g(with)g(less)g(RAM,)g(smaller)g(hard)h(dri)-39
-b(v)-23 b(es,)643 b(and)-30 48908 y(weak)-15 b(er)601
-b(CPUs,)f(b)-31 b(ut)601 b(doing)f(so)h(will)g(require)g(a)g(little)f
-(elbo)-39 b(w)601 b(grease.)g(If)g(you')-77 b(re)601
-b(up)g(for)g(a)-30 50923 y(little)401 b(w)-15 b(ork,)402
-b(tak)-15 b(e)401 b(a)h(look)g(at)g(the)18205 50923 y
-SDict begin H.S end
-
-18205 50923 a 18205 50923 a
-SDict begin 18.2 H.A end
- 18205 50923 a 18205 50923
-a
-SDict begin [ /View [/XYZ H.V] /Dest (736) cvn H.B /DEST pdfmark end
- 18205 50923 a FQ(LOWMEM.TXT)396 b FU(\002le)401 b(in)h(the)g(distrib)
--31 b(ution)400 b(tree)i(for)g(a)g(fe)-39 b(w)402 b(helpful)-30
-52937 y(hints.)-30 52952 y
-SDict begin H.S end
- -30 52952 a -30 52952 a
-SDict begin 18.2 H.A end
- -30
-52952 a -30 52952 a
-SDict begin [ /View [/XYZ H.V] /Dest (INSTALLATION-SOFTWARE-SERIES)
-cvn H.B /DEST pdfmark end
- -30 52952 a 5347 x FG(The)518 b(Software)g(Series)
--30 58322 y
-SDict begin H.S end
- -30 58322 a -30 58322 a
-SDict begin 18.2 H.A end
- -30 58322 a -30 58322
-a
-SDict begin [ /View [/XYZ H.V] /Dest (739) cvn H.B /DEST pdfmark end
- -30 58322 a -30 59252 a
-SDict begin H.S end
- -30 59252 a -30 59252 a
-SDict begin 18.2 H.A end
- -30
-59252 a -30 59252 a
-SDict begin [ /View [/XYZ H.V] /Dest (742) cvn H.B /DEST pdfmark end
- -30 59252 a 1992 x FU(F)-23 b(or)426
-b(reasons)h(of)g(simplicity)-101 b(,)426 b(Slackw)-15
-b(are)426 b(has)h(historically)f(been)h(di)-39 b(vided)426
-b(into)h(softw)-15 b(are)426 b(se-)-30 63258 y(ries.)461
-b(Once)f(called)10947 63258 y
-SDict begin H.S end
- 10947 63258 a 10947 63258
-a
-SDict begin 18.2 H.A end
- 10947 63258 a 10947 63258 a
-SDict begin [ /View [/XYZ H.V] /Dest (743) cvn H.B /DEST pdfmark end
- 10947 63258 a FU(\223disk)g(sets\224)g
-(because)g(the)-23 b(y)460 b(were)h(designed)e(for)i(\003opp)-15
-b(y-based)459 b(installa-)-30 65273 y(tion,)389 b(the)g(softw)-15
-b(are)389 b(series)g(are)h(no)-39 b(w)389 b(used)g(primarily)f(to)h
-(cate)-23 b(gorize)389 b(the)g(packages)h(included)-30
-67288 y(in)d(Slackw)-15 b(are.)387 b(T)-124 b(oday)-101
-b(,)388 b(\003opp)-15 b(y)386 b(installation)g(is)h(no)g(longer)g
-(possible.)p Black 50169 73792 a FR(17)p Black eop end
-%%Page: 18 40
-TeXDict begin 18 39 bop -8000 -8000 a
-SDict begin /product where{pop product(Distiller)search{pop pop pop
-version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
-closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
-grestore}if}{pop}ifelse}{pop}ifelse}if end
- -8000 -8000 a Black
-0 TeXcolorgray -30 -1237 a
-SDict begin H.S end
- -30 -1237 a 0 TeXcolorgray
-0 TeXcolorgray -30 -1237 a
-SDict begin H.R end
- -30 -1237 a -30 -1237 a
-SDict begin [ /View [/XYZ H.V] /Dest (page.18) cvn H.B /DEST pdfmark
-end
- -30
--1237 a Black -399 x FR(Chapter)387 b(3)g(Installation)p
-Black -30 2504 a
-SDict begin H.S end
- -30 2504 a -30 2504 a
-SDict begin 18.2 H.A end
- -30 2504 a -30
-2504 a
-SDict begin [ /View [/XYZ H.V] /Dest (744) cvn H.B /DEST pdfmark end
- -30 2504 a 1107 x FU(The)g(follo)-39 b(wing)387
-b(is)g(a)h(brief)f(description)f(of)i(each)f(softw)-15
-b(are)387 b(series.)-30 3947 y
-SDict begin H.S end
- -30 3947 a -30 3947 a
-SDict begin 18.2 H.A end
-
--30 3947 a -30 3947 a
-SDict begin [ /View [/XYZ H.V] /Dest (745) cvn H.B /DEST pdfmark end
- -30 3947 a 4003 x FX(T)-143 b(able)387
-b(3-3.)h(Softwar)-28 b(e)387 b(Series)-30 9519 y
-SDict begin H.S end
- -30
-9519 a -30 9519 a
-SDict begin 18.2 H.A end
- -30 9519 a -30 9519 a
-SDict begin [ /View [/XYZ H.V] /Dest (747) cvn H.B /DEST pdfmark end
- -30 9519 a -30
-9519 a
-SDict begin H.S end
- -30 9519 a -30 9519 a
-SDict begin 18.2 H.A end
- -30 9519 a -30 9519 a
-SDict begin [ /View [/XYZ H.V] /Dest (table.6) cvn H.B /DEST pdfmark
-end
- -30
-9519 a 1761 x FE(Series)5707 b(Contents)p -30 11656 51806
-45 v -30 11656 V -30 13417 a FU(A)9242 b(The)388 b(base)f(system.)g
-(Contains)f(enough)h(softw)-15 b(are)387 b(to)g(get)g(up)g(and)g
-(running)10331 15432 y(and)h(ha)-31 b(v)-23 b(e)387 b(a)g(te)-23
-b(xt)387 b(editor)g(and)g(basic)g(communication)f(program.)-30
-17528 y(AP)8380 b(V)-172 b(arious)387 b(applications)f(that)h(do)h(not)
-f(require)g(the)g(X)g(W)-62 b(indo)-39 b(w)387 b(System.)-30
-19625 y(D)9242 b(Program)387 b(de)-39 b(v)-23 b(elopment)386
-b(tools.)h(Compilers,)g(deb)-31 b(uggers,)387 b(interpreters,)10331
-21639 y(and)h(man)f(pages)g(are)g(all)h(here.)-30 23736
-y(E)9414 b(GNU)387 b(Emacs.)-30 25829 y(F)9499 b(F)-115
-b(A)-85 b(Qs,)388 b(HO)-54 b(WT)-28 b(Os,)387 b(and)g(other)g
-(miscellaneous)f(documentation.)-30 27922 y(GNOME)4679
-b(The)388 b(GNOME)e(desktop)h(en)-62 b(vironment.)-30
-30018 y(K)9242 b(The)388 b(source)f(code)g(for)h(the)f(Linux)f(k)-15
-b(ernel.)-30 32111 y(KDE)7176 b(The)388 b(K)f(Desktop)g(En)-62
-b(vironment.)386 b(An)h(X)h(en)-62 b(vironment)386 b(which)h(shares)g
-(a)10331 34126 y(lot)g(of)h(look-and-feel)e(features)i(with)f(MacOS)f
-(and)i(W)-62 b(indo)-39 b(ws.)387 b(The)g(Qt)10331 36141
-y(library)-101 b(,)388 b(which)f(KDE)g(requires,)h(is)f(also)g(in)g
-(this)g(series.)-30 38237 y(KDEI)6660 b(Internationalization)386
-b(packages)h(for)h(the)f(KDE)g(desktop.)-30 40333 y(L)9414
-b(Libraries.)388 b(Dynamically)e(link)-15 b(ed)386 b(libraries)h
-(required)g(by)g(man)-23 b(y)387 b(other)10331 42348
-y(programs.)-30 44445 y(N)9242 b(Netw)-15 b(orking)386
-b(programs.)h(Daemons,)h(mail)e(programs,)i(telnet,)f(ne)-39
-b(ws)10331 46459 y(readers,)388 b(and)f(so)h(on.)-30
-48552 y(T)9414 b(teT)-108 b(eX)387 b(document)g(formatting)f(system.)
--30 50649 y(TCL)7433 b(The)388 b(T)-124 b(ool)386 b(Command)h
-(Language.)g(Tk,)h(TclX,)f(and)h(TkDesk.)-30 52745 y(X)9242
-b(The)388 b(base)f(X)g(W)-62 b(indo)-39 b(w)387 b(System.)-30
-54842 y(XAP)7261 b(X)388 b(Applications)e(that)h(are)g(not)g(part)h(of)
-f(a)g(major)g(desktop)g(en)-62 b(vironment)10331 56856
-y(\(for)388 b(e)-23 b(xample,)387 b(Ghostscript)f(and)h(Netscape\).)-30
-58953 y(Y)9242 b(BSD)387 b(Console)f(g)-8 b(ames)-30
-60838 y
-SDict begin H.S end
- -30 60838 a -30 60838 a
-SDict begin 18.2 H.A end
- -30 60838 a -30 60838
-a
-SDict begin [ /View [/XYZ H.V] /Dest (INSTALLATION-METHODS) cvn H.B
-/DEST pdfmark end
- -30 60838 a Black 12954 x FR(18)p Black eop end
-%%Page: 19 41
-TeXDict begin 19 40 bop -8000 -8000 a
-SDict begin /product where{pop product(Distiller)search{pop pop pop
-version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
-closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
-grestore}if}{pop}ifelse}{pop}ifelse}if end
- -8000 -8000 a Black
-0 TeXcolorgray -30 -1237 a
-SDict begin H.S end
- -30 -1237 a 0 TeXcolorgray
-0 TeXcolorgray -30 -1237 a
-SDict begin H.R end
- -30 -1237 a -30 -1237 a
-SDict begin [ /View [/XYZ H.V] /Dest (page.19) cvn H.B /DEST pdfmark
-end
- -30
--1237 a Black 37999 -1636 a FR(Chapter)386 b(3)i(Installation)p
-Black -30 3861 a FG(Installation)518 b(Methods)-30 3884
-y
-SDict begin H.S end
- -30 3884 a -30 3884 a
-SDict begin 18.2 H.A end
- -30 3884 a -30 3884 a
-SDict begin [ /View [/XYZ H.V] /Dest (INSTALLATION-INSTALLATION-METHODS-FLOPPY)
-cvn H.B /DEST pdfmark end
- -30 3884
-a 4704 x FE(Flopp)-23 b(y)-30 8908 y
-SDict begin H.S end
- -30 8908 a -30 8908
-a
-SDict begin 18.2 H.A end
- -30 8908 a -30 8908 a
-SDict begin [ /View [/XYZ H.V] /Dest (807) cvn H.B /DEST pdfmark end
- -30 8908 a -30 9683 a
-SDict begin H.S end
- -30 9683
-a -30 9683 a
-SDict begin 18.2 H.A end
- -30 9683 a -30 9683 a
-SDict begin [ /View [/XYZ H.V] /Dest (810) cvn H.B /DEST pdfmark end
- -30 9683 a 1694 x
-FU(While)308 b(it)h(w)-15 b(as)308 b(once)h(possible)f(to)g(install)g
-(all)g(of)h(Slackw)-15 b(are)308 b(Linux)g(from)h(\003opp)-15
-b(y)307 b(disks,)i(the)f(in-)-30 13392 y(creasing)336
-b(size)h(of)g(softw)-15 b(are)336 b(packages)g(\(indeed,)h(of)f(some)h
-(indi)-39 b(vidual)335 b(programs\))h(has)h(forced)-30
-15406 y(the)408 b(abandonment)g(of)g(the)h(\003opp)-15
-b(y)407 b(install.)h(As)g(late)h(as)f(Slackw)-15 b(are)408
-b(v)-23 b(ersion)408 b(7.1)g(a)h(partial)f(in-)-30 17421
-y(stall)495 b(w)-15 b(as)496 b(possible)f(using)g(\003opp)-15
-b(y)494 b(disks.)i(The)g(A)f(and)h(N)g(series)f(could)h(be)g(nearly)f
-(entirely)-30 19436 y(installed,)446 b(pro)-23 b(viding)445
-b(a)h(base)g(system)f(from)h(which)g(to)g(install)f(the)h(rest)g(of)g
-(the)g(distrib)-31 b(ution.)-30 21450 y(If)481 b(you)g(are)h
-(considering)e(a)h(\003opp)-15 b(y)480 b(install)h(\(typically)f(on)h
-(older)g(hardw)-15 b(are\),)481 b(it)g(is)g(typically)-30
-23465 y(recommended)338 b(to)h(\002nd)g(another)g(w)-15
-b(ay)-101 b(,)339 b(or)g(use)g(an)g(older)g(release.)h(Slackw)-15
-b(are)338 b(4.0)h(is)g(still)f(v)-23 b(ery)-30 25480
-y(popular)387 b(for)g(this)g(reason,)h(as)f(is)g(7.0.)-30
-26590 y
-SDict begin H.S end
- -30 26590 a -30 26590 a
-SDict begin 18.2 H.A end
- -30 26590 a -30 26590
-a
-SDict begin [ /View [/XYZ H.V] /Dest (811) cvn H.B /DEST pdfmark end
- -30 26590 a 1679 x FU(Please)474 b(note)g(that)g(\003opp)-15
-b(y)473 b(disks)h(are)g(still)g(required)g(for)h(a)f(CD-R)-62
-b(OM)473 b(install)h(if)g(you)g(do)g(not)-30 30284 y(ha)-31
-b(v)-23 b(e)387 b(a)h(bootable)e(CD,)i(as)f(well)g(as)h(for)f(an)g(NFS)
-g(install.)-30 31283 y
-SDict begin H.S end
- -30 31283 a -30 31283 a
-SDict begin 18.2 H.A end
- -30 31283
-a -30 31283 a
-SDict begin [ /View [/XYZ H.V] /Dest (INSTALLATION-INSTALLLATION-METHODS-CDROM)
-cvn H.B /DEST pdfmark end
- -30 31283 a 4890 x FE(CD-R)-31 b(OM)-30
-36192 y
-SDict begin H.S end
- -30 36192 a -30 36192 a
-SDict begin 18.2 H.A end
- -30 36192 a -30 36192
-a
-SDict begin [ /View [/XYZ H.V] /Dest (814) cvn H.B /DEST pdfmark end
- -30 36192 a -30 36967 a
-SDict begin H.S end
- -30 36967 a -30 36967 a
-SDict begin 18.2 H.A end
- -30
-36967 a -30 36967 a
-SDict begin [ /View [/XYZ H.V] /Dest (817) cvn H.B /DEST pdfmark end
- -30 36967 a 1995 x FU(If)329 b(you)e(ha)-31
-b(v)-23 b(e)328 b(the)h(bootable)e(CD,)h(a)-31 b(v)-39
-b(ailable)329 b(in)f(the)g(of)-39 b(\002cial)328 b(disc)f(set)h
-(published)g(by)g(Slackw)-15 b(are)-30 40977 y(Linux,)426
-b(Inc.)i(\(see)e(the)h(section)e(called)i(Getting)f(Slackw)-15
-b(are\),)426 b(a)g(CD-based)g(installation)f(will)-30
-42992 y(be)337 b(a)g(bit)f(simpler)g(for)g(you.)h(If)g(not,)g(you)f
-(will)g(need)h(to)f(boot)g(from)h(\003oppies.)f(Also,)g(if)h(you)f(ha)
--31 b(v)-23 b(e)-30 45006 y(special)297 b(hardw)-15 b(are)297
-b(that)g(mak)-15 b(es)296 b(usage)h(of)g(the)g(k)-15
-b(ernel)297 b(on)g(the)g(bootable)g(CD)f(problematic,)h(you)-30
-47021 y(may)387 b(need)h(to)f(use)g(specialized)g(\003oppies.)-30
-48132 y
-SDict begin H.S end
- -30 48132 a -30 48132 a
-SDict begin 18.2 H.A end
- -30 48132 a -30 48132
-a
-SDict begin [ /View [/XYZ H.V] /Dest (818) cvn H.B /DEST pdfmark end
- -30 48132 a 1679 x FU(As)469 b(of)f(Slackw)-15 b(are)468
-b(v)-23 b(ersion)468 b(8.1,)i(a)e(ne)-39 b(w)469 b(method)f(is)h(used)f
-(for)h(creating)f(the)h(bootable)f(CDs,)-30 51825 y(which)461
-b(does)g(not)g(w)-15 b(ork)461 b(as)g(well)g(with)g(certain)g(\003ak)
--23 b(y)461 b(BIOS)f(chips)h(\(it)g(is)g(w)-15 b(orth)461
-b(noting)f(that)-30 53840 y(most)437 b(all)h(Linux)f(CDs)g(suf)-39
-b(fer)438 b(from)f(this)g(these)h(days\).)g(If)f(that)h(is)f(the)h
-(case,)g(we)g(recommend)-30 55855 y(booting)387 b(from)g(a)g(\003opp)
--15 b(y)386 b(disk.)-30 56965 y
-SDict begin H.S end
- -30 56965 a -30 56965
-a
-SDict begin 18.2 H.A end
- -30 56965 a -30 56965 a
-SDict begin [ /View [/XYZ H.V] /Dest (819) cvn H.B /DEST pdfmark end
- -30 56965 a 0 TeXcolorgray
--30 58644 a
-SDict begin H.S end
- -30 58644 a FU(Section)h(3.2.3)8106 58644
-y
-SDict begin 18.2 H.L end
- 8106 58644 a 8106 58644 a
-SDict begin [ /Subtype /Link /Dest (INSTALLATION-INSTALLATION-METHODS-BOOTDISK)
-cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 8106 58644 a Black 441 w
-FU(and)p 0 TeXcolorgray 11225 58644 a
-SDict begin H.S end
- 11225 58644 a FU(Section)g(3.2.5)
-19361 58644 y
-SDict begin 18.2 H.L end
- 19361 58644 a 19361 58644 a
-SDict begin [ /Subtype /Link /Dest (INSTALLATION-SUPPLEMENTAL-DISK)
-cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 19361 58644
-a Black 440 w FU(pro)-23 b(vide)440 b(information)f(on)i(choosing)e
-(and)h(creating)g(\003op-)-30 60659 y(pies)387 b(from)g(which)g(to)g
-(boot,)h(should)e(this)h(be)g(necessary)-101 b(.)-30
-61769 y
-SDict begin H.S end
- -30 61769 a -30 61769 a
-SDict begin 18.2 H.A end
- -30 61769 a -30 61769
-a
-SDict begin [ /View [/XYZ H.V] /Dest (822) cvn H.B /DEST pdfmark end
- -30 61769 a Black 50226 73792 a FR(19)p Black eop end
-%%Page: 20 42
-TeXDict begin 20 41 bop -8000 -8000 a
-SDict begin /product where{pop product(Distiller)search{pop pop pop
-version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
-closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
-grestore}if}{pop}ifelse}{pop}ifelse}if end
- -8000 -8000 a Black
-0 TeXcolorgray -30 -1237 a
-SDict begin H.S end
- -30 -1237 a 0 TeXcolorgray
-0 TeXcolorgray -30 -1237 a
-SDict begin H.R end
- -30 -1237 a -30 -1237 a
-SDict begin [ /View [/XYZ H.V] /Dest (page.20) cvn H.B /DEST pdfmark
-end
- -30
--1237 a Black -399 x FR(Chapter)387 b(3)g(Installation)p
-Black -30 3635 a FE(NFS)-30 3654 y
-SDict begin H.S end
- -30 3654 a -30 3654
-a
-SDict begin 18.2 H.A end
- -30 3654 a -30 3654 a
-SDict begin [ /View [/XYZ H.V] /Dest (824) cvn H.B /DEST pdfmark end
- -30 3654 a -30 4429 a
-SDict begin H.S end
- -30 4429
-a -30 4429 a
-SDict begin 18.2 H.A end
- -30 4429 a -30 4429 a
-SDict begin [ /View [/XYZ H.V] /Dest (827) cvn H.B /DEST pdfmark end
- -30 4429 a 1995 x
-FU(NFS)423 b(\(the)g(Netw)-15 b(ork)422 b(File)h(System\))g(is)g(a)g(w)
--15 b(ay)423 b(of)g(making)g(\002lesystems)f(a)-31 b(v)-39
-b(ailable)423 b(to)g(remote)-30 8439 y(machines.)351
-b(An)f(NFS)g(install)g(allo)-39 b(ws)351 b(you)f(to)h(install)f(Slackw)
--15 b(are)350 b(from)g(another)h(computer)f(on)-30 10454
-y(your)520 b(netw)-15 b(ork.)520 b(The)g(machine)f(from)h(which)g(you)g
-(are)g(installing)f(needs)h(to)f(be)i(con\002gured)-30
-12468 y(to)452 b(e)-23 b(xport)451 b(the)h(Slackw)-15
-b(are)451 b(distrib)-31 b(ution)450 b(tree)i(to)g(the)g(machine)f(to)h
-(which)f(you')-77 b(re)452 b(installing.)-30 14483 y(This,)387
-b(of)h(course,)f(in)-62 b(v)-31 b(olv)-23 b(es)387 b(some)g(kno)-39
-b(wledge)387 b(of)g(NFS,)g(which)g(is)g(co)-23 b(v)g(ered)387
-b(in)p 0 TeXcolorgray 44060 14483 a
-SDict begin H.S end
- 44060 14483 a FU(Section)g(5.6)
-51034 14483 y
-SDict begin 18.2 H.L end
- 51034 14483 a 51034 14483 a
-SDict begin [ /Subtype /Link /Dest (NETWORK-CONFIGURATION-NFS) cvn
-/H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 51034 14483
-a Black FU(.)-30 14818 y
-SDict begin H.S end
- -30 14818 a -30 14818 a
-SDict begin 18.2 H.A end
- -30
-14818 a -30 14818 a
-SDict begin [ /View [/XYZ H.V] /Dest (829) cvn H.B /DEST pdfmark end
- -30 14818 a -30 15593 a
-SDict begin H.S end
- -30 15593
-a -30 15593 a
-SDict begin 18.2 H.A end
- -30 15593 a -30 15593 a
-SDict begin [ /View [/XYZ H.V] /Dest (832) cvn H.B /DEST pdfmark end
- -30 15593 a 1679
-x FU(It)495 b(is)g(possible)g(to)g(perform)g(an)g(NFS)g(install)f(via)i
-(such)f(methods)f(as)h(PLIP)g(\(o)-23 b(v)g(er)495 b(a)g(parallel)-30
-19287 y(port\),)461 b(SLIP)-172 b(,)461 b(and)f(PPP)g(\(though)g(not)h
-(o)-23 b(v)g(er)460 b(a)h(modem)f(connection\).)h(Ho)-39
-b(we)g(v)-23 b(er)-62 b(,)461 b(we)g(recom-)-30 21302
-y(mend)374 b(the)f(use)h(of)g(a)g(netw)-15 b(ork)373
-b(card)h(if)g(a)-31 b(v)-39 b(ailable.)375 b(After)f(all,)g(installing)
-e(an)i(operating)g(system)-30 23316 y(through)387 b(your)g(printer)g
-(port)g(is)g(going)g(to)g(be)g(a)h(v)-23 b(ery)-101 b(,)388
-b(v)-23 b(ery)387 b(slo)-39 b(w)387 b(process.)-30 25977
-y
-SDict begin H.S end
- -30 25977 a -30 25977 a
-SDict begin 18.2 H.A end
- -30 25977 a -30 25977 a
-SDict begin [ /View [/XYZ H.V] /Dest (INSTALLATION-INSTALLATION-METHODS-BOOTDISK)
-cvn H.B /DEST pdfmark end
- -30
-25977 a 5181 x FG(Boot)518 b(Disk)-30 31181 y
-SDict begin H.S end
- -30 31181
-a -30 31181 a
-SDict begin 18.2 H.A end
- -30 31181 a -30 31181 a
-SDict begin [ /View [/XYZ H.V] /Dest (835) cvn H.B /DEST pdfmark end
- -30 31181 a -30
-32111 a
-SDict begin H.S end
- -30 32111 a -30 32111 a
-SDict begin 18.2 H.A end
- -30 32111 a -30 32111
-a
-SDict begin [ /View [/XYZ H.V] /Dest (838) cvn H.B /DEST pdfmark end
- -30 32111 a 1992 x FU(The)446 b(boot)f(disk)g(is)h(the)g(\003opp)-15
-b(y)444 b(you)i(actually)f(boot)g(from)h(to)g(be)-23
-b(gin)445 b(the)g(installation.)g(It)h(con-)-30 36117
-y(tains)339 b(a)g(compressed)f(k)-15 b(ernel)338 b(image)h(which)f(is)h
-(used)g(to)f(control)h(the)g(hardw)-15 b(are)338 b(during)h(instal-)-30
-38132 y(lation.)347 b(Therefore,)h(it)f(is)g(v)-23 b(ery)347
-b(much)g(required)g(\(unless)g(you')-77 b(re)346 b(booting)h(from)g
-(CD,)g(as)g(is)g(dis-)-30 40147 y(cussed)412 b(in)g(the)g(section)g
-(called)g(CD-R)-62 b(OM\).)412 b(The)g(boot)g(disks)g(are)g(located)g
-(in)g(the)45512 40147 y
-SDict begin H.S end
- 45512 40147 a 45512 40147 a
-SDict begin 18.2 H.A end
- 45512
-40147 a 45512 40147 a
-SDict begin [ /View [/XYZ H.V] /Dest (839) cvn H.B /DEST pdfmark end
- 45512 40147 a FQ(bootdisks/)-30
-42161 y FU(directory)387 b(in)g(the)g(distrib)-31 b(ution)386
-b(tree.)-30 43272 y
-SDict begin H.S end
- -30 43272 a -30 43272 a
-SDict begin 18.2 H.A end
- -30 43272
-a -30 43272 a
-SDict begin [ /View [/XYZ H.V] /Dest (840) cvn H.B /DEST pdfmark end
- -30 43272 a 1679 x FU(There)421 b(are)g(more)g(Slackw)-15
-b(are)419 b(boot)i(disks)f(than)g(you)h(can)g(shak)-15
-b(e)420 b(a)h(stick)f(at)h(\(which)f(is)h(to)f(say)-30
-46966 y(about)465 b(16\).)h(A)f(complete)g(list)f(of)i(boot)f(disks,)g
-(with)g(a)g(description)g(of)g(each,)h(is)f(a)-31 b(v)-39
-b(ailable)465 b(in)-30 48980 y(the)299 b(Slackw)-15 b(are)298
-b(distrib)-31 b(ution)297 b(tree)i(in)f(the)h(\002le)24914
-48980 y
-SDict begin H.S end
- 24914 48980 a 24914 48980 a
-SDict begin 18.2 H.A end
- 24914 48980 a 24914
-48980 a
-SDict begin [ /View [/XYZ H.V] /Dest (841) cvn H.B /DEST pdfmark end
- 24914 48980 a FQ(bootdisks/README.TXT)p FU(.)287
-b(Ho)-39 b(we)g(v)-23 b(er)-62 b(,)299 b(most)f(people)-30
-50995 y(are)485 b(able)f(to)h(use)f(the)12033 50995 y
-SDict begin H.S end
-
-12033 50995 a 12033 50995 a
-SDict begin 18.2 H.A end
- 12033 50995 a 12033 50995
-a
-SDict begin [ /View [/XYZ H.V] /Dest (842) cvn H.B /DEST pdfmark end
- 12033 50995 a FQ(bare.i)c FU(\(for)485 b(IDE)g(de)-39
-b(vices\))484 b(or)29535 50995 y
-SDict begin H.S end
- 29535 50995 a 29535
-50995 a
-SDict begin 18.2 H.A end
- 29535 50995 a 29535 50995 a
-SDict begin [ /View [/XYZ H.V] /Dest (843) cvn H.B /DEST pdfmark end
- 29535 50995 a FQ(scsi.s)d
-FU(\(for)j(SCSI)g(de)-39 b(vices\))484 b(boot)g(disk)-30
-53010 y(image.)-30 54120 y
-SDict begin H.S end
- -30 54120 a -30 54120 a
-SDict begin 18.2 H.A end
- -30
-54120 a -30 54120 a
-SDict begin [ /View [/XYZ H.V] /Dest (844) cvn H.B /DEST pdfmark end
- -30 54120 a 1679 x FU(See)p 0 TeXcolorgray
-2595 55799 a
-SDict begin H.S end
- 2595 55799 a FU(Section)387 b(3.2.6)10731
-55799 y
-SDict begin 18.2 H.L end
- 10731 55799 a 10731 55799 a
-SDict begin [ /Subtype /Link /Dest (INSTALLATION-MAKING-THE-DISKS)
-cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 10731 55799 a Black
-388 w FU(for)g(instructions)f(on)h(making)g(a)h(disk)e(from)i(an)f
-(image.)-30 56909 y
-SDict begin H.S end
- -30 56909 a -30 56909 a
-SDict begin 18.2 H.A end
- -30 56909
-a -30 56909 a
-SDict begin [ /View [/XYZ H.V] /Dest (846) cvn H.B /DEST pdfmark end
- -30 56909 a 1680 x FU(After)376 b(booting,)g(you)g(will)g
-(be)h(prompted)e(to)h(insert)g(the)h(root)f(disk.)g(W)-124
-b(e)376 b(recommend)g(that)g(you)-30 60603 y(just)387
-b(humor)g(the)g(boot)g(disk)g(and)g(play)g(along.)-30
-61714 y
-SDict begin H.S end
- -30 61714 a -30 61714 a
-SDict begin 18.2 H.A end
- -30 61714 a -30 61714
-a
-SDict begin [ /View [/XYZ H.V] /Dest (INSTALLATION-INSTALLATION-METHODS-ROOTDISK)
-cvn H.B /DEST pdfmark end
- -30 61714 a Black 12078 x FR(20)p Black eop end
-%%Page: 21 43
-TeXDict begin 21 42 bop -8000 -8000 a
-SDict begin /product where{pop product(Distiller)search{pop pop pop
-version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
-closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
-grestore}if}{pop}ifelse}{pop}ifelse}if end
- -8000 -8000 a Black
-0 TeXcolorgray -30 -1237 a
-SDict begin H.S end
- -30 -1237 a 0 TeXcolorgray
-0 TeXcolorgray -30 -1237 a
-SDict begin H.R end
- -30 -1237 a -30 -1237 a
-SDict begin [ /View [/XYZ H.V] /Dest (page.21) cvn H.B /DEST pdfmark
-end
- -30
--1237 a Black 37999 -1636 a FR(Chapter)386 b(3)i(Installation)p
-Black -30 3861 a FG(Root)518 b(Disk)-30 3884 y
-SDict begin H.S end
- -30 3884
-a -30 3884 a
-SDict begin 18.2 H.A end
- -30 3884 a -30 3884 a
-SDict begin [ /View [/XYZ H.V] /Dest (849) cvn H.B /DEST pdfmark end
- -30 3884 a -30 4814
-a
-SDict begin H.S end
- -30 4814 a -30 4814 a
-SDict begin 18.2 H.A end
- -30 4814 a -30 4814 a
-SDict begin [ /View [/XYZ H.V] /Dest (852) cvn H.B /DEST pdfmark end
- -30 4814
-a 1991 x FU(The)601 b(root)g(disks)f(contain)h(the)g(setup)f(program)h
-(and)g(a)g(\002lesystem)f(which)h(is)g(used)f(during)-30
-8820 y(installation.)496 b(The)-23 b(y)497 b(are)h(also)f(required.)h
-(The)f(root)g(disk)g(images)g(are)g(located)h(in)f(the)g(direc-)-30
-10835 y(tory)466 b(rootdisks)e(in)i(the)g(distrib)-31
-b(ution)464 b(tree.)i(Y)-170 b(ou')-15 b(ll)465 b(ha)-31
-b(v)-23 b(e)465 b(to)h(mak)-15 b(e)465 b(tw)-15 b(o)465
-b(root)g(disks)h(from)f(the)-30 12849 y
-SDict begin H.S end
- -30 12849 a -30
-12849 a
-SDict begin 18.2 H.A end
- -30 12849 a -30 12849 a
-SDict begin [ /View [/XYZ H.V] /Dest (853) cvn H.B /DEST pdfmark end
- -30 12849 a FQ(install.1)476
-b FU(and)8809 12849 y
-SDict begin H.S end
- 8809 12849 a 8809 12849 a
-SDict begin 18.2 H.A end
- 8809
-12849 a 8809 12849 a
-SDict begin [ /View [/XYZ H.V] /Dest (854) cvn H.B /DEST pdfmark end
- 8809 12849 a FQ(install.2)g FU(images.)481
-b(Here)h(you)f(can)h(also)f(\002nd)g(the)37366 12849
-y
-SDict begin H.S end
- 37366 12849 a 37366 12849 a
-SDict begin 18.2 H.A end
- 37366 12849 a 37366 12849
-a
-SDict begin [ /View [/XYZ H.V] /Dest (855) cvn H.B /DEST pdfmark end
- 37366 12849 a FQ(network.dsk)p FU(,)45125 12849 y
-SDict begin H.S end
- 45125
-12849 a 45125 12849 a
-SDict begin 18.2 H.A end
- 45125 12849 a 45125 12849 a
-SDict begin [ /View [/XYZ H.V] /Dest (856) cvn H.B /DEST pdfmark end
- 45125
-12849 a FQ(pcmcia.dsk)p FU(,)-30 14864 y
-SDict begin H.S end
- -30 14864 a
--30 14864 a
-SDict begin 18.2 H.A end
- -30 14864 a -30 14864 a
-SDict begin [ /View [/XYZ H.V] /Dest (857) cvn H.B /DEST pdfmark end
- -30 14864 a FQ(rescue.dsk)p
-FU(,)382 b(and)9634 14864 y
-SDict begin H.S end
- 9634 14864 a 9634 14864 a
-SDict begin 18.2 H.A end
-
-9634 14864 a 9634 14864 a
-SDict begin [ /View [/XYZ H.V] /Dest (858) cvn H.B /DEST pdfmark end
- 9634 14864 a FQ(sbootmgr.dsk)e
-FU(disks.)-30 15908 y
-SDict begin H.S end
- -30 15908 a -30 15908 a
-SDict begin 18.2 H.A end
- -30 15908
-a -30 15908 a
-SDict begin [ /View [/XYZ H.V] /Dest (INSTALLATION-SUPPLEMENTAL-DISK)
-cvn H.B /DEST pdfmark end
- -30 15908 a 5248 x FG(Supplemental)519
-b(Disk)-30 21541 y
-SDict begin H.S end
- -30 21541 a -30 21541 a
-SDict begin 18.2 H.A end
- -30 21541
-a -30 21541 a
-SDict begin [ /View [/XYZ H.V] /Dest (861) cvn H.B /DEST pdfmark end
- -30 21541 a -30 22471 a
-SDict begin H.S end
- -30 22471 a -30
-22471 a
-SDict begin 18.2 H.A end
- -30 22471 a -30 22471 a
-SDict begin [ /View [/XYZ H.V] /Dest (864) cvn H.B /DEST pdfmark end
- -30 22471 a 1629 x FU(A)423
-b(supplemental)e(disk)i(is)f(needed)h(if)g(you)f(are)h(performing)f(an)
-h(NFS)f(install)g(or)h(installing)e(to)-30 26115 y(a)364
-b(system)f(with)g(PCMCIA)g(de)-39 b(vices.)364 b(Supplemental)e(disks)h
-(are)h(in)f(the)h(rootdsks)f(directory)g(in)-30 28130
-y(the)502 b(distrib)-31 b(ution)501 b(tree,)i(with)e(the)h(\002lenames)
-25294 28130 y
-SDict begin H.S end
- 25294 28130 a 25294 28130 a
-SDict begin 18.2 H.A end
- 25294 28130
-a 25294 28130 a
-SDict begin [ /View [/XYZ H.V] /Dest (865) cvn H.B /DEST pdfmark end
- 25294 28130 a FQ(network.dsk)495 b FU(and)35426
-28130 y
-SDict begin H.S end
- 35426 28130 a 35426 28130 a
-SDict begin 18.2 H.A end
- 35426 28130 a 35426
-28130 a
-SDict begin [ /View [/XYZ H.V] /Dest (866) cvn H.B /DEST pdfmark end
- 35426 28130 a FQ(pcmcia.dsk)p FU(.)i(Recently)k(other)-30
-30144 y(supplemental)358 b(disks)h(such)f(as)16990 30144
-y
-SDict begin H.S end
- 16990 30144 a 16990 30144 a
-SDict begin 18.2 H.A end
- 16990 30144 a 16990 30144
-a
-SDict begin [ /View [/XYZ H.V] /Dest (867) cvn H.B /DEST pdfmark end
- 16990 30144 a FQ(rescue.dsk)353 b FU(and)26210 30144
-y
-SDict begin H.S end
- 26210 30144 a 26210 30144 a
-SDict begin 18.2 H.A end
- 26210 30144 a 26210 30144
-a
-SDict begin [ /View [/XYZ H.V] /Dest (868) cvn H.B /DEST pdfmark end
- 26210 30144 a FQ(sbootmgr.dsk)e FU(ha)-31 b(v)-23 b(e)359
-b(been)g(added.)h(The)f(rescue)-30 32159 y(disk)463 b(is)g(a)h(small)e
-(\003opp)-15 b(y)462 b(root)i(image)f(that)g(runs)g(in)g(a)g(4MB)g(RAM)
-g(dri)-39 b(v)-23 b(e.)463 b(It)h(includes)e(some)-30
-34174 y(basic)431 b(netw)-15 b(orking)429 b(utilities)h(and)h(the)g(vi)
-g(editor)f(for)h(quick)g(\002x)-23 b(es)430 b(on)h(b)-31
-b(usted)430 b(machines.)h(The)-30 36188 y
-SDict begin H.S end
- -30 36188 a
--30 36188 a
-SDict begin 18.2 H.A end
- -30 36188 a -30 36188 a
-SDict begin [ /View [/XYZ H.V] /Dest (869) cvn H.B /DEST pdfmark end
- -30 36188 a FQ(sbootmgr.dsk)490
-b FU(disk)496 b(is)h(used)g(to)f(boot)h(other)g(de)-39
-b(vices.)497 b(Boot)f(of)-39 b(f)498 b(this)e(disk)h(if)g(your)g
-(bootable)-30 38203 y(CD-R)-62 b(OM)584 b(dri)-39 b(v)-23
-b(e)585 b(doesn')-28 b(t)585 b(w)-15 b(ant)585 b(to)g(boot)g(the)g
-(Slackw)-15 b(are)585 b(CDs.)g(It)g(will)g(prompt)g(you)g(for)-30
-40218 y(dif)-39 b(ferent)550 b(things)f(to)h(boot)f(and)h(may)g(of)-39
-b(fer)550 b(a)g(con)-62 b(v)-23 b(enient)549 b(w)-15
-b(ay)550 b(to)f(w)-15 b(ork)550 b(around)f(a)h(b)-31
-b(uggy)-30 42232 y(BIOS.)-30 43023 y
-SDict begin H.S end
- -30 43023 a -30
-43023 a
-SDict begin 18.2 H.A end
- -30 43023 a -30 43023 a
-SDict begin [ /View [/XYZ H.V] /Dest (870) cvn H.B /DEST pdfmark end
- -30 43023 a 1999 x FU(The)387
-b(root)g(disk)g(will)g(instruct)g(you)g(on)g(the)g(use)g(of)h
-(supplemental)e(disks)g(when)i(it)f(is)g(loaded.)-30
-46132 y
-SDict begin H.S end
- -30 46132 a -30 46132 a
-SDict begin 18.2 H.A end
- -30 46132 a -30 46132
-a
-SDict begin [ /View [/XYZ H.V] /Dest (INSTALLATION-MAKING-THE-DISKS)
-cvn H.B /DEST pdfmark end
- -30 46132 a 5182 x FG(Making)518 b(the)f(Disks)-30
-51728 y
-SDict begin H.S end
- -30 51728 a -30 51728 a
-SDict begin 18.2 H.A end
- -30 51728 a -30 51728
-a
-SDict begin [ /View [/XYZ H.V] /Dest (873) cvn H.B /DEST pdfmark end
- -30 51728 a -30 52658 a
-SDict begin H.S end
- -30 52658 a -30 52658 a
-SDict begin 18.2 H.A end
- -30
-52658 a -30 52658 a
-SDict begin [ /View [/XYZ H.V] /Dest (876) cvn H.B /DEST pdfmark end
- -30 52658 a 1600 x FU(Once)395 b(you')-77
-b(v)-23 b(e)393 b(selected)h(a)h(boot)f(disk)g(image,)h(you)f(need)g
-(to)h(put)f(it)g(on)g(a)h(\003opp)-15 b(y)-101 b(.)394
-b(The)g(process)-30 56273 y(is)425 b(slightly)g(dif)-39
-b(ferent)425 b(depending)g(on)g(which)g(operating)g(system)g(you')-77
-b(re)424 b(using)h(to)g(mak)-15 b(e)425 b(the)-30 58288
-y(disks.)380 b(If)g(you')-77 b(re)380 b(running)f(Linux)h(\(or)g
-(pretty)g(much)g(an)-23 b(y)379 b(Unix-lik)-15 b(e)379
-b(OS\))h(you')-15 b(ll)379 b(need)h(to)g(use)-30 60302
-y(the)2302 60302 y
-SDict begin H.S end
- 2302 60302 a 2302 60302 a
-SDict begin 18.2 H.A end
- 2302 60302
-a 2302 60302 a
-SDict begin [ /View [/XYZ H.V] /Dest (877) cvn H.B /DEST pdfmark end
- 2302 60302 a FP(dd)p FU(\(1\))439 b(command.)f(Assuming)
-19698 60302 y
-SDict begin H.S end
- 19698 60302 a 19698 60302 a
-SDict begin 18.2 H.A end
- 19698 60302
-a 19698 60302 a
-SDict begin [ /View [/XYZ H.V] /Dest (878) cvn H.B /DEST pdfmark end
- 19698 60302 a FQ(bare.i)d FU(is)j(your)g(disk)g(image)g
-(\002le)g(and)h(your)f(\003opp)-15 b(y)437 b(dri)-39
-b(v)-23 b(e)-30 62317 y(is)1391 62317 y
-SDict begin H.S end
- 1391 62317 a
-1391 62317 a
-SDict begin 18.2 H.A end
- 1391 62317 a 1391 62317 a
-SDict begin [ /View [/XYZ H.V] /Dest (879) cvn H.B /DEST pdfmark end
- 1391 62317 a FQ(/dev/fd0)p
-FU(,)383 b(the)k(command)g(to)g(mak)-15 b(e)386 b(a)22355
-62317 y
-SDict begin H.S end
- 22355 62317 a 22355 62317 a
-SDict begin 18.2 H.A end
- 22355 62317 a 22355
-62317 a
-SDict begin [ /View [/XYZ H.V] /Dest (880) cvn H.B /DEST pdfmark end
- 22355 62317 a FQ(bare.i)e FU(\003opp)-15 b(y)386
-b(is:)-30 64202 y
-SDict begin H.S end
- -30 64202 a -30 64202 a
-SDict begin 14.56 H.A end
- -30 64202 a
--30 64202 a
-SDict begin [ /View [/XYZ H.V] /Dest (881) cvn H.B /DEST pdfmark end
- -30 64202 a -30 64202 a
-SDict begin H.S end
- -30 64202 a -30 64202
-a
-SDict begin 14.56 H.A end
- -30 64202 a -30 64202 a
-SDict begin [ /View [/XYZ H.V] /Dest (882) cvn H.B /DEST pdfmark end
- -30 64202 a 1277 x FJ(\045)1309
-65479 y
-SDict begin H.S end
- 1309 65479 a 1309 65479 a
-SDict begin 14.56 H.A end
- 1309 65479 a 1309 65479
-a
-SDict begin [ /View [/XYZ H.V] /Dest (883) cvn H.B /DEST pdfmark end
- 1309 65479 a FH(dd)744 b(if=bare.i)e(of=/dev/fd0)p
-Black 50226 73792 a FR(21)p Black eop end
-%%Page: 22 44
-TeXDict begin 22 43 bop -8000 -8000 a
-SDict begin /product where{pop product(Distiller)search{pop pop pop
-version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
-closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
-grestore}if}{pop}ifelse}{pop}ifelse}if end
- -8000 -8000 a Black
-0 TeXcolorgray -30 -1237 a
-SDict begin H.S end
- -30 -1237 a 0 TeXcolorgray
-0 TeXcolorgray -30 -1237 a
-SDict begin H.R end
- -30 -1237 a -30 -1237 a
-SDict begin [ /View [/XYZ H.V] /Dest (page.22) cvn H.B /DEST pdfmark
-end
- -30
--1237 a Black -399 x FR(Chapter)387 b(3)g(Installation)p
-Black -30 2504 a
-SDict begin H.S end
- -30 2504 a -30 2504 a
-SDict begin 18.2 H.A end
- -30 2504 a -30
-2504 a
-SDict begin [ /View [/XYZ H.V] /Dest (884) cvn H.B /DEST pdfmark end
- -30 2504 a 1107 x FU(If)364 b(you')-77 b(re)362
-b(running)h(a)g(Microsoft)g(OS,)g(you')-15 b(ll)362 b(need)h(to)g(use)h
-(the)34734 3611 y
-SDict begin H.S end
- 34734 3611 a 34734 3611 a
-SDict begin 18.2 H.A end
- 34734 3611
-a 34734 3611 a
-SDict begin [ /View [/XYZ H.V] /Dest (885) cvn H.B /DEST pdfmark end
- 34734 3611 a FQ(RAWRITE.EXE)356 b FU(program,)363
-b(which)-30 5626 y(is)313 b(included)f(in)h(the)g(distrib)-31
-b(ution)311 b(tree)i(in)g(the)g(same)f(directories)h(as)g(the)g
-(\003opp)-15 b(y)311 b(images.)i(Ag)-8 b(ain)-30 7640
-y(assuming)375 b(that)8902 7640 y
-SDict begin H.S end
- 8902 7640 a 8902 7640
-a
-SDict begin 18.2 H.A end
- 8902 7640 a 8902 7640 a
-SDict begin [ /View [/XYZ H.V] /Dest (886) cvn H.B /DEST pdfmark end
- 8902 7640 a FQ(bare.i)e FU(is)j(your)g(disk)f
-(image)h(\002le)g(and)g(your)g(\003opp)-15 b(y)375 b(dri)-39
-b(v)-23 b(e)376 b(is)42206 7640 y
-SDict begin H.S end
- 42206 7640 a 42206
-7640 a
-SDict begin 18.2 H.A end
- 42206 7640 a 42206 7640 a
-SDict begin [ /View [/XYZ H.V] /Dest (887) cvn H.B /DEST pdfmark end
- 42206 7640 a FQ(A:)p
-FU(,)g(open)g(a)g(DOS)-30 9655 y(prompt)387 b(and)g(type)g(the)g(follo)
--39 b(wing:)-30 11540 y
-SDict begin H.S end
- -30 11540 a -30 11540 a
-SDict begin 14.56 H.A end
- -30 11540
-a -30 11540 a
-SDict begin [ /View [/XYZ H.V] /Dest (888) cvn H.B /DEST pdfmark end
- -30 11540 a 1277 x FP(C:\\)2946 12817 y
-SDict begin H.S end
-
-2946 12817 a 2946 12817 a
-SDict begin 14.56 H.A end
- 2946 12817 a 2946 12817 a
-SDict begin [ /View [/XYZ H.V] /Dest (889) cvn H.B /DEST pdfmark end
- 2946
-12817 a FH(rawrite)743 b(a:)g(bare.i)-30 16014 y
-SDict begin H.S end
- -30
-16014 a -30 16014 a
-SDict begin 18.2 H.A end
- -30 16014 a -30 16014 a
-SDict begin [ /View [/XYZ H.V] /Dest (INSTALLATION-PARTITIONING) cvn
-H.B /DEST pdfmark end
- -30 16014
-a 6027 x FL(3.3)620 b(P)-67 b(ar)45 b(titioning)-30 22537
-y
-SDict begin H.S end
- -30 22537 a -30 22537 a
-SDict begin 18.2 H.A end
- -30 22537 a -30 22537 a
-SDict begin [ /View [/XYZ H.V] /Dest (892) cvn H.B /DEST pdfmark end
- -30
-22537 a -30 23653 a
-SDict begin H.S end
- -30 23653 a -30 23653 a
-SDict begin 18.2 H.A end
- -30 23653
-a -30 23653 a
-SDict begin [ /View [/XYZ H.V] /Dest (894) cvn H.B /DEST pdfmark end
- -30 23653 a 1518 x FU(After)416 b(booting)f(from)h(your)f
-(preferred)i(media,)f(you)f(will)h(need)g(to)f(partition)g(your)h(hard)
-g(disk.)-30 27186 y(The)392 b(disk)g(partition)g(is)g(where)g(the)g
-(Linux)g(\002lesystem)f(will)h(be)g(created)h(and)f(is)g(where)g
-(Slack-)-30 29200 y(w)-15 b(are)365 b(will)g(be)g(installed.)g(At)g
-(the)g(v)-23 b(ery)365 b(minimum)f(we)h(recommend)g(creating)g(tw)-15
-b(o)364 b(partitions;)-30 31215 y(one)387 b(for)h(your)f(root)g
-(\002lesystem)f(\()18091 31215 y
-SDict begin H.S end
- 18091 31215 a 18091
-31215 a
-SDict begin 18.2 H.A end
- 18091 31215 a 18091 31215 a
-SDict begin [ /View [/XYZ H.V] /Dest (895) cvn H.B /DEST pdfmark end
- 18091 31215 a FQ(/)p
-FU(\))h(and)g(one)g(for)h(sw)-15 b(ap)387 b(space.)-30
-32326 y
-SDict begin H.S end
- -30 32326 a -30 32326 a
-SDict begin 18.2 H.A end
- -30 32326 a -30 32326
-a
-SDict begin [ /View [/XYZ H.V] /Dest (896) cvn H.B /DEST pdfmark end
- -30 32326 a 1679 x FU(After)435 b(the)f(root)g(disk)g(\002nishes)g
-(loading,)g(it)g(will)g(present)h(you)f(with)g(a)h(login)f(prompt.)g
-(Log)g(in)-30 36019 y(as)341 b(root)g(\(there)g(is)f(no)h(passw)-15
-b(ord\).)341 b(At)f(the)h(shell)g(prompt,)f(run)h(either)37619
-36019 y
-SDict begin H.S end
- 37619 36019 a 37619 36019 a
-SDict begin 18.2 H.A end
- 37619 36019 a 37619
-36019 a
-SDict begin [ /View [/XYZ H.V] /Dest (897) cvn H.B /DEST pdfmark end
- 37619 36019 a FP(cfdisk)p FU(\(8\))f(or)45862
-36019 y
-SDict begin H.S end
- 45862 36019 a 45862 36019 a
-SDict begin 18.2 H.A end
- 45862 36019 a 45862
-36019 a
-SDict begin [ /View [/XYZ H.V] /Dest (898) cvn H.B /DEST pdfmark end
- 45862 36019 a FP(fdisk)p FU(\(8\).)-30 38034
-y(The)2786 38034 y
-SDict begin H.S end
- 2786 38034 a 2786 38034 a
-SDict begin 18.2 H.A end
- 2786 38034
-a 2786 38034 a
-SDict begin [ /View [/XYZ H.V] /Dest (899) cvn H.B /DEST pdfmark end
- 2786 38034 a FP(cfdisk)406 b FU(program)g(pro)-23
-b(vides)405 b(a)h(more)g(user)-31 b(-friendly)406 b(interf)-15
-b(ace)406 b(than)g(the)g(re)-23 b(gular)48056 38034 y
-SDict begin H.S end
-
-48056 38034 a 48056 38034 a
-SDict begin 18.2 H.A end
- 48056 38034 a 48056 38034
-a
-SDict begin [ /View [/XYZ H.V] /Dest (900) cvn H.B /DEST pdfmark end
- 48056 38034 a FP(fdisk)-30 40049 y FU(program,)529
-b(b)-31 b(ut)528 b(does)g(lack)h(some)f(features.)h(W)-124
-b(e)529 b(will)f(brie\003y)g(e)-23 b(xplain)528 b(the)42277
-40049 y
-SDict begin H.S end
- 42277 40049 a 42277 40049 a
-SDict begin 18.2 H.A end
- 42277 40049 a 42277
-40049 a
-SDict begin [ /View [/XYZ H.V] /Dest (901) cvn H.B /DEST pdfmark end
- 42277 40049 a FP(fdisk)g FU(program)-30 42063
-y(belo)-39 b(w)-101 b(.)-30 42078 y
-SDict begin H.S end
- -30 42078 a -30 42078
-a
-SDict begin 18.2 H.A end
- -30 42078 a -30 42078 a
-SDict begin [ /View [/XYZ H.V] /Dest (902) cvn H.B /DEST pdfmark end
- -30 42078 a -30 42078 a
-SDict begin H.S end
- -30
-42078 a -30 42078 a
-SDict begin 18.2 H.A end
- -30 42078 a -30 42078 a
-SDict begin [ /View [/XYZ H.V] /Dest (904) cvn H.B /DEST pdfmark end
- -30 42078
-a -30 42078 a
-SDict begin H.S end
- -30 42078 a -30 42078 a
-SDict begin 18.2 H.A end
- -30 42078 a -30
-42078 a
-SDict begin [ /View [/XYZ H.V] /Dest (906) cvn H.B /DEST pdfmark end
- -30 42078 a -30 42078 a
-SDict begin H.S end
- -30 42078 a -30 42078
-a
-SDict begin 18.2 H.A end
- -30 42078 a -30 42078 a
-SDict begin [ /View [/XYZ H.V] /Dest (908) cvn H.B /DEST pdfmark end
- -30 42078 a -30 42854 a
-SDict begin H.S end
- -30
-42854 a -30 42854 a
-SDict begin 18.2 H.A end
- -30 42854 a -30 42854 a
-SDict begin [ /View [/XYZ H.V] /Dest (910) cvn H.B /DEST pdfmark end
- -30 42854
-a 1999 x FU(Be)-23 b(gin)536 b(by)g(running)11630 44853
-y
-SDict begin H.S end
- 11630 44853 a 11630 44853 a
-SDict begin 18.2 H.A end
- 11630 44853 a 11630 44853
-a
-SDict begin [ /View [/XYZ H.V] /Dest (911) cvn H.B /DEST pdfmark end
- 11630 44853 a FP(fdisk)g FU(for)g(your)g(hard)h(disk.)f(In)g(Linux,)h
-(the)f(hard)g(disks)g(do)g(not)g(ha)-31 b(v)-23 b(e)-30
-46868 y(dri)-39 b(v)-23 b(e)436 b(letters,)g(b)-31 b(ut)436
-b(are)h(represented)e(by)h(a)h(\002le.)f(The)g(\002rst)g(IDE)g(hard)g
-(disk)g(\(primary)f(master\))-30 48882 y(is)1353 48882
-y
-SDict begin H.S end
- 1353 48882 a 1353 48882 a
-SDict begin 18.2 H.A end
- 1353 48882 a 1353 48882 a
-SDict begin [ /View [/XYZ H.V] /Dest (912) cvn H.B /DEST pdfmark end
-
-1353 48882 a FQ(/dev/hda)p FU(,)345 b(the)350 b(primary)f(sla)-31
-b(v)-23 b(e)349 b(is)19464 48882 y
-SDict begin H.S end
- 19464 48882 a 19464
-48882 a
-SDict begin 18.2 H.A end
- 19464 48882 a 19464 48882 a
-SDict begin [ /View [/XYZ H.V] /Dest (913) cvn H.B /DEST pdfmark end
- 19464 48882 a FQ(/dev/hdb)p
-FU(,)c(and)350 b(so)f(on.)h(SCSI)e(disks)h(follo)-39
-b(w)350 b(the)f(same)g(type)-30 50897 y(system,)378 b(b)-31
-b(ut)378 b(are)h(in)f(the)g(form)g(of)18556 50897 y
-SDict begin H.S end
- 18556
-50897 a 18556 50897 a
-SDict begin 18.2 H.A end
- 18556 50897 a 18556 50897 a
-SDict begin [ /View [/XYZ H.V] /Dest (914) cvn H.B /DEST pdfmark end
- 18556
-50897 a FQ(/dev/sdX)p FU(.)c(Y)-170 b(ou)377 b(will)h(need)g(to)g
-(start)37934 50897 y
-SDict begin H.S end
- 37934 50897 a 37934 50897 a
-SDict begin 18.2 H.A end
- 37934
-50897 a 37934 50897 a
-SDict begin [ /View [/XYZ H.V] /Dest (916) cvn H.B /DEST pdfmark end
- 37934 50897 a FP(fdisk)g FU(and)g(pass)g(it)g
-(your)-30 52912 y(hard)387 b(disk:)-30 54477 y
-SDict begin H.S end
- -30 54477
-a -30 54477 a
-SDict begin 14.56 H.A end
- -30 54477 a -30 54477 a
-SDict begin [ /View [/XYZ H.V] /Dest (917) cvn H.B /DEST pdfmark end
- -30 54477 a -30
-54477 a
-SDict begin H.S end
- -30 54477 a -30 54477 a
-SDict begin 14.56 H.A end
- -30 54477 a -30 54477
-a
-SDict begin [ /View [/XYZ H.V] /Dest (918) cvn H.B /DEST pdfmark end
- -30 54477 a 1596 x FJ(#)1309 56073 y
-SDict begin H.S end
- 1309 56073 a 1309
-56073 a
-SDict begin 14.56 H.A end
- 1309 56073 a 1309 56073 a
-SDict begin [ /View [/XYZ H.V] /Dest (919) cvn H.B /DEST pdfmark end
- 1309 56073 a FH(fdisk)743
-b(/dev/hda)-30 57714 y
-SDict begin H.S end
- -30 57714 a -30 57714 a
-SDict begin 18.2 H.A end
- -30 57714
-a -30 57714 a
-SDict begin [ /View [/XYZ H.V] /Dest (920) cvn H.B /DEST pdfmark end
- -30 57714 a 1923 x FU(Lik)-15 b(e)356 b(all)g(good)g
-(Unix)g(programs,)18567 59637 y
-SDict begin H.S end
- 18567 59637 a 18567 59637
-a
-SDict begin 18.2 H.A end
- 18567 59637 a 18567 59637 a
-SDict begin [ /View [/XYZ H.V] /Dest (921) cvn H.B /DEST pdfmark end
- 18567 59637 a FP(fdisk)g
-FU(gi)-39 b(v)-23 b(es)356 b(you)g(a)h(prompt)f(\(thought)f(you)h(were)
-h(getting)f(a)-30 61652 y(menu,)437 b(right?\).)g(The)g(\002rst)f
-(thing)h(you)f(should)g(do)h(is)g(e)-23 b(xamine)436
-b(your)h(current)g(partitions.)f(W)-124 b(e)-30 63667
-y(do)387 b(that)g(by)g(typing)10905 63667 y
-SDict begin H.S end
- 10905 63667
-a 10905 63667 a
-SDict begin 18.2 H.A end
- 10905 63667 a 10905 63667 a
-SDict begin [ /View [/XYZ H.V] /Dest (922) cvn H.B /DEST pdfmark end
- 10905 63667
-a Fv(p)g FU(at)h(the)16010 63667 y
-SDict begin H.S end
- 16010 63667 a 16010
-63667 a
-SDict begin 18.2 H.A end
- 16010 63667 a 16010 63667 a
-SDict begin [ /View [/XYZ H.V] /Dest (923) cvn H.B /DEST pdfmark end
- 16010 63667 a FP(fdisk)f
-FU(prompt:)-30 65552 y
-SDict begin H.S end
- -30 65552 a -30 65552 a
-SDict begin 14.56 H.A end
- -30 65552
-a -30 65552 a
-SDict begin [ /View [/XYZ H.V] /Dest (924) cvn H.B /DEST pdfmark end
- -30 65552 a 1276 x FP(Command)743 b(\(m)h(for)f(help\):)
-16335 66828 y
-SDict begin H.S end
- 16335 66828 a 16335 66828 a
-SDict begin 14.56 H.A end
- 16335 66828
-a 16335 66828 a
-SDict begin [ /View [/XYZ H.V] /Dest (925) cvn H.B /DEST pdfmark end
- 16335 66828 a FH(p)p Black -30 73792
-a FR(22)p Black eop end
-%%Page: 23 45
-TeXDict begin 23 44 bop -8000 -8000 a
-SDict begin /product where{pop product(Distiller)search{pop pop pop
-version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
-closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
-grestore}if}{pop}ifelse}{pop}ifelse}if end
- -8000 -8000 a Black
-0 TeXcolorgray -30 -1237 a
-SDict begin H.S end
- -30 -1237 a 0 TeXcolorgray
-0 TeXcolorgray -30 -1237 a
-SDict begin H.R end
- -30 -1237 a -30 -1237 a
-SDict begin [ /View [/XYZ H.V] /Dest (page.23) cvn H.B /DEST pdfmark
-end
- -30
--1237 a Black -30 -2687 a
-SDict begin H.S end
- -30 -2687 a -30 -2687 a
-SDict begin 18.2 H.A end
- -30
--2687 a -30 -2687 a
-SDict begin [ /View [/XYZ H.V] /Dest (951) cvn H.B /DEST pdfmark end
- -30 -2687 a 37999 -1636 a FR(Chapter)386
-b(3)i(Installation)p Black -30 2504 a
-SDict begin H.S end
- -30 2504 a -30
-2504 a
-SDict begin 18.2 H.A end
- -30 2504 a -30 2504 a
-SDict begin [ /View [/XYZ H.V] /Dest (926) cvn H.B /DEST pdfmark end
- -30 2504 a 1107 x FU(This)403
-b(will)g(display)g(all)g(sorts)g(of)h(information)e(about)h(your)g
-(current)h(partitions.)e(Most)h(people)-30 5626 y(pick)433
-b(a)h(free)g(dri)-39 b(v)-23 b(e)434 b(to)f(install)g(to)g(and)h(then)f
-(remo)-23 b(v)g(e)433 b(an)-23 b(y)433 b(e)-23 b(xisting)433
-b(partitions)f(on)i(it)f(to)h(create)-30 7640 y(room)387
-b(for)g(the)h(Linux)e(partitions.)-30 7976 y
-SDict begin H.S end
- -30 7976
-a -30 7976 a
-SDict begin 16.9 H.A end
- -30 7976 a -30 7976 a
-SDict begin [ /View [/XYZ H.V] /Dest (927) cvn H.B /DEST pdfmark end
- -30 7976 a -30 10301
-a
-SDict begin H.S end
- -30 10301 a -30 10301 a
-SDict begin 16.9 H.A end
- -30 10301 a -30 10301 a
-SDict begin [ /View [/XYZ H.V] /Dest (928) cvn H.B /DEST pdfmark end
- -30
-10301 a 3070 11836 a Fu(W)-58 b(arning:)527 b Ft(IT)f(IS)f(VER)-72
-b(Y)526 b(IMPOR)-43 b(T)-173 b(ANT)525 b(THA)-173 b(T)526
-b(Y)-122 b(OU)525 b(BA)-43 b(CK)525 b(UP)g(ANY)g(INFORMA-)3070
-13707 y(TION)611 b(Y)-122 b(OU)611 b(W)-72 b(ANT)613
-b(T)-58 b(O)612 b(SA)-101 b(VE)612 b(BEFORE)f(DESTR)-29
-b(O)-101 b(YING)612 b(THE)g(P)-173 b(AR)-43 b(TITION)612
-b(IT)3070 15577 y(LIVES)399 b(ON.)-30 19917 y
-SDict begin H.S end
- -30 19917
-a -30 19917 a
-SDict begin 18.2 H.A end
- -30 19917 a -30 19917 a
-SDict begin [ /View [/XYZ H.V] /Dest (929) cvn H.B /DEST pdfmark end
- -30 19917 a 2014
-x FU(There)404 b(is)g(no)h(easy)f(w)-15 b(ay)404 b(to)g(reco)-23
-b(v)g(er)404 b(from)g(deleting)f(a)i(partition,)e(so)h(al)-15
-b(w)g(ays)403 b(back)i(up)f(before)-30 23946 y(playing)387
-b(with)g(them.)-30 25056 y
-SDict begin H.S end
- -30 25056 a -30 25056 a
-SDict begin 18.2 H.A end
- -30
-25056 a -30 25056 a
-SDict begin [ /View [/XYZ H.V] /Dest (930) cvn H.B /DEST pdfmark end
- -30 25056 a 1680 x FU(Looking)410
-b(at)g(the)g(table)h(of)f(partition)g(information)f(you)h(should)g(see)
-g(a)h(partition)f(number)-62 b(,)410 b(the)-30 28750
-y(size)458 b(of)g(the)g(partition,)f(and)h(its)f(type.)h(There')-85
-b(s)458 b(more)g(information,)f(b)-31 b(ut)457 b(don')-28
-b(t)458 b(w)-15 b(orry)457 b(about)-30 30765 y(that)476
-b(for)h(no)-39 b(w)-101 b(.)477 b(W)-124 b(e)477 b(are)f(going)g(to)h
-(delete)f(all)g(of)h(the)f(partitions)g(on)g(this)g(dri)-39
-b(v)-23 b(e)476 b(to)g(create)h(the)-30 32780 y(Linux)387
-b(ones.)g(W)-124 b(e)388 b(run)f(the)14824 32780 y
-SDict begin H.S end
- 14824
-32780 a 14824 32780 a
-SDict begin 18.2 H.A end
- 14824 32780 a 14824 32780 a
-SDict begin [ /View [/XYZ H.V] /Dest (931) cvn H.B /DEST pdfmark end
- 14824
-32780 a Fv(d)h FU(command)e(to)h(delete)g(those:)-30
-34360 y
-SDict begin H.S end
- -30 34360 a -30 34360 a
-SDict begin 14.56 H.A end
- -30 34360 a -30 34360
-a
-SDict begin [ /View [/XYZ H.V] /Dest (932) cvn H.B /DEST pdfmark end
- -30 34360 a 1581 x FP(Command)743 b(\(m)h(for)f(help\):)16335
-35941 y
-SDict begin H.S end
- 16335 35941 a 16335 35941 a
-SDict begin 14.56 H.A end
- 16335 35941 a 16335
-35941 a
-SDict begin [ /View [/XYZ H.V] /Dest (933) cvn H.B /DEST pdfmark end
- 16335 35941 a FH(d)-30 37553 y FP(Partition)g(number)g
-(\(1-4\):)17823 37553 y
-SDict begin H.S end
- 17823 37553 a 17823 37553 a
-SDict begin 14.56 H.A end
- 17823
-37553 a 17823 37553 a
-SDict begin [ /View [/XYZ H.V] /Dest (934) cvn H.B /DEST pdfmark end
- 17823 37553 a FH(1)-30 37698 y
-SDict begin H.S end
-
--30 37698 a -30 37698 a
-SDict begin 18.2 H.A end
- -30 37698 a -30 37698 a
-SDict begin [ /View [/XYZ H.V] /Dest (935) cvn H.B /DEST pdfmark end
- -30 37698
-a -30 39248 a
-SDict begin H.S end
- -30 39248 a -30 39248 a
-SDict begin 18.2 H.A end
- -30 39248 a -30
-39248 a
-SDict begin [ /View [/XYZ H.V] /Dest (937) cvn H.B /DEST pdfmark end
- -30 39248 a 1869 x FU(This)392 b(process)h(should)f(be)h
-(continued)f(for)h(each)g(of)g(the)f(partitions.)h(After)f(deleting)g
-(the)h(parti-)-30 43132 y(tions)387 b(we)g(are)g(ready)g(to)g(create)h
-(the)f(Linux)f(ones.)h(W)-124 b(e)388 b(ha)-31 b(v)-23
-b(e)387 b(decided)g(to)f(create)i(one)f(partition)-30
-45146 y(for)508 b(our)g(root)g(\002lesystem)e(and)i(one)g(for)g(sw)-15
-b(ap.)508 b(It)g(is)g(w)-15 b(orth)507 b(noting)g(that)h(Unix)f
-(partitioning)-30 47161 y(schemes)c(are)h(the)g(subject)f(of)g(man)-23
-b(y)503 b(\003ame)g(w)-15 b(ars,)504 b(and)f(that)g(most)g(users)h
-(will)f(tell)g(you)g(the)-30 49176 y(best)454 b(w)-15
-b(ay)454 b(to)f(do)h(it.)h(At)f(a)g(minimum,)f(you)h(should)f(create)i
-(one)f(partition)f(for)43504 49176 y
-SDict begin H.S end
- 43504 49176 a 43504
-49176 a
-SDict begin 18.2 H.A end
- 43504 49176 a 43504 49176 a
-SDict begin [ /View [/XYZ H.V] /Dest (938) cvn H.B /DEST pdfmark end
- 43504 49176 a FQ(/)h
-FU(and)g(one)g(for)-30 51190 y(sw)-15 b(ap.)387 b(Ov)-23
-b(er)387 b(time,)h(you')-15 b(ll)386 b(de)-39 b(v)-23
-b(elop)387 b(a)g(method)g(that)g(w)-15 b(orks)386 b(well)h(for)h(you.)
--30 52301 y
-SDict begin H.S end
- -30 52301 a -30 52301 a
-SDict begin 18.2 H.A end
- -30 52301 a -30 52301
-a
-SDict begin [ /View [/XYZ H.V] /Dest (939) cvn H.B /DEST pdfmark end
- -30 52301 a 1679 x FU(I)462 b(use)g(tw)-15 b(o)461
-b(basic)h(partition)f(schemes.)h(The)g(\002rst)g(is)f(for)h(a)h
-(desktop.)e(I)h(mak)-15 b(e)462 b(4)g(partitions,)50762
-53980 y
-SDict begin H.S end
- 50762 53980 a 50762 53980 a
-SDict begin 18.2 H.A end
- 50762 53980 a 50762
-53980 a
-SDict begin [ /View [/XYZ H.V] /Dest (940) cvn H.B /DEST pdfmark end
- 50762 53980 a FQ(/)p FU(,)-30 55995 y
-SDict begin H.S end
- -30 55995
-a -30 55995 a
-SDict begin 18.2 H.A end
- -30 55995 a -30 55995 a
-SDict begin [ /View [/XYZ H.V] /Dest (941) cvn H.B /DEST pdfmark end
- -30 55995 a FQ(/home)p
-FU(,)3901 55995 y
-SDict begin H.S end
- 3901 55995 a 3901 55995 a
-SDict begin 18.2 H.A end
- 3901 55995
-a 3901 55995 a
-SDict begin [ /View [/XYZ H.V] /Dest (942) cvn H.B /DEST pdfmark end
- 3901 55995 a FQ(/usr/local)p FU(,)405
-b(and)411 b(sw)-15 b(ap.)411 b(This)g(lets)g(me)g(re-install)g(or)g
-(upgrade)g(the)g(entire)g(installation)-30 58009 y(under)3969
-58009 y
-SDict begin H.S end
- 3969 58009 a 3969 58009 a
-SDict begin 18.2 H.A end
- 3969 58009 a 3969 58009
-a
-SDict begin [ /View [/XYZ H.V] /Dest (943) cvn H.B /DEST pdfmark end
- 3969 58009 a FQ(/)470 b FU(without)f(wiping)h(out)f(my)h(data)g
-(\002les)g(under)g(/home)g(or)g(my)g(custom)f(compiled)h(ap-)-30
-60024 y(plications)397 b(under)10322 60024 y
-SDict begin H.S end
- 10322 60024
-a 10322 60024 a
-SDict begin 18.2 H.A end
- 10322 60024 a 10322 60024 a
-SDict begin [ /View [/XYZ H.V] /Dest (944) cvn H.B /DEST pdfmark end
- 10322 60024
-a FQ(/usr/local)p FU(.)392 b(F)-23 b(or)397 b(serv)-23
-b(ers,)398 b(I)g(often)f(replace)h(the)36709 60024 y
-SDict begin H.S end
-
-36709 60024 a 36709 60024 a
-SDict begin 18.2 H.A end
- 36709 60024 a 36709 60024
-a
-SDict begin [ /View [/XYZ H.V] /Dest (945) cvn H.B /DEST pdfmark end
- 36709 60024 a FQ(/usr/local)392 b FU(partition)k(with)-30
-62039 y(a)1100 62039 y
-SDict begin H.S end
- 1100 62039 a 1100 62039 a
-SDict begin 18.2 H.A end
- 1100
-62039 a 1100 62039 a
-SDict begin [ /View [/XYZ H.V] /Dest (946) cvn H.B /DEST pdfmark end
- 1100 62039 a FQ(/var)439 b FU(partition.)i(Man)-23
-b(y)441 b(dif)-39 b(ferent)442 b(serv)-23 b(ers)441 b(store)g
-(information)g(on)g(that)h(partition)e(and)i(ha)-31 b(v-)-30
-64053 y(ing)374 b(it)g(k)-15 b(ept)374 b(separate)g(from)15428
-64053 y
-SDict begin H.S end
- 15428 64053 a 15428 64053 a
-SDict begin 18.2 H.A end
- 15428 64053 a 15428
-64053 a
-SDict begin [ /View [/XYZ H.V] /Dest (947) cvn H.B /DEST pdfmark end
- 15428 64053 a FQ(/)g FU(has)g(certain)g(performance)g
-(bene\002ts.)h(F)-23 b(or)373 b(no)-39 b(w)-101 b(,)376
-b(we')-77 b(re)374 b(sticking)-30 66068 y(with)387 b(just)g(tw)-15
-b(o)386 b(partitions:)15109 66068 y
-SDict begin H.S end
- 15109 66068 a 15109
-66068 a
-SDict begin 18.2 H.A end
- 15109 66068 a 15109 66068 a
-SDict begin [ /View [/XYZ H.V] /Dest (948) cvn H.B /DEST pdfmark end
- 15109 66068 a FQ(/)h
-FU(and)g(sw)-15 b(ap.)p Black 50226 73792 a FR(23)p Black
-eop end
-%%Page: 24 46
-TeXDict begin 24 45 bop -8000 -8000 a
-SDict begin /product where{pop product(Distiller)search{pop pop pop
-version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
-closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
-grestore}if}{pop}ifelse}{pop}ifelse}if end
- -8000 -8000 a Black
-0 TeXcolorgray -30 -1237 a
-SDict begin H.S end
- -30 -1237 a 0 TeXcolorgray
-0 TeXcolorgray -30 -1237 a
-SDict begin H.R end
- -30 -1237 a -30 -1237 a
-SDict begin [ /View [/XYZ H.V] /Dest (page.24) cvn H.B /DEST pdfmark
-end
- -30
--1237 a Black -399 x FR(Chapter)387 b(3)g(Installation)p
-Black -30 2504 a
-SDict begin H.S end
- -30 2504 a -30 2504 a
-SDict begin 18.2 H.A end
- -30 2504 a -30
-2504 a
-SDict begin [ /View [/XYZ H.V] /Dest (949) cvn H.B /DEST pdfmark end
- -30 2504 a 1107 x FU(No)-39 b(w)387 b(we)h(create)g(the)f
-(partitions)f(with)h(the)23560 3611 y
-SDict begin H.S end
- 23560 3611 a 23560
-3611 a
-SDict begin 18.2 H.A end
- 23560 3611 a 23560 3611 a
-SDict begin [ /View [/XYZ H.V] /Dest (950) cvn H.B /DEST pdfmark end
- 23560 3611 a Fv(n)g
-FU(command:)-30 6713 y Fs(Command)718 b(\(m)e(for)h(help\):)g
-Fr(n)-30 8264 y Fs(Command)h(action)2119 9816 y(e)2148
-b(extended)2119 11368 y(p)g(primary)718 b(partition)g(\(1-4\))-30
-11555 y
-SDict begin H.S end
- -30 11555 a -30 11555 a
-SDict begin 14.018 H.A end
- -30 11555 a -30 11555
-a
-SDict begin [ /View [/XYZ H.V] /Dest (953) cvn H.B /DEST pdfmark end
- -30 11555 a 1365 x Fr(p)-30 14471 y Fs(Partition)g(number)f(\(1-4\):)
-16441 14471 y
-SDict begin H.S end
- 16441 14471 a 16441 14471 a
-SDict begin 14.018 H.A end
- 16441 14471
-a 16441 14471 a
-SDict begin [ /View [/XYZ H.V] /Dest (954) cvn H.B /DEST pdfmark end
- 16441 14471 a Fr(1)-30 16023 y Fs(First)g(cylinder)h
-(\(0-1060,)f(default)h(0\):)25036 16023 y
-SDict begin H.S end
- 25036 16023
-a 25036 16023 a
-SDict begin 14.018 H.A end
- 25036 16023 a 25036 16023 a
-SDict begin [ /View [/XYZ H.V] /Dest (955) cvn H.B /DEST pdfmark end
- 25036 16023
-a Fr(0)686 17575 y Fs(Last)f(cylinder)h(or)e(+size)h(or)g(+sizeM)g(or)g
-(+sizeK)g(\(0-1060,)h(default)f(1060\):)47953 17575 y
-SDict begin H.S end
-
-47953 17575 a 47953 17575 a
-SDict begin 14.018 H.A end
- 47953 17575 a 47953 17575
-a
-SDict begin [ /View [/XYZ H.V] /Dest (956) cvn H.B /DEST pdfmark end
- 47953 17575 a Fr(+64M)-30 19312 y
-SDict begin H.S end
- -30 19312 a -30 19312
-a
-SDict begin 18.2 H.A end
- -30 19312 a -30 19312 a
-SDict begin [ /View [/XYZ H.V] /Dest (957) cvn H.B /DEST pdfmark end
- -30 19312 a 1827 x FU(Y)-170
-b(ou)445 b(need)g(to)h(mak)-15 b(e)444 b(sure)i(you)f(create)h(primary)
-e(partitions.)h(The)h(\002rst)f(partition)f(is)h(going)g(to)-30
-23154 y(be)416 b(our)f(sw)-15 b(ap)415 b(partition.)g(W)-124
-b(e)416 b(tell)f(fdisk)g(to)g(mak)-15 b(e)415 b(partition)g(number)g(1)
-h(a)f(primary)g(partition.)-30 25169 y(W)-124 b(e)369
-b(start)g(it)f(at)h(c)-23 b(ylinder)368 b(0)h(and)g(for)g(the)f(ending)
-h(c)-23 b(ylinder)368 b(we)h(type)f(+64M.)h(This)f(will)h(gi)-39
-b(v)-23 b(e)368 b(us)-30 27183 y(a)419 b(64)f(me)-23
-b(g)-8 b(abyte)418 b(partition)f(for)i(sw)-15 b(ap.)418
-b(\(The)h(size)f(of)g(the)h(sw)-15 b(ap)417 b(partition)h(you)g(need)g
-(actually)-30 29198 y(depends)517 b(on)f(the)h(amount)f(of)h(RAM)g(you)
-f(ha)-31 b(v)-23 b(e.)517 b(It)g(is)g(con)-62 b(v)-23
-b(entional)516 b(wisdom)g(that)h(a)g(sw)-15 b(ap)-30
-31213 y(space)579 b(double)e(the)i(size)f(of)h(your)f(RAM)f(should)h
-(be)h(created.\))g(Then)f(we)g(de\002ne)g(primary)-30
-33227 y(partition)367 b(number)g(2)g(starting)g(at)g(the)h(\002rst)f(a)
--31 b(v)-39 b(ailable)367 b(c)-23 b(ylinder)367 b(and)g(going)g(all)g
-(the)h(w)-15 b(ay)367 b(to)g(the)-30 35242 y(end)387
-b(of)h(the)f(dri)-39 b(v)-23 b(e.)-30 36807 y
-SDict begin H.S end
- -30 36807
-a -30 36807 a
-SDict begin 14.018 H.A end
- -30 36807 a -30 36807 a
-SDict begin [ /View [/XYZ H.V] /Dest (958) cvn H.B /DEST pdfmark end
- -30 36807 a 1536
-x Fs(Command)718 b(\(m)e(for)h(help\):)15009 38343 y
-SDict begin H.S end
-
-15009 38343 a 15009 38343 a
-SDict begin 14.018 H.A end
- 15009 38343 a 15009 38343
-a
-SDict begin [ /View [/XYZ H.V] /Dest (959) cvn H.B /DEST pdfmark end
- 15009 38343 a Fr(n)-30 39895 y Fs(Command)h(action)2119
-41447 y(e)2148 b(extended)2119 42999 y(p)g(primary)718
-b(partition)g(\(1-4\))-30 43186 y
-SDict begin H.S end
- -30 43186 a -30 43186
-a
-SDict begin 14.018 H.A end
- -30 43186 a -30 43186 a
-SDict begin [ /View [/XYZ H.V] /Dest (960) cvn H.B /DEST pdfmark end
- -30 43186 a 1364 x Fr(p)-30
-46102 y Fs(Partition)g(number)f(\(1-4\):)16441 46102
-y
-SDict begin H.S end
- 16441 46102 a 16441 46102 a
-SDict begin 14.018 H.A end
- 16441 46102 a 16441 46102
-a
-SDict begin [ /View [/XYZ H.V] /Dest (961) cvn H.B /DEST pdfmark end
- 16441 46102 a Fr(2)-30 47654 y Fs(First)g(cylinder)h(\(124-1060,)g
-(default)f(124\):)27900 47654 y
-SDict begin H.S end
- 27900 47654 a 27900 47654
-a
-SDict begin 14.018 H.A end
- 27900 47654 a 27900 47654 a
-SDict begin [ /View [/XYZ H.V] /Dest (962) cvn H.B /DEST pdfmark end
- 27900 47654 a Fr(124)-30
-49205 y Fs(Last)g(cylinder)h(or)e(+size)h(or)g(+sizeM)g(or)g(+sizeK)g
-(\(124-1060,)h(default)f(1060\):)48669 49205 y
-SDict begin H.S end
- 48669
-49205 a 48669 49205 a
-SDict begin 14.018 H.A end
- 48669 49205 a 48669 49205 a
-SDict begin [ /View [/XYZ H.V] /Dest (963) cvn H.B /DEST pdfmark end
- 48669
-49205 a Fr(1060)-30 50943 y
-SDict begin H.S end
- -30 50943 a -30 50943 a
-SDict begin 18.2 H.A end
- -30
-50943 a -30 50943 a
-SDict begin [ /View [/XYZ H.V] /Dest (964) cvn H.B /DEST pdfmark end
- -30 50943 a 1827 x FU(W)-124 b(e)561
-b(are)g(almost)f(done.)g(W)-124 b(e)561 b(need)g(to)f(change)h(the)f
-(type)h(of)f(the)h(\002rst)f(partition)f(to)i(type)f(82)-30
-54785 y(\(Linux)300 b(sw)-15 b(ap\).)300 b(T)-124 b(ype)12224
-54785 y
-SDict begin H.S end
- 12224 54785 a 12224 54785 a
-SDict begin 18.2 H.A end
- 12224 54785 a 12224
-54785 a
-SDict begin [ /View [/XYZ H.V] /Dest (965) cvn H.B /DEST pdfmark end
- 12224 54785 a Fv(t)300 b FU(to)g(change)h(the)f(type,)g(select)
-h(the)f(\002rst)g(partition,)g(and)g(type)45383 54785
-y
-SDict begin H.S end
- 45383 54785 a 45383 54785 a
-SDict begin 18.2 H.A end
- 45383 54785 a 45383 54785
-a
-SDict begin [ /View [/XYZ H.V] /Dest (966) cvn H.B /DEST pdfmark end
- 45383 54785 a FP(82)p FU(.)h(Before)-30 56799 y(writing)399
-b(your)h(changes)g(to)g(the)g(disk,)g(you)f(should)h(look)f(at)h(the)g
-(ne)-39 b(w)400 b(partition)g(table)f(one)h(last)-30
-58814 y(time.)344 b(Use)g(the)8449 58814 y
-SDict begin H.S end
- 8449 58814
-a 8449 58814 a
-SDict begin 18.2 H.A end
- 8449 58814 a 8449 58814 a
-SDict begin [ /View [/XYZ H.V] /Dest (967) cvn H.B /DEST pdfmark end
- 8449 58814 a
-Fv(p)g FU(in)11273 58814 y
-SDict begin H.S end
- 11273 58814 a 11273 58814
-a
-SDict begin 18.2 H.A end
- 11273 58814 a 11273 58814 a
-SDict begin [ /View [/XYZ H.V] /Dest (968) cvn H.B /DEST pdfmark end
- 11273 58814 a FP(fdisk)g
-FU(to)g(display)f(the)h(partition)f(table.)i(If)f(e)-39
-b(v)-23 b(erything)344 b(looks)f(good,)h(type)-30 60829
-y
-SDict begin H.S end
- -30 60829 a -30 60829 a
-SDict begin 18.2 H.A end
- -30 60829 a -30 60829 a
-SDict begin [ /View [/XYZ H.V] /Dest (969) cvn H.B /DEST pdfmark end
- -30
-60829 a Fv(w)387 b FU(to)h(write)f(your)g(changes)g(to)g(the)g(disk)g
-(and)g(quit)27329 60829 y
-SDict begin H.S end
- 27329 60829 a 27329 60829 a
-SDict begin 18.2 H.A end
-
-27329 60829 a 27329 60829 a
-SDict begin [ /View [/XYZ H.V] /Dest (970) cvn H.B /DEST pdfmark end
- 27329 60829 a FP(fdisk)p
-FU(.)-30 61939 y
-SDict begin H.S end
- -30 61939 a -30 61939 a
-SDict begin 18.2 H.A end
- -30 61939 a
--30 61939 a
-SDict begin [ /View [/XYZ H.V] /Dest (INSTALLATION-SETUP) cvn H.B /DEST
-pdfmark end
- -30 61939 a Black 11853 x FR(24)p Black eop
-end
-%%Page: 25 47
-TeXDict begin 25 46 bop -8000 -8000 a
-SDict begin /product where{pop product(Distiller)search{pop pop pop
-version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
-closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
-grestore}if}{pop}ifelse}{pop}ifelse}if end
- -8000 -8000 a Black
-0 TeXcolorgray -30 -1237 a
-SDict begin H.S end
- -30 -1237 a 0 TeXcolorgray
-0 TeXcolorgray -30 -1237 a
-SDict begin H.R end
- -30 -1237 a -30 -1237 a
-SDict begin [ /View [/XYZ H.V] /Dest (page.25) cvn H.B /DEST pdfmark
-end
- -30
--1237 a Black 37999 -1636 a FR(Chapter)386 b(3)i(Installation)p
-Black -30 4084 a FL(3.4)620 b(The)g Fq(setup)695 b FL(Pr)-45
-b(ogram)-30 4581 y
-SDict begin H.S end
- -30 4581 a -30 4581 a
-SDict begin 18.2 H.A end
- -30 4581 a -30
-4581 a
-SDict begin [ /View [/XYZ H.V] /Dest (974) cvn H.B /DEST pdfmark end
- -30 4581 a -30 5696 a
-SDict begin H.S end
- -30 5696 a -30 5696 a
-SDict begin 18.2 H.A end
- -30
-5696 a -30 5696 a
-SDict begin [ /View [/XYZ H.V] /Dest (976) cvn H.B /DEST pdfmark end
- -30 5696 a 1519 x FU(Once)404 b(you)f(ha)-31
-b(v)-23 b(e)403 b(created)h(your)f(partitions,)g(you)g(are)h(ready)g
-(to)f(install)g(Slackw)-15 b(are.)403 b(The)g(ne)-23
-b(xt)-30 9229 y(step)510 b(in)f(the)h(installation)e(process)i(is)f
-(running)g(the)28930 9229 y
-SDict begin H.S end
- 28930 9229 a 28930 9229 a
-SDict begin 18.2 H.A end
-
-28930 9229 a 28930 9229 a
-SDict begin [ /View [/XYZ H.V] /Dest (977) cvn H.B /DEST pdfmark end
- 28930 9229 a FP(setup)p FU(\(8\))g(program.)h
-(T)-124 b(o)509 b(do)h(so,)g(simply)-30 11244 y(type)2987
-11244 y
-SDict begin H.S end
- 2987 11244 a 2987 11244 a
-SDict begin 18.2 H.A end
- 2987 11244 a 2987 11244
-a
-SDict begin [ /View [/XYZ H.V] /Dest (978) cvn H.B /DEST pdfmark end
- 2987 11244 a FP(setup)348 b FU(at)g(the)g(shell)f(prompt.)19252
-11244 y
-SDict begin H.S end
- 19252 11244 a 19252 11244 a
-SDict begin 18.2 H.A end
- 19252 11244 a 19252
-11244 a
-SDict begin [ /View [/XYZ H.V] /Dest (979) cvn H.B /DEST pdfmark end
- 19252 11244 a FP(setup)h FU(is)f(a)i(menu-dri)-39
-b(v)-23 b(en)347 b(system)g(for)i(actually)e(installing)-30
-13259 y(the)387 b(Slackw)-15 b(are)387 b(packages)g(and)g
-(con\002guring)g(your)g(system.)-30 13594 y
-SDict begin H.S end
- -30 13594
-a -30 13594 a
-SDict begin 18.2 H.A end
- -30 13594 a -30 13594 a
-SDict begin [ /View [/XYZ H.V] /Dest (980) cvn H.B /DEST pdfmark end
- -30 13594 a -30
-15919 a
-SDict begin H.S end
- -30 15919 a -30 15919 a
-SDict begin 18.2 H.A end
- -30 15919 a -30 15919
-a
-SDict begin [ /View [/XYZ H.V] /Dest (981) cvn H.B /DEST pdfmark end
- -30 15919 a -30 41916 a
- currentpoint currentpoint translate 1 1 scale neg exch neg exch translate
- -30 41916 a @beginspecial 22
-@llx 60 @lly 449 @urx 287 @ury 4270 @rwi @setspecial
-%%BeginDocument: installation/setup-program.eps
-%!PS-Adobe-2.0 EPSF-1.2
-%%BoundingBox: 22 60 449 287
-
-/Outterbox
-{ newpath moveto
-0 220 rlineto
-93 0 rlineto
-23 61 moveto
-425 0 rlineto
-0 220 rlineto
--96 0 rlineto
-23 87 moveto
-448 87 lineto
-closepath } def
-
-/Innerbox
-{ moveto
-402 0 rlineto
-0 130 rlineto
--402 0 rlineto
-closepath} def
-
-/TitleFont
-{ /Helvetica findfont 14 scalefont setfont
-moveto } def
-
-/PanelFont
-{ /Helvetica findfont 12 scalefont setfont
-moveto } def
-
-/ContentFont
-{ /Helvetica findfont 12 scalefont setfont
-moveto } def
-
-/ButtonFont
-{ /Helvetica findfont 11 scalefont setfont
-moveto } def
-
-23 61 Outterbox
-34 100 Innerbox
-
-116 277 TitleFont(Slackware Linux Setup (version 9.1.0)) show
-
-33 264 PanelFont (Welcome to Slackware Linux Setup.) show
-33 250 PanelFont (Select an option below using the UP/DOWN keys and SPACE or ENTER.)show
-33 236 PanelFont (Alternate keys may also be used: '+', '-', and TAB.) show
-
-55 214 ContentFont (HELP) show
-55 202 ContentFont (KEYMAP) show
-55 190 ContentFont (ADDSWAP) show
-55 176 ContentFont (TARGET) show
-55 162 ContentFont (SOURCE) show
-55 148 ContentFont (SELECT) show
-55 134 ContentFont (INSTALL) show
-55 120 ContentFont (CONFIGURE) show
-55 106 ContentFont (EXIT) show
-140 214 ContentFont (Read the Slackware Setup HELP file) show
-140 202 ContentFont (Remap your keyboard if your're not using a US one) show
-140 190 ContentFont (Set up your swap partition(s)) show
-140 176 ContentFont (Set up your target partitions) show
-140 162 ContentFont (Select source media) show
-140 148 ContentFont (Select categories of software to install) show
-140 134 ContentFont (Install selected software) show
-140 120 ContentFont (Reconfigure your Linux system) show
-140 106 ContentFont (Exit Slackware Linux Setup) show
-
-153 71 ButtonFont (< OK >) show
-267 71 ButtonFont (< Cancel >) show
-
-stroke
-showpage
-%%EOF
-
-%%EndDocument
- @endspecial -30 41916 a
- currentpoint currentpoint translate 1 1 div 1 1 div scale neg exch
-neg exch translate
- -30 41916 a -30 43466 a
-SDict begin H.S end
- -30
-43466 a -30 43466 a
-SDict begin 18.2 H.A end
- -30 43466 a -30 43466 a
-SDict begin [ /View [/XYZ H.V] /Dest (984) cvn H.B /DEST pdfmark end
- -30 43466
-a 2014 x FU(The)576 b(setup)f(process)g(goes)g(something)g(lik)-15
-b(e)574 b(this:)h(Y)-170 b(ou)575 b(step)g(through)g(each)h(option)f
-(in)g(the)-30 47495 y
-SDict begin H.S end
- -30 47495 a -30 47495 a
-SDict begin 18.2 H.A end
- -30 47495
-a -30 47495 a
-SDict begin [ /View [/XYZ H.V] /Dest (985) cvn H.B /DEST pdfmark end
- -30 47495 a FP(setup)427 b FU(program,)g(in)g(the)g
-(order)g(the)-23 b(y)427 b(are)h(listed.)f(\(Of)g(course,)h(you)f(are)g
-(free)h(to)f(do)g(things)f(in)-30 49510 y(almost)442
-b(an)-23 b(y)443 b(order)g(you)g(choose,)g(b)-31 b(ut)443
-b(chances)g(are)h(it)f(isn')-28 b(t)442 b(going)h(to)g(w)-15
-b(ork)442 b(out)h(v)-23 b(ery)443 b(well.\))-30 51524
-y(Menu)545 b(items)g(are)h(selected)f(using)f(the)i(up)f(and)g(do)-39
-b(wn)546 b(arro)-39 b(w)545 b(k)-15 b(e)-23 b(ys,)545
-b(and)g(the)44260 51524 y
-SDict begin H.S end
- 44260 51524 a 44260 51524 a
-SDict begin 18.2 H.A end
-
-44260 51524 a 44260 51524 a
-SDict begin [ /View [/XYZ H.V] /Dest (986) cvn H.B /DEST pdfmark end
- 44260 51524 a FU(\223Okay\224)g(and)-30
-53539 y
-SDict begin H.S end
- -30 53539 a -30 53539 a
-SDict begin 18.2 H.A end
- -30 53539 a -30 53539
-a
-SDict begin [ /View [/XYZ H.V] /Dest (987) cvn H.B /DEST pdfmark end
- -30 53539 a FU(\223Cancel\224)344 b(b)-31 b(uttons)343
-b(can)i(be)f(chosen)g(by)g(using)f(the)h(left)g(and)g(right)g(arro)-39
-b(w)345 b(k)-15 b(e)-23 b(ys.)343 b(Alternati)-39 b(v)-23
-b(ely)-101 b(,)-30 55554 y(each)447 b(option)e(has)h(a)h(corresponding)
-e(k)-15 b(e)-23 b(y)-101 b(,)447 b(which)f(is)g(highlighted)f(in)h(the)
-g(option)f(name.)i(Op-)-30 57568 y(tions)327 b(which)h(are)g(\003agg)-8
-b(able)327 b(\(those)g(indicated)g(with)h(a)29873 57568
-y
-SDict begin H.S end
- 29873 57568 a 29873 57568 a
-SDict begin 18.2 H.A end
- 29873 57568 a 29873 57568
-a
-SDict begin [ /View [/XYZ H.V] /Dest (988) cvn H.B /DEST pdfmark end
- 29873 57568 a FP([X])p FU(\))f(are)h(toggled)f(using)g(the)h
-(spacebar)-85 b(.)-30 58679 y
-SDict begin H.S end
- -30 58679 a -30 58679 a
-SDict begin 18.2 H.A end
-
--30 58679 a -30 58679 a
-SDict begin [ /View [/XYZ H.V] /Dest (989) cvn H.B /DEST pdfmark end
- -30 58679 a 1679 x FU(Of)456
-b(course,)g(all)f(of)h(that)g(is)f(described)g(in)h(the)25376
-60358 y
-SDict begin H.S end
- 25376 60358 a 25376 60358 a
-SDict begin 18.2 H.A end
- 25376 60358 a 25376
-60358 a
-SDict begin [ /View [/XYZ H.V] /Dest (990) cvn H.B /DEST pdfmark end
- 25376 60358 a FU(\223help\224)g(section)f(of)36470
-60358 y
-SDict begin H.S end
- 36470 60358 a 36470 60358 a
-SDict begin 18.2 H.A end
- 36470 60358 a 36470
-60358 a
-SDict begin [ /View [/XYZ H.V] /Dest (991) cvn H.B /DEST pdfmark end
- 36470 60358 a FP(setup)p FU(,)h(b)-31 b(ut)455
-b(we)h(belie)-39 b(v)-23 b(e)455 b(in)-30 62372 y(gi)-39
-b(ving)387 b(our)g(readers)h(their)f(mone)-23 b(y')-85
-b(s)386 b(w)-15 b(orth.)-30 62708 y
-SDict begin H.S end
- -30 62708 a -30 62708
-a
-SDict begin 18.2 H.A end
- -30 62708 a -30 62708 a
-SDict begin [ /View [/XYZ H.V] /Dest (992) cvn H.B /DEST pdfmark end
- -30 62708 a Black 50226 73792
-a FR(25)p Black eop end
-%%Page: 26 48
-TeXDict begin 26 47 bop -8000 -8000 a
-SDict begin /product where{pop product(Distiller)search{pop pop pop
-version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
-closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
-grestore}if}{pop}ifelse}{pop}ifelse}if end
- -8000 -8000 a Black
-0 TeXcolorgray -30 -1237 a
-SDict begin H.S end
- -30 -1237 a 0 TeXcolorgray
-0 TeXcolorgray -30 -1237 a
-SDict begin H.R end
- -30 -1237 a -30 -1237 a
-SDict begin [ /View [/XYZ H.V] /Dest (page.26) cvn H.B /DEST pdfmark
-end
- -30
--1237 a Black -30 -2687 a
-SDict begin H.S end
- -30 -2687 a -30 -2687 a
-SDict begin 18.2 H.A end
- -30
--2687 a -30 -2687 a
-SDict begin [ /View [/XYZ H.V] /Dest (1012) cvn H.B /DEST pdfmark end
- -30 -2687 a 1051 x FR(Chapter)387
-b(3)g(Installation)p Black -30 3821 a FG(HELP)-30 4751
-y
-SDict begin H.S end
- -30 4751 a -30 4751 a
-SDict begin 18.2 H.A end
- -30 4751 a -30 4751 a
-SDict begin [ /View [/XYZ H.V] /Dest (994) cvn H.B /DEST pdfmark end
- -30 4751
-a 2014 x FU(If)483 b(this)g(is)g(your)f(\002rst)h(time)f(installing)g
-(Slackw)-15 b(are,)483 b(you)g(might)f(w)-15 b(ant)482
-b(to)h(tak)-15 b(e)482 b(a)i(look)e(at)h(the)-30 8780
-y(help)365 b(screen.)i(It)e(will)g(gi)-39 b(v)-23 b(e)366
-b(a)g(description)e(of)i(each)g(part)f(of)32378 8780
-y
-SDict begin H.S end
- 32378 8780 a 32378 8780 a
-SDict begin 18.2 H.A end
- 32378 8780 a 32378 8780 a
-SDict begin [ /View [/XYZ H.V] /Dest (995) cvn H.B /DEST pdfmark end
-
-32378 8780 a FP(setup)g FU(\(much)g(lik)-15 b(e)365 b(the)h(one)f(we')
--77 b(re)-30 10795 y(writing)387 b(no)-39 b(w)-101 b(,)388
-b(b)-31 b(ut)387 b(less)g(in)-62 b(v)-31 b(olv)-23 b(ed\))386
-b(and)h(instructions)f(for)i(na)-31 b(vig)-8 b(ating)386
-b(the)i(rest)f(of)g(the)g(install.)-30 11130 y
-SDict begin H.S end
- -30 11130
-a -30 11130 a
-SDict begin 18.2 H.A end
- -30 11130 a -30 11130 a
-SDict begin [ /View [/XYZ H.V] /Dest (996) cvn H.B /DEST pdfmark end
- -30 11130 a -30
-13455 a
-SDict begin H.S end
- -30 13455 a -30 13455 a
-SDict begin 18.2 H.A end
- -30 13455 a -30 13455
-a
-SDict begin [ /View [/XYZ H.V] /Dest (997) cvn H.B /DEST pdfmark end
- -30 13455 a -30 45674 a
- currentpoint currentpoint translate 1 1 scale neg exch neg exch translate
- -30 45674 a @beginspecial 22
-@llx 60 @lly 481 @urx 343 @ury 4590 @rwi @setspecial
-%%BeginDocument: installation/setup-help.eps
-%!PS-Adobe-2.0 EPSF-1.2
-%%BoundingBox: 22 60 481 343
-/Outterbox
-{ newpath
-23 61 moveto
-0 276 rlineto
-152 0 rlineto
-23 61 moveto
-457 0 rlineto
-0 276 rlineto
--160 0 rlineto
-23 87 moveto
-410 87 lineto
-440 87 moveto
-40 0 rlineto
-/Helvetica findfont 10 scalefont setfont
-413 84 moveto
-(( 6%))show} def
-
-/TitleFont
-{ /Helvetica findfont 14 scalefont setfont
-moveto } def
-
-/PanelFont
-{ /Helvetica findfont 14 scalefont setfont
-moveto } def
-
-/ContentFont1
-{ /Helvetica findfont 10 scalefont setfont
-moveto } def
-
-/ContentFont2
-{ /Helvetica findfont 11 scalefont setfont
-moveto } def
-
-/ButtonFont
-{ /Helvetica findfont 11 scalefont setfont
-moveto } def
-
-Outterbox
-
-180 333 TitleFont(Slackware Setup Help) show
-
-39 310 PanelFont (Slackware Linux Help) show
-39 300 PanelFont (____________________)show
-
-39 284 ContentFont2 (First, a little help on help. Whenever you encounter a text) show
-39 270 ContentFont2 (viewer like this during the installation, you can move around) show
-39 256 ContentFont2 (with these commands:) show
-
-39 230 ContentFont1 (PGDN/SPACE) show
-39 217 ContentFont1 (PGUP/'b') show
-39 204 ContentFont1 (ENTER/DOWN/'j') show
-39 191 ContentFont1 (UP/'k') show
-39 178 ContentFont1 (LEFT/'h') show
-39 165 ContentFont1 (RIGHT/'l') show
-39 152 ContentFont1 ('0') show
-39 139 ContentFont1 (HOME/'g') show
-39 126 ContentFont1 (END/'G') show
-39 113 ContentFont1 ('/') show
-
-135 230 ContentFont2 (- Move down one page) show
-135 217 ContentFont2 (- Move up one page) show
-135 204 ContentFont2 (- Move down one line) show
-135 191 ContentFont2 (- Move up one line) show
-135 178 ContentFont2 (- Scroll left) show
-135 165 ContentFont2 (- Scroll right) show
-135 152 ContentFont2 (- Move to beginning of line) show
-135 139 ContentFont2 (- Move to beginning of file) show
-135 126 ContentFont2 (- Move to end of file) show
-135 113 ContentFont2 (- Forward search) show
-
-
-230 71 ButtonFont (< OK >) show
-
-stroke
-showpage
-%%EOF
-
-%%EndDocument
- @endspecial -30 45674 a
- currentpoint currentpoint translate 1 1 div 1 1 div scale neg exch
-neg exch translate
- -30 45674 a -30 47224 a
-SDict begin H.S end
- -30
-47224 a -30 47224 a
-SDict begin 18.2 H.A end
- -30 47224 a -30 47224 a
-SDict begin [ /View [/XYZ H.V] /Dest (1000) cvn H.B /DEST pdfmark end
- -30 47224
-a 5517 x FG(KEYMAP)-30 52741 y
-SDict begin H.S end
- -30 52741 a -30 52741
-a
-SDict begin 18.2 H.A end
- -30 52741 a -30 52741 a
-SDict begin [ /View [/XYZ H.V] /Dest (1002) cvn H.B /DEST pdfmark end
- -30 52741 a -30 52741 a
-SDict begin H.S end
- -30
-52741 a -30 52741 a
-SDict begin 18.2 H.A end
- -30 52741 a -30 52741 a
-SDict begin [ /View [/XYZ H.V] /Dest (1004) cvn H.B /DEST pdfmark end
- -30 52741
-a -30 53671 a
-SDict begin H.S end
- -30 53671 a -30 53671 a
-SDict begin 18.2 H.A end
- -30 53671 a -30
-53671 a
-SDict begin [ /View [/XYZ H.V] /Dest (1006) cvn H.B /DEST pdfmark end
- -30 53671 a 2014 x FU(If)608 b(you)g(require)f(a)h(k)-15
-b(e)-23 b(ymap)607 b(other)g(than)h(the)f(United)g(States)35018
-55685 y
-SDict begin H.S end
- 35018 55685 a 35018 55685 a
-SDict begin 18.2 H.A end
- 35018 55685 a 35018
-55685 a
-SDict begin [ /View [/XYZ H.V] /Dest (1007) cvn H.B /DEST pdfmark end
- 35018 55685 a FU(\223qwerty\224)g(layout,)h(you)f(may)-30
-57700 y(w)-15 b(ant)484 b(to)h(tak)-15 b(e)484 b(a)i(look)e(at)h(this)f
-(section.)h(It)g(of)-39 b(fers)486 b(a)f(number)f(of)h(alternate)g
-(layouts)f(for)h(your)-30 59715 y(k)-15 b(e)-23 b(yboarding)386
-b(enjo)-15 b(yment.)-30 60050 y
-SDict begin H.S end
- -30 60050 a -30 60050
-a
-SDict begin 18.2 H.A end
- -30 60050 a -30 60050 a
-SDict begin [ /View [/XYZ H.V] /Dest (1008) cvn H.B /DEST pdfmark end
- -30 60050 a -30 62375 a
-SDict begin H.S end
- -30
-62375 a -30 62375 a
-SDict begin 18.2 H.A end
- -30 62375 a -30 62375 a
-SDict begin [ /View [/XYZ H.V] /Dest (1009) cvn H.B /DEST pdfmark end
- -30 62375
-a Black 11417 x FR(26)p Black eop end
-%%Page: 27 49
-TeXDict begin 27 48 bop -8000 -8000 a
-SDict begin /product where{pop product(Distiller)search{pop pop pop
-version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
-closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
-grestore}if}{pop}ifelse}{pop}ifelse}if end
- -8000 -8000 a Black
-0 TeXcolorgray -30 -1237 a
-SDict begin H.S end
- -30 -1237 a 0 TeXcolorgray
-0 TeXcolorgray -30 -1237 a
-SDict begin H.R end
- -30 -1237 a -30 -1237 a
-SDict begin [ /View [/XYZ H.V] /Dest (page.27) cvn H.B /DEST pdfmark
-end
- -30
--1237 a Black 37999 -1636 a FR(Chapter)386 b(3)i(Installation)p
-Black -30 33504 a
- currentpoint currentpoint translate 1 1 scale neg exch neg exch translate
- -30 33504 a @beginspecial 22 @llx 60
-@lly 348 @urx 339 @ury 3260 @rwi @setspecial
-%%BeginDocument: installation/setup-keymap.eps
-%!PS-Adobe-2.0 EPSF-1.2
-%%BoundingBox: 22 60 348 339
-
-/Outterbox
-{ newpath
-23 61 moveto
-0 273 rlineto
-70 0 rlineto
-23 61 moveto
-324 0 rlineto
-0 273 rlineto
--80 0 rlineto
-23 88 moveto
-324 0 rlineto
-closepath } def
-
-/Innerbox
-{ moveto
-302 0 rlineto
-0 157 rlineto
--302 0 rlineto
-closepath} def
-
-/TitleFont
-{ /Helvetica findfont 12 scalefont setfont
-moveto } def
-
-/PanelFont
-{ /Helvetica findfont 11 scalefont setfont
-moveto } def
-
-/ContentFont
-{ /Helvetica findfont 12 scalefont setfont
-moveto } def
-
-/ButtonFont
-{ /Helvetica findfont 11 scalefont setfont
-moveto } def
-
-23 61 Outterbox
-35 100 Innerbox
-
-95 330 TitleFont(KEYBOARD MAP SELECTION) show
-
-33 318 PanelFont (You may select one of the following keyboard maps.) show
-33 304 PanelFont (If you do not select a keyboard map, 'us.map' \(the) show
-33 290 PanelFont (US keyboard map\) is the default. Use the UP/DOWN) show
-33 276 PanelFont (arrow keys and PageUp/PageDown to scroll through) show
-33 262 PanelFont (the whole list of choices.) show
-
-99 240 ContentFont (qwerty/us.map) show
-99 227 ContentFont (azerty/azerty.map) show
-99 214 ContentFont (azerty/be-latin1.map) show
-99 201 ContentFont (azerty/fr-latin1.map) show
-99 188 ContentFont (azerty/fr-latin9.map) show
-99 175 ContentFont (azerty/fr-pc.map) show
-99 162 ContentFont (azerty/fr.map) show
-99 149 ContentFont (azerty/wangbe.map) show
-99 136 ContentFont (azerty/wangbe2.map) show
-99 123 ContentFont (dvorak/ANSI-dvorak.map) show
-99 110 ContentFont (dvorak/dvorak-l.map) show
-
-103 71 ButtonFont (< OK >) show
-190 71 ButtonFont (< Cancel >) show
-
-stroke
-showpage
-%%EOF
-
-%%EndDocument
- @endspecial -30 33504 a
- currentpoint currentpoint translate 1 1 div 1 1 div scale neg exch
-neg exch translate
- -30 33504 a -30 35054 a
-SDict begin H.S end
- -30
-35054 a -30 35054 a
-SDict begin 18.2 H.A end
- -30 35054 a -30 35054 a
-SDict begin [ /View [/XYZ H.V] /Dest (1012) cvn H.B /DEST pdfmark end
- -30 35054
-a 5517 x FG(ADDSW)-112 b(AP)-30 40594 y
-SDict begin H.S end
- -30 40594 a -30
-40594 a
-SDict begin 18.2 H.A end
- -30 40594 a -30 40594 a
-SDict begin [ /View [/XYZ H.V] /Dest (1014) cvn H.B /DEST pdfmark end
- -30 40594 a -30 43074
-a
-SDict begin H.S end
- -30 43074 a -30 43074 a
-SDict begin 18.2 H.A end
- -30 43074 a -30 43074 a
-SDict begin [ /View [/XYZ H.V] /Dest (1015) cvn H.B /DEST pdfmark end
- -30
-43074 a -30 60448 a
- currentpoint currentpoint translate 1 1 scale neg exch neg exch translate
- -30 60448 a @beginspecial 22 @llx
-60 @lly 439 @urx 208 @ury 4170 @rwi @setspecial
-%%BeginDocument: installation/setup-swap.eps
-%!PS-Adobe-2.0 EPSF-1.2
-%%BoundingBox: 22 60 439 208
-
-/Outterbox
-{ newpath moveto
-0 143 rlineto
-137 0 rlineto
-23 61 moveto
-415 0 rlineto
-0 143 rlineto
--125 0 rlineto
-23 87 moveto
-415 0 rlineto
-closepath } def
-
-/TitleFont
-{ /Helvetica findfont 12 scalefont setfont
-moveto } def
-
-/PanelFont
-{ /Helvetica findfont 12 scalefont setfont
-moveto } def
-
-/ContentFont
-{ /Helvetica findfont 12 scalefont setfont
-moveto } def
-
-/ButtonFont
-{ /Helvetica findfont 11 scalefont setfont
-moveto } def
-
-23 61 Outterbox
-
-163 199 TitleFont(SWAP SPACE DETECTED) show
-
-33 180 PanelFont (Slackware Setup has detected a swap partition: ) show
-
-52 154 ContentFont (Device Boot) show
-140 154 ContentFont(Start) show
-202 154 ContentFont(End) show
-249 154 ContentFont(Blocks) show
-310 154 ContentFont(Id) show
-330 154 ContentFont(System) show
-33 135 ContentFont (/dev/hda4) show
-157 135 ContentFont(4801) show
-224 135 ContentFont(4865) show
-280 135 ContentFont(522112+) show
-340 135 ContentFont(82) show
-365 135 ContentFont(Linux swap) show
-
-33 106 ContentFont (Do you wish to install this as your swap partition?) show
-
-
-153 71 ButtonFont (< Yes >) show
-267 71 ButtonFont (< No >) show
-
-stroke
-showpage
-%%EOF
-
-%%EndDocument
- @endspecial -30 60448 a
- currentpoint currentpoint translate 1 1 div 1 1 div scale neg exch
-neg exch translate
- -30 60448 a -30 60448 a
-SDict begin H.S end
- -30
-60448 a -30 60448 a
-SDict begin 18.2 H.A end
- -30 60448 a -30 60448 a
-SDict begin [ /View [/XYZ H.V] /Dest (1018) cvn H.B /DEST pdfmark end
- -30 60448
-a -30 61998 a
-SDict begin H.S end
- -30 61998 a -30 61998 a
-SDict begin 18.2 H.A end
- -30 61998 a -30
-61998 a
-SDict begin [ /View [/XYZ H.V] /Dest (1020) cvn H.B /DEST pdfmark end
- -30 61998 a 2015 x FU(If)583 b(you)f(created)g(a)g(sw)-15
-b(ap)582 b(partition)f(\(back)h(in)p 0 TeXcolorgray 26216
-64013 a
-SDict begin H.S end
- 26216 64013 a FU(Section)387 b(3.3)33190 64013
-y
-SDict begin 18.2 H.L end
- 33190 64013 a 33190 64013 a
-SDict begin [ /Subtype /Link /Dest (INSTALLATION-PARTITIONING) cvn
-/H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 33190 64013 a Black FU(\),)583
-b(this)f(section)f(will)h(allo)-39 b(w)582 b(you)-30
-66027 y(to)521 b(enable)f(it.)h(It)g(will)f(autodetect)g(and)h(display)
-f(the)g(sw)-15 b(ap)520 b(partitions)g(on)h(your)f(hard)h(dri)-39
-b(v)-23 b(e,)-30 68042 y(allo)-39 b(wing)387 b(you)g(to)g(select)g(one)
-g(to)h(format)f(and)g(enable.)p Black 50169 73792 a FR(27)p
-Black eop end
-%%Page: 28 50
-TeXDict begin 28 49 bop -8000 -8000 a
-SDict begin /product where{pop product(Distiller)search{pop pop pop
-version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
-closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
-grestore}if}{pop}ifelse}{pop}ifelse}if end
- -8000 -8000 a Black
-0 TeXcolorgray -30 -1237 a
-SDict begin H.S end
- -30 -1237 a 0 TeXcolorgray
-0 TeXcolorgray -30 -1237 a
-SDict begin H.R end
- -30 -1237 a -30 -1237 a
-SDict begin [ /View [/XYZ H.V] /Dest (page.28) cvn H.B /DEST pdfmark
-end
- -30
--1237 a Black -30 -2687 a
-SDict begin H.S end
- -30 -2687 a -30 -2687 a
-SDict begin 18.2 H.A end
- -30
--2687 a -30 -2687 a
-SDict begin [ /View [/XYZ H.V] /Dest (1044) cvn H.B /DEST pdfmark end
- -30 -2687 a 1051 x FR(Chapter)387
-b(3)g(Installation)p Black -30 2504 a
-SDict begin H.S end
- -30 2504 a -30
-2504 a
-SDict begin 18.2 H.A end
- -30 2504 a -30 2504 a
-SDict begin [ /View [/XYZ H.V] /Dest (1022) cvn H.B /DEST pdfmark end
- -30 2504 a 1357 x FG(T)-167
-b(ARGET)-30 3884 y
-SDict begin H.S end
- -30 3884 a -30 3884 a
-SDict begin 18.2 H.A end
- -30 3884 a -30
-3884 a
-SDict begin [ /View [/XYZ H.V] /Dest (1024) cvn H.B /DEST pdfmark end
- -30 3884 a -30 6364 a
-SDict begin H.S end
- -30 6364 a -30 6364 a
-SDict begin 18.2 H.A end
- -30
-6364 a -30 6364 a
-SDict begin [ /View [/XYZ H.V] /Dest (1025) cvn H.B /DEST pdfmark end
- -30 6364 a -30 25071 a
- currentpoint currentpoint translate 1 1 scale neg exch neg exch translate
- -30 25071 a
-@beginspecial 22 @llx 60 @lly 439 @urx 220 @ury 4170
-@rwi @setspecial
-%%BeginDocument: installation/setup-target.eps
-%!PS-Adobe-2.0 EPSF-1.2
-%%BoundingBox: 22 60 439 220
-
-/Outterbox
-{ newpath moveto
-0 154 rlineto
-97 0 rlineto
-23 61 moveto
-415 0 rlineto
-0 154 rlineto
--138 0 rlineto
-23 87 moveto
-415 0 rlineto
-closepath } def
-
-/Innerbox
-{ moveto
-392 0 rlineto
-0 79 rlineto
--392 0 rlineto
-closepath} def
-
-/TitleFont
-{ /Helvetica findfont 12 scalefont setfont
-moveto } def
-
-/PanelFont
-{ /Helvetica findfont 12 scalefont setfont
-moveto } def
-
-/ContentFont
-{ /Helvetica findfont 12 scalefont setfont
-moveto } def
-
-/ButtonFont
-{ /Helvetica findfont 11 scalefont setfont
-moveto } def
-
-23 61 Outterbox
-35 99 Innerbox
-
-123 211 TitleFont(Select Linux installation partition:) show
-
-36 197 PanelFont (Please select a partition from the following list to use for your) show
-36 185 PanelFont (root (/) Linux partition.) show
-
-72 160 ContentFont (/dev/hda2) show
-72 146 ContentFont (/dev/hda3) show
-72 132 ContentFont (/dev/hda4) show
-72 118 ContentFont ( - - - ) show
-72 104 ContentFont ( - - - ) show
-
-158 160 ContentFont (Linux 5863725) show
-158 146 ContentFont (Linux 5863725) show
-158 132 ContentFont (Linux 104984775) show
-158 118 ContentFont ((done adding partitions, continue with setup)) show
-158 104 ContentFont ((done adding partitions, continue with setup)) show
-
-153 71 ButtonFont (< Select >) show
-267 71 ButtonFont (< Continue >) show
-
-stroke
-showpage
-%%EOF
-
-%%EndDocument
- @endspecial -30 25071 a
- currentpoint currentpoint translate 1 1 div 1 1 div scale neg exch
-neg exch translate
- -30 25071 a -30 25071 a
-SDict begin H.S end
- -30
-25071 a -30 25071 a
-SDict begin 18.2 H.A end
- -30 25071 a -30 25071 a
-SDict begin [ /View [/XYZ H.V] /Dest (1028) cvn H.B /DEST pdfmark end
- -30 25071
-a -30 26621 a
-SDict begin H.S end
- -30 26621 a -30 26621 a
-SDict begin 18.2 H.A end
- -30 26621 a -30
-26621 a
-SDict begin [ /View [/XYZ H.V] /Dest (1030) cvn H.B /DEST pdfmark end
- -30 26621 a 2015 x FU(The)692 b(tar)-28 b(get)691
-b(section)g(is)g(where)h(your)f(other)g(\(non-sw)-15
-b(ap\))691 b(partitions)f(are)i(formatted)f(and)-30 30650
-y(mapped)374 b(to)g(\002lesystem)f(mount)g(points.)h(A)g(list)g(of)g
-(the)g(partitions)f(on)h(your)g(hard)h(disk)e(will)h(be)-30
-32665 y(displayed.)392 b(F)-23 b(or)391 b(each)i(partition,)e(you)h
-(will)g(be)g(gi)-39 b(v)-23 b(en)391 b(the)h(option)g(of)g(whether)g
-(to)g(format)f(that)-30 34680 y(partition)588 b(or)g(not.)h(Depending)e
-(on)h(the)h(k)-15 b(ernel)588 b(used,)g(you)g(can)h(choose)f(between)g
-(reiserfs)-30 36694 y(\(the)447 b(def)-15 b(ault\),)446
-b(e)-23 b(xt3,)447 b(e)-23 b(xt2,)446 b(jfs,)h(and)g(xfs.)f(Most)g
-(people)h(use)f(either)h(reiserfs)f(or)h(e)-23 b(xt3.)446
-b(In)h(the)-30 38709 y(near)388 b(future)f(we)g(may)g(see)h(support)e
-(for)i(reiserfs4)f(slip)g(in.)-30 39819 y
-SDict begin H.S end
- -30 39819 a
--30 39819 a
-SDict begin 18.2 H.A end
- -30 39819 a -30 39819 a
-SDict begin [ /View [/XYZ H.V] /Dest (1031) cvn H.B /DEST pdfmark end
- -30 39819 a 1680
-x FU(The)377 b(\002rst)f(option)h(in)f(the)h(tar)-28
-b(get)377 b(section)g(is)f(the)h(selection)f(of)h(a)h(partition)e(on)g
-(which)h(to)g(install)-30 43513 y(your)318 b(root)g(\()6460
-43513 y
-SDict begin H.S end
- 6460 43513 a 6460 43513 a
-SDict begin 18.2 H.A end
- 6460 43513 a 6460 43513
-a
-SDict begin [ /View [/XYZ H.V] /Dest (1032) cvn H.B /DEST pdfmark end
- 6460 43513 a FQ(/)p FU(\))g(\002lesystem.)g(After)g(that,)h(you)f
-(will)g(be)g(able)h(to)f(map)g(other)g(partitions)g(to)g(\002lesys-)-30
-45528 y(tems)382 b(as)g(you)g(choose.)h(\(F)-23 b(or)382
-b(instance,)g(you)g(may)g(w)-15 b(ant)382 b(your)g(third)g(partition,)g
-(say)45751 45528 y
-SDict begin H.S end
- 45751 45528 a 45751 45528 a
-SDict begin 18.2 H.A end
- 45751
-45528 a 45751 45528 a
-SDict begin [ /View [/XYZ H.V] /Dest (1033) cvn H.B /DEST pdfmark end
- 45751 45528 a FQ(/dev/hda3)p FU(,)-30
-47543 y(to)468 b(be)g(your)f(home)h(\002lesystem.)f(This)g(is)g(just)h
-(an)g(e)-23 b(xample;)467 b(map)g(the)h(partitions)e(as)i(you)g(see)-30
-49557 y(\002t.\))-30 50609 y
-SDict begin H.S end
- -30 50609 a -30 50609 a
-SDict begin 18.2 H.A end
-
--30 50609 a -30 50609 a
-SDict begin [ /View [/XYZ H.V] /Dest (1034) cvn H.B /DEST pdfmark end
- -30 50609 a 5240 x FG(SOURCE)-30
-56802 y
-SDict begin H.S end
- -30 56802 a -30 56802 a
-SDict begin 18.2 H.A end
- -30 56802 a -30 56802
-a
-SDict begin [ /View [/XYZ H.V] /Dest (1036) cvn H.B /DEST pdfmark end
- -30 56802 a 1992 x FU(The)559 b(source)f(section)g(is)h(where)g(you)f
-(select)h(the)f(source)h(media)f(from)g(which)h(you)f(are)h(in-)-30
-60808 y(stalling)423 b(Slackw)-15 b(are.)423 b(Currently)g(there)g(are)
-h(four)g(sources)f(to)h(choose)f(from.)h(These)f(are)h(CD-)-30
-62823 y(R)-62 b(OM,)387 b(NFS,)g(or)h(a)f(premounted)g(directory)-101
-b(.)-30 63159 y
-SDict begin H.S end
- -30 63159 a -30 63159 a
-SDict begin 18.2 H.A end
- -30 63159 a -30
-63159 a
-SDict begin [ /View [/XYZ H.V] /Dest (1037) cvn H.B /DEST pdfmark end
- -30 63159 a -30 65483 a
-SDict begin H.S end
- -30 65483 a -30 65483
-a
-SDict begin 18.2 H.A end
- -30 65483 a -30 65483 a
-SDict begin [ /View [/XYZ H.V] /Dest (1038) cvn H.B /DEST pdfmark end
- -30 65483 a Black 8309 x FR(28)p
-Black eop end
-%%Page: 29 51
-TeXDict begin 29 50 bop -8000 -8000 a
-SDict begin /product where{pop product(Distiller)search{pop pop pop
-version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
-closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
-grestore}if}{pop}ifelse}{pop}ifelse}if end
- -8000 -8000 a Black
-0 TeXcolorgray -30 -1237 a
-SDict begin H.S end
- -30 -1237 a 0 TeXcolorgray
-0 TeXcolorgray -30 -1237 a
-SDict begin H.R end
- -30 -1237 a -30 -1237 a
-SDict begin [ /View [/XYZ H.V] /Dest (page.29) cvn H.B /DEST pdfmark
-end
- -30
--1237 a Black -30 -2687 a
-SDict begin H.S end
- -30 -2687 a -30 -2687 a
-SDict begin 18.2 H.A end
- -30
--2687 a -30 -2687 a
-SDict begin [ /View [/XYZ H.V] /Dest (1061) cvn H.B /DEST pdfmark end
- -30 -2687 a 37999 -1636 a FR(Chapter)386
-b(3)i(Installation)p Black -30 17615 a
- currentpoint currentpoint translate 1 1 scale neg exch neg exch translate
- -30 17615 a @beginspecial
-22 @llx 60 @lly 438 @urx 196 @ury 4160 @rwi @setspecial
-%%BeginDocument: installation/setup-source.eps
-%!PS-Adobe-2.0 EPSF-1.2
-%%BoundingBox: 22 60 438 196
-/Outterbox
-{ newpath moveto
-0 130 rlineto
-125 0 rlineto
-23 61 moveto
-414 0 rlineto
-0 130 rlineto
--130 0 rlineto
-23 87 moveto
-414 0 rlineto
-closepath } def
-
-/Innerbox
-{ moveto
-390 0 rlineto
-0 66 rlineto
--390 0 rlineto
-closepath} def
-
-/TitleFont
-{ /Helvetica findfont 11 scalefont setfont
-moveto } def
-
-/PanelFont
-{ /Helvetica findfont 12 scalefont setfont
-moveto } def
-
-/ContentFont
-{ /Helvetica findfont 12 scalefont setfont
-moveto } def
-
-/ButtonFont
-{ /Helvetica findfont 11 scalefont setfont
-moveto } def
-
-23 61 Outterbox
-35 99 Innerbox
-
-153 187 TitleFont(SOURCE MEDIA SELECTION) show
-
-35 174 PanelFont (Please select the media from which to install Slackware Linux:) show
-
-104 148 ContentFont (1) show
-104 134 ContentFont (2) show
-104 120 ContentFont (3) show
-104 106 ContentFont (4) show
-
-123 148 ContentFont (Install from a Slackware CD or DVD) show
-123 134 ContentFont (Install from a hard drive partition) show
-123 120 ContentFont (Install from NFS (Network File System)) show
-123 106 ContentFont (Install from a pre-mounted directory) show
-
-133 71 ButtonFont (< OK >) show
-247 71 ButtonFont (< Cancel >) show
-
-stroke
-showpage
-%%EOF
-
-%%EndDocument
- @endspecial -30 17615 a
- currentpoint currentpoint translate 1 1 div 1 1 div scale neg exch
-neg exch translate
- -30 17615 a -30 17615 a
-SDict begin H.S end
- -30
-17615 a -30 17615 a
-SDict begin 18.2 H.A end
- -30 17615 a -30 17615 a
-SDict begin [ /View [/XYZ H.V] /Dest (1041) cvn H.B /DEST pdfmark end
- -30 17615
-a 3565 x FU(The)432 b(CD-R)-62 b(OM)431 b(selection)g(enables)g(a)h
-(CD-R)-62 b(OM)431 b(based)g(installation.)g(It)h(will)f(of)-39
-b(fer)432 b(the)g(op-)-30 23194 y(tion)437 b(of)g(scanning)g(for)h(a)f
-(CD-R)-62 b(OM)437 b(dri)-39 b(v)-23 b(e)437 b(or)h(displaying)e(a)h
-(list)g(from)g(which)g(you)h(can)f(pick)-30 25209 y(your)321
-b(dri)-39 b(v)-23 b(e)321 b(type.)g(Mak)-15 b(e)321 b(sure)g(you)g(ha)
--31 b(v)-23 b(e)321 b(the)f(Slackw)-15 b(are)321 b(CD)g(in)f(your)h
-(dri)-39 b(v)-23 b(e)321 b(before)h(allo)-39 b(wing)-30
-27224 y(it)387 b(to)g(scan.)-30 27239 y
-SDict begin H.S end
- -30 27239 a -30
-27239 a
-SDict begin 18.2 H.A end
- -30 27239 a -30 27239 a
-SDict begin [ /View [/XYZ H.V] /Dest (1045) cvn H.B /DEST pdfmark end
- -30 27239 a -30 27239
-a
-SDict begin H.S end
- -30 27239 a -30 27239 a
-SDict begin 18.2 H.A end
- -30 27239 a -30 27239 a
-SDict begin [ /View [/XYZ H.V] /Dest (1047) cvn H.B /DEST pdfmark end
- -30
-27239 a -30 28014 a
-SDict begin H.S end
- -30 28014 a -30 28014 a
-SDict begin 18.2 H.A end
- -30 28014
-a -30 28014 a
-SDict begin [ /View [/XYZ H.V] /Dest (1050) cvn H.B /DEST pdfmark end
- -30 28014 a 1999 x FU(The)393 b(NFS)e(selection)h
-(prompts)g(for)h(your)f(netw)-15 b(ork)391 b(information)h(and)g(the)h
-(netw)-15 b(ork)391 b(informa-)-30 32028 y(tion)407 b(for)h(your)f(NFS)
-g(serv)-23 b(er)-85 b(.)408 b(The)g(NFS)f(serv)-23 b(er)407
-b(must)g(be)h(set)f(up)h(in)f(adv)-39 b(ance.)409 b(Also)e(note)g(that)
--30 34043 y(you)346 b(cannot)g(use)g(hostnames,)f(you)h(must)g(use)g
-(the)g(IP)g(addresses)f(for)i(both)e(your)h(machine)g(and)-30
-36057 y(the)528 b(NFS)f(serv)-23 b(er)527 b(\(there)h(is)g(no)f(name)h
-(resolv)-23 b(er)527 b(on)h(the)g(setup)f(disk\).)h(Naturally)f(you)h
-(must)-30 38072 y(ha)-31 b(v)-23 b(e)387 b(used)g(the)8739
-38072 y
-SDict begin H.S end
- 8739 38072 a 8739 38072 a
-SDict begin 18.2 H.A end
- 8739 38072 a 8739 38072
-a
-SDict begin [ /View [/XYZ H.V] /Dest (1051) cvn H.B /DEST pdfmark end
- 8739 38072 a FQ(network.dsk)380 b FU(\003opp)-15 b(y)386
-b(to)h(add)g(support)g(for)g(your)h(netw)-15 b(ork)386
-b(controller)-85 b(.)-30 39182 y
-SDict begin H.S end
- -30 39182 a -30 39182
-a
-SDict begin 18.2 H.A end
- -30 39182 a -30 39182 a
-SDict begin [ /View [/XYZ H.V] /Dest (1052) cvn H.B /DEST pdfmark end
- -30 39182 a 1679 x FU(The)568
-b(premounted)f(directory)g(of)-39 b(fers)568 b(the)g(most)f(\003e)-23
-b(xibility)-101 b(.)566 b(Y)-170 b(ou)567 b(can)h(use)g(this)f(method)g
-(to)-30 42876 y(install)450 b(from)h(things)e(such)i(as)g(Jaz)g(disks,)
-f(NFS)g(mounts)g(o)-23 b(v)g(er)450 b(PLIP)-172 b(,)451
-b(and)f(F)-115 b(A)-172 b(T)451 b(\002lesystems.)-30
-44891 y(Mount)346 b(the)g(\002lesystem)f(to)h(a)g(location)f(of)i(your)
-f(choosing)f(before)h(running)g(setup,)g(then)g(spec-)-30
-46905 y(ify)387 b(that)g(location)g(here.)-30 48016 y
-SDict begin H.S end
-
--30 48016 a -30 48016 a
-SDict begin 18.2 H.A end
- -30 48016 a -30 48016 a
-SDict begin [ /View [/XYZ H.V] /Dest (1053) cvn H.B /DEST pdfmark end
- -30 48016
-a 5181 x FG(SELECT)-30 54150 y
-SDict begin H.S end
- -30 54150 a -30 54150
-a
-SDict begin 18.2 H.A end
- -30 54150 a -30 54150 a
-SDict begin [ /View [/XYZ H.V] /Dest (1055) cvn H.B /DEST pdfmark end
- -30 54150 a 1992 x FU(The)510
-b(select)f(option)g(allo)-39 b(ws)510 b(you)f(to)h(select)f(the)h
-(softw)-15 b(are)509 b(series)h(that)f(you)h(wish)f(to)g(install.)-30
-58157 y(These)455 b(series)h(are)g(described)f(in)p 0
-TeXcolorgray 18514 58157 a
-SDict begin H.S end
- 18514 58157 a FU(Section)387
-b(3.2.1)26650 58157 y
-SDict begin 18.2 H.L end
- 26650 58157 a 26650 58157 a
-SDict begin [ /Subtype /Link /Dest (INSTALLATION-SOFTWARE-SERIES) cvn
-/H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 26650
-58157 a Black FU(.)456 b(Please)f(note)h(that)f(you)g(must)g(install)g
-(the)g(A)-30 60171 y(series)387 b(to)g(ha)-31 b(v)-23
-b(e)387 b(a)h(w)-15 b(orking)386 b(base)h(system.)g(All)g(other)h
-(series)f(are)g(optional.)-30 60507 y
-SDict begin H.S end
- -30 60507 a -30
-60507 a
-SDict begin 18.2 H.A end
- -30 60507 a -30 60507 a
-SDict begin [ /View [/XYZ H.V] /Dest (1057) cvn H.B /DEST pdfmark end
- -30 60507 a -30 62831
-a
-SDict begin H.S end
- -30 62831 a -30 62831 a
-SDict begin 18.2 H.A end
- -30 62831 a -30 62831 a
-SDict begin [ /View [/XYZ H.V] /Dest (1058) cvn H.B /DEST pdfmark end
- -30
-62831 a Black 50226 73792 a FR(29)p Black eop end
-%%Page: 30 52
-TeXDict begin 30 51 bop -8000 -8000 a
-SDict begin /product where{pop product(Distiller)search{pop pop pop
-version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
-closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
-grestore}if}{pop}ifelse}{pop}ifelse}if end
- -8000 -8000 a Black
-0 TeXcolorgray -30 -1237 a
-SDict begin H.S end
- -30 -1237 a 0 TeXcolorgray
-0 TeXcolorgray -30 -1237 a
-SDict begin H.R end
- -30 -1237 a -30 -1237 a
-SDict begin [ /View [/XYZ H.V] /Dest (page.30) cvn H.B /DEST pdfmark
-end
- -30
--1237 a Black -30 -2687 a
-SDict begin H.S end
- -30 -2687 a -30 -2687 a
-SDict begin 18.2 H.A end
- -30
--2687 a -30 -2687 a
-SDict begin [ /View [/XYZ H.V] /Dest (1080) cvn H.B /DEST pdfmark end
- -30 -2687 a 1051 x FR(Chapter)387
-b(3)g(Installation)p Black -30 30504 a
- currentpoint currentpoint translate 1 1 scale neg exch neg exch translate
- -30 30504 a @beginspecial
-21 @llx 60 @lly 467 @urx 312 @ury 4460 @rwi @setspecial
-%%BeginDocument: installation/setup-select.eps
-%!PS-Adobe-2.0 EPSF-1.2
-%%BoundingBox: 21 60 467 312
-
-/Outterbox
-{ newpath moveto
-0 246 rlineto
-118 0 rlineto
-23 61 moveto
-443 0 rlineto
-0 246 rlineto
--125 0 rlineto
-23 87 moveto
-443 0 rlineto
-closepath } def
-
-/Innerbox
-{ moveto
-421 0 rlineto
-0 131 rlineto
--421 0 rlineto
-closepath} def
-
-/TitleFont
-{ /Helvetica findfont 13 scalefont setfont
-moveto } def
-
-/PanelFont
-{ /Helvetica findfont 12 scalefont setfont
-moveto } def
-
-/ContentFont1
-{ /Helvetica findfont 12 scalefont setfont
-moveto } def
-
-/ContentFont2
-{ /Helvetica findfont 11 scalefont setfont
-moveto } def
-
-/ButtonFont
-{ /Helvetica findfont 11 scalefont setfont
-moveto } def
-
-23 61 Outterbox
-34 100 Innerbox
-
-145 301 TitleFont(PACKAGE SERIES SELECTION) show
-
-33 287 PanelFont (Now it's time to select which general categories of software to install) show
-33 275 PanelFont (on your system. Use the spacebar to select or unselect the software)show
-33 263 PanelFont (you wish to install. You can use the up and down arrows to see all the) show
-33 251 PanelFont (possible choices. Recommended choices have been preselected. Press) show
-33 239 PanelFont (the ENTER key when you are finished.) show
-
-55 218 ContentFont1 ([X]) show
-55 204 ContentFont1 ([X]) show
-55 190 ContentFont1 ([X]) show
-55 176 ContentFont1 ([X]) show
-55 162 ContentFont1 ([X]) show
-55 148 ContentFont1 ([X]) show
-55 134 ContentFont1 ([X]) show
-55 120 ContentFont1 ([X]) show
-55 106 ContentFont1 ([ ]) show
-
-86 218 ContentFont2 (A) show
-86 204 ContentFont2 (AP) show
-86 190 ContentFont2 (D) show
-86 176 ContentFont2 (E) show
-86 162 ContentFont2 (F) show
-86 148 ContentFont2 (GNOME) show
-86 134 ContentFont2 (K) show
-86 120 ContentFont2 (KDE) show
-86 106 ContentFont2 (KDEI) show
-
-133 218 ContentFont1 (Base Linux system) show
-133 204 ContentFont1 (Various Applications that do not need X) show
-133 190 ContentFont1 (Program Development (C, C++, Lisp, Perl, etc.)) show
-133 176 ContentFont1 (GNU Emacs) show
-133 162 ContentFont1 (FAQ lists, HOWTO documentation) show
-133 148 ContentFont1 (The GNOME desktop for X) show
-133 134 ContentFont1 (Linux kernel source) show
-133 120 ContentFont1 (Qt and the K Desktop Environment for X) show
-133 106 ContentFont1 (International language support for KDE) show
-
-153 71 ButtonFont (< OK >) show
-267 71 ButtonFont (< Cancel >) show
-
-stroke
-showpage
-%%EOF
-
-%%EndDocument
- @endspecial -30 30504 a
- currentpoint currentpoint translate 1 1 div 1 1 div scale neg exch
-neg exch translate
- -30 30504 a -30 32054 a
-SDict begin H.S end
- -30
-32054 a -30 32054 a
-SDict begin 18.2 H.A end
- -30 32054 a -30 32054 a
-SDict begin [ /View [/XYZ H.V] /Dest (1061) cvn H.B /DEST pdfmark end
- -30 32054
-a 5517 x FG(INST)-167 b(ALL)-30 38524 y
-SDict begin H.S end
- -30 38524 a -30
-38524 a
-SDict begin 18.2 H.A end
- -30 38524 a -30 38524 a
-SDict begin [ /View [/XYZ H.V] /Dest (1063) cvn H.B /DEST pdfmark end
- -30 38524 a 1992 x FU(Assuming)463
-b(that)h(you)f(ha)-31 b(v)-23 b(e)464 b(gone)g(through)f(the)26753
-40516 y
-SDict begin H.S end
- 26753 40516 a 26753 40516 a
-SDict begin 18.2 H.A end
- 26753 40516 a 26753
-40516 a
-SDict begin [ /View [/XYZ H.V] /Dest (1064) cvn H.B /DEST pdfmark end
- 26753 40516 a FU(\223tar)-28 b(get\224,)32481
-40516 y
-SDict begin H.S end
- 32481 40516 a 32481 40516 a
-SDict begin 18.2 H.A end
- 32481 40516 a 32481
-40516 a
-SDict begin [ /View [/XYZ H.V] /Dest (1065) cvn H.B /DEST pdfmark end
- 32481 40516 a FU(\223source\224,)465 b(and)41456
-40516 y
-SDict begin H.S end
- 41456 40516 a 41456 40516 a
-SDict begin 18.2 H.A end
- 41456 40516 a 41456
-40516 a
-SDict begin [ /View [/XYZ H.V] /Dest (1066) cvn H.B /DEST pdfmark end
- 41456 40516 a FU(\223select\224)e(options,)-30
-42530 y(the)2241 42530 y
-SDict begin H.S end
- 2241 42530 a 2241 42530 a
-SDict begin 18.2 H.A end
- 2241
-42530 a 2241 42530 a
-SDict begin [ /View [/XYZ H.V] /Dest (1067) cvn H.B /DEST pdfmark end
- 2241 42530 a FP(install)377 b FU(option)f(will)h
-(allo)-39 b(w)377 b(you)g(to)g(select)g(packages)g(from)g(your)f
-(chosen)h(softw)-15 b(are)377 b(se-)-30 44545 y(ries.)328
-b(If)h(not,)f(it)f(will)h(prompt)f(you)h(to)g(go)f(back)h(and)g
-(complete)g(the)f(other)h(sections)g(of)g(the)f(setup)-30
-46560 y(program.)475 b(This)f(option)13748 46560 y
-SDict begin H.S end
- 13748
-46560 a 13748 46560 a
-SDict begin 18.2 H.A end
- 13748 46560 a 13748 46560 a
-SDict begin [ /View [/XYZ H.V] /Dest (1068) cvn H.B /DEST pdfmark end
- 13748
-46560 a 475 w FU(allo)-39 b(ws)474 b(you)g(to)h(select)f(from)g(six)g
-(dif)-39 b(ferent)475 b(installation)e(methods:)-30 48574
-y
-SDict begin H.S end
- -30 48574 a -30 48574 a
-SDict begin 18.2 H.A end
- -30 48574 a -30 48574 a
-SDict begin [ /View [/XYZ H.V] /Dest (1070) cvn H.B /DEST pdfmark end
- -30
-48574 a FP(full)p FU(,)3720 48574 y
-SDict begin H.S end
- 3720 48574 a 3720
-48574 a
-SDict begin 18.2 H.A end
- 3720 48574 a 3720 48574 a
-SDict begin [ /View [/XYZ H.V] /Dest (1071) cvn H.B /DEST pdfmark end
- 3720 48574 a FP(newbie)p
-FU(,)8959 48574 y
-SDict begin H.S end
- 8959 48574 a 8959 48574 a
-SDict begin 18.2 H.A end
- 8959 48574
-a 8959 48574 a
-SDict begin [ /View [/XYZ H.V] /Dest (1072) cvn H.B /DEST pdfmark end
- 8959 48574 a FP(menu)p FU(,)12709 48574
-y
-SDict begin H.S end
- 12709 48574 a 12709 48574 a
-SDict begin 18.2 H.A end
- 12709 48574 a 12709 48574
-a
-SDict begin [ /View [/XYZ H.V] /Dest (1073) cvn H.B /DEST pdfmark end
- 12709 48574 a FP(expert)p FU(,)17947 48574 y
-SDict begin H.S end
- 17947
-48574 a 17947 48574 a
-SDict begin 18.2 H.A end
- 17947 48574 a 17947 48574 a
-SDict begin [ /View [/XYZ H.V] /Dest (1074) cvn H.B /DEST pdfmark end
- 17947
-48574 a FP(custom)p FU(,)387 b(and)25811 48574 y
-SDict begin H.S end
- 25811
-48574 a 25811 48574 a
-SDict begin 18.2 H.A end
- 25811 48574 a 25811 48574 a
-SDict begin [ /View [/XYZ H.V] /Dest (1075) cvn H.B /DEST pdfmark end
- 25811
-48574 a FP(tag)743 b(path)p FU(.)-30 48798 y
-SDict begin H.S end
- -30 48798
-a -30 48798 a
-SDict begin 18.2 H.A end
- -30 48798 a -30 48798 a
-SDict begin [ /View [/XYZ H.V] /Dest (1076) cvn H.B /DEST pdfmark end
- -30 48798 a -30
-51123 a
-SDict begin H.S end
- -30 51123 a -30 51123 a
-SDict begin 18.2 H.A end
- -30 51123 a -30 51123
-a
-SDict begin [ /View [/XYZ H.V] /Dest (1077) cvn H.B /DEST pdfmark end
- -30 51123 a Black 22669 x FR(30)p Black eop end
-%%Page: 31 53
-TeXDict begin 31 52 bop -8000 -8000 a
-SDict begin /product where{pop product(Distiller)search{pop pop pop
-version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
-closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
-grestore}if}{pop}ifelse}{pop}ifelse}if end
- -8000 -8000 a Black
-0 TeXcolorgray -30 -1237 a
-SDict begin H.S end
- -30 -1237 a 0 TeXcolorgray
-0 TeXcolorgray -30 -1237 a
-SDict begin H.R end
- -30 -1237 a -30 -1237 a
-SDict begin [ /View [/XYZ H.V] /Dest (page.31) cvn H.B /DEST pdfmark
-end
- -30
--1237 a Black 37999 -1636 a FR(Chapter)386 b(3)i(Installation)p
-Black -30 32171 a
- currentpoint currentpoint translate 1 1 scale neg exch neg exch translate
- -30 32171 a @beginspecial 21 @llx 60
-@lly 450 @urx 327 @ury 4290 @rwi @setspecial
-%%BeginDocument: installation/setup-install.eps
-%!PS-Adobe-2.0 EPSF-1.2
-%%BoundingBox: 21 60 450 327
-
-/Outterbox
-{ newpath moveto
-0 259 rlineto
-118 0 rlineto
-23 61 moveto
-426 0 rlineto
-0 259 rlineto
--125 0 rlineto
-23 87 moveto
-426 0 rlineto
-closepath } def
-
-/Innerbox
-{ moveto
-403 0 rlineto
-0 105 rlineto
--403 0 rlineto
-closepath} def
-
-/TitleFont
-{ /Helvetica findfont 13 scalefont setfont
-moveto } def
-
-/PanelFont
-{ /Helvetica findfont 12 scalefont setfont
-moveto } def
-
-/ContentFont1
-{ /Helvetica findfont 12 scalefont setfont
-moveto } def
-
-/ContentFont2
-{ /Helvetica findfont 11 scalefont setfont
-moveto } def
-
-/ButtonFont
-{ /Helvetica findfont 11 scalefont setfont
-moveto } def
-
-23 61 Outterbox
-34 100 Innerbox
-
-145 316 TitleFont(SELECT PROMPTING MODE) show
-
-33 304 PanelFont (Now you must select the type of prompts you'd like to see during the) show
-33 291 PanelFont (installation process. If you have the drive space, the 'full')show
-33 278 PanelFont (option is quick, easy, and by far the most foolproof choice. The) show
-33 265 PanelFont ('newbie' mode provides the most information but is much more) show
-33 252 PanelFont (time-consuming (presenting the packages one by one) than the) show
-33 239 PanelFont (menu-based choices. Otherwise, you can pick packages from menus) show
-33 226 PanelFont (using 'expert' or 'menu' mode. Which type of prompting would you) show
-33 213 PanelFont (like to use?) show
-
-55 191 ContentFont1 (full) show
-55 177 ContentFont1 (newbie) show
-55 163 ContentFont1 (menu) show
-55 149 ContentFont1 (expert) show
-55 135 ContentFont1 (custom) show
-55 121 ContentFont1 (tagpath) show
-55 107 ContentFont1 (help) show
-
-133 191 ContentFont1 (Install everything (almost 2 GB of software)) show
-133 177 ContentFont1 (Use verbose prompting (and follow tagfiles)) show
-133 163 ContentFont1 (Choose groups of packages from interactive menus) show
-133 149 ContentFont1 (Choose individual packages from interactive menus) show
-133 135 ContentFont1 (Use custom tagfiles in the package directories) show
-133 121 ContentFont1 (Use tagfiles in the subdirectories of a custom path) show
-133 107 ContentFont1 (Read the prompt mode help file) show
-
-153 71 ButtonFont (< OK >) show
-267 71 ButtonFont (< Cancel >) show
-
-stroke
-showpage
-%%EOF
-
-%%EndDocument
- @endspecial -30 32171 a
- currentpoint currentpoint translate 1 1 div 1 1 div scale neg exch
-neg exch translate
- -30 32171 a 3564 x FU(The)308
-b FP(full)g FU(option)g(will)g(install)f(e)-39 b(v)-23
-b(ery)309 b(package)f(from)h(all)f(the)g(softw)-15 b(are)308
-b(series)g(that)g(you)g(chose)-30 37750 y(in)389 b(the)3848
-37750 y
-SDict begin H.S end
- 3848 37750 a 3848 37750 a
-SDict begin 18.2 H.A end
- 3848 37750 a 3848 37750
-a
-SDict begin [ /View [/XYZ H.V] /Dest (1082) cvn H.B /DEST pdfmark end
- 3848 37750 a FU(\223select\224)g(section.)h(There)f(is)g(no)g
-(further)g(prompting.)g(This)f(is)h(the)g(easiest)g(installation)-30
-39765 y(method,)589 b(since)f(you)h(do)f(not)h(need)g(to)f(mak)-15
-b(e)588 b(an)-23 b(y)589 b(decisions)f(on)g(the)h(actual)g(packages)f
-(to)-30 41779 y(install.)387 b(Of)g(course,)h(this)f(option)f(also)h
-(tak)-15 b(es)387 b(up)g(the)g(most)g(hard)g(dri)-39
-b(v)-23 b(e)388 b(space.)-30 42890 y
-SDict begin H.S end
- -30 42890 a -30
-42890 a
-SDict begin 18.2 H.A end
- -30 42890 a -30 42890 a
-SDict begin [ /View [/XYZ H.V] /Dest (1083) cvn H.B /DEST pdfmark end
- -30 42890 a 1679 x FU(The)508
-b(ne)-23 b(xt)508 b(option)g(is)12054 44569 y
-SDict begin H.S end
- 12054 44569
-a 12054 44569 a
-SDict begin 18.2 H.A end
- 12054 44569 a 12054 44569 a
-SDict begin [ /View [/XYZ H.V] /Dest (1084) cvn H.B /DEST pdfmark end
- 12054 44569
-a FP(newbie)p FU(.)g(This)g(option)g(installs)f(all)i(of)f(the)g
-(required)h(packages)f(in)g(the)-30 46583 y(selected)325
-b(series.)h(F)-23 b(or)325 b(all)g(other)g(packages,)g(it)h(of)-39
-b(fers)325 b(a)h(prompt)e(where)i(you)f(can)g(select)47757
-46583 y
-SDict begin H.S end
- 47757 46583 a 47757 46583 a
-SDict begin 18.2 H.A end
- 47757 46583 a 47757
-46583 a
-SDict begin [ /View [/XYZ H.V] /Dest (1085) cvn H.B /DEST pdfmark end
- 47757 46583 a FU(\223Y)-155 b(es\224,)-30 48598
-y
-SDict begin H.S end
- -30 48598 a -30 48598 a
-SDict begin 18.2 H.A end
- -30 48598 a -30 48598 a
-SDict begin [ /View [/XYZ H.V] /Dest (1086) cvn H.B /DEST pdfmark end
- -30
-48598 a FU(\223No\224,)472 b(or)5861 48598 y
-SDict begin H.S end
- 5861 48598
-a 5861 48598 a
-SDict begin 18.2 H.A end
- 5861 48598 a 5861 48598 a
-SDict begin [ /View [/XYZ H.V] /Dest (1087) cvn H.B /DEST pdfmark end
- 5861 48598 a
-FU(\223Skip\224.)g(Y)-155 b(es)471 b(and)g(No)h(do)f(the)g(ob)-23
-b(vious,)471 b(while)g(Skip)f(will)h(go)h(ahead)f(to)g(the)g(ne)-23
-b(xt)-30 50613 y(softw)-15 b(are)564 b(series.)h(Additionally)-101
-b(,)564 b(you)h(will)f(see)h(a)g(description)f(and)h(size)g
-(requirement)f(for)-30 52627 y(each)421 b(package)f(to)g(help)g(you)g
-(decide)g(if)g(you)g(need)h(it.)f(W)-124 b(e)421 b(recommend)e(this)h
-(option)f(for)i(ne)-39 b(w)-30 54642 y(users,)432 b(as)g(it)f(ensures)g
-(that)h(you)f(get)h(all)f(the)h(required)f(packages)h(installed.)f(Ho)
--39 b(we)g(v)-23 b(er)-62 b(,)432 b(it)f(is)h(a)-30 56657
-y(little)387 b(slo)-39 b(w)387 b(because)g(of)h(the)f(prompting.)-30
-57767 y
-SDict begin H.S end
- -30 57767 a -30 57767 a
-SDict begin 18.2 H.A end
- -30 57767 a -30 57767
-a
-SDict begin [ /View [/XYZ H.V] /Dest (1088) cvn H.B /DEST pdfmark end
- -30 57767 a -30 57767 a
-SDict begin H.S end
- -30 57767 a -30 57767 a
-SDict begin 18.2 H.A end
- -30
-57767 a -30 57767 a
-SDict begin [ /View [/XYZ H.V] /Dest (1089) cvn H.B /DEST pdfmark end
- -30 57767 a 1679 x FP(Menu)503 b
-FU(is)h(a)g(f)-15 b(aster)503 b(and)g(more)h(adv)-39
-b(anced)504 b(v)-23 b(ersion)503 b(of)g(the)h(ne)-39
-b(wbie)503 b(option.)h(F)-23 b(or)503 b(each)h(series,)-30
-61461 y(a)466 b(menu)f(is)h(displayed,)f(from)h(which)f(you)h(can)g
-(select)f(all)h(the)f(non-required)h(packages)f(you)-30
-63476 y(w)-15 b(ant)387 b(to)g(install.)g(Required)g(packages)g(are)g
-(not)g(displayed)g(on)g(this)g(menu.)-30 64586 y
-SDict begin H.S end
- -30
-64586 a -30 64586 a
-SDict begin 18.2 H.A end
- -30 64586 a -30 64586 a
-SDict begin [ /View [/XYZ H.V] /Dest (1090) cvn H.B /DEST pdfmark end
- -30 64586
-a 1679 x FU(F)-23 b(or)425 b(the)h(more)f(adv)-39 b(anced)426
-b(user)-62 b(,)426 b(install)f(of)-39 b(fers)426 b(the)28563
-66265 y
-SDict begin H.S end
- 28563 66265 a 28563 66265 a
-SDict begin 18.2 H.A end
- 28563 66265 a 28563
-66265 a
-SDict begin [ /View [/XYZ H.V] /Dest (1091) cvn H.B /DEST pdfmark end
- 28563 66265 a FP(expert)f FU(option.)g(This)g(allo)-39
-b(ws)426 b(you)f(com-)-30 68280 y(plete)494 b(control)g(o)-23
-b(v)g(er)494 b(what)g(packages)g(get)g(installed.)g(Y)-170
-b(ou)493 b(can)i(deselect)f(packages)g(that)g(are)p Black
-50226 73792 a FR(31)p Black eop end
-%%Page: 32 54
-TeXDict begin 32 53 bop -8000 -8000 a
-SDict begin /product where{pop product(Distiller)search{pop pop pop
-version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
-closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
-grestore}if}{pop}ifelse}{pop}ifelse}if end
- -8000 -8000 a Black
-0 TeXcolorgray -30 -1237 a
-SDict begin H.S end
- -30 -1237 a 0 TeXcolorgray
-0 TeXcolorgray -30 -1237 a
-SDict begin H.R end
- -30 -1237 a -30 -1237 a
-SDict begin [ /View [/XYZ H.V] /Dest (page.32) cvn H.B /DEST pdfmark
-end
- -30
--1237 a Black -30 -2687 a
-SDict begin H.S end
- -30 -2687 a -30 -2687 a
-SDict begin 18.2 H.A end
- -30
--2687 a -30 -2687 a
-SDict begin [ /View [/XYZ H.V] /Dest (1106) cvn H.B /DEST pdfmark end
- -30 -2687 a 1051 x FR(Chapter)387
-b(3)g(Installation)p Black -30 3611 a FU(absolutely)459
-b(required,)i(resulting)e(in)h(a)g(brok)-15 b(en)460
-b(system.)f(On)h(the)g(other)g(hand,)h(you)f(can)g(con-)-30
-5626 y(trol)315 b(e)-23 b(xactly)314 b(what)h(goes)g(onto)g(your)g
-(system.)f(Simply)g(select)h(the)g(packages)g(from)g(each)g(series)-30
-7640 y(that)361 b(you)g(w)-15 b(ant)360 b(installed.)h(This)g(is)g(not)
-f(recommended)h(for)g(the)g(ne)-39 b(w)362 b(user)-62
-b(,)361 b(as)g(it)g(is)g(quite)g(easy)-30 9655 y(to)387
-b(shoot)g(yourself)g(in)g(the)g(foot.)-30 10765 y
-SDict begin H.S end
- -30
-10765 a -30 10765 a
-SDict begin 18.2 H.A end
- -30 10765 a -30 10765 a
-SDict begin [ /View [/XYZ H.V] /Dest (1092) cvn H.B /DEST pdfmark end
- -30 10765
-a 1680 x FU(The)2791 12445 y
-SDict begin H.S end
- 2791 12445 a 2791 12445
-a
-SDict begin 18.2 H.A end
- 2791 12445 a 2791 12445 a
-SDict begin [ /View [/XYZ H.V] /Dest (1093) cvn H.B /DEST pdfmark end
- 2791 12445 a FP(custom)410
-b FU(and)10313 12445 y
-SDict begin H.S end
- 10313 12445 a 10313 12445 a
-SDict begin 18.2 H.A end
- 10313
-12445 a 10313 12445 a
-SDict begin [ /View [/XYZ H.V] /Dest (1094) cvn H.B /DEST pdfmark end
- 10313 12445 a FP(tag)744 b(path)410
-b FU(options)g(are)h(also)f(for)h(adv)-39 b(anced)411
-b(users.)g(These)f(options)g(allo)-39 b(w)-30 14459 y(you)489
-b(to)h(install)e(based)i(upon)f(custom)f(tag)i(\002les)f(that)g(you)g
-(created)h(in)f(the)g(distrib)-31 b(ution)488 b(tree.)-30
-16474 y(This)c(is)h(useful)g(for)f(installing)g(to)h(lar)-28
-b(ge)485 b(numbers)f(of)h(machines)f(f)-15 b(airly)484
-b(quickly)-101 b(.)485 b(F)-23 b(or)484 b(more)-30 18489
-y(information)386 b(on)i(using)e(tag)h(\002les,)h(see)p
-0 TeXcolorgray 21364 18489 a
-SDict begin H.S end
- 21364 18489 a FU(Section)f(18.4)29113
-18489 y
-SDict begin 18.2 H.L end
- 29113 18489 a 29113 18489 a
-SDict begin [ /Subtype /Link /Dest (PACKAGE-MANAGEMENT-MAKING-TAGS-AND-TAGFILES)
-cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 29113 18489 a Black
-FU(.)-30 19599 y
-SDict begin H.S end
- -30 19599 a -30 19599 a
-SDict begin 18.2 H.A end
- -30 19599 a
--30 19599 a
-SDict begin [ /View [/XYZ H.V] /Dest (1096) cvn H.B /DEST pdfmark end
- -30 19599 a 1679 x FU(After)565 b(selecting)e(your)i
-(installation)e(method,)h(one)g(of)h(a)f(fe)-39 b(w)565
-b(things)f(will)g(happen.)h(If)f(you)-30 23293 y(selected)326
-b(full)g(or)g(menu,)g(a)g(menu)f(screen)h(will)g(appear)-62
-b(,)327 b(allo)-39 b(wing)325 b(you)h(to)f(select)h(the)g(packages)-30
-25308 y(to)378 b(be)h(installed.)f(If)h(you)f(selected)g(full,)h
-(packages)g(will)f(immediately)f(start)h(getting)g(installed)-30
-27322 y(to)573 b(the)g(tar)-28 b(get.)574 b(If)g(you)f(selected)g(ne)
--39 b(wbie,)573 b(packages)g(will)g(be)h(installed)e(until)g(an)i
-(optional)-30 29337 y(package)387 b(is)h(reached.)-30
-30447 y
-SDict begin H.S end
- -30 30447 a -30 30447 a
-SDict begin 18.2 H.A end
- -30 30447 a -30 30447
-a
-SDict begin [ /View [/XYZ H.V] /Dest (1097) cvn H.B /DEST pdfmark end
- -30 30447 a 1679 x FU(Note)d(that)f(it)h(is)f(possible)g(to)h(run)f
-(out)h(of)g(space)g(while)f(installing.)g(If)h(you)g(selected)f(too)h
-(man)-23 b(y)-30 34141 y(packages)395 b(for)g(the)g(amount)g(of)g(free)
-h(space)f(on)g(the)g(tar)-28 b(get)395 b(de)-39 b(vice,)396
-b(you)f(will)f(ha)-31 b(v)-23 b(e)395 b(problems.)-30
-36156 y(The)539 b(safest)g(thing)g(to)g(do)g(is)g(to)g(select)g(some)g
-(softw)-15 b(are)538 b(and)h(add)g(more)g(later)-62 b(,)540
-b(if)f(you)g(need)-30 38170 y(it.)497 b(This)f(can)h(easily)f(be)h
-(done)g(using)f(Slackw)-15 b(are')-85 b(s)495 b(package)i(management)f
-(tools.)g(F)-23 b(or)497 b(this)-30 40185 y(information,)387
-b(see)p 0 TeXcolorgray 10429 40185 a
-SDict begin H.S end
- 10429 40185 a FU(Chapter)g(18)
-17273 40185 y
-SDict begin 18.2 H.L end
- 17273 40185 a 17273 40185 a
-SDict begin [ /Subtype /Link /Dest (PACKAGE-MANAGEMENT) cvn /H /I /Border
-[0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 17273 40185
-a Black FU(.)-30 41295 y
-SDict begin H.S end
- -30 41295 a -30 41295 a
-SDict begin 18.2 H.A end
- -30
-41295 a -30 41295 a
-SDict begin [ /View [/XYZ H.V] /Dest (1099) cvn H.B /DEST pdfmark end
- -30 41295 a 5182 x FG(CONFIGURE)-30
-47430 y
-SDict begin H.S end
- -30 47430 a -30 47430 a
-SDict begin 18.2 H.A end
- -30 47430 a -30 47430
-a
-SDict begin [ /View [/XYZ H.V] /Dest (1101) cvn H.B /DEST pdfmark end
- -30 47430 a 1992 x FU(The)475 b(con\002gure)f(section)g(allo)-39
-b(ws)474 b(you)g(to)h(do)f(some)h(basic)f(system)g(con\002guration,)g
-(no)-39 b(w)474 b(that)-30 51436 y(the)585 b(packages)g(ha)-31
-b(v)-23 b(e)584 b(been)h(installed.)f(What)h(you)g(see)g(here)g
-(depends)f(in)h(lar)-28 b(ge)585 b(part)f(upon)-30 53451
-y(which)387 b(softw)-15 b(are)387 b(you)g(ha)-31 b(v)-23
-b(e)387 b(installed.)g(Y)-170 b(ou)386 b(will,)i(ho)-39
-b(we)g(v)-23 b(er)-62 b(,)388 b(al)-15 b(w)g(ays)386
-b(see)h(the)g(follo)-39 b(wing:)-30 53786 y
-SDict begin H.S end
- -30 53786
-a -30 53786 a
-SDict begin 18.2 H.A end
- -30 53786 a -30 53786 a
-SDict begin [ /View [/XYZ H.V] /Dest (1102) cvn H.B /DEST pdfmark end
- -30 53786 a 4392
-x FE(K)-23 b(ernel)429 b(selection)-30 58972 y
-SDict begin H.S end
- -30 58972
-a -30 58972 a
-SDict begin 18.2 H.A end
- -30 58972 a -30 58972 a
-SDict begin [ /View [/XYZ H.V] /Dest (1104) cvn H.B /DEST pdfmark end
- -30 58972 a 1995
-x FU(Here)451 b(you)g(will)g(be)g(ask)-15 b(ed)450 b(to)h(select)g(a)g
-(k)-15 b(ernel)451 b(to)f(install.)h(Y)-170 b(ou)450
-b(can)i(install)e(the)h(k)-15 b(ernel)450 b(from)-30
-62982 y(the)482 b(boot)g(disk)g(you)g(used)g(to)g(install,)g(the)g
-(Slackw)-15 b(are)482 b(CD-R)-62 b(OM,)482 b(or)g(from)g(another)g
-(\003opp)-15 b(y)-30 64996 y(which)337 b(you)g(\(al)-15
-b(w)g(ays)336 b(thinking)g(ahead\))h(ha)-31 b(v)-23 b(e)337
-b(prepared.)h(Or)f(you)g(can)g(elect)g(to)g(skip,)g(in)g(which)-30
-67011 y(case)388 b(the)f(def)-15 b(ault)386 b(k)-15 b(ernel)387
-b(will)g(be)g(installed)g(and)g(play)g(will)g(continue)f(to)i(the)f
-(dealer')-85 b(s)387 b(left.)-30 67347 y
-SDict begin H.S end
- -30 67347 a
--30 67347 a
-SDict begin 18.2 H.A end
- -30 67347 a -30 67347 a
-SDict begin [ /View [/XYZ H.V] /Dest (1105) cvn H.B /DEST pdfmark end
- -30 67347 a Black
-6445 x FR(32)p Black eop end
-%%Page: 33 55
-TeXDict begin 33 54 bop -8000 -8000 a
-SDict begin /product where{pop product(Distiller)search{pop pop pop
-version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
-closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
-grestore}if}{pop}ifelse}{pop}ifelse}if end
- -8000 -8000 a Black
-0 TeXcolorgray -30 -1237 a
-SDict begin H.S end
- -30 -1237 a 0 TeXcolorgray
-0 TeXcolorgray -30 -1237 a
-SDict begin H.R end
- -30 -1237 a -30 -1237 a
-SDict begin [ /View [/XYZ H.V] /Dest (page.33) cvn H.B /DEST pdfmark
-end
- -30
--1237 a Black -30 -2687 a
-SDict begin H.S end
- -30 -2687 a -30 -2687 a
-SDict begin 18.2 H.A end
- -30
--2687 a -30 -2687 a
-SDict begin [ /View [/XYZ H.V] /Dest (1122) cvn H.B /DEST pdfmark end
- -30 -2687 a 37999 -1636 a FR(Chapter)386
-b(3)i(Installation)p Black -30 27615 a
- currentpoint currentpoint translate 1 1 scale neg exch neg exch translate
- -30 27615 a @beginspecial
-22 @llx 60 @lly 450 @urx 286 @ury 4280 @rwi @setspecial
-%%BeginDocument: installation/setup-kernel.eps
-%!PS-Adobe-2.0 EPSF-1.2
-%%BoundingBox: 22 60 450 286
-
-/Outterbox
-{ newpath moveto
-0 221 rlineto
-118 0 rlineto
-23 61 moveto
-426 0 rlineto
-0 221 rlineto
--155 0 rlineto
-23 87 moveto
-426 0 rlineto
-closepath } def
-
-/Innerbox
-{ moveto
-404 0 rlineto
-0 66 rlineto
--404 0 rlineto
-closepath} def
-
-/TitleFont
-{ /Helvetica findfont 13 scalefont setfont
-moveto } def
-
-/PanelFont
-{ /Helvetica findfont 12 scalefont setfont
-moveto } def
-
-/ContentFont
-{ /Helvetica findfont 12 scalefont setfont
-moveto } def
-
-/ButtonFont
-{ /Helvetica findfont 11 scalefont setfont
-moveto } def
-
-23 61 Outterbox
-34 100 Innerbox
-
-145 277 TitleFont(INSTALL LINUX KERNEL) show
-
-34 265 PanelFont (In order for your system to boot correctly, a kernel must be) show
-34 252 PanelFont (installed. If you've made it this far using the installation) show
-34 239 PanelFont (bootdisk's kernel, you should probably install it as your system) show
-34 226 PanelFont (kernel (/boot/vmlinuz). If you're sure you know what you're doing,) show
-34 213 PanelFont (you can also install your choice of kernels from the Slackware CD,) show
-34 200 PanelFont (or a kernel from a floppy disk. You can also skip this menu, using) show
-34 187 PanelFont (whatever kernel has been installed already \(such as a generic kernel) show
-34 174 PanelFont (from the A series\). Which option would you like?) show
-
-55 150 ContentFont (bootdisk) show
-55 136 ContentFont (cdrom) show
-55 122 ContentFont (floppy) show
-55 108 ContentFont (skip) show
-
-133 150 ContentFont (Use the kernel from the installation bootdisk) show
-133 136 ContentFont (Use a kernel from the Slackware CD) show
-133 122 ContentFont (Install a zimage or bzimage from a DOS floppy) show
-133 108 ContentFont (Skip this menu (use the default /boot/vmlinuz)) show
-
-153 71 ButtonFont (< OK >) show
-267 71 ButtonFont (< Cancel >) show
-
-stroke
-showpage
-%%EOF
-
-%%EndDocument
- @endspecial -30 27615 a
- currentpoint currentpoint translate 1 1 div 1 1 div scale neg exch
-neg exch translate
- -30 27615 a -30 29165 a
-SDict begin H.S end
- -30
-29165 a -30 29165 a
-SDict begin 18.2 H.A end
- -30 29165 a -30 29165 a
-SDict begin [ /View [/XYZ H.V] /Dest (1109) cvn H.B /DEST pdfmark end
- -30 29165
-a 5114 x FE(Make)430 b(a)g(boot)h(disk)-30 35073 y
-SDict begin H.S end
- -30
-35073 a -30 35073 a
-SDict begin 18.2 H.A end
- -30 35073 a -30 35073 a
-SDict begin [ /View [/XYZ H.V] /Dest (1111) cvn H.B /DEST pdfmark end
- -30 35073
-a 1996 x FU(Making)402 b(a)h(boot)g(disk)f(for)h(future)g(use)g(is)f
-(probably)h(a)g(good)f(idea.)i(Y)-170 b(ou)402 b(will)g(ha)-31
-b(v)-23 b(e)403 b(the)g(option)-30 39083 y(of)531 b(formatting)f(a)g
-(\003opp)-15 b(y)530 b(and)17329 39083 y
-SDict begin H.S end
- 17329 39083
-a 17329 39083 a
-SDict begin 18.2 H.A end
- 17329 39083 a 17329 39083 a
-SDict begin [ /View [/XYZ H.V] /Dest (1112) cvn H.B /DEST pdfmark end
- 17329 39083
-a 531 w FU(then)h(creating)f(one)h(of)f(tw)-15 b(o)530
-b(types)g(of)h(boot)f(disk.)h(The)f(\002rst)-30 41098
-y(type,)3464 41098 y
-SDict begin H.S end
- 3464 41098 a 3464 41098 a
-SDict begin 18.2 H.A end
- 3464 41098
-a 3464 41098 a
-SDict begin [ /View [/XYZ H.V] /Dest (1114) cvn H.B /DEST pdfmark end
- 3464 41098 a FP(simple)p FU(,)438 b(simply)f(\(go)h
-(\002gure\))g(writes)f(a)i(k)-15 b(ernel)437 b(to)h(the)g(\003opp)-15
-b(y)-101 b(.)437 b(A)h(more)g(\003e)-23 b(xible)437 b(\(and)-30
-43113 y(highly)497 b(recommended\))h(option)f(is)20214
-43113 y
-SDict begin H.S end
- 20214 43113 a 20214 43113 a
-SDict begin 18.2 H.A end
- 20214 43113 a 20214
-43113 a
-SDict begin [ /View [/XYZ H.V] /Dest (1115) cvn H.B /DEST pdfmark end
- 20214 43113 a FP(lilo)p FU(,)h(which)g(will)f(of)h(course)g
-(create)h(a)f(lilo)f(boot)h(disk.)-30 45127 y(See)469
-b(LILO)g(in)p 0 TeXcolorgray 8349 45127 a
-SDict begin H.S end
- 8349 45127
-a FU(Section)387 b(7.1)15323 45127 y
-SDict begin 18.2 H.L end
- 15323 45127 a 15323
-45127 a
-SDict begin [ /Subtype /Link /Dest (BOOTING-LILO) cvn /H /I /Border
-[0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 15323 45127 a Black 469 w FU(for)469 b(more)g(information.)f
-(Of)h(course,)g(you)f(may)h(also)g(choose)f(to)-30 47142
-y(simply)4577 47142 y
-SDict begin H.S end
- 4577 47142 a 4577 47142 a
-SDict begin 18.2 H.A end
- 4577
-47142 a 4577 47142 a
-SDict begin [ /View [/XYZ H.V] /Dest (1117) cvn H.B /DEST pdfmark end
- 4577 47142 a FP(continue)p FU(,)387
-b(in)g(which)g(case)h(no)f(boot)g(disk)g(will)g(be)g(made.)-30
-47478 y
-SDict begin H.S end
- -30 47478 a -30 47478 a
-SDict begin 18.2 H.A end
- -30 47478 a -30 47478
-a
-SDict begin [ /View [/XYZ H.V] /Dest (1118) cvn H.B /DEST pdfmark end
- -30 47478 a -30 49802 a
-SDict begin H.S end
- -30 49802 a -30 49802 a
-SDict begin 18.2 H.A end
- -30
-49802 a -30 49802 a
-SDict begin [ /View [/XYZ H.V] /Dest (1119) cvn H.B /DEST pdfmark end
- -30 49802 a Black 50226 73792 a FR(33)p
-Black eop end
-%%Page: 34 56
-TeXDict begin 34 55 bop -8000 -8000 a
-SDict begin /product where{pop product(Distiller)search{pop pop pop
-version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
-closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
-grestore}if}{pop}ifelse}{pop}ifelse}if end
- -8000 -8000 a Black
-0 TeXcolorgray -30 -1237 a
-SDict begin H.S end
- -30 -1237 a 0 TeXcolorgray
-0 TeXcolorgray -30 -1237 a
-SDict begin H.R end
- -30 -1237 a -30 -1237 a
-SDict begin [ /View [/XYZ H.V] /Dest (page.34) cvn H.B /DEST pdfmark
-end
- -30
--1237 a Black -30 -2687 a
-SDict begin H.S end
- -30 -2687 a -30 -2687 a
-SDict begin 18.2 H.A end
- -30
--2687 a -30 -2687 a
-SDict begin [ /View [/XYZ H.V] /Dest (1131) cvn H.B /DEST pdfmark end
- -30 -2687 a 1051 x FR(Chapter)387
-b(3)g(Installation)p Black -30 23837 a
- currentpoint currentpoint translate 1 1 scale neg exch neg exch translate
- -30 23837 a @beginspecial
-21 @llx 60 @lly 438 @urx 252 @ury 4170 @rwi @setspecial
-%%BeginDocument: installation/setup-bootdisk.eps
-%!PS-Adobe-2.0 EPSF-1.2
-%%BoundingBox: 21 60 438 252
-
-/Outterbox
-{ newpath moveto
-0 184 rlineto
-146 0 rlineto
-23 61 moveto
-414 0 rlineto
-0 184 rlineto
--160 0 rlineto
-23 87 moveto
-414 0 rlineto
-closepath } def
-
-/Innerbox
-{ moveto
-391 0 rlineto
-0 66 rlineto
--391 0 rlineto
-closepath} def
-
-/TitleFont
-{ /Helvetica findfont 12 scalefont setfont
-moveto } def
-
-/PanelFont
-{ /Helvetica findfont 12 scalefont setfont
-moveto } def
-
-/ContentFont
-{ /Helvetica findfont 12 scalefont setfont
-moveto } def
-
-/ButtonFont
-{ /Helvetica findfont 11 scalefont setfont
-moveto } def
-
-23 61 Outterbox
-34 100 Innerbox
-
-175 242 TitleFont(MAKE BOOTDISK) show
-
-34 230 PanelFont (It is highly recommended that you make a bootdisk (or two) for your) show
-34 216 PanelFont (system at this time. There are two types of bootdisks that you can) show
-34 202 PanelFont (make: a simple bootdisk \(which is just a kernel image written directly) show
-34 188 PanelFont (to disk\) or a LILO bootdisk \(which is more flexible, but takes a) show
-34 174 PanelFont (little longer to load\). Which option would you like?) show
-
-43 150 ContentFont (format) show
-43 136 ContentFont (simple) show
-43 122 ContentFont (lilo) show
-43 108 ContentFont (continue) show
-
-106 150 ContentFont (format floppy disk in /dev/fd0) show
-106 136 ContentFont (make simple vmlinuz > /dev/fd0 bootdisk) show
-106 122 ContentFont (make lilo bootdisk) show
-106 108 ContentFont (leave bootdisk menu and continue with the configuration) show
-
-153 71 ButtonFont (< OK >) show
-267 71 ButtonFont (< Cancel >) show
-
-stroke
-showpage
-%%EOF
-
-%%EndDocument
- @endspecial -30 23837 a
- currentpoint currentpoint translate 1 1 div 1 1 div scale neg exch
-neg exch translate
- -30 23837 a -30 25387 a
-SDict begin H.S end
- -30
-25387 a -30 25387 a
-SDict begin 18.2 H.A end
- -30 25387 a -30 25387 a
-SDict begin [ /View [/XYZ H.V] /Dest (1122) cvn H.B /DEST pdfmark end
- -30 25387
-a 5114 x FE(Modem)-30 31296 y
-SDict begin H.S end
- -30 31296 a -30 31296 a
-SDict begin 18.2 H.A end
-
--30 31296 a -30 31296 a
-SDict begin [ /View [/XYZ H.V] /Dest (1124) cvn H.B /DEST pdfmark end
- -30 31296 a 1995 x FU(Y)-170
-b(ou)409 b(will)g(be)h(prompted)f(for)h(modem)e(information.)h(More)h
-(speci\002cally)-101 b(,)409 b(you)h(will)f(be)h(ask)-15
-b(ed)-30 35306 y(whether)387 b(you)g(ha)-31 b(v)-23 b(e)387
-b(a)h(modem,)17820 35306 y
-SDict begin H.S end
- 17820 35306 a 17820 35306
-a
-SDict begin 18.2 H.A end
- 17820 35306 a 17820 35306 a
-SDict begin [ /View [/XYZ H.V] /Dest (1125) cvn H.B /DEST pdfmark end
- 17820 35306 a 387 w FU(and)g(if)f(so,)h
-(what)f(serial)g(port)g(it)g(is)g(on.)-30 35641 y
-SDict begin H.S end
- -30
-35641 a -30 35641 a
-SDict begin 18.2 H.A end
- -30 35641 a -30 35641 a
-SDict begin [ /View [/XYZ H.V] /Dest (1127) cvn H.B /DEST pdfmark end
- -30 35641
-a -30 37966 a
-SDict begin H.S end
- -30 37966 a -30 37966 a
-SDict begin 18.2 H.A end
- -30 37966 a -30
-37966 a
-SDict begin [ /View [/XYZ H.V] /Dest (1128) cvn H.B /DEST pdfmark end
- -30 37966 a Black 35826 x FR(34)p Black eop end
-%%Page: 35 57
-TeXDict begin 35 56 bop -8000 -8000 a
-SDict begin /product where{pop product(Distiller)search{pop pop pop
-version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
-closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
-grestore}if}{pop}ifelse}{pop}ifelse}if end
- -8000 -8000 a Black
-0 TeXcolorgray -30 -1237 a
-SDict begin H.S end
- -30 -1237 a 0 TeXcolorgray
-0 TeXcolorgray -30 -1237 a
-SDict begin H.R end
- -30 -1237 a -30 -1237 a
-SDict begin [ /View [/XYZ H.V] /Dest (page.35) cvn H.B /DEST pdfmark
-end
- -30
--1237 a Black -30 -2687 a
-SDict begin H.S end
- -30 -2687 a -30 -2687 a
-SDict begin 18.2 H.A end
- -30
--2687 a -30 -2687 a
-SDict begin [ /View [/XYZ H.V] /Dest (1141) cvn H.B /DEST pdfmark end
- -30 -2687 a 37999 -1636 a FR(Chapter)386
-b(3)i(Installation)p Black -30 33615 a
- currentpoint currentpoint translate 1 1 scale neg exch neg exch translate
- -30 33615 a @beginspecial
-21 @llx 60 @lly 427 @urx 340 @ury 4060 @rwi @setspecial
-%%BeginDocument: installation/setup-modem.eps
-%!PS-Adobe-2.0 EPSF-1.2
-%%BoundingBox: 21 60 427 340
-
-/Outterbox
-{ newpath moveto
-0 273 rlineto
-126 0 rlineto
-23 61 moveto
-403 0 rlineto
-0 273 rlineto
--115 0 rlineto
-23 87 moveto
-403 0 rlineto
-closepath } def
-
-/Innerbox
-{ moveto
-379 0 rlineto
-0 131 rlineto
--379 0 rlineto
-closepath} def
-
-/TitleFont
-{ /Helvetica findfont 12 scalefont setfont
-moveto } def
-
-/PanelFont
-{ /Helvetica findfont 12 scalefont setfont
-moveto } def
-
-/ContentFont
-{ /Helvetica findfont 12 scalefont setfont
-moveto } def
-
-/ButtonFont
-{ /Helvetica findfont 11 scalefont setfont
-moveto } def
-
-23 61 Outterbox
-34 100 Innerbox
-
-155 330 TitleFont(MODEM CONFIGURATION) show
-
-34 319 PanelFont (This part of the configuration process will create a /dev/modem) show
-34 305 PanelFont (link pointing to the callout device (ttyS0, ttyS1, ttyS2, ttyS3)) show
-34 291 PanelFont (representing your default modem. You can change this link later) show
-34 277 PanelFont (if you move your modem to a different port. If your modem is a) show
-34 263 PanelFont (PCI card, it will probably use /dev/ttyS4 or higher. Please) show
-34 249 PanelFont (select the callout device which you would like to use for your) show
-34 235 PanelFont (modem:) show
-
-90 218 ContentFont (no modem) show
-90 204 ContentFont (/dev/ttyS0) show
-90 190 ContentFont (/dev/ttyS1) show
-90 176 ContentFont (/dev/ttyS2) show
-90 162 ContentFont (/dev/ttyS3) show
-90 148 ContentFont (/dev/ttyS4) show
-90 134 ContentFont (/dev/ttyS5) show
-90 120 ContentFont (/dev/ttyS6) show
-90 106 ContentFont (/dev/ttyS7) show
-
-160 218 ContentFont (do not set a /dev/modem link) show
-160 204 ContentFont ((COM1: under DOS)) show
-160 190 ContentFont ((COM2: under DOS)) show
-160 176 ContentFont ((COM3: under DOS)) show
-160 162 ContentFont ((COM4: under DOS)) show
-160 148 ContentFont (PCI modem) show
-160 134 ContentFont (PCI modem) show
-160 120 ContentFont (PCI modem) show
-160 106 ContentFont (PCI modem) show
-
-133 71 ButtonFont (< OK >) show
-247 71 ButtonFont (< Cancel >) show
-
-stroke
-showpage
-%%EOF
-
-%%EndDocument
- @endspecial -30 33615 a
- currentpoint currentpoint translate 1 1 div 1 1 div scale neg exch
-neg exch translate
- -30 33615 a 3565 x FU(These)362
-b(ne)-23 b(xt)362 b(con\002guration)f(subsections)h(may)g(or)g(may)g
-(not)g(appear)-62 b(,)363 b(depending)f(on)g(whether)-30
-39194 y(or)387 b(not)g(you)h(installed)e(their)h(corresponding)f
-(packages.)-30 40305 y
-SDict begin H.S end
- -30 40305 a -30 40305 a
-SDict begin 18.2 H.A end
- -30 40305
-a -30 40305 a
-SDict begin [ /View [/XYZ H.V] /Dest (1132) cvn H.B /DEST pdfmark end
- -30 40305 a 4778 x FE(Timezone)-30 45102
-y
-SDict begin H.S end
- -30 45102 a -30 45102 a
-SDict begin 18.2 H.A end
- -30 45102 a -30 45102 a
-SDict begin [ /View [/XYZ H.V] /Dest (1134) cvn H.B /DEST pdfmark end
- -30
-45102 a -30 45878 a
-SDict begin H.S end
- -30 45878 a -30 45878 a
-SDict begin 18.2 H.A end
- -30 45878
-a -30 45878 a
-SDict begin [ /View [/XYZ H.V] /Dest (1136) cvn H.B /DEST pdfmark end
- -30 45878 a 1995 x FU(This)308 b(one')-85
-b(s)307 b(pretty)h(straightforw)-15 b(ard:)306 b(you)i(will)f(be)h(ask)
--15 b(ed)308 b(what)f(time)h(zone)g(you)g(are)g(in.)g(If)g(you)-30
-49888 y(operate)469 b(on)g(Zulu)g(time,)g(we)h(are)f(v)-23
-b(ery)469 b(sorry;)g(the)g(\(e)-23 b(xtremely)469 b(long\))f(list)h(is)
-g(alphabetically)-30 51902 y(ordered,)388 b(and)f(you')-77
-b(re)387 b(at)g(the)g(bottom.)-30 52238 y
-SDict begin H.S end
- -30 52238 a
--30 52238 a
-SDict begin 18.2 H.A end
- -30 52238 a -30 52238 a
-SDict begin [ /View [/XYZ H.V] /Dest (1137) cvn H.B /DEST pdfmark end
- -30 52238 a -30 54562
-a
-SDict begin H.S end
- -30 54562 a -30 54562 a
-SDict begin 18.2 H.A end
- -30 54562 a -30 54562 a
-SDict begin [ /View [/XYZ H.V] /Dest (1138) cvn H.B /DEST pdfmark end
- -30
-54562 a Black 50226 73792 a FR(35)p Black eop end
-%%Page: 36 58
-TeXDict begin 36 57 bop -8000 -8000 a
-SDict begin /product where{pop product(Distiller)search{pop pop pop
-version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
-closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
-grestore}if}{pop}ifelse}{pop}ifelse}if end
- -8000 -8000 a Black
-0 TeXcolorgray -30 -1237 a
-SDict begin H.S end
- -30 -1237 a 0 TeXcolorgray
-0 TeXcolorgray -30 -1237 a
-SDict begin H.R end
- -30 -1237 a -30 -1237 a
-SDict begin [ /View [/XYZ H.V] /Dest (page.36) cvn H.B /DEST pdfmark
-end
- -30
--1237 a Black -30 -2687 a
-SDict begin H.S end
- -30 -2687 a -30 -2687 a
-SDict begin 18.2 H.A end
- -30
--2687 a -30 -2687 a
-SDict begin [ /View [/XYZ H.V] /Dest (1151) cvn H.B /DEST pdfmark end
- -30 -2687 a 1051 x FR(Chapter)387
-b(3)g(Installation)p Black -30 32282 a
- currentpoint currentpoint translate 1 1 scale neg exch neg exch translate
- -30 32282 a @beginspecial
-21 @llx 60 @lly 318 @urx 328 @ury 2970 @rwi @setspecial
-%%BeginDocument: installation/setup-timezone.eps
-%!PS-Adobe-2.0 EPSF-1.2
-%%BoundingBox: 21 60 318 328
-
-/Outterbox
-{ newpath moveto
-0 261 rlineto
-56 0 rlineto
-23 61 moveto
-294 0 rlineto
-0 261 rlineto
--70 0 rlineto
-23 87 moveto
-294 0 rlineto
-closepath } def
-
-/Innerbox
-{ moveto
-271 0 rlineto
-0 183 rlineto
--271 0 rlineto
-closepath} def
-
-/TitleFont
-{ /Helvetica findfont 12 scalefont setfont
-moveto } def
-
-/PanelFont
-{ /Helvetica findfont 12 scalefont setfont
-moveto } def
-
-/ContentFont
-{ /Helvetica findfont 12 scalefont setfont
-moveto } def
-
-/ButtonFont
-{ /Helvetica findfont 11 scalefont setfont
-moveto } def
-
-23 61 Outterbox
-34 100 Innerbox
-
-79 318 TitleFont(TIMEZONE CONFIGURATION) show
-
-34 306 PanelFont (Please select one of the following timezones) show
-34 292 PanelFont (for your machine:) show
-
-60 270 ContentFont (US/Alaska) show
-60 257 ContentFont (US/Aleutian) show
-60 243 ContentFont (US/Arizona) show
-60 229 ContentFont (US/Central) show
-60 215 ContentFont (US/East-Indiana) show
-60 201 ContentFont (US/Eastern) show
-60 187 ContentFont (US/Hawaii) show
-60 173 ContentFont (US/Indiana-Starke) show
-60 159 ContentFont (US/Michigan) show
-60 145 ContentFont (US/Mountain) show
-60 131 ContentFont (US/Pacific) show
-60 117 ContentFont (US/Samoa) show
-60 104 ContentFont (Africa/Abidjan) show
-
-93 71 ButtonFont (< OK >) show
-197 71 ButtonFont (< Cancel >) show
-
-stroke
-showpage
-%%EOF
-
-%%EndDocument
- @endspecial -30 32282 a
- currentpoint currentpoint translate 1 1 div 1 1 div scale neg exch
-neg exch translate
- -30 32282 a -30 33832 a
-SDict begin H.S end
- -30
-33832 a -30 33832 a
-SDict begin 18.2 H.A end
- -30 33832 a -30 33832 a
-SDict begin [ /View [/XYZ H.V] /Dest (1141) cvn H.B /DEST pdfmark end
- -30 33832
-a 5114 x FE(Mouse)-30 38965 y
-SDict begin H.S end
- -30 38965 a -30 38965 a
-SDict begin 18.2 H.A end
-
--30 38965 a -30 38965 a
-SDict begin [ /View [/XYZ H.V] /Dest (1143) cvn H.B /DEST pdfmark end
- -30 38965 a -30 39740 a
-SDict begin H.S end
- -30 39740
-a -30 39740 a
-SDict begin 18.2 H.A end
- -30 39740 a -30 39740 a
-SDict begin [ /View [/XYZ H.V] /Dest (1145) cvn H.B /DEST pdfmark end
- -30 39740 a 1995
-x FU(This)490 b(subsection)g(simply)f(asks)i(what)f(kind)g(of)h(mouse)f
-(you)g(ha)-31 b(v)-23 b(e,)491 b(and)f(whether)g(you)h(w)-15
-b(ant)-30 43750 y
-SDict begin H.S end
- -30 43750 a -30 43750 a
-SDict begin 18.2 H.A end
- -30 43750 a
--30 43750 a
-SDict begin [ /View [/XYZ H.V] /Dest (1146) cvn H.B /DEST pdfmark end
- -30 43750 a FP(gpm)p FU(\(8\))387 b(console)g(mouse)g
-(support)f(enabled)i(on)f(bootup.)-30 44086 y
-SDict begin H.S end
- -30 44086
-a -30 44086 a
-SDict begin 18.2 H.A end
- -30 44086 a -30 44086 a
-SDict begin [ /View [/XYZ H.V] /Dest (1147) cvn H.B /DEST pdfmark end
- -30 44086 a -30
-46410 a
-SDict begin H.S end
- -30 46410 a -30 46410 a
-SDict begin 18.2 H.A end
- -30 46410 a -30 46410
-a
-SDict begin [ /View [/XYZ H.V] /Dest (1148) cvn H.B /DEST pdfmark end
- -30 46410 a Black 27382 x FR(36)p Black eop end
-%%Page: 37 59
-TeXDict begin 37 58 bop -8000 -8000 a
-SDict begin /product where{pop product(Distiller)search{pop pop pop
-version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
-closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
-grestore}if}{pop}ifelse}{pop}ifelse}if end
- -8000 -8000 a Black
-0 TeXcolorgray -30 -1237 a
-SDict begin H.S end
- -30 -1237 a 0 TeXcolorgray
-0 TeXcolorgray -30 -1237 a
-SDict begin H.R end
- -30 -1237 a -30 -1237 a
-SDict begin [ /View [/XYZ H.V] /Dest (page.37) cvn H.B /DEST pdfmark
-end
- -30
--1237 a Black 37999 -1636 a FR(Chapter)386 b(3)i(Installation)p
-Black -30 30949 a
- currentpoint currentpoint translate 1 1 scale neg exch neg exch translate
- -30 30949 a @beginspecial 21 @llx 60
-@lly 474 @urx 316 @ury 4530 @rwi @setspecial
-%%BeginDocument: installation/setup-mouse.eps
-%!PS-Adobe-2.0 EPSF-1.2
-%%BoundingBox: 21 60 474 316
-
-/Outterbox
-{ newpath moveto
-0 249 rlineto
-128 0 rlineto
-23 61 moveto
-450 0 rlineto
-0 249 rlineto
--155 0 rlineto
-23 87 moveto
-450 0 rlineto
-closepath } def
-
-/Innerbox
-{ moveto
-425 0 rlineto
-0 118 rlineto
--425 0 rlineto
-closepath} def
-
-/TitleFont
-{ /Helvetica findfont 13 scalefont setfont
-moveto } def
-
-/PanelFont
-{ /Helvetica findfont 12 scalefont setfont
-moveto } def
-
-/ContentFont
-{ /Helvetica findfont 12 scalefont setfont
-moveto } def
-
-/ButtonFont
-{ /Helvetica findfont 11 scalefont setfont
-moveto } def
-
-23 61 Outterbox
-34 100 Innerbox
-
-155 306 TitleFont(MOUSE CONFIGURATION) show
-
-34 294 PanelFont (This part of the configuration process will create a /dev/mouse link) show
-34 280 PanelFont (pointing to your default mouse device. You can change the /dev/mouse) show
-34 266 PanelFont (link later if the mouse doesn't work, or if you switch to a different) show
-34 252 PanelFont (type of pointing device. We will also use the information about the) show
-34 238 PanelFont (mouse to set the correct protocol for gpm, the Linux mouse server.) show
-34 224 PanelFont (Please select a mouse type from the list below:) show
-
-65 204 ContentFont (ps2) show
-65 190 ContentFont (imps2) show
-65 176 ContentFont (bare) show
-65 162 ContentFont (ms) show
-65 148 ContentFont (mman) show
-65 134 ContentFont (msc) show
-65 120 ContentFont (pnp) show
-65 106 ContentFont (usb) show
-
-
-
-133 204 ContentFont (PS/2 port mouse (most desktops and laptops)) show
-133 190 ContentFont (Microsoft PS/2 Intellimouse) show
-133 176 ContentFont (2 button Microsoft compatible serial mouse) show
-133 162 ContentFont (3 button Microsoft compatible serial mouse) show
-133 148 ContentFont (Logitech serial MouseMan and similar devices) show
-133 134 ContentFont (MouseSystems serial (most 3 button serial mice)) show
-133 120 ContentFont (Plug and Play (serial mice that do not work with ms)) show
-133 106 ContentFont (USB connected mouse) show
-
-
-
-153 71 ButtonFont (< OK >) show
-267 71 ButtonFont (< Cancel >) show
-
-stroke
-showpage
-%%EOF
-
-%%EndDocument
- @endspecial -30 30949 a
- currentpoint currentpoint translate 1 1 div 1 1 div scale neg exch
-neg exch translate
- -30 30949 a -30 32498 a
-SDict begin H.S end
- -30
-32498 a -30 32498 a
-SDict begin 18.2 H.A end
- -30 32498 a -30 32498 a
-SDict begin [ /View [/XYZ H.V] /Dest (1151) cvn H.B /DEST pdfmark end
- -30 32498
-a 5114 x FE(Har)-31 b(d)-23 b(ware)429 b(c)-31 b(loc)g(k)-30
-38407 y
-SDict begin H.S end
- -30 38407 a -30 38407 a
-SDict begin 18.2 H.A end
- -30 38407 a -30 38407
-a
-SDict begin [ /View [/XYZ H.V] /Dest (1153) cvn H.B /DEST pdfmark end
- -30 38407 a 1995 x FU(This)466 b(subsection)f(asks)h(if)g(your)g
-(computer')-85 b(s)465 b(hardw)-15 b(are)466 b(clock)f(is)h(set)g(to)g
-(Coordinated)f(Uni-)-30 42417 y(v)-23 b(ersal)387 b(T)-54
-b(ime)387 b(\(UTC)g(or)g(GMT\).)g(Most)g(PCs)g(are)g(not,)h(so)f(you)g
-(should)g(probably)f(say)i(no.)-30 42752 y
-SDict begin H.S end
- -30 42752
-a -30 42752 a
-SDict begin 18.2 H.A end
- -30 42752 a -30 42752 a
-SDict begin [ /View [/XYZ H.V] /Dest (1154) cvn H.B /DEST pdfmark end
- -30 42752 a -30
-45077 a
-SDict begin H.S end
- -30 45077 a -30 45077 a
-SDict begin 18.2 H.A end
- -30 45077 a -30 45077
-a
-SDict begin [ /View [/XYZ H.V] /Dest (1155) cvn H.B /DEST pdfmark end
- -30 45077 a -30 63963 a
- currentpoint currentpoint translate 1 1 scale neg exch neg exch translate
- -30 63963 a @beginspecial 21
-@llx 60 @lly 378 @urx 223 @ury 3570 @rwi @setspecial
-%%BeginDocument: installation/setup-hardware-clock.eps
-%!PS-Adobe-2.0 EPSF-1.2
-%%BoundingBox: 21 60 378 223
-
-/Outterbox
-{ newpath moveto
-0 157 rlineto
-75 0 rlineto
-23 61 moveto
-354 0 rlineto
-0 157 rlineto
--80 0 rlineto
-23 87 moveto
-354 0 rlineto
-closepath } def
-
-/Innerbox
-{ moveto
-330 0 rlineto
-0 40 rlineto
--330 0 rlineto
-closepath} def
-
-/TitleFont
-{ /Helvetica findfont 12 scalefont setfont
-moveto } def
-
-/PanelFont
-{ /Helvetica findfont 12 scalefont setfont
-moveto } def
-
-/ContentFont1
-{ /Helvetica findfont 12 scalefont setfont
-moveto } def
-
-/ContentFont2
-{ /Helvetica findfont 12 scalefont setfont
-moveto } def
-
-/ButtonFont
-{ /Helvetica findfont 11 scalefont setfont
-moveto } def
-
-23 61 Outterbox
-34 100 Innerbox
-
-100 213 TitleFont(HARDWARE CLOCK SET TO UTC?) show
-
-34 198 PanelFont (Is the hardware clock set to Coordinated Universal Time) show
-34 185 PanelFont ((UTC/GMT)? If it is, select YES here. If the hardware) show
-34 172 PanelFont (clock is set to the current local time \(this is how most) show
-34 159 PanelFont (PCs are set up\), then say NO here. If you are not sure) show
-34 146 PanelFont (what this is, you should answer NO here.) show
-
-73 124 ContentFont1 (NO) show
-73 110 ContentFont1 (YES) show
-
-104 124 ContentFont2 (Hardware clock is set to local time) show
-104 110 ContentFont2 (Hardware clock is set to UTC) show
-
-113 71 ButtonFont (< OK >) show
-217 71 ButtonFont (< Cancel >) show
-
-stroke
-showpage
-%%EOF
-
-%%EndDocument
- @endspecial -30 63963 a
- currentpoint currentpoint translate 1 1 div 1 1 div scale neg exch
-neg exch translate
- -30 63963 a -30 65513 a
-SDict begin H.S end
- -30
-65513 a -30 65513 a
-SDict begin 18.2 H.A end
- -30 65513 a -30 65513 a
-SDict begin [ /View [/XYZ H.V] /Dest (1158) cvn H.B /DEST pdfmark end
- -30 65513
-a Black 50169 73792 a FR(37)p Black eop end
-%%Page: 38 60
-TeXDict begin 38 59 bop -8000 -8000 a
-SDict begin /product where{pop product(Distiller)search{pop pop pop
-version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
-closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
-grestore}if}{pop}ifelse}{pop}ifelse}if end
- -8000 -8000 a Black
-0 TeXcolorgray -30 -1237 a
-SDict begin H.S end
- -30 -1237 a 0 TeXcolorgray
-0 TeXcolorgray -30 -1237 a
-SDict begin H.R end
- -30 -1237 a -30 -1237 a
-SDict begin [ /View [/XYZ H.V] /Dest (page.38) cvn H.B /DEST pdfmark
-end
- -30
--1237 a Black -30 -2687 a
-SDict begin H.S end
- -30 -2687 a -30 -2687 a
-SDict begin 18.2 H.A end
- -30
--2687 a -30 -2687 a
-SDict begin [ /View [/XYZ H.V] /Dest (1177) cvn H.B /DEST pdfmark end
- -30 -2687 a 1051 x FR(Chapter)387
-b(3)g(Installation)p Black -30 3611 a FE(Font)-30 4405
-y
-SDict begin H.S end
- -30 4405 a -30 4405 a
-SDict begin 18.2 H.A end
- -30 4405 a -30 4405 a
-SDict begin [ /View [/XYZ H.V] /Dest (1160) cvn H.B /DEST pdfmark end
- -30 4405
-a 1996 x FU(The)g(font)g(subsection)g(allo)-39 b(ws)387
-b(you)g(to)g(choose)g(from)g(a)h(list)e(of)34410 6401
-y
-SDict begin H.S end
- 34410 6401 a 34410 6401 a
-SDict begin 18.2 H.A end
- 34410 6401 a 34410 6401 a
-SDict begin [ /View [/XYZ H.V] /Dest (1161) cvn H.B /DEST pdfmark end
-
-34410 6401 a 387 w FU(custom)h(console)g(fonts.)-30 6736
-y
-SDict begin H.S end
- -30 6736 a -30 6736 a
-SDict begin 18.2 H.A end
- -30 6736 a -30 6736 a
-SDict begin [ /View [/XYZ H.V] /Dest (1163) cvn H.B /DEST pdfmark end
- -30 6736
-a -30 9061 a
-SDict begin H.S end
- -30 9061 a -30 9061 a
-SDict begin 18.2 H.A end
- -30 9061 a -30 9061
-a
-SDict begin [ /View [/XYZ H.V] /Dest (1164) cvn H.B /DEST pdfmark end
- -30 9061 a -30 39502 a
- currentpoint currentpoint translate 1 1 scale neg exch neg exch translate
- -30 39502 a @beginspecial 21
-@llx 60 @lly 407 @urx 327 @ury 3860 @rwi @setspecial
-%%BeginDocument: installation/setup-font.eps
-%!PS-Adobe-2.0 EPSF-1.2
-%%BoundingBox: 21 60 407 327
-
-/Outterbox
-{ newpath moveto
-0 260 rlineto
-105 0 rlineto
-23 61 moveto
-383 0 rlineto
-0 260 rlineto
--130 0 rlineto
-23 87 moveto
-383 0 rlineto
-closepath } def
-
-/Innerbox
-{ moveto
-361 0 rlineto
-0 170 rlineto
--361 0 rlineto
-closepath} def
-
-/TitleFont
-{ /Helvetica findfont 12 scalefont setfont
-moveto } def
-
-/PanelFont
-{ /Helvetica findfont 12 scalefont setfont
-moveto } def
-
-/ContentFont
-{ /Helvetica findfont 12 scalefont setfont
-moveto } def
-
-/ButtonFont
-{ /Helvetica findfont 11 scalefont setfont
-moveto } def
-
-23 61 Outterbox
-34 100 Innerbox
-
-130 317 TitleFont(SELECT A SCREEN FONT) show
-
-34 305 PanelFont (Select one of the following custom fonts. If you decide you) show
-34 291 PanelFont (like it, you can make it your new default screen font. You'll) show
-34 277 PanelFont (be able to try as many of these as you like.) show
-
-109 258 ContentFont (161.cp.gz -16) show
-109 244 ContentFont (162.cp.gz -16) show
-109 230 ContentFont (163.cp.gz -16) show
-109 216 ContentFont (164.cp.gz -16) show
-109 202 ContentFont (165.cp.gz -16) show
-109 188 ContentFont (737.cp.gz -16) show
-109 174 ContentFont (880.cp.gz -16) show
-109 160 ContentFont (928.cp.gz -16) show
-109 146 ContentFont (972.cp.gz -16) show
-109 132 ContentFont (Agafari-12.psfu.gz) show
-109 118 ContentFont (Agafari-14.psfu.gz) show
-109 104 ContentFont (Agafari-16.psfu.gz) show
-
-123 71 ButtonFont (< OK >) show
-227 71 ButtonFont (< Cancel >) show
-
-stroke
-showpage
-%%EOF
-
-%%EndDocument
- @endspecial -30 39502 a
- currentpoint currentpoint translate 1 1 div 1 1 div scale neg exch
-neg exch translate
- -30 39502 a -30 41052 a
-SDict begin H.S end
- -30
-41052 a -30 41052 a
-SDict begin 18.2 H.A end
- -30 41052 a -30 41052 a
-SDict begin [ /View [/XYZ H.V] /Dest (1167) cvn H.B /DEST pdfmark end
- -30 41052
-a 5114 x FE(LILO)-30 46960 y
-SDict begin H.S end
- -30 46960 a -30 46960 a
-SDict begin 18.2 H.A end
-
--30 46960 a -30 46960 a
-SDict begin [ /View [/XYZ H.V] /Dest (1169) cvn H.B /DEST pdfmark end
- -30 46960 a 1996 x FU(Here)370
-b(you)g(are)g(prompted)f(for)h(installation)e(of)i(LILO)f(\(the)32392
-48956 y
-SDict begin H.S end
- 32392 48956 a 32392 48956 a
-SDict begin 18.2 H.A end
- 32392 48956 a 32392
-48956 a
-SDict begin [ /View [/XYZ H.V] /Dest (1170) cvn H.B /DEST pdfmark end
- 32392 48956 a 370 w FU(LInux)h(LOader;)f(see)p
-0 TeXcolorgray 44802 48956 a
-SDict begin H.S end
- 44802 48956 a FU(Section)387
-b(7.1)51776 48956 y
-SDict begin 18.2 H.L end
- 51776 48956 a 51776 48956 a
-SDict begin [ /Subtype /Link /Dest (BOOTING-LILO) cvn /H /I /Border
-[0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 51776
-48956 a Black -30 50970 a FU(for)h(more)f(information\).)-30
-51248 y
-SDict begin H.S end
- -30 51248 a -30 51248 a
-SDict begin 18.2 H.A end
- -30 51248 a -30 51248
-a
-SDict begin [ /View [/XYZ H.V] /Dest (1173) cvn H.B /DEST pdfmark end
- -30 51248 a -30 53572 a
-SDict begin H.S end
- -30 53572 a -30 53572 a
-SDict begin 18.2 H.A end
- -30
-53572 a -30 53572 a
-SDict begin [ /View [/XYZ H.V] /Dest (1174) cvn H.B /DEST pdfmark end
- -30 53572 a Black 20220 x FR(38)p
-Black eop end
-%%Page: 39 61
-TeXDict begin 39 60 bop -8000 -8000 a
-SDict begin /product where{pop product(Distiller)search{pop pop pop
-version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
-closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
-grestore}if}{pop}ifelse}{pop}ifelse}if end
- -8000 -8000 a Black
-0 TeXcolorgray -30 -1237 a
-SDict begin H.S end
- -30 -1237 a 0 TeXcolorgray
-0 TeXcolorgray -30 -1237 a
-SDict begin H.R end
- -30 -1237 a -30 -1237 a
-SDict begin [ /View [/XYZ H.V] /Dest (page.39) cvn H.B /DEST pdfmark
-end
- -30
--1237 a Black 37999 -1636 a FR(Chapter)386 b(3)i(Installation)p
-Black -30 27726 a
- currentpoint currentpoint translate 1 1 scale neg exch neg exch translate
- -30 27726 a @beginspecial 21 @llx 60
-@lly 419 @urx 287 @ury 3980 @rwi @setspecial
-%%BeginDocument: installation/setup-lilo.eps
-%!PS-Adobe-2.0 EPSF-1.2
-%%BoundingBox: 21 60 419 287
-
-/Outterbox
-{ newpath moveto
-0 221 rlineto
-138 0 rlineto
-23 61 moveto
-395 0 rlineto
-0 221 rlineto
--170 0 rlineto
-23 87 moveto
-395 0 rlineto
-closepath } def
-
-/Innerbox
-{ moveto
-372 0 rlineto
-0 52 rlineto
--372 0 rlineto
-closepath} def
-
-/TitleFont
-{ /Helvetica findfont 12 scalefont setfont
-moveto } def
-
-/PanelFont
-{ /Helvetica findfont 12 scalefont setfont
-moveto } def
-
-/ContentFont
-{ /Helvetica findfont 12 scalefont setfont
-moveto } def
-
-/ButtonFont
-{ /Helvetica findfont 11 scalefont setfont
-moveto } def
-
-23 61 Outterbox
-34 100 Innerbox
-
-165 277 TitleFont(INSTALL LILO) show
-
-34 265 PanelFont (LILO (Linux Loader) is a generic boot loader. There's a simple) show
-34 252 PanelFont (installation which tries to automatically set up LILO to boot) show
-34 239 PanelFont (Linux (also DOS/Windows if found). For more advanced users,) show
-34 226 PanelFont (the expert option offers more control over the installation) show
-34 213 PanelFont (process. Since LILO does not work in all cases \(and can damage) show
-34 200 PanelFont (partitions if incorrectly installed\), there's the third (safe)) show
-34 187 PanelFont (option, which is to skip installing LILO for now. You can) show
-34 174 PanelFont (always install it later with the 'liloconfig' command. Which) show
-34 160 PanelFont (option would you like?) show
-
-98 137 ContentFont (simple) show
-98 122 ContentFont (expert) show
-98 109 ContentFont (skip) show
-
-140 137 ContentFont (Try to install LILO automatically) show
-140 122 ContentFont (Use expert lilo.conf setup menu) show
-140 109 ContentFont (Do not install LILO) show
-
-123 71 ButtonFont (< OK >) show
-237 71 ButtonFont (< Cancel >) show
-
-stroke
-showpage
-%%EOF
-
-%%EndDocument
- @endspecial -30 27726 a
- currentpoint currentpoint translate 1 1 div 1 1 div scale neg exch
-neg exch translate
- -30 27726 a 3565 x FU(If)512
-b(Slackw)-15 b(are)512 b(is)g(to)g(be)g(the)g(only)f(operating)h
-(system)f(on)h(your)g(computer)-62 b(,)512 b FP(simple)g
-FU(should)-30 33305 y(w)-15 b(ork)399 b(just)g(\002ne)g(for)h(you.)g
-(If)g(you)f(are)h(dual-booting,)f(the)31670 33305 y
-SDict begin H.S end
- 31670
-33305 a 31670 33305 a
-SDict begin 18.2 H.A end
- 31670 33305 a 31670 33305 a
-SDict begin [ /View [/XYZ H.V] /Dest (1179) cvn H.B /DEST pdfmark end
- 31670
-33305 a FP(expert)g FU(option)g(is)g(a)h(better)g(choice.)-30
-35320 y(See)p 0 TeXcolorgray 2836 35320 a
-SDict begin H.S end
- 2836 35320
-a FU(Section)386 b(7.3)9809 35320 y
-SDict begin 18.2 H.L end
- 9809 35320 a 9809
-35320 a
-SDict begin [ /Subtype /Link /Dest (BOOTING-DUAL) cvn /H /I /Border
-[0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 9809 35320 a Black 628 w FU(for)628 b(more)f(information)g(on)h
-(dual-booting.)e(The)i(third)f(option,)47313 35320 y
-SDict begin H.S end
-
-47313 35320 a 47313 35320 a
-SDict begin 18.2 H.A end
- 47313 35320 a 47313 35320
-a
-SDict begin [ /View [/XYZ H.V] /Dest (1181) cvn H.B /DEST pdfmark end
- 47313 35320 a FP(do)743 b(not)-30 37335 y(install)p
-FU(,)444 b(is)g(not)g(recommended)f(unless)h(you)g(kno)-39
-b(w)444 b(what)g(you')-77 b(re)443 b(doing)h(and)g(ha)-31
-b(v)-23 b(e)444 b(a)g(v)-23 b(ery)-30 39349 y(good)550
-b(reason)g(for)g(not)g(installing)f(LILO.)h(If)h(you)f(are)g
-(performing)f(an)i(e)-23 b(xpert)549 b(install,)h(you)-30
-41364 y(will)511 b(be)h(gi)-39 b(v)-23 b(en)511 b(a)h(choice)f(as)h(to)
-f(where)h(LILO)f(will)g(be)h(put.)g(Y)-170 b(ou)510 b(may)i(place)f
-(LILO)h(in)f(the)-30 43379 y(MBR)350 b(\(Master)g(Boot)g(Record\))g(of)
-h(your)f(hard)h(dri)-39 b(v)-23 b(e,)351 b(in)f(the)g(superblock)g(of)h
-(your)f(root)h(Linux)-30 45393 y(partition,)387 b(or)g(on)h(a)f
-(\003opp)-15 b(y)386 b(disk.)-30 46504 y
-SDict begin H.S end
- -30 46504 a
--30 46504 a
-SDict begin 18.2 H.A end
- -30 46504 a -30 46504 a
-SDict begin [ /View [/XYZ H.V] /Dest (1182) cvn H.B /DEST pdfmark end
- -30 46504 a 4778
-x FE(Netw)-31 b(ork)-30 51301 y
-SDict begin H.S end
- -30 51301 a -30 51301
-a
-SDict begin 18.2 H.A end
- -30 51301 a -30 51301 a
-SDict begin [ /View [/XYZ H.V] /Dest (1184) cvn H.B /DEST pdfmark end
- -30 51301 a -30 52077 a
-SDict begin H.S end
- -30
-52077 a -30 52077 a
-SDict begin 18.2 H.A end
- -30 52077 a -30 52077 a
-SDict begin [ /View [/XYZ H.V] /Dest (1186) cvn H.B /DEST pdfmark end
- -30 52077
-a 1995 x FU(The)609 b(netw)-15 b(ork)609 b(con\002guration)f
-(subsection)g(is)h(actually)31847 54072 y
-SDict begin H.S end
- 31847 54072
-a 31847 54072 a
-SDict begin 18.2 H.A end
- 31847 54072 a 31847 54072 a
-SDict begin [ /View [/XYZ H.V] /Dest (1187) cvn H.B /DEST pdfmark end
- 31847 54072
-a FP(netconfig)p FU(.)g(See)p 0 TeXcolorgray 42386 54072
-a
-SDict begin H.S end
- 42386 54072 a FU(Section)386 b(5.1)49359 54072 y
-SDict begin 18.2 H.L end
- 49359
-54072 a 49359 54072 a
-SDict begin [ /Subtype /Link /Dest (NETWORK-CONFIGURATION-NETCONFIG)
-cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 49359 54072 a Black 610 w FU(for)-30
-56087 y(more)h(information.)p Black 50226 73792 a FR(39)p
-Black eop end
-%%Page: 40 62
-TeXDict begin 40 61 bop -8000 -8000 a
-SDict begin /product where{pop product(Distiller)search{pop pop pop
-version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
-closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
-grestore}if}{pop}ifelse}{pop}ifelse}if end
- -8000 -8000 a Black
-0 TeXcolorgray -30 -1237 a
-SDict begin H.S end
- -30 -1237 a 0 TeXcolorgray
-0 TeXcolorgray -30 -1237 a
-SDict begin H.R end
- -30 -1237 a -30 -1237 a
-SDict begin [ /View [/XYZ H.V] /Dest (page.40) cvn H.B /DEST pdfmark
-end
- -30
--1237 a Black -399 x FR(Chapter)387 b(3)g(Installation)p
-Black -30 3635 a FE(X)431 b(Windo)-23 b(w)429 b(Mana)-15
-b(g)15 b(er)-30 3979 y
-SDict begin H.S end
- -30 3979 a -30 3979 a
-SDict begin 18.2 H.A end
- -30 3979
-a -30 3979 a
-SDict begin [ /View [/XYZ H.V] /Dest (1191) cvn H.B /DEST pdfmark end
- -30 3979 a -30 3979 a
-SDict begin H.S end
- -30 3979 a -30 3979
-a
-SDict begin 18.2 H.A end
- -30 3979 a -30 3979 a
-SDict begin [ /View [/XYZ H.V] /Dest (1193) cvn H.B /DEST pdfmark end
- -30 3979 a -30 4754 a
-SDict begin H.S end
- -30 4754
-a -30 4754 a
-SDict begin 18.2 H.A end
- -30 4754 a -30 4754 a
-SDict begin [ /View [/XYZ H.V] /Dest (1195) cvn H.B /DEST pdfmark end
- -30 4754 a 1670 x
-FU(This)618 b(subsection)f(will)h(allo)-39 b(w)618 b(you)g(to)h(choose)
-f(a)g(def)-15 b(ault)618 b(windo)-39 b(w)618 b(manager)g(for)g(X.)h
-(See)p 0 TeXcolorgray -30 8439 a
-SDict begin H.S end
- -30 8439 a FU(Chapter)387
-b(6)6039 8439 y
-SDict begin 18.2 H.L end
- 6039 8439 a 6039 8439 a
-SDict begin [ /Subtype /Link /Dest (X-WINDOW-SYSTEM) cvn /H /I /Border
-[0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 6039 8439 a Black
-387 w FU(for)h(more)f(details)g(on)g(X)g(and)g(windo)-39
-b(w)387 b(managers.)-30 8774 y
-SDict begin H.S end
- -30 8774 a -30 8774 a
-SDict begin 18.2 H.A end
-
--30 8774 a -30 8774 a
-SDict begin [ /View [/XYZ H.V] /Dest (1197) cvn H.B /DEST pdfmark end
- -30 8774 a -30 11099 a
-SDict begin H.S end
- -30 11099
-a -30 11099 a
-SDict begin 18.2 H.A end
- -30 11099 a -30 11099 a
-SDict begin [ /View [/XYZ H.V] /Dest (1198) cvn H.B /DEST pdfmark end
- -30 11099 a -30
-41541 a
- currentpoint currentpoint translate 1 1 scale neg exch neg exch translate
- -30 41541 a @beginspecial 21 @llx 60 @lly 449
-@urx 327 @ury 4280 @rwi @setspecial
-%%BeginDocument: installation/setup-xwmconfig.eps
-%!PS-Adobe-2.0 EPSF-1.2
-%%BoundingBox: 21 60 449 327
-
-/Outterbox
-{ newpath moveto
-0 260 rlineto
-88 0 rlineto
-23 61 moveto
-425 0 rlineto
-0 260 rlineto
--88 0 rlineto
-23 87 moveto
-425 0 rlineto
-closepath } def
-
-/Innerbox
-{ moveto
-402 0 rlineto
-0 131 rlineto
--402 0 rlineto
-closepath} def
-
-/TitleFont
-{ /Helvetica findfont 11 scalefont setfont
-moveto } def
-
-/PanelFont
-{ /Helvetica findfont 12 scalefont setfont
-moveto } def
-
-/ContentFont
-{ /Helvetica findfont 12 scalefont setfont
-moveto } def
-
-/ButtonFont
-{ /Helvetica findfont 11 scalefont setfont
-moveto } def
-
-23 61 Outterbox
-34 100 Innerbox
-
-114 318 TitleFont(SELECT DEFAULT WINDOW MANAGER FOR X) show
-
-34 306 PanelFont (Please select the default window manager to use with the X Window) show
-34 292 PanelFont (System. This will define the style of graphical user interface the) show
-34 278 PanelFont (computer uses. KDE and GNOME provide the most features. People with) show
-34 264 PanelFont (Windows or MacOS experience will find either one easy to use. Other) show
-34 250 PanelFont (window managers are easier on system resources, or provide other) show
-34 236 PanelFont (unique features.) show
-
-60 218 ContentFont (xinitrc.kde) show
-60 204 ContentFont (xinitrc.gnome) show
-60 190 ContentFont (xinitrc.xfce) show
-60 176 ContentFont (xinitrc.blackbox) show
-60 162 ContentFont (xinitrc.fluxbox) show
-60 148 ContentFont (xinitrc.wmaker) show
-60 134 ContentFont (xinitrc.fvwm2) show
-60 120 ContentFont (xinitrc.fvwm95) show
-60 106 ContentFont (xinitrc.twm) show
-
-171 218 ContentFont (KDE: K Desktop Environment) show
-171 204 ContentFont (GNU Network Object Model Environment) show
-171 190 ContentFont (The Cholesterol Free Desktop Environment) show
-171 176 ContentFont (The blackbox window manager) show
-171 162 ContentFont (The fluxbox window manager) show
-171 148 ContentFont (WindowMaker) show
-171 134 ContentFont (F(?) Virtual Window Manager (version 2.xx)) show
-171 120 ContentFont (FVWM2 with a Windows look and feel) show
-171 106 ContentFont (Tab Window Manager (very basic)) show
-
-163 71 ButtonFont (< OK >) show
-277 71 ButtonFont (< Cancel >) show
-
-stroke
-showpage
-%%EOF
-
-%%EndDocument
- @endspecial -30 41541 a
- currentpoint currentpoint translate 1 1 div 1 1 div scale neg exch
-neg exch translate
- -30 41541 a -30 43090 a
-SDict begin H.S end
- -30
-43090 a -30 43090 a
-SDict begin 18.2 H.A end
- -30 43090 a -30 43090 a
-SDict begin [ /View [/XYZ H.V] /Dest (1201) cvn H.B /DEST pdfmark end
- -30 43090
-a 2015 x FU(No)432 b(matter)g(which)f(packages)h(you)g(installed,)g
-(the)g(last)f(thing)h(con\002gure)f(will)h(do)f(is)h(ask)g(you)-30
-47120 y(whether)497 b(you)g(w)-15 b(ant)497 b(to)g(go)g(ahead)h(and)f
-(set)g(a)25778 47120 y
-SDict begin H.S end
- 25778 47120 a 25778 47120 a
-SDict begin 18.2 H.A end
- 25778
-47120 a 25778 47120 a
-SDict begin [ /View [/XYZ H.V] /Dest (1202) cvn H.B /DEST pdfmark end
- 25778 47120 a FP(root)g FU(passw)-15
-b(ord.)496 b(F)-23 b(or)497 b(security)g(reasons,)h(this)-30
-49134 y(is)475 b(probably)g(a)g(good)g(idea;)g(ho)-39
-b(we)g(v)-23 b(er)-62 b(,)475 b(lik)-15 b(e)475 b(almost)f(e)-39
-b(v)-23 b(erything)475 b(else)g(in)g(Slackw)-15 b(are,)475
-b(this)f(is)-30 51149 y(your)387 b(call.)p Black -30
-73792 a FR(40)p Black eop end
-%%Page: 41 63
-TeXDict begin 41 62 bop -8000 -8000 a
-SDict begin /product where{pop product(Distiller)search{pop pop pop
-version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
-closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
-grestore}if}{pop}ifelse}{pop}ifelse}if end
- -8000 -8000 a Black
-0 TeXcolorgray -30 -1358 a
-SDict begin H.S end
- -30 -1358 a 0 TeXcolorgray
-0 TeXcolorgray -30 -1358 a
-SDict begin H.R end
- -30 -1358 a -30 -1358 a
-SDict begin [ /View [/XYZ H.V] /Dest (page.41) cvn H.B /DEST pdfmark
-end
- -30
--1358 a Black Black -30 2383 a
-SDict begin H.S end
- -30 2383 a -30 2383 a
-SDict begin 18.2 H.A end
-
--30 2383 a -30 2383 a
-SDict begin [ /View [/XYZ H.V] /Dest (SYSTEM-CONFIGURATION) cvn H.B
-/DEST pdfmark end
- -30 2383 a 2345 x FS(Chapter)894
-b(4)-30 10743 y FO(System)1286 b(Con\002guration)p -30
-18316 51806 56 v -30 19091 a
-SDict begin H.S end
- -30 19091 a -30 19091 a
-SDict begin 18.2 H.A end
-
--30 19091 a -30 19091 a
-SDict begin [ /View [/XYZ H.V] /Dest (1205) cvn H.B /DEST pdfmark end
- -30 19091 a 1051 x FU(Before)448
-b(you)f(can)g(con\002gure)g(the)h(more)f(adv)-39 b(anced)448
-b(parts)f(of)h(your)f(system,)g(it')-85 b(s)447 b(a)h(good)f(idea)-30
-22157 y(to)411 b(learn)h(ho)-39 b(w)411 b(the)h(system)e(is)i(or)-28
-b(g)-8 b(anized)411 b(and)h(what)f(commands)g(can)g(be)h(used)f(to)g
-(search)h(for)-30 24171 y(\002les)475 b(and)h(programs.)g(It')-85
-b(s)475 b(also)h(good)f(to)g(kno)-39 b(w)476 b(if)g(you)f(need)h(to)g
-(compile)f(a)h(custom)f(k)-15 b(ernel)-30 26186 y(and)415
-b(what)g(the)f(steps)h(for)g(doing)f(that)h(are.)g(This)g(chapter)g
-(will)f(f)-15 b(amiliarize)414 b(you)g(with)h(system)-30
-28201 y(or)-28 b(g)-8 b(anization)349 b(and)h(con\002guration)e
-(\002les.)i(Then,)g(you)f(can)h(mo)-23 b(v)g(e)348 b(on)i(to)f
-(con\002guring)g(the)g(more)-30 30215 y(adv)-39 b(anced)388
-b(parts)f(of)g(the)g(system.)-30 30551 y
-SDict begin H.S end
- -30 30551 a
--30 30551 a
-SDict begin 18.2 H.A end
- -30 30551 a -30 30551 a
-SDict begin [ /View [/XYZ H.V] /Dest (SYSTEM-CONFIGURATION-OVERVIEW)
-cvn H.B /DEST pdfmark end
- -30 30551 a 5789
-x FL(4.1)620 b(System)h(Over)22 b(vie)-33 b(w)-30 36802
-y
-SDict begin H.S end
- -30 36802 a -30 36802 a
-SDict begin 18.2 H.A end
- -30 36802 a -30 36802 a
-SDict begin [ /View [/XYZ H.V] /Dest (1208) cvn H.B /DEST pdfmark end
- -30
-36802 a -30 36802 a
-SDict begin H.S end
- -30 36802 a -30 36802 a
-SDict begin 18.2 H.A end
- -30 36802
-a -30 36802 a
-SDict begin [ /View [/XYZ H.V] /Dest (1210) cvn H.B /DEST pdfmark end
- -30 36802 a -30 36802 a
-SDict begin H.S end
- -30 36802 a -30
-36802 a
-SDict begin 18.2 H.A end
- -30 36802 a -30 36802 a
-SDict begin [ /View [/XYZ H.V] /Dest (1212) cvn H.B /DEST pdfmark end
- -30 36802 a -30 37918
-a
-SDict begin H.S end
- -30 37918 a -30 37918 a
-SDict begin 18.2 H.A end
- -30 37918 a -30 37918 a
-SDict begin [ /View [/XYZ H.V] /Dest (1214) cvn H.B /DEST pdfmark end
- -30
-37918 a 1552 x FU(It')-85 b(s)468 b(important)e(to)i(understand)f(ho)
--39 b(w)468 b(a)g(Linux)f(system)g(is)h(put)f(together)g(before)h(di)
--39 b(ving)467 b(into)-30 41485 y(the)494 b(v)-39 b(arious)495
-b(con\002guration)e(aspects.)h(A)h(Linux)e(system)h(is)g
-(signi\002cantly)f(dif)-39 b(ferent)495 b(from)f(a)-30
-43500 y(DOS,)518 b(W)-62 b(indo)-39 b(ws,)519 b(or)f(Macintosh)f
-(system)h(\(with)g(the)g(e)-23 b(xception)518 b(of)g(the)g(Unix-based)g
-(Mac)-30 45514 y(OS)474 b(X\),)g(b)-31 b(ut)474 b(these)g(sections)g
-(will)f(help)h(you)g(get)g(acquainted)f(with)h(the)g(layout)g(so)f
-(that)h(you)-30 47529 y(can)388 b(easily)e(con\002gure)h(your)g(system)
-g(to)g(meet)g(your)g(needs.)-30 47865 y
-SDict begin H.S end
- -30 47865 a -30
-47865 a
-SDict begin 18.2 H.A end
- -30 47865 a -30 47865 a
-SDict begin [ /View [/XYZ H.V] /Dest (SYSTEM-CONFIGURATION-LAYOUT)
-cvn H.B /DEST pdfmark end
- -30 47865 a 5026 x FG(File)517
-b(System)h(La)-37 b(y)-46 b(out)-30 53276 y
-SDict begin H.S end
- -30 53276
-a -30 53276 a
-SDict begin 18.2 H.A end
- -30 53276 a -30 53276 a
-SDict begin [ /View [/XYZ H.V] /Dest (1217) cvn H.B /DEST pdfmark end
- -30 53276 a -30
-53276 a
-SDict begin H.S end
- -30 53276 a -30 53276 a
-SDict begin 18.2 H.A end
- -30 53276 a -30 53276
-a
-SDict begin [ /View [/XYZ H.V] /Dest (1219) cvn H.B /DEST pdfmark end
- -30 53276 a -30 54206 a
-SDict begin H.S end
- -30 54206 a -30 54206 a
-SDict begin 18.2 H.A end
- -30
-54206 a -30 54206 a
-SDict begin [ /View [/XYZ H.V] /Dest (1222) cvn H.B /DEST pdfmark end
- -30 54206 a 1630 x FU(The)537 b(\002rst)g
-(noticeable)g(dif)-39 b(ference)538 b(between)f(Slackw)-15
-b(are)537 b(Linux)f(and)i(a)f(DOS)g(or)g(W)-62 b(indo)-39
-b(ws)-30 57850 y(system)425 b(is)g(the)h(\002lesystem.)f(F)-23
-b(or)425 b(starters,)g(we)h(do)g(not)f(use)g(dri)-39
-b(v)-23 b(e)426 b(letters)f(to)h(denote)f(dif)-39 b(ferent)-30
-59865 y(partitions.)523 b(Under)h(Linux,)f(there)h(is)f(one)h(main)f
-(directory)-101 b(.)524 b(Y)-170 b(ou)523 b(can)h(relate)g(this)f(to)h
-(the)50288 59865 y
-SDict begin H.S end
- 50288 59865 a 50288 59865 a
-SDict begin 18.2 H.A end
- 50288
-59865 a 50288 59865 a
-SDict begin [ /View [/XYZ H.V] /Dest (1223) cvn H.B /DEST pdfmark end
- 50288 59865 a FP(C:)-30 61880 y
-FU(dri)-39 b(v)-23 b(e)516 b(under)h(DOS.)f(Each)h(partition)e(on)i
-(your)f(system)g(is)g(mounted)g(to)g(a)h(directory)f(on)g(the)-30
-63894 y(main)387 b(directory)-101 b(.)388 b(It')-85 b(s)387
-b(kind)g(of)g(lik)-15 b(e)386 b(an)i(e)-39 b(v)-23 b(er)-31
-b(-e)-23 b(xpanding)386 b(hard)i(disk.)-30 64230 y
-SDict begin H.S end
- -30
-64230 a -30 64230 a
-SDict begin 18.2 H.A end
- -30 64230 a -30 64230 a
-SDict begin [ /View [/XYZ H.V] /Dest (1224) cvn H.B /DEST pdfmark end
- -30 64230
-a Black 50226 73672 a FR(41)p Black eop end
-%%Page: 42 64
-TeXDict begin 42 63 bop -8000 -8000 a
-SDict begin /product where{pop product(Distiller)search{pop pop pop
-version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
-closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
-grestore}if}{pop}ifelse}{pop}ifelse}if end
- -8000 -8000 a Black
-0 TeXcolorgray -30 -1358 a
-SDict begin H.S end
- -30 -1358 a 0 TeXcolorgray
-0 TeXcolorgray -30 -1358 a
-SDict begin H.R end
- -30 -1358 a -30 -1358 a
-SDict begin [ /View [/XYZ H.V] /Dest (page.42) cvn H.B /DEST pdfmark
-end
- -30
--1358 a Black -278 x FR(Chapter)387 b(4)g(System)g(Con\002gur)-23
-b(ation)p Black -30 2383 a
-SDict begin H.S end
- -30 2383 a -30 2383 a
-SDict begin 18.2 H.A end
- -30
-2383 a -30 2383 a
-SDict begin [ /View [/XYZ H.V] /Dest (1226) cvn H.B /DEST pdfmark end
- -30 2383 a 1107 x FU(W)-124 b(e)357
-b(call)f(the)h(main)f(directory)g(the)h(root)f(directory)-101
-b(,)357 b(and)g(it')-85 b(s)356 b(denoted)g(with)g(a)h(single)f(slash)g
-(\()50246 3490 y
-SDict begin H.S end
- 50246 3490 a 50246 3490 a
-SDict begin 18.2 H.A end
- 50246 3490
-a 50246 3490 a
-SDict begin [ /View [/XYZ H.V] /Dest (1227) cvn H.B /DEST pdfmark end
- 50246 3490 a FQ(/)p FU(\).)-30 5505 y(This)515
-b(concept)h(may)f(seem)g(strange,)h(b)-31 b(ut)515 b(it)h(actually)f
-(mak)-15 b(es)515 b(life)g(easy)h(for)f(you)h(when)f(you)-30
-7520 y(w)-15 b(ant)350 b(to)h(add)f(more)h(space.)g(F)-23
-b(or)350 b(e)-23 b(xample,)350 b(let')-85 b(s)350 b(say)h(you)f(run)h
-(out)f(of)h(space)g(on)f(the)h(dri)-39 b(v)-23 b(e)350
-b(that)-30 9534 y(has)2549 9534 y
-SDict begin H.S end
- 2549 9534 a 2549 9534
-a
-SDict begin 18.2 H.A end
- 2549 9534 a 2549 9534 a
-SDict begin [ /View [/XYZ H.V] /Dest (1228) cvn H.B /DEST pdfmark end
- 2549 9534 a FQ(/home)510 b
-FU(on)j(it.)g(Most)f(people)h(install)f(Slackw)-15 b(are)512
-b(and)h(mak)-15 b(e)512 b(one)h(big)g(root)f(dri)-39
-b(v)-23 b(e.)514 b(W)-124 b(ell,)-30 11549 y(since)359
-b(a)g(partition)f(can)h(be)h(mounted)e(to)h(an)-23 b(y)358
-b(directory)-101 b(,)360 b(you)e(can)i(simply)e(go)g(to)h(the)g(store)g
-(and)-30 13564 y(pick)456 b(up)f(a)h(ne)-39 b(w)456 b(hard)g(dri)-39
-b(v)-23 b(e)455 b(and)h(mount)f(it)g(to)26121 13564 y
-SDict begin H.S end
-
-26121 13564 a 26121 13564 a
-SDict begin 18.2 H.A end
- 26121 13564 a 26121 13564
-a
-SDict begin [ /View [/XYZ H.V] /Dest (1229) cvn H.B /DEST pdfmark end
- 26121 13564 a FQ(/home)p FU(.)e(Y)-170 b(ou')-77 b(v)-23
-b(e)454 b(no)-39 b(w)456 b(grafted)f(on)h(some)f(more)-30
-15578 y(space)387 b(to)h(your)f(system.)g(And)g(all)g(without)f(ha)-31
-b(ving)387 b(to)g(mo)-23 b(v)g(e)387 b(man)-23 b(y)386
-b(things)h(around.)-30 16689 y
-SDict begin H.S end
- -30 16689 a -30 16689
-a
-SDict begin 18.2 H.A end
- -30 16689 a -30 16689 a
-SDict begin [ /View [/XYZ H.V] /Dest (1230) cvn H.B /DEST pdfmark end
- -30 16689 a 1679 x FU(Belo)-39
-b(w)-101 b(,)354 b(you)g(will)f(\002nd)g(descriptions)g(of)h(the)f
-(major)h(top)f(le)-39 b(v)-23 b(el)353 b(directories)h(under)f(Slackw)
--15 b(are.)-30 18703 y
-SDict begin H.S end
- -30 18703 a -30 18703 a
-SDict begin 18.2 H.A end
- -30 18703
-a -30 18703 a
-SDict begin [ /View [/XYZ H.V] /Dest (1231) cvn H.B /DEST pdfmark end
- -30 18703 a -30 21028 a
-SDict begin H.S end
- -30 21028 a -30
-21028 a
-SDict begin 18.2 H.A end
- -30 21028 a -30 21028 a
-SDict begin [ /View [/XYZ H.V] /Dest (1233) cvn H.B /DEST pdfmark end
- -30 21028 a -30 21028
-a
-SDict begin H.S end
- -30 21028 a -30 21028 a
-SDict begin 18.2 H.A end
- -30 21028 a -30 21028 a
-SDict begin [ /View [/XYZ H.V] /Dest (1234) cvn H.B /DEST pdfmark end
- -30
-21028 a 1679 x FQ(bin)-30 22707 y
-SDict begin H.S end
- -30 22707 a -30 22707
-a
-SDict begin 18.2 H.A end
- -30 22707 a -30 22707 a
-SDict begin [ /View [/XYZ H.V] /Dest (1235) cvn H.B /DEST pdfmark end
- -30 22707 a Black Black 3070
-25497 a
-SDict begin H.S end
- 3070 25497 a 3070 25497 a
-SDict begin 18.2 H.A end
- 3070 25497 a 3070 25497
-a
-SDict begin [ /View [/XYZ H.V] /Dest (1236) cvn H.B /DEST pdfmark end
- 3070 25497 a FU(Essential)385 b(user)h(programs)g(are)g(stored)g
-(here.)h(These)f(represent)g(the)g(bare)g(minimum)f(set)3070
-27511 y(of)393 b(programs)f(required)h(for)g(a)g(user)g(to)g(use)g(the)
-g(system.)f(Things)h(lik)-15 b(e)392 b(the)h(shell)f(and)h(the)3070
-29526 y(\002lesystem)541 b(commands)h(\()17672 29526
-y
-SDict begin H.S end
- 17672 29526 a 17672 29526 a
-SDict begin 18.2 H.A end
- 17672 29526 a 17672 29526
-a
-SDict begin [ /View [/XYZ H.V] /Dest (1237) cvn H.B /DEST pdfmark end
- 17672 29526 a FP(ls)p FU(,)20090 29526 y
-SDict begin H.S end
- 20090 29526
-a 20090 29526 a
-SDict begin 18.2 H.A end
- 20090 29526 a 20090 29526 a
-SDict begin [ /View [/XYZ H.V] /Dest (1238) cvn H.B /DEST pdfmark end
- 20090 29526
-a FP(cp)p FU(,)h(and)g(so)f(on\))h(are)g(stored)f(here.)h(The)43133
-29526 y
-SDict begin H.S end
- 43133 29526 a 43133 29526 a
-SDict begin 18.2 H.A end
- 43133 29526 a 43133
-29526 a
-SDict begin [ /View [/XYZ H.V] /Dest (1239) cvn H.B /DEST pdfmark end
- 43133 29526 a FQ(/bin)d FU(directory)3070 31541
-y(usually)420 b(doesn')-28 b(t)420 b(recei)-39 b(v)-23
-b(e)422 b(modi\002cation)d(after)i(installation.)f(If)i(it)e(does,)i
-(it')-85 b(s)420 b(usually)g(in)3070 33555 y(the)387
-b(form)g(of)g(package)h(upgrades)f(that)g(we)g(pro)-23
-b(vide.)-30 35441 y
-SDict begin H.S end
- -30 35441 a -30 35441 a
-SDict begin 18.2 H.A end
- -30 35441
-a -30 35441 a
-SDict begin [ /View [/XYZ H.V] /Dest (1241) cvn H.B /DEST pdfmark end
- -30 35441 a -30 35441 a
-SDict begin H.S end
- -30 35441 a -30
-35441 a
-SDict begin 18.2 H.A end
- -30 35441 a -30 35441 a
-SDict begin [ /View [/XYZ H.V] /Dest (1242) cvn H.B /DEST pdfmark end
- -30 35441 a 1679 x FQ(boot)-30
-37120 y
-SDict begin H.S end
- -30 37120 a -30 37120 a
-SDict begin 18.2 H.A end
- -30 37120 a -30 37120
-a
-SDict begin [ /View [/XYZ H.V] /Dest (1243) cvn H.B /DEST pdfmark end
- -30 37120 a Black Black 3070 39909 a
-SDict begin H.S end
- 3070 39909 a 3070
-39909 a
-SDict begin 18.2 H.A end
- 3070 39909 a 3070 39909 a
-SDict begin [ /View [/XYZ H.V] /Dest (1244) cvn H.B /DEST pdfmark end
- 3070 39909 a FU(Files)523
-b(that)h(are)g(used)g(by)g(the)g(Linux)f(Loader)h(\(LILO\).)h(This)e
-(directory)h(also)g(recei)-39 b(v)-23 b(es)3070 41924
-y(little)305 b(modi\002cation)g(after)h(an)g(installation.)f(The)h(k)
--15 b(ernel)306 b(is)f(stored)h(here)g(as)h(of)f(Slackw)-15
-b(are)3070 43939 y(8.1.)391 b(In)f(earlier)g(releases)h(of)f(Slackw)-15
-b(are,)390 b(the)g(k)-15 b(ernel)390 b(w)-15 b(as)389
-b(simply)h(stored)g(under)48032 43939 y
-SDict begin H.S end
- 48032 43939 a
-48032 43939 a
-SDict begin 18.2 H.A end
- 48032 43939 a 48032 43939 a
-SDict begin [ /View [/XYZ H.V] /Dest (1245) cvn H.B /DEST pdfmark end
- 48032 43939
-a FQ(/)f FU(,)i(b)-31 b(ut)3070 45953 y(common)530 b(practice)h(is)f
-(to)h(put)g(the)g(k)-15 b(ernel)530 b(and)h(related)g(\002les)f(here)h
-(to)g(f)-15 b(acilitate)530 b(dual-)3070 47968 y(booting.)-30
-49853 y
-SDict begin H.S end
- -30 49853 a -30 49853 a
-SDict begin 18.2 H.A end
- -30 49853 a -30 49853
-a
-SDict begin [ /View [/XYZ H.V] /Dest (1247) cvn H.B /DEST pdfmark end
- -30 49853 a -30 49853 a
-SDict begin H.S end
- -30 49853 a -30 49853 a
-SDict begin 18.2 H.A end
- -30
-49853 a -30 49853 a
-SDict begin [ /View [/XYZ H.V] /Dest (1248) cvn H.B /DEST pdfmark end
- -30 49853 a 1679 x FQ(dev)-30 51532
-y
-SDict begin H.S end
- -30 51532 a -30 51532 a
-SDict begin 18.2 H.A end
- -30 51532 a -30 51532 a
-SDict begin [ /View [/XYZ H.V] /Dest (1249) cvn H.B /DEST pdfmark end
- -30
-51532 a Black Black 3070 54322 a
-SDict begin H.S end
- 3070 54322 a 3070 54322
-a
-SDict begin 18.2 H.A end
- 3070 54322 a 3070 54322 a
-SDict begin [ /View [/XYZ H.V] /Dest (1250) cvn H.B /DEST pdfmark end
- 3070 54322 a FU(Ev)-23 b(erything)380
-b(in)h(Linux)g(is)h(treated)f(as)h(a)g(\002le,)f(e)-39
-b(v)-23 b(en)382 b(hardw)-15 b(are)381 b(de)-39 b(vices)382
-b(lik)-15 b(e)381 b(serial)g(ports,)3070 56337 y(hard)367
-b(disks,)h(and)g(scanners.)g(In)g(order)g(to)f(access)h(these)g(de)-39
-b(vices,)368 b(a)g(special)g(\002le)f(called)h(a)3070
-58351 y(de)-39 b(vice)380 b(node)g(has)g(to)f(be)i(present.)f(All)f(de)
--39 b(vice)381 b(nodes)e(are)i(stored)e(in)h(the)43009
-58351 y
-SDict begin H.S end
- 43009 58351 a 43009 58351 a
-SDict begin 18.2 H.A end
- 43009 58351 a 43009
-58351 a
-SDict begin [ /View [/XYZ H.V] /Dest (1251) cvn H.B /DEST pdfmark end
- 43009 58351 a FQ(/dev)e FU(directory)-101 b(.)3070
-60366 y(Y)-170 b(ou)386 b(will)h(\002nd)g(this)g(to)g(be)g(true)g
-(across)h(man)-23 b(y)386 b(Unix-lik)-15 b(e)386 b(operating)h
-(systems.)-30 62251 y
-SDict begin H.S end
- -30 62251 a -30 62251 a
-SDict begin 18.2 H.A end
- -30 62251
-a -30 62251 a
-SDict begin [ /View [/XYZ H.V] /Dest (1253) cvn H.B /DEST pdfmark end
- -30 62251 a -30 62251 a
-SDict begin H.S end
- -30 62251 a -30
-62251 a
-SDict begin 18.2 H.A end
- -30 62251 a -30 62251 a
-SDict begin [ /View [/XYZ H.V] /Dest (1254) cvn H.B /DEST pdfmark end
- -30 62251 a 1679 x FQ(etc)-30
-63930 y
-SDict begin H.S end
- -30 63930 a -30 63930 a
-SDict begin 18.2 H.A end
- -30 63930 a -30 63930
-a
-SDict begin [ /View [/XYZ H.V] /Dest (1255) cvn H.B /DEST pdfmark end
- -30 63930 a Black Black 3070 66720 a
-SDict begin H.S end
- 3070 66720 a 3070
-66720 a
-SDict begin 18.2 H.A end
- 3070 66720 a 3070 66720 a
-SDict begin [ /View [/XYZ H.V] /Dest (1256) cvn H.B /DEST pdfmark end
- 3070 66720 a FU(This)332
-b(directory)h(holds)f(system)h(con\002guration)f(\002les.)g(Ev)-23
-b(erything)332 b(from)h(the)g(X)g(W)-62 b(indo)-39 b(w)p
-Black -30 73672 a FR(42)p Black eop end
-%%Page: 43 65
-TeXDict begin 43 64 bop -8000 -8000 a
-SDict begin /product where{pop product(Distiller)search{pop pop pop
-version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
-closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
-grestore}if}{pop}ifelse}{pop}ifelse}if end
- -8000 -8000 a Black
-0 TeXcolorgray -30 -1237 a
-SDict begin H.S end
- -30 -1237 a 0 TeXcolorgray
-0 TeXcolorgray -30 -1237 a
-SDict begin H.R end
- -30 -1237 a -30 -1237 a
-SDict begin [ /View [/XYZ H.V] /Dest (page.43) cvn H.B /DEST pdfmark
-end
- -30
--1237 a Black 31781 -1636 a FR(Chapter)387 b(4)g(System)g(Con\002gur)
--23 b(ation)p Black 3070 3611 a FU(con\002guration)462
-b(\002le,)i(the)g(user)g(database,)g(to)f(the)h(system)f(startup)g
-(scripts.)h(The)g(system)3070 5626 y(administrator)386
-b(will)g(become)i(quite)e(f)-15 b(amiliar)387 b(with)g(this)f
-(directory)h(o)-23 b(v)g(er)387 b(time.)-30 7511 y
-SDict begin H.S end
- -30
-7511 a -30 7511 a
-SDict begin 18.2 H.A end
- -30 7511 a -30 7511 a
-SDict begin [ /View [/XYZ H.V] /Dest (1258) cvn H.B /DEST pdfmark end
- -30 7511 a -30
-7511 a
-SDict begin H.S end
- -30 7511 a -30 7511 a
-SDict begin 18.2 H.A end
- -30 7511 a -30 7511 a
-SDict begin [ /View [/XYZ H.V] /Dest (1259) cvn H.B /DEST pdfmark end
- -30
-7511 a 1679 x FQ(home)-30 9190 y
-SDict begin H.S end
- -30 9190 a -30 9190
-a
-SDict begin 18.2 H.A end
- -30 9190 a -30 9190 a
-SDict begin [ /View [/XYZ H.V] /Dest (1260) cvn H.B /DEST pdfmark end
- -30 9190 a Black Black 3070 11980
-a
-SDict begin H.S end
- 3070 11980 a 3070 11980 a
-SDict begin 18.2 H.A end
- 3070 11980 a 3070 11980 a
-SDict begin [ /View [/XYZ H.V] /Dest (1261) cvn H.B /DEST pdfmark end
-
-3070 11980 a FU(Linux)582 b(is)g(a)h(multiuser)e(operating)h(system.)h
-(Each)f(user)h(on)f(the)h(system)e(is)i(gi)-39 b(v)-23
-b(en)582 b(an)3070 13994 y(account)511 b(and)h(a)g(unique)f(directory)g
-(for)h(personal)f(\002les.)h(This)f(directory)g(is)h(called)f(the)3070
-16009 y(user')-85 b(s)512 b(home)h(directory)-101 b(.)513
-b(The)20472 16009 y
-SDict begin H.S end
- 20472 16009 a 20472 16009 a
-SDict begin 18.2 H.A end
- 20472
-16009 a 20472 16009 a
-SDict begin [ /View [/XYZ H.V] /Dest (1262) cvn H.B /DEST pdfmark end
- 20472 16009 a FQ(/home)d FU(directory)j(is)f(pro)
--23 b(vided)513 b(as)g(the)f(def)-15 b(ault)513 b(location)3070
-18024 y(for)387 b(user)g(home)g(directories.)-30 19589
-y
-SDict begin H.S end
- -30 19589 a -30 19589 a
-SDict begin 18.2 H.A end
- -30 19589 a -30 19589 a
-SDict begin [ /View [/XYZ H.V] /Dest (1264) cvn H.B /DEST pdfmark end
- -30
-19589 a -30 19589 a
-SDict begin H.S end
- -30 19589 a -30 19589 a
-SDict begin 18.2 H.A end
- -30 19589
-a -30 19589 a
-SDict begin [ /View [/XYZ H.V] /Dest (1265) cvn H.B /DEST pdfmark end
- -30 19589 a 1999 x FQ(lib)-30 21588 y
-SDict begin H.S end
- -30
-21588 a -30 21588 a
-SDict begin 18.2 H.A end
- -30 21588 a -30 21588 a
-SDict begin [ /View [/XYZ H.V] /Dest (1266) cvn H.B /DEST pdfmark end
- -30 21588
-a Black Black 3070 24378 a
-SDict begin H.S end
- 3070 24378 a 3070 24378 a
-SDict begin 18.2 H.A end
-
-3070 24378 a 3070 24378 a
-SDict begin [ /View [/XYZ H.V] /Dest (1267) cvn H.B /DEST pdfmark end
- 3070 24378 a FU(System)554
-b(libraries)g(that)h(are)g(required)g(for)g(basic)f(operation)h(are)g
-(stored)g(here.)g(The)g(C)3070 26392 y(library)-101 b(,)404
-b(the)f(dynamic)g(loader)-62 b(,)404 b(the)g(ncurses)f(library)-101
-b(,)404 b(and)g(k)-15 b(ernel)403 b(modules)f(are)i(among)3070
-28407 y(the)387 b(things)f(stored)h(here.)-30 30292 y
-SDict begin H.S end
-
--30 30292 a -30 30292 a
-SDict begin 18.2 H.A end
- -30 30292 a -30 30292 a
-SDict begin [ /View [/XYZ H.V] /Dest (1269) cvn H.B /DEST pdfmark end
- -30 30292
-a -30 30292 a
-SDict begin H.S end
- -30 30292 a -30 30292 a
-SDict begin 18.2 H.A end
- -30 30292 a -30
-30292 a
-SDict begin [ /View [/XYZ H.V] /Dest (1270) cvn H.B /DEST pdfmark end
- -30 30292 a 1679 x FQ(mnt)-30 31971 y
-SDict begin H.S end
- -30 31971
-a -30 31971 a
-SDict begin 18.2 H.A end
- -30 31971 a -30 31971 a
-SDict begin [ /View [/XYZ H.V] /Dest (1271) cvn H.B /DEST pdfmark end
- -30 31971 a Black
-Black 3070 34761 a
-SDict begin H.S end
- 3070 34761 a 3070 34761 a
-SDict begin 18.2 H.A end
- 3070 34761
-a 3070 34761 a
-SDict begin [ /View [/XYZ H.V] /Dest (1272) cvn H.B /DEST pdfmark end
- 3070 34761 a FU(This)484 b(directory)g(contains)g
-(temporary)h(mount)f(points)g(for)h(w)-15 b(orking)483
-b(on)i(hard)g(disks)f(or)3070 36776 y(remo)-23 b(v)-39
-b(able)389 b(dri)-39 b(v)-23 b(es.)389 b(Here)h(you')-15
-b(ll)389 b(\002nd)g(mount)f(points)h(for)h(your)f(CD-R)-62
-b(OM)389 b(and)g(\003opp)-15 b(y)3070 38790 y(dri)-39
-b(v)-23 b(es.)-30 40356 y
-SDict begin H.S end
- -30 40356 a -30 40356 a
-SDict begin 18.2 H.A end
- -30
-40356 a -30 40356 a
-SDict begin [ /View [/XYZ H.V] /Dest (1274) cvn H.B /DEST pdfmark end
- -30 40356 a -30 40356 a
-SDict begin H.S end
- -30 40356
-a -30 40356 a
-SDict begin 18.2 H.A end
- -30 40356 a -30 40356 a
-SDict begin [ /View [/XYZ H.V] /Dest (1275) cvn H.B /DEST pdfmark end
- -30 40356 a 1999
-x FQ(opt)-30 42624 y
-SDict begin H.S end
- -30 42624 a -30 42624 a
-SDict begin 18.2 H.A end
- -30 42624
-a -30 42624 a
-SDict begin [ /View [/XYZ H.V] /Dest (1276) cvn H.B /DEST pdfmark end
- -30 42624 a Black Black 3070 45144 a
-SDict begin H.S end
- 3070
-45144 a 3070 45144 a
-SDict begin 18.2 H.A end
- 3070 45144 a 3070 45144 a
-SDict begin [ /View [/XYZ H.V] /Dest (1277) cvn H.B /DEST pdfmark end
- 3070 45144
-a FU(Optional)325 b(softw)-15 b(are)325 b(packages.)h(The)f(idea)h
-(behind)31046 45144 y
-SDict begin H.S end
- 31046 45144 a 31046 45144 a
-SDict begin 18.2 H.A end
- 31046
-45144 a 31046 45144 a
-SDict begin [ /View [/XYZ H.V] /Dest (1278) cvn H.B /DEST pdfmark end
- 31046 45144 a FQ(/opt)e FU(is)h(that)h(each)g
-(softw)-15 b(are)325 b(package)3070 47159 y(installs)533
-b(to)9736 47159 y
-SDict begin H.S end
- 9736 47159 a 9736 47159 a
-SDict begin 18.2 H.A end
- 9736 47159
-a 9736 47159 a
-SDict begin [ /View [/XYZ H.V] /Dest (1279) cvn H.B /DEST pdfmark end
- 9736 47159 a FQ(/opt/software-)55 b(package)p
-FU(,)521 b(which)534 b(mak)-15 b(es)533 b(it)h(easy)h(to)f(remo)-23
-b(v)g(e)533 b(later)-85 b(.)534 b(Slack-)3070 49174 y(w)-15
-b(are)355 b(distrib)-31 b(utes)355 b(some)h(things)f(in)22539
-49174 y
-SDict begin H.S end
- 22539 49174 a 22539 49174 a
-SDict begin 18.2 H.A end
- 22539 49174 a 22539
-49174 a
-SDict begin [ /View [/XYZ H.V] /Dest (1281) cvn H.B /DEST pdfmark end
- 22539 49174 a FQ(/opt)e FU(\(such)j(as)g(KDE)g(in)35862
-49174 y
-SDict begin H.S end
- 35862 49174 a 35862 49174 a
-SDict begin 18.2 H.A end
- 35862 49174 a 35862
-49174 a
-SDict begin [ /View [/XYZ H.V] /Dest (1282) cvn H.B /DEST pdfmark end
- 35862 49174 a FQ(/opt/kde)p FU(\),)c(b)-31 b(ut)356
-b(you)f(are)i(free)3070 51188 y(to)387 b(add)g(an)-23
-b(ything)386 b(you)h(w)-15 b(ant)387 b(to)20766 51188
-y
-SDict begin H.S end
- 20766 51188 a 20766 51188 a
-SDict begin 18.2 H.A end
- 20766 51188 a 20766 51188
-a
-SDict begin [ /View [/XYZ H.V] /Dest (1283) cvn H.B /DEST pdfmark end
- 20766 51188 a FQ(/opt)p FU(.)-30 53074 y
-SDict begin H.S end
- -30 53074
-a -30 53074 a
-SDict begin 18.2 H.A end
- -30 53074 a -30 53074 a
-SDict begin [ /View [/XYZ H.V] /Dest (1285) cvn H.B /DEST pdfmark end
- -30 53074 a -30
-53074 a
-SDict begin H.S end
- -30 53074 a -30 53074 a
-SDict begin 18.2 H.A end
- -30 53074 a -30 53074
-a
-SDict begin [ /View [/XYZ H.V] /Dest (1286) cvn H.B /DEST pdfmark end
- -30 53074 a 1679 x FQ(proc)-30 55022 y
-SDict begin H.S end
- -30 55022 a
--30 55022 a
-SDict begin 18.2 H.A end
- -30 55022 a -30 55022 a
-SDict begin [ /View [/XYZ H.V] /Dest (1287) cvn H.B /DEST pdfmark end
- -30 55022 a Black
-Black 3070 57542 a
-SDict begin H.S end
- 3070 57542 a 3070 57542 a
-SDict begin 18.2 H.A end
- 3070 57542
-a 3070 57542 a
-SDict begin [ /View [/XYZ H.V] /Dest (1288) cvn H.B /DEST pdfmark end
- 3070 57542 a FU(This)548 b(is)h(a)g(unique)g(directory)
--101 b(.)549 b(It')-85 b(s)549 b(not)g(really)f(part)h(of)g(the)g
-(\002lesystem,)g(b)-31 b(ut)548 b(a)i(virtual)3070 59557
-y(\002lesystem)464 b(that)i(pro)-23 b(vides)465 b(access)h(to)g(k)-15
-b(ernel)465 b(information.)g(V)-172 b(arious)465 b(pieces)h(of)g(infor)
--31 b(-)3070 61572 y(mation)422 b(that)h(the)g(k)-15
-b(ernel)423 b(w)-15 b(ants)422 b(you)h(to)g(kno)-39 b(w)424
-b(are)f(con)-62 b(v)-23 b(e)g(yed)423 b(to)g(you)g(through)f(\002les)h
-(in)3070 63586 y(the)5417 63586 y
-SDict begin H.S end
- 5417 63586 a 5417 63586
-a
-SDict begin 18.2 H.A end
- 5417 63586 a 5417 63586 a
-SDict begin [ /View [/XYZ H.V] /Dest (1289) cvn H.B /DEST pdfmark end
- 5417 63586 a FQ(/proc)451
-b FU(directory)-101 b(.)454 b(Y)-170 b(ou)453 b(can)h(also)f(send)h
-(information)e(to)i(the)f(k)-15 b(ernel)453 b(through)g(some)3070
-65601 y(of)387 b(these)g(\002les.)g(T)-54 b(ry)387 b(doing)18167
-65601 y
-SDict begin H.S end
- 18167 65601 a 18167 65601 a
-SDict begin 18.2 H.A end
- 18167 65601 a 18167
-65601 a
-SDict begin [ /View [/XYZ H.V] /Dest (1290) cvn H.B /DEST pdfmark end
- 18167 65601 a FP(cat)744 b(/proc/cpuinfo)p FU(.)p
-Black 50226 73792 a FR(43)p Black eop end
-%%Page: 44 66
-TeXDict begin 44 65 bop -8000 -8000 a
-SDict begin /product where{pop product(Distiller)search{pop pop pop
-version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
-closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
-grestore}if}{pop}ifelse}{pop}ifelse}if end
- -8000 -8000 a Black
-0 TeXcolorgray -30 -1237 a
-SDict begin H.S end
- -30 -1237 a 0 TeXcolorgray
-0 TeXcolorgray -30 -1237 a
-SDict begin H.R end
- -30 -1237 a -30 -1237 a
-SDict begin [ /View [/XYZ H.V] /Dest (page.44) cvn H.B /DEST pdfmark
-end
- -30
--1237 a Black -399 x FR(Chapter)387 b(4)g(System)g(Con\002gur)-23
-b(ation)p Black -30 2504 a
-SDict begin H.S end
- -30 2504 a -30 2504 a
-SDict begin 18.2 H.A end
- -30
-2504 a -30 2504 a
-SDict begin [ /View [/XYZ H.V] /Dest (1292) cvn H.B /DEST pdfmark end
- -30 2504 a -30 2504 a
-SDict begin H.S end
- -30 2504 a -30
-2504 a
-SDict begin 18.2 H.A end
- -30 2504 a -30 2504 a
-SDict begin [ /View [/XYZ H.V] /Dest (1293) cvn H.B /DEST pdfmark end
- -30 2504 a 1107 x FQ(root)-30
-3611 y
-SDict begin H.S end
- -30 3611 a -30 3611 a
-SDict begin 18.2 H.A end
- -30 3611 a -30 3611 a
-SDict begin [ /View [/XYZ H.V] /Dest (1294) cvn H.B /DEST pdfmark end
- -30
-3611 a Black Black 3070 6401 a
-SDict begin H.S end
- 3070 6401 a 3070 6401
-a
-SDict begin 18.2 H.A end
- 3070 6401 a 3070 6401 a
-SDict begin [ /View [/XYZ H.V] /Dest (1295) cvn H.B /DEST pdfmark end
- 3070 6401 a FU(The)420 b(system)f
-(administrator)g(is)h(kno)-39 b(wn)420 b(as)27076 6401
-y
-SDict begin H.S end
- 27076 6401 a 27076 6401 a
-SDict begin 18.2 H.A end
- 27076 6401 a 27076 6401 a
-SDict begin [ /View [/XYZ H.V] /Dest (1296) cvn H.B /DEST pdfmark end
-
-27076 6401 a FP(root)f FU(on)h(the)h(system.)39868 6401
-y
-SDict begin H.S end
- 39868 6401 a 39868 6401 a
-SDict begin 18.2 H.A end
- 39868 6401 a 39868 6401 a
-SDict begin [ /View [/XYZ H.V] /Dest (1297) cvn H.B /DEST pdfmark end
-
-39868 6401 a FP(root)p FU(')-85 b(s)420 b(home)g(direc-)3070
-8415 y(tory)457 b(is)g(k)-15 b(ept)457 b(in)12290 8415
-y
-SDict begin H.S end
- 12290 8415 a 12290 8415 a
-SDict begin 18.2 H.A end
- 12290 8415 a 12290 8415 a
-SDict begin [ /View [/XYZ H.V] /Dest (1298) cvn H.B /DEST pdfmark end
-
-12290 8415 a FQ(/root)d FU(instead)j(of)22476 8415 y
-SDict begin H.S end
-
-22476 8415 a 22476 8415 a
-SDict begin 18.2 H.A end
- 22476 8415 a 22476 8415 a
-SDict begin [ /View [/XYZ H.V] /Dest (1299) cvn H.B /DEST pdfmark end
- 22476
-8415 a FQ(/home/root)p FU(.)452 b(The)458 b(reason)f(is)h(simple.)f
-(What)g(if)48644 8415 y
-SDict begin H.S end
- 48644 8415 a 48644 8415 a
-SDict begin 18.2 H.A end
- 48644
-8415 a 48644 8415 a
-SDict begin [ /View [/XYZ H.V] /Dest (1300) cvn H.B /DEST pdfmark end
- 48644 8415 a FQ(/home)3070 10430
-y FU(w)-15 b(as)434 b(a)h(dif)-39 b(ferent)436 b(partition)e(from)21890
-10430 y
-SDict begin H.S end
- 21890 10430 a 21890 10430 a
-SDict begin 18.2 H.A end
- 21890 10430 a 21890
-10430 a
-SDict begin [ /View [/XYZ H.V] /Dest (1301) cvn H.B /DEST pdfmark end
- 21890 10430 a FQ(/)g FU(and)h(it)g(could)g(not)g(be)g(mounted?)
-41661 10430 y
-SDict begin H.S end
- 41661 10430 a 41661 10430 a
-SDict begin 18.2 H.A end
- 41661 10430
-a 41661 10430 a
-SDict begin [ /View [/XYZ H.V] /Dest (1302) cvn H.B /DEST pdfmark end
- 41661 10430 a FP(root)g FU(w)-15 b(ould)434
-b(nat-)3070 12445 y(urally)445 b(w)-15 b(ant)445 b(to)g(log)h(in)f(and)
-h(repair)g(the)f(problem.)h(If)f(his)h(home)f(directory)g(w)-15
-b(as)446 b(on)f(the)3070 14459 y(damaged)387 b(\002lesystem,)f(it)h(w)
--15 b(ould)386 b(mak)-15 b(e)387 b(it)g(dif)-39 b(\002cult)387
-b(for)g(him)g(to)g(log)g(in.)-30 16345 y
-SDict begin H.S end
- -30 16345 a
--30 16345 a
-SDict begin 18.2 H.A end
- -30 16345 a -30 16345 a
-SDict begin [ /View [/XYZ H.V] /Dest (1304) cvn H.B /DEST pdfmark end
- -30 16345 a -30 16345
-a
-SDict begin H.S end
- -30 16345 a -30 16345 a
-SDict begin 18.2 H.A end
- -30 16345 a -30 16345 a
-SDict begin [ /View [/XYZ H.V] /Dest (1305) cvn H.B /DEST pdfmark end
- -30
-16345 a 1679 x FQ(sbin)-30 18024 y
-SDict begin H.S end
- -30 18024 a -30 18024
-a
-SDict begin 18.2 H.A end
- -30 18024 a -30 18024 a
-SDict begin [ /View [/XYZ H.V] /Dest (1306) cvn H.B /DEST pdfmark end
- -30 18024 a Black Black 3070
-20813 a
-SDict begin H.S end
- 3070 20813 a 3070 20813 a
-SDict begin 18.2 H.A end
- 3070 20813 a 3070 20813
-a
-SDict begin [ /View [/XYZ H.V] /Dest (1307) cvn H.B /DEST pdfmark end
- 3070 20813 a FU(Essential)416 b(programs)h(that)h(are)g(run)f(by)
-24858 20813 y
-SDict begin H.S end
- 24858 20813 a 24858 20813 a
-SDict begin 18.2 H.A end
- 24858 20813
-a 24858 20813 a
-SDict begin [ /View [/XYZ H.V] /Dest (1308) cvn H.B /DEST pdfmark end
- 24858 20813 a FP(root)g FU(and)h(during)f(the)g(system)
-g(bootup)g(process)3070 22828 y(are)387 b(k)-15 b(ept)387
-b(here.)h(Normal)f(users)g(will)g(not)g(run)g(programs)g(in)g(this)f
-(directory)-101 b(.)-30 24713 y
-SDict begin H.S end
- -30 24713 a -30 24713
-a
-SDict begin 18.2 H.A end
- -30 24713 a -30 24713 a
-SDict begin [ /View [/XYZ H.V] /Dest (1310) cvn H.B /DEST pdfmark end
- -30 24713 a -30 24713 a
-SDict begin H.S end
- -30
-24713 a -30 24713 a
-SDict begin 18.2 H.A end
- -30 24713 a -30 24713 a
-SDict begin [ /View [/XYZ H.V] /Dest (1311) cvn H.B /DEST pdfmark end
- -30 24713
-a 1679 x FQ(tmp)-30 26662 y
-SDict begin H.S end
- -30 26662 a -30 26662 a
-SDict begin 18.2 H.A end
- -30
-26662 a -30 26662 a
-SDict begin [ /View [/XYZ H.V] /Dest (1312) cvn H.B /DEST pdfmark end
- -30 26662 a Black Black 3070 29182
-a
-SDict begin H.S end
- 3070 29182 a 3070 29182 a
-SDict begin 18.2 H.A end
- 3070 29182 a 3070 29182 a
-SDict begin [ /View [/XYZ H.V] /Dest (1313) cvn H.B /DEST pdfmark end
-
-3070 29182 a FU(The)545 b(temporary)f(storage)h(location.)g(All)f
-(users)h(ha)-31 b(v)-23 b(e)545 b(read)g(and)g(write)g(access)g(to)g
-(this)3070 31197 y(directory)-101 b(.)-30 33082 y
-SDict begin H.S end
- -30
-33082 a -30 33082 a
-SDict begin 18.2 H.A end
- -30 33082 a -30 33082 a
-SDict begin [ /View [/XYZ H.V] /Dest (1315) cvn H.B /DEST pdfmark end
- -30 33082
-a -30 33082 a
-SDict begin H.S end
- -30 33082 a -30 33082 a
-SDict begin 18.2 H.A end
- -30 33082 a -30
-33082 a
-SDict begin [ /View [/XYZ H.V] /Dest (1316) cvn H.B /DEST pdfmark end
- -30 33082 a 1679 x FQ(usr)-30 34761 y
-SDict begin H.S end
- -30 34761
-a -30 34761 a
-SDict begin 18.2 H.A end
- -30 34761 a -30 34761 a
-SDict begin [ /View [/XYZ H.V] /Dest (1317) cvn H.B /DEST pdfmark end
- -30 34761 a Black
-Black 3070 37551 a
-SDict begin H.S end
- 3070 37551 a 3070 37551 a
-SDict begin 18.2 H.A end
- 3070 37551
-a 3070 37551 a
-SDict begin [ /View [/XYZ H.V] /Dest (1318) cvn H.B /DEST pdfmark end
- 3070 37551 a FU(This)433 b(is)h(the)g(big)f(directory)h
-(on)f(a)i(Linux)e(system.)g(Ev)-23 b(erything)433 b(else)h(pretty)g
-(much)f(goes)3070 39565 y(here,)338 b(programs,)g(documentation,)f(the)
-h(k)-15 b(ernel)337 b(source)h(code,)h(and)f(the)g(X)g(W)-62
-b(indo)-39 b(w)337 b(sys-)3070 41580 y(tem.)383 b(This)g(is)g(the)g
-(directory)g(to)h(which)f(you)g(will)g(most)f(lik)-15
-b(ely)383 b(be)g(installing)f(programs.)-30 43465 y
-SDict begin H.S end
- -30
-43465 a -30 43465 a
-SDict begin 18.2 H.A end
- -30 43465 a -30 43465 a
-SDict begin [ /View [/XYZ H.V] /Dest (1320) cvn H.B /DEST pdfmark end
- -30 43465
-a -30 43465 a
-SDict begin H.S end
- -30 43465 a -30 43465 a
-SDict begin 18.2 H.A end
- -30 43465 a -30
-43465 a
-SDict begin [ /View [/XYZ H.V] /Dest (1321) cvn H.B /DEST pdfmark end
- -30 43465 a 1679 x FQ(var)-30 45144 y
-SDict begin H.S end
- -30 45144
-a -30 45144 a
-SDict begin 18.2 H.A end
- -30 45144 a -30 45144 a
-SDict begin [ /View [/XYZ H.V] /Dest (1322) cvn H.B /DEST pdfmark end
- -30 45144 a Black
-Black 3070 47934 a
-SDict begin H.S end
- 3070 47934 a 3070 47934 a
-SDict begin 18.2 H.A end
- 3070 47934
-a 3070 47934 a
-SDict begin [ /View [/XYZ H.V] /Dest (1323) cvn H.B /DEST pdfmark end
- 3070 47934 a FU(System)394 b(log)h(\002les,)g(cache)h
-(data,)g(and)f(program)g(lock)g(\002les)g(are)h(stored)f(here.)h(This)f
-(is)g(the)3070 49948 y(directory)387 b(for)g(frequently-changing)f
-(data.)-30 51059 y
-SDict begin H.S end
- -30 51059 a -30 51059 a
-SDict begin 18.2 H.A end
- -30 51059
-a -30 51059 a
-SDict begin [ /View [/XYZ H.V] /Dest (1324) cvn H.B /DEST pdfmark end
- -30 51059 a 1679 x FU(Y)-170 b(ou)423 b(should)g(no)-39
-b(w)423 b(ha)-31 b(v)-23 b(e)423 b(a)h(good)f(feel)h(for)g(which)f
-(directories)g(contain)g(what)g(on)g(the)h(\002lesys-)-30
-54753 y(tem.)345 b(More)g(detailed)f(information)g(about)h(the)g
-(\002lesystem)e(layout)i(is)g(a)-31 b(v)-39 b(ailable)344
-b(in)h(the)g(hier\(7\))-30 56767 y(man)368 b(page.)h(The)f(ne)-23
-b(xt)368 b(section)f(will)h(help)g(you)g(\002nd)f(speci\002c)h(\002les)
-g(easily)-101 b(,)368 b(so)g(you)g(don')-28 b(t)368 b(ha)-31
-b(v)-23 b(e)-30 58782 y(to)387 b(do)g(it)g(by)h(hand.)-30
-59892 y
-SDict begin H.S end
- -30 59892 a -30 59892 a
-SDict begin 18.2 H.A end
- -30 59892 a -30 59892
-a
-SDict begin [ /View [/XYZ H.V] /Dest (SYSTEM-CONFIGURATION-FINDING)
-cvn H.B /DEST pdfmark end
- -30 59892 a 5182 x FG(Finding)518 b(Files)-30 66418
-y
-SDict begin H.S end
- -30 66418 a -30 66418 a
-SDict begin 18.2 H.A end
- -30 66418 a -30 66418 a
-SDict begin [ /View [/XYZ H.V] /Dest (1327) cvn H.B /DEST pdfmark end
- -30
-66418 a 1600 x FU(Y)-170 b(ou)447 b(no)-39 b(w)448 b(kno)-39
-b(w)448 b(what)g(each)g(major)f(directory)h(holds,)f(b)-31
-b(ut)448 b(it)f(still)g(doesn')-28 b(t)448 b(really)g(help)f(you)p
-Black -30 73792 a FR(44)p Black eop end
-%%Page: 45 67
-TeXDict begin 45 66 bop -8000 -8000 a
-SDict begin /product where{pop product(Distiller)search{pop pop pop
-version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
-closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
-grestore}if}{pop}ifelse}{pop}ifelse}if end
- -8000 -8000 a Black
-0 TeXcolorgray -30 -1237 a
-SDict begin H.S end
- -30 -1237 a 0 TeXcolorgray
-0 TeXcolorgray -30 -1237 a
-SDict begin H.R end
- -30 -1237 a -30 -1237 a
-SDict begin [ /View [/XYZ H.V] /Dest (page.45) cvn H.B /DEST pdfmark
-end
- -30
--1237 a Black 31781 -1636 a FR(Chapter)387 b(4)g(System)g(Con\002gur)
--23 b(ation)p Black -30 3611 a FU(\002nd)429 b(things.)g(I)g(mean,)h
-(you)f(could)g(go)g(looking)f(through)h(directories,)g(b)-31
-b(ut)429 b(there)g(are)h(quick)-15 b(er)-30 5626 y(w)g(ays.)387
-b(There)h(are)f(four)h(main)e(\002le)h(search)h(commands)e(a)-31
-b(v)-39 b(ailable)387 b(in)h(Slackw)-15 b(are.)-30 5961
-y
-SDict begin H.S end
- -30 5961 a -30 5961 a
-SDict begin 18.2 H.A end
- -30 5961 a -30 5961 a
-SDict begin [ /View [/XYZ H.V] /Dest (1328) cvn H.B /DEST pdfmark end
- -30 5961
-a 4392 x Fp(whic)g(h)-30 10372 y
-SDict begin H.S end
- -30 10372 a -30 10372
-a
-SDict begin 18.2 H.A end
- -30 10372 a -30 10372 a
-SDict begin [ /View [/XYZ H.V] /Dest (1331) cvn H.B /DEST pdfmark end
- -30 10372 a -30 11147 a
-SDict begin H.S end
- -30
-11147 a -30 11147 a
-SDict begin 18.2 H.A end
- -30 11147 a -30 11147 a
-SDict begin [ /View [/XYZ H.V] /Dest (1333) cvn H.B /DEST pdfmark end
- -30 11147
-a 1995 x FU(The)298 b(\002rst)g(is)h(the)8913 13142 y
-SDict begin H.S end
-
-8913 13142 a 8913 13142 a
-SDict begin 18.2 H.A end
- 8913 13142 a 8913 13142 a
-SDict begin [ /View [/XYZ H.V] /Dest (1334) cvn H.B /DEST pdfmark end
- 8913
-13142 a FP(which)p FU(\(1\))f(command.)21536 13142 y
-SDict begin H.S end
-
-21536 13142 a 21536 13142 a
-SDict begin 18.2 H.A end
- 21536 13142 a 21536 13142
-a
-SDict begin [ /View [/XYZ H.V] /Dest (1335) cvn H.B /DEST pdfmark end
- 21536 13142 a FP(which)g FU(is)g(usually)g(used)g(to)g(locate)g(a)h
-(program)f(quickly)-101 b(.)-30 15157 y(It)357 b(just)g(searches)g
-(your)12675 15157 y
-SDict begin H.S end
- 12675 15157 a 12675 15157 a
-SDict begin 18.2 H.A end
- 12675
-15157 a 12675 15157 a
-SDict begin [ /View [/XYZ H.V] /Dest (1336) cvn H.B /DEST pdfmark end
- 12675 15157 a FP(PATH)g FU(and)g(returns)g(the)g
-(\002rst)f(instance)h(it)g(\002nds)f(and)h(the)g(directory)g(path)-30
-17171 y(to)387 b(it.)h(T)-124 b(ak)-15 b(e)387 b(this)f(e)-23
-b(xample:)-30 19057 y
-SDict begin H.S end
- -30 19057 a -30 19057 a
-SDict begin 14.56 H.A end
- -30 19057
-a -30 19057 a
-SDict begin [ /View [/XYZ H.V] /Dest (1337) cvn H.B /DEST pdfmark end
- -30 19057 a -30 19057 a
-SDict begin H.S end
- -30 19057 a -30
-19057 a
-SDict begin 14.56 H.A end
- -30 19057 a -30 19057 a
-SDict begin [ /View [/XYZ H.V] /Dest (1338) cvn H.B /DEST pdfmark end
- -30 19057 a 1276 x FJ(\045)2053
-20333 y
-SDict begin H.S end
- 2053 20333 a 2053 20333 a
-SDict begin 14.56 H.A end
- 2053 20333 a 2053 20333
-a
-SDict begin [ /View [/XYZ H.V] /Dest (1339) cvn H.B /DEST pdfmark end
- 2053 20333 a FH(which)743 b(bash)-30 21945 y FP(/bin/bash)-30
-22043 y
-SDict begin H.S end
- -30 22043 a -30 22043 a
-SDict begin 18.2 H.A end
- -30 22043 a -30 22043
-a
-SDict begin [ /View [/XYZ H.V] /Dest (1340) cvn H.B /DEST pdfmark end
- -30 22043 a -30 23592 a
-SDict begin H.S end
- -30 23592 a -30 23592 a
-SDict begin 18.2 H.A end
- -30
-23592 a -30 23592 a
-SDict begin [ /View [/XYZ H.V] /Dest (1342) cvn H.B /DEST pdfmark end
- -30 23592 a 1917 x FU(From)392 b(that)h(you)f(see)h
-(that)14246 25509 y
-SDict begin H.S end
- 14246 25509 a 14246 25509 a
-SDict begin 18.2 H.A end
- 14246
-25509 a 14246 25509 a
-SDict begin [ /View [/XYZ H.V] /Dest (1343) cvn H.B /DEST pdfmark end
- 14246 25509 a FP(bash)f FU(is)h(in)g(the)22927
-25509 y
-SDict begin H.S end
- 22927 25509 a 22927 25509 a
-SDict begin 18.2 H.A end
- 22927 25509 a 22927
-25509 a
-SDict begin [ /View [/XYZ H.V] /Dest (1344) cvn H.B /DEST pdfmark end
- 22927 25509 a FQ(/bin)d FU(directory)-101 b(.)393
-b(This)g(is)f(a)h(v)-23 b(ery)393 b(limited)f(command)-30
-27524 y(for)c(searching,)f(since)g(it)g(only)g(searches)g(your)25706
-27524 y
-SDict begin H.S end
- 25706 27524 a 25706 27524 a
-SDict begin 18.2 H.A end
- 25706 27524 a 25706
-27524 a
-SDict begin [ /View [/XYZ H.V] /Dest (1345) cvn H.B /DEST pdfmark end
- 25706 27524 a FP(PATH)p FU(.)-30 28634 y
-SDict begin H.S end
- -30
-28634 a -30 28634 a
-SDict begin 18.2 H.A end
- -30 28634 a -30 28634 a
-SDict begin [ /View [/XYZ H.V] /Dest (1346) cvn H.B /DEST pdfmark end
- -30 28634
-a 4779 x Fp(whereis)-30 33432 y
-SDict begin H.S end
- -30 33432 a -30 33432
-a
-SDict begin 18.2 H.A end
- -30 33432 a -30 33432 a
-SDict begin [ /View [/XYZ H.V] /Dest (1349) cvn H.B /DEST pdfmark end
- -30 33432 a -30 34207 a
-SDict begin H.S end
- -30
-34207 a -30 34207 a
-SDict begin 18.2 H.A end
- -30 34207 a -30 34207 a
-SDict begin [ /View [/XYZ H.V] /Dest (1351) cvn H.B /DEST pdfmark end
- -30 34207
-a 1995 x FU(The)2712 36202 y
-SDict begin H.S end
- 2712 36202 a 2712 36202
-a
-SDict begin 18.2 H.A end
- 2712 36202 a 2712 36202 a
-SDict begin [ /View [/XYZ H.V] /Dest (1352) cvn H.B /DEST pdfmark end
- 2712 36202 a FP(whereis)p
-FU(\(1\))332 b(command)f(w)-15 b(orks)332 b(similar)f(to)26783
-36202 y
-SDict begin H.S end
- 26783 36202 a 26783 36202 a
-SDict begin 18.2 H.A end
- 26783 36202 a 26783
-36202 a
-SDict begin [ /View [/XYZ H.V] /Dest (1353) cvn H.B /DEST pdfmark end
- 26783 36202 a FP(which)p FU(,)h(b)-31 b(ut)332
-b(can)h(also)e(search)i(for)f(man)g(pages)-30 38217 y(and)387
-b(source)h(\002les.)f(A)11892 38217 y
-SDict begin H.S end
- 11892 38217 a 11892
-38217 a
-SDict begin 18.2 H.A end
- 11892 38217 a 11892 38217 a
-SDict begin [ /View [/XYZ H.V] /Dest (1354) cvn H.B /DEST pdfmark end
- 11892 38217 a FP(whereis)g
-FU(search)g(for)24027 38217 y
-SDict begin H.S end
- 24027 38217 a 24027 38217
-a
-SDict begin 18.2 H.A end
- 24027 38217 a 24027 38217 a
-SDict begin [ /View [/XYZ H.V] /Dest (1355) cvn H.B /DEST pdfmark end
- 24027 38217 a FP(bash)g
-FU(should)f(return)h(this:)-30 39793 y
-SDict begin H.S end
- -30 39793 a -30
-39793 a
-SDict begin 14.56 H.A end
- -30 39793 a -30 39793 a
-SDict begin [ /View [/XYZ H.V] /Dest (1356) cvn H.B /DEST pdfmark end
- -30 39793 a -30 39793
-a
-SDict begin H.S end
- -30 39793 a -30 39793 a
-SDict begin 14.56 H.A end
- -30 39793 a -30 39793 a
-SDict begin [ /View [/XYZ H.V] /Dest (1357) cvn H.B /DEST pdfmark end
- -30
-39793 a 1585 x FJ(\045)2053 41378 y
-SDict begin H.S end
- 2053 41378 a 2053
-41378 a
-SDict begin 14.56 H.A end
- 2053 41378 a 2053 41378 a
-SDict begin [ /View [/XYZ H.V] /Dest (1358) cvn H.B /DEST pdfmark end
- 2053 41378 a FH(whereis)743
-b(bash)-30 42990 y FP(bash:)g(/bin/bash)g(/usr/bin/bash)f
-(/usr/man/man1/bash.1.gz)-30 44734 y
-SDict begin H.S end
- -30 44734 a -30
-44734 a
-SDict begin 18.2 H.A end
- -30 44734 a -30 44734 a
-SDict begin [ /View [/XYZ H.V] /Dest (1359) cvn H.B /DEST pdfmark end
- -30 44734 a 1821 x FU(This)403
-b(command)g(not)h(only)f(told)g(us)h(where)f(the)h(actual)f(program)h
-(is)f(located,)h(b)-31 b(ut)403 b(also)h(where)-30 48569
-y(the)654 b(online)g(documentation)f(is)h(stored.)g(Still,)g(this)g
-(command)f(is)h(limited.)g(What)g(if)g(you)-30 50584
-y(w)-15 b(anted)474 b(to)g(search)g(for)h(a)f(speci\002c)g
-(con\002guration)f(\002le?)h(Y)-170 b(ou)474 b(can')-28
-b(t)474 b(use)40610 50584 y
-SDict begin H.S end
- 40610 50584 a 40610 50584
-a
-SDict begin 18.2 H.A end
- 40610 50584 a 40610 50584 a
-SDict begin [ /View [/XYZ H.V] /Dest (1360) cvn H.B /DEST pdfmark end
- 40610 50584 a FP(which)f
-FU(or)46569 50584 y
-SDict begin H.S end
- 46569 50584 a 46569 50584 a
-SDict begin 18.2 H.A end
- 46569
-50584 a 46569 50584 a
-SDict begin [ /View [/XYZ H.V] /Dest (1361) cvn H.B /DEST pdfmark end
- 46569 50584 a FP(whereis)-30 52599
-y FU(for)388 b(that.)-30 53389 y
-SDict begin H.S end
- -30 53389 a -30 53389
-a
-SDict begin 18.2 H.A end
- -30 53389 a -30 53389 a
-SDict begin [ /View [/XYZ H.V] /Dest (1362) cvn H.B /DEST pdfmark end
- -30 53389 a 5099 x Fp(\002nd)-30
-58507 y
-SDict begin H.S end
- -30 58507 a -30 58507 a
-SDict begin 18.2 H.A end
- -30 58507 a -30 58507
-a
-SDict begin [ /View [/XYZ H.V] /Dest (1365) cvn H.B /DEST pdfmark end
- -30 58507 a -30 59282 a
-SDict begin H.S end
- -30 59282 a -30 59282 a
-SDict begin 18.2 H.A end
- -30
-59282 a -30 59282 a
-SDict begin [ /View [/XYZ H.V] /Dest (1367) cvn H.B /DEST pdfmark end
- -30 59282 a 1995 x FU(The)2742 61277
-y
-SDict begin H.S end
- 2742 61277 a 2742 61277 a
-SDict begin 18.2 H.A end
- 2742 61277 a 2742 61277 a
-SDict begin [ /View [/XYZ H.V] /Dest (1368) cvn H.B /DEST pdfmark end
-
-2742 61277 a FP(find)p FU(\(1\))362 b(command)f(allo)-39
-b(ws)362 b(the)g(user)g(to)g(search)h(the)f(\002lesystem)f(with)g(a)i
-(rich)f(collection)-30 63292 y(of)394 b(search)g(predicates.)g(Users)f
-(may)h(specify)f(a)h(search)g(with)f(\002lename)h(wildcards,)f(ranges)h
-(of)-30 65306 y(modi\002cation)377 b(or)h(creation)g(times,)g(or)g
-(other)g(adv)-39 b(anced)378 b(properties.)g(F)-23 b(or)378
-b(e)-23 b(xample,)378 b(to)g(search)-30 67321 y(for)388
-b(the)f(def)-15 b(ault)9121 67321 y
-SDict begin H.S end
- 9121 67321 a 9121
-67321 a
-SDict begin 18.2 H.A end
- 9121 67321 a 9121 67321 a
-SDict begin [ /View [/XYZ H.V] /Dest (1369) cvn H.B /DEST pdfmark end
- 9121 67321 a FQ(xinitrc)383
-b FU(\002le)k(on)g(the)h(system,)f(the)g(follo)-39 b(wing)386
-b(command)h(could)g(be)g(used.)p Black 50226 73792 a
-FR(45)p Black eop end
-%%Page: 46 68
-TeXDict begin 46 67 bop -8000 -8000 a
-SDict begin /product where{pop product(Distiller)search{pop pop pop
-version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
-closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
-grestore}if}{pop}ifelse}{pop}ifelse}if end
- -8000 -8000 a Black
-0 TeXcolorgray -30 -1237 a
-SDict begin H.S end
- -30 -1237 a 0 TeXcolorgray
-0 TeXcolorgray -30 -1237 a
-SDict begin H.R end
- -30 -1237 a -30 -1237 a
-SDict begin [ /View [/XYZ H.V] /Dest (page.46) cvn H.B /DEST pdfmark
-end
- -30
--1237 a Black -399 x FR(Chapter)387 b(4)g(System)g(Con\002gur)-23
-b(ation)p Black -30 2504 a
-SDict begin H.S end
- -30 2504 a -30 2504 a
-SDict begin 14.56 H.A end
- -30
-2504 a -30 2504 a
-SDict begin [ /View [/XYZ H.V] /Dest (1370) cvn H.B /DEST pdfmark end
- -30 2504 a -30 2504 a
-SDict begin H.S end
- -30 2504 a -30
-2504 a
-SDict begin 14.56 H.A end
- -30 2504 a -30 2504 a
-SDict begin [ /View [/XYZ H.V] /Dest (1371) cvn H.B /DEST pdfmark end
- -30 2504 a 1107 x FJ(\045)2053
-3611 y
-SDict begin H.S end
- 2053 3611 a 2053 3611 a
-SDict begin 14.56 H.A end
- 2053 3611 a 2053 3611
-a
-SDict begin [ /View [/XYZ H.V] /Dest (1372) cvn H.B /DEST pdfmark end
- 2053 3611 a FH(find)743 b(/)h(-name)f(xinitrc)-30 5223
-y FP(/var/X11R6/lib/xinit/xinitrc)-30 6871 y
-SDict begin H.S end
- -30 6871
-a -30 6871 a
-SDict begin 18.2 H.A end
- -30 6871 a -30 6871 a
-SDict begin [ /View [/XYZ H.V] /Dest (1373) cvn H.B /DEST pdfmark end
- -30 6871 a -30 6871
-a
-SDict begin H.S end
- -30 6871 a -30 6871 a
-SDict begin 18.2 H.A end
- -30 6871 a -30 6871 a
-SDict begin [ /View [/XYZ H.V] /Dest (1374) cvn H.B /DEST pdfmark end
- -30 6871
-a 1916 x FP(find)479 b FU(will)g(tak)-15 b(e)478 b(a)i(while)f(to)g
-(run,)g(since)g(it)g(has)g(to)g(tra)-31 b(v)-23 b(erse)479
-b(the)h(entire)f(root)g(directory)f(tree.)-30 10802 y(And)436
-b(if)g(this)g(command)g(is)g(run)g(as)g(a)h(normal)f(user)-62
-b(,)436 b(there)h(will)e(be)i(permission)e(denied)h(error)-30
-12817 y(messages)502 b(for)g(directories)f(that)h(only)21763
-12817 y
-SDict begin H.S end
- 21763 12817 a 21763 12817 a
-SDict begin 18.2 H.A end
- 21763 12817 a 21763
-12817 a
-SDict begin [ /View [/XYZ H.V] /Dest (1375) cvn H.B /DEST pdfmark end
- 21763 12817 a FP(root)g FU(can)g(see.)g(But)33504
-12817 y
-SDict begin H.S end
- 33504 12817 a 33504 12817 a
-SDict begin 18.2 H.A end
- 33504 12817 a 33504
-12817 a
-SDict begin [ /View [/XYZ H.V] /Dest (1376) cvn H.B /DEST pdfmark end
- 33504 12817 a FP(find)g FU(found)f(our)h(\002le,)h(so)f(that')
--85 b(s)-30 14831 y(good.)387 b(If)h(only)f(it)g(could)g(be)g(a)h(bit)f
-(f)-15 b(aster)-85 b(...)-30 15942 y
-SDict begin H.S end
- -30 15942 a -30
-15942 a
-SDict begin 18.2 H.A end
- -30 15942 a -30 15942 a
-SDict begin [ /View [/XYZ H.V] /Dest (1377) cvn H.B /DEST pdfmark end
- -30 15942 a 4778 x Fp(slocate)-30
-20739 y
-SDict begin H.S end
- -30 20739 a -30 20739 a
-SDict begin 18.2 H.A end
- -30 20739 a -30 20739
-a
-SDict begin [ /View [/XYZ H.V] /Dest (1380) cvn H.B /DEST pdfmark end
- -30 20739 a -30 21515 a
-SDict begin H.S end
- -30 21515 a -30 21515 a
-SDict begin 18.2 H.A end
- -30
-21515 a -30 21515 a
-SDict begin [ /View [/XYZ H.V] /Dest (1382) cvn H.B /DEST pdfmark end
- -30 21515 a 1995 x FU(The)2740 23510
-y
-SDict begin H.S end
- 2740 23510 a 2740 23510 a
-SDict begin 18.2 H.A end
- 2740 23510 a 2740 23510 a
-SDict begin [ /View [/XYZ H.V] /Dest (1383) cvn H.B /DEST pdfmark end
-
-2740 23510 a FP(slocate)p FU(\(1\))359 b(command)g(searches)h(the)g
-(entire)f(\002lesystem,)g(just)h(lik)-15 b(e)359 b(the)g(\002nd)h
-(command)-30 25524 y(can)346 b(do,)f(b)-31 b(ut)346 b(it)f(searches)g
-(a)h(database)f(instead)g(of)h(the)f(actual)g(\002lesystem.)g(The)h
-(database)f(is)g(set)-30 27539 y(to)358 b(automatically)f(update)h(e)
--39 b(v)-23 b(ery)358 b(morning,)g(so)g(you)f(ha)-31
-b(v)-23 b(e)358 b(a)h(some)-39 b(what)357 b(fresh)h(listing)f(of)h
-(\002les)-30 29554 y(on)467 b(your)h(system.)f(Y)-170
-b(ou)467 b(can)g(manually)g(run)24809 29554 y
-SDict begin H.S end
- 24809 29554
-a 24809 29554 a
-SDict begin 18.2 H.A end
- 24809 29554 a 24809 29554 a
-SDict begin [ /View [/XYZ H.V] /Dest (1384) cvn H.B /DEST pdfmark end
- 24809 29554
-a FP(updatedb)p FU(\(1\))g(to)g(update)h(the)f(slocate)g(database)-30
-31568 y(\(before)522 b(running)10309 31568 y
-SDict begin H.S end
- 10309 31568
-a 10309 31568 a
-SDict begin 18.2 H.A end
- 10309 31568 a 10309 31568 a
-SDict begin [ /View [/XYZ H.V] /Dest (1385) cvn H.B /DEST pdfmark end
- 10309 31568
-a FP(updatedb)e FU(by)i(hand,)g(you)f(must)g(\002rst)32090
-31568 y
-SDict begin H.S end
- 32090 31568 a 32090 31568 a
-SDict begin 18.2 H.A end
- 32090 31568 a 32090
-31568 a
-SDict begin [ /View [/XYZ H.V] /Dest (1386) cvn H.B /DEST pdfmark end
- 32090 31568 a FP(su)g FU(to)h(the)38242 31568
-y
-SDict begin H.S end
- 38242 31568 a 38242 31568 a
-SDict begin 18.2 H.A end
- 38242 31568 a 38242 31568
-a
-SDict begin [ /View [/XYZ H.V] /Dest (1387) cvn H.B /DEST pdfmark end
- 38242 31568 a FP(root)f FU(user\).)h(Here')-85 b(s)522
-b(an)-30 33583 y(e)-23 b(xample)387 b(of)7263 33583 y
-SDict begin H.S end
-
-7263 33583 a 7263 33583 a
-SDict begin 18.2 H.A end
- 7263 33583 a 7263 33583 a
-SDict begin [ /View [/XYZ H.V] /Dest (1388) cvn H.B /DEST pdfmark end
- 7263
-33583 a FP(slocate)g FU(in)g(action:)-30 35468 y
-SDict begin H.S end
- -30
-35468 a -30 35468 a
-SDict begin 14.56 H.A end
- -30 35468 a -30 35468 a
-SDict begin [ /View [/XYZ H.V] /Dest (1389) cvn H.B /DEST pdfmark end
- -30 35468
-a -30 35468 a
-SDict begin H.S end
- -30 35468 a -30 35468 a
-SDict begin 14.56 H.A end
- -30 35468 a -30
-35468 a
-SDict begin [ /View [/XYZ H.V] /Dest (1390) cvn H.B /DEST pdfmark end
- -30 35468 a 1277 x FJ(\045)2053 36745 y
-SDict begin H.S end
- 2053
-36745 a 2053 36745 a
-SDict begin 14.56 H.A end
- 2053 36745 a 2053 36745 a
-SDict begin [ /View [/XYZ H.V] /Dest (1391) cvn H.B /DEST pdfmark end
- 2053 36745
-a FH(slocate)743 b(xinitrc)2231 b FP(#)744 b(we)f(don't)g(have)h(to)f
-(go)h(to)g(the)f(root)-30 38356 y(/var/X11R6/lib/xinit/xinitrc)-30
-39968 y(/var/X11R6/lib/xinit/xinitrc.fvwm2)-30 41580
-y(/var/X11R6/lib/xinit/xinitrc.openwin)-30 43192 y
-(/var/X11R6/lib/xinit/xinitrc.twm)-30 44839 y
-SDict begin H.S end
- -30 44839
-a -30 44839 a
-SDict begin 18.2 H.A end
- -30 44839 a -30 44839 a
-SDict begin [ /View [/XYZ H.V] /Dest (1392) cvn H.B /DEST pdfmark end
- -30 44839 a 1917
-x FU(W)-124 b(e)333 b(got)g(more)g(than)g(what)g(we)g(were)h(looking)e
-(for)-62 b(,)334 b(and)f(quickly)f(too.)i(W)-62 b(ith)332
-b(these)h(commands,)-30 48771 y(you)387 b(should)g(be)g(able)g(to)h
-(\002nd)e(whate)-39 b(v)-23 b(er)388 b(you')-77 b(re)386
-b(looking)h(for)g(on)g(your)g(Linux)g(system.)-30 51431
-y
-SDict begin H.S end
- -30 51431 a -30 51431 a
-SDict begin 18.2 H.A end
- -30 51431 a -30 51431 a
-SDict begin [ /View [/XYZ H.V] /Dest (SYSTEM-CONFIGURATION-RCD) cvn
-H.B /DEST pdfmark end
- -30
-51431 a 5181 x FG(The)518 b FA(/etc/rc)n(.)l(d)487 b
-FG(Director)19 b(y)-30 57927 y
-SDict begin H.S end
- -30 57927 a -30 57927
-a
-SDict begin 18.2 H.A end
- -30 57927 a -30 57927 a
-SDict begin [ /View [/XYZ H.V] /Dest (1396) cvn H.B /DEST pdfmark end
- -30 57927 a 1630 x FU(The)479
-b(system)f(initialization)f(\002les)h(are)h(stored)f(in)h(the)29713
-59557 y
-SDict begin H.S end
- 29713 59557 a 29713 59557 a
-SDict begin 18.2 H.A end
- 29713 59557 a 29713
-59557 a
-SDict begin [ /View [/XYZ H.V] /Dest (1397) cvn H.B /DEST pdfmark end
- 29713 59557 a FQ(/etc/rc.d)473 b FU(directory)-101
-b(.)479 b(Slackw)-15 b(are)478 b(uses)-30 61572 y(the)465
-b(BSD-style)e(layout)i(for)g(its)f(initialization)f(\002les)i(as)f
-(opposed)h(to)f(System)g(V)h(init)f(scripts,)-30 63586
-y(which)390 b(tend)g(to)g(mak)-15 b(e)390 b(con\002guration)f(changes)h
-(much)g(more)g(dif)-39 b(\002cult)390 b(without)f(using)h(a)g(pro-)-30
-65601 y(gram)493 b(speci\002cally)g(designed)g(for)g(that)g(purpose.)h
-(In)f(BSD-init)f(scripts,)40913 65601 y
-SDict begin H.S end
- 40913 65601 a
-40913 65601 a
-SDict begin 18.2 H.A end
- 40913 65601 a 40913 65601 a
-SDict begin [ /View [/XYZ H.V] /Dest (1398) cvn H.B /DEST pdfmark end
- 40913 65601
-a 41406 65601 a
-SDict begin H.S end
- 41406 65601 a 41406 65601 a
-SDict begin 18.2 H.A end
- 41406 65601
-a 41406 65601 a
-SDict begin [ /View [/XYZ H.V] /Dest (1400) cvn H.B /DEST pdfmark end
- 41406 65601 a 494 w FU(each)h(runle)-39
-b(v)-23 b(el)493 b(is)-30 67616 y(gi)-39 b(v)-23 b(en)547
-b(a)h(single)f(rc)h(\002le.)f(In)h(System)f(V)-200 b(,)548
-b(each)f(runle)-39 b(v)-23 b(el)548 b(is)f(gi)-39 b(v)-23
-b(en)547 b(its)g(o)-39 b(wn)548 b(directory)-101 b(,)548
-b(each)p Black -30 73792 a FR(46)p Black eop end
-%%Page: 47 69
-TeXDict begin 47 68 bop -8000 -8000 a
-SDict begin /product where{pop product(Distiller)search{pop pop pop
-version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
-closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
-grestore}if}{pop}ifelse}{pop}ifelse}if end
- -8000 -8000 a Black
-0 TeXcolorgray -30 -1237 a
-SDict begin H.S end
- -30 -1237 a 0 TeXcolorgray
-0 TeXcolorgray -30 -1237 a
-SDict begin H.R end
- -30 -1237 a -30 -1237 a
-SDict begin [ /View [/XYZ H.V] /Dest (page.47) cvn H.B /DEST pdfmark
-end
- -30
--1237 a Black 31781 -1636 a FR(Chapter)387 b(4)g(System)g(Con\002gur)
--23 b(ation)p Black -30 3611 a FU(containing)358 b(numerous)f(init)h
-(scripts.)g(This)g(pro)-23 b(vides)358 b(an)g(or)-28
-b(g)-8 b(anized)359 b(structure)f(that)g(is)g(easy)g(to)-30
-5626 y(maintain.)-30 6416 y
-SDict begin H.S end
- -30 6416 a -30 6416 a
-SDict begin 18.2 H.A end
- -30
-6416 a -30 6416 a
-SDict begin [ /View [/XYZ H.V] /Dest (1402) cvn H.B /DEST pdfmark end
- -30 6416 a 1999 x FU(There)594 b(are)g(se)-39
-b(v)-23 b(eral)593 b(cate)-23 b(gories)593 b(of)h(initialization)e
-(\002les.)h(These)h(are)g(system)f(startup,)g(run-)-30
-10430 y(le)-39 b(v)-23 b(els,)509 b(netw)-15 b(ork)508
-b(initialization,)f(and)i(System)e(V)i(compatibility)-101
-b(.)507 b(As)i(per)g(tradition,)48098 10430 y
-SDict begin H.S end
- 48098 10430
-a 48098 10430 a
-SDict begin 18.2 H.A end
- 48098 10430 a 48098 10430 a
-SDict begin [ /View [/XYZ H.V] /Dest (1403) cvn H.B /DEST pdfmark end
- 48098 10430
-a 509 w FU(we')-15 b(ll)-30 12445 y(lump)387 b(e)-39
-b(v)-23 b(erything)386 b(else)i(into)e(another)i(cate)-23
-b(gory)-101 b(.)-30 12780 y
-SDict begin H.S end
- -30 12780 a -30 12780 a
-SDict begin 18.2 H.A end
- -30
-12780 a -30 12780 a
-SDict begin [ /View [/XYZ H.V] /Dest (1405) cvn H.B /DEST pdfmark end
- -30 12780 a 4391 x FE(System)429
-b(Star)31 b(tup)-30 18267 y
-SDict begin H.S end
- -30 18267 a -30 18267 a
-SDict begin 18.2 H.A end
- -30
-18267 a -30 18267 a
-SDict begin [ /View [/XYZ H.V] /Dest (1407) cvn H.B /DEST pdfmark end
- -30 18267 a 1694 x FU(The)425 b(\002rst)f(program)g
-(to)g(run)g(under)h(Slackw)-15 b(are)423 b(besides)h(the)h(Linux)f(k)
--15 b(ernel)424 b(is)43426 19961 y
-SDict begin H.S end
- 43426 19961 a 43426
-19961 a
-SDict begin 18.2 H.A end
- 43426 19961 a 43426 19961 a
-SDict begin [ /View [/XYZ H.V] /Dest (1408) cvn H.B /DEST pdfmark end
- 43426 19961 a FP(init)p
-FU(\(8\).)g(This)-30 21976 y(program)593 b(reads)9678
-21976 y
-SDict begin H.S end
- 9678 21976 a 9678 21976 a
-SDict begin 18.2 H.A end
- 9678 21976 a 9678 21976
-a
-SDict begin [ /View [/XYZ H.V] /Dest (1409) cvn H.B /DEST pdfmark end
- 9678 21976 a 594 w FU(the)12759 21976 y
-SDict begin H.S end
- 12759 21976
-a 12759 21976 a
-SDict begin 18.2 H.A end
- 12759 21976 a 12759 21976 a
-SDict begin [ /View [/XYZ H.V] /Dest (1411) cvn H.B /DEST pdfmark end
- 12759 21976
-a FQ(/etc/inittab)p FU(\(5\))586 b(\002le)594 b(to)f(see)h(ho)-39
-b(w)593 b(to)h(run)f(the)h(system.)f(It)h(runs)f(the)-30
-23990 y
-SDict begin H.S end
- -30 23990 a -30 23990 a
-SDict begin 18.2 H.A end
- -30 23990 a -30 23990
-a
-SDict begin [ /View [/XYZ H.V] /Dest (1412) cvn H.B /DEST pdfmark end
- -30 23990 a FQ(/etc/rc.d/rc.S)439 b FU(script)447 b(to)g(prepare)g
-(the)h(system)e(before)i(going)f(into)g(your)g(desired)g(runle)-39
-b(v)-23 b(el.)-30 26005 y(The)2680 26005 y
-SDict begin H.S end
- 2680 26005
-a 2680 26005 a
-SDict begin 18.2 H.A end
- 2680 26005 a 2680 26005 a
-SDict begin [ /View [/XYZ H.V] /Dest (1413) cvn H.B /DEST pdfmark end
- 2680 26005 a
-FQ(rc.S)298 b FU(\002le)i(enables)g(your)g(virtual)f(memory)-101
-b(,)301 b(mounts)e(your)h(\002lesystems,)f(cleans)h(up)g(certain)-30
-28020 y(log)481 b(directories,)g(initializes)f(Plug)h(and)g(Play)g(de)
--39 b(vices,)481 b(loads)g(k)-15 b(ernel)481 b(modules,)g(con\002gures)
--30 30034 y(PCMCIA)573 b(de)-39 b(vices,)574 b(sets)g(up)g(serial)g
-(ports,)g(and)g(runs)g(System)f(V)h(init)g(scripts)g(\(if)g(found\).)
--30 32049 y(Ob)-23 b(viously)6815 32049 y
-SDict begin H.S end
- 6815 32049
-a 6815 32049 a
-SDict begin 18.2 H.A end
- 6815 32049 a 6815 32049 a
-SDict begin [ /View [/XYZ H.V] /Dest (1414) cvn H.B /DEST pdfmark end
- 6815 32049 a
-FQ(rc.S)407 b FU(has)j(a)g(lot)g(on)g(its)f(plate,)h(b)-31
-b(ut)410 b(here)g(are)h(some)e(scripts)h(in)40488 32049
-y
-SDict begin H.S end
- 40488 32049 a 40488 32049 a
-SDict begin 18.2 H.A end
- 40488 32049 a 40488 32049
-a
-SDict begin [ /View [/XYZ H.V] /Dest (1415) cvn H.B /DEST pdfmark end
- 40488 32049 a FQ(/etc/rc.d)405 b FU(that)49270 32049
-y
-SDict begin H.S end
- 49270 32049 a 49270 32049 a
-SDict begin 18.2 H.A end
- 49270 32049 a 49270 32049
-a
-SDict begin [ /View [/XYZ H.V] /Dest (1416) cvn H.B /DEST pdfmark end
- 49270 32049 a FQ(rc.S)-30 34064 y FU(will)387 b(call)g(on)g(to)g
-(complete)g(its)g(w)-15 b(ork:)-30 34399 y
-SDict begin H.S end
- -30 34399
-a -30 34399 a
-SDict begin 18.2 H.A end
- -30 34399 a -30 34399 a
-SDict begin [ /View [/XYZ H.V] /Dest (1417) cvn H.B /DEST pdfmark end
- -30 34399 a -30
-36724 a
-SDict begin H.S end
- -30 36724 a -30 36724 a
-SDict begin 18.2 H.A end
- -30 36724 a -30 36724
-a
-SDict begin [ /View [/XYZ H.V] /Dest (1419) cvn H.B /DEST pdfmark end
- -30 36724 a -30 36724 a
-SDict begin H.S end
- -30 36724 a -30 36724 a
-SDict begin 18.2 H.A end
- -30
-36724 a -30 36724 a
-SDict begin [ /View [/XYZ H.V] /Dest (1420) cvn H.B /DEST pdfmark end
- -30 36724 a 1679 x FQ(rc.S)-30 38403
-y
-SDict begin H.S end
- -30 38403 a -30 38403 a
-SDict begin 18.2 H.A end
- -30 38403 a -30 38403 a
-SDict begin [ /View [/XYZ H.V] /Dest (1421) cvn H.B /DEST pdfmark end
- -30
-38403 a Black Black 3070 41192 a
-SDict begin H.S end
- 3070 41192 a 3070 41192
-a
-SDict begin 18.2 H.A end
- 3070 41192 a 3070 41192 a
-SDict begin [ /View [/XYZ H.V] /Dest (1422) cvn H.B /DEST pdfmark end
- 3070 41192 a FU(This)386
-b(is)i(the)f(actual)g(system)f(initialization)g(script.)-30
-43078 y
-SDict begin H.S end
- -30 43078 a -30 43078 a
-SDict begin 18.2 H.A end
- -30 43078 a -30 43078
-a
-SDict begin [ /View [/XYZ H.V] /Dest (1424) cvn H.B /DEST pdfmark end
- -30 43078 a -30 43078 a
-SDict begin H.S end
- -30 43078 a -30 43078 a
-SDict begin 18.2 H.A end
- -30
-43078 a -30 43078 a
-SDict begin [ /View [/XYZ H.V] /Dest (1425) cvn H.B /DEST pdfmark end
- -30 43078 a 1679 x FQ(rc.modules)-30
-44757 y
-SDict begin H.S end
- -30 44757 a -30 44757 a
-SDict begin 18.2 H.A end
- -30 44757 a -30 44757
-a
-SDict begin [ /View [/XYZ H.V] /Dest (1426) cvn H.B /DEST pdfmark end
- -30 44757 a Black Black 3070 47546 a
-SDict begin H.S end
- 3070 47546 a 3070
-47546 a
-SDict begin 18.2 H.A end
- 3070 47546 a 3070 47546 a
-SDict begin [ /View [/XYZ H.V] /Dest (1427) cvn H.B /DEST pdfmark end
- 3070 47546 a FU(Loads)436
-b(k)-15 b(ernel)436 b(modules.)g(Things)h(lik)-15 b(e)435
-b(your)i(netw)-15 b(ork)436 b(card,)h(PPP)f(support,)g(and)h(other)3070
-49561 y(things)386 b(are)i(loaded)f(here.)h(If)f(this)g(script)g
-(\002nds)28766 49561 y
-SDict begin H.S end
- 28766 49561 a 28766 49561 a
-SDict begin 18.2 H.A end
- 28766
-49561 a 28766 49561 a
-SDict begin [ /View [/XYZ H.V] /Dest (1428) cvn H.B /DEST pdfmark end
- 28766 49561 a FQ(rc.netdevice)p
-FU(,)380 b(it)387 b(will)g(run)g(that)g(as)g(well.)51392
-49561 y
-SDict begin H.S end
- 51392 49561 a 51392 49561 a
-SDict begin 18.2 H.A end
- 51392 49561 a 51392
-49561 a
-SDict begin [ /View [/XYZ H.V] /Dest (1429) cvn H.B /DEST pdfmark end
- 51392 49561 a -30 51446 a
-SDict begin H.S end
- -30 51446 a -30 51446
-a
-SDict begin 18.2 H.A end
- -30 51446 a -30 51446 a
-SDict begin [ /View [/XYZ H.V] /Dest (1432) cvn H.B /DEST pdfmark end
- -30 51446 a -30 51446 a
-SDict begin H.S end
- -30
-51446 a -30 51446 a
-SDict begin 18.2 H.A end
- -30 51446 a -30 51446 a
-SDict begin [ /View [/XYZ H.V] /Dest (1433) cvn H.B /DEST pdfmark end
- -30 51446
-a 1679 x FQ(rc.pcmcia)-30 53395 y
-SDict begin H.S end
- -30 53395 a -30 53395
-a
-SDict begin 18.2 H.A end
- -30 53395 a -30 53395 a
-SDict begin [ /View [/XYZ H.V] /Dest (1434) cvn H.B /DEST pdfmark end
- -30 53395 a Black Black 3070
-55915 a
-SDict begin H.S end
- 3070 55915 a 3070 55915 a
-SDict begin 18.2 H.A end
- 3070 55915 a 3070 55915
-a
-SDict begin [ /View [/XYZ H.V] /Dest (1435) cvn H.B /DEST pdfmark end
- 3070 55915 a FU(Probes)473 b(for)i(and)f(con\002gures)g(an)-23
-b(y)474 b(PCMCIA)f(de)-39 b(vices)474 b(that)g(you)g(might)g(ha)-31
-b(v)-23 b(e)474 b(on)g(your)3070 57930 y(system.)540
-b(This)g(is)h(most)f(useful)g(for)h(laptop)f(users,)h(who)g(probably)f
-(ha)-31 b(v)-23 b(e)540 b(a)h(PCMCIA)3070 59944 y(modem)386
-b(or)i(netw)-15 b(ork)386 b(card.)18677 59944 y
-SDict begin H.S end
- 18677
-59944 a 18677 59944 a
-SDict begin 18.2 H.A end
- 18677 59944 a 18677 59944 a
-SDict begin [ /View [/XYZ H.V] /Dest (1436) cvn H.B /DEST pdfmark end
- 18677
-59944 a -30 61510 a
-SDict begin H.S end
- -30 61510 a -30 61510 a
-SDict begin 18.2 H.A end
- -30 61510
-a -30 61510 a
-SDict begin [ /View [/XYZ H.V] /Dest (1439) cvn H.B /DEST pdfmark end
- -30 61510 a -30 61510 a
-SDict begin H.S end
- -30 61510 a -30
-61510 a
-SDict begin 18.2 H.A end
- -30 61510 a -30 61510 a
-SDict begin [ /View [/XYZ H.V] /Dest (1440) cvn H.B /DEST pdfmark end
- -30 61510 a 1999 x FQ(rc.serial)-30
-63509 y
-SDict begin H.S end
- -30 63509 a -30 63509 a
-SDict begin 18.2 H.A end
- -30 63509 a -30 63509
-a
-SDict begin [ /View [/XYZ H.V] /Dest (1441) cvn H.B /DEST pdfmark end
- -30 63509 a Black Black 3070 66298 a
-SDict begin H.S end
- 3070 66298 a 3070
-66298 a
-SDict begin 18.2 H.A end
- 3070 66298 a 3070 66298 a
-SDict begin [ /View [/XYZ H.V] /Dest (1442) cvn H.B /DEST pdfmark end
- 3070 66298 a FU(Con\002gures)g(your)h
-(serial)g(ports)g(by)h(running)f(the)g(appropriate)37591
-66298 y
-SDict begin H.S end
- 37591 66298 a 37591 66298 a
-SDict begin 18.2 H.A end
- 37591 66298 a 37591
-66298 a
-SDict begin [ /View [/XYZ H.V] /Dest (1443) cvn H.B /DEST pdfmark end
- 37591 66298 a FP(setserial)f FU(commands.)3070
-68313 y
-SDict begin H.S end
- 3070 68313 a 3070 68313 a
-SDict begin 18.2 H.A end
- 3070 68313 a 3070 68313
-a
-SDict begin [ /View [/XYZ H.V] /Dest (1444) cvn H.B /DEST pdfmark end
- 3070 68313 a Black 50169 73792 a FR(47)p Black eop
-end
-%%Page: 48 70
-TeXDict begin 48 69 bop -8000 -8000 a
-SDict begin /product where{pop product(Distiller)search{pop pop pop
-version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
-closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
-grestore}if}{pop}ifelse}{pop}ifelse}if end
- -8000 -8000 a Black
-0 TeXcolorgray -30 -1237 a
-SDict begin H.S end
- -30 -1237 a 0 TeXcolorgray
-0 TeXcolorgray -30 -1237 a
-SDict begin H.R end
- -30 -1237 a -30 -1237 a
-SDict begin [ /View [/XYZ H.V] /Dest (page.48) cvn H.B /DEST pdfmark
-end
- -30
--1237 a Black -399 x FR(Chapter)387 b(4)g(System)g(Con\002gur)-23
-b(ation)p Black -30 2504 a
-SDict begin H.S end
- -30 2504 a -30 2504 a
-SDict begin 18.2 H.A end
- -30
-2504 a -30 2504 a
-SDict begin [ /View [/XYZ H.V] /Dest (1447) cvn H.B /DEST pdfmark end
- -30 2504 a -30 2504 a
-SDict begin H.S end
- -30 2504 a -30
-2504 a
-SDict begin 18.2 H.A end
- -30 2504 a -30 2504 a
-SDict begin [ /View [/XYZ H.V] /Dest (1448) cvn H.B /DEST pdfmark end
- -30 2504 a 1107 x FQ(rc.sysvinit)-30
-3880 y
-SDict begin H.S end
- -30 3880 a -30 3880 a
-SDict begin 18.2 H.A end
- -30 3880 a -30 3880 a
-SDict begin [ /View [/XYZ H.V] /Dest (1449) cvn H.B /DEST pdfmark end
- -30
-3880 a Black Black 3070 6401 a
-SDict begin H.S end
- 3070 6401 a 3070 6401
-a
-SDict begin 18.2 H.A end
- 3070 6401 a 3070 6401 a
-SDict begin [ /View [/XYZ H.V] /Dest (1450) cvn H.B /DEST pdfmark end
- 3070 6401 a FU(Looks)417 b(for)h(System)f(V)h
-(init)g(scripts)f(for)h(the)g(desired)g(runle)-39 b(v)-23
-b(el)417 b(and)h(runs)g(them.)g(This)f(is)3070 8415 y(discussed)386
-b(in)h(more)g(detail)g(belo)-39 b(w)-101 b(.)22816 8415
-y
-SDict begin H.S end
- 22816 8415 a 22816 8415 a
-SDict begin 18.2 H.A end
- 22816 8415 a 22816 8415 a
-SDict begin [ /View [/XYZ H.V] /Dest (1451) cvn H.B /DEST pdfmark end
-
-22816 8415 a -30 9206 a
-SDict begin H.S end
- -30 9206 a -30 9206 a
-SDict begin 18.2 H.A end
- -30 9206
-a -30 9206 a
-SDict begin [ /View [/XYZ H.V] /Dest (1453) cvn H.B /DEST pdfmark end
- -30 9206 a 5098 x FE(Runle)-23 b(vel)429
-b(Initialization)g(Scripts)-30 15400 y
-SDict begin H.S end
- -30 15400 a -30
-15400 a
-SDict begin 18.2 H.A end
- -30 15400 a -30 15400 a
-SDict begin [ /View [/XYZ H.V] /Dest (1455) cvn H.B /DEST pdfmark end
- -30 15400 a 1694 x FU(After)400
-b(system)g(initialization)e(is)i(complete,)24484 17094
-y
-SDict begin H.S end
- 24484 17094 a 24484 17094 a
-SDict begin 18.2 H.A end
- 24484 17094 a 24484 17094
-a
-SDict begin [ /View [/XYZ H.V] /Dest (1456) cvn H.B /DEST pdfmark end
- 24484 17094 a 24885 17094 a
-SDict begin H.S end
- 24885 17094 a 24885 17094
-a
-SDict begin 18.2 H.A end
- 24885 17094 a 24885 17094 a
-SDict begin [ /View [/XYZ H.V] /Dest (1458) cvn H.B /DEST pdfmark end
- 24885 17094 a 25285 17094
-a
-SDict begin H.S end
- 25285 17094 a 25285 17094 a
-SDict begin 18.2 H.A end
- 25285 17094 a 25285 17094
-a
-SDict begin [ /View [/XYZ H.V] /Dest (1460) cvn H.B /DEST pdfmark end
- 25285 17094 a FP(init)g FU(mo)-23 b(v)g(es)399 b(on)h(to)g(runle)-39
-b(v)-23 b(el)400 b(initialization.)f(A)-30 19109 y(runle)-39
-b(v)-23 b(el)394 b(describes)h(the)f(state)h(that)f(your)g(machine)h
-(will)f(be)h(running)f(in.)g(Sound)g(redundant?)-30 21123
-y(W)-124 b(ell,)361 b(the)g(runle)-39 b(v)-23 b(el)360
-b(tells)14183 21123 y
-SDict begin H.S end
- 14183 21123 a 14183 21123 a
-SDict begin 18.2 H.A end
- 14183
-21123 a 14183 21123 a
-SDict begin [ /View [/XYZ H.V] /Dest (1461) cvn H.B /DEST pdfmark end
- 14183 21123 a FP(init)g FU(if)h(you)f(will)g(be)h
-(accepting)f(multiuser)g(logins)g(or)h(just)f(a)h(single)-30
-23138 y(user)-62 b(,)570 b(whether)g(or)f(not)h(you)f(w)-15
-b(ant)569 b(netw)-15 b(ork)569 b(services,)h(and)f(if)h(you)g(will)f
-(be)g(using)h(the)50087 23138 y
-SDict begin H.S end
- 50087 23138 a 50087 23138
-a
-SDict begin 18.2 H.A end
- 50087 23138 a 50087 23138 a
-SDict begin [ /View [/XYZ H.V] /Dest (1462) cvn H.B /DEST pdfmark end
- 50087 23138 a 570 w FU(X)-30
-25153 y(W)-62 b(indo)-39 b(w)434 b(System)f(or)12364
-25153 y
-SDict begin H.S end
- 12364 25153 a 12364 25153 a
-SDict begin 18.2 H.A end
- 12364 25153 a 12364
-25153 a
-SDict begin [ /View [/XYZ H.V] /Dest (1464) cvn H.B /DEST pdfmark end
- 12364 25153 a FP(agetty)p FU(\(8\))g(to)h(handle)g(logins.)g
-(The)g(\002les)f(belo)-39 b(w)434 b(de\002ne)g(the)g(dif)-39
-b(ferent)-30 27167 y(runle)g(v)-23 b(els)387 b(in)g(Slackw)-15
-b(are)387 b(Linux.)-30 27182 y
-SDict begin H.S end
- -30 27182 a -30 27182
-a
-SDict begin 18.2 H.A end
- -30 27182 a -30 27182 a
-SDict begin [ /View [/XYZ H.V] /Dest (1465) cvn H.B /DEST pdfmark end
- -30 27182 a -30 29507 a
-SDict begin H.S end
- -30
-29507 a -30 29507 a
-SDict begin 18.2 H.A end
- -30 29507 a -30 29507 a
-SDict begin [ /View [/XYZ H.V] /Dest (1467) cvn H.B /DEST pdfmark end
- -30 29507
-a -30 29507 a
-SDict begin H.S end
- -30 29507 a -30 29507 a
-SDict begin 18.2 H.A end
- -30 29507 a -30
-29507 a
-SDict begin [ /View [/XYZ H.V] /Dest (1468) cvn H.B /DEST pdfmark end
- -30 29507 a 2000 x FQ(rc.0)-30 31507 y
-SDict begin H.S end
- -30 31507
-a -30 31507 a
-SDict begin 18.2 H.A end
- -30 31507 a -30 31507 a
-SDict begin [ /View [/XYZ H.V] /Dest (1469) cvn H.B /DEST pdfmark end
- -30 31507 a Black
-Black 3070 34296 a
-SDict begin H.S end
- 3070 34296 a 3070 34296 a
-SDict begin 18.2 H.A end
- 3070 34296
-a 3070 34296 a
-SDict begin [ /View [/XYZ H.V] /Dest (1470) cvn H.B /DEST pdfmark end
- 3070 34296 a FU(Halt)g(the)g(system)f(\(runle)-39
-b(v)-23 b(el)387 b(0\).)h(By)f(def)-15 b(ault,)387 b(this)g(is)g
-(symlink)-15 b(ed)386 b(to)40815 34296 y
-SDict begin H.S end
- 40815 34296
-a 40815 34296 a
-SDict begin 18.2 H.A end
- 40815 34296 a 40815 34296 a
-SDict begin [ /View [/XYZ H.V] /Dest (1471) cvn H.B /DEST pdfmark end
- 40815 34296
-a FQ(rc.6)p FU(.)-30 36181 y
-SDict begin H.S end
- -30 36181 a -30 36181 a
-SDict begin 18.2 H.A end
-
--30 36181 a -30 36181 a
-SDict begin [ /View [/XYZ H.V] /Dest (1473) cvn H.B /DEST pdfmark end
- -30 36181 a -30 36181 a
-SDict begin H.S end
- -30 36181
-a -30 36181 a
-SDict begin 18.2 H.A end
- -30 36181 a -30 36181 a
-SDict begin [ /View [/XYZ H.V] /Dest (1474) cvn H.B /DEST pdfmark end
- -30 36181 a 1679
-x FQ(rc.4)-30 37860 y
-SDict begin H.S end
- -30 37860 a -30 37860 a
-SDict begin 18.2 H.A end
- -30 37860
-a -30 37860 a
-SDict begin [ /View [/XYZ H.V] /Dest (1475) cvn H.B /DEST pdfmark end
- -30 37860 a Black Black 3070 40650 a
-SDict begin H.S end
- 3070
-40650 a 3070 40650 a
-SDict begin 18.2 H.A end
- 3070 40650 a 3070 40650 a
-SDict begin [ /View [/XYZ H.V] /Dest (1476) cvn H.B /DEST pdfmark end
- 3070 40650
-a FU(Multiuser)504 b(startup)h(\(runle)-39 b(v)-23 b(el)505
-b(4\),)h(b)-31 b(ut)506 b(in)f(X11)g(with)g(KDM,)h(GDM,)g(or)f(XDM)g
-(as)h(the)3070 42665 y(login)386 b(manager)-85 b(.)-30
-44550 y
-SDict begin H.S end
- -30 44550 a -30 44550 a
-SDict begin 18.2 H.A end
- -30 44550 a -30 44550
-a
-SDict begin [ /View [/XYZ H.V] /Dest (1478) cvn H.B /DEST pdfmark end
- -30 44550 a -30 44550 a
-SDict begin H.S end
- -30 44550 a -30 44550 a
-SDict begin 18.2 H.A end
- -30
-44550 a -30 44550 a
-SDict begin [ /View [/XYZ H.V] /Dest (1479) cvn H.B /DEST pdfmark end
- -30 44550 a 1679 x FQ(rc.6)-30 46229
-y
-SDict begin H.S end
- -30 46229 a -30 46229 a
-SDict begin 18.2 H.A end
- -30 46229 a -30 46229 a
-SDict begin [ /View [/XYZ H.V] /Dest (1480) cvn H.B /DEST pdfmark end
- -30
-46229 a Black Black 3070 49019 a
-SDict begin H.S end
- 3070 49019 a 3070 49019
-a
-SDict begin 18.2 H.A end
- 3070 49019 a 3070 49019 a
-SDict begin [ /View [/XYZ H.V] /Dest (1481) cvn H.B /DEST pdfmark end
- 3070 49019 a FU(Reboot)386
-b(the)h(system)g(\(runle)-39 b(v)-23 b(el)387 b(6\).)-30
-50904 y
-SDict begin H.S end
- -30 50904 a -30 50904 a
-SDict begin 18.2 H.A end
- -30 50904 a -30 50904
-a
-SDict begin [ /View [/XYZ H.V] /Dest (1483) cvn H.B /DEST pdfmark end
- -30 50904 a -30 50904 a
-SDict begin H.S end
- -30 50904 a -30 50904 a
-SDict begin 18.2 H.A end
- -30
-50904 a -30 50904 a
-SDict begin [ /View [/XYZ H.V] /Dest (1484) cvn H.B /DEST pdfmark end
- -30 50904 a 1679 x FQ(rc.K)-30 52583
-y
-SDict begin H.S end
- -30 52583 a -30 52583 a
-SDict begin 18.2 H.A end
- -30 52583 a -30 52583 a
-SDict begin [ /View [/XYZ H.V] /Dest (1485) cvn H.B /DEST pdfmark end
- -30
-52583 a Black Black 3070 55373 a
-SDict begin H.S end
- 3070 55373 a 3070 55373
-a
-SDict begin 18.2 H.A end
- 3070 55373 a 3070 55373 a
-SDict begin [ /View [/XYZ H.V] /Dest (1486) cvn H.B /DEST pdfmark end
- 3070 55373 a FU(Startup)f(in)h(single)g
-(user)g(mode)g(\(runle)-39 b(v)-23 b(el)387 b(1\).)-30
-57258 y
-SDict begin H.S end
- -30 57258 a -30 57258 a
-SDict begin 18.2 H.A end
- -30 57258 a -30 57258
-a
-SDict begin [ /View [/XYZ H.V] /Dest (1488) cvn H.B /DEST pdfmark end
- -30 57258 a -30 57258 a
-SDict begin H.S end
- -30 57258 a -30 57258 a
-SDict begin 18.2 H.A end
- -30
-57258 a -30 57258 a
-SDict begin [ /View [/XYZ H.V] /Dest (1489) cvn H.B /DEST pdfmark end
- -30 57258 a 1679 x FQ(rc.M)-30 58937
-y
-SDict begin H.S end
- -30 58937 a -30 58937 a
-SDict begin 18.2 H.A end
- -30 58937 a -30 58937 a
-SDict begin [ /View [/XYZ H.V] /Dest (1490) cvn H.B /DEST pdfmark end
- -30
-58937 a Black Black 3070 61727 a
-SDict begin H.S end
- 3070 61727 a 3070 61727
-a
-SDict begin 18.2 H.A end
- 3070 61727 a 3070 61727 a
-SDict begin [ /View [/XYZ H.V] /Dest (1491) cvn H.B /DEST pdfmark end
- 3070 61727 a FU(Multiuser)322
-b(mode)h(\(runle)-39 b(v)-23 b(els)324 b(2)f(and)h(3\),)g(b)-31
-b(ut)323 b(with)g(the)h(standard)f(te)-23 b(xt-based)323
-b(login.)g(This)3070 63741 y(is)387 b(the)g(def)-15 b(ault)386
-b(runle)-39 b(v)-23 b(el)387 b(in)g(Slackw)-15 b(are.)-30
-64532 y
-SDict begin H.S end
- -30 64532 a -30 64532 a
-SDict begin 18.2 H.A end
- -30 64532 a -30 64532
-a
-SDict begin [ /View [/XYZ H.V] /Dest (1492) cvn H.B /DEST pdfmark end
- -30 64532 a Black 9260 x FR(48)p Black eop end
-%%Page: 49 71
-TeXDict begin 49 70 bop -8000 -8000 a
-SDict begin /product where{pop product(Distiller)search{pop pop pop
-version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
-closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
-grestore}if}{pop}ifelse}{pop}ifelse}if end
- -8000 -8000 a Black
-0 TeXcolorgray -30 -1237 a
-SDict begin H.S end
- -30 -1237 a 0 TeXcolorgray
-0 TeXcolorgray -30 -1237 a
-SDict begin H.R end
- -30 -1237 a -30 -1237 a
-SDict begin [ /View [/XYZ H.V] /Dest (page.49) cvn H.B /DEST pdfmark
-end
- -30
--1237 a Black -30 -2687 a
-SDict begin H.S end
- -30 -2687 a -30 -2687 a
-SDict begin 18.2 H.A end
- -30
--2687 a -30 -2687 a
-SDict begin [ /View [/XYZ H.V] /Dest (1545) cvn H.B /DEST pdfmark end
- -30 -2687 a 31781 -1636 a FR(Chapter)387
-b(4)g(System)g(Con\002gur)-23 b(ation)p Black -30 3635
-a FE(Netw)-31 b(ork)430 b(Initialization)-30 4429 y
-SDict begin H.S end
- -30
-4429 a -30 4429 a
-SDict begin 18.2 H.A end
- -30 4429 a -30 4429 a
-SDict begin [ /View [/XYZ H.V] /Dest (1494) cvn H.B /DEST pdfmark end
- -30 4429 a 1995
-x FU(Runle)-39 b(v)-23 b(els)606 b(2,)h(3,)f(and)h(4)f(will)g(start)g
-(up)h(the)f(netw)-15 b(ork)606 b(services.)g(The)h(follo)-39
-b(wing)606 b(\002les)g(are)-30 8439 y(responsible)387
-b(for)g(the)g(netw)-15 b(ork)387 b(initialization:)-30
-8774 y
-SDict begin H.S end
- -30 8774 a -30 8774 a
-SDict begin 18.2 H.A end
- -30 8774 a -30 8774 a
-SDict begin [ /View [/XYZ H.V] /Dest (1495) cvn H.B /DEST pdfmark end
- -30
-8774 a -30 11099 a
-SDict begin H.S end
- -30 11099 a -30 11099 a
-SDict begin 18.2 H.A end
- -30 11099
-a -30 11099 a
-SDict begin [ /View [/XYZ H.V] /Dest (1497) cvn H.B /DEST pdfmark end
- -30 11099 a -30 11099 a
-SDict begin H.S end
- -30 11099 a -30
-11099 a
-SDict begin 18.2 H.A end
- -30 11099 a -30 11099 a
-SDict begin [ /View [/XYZ H.V] /Dest (1498) cvn H.B /DEST pdfmark end
- -30 11099 a 1679 x FQ(rc.inet1)-30
-12778 y
-SDict begin H.S end
- -30 12778 a -30 12778 a
-SDict begin 18.2 H.A end
- -30 12778 a -30 12778
-a
-SDict begin [ /View [/XYZ H.V] /Dest (1499) cvn H.B /DEST pdfmark end
- -30 12778 a Black Black 3070 15568 a
-SDict begin H.S end
- 3070 15568 a 3070
-15568 a
-SDict begin 18.2 H.A end
- 3070 15568 a 3070 15568 a
-SDict begin [ /View [/XYZ H.V] /Dest (1500) cvn H.B /DEST pdfmark end
- 3070 15568 a FU(Created)302
-b(by)10045 15568 y
-SDict begin H.S end
- 10045 15568 a 10045 15568 a
-SDict begin 18.2 H.A end
- 10045
-15568 a 10045 15568 a
-SDict begin [ /View [/XYZ H.V] /Dest (1501) cvn H.B /DEST pdfmark end
- 10045 15568 a FP(netconfig)p FU(,)g(this)g
-(\002le)h(is)f(responsible)g(for)h(con\002guring)f(the)g(actual)h(netw)
--15 b(ork)3070 17582 y(interf)g(ace.)-30 19148 y
-SDict begin H.S end
- -30
-19148 a -30 19148 a
-SDict begin 18.2 H.A end
- -30 19148 a -30 19148 a
-SDict begin [ /View [/XYZ H.V] /Dest (1503) cvn H.B /DEST pdfmark end
- -30 19148
-a -30 19148 a
-SDict begin H.S end
- -30 19148 a -30 19148 a
-SDict begin 18.2 H.A end
- -30 19148 a -30
-19148 a
-SDict begin [ /View [/XYZ H.V] /Dest (1504) cvn H.B /DEST pdfmark end
- -30 19148 a 1999 x FQ(rc.inet2)-30 21147 y
-SDict begin H.S end
- -30
-21147 a -30 21147 a
-SDict begin 18.2 H.A end
- -30 21147 a -30 21147 a
-SDict begin [ /View [/XYZ H.V] /Dest (1505) cvn H.B /DEST pdfmark end
- -30 21147
-a Black Black 3070 23936 a
-SDict begin H.S end
- 3070 23936 a 3070 23936 a
-SDict begin 18.2 H.A end
-
-3070 23936 a 3070 23936 a
-SDict begin [ /View [/XYZ H.V] /Dest (1506) cvn H.B /DEST pdfmark end
- 3070 23936 a FU(Runs)386 b(after)9870
-23936 y
-SDict begin H.S end
- 9870 23936 a 9870 23936 a
-SDict begin 18.2 H.A end
- 9870 23936 a 9870 23936
-a
-SDict begin [ /View [/XYZ H.V] /Dest (1507) cvn H.B /DEST pdfmark end
- 9870 23936 a FQ(rc.inet1)c FU(and)387 b(starts)g(up)g(basic)h(netw)
--15 b(ork)386 b(services.)-30 25822 y
-SDict begin H.S end
- -30 25822 a -30
-25822 a
-SDict begin 18.2 H.A end
- -30 25822 a -30 25822 a
-SDict begin [ /View [/XYZ H.V] /Dest (1509) cvn H.B /DEST pdfmark end
- -30 25822 a -30 25822
-a
-SDict begin H.S end
- -30 25822 a -30 25822 a
-SDict begin 18.2 H.A end
- -30 25822 a -30 25822 a
-SDict begin [ /View [/XYZ H.V] /Dest (1510) cvn H.B /DEST pdfmark end
- -30
-25822 a 1679 x FQ(rc.atalk)-30 27501 y
-SDict begin H.S end
- -30 27501 a -30
-27501 a
-SDict begin 18.2 H.A end
- -30 27501 a -30 27501 a
-SDict begin [ /View [/XYZ H.V] /Dest (1511) cvn H.B /DEST pdfmark end
- -30 27501 a Black Black
-3070 30290 a
-SDict begin H.S end
- 3070 30290 a 3070 30290 a
-SDict begin 18.2 H.A end
- 3070 30290 a 3070
-30290 a
-SDict begin [ /View [/XYZ H.V] /Dest (1512) cvn H.B /DEST pdfmark end
- 3070 30290 a FU(Starts)g(up)h(AppleT)-124 b(alk)387
-b(services.)21583 30290 y
-SDict begin H.S end
- 21583 30290 a 21583 30290 a
-SDict begin 18.2 H.A end
-
-21583 30290 a 21583 30290 a
-SDict begin [ /View [/XYZ H.V] /Dest (1513) cvn H.B /DEST pdfmark end
- 21583 30290 a -30 32176 a
-SDict begin H.S end
-
--30 32176 a -30 32176 a
-SDict begin 18.2 H.A end
- -30 32176 a -30 32176 a
-SDict begin [ /View [/XYZ H.V] /Dest (1516) cvn H.B /DEST pdfmark end
- -30 32176
-a -30 32176 a
-SDict begin H.S end
- -30 32176 a -30 32176 a
-SDict begin 18.2 H.A end
- -30 32176 a -30
-32176 a
-SDict begin [ /View [/XYZ H.V] /Dest (1517) cvn H.B /DEST pdfmark end
- -30 32176 a 1679 x FQ(rc.httpd)-30 34124 y
-SDict begin H.S end
- -30
-34124 a -30 34124 a
-SDict begin 18.2 H.A end
- -30 34124 a -30 34124 a
-SDict begin [ /View [/XYZ H.V] /Dest (1518) cvn H.B /DEST pdfmark end
- -30 34124
-a Black Black 3070 36644 a
-SDict begin H.S end
- 3070 36644 a 3070 36644 a
-SDict begin 18.2 H.A end
-
-3070 36644 a 3070 36644 a
-SDict begin [ /View [/XYZ H.V] /Dest (1519) cvn H.B /DEST pdfmark end
- 3070 36644 a FU(Starts)439
-b(up)i(the)f(Apache)g(web)h(serv)-23 b(er)-85 b(.)440
-b(Lik)-15 b(e)440 b(a)h(fe)-39 b(w)440 b(other)h(rc)f(scripts,)g(this)g
-(one)h(can)f(also)3070 38659 y(be)415 b(used)h(to)f(stop)h(and)f
-(restart)h(a)g(service.)26064 38659 y
-SDict begin H.S end
- 26064 38659 a 26064
-38659 a
-SDict begin 18.2 H.A end
- 26064 38659 a 26064 38659 a
-SDict begin [ /View [/XYZ H.V] /Dest (1520) cvn H.B /DEST pdfmark end
- 26064 38659 a FQ(rc.httpd)411
-b FU(tak)-15 b(es)415 b(ar)-28 b(guments)415 b(of)g(stop,)h(start,)g
-(or)3070 40674 y(restart.)7717 40674 y
-SDict begin H.S end
- 7717 40674 a 7717
-40674 a
-SDict begin 18.2 H.A end
- 7717 40674 a 7717 40674 a
-SDict begin [ /View [/XYZ H.V] /Dest (1521) cvn H.B /DEST pdfmark end
- 7717 40674 a 8105 40674
-a
-SDict begin H.S end
- 8105 40674 a 8105 40674 a
-SDict begin 18.2 H.A end
- 8105 40674 a 8105 40674 a
-SDict begin [ /View [/XYZ H.V] /Dest (1523) cvn H.B /DEST pdfmark end
-
-8105 40674 a -30 42239 a
-SDict begin H.S end
- -30 42239 a -30 42239 a
-SDict begin 18.2 H.A end
- -30
-42239 a -30 42239 a
-SDict begin [ /View [/XYZ H.V] /Dest (1527) cvn H.B /DEST pdfmark end
- -30 42239 a -30 42239 a
-SDict begin H.S end
- -30 42239
-a -30 42239 a
-SDict begin 18.2 H.A end
- -30 42239 a -30 42239 a
-SDict begin [ /View [/XYZ H.V] /Dest (1528) cvn H.B /DEST pdfmark end
- -30 42239 a 1999
-x FQ(rc.news)-30 44238 y
-SDict begin H.S end
- -30 44238 a -30 44238 a
-SDict begin 18.2 H.A end
- -30
-44238 a -30 44238 a
-SDict begin [ /View [/XYZ H.V] /Dest (1529) cvn H.B /DEST pdfmark end
- -30 44238 a Black Black 3070 47028
-a
-SDict begin H.S end
- 3070 47028 a 3070 47028 a
-SDict begin 18.2 H.A end
- 3070 47028 a 3070 47028 a
-SDict begin [ /View [/XYZ H.V] /Dest (1530) cvn H.B /DEST pdfmark end
-
-3070 47028 a FU(Starts)386 b(up)h(the)h(ne)-39 b(ws)387
-b(serv)-23 b(er)-85 b(.)18804 47028 y
-SDict begin H.S end
- 18804 47028 a 18804
-47028 a
-SDict begin 18.2 H.A end
- 18804 47028 a 18804 47028 a
-SDict begin [ /View [/XYZ H.V] /Dest (1531) cvn H.B /DEST pdfmark end
- 18804 47028 a -30
-48138 a
-SDict begin H.S end
- -30 48138 a -30 48138 a
-SDict begin 18.2 H.A end
- -30 48138 a -30 48138
-a
-SDict begin [ /View [/XYZ H.V] /Dest (1533) cvn H.B /DEST pdfmark end
- -30 48138 a 4779 x FE(System)429 b(V)i(Compatibility)-30
-53237 y
-SDict begin H.S end
- -30 53237 a -30 53237 a
-SDict begin 18.2 H.A end
- -30 53237 a -30 53237
-a
-SDict begin [ /View [/XYZ H.V] /Dest (1535) cvn H.B /DEST pdfmark end
- -30 53237 a -30 53237 a
-SDict begin H.S end
- -30 53237 a -30 53237 a
-SDict begin 18.2 H.A end
- -30
-53237 a -30 53237 a
-SDict begin [ /View [/XYZ H.V] /Dest (1538) cvn H.B /DEST pdfmark end
- -30 53237 a -30 54012 a
-SDict begin H.S end
- -30 54012
-a -30 54012 a
-SDict begin 18.2 H.A end
- -30 54012 a -30 54012 a
-SDict begin [ /View [/XYZ H.V] /Dest (1541) cvn H.B /DEST pdfmark end
- -30 54012 a 1694
-x FU(System)573 b(V)i(init)e(compatibility)g(w)-15 b(as)574
-b(introduced)f(in)h(Slackw)-15 b(are)574 b(7.0.)h(Man)-23
-b(y)573 b(other)i(Linux)-30 57721 y(distrib)-31 b(utions)359
-b(mak)-15 b(e)361 b(use)g(of)g(this)f(style)g(instead)h(of)g(the)g(BSD)
-f(style.)h(Basically)f(each)h(runle)-39 b(v)-23 b(el)-30
-59735 y(is)533 b(gi)-39 b(v)-23 b(en)533 b(a)g(subdirectory)f(for)i
-(init)e(scripts,)h(whereas)g(BSD)g(style)f(gi)-39 b(v)-23
-b(es)533 b(one)g(init)f(script)h(to)-30 61750 y(each)388
-b(runle)-39 b(v)-23 b(el.)-30 62540 y
-SDict begin H.S end
- -30 62540 a -30
-62540 a
-SDict begin 18.2 H.A end
- -30 62540 a -30 62540 a
-SDict begin [ /View [/XYZ H.V] /Dest (1542) cvn H.B /DEST pdfmark end
- -30 62540 a 2000 x FU(The)2725
-64540 y
-SDict begin H.S end
- 2725 64540 a 2725 64540 a
-SDict begin 18.2 H.A end
- 2725 64540 a 2725 64540
-a
-SDict begin [ /View [/XYZ H.V] /Dest (1543) cvn H.B /DEST pdfmark end
- 2725 64540 a FQ(rc.sysvinit)339 b FU(script)345 b(will)f(search)i
-(for)f(an)-23 b(y)345 b(System)g(V)g(init)g(scripts)f(you)h(ha)-31
-b(v)-23 b(e)346 b(in)46139 64540 y
-SDict begin H.S end
- 46139 64540 a 46139
-64540 a
-SDict begin 18.2 H.A end
- 46139 64540 a 46139 64540 a
-SDict begin [ /View [/XYZ H.V] /Dest (1544) cvn H.B /DEST pdfmark end
- 46139 64540 a FQ(/etc/rc.d)-30
-66554 y FU(and)520 b(run)g(them,)g(if)g(the)g(runle)-39
-b(v)-23 b(el)520 b(is)g(appropriate.)g(This)g(is)g(useful)f(for)i
-(certain)f(commercial)p Black 50226 73792 a FR(49)p Black
-eop end
-%%Page: 50 72
-TeXDict begin 50 71 bop -8000 -8000 a
-SDict begin /product where{pop product(Distiller)search{pop pop pop
-version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
-closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
-grestore}if}{pop}ifelse}{pop}ifelse}if end
- -8000 -8000 a Black
-0 TeXcolorgray -30 -1237 a
-SDict begin H.S end
- -30 -1237 a 0 TeXcolorgray
-0 TeXcolorgray -30 -1237 a
-SDict begin H.R end
- -30 -1237 a -30 -1237 a
-SDict begin [ /View [/XYZ H.V] /Dest (page.50) cvn H.B /DEST pdfmark
-end
- -30
--1237 a Black -399 x FR(Chapter)387 b(4)g(System)g(Con\002gur)-23
-b(ation)p Black -30 3611 a FU(softw)-15 b(are)387 b(packages)g(that)g
-(install)f(System)h(V)g(init)g(scripts)-30 4721 y
-SDict begin H.S end
- -30
-4721 a -30 4721 a
-SDict begin 18.2 H.A end
- -30 4721 a -30 4721 a
-SDict begin [ /View [/XYZ H.V] /Dest (1545) cvn H.B /DEST pdfmark end
- -30 4721 a 4779
-x FE(Other)430 b(Files)-30 10294 y
-SDict begin H.S end
- -30 10294 a -30 10294
-a
-SDict begin 18.2 H.A end
- -30 10294 a -30 10294 a
-SDict begin [ /View [/XYZ H.V] /Dest (1547) cvn H.B /DEST pdfmark end
- -30 10294 a 1996 x FU(The)381
-b(scripts)e(described)i(belo)-39 b(w)380 b(are)h(the)f(other)g(system)g
-(initialization)f(scripts.)h(The)-23 b(y)380 b(are)h(typ-)-30
-14304 y(ically)586 b(run)h(from)f(one)g(of)h(the)f(major)g(scripts)g
-(abo)-23 b(v)g(e,)587 b(so)f(all)g(you)g(need)h(to)f(do)h(is)f(edit)g
-(the)-30 16319 y(contents.)-30 16334 y
-SDict begin H.S end
- -30 16334 a -30
-16334 a
-SDict begin 18.2 H.A end
- -30 16334 a -30 16334 a
-SDict begin [ /View [/XYZ H.V] /Dest (1548) cvn H.B /DEST pdfmark end
- -30 16334 a -30 16334
-a
-SDict begin H.S end
- -30 16334 a -30 16334 a
-SDict begin 18.2 H.A end
- -30 16334 a -30 16334 a
-SDict begin [ /View [/XYZ H.V] /Dest (1550) cvn H.B /DEST pdfmark end
- -30
-16334 a -30 18659 a
-SDict begin H.S end
- -30 18659 a -30 18659 a
-SDict begin 18.2 H.A end
- -30 18659
-a -30 18659 a
-SDict begin [ /View [/XYZ H.V] /Dest (1552) cvn H.B /DEST pdfmark end
- -30 18659 a -30 18659 a
-SDict begin H.S end
- -30 18659 a -30
-18659 a
-SDict begin 18.2 H.A end
- -30 18659 a -30 18659 a
-SDict begin [ /View [/XYZ H.V] /Dest (1553) cvn H.B /DEST pdfmark end
- -30 18659 a 1999 x FQ(rc.gpm)-30
-20928 y
-SDict begin H.S end
- -30 20928 a -30 20928 a
-SDict begin 18.2 H.A end
- -30 20928 a -30 20928
-a
-SDict begin [ /View [/XYZ H.V] /Dest (1554) cvn H.B /DEST pdfmark end
- -30 20928 a Black Black 3070 23448 a
-SDict begin H.S end
- 3070 23448 a 3070
-23448 a
-SDict begin 18.2 H.A end
- 3070 23448 a 3070 23448 a
-SDict begin [ /View [/XYZ H.V] /Dest (1555) cvn H.B /DEST pdfmark end
- 3070 23448 a FU(Starts)409
-b(up)h(general)g(purpose)g(mouse)f(services.)h(Allo)-39
-b(ws)410 b(you)g(to)g(cop)-15 b(y)409 b(and)h(paste)g(at)g(the)3070
-25463 y(Linux)382 b(console.)h(Occasionally)-101 b(,)383
-b(gpm)f(will)h(cause)g(problems)f(with)g(the)h(mouse)f(when)h(it)3070
-27477 y(is)360 b(used)h(under)g(X)g(windo)-39 b(ws.)361
-b(If)h(you)e(e)-23 b(xperience)361 b(problems)f(with)h(the)g(mouse)g
-(under)f(X,)3070 29492 y(try)428 b(taking)g(a)-23 b(w)-15
-b(ay)428 b(the)h(e)-23 b(x)g(ecutable)428 b(permission)f(from)h(this)g
-(\002le)h(and)f(stopping)g(the)g(gpm)3070 31507 y(serv)-23
-b(er)-85 b(.)-30 33072 y
-SDict begin H.S end
- -30 33072 a -30 33072 a
-SDict begin 18.2 H.A end
- -30
-33072 a -30 33072 a
-SDict begin [ /View [/XYZ H.V] /Dest (1557) cvn H.B /DEST pdfmark end
- -30 33072 a -30 33072 a
-SDict begin H.S end
- -30 33072
-a -30 33072 a
-SDict begin 18.2 H.A end
- -30 33072 a -30 33072 a
-SDict begin [ /View [/XYZ H.V] /Dest (1558) cvn H.B /DEST pdfmark end
- -30 33072 a 1999
-x FQ(rc.font)-30 35071 y
-SDict begin H.S end
- -30 35071 a -30 35071 a
-SDict begin 18.2 H.A end
- -30
-35071 a -30 35071 a
-SDict begin [ /View [/XYZ H.V] /Dest (1559) cvn H.B /DEST pdfmark end
- -30 35071 a Black Black 3070 37860
-a
-SDict begin H.S end
- 3070 37860 a 3070 37860 a
-SDict begin 18.2 H.A end
- 3070 37860 a 3070 37860 a
-SDict begin [ /View [/XYZ H.V] /Dest (1560) cvn H.B /DEST pdfmark end
-
-3070 37860 a 3070 37860 a
-SDict begin H.S end
- 3070 37860 a 3070 37860 a
-SDict begin 18.2 H.A end
- 3070
-37860 a 3070 37860 a
-SDict begin [ /View [/XYZ H.V] /Dest (1561) cvn H.B /DEST pdfmark end
- 3070 37860 a 387 w FU(Loads)387
-b(the)g(custom)g(screen)g(font)g(for)h(the)f(console.)-30
-39426 y
-SDict begin H.S end
- -30 39426 a -30 39426 a
-SDict begin 18.2 H.A end
- -30 39426 a -30 39426
-a
-SDict begin [ /View [/XYZ H.V] /Dest (1564) cvn H.B /DEST pdfmark end
- -30 39426 a -30 39426 a
-SDict begin H.S end
- -30 39426 a -30 39426 a
-SDict begin 18.2 H.A end
- -30
-39426 a -30 39426 a
-SDict begin [ /View [/XYZ H.V] /Dest (1565) cvn H.B /DEST pdfmark end
- -30 39426 a 1999 x FQ(rc.local)-30
-41425 y
-SDict begin H.S end
- -30 41425 a -30 41425 a
-SDict begin 18.2 H.A end
- -30 41425 a -30 41425
-a
-SDict begin [ /View [/XYZ H.V] /Dest (1566) cvn H.B /DEST pdfmark end
- -30 41425 a Black Black 3070 44214 a
-SDict begin H.S end
- 3070 44214 a 3070
-44214 a
-SDict begin 18.2 H.A end
- 3070 44214 a 3070 44214 a
-SDict begin [ /View [/XYZ H.V] /Dest (1567) cvn H.B /DEST pdfmark end
- 3070 44214 a FU(Contains)397
-b(an)-23 b(y)398 b(speci\002c)g(startup)g(commands)f(for)i(your)f
-(system.)g(This)g(is)g(empty)g(after)h(a)3070 46229 y(fresh)375
-b(install,)g(as)h(it)f(is)g(reserv)-23 b(ed)375 b(for)h(local)f
-(administrators.)g(This)g(script)g(is)g(run)g(after)h(all)3070
-48244 y(other)387 b(initialization)f(has)h(tak)-15 b(en)386
-b(place.)-30 49354 y
-SDict begin H.S end
- -30 49354 a -30 49354 a
-SDict begin 18.2 H.A end
- -30 49354
-a -30 49354 a
-SDict begin [ /View [/XYZ H.V] /Dest (1568) cvn H.B /DEST pdfmark end
- -30 49354 a 1679 x FU(T)-124 b(o)451 b(enable)f(a)h
-(script,)g(all)g(you)f(need)h(to)g(do)f(is)h(add)f(the)30263
-51033 y
-SDict begin H.S end
- 30263 51033 a 30263 51033 a
-SDict begin 18.2 H.A end
- 30263 51033 a 30263
-51033 a
-SDict begin [ /View [/XYZ H.V] /Dest (1569) cvn H.B /DEST pdfmark end
- 30263 51033 a 451 w FU(e)-23 b(x)g(ecute)450
-b(permissions)g(to)g(it)h(with)f(the)-30 53048 y
-SDict begin H.S end
- -30
-53048 a -30 53048 a
-SDict begin 18.2 H.A end
- -30 53048 a -30 53048 a
-SDict begin [ /View [/XYZ H.V] /Dest (1571) cvn H.B /DEST pdfmark end
- -30 53048
-a FP(chmod)508 b FU(command.)g(T)-124 b(o)509 b(disable)e(a)i(script,)g
-(remo)-23 b(v)g(e)507 b(the)i(e)-23 b(x)g(ecute)508 b(permissions)f
-(from)h(it.)g(F)-23 b(or)-30 55063 y(more)387 b(information)f(about)
-15078 55063 y
-SDict begin H.S end
- 15078 55063 a 15078 55063 a
-SDict begin 18.2 H.A end
- 15078 55063
-a 15078 55063 a
-SDict begin [ /View [/XYZ H.V] /Dest (1572) cvn H.B /DEST pdfmark end
- 15078 55063 a FP(chmod)p FU(,)i(see)p
-0 TeXcolorgray 21939 55063 a
-SDict begin H.S end
- 21939 55063 a FU(Section)f(9.2)28913
-55063 y
-SDict begin 18.2 H.L end
- 28913 55063 a 28913 55063 a
-SDict begin [ /Subtype /Link /Dest (FILESYSTEM-STRUCTURE-PERMISSIONS)
-cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 28913 55063 a Black
-FU(.)-30 59161 y
-SDict begin H.S end
- -30 59161 a -30 59161 a
-SDict begin 18.2 H.A end
- -30 59161 a
--30 59161 a
-SDict begin [ /View [/XYZ H.V] /Dest (SYSTEM-CONFIGURATION-KERNEL)
-cvn H.B /DEST pdfmark end
- -30 59161 a 5901 x FL(4.2)620 b(Selecting)g(a)h(K)-33
-b(ernel)-30 66674 y
-SDict begin H.S end
- -30 66674 a -30 66674 a
-SDict begin 18.2 H.A end
- -30 66674
-a -30 66674 a
-SDict begin [ /View [/XYZ H.V] /Dest (1576) cvn H.B /DEST pdfmark end
- -30 66674 a 1518 x FU(The)320 b(k)-15 b(ernel)319
-b(is)g(the)h(part)f(of)h(the)g(operating)f(system)g(that)g(pro)-23
-b(vides)36074 68192 y
-SDict begin H.S end
- 36074 68192 a 36074 68192 a
-SDict begin 18.2 H.A end
- 36074
-68192 a 36074 68192 a
-SDict begin [ /View [/XYZ H.V] /Dest (1577) cvn H.B /DEST pdfmark end
- 36074 68192 a 320 w FU(hardw)-15
-b(are)319 b(access,)h(process)p Black -30 73792 a FR(50)p
-Black eop end
-%%Page: 51 73
-TeXDict begin 51 72 bop -8000 -8000 a
-SDict begin /product where{pop product(Distiller)search{pop pop pop
-version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
-closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
-grestore}if}{pop}ifelse}{pop}ifelse}if end
- -8000 -8000 a Black
-0 TeXcolorgray -30 -1237 a
-SDict begin H.S end
- -30 -1237 a 0 TeXcolorgray
-0 TeXcolorgray -30 -1237 a
-SDict begin H.R end
- -30 -1237 a -30 -1237 a
-SDict begin [ /View [/XYZ H.V] /Dest (page.51) cvn H.B /DEST pdfmark
-end
- -30
--1237 a Black 31781 -1636 a FR(Chapter)387 b(4)g(System)g(Con\002gur)
--23 b(ation)p Black -30 3611 a FU(control,)452 b(and)g(o)-23
-b(v)g(erall)451 b(system)g(control.)g(The)h(k)-15 b(ernel)451
-b(contains)h(support)f(for)h(your)f(hardw)-15 b(are)-30
-5626 y(de)-39 b(vices,)388 b(so)f(picking)g(one)g(for)g(your)g(system)g
-(is)g(an)g(important)g(setup)g(step.)-30 6736 y
-SDict begin H.S end
- -30 6736
-a -30 6736 a
-SDict begin 18.2 H.A end
- -30 6736 a -30 6736 a
-SDict begin [ /View [/XYZ H.V] /Dest (1579) cvn H.B /DEST pdfmark end
- -30 6736 a 1679 x
-FU(Slackw)-15 b(are)394 b(pro)-23 b(vides)393 b(more)i(than)f(a)g
-(dozen)h(precompiled)e(k)-15 b(ernels)394 b(that)g(you)g(can)h(pick)f
-(from,)-30 10430 y(each)332 b(with)f(a)h(standard)f(set)g(of)h(dri)-39
-b(v)-23 b(ers)331 b(and)g(additional)g(speci\002c)g(dri)-39
-b(v)-23 b(ers.)332 b(Y)-170 b(ou)330 b(can)i(run)f(one)h(of)-30
-12445 y(the)413 b(precompiled)f(k)-15 b(ernels)412 b(or)h(you)g(can)g
-(b)-31 b(uild)412 b(your)h(o)-39 b(wn)413 b(k)-15 b(ernel)412
-b(from)h(source.)g(Either)g(w)-15 b(ay)-101 b(,)-30 14459
-y(you)356 b(need)g(to)f(mak)-15 b(e)355 b(sure)h(that)g(your)f(k)-15
-b(ernel)356 b(has)g(the)f(hardw)-15 b(are)356 b(support)f(your)h
-(system)f(needs.)-30 14795 y
-SDict begin H.S end
- -30 14795 a -30 14795 a
-SDict begin 18.2 H.A end
-
--30 14795 a -30 14795 a
-SDict begin [ /View [/XYZ H.V] /Dest (1580) cvn H.B /DEST pdfmark end
- -30 14795 a 5026 x FG(The)518
-b FA(/kernel)n(s)487 b FG(Director)19 b(y)517 b(on)h(the)f(Slac)-37
-b(kware)517 b(CD-R)-37 b(OM)-30 21136 y
-SDict begin H.S end
- -30 21136 a -30
-21136 a
-SDict begin 18.2 H.A end
- -30 21136 a -30 21136 a
-SDict begin [ /View [/XYZ H.V] /Dest (1583) cvn H.B /DEST pdfmark end
- -30 21136 a 1630 x FU(The)562
-b(precompiled)f(Slackw)-15 b(are)562 b(k)-15 b(ernels)561
-b(are)i(a)-31 b(v)-39 b(ailable)561 b(in)h(the)36040
-22766 y
-SDict begin H.S end
- 36040 22766 a 36040 22766 a
-SDict begin 18.2 H.A end
- 36040 22766 a 36040
-22766 a
-SDict begin [ /View [/XYZ H.V] /Dest (1584) cvn H.B /DEST pdfmark end
- 36040 22766 a FQ(/kernels)557 b FU(directory)562
-b(on)g(the)-30 24781 y(Slackw)-15 b(are)406 b(CD-R)-62
-b(OM)405 b(or)i(on)f(the)g(FTP)g(site)g(in)g(the)g(main)g(Slackw)-15
-b(are)406 b(directory)-101 b(.)407 b(The)f(a)-31 b(v)-39
-b(ail-)-30 26795 y(able)338 b(k)-15 b(ernels)337 b(change)g(as)h(ne)-39
-b(w)338 b(releases)g(are)g(made,)g(so)f(the)h(documentation)e(in)i
-(that)f(directory)-30 28810 y(is)362 b(al)-15 b(w)g(ays)360
-b(the)i(authoritati)-39 b(v)-23 b(e)360 b(source.)j(The)23955
-28810 y
-SDict begin H.S end
- 23955 28810 a 23955 28810 a
-SDict begin 18.2 H.A end
- 23955 28810 a 23955
-28810 a
-SDict begin [ /View [/XYZ H.V] /Dest (1585) cvn H.B /DEST pdfmark end
- 23955 28810 a FQ(/kernels)357 b FU(directory)k(has)h
-(subdirectories)f(for)h(each)-30 30825 y(k)-15 b(ernel)338
-b(a)-31 b(v)-39 b(ailable.)339 b(The)f(subdirectories)g(ha)-31
-b(v)-23 b(e)338 b(the)g(same)g(name)g(as)h(their)f(accompan)-23
-b(ying)337 b(boot)-30 32839 y(disk.)387 b(In)h(each)f(subdirectory)g
-(you)g(will)g(\002nd)f(the)i(follo)-39 b(wing)386 b(\002les:)-30
-33175 y
-SDict begin H.S end
- -30 33175 a -30 33175 a
-SDict begin 18.2 H.A end
- -30 33175 a -30 33175
-a
-SDict begin [ /View [/XYZ H.V] /Dest (1586) cvn H.B /DEST pdfmark end
- -30 33175 a -30 35499 a
-SDict begin H.S end
- -30 35499 a -30 35499 a
-SDict begin 18.2 H.A end
- -30
-35499 a -30 35499 a
-SDict begin [ /View [/XYZ H.V] /Dest (1587) cvn H.B /DEST pdfmark end
- -30 35499 a -30 35499 a
-SDict begin H.S end
- -30 35499
-a -30 35499 a
-SDict begin 18.2 H.A end
- -30 35499 a -30 35499 a
-SDict begin [ /View [/XYZ H.V] /Dest (table.7) cvn H.B /DEST pdfmark
-end
- -30 35499 a 1727
-x FE(File)14598 b(Purpose)p -30 37603 51806 45 v -30
-37603 V -30 39329 a FQ(System.map)10999 b FU(The)387
-b(system)g(map)g(\002le)g(for)g(this)g(k)-15 b(ernel)-30
-41392 y FQ(bzImage)12880 b FU(The)387 b(actual)g(k)-15
-b(ernel)387 b(image)-30 43454 y FQ(config)13507 b FU(The)387
-b(source)g(con\002guration)f(\002le)h(for)h(this)f(k)-15
-b(ernel)-30 45339 y
-SDict begin H.S end
- -30 45339 a -30 45339 a
-SDict begin 18.2 H.A end
- -30 45339
-a -30 45339 a
-SDict begin [ /View [/XYZ H.V] /Dest (1607) cvn H.B /DEST pdfmark end
- -30 45339 a 1683 x FU(T)-124 b(o)364 b(use)h(a)f(k)-15
-b(ernel,)365 b(cop)-15 b(y)363 b(the)15645 47022 y
-SDict begin H.S end
- 15645
-47022 a 15645 47022 a
-SDict begin 18.2 H.A end
- 15645 47022 a 15645 47022 a
-SDict begin [ /View [/XYZ H.V] /Dest (1608) cvn H.B /DEST pdfmark end
- 15645
-47022 a FQ(System.map)358 b FU(and)24875 47022 y
-SDict begin H.S end
- 24875
-47022 a 24875 47022 a
-SDict begin 18.2 H.A end
- 24875 47022 a 24875 47022 a
-SDict begin [ /View [/XYZ H.V] /Dest (1609) cvn H.B /DEST pdfmark end
- 24875
-47022 a FQ(config)j FU(\002les)j(to)g(your)36721 47022
-y
-SDict begin H.S end
- 36721 47022 a 36721 47022 a
-SDict begin 18.2 H.A end
- 36721 47022 a 36721 47022
-a
-SDict begin [ /View [/XYZ H.V] /Dest (1610) cvn H.B /DEST pdfmark end
- 36721 47022 a FQ(/boot)d FU(directory)j(and)h(cop)-15
-b(y)-30 49037 y(the)494 b(k)-15 b(ernel)494 b(image)g(to)12693
-49037 y
-SDict begin H.S end
- 12693 49037 a 12693 49037 a
-SDict begin 18.2 H.A end
- 12693 49037 a 12693
-49037 a
-SDict begin [ /View [/XYZ H.V] /Dest (1611) cvn H.B /DEST pdfmark end
- 12693 49037 a FQ(/boot/vmlinuz)p FU(.)486 b(Run)24795
-49037 y
-SDict begin H.S end
- 24795 49037 a 24795 49037 a
-SDict begin 18.2 H.A end
- 24795 49037 a 24795
-49037 a
-SDict begin [ /View [/XYZ H.V] /Dest (1612) cvn H.B /DEST pdfmark end
- 24795 49037 a FP(/sbin/lilo)p FU(\(8\))494 b(to)g(install)g
-(LILO)g(for)g(the)h(ne)-39 b(w)-30 51051 y(k)-15 b(ernel,)387
-b(and)h(then)f(reboot)g(your)g(system.)g(That')-85 b(s)386
-b(all)i(there)f(is)g(to)g(installing)f(a)i(ne)-39 b(w)387
-b(k)-15 b(ernel.)-30 52162 y
-SDict begin H.S end
- -30 52162 a -30 52162 a
-SDict begin 18.2 H.A end
-
--30 52162 a -30 52162 a
-SDict begin [ /View [/XYZ H.V] /Dest (1613) cvn H.B /DEST pdfmark end
- -30 52162 a 1679 x FU(The)365
-b(k)-15 b(ernels)365 b(that)g(end)h(with)f(a)g(.i)h(are)g(IDE)f(k)-15
-b(ernels.)365 b(That)g(is,)h(the)-23 b(y)365 b(include)g(no)g(SCSI)g
-(support)-30 55856 y(in)483 b(the)f(base)h(k)-15 b(ernel.)483
-b(The)f(k)-15 b(ernels)482 b(that)h(end)g(with)f(.s)h(are)g(SCSI)f(k)
--15 b(ernels.)482 b(The)-23 b(y)483 b(include)f(all)-30
-57870 y(the)387 b(IDE)h(support)e(in)h(.i)h(k)-15 b(ernels,)387
-b(plus)g(SCSI)f(support.)-30 58981 y
-SDict begin H.S end
- -30 58981 a -30
-58981 a
-SDict begin 18.2 H.A end
- -30 58981 a -30 58981 a
-SDict begin [ /View [/XYZ H.V] /Dest (SYSTEM-CONFIGURATION-KERNEL-COMPILE)
-cvn H.B /DEST pdfmark end
- -30 58981 a 5181 x FG(Compiling)518
-b(a)f(K)-28 b(ernel)517 b(fr)-37 b(om)518 b(Sour)-37
-b(ce)-30 64576 y
-SDict begin H.S end
- -30 64576 a -30 64576 a
-SDict begin 18.2 H.A end
- -30 64576 a
--30 64576 a
-SDict begin [ /View [/XYZ H.V] /Dest (1616) cvn H.B /DEST pdfmark end
- -30 64576 a -30 65506 a
-SDict begin H.S end
- -30 65506 a -30 65506
-a
-SDict begin 18.2 H.A end
- -30 65506 a -30 65506 a
-SDict begin [ /View [/XYZ H.V] /Dest (1619) cvn H.B /DEST pdfmark end
- -30 65506 a 1601 x FU(The)551
-b(question)8734 67107 y
-SDict begin H.S end
- 8734 67107 a 8734 67107 a
-SDict begin 18.2 H.A end
- 8734
-67107 a 8734 67107 a
-SDict begin [ /View [/XYZ H.V] /Dest (1620) cvn H.B /DEST pdfmark end
- 8734 67107 a FU(\223Should)f(I)i(compile)e(a)h(k)
--15 b(ernel)551 b(for)g(my)f(system?\224)h(is)g(often)f(ask)-15
-b(ed)551 b(by)g(ne)-39 b(w)p Black 50226 73792 a FR(51)p
-Black eop end
-%%Page: 52 74
-TeXDict begin 52 73 bop -8000 -8000 a
-SDict begin /product where{pop product(Distiller)search{pop pop pop
-version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
-closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
-grestore}if}{pop}ifelse}{pop}ifelse}if end
- -8000 -8000 a Black
-0 TeXcolorgray -30 -1237 a
-SDict begin H.S end
- -30 -1237 a 0 TeXcolorgray
-0 TeXcolorgray -30 -1237 a
-SDict begin H.R end
- -30 -1237 a -30 -1237 a
-SDict begin [ /View [/XYZ H.V] /Dest (page.52) cvn H.B /DEST pdfmark
-end
- -30
--1237 a Black -399 x FR(Chapter)387 b(4)g(System)g(Con\002gur)-23
-b(ation)p Black -30 3611 a FU(users.)402 b(The)g(answer)f(is)h(a)g
-(de\002nite)f(maybe.)h(There)f(are)h(fe)-39 b(w)402 b(instances)g
-(where)f(you)h(will)f(need)-30 5626 y(to)336 b(compile)g(a)g(k)-15
-b(ernel)336 b(speci\002c)f(to)h(your)g(system.)g(Most)f(users)h(can)h
-(use)f(a)g(precompiled)g(k)-15 b(ernel)-30 7640 y(and)467
-b(the)g(loadable)g(k)-15 b(ernel)466 b(modules)g(to)h(achie)-39
-b(v)-23 b(e)467 b(a)h(fully)e(w)-15 b(orking)466 b(system.)h(Y)-170
-b(ou)466 b(will)h(w)-15 b(ant)-30 9655 y(to)393 b(compile)f(a)h(k)-15
-b(ernel)392 b(for)h(your)f(system)g(if)h(you)g(are)g(upgrading)f(k)-15
-b(ernel)392 b(v)-23 b(ersions)392 b(to)h(one)f(that)-30
-11670 y(we)441 b(do)g(not)f(currently)h(of)-39 b(fer)441
-b(in)g(Slackw)-15 b(are,)440 b(or)h(if)g(you)f(ha)-31
-b(v)-23 b(e)441 b(patched)g(the)f(k)-15 b(ernel)440 b(source)h(to)-30
-13684 y(get)528 b(special)g(de)-39 b(vice)529 b(support)e(that)h(is)h
-(not)f(in)g(the)g(nati)-39 b(v)-23 b(e)528 b(k)-15 b(ernel)528
-b(source.)g(An)-23 b(yone)528 b(with)g(an)-30 15699 y(SMP)366
-b(system)f(will)h(de\002nitely)f(w)-15 b(ant)366 b(to)g(compile)g(a)g
-(k)-15 b(ernel)366 b(with)g(SMP)f(support.)h(Also,)h(man)-23
-b(y)-30 17714 y(users)514 b(\002nd)g(a)g(custom)f(compiled)h(k)-15
-b(ernel)513 b(runs)h(much)g(f)-15 b(aster)514 b(on)g(their)g(machine.)g
-(Y)-170 b(ou)513 b(may)-30 19728 y(\002nd)463 b(it)g(useful)f(to)h
-(compile)g(the)g(k)-15 b(ernel)462 b(with)h(optimizations)e(for)j(the)f
-(speci\002c)f(processor)h(in)-30 21743 y(your)387 b(machine.)-30
-22853 y
-SDict begin H.S end
- -30 22853 a -30 22853 a
-SDict begin 18.2 H.A end
- -30 22853 a -30 22853
-a
-SDict begin [ /View [/XYZ H.V] /Dest (1621) cvn H.B /DEST pdfmark end
- -30 22853 a 1680 x FU(Building)352 b(your)g(o)-39 b(wn)353
-b(k)-15 b(ernel)353 b(is)f(not)h(that)g(hard.)g(The)g(\002rst)f(step)h
-(is)g(to)f(mak)-15 b(e)353 b(sure)g(you)f(ha)-31 b(v)-23
-b(e)353 b(the)-30 26547 y(k)-15 b(ernel)499 b(source)h(installed)f(on)h
-(your)f(system.)h(Mak)-15 b(e)499 b(sure)g(that)h(you)g(installed)e
-(the)i(packages)-30 28562 y(from)420 b(the)h(K)f(series)g(during)g(the)
-g(installation.)g(Y)-170 b(ou)419 b(will)h(also)g(w)-15
-b(ant)420 b(to)g(mak)-15 b(e)420 b(sure)g(you)g(ha)-31
-b(v)-23 b(e)-30 30577 y(the)507 b(D)g(series)g(installed,)g
-(speci\002cally)f(the)h(C)f(compiler)-62 b(,)507 b(GNU)g(mak)-15
-b(e,)507 b(and)g(GNU)g(binutils.)-30 32591 y(In)491 b(general,)g(it')
--85 b(s)491 b(a)g(good)f(idea)h(to)g(ha)-31 b(v)-23 b(e)490
-b(the)h(entire)g(D)g(series)f(installed)g(if)h(you)g(plan)f(on)h(do-)
--30 34606 y(ing)456 b(an)-23 b(y)456 b(kind)g(of)g(de)-39
-b(v)-23 b(elopment.)456 b(Y)-170 b(ou)456 b(can)g(also)g(do)-39
-b(wnload)456 b(the)g(latest)g(k)-15 b(ernel)456 b(source)g(from)p
-0 1 0 0 TeXcolorcmyk -30 36975 a
-SDict begin H.S end
- -30 36975 a 0 1 0 0
-TeXcolorcmyk -354 x FA(http://)n(w)l(w)l(w)l(.)l(k)l(e)l(r)l(n)l(e)l(l)
-l(.)l(o)l(r)l(g)l(/)l(m)l(i)l(r)l(r)l(o)l(r)l(s)p 0 1 0 0
-TeXcolorcmyk 23431 35514 a
-SDict begin H.R end
- 23431 35514 a 23431 36621
-a
-SDict begin [ /H /I /Border [0 0 0] /Color [0 1 1] /Action << /Subtype
-/URI /URI (http://www.kernel.org/mirrors) >> /Subtype /Link H.B /ANN
-pdfmark end
- 23431 36621 a Black FU(.)-30 36975 y
-SDict begin H.S end
- -30 36975 a -30
-36975 a
-SDict begin 18.2 H.A end
- -30 36975 a -30 36975 a
-SDict begin [ /View [/XYZ H.V] /Dest (1623) cvn H.B /DEST pdfmark end
- -30 36975 a 4372 x FE(Lin)-15
-b(ux)430 b(K)-23 b(ernel)429 b(ver)-23 b(sion)429 b(2.4.x)g
-(Compilation)-30 43218 y
-SDict begin H.S end
- -30 43218 a -30 43218 a
-SDict begin 14.56 H.A end
- -30
-43218 a -30 43218 a
-SDict begin [ /View [/XYZ H.V] /Dest (1625) cvn H.B /DEST pdfmark end
- -30 43218 a -30 43218 a
-SDict begin H.S end
- -30 43218
-a -30 43218 a
-SDict begin 14.56 H.A end
- -30 43218 a -30 43218 a
-SDict begin [ /View [/XYZ H.V] /Dest (1626) cvn H.B /DEST pdfmark end
- -30 43218 a 1291
-x FJ(\045)1309 44509 y
-SDict begin H.S end
- 1309 44509 a 1309 44509 a
-SDict begin 14.56 H.A end
- 1309
-44509 a 1309 44509 a
-SDict begin [ /View [/XYZ H.V] /Dest (1627) cvn H.B /DEST pdfmark end
- 1309 44509 a FH(su)744 b(-)-30 46121
-y FP(Password:)-30 46147 y
-SDict begin H.S end
- -30 46147 a -30 46147 a
-SDict begin 14.56 H.A end
- -30
-46147 a -30 46147 a
-SDict begin [ /View [/XYZ H.V] /Dest (1628) cvn H.B /DEST pdfmark end
- -30 46147 a 1585 x FJ(#)1309 47732
-y
-SDict begin H.S end
- 1309 47732 a 1309 47732 a
-SDict begin 14.56 H.A end
- 1309 47732 a 1309 47732 a
-SDict begin [ /View [/XYZ H.V] /Dest (1629) cvn H.B /DEST pdfmark end
-
-1309 47732 a FH(cd)g(/usr/src/linux)-30 47823 y
-SDict begin H.S end
- -30 47823
-a -30 47823 a
-SDict begin 18.2 H.A end
- -30 47823 a -30 47823 a
-SDict begin [ /View [/XYZ H.V] /Dest (1630) cvn H.B /DEST pdfmark end
- -30 47823 a -30
-49373 a
-SDict begin H.S end
- -30 49373 a -30 49373 a
-SDict begin 18.2 H.A end
- -30 49373 a -30 49373
-a
-SDict begin [ /View [/XYZ H.V] /Dest (1633) cvn H.B /DEST pdfmark end
- -30 49373 a 1924 x FU(The)365 b(\002rst)g(step)g(is)g(to)g(bring)g
-(the)g(k)-15 b(ernel)365 b(source)g(into)f(its)h(base)g(state.)h(W)-124
-b(e)365 b(issue)g(this)g(command)-30 53311 y(to)314 b(do)f(that)h
-(\(note,)g(you)f(may)h(wish)f(to)h(back-up)f(the)27773
-53311 y
-SDict begin H.S end
- 27773 53311 a 27773 53311 a
-SDict begin 18.2 H.A end
- 27773 53311 a 27773
-53311 a
-SDict begin [ /View [/XYZ H.V] /Dest (1634) cvn H.B /DEST pdfmark end
- 27773 53311 a FQ(.config)c FU(\002le)314 b(as)g(this)f(command)
-g(will)g(delete)-30 55326 y(it)387 b(without)g(w)-15
-b(arning\):)-30 57211 y
-SDict begin H.S end
- -30 57211 a -30 57211 a
-SDict begin 14.56 H.A end
- -30 57211
-a -30 57211 a
-SDict begin [ /View [/XYZ H.V] /Dest (1635) cvn H.B /DEST pdfmark end
- -30 57211 a -30 57211 a
-SDict begin H.S end
- -30 57211 a -30
-57211 a
-SDict begin 14.56 H.A end
- -30 57211 a -30 57211 a
-SDict begin [ /View [/XYZ H.V] /Dest (1636) cvn H.B /DEST pdfmark end
- -30 57211 a 1277 x FJ(#)1309
-58488 y
-SDict begin H.S end
- 1309 58488 a 1309 58488 a
-SDict begin 14.56 H.A end
- 1309 58488 a 1309 58488
-a
-SDict begin [ /View [/XYZ H.V] /Dest (1637) cvn H.B /DEST pdfmark end
- 1309 58488 a FH(make)743 b(mrproper)-30 60205 y
-SDict begin H.S end
- -30
-60205 a -30 60205 a
-SDict begin 18.2 H.A end
- -30 60205 a -30 60205 a
-SDict begin [ /View [/XYZ H.V] /Dest (1638) cvn H.B /DEST pdfmark end
- -30 60205
-a 1847 x FU(No)-39 b(w)468 b(you)f(can)h(con\002gure)g(the)f(k)-15
-b(ernel)467 b(for)h(your)g(system.)f(The)h(current)g(k)-15
-b(ernel)467 b(of)-39 b(fers)468 b(three)-30 64067 y(w)-15
-b(ays)438 b(of)g(doing)g(this.)h(The)f(\002rst)g(is)g(the)g(original)g
-(te)-23 b(xt-based)438 b(question)g(and)g(answer)g(system.)-30
-66081 y(It)449 b(asks)f(a)h(b)-31 b(unch)449 b(of)f(questions)g(and)h
-(then)f(b)-31 b(uilds)448 b(a)h(con\002guration)f(\002le.)h(The)f
-(problem)g(with)-30 68096 y(this)356 b(method)g(is)g(that)g(if)g(you)h
-(mess)e(up,)i(you)f(must)g(start)g(o)-23 b(v)g(er)-85
-b(.)356 b(The)h(method)e(that)i(most)e(people)p Black
--30 73792 a FR(52)p Black eop end
-%%Page: 53 75
-TeXDict begin 53 74 bop -8000 -8000 a
-SDict begin /product where{pop product(Distiller)search{pop pop pop
-version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
-closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
-grestore}if}{pop}ifelse}{pop}ifelse}if end
- -8000 -8000 a Black
-0 TeXcolorgray -30 -1237 a
-SDict begin H.S end
- -30 -1237 a 0 TeXcolorgray
-0 TeXcolorgray -30 -1237 a
-SDict begin H.R end
- -30 -1237 a -30 -1237 a
-SDict begin [ /View [/XYZ H.V] /Dest (page.53) cvn H.B /DEST pdfmark
-end
- -30
--1237 a Black -30 -2687 a
-SDict begin H.S end
- -30 -2687 a -30 -2687 a
-SDict begin 18.2 H.A end
- -30
--2687 a -30 -2687 a
-SDict begin [ /View [/XYZ H.V] /Dest (1660) cvn H.B /DEST pdfmark end
- -30 -2687 a 31781 -1636 a FR(Chapter)387
-b(4)g(System)g(Con\002gur)-23 b(ation)p Black -30 3611
-a FU(prefer)414 b(is)f(the)g(menu)f(dri)-39 b(v)-23 b(en)413
-b(one.)h(Lastly)-101 b(,)413 b(there)g(is)g(an)g(X-based)g(k)-15
-b(ernel)413 b(con\002guration)f(tool.)-30 5626 y(Pick)387
-b(the)g(one)g(you)g(w)-15 b(ant)387 b(and)g(issue)g(the)g(appropriate)g
-(command:)-30 7511 y
-SDict begin H.S end
- -30 7511 a -30 7511 a
-SDict begin 14.56 H.A end
- -30 7511 a
--30 7511 a
-SDict begin [ /View [/XYZ H.V] /Dest (1639) cvn H.B /DEST pdfmark end
- -30 7511 a -30 7511 a
-SDict begin H.S end
- -30 7511 a -30 7511
-a
-SDict begin 14.56 H.A end
- -30 7511 a -30 7511 a
-SDict begin [ /View [/XYZ H.V] /Dest (1640) cvn H.B /DEST pdfmark end
- -30 7511 a 1276 x FJ(#)1309 8787
-y
-SDict begin H.S end
- 1309 8787 a 1309 8787 a
-SDict begin 14.56 H.A end
- 1309 8787 a 1309 8787 a
-SDict begin [ /View [/XYZ H.V] /Dest (1641) cvn H.B /DEST pdfmark end
- 1309
-8787 a FH(make)743 b(config)8182 b FP(\(text-based)743
-b(Q&A)g(version\))-30 8964 y
-SDict begin H.S end
- -30 8964 a -30 8964 a
-SDict begin 14.56 H.A end
- -30
-8964 a -30 8964 a
-SDict begin [ /View [/XYZ H.V] /Dest (1642) cvn H.B /DEST pdfmark end
- -30 8964 a 1435 x FJ(#)1309 10399 y
-SDict begin H.S end
-
-1309 10399 a 1309 10399 a
-SDict begin 14.56 H.A end
- 1309 10399 a 1309 10399 a
-SDict begin [ /View [/XYZ H.V] /Dest (1643) cvn H.B /DEST pdfmark end
- 1309
-10399 a FH(make)g(menuconfig)5206 b FP(\(menu)744 b(driven,)f
-(text-based)f(version\))-30 10567 y
-SDict begin H.S end
- -30 10567 a -30 10567
-a
-SDict begin 14.56 H.A end
- -30 10567 a -30 10567 a
-SDict begin [ /View [/XYZ H.V] /Dest (1644) cvn H.B /DEST pdfmark end
- -30 10567 a 1444 x FJ(#)1309
-12011 y
-SDict begin H.S end
- 1309 12011 a 1309 12011 a
-SDict begin 14.56 H.A end
- 1309 12011 a 1309 12011
-a
-SDict begin [ /View [/XYZ H.V] /Dest (1645) cvn H.B /DEST pdfmark end
- 1309 12011 a FH(make)h(xconfig)7438 b FP(\(X-based)743
-b(version,)g(make)h(sure)f(you)g(are)h(in)g(X)f(first\))-30
-12206 y
-SDict begin H.S end
- -30 12206 a -30 12206 a
-SDict begin 18.2 H.A end
- -30 12206 a -30 12206
-a
-SDict begin [ /View [/XYZ H.V] /Dest (SYSTEM-CONFIGURATION-MAKE-MENUCONFIG)
-cvn H.B /DEST pdfmark end
- -30 12206 a 4919 x FX(Figur)-28 b(e)387 b(4-1.)h(K)-39
-b(er)-23 b(nel)387 b(Con\002guration)e(Menu)-30 18989
-y
-SDict begin H.S end
- -30 18989 a -30 18989 a
-SDict begin 18.2 H.A end
- -30 18989 a -30 18989 a
-SDict begin [ /View [/XYZ H.V] /Dest (1648) cvn H.B /DEST pdfmark end
- -30
-18989 a -30 51209 a
- currentpoint currentpoint translate 1 1 scale neg exch neg exch translate
- -30 51209 a @beginspecial 15 @llx
-60 @lly 472 @urx 343 @ury 4570 @rwi @setspecial
-%%BeginDocument: system-configuration/make-menuconfig.eps
-%!PS-Adobe-2.0 EPSF-1.2
-%%BoundingBox: 15 60 472 343
-
-/Outterbox
-{ newpath moveto
-0 247 rlineto
-174 0 rlineto
-23 61 moveto
-444 0 rlineto
-0 247 rlineto
--200 0 rlineto
-23 87 moveto
-444 0 rlineto
-closepath } def
-
-/Innerbox
-{ moveto
-420 0 rlineto
-0 144 rlineto
--420 0 rlineto
-closepath} def
-
-/TitleFont
-{ /Helvetica findfont 13 scalefont setfont
-moveto } def
-
-/PanelFont
-{ /Helvetica findfont 12 scalefont setfont
-moveto } def
-
-/ContentFont
-{ /Helvetica findfont 12 scalefont setfont
-moveto } def
-
-/ButtonFont
-{ /Helvetica findfont 11 scalefont setfont
-moveto } def
-
-23 61 Outterbox
-34 100 Innerbox
-
-15 322 moveto
-457 0 rlineto
-
-15 333 TitleFont(Linux Kernel v2.2.16 Configuration) show
-
-199 306 TitleFont(Main Menu) show
-
-34 294 PanelFont (Arrow keys navigate the menu. <Enter> selects submenus --->.) show
-34 280 PanelFont (Highlighted letters and hotkeys. Pressing <Y> includes, <N> excludes,) show
-34 266 PanelFont (<M> modularizes features. Press <Esc><Esc> to exit, <?> for help) show
-34 252 PanelFont (Legend: [ * ] built-in [ ] excluded <M> module < > module capable) show
-
-97 229 ContentFont (Code maturity level options --->) show
-97 217 ContentFont (Processor type and features --->) show
-97 205 ContentFont (Loadable module support --->) show
-97 193 ContentFont (General setup --->) show
-97 181 ContentFont (Plug and Play support --->) show
-97 169 ContentFont (Block devices --->) show
-97 157 ContentFont (Networking options --->) show
-97 145 ContentFont (Telephony Support --->) show
-97 133 ContentFont (SCSI support --->) show
-97 121 ContentFont (Network device support --->) show
-97 109 ContentFont (Amateur Radio support --->) show
-97 97 ContentFont () show
-
-143 71 ButtonFont (< Select >) show
-221 71 ButtonFont (< Exit >) show
-289 71 ButtonFont (< Help >) show
-
-stroke
-showpage
-%%EOF
-
-%%EndDocument
- @endspecial -30 51209 a
- currentpoint currentpoint translate 1 1 div 1 1 div scale neg exch
-neg exch translate
- -30 51209 a -30 52758 a
-SDict begin H.S end
- -30
-52758 a -30 52758 a
-SDict begin 18.2 H.A end
- -30 52758 a -30 52758 a
-SDict begin [ /View [/XYZ H.V] /Dest (1651) cvn H.B /DEST pdfmark end
- -30 52758
-a 2015 x FU(Ne)-39 b(w)439 b(users)g(will)f(probably)g(\002nd)18568
-54773 y
-SDict begin H.S end
- 18568 54773 a 18568 54773 a
-SDict begin 18.2 H.A end
- 18568 54773 a 18568
-54773 a
-SDict begin [ /View [/XYZ H.V] /Dest (1652) cvn H.B /DEST pdfmark end
- 18568 54773 a FP(menuconfig)g FU(to)h(be)g(the)f(easiest)h(to)f
-(use.)h(Help)g(screens)g(are)-30 56788 y(pro)-23 b(vided)424
-b(that)g(e)-23 b(xplain)424 b(the)g(v)-39 b(arious)424
-b(parts)h(of)f(the)h(k)-15 b(ernel.)424 b(After)g(con\002guring)g(your)
-g(k)-15 b(ernel,)-30 58802 y(e)-23 b(xit)457 b(the)h(con\002guration)f
-(program.)h(It)g(will)f(write)h(the)g(necessary)f(con\002guration)g
-(\002les.)h(No)-39 b(w)-30 60817 y(we)388 b(can)f(prepare)h(the)f
-(source)g(tree)g(for)h(a)f(b)-31 b(uild:)-30 62702 y
-SDict begin H.S end
-
--30 62702 a -30 62702 a
-SDict begin 14.56 H.A end
- -30 62702 a -30 62702 a
-SDict begin [ /View [/XYZ H.V] /Dest (1653) cvn H.B /DEST pdfmark end
- -30 62702
-a -30 62702 a
-SDict begin H.S end
- -30 62702 a -30 62702 a
-SDict begin 14.56 H.A end
- -30 62702 a -30
-62702 a
-SDict begin [ /View [/XYZ H.V] /Dest (1654) cvn H.B /DEST pdfmark end
- -30 62702 a 1276 x FJ(#)1309 63978 y
-SDict begin H.S end
- 1309 63978
-a 1309 63978 a
-SDict begin 14.56 H.A end
- 1309 63978 a 1309 63978 a
-SDict begin [ /View [/XYZ H.V] /Dest (1655) cvn H.B /DEST pdfmark end
- 1309 63978 a
-FH(make)743 b(dep)-30 64146 y
-SDict begin H.S end
- -30 64146 a -30 64146 a
-SDict begin 14.56 H.A end
-
--30 64146 a -30 64146 a
-SDict begin [ /View [/XYZ H.V] /Dest (1656) cvn H.B /DEST pdfmark end
- -30 64146 a 1444 x FJ(#)1309
-65590 y
-SDict begin H.S end
- 1309 65590 a 1309 65590 a
-SDict begin 14.56 H.A end
- 1309 65590 a 1309 65590
-a
-SDict begin [ /View [/XYZ H.V] /Dest (1657) cvn H.B /DEST pdfmark end
- 1309 65590 a FH(make)g(clean)p Black 50226 73792 a
-FR(53)p Black eop end
-%%Page: 54 76
-TeXDict begin 54 75 bop -8000 -8000 a
-SDict begin /product where{pop product(Distiller)search{pop pop pop
-version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
-closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
-grestore}if}{pop}ifelse}{pop}ifelse}if end
- -8000 -8000 a Black
-0 TeXcolorgray -30 -1237 a
-SDict begin H.S end
- -30 -1237 a 0 TeXcolorgray
-0 TeXcolorgray -30 -1237 a
-SDict begin H.R end
- -30 -1237 a -30 -1237 a
-SDict begin [ /View [/XYZ H.V] /Dest (page.54) cvn H.B /DEST pdfmark
-end
- -30
--1237 a Black -399 x FR(Chapter)387 b(4)g(System)g(Con\002gur)-23
-b(ation)p Black -30 2504 a
-SDict begin H.S end
- -30 2504 a -30 2504 a
-SDict begin 18.2 H.A end
- -30
-2504 a -30 2504 a
-SDict begin [ /View [/XYZ H.V] /Dest (1658) cvn H.B /DEST pdfmark end
- -30 2504 a 1107 x FU(The)334 b(ne)-23
-b(xt)334 b(step)f(is)h(to)g(compile)g(the)g(k)-15 b(ernel.)333
-b(First)h(try)g(issuing)f(the)35753 3611 y
-SDict begin H.S end
- 35753 3611
-a 35753 3611 a
-SDict begin 18.2 H.A end
- 35753 3611 a 35753 3611 a
-SDict begin [ /View [/XYZ H.V] /Dest (1659) cvn H.B /DEST pdfmark end
- 35753 3611 a
-FP(bzImage)g FU(command)g(belo)-39 b(w)-101 b(.)-30 6773
-y FJ(#)1309 6773 y
-SDict begin H.S end
- 1309 6773 a 1309 6773 a
-SDict begin 14.56 H.A end
- 1309 6773
-a 1309 6773 a
-SDict begin [ /View [/XYZ H.V] /Dest (1662) cvn H.B /DEST pdfmark end
- 1309 6773 a FH(make)743 b(bzImage)-30 8490
-y
-SDict begin H.S end
- -30 8490 a -30 8490 a
-SDict begin 18.2 H.A end
- -30 8490 a -30 8490 a
-SDict begin [ /View [/XYZ H.V] /Dest (1663) cvn H.B /DEST pdfmark end
- -30 8490
-a 1847 x FU(This)337 b(may)f(tak)-15 b(e)337 b(a)g(while,)g(depending)g
-(on)g(your)f(CPU)h(speed.)g(During)g(the)g(b)-31 b(uild)336
-b(process,)h(you)-30 12352 y(will)500 b(see)g(the)f(compiler)h
-(messages.)g(After)g(b)-31 b(uilding)499 b(the)g(k)-15
-b(ernel)500 b(image,)g(you)f(will)h(w)-15 b(ant)499 b(to)-30
-14366 y(b)-31 b(uild)387 b(an)-23 b(y)387 b(parts)g(of)g(the)g(k)-15
-b(ernel)387 b(that)g(you)g(\003agged)g(as)g(modular)-85
-b(.)-30 16252 y
-SDict begin H.S end
- -30 16252 a -30 16252 a
-SDict begin 14.56 H.A end
- -30 16252 a -30
-16252 a
-SDict begin [ /View [/XYZ H.V] /Dest (1664) cvn H.B /DEST pdfmark end
- -30 16252 a -30 16252 a
-SDict begin H.S end
- -30 16252 a -30 16252
-a
-SDict begin 14.56 H.A end
- -30 16252 a -30 16252 a
-SDict begin [ /View [/XYZ H.V] /Dest (1665) cvn H.B /DEST pdfmark end
- -30 16252 a 1276 x FJ(#)1309
-17528 y
-SDict begin H.S end
- 1309 17528 a 1309 17528 a
-SDict begin 14.56 H.A end
- 1309 17528 a 1309 17528
-a
-SDict begin [ /View [/XYZ H.V] /Dest (1666) cvn H.B /DEST pdfmark end
- 1309 17528 a FH(make)743 b(modules)-30 19102 y
-SDict begin H.S end
- -30
-19102 a -30 19102 a
-SDict begin 18.2 H.A end
- -30 19102 a -30 19102 a
-SDict begin [ /View [/XYZ H.V] /Dest (1667) cvn H.B /DEST pdfmark end
- -30 19102
-a 1990 x FU(W)-124 b(e)402 b(can)g(no)-39 b(w)401 b(install)g(the)g(k)
--15 b(ernel)401 b(and)h(modules)e(that)i(you)32474 21092
-y
-SDict begin H.S end
- 32474 21092 a 32474 21092 a
-SDict begin 18.2 H.A end
- 32474 21092 a 32474 21092
-a
-SDict begin [ /View [/XYZ H.V] /Dest (1668) cvn H.B /DEST pdfmark end
- 32474 21092 a 402 w FU(compiled.)f(T)-124 b(o)401 b(install)g(the)h
-(k)-15 b(ernel)-30 23107 y(on)387 b(a)h(Slackw)-15 b(are)386
-b(system,)h(these)g(commands)g(should)f(be)i(issued:)-30
-24992 y
-SDict begin H.S end
- -30 24992 a -30 24992 a
-SDict begin 14.56 H.A end
- -30 24992 a -30 24992
-a
-SDict begin [ /View [/XYZ H.V] /Dest (1671) cvn H.B /DEST pdfmark end
- -30 24992 a -30 24992 a
-SDict begin H.S end
- -30 24992 a -30 24992 a
-SDict begin 14.56 H.A end
- -30
-24992 a -30 24992 a
-SDict begin [ /View [/XYZ H.V] /Dest (1672) cvn H.B /DEST pdfmark end
- -30 24992 a 1276 x FJ(#)1309 26268
-y
-SDict begin H.S end
- 1309 26268 a 1309 26268 a
-SDict begin 14.56 H.A end
- 1309 26268 a 1309 26268 a
-SDict begin [ /View [/XYZ H.V] /Dest (1673) cvn H.B /DEST pdfmark end
-
-1309 26268 a FH(mv)744 b(/boot/vmlinuz)e(/boot/vmlinuz.old)-30
-26359 y
-SDict begin H.S end
- -30 26359 a -30 26359 a
-SDict begin 14.56 H.A end
- -30 26359 a -30 26359
-a
-SDict begin [ /View [/XYZ H.V] /Dest (1674) cvn H.B /DEST pdfmark end
- -30 26359 a 1521 x FJ(#)1309 27880 y
-SDict begin H.S end
- 1309 27880 a 1309
-27880 a
-SDict begin 14.56 H.A end
- 1309 27880 a 1309 27880 a
-SDict begin [ /View [/XYZ H.V] /Dest (1675) cvn H.B /DEST pdfmark end
- 1309 27880 a FH(cat)i
-(arch/i386/boot/bzImage)d(>)j(/vmlinuz)-30 28048 y
-SDict begin H.S end
- -30
-28048 a -30 28048 a
-SDict begin 14.56 H.A end
- -30 28048 a -30 28048 a
-SDict begin [ /View [/XYZ H.V] /Dest (1676) cvn H.B /DEST pdfmark end
- -30 28048
-a 1444 x FJ(#)1309 29492 y
-SDict begin H.S end
- 1309 29492 a 1309 29492 a
-SDict begin 14.56 H.A end
-
-1309 29492 a 1309 29492 a
-SDict begin [ /View [/XYZ H.V] /Dest (1677) cvn H.B /DEST pdfmark end
- 1309 29492 a FH(mv)g(/boot/System.map)e
-(/boot/System.map.old)-30 29660 y
-SDict begin H.S end
- -30 29660 a -30 29660
-a
-SDict begin 14.56 H.A end
- -30 29660 a -30 29660 a
-SDict begin [ /View [/XYZ H.V] /Dest (1678) cvn H.B /DEST pdfmark end
- -30 29660 a 1444 x FJ(#)1309
-31104 y
-SDict begin H.S end
- 1309 31104 a 1309 31104 a
-SDict begin 14.56 H.A end
- 1309 31104 a 1309 31104
-a
-SDict begin [ /View [/XYZ H.V] /Dest (1679) cvn H.B /DEST pdfmark end
- 1309 31104 a FH(cp)i(System.map)e(/boot/System.map)-30
-31272 y
-SDict begin H.S end
- -30 31272 a -30 31272 a
-SDict begin 14.56 H.A end
- -30 31272 a -30 31272
-a
-SDict begin [ /View [/XYZ H.V] /Dest (1680) cvn H.B /DEST pdfmark end
- -30 31272 a 1443 x FJ(#)1309 32715 y
-SDict begin H.S end
- 1309 32715 a 1309
-32715 a
-SDict begin 14.56 H.A end
- 1309 32715 a 1309 32715 a
-SDict begin [ /View [/XYZ H.V] /Dest (1681) cvn H.B /DEST pdfmark end
- 1309 32715 a FH(make)h
-(modules_install)-30 34433 y
-SDict begin H.S end
- -30 34433 a -30 34433 a
-SDict begin 18.2 H.A end
-
--30 34433 a -30 34433 a
-SDict begin [ /View [/XYZ H.V] /Dest (1682) cvn H.B /DEST pdfmark end
- -30 34433 a 1847 x FU(Y)-170
-b(ou)345 b(will)g(w)-15 b(ant)345 b(to)h(edit)13136 36280
-y
-SDict begin H.S end
- 13136 36280 a 13136 36280 a
-SDict begin 18.2 H.A end
- 13136 36280 a 13136 36280
-a
-SDict begin [ /View [/XYZ H.V] /Dest (1683) cvn H.B /DEST pdfmark end
- 13136 36280 a FQ(/etc/lilo.conf)337 b FU(and)346 b(add)f(a)h(section)
-f(to)h(boot)f(your)h(old)f(k)-15 b(ernel)345 b(in)h(case)-30
-38294 y(your)525 b(ne)-39 b(w)526 b(one)f(does)h(not)f(w)-15
-b(ork.)525 b(After)g(doing)g(that,)h(run)32803 38294
-y
-SDict begin H.S end
- 32803 38294 a 32803 38294 a
-SDict begin 18.2 H.A end
- 32803 38294 a 32803 38294
-a
-SDict begin [ /View [/XYZ H.V] /Dest (1684) cvn H.B /DEST pdfmark end
- 32803 38294 a FP(/sbin/lilo)f FU(to)g(install)f(the)i(ne)-39
-b(w)-30 40309 y(boot)387 b(block.)g(Y)-170 b(ou)387 b(can)g(no)-39
-b(w)388 b(reboot)f(with)g(your)g(ne)-39 b(w)387 b(k)-15
-b(ernel.)-30 41419 y
-SDict begin H.S end
- -30 41419 a -30 41419 a
-SDict begin 18.2 H.A end
- -30 41419
-a -30 41419 a
-SDict begin [ /View [/XYZ H.V] /Dest (1685) cvn H.B /DEST pdfmark end
- -30 41419 a 4779 x FE(Lin)g(ux)430 b(K)-23
-b(ernel)429 b(V)-77 b(er)-23 b(sion)428 b(2.6.x)-30 46217
-y
-SDict begin H.S end
- -30 46217 a -30 46217 a
-SDict begin 18.2 H.A end
- -30 46217 a -30 46217 a
-SDict begin [ /View [/XYZ H.V] /Dest (1687) cvn H.B /DEST pdfmark end
- -30
-46217 a -30 46992 a
-SDict begin H.S end
- -30 46992 a -30 46992 a
-SDict begin 18.2 H.A end
- -30 46992
-a -30 46992 a
-SDict begin [ /View [/XYZ H.V] /Dest (1690) cvn H.B /DEST pdfmark end
- -30 46992 a 1996 x FU(The)418 b(compilation)e(of)h(a)h
-(2.6)g(k)-15 b(ernel)417 b(is)g(only)g(slightly)g(dif)-39
-b(ferent)417 b(from)g(a)h(2.4)g(or)g(a)f(2.2)h(k)-15
-b(ernel,)-30 51002 y(b)-31 b(ut)616 b(it)g(is)h(important)e(that)h(you)
-g(understand)g(the)g(dif)-39 b(ferences)617 b(before)g(delving)e(in.)i
-(It')-85 b(s)616 b(no)-30 53017 y(longer)606 b(necessary)h(to)f(run)
-15651 53017 y
-SDict begin H.S end
- 15651 53017 a 15651 53017 a
-SDict begin 18.2 H.A end
- 15651 53017
-a 15651 53017 a
-SDict begin [ /View [/XYZ H.V] /Dest (1691) cvn H.B /DEST pdfmark end
- 15651 53017 a FP(make)743 b(dep)607 b
-FU(and)25053 53017 y
-SDict begin H.S end
- 25053 53017 a 25053 53017 a
-SDict begin 18.2 H.A end
- 25053
-53017 a 25053 53017 a
-SDict begin [ /View [/XYZ H.V] /Dest (1692) cvn H.B /DEST pdfmark end
- 25053 53017 a FP(make)743 b(clean)p
-FU(.)607 b(Also,)f(the)g(k)-15 b(ernel)606 b(compilation)-30
-55032 y(process)583 b(is)g(not)g(as)g(v)-23 b(erbose)582
-b(in)h(the)g(2.6)h(k)-15 b(ernel)582 b(series.)h(This)g(results)g(in)f
-(a)i(b)-31 b(uild)582 b(process)-30 57046 y(that)389
-b(is)f(easier)i(to)e(understand,)h(b)-31 b(ut)389 b(has)g(some)f(short)
-h(comings)f(as)h(well.)g(If)g(you)g(ha)-31 b(v)-23 b(e)388
-b(trouble)-30 59061 y(b)-31 b(uilding)314 b(the)h(k)-15
-b(ernel,)314 b(it')-85 b(s)314 b(highly)g(recommended)h(that)f(you)h
-(turn)f(v)-23 b(erbosity)314 b(back)h(up.)g(Y)-170 b(ou)314
-b(do)-30 61076 y(this)406 b(simply)f(by)h(appending)16061
-61076 y
-SDict begin H.S end
- 16061 61076 a 16061 61076 a
-SDict begin 18.2 H.A end
- 16061 61076 a 16061
-61076 a
-SDict begin [ /View [/XYZ H.V] /Dest (1693) cvn H.B /DEST pdfmark end
- 16061 61076 a FP(V=1)g FU(to)g(the)h(b)-31 b(uild.)406
-b(This)g(allo)-39 b(ws)406 b(you)g(to)g(log)g(more)g(information)-30
-63090 y(that)527 b(could)g(help)g(a)g(k)-15 b(ernel)526
-b(de)-39 b(v)-23 b(eloper)527 b(or)g(other)g(friendly)g(geek)g(aid)g
-(you)g(in)g(resolving)f(the)-30 65105 y(issue.)-30 66670
-y
-SDict begin H.S end
- -30 66670 a -30 66670 a
-SDict begin 14.56 H.A end
- -30 66670 a -30 66670 a
-SDict begin [ /View [/XYZ H.V] /Dest (1694) cvn H.B /DEST pdfmark end
- -30
-66670 a -30 66670 a
-SDict begin H.S end
- -30 66670 a -30 66670 a
-SDict begin 14.56 H.A end
- -30 66670
-a -30 66670 a
-SDict begin [ /View [/XYZ H.V] /Dest (1695) cvn H.B /DEST pdfmark end
- -30 66670 a 1596 x FJ(#)1309 68266 y
-SDict begin H.S end
- 1309
-68266 a 1309 68266 a
-SDict begin 14.56 H.A end
- 1309 68266 a 1309 68266 a
-SDict begin [ /View [/XYZ H.V] /Dest (1696) cvn H.B /DEST pdfmark end
- 1309 68266
-a FH(make)743 b(bzImage)g(V=1)p Black -30 73792 a FR(54)p
-Black eop end
-%%Page: 55 77
-TeXDict begin 55 76 bop -8000 -8000 a
-SDict begin /product where{pop product(Distiller)search{pop pop pop
-version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
-closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
-grestore}if}{pop}ifelse}{pop}ifelse}if end
- -8000 -8000 a Black
-0 TeXcolorgray -30 -1237 a
-SDict begin H.S end
- -30 -1237 a 0 TeXcolorgray
-0 TeXcolorgray -30 -1237 a
-SDict begin H.R end
- -30 -1237 a -30 -1237 a
-SDict begin [ /View [/XYZ H.V] /Dest (page.55) cvn H.B /DEST pdfmark
-end
- -30
--1237 a Black 31781 -1636 a FR(Chapter)387 b(4)g(System)g(Con\002gur)
--23 b(ation)p Black -30 2504 a
-SDict begin H.S end
- -30 2504 a -30 2504 a
-SDict begin 18.2 H.A end
-
--30 2504 a -30 2504 a
-SDict begin [ /View [/XYZ H.V] /Dest (SYSTEM-CONFIGURATION-KERNEL-MODULES)
-cvn H.B /DEST pdfmark end
- -30 2504 a 1357 x FG(Using)517
-b(K)-28 b(ernel)518 b(Modules)-30 4275 y
-SDict begin H.S end
- -30 4275 a -30
-4275 a
-SDict begin 18.2 H.A end
- -30 4275 a -30 4275 a
-SDict begin [ /View [/XYZ H.V] /Dest (1699) cvn H.B /DEST pdfmark end
- -30 4275 a -30 5204 a
-SDict begin H.S end
- -30
-5204 a -30 5204 a
-SDict begin 18.2 H.A end
- -30 5204 a -30 5204 a
-SDict begin [ /View [/XYZ H.V] /Dest (1702) cvn H.B /DEST pdfmark end
- -30 5204 a 1601
-x FU(K)-39 b(ernel)421 b(modules)g(are)g(another)g(name)g(for)h(de)-39
-b(vice)421 b(dri)-39 b(v)-23 b(ers)421 b(that)g(can)g(be)g(inserted)g
-(into)g(a)g(run-)-30 8820 y(ning)297 b(k)-15 b(ernel.)296
-b(The)-23 b(y)297 b(allo)-39 b(w)297 b(you)f(to)h(e)-23
-b(xtend)296 b(the)h(hardw)-15 b(are)297 b(supported)f(by)h(your)g(k)-15
-b(ernel)296 b(without)-30 10835 y(needing)387 b(to)g(pick)g(another)g
-(k)-15 b(ernel)387 b(or)g(compile)g(one)g(yourself.)-30
-11945 y
-SDict begin H.S end
- -30 11945 a -30 11945 a
-SDict begin 18.2 H.A end
- -30 11945 a -30 11945
-a
-SDict begin [ /View [/XYZ H.V] /Dest (1703) cvn H.B /DEST pdfmark end
- -30 11945 a 1679 x FU(Modules)591 b(can)i(also)e(be)i(loaded)e(and)h
-(unloaded)g(at)g(an)-23 b(y)592 b(time,)g(e)-39 b(v)-23
-b(en)592 b(when)g(the)g(system)f(is)-30 15639 y(running.)540
-b(This)f(mak)-15 b(es)539 b(upgrading)f(speci\002c)i(dri)-39
-b(v)-23 b(ers)539 b(easy)h(for)f(system)g(administrators.)g(A)-30
-17654 y(ne)-39 b(w)571 b(module)e(can)i(be)f(compiled,)g(the)h(old)f
-(one)g(remo)-23 b(v)g(ed,)570 b(and)g(the)h(ne)-39 b(w)570
-b(one)h(loaded,)f(all)-30 19668 y(without)387 b(rebooting)f(the)h
-(machine.)-30 20779 y
-SDict begin H.S end
- -30 20779 a -30 20779 a
-SDict begin 18.2 H.A end
- -30 20779
-a -30 20779 a
-SDict begin [ /View [/XYZ H.V] /Dest (1704) cvn H.B /DEST pdfmark end
- -30 20779 a 1679 x FU(Modules)347 b(are)h(stored)f(in)h
-(the)15912 22458 y
-SDict begin H.S end
- 15912 22458 a 15912 22458 a
-SDict begin 18.2 H.A end
- 15912
-22458 a 15912 22458 a
-SDict begin [ /View [/XYZ H.V] /Dest (1705) cvn H.B /DEST pdfmark end
- 15912 22458 a FQ(/lib/modules/kernelversion)332
-b FU(directory)347 b(on)g(your)h(system.)f(The)-23 b(y)-30
-24472 y(can)515 b(be)h(loaded)f(at)g(boot)g(time)g(through)f(the)25183
-24472 y
-SDict begin H.S end
- 25183 24472 a 25183 24472 a
-SDict begin 18.2 H.A end
- 25183 24472 a 25183
-24472 a
-SDict begin [ /View [/XYZ H.V] /Dest (1707) cvn H.B /DEST pdfmark end
- 25183 24472 a FQ(rc.modules)509 b FU(\002le.)516
-b(This)e(\002le)h(is)g(v)-23 b(ery)515 b(well)g(com-)-30
-26487 y(mented)448 b(and)g(of)-39 b(fers)449 b(e)-23
-b(xamples)447 b(for)h(major)g(hardw)-15 b(are)448 b(components.)g(T)
--124 b(o)448 b(see)g(a)g(list)g(of)g(mod-)-30 28502 y(ules)387
-b(that)g(are)h(currently)f(acti)-39 b(v)-23 b(e,)387
-b(use)h(the)22976 28502 y
-SDict begin H.S end
- 22976 28502 a 22976 28502 a
-SDict begin 18.2 H.A end
-
-22976 28502 a 22976 28502 a
-SDict begin [ /View [/XYZ H.V] /Dest (1708) cvn H.B /DEST pdfmark end
- 22976 28502 a FP(lsmod)p
-FU(\(1\))f(command:)-30 30387 y
-SDict begin H.S end
- -30 30387 a -30 30387
-a
-SDict begin 14.56 H.A end
- -30 30387 a -30 30387 a
-SDict begin [ /View [/XYZ H.V] /Dest (1709) cvn H.B /DEST pdfmark end
- -30 30387 a -30 30387 a
-SDict begin H.S end
- -30
-30387 a -30 30387 a
-SDict begin 14.56 H.A end
- -30 30387 a -30 30387 a
-SDict begin [ /View [/XYZ H.V] /Dest (1710) cvn H.B /DEST pdfmark end
- -30 30387
-a 1276 x FJ(#)1309 31663 y
-SDict begin H.S end
- 1309 31663 a 1309 31663 a
-SDict begin 14.56 H.A end
-
-1309 31663 a 1309 31663 a
-SDict begin [ /View [/XYZ H.V] /Dest (1711) cvn H.B /DEST pdfmark end
- 1309 31663 a FH(lsmod)-30 33275
-y FP(Module)13389 b(Size)1487 b(Used)744 b(by)-30 34887
-y(parport_pc)10413 b(7220)2231 b(0)-30 36498 y(parport)12645
-b(7844)2231 b(0)1488 b([parport_pc])-30 36693 y
-SDict begin H.S end
- -30 36693
-a -30 36693 a
-SDict begin 18.2 H.A end
- -30 36693 a -30 36693 a
-SDict begin [ /View [/XYZ H.V] /Dest (1712) cvn H.B /DEST pdfmark end
- -30 36693 a -30
-36693 a
-SDict begin H.S end
- -30 36693 a -30 36693 a
-SDict begin 18.2 H.A end
- -30 36693 a -30 36693
-a
-SDict begin [ /View [/XYZ H.V] /Dest (1715) cvn H.B /DEST pdfmark end
- -30 36693 a -30 38243 a
-SDict begin H.S end
- -30 38243 a -30 38243 a
-SDict begin 18.2 H.A end
- -30
-38243 a -30 38243 a
-SDict begin [ /View [/XYZ H.V] /Dest (1718) cvn H.B /DEST pdfmark end
- -30 38243 a 1820 x FU(Y)-170 b(ou)596
-b(can)h(see)f(here)h(that)f(I)h(only)f(ha)-31 b(v)-23
-b(e)596 b(the)g(parallel)h(port)f(module)g(loaded.)g(T)-124
-b(o)597 b(remo)-23 b(v)g(e)596 b(a)-30 42077 y(module,)340
-b(you)h(use)f(the)12654 42077 y
-SDict begin H.S end
- 12654 42077 a 12654 42077
-a
-SDict begin 18.2 H.A end
- 12654 42077 a 12654 42077 a
-SDict begin [ /View [/XYZ H.V] /Dest (1719) cvn H.B /DEST pdfmark end
- 12654 42077 a FP(rmmod)p
-FU(\(1\))g(command.)g(Modules)f(can)i(be)g(loaded)f(by)g(the)44018
-42077 y
-SDict begin H.S end
- 44018 42077 a 44018 42077 a
-SDict begin 18.2 H.A end
- 44018 42077 a 44018
-42077 a
-SDict begin [ /View [/XYZ H.V] /Dest (1720) cvn H.B /DEST pdfmark end
- 44018 42077 a FP(modprobe)p FU(\(1\))-30 44092
-y(or)1674 44092 y
-SDict begin H.S end
- 1674 44092 a 1674 44092 a
-SDict begin 18.2 H.A end
- 1674 44092
-a 1674 44092 a
-SDict begin [ /View [/XYZ H.V] /Dest (1721) cvn H.B /DEST pdfmark end
- 1674 44092 a FP(insmod)p FU(\(1\))413
-b(command.)15271 44092 y
-SDict begin H.S end
- 15271 44092 a 15271 44092 a
-SDict begin 18.2 H.A end
-
-15271 44092 a 15271 44092 a
-SDict begin [ /View [/XYZ H.V] /Dest (1722) cvn H.B /DEST pdfmark end
- 15271 44092 a FP(modprobe)f
-FU(is)h(usually)f(safer)i(because)f(it)g(will)f(load)h(an)-23
-b(y)413 b(modules)-30 46107 y(that)387 b(the)g(one)h(you')-77
-b(re)386 b(trying)h(to)g(load)g(depends)g(on.)-30 47217
-y
-SDict begin H.S end
- -30 47217 a -30 47217 a
-SDict begin 18.2 H.A end
- -30 47217 a -30 47217 a
-SDict begin [ /View [/XYZ H.V] /Dest (1723) cvn H.B /DEST pdfmark end
- -30
-47217 a 1679 x FU(A)485 b(lot)f(of)h(users)g(ne)-39 b(v)-23
-b(er)485 b(ha)-31 b(v)-23 b(e)484 b(to)h(load)g(or)g(unload)f(modules)g
-(by)h(hand.)g(The)-23 b(y)484 b(use)h(the)g(k)-15 b(ernel)-30
-50911 y(autoloader)392 b(for)h(module)f(management.)g(By)g(def)-15
-b(ault,)392 b(Slackw)-15 b(are)392 b(includes)42504 50911
-y
-SDict begin H.S end
- 42504 50911 a 42504 50911 a
-SDict begin 18.2 H.A end
- 42504 50911 a 42504 50911
-a
-SDict begin [ /View [/XYZ H.V] /Dest (1724) cvn H.B /DEST pdfmark end
- 42504 50911 a FP(kmod)g FU(in)g(its)g(k)-15 b(er)-31
-b(-)-30 52926 y(nels.)3325 52926 y
-SDict begin H.S end
- 3325 52926 a 3325
-52926 a
-SDict begin 18.2 H.A end
- 3325 52926 a 3325 52926 a
-SDict begin [ /View [/XYZ H.V] /Dest (1725) cvn H.B /DEST pdfmark end
- 3325 52926 a FP(kmod)470
-b FU(is)h(a)f(k)-15 b(ernel)470 b(option)g(that)h(enables)f(the)h(k)-15
-b(ernel)470 b(to)g(automatically)f(load)i(modules)-30
-54940 y(as)481 b(the)-23 b(y)481 b(are)g(requested.)g(F)-23
-b(or)481 b(more)g(information)f(on)30156 54940 y
-SDict begin H.S end
- 30156
-54940 a 30156 54940 a
-SDict begin 18.2 H.A end
- 30156 54940 a 30156 54940 a
-SDict begin [ /View [/XYZ H.V] /Dest (1726) cvn H.B /DEST pdfmark end
- 30156
-54940 a FP(kmod)g FU(and)h(ho)-39 b(w)481 b(it)g(is)g(con\002gured,)g
-(see)-30 56955 y
-SDict begin H.S end
- -30 56955 a -30 56955 a
-SDict begin 18.2 H.A end
- -30 56955 a
--30 56955 a
-SDict begin [ /View [/XYZ H.V] /Dest (1727) cvn H.B /DEST pdfmark end
- -30 56955 a FQ(/usr/src/linux/Documentation/kmod.txt)p
-FU(.)383 b(Y)-170 b(ou')-15 b(ll)404 b(ha)-31 b(v)-23
-b(e)406 b(needed)g(to)g(ha)-31 b(v)-23 b(e)406 b(the)g(k)-15
-b(ernel)405 b(source)-30 58970 y(package,)388 b(or)f(do)-39
-b(wnloaded)387 b(k)-15 b(ernel)387 b(source)g(from)p
-0 1 0 0 TeXcolorcmyk 27501 59324 a
-SDict begin H.S end
- 27501 59324 a 0 1 0 0
-TeXcolorcmyk -354 x FA(http://)n(k)l(e)l(r)l(n)l(e)l(l)l(.)l(o)l(r)l(g)
-p 0 1 0 0 TeXcolorcmyk 41254 57863 a
-SDict begin H.R end
- 41254 57863 a 41254
-58970 a
-SDict begin [ /H /I /Border [0 0 0] /Color [0 1 1] /Action << /Subtype
-/URI /URI (http://kernel.org) >> /Subtype /Link H.B /ANN pdfmark end
- 41254 58970 a Black FU(.)-30 60099 y
-SDict begin H.S end
- -30 60099
-a -30 60099 a
-SDict begin 18.2 H.A end
- -30 60099 a -30 60099 a
-SDict begin [ /View [/XYZ H.V] /Dest (1729) cvn H.B /DEST pdfmark end
- -30 60099 a 1660
-x FU(More)414 b(information)f(can)h(be)g(found)g(in)f(the)h(man)g
-(pages)g(for)g(each)g(of)g(these)g(commands,)f(plus)-30
-63774 y(the)2251 63774 y
-SDict begin H.S end
- 2251 63774 a 2251 63774 a
-SDict begin 18.2 H.A end
- 2251
-63774 a 2251 63774 a
-SDict begin [ /View [/XYZ H.V] /Dest (1730) cvn H.B /DEST pdfmark end
- 2251 63774 a FQ(rc.modules)381 b
-FU(\002le.)p Black 50226 73792 a FR(55)p Black eop end
-%%Page: 56 78
-TeXDict begin 56 77 bop -8000 -8000 a
-SDict begin /product where{pop product(Distiller)search{pop pop pop
-version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
-closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
-grestore}if}{pop}ifelse}{pop}ifelse}if end
- -8000 -8000 a Black
-0 TeXcolorgray -30 -1237 a
-SDict begin H.S end
- -30 -1237 a 0 TeXcolorgray
-0 TeXcolorgray -30 -1237 a
-SDict begin H.R end
- -30 -1237 a -30 -1237 a
-SDict begin [ /View [/XYZ H.V] /Dest (page.56) cvn H.B /DEST pdfmark
-end
- -30
--1237 a Black -399 x FR(Chapter)387 b(4)g(System)g(Con\002gur)-23
-b(ation)p Black Black -30 73792 a(56)p Black eop end
-%%Page: 57 79
-TeXDict begin 57 78 bop -8000 -8000 a
-SDict begin /product where{pop product(Distiller)search{pop pop pop
-version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
-closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
-grestore}if}{pop}ifelse}{pop}ifelse}if end
- -8000 -8000 a Black
-0 TeXcolorgray -30 -1358 a
-SDict begin H.S end
- -30 -1358 a 0 TeXcolorgray
-0 TeXcolorgray -30 -1358 a
-SDict begin H.R end
- -30 -1358 a -30 -1358 a
-SDict begin [ /View [/XYZ H.V] /Dest (page.57) cvn H.B /DEST pdfmark
-end
- -30
--1358 a Black Black -30 2383 a
-SDict begin H.S end
- -30 2383 a -30 2383 a
-SDict begin 18.2 H.A end
-
--30 2383 a -30 2383 a
-SDict begin [ /View [/XYZ H.V] /Dest (NETWORK-CONFIGURATION) cvn H.B
-/DEST pdfmark end
- -30 2383 a 2345 x FS(Chapter)894
-b(5)-30 10743 y FO(Netw)-93 b(ork)1287 b(Con\002guration)p
--30 18316 51806 56 v -30 18316 a
-SDict begin H.S end
- -30 18316 a -30 18316
-a
-SDict begin 18.2 H.A end
- -30 18316 a -30 18316 a
-SDict begin [ /View [/XYZ H.V] /Dest (NETWORK-CONFIGURATION-NETCONFIG)
-cvn H.B /DEST pdfmark end
- -30 18316 a 4852 x FL(5.1)620
-b(Intr)-45 b(oduction:)619 b(netcon\002g)f(is)i(y)-56
-b(our)620 b(friend.)-30 23664 y
-SDict begin H.S end
- -30 23664 a -30 23664
-a
-SDict begin 18.2 H.A end
- -30 23664 a -30 23664 a
-SDict begin [ /View [/XYZ H.V] /Dest (1735) cvn H.B /DEST pdfmark end
- -30 23664 a -30 24780 a
-SDict begin H.S end
- -30
-24780 a -30 24780 a
-SDict begin 18.2 H.A end
- -30 24780 a -30 24780 a
-SDict begin [ /View [/XYZ H.V] /Dest (1737) cvn H.B /DEST pdfmark end
- -30 24780
-a 1518 x FU(When)499 b(you)f(initially)g(installed)g(Slackw)-15
-b(are,)499 b(the)f(setup)h(program)f(in)-62 b(v)-31 b(ok)-15
-b(ed)498 b(the)45081 26298 y
-SDict begin H.S end
- 45081 26298 a 45081 26298
-a
-SDict begin 18.2 H.A end
- 45081 26298 a 45081 26298 a
-SDict begin [ /View [/XYZ H.V] /Dest (1738) cvn H.B /DEST pdfmark end
- 45081 26298 a FP(netconfig)-30
-28313 y FU(program.)5995 28313 y
-SDict begin H.S end
- 5995 28313 a 5995 28313
-a
-SDict begin 18.2 H.A end
- 5995 28313 a 5995 28313 a
-SDict begin [ /View [/XYZ H.V] /Dest (1739) cvn H.B /DEST pdfmark end
- 5995 28313 a FP(netconfig)387
-b FU(attempted)f(to)h(perform)h(the)f(follo)-39 b(wing)386
-b(functions)h(for)g(you:)-30 28649 y
-SDict begin H.S end
- -30 28649 a -30
-28649 a
-SDict begin 18.2 H.A end
- -30 28649 a -30 28649 a
-SDict begin [ /View [/XYZ H.V] /Dest (1740) cvn H.B /DEST pdfmark end
- -30 28649 a -30 29423
-a
-SDict begin H.S end
- -30 29423 a -30 29423 a
-SDict begin 18.2 H.A end
- -30 29423 a -30 29423 a
-SDict begin [ /View [/XYZ H.V] /Dest (1741) cvn H.B /DEST pdfmark end
- -30
-29423 a Black 3229 x FM(\225)p Black 1520 32652 a
-SDict begin H.S end
- 1520
-32652 a 1520 32652 a
-SDict begin 18.2 H.A end
- 1520 32652 a 1520 32652 a
-SDict begin [ /View [/XYZ H.V] /Dest (1742) cvn H.B /DEST pdfmark end
- 1520 32652
-a FU(It)409 b(ask)-15 b(ed)408 b(you)g(for)h(the)g(name)f(of)h(your)g
-(computer)-62 b(,)409 b(and)f(the)h(domain)f(name)h(for)g(your)f(com-)
-1520 34667 y(puter)-85 b(.)-30 35003 y
-SDict begin H.S end
- -30 35003 a -30
-35003 a
-SDict begin 18.2 H.A end
- -30 35003 a -30 35003 a
-SDict begin [ /View [/XYZ H.V] /Dest (1743) cvn H.B /DEST pdfmark end
- -30 35003 a Black 2454
-x FM(\225)p Black 1520 37457 a
-SDict begin H.S end
- 1520 37457 a 1520 37457
-a
-SDict begin 18.2 H.A end
- 1520 37457 a 1520 37457 a
-SDict begin [ /View [/XYZ H.V] /Dest (1744) cvn H.B /DEST pdfmark end
- 1520 37457 a FU(It)409 b(g)-8
-b(a)-31 b(v)-23 b(e)409 b(a)g(brief)g(e)-23 b(xplanation)408
-b(of)h(the)g(v)-39 b(arious)409 b(types)f(of)h(addressing)g(schemes,)g
-(told)f(when)1520 39471 y(the)-23 b(y)488 b(should)f(be)i(used,)f(and)g
-(ask)-15 b(ed)488 b(you)g(which)g(IP)g(addressing)f(scheme)h(you)g
-(wished)g(to)1520 41486 y(use)387 b(to)g(con\002gure)g(your)g(netw)-15
-b(ork)387 b(card:)23971 41486 y
-SDict begin H.S end
- 23971 41486 a 23971 41486
-a
-SDict begin 18.2 H.A end
- 23971 41486 a 23971 41486 a
-SDict begin [ /View [/XYZ H.V] /Dest (1745) cvn H.B /DEST pdfmark end
- 23971 41486 a 24358 41486
-a
-SDict begin H.S end
- 24358 41486 a 24358 41486 a
-SDict begin 18.2 H.A end
- 24358 41486 a 24358 41486
-a
-SDict begin [ /View [/XYZ H.V] /Dest (1747) cvn H.B /DEST pdfmark end
- 24358 41486 a 25133 41486 a
-SDict begin H.S end
- 25133 41486 a 25133 41486
-a
-SDict begin 18.2 H.A end
- 25133 41486 a 25133 41486 a
-SDict begin [ /View [/XYZ H.V] /Dest (1749) cvn H.B /DEST pdfmark end
- 25133 41486 a -30 41821
-a
-SDict begin H.S end
- -30 41821 a -30 41821 a
-SDict begin 18.2 H.A end
- -30 41821 a -30 41821 a
-SDict begin [ /View [/XYZ H.V] /Dest (1750) cvn H.B /DEST pdfmark end
- -30
-41821 a Black 1520 44275 a Fo(\225)p Black 3070 44275
-a
-SDict begin H.S end
- 3070 44275 a 3070 44275 a
-SDict begin 18.2 H.A end
- 3070 44275 a 3070 44275 a
-SDict begin [ /View [/XYZ H.V] /Dest (1751) cvn H.B /DEST pdfmark end
-
-3070 44275 a FU(Static-IP)-30 44290 y
-SDict begin H.S end
- -30 44290 a -30
-44290 a
-SDict begin 18.2 H.A end
- -30 44290 a -30 44290 a
-SDict begin [ /View [/XYZ H.V] /Dest (1752) cvn H.B /DEST pdfmark end
- -30 44290 a Black 1520
-47065 a Fo(\225)p Black 3070 47065 a
-SDict begin H.S end
- 3070 47065 a 3070
-47065 a
-SDict begin 18.2 H.A end
- 3070 47065 a 3070 47065 a
-SDict begin [ /View [/XYZ H.V] /Dest (1753) cvn H.B /DEST pdfmark end
- 3070 47065 a FU(DHCP)-30
-47080 y
-SDict begin H.S end
- -30 47080 a -30 47080 a
-SDict begin 18.2 H.A end
- -30 47080 a -30 47080
-a
-SDict begin [ /View [/XYZ H.V] /Dest (1754) cvn H.B /DEST pdfmark end
- -30 47080 a Black 1520 49854 a Fo(\225)p Black 3070
-49854 a
-SDict begin H.S end
- 3070 49854 a 3070 49854 a
-SDict begin 18.2 H.A end
- 3070 49854 a 3070 49854
-a
-SDict begin [ /View [/XYZ H.V] /Dest (1755) cvn H.B /DEST pdfmark end
- 3070 49854 a FU(Loopback)-30 50965 y
-SDict begin H.S end
- -30 50965 a -30
-50965 a
-SDict begin 18.2 H.A end
- -30 50965 a -30 50965 a
-SDict begin [ /View [/XYZ H.V] /Dest (1756) cvn H.B /DEST pdfmark end
- -30 50965 a Black 2454
-x FM(\225)p Black 1520 53419 a
-SDict begin H.S end
- 1520 53419 a 1520 53419
-a
-SDict begin 18.2 H.A end
- 1520 53419 a 1520 53419 a
-SDict begin [ /View [/XYZ H.V] /Dest (1757) cvn H.B /DEST pdfmark end
- 1520 53419 a FU(It)g(then)g(of)-39
-b(fered)388 b(to)f(probe)g(for)h(a)f(netw)-15 b(ork)387
-b(card)g(to)g(con\002gure.)-30 54529 y
-SDict begin H.S end
- -30 54529 a -30
-54529 a
-SDict begin 18.2 H.A end
- -30 54529 a -30 54529 a
-SDict begin [ /View [/XYZ H.V] /Dest (1758) cvn H.B /DEST pdfmark end
- -30 54529 a -30 54529
-a
-SDict begin H.S end
- -30 54529 a -30 54529 a
-SDict begin 18.2 H.A end
- -30 54529 a -30 54529 a
-SDict begin [ /View [/XYZ H.V] /Dest (1759) cvn H.B /DEST pdfmark end
- -30
-54529 a 1679 x FP(netconfig)505 b FU(will)h(generally)f(tak)-15
-b(e)506 b(care)g(of)g(about)g(80\045)g(of)g(the)g(w)-15
-b(ork)505 b(of)h(con\002guring)f(your)-30 58223 y(LAN)465
-b(netw)-15 b(ork)464 b(connection)g(if)h(you)g(will)f(let)h(it.)g(Note)
-g(that)f(I)h(w)-15 b(ould)464 b(strongly)g(suggest)g(that)-30
-60238 y(you)387 b(re)-39 b(vie)g(w)388 b(your)f(con\002g)g(\002le)g
-(for)g(a)h(couple)f(of)g(reasons:)-30 60573 y
-SDict begin H.S end
- -30 60573
-a -30 60573 a
-SDict begin 18.2 H.A end
- -30 60573 a -30 60573 a
-SDict begin [ /View [/XYZ H.V] /Dest (1760) cvn H.B /DEST pdfmark end
- -30 60573 a -30
-61348 a
-SDict begin H.S end
- -30 61348 a -30 61348 a
-SDict begin 18.2 H.A end
- -30 61348 a -30 61348
-a
-SDict begin [ /View [/XYZ H.V] /Dest (1761) cvn H.B /DEST pdfmark end
- -30 61348 a Black 1210 64577 a FU(1.)p Black 2760 64577
-a
-SDict begin H.S end
- 2760 64577 a 2760 64577 a
-SDict begin 18.2 H.A end
- 2760 64577 a 2760 64577 a
-SDict begin [ /View [/XYZ H.V] /Dest (1762) cvn H.B /DEST pdfmark end
-
-2760 64577 a FU(Y)-170 b(ou)391 b(should)g(ne)-39 b(v)-23
-b(er)391 b(trust)h(a)f(setup)h(program)f(to)g(properly)h(con\002gure)f
-(your)g(computer)-85 b(.)392 b(If)2760 66592 y(you)387
-b(use)g(a)g(setup)g(program,)h(you)f(should)f(re)-39
-b(vie)g(w)388 b(the)f(con\002guration)f(yourself.)-30
-66927 y
-SDict begin H.S end
- -30 66927 a -30 66927 a
-SDict begin 18.2 H.A end
- -30 66927 a -30 66927
-a
-SDict begin [ /View [/XYZ H.V] /Dest (1763) cvn H.B /DEST pdfmark end
- -30 66927 a Black 50169 73672 a FR(57)p Black eop end
-%%Page: 58 80
-TeXDict begin 58 79 bop -8000 -8000 a
-SDict begin /product where{pop product(Distiller)search{pop pop pop
-version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
-closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
-grestore}if}{pop}ifelse}{pop}ifelse}if end
- -8000 -8000 a Black
-0 TeXcolorgray -30 -1358 a
-SDict begin H.S end
- -30 -1358 a 0 TeXcolorgray
-0 TeXcolorgray -30 -1358 a
-SDict begin H.R end
- -30 -1358 a -30 -1358 a
-SDict begin [ /View [/XYZ H.V] /Dest (page.58) cvn H.B /DEST pdfmark
-end
- -30
--1358 a Black -30 -2687 a
-SDict begin H.S end
- -30 -2687 a -30 -2687 a
-SDict begin 18.2 H.A end
- -30
--2687 a -30 -2687 a
-SDict begin [ /View [/XYZ H.V] /Dest (1786) cvn H.B /DEST pdfmark end
- -30 -2687 a 1051 x FR(Chapter)387
-b(5)g(Network)f(Con\002gur)-23 b(ation)p Black Black
-1210 3490 a FU(2.)p Black 2760 3490 a
-SDict begin H.S end
- 2760 3490 a 2760
-3490 a
-SDict begin 18.2 H.A end
- 2760 3490 a 2760 3490 a
-SDict begin [ /View [/XYZ H.V] /Dest (1764) cvn H.B /DEST pdfmark end
- 2760 3490 a FU(If)521
-b(you)f(are)h(still)f(learning)g(Slackw)-15 b(are)520
-b(and)h(Linux)f(system)g(management,)g(vie)-39 b(wing)521
-b(a)2760 5505 y(w)-15 b(orking)427 b(con\002guration)f(can)j(be)f
-(helpful.)g(Y)-170 b(ou')-15 b(ll)426 b(at)i(least)g(kno)-39
-b(w)428 b(what)g(the)f(con\002gura-)2760 7520 y(tion)366
-b(should)h(look)f(lik)-15 b(e.)367 b(This)g(will)g(allo)-39
-b(w)367 b(you)f(to)h(correct)h(problems)e(due)h(to)g(miscon\002g-)2760
-9534 y(uration)386 b(of)i(the)f(system)g(at)g(a)g(later)h(date.)-30
-10645 y
-SDict begin H.S end
- -30 10645 a -30 10645 a
-SDict begin 18.2 H.A end
- -30 10645 a -30 10645
-a
-SDict begin [ /View [/XYZ H.V] /Dest (NETWORK-CONFIGURATION-HARDWARE)
-cvn H.B /DEST pdfmark end
- -30 10645 a 5789 x FL(5.2)620 b(Netw)-45 b(ork)621
-b(Har)-45 b(d)-33 b(ware)620 b(Con\002guration)-30 16930
-y
-SDict begin H.S end
- -30 16930 a -30 16930 a
-SDict begin 18.2 H.A end
- -30 16930 a -30 16930 a
-SDict begin [ /View [/XYZ H.V] /Dest (1767) cvn H.B /DEST pdfmark end
- -30
-16930 a -30 18046 a
-SDict begin H.S end
- -30 18046 a -30 18046 a
-SDict begin 18.2 H.A end
- -30 18046
-a -30 18046 a
-SDict begin [ /View [/XYZ H.V] /Dest (1769) cvn H.B /DEST pdfmark end
- -30 18046 a 1518 x FU(Ha)-31 b(ving)525
-b(decided)g(that)g(you)g(wish)g(to)g(bring)g(your)g(Slackw)-15
-b(are)525 b(machine)g(on)g(to)g(some)g(form)-30 21579
-y(of)393 b(netw)-15 b(ork,)392 b(the)h(\002rst)f(thing)g(you')-15
-b(ll)391 b(need)i(is)f(a)h(Linux-compatible)e(netw)-15
-b(ork)392 b(card.)i(Y)-170 b(ou)391 b(will)-30 23594
-y(need)529 b(to)g(tak)-15 b(e)528 b(a)h(little)f(care)i(to)e(ensure)h
-(that)g(the)f(card)i(is)e(truly)h(Linux-compatible)e(\(please)-30
-25608 y(refer)517 b(to)f(the)h(Linux)f(Documentation)f(Project)h
-(and/or)g(the)g(k)-15 b(ernel)516 b(documentation)g(for)g(in-)-30
-27623 y(formation)470 b(on)g(the)g(current)h(status)e(of)i(your)f
-(proposed)g(netw)-15 b(ork)469 b(card\).)i(As)g(a)f(general)h(rule,)-30
-29638 y(you)611 b(will)f(most)g(lik)-15 b(ely)609 b(be)i(pleasantly)f
-(surprised)g(by)h(the)f(number)h(of)g(netw)-15 b(orking)609
-b(cards)-30 31652 y(that)525 b(are)g(supported)f(under)g(the)h(more)f
-(modern)h(k)-15 b(ernels.)524 b(Ha)-31 b(ving)525 b(said)f(that,)h(I')
--77 b(d)524 b(still)g(sug-)-30 33667 y(gest)422 b(referring)g(to)f(an)
--23 b(y)422 b(of)g(the)g(v)-39 b(arious)421 b(Linux)h(hardw)-15
-b(are)421 b(compatibility)f(lists)h(\(such)h(as)49366
-33667 y
-SDict begin H.S end
- 49366 33667 a 49366 33667 a
-SDict begin 18.2 H.A end
- 49366 33667 a 49366
-33667 a
-SDict begin [ /View [/XYZ H.V] /Dest (1770) cvn H.B /DEST pdfmark end
- 49366 33667 a FU(The)-30 35682 y(GNU/Linux)438
-b(Be)-23 b(ginners)437 b(Group)h(Hardw)-15 b(are)438
-b(Compatibility)f(Links)38110 35062 y FT(1)39012 35682
-y FU(and)41689 35682 y
-SDict begin H.S end
- 41689 35682 a 41689 35682 a
-SDict begin 18.2 H.A end
- 41689
-35682 a 41689 35682 a
-SDict begin [ /View [/XYZ H.V] /Dest (1771) cvn H.B /DEST pdfmark end
- 41689 35682 a FU(The)h(Linux)g(Doc-)-30
-37696 y(umentation)571 b(Project)g(Hardw)-15 b(are)572
-b(HO)-54 b(WT)-28 b(O)24829 37076 y FT(2)25293 37696
-y FU(\))572 b(that)g(are)g(a)-31 b(v)-39 b(ailable)572
-b(on)f(the)h(Internet)g(before)-30 39711 y(purchasing)559
-b(your)g(card.)h(A)g(little)e(e)-23 b(xtra)559 b(time)g(spent)g(in)h
-(research)f(can)h(sa)-31 b(v)-23 b(e)559 b(days)g(or)h(e)-39
-b(v)-23 b(en)-30 41726 y(weeks)387 b(trying)g(to)g(troubleshoot)f(a)i
-(card)f(that)g(isn')-28 b(t)387 b(compatible)g(with)f(Linux)h(at)h
-(all.)-30 42836 y
-SDict begin H.S end
- -30 42836 a -30 42836 a
-SDict begin 18.2 H.A end
- -30 42836 a
--30 42836 a
-SDict begin [ /View [/XYZ H.V] /Dest (1772) cvn H.B /DEST pdfmark end
- -30 42836 a 1679 x FU(When)404 b(you)f(visit)g(the)g(Linux)
-g(Hardw)-15 b(are)403 b(Compatibility)f(lists)h(a)-31
-b(v)-39 b(ailable)403 b(on)h(the)f(Internet,)h(or)-30
-46530 y(when)428 b(you)g(refer)h(to)f(the)g(k)-15 b(ernel)427
-b(documentation)g(installed)h(on)g(your)g(machine,)g(it)g(w)-15
-b(ould)427 b(be)-30 48544 y(wise)387 b(to)4791 48544
-y
-SDict begin H.S end
- 4791 48544 a 4791 48544 a
-SDict begin 18.2 H.A end
- 4791 48544 a 4791 48544 a
-SDict begin [ /View [/XYZ H.V] /Dest (1773) cvn H.B /DEST pdfmark end
-
-4791 48544 a 388 w FU(note)g(which)g(k)-15 b(ernel)387
-b(module)f(you')-15 b(ll)386 b(need)i(to)f(use)g(to)g(support)g(your)g
-(netw)-15 b(ork)386 b(card.)-30 48880 y
-SDict begin H.S end
- -30 48880 a -30
-48880 a
-SDict begin 18.2 H.A end
- -30 48880 a -30 48880 a
-SDict begin [ /View [/XYZ H.V] /Dest (NETWORK-CONFIGURATION-HARDWARE-MODULES)
-cvn H.B /DEST pdfmark end
- -30 48880 a 5027 x FG(Loading)518
-b(Netw)-37 b(ork)518 b(Modules)-30 55250 y
-SDict begin H.S end
- -30 55250
-a -30 55250 a
-SDict begin 18.2 H.A end
- -30 55250 a -30 55250 a
-SDict begin [ /View [/XYZ H.V] /Dest (1777) cvn H.B /DEST pdfmark end
- -30 55250 a 1601
-x FU(K)-39 b(ernel)415 b(modules)g(that)f(are)i(to)f(be)g(loaded)g(on)g
-(boot-up)f(are)i(loaded)f(from)f(the)43116 56851 y
-SDict begin H.S end
- 43116
-56851 a 43116 56851 a
-SDict begin 18.2 H.A end
- 43116 56851 a 43116 56851 a
-SDict begin [ /View [/XYZ H.V] /Dest (1778) cvn H.B /DEST pdfmark end
- 43116
-56851 a FQ(rc.modules)409 b FU(\002le)-30 58866 y(in)1610
-58866 y
-SDict begin H.S end
- 1610 58866 a 1610 58866 a
-SDict begin 18.2 H.A end
- 1610 58866 a 1610 58866
-a
-SDict begin [ /View [/XYZ H.V] /Dest (1779) cvn H.B /DEST pdfmark end
- 1610 58866 a FQ(/etc/rc.d)428 b FU(or)434 b(by)g(the)g(k)-15
-b(ernel')-85 b(s)433 b(auto)g(module)h(loading)f(started)g(by)38861
-58866 y
-SDict begin H.S end
- 38861 58866 a 38861 58866 a
-SDict begin 18.2 H.A end
- 38861 58866 a 38861
-58866 a
-SDict begin [ /View [/XYZ H.V] /Dest (1780) cvn H.B /DEST pdfmark end
- 38861 58866 a FQ(/etc/rc.d/rc.hotplug)p FU(.)-30
-60880 y(The)483 b(def)-15 b(ault)7635 60880 y
-SDict begin H.S end
- 7635 60880
-a 7635 60880 a
-SDict begin 18.2 H.A end
- 7635 60880 a 7635 60880 a
-SDict begin [ /View [/XYZ H.V] /Dest (1781) cvn H.B /DEST pdfmark end
- 7635 60880 a
-FQ(rc.modules)477 b FU(\002le)483 b(includes)f(a)i(Netw)-15
-b(ork)482 b(de)-39 b(vice)484 b(support)e(section.)i(If)f(you)g(open)
--30 62895 y
-SDict begin H.S end
- -30 62895 a -30 62895 a
-SDict begin 18.2 H.A end
- -30 62895 a -30 62895
-a
-SDict begin [ /View [/XYZ H.V] /Dest (1782) cvn H.B /DEST pdfmark end
- -30 62895 a FQ(rc.modules)315 b FU(and)321 b(look)g(for)h(that)f
-(section,)g(you')-15 b(ll)320 b(notice)h(that)h(it)f(\002rst)f(checks)i
-(for)f(an)h(e)-23 b(x)g(ecutable)p Black -30 64271 16000
-45 v -30 65234 a Fx(1)249 b(http://www)-65 b
-(.eskimo.com/\0457Elo/linux/hardw)-10 b(arelinks.html)-30
-66275 y(2)249 b(http://www)-65 b(.linux.or)-18 b(g/docs/ldp/ho)-25
-b(wto/Hardw)-10 b(are-HO)-35 b(WT)-18 b(O/)p Black Black
--30 73672 a FR(58)p Black eop end
-%%Page: 59 81
-TeXDict begin 59 80 bop -8000 -8000 a
-SDict begin /product where{pop product(Distiller)search{pop pop pop
-version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
-closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
-grestore}if}{pop}ifelse}{pop}ifelse}if end
- -8000 -8000 a Black
-0 TeXcolorgray -30 -1237 a
-SDict begin H.S end
- -30 -1237 a 0 TeXcolorgray
-0 TeXcolorgray -30 -1237 a
-SDict begin H.R end
- -30 -1237 a -30 -1237 a
-SDict begin [ /View [/XYZ H.V] /Dest (page.59) cvn H.B /DEST pdfmark
-end
- -30
--1237 a Black 30833 -1636 a FR(Chapter)386 b(5)i(Network)e(Con\002gur)
--23 b(ation)p Black -30 3611 a
-SDict begin H.S end
- -30 3611 a -30 3611 a
-SDict begin 18.2 H.A end
-
--30 3611 a -30 3611 a
-SDict begin [ /View [/XYZ H.V] /Dest (1783) cvn H.B /DEST pdfmark end
- -30 3611 a FQ(rc.netdevice)329
-b FU(\002le)336 b(in)11683 3611 y
-SDict begin H.S end
- 11683 3611 a 11683
-3611 a
-SDict begin 18.2 H.A end
- 11683 3611 a 11683 3611 a
-SDict begin [ /View [/XYZ H.V] /Dest (1784) cvn H.B /DEST pdfmark end
- 11683 3611 a FQ(/etc/rc.d/)p
-FU(.)331 b(This)336 b(script)g(is)g(created)h(if)33008
-3611 y
-SDict begin H.S end
- 33008 3611 a 33008 3611 a
-SDict begin 18.2 H.A end
- 33008 3611 a 33008 3611
-a
-SDict begin [ /View [/XYZ H.V] /Dest (1785) cvn H.B /DEST pdfmark end
- 33008 3611 a FP(setup)f FU(successfully)g(autoprobes)-30
-5626 y(your)387 b(netw)-15 b(ork)387 b(de)-39 b(vice)387
-b(during)g(installation.)-30 8415 y(Belo)-39 b(w)519
-b(that)f(\223if\224)h(block)g(is)g(a)g(list)f(of)h(netw)-15
-b(ork)518 b(de)-39 b(vices)519 b(and)g(modprobe)f(lines,)h(each)g(com-)
--30 10430 y(mented)587 b(out.)g(Find)g(your)g(de)-39
-b(vice)588 b(and)f(uncomment)f(the)i(corresponding)e(modprobe)h(line,)
--30 12445 y(then)382 b(sa)-31 b(v)-23 b(e)381 b(the)h(\002le.)g
-(Running)16849 12445 y
-SDict begin H.S end
- 16849 12445 a 16849 12445 a
-SDict begin 18.2 H.A end
- 16849
-12445 a 16849 12445 a
-SDict begin [ /View [/XYZ H.V] /Dest (1788) cvn H.B /DEST pdfmark end
- 16849 12445 a FQ(rc.modules)375
-b FU(as)25167 12445 y
-SDict begin H.S end
- 25167 12445 a 25167 12445 a
-SDict begin 18.2 H.A end
- 25167
-12445 a 25167 12445 a
-SDict begin [ /View [/XYZ H.V] /Dest (1789) cvn H.B /DEST pdfmark end
- 25167 12445 a FP(root)382 b FU(should)f(no)-39
-b(w)382 b(load)f(your)h(netw)-15 b(ork)381 b(de)-39 b(vice)-30
-14459 y(dri)g(v)-23 b(er)532 b(\(as)g(well)f(as)h(an)-23
-b(y)532 b(other)f(modules)g(that)h(are)g(listed)f(and)h(uncommented\).)
-f(Note)g(that)-30 16474 y(some)385 b(modules)g(\(such)h(as)f(the)h
-(ne2000)f(dri)-39 b(v)-23 b(er\))385 b(require)h(parameters;)f(mak)-15
-b(e)385 b(sure)h(you)f(select)-30 18489 y(the)i(correct)h(line.)-30
-19279 y
-SDict begin H.S end
- -30 19279 a -30 19279 a
-SDict begin 18.2 H.A end
- -30 19279 a -30 19279
-a
-SDict begin [ /View [/XYZ H.V] /Dest (NETWORK-CONFIGURATION-HARDWARE-LAN)
-cvn H.B /DEST pdfmark end
- -30 19279 a 5502 x FG(LAN)517 b(\(10/100/1000Base-T)g(and)g(Base-2\))
-h(car)-37 b(ds)-30 26095 y
-SDict begin H.S end
- -30 26095 a -30 26095 a
-SDict begin 18.2 H.A end
- -30
-26095 a -30 26095 a
-SDict begin [ /View [/XYZ H.V] /Dest (1792) cvn H.B /DEST pdfmark end
- -30 26095 a 1630 x FU(This)345 b(heading)h
-(encompasses)f(all)h(of)g(the)f(internal)h(PCI)f(and)h(ISA)f(netw)-15
-b(orking)345 b(cards.)h(Dri)-39 b(v)-23 b(ers)-30 29740
-y(for)413 b(these)f(cards)h(are)g(pro)-23 b(vided)411
-b(via)i(loadable)f(k)-15 b(ernel)412 b(modules)g(as)g(co)-23
-b(v)g(ered)412 b(in)h(the)f(pre)-39 b(vious)-30 31754
-y(paragraph.)7120 31754 y
-SDict begin H.S end
- 7120 31754 a 7120 31754 a
-SDict begin 18.2 H.A end
- 7120
-31754 a 7120 31754 a
-SDict begin [ /View [/XYZ H.V] /Dest (1793) cvn H.B /DEST pdfmark end
- 7120 31754 a FQ(/sbin/netconfig)558
-b FU(should)566 b(ha)-31 b(v)-23 b(e)566 b(probed)h(for)g(your)f(card)h
-(and)g(successfully)f(set)-30 33769 y(up)544 b(your)5449
-33769 y
-SDict begin H.S end
- 5449 33769 a 5449 33769 a
-SDict begin 18.2 H.A end
- 5449 33769 a 5449 33769
-a
-SDict begin [ /View [/XYZ H.V] /Dest (1794) cvn H.B /DEST pdfmark end
- 5449 33769 a FQ(rc.netdevice)537 b FU(\002le.)544 b(If)h(this)f(did)f
-(not)h(occur)-62 b(,)545 b(the)f(most)g(lik)-15 b(ely)543
-b(problem)h(w)-15 b(ould)543 b(be)-30 35784 y(that)576
-b(the)g(module)g(that)g(you')-77 b(re)576 b(attempting)f(to)h(load)g
-(for)g(a)h(gi)-39 b(v)-23 b(en)575 b(card)i(is)f(incorrect)g(\(it)g(is)
--30 37798 y(not)524 b(unheard)h(of)g(for)f(dif)-39 b(ferent)525
-b(generations)f(of)h(the)g(same)f(brand)h(of)f(card)h(from)g(the)f
-(same)-30 39813 y(manuf)-15 b(acturer)487 b(to)h(require)f(dif)-39
-b(ferent)488 b(modules\).)g(If)g(you)f(are)h(certain)g(that)g(the)f
-(module)g(that)-30 41828 y(you')-77 b(re)434 b(attempting)e(to)i(load)g
-(is)g(the)g(correct)g(one,)g(your)g(ne)-23 b(xt)433 b(best)h(bet)g(w)
--15 b(ould)433 b(be)h(to)g(refer)g(to)-30 43842 y(the)f(documentation)e
-(for)i(the)f(module)g(in)g(an)h(attempt)f(to)g(disco)-23
-b(v)g(er)432 b(whether)h(or)f(not)g(speci\002c)-30 45857
-y(parameters)387 b(are)h(required)f(during)g(when)g(the)g(module)g(is)g
-(initialized.)-30 46968 y
-SDict begin H.S end
- -30 46968 a -30 46968 a
-SDict begin 18.2 H.A end
- -30
-46968 a -30 46968 a
-SDict begin [ /View [/XYZ H.V] /Dest (NETWORK-CONFIGURATION-HARDWARE-MODEMS)
-cvn H.B /DEST pdfmark end
- -30 46968 a 5181 x FG(Modems)-30
-52172 y
-SDict begin H.S end
- -30 52172 a -30 52172 a
-SDict begin 18.2 H.A end
- -30 52172 a -30 52172
-a
-SDict begin [ /View [/XYZ H.V] /Dest (1797) cvn H.B /DEST pdfmark end
- -30 52172 a -30 52172 a
-SDict begin H.S end
- -30 52172 a -30 52172 a
-SDict begin 18.2 H.A end
- -30
-52172 a -30 52172 a
-SDict begin [ /View [/XYZ H.V] /Dest (1799) cvn H.B /DEST pdfmark end
- -30 52172 a -30 52172 a
-SDict begin H.S end
- -30 52172
-a -30 52172 a
-SDict begin 18.2 H.A end
- -30 52172 a -30 52172 a
-SDict begin [ /View [/XYZ H.V] /Dest (1801) cvn H.B /DEST pdfmark end
- -30 52172 a -30
-52172 a
-SDict begin H.S end
- -30 52172 a -30 52172 a
-SDict begin 18.2 H.A end
- -30 52172 a -30 52172
-a
-SDict begin [ /View [/XYZ H.V] /Dest (1803) cvn H.B /DEST pdfmark end
- -30 52172 a -30 52172 a
-SDict begin H.S end
- -30 52172 a -30 52172 a
-SDict begin 18.2 H.A end
- -30
-52172 a -30 52172 a
-SDict begin [ /View [/XYZ H.V] /Dest (1805) cvn H.B /DEST pdfmark end
- -30 52172 a -30 52172 a
-SDict begin H.S end
- -30 52172
-a -30 52172 a
-SDict begin 18.2 H.A end
- -30 52172 a -30 52172 a
-SDict begin [ /View [/XYZ H.V] /Dest (1807) cvn H.B /DEST pdfmark end
- -30 52172 a -30
-53102 a
-SDict begin H.S end
- -30 53102 a -30 53102 a
-SDict begin 18.2 H.A end
- -30 53102 a -30 53102
-a
-SDict begin [ /View [/XYZ H.V] /Dest (1810) cvn H.B /DEST pdfmark end
- -30 53102 a 1992 x FU(Lik)-15 b(e)325 b(LAN)h(cards,)h(modems)e(can)h
-(come)g(with)f(v)-39 b(arious)326 b(b)-31 b(us)325 b(support)h
-(options.)f(Until)g(recently)-101 b(,)-30 57108 y(most)392
-b(modems)h(were)g(8)g(or)g(16)g(bit)f(ISA)h(cards.)g(W)-62
-b(ith)393 b(the)g(ef)-39 b(forts)393 b(of)g(Intel)g(and)g(motherboard)
--30 59123 y(manuf)-15 b(acturers)481 b(e)-39 b(v)-23
-b(erywhere)482 b(to)g(\002nally)f(kill)g(of)-39 b(f)482
-b(the)g(ISA)f(b)-31 b(us)482 b(completely)-101 b(,)482
-b(it)f(is)h(common)-30 61138 y(no)-39 b(w)495 b(to)g(\002nd)g(that)f
-(most)h(modems)f(are)h(either)g(e)-23 b(xternal)494 b(modems)h(that)f
-(connect)h(to)g(a)g(serial)-30 63152 y(or)605 b(USB)g(port)g(or)g(are)h
-(internal)e(PCI)h(modems.)g(If)g(you)g(wish)g(for)g(your)g(modem)g(to)g
-(w)-15 b(ork)-30 65167 y(with)394 b(Linux,)g(it)f(is)10287
-65167 y
-SDict begin H.S end
- 10287 65167 a 10287 65167 a
-SDict begin 18.2 H.A end
- 10287 65167 a 10287
-65167 a
-SDict begin [ /View [/XYZ H.V] /Dest (1811) cvn H.B /DEST pdfmark end
- 10287 65167 a FR(VIT)-77 b(ALL)-31 b(Y)512 b
-FU(important)393 b(to)h(research)g(your)g(prospecti)-39
-b(v)-23 b(e)393 b(modem)h(purchase,)-30 67182 y(particularly)593
-b(if)g(you)g(are)h(considering)f(purchasing)g(a)g(PCI)g(modem.)g(Man)
--23 b(y)-101 b(,)594 b(if)f(not)g(most,)p Black 50226
-73792 a FR(59)p Black eop end
-%%Page: 60 82
-TeXDict begin 60 81 bop -8000 -8000 a
-SDict begin /product where{pop product(Distiller)search{pop pop pop
-version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
-closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
-grestore}if}{pop}ifelse}{pop}ifelse}if end
- -8000 -8000 a Black
-0 TeXcolorgray -30 -1237 a
-SDict begin H.S end
- -30 -1237 a 0 TeXcolorgray
-0 TeXcolorgray -30 -1237 a
-SDict begin H.R end
- -30 -1237 a -30 -1237 a
-SDict begin [ /View [/XYZ H.V] /Dest (page.60) cvn H.B /DEST pdfmark
-end
- -30
--1237 a Black -399 x FR(Chapter)387 b(5)g(Network)f(Con\002gur)-23
-b(ation)p Black -30 3611 a FU(PCI)514 b(modems)g(a)-31
-b(v)-39 b(ailable)515 b(on)g(store)f(shelv)-23 b(es)515
-b(these)f(days)h(are)g(W)-62 b(inModems.)514 b(W)-62
-b(inModems)-30 5626 y(lack)588 b(some)g(basic)h(hardw)-15
-b(are)588 b(on)g(the)g(modem)g(card)g(itself:)g(the)g(functions)g
-(performed)g(by)-30 7640 y(this)550 b(hardw)-15 b(are)550
-b(are)h(typically)f(of)-39 b(\003oaded)551 b(onto)f(the)g(CPU)g(by)h
-(the)f(modem)g(dri)-39 b(v)-23 b(er)551 b(and)f(the)-30
-9655 y(W)-62 b(indo)-39 b(ws)569 b(operating)g(system.)g(This)f(means)h
-(that)g(the)-23 b(y)569 b(do)g(not)g(ha)-31 b(v)-23 b(e)569
-b(the)g(standard)g(serial)-30 11670 y(interf)-15 b(ace)345
-b(that)g(PPPD)g(will)g(be)h(e)-23 b(xpecting)344 b(to)i(see)f(when)h
-(you)f(try)h(to)f(dial)g(out)g(to)h(your)f(Internet)-30
-13684 y(Service)387 b(Pro)-23 b(vider)-85 b(.)-30 14475
-y
-SDict begin H.S end
- -30 14475 a -30 14475 a
-SDict begin 18.2 H.A end
- -30 14475 a -30 14475 a
-SDict begin [ /View [/XYZ H.V] /Dest (1812) cvn H.B /DEST pdfmark end
- -30
-14475 a 1999 x FU(If)419 b(you)f(w)-15 b(ant)418 b(to)g(be)g
-(absolutely)g(sure)g(that)g(the)g(modem)g(you')-77 b(re)418
-b(purchasing)g(will)g(w)-15 b(ork)417 b(with)-30 18489
-y(Linux,)330 b(purchase)f(an)h(e)-23 b(xternal)329 b(hardw)-15
-b(are)330 b(modem)f(that)g(connects)g(to)h(the)g(serial)f(port)h(on)f
-(your)-30 20503 y(PC.)412 b(These)g(are)g(guaranteed)g(to)f(w)-15
-b(ork)411 b(better)h(and)g(be)g(less)f(trouble)h(to)g(install)f(and)g
-(maintain,)-30 22518 y(though)387 b(the)-23 b(y)387 b(require)g(e)-23
-b(xternal)387 b(po)-39 b(wer)387 b(and)g(tend)g(to)h(cost)f(more.)-30
-23628 y
-SDict begin H.S end
- -30 23628 a -30 23628 a
-SDict begin 18.2 H.A end
- -30 23628 a -30 23628
-a
-SDict begin [ /View [/XYZ H.V] /Dest (1813) cvn H.B /DEST pdfmark end
- -30 23628 a 1680 x FU(There)725 b(are)f(se)-39 b(v)-23
-b(eral)725 b(web)f(sites)g(that)g(pro)-23 b(vide)724
-b(dri)-39 b(v)-23 b(ers)724 b(and)h(assistance)e(for)i(con\002guring)
--30 27322 y(W)-62 b(inModem)785 b(based)g(de)-39 b(vices.)786
-b(Some)f(users)g(ha)-31 b(v)-23 b(e)786 b(reported)f(success)g
-(con\002guring)g(and)-30 29337 y(installing)723 b(dri)-39
-b(v)-23 b(ers)724 b(for)g(the)g(v)-39 b(arious)724 b(winmodems,)f
-(including)g(Lucent,)h(Cone)-23 b(xant,)724 b(and)-30
-31352 y(Rockwell)580 b(chipsets.)h(As)f(the)h(required)f(softw)-15
-b(are)581 b(for)f(these)h(de)-39 b(vices)581 b(is)f(not)h(an)g
-(included)-30 33366 y(part)560 b(of)g(Slackw)-15 b(are,)560
-b(and)g(v)-39 b(aries)561 b(from)f(dri)-39 b(v)-23 b(er)560
-b(to)g(dri)-39 b(v)-23 b(er)-62 b(,)560 b(we)g(will)g(not)g(go)g(into)f
-(detail)h(on)-30 35381 y(them.)-30 36171 y
-SDict begin H.S end
- -30 36171
-a -30 36171 a
-SDict begin 18.2 H.A end
- -30 36171 a -30 36171 a
-SDict begin [ /View [/XYZ H.V] /Dest (NETWORK-CONFIGURATION-HARDWARE-PCMCIA)
-cvn H.B /DEST pdfmark end
- -30 36171 a 5502
-x FG(PCMCIA)-30 41696 y
-SDict begin H.S end
- -30 41696 a -30 41696 a
-SDict begin 18.2 H.A end
- -30 41696
-a -30 41696 a
-SDict begin [ /View [/XYZ H.V] /Dest (1816) cvn H.B /DEST pdfmark end
- -30 41696 a -30 42626 a
-SDict begin H.S end
- -30 42626 a -30
-42626 a
-SDict begin 18.2 H.A end
- -30 42626 a -30 42626 a
-SDict begin [ /View [/XYZ H.V] /Dest (1818) cvn H.B /DEST pdfmark end
- -30 42626 a 1991 x FU(As)345
-b(part)h(of)f(your)h(Slackw)-15 b(are)344 b(install,)h(you)h(are)f(gi)
--39 b(v)-23 b(en)345 b(the)h(opportunity)e(to)h(install)g(the)g(pcmcia)
--30 46632 y(package)383 b(\(in)g(the)9812 46632 y
-SDict begin H.S end
- 9812
-46632 a 9812 46632 a
-SDict begin 18.2 H.A end
- 9812 46632 a 9812 46632 a
-SDict begin [ /View [/XYZ H.V] /Dest (1819) cvn H.B /DEST pdfmark end
- 9812 46632
-a FU(\223A\224)g(series)f(of)h(packages\).)h(This)e(package)h(contains)
-f(the)h(applications)f(and)-30 48647 y(setup)375 b(\002les)f(required)h
-(to)g(w)-15 b(ork)374 b(with)h(PCMCIA)f(cards)h(under)g(Slackw)-15
-b(are.)374 b(It)h(is)g(important)f(to)-30 50661 y(note)319
-b(that)g(the)g(pcmcia)g(package)g(only)f(installs)h(the)g(generic)g
-(softw)-15 b(are)318 b(required)h(to)g(w)-15 b(ork)318
-b(with)-30 52676 y(PCMCIA)477 b(cards)i(under)f(Slackw)-15
-b(are.)478 b(It)h(does)f(NO)-62 b(T)478 b(install)g(an)-23
-b(y)478 b(dri)-39 b(v)-23 b(ers)478 b(or)h(modules.)f(The)-30
-54691 y(a)-31 b(v)-39 b(ailable)374 b(modules)e(and)i(dri)-39
-b(v)-23 b(ers)373 b(will)h(be)f(in)h(the)27190 54691
-y
-SDict begin H.S end
- 27190 54691 a 27190 54691 a
-SDict begin 18.2 H.A end
- 27190 54691 a 27190 54691
-a
-SDict begin [ /View [/XYZ H.V] /Dest (1820) cvn H.B /DEST pdfmark end
- 27190 54691 a FQ(/lib/modules/`)55 b(uname-)g(r`)g(/pcmcia)357
-b FU(directory)-101 b(.)-30 56705 y(Y)-170 b(ou)345 b(may)g(need)g(to)g
-(do)h(some)f(e)-23 b(xperimentation)343 b(to)j(\002nd)f(a)g(module)g
-(that)g(will)g(w)-15 b(ork)344 b(with)h(your)-30 58720
-y(netw)-15 b(ork)387 b(card.)-30 59510 y
-SDict begin H.S end
- -30 59510 a
--30 59510 a
-SDict begin 18.2 H.A end
- -30 59510 a -30 59510 a
-SDict begin [ /View [/XYZ H.V] /Dest (1821) cvn H.B /DEST pdfmark end
- -30 59510 a 2000
-x FU(Y)-170 b(ou)398 b(will)f(need)h(to)g(edit)13327
-61510 y
-SDict begin H.S end
- 13327 61510 a 13327 61510 a
-SDict begin 18.2 H.A end
- 13327 61510 a 13327
-61510 a
-SDict begin [ /View [/XYZ H.V] /Dest (1822) cvn H.B /DEST pdfmark end
- 13327 61510 a FQ(/etc/pcmcia/network.opts)383
-b FU(\(for)398 b(an)g(Ethernet)g(card\))g(or)44260 61510
-y
-SDict begin H.S end
- 44260 61510 a 44260 61510 a
-SDict begin 18.2 H.A end
- 44260 61510 a 44260 61510
-a
-SDict begin [ /View [/XYZ H.V] /Dest (1823) cvn H.B /DEST pdfmark end
- 44260 61510 a FQ(/etc/pcmcia/)-30 63524 y(wireless.opts)500
-b FU(\(if)508 b(you)g(ha)-31 b(v)-23 b(e)508 b(a)g(wireless)g(netw)-15
-b(orking)507 b(card\).)i(Lik)-15 b(e)507 b(most)h(Slackw)-15
-b(are)507 b(con-)-30 65539 y(\002guration)539 b(\002les,)g(these)g(tw)
--15 b(o)539 b(\002les)g(are)g(v)-23 b(ery)539 b(well)h(commented)e(and)
-i(it)f(should)f(be)i(easy)f(to)-30 67554 y(determine)387
-b(which)g(modi\002cations)f(need)h(to)g(be)g(made.)p
-Black -30 73792 a FR(60)p Black eop end
-%%Page: 61 83
-TeXDict begin 61 82 bop -8000 -8000 a
-SDict begin /product where{pop product(Distiller)search{pop pop pop
-version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
-closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
-grestore}if}{pop}ifelse}{pop}ifelse}if end
- -8000 -8000 a Black
-0 TeXcolorgray -30 -1237 a
-SDict begin H.S end
- -30 -1237 a 0 TeXcolorgray
-0 TeXcolorgray -30 -1237 a
-SDict begin H.R end
- -30 -1237 a -30 -1237 a
-SDict begin [ /View [/XYZ H.V] /Dest (page.61) cvn H.B /DEST pdfmark
-end
- -30
--1237 a Black 30833 -1636 a FR(Chapter)386 b(5)i(Network)e(Con\002gur)
--23 b(ation)p Black -30 2504 a
-SDict begin H.S end
- -30 2504 a -30 2504 a
-SDict begin 18.2 H.A end
-
--30 2504 a -30 2504 a
-SDict begin [ /View [/XYZ H.V] /Dest (NETWORK-CONFIGURATION-TCPIP)
-cvn H.B /DEST pdfmark end
- -30 2504 a 1628 x FL(5.3)620 b(TCP/IP)i
-(Con\002guration)-30 4629 y
-SDict begin H.S end
- -30 4629 a -30 4629 a
-SDict begin 18.2 H.A end
- -30
-4629 a -30 4629 a
-SDict begin [ /View [/XYZ H.V] /Dest (1826) cvn H.B /DEST pdfmark end
- -30 4629 a -30 5744 a
-SDict begin H.S end
- -30 5744 a -30
-5744 a
-SDict begin 18.2 H.A end
- -30 5744 a -30 5744 a
-SDict begin [ /View [/XYZ H.V] /Dest (1828) cvn H.B /DEST pdfmark end
- -30 5744 a 1519 x FU(At)536
-b(this)g(point,)g(your)g(netw)-15 b(ork)535 b(card)i(should)e(be)h(ph)
--8 b(ysically)536 b(installed)f(in)h(your)g(computer)-62
-b(,)-30 9277 y(and)421 b(the)g(rele)-39 b(v)g(ant)421
-b(k)-15 b(ernel)421 b(modules)f(should)g(be)h(loaded.)g(Y)-170
-b(ou)420 b(will)h(not)f(yet)h(be)g(able)g(to)g(com-)-30
-11292 y(municate)430 b(o)-23 b(v)g(er)431 b(your)f(netw)-15
-b(ork)430 b(card,)i(b)-31 b(ut)430 b(information)g(about)g(the)h(netw)
--15 b(ork)430 b(de)-39 b(vice)431 b(can)g(be)-30 13307
-y(obtained)387 b(with)8838 13307 y
-SDict begin H.S end
- 8838 13307 a 8838
-13307 a
-SDict begin 18.2 H.A end
- 8838 13307 a 8838 13307 a
-SDict begin [ /View [/XYZ H.V] /Dest (1829) cvn H.B /DEST pdfmark end
- 8838 13307 a FP(ifconfig)743
-b(-a)p FU(.)-30 15051 y
-SDict begin H.S end
- -30 15051 a -30 15051 a
-SDict begin 14.56 H.A end
- -30 15051
-a -30 15051 a
-SDict begin [ /View [/XYZ H.V] /Dest (1830) cvn H.B /DEST pdfmark end
- -30 15051 a -30 15051 a
-SDict begin H.S end
- -30 15051 a -30
-15051 a
-SDict begin 14.56 H.A end
- -30 15051 a -30 15051 a
-SDict begin [ /View [/XYZ H.V] /Dest (1831) cvn H.B /DEST pdfmark end
- -30 15051 a 1417 x FJ(#)1309
-16468 y
-SDict begin H.S end
- 1309 16468 a 1309 16468 a
-SDict begin 14.56 H.A end
- 1309 16468 a 1309 16468
-a
-SDict begin [ /View [/XYZ H.V] /Dest (1832) cvn H.B /DEST pdfmark end
- 1309 16468 a FH(ifconfig)g(-a)-30 18080 y FP(eth0)g(Link)h
-(encap:Ethernet)e(HWaddr)h(00:A0:CC:3C:60:A4)-30 19692
-y(UP)h(BROADCAST)f(NOTRAILERS)f(RUNNING)h(MULTICAST)g(MTU:1500)g
-(Metric:1)-30 21303 y(RX)h(packets:110081)e(errors:1)h(dropped:0)g
-(overruns:0)f(frame:0)-30 22915 y(TX)i(packets:84931)e(errors:0)h
-(dropped:0)g(overruns:0)f(carrier:0)-30 24527 y(collisions:0)h
-(txqueuelen:100)-30 26138 y(RX)h(bytes:114824506)e(\(109.5)h(Mb\))g(TX)
-h(bytes:9337924)e(\(8.9)i(Mb\))-30 27750 y(Interrupt:5)f(Base)g
-(address:0x8400)-30 30974 y(lo)h(Link)f(encap:Local)g(Loopback)-30
-32585 y(inet)g(addr:127.0.0.1)g(Mask:255.0.0.0)-30 34197
-y(UP)h(LOOPBACK)f(RUNNING)g(MTU:16436)f(Metric:1)-30
-35809 y(RX)i(packets:2234)e(errors:0)h(dropped:0)g(overruns:0)f
-(frame:0)-30 37421 y(TX)i(packets:2234)e(errors:0)h(dropped:0)g
-(overruns:0)f(carrier:0)-30 39032 y(collisions:0)h(txqueuelen:0)-30
-40644 y(RX)h(bytes:168758)e(\(164.8)h(Kb\))h(TX)f(bytes:168758)g
-(\(164.8)g(Kb\))-30 42388 y
-SDict begin H.S end
- -30 42388 a -30 42388 a
-SDict begin 18.2 H.A end
- -30
-42388 a -30 42388 a
-SDict begin [ /View [/XYZ H.V] /Dest (1833) cvn H.B /DEST pdfmark end
- -30 42388 a 1821 x FU(If)415 b(you)g(just)g(typed)
-10671 44209 y
-SDict begin H.S end
- 10671 44209 a 10671 44209 a
-SDict begin 18.2 H.A end
- 10671 44209
-a 10671 44209 a
-SDict begin [ /View [/XYZ H.V] /Dest (1834) cvn H.B /DEST pdfmark end
- 10671 44209 a FP(/sbin/ifconfig)e FU(without)h(the)
-28960 44209 y
-SDict begin H.S end
- 28960 44209 a 28960 44209 a
-SDict begin 18.2 H.A end
- 28960 44209
-a 28960 44209 a
-SDict begin [ /View [/XYZ H.V] /Dest (1835) cvn H.B /DEST pdfmark end
- 28960 44209 a FP(-a)h FU(suf)-39 b(\002x,)415
-b(you)g(w)-15 b(ould)414 b(not)h(see)g(the)49270 44209
-y
-SDict begin H.S end
- 49270 44209 a 49270 44209 a
-SDict begin 18.2 H.A end
- 49270 44209 a 49270 44209
-a
-SDict begin [ /View [/XYZ H.V] /Dest (1836) cvn H.B /DEST pdfmark end
- 49270 44209 a FQ(eth0)-30 46223 y FU(interf)-15 b(ace,)387
-b(as)h(your)f(netw)-15 b(ork)386 b(card)i(does)f(not)g(yet)g(ha)-31
-b(v)-23 b(e)387 b(a)h(v)-39 b(alid)387 b(IP)g(address)g(or)g(route.)-30
-46559 y
-SDict begin H.S end
- -30 46559 a -30 46559 a
-SDict begin 18.2 H.A end
- -30 46559 a -30 46559
-a
-SDict begin [ /View [/XYZ H.V] /Dest (1837) cvn H.B /DEST pdfmark end
- -30 46559 a -30 47334 a
-SDict begin H.S end
- -30 47334 a -30 47334 a
-SDict begin 18.2 H.A end
- -30
-47334 a -30 47334 a
-SDict begin [ /View [/XYZ H.V] /Dest (1839) cvn H.B /DEST pdfmark end
- -30 47334 a 1679 x FU(While)410 b(there)g(are)g
-(man)-23 b(y)409 b(dif)-39 b(ferent)410 b(w)-15 b(ays)409
-b(to)h(setup)g(and)g(subnet)f(a)h(netw)-15 b(ork,)410
-b(all)f(of)h(them)g(can)-30 51027 y(be)399 b(brok)-15
-b(en)399 b(do)-39 b(wn)399 b(into)f(tw)-15 b(o)399 b(types:)f(Static)h
-(and)g(Dynamic.)g(Static)f(netw)-15 b(orks)398 b(are)h(setup)g(such)-30
-53042 y(that)528 b(each)h(node)9732 53042 y
-SDict begin H.S end
- 9732 53042
-a 9732 53042 a
-SDict begin 18.2 H.A end
- 9732 53042 a 9732 53042 a
-SDict begin [ /View [/XYZ H.V] /Dest (1840) cvn H.B /DEST pdfmark end
- 9732 53042 a
-528 w FU(\(geek)f(lingo)g(for)g(thing)g(with)g(an)g(IP)g(address\))g
-(al)-15 b(w)g(ays)527 b(has)h(the)g(same)g(IP)-30 55057
-y(address.)552 b(Dynamic)f(netw)-15 b(orks)550 b(are)i(setup)g(in)f
-(such)g(a)h(w)-15 b(ay)551 b(that)g(the)h(IP)f(addresses)g(for)h(the)
--30 57071 y(nodes)387 b(are)h(controlled)e(by)h(a)h(single)f(serv)-23
-b(er)387 b(called)g(the)g(DHCP)g(serv)-23 b(er)-85 b(.)-30
-57407 y
-SDict begin H.S end
- -30 57407 a -30 57407 a
-SDict begin 18.2 H.A end
- -30 57407 a -30 57407
-a
-SDict begin [ /View [/XYZ H.V] /Dest (NETWORK-CONFIGURATION-TCPIP-DHCP)
-cvn H.B /DEST pdfmark end
- -30 57407 a 5026 x FG(DHCP)-30 62456 y
-SDict begin H.S end
- -30 62456 a
--30 62456 a
-SDict begin 18.2 H.A end
- -30 62456 a -30 62456 a
-SDict begin [ /View [/XYZ H.V] /Dest (1844) cvn H.B /DEST pdfmark end
- -30 62456 a -30 63387
-a
-SDict begin H.S end
- -30 63387 a -30 63387 a
-SDict begin 18.2 H.A end
- -30 63387 a -30 63387 a
-SDict begin [ /View [/XYZ H.V] /Dest (1846) cvn H.B /DEST pdfmark end
- -30
-63387 a 1991 x FU(DHCP)306 b(\(or)g(Dynamic)g(Host)g(Con\002guration)f
-(Protocol\),)h(is)g(a)g(means)g(by)h(which)f(an)g(IP)g(address)-30
-67393 y(may)502 b(be)f(assigned)g(to)h(a)g(computer)f(on)g(boot.)h
-(When)g(the)f(DHCP)37126 67393 y
-SDict begin H.S end
- 37126 67393 a 37126
-67393 a
-SDict begin 18.2 H.A end
- 37126 67393 a 37126 67393 a
-SDict begin [ /View [/XYZ H.V] /Dest (1847) cvn H.B /DEST pdfmark end
- 37126 67393 a FR(client)529
-b FU(boots,)502 b(it)f(puts)g(out)p Black 50226 73792
-a FR(61)p Black eop end
-%%Page: 62 84
-TeXDict begin 62 83 bop -8000 -8000 a
-SDict begin /product where{pop product(Distiller)search{pop pop pop
-version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
-closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
-grestore}if}{pop}ifelse}{pop}ifelse}if end
- -8000 -8000 a Black
-0 TeXcolorgray -30 -1237 a
-SDict begin H.S end
- -30 -1237 a 0 TeXcolorgray
-0 TeXcolorgray -30 -1237 a
-SDict begin H.R end
- -30 -1237 a -30 -1237 a
-SDict begin [ /View [/XYZ H.V] /Dest (page.62) cvn H.B /DEST pdfmark
-end
- -30
--1237 a Black -30 -2687 a
-SDict begin H.S end
- -30 -2687 a -30 -2687 a
-SDict begin 18.2 H.A end
- -30
--2687 a -30 -2687 a
-SDict begin [ /View [/XYZ H.V] /Dest (1872) cvn H.B /DEST pdfmark end
- -30 -2687 a 1051 x FR(Chapter)387
-b(5)g(Network)f(Con\002gur)-23 b(ation)p Black -30 3611
-a FU(a)431 b(request)g(on)g(the)g(Local)g(Area)g(Netw)-15
-b(ork)430 b(for)h(a)g(DHCP)31463 3611 y
-SDict begin H.S end
- 31463 3611 a
-31463 3611 a
-SDict begin 18.2 H.A end
- 31463 3611 a 31463 3611 a
-SDict begin [ /View [/XYZ H.V] /Dest (1848) cvn H.B /DEST pdfmark end
- 31463 3611 a FR(server)467
-b FU(to)431 b(assign)f(it)h(an)g(IP)g(address.)-30 5626
-y(The)503 b(DHCP)e(serv)-23 b(er)502 b(has)h(a)f(pool)g(\(or)21110
-5626 y
-SDict begin H.S end
- 21110 5626 a 21110 5626 a
-SDict begin 18.2 H.A end
- 21110 5626 a 21110 5626
-a
-SDict begin [ /View [/XYZ H.V] /Dest (1849) cvn H.B /DEST pdfmark end
- 21110 5626 a FR(scope)p FU(\))g(of)h(IP)f(addresses)g(a)-31
-b(v)-39 b(ailable.)503 b(The)f(serv)-23 b(er)502 b(will)-30
-7640 y(respond)h(to)h(this)f(request)h(with)f(an)h(IP)f(address)h(from)
-f(the)h(pool,)g(along)f(with)g(a)45031 7640 y
-SDict begin H.S end
- 45031 7640
-a 45031 7640 a
-SDict begin 18.2 H.A end
- 45031 7640 a 45031 7640 a
-SDict begin [ /View [/XYZ H.V] /Dest (1850) cvn H.B /DEST pdfmark end
- 45031 7640 a
-FR(lease)h(time)p FU(.)-30 9655 y(Once)392 b(the)g(lease)h(time)e(for)i
-(a)f(gi)-39 b(v)-23 b(en)392 b(IP)g(address)g(lease)g(has)g(e)-23
-b(xpired,)392 b(the)g(client)g(must)f(contact)-30 11670
-y(the)c(serv)-23 b(er)387 b(ag)-8 b(ain)388 b(and)f(repeat)h(the)f(ne)
--23 b(gotiation.)-30 12780 y
-SDict begin H.S end
- -30 12780 a -30 12780 a
-SDict begin 18.2 H.A end
-
--30 12780 a -30 12780 a
-SDict begin [ /View [/XYZ H.V] /Dest (1851) cvn H.B /DEST pdfmark end
- -30 12780 a 1679 x FU(The)566
-b(client)g(will)g(then)g(accept)h(the)f(IP)g(address)g(from)g(the)g
-(serv)-23 b(er)566 b(and)h(will)e(con\002gure)h(the)-30
-16474 y(requested)480 b(interf)-15 b(ace)480 b(with)f(the)h(IP)g
-(address.)h(There)f(is)g(one)g(more)g(handy)g(trick)g(that)g(DHCP)-30
-18489 y(clients)499 b(use)h(for)g(ne)-23 b(gotiating)499
-b(the)h(IP)g(address)f(that)h(the)-23 b(y)499 b(will)h(be)g(assigned,)g
-(ho)-39 b(we)g(v)-23 b(er)-85 b(.)500 b(The)-30 20503
-y(client)520 b(will)g(remember)g(it')-85 b(s)519 b(last)h(assigned)g
-(IP)g(address,)g(and)g(will)g(request)g(that)g(the)g(serv)-23
-b(er)-30 22518 y(re-assign)499 b(that)g(IP)g(address)g(to)h(the)f
-(client)g(ag)-8 b(ain)499 b(upon)g(ne)-23 b(xt)499 b(ne)-23
-b(gotiation.)499 b(If)g(possible,)g(the)-30 24533 y(serv)-23
-b(er)356 b(will)g(do)h(so,)g(b)-31 b(ut)356 b(if)g(not,)h(a)g(ne)-39
-b(w)356 b(address)h(is)f(assigned.)g(So,)h(the)f(ne)-23
-b(gotiation)356 b(resembles)-30 26547 y(the)387 b(follo)-39
-b(wing:)-30 28433 y
-SDict begin H.S end
- -30 28433 a -30 28433 a
-SDict begin 18.2 H.A end
- -30 28433
-a -30 28433 a
-SDict begin [ /View [/XYZ H.V] /Dest (1852) cvn H.B /DEST pdfmark end
- -30 28433 a 1520 30112 a
-SDict begin H.S end
- 1520 30112 a 1520
-30112 a
-SDict begin 18.2 H.A end
- 1520 30112 a 1520 30112 a
-SDict begin [ /View [/XYZ H.V] /Dest (1853) cvn H.B /DEST pdfmark end
- 1520 30112 a FR(Client)28
-b FU(:)386 b(Is)h(there)h(a)f(DHCP)g(serv)-23 b(er)387
-b(a)-31 b(v)-39 b(ailable)387 b(on)g(the)h(LAN?)1520
-32126 y
-SDict begin H.S end
- 1520 32126 a 1520 32126 a
-SDict begin 18.2 H.A end
- 1520 32126 a 1520 32126
-a
-SDict begin [ /View [/XYZ H.V] /Dest (1854) cvn H.B /DEST pdfmark end
- 1520 32126 a FR(Server)36 b FU(:)387 b(Y)-155 b(es,)387
-b(there)h(is.)f(Here)h(I)f(am.)1520 34141 y
-SDict begin H.S end
- 1520 34141
-a 1520 34141 a
-SDict begin 18.2 H.A end
- 1520 34141 a 1520 34141 a
-SDict begin [ /View [/XYZ H.V] /Dest (1855) cvn H.B /DEST pdfmark end
- 1520 34141 a
-FR(Client)28 b FU(:)386 b(I)i(need)f(an)g(IP)g(address.)1520
-36156 y
-SDict begin H.S end
- 1520 36156 a 1520 36156 a
-SDict begin 18.2 H.A end
- 1520 36156 a 1520 36156
-a
-SDict begin [ /View [/XYZ H.V] /Dest (1856) cvn H.B /DEST pdfmark end
- 1520 36156 a FR(Server)36 b FU(:)387 b(Y)-170 b(ou)386
-b(may)h(tak)-15 b(e)387 b(192.168.10.10)g(for)h(19200)f(seconds.)1520
-38170 y
-SDict begin H.S end
- 1520 38170 a 1520 38170 a
-SDict begin 18.2 H.A end
- 1520 38170 a 1520 38170
-a
-SDict begin [ /View [/XYZ H.V] /Dest (1857) cvn H.B /DEST pdfmark end
- 1520 38170 a FR(Client)28 b FU(:)386 b(Thank)h(you.)-30
-40056 y
-SDict begin H.S end
- -30 40056 a -30 40056 a
-SDict begin 18.2 H.A end
- -30 40056 a -30 40056
-a
-SDict begin [ /View [/XYZ H.V] /Dest (1858) cvn H.B /DEST pdfmark end
- -30 40056 a 1520 41735 a
-SDict begin H.S end
- 1520 41735 a 1520 41735 a
-SDict begin 18.2 H.A end
-
-1520 41735 a 1520 41735 a
-SDict begin [ /View [/XYZ H.V] /Dest (1859) cvn H.B /DEST pdfmark end
- 1520 41735 a FR(Client)28 b
-FU(:)386 b(Is)h(there)h(a)f(DHCP)g(serv)-23 b(er)387
-b(a)-31 b(v)-39 b(ailable)387 b(on)g(the)h(LAN?)1520
-43749 y
-SDict begin H.S end
- 1520 43749 a 1520 43749 a
-SDict begin 18.2 H.A end
- 1520 43749 a 1520 43749
-a
-SDict begin [ /View [/XYZ H.V] /Dest (1860) cvn H.B /DEST pdfmark end
- 1520 43749 a FR(Server)36 b FU(:Y)-155 b(es,)387 b(there)g(is.)h
-(Here)f(I)h(am.)1520 45764 y
-SDict begin H.S end
- 1520 45764 a 1520 45764
-a
-SDict begin 18.2 H.A end
- 1520 45764 a 1520 45764 a
-SDict begin [ /View [/XYZ H.V] /Dest (1861) cvn H.B /DEST pdfmark end
- 1520 45764 a FR(Client)28
-b FU(:I)386 b(need)h(an)h(IP)f(address.)g(The)h(last)f(time)g(we)1520
-47779 y(talk)-15 b(ed,)387 b(I)g(had)h(192.168.10.10;)1520
-49793 y(May)f(I)g(ha)-31 b(v)-23 b(e)388 b(it)f(ag)-8
-b(ain?)1520 51808 y
-SDict begin H.S end
- 1520 51808 a 1520 51808 a
-SDict begin 18.2 H.A end
- 1520 51808
-a 1520 51808 a
-SDict begin [ /View [/XYZ H.V] /Dest (1862) cvn H.B /DEST pdfmark end
- 1520 51808 a FR(Server)36 b FU(:Y)-155
-b(es,)387 b(you)g(may)g(\(or)g(No,)h(you)f(may)g(not:)g(tak)-15
-b(e)387 b(192.168.10.12)g(instead\).)1520 53823 y
-SDict begin H.S end
- 1520
-53823 a 1520 53823 a
-SDict begin 18.2 H.A end
- 1520 53823 a 1520 53823 a
-SDict begin [ /View [/XYZ H.V] /Dest (1863) cvn H.B /DEST pdfmark end
- 1520 53823
-a FR(Client)28 b FU(:)386 b(Thank)h(you.)-30 54158 y
-SDict begin H.S end
-
--30 54158 a -30 54158 a
-SDict begin 18.2 H.A end
- -30 54158 a -30 54158 a
-SDict begin [ /View [/XYZ H.V] /Dest (1864) cvn H.B /DEST pdfmark end
- -30 54158
-a -30 55708 a
-SDict begin H.S end
- -30 55708 a -30 55708 a
-SDict begin 18.2 H.A end
- -30 55708 a -30
-55708 a
-SDict begin [ /View [/XYZ H.V] /Dest (1867) cvn H.B /DEST pdfmark end
- -30 55708 a 1679 x FU(The)435 b(DHCP)f(client)g(in)g(Linux)g
-(is)18507 57387 y
-SDict begin H.S end
- 18507 57387 a 18507 57387 a
-SDict begin 18.2 H.A end
- 18507 57387
-a 18507 57387 a
-SDict begin [ /View [/XYZ H.V] /Dest (1868) cvn H.B /DEST pdfmark end
- 18507 57387 a FP(/sbin/dhcpcd)p FU(.)g(If)h(you)f(load)
-35585 57387 y
-SDict begin H.S end
- 35585 57387 a 35585 57387 a
-SDict begin 18.2 H.A end
- 35585 57387
-a 35585 57387 a
-SDict begin [ /View [/XYZ H.V] /Dest (1869) cvn H.B /DEST pdfmark end
- 35585 57387 a FQ(/etc/rc.d/rc.inet1)424
-b FU(in)434 b(your)-30 59402 y(f)-15 b(a)-31 b(v)g(orite)717
-b(te)-23 b(xt)716 b(editor)-62 b(,)718 b(you)f(will)f(notice)h(that)
-26824 59402 y
-SDict begin H.S end
- 26824 59402 a 26824 59402 a
-SDict begin 18.2 H.A end
- 26824 59402
-a 26824 59402 a
-SDict begin [ /View [/XYZ H.V] /Dest (1870) cvn H.B /DEST pdfmark end
- 26824 59402 a FP(/sbin/dhcpcd)f FU(is)h(called)g(about)
-g(midw)-15 b(ay)-30 61417 y(through)479 b(the)h(script.)g(This)g(will)f
-(force)i(the)f(con)-62 b(v)-23 b(ersation)479 b(sho)-39
-b(wn)479 b(abo)-23 b(v)g(e.)41444 61417 y
-SDict begin H.S end
- 41444 61417
-a 41444 61417 a
-SDict begin 18.2 H.A end
- 41444 61417 a 41444 61417 a
-SDict begin [ /View [/XYZ H.V] /Dest (1871) cvn H.B /DEST pdfmark end
- 41444 61417
-a FP(dhcpcd)480 b FU(will)f(also)-30 63431 y(track)691
-b(the)f(amount)g(of)h(time)f(left)g(on)h(the)f(lease)h(for)f(the)h
-(current)f(IP)g(address,)h(and)f(will)-30 65446 y(automatically)656
-b(contact)g(the)h(DHCP)f(serv)-23 b(er)657 b(with)f(a)h(request)g(to)f
-(rene)-39 b(w)658 b(the)e(lease)h(when)p Black -30 73792
-a FR(62)p Black eop end
-%%Page: 63 85
-TeXDict begin 63 84 bop -8000 -8000 a
-SDict begin /product where{pop product(Distiller)search{pop pop pop
-version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
-closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
-grestore}if}{pop}ifelse}{pop}ifelse}if end
- -8000 -8000 a Black
-0 TeXcolorgray -30 -1237 a
-SDict begin H.S end
- -30 -1237 a 0 TeXcolorgray
-0 TeXcolorgray -30 -1237 a
-SDict begin H.R end
- -30 -1237 a -30 -1237 a
-SDict begin [ /View [/XYZ H.V] /Dest (page.63) cvn H.B /DEST pdfmark
-end
- -30
--1237 a Black 30833 -1636 a FR(Chapter)386 b(5)i(Network)e(Con\002gur)
--23 b(ation)p Black -30 3611 a FU(necessary)-101 b(.)526
-b(DHCP)f(can)h(also)f(control)g(related)h(information,)f(such)g(as)h
-(what)f(ntp)h(serv)-23 b(er)525 b(to)-30 5626 y(use,)388
-b(what)f(route)g(to)g(tak)-15 b(e,)387 b(etc.)-30 8415
-y(Setting)546 b(up)i(DHCP)e(on)h(Slackw)-15 b(are)547
-b(is)g(simple.)g(Just)f(run)33539 8415 y
-SDict begin H.S end
- 33539 8415 a
-33539 8415 a
-SDict begin 18.2 H.A end
- 33539 8415 a 33539 8415 a
-SDict begin [ /View [/XYZ H.V] /Dest (1875) cvn H.B /DEST pdfmark end
- 33539 8415 a FP(netconfig)g
-FU(and)i(select)f(DHCP)-30 10430 y(when)384 b(of)-39
-b(fered.)384 b(If)g(you)f(ha)-31 b(v)-23 b(e)384 b(more)f(than)h(one)f
-(NIC)h(and)f(do)h(not)f(wish)38822 10430 y
-SDict begin H.S end
- 38822 10430
-a 38822 10430 a
-SDict begin 18.2 H.A end
- 38822 10430 a 38822 10430 a
-SDict begin [ /View [/XYZ H.V] /Dest (1876) cvn H.B /DEST pdfmark end
- 38822 10430
-a FQ(eth0)e FU(to)j(be)g(con\002gured)-30 12445 y(by)488
-b(DHCP)-172 b(,)488 b(just)g(edit)g(the)14768 12445 y
-SDict begin H.S end
-
-14768 12445 a 14768 12445 a
-SDict begin 18.2 H.A end
- 14768 12445 a 14768 12445
-a
-SDict begin [ /View [/XYZ H.V] /Dest (1877) cvn H.B /DEST pdfmark end
- 14768 12445 a FQ(/etc/rc.d/rc.inet1.conf)474 b FU(\002le)488
-b(and)g(change)g(the)h(related)f(v)-39 b(ariable)-30
-14459 y(for)388 b(your)f(NIC)g(to)10042 14459 y
-SDict begin H.S end
- 10042
-14459 a 10042 14459 a
-SDict begin 18.2 H.A end
- 10042 14459 a 10042 14459 a
-SDict begin [ /View [/XYZ H.V] /Dest (1878) cvn H.B /DEST pdfmark end
- 10042
-14459 a FU(\223)10730 14459 y
-SDict begin H.S end
- 10730 14459 a 10730 14459
-a
-SDict begin 18.2 H.A end
- 10730 14459 a 10730 14459 a
-SDict begin [ /View [/XYZ H.V] /Dest (1879) cvn H.B /DEST pdfmark end
- 10730 14459 a FP(YES)p
-FU(\224.)-30 15570 y
-SDict begin H.S end
- -30 15570 a -30 15570 a
-SDict begin 18.2 H.A end
- -30 15570
-a -30 15570 a
-SDict begin [ /View [/XYZ H.V] /Dest (NETWORK-CONFIGURATION-TCPIP-STATIC)
-cvn H.B /DEST pdfmark end
- -30 15570 a 5181 x FG(Static)518 b(IP)-30
-21704 y
-SDict begin H.S end
- -30 21704 a -30 21704 a
-SDict begin 18.2 H.A end
- -30 21704 a -30 21704
-a
-SDict begin [ /View [/XYZ H.V] /Dest (1882) cvn H.B /DEST pdfmark end
- -30 21704 a 1992 x FU(Static)440 b(IP)f(addresses)h(are)h(\002x)-23
-b(ed)439 b(addresses)h(that)g(only)f(change)35154 23696
-y
-SDict begin H.S end
- 35154 23696 a 35154 23696 a
-SDict begin 18.2 H.A end
- 35154 23696 a 35154 23696
-a
-SDict begin [ /View [/XYZ H.V] /Dest (1883) cvn H.B /DEST pdfmark end
- 35154 23696 a 441 w FU(if)h(manually)f(told)h(to.)g(These)-30
-25710 y(are)627 b(used)f(in)g(an)-23 b(y)627 b(case)f(where)h(an)f
-(administrator)g(doesn')-28 b(t)626 b(w)-15 b(ant)625
-b(the)i(IP)f(information)f(to)-30 27725 y(change,)532
-b(such)e(for)i(internal)e(serv)-23 b(ers)531 b(on)g(a)g(LAN,)g(an)-23
-b(y)531 b(serv)-23 b(er)531 b(connected)g(to)g(the)g(Internet,)-30
-29740 y(and)388 b(netw)-15 b(ork)g(ed)386 b(routers.)h(W)-62
-b(ith)388 b(static)f(IP)g(addressing,)g(you)h(assign)e(an)i(address)f
-(and)h(lea)-31 b(v)-23 b(e)387 b(it)-30 31754 y(at)420
-b(that.)g(Other)g(machines)f(kno)-39 b(w)420 b(that)f(you)h(are)g(al)
--15 b(w)g(ays)419 b(at)g(that)h(certain)g(IP)f(address)h(and)g(can)-30
-33769 y(contact)387 b(you)g(at)h(that)f(address)g(al)-15
-b(w)g(ays.)-30 34880 y
-SDict begin H.S end
- -30 34880 a -30 34880 a
-SDict begin 18.2 H.A end
- -30 34880
-a -30 34880 a
-SDict begin [ /View [/XYZ H.V] /Dest (NETWORK-CONFIGURATION-TCPIP-CONF)
-cvn H.B /DEST pdfmark end
- -30 34880 a 5181 x FA(/etc/rc)n(.)l(d)l(/)l(r)l(c)l(.)l
-(i)l(n)l(e)l(t)l(1)l(.)l(c)l(o)l(n)l(f)-30 41124 y
-SDict begin H.S end
- -30
-41124 a -30 41124 a
-SDict begin 18.2 H.A end
- -30 41124 a -30 41124 a
-SDict begin [ /View [/XYZ H.V] /Dest (1889) cvn H.B /DEST pdfmark end
- -30 41124
-a 1882 x FU(If)574 b(you)f(plan)g(on)h(assigning)e(an)i(IP)f(address)g
-(to)g(your)h(ne)-39 b(w)573 b(Slackw)-15 b(are)573 b(box,)h(you)f(may)g
-(do)-30 45020 y(so)547 b(either)h(through)e(the)13782
-45020 y
-SDict begin H.S end
- 13782 45020 a 13782 45020 a
-SDict begin 18.2 H.A end
- 13782 45020 a 13782
-45020 a
-SDict begin [ /View [/XYZ H.V] /Dest (1890) cvn H.B /DEST pdfmark end
- 13782 45020 a FQ(netconfig)541 b FU(script,)548
-b(or)f(you)g(may)h(edit)35144 45020 y
-SDict begin H.S end
- 35144 45020 a 35144
-45020 a
-SDict begin 18.2 H.A end
- 35144 45020 a 35144 45020 a
-SDict begin [ /View [/XYZ H.V] /Dest (1891) cvn H.B /DEST pdfmark end
- 35144 45020 a FQ
-(/etc/rc.d/rc.inet1.conf)p FU(.)533 b(In)-30 47035 y
-SDict begin H.S end
-
--30 47035 a -30 47035 a
-SDict begin 18.2 H.A end
- -30 47035 a -30 47035 a
-SDict begin [ /View [/XYZ H.V] /Dest (1892) cvn H.B /DEST pdfmark end
- -30 47035
-a FQ(/etc/rc.d/rc.inet1.conf)373 b FU(,)388 b(you)f(will)g(notice:)-30
-48920 y
-SDict begin H.S end
- -30 48920 a -30 48920 a
-SDict begin 14.56 H.A end
- -30 48920 a -30 48920
-a
-SDict begin [ /View [/XYZ H.V] /Dest (1893) cvn H.B /DEST pdfmark end
- -30 48920 a 2946 50196 a FP(#)743 b(Primary)g(network)g(interface)g
-(card)h(\(eth0\))2946 51808 y(IPADDR[0]="")2946 53420
-y(NETMASK[0]="")2946 55032 y(USE_DHCP[0]="")2946 56643
-y(DHCP_HOSTNAME[0]="")-30 58338 y
-SDict begin H.S end
- -30 58338 a -30 58338
-a
-SDict begin 18.2 H.A end
- -30 58338 a -30 58338 a
-SDict begin [ /View [/XYZ H.V] /Dest (1894) cvn H.B /DEST pdfmark end
- -30 58338 a 1870 x FU(Then)387
-b(further)h(at)f(the)g(bottom:)-30 61773 y
-SDict begin H.S end
- -30 61773
-a -30 61773 a
-SDict begin 14.56 H.A end
- -30 61773 a -30 61773 a
-SDict begin [ /View [/XYZ H.V] /Dest (1895) cvn H.B /DEST pdfmark end
- -30 61773 a 2946
-63369 a FP(GATEWAY="")p Black 50226 73792 a FR(63)p Black
-eop end
-%%Page: 64 86
-TeXDict begin 64 85 bop -8000 -8000 a
-SDict begin /product where{pop product(Distiller)search{pop pop pop
-version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
-closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
-grestore}if}{pop}ifelse}{pop}ifelse}if end
- -8000 -8000 a Black
-0 TeXcolorgray -30 -1237 a
-SDict begin H.S end
- -30 -1237 a 0 TeXcolorgray
-0 TeXcolorgray -30 -1237 a
-SDict begin H.R end
- -30 -1237 a -30 -1237 a
-SDict begin [ /View [/XYZ H.V] /Dest (page.64) cvn H.B /DEST pdfmark
-end
- -30
--1237 a Black -30 -2687 a
-SDict begin H.S end
- -30 -2687 a -30 -2687 a
-SDict begin 18.2 H.A end
- -30
--2687 a -30 -2687 a
-SDict begin [ /View [/XYZ H.V] /Dest (1930) cvn H.B /DEST pdfmark end
- -30 -2687 a 1051 x FR(Chapter)387
-b(5)g(Network)f(Con\002gur)-23 b(ation)p Black -30 2504
-a
-SDict begin H.S end
- -30 2504 a -30 2504 a
-SDict begin 18.2 H.A end
- -30 2504 a -30 2504 a
-SDict begin [ /View [/XYZ H.V] /Dest (1896) cvn H.B /DEST pdfmark end
- -30 2504
-a 1107 x FU(In)396 b(this)f(case,)h(our)g(task)f(is)g(merely)h(to)f
-(place)h(the)f(correct)h(information)e(between)i(the)f(double-)-30
-5626 y(quotes.)558 b(These)g(v)-39 b(ariables)558 b(are)g(called)g(by)
-24152 5626 y
-SDict begin H.S end
- 24152 5626 a 24152 5626 a
-SDict begin 18.2 H.A end
- 24152 5626 a 24152
-5626 a
-SDict begin [ /View [/XYZ H.V] /Dest (1897) cvn H.B /DEST pdfmark end
- 24152 5626 a FQ(/etc/rc.d/rc.inet1)547 b FU(at)558
-b(boot)f(time)h(to)f(setup)h(the)-30 7640 y(nics.)376
-b(F)-23 b(or)374 b(each)i(NIC,)g(just)e(enter)i(the)f(correct)g(IP)h
-(information,)e(or)i(put)39272 7640 y
-SDict begin H.S end
- 39272 7640 a 39272
-7640 a
-SDict begin 18.2 H.A end
- 39272 7640 a 39272 7640 a
-SDict begin [ /View [/XYZ H.V] /Dest (1898) cvn H.B /DEST pdfmark end
- 39272 7640 a FU(\223)39960
-7640 y
-SDict begin H.S end
- 39960 7640 a 39960 7640 a
-SDict begin 18.2 H.A end
- 39960 7640 a 39960 7640
-a
-SDict begin [ /View [/XYZ H.V] /Dest (1899) cvn H.B /DEST pdfmark end
- 39960 7640 a FP(YES)p FU(\224)f(for)45437 7640 y
-SDict begin H.S end
- 45437
-7640 a 45437 7640 a
-SDict begin 18.2 H.A end
- 45437 7640 a 45437 7640 a
-SDict begin [ /View [/XYZ H.V] /Dest (1900) cvn H.B /DEST pdfmark end
- 45437 7640
-a FP(USE_DHCP)p FU(.)-30 9655 y(Slackw)-15 b(are)481
-b(will)h(startup)g(the)g(interf)-15 b(aces)481 b(with)h(the)g
-(information)f(placed)h(here)g(in)g(the)g(order)-30 11670
-y(the)-23 b(y)387 b(are)h(found.)-30 12005 y
-SDict begin H.S end
- -30 12005
-a -30 12005 a
-SDict begin 18.2 H.A end
- -30 12005 a -30 12005 a
-SDict begin [ /View [/XYZ H.V] /Dest (1901) cvn H.B /DEST pdfmark end
- -30 12005 a -30
-12005 a
-SDict begin H.S end
- -30 12005 a -30 12005 a
-SDict begin 18.2 H.A end
- -30 12005 a -30 12005
-a
-SDict begin [ /View [/XYZ H.V] /Dest (1903) cvn H.B /DEST pdfmark end
- -30 12005 a -30 12780 a
-SDict begin H.S end
- -30 12780 a -30 12780 a
-SDict begin 18.2 H.A end
- -30
-12780 a -30 12780 a
-SDict begin [ /View [/XYZ H.V] /Dest (1905) cvn H.B /DEST pdfmark end
- -30 12780 a 1679 x FU(The)2871 14459
-y
-SDict begin H.S end
- 2871 14459 a 2871 14459 a
-SDict begin 18.2 H.A end
- 2871 14459 a 2871 14459 a
-SDict begin [ /View [/XYZ H.V] /Dest (1906) cvn H.B /DEST pdfmark end
-
-2871 14459 a FP(DEFAULT_GW)490 b FU(v)-39 b(ariable)491
-b(sets)g(up)f(the)h(def)-15 b(ault)491 b(route)f(for)h(Slackw)-15
-b(are.)491 b(All)g(communica-)-30 16474 y(tions)357 b(between)g(your)g
-(computer)f(and)h(other)g(computers)g(on)g(the)g(Internet)g(must)g
-(pass)g(through)-30 18489 y(that)559 b(g)-8 b(ate)-39
-b(w)-15 b(ay)560 b(if)g(no)f(other)g(route)h(is)f(speci\002ed)g(for)h
-(them.)g(If)g(you)f(are)h(using)f(DHCP)-172 b(,)559 b(you)-30
-20503 y(will)447 b(usually)h(not)f(need)h(to)g(enter)g(an)-23
-b(ything)446 b(here,)j(as)f(the)f(DHCP)h(serv)-23 b(er)447
-b(will)h(specify)f(what)-30 22518 y(g)-8 b(ate)-39 b(w)-15
-b(ay)387 b(to)g(use.)-30 23628 y
-SDict begin H.S end
- -30 23628 a -30 23628
-a
-SDict begin 18.2 H.A end
- -30 23628 a -30 23628 a
-SDict begin [ /View [/XYZ H.V] /Dest (NETWORK-CONFIGURATION-TCPIP-RESOLVER)
-cvn H.B /DEST pdfmark end
- -30 23628 a 5182 x FA(/etc/re)n(s)l(o)l(l)l
-(v)l(.)l(c)l(o)l(n)l(f)-30 29873 y
-SDict begin H.S end
- -30 29873 a -30 29873
-a
-SDict begin 18.2 H.A end
- -30 29873 a -30 29873 a
-SDict begin [ /View [/XYZ H.V] /Dest (1910) cvn H.B /DEST pdfmark end
- -30 29873 a 1881 x FU(Ok,)454
-b(so)g(you')-77 b(v)-23 b(e)453 b(got)h(an)g(IP)f(address,)i(you')-77
-b(v)-23 b(e)452 b(got)i(a)g(def)-15 b(ault)453 b(g)-8
-b(ate)-39 b(w)-15 b(ay)-101 b(,)455 b(you)e(may)h(e)-39
-b(v)-23 b(en)454 b(ha)-31 b(v)-23 b(e)-30 33769 y(ten)398
-b(million)e(dollars)i(\(gi)-39 b(v)-23 b(e)397 b(us)h(some\),)21624
-33769 y
-SDict begin H.S end
- 21624 33769 a 21624 33769 a
-SDict begin 18.2 H.A end
- 21624 33769 a 21624
-33769 a
-SDict begin [ /View [/XYZ H.V] /Dest (1911) cvn H.B /DEST pdfmark end
- 21624 33769 a 397 w FU(b)-31 b(ut)398 b(what)g(good)f(is)g
-(that)h(if)g(you)f(can')-28 b(t)398 b(resolv)-23 b(e)397
-b(names)-30 35784 y(to)591 b(IP)g(addresses?)f(No)h(one)g(w)-15
-b(ants)590 b(to)h(type)g(in)27312 35784 y
-SDict begin H.S end
- 27312 35784
-a 27312 35784 a
-SDict begin 18.2 H.A end
- 27312 35784 a 27312 35784 a
-SDict begin [ /View [/XYZ H.V] /Dest (1913) cvn H.B /DEST pdfmark end
- 27312 35784
-a 0 1 0 0 TeXcolorcmyk 27312 35784 a
-SDict begin H.S end
- 27312 35784 a 0 1 0 0
-TeXcolorcmyk FQ(72.9.234.112)p 0 1 0 0 TeXcolorcmyk 34828
-35043 a
-SDict begin H.R end
- 34828 35043 a 34828 35784 a
-SDict begin [ /H /I /Border [0 0 0] /Color [0 1 1] /Action << /Subtype
-/URI /URI (72.9.234.112) >> /Subtype /Link H.B /ANN pdfmark end
- 34828 35784 a Black
-591 w FU(into)f(their)h(web)g(bro)-39 b(wser)591 b(to)-30
-37798 y(reach)3766 37798 y
-SDict begin H.S end
- 3766 37798 a 3766 37798 a
-SDict begin 18.2 H.A end
-
-3766 37798 a 3766 37798 a
-SDict begin [ /View [/XYZ H.V] /Dest (1914) cvn H.B /DEST pdfmark end
- 3766 37798 a 0 1 0 0 TeXcolorcmyk
-3766 38068 a
-SDict begin H.S end
- 3766 38068 a 0 1 0 0 TeXcolorcmyk -270 x
-FQ(www.slackbook.org)p 0 1 0 0 TeXcolorcmyk 14414 37058
-a
-SDict begin H.R end
- 14414 37058 a 14414 37798 a
-SDict begin [ /H /I /Border [0 0 0] /Color [0 1 1] /Action << /Subtype
-/URI /URI (www.slackbook.org) >> /Subtype /Link H.B /ANN pdfmark end
- 14414 37798 a Black FU(.)441
-b(After)g(all,)g(who)g(other)f(than)h(the)f(authors)g(w)-15
-b(ould)440 b(memorize)g(that)-30 39813 y(IP)f(address?)f(W)-124
-b(e)439 b(need)g(to)f(setup)h(DNS,)f(b)-31 b(ut)439 b(ho)-39
-b(w?)439 b(That')-85 b(s)438 b(where)37356 39813 y
-SDict begin H.S end
- 37356
-39813 a 37356 39813 a
-SDict begin 18.2 H.A end
- 37356 39813 a 37356 39813 a
-SDict begin [ /View [/XYZ H.V] /Dest (1915) cvn H.B /DEST pdfmark end
- 37356
-39813 a FQ(/etc/resolv.conf)428 b FU(comes)-30 41828
-y(into)387 b(play)-101 b(.)-30 42938 y
-SDict begin H.S end
- -30 42938 a -30
-42938 a
-SDict begin 18.2 H.A end
- -30 42938 a -30 42938 a
-SDict begin [ /View [/XYZ H.V] /Dest (1916) cvn H.B /DEST pdfmark end
- -30 42938 a 1679 x FU(Chances)473
-b(are)i(you)e(already)h(ha)-31 b(v)-23 b(e)473 b(the)h(proper)g
-(options)e(in)32843 44617 y
-SDict begin H.S end
- 32843 44617 a 32843 44617
-a
-SDict begin 18.2 H.A end
- 32843 44617 a 32843 44617 a
-SDict begin [ /View [/XYZ H.V] /Dest (1917) cvn H.B /DEST pdfmark end
- 32843 44617 a 33317 44617
-a
-SDict begin H.S end
- 33317 44617 a 33317 44617 a
-SDict begin 18.2 H.A end
- 33317 44617 a 33317 44617
-a
-SDict begin [ /View [/XYZ H.V] /Dest (1919) cvn H.B /DEST pdfmark end
- 33317 44617 a FQ(/etc/resolv.conf)p FU(.)464 b(If)474
-b(you)f(setup)-30 46632 y(your)334 b(netw)-15 b(ork)333
-b(connection)h(using)f(DHCP)-172 b(,)334 b(the)g(DHCP)g(serv)-23
-b(er)334 b(should)f(handle)h(updating)g(this)-30 48647
-y(\002le)410 b(for)g(you.)g(\(T)-108 b(echnically)410
-b(the)g(DHCP)f(serv)-23 b(er)410 b(just)g(tells)32498
-48647 y
-SDict begin H.S end
- 32498 48647 a 32498 48647 a
-SDict begin 18.2 H.A end
- 32498 48647 a 32498
-48647 a
-SDict begin [ /View [/XYZ H.V] /Dest (1920) cvn H.B /DEST pdfmark end
- 32498 48647 a FP(dhcpcd)g FU(what)g(to)g(put)f(here,)i(and)f
-(it)-30 50661 y(obe)-23 b(ys.\))415 b(If)g(you)g(need)g(to)g(manually)g
-(update)f(your)h(DNS)g(serv)-23 b(er)415 b(list)f(though,)h(you')-15
-b(ll)414 b(need)h(to)-30 52676 y(hand)387 b(edit)6082
-52676 y
-SDict begin H.S end
- 6082 52676 a 6082 52676 a
-SDict begin 18.2 H.A end
- 6082 52676 a 6082 52676
-a
-SDict begin [ /View [/XYZ H.V] /Dest (1921) cvn H.B /DEST pdfmark end
- 6082 52676 a FQ(/etc/resolv.conf)p FU(.)378 b(Belo)-39
-b(w)387 b(is)g(an)g(e)-23 b(xample:)-30 54561 y
-SDict begin H.S end
- -30 54561
-a -30 54561 a
-SDict begin 14.56 H.A end
- -30 54561 a -30 54561 a
-SDict begin [ /View [/XYZ H.V] /Dest (1922) cvn H.B /DEST pdfmark end
- -30 54561 a -30
-54561 a
-SDict begin H.S end
- -30 54561 a -30 54561 a
-SDict begin 14.56 H.A end
- -30 54561 a -30 54561
-a
-SDict begin [ /View [/XYZ H.V] /Dest (1923) cvn H.B /DEST pdfmark end
- -30 54561 a 1276 x FJ(#)1309 55837 y
-SDict begin H.S end
- 1309 55837 a 1309
-55837 a
-SDict begin 14.56 H.A end
- 1309 55837 a 1309 55837 a
-SDict begin [ /View [/XYZ H.V] /Dest (1924) cvn H.B /DEST pdfmark end
- 1309 55837 a FH(cat)744
-b(/etc/resolv.conf)-30 57449 y FP(nameserver)f(192.168.1.254)-30
-59061 y(search)g(lizella.net)-30 60637 y
-SDict begin H.S end
- -30 60637 a
--30 60637 a
-SDict begin 18.2 H.A end
- -30 60637 a -30 60637 a
-SDict begin [ /View [/XYZ H.V] /Dest (1925) cvn H.B /DEST pdfmark end
- -30 60637 a 1988
-x FU(The)340 b(\002rst)f(line)g(is)g(simple.)h(The)f(nameserv)-23
-b(er)339 b(directi)-39 b(v)-23 b(e)340 b(tells)f(us)g(what)h(DNS)f
-(serv)-23 b(ers)339 b(to)g(query)-101 b(.)-30 64640 y(By)483
-b(necessity)g(these)f(are)i(al)-15 b(w)g(ays)482 b(IP)h(addresses.)g(Y)
--170 b(ou)483 b(may)f(ha)-31 b(v)-23 b(e)483 b(as)h(man)-23
-b(y)482 b(listed)h(there)g(as)-30 66655 y(you)376 b(lik)-15
-b(e.)376 b(Slackw)-15 b(are)375 b(will)h(happily)g(check)g(one)g(after)
-h(the)f(other)g(until)f(one)i(returns)e(a)i(match.)p
-Black -30 73792 a FR(64)p Black eop end
-%%Page: 65 87
-TeXDict begin 65 86 bop -8000 -8000 a
-SDict begin /product where{pop product(Distiller)search{pop pop pop
-version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
-closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
-grestore}if}{pop}ifelse}{pop}ifelse}if end
- -8000 -8000 a Black
-0 TeXcolorgray -30 -1237 a
-SDict begin H.S end
- -30 -1237 a 0 TeXcolorgray
-0 TeXcolorgray -30 -1237 a
-SDict begin H.R end
- -30 -1237 a -30 -1237 a
-SDict begin [ /View [/XYZ H.V] /Dest (page.65) cvn H.B /DEST pdfmark
-end
- -30
--1237 a Black 30833 -1636 a FR(Chapter)386 b(5)i(Network)e(Con\002gur)
--23 b(ation)p Black -30 2504 a
-SDict begin H.S end
- -30 2504 a -30 2504 a
-SDict begin 18.2 H.A end
-
--30 2504 a -30 2504 a
-SDict begin [ /View [/XYZ H.V] /Dest (1926) cvn H.B /DEST pdfmark end
- -30 2504 a 1107 x FU(The)656 b(second)g(line)g
-(is)g(a)h(little)f(more)g(interesting.)f(The)i(search)f(directi)-39
-b(v)-23 b(e)656 b(gi)-39 b(v)-23 b(es)656 b(us)g(a)h(list)-30
-5626 y(of)619 b(domain)f(names)h(to)g(assume)f(whene)-39
-b(v)-23 b(er)619 b(a)g(DNS)g(request)f(is)h(made.)g(This)g(allo)-39
-b(ws)618 b(you)-30 7640 y(to)546 b(contact)f(a)h(machine)f(by)h(only)f
-(the)h(\002rst)f(part)h(of)f(its)h(FQDN)f(\(Fully)g(Quali\002ed)g
-(Domain)-30 9655 y(Name\).)392 b(F)-23 b(or)392 b(e)-23
-b(xample,)391 b(if)14833 9655 y
-SDict begin H.S end
- 14833 9655 a 14833 9655
-a
-SDict begin 18.2 H.A end
- 14833 9655 a 14833 9655 a
-SDict begin [ /View [/XYZ H.V] /Dest (1927) cvn H.B /DEST pdfmark end
- 14833 9655 a FU(\223slackw)-15
-b(are.com\224)391 b(were)i(in)e(your)h(search)g(path,)g(you)f(could)h
-(reach)-30 11670 y
-SDict begin H.S end
- -30 11670 a -30 11670 a
-SDict begin 18.2 H.A end
- -30 11670
-a -30 11670 a
-SDict begin [ /View [/XYZ H.V] /Dest (1928) cvn H.B /DEST pdfmark end
- -30 11670 a 0 1 0 0 TeXcolorcmyk -30 11939
-a
-SDict begin H.S end
- -30 11939 a 0 1 0 0 TeXcolorcmyk -269 x FQ
-(http://store.slackware.com)p 0 1 0 0 TeXcolorcmyk 16255
-10828 a
-SDict begin H.R end
- 16255 10828 a 16255 11670 a
-SDict begin [ /H /I /Border [0 0 0] /Color [0 1 1] /Action << /Subtype
-/URI /URI (http://store.slackware.com) >> /Subtype /Link H.B /ANN pdfmark
-end
- 16255 11670 a Black
-388 w FU(by)387 b(just)g(pointing)f(your)h(web)g(bro)-39
-b(wser)388 b(at)39805 11670 y
-SDict begin H.S end
- 39805 11670 a 39805 11670
-a
-SDict begin 18.2 H.A end
- 39805 11670 a 39805 11670 a
-SDict begin [ /View [/XYZ H.V] /Dest (1929) cvn H.B /DEST pdfmark end
- 39805 11670 a 0 1 0 0 TeXcolorcmyk
-39805 11939 a
-SDict begin H.S end
- 39805 11939 a 0 1 0 0 TeXcolorcmyk -269
-x FQ(http://store)p 0 1 0 0 TeXcolorcmyk 47321 10828
-a
-SDict begin H.R end
- 47321 10828 a 47321 11670 a
-SDict begin [ /H /I /Border [0 0 0] /Color [0 1 1] /Action << /Subtype
-/URI /URI (http://store) >> /Subtype /Link H.B /ANN pdfmark end
- 47321 11670 a Black FU(.)-30
-14831 y FJ(#)1309 14831 y
-SDict begin H.S end
- 1309 14831 a 1309 14831 a
-SDict begin 14.56 H.A end
- 1309
-14831 a 1309 14831 a
-SDict begin [ /View [/XYZ H.V] /Dest (1932) cvn H.B /DEST pdfmark end
- 1309 14831 a FH(ping)743 b(-c)h(1)g(store)-30
-16443 y FP(PING)f(store.slackware.com)f(\(69.50.233.153\):)g(56)i(data)
-f(bytes)-30 18055 y(64)h(bytes)f(from)g(69.50.233.153)g(:)g(icmp_seq=0)
-g(ttl=64)g(time=0.251)g(ms)-30 19666 y(1)h(packets)f(transmitted,)f(1)i
-(packets)f(received,)g(0\045)g(packet)h(loss)-30 21278
-y(round-trip)f(min/avg/max)f(=)i(0.251/0.251/0.251)e(ms)-30
-25617 y
-SDict begin H.S end
- -30 25617 a -30 25617 a
-SDict begin 18.2 H.A end
- -30 25617 a -30 25617
-a
-SDict begin [ /View [/XYZ H.V] /Dest (NETWORK-CONFIGURATION-TCPIP-HOSTS)
-cvn H.B /DEST pdfmark end
- -30 25617 a 5518 x FA(/etc/ho)n(s)l(t)l(s)-30 32197
-y
-SDict begin H.S end
- -30 32197 a -30 32197 a
-SDict begin 18.2 H.A end
- -30 32197 a -30 32197 a
-SDict begin [ /View [/XYZ H.V] /Dest (1936) cvn H.B /DEST pdfmark end
- -30
-32197 a 1882 x FU(No)-39 b(w)429 b(that)g(we')-77 b(v)-23
-b(e)429 b(got)g(DNS)f(w)-15 b(orking)428 b(\002ne,)i(what)e(if)i(we)f
-(w)-15 b(ant)428 b(to)h(bypass)g(our)g(DNS)g(serv)-23
-b(er)-62 b(,)-30 36094 y(or)519 b(add)f(a)h(DNS)e(entry)i(for)f(a)h
-(machine)f(that)g(isn')-28 b(t)518 b(in)g(DNS?)g(Slackw)-15
-b(are)518 b(includes)g(the)g(oft-)-30 38108 y(lo)-23
-b(v)g(ed)3729 38108 y
-SDict begin H.S end
- 3729 38108 a 3729 38108 a
-SDict begin 18.2 H.A end
- 3729
-38108 a 3729 38108 a
-SDict begin [ /View [/XYZ H.V] /Dest (1937) cvn H.B /DEST pdfmark end
- 3729 38108 a FQ(/etc/hosts)356 b
-FU(\002le)361 b(which)g(contains)g(a)h(local)g(list)f(of)h(DNS)f(names)
-h(and)f(IP)h(addresses)f(the)-23 b(y)-30 40123 y(should)387
-b(match)g(to.)-30 41688 y
-SDict begin H.S end
- -30 41688 a -30 41688 a
-SDict begin 14.56 H.A end
- -30
-41688 a -30 41688 a
-SDict begin [ /View [/XYZ H.V] /Dest (1938) cvn H.B /DEST pdfmark end
- -30 41688 a -30 41688 a
-SDict begin H.S end
- -30 41688
-a -30 41688 a
-SDict begin 14.56 H.A end
- -30 41688 a -30 41688 a
-SDict begin [ /View [/XYZ H.V] /Dest (1939) cvn H.B /DEST pdfmark end
- -30 41688 a 1597
-x FJ(#)1309 43285 y
-SDict begin H.S end
- 1309 43285 a 1309 43285 a
-SDict begin 14.56 H.A end
- 1309 43285
-a 1309 43285 a
-SDict begin [ /View [/XYZ H.V] /Dest (1940) cvn H.B /DEST pdfmark end
- 1309 43285 a FH(cat)744 b(/etc/hosts)-30
-44896 y FP(127.0.0.1)8182 b(localhost)1486 b(locahost.localdomain)-30
-46508 y(192.168.1.101)5206 b(redtail)-30 48120 y(172.14.66.32)5950
-b(foobar.slackware.com)-30 49696 y
-SDict begin H.S end
- -30 49696 a -30 49696
-a
-SDict begin 18.2 H.A end
- -30 49696 a -30 49696 a
-SDict begin [ /View [/XYZ H.V] /Dest (1941) cvn H.B /DEST pdfmark end
- -30 49696 a 1988 x FU(Here)610
-b(you)f(can)g(see)h(that)f(localhost)f(has)i(an)f(IP)g(address)g(of)
-34905 51684 y
-SDict begin H.S end
- 34905 51684 a 34905 51684 a
-SDict begin 18.2 H.A end
- 34905 51684
-a 34905 51684 a
-SDict begin [ /View [/XYZ H.V] /Dest (1942) cvn H.B /DEST pdfmark end
- 34905 51684 a 0 1 0 0 TeXcolorcmyk 34905
-51684 a
-SDict begin H.S end
- 34905 51684 a 0 1 0 0 TeXcolorcmyk FQ(127.0.0.1)p
-0 1 0 0 TeXcolorcmyk 40543 50944 a
-SDict begin H.R end
- 40543 50944 a 40543
-51684 a
-SDict begin [ /H /I /Border [0 0 0] /Color [0 1 1] /Action << /Subtype
-/URI /URI (127.0.0.1) >> /Subtype /Link H.B /ANN pdfmark end
- 40543 51684 a Black 609 w FU(\(al)-15 b(w)g(ays)608
-b(reserv)-23 b(ed)-30 53699 y(for)566 b(localhost\),)g(redtail)f(can)h
-(be)g(reached)g(at)25749 53699 y
-SDict begin H.S end
- 25749 53699 a 25749
-53699 a
-SDict begin 18.2 H.A end
- 25749 53699 a 25749 53699 a
-SDict begin [ /View [/XYZ H.V] /Dest (1943) cvn H.B /DEST pdfmark end
- 25749 53699 a 0 1 0 0
-TeXcolorcmyk 25749 53699 a
-SDict begin H.S end
- 25749 53699 a 0 1 0 0 TeXcolorcmyk
-FQ(192.168.1.101)p 0 1 0 0 TeXcolorcmyk 33892 52958 a
-SDict begin H.R end
-
-33892 52958 a 33892 53699 a
-SDict begin [ /H /I /Border [0 0 0] /Color [0 1 1] /Action << /Subtype
-/URI /URI (192.168.1.101) >> /Subtype /Link H.B /ANN pdfmark end
- 33892 53699 a Black FU(,)g(and)37649
-53699 y
-SDict begin H.S end
- 37649 53699 a 37649 53699 a
-SDict begin 18.2 H.A end
- 37649 53699 a 37649
-53699 a
-SDict begin [ /View [/XYZ H.V] /Dest (1944) cvn H.B /DEST pdfmark end
- 37649 53699 a 0 1 0 0 TeXcolorcmyk 37649 53699
-a
-SDict begin H.S end
- 37649 53699 a 0 1 0 0 TeXcolorcmyk FQ(foobar.slackware.com)p
-0 1 0 0 TeXcolorcmyk 50176 52958 a
-SDict begin H.R end
- 50176 52958 a 50176
-53699 a
-SDict begin [ /H /I /Border [0 0 0] /Color [0 1 1] /Action << /Subtype
-/URI /URI (foobar.slackware.com) >> /Subtype /Link H.B /ANN pdfmark
-end
- 50176 53699 a Black 566 w FU(is)-30 55714 y
-SDict begin H.S end
- -30
-55714 a -30 55714 a
-SDict begin 18.2 H.A end
- -30 55714 a -30 55714 a
-SDict begin [ /View [/XYZ H.V] /Dest (1945) cvn H.B /DEST pdfmark end
- -30 55714
-a 0 1 0 0 TeXcolorcmyk -30 55714 a
-SDict begin H.S end
- -30 55714 a 0 1 0 0
-TeXcolorcmyk FQ(172.14.66.32)p 0 1 0 0 TeXcolorcmyk 7486
-54973 a
-SDict begin H.R end
- 7486 54973 a 7486 55714 a
-SDict begin [ /H /I /Border [0 0 0] /Color [0 1 1] /Action << /Subtype
-/URI /URI (172.14.66.32) >> /Subtype /Link H.B /ANN pdfmark end
- 7486 55714 a Black
-FU(.)-30 58054 y
-SDict begin H.S end
- -30 58054 a -30 58054 a
-SDict begin 18.2 H.A end
- -30 58054 a
--30 58054 a
-SDict begin [ /View [/XYZ H.V] /Dest (NETWORK-CONFIGURATION-PPP) cvn
-H.B /DEST pdfmark end
- -30 58054 a 6109 x FL(5.4)620 b(PPP)-30 64191
-y
-SDict begin H.S end
- -30 64191 a -30 64191 a
-SDict begin 18.2 H.A end
- -30 64191 a -30 64191 a
-SDict begin [ /View [/XYZ H.V] /Dest (1948) cvn H.B /DEST pdfmark end
- -30
-64191 a -30 64191 a
-SDict begin H.S end
- -30 64191 a -30 64191 a
-SDict begin 18.2 H.A end
- -30 64191
-a -30 64191 a
-SDict begin [ /View [/XYZ H.V] /Dest (1950) cvn H.B /DEST pdfmark end
- -30 64191 a -30 65306 a
-SDict begin H.S end
- -30 65306 a -30
-65306 a
-SDict begin 18.2 H.A end
- -30 65306 a -30 65306 a
-SDict begin [ /View [/XYZ H.V] /Dest (1952) cvn H.B /DEST pdfmark end
- -30 65306 a 1987 x FU(Man)-23
-b(y)484 b(people)g(still)g(connect)g(to)h(the)f(Internet)g(through)g
-(some)h(kind)f(of)g(dialup)g(connection.)p Black 50226
-73792 a FR(65)p Black eop end
-%%Page: 66 88
-TeXDict begin 66 87 bop -8000 -8000 a
-SDict begin /product where{pop product(Distiller)search{pop pop pop
-version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
-closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
-grestore}if}{pop}ifelse}{pop}ifelse}if end
- -8000 -8000 a Black
-0 TeXcolorgray -30 -1237 a
-SDict begin H.S end
- -30 -1237 a 0 TeXcolorgray
-0 TeXcolorgray -30 -1237 a
-SDict begin H.R end
- -30 -1237 a -30 -1237 a
-SDict begin [ /View [/XYZ H.V] /Dest (page.66) cvn H.B /DEST pdfmark
-end
- -30
--1237 a Black -399 x FR(Chapter)387 b(5)g(Network)f(Con\002gur)-23
-b(ation)p Black -30 3611 a FU(The)362 b(most)f(common)g(method)h(is)f
-(PPP)-172 b(,)362 b(though)f(SLIP)g(is)h(still)f(occasionally)g(used.)h
-(Setting)f(up)-30 5626 y(your)498 b(system)g(to)g(speak)g(PPP)f(to)h(a)
-h(remote)f(serv)-23 b(er)498 b(is)g(pretty)g(easy)-101
-b(.)499 b(W)-124 b(e')-77 b(v)-23 b(e)497 b(included)h(a)h(fe)-39
-b(w)-30 7640 y(tools)387 b(to)g(help)g(you)g(in)g(setting)g(it)g(up.)
--30 7976 y
-SDict begin H.S end
- -30 7976 a -30 7976 a
-SDict begin 18.2 H.A end
- -30 7976 a -30 7976
-a
-SDict begin [ /View [/XYZ H.V] /Dest (1953) cvn H.B /DEST pdfmark end
- -30 7976 a 5027 x FF(pppsetup)-30 13388 y
-SDict begin H.S end
- -30 13388
-a -30 13388 a
-SDict begin 18.2 H.A end
- -30 13388 a -30 13388 a
-SDict begin [ /View [/XYZ H.V] /Dest (1956) cvn H.B /DEST pdfmark end
- -30 13388 a -30
-14317 a
-SDict begin H.S end
- -30 14317 a -30 14317 a
-SDict begin 18.2 H.A end
- -30 14317 a -30 14317
-a
-SDict begin [ /View [/XYZ H.V] /Dest (1959) cvn H.B /DEST pdfmark end
- -30 14317 a 1630 x FU(Slackw)-15 b(are)357 b(includes)g(a)h(program)f
-(called)23003 15947 y
-SDict begin H.S end
- 23003 15947 a 23003 15947 a
-SDict begin 18.2 H.A end
- 23003
-15947 a 23003 15947 a
-SDict begin [ /View [/XYZ H.V] /Dest (1960) cvn H.B /DEST pdfmark end
- 23003 15947 a FP(pppsetup)g FU(to)g(con\002gure)h
-(your)f(system)g(to)h(use)f(your)-30 17962 y(dialup)451
-b(account.)h(It)g(shares)g(a)g(look)f(and)h(feel)g(similar)f(to)h(our)
-34424 17962 y
-SDict begin H.S end
- 34424 17962 a 34424 17962 a
-SDict begin 18.2 H.A end
- 34424 17962
-a 34424 17962 a
-SDict begin [ /View [/XYZ H.V] /Dest (1961) cvn H.B /DEST pdfmark end
- 34424 17962 a FP(netconfig)e FU(program.)i(T)-124
-b(o)452 b(run)-30 19976 y(the)357 b(program,)g(mak)-15
-b(e)356 b(sure)h(you)f(are)i(logged)e(in)h(as)g(root.)g(Then)f(type)
-37378 19976 y
-SDict begin H.S end
- 37378 19976 a 37378 19976 a
-SDict begin 18.2 H.A end
- 37378 19976
-a 37378 19976 a
-SDict begin [ /View [/XYZ H.V] /Dest (1962) cvn H.B /DEST pdfmark end
- 37378 19976 a FP(pppsetup)g FU(to)h(run)g(it.)g(Y)-170
-b(ou)-30 21991 y(should)387 b(see)g(a)h(screen)f(lik)-15
-b(e)387 b(this:)-30 22781 y
-SDict begin H.S end
- -30 22781 a -30 22781 a
-SDict begin 18.2 H.A end
- -30
-22781 a -30 22781 a
-SDict begin [ /View [/XYZ H.V] /Dest (1963) cvn H.B /DEST pdfmark end
- -30 22781 a 2000 x FU(The)371 b(program)f(will)h
-(present)f(a)h(series)g(of)g(questions,)f(to)g(which)h(you)g(will)f
-(feed)h(it)f(appropriate)-30 26795 y(answers.)500 b(Things)g(lik)-15
-b(e)499 b(your)h(modem)f(de)-39 b(vice,)501 b(the)e(modem)h
-(initialization)e(string,)i(and)g(the)-30 28810 y(ISP)483
-b(phone)g(number)-85 b(.)482 b(Some)h(items)g(will)f(ha)-31
-b(v)-23 b(e)483 b(a)h(def)-15 b(ault,)482 b(which)h(you)g(can)g(accept)
-h(in)f(most)-30 30825 y(cases.)-30 31615 y
-SDict begin H.S end
- -30 31615
-a -30 31615 a
-SDict begin 18.2 H.A end
- -30 31615 a -30 31615 a
-SDict begin [ /View [/XYZ H.V] /Dest (1964) cvn H.B /DEST pdfmark end
- -30 31615 a 1999
-x FU(After)553 b(the)g(program)g(runs,)g(it)g(will)f(create)h(a)25526
-33614 y
-SDict begin H.S end
- 25526 33614 a 25526 33614 a
-SDict begin 18.2 H.A end
- 25526 33614 a 25526
-33614 a
-SDict begin [ /View [/XYZ H.V] /Dest (1965) cvn H.B /DEST pdfmark end
- 25526 33614 a FP(ppp-go)f FU(program)h(and)f(a)40378
-33614 y
-SDict begin H.S end
- 40378 33614 a 40378 33614 a
-SDict begin 18.2 H.A end
- 40378 33614 a 40378
-33614 a
-SDict begin [ /View [/XYZ H.V] /Dest (1966) cvn H.B /DEST pdfmark end
- 40378 33614 a FP(ppp-off)g FU(program.)-30 35629
-y(These)334 b(are)f(used)h(to)f(start)g(and)h(stop,)f(respecti)-39
-b(v)-23 b(ely)-101 b(,)334 b(the)f(PPP)g(connection.)g(The)h(tw)-15
-b(o)333 b(programs)-30 37643 y(are)388 b(located)f(in)8706
-37643 y
-SDict begin H.S end
- 8706 37643 a 8706 37643 a
-SDict begin 18.2 H.A end
- 8706 37643 a 8706 37643
-a
-SDict begin [ /View [/XYZ H.V] /Dest (1967) cvn H.B /DEST pdfmark end
- 8706 37643 a FQ(/usr/sbin)382 b FU(and)387 b(need)g(root)g(pri)-39
-b(vile)-23 b(ges)387 b(to)g(run.)-30 38754 y
-SDict begin H.S end
- -30 38754
-a -30 38754 a
-SDict begin 18.2 H.A end
- -30 38754 a -30 38754 a
-SDict begin [ /View [/XYZ H.V] /Dest (1968) cvn H.B /DEST pdfmark end
- -30 38754 a 5181
-x FA(/etc/pp)n(p)-30 45219 y
-SDict begin H.S end
- -30 45219 a -30 45219 a
-SDict begin 18.2 H.A end
-
--30 45219 a -30 45219 a
-SDict begin [ /View [/XYZ H.V] /Dest (1971) cvn H.B /DEST pdfmark end
- -30 45219 a 1661 x FU(F)-23 b(or)462
-b(most)f(users,)h(running)15356 46880 y
-SDict begin H.S end
- 15356 46880 a
-15356 46880 a
-SDict begin 18.2 H.A end
- 15356 46880 a 15356 46880 a
-SDict begin [ /View [/XYZ H.V] /Dest (1972) cvn H.B /DEST pdfmark end
- 15356 46880
-a FP(pppsetup)f FU(will)g(be)h(suf)-39 b(\002cient.)462
-b(Ho)-39 b(we)g(v)-23 b(er)-62 b(,)463 b(there)f(may)g(be)g(an)g(in-)
--30 48895 y(stance)382 b(where)f(you)h(w)-15 b(ant)380
-b(to)i(tweak)f(some)h(of)f(the)h(v)-39 b(alues)381 b(used)g(by)h(the)f
-(PPP)g(daemon.)h(All)f(of)-30 50909 y(the)422 b(con\002guration)g
-(information)f(is)h(k)-15 b(ept)422 b(in)24874 50909
-y
-SDict begin H.S end
- 24874 50909 a 24874 50909 a
-SDict begin 18.2 H.A end
- 24874 50909 a 24874 50909
-a
-SDict begin [ /View [/XYZ H.V] /Dest (1973) cvn H.B /DEST pdfmark end
- 24874 50909 a FQ(/etc/ppp)p FU(.)c(Here)423 b(is)f(a)h(list)f(of)g
-(what)h(the)f(dif)-39 b(ferent)-30 52924 y(\002les)387
-b(are)h(for:)-30 52939 y
-SDict begin H.S end
- -30 52939 a -30 52939 a
-SDict begin 18.2 H.A end
- -30
-52939 a -30 52939 a
-SDict begin [ /View [/XYZ H.V] /Dest (1974) cvn H.B /DEST pdfmark end
- -30 52939 a -30 55264 a
-SDict begin H.S end
- -30 55264
-a -30 55264 a
-SDict begin 18.2 H.A end
- -30 55264 a -30 55264 a
-SDict begin [ /View [/XYZ H.V] /Dest (1975) cvn H.B /DEST pdfmark end
- -30 55264 a -30
-55264 a
-SDict begin H.S end
- -30 55264 a -30 55264 a
-SDict begin 18.2 H.A end
- -30 55264 a -30 55264
-a
-SDict begin [ /View [/XYZ H.V] /Dest (table.8) cvn H.B /DEST pdfmark
-end
- -30 55264 a 1727 x FP(ip-down)7744 b FU(This)386 b(script)h(is)g(run)
-h(by)f FP(pppd)g FU(after)g(the)g(PPP)g(connection)f(is)i(ended.)-30
-59053 y FP(ip-up)9232 b FU(This)386 b(script)h(is)g(run)h(by)f
-FP(pppd)g FU(when)g(there')-85 b(s)387 b(a)g(successful)g(ppp)12922
-61068 y(connection.)375 b(Put)h(an)-23 b(y)376 b(commands)f(you)h(w)-15
-b(ant)375 b(run)h(after)g(a)g(successful)12922 63083
-y(connection)386 b(in)h(this)g(\002le.)-30 65142 y FQ(options)8563
-b FU(General)387 b(con\002guration)f(options)g(for)i
-FP(pppd)p FU(.)p Black -30 73792 a FR(66)p Black eop
-end
-%%Page: 67 89
-TeXDict begin 67 88 bop -8000 -8000 a
-SDict begin /product where{pop product(Distiller)search{pop pop pop
-version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
-closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
-grestore}if}{pop}ifelse}{pop}ifelse}if end
- -8000 -8000 a Black
-0 TeXcolorgray -30 -1237 a
-SDict begin H.S end
- -30 -1237 a 0 TeXcolorgray
-0 TeXcolorgray -30 -1237 a
-SDict begin H.R end
- -30 -1237 a -30 -1237 a
-SDict begin [ /View [/XYZ H.V] /Dest (page.67) cvn H.B /DEST pdfmark
-end
- -30
--1237 a Black 30833 -1636 a FR(Chapter)386 b(5)i(Network)e(Con\002gur)
--23 b(ation)p Black -30 5338 a FQ(options.demand)4174
-b FU(General)387 b(con\002guration)f(options)g(for)i
-FP(pppd)f FU(when)g(run)g(in)g(demand)12922 7353 y(dialing)f(mode.)-30
-9415 y FP(pppscript)6256 b FU(The)387 b(commands)f(sent)h(to)g(the)h
-(modem.)-30 11474 y FQ(pppsetup.txt)5428 b FU(A)387 b(log)g(of)g(what)g
-(you)g(entered)h(when)f(you)g(ran)g FP(pppsetup)p FU(.)-30
-11809 y
-SDict begin H.S end
- -30 11809 a -30 11809 a
-SDict begin 16.9 H.A end
- -30 11809 a -30 11809
-a
-SDict begin [ /View [/XYZ H.V] /Dest (2014) cvn H.B /DEST pdfmark end
- -30 11809 a -30 14909 a
-SDict begin H.S end
- -30 14909 a -30 14909 a
-SDict begin 16.9 H.A end
- -30
-14909 a -30 14909 a
-SDict begin [ /View [/XYZ H.V] /Dest (2015) cvn H.B /DEST pdfmark end
- -30 14909 a 3070 16780 a Fu(Note:)400
-b Ft(Most)g(of)g(these)g(\002les)g(w)-14 b(on't)400 b(be)g(there)h
-(until)g(after)f(y)-29 b(ou)400 b(r)22 b(un)40078 16780
-y
-SDict begin H.S end
- 40078 16780 a 40078 16780 a
-SDict begin 16.9 H.A end
- 40078 16780 a 40078 16780
-a
-SDict begin [ /View [/XYZ H.V] /Dest (2016) cvn H.B /DEST pdfmark end
- 40078 16780 a Fn(pppsetup)p Ft(.)-30 22669 y
-SDict begin H.S end
- -30 22669
-a -30 22669 a
-SDict begin 18.2 H.A end
- -30 22669 a -30 22669 a
-SDict begin [ /View [/XYZ H.V] /Dest (NETWORK-CONFIGURATION-WIRELESS)
-cvn H.B /DEST pdfmark end
- -30 22669 a 6124
-x FL(5.5)620 b(Wireless)-30 29937 y
-SDict begin H.S end
- -30 29937 a -30 29937
-a
-SDict begin 18.2 H.A end
- -30 29937 a -30 29937 a
-SDict begin [ /View [/XYZ H.V] /Dest (2019) cvn H.B /DEST pdfmark end
- -30 29937 a 1987 x FU(W)-62
-b(ireless)404 b(netw)-15 b(orking)404 b(is)g(still)g(a)h(relati)-39
-b(v)-23 b(ely)404 b(ne)-39 b(w)405 b(thing)f(in)g(the)35090
-31924 y
-SDict begin H.S end
- 35090 31924 a 35090 31924 a
-SDict begin 18.2 H.A end
- 35090 31924 a 35090
-31924 a
-SDict begin [ /View [/XYZ H.V] /Dest (2020) cvn H.B /DEST pdfmark end
- 35090 31924 a 405 w FU(w)-15 b(orld)404 b(of)g(computers,)h
-(yet)f(is)-30 33938 y(quickly)g(catching)h(on)f(as)h(more)g(people)g
-(be)-23 b(gin)404 b(to)g(purchase)h(laptops)f(and)h(w)-15
-b(ant)404 b(netw)-15 b(orking)-30 35953 y(on)318 b(the)g(go,)g(without)
-g(ha)-31 b(ving)317 b(to)h(fool)g(with)f(some)h(old)g(twisted)f(pair)h
-(cable.)h(This)e(trend)h(doesn')-28 b(t)-30 37968 y(appear)387
-b(to)f(be)g(slo)-39 b(wing)386 b(do)-39 b(wn.)386 b(Unfortunately)-101
-b(,)387 b(wireless)e(netw)-15 b(orking)385 b(isn')-28
-b(t)386 b(yet)g(as)h(strongly)-30 39982 y(supported)g(in)g(Linux)g(as)g
-(traditional)f(wired)h(netw)-15 b(orking.)-30 40318 y
-SDict begin H.S end
-
--30 40318 a -30 40318 a
-SDict begin 18.2 H.A end
- -30 40318 a -30 40318 a
-SDict begin [ /View [/XYZ H.V] /Dest (2022) cvn H.B /DEST pdfmark end
- -30 40318
-a -30 41093 a
-SDict begin H.S end
- -30 41093 a -30 41093 a
-SDict begin 18.2 H.A end
- -30 41093 a -30
-41093 a
-SDict begin [ /View [/XYZ H.V] /Dest (2024) cvn H.B /DEST pdfmark end
- -30 41093 a 1679 x FU(There)388 b(are)f(three)h(basic)f(steps)f
-(to)i(con\002guring)e(an)h(802.11)g(wireless)g(Ethernet)g(card:)-30
-43108 y
-SDict begin H.S end
- -30 43108 a -30 43108 a
-SDict begin 18.2 H.A end
- -30 43108 a -30 43108
-a
-SDict begin [ /View [/XYZ H.V] /Dest (2025) cvn H.B /DEST pdfmark end
- -30 43108 a -30 43882 a
-SDict begin H.S end
- -30 43882 a -30 43882 a
-SDict begin 18.2 H.A end
- -30
-43882 a -30 43882 a
-SDict begin [ /View [/XYZ H.V] /Dest (2026) cvn H.B /DEST pdfmark end
- -30 43882 a Black 1210 47111 a FU(1.)p
-Black 2760 47111 a
-SDict begin H.S end
- 2760 47111 a 2760 47111 a
-SDict begin 18.2 H.A end
- 2760 47111
-a 2760 47111 a
-SDict begin [ /View [/XYZ H.V] /Dest (2027) cvn H.B /DEST pdfmark end
- 2760 47111 a FU(Hardw)-15 b(are)387 b(support)f(for)i
-(the)f(wireless)g(card)-30 47447 y
-SDict begin H.S end
- -30 47447 a -30 47447
-a
-SDict begin 18.2 H.A end
- -30 47447 a -30 47447 a
-SDict begin [ /View [/XYZ H.V] /Dest (2028) cvn H.B /DEST pdfmark end
- -30 47447 a Black 1210 49901
-a FU(2.)p Black 2760 49901 a
-SDict begin H.S end
- 2760 49901 a 2760 49901
-a
-SDict begin 18.2 H.A end
- 2760 49901 a 2760 49901 a
-SDict begin [ /View [/XYZ H.V] /Dest (2029) cvn H.B /DEST pdfmark end
- 2760 49901 a FU(Con\002gure)f(the)h(card)h
-(to)f(connect)g(to)g(a)h(wireless)e(access)i(point)-30
-50236 y
-SDict begin H.S end
- -30 50236 a -30 50236 a
-SDict begin 18.2 H.A end
- -30 50236 a -30 50236
-a
-SDict begin [ /View [/XYZ H.V] /Dest (2030) cvn H.B /DEST pdfmark end
- -30 50236 a Black 1210 52690 a FU(3.)p Black 2760 52690
-a
-SDict begin H.S end
- 2760 52690 a 2760 52690 a
-SDict begin 18.2 H.A end
- 2760 52690 a 2760 52690 a
-SDict begin [ /View [/XYZ H.V] /Dest (2031) cvn H.B /DEST pdfmark end
-
-2760 52690 a FU(Con\002gure)e(the)h(netw)-15 b(ork)-30
-53026 y
-SDict begin H.S end
- -30 53026 a -30 53026 a
-SDict begin 18.2 H.A end
- -30 53026 a -30 53026
-a
-SDict begin [ /View [/XYZ H.V] /Dest (2032) cvn H.B /DEST pdfmark end
- -30 53026 a 5026 x FG(Har)-37 b(d)-28 b(ware)518 b(Suppor)37
-b(t)-30 58437 y
-SDict begin H.S end
- -30 58437 a -30 58437 a
-SDict begin 18.2 H.A end
- -30 58437 a -30
-58437 a
-SDict begin [ /View [/XYZ H.V] /Dest (2034) cvn H.B /DEST pdfmark end
- -30 58437 a -30 58437 a
-SDict begin H.S end
- -30 58437 a -30 58437
-a
-SDict begin 18.2 H.A end
- -30 58437 a -30 58437 a
-SDict begin [ /View [/XYZ H.V] /Dest (2037) cvn H.B /DEST pdfmark end
- -30 58437 a -30 59367 a
-SDict begin H.S end
- -30
-59367 a -30 59367 a
-SDict begin 18.2 H.A end
- -30 59367 a -30 59367 a
-SDict begin [ /View [/XYZ H.V] /Dest (2039) cvn H.B /DEST pdfmark end
- -30 59367
-a 1630 x FU(Hardw)-15 b(are)588 b(support)f(for)i(a)f(wireless)g(card)g
-(is)g(pro)-23 b(vided)587 b(through)h(the)g(k)-15 b(ernel,)587
-b(either)h(with)-30 63012 y(a)788 b(module)g(or)g(b)-31
-b(uilt)787 b(in)h(to)f(the)h(k)-15 b(ernel.)788 b(Generally)-101
-b(,)788 b(most)g(ne)-39 b(wer)788 b(Ethernet)g(cards)g(are)-30
-65026 y(pro)-23 b(vided)758 b(through)g(k)-15 b(ernel)757
-b(modules,)h(so)h(you')-15 b(ll)757 b(w)-15 b(ant)758
-b(to)g(determine)g(the)g(appropriate)-30 67041 y(k)-15
-b(ernel)474 b(module)h(and)g(load)f(it)h(through)21916
-67041 y
-SDict begin H.S end
- 21916 67041 a 21916 67041 a
-SDict begin 18.2 H.A end
- 21916 67041 a 21916
-67041 a
-SDict begin [ /View [/XYZ H.V] /Dest (2040) cvn H.B /DEST pdfmark end
- 21916 67041 a FQ(/etc/rc.d/rc.modules)p FU(.)35306
-67041 y
-SDict begin H.S end
- 35306 67041 a 35306 67041 a
-SDict begin 18.2 H.A end
- 35306 67041 a 35306
-67041 a
-SDict begin [ /View [/XYZ H.V] /Dest (2041) cvn H.B /DEST pdfmark end
- 35306 67041 a FP(netconfig)f FU(may)h(not)f(detect)p
-Black 50169 73792 a FR(67)p Black eop end
-%%Page: 68 90
-TeXDict begin 68 89 bop -8000 -8000 a
-SDict begin /product where{pop product(Distiller)search{pop pop pop
-version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
-closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
-grestore}if}{pop}ifelse}{pop}ifelse}if end
- -8000 -8000 a Black
-0 TeXcolorgray -30 -1237 a
-SDict begin H.S end
- -30 -1237 a 0 TeXcolorgray
-0 TeXcolorgray -30 -1237 a
-SDict begin H.R end
- -30 -1237 a -30 -1237 a
-SDict begin [ /View [/XYZ H.V] /Dest (page.68) cvn H.B /DEST pdfmark
-end
- -30
--1237 a Black -399 x FR(Chapter)387 b(5)g(Network)f(Con\002gur)-23
-b(ation)p Black -30 3611 a FU(your)639 b(wireless)f(card,)h(so)f(you')
--15 b(ll)638 b(probably)g(need)h(to)f(determine)g(the)h(card)f
-(yourself.)h(See)p 0 1 0 0 TeXcolorcmyk -30 5980 a
-SDict begin H.S end
- -30
-5980 a 0 1 0 0 TeXcolorcmyk -354 x FA(http://)n(w)l(w)l(w)l(.)l(h)l(p)l
-(l)l(.)l(h)l(p)l(.)l(c)l(o)l(m)l(/)l(p)l(e)l(r)l(s)l(o)l(n)l(a)l(l)l(/)
-l(J)l(e)l(a)l(n)l(_)l(T)l(o)l(u)l(r)l(r)l(i)l(l)l(h)l(e)l(s)l(/)l(L)l
-(i)l(n)l(u)l(x)l(/)p 0 1 0 0 TeXcolorcmyk 42847 4519
-a
-SDict begin H.R end
- 42847 4519 a 42847 5626 a
-SDict begin [ /H /I /Border [0 0 0] /Color [0 1 1] /Action << /Subtype
-/URI /URI (http://www.hpl.hp.com/personal/Jean_Tourrilhes/Linux/) >>
-/Subtype /Link H.B /ANN pdfmark end
- 42847 5626 a Black 1969 w
-FU(for)1968 b(more)-30 7640 y(information)386 b(on)i(k)-15
-b(ernel)386 b(dri)-39 b(v)-23 b(ers)387 b(for)h(v)-39
-b(arious)387 b(wireless)g(cards.)-30 8431 y
-SDict begin H.S end
- -30 8431
-a -30 8431 a
-SDict begin 18.2 H.A end
- -30 8431 a -30 8431 a
-SDict begin [ /View [/XYZ H.V] /Dest (2043) cvn H.B /DEST pdfmark end
- -30 8431 a 5501 x
-FG(Con\002gure)519 b(the)e(Wireless)g(Settings)-30 14346
-y
-SDict begin H.S end
- -30 14346 a -30 14346 a
-SDict begin 18.2 H.A end
- -30 14346 a -30 14346 a
-SDict begin [ /View [/XYZ H.V] /Dest (2045) cvn H.B /DEST pdfmark end
- -30
-14346 a -30 15276 a
-SDict begin H.S end
- -30 15276 a -30 15276 a
-SDict begin 18.2 H.A end
- -30 15276
-a -30 15276 a
-SDict begin [ /View [/XYZ H.V] /Dest (2048) cvn H.B /DEST pdfmark end
- -30 15276 a 1601 x FU(The)372 b(v)-39 b(ast)372
-b(majority)f(of)i(this)e(w)-15 b(ork)372 b(is)f(done)h(by)25735
-16877 y
-SDict begin H.S end
- 25735 16877 a 25735 16877 a
-SDict begin 18.2 H.A end
- 25735 16877 a 25735
-16877 a
-SDict begin [ /View [/XYZ H.V] /Dest (2049) cvn H.B /DEST pdfmark end
- 25735 16877 a FP(iwconfig)p FU(,)g(so)g(as)g(al)-15
-b(w)g(ays)371 b(read)h(the)g(man)g(page)-30 18892 y(for)2165
-18892 y
-SDict begin H.S end
- 2165 18892 a 2165 18892 a
-SDict begin 18.2 H.A end
- 2165 18892 a 2165 18892
-a
-SDict begin [ /View [/XYZ H.V] /Dest (2050) cvn H.B /DEST pdfmark end
- 2165 18892 a FP(iwconfig)386 b FU(if)h(you)g(need)h(more)f
-(information.)-30 20002 y
-SDict begin H.S end
- -30 20002 a -30 20002 a
-SDict begin 18.2 H.A end
- -30
-20002 a -30 20002 a
-SDict begin [ /View [/XYZ H.V] /Dest (2051) cvn H.B /DEST pdfmark end
- -30 20002 a 1679 x FU(First,)570
-b(you')-15 b(ll)569 b(w)-15 b(ant)570 b(to)g(con\002gure)g(your)g
-(wireless)g(access)g(point.)g(W)-62 b(ireless)570 b(access)h(points)-30
-23696 y(v)-39 b(ary)470 b(quite)f(a)h(bit)f(in)h(their)f(terminology)
--101 b(,)469 b(and)h(ho)-39 b(w)470 b(to)f(con\002gure)g(them,)h(so)f
-(you)h(may)f(need)-30 25710 y(to)505 b(adjust)g(a)h(bit)f(to)g
-(accommodate)g(your)g(hardw)-15 b(are.)505 b(In)h(general,)g(you')-15
-b(ll)504 b(need)h(at)h(least)f(the)-30 27725 y(follo)-39
-b(wing)387 b(information:)-30 28061 y
-SDict begin H.S end
- -30 28061 a -30
-28061 a
-SDict begin 18.2 H.A end
- -30 28061 a -30 28061 a
-SDict begin [ /View [/XYZ H.V] /Dest (2052) cvn H.B /DEST pdfmark end
- -30 28061 a -30 28836
-a
-SDict begin H.S end
- -30 28836 a -30 28836 a
-SDict begin 18.2 H.A end
- -30 28836 a -30 28836 a
-SDict begin [ /View [/XYZ H.V] /Dest (2053) cvn H.B /DEST pdfmark end
- -30
-28836 a Black 3228 x FM(\225)p Black 1520 32064 a
-SDict begin H.S end
- 1520
-32064 a 1520 32064 a
-SDict begin 18.2 H.A end
- 1520 32064 a 1520 32064 a
-SDict begin [ /View [/XYZ H.V] /Dest (2054) cvn H.B /DEST pdfmark end
- 1520 32064
-a FU(The)g(domain)g(ID,)h(or)f(name)g(of)g(the)h(netw)-15
-b(ork)386 b(\(called)h(the)h(ESSID)e(by)40111 32064 y
-SDict begin H.S end
-
-40111 32064 a 40111 32064 a
-SDict begin 18.2 H.A end
- 40111 32064 a 40111 32064
-a
-SDict begin [ /View [/XYZ H.V] /Dest (2055) cvn H.B /DEST pdfmark end
- 40111 32064 a FP(iwconfig)p FU(\))-30 32400 y
-SDict begin H.S end
- -30 32400
-a -30 32400 a
-SDict begin 18.2 H.A end
- -30 32400 a -30 32400 a
-SDict begin [ /View [/XYZ H.V] /Dest (2056) cvn H.B /DEST pdfmark end
- -30 32400 a Black
-2454 x FM(\225)p Black 1520 34854 a
-SDict begin H.S end
- 1520 34854 a 1520
-34854 a
-SDict begin 18.2 H.A end
- 1520 34854 a 1520 34854 a
-SDict begin [ /View [/XYZ H.V] /Dest (2057) cvn H.B /DEST pdfmark end
- 1520 34854 a FU(The)h(channel)g(the)g
-(W)-186 b(AP)387 b(uses)-30 34869 y
-SDict begin H.S end
- -30 34869 a -30 34869
-a
-SDict begin 18.2 H.A end
- -30 34869 a -30 34869 a
-SDict begin [ /View [/XYZ H.V] /Dest (2058) cvn H.B /DEST pdfmark end
- -30 34869 a Black 2774 x FM(\225)p
-Black 1520 37643 a
-SDict begin H.S end
- 1520 37643 a 1520 37643 a
-SDict begin 18.2 H.A end
- 1520 37643
-a 1520 37643 a
-SDict begin [ /View [/XYZ H.V] /Dest (2059) cvn H.B /DEST pdfmark end
- 1520 37643 a FU(The)g(encryption)g(settings,)g
-(including)f(an)-23 b(y)387 b(k)-15 b(e)-23 b(ys)386
-b(used)h(\(preferably)h(in)f(he)-23 b(xadecimal\))-30
-37979 y
-SDict begin H.S end
- -30 37979 a -30 37979 a
-SDict begin 18.2 H.A end
- -30 37979 a -30 37979
-a
-SDict begin [ /View [/XYZ H.V] /Dest (2060) cvn H.B /DEST pdfmark end
- -30 37979 a -30 37979 a
-SDict begin H.S end
- -30 37979 a -30 37979 a
-SDict begin 16.9 H.A end
- -30
-37979 a -30 37979 a
-SDict begin [ /View [/XYZ H.V] /Dest (2062) cvn H.B /DEST pdfmark end
- -30 37979 a -30 40304 a
-SDict begin H.S end
- -30 40304
-a -30 40304 a
-SDict begin 16.9 H.A end
- -30 40304 a -30 40304 a
-SDict begin [ /View [/XYZ H.V] /Dest (2063) cvn H.B /DEST pdfmark end
- -30 40304 a 3070
-41839 a Fu(W)-58 b(arning:)344 b Ft(A)f(NO)-58 b(TE)343
-b(ABOUT)f(WEP)-259 b(.)343 b(WEP)g(is)g(quit)h(\003a)-29
-b(w)-14 b(ed,)342 b(b)-29 b(ut)344 b(it')-72 b(s)343
-b(m)-14 b(uch)342 b(better)h(than)3070 43710 y(nothing.)333
-b(If)g(y)-29 b(ou)333 b(wish)g(a)f(g)-14 b(reater)334
-b(deg)-14 b(ree)333 b(of)f(secur)22 b(ity)332 b(on)h(y)-29
-b(our)333 b(wireless)g(netw)-14 b(or)22 b(k,)332 b(y)-29
-b(ou)3070 45580 y(should)368 b(in)-29 b(v)-36 b(estigate)368
-b(VPNs)f(or)h(IPSec)-22 b(,)367 b(both)h(of)g(which)f(are)h(be)-29
-b(y)g(ond)368 b(the)g(scope)f(of)h(this)3070 47451 y(document.)376
-b(Y)-201 b(ou)376 b(might)h(also)g(con\002gure)f(y)-29
-b(our)377 b(W)-72 b(AP)377 b(not)g(to)g(adv)-36 b(er)58
-b(tise)376 b(its)h(domain)g(ID/)3070 49322 y(ESSID)-101
-b(.)472 b(A)h(thorough)h(discussion)f(of)g(wireless)g(policy)g(is)g(be)
--29 b(y)g(ond)474 b(the)f(scope)g(of)g(this)3070 51193
-y(section,)404 b(b)-29 b(ut)406 b(a)f(quic)-29 b(k)404
-b(Google)i(search)e(will)i(tur)36 b(n)405 b(up)g(more)g(than)h(y)-29
-b(ou)404 b(e)-43 b(v)-36 b(er)405 b(w)-22 b(anted)406
-b(to)3070 53063 y(kno)-22 b(w)-86 b(.)-30 57403 y
-SDict begin H.S end
- -30
-57403 a -30 57403 a
-SDict begin 18.2 H.A end
- -30 57403 a -30 57403 a
-SDict begin [ /View [/XYZ H.V] /Dest (2064) cvn H.B /DEST pdfmark end
- -30 57403
-a 2014 x FU(Once)466 b(you')-77 b(v)-23 b(e)466 b(g)-8
-b(athered)466 b(the)g(abo)-23 b(v)g(e)466 b(information,)g(and)g
-(assuming)f(you')-77 b(v)-23 b(e)466 b(used)45825 59417
-y
-SDict begin H.S end
- 45825 59417 a 45825 59417 a
-SDict begin 18.2 H.A end
- 45825 59417 a 45825 59417
-a
-SDict begin [ /View [/XYZ H.V] /Dest (2065) cvn H.B /DEST pdfmark end
- 45825 59417 a FP(modprobe)-30 61432 y FU(to)368 b(load)f(the)h
-(appropriate)f(k)-15 b(ernel)367 b(dri)-39 b(v)-23 b(er)-62
-b(,)369 b(you)e(can)h(edit)30728 61432 y
-SDict begin H.S end
- 30728 61432
-a 30728 61432 a
-SDict begin 18.2 H.A end
- 30728 61432 a 30728 61432 a
-SDict begin [ /View [/XYZ H.V] /Dest (2066) cvn H.B /DEST pdfmark end
- 30728 61432
-a FQ(rc.wireless.conf)358 b FU(and)368 b(add)f(your)h(set-)-30
-63447 y(tings.)304 b(The)6390 63447 y
-SDict begin H.S end
- 6390 63447 a 6390
-63447 a
-SDict begin 18.2 H.A end
- 6390 63447 a 6390 63447 a
-SDict begin [ /View [/XYZ H.V] /Dest (2067) cvn H.B /DEST pdfmark end
- 6390 63447 a FQ(rc.wireless.conf)294
-b FU(\002le)303 b(is)h(a)g(bit)g(untidy)-101 b(.)304
-b(The)f(least)h(ef)-39 b(fort)304 b(is)g(to)g(modify)f(the)h(generic)
--30 65461 y(section)462 b(with)f(your)h(ESSID)f(and)h(KEY)-200
-b(,)463 b(and)f(CHANNEL)f(if)h(required)g(by)g(your)g(card.)g(\(T)-54
-b(ry)-30 67476 y(not)341 b(setting)f(CHANNEL,)h(and)g(if)g(it)g(w)-15
-b(orks,)340 b(great;)h(if)g(not,)g(set)g(the)g(CHANNEL)f(as)h
-(appropri-)p Black -30 73792 a FR(68)p Black eop end
-%%Page: 69 91
-TeXDict begin 69 90 bop -8000 -8000 a
-SDict begin /product where{pop product(Distiller)search{pop pop pop
-version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
-closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
-grestore}if}{pop}ifelse}{pop}ifelse}if end
- -8000 -8000 a Black
-0 TeXcolorgray -30 -1237 a
-SDict begin H.S end
- -30 -1237 a 0 TeXcolorgray
-0 TeXcolorgray -30 -1237 a
-SDict begin H.R end
- -30 -1237 a -30 -1237 a
-SDict begin [ /View [/XYZ H.V] /Dest (page.69) cvn H.B /DEST pdfmark
-end
- -30
--1237 a Black 30833 -1636 a FR(Chapter)386 b(5)i(Network)e(Con\002gur)
--23 b(ation)p Black -30 3611 a FU(ate.\))340 b(If)g(you')-77
-b(re)340 b(daring,)g(you)f(can)h(modify)f(the)h(\002le)f(so)h(that)f
-(only)h(the)f(necessary)h(v)-39 b(ariables)340 b(are)-30
-5626 y(set.)403 b(The)f(v)-39 b(ariable)402 b(names)h(in)16620
-5626 y
-SDict begin H.S end
- 16620 5626 a 16620 5626 a
-SDict begin 18.2 H.A end
- 16620 5626 a 16620 5626
-a
-SDict begin [ /View [/XYZ H.V] /Dest (2068) cvn H.B /DEST pdfmark end
- 16620 5626 a FQ(rc.wireless.conf)392 b FU(correspond)402
-b(to)g(the)38236 5626 y
-SDict begin H.S end
- 38236 5626 a 38236 5626 a
-SDict begin 18.2 H.A end
- 38236
-5626 a 38236 5626 a
-SDict begin [ /View [/XYZ H.V] /Dest (2069) cvn H.B /DEST pdfmark end
- 38236 5626 a FP(iwconfig)g FU(parameters,)-30
-7640 y(and)387 b(are)h(read)g(by)9867 7640 y
-SDict begin H.S end
- 9867 7640
-a 9867 7640 a
-SDict begin 18.2 H.A end
- 9867 7640 a 9867 7640 a
-SDict begin [ /View [/XYZ H.V] /Dest (2070) cvn H.B /DEST pdfmark end
- 9867 7640 a FQ(rc.wireless)380
-b FU(and)387 b(used)g(in)h(the)f(appropriate)34317 7640
-y
-SDict begin H.S end
- 34317 7640 a 34317 7640 a
-SDict begin 18.2 H.A end
- 34317 7640 a 34317 7640 a
-SDict begin [ /View [/XYZ H.V] /Dest (2071) cvn H.B /DEST pdfmark end
-
-34317 7640 a FP(iwconfig)f FU(commands.)-30 8751 y
-SDict begin H.S end
- -30
-8751 a -30 8751 a
-SDict begin 18.2 H.A end
- -30 8751 a -30 8751 a
-SDict begin [ /View [/XYZ H.V] /Dest (2072) cvn H.B /DEST pdfmark end
- -30 8751 a 1679
-x FU(If)439 b(you)g(ha)-31 b(v)-23 b(e)438 b(your)h(k)-15
-b(e)-23 b(y)438 b(in)g(he)-23 b(xadecimal,)439 b(that')-85
-b(s)438 b(ideal,)h(since)f(you)h(can)g(be)g(f)-15 b(airly)438
-b(con\002dent)-30 12445 y(that)474 b(your)f(W)-186 b(AP)474
-b(and)12527 12445 y
-SDict begin H.S end
- 12527 12445 a 12527 12445 a
-SDict begin 18.2 H.A end
- 12527
-12445 a 12527 12445 a
-SDict begin [ /View [/XYZ H.V] /Dest (2073) cvn H.B /DEST pdfmark end
- 12527 12445 a FP(iwconfig)f FU(will)g(agree)h(on)
-g(the)g(k)-15 b(e)-23 b(y)-101 b(.)474 b(If)g(you)f(only)h(ha)-31
-b(v)-23 b(e)473 b(a)i(string,)e(you)-30 14459 y(can')-28
-b(t)567 b(be)f(sure)h(ho)-39 b(w)566 b(your)h(W)-186
-b(AP)566 b(will)g(translate)g(that)g(into)g(a)h(he)-23
-b(xadecimal)566 b(k)-15 b(e)-23 b(y)-101 b(,)566 b(so)g(some)-30
-16474 y(guessw)-15 b(ork)386 b(may)h(be)h(needed)f(\(or)g(get)h(your)f
-(W)-186 b(AP')-85 b(s)386 b(k)-15 b(e)-23 b(y)387 b(in)g(he)-23
-b(x\).)-30 17584 y
-SDict begin H.S end
- -30 17584 a -30 17584 a
-SDict begin 18.2 H.A end
- -30 17584
-a -30 17584 a
-SDict begin [ /View [/XYZ H.V] /Dest (2074) cvn H.B /DEST pdfmark end
- -30 17584 a 1680 x FU(Once)467 b(you')-77
-b(v)-23 b(e)466 b(modi\002ed)14355 19264 y
-SDict begin H.S end
- 14355 19264
-a 14355 19264 a
-SDict begin 18.2 H.A end
- 14355 19264 a 14355 19264 a
-SDict begin [ /View [/XYZ H.V] /Dest (2075) cvn H.B /DEST pdfmark end
- 14355 19264
-a FQ(rc.wireless.conf)p FU(,)457 b(run)27764 19264 y
-SDict begin H.S end
-
-27764 19264 a 27764 19264 a
-SDict begin 18.2 H.A end
- 27764 19264 a 27764 19264
-a
-SDict begin [ /View [/XYZ H.V] /Dest (2076) cvn H.B /DEST pdfmark end
- 27764 19264 a FQ(rc.wireless)j FU(as)36879 19264 y
-SDict begin H.S end
-
-36879 19264 a 36879 19264 a
-SDict begin 18.2 H.A end
- 36879 19264 a 36879 19264
-a
-SDict begin [ /View [/XYZ H.V] /Dest (2077) cvn H.B /DEST pdfmark end
- 36879 19264 a FP(root)p FU(,)467 b(then)g(run)46378
-19264 y
-SDict begin H.S end
- 46378 19264 a 46378 19264 a
-SDict begin 18.2 H.A end
- 46378 19264 a 46378
-19264 a
-SDict begin [ /View [/XYZ H.V] /Dest (2078) cvn H.B /DEST pdfmark end
- 46378 19264 a FQ(rc.inet1)p FU(,)-30 21278 y(ag)-8
-b(ain)574 b(as)5758 21278 y
-SDict begin H.S end
- 5758 21278 a 5758 21278 a
-SDict begin 18.2 H.A end
-
-5758 21278 a 5758 21278 a
-SDict begin [ /View [/XYZ H.V] /Dest (2079) cvn H.B /DEST pdfmark end
- 5758 21278 a FP(root)p FU(.)f(Y)-170
-b(ou)573 b(can)h(test)f(your)h(wireless)f(netw)-15 b(orking)572
-b(with)i(standard)f(testing)g(tools)-30 23293 y(such)453
-b(as)5008 23293 y
-SDict begin H.S end
- 5008 23293 a 5008 23293 a
-SDict begin 18.2 H.A end
- 5008 23293
-a 5008 23293 a
-SDict begin [ /View [/XYZ H.V] /Dest (2080) cvn H.B /DEST pdfmark end
- 5008 23293 a FP(ping)p FU(,)g(along)g(with)15929
-23293 y
-SDict begin H.S end
- 15929 23293 a 15929 23293 a
-SDict begin 18.2 H.A end
- 15929 23293 a 15929
-23293 a
-SDict begin [ /View [/XYZ H.V] /Dest (2081) cvn H.B /DEST pdfmark end
- 15929 23293 a FP(iwconfig)p FU(.)g(If)g(you)g(ha)-31
-b(v)-23 b(e)453 b(a)g(wired)g(interf)-15 b(ace)452 b(you)h(may)g(wish)f
-(to)-30 25308 y(use)2549 25308 y
-SDict begin H.S end
- 2549 25308 a 2549 25308
-a
-SDict begin 18.2 H.A end
- 2549 25308 a 2549 25308 a
-SDict begin [ /View [/XYZ H.V] /Dest (2082) cvn H.B /DEST pdfmark end
- 2549 25308 a FP(ifconfig)512
-b FU(to)g(turn)h(those)f(interf)-15 b(aces)513 b(of)-39
-b(f)513 b(while)f(you)h(test)f(your)h(wireless)f(netw)-15
-b(orking)-30 27322 y(to)409 b(ensure)g(there')-85 b(s)408
-b(no)h(interference.)g(Y)-170 b(ou)408 b(may)h(also)g(w)-15
-b(ant)408 b(to)h(test)f(your)h(changes)g(through)f(a)-30
-29337 y(reboot.)-30 30127 y
-SDict begin H.S end
- -30 30127 a -30 30127 a
-SDict begin 18.2 H.A end
- -30
-30127 a -30 30127 a
-SDict begin [ /View [/XYZ H.V] /Dest (2083) cvn H.B /DEST pdfmark end
- -30 30127 a 1999 x FU(No)-39 b(w)315
-b(that)g(you')-77 b(v)-23 b(e)314 b(seen)h(ho)-39 b(w)316
-b(to)f(edit)20592 32126 y
-SDict begin H.S end
- 20592 32126 a 20592 32126 a
-SDict begin 18.2 H.A end
-
-20592 32126 a 20592 32126 a
-SDict begin [ /View [/XYZ H.V] /Dest (2084) cvn H.B /DEST pdfmark end
- 20592 32126 a FQ(/etc/rc.d/rc.wireless)302
-b FU(for)316 b(you)e(def)-15 b(ault)315 b(netw)-15 b(ork,)314
-b(let')-85 b(s)-30 34141 y(tak)-15 b(e)355 b(a)g(closer)f(look)h(at)g
-(iwcon\002g)f(and)h(see)g(ho)-39 b(w)355 b(it)g(all)f(w)-15
-b(orks.)355 b(This)f(will)h(teach)g(you)g(the)f(quick)-30
-36156 y(and)h(dirty)f(w)-15 b(ay)355 b(of)g(setting)f(up)g(wi\002)h
-(for)g(those)f(times)g(when)h(you)g(\002nd)f(yourself)g(at)h(an)g
-(Internet)-30 38170 y(cafe,)388 b(cof)-39 b(fee)388 b(shop,)g(or)f(an)
--23 b(y)387 b(other)g(wi\002)g(hot)g(spot)g(and)g(wish)g(to)g(get)g
-(online.)-30 39281 y
-SDict begin H.S end
- -30 39281 a -30 39281 a
-SDict begin 18.2 H.A end
- -30 39281
-a -30 39281 a
-SDict begin [ /View [/XYZ H.V] /Dest (2085) cvn H.B /DEST pdfmark end
- -30 39281 a 1679 x FU(The)612 b(\002rst)f(step)h(is)g(to)
-f(tell)h(your)g(wireless)f(NIC)h(what)f(netw)-15 b(ork)611
-b(to)h(join.)g(Mak)-15 b(e)611 b(sure)h(you)-30 42975
-y(replace)4874 42975 y
-SDict begin H.S end
- 4874 42975 a 4874 42975 a
-SDict begin 18.2 H.A end
- 4874
-42975 a 4874 42975 a
-SDict begin [ /View [/XYZ H.V] /Dest (2086) cvn H.B /DEST pdfmark end
- 4874 42975 a FU(\223)5562 42975
-y
-SDict begin H.S end
- 5562 42975 a 5562 42975 a
-SDict begin 18.2 H.A end
- 5562 42975 a 5562 42975 a
-SDict begin [ /View [/XYZ H.V] /Dest (2087) cvn H.B /DEST pdfmark end
-
-5562 42975 a FQ(eth0)p FU(\224)427 b(with)i(whate)-39
-b(v)-23 b(er)430 b(netw)-15 b(ork)429 b(interf)-15 b(ace)429
-b(your)g(wireless)g(card)h(uses)f(and)h(change)-30 44989
-y
-SDict begin H.S end
- -30 44989 a -30 44989 a
-SDict begin 18.2 H.A end
- -30 44989 a -30 44989 a
-SDict begin [ /View [/XYZ H.V] /Dest (2088) cvn H.B /DEST pdfmark end
- -30
-44989 a FU(\223)658 44989 y
-SDict begin H.S end
- 658 44989 a 658 44989 a
-SDict begin 18.2 H.A end
- 658
-44989 a 658 44989 a
-SDict begin [ /View [/XYZ H.V] /Dest (2089) cvn H.B /DEST pdfmark end
- 658 44989 a Fz(mynetwork)51 b FU(\224)596
-b(to)h(the)g(essid)f(you)h(wish)g(to)f(use.)i(Y)-155
-b(es,)597 b(we)g(kno)-39 b(w)597 b(you')-77 b(re)597
-b(smarter)f(than)-30 47004 y(that.)474 b(Ne)-23 b(xt)474
-b(you')-15 b(ll)473 b(ha)-31 b(v)-23 b(e)474 b(to)g(specify)g(the)g
-(encryption)g(k)-15 b(e)-23 b(y)473 b(\(if)h(an)-23 b(y\))474
-b(used)g(on)g(your)g(wireless)-30 49019 y(netw)-15 b(ork.)387
-b(Finally)f(specify)h(the)h(channel)f(to)g(use)g(\(if)g(needed\).)-30
-50904 y
-SDict begin H.S end
- -30 50904 a -30 50904 a
-SDict begin 14.56 H.A end
- -30 50904 a -30 50904
-a
-SDict begin [ /View [/XYZ H.V] /Dest (2090) cvn H.B /DEST pdfmark end
- -30 50904 a -30 50904 a
-SDict begin H.S end
- -30 50904 a -30 50904 a
-SDict begin 14.56 H.A end
- -30
-50904 a -30 50904 a
-SDict begin [ /View [/XYZ H.V] /Dest (2091) cvn H.B /DEST pdfmark end
- -30 50904 a 1276 x FJ(#)1309 52180
-y
-SDict begin H.S end
- 1309 52180 a 1309 52180 a
-SDict begin 14.56 H.A end
- 1309 52180 a 1309 52180 a
-SDict begin [ /View [/XYZ H.V] /Dest (2092) cvn H.B /DEST pdfmark end
-
-1309 52180 a FH(iwconfig)743 b(eth0)g(essid)h(")16931
-52180 y
-SDict begin H.S end
- 16931 52180 a 16931 52180 a
-SDict begin 14.56 H.A end
- 16931 52180 a 16931
-52180 a
-SDict begin [ /View [/XYZ H.V] /Dest (2093) cvn H.B /DEST pdfmark end
- 16931 52180 a Fy(mynetwork)52 b FH(")-30 52348
-y
-SDict begin H.S end
- -30 52348 a -30 52348 a
-SDict begin 14.56 H.A end
- -30 52348 a -30 52348 a
-SDict begin [ /View [/XYZ H.V] /Dest (2094) cvn H.B /DEST pdfmark end
- -30
-52348 a 1444 x FJ(#)1309 53792 y
-SDict begin H.S end
- 1309 53792 a 1309 53792
-a
-SDict begin 14.56 H.A end
- 1309 53792 a 1309 53792 a
-SDict begin [ /View [/XYZ H.V] /Dest (2095) cvn H.B /DEST pdfmark end
- 1309 53792 a FH(iwconfig)743
-b(eth0)g(key)14699 53792 y
-SDict begin H.S end
- 14699 53792 a 14699 53792
-a
-SDict begin 14.56 H.A end
- 14699 53792 a 14699 53792 a
-SDict begin [ /View [/XYZ H.V] /Dest (2096) cvn H.B /DEST pdfmark end
- 14699 53792 a Fy
-(XXXXXXXXXXXXXXXXXXXXXXXXXXX)-30 53960 y
-SDict begin H.S end
- -30 53960 a
--30 53960 a
-SDict begin 14.56 H.A end
- -30 53960 a -30 53960 a
-SDict begin [ /View [/XYZ H.V] /Dest (2097) cvn H.B /DEST pdfmark end
- -30 53960 a 1444
-x FJ(#)1309 55404 y
-SDict begin H.S end
- 1309 55404 a 1309 55404 a
-SDict begin 14.56 H.A end
- 1309 55404
-a 1309 55404 a
-SDict begin [ /View [/XYZ H.V] /Dest (2098) cvn H.B /DEST pdfmark end
- 1309 55404 a FH(iwconfig)g(eth0)g(channel)g(n)-30
-57121 y
-SDict begin H.S end
- -30 57121 a -30 57121 a
-SDict begin 18.2 H.A end
- -30 57121 a -30 57121
-a
-SDict begin [ /View [/XYZ H.V] /Dest (2099) cvn H.B /DEST pdfmark end
- -30 57121 a 1847 x FU(That)387 b(should)g(be)g(all)g(on)g(the)h
-(wireless)f(end)g(of)g(things.)-30 60078 y
-SDict begin H.S end
- -30 60078
-a -30 60078 a
-SDict begin 18.2 H.A end
- -30 60078 a -30 60078 a
-SDict begin [ /View [/XYZ H.V] /Dest (2100) cvn H.B /DEST pdfmark end
- -30 60078 a 5182
-x FG(Con\002gure)519 b(the)e(Netw)-37 b(ork)-30 66604
-y
-SDict begin H.S end
- -30 66604 a -30 66604 a
-SDict begin 18.2 H.A end
- -30 66604 a -30 66604 a
-SDict begin [ /View [/XYZ H.V] /Dest (2102) cvn H.B /DEST pdfmark end
- -30
-66604 a 1600 x FU(This)298 b(is)g(done)g(in)g(the)g(e)-23
-b(xact)298 b(same)g(w)-15 b(ay)297 b(as)h(wired)g(netw)-15
-b(orks.)298 b(Simply)f(refer)h(to)g(earlier)h(sections)p
-Black 50226 73792 a FR(69)p Black eop end
-%%Page: 70 92
-TeXDict begin 70 91 bop -8000 -8000 a
-SDict begin /product where{pop product(Distiller)search{pop pop pop
-version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
-closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
-grestore}if}{pop}ifelse}{pop}ifelse}if end
- -8000 -8000 a Black
-0 TeXcolorgray -30 -1237 a
-SDict begin H.S end
- -30 -1237 a 0 TeXcolorgray
-0 TeXcolorgray -30 -1237 a
-SDict begin H.R end
- -30 -1237 a -30 -1237 a
-SDict begin [ /View [/XYZ H.V] /Dest (page.70) cvn H.B /DEST pdfmark
-end
- -30
--1237 a Black -399 x FR(Chapter)387 b(5)g(Network)f(Con\002gur)-23
-b(ation)p Black -30 3611 a FU(of)387 b(this)g(chapter)-85
-b(.)-30 6271 y
-SDict begin H.S end
- -30 6271 a -30 6271 a
-SDict begin 18.2 H.A end
- -30 6271 a -30 6271
-a
-SDict begin [ /View [/XYZ H.V] /Dest (NETWORK-CONFIGURATION-NFS) cvn
-H.B /DEST pdfmark end
- -30 6271 a 5789 x FL(5.6)620 b(Netw)-45 b(ork)621 b(File)f(Systems)
--30 12522 y
-SDict begin H.S end
- -30 12522 a -30 12522 a
-SDict begin 18.2 H.A end
- -30 12522 a -30 12522
-a
-SDict begin [ /View [/XYZ H.V] /Dest (2105) cvn H.B /DEST pdfmark end
- -30 12522 a -30 12522 a
-SDict begin H.S end
- -30 12522 a -30 12522 a
-SDict begin 18.2 H.A end
- -30
-12522 a -30 12522 a
-SDict begin [ /View [/XYZ H.V] /Dest (2107) cvn H.B /DEST pdfmark end
- -30 12522 a -30 12522 a
-SDict begin H.S end
- -30 12522
-a -30 12522 a
-SDict begin 18.2 H.A end
- -30 12522 a -30 12522 a
-SDict begin [ /View [/XYZ H.V] /Dest (2110) cvn H.B /DEST pdfmark end
- -30 12522 a -30
-12522 a
-SDict begin H.S end
- -30 12522 a -30 12522 a
-SDict begin 18.2 H.A end
- -30 12522 a -30 12522
-a
-SDict begin [ /View [/XYZ H.V] /Dest (2112) cvn H.B /DEST pdfmark end
- -30 12522 a -30 12522 a
-SDict begin H.S end
- -30 12522 a -30 12522 a
-SDict begin 18.2 H.A end
- -30
-12522 a -30 12522 a
-SDict begin [ /View [/XYZ H.V] /Dest (2114) cvn H.B /DEST pdfmark end
- -30 12522 a -30 13638 a
-SDict begin H.S end
- -30 13638
-a -30 13638 a
-SDict begin 18.2 H.A end
- -30 13638 a -30 13638 a
-SDict begin [ /View [/XYZ H.V] /Dest (2116) cvn H.B /DEST pdfmark end
- -30 13638 a 1553
-x FU(At)448 b(this)g(point,)g(you)g(should)g(ha)-31 b(v)-23
-b(e)448 b(a)h(w)-15 b(orking)447 b(TCP/IP)g(connection)h(to)g(your)g
-(netw)-15 b(ork.)448 b(Y)-170 b(ou)-30 17205 y(should)504
-b(be)h(able)g(to)g(ping)f(other)h(computers)f(on)h(your)f(internal)h
-(netw)-15 b(ork)503 b(and,)j(if)f(you)f(ha)-31 b(v)-23
-b(e)-30 19220 y(con\002gured)525 b(an)g(appropriate)f(g)-8
-b(ate)-39 b(w)-15 b(ay)-101 b(,)526 b(you)f(should)f(also)h(be)g(able)g
-(to)g(ping)g(computers)f(on)-30 21235 y(the)444 b(Internet)g(itself.)g
-(As)h(we)f(kno)-39 b(w)-101 b(,)445 b(the)f(whole)g(point)f(in)h
-(bringing)g(a)g(computer)g(onto)g(a)g(net-)-30 23249
-y(w)-15 b(ork)451 b(is)h(to)f(access)h(information.)f(While)g(some)h
-(people)f(might)g(bring)g(a)h(computer)g(up)f(on)h(a)-30
-25264 y(netw)-15 b(ork)379 b(just)g(for)g(the)h(fun)f(of)h(it,)g(most)f
-(people)g(wish)g(to)g(be)h(able)g(to)f(share)g(\002les)h(and)f
-(printers.)-30 27279 y(The)-23 b(y)486 b(wish)f(to)h(be)g(able)g(to)g
-(access)g(documents)f(on)h(the)g(Internet)f(or)h(play)g(an)g(online)f
-(g)-8 b(ame.)-30 29293 y(Ha)-31 b(ving)457 b(TCP/IP)f(installed)h(and)g
-(functional)g(on)g(your)g(ne)-39 b(w)458 b(Slackw)-15
-b(are)457 b(system)f(is)i(a)f(means)-30 31308 y(to)502
-b(that)g(end,)h(b)-31 b(ut)502 b(with)f(just)h(TCP/IP)f(installed,)h
-(functionality)f(will)h(be)g(v)-23 b(ery)502 b(rudimentary)-101
-b(.)-30 33323 y(T)-124 b(o)365 b(share)g(\002les,)g(we)g(will)g(ha)-31
-b(v)-23 b(e)365 b(to)f(transfer)h(them)g(back)g(and)g(forth)g(using)f
-(either)h(FTP)f(or)h(SCP)-172 b(.)-30 35337 y(W)-124
-b(e)463 b(cannot)g(bro)-39 b(wse)463 b(\002les)g(on)g(our)g(ne)-39
-b(w)463 b(Slackw)-15 b(are)463 b(computer)f(from)h(the)g(Netw)-15
-b(ork)462 b(Neigh-)-30 37352 y(borhood)424 b(or)i(My)e(Netw)-15
-b(ork)424 b(Places)h(icons)f(on)h(W)-62 b(indo)-39 b(ws)425
-b(computers.)f(W)-124 b(e')-77 b(d)425 b(lik)-15 b(e)424
-b(to)h(be)g(able)-30 39367 y(to)387 b(access)h(\002les)e(on)i(other)f
-(Unix)g(machines)f(seamlessly)-101 b(.)-30 40477 y
-SDict begin H.S end
- -30
-40477 a -30 40477 a
-SDict begin 18.2 H.A end
- -30 40477 a -30 40477 a
-SDict begin [ /View [/XYZ H.V] /Dest (2117) cvn H.B /DEST pdfmark end
- -30 40477
-a 1679 x FU(Ideally)g(,)586 b(we')-77 b(d)585 b(lik)-15
-b(e)585 b(to)g(be)g(able)h(to)f(use)h(a)24370 42156 y
-SDict begin H.S end
-
-24370 42156 a 24370 42156 a
-SDict begin 18.2 H.A end
- 24370 42156 a 24370 42156
-a
-SDict begin [ /View [/XYZ H.V] /Dest (2118) cvn H.B /DEST pdfmark end
- 24370 42156 a FR(network)f(\002le)g(system)h FU(to)f(allo)-39
-b(w)585 b(us)g(transparent)-30 44171 y(access)525 b(to)f(our)h(\002les)
-f(on)g(other)h(computers.)f(The)g(programs)g(that)h(we)f(use)h(to)f
-(interact)g(with)-30 46186 y(information)431 b(stored)h(on)g(our)f
-(computers)h(really)g(do)f(not)h(need)g(to)g(kno)-39
-b(w)432 b(on)g(what)g(computer)-30 48200 y(a)450 b(gi)-39
-b(v)-23 b(en)448 b(\002le)h(is)g(stored;)g(the)-23 b(y)449
-b(just)f(need)i(to)f(kno)-39 b(w)449 b(that)g(it)g(e)-23
-b(xists)448 b(and)h(ho)-39 b(w)449 b(to)g(get)h(to)f(it.)g(It)g(is)-30
-50215 y(then)396 b(the)f(responsibility)f(of)i(the)g(operating)f
-(system)g(to)h(manage)f(access)h(to)g(that)f(\002le)h(through)-30
-52230 y(the)476 b(a)-31 b(v)-39 b(ailable)477 b(\002le)f(systems)f(and)
-i(netw)-15 b(ork)475 b(\002le)h(systems.)g(The)h(tw)-15
-b(o)475 b(most)h(commonly)f(used)-30 54244 y(netw)-15
-b(ork)387 b(\002le)g(systems)f(are)i(SMB)e(\(as)h(implemented)f(by)i
-(Samba\))f(and)g(NFS.)-30 54580 y
-SDict begin H.S end
- -30 54580 a -30 54580
-a
-SDict begin 18.2 H.A end
- -30 54580 a -30 54580 a
-SDict begin [ /View [/XYZ H.V] /Dest (NETWORK-CONFIGURATION-NSF-SMB)
-cvn H.B /DEST pdfmark end
- -30 54580 a 5026 x FG(SMB/Samba/CIFS)-30
-59629 y
-SDict begin H.S end
- -30 59629 a -30 59629 a
-SDict begin 18.2 H.A end
- -30 59629 a -30 59629
-a
-SDict begin [ /View [/XYZ H.V] /Dest (2121) cvn H.B /DEST pdfmark end
- -30 59629 a -30 59629 a
-SDict begin H.S end
- -30 59629 a -30 59629 a
-SDict begin 18.2 H.A end
- -30
-59629 a -30 59629 a
-SDict begin [ /View [/XYZ H.V] /Dest (2123) cvn H.B /DEST pdfmark end
- -30 59629 a -30 59629 a
-SDict begin H.S end
- -30 59629
-a -30 59629 a
-SDict begin 18.2 H.A end
- -30 59629 a -30 59629 a
-SDict begin [ /View [/XYZ H.V] /Dest (2125) cvn H.B /DEST pdfmark end
- -30 59629 a -30
-59629 a
-SDict begin H.S end
- -30 59629 a -30 59629 a
-SDict begin 18.2 H.A end
- -30 59629 a -30 59629
-a
-SDict begin [ /View [/XYZ H.V] /Dest (2128) cvn H.B /DEST pdfmark end
- -30 59629 a -30 59629 a
-SDict begin H.S end
- -30 59629 a -30 59629 a
-SDict begin 18.2 H.A end
- -30
-59629 a -30 59629 a
-SDict begin [ /View [/XYZ H.V] /Dest (2131) cvn H.B /DEST pdfmark end
- -30 59629 a -30 59629 a
-SDict begin H.S end
- -30 59629
-a -30 59629 a
-SDict begin 18.2 H.A end
- -30 59629 a -30 59629 a
-SDict begin [ /View [/XYZ H.V] /Dest (2133) cvn H.B /DEST pdfmark end
- -30 59629 a -30
-59629 a
-SDict begin H.S end
- -30 59629 a -30 59629 a
-SDict begin 18.2 H.A end
- -30 59629 a -30 59629
-a
-SDict begin [ /View [/XYZ H.V] /Dest (2135) cvn H.B /DEST pdfmark end
- -30 59629 a -30 59629 a
-SDict begin H.S end
- -30 59629 a -30 59629 a
-SDict begin 18.2 H.A end
- -30
-59629 a -30 59629 a
-SDict begin [ /View [/XYZ H.V] /Dest (2137) cvn H.B /DEST pdfmark end
- -30 59629 a -30 59629 a
-SDict begin H.S end
- -30 59629
-a -30 59629 a
-SDict begin 18.2 H.A end
- -30 59629 a -30 59629 a
-SDict begin [ /View [/XYZ H.V] /Dest (2139) cvn H.B /DEST pdfmark end
- -30 59629 a -30
-60560 a
-SDict begin H.S end
- -30 60560 a -30 60560 a
-SDict begin 18.2 H.A end
- -30 60560 a -30 60560
-a
-SDict begin [ /View [/XYZ H.V] /Dest (2141) cvn H.B /DEST pdfmark end
- -30 60560 a 1991 x FU(SMB)552 b(\(for)h(Serv)-23 b(er)553
-b(Message)g(Block\))f(is)h(a)g(descendant)g(of)g(the)g(older)g(NetBIOS)
-f(protocol)-30 64566 y(that)356 b(w)-15 b(as)356 b(initially)f(used)i
-(by)f(IBM)g(in)g(their)g(LAN)h(Manager)f(product.)g(Microsoft)g(has)g
-(al)-15 b(w)g(ays)-30 66580 y(been)493 b(f)-15 b(airly)492
-b(interested)g(in)h(NetBIOS)e(and)i(it')-85 b(s)492 b(successors)g
-(\(NetBEUI,)h(SMB)f(and)g(CIFS\).)p Black -30 73792 a
-FR(70)p Black eop end
-%%Page: 71 93
-TeXDict begin 71 92 bop -8000 -8000 a
-SDict begin /product where{pop product(Distiller)search{pop pop pop
-version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
-closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
-grestore}if}{pop}ifelse}{pop}ifelse}if end
- -8000 -8000 a Black
-0 TeXcolorgray -30 -1237 a
-SDict begin H.S end
- -30 -1237 a 0 TeXcolorgray
-0 TeXcolorgray -30 -1237 a
-SDict begin H.R end
- -30 -1237 a -30 -1237 a
-SDict begin [ /View [/XYZ H.V] /Dest (page.71) cvn H.B /DEST pdfmark
-end
- -30
--1237 a Black -30 -2687 a
-SDict begin H.S end
- -30 -2687 a -30 -2687 a
-SDict begin 18.2 H.A end
- -30
--2687 a -30 -2687 a
-SDict begin [ /View [/XYZ H.V] /Dest (2156) cvn H.B /DEST pdfmark end
- -30 -2687 a 30833 -1636 a FR(Chapter)386
-b(5)i(Network)e(Con\002gur)-23 b(ation)p Black -30 3611
-a FU(The)404 b(Samba)g(project)g(has)g(e)-23 b(xisted)403
-b(since)h(1991,)g(when)g(it)g(w)-15 b(as)404 b(originally)f(written)g
-(to)h(link)g(an)-30 5626 y(IBM)536 b(PC)g(running)g(NetBIOS)g(with)g(a)
-h(Unix)g(serv)-23 b(er)-85 b(.)536 b(These)h(days,)g(SMB)f(is)g(the)h
-(preferred)-30 7640 y(method)592 b(for)h(sharing)g(\002le)f(and)h
-(print)g(services)g(o)-23 b(v)g(er)592 b(a)h(netw)-15
-b(ork)592 b(for)h(virtually)f(the)h(entire)-30 9655 y(ci)-39
-b(vilized)387 b(w)-15 b(orld)386 b(because)i(W)-62 b(indo)-39
-b(ws)387 b(supports)f(it.)-30 9991 y
-SDict begin H.S end
- -30 9991 a -30 9991
-a
-SDict begin 18.2 H.A end
- -30 9991 a -30 9991 a
-SDict begin [ /View [/XYZ H.V] /Dest (2142) cvn H.B /DEST pdfmark end
- -30 9991 a -30 10765 a
-SDict begin H.S end
- -30 10765
-a -30 10765 a
-SDict begin 18.2 H.A end
- -30 10765 a -30 10765 a
-SDict begin [ /View [/XYZ H.V] /Dest (2145) cvn H.B /DEST pdfmark end
- -30 10765 a 1680
-x FU(Samba')-85 b(s)460 b(con\002guration)f(\002le)h(is)18344
-12445 y
-SDict begin H.S end
- 18344 12445 a 18344 12445 a
-SDict begin 18.2 H.A end
- 18344 12445 a 18344
-12445 a
-SDict begin [ /View [/XYZ H.V] /Dest (2146) cvn H.B /DEST pdfmark end
- 18344 12445 a FQ(/etc/samba/smb.conf)p FU(;)448
-b(one)461 b(of)f(the)h(most)f(well)g(commented)-30 14459
-y(and)299 b(documented)f(con\002guration)g(\002les)g(you)h(will)g
-(\002nd)f(an)-23 b(ywhere.)299 b(Sample)f(shares)h(ha)-31
-b(v)-23 b(e)299 b(been)-30 16474 y(setup)341 b(for)h(you)f(to)h(vie)-39
-b(w)341 b(and)h(modify)f(for)g(your)h(needs.)g(If)f(you)h(need)f(e)-39
-b(v)-23 b(en)342 b(tighter)f(control)g(the)-30 18489
-y(man)420 b(page)h(for)f(smb)-62 b(.conf)421 b(is)f(indispensable.)g
-(Since)g(Samba)g(is)g(documented)f(so)i(well)f(in)g(the)-30
-20503 y(places)451 b(I')-77 b(v)-23 b(e)451 b(mentioned)g(abo)-23
-b(v)g(e,)451 b(we)h(will)f(not)g(re)-39 b(write)452 b(the)f
-(documentation)f(here.)i(W)-124 b(e)452 b(will,)-30 22518
-y(ho)-39 b(we)g(v)-23 b(er)-62 b(,)388 b(quickly)f(co)-23
-b(v)g(er)387 b(the)g(basics.)-30 23628 y
-SDict begin H.S end
- -30 23628 a
--30 23628 a
-SDict begin 18.2 H.A end
- -30 23628 a -30 23628 a
-SDict begin [ /View [/XYZ H.V] /Dest (2147) cvn H.B /DEST pdfmark end
- -30 23628 a -30 23628
-a
-SDict begin H.S end
- -30 23628 a -30 23628 a
-SDict begin 18.2 H.A end
- -30 23628 a -30 23628 a
-SDict begin [ /View [/XYZ H.V] /Dest (2148) cvn H.B /DEST pdfmark end
- -30
-23628 a 1680 x FQ(smb.conf)457 b FU(is)k(brok)-15 b(en)461
-b(do)-39 b(wn)461 b(into)g(multiple)g(sections:)f(one)i(section)f(per)g
-(share,)h(and)g(a)g(global)-30 27322 y(section)529 b(for)h(setting)g
-(options)f(that)g(are)h(to)g(be)g(used)g(e)-39 b(v)-23
-b(erywhere.)530 b(Some)f(options)g(are)h(only)-30 29337
-y(v)-39 b(alid)319 b(in)g(the)f(global)h(section;)f(some)g(are)h(only)g
-(v)-39 b(alid)319 b(outside)f(the)h(global)f(section.)h(Remember)-30
-31352 y(that)544 b(the)g(global)g(section)f(can)i(be)f(o)-23
-b(v)g(er)-31 b(-ridden)543 b(by)h(an)-23 b(y)544 b(other)g(section.)g
-(Refer)g(to)g(the)g(man)-30 33366 y(pages)387 b(for)h(more)f
-(information.)-30 34477 y
-SDict begin H.S end
- -30 34477 a -30 34477 a
-SDict begin 18.2 H.A end
- -30
-34477 a -30 34477 a
-SDict begin [ /View [/XYZ H.V] /Dest (2149) cvn H.B /DEST pdfmark end
- -30 34477 a 1679 x FU(Y)-170 b(ou)406
-b(will)g(most)g(lik)-15 b(ely)405 b(wish)i(to)f(edit)g(your)23961
-36156 y
-SDict begin H.S end
- 23961 36156 a 23961 36156 a
-SDict begin 18.2 H.A end
- 23961 36156 a 23961
-36156 a
-SDict begin [ /View [/XYZ H.V] /Dest (2150) cvn H.B /DEST pdfmark end
- 23961 36156 a FQ(smb.conf)401 b FU(\002le)406
-b(to)h(re\003ect)f(the)h(netw)-15 b(ork)406 b(settings)f(in)-30
-38170 y(your)387 b(LAN.)h(I)f(w)-15 b(ould)387 b(suggest)f(modifying)g
-(the)i(items)e(listed)h(belo)-39 b(w:)-30 40056 y
-SDict begin H.S end
- -30
-40056 a -30 40056 a
-SDict begin 14.56 H.A end
- -30 40056 a -30 40056 a
-SDict begin [ /View [/XYZ H.V] /Dest (2151) cvn H.B /DEST pdfmark end
- -30 40056
-a 1276 x FP([global])-30 42944 y(#)744 b(workgroup)f(=)g
-(NT-Domain-Name)g(or)g(Workgroup-Name,)f(eg:)i(LINUX2)-30
-44555 y(workgroup)f(=)h(MYGROUP)-30 46300 y
-SDict begin H.S end
- -30 46300
-a -30 46300 a
-SDict begin 18.2 H.A end
- -30 46300 a -30 46300 a
-SDict begin [ /View [/XYZ H.V] /Dest (2152) cvn H.B /DEST pdfmark end
- -30 46300 a 1820
-x FU(Change)418 b(the)g(w)-15 b(orkgroup)418 b(name)g(to)g(re\003ect)g
-(the)h(w)-15 b(orkgroup)417 b(or)h(domain)g(name)g(that)g(you)h(are)-30
-50134 y(using)387 b(locally)-101 b(.)-30 52020 y
-SDict begin H.S end
- -30
-52020 a -30 52020 a
-SDict begin 14.56 H.A end
- -30 52020 a -30 52020 a
-SDict begin [ /View [/XYZ H.V] /Dest (2153) cvn H.B /DEST pdfmark end
- -30 52020
-a 1276 x FP(#)744 b(server)f(string)g(is)h(the)f(equivalent)g(of)h(the)
-f(NT)h(Description)e(field)-30 54908 y(server)h(string)g(=)h(Samba)f
-(Server)-30 56652 y
-SDict begin H.S end
- -30 56652 a -30 56652 a
-SDict begin 18.2 H.A end
- -30 56652
-a -30 56652 a
-SDict begin [ /View [/XYZ H.V] /Dest (2154) cvn H.B /DEST pdfmark end
- -30 56652 a 1820 x FU(This)365 b(will)g(be)g(the)h(name)f
-(of)g(your)g(Slackw)-15 b(are)365 b(computer)g(displayed)f(in)h(the)h
-(Netw)-15 b(ork)364 b(Neigh-)-30 60487 y(borhood)387
-b(\(or)g(My)g(Netw)-15 b(ork)387 b(Places\))g(folder)-85
-b(.)-30 62372 y
-SDict begin H.S end
- -30 62372 a -30 62372 a
-SDict begin 14.56 H.A end
- -30 62372 a -30
-62372 a
-SDict begin [ /View [/XYZ H.V] /Dest (2155) cvn H.B /DEST pdfmark end
- -30 62372 a 1276 x FP(#)744 b(Security)f(mode.)g(Most)g(people)
-h(will)f(want)g(user)h(level)f(security.)g(See)-30 65260
-y(#)h(security_level.txt)e(for)h(details.)g(NOTE:)g(To)h(get)f(the)h
-(behaviour)f(of)-30 66872 y(#)h(Samba-1.9.18,)e(you'll)h(need)h(to)f
-(use)h("security)f(=)g(share".)p Black 50226 73792 a
-FR(71)p Black eop end
-%%Page: 72 94
-TeXDict begin 72 93 bop -8000 -8000 a
-SDict begin /product where{pop product(Distiller)search{pop pop pop
-version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
-closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
-grestore}if}{pop}ifelse}{pop}ifelse}if end
- -8000 -8000 a Black
-0 TeXcolorgray -30 -1237 a
-SDict begin H.S end
- -30 -1237 a 0 TeXcolorgray
-0 TeXcolorgray -30 -1237 a
-SDict begin H.R end
- -30 -1237 a -30 -1237 a
-SDict begin [ /View [/XYZ H.V] /Dest (page.72) cvn H.B /DEST pdfmark
-end
- -30
--1237 a Black -399 x FR(Chapter)387 b(5)g(Network)f(Con\002gur)-23
-b(ation)p Black -30 3611 a FP(security)743 b(=)h(user)-30
-7176 y FU(Y)-170 b(ou')-15 b(ll)577 b(almost)g(certainly)g(wish)h(to)f
-(implement)g(user)h(le)-39 b(v)-23 b(el)578 b(security)f(on)h(your)g
-(Slackw)-15 b(are)-30 9190 y(system.)-30 11075 y
-SDict begin H.S end
- -30
-11075 a -30 11075 a
-SDict begin 14.56 H.A end
- -30 11075 a -30 11075 a
-SDict begin [ /View [/XYZ H.V] /Dest (2157) cvn H.B /DEST pdfmark end
- -30 11075
-a 1277 x FP(#)744 b(You)f(may)h(wish)f(to)h(use)f(password)g
-(encryption.)g(Please)g(read)-30 13963 y(#)h(ENCRYPTION.txt,)e
-(Win95.txt)h(and)g(WinNT.txt)g(in)h(the)f(Samba)-30 15575
-y(#)h(documentation.)-30 17187 y(#)g(Do)f(not)h(enable)f(this)h(option)
-f(unless)g(you)g(have)h(read)f(those)g(documents)-30
-18799 y(encrypt)g(passwords)g(=)h(yes)-30 18994 y
-SDict begin H.S end
- -30
-18994 a -30 18994 a
-SDict begin 18.2 H.A end
- -30 18994 a -30 18994 a
-SDict begin [ /View [/XYZ H.V] /Dest (2158) cvn H.B /DEST pdfmark end
- -30 18994
-a -30 18994 a
-SDict begin H.S end
- -30 18994 a -30 18994 a
-SDict begin 18.2 H.A end
- -30 18994 a -30
-18994 a
-SDict begin [ /View [/XYZ H.V] /Dest (2160) cvn H.B /DEST pdfmark end
- -30 18994 a -30 18994 a
-SDict begin H.S end
- -30 18994 a -30 18994
-a
-SDict begin 18.2 H.A end
- -30 18994 a -30 18994 a
-SDict begin [ /View [/XYZ H.V] /Dest (2162) cvn H.B /DEST pdfmark end
- -30 18994 a -30 20543 a
-SDict begin H.S end
- -30
-20543 a -30 20543 a
-SDict begin 18.2 H.A end
- -30 20543 a -30 20543 a
-SDict begin [ /View [/XYZ H.V] /Dest (2164) cvn H.B /DEST pdfmark end
- -30 20543
-a 1820 x FU(If)405 b(encrypt)f(passw)-15 b(ords)403 b(is)h(not)g
-(enabled,)h(you)f(will)g(not)g(be)g(able)g(to)g(use)h(Samba)f(with)f
-(NT4.0,)-30 24378 y(W)-62 b(in2k,)496 b(W)-62 b(inXP)-172
-b(,)496 b(and)g(W)-62 b(in2003.)495 b(Earlier)h(W)-62
-b(indo)-39 b(ws)495 b(operating)h(systems)f(did)g(not)h(require)-30
-26392 y(encryption)387 b(to)g(share)g(\002les.)-30 27503
-y
-SDict begin H.S end
- -30 27503 a -30 27503 a
-SDict begin 18.2 H.A end
- -30 27503 a -30 27503 a
-SDict begin [ /View [/XYZ H.V] /Dest (2165) cvn H.B /DEST pdfmark end
- -30
-27503 a 1679 x FU(SMB)588 b(is)h(an)h(authenticated)e(protocol,)h
-(meaning)g(you)g(must)f(supply)h(a)g(correct)g(username)-30
-31197 y(and)413 b(passw)-15 b(ord)413 b(in)g(order)h(to)f(use)g(this)g
-(service.)h(W)-124 b(e)413 b(tell)h(the)f(samba)g(serv)-23
-b(er)413 b(what)g(usernames)-30 33211 y(and)363 b(passw)-15
-b(ords)362 b(are)h(v)-39 b(alid)363 b(with)f(the)20429
-33211 y
-SDict begin H.S end
- 20429 33211 a 20429 33211 a
-SDict begin 18.2 H.A end
- 20429 33211 a 20429
-33211 a
-SDict begin [ /View [/XYZ H.V] /Dest (2166) cvn H.B /DEST pdfmark end
- 20429 33211 a FP(smbpasswd)g FU(command.)34349
-33211 y
-SDict begin H.S end
- 34349 33211 a 34349 33211 a
-SDict begin 18.2 H.A end
- 34349 33211 a 34349
-33211 a
-SDict begin [ /View [/XYZ H.V] /Dest (2167) cvn H.B /DEST pdfmark end
- 34349 33211 a FP(smbpasswd)g FU(tak)-15 b(es)362
-b(a)h(couple)g(of)-30 35226 y(common)308 b(switches)h(to)g(tell)f(it)h
-(to)g(either)g(add)g(traditional)f(users,)h(or)g(add)g(machine)g(users)
-g(\(SMB)-30 37241 y(requires)378 b(that)g(you)g(add)g(the)g(computers')
-f(NETBIOS)h(names)f(as)i(machine)e(users,)i(restricting)-30
-39255 y(what)387 b(computers)g(one)g(can)h(authenticate)e(from\).)-30
-41140 y
-SDict begin H.S end
- -30 41140 a -30 41140 a
-SDict begin 14.56 H.A end
- -30 41140 a -30 41140
-a
-SDict begin [ /View [/XYZ H.V] /Dest (2168) cvn H.B /DEST pdfmark end
- -30 41140 a 1277 x FP(Adding)743 b(a)h(user)f(to)h(the)15592
-42417 y
-SDict begin H.S end
- 15592 42417 a 15592 42417 a
-SDict begin 14.56 H.A end
- 15592 42417 a 15592
-42417 a
-SDict begin [ /View [/XYZ H.V] /Dest (2169) cvn H.B /DEST pdfmark end
- 15592 42417 a Fm(/etc/samba)s(/)s(p)r(r)s(i)s(v)s(a)s(t)s(e)s
-(/)s(s)s(m)s(b)s(p)r(a)s(s)s(s)s(w)s(d)773 b FP(file.)-30
-42638 y
-SDict begin H.S end
- -30 42638 a -30 42638 a
-SDict begin 14.56 H.A end
- -30 42638 a -30 42638
-a
-SDict begin [ /View [/XYZ H.V] /Dest (2170) cvn H.B /DEST pdfmark end
- -30 42638 a 1390 x FJ(#)1309 44028 y
-SDict begin H.S end
- 1309 44028 a 1309
-44028 a
-SDict begin 14.56 H.A end
- 1309 44028 a 1309 44028 a
-SDict begin [ /View [/XYZ H.V] /Dest (2171) cvn H.B /DEST pdfmark end
- 1309 44028 a FH(smbpasswd)743
-b(-a)g(user)-30 45640 y FP(Adding)g(a)h(machine)f(name)g(to)h(the)g
-(/etc/samba/private/smbpasswd)c(file.)-30 45835 y
-SDict begin H.S end
- -30
-45835 a -30 45835 a
-SDict begin 14.56 H.A end
- -30 45835 a -30 45835 a
-SDict begin [ /View [/XYZ H.V] /Dest (2172) cvn H.B /DEST pdfmark end
- -30 45835
-a 1417 x FJ(#)1309 47252 y
-SDict begin H.S end
- 1309 47252 a 1309 47252 a
-SDict begin 14.56 H.A end
-
-1309 47252 a 1309 47252 a
-SDict begin [ /View [/XYZ H.V] /Dest (2173) cvn H.B /DEST pdfmark end
- 1309 47252 a FH(smbpasswd)j(-a)g(-m)h
-(machine)-30 48970 y
-SDict begin H.S end
- -30 48970 a -30 48970 a
-SDict begin 18.2 H.A end
- -30 48970
-a -30 48970 a
-SDict begin [ /View [/XYZ H.V] /Dest (2174) cvn H.B /DEST pdfmark end
- -30 48970 a 1846 x FU(It')-85 b(s)555 b(important)e(to)i
-(note)g(that)f(a)h(gi)-39 b(v)-23 b(en)554 b(username)h(or)g(machine)f
-(name)h(must)f(already)h(e)-23 b(xist)-30 52831 y(in)410
-b(the)3890 52831 y
-SDict begin H.S end
- 3890 52831 a 3890 52831 a
-SDict begin 18.2 H.A end
- 3890 52831
-a 3890 52831 a
-SDict begin [ /View [/XYZ H.V] /Dest (2175) cvn H.B /DEST pdfmark end
- 3890 52831 a FQ(/etc/passwd)404 b FU(\002le.)410
-b(Y)-170 b(ou)410 b(can)g(accomplish)g(this)f(simply)h(with)g(the)39659
-52831 y
-SDict begin H.S end
- 39659 52831 a 39659 52831 a
-SDict begin 18.2 H.A end
- 39659 52831 a 39659
-52831 a
-SDict begin [ /View [/XYZ H.V] /Dest (2176) cvn H.B /DEST pdfmark end
- 39659 52831 a FP(adduser)f FU(command.)-30 54846
-y(Note)469 b(that)g(when)g(using)g(the)16263 54846 y
-SDict begin H.S end
-
-16263 54846 a 16263 54846 a
-SDict begin 18.2 H.A end
- 16263 54846 a 16263 54846
-a
-SDict begin [ /View [/XYZ H.V] /Dest (2177) cvn H.B /DEST pdfmark end
- 16263 54846 a FP(adduser)f FU(command)h(to)g(add)g(a)g(machine)g
-(name)g(one)g(must)g(ap-)-30 56860 y(pend)552 b(a)g(dollar)f(sign)g(\()
-12593 56860 y
-SDict begin H.S end
- 12593 56860 a 12593 56860 a
-SDict begin 18.2 H.A end
- 12593 56860
-a 12593 56860 a
-SDict begin [ /View [/XYZ H.V] /Dest (2178) cvn H.B /DEST pdfmark end
- 12593 56860 a FU(\223)13281 56860 y
-SDict begin H.S end
- 13281
-56860 a 13281 56860 a
-SDict begin 18.2 H.A end
- 13281 56860 a 13281 56860 a
-SDict begin [ /View [/XYZ H.V] /Dest (2179) cvn H.B /DEST pdfmark end
- 13281
-56860 a FP($)p FU(\224\))h(to)g(the)g(machine)f(name.)h(This)f(should)
-38076 56860 y
-SDict begin H.S end
- 38076 56860 a 38076 56860 a
-SDict begin 18.2 H.A end
- 38076 56860
-a 38076 56860 a
-SDict begin [ /View [/XYZ H.V] /Dest (2180) cvn H.B /DEST pdfmark end
- 38076 56860 a FR(not)579 b FU(ho)-39
-b(we)g(v)-23 b(er)-62 b(,)552 b(be)g(done)-30 58875 y(with)3220
-58875 y
-SDict begin H.S end
- 3220 58875 a 3220 58875 a
-SDict begin 18.2 H.A end
- 3220 58875 a 3220 58875
-a
-SDict begin [ /View [/XYZ H.V] /Dest (2181) cvn H.B /DEST pdfmark end
- 3220 58875 a FP(smbpasswd)p FU(.)10797 58875 y
-SDict begin H.S end
- 10797
-58875 a 10797 58875 a
-SDict begin 18.2 H.A end
- 10797 58875 a 10797 58875 a
-SDict begin [ /View [/XYZ H.V] /Dest (2182) cvn H.B /DEST pdfmark end
- 10797
-58875 a FP(smbpasswd)493 b FU(appends)h(the)g(dollar)g(sign)g(on)g(its)
-g(o)-39 b(wn.)495 b(F)-23 b(ailing)493 b(to)h(mangle)-30
-60890 y(the)538 b(machine)g(name)f(this)h(w)-15 b(ay)537
-b(with)21261 60890 y
-SDict begin H.S end
- 21261 60890 a 21261 60890 a
-SDict begin 18.2 H.A end
- 21261
-60890 a 21261 60890 a
-SDict begin [ /View [/XYZ H.V] /Dest (2183) cvn H.B /DEST pdfmark end
- 21261 60890 a FP(adduser)g FU(will)g(result)h(in)
-g(an)g(error)g(when)g(adding)f(the)-30 62904 y(machine)387
-b(name)g(to)g(samba.)-30 64470 y
-SDict begin H.S end
- -30 64470 a -30 64470
-a
-SDict begin 14.56 H.A end
- -30 64470 a -30 64470 a
-SDict begin [ /View [/XYZ H.V] /Dest (2184) cvn H.B /DEST pdfmark end
- -30 64470 a -30 64470 a
-SDict begin H.S end
- -30
-64470 a -30 64470 a
-SDict begin 14.56 H.A end
- -30 64470 a -30 64470 a
-SDict begin [ /View [/XYZ H.V] /Dest (2185) cvn H.B /DEST pdfmark end
- -30 64470
-a 1596 x FJ(#)1309 66066 y
-SDict begin H.S end
- 1309 66066 a 1309 66066 a
-SDict begin 14.56 H.A end
-
-1309 66066 a 1309 66066 a
-SDict begin [ /View [/XYZ H.V] /Dest (2186) cvn H.B /DEST pdfmark end
- 1309 66066 a FH(adduser)743
-b(machine$)-30 67784 y
-SDict begin H.S end
- -30 67784 a -30 67784 a
-SDict begin 18.2 H.A end
- -30 67784
-a -30 67784 a
-SDict begin [ /View [/XYZ H.V] /Dest (NETWORK-CONFIGURATION-NFS-NFS)
-cvn H.B /DEST pdfmark end
- -30 67784 a Black 6008 x FR(72)p Black
-eop end
-%%Page: 73 95
-TeXDict begin 73 94 bop -8000 -8000 a
-SDict begin /product where{pop product(Distiller)search{pop pop pop
-version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
-closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
-grestore}if}{pop}ifelse}{pop}ifelse}if end
- -8000 -8000 a Black
-0 TeXcolorgray -30 -1237 a
-SDict begin H.S end
- -30 -1237 a 0 TeXcolorgray
-0 TeXcolorgray -30 -1237 a
-SDict begin H.R end
- -30 -1237 a -30 -1237 a
-SDict begin [ /View [/XYZ H.V] /Dest (page.73) cvn H.B /DEST pdfmark
-end
- -30
--1237 a Black 30833 -1636 a FR(Chapter)386 b(5)i(Network)e(Con\002gur)
--23 b(ation)p Black -30 3861 a FG(Netw)-37 b(ork)517
-b(File)g(System)h(\(NFS\))-30 4246 y
-SDict begin H.S end
- -30 4246 a -30 4246
-a
-SDict begin 18.2 H.A end
- -30 4246 a -30 4246 a
-SDict begin [ /View [/XYZ H.V] /Dest (2189) cvn H.B /DEST pdfmark end
- -30 4246 a -30 4246 a
-SDict begin H.S end
- -30 4246
-a -30 4246 a
-SDict begin 18.2 H.A end
- -30 4246 a -30 4246 a
-SDict begin [ /View [/XYZ H.V] /Dest (2191) cvn H.B /DEST pdfmark end
- -30 4246 a -30 4246
-a
-SDict begin H.S end
- -30 4246 a -30 4246 a
-SDict begin 18.2 H.A end
- -30 4246 a -30 4246 a
-SDict begin [ /View [/XYZ H.V] /Dest (2193) cvn H.B /DEST pdfmark end
- -30 4246
-a -30 5176 a
-SDict begin H.S end
- -30 5176 a -30 5176 a
-SDict begin 18.2 H.A end
- -30 5176 a -30 5176
-a
-SDict begin [ /View [/XYZ H.V] /Dest (2195) cvn H.B /DEST pdfmark end
- -30 5176 a 1629 x FU(NFS)490 b(\(or)h(Netw)-15 b(ork)490
-b(File)g(System\))g(w)-15 b(as)490 b(originally)f(written)h(by)h(Sun)f
-(for)h(their)f(Solaris)g(im-)-30 8820 y(plementation)530
-b(of)i(Unix.)f(While)g(it)h(is)f(signi\002cantly)f(easier)h(to)g(get)h
-(up)f(and)g(running)g(when)-30 10835 y(compared)356 b(to)f(SMB,)h(it)f
-(is)h(also)f(signi\002cantly)g(less)g(secure.)i(The)f(primary)f
-(insecurity)g(in)h(NFS)-30 12849 y(is)467 b(that)g(it)g(is)f(easy)h(to)
-g(spoof)g(user)g(and)g(group)g(id')-85 b(s)466 b(from)h(one)g(machine)g
-(to)g(another)-85 b(.)467 b(NFS)f(is)-30 14864 y(an)415
-b(unauthenticated)f(protocol.)h(Future)f(v)-23 b(ersions)414
-b(of)h(the)g(NFS)f(protocol)g(are)i(being)e(de)-39 b(vised)-30
-16879 y(that)387 b(enhance)g(security)-101 b(,)388 b(b)-31
-b(ut)387 b(these)g(are)h(not)f(common)f(at)i(the)f(time)g(of)g(this)g
-(writing.)-30 17214 y
-SDict begin H.S end
- -30 17214 a -30 17214 a
-SDict begin 18.2 H.A end
- -30 17214
-a -30 17214 a
-SDict begin [ /View [/XYZ H.V] /Dest (2196) cvn H.B /DEST pdfmark end
- -30 17214 a -30 17989 a
-SDict begin H.S end
- -30 17989 a -30
-17989 a
-SDict begin 18.2 H.A end
- -30 17989 a -30 17989 a
-SDict begin [ /View [/XYZ H.V] /Dest (2199) cvn H.B /DEST pdfmark end
- -30 17989 a 1679 x FU(NFS)478
-b(con\002guration)f(is)h(go)-23 b(v)g(erned)478 b(by)g(the)24145
-19668 y
-SDict begin H.S end
- 24145 19668 a 24145 19668 a
-SDict begin 18.2 H.A end
- 24145 19668 a 24145
-19668 a
-SDict begin [ /View [/XYZ H.V] /Dest (2200) cvn H.B /DEST pdfmark end
- 24145 19668 a FQ(/etc/exports)471 b FU(\002le.)478
-b(When)g(you)g(load)h(the)f(def)-15 b(ault)-30 21683
-y
-SDict begin H.S end
- -30 21683 a -30 21683 a
-SDict begin 18.2 H.A end
- -30 21683 a -30 21683 a
-SDict begin [ /View [/XYZ H.V] /Dest (2201) cvn H.B /DEST pdfmark end
- -30
-21683 a FQ(/etc/exports)480 b FU(\002le)488 b(into)f(an)h(editor)-62
-b(,)488 b(you')-15 b(ll)487 b(see)h(a)g(blank)g(\002le)g(with)f(a)h(tw)
--15 b(o)487 b(line)h(comment)f(on)-30 23698 y(top.)503
-b(W)-124 b(e')-15 b(ll)501 b(need)i(to)f(add)g(a)h(line)f(to)g(the)g(e)
--23 b(xports)502 b(\002le)g(for)g(each)h(directory)f(that)g(we)g(wish)g
-(to)-30 25712 y(e)-23 b(xport,)471 b(with)g(a)h(listing)e(of)h(client)g
-(w)-15 b(orkstations)470 b(that)h(will)g(be)g(allo)-39
-b(wed)471 b(to)g(access)h(that)f(\002le.)-30 27727 y(F)-23
-b(or)304 b(instance,)g(if)g(we)g(wished)g(to)g(e)-23
-b(xport)303 b(directory)27880 27727 y
-SDict begin H.S end
- 27880 27727 a 27880
-27727 a
-SDict begin 18.2 H.A end
- 27880 27727 a 27880 27727 a
-SDict begin [ /View [/XYZ H.V] /Dest (2202) cvn H.B /DEST pdfmark end
- 27880 27727 a FQ(/home/foo)c
-FU(to)304 b(w)-15 b(orkstation)302 b(Bar)-62 b(,)305
-b(we)f(w)-15 b(ould)-30 29742 y(simply)386 b(add)i(the)f(line:)-30
-31627 y
-SDict begin H.S end
- -30 31627 a -30 31627 a
-SDict begin 14.56 H.A end
- -30 31627 a -30 31627
-a
-SDict begin [ /View [/XYZ H.V] /Dest (2203) cvn H.B /DEST pdfmark end
- -30 31627 a 1276 x FP(/home/foo)743 b(Bar\(rw\))-30
-34598 y
-SDict begin H.S end
- -30 34598 a -30 34598 a
-SDict begin 18.2 H.A end
- -30 34598 a -30 34598
-a
-SDict begin [ /View [/XYZ H.V] /Dest (2204) cvn H.B /DEST pdfmark end
- -30 34598 a 1869 x FU(to)323 b(our)3889 36467 y
-SDict begin H.S end
- 3889
-36467 a 3889 36467 a
-SDict begin 18.2 H.A end
- 3889 36467 a 3889 36467 a
-SDict begin [ /View [/XYZ H.V] /Dest (2205) cvn H.B /DEST pdfmark end
- 3889 36467
-a FQ(/etc/exports)p FU(.)316 b(Belo)-39 b(w)-101 b(,)324
-b(you')-15 b(ll)323 b(\002nd)g(the)g(e)-23 b(xample)323
-b(from)g(the)h(man)f(page)g(for)h(the)47391 36467 y
-SDict begin H.S end
- 47391
-36467 a 47391 36467 a
-SDict begin 18.2 H.A end
- 47391 36467 a 47391 36467 a
-SDict begin [ /View [/XYZ H.V] /Dest (2206) cvn H.B /DEST pdfmark end
- 47391
-36467 a FQ(exports)-30 38482 y FU(\002le:)-30 40047 y
-SDict begin H.S end
-
--30 40047 a -30 40047 a
-SDict begin 14.56 H.A end
- -30 40047 a -30 40047 a
-SDict begin [ /View [/XYZ H.V] /Dest (2207) cvn H.B /DEST pdfmark end
- -30 40047
-a 1597 x FP(#)744 b(sample)f(/etc/exports)f(file)-30
-43255 y(/)11158 b(master\(rw\))743 b(trusty\(rw,no_root_squash\))-30
-44867 y(/projects)5206 b(proj*.local.domain\(rw\))-30
-46479 y(/usr)8926 b(*.local.domain\(ro\))742 b(@trusted\(rw\))-30
-48090 y(/home/joe)5206 b
-(pc001\(rw,all_squash,anonuid=150,anongid=100\))-30 49702
-y(/pub)8926 b(\(ro,insecure,all_squash\))-30 51447 y
-SDict begin H.S end
-
--30 51447 a -30 51447 a
-SDict begin 18.2 H.A end
- -30 51447 a -30 51447 a
-SDict begin [ /View [/XYZ H.V] /Dest (2208) cvn H.B /DEST pdfmark end
- -30 51447
-a 1820 x FU(As)453 b(you)f(can)h(see,)g(there)g(are)g(v)-39
-b(arious)453 b(options)e(a)-31 b(v)-39 b(ailable,)453
-b(b)-31 b(ut)453 b(most)f(should)g(be)h(f)-15 b(airly)452
-b(clear)-30 55281 y(from)387 b(this)g(e)-23 b(xample.)-30
-56392 y
-SDict begin H.S end
- -30 56392 a -30 56392 a
-SDict begin 18.2 H.A end
- -30 56392 a -30 56392
-a
-SDict begin [ /View [/XYZ H.V] /Dest (2209) cvn H.B /DEST pdfmark end
- -30 56392 a 1679 x FU(NFS)552 b(w)-15 b(orks)552 b(under)g(the)h
-(assumption)e(that)h(a)h(gi)-39 b(v)-23 b(en)552 b(user)h(on)f(one)h
-(machine)f(in)g(a)h(netw)-15 b(ork)-30 60086 y(has)405
-b(the)f(same)h(user)f(ID)h(on)g(all)f(machines)g(across)h(the)f(netw)
--15 b(ork.)404 b(When)h(an)g(attempt)f(is)g(made)-30
-62100 y(to)571 b(read)f(or)h(write)g(from)f(a)h(NFS)f(client)g(to)g(an)
-h(NFS)f(serv)-23 b(er)-62 b(,)571 b(a)f(UID)h(is)f(passed)h(as)f(part)h
-(of)-30 64115 y(the)618 b(read/write)g(request.)h(This)e(UID)h(is)g
-(treated)h(the)f(same)g(as)g(if)g(the)g(read/write)g(request)-30
-66130 y(originated)490 b(on)h(the)g(local)g(machine.)g(As)f(you)h(can)g
-(see,)g(if)g(one)g(could)g(arbitrarily)f(specify)h(a)-30
-68144 y(gi)-39 b(v)-23 b(en)531 b(UID)g(when)g(accessing)g(resources)g
-(on)g(a)g(remote)g(system,)g(Bad)g(Things)f(\(tm\))h(could)p
-Black 50226 73792 a FR(73)p Black eop end
-%%Page: 74 96
-TeXDict begin 74 95 bop -8000 -8000 a
-SDict begin /product where{pop product(Distiller)search{pop pop pop
-version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
-closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
-grestore}if}{pop}ifelse}{pop}ifelse}if end
- -8000 -8000 a Black
-0 TeXcolorgray -30 -1237 a
-SDict begin H.S end
- -30 -1237 a 0 TeXcolorgray
-0 TeXcolorgray -30 -1237 a
-SDict begin H.R end
- -30 -1237 a -30 -1237 a
-SDict begin [ /View [/XYZ H.V] /Dest (page.74) cvn H.B /DEST pdfmark
-end
- -30
--1237 a Black -399 x FR(Chapter)387 b(5)g(Network)f(Con\002gur)-23
-b(ation)p Black -30 3611 a FU(and)471 b(w)-15 b(ould)469
-b(happen.)i(As)g(a)f(partial)h(hedge)f(ag)-8 b(ainst)471
-b(this,)f(each)h(directory)f(is)h(mounted)e(with)-30
-5626 y(the)2457 5626 y
-SDict begin H.S end
- 2457 5626 a 2457 5626 a
-SDict begin 18.2 H.A end
- 2457 5626
-a 2457 5626 a
-SDict begin [ /View [/XYZ H.V] /Dest (2210) cvn H.B /DEST pdfmark end
- 2457 5626 a FP(root_squash)592 b FU(option.)h(This)g
-(maps)g(the)g(UID)g(for)h(an)-23 b(y)593 b(user)g(claiming)g(to)g(be)g
-(root)g(to)-30 7640 y(a)522 b(dif)-39 b(ferent)521 b(UID,)h(thus)e(pre)
--39 b(v)-23 b(enting)521 b(root)g(access)g(to)g(the)g(\002les)g(or)g
-(folders)g(in)g(the)h(e)-23 b(xported)-30 9655 y(directory)-101
-b(.)6372 9655 y
-SDict begin H.S end
- 6372 9655 a 6372 9655 a
-SDict begin 18.2 H.A end
- 6372 9655 a 6372
-9655 a
-SDict begin [ /View [/XYZ H.V] /Dest (2211) cvn H.B /DEST pdfmark end
- 6372 9655 a FP(root_squash)518 b FU(seems)i(to)g(be)g(enabled)g
-(by)g(def)-15 b(ault)519 b(as)h(a)g(security)g(measure,)g(b)-31
-b(ut)-30 11670 y(the)387 b(authors)g(recommend)g(specifying)f(it)i(an)
--23 b(yw)-15 b(ay)386 b(in)h(your)32987 11670 y
-SDict begin H.S end
- 32987
-11670 a 32987 11670 a
-SDict begin 18.2 H.A end
- 32987 11670 a 32987 11670 a
-SDict begin [ /View [/XYZ H.V] /Dest (2212) cvn H.B /DEST pdfmark end
- 32987
-11670 a FQ(/etc/exports)380 b FU(\002le.)-30 12780 y
-SDict begin H.S end
-
--30 12780 a -30 12780 a
-SDict begin 18.2 H.A end
- -30 12780 a -30 12780 a
-SDict begin [ /View [/XYZ H.V] /Dest (2213) cvn H.B /DEST pdfmark end
- -30 12780
-a 1679 x FU(Y)-170 b(ou)543 b(can)g(also)g(e)-23 b(xport)543
-b(a)g(directory)g(directly)g(from)g(the)g(command)g(line)g(on)g(the)g
-(serv)-23 b(er)543 b(by)-30 16474 y(using)387 b(the)5997
-16474 y
-SDict begin H.S end
- 5997 16474 a 5997 16474 a
-SDict begin 18.2 H.A end
- 5997 16474 a 5997 16474
-a
-SDict begin [ /View [/XYZ H.V] /Dest (2214) cvn H.B /DEST pdfmark end
- 5997 16474 a FP(exportfs)f FU(command)h(as)g(follo)-39
-b(ws:)-30 18359 y
-SDict begin H.S end
- -30 18359 a -30 18359 a
-SDict begin 14.56 H.A end
- -30 18359 a
--30 18359 a
-SDict begin [ /View [/XYZ H.V] /Dest (2215) cvn H.B /DEST pdfmark end
- -30 18359 a -30 18359 a
-SDict begin H.S end
- -30 18359 a -30 18359
-a
-SDict begin 14.56 H.A end
- -30 18359 a -30 18359 a
-SDict begin [ /View [/XYZ H.V] /Dest (2216) cvn H.B /DEST pdfmark end
- -30 18359 a 1276 x FJ(#)1309
-19635 y
-SDict begin H.S end
- 1309 19635 a 1309 19635 a
-SDict begin 14.56 H.A end
- 1309 19635 a 1309 19635
-a
-SDict begin [ /View [/XYZ H.V] /Dest (2217) cvn H.B /DEST pdfmark end
- 1309 19635 a FH(exportfs)743 b(-o)h(rw,no_root_squash)d
-(Bar:/home/foo)-30 21353 y
-SDict begin H.S end
- -30 21353 a -30 21353 a
-SDict begin 18.2 H.A end
- -30
-21353 a -30 21353 a
-SDict begin [ /View [/XYZ H.V] /Dest (2218) cvn H.B /DEST pdfmark end
- -30 21353 a 1847 x FU(This)k(line)h(e)-23
-b(xports)744 b(the)14466 23200 y
-SDict begin H.S end
- 14466 23200 a 14466
-23200 a
-SDict begin 18.2 H.A end
- 14466 23200 a 14466 23200 a
-SDict begin [ /View [/XYZ H.V] /Dest (2219) cvn H.B /DEST pdfmark end
- 14466 23200 a FQ(/home/foo)c
-FU(directory)745 b(to)h(the)f(computer)38379 23200 y
-SDict begin H.S end
-
-38379 23200 a 38379 23200 a
-SDict begin 18.2 H.A end
- 38379 23200 a 38379 23200
-a
-SDict begin [ /View [/XYZ H.V] /Dest (2220) cvn H.B /DEST pdfmark end
- 38379 23200 a FU(\223)39067 23200 y
-SDict begin H.S end
- 39067 23200 a 39067
-23200 a
-SDict begin 18.2 H.A end
- 39067 23200 a 39067 23200 a
-SDict begin [ /View [/XYZ H.V] /Dest (2221) cvn H.B /DEST pdfmark end
- 39067 23200 a 0 1 0 0
-TeXcolorcmyk 39067 23200 a
-SDict begin H.S end
- 39067 23200 a 0 1 0 0 TeXcolorcmyk
-FQ(Bar)p 0 1 0 0 TeXcolorcmyk 40946 22459 a
-SDict begin H.R end
- 40946 22459
-a 40946 23200 a
-SDict begin [ /H /I /Border [0 0 0] /Color [0 1 1] /Action << /Subtype
-/URI /URI (Bar) >> /Subtype /Link H.B /ANN pdfmark end
- 40946 23200 a Black FU(\224)h(and)g(grants)49897
-23200 y
-SDict begin H.S end
- 49897 23200 a 49897 23200 a
-SDict begin 18.2 H.A end
- 49897 23200 a 49897
-23200 a
-SDict begin [ /View [/XYZ H.V] /Dest (2222) cvn H.B /DEST pdfmark end
- 49897 23200 a 0 1 0 0 TeXcolorcmyk 49897 23200
-a
-SDict begin H.S end
- 49897 23200 a 0 1 0 0 TeXcolorcmyk FQ(Bar)p 0 1 0 0
-TeXcolorcmyk 51776 22459 a
-SDict begin H.R end
- 51776 22459 a 51776 23200
-a
-SDict begin [ /H /I /Border [0 0 0] /Color [0 1 1] /Action << /Subtype
-/URI /URI (Bar) >> /Subtype /Link H.B /ANN pdfmark end
- 51776 23200 a Black -30 25215 a FU(read/write)369 b(access.)i
-(Additionally)-101 b(,)368 b(the)i(NFS)f(serv)-23 b(er)369
-b(will)g(not)h(in)-62 b(v)-31 b(ok)-15 b(e)39048 25215
-y
-SDict begin H.S end
- 39048 25215 a 39048 25215 a
-SDict begin 18.2 H.A end
- 39048 25215 a 39048 25215
-a
-SDict begin [ /View [/XYZ H.V] /Dest (2223) cvn H.B /DEST pdfmark end
- 39048 25215 a FP(root_squash)p FU(,)369 b(which)-30
-27229 y(means)f(an)-23 b(y)368 b(user)g(on)h(Bar)f(with)g(a)g(UID)h(of)
-23318 27229 y
-SDict begin H.S end
- 23318 27229 a 23318 27229 a
-SDict begin 18.2 H.A end
- 23318 27229
-a 23318 27229 a
-SDict begin [ /View [/XYZ H.V] /Dest (2224) cvn H.B /DEST pdfmark end
- 23318 27229 a FU(\2230\224)f(\(root')-85
-b(s)368 b(UID\))g(will)g(ha)-31 b(v)-23 b(e)368 b(the)h(same)f(pri)-39
-b(vile)-23 b(ges)-30 29244 y(as)594 b(root)g(on)f(the)h(serv)-23
-b(er)-85 b(.)594 b(The)g(syntax)f(does)h(look)f(strange)h(\(usually)f
-(when)h(a)g(directory)f(is)-30 31259 y(speci\002ed)672
-b(in)8030 31259 y
-SDict begin H.S end
- 8030 31259 a 8030 31259 a
-SDict begin 18.2 H.A end
- 8030 31259
-a 8030 31259 a
-SDict begin [ /View [/XYZ H.V] /Dest (2225) cvn H.B /DEST pdfmark end
- 8030 31259 a FP(computer:/directory/file)e
-FU(syntax,)i(you)g(are)h(referring)g(to)f(a)g(\002le)h(in)f(a)-30
-33273 y(directory)387 b(on)g(a)h(gi)-39 b(v)-23 b(en)387
-b(computer\).)-30 34384 y
-SDict begin H.S end
- -30 34384 a -30 34384 a
-SDict begin 18.2 H.A end
- -30
-34384 a -30 34384 a
-SDict begin [ /View [/XYZ H.V] /Dest (2226) cvn H.B /DEST pdfmark end
- -30 34384 a 1679 x FU(Y)-170 b(ou')-15
-b(ll)386 b(\002nd)h(more)g(information)f(on)h(the)h(man)f(page)g(for)g
-(the)h(e)-23 b(xports)386 b(\002le.)p Black -30 73792
-a FR(74)p Black eop end
-%%Page: 75 97
-TeXDict begin 75 96 bop -8000 -8000 a
-SDict begin /product where{pop product(Distiller)search{pop pop pop
-version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
-closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
-grestore}if}{pop}ifelse}{pop}ifelse}if end
- -8000 -8000 a Black
-0 TeXcolorgray -30 -1358 a
-SDict begin H.S end
- -30 -1358 a 0 TeXcolorgray
-0 TeXcolorgray -30 -1358 a
-SDict begin H.R end
- -30 -1358 a -30 -1358 a
-SDict begin [ /View [/XYZ H.V] /Dest (page.75) cvn H.B /DEST pdfmark
-end
- -30
--1358 a Black Black -30 2383 a
-SDict begin H.S end
- -30 2383 a -30 2383 a
-SDict begin 18.2 H.A end
-
--30 2383 a -30 2383 a
-SDict begin [ /View [/XYZ H.V] /Dest (X-WINDOW-SYSTEM) cvn H.B /DEST
-pdfmark end
- -30 2383 a 2345 x FS(Chapter)894
-b(6)-30 10743 y FO(X)1287 b(Con\002guration)p -30 18316
-51806 56 v -30 18316 a
-SDict begin H.S end
- -30 18316 a -30 18316 a
-SDict begin 18.2 H.A end
- -30 18316
-a -30 18316 a
-SDict begin [ /View [/XYZ H.V] /Dest (2229) cvn H.B /DEST pdfmark end
- -30 18316 a -30 18316 a
-SDict begin H.S end
- -30 18316 a -30
-18316 a
-SDict begin 18.2 H.A end
- -30 18316 a -30 18316 a
-SDict begin [ /View [/XYZ H.V] /Dest (2231) cvn H.B /DEST pdfmark end
- -30 18316 a -30 19091
-a
-SDict begin H.S end
- -30 19091 a -30 19091 a
-SDict begin 18.2 H.A end
- -30 19091 a -30 19091 a
-SDict begin [ /View [/XYZ H.V] /Dest (2233) cvn H.B /DEST pdfmark end
- -30
-19091 a 1051 x FU(Starting)389 b(with)h(Slackw)-15 b(are-10.0,)390
-b(the)g(X)g(W)-62 b(indo)-39 b(w)390 b(en)-62 b(vironment)389
-b(in)h(Slackw)-15 b(are)389 b(is)h(pro)-23 b(vided)-30
-22157 y(by)408 b(Xor)-28 b(g.)408 b(X)g(is)g(responsible)f(for)h(pro)
--23 b(viding)407 b(a)h(graphical)f(user)h(interf)-15
-b(ace.)408 b(It)g(is)g(independent)-30 24171 y(from)387
-b(the)g(operating)g(system,)g(unlik)-15 b(e)386 b(W)-62
-b(indo)-39 b(ws)387 b(or)h(the)f(MacOS.)-30 24507 y
-SDict begin H.S end
- -30
-24507 a -30 24507 a
-SDict begin 18.2 H.A end
- -30 24507 a -30 24507 a
-SDict begin [ /View [/XYZ H.V] /Dest (2234) cvn H.B /DEST pdfmark end
- -30 24507
-a -30 24507 a
-SDict begin H.S end
- -30 24507 a -30 24507 a
-SDict begin 18.2 H.A end
- -30 24507 a -30
-24507 a
-SDict begin [ /View [/XYZ H.V] /Dest (2236) cvn H.B /DEST pdfmark end
- -30 24507 a -30 25282 a
-SDict begin H.S end
- -30 25282 a -30 25282
-a
-SDict begin 18.2 H.A end
- -30 25282 a -30 25282 a
-SDict begin [ /View [/XYZ H.V] /Dest (2239) cvn H.B /DEST pdfmark end
- -30 25282 a 1679 x FU(The)549
-b(X)g(W)-62 b(indo)-39 b(w)549 b(System)g(is)g(implemented)f(through)g
-(man)-23 b(y)549 b(programs)g(that)g(run)g(in)g(user)-31
-b(-)-30 28976 y(land.)384 b(The)h(tw)-15 b(o)383 b(main)h(components)f
-(are)i(the)f(serv)-23 b(er)384 b(and)g(the)g(windo)-39
-b(w)384 b(manager)-85 b(.)384 b(The)g(serv)-23 b(er)-30
-30990 y(pro)g(vides)458 b(the)g(lo)-39 b(wle)g(v)-23
-b(el)458 b(functions)g(for)g(interacting)g(with)g(your)g(video)g(hardw)
--15 b(are,)459 b(thus)f(it)g(is)-30 33005 y(system)364
-b(speci\002c.)h(The)f(windo)-39 b(w)364 b(manager)h(sits)f(on)g(top)h
-(of)f(the)h(serv)-23 b(er)364 b(and)h(pro)-23 b(vides)364
-b(the)g(user)-30 35020 y(interf)-15 b(ace.)420 b(The)g(adv)-39
-b(antage)420 b(to)g(this)f(is)h(you)g(can)g(ha)-31 b(v)-23
-b(e)420 b(man)-23 b(y)419 b(dif)-39 b(ferent)420 b(graphical)g(interf)
--15 b(aces)-30 37034 y(by)387 b(simply)g(changing)f(the)i(windo)-39
-b(w)387 b(manager)g(you)g(use.)-30 38145 y
-SDict begin H.S end
- -30 38145
-a -30 38145 a
-SDict begin 18.2 H.A end
- -30 38145 a -30 38145 a
-SDict begin [ /View [/XYZ H.V] /Dest (2240) cvn H.B /DEST pdfmark end
- -30 38145 a 1679
-x FU(Con\002guring)295 b(X)h(can)g(be)g(a)g(comple)-23
-b(x)295 b(task.)h(The)g(reason)g(for)g(this)f(is)h(the)g(v)-39
-b(ast)296 b(numbers)f(of)h(video)-30 41838 y(cards)529
-b(a)-31 b(v)-39 b(ailable)529 b(for)g(the)g(PC)g(architecture,)g(most)f
-(of)h(which)g(use)g(dif)-39 b(ferent)529 b(programming)-30
-43853 y(interf)-15 b(aces.)322 b(Luckily)-101 b(,)321
-b(most)g(cards)h(today)f(support)g(basic)h(video)f(standards)g(kno)-39
-b(wn)321 b(as)h(VESA,)-30 45868 y(and)388 b(if)g(your)g(card)g(is)g
-(among)f(them)h(you')-15 b(ll)387 b(be)h(able)g(to)f(start)h(X)g(using)
-f(the)40812 45868 y
-SDict begin H.S end
- 40812 45868 a 40812 45868 a
-SDict begin 18.2 H.A end
- 40812
-45868 a 40812 45868 a
-SDict begin [ /View [/XYZ H.V] /Dest (2241) cvn H.B /DEST pdfmark end
- 40812 45868 a FP(startx)h FU(command)-30
-47882 y(right)f(out)g(of)g(the)h(box.)-30 48218 y
-SDict begin H.S end
- -30
-48218 a -30 48218 a
-SDict begin 18.2 H.A end
- -30 48218 a -30 48218 a
-SDict begin [ /View [/XYZ H.V] /Dest (2242) cvn H.B /DEST pdfmark end
- -30 48218
-a -30 48993 a
-SDict begin H.S end
- -30 48993 a -30 48993 a
-SDict begin 18.2 H.A end
- -30 48993 a -30
-48993 a
-SDict begin [ /View [/XYZ H.V] /Dest (2244) cvn H.B /DEST pdfmark end
- -30 48993 a 1679 x FU(If)477 b(this)e(doesn')-28
-b(t)476 b(w)-15 b(ork)476 b(with)g(your)g(card,)h(or)f(if)h(you')-77
-b(d)475 b(lik)-15 b(e)476 b(to)g(tak)-15 b(e)476 b(adv)-39
-b(antage)476 b(of)g(the)g(high-)-30 52687 y(performance)374
-b(features)g(of)g(your)g(video)f(card)i(such)e(as)h(hardw)-15
-b(are)374 b(acceleration)g(or)g(3-D)g(hard-)-30 54701
-y(w)-15 b(are)387 b(rendering,)h(then)f(you')-15 b(ll)386
-b(need)h(to)g(recon\002gure)g(X.)-30 55037 y
-SDict begin H.S end
- -30 55037
-a -30 55037 a
-SDict begin 18.2 H.A end
- -30 55037 a -30 55037 a
-SDict begin [ /View [/XYZ H.V] /Dest (2245) cvn H.B /DEST pdfmark end
- -30 55037 a -30
-55812 a
-SDict begin H.S end
- -30 55812 a -30 55812 a
-SDict begin 18.2 H.A end
- -30 55812 a -30 55812
-a
-SDict begin [ /View [/XYZ H.V] /Dest (2248) cvn H.B /DEST pdfmark end
- -30 55812 a 1679 x FU(T)-124 b(o)557 b(con\002gure)f(X,)h(you')-15
-b(ll)556 b(need)h(to)f(mak)-15 b(e)556 b(an)26005 57491
-y
-SDict begin H.S end
- 26005 57491 a 26005 57491 a
-SDict begin 18.2 H.A end
- 26005 57491 a 26005 57491
-a
-SDict begin [ /View [/XYZ H.V] /Dest (2249) cvn H.B /DEST pdfmark end
- 26005 57491 a FQ(/etc/X11/xorg.conf)545 b FU(\002le.)557
-b(This)f(\002le)h(contains)-30 59506 y(lots)443 b(of)h(details)f(about)
-g(your)h(video)f(hardw)-15 b(are,)444 b(mouse,)g(and)f(monitor)-85
-b(.)443 b(It')-85 b(s)443 b(a)h(v)-23 b(ery)444 b(comple)-23
-b(x)-30 61520 y(con\002guration)468 b(\002le,)i(b)-31
-b(ut)469 b(fortunately)g(there)g(are)h(se)-39 b(v)-23
-b(eral)469 b(programs)g(to)h(help)f(create)g(one)h(for)-30
-63535 y(you.)388 b(W)-124 b(e')-15 b(ll)386 b(mention)h(a)g(fe)-39
-b(w)388 b(of)f(them)g(here.)-30 63870 y
-SDict begin H.S end
- -30 63870 a -30
-63870 a
-SDict begin 18.2 H.A end
- -30 63870 a -30 63870 a
-SDict begin [ /View [/XYZ H.V] /Dest (X-WINDOW-SYSTEM-XORGCONFIG) cvn
-H.B /DEST pdfmark end
- -30 63870 a Black 50226
-73672 a FR(75)p Black eop end
-%%Page: 76 98
-TeXDict begin 76 97 bop -8000 -8000 a
-SDict begin /product where{pop product(Distiller)search{pop pop pop
-version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
-closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
-grestore}if}{pop}ifelse}{pop}ifelse}if end
- -8000 -8000 a Black
-0 TeXcolorgray -30 -1358 a
-SDict begin H.S end
- -30 -1358 a 0 TeXcolorgray
-0 TeXcolorgray -30 -1358 a
-SDict begin H.R end
- -30 -1358 a -30 -1358 a
-SDict begin [ /View [/XYZ H.V] /Dest (page.76) cvn H.B /DEST pdfmark
-end
- -30
--1358 a Black -30 -2687 a
-SDict begin H.S end
- -30 -2687 a -30 -2687 a
-SDict begin 18.2 H.A end
- -30
--2687 a -30 -2687 a
-SDict begin [ /View [/XYZ H.V] /Dest (2274) cvn H.B /DEST pdfmark end
- -30 -2687 a 1051 x FR(Chapter)387
-b(6)g(X)g(Con\002gur)-23 b(ation)p Black -30 4011 a FL(6.1)620
-b Fq(xor)-33 b(gcon\002g)-30 5624 y
-SDict begin H.S end
- -30 5624 a -30 5624
-a
-SDict begin 18.2 H.A end
- -30 5624 a -30 5624 a
-SDict begin [ /View [/XYZ H.V] /Dest (2253) cvn H.B /DEST pdfmark end
- -30 5624 a 1518 x FU(This)327
-b(is)f(a)h(simple)f(menu)h(dri)-39 b(v)-23 b(en)326 b(frontend)h(that')
--85 b(s)326 b(similar)g(in)h(feel)g(to)g(the)f(Slackw)-15
-b(are)326 b(installer)-85 b(.)-30 9156 y(It)411 b(simply)f(tells)h(the)
-g(X)g(serv)-23 b(er)411 b(to)f(tak)-15 b(e)411 b(a)g(look)g(at)g(the)g
-(card,)h(and)f(then)f(set)h(up)g(the)g(best)g(initial)-30
-11171 y(con\002guration)563 b(\002le)g(it)g(can)h(mak)-15
-b(e)563 b(based)h(on)g(the)f(information)g(it)g(g)-8
-b(athers.)564 b(The)g(generated)-30 13186 y
-SDict begin H.S end
- -30 13186
-a -30 13186 a
-SDict begin 18.2 H.A end
- -30 13186 a -30 13186 a
-SDict begin [ /View [/XYZ H.V] /Dest (2254) cvn H.B /DEST pdfmark end
- -30 13186 a FQ
-(/etc/X11/xorg.conf)382 b FU(\002le)392 b(should)g(be)h(a)g(good)g
-(starting)f(point)g(for)h(most)f(systems)g(\(and)h(should)-30
-15200 y(w)-15 b(ork)387 b(without)f(modi\002cation\).)-30
-16253 y
-SDict begin H.S end
- -30 16253 a -30 16253 a
-SDict begin 18.2 H.A end
- -30 16253 a -30 16253
-a
-SDict begin [ /View [/XYZ H.V] /Dest (2255) cvn H.B /DEST pdfmark end
- -30 16253 a 1737 x FU(This)455 b(is)h(a)g(te)-23 b(xt-based)455
-b(X)h(con\002guration)e(program)i(that')-85 b(s)455 b(designed)g(for)h
-(the)f(adv)-39 b(anced)456 b(sys-)-30 20005 y(tem)499
-b(administrator)-85 b(.)499 b(Here')-85 b(s)499 b(a)h(sample)f(w)-15
-b(alkthrough)498 b(using)34659 20005 y
-SDict begin H.S end
- 34659 20005 a
-34659 20005 a
-SDict begin 18.2 H.A end
- 34659 20005 a 34659 20005 a
-SDict begin [ /View [/XYZ H.V] /Dest (2256) cvn H.B /DEST pdfmark end
- 34659 20005
-a FP(xorgconfig)p FU(.)h(First,)g(start)g(the)-30 22019
-y(program:)-30 23905 y
-SDict begin H.S end
- -30 23905 a -30 23905 a
-SDict begin 14.56 H.A end
- -30 23905
-a -30 23905 a
-SDict begin [ /View [/XYZ H.V] /Dest (2257) cvn H.B /DEST pdfmark end
- -30 23905 a -30 23905 a
-SDict begin H.S end
- -30 23905 a -30
-23905 a
-SDict begin 14.56 H.A end
- -30 23905 a -30 23905 a
-SDict begin [ /View [/XYZ H.V] /Dest (2258) cvn H.B /DEST pdfmark end
- -30 23905 a 1276 x FJ(#)1309
-25181 y
-SDict begin H.S end
- 1309 25181 a 1309 25181 a
-SDict begin 14.56 H.A end
- 1309 25181 a 1309 25181
-a
-SDict begin [ /View [/XYZ H.V] /Dest (2259) cvn H.B /DEST pdfmark end
- 1309 25181 a FH(xorgconfig)-30 26898 y
-SDict begin H.S end
- -30 26898 a
--30 26898 a
-SDict begin 18.2 H.A end
- -30 26898 a -30 26898 a
-SDict begin [ /View [/XYZ H.V] /Dest (2260) cvn H.B /DEST pdfmark end
- -30 26898 a 1847
-x FU(This)491 b(will)g(present)h(a)g(screenful)f(of)h(information)f
-(about)31967 28745 y
-SDict begin H.S end
- 31967 28745 a 31967 28745 a
-SDict begin 18.2 H.A end
- 31967
-28745 a 31967 28745 a
-SDict begin [ /View [/XYZ H.V] /Dest (2261) cvn H.B /DEST pdfmark end
- 31967 28745 a FP(xorgconfig)p FU(.)g(T)-124
-b(o)492 b(continue,)f(press)-30 30760 y
-SDict begin H.S end
- -30 30760 a -30
-30760 a
-SDict begin 18.2 H.A end
- -30 30760 a -30 30760 a
-SDict begin [ /View [/XYZ H.V] /Dest (2262) cvn H.B /DEST pdfmark end
- -30 30760 a Fv(ENTER)p
-FU(.)5635 30760 y
-SDict begin H.S end
- 5635 30760 a 5635 30760 a
-SDict begin 18.2 H.A end
- 5635 30760
-a 5635 30760 a
-SDict begin [ /View [/XYZ H.V] /Dest (2263) cvn H.B /DEST pdfmark end
- 5635 30760 a FP(xorgconfig)627 b FU(will)h(ask)h(you)f
-(to)g(v)-23 b(erify)628 b(you)g(ha)-31 b(v)-23 b(e)628
-b(set)g(your)40802 30760 y
-SDict begin H.S end
- 40802 30760 a 40802 30760
-a
-SDict begin 18.2 H.A end
- 40802 30760 a 40802 30760 a
-SDict begin [ /View [/XYZ H.V] /Dest (2264) cvn H.B /DEST pdfmark end
- 40802 30760 a FP(PATH)g
-FU(correctly)-101 b(.)629 b(It)-30 32775 y(should)387
-b(be)g(\002ne,)h(so)f(go)g(ahead)g(and)h(hit)21793 32775
-y
-SDict begin H.S end
- 21793 32775 a 21793 32775 a
-SDict begin 18.2 H.A end
- 21793 32775 a 21793 32775
-a
-SDict begin [ /View [/XYZ H.V] /Dest (2265) cvn H.B /DEST pdfmark end
- 21793 32775 a Fv(ENTER)p FU(.)-30 33110 y
-SDict begin H.S end
- -30 33110
-a -30 33110 a
-SDict begin 18.2 H.A end
- -30 33110 a -30 33110 a
-SDict begin [ /View [/XYZ H.V] /Dest (X-WINDOW-SYSTEM-1) cvn H.B /DEST
-pdfmark end
- -30 33110 a Black
-40562 x FR(76)p Black eop end
-%%Page: 77 99
-TeXDict begin 77 98 bop -8000 -8000 a
-SDict begin /product where{pop product(Distiller)search{pop pop pop
-version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
-closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
-grestore}if}{pop}ifelse}{pop}ifelse}if end
- -8000 -8000 a Black
-0 TeXcolorgray -30 -1237 a
-SDict begin H.S end
- -30 -1237 a 0 TeXcolorgray
-0 TeXcolorgray -30 -1237 a
-SDict begin H.R end
- -30 -1237 a -30 -1237 a
-SDict begin [ /View [/XYZ H.V] /Dest (page.77) cvn H.B /DEST pdfmark
-end
- -30
--1237 a Black 35138 -1636 a FR(Chapter)386 b(6)i(X)f(Con\002gur)-23
-b(ation)p Black -30 3611 a FX(Figur)-28 b(e)387 b(6-1.)h
-FV(xorgcon\002g)e FX(Mouse)h(Con\002guration)-30 5477
-y
-SDict begin H.S end
- -30 5477 a -30 5477 a
-SDict begin 18.2 H.A end
- -30 5477 a -30 5477 a
-SDict begin [ /View [/XYZ H.V] /Dest (2269) cvn H.B /DEST pdfmark end
- -30 5477
-a -30 40807 a
- currentpoint currentpoint translate 1 1 scale neg exch neg exch translate
- -30 40807 a @beginspecial 0 @llx 0 @lly
-451 @urx 311 @ury 4510 @rwi @setspecial
-%%BeginDocument: x-window-system/xorgconfig1.eps
-%!PS-Adobe-2.0 EPSF-1.2
-%%BoundingBox: 0 0 451 311
-
-/Outterbox
-{ newpath
-0 0 moveto
-450 0 rlineto
-0 310 rlineto
--450 0 rlineto
-closepath } def
-
-
-/TitleFont
-{ /Helvetica findfont 11 scalefont setfont
-moveto } def
-
-/PanelFont
-{ /Helvetica findfont 12 scalefont setfont
-moveto } def
-
-/ContentFont
-{ /Helvetica findfont 12 scalefont setfont
-moveto } def
-
-/ButtonFont
-{ /Helvetica findfont 11 scalefont setfont
-moveto } def
-
-Outterbox
-3 300 ContentFont (First specify a mouse protocol type. Choose one from the following list:)show
-
-3 280 ContentFont ( 1. Auto) show
-3 265 ContentFont ( 2. SysMouse) show
-3 250 ContentFont ( 3. MouseSystems) show
-3 235 ContentFont ( 4. PS/2) show
-3 220 ContentFont ( 5. Microsoft) show
-3 205 ContentFont ( 6. Busmouse) show
-3 190 ContentFont ( 7. IMPS/2) show
-3 175 ContentFont ( 8. ExplorerPS/2) show
-3 160 ContentFont ( 9. GlidePointPS/2) show
-3 145 ContentFont (10. MouseManPlusPS/2) show
-3 130 ContentFont (11. NetMousePS/2) show
-3 115 ContentFont (12. NetScrollPS/2) show
-3 100 ContentFont (13. ThinkingMousePS/2) show
-3 85 ContentFont (14. AceCad) show
-
-3 60 ContentFont (The recommended protocol is Auto. If you have a very old mouse) show
-3 45 ContentFont (or don't want OS support or auto detection, and you have a two-button) show
-3 30 ContentFont (or three-button serial mouse, it is most likely of type Microsoft.) show
-
-3 3 ContentFont (Enter a protocol number:) show
-
-stroke
-showpage
-%%EOF
-
-%%EndDocument
- @endspecial -30 40807 a
- currentpoint currentpoint translate 1 1 div 1 1 div scale neg exch
-neg exch translate
- -30 40807 a -30 40807 a
-SDict begin H.S end
- -30
-40807 a -30 40807 a
-SDict begin 18.2 H.A end
- -30 40807 a -30 40807 a
-SDict begin [ /View [/XYZ H.V] /Dest (2272) cvn H.B /DEST pdfmark end
- -30 40807
-a 3565 x FU(Select)587 b(your)f(mouse)h(from)g(the)g(menu)f(presented.)
-h(If)g(you)g(don')-28 b(t)587 b(see)g(your)g(serial)g(mouse)-30
-46387 y(listed,)403 b(pick)g(the)h(Microsoft)e(protocol)h(--)h(it')-85
-b(s)403 b(the)g(most)g(common)f(and)h(will)g(probably)g(w)-15
-b(ork.)-30 48401 y(Ne)-23 b(xt)645 b FP(xorgconfig)f
-FU(will)h(ask)g(you)g(about)g(using)28519 48401 y
-SDict begin H.S end
- 28519
-48401 a 28519 48401 a
-SDict begin 18.2 H.A end
- 28519 48401 a 28519 48401 a
-SDict begin [ /View [/XYZ H.V] /Dest (2276) cvn H.B /DEST pdfmark end
- 28519
-48401 a FP(ChordMiddle)f FU(and)40230 48401 y
-SDict begin H.S end
- 40230 48401
-a 40230 48401 a
-SDict begin 18.2 H.A end
- 40230 48401 a 40230 48401 a
-SDict begin [ /View [/XYZ H.V] /Dest (2277) cvn H.B /DEST pdfmark end
- 40230 48401
-a FP(Emulate3Buttons)p FU(.)-30 50416 y(Y)-170 b(ou')-15
-b(ll)512 b(see)h(these)g(options)f(described)h(in)g(detail)g(on)g(the)g
-(screen.)h(Use)f(them)f(if)i(the)f(middle)-30 52431 y(b)-31
-b(utton)393 b(on)h(your)g(mouse)g(doesn')-28 b(t)393
-b(w)-15 b(ork)393 b(under)h(X,)h(or)f(if)g(your)g(mouse)f(only)h(has)g
-(tw)-15 b(o)393 b(b)-31 b(uttons)-30 54445 y(\()486 54445
-y
-SDict begin H.S end
- 486 54445 a 486 54445 a
-SDict begin 18.2 H.A end
- 486 54445 a 486 54445 a
-SDict begin [ /View [/XYZ H.V] /Dest (2278) cvn H.B /DEST pdfmark end
- 486
-54445 a FP(Emulate3Buttons)625 b FU(lets)i(you)f(simulate)g(the)h
-(middle)f(b)-31 b(utton)626 b(by)h(pressing)f(both)h(b)-31
-b(uttons)-30 56460 y(simultaneously\).)535 b(Then,)h(enter)g(the)f
-(name)h(of)g(your)f(mouse)g(de)-39 b(vice.)537 b(The)f(def)-15
-b(ault)535 b(choice,)-30 58475 y
-SDict begin H.S end
- -30 58475 a -30 58475
-a
-SDict begin 18.2 H.A end
- -30 58475 a -30 58475 a
-SDict begin [ /View [/XYZ H.V] /Dest (2279) cvn H.B /DEST pdfmark end
- -30 58475 a FQ(/dev/mouse)p
-FU(,)554 b(should)560 b(w)-15 b(ork)559 b(since)h(the)h(link)e(w)-15
-b(as)560 b(con\002gured)f(during)h(Slackw)-15 b(are)560
-b(setup.)g(If)-30 60489 y(you')-77 b(re)473 b(running)g(GPM)g(\(the)g
-(Linux)g(mouse)g(serv)-23 b(er\))473 b(in)h(repeater)f(mode,)h(you)f
-(can)h(set)f(your)-30 62504 y(mouse)646 b(type)g(to)9830
-62504 y
-SDict begin H.S end
- 9830 62504 a 9830 62504 a
-SDict begin 18.2 H.A end
- 9830 62504 a 9830 62504
-a
-SDict begin [ /View [/XYZ H.V] /Dest (2280) cvn H.B /DEST pdfmark end
- 9830 62504 a FQ(/dev/gpmdata)639 b FU(to)646 b(ha)-31
-b(v)-23 b(e)646 b(X)g(get)g(information)f(about)h(the)g(mouse)g
-(through)-30 64519 y
-SDict begin H.S end
- -30 64519 a -30 64519 a
-SDict begin 18.2 H.A end
- -30 64519
-a -30 64519 a
-SDict begin [ /View [/XYZ H.V] /Dest (2281) cvn H.B /DEST pdfmark end
- -30 64519 a FP(gpm)p FU(.)513 b(In)h(some)f(cases)g
-(\(with)g(b)-31 b(usmice)512 b(especially\))h(this)f(can)i(w)-15
-b(ork)512 b(better)-62 b(,)514 b(b)-31 b(ut)513 b(most)f(users)-30
-66533 y(shouldn')-28 b(t)387 b(do)g(this.)p Black 50169
-73792 a FR(77)p Black eop end
-%%Page: 78 100
-TeXDict begin 78 99 bop -8000 -8000 a
-SDict begin /product where{pop product(Distiller)search{pop pop pop
-version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
-closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
-grestore}if}{pop}ifelse}{pop}ifelse}if end
- -8000 -8000 a Black
-0 TeXcolorgray -30 -1237 a
-SDict begin H.S end
- -30 -1237 a 0 TeXcolorgray
-0 TeXcolorgray -30 -1237 a
-SDict begin H.R end
- -30 -1237 a -30 -1237 a
-SDict begin [ /View [/XYZ H.V] /Dest (page.78) cvn H.B /DEST pdfmark
-end
- -30
--1237 a Black -30 -2687 a
-SDict begin H.S end
- -30 -2687 a -30 -2687 a
-SDict begin 18.2 H.A end
- -30
--2687 a -30 -2687 a
-SDict begin [ /View [/XYZ H.V] /Dest (2305) cvn H.B /DEST pdfmark end
- -30 -2687 a 1051 x FR(Chapter)387
-b(6)g(X)g(Con\002gur)-23 b(ation)p Black -30 2504 a
-SDict begin H.S end
- -30
-2504 a -30 2504 a
-SDict begin 18.2 H.A end
- -30 2504 a -30 2504 a
-SDict begin [ /View [/XYZ H.V] /Dest (2282) cvn H.B /DEST pdfmark end
- -30 2504 a -30
-2504 a
-SDict begin H.S end
- -30 2504 a -30 2504 a
-SDict begin 18.2 H.A end
- -30 2504 a -30 2504 a
-SDict begin [ /View [/XYZ H.V] /Dest (2283) cvn H.B /DEST pdfmark end
- -30
-2504 a 1107 x FP(xorgconfig)458 b FU(will)g(ask)h(you)g(about)f
-(enabling)h(special)f(k)-15 b(e)-23 b(y)459 b(bindings.)f(If)h(you)g
-(need)g(this)f(say)-30 5626 y
-SDict begin H.S end
- -30 5626 a -30 5626 a
-SDict begin 18.2 H.A end
- -30
-5626 a -30 5626 a
-SDict begin [ /View [/XYZ H.V] /Dest (2284) cvn H.B /DEST pdfmark end
- -30 5626 a FU(\223)658 5626 y
-SDict begin H.S end
- 658 5626
-a 658 5626 a
-SDict begin 18.2 H.A end
- 658 5626 a 658 5626 a
-SDict begin [ /View [/XYZ H.V] /Dest (2285) cvn H.B /DEST pdfmark end
- 658 5626 a Fv(y)p
-FU(\224.)388 b(Most)f(users)g(can)g(say)15188 5626 y
-SDict begin H.S end
-
-15188 5626 a 15188 5626 a
-SDict begin 18.2 H.A end
- 15188 5626 a 15188 5626 a
-SDict begin [ /View [/XYZ H.V] /Dest (2286) cvn H.B /DEST pdfmark end
- 15188
-5626 a FU(\223)15876 5626 y
-SDict begin H.S end
- 15876 5626 a 15876 5626 a
-SDict begin 18.2 H.A end
-
-15876 5626 a 15876 5626 a
-SDict begin [ /View [/XYZ H.V] /Dest (2287) cvn H.B /DEST pdfmark end
- 15876 5626 a Fv(n)p FU(\224)h(--)f(enter)h
-(this)f(if)g(you')-77 b(re)387 b(not)g(sure.)-30 5961
-y
-SDict begin H.S end
- -30 5961 a -30 5961 a
-SDict begin 18.2 H.A end
- -30 5961 a -30 5961 a
-SDict begin [ /View [/XYZ H.V] /Dest (X-WINDOW-SYSTEM-2) cvn H.B /DEST
-pdfmark end
- -30 5961
-a 4004 x FX(Figur)-28 b(e)387 b(6-2.)h FV(xorgcon\002g)e
-FX(Horizontal)g(Sync)-30 11831 y
-SDict begin H.S end
- -30 11831 a -30 11831
-a
-SDict begin 18.2 H.A end
- -30 11831 a -30 11831 a
-SDict begin [ /View [/XYZ H.V] /Dest (2291) cvn H.B /DEST pdfmark end
- -30 11831 a -30 47161 a
- currentpoint currentpoint translate 1 1 scale neg exch neg exch translate
- -30
-47161 a @beginspecial 0 @llx 0 @lly 451 @urx 311 @ury
-4510 @rwi @setspecial
-%%BeginDocument: x-window-system/xorgconfig2.eps
-%!PS-Adobe-2.0 EPSF-1.2
-%%BoundingBox: 0 0 451 311
-
-/Outterbox
-{ newpath
-0 0 moveto
-450 0 rlineto
-0 310 rlineto
--450 0 rlineto
-closepath } def
-
-
-/TitleFont
-{ /Helvetica findfont 11 scalefont setfont
-moveto } def
-
-/PanelFont
-{ /Helvetica findfont 12 scalefont setfont
-moveto } def
-
-/ContentFont
-{ /Helvetica findfont 12 scalefont setfont
-moveto } def
-
-/ButtonFont
-{ /Helvetica findfont 11 scalefont setfont
-moveto } def
-
-Outterbox
-3 300 ContentFont (You must indicate the horizontal sync range of your monitor. You can either) show
-
-3 280 ContentFont (select one of the predefined ranges below that correspond to industry-) show
-3 265 ContentFont (standard monitor types, or give a specific range.) show
-
-3 245 ContentFont (It is VERY IMPORTANT that you do not specify a monitor type with a horizontal) show
-3 230 ContentFont (sync range that is beyond the capabilities of your monitor. If in doubt,) show
-3 215 ContentFont (choose a conservative setting.) show
-
-3 195 ContentFont ( hsync in kHz; monitor type with characteristic modes) show
-3 180 ContentFont ( 1 31.5; Standard VGA, 640x480 @ 60 Hz) show
-3 165 ContentFont ( 2 31.5 - 35.1; Super VGA, 800x600 @ 56 Hz) show
-3 150 ContentFont ( 3 31.5, 35.5; 8514 Compatible, 1024x768 @ 87 Hz interlaced (no 800x600)) show
-3 135 ContentFont ( 4 31.5, 35.15, 35.5; Super VGA, 1024x768 @ 87 Hz interlaced, 800x600 @ 56 Hz) show
-3 120 ContentFont ( 5 31.5 - 37.9; Extended Super VGA, 800x600 @ 60 Hz, 640x480 @ 72 Hz) show
-3 105 ContentFont ( 6 31.5 - 48.5; Non-Interlaced SVGA, 1024x768 @ 60 Hz, 800x600 @ 72 Hz) show
-3 90 ContentFont ( 7 31.5 - 57.0; High Frequency SVGA, 1024x768 @ 70 Hz) show
-3 75 ContentFont ( 8 31.5 - 64.3; Monitor that can do 1280x1024 @ 60 Hz) show
-3 60 ContentFont ( 9 31.5 - 79.0; Monitor that can do 1280x1024 @ 74 Hz) show
-3 45 ContentFont (10 31.5 - 82.0; Monitor that can do 1280x1024 @ 76 Hz) show
-3 30 ContentFont (11 Enter your own horizontal sync range) show
-
-3 3 ContentFont (Enter your choice (1-11):) show
-stroke
-showpage
-%%EOF
-
-%%EndDocument
- @endspecial -30 47161 a
- currentpoint currentpoint translate 1 1 div 1 1 div scale neg exch
-neg exch translate
- -30 47161 a -30 48711 a
-SDict begin H.S end
- -30
-48711 a -30 48711 a
-SDict begin 18.2 H.A end
- -30 48711 a -30 48711 a
-SDict begin [ /View [/XYZ H.V] /Dest (2294) cvn H.B /DEST pdfmark end
- -30 48711
-a 2015 x FU(In)480 b(the)f(ne)-23 b(xt)479 b(section)h(you)f(enter)g
-(the)h(sync)f(range)h(for)g(your)f(monitor)-85 b(.)479
-b(T)-124 b(o)480 b(start)f(con\002guring)-30 52740 y(your)513
-b(monitor)-62 b(,)513 b(press)12770 52740 y
-SDict begin H.S end
- 12770 52740
-a 12770 52740 a
-SDict begin 18.2 H.A end
- 12770 52740 a 12770 52740 a
-SDict begin [ /View [/XYZ H.V] /Dest (2295) cvn H.B /DEST pdfmark end
- 12770 52740
-a Fv(ENTER)p FU(.)g(Y)-170 b(ou)513 b(will)g(see)g(a)h(list)f(of)g
-(monitor)g(types)g(--)g(choose)h(one)f(of)-30 54755 y(them.)497
-b(Be)g(careful)g(not)g(to)f(e)-23 b(xceed)497 b(the)g(speci\002cations)
-f(of)h(your)g(monitor)-85 b(.)496 b(Doing)h(so)f(could)-30
-56770 y(damage)387 b(your)g(hardw)-15 b(are.)-30 57105
-y
-SDict begin H.S end
- -30 57105 a -30 57105 a
-SDict begin 18.2 H.A end
- -30 57105 a -30 57105 a
-SDict begin [ /View [/XYZ H.V] /Dest (X-WINDOW-SYSTEM-3) cvn H.B /DEST
-pdfmark end
- -30
-57105 a Black 16687 x FR(78)p Black eop end
-%%Page: 79 101
-TeXDict begin 79 100 bop -8000 -8000 a
-SDict begin /product where{pop product(Distiller)search{pop pop pop
-version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
-closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
-grestore}if}{pop}ifelse}{pop}ifelse}if end
- -8000 -8000 a
-Black 0 TeXcolorgray -30 -1237 a
-SDict begin H.S end
- -30 -1237 a 0 TeXcolorgray
-0 TeXcolorgray -30 -1237 a
-SDict begin H.R end
- -30 -1237 a -30 -1237 a
-SDict begin [ /View [/XYZ H.V] /Dest (page.79) cvn H.B /DEST pdfmark
-end
- -30
--1237 a Black -30 -2687 a
-SDict begin H.S end
- -30 -2687 a -30 -2687 a
-SDict begin 18.2 H.A end
- -30
--2687 a -30 -2687 a
-SDict begin [ /View [/XYZ H.V] /Dest (2313) cvn H.B /DEST pdfmark end
- -30 -2687 a 35138 -1636 a FR(Chapter)386
-b(6)i(X)f(Con\002gur)-23 b(ation)p Black -30 3611 a FX(Figur)-28
-b(e)387 b(6-3.)h FV(xorgcon\002g)e FX(V)-155 b(ertical)387
-b(Sync)-30 5477 y
-SDict begin H.S end
- -30 5477 a -30 5477 a
-SDict begin 18.2 H.A end
- -30 5477 a -30
-5477 a
-SDict begin [ /View [/XYZ H.V] /Dest (2299) cvn H.B /DEST pdfmark end
- -30 5477 a -30 25252 a
- currentpoint currentpoint translate 1 1 scale neg exch neg exch translate
- -30 25252 a @beginspecial
-0 @llx 0 @lly 451 @urx 171 @ury 4510 @rwi @setspecial
-%%BeginDocument: x-window-system/xorgconfig3.eps
-%!PS-Adobe-2.0 EPSF-1.2
-%%BoundingBox: 0 0 451 171
-
-/Outterbox
-{ newpath
-0 0 moveto
-450 0 rlineto
-0 170 rlineto
--450 0 rlineto
-closepath } def
-
-
-/ContentFont
-{ /Helvetica findfont 12 scalefont setfont
-moveto } def
-
-Outterbox
-
-3 155 ContentFont (You must indicate the vertical sync range of your monitor. You can either) show
-3 140 ContentFont (select one of the predefined ranges below that correspond to industry-) show
-3 125 ContentFont (standard monitor types, or give a specific range. For interlaced modes,) show
-3 110 ContentFont (the number that counts is the high one (e.g. 87 Hz rather than 43 Hz).) show
-
-3 90 ContentFont (1 50-70) show
-3 75 ContentFont (2 50-90) show
-3 60 ContentFont (3 50-100) show
-3 45 ContentFont (4 40-150) show
-
-3 30 ContentFont (5 Enter your own vertical sync range) show
-
-3 3 ContentFont (Enter your choice:) show
-stroke
-showpage
-%%EOF
-
-%%EndDocument
- @endspecial -30 25252 a
- currentpoint currentpoint translate 1 1 div 1 1 div scale neg exch
-neg exch translate
- -30 25252 a -30 25252 a
-SDict begin H.S end
- -30
-25252 a -30 25252 a
-SDict begin 18.2 H.A end
- -30 25252 a -30 25252 a
-SDict begin [ /View [/XYZ H.V] /Dest (2302) cvn H.B /DEST pdfmark end
- -30 25252
-a 3564 x FU(Specify)g(the)h(v)-23 b(ertical)387 b(sync)g(range)h(for)g
-(your)f(monitor)g(\(you)g(should)g(\002nd)g(this)g(in)h(the)f(manual)
--30 30831 y(for)348 b(the)g(monitor\).)f(xor)-28 b(gcon\002g)347
-b(will)g(ask)h(you)g(to)f(enter)h(strings)f(to)h(identify)f(the)g
-(monitor)g(type)-30 32846 y(in)475 b(the)f FQ(xorg.conf)469
-b FU(\002le.)475 b(Enter)g(an)-23 b(ything)473 b(you)i(lik)-15
-b(e)473 b(on)i(these)g(3)f(lines)g(\(including)g(nothing)g(at)-30
-34860 y(all\).)-30 35138 y
-SDict begin H.S end
- -30 35138 a -30 35138 a
-SDict begin 18.2 H.A end
- -30
-35138 a -30 35138 a
-SDict begin [ /View [/XYZ H.V] /Dest (X-WINDOW-SYSTEM-4) cvn H.B /DEST
-pdfmark end
- -30 35138 a Black 50226 73792 a FR(79)p
-Black eop end
-%%Page: 80 102
-TeXDict begin 80 101 bop -8000 -8000 a
-SDict begin /product where{pop product(Distiller)search{pop pop pop
-version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
-closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
-grestore}if}{pop}ifelse}{pop}ifelse}if end
- -8000 -8000 a
-Black 0 TeXcolorgray -30 -1237 a
-SDict begin H.S end
- -30 -1237 a 0 TeXcolorgray
-0 TeXcolorgray -30 -1237 a
-SDict begin H.R end
- -30 -1237 a -30 -1237 a
-SDict begin [ /View [/XYZ H.V] /Dest (page.80) cvn H.B /DEST pdfmark
-end
- -30
--1237 a Black -399 x FR(Chapter)387 b(6)g(X)g(Con\002gur)-23
-b(ation)p Black -30 3611 a FX(Figur)-28 b(e)387 b(6-4.)h
-FV(xorgcon\002g)e FX(V)-57 b(ideo)386 b(Card)-30 5477
-y
-SDict begin H.S end
- -30 5477 a -30 5477 a
-SDict begin 18.2 H.A end
- -30 5477 a -30 5477 a
-SDict begin [ /View [/XYZ H.V] /Dest (2310) cvn H.B /DEST pdfmark end
- -30 5477
-a -30 41252 a
- currentpoint currentpoint translate 1 1 scale neg exch neg exch translate
- -30 41252 a @beginspecial 0 @llx 0 @lly
-451 @urx 315 @ury 4510 @rwi @setspecial
-%%BeginDocument: x-window-system/xorgconfig4.eps
-%!PS-Adobe-2.0 EPSF-1.2
-%%BoundingBox: 0 0 451 315
-
-/Outterbox
-{ newpath
-0 0 moveto
-450 0 rlineto
-0 313 rlineto
--450 0 rlineto
-closepath } def
-
-/ContentFont
-{ /Helvetica findfont 11 scalefont setfont
-moveto } def
-
-Outterbox
-
- 3 300 ContentFont ( 0 * Generic VESA compatible)show
-255 300 ContentFont (-)show
- 3 285 ContentFont ( 1 * Generic VGA compatible)show
-255 285 ContentFont (-)show
- 3 270 ContentFont ( 2 * Unsupported VGA compatible)show
-255 270 ContentFont (-)show
- 3 255 ContentFont ( 3 ** 3DLabs, TI (generic))show
-208 255 ContentFont ([glint])show
-255 255 ContentFont (-)show
- 3 240 ContentFont ( 4 ** 3Dfx (generic))show
-208 240 ContentFont ([tdfx])show
-255 240 ContentFont (-)show
- 3 225 ContentFont ( 5 ** ATI (generic))show
-208 225 ContentFont ([ati])show
-255 225 ContentFont (-)show
- 3 210 ContentFont ( 6 ** ATI Radeon (generic))show
-208 210 ContentFont ([radeon])show
-255 210 ContentFont (-)show
- 3 195 ContentFont ( 7 ** ATI Rage 128 based (generic))show
-208 195 ContentFont ([r128])show
-255 195 ContentFont (-)show
- 3 180 ContentFont ( 8 ** Alliance Pro Motion (generic))show
-208 180 ContentFont ([apm])show
-255 180 ContentFont (-)show
- 3 165 ContentFont ( 9 ** Ark Logic (generic))show
-208 165 ContentFont ([ark])show
-255 165 ContentFont (-)show
- 3 150 ContentFont (10 ** Chips and Technologies (generic))show
-208 150 ContentFont ([chips])show
-255 150 ContentFont (-)show
- 3 135 ContentFont (11 ** Cirrus Logic (generic))show
-208 135 ContentFont ([cirrus])show
-255 135 ContentFont (-)show
- 3 120 ContentFont (12 ** Cyrix MediaGX (generic))show
-208 120 ContentFont ([cyrix])show
-255 120 ContentFont (-)show
- 3 105 ContentFont (13 ** DEC TGA (generic))show
-208 105 ContentFont ([tgz])show
-255 105 ContentFont (-)show
- 3 90 ContentFont (14 ** Intel i740 (generic))show
-208 90 ContentFont ([i740])show
-255 90 ContentFont (-)show
- 3 75 ContentFont (15 ** Intel i810 (generic))show
-208 75 ContentFont ([i810])show
-255 75 ContentFont (-)show
- 3 60 ContentFont (16 ** Linux framebuffer (generic))show
-208 60 ContentFont ([fbdev])show
-255 60 ContentFont (-)show
- 3 45 ContentFont (17 ** Matrox Graphics (generic))show
-208 45 ContentFont ([mga])show
-255 45 ContentFont (-)show
-
-3 25 ContentFont (Enter a number to choose the corresponding card definition.)show
-3 10 ContentFont (Press enter for the next page, q to continue configuration.)show
-
-
-stroke
-showpage
-%%EOF
-
-%%EndDocument
- @endspecial -30 41252 a
- currentpoint currentpoint translate 1 1 div 1 1 div scale neg exch
-neg exch translate
- -30 41252 a 3564 x FU(No)-39
-b(w)520 b(you)g(ha)-31 b(v)-23 b(e)519 b(the)h(opportunity)e(to)i(look)
-f(at)h(the)g(database)f(of)h(video)g(card)g(types.)f(Y)-170
-b(ou')-15 b(ll)-30 46831 y(w)g(ant)465 b(to)h(do)g(this,)g(so)g(say)g
-(\223)p Fv(y)p FU(\224,)h(and)f(select)g(a)g(card)g(from)g(the)g(list)g
-(sho)-39 b(wn.)466 b(If)g(you)g(don')-28 b(t)466 b(see)-30
-48846 y(your)551 b(e)-23 b(xact)550 b(card,)i(try)e(selecting)h(one)f
-(that)h(uses)f(the)h(same)g(chipset)f(and)h(it)f(will)h(probably)-30
-50860 y(w)-15 b(ork)387 b(\002ne.)-30 50875 y
-SDict begin H.S end
- -30 50875
-a -30 50875 a
-SDict begin 18.2 H.A end
- -30 50875 a -30 50875 a
-SDict begin [ /View [/XYZ H.V] /Dest (2316) cvn H.B /DEST pdfmark end
- -30 50875 a -30
-51651 a
-SDict begin H.S end
- -30 51651 a -30 51651 a
-SDict begin 18.2 H.A end
- -30 51651 a -30 51651
-a
-SDict begin [ /View [/XYZ H.V] /Dest (2318) cvn H.B /DEST pdfmark end
- -30 51651 a 1999 x FU(Ne)-23 b(xt,)490 b(tell)6308
-53650 y
-SDict begin H.S end
- 6308 53650 a 6308 53650 a
-SDict begin 18.2 H.A end
- 6308 53650 a 6308 53650
-a
-SDict begin [ /View [/XYZ H.V] /Dest (2319) cvn H.B /DEST pdfmark end
- 6308 53650 a FP(xorgconfig)f FU(ho)-39 b(w)490 b(much)g(RAM)f(you)h
-(ha)-31 b(v)-23 b(e)490 b(on)g(your)g(video)f(card.)44337
-53650 y
-SDict begin H.S end
- 44337 53650 a 44337 53650 a
-SDict begin 18.2 H.A end
- 44337 53650 a 44337
-53650 a
-SDict begin [ /View [/XYZ H.V] /Dest (2320) cvn H.B /DEST pdfmark end
- 44337 53650 a FP(xorgconfig)-30 55664 y FU(will)362
-b(w)-15 b(ant)362 b(you)g(to)g(enter)g(some)g(more)h(descripti)-39
-b(v)-23 b(e)361 b(te)-23 b(xt)362 b(about)g(your)g(video)g(card.)i(If)e
-(you)g(lik)-15 b(e,)-30 57679 y(you)387 b(can)h(enter)f(descriptions)f
-(on)h(these)g(three)h(lines.)-30 58015 y
-SDict begin H.S end
- -30 58015 a
--30 58015 a
-SDict begin 18.2 H.A end
- -30 58015 a -30 58015 a
-SDict begin [ /View [/XYZ H.V] /Dest (2321) cvn H.B /DEST pdfmark end
- -30 58015 a -30 58790
-a
-SDict begin H.S end
- -30 58790 a -30 58790 a
-SDict begin 18.2 H.A end
- -30 58790 a -30 58790 a
-SDict begin [ /View [/XYZ H.V] /Dest (2324) cvn H.B /DEST pdfmark end
- -30
-58790 a 1679 x FU(Y)-170 b(ou')-15 b(ll)445 b(then)h(be)g(ask)-15
-b(ed)445 b(which)h(display)f(resolutions)g(you)h(w)-15
-b(ant)445 b(to)h(use.)h(Ag)-8 b(ain,)446 b(going)f(with)-30
-62483 y(the)337 b(pro)-23 b(vided)336 b(def)-15 b(aults)337
-b(should)f(be)h(\002ne)g(to)g(start)g(with.)g(Later)g(on,)h(you)e(can)i
-(edit)f(the)46139 62483 y
-SDict begin H.S end
- 46139 62483 a 46139 62483 a
-SDict begin 18.2 H.A end
-
-46139 62483 a 46139 62483 a
-SDict begin [ /View [/XYZ H.V] /Dest (2325) cvn H.B /DEST pdfmark end
- 46139 62483 a FQ(/etc/X11/)-30
-64498 y(xorg.conf)420 b FU(\002le)425 b(and)g(rearrange)h(the)f(modes)g
-(so)g(1024x768)g(\(or)g(whate)-39 b(v)-23 b(er)425 b(mode)g(you)h(lik)
--15 b(e\))424 b(is)-30 66513 y(the)387 b(def)-15 b(ault.)p
-Black -30 73792 a FR(80)p Black eop end
-%%Page: 81 103
-TeXDict begin 81 102 bop -8000 -8000 a
-SDict begin /product where{pop product(Distiller)search{pop pop pop
-version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
-closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
-grestore}if}{pop}ifelse}{pop}ifelse}if end
- -8000 -8000 a
-Black 0 TeXcolorgray -30 -1237 a
-SDict begin H.S end
- -30 -1237 a 0 TeXcolorgray
-0 TeXcolorgray -30 -1237 a
-SDict begin H.R end
- -30 -1237 a -30 -1237 a
-SDict begin [ /View [/XYZ H.V] /Dest (page.81) cvn H.B /DEST pdfmark
-end
- -30
--1237 a Black 35138 -1636 a FR(Chapter)386 b(6)i(X)f(Con\002gur)-23
-b(ation)p Black -30 2504 a
-SDict begin H.S end
- -30 2504 a -30 2504 a
-SDict begin 18.2 H.A end
- -30
-2504 a -30 2504 a
-SDict begin [ /View [/XYZ H.V] /Dest (2326) cvn H.B /DEST pdfmark end
- -30 2504 a 1107 x FU(At)600 b(this)f(point,)h(the)
-11627 3611 y
-SDict begin H.S end
- 11627 3611 a 11627 3611 a
-SDict begin 18.2 H.A end
- 11627 3611 a 11627
-3611 a
-SDict begin [ /View [/XYZ H.V] /Dest (2327) cvn H.B /DEST pdfmark end
- 11627 3611 a FP(xorgconfig)f FU(program)g(will)h(ask)g(if)f
-(you')-77 b(d)600 b(lik)-15 b(e)599 b(to)g(sa)-31 b(v)-23
-b(e)600 b(the)g(current)-30 5626 y(con\002guration)386
-b(\002le.)g(Answer)h(yes,)g(and)f(the)h(X)g(con\002guration)e(\002le)h
-(is)h(sa)-31 b(v)-23 b(ed,)387 b(completing)e(the)-30
-7640 y(setup)i(process.)h(Y)-170 b(ou)386 b(can)i(start)f(X)g(no)-39
-b(w)387 b(with)g(the)27479 7640 y
-SDict begin H.S end
- 27479 7640 a 27479
-7640 a
-SDict begin 18.2 H.A end
- 27479 7640 a 27479 7640 a
-SDict begin [ /View [/XYZ H.V] /Dest (2328) cvn H.B /DEST pdfmark end
- 27479 7640 a FP(startx)g
-FU(command.)-30 8751 y
-SDict begin H.S end
- -30 8751 a -30 8751 a
-SDict begin 18.2 H.A end
- -30 8751
-a -30 8751 a
-SDict begin [ /View [/XYZ H.V] /Dest (X-WINDOW-SYSTEM-XORGSETUP) cvn
-H.B /DEST pdfmark end
- -30 8751 a 5789 x FL(6.2)620 b Fq(xor)-33
-b(gsetup)-30 16152 y
-SDict begin H.S end
- -30 16152 a -30 16152 a
-SDict begin 18.2 H.A end
- -30 16152
-a -30 16152 a
-SDict begin [ /View [/XYZ H.V] /Dest (2332) cvn H.B /DEST pdfmark end
- -30 16152 a 1518 x FU(The)471 b(second)h(w)-15
-b(ay)470 b(to)i(con\002gure)e(X)i(is)f(to)g(use)25976
-17670 y
-SDict begin H.S end
- 25976 17670 a 25976 17670 a
-SDict begin 18.2 H.A end
- 25976 17670 a 25976
-17670 a
-SDict begin [ /View [/XYZ H.V] /Dest (2333) cvn H.B /DEST pdfmark end
- 25976 17670 a FP(xorgsetup)p FU(,)g(an)h(automagical)e
-(con\002guration)-30 19685 y(program)387 b(that)g(comes)g(with)g
-(Slackw)-15 b(are.)-30 20795 y
-SDict begin H.S end
- -30 20795 a -30 20795
-a
-SDict begin 18.2 H.A end
- -30 20795 a -30 20795 a
-SDict begin [ /View [/XYZ H.V] /Dest (2334) cvn H.B /DEST pdfmark end
- -30 20795 a 1680 x FU(T)-124
-b(o)387 b(run)4409 22475 y
-SDict begin H.S end
- 4409 22475 a 4409 22475 a
-SDict begin 18.2 H.A end
-
-4409 22475 a 4409 22475 a
-SDict begin [ /View [/XYZ H.V] /Dest (2335) cvn H.B /DEST pdfmark end
- 4409 22475 a FP(xorgsetup)p
-FU(,)f(log)h(in)g(as)h(root)f(and)g(type:)-30 24360 y
-SDict begin H.S end
-
--30 24360 a -30 24360 a
-SDict begin 14.56 H.A end
- -30 24360 a -30 24360 a
-SDict begin [ /View [/XYZ H.V] /Dest (2336) cvn H.B /DEST pdfmark end
- -30 24360
-a -30 24360 a
-SDict begin H.S end
- -30 24360 a -30 24360 a
-SDict begin 14.56 H.A end
- -30 24360 a -30
-24360 a
-SDict begin [ /View [/XYZ H.V] /Dest (2337) cvn H.B /DEST pdfmark end
- -30 24360 a 1276 x FJ(#)1309 25636 y
-SDict begin H.S end
- 1309 25636
-a 1309 25636 a
-SDict begin 14.56 H.A end
- 1309 25636 a 1309 25636 a
-SDict begin [ /View [/XYZ H.V] /Dest (2338) cvn H.B /DEST pdfmark end
- 1309 25636 a
-FH(xorgsetup)-30 27354 y
-SDict begin H.S end
- -30 27354 a -30 27354 a
-SDict begin 18.2 H.A end
- -30
-27354 a -30 27354 a
-SDict begin [ /View [/XYZ H.V] /Dest (2339) cvn H.B /DEST pdfmark end
- -30 27354 a 1846 x FU(If)450 b(you')-77
-b(v)-23 b(e)449 b(already)h(got)f(an)15459 29200 y
-SDict begin H.S end
- 15459
-29200 a 15459 29200 a
-SDict begin 18.2 H.A end
- 15459 29200 a 15459 29200 a
-SDict begin [ /View [/XYZ H.V] /Dest (2340) cvn H.B /DEST pdfmark end
- 15459
-29200 a FQ(/etc/X11/xorg.conf)438 b FU(\002le)449 b(\(because)h(you')
--77 b(v)-23 b(e)449 b(already)h(con\002gured)-30 31215
-y(X\),)398 b(you')-15 b(ll)396 b(be)h(ask)-15 b(ed)397
-b(if)g(you)g(w)-15 b(ant)396 b(to)h(backup)g(the)g(e)-23
-b(xisting)396 b(con\002g)h(\002le)f(before)i(continuing.)-30
-33230 y(The)387 b(original)g(\002le)g(will)g(be)g(renamed)g(to)22309
-33230 y
-SDict begin H.S end
- 22309 33230 a 22309 33230 a
-SDict begin 18.2 H.A end
- 22309 33230 a 22309
-33230 a
-SDict begin [ /View [/XYZ H.V] /Dest (2341) cvn H.B /DEST pdfmark end
- 22309 33230 a FQ(/etc/X11/xorg.conf.backup)p
-FU(.)-30 34340 y
-SDict begin H.S end
- -30 34340 a -30 34340 a
-SDict begin 18.2 H.A end
- -30 34340 a
--30 34340 a
-SDict begin [ /View [/XYZ H.V] /Dest (X-WINDOW-SYSTEM-XINITRC) cvn
-H.B /DEST pdfmark end
- -30 34340 a 5789 x FL(6.3)620 b(xinitr)-45
-b(c)-30 40157 y
-SDict begin H.S end
- -30 40157 a -30 40157 a
-SDict begin 18.2 H.A end
- -30 40157 a -30
-40157 a
-SDict begin [ /View [/XYZ H.V] /Dest (2344) cvn H.B /DEST pdfmark end
- -30 40157 a -30 41273 a
-SDict begin H.S end
- -30 41273 a -30 41273
-a
-SDict begin 18.2 H.A end
- -30 41273 a -30 41273 a
-SDict begin [ /View [/XYZ H.V] /Dest (2347) cvn H.B /DEST pdfmark end
- -30 41273 a -30 41273 a
-SDict begin H.S end
- -30
-41273 a -30 41273 a
-SDict begin 18.2 H.A end
- -30 41273 a -30 41273 a
-SDict begin [ /View [/XYZ H.V] /Dest (2348) cvn H.B /DEST pdfmark end
- -30 41273
-a 1987 x FP(xinit)p FU(\(1\))391 b(is)g(the)h(program)f(that)g
-(actually)g(starts)g(X;)h(it)f(is)g(called)h(by)37572
-43260 y
-SDict begin H.S end
- 37572 43260 a 37572 43260 a
-SDict begin 18.2 H.A end
- 37572 43260 a 37572
-43260 a
-SDict begin [ /View [/XYZ H.V] /Dest (2349) cvn H.B /DEST pdfmark end
- 37572 43260 a FP(startx)p FU(\(1\),)g(so)f(you)g(may)-30
-45274 y(not)471 b(ha)-31 b(v)-23 b(e)472 b(noticed)e(it)i(\(and)f
-(probably)g(don')-28 b(t)471 b(really)h(need)f(to\).)h(Its)f
-(con\002guration)f(\002le,)i(ho)-39 b(w-)-30 47289 y(e)g(v)-23
-b(er)-62 b(,)304 b(determines)f(which)g(programs)g(\(including)g(and)g
-(especially)g(the)g(windo)-39 b(w)303 b(manager\))h(are)-30
-49304 y(run)461 b(when)h(X)f(starts)g(up.)14028 49304
-y
-SDict begin H.S end
- 14028 49304 a 14028 49304 a
-SDict begin 18.2 H.A end
- 14028 49304 a 14028 49304
-a
-SDict begin [ /View [/XYZ H.V] /Dest (2350) cvn H.B /DEST pdfmark end
- 14028 49304 a FP(xinit)g FU(\002rst)g(checks)g(your)g(home)g
-(directory)h(for)f(a)42442 49304 y
-SDict begin H.S end
- 42442 49304 a 42442
-49304 a
-SDict begin 18.2 H.A end
- 42442 49304 a 42442 49304 a
-SDict begin [ /View [/XYZ H.V] /Dest (2351) cvn H.B /DEST pdfmark end
- 42442 49304 a FQ(.xinitrc)456
-b FU(\002le.)462 b(If)-30 51318 y(the)336 b(\002le)g(is)g(found,)g(it)f
-(gets)h(run;)g(otherwise,)23838 51318 y
-SDict begin H.S end
- 23838 51318 a
-23838 51318 a
-SDict begin 18.2 H.A end
- 23838 51318 a 23838 51318 a
-SDict begin [ /View [/XYZ H.V] /Dest (2352) cvn H.B /DEST pdfmark end
- 23838 51318
-a FQ(/var/X11R6/lib/xinit/xinitrc)318 b FU(\(the)336
-b(systemwide)-30 53333 y(def)-15 b(ault\))387 b(is)g(used.)g(Here')-85
-b(s)388 b(a)f(simple)20227 53333 y
-SDict begin H.S end
- 20227 53333 a 20227
-53333 a
-SDict begin 18.2 H.A end
- 20227 53333 a 20227 53333 a
-SDict begin [ /View [/XYZ H.V] /Dest (2353) cvn H.B /DEST pdfmark end
- 20227 53333 a FQ(xinitrc)c
-FU(\002le:)-30 55218 y
-SDict begin H.S end
- -30 55218 a -30 55218 a
-SDict begin 14.56 H.A end
- -30 55218
-a -30 55218 a
-SDict begin [ /View [/XYZ H.V] /Dest (2354) cvn H.B /DEST pdfmark end
- -30 55218 a 1277 x FP(#!/bin/sh)-30 58106
-y(#)744 b($XConsortium:)e(xinitrc.cpp,v)g(1.4)i(91/08/22)f(11:41:34)g
-(rws)g(Exp)h($)-30 61330 y(userresources=$HOME/.Xresources)-30
-62942 y(usermodmap=$HOME/.Xmodmap)-30 64553 y
-(sysresources=/usr/X11R6/lib/X11/xinit/.Xresources)-30
-66165 y(sysmodmap=/usr/X11R6/lib/X11/xinit/.Xmodmap)p
-Black 50226 73792 a FR(81)p Black eop end
-%%Page: 82 104
-TeXDict begin 82 103 bop -8000 -8000 a
-SDict begin /product where{pop product(Distiller)search{pop pop pop
-version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
-closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
-grestore}if}{pop}ifelse}{pop}ifelse}if end
- -8000 -8000 a
-Black 0 TeXcolorgray -30 -1237 a
-SDict begin H.S end
- -30 -1237 a 0 TeXcolorgray
-0 TeXcolorgray -30 -1237 a
-SDict begin H.R end
- -30 -1237 a -30 -1237 a
-SDict begin [ /View [/XYZ H.V] /Dest (page.82) cvn H.B /DEST pdfmark
-end
- -30
--1237 a Black -399 x FR(Chapter)387 b(6)g(X)g(Con\002gur)-23
-b(ation)p Black -30 3611 a FP(#)744 b(merge)f(in)h(defaults)f(and)g
-(keymaps)-30 6835 y(if)h([)f(-f)h($sysresources)e(];)i(then)2946
-8446 y(xrdb)f(-merge)g($sysresources)-30 10058 y(fi)-30
-13282 y(if)h([)f(-f)h($sysmodmap)f(];)g(then)2946 14893
-y(xmodmap)g($sysmodmap)-30 16505 y(fi)-30 19728 y(if)h([)f(-f)h
-($userresources)e(];)i(then)2946 21340 y(xrdb)f(-merge)g
-($userresources)-30 22952 y(fi)-30 26175 y(if)h([)f(-f)h($usermodmap)f
-(];)g(then)2946 27787 y(xmodmap)g($usermodmap)-30 29399
-y(fi)-30 32622 y(#)h(start)f(some)h(nice)f(programs)-30
-35846 y(twm)h(&)-30 37458 y(xclock)f(-geometry)g(50x50-1+1)g(&)-30
-39069 y(xterm)g(-geometry)g(80x50+494+51)g(&)-30 40681
-y(xterm)g(-geometry)g(80x20+494-0)g(&)-30 42293 y(exec)g(xterm)h
-(-geometry)f(80x66+0+0)f(-name)i(login)-30 42488 y
-SDict begin H.S end
- -30
-42488 a -30 42488 a
-SDict begin 18.2 H.A end
- -30 42488 a -30 42488 a
-SDict begin [ /View [/XYZ H.V] /Dest (2355) cvn H.B /DEST pdfmark end
- -30 42488
-a -30 42488 a
-SDict begin H.S end
- -30 42488 a -30 42488 a
-SDict begin 18.2 H.A end
- -30 42488 a -30
-42488 a
-SDict begin [ /View [/XYZ H.V] /Dest (2357) cvn H.B /DEST pdfmark end
- -30 42488 a -30 42488 a
-SDict begin H.S end
- -30 42488 a -30 42488
-a
-SDict begin 18.2 H.A end
- -30 42488 a -30 42488 a
-SDict begin [ /View [/XYZ H.V] /Dest (2359) cvn H.B /DEST pdfmark end
- -30 42488 a -30 44037 a
-SDict begin H.S end
- -30
-44037 a -30 44037 a
-SDict begin 18.2 H.A end
- -30 44037 a -30 44037 a
-SDict begin [ /View [/XYZ H.V] /Dest (2361) cvn H.B /DEST pdfmark end
- -30 44037
-a 1820 x FU(All)547 b(of)f(those)8154 45857 y
-SDict begin H.S end
- 8154 45857
-a 8154 45857 a
-SDict begin 18.2 H.A end
- 8154 45857 a 8154 45857 a
-SDict begin [ /View [/XYZ H.V] /Dest (2362) cvn H.B /DEST pdfmark end
- 8154 45857 a
-FU(\223if\224)h(blocks)f(are)h(there)g(to)g(mer)-28 b(ge)546
-b(in)h(v)-39 b(arious)547 b(con\002guration)e(settings)h(from)-30
-47872 y(other)602 b(\002les.)g(The)g(interesting)f(part)h(of)g(the)f
-(\002le)h(is)g(to)-39 b(w)-15 b(ard)601 b(the)h(end,)g(where)g(v)-39
-b(arious)602 b(pro-)-30 49886 y(grams)411 b(are)g(run.)g(This)f(X)h
-(session)g(will)f(be)-23 b(gin)410 b(with)h(the)31045
-49886 y
-SDict begin H.S end
- 31045 49886 a 31045 49886 a
-SDict begin 18.2 H.A end
- 31045 49886 a 31045
-49886 a
-SDict begin [ /View [/XYZ H.V] /Dest (2363) cvn H.B /DEST pdfmark end
- 31045 49886 a FP(twm)p FU(\(1\))g(windo)-39 b(w)410
-b(manager)-62 b(,)412 b(a)f(clock,)-30 51901 y(and)449
-b(three)h(terminals.)f(Note)g(the)18615 51901 y
-SDict begin H.S end
- 18615
-51901 a 18615 51901 a
-SDict begin 18.2 H.A end
- 18615 51901 a 18615 51901 a
-SDict begin [ /View [/XYZ H.V] /Dest (2364) cvn H.B /DEST pdfmark end
- 18615
-51901 a FP(exec)g FU(before)g(the)g(last)31392 51901
-y
-SDict begin H.S end
- 31392 51901 a 31392 51901 a
-SDict begin 18.2 H.A end
- 31392 51901 a 31392 51901
-a
-SDict begin [ /View [/XYZ H.V] /Dest (2365) cvn H.B /DEST pdfmark end
- 31392 51901 a FP(xterm)p FU(.)h(What)f(that)g(does)g(is)g(replace)-30
-53916 y(the)577 b(currently)f(running)g(shell)g(\(the)g(one)h(that')-85
-b(s)576 b(e)-23 b(x)g(ecuting)576 b(this)36622 53916
-y
-SDict begin H.S end
- 36622 53916 a 36622 53916 a
-SDict begin 18.2 H.A end
- 36622 53916 a 36622 53916
-a
-SDict begin [ /View [/XYZ H.V] /Dest (2366) cvn H.B /DEST pdfmark end
- 36622 53916 a FQ(xinitrc)c FU(script\))k(with)g(that)-30
-55930 y
-SDict begin H.S end
- -30 55930 a -30 55930 a
-SDict begin 18.2 H.A end
- -30 55930 a -30 55930
-a
-SDict begin [ /View [/XYZ H.V] /Dest (2367) cvn H.B /DEST pdfmark end
- -30 55930 a FP(xterm)p FU(\(1\))387 b(command.)g(When)g(the)g(user)h
-(quits)e(that)28223 55930 y
-SDict begin H.S end
- 28223 55930 a 28223 55930
-a
-SDict begin 18.2 H.A end
- 28223 55930 a 28223 55930 a
-SDict begin [ /View [/XYZ H.V] /Dest (2368) cvn H.B /DEST pdfmark end
- 28223 55930 a FP(xterm)p
-FU(,)i(the)f(X)g(session)g(will)f(end.)-30 57041 y
-SDict begin H.S end
- -30
-57041 a -30 57041 a
-SDict begin 18.2 H.A end
- -30 57041 a -30 57041 a
-SDict begin [ /View [/XYZ H.V] /Dest (2369) cvn H.B /DEST pdfmark end
- -30 57041
-a 1679 x FU(T)-124 b(o)618 b(customize)g(your)g(X)g(startup,)g(cop)-15
-b(y)617 b(the)h(def)-15 b(ault)30543 58720 y
-SDict begin H.S end
- 30543 58720
-a 30543 58720 a
-SDict begin 18.2 H.A end
- 30543 58720 a 30543 58720 a
-SDict begin [ /View [/XYZ H.V] /Dest (2370) cvn H.B /DEST pdfmark end
- 30543 58720
-a FQ(/var/X11R6/lib/xinit/xinitrc)600 b FU(to)50523 58720
-y
-SDict begin H.S end
- 50523 58720 a 50523 58720 a
-SDict begin 18.2 H.A end
- 50523 58720 a 50523 58720
-a
-SDict begin [ /View [/XYZ H.V] /Dest (2371) cvn H.B /DEST pdfmark end
- 50523 58720 a FQ(~/)-30 60735 y(.xinitrc)435 b FU(and)441
-b(edit)f(it,)g(replacing)g(those)g(program)g(lines)g(with)g(whate)-39
-b(v)-23 b(er)440 b(you)g(lik)-15 b(e.)440 b(The)g(end)-30
-62749 y(of)387 b(mine)g(is)g(simply:)-30 64635 y
-SDict begin H.S end
- -30
-64635 a -30 64635 a
-SDict begin 14.56 H.A end
- -30 64635 a -30 64635 a
-SDict begin [ /View [/XYZ H.V] /Dest (2372) cvn H.B /DEST pdfmark end
- -30 64635
-a 1276 x FP(#)744 b(Start)f(the)h(window)f(manager:)-30
-67523 y(exec)g(startkde)p Black -30 73792 a FR(82)p Black
-eop end
-%%Page: 83 105
-TeXDict begin 83 104 bop -8000 -8000 a
-SDict begin /product where{pop product(Distiller)search{pop pop pop
-version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
-closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
-grestore}if}{pop}ifelse}{pop}ifelse}if end
- -8000 -8000 a
-Black 0 TeXcolorgray -30 -1237 a
-SDict begin H.S end
- -30 -1237 a 0 TeXcolorgray
-0 TeXcolorgray -30 -1237 a
-SDict begin H.R end
- -30 -1237 a -30 -1237 a
-SDict begin [ /View [/XYZ H.V] /Dest (page.83) cvn H.B /DEST pdfmark
-end
- -30
--1237 a Black 35138 -1636 a FR(Chapter)386 b(6)i(X)f(Con\002gur)-23
-b(ation)p Black -30 2504 a
-SDict begin H.S end
- -30 2504 a -30 2504 a
-SDict begin 18.2 H.A end
- -30
-2504 a -30 2504 a
-SDict begin [ /View [/XYZ H.V] /Dest (2373) cvn H.B /DEST pdfmark end
- -30 2504 a 1107 x FU(Note)435 b(that)f(there)h(are)g
-(se)-39 b(v)-23 b(eral)16798 3611 y
-SDict begin H.S end
- 16798 3611 a 16798
-3611 a
-SDict begin 18.2 H.A end
- 16798 3611 a 16798 3611 a
-SDict begin [ /View [/XYZ H.V] /Dest (2374) cvn H.B /DEST pdfmark end
- 16798 3611 a FQ(xinitrc.*)429
-b FU(\002les)434 b(in)27529 3611 y
-SDict begin H.S end
- 27529 3611 a 27529
-3611 a
-SDict begin 18.2 H.A end
- 27529 3611 a 27529 3611 a
-SDict begin [ /View [/XYZ H.V] /Dest (2375) cvn H.B /DEST pdfmark end
- 27529 3611 a FQ(/var/X11R6/lib/xinit)
-422 b FU(that)434 b(correspond)g(to)-30 5626 y(v)-39
-b(arious)387 b(windo)-39 b(w)387 b(managers)g(and)g(GUIs.)h(Y)-170
-b(ou)387 b(can)g(use)g(an)-23 b(y)387 b(of)h(those,)f(if)g(you)g(lik)
--15 b(e.)-30 6736 y
-SDict begin H.S end
- -30 6736 a -30 6736 a
-SDict begin 18.2 H.A end
- -30 6736 a
--30 6736 a
-SDict begin [ /View [/XYZ H.V] /Dest (X-WINDOW-SYSTEM-XWMCONFIG) cvn
-H.B /DEST pdfmark end
- -30 6736 a 5789 x FL(6.4)620 b Fq(xwmcon\002g)-30
-13022 y
-SDict begin H.S end
- -30 13022 a -30 13022 a
-SDict begin 18.2 H.A end
- -30 13022 a -30 13022
-a
-SDict begin [ /View [/XYZ H.V] /Dest (2379) cvn H.B /DEST pdfmark end
- -30 13022 a -30 13022 a
-SDict begin H.S end
- -30 13022 a -30 13022 a
-SDict begin 18.2 H.A end
- -30
-13022 a -30 13022 a
-SDict begin [ /View [/XYZ H.V] /Dest (2381) cvn H.B /DEST pdfmark end
- -30 13022 a -30 14138 a
-SDict begin H.S end
- -30 14138
-a -30 14138 a
-SDict begin 18.2 H.A end
- -30 14138 a -30 14138 a
-SDict begin [ /View [/XYZ H.V] /Dest (2383) cvn H.B /DEST pdfmark end
- -30 14138 a 1518
-x FU(F)-23 b(or)556 b(years,)g(Unix)g(w)-15 b(as)555
-b(used)h(almost)g(e)-23 b(xclusi)-39 b(v)-23 b(ely)555
-b(as)h(the)g(operating)f(system)h(for)g(serv)-23 b(ers,)-30
-17670 y(with)403 b(the)h(e)-23 b(xception)403 b(of)g(high-po)-39
-b(wered)404 b(professional)f(w)-15 b(orkstations.)402
-b(Only)h(the)h(technically)-30 19685 y(inclined)462 b(were)h(lik)-15
-b(ely)462 b(to)g(use)h(a)g(Unix-lik)-15 b(e)462 b(operating)g(system,)g
-(and)h(the)g(user)f(interf)-15 b(ace)463 b(re-)-30 21700
-y(\003ected)545 b(this)g(f)-15 b(act.)545 b(GUIs)g(tended)g(to)g(be)h
-(f)-15 b(airly)544 b(bare-bones,)i(designed)e(to)h(run)h(a)f(fe)-39
-b(w)546 b(nec-)-30 23714 y(essarily)503 b(graphical)g(applications)g
-(lik)-15 b(e)503 b(CAD)g(programs)g(and)g(image)g(renderers.)h(Most)f
-(\002le)-30 25729 y(and)382 b(system)e(management)h(w)-15
-b(as)381 b(conducted)g(at)h(the)f(command)g(line.)g(V)-172
-b(arious)382 b(v)-23 b(endors)380 b(\(Sun)-30 27744 y(Microsystems,)489
-b(Silicon)h(Graphics,)g(etc\))g(were)h(selling)e(w)-15
-b(orkstations)489 b(with)g(an)i(attempt)e(to)-30 29758
-y(pro)-23 b(vide)488 b(a)h(cohesi)-39 b(v)-23 b(e)12196
-29758 y
-SDict begin H.S end
- 12196 29758 a 12196 29758 a
-SDict begin 18.2 H.A end
- 12196 29758 a 12196
-29758 a
-SDict begin [ /View [/XYZ H.V] /Dest (2384) cvn H.B /DEST pdfmark end
- 12196 29758 a FU(\223look)488 b(and)g(feel\224,)h(b)-31
-b(ut)488 b(the)h(wide)f(v)-39 b(ariety)488 b(of)h(GUI)f(toolkits)f(in)i
-(use)f(by)-30 31773 y(de)-39 b(v)-23 b(elopers)427 b(led)g(ine)-39
-b(vitably)426 b(to)h(the)g(dissolution)f(of)h(the)g(desktop')-85
-b(s)426 b(uniformity)-101 b(.)427 b(A)g(scrollbar)-30
-33788 y(might)355 b(not)g(look)h(the)f(same)h(in)f(tw)-15
-b(o)355 b(dif)-39 b(ferent)356 b(applications.)f(Menus)g(might)g
-(appear)h(in)g(dif)-39 b(fer)-31 b(-)-30 35802 y(ent)497
-b(places.)g(Programs)f(w)-15 b(ould)496 b(ha)-31 b(v)-23
-b(e)497 b(dif)-39 b(ferent)497 b(b)-31 b(uttons)495 b(and)i(checkbox)
--23 b(es.)497 b(Colors)f(ranged)-30 37817 y(widely)-101
-b(,)537 b(and)f(were)h(generally)f(hard-coded)h(in)f(each)h(toolkit.)f
-(As)g(long)g(as)h(the)f(users)h(were)-30 39832 y(primarily)387
-b(technical)g(professionals,)f(none)h(of)h(this)f(mattered)f(much.)-30
-40167 y
-SDict begin H.S end
- -30 40167 a -30 40167 a
-SDict begin 18.2 H.A end
- -30 40167 a -30 40167
-a
-SDict begin [ /View [/XYZ H.V] /Dest (2385) cvn H.B /DEST pdfmark end
- -30 40167 a -30 40167 a
-SDict begin H.S end
- -30 40167 a -30 40167 a
-SDict begin 18.2 H.A end
- -30
-40167 a -30 40167 a
-SDict begin [ /View [/XYZ H.V] /Dest (2387) cvn H.B /DEST pdfmark end
- -30 40167 a -30 40167 a
-SDict begin H.S end
- -30 40167
-a -30 40167 a
-SDict begin 18.2 H.A end
- -30 40167 a -30 40167 a
-SDict begin [ /View [/XYZ H.V] /Dest (2389) cvn H.B /DEST pdfmark end
- -30 40167 a -30
-40167 a
-SDict begin H.S end
- -30 40167 a -30 40167 a
-SDict begin 18.2 H.A end
- -30 40167 a -30 40167
-a
-SDict begin [ /View [/XYZ H.V] /Dest (2391) cvn H.B /DEST pdfmark end
- -30 40167 a -30 40942 a
-SDict begin H.S end
- -30 40942 a -30 40942 a
-SDict begin 18.2 H.A end
- -30
-40942 a -30 40942 a
-SDict begin [ /View [/XYZ H.V] /Dest (2393) cvn H.B /DEST pdfmark end
- -30 40942 a 1679 x FU(W)-62 b(ith)512
-b(the)g(adv)-23 b(ent)512 b(of)h(free)g(Unix-lik)-15
-b(e)511 b(operating)h(systems)f(and)i(the)f(gro)-39 b(wing)512
-b(number)g(and)-30 44636 y(v)-39 b(ariety)505 b(of)g(graphical)g
-(applications,)f(X)h(has)g(recently)f(g)-8 b(ained)505
-b(a)h(wide)e(desktop)h(user)g(base.)-30 46651 y(Most)497
-b(users,)g(of)g(course,)h(are)f(accustomed)g(to)g(the)g(consistent)f
-(look)h(and)g(feel)h(pro)-23 b(vided)496 b(by)-30 48665
-y(Microsoft')-85 b(s)486 b(W)-62 b(indo)-39 b(ws)487
-b(or)g(Apple')-85 b(s)486 b(MacOS;)g(the)h(lack)g(of)h(such)e
-(consistenc)-23 b(y)486 b(in)h(X-based)-30 50680 y(applications)408
-b(became)i(a)f(barrier)h(to)f(its)g(wider)g(acceptance.)h(In)g
-(response,)f(tw)-15 b(o)409 b(open)g(source)-30 52695
-y(projects)361 b(ha)-31 b(v)-23 b(e)361 b(been)g(undertak)-15
-b(en:)361 b(The)g(K)g(Desktop)g(En)-62 b(vironment,)361
-b(or)g(KDE,)h(and)f(the)g(GNU)-30 54709 y(Netw)-15 b(ork)466
-b(Object)g(Model)g(En)-62 b(vironment,)466 b(kno)-39
-b(wn)466 b(as)h(GNOME.)g(Each)f(has)h(a)g(wide)f(v)-39
-b(ariety)-30 56724 y(of)433 b(applications,)f(from)h(taskbars)f(and)h
-(\002le)g(managers)f(to)h(g)-8 b(ames)433 b(and)g(of)-39
-b(\002ce)433 b(suites,)f(written)-30 58739 y(with)543
-b(the)h(same)f(GUI)h(toolkit)f(and)g(tightly)g(inte)-23
-b(grated)543 b(to)h(pro)-23 b(vide)543 b(a)g(uniform,)h(consistent)-30
-60753 y(desktop.)-30 61089 y
-SDict begin H.S end
- -30 61089 a -30 61089 a
-SDict begin 18.2 H.A end
-
--30 61089 a -30 61089 a
-SDict begin [ /View [/XYZ H.V] /Dest (2394) cvn H.B /DEST pdfmark end
- -30 61089 a -30 61864 a
-SDict begin H.S end
- -30 61864
-a -30 61864 a
-SDict begin 18.2 H.A end
- -30 61864 a -30 61864 a
-SDict begin [ /View [/XYZ H.V] /Dest (2396) cvn H.B /DEST pdfmark end
- -30 61864 a 1679
-x FU(The)533 b(dif)-39 b(ferences)533 b(in)g(KDE)f(and)h(GNOME)f(are)h
-(generally)g(f)-15 b(airly)532 b(subtle.)h(The)-23 b(y)532
-b(each)h(look)-30 65557 y(dif)-39 b(ferent)372 b(from)g(the)g(other)-62
-b(,)372 b(because)g(each)g(uses)g(a)g(dif)-39 b(ferent)372
-b(GUI)g(toolkit.)f(KDE)h(is)f(based)h(on)-30 67572 y(the)514
-b(Qt)g(library)g(from)g(T)-54 b(roll)514 b(T)-108 b(ech)514
-b(AS,)g(while)g(GNOME)g(uses)g(GTK,)g(a)h(toolkit)e(originally)p
-Black 50226 73792 a FR(83)p Black eop end
-%%Page: 84 106
-TeXDict begin 84 105 bop -8000 -8000 a
-SDict begin /product where{pop product(Distiller)search{pop pop pop
-version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
-closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
-grestore}if}{pop}ifelse}{pop}ifelse}if end
- -8000 -8000 a
-Black 0 TeXcolorgray -30 -1237 a
-SDict begin H.S end
- -30 -1237 a 0 TeXcolorgray
-0 TeXcolorgray -30 -1237 a
-SDict begin H.R end
- -30 -1237 a -30 -1237 a
-SDict begin [ /View [/XYZ H.V] /Dest (page.84) cvn H.B /DEST pdfmark
-end
- -30
--1237 a Black -30 -2687 a
-SDict begin H.S end
- -30 -2687 a -30 -2687 a
-SDict begin 18.2 H.A end
- -30
--2687 a -30 -2687 a
-SDict begin [ /View [/XYZ H.V] /Dest (2412) cvn H.B /DEST pdfmark end
- -30 -2687 a 1051 x FR(Chapter)387
-b(6)g(X)g(Con\002gur)-23 b(ation)p Black -30 3611 a FU(de)-39
-b(v)-23 b(eloped)377 b(for)g(The)g(GNU)f(Image)h(Manipulation)f
-(Program)g(\(or)h(The)g(GIMP)-172 b(,)377 b(for)g(short\).)g(As)-30
-5626 y(separate)481 b(projects,)g(KDE)g(and)g(GNOME)f(each)h(ha)-31
-b(v)-23 b(e)481 b(their)g(o)-39 b(wn)481 b(designers)f(and)h(program-)
--30 7640 y(mers,)497 b(with)f(dif)-39 b(ferent)497 b(de)-39
-b(v)-23 b(elopment)496 b(styles)g(and)h(philosophies.)f(The)g(result)h
-(in)f(each)h(case,)-30 9655 y(ho)-39 b(we)g(v)-23 b(er)-62
-b(,)448 b(has)f(been)g(fundamentally)g(the)g(same:)g(a)g(consistent,)g
-(tightly)f(inte)-23 b(grated)447 b(desktop)-30 11670
-y(en)-62 b(vironment)318 b(and)h(application)f(collection.)h(The)f
-(functionality)-101 b(,)319 b(usability)-101 b(,)318
-b(and)h(sheer)g(pretti-)-30 13684 y(ness)368 b(of)g(both)f(KDE)g(and)h
-(GNOME)f(ri)-39 b(v)g(al)369 b(an)-23 b(ything)366 b(a)-31
-b(v)-39 b(ailable)368 b(on)g(other)f(operating)g(systems.)-30
-14795 y
-SDict begin H.S end
- -30 14795 a -30 14795 a
-SDict begin 18.2 H.A end
- -30 14795 a -30 14795
-a
-SDict begin [ /View [/XYZ H.V] /Dest (2397) cvn H.B /DEST pdfmark end
- -30 14795 a 1679 x FU(The)411 b(best)f(part,)h(though,)g(is)f(that)g
-(these)h(adv)-39 b(anced)411 b(desktops)e(are)i(free.)h(This)e(means)g
-(you)h(can)-30 18489 y(ha)-31 b(v)-23 b(e)387 b(either)g(or)h(both)f
-(\(yes,)g(at)h(the)f(same)g(time\).)g(The)h(choice)f(is)g(yours.)-30
-19599 y
-SDict begin H.S end
- -30 19599 a -30 19599 a
-SDict begin 18.2 H.A end
- -30 19599 a -30 19599
-a
-SDict begin [ /View [/XYZ H.V] /Dest (2398) cvn H.B /DEST pdfmark end
- -30 19599 a 1679 x FU(In)329 b(addition)f(to)g(the)h(GNOME)f(and)g
-(KDE)h(desktops,)f(Slackw)-15 b(are)328 b(includes)g(a)h(lar)-28
-b(ge)329 b(collection)-30 23293 y(of)417 b(windo)-39
-b(w)416 b(managers.)h(Some)f(are)h(designed)g(to)f(emulate)g(other)h
-(operating)f(systems,)g(some)-30 25308 y(for)344 b(customization,)f
-(others)h(for)g(speed.)g(There')-85 b(s)344 b(quite)g(a)g(v)-39
-b(ariety)-101 b(.)345 b(Of)f(course)g(you)g(can)g(install)-30
-27322 y(as)387 b(man)-23 b(y)387 b(as)h(you)f(w)-15 b(ant,)387
-b(play)g(with)g(them)f(all,)i(and)f(decide)g(which)g(you)h(lik)-15
-b(e)386 b(the)h(most.)-30 27658 y
-SDict begin H.S end
- -30 27658 a -30 27658
-a
-SDict begin 18.2 H.A end
- -30 27658 a -30 27658 a
-SDict begin [ /View [/XYZ H.V] /Dest (2399) cvn H.B /DEST pdfmark end
- -30 27658 a -30 28433 a
-SDict begin H.S end
- -30
-28433 a -30 28433 a
-SDict begin 18.2 H.A end
- -30 28433 a -30 28433 a
-SDict begin [ /View [/XYZ H.V] /Dest (2401) cvn H.B /DEST pdfmark end
- -30 28433
-a 1679 x FU(T)-124 b(o)975 b(mak)-15 b(e)975 b(desktop)g(selection)g
-(easy)-101 b(,)976 b(Slackw)-15 b(are)975 b(also)g(includes)f(a)i
-(program)f(called)-30 32126 y
-SDict begin H.S end
- -30 32126 a -30 32126 a
-SDict begin 18.2 H.A end
-
--30 32126 a -30 32126 a
-SDict begin [ /View [/XYZ H.V] /Dest (2402) cvn H.B /DEST pdfmark end
- -30 32126 a FP(xwmconfig)377
-b FU(that)g(can)g(be)h(used)f(to)g(select)g(a)h(desktop)f(or)g(windo)
--39 b(w)377 b(manager)-85 b(.)378 b(It)f(is)g(run)h(lik)-15
-b(e)376 b(so:)-30 34012 y
-SDict begin H.S end
- -30 34012 a -30 34012 a
-SDict begin 14.56 H.A end
- -30
-34012 a -30 34012 a
-SDict begin [ /View [/XYZ H.V] /Dest (2403) cvn H.B /DEST pdfmark end
- -30 34012 a -30 34012 a
-SDict begin H.S end
- -30 34012
-a -30 34012 a
-SDict begin 14.56 H.A end
- -30 34012 a -30 34012 a
-SDict begin [ /View [/XYZ H.V] /Dest (2404) cvn H.B /DEST pdfmark end
- -30 34012 a 1276
-x FJ(\045)1309 35288 y
-SDict begin H.S end
- 1309 35288 a 1309 35288 a
-SDict begin 14.56 H.A end
- 1309
-35288 a 1309 35288 a
-SDict begin [ /View [/XYZ H.V] /Dest (2405) cvn H.B /DEST pdfmark end
- 1309 35288 a FH(xwmconfig)-30 35456
-y
-SDict begin H.S end
- -30 35456 a -30 35456 a
-SDict begin 18.2 H.A end
- -30 35456 a -30 35456 a
-SDict begin [ /View [/XYZ H.V] /Dest (FIG-X-WINDOW-SYSTEM-XWMCONFIG)
-cvn H.B /DEST pdfmark end
- -30
-35456 a Black 38336 x FR(84)p Black eop end
-%%Page: 85 107
-TeXDict begin 85 106 bop -8000 -8000 a
-SDict begin /product where{pop product(Distiller)search{pop pop pop
-version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
-closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
-grestore}if}{pop}ifelse}{pop}ifelse}if end
- -8000 -8000 a
-Black 0 TeXcolorgray -30 -1237 a
-SDict begin H.S end
- -30 -1237 a 0 TeXcolorgray
-0 TeXcolorgray -30 -1237 a
-SDict begin H.R end
- -30 -1237 a -30 -1237 a
-SDict begin [ /View [/XYZ H.V] /Dest (page.85) cvn H.B /DEST pdfmark
-end
- -30
--1237 a Black 35138 -1636 a FR(Chapter)386 b(6)i(X)f(Con\002gur)-23
-b(ation)p Black -30 3611 a FX(Figur)-28 b(e)387 b(6-5.)h(Desktop)e
-(Con\002guration)g(with)g FV(xorgcon\002g)-30 5477 y
-SDict begin H.S end
-
--30 5477 a -30 5477 a
-SDict begin 18.2 H.A end
- -30 5477 a -30 5477 a
-SDict begin [ /View [/XYZ H.V] /Dest (2409) cvn H.B /DEST pdfmark end
- -30 5477
-a -30 35919 a
- currentpoint currentpoint translate 1 1 scale neg exch neg exch translate
- -30 35919 a @beginspecial 21 @llx 60 @lly
-449 @urx 327 @ury 4280 @rwi @setspecial
-%%BeginDocument: x-window-system/xwmconfig.eps
-%!PS-Adobe-2.0 EPSF-1.2
-%%BoundingBox: 21 60 449 327
-
-/Outterbox
-{ newpath moveto
-0 260 rlineto
-88 0 rlineto
-23 61 moveto
-425 0 rlineto
-0 260 rlineto
--88 0 rlineto
-23 87 moveto
-425 0 rlineto
-closepath } def
-
-/Innerbox
-{ moveto
-402 0 rlineto
-0 131 rlineto
--402 0 rlineto
-closepath} def
-
-/TitleFont
-{ /Helvetica findfont 11 scalefont setfont
-moveto } def
-
-/PanelFont
-{ /Helvetica findfont 12 scalefont setfont
-moveto } def
-
-/ContentFont
-{ /Helvetica findfont 12 scalefont setfont
-moveto } def
-
-/ButtonFont
-{ /Helvetica findfont 11 scalefont setfont
-moveto } def
-
-23 61 Outterbox
-34 100 Innerbox
-
-114 318 TitleFont(SELECT DEFAULT WINDOW MANAGER FOR X) show
-
-34 306 PanelFont (Please select the default window manager to use with the X Window) show
-34 292 PanelFont (System. This will define the style of graphical user interface the) show
-34 278 PanelFont (computer uses. KDE and GNOME provide the most features. People with) show
-34 264 PanelFont (Windows or MacOS experience will find either one easy to use. Other) show
-34 250 PanelFont (window managers are easier on system resources, or provide other) show
-34 236 PanelFont (unique features.) show
-
-60 218 ContentFont (xinitrc.kde) show
-60 204 ContentFont (xinitrc.gnome) show
-60 190 ContentFont (xinitrc.xfce) show
-60 176 ContentFont (xinitrc.blackbox) show
-60 162 ContentFont (xinitrc.fluxbox) show
-60 148 ContentFont (xinitrc.wmaker) show
-60 134 ContentFont (xinitrc.fvwm2) show
-60 120 ContentFont (xinitrc.fvwm95) show
-60 106 ContentFont (xinitrc.twm) show
-
-171 218 ContentFont (KDE: K Desktop Environment) show
-171 204 ContentFont (GNU Network Object Model Environment) show
-171 190 ContentFont (The Cholesterol Free Desktop Environment) show
-171 176 ContentFont (The blackbox window manager) show
-171 162 ContentFont (The fluxbox window manager) show
-171 148 ContentFont (WindowMaker) show
-171 134 ContentFont (F(?) Virtual Window Manager (version 2.xx)) show
-171 120 ContentFont (FVWM2 with a Windows look and feel) show
-171 106 ContentFont (Tab Window Manager (very basic)) show
-
-163 71 ButtonFont (< OK >) show
-277 71 ButtonFont (< Cancel >) show
-
-stroke
-showpage
-%%EOF
-
-%%EndDocument
- @endspecial -30 35919 a
- currentpoint currentpoint translate 1 1 div 1 1 div scale neg exch
-neg exch translate
- -30 35919 a 3564 x FU(Y)-170
-b(ou')-15 b(ll)402 b(be)h(gi)-39 b(v)-23 b(en)403 b(a)h(list)f(of)g
-(all)g(the)h(desktops)e(and)h(windo)-39 b(w)403 b(managers)g
-(installed.)g(Just)g(select)-30 41498 y(the)433 b(one)f(you)h(w)-15
-b(ant)432 b(from)g(the)h(list.)f(Each)h(user)g(on)f(your)h(system)f
-(will)g(need)h(to)f(run)h(this)f(pro-)-30 43512 y(gram,)500
-b(since)f(dif)-39 b(ferent)500 b(users)g(can)f(use)h(dif)-39
-b(ferent)500 b(desktops,)f(and)h(not)f(e)-39 b(v)-23
-b(eryone)500 b(will)f(w)-15 b(ant)-30 45527 y(the)387
-b(def)-15 b(ault)387 b(one)g(you)g(selected)g(at)h(installation.)-30
-46637 y
-SDict begin H.S end
- -30 46637 a -30 46637 a
-SDict begin 18.2 H.A end
- -30 46637 a -30 46637
-a
-SDict begin [ /View [/XYZ H.V] /Dest (2413) cvn H.B /DEST pdfmark end
- -30 46637 a 1679 x FU(Then)f(just)g(start)g(up)g(X,)h(and)f(you')-77
-b(re)387 b(good)g(to)g(go.)-30 49427 y
-SDict begin H.S end
- -30 49427 a -30
-49427 a
-SDict begin 18.2 H.A end
- -30 49427 a -30 49427 a
-SDict begin [ /View [/XYZ H.V] /Dest (X-WINDOW-SYSTEM-XDM) cvn H.B
-/DEST pdfmark end
- -30 49427 a 5789 x FL(6.5)620
-b Fq(xdm)-30 56360 y
-SDict begin H.S end
- -30 56360 a -30 56360 a
-SDict begin 18.2 H.A end
- -30 56360
-a -30 56360 a
-SDict begin [ /View [/XYZ H.V] /Dest (2417) cvn H.B /DEST pdfmark end
- -30 56360 a 1986 x FU(As)355 b(Linux)f(becomes)g(more)h
-(and)g(more)f(useful)h(as)f(a)h(desktop)f(operating)h(system,)f(man)-23
-b(y)354 b(users)-30 60361 y(\002nd)478 b(it)g(desirable)g(for)h(the)f
-(machine)h(to)f(boot)g(straight)g(into)g(a)g(graphical)h(en)-62
-b(vironment.)477 b(F)-23 b(or)-30 62376 y(this,)453 b(you)g(will)f
-(need)h(to)g(tell)g(Slackw)-15 b(are)452 b(to)h(boot)f(straight)h(into)
-f(X,)i(and)f(assign)f(a)h(graphical)-30 64390 y(login)533
-b(manager)-85 b(.)533 b(Slackw)-15 b(are)532 b(ships)h(with)f(three)h
-(graphical)g(login)g(tools,)41426 64390 y
-SDict begin H.S end
- 41426 64390
-a 41426 64390 a
-SDict begin 18.2 H.A end
- 41426 64390 a 41426 64390 a
-SDict begin [ /View [/XYZ H.V] /Dest (2418) cvn H.B /DEST pdfmark end
- 41426 64390
-a FP(xdm)p FU(\(1\),)46386 64390 y
-SDict begin H.S end
- 46386 64390 a 46386
-64390 a
-SDict begin 18.2 H.A end
- 46386 64390 a 46386 64390 a
-SDict begin [ /View [/XYZ H.V] /Dest (2419) cvn H.B /DEST pdfmark end
- 46386 64390 a FP(kdm)p
-FU(,)g(and)-30 66405 y
-SDict begin H.S end
- -30 66405 a -30 66405 a
-SDict begin 18.2 H.A end
- -30 66405
-a -30 66405 a
-SDict begin [ /View [/XYZ H.V] /Dest (2420) cvn H.B /DEST pdfmark end
- -30 66405 a FP(gdm)p FU(\(1\).)-30 66682
-y
-SDict begin H.S end
- -30 66682 a -30 66682 a
-SDict begin 18.2 H.A end
- -30 66682 a -30 66682 a
-SDict begin [ /View [/XYZ H.V] /Dest (2421) cvn H.B /DEST pdfmark end
- -30
-66682 a -30 66682 a
-SDict begin H.S end
- -30 66682 a -30 66682 a
-SDict begin 18.2 H.A end
- -30 66682
-a -30 66682 a
-SDict begin [ /View [/XYZ H.V] /Dest (2424) cvn H.B /DEST pdfmark end
- -30 66682 a Black 50226 73792 a FR(85)p
-Black eop end
-%%Page: 86 108
-TeXDict begin 86 107 bop -8000 -8000 a
-SDict begin /product where{pop product(Distiller)search{pop pop pop
-version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
-closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
-grestore}if}{pop}ifelse}{pop}ifelse}if end
- -8000 -8000 a
-Black 0 TeXcolorgray -30 -1237 a
-SDict begin H.S end
- -30 -1237 a 0 TeXcolorgray
-0 TeXcolorgray -30 -1237 a
-SDict begin H.R end
- -30 -1237 a -30 -1237 a
-SDict begin [ /View [/XYZ H.V] /Dest (page.86) cvn H.B /DEST pdfmark
-end
- -30
--1237 a Black -399 x FR(Chapter)387 b(6)g(X)g(Con\002gur)-23
-b(ation)p Black -30 2504 a
-SDict begin H.S end
- -30 2504 a -30 2504 a
-SDict begin 18.2 H.A end
- -30
-2504 a -30 2504 a
-SDict begin [ /View [/XYZ H.V] /Dest (2426) cvn H.B /DEST pdfmark end
- -30 2504 a -30 2504 a
-SDict begin H.S end
- -30 2504 a -30
-2504 a
-SDict begin 18.2 H.A end
- -30 2504 a -30 2504 a
-SDict begin [ /View [/XYZ H.V] /Dest (2427) cvn H.B /DEST pdfmark end
- -30 2504 a 1107 x FP(xdm)478
-b FU(is)g(the)g(graphical)g(login)f(manager)h(shipped)f(with)h(the)g
-(X.or)-28 b(g)478 b(system.)g(It')-85 b(s)478 b(ubiquitous,)-30
-5626 y(b)-31 b(ut)440 b(not)g(as)g(fully)g(features)g(as)g(alternati)
--39 b(v)-23 b(es.)24866 5626 y
-SDict begin H.S end
- 24866 5626 a 24866 5626
-a
-SDict begin 18.2 H.A end
- 24866 5626 a 24866 5626 a
-SDict begin [ /View [/XYZ H.V] /Dest (2428) cvn H.B /DEST pdfmark end
- 24866 5626 a FP(kdm)440 b
-FU(is)f(the)h(graphical)g(login)g(manager)g(shipped)-30
-7640 y(with)432 b(KDE,)g(The)g(K)g(Desktop)f(En)-62 b(vironment.)431
-b(Finally)-101 b(,)31113 7640 y
-SDict begin H.S end
- 31113 7640 a 31113 7640
-a
-SDict begin 18.2 H.A end
- 31113 7640 a 31113 7640 a
-SDict begin [ /View [/XYZ H.V] /Dest (2429) cvn H.B /DEST pdfmark end
- 31113 7640 a FP(gdm)432 b
-FU(is)g(the)f(login)h(manager)g(shipped)-30 9655 y(with)438
-b(GNOME.)g(An)-23 b(y)438 b(of)h(the)f(choices)g(will)g(allo)-39
-b(w)439 b(you)f(to)g(log)g(in)g(as)h(an)-23 b(y)438 b(user)-62
-b(,)439 b(and)f(choose)-30 11670 y(what)387 b(desktop)g(you)g(wish)g
-(to)g(use.)-30 12780 y
-SDict begin H.S end
- -30 12780 a -30 12780 a
-SDict begin 18.2 H.A end
- -30 12780
-a -30 12780 a
-SDict begin [ /View [/XYZ H.V] /Dest (2430) cvn H.B /DEST pdfmark end
- -30 12780 a 1679 x FU(Unfortunately)-101
-b(,)382 b(Slackw)-15 b(are)382 b(doesn')-28 b(t)382 b(include)g(a)h
-(nice)f(program)g(lik)-15 b(e)38377 14459 y
-SDict begin H.S end
- 38377 14459
-a 38377 14459 a
-SDict begin 18.2 H.A end
- 38377 14459 a 38377 14459 a
-SDict begin [ /View [/XYZ H.V] /Dest (2431) cvn H.B /DEST pdfmark end
- 38377 14459
-a FP(xwmconfig)382 b FU(for)g(choos-)-30 16474 y(ing)389
-b(what)h(login)e(manager)i(to)f(use,)h(so)f(if)h(all)f(three)h(are)f
-(installed)g(you)g(may)g(ha)-31 b(v)-23 b(e)390 b(to)f(do)g(some)-30
-18489 y(editing)383 b(to)h(choose)f(your)h(preference.)g(But)g
-(\002rst,)f(we')-15 b(ll)383 b(discuss)g(ho)-39 b(w)384
-b(to)g(boot)f(into)g(a)h(graphi-)-30 20503 y(cal)k(en)-62
-b(vironment.)-30 20518 y
-SDict begin H.S end
- -30 20518 a -30 20518 a
-SDict begin 18.2 H.A end
- -30
-20518 a -30 20518 a
-SDict begin [ /View [/XYZ H.V] /Dest (2432) cvn H.B /DEST pdfmark end
- -30 20518 a -30 20518 a
-SDict begin H.S end
- -30 20518
-a -30 20518 a
-SDict begin 18.2 H.A end
- -30 20518 a -30 20518 a
-SDict begin [ /View [/XYZ H.V] /Dest (2434) cvn H.B /DEST pdfmark end
- -30 20518 a -30
-21294 a
-SDict begin H.S end
- -30 21294 a -30 21294 a
-SDict begin 18.2 H.A end
- -30 21294 a -30 21294
-a
-SDict begin [ /View [/XYZ H.V] /Dest (2436) cvn H.B /DEST pdfmark end
- -30 21294 a 1999 x FU(In)482 b(order)h(to)f(start)g(X)g(at)g(boot,)g
-(you)g(need)g(to)g(boot)g(into)g(run-le)-39 b(v)-23 b(el)482
-b(4.)g(Run-le)-39 b(v)-23 b(els)482 b(are)g(just)g(a)-30
-25308 y(w)-15 b(ay)475 b(of)g(telling)9214 25308 y
-SDict begin H.S end
- 9214
-25308 a 9214 25308 a
-SDict begin 18.2 H.A end
- 9214 25308 a 9214 25308 a
-SDict begin [ /View [/XYZ H.V] /Dest (2437) cvn H.B /DEST pdfmark end
- 9214 25308
-a FP(init)p FU(\(8\))g(to)f(do)h(something)f(dif)-39
-b(ferent)475 b(when)g(it)g(starts)f(the)h(OS.)g(W)-124
-b(e)476 b(do)e(this)-30 27322 y(by)387 b(editing)g(the)g(con\002g)g
-(\002le)g(for)17705 27322 y
-SDict begin H.S end
- 17705 27322 a 17705 27322
-a
-SDict begin 18.2 H.A end
- 17705 27322 a 17705 27322 a
-SDict begin [ /View [/XYZ H.V] /Dest (2438) cvn H.B /DEST pdfmark end
- 17705 27322 a FP(init)p
-FU(,)21456 27322 y
-SDict begin H.S end
- 21456 27322 a 21456 27322 a
-SDict begin 18.2 H.A end
- 21456
-27322 a 21456 27322 a
-SDict begin [ /View [/XYZ H.V] /Dest (2439) cvn H.B /DEST pdfmark end
- 21456 27322 a FQ(/etc/inittab)p
-FU(.)-30 29207 y
-SDict begin H.S end
- -30 29207 a -30 29207 a
-SDict begin 14.56 H.A end
- -30 29207 a
--30 29207 a
-SDict begin [ /View [/XYZ H.V] /Dest (2440) cvn H.B /DEST pdfmark end
- -30 29207 a 1277 x FP(#)744 b(These)f(are)h(the)f(default)g
-(runlevels)g(in)h(Slackware:)-30 32095 y(#)2232 b(0)743
-b(=)h(halt)-30 33707 y(#)2232 b(1)743 b(=)h(single)f(user)h(mode)-30
-35319 y(#)2232 b(2)743 b(=)h(unused)f(\(but)h(configured)e(the)i(same)f
-(as)h(runlevel)f(3\))-30 36931 y(#)2232 b(3)743 b(=)h(multiuser)f(mode)
-g(\(default)g(Slackware)g(runlevel\))-30 38542 y(#)2232
-b(4)743 b(=)h(X11)g(with)f(KDM/GDM/XDM)g(\(session)f(managers\))-30
-40154 y(#)2232 b(5)743 b(=)h(unused)f(\(but)h(configured)e(the)i(same)f
-(as)h(runlevel)f(3\))-30 41766 y(#)2232 b(6)743 b(=)h(reboot)-30
-44989 y(#)g(Default)f(runlevel.)g(\(Do)g(not)h(set)f(to)h(0)g(or)f(6\))
--30 46601 y(id:3:initdefault:)-30 48177 y
-SDict begin H.S end
- -30 48177 a
--30 48177 a
-SDict begin 18.2 H.A end
- -30 48177 a -30 48177 a
-SDict begin [ /View [/XYZ H.V] /Dest (2441) cvn H.B /DEST pdfmark end
- -30 48177 a 1988
-x FU(In)358 b(order)h(to)f(mak)-15 b(e)357 b(Slackw)-15
-b(are)357 b(boot)h(to)g(a)g(graphical)g(en)-62 b(vironment,)358
-b(we)g(just)g(change)g(the)g(3)g(to)-30 52180 y(a)388
-b(4.)-30 53745 y
-SDict begin H.S end
- -30 53745 a -30 53745 a
-SDict begin 14.56 H.A end
- -30 53745 a
--30 53745 a
-SDict begin [ /View [/XYZ H.V] /Dest (2442) cvn H.B /DEST pdfmark end
- -30 53745 a 1458 55342 a FP(#)744 b(Default)f(runlevel.)f
-(\(Do)i(not)f(set)h(to)g(0)f(or)h(6\))1458 56953 y(id:4:initdefault:)
--30 58529 y
-SDict begin H.S end
- -30 58529 a -30 58529 a
-SDict begin 18.2 H.A end
- -30 58529 a -30 58529
-a
-SDict begin [ /View [/XYZ H.V] /Dest (2443) cvn H.B /DEST pdfmark end
- -30 58529 a 1989 x FU(No)-39 b(w)411 b(Slackw)-15 b(are)411
-b(will)f(boot)h(into)g(runle)-39 b(v)-23 b(el)410 b(4)h(and)h(e)-23
-b(x)g(ecute)33378 60518 y
-SDict begin H.S end
- 33378 60518 a 33378 60518 a
-SDict begin 18.2 H.A end
-
-33378 60518 a 33378 60518 a
-SDict begin [ /View [/XYZ H.V] /Dest (2444) cvn H.B /DEST pdfmark end
- 33378 60518 a FQ(/etc/rc.d/rc.4)p
-FU(.)403 b(This)411 b(\002le)f(starts)-30 62532 y(up)394
-b(X)h(and)f(calls)h(whate)-39 b(v)-23 b(er)394 b(login)g(manager)g
-(you')-77 b(v)-23 b(e)394 b(chosen.)g(So,)h(ho)-39 b(w)394
-b(do)h(we)f(choose)h(login)-30 64547 y(managers?)492
-b(There)g(are)g(a)h(fe)-39 b(w)492 b(w)-15 b(ays)491
-b(to)h(do)g(this,)g(and)g(I')-15 b(ll)491 b(e)-23 b(xplain)491
-b(them)h(after)g(we)g(look)g(at)-30 66562 y
-SDict begin H.S end
- -30 66562
-a -30 66562 a
-SDict begin 18.2 H.A end
- -30 66562 a -30 66562 a
-SDict begin [ /View [/XYZ H.V] /Dest (2445) cvn H.B /DEST pdfmark end
- -30 66562 a FQ(rc.4)p
-FU(.)p Black -30 73792 a FR(86)p Black eop end
-%%Page: 87 109
-TeXDict begin 87 108 bop -8000 -8000 a
-SDict begin /product where{pop product(Distiller)search{pop pop pop
-version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
-closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
-grestore}if}{pop}ifelse}{pop}ifelse}if end
- -8000 -8000 a
-Black 0 TeXcolorgray -30 -1237 a
-SDict begin H.S end
- -30 -1237 a 0 TeXcolorgray
-0 TeXcolorgray -30 -1237 a
-SDict begin H.R end
- -30 -1237 a -30 -1237 a
-SDict begin [ /View [/XYZ H.V] /Dest (page.87) cvn H.B /DEST pdfmark
-end
- -30
--1237 a Black 35138 -1636 a FR(Chapter)386 b(6)i(X)f(Con\002gur)-23
-b(ation)p Black -30 2504 a
-SDict begin H.S end
- -30 2504 a -30 2504 a
-SDict begin 14.56 H.A end
- -30
-2504 a -30 2504 a
-SDict begin [ /View [/XYZ H.V] /Dest (2446) cvn H.B /DEST pdfmark end
- -30 2504 a 1458 3611 a FP(#)744 b(Try)f(to)h(use)f
-(GNOME's)g(gdm)h(session)f(manager:)1458 5223 y(if)g([)h(-x)g
-(/usr/bin/gdm)e(];)i(then)2946 6835 y(exec)f(/usr/bin/gdm)f(-nodaemon)
-1458 8446 y(fi)1458 11670 y(#)i(Not)f(there?)1487 b(OK,)744
-b(try)f(to)h(use)f(KDE's)h(kdm)f(session)g(manager:)1458
-13282 y(if)g([)h(-x)g(/opt/kde/bin/kdm)e(];)h(then)2946
-14893 y(exec)g(/opt/kde/bin/kdm)f(-nodaemon)1458 16505
-y(fi)1458 19728 y(#)i(If)f(all)h(you)f(have)h(is)f(XDM,)h(I)f(guess)h
-(it)f(will)h(have)f(to)h(do:)1458 21340 y(if)f([)h(-x)g
-(/usr/X11R6/bin/xdm)e(];)h(then)2946 22952 y(exec)g(/usr/X11R6/bin/xdm)
-f(-nodaemon)1458 24564 y(fi)-30 26113 y
-SDict begin H.S end
- -30 26113 a -30
-26113 a
-SDict begin 18.2 H.A end
- -30 26113 a -30 26113 a
-SDict begin [ /View [/XYZ H.V] /Dest (2447) cvn H.B /DEST pdfmark end
- -30 26113 a 2015 x FU(As)477
-b(you)h(can)f(see)h(here,)13589 28128 y
-SDict begin H.S end
- 13589 28128 a
-13589 28128 a
-SDict begin 18.2 H.A end
- 13589 28128 a 13589 28128 a
-SDict begin [ /View [/XYZ H.V] /Dest (2448) cvn H.B /DEST pdfmark end
- 13589 28128
-a FQ(rc.4)d FU(\002rst)i(checks)g(to)h(see)f(if)29720
-28128 y
-SDict begin H.S end
- 29720 28128 a 29720 28128 a
-SDict begin 18.2 H.A end
- 29720 28128 a 29720
-28128 a
-SDict begin [ /View [/XYZ H.V] /Dest (2449) cvn H.B /DEST pdfmark end
- 29720 28128 a FP(gdm)g FU(is)g(e)-23 b(x)g(ecutable,)477
-b(and)h(if)f(so)h(runs)f(it.)-30 30143 y(Second)447 b(on)g(the)g(list)f
-(is)13141 30143 y
-SDict begin H.S end
- 13141 30143 a 13141 30143 a
-SDict begin 18.2 H.A end
- 13141 30143
-a 13141 30143 a
-SDict begin [ /View [/XYZ H.V] /Dest (2450) cvn H.B /DEST pdfmark end
- 13141 30143 a FP(kdm)p FU(,)h(and)g(\002nally)23300
-30143 y
-SDict begin H.S end
- 23300 30143 a 23300 30143 a
-SDict begin 18.2 H.A end
- 23300 30143 a 23300
-30143 a
-SDict begin [ /View [/XYZ H.V] /Dest (2451) cvn H.B /DEST pdfmark end
- 23300 30143 a FP(xdm)p FU(.)h(One)f(w)-15 b(ay)446
-b(of)h(choosing)g(a)g(login)f(manager)h(is)-30 32157
-y(to)386 b(simply)f(remo)-23 b(v)g(e)386 b(the)g(ones)g(you)g(don')-28
-b(t)386 b(wish)g(to)g(use)g(using)34107 32157 y
-SDict begin H.S end
- 34107
-32157 a 34107 32157 a
-SDict begin 18.2 H.A end
- 34107 32157 a 34107 32157 a
-SDict begin [ /View [/XYZ H.V] /Dest (2452) cvn H.B /DEST pdfmark end
- 34107
-32157 a FP(removepkg)p FU(.)g(Y)-170 b(ou)385 b(can)i(\002nd)e(out)-30
-34172 y(more)i(about)7373 34172 y
-SDict begin H.S end
- 7373 34172 a 7373 34172
-a
-SDict begin 18.2 H.A end
- 7373 34172 a 7373 34172 a
-SDict begin [ /View [/XYZ H.V] /Dest (2453) cvn H.B /DEST pdfmark end
- 7373 34172 a FP(removepkg)g
-FU(in)p 0 TeXcolorgray 16049 34172 a
-SDict begin H.S end
- 16049 34172 a FU(Chapter)g(18)
-22893 34172 y
-SDict begin 18.2 H.L end
- 22893 34172 a 22893 34172 a
-SDict begin [ /Subtype /Link /Dest (PACKAGE-MANAGEMENT) cvn /H /I /Border
-[0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 22893 34172
-a Black -1 w FU(.)-30 35282 y
-SDict begin H.S end
- -30 35282 a -30 35282 a
-SDict begin 18.2 H.A end
-
--30 35282 a -30 35282 a
-SDict begin [ /View [/XYZ H.V] /Dest (2455) cvn H.B /DEST pdfmark end
- -30 35282 a 1680 x FU(Optionally)-101
-b(,)314 b(you)h(can)f(remo)-23 b(v)g(e)314 b(the)h(e)-23
-b(x)g(ecutable)314 b(permission)f(from)h(those)h(\002les)f(that)g(you)g
-(don')-28 b(t)-30 38976 y(w)-15 b(ant)387 b(to)g(use.)h(W)-124
-b(e)387 b(discuss)15068 38976 y
-SDict begin H.S end
- 15068 38976 a 15068 38976
-a
-SDict begin 18.2 H.A end
- 15068 38976 a 15068 38976 a
-SDict begin [ /View [/XYZ H.V] /Dest (2456) cvn H.B /DEST pdfmark end
- 15068 38976 a FP(chmod)f
-FU(in)p 0 TeXcolorgray 20768 38976 a
-SDict begin H.S end
- 20768 38976 a FU(Chapter)g(9)26836
-38976 y
-SDict begin 18.2 H.L end
- 26836 38976 a 26836 38976 a
-SDict begin [ /Subtype /Link /Dest (FILESYSTEM-STRUCTURE) cvn /H /I
-/Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 26836 38976 a Black
-FU(.)-30 40862 y
-SDict begin H.S end
- -30 40862 a -30 40862 a
-SDict begin 14.56 H.A end
- -30 40862 a
--30 40862 a
-SDict begin [ /View [/XYZ H.V] /Dest (2458) cvn H.B /DEST pdfmark end
- -30 40862 a -30 40862 a
-SDict begin H.S end
- -30 40862 a -30 40862
-a
-SDict begin 14.56 H.A end
- -30 40862 a -30 40862 a
-SDict begin [ /View [/XYZ H.V] /Dest (2459) cvn H.B /DEST pdfmark end
- -30 40862 a 1276 x FJ(#)1309
-42138 y
-SDict begin H.S end
- 1309 42138 a 1309 42138 a
-SDict begin 14.56 H.A end
- 1309 42138 a 1309 42138
-a
-SDict begin [ /View [/XYZ H.V] /Dest (2460) cvn H.B /DEST pdfmark end
- 1309 42138 a FH(chmod)743 b(-x)h(/usr/bin/gdm)-30 43855
-y
-SDict begin H.S end
- -30 43855 a -30 43855 a
-SDict begin 18.2 H.A end
- -30 43855 a -30 43855 a
-SDict begin [ /View [/XYZ H.V] /Dest (2461) cvn H.B /DEST pdfmark end
- -30
-43855 a 1847 x FU(Finally)-101 b(,)390 b(you)f(can)h(just)f(comment)g
-(out)h(the)f(lines)h(for)g(the)f(login)g(manager)h(you)g(don')-28
-b(t)389 b(w)-15 b(ant)389 b(to)-30 47717 y(use.)-30 49282
-y
-SDict begin H.S end
- -30 49282 a -30 49282 a
-SDict begin 14.56 H.A end
- -30 49282 a -30 49282 a
-SDict begin [ /View [/XYZ H.V] /Dest (2462) cvn H.B /DEST pdfmark end
- -30
-49282 a 1458 50878 a FP(#)744 b(Try)f(to)h(use)f(GNOME's)g(gdm)h
-(session)f(manager:)1458 52490 y(#)h(if)f([)h(-x)g(/usr/bin/gdm)e(];)i
-(then)1458 54102 y(#)2231 b(exec)744 b(/usr/bin/gdm)e(-nodaemon)1458
-55714 y(#)i(fi)1458 58937 y(#)g(Not)f(there?)1487 b(OK,)744
-b(try)f(to)h(use)f(KDE's)h(kdm)f(session)g(manager:)1458
-60549 y(if)g([)h(-x)g(/opt/kde/bin/kdm)e(];)h(then)2946
-62160 y(exec)g(/opt/kde/bin/kdm)f(-nodaemon)1458 63772
-y(fi)1458 66996 y(#)i(If)f(all)h(you)f(have)h(is)f(XDM,)h(I)f(guess)h
-(it)f(will)h(have)f(to)h(do:)p Black 50169 73792 a FR(87)p
-Black eop end
-%%Page: 88 110
-TeXDict begin 88 109 bop -8000 -8000 a
-SDict begin /product where{pop product(Distiller)search{pop pop pop
-version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
-closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
-grestore}if}{pop}ifelse}{pop}ifelse}if end
- -8000 -8000 a
-Black 0 TeXcolorgray -30 -1237 a
-SDict begin H.S end
- -30 -1237 a 0 TeXcolorgray
-0 TeXcolorgray -30 -1237 a
-SDict begin H.R end
- -30 -1237 a -30 -1237 a
-SDict begin [ /View [/XYZ H.V] /Dest (page.88) cvn H.B /DEST pdfmark
-end
- -30
--1237 a Black -399 x FR(Chapter)387 b(6)g(X)g(Con\002gur)-23
-b(ation)p Black 1458 3611 a FP(if)743 b([)h(-x)g(/usr/X11R6/bin/xdm)e
-(];)h(then)2946 5223 y(exec)g(/usr/X11R6/bin/xdm)f(-nodaemon)1458
-6835 y(fi)-30 8384 y
-SDict begin H.S end
- -30 8384 a -30 8384 a
-SDict begin 18.2 H.A end
- -30 8384 a
--30 8384 a
-SDict begin [ /View [/XYZ H.V] /Dest (2463) cvn H.B /DEST pdfmark end
- -30 8384 a 2015 x FU(An)-23 b(y)566 b(lines)f(preceded)h(by)
-g(the)g(hash)g(mark)g(\()25084 10399 y
-SDict begin H.S end
- 25084 10399 a
-25084 10399 a
-SDict begin 18.2 H.A end
- 25084 10399 a 25084 10399 a
-SDict begin [ /View [/XYZ H.V] /Dest (2464) cvn H.B /DEST pdfmark end
- 25084 10399
-a FP(#)p FU(\))g(are)g(considered)g(comments)f(and)h(the)f(shell)-30
-12414 y(silently)427 b(passes)h(them.)g(Thus,)g(e)-39
-b(v)-23 b(en)428 b(if)21846 12414 y
-SDict begin H.S end
- 21846 12414 a 21846
-12414 a
-SDict begin 18.2 H.A end
- 21846 12414 a 21846 12414 a
-SDict begin [ /View [/XYZ H.V] /Dest (2465) cvn H.B /DEST pdfmark end
- 21846 12414 a FP(gdm)g
-FU(is)g(installed)f(and)h(e)-23 b(x)g(ecutable,)427 b(the)h(shell)g
-(\(in)g(this)-30 14428 y(case)3025 14428 y
-SDict begin H.S end
- 3025 14428
-a 3025 14428 a
-SDict begin 18.2 H.A end
- 3025 14428 a 3025 14428 a
-SDict begin [ /View [/XYZ H.V] /Dest (2466) cvn H.B /DEST pdfmark end
- 3025 14428 a
-FP(bash)p FU(\))387 b(w)-15 b(on')-28 b(t)386 b(bother)h(checking)g
-(for)h(it.)p Black -30 73792 a FR(88)p Black eop end
-%%Page: 89 111
-TeXDict begin 89 110 bop -8000 -8000 a
-SDict begin /product where{pop product(Distiller)search{pop pop pop
-version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
-closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
-grestore}if}{pop}ifelse}{pop}ifelse}if end
- -8000 -8000 a
-Black 0 TeXcolorgray -30 -1358 a
-SDict begin H.S end
- -30 -1358 a 0 TeXcolorgray
-0 TeXcolorgray -30 -1358 a
-SDict begin H.R end
- -30 -1358 a -30 -1358 a
-SDict begin [ /View [/XYZ H.V] /Dest (page.89) cvn H.B /DEST pdfmark
-end
- -30
--1358 a Black Black -30 2383 a
-SDict begin H.S end
- -30 2383 a -30 2383 a
-SDict begin 18.2 H.A end
-
--30 2383 a -30 2383 a
-SDict begin [ /View [/XYZ H.V] /Dest (BOOTING) cvn H.B /DEST pdfmark
-end
- -30 2383 a 2345 x FS(Chapter)894
-b(7)-30 10743 y FO(Booting)p -30 18316 51806 56 v -30
-18316 a
-SDict begin H.S end
- -30 18316 a -30 18316 a
-SDict begin 18.2 H.A end
- -30 18316 a -30 18316
-a
-SDict begin [ /View [/XYZ H.V] /Dest (2469) cvn H.B /DEST pdfmark end
- -30 18316 a -30 18316 a
-SDict begin H.S end
- -30 18316 a -30 18316 a
-SDict begin 18.2 H.A end
- -30
-18316 a -30 18316 a
-SDict begin [ /View [/XYZ H.V] /Dest (2471) cvn H.B /DEST pdfmark end
- -30 18316 a -30 18316 a
-SDict begin H.S end
- -30 18316
-a -30 18316 a
-SDict begin 18.2 H.A end
- -30 18316 a -30 18316 a
-SDict begin [ /View [/XYZ H.V] /Dest (2473) cvn H.B /DEST pdfmark end
- -30 18316 a -30
-18316 a
-SDict begin H.S end
- -30 18316 a -30 18316 a
-SDict begin 18.2 H.A end
- -30 18316 a -30 18316
-a
-SDict begin [ /View [/XYZ H.V] /Dest (2475) cvn H.B /DEST pdfmark end
- -30 18316 a -30 19091 a
-SDict begin H.S end
- -30 19091 a -30 19091 a
-SDict begin 18.2 H.A end
- -30
-19091 a -30 19091 a
-SDict begin [ /View [/XYZ H.V] /Dest (2477) cvn H.B /DEST pdfmark end
- -30 19091 a 1051 x FU(The)350 b(process)f(of)g
-(booting)g(your)g(Linux)g(system)g(can)h(sometimes)e(be)i(easy)f(and)h
-(sometimes)e(be)-30 22157 y(dif)-39 b(\002cult.)350 b(Man)-23
-b(y)350 b(users)h(install)e(Slackw)-15 b(are)350 b(on)g(their)g
-(computer)g(and)h(that')-85 b(s)350 b(it.)g(The)-23 b(y)350
-b(just)g(turn)-30 24171 y(it)443 b(on)h(and)f(it')-85
-b(s)443 b(ready)h(to)f(use.)h(Othertimes,)f(simply)f(booting)h(the)g
-(machine)h(can)f(be)h(a)f(chore.)-30 26186 y(F)-23 b(or)347
-b(most)g(users,)g(LILO)h(w)-15 b(orks)346 b(best.)i(Slackw)-15
-b(are)346 b(includes)h(LILO)g(and)h(Loadlin)e(for)i(booting)-30
-28201 y(Slackw)-15 b(are)401 b(Linux.)g(LILO)h(will)e(w)-15
-b(ork)401 b(from)h(a)f(hard)h(dri)-39 b(v)-23 b(e)401
-b(partition,)g(a)h(hard)f(dri)-39 b(v)-23 b(e')-85 b(s)401
-b(master)-30 30215 y(boot)437 b(record,)h(or)f(a)g(\003opp)-15
-b(y)436 b(disk,)h(making)g(it)g(a)g(v)-23 b(ery)437 b(v)-23
-b(ersatile)437 b(tool.)g(Loadlin)f(w)-15 b(orks)437 b(from)g(a)-30
-32230 y(DOS)387 b(command)g(line,)g(killing)f(DOS)h(and)h(in)-62
-b(v)-31 b(oking)386 b(Linux.)-30 32566 y
-SDict begin H.S end
- -30 32566 a
--30 32566 a
-SDict begin 18.2 H.A end
- -30 32566 a -30 32566 a
-SDict begin [ /View [/XYZ H.V] /Dest (2478) cvn H.B /DEST pdfmark end
- -30 32566 a -30 33340
-a
-SDict begin H.S end
- -30 33340 a -30 33340 a
-SDict begin 18.2 H.A end
- -30 33340 a -30 33340 a
-SDict begin [ /View [/XYZ H.V] /Dest (2480) cvn H.B /DEST pdfmark end
- -30
-33340 a 1680 x FU(Another)451 b(popular)f(utility)g(for)h(booting)f
-(Linux)h(is)f(GR)-62 b(UB.)451 b(GR)-62 b(UB)450 b(is)h(not)g(included)
-f(or)h(of)-39 b(\002-)-30 37034 y(cially)421 b(supported)f(by)h(Slackw)
--15 b(are.)421 b(Slackw)-15 b(are)420 b(holds)h(to)g(the)34169
-37034 y
-SDict begin H.S end
- 34169 37034 a 34169 37034 a
-SDict begin 18.2 H.A end
- 34169 37034 a 34169
-37034 a
-SDict begin [ /View [/XYZ H.V] /Dest (2481) cvn H.B /DEST pdfmark end
- 34169 37034 a FU(\223tried)g(and)g(true\224)g(standard)g(for)
--30 39049 y(what)544 b(gets)g(included)f(inside)g(the)h(distrib)-31
-b(ution.)543 b(While)h(GR)-62 b(UB)543 b(w)-15 b(orks)543
-b(well)h(and)g(includes)-30 41064 y(some)549 b(features)g(that)g(LILO)g
-(does)g(not,)g(LILO)g(handles)g(all)g(the)g(essential)f(tasks)h(of)g(a)
-g(boot)-30 43078 y(loader)401 b(reliably)f(with)g(a)h(pro)-23
-b(v)g(en)400 b(track)g(record.)h(Being)f(younger)-62
-b(,)401 b(GR)-62 b(UB)400 b(hasn')-28 b(t)400 b(quite)g(li)-39
-b(v)-23 b(ed)-30 45093 y(up)365 b(to)g(that)f(le)-23
-b(g)-8 b(ac)-23 b(y)365 b(yet.)g(As)g(it)g(is)g(not)f(included)h(with)f
-(Slackw)-15 b(are,)365 b(we)g(do)g(not)f(discuss)h(it)f(here.)-30
-47108 y(If)418 b(you)g(wish)f(to)h(use)g(GR)-62 b(UB)417
-b(\(perhaps)h(it)f(came)h(with)g(another)g(Linux)f(OS)g(and)h(you)g(w)
--15 b(ant)417 b(to)-30 49122 y(use)387 b(it)g(to)h(dual-boot\))e
-(consult)h(GR)-62 b(UB')-85 b(s)386 b(documentation.)-30
-50175 y
-SDict begin H.S end
- -30 50175 a -30 50175 a
-SDict begin 18.2 H.A end
- -30 50175 a -30 50175
-a
-SDict begin [ /View [/XYZ H.V] /Dest (2482) cvn H.B /DEST pdfmark end
- -30 50175 a 1737 x FU(This)459 b(section)f(co)-23 b(v)g(ers)459
-b(using)f(LILO)h(and)g(Loadlin,)g(the)g(tw)-15 b(o)459
-b(booters)f(included)h(with)f(Slack-)-30 53926 y(w)-15
-b(are.)538 b(It)g(also)f(e)-23 b(xplains)537 b(some)g(typical)g(dual)g
-(booting)g(scenarios)g(and)h(ho)-39 b(w)537 b(you)h(could)f(go)-30
-55941 y(about)387 b(setting)g(it)g(up.)-30 56277 y
-SDict begin H.S end
- -30
-56277 a -30 56277 a
-SDict begin 18.2 H.A end
- -30 56277 a -30 56277 a
-SDict begin [ /View [/XYZ H.V] /Dest (BOOTING-LILO) cvn H.B /DEST pdfmark
-end
- -30 56277
-a 5789 x FL(7.1)620 b(LILO)-30 62094 y
-SDict begin H.S end
- -30 62094 a -30
-62094 a
-SDict begin 18.2 H.A end
- -30 62094 a -30 62094 a
-SDict begin [ /View [/XYZ H.V] /Dest (2485) cvn H.B /DEST pdfmark end
- -30 62094 a -30 63209
-a
-SDict begin H.S end
- -30 63209 a -30 63209 a
-SDict begin 18.2 H.A end
- -30 63209 a -30 63209 a
-SDict begin [ /View [/XYZ H.V] /Dest (2488) cvn H.B /DEST pdfmark end
- -30
-63209 a 1987 x FU(The)425 b(Linux)f(Loader)-62 b(,)425
-b(or)f(LILO,)h(is)g(the)f(most)g(popular)g(booter)g(in)h(use)f(on)h
-(Linux)f(systems.)g(It)-30 67211 y(is)387 b(quite)g(con\002gurable)g
-(and)g(can)g(easily)g(be)h(used)f(to)g(boot)g(other)g(operating)g
-(systems.)p Black 50226 73672 a FR(89)p Black eop end
-%%Page: 90 112
-TeXDict begin 90 111 bop -8000 -8000 a
-SDict begin /product where{pop product(Distiller)search{pop pop pop
-version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
-closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
-grestore}if}{pop}ifelse}{pop}ifelse}if end
- -8000 -8000 a
-Black 0 TeXcolorgray -30 -1358 a
-SDict begin H.S end
- -30 -1358 a 0 TeXcolorgray
-0 TeXcolorgray -30 -1358 a
-SDict begin H.R end
- -30 -1358 a -30 -1358 a
-SDict begin [ /View [/XYZ H.V] /Dest (page.90) cvn H.B /DEST pdfmark
-end
- -30
--1358 a Black -278 x FR(Chapter)387 b(7)g(Booting)p Black
--30 2383 a
-SDict begin H.S end
- -30 2383 a -30 2383 a
-SDict begin 18.2 H.A end
- -30 2383 a -30 2383
-a
-SDict begin [ /View [/XYZ H.V] /Dest (2489) cvn H.B /DEST pdfmark end
- -30 2383 a 1107 x FU(Slackw)-15 b(are)1192 b(Linux)g(comes)g(with)h
-(a)f(menu-dri)-39 b(v)-23 b(en)1192 b(con\002guration)41986
-3490 y
-SDict begin H.S end
- 41986 3490 a 41986 3490 a
-SDict begin 18.2 H.A end
- 41986 3490 a 41986 3490
-a
-SDict begin [ /View [/XYZ H.V] /Dest (2490) cvn H.B /DEST pdfmark end
- 41986 3490 a 1193 w FU(utility)f(called)-30 5505 y
-SDict begin H.S end
-
--30 5505 a -30 5505 a
-SDict begin 18.2 H.A end
- -30 5505 a -30 5505 a
-SDict begin [ /View [/XYZ H.V] /Dest (2493) cvn H.B /DEST pdfmark end
- -30 5505
-a FP(liloconfig)p FU(.)436 b(This)h(program)f(is)h(\002rst)f(run)h
-(during)f(the)h(setup)g(process,)g(b)-31 b(ut)436 b(you)h(can)g(in)-62
-b(v)-31 b(ok)-15 b(e)-30 7520 y(it)387 b(later)g(by)h(typing)10646
-7520 y
-SDict begin H.S end
- 10646 7520 a 10646 7520 a
-SDict begin 18.2 H.A end
- 10646 7520 a 10646 7520
-a
-SDict begin [ /View [/XYZ H.V] /Dest (2494) cvn H.B /DEST pdfmark end
- 10646 7520 a FP(liloconfig)e FU(at)i(the)f(prompt.)-30
-8630 y
-SDict begin H.S end
- -30 8630 a -30 8630 a
-SDict begin 18.2 H.A end
- -30 8630 a -30 8630 a
-SDict begin [ /View [/XYZ H.V] /Dest (2495) cvn H.B /DEST pdfmark end
- -30
-8630 a 1679 x FU(LILO)340 b(reads)g(its)g(settings)f(from)h(the)19917
-10309 y
-SDict begin H.S end
- 19917 10309 a 19917 10309 a
-SDict begin 18.2 H.A end
- 19917 10309 a 19917
-10309 a
-SDict begin [ /View [/XYZ H.V] /Dest (2496) cvn H.B /DEST pdfmark end
- 19917 10309 a FP(/etc/lilo.conf)p FU(\(5\))f(\002le.)h(It)g(is)
-g(not)g(read)g(each)h(time)e(you)-30 12324 y(boot)385
-b(up,)g(b)-31 b(ut)385 b(instead)g(is)g(read)h(each)f(time)g(you)g
-(install)f(LILO.)i(LILO)f(must)f(be)i(reinstalled)e(to)-30
-14338 y(the)336 b(boot)g(sector)h(each)f(time)g(you)g(mak)-15
-b(e)336 b(a)h(con\002guration)e(change.)i(Man)-23 b(y)335
-b(LILO)i(errors)f(come)-30 16353 y(from)488 b(making)f(changes)g(to)g
-(the)18162 16353 y
-SDict begin H.S end
- 18162 16353 a 18162 16353 a
-SDict begin 18.2 H.A end
- 18162
-16353 a 18162 16353 a
-SDict begin [ /View [/XYZ H.V] /Dest (2497) cvn H.B /DEST pdfmark end
- 18162 16353 a FQ(lilo.conf)482
-b FU(\002le,)488 b(b)-31 b(ut)487 b(f)-15 b(ailing)487
-b(to)g(re-run)h(lilo)f(to)g(install)g(these)-30 18368
-y(changes.)5682 18368 y
-SDict begin H.S end
- 5682 18368 a 5682 18368 a
-SDict begin 18.2 H.A end
- 5682
-18368 a 5682 18368 a
-SDict begin [ /View [/XYZ H.V] /Dest (2498) cvn H.B /DEST pdfmark end
- 5682 18368 a FP(liloconfig)331 b
-FU(will)h(help)g(you)g(b)-31 b(uild)332 b(the)g(con\002guration)f
-(\002le)h(so)g(that)g(you)g(can)h(install)-30 20382 y(LILO)384
-b(for)f(your)h(system.)f(If)h(you)g(prefer)g(to)f(edit)26879
-20382 y
-SDict begin H.S end
- 26879 20382 a 26879 20382 a
-SDict begin 18.2 H.A end
- 26879 20382 a 26879
-20382 a
-SDict begin [ /View [/XYZ H.V] /Dest (2499) cvn H.B /DEST pdfmark end
- 26879 20382 a FQ(/etc/lilo.conf)375 b FU(by)384
-b(hand,)g(then)f(reinstalling)-30 22397 y(LILO)k(just)g(in)-62
-b(v)-31 b(olv)-23 b(es)386 b(typing)16385 22397 y
-SDict begin H.S end
- 16385
-22397 a 16385 22397 a
-SDict begin 18.2 H.A end
- 16385 22397 a 16385 22397 a
-SDict begin [ /View [/XYZ H.V] /Dest (2500) cvn H.B /DEST pdfmark end
- 16385
-22397 a FP(/sbin/lilo)g FU(\(as)26406 22397 y
-SDict begin H.S end
- 26406 22397
-a 26406 22397 a
-SDict begin 18.2 H.A end
- 26406 22397 a 26406 22397 a
-SDict begin [ /View [/XYZ H.V] /Dest (2501) cvn H.B /DEST pdfmark end
- 26406 22397
-a FP(root)p FU(\))h(at)g(the)g(prompt.)-30 23507 y
-SDict begin H.S end
- -30
-23507 a -30 23507 a
-SDict begin 18.2 H.A end
- -30 23507 a -30 23507 a
-SDict begin [ /View [/XYZ H.V] /Dest (2502) cvn H.B /DEST pdfmark end
- -30 23507
-a 1680 x FU(When)g(you)g(\002rst)g(in)-62 b(v)-31 b(ok)-15
-b(e)14067 25187 y
-SDict begin H.S end
- 14067 25187 a 14067 25187 a
-SDict begin 18.2 H.A end
- 14067 25187
-a 14067 25187 a
-SDict begin [ /View [/XYZ H.V] /Dest (2503) cvn H.B /DEST pdfmark end
- 14067 25187 a FP(liloconfig)p FU(,)386
-b(it)h(will)g(look)g(lik)-15 b(e)386 b(this:)-30 25522
-y
-SDict begin H.S end
- -30 25522 a -30 25522 a
-SDict begin 18.2 H.A end
- -30 25522 a -30 25522 a
-SDict begin [ /View [/XYZ H.V] /Dest (BOOTING-SETUP-LILO) cvn H.B /DEST
-pdfmark end
- -30
-25522 a 4004 x FX(Figur)-28 b(e)387 b(7-1.)h FV(lilocon\002g)-30
-31392 y
-SDict begin H.S end
- -30 31392 a -30 31392 a
-SDict begin 18.2 H.A end
- -30 31392 a -30 31392
-a
-SDict begin [ /View [/XYZ H.V] /Dest (2507) cvn H.B /DEST pdfmark end
- -30 31392 a -30 57389 a
- currentpoint currentpoint translate 1 1 scale neg exch neg exch translate
- -30 57389 a @beginspecial 21
-@llx 60 @lly 419 @urx 287 @ury 3980 @rwi @setspecial
-%%BeginDocument: booting/setup-lilo.eps
-%!PS-Adobe-2.0 EPSF-1.2
-%%BoundingBox: 21 60 419 287
-
-/Outterbox
-{ newpath moveto
-0 221 rlineto
-138 0 rlineto
-23 61 moveto
-395 0 rlineto
-0 221 rlineto
--170 0 rlineto
-23 87 moveto
-395 0 rlineto
-closepath } def
-
-/Innerbox
-{ moveto
-372 0 rlineto
-0 52 rlineto
--372 0 rlineto
-closepath} def
-
-/TitleFont
-{ /Helvetica findfont 12 scalefont setfont
-moveto } def
-
-/PanelFont
-{ /Helvetica findfont 12 scalefont setfont
-moveto } def
-
-/ContentFont
-{ /Helvetica findfont 12 scalefont setfont
-moveto } def
-
-/ButtonFont
-{ /Helvetica findfont 11 scalefont setfont
-moveto } def
-
-23 61 Outterbox
-34 100 Innerbox
-
-165 277 TitleFont(INSTALL LILO) show
-
-34 265 PanelFont (LILO (Linux Loader) is a generic boot loader. There's a simple) show
-34 252 PanelFont (installation which tries to automatically set up LILO to boot) show
-34 239 PanelFont (Linux (also DOS/Windows if found). For more advanced users,) show
-34 226 PanelFont (the expert option offers more control over the installation) show
-34 213 PanelFont (process. Since LILO does not work in all cases \(and can damage) show
-34 200 PanelFont (partitions if incorrectly installed\), there's the third (safe)) show
-34 187 PanelFont (option, which is to skip installing LILO for now. You can) show
-34 174 PanelFont (always install it later with the 'liloconfig' command. Which) show
-34 160 PanelFont (option would you like?) show
-
-98 137 ContentFont (simple) show
-98 122 ContentFont (expert) show
-98 109 ContentFont (skip) show
-
-140 137 ContentFont (Try to install LILO automatically) show
-140 122 ContentFont (Use expert lilo.conf setup menu) show
-140 109 ContentFont (Do not install LILO) show
-
-123 71 ButtonFont (< OK >) show
-237 71 ButtonFont (< Cancel >) show
-
-stroke
-showpage
-%%EOF
-
-%%EndDocument
- @endspecial -30 57389 a
- currentpoint currentpoint translate 1 1 div 1 1 div scale neg exch
-neg exch translate
- -30 57389 a -30 58939 a
-SDict begin H.S end
- -30
-58939 a -30 58939 a
-SDict begin 18.2 H.A end
- -30 58939 a -30 58939 a
-SDict begin [ /View [/XYZ H.V] /Dest (2510) cvn H.B /DEST pdfmark end
- -30 58939
-a 2014 x FU(If)512 b(this)f(is)h(your)f(\002rst)g(time)h(setting)f(up)g
-(LILO,)h(you)g(should)f(pick)g(simple.)h(Otherwise,)f(you)-30
-62968 y(might)528 b(\002nd)f(e)-23 b(xpert)528 b(to)h(be)f(f)-15
-b(aster)528 b(if)g(you)g(are)h(f)-15 b(amiliar)527 b(with)h(LILO)g(and)
-h(Linux.)f(Selecting)-30 64983 y(simple)387 b(will)f(be)-23
-b(gin)387 b(the)g(LILO)h(con\002guration.)-30 66093 y
-SDict begin H.S end
-
--30 66093 a -30 66093 a
-SDict begin 18.2 H.A end
- -30 66093 a -30 66093 a
-SDict begin [ /View [/XYZ H.V] /Dest (2511) cvn H.B /DEST pdfmark end
- -30 66093
-a 1679 x FU(If)517 b(k)-15 b(ernel)517 b(frame)g(b)-31
-b(uf)-39 b(fer)517 b(support)g(is)f(compiled)g(into)h(your)g(k)-15
-b(ernel,)38309 67772 y
-SDict begin H.S end
- 38309 67772 a 38309 67772 a
-SDict begin 18.2 H.A end
- 38309
-67772 a 38309 67772 a
-SDict begin [ /View [/XYZ H.V] /Dest (2512) cvn H.B /DEST pdfmark end
- 38309 67772 a 38826 67772 a
-SDict begin H.S end
- 38826
-67772 a 38826 67772 a
-SDict begin 18.2 H.A end
- 38826 67772 a 38826 67772 a
-SDict begin [ /View [/XYZ H.V] /Dest (2515) cvn H.B /DEST pdfmark end
- 38826
-67772 a FP(liloconfig)516 b FU(will)g(ask)p Black -30
-73672 a FR(90)p Black eop end
-%%Page: 91 113
-TeXDict begin 91 112 bop -8000 -8000 a
-SDict begin /product where{pop product(Distiller)search{pop pop pop
-version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
-closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
-grestore}if}{pop}ifelse}{pop}ifelse}if end
- -8000 -8000 a
-Black 0 TeXcolorgray -30 -1237 a
-SDict begin H.S end
- -30 -1237 a 0 TeXcolorgray
-0 TeXcolorgray -30 -1237 a
-SDict begin H.R end
- -30 -1237 a -30 -1237 a
-SDict begin [ /View [/XYZ H.V] /Dest (page.91) cvn H.B /DEST pdfmark
-end
- -30
--1237 a Black 40238 -1636 a FR(Chapter)387 b(7)g(Booting)p
-Black -30 3611 a FU(which)376 b(video)g(resolution)f(you)i(w)-15
-b(ould)375 b(lik)-15 b(e)375 b(to)i(use.)f(This)g(is)g(the)h
-(resolution)e(that)h(is)g(also)g(used)-30 5626 y(by)327
-b(the)g(XFree86)g(frame)g(b)-31 b(uf)-39 b(fer)328 b(serv)-23
-b(er)-85 b(.)327 b(If)g(you)g(do)g(not)g(w)-15 b(ant)326
-b(the)h(console)g(to)g(run)g(in)g(a)g(special)-30 7640
-y(video)387 b(mode,)g(selecting)g(normal)g(will)g(k)-15
-b(eep)387 b(the)g(standard)g(80x25)f(te)-23 b(xt)387
-b(mode)g(in)g(use.)-30 8751 y
-SDict begin H.S end
- -30 8751 a -30 8751 a
-SDict begin 18.2 H.A end
- -30
-8751 a -30 8751 a
-SDict begin [ /View [/XYZ H.V] /Dest (2516) cvn H.B /DEST pdfmark end
- -30 8751 a 1679 x FU(The)318 b(ne)-23
-b(xt)318 b(part)g(of)g(the)g(LILO)g(con\002guration)f(is)h(selecting)f
-(where)i(you)e(w)-15 b(ant)318 b(it)g(installed.)f(This)-30
-12445 y(is)387 b(probably)g(the)g(most)g(important)f(step.)i(The)f
-(list)g(belo)-39 b(w)387 b(e)-23 b(xplains)386 b(the)h(installation)f
-(places:)-30 12780 y
-SDict begin H.S end
- -30 12780 a -30 12780 a
-SDict begin 18.2 H.A end
- -30 12780
-a -30 12780 a
-SDict begin [ /View [/XYZ H.V] /Dest (2517) cvn H.B /DEST pdfmark end
- -30 12780 a -30 15105 a
-SDict begin H.S end
- -30 15105 a -30
-15105 a
-SDict begin 18.2 H.A end
- -30 15105 a -30 15105 a
-SDict begin [ /View [/XYZ H.V] /Dest (2519) cvn H.B /DEST pdfmark end
- -30 15105 a -30 15105
-a
-SDict begin H.S end
- -30 15105 a -30 15105 a
-SDict begin 18.2 H.A end
- -30 15105 a -30 15105 a
-SDict begin [ /View [/XYZ H.V] /Dest (2520) cvn H.B /DEST pdfmark end
- -30
-15105 a 1679 x FP(Root)-30 16810 y
-SDict begin H.S end
- -30 16810 a -30 16810
-a
-SDict begin 18.2 H.A end
- -30 16810 a -30 16810 a
-SDict begin [ /View [/XYZ H.V] /Dest (2521) cvn H.B /DEST pdfmark end
- -30 16810 a Black Black 3070
-19573 a
-SDict begin H.S end
- 3070 19573 a 3070 19573 a
-SDict begin 18.2 H.A end
- 3070 19573 a 3070 19573
-a
-SDict begin [ /View [/XYZ H.V] /Dest (2522) cvn H.B /DEST pdfmark end
- 3070 19573 a FU(This)g(option)h(installs)f(LILO)h(to)g(the)g(be)-23
-b(ginning)386 b(of)h(your)g(Linux)g(root)g(partition.)f(This)h(is)3070
-21588 y(the)443 b(safest)f(option)h(if)g(you)g(ha)-31
-b(v)-23 b(e)443 b(other)f(operating)h(systems)f(on)h(your)g(computer)
--85 b(.)443 b(It)g(en-)3070 23603 y(sures)377 b(that)g(an)-23
-b(y)376 b(other)i(booters)e(are)i(not)f(o)-23 b(v)g(erwritten.)376
-b(The)h(disadv)-39 b(antage)377 b(is)g(that)g(LILO)3070
-25617 y(will)468 b(only)g(load)h(from)f(here)h(if)g(your)g(Linux)f(dri)
--39 b(v)-23 b(e)469 b(is)f(the)h(\002rst)f(dri)-39 b(v)-23
-b(e)469 b(on)g(your)f(system.)3070 27632 y(This)367 b(is)g(wh)-8
-b(y)367 b(man)-23 b(y)367 b(people)g(chose)h(to)f(create)h(a)g(v)-23
-b(ery)367 b(small)36326 27632 y
-SDict begin H.S end
- 36326 27632 a 36326 27632
-a
-SDict begin 18.2 H.A end
- 36326 27632 a 36326 27632 a
-SDict begin [ /View [/XYZ H.V] /Dest (2523) cvn H.B /DEST pdfmark end
- 36326 27632 a FQ(/boot)d
-FU(partition)j(as)g(the)g(\002rst)3070 29647 y(dri)-39
-b(v)-23 b(e)520 b(on)g(their)g(system.)g(This)g(allo)-39
-b(ws)520 b(the)g(k)-15 b(ernel)520 b(and)h(LILO)f(to)g(be)g(installed)g
-(at)g(the)3070 31661 y(be)-23 b(ginning)458 b(of)h(the)g(dri)-39
-b(v)-23 b(e)459 b(where)g(LILO)g(can)h(\002nd)f(them.)g(Pre)-39
-b(vious)458 b(v)-23 b(ersions)459 b(of)g(LILO)3070 33676
-y(contained)384 b(an)h(inf)-15 b(amous)383 b(\003a)-23
-b(w)385 b(kno)-39 b(wn)384 b(as)h(the)29015 33676 y
-SDict begin H.S end
- 29015
-33676 a 29015 33676 a
-SDict begin 18.2 H.A end
- 29015 33676 a 29015 33676 a
-SDict begin [ /View [/XYZ H.V] /Dest (2524) cvn H.B /DEST pdfmark end
- 29015
-33676 a FU(\2231024)f(c)-23 b(ylinder)385 b(limit\224.)f(LILO)h(w)-15
-b(as)384 b(un-)3070 35691 y(able)478 b(to)g(boot)g(k)-15
-b(ernels)478 b(on)g(partitions)g(past)g(the)g(1024th)g(c)-23
-b(ylinder)-85 b(.)478 b(Recent)g(editions)g(of)3070 37705
-y(LILO)387 b(ha)-31 b(v)-23 b(e)387 b(eliminated)f(this)h(problem.)-30
-39591 y
-SDict begin H.S end
- -30 39591 a -30 39591 a
-SDict begin 18.2 H.A end
- -30 39591 a -30 39591
-a
-SDict begin [ /View [/XYZ H.V] /Dest (2526) cvn H.B /DEST pdfmark end
- -30 39591 a -30 39591 a
-SDict begin H.S end
- -30 39591 a -30 39591 a
-SDict begin 18.2 H.A end
- -30
-39591 a -30 39591 a
-SDict begin [ /View [/XYZ H.V] /Dest (2527) cvn H.B /DEST pdfmark end
- -30 39591 a 1679 x FP(Floppy)-30
-41465 y
-SDict begin H.S end
- -30 41465 a -30 41465 a
-SDict begin 18.2 H.A end
- -30 41465 a -30 41465
-a
-SDict begin [ /View [/XYZ H.V] /Dest (2528) cvn H.B /DEST pdfmark end
- -30 41465 a Black Black 3070 44059 a
-SDict begin H.S end
- 3070 44059 a 3070
-44059 a
-SDict begin 18.2 H.A end
- 3070 44059 a 3070 44059 a
-SDict begin [ /View [/XYZ H.V] /Dest (2529) cvn H.B /DEST pdfmark end
- 3070 44059 a FU(This)462
-b(method)g(is)h(e)-39 b(v)-23 b(en)463 b(safer)g(than)f(the)h(pre)-39
-b(vious)462 b(one.)i(It)35445 44059 y
-SDict begin H.S end
- 35445 44059 a 35445
-44059 a
-SDict begin 18.2 H.A end
- 35445 44059 a 35445 44059 a
-SDict begin [ /View [/XYZ H.V] /Dest (2530) cvn H.B /DEST pdfmark end
- 35445 44059 a 463
-w FU(creates)f(a)g(boot)g(\003opp)-15 b(y)461 b(that)3070
-46074 y(you)601 b(can)i(use)f(to)f(boot)h(your)g(Linux)f(system.)h
-(This)g(k)-15 b(eeps)601 b(the)h(booter)g(of)-39 b(f)602
-b(the)g(hard)3070 48089 y(disk)532 b(entirely)-101 b(,)533
-b(so)f(you)h(only)f(boot)g(this)h(\003opp)-15 b(y)531
-b(when)i(you)f(w)-15 b(ant)532 b(to)h(use)f(Slackw)-15
-b(are.)3070 50103 y(The)417 b(\003a)-23 b(ws)416 b(with)h(this)f
-(method)g(are)i(ob)-23 b(vious.)416 b(Floppies)g(are)h(notoriously)f
-(\002ckle,)h(prone)3070 52118 y(to)611 b(f)-15 b(ailures.)611
-b(Secondly)-101 b(,)611 b(the)h(boot)f(loader)g(is)g(no)h(longer)f
-(self-contained)f(within)h(the)3070 54133 y(computer)-85
-b(.)495 b(If)i(you)f(loose)f(your)h(\003opp)-15 b(y)495
-b(disk,)h(you')-15 b(ll)495 b(ha)-31 b(v)-23 b(e)496
-b(to)g(mak)-15 b(e)496 b(another)f(to)h(boot)3070 56147
-y(your)387 b(system.)-30 58033 y
-SDict begin H.S end
- -30 58033 a -30 58033
-a
-SDict begin 18.2 H.A end
- -30 58033 a -30 58033 a
-SDict begin [ /View [/XYZ H.V] /Dest (2533) cvn H.B /DEST pdfmark end
- -30 58033 a -30 58033 a
-SDict begin H.S end
- -30
-58033 a -30 58033 a
-SDict begin 18.2 H.A end
- -30 58033 a -30 58033 a
-SDict begin [ /View [/XYZ H.V] /Dest (2534) cvn H.B /DEST pdfmark end
- -30 58033
-a 1679 x FP(MBR)-30 59712 y
-SDict begin H.S end
- -30 59712 a -30 59712 a
-SDict begin 18.2 H.A end
- -30
-59712 a -30 59712 a
-SDict begin [ /View [/XYZ H.V] /Dest (2535) cvn H.B /DEST pdfmark end
- -30 59712 a Black Black 3070 62501
-a
-SDict begin H.S end
- 3070 62501 a 3070 62501 a
-SDict begin 18.2 H.A end
- 3070 62501 a 3070 62501 a
-SDict begin [ /View [/XYZ H.V] /Dest (2536) cvn H.B /DEST pdfmark end
-
-3070 62501 a FU(Y)-170 b(ou)569 b(will)g(w)-15 b(ant)570
-b(to)g(use)g(this)f(method)h(if)g(Slackw)-15 b(are)569
-b(is)h(the)g(only)f(operating)h(system)3070 64516 y(on)536
-b(your)g(computer)-62 b(,)536 b(or)g(if)h(you)f(will)g(be)g(using)g
-(LILO)g(to)g(choose)g(between)g(multiple)3070 66531 y(operating)596
-b(systems)g(on)h(your)g(computer)-85 b(.)596 b(This)h(is)f(the)h(most)f
-(preferred)i(method)e(for)p Black 50226 73792 a FR(91)p
-Black eop end
-%%Page: 92 114
-TeXDict begin 92 113 bop -8000 -8000 a
-SDict begin /product where{pop product(Distiller)search{pop pop pop
-version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
-closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
-grestore}if}{pop}ifelse}{pop}ifelse}if end
- -8000 -8000 a
-Black 0 TeXcolorgray -30 -1237 a
-SDict begin H.S end
- -30 -1237 a 0 TeXcolorgray
-0 TeXcolorgray -30 -1237 a
-SDict begin H.R end
- -30 -1237 a -30 -1237 a
-SDict begin [ /View [/XYZ H.V] /Dest (page.92) cvn H.B /DEST pdfmark
-end
- -30
--1237 a Black -30 -2687 a
-SDict begin H.S end
- -30 -2687 a -30 -2687 a
-SDict begin 18.2 H.A end
- -30
--2687 a -30 -2687 a
-SDict begin [ /View [/XYZ H.V] /Dest (BOOTING-LOADLIN) cvn H.B /DEST
-pdfmark end
- -30 -2687 a 1051 x FR(Chapter)387
-b(7)g(Booting)p Black 3070 3611 a FU(installing)f(LILO)h(and)g(will)g
-(w)-15 b(ork)387 b(with)f(almost)h(an)-23 b(y)387 b(computer)g(system.)
--30 3947 y
-SDict begin H.S end
- -30 3947 a -30 3947 a
-SDict begin 16.9 H.A end
- -30 3947 a -30 3947
-a
-SDict begin [ /View [/XYZ H.V] /Dest (2537) cvn H.B /DEST pdfmark end
- -30 3947 a -30 6271 a
-SDict begin H.S end
- -30 6271 a -30 6271 a
-SDict begin 16.9 H.A end
- -30 6271
-a -30 6271 a
-SDict begin [ /View [/XYZ H.V] /Dest (2538) cvn H.B /DEST pdfmark end
- -30 6271 a 6169 7806 a Fu(W)-58 b(arning:)626
-b Ft(This)f(option)h(will)f(o)-22 b(v)-36 b(erwr)22 b(ite)626
-b(an)-22 b(y)624 b(other)h(booter)h(y)-29 b(ou)624 b(ha)-29
-b(v)-36 b(e)625 b(in)g(the)6169 9677 y(MBR.)-30 16806
-y
-SDict begin H.S end
- -30 16806 a -30 16806 a
-SDict begin 18.2 H.A end
- -30 16806 a -30 16806 a
-SDict begin [ /View [/XYZ H.V] /Dest (2539) cvn H.B /DEST pdfmark end
- -30
-16806 a 2015 x FU(After)369 b(selecting)f(the)h(installation)e
-(location,)24757 18821 y
-SDict begin H.S end
- 24757 18821 a 24757 18821 a
-SDict begin 18.2 H.A end
-
-24757 18821 a 24757 18821 a
-SDict begin [ /View [/XYZ H.V] /Dest (2540) cvn H.B /DEST pdfmark end
- 24757 18821 a FP(liloconfig)h
-FU(will)g(write)h(the)g(con\002guration)e(\002le)-30
-20835 y(and)435 b(install)f(LILO.)i(That')-85 b(s)434
-b(it.)h(If)h(you)e(select)h(the)g(e)-23 b(xpert)435 b(mode)g(you)f
-(will)h(recei)-39 b(v)-23 b(e)435 b(a)g(special)-30 22850
-y(menu.)519 b(This)g(menu)g(allo)-39 b(ws)518 b(you)h(to)g(tweak)g(the)
-27286 22850 y
-SDict begin H.S end
- 27286 22850 a 27286 22850 a
-SDict begin 18.2 H.A end
- 27286 22850
-a 27286 22850 a
-SDict begin [ /View [/XYZ H.V] /Dest (2541) cvn H.B /DEST pdfmark end
- 27286 22850 a FQ(/etc/lilo.conf)510 b
-FU(\002le,)520 b(add)f(other)g(operating)-30 24865 y(systems)433
-b(to)g(your)g(boot)g(menu,)g(and)g(set)h(LILO)f(to)g(pass)g(special)g
-(k)-15 b(ernel)433 b(parameters)g(at)g(boot)-30 26879
-y(time.)387 b(The)h(e)-23 b(xpert)387 b(menu)g(looks)f(lik)-15
-b(e)387 b(this:)-30 27215 y
-SDict begin H.S end
- -30 27215 a -30 27215 a
-SDict begin 18.2 H.A end
- -30
-27215 a -30 27215 a
-SDict begin [ /View [/XYZ H.V] /Dest (BOOTING-LILO-EXPERT) cvn H.B
-/DEST pdfmark end
- -30 27215 a 4004 x FX(Figur)-28 b(e)387
-b(7-2.)h FV(lilocon\002g)e FX(Expert)g(Menu)-30 33085
-y
-SDict begin H.S end
- -30 33085 a -30 33085 a
-SDict begin 18.2 H.A end
- -30 33085 a -30 33085 a
-SDict begin [ /View [/XYZ H.V] /Dest (2545) cvn H.B /DEST pdfmark end
- -30
-33085 a -30 63415 a
- currentpoint currentpoint translate 1 1 scale neg exch neg exch translate
- -30 63415 a @beginspecial 22 @llx
-60 @lly 455 @urx 326 @ury 4330 @rwi @setspecial
-%%BeginDocument: booting/setup-lilo-expert.eps
-%!PS-Adobe-2.0 EPSF-1.2
-%%BoundingBox: 22 60 455 326
-
-/Outterbox
-{ newpath moveto
-0 259 rlineto
-118 0 rlineto
-23 61 moveto
-431 0 rlineto
-0 259 rlineto
--145 0 rlineto
-23 87 moveto
-431 0 rlineto
-closepath } def
-
-/Innerbox
-{ moveto
-408 0 rlineto
-0 116 rlineto
--408 0 rlineto
-closepath} def
-
-/TitleFont
-{ /Helvetica findfont 12 scalefont setfont
-moveto } def
-
-/PanelFont
-{ /Helvetica findfont 12 scalefont setfont
-moveto } def
-
-/ContentFont
-{ /Helvetica findfont 12 scalefont setfont
-moveto } def
-
-/ButtonFont
-{ /Helvetica findfont 11 scalefont setfont
-moveto } def
-
-23 61 Outterbox
-34 100 Innerbox
-
-143 317 TitleFont(EXPERT LILO INSTALLATION) show
-
-34 306 PanelFont (This menu directs the creation of the LILO config file, lilo.conf. To) show
-34 292 PanelFont (install, you make a new LILO configuration file by creating a new) show
-34 278 PanelFont (header and then adding one or more bootable partitions to the file.) show
-34 264 PanelFont (Once you've done this, you can select the install option.) show
-34 250 PanelFont (Alternately, if you already have an /etc/lilo.conf, you may reinstall) show
-34 236 PanelFont (using that. If you make a mistake, you can always start over by) show
-34 222 PanelFont (choosing 'Begin'. Which option would you like?) show
-
-58 204 ContentFont (Begin) show
-58 190 ContentFont (Linux) show
-58 176 ContentFont (DOS) show
-58 162 ContentFont (Install) show
-58 148 ContentFont (Recycle) show
-58 134 ContentFont (Skip) show
-58 120 ContentFont (View) show
-58 106 ContentFont (Help) show
-
-108 204 ContentFont (Start LILO configuration with a new LILO header) show
-108 190 ContentFont (Add a Linux partition to the LILO config) show
-108 176 ContentFont (Add a DOS/Windows FAT partition to the LILO config) show
-108 162 ContentFont (Install LILO) show
-108 148 ContentFont (Reinstall LILO using the existing lilo.conf) show
-108 134 ContentFont (Skip LILO installation and exit this menu) show
-108 120 ContentFont (View your current /etc/lilo.conf) show
-108 106 ContentFont (Read the Linux Loader HELP file) show
-
-175 71 ButtonFont (< OK >) show
-265 71 ButtonFont (< Cancel >) show
-
-stroke
-showpage
-%%EOF
-
-%%EndDocument
- @endspecial -30 63415 a
- currentpoint currentpoint translate 1 1 div 1 1 div scale neg exch
-neg exch translate
- -30 63415 a -30 64965 a
-SDict begin H.S end
- -30
-64965 a -30 64965 a
-SDict begin 18.2 H.A end
- -30 64965 a -30 64965 a
-SDict begin [ /View [/XYZ H.V] /Dest (2548) cvn H.B /DEST pdfmark end
- -30 64965
-a 2014 x FU(Whate)-39 b(v)-23 b(er)566 b(your)f(system)g
-(con\002guration)g(is,)g(setting)g(up)h(a)g(w)-15 b(orking)564
-b(boot)h(loader)h(is)f(easy)-101 b(.)p Black -30 73792
-a FR(92)p Black eop end
-%%Page: 93 115
-TeXDict begin 93 114 bop -8000 -8000 a
-SDict begin /product where{pop product(Distiller)search{pop pop pop
-version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
-closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
-grestore}if}{pop}ifelse}{pop}ifelse}if end
- -8000 -8000 a
-Black 0 TeXcolorgray -30 -1237 a
-SDict begin H.S end
- -30 -1237 a 0 TeXcolorgray
-0 TeXcolorgray -30 -1237 a
-SDict begin H.R end
- -30 -1237 a -30 -1237 a
-SDict begin [ /View [/XYZ H.V] /Dest (page.93) cvn H.B /DEST pdfmark
-end
- -30
--1237 a Black 40238 -1636 a FR(Chapter)387 b(7)g(Booting)p
-Black -30 3611 a
-SDict begin H.S end
- -30 3611 a -30 3611 a
-SDict begin 18.2 H.A end
- -30 3611 a -30
-3611 a
-SDict begin [ /View [/XYZ H.V] /Dest (2549) cvn H.B /DEST pdfmark end
- -30 3611 a FP(liloconfig)f FU(mak)-15 b(es)387
-b(setting)f(it)h(up)h(a)f(cinch.)-30 4721 y
-SDict begin H.S end
- -30 4721
-a -30 4721 a
-SDict begin 18.2 H.A end
- -30 4721 a -30 4721 a
-SDict begin [ /View [/XYZ H.V] /Dest (BOOTING-LOADLIN) cvn H.B /DEST
-pdfmark end
- -30 4721 a 5790 x
-FL(7.2)620 b(LO)-112 b(ADLIN)-30 11654 y
-SDict begin H.S end
- -30 11654 a
--30 11654 a
-SDict begin 18.2 H.A end
- -30 11654 a -30 11654 a
-SDict begin [ /View [/XYZ H.V] /Dest (2552) cvn H.B /DEST pdfmark end
- -30 11654 a 1987
-x FU(The)443 b(other)g(booting)e(option)i(that)f(comes)h(with)f(Slackw)
--15 b(are)442 b(Linux)g(is)38906 13641 y
-SDict begin H.S end
- 38906 13641
-a 38906 13641 a
-SDict begin 18.2 H.A end
- 38906 13641 a 38906 13641 a
-SDict begin [ /View [/XYZ H.V] /Dest (2553) cvn H.B /DEST pdfmark end
- 38906 13641
-a 443 w FU(LO)-54 b(ADLIN.)442 b(LO)-54 b(AD-)-30 15656
-y(LIN)322 b(is)g(a)g(DOS)f(e)-23 b(x)g(ecutable)321 b(that)h(can)g(be)g
-(used)g(to)g(start)f(Linux)h(from)f(a)i(running)e(DOS)g(system.)-30
-17670 y(It)440 b(requires)f(the)h(Linux)f(k)-15 b(ernel)439
-b(to)h(be)f(on)h(the)f(DOS)h(partition)e(so)i(that)f(LO)-54
-b(ADLIN)439 b(can)h(load)-30 19685 y(it)387 b(and)g(properly)g(boot)g
-(the)g(system.)-30 20795 y
-SDict begin H.S end
- -30 20795 a -30 20795 a
-SDict begin 18.2 H.A end
- -30
-20795 a -30 20795 a
-SDict begin [ /View [/XYZ H.V] /Dest (2555) cvn H.B /DEST pdfmark end
- -30 20795 a 1680 x FU(During)453
-b(the)g(installation)f(process,)h(LO)-54 b(ADLIN)453
-b(will)g(be)g(copied)g(to)g(root')-85 b(s)452 b(home)h(directory)-30
-24489 y(as)430 b(a)g(.ZIP)g(\002le.)g(There)h(is)e(no)h(automatic)f
-(setup)h(process)g(for)g(LO)-54 b(ADLIN.)429 b(Y)-170
-b(ou)430 b(will)f(need)h(to)-30 26504 y(cop)-15 b(y)478
-b(the)h(Linux)g(k)-15 b(ernel)478 b(\(typically)20756
-26504 y
-SDict begin H.S end
- 20756 26504 a 20756 26504 a
-SDict begin 18.2 H.A end
- 20756 26504 a 20756
-26504 a
-SDict begin [ /View [/XYZ H.V] /Dest (2556) cvn H.B /DEST pdfmark end
- 20756 26504 a FQ(/boot/vmlinuz)p FU(\))471 b(and)479
-b(the)g(LO)-54 b(ADLIN)478 b(\002le)h(from)g(root')-85
-b(s)-30 28519 y(home)387 b(directory)g(to)g(the)g(DOS)g(partition.)-30
-29629 y
-SDict begin H.S end
- -30 29629 a -30 29629 a
-SDict begin 18.2 H.A end
- -30 29629 a -30 29629
-a
-SDict begin [ /View [/XYZ H.V] /Dest (2557) cvn H.B /DEST pdfmark end
- -30 29629 a 1679 x FU(LO)-54 b(ADLIN)409 b(is)h(useful)g(if)g(you)f
-(w)-15 b(ould)409 b(lik)-15 b(e)409 b(to)h(mak)-15 b(e)409
-b(a)h(boot)g(menu)f(on)h(your)g(DOS)f(partition.)-30
-33323 y(A)488 b(menu)g(could)g(be)h(added)f(to)g(your)20605
-33323 y
-SDict begin H.S end
- 20605 33323 a 20605 33323 a
-SDict begin 18.2 H.A end
- 20605 33323 a 20605
-33323 a
-SDict begin [ /View [/XYZ H.V] /Dest (2558) cvn H.B /DEST pdfmark end
- 20605 33323 a FQ(AUTOEXEC.BAT)481 b FU(\002le)488
-b(that)g(w)-15 b(ould)487 b(allo)-39 b(w)489 b(you)f(to)g(pick)g(be-)
--30 35337 y(tween)474 b(Linux)g(or)g(DOS.)g(A)g(choice)g(of)g(Linux)f
-(w)-15 b(ould)474 b(run)g(LO)-54 b(ADLIN,)473 b(thus)h(booting)f(your)
--30 37352 y(Slackw)-15 b(are)360 b(system.)f(This)14938
-37352 y
-SDict begin H.S end
- 14938 37352 a 14938 37352 a
-SDict begin 18.2 H.A end
- 14938 37352 a 14938
-37352 a
-SDict begin [ /View [/XYZ H.V] /Dest (2559) cvn H.B /DEST pdfmark end
- 14938 37352 a FQ(AUTOEXEC.BAT)353 b FU(\002le)360
-b(under)g(W)-62 b(indo)-39 b(ws)360 b(95)g(will)g(pro)-23
-b(vide)359 b(a)i(suf)-39 b(\002cient)-30 39367 y(boot)387
-b(menu:)-30 40932 y
-SDict begin H.S end
- -30 40932 a -30 40932 a
-SDict begin 14.56 H.A end
- -30 40932
-a -30 40932 a
-SDict begin [ /View [/XYZ H.V] /Dest (2560) cvn H.B /DEST pdfmark end
- -30 40932 a 2202 42528 a FP(@ECHO)743 b(OFF)2202
-44140 y(SET)g(PROMPT=$P$G)2202 45752 y(SET)g
-(PATH=C:\\WINDOWS;C:\\WINDOWS\\COMMAND;C:\\)2202 47363
-y(CLS)2202 48975 y(ECHO)g(Please)g(Select)g(Your)h(Operating)f(System:)
-2202 50587 y(ECHO.)2202 52199 y(ECHO)g([1])h(Slackware)e(Linux)2202
-53810 y(ECHO)h([2])h(Windows)f(95)2202 55422 y(ECHO.)2202
-57034 y(CHOICE)g(/C:12)g("Selection?)g(-)p FK(>)g FP(")2202
-58646 y(IF)g(ERRORLEVEL)g(2)h(GOTO)f(WIN)2202 60257 y(IF)g(ERRORLEVEL)g
-(1)h(GOTO)f(LINUX)2202 61869 y(:WIN)2202 63481 y(CLS)2202
-65093 y(ECHO)g(Starting)g(Windows)g(95...)2202 66704
-y(WIN)2202 68316 y(GOTO)g(END)p Black 50226 73792 a FR(93)p
-Black eop end
-%%Page: 94 116
-TeXDict begin 94 115 bop -8000 -8000 a
-SDict begin /product where{pop product(Distiller)search{pop pop pop
-version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
-closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
-grestore}if}{pop}ifelse}{pop}ifelse}if end
- -8000 -8000 a
-Black 0 TeXcolorgray -30 -1237 a
-SDict begin H.S end
- -30 -1237 a 0 TeXcolorgray
-0 TeXcolorgray -30 -1237 a
-SDict begin H.R end
- -30 -1237 a -30 -1237 a
-SDict begin [ /View [/XYZ H.V] /Dest (page.94) cvn H.B /DEST pdfmark
-end
- -30
--1237 a Black -399 x FR(Chapter)387 b(7)g(Booting)p Black
-2202 3611 a FP(:LINUX)2202 5223 y(ECHO)743 b(Starting)g(Slackware)g
-(Linux...)2202 6835 y(CD)g(\\LINUX)2202 8446 y(LOADLIN)g
-(C:\\LINUX\\VMLINUZ)f(ROOT=)p FK(<)p FP(root)g(partition)h(device)p
-FK(>)g FP(RO)2202 10058 y(GOTO)g(END)2202 11670 y(:END)-30
-13246 y
-SDict begin H.S end
- -30 13246 a -30 13246 a
-SDict begin 18.2 H.A end
- -30 13246 a -30 13246
-a
-SDict begin [ /View [/XYZ H.V] /Dest (2561) cvn H.B /DEST pdfmark end
- -30 13246 a 1988 x FU(Y)-170 b(ou)330 b(will)g(w)-15
-b(ant)330 b(to)g(specify)g(your)h(root)f(partition)g(as)g(a)h(Linux)f
-(de)-39 b(vice)331 b(name,)f(lik)-15 b(e)44517 15234
-y
-SDict begin H.S end
- 44517 15234 a 44517 15234 a
-SDict begin 18.2 H.A end
- 44517 15234 a 44517 15234
-a
-SDict begin [ /View [/XYZ H.V] /Dest (2562) cvn H.B /DEST pdfmark end
- 44517 15234 a FQ(/dev/hda2)325 b FU(or)-30 17249 y(something)315
-b(else.)i(Y)-170 b(ou)315 b(can)h(al)-15 b(w)g(ays)315
-b(use)h(LO)-54 b(ADLIN)316 b(at)g(the)g(command)f(line.)h(Y)-170
-b(ou)316 b(simply)f(use)-30 19264 y(it)429 b(in)f(the)h(same)g(manner)f
-(as)h(it)g(is)f(in)h(the)f(e)-23 b(xample)429 b(abo)-23
-b(v)g(e.)428 b(The)h(LO)-54 b(ADLIN)428 b(documentation)-30
-21278 y(comes)387 b(with)g(man)-23 b(y)387 b(e)-23 b(xamples)386
-b(on)h(ho)-39 b(w)388 b(to)f(use)g(it.)-30 22389 y
-SDict begin H.S end
- -30
-22389 a -30 22389 a
-SDict begin 18.2 H.A end
- -30 22389 a -30 22389 a
-SDict begin [ /View [/XYZ H.V] /Dest (BOOTING-DUAL) cvn H.B /DEST pdfmark
-end
- -30 22389
-a 5789 x FL(7.3)620 b(Dual)h(Booting)-30 28674 y
-SDict begin H.S end
- -30
-28674 a -30 28674 a
-SDict begin 18.2 H.A end
- -30 28674 a -30 28674 a
-SDict begin [ /View [/XYZ H.V] /Dest (2565) cvn H.B /DEST pdfmark end
- -30 28674
-a -30 29790 a
-SDict begin H.S end
- -30 29790 a -30 29790 a
-SDict begin 18.2 H.A end
- -30 29790 a -30
-29790 a
-SDict begin [ /View [/XYZ H.V] /Dest (2567) cvn H.B /DEST pdfmark end
- -30 29790 a 1518 x FU(Man)-23 b(y)468 b(users)g(set)g(up)g
-(their)g(computers)f(to)h(boot)g(Slackw)-15 b(are)467
-b(Linux)h(and)g(another)g(operating)-30 33323 y(system.)450
-b(W)-124 b(e')-77 b(v)-23 b(e)450 b(described)h(se)-39
-b(v)-23 b(eral)450 b(typical)g(dual)h(boot)f(scenarios)g(belo)-39
-b(w)-101 b(,)451 b(in)g(case)f(you)h(are)-30 35337 y(ha)-31
-b(ving)387 b(dif)-39 b(\002culty)386 b(setting)h(up)g(your)g(system.)
--30 35673 y
-SDict begin H.S end
- -30 35673 a -30 35673 a
-SDict begin 18.2 H.A end
- -30 35673 a -30 35673
-a
-SDict begin [ /View [/XYZ H.V] /Dest (BOOTING-DUAL-WINDOWS) cvn H.B
-/DEST pdfmark end
- -30 35673 a 5027 x FG(Windo)-28 b(ws)-30 41653 y
-SDict begin H.S end
- -30
-41653 a -30 41653 a
-SDict begin 18.2 H.A end
- -30 41653 a -30 41653 a
-SDict begin [ /View [/XYZ H.V] /Dest (2570) cvn H.B /DEST pdfmark end
- -30 41653
-a 1991 x FU(Setting)367 b(up)i(a)f(computer)g(with)f(both)h(MS)g(W)-62
-b(indo)-39 b(ws)368 b(and)g(Linux)g(is)g(probably)f(the)i(most)e(com-)
--30 45659 y(mon)505 b(dual)h(boot)f(scenario.)g(There)h(are)g(numerous)
-f(w)-15 b(ays)505 b(you)g(can)h(setup)f(the)g(booting,)g(b)-31
-b(ut)-30 47673 y(this)387 b(section)g(will)f(co)-23 b(v)g(er)387
-b(tw)-15 b(o.)-30 48464 y
-SDict begin H.S end
- -30 48464 a -30 48464 a
-SDict begin 18.2 H.A end
- -30
-48464 a -30 48464 a
-SDict begin [ /View [/XYZ H.V] /Dest (2571) cvn H.B /DEST pdfmark end
- -30 48464 a 1999 x FU(Often)417 b(times)g(when)h
-(setting)e(up)i(a)f(dual)h(boot)f(system,)g(a)g(person)h(will)f(de)-39
-b(vise)417 b(a)h(perfect)f(plan)-30 52478 y(for)305 b(where)g(e)-39
-b(v)-23 b(erything)305 b(should)f(go)h(b)-31 b(ut)305
-b(mess)f(up)h(the)g(installation)f(order)-85 b(.)305
-b(It)g(is)g(v)-23 b(ery)305 b(important)-30 54492 y(to)355
-b(understand)f(that)g(operating)g(systems)g(need)h(to)g(be)f(installed)
-g(in)h(a)g(certain)g(order)f(for)h(a)g(dual)-30 56507
-y(boot)411 b(setup)g(to)f(w)-15 b(ork.)411 b(Linux)g(al)-15
-b(w)g(ays)410 b(of)-39 b(fers)411 b(control)g(o)-23 b(v)g(er)411
-b(what,)g(if)g(an)-23 b(ything,)411 b(gets)f(written)-30
-58522 y(to)564 b(the)g(Master)g(Boot)f(Record.)i(Therefore,)f(it')-85
-b(s)564 b(al)-15 b(w)g(ays)563 b(advisable)g(to)h(install)f(Linux)h
-(last.)-30 60536 y(W)-62 b(indo)-39 b(ws)398 b(should)f(be)i(installed)
-e(\002rst,)h(since)g(it)g(will)g(al)-15 b(w)g(ays)397
-b(write)h(its)g(booter)g(to)g(the)g(Master)-30 62551
-y(Boot)387 b(Record,)g(o)-23 b(v)g(erwriting)386 b(an)-23
-b(y)387 b(entry)g(Linux)g(may)g(ha)-31 b(v)-23 b(e)387
-b(put)g(there.)-30 62886 y
-SDict begin H.S end
- -30 62886 a -30 62886 a
-SDict begin 18.2 H.A end
- -30
-62886 a -30 62886 a
-SDict begin [ /View [/XYZ H.V] /Dest (2572) cvn H.B /DEST pdfmark end
- -30 62886 a -30 62886 a
-SDict begin H.S end
- -30 62886
-a -30 62886 a
-SDict begin 18.2 H.A end
- -30 62886 a -30 62886 a
-SDict begin [ /View [/XYZ H.V] /Dest (2574) cvn H.B /DEST pdfmark end
- -30 62886 a -30
-62886 a
-SDict begin H.S end
- -30 62886 a -30 62886 a
-SDict begin 18.2 H.A end
- -30 62886 a -30 62886
-a
-SDict begin [ /View [/XYZ H.V] /Dest (2576) cvn H.B /DEST pdfmark end
- -30 62886 a Black 10906 x FR(94)p Black eop end
-%%Page: 95 117
-TeXDict begin 95 116 bop -8000 -8000 a
-SDict begin /product where{pop product(Distiller)search{pop pop pop
-version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
-closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
-grestore}if}{pop}ifelse}{pop}ifelse}if end
- -8000 -8000 a
-Black 0 TeXcolorgray -30 -1237 a
-SDict begin H.S end
- -30 -1237 a 0 TeXcolorgray
-0 TeXcolorgray -30 -1237 a
-SDict begin H.R end
- -30 -1237 a -30 -1237 a
-SDict begin [ /View [/XYZ H.V] /Dest (page.95) cvn H.B /DEST pdfmark
-end
- -30
--1237 a Black -30 -2687 a
-SDict begin H.S end
- -30 -2687 a -30 -2687 a
-SDict begin 18.2 H.A end
- -30
--2687 a -30 -2687 a
-SDict begin [ /View [/XYZ H.V] /Dest (2590) cvn H.B /DEST pdfmark end
- -30 -2687 a 40238 -1636 a FR(Chapter)387
-b(7)g(Booting)p Black -30 3635 a FE(Using)430 b(LILO)-30
-4754 y
-SDict begin H.S end
- -30 4754 a -30 4754 a
-SDict begin 18.2 H.A end
- -30 4754 a -30 4754 a
-SDict begin [ /View [/XYZ H.V] /Dest (2578) cvn H.B /DEST pdfmark end
- -30
-4754 a 1670 x FU(Most)348 b(people)g(will)f(w)-15 b(ant)348
-b(to)g(use)g(LILO)g(to)g(chose)g(between)g(Linux)g(and)g(W)-62
-b(indo)-39 b(ws.)348 b(As)g(stated)-30 8439 y(abo)-23
-b(v)g(e,)387 b(you)g(should)g(install)f(W)-62 b(indo)-39
-b(ws)387 b(\002rst,)g(then)h(Linux.)-30 9549 y
-SDict begin H.S end
- -30 9549
-a -30 9549 a
-SDict begin 18.2 H.A end
- -30 9549 a -30 9549 a
-SDict begin [ /View [/XYZ H.V] /Dest (2579) cvn H.B /DEST pdfmark end
- -30 9549 a 1679 x
-FU(Let')-85 b(s)514 b(say)h(you)f(ha)-31 b(v)-23 b(e)514
-b(a)h(40GB)f(IDE)g(hard)g(disk)g(as)h(the)f(only)g(dri)-39
-b(v)-23 b(e)515 b(in)f(your)g(system.)g(Let')-85 b(s)-30
-13243 y(also)445 b(say)g(that)f(you)h(w)-15 b(ant)445
-b(to)f(gi)-39 b(v)-23 b(e)445 b(half)g(of)g(that)g(space)g(to)g(W)-62
-b(indo)-39 b(ws)444 b(and)h(half)g(of)g(that)g(space)-30
-15258 y(to)387 b(Linux.)g(This)g(will)g(present)g(a)h(problem)e(when)h
-(trying)g(to)g(boot)g(Linux.)-30 17143 y
-SDict begin H.S end
- -30 17143 a
--30 17143 a
-SDict begin 14.56 H.A end
- -30 17143 a -30 17143 a
-SDict begin [ /View [/XYZ H.V] /Dest (2580) cvn H.B /DEST pdfmark end
- -30 17143 a 2202
-18419 a FP(20GB)2231 b(Windows)743 b(boot)g(\(C:\))2202
-20031 y(1GB)2231 b(Linux)743 b(root)h(\(/\))2202 21643
-y(19GB)1487 b(Linux)743 b(/usr)h(\(/usr\))-30 23338 y
-SDict begin H.S end
-
--30 23338 a -30 23338 a
-SDict begin 18.2 H.A end
- -30 23338 a -30 23338 a
-SDict begin [ /View [/XYZ H.V] /Dest (2581) cvn H.B /DEST pdfmark end
- -30 23338
-a 1869 x FU(Y)-170 b(ou)541 b(w)-15 b(ould)540 b(also)h(w)-15
-b(ant)541 b(to)g(set)h(aside)f(an)g(adequate)h(amount)f(of)g(space)h
-(for)f(a)h(Linux)f(sw)-15 b(ap)-30 27222 y(partition.)493
-b(The)f(unwritten)h(rule)f(is)h(to)g(use)g(twice)f(the)h(amount)f(of)h
-(RAM)f(you)h(ha)-31 b(v)-23 b(e)493 b(in)f(disk)-30 29236
-y(space.)586 b(A)g(64MB)f(system)g(w)-15 b(ould)585 b(ha)-31
-b(v)-23 b(e)585 b(128MB)g(of)h(sw)-15 b(ap,)586 b(and)f(so)h(on.)g
-(Adequate)g(sw)-15 b(ap)-30 31251 y(space)409 b(is)g(the)g(discussion)g
-(of)g(man)-23 b(y)408 b(\003ames)h(on)g(IRC)g(and)g(Usenet.)g(There')
--85 b(s)409 b(no)g(truly)47472 31251 y
-SDict begin H.S end
- 47472 31251 a
-47472 31251 a
-SDict begin 18.2 H.A end
- 47472 31251 a 47472 31251 a
-SDict begin [ /View [/XYZ H.V] /Dest (2582) cvn H.B /DEST pdfmark end
- 47472 31251
-a FU(\223right\224)-30 33266 y(w)-15 b(ay)387 b(to)g(do)g(it,)h(b)-31
-b(ut)387 b(sticking)f(with)h(the)g(rule)g(abo)-23 b(v)g(e)387
-b(should)g(be)g(suf)-39 b(\002cient.)-30 34376 y
-SDict begin H.S end
- -30
-34376 a -30 34376 a
-SDict begin 18.2 H.A end
- -30 34376 a -30 34376 a
-SDict begin [ /View [/XYZ H.V] /Dest (2583) cvn H.B /DEST pdfmark end
- -30 34376
-a 1679 x FU(W)-62 b(ith)474 b(your)g(partitions)f(laid)h(out,)h(you)f
-(should)g(proceed)g(to)g(install)g(W)-62 b(indo)-39 b(ws.)474
-b(After)g(that)g(is)-30 38070 y(set)480 b(up)g(and)g(w)-15
-b(orking,)480 b(you)g(should)f(install)g(Linux.)h(The)h(LILO)e
-(installation)g(needs)h(special)-30 40085 y(attention.)387
-b(Y)-170 b(ou)387 b(will)f(w)-15 b(ant)387 b(to)g(select)g(the)g(e)-23
-b(xpert)387 b(mode)g(for)h(installing)e(LILO.)-30 41195
-y
-SDict begin H.S end
- -30 41195 a -30 41195 a
-SDict begin 18.2 H.A end
- -30 41195 a -30 41195 a
-SDict begin [ /View [/XYZ H.V] /Dest (2584) cvn H.B /DEST pdfmark end
- -30
-41195 a 1679 x FU(Be)-23 b(gin)424 b(a)i(ne)-39 b(w)425
-b(LILO)g(con\002guration.)f(Y)-170 b(ou)424 b(will)h(w)-15
-b(ant)424 b(to)h(install)f(it)h(to)g(Master)g(Boot)f(Record)-30
-44889 y(so)378 b(that)h(it)f(can)h(be)f(used)h(to)f(choose)g(between)g
-(the)h(tw)-15 b(o)378 b(operating)g(systems.)g(From)g(the)g(menu,)-30
-46904 y(add)577 b(your)g(Linux)g(partition)f(and)h(add)g(your)g(W)-62
-b(indo)-39 b(ws)577 b(\(or)g(DOS\))g(partition.)f(Once)i(that')-85
-b(s)-30 48918 y(complete,)387 b(you)g(can)h(install)e(LILO.)-30
-50029 y
-SDict begin H.S end
- -30 50029 a -30 50029 a
-SDict begin 18.2 H.A end
- -30 50029 a -30 50029
-a
-SDict begin [ /View [/XYZ H.V] /Dest (2585) cvn H.B /DEST pdfmark end
- -30 50029 a 1679 x FU(Reboot)451 b(the)h(computer)-85
-b(.)452 b(LILO)f(should)h(load)f(and)h(will)g(display)f(a)h(menu)f
-(letting)g(you)h(select)-30 53722 y(between)509 b(the)h(operating)e
-(systems)h(you)g(ha)-31 b(v)-23 b(e)509 b(installed.)g(Select)g(the)g
-(name)h(of)f(the)g(OS)g(you)-30 55737 y(wish)387 b(to)g(load)g(\(these)
-g(names)g(were)h(selected)f(when)g(you)g(setup)g(LILO\).)-30
-56847 y
-SDict begin H.S end
- -30 56847 a -30 56847 a
-SDict begin 18.2 H.A end
- -30 56847 a -30 56847
-a
-SDict begin [ /View [/XYZ H.V] /Dest (2586) cvn H.B /DEST pdfmark end
- -30 56847 a 1680 x FU(LILO)518 b(is)f(quite)h(a)g(con\002gurable)f
-(boot)g(loader)-85 b(.)518 b(It')-85 b(s)517 b(not)h(just)f(limited)g
-(to)h(booting)f(Linux)g(or)-30 60541 y(DOS.)470 b(It)h(can)f(boot)g
-(just)g(about)g(an)-23 b(ything.)469 b(The)i(man)f(pages)g(for)36370
-60541 y
-SDict begin H.S end
- 36370 60541 a 36370 60541 a
-SDict begin 18.2 H.A end
- 36370 60541 a 36370
-60541 a
-SDict begin [ /View [/XYZ H.V] /Dest (2587) cvn H.B /DEST pdfmark end
- 36370 60541 a FP(lilo)p FU(\(8\))g(and)44332
-60541 y
-SDict begin H.S end
- 44332 60541 a 44332 60541 a
-SDict begin 18.2 H.A end
- 44332 60541 a 44332
-60541 a
-SDict begin [ /View [/XYZ H.V] /Dest (2588) cvn H.B /DEST pdfmark end
- 44332 60541 a FQ(lilo.conf)p FU(\(5\))-30 62556
-y(pro)-23 b(vide)387 b(more)g(detailed)g(information.)-30
-63666 y
-SDict begin H.S end
- -30 63666 a -30 63666 a
-SDict begin 18.2 H.A end
- -30 63666 a -30 63666
-a
-SDict begin [ /View [/XYZ H.V] /Dest (2589) cvn H.B /DEST pdfmark end
- -30 63666 a 1679 x FU(What)418 b(if)h(LILO)f(doesn')-28
-b(t)418 b(w)-15 b(ork?)418 b(There)h(are)g(instances)f(where)g(LILO)h
-(just)f(w)-15 b(on')-28 b(t)418 b(w)-15 b(ork)417 b(on)i(a)-30
-67360 y(particular)481 b(machine.)h(F)-23 b(ortunately)-101
-b(,)481 b(there)h(is)f(another)h(w)-15 b(ay)481 b(to)h(dual)f(boot)g
-(Linux)g(and)h(W)-62 b(in-)p Black 50226 73792 a FR(95)p
-Black eop end
-%%Page: 96 118
-TeXDict begin 96 117 bop -8000 -8000 a
-SDict begin /product where{pop product(Distiller)search{pop pop pop
-version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
-closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
-grestore}if}{pop}ifelse}{pop}ifelse}if end
- -8000 -8000 a
-Black 0 TeXcolorgray -30 -1237 a
-SDict begin H.S end
- -30 -1237 a 0 TeXcolorgray
-0 TeXcolorgray -30 -1237 a
-SDict begin H.R end
- -30 -1237 a -30 -1237 a
-SDict begin [ /View [/XYZ H.V] /Dest (page.96) cvn H.B /DEST pdfmark
-end
- -30
--1237 a Black -399 x FR(Chapter)387 b(7)g(Booting)p Black
--30 3611 a FU(do)-39 b(ws.)-30 4401 y
-SDict begin H.S end
- -30 4401 a -30
-4401 a
-SDict begin 18.2 H.A end
- -30 4401 a -30 4401 a
-SDict begin [ /View [/XYZ H.V] /Dest (2590) cvn H.B /DEST pdfmark end
- -30 4401 a 5099 x FE(Using)430
-b(LO)-77 b(ADLIN)-30 10620 y
-SDict begin H.S end
- -30 10620 a -30 10620 a
-SDict begin 18.2 H.A end
-
--30 10620 a -30 10620 a
-SDict begin [ /View [/XYZ H.V] /Dest (2592) cvn H.B /DEST pdfmark end
- -30 10620 a 1670 x FU(This)414
-b(method)h(can)g(be)f(used)h(if)g(LILO)f(doesn')-28 b(t)415
-b(w)-15 b(ork)414 b(on)h(your)f(system,)h(or)g(if)f(you)h(just)f(don')
--28 b(t)-30 14304 y(w)-15 b(ant)609 b(to)g(set)g(up)g(LILO.)h(This)f
-(method)f(is)i(also)f(ideal)g(for)g(the)g(user)h(that)f(reinstalls)f(W)
--62 b(in-)-30 16319 y(do)-39 b(ws)602 b(often.)g(Each)g(time)g(you)g
-(reinstall)f(W)-62 b(indo)-39 b(ws,)602 b(it)g(will)g(o)-23
-b(v)g(erwrite)601 b(the)h(Master)g(Boot)-30 18334 y(Record,)361
-b(thus)f(destro)-15 b(ying)359 b(an)-23 b(y)361 b(LILO)f(installation.)
-g(W)-62 b(ith)360 b(LO)-54 b(ADLIN,)361 b(you)f(are)h(not)f(subject)-30
-20348 y(to)545 b(that)g(problem.)h(The)f(biggest)g(disadv)-39
-b(antage)544 b(is)i(that)f(you)g(can)g(only)g(use)h(LO)-54
-b(ADLIN)544 b(to)-30 22363 y(boot)387 b(Linux.)-30 23153
-y
-SDict begin H.S end
- -30 23153 a -30 23153 a
-SDict begin 18.2 H.A end
- -30 23153 a -30 23153 a
-SDict begin [ /View [/XYZ H.V] /Dest (2593) cvn H.B /DEST pdfmark end
- -30
-23153 a 2000 x FU(W)-62 b(ith)612 b(LO)-54 b(ADLIN,)613
-b(you)g(can)g(install)e(the)i(operating)f(systems)g(in)h(an)-23
-b(y)612 b(order)h(desired.)g(Be)-30 27167 y(careful)327
-b(about)f(installing)g(things)f(to)i(the)f(Master)h(Boot)f(Record,)h
-(you)f(do)h(not)f(w)-15 b(ant)326 b(to)g(do)h(that.)-30
-29182 y(LO)-54 b(ADLIN)354 b(relies)g(on)g(the)g(W)-62
-b(indo)-39 b(ws)354 b(partition)g(being)g(bootable.)g(So)g(during)g
-(the)g(Slackw)-15 b(are)-30 31197 y(installation,)386
-b(mak)-15 b(e)387 b(sure)g(you)g(skip)g(the)g(LILO)h(setup.)-30
-32307 y
-SDict begin H.S end
- -30 32307 a -30 32307 a
-SDict begin 18.2 H.A end
- -30 32307 a -30 32307
-a
-SDict begin [ /View [/XYZ H.V] /Dest (2594) cvn H.B /DEST pdfmark end
- -30 32307 a 1679 x FU(After)476 b(installing)e(the)h(operating)g
-(systems,)g(cop)-15 b(y)475 b(the)30272 33986 y
-SDict begin H.S end
- 30272
-33986 a 30272 33986 a
-SDict begin 18.2 H.A end
- 30272 33986 a 30272 33986 a
-SDict begin [ /View [/XYZ H.V] /Dest (2595) cvn H.B /DEST pdfmark end
- 30272
-33986 a FQ(loadlinX.zip)468 b FU(\(where)43042 33986
-y
-SDict begin H.S end
- 43042 33986 a 43042 33986 a
-SDict begin 18.2 H.A end
- 43042 33986 a 43042 33986
-a
-SDict begin [ /View [/XYZ H.V] /Dest (2597) cvn H.B /DEST pdfmark end
- 43042 33986 a Fz(X)592 b FU(is)475 b(a)h(v)-23 b(ersion)-30
-36001 y(number)-62 b(,)565 b(such)g(as)10857 36001 y
-SDict begin H.S end
-
-10857 36001 a 10857 36001 a
-SDict begin 18.2 H.A end
- 10857 36001 a 10857 36001
-a
-SDict begin [ /View [/XYZ H.V] /Dest (2598) cvn H.B /DEST pdfmark end
- 10857 36001 a FP(16a)p FU(\))f(\002le)h(from)f(root')-85
-b(s)565 b(home)f(directory)h(to)f(your)h(W)-62 b(indo)-39
-b(ws)564 b(partition.)-30 38015 y(Also)360 b(cop)-15
-b(y)359 b(your)h(k)-15 b(ernel)360 b(image)g(to)g(the)g(W)-62
-b(indo)-39 b(ws)360 b(partition.)g(Y)-170 b(ou)359 b(will)h(need)g(to)g
-(be)g(in)h(Linux)-30 40030 y(for)388 b(this)e(to)h(w)-15
-b(ork.)388 b(This)e(e)-23 b(xample)387 b(sho)-39 b(ws)387
-b(ho)-39 b(w)387 b(to)h(do)f(this:)-30 41915 y
-SDict begin H.S end
- -30 41915
-a -30 41915 a
-SDict begin 14.56 H.A end
- -30 41915 a -30 41915 a
-SDict begin [ /View [/XYZ H.V] /Dest (2599) cvn H.B /DEST pdfmark end
- -30 41915 a -30
-41915 a
-SDict begin H.S end
- -30 41915 a -30 41915 a
-SDict begin 14.56 H.A end
- -30 41915 a -30 41915
-a
-SDict begin [ /View [/XYZ H.V] /Dest (2600) cvn H.B /DEST pdfmark end
- -30 41915 a 1277 x FJ(#)1309 43192 y
-SDict begin H.S end
- 1309 43192 a 1309
-43192 a
-SDict begin 14.56 H.A end
- 1309 43192 a 1309 43192 a
-SDict begin [ /View [/XYZ H.V] /Dest (2601) cvn H.B /DEST pdfmark end
- 1309 43192 a FH(mkdir)743
-b(/win)-30 43283 y
-SDict begin H.S end
- -30 43283 a -30 43283 a
-SDict begin 14.56 H.A end
- -30 43283
-a -30 43283 a
-SDict begin [ /View [/XYZ H.V] /Dest (2602) cvn H.B /DEST pdfmark end
- -30 43283 a 1520 x FJ(#)1309 44803 y
-SDict begin H.S end
- 1309
-44803 a 1309 44803 a
-SDict begin 14.56 H.A end
- 1309 44803 a 1309 44803 a
-SDict begin [ /View [/XYZ H.V] /Dest (2603) cvn H.B /DEST pdfmark end
- 1309 44803
-a FH(mount)g(-t)h(vfat)f(/dev/hda1)g(/win)-30 44894 y
-SDict begin H.S end
-
--30 44894 a -30 44894 a
-SDict begin 14.56 H.A end
- -30 44894 a -30 44894 a
-SDict begin [ /View [/XYZ H.V] /Dest (2604) cvn H.B /DEST pdfmark end
- -30 44894
-a 1521 x FJ(#)1309 46415 y
-SDict begin H.S end
- 1309 46415 a 1309 46415 a
-SDict begin 14.56 H.A end
-
-1309 46415 a 1309 46415 a
-SDict begin [ /View [/XYZ H.V] /Dest (2605) cvn H.B /DEST pdfmark end
- 1309 46415 a FH(mkdir)g(/win/linux)-30
-46506 y
-SDict begin H.S end
- -30 46506 a -30 46506 a
-SDict begin 14.56 H.A end
- -30 46506 a -30 46506
-a
-SDict begin [ /View [/XYZ H.V] /Dest (2606) cvn H.B /DEST pdfmark end
- -30 46506 a 1521 x FJ(#)1309 48027 y
-SDict begin H.S end
- 1309 48027 a 1309
-48027 a
-SDict begin 14.56 H.A end
- 1309 48027 a 1309 48027 a
-SDict begin [ /View [/XYZ H.V] /Dest (2607) cvn H.B /DEST pdfmark end
- 1309 48027 a FH(cd)h(/root)-30
-48118 y
-SDict begin H.S end
- -30 48118 a -30 48118 a
-SDict begin 14.56 H.A end
- -30 48118 a -30 48118
-a
-SDict begin [ /View [/XYZ H.V] /Dest (2608) cvn H.B /DEST pdfmark end
- -30 48118 a 1521 x FJ(#)1309 49639 y
-SDict begin H.S end
- 1309 49639 a 1309
-49639 a
-SDict begin 14.56 H.A end
- 1309 49639 a 1309 49639 a
-SDict begin [ /View [/XYZ H.V] /Dest (2609) cvn H.B /DEST pdfmark end
- 1309 49639 a FH(cp)g(loadlin*)f
-(/win/linux)-30 49807 y
-SDict begin H.S end
- -30 49807 a -30 49807 a
-SDict begin 14.56 H.A end
- -30 49807
-a -30 49807 a
-SDict begin [ /View [/XYZ H.V] /Dest (2610) cvn H.B /DEST pdfmark end
- -30 49807 a 1443 x FJ(#)1309 51250 y
-SDict begin H.S end
- 1309
-51250 a 1309 51250 a
-SDict begin 14.56 H.A end
- 1309 51250 a 1309 51250 a
-SDict begin [ /View [/XYZ H.V] /Dest (2611) cvn H.B /DEST pdfmark end
- 1309 51250
-a FH(cp)h(/boot/vmlinuz)e(/win/linux)-30 51418 y
-SDict begin H.S end
- -30
-51418 a -30 51418 a
-SDict begin 14.56 H.A end
- -30 51418 a -30 51418 a
-SDict begin [ /View [/XYZ H.V] /Dest (2612) cvn H.B /DEST pdfmark end
- -30 51418
-a 1444 x FJ(#)1309 52862 y
-SDict begin H.S end
- 1309 52862 a 1309 52862 a
-SDict begin 14.56 H.A end
-
-1309 52862 a 1309 52862 a
-SDict begin [ /View [/XYZ H.V] /Dest (2613) cvn H.B /DEST pdfmark end
- 1309 52862 a FH(cd)i(/win/linuz)-30
-52953 y
-SDict begin H.S end
- -30 52953 a -30 52953 a
-SDict begin 14.56 H.A end
- -30 52953 a -30 52953
-a
-SDict begin [ /View [/XYZ H.V] /Dest (2614) cvn H.B /DEST pdfmark end
- -30 52953 a 1521 x FJ(#)1309 54474 y
-SDict begin H.S end
- 1309 54474 a 1309
-54474 a
-SDict begin 14.56 H.A end
- 1309 54474 a 1309 54474 a
-SDict begin [ /View [/XYZ H.V] /Dest (2615) cvn H.B /DEST pdfmark end
- 1309 54474 a FH(unzip)f
-(loadlin16a.zip)-30 56191 y
-SDict begin H.S end
- -30 56191 a -30 56191 a
-SDict begin 18.2 H.A end
- -30
-56191 a -30 56191 a
-SDict begin [ /View [/XYZ H.V] /Dest (2616) cvn H.B /DEST pdfmark end
- -30 56191 a 1847 x FU(That)390 b(will)f(create)i(a)
-11170 58038 y
-SDict begin H.S end
- 11170 58038 a 11170 58038 a
-SDict begin 18.2 H.A end
- 11170 58038
-a 11170 58038 a
-SDict begin [ /View [/XYZ H.V] /Dest (2617) cvn H.B /DEST pdfmark end
- 11170 58038 a FQ(C:\\LINUX)385 b FU(directory)k(on)h
-(your)g(W)-62 b(indo)-39 b(ws)390 b(partition)f(\(assuming)g(it')-85
-b(s)48644 58038 y
-SDict begin H.S end
- 48644 58038 a 48644 58038 a
-SDict begin 18.2 H.A end
- 48644 58038
-a 48644 58038 a
-SDict begin [ /View [/XYZ H.V] /Dest (2618) cvn H.B /DEST pdfmark end
- 48644 58038 a FQ(/dev/)-30 60053 y(hda1)p
-FU(\))531 b(and)i(cop)-15 b(y)533 b(o)-23 b(v)g(er)532
-b(the)i(necessary)f(stuf)-39 b(f)533 b(for)g(LO)-54 b(ADLIN.)533
-b(After)h(doing)e(this,)i(you)e(will)-30 62067 y(need)387
-b(to)h(reboot)f(into)f(W)-62 b(indo)-39 b(ws)387 b(to)g(setup)g(a)h
-(boot)f(menu.)-30 63178 y
-SDict begin H.S end
- -30 63178 a -30 63178 a
-SDict begin 18.2 H.A end
- -30
-63178 a -30 63178 a
-SDict begin [ /View [/XYZ H.V] /Dest (2619) cvn H.B /DEST pdfmark end
- -30 63178 a 1679 x FU(Once)439 b(in)g(W)-62
-b(indo)-39 b(ws,)439 b(get)g(to)g(a)h(DOS)e(prompt.)h(First,)g(we)g
-(need)g(to)g(mak)-15 b(e)439 b(sure)g(the)g(system)f(is)-30
-66872 y(set)387 b(to)g(not)g(boot)g(into)g(the)g(graphical)g(interf)-15
-b(ace.)p Black -30 73792 a FR(96)p Black eop end
-%%Page: 97 119
-TeXDict begin 97 118 bop -8000 -8000 a
-SDict begin /product where{pop product(Distiller)search{pop pop pop
-version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
-closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
-grestore}if}{pop}ifelse}{pop}ifelse}if end
- -8000 -8000 a
-Black 0 TeXcolorgray -30 -1237 a
-SDict begin H.S end
- -30 -1237 a 0 TeXcolorgray
-0 TeXcolorgray -30 -1237 a
-SDict begin H.R end
- -30 -1237 a -30 -1237 a
-SDict begin [ /View [/XYZ H.V] /Dest (page.97) cvn H.B /DEST pdfmark
-end
- -30
--1237 a Black 40238 -1636 a FR(Chapter)387 b(7)g(Booting)p
-Black -30 2504 a
-SDict begin H.S end
- -30 2504 a -30 2504 a
-SDict begin 14.56 H.A end
- -30 2504 a -30
-2504 a
-SDict begin [ /View [/XYZ H.V] /Dest (2620) cvn H.B /DEST pdfmark end
- -30 2504 a 1107 x FP(C:\\>)3689 3611 y
-SDict begin H.S end
- 3689 3611
-a 3689 3611 a
-SDict begin 14.56 H.A end
- 3689 3611 a 3689 3611 a
-SDict begin [ /View [/XYZ H.V] /Dest (2621) cvn H.B /DEST pdfmark end
- 3689 3611 a FH(cd)744
-b(\\)-30 5223 y FP(C:\\>)3689 5223 y
-SDict begin H.S end
- 3689 5223 a 3689
-5223 a
-SDict begin 14.56 H.A end
- 3689 5223 a 3689 5223 a
-SDict begin [ /View [/XYZ H.V] /Dest (2622) cvn H.B /DEST pdfmark end
- 3689 5223 a FH(attrib)g(-r)f(-a)h(-s)g
-(-h)f(MSDOS.SYS)-30 6835 y FP(C:\\>)3689 6835 y
-SDict begin H.S end
- 3689
-6835 a 3689 6835 a
-SDict begin 14.56 H.A end
- 3689 6835 a 3689 6835 a
-SDict begin [ /View [/XYZ H.V] /Dest (2623) cvn H.B /DEST pdfmark end
- 3689 6835
-a FH(edit)h(MSDOS.SYS)-30 8482 y
-SDict begin H.S end
- -30 8482 a -30 8482
-a
-SDict begin 18.2 H.A end
- -30 8482 a -30 8482 a
-SDict begin [ /View [/XYZ H.V] /Dest (2624) cvn H.B /DEST pdfmark end
- -30 8482 a 1917 x FU(Add)387
-b(this)g(line)g(to)g(the)g(\002le:)-30 11964 y
-SDict begin H.S end
- -30 11964
-a -30 11964 a
-SDict begin 14.56 H.A end
- -30 11964 a -30 11964 a
-SDict begin [ /View [/XYZ H.V] /Dest (2625) cvn H.B /DEST pdfmark end
- -30 11964 a 1596
-x FP(BootGUI=0)-30 15136 y
-SDict begin H.S end
- -30 15136 a -30 15136 a
-SDict begin 18.2 H.A end
- -30
-15136 a -30 15136 a
-SDict begin [ /View [/XYZ H.V] /Dest (2626) cvn H.B /DEST pdfmark end
- -30 15136 a 1989 x FU(No)-39 b(w)387
-b(sa)-31 b(v)-23 b(e)387 b(the)g(\002le)g(and)g(e)-23
-b(xit)387 b(the)g(editor)-85 b(.)387 b(No)-39 b(w)387
-b(edit)29040 17125 y
-SDict begin H.S end
- 29040 17125 a 29040 17125 a
-SDict begin 18.2 H.A end
- 29040
-17125 a 29040 17125 a
-SDict begin [ /View [/XYZ H.V] /Dest (2627) cvn H.B /DEST pdfmark end
- 29040 17125 a FQ(C:\\AUTOEXEC.BAT)377
-b FU(so)387 b(we)h(can)f(add)g(a)g(boot)-30 19140 y(menu.)324
-b(The)h(follo)-39 b(wing)323 b(pro)-23 b(vides)323 b(an)i(e)-23
-b(xample)323 b(of)i(what)f(a)g(boot)g(menu)g(block)g(in)44260
-19140 y
-SDict begin H.S end
- 44260 19140 a 44260 19140 a
-SDict begin 18.2 H.A end
- 44260 19140 a 44260
-19140 a
-SDict begin [ /View [/XYZ H.V] /Dest (2628) cvn H.B /DEST pdfmark end
- 44260 19140 a FQ(AUTOEXEC.BAT)-30 21154 y FU(w)-15
-b(ould)386 b(look)h(lik)-15 b(e:)-30 22719 y
-SDict begin H.S end
- -30 22719
-a -30 22719 a
-SDict begin 14.56 H.A end
- -30 22719 a -30 22719 a
-SDict begin [ /View [/XYZ H.V] /Dest (2629) cvn H.B /DEST pdfmark end
- -30 22719 a 1597
-x FP(cls)-30 25927 y(echo)743 b(System)h(Boot)f(Menu)-30
-27539 y(echo.)-30 29151 y(echo)g(1)h(-)g(Linux)-30 30763
-y(echo)f(2)h(-)g(Windows)-30 32374 y(echo.)-30 33986
-y(choice)f(/c:12)h("Selection?)e(->)i(")-30 35598 y(if)g(errorlevel)e
-(2)i(goto)g(WIN)-30 37210 y(if)g(errorlevel)e(1)i(goto)g(LINUX)-30
-38821 y(:LINUX)-30 40433 y(cls)-30 42045 y(echo)f("Starting)g
-(Linux...")-30 43656 y(cd)h(\\linux)-30 45268 y(loadlin)f
-(c:\\linux\\vmlinuz)f(root=/dev/hda2)g(ro)-30 46880 y(goto)h(END)-30
-48492 y(:WIN)-30 50103 y(cls)-30 51715 y(echo)g("Starting)g
-(Windows...")-30 53327 y(win)-30 54939 y(goto)g(END)-30
-56550 y(:END)-30 58126 y
-SDict begin H.S end
- -30 58126 a -30 58126 a
-SDict begin 18.2 H.A end
- -30
-58126 a -30 58126 a
-SDict begin [ /View [/XYZ H.V] /Dest (2630) cvn H.B /DEST pdfmark end
- -30 58126 a 1989 x FU(The)413 b(k)-15
-b(e)-23 b(y)412 b(line)g(is)g(the)h(one)f(that)h(runs)f(LO)-54
-b(ADLIN.)413 b(W)-124 b(e)412 b(tell)h(it)f(the)h(k)-15
-b(ernel)412 b(to)g(load,)h(the)g(Linux)-30 62129 y(root)387
-b(partition,)g(and)g(that)g(we)h(w)-15 b(ant)386 b(it)h(mounted)g
-(read-only)g(initially)-101 b(.)-30 63240 y
-SDict begin H.S end
- -30 63240
-a -30 63240 a
-SDict begin 18.2 H.A end
- -30 63240 a -30 63240 a
-SDict begin [ /View [/XYZ H.V] /Dest (2631) cvn H.B /DEST pdfmark end
- -30 63240 a 1679
-x FU(The)430 b(tools)g(for)g(these)g(tw)-15 b(o)430 b(methods)f(are)h
-(pro)-23 b(vided)430 b(with)g(Slackw)-15 b(are)429 b(Linux.)h(There)g
-(are)h(nu-)-30 66934 y(merous)316 b(other)h(booters)f(on)g(the)h(mark)
--15 b(et,)316 b(b)-31 b(ut)316 b(these)g(should)g(w)-15
-b(ork)316 b(for)h(most)f(dual)g(boot)g(setups.)-30 68044
-y
-SDict begin H.S end
- -30 68044 a -30 68044 a
-SDict begin 18.2 H.A end
- -30 68044 a -30 68044 a
-SDict begin [ /View [/XYZ H.V] /Dest (2632) cvn H.B /DEST pdfmark end
- -30
-68044 a Black 50169 73792 a FR(97)p Black eop end
-%%Page: 98 120
-TeXDict begin 98 119 bop -8000 -8000 a
-SDict begin /product where{pop product(Distiller)search{pop pop pop
-version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
-closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
-grestore}if}{pop}ifelse}{pop}ifelse}if end
- -8000 -8000 a
-Black 0 TeXcolorgray -30 -1237 a
-SDict begin H.S end
- -30 -1237 a 0 TeXcolorgray
-0 TeXcolorgray -30 -1237 a
-SDict begin H.R end
- -30 -1237 a -30 -1237 a
-SDict begin [ /View [/XYZ H.V] /Dest (page.98) cvn H.B /DEST pdfmark
-end
- -30
--1237 a Black -399 x FR(Chapter)387 b(7)g(Booting)p Black
--30 3635 a FE(Deprecated)429 b(Windo)-23 b(ws)429 b(NT)i(Hac)-31
-b(k)-30 4730 y
-SDict begin H.S end
- -30 4730 a -30 4730 a
-SDict begin 18.2 H.A end
- -30 4730 a -30 4730
-a
-SDict begin [ /View [/XYZ H.V] /Dest (2634) cvn H.B /DEST pdfmark end
- -30 4730 a 1694 x FU(This)311 b(is)h(the)f(least)h(common)f(dual)g
-(booting)g(situation.)g(In)g(the)33351 6424 y
-SDict begin H.S end
- 33351 6424
-a 33351 6424 a
-SDict begin 18.2 H.A end
- 33351 6424 a 33351 6424 a
-SDict begin [ /View [/XYZ H.V] /Dest (2635) cvn H.B /DEST pdfmark end
- 33351 6424 a
-312 w FU(days)g(of)h(old,)g(LILO)f(w)-15 b(as)311 b(unable)-30
-8439 y(to)429 b(boot)f(W)-62 b(indo)-39 b(ws)428 b(NT)-115
-b(,)429 b(requiring)f(Linux)g(users)h(to)f(hack)h(NTLDR,)f(which)g
-(presented)h(se)-39 b(v-)-30 10454 y(eral)403 b(more)g(problems)f(than)
-g(dual)h(booting)f(between)g(W)-62 b(indo)-39 b(ws)403
-b(9x)f(and)h(Linux.)g(Understand)-30 12468 y(that)372
-b(the)h(follo)-39 b(wing)372 b(instructions)f(are)i(deprecated.)g(LILO)
-f(has)h(been)f(able)h(to)f(boot)g(W)-62 b(indo)-39 b(ws)-30
-14483 y(NT/2000/XP/2003)467 b(for)h(man)-23 b(y)468 b(years)h(no)-39
-b(w)-101 b(.)470 b(If)e(you)h(are)g(using)f(a)h(le)-23
-b(g)-8 b(ac)-23 b(y)468 b(machine)g(though,)-30 16498
-y(you)387 b(may)g(need)h(to)f(use)g(just)g(such)g(a)g(hack.)-30
-16833 y
-SDict begin H.S end
- -30 16833 a -30 16833 a
-SDict begin 18.2 H.A end
- -30 16833 a -30 16833
-a
-SDict begin [ /View [/XYZ H.V] /Dest (2637) cvn H.B /DEST pdfmark end
- -30 16833 a -30 17608 a
-SDict begin H.S end
- -30 17608 a -30 17608 a
-SDict begin 18.2 H.A end
- -30
-17608 a -30 17608 a
-SDict begin [ /View [/XYZ H.V] /Dest (2638) cvn H.B /DEST pdfmark end
- -30 17608 a Black 1210 20837 a FU(1.)p
-Black 2760 20837 a
-SDict begin H.S end
- 2760 20837 a 2760 20837 a
-SDict begin 18.2 H.A end
- 2760 20837
-a 2760 20837 a
-SDict begin [ /View [/XYZ H.V] /Dest (2639) cvn H.B /DEST pdfmark end
- 2760 20837 a FU(Install)f(W)-62 b(indo)-39
-b(ws)387 b(NT)-30 20852 y
-SDict begin H.S end
- -30 20852 a -30 20852 a
-SDict begin 18.2 H.A end
- -30
-20852 a -30 20852 a
-SDict begin [ /View [/XYZ H.V] /Dest (2640) cvn H.B /DEST pdfmark end
- -30 20852 a Black 1210 23626 a FU(2.)p
-Black 2760 23626 a
-SDict begin H.S end
- 2760 23626 a 2760 23626 a
-SDict begin 18.2 H.A end
- 2760 23626
-a 2760 23626 a
-SDict begin [ /View [/XYZ H.V] /Dest (2641) cvn H.B /DEST pdfmark end
- 2760 23626 a FU(Install)601 b(Linux,)g(making)g(sure)g
-(LILO)h(is)f(installed)g(to)g(the)h(superblock)e(of)i(the)g(Linux)2760
-25641 y(partition)-30 25977 y
-SDict begin H.S end
- -30 25977 a -30 25977 a
-SDict begin 18.2 H.A end
-
--30 25977 a -30 25977 a
-SDict begin [ /View [/XYZ H.V] /Dest (2642) cvn H.B /DEST pdfmark end
- -30 25977 a Black 1210 28431
-a FU(3.)p Black 2760 28431 a
-SDict begin H.S end
- 2760 28431 a 2760 28431
-a
-SDict begin 18.2 H.A end
- 2760 28431 a 2760 28431 a
-SDict begin [ /View [/XYZ H.V] /Dest (2643) cvn H.B /DEST pdfmark end
- 2760 28431 a FU(Get)456 b(the)g(\002rst)g
-(512)g(bytes)g(of)g(the)g(Linux)g(root)g(partition)g(and)g(store)g(it)g
-(on)g(the)g(W)-62 b(indo)-39 b(ws)2760 30445 y(NT)387
-b(partition)-30 30781 y
-SDict begin H.S end
- -30 30781 a -30 30781 a
-SDict begin 18.2 H.A end
- -30 30781
-a -30 30781 a
-SDict begin [ /View [/XYZ H.V] /Dest (2644) cvn H.B /DEST pdfmark end
- -30 30781 a Black 1210 33235 a FU(4.)p
-Black 2760 33235 a
-SDict begin H.S end
- 2760 33235 a 2760 33235 a
-SDict begin 18.2 H.A end
- 2760 33235
-a 2760 33235 a
-SDict begin [ /View [/XYZ H.V] /Dest (2645) cvn H.B /DEST pdfmark end
- 2760 33235 a FU(Edit)5730 33235 y
-SDict begin H.S end
- 5730
-33235 a 5730 33235 a
-SDict begin 18.2 H.A end
- 5730 33235 a 5730 33235 a
-SDict begin [ /View [/XYZ H.V] /Dest (2646) cvn H.B /DEST pdfmark end
- 5730 33235
-a FQ(C:\\BOOT.INI)381 b FU(under)387 b(W)-62 b(indo)-39
-b(ws)387 b(NT)g(to)g(add)h(a)f(Linux)g(option)-30 34345
-y
-SDict begin H.S end
- -30 34345 a -30 34345 a
-SDict begin 18.2 H.A end
- -30 34345 a -30 34345 a
-SDict begin [ /View [/XYZ H.V] /Dest (2647) cvn H.B /DEST pdfmark end
- -30
-34345 a 1679 x FU(Installing)i(W)-62 b(indo)-39 b(ws)389
-b(NT)h(should)f(be)h(f)-15 b(airly)389 b(straightforw)-15
-b(ard,)389 b(as)h(should)f(installing)f(Linux.)-30 38039
-y(From)557 b(there,)i(it)e(gets)h(a)f(little)h(more)f(trick)-23
-b(y)-101 b(.)558 b(Grabbing)f(the)h(\002rst)f(512)h(bytes)f(of)h(the)g
-(Linux)-30 40054 y(partition)491 b(is)h(easier)g(than)f(it)h(sounds.)f
-(Y)-170 b(ou)492 b(will)f(need)h(to)g(be)f(in)h(Linux)f(to)h
-(accomplish)f(this.)-30 42068 y(Assuming)386 b(your)h(Linux)g
-(partition)g(is)21022 42068 y
-SDict begin H.S end
- 21022 42068 a 21022 42068
-a
-SDict begin 18.2 H.A end
- 21022 42068 a 21022 42068 a
-SDict begin [ /View [/XYZ H.V] /Dest (2648) cvn H.B /DEST pdfmark end
- 21022 42068 a FQ(/dev/hda2)p
-FU(,)382 b(issue)387 b(this)f(command:)-30 43954 y
-SDict begin H.S end
- -30
-43954 a -30 43954 a
-SDict begin 14.56 H.A end
- -30 43954 a -30 43954 a
-SDict begin [ /View [/XYZ H.V] /Dest (2649) cvn H.B /DEST pdfmark end
- -30 43954
-a -30 43954 a
-SDict begin H.S end
- -30 43954 a -30 43954 a
-SDict begin 14.56 H.A end
- -30 43954 a -30
-43954 a
-SDict begin [ /View [/XYZ H.V] /Dest (2650) cvn H.B /DEST pdfmark end
- -30 43954 a 1276 x FJ(#)1309 45230 y
-SDict begin H.S end
- 1309 45230
-a 1309 45230 a
-SDict begin 14.56 H.A end
- 1309 45230 a 1309 45230 a
-SDict begin [ /View [/XYZ H.V] /Dest (2651) cvn H.B /DEST pdfmark end
- 1309 45230 a
-FH(dd)744 b(if=/dev/hda2)e(of=/tmp/bootsect.lnx)g(bs=1)h(count=512)-30
-46948 y
-SDict begin H.S end
- -30 46948 a -30 46948 a
-SDict begin 18.2 H.A end
- -30 46948 a -30 46948
-a
-SDict begin [ /View [/XYZ H.V] /Dest (2652) cvn H.B /DEST pdfmark end
- -30 46948 a 1846 x FU(That')-85 b(s)464 b(it.)g(No)-39
-b(w)464 b(you)f(need)h(to)g(cop)-15 b(y)463 b(bootsect.lnx)h(to)f(the)h
-(W)-62 b(indo)-39 b(ws)464 b(NT)g(partition.)f(Here')-85
-b(s)-30 50809 y(where)357 b(we)f(run)g(into)g(another)g(problem.)g
-(Linux)g(does)g(not)g(ha)-31 b(v)-23 b(e)356 b(stable)g(write)g
-(support)g(for)g(the)-30 52824 y(NTFS)427 b(\002lesystem.)g(If)h(you)g
-(installed)f(W)-62 b(indo)-39 b(ws)427 b(NT)h(and)g(formatted)f(your)h
-(dri)-39 b(v)-23 b(e)427 b(as)h(NTFS,)-30 54838 y(you)378
-b(will)f(need)h(to)f(cop)-15 b(y)378 b(this)f(\002le)g(to)h(a)g(F)-115
-b(A)-172 b(T)378 b(\003opp)-15 b(y)376 b(and)i(then)g(read)g(from)f(it)
-h(under)f(W)-62 b(indo)-39 b(ws)-30 56853 y(NT)-115 b(.)395
-b(If)f(you)g(formatted)f(the)h(W)-62 b(indo)-39 b(ws)394
-b(NT)g(dri)-39 b(v)-23 b(e)393 b(as)i(F)-115 b(A)-172
-b(T)-115 b(,)394 b(you)g(can)g(simply)f(mount)g(it)h(under)-30
-58868 y(Linux)346 b(and)g(cop)-15 b(y)346 b(the)g(\002le)g(o)-23
-b(v)g(er)-85 b(.)346 b(Either)g(w)-15 b(ay)-101 b(,)347
-b(you)f(will)g(w)-15 b(ant)345 b(to)h(get)37769 58868
-y
-SDict begin H.S end
- 37769 58868 a 37769 58868 a
-SDict begin 18.2 H.A end
- 37769 58868 a 37769 58868
-a
-SDict begin [ /View [/XYZ H.V] /Dest (2653) cvn H.B /DEST pdfmark end
- 37769 58868 a FQ(/tmp/bootsect.lnx)335 b FU(from)-30
-60882 y(the)387 b(Linux)g(dri)-39 b(v)-23 b(e)387 b(to)11444
-60882 y
-SDict begin H.S end
- 11444 60882 a 11444 60882 a
-SDict begin 18.2 H.A end
- 11444 60882 a 11444
-60882 a
-SDict begin [ /View [/XYZ H.V] /Dest (2654) cvn H.B /DEST pdfmark end
- 11444 60882 a FQ(C:\\BOOTSECT.LNX)378 b FU(on)387
-b(the)h(W)-62 b(indo)-39 b(ws)386 b(NT)i(dri)-39 b(v)-23
-b(e.)-30 61758 y
-SDict begin H.S end
- -30 61758 a -30 61758 a
-SDict begin 18.2 H.A end
- -30 61758 a
--30 61758 a
-SDict begin [ /View [/XYZ H.V] /Dest (2655) cvn H.B /DEST pdfmark end
- -30 61758 a 1914 x FU(The)454 b(last)g(step)g(is)g(adding)g
-(a)g(menu)g(option)g(to)g(the)g(W)-62 b(indo)-39 b(ws)454
-b(NT)g(boot)g(menu.)g(Under)g(W)-62 b(in-)-30 65686 y(do)-39
-b(ws)387 b(NT)h(open)f(a)g(command)g(prompt.)p Black
--30 73792 a FR(98)p Black eop end
-%%Page: 99 121
-TeXDict begin 99 120 bop -8000 -8000 a
-SDict begin /product where{pop product(Distiller)search{pop pop pop
-version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
-closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
-grestore}if}{pop}ifelse}{pop}ifelse}if end
- -8000 -8000 a
-Black 0 TeXcolorgray -30 -1237 a
-SDict begin H.S end
- -30 -1237 a 0 TeXcolorgray
-0 TeXcolorgray -30 -1237 a
-SDict begin H.R end
- -30 -1237 a -30 -1237 a
-SDict begin [ /View [/XYZ H.V] /Dest (page.99) cvn H.B /DEST pdfmark
-end
- -30
--1237 a Black 40238 -1636 a FR(Chapter)387 b(7)g(Booting)p
-Black -30 2504 a
-SDict begin H.S end
- -30 2504 a -30 2504 a
-SDict begin 14.56 H.A end
- -30 2504 a -30
-2504 a
-SDict begin [ /View [/XYZ H.V] /Dest (2656) cvn H.B /DEST pdfmark end
- -30 2504 a 1107 x FP(C:\\WINNT>)7409 3611 y
-SDict begin H.S end
- 7409
-3611 a 7409 3611 a
-SDict begin 14.56 H.A end
- 7409 3611 a 7409 3611 a
-SDict begin [ /View [/XYZ H.V] /Dest (2657) cvn H.B /DEST pdfmark end
- 7409 3611
-a FH(cd)744 b(\\)-30 5223 y FP(C:\\>)3689 5223 y
-SDict begin H.S end
- 3689
-5223 a 3689 5223 a
-SDict begin 14.56 H.A end
- 3689 5223 a 3689 5223 a
-SDict begin [ /View [/XYZ H.V] /Dest (2658) cvn H.B /DEST pdfmark end
- 3689 5223
-a FH(attrib)g(-r)f(-a)h(-s)g(-h)f(boot.ini)-30 6835 y
-FP(C:\\>)3689 6835 y
-SDict begin H.S end
- 3689 6835 a 3689 6835 a
-SDict begin 14.56 H.A end
- 3689 6835
-a 3689 6835 a
-SDict begin [ /View [/XYZ H.V] /Dest (2659) cvn H.B /DEST pdfmark end
- 3689 6835 a FH(edit)h(boot.ini)-30 8482
-y
-SDict begin H.S end
- -30 8482 a -30 8482 a
-SDict begin 18.2 H.A end
- -30 8482 a -30 8482 a
-SDict begin [ /View [/XYZ H.V] /Dest (2660) cvn H.B /DEST pdfmark end
- -30 8482
-a 1917 x FU(Add)387 b(this)g(line)g(to)g(the)g(end)h(of)f(the)g
-(\002le:)-30 11964 y
-SDict begin H.S end
- -30 11964 a -30 11964 a
-SDict begin 14.56 H.A end
- -30 11964
-a -30 11964 a
-SDict begin [ /View [/XYZ H.V] /Dest (2661) cvn H.B /DEST pdfmark end
- -30 11964 a 1596 x FP(C:\\bootsect.lnx="Slackware)741
-b(Linux")-30 15208 y
-SDict begin H.S end
- -30 15208 a -30 15208 a
-SDict begin 18.2 H.A end
- -30 15208
-a -30 15208 a
-SDict begin [ /View [/XYZ H.V] /Dest (2662) cvn H.B /DEST pdfmark end
- -30 15208 a 1917 x FU(Sa)-31 b(v)-23 b(e)417
-b(the)g(changes)g(and)g(e)-23 b(xit)416 b(the)h(editor)-85
-b(.)417 b(When)g(you)g(reboot)f(W)-62 b(indo)-39 b(ws)417
-b(NT)-115 b(,)418 b(you)f(will)f(ha)-31 b(v)-23 b(e)-30
-19140 y(a)388 b(Linux)e(option)h(on)g(the)g(menu.)h(Choosing)e(it)h
-(will)g(boot)g(into)f(Linux.)-30 21800 y
-SDict begin H.S end
- -30 21800 a
--30 21800 a
-SDict begin 18.2 H.A end
- -30 21800 a -30 21800 a
-SDict begin [ /View [/XYZ H.V] /Dest (BOOTING-DUAL-LINUX) cvn H.B /DEST
-pdfmark end
- -30 21800 a 5181
-x FG(Lin)-19 b(ux)-30 27934 y
-SDict begin H.S end
- -30 27934 a -30 27934 a
-SDict begin 18.2 H.A end
-
--30 27934 a -30 27934 a
-SDict begin [ /View [/XYZ H.V] /Dest (2665) cvn H.B /DEST pdfmark end
- -30 27934 a 1992 x FU(Y)-155
-b(es,)431 b(people)g(really)f(do)h(this.)g(This)f(is)h(de\002nitely)f
-(the)g(easiest)h(dual)f(boot)h(scenario.)g(Y)-170 b(ou)430
-b(can)-30 31940 y(simply)457 b(use)g(LILO)h(and)f(add)g(more)h(entries)
-f(to)g(the)28795 31940 y
-SDict begin H.S end
- 28795 31940 a 28795 31940 a
-SDict begin 18.2 H.A end
-
-28795 31940 a 28795 31940 a
-SDict begin [ /View [/XYZ H.V] /Dest (2666) cvn H.B /DEST pdfmark end
- 28795 31940 a FQ(/etc/lilo.conf)449
-b FU(\002le.)457 b(That')-85 b(s)457 b(all)h(there)f(is)-30
-33955 y(to)387 b(it.)p Black 50226 73792 a FR(99)p Black
-eop end
-%%Page: 100 122
-TeXDict begin 100 121 bop -8000 -8000 a
-SDict begin /product where{pop product(Distiller)search{pop pop pop
-version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
-closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
-grestore}if}{pop}ifelse}{pop}ifelse}if end
- -8000 -8000 a
-Black 0 TeXcolorgray -30 -1237 a
-SDict begin H.S end
- -30 -1237 a 0 TeXcolorgray
-0 TeXcolorgray -30 -1237 a
-SDict begin H.R end
- -30 -1237 a -30 -1237 a
-SDict begin [ /View [/XYZ H.V] /Dest (page.100) cvn H.B /DEST pdfmark
-end
- -30
--1237 a Black -399 x FR(Chapter)387 b(7)g(Booting)p Black
-Black -30 73792 a(100)p Black eop end
-%%Page: 101 123
-TeXDict begin 101 122 bop -8000 -8000 a
-SDict begin /product where{pop product(Distiller)search{pop pop pop
-version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
-closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
-grestore}if}{pop}ifelse}{pop}ifelse}if end
- -8000 -8000 a
-Black 0 TeXcolorgray -30 -1358 a
-SDict begin H.S end
- -30 -1358 a 0 TeXcolorgray
-0 TeXcolorgray -30 -1358 a
-SDict begin H.R end
- -30 -1358 a -30 -1358 a
-SDict begin [ /View [/XYZ H.V] /Dest (page.101) cvn H.B /DEST pdfmark
-end
- -30
--1358 a Black Black -30 2383 a
-SDict begin H.S end
- -30 2383 a -30 2383 a
-SDict begin 18.2 H.A end
-
--30 2383 a -30 2383 a
-SDict begin [ /View [/XYZ H.V] /Dest (SHELL) cvn H.B /DEST pdfmark
-end
- -30 2383 a 2345 x FS(Chapter)894
-b(8)-30 10743 y FO(The)1287 b(Shell)p -30 18316 51806
-56 v -30 18316 a
-SDict begin H.S end
- -30 18316 a -30 18316 a
-SDict begin 18.2 H.A end
- -30 18316 a
--30 18316 a
-SDict begin [ /View [/XYZ H.V] /Dest (2669) cvn H.B /DEST pdfmark end
- -30 18316 a -30 18316 a
-SDict begin H.S end
- -30 18316 a -30 18316
-a
-SDict begin 18.2 H.A end
- -30 18316 a -30 18316 a
-SDict begin [ /View [/XYZ H.V] /Dest (2671) cvn H.B /DEST pdfmark end
- -30 18316 a -30 19091 a
-SDict begin H.S end
- -30
-19091 a -30 19091 a
-SDict begin 18.2 H.A end
- -30 19091 a -30 19091 a
-SDict begin [ /View [/XYZ H.V] /Dest (2673) cvn H.B /DEST pdfmark end
- -30 19091
-a 1051 x FU(In)394 b(a)h(graphical)f(en)-62 b(vironment,)393
-b(the)h(interf)-15 b(ace)394 b(is)g(pro)-23 b(vided)394
-b(by)g(a)g(program)g(that)g(creates)g(win-)-30 22157
-y(do)-39 b(ws,)514 b(scrollbars,)g(menus,)g(etc.)h(In)f(a)g
-(commandline)f(en)-62 b(vironment,)513 b(the)h(user)g(interf)-15
-b(ace)513 b(is)-30 24171 y(pro)-23 b(vided)553 b(by)h(a)f(shell,)h
-(which)f(interprets)h(commands)e(and)i(generally)f(mak)-15
-b(es)553 b(things)g(use-)-30 26186 y(able.)466 b(Immediately)f(after)i
-(logging)e(in)h(\(which)f(is)h(co)-23 b(v)g(ered)466
-b(in)f(this)h(chapter\),)g(users)g(are)g(put)-30 28201
-y(into)444 b(a)g(shell)f(and)h(allo)-39 b(wed)444 b(to)g(go)g(about)g
-(their)f(b)-31 b(usiness.)444 b(This)g(chapter)g(serv)-23
-b(es)443 b(as)h(an)g(intro-)-30 30215 y(duction)388 b(to)h(the)g
-(shell,)f(and)h(to)g(the)g(most)f(common)g(shell)g(among)h(Linux)f
-(users--)h(the)f(Bourne)-30 32230 y(Ag)-8 b(ain)345 b(Shell)g
-(\(bash\).)h(F)-23 b(or)344 b(more)i(detailed)e(information)h(on)g(an)
--23 b(ything)344 b(in)h(this)g(chapter)-62 b(,)346 b(check)-30
-34245 y(out)387 b(the)4619 34245 y
-SDict begin H.S end
- 4619 34245 a 4619
-34245 a
-SDict begin 18.2 H.A end
- 4619 34245 a 4619 34245 a
-SDict begin [ /View [/XYZ H.V] /Dest (2674) cvn H.B /DEST pdfmark end
- 4619 34245 a FP(bash)p
-FU(\(1\))g(man)g(page.)-30 34580 y
-SDict begin H.S end
- -30 34580 a -30 34580
-a
-SDict begin 18.2 H.A end
- -30 34580 a -30 34580 a
-SDict begin [ /View [/XYZ H.V] /Dest (SHELL-USERS) cvn H.B /DEST pdfmark
-end
- -30 34580 a 5789 x FL(8.1)620
-b(User)-33 b(s)-30 40397 y
-SDict begin H.S end
- -30 40397 a -30 40397 a
-SDict begin 18.2 H.A end
- -30
-40397 a -30 40397 a
-SDict begin [ /View [/XYZ H.V] /Dest (2677) cvn H.B /DEST pdfmark end
- -30 40397 a 5334 x FG(Log)-19 b(ging)519
-b(In)-30 47075 y
-SDict begin H.S end
- -30 47075 a -30 47075 a
-SDict begin 18.2 H.A end
- -30 47075 a
--30 47075 a
-SDict begin [ /View [/XYZ H.V] /Dest (2679) cvn H.B /DEST pdfmark end
- -30 47075 a 1601 x FU(So)387 b(you')-77 b(v)-23
-b(e)386 b(booted,)i(and)f(you')-77 b(re)387 b(looking)f(at)h(something)
-g(that)34745 48676 y
-SDict begin H.S end
- 34745 48676 a 34745 48676 a
-SDict begin 18.2 H.A end
- 34745
-48676 a 34745 48676 a
-SDict begin [ /View [/XYZ H.V] /Dest (2680) cvn H.B /DEST pdfmark end
- 34745 48676 a 387 w FU(looks)g(lik)-15
-b(e)386 b(this:)-30 50561 y
-SDict begin H.S end
- -30 50561 a -30 50561 a
-SDict begin 14.56 H.A end
- -30
-50561 a -30 50561 a
-SDict begin [ /View [/XYZ H.V] /Dest (2682) cvn H.B /DEST pdfmark end
- -30 50561 a 1276 x FP(Welcome)743
-b(to)h(Linux)f(2.4.18)-30 53449 y(Last)g(login:)h(Wed)f(Jan)2231
-b(1)744 b(15:59:14)f(-0500)g(2005)h(on)f(tty6.)-30 55061
-y(darkstar)g(login:)-30 56805 y
-SDict begin H.S end
- -30 56805 a -30 56805
-a
-SDict begin 18.2 H.A end
- -30 56805 a -30 56805 a
-SDict begin [ /View [/XYZ H.V] /Dest (2683) cvn H.B /DEST pdfmark end
- -30 56805 a 1820 x FU(Hmm..)539
-b(nobody)f(said)g(an)-23 b(ything)537 b(about)h(a)h(login.)f(And)g
-(what')-85 b(s)538 b(a)g(darkstar?)h(Don')-28 b(t)538
-b(w)-15 b(orry;)-30 60640 y(you)549 b(probably)g(didn')-28
-b(t)549 b(accidentally)g(\002re)g(up)h(a)f(h)-8 b(yperspace)550
-b(comm-link)e(to)h(the)h(Empire')-85 b(s)-30 62655 y(arti\002cial)453
-b(moon.)h(\(I'm)g(afraid)g(the)g(h)-8 b(yperspace)454
-b(comm-link)f(protocol)g(isn')-28 b(t)454 b(currently)f(sup-)-30
-64669 y(ported)544 b(by)f(the)h(Linux)f(k)-15 b(ernel.)543
-b(Maybe)h(the)f(2.8)h(k)-15 b(ernel)544 b(branch)f(will)g(at)h(last)f
-(pro)-23 b(vide)544 b(this)-30 66684 y(oft)416 b(look)-15
-b(ed-for)9050 66684 y
-SDict begin H.S end
- 9050 66684 a 9050 66684 a
-SDict begin 18.2 H.A end
- 9050
-66684 a 9050 66684 a
-SDict begin [ /View [/XYZ H.V] /Dest (2684) cvn H.B /DEST pdfmark end
- 9050 66684 a 416 w FU(support.\))416
-b(No,)g(darkstar)g(is)g(just)f(the)h(name)g(of)g(one)g(of)g(our)g
-(computers,)g(and)p Black 49451 73672 a FR(101)p Black
-eop end
-%%Page: 102 124
-TeXDict begin 102 123 bop -8000 -8000 a
-SDict begin /product where{pop product(Distiller)search{pop pop pop
-version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
-closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
-grestore}if}{pop}ifelse}{pop}ifelse}if end
- -8000 -8000 a
-Black 0 TeXcolorgray -30 -1358 a
-SDict begin H.S end
- -30 -1358 a 0 TeXcolorgray
-0 TeXcolorgray -30 -1358 a
-SDict begin H.R end
- -30 -1358 a -30 -1358 a
-SDict begin [ /View [/XYZ H.V] /Dest (page.102) cvn H.B /DEST pdfmark
-end
- -30
--1358 a Black -278 x FR(Chapter)387 b(8)g(The)g(Shell)p
-Black -30 3490 a FU(its)433 b(name)g(gets)g(stamped)g(on)g(as)g(the)g
-(def)-15 b(ault.)433 b(If)h(you)f(speci\002ed)f(a)i(name)f(for)g(your)h
-(computer)-30 5505 y(during)387 b(setup,)g(you)g(should)g(see)g(it)g
-(instead)g(of)h(darkstar)-85 b(.)-30 5840 y
-SDict begin H.S end
- -30 5840
-a -30 5840 a
-SDict begin 18.2 H.A end
- -30 5840 a -30 5840 a
-SDict begin [ /View [/XYZ H.V] /Dest (2686) cvn H.B /DEST pdfmark end
- -30 5840 a -30 5840
-a
-SDict begin H.S end
- -30 5840 a -30 5840 a
-SDict begin 18.2 H.A end
- -30 5840 a -30 5840 a
-SDict begin [ /View [/XYZ H.V] /Dest (2688) cvn H.B /DEST pdfmark end
- -30 5840
-a -30 6615 a
-SDict begin H.S end
- -30 6615 a -30 6615 a
-SDict begin 18.2 H.A end
- -30 6615 a -30 6615
-a
-SDict begin [ /View [/XYZ H.V] /Dest (2690) cvn H.B /DEST pdfmark end
- -30 6615 a 1679 x FU(As)460 b(for)g(the)g(login...)h(If)f(this)f(is)h
-(your)g(\002rst)f(time,)h(you')-15 b(ll)459 b(w)-15 b(ant)459
-b(to)h(log)g(in)f(as)42169 8294 y
-SDict begin H.S end
- 42169 8294 a 42169
-8294 a
-SDict begin 18.2 H.A end
- 42169 8294 a 42169 8294 a
-SDict begin [ /View [/XYZ H.V] /Dest (2691) cvn H.B /DEST pdfmark end
- 42169 8294 a FP(root)p
-FU(.)h(Y)-170 b(ou')-15 b(ll)459 b(be)-30 10309 y(prompted)525
-b(for)g(a)h(passw)-15 b(ord;)524 b(if)i(you)f(set)g(one)h(during)e(the)
-i(setup)f(process,)g(that')-85 b(s)525 b(what)h(it')-85
-b(s)-30 12324 y(looking)387 b(for)-85 b(.)387 b(If)h(not,)f(just)g(hit)
-g(enter)-85 b(.)387 b(That')-85 b(s)387 b(it--)g(you')-77
-b(re)387 b(in!)-30 13434 y
-SDict begin H.S end
- -30 13434 a -30 13434 a
-SDict begin 18.2 H.A end
- -30
-13434 a -30 13434 a
-SDict begin [ /View [/XYZ H.V] /Dest (2692) cvn H.B /DEST pdfmark end
- -30 13434 a 5182 x FG(Root:)518 b(The)f(Superuser)
--30 19931 y
-SDict begin H.S end
- -30 19931 a -30 19931 a
-SDict begin 18.2 H.A end
- -30 19931 a -30 19931
-a
-SDict begin [ /View [/XYZ H.V] /Dest (2694) cvn H.B /DEST pdfmark end
- -30 19931 a 1629 x FU(Okay)-101 b(,)388 b(who)f(or)8735
-21560 y
-SDict begin H.S end
- 8735 21560 a 8735 21560 a
-SDict begin 18.2 H.A end
- 8735 21560 a 8735 21560
-a
-SDict begin [ /View [/XYZ H.V] /Dest (2695) cvn H.B /DEST pdfmark end
- 8735 21560 a FR(what)415 b FU(is)13586 21560 y
-SDict begin H.S end
- 13586
-21560 a 13586 21560 a
-SDict begin 18.2 H.A end
- 13586 21560 a 13586 21560 a
-SDict begin [ /View [/XYZ H.V] /Dest (2696) cvn H.B /DEST pdfmark end
- 13586
-21560 a FP(root)p FU(?)387 b(And)g(what')-85 b(s)387
-b(it)g(doing)g(with)g(an)g(account)g(on)42431 21560 y
-SDict begin H.S end
-
-42431 21560 a 42431 21560 a
-SDict begin 18.2 H.A end
- 42431 21560 a 42431 21560
-a
-SDict begin [ /View [/XYZ H.V] /Dest (2697) cvn H.B /DEST pdfmark end
- 42431 21560 a FR(your)423 b FU(system?)-30 21896 y
-SDict begin H.S end
-
--30 21896 a -30 21896 a
-SDict begin 18.2 H.A end
- -30 21896 a -30 21896 a
-SDict begin [ /View [/XYZ H.V] /Dest (2698) cvn H.B /DEST pdfmark end
- -30 21896
-a -30 22671 a
-SDict begin H.S end
- -30 22671 a -30 22671 a
-SDict begin 18.2 H.A end
- -30 22671 a -30
-22671 a
-SDict begin [ /View [/XYZ H.V] /Dest (2700) cvn H.B /DEST pdfmark end
- -30 22671 a 1679 x FU(W)-124 b(ell,)324 b(in)f(the)g(w)-15
-b(orld)323 b(of)g(Unix)g(and)h(similar)e(operating)h(systems)g(\(lik)
--15 b(e)323 b(Linux\),)g(there)g(are)h(users)-30 26364
-y(and)531 b(then)f(there)h(are)g(users.)g(W)-124 b(e')-15
-b(ll)531 b(go)f(into)h(this)f(in)h(more)f(detail)h(later)-62
-b(,)531 b(b)-31 b(ut)530 b(the)h(important)-30 28379
-y(thing)427 b(to)h(kno)-39 b(w)428 b(no)-39 b(w)428 b(is)f(that)16323
-28379 y
-SDict begin H.S end
- 16323 28379 a 16323 28379 a
-SDict begin 18.2 H.A end
- 16323 28379 a 16323
-28379 a
-SDict begin [ /View [/XYZ H.V] /Dest (2701) cvn H.B /DEST pdfmark end
- 16323 28379 a FP(root)h FU(is)f(the)h(user)g(abo)-23
-b(v)g(e)427 b(all)h(users;)36623 28379 y
-SDict begin H.S end
- 36623 28379
-a 36623 28379 a
-SDict begin 18.2 H.A end
- 36623 28379 a 36623 28379 a
-SDict begin [ /View [/XYZ H.V] /Dest (2702) cvn H.B /DEST pdfmark end
- 36623 28379
-a FP(root)g FU(is)f(all-po)-39 b(werful)428 b(and)-30
-30394 y(all-kno)-39 b(wing,)391 b(and)10829 30394 y
-SDict begin H.S end
- 10829
-30394 a 10829 30394 a
-SDict begin 18.2 H.A end
- 10829 30394 a 10829 30394 a
-SDict begin [ /View [/XYZ H.V] /Dest (2703) cvn H.B /DEST pdfmark end
- 10829
-30394 a FR(nobody)g FU(disobe)-23 b(ys)21575 30394 y
-SDict begin H.S end
-
-21575 30394 a 21575 30394 a
-SDict begin 18.2 H.A end
- 21575 30394 a 21575 30394
-a
-SDict begin [ /View [/XYZ H.V] /Dest (2704) cvn H.B /DEST pdfmark end
- 21575 30394 a FP(root)p FU(.)392 b(It)f(just)g(isn')-28
-b(t)391 b(allo)-39 b(wed.)38064 30394 y
-SDict begin H.S end
- 38064 30394 a
-38064 30394 a
-SDict begin 18.2 H.A end
- 38064 30394 a 38064 30394 a
-SDict begin [ /View [/XYZ H.V] /Dest (2705) cvn H.B /DEST pdfmark end
- 38064 30394
-a FP(root)391 b FU(is)g(what)g(we)h(call)f(a)-30 32408
-y
-SDict begin H.S end
- -30 32408 a -30 32408 a
-SDict begin 18.2 H.A end
- -30 32408 a -30 32408 a
-SDict begin [ /View [/XYZ H.V] /Dest (2706) cvn H.B /DEST pdfmark end
- -30
-32408 a FU(\223superuser\224,)d(and)f(rightly)g(so.)g(And)g(best)g(of)h
-(all,)27301 32408 y
-SDict begin H.S end
- 27301 32408 a 27301 32408 a
-SDict begin 18.2 H.A end
- 27301
-32408 a 27301 32408 a
-SDict begin [ /View [/XYZ H.V] /Dest (2707) cvn H.B /DEST pdfmark end
- 27301 32408 a 27689 32408 a
-SDict begin H.S end
- 27689
-32408 a 27689 32408 a
-SDict begin 18.2 H.A end
- 27689 32408 a 27689 32408 a
-SDict begin [ /View [/XYZ H.V] /Dest (2709) cvn H.B /DEST pdfmark end
- 27689
-32408 a FP(root)f FU(is)32473 32408 y
-SDict begin H.S end
- 32473 32408 a 32473
-32408 a
-SDict begin 18.2 H.A end
- 32473 32408 a 32473 32408 a
-SDict begin [ /View [/XYZ H.V] /Dest (2710) cvn H.B /DEST pdfmark end
- 32473 32408 a FR(you)p
-FU(.)-30 33519 y
-SDict begin H.S end
- -30 33519 a -30 33519 a
-SDict begin 18.2 H.A end
- -30 33519 a
--30 33519 a
-SDict begin [ /View [/XYZ H.V] /Dest (2711) cvn H.B /DEST pdfmark end
- -30 33519 a 1679 x FU(Cool,)g(huh?)-30 36197
-y
-SDict begin H.S end
- -30 36197 a -30 36197 a
-SDict begin 18.2 H.A end
- -30 36197 a -30 36197 a
-SDict begin [ /View [/XYZ H.V] /Dest (2712) cvn H.B /DEST pdfmark end
- -30
-36197 a 1791 x FU(If)593 b(you')-77 b(re)593 b(not)f(sure:)h(yes,)h
-(that')-85 b(s)592 b(v)-23 b(ery)593 b(cool.)g(The)g(catch)g(is,)g
-(though,)g(that)g(root)f(is)h(inher)-31 b(-)-30 40002
-y(ently)652 b(allo)-39 b(wed)653 b(to)f(break)h(an)-23
-b(ything)652 b(it)g(so)g(desires.)h(Y)-170 b(ou)652 b(might)g(w)-15
-b(ant)652 b(to)g(skip)g(ahead)h(to)p 0 TeXcolorgray -30
-42017 a
-SDict begin H.S end
- -30 42017 a FU(Section)387 b(12.1.1)8881 42017
-y
-SDict begin 18.2 H.L end
- 8881 42017 a 8881 42017 a
-SDict begin [ /Subtype /Link /Dest (ESSENTIAL-SYSADMIN-USERS-SCRIPTS)
-cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 8881 42017 a Black 489 w
-FU(and)489 b(see)f(about)h(adding)f(a)h(user;)f(then)h(login)f(as)g
-(that)h(user)f(and)h(w)-15 b(ork)488 b(from)-30 44032
-y(there.)353 b(The)f(traditional)f(wisdom)h(is)g(that)f(it')-85
-b(s)352 b(best)g(to)g(only)g(become)g(the)g(superuser)g(when)g(ab-)-30
-46046 y(solutely)410 b(necessary)-101 b(,)411 b(so)f(as)g(to)h
-(minimize)e(the)h(possibility)f(of)h(accidentally)g(breaking)g(some-)
--30 48061 y(thing.)-30 49171 y
-SDict begin H.S end
- -30 49171 a -30 49171
-a
-SDict begin 18.2 H.A end
- -30 49171 a -30 49171 a
-SDict begin [ /View [/XYZ H.V] /Dest (2714) cvn H.B /DEST pdfmark end
- -30 49171 a 1679 x FU(By)488
-b(the)g(w)-15 b(ay)-101 b(,)488 b(if)g(you)g(decide)g(you)g(w)-15
-b(ant)488 b(to)f(be)i(root)f(while)f(you')-77 b(re)488
-b(logged)f(in)h(as)h(someone)-30 52865 y(else,)343 b(no)f(problem.)h
-(Just)e(use)i(the)18296 52865 y
-SDict begin H.S end
- 18296 52865 a 18296 52865
-a
-SDict begin 18.2 H.A end
- 18296 52865 a 18296 52865 a
-SDict begin [ /View [/XYZ H.V] /Dest (2715) cvn H.B /DEST pdfmark end
- 18296 52865 a 18639 52865
-a
-SDict begin H.S end
- 18639 52865 a 18639 52865 a
-SDict begin 18.2 H.A end
- 18639 52865 a 18639 52865
-a
-SDict begin [ /View [/XYZ H.V] /Dest (2717) cvn H.B /DEST pdfmark end
- 18639 52865 a FP(su)p FU(\(1\))f(command.)g(Y)-170
-b(ou')-15 b(ll)341 b(be)i(ask)-15 b(ed)342 b(for)41132
-52865 y
-SDict begin H.S end
- 41132 52865 a 41132 52865 a
-SDict begin 18.2 H.A end
- 41132 52865 a 41132
-52865 a
-SDict begin [ /View [/XYZ H.V] /Dest (2718) cvn H.B /DEST pdfmark end
- 41132 52865 a FP(root's)g FU(passw)-15 b(ord)-30
-54880 y(and)407 b(then)h(it)f(will)g(mak)-15 b(e)407
-b(you)16261 54880 y
-SDict begin H.S end
- 16261 54880 a 16261 54880 a
-SDict begin 18.2 H.A end
- 16261
-54880 a 16261 54880 a
-SDict begin [ /View [/XYZ H.V] /Dest (2719) cvn H.B /DEST pdfmark end
- 16261 54880 a FP(root)g FU(until)g(you)25626
-54880 y
-SDict begin H.S end
- 25626 54880 a 25626 54880 a
-SDict begin 18.2 H.A end
- 25626 54880 a 25626
-54880 a
-SDict begin [ /View [/XYZ H.V] /Dest (2720) cvn H.B /DEST pdfmark end
- 25626 54880 a FP(exit)g FU(or)30707 54880 y
-SDict begin H.S end
- 30707
-54880 a 30707 54880 a
-SDict begin 18.2 H.A end
- 30707 54880 a 30707 54880 a
-SDict begin [ /View [/XYZ H.V] /Dest (2721) cvn H.B /DEST pdfmark end
- 30707
-54880 a FP(logout)p FU(.)h(Y)-170 b(ou)406 b(can)i(also)f(become)g(an)
--23 b(y)-30 56894 y(other)314 b(user)g(using)10037 56894
-y
-SDict begin H.S end
- 10037 56894 a 10037 56894 a
-SDict begin 18.2 H.A end
- 10037 56894 a 10037 56894
-a
-SDict begin [ /View [/XYZ H.V] /Dest (2722) cvn H.B /DEST pdfmark end
- 10037 56894 a FP(su)p FU(,)h(pro)-23 b(vided)313 b(you)h(kno)-39
-b(w)314 b(that)g(user')-85 b(s)313 b(passw)-15 b(ord:)37536
-56894 y
-SDict begin H.S end
- 37536 56894 a 37536 56894 a
-SDict begin 18.2 H.A end
- 37536 56894 a 37536
-56894 a
-SDict begin [ /View [/XYZ H.V] /Dest (2723) cvn H.B /DEST pdfmark end
- 37536 56894 a FP(su)744 b(logan)p FU(,)314 b(for)g(instance,)
--30 58909 y(w)-15 b(ould)386 b(mak)-15 b(e)387 b(you)g(me.)-30
-59245 y
-SDict begin H.S end
- -30 59245 a -30 59245 a
-SDict begin 16.9 H.A end
- -30 59245 a -30 59245
-a
-SDict begin [ /View [/XYZ H.V] /Dest (2724) cvn H.B /DEST pdfmark end
- -30 59245 a -30 61569 a
-SDict begin H.S end
- -30 61569 a -30 61569 a
-SDict begin 16.9 H.A end
- -30
-61569 a -30 61569 a
-SDict begin [ /View [/XYZ H.V] /Dest (2725) cvn H.B /DEST pdfmark end
- -30 61569 a 3070 63104 a Fu(Note:)7146
-63104 y
-SDict begin H.S end
- 7146 63104 a 7146 63104 a
-SDict begin 16.9 H.A end
- 7146 63104 a 7146 63104
-a
-SDict begin [ /View [/XYZ H.V] /Dest (2726) cvn H.B /DEST pdfmark end
- 7146 63104 a Fn(root)399 b Ft(is)h(allo)-22 b(w)-14
-b(ed)402 b(to)e(su)g(to)g(an)-22 b(y)400 b(user)-72 b(,)400
-b(without)h(requir)22 b(ing)401 b(their)g(pass)-43 b(w)-14
-b(ord.)p Black -30 73672 a FR(102)p Black eop end
-%%Page: 103 125
-TeXDict begin 103 124 bop -8000 -8000 a
-SDict begin /product where{pop product(Distiller)search{pop pop pop
-version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
-closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
-grestore}if}{pop}ifelse}{pop}ifelse}if end
- -8000 -8000 a
-Black 0 TeXcolorgray -30 -1237 a
-SDict begin H.S end
- -30 -1237 a 0 TeXcolorgray
-0 TeXcolorgray -30 -1237 a
-SDict begin H.R end
- -30 -1237 a -30 -1237 a
-SDict begin [ /View [/XYZ H.V] /Dest (page.103) cvn H.B /DEST pdfmark
-end
- -30
--1237 a Black 39333 -1636 a FR(Chapter)387 b(8)g(The)g(Shell)p
-Black -30 2504 a
-SDict begin H.S end
- -30 2504 a -30 2504 a
-SDict begin 18.2 H.A end
- -30 2504 a -30
-2504 a
-SDict begin [ /View [/XYZ H.V] /Dest (SHELL-COMMAND-LINE) cvn H.B /DEST
-pdfmark end
- -30 2504 a 1628 x FL(8.2)620 b(The)g(Command)e(Line)-30
-4160 y
-SDict begin H.S end
- -30 4160 a -30 4160 a
-SDict begin 18.2 H.A end
- -30 4160 a -30 4160 a
-SDict begin [ /View [/XYZ H.V] /Dest (SHELL-COMMAND-LINE-RUNNING) cvn
-H.B /DEST pdfmark end
- -30
-4160 a 5334 x FG(Running)518 b(Pr)-37 b(ograms)-30 10838
-y
-SDict begin H.S end
- -30 10838 a -30 10838 a
-SDict begin 18.2 H.A end
- -30 10838 a -30 10838 a
-SDict begin [ /View [/XYZ H.V] /Dest (2731) cvn H.B /DEST pdfmark end
- -30
-10838 a 1601 x FU(It')-85 b(s)468 b(hard)h(to)f(get)h(much)f
-(accomplished)g(without)f(running)h(a)h(program;)f(you)h(might)e(be)i
-(able)-30 14453 y(to)404 b(prop)g(something)f(up)h(with)g(your)g
-(computer)g(or)g(hold)g(a)g(door)g(open,)h(and)f(some)g(will)g(mak)-15
-b(e)-30 16468 y(the)385 b(most)f(lo)-23 b(v)g(ely)384
-b(humming)g(noise)h(when)f(running,)h(b)-31 b(ut)385
-b(that')-85 b(s)384 b(really)h(about)g(it.)g(And)f(I)i(think)-30
-18483 y(we)403 b(can)f(all)g(agree)h(that)f(its)g(use)g(as)h(a)f
-(humming)g(doorstop)f(isn')-28 b(t)402 b(what)g(brought)g(the)g
-(personal)-30 20497 y(computer)387 b(the)g(popularity)f(it)i(no)-39
-b(w)387 b(enjo)-15 b(ys.)-30 21608 y
-SDict begin H.S end
- -30 21608 a -30
-21608 a
-SDict begin 18.2 H.A end
- -30 21608 a -30 21608 a
-SDict begin [ /View [/XYZ H.V] /Dest (2732) cvn H.B /DEST pdfmark end
- -30 21608 a 1679 x FU(So,)574
-b(remember)g(ho)-39 b(w)575 b(almost)e(e)-39 b(v)-23
-b(erything)574 b(in)g(Linux)g(is)g(a)g(\002le?)g(W)-124
-b(ell,)575 b(that)f(goes)g(for)g(pro-)-30 25302 y(grams,)446
-b(too.)g(Ev)-23 b(ery)446 b(command)f(you)h(run)g(\(that)g(isn')-28
-b(t)445 b(b)-31 b(uilt)445 b(into)h(the)g(shell\))f(resides)h(as)g(a)g
-(\002le)-30 27316 y(some)-39 b(where.)388 b(Y)-170 b(ou)386
-b(run)i(a)f(program)g(simply)f(by)i(specifying)e(the)h(full)g(path)g
-(to)g(it.)-30 28427 y
-SDict begin H.S end
- -30 28427 a -30 28427 a
-SDict begin 18.2 H.A end
- -30 28427
-a -30 28427 a
-SDict begin [ /View [/XYZ H.V] /Dest (2733) cvn H.B /DEST pdfmark end
- -30 28427 a 1679 x FU(F)-23 b(or)352 b(instance,)g
-(remember)g(that)17583 30106 y
-SDict begin H.S end
- 17583 30106 a 17583 30106
-a
-SDict begin 18.2 H.A end
- 17583 30106 a 17583 30106 a
-SDict begin [ /View [/XYZ H.V] /Dest (2734) cvn H.B /DEST pdfmark end
- 17583 30106 a FP(su)g FU(command)f(from)i
-(the)f(last)g(section?)g(W)-124 b(ell,)352 b(it')-85
-b(s)352 b(actually)g(in)-30 32121 y(the)2251 32121 y
-SDict begin H.S end
-
-2251 32121 a 2251 32121 a
-SDict begin 18.2 H.A end
- 2251 32121 a 2251 32121 a
-SDict begin [ /View [/XYZ H.V] /Dest (2735) cvn H.B /DEST pdfmark end
- 2251
-32121 a FQ(/bin)385 b FU(directory:)11557 32121 y
-SDict begin H.S end
- 11557
-32121 a 11557 32121 a
-SDict begin 18.2 H.A end
- 11557 32121 a 11557 32121 a
-SDict begin [ /View [/XYZ H.V] /Dest (2736) cvn H.B /DEST pdfmark end
- 11557
-32121 a FP(/bin/su)i FU(w)-15 b(ould)386 b(run)h(it)g(nicely)-101
-b(.)-30 32456 y
-SDict begin H.S end
- -30 32456 a -30 32456 a
-SDict begin 18.2 H.A end
- -30 32456 a -30
-32456 a
-SDict begin [ /View [/XYZ H.V] /Dest (2737) cvn H.B /DEST pdfmark end
- -30 32456 a -30 32456 a
-SDict begin H.S end
- -30 32456 a -30 32456
-a
-SDict begin 18.2 H.A end
- -30 32456 a -30 32456 a
-SDict begin [ /View [/XYZ H.V] /Dest (2739) cvn H.B /DEST pdfmark end
- -30 32456 a -30 33231 a
-SDict begin H.S end
- -30
-33231 a -30 33231 a
-SDict begin 18.2 H.A end
- -30 33231 a -30 33231 a
-SDict begin [ /View [/XYZ H.V] /Dest (2741) cvn H.B /DEST pdfmark end
- -30 33231
-a 1679 x FU(So)572 b(wh)-8 b(y)-101 b(,)572 b(then,)h(does)e(just)h
-(typing)20084 34910 y
-SDict begin H.S end
- 20084 34910 a 20084 34910 a
-SDict begin 18.2 H.A end
- 20084
-34910 a 20084 34910 a
-SDict begin [ /View [/XYZ H.V] /Dest (2742) cvn H.B /DEST pdfmark end
- 20084 34910 a FP(su)g FU(w)-15
-b(ork?)571 b(After)h(all,)g(you)g(didn')-28 b(t)571 b(say)h(it)g(w)-15
-b(as)571 b(in)48883 34910 y
-SDict begin H.S end
- 48883 34910 a 48883 34910
-a
-SDict begin 18.2 H.A end
- 48883 34910 a 48883 34910 a
-SDict begin [ /View [/XYZ H.V] /Dest (2743) cvn H.B /DEST pdfmark end
- 48883 34910 a FQ(/bin)p
-FU(.)-30 36925 y(It)504 b(could)g(just)f(as)h(easily)f(ha)-31
-b(v)-23 b(e)504 b(been)g(in)22542 36925 y
-SDict begin H.S end
- 22542 36925
-a 22542 36925 a
-SDict begin 18.2 H.A end
- 22542 36925 a 22542 36925 a
-SDict begin [ /View [/XYZ H.V] /Dest (2744) cvn H.B /DEST pdfmark end
- 22542 36925
-a FQ(/usr/local/share)p FU(,)494 b(right?)503 b(Ho)-39
-b(w)504 b(did)g(it)44902 36925 y
-SDict begin H.S end
- 44902 36925 a 44902
-36925 a
-SDict begin 18.2 H.A end
- 44902 36925 a 44902 36925 a
-SDict begin [ /View [/XYZ H.V] /Dest (2745) cvn H.B /DEST pdfmark end
- 44902 36925 a FR(know)p
-FU(?)g(The)-30 38939 y(answer)i(to)g(that)g(lies)g(in)g(the)16180
-38939 y
-SDict begin H.S end
- 16180 38939 a 16180 38939 a
-SDict begin 18.2 H.A end
- 16180 38939 a 16180
-38939 a
-SDict begin [ /View [/XYZ H.V] /Dest (2746) cvn H.B /DEST pdfmark end
- 16180 38939 a FP(PATH)f FU(en)-62 b(vironment)506
-b(v)-39 b(ariable;)506 b(most)f(shells)h(ha)-31 b(v)-23
-b(e)506 b(either)48800 38939 y
-SDict begin H.S end
- 48800 38939 a 48800 38939
-a
-SDict begin 18.2 H.A end
- 48800 38939 a 48800 38939 a
-SDict begin [ /View [/XYZ H.V] /Dest (2747) cvn H.B /DEST pdfmark end
- 48800 38939 a FP(PATH)-30
-40954 y FU(or)444 b(something)e(v)-23 b(ery)444 b(much)f(lik)-15
-b(e)18421 40954 y
-SDict begin H.S end
- 18421 40954 a 18421 40954 a
-SDict begin 18.2 H.A end
- 18421 40954
-a 18421 40954 a
-SDict begin [ /View [/XYZ H.V] /Dest (2748) cvn H.B /DEST pdfmark end
- 18421 40954 a FP(PATH)p FU(.)444 b(It)f(basically)g
-(contains)g(a)h(list)f(of)h(directories)f(to)g(look)-30
-42969 y(in)478 b(for)h(programs)f(you)g(try)g(to)g(run.)h(So)f(when)g
-(you)g(ran)31102 42969 y
-SDict begin H.S end
- 31102 42969 a 31102 42969 a
-SDict begin 18.2 H.A end
-
-31102 42969 a 31102 42969 a
-SDict begin [ /View [/XYZ H.V] /Dest (2749) cvn H.B /DEST pdfmark end
- 31102 42969 a FP(su)p FU(,)g(your)h(shell)e
-(ran)i(through)f(its)g(list)-30 44983 y(of)484 b(directories,)f
-(checking)g(each)h(one)f(for)g(an)h(e)-23 b(x)g(ecutable)482
-b(\002le)i(called)39228 44983 y
-SDict begin H.S end
- 39228 44983 a 39228 44983
-a
-SDict begin 18.2 H.A end
- 39228 44983 a 39228 44983 a
-SDict begin [ /View [/XYZ H.V] /Dest (2750) cvn H.B /DEST pdfmark end
- 39228 44983 a FP(su)f FU(that)g(it)g
-(could)g(run;)-30 46998 y(the)497 b(\002rst)e(one)i(it)f(came)h(to,)f
-(it)h(ran.)g(This)f(happens)g(whene)-39 b(v)-23 b(er)496
-b(you)h(run)f(a)h(program)f(without)-30 49013 y(specifying)363
-b(a)h(full)f(path)g(to)g(it;)g(if)h(you)f(get)g(a)23923
-49013 y
-SDict begin H.S end
- 23923 49013 a 23923 49013 a
-SDict begin 18.2 H.A end
- 23923 49013 a 23923
-49013 a
-SDict begin [ /View [/XYZ H.V] /Dest (2751) cvn H.B /DEST pdfmark end
- 23923 49013 a FU(\223)24611 49013 y
-SDict begin H.S end
- 24611 49013
-a 24611 49013 a
-SDict begin 18.2 H.A end
- 24611 49013 a 24611 49013 a
-SDict begin [ /View [/XYZ H.V] /Dest (2752) cvn H.B /DEST pdfmark end
- 24611 49013
-a FP(Command)743 b(not)h(found)p FU(\224)363 b(error)-62
-b(,)364 b(that)f(only)g(means)-30 51027 y(that)450 b(the)h(program)f
-(you)g(tried)g(to)g(run)h(isn')-28 b(t)450 b(in)g(your)29155
-51027 y
-SDict begin H.S end
- 29155 51027 a 29155 51027 a
-SDict begin 18.2 H.A end
- 29155 51027 a 29155
-51027 a
-SDict begin [ /View [/XYZ H.V] /Dest (2753) cvn H.B /DEST pdfmark end
- 29155 51027 a FP(PATH)p FU(.)h(\(Of)f(course,)h(this)f(w)-15
-b(ould)450 b(be)g(true)-30 53042 y(if)529 b(the)f(program)g(doesn')-28
-b(t)529 b(e)-23 b(xist)527 b(at)i(all...\))h(W)-124 b(e')-15
-b(ll)528 b(discuss)g(en)-62 b(vironment)527 b(v)-39 b(ariables)529
-b(in)f(more)-30 55057 y(depth)387 b(in)p 0 TeXcolorgray
-5394 55057 a
-SDict begin H.S end
- 5394 55057 a FU(Section)g(8.3.1)13530 55057
-y
-SDict begin 18.2 H.L end
- 13530 55057 a 13530 55057 a
-SDict begin [ /Subtype /Link /Dest (SHELL-BASH-ENVIRONMENT) cvn /H
-/I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 13530 55057 a Black FU(.)-30
-56167 y
-SDict begin H.S end
- -30 56167 a -30 56167 a
-SDict begin 18.2 H.A end
- -30 56167 a -30 56167
-a
-SDict begin [ /View [/XYZ H.V] /Dest (2755) cvn H.B /DEST pdfmark end
- -30 56167 a 1679 x FU(Remember)376 b(also)g(that)12721
-57846 y
-SDict begin H.S end
- 12721 57846 a 12721 57846 a
-SDict begin 18.2 H.A end
- 12721 57846 a 12721
-57846 a
-SDict begin [ /View [/XYZ H.V] /Dest (2756) cvn H.B /DEST pdfmark end
- 12721 57846 a FU(\223)13409 57846 y
-SDict begin H.S end
- 13409 57846
-a 13409 57846 a
-SDict begin 18.2 H.A end
- 13409 57846 a 13409 57846 a
-SDict begin [ /View [/XYZ H.V] /Dest (2757) cvn H.B /DEST pdfmark end
- 13409 57846
-a FQ(.)p FU(\224)g(is)g(shorthand)g(for)h(the)f(current)g(directory)
--101 b(,)377 b(so)f(if)h(you)f(happened)g(to)-30 59861
-y(be)387 b(in)3414 59861 y
-SDict begin H.S end
- 3414 59861 a 3414 59861 a
-SDict begin 18.2 H.A end
-
-3414 59861 a 3414 59861 a
-SDict begin [ /View [/XYZ H.V] /Dest (2758) cvn H.B /DEST pdfmark end
- 3414 59861 a FQ(/bin)p FU(,)6694
-59861 y
-SDict begin H.S end
- 6694 59861 a 6694 59861 a
-SDict begin 18.2 H.A end
- 6694 59861 a 6694 59861
-a
-SDict begin [ /View [/XYZ H.V] /Dest (2759) cvn H.B /DEST pdfmark end
- 6694 59861 a FQ(./su)e FU(w)-15 b(ould)386 b(ha)-31
-b(v)-23 b(e)387 b(w)-15 b(ork)g(ed)386 b(as)i(an)f(e)-23
-b(xplicit)386 b(full)h(path.)-30 60971 y
-SDict begin H.S end
- -30 60971 a
--30 60971 a
-SDict begin 18.2 H.A end
- -30 60971 a -30 60971 a
-SDict begin [ /View [/XYZ H.V] /Dest (SHELL-COMMAND-LINE-WILDCARD)
-cvn H.B /DEST pdfmark end
- -30 60971 a Black
-49451 73792 a FR(103)p Black eop end
-%%Page: 104 126
-TeXDict begin 104 125 bop -8000 -8000 a
-SDict begin /product where{pop product(Distiller)search{pop pop pop
-version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
-closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
-grestore}if}{pop}ifelse}{pop}ifelse}if end
- -8000 -8000 a
-Black 0 TeXcolorgray -30 -1237 a
-SDict begin H.S end
- -30 -1237 a 0 TeXcolorgray
-0 TeXcolorgray -30 -1237 a
-SDict begin H.R end
- -30 -1237 a -30 -1237 a
-SDict begin [ /View [/XYZ H.V] /Dest (page.104) cvn H.B /DEST pdfmark
-end
- -30
--1237 a Black -399 x FR(Chapter)387 b(8)g(The)g(Shell)p
-Black -30 3861 a FG(Wildcar)-37 b(d)517 b(Matc)-19 b(hing)-30
-4275 y
-SDict begin H.S end
- -30 4275 a -30 4275 a
-SDict begin 18.2 H.A end
- -30 4275 a -30 4275 a
-SDict begin [ /View [/XYZ H.V] /Dest (2762) cvn H.B /DEST pdfmark end
- -30
-4275 a -30 5204 a
-SDict begin H.S end
- -30 5204 a -30 5204 a
-SDict begin 18.2 H.A end
- -30 5204 a -30
-5204 a
-SDict begin [ /View [/XYZ H.V] /Dest (2764) cvn H.B /DEST pdfmark end
- -30 5204 a 1601 x FU(Nearly)672 b(e)-39 b(v)-23
-b(ery)672 b(shell)f(recognizes)h(some)f(characters)h(as)g(being)g
-(substitutes)e(or)i(abbre)-39 b(via-)-30 8820 y(tions)622
-b(that)h(mean)g(an)-23 b(ything)622 b(goes)h(here.)g(Such)g(characters)
-g(are)g(aptly)g(named)g(wildcards;)-30 10835 y(the)507
-b(most)g(common)f(are)14224 10835 y
-SDict begin H.S end
- 14224 10835 a 14224
-10835 a
-SDict begin 18.2 H.A end
- 14224 10835 a 14224 10835 a
-SDict begin [ /View [/XYZ H.V] /Dest (2765) cvn H.B /DEST pdfmark end
- 14224 10835 a FP(*)h
-FU(and)18220 10835 y
-SDict begin H.S end
- 18220 10835 a 18220 10835 a
-SDict begin 18.2 H.A end
- 18220
-10835 a 18220 10835 a
-SDict begin [ /View [/XYZ H.V] /Dest (2766) cvn H.B /DEST pdfmark end
- 18220 10835 a FP(?)p FU(.)g(By)g(con)-62
-b(v)-23 b(ention,)29871 10835 y
-SDict begin H.S end
- 29871 10835 a 29871 10835
-a
-SDict begin 18.2 H.A end
- 29871 10835 a 29871 10835 a
-SDict begin [ /View [/XYZ H.V] /Dest (2767) cvn H.B /DEST pdfmark end
- 29871 10835 a FP(?)507
-b FU(usually)f(matches)h(an)-23 b(y)507 b(single)g(char)-31
-b(-)-30 12849 y(acter)-85 b(.)504 b(F)-23 b(or)502 b(instance,)h
-(suppose)f(you')-77 b(re)503 b(in)f(a)i(directory)e(with)h(three)g
-(\002les:)41729 12849 y
-SDict begin H.S end
- 41729 12849 a 41729 12849 a
-SDict begin 18.2 H.A end
- 41729
-12849 a 41729 12849 a
-SDict begin [ /View [/XYZ H.V] /Dest (2768) cvn H.B /DEST pdfmark end
- 41729 12849 a FQ(ex1.txt)p FU(,)47004
-12849 y
-SDict begin H.S end
- 47004 12849 a 47004 12849 a
-SDict begin 18.2 H.A end
- 47004 12849 a 47004
-12849 a
-SDict begin [ /View [/XYZ H.V] /Dest (2769) cvn H.B /DEST pdfmark end
- 47004 12849 a FQ(ex2.txt)p FU(,)-30 14864 y(and)2730
-14864 y
-SDict begin H.S end
- 2730 14864 a 2730 14864 a
-SDict begin 18.2 H.A end
- 2730 14864 a 2730 14864
-a
-SDict begin [ /View [/XYZ H.V] /Dest (2770) cvn H.B /DEST pdfmark end
- 2730 14864 a FQ(ex3.txt)p FU(.)518 b(Y)-170 b(ou)521
-b(w)-15 b(ant)522 b(to)g(cop)-15 b(y)521 b(all)h(of)g(those)f(\002les)h
-(\(using)f(the)37407 14864 y
-SDict begin H.S end
- 37407 14864 a 37407 14864
-a
-SDict begin 18.2 H.A end
- 37407 14864 a 37407 14864 a
-SDict begin [ /View [/XYZ H.V] /Dest (2771) cvn H.B /DEST pdfmark end
- 37407 14864 a FP(cp)h FU(command)f(we)h
-(co)-23 b(v)g(er)-30 16879 y(in)p 0 TeXcolorgray 1604
-16879 a
-SDict begin H.S end
- 1604 16879 a FU(Section)386 b(10.5.1)10514 16879
-y
-SDict begin 18.2 H.L end
- 10514 16879 a 10514 16879 a
-SDict begin [ /Subtype /Link /Dest (FILE-COMMANDS-COPYMOVE-CP) cvn
-/H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 10514 16879 a Black 1 w
-FU(\))428 b(to)g(another)f(directory)-101 b(,)429 b(say)26972
-16879 y
-SDict begin H.S end
- 26972 16879 a 26972 16879 a
-SDict begin 18.2 H.A end
- 26972 16879 a 26972
-16879 a
-SDict begin [ /View [/XYZ H.V] /Dest (2773) cvn H.B /DEST pdfmark end
- 26972 16879 a FQ(/tmp)p FU(.)d(W)-124 b(ell,)428
-b(typing)38386 16879 y
-SDict begin H.S end
- 38386 16879 a 38386 16879 a
-SDict begin 18.2 H.A end
- 38386
-16879 a 38386 16879 a
-SDict begin [ /View [/XYZ H.V] /Dest (2774) cvn H.B /DEST pdfmark end
- 38386 16879 a FP(cp)744 b(ex1.txt)f(ex2.txt)-30
-18893 y(ex3.txt)g(/tmp)330 b FU(is)f(entirely)g(too)h(much)f(w)-15
-b(ork.)330 b(It')-85 b(s)329 b(much)h(easier)g(to)f(type)40187
-18893 y
-SDict begin H.S end
- 40187 18893 a 40187 18893 a
-SDict begin 18.2 H.A end
- 40187 18893 a 40187
-18893 a
-SDict begin [ /View [/XYZ H.V] /Dest (2775) cvn H.B /DEST pdfmark end
- 40187 18893 a FP(cp)744 b(ex?.txt)f(/tmp)p FU(;)-30
-20908 y(the)2344 20908 y
-SDict begin H.S end
- 2344 20908 a 2344 20908 a
-SDict begin 18.2 H.A end
- 2344
-20908 a 2344 20908 a
-SDict begin [ /View [/XYZ H.V] /Dest (2776) cvn H.B /DEST pdfmark end
- 2344 20908 a FP(?)479 b FU(will)h(match)f(each)h
-(of)g(the)f(characters)24950 20908 y
-SDict begin H.S end
- 24950 20908 a 24950
-20908 a
-SDict begin 18.2 H.A end
- 24950 20908 a 24950 20908 a
-SDict begin [ /View [/XYZ H.V] /Dest (2777) cvn H.B /DEST pdfmark end
- 24950 20908 a FU(\2231\224,)27969
-20908 y
-SDict begin H.S end
- 27969 20908 a 27969 20908 a
-SDict begin 18.2 H.A end
- 27969 20908 a 27969
-20908 a
-SDict begin [ /View [/XYZ H.V] /Dest (2778) cvn H.B /DEST pdfmark end
- 27969 20908 a FU(\2232\224,)h(and)33705 20908
-y
-SDict begin H.S end
- 33705 20908 a 33705 20908 a
-SDict begin 18.2 H.A end
- 33705 20908 a 33705 20908
-a
-SDict begin [ /View [/XYZ H.V] /Dest (2779) cvn H.B /DEST pdfmark end
- 33705 20908 a FU(\2233\224,)g(and)g(each)g(in)f(turn)h(will)f(be)-30
-22923 y(substituted)386 b(in.)-30 23713 y
-SDict begin H.S end
- -30 23713 a
--30 23713 a
-SDict begin 18.2 H.A end
- -30 23713 a -30 23713 a
-SDict begin [ /View [/XYZ H.V] /Dest (2780) cvn H.B /DEST pdfmark end
- -30 23713 a 1999
-x FU(What')-85 b(s)545 b(that)f(you)h(say?)g(That')-85
-b(s)18364 25712 y
-SDict begin H.S end
- 18364 25712 a 18364 25712 a
-SDict begin 18.2 H.A end
- 18364 25712
-a 18364 25712 a
-SDict begin [ /View [/XYZ H.V] /Dest (2781) cvn H.B /DEST pdfmark end
- 18364 25712 a FR(still)545 b FU(too)g(much)g(w)-15
-b(ork?)544 b(Y)-170 b(ou')-77 b(re)544 b(right.)h(It')-85
-b(s)545 b(appalling;)f(we)-30 27727 y(ha)-31 b(v)-23
-b(e)380 b(labor)g(la)-23 b(ws)379 b(to)h(protect)f(us)h(from)g(that)g
-(sort)f(of)h(thing.)g(F)-23 b(ortunately)-101 b(,)379
-b(we)h(also)g(ha)-31 b(v)-23 b(e)48543 27727 y
-SDict begin H.S end
- 48543
-27727 a 48543 27727 a
-SDict begin 18.2 H.A end
- 48543 27727 a 48543 27727 a
-SDict begin [ /View [/XYZ H.V] /Dest (2782) cvn H.B /DEST pdfmark end
- 48543
-27727 a FP(*)p FU(.)380 b(As)-30 29742 y(w)-15 b(as)517
-b(already)h(mentioned,)15409 29742 y
-SDict begin H.S end
- 15409 29742 a 15409
-29742 a
-SDict begin 18.2 H.A end
- 15409 29742 a 15409 29742 a
-SDict begin [ /View [/XYZ H.V] /Dest (2783) cvn H.B /DEST pdfmark end
- 15409 29742 a FP(*)f
-FU(matches)22267 29742 y
-SDict begin H.S end
- 22267 29742 a 22267 29742 a
-SDict begin 18.2 H.A end
-
-22267 29742 a 22267 29742 a
-SDict begin [ /View [/XYZ H.V] /Dest (2784) cvn H.B /DEST pdfmark end
- 22267 29742 a FU(\223an)-23
-b(y)517 b(number)g(of)h(characters\224,)g(including)f(0.)h(So)f(if)-30
-31756 y(those)370 b(three)g(\002les)g(were)h(the)f(only)g(ones)g(in)g
-(the)h(directory)-101 b(,)370 b(we)h(could)f(ha)-31 b(v)-23
-b(e)370 b(simply)f(said)48800 31756 y
-SDict begin H.S end
- 48800 31756 a 48800
-31756 a
-SDict begin 18.2 H.A end
- 48800 31756 a 48800 31756 a
-SDict begin [ /View [/XYZ H.V] /Dest (2785) cvn H.B /DEST pdfmark end
- 48800 31756 a FP(cp)744
-b(*)-30 33771 y(/tmp)386 b FU(and)h(gotten)f(them)g(all)h(in)f(one)h
-(fell)f(sw)-15 b(oop.)386 b(Suppose,)g(though,)h(that)f(there)h(is)f
-(also)g(a)h(\002le)-30 35786 y(called)4076 35786 y
-SDict begin H.S end
- 4076
-35786 a 4076 35786 a
-SDict begin 18.2 H.A end
- 4076 35786 a 4076 35786 a
-SDict begin [ /View [/XYZ H.V] /Dest (2786) cvn H.B /DEST pdfmark end
- 4076 35786
-a FQ(ex.txt)402 b FU(and)j(one)g(called)17632 35786 y
-SDict begin H.S end
-
-17632 35786 a 17632 35786 a
-SDict begin 18.2 H.A end
- 17632 35786 a 17632 35786
-a
-SDict begin [ /View [/XYZ H.V] /Dest (2787) cvn H.B /DEST pdfmark end
- 17632 35786 a FQ(hejaz.txt)p FU(.)400 b(W)-124 b(e)405
-b(w)-15 b(ant)405 b(to)g(cop)-15 b(y)34910 35786 y
-SDict begin H.S end
- 34910
-35786 a 34910 35786 a
-SDict begin 18.2 H.A end
- 34910 35786 a 34910 35786 a
-SDict begin [ /View [/XYZ H.V] /Dest (2788) cvn H.B /DEST pdfmark end
- 34910
-35786 a FQ(ex.txt)402 b FU(b)-31 b(ut)405 b(not)43815
-35786 y
-SDict begin H.S end
- 43815 35786 a 43815 35786 a
-SDict begin 18.2 H.A end
- 43815 35786 a 43815
-35786 a
-SDict begin [ /View [/XYZ H.V] /Dest (2789) cvn H.B /DEST pdfmark end
- 43815 35786 a FQ(hejaz.txt)p FU(;)50288 35786
-y
-SDict begin H.S end
- 50288 35786 a 50288 35786 a
-SDict begin 18.2 H.A end
- 50288 35786 a 50288 35786
-a
-SDict begin [ /View [/XYZ H.V] /Dest (2790) cvn H.B /DEST pdfmark end
- 50288 35786 a FP(cp)-30 37800 y(ex*)744 b(/tmp)387
-b FU(will)f(do)i(that)f(for)g(us.)-30 38770 y
-SDict begin H.S end
- -30 38770
-a -30 38770 a
-SDict begin 18.2 H.A end
- -30 38770 a -30 38770 a
-SDict begin [ /View [/XYZ H.V] /Dest (2791) cvn H.B /DEST pdfmark end
- -30 38770 a -30
-38770 a
-SDict begin H.S end
- -30 38770 a -30 38770 a
-SDict begin 18.2 H.A end
- -30 38770 a -30 38770
-a
-SDict begin [ /View [/XYZ H.V] /Dest (2792) cvn H.B /DEST pdfmark end
- -30 38770 a 1820 x FP(cp)744 b(ex?.txt)f(/tmp)p FU(,)317
-b(w)-15 b(ould,)317 b(of)g(course,)h(only)f(get)g(our)g(original)g
-(three)g(\002les;)g(there')-85 b(s)317 b(no)g(char)-31
-b(-)-30 42604 y(acter)388 b(in)4962 42604 y
-SDict begin H.S end
- 4962 42604
-a 4962 42604 a
-SDict begin 18.2 H.A end
- 4962 42604 a 4962 42604 a
-SDict begin [ /View [/XYZ H.V] /Dest (2793) cvn H.B /DEST pdfmark end
- 4962 42604 a
-FQ(ex.txt)383 b FU(to)k(match)g(that)17587 42604 y
-SDict begin H.S end
- 17587
-42604 a 17587 42604 a
-SDict begin 18.2 H.A end
- 17587 42604 a 17587 42604 a
-SDict begin [ /View [/XYZ H.V] /Dest (2794) cvn H.B /DEST pdfmark end
- 17587
-42604 a FP(?)p FU(,)h(so)f(it)g(w)-15 b(ould)387 b(be)g(left)g(out.)-30
-43603 y
-SDict begin H.S end
- -30 43603 a -30 43603 a
-SDict begin 18.2 H.A end
- -30 43603 a -30 43603
-a
-SDict begin [ /View [/XYZ H.V] /Dest (2795) cvn H.B /DEST pdfmark end
- -30 43603 a 1791 x FU(Another)309 b(common)f(wildcard)g(is)h(the)g
-(brack)-15 b(et)308 b(pair)27941 45394 y
-SDict begin H.S end
- 27941 45394
-a 27941 45394 a
-SDict begin 18.2 H.A end
- 27941 45394 a 27941 45394 a
-SDict begin [ /View [/XYZ H.V] /Dest (2796) cvn H.B /DEST pdfmark end
- 27941 45394
-a FP([)744 b(])p FU(.)309 b(An)-23 b(y)309 b(characters)g(inside)f(the)
-h(brack)-15 b(ets)-30 47409 y(will)369 b(be)g(substituted)e(in)i(place)
-g(of)g(the)20805 47409 y
-SDict begin H.S end
- 20805 47409 a 20805 47409 a
-SDict begin 18.2 H.A end
-
-20805 47409 a 20805 47409 a
-SDict begin [ /View [/XYZ H.V] /Dest (2797) cvn H.B /DEST pdfmark end
- 20805 47409 a FP([)744 b(])369
-b FU(to)g(\002nd)f(matches.)h(Sound)g(confusing?)f(It')-85
-b(s)369 b(not)f(too)-30 49423 y(bad.)450 b(Suppose)e(for)h(instance,)g
-(we)h(ha)-31 b(v)-23 b(e)448 b(a)i(directory)f(containing)f(the)h
-(follo)-39 b(wing)448 b(8)h(\002les:)50136 49423 y
-SDict begin H.S end
- 50136
-49423 a 50136 49423 a
-SDict begin 18.2 H.A end
- 50136 49423 a 50136 49423 a
-SDict begin [ /View [/XYZ H.V] /Dest (2798) cvn H.B /DEST pdfmark end
- 50136
-49423 a FQ(a1)p FU(,)-30 51438 y
-SDict begin H.S end
- -30 51438 a -30 51438
-a
-SDict begin 18.2 H.A end
- -30 51438 a -30 51438 a
-SDict begin [ /View [/XYZ H.V] /Dest (2799) cvn H.B /DEST pdfmark end
- -30 51438 a FQ(a2)p FU(,)2073
-51438 y
-SDict begin H.S end
- 2073 51438 a 2073 51438 a
-SDict begin 18.2 H.A end
- 2073 51438 a 2073 51438
-a
-SDict begin [ /View [/XYZ H.V] /Dest (2800) cvn H.B /DEST pdfmark end
- 2073 51438 a FQ(a3)p FU(,)4176 51438 y
-SDict begin H.S end
- 4176 51438 a
-4176 51438 a
-SDict begin 18.2 H.A end
- 4176 51438 a 4176 51438 a
-SDict begin [ /View [/XYZ H.V] /Dest (2801) cvn H.B /DEST pdfmark end
- 4176 51438 a FQ(a4)p
-FU(,)6278 51438 y
-SDict begin H.S end
- 6278 51438 a 6278 51438 a
-SDict begin 18.2 H.A end
- 6278 51438
-a 6278 51438 a
-SDict begin [ /View [/XYZ H.V] /Dest (2802) cvn H.B /DEST pdfmark end
- 6278 51438 a FQ(aA)p FU(,)8381 51438 y
-SDict begin H.S end
-
-8381 51438 a 8381 51438 a
-SDict begin 18.2 H.A end
- 8381 51438 a 8381 51438 a
-SDict begin [ /View [/XYZ H.V] /Dest (2803) cvn H.B /DEST pdfmark end
- 8381
-51438 a FQ(aB)p FU(,)10484 51438 y
-SDict begin H.S end
- 10484 51438 a 10484
-51438 a
-SDict begin 18.2 H.A end
- 10484 51438 a 10484 51438 a
-SDict begin [ /View [/XYZ H.V] /Dest (2804) cvn H.B /DEST pdfmark end
- 10484 51438 a FQ(aC)p
-FU(,)462 b(and)15287 51438 y
-SDict begin H.S end
- 15287 51438 a 15287 51438
-a
-SDict begin 18.2 H.A end
- 15287 51438 a 15287 51438 a
-SDict begin [ /View [/XYZ H.V] /Dest (2805) cvn H.B /DEST pdfmark end
- 15287 51438 a FQ(aD)f FU(.)i(W)-124
-b(e)463 b(w)-15 b(ant)462 b(to)g(only)g(\002nd)g(the)g(\002les)g
-(ending)g(in)h(numbers;)49544 51438 y
-SDict begin H.S end
- 49544 51438 a 49544
-51438 a
-SDict begin 18.2 H.A end
- 49544 51438 a 49544 51438 a
-SDict begin [ /View [/XYZ H.V] /Dest (2806) cvn H.B /DEST pdfmark end
- 49544 51438 a FP([)744
-b(])-30 53453 y FU(will)387 b(do)g(this)g(for)g(us.)-30
-55018 y
-SDict begin H.S end
- -30 55018 a -30 55018 a
-SDict begin 14.56 H.A end
- -30 55018 a -30 55018
-a
-SDict begin [ /View [/XYZ H.V] /Dest (2807) cvn H.B /DEST pdfmark end
- -30 55018 a -30 55018 a
-SDict begin H.S end
- -30 55018 a -30 55018 a
-SDict begin 14.56 H.A end
- -30
-55018 a -30 55018 a
-SDict begin [ /View [/XYZ H.V] /Dest (2808) cvn H.B /DEST pdfmark end
- -30 55018 a 1596 x FJ(\045)1309 56614
-y
-SDict begin H.S end
- 1309 56614 a 1309 56614 a
-SDict begin 14.56 H.A end
- 1309 56614 a 1309 56614 a
-SDict begin [ /View [/XYZ H.V] /Dest (2809) cvn H.B /DEST pdfmark end
-
-1309 56614 a FH(ls)744 b(a[1-4])-30 58226 y FP(a1)g(a2)f(a3)h(a4)-30
-59802 y
-SDict begin H.S end
- -30 59802 a -30 59802 a
-SDict begin 18.2 H.A end
- -30 59802 a -30 59802
-a
-SDict begin [ /View [/XYZ H.V] /Dest (2810) cvn H.B /DEST pdfmark end
- -30 59802 a 1988 x FU(But)506 b(what)h(we)f(really)h(w)-15
-b(ant)506 b(is)g(just)20375 61790 y
-SDict begin H.S end
- 20375 61790 a 20375
-61790 a
-SDict begin 18.2 H.A end
- 20375 61790 a 20375 61790 a
-SDict begin [ /View [/XYZ H.V] /Dest (2811) cvn H.B /DEST pdfmark end
- 20375 61790 a FQ(a1)p
-FU(,)22522 61790 y
-SDict begin H.S end
- 22522 61790 a 22522 61790 a
-SDict begin 18.2 H.A end
- 22522
-61790 a 22522 61790 a
-SDict begin [ /View [/XYZ H.V] /Dest (2812) cvn H.B /DEST pdfmark end
- 22522 61790 a FQ(a2)p FU(,)g(and)27414
-61790 y
-SDict begin H.S end
- 27414 61790 a 27414 61790 a
-SDict begin 18.2 H.A end
- 27414 61790 a 27414
-61790 a
-SDict begin [ /View [/XYZ H.V] /Dest (2813) cvn H.B /DEST pdfmark end
- 27414 61790 a FQ(a4)p FU(?)f(In)i(the)f(pre)-39
-b(vious)507 b(e)-23 b(xample)506 b(we)g(used)h(-)-30
-63805 y(to)539 b(mean)g(all)g(v)-39 b(alues)539 b(between)g(1)g(and)g
-(4.)g(W)-124 b(e)539 b(can)h(also)e(separate)i(indi)-39
-b(vidual)538 b(entries)g(with)-30 65820 y(commas.)p Black
--30 73792 a FR(104)p Black eop end
-%%Page: 105 127
-TeXDict begin 105 126 bop -8000 -8000 a
-SDict begin /product where{pop product(Distiller)search{pop pop pop
-version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
-closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
-grestore}if}{pop}ifelse}{pop}ifelse}if end
- -8000 -8000 a
-Black 0 TeXcolorgray -30 -1237 a
-SDict begin H.S end
- -30 -1237 a 0 TeXcolorgray
-0 TeXcolorgray -30 -1237 a
-SDict begin H.R end
- -30 -1237 a -30 -1237 a
-SDict begin [ /View [/XYZ H.V] /Dest (page.105) cvn H.B /DEST pdfmark
-end
- -30
--1237 a Black 39333 -1636 a FR(Chapter)387 b(8)g(The)g(Shell)p
-Black -30 2504 a
-SDict begin H.S end
- -30 2504 a -30 2504 a
-SDict begin 14.56 H.A end
- -30 2504 a -30
-2504 a
-SDict begin [ /View [/XYZ H.V] /Dest (2814) cvn H.B /DEST pdfmark end
- -30 2504 a -30 2504 a
-SDict begin H.S end
- -30 2504 a -30 2504 a
-SDict begin 14.56 H.A end
- -30
-2504 a -30 2504 a
-SDict begin [ /View [/XYZ H.V] /Dest (2815) cvn H.B /DEST pdfmark end
- -30 2504 a 1107 x FJ(\045)1309 3611
-y
-SDict begin H.S end
- 1309 3611 a 1309 3611 a
-SDict begin 14.56 H.A end
- 1309 3611 a 1309 3611 a
-SDict begin [ /View [/XYZ H.V] /Dest (2816) cvn H.B /DEST pdfmark end
- 1309
-3611 a FH(ls)744 b(a[1,2,4])-30 5223 y FP(a1)g(a2)f(a4)-30
-6799 y
-SDict begin H.S end
- -30 6799 a -30 6799 a
-SDict begin 18.2 H.A end
- -30 6799 a -30 6799 a
-SDict begin [ /View [/XYZ H.V] /Dest (2817) cvn H.B /DEST pdfmark end
- -30
-6799 a 1988 x FU(I)330 b(kno)-39 b(w)329 b(what)h(you')-77
-b(re)329 b(thinking)f(no)-39 b(w)-101 b(,)20933 8787
-y
-SDict begin H.S end
- 20933 8787 a 20933 8787 a
-SDict begin 18.2 H.A end
- 20933 8787 a 20933 8787 a
-SDict begin [ /View [/XYZ H.V] /Dest (2818) cvn H.B /DEST pdfmark end
-
-20933 8787 a FU(\223W)-124 b(ell)329 b(what)g(about)h(letters?\224)f
-(Linux)g(is)g(case-sensiti)-39 b(v)-23 b(e,)-30 10802
-y(meaning)587 b(that)8807 10802 y
-SDict begin H.S end
- 8807 10802 a 8807 10802
-a
-SDict begin 18.2 H.A end
- 8807 10802 a 8807 10802 a
-SDict begin [ /View [/XYZ H.V] /Dest (2819) cvn H.B /DEST pdfmark end
- 8807 10802 a FP(a)h FU(and)12964
-10802 y
-SDict begin H.S end
- 12964 10802 a 12964 10802 a
-SDict begin 18.2 H.A end
- 12964 10802 a 12964
-10802 a
-SDict begin [ /View [/XYZ H.V] /Dest (2820) cvn H.B /DEST pdfmark end
- 12964 10802 a FP(A)f FU(are)h(dif)-39 b(ferent)588
-b(characters)f(and)h(are)f(only)g(related)h(in)f(your)g(mind.)-30
-12817 y(Capitals)j(al)-15 b(w)g(ays)590 b(come)h(before)g(lo)-39
-b(wercase)591 b(letters,)g(so)32485 12817 y
-SDict begin H.S end
- 32485 12817
-a 32485 12817 a
-SDict begin 18.2 H.A end
- 32485 12817 a 32485 12817 a
-SDict begin [ /View [/XYZ H.V] /Dest (2821) cvn H.B /DEST pdfmark end
- 32485 12817
-a FP(A)g FU(and)36649 12817 y
-SDict begin H.S end
- 36649 12817 a 36649 12817
-a
-SDict begin 18.2 H.A end
- 36649 12817 a 36649 12817 a
-SDict begin [ /View [/XYZ H.V] /Dest (2822) cvn H.B /DEST pdfmark end
- 36649 12817 a FP(B)g FU(come)f(before)
-46481 12817 y
-SDict begin H.S end
- 46481 12817 a 46481 12817 a
-SDict begin 18.2 H.A end
- 46481 12817
-a 46481 12817 a
-SDict begin [ /View [/XYZ H.V] /Dest (2823) cvn H.B /DEST pdfmark end
- 46481 12817 a FP(a)h FU(and)50645 12817
-y
-SDict begin H.S end
- 50645 12817 a 50645 12817 a
-SDict begin 18.2 H.A end
- 50645 12817 a 50645 12817
-a
-SDict begin [ /View [/XYZ H.V] /Dest (2824) cvn H.B /DEST pdfmark end
- 50645 12817 a FP(b)p FU(.)-30 14831 y(Continuing)370
-b(with)g(our)h(earlier)g(e)-23 b(xample,)371 b(if)g(we)g(w)-15
-b(anted)370 b(\002les)34477 14831 y
-SDict begin H.S end
- 34477 14831 a 34477
-14831 a
-SDict begin 18.2 H.A end
- 34477 14831 a 34477 14831 a
-SDict begin [ /View [/XYZ H.V] /Dest (2825) cvn H.B /DEST pdfmark end
- 34477 14831 a FQ(a1)p
-FU(,)g(and)39097 14831 y
-SDict begin H.S end
- 39097 14831 a 39097 14831 a
-SDict begin 18.2 H.A end
-
-39097 14831 a 39097 14831 a
-SDict begin [ /View [/XYZ H.V] /Dest (2826) cvn H.B /DEST pdfmark end
- 39097 14831 a FQ(A1)p FU(,)g(we)h(can)h
-(\002nd)e(these)-30 16846 y(quickly)387 b(with)8150 16846
-y
-SDict begin H.S end
- 8150 16846 a 8150 16846 a
-SDict begin 18.2 H.A end
- 8150 16846 a 8150 16846 a
-SDict begin [ /View [/XYZ H.V] /Dest (2827) cvn H.B /DEST pdfmark end
-
-8150 16846 a FP([)743 b(])p FU(.)-30 18731 y
-SDict begin H.S end
- -30 18731
-a -30 18731 a
-SDict begin 14.56 H.A end
- -30 18731 a -30 18731 a
-SDict begin [ /View [/XYZ H.V] /Dest (2828) cvn H.B /DEST pdfmark end
- -30 18731 a -30
-18731 a
-SDict begin H.S end
- -30 18731 a -30 18731 a
-SDict begin 14.56 H.A end
- -30 18731 a -30 18731
-a
-SDict begin [ /View [/XYZ H.V] /Dest (2829) cvn H.B /DEST pdfmark end
- -30 18731 a 1276 x FJ(\045)1309 20007 y
-SDict begin H.S end
- 1309 20007
-a 1309 20007 a
-SDict begin 14.56 H.A end
- 1309 20007 a 1309 20007 a
-SDict begin [ /View [/XYZ H.V] /Dest (2830) cvn H.B /DEST pdfmark end
- 1309 20007 a
-FH(ls)h([A,a]1)-30 21619 y FP(A1)g(a1)-30 23195 y
-SDict begin H.S end
- -30
-23195 a -30 23195 a
-SDict begin 18.2 H.A end
- -30 23195 a -30 23195 a
-SDict begin [ /View [/XYZ H.V] /Dest (2831) cvn H.B /DEST pdfmark end
- -30 23195
-a 1989 x FU(Note,)452 b(that)g(if)f(we)h(had)g(included)f(a)h(h)-8
-b(yphen)452 b(instead)f(of)h(a)g(comma,)f(we)h(w)-15
-b(ould)451 b(ha)-31 b(v)-23 b(e)452 b(gotten)-30 27198
-y(incorrect)387 b(results.)-30 28763 y
-SDict begin H.S end
- -30 28763 a -30
-28763 a
-SDict begin 14.56 H.A end
- -30 28763 a -30 28763 a
-SDict begin [ /View [/XYZ H.V] /Dest (2832) cvn H.B /DEST pdfmark end
- -30 28763 a -30 28763
-a
-SDict begin H.S end
- -30 28763 a -30 28763 a
-SDict begin 14.56 H.A end
- -30 28763 a -30 28763 a
-SDict begin [ /View [/XYZ H.V] /Dest (2833) cvn H.B /DEST pdfmark end
- -30
-28763 a 1597 x FJ(\045)1309 30360 y
-SDict begin H.S end
- 1309 30360 a 1309
-30360 a
-SDict begin 14.56 H.A end
- 1309 30360 a 1309 30360 a
-SDict begin [ /View [/XYZ H.V] /Dest (2834) cvn H.B /DEST pdfmark end
- 1309 30360 a FH(ls)744
-b([A-a]1)-30 31971 y FP(A1)g(B1)f(C1)h(D1)g(a1)-30 33547
-y
-SDict begin H.S end
- -30 33547 a -30 33547 a
-SDict begin 18.2 H.A end
- -30 33547 a -30 33547 a
-SDict begin [ /View [/XYZ H.V] /Dest (2835) cvn H.B /DEST pdfmark end
- -30
-33547 a 1989 x FU(Y)-170 b(ou)387 b(can)g(also)g(combine)g(h)-8
-b(yphen)387 b(and)g(comma)g(strings.)-30 37421 y
-SDict begin H.S end
- -30
-37421 a -30 37421 a
-SDict begin 14.56 H.A end
- -30 37421 a -30 37421 a
-SDict begin [ /View [/XYZ H.V] /Dest (2836) cvn H.B /DEST pdfmark end
- -30 37421
-a -30 37421 a
-SDict begin H.S end
- -30 37421 a -30 37421 a
-SDict begin 14.56 H.A end
- -30 37421 a -30
-37421 a
-SDict begin [ /View [/XYZ H.V] /Dest (2837) cvn H.B /DEST pdfmark end
- -30 37421 a 1276 x FJ(\045)1309 38697 y
-SDict begin H.S end
- 1309
-38697 a 1309 38697 a
-SDict begin 14.56 H.A end
- 1309 38697 a 1309 38697 a
-SDict begin [ /View [/XYZ H.V] /Dest (2838) cvn H.B /DEST pdfmark end
- 1309 38697
-a FH(ls)744 b([A,a-d])-30 40309 y FP(A1)g(a1)f(b1)h(c1)g(d1)-30
-41885 y
-SDict begin H.S end
- -30 41885 a -30 41885 a
-SDict begin 18.2 H.A end
- -30 41885 a -30 41885
-a
-SDict begin [ /View [/XYZ H.V] /Dest (SHELL-COMMAND-LINE-PIPING) cvn
-H.B /DEST pdfmark end
- -30 41885 a 5491 x FG(Input/Output)519 b(Redirection)f(and)g(Piping)
--30 48719 y
-SDict begin H.S end
- -30 48719 a -30 48719 a
-SDict begin 18.2 H.A end
- -30 48719 a -30 48719
-a
-SDict begin [ /View [/XYZ H.V] /Dest (2841) cvn H.B /DEST pdfmark end
- -30 48719 a 1601 x FU(\(Here)388 b(comes)f(something)f(cool.\))-30
-52206 y
-SDict begin H.S end
- -30 52206 a -30 52206 a
-SDict begin 14.56 H.A end
- -30 52206 a -30 52206
-a
-SDict begin [ /View [/XYZ H.V] /Dest (2842) cvn H.B /DEST pdfmark end
- -30 52206 a -30 52206 a
-SDict begin H.S end
- -30 52206 a -30 52206 a
-SDict begin 14.56 H.A end
- -30
-52206 a -30 52206 a
-SDict begin [ /View [/XYZ H.V] /Dest (2843) cvn H.B /DEST pdfmark end
- -30 52206 a 1276 x FJ(\045)1309 53482
-y
-SDict begin H.S end
- 1309 53482 a 1309 53482 a
-SDict begin 14.56 H.A end
- 1309 53482 a 1309 53482 a
-SDict begin [ /View [/XYZ H.V] /Dest (2844) cvn H.B /DEST pdfmark end
-
-1309 53482 a FH(ps)744 b(>)f(blargh)-30 53650 y
-SDict begin H.S end
- -30 53650
-a -30 53650 a
-SDict begin 18.2 H.A end
- -30 53650 a -30 53650 a
-SDict begin [ /View [/XYZ H.V] /Dest (2845) cvn H.B /DEST pdfmark end
- -30 53650 a -30
-53650 a
-SDict begin H.S end
- -30 53650 a -30 53650 a
-SDict begin 18.2 H.A end
- -30 53650 a -30 53650
-a
-SDict begin [ /View [/XYZ H.V] /Dest (2847) cvn H.B /DEST pdfmark end
- -30 53650 a -30 53650 a
-SDict begin H.S end
- -30 53650 a -30 53650 a
-SDict begin 18.2 H.A end
- -30
-53650 a -30 53650 a
-SDict begin [ /View [/XYZ H.V] /Dest (2849) cvn H.B /DEST pdfmark end
- -30 53650 a -30 55200 a
-SDict begin H.S end
- -30 55200
-a -30 55200 a
-SDict begin 18.2 H.A end
- -30 55200 a -30 55200 a
-SDict begin [ /View [/XYZ H.V] /Dest (2851) cvn H.B /DEST pdfmark end
- -30 55200 a 1846
-x FU(Y'kno)-39 b(w)337 b(what)f(that)h(is?)f(That')-85
-b(s)337 b(me)f(running)25016 57046 y
-SDict begin H.S end
- 25016 57046 a 25016
-57046 a
-SDict begin 18.2 H.A end
- 25016 57046 a 25016 57046 a
-SDict begin [ /View [/XYZ H.V] /Dest (2852) cvn H.B /DEST pdfmark end
- 25016 57046 a FP(ps)h
-FU(to)g(see)g(which)f(processes)g(are)i(running;)48918
-57046 y
-SDict begin H.S end
- 48918 57046 a 48918 57046 a
-SDict begin 18.2 H.A end
- 48918 57046 a 48918
-57046 a
-SDict begin [ /View [/XYZ H.V] /Dest (2853) cvn H.B /DEST pdfmark end
- 48918 57046 a FP(ps)e FU(is)-30 59061 y(co)-23
-b(v)g(ered)426 b(in)p 0 TeXcolorgray 6887 59061 a
-SDict begin H.S end
- 6887
-59061 a FU(Section)387 b(11.3)14636 59061 y
-SDict begin 18.2 H.L end
- 14636 59061
-a 14636 59061 a
-SDict begin [ /Subtype /Link /Dest (PROCESS-CONTROL-PS) cvn /H /I /Border
-[0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 14636 59061 a Black FU(.)427 b(That')-85
-b(s)426 b(not)g(the)g(cool)g(part.)h(The)f(cool)g(part)g(is)41024
-59061 y
-SDict begin H.S end
- 41024 59061 a 41024 59061 a
-SDict begin 18.2 H.A end
- 41024 59061 a 41024
-59061 a
-SDict begin [ /View [/XYZ H.V] /Dest (2855) cvn H.B /DEST pdfmark end
- 41024 59061 a FK(>)744 b FP(blargh)p FU(,)426
-b(which)-30 61076 y(means,)384 b(roughly)-101 b(,)384
-b(tak)-15 b(e)383 b(the)h(output)f(from)23163 61076 y
-SDict begin H.S end
-
-23163 61076 a 23163 61076 a
-SDict begin 18.2 H.A end
- 23163 61076 a 23163 61076
-a
-SDict begin [ /View [/XYZ H.V] /Dest (2856) cvn H.B /DEST pdfmark end
- 23163 61076 a FP(ps)h FU(and)g(write)f(it)h(to)g(a)g(\002le)g(called)
-41582 61076 y
-SDict begin H.S end
- 41582 61076 a 41582 61076 a
-SDict begin 18.2 H.A end
- 41582 61076
-a 41582 61076 a
-SDict begin [ /View [/XYZ H.V] /Dest (2857) cvn H.B /DEST pdfmark end
- 41582 61076 a FQ(blargh)p FU(.)d(But)i(w)-15
-b(ait,)-30 63090 y(it)387 b(gets)g(cooler)-85 b(.)-30
-64976 y
-SDict begin H.S end
- -30 64976 a -30 64976 a
-SDict begin 14.56 H.A end
- -30 64976 a -30 64976
-a
-SDict begin [ /View [/XYZ H.V] /Dest (2858) cvn H.B /DEST pdfmark end
- -30 64976 a -30 64976 a
-SDict begin H.S end
- -30 64976 a -30 64976 a
-SDict begin 14.56 H.A end
- -30
-64976 a -30 64976 a
-SDict begin [ /View [/XYZ H.V] /Dest (2859) cvn H.B /DEST pdfmark end
- -30 64976 a 1276 x FJ(\045)1309 66252
-y
-SDict begin H.S end
- 1309 66252 a 1309 66252 a
-SDict begin 14.56 H.A end
- 1309 66252 a 1309 66252 a
-SDict begin [ /View [/XYZ H.V] /Dest (2860) cvn H.B /DEST pdfmark end
-
-1309 66252 a FH(ps)744 b(|)f(less)p Black 49451 73792
-a FR(105)p Black eop end
-%%Page: 106 128
-TeXDict begin 106 127 bop -8000 -8000 a
-SDict begin /product where{pop product(Distiller)search{pop pop pop
-version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
-closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
-grestore}if}{pop}ifelse}{pop}ifelse}if end
- -8000 -8000 a
-Black 0 TeXcolorgray -30 -1237 a
-SDict begin H.S end
- -30 -1237 a 0 TeXcolorgray
-0 TeXcolorgray -30 -1237 a
-SDict begin H.R end
- -30 -1237 a -30 -1237 a
-SDict begin [ /View [/XYZ H.V] /Dest (page.106) cvn H.B /DEST pdfmark
-end
- -30
--1237 a Black -399 x FR(Chapter)387 b(8)g(The)g(Shell)p
-Black -30 2504 a
-SDict begin H.S end
- -30 2504 a -30 2504 a
-SDict begin 18.2 H.A end
- -30 2504 a -30
-2504 a
-SDict begin [ /View [/XYZ H.V] /Dest (2861) cvn H.B /DEST pdfmark end
- -30 2504 a 1107 x FU(That)396 b(one)g(tak)-15
-b(es)395 b(the)h(output)f(from)19462 3611 y
-SDict begin H.S end
- 19462 3611
-a 19462 3611 a
-SDict begin 18.2 H.A end
- 19462 3611 a 19462 3611 a
-SDict begin [ /View [/XYZ H.V] /Dest (2862) cvn H.B /DEST pdfmark end
- 19462 3611 a
-FP(ps)h FU(and)g(pipes)g(it)f(through)34123 3611 y
-SDict begin H.S end
- 34123
-3611 a 34123 3611 a
-SDict begin 18.2 H.A end
- 34123 3611 a 34123 3611 a
-SDict begin [ /View [/XYZ H.V] /Dest (2863) cvn H.B /DEST pdfmark end
- 34123 3611
-a FP(less)p FU(,)h(so)g(I)g(can)g(scroll)g(through)-30
-5626 y(it)387 b(at)h(my)e(leisure.)-30 7511 y
-SDict begin H.S end
- -30 7511
-a -30 7511 a
-SDict begin 14.56 H.A end
- -30 7511 a -30 7511 a
-SDict begin [ /View [/XYZ H.V] /Dest (2864) cvn H.B /DEST pdfmark end
- -30 7511 a -30 7511
-a
-SDict begin H.S end
- -30 7511 a -30 7511 a
-SDict begin 14.56 H.A end
- -30 7511 a -30 7511 a
-SDict begin [ /View [/XYZ H.V] /Dest (2865) cvn H.B /DEST pdfmark end
- -30 7511
-a 1276 x FJ(\045)1309 8787 y
-SDict begin H.S end
- 1309 8787 a 1309 8787 a
-SDict begin 14.56 H.A end
-
-1309 8787 a 1309 8787 a
-SDict begin [ /View [/XYZ H.V] /Dest (2866) cvn H.B /DEST pdfmark end
- 1309 8787 a FH(ps)744 b FK(>>)f
-FH(blargh)-30 10505 y
-SDict begin H.S end
- -30 10505 a -30 10505 a
-SDict begin 18.2 H.A end
- -30 10505
-a -30 10505 a
-SDict begin [ /View [/XYZ H.V] /Dest (2867) cvn H.B /DEST pdfmark end
- -30 10505 a 1847 x FU(This)572 b(is)h(the)g(third)f(most)
-g(commonly)g(used)g(redirector;)h(it)f(does)h(the)g(same)f(thing)g(as)
-48798 12352 y
-SDict begin H.S end
- 48798 12352 a 48798 12352 a
-SDict begin 18.2 H.A end
- 48798 12352
-a 48798 12352 a
-SDict begin [ /View [/XYZ H.V] /Dest (2868) cvn H.B /DEST pdfmark end
- 48798 12352 a FU(\223)p Fl(>)p FU(\224,)-30
-14366 y(e)-23 b(xcept)517 b(that)7351 14366 y
-SDict begin H.S end
- 7351 14366
-a 7351 14366 a
-SDict begin 18.2 H.A end
- 7351 14366 a 7351 14366 a
-SDict begin [ /View [/XYZ H.V] /Dest (2869) cvn H.B /DEST pdfmark end
- 7351 14366 a
-FU(\223)p Fl(>>)p FU(\224)h(will)f(append)g(output)g(from)27604
-14366 y
-SDict begin H.S end
- 27604 14366 a 27604 14366 a
-SDict begin 18.2 H.A end
- 27604 14366 a 27604
-14366 a
-SDict begin [ /View [/XYZ H.V] /Dest (2870) cvn H.B /DEST pdfmark end
- 27604 14366 a FP(ps)g FU(to)g(the)h(\002le)36242
-14366 y
-SDict begin H.S end
- 36242 14366 a 36242 14366 a
-SDict begin 18.2 H.A end
- 36242 14366 a 36242
-14366 a
-SDict begin [ /View [/XYZ H.V] /Dest (2871) cvn H.B /DEST pdfmark end
- 36242 14366 a FQ(blargh)p FU(,)c(if)j(said)g(\002le)g(e)-23
-b(xists.)-30 16381 y(If)478 b(not,)h(just)e(lik)-15 b(e)9831
-16381 y
-SDict begin H.S end
- 9831 16381 a 9831 16381 a
-SDict begin 18.2 H.A end
- 9831 16381 a 9831 16381
-a
-SDict begin [ /View [/XYZ H.V] /Dest (2872) cvn H.B /DEST pdfmark end
- 9831 16381 a FU(\223)p Fl(>)p FU(\224,)479 b(it)f(will)f(be)i
-(created.)f(\()25313 16381 y
-SDict begin H.S end
- 25313 16381 a 25313 16381
-a
-SDict begin 18.2 H.A end
- 25313 16381 a 25313 16381 a
-SDict begin [ /View [/XYZ H.V] /Dest (2873) cvn H.B /DEST pdfmark end
- 25313 16381 a FU(\223)p
-Fl(>)p FU(\224)h(will)e(obliterate)h(the)f(current)i(contents)e(of)-30
-18396 y
-SDict begin H.S end
- -30 18396 a -30 18396 a
-SDict begin 18.2 H.A end
- -30 18396 a -30 18396
-a
-SDict begin [ /View [/XYZ H.V] /Dest (2874) cvn H.B /DEST pdfmark end
- -30 18396 a FQ(blargh)p FU(.\))-30 19448 y
-SDict begin H.S end
- -30 19448
-a -30 19448 a
-SDict begin 18.2 H.A end
- -30 19448 a -30 19448 a
-SDict begin [ /View [/XYZ H.V] /Dest (2875) cvn H.B /DEST pdfmark end
- -30 19448 a 1737
-x FU(There)452 b(is)f(also)g(a)9609 21185 y
-SDict begin H.S end
- 9609 21185
-a 9609 21185 a
-SDict begin 18.2 H.A end
- 9609 21185 a 9609 21185 a
-SDict begin [ /View [/XYZ H.V] /Dest (2876) cvn H.B /DEST pdfmark end
- 9609 21185 a
-FU(\223)p Fl(<)p FU(\224)g(operator)-62 b(,)452 b(which)f(means)g(tak)
--15 b(e)451 b(your)h(input)e(from)i(the)f(follo)-39 b(wing,)451
-b(b)-31 b(ut)-30 23200 y(it')-85 b(s)387 b(not)g(used)g(nearly)g(so)g
-(often.)-30 25085 y
-SDict begin H.S end
- -30 25085 a -30 25085 a
-SDict begin 14.56 H.A end
- -30 25085
-a -30 25085 a
-SDict begin [ /View [/XYZ H.V] /Dest (2877) cvn H.B /DEST pdfmark end
- -30 25085 a -30 25085 a
-SDict begin H.S end
- -30 25085 a -30
-25085 a
-SDict begin 14.56 H.A end
- -30 25085 a -30 25085 a
-SDict begin [ /View [/XYZ H.V] /Dest (2878) cvn H.B /DEST pdfmark end
- -30 25085 a 1276 x FJ(\045)1309
-26361 y
-SDict begin H.S end
- 1309 26361 a 1309 26361 a
-SDict begin 14.56 H.A end
- 1309 26361 a 1309 26361
-a
-SDict begin [ /View [/XYZ H.V] /Dest (2879) cvn H.B /DEST pdfmark end
- 1309 26361 a FH(fromdos)743 b FK(<)h FH(dosfile.txt)e
-FK(>)i FH(unixfile.txt)-30 27958 y
-SDict begin H.S end
- -30 27958 a -30 27958
-a
-SDict begin 18.2 H.A end
- -30 27958 a -30 27958 a
-SDict begin [ /View [/XYZ H.V] /Dest (2880) cvn H.B /DEST pdfmark end
- -30 27958 a 1968 x FU(Redirection)387
-b(gets)g(really)g(fun)g(when)g(you)g(start)g(piling)g(it)g(up:)-30
-31811 y
-SDict begin H.S end
- -30 31811 a -30 31811 a
-SDict begin 14.56 H.A end
- -30 31811 a -30 31811
-a
-SDict begin [ /View [/XYZ H.V] /Dest (2881) cvn H.B /DEST pdfmark end
- -30 31811 a -30 31811 a
-SDict begin H.S end
- -30 31811 a -30 31811 a
-SDict begin 14.56 H.A end
- -30
-31811 a -30 31811 a
-SDict begin [ /View [/XYZ H.V] /Dest (2882) cvn H.B /DEST pdfmark end
- -30 31811 a 1276 x FJ(\045)1309 33087
-y
-SDict begin H.S end
- 1309 33087 a 1309 33087 a
-SDict begin 14.56 H.A end
- 1309 33087 a 1309 33087 a
-SDict begin [ /View [/XYZ H.V] /Dest (2883) cvn H.B /DEST pdfmark end
-
-1309 33087 a FH(ps)744 b(|)f(tac)h FK(>>)f FH(blargh)-30
-34947 y
-SDict begin H.S end
- -30 34947 a -30 34947 a
-SDict begin 18.2 H.A end
- -30 34947 a -30 34947
-a
-SDict begin [ /View [/XYZ H.V] /Dest (2884) cvn H.B /DEST pdfmark end
- -30 34947 a 1705 x FU(That)441 b(will)g(run)8613 36652
-y
-SDict begin H.S end
- 8613 36652 a 8613 36652 a
-SDict begin 18.2 H.A end
- 8613 36652 a 8613 36652 a
-SDict begin [ /View [/XYZ H.V] /Dest (2885) cvn H.B /DEST pdfmark end
-
-8613 36652 a FP(ps)p FU(,)g(re)-39 b(v)-23 b(erse)442
-b(the)f(lines)g(of)h(its)f(output,)g(and)g(append)h(those)f(to)g(the)g
-(\002le)47630 36652 y
-SDict begin H.S end
- 47630 36652 a 47630 36652 a
-SDict begin 18.2 H.A end
- 47630
-36652 a 47630 36652 a
-SDict begin [ /View [/XYZ H.V] /Dest (2886) cvn H.B /DEST pdfmark end
- 47630 36652 a FQ(blargh)p FU(.)-30
-38666 y(Y)-170 b(ou)336 b(can)h(stack)g(as)g(man)-23
-b(y)336 b(of)h(these)g(up)g(as)g(you)f(w)-15 b(ant;)336
-b(just)h(be)g(careful)g(to)f(remember)h(that)f(the)-23
-b(y)-30 40681 y(get)387 b(interpreted)g(from)g(left)g(to)h(right.)-30
-41791 y
-SDict begin H.S end
- -30 41791 a -30 41791 a
-SDict begin 18.2 H.A end
- -30 41791 a -30 41791
-a
-SDict begin [ /View [/XYZ H.V] /Dest (2887) cvn H.B /DEST pdfmark end
- -30 41791 a 1680 x FU(See)f(the)4877 43471 y
-SDict begin H.S end
- 4877 43471
-a 4877 43471 a
-SDict begin 18.2 H.A end
- 4877 43471 a 4877 43471 a
-SDict begin [ /View [/XYZ H.V] /Dest (2888) cvn H.B /DEST pdfmark end
- 4877 43471 a
-FP(bash)p FU(\(1\))f(man)i(page)f(for)g(more)22182 43471
-y
-SDict begin H.S end
- 22182 43471 a 22182 43471 a
-SDict begin 18.2 H.A end
- 22182 43471 a 22182 43471
-a
-SDict begin [ /View [/XYZ H.V] /Dest (2889) cvn H.B /DEST pdfmark end
- 22182 43471 a 388 w FU(detailed)g(information)f(on)h(redirection.)-30
-46131 y
-SDict begin H.S end
- -30 46131 a -30 46131 a
-SDict begin 18.2 H.A end
- -30 46131 a -30 46131
-a
-SDict begin [ /View [/XYZ H.V] /Dest (SHELL-BASH) cvn H.B /DEST pdfmark
-end
- -30 46131 a 5789 x FL(8.3)620 b(The)g(Bourne)f(Again)g(Shell)i
-(\(bash\))-30 52416 y
-SDict begin H.S end
- -30 52416 a -30 52416 a
-SDict begin 18.2 H.A end
- -30 52416
-a -30 52416 a
-SDict begin [ /View [/XYZ H.V] /Dest (SHELL-BASH-ENVIRONMENT) cvn H.B
-/DEST pdfmark end
- -30 52416 a 4866 x FG(En)-74 b(vir)-37
-b(onment)519 b(V)-112 b(ariab)-19 b(les)-30 58235 y
-SDict begin H.S end
- -30
-58235 a -30 58235 a
-SDict begin 18.2 H.A end
- -30 58235 a -30 58235 a
-SDict begin [ /View [/XYZ H.V] /Dest (2895) cvn H.B /DEST pdfmark end
- -30 58235
-a 1991 x FU(A)446 b(Linux)f(system)g(is)h(a)g(comple)-23
-b(x)445 b(beast,)h(and)g(there')-85 b(s)445 b(a)i(lot)e(to)h(k)-15
-b(eep)445 b(track)h(of,)g(a)g(lot)g(of)g(little)-30 62241
-y(details)367 b(that)g(come)g(into)g(play)g(in)h(your)f(normal)g
-(interactions)f(with)h(v)-39 b(arious)367 b(programs)g(\(some)-30
-64256 y(of)j(which)f(you)h(might)f(not)g(e)-39 b(v)-23
-b(en)370 b(need)g(to)g(be)f(a)-23 b(w)-15 b(are)370 b(of\).)g(Nobody)f
-(w)-15 b(ants)369 b(to)h(pass)f(a)h(b)-31 b(unch)370
-b(of)-30 66270 y(options)358 b(to)g(e)-39 b(v)-23 b(ery)359
-b(program)f(that)g(gets)g(run,)h(telling)f(it)g(what)g(kind)g(of)h
-(terminal)e(is)i(being)f(used,)-30 68285 y(the)387 b(hostname)g(of)g
-(the)g(computer)-62 b(,)388 b(ho)-39 b(w)387 b(their)g(prompt)g(should)
-f(look...)p Black -30 73792 a FR(106)p Black eop end
-%%Page: 107 129
-TeXDict begin 107 128 bop -8000 -8000 a
-SDict begin /product where{pop product(Distiller)search{pop pop pop
-version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
-closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
-grestore}if}{pop}ifelse}{pop}ifelse}if end
- -8000 -8000 a
-Black 0 TeXcolorgray -30 -1237 a
-SDict begin H.S end
- -30 -1237 a 0 TeXcolorgray
-0 TeXcolorgray -30 -1237 a
-SDict begin H.R end
- -30 -1237 a -30 -1237 a
-SDict begin [ /View [/XYZ H.V] /Dest (page.107) cvn H.B /DEST pdfmark
-end
- -30
--1237 a Black -30 -2687 a
-SDict begin H.S end
- -30 -2687 a -30 -2687 a
-SDict begin 18.2 H.A end
- -30
--2687 a -30 -2687 a
-SDict begin [ /View [/XYZ H.V] /Dest (2923) cvn H.B /DEST pdfmark end
- -30 -2687 a 39333 -1636 a FR(Chapter)387
-b(8)g(The)g(Shell)p Black Black -30 4347 a FX(Example)f(8-1.)i(Listing)
-e(En)-62 b(vir)-28 b(onment)386 b(V)-143 b(ariables)387
-b(with)g FV(set)-30 6211 y
-SDict begin H.S end
- -30 6211 a -30 6211 a
-SDict begin 14.56 H.A end
- -30
-6211 a -30 6211 a
-SDict begin [ /View [/XYZ H.V] /Dest (2909) cvn H.B /DEST pdfmark end
- -30 6211 a -30 6211 a
-SDict begin H.S end
- -30 6211 a -30
-6211 a
-SDict begin 14.56 H.A end
- -30 6211 a -30 6211 a
-SDict begin [ /View [/XYZ H.V] /Dest (2910) cvn H.B /DEST pdfmark end
- -30 6211 a 1297 x FJ(\045)1309
-7508 y
-SDict begin H.S end
- 1309 7508 a 1309 7508 a
-SDict begin 14.56 H.A end
- 1309 7508 a 1309 7508
-a
-SDict begin [ /View [/XYZ H.V] /Dest (2911) cvn H.B /DEST pdfmark end
- 1309 7508 a FH(set)-30 9120 y FP
-(PATH=/usr/local/lib/qt/bin:/usr/local/bin:/usr/bin:/bin:/usr/X11R6/)p
-(bin:)-30 10732 y
-(/usr/openwin/bin:/usr/games:.:/usr/local/ssh2/bin:/usr/local/ssh1/b)p
-(in:)-30 12343 y
-(/usr/share/texmf/bin:/usr/local/sbin:/usr/sbin:/home/logan/bin)-30
-13955 y(PIPESTATUS=\([0]="0"\))-30 15567 y(PPID=4978)-30
-17179 y(PS1='\\h:\\w\\$)743 b(')-30 18790 y(PS2='>)g(')-30
-20402 y(PS4='+)g(')-30 22014 y(PWD=/home/logan)-30 23626
-y(QTDIR=/usr/local/lib/qt)-30 25237 y(REMOTEHOST=ninja.tdn)-30
-26849 y(SHELL=/bin/bash)p Black -30 29161 a
-SDict begin H.S end
- -30 29161
-a -30 29161 a
-SDict begin 18.2 H.A end
- -30 29161 a -30 29161 a
-SDict begin [ /View [/XYZ H.V] /Dest (2896) cvn H.B /DEST pdfmark end
- -30 29161 a 1107
-x FU(So)458 b(as)g(a)h(coping)f(mechanism,)g(users)g(ha)-31
-b(v)-23 b(e)458 b(what')-85 b(s)458 b(called)g(an)g(en)-62
-b(vironment.)458 b(The)g(en)-62 b(viron-)-30 32283 y(ment)511
-b(de\002nes)g(the)g(conditions)f(in)i(which)f(programs)g(run,)g(and)h
-(some)f(of)g(this)g(de\002nition)f(is)-30 34297 y(v)-39
-b(ariable;)578 b(the)h(user)f(can)g(alter)h(and)f(play)g(with)g(it,)h
-(as)f(is)g(only)g(right)g(in)g(a)h(Linux)46505 34297
-y
-SDict begin H.S end
- 46505 34297 a 46505 34297 a
-SDict begin 18.2 H.A end
- 46505 34297 a 46505 34297
-a
-SDict begin [ /View [/XYZ H.V] /Dest (2897) cvn H.B /DEST pdfmark end
- 46505 34297 a 578 w FU(system.)-30 36312 y(Pretty)538
-b(much)g(an)-23 b(y)539 b(shell)f(will)g(ha)-31 b(v)-23
-b(e)538 b(en)-62 b(vironment)538 b(v)-39 b(ariables)538
-b(\(if)h(not,)f(it')-85 b(s)538 b(probably)g(not)h(a)-30
-38327 y(v)-23 b(ery)428 b(useable)f(shell\).)h(Here)g(we)g(will)f(gi)
--39 b(v)-23 b(e)427 b(an)h(o)-23 b(v)g(ervie)-39 b(w)427
-b(of)h(the)g(commands)e(bash)i(pro)-23 b(vides)-30 40341
-y(for)388 b(manipulating)d(its)i(en)-62 b(vironment)387
-b(v)-39 b(ariables.)-30 41452 y
-SDict begin H.S end
- -30 41452 a -30 41452
-a
-SDict begin 18.2 H.A end
- -30 41452 a -30 41452 a
-SDict begin [ /View [/XYZ H.V] /Dest (2899) cvn H.B /DEST pdfmark end
- -30 41452 a -30 41452 a
-SDict begin H.S end
- -30
-41452 a -30 41452 a
-SDict begin 18.2 H.A end
- -30 41452 a -30 41452 a
-SDict begin [ /View [/XYZ H.V] /Dest (2900) cvn H.B /DEST pdfmark end
- -30 41452
-a 1679 x FP(set)507 b FU(by)g(itself)g(will)g(sho)-39
-b(w)507 b(you)g(all)g(of)h(the)f(en)-62 b(vironment)506
-b(v)-39 b(ariables)507 b(that)g(are)h(currently)f(de-)-30
-45145 y(\002ned,)467 b(as)h(well)f(as)g(their)g(v)-39
-b(alues.)468 b(Lik)-15 b(e)466 b(most)25435 45145 y
-SDict begin H.S end
- 25435
-45145 a 25435 45145 a
-SDict begin 18.2 H.A end
- 25435 45145 a 25435 45145 a
-SDict begin [ /View [/XYZ H.V] /Dest (2901) cvn H.B /DEST pdfmark end
- 25435
-45145 a FP(bash)h FU(b)-31 b(uilt-ins,)466 b(it)h(can)h(also)f(do)g(se)
--39 b(v)-23 b(eral)467 b(other)-30 47160 y(things)304
-b(\(with)h(parameters\);)f(we')-15 b(ll)305 b(lea)-31
-b(v)-23 b(e)304 b(it)h(to)g(the)27563 47160 y
-SDict begin H.S end
- 27563 47160
-a 27563 47160 a
-SDict begin 18.2 H.A end
- 27563 47160 a 27563 47160 a
-SDict begin [ /View [/XYZ H.V] /Dest (2902) cvn H.B /DEST pdfmark end
- 27563 47160
-a FP(bash)p FU(\(1\))f(man)h(page)g(to)g(co)-23 b(v)g(er)304
-b(that,)h(though.)p 0 TeXcolorgray -30 49175 a
-SDict begin H.S end
- -30 49175
-a FU(Example)387 b(8-1)7933 49175 y
-SDict begin 18.2 H.L end
- 7933 49175 a 7933
-49175 a
-SDict begin [ /Subtype /Link /Dest (EX-SHELL-BASH-ENVIRONMENT) cvn
-/H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 7933 49175 a Black 339 w FU(sho)-39 b(ws)338
-b(an)h(e)-23 b(xcerpt)339 b(from)g(a)23504 49175 y
-SDict begin H.S end
- 23504
-49175 a 23504 49175 a
-SDict begin 18.2 H.A end
- 23504 49175 a 23504 49175 a
-SDict begin [ /View [/XYZ H.V] /Dest (2904) cvn H.B /DEST pdfmark end
- 23504
-49175 a FP(set)f FU(command)h(run)f(on)h(one)g(of)g(the)g(author')-85
-b(s)338 b(com-)-30 51189 y(puters.)346 b(Notice)f(in)g(this)g(e)-23
-b(xample)344 b(the)20915 51189 y
-SDict begin H.S end
- 20915 51189 a 20915
-51189 a
-SDict begin 18.2 H.A end
- 20915 51189 a 20915 51189 a
-SDict begin [ /View [/XYZ H.V] /Dest (2905) cvn H.B /DEST pdfmark end
- 20915 51189 a FP(PATH)h
-FU(v)-39 b(ariable)346 b(that)f(w)-15 b(as)345 b(discussed)f(earlier)
--85 b(.)346 b(Programs)-30 53204 y(in)387 b(an)-23 b(y)387
-b(of)h(those)f(directories)f(can)i(be)f(run)g(simply)g(by)g(typing)f
-(the)i(base)f(\002lename.)-30 53540 y
-SDict begin H.S end
- -30 53540 a -30
-53540 a
-SDict begin 18.2 H.A end
- -30 53540 a -30 53540 a
-SDict begin [ /View [/XYZ H.V] /Dest (EX-SHELL-BASH-ENVIRONMENT) cvn
-H.B /DEST pdfmark end
- -30 53540 a -30 55089
-a
-SDict begin H.S end
- -30 55089 a -30 55089 a
-SDict begin 14.56 H.A end
- -30 55089 a -30 55089 a
-SDict begin [ /View [/XYZ H.V] /Dest (2912) cvn H.B /DEST pdfmark end
- -30
-55089 a -30 55089 a
-SDict begin H.S end
- -30 55089 a -30 55089 a
-SDict begin 14.56 H.A end
- -30 55089
-a -30 55089 a
-SDict begin [ /View [/XYZ H.V] /Dest (2913) cvn H.B /DEST pdfmark end
- -30 55089 a 1277 x FJ(\045)1309 56366 y
-SDict begin H.S end
-
-1309 56366 a 1309 56366 a
-SDict begin 14.56 H.A end
- 1309 56366 a 1309 56366 a
-SDict begin [ /View [/XYZ H.V] /Dest (2914) cvn H.B /DEST pdfmark end
- 1309
-56366 a FH(unset)5772 56366 y
-SDict begin H.S end
- 5772 56366 a 5772 56366
-a
-SDict begin 14.56 H.A end
- 5772 56366 a 5772 56366 a
-SDict begin [ /View [/XYZ H.V] /Dest (2915) cvn H.B /DEST pdfmark end
- 5772 56366 a Fy(VARIABLE)-30
-57940 y
-SDict begin H.S end
- -30 57940 a -30 57940 a
-SDict begin 18.2 H.A end
- -30 57940 a -30 57940
-a
-SDict begin [ /View [/XYZ H.V] /Dest (2916) cvn H.B /DEST pdfmark end
- -30 57940 a -30 57940 a
-SDict begin H.S end
- -30 57940 a -30 57940 a
-SDict begin 18.2 H.A end
- -30
-57940 a -30 57940 a
-SDict begin [ /View [/XYZ H.V] /Dest (2917) cvn H.B /DEST pdfmark end
- -30 57940 a 1990 x FP(unset)347 b
-FU(will)f(remo)-23 b(v)g(e)347 b(an)-23 b(y)347 b(v)-39
-b(ariables)347 b(that)f(you)h(gi)-39 b(v)-23 b(e)347
-b(it,)g(wiping)g(out)g(both)f(the)h(v)-39 b(ariable)347
-b(and)g(its)-30 61945 y(v)-39 b(alue;)4028 61945 y
-SDict begin H.S end
- 4028
-61945 a 4028 61945 a
-SDict begin 18.2 H.A end
- 4028 61945 a 4028 61945 a
-SDict begin [ /View [/XYZ H.V] /Dest (2918) cvn H.B /DEST pdfmark end
- 4028 61945
-a FP(bash)309 b FU(will)g(for)-28 b(get)309 b(that)g(v)-39
-b(ariable)310 b(e)-39 b(v)-23 b(er)309 b(e)-23 b(xisted.)309
-b(\(Don')-28 b(t)309 b(w)-15 b(orry)-101 b(.)310 b(Unless)e(it')-85
-b(s)309 b(something)-30 63959 y(you)443 b(e)-23 b(xplicitly)442
-b(de\002ned)h(in)h(that)f(shell)g(session,)g(it')-15
-b(ll)442 b(probably)h(get)h(rede\002ned)f(in)g(an)-23
-b(y)443 b(other)-30 65974 y(session.\))p Black 49394
-73792 a FR(107)p Black eop end
-%%Page: 108 130
-TeXDict begin 108 129 bop -8000 -8000 a
-SDict begin /product where{pop product(Distiller)search{pop pop pop
-version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
-closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
-grestore}if}{pop}ifelse}{pop}ifelse}if end
- -8000 -8000 a
-Black 0 TeXcolorgray -30 -1237 a
-SDict begin H.S end
- -30 -1237 a 0 TeXcolorgray
-0 TeXcolorgray -30 -1237 a
-SDict begin H.R end
- -30 -1237 a -30 -1237 a
-SDict begin [ /View [/XYZ H.V] /Dest (page.108) cvn H.B /DEST pdfmark
-end
- -30
--1237 a Black -30 -2687 a
-SDict begin H.S end
- -30 -2687 a -30 -2687 a
-SDict begin 18.2 H.A end
- -30
--2687 a -30 -2687 a
-SDict begin [ /View [/XYZ H.V] /Dest (2964) cvn H.B /DEST pdfmark end
- -30 -2687 a 1051 x FR(Chapter)387
-b(8)g(The)g(Shell)p Black -30 2504 a
-SDict begin H.S end
- -30 2504 a -30 2504
-a
-SDict begin 14.56 H.A end
- -30 2504 a -30 2504 a
-SDict begin [ /View [/XYZ H.V] /Dest (2919) cvn H.B /DEST pdfmark end
- -30 2504 a -30 2504 a
-SDict begin H.S end
- -30 2504
-a -30 2504 a
-SDict begin 14.56 H.A end
- -30 2504 a -30 2504 a
-SDict begin [ /View [/XYZ H.V] /Dest (2920) cvn H.B /DEST pdfmark end
- -30 2504 a 1107 x
-FJ(\045)1309 3611 y
-SDict begin H.S end
- 1309 3611 a 1309 3611 a
-SDict begin 14.56 H.A end
- 1309 3611
-a 1309 3611 a
-SDict begin [ /View [/XYZ H.V] /Dest (2921) cvn H.B /DEST pdfmark end
- 1309 3611 a FH(export)6516 3611 y
-SDict begin H.S end
- 6516
-3611 a 6516 3611 a
-SDict begin 14.56 H.A end
- 6516 3611 a 6516 3611 a
-SDict begin [ /View [/XYZ H.V] /Dest (2922) cvn H.B /DEST pdfmark end
- 6516 3611
-a Fy(VARIABLE=some_value)-30 7176 y FU(No)-39 b(w)-101
-b(,)467 b FP(export)e FU(is)h(truly)g(handy)-101 b(.)466
-b(Using)g(it,)g(you)g(gi)-39 b(v)-23 b(e)466 b(the)g(en)-62
-b(vironment)465 b(v)-39 b(ariable)45825 7176 y
-SDict begin H.S end
- 45825
-7176 a 45825 7176 a
-SDict begin 18.2 H.A end
- 45825 7176 a 45825 7176 a
-SDict begin [ /View [/XYZ H.V] /Dest (2925) cvn H.B /DEST pdfmark end
- 45825 7176
-a FP(VARIABLE)-30 9190 y FU(the)443 b(v)-39 b(alue)6069
-9190 y
-SDict begin H.S end
- 6069 9190 a 6069 9190 a
-SDict begin 18.2 H.A end
- 6069 9190 a 6069 9190
-a
-SDict begin [ /View [/XYZ H.V] /Dest (2926) cvn H.B /DEST pdfmark end
- 6069 9190 a FU(\223)6757 9190 y
-SDict begin H.S end
- 6757 9190 a 6757 9190
-a
-SDict begin 18.2 H.A end
- 6757 9190 a 6757 9190 a
-SDict begin [ /View [/XYZ H.V] /Dest (2927) cvn H.B /DEST pdfmark end
- 6757 9190 a FP(some_value)p
-FU(\224;)442 b(if)17148 9190 y
-SDict begin H.S end
- 17148 9190 a 17148 9190
-a
-SDict begin 18.2 H.A end
- 17148 9190 a 17148 9190 a
-SDict begin [ /View [/XYZ H.V] /Dest (2928) cvn H.B /DEST pdfmark end
- 17148 9190 a FP(VARIABLE)h
-FU(didn')-28 b(t)443 b(e)-23 b(xist,)443 b(it)g(does)g(no)-39
-b(w)-101 b(.)444 b(If)40821 9190 y
-SDict begin H.S end
- 40821 9190 a 40821
-9190 a
-SDict begin 18.2 H.A end
- 40821 9190 a 40821 9190 a
-SDict begin [ /View [/XYZ H.V] /Dest (2929) cvn H.B /DEST pdfmark end
- 40821 9190 a FP(VARIABLE)e
-FU(already)-30 11205 y(had)325 b(a)g(v)-39 b(alue,)325
-b(well,)g(it')-85 b(s)324 b(gone.)h(That')-85 b(s)324
-b(not)g(so)h(good,)f(if)h(you')-77 b(re)324 b(just)g(trying)g(to)h(add)
-f(a)h(directory)-30 13220 y(to)387 b(your)4791 13220
-y
-SDict begin H.S end
- 4791 13220 a 4791 13220 a
-SDict begin 18.2 H.A end
- 4791 13220 a 4791 13220 a
-SDict begin [ /View [/XYZ H.V] /Dest (2930) cvn H.B /DEST pdfmark end
-
-4791 13220 a FP(PATH)p FU(.)h(In)f(that)g(case,)h(you)f(probably)g(w)
--15 b(ant)386 b(to)i(do)f(something)f(lik)-15 b(e)386
-b(this:)-30 15105 y
-SDict begin H.S end
- -30 15105 a -30 15105 a
-SDict begin 14.56 H.A end
- -30 15105
-a -30 15105 a
-SDict begin [ /View [/XYZ H.V] /Dest (2931) cvn H.B /DEST pdfmark end
- -30 15105 a -30 15105 a
-SDict begin H.S end
- -30 15105 a -30
-15105 a
-SDict begin 14.56 H.A end
- -30 15105 a -30 15105 a
-SDict begin [ /View [/XYZ H.V] /Dest (2932) cvn H.B /DEST pdfmark end
- -30 15105 a 1276 x FJ(\045)1309
-16381 y
-SDict begin H.S end
- 1309 16381 a 1309 16381 a
-SDict begin 14.56 H.A end
- 1309 16381 a 1309 16381
-a
-SDict begin [ /View [/XYZ H.V] /Dest (2933) cvn H.B /DEST pdfmark end
- 1309 16381 a FH(export)743 b(PATH=$PATH:)14700 16381
-y
-SDict begin H.S end
- 14700 16381 a 14700 16381 a
-SDict begin 14.56 H.A end
- 14700 16381 a 14700 16381
-a
-SDict begin [ /View [/XYZ H.V] /Dest (2934) cvn H.B /DEST pdfmark end
- 14700 16381 a Fy(/some/new/directory)-30 18099 y
-SDict begin H.S end
- -30
-18099 a -30 18099 a
-SDict begin 18.2 H.A end
- -30 18099 a -30 18099 a
-SDict begin [ /View [/XYZ H.V] /Dest (2935) cvn H.B /DEST pdfmark end
- -30 18099
-a 1846 x FU(Note)446 b(the)g(use)g(of)10018 19945 y
-SDict begin H.S end
- 10018
-19945 a 10018 19945 a
-SDict begin 18.2 H.A end
- 10018 19945 a 10018 19945 a
-SDict begin [ /View [/XYZ H.V] /Dest (2936) cvn H.B /DEST pdfmark end
- 10018
-19945 a FP($PATH)f FU(there:)h(when)g(you)g(w)-15 b(ant)28175
-19945 y
-SDict begin H.S end
- 28175 19945 a 28175 19945 a
-SDict begin 18.2 H.A end
- 28175 19945 a 28175
-19945 a
-SDict begin [ /View [/XYZ H.V] /Dest (2937) cvn H.B /DEST pdfmark end
- 28175 19945 a FP(bash)445 b FU(to)h(interpret)g(a)g(v)-39
-b(ariable)446 b(\(replace)g(it)-30 21960 y(with)335 b(its)h(v)-39
-b(alue\),)336 b(tack)g(a)13361 21960 y
-SDict begin H.S end
- 13361 21960 a
-13361 21960 a
-SDict begin 18.2 H.A end
- 13361 21960 a 13361 21960 a
-SDict begin [ /View [/XYZ H.V] /Dest (2938) cvn H.B /DEST pdfmark end
- 13361 21960
-a FP($)g FU(onto)f(the)h(be)-23 b(ginning)335 b(of)h(the)g(v)-39
-b(ariable')-85 b(s)335 b(name.)h(F)-23 b(or)335 b(instance,)48800
-21960 y
-SDict begin H.S end
- 48800 21960 a 48800 21960 a
-SDict begin 18.2 H.A end
- 48800 21960 a 48800
-21960 a
-SDict begin [ /View [/XYZ H.V] /Dest (2939) cvn H.B /DEST pdfmark end
- 48800 21960 a FP(echo)-30 23975 y($PATH)387 b
-FU(will)g(echo)g(the)g(v)-39 b(alue)388 b(of)17854 23975
-y
-SDict begin H.S end
- 17854 23975 a 17854 23975 a
-SDict begin 18.2 H.A end
- 17854 23975 a 17854 23975
-a
-SDict begin [ /View [/XYZ H.V] /Dest (2940) cvn H.B /DEST pdfmark end
- 17854 23975 a FP(PATH)p FU(,)f(in)h(my)f(case:)-30
-25860 y
-SDict begin H.S end
- -30 25860 a -30 25860 a
-SDict begin 14.56 H.A end
- -30 25860 a -30 25860
-a
-SDict begin [ /View [/XYZ H.V] /Dest (2941) cvn H.B /DEST pdfmark end
- -30 25860 a -30 25860 a
-SDict begin H.S end
- -30 25860 a -30 25860 a
-SDict begin 14.56 H.A end
- -30
-25860 a -30 25860 a
-SDict begin [ /View [/XYZ H.V] /Dest (2942) cvn H.B /DEST pdfmark end
- -30 25860 a 1276 x FJ(\045)1309 27136
-y
-SDict begin H.S end
- 1309 27136 a 1309 27136 a
-SDict begin 14.56 H.A end
- 1309 27136 a 1309 27136 a
-SDict begin [ /View [/XYZ H.V] /Dest (2943) cvn H.B /DEST pdfmark end
-
-1309 27136 a FH(echo)743 b($PATH)-30 28748 y FP
-(/usr/local/lib/qt/bin:/usr/local/bin:/usr/bin:/bin:/usr/X11R6/bin:)-30
-30360 y
-(/usr/openwin/bin:/usr/games:.:/usr/local/ssh2/bin:/usr/local/ssh1/b)p
-(in:)-30 31971 y
-(/usr/share/texmf/bin:/usr/local/sbin:/usr/sbin:/home/logan/bin)-30
-33716 y
-SDict begin H.S end
- -30 33716 a -30 33716 a
-SDict begin 18.2 H.A end
- -30 33716 a -30 33716
-a
-SDict begin [ /View [/XYZ H.V] /Dest (SHELL-BASH-TAB) cvn H.B /DEST
-pdfmark end
- -30 33716 a 5322 x FG(T)-149 b(ab)518 b(Completion)-30
-40353 y
-SDict begin H.S end
- -30 40353 a -30 40353 a
-SDict begin 18.2 H.A end
- -30 40353 a -30 40353
-a
-SDict begin [ /View [/XYZ H.V] /Dest (2946) cvn H.B /DEST pdfmark end
- -30 40353 a 1630 x FU(\(Here)388 b(comes)f(something)f(cool)h(ag)-8
-b(ain.\))-30 42318 y
-SDict begin H.S end
- -30 42318 a -30 42318 a
-SDict begin 18.2 H.A end
- -30 42318
-a -30 42318 a
-SDict begin [ /View [/XYZ H.V] /Dest (2947) cvn H.B /DEST pdfmark end
- -30 42318 a -30 43093 a
-SDict begin H.S end
- -30 43093 a -30
-43093 a
-SDict begin 18.2 H.A end
- -30 43093 a -30 43093 a
-SDict begin [ /View [/XYZ H.V] /Dest (2948) cvn H.B /DEST pdfmark end
- -30 43093 a Black 1210
-46322 a FU(1.)p Black 2760 46322 a
-SDict begin H.S end
- 2760 46322 a 2760
-46322 a
-SDict begin 18.2 H.A end
- 2760 46322 a 2760 46322 a
-SDict begin [ /View [/XYZ H.V] /Dest (2949) cvn H.B /DEST pdfmark end
- 2760 46322 a FU(A)387
-b(commandline)f(interf)-15 b(ace)387 b(means)g(lots)g(of)g(typing.)-30
-46658 y
-SDict begin H.S end
- -30 46658 a -30 46658 a
-SDict begin 18.2 H.A end
- -30 46658 a -30 46658
-a
-SDict begin [ /View [/XYZ H.V] /Dest (2950) cvn H.B /DEST pdfmark end
- -30 46658 a Black 1210 49112 a FU(2.)p Black 2760 49112
-a
-SDict begin H.S end
- 2760 49112 a 2760 49112 a
-SDict begin 18.2 H.A end
- 2760 49112 a 2760 49112 a
-SDict begin [ /View [/XYZ H.V] /Dest (2951) cvn H.B /DEST pdfmark end
-
-2760 49112 a FU(T)-124 b(yping)386 b(is)h(w)-15 b(ork.)-30
-49447 y
-SDict begin H.S end
- -30 49447 a -30 49447 a
-SDict begin 18.2 H.A end
- -30 49447 a -30 49447
-a
-SDict begin [ /View [/XYZ H.V] /Dest (2952) cvn H.B /DEST pdfmark end
- -30 49447 a Black 1210 51901 a FU(3.)p Black 2760 51901
-a
-SDict begin H.S end
- 2760 51901 a 2760 51901 a
-SDict begin 18.2 H.A end
- 2760 51901 a 2760 51901 a
-SDict begin [ /View [/XYZ H.V] /Dest (2953) cvn H.B /DEST pdfmark end
-
-2760 51901 a FU(Nobody)386 b(lik)-15 b(es)387 b(w)-15
-b(ork.)-30 52237 y
-SDict begin H.S end
- -30 52237 a -30 52237 a
-SDict begin 18.2 H.A end
- -30 52237
-a -30 52237 a
-SDict begin [ /View [/XYZ H.V] /Dest (2954) cvn H.B /DEST pdfmark end
- -30 52237 a -30 53012 a
-SDict begin H.S end
- -30 53012 a -30
-53012 a
-SDict begin 18.2 H.A end
- -30 53012 a -30 53012 a
-SDict begin [ /View [/XYZ H.V] /Dest (2956) cvn H.B /DEST pdfmark end
- -30 53012 a 1679 x FU(From)313
-b(3)g(and)g(2,)h(we)g(can)f(determine)g(that)g(\(4\))h(nobody)e(lik)-15
-b(es)313 b(typing.)g(F)-23 b(ortunately)-101 b(,)45184
-54691 y
-SDict begin H.S end
- 45184 54691 a 45184 54691 a
-SDict begin 18.2 H.A end
- 45184 54691 a 45184
-54691 a
-SDict begin [ /View [/XYZ H.V] /Dest (2957) cvn H.B /DEST pdfmark end
- 45184 54691 a FP(bash)313 b FU(sa)-31 b(v)-23
-b(es)-30 56705 y(us)387 b(from)g(\(5\))h(\(nobody)f(lik)-15
-b(es)386 b(a)h(commandline)g(interf)-15 b(ace\).)-30
-57816 y
-SDict begin H.S end
- -30 57816 a -30 57816 a
-SDict begin 18.2 H.A end
- -30 57816 a -30 57816
-a
-SDict begin [ /View [/XYZ H.V] /Dest (2958) cvn H.B /DEST pdfmark end
- -30 57816 a 1679 x FU(Ho)-39 b(w)360 b(does)6505 59495
-y
-SDict begin H.S end
- 6505 59495 a 6505 59495 a
-SDict begin 18.2 H.A end
- 6505 59495 a 6505 59495 a
-SDict begin [ /View [/XYZ H.V] /Dest (2959) cvn H.B /DEST pdfmark end
-
-6505 59495 a FP(bash)g FU(accomplish)f(this)g(w)-15 b(onderful)359
-b(feat,)i(you)f(ask?)f(In)i(addition)e(to)g(the)h(wildcard)-30
-61510 y(e)-23 b(xpansion)386 b(we)i(discussed)e(before,)19873
-61510 y
-SDict begin H.S end
- 19873 61510 a 19873 61510 a
-SDict begin 18.2 H.A end
- 19873 61510 a 19873
-61510 a
-SDict begin [ /View [/XYZ H.V] /Dest (2960) cvn H.B /DEST pdfmark end
- 19873 61510 a FP(bash)h FU(features)h(tab)f(completion.)-30
-62620 y
-SDict begin H.S end
- -30 62620 a -30 62620 a
-SDict begin 18.2 H.A end
- -30 62620 a -30 62620
-a
-SDict begin [ /View [/XYZ H.V] /Dest (2961) cvn H.B /DEST pdfmark end
- -30 62620 a 1679 x FU(T)-124 b(ab)410 b(completion)f(w)-15
-b(orks)410 b(something)f(lik)-15 b(e)409 b(this:)h(Y)-170
-b(ou')-77 b(re)409 b(typing)g(the)h(name)g(of)h(a)f(\002le.)g(Maybe)-30
-66314 y(it')-85 b(s)490 b(in)g(your)7383 66314 y
-SDict begin H.S end
- 7383
-66314 a 7383 66314 a
-SDict begin 18.2 H.A end
- 7383 66314 a 7383 66314 a
-SDict begin [ /View [/XYZ H.V] /Dest (2962) cvn H.B /DEST pdfmark end
- 7383 66314
-a FP(PATH)p FU(,)g(maybe)g(you')-77 b(re)490 b(typing)f(it)h(out)g(e)
--23 b(xplicitly)-101 b(.)490 b(All)g(you)g(ha)-31 b(v)-23
-b(e)490 b(to)g(do)g(is)g(type)p Black -30 73792 a FR(108)p
-Black eop end
-%%Page: 109 131
-TeXDict begin 109 130 bop -8000 -8000 a
-SDict begin /product where{pop product(Distiller)search{pop pop pop
-version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
-closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
-grestore}if}{pop}ifelse}{pop}ifelse}if end
- -8000 -8000 a
-Black 0 TeXcolorgray -30 -1237 a
-SDict begin H.S end
- -30 -1237 a 0 TeXcolorgray
-0 TeXcolorgray -30 -1237 a
-SDict begin H.R end
- -30 -1237 a -30 -1237 a
-SDict begin [ /View [/XYZ H.V] /Dest (page.109) cvn H.B /DEST pdfmark
-end
- -30
--1237 a Black 39333 -1636 a FR(Chapter)387 b(8)g(The)g(Shell)p
-Black -30 3611 a FU(enough)395 b(of)f(the)h(\002lename)f(to)h(uniquely)
-f(identify)g(it.)h(Then)g(hit)f(the)h(tab)g(k)-15 b(e)-23
-b(y)-101 b(.)41984 3611 y
-SDict begin H.S end
- 41984 3611 a 41984 3611 a
-SDict begin 18.2 H.A end
- 41984
-3611 a 41984 3611 a
-SDict begin [ /View [/XYZ H.V] /Dest (2963) cvn H.B /DEST pdfmark end
- 41984 3611 a FP(bash)394 b FU(will)g(\002gure)-30
-5626 y(out)387 b(what)g(you)g(w)-15 b(ant)387 b(and)g(\002nish)g
-(typing)f(it)h(for)h(you!)-30 8415 y(Example)612 b(time.)g
-FQ(/usr/src)607 b FU(contains)612 b(tw)-15 b(o)612 b(subdirectories:)
-33907 8415 y
-SDict begin H.S end
- 33907 8415 a 33907 8415 a
-SDict begin 18.2 H.A end
- 33907 8415 a 33907
-8415 a
-SDict begin [ /View [/XYZ H.V] /Dest (2966) cvn H.B /DEST pdfmark end
- 33907 8415 a FQ(/usr/src/linux)603 b FU(and)46139
-8415 y
-SDict begin H.S end
- 46139 8415 a 46139 8415 a
-SDict begin 18.2 H.A end
- 46139 8415 a 46139 8415
-a
-SDict begin [ /View [/XYZ H.V] /Dest (2967) cvn H.B /DEST pdfmark end
- 46139 8415 a FQ(/usr/src/)-30 10430 y(sendmail)p FU(.)499
-b(I)k(w)-15 b(ant)503 b(to)g(see)h(what')-85 b(s)503
-b(in)20843 10430 y
-SDict begin H.S end
- 20843 10430 a 20843 10430 a
-SDict begin 18.2 H.A end
- 20843
-10430 a 20843 10430 a
-SDict begin [ /View [/XYZ H.V] /Dest (2968) cvn H.B /DEST pdfmark end
- 20843 10430 a FQ(/usr/src/linux)p
-FU(.)495 b(So)503 b(I)h(just)f(type)39578 10430 y
-SDict begin H.S end
- 39578
-10430 a 39578 10430 a
-SDict begin 18.2 H.A end
- 39578 10430 a 39578 10430 a
-SDict begin [ /View [/XYZ H.V] /Dest (2969) cvn H.B /DEST pdfmark end
- 39578
-10430 a FP(ls)744 b(/usr/src/l)p FU(,)502 b(hit)-30 12445
-y(the)2251 12445 y
-SDict begin H.S end
- 2251 12445 a 2251 12445 a
-SDict begin 18.2 H.A end
- 2251 12445
-a 2251 12445 a
-SDict begin [ /View [/XYZ H.V] /Dest (2970) cvn H.B /DEST pdfmark end
- 2251 12445 a Fv(TAB)387 b FU(k)-15 b(e)-23
-b(y)-101 b(,)388 b(and)10927 12445 y
-SDict begin H.S end
- 10927 12445 a 10927
-12445 a
-SDict begin 18.2 H.A end
- 10927 12445 a 10927 12445 a
-SDict begin [ /View [/XYZ H.V] /Dest (2971) cvn H.B /DEST pdfmark end
- 10927 12445 a FP(bash)f
-FU(gi)-39 b(v)-23 b(es)387 b(me)20168 12445 y
-SDict begin H.S end
- 20168 12445
-a 20168 12445 a
-SDict begin 18.2 H.A end
- 20168 12445 a 20168 12445 a
-SDict begin [ /View [/XYZ H.V] /Dest (2972) cvn H.B /DEST pdfmark end
- 20168 12445
-a FP(ls)743 b(/usr/src/linux)p FU(.)-30 13555 y
-SDict begin H.S end
- -30 13555
-a -30 13555 a
-SDict begin 18.2 H.A end
- -30 13555 a -30 13555 a
-SDict begin [ /View [/XYZ H.V] /Dest (2973) cvn H.B /DEST pdfmark end
- -30 13555 a 1679
-x FU(No)-39 b(w)-101 b(,)540 b(suppose)f(there)h(are)f(tw)-15
-b(o)539 b(directories)25302 15234 y
-SDict begin H.S end
- 25302 15234 a 25302
-15234 a
-SDict begin 18.2 H.A end
- 25302 15234 a 25302 15234 a
-SDict begin [ /View [/XYZ H.V] /Dest (2974) cvn H.B /DEST pdfmark end
- 25302 15234 a FQ(/usr/src/linux)531
-b FU(and)37388 15234 y
-SDict begin H.S end
- 37388 15234 a 37388 15234 a
-SDict begin 18.2 H.A end
- 37388
-15234 a 37388 15234 a
-SDict begin [ /View [/XYZ H.V] /Dest (2975) cvn H.B /DEST pdfmark end
- 37388 15234 a FQ(/usr/src/linux-)55
-b(old)p FU(;)528 b(If)540 b(I)-30 17249 y(type)3017 17249
-y
-SDict begin H.S end
- 3017 17249 a 3017 17249 a
-SDict begin 18.2 H.A end
- 3017 17249 a 3017 17249 a
-SDict begin [ /View [/XYZ H.V] /Dest (2976) cvn H.B /DEST pdfmark end
-
-3017 17249 a FQ(/usr/src/l)372 b FU(and)379 b(hit)14291
-17249 y
-SDict begin H.S end
- 14291 17249 a 14291 17249 a
-SDict begin 18.2 H.A end
- 14291 17249 a 14291
-17249 a
-SDict begin [ /View [/XYZ H.V] /Dest (2977) cvn H.B /DEST pdfmark end
- 14291 17249 a Fv(TAB)p FU(,)17846 17249 y
-SDict begin H.S end
- 17846
-17249 a 17846 17249 a
-SDict begin 18.2 H.A end
- 17846 17249 a 17846 17249 a
-SDict begin [ /View [/XYZ H.V] /Dest (2978) cvn H.B /DEST pdfmark end
- 17846
-17249 a FP(bash)f FU(will)g(\002ll)f(in)i(as)f(much)g(as)g(it)g(can,)h
-(and)g(I')-15 b(ll)377 b(get)46139 17249 y
-SDict begin H.S end
- 46139 17249
-a 46139 17249 a
-SDict begin 18.2 H.A end
- 46139 17249 a 46139 17249 a
-SDict begin [ /View [/XYZ H.V] /Dest (2979) cvn H.B /DEST pdfmark end
- 46139 17249
-a FQ(/usr/src/)-30 19264 y(linux)p FU(.)339 b(I)k(can)f(stop)f(there,)h
-(or)g(I)h(can)f(hit)20898 19264 y
-SDict begin H.S end
- 20898 19264 a 20898
-19264 a
-SDict begin 18.2 H.A end
- 20898 19264 a 20898 19264 a
-SDict begin [ /View [/XYZ H.V] /Dest (2980) cvn H.B /DEST pdfmark end
- 20898 19264 a Fv(TAB)g
-FU(ag)-8 b(ain,)342 b(and)30688 19264 y
-SDict begin H.S end
- 30688 19264 a
-30688 19264 a
-SDict begin 18.2 H.A end
- 30688 19264 a 30688 19264 a
-SDict begin [ /View [/XYZ H.V] /Dest (2981) cvn H.B /DEST pdfmark end
- 30688 19264
-a FP(bash)g FU(will)f(sho)-39 b(w)342 b(a)g(list)f(of)h(directories)-30
-21278 y(that)387 b(match)g(what)g(I')-77 b(v)-23 b(e)387
-b(typed)g(so)g(f)-15 b(ar)-85 b(.)-30 22389 y
-SDict begin H.S end
- -30 22389
-a -30 22389 a
-SDict begin 18.2 H.A end
- -30 22389 a -30 22389 a
-SDict begin [ /View [/XYZ H.V] /Dest (2982) cvn H.B /DEST pdfmark end
- -30 22389 a 1679
-x FU(Hence,)436 b(less)f(typing)g(\(and)h(hence,)g(people)f(can)g(lik)
--15 b(e)435 b(commandline)f(interf)-15 b(aces\).)436
-b(I)f(told)g(you)-30 26082 y(it)387 b(w)-15 b(as)387
-b(cool.)-30 28423 y
-SDict begin H.S end
- -30 28423 a -30 28423 a
-SDict begin 18.2 H.A end
- -30 28423
-a -30 28423 a
-SDict begin [ /View [/XYZ H.V] /Dest (SHELL-VT) cvn H.B /DEST pdfmark
-end
- -30 28423 a 6109 x FL(8.4)620 b(Vir)45
-b(tual)621 b(T)-134 b(erminals)-30 34560 y
-SDict begin H.S end
- -30 34560
-a -30 34560 a
-SDict begin 18.2 H.A end
- -30 34560 a -30 34560 a
-SDict begin [ /View [/XYZ H.V] /Dest (2985) cvn H.B /DEST pdfmark end
- -30 34560 a -30
-35675 a
-SDict begin H.S end
- -30 35675 a -30 35675 a
-SDict begin 18.2 H.A end
- -30 35675 a -30 35675
-a
-SDict begin [ /View [/XYZ H.V] /Dest (2987) cvn H.B /DEST pdfmark end
- -30 35675 a 1987 x FU(So)515 b(you')-77 b(re)515 b(in)h(the)f(middle)
-g(of)h(w)-15 b(orking)514 b(on)i(something)e(and)i(you)f(decide)h(you)f
-(need)h(to)f(do)-30 39677 y(something)429 b(else.)i(Y)-170
-b(ou)429 b(could)h(just)g(drop)g(what)g(you')-77 b(re)430
-b(doing)f(and)i(switch)e(tasks,)i(b)-31 b(ut)429 b(this)h(is)-30
-41691 y(a)360 b(multi-user)f(system,)g(right?)h(And)f(you)h(can)f(log)h
-(in)f(as)h(man)-23 b(y)359 b(times)g(simultaneously)f(as)i(you)-30
-43706 y(w)-15 b(ant,)387 b(right?)g(So)g(wh)-8 b(y)387
-b(should)g(you)g(ha)-31 b(v)-23 b(e)387 b(to)g(do)g(one)h(thing)e(at)i
-(a)f(time?)-30 44816 y
-SDict begin H.S end
- -30 44816 a -30 44816 a
-SDict begin 18.2 H.A end
- -30 44816
-a -30 44816 a
-SDict begin [ /View [/XYZ H.V] /Dest (2988) cvn H.B /DEST pdfmark end
- -30 44816 a 1680 x FU(Y)-170 b(ou)512 b(don')-28
-b(t.)513 b(W)-124 b(e)514 b(can')-28 b(t)513 b(all)f(ha)-31
-b(v)-23 b(e)513 b(multiple)f(k)-15 b(e)-23 b(yboards,)512
-b(mice,)h(and)g(monitors)f(for)h(one)g(ma-)-30 48510
-y(chine;)400 b(chances)h(are)g(most)f(of)g(us)h(don')-28
-b(t)400 b(w)-15 b(ant)400 b(them.)g(Clearly)-101 b(,)401
-b(hardw)-15 b(are)400 b(isn')-28 b(t)400 b(the)h(solution.)-30
-50525 y(That)j(lea)-31 b(v)-23 b(es)404 b(softw)-15 b(are,)404
-b(and)h(Linux)e(steps)h(up)h(on)f(this)g(one,)g(pro)-23
-b(viding)39793 50525 y
-SDict begin H.S end
- 39793 50525 a 39793 50525 a
-SDict begin 18.2 H.A end
- 39793
-50525 a 39793 50525 a
-SDict begin [ /View [/XYZ H.V] /Dest (2989) cvn H.B /DEST pdfmark end
- 39793 50525 a FU(\223virtual)404
-b(terminals\224,)-30 52540 y(or)1648 52540 y
-SDict begin H.S end
- 1648 52540
-a 1648 52540 a
-SDict begin 18.2 H.A end
- 1648 52540 a 1648 52540 a
-SDict begin [ /View [/XYZ H.V] /Dest (2990) cvn H.B /DEST pdfmark end
- 1648 52540 a
-FU(\223VTs\224.)-30 53330 y
-SDict begin H.S end
- -30 53330 a -30 53330 a
-SDict begin 18.2 H.A end
- -30
-53330 a -30 53330 a
-SDict begin [ /View [/XYZ H.V] /Dest (2991) cvn H.B /DEST pdfmark end
- -30 53330 a 1999 x FU(By)361 b(pressing)7666
-55329 y
-SDict begin H.S end
- 7666 55329 a 7666 55329 a
-SDict begin 18.2 H.A end
- 7666 55329 a 7666 55329
-a
-SDict begin [ /View [/XYZ H.V] /Dest (2992) cvn H.B /DEST pdfmark end
- 7666 55329 a Fv(Alt)g FU(and)g(a)g(function)g(k)-15
-b(e)-23 b(y)-101 b(,)361 b(you)g(can)g(switch)f(between)h(virtual)g
-(terminals;)f(each)-30 57344 y(function)380 b(k)-15 b(e)-23
-b(y)380 b(corresponds)g(to)g(one.)h(Slackw)-15 b(are)380
-b(has)g(logins)g(on)g(6)g(VTs)h(by)f(def)-15 b(ault.)47114
-57344 y
-SDict begin H.S end
- 47114 57344 a 47114 57344 a
-SDict begin 18.2 H.A end
- 47114 57344 a 47114
-57344 a
-SDict begin [ /View [/XYZ H.V] /Dest (2993) cvn H.B /DEST pdfmark end
- 47114 57344 a 47114 57344 a
-SDict begin H.S end
- 47114 57344 a 47114
-57344 a
-SDict begin 18.2 H.A end
- 47114 57344 a 47114 57344 a
-SDict begin [ /View [/XYZ H.V] /Dest (2994) cvn H.B /DEST pdfmark end
- 47114 57344 a FX(Alt)p
-FU(+)50054 57344 y
-SDict begin H.S end
- 50054 57344 a 50054 57344 a
-SDict begin 18.2 H.A end
- 50054
-57344 a 50054 57344 a
-SDict begin [ /View [/XYZ H.V] /Dest (2995) cvn H.B /DEST pdfmark end
- 50054 57344 a FX(F2)-30 59358 y
-FU(will)387 b(tak)-15 b(e)387 b(you)g(to)g(the)g(second)g(one,)20013
-59358 y
-SDict begin H.S end
- 20013 59358 a 20013 59358 a
-SDict begin 18.2 H.A end
- 20013 59358 a 20013
-59358 a
-SDict begin [ /View [/XYZ H.V] /Dest (2996) cvn H.B /DEST pdfmark end
- 20013 59358 a 20013 59358 a
-SDict begin H.S end
- 20013 59358 a 20013
-59358 a
-SDict begin 18.2 H.A end
- 20013 59358 a 20013 59358 a
-SDict begin [ /View [/XYZ H.V] /Dest (2997) cvn H.B /DEST pdfmark end
- 20013 59358 a FX(Alt)p
-FU(+)22953 59358 y
-SDict begin H.S end
- 22953 59358 a 22953 59358 a
-SDict begin 18.2 H.A end
- 22953
-59358 a 22953 59358 a
-SDict begin [ /View [/XYZ H.V] /Dest (2998) cvn H.B /DEST pdfmark end
- 22953 59358 a FX(F3)g FU(to)g(the)g(third,)g
-(etc.)-30 60469 y
-SDict begin H.S end
- -30 60469 a -30 60469 a
-SDict begin 18.2 H.A end
- -30 60469 a
--30 60469 a
-SDict begin [ /View [/XYZ H.V] /Dest (2999) cvn H.B /DEST pdfmark end
- -30 60469 a 1679 x FU(The)511 b(rest)g(of)g(the)g(function)
-g(k)-15 b(e)-23 b(ys)510 b(are)h(reserv)-23 b(ed)511
-b(for)g(X)30414 62148 y
-SDict begin H.S end
- 30414 62148 a 30414 62148 a
-SDict begin 18.2 H.A end
- 30414
-62148 a 30414 62148 a
-SDict begin [ /View [/XYZ H.V] /Dest (3000) cvn H.B /DEST pdfmark end
- 30414 62148 a 30414 62148 a
-SDict begin H.S end
- 30414
-62148 a 30414 62148 a
-SDict begin 18.2 H.A end
- 30414 62148 a 30414 62148 a
-SDict begin [ /View [/XYZ H.V] /Dest (3003) cvn H.B /DEST pdfmark end
- 30414
-62148 a 511 w FU(sessions.)g(Each)g(X)g(session)g(uses)f(its)-30
-64163 y(o)-39 b(wn)741 b(VT)-115 b(,)742 b(be)-23 b(ginning)740
-b(with)g(the)h(se)-39 b(v)-23 b(enth)741 b(\()25399 64163
-y
-SDict begin H.S end
- 25399 64163 a 25399 64163 a
-SDict begin 18.2 H.A end
- 25399 64163 a 25399 64163
-a
-SDict begin [ /View [/XYZ H.V] /Dest (3006) cvn H.B /DEST pdfmark end
- 25399 64163 a 25399 64163 a
-SDict begin H.S end
- 25399 64163 a 25399 64163
-a
-SDict begin 18.2 H.A end
- 25399 64163 a 25399 64163 a
-SDict begin [ /View [/XYZ H.V] /Dest (3007) cvn H.B /DEST pdfmark end
- 25399 64163 a FX(Alt)p
-FU(+)28339 64163 y
-SDict begin H.S end
- 28339 64163 a 28339 64163 a
-SDict begin 18.2 H.A end
- 28339
-64163 a 28339 64163 a
-SDict begin [ /View [/XYZ H.V] /Dest (3008) cvn H.B /DEST pdfmark end
- 28339 64163 a FX(F7)p FU(\))f(and)h(going)g(up.)g
-(When)g(in)g(X,)g(the)-30 66177 y
-SDict begin H.S end
- -30 66177 a -30 66177
-a
-SDict begin 18.2 H.A end
- -30 66177 a -30 66177 a
-SDict begin [ /View [/XYZ H.V] /Dest (3009) cvn H.B /DEST pdfmark end
- -30 66177 a -30 66177 a
-SDict begin H.S end
- -30
-66177 a -30 66177 a
-SDict begin 18.2 H.A end
- -30 66177 a -30 66177 a
-SDict begin [ /View [/XYZ H.V] /Dest (3010) cvn H.B /DEST pdfmark end
- -30 66177
-a FX(Alt)p FU(+)2910 66177 y
-SDict begin H.S end
- 2910 66177 a 2910 66177
-a
-SDict begin 18.2 H.A end
- 2910 66177 a 2910 66177 a
-SDict begin [ /View [/XYZ H.V] /Dest (3011) cvn H.B /DEST pdfmark end
- 2910 66177 a FX(Function)692
-b(k)-15 b(ey)692 b FU(combination)g(is)h(replaced)g(with)32107
-66177 y
-SDict begin H.S end
- 32107 66177 a 32107 66177 a
-SDict begin 18.2 H.A end
- 32107 66177 a 32107
-66177 a
-SDict begin [ /View [/XYZ H.V] /Dest (3012) cvn H.B /DEST pdfmark end
- 32107 66177 a 32107 66177 a
-SDict begin H.S end
- 32107 66177 a 32107
-66177 a
-SDict begin 18.2 H.A end
- 32107 66177 a 32107 66177 a
-SDict begin [ /View [/XYZ H.V] /Dest (3013) cvn H.B /DEST pdfmark end
- 32107 66177 a FX(Ctrl)p
-FU(+)35735 66177 y
-SDict begin H.S end
- 35735 66177 a 35735 66177 a
-SDict begin 18.2 H.A end
- 35735
-66177 a 35735 66177 a
-SDict begin [ /View [/XYZ H.V] /Dest (3014) cvn H.B /DEST pdfmark end
- 35735 66177 a FX(Alt)p FU(+)38675
-66177 y
-SDict begin H.S end
- 38675 66177 a 38675 66177 a
-SDict begin 18.2 H.A end
- 38675 66177 a 38675
-66177 a
-SDict begin [ /View [/XYZ H.V] /Dest (3015) cvn H.B /DEST pdfmark end
- 38675 66177 a FX(Function)p FU(;)e(so)i(if)g(you)-30
-68192 y(are)630 b(in)f(X)g(and)h(w)-15 b(ant)629 b(to)g(get)g(back)h
-(to)f(a)h(te)-23 b(xt)629 b(login)g(\(without)f(e)-23
-b(xiting)629 b(your)g(X)g(session\),)p Black 49451 73792
-a FR(109)p Black eop end
-%%Page: 110 132
-TeXDict begin 110 131 bop -8000 -8000 a
-SDict begin /product where{pop product(Distiller)search{pop pop pop
-version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
-closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
-grestore}if}{pop}ifelse}{pop}ifelse}if end
- -8000 -8000 a
-Black 0 TeXcolorgray -30 -1237 a
-SDict begin H.S end
- -30 -1237 a 0 TeXcolorgray
-0 TeXcolorgray -30 -1237 a
-SDict begin H.R end
- -30 -1237 a -30 -1237 a
-SDict begin [ /View [/XYZ H.V] /Dest (page.110) cvn H.B /DEST pdfmark
-end
- -30
--1237 a Black -399 x FR(Chapter)387 b(8)g(The)g(Shell)p
-Black -30 3611 a
-SDict begin H.S end
- -30 3611 a -30 3611 a
-SDict begin 18.2 H.A end
- -30 3611 a -30
-3611 a
-SDict begin [ /View [/XYZ H.V] /Dest (3016) cvn H.B /DEST pdfmark end
- -30 3611 a -30 3611 a
-SDict begin H.S end
- -30 3611 a -30 3611 a
-SDict begin 18.2 H.A end
- -30
-3611 a -30 3611 a
-SDict begin [ /View [/XYZ H.V] /Dest (3017) cvn H.B /DEST pdfmark end
- -30 3611 a FX(Ctrl)p FU(+)3598 3611
-y
-SDict begin H.S end
- 3598 3611 a 3598 3611 a
-SDict begin 18.2 H.A end
- 3598 3611 a 3598 3611 a
-SDict begin [ /View [/XYZ H.V] /Dest (3018) cvn H.B /DEST pdfmark end
- 3598
-3611 a FX(Alt)p FU(+)6538 3611 y
-SDict begin H.S end
- 6538 3611 a 6538 3611
-a
-SDict begin 18.2 H.A end
- 6538 3611 a 6538 3611 a
-SDict begin [ /View [/XYZ H.V] /Dest (3019) cvn H.B /DEST pdfmark end
- 6538 3611 a FX(F3)679 b FU(will)g(tak)-15
-b(e)678 b(you)h(to)g(the)g(third.)g(\()27247 3611 y
-SDict begin H.S end
- 27247
-3611 a 27247 3611 a
-SDict begin 18.2 H.A end
- 27247 3611 a 27247 3611 a
-SDict begin [ /View [/XYZ H.V] /Dest (3020) cvn H.B /DEST pdfmark end
- 27247 3611
-a 27247 3611 a
-SDict begin H.S end
- 27247 3611 a 27247 3611 a
-SDict begin 18.2 H.A end
- 27247 3611 a
-27247 3611 a
-SDict begin [ /View [/XYZ H.V] /Dest (3021) cvn H.B /DEST pdfmark end
- 27247 3611 a FX(Alt)p FU(+)30187 3611 y
-SDict begin H.S end
-
-30187 3611 a 30187 3611 a
-SDict begin 18.2 H.A end
- 30187 3611 a 30187 3611 a
-SDict begin [ /View [/XYZ H.V] /Dest (3022) cvn H.B /DEST pdfmark end
- 30187
-3611 a FX(F7)g FU(will)g(tak)-15 b(e)678 b(you)h(back,)h(assuming)-30
-5626 y(you')-77 b(re)387 b(using)g(the)g(\002rst)g(X)g(session.\))-30
-5961 y
-SDict begin H.S end
- -30 5961 a -30 5961 a
-SDict begin 18.2 H.A end
- -30 5961 a -30 5961 a
-SDict begin [ /View [/XYZ H.V] /Dest (3023) cvn H.B /DEST pdfmark end
- -30
-5961 a 5027 x FG(Screen)-30 11941 y
-SDict begin H.S end
- -30 11941 a -30 11941
-a
-SDict begin 18.2 H.A end
- -30 11941 a -30 11941 a
-SDict begin [ /View [/XYZ H.V] /Dest (3025) cvn H.B /DEST pdfmark end
- -30 11941 a 1991 x FU(But)444
-b(what)g(about)g(situations)e(where)j(there)f(are)g(no)g(virtual)32978
-13932 y
-SDict begin H.S end
- 32978 13932 a 32978 13932 a
-SDict begin 18.2 H.A end
- 32978 13932 a 32978
-13932 a
-SDict begin [ /View [/XYZ H.V] /Dest (3026) cvn H.B /DEST pdfmark end
- 32978 13932 a 444 w FU(terminals?)g(What)g(then?)g(F)-23
-b(ortu-)-30 15947 y(nately)-101 b(,)435 b(slackw)-15
-b(are)435 b(includes)f(a)h(beautiful)f(screen)h(manager)g(aptly)f
-(named)42027 15947 y
-SDict begin H.S end
- 42027 15947 a 42027 15947 a
-SDict begin 18.2 H.A end
- 42027
-15947 a 42027 15947 a
-SDict begin [ /View [/XYZ H.V] /Dest (3028) cvn H.B /DEST pdfmark end
- 42027 15947 a FP(screen)p FU(.)47313
-15947 y
-SDict begin H.S end
- 47313 15947 a 47313 15947 a
-SDict begin 18.2 H.A end
- 47313 15947 a 47313
-15947 a
-SDict begin [ /View [/XYZ H.V] /Dest (3029) cvn H.B /DEST pdfmark end
- 47313 15947 a FP(screen)-30 17962 y FU(is)484
-b(a)h(terminal)e(emulator)h(that)g(has)g(virtual)g(terminal)f(lik)-15
-b(e)484 b(capabilities.)f(Ex)-23 b(ecuting)47313 17962
-y
-SDict begin H.S end
- 47313 17962 a 47313 17962 a
-SDict begin 18.2 H.A end
- 47313 17962 a 47313 17962
-a
-SDict begin [ /View [/XYZ H.V] /Dest (3030) cvn H.B /DEST pdfmark end
- 47313 17962 a FP(screen)-30 19976 y FU(\003ashes)530
-b(a)h(brief)f(introduction,)g(then)g(dumps)g(to)g(a)h(terminal.)f
-(Unlik)-15 b(e)530 b(the)g(standard)h(virtual)-30 21991
-y(terminals,)6586 21991 y
-SDict begin H.S end
- 6586 21991 a 6586 21991 a
-SDict begin 18.2 H.A end
- 6586
-21991 a 6586 21991 a
-SDict begin [ /View [/XYZ H.V] /Dest (3031) cvn H.B /DEST pdfmark end
- 6586 21991 a FP(screen)459 b FU(has)h(its)g(o)-39
-b(wn)460 b(commands.)g(All)29054 21991 y
-SDict begin H.S end
- 29054 21991
-a 29054 21991 a
-SDict begin 18.2 H.A end
- 29054 21991 a 29054 21991 a
-SDict begin [ /View [/XYZ H.V] /Dest (3032) cvn H.B /DEST pdfmark end
- 29054 21991
-a FP(screen)f FU(commands)g(are)i(pre\002x)-23 b(ed)459
-b(with)-30 24006 y(a)1218 24006 y
-SDict begin H.S end
- 1218 24006 a 1218 24006
-a
-SDict begin 18.2 H.A end
- 1218 24006 a 1218 24006 a
-SDict begin [ /View [/XYZ H.V] /Dest (3033) cvn H.B /DEST pdfmark end
- 1218 24006 a 1218 24006 a
-SDict begin H.S end
-
-1218 24006 a 1218 24006 a
-SDict begin 18.2 H.A end
- 1218 24006 a 1218 24006 a
-SDict begin [ /View [/XYZ H.V] /Dest (3034) cvn H.B /DEST pdfmark end
- 1218
-24006 a FX(Crtl)p FU(+)4846 24006 y
-SDict begin H.S end
- 4846 24006 a 4846
-24006 a
-SDict begin 18.2 H.A end
- 4846 24006 a 4846 24006 a
-SDict begin [ /View [/XYZ H.V] /Dest (3035) cvn H.B /DEST pdfmark end
- 4846 24006 a FX(A)559
-b FU(k)-15 b(e)-23 b(ystrok)-15 b(e.)559 b(F)-23 b(or)559
-b(e)-23 b(xample,)22306 24006 y
-SDict begin H.S end
- 22306 24006 a 22306 24006
-a
-SDict begin 18.2 H.A end
- 22306 24006 a 22306 24006 a
-SDict begin [ /View [/XYZ H.V] /Dest (3036) cvn H.B /DEST pdfmark end
- 22306 24006 a 22306 24006
-a
-SDict begin H.S end
- 22306 24006 a 22306 24006 a
-SDict begin 18.2 H.A end
- 22306 24006 a 22306 24006
-a
-SDict begin [ /View [/XYZ H.V] /Dest (3037) cvn H.B /DEST pdfmark end
- 22306 24006 a FX(Ctrl)p FU(+)25934 24006 y
-SDict begin H.S end
- 25934 24006
-a 25934 24006 a
-SDict begin 18.2 H.A end
- 25934 24006 a 25934 24006 a
-SDict begin [ /View [/XYZ H.V] /Dest (3038) cvn H.B /DEST pdfmark end
- 25934 24006
-a FX(A)p FU(+)27927 24006 y
-SDict begin H.S end
- 27927 24006 a 27927 24006
-a
-SDict begin 18.2 H.A end
- 27927 24006 a 27927 24006 a
-SDict begin [ /View [/XYZ H.V] /Dest (3039) cvn H.B /DEST pdfmark end
- 27927 24006 a FX(C)560
-b FU(will)f(create)h(a)f(ne)-39 b(w)560 b(terminal)f(session.)-30
-26020 y
-SDict begin H.S end
- -30 26020 a -30 26020 a
-SDict begin 18.2 H.A end
- -30 26020 a -30 26020
-a
-SDict begin [ /View [/XYZ H.V] /Dest (3040) cvn H.B /DEST pdfmark end
- -30 26020 a -30 26020 a
-SDict begin H.S end
- -30 26020 a -30 26020 a
-SDict begin 18.2 H.A end
- -30
-26020 a -30 26020 a
-SDict begin [ /View [/XYZ H.V] /Dest (3041) cvn H.B /DEST pdfmark end
- -30 26020 a FX(Ctrl)p FU(+)3598 26020
-y
-SDict begin H.S end
- 3598 26020 a 3598 26020 a
-SDict begin 18.2 H.A end
- 3598 26020 a 3598 26020 a
-SDict begin [ /View [/XYZ H.V] /Dest (3042) cvn H.B /DEST pdfmark end
-
-3598 26020 a FX(A)p FU(+)5591 26020 y
-SDict begin H.S end
- 5591 26020 a 5591
-26020 a
-SDict begin 18.2 H.A end
- 5591 26020 a 5591 26020 a
-SDict begin [ /View [/XYZ H.V] /Dest (3043) cvn H.B /DEST pdfmark end
- 5591 26020 a FX(N)407
-b FU(will)g(switch)f(to)h(the)h(ne)-23 b(xt)406 b(terminal.)27316
-26020 y
-SDict begin H.S end
- 27316 26020 a 27316 26020 a
-SDict begin 18.2 H.A end
- 27316 26020 a 27316
-26020 a
-SDict begin [ /View [/XYZ H.V] /Dest (3044) cvn H.B /DEST pdfmark end
- 27316 26020 a 27316 26020 a
-SDict begin H.S end
- 27316 26020 a 27316
-26020 a
-SDict begin 18.2 H.A end
- 27316 26020 a 27316 26020 a
-SDict begin [ /View [/XYZ H.V] /Dest (3045) cvn H.B /DEST pdfmark end
- 27316 26020 a FX(Ctrl)p
-FU(+)30944 26020 y
-SDict begin H.S end
- 30944 26020 a 30944 26020 a
-SDict begin 18.2 H.A end
- 30944
-26020 a 30944 26020 a
-SDict begin [ /View [/XYZ H.V] /Dest (3046) cvn H.B /DEST pdfmark end
- 30944 26020 a FX(A)p FU(+)32937
-26020 y
-SDict begin H.S end
- 32937 26020 a 32937 26020 a
-SDict begin 18.2 H.A end
- 32937 26020 a 32937
-26020 a
-SDict begin [ /View [/XYZ H.V] /Dest (3047) cvn H.B /DEST pdfmark end
- 32937 26020 a FX(P)h FU(switches)g(to)g(the)g(pre)-39
-b(vious)407 b(ter)-31 b(-)-30 28035 y(minal.)-30 28825
-y
-SDict begin H.S end
- -30 28825 a -30 28825 a
-SDict begin 18.2 H.A end
- -30 28825 a -30 28825 a
-SDict begin [ /View [/XYZ H.V] /Dest (3048) cvn H.B /DEST pdfmark end
- -30
-28825 a -30 28825 a
-SDict begin H.S end
- -30 28825 a -30 28825 a
-SDict begin 18.2 H.A end
- -30 28825
-a -30 28825 a
-SDict begin [ /View [/XYZ H.V] /Dest (3049) cvn H.B /DEST pdfmark end
- -30 28825 a 2000 x FP(screen)321 b FU(also)h(supports)e
-(detaching)h(and)h(re-attaching)f(to)31305 30825 y
-SDict begin H.S end
- 31305
-30825 a 31305 30825 a
-SDict begin 18.2 H.A end
- 31305 30825 a 31305 30825 a
-SDict begin [ /View [/XYZ H.V] /Dest (3050) cvn H.B /DEST pdfmark end
- 31305
-30825 a FP(screen)g FU(sessions)f(which)i(is)f(particu-)-30
-32839 y(larly)296 b(useful)g(for)h(remote)f(sessions)f(via)21461
-32839 y
-SDict begin H.S end
- 21461 32839 a 21461 32839 a
-SDict begin 18.2 H.A end
- 21461 32839 a 21461
-32839 a
-SDict begin [ /View [/XYZ H.V] /Dest (3051) cvn H.B /DEST pdfmark end
- 21461 32839 a FP(ssh)h FU(and)26524 32839 y
-SDict begin H.S end
- 26524
-32839 a 26524 32839 a
-SDict begin 18.2 H.A end
- 26524 32839 a 26524 32839 a
-SDict begin [ /View [/XYZ H.V] /Dest (3052) cvn H.B /DEST pdfmark end
- 26524
-32839 a FP(telnet)p FU(,)g(\(more)g(on)g(those)g(later\).)45036
-32839 y
-SDict begin H.S end
- 45036 32839 a 45036 32839 a
-SDict begin 18.2 H.A end
- 45036 32839 a 45036
-32839 a
-SDict begin [ /View [/XYZ H.V] /Dest (3053) cvn H.B /DEST pdfmark end
- 45036 32839 a 45036 32839 a
-SDict begin H.S end
- 45036 32839 a 45036
-32839 a
-SDict begin 18.2 H.A end
- 45036 32839 a 45036 32839 a
-SDict begin [ /View [/XYZ H.V] /Dest (3054) cvn H.B /DEST pdfmark end
- 45036 32839 a FX(Ctrl)p
-FU(+)48664 32839 y
-SDict begin H.S end
- 48664 32839 a 48664 32839 a
-SDict begin 18.2 H.A end
- 48664
-32839 a 48664 32839 a
-SDict begin [ /View [/XYZ H.V] /Dest (3055) cvn H.B /DEST pdfmark end
- 48664 32839 a FX(A)p FU(+)50657
-32839 y
-SDict begin H.S end
- 50657 32839 a 50657 32839 a
-SDict begin 18.2 H.A end
- 50657 32839 a 50657
-32839 a
-SDict begin [ /View [/XYZ H.V] /Dest (3056) cvn H.B /DEST pdfmark end
- 50657 32839 a FX(D)-30 34854 y FU(will)367 b(detach)g(from)f
-(the)h(currently)g(running)f(screen.)i(Ex)-23 b(ecuting)35292
-34854 y
-SDict begin H.S end
- 35292 34854 a 35292 34854 a
-SDict begin 18.2 H.A end
- 35292 34854 a 35292
-34854 a
-SDict begin [ /View [/XYZ H.V] /Dest (3057) cvn H.B /DEST pdfmark end
- 35292 34854 a FP(screen)743 b(-r)367 b FU(will)f(list)h(all)g
-(cur)-31 b(-)-30 36869 y(rently)387 b(running)g(screen)g(sessions)g
-(you)g(may)g(reattach)g(to.)-30 38754 y
-SDict begin H.S end
- -30 38754 a -30
-38754 a
-SDict begin 14.56 H.A end
- -30 38754 a -30 38754 a
-SDict begin [ /View [/XYZ H.V] /Dest (3058) cvn H.B /DEST pdfmark end
- -30 38754 a -30 38754
-a
-SDict begin H.S end
- -30 38754 a -30 38754 a
-SDict begin 14.56 H.A end
- -30 38754 a -30 38754 a
-SDict begin [ /View [/XYZ H.V] /Dest (3059) cvn H.B /DEST pdfmark end
- -30
-38754 a 1276 x FJ(\045)1309 40030 y
-SDict begin H.S end
- 1309 40030 a 1309
-40030 a
-SDict begin 14.56 H.A end
- 1309 40030 a 1309 40030 a
-SDict begin [ /View [/XYZ H.V] /Dest (3060) cvn H.B /DEST pdfmark end
- 1309 40030 a FH(screen)743
-b(-r)-30 41642 y FP(There)g(are)h(several)f(suitable)g(screens)g(on:)
-3689 43254 y(1212.pts-1.redtail)4462 b(\(Detached\))3689
-44865 y(1195.pts-1.redtail)g(\(Detached\))3689 46477
-y(1225.pts-1.redtail)g(\(Detached\))3689 48089 y(17146.pts-1.sanctuary)
-2230 b(\(Dead)743 b(???\))-30 49700 y(Remove)g(dead)h(screens)f(with)g
-('screen)g(-wipe'.)-30 51312 y(Type)g("screen)h([-d])f(-r)h
-([pid.]tty.host")e(to)h(resume)g(one)h(of)f(them.)-30
-53057 y
-SDict begin H.S end
- -30 53057 a -30 53057 a
-SDict begin 18.2 H.A end
- -30 53057 a -30 53057
-a
-SDict begin [ /View [/XYZ H.V] /Dest (3061) cvn H.B /DEST pdfmark end
- -30 53057 a 1820 x FU(Running)5731 54877 y
-SDict begin H.S end
- 5731 54877
-a 5731 54877 a
-SDict begin 18.2 H.A end
- 5731 54877 a 5731 54877 a
-SDict begin [ /View [/XYZ H.V] /Dest (3062) cvn H.B /DEST pdfmark end
- 5731 54877 a
-FP(screen)g(-r)g(1212)422 b FU(w)-15 b(ould)420 b(reattach)i(to)f(the)g
-(\002rst)g(screen)h(listed.)f(I)h(mentioned)f(ear)-31
-b(-)-30 56891 y(lier)361 b(ho)-39 b(w)362 b(useful)e(this)h(w)-15
-b(as)361 b(for)g(remote)g(sessions.)g(If)g(I)h(were)f(to)g(login)g(to)g
-(a)h(remote)f(slackw)-15 b(are)-30 58906 y(serv)-23 b(er)415
-b(via)6457 58906 y
-SDict begin H.S end
- 6457 58906 a 6457 58906 a
-SDict begin 18.2 H.A end
- 6457 58906
-a 6457 58906 a
-SDict begin [ /View [/XYZ H.V] /Dest (3063) cvn H.B /DEST pdfmark end
- 6457 58906 a FP(ssh)p FU(,)g(and)f(my)h(connection)f(w)
--15 b(as)414 b(se)-39 b(v)-23 b(ered)415 b(by)g(some)f(chance)h
-(occurrence)g(such)g(as)-30 60921 y(a)454 b(local)f(po)-39
-b(wer)454 b(f)-15 b(ailure,)454 b(whate)-39 b(v)-23 b(er)454
-b(I)f(w)-15 b(as)453 b(doing)h(at)f(that)h(moment)f(w)-15
-b(ould)452 b(instantly)h(perish,)-30 62935 y(which)372
-b(can)g(be)f(a)h(horrible)g(thing)f(for)h(your)f(serv)-23
-b(er)-85 b(.)372 b(Using)32286 62935 y
-SDict begin H.S end
- 32286 62935 a
-32286 62935 a
-SDict begin 18.2 H.A end
- 32286 62935 a 32286 62935 a
-SDict begin [ /View [/XYZ H.V] /Dest (3064) cvn H.B /DEST pdfmark end
- 32286 62935
-a FP(screen)g FU(pre)-39 b(v)-23 b(ents)371 b(this)g(by)h(detach-)-30
-64950 y(ing)429 b(my)g(session)f(if)h(my)g(connection)g(is)g(dropped.)g
-(Once)g(my)g(connection)f(is)h(restored,)h(I)f(can)-30
-66965 y(reattach)387 b(to)h(my)f(screen)g(session)g(and)g(resume)g
-(right)g(where)g(I)h(left)f(of)-39 b(f.)p Black -30 73792
-a FR(110)p Black eop end
-%%Page: 111 133
-TeXDict begin 111 132 bop -8000 -8000 a
-SDict begin /product where{pop product(Distiller)search{pop pop pop
-version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
-closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
-grestore}if}{pop}ifelse}{pop}ifelse}if end
- -8000 -8000 a
-Black 0 TeXcolorgray -30 -1358 a
-SDict begin H.S end
- -30 -1358 a 0 TeXcolorgray
-0 TeXcolorgray -30 -1358 a
-SDict begin H.R end
- -30 -1358 a -30 -1358 a
-SDict begin [ /View [/XYZ H.V] /Dest (page.111) cvn H.B /DEST pdfmark
-end
- -30
--1358 a Black Black -30 2383 a
-SDict begin H.S end
- -30 2383 a -30 2383 a
-SDict begin 18.2 H.A end
-
--30 2383 a -30 2383 a
-SDict begin [ /View [/XYZ H.V] /Dest (FILESYSTEM-STRUCTURE) cvn H.B
-/DEST pdfmark end
- -30 2383 a 2345 x FS(Chapter)894
-b(9)-30 10743 y FO(Filesystem)1286 b(Structure)p -30
-18316 51806 56 v -30 19091 a
-SDict begin H.S end
- -30 19091 a -30 19091 a
-SDict begin 18.2 H.A end
-
--30 19091 a -30 19091 a
-SDict begin [ /View [/XYZ H.V] /Dest (3067) cvn H.B /DEST pdfmark end
- -30 19091 a 1051 x FU(W)-124
-b(e)345 b(ha)-31 b(v)-23 b(e)345 b(already)f(discussed)h(the)f
-(directory)h(structure)f(in)h(Slackw)-15 b(are)344 b(Linux.)g(By)h
-(this)f(point,)-30 22157 y(you)475 b(should)f(be)h(able)g(to)f(\002nd)h
-(\002les)f(and)h(directories)f(that)h(you)f(need.)i(But)e(there)h(is)f
-(more)h(to)-30 24171 y(the)387 b(\002lesystem)f(than)h(just)g(the)g
-(directory)g(structure.)-30 24507 y
-SDict begin H.S end
- -30 24507 a -30 24507
-a
-SDict begin 18.2 H.A end
- -30 24507 a -30 24507 a
-SDict begin [ /View [/XYZ H.V] /Dest (3068) cvn H.B /DEST pdfmark end
- -30 24507 a -30 24507 a
-SDict begin H.S end
- -30
-24507 a -30 24507 a
-SDict begin 18.2 H.A end
- -30 24507 a -30 24507 a
-SDict begin [ /View [/XYZ H.V] /Dest (3070) cvn H.B /DEST pdfmark end
- -30 24507
-a -30 24507 a
-SDict begin H.S end
- -30 24507 a -30 24507 a
-SDict begin 18.2 H.A end
- -30 24507 a -30
-24507 a
-SDict begin [ /View [/XYZ H.V] /Dest (3072) cvn H.B /DEST pdfmark end
- -30 24507 a -30 24507 a
-SDict begin H.S end
- -30 24507 a -30 24507
-a
-SDict begin 18.2 H.A end
- -30 24507 a -30 24507 a
-SDict begin [ /View [/XYZ H.V] /Dest (3074) cvn H.B /DEST pdfmark end
- -30 24507 a -30 25282 a
-SDict begin H.S end
- -30
-25282 a -30 25282 a
-SDict begin 18.2 H.A end
- -30 25282 a -30 25282 a
-SDict begin [ /View [/XYZ H.V] /Dest (3077) cvn H.B /DEST pdfmark end
- -30 25282
-a 1679 x FU(Linux)374 b(is)f(a)h(multiuser)f(operating)h(system.)f(Ev)
--23 b(ery)374 b(aspect)g(of)g(the)g(system)f(is)h(multiuser)-62
-b(,)373 b(e)-39 b(v)-23 b(en)-30 28976 y(the)356 b(\002lesystem.)f(The)
-h(system)g(stores)f(information)g(lik)-15 b(e)356 b(who)g(o)-39
-b(wns)356 b(a)g(\002le)g(and)g(who)g(can)g(read)-30 30990
-y(it.)346 b(There)g(are)g(other)g(unique)g(parts)f(about)h(the)g
-(\002lesystems,)f(such)g(as)h(links)f(and)h(NFS)f(mounts.)-30
-33005 y(This)387 b(section)g(e)-23 b(xplains)386 b(these,)i(as)f(well)g
-(as)g(the)h(multiuser)e(aspects)h(of)g(the)h(\002lesystem.)-30
-33340 y
-SDict begin H.S end
- -30 33340 a -30 33340 a
-SDict begin 18.2 H.A end
- -30 33340 a -30 33340
-a
-SDict begin [ /View [/XYZ H.V] /Dest (FILESYSTEM-STRUCTURE-OWNERSHIP)
-cvn H.B /DEST pdfmark end
- -30 33340 a 5790 x FL(9.1)620 b(Owner)-33 b(ship)-30
-39591 y
-SDict begin H.S end
- -30 39591 a -30 39591 a
-SDict begin 18.2 H.A end
- -30 39591 a -30 39591
-a
-SDict begin [ /View [/XYZ H.V] /Dest (3080) cvn H.B /DEST pdfmark end
- -30 39591 a -30 40707 a
-SDict begin H.S end
- -30 40707 a -30 40707 a
-SDict begin 18.2 H.A end
- -30
-40707 a -30 40707 a
-SDict begin [ /View [/XYZ H.V] /Dest (3083) cvn H.B /DEST pdfmark end
- -30 40707 a 1553 x FU(The)447 b(\002lesystem)e
-(stores)h(o)-39 b(wnership)446 b(information)g(for)h(each)f(\002le)h
-(and)f(directory)g(on)h(the)f(sys-)-30 44275 y(tem.)387
-b(This)g(includes)f(what)h(user)g(and)g(group)g(o)-39
-b(wn)387 b(a)h(particular)e(\002le.)i(The)f(easiest)f(w)-15
-b(ay)387 b(to)g(see)-30 46289 y(this)g(information)f(is)h(with)g(the)
-17147 46289 y
-SDict begin H.S end
- 17147 46289 a 17147 46289 a
-SDict begin 18.2 H.A end
- 17147 46289
-a 17147 46289 a
-SDict begin [ /View [/XYZ H.V] /Dest (3084) cvn H.B /DEST pdfmark end
- 17147 46289 a FP(ls)g FU(command:)-30
-47865 y
-SDict begin H.S end
- -30 47865 a -30 47865 a
-SDict begin 14.56 H.A end
- -30 47865 a -30 47865
-a
-SDict begin [ /View [/XYZ H.V] /Dest (3085) cvn H.B /DEST pdfmark end
- -30 47865 a -30 47865 a
-SDict begin H.S end
- -30 47865 a -30 47865 a
-SDict begin 14.56 H.A end
- -30
-47865 a -30 47865 a
-SDict begin [ /View [/XYZ H.V] /Dest (3086) cvn H.B /DEST pdfmark end
- -30 47865 a 1586 x FJ(\045)1309 49451
-y
-SDict begin H.S end
- 1309 49451 a 1309 49451 a
-SDict begin 14.56 H.A end
- 1309 49451 a 1309 49451 a
-SDict begin [ /View [/XYZ H.V] /Dest (3087) cvn H.B /DEST pdfmark end
-
-1309 49451 a FH(ls)744 b(-l)f(/usr/bin/wc)-30 51063 y
-FP(-rwxr-xr-x)2231 b(1)743 b(root)3719 b(bin)2975 b(7368)744
-b(Jul)f(30)1488 b(1999)743 b(/usr/bin/wc)-30 51161 y
-SDict begin H.S end
-
--30 51161 a -30 51161 a
-SDict begin 18.2 H.A end
- -30 51161 a -30 51161 a
-SDict begin [ /View [/XYZ H.V] /Dest (3088) cvn H.B /DEST pdfmark end
- -30 51161
-a -30 51161 a
-SDict begin H.S end
- -30 51161 a -30 51161 a
-SDict begin 18.2 H.A end
- -30 51161 a -30
-51161 a
-SDict begin [ /View [/XYZ H.V] /Dest (3090) cvn H.B /DEST pdfmark end
- -30 51161 a -30 52710 a
-SDict begin H.S end
- -30 52710 a -30 52710
-a
-SDict begin 18.2 H.A end
- -30 52710 a -30 52710 a
-SDict begin [ /View [/XYZ H.V] /Dest (3092) cvn H.B /DEST pdfmark end
- -30 52710 a 1917 x FU(W)-124
-b(e)449 b(are)g(interested)f(in)h(the)g(third)f(and)h(fourth)f
-(columns.)h(These)g(contain)f(the)h(username)f(and)-30
-56642 y(group)345 b(name)g(that)g(o)-39 b(wns)345 b(this)g(\002le.)g(W)
--124 b(e)346 b(see)f(that)g(the)g(user)31712 56642 y
-SDict begin H.S end
-
-31712 56642 a 31712 56642 a
-SDict begin 18.2 H.A end
- 31712 56642 a 31712 56642
-a
-SDict begin [ /View [/XYZ H.V] /Dest (3093) cvn H.B /DEST pdfmark end
- 31712 56642 a FU(\223)32400 56642 y
-SDict begin H.S end
- 32400 56642 a 32400
-56642 a
-SDict begin 18.2 H.A end
- 32400 56642 a 32400 56642 a
-SDict begin [ /View [/XYZ H.V] /Dest (3094) cvn H.B /DEST pdfmark end
- 32400 56642 a FP(root)p
-FU(\224)g(and)h(the)f(group)45193 56642 y
-SDict begin H.S end
- 45193 56642
-a 45193 56642 a
-SDict begin 18.2 H.A end
- 45193 56642 a 45193 56642 a
-SDict begin [ /View [/XYZ H.V] /Dest (3095) cvn H.B /DEST pdfmark end
- 45193 56642
-a FU(\223)45881 56642 y
-SDict begin H.S end
- 45881 56642 a 45881 56642 a
-SDict begin 18.2 H.A end
- 45881
-56642 a 45881 56642 a
-SDict begin [ /View [/XYZ H.V] /Dest (3096) cvn H.B /DEST pdfmark end
- 45881 56642 a FP(bin)p FU(\224)g(o)-39
-b(wn)-30 58656 y(this)387 b(\002le.)-30 58671 y
-SDict begin H.S end
- -30 58671
-a -30 58671 a
-SDict begin 18.2 H.A end
- -30 58671 a -30 58671 a
-SDict begin [ /View [/XYZ H.V] /Dest (3097) cvn H.B /DEST pdfmark end
- -30 58671 a -30
-58671 a
-SDict begin H.S end
- -30 58671 a -30 58671 a
-SDict begin 18.2 H.A end
- -30 58671 a -30 58671
-a
-SDict begin [ /View [/XYZ H.V] /Dest (3100) cvn H.B /DEST pdfmark end
- -30 58671 a -30 59447 a
-SDict begin H.S end
- -30 59447 a -30 59447 a
-SDict begin 18.2 H.A end
- -30
-59447 a -30 59447 a
-SDict begin [ /View [/XYZ H.V] /Dest (3102) cvn H.B /DEST pdfmark end
- -30 59447 a 1999 x FU(W)-124 b(e)650
-b(can)g(easily)f(change)g(the)h(\002le)f(o)-39 b(wners)650
-b(with)f(the)30960 61446 y
-SDict begin H.S end
- 30960 61446 a 30960 61446
-a
-SDict begin 18.2 H.A end
- 30960 61446 a 30960 61446 a
-SDict begin [ /View [/XYZ H.V] /Dest (3103) cvn H.B /DEST pdfmark end
- 30960 61446 a FP(chown)p
-FU(\(1\))g(\(which)h(means)46699 61446 y
-SDict begin H.S end
- 46699 61446
-a 46699 61446 a
-SDict begin 18.2 H.A end
- 46699 61446 a 46699 61446 a
-SDict begin [ /View [/XYZ H.V] /Dest (3104) cvn H.B /DEST pdfmark end
- 46699 61446
-a FU(\223change)-30 63460 y(o)-39 b(wner\224\))586 b(and)8418
-63460 y
-SDict begin H.S end
- 8418 63460 a 8418 63460 a
-SDict begin 18.2 H.A end
- 8418 63460 a 8418 63460
-a
-SDict begin [ /View [/XYZ H.V] /Dest (3105) cvn H.B /DEST pdfmark end
- 8418 63460 a FP(chgrp)p FU(\(1\))g(\(which)f(means)23966
-63460 y
-SDict begin H.S end
- 23966 63460 a 23966 63460 a
-SDict begin 18.2 H.A end
- 23966 63460 a 23966
-63460 a
-SDict begin [ /View [/XYZ H.V] /Dest (3106) cvn H.B /DEST pdfmark end
- 23966 63460 a FU(\223change)h(group\224\))g(commands.)f(T)-124
-b(o)586 b(change)g(the)-30 65475 y(\002le)387 b(o)-39
-b(wner)388 b(to)8153 65475 y
-SDict begin H.S end
- 8153 65475 a 8153 65475
-a
-SDict begin 18.2 H.A end
- 8153 65475 a 8153 65475 a
-SDict begin [ /View [/XYZ H.V] /Dest (3107) cvn H.B /DEST pdfmark end
- 8153 65475 a FP(daemon)p
-FU(,)f(we)g(w)-15 b(ould)387 b(use)22285 65475 y
-SDict begin H.S end
- 22285
-65475 a 22285 65475 a
-SDict begin 18.2 H.A end
- 22285 65475 a 22285 65475 a
-SDict begin [ /View [/XYZ H.V] /Dest (3108) cvn H.B /DEST pdfmark end
- 22285
-65475 a FP(chown)p FU(:)p Black -30 73672 a
-SDict begin H.S end
- -30 73672
-a -30 73672 a
-SDict begin 18.2 H.A end
- -30 73672 a -30 73672 a
-SDict begin [ /View [/XYZ H.V] /Dest (3112) cvn H.B /DEST pdfmark end
- -30 73672 a 49451
-74722 a FR(111)p Black eop end
-%%Page: 112 134
-TeXDict begin 112 133 bop -8000 -8000 a
-SDict begin /product where{pop product(Distiller)search{pop pop pop
-version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
-closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
-grestore}if}{pop}ifelse}{pop}ifelse}if end
- -8000 -8000 a
-Black 0 TeXcolorgray -30 -1358 a
-SDict begin H.S end
- -30 -1358 a 0 TeXcolorgray
-0 TeXcolorgray -30 -1358 a
-SDict begin H.R end
- -30 -1358 a -30 -1358 a
-SDict begin [ /View [/XYZ H.V] /Dest (page.112) cvn H.B /DEST pdfmark
-end
- -30
--1358 a Black -278 x FR(Chapter)387 b(9)g(F)-70 b(ilesystem)387
-b(Structur)-57 b(e)p Black -30 2383 a
-SDict begin H.S end
- -30 2383 a -30
-2383 a
-SDict begin 14.56 H.A end
- -30 2383 a -30 2383 a
-SDict begin [ /View [/XYZ H.V] /Dest (3109) cvn H.B /DEST pdfmark end
- -30 2383 a -30 2383 a
-SDict begin H.S end
- -30
-2383 a -30 2383 a
-SDict begin 14.56 H.A end
- -30 2383 a -30 2383 a
-SDict begin [ /View [/XYZ H.V] /Dest (3110) cvn H.B /DEST pdfmark end
- -30 2383 a 1107
-x FJ(#)1309 3490 y
-SDict begin H.S end
- 1309 3490 a 1309 3490 a
-SDict begin 14.56 H.A end
- 1309 3490
-a 1309 3490 a
-SDict begin [ /View [/XYZ H.V] /Dest (3111) cvn H.B /DEST pdfmark end
- 1309 3490 a FH(chown)743 b(daemon)g(/usr/bin/wc)-30
-7055 y FU(T)-124 b(o)387 b(change)h(the)f(group)g(o)-39
-b(wner)387 b(to)g(\223)p FP(root)p FU(\224,)h(we)f(w)-15
-b(ould)387 b(use)32851 7055 y
-SDict begin H.S end
- 32851 7055 a 32851 7055
-a
-SDict begin 18.2 H.A end
- 32851 7055 a 32851 7055 a
-SDict begin [ /View [/XYZ H.V] /Dest (3115) cvn H.B /DEST pdfmark end
- 32851 7055 a FP(chgrp)p FU(:)-30
-8940 y
-SDict begin H.S end
- -30 8940 a -30 8940 a
-SDict begin 14.56 H.A end
- -30 8940 a -30 8940 a
-SDict begin [ /View [/XYZ H.V] /Dest (3116) cvn H.B /DEST pdfmark end
- -30
-8940 a -30 8940 a
-SDict begin H.S end
- -30 8940 a -30 8940 a
-SDict begin 14.56 H.A end
- -30 8940 a -30
-8940 a
-SDict begin [ /View [/XYZ H.V] /Dest (3117) cvn H.B /DEST pdfmark end
- -30 8940 a 1276 x FJ(#)1309 10216 y
-SDict begin H.S end
- 1309 10216
-a 1309 10216 a
-SDict begin 14.56 H.A end
- 1309 10216 a 1309 10216 a
-SDict begin [ /View [/XYZ H.V] /Dest (3118) cvn H.B /DEST pdfmark end
- 1309 10216 a
-FH(chgrp)743 b(root)h(/usr/bin/wc)-30 11934 y
-SDict begin H.S end
- -30 11934
-a -30 11934 a
-SDict begin 18.2 H.A end
- -30 11934 a -30 11934 a
-SDict begin [ /View [/XYZ H.V] /Dest (3119) cvn H.B /DEST pdfmark end
- -30 11934 a 1847
-x FU(W)-124 b(e)388 b(can)f(also)g(use)10260 13781 y
-SDict begin H.S end
-
-10260 13781 a 10260 13781 a
-SDict begin 18.2 H.A end
- 10260 13781 a 10260 13781
-a
-SDict begin [ /View [/XYZ H.V] /Dest (3120) cvn H.B /DEST pdfmark end
- 10260 13781 a FP(chown)g FU(to)g(specify)g(the)g(user)h(and)f(group)g
-(o)-39 b(wners)387 b(for)h(a)f(\002le:)-30 15666 y
-SDict begin H.S end
- -30
-15666 a -30 15666 a
-SDict begin 14.56 H.A end
- -30 15666 a -30 15666 a
-SDict begin [ /View [/XYZ H.V] /Dest (3121) cvn H.B /DEST pdfmark end
- -30 15666
-a -30 15666 a
-SDict begin H.S end
- -30 15666 a -30 15666 a
-SDict begin 14.56 H.A end
- -30 15666 a -30
-15666 a
-SDict begin [ /View [/XYZ H.V] /Dest (3122) cvn H.B /DEST pdfmark end
- -30 15666 a 1276 x FJ(#)1309 16942 y
-SDict begin H.S end
- 1309 16942
-a 1309 16942 a
-SDict begin 14.56 H.A end
- 1309 16942 a 1309 16942 a
-SDict begin [ /View [/XYZ H.V] /Dest (3123) cvn H.B /DEST pdfmark end
- 1309 16942 a
-FH(chown)743 b(daemon:root)g(/usr/bin/wc)-30 18583 y
-SDict begin H.S end
-
--30 18583 a -30 18583 a
-SDict begin 18.2 H.A end
- -30 18583 a -30 18583 a
-SDict begin [ /View [/XYZ H.V] /Dest (3124) cvn H.B /DEST pdfmark end
- -30 18583
-a 1923 x FU(In)564 b(the)g(abo)-23 b(v)g(e)564 b(e)-23
-b(xample,)564 b(the)f(user)i(could)e(ha)-31 b(v)-23 b(e)564
-b(used)g(a)g(period)g(instead)f(of)i(a)f(colon.)g(The)-30
-22521 y(result)401 b(w)-15 b(ould)399 b(ha)-31 b(v)-23
-b(e)401 b(been)g(the)g(same;)f(ho)-39 b(we)g(v)-23 b(er)-62
-b(,)402 b(the)f(colon)f(is)h(considered)f(better)h(form.)g(Use)-30
-24536 y(of)507 b(the)g(period)g(is)f(deprecated)h(and)g(may)g(be)g
-(remo)-23 b(v)g(ed)506 b(from)h(future)g(v)-23 b(ersions)506
-b(of)46344 24536 y
-SDict begin H.S end
- 46344 24536 a 46344 24536 a
-SDict begin 18.2 H.A end
- 46344
-24536 a 46344 24536 a
-SDict begin [ /View [/XYZ H.V] /Dest (3125) cvn H.B /DEST pdfmark end
- 46344 24536 a FP(chown)g FU(to)-30
-26550 y(allo)-39 b(w)311 b(usernames)g(with)g(periods)g(in)g(them.)h
-(These)f(usernames)g(tend)g(to)g(be)g(v)-23 b(ery)312
-b(popular)e(with)-30 28565 y(W)-62 b(indo)-39 b(ws)329
-b(Exchange)g(Serv)-23 b(ers)329 b(and)h(are)g(encountered)f(most)g
-(commonly)f(in)h(email)g(addresses)-30 30580 y(such)547
-b(as:)5627 30580 y
-SDict begin H.S end
- 5627 30580 a 5627 30580 a
-SDict begin 18.2 H.A end
- 5627 30580
-a 5627 30580 a
-SDict begin [ /View [/XYZ H.V] /Dest (3126) cvn H.B /DEST pdfmark end
- 5627 30580 a FP(mr.jones@example.com)p
-FU(.)e(In)i(slackw)-15 b(are,)546 b(administrators)g(are)h(advised)g
-(to)f(stay)-30 32594 y(a)-23 b(w)-15 b(ay)438 b(from)h(such)f
-(usernames)h(because)g(some)f(scripts)g(still)g(use)h(the)g(period)f
-(to)h(indicate)f(the)-30 34609 y(user)321 b(and)f(group)g(of)g(a)h
-(\002le)f(or)h(directory)-101 b(.)320 b(In)h(our)f(e)-23
-b(xample,)32034 34609 y
-SDict begin H.S end
- 32034 34609 a 32034 34609 a
-SDict begin 18.2 H.A end
- 32034
-34609 a 32034 34609 a
-SDict begin [ /View [/XYZ H.V] /Dest (3127) cvn H.B /DEST pdfmark end
- 32034 34609 a FP(chmod)320 b FU(w)-15
-b(ould)320 b(interpret)45825 34609 y
-SDict begin H.S end
- 45825 34609 a 45825
-34609 a
-SDict begin 18.2 H.A end
- 45825 34609 a 45825 34609 a
-SDict begin [ /View [/XYZ H.V] /Dest (3128) cvn H.B /DEST pdfmark end
- 45825 34609 a FP(mr.jones)-30
-36624 y FU(as)387 b(user)4618 36624 y
-SDict begin H.S end
- 4618 36624 a 4618
-36624 a
-SDict begin 18.2 H.A end
- 4618 36624 a 4618 36624 a
-SDict begin [ /View [/XYZ H.V] /Dest (3129) cvn H.B /DEST pdfmark end
- 4618 36624 a FU(\223mr\224)g(and)g
-(group)14731 36624 y
-SDict begin H.S end
- 14731 36624 a 14731 36624 a
-SDict begin 18.2 H.A end
- 14731
-36624 a 14731 36624 a
-SDict begin [ /View [/XYZ H.V] /Dest (3130) cvn H.B /DEST pdfmark end
- 14731 36624 a FU(\223jones\224.)-30
-37734 y
-SDict begin H.S end
- -30 37734 a -30 37734 a
-SDict begin 18.2 H.A end
- -30 37734 a -30 37734
-a
-SDict begin [ /View [/XYZ H.V] /Dest (3131) cvn H.B /DEST pdfmark end
- -30 37734 a 1679 x FU(File)402 b(o)-39 b(wnership)401
-b(is)h(a)g(v)-23 b(ery)402 b(important)f(part)h(of)g(using)f(a)i(Linux)
-e(system,)h(e)-39 b(v)-23 b(en)402 b(if)g(you)g(are)g(the)-30
-41428 y(only)387 b(user)-85 b(.)387 b(Y)-170 b(ou)387
-b(sometimes)f(need)i(to)f(\002x)g(o)-39 b(wnerships)386
-b(on)i(\002les)e(and)i(de)-39 b(vice)387 b(nodes.)-30
-42538 y
-SDict begin H.S end
- -30 42538 a -30 42538 a
-SDict begin 18.2 H.A end
- -30 42538 a -30 42538
-a
-SDict begin [ /View [/XYZ H.V] /Dest (FILESYSTEM-STRUCTURE-PERMISSIONS)
-cvn H.B /DEST pdfmark end
- -30 42538 a 5789 x FL(9.2)620 b(P)-67 b(ermissions)-30
-49471 y
-SDict begin H.S end
- -30 49471 a -30 49471 a
-SDict begin 18.2 H.A end
- -30 49471 a -30 49471
-a
-SDict begin [ /View [/XYZ H.V] /Dest (3134) cvn H.B /DEST pdfmark end
- -30 49471 a 1987 x FU(Permissions)460 b(are)h(the)g(other)g
-(important)f(part)h(of)g(the)g(multiuser)f(aspects)h(of)g(the)g
-(\002lesystem.)-30 53473 y(W)-62 b(ith)387 b(these,)h(you)f(can)g
-(change)g(who)g(can)h(read,)g(write,)f(and)h(e)-23 b(x)g(ecute)387
-b(\002les.)-30 54583 y
-SDict begin H.S end
- -30 54583 a -30 54583 a
-SDict begin 18.2 H.A end
- -30 54583
-a -30 54583 a
-SDict begin [ /View [/XYZ H.V] /Dest (3135) cvn H.B /DEST pdfmark end
- -30 54583 a 1679 x FU(The)451 b(permission)f(information)
-g(is)h(stored)g(as)g(four)g(octal)g(digits,)36099 56262
-y
-SDict begin H.S end
- 36099 56262 a 36099 56262 a
-SDict begin 18.2 H.A end
- 36099 56262 a 36099 56262
-a
-SDict begin [ /View [/XYZ H.V] /Dest (3136) cvn H.B /DEST pdfmark end
- 36099 56262 a 452 w FU(each)g(specifying)f(a)i(dif)-39
-b(fer)-31 b(-)-30 58277 y(ent)430 b(set)g(of)f(permissions.)g(There)h
-(are)h(o)-39 b(wner)430 b(permissions,)f(group)g(permissions,)g(and)h
-(w)-15 b(orld)-30 60291 y(permissions.)491 b(The)h(fourth)f(octal)h
-(digit)f(is)g(used)h(to)f(store)h(special)f(information)g(such)g(as)h
-(set)-30 62306 y(user)499 b(ID,)h(set)g(group)f(ID,)h(and)f(the)g
-(stick)-23 b(y)499 b(bit.)g(The)h(octal)f(v)-39 b(alues)499
-b(assigned)g(to)g(the)g(permis-)-30 64321 y(sion)541
-b(modes)f(are)i(\(the)-23 b(y)540 b(also)h(ha)-31 b(v)-23
-b(e)541 b(letters)g(associated)f(with)h(them)g(that)f(are)i(displayed)e
-(by)-30 66335 y(programs)387 b(such)g(as)11117 66335
-y
-SDict begin H.S end
- 11117 66335 a 11117 66335 a
-SDict begin 18.2 H.A end
- 11117 66335 a 11117 66335
-a
-SDict begin [ /View [/XYZ H.V] /Dest (3139) cvn H.B /DEST pdfmark end
- 11117 66335 a FP(ls)h FU(and)f(can)g(be)h(used)f(by)25172
-66335 y
-SDict begin H.S end
- 25172 66335 a 25172 66335 a
-SDict begin 18.2 H.A end
- 25172 66335 a 25172
-66335 a
-SDict begin [ /View [/XYZ H.V] /Dest (3140) cvn H.B /DEST pdfmark end
- 25172 66335 a FP(chmod)p FU(\):)-30 66671 y
-SDict begin H.S end
- -30
-66671 a -30 66671 a
-SDict begin 18.2 H.A end
- -30 66671 a -30 66671 a
-SDict begin [ /View [/XYZ H.V] /Dest (3141) cvn H.B /DEST pdfmark end
- -30 66671
-a Black 7001 x FR(112)p Black eop end
-%%Page: 113 135
-TeXDict begin 113 134 bop -8000 -8000 a
-SDict begin /product where{pop product(Distiller)search{pop pop pop
-version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
-closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
-grestore}if}{pop}ifelse}{pop}ifelse}if end
- -8000 -8000 a
-Black 0 TeXcolorgray -30 -1237 a
-SDict begin H.S end
- -30 -1237 a 0 TeXcolorgray
-0 TeXcolorgray -30 -1237 a
-SDict begin H.R end
- -30 -1237 a -30 -1237 a
-SDict begin [ /View [/XYZ H.V] /Dest (page.113) cvn H.B /DEST pdfmark
-end
- -30
--1237 a Black 32490 -1636 a FR(Chapter)386 b(9)h(F)-70
-b(ilesystem)387 b(Structur)-57 b(e)p Black -30 3611 a
-FX(T)-143 b(able)387 b(9-1.)h(Octal)f(P)-31 b(ermission)386
-b(V)-143 b(alues)-30 5179 y
-SDict begin H.S end
- -30 5179 a -30 5179 a
-SDict begin 18.2 H.A end
- -30
-5179 a -30 5179 a
-SDict begin [ /View [/XYZ H.V] /Dest (3143) cvn H.B /DEST pdfmark end
- -30 5179 a -30 5179 a
-SDict begin H.S end
- -30 5179 a -30
-5179 a
-SDict begin 18.2 H.A end
- -30 5179 a -30 5179 a
-SDict begin [ /View [/XYZ H.V] /Dest (table.9) cvn H.B /DEST pdfmark
-end
- -30 5179 a 1761 x FE(P)-46
-b(ermission)428 b(T)-93 b(ype)19632 b(Octal)430 b(V)-93
-b(alue)1797 b(Letter)430 b(V)-93 b(alue)p -30 7317 51806
-45 v -30 7317 V -30 9078 a FU(\223stick)-23 b(y\224)387
-b(bit)28603 b(1)9758 b(t)-30 11174 y(set)387 b(user)h(ID)28969
-b(4)9672 b(s)-30 13267 y(set)387 b(group)g(ID)27936 b(2)9672
-b(s)-30 15364 y(read)33016 b(4)9716 b(r)-30 17457 y(write)32498
-b(2)9414 b(w)-30 19550 y(e)-23 b(x)g(ecute)30996 b(1)9586
-b(x)-30 21432 y
-SDict begin H.S end
- -30 21432 a -30 21432 a
-SDict begin 18.2 H.A end
- -30 21432 a -30
-21432 a
-SDict begin [ /View [/XYZ H.V] /Dest (3178) cvn H.B /DEST pdfmark end
- -30 21432 a 1682 x FU(Y)-170 b(ou)491 b(add)h(the)f(octal)h(v)
--39 b(alues)491 b(for)h(each)g(permission)f(group.)g(F)-23
-b(or)492 b(e)-23 b(xample,)491 b(if)h(you)f(w)-15 b(ant)491
-b(the)-30 25129 y(group)378 b(permissions)f(to)h(be)15172
-25129 y
-SDict begin H.S end
- 15172 25129 a 15172 25129 a
-SDict begin 18.2 H.A end
- 15172 25129 a 15172
-25129 a
-SDict begin [ /View [/XYZ H.V] /Dest (3179) cvn H.B /DEST pdfmark end
- 15172 25129 a FU(\223read\224)g(and)22209 25129
-y
-SDict begin H.S end
- 22209 25129 a 22209 25129 a
-SDict begin 18.2 H.A end
- 22209 25129 a 22209 25129
-a
-SDict begin [ /View [/XYZ H.V] /Dest (3180) cvn H.B /DEST pdfmark end
- 22209 25129 a FU(\223write\224,)h(you)f(w)-15 b(ould)377
-b(use)36920 25129 y
-SDict begin H.S end
- 36920 25129 a 36920 25129 a
-SDict begin 18.2 H.A end
- 36920
-25129 a 36920 25129 a
-SDict begin [ /View [/XYZ H.V] /Dest (3181) cvn H.B /DEST pdfmark end
- 36920 25129 a FU(\2236\224)h(in)g(the)g(group)g
-(portion)-30 27143 y(of)387 b(the)h(permission)e(information.)-30
-28254 y
-SDict begin H.S end
- -30 28254 a -30 28254 a
-SDict begin 18.2 H.A end
- -30 28254 a -30 28254
-a
-SDict begin [ /View [/XYZ H.V] /Dest (3182) cvn H.B /DEST pdfmark end
- -30 28254 a -30 28254 a
-SDict begin H.S end
- -30 28254 a -30 28254 a
-SDict begin 18.2 H.A end
- -30
-28254 a -30 28254 a
-SDict begin [ /View [/XYZ H.V] /Dest (3183) cvn H.B /DEST pdfmark end
- -30 28254 a 1679 x FP(bash)p FU(')-85
-b(s)387 b(def)-15 b(ault)386 b(permissions)g(are:)-30
-31818 y
-SDict begin H.S end
- -30 31818 a -30 31818 a
-SDict begin 14.56 H.A end
- -30 31818 a -30 31818
-a
-SDict begin [ /View [/XYZ H.V] /Dest (3184) cvn H.B /DEST pdfmark end
- -30 31818 a -30 31818 a
-SDict begin H.S end
- -30 31818 a -30 31818 a
-SDict begin 14.56 H.A end
- -30
-31818 a -30 31818 a
-SDict begin [ /View [/XYZ H.V] /Dest (3185) cvn H.B /DEST pdfmark end
- -30 31818 a 1276 x FJ(\045)1309 33094
-y
-SDict begin H.S end
- 1309 33094 a 1309 33094 a
-SDict begin 14.56 H.A end
- 1309 33094 a 1309 33094 a
-SDict begin [ /View [/XYZ H.V] /Dest (3186) cvn H.B /DEST pdfmark end
-
-1309 33094 a FH(ls)744 b(-l)f(/bin/bash)-30 34706 y FP(-rwxr-xr-x)2231
-b(1)743 b(root)3719 b(bin)1488 b(477692)743 b(Mar)g(21)h(19:57)f
-(/bin/bash)-30 36354 y
-SDict begin H.S end
- -30 36354 a -30 36354 a
-SDict begin 18.2 H.A end
- -30 36354
-a -30 36354 a
-SDict begin [ /View [/XYZ H.V] /Dest (3187) cvn H.B /DEST pdfmark end
- -30 36354 a 1917 x FU(The)491 b(\002rst)f(dash)h(w)-15
-b(ould)490 b(be)h(replaced)g(with)g(a)25575 38271 y
-SDict begin H.S end
- 25575
-38271 a 25575 38271 a
-SDict begin 18.2 H.A end
- 25575 38271 a 25575 38271 a
-SDict begin [ /View [/XYZ H.V] /Dest (3188) cvn H.B /DEST pdfmark end
- 25575
-38271 a FU(\223d\224)g(if)g(this)f(w)-15 b(as)490 b(a)i(directory)-101
-b(.)491 b(The)g(three)g(per)-31 b(-)-30 40285 y(mission)369
-b(groups)g(\(o)-39 b(wner)-62 b(,)370 b(group,)g(and)g(w)-15
-b(orld\))369 b(are)h(displayed)f(ne)-23 b(xt.)370 b(W)-124
-b(e)370 b(see)g(that)f(the)h(o)-39 b(wner)-30 42300 y(has)361
-b(read,)h(write,)f(and)g(e)-23 b(x)g(ecute)361 b(permissions)e(\()25674
-42300 y
-SDict begin H.S end
- 25674 42300 a 25674 42300 a
-SDict begin 18.2 H.A end
- 25674 42300 a 25674
-42300 a
-SDict begin [ /View [/XYZ H.V] /Dest (3189) cvn H.B /DEST pdfmark end
- 25674 42300 a FP(rwx)p FU(\).)j(The)f(group)g(has)g(only)f
-(read)h(and)g(e)-23 b(x)g(ecute)-30 44315 y(\()486 44315
-y
-SDict begin H.S end
- 486 44315 a 486 44315 a
-SDict begin 18.2 H.A end
- 486 44315 a 486 44315 a
-SDict begin [ /View [/XYZ H.V] /Dest (3190) cvn H.B /DEST pdfmark end
- 486
-44315 a FP(r-x)p FU(\).)388 b(And)f(e)-39 b(v)-23 b(eryone)387
-b(else)g(has)h(only)e(read)i(and)f(e)-23 b(x)g(ecute)387
-b(\()32733 44315 y
-SDict begin H.S end
- 32733 44315 a 32733 44315 a
-SDict begin 18.2 H.A end
- 32733
-44315 a 32733 44315 a
-SDict begin [ /View [/XYZ H.V] /Dest (3191) cvn H.B /DEST pdfmark end
- 32733 44315 a FP(r-x)p FU(\).)-30
-45425 y
-SDict begin H.S end
- -30 45425 a -30 45425 a
-SDict begin 18.2 H.A end
- -30 45425 a -30 45425
-a
-SDict begin [ /View [/XYZ H.V] /Dest (3192) cvn H.B /DEST pdfmark end
- -30 45425 a 1679 x FU(Ho)-39 b(w)401 b(w)-15 b(ould)399
-b(we)i(set)g(permissions)e(on)i(another)f(\002le)g(to)h(resemble)36722
-47104 y
-SDict begin H.S end
- 36722 47104 a 36722 47104 a
-SDict begin 18.2 H.A end
- 36722 47104 a 36722
-47104 a
-SDict begin [ /View [/XYZ H.V] /Dest (3193) cvn H.B /DEST pdfmark end
- 36722 47104 a FP(bash)p FU(')-85 b(s?)400 b(First,)g(let')-85
-b(s)401 b(mak)-15 b(e)-30 49119 y(an)387 b(e)-23 b(xample)387
-b(\002le:)-30 51004 y
-SDict begin H.S end
- -30 51004 a -30 51004 a
-SDict begin 14.56 H.A end
- -30 51004
-a -30 51004 a
-SDict begin [ /View [/XYZ H.V] /Dest (3194) cvn H.B /DEST pdfmark end
- -30 51004 a -30 51004 a
-SDict begin H.S end
- -30 51004 a -30
-51004 a
-SDict begin 14.56 H.A end
- -30 51004 a -30 51004 a
-SDict begin [ /View [/XYZ H.V] /Dest (3195) cvn H.B /DEST pdfmark end
- -30 51004 a 1276 x FJ(\045)1309
-52280 y
-SDict begin H.S end
- 1309 52280 a 1309 52280 a
-SDict begin 14.56 H.A end
- 1309 52280 a 1309 52280
-a
-SDict begin [ /View [/XYZ H.V] /Dest (3196) cvn H.B /DEST pdfmark end
- 1309 52280 a FH(touch)743 b(/tmp/example)-30 52448
-y
-SDict begin H.S end
- -30 52448 a -30 52448 a
-SDict begin 14.56 H.A end
- -30 52448 a -30 52448 a
-SDict begin [ /View [/XYZ H.V] /Dest (3197) cvn H.B /DEST pdfmark end
- -30
-52448 a 1444 x FJ(\045)1309 53892 y
-SDict begin H.S end
- 1309 53892 a 1309
-53892 a
-SDict begin 14.56 H.A end
- 1309 53892 a 1309 53892 a
-SDict begin [ /View [/XYZ H.V] /Dest (3198) cvn H.B /DEST pdfmark end
- 1309 53892 a FH(ls)h(-l)f
-(/tmp/example)-30 55504 y FP(-rw-rw-r---)1487 b(1)743
-b(david)2975 b(users)g(0)744 b(Apr)f(19)h(11:21)f(/tmp/example)-30
-55699 y
-SDict begin H.S end
- -30 55699 a -30 55699 a
-SDict begin 18.2 H.A end
- -30 55699 a -30 55699
-a
-SDict begin [ /View [/XYZ H.V] /Dest (3199) cvn H.B /DEST pdfmark end
- -30 55699 a -30 57248 a
-SDict begin H.S end
- -30 57248 a -30 57248 a
-SDict begin 18.2 H.A end
- -30
-57248 a -30 57248 a
-SDict begin [ /View [/XYZ H.V] /Dest (3201) cvn H.B /DEST pdfmark end
- -30 57248 a 1820 x FU(W)-124 b(e)471
-b(will)f(use)7886 59068 y
-SDict begin H.S end
- 7886 59068 a 7886 59068 a
-SDict begin 18.2 H.A end
- 7886
-59068 a 7886 59068 a
-SDict begin [ /View [/XYZ H.V] /Dest (3202) cvn H.B /DEST pdfmark end
- 7886 59068 a FP(chmod)p FU(\(1\))g(\(which)g
-(means)23088 59068 y
-SDict begin H.S end
- 23088 59068 a 23088 59068 a
-SDict begin 18.2 H.A end
- 23088
-59068 a 23088 59068 a
-SDict begin [ /View [/XYZ H.V] /Dest (3203) cvn H.B /DEST pdfmark end
- 23088 59068 a FU(\223change)g(mode\224\))g(to)h
-(set)f(the)h(permissions)e(on)h(the)-30 61083 y(e)-23
-b(xample)387 b(\002le.)g(Add)g(the)g(octal)f(numbers)h(for)g(the)g
-(permissions)f(you)h(w)-15 b(ant.)386 b(F)-23 b(or)387
-b(the)g(o)-39 b(wner)387 b(to)-30 63098 y(ha)-31 b(v)-23
-b(e)404 b(read,)h(write,)f(and)g(e)-23 b(x)g(ecute,)404
-b(we)g(w)-15 b(ould)403 b(ha)-31 b(v)-23 b(e)404 b(a)g(v)-39
-b(alue)404 b(of)35060 63098 y
-SDict begin H.S end
- 35060 63098 a 35060 63098
-a
-SDict begin 18.2 H.A end
- 35060 63098 a 35060 63098 a
-SDict begin [ /View [/XYZ H.V] /Dest (3204) cvn H.B /DEST pdfmark end
- 35060 63098 a FP(7)p FU(.)h(Read)e(and)h
-(e)-23 b(x)g(ecute)404 b(w)-15 b(ould)-30 65112 y(ha)-31
-b(v)-23 b(e)3229 65112 y
-SDict begin H.S end
- 3229 65112 a 3229 65112 a
-SDict begin 18.2 H.A end
- 3229
-65112 a 3229 65112 a
-SDict begin [ /View [/XYZ H.V] /Dest (3205) cvn H.B /DEST pdfmark end
- 3229 65112 a FP(5)p FU(.)388 b(Run)f(those)g
-(together)g(and)g(pass)g(them)g(to)27605 65112 y
-SDict begin H.S end
- 27605
-65112 a 27605 65112 a
-SDict begin 18.2 H.A end
- 27605 65112 a 27605 65112 a
-SDict begin [ /View [/XYZ H.V] /Dest (3206) cvn H.B /DEST pdfmark end
- 27605
-65112 a FP(chmod)g FU(lik)-15 b(e)386 b(this:)-30 66997
-y
-SDict begin H.S end
- -30 66997 a -30 66997 a
-SDict begin 14.56 H.A end
- -30 66997 a -30 66997 a
-SDict begin [ /View [/XYZ H.V] /Dest (3207) cvn H.B /DEST pdfmark end
- -30
-66997 a -30 66997 a
-SDict begin H.S end
- -30 66997 a -30 66997 a
-SDict begin 14.56 H.A end
- -30 66997
-a -30 66997 a
-SDict begin [ /View [/XYZ H.V] /Dest (3208) cvn H.B /DEST pdfmark end
- -30 66997 a 1277 x FJ(\045)1309 68274 y
-SDict begin H.S end
-
-1309 68274 a 1309 68274 a
-SDict begin 14.56 H.A end
- 1309 68274 a 1309 68274 a
-SDict begin [ /View [/XYZ H.V] /Dest (3209) cvn H.B /DEST pdfmark end
- 1309
-68274 a FH(chmod)743 b(755)h(/tmp/example)p Black 49451
-73792 a FR(113)p Black eop end
-%%Page: 114 136
-TeXDict begin 114 135 bop -8000 -8000 a
-SDict begin /product where{pop product(Distiller)search{pop pop pop
-version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
-closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
-grestore}if}{pop}ifelse}{pop}ifelse}if end
- -8000 -8000 a
-Black 0 TeXcolorgray -30 -1237 a
-SDict begin H.S end
- -30 -1237 a 0 TeXcolorgray
-0 TeXcolorgray -30 -1237 a
-SDict begin H.R end
- -30 -1237 a -30 -1237 a
-SDict begin [ /View [/XYZ H.V] /Dest (page.114) cvn H.B /DEST pdfmark
-end
- -30
--1237 a Black -30 -2687 a
-SDict begin H.S end
- -30 -2687 a -30 -2687 a
-SDict begin 18.2 H.A end
- -30
--2687 a -30 -2687 a
-SDict begin [ /View [/XYZ H.V] /Dest (3261) cvn H.B /DEST pdfmark end
- -30 -2687 a 1051 x FR(Chapter)387
-b(9)g(F)-70 b(ilesystem)387 b(Structur)-57 b(e)p Black
--30 2504 a
-SDict begin H.S end
- -30 2504 a -30 2504 a
-SDict begin 14.56 H.A end
- -30 2504 a -30 2504
-a
-SDict begin [ /View [/XYZ H.V] /Dest (3210) cvn H.B /DEST pdfmark end
- -30 2504 a 1107 x FJ(\045)1309 3611 y
-SDict begin H.S end
- 1309 3611 a 1309
-3611 a
-SDict begin 14.56 H.A end
- 1309 3611 a 1309 3611 a
-SDict begin [ /View [/XYZ H.V] /Dest (3211) cvn H.B /DEST pdfmark end
- 1309 3611 a FH(ls)744
-b(-l)f(/tmp/example)-30 5223 y FP(-rwxr-xr-x)2231 b(1)743
-b(david)2975 b(users)g(0)744 b(Apr)f(19)h(11:21)f(/tmp/example)-30
-5418 y
-SDict begin H.S end
- -30 5418 a -30 5418 a
-SDict begin 18.2 H.A end
- -30 5418 a -30 5418 a
-SDict begin [ /View [/XYZ H.V] /Dest (3212) cvn H.B /DEST pdfmark end
- -30
-5418 a -30 5418 a
-SDict begin H.S end
- -30 5418 a -30 5418 a
-SDict begin 18.2 H.A end
- -30 5418 a -30
-5418 a
-SDict begin [ /View [/XYZ H.V] /Dest (3214) cvn H.B /DEST pdfmark end
- -30 5418 a -30 6967 a
-SDict begin H.S end
- -30 6967 a -30 6967 a
-SDict begin 18.2 H.A end
- -30
-6967 a -30 6967 a
-SDict begin [ /View [/XYZ H.V] /Dest (3216) cvn H.B /DEST pdfmark end
- -30 6967 a 1820 x FU(No)-39 b(w)468
-b(you)g(may)g(be)g(thinking,)17295 8787 y
-SDict begin H.S end
- 17295 8787
-a 17295 8787 a
-SDict begin 18.2 H.A end
- 17295 8787 a 17295 8787 a
-SDict begin [ /View [/XYZ H.V] /Dest (3217) cvn H.B /DEST pdfmark end
- 17295 8787 a
-FU(\223Wh)-8 b(y)468 b(didn')-28 b(t)468 b(it)g(just)f(create)h(a)h
-(\002le)e(with)h(those)f(permissions)-30 10802 y(in)581
-b(the)g(\002rst)g(place?\224)g(W)-124 b(ell)581 b(the)g(answer)g(is)g
-(simple.)30084 10802 y
-SDict begin H.S end
- 30084 10802 a 30084 10802 a
-SDict begin 18.2 H.A end
- 30084
-10802 a 30084 10802 a
-SDict begin [ /View [/XYZ H.V] /Dest (3218) cvn H.B /DEST pdfmark end
- 30084 10802 a FP(bash)g FU(includes)f(a)h(nice)g
-(little)g(b)-31 b(uilt-in)-30 12817 y(called)4092 12817
-y
-SDict begin H.S end
- 4092 12817 a 4092 12817 a
-SDict begin 18.2 H.A end
- 4092 12817 a 4092 12817 a
-SDict begin [ /View [/XYZ H.V] /Dest (3219) cvn H.B /DEST pdfmark end
-
-4092 12817 a FP(umask)p FU(.)422 b(This)f(is)g(included)g(with)g(most)f
-(Unix)h(shells)g(as)g(well,)h(and)f(controls)g(what)g(\002le)-30
-14831 y(permissions)350 b(are)i(assigned)e(to)h(ne)-39
-b(wly)352 b(created)f(\002les.)g(W)-124 b(e)352 b(discussed)38133
-14831 y
-SDict begin H.S end
- 38133 14831 a 38133 14831 a
-SDict begin 18.2 H.A end
- 38133 14831 a 38133
-14831 a
-SDict begin [ /View [/XYZ H.V] /Dest (3220) cvn H.B /DEST pdfmark end
- 38133 14831 a FP(bash)f FU(b)-31 b(uilt-ins)350
-b(to)h(some)-30 16846 y(de)-23 b(gree)418 b(in)p 0 TeXcolorgray
-6119 16846 a
-SDict begin H.S end
- 6119 16846 a FU(Section)386 b(8.3.1)14254
-16846 y
-SDict begin 18.2 H.L end
- 14254 16846 a 14254 16846 a
-SDict begin [ /Subtype /Link /Dest (SHELL-BASH-ENVIRONMENT) cvn /H
-/I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 14254 16846 a Black
-1 w FU(.)15060 16846 y
-SDict begin H.S end
- 15060 16846 a 15060 16846 a
-SDict begin 18.2 H.A end
- 15060
-16846 a 15060 16846 a
-SDict begin [ /View [/XYZ H.V] /Dest (3222) cvn H.B /DEST pdfmark end
- 15060 16846 a FP(umask)417 b FU(tak)-15
-b(es)418 b(a)g(little)f(getting)g(used)g(to.)i(It)e(w)-15
-b(orks)417 b(v)-23 b(ery)418 b(similar)f(to)-30 18861
-y
-SDict begin H.S end
- -30 18861 a -30 18861 a
-SDict begin 18.2 H.A end
- -30 18861 a -30 18861 a
-SDict begin [ /View [/XYZ H.V] /Dest (3223) cvn H.B /DEST pdfmark end
- -30
-18861 a FP(chmod)p FU(,)387 b(only)f(in)g(re)-39 b(v)-23
-b(erse.)388 b(Y)-170 b(ou)386 b(specify)g(the)h(octal)f(v)-39
-b(alues)387 b(you)f(do)h(not)f(wish)g(to)h(ha)-31 b(v)-23
-b(e)386 b(present)-30 20875 y(in)h(ne)-39 b(wly)387 b(created)h
-(\002les.)f(The)g(def)-15 b(ault)387 b(umask)g(v)-39
-b(alue)387 b(is)30952 20875 y
-SDict begin H.S end
- 30952 20875 a 30952 20875
-a
-SDict begin 18.2 H.A end
- 30952 20875 a 30952 20875 a
-SDict begin [ /View [/XYZ H.V] /Dest (3224) cvn H.B /DEST pdfmark end
- 30952 20875 a FP(0022)p
-FU(.)-30 22761 y
-SDict begin H.S end
- -30 22761 a -30 22761 a
-SDict begin 14.56 H.A end
- -30 22761 a
--30 22761 a
-SDict begin [ /View [/XYZ H.V] /Dest (3225) cvn H.B /DEST pdfmark end
- -30 22761 a -30 22761 a
-SDict begin H.S end
- -30 22761 a -30 22761
-a
-SDict begin 14.56 H.A end
- -30 22761 a -30 22761 a
-SDict begin [ /View [/XYZ H.V] /Dest (3226) cvn H.B /DEST pdfmark end
- -30 22761 a 1276 x FJ(\045)1309
-24037 y
-SDict begin H.S end
- 1309 24037 a 1309 24037 a
-SDict begin 14.56 H.A end
- 1309 24037 a 1309 24037
-a
-SDict begin [ /View [/XYZ H.V] /Dest (3227) cvn H.B /DEST pdfmark end
- 1309 24037 a FH(umask)-30 25648 y FP(0022)-30 25674
-y
-SDict begin H.S end
- -30 25674 a -30 25674 a
-SDict begin 14.56 H.A end
- -30 25674 a -30 25674 a
-SDict begin [ /View [/XYZ H.V] /Dest (3228) cvn H.B /DEST pdfmark end
- -30
-25674 a 1586 x FJ(\045)1309 27260 y
-SDict begin H.S end
- 1309 27260 a 1309
-27260 a
-SDict begin 14.56 H.A end
- 1309 27260 a 1309 27260 a
-SDict begin [ /View [/XYZ H.V] /Dest (3229) cvn H.B /DEST pdfmark end
- 1309 27260 a FH(umask)743
-b(0077)-30 27285 y
-SDict begin H.S end
- -30 27285 a -30 27285 a
-SDict begin 14.56 H.A end
- -30 27285
-a -30 27285 a
-SDict begin [ /View [/XYZ H.V] /Dest (3230) cvn H.B /DEST pdfmark end
- -30 27285 a 1587 x FJ(\045)1309 28872 y
-SDict begin H.S end
-
-1309 28872 a 1309 28872 a
-SDict begin 14.56 H.A end
- 1309 28872 a 1309 28872 a
-SDict begin [ /View [/XYZ H.V] /Dest (3231) cvn H.B /DEST pdfmark end
- 1309
-28872 a FH(touch)g(tempfile)-30 29040 y
-SDict begin H.S end
- -30 29040 a -30
-29040 a
-SDict begin 14.56 H.A end
- -30 29040 a -30 29040 a
-SDict begin [ /View [/XYZ H.V] /Dest (3232) cvn H.B /DEST pdfmark end
- -30 29040 a 1444 x FJ(\045)1309
-30484 y
-SDict begin H.S end
- 1309 30484 a 1309 30484 a
-SDict begin 14.56 H.A end
- 1309 30484 a 1309 30484
-a
-SDict begin [ /View [/XYZ H.V] /Dest (3233) cvn H.B /DEST pdfmark end
- 1309 30484 a FH(ls)h(-l)f(tempfile)-30 32095 y FP(-rw--------)1487
-b(1)743 b(david)2975 b(users)g(0)744 b(Apr)f(19)h(11:21)f(tempfile)-30
-33840 y
-SDict begin H.S end
- -30 33840 a -30 33840 a
-SDict begin 18.2 H.A end
- -30 33840 a -30 33840
-a
-SDict begin [ /View [/XYZ H.V] /Dest (3234) cvn H.B /DEST pdfmark end
- -30 33840 a 1820 x FU(See)387 b(the)h(man)f(page)g(for)13440
-35660 y
-SDict begin H.S end
- 13440 35660 a 13440 35660 a
-SDict begin 18.2 H.A end
- 13440 35660 a 13440
-35660 a
-SDict begin [ /View [/XYZ H.V] /Dest (3235) cvn H.B /DEST pdfmark end
- 13440 35660 a FP(bash)g FU(for)h(more)f(information.)-30
-36770 y
-SDict begin H.S end
- -30 36770 a -30 36770 a
-SDict begin 18.2 H.A end
- -30 36770 a -30 36770
-a
-SDict begin [ /View [/XYZ H.V] /Dest (3236) cvn H.B /DEST pdfmark end
- -30 36770 a 1679 x FU(T)-124 b(o)427 b(set)g(special)g(permissions)f
-(with)19890 38449 y
-SDict begin H.S end
- 19890 38449 a 19890 38449 a
-SDict begin 18.2 H.A end
- 19890
-38449 a 19890 38449 a
-SDict begin [ /View [/XYZ H.V] /Dest (3237) cvn H.B /DEST pdfmark end
- 19890 38449 a FP(chmod)p FU(,)h(add)g(the)g
-(numbers)g(together)g(and)g(place)g(them)g(in)-30 40464
-y(the)435 b(\002rst)g(column.)g(F)-23 b(or)435 b(e)-23
-b(xample,)435 b(to)g(mak)-15 b(e)434 b(it)h(set)h(user)f(ID)g(and)g
-(set)g(group)g(ID,)h(we)f(use)h(6)f(as)-30 42479 y(the)387
-b(\002rst)g(column:)-30 44044 y
-SDict begin H.S end
- -30 44044 a -30 44044
-a
-SDict begin 14.56 H.A end
- -30 44044 a -30 44044 a
-SDict begin [ /View [/XYZ H.V] /Dest (3238) cvn H.B /DEST pdfmark end
- -30 44044 a -30 44044 a
-SDict begin H.S end
- -30
-44044 a -30 44044 a
-SDict begin 14.56 H.A end
- -30 44044 a -30 44044 a
-SDict begin [ /View [/XYZ H.V] /Dest (3239) cvn H.B /DEST pdfmark end
- -30 44044
-a 1596 x FJ(\045)1309 45640 y
-SDict begin H.S end
- 1309 45640 a 1309 45640
-a
-SDict begin 14.56 H.A end
- 1309 45640 a 1309 45640 a
-SDict begin [ /View [/XYZ H.V] /Dest (3240) cvn H.B /DEST pdfmark end
- 1309 45640 a FH(chmod)743
-b(6755)h(/tmp/example)-30 45808 y
-SDict begin H.S end
- -30 45808 a -30 45808
-a
-SDict begin 14.56 H.A end
- -30 45808 a -30 45808 a
-SDict begin [ /View [/XYZ H.V] /Dest (3241) cvn H.B /DEST pdfmark end
- -30 45808 a 1444 x FJ(\045)1309
-47252 y
-SDict begin H.S end
- 1309 47252 a 1309 47252 a
-SDict begin 14.56 H.A end
- 1309 47252 a 1309 47252
-a
-SDict begin [ /View [/XYZ H.V] /Dest (3242) cvn H.B /DEST pdfmark end
- 1309 47252 a FH(ls)g(-l)f(/tmp/example)-30 48864 y
-FP(-rwsr-sr-x)2231 b(1)743 b(david)2975 b(users)g(0)744
-b(Apr)f(19)h(11:21)f(/tmp/example)-30 50608 y
-SDict begin H.S end
- -30 50608
-a -30 50608 a
-SDict begin 18.2 H.A end
- -30 50608 a -30 50608 a
-SDict begin [ /View [/XYZ H.V] /Dest (3243) cvn H.B /DEST pdfmark end
- -30 50608 a 1820
-x FU(If)617 b(the)f(octal)g(v)-39 b(alues)616 b(confuse)g(you,)g(you)g
-(can)g(use)g(letters)g(with)37225 52428 y
-SDict begin H.S end
- 37225 52428
-a 37225 52428 a
-SDict begin 18.2 H.A end
- 37225 52428 a 37225 52428 a
-SDict begin [ /View [/XYZ H.V] /Dest (3244) cvn H.B /DEST pdfmark end
- 37225 52428
-a FP(chmod)p FU(.)g(The)g(permission)-30 54443 y(groups)387
-b(are)h(represented)f(as:)-30 54778 y
-SDict begin H.S end
- -30 54778 a -30
-54778 a
-SDict begin 18.2 H.A end
- -30 54778 a -30 54778 a
-SDict begin [ /View [/XYZ H.V] /Dest (3245) cvn H.B /DEST pdfmark end
- -30 54778 a -30 57103
-a
-SDict begin H.S end
- -30 57103 a -30 57103 a
-SDict begin 18.2 H.A end
- -30 57103 a -30 57103 a
-SDict begin [ /View [/XYZ H.V] /Dest (3246) cvn H.B /DEST pdfmark end
- -30
-57103 a -30 57103 a
-SDict begin H.S end
- -30 57103 a -30 57103 a
-SDict begin 18.2 H.A end
- -30 57103
-a -30 57103 a
-SDict begin [ /View [/XYZ H.V] /Dest (table.10) cvn H.B /DEST pdfmark
-end
- -30 57103 a 1727 x FU(Owner)21686 b(u)-30
-60889 y(Group)21943 b(g)-30 62951 y(W)-124 b(orld)22067
-b(o)-30 65010 y(All)387 b(of)g(the)h(abo)-23 b(v)g(e)15920
-b(a)p Black -30 73792 a FR(114)p Black eop end
-%%Page: 115 137
-TeXDict begin 115 136 bop -8000 -8000 a
-SDict begin /product where{pop product(Distiller)search{pop pop pop
-version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
-closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
-grestore}if}{pop}ifelse}{pop}ifelse}if end
- -8000 -8000 a
-Black 0 TeXcolorgray -30 -1237 a
-SDict begin H.S end
- -30 -1237 a 0 TeXcolorgray
-0 TeXcolorgray -30 -1237 a
-SDict begin H.R end
- -30 -1237 a -30 -1237 a
-SDict begin [ /View [/XYZ H.V] /Dest (page.115) cvn H.B /DEST pdfmark
-end
- -30
--1237 a Black 32490 -1636 a FR(Chapter)386 b(9)h(F)-70
-b(ilesystem)387 b(Structur)-57 b(e)p Black -30 2504 a
-SDict begin H.S end
-
--30 2504 a -30 2504 a
-SDict begin 18.2 H.A end
- -30 2504 a -30 2504 a
-SDict begin [ /View [/XYZ H.V] /Dest (3260) cvn H.B /DEST pdfmark end
- -30 2504
-a 1107 x FU(T)-124 b(o)387 b(do)h(the)f(abo)-23 b(v)g(e,)387
-b(we)g(w)-15 b(ould)387 b(ha)-31 b(v)-23 b(e)387 b(to)g(use)g(se)-39
-b(v)-23 b(eral)387 b(command)g(lines:)-30 6773 y FJ(\045)1309
-6773 y
-SDict begin H.S end
- 1309 6773 a 1309 6773 a
-SDict begin 14.56 H.A end
- 1309 6773 a 1309 6773
-a
-SDict begin [ /View [/XYZ H.V] /Dest (3263) cvn H.B /DEST pdfmark end
- 1309 6773 a FH(chmod)743 b(a+rx)h(/tmp/example)-30
-6941 y
-SDict begin H.S end
- -30 6941 a -30 6941 a
-SDict begin 14.56 H.A end
- -30 6941 a -30 6941 a
-SDict begin [ /View [/XYZ H.V] /Dest (3264) cvn H.B /DEST pdfmark end
- -30
-6941 a 1443 x FJ(\045)1309 8384 y
-SDict begin H.S end
- 1309 8384 a 1309 8384
-a
-SDict begin 14.56 H.A end
- 1309 8384 a 1309 8384 a
-SDict begin [ /View [/XYZ H.V] /Dest (3265) cvn H.B /DEST pdfmark end
- 1309 8384 a FH(chmod)f(u+w)h(/tmp/example)-30
-8552 y
-SDict begin H.S end
- -30 8552 a -30 8552 a
-SDict begin 14.56 H.A end
- -30 8552 a -30 8552 a
-SDict begin [ /View [/XYZ H.V] /Dest (3266) cvn H.B /DEST pdfmark end
- -30
-8552 a 1444 x FJ(\045)1309 9996 y
-SDict begin H.S end
- 1309 9996 a 1309 9996
-a
-SDict begin 14.56 H.A end
- 1309 9996 a 1309 9996 a
-SDict begin [ /View [/XYZ H.V] /Dest (3267) cvn H.B /DEST pdfmark end
- 1309 9996 a FH(chmod)f(ug+s)h(/tmp/example)
--30 11714 y
-SDict begin H.S end
- -30 11714 a -30 11714 a
-SDict begin 18.2 H.A end
- -30 11714 a -30 11714
-a
-SDict begin [ /View [/XYZ H.V] /Dest (3268) cvn H.B /DEST pdfmark end
- -30 11714 a 1846 x FU(Some)424 b(people)g(prefer)h(the)f(letters)h(o)
--23 b(v)g(er)424 b(the)g(numbers.)g(Either)g(w)-15 b(ay)424
-b(will)g(result)g(in)h(the)f(same)-30 15575 y(set)387
-b(of)h(permissions.)-30 16686 y
-SDict begin H.S end
- -30 16686 a -30 16686
-a
-SDict begin 18.2 H.A end
- -30 16686 a -30 16686 a
-SDict begin [ /View [/XYZ H.V] /Dest (3269) cvn H.B /DEST pdfmark end
- -30 16686 a 1679 x FU(The)375
-b(octal)g(format)g(is)f(often)h(f)-15 b(aster)-62 b(,)375
-b(and)g(the)g(one)g(you)g(see)g(most)f(often)h(used)g(in)g(shell)f
-(scripts.)-30 20379 y(Sometimes)359 b(the)g(letters)h(are)g(more)g(po)
--39 b(werful)360 b(ho)-39 b(we)g(v)-23 b(er)-85 b(.)360
-b(F)-23 b(or)359 b(e)-23 b(xample,)360 b(there')-85 b(s)360
-b(no)g(easy)f(w)-15 b(ay)-30 22394 y(to)462 b(change)g(one)g(group)g
-(of)g(permissions)f(while)h(preserving)g(the)g(other)g(groups)f(on)h
-(\002les)g(and)-30 24409 y(directories)387 b(when)g(using)g(the)g
-(octal)g(format.)h(This)e(is)h(tri)-39 b(vial)387 b(with)g(the)g
-(letters.)-30 26294 y
-SDict begin H.S end
- -30 26294 a -30 26294 a
-SDict begin 14.56 H.A end
- -30 26294
-a -30 26294 a
-SDict begin [ /View [/XYZ H.V] /Dest (3270) cvn H.B /DEST pdfmark end
- -30 26294 a -30 26294 a
-SDict begin H.S end
- -30 26294 a -30
-26294 a
-SDict begin 14.56 H.A end
- -30 26294 a -30 26294 a
-SDict begin [ /View [/XYZ H.V] /Dest (3271) cvn H.B /DEST pdfmark end
- -30 26294 a 1276 x FJ(\045)1309
-27570 y
-SDict begin H.S end
- 1309 27570 a 1309 27570 a
-SDict begin 14.56 H.A end
- 1309 27570 a 1309 27570
-a
-SDict begin [ /View [/XYZ H.V] /Dest (3272) cvn H.B /DEST pdfmark end
- 1309 27570 a FH(ls)744 b(-l)f(/tmp/)-30 29182 y FP(-rwxr-xr-x)2231
-b(1)743 b(alan)2975 b(users)g(0)744 b(Apr)f(19)h(11:21)f(/tmp/example0)
--30 30794 y(-rwxr-x---)2231 b(1)743 b(alan)2975 b(users)g(0)744
-b(Apr)f(19)h(11:21)f(/tmp/example1)-30 32405 y(----r-xr-x)2231
-b(1)743 b(alan)2975 b(users)g(0)744 b(Apr)f(19)h(11:21)f(/tmp/example2)
--30 32600 y
-SDict begin H.S end
- -30 32600 a -30 32600 a
-SDict begin 14.56 H.A end
- -30 32600 a -30 32600
-a
-SDict begin [ /View [/XYZ H.V] /Dest (3273) cvn H.B /DEST pdfmark end
- -30 32600 a 1417 x FJ(\045)1309 34017 y
-SDict begin H.S end
- 1309 34017
-a 1309 34017 a
-SDict begin 14.56 H.A end
- 1309 34017 a 1309 34017 a
-SDict begin [ /View [/XYZ H.V] /Dest (3274) cvn H.B /DEST pdfmark end
- 1309 34017 a
-FH(chmod)g(g-rwx)h(/tmp/example?)-30 35629 y FP(-rwx---r-x)2231
-b(1)743 b(alan)2975 b(users)g(0)744 b(Apr)f(19)h(11:21)f(/tmp/example0)
--30 37241 y(-rwx------)2231 b(1)743 b(alan)2975 b(users)g(0)744
-b(Apr)f(19)h(11:21)f(/tmp/example1)-30 38852 y(-------r-x)2231
-b(1)743 b(alan)2975 b(users)g(0)744 b(Apr)f(19)h(11:21)f(/tmp/example2)
--30 40597 y
-SDict begin H.S end
- -30 40597 a -30 40597 a
-SDict begin 18.2 H.A end
- -30 40597 a -30 40597
-a
-SDict begin [ /View [/XYZ H.V] /Dest (3275) cvn H.B /DEST pdfmark end
- -30 40597 a 1820 x FU(W)-124 b(e)339 b(mentioned)e(set)h(user)g(ID)h
-(and)f(set)g(group)g(ID)g(permissions)f(in)h(se)-39 b(v)-23
-b(eral)338 b(places)h(abo)-23 b(v)g(e.)338 b(Y)-170 b(ou)-30
-44431 y(may)473 b(be)g(w)-15 b(ondering)472 b(what)h(this)g(is.)g
-(Normally)g(when)g(you)g(run)g(a)g(program,)h(it)f(is)g(operating)-30
-46446 y(under)446 b(your)g(user)g(account.)h(That)f(is,)g(it)g(has)g
-(all)g(the)g(permissions)f(that)h(you)g(as)g(a)h(user)f(ha)-31
-b(v)-23 b(e.)-30 48461 y(The)542 b(same)f(is)h(true)f(for)h(the)f
-(group.)h(When)g(you)f(run)h(a)g(program,)f(it)h(e)-23
-b(x)g(ecutes)541 b(under)g(your)-30 50475 y(current)490
-b(group.)f(W)-62 b(ith)489 b(set)g(user)h(ID)f(permissions,)g(you)g
-(can)h(force)g(the)f(program)g(to)g(al)-15 b(w)g(ays)-30
-52490 y(run)542 b(as)f(the)g(program)h(o)-39 b(wner)541
-b(\(such)h(as)22744 52490 y
-SDict begin H.S end
- 22744 52490 a 22744 52490
-a
-SDict begin 18.2 H.A end
- 22744 52490 a 22744 52490 a
-SDict begin [ /View [/XYZ H.V] /Dest (3276) cvn H.B /DEST pdfmark end
- 22744 52490 a FU(\223root\224\).)g(Set)f
-(group)g(ID)h(is)f(the)h(same,)f(b)-31 b(ut)541 b(for)h(the)-30
-54505 y(group.)-30 55615 y
-SDict begin H.S end
- -30 55615 a -30 55615 a
-SDict begin 18.2 H.A end
- -30
-55615 a -30 55615 a
-SDict begin [ /View [/XYZ H.V] /Dest (3277) cvn H.B /DEST pdfmark end
- -30 55615 a 1679 x FU(Be)381 b(careful)g(with)f
-(this,)g(set)h(user)g(ID)f(and)h(set)f(group)h(ID)g(programs)f(can)h
-(open)f(major)g(security)-30 59309 y(holes)538 b(on)g(your)g(system.)g
-(If)g(you)g(frequently)g(set)g(user)g(ID)g(programs)f(that)h(are)h(o)
--39 b(wned)538 b(by)51776 59309 y
-SDict begin H.S end
- 51776 59309 a 51776
-59309 a
-SDict begin 18.2 H.A end
- 51776 59309 a 51776 59309 a
-SDict begin [ /View [/XYZ H.V] /Dest (3278) cvn H.B /DEST pdfmark end
- 51776 59309 a -30
-61324 a
-SDict begin H.S end
- -30 61324 a -30 61324 a
-SDict begin 18.2 H.A end
- -30 61324 a -30 61324
-a
-SDict begin [ /View [/XYZ H.V] /Dest (3280) cvn H.B /DEST pdfmark end
- -30 61324 a FP(root)p FU(,)487 b(you)f(are)i(allo)-39
-b(wing)486 b(an)-23 b(yone)486 b(to)h(run)f(that)h(program)f(and)h(run)
-g(it)f(as)41020 61324 y
-SDict begin H.S end
- 41020 61324 a 41020 61324 a
-SDict begin 18.2 H.A end
- 41020
-61324 a 41020 61324 a
-SDict begin [ /View [/XYZ H.V] /Dest (3281) cvn H.B /DEST pdfmark end
- 41020 61324 a FP(root)p FU(.)h(Since)48800
-61324 y
-SDict begin H.S end
- 48800 61324 a 48800 61324 a
-SDict begin 18.2 H.A end
- 48800 61324 a 48800
-61324 a
-SDict begin [ /View [/XYZ H.V] /Dest (3282) cvn H.B /DEST pdfmark end
- 48800 61324 a FP(root)-30 63338 y FU(has)395
-b(no)h(restrictions)e(on)i(the)f(system,)g(you)g(can)h(see)g(ho)-39
-b(w)395 b(this)g(w)-15 b(ould)394 b(pose)i(a)f(major)g(security)-30
-65353 y(problem.)432 b(In)g(short,)f(it')-85 b(s)431
-b(not)h(bad)g(to)f(use)h(set)f(user)h(ID)g(and)g(set)f(group)h(ID)g
-(permissions,)f(just)-30 67368 y(use)387 b(common)g(sense.)-30
-68158 y
-SDict begin H.S end
- -30 68158 a -30 68158 a
-SDict begin 18.2 H.A end
- -30 68158 a -30 68158
-a
-SDict begin [ /View [/XYZ H.V] /Dest (FILESYSTEM-STRUCTURE-LINKS) cvn
-H.B /DEST pdfmark end
- -30 68158 a Black 49451 73792 a FR(115)p Black eop
-end
-%%Page: 116 138
-TeXDict begin 116 137 bop -8000 -8000 a
-SDict begin /product where{pop product(Distiller)search{pop pop pop
-version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
-closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
-grestore}if}{pop}ifelse}{pop}ifelse}if end
- -8000 -8000 a
-Black 0 TeXcolorgray -30 -1237 a
-SDict begin H.S end
- -30 -1237 a 0 TeXcolorgray
-0 TeXcolorgray -30 -1237 a
-SDict begin H.R end
- -30 -1237 a -30 -1237 a
-SDict begin [ /View [/XYZ H.V] /Dest (page.116) cvn H.B /DEST pdfmark
-end
- -30
--1237 a Black -399 x FR(Chapter)387 b(9)g(F)-70 b(ilesystem)387
-b(Structur)-57 b(e)p Black -30 4132 a FL(9.3)620 b(Links)-30
-4160 y
-SDict begin H.S end
- -30 4160 a -30 4160 a
-SDict begin 18.2 H.A end
- -30 4160 a -30 4160 a
-SDict begin [ /View [/XYZ H.V] /Dest (3285) cvn H.B /DEST pdfmark end
- -30
-4160 a -30 5276 a
-SDict begin H.S end
- -30 5276 a -30 5276 a
-SDict begin 18.2 H.A end
- -30 5276 a -30
-5276 a
-SDict begin [ /View [/XYZ H.V] /Dest (3287) cvn H.B /DEST pdfmark end
- -30 5276 a 1987 x FU(Links)545 b(are)g(pointers)g(between)g
-(\002les.)g(W)-62 b(ith)544 b(links,)h(you)g(can)h(ha)-31
-b(v)-23 b(e)544 b(\002les)h(e)-23 b(xist)545 b(in)g(man)-23
-b(y)544 b(lo-)-30 9277 y(cations)521 b(and)g(be)h(accessible)f(by)g
-(man)-23 b(y)521 b(names.)g(There)h(are)f(tw)-15 b(o)521
-b(types)g(of)g(links:)g(hard)g(and)-30 11292 y(soft.)-30
-12082 y
-SDict begin H.S end
- -30 12082 a -30 12082 a
-SDict begin 18.2 H.A end
- -30 12082 a -30 12082
-a
-SDict begin [ /View [/XYZ H.V] /Dest (3288) cvn H.B /DEST pdfmark end
- -30 12082 a 1999 x FU(Hard)349 b(links)g(are)g(names)g(for)h(a)f
-(particular)g(\002le.)g(The)-23 b(y)349 b(can)g(only)g(e)-23
-b(xist)348 b(within)h(a)g(single)g(\002lesys-)-30 16096
-y(tem)470 b(and)g(are)g(only)f(remo)-23 b(v)g(ed)469
-b(when)h(the)g(real)g(name)f(is)h(remo)-23 b(v)g(ed)469
-b(from)h(the)g(system.)f(These)-30 18111 y(are)388 b(useful)f(in)g
-(some)g(cases,)h(b)-31 b(ut)387 b(man)-23 b(y)386 b(users)h(\002nd)g
-(the)g(soft)g(link)g(to)g(be)h(more)f(v)-23 b(ersatile.)-30
-18446 y
-SDict begin H.S end
- -30 18446 a -30 18446 a
-SDict begin 18.2 H.A end
- -30 18446 a -30 18446
-a
-SDict begin [ /View [/XYZ H.V] /Dest (3289) cvn H.B /DEST pdfmark end
- -30 18446 a -30 19221 a
-SDict begin H.S end
- -30 19221 a -30 19221 a
-SDict begin 18.2 H.A end
- -30
-19221 a -30 19221 a
-SDict begin [ /View [/XYZ H.V] /Dest (3291) cvn H.B /DEST pdfmark end
- -30 19221 a 1679 x FU(The)362 b(soft)f(link,)h
-(also)f(called)g(a)h(symbolic)f(link,)h(can)f(point)g(to)h(a)g(\002le)f
-(outside)g(of)h(its)f(\002lesystem.)-30 22915 y(It)309
-b(is)f(actually)h(a)g(small)f(\002le)g(containing)g(the)h(information)f
-(it)g(needs.)h(Y)-170 b(ou)308 b(can)h(add)g(and)g(remo)-23
-b(v)g(e)-30 24930 y(soft)502 b(links)g(without)g(af)-39
-b(fecting)502 b(the)g(actual)h(\002le.)f(And)g(since)h(a)f(symbolic)g
-(link)g(is)g(actually)g(a)-30 26944 y(small)585 b(\002le)f(containing)h
-(its)g(o)-39 b(wn)585 b(information,)f(the)-23 b(y)585
-b(can)g(e)-39 b(v)-23 b(en)586 b(point)e(at)h(a)h(directory)-101
-b(.)585 b(It')-85 b(s)-30 28959 y(rather)388 b(common)e(to)h(ha)-31
-b(v)-23 b(e)14635 28959 y
-SDict begin H.S end
- 14635 28959 a 14635 28959 a
-SDict begin 18.2 H.A end
-
-14635 28959 a 14635 28959 a
-SDict begin [ /View [/XYZ H.V] /Dest (3292) cvn H.B /DEST pdfmark end
- 14635 28959 a FQ(/var/tmp)383
-b FU(actually)j(be)i(a)f(symbolic)g(link)f(to)38715 28959
-y
-SDict begin H.S end
- 38715 28959 a 38715 28959 a
-SDict begin 18.2 H.A end
- 38715 28959 a 38715 28959
-a
-SDict begin [ /View [/XYZ H.V] /Dest (3293) cvn H.B /DEST pdfmark end
- 38715 28959 a FQ(/tmp)f FU(for)j(e)-23 b(xample.)-30
-30069 y
-SDict begin H.S end
- -30 30069 a -30 30069 a
-SDict begin 18.2 H.A end
- -30 30069 a -30 30069
-a
-SDict begin [ /View [/XYZ H.V] /Dest (3294) cvn H.B /DEST pdfmark end
- -30 30069 a 1680 x FU(Links)544 b(do)g(not)f(ha)-31
-b(v)-23 b(e)544 b(their)g(o)-39 b(wn)544 b(set)g(of)g(permissions)f(or)
-h(o)-39 b(wnerships,)544 b(b)-31 b(ut)544 b(instead)f(re\003ect)-30
-33763 y(those)448 b(of)h(the)g(\002le)f(the)-23 b(y)449
-b(point)f(to.)h(Slackw)-15 b(are)448 b(uses)g(mostly)g(soft)h(links.)f
-(Here)h(is)g(a)g(common)-30 35778 y(e)-23 b(xample:)-30
-37663 y
-SDict begin H.S end
- -30 37663 a -30 37663 a
-SDict begin 14.56 H.A end
- -30 37663 a -30 37663
-a
-SDict begin [ /View [/XYZ H.V] /Dest (3295) cvn H.B /DEST pdfmark end
- -30 37663 a -30 37663 a
-SDict begin H.S end
- -30 37663 a -30 37663 a
-SDict begin 14.56 H.A end
- -30
-37663 a -30 37663 a
-SDict begin [ /View [/XYZ H.V] /Dest (3296) cvn H.B /DEST pdfmark end
- -30 37663 a 1276 x FJ(\045)1309 38939
-y
-SDict begin H.S end
- 1309 38939 a 1309 38939 a
-SDict begin 14.56 H.A end
- 1309 38939 a 1309 38939 a
-SDict begin [ /View [/XYZ H.V] /Dest (3297) cvn H.B /DEST pdfmark end
-
-1309 38939 a FH(ls)744 b(-l)f(/bin/sh)-30 40551 y FP(lrwxrwxrwx)2231
-b(1)743 b(root)3719 b(root)g(4)744 b(Apr)1487 b(6)744
-b(12:34)f(/bin/sh)g(->)h(bash)-30 42295 y
-SDict begin H.S end
- -30 42295 a
--30 42295 a
-SDict begin 18.2 H.A end
- -30 42295 a -30 42295 a
-SDict begin [ /View [/XYZ H.V] /Dest (3298) cvn H.B /DEST pdfmark end
- -30 42295 a 1821
-x FU(The)2917 44116 y
-SDict begin H.S end
- 2917 44116 a 2917 44116 a
-SDict begin 18.2 H.A end
- 2917
-44116 a 2917 44116 a
-SDict begin [ /View [/XYZ H.V] /Dest (3299) cvn H.B /DEST pdfmark end
- 2917 44116 a FP(sh)537 b FU(shell)f(under)h
-(Slackw)-15 b(are)536 b(is)h(actually)26462 44116 y
-SDict begin H.S end
- 26462
-44116 a 26462 44116 a
-SDict begin 18.2 H.A end
- 26462 44116 a 26462 44116 a
-SDict begin [ /View [/XYZ H.V] /Dest (3300) cvn H.B /DEST pdfmark end
- 26462
-44116 a FP(bash)p FU(.)g(Remo)-23 b(ving)536 b(links)g(is)h(done)f
-(using)49901 44116 y
-SDict begin H.S end
- 49901 44116 a 49901 44116 a
-SDict begin 18.2 H.A end
- 49901
-44116 a 49901 44116 a
-SDict begin [ /View [/XYZ H.V] /Dest (3301) cvn H.B /DEST pdfmark end
- 49901 44116 a FP(rm)p FU(.)-30
-46130 y(The)2737 46130 y
-SDict begin H.S end
- 2737 46130 a 2737 46130 a
-SDict begin 18.2 H.A end
- 2737
-46130 a 2737 46130 a
-SDict begin [ /View [/XYZ H.V] /Dest (3302) cvn H.B /DEST pdfmark end
- 2737 46130 a FP(ln)356 b FU(command)g(is)h(used)f
-(to)g(create)h(links.)g(These)f(commands)g(will)g(be)h(discussed)f(in)g
-(more)-30 48145 y(depth)387 b(in)p 0 TeXcolorgray 5394
-48145 a
-SDict begin H.S end
- 5394 48145 a FU(Chapter)g(10)12238 48145 y
-SDict begin 18.2 H.L end
- 12238
-48145 a 12238 48145 a
-SDict begin [ /Subtype /Link /Dest (FILE-COMMANDS) cvn /H /I /Border
-[0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 12238 48145 a Black FU(.)-30 49255
-y
-SDict begin H.S end
- -30 49255 a -30 49255 a
-SDict begin 18.2 H.A end
- -30 49255 a -30 49255 a
-SDict begin [ /View [/XYZ H.V] /Dest (3304) cvn H.B /DEST pdfmark end
- -30
-49255 a 1679 x FU(It')-85 b(s)453 b(v)-23 b(ery)453 b(important)f(to)h
-(be)g(careful)g(about)g(symlinks)f(in)h(particular)-85
-b(.)453 b(Once,)g(I)h(w)-15 b(as)452 b(w)-15 b(orking)-30
-52949 y(on)426 b(a)g(machine)g(that)f(w)-15 b(as)426
-b(consistently)e(f)-15 b(ailing)425 b(to)h(back-up)g(to)f(tape)h(each)g
-(night.)g(T)-124 b(w)-15 b(o)425 b(sym-)-30 54964 y(links)500
-b(had)g(been)g(made)g(to)g(directories)g(beneath)f(each)i(other)-85
-b(.)500 b(The)g(back-up)g(softw)-15 b(are)500 b(k)-15
-b(ept)-30 56978 y(appending)468 b(those)f(same)h(directories)g(to)g
-(the)g(tape)h(until)e(it)h(w)-15 b(as)468 b(out)g(of)g(space.)h
-(Normally)-101 b(,)468 b(a)-30 58993 y(set)382 b(of)g(checks)f(will)h
-(pre)-39 b(v)-23 b(ent)381 b(creating)h(a)g(symlink)f(in)g(this)h
-(situation,)f(b)-31 b(ut)381 b(ours)h(w)-15 b(as)381
-b(a)h(special)-30 61008 y(case.)-30 61798 y
-SDict begin H.S end
- -30 61798
-a -30 61798 a
-SDict begin 18.2 H.A end
- -30 61798 a -30 61798 a
-SDict begin [ /View [/XYZ H.V] /Dest (FILESYSTEM-STRUCTURE-MOUNTING)
-cvn H.B /DEST pdfmark end
- -30 61798 a Black
-11994 x FR(116)p Black eop end
-%%Page: 117 139
-TeXDict begin 117 138 bop -8000 -8000 a
-SDict begin /product where{pop product(Distiller)search{pop pop pop
-version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
-closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
-grestore}if}{pop}ifelse}{pop}ifelse}if end
- -8000 -8000 a
-Black 0 TeXcolorgray -30 -1237 a
-SDict begin H.S end
- -30 -1237 a 0 TeXcolorgray
-0 TeXcolorgray -30 -1237 a
-SDict begin H.R end
- -30 -1237 a -30 -1237 a
-SDict begin [ /View [/XYZ H.V] /Dest (page.117) cvn H.B /DEST pdfmark
-end
- -30
--1237 a Black 32490 -1636 a FR(Chapter)386 b(9)h(F)-70
-b(ilesystem)387 b(Structur)-57 b(e)p Black -30 4132 a
-FL(9.4)620 b(Mounting)f(De)-33 b(vices)-30 4629 y
-SDict begin H.S end
- -30
-4629 a -30 4629 a
-SDict begin 18.2 H.A end
- -30 4629 a -30 4629 a
-SDict begin [ /View [/XYZ H.V] /Dest (3307) cvn H.B /DEST pdfmark end
- -30 4629 a -30
-4629 a
-SDict begin H.S end
- -30 4629 a -30 4629 a
-SDict begin 18.2 H.A end
- -30 4629 a -30 4629 a
-SDict begin [ /View [/XYZ H.V] /Dest (3310) cvn H.B /DEST pdfmark end
- -30
-4629 a -30 5744 a
-SDict begin H.S end
- -30 5744 a -30 5744 a
-SDict begin 18.2 H.A end
- -30 5744 a -30
-5744 a
-SDict begin [ /View [/XYZ H.V] /Dest (3312) cvn H.B /DEST pdfmark end
- -30 5744 a 1519 x FU(As)328 b(w)-15 b(as)328 b(pre)-39
-b(viously)328 b(discussed)f(in)p 0 TeXcolorgray 19378
-7263 a
-SDict begin H.S end
- 19378 7263 a FU(Section)387 b(4.1.1)27514 7263
-y
-SDict begin 18.2 H.L end
- 27514 7263 a 27514 7263 a
-SDict begin [ /Subtype /Link /Dest (SYSTEM-CONFIGURATION-LAYOUT) cvn
-/H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 27514 7263 a Black FU(,)329
-b(all)f(the)g(dri)-39 b(v)-23 b(es)328 b(and)h(de)-39
-b(vices)328 b(in)g(your)g(com-)-30 9277 y(puter)428 b(are)h(one)f(big)g
-(\002lesystem.)f(V)-172 b(arious)428 b(hard)g(dri)-39
-b(v)-23 b(e)428 b(partitions,)f(CD-R)-62 b(OMs,)428 b(and)g(\003oppies)
--30 11292 y(are)345 b(all)f(placed)h(in)f(the)h(same)f(tree.)h(In)g
-(order)f(to)h(attach)f(these)h(dri)-39 b(v)-23 b(es)344
-b(to)g(the)h(\002lesystem)e(so)h(that)-30 13307 y(you)387
-b(can)h(access)f(them,)g(you)g(ha)-31 b(v)-23 b(e)388
-b(to)f(use)g(the)25739 13307 y
-SDict begin H.S end
- 25739 13307 a 25739 13307
-a
-SDict begin 18.2 H.A end
- 25739 13307 a 25739 13307 a
-SDict begin [ /View [/XYZ H.V] /Dest (3314) cvn H.B /DEST pdfmark end
- 25739 13307 a FP(mount)p
-FU(\(1\))g(and)34278 13307 y
-SDict begin H.S end
- 34278 13307 a 34278 13307
-a
-SDict begin 18.2 H.A end
- 34278 13307 a 34278 13307 a
-SDict begin [ /View [/XYZ H.V] /Dest (3315) cvn H.B /DEST pdfmark end
- 34278 13307 a FP(umount)p
-FU(\(1\))g(commands.)-30 14417 y
-SDict begin H.S end
- -30 14417 a -30 14417
-a
-SDict begin 18.2 H.A end
- -30 14417 a -30 14417 a
-SDict begin [ /View [/XYZ H.V] /Dest (3316) cvn H.B /DEST pdfmark end
- -30 14417 a 1679 x FU(Some)475
-b(de)-39 b(vices)475 b(are)h(automatically)e(mounted)h(when)g(you)g
-(boot)g(up)g(your)g(computer)-85 b(.)475 b(These)-30
-18111 y(are)371 b(listed)f(in)g(the)9802 18111 y
-SDict begin H.S end
- 9802
-18111 a 9802 18111 a
-SDict begin 18.2 H.A end
- 9802 18111 a 9802 18111 a
-SDict begin [ /View [/XYZ H.V] /Dest (3317) cvn H.B /DEST pdfmark end
- 9802 18111
-a FQ(/etc/fstab)364 b FU(\002le.)371 b(An)-23 b(ything)369
-b(that)h(you)g(w)-15 b(ant)370 b(to)g(be)h(mounted)e(automatically)-30
-20125 y(gets)494 b(an)g(entry)f(in)h(that)f(\002le.)h(F)-23
-b(or)494 b(other)f(de)-39 b(vices,)494 b(you')-15 b(ll)493
-b(ha)-31 b(v)-23 b(e)494 b(to)f(issue)h(a)g(command)f(e)-39
-b(v)-23 b(ery)-30 22140 y(time)387 b(you)g(w)-15 b(ant)387
-b(to)g(use)g(the)g(de)-39 b(vice.)-30 22476 y
-SDict begin H.S end
- -30 22476
-a -30 22476 a
-SDict begin 18.2 H.A end
- -30 22476 a -30 22476 a
-SDict begin [ /View [/XYZ H.V] /Dest (3318) cvn H.B /DEST pdfmark end
- -30 22476 a 5026
-x FA(fstab)-30 28432 y
-SDict begin H.S end
- -30 28432 a -30 28432 a
-SDict begin 18.2 H.A end
- -30 28432
-a -30 28432 a
-SDict begin [ /View [/XYZ H.V] /Dest (3321) cvn H.B /DEST pdfmark end
- -30 28432 a 2015 x FU(Let')-85 b(s)387
-b(look)g(at)g(an)h(e)-23 b(xample)386 b(of)i(the)19531
-30447 y
-SDict begin H.S end
- 19531 30447 a 19531 30447 a
-SDict begin 18.2 H.A end
- 19531 30447 a 19531
-30447 a
-SDict begin [ /View [/XYZ H.V] /Dest (3322) cvn H.B /DEST pdfmark end
- 19531 30447 a FQ(/etc/fstab)381 b FU(\002le:)-30
-32332 y
-SDict begin H.S end
- -30 32332 a -30 32332 a
-SDict begin 14.56 H.A end
- -30 32332 a -30 32332
-a
-SDict begin [ /View [/XYZ H.V] /Dest (3323) cvn H.B /DEST pdfmark end
- -30 32332 a -30 32332 a
-SDict begin H.S end
- -30 32332 a -30 32332 a
-SDict begin 14.56 H.A end
- -30
-32332 a -30 32332 a
-SDict begin [ /View [/XYZ H.V] /Dest (3324) cvn H.B /DEST pdfmark end
- -30 32332 a 1276 x FJ(\045)1309 33608
-y
-SDict begin H.S end
- 1309 33608 a 1309 33608 a
-SDict begin 14.56 H.A end
- 1309 33608 a 1309 33608 a
-SDict begin [ /View [/XYZ H.V] /Dest (3325) cvn H.B /DEST pdfmark end
-
-1309 33608 a FH(cat)744 b(/etc/fstab)-30 35220 y FP(/dev/sda1)5206
-b(/)11158 b(ext2)5951 b(defaults)f(1)2231 b(1)-30 36832
-y(/dev/sda2)5206 b(/usr/local)4462 b(ext2)5951 b(defaults)f(1)2231
-b(1)-30 38443 y(/dev/sda4)5206 b(/home)8182 b(ext2)5951
-b(defaults)f(1)2231 b(1)-30 40055 y(/dev/sdb1)5206 b(swap)8926
-b(swap)5951 b(defaults)f(0)2231 b(0)-30 41667 y(/dev/sdb3)5206
-b(/export)6694 b(ext2)5951 b(defaults)f(1)2231 b(1)-30
-43279 y(none)8926 b(/dev/pts)5950 b(devpts)4463 b(gid=5,mode=620)1486
-b(0)2231 b(0)-30 44890 y(none)8926 b(/proc)8182 b(proc)5951
-b(defaults)f(0)2231 b(0)-30 46502 y(/dev/fd0)5950 b(/mnt)8926
-b(ext2)5951 b(defaults)f(0)2231 b(0)-30 48114 y(/dev/cdrom)4462
-b(/mnt/cdrom)g(iso9660)3719 b(ro)10414 b(0)2231 b(0)-30
-48212 y
-SDict begin H.S end
- -30 48212 a -30 48212 a
-SDict begin 18.2 H.A end
- -30 48212 a -30 48212
-a
-SDict begin [ /View [/XYZ H.V] /Dest (3326) cvn H.B /DEST pdfmark end
- -30 48212 a -30 49762 a
-SDict begin H.S end
- -30 49762 a -30 49762 a
-SDict begin 18.2 H.A end
- -30
-49762 a -30 49762 a
-SDict begin [ /View [/XYZ H.V] /Dest (3328) cvn H.B /DEST pdfmark end
- -30 49762 a 1916 x FU(The)611 b(\002rst)g(column)g
-(is)g(the)g(de)-39 b(vice)612 b(name.)f(In)h(this)f(case,)h(the)f(de)
--39 b(vices)611 b(are)h(\002)-39 b(v)-23 b(e)611 b(partitions)-30
-53693 y(spread)521 b(out)g(across)g(tw)-15 b(o)520 b(SCSI)g(hard)h(dri)
--39 b(v)-23 b(es,)521 b(tw)-15 b(o)521 b(special)f(\002lesystems)g
-(that)h(don')-28 b(t)521 b(need)g(a)-30 55708 y(de)-39
-b(vice,)388 b(a)g(\003opp)-15 b(y)-101 b(,)387 b(and)g(a)h(CD-R)-62
-b(OM)386 b(dri)-39 b(v)-23 b(e.)388 b(The)f(second)g(column)g(is)g
-(where)h(the)f(de)-39 b(vice)387 b(will)-30 57722 y(be)311
-b(mounted.)g(This)f(needs)h(to)f(be)h(a)g(directory)g(name,)g(e)-23
-b(xcept)311 b(in)f(the)h(case)g(of)g(a)g(sw)-15 b(ap)310
-b(partition.)-30 59737 y(The)374 b(third)f(column)g(is)h(the)g
-(\002lesystem)e(type)i(of)g(the)g(de)-39 b(vice.)374
-b(F)-23 b(or)373 b(normal)h(Linux)f(\002lesystems,)-30
-61752 y(this)504 b(will)g(be)7597 61752 y
-SDict begin H.S end
- 7597 61752
-a 7597 61752 a
-SDict begin 18.2 H.A end
- 7597 61752 a 7597 61752 a
-SDict begin [ /View [/XYZ H.V] /Dest (3329) cvn H.B /DEST pdfmark end
- 7597 61752 a
-FP(ext2)g FU(\(second)g(e)-23 b(xtended)504 b(\002lesystem\).)g(CD-R)
--62 b(OM)503 b(dri)-39 b(v)-23 b(es)504 b(are)43439 61752
-y
-SDict begin H.S end
- 43439 61752 a 43439 61752 a
-SDict begin 18.2 H.A end
- 43439 61752 a 43439 61752
-a
-SDict begin [ /View [/XYZ H.V] /Dest (3330) cvn H.B /DEST pdfmark end
- 43439 61752 a FP(iso9660)p FU(,)g(and)-30 63766 y(W)-62
-b(indo)-39 b(ws-based)387 b(de)-39 b(vices)387 b(will)g(either)g(be)
-23803 63766 y
-SDict begin H.S end
- 23803 63766 a 23803 63766 a
-SDict begin 18.2 H.A end
- 23803 63766
-a 23803 63766 a
-SDict begin [ /View [/XYZ H.V] /Dest (3331) cvn H.B /DEST pdfmark end
- 23803 63766 a FP(msdos)g FU(or)29589
-63766 y
-SDict begin H.S end
- 29589 63766 a 29589 63766 a
-SDict begin 18.2 H.A end
- 29589 63766 a 29589
-63766 a
-SDict begin [ /View [/XYZ H.V] /Dest (3332) cvn H.B /DEST pdfmark end
- 29589 63766 a FP(vfat)p FU(.)p Black 49394 73792
-a FR(117)p Black eop end
-%%Page: 118 140
-TeXDict begin 118 139 bop -8000 -8000 a
-SDict begin /product where{pop product(Distiller)search{pop pop pop
-version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
-closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
-grestore}if}{pop}ifelse}{pop}ifelse}if end
- -8000 -8000 a
-Black 0 TeXcolorgray -30 -1237 a
-SDict begin H.S end
- -30 -1237 a 0 TeXcolorgray
-0 TeXcolorgray -30 -1237 a
-SDict begin H.R end
- -30 -1237 a -30 -1237 a
-SDict begin [ /View [/XYZ H.V] /Dest (page.118) cvn H.B /DEST pdfmark
-end
- -30
--1237 a Black -399 x FR(Chapter)387 b(9)g(F)-70 b(ilesystem)387
-b(Structur)-57 b(e)p Black -30 2504 a
-SDict begin H.S end
- -30 2504 a -30
-2504 a
-SDict begin 18.2 H.A end
- -30 2504 a -30 2504 a
-SDict begin [ /View [/XYZ H.V] /Dest (3333) cvn H.B /DEST pdfmark end
- -30 2504 a 1107 x FU(The)469
-b(fourth)f(column)g(is)g(a)h(listing)f(of)h(options)e(that)i(apply)f
-(to)h(the)f(mounted)g(\002lesystem.)g(de-)-30 5626 y(f)-15
-b(aults)428 b(is)g(\002ne)h(for)g(just)f(about)g(e)-39
-b(v)-23 b(erything.)429 b(Ho)-39 b(we)g(v)-23 b(er)-62
-b(,)429 b(read-only)g(de)-39 b(vices)428 b(should)h(be)f(gi)-39
-b(v)-23 b(en)-30 7640 y(the)2245 7640 y
-SDict begin H.S end
- 2245 7640 a 2245
-7640 a
-SDict begin 18.2 H.A end
- 2245 7640 a 2245 7640 a
-SDict begin [ /View [/XYZ H.V] /Dest (3334) cvn H.B /DEST pdfmark end
- 2245 7640 a FP(ro)380
-b FU(\003ag.)h(There)g(are)g(a)g(lot)f(of)h(options)e(that)i(can)f(be)h
-(used.)g(Check)f(the)40481 7640 y
-SDict begin H.S end
- 40481 7640 a 40481
-7640 a
-SDict begin 18.2 H.A end
- 40481 7640 a 40481 7640 a
-SDict begin [ /View [/XYZ H.V] /Dest (3335) cvn H.B /DEST pdfmark end
- 40481 7640 a FQ(fstab)p
-FU(\(5\))e(man)i(page)-30 9655 y(for)430 b(more)g(information.)f(The)h
-(last)f(tw)-15 b(o)429 b(columns)g(are)i(used)e(by)35373
-9655 y
-SDict begin H.S end
- 35373 9655 a 35373 9655 a
-SDict begin 18.2 H.A end
- 35373 9655 a 35373 9655
-a
-SDict begin [ /View [/XYZ H.V] /Dest (3336) cvn H.B /DEST pdfmark end
- 35373 9655 a FP(fsck)g FU(and)h(other)g(commands)-30
-11670 y(that)568 b(need)g(to)f(manipulate)g(the)h(de)-39
-b(vices.)568 b(Check)g(the)g(man)g(page)f(for)h(that)g(information)f
-(as)-30 13684 y(well.)-30 14475 y
-SDict begin H.S end
- -30 14475 a -30 14475
-a
-SDict begin 18.2 H.A end
- -30 14475 a -30 14475 a
-SDict begin [ /View [/XYZ H.V] /Dest (3337) cvn H.B /DEST pdfmark end
- -30 14475 a 1999 x FU(When)440
-b(you)g(install)f(Slackw)-15 b(are)439 b(Linux,)g(the)h(setup)g
-(program)f(will)h(b)-31 b(uild)439 b(much)g(of)h(the)48644
-16474 y
-SDict begin H.S end
- 48644 16474 a 48644 16474 a
-SDict begin 18.2 H.A end
- 48644 16474 a 48644
-16474 a
-SDict begin [ /View [/XYZ H.V] /Dest (3338) cvn H.B /DEST pdfmark end
- 48644 16474 a FQ(fstab)-30 18489 y FU(\002le.)-30
-19279 y
-SDict begin H.S end
- -30 19279 a -30 19279 a
-SDict begin 18.2 H.A end
- -30 19279 a -30 19279
-a
-SDict begin [ /View [/XYZ H.V] /Dest (3339) cvn H.B /DEST pdfmark end
- -30 19279 a 5502 x FF(mount)685 b FG(and)517 b FF(umount)-30
-25734 y
-SDict begin H.S end
- -30 25734 a -30 25734 a
-SDict begin 18.2 H.A end
- -30 25734 a -30 25734
-a
-SDict begin [ /View [/XYZ H.V] /Dest (3343) cvn H.B /DEST pdfmark end
- -30 25734 a 1991 x FU(Attaching)c(another)h(de)-39
-b(vice)514 b(to)f(your)h(\002lesystem)e(is)i(easy)-101
-b(.)514 b(All)g(you)f(ha)-31 b(v)-23 b(e)514 b(to)f(do)h(is)f(use)h
-(the)-30 29740 y
-SDict begin H.S end
- -30 29740 a -30 29740 a
-SDict begin 18.2 H.A end
- -30 29740 a
--30 29740 a
-SDict begin [ /View [/XYZ H.V] /Dest (3344) cvn H.B /DEST pdfmark end
- -30 29740 a FP(mount)372 b FU(command,)g(along)g(with)h(a)f
-(fe)-39 b(w)373 b(options.)f(Using)30995 29740 y
-SDict begin H.S end
- 30995
-29740 a 30995 29740 a
-SDict begin 18.2 H.A end
- 30995 29740 a 30995 29740 a
-SDict begin [ /View [/XYZ H.V] /Dest (3345) cvn H.B /DEST pdfmark end
- 30995
-29740 a FP(mount)g FU(can)h(simpli\002ed)e(if)h(the)h(de)-39
-b(vice)-30 31754 y(has)407 b(an)h(entry)f(in)g(the)11820
-31754 y
-SDict begin H.S end
- 11820 31754 a 11820 31754 a
-SDict begin 18.2 H.A end
- 11820 31754 a 11820
-31754 a
-SDict begin [ /View [/XYZ H.V] /Dest (3346) cvn H.B /DEST pdfmark end
- 11820 31754 a FQ(/etc/fstab)402 b FU(\002le.)407
-b(F)-23 b(or)407 b(e)-23 b(xample,)407 b(let')-85 b(s)407
-b(say)g(that)g(I)h(w)-15 b(anted)406 b(to)i(mount)e(my)-30
-33769 y(CD-R)-62 b(OM)496 b(dri)-39 b(v)-23 b(e)497 b(and)g(that)g(my)
-18259 33769 y
-SDict begin H.S end
- 18259 33769 a 18259 33769 a
-SDict begin 18.2 H.A end
- 18259 33769
-a 18259 33769 a
-SDict begin [ /View [/XYZ H.V] /Dest (3347) cvn H.B /DEST pdfmark end
- 18259 33769 a FP(fstab)g FU(\002le)g(look)-15
-b(ed)496 b(lik)-15 b(e)497 b(the)g(e)-23 b(xample)496
-b(from)h(the)g(pre)-39 b(vious)-30 35784 y(section.)387
-b(I)h(w)-15 b(ould)386 b(call)12910 35784 y
-SDict begin H.S end
- 12910 35784
-a 12910 35784 a
-SDict begin 18.2 H.A end
- 12910 35784 a 12910 35784 a
-SDict begin [ /View [/XYZ H.V] /Dest (3348) cvn H.B /DEST pdfmark end
- 12910 35784
-a FP(mount)h FU(lik)-15 b(e)387 b(so:)-30 37360 y
-SDict begin H.S end
- -30
-37360 a -30 37360 a
-SDict begin 14.56 H.A end
- -30 37360 a -30 37360 a
-SDict begin [ /View [/XYZ H.V] /Dest (3349) cvn H.B /DEST pdfmark end
- -30 37360
-a -30 37360 a
-SDict begin H.S end
- -30 37360 a -30 37360 a
-SDict begin 14.56 H.A end
- -30 37360 a -30
-37360 a
-SDict begin [ /View [/XYZ H.V] /Dest (3350) cvn H.B /DEST pdfmark end
- -30 37360 a 1585 x FJ(\045)1309 38945 y
-SDict begin H.S end
- 1309
-38945 a 1309 38945 a
-SDict begin 14.56 H.A end
- 1309 38945 a 1309 38945 a
-SDict begin [ /View [/XYZ H.V] /Dest (3351) cvn H.B /DEST pdfmark end
- 1309 38945
-a FH(mount)743 b(/cdrom)-30 40586 y
-SDict begin H.S end
- -30 40586 a -30 40586
-a
-SDict begin 18.2 H.A end
- -30 40586 a -30 40586 a
-SDict begin [ /View [/XYZ H.V] /Dest (3352) cvn H.B /DEST pdfmark end
- -30 40586 a 1924 x FU(Since)471
-b(there)g(is)g(an)g(entry)g(in)16226 42510 y
-SDict begin H.S end
- 16226 42510
-a 16226 42510 a
-SDict begin 18.2 H.A end
- 16226 42510 a 16226 42510 a
-SDict begin [ /View [/XYZ H.V] /Dest (3353) cvn H.B /DEST pdfmark end
- 16226 42510
-a FQ(fstab)e FU(for)i(that)g(mount)f(point,)33381 42510
-y
-SDict begin H.S end
- 33381 42510 a 33381 42510 a
-SDict begin 18.2 H.A end
- 33381 42510 a 33381 42510
-a
-SDict begin [ /View [/XYZ H.V] /Dest (3354) cvn H.B /DEST pdfmark end
- 33381 42510 a FP(mount)h FU(kno)-39 b(ws)471 b(what)g(options)f(to)
--30 44524 y(use.)422 b(If)g(there)f(w)-15 b(asn')-28
-b(t)421 b(an)h(entry)f(for)g(that)h(de)-39 b(vice,)422
-b(I)f(w)-15 b(ould)421 b(ha)-31 b(v)-23 b(e)421 b(to)g(use)h(se)-39
-b(v)-23 b(eral)421 b(options)g(for)-30 46539 y
-SDict begin H.S end
- -30 46539
-a -30 46539 a
-SDict begin 18.2 H.A end
- -30 46539 a -30 46539 a
-SDict begin [ /View [/XYZ H.V] /Dest (3355) cvn H.B /DEST pdfmark end
- -30 46539 a FP(mount)p
-FU(:)-30 48115 y
-SDict begin H.S end
- -30 48115 a -30 48115 a
-SDict begin 14.56 H.A end
- -30 48115 a
--30 48115 a
-SDict begin [ /View [/XYZ H.V] /Dest (3356) cvn H.B /DEST pdfmark end
- -30 48115 a -30 48115 a
-SDict begin H.S end
- -30 48115 a -30 48115
-a
-SDict begin 14.56 H.A end
- -30 48115 a -30 48115 a
-SDict begin [ /View [/XYZ H.V] /Dest (3357) cvn H.B /DEST pdfmark end
- -30 48115 a 1585 x FJ(\045)1309
-49700 y
-SDict begin H.S end
- 1309 49700 a 1309 49700 a
-SDict begin 14.56 H.A end
- 1309 49700 a 1309 49700
-a
-SDict begin [ /View [/XYZ H.V] /Dest (3358) cvn H.B /DEST pdfmark end
- 1309 49700 a FH(mount)743 b(-t)h(iso9660)f(-o)h(ro)f(/dev/cdrom)g
-(/cdrom)-30 51341 y
-SDict begin H.S end
- -30 51341 a -30 51341 a
-SDict begin 18.2 H.A end
- -30 51341
-a -30 51341 a
-SDict begin [ /View [/XYZ H.V] /Dest (3359) cvn H.B /DEST pdfmark end
- -30 51341 a 1924 x FU(That)303 b(command)f(line)g
-(includes)g(the)g(same)h(information)f(as)g(the)h(e)-23
-b(xample)40249 53265 y
-SDict begin H.S end
- 40249 53265 a 40249 53265 a
-SDict begin 18.2 H.A end
- 40249
-53265 a 40249 53265 a
-SDict begin [ /View [/XYZ H.V] /Dest (3360) cvn H.B /DEST pdfmark end
- 40249 53265 a FQ(fstab)299 b FU(did,)k(b)-31
-b(ut)303 b(we')-15 b(ll)-30 55280 y(go)457 b(o)-23 b(v)g(er)457
-b(all)f(the)h(parts)g(an)-23 b(yw)-15 b(ays.)457 b(The)22065
-55280 y
-SDict begin H.S end
- 22065 55280 a 22065 55280 a
-SDict begin 18.2 H.A end
- 22065 55280 a 22065
-55280 a
-SDict begin [ /View [/XYZ H.V] /Dest (3361) cvn H.B /DEST pdfmark end
- 22065 55280 a FP(-t)743 b(iso9660)456 b FU(is)h(the)g
-(\002lesystem)f(type)h(of)g(the)g(de)-39 b(vice)-30 57294
-y(to)459 b(mount.)f(In)h(this)f(case,)i(it)e(w)-15 b(ould)458
-b(be)h(the)g(iso9660)f(\002lesystem)f(which)i(is)f(what)h(CD-R)-62
-b(OM)-30 59309 y(dri)-39 b(v)-23 b(es)501 b(most)g(commonly)f(use.)i
-(The)20710 59309 y
-SDict begin H.S end
- 20710 59309 a 20710 59309 a
-SDict begin 18.2 H.A end
- 20710
-59309 a 20710 59309 a
-SDict begin [ /View [/XYZ H.V] /Dest (3362) cvn H.B /DEST pdfmark end
- 20710 59309 a FP(-o)744 b(ro)501
-b FU(tells)g(mount)f(to)h(mount)g(the)g(de)-39 b(vice)502
-b(read-only)-101 b(.)-30 61324 y(The)2801 61324 y
-SDict begin H.S end
- 2801
-61324 a 2801 61324 a
-SDict begin 18.2 H.A end
- 2801 61324 a 2801 61324 a
-SDict begin [ /View [/XYZ H.V] /Dest (3363) cvn H.B /DEST pdfmark end
- 2801 61324
-a FQ(/dev/cdrom)415 b FU(is)422 b(the)f(name)g(of)g(the)g(de)-39
-b(vice)422 b(to)f(mount,)g(and)34546 61324 y
-SDict begin H.S end
- 34546 61324
-a 34546 61324 a
-SDict begin 18.2 H.A end
- 34546 61324 a 34546 61324 a
-SDict begin [ /View [/XYZ H.V] /Dest (3364) cvn H.B /DEST pdfmark end
- 34546 61324
-a FQ(/cdrom)d FU(is)j(the)g(location)g(on)g(the)-30 63338
-y(\002lesystem)386 b(to)h(mount)g(the)g(dri)-39 b(v)-23
-b(e.)-30 63674 y
-SDict begin H.S end
- -30 63674 a -30 63674 a
-SDict begin 18.2 H.A end
- -30 63674 a
--30 63674 a
-SDict begin [ /View [/XYZ H.V] /Dest (3365) cvn H.B /DEST pdfmark end
- -30 63674 a -30 64449 a
-SDict begin H.S end
- -30 64449 a -30 64449
-a
-SDict begin 18.2 H.A end
- -30 64449 a -30 64449 a
-SDict begin [ /View [/XYZ H.V] /Dest (3367) cvn H.B /DEST pdfmark end
- -30 64449 a 1679 x FU(Before)483
-b(you)g(can)h(remo)-23 b(v)g(e)482 b(a)i(\003opp)-15
-b(y)-101 b(,)482 b(CD-R)-62 b(OM,)483 b(or)g(other)h(remo)-23
-b(v)-39 b(able)482 b(de)-39 b(vice)484 b(that)f(is)g(cur)-31
-b(-)-30 68142 y(rently)365 b(mounted,)g(you')-15 b(ll)365
-b(ha)-31 b(v)-23 b(e)365 b(to)g(unmount)g(it.)g(That)h(is)f(done)g
-(using)g(the)40447 68142 y
-SDict begin H.S end
- 40447 68142 a 40447 68142
-a
-SDict begin 18.2 H.A end
- 40447 68142 a 40447 68142 a
-SDict begin [ /View [/XYZ H.V] /Dest (3368) cvn H.B /DEST pdfmark end
- 40447 68142 a FP(umount)g
-FU(command.)p Black -30 73792 a FR(118)p Black eop end
-%%Page: 119 141
-TeXDict begin 119 140 bop -8000 -8000 a
-SDict begin /product where{pop product(Distiller)search{pop pop pop
-version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
-closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
-grestore}if}{pop}ifelse}{pop}ifelse}if end
- -8000 -8000 a
-Black 0 TeXcolorgray -30 -1237 a
-SDict begin H.S end
- -30 -1237 a 0 TeXcolorgray
-0 TeXcolorgray -30 -1237 a
-SDict begin H.R end
- -30 -1237 a -30 -1237 a
-SDict begin [ /View [/XYZ H.V] /Dest (page.119) cvn H.B /DEST pdfmark
-end
- -30
--1237 a Black 32490 -1636 a FR(Chapter)386 b(9)h(F)-70
-b(ilesystem)387 b(Structur)-57 b(e)p Black -30 3611 a
-FU(Don')-28 b(t)442 b(ask)f(where)h(the)13071 3611 y
-SDict begin H.S end
-
-13071 3611 a 13071 3611 a
-SDict begin 18.2 H.A end
- 13071 3611 a 13071 3611 a
-SDict begin [ /View [/XYZ H.V] /Dest (3369) cvn H.B /DEST pdfmark end
- 13071
-3611 a FU(\223n\224)g(went)g(because)g(we)g(couldn')-28
-b(t)441 b(tell)g(you.)h(Y)-170 b(ou)442 b(can)g(use)f(either)h(the)-30
-5626 y(mounted)425 b(de)-39 b(vice)426 b(or)g(the)f(mount)g(point)g(as)
-h(the)g(ar)-28 b(gument)425 b(to)34206 5626 y
-SDict begin H.S end
- 34206 5626
-a 34206 5626 a
-SDict begin 18.2 H.A end
- 34206 5626 a 34206 5626 a
-SDict begin [ /View [/XYZ H.V] /Dest (3370) cvn H.B /DEST pdfmark end
- 34206 5626 a
-FP(umount)p FU(.)h(F)-23 b(or)425 b(e)-23 b(xample,)426
-b(if)f(you)-30 7640 y(w)-15 b(anted)465 b(to)h(unmount)e(the)i(CD-R)-62
-b(OM)464 b(from)i(the)g(pre)-39 b(vious)465 b(e)-23 b(xample,)465
-b(either)h(of)g(these)f(com-)-30 9655 y(mands)387 b(w)-15
-b(ould)386 b(w)-15 b(ork:)-30 11220 y
-SDict begin H.S end
- -30 11220 a -30
-11220 a
-SDict begin 14.56 H.A end
- -30 11220 a -30 11220 a
-SDict begin [ /View [/XYZ H.V] /Dest (3371) cvn H.B /DEST pdfmark end
- -30 11220 a -30 11220
-a
-SDict begin H.S end
- -30 11220 a -30 11220 a
-SDict begin 14.56 H.A end
- -30 11220 a -30 11220 a
-SDict begin [ /View [/XYZ H.V] /Dest (3372) cvn H.B /DEST pdfmark end
- -30
-11220 a 1597 x FJ(#)1309 12817 y
-SDict begin H.S end
- 1309 12817 a 1309 12817
-a
-SDict begin 14.56 H.A end
- 1309 12817 a 1309 12817 a
-SDict begin [ /View [/XYZ H.V] /Dest (3373) cvn H.B /DEST pdfmark end
- 1309 12817 a FH(umount)743
-b(/dev/cdrom)-30 12908 y
-SDict begin H.S end
- -30 12908 a -30 12908 a
-SDict begin 14.56 H.A end
- -30
-12908 a -30 12908 a
-SDict begin [ /View [/XYZ H.V] /Dest (3374) cvn H.B /DEST pdfmark end
- -30 12908 a 1520 x FJ(#)1309 14428
-y
-SDict begin H.S end
- 1309 14428 a 1309 14428 a
-SDict begin 14.56 H.A end
- 1309 14428 a 1309 14428 a
-SDict begin [ /View [/XYZ H.V] /Dest (3375) cvn H.B /DEST pdfmark end
-
-1309 14428 a FH(umount)g(/cdrom)-30 17619 y
-SDict begin H.S end
- -30 17619
-a -30 17619 a
-SDict begin 18.2 H.A end
- -30 17619 a -30 17619 a
-SDict begin [ /View [/XYZ H.V] /Dest (FILESYSTEM-STRUCTURE-NFS) cvn
-H.B /DEST pdfmark end
- -30 17619 a 6033
-x FL(9.5)620 b(NFS)h(Mounts)-30 24796 y
-SDict begin H.S end
- -30 24796 a -30
-24796 a
-SDict begin 18.2 H.A end
- -30 24796 a -30 24796 a
-SDict begin [ /View [/XYZ H.V] /Dest (3378) cvn H.B /DEST pdfmark end
- -30 24796 a 1987 x FU(NFS)485
-b(stands)g(for)g(the)g(Netw)-15 b(ork)485 b(Filesystem.)f(It)i(is)f
-(not)g(really)g(part)g(of)h(the)f(real)h(\002lesystem,)-30
-28798 y(b)-31 b(ut)387 b(can)h(be)f(used)g(to)g(add)g(parts)h(to)f(the)
-g(mounted)f(\002lesystem.)-30 29908 y
-SDict begin H.S end
- -30 29908 a -30
-29908 a
-SDict begin 18.2 H.A end
- -30 29908 a -30 29908 a
-SDict begin [ /View [/XYZ H.V] /Dest (3379) cvn H.B /DEST pdfmark end
- -30 29908 a 1679 x FU(Lar)-28
-b(ge)526 b(Unix)f(en)-62 b(vironments)524 b(often)h(times)g(share)h
-(the)f(same)g(programs,)40893 31587 y
-SDict begin H.S end
- 40893 31587 a 40893
-31587 a
-SDict begin 18.2 H.A end
- 40893 31587 a 40893 31587 a
-SDict begin [ /View [/XYZ H.V] /Dest (3380) cvn H.B /DEST pdfmark end
- 40893 31587 a 525
-w FU(sets)g(of)h(home)f(di-)-30 33602 y(rectories,)412
-b(and)g(mail)f(spool.)h(The)g(problem)f(of)h(getting)f(the)h(same)g
-(cop)-15 b(y)411 b(to)h(each)g(machine)f(is)-30 35616
-y(solv)-23 b(ed)418 b(with)h(NFS.)g(W)-124 b(e)419 b(can)g(use)g(NFS)f
-(to)h(share)g(one)g(set)g(of)g(home)g(directories)f(between)h(all)-30
-37631 y(of)521 b(the)f(w)-15 b(orkstations.)519 b(The)h(w)-15
-b(orkstations)519 b(then)h(mount)g(that)g(NFS)f(share)i(as)f(if)g(it)g
-(were)h(on)-30 39646 y(their)387 b(o)-39 b(wn)388 b(machines.)-30
-40436 y
-SDict begin H.S end
- -30 40436 a -30 40436 a
-SDict begin 18.2 H.A end
- -30 40436 a -30 40436
-a
-SDict begin [ /View [/XYZ H.V] /Dest (3383) cvn H.B /DEST pdfmark end
- -30 40436 a 1999 x FU(See)p 0 TeXcolorgray 2545 42435
-a
-SDict begin H.S end
- 2545 42435 a FU(Section)f(5.6.2)10681 42435 y
-SDict begin 18.2 H.L end
- 10681
-42435 a 10681 42435 a
-SDict begin [ /Subtype /Link /Dest (NETWORK-CONFIGURATION-NFS-NFS)
-cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 10681 42435 a Black 338 w FU(and)337
-b(the)g(man)g(pages)g(for)24841 42435 y
-SDict begin H.S end
- 24841 42435 a
-24841 42435 a
-SDict begin 18.2 H.A end
- 24841 42435 a 24841 42435 a
-SDict begin [ /View [/XYZ H.V] /Dest (3385) cvn H.B /DEST pdfmark end
- 24841 42435
-a FQ(exports)p FU(\(5\),)31757 42435 y
-SDict begin H.S end
- 31757 42435 a
-31757 42435 a
-SDict begin 18.2 H.A end
- 31757 42435 a 31757 42435 a
-SDict begin [ /View [/XYZ H.V] /Dest (3386) cvn H.B /DEST pdfmark end
- 31757 42435
-a FP(nfsd)p FU(\(8\),)g(and)39839 42435 y
-SDict begin H.S end
- 39839 42435
-a 39839 42435 a
-SDict begin 18.2 H.A end
- 39839 42435 a 39839 42435 a
-SDict begin [ /View [/XYZ H.V] /Dest (3387) cvn H.B /DEST pdfmark end
- 39839 42435
-a FP(mountd)p FU(\(8\))g(for)g(more)-30 44450 y(information.)p
-Black 49451 73792 a FR(119)p Black eop end
-%%Page: 120 142
-TeXDict begin 120 141 bop -8000 -8000 a
-SDict begin /product where{pop product(Distiller)search{pop pop pop
-version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
-closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
-grestore}if}{pop}ifelse}{pop}ifelse}if end
- -8000 -8000 a
-Black 0 TeXcolorgray -30 -1237 a
-SDict begin H.S end
- -30 -1237 a 0 TeXcolorgray
-0 TeXcolorgray -30 -1237 a
-SDict begin H.R end
- -30 -1237 a -30 -1237 a
-SDict begin [ /View [/XYZ H.V] /Dest (page.120) cvn H.B /DEST pdfmark
-end
- -30
--1237 a Black -399 x FR(Chapter)387 b(9)g(F)-70 b(ilesystem)387
-b(Structur)-57 b(e)p Black Black -30 73792 a(120)p Black
-eop end
-%%Page: 121 143
-TeXDict begin 121 142 bop -8000 -8000 a
-SDict begin /product where{pop product(Distiller)search{pop pop pop
-version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
-closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
-grestore}if}{pop}ifelse}{pop}ifelse}if end
- -8000 -8000 a
-Black 0 TeXcolorgray -30 -1358 a
-SDict begin H.S end
- -30 -1358 a 0 TeXcolorgray
-0 TeXcolorgray -30 -1358 a
-SDict begin H.R end
- -30 -1358 a -30 -1358 a
-SDict begin [ /View [/XYZ H.V] /Dest (page.121) cvn H.B /DEST pdfmark
-end
- -30
--1358 a Black Black -30 2383 a
-SDict begin H.S end
- -30 2383 a -30 2383 a
-SDict begin 18.2 H.A end
-
--30 2383 a -30 2383 a
-SDict begin [ /View [/XYZ H.V] /Dest (FILE-COMMANDS) cvn H.B /DEST
-pdfmark end
- -30 2383 a 2345 x FS(Chapter)894
-b(10)-30 10743 y FO(Handling)1288 b(Files)g(and)-30 16759
-y(Directories)p -30 24332 51806 56 v -30 25107 a
-SDict begin H.S end
- -30
-25107 a -30 25107 a
-SDict begin 18.2 H.A end
- -30 25107 a -30 25107 a
-SDict begin [ /View [/XYZ H.V] /Dest (3390) cvn H.B /DEST pdfmark end
- -30 25107
-a 1051 x FU(Linux)507 b(aims)g(to)g(the)g(most)g(Unix-lik)-15
-b(e)506 b(it)h(can)g(be.)h(T)-54 b(raditionally)-101
-b(,)506 b(Unix)h(operating)g(systems)-30 28172 y(ha)-31
-b(v)-23 b(e)461 b(been)g(command-line)f(oriented.)h(W)-124
-b(e)461 b(do)g(ha)-31 b(v)-23 b(e)461 b(a)g(graphical)g(user)g(interf)
--15 b(ace)460 b(in)h(Slack-)-30 30187 y(w)-15 b(are,)437
-b(b)-31 b(ut)437 b(the)g(command-line)e(is)i(still)f(the)h(main)f(le)
--39 b(v)-23 b(el)437 b(of)g(control)f(for)h(the)g(system.)g(There-)-30
-32202 y(fore,)388 b(it)f(is)g(important)g(to)g(understand)f(some)h(of)h
-(the)f(basic)g(\002le)g(management)f(commands.)-30 33312
-y
-SDict begin H.S end
- -30 33312 a -30 33312 a
-SDict begin 18.2 H.A end
- -30 33312 a -30 33312 a
-SDict begin [ /View [/XYZ H.V] /Dest (3391) cvn H.B /DEST pdfmark end
- -30
-33312 a 1679 x FU(The)299 b(follo)-39 b(wing)299 b(sections)f(e)-23
-b(xplain)299 b(the)g(common)g(\002le)g(management)f(commands)g(and)i
-(pro)-23 b(vide)-30 37006 y(e)g(xamples)346 b(of)i(ho)-39
-b(w)347 b(the)-23 b(y)346 b(are)i(used.)f(There)g(are)h(man)-23
-b(y)346 b(other)h(commands,)g(b)-31 b(ut)347 b(these)g(will)f(help)-30
-39021 y(you)472 b(get)f(started.)h(Also,)g(the)g(commands)f(are)h(only)
-f(brie\003y)h(discussed)f(here.)h(Y)-170 b(ou)471 b(will)g(\002nd)-30
-41035 y(more)387 b(detail)g(in)g(the)g(accompan)-23 b(ying)387
-b(man)g(pages)g(for)g(each)h(command.)-30 41371 y
-SDict begin H.S end
- -30
-41371 a -30 41371 a
-SDict begin 18.2 H.A end
- -30 41371 a -30 41371 a
-SDict begin [ /View [/XYZ H.V] /Dest (FILE-COMMANDS-NAVIGATION) cvn
-H.B /DEST pdfmark end
- -30 41371
-a 5789 x FL(10.1)620 b(Na)-33 b(vigation)619 b(:)i Fq(ls)61
-b FL(,)621 b Fq(cd)206 b FL(,)620 b(and)f Fq(pwd)-30
-47656 y
-SDict begin H.S end
- -30 47656 a -30 47656 a
-SDict begin 18.2 H.A end
- -30 47656 a -30 47656
-a
-SDict begin [ /View [/XYZ H.V] /Dest (3397) cvn H.B /DEST pdfmark end
- -30 47656 a 4866 x FF(ls)-30 52545 y
-SDict begin H.S end
- -30 52545 a -30
-52545 a
-SDict begin 18.2 H.A end
- -30 52545 a -30 52545 a
-SDict begin [ /View [/XYZ H.V] /Dest (3400) cvn H.B /DEST pdfmark end
- -30 52545 a -30 52545
-a
-SDict begin H.S end
- -30 52545 a -30 52545 a
-SDict begin 18.2 H.A end
- -30 52545 a -30 52545 a
-SDict begin [ /View [/XYZ H.V] /Dest (3403) cvn H.B /DEST pdfmark end
- -30
-52545 a -30 53475 a
-SDict begin H.S end
- -30 53475 a -30 53475 a
-SDict begin 18.2 H.A end
- -30 53475
-a -30 53475 a
-SDict begin [ /View [/XYZ H.V] /Dest (3405) cvn H.B /DEST pdfmark end
- -30 53475 a 1992 x FU(This)378 b(command)g(lists)g
-(\002les)g(in)g(a)h(directory)-101 b(.)379 b(W)-62 b(indo)-39
-b(ws)378 b(and)h(DOS)f(users)g(will)g(notice)g(its)g(sim-)-30
-57481 y(ilarity)368 b(to)g(the)7878 57481 y
-SDict begin H.S end
- 7878 57481
-a 7878 57481 a
-SDict begin 18.2 H.A end
- 7878 57481 a 7878 57481 a
-SDict begin [ /View [/XYZ H.V] /Dest (3406) cvn H.B /DEST pdfmark end
- 7878 57481 a
-FP(dir)g FU(command.)g(By)g(itself,)23379 57481 y
-SDict begin H.S end
- 23379
-57481 a 23379 57481 a
-SDict begin 18.2 H.A end
- 23379 57481 a 23379 57481 a
-SDict begin [ /View [/XYZ H.V] /Dest (3407) cvn H.B /DEST pdfmark end
- 23379
-57481 a FP(ls)p FU(\(1\))g(will)g(list)g(the)g(\002les)g(in)h(the)f
-(current)h(directory)-101 b(.)-30 59496 y(T)-124 b(o)387
-b(see)h(what')-85 b(s)387 b(in)g(your)g(root)g(directory)-101
-b(,)387 b(you)h(could)e(issue)h(these)g(commands:)-30
-61381 y
-SDict begin H.S end
- -30 61381 a -30 61381 a
-SDict begin 14.56 H.A end
- -30 61381 a -30 61381
-a
-SDict begin [ /View [/XYZ H.V] /Dest (3408) cvn H.B /DEST pdfmark end
- -30 61381 a -30 61381 a
-SDict begin H.S end
- -30 61381 a -30 61381 a
-SDict begin 14.56 H.A end
- -30
-61381 a -30 61381 a
-SDict begin [ /View [/XYZ H.V] /Dest (3409) cvn H.B /DEST pdfmark end
- -30 61381 a 1276 x FJ(\045)1309 62657
-y
-SDict begin H.S end
- 1309 62657 a 1309 62657 a
-SDict begin 14.56 H.A end
- 1309 62657 a 1309 62657 a
-SDict begin [ /View [/XYZ H.V] /Dest (3410) cvn H.B /DEST pdfmark end
-
-1309 62657 a FH(cd)744 b(/)-30 62748 y
-SDict begin H.S end
- -30 62748 a -30
-62748 a
-SDict begin 14.56 H.A end
- -30 62748 a -30 62748 a
-SDict begin [ /View [/XYZ H.V] /Dest (3411) cvn H.B /DEST pdfmark end
- -30 62748 a 1521 x FJ(\045)1309
-64269 y
-SDict begin H.S end
- 1309 64269 a 1309 64269 a
-SDict begin 14.56 H.A end
- 1309 64269 a 1309 64269
-a
-SDict begin [ /View [/XYZ H.V] /Dest (3412) cvn H.B /DEST pdfmark end
- 1309 64269 a FH(ls)-30 65881 y FP(bin)2231 b(cdr)2976
-b(dev)1487 b(home)g(lost+found)g(proc)g(sbin)2231 b(tmp)1487
-b(var)-30 67493 y(boot)g(cdrom)h(etc)f(lib)2231 b(mnt)6695
-b(root)1487 b(suncd)g(usr)g(vmlinuz)p Black 49451 73672
-a FR(121)p Black eop end
-%%Page: 122 144
-TeXDict begin 122 143 bop -8000 -8000 a
-SDict begin /product where{pop product(Distiller)search{pop pop pop
-version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
-closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
-grestore}if}{pop}ifelse}{pop}ifelse}if end
- -8000 -8000 a
-Black 0 TeXcolorgray -30 -1358 a
-SDict begin H.S end
- -30 -1358 a 0 TeXcolorgray
-0 TeXcolorgray -30 -1358 a
-SDict begin H.R end
- -30 -1358 a -30 -1358 a
-SDict begin [ /View [/XYZ H.V] /Dest (page.122) cvn H.B /DEST pdfmark
-end
- -30
--1358 a Black -278 x FR(Chapter)387 b(10)g(Handling)f(F)-70
-b(iles)387 b(and)g(Dir)-57 b(ectories)p Black -30 2383
-a
-SDict begin H.S end
- -30 2383 a -30 2383 a
-SDict begin 18.2 H.A end
- -30 2383 a -30 2383 a
-SDict begin [ /View [/XYZ H.V] /Dest (3413) cvn H.B /DEST pdfmark end
- -30 2383
-a 1107 x FU(The)384 b(problem)g(a)g(lot)g(of)g(people)g(ha)-31
-b(v)-23 b(e)384 b(with)f(that)h(output)f(is)h(that)g(you)g(cannot)g
-(easily)f(tell)h(what)-30 5505 y(is)501 b(a)h(directory)f(and)g(what)h
-(is)f(a)h(\002le.)f(Some)g(users)g(prefer)h(that)35384
-5505 y
-SDict begin H.S end
- 35384 5505 a 35384 5505 a
-SDict begin 18.2 H.A end
- 35384 5505 a 35384 5505
-a
-SDict begin [ /View [/XYZ H.V] /Dest (3414) cvn H.B /DEST pdfmark end
- 35384 5505 a FP(ls)f FU(add)h(a)f(type)h(identi\002er)e(to)-30
-7520 y(each)388 b(listing,)e(lik)-15 b(e)387 b(this:)-30
-9405 y
-SDict begin H.S end
- -30 9405 a -30 9405 a
-SDict begin 14.56 H.A end
- -30 9405 a -30 9405 a
-SDict begin [ /View [/XYZ H.V] /Dest (3415) cvn H.B /DEST pdfmark end
- -30
-9405 a -30 9405 a
-SDict begin H.S end
- -30 9405 a -30 9405 a
-SDict begin 14.56 H.A end
- -30 9405 a -30
-9405 a
-SDict begin [ /View [/XYZ H.V] /Dest (3416) cvn H.B /DEST pdfmark end
- -30 9405 a 1276 x FJ(\045)1309 10681 y
-SDict begin H.S end
- 1309 10681
-a 1309 10681 a
-SDict begin 14.56 H.A end
- 1309 10681 a 1309 10681 a
-SDict begin [ /View [/XYZ H.V] /Dest (3417) cvn H.B /DEST pdfmark end
- 1309 10681 a
-FH(ls)744 b(-FC)-30 12293 y FP(bin/)2231 b(cdr/)2975
-b(dev/)1488 b(home/)f(lost+found/)f(proc/)h(sbin/)2231
-b(tmp/)1488 b(var/)-30 13905 y(boot/)f(cdrom/)g(etc/)h(lib/)2231
-b(mnt/)6694 b(root/)1487 b(suncd/)g(usr/)h(vmlinuz)-30
-15552 y
-SDict begin H.S end
- -30 15552 a -30 15552 a
-SDict begin 18.2 H.A end
- -30 15552 a -30 15552
-a
-SDict begin [ /View [/XYZ H.V] /Dest (3418) cvn H.B /DEST pdfmark end
- -30 15552 a 1917 x FU(Directories)399 b(get)g(a)h(slash)f(at)g(the)h
-(end)f(of)h(the)f(name,)h(e)-23 b(x)g(ecutable)35691
-17469 y
-SDict begin H.S end
- 35691 17469 a 35691 17469 a
-SDict begin 18.2 H.A end
- 35691 17469 a 35691
-17469 a
-SDict begin [ /View [/XYZ H.V] /Dest (3419) cvn H.B /DEST pdfmark end
- 35691 17469 a 400 w FU(\002les)399 b(get)g(an)h(asterisk)f(at)g
-(the)-30 19484 y(end)387 b(of)h(the)f(name,)h(and)f(so)g(on.)-30
-20482 y
-SDict begin H.S end
- -30 20482 a -30 20482 a
-SDict begin 18.2 H.A end
- -30 20482 a -30 20482
-a
-SDict begin [ /View [/XYZ H.V] /Dest (3421) cvn H.B /DEST pdfmark end
- -30 20482 a -30 20482 a
-SDict begin H.S end
- -30 20482 a -30 20482 a
-SDict begin 18.2 H.A end
- -30
-20482 a -30 20482 a
-SDict begin [ /View [/XYZ H.V] /Dest (3422) cvn H.B /DEST pdfmark end
- -30 20482 a 1791 x FP(ls)463 b FU(can)g(also)g(be)g
-(used)f(to)h(get)g(other)g(statistics)f(on)g(\002les.)h(F)-23
-b(or)463 b(e)-23 b(xample,)463 b(to)f(see)h(the)g(creation)-30
-24288 y(dates,)388 b(o)-39 b(wners,)387 b(and)h(permissions,)e(you)h(w)
--15 b(ould)386 b(look)h(at)h(a)f(long)g(listing:)-30
-26173 y
-SDict begin H.S end
- -30 26173 a -30 26173 a
-SDict begin 14.56 H.A end
- -30 26173 a -30 26173
-a
-SDict begin [ /View [/XYZ H.V] /Dest (3423) cvn H.B /DEST pdfmark end
- -30 26173 a -30 26173 a
-SDict begin H.S end
- -30 26173 a -30 26173 a
-SDict begin 14.56 H.A end
- -30
-26173 a -30 26173 a
-SDict begin [ /View [/XYZ H.V] /Dest (3424) cvn H.B /DEST pdfmark end
- -30 26173 a 1276 x FJ(\045)1309 27449
-y
-SDict begin H.S end
- 1309 27449 a 1309 27449 a
-SDict begin 14.56 H.A end
- 1309 27449 a 1309 27449 a
-SDict begin [ /View [/XYZ H.V] /Dest (3425) cvn H.B /DEST pdfmark end
-
-1309 27449 a FH(ls)744 b(-l)-30 29061 y FP(drwxr-xr-x)2231
-b(2)743 b(root)3719 b(bin)7439 b(4096)743 b(May)1487
-b(7)744 b(09:11)f(bin/)-30 30673 y(drwxr-xr-x)2231 b(2)743
-b(root)3719 b(root)6695 b(4096)743 b(Feb)g(24)h(03:55)f(boot/)-30
-32284 y(drwxr-xr-x)2231 b(2)743 b(root)3719 b(root)6695
-b(4096)743 b(Feb)g(18)h(01:10)f(cdr/)-30 33896 y(drwxr-xr-x)1487
-b(14)743 b(root)3719 b(root)6695 b(6144)743 b(Oct)g(23)h(18:37)f
-(cdrom/)-30 35508 y(drwxr-xr-x)2231 b(4)743 b(root)3719
-b(root)5951 b(28672)743 b(Mar)1487 b(5)744 b(18:01)f(dev/)-30
-37120 y(drwxr-xr-x)1487 b(10)743 b(root)3719 b(root)6695
-b(4096)743 b(Mar)1487 b(8)744 b(03:32)f(etc/)-30 38731
-y(drwxr-xr-x)2231 b(8)743 b(root)3719 b(root)6695 b(4096)743
-b(Mar)1487 b(8)744 b(03:31)f(home/)-30 40343 y(drwxr-xr-x)2231
-b(3)743 b(root)3719 b(root)6695 b(4096)743 b(Jan)g(23)h(21:29)f(lib/)
--30 41955 y(drwxr-xr-x)2231 b(2)743 b(root)3719 b(root)5951
-b(16384)743 b(Nov)1487 b(1)744 b(08:53)f(lost+found/)-30
-43567 y(drwxr-xr-x)2231 b(2)743 b(root)3719 b(root)6695
-b(4096)743 b(Oct)1487 b(6)744 b(12:47)f(mnt/)-30 45178
-y(dr-xr-xr-x)1487 b(62)743 b(root)3719 b(root)8926 b(0)744
-b(Mar)1487 b(4)744 b(15:32)f(proc/)-30 46790 y(drwxr-x--x)1487
-b(12)743 b(root)3719 b(root)6695 b(4096)743 b(Feb)g(26)h(02:06)f(root/)
--30 48402 y(drwxr-xr-x)2231 b(2)743 b(root)3719 b(bin)7439
-b(4096)743 b(Feb)g(17)h(02:02)f(sbin/)-30 50014 y(drwxr-xr-x)2231
-b(5)743 b(root)3719 b(root)6695 b(2048)743 b(Oct)g(25)h(10:51)f(suncd/)
--30 51625 y(drwxrwxrwt)2231 b(4)743 b(root)3719 b(root)5207
-b(487424)743 b(Mar)1487 b(7)744 b(20:42)f(tmp/)-30 53237
-y(drwxr-xr-x)1487 b(21)743 b(root)3719 b(root)6695 b(4096)743
-b(Aug)g(24)h(03:04)f(usr/)-30 54849 y(drwxr-xr-x)1487
-b(18)743 b(root)3719 b(root)6695 b(4096)743 b(Mar)1487
-b(8)744 b(03:32)f(var/)-30 56496 y
-SDict begin H.S end
- -30 56496 a -30 56496
-a
-SDict begin 18.2 H.A end
- -30 56496 a -30 56496 a
-SDict begin [ /View [/XYZ H.V] /Dest (3426) cvn H.B /DEST pdfmark end
- -30 56496 a 1917 x FU(Suppose)519
-b(you)h(w)-15 b(ant)520 b(to)f(get)h(a)h(listing)e(of)h(the)g(hidden)f
-(\002les)h(in)g(the)g(current)g(directory)-101 b(.)520
-b(The)-30 60428 y(follo)-39 b(wing)387 b(command)f(will)h(do)g(just)g
-(that.)p Black -30 73672 a FR(122)p Black eop end
-%%Page: 123 145
-TeXDict begin 123 144 bop -8000 -8000 a
-SDict begin /product where{pop product(Distiller)search{pop pop pop
-version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
-closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
-grestore}if}{pop}ifelse}{pop}ifelse}if end
- -8000 -8000 a
-Black 0 TeXcolorgray -30 -1237 a
-SDict begin H.S end
- -30 -1237 a 0 TeXcolorgray
-0 TeXcolorgray -30 -1237 a
-SDict begin H.R end
- -30 -1237 a -30 -1237 a
-SDict begin [ /View [/XYZ H.V] /Dest (page.123) cvn H.B /DEST pdfmark
-end
- -30
--1237 a Black 24998 -1636 a FR(Chapter)387 b(10)g(Handling)f(F)-70
-b(iles)387 b(and)g(Dir)-57 b(ectories)p Black -30 2504
-a
-SDict begin H.S end
- -30 2504 a -30 2504 a
-SDict begin 14.56 H.A end
- -30 2504 a -30 2504 a
-SDict begin [ /View [/XYZ H.V] /Dest (3428) cvn H.B /DEST pdfmark end
- -30 2504
-a 1107 x FJ(\045)1309 3611 y
-SDict begin H.S end
- 1309 3611 a 1309 3611 a
-SDict begin 14.56 H.A end
-
-1309 3611 a 1309 3611 a
-SDict begin [ /View [/XYZ H.V] /Dest (3429) cvn H.B /DEST pdfmark end
- 1309 3611 a FH(ls)744 b(-a)-30
-5223 y FP(.)10414 b(bin)2232 b(cdrom)1487 b(home)5950
-b(mnt)2231 b(sbin)h(usr)-30 6835 y(..)9670 b(boot)1488
-b(dev)2975 b(lib)6694 b(proc)1487 b(suncd)h(var)-30 8446
-y(.pwrchute_tmp)e(cdr)2232 b(etc)2975 b(lost+found)1486
-b(root)h(tmp)2976 b(vmlinuz)-30 10191 y
-SDict begin H.S end
- -30 10191 a -30
-10191 a
-SDict begin 18.2 H.A end
- -30 10191 a -30 10191 a
-SDict begin [ /View [/XYZ H.V] /Dest (3430) cvn H.B /DEST pdfmark end
- -30 10191 a 1820 x FU(Files)351
-b(be)-23 b(ginning)350 b(with)h(a)h(period)f(\(called)g(dot)g
-(\002les\))g(are)h(hidden)f(when)g(you)h(run)44288 12011
-y
-SDict begin H.S end
- 44288 12011 a 44288 12011 a
-SDict begin 18.2 H.A end
- 44288 12011 a 44288 12011
-a
-SDict begin [ /View [/XYZ H.V] /Dest (3431) cvn H.B /DEST pdfmark end
- 44288 12011 a FP(ls)p FU(.)g(Y)-170 b(ou)350 b(will)-30
-14025 y(only)387 b(see)g(them)g(if)h(you)f(pass)g(the)18350
-14025 y
-SDict begin H.S end
- 18350 14025 a 18350 14025 a
-SDict begin 18.2 H.A end
- 18350 14025 a 18350
-14025 a
-SDict begin [ /View [/XYZ H.V] /Dest (3432) cvn H.B /DEST pdfmark end
- 18350 14025 a FP(-a)g FU(option.)-30 15136 y
-SDict begin H.S end
-
--30 15136 a -30 15136 a
-SDict begin 18.2 H.A end
- -30 15136 a -30 15136 a
-SDict begin [ /View [/XYZ H.V] /Dest (3433) cvn H.B /DEST pdfmark end
- -30 15136
-a 1679 x FU(There)510 b(are)g(man)-23 b(y)509 b(more)h(options)f(that)h
-(can)g(be)f(found)h(in)g(the)f(online)h(manual)f(page.)h(Don')-28
-b(t)-30 18830 y(for)g(get)387 b(that)g(you)g(can)h(combine)f(options)f
-(that)h(you)g(pass)g(to)32742 18830 y
-SDict begin H.S end
- 32742 18830 a 32742
-18830 a
-SDict begin 18.2 H.A end
- 32742 18830 a 32742 18830 a
-SDict begin [ /View [/XYZ H.V] /Dest (3434) cvn H.B /DEST pdfmark end
- 32742 18830 a FP(ls)p
-FU(.)-30 19940 y
-SDict begin H.S end
- -30 19940 a -30 19940 a
-SDict begin 18.2 H.A end
- -30 19940 a
--30 19940 a
-SDict begin [ /View [/XYZ H.V] /Dest (3435) cvn H.B /DEST pdfmark end
- -30 19940 a 5182 x FF(cd)-30 25145 y
-SDict begin H.S end
- -30
-25145 a -30 25145 a
-SDict begin 18.2 H.A end
- -30 25145 a -30 25145 a
-SDict begin [ /View [/XYZ H.V] /Dest (3438) cvn H.B /DEST pdfmark end
- -30 25145
-a -30 25145 a
-SDict begin H.S end
- -30 25145 a -30 25145 a
-SDict begin 18.2 H.A end
- -30 25145 a -30
-25145 a
-SDict begin [ /View [/XYZ H.V] /Dest (3441) cvn H.B /DEST pdfmark end
- -30 25145 a -30 26075 a
-SDict begin H.S end
- -30 26075 a -30 26075
-a
-SDict begin 18.2 H.A end
- -30 26075 a -30 26075 a
-SDict begin [ /View [/XYZ H.V] /Dest (3443) cvn H.B /DEST pdfmark end
- -30 26075 a 1991 x FU(The)2680
-28066 y
-SDict begin H.S end
- 2680 28066 a 2680 28066 a
-SDict begin 18.2 H.A end
- 2680 28066 a 2680 28066
-a
-SDict begin [ /View [/XYZ H.V] /Dest (3444) cvn H.B /DEST pdfmark end
- 2680 28066 a FP(cd)300 b FU(command)g(is)g(used)g(to)f(change)i(w)-15
-b(orking)299 b(directories.)h(Y)-170 b(ou)299 b(simply)g(type)44517
-28066 y
-SDict begin H.S end
- 44517 28066 a 44517 28066 a
-SDict begin 18.2 H.A end
- 44517 28066 a 44517
-28066 a
-SDict begin [ /View [/XYZ H.V] /Dest (3445) cvn H.B /DEST pdfmark end
- 44517 28066 a FP(cd)h FU(follo)-39 b(wed)-30
-30081 y(by)387 b(the)g(path)h(name)f(to)g(change)g(to.)h(Here)f(are)h
-(some)f(e)-23 b(xamples:)-30 31966 y
-SDict begin H.S end
- -30 31966 a -30
-31966 a
-SDict begin 14.56 H.A end
- -30 31966 a -30 31966 a
-SDict begin [ /View [/XYZ H.V] /Dest (3446) cvn H.B /DEST pdfmark end
- -30 31966 a 1276 x FP(darkstar:~$)8897
-33242 y
-SDict begin H.S end
- 8897 33242 a 8897 33242 a
-SDict begin 14.56 H.A end
- 8897 33242 a 8897 33242
-a
-SDict begin [ /View [/XYZ H.V] /Dest (3447) cvn H.B /DEST pdfmark end
- 8897 33242 a FH(cd)743 b(/bin)-30 34854 y FP(darkstar:/bin$)11128
-34854 y
-SDict begin H.S end
- 11128 34854 a 11128 34854 a
-SDict begin 14.56 H.A end
- 11128 34854 a 11128
-34854 a
-SDict begin [ /View [/XYZ H.V] /Dest (3448) cvn H.B /DEST pdfmark end
- 11128 34854 a FH(cd)h(usr)-30 36466 y FP(bash:)f(cd:)h(usr:)f
-(No)h(such)f(file)h(or)f(directory)-30 38077 y(darkstar:/bin$)11128
-38077 y
-SDict begin H.S end
- 11128 38077 a 11128 38077 a
-SDict begin 14.56 H.A end
- 11128 38077 a 11128
-38077 a
-SDict begin [ /View [/XYZ H.V] /Dest (3449) cvn H.B /DEST pdfmark end
- 11128 38077 a FH(cd)h(/usr)-30 39689 y FP(darkstar:/usr$)11128
-39689 y
-SDict begin H.S end
- 11128 39689 a 11128 39689 a
-SDict begin 14.56 H.A end
- 11128 39689 a 11128
-39689 a
-SDict begin [ /View [/XYZ H.V] /Dest (3450) cvn H.B /DEST pdfmark end
- 11128 39689 a FH(ls)-30 41301 y FP(bin)-30 42913
-y(darkstar:/usr$)11128 42913 y
-SDict begin H.S end
- 11128 42913 a 11128 42913
-a
-SDict begin 14.56 H.A end
- 11128 42913 a 11128 42913 a
-SDict begin [ /View [/XYZ H.V] /Dest (3451) cvn H.B /DEST pdfmark end
- 11128 42913 a FH(cd)g(bin)-30
-44524 y FP(darkstar:/usr/bin$)-30 46219 y
-SDict begin H.S end
- -30 46219 a
--30 46219 a
-SDict begin 18.2 H.A end
- -30 46219 a -30 46219 a
-SDict begin [ /View [/XYZ H.V] /Dest (3452) cvn H.B /DEST pdfmark end
- -30 46219 a 1870
-x FU(Notice)334 b(that)h(without)e(the)i(preceding)f(slash,)h(it)f
-(tries)h(to)f(change)h(to)f(a)h(directory)f(in)h(the)f(current)-30
-50103 y(directory)-101 b(.)388 b(Also)f(e)-23 b(x)g(ecuting)15920
-50103 y
-SDict begin H.S end
- 15920 50103 a 15920 50103 a
-SDict begin 18.2 H.A end
- 15920 50103 a 15920
-50103 a
-SDict begin [ /View [/XYZ H.V] /Dest (3453) cvn H.B /DEST pdfmark end
- 15920 50103 a FP(cd)387 b FU(with)g(no)g(options)g(will)f(mo)
--23 b(v)g(e)387 b(you)g(to)g(your)g(home)g(directory)-101
-b(.)-30 51214 y
-SDict begin H.S end
- -30 51214 a -30 51214 a
-SDict begin 18.2 H.A end
- -30 51214 a -30
-51214 a
-SDict begin [ /View [/XYZ H.V] /Dest (3454) cvn H.B /DEST pdfmark end
- -30 51214 a 1679 x FU(The)2964 52893 y
-SDict begin H.S end
- 2964 52893
-a 2964 52893 a
-SDict begin 18.2 H.A end
- 2964 52893 a 2964 52893 a
-SDict begin [ /View [/XYZ H.V] /Dest (3455) cvn H.B /DEST pdfmark end
- 2964 52893 a
-FP(cd)584 b FU(command)g(is)f(not)h(lik)-15 b(e)584 b(the)g(other)g
-(commands.)f(It)h(is)g(a)g(b)-31 b(uiltin)584 b(shell)f(command.)-30
-54908 y(Shell)506 b(b)-31 b(uiltins)506 b(are)h(discussed)f(in)p
-0 TeXcolorgray 19349 54908 a
-SDict begin H.S end
- 19349 54908 a FU(Section)387
-b(8.3.1)27485 54908 y
-SDict begin 18.2 H.L end
- 27485 54908 a 27485 54908 a
-SDict begin [ /Subtype /Link /Dest (SHELL-BASH-ENVIRONMENT) cvn /H
-/I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 27485
-54908 a Black FU(.)508 b(This)e(may)h(not)f(mak)-15 b(e)506
-b(an)-23 b(y)507 b(sense)g(to)f(you)-30 56922 y(right)454
-b(no)-39 b(w)-101 b(.)455 b(Basically)f(it)g(means)g(there)g(is)g(no)h
-(man)f(page)g(for)h(this)f(command.)g(Instead,)g(you)-30
-58937 y(ha)-31 b(v)-23 b(e)387 b(to)g(use)h(the)f(shell)g(help.)g(Lik)
--15 b(e)387 b(this:)-30 60822 y
-SDict begin H.S end
- -30 60822 a -30 60822
-a
-SDict begin 14.56 H.A end
- -30 60822 a -30 60822 a
-SDict begin [ /View [/XYZ H.V] /Dest (3457) cvn H.B /DEST pdfmark end
- -30 60822 a -30 60822 a
-SDict begin H.S end
- -30
-60822 a -30 60822 a
-SDict begin 14.56 H.A end
- -30 60822 a -30 60822 a
-SDict begin [ /View [/XYZ H.V] /Dest (3458) cvn H.B /DEST pdfmark end
- -30 60822
-a 1276 x FJ(\045)1309 62098 y
-SDict begin H.S end
- 1309 62098 a 1309 62098
-a
-SDict begin 14.56 H.A end
- 1309 62098 a 1309 62098 a
-SDict begin [ /View [/XYZ H.V] /Dest (3459) cvn H.B /DEST pdfmark end
- 1309 62098 a FH(help)743
-b(cd)-30 63816 y
-SDict begin H.S end
- -30 63816 a -30 63816 a
-SDict begin 18.2 H.A end
- -30 63816 a
--30 63816 a
-SDict begin [ /View [/XYZ H.V] /Dest (3460) cvn H.B /DEST pdfmark end
- -30 63816 a 1847 x FU(It)387 b(will)g(display)g(the)g
-(options)f(for)18395 65663 y
-SDict begin H.S end
- 18395 65663 a 18395 65663
-a
-SDict begin 18.2 H.A end
- 18395 65663 a 18395 65663 a
-SDict begin [ /View [/XYZ H.V] /Dest (3461) cvn H.B /DEST pdfmark end
- 18395 65663 a FP(cd)h FU(and)g(ho)-39
-b(w)388 b(to)f(use)g(them.)-30 66773 y
-SDict begin H.S end
- -30 66773 a -30
-66773 a
-SDict begin 18.2 H.A end
- -30 66773 a -30 66773 a
-SDict begin [ /View [/XYZ H.V] /Dest (3462) cvn H.B /DEST pdfmark end
- -30 66773 a Black 49451
-73792 a FR(123)p Black eop end
-%%Page: 124 146
-TeXDict begin 124 145 bop -8000 -8000 a
-SDict begin /product where{pop product(Distiller)search{pop pop pop
-version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
-closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
-grestore}if}{pop}ifelse}{pop}ifelse}if end
- -8000 -8000 a
-Black 0 TeXcolorgray -30 -1237 a
-SDict begin H.S end
- -30 -1237 a 0 TeXcolorgray
-0 TeXcolorgray -30 -1237 a
-SDict begin H.R end
- -30 -1237 a -30 -1237 a
-SDict begin [ /View [/XYZ H.V] /Dest (page.124) cvn H.B /DEST pdfmark
-end
- -30
--1237 a Black -399 x FR(Chapter)387 b(10)g(Handling)f(F)-70
-b(iles)387 b(and)g(Dir)-57 b(ectories)p Black -30 3821
-a FF(pwd)-30 4206 y
-SDict begin H.S end
- -30 4206 a -30 4206 a
-SDict begin 18.2 H.A end
- -30 4206 a
--30 4206 a
-SDict begin [ /View [/XYZ H.V] /Dest (3465) cvn H.B /DEST pdfmark end
- -30 4206 a -30 4206 a
-SDict begin H.S end
- -30 4206 a -30 4206
-a
-SDict begin 18.2 H.A end
- -30 4206 a -30 4206 a
-SDict begin [ /View [/XYZ H.V] /Dest (3468) cvn H.B /DEST pdfmark end
- -30 4206 a -30 5136 a
-SDict begin H.S end
- -30 5136
-a -30 5136 a
-SDict begin 18.2 H.A end
- -30 5136 a -30 5136 a
-SDict begin [ /View [/XYZ H.V] /Dest (3470) cvn H.B /DEST pdfmark end
- -30 5136 a 1629 x
-FU(The)2825 6765 y
-SDict begin H.S end
- 2825 6765 a 2825 6765 a
-SDict begin 18.2 H.A end
- 2825 6765
-a 2825 6765 a
-SDict begin [ /View [/XYZ H.V] /Dest (3471) cvn H.B /DEST pdfmark end
- 2825 6765 a FP(pwd)444 b FU(command)g(is)h(used)f(to)h
-(sho)-39 b(w)445 b(your)f(current)h(location.)f(T)-124
-b(o)445 b(use)g(the)42987 6765 y
-SDict begin H.S end
- 42987 6765 a 42987 6765
-a
-SDict begin 18.2 H.A end
- 42987 6765 a 42987 6765 a
-SDict begin [ /View [/XYZ H.V] /Dest (3472) cvn H.B /DEST pdfmark end
- 42987 6765 a FP(pwd)g FU(command)-30
-8780 y(just)387 b(type)5653 8780 y
-SDict begin H.S end
- 5653 8780 a 5653 8780
-a
-SDict begin 18.2 H.A end
- 5653 8780 a 5653 8780 a
-SDict begin [ /View [/XYZ H.V] /Dest (3473) cvn H.B /DEST pdfmark end
- 5653 8780 a FP(pwd)p FU(.)g(F)-23
-b(or)387 b(e)-23 b(xample:)-30 10665 y
-SDict begin H.S end
- -30 10665 a -30
-10665 a
-SDict begin 14.56 H.A end
- -30 10665 a -30 10665 a
-SDict begin [ /View [/XYZ H.V] /Dest (3474) cvn H.B /DEST pdfmark end
- -30 10665 a -30 10665
-a
-SDict begin H.S end
- -30 10665 a -30 10665 a
-SDict begin 14.56 H.A end
- -30 10665 a -30 10665 a
-SDict begin [ /View [/XYZ H.V] /Dest (3475) cvn H.B /DEST pdfmark end
- -30
-10665 a 1276 x FJ(\045)1309 11941 y
-SDict begin H.S end
- 1309 11941 a 1309
-11941 a
-SDict begin 14.56 H.A end
- 1309 11941 a 1309 11941 a
-SDict begin [ /View [/XYZ H.V] /Dest (3476) cvn H.B /DEST pdfmark end
- 1309 11941 a FH(cd)744
-b(/bin)-30 12032 y
-SDict begin H.S end
- -30 12032 a -30 12032 a
-SDict begin 14.56 H.A end
- -30 12032
-a -30 12032 a
-SDict begin [ /View [/XYZ H.V] /Dest (3477) cvn H.B /DEST pdfmark end
- -30 12032 a 1521 x FJ(\045)1309 13553 y
-SDict begin H.S end
-
-1309 13553 a 1309 13553 a
-SDict begin 14.56 H.A end
- 1309 13553 a 1309 13553 a
-SDict begin [ /View [/XYZ H.V] /Dest (3478) cvn H.B /DEST pdfmark end
- 1309
-13553 a FH(pwd)-30 15165 y FP(/bin)-30 15263 y
-SDict begin H.S end
- -30 15263
-a -30 15263 a
-SDict begin 14.56 H.A end
- -30 15263 a -30 15263 a
-SDict begin [ /View [/XYZ H.V] /Dest (3479) cvn H.B /DEST pdfmark end
- -30 15263 a 1514
-x FJ(\045)1309 16777 y
-SDict begin H.S end
- 1309 16777 a 1309 16777 a
-SDict begin 14.56 H.A end
- 1309
-16777 a 1309 16777 a
-SDict begin [ /View [/XYZ H.V] /Dest (3480) cvn H.B /DEST pdfmark end
- 1309 16777 a FH(cd)g(/usr)-30 16868
-y
-SDict begin H.S end
- -30 16868 a -30 16868 a
-SDict begin 14.56 H.A end
- -30 16868 a -30 16868 a
-SDict begin [ /View [/XYZ H.V] /Dest (3481) cvn H.B /DEST pdfmark end
- -30
-16868 a 1520 x FJ(\045)1309 18388 y
-SDict begin H.S end
- 1309 18388 a 1309
-18388 a
-SDict begin 14.56 H.A end
- 1309 18388 a 1309 18388 a
-SDict begin [ /View [/XYZ H.V] /Dest (3482) cvn H.B /DEST pdfmark end
- 1309 18388 a FH(cd)g(bin)-30
-18413 y
-SDict begin H.S end
- -30 18413 a -30 18413 a
-SDict begin 14.56 H.A end
- -30 18413 a -30 18413
-a
-SDict begin [ /View [/XYZ H.V] /Dest (3483) cvn H.B /DEST pdfmark end
- -30 18413 a 1587 x FJ(\045)1309 20000 y
-SDict begin H.S end
- 1309 20000
-a 1309 20000 a
-SDict begin 14.56 H.A end
- 1309 20000 a 1309 20000 a
-SDict begin [ /View [/XYZ H.V] /Dest (3484) cvn H.B /DEST pdfmark end
- 1309 20000 a
-FH(pwd)-30 21612 y FP(/usr/bin)-30 24809 y
-SDict begin H.S end
- -30 24809
-a -30 24809 a
-SDict begin 18.2 H.A end
- -30 24809 a -30 24809 a
-SDict begin [ /View [/XYZ H.V] /Dest (FILE-COMMANDS-PAGERS) cvn H.B
-/DEST pdfmark end
- -30 24809 a 6027
-x FL(10.2)620 b(P)-67 b(a)-22 b(g)22 b(er)-33 b(s:)620
-b Fq(more)84 b FL(,)619 b Fq(less)61 b FL(,)621 b(and)e
-Fq(most)-30 31332 y
-SDict begin H.S end
- -30 31332 a -30 31332 a
-SDict begin 18.2 H.A end
- -30 31332
-a -30 31332 a
-SDict begin [ /View [/XYZ H.V] /Dest (3490) cvn H.B /DEST pdfmark end
- -30 31332 a 4866 x FF(more)-30 36221 y
-SDict begin H.S end
-
--30 36221 a -30 36221 a
-SDict begin 18.2 H.A end
- -30 36221 a -30 36221 a
-SDict begin [ /View [/XYZ H.V] /Dest (3493) cvn H.B /DEST pdfmark end
- -30 36221
-a -30 36221 a
-SDict begin H.S end
- -30 36221 a -30 36221 a
-SDict begin 18.2 H.A end
- -30 36221 a -30
-36221 a
-SDict begin [ /View [/XYZ H.V] /Dest (3495) cvn H.B /DEST pdfmark end
- -30 36221 a -30 37151 a
-SDict begin H.S end
- -30 37151 a -30 37151
-a
-SDict begin 18.2 H.A end
- -30 37151 a -30 37151 a
-SDict begin [ /View [/XYZ H.V] /Dest (3498) cvn H.B /DEST pdfmark end
- -30 37151 a -30 37151 a
-SDict begin H.S end
- -30
-37151 a -30 37151 a
-SDict begin 18.2 H.A end
- -30 37151 a -30 37151 a
-SDict begin [ /View [/XYZ H.V] /Dest (3499) cvn H.B /DEST pdfmark end
- -30 37151
-a 1992 x FP(more)p FU(\(1\))497 b(is)h(what)f(we)h(call)f(a)h(pager)f
-(utility)-101 b(.)498 b(Oftentimes)e(the)i(output)f(of)g(a)h
-(particular)f(com-)-30 41157 y(mand)412 b(is)g(too)f(big)h(to)g(\002t)f
-(on)h(one)g(screen.)h(The)f(indi)-39 b(vidual)411 b(commands)g(do)h
-(not)f(kno)-39 b(w)412 b(ho)-39 b(w)412 b(to)-30 43172
-y(\002t)387 b(their)g(output)g(to)g(separate)g(screens.)h(The)-23
-b(y)387 b(lea)-31 b(v)-23 b(e)387 b(this)g(job)g(to)g(the)g(pager)g
-(utility)-101 b(.)-30 44282 y
-SDict begin H.S end
- -30 44282 a -30 44282 a
-SDict begin 18.2 H.A end
-
--30 44282 a -30 44282 a
-SDict begin [ /View [/XYZ H.V] /Dest (3500) cvn H.B /DEST pdfmark end
- -30 44282 a 1679 x FU(The)2869
-45961 y
-SDict begin H.S end
- 2869 45961 a 2869 45961 a
-SDict begin 18.2 H.A end
- 2869 45961 a 2869 45961
-a
-SDict begin [ /View [/XYZ H.V] /Dest (3501) cvn H.B /DEST pdfmark end
- 2869 45961 a FP(more)489 b FU(command)f(breaks)h(the)g(output)f(into)
-g(indi)-39 b(vidual)488 b(screens)h(and)g(w)-15 b(aits)488
-b(for)h(you)g(to)-30 47976 y(press)474 b(the)g(space)f(bar)h(before)g
-(continuing)f(on)h(to)g(the)f(ne)-23 b(xt)474 b(screen.)g(Pressing)f
-(the)h(enter)g(k)-15 b(e)-23 b(y)-30 49991 y(will)387
-b(adv)-39 b(ance)388 b(the)f(output)f(one)i(line.)f(Here)h(is)f(a)g
-(good)g(e)-23 b(xample:)-30 51876 y
-SDict begin H.S end
- -30 51876 a -30 51876
-a
-SDict begin 14.56 H.A end
- -30 51876 a -30 51876 a
-SDict begin [ /View [/XYZ H.V] /Dest (3502) cvn H.B /DEST pdfmark end
- -30 51876 a -30 51876 a
-SDict begin H.S end
- -30
-51876 a -30 51876 a
-SDict begin 14.56 H.A end
- -30 51876 a -30 51876 a
-SDict begin [ /View [/XYZ H.V] /Dest (3503) cvn H.B /DEST pdfmark end
- -30 51876
-a 1276 x FJ(\045)1309 53152 y
-SDict begin H.S end
- 1309 53152 a 1309 53152
-a
-SDict begin 14.56 H.A end
- 1309 53152 a 1309 53152 a
-SDict begin [ /View [/XYZ H.V] /Dest (3504) cvn H.B /DEST pdfmark end
- 1309 53152 a FH(cd)744 b(/usr/bin)-30
-53243 y
-SDict begin H.S end
- -30 53243 a -30 53243 a
-SDict begin 14.56 H.A end
- -30 53243 a -30 53243
-a
-SDict begin [ /View [/XYZ H.V] /Dest (3505) cvn H.B /DEST pdfmark end
- -30 53243 a 1521 x FJ(\045)1309 54764 y
-SDict begin H.S end
- 1309 54764
-a 1309 54764 a
-SDict begin 14.56 H.A end
- 1309 54764 a 1309 54764 a
-SDict begin [ /View [/XYZ H.V] /Dest (3506) cvn H.B /DEST pdfmark end
- 1309 54764 a
-FH(ls)g(-l)-30 56339 y
-SDict begin H.S end
- -30 56339 a -30 56339 a
-SDict begin 18.2 H.A end
- -30 56339
-a -30 56339 a
-SDict begin [ /View [/XYZ H.V] /Dest (3507) cvn H.B /DEST pdfmark end
- -30 56339 a 1989 x FU(That)437 b(should)f(scroll)h(for)g
-(a)g(while.)h(T)-124 b(o)437 b(break)g(up)g(the)g(output)f(screen)h(by)
-g(screen,)h(just)e(pipe)h(it)-30 60343 y(through)387
-b(more:)-30 62228 y
-SDict begin H.S end
- -30 62228 a -30 62228 a
-SDict begin 14.56 H.A end
- -30 62228
-a -30 62228 a
-SDict begin [ /View [/XYZ H.V] /Dest (3508) cvn H.B /DEST pdfmark end
- -30 62228 a -30 62228 a
-SDict begin H.S end
- -30 62228 a -30
-62228 a
-SDict begin 14.56 H.A end
- -30 62228 a -30 62228 a
-SDict begin [ /View [/XYZ H.V] /Dest (3509) cvn H.B /DEST pdfmark end
- -30 62228 a 1277 x FJ(\045)1309
-63505 y
-SDict begin H.S end
- 1309 63505 a 1309 63505 a
-SDict begin 14.56 H.A end
- 1309 63505 a 1309 63505
-a
-SDict begin [ /View [/XYZ H.V] /Dest (3510) cvn H.B /DEST pdfmark end
- 1309 63505 a FH(ls)744 b(-l)f(|)h(more)p Black -30
-73792 a FR(124)p Black eop end
-%%Page: 125 147
-TeXDict begin 125 146 bop -8000 -8000 a
-SDict begin /product where{pop product(Distiller)search{pop pop pop
-version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
-closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
-grestore}if}{pop}ifelse}{pop}ifelse}if end
- -8000 -8000 a
-Black 0 TeXcolorgray -30 -1237 a
-SDict begin H.S end
- -30 -1237 a 0 TeXcolorgray
-0 TeXcolorgray -30 -1237 a
-SDict begin H.R end
- -30 -1237 a -30 -1237 a
-SDict begin [ /View [/XYZ H.V] /Dest (page.125) cvn H.B /DEST pdfmark
-end
- -30
--1237 a Black -30 -2687 a
-SDict begin H.S end
- -30 -2687 a -30 -2687 a
-SDict begin 18.2 H.A end
- -30
--2687 a -30 -2687 a
-SDict begin [ /View [/XYZ H.V] /Dest (3569) cvn H.B /DEST pdfmark end
- -30 -2687 a 24998 -1636 a FR(Chapter)387
-b(10)g(Handling)f(F)-70 b(iles)387 b(and)g(Dir)-57 b(ectories)p
-Black -30 2504 a
-SDict begin H.S end
- -30 2504 a -30 2504 a
-SDict begin 18.2 H.A end
- -30 2504 a -30
-2504 a
-SDict begin [ /View [/XYZ H.V] /Dest (3511) cvn H.B /DEST pdfmark end
- -30 2504 a 1107 x FU(That)569 b(is)f(the)h(pipe)g(character)g
-(\(shift)f(backslash\).)h(The)g(pipe)f(is)h(short)g(for)f(saying)h(tak)
--15 b(e)568 b(the)-30 5626 y(output)560 b(of)6343 5626
-y
-SDict begin H.S end
- 6343 5626 a 6343 5626 a
-SDict begin 18.2 H.A end
- 6343 5626 a 6343 5626 a
-SDict begin [ /View [/XYZ H.V] /Dest (3512) cvn H.B /DEST pdfmark end
- 6343
-5626 a FP(ls)h FU(and)f(feed)h(it)f(into)18812 5626 y
-SDict begin H.S end
-
-18812 5626 a 18812 5626 a
-SDict begin 18.2 H.A end
- 18812 5626 a 18812 5626 a
-SDict begin [ /View [/XYZ H.V] /Dest (3513) cvn H.B /DEST pdfmark end
- 18812
-5626 a FP(more)p FU(.)g(Y)-170 b(ou)560 b(can)h(pipe)f(just)g(about)g
-(an)-23 b(ything)559 b(through)h(the)-30 7640 y
-SDict begin H.S end
- -30 7640
-a -30 7640 a
-SDict begin 18.2 H.A end
- -30 7640 a -30 7640 a
-SDict begin [ /View [/XYZ H.V] /Dest (3514) cvn H.B /DEST pdfmark end
- -30 7640 a FP(more)387
-b FU(command,)g(not)g(just)15215 7640 y
-SDict begin H.S end
- 15215 7640 a
-15215 7640 a
-SDict begin 18.2 H.A end
- 15215 7640 a 15215 7640 a
-SDict begin [ /View [/XYZ H.V] /Dest (3515) cvn H.B /DEST pdfmark end
- 15215 7640 a FP(ls)p
-FU(.)g(Piping)g(is)g(also)g(co)-23 b(v)g(ered)387 b(in)p
-0 TeXcolorgray 33057 7640 a
-SDict begin H.S end
- 33057 7640 a FU(Section)g(8.2.3)41193
-7640 y
-SDict begin 18.2 H.L end
- 41193 7640 a 41193 7640 a
-SDict begin [ /Subtype /Link /Dest (SHELL-COMMAND-LINE-PIPING) cvn
-/H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 41193 7640 a Black FU(.)-30
-8751 y
-SDict begin H.S end
- -30 8751 a -30 8751 a
-SDict begin 18.2 H.A end
- -30 8751 a -30 8751 a
-SDict begin [ /View [/XYZ H.V] /Dest (3517) cvn H.B /DEST pdfmark end
- -30
-8751 a 5181 x FF(less)-30 14885 y
-SDict begin H.S end
- -30 14885 a -30 14885
-a
-SDict begin 18.2 H.A end
- -30 14885 a -30 14885 a
-SDict begin [ /View [/XYZ H.V] /Dest (3520) cvn H.B /DEST pdfmark end
- -30 14885 a 1992 x FU(The)2812
-16877 y
-SDict begin H.S end
- 2812 16877 a 2812 16877 a
-SDict begin 18.2 H.A end
- 2812 16877 a 2812 16877
-a
-SDict begin [ /View [/XYZ H.V] /Dest (3521) cvn H.B /DEST pdfmark end
- 2812 16877 a FP(more)432 b FU(command)g(is)g(quite)f(handy)-101
-b(,)433 b(b)-31 b(ut)24651 16877 y
-SDict begin H.S end
- 24651 16877 a 24651
-16877 a
-SDict begin 18.2 H.A end
- 24651 16877 a 24651 16877 a
-SDict begin [ /View [/XYZ H.V] /Dest (3522) cvn H.B /DEST pdfmark end
- 24651 16877 a 432
-w FU(often)432 b(you)g(will)g(\002nd)g(that)g(you)g(ha)-31
-b(v)-23 b(e)432 b(adv)-39 b(anced)-30 18892 y(past)470
-b(the)g(screen)g(you)g(w)-15 b(anted.)469 b(more)h(does)g(not)g(pro)-23
-b(vide)469 b(a)i(w)-15 b(ay)469 b(to)h(go)g(back.)g(The)46993
-18892 y
-SDict begin H.S end
- 46993 18892 a 46993 18892 a
-SDict begin 18.2 H.A end
- 46993 18892 a 46993
-18892 a
-SDict begin [ /View [/XYZ H.V] /Dest (3525) cvn H.B /DEST pdfmark end
- 46993 18892 a FP(less)p FU(\(1\))-30 20906 y(command)493
-b(pro)-23 b(vides)493 b(this)h(functionality)-101 b(.)493
-b(It)h(is)g(used)f(in)h(the)g(same)g(w)-15 b(ay)493 b(as)h(the)45122
-20906 y
-SDict begin H.S end
- 45122 20906 a 45122 20906 a
-SDict begin 18.2 H.A end
- 45122 20906 a 45122
-20906 a
-SDict begin [ /View [/XYZ H.V] /Dest (3526) cvn H.B /DEST pdfmark end
- 45122 20906 a FP(more)f FU(com-)-30 22921 y(mand,)476
-b(so)f(the)h(pre)-39 b(vious)475 b(e)-23 b(xamples)475
-b(apply)g(here)h(too.)g(So,)32985 22921 y
-SDict begin H.S end
- 32985 22921
-a 32985 22921 a
-SDict begin 18.2 H.A end
- 32985 22921 a 32985 22921 a
-SDict begin [ /View [/XYZ H.V] /Dest (3527) cvn H.B /DEST pdfmark end
- 32985 22921
-a FP(less)g FU(is)f(more)h(than)44751 22921 y
-SDict begin H.S end
- 44751 22921
-a 44751 22921 a
-SDict begin 18.2 H.A end
- 44751 22921 a 44751 22921 a
-SDict begin [ /View [/XYZ H.V] /Dest (3528) cvn H.B /DEST pdfmark end
- 44751 22921
-a FP(more)p FU(.)g(Joost)-30 24936 y(Kremers)387 b(puts)g(it)g(this)g
-(w)-15 b(ay:)-30 25271 y
-SDict begin H.S end
- -30 25271 a -30 25271 a
-SDict begin 18.2 H.A end
- -30
-25271 a -30 25271 a
-SDict begin [ /View [/XYZ H.V] /Dest (3529) cvn H.B /DEST pdfmark end
- -30 25271 a -30 26821 a
-SDict begin H.S end
- -30 26821
-a -30 26821 a
-SDict begin 16.38 H.A end
- -30 26821 a -30 26821 a
-SDict begin [ /View [/XYZ H.V] /Dest (3530) cvn H.B /DEST pdfmark end
- -30 26821 a -30
-26821 a
-SDict begin H.S end
- -30 26821 a -30 26821 a
-SDict begin 16.38 H.A end
- -30 26821 a -30 26821
-a
-SDict begin [ /View [/XYZ H.V] /Dest (3531) cvn H.B /DEST pdfmark end
- -30 26821 a 1520 28299 a Fk(less)353 b FW(is)d(more,)i(b)-28
-b(ut)352 b(more)14719 28299 y
-SDict begin H.S end
- 14719 28299 a 14719 28299
-a
-SDict begin 16.38 H.A end
- 14719 28299 a 14719 28299 a
-SDict begin [ /View [/XYZ H.V] /Dest (3532) cvn H.B /DEST pdfmark end
- 14719 28299 a Fk(more)h
-FW(than)20501 28299 y
-SDict begin H.S end
- 20501 28299 a 20501 28299 a
-SDict begin 16.38 H.A end
- 20501
-28299 a 20501 28299 a
-SDict begin [ /View [/XYZ H.V] /Dest (3533) cvn H.B /DEST pdfmark end
- 20501 28299 a Fk(more)g FW(is,)d(so)26751
-28299 y
-SDict begin H.S end
- 26751 28299 a 26751 28299 a
-SDict begin 16.38 H.A end
- 26751 28299 a 26751
-28299 a
-SDict begin [ /View [/XYZ H.V] /Dest (3534) cvn H.B /DEST pdfmark end
- 26751 28299 a Fk(more)k FW(is)c(less)33505 28299
-y
-SDict begin H.S end
- 33505 28299 a 33505 28299 a
-SDict begin 16.38 H.A end
- 33505 28299 a 33505 28299
-a
-SDict begin [ /View [/XYZ H.V] /Dest (3535) cvn H.B /DEST pdfmark end
- 33505 28299 a Fk(less)p FW(,)j(so)e(use)g(more)43902
-28299 y
-SDict begin H.S end
- 43902 28299 a 43902 28299 a
-SDict begin 16.38 H.A end
- 43902 28299 a 43902
-28299 a
-SDict begin [ /View [/XYZ H.V] /Dest (3536) cvn H.B /DEST pdfmark end
- 43902 28299 a Fk(less)i FW(if)e(you)1520 30112
-y(w)-14 b(ant)349 b(less)7007 30112 y
-SDict begin H.S end
- 7007 30112 a 7007
-30112 a
-SDict begin 16.38 H.A end
- 7007 30112 a 7007 30112 a
-SDict begin [ /View [/XYZ H.V] /Dest (3537) cvn H.B /DEST pdfmark end
- 7007 30112 a Fk(more)p
-FW(.)-30 30135 y
-SDict begin H.S end
- -30 30135 a -30 30135 a
-SDict begin 18.2 H.A end
- -30 30135 a
--30 30135 a
-SDict begin [ /View [/XYZ H.V] /Dest (3538) cvn H.B /DEST pdfmark end
- -30 30135 a 5494 x FF(most)-30 35652 y
-SDict begin H.S end
- -30
-35652 a -30 35652 a
-SDict begin 18.2 H.A end
- -30 35652 a -30 35652 a
-SDict begin [ /View [/XYZ H.V] /Dest (3541) cvn H.B /DEST pdfmark end
- -30 35652
-a -30 36582 a
-SDict begin H.S end
- -30 36582 a -30 36582 a
-SDict begin 18.2 H.A end
- -30 36582 a -30
-36582 a
-SDict begin [ /View [/XYZ H.V] /Dest (3544) cvn H.B /DEST pdfmark end
- -30 36582 a 1991 x FU(Where)4563 38573 y
-SDict begin H.S end
- 4563
-38573 a 4563 38573 a
-SDict begin 18.2 H.A end
- 4563 38573 a 4563 38573 a
-SDict begin [ /View [/XYZ H.V] /Dest (3545) cvn H.B /DEST pdfmark end
- 4563 38573
-a FP(more)462 b FU(and)10702 38573 y
-SDict begin H.S end
- 10702 38573 a 10702
-38573 a
-SDict begin 18.2 H.A end
- 10702 38573 a 10702 38573 a
-SDict begin [ /View [/XYZ H.V] /Dest (3546) cvn H.B /DEST pdfmark end
- 10702 38573 a FP(less)g
-FU(lea)-31 b(v)-23 b(e)462 b(of)-39 b(f,)20437 38573
-y
-SDict begin H.S end
- 20437 38573 a 20437 38573 a
-SDict begin 18.2 H.A end
- 20437 38573 a 20437 38573
-a
-SDict begin [ /View [/XYZ H.V] /Dest (3547) cvn H.B /DEST pdfmark end
- 20437 38573 a FP(most)p FU(\(1\))462 b(picks)g(back)h(up.)g(If)36699
-38573 y
-SDict begin H.S end
- 36699 38573 a 36699 38573 a
-SDict begin 18.2 H.A end
- 36699 38573 a 36699
-38573 a
-SDict begin [ /View [/XYZ H.V] /Dest (3548) cvn H.B /DEST pdfmark end
- 36699 38573 a FP(less)g FU(is)f(more)h(than)48413
-38573 y
-SDict begin H.S end
- 48413 38573 a 48413 38573 a
-SDict begin 18.2 H.A end
- 48413 38573 a 48413
-38573 a
-SDict begin [ /View [/XYZ H.V] /Dest (3549) cvn H.B /DEST pdfmark end
- 48413 38573 a FP(more)p FU(,)-30 40588 y
-SDict begin H.S end
- -30
-40588 a -30 40588 a
-SDict begin 18.2 H.A end
- -30 40588 a -30 40588 a
-SDict begin [ /View [/XYZ H.V] /Dest (3550) cvn H.B /DEST pdfmark end
- -30 40588
-a FP(most)342 b FU(is)h(more)f(than)11204 40588 y
-SDict begin H.S end
- 11204
-40588 a 11204 40588 a
-SDict begin 18.2 H.A end
- 11204 40588 a 11204 40588 a
-SDict begin [ /View [/XYZ H.V] /Dest (3551) cvn H.B /DEST pdfmark end
- 11204
-40588 a FP(less)p FU(.)g(Whereas)h(the)g(other)f(pagers)h(can)f(only)h
-(display)f(one)g(\002le)g(at)h(a)g(time,)-30 42603 y
-SDict begin H.S end
-
--30 42603 a -30 42603 a
-SDict begin 18.2 H.A end
- -30 42603 a -30 42603 a
-SDict begin [ /View [/XYZ H.V] /Dest (3552) cvn H.B /DEST pdfmark end
- -30 42603
-a FP(most)456 b FU(is)h(capable)g(of)g(vie)-39 b(wing)456
-b(an)-23 b(y)456 b(number)h(of)f(\002les,)h(as)g(long)f(as)h(each)g
-(\002le')-85 b(s)456 b(windo)-39 b(w)456 b(is)h(at)-30
-44617 y(least)387 b(2)g(lines)g(long.)11206 44617 y
-SDict begin H.S end
- 11206
-44617 a 11206 44617 a
-SDict begin 18.2 H.A end
- 11206 44617 a 11206 44617 a
-SDict begin [ /View [/XYZ H.V] /Dest (3553) cvn H.B /DEST pdfmark end
- 11206
-44617 a FP(most)g FU(has)g(a)g(lot)g(of)h(options,)e(check)i(the)f(man)
-g(page)g(for)h(full)f(details.)-30 47277 y
-SDict begin H.S end
- -30 47277
-a -30 47277 a
-SDict begin 18.2 H.A end
- -30 47277 a -30 47277 a
-SDict begin [ /View [/XYZ H.V] /Dest (FILE-COMMANDS-OUTPUT) cvn H.B
-/DEST pdfmark end
- -30 47277 a 5790
-x FL(10.3)620 b(Simple)h(Output:)e Fq(cat)820 b FL(and)619
-b Fq(ec)-22 b(ho)-30 53528 y
-SDict begin H.S end
- -30 53528 a -30 53528 a
-SDict begin 18.2 H.A end
-
--30 53528 a -30 53528 a
-SDict begin [ /View [/XYZ H.V] /Dest (3558) cvn H.B /DEST pdfmark end
- -30 53528 a 4901 x FF(cat)-30
-59382 y
-SDict begin H.S end
- -30 59382 a -30 59382 a
-SDict begin 18.2 H.A end
- -30 59382 a -30 59382
-a
-SDict begin [ /View [/XYZ H.V] /Dest (3561) cvn H.B /DEST pdfmark end
- -30 59382 a -30 59382 a
-SDict begin H.S end
- -30 59382 a -30 59382 a
-SDict begin 18.2 H.A end
- -30
-59382 a -30 59382 a
-SDict begin [ /View [/XYZ H.V] /Dest (3562) cvn H.B /DEST pdfmark end
- -30 59382 a 1991 x FP(cat)p FU(\(1\))425
-b(is)f(short)h(for)11649 61373 y
-SDict begin H.S end
- 11649 61373 a 11649
-61373 a
-SDict begin 18.2 H.A end
- 11649 61373 a 11649 61373 a
-SDict begin [ /View [/XYZ H.V] /Dest (3563) cvn H.B /DEST pdfmark end
- 11649 61373 a FU
-(\223concatenate\224.)g(It)g(w)-15 b(as)424 b(originally)g(designed)g
-(to)h(mer)-28 b(ge)425 b(te)-23 b(xt)424 b(\002les)g(into)-30
-63388 y(one,)388 b(b)-31 b(ut)387 b(can)g(be)h(used)f(for)g(man)-23
-b(y)387 b(other)g(purposes.)-30 64498 y
-SDict begin H.S end
- -30 64498 a -30
-64498 a
-SDict begin 18.2 H.A end
- -30 64498 a -30 64498 a
-SDict begin [ /View [/XYZ H.V] /Dest (3564) cvn H.B /DEST pdfmark end
- -30 64498 a 1679 x FU(T)-124
-b(o)351 b(mer)-28 b(ge)351 b(tw)-15 b(o)350 b(or)g(more)h(\002les)f
-(into)g(one,)h(you)g(simply)f(list)g(the)34362 66177
-y
-SDict begin H.S end
- 34362 66177 a 34362 66177 a
-SDict begin 18.2 H.A end
- 34362 66177 a 34362 66177
-a
-SDict begin [ /View [/XYZ H.V] /Dest (3565) cvn H.B /DEST pdfmark end
- 34362 66177 a 350 w FU(\002les)h(after)g(the)43081
-66177 y
-SDict begin H.S end
- 43081 66177 a 43081 66177 a
-SDict begin 18.2 H.A end
- 43081 66177 a 43081
-66177 a
-SDict begin [ /View [/XYZ H.V] /Dest (3567) cvn H.B /DEST pdfmark end
- 43081 66177 a FP(cat)g FU(command)-30 68192 y(and)321
-b(then)h(redirect)f(the)g(ne)-39 b(w)322 b(output)e(to)i(a)f(\002le.)
-25163 68192 y
-SDict begin H.S end
- 25163 68192 a 25163 68192 a
-SDict begin 18.2 H.A end
- 25163 68192
-a 25163 68192 a
-SDict begin [ /View [/XYZ H.V] /Dest (3568) cvn H.B /DEST pdfmark end
- 25163 68192 a FP(cat)g FU(w)-15 b(orks)320
-b(with)h(standard)g(input)g(and)g(standard)p Black 49451
-73792 a FR(125)p Black eop end
-%%Page: 126 148
-TeXDict begin 126 147 bop -8000 -8000 a
-SDict begin /product where{pop product(Distiller)search{pop pop pop
-version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
-closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
-grestore}if}{pop}ifelse}{pop}ifelse}if end
- -8000 -8000 a
-Black 0 TeXcolorgray -30 -1237 a
-SDict begin H.S end
- -30 -1237 a 0 TeXcolorgray
-0 TeXcolorgray -30 -1237 a
-SDict begin H.R end
- -30 -1237 a -30 -1237 a
-SDict begin [ /View [/XYZ H.V] /Dest (page.126) cvn H.B /DEST pdfmark
-end
- -30
--1237 a Black -399 x FR(Chapter)387 b(10)g(Handling)f(F)-70
-b(iles)387 b(and)g(Dir)-57 b(ectories)p Black -30 3611
-a FU(output,)387 b(so)g(you)g(ha)-31 b(v)-23 b(e)387
-b(to)h(use)f(the)g(shell)g(redirection)g(characters.)h(F)-23
-b(or)386 b(e)-23 b(xample:)-30 6773 y FJ(\045)1309 6773
-y
-SDict begin H.S end
- 1309 6773 a 1309 6773 a
-SDict begin 14.56 H.A end
- 1309 6773 a 1309 6773 a
-SDict begin [ /View [/XYZ H.V] /Dest (3571) cvn H.B /DEST pdfmark end
- 1309
-6773 a FH(cat)744 b(file1)f(file2)g(file3)g FK(>)h FH(bigfile)-30
-8490 y
-SDict begin H.S end
- -30 8490 a -30 8490 a
-SDict begin 18.2 H.A end
- -30 8490 a -30 8490 a
-SDict begin [ /View [/XYZ H.V] /Dest (3572) cvn H.B /DEST pdfmark end
- -30
-8490 a 1847 x FU(This)323 b(command)g(tak)-15 b(es)323
-b(the)h(contents)f(of)22300 10337 y
-SDict begin H.S end
- 22300 10337 a 22300
-10337 a
-SDict begin 18.2 H.A end
- 22300 10337 a 22300 10337 a
-SDict begin [ /View [/XYZ H.V] /Dest (3573) cvn H.B /DEST pdfmark end
- 22300 10337 a FQ(file1)p
-FU(,)26143 10337 y
-SDict begin H.S end
- 26143 10337 a 26143 10337 a
-SDict begin 18.2 H.A end
- 26143
-10337 a 26143 10337 a
-SDict begin [ /View [/XYZ H.V] /Dest (3574) cvn H.B /DEST pdfmark end
- 26143 10337 a FQ(file2)p FU(,)e(and)32547
-10337 y
-SDict begin H.S end
- 32547 10337 a 32547 10337 a
-SDict begin 18.2 H.A end
- 32547 10337 a 32547
-10337 a
-SDict begin [ /View [/XYZ H.V] /Dest (3575) cvn H.B /DEST pdfmark end
- 32547 10337 a FQ(file3)g FU(and)j(mer)-28 b(ges)323
-b(it)h(all)f(together)-85 b(.)-30 12352 y(The)387 b(ne)-39
-b(w)388 b(output)e(is)i(sent)f(to)g(standard)g(out.)-30
-13462 y
-SDict begin H.S end
- -30 13462 a -30 13462 a
-SDict begin 18.2 H.A end
- -30 13462 a -30 13462
-a
-SDict begin [ /View [/XYZ H.V] /Dest (3576) cvn H.B /DEST pdfmark end
- -30 13462 a 1679 x FU(One)443 b(can)h(also)f(use)11039
-15141 y
-SDict begin H.S end
- 11039 15141 a 11039 15141 a
-SDict begin 18.2 H.A end
- 11039 15141 a 11039
-15141 a
-SDict begin [ /View [/XYZ H.V] /Dest (3577) cvn H.B /DEST pdfmark end
- 11039 15141 a FP(cat)g FU(to)g(display)20284
-15141 y
-SDict begin H.S end
- 20284 15141 a 20284 15141 a
-SDict begin 18.2 H.A end
- 20284 15141 a 20284
-15141 a
-SDict begin [ /View [/XYZ H.V] /Dest (3578) cvn H.B /DEST pdfmark end
- 20284 15141 a 443 w FU(\002les.)g(Man)-23 b(y)443
-b(people)32752 15141 y
-SDict begin H.S end
- 32752 15141 a 32752 15141 a
-SDict begin 18.2 H.A end
- 32752
-15141 a 32752 15141 a
-SDict begin [ /View [/XYZ H.V] /Dest (3581) cvn H.B /DEST pdfmark end
- 32752 15141 a FP(cat)g FU(te)-23
-b(xt)443 b(\002les)g(through)f(the)48800 15141 y
-SDict begin H.S end
- 48800
-15141 a 48800 15141 a
-SDict begin 18.2 H.A end
- 48800 15141 a 48800 15141 a
-SDict begin [ /View [/XYZ H.V] /Dest (3582) cvn H.B /DEST pdfmark end
- 48800
-15141 a FP(more)-30 17156 y FU(or)1648 17156 y
-SDict begin H.S end
- 1648 17156
-a 1648 17156 a
-SDict begin 18.2 H.A end
- 1648 17156 a 1648 17156 a
-SDict begin [ /View [/XYZ H.V] /Dest (3583) cvn H.B /DEST pdfmark end
- 1648 17156 a
-FP(less)387 b FU(commands,)g(lik)-15 b(e)387 b(this:)-30
-18930 y
-SDict begin H.S end
- -30 18930 a -30 18930 a
-SDict begin 14.56 H.A end
- -30 18930 a -30 18930
-a
-SDict begin [ /View [/XYZ H.V] /Dest (3584) cvn H.B /DEST pdfmark end
- -30 18930 a -30 18930 a
-SDict begin H.S end
- -30 18930 a -30 18930 a
-SDict begin 14.56 H.A end
- -30
-18930 a -30 18930 a
-SDict begin [ /View [/XYZ H.V] /Dest (3585) cvn H.B /DEST pdfmark end
- -30 18930 a 1387 x FJ(\045)1309 20317
-y
-SDict begin H.S end
- 1309 20317 a 1309 20317 a
-SDict begin 14.56 H.A end
- 1309 20317 a 1309 20317 a
-SDict begin [ /View [/XYZ H.V] /Dest (3586) cvn H.B /DEST pdfmark end
-
-1309 20317 a FH(cat)744 b(file1)f(|)h(more)-30 22177
-y
-SDict begin H.S end
- -30 22177 a -30 22177 a
-SDict begin 18.2 H.A end
- -30 22177 a -30 22177 a
-SDict begin [ /View [/XYZ H.V] /Dest (3587) cvn H.B /DEST pdfmark end
- -30
-22177 a 1705 x FU(That)498 b(will)f(display)h(the)13586
-23882 y
-SDict begin H.S end
- 13586 23882 a 13586 23882 a
-SDict begin 18.2 H.A end
- 13586 23882 a 13586
-23882 a
-SDict begin [ /View [/XYZ H.V] /Dest (3588) cvn H.B /DEST pdfmark end
- 13586 23882 a FQ(file1)d FU(\002le)j(and)g(pipe)f(it)h(through)
-g(the)34669 23882 y
-SDict begin H.S end
- 34669 23882 a 34669 23882 a
-SDict begin 18.2 H.A end
- 34669
-23882 a 34669 23882 a
-SDict begin [ /View [/XYZ H.V] /Dest (3589) cvn H.B /DEST pdfmark end
- 34669 23882 a FP(more)f FU(command)h(so)f(that)h
-(you)-30 25896 y(only)387 b(get)g(one)g(screen)h(at)f(a)h(time.)-30
-27007 y
-SDict begin H.S end
- -30 27007 a -30 27007 a
-SDict begin 18.2 H.A end
- -30 27007 a -30 27007
-a
-SDict begin [ /View [/XYZ H.V] /Dest (3590) cvn H.B /DEST pdfmark end
- -30 27007 a 1679 x FU(Another)522 b(common)g(use)g(for)16436
-28686 y
-SDict begin H.S end
- 16436 28686 a 16436 28686 a
-SDict begin 18.2 H.A end
- 16436 28686 a 16436
-28686 a
-SDict begin [ /View [/XYZ H.V] /Dest (3591) cvn H.B /DEST pdfmark end
- 16436 28686 a FP(cat)g FU(is)g(cop)-15 b(ying)521
-b(\002les.)i(Y)-170 b(ou)522 b(can)g(cop)-15 b(y)522
-b(an)-23 b(y)522 b(\002le)g(around)g(with)-30 30701 y
-SDict begin H.S end
-
--30 30701 a -30 30701 a
-SDict begin 18.2 H.A end
- -30 30701 a -30 30701 a
-SDict begin [ /View [/XYZ H.V] /Dest (3592) cvn H.B /DEST pdfmark end
- -30 30701
-a FP(cat)p FU(,)388 b(lik)-15 b(e)386 b(this:)-30 32474
-y
-SDict begin H.S end
- -30 32474 a -30 32474 a
-SDict begin 14.56 H.A end
- -30 32474 a -30 32474 a
-SDict begin [ /View [/XYZ H.V] /Dest (3593) cvn H.B /DEST pdfmark end
- -30
-32474 a -30 32474 a
-SDict begin H.S end
- -30 32474 a -30 32474 a
-SDict begin 14.56 H.A end
- -30 32474
-a -30 32474 a
-SDict begin [ /View [/XYZ H.V] /Dest (3594) cvn H.B /DEST pdfmark end
- -30 32474 a 1388 x FJ(\045)1309 33862 y
-SDict begin H.S end
-
-1309 33862 a 1309 33862 a
-SDict begin 14.56 H.A end
- 1309 33862 a 1309 33862 a
-SDict begin [ /View [/XYZ H.V] /Dest (3595) cvn H.B /DEST pdfmark end
- 1309
-33862 a FH(cat)744 b(/bin/bash)e FK(>)i FH(~/mybash)-30
-35580 y
-SDict begin H.S end
- -30 35580 a -30 35580 a
-SDict begin 18.2 H.A end
- -30 35580 a -30 35580
-a
-SDict begin [ /View [/XYZ H.V] /Dest (3596) cvn H.B /DEST pdfmark end
- -30 35580 a 1847 x FU(The)2767 37427 y
-SDict begin H.S end
- 2767 37427 a
-2767 37427 a
-SDict begin 18.2 H.A end
- 2767 37427 a 2767 37427 a
-SDict begin [ /View [/XYZ H.V] /Dest (3597) cvn H.B /DEST pdfmark end
- 2767 37427 a FP(/bin/bash)387
-b FU(program)g(is)g(copied)g(to)g(your)g(home)g(directory)g(and)g
-(named)43206 37427 y
-SDict begin H.S end
- 43206 37427 a 43206 37427 a
-SDict begin 18.2 H.A end
- 43206
-37427 a 43206 37427 a
-SDict begin [ /View [/XYZ H.V] /Dest (3598) cvn H.B /DEST pdfmark end
- 43206 37427 a FQ(mybash)p FU(.)-30
-38537 y
-SDict begin H.S end
- -30 38537 a -30 38537 a
-SDict begin 18.2 H.A end
- -30 38537 a -30 38537
-a
-SDict begin [ /View [/XYZ H.V] /Dest (3599) cvn H.B /DEST pdfmark end
- -30 38537 a -30 38537 a
-SDict begin H.S end
- -30 38537 a -30 38537 a
-SDict begin 18.2 H.A end
- -30
-38537 a -30 38537 a
-SDict begin [ /View [/XYZ H.V] /Dest (3600) cvn H.B /DEST pdfmark end
- -30 38537 a 1679 x FP(cat)588 b FU(has)h(man)-23
-b(y)588 b(uses)g(and)h(the)f(ones)g(discussed)g(here)h(are)g(just)f(a)h
-(fe)-39 b(w)-101 b(.)589 b(Since)45011 40216 y
-SDict begin H.S end
- 45011
-40216 a 45011 40216 a
-SDict begin 18.2 H.A end
- 45011 40216 a 45011 40216 a
-SDict begin [ /View [/XYZ H.V] /Dest (3601) cvn H.B /DEST pdfmark end
- 45011
-40216 a FP(cat)g FU(mak)-15 b(es)-30 42231 y(e)-23 b(xtensi)-39
-b(v)-23 b(e)362 b(use)h(of)g(standard)g(input)f(and)h(standard)g
-(output,)g(it)f(is)h(ideal)g(for)g(use)g(in)g(shell)g(scripts)-30
-44245 y(or)387 b(part)h(of)f(other)g(comple)-23 b(x)387
-b(commands.)-30 45356 y
-SDict begin H.S end
- -30 45356 a -30 45356 a
-SDict begin 18.2 H.A end
- -30 45356
-a -30 45356 a
-SDict begin [ /View [/XYZ H.V] /Dest (3602) cvn H.B /DEST pdfmark end
- -30 45356 a 5181 x FF(ec)-19 b(ho)-30 50560
-y
-SDict begin H.S end
- -30 50560 a -30 50560 a
-SDict begin 18.2 H.A end
- -30 50560 a -30 50560 a
-SDict begin [ /View [/XYZ H.V] /Dest (3605) cvn H.B /DEST pdfmark end
- -30
-50560 a -30 51490 a
-SDict begin H.S end
- -30 51490 a -30 51490 a
-SDict begin 18.2 H.A end
- -30 51490
-a -30 51490 a
-SDict begin [ /View [/XYZ H.V] /Dest (3607) cvn H.B /DEST pdfmark end
- -30 51490 a 1992 x FU(The)2968 53482 y
-SDict begin H.S end
-
-2968 53482 a 2968 53482 a
-SDict begin 18.2 H.A end
- 2968 53482 a 2968 53482 a
-SDict begin [ /View [/XYZ H.V] /Dest (3608) cvn H.B /DEST pdfmark end
- 2968
-53482 a FP(echo)p FU(\(1\))588 b(command)g(displays)f(the)h
-(speci\002ed)g(te)-23 b(xt)588 b(on)g(the)g(screen.)h(Y)-170
-b(ou)587 b(specify)h(the)-30 55497 y(string)340 b(to)f(display)h(after)
-g(the)15617 55497 y
-SDict begin H.S end
- 15617 55497 a 15617 55497 a
-SDict begin 18.2 H.A end
- 15617
-55497 a 15617 55497 a
-SDict begin [ /View [/XYZ H.V] /Dest (3609) cvn H.B /DEST pdfmark end
- 15617 55497 a FP(echo)g FU(command.)f(By)h(def)
--15 b(ault)32549 55497 y
-SDict begin H.S end
- 32549 55497 a 32549 55497 a
-SDict begin 18.2 H.A end
-
-32549 55497 a 32549 55497 a
-SDict begin [ /View [/XYZ H.V] /Dest (3610) cvn H.B /DEST pdfmark end
- 32549 55497 a FP(echo)340
-b FU(will)f(display)h(the)g(string)f(and)-30 57511 y(print)370
-b(a)g(ne)-39 b(wline)370 b(character)g(after)g(it.)g(Y)-170
-b(ou)369 b(can)h(pass)g(the)31132 57511 y
-SDict begin H.S end
- 31132 57511
-a 31132 57511 a
-SDict begin 18.2 H.A end
- 31132 57511 a 31132 57511 a
-SDict begin [ /View [/XYZ H.V] /Dest (3611) cvn H.B /DEST pdfmark end
- 31132 57511
-a FP(-n)g FU(option)f(to)h(suppress)f(the)h(printing)-30
-59526 y(of)413 b(the)g(ne)-39 b(wline.)413 b(The)12472
-59526 y
-SDict begin H.S end
- 12472 59526 a 12472 59526 a
-SDict begin 18.2 H.A end
- 12472 59526 a 12472
-59526 a
-SDict begin [ /View [/XYZ H.V] /Dest (3612) cvn H.B /DEST pdfmark end
- 12472 59526 a FP(-e)g FU(option)g(will)f(cause)25427
-59526 y
-SDict begin H.S end
- 25427 59526 a 25427 59526 a
-SDict begin 18.2 H.A end
- 25427 59526 a 25427
-59526 a
-SDict begin [ /View [/XYZ H.V] /Dest (3613) cvn H.B /DEST pdfmark end
- 25427 59526 a FP(echo)h FU(to)g(search)g(for)g(escape)g
-(characters)g(in)g(the)-30 61541 y(string)387 b(and)g(e)-23
-b(x)g(ecute)387 b(them.)-30 64201 y
-SDict begin H.S end
- -30 64201 a -30 64201
-a
-SDict begin 18.2 H.A end
- -30 64201 a -30 64201 a
-SDict begin [ /View [/XYZ H.V] /Dest (FILE-COMMANDS-CREATION) cvn H.B
-/DEST pdfmark end
- -30 64201 a Black 9591 x FR(126)p
-Black eop end
-%%Page: 127 149
-TeXDict begin 127 148 bop -8000 -8000 a
-SDict begin /product where{pop product(Distiller)search{pop pop pop
-version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
-closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
-grestore}if}{pop}ifelse}{pop}ifelse}if end
- -8000 -8000 a
-Black 0 TeXcolorgray -30 -1237 a
-SDict begin H.S end
- -30 -1237 a 0 TeXcolorgray
-0 TeXcolorgray -30 -1237 a
-SDict begin H.R end
- -30 -1237 a -30 -1237 a
-SDict begin [ /View [/XYZ H.V] /Dest (page.127) cvn H.B /DEST pdfmark
-end
- -30
--1237 a Black 24998 -1636 a FR(Chapter)387 b(10)g(Handling)f(F)-70
-b(iles)387 b(and)g(Dir)-57 b(ectories)p Black -30 4132
-a FL(10.4)620 b(Creation:)g Fq(touc)-22 b(h)659 b FL(and)619
-b Fq(mkdir)-30 4160 y
-SDict begin H.S end
- -30 4160 a -30 4160 a
-SDict begin 18.2 H.A end
- -30 4160
-a -30 4160 a
-SDict begin [ /View [/XYZ H.V] /Dest (3618) cvn H.B /DEST pdfmark end
- -30 4160 a 5334 x FF(touc)-19 b(h)-30 9517
-y
-SDict begin H.S end
- -30 9517 a -30 9517 a
-SDict begin 18.2 H.A end
- -30 9517 a -30 9517 a
-SDict begin [ /View [/XYZ H.V] /Dest (3621) cvn H.B /DEST pdfmark end
- -30 9517
-a -30 9517 a
-SDict begin H.S end
- -30 9517 a -30 9517 a
-SDict begin 18.2 H.A end
- -30 9517 a -30 9517
-a
-SDict begin [ /View [/XYZ H.V] /Dest (3624) cvn H.B /DEST pdfmark end
- -30 9517 a -30 10447 a
-SDict begin H.S end
- -30 10447 a -30 10447 a
-SDict begin 18.2 H.A end
- -30
-10447 a -30 10447 a
-SDict begin [ /View [/XYZ H.V] /Dest (3626) cvn H.B /DEST pdfmark end
- -30 10447 a -30 10447 a
-SDict begin H.S end
- -30 10447
-a -30 10447 a
-SDict begin 18.2 H.A end
- -30 10447 a -30 10447 a
-SDict begin [ /View [/XYZ H.V] /Dest (3627) cvn H.B /DEST pdfmark end
- -30 10447 a 1992
-x FP(touch)p FU(\(1\))498 b(is)h(used)f(to)h(change)f(the)h(timestamp)e
-(on)i(a)g(\002le.)f(Y)-170 b(ou)498 b(can)h(change)g(access)g(times-)
--30 14453 y(tamps)353 b(and)g(modi\002cation)e(timestamps)h(with)h
-(this)f(command.)h(If)g(the)g(\002le)g(speci\002ed)f(does)h(not)-30
-16468 y(e)-23 b(xist,)3597 16468 y
-SDict begin H.S end
- 3597 16468 a 3597
-16468 a
-SDict begin 18.2 H.A end
- 3597 16468 a 3597 16468 a
-SDict begin [ /View [/XYZ H.V] /Dest (3628) cvn H.B /DEST pdfmark end
- 3597 16468 a FP(touch)335
-b FU(will)f(create)i(a)f(zero)h(length)e(\002le)h(with)g(the)g(name)g
-(speci\002ed.)g(T)-124 b(o)335 b(mark)g(a)h(\002le)e(with)-30
-18483 y(the)387 b(current)h(system)e(time,)h(you)g(w)-15
-b(ould)387 b(issue)g(this)f(command:)-30 20368 y
-SDict begin H.S end
- -30
-20368 a -30 20368 a
-SDict begin 14.56 H.A end
- -30 20368 a -30 20368 a
-SDict begin [ /View [/XYZ H.V] /Dest (3629) cvn H.B /DEST pdfmark end
- -30 20368
-a -30 20368 a
-SDict begin H.S end
- -30 20368 a -30 20368 a
-SDict begin 14.56 H.A end
- -30 20368 a -30
-20368 a
-SDict begin [ /View [/XYZ H.V] /Dest (3630) cvn H.B /DEST pdfmark end
- -30 20368 a 1276 x FJ(\045)1309 21644 y
-SDict begin H.S end
- 1309
-21644 a 1309 21644 a
-SDict begin 14.56 H.A end
- 1309 21644 a 1309 21644 a
-SDict begin [ /View [/XYZ H.V] /Dest (3631) cvn H.B /DEST pdfmark end
- 1309 21644
-a FH(ls)744 b(-al)f(file1)-30 23256 y FP(-rw-r--r--)2974
-b(1)744 b(root)3719 b(root)5951 b(9779)743 b(Feb)1487
-b(7)744 b(21:41)f(file1)-30 23282 y
-SDict begin H.S end
- -30 23282 a -30 23282
-a
-SDict begin 14.56 H.A end
- -30 23282 a -30 23282 a
-SDict begin [ /View [/XYZ H.V] /Dest (3632) cvn H.B /DEST pdfmark end
- -30 23282 a 1586 x FJ(\045)1309
-24868 y
-SDict begin H.S end
- 1309 24868 a 1309 24868 a
-SDict begin 14.56 H.A end
- 1309 24868 a 1309 24868
-a
-SDict begin [ /View [/XYZ H.V] /Dest (3633) cvn H.B /DEST pdfmark end
- 1309 24868 a FH(touch)g(file1)-30 24893 y
-SDict begin H.S end
- -30 24893
-a -30 24893 a
-SDict begin 14.56 H.A end
- -30 24893 a -30 24893 a
-SDict begin [ /View [/XYZ H.V] /Dest (3634) cvn H.B /DEST pdfmark end
- -30 24893 a 1586
-x FJ(\045)1309 26479 y
-SDict begin H.S end
- 1309 26479 a 1309 26479 a
-SDict begin 14.56 H.A end
- 1309
-26479 a 1309 26479 a
-SDict begin [ /View [/XYZ H.V] /Dest (3635) cvn H.B /DEST pdfmark end
- 1309 26479 a FH(ls)h(-al)f(file1)-30
-28091 y FP(-rw-r--r--)2974 b(1)744 b(root)3719 b(root)5951
-b(9779)743 b(Feb)1487 b(8)744 b(09:17)f(file1)-30 29667
-y
-SDict begin H.S end
- -30 29667 a -30 29667 a
-SDict begin 18.2 H.A end
- -30 29667 a -30 29667 a
-SDict begin [ /View [/XYZ H.V] /Dest (3636) cvn H.B /DEST pdfmark end
- -30
-29667 a 1989 x FU(There)468 b(are)h(se)-39 b(v)-23 b(eral)468
-b(options)f(for)18515 31656 y
-SDict begin H.S end
- 18515 31656 a 18515 31656
-a
-SDict begin 18.2 H.A end
- 18515 31656 a 18515 31656 a
-SDict begin [ /View [/XYZ H.V] /Dest (3637) cvn H.B /DEST pdfmark end
- 18515 31656 a FP(touch)p
-FU(,)h(including)f(options)g(to)h(specify)f(which)h(timestamp)-30
-33670 y(to)398 b(modify)-101 b(,)398 b(the)g(time)f(to)h(use,)g(and)g
-(man)-23 b(y)397 b(more.)h(The)g(online)g(manual)f(page)h(discusses)f
-(these)-30 35685 y(in)387 b(detail.)-30 36475 y
-SDict begin H.S end
- -30 36475
-a -30 36475 a
-SDict begin 18.2 H.A end
- -30 36475 a -30 36475 a
-SDict begin [ /View [/XYZ H.V] /Dest (3638) cvn H.B /DEST pdfmark end
- -30 36475 a 5502
-x FF(mkdir)-30 42930 y
-SDict begin H.S end
- -30 42930 a -30 42930 a
-SDict begin 18.2 H.A end
- -30 42930
-a -30 42930 a
-SDict begin [ /View [/XYZ H.V] /Dest (3641) cvn H.B /DEST pdfmark end
- -30 42930 a -30 42930 a
-SDict begin H.S end
- -30 42930 a -30
-42930 a
-SDict begin 18.2 H.A end
- -30 42930 a -30 42930 a
-SDict begin [ /View [/XYZ H.V] /Dest (3642) cvn H.B /DEST pdfmark end
- -30 42930 a 1991 x FP(mkdir)p
-FU(\(1\))574 b(will)g(create)h(a)f(ne)-39 b(w)17711 44921
-y
-SDict begin H.S end
- 17711 44921 a 17711 44921 a
-SDict begin 18.2 H.A end
- 17711 44921 a 17711 44921
-a
-SDict begin [ /View [/XYZ H.V] /Dest (3643) cvn H.B /DEST pdfmark end
- 17711 44921 a 575 w FU(directory)-101 b(.)575 b(Y)-170
-b(ou)573 b(simply)h(specify)g(the)g(directory)g(to)h(create)-30
-46936 y(when)465 b(you)g(run)g(mkdir)-85 b(.)464 b(This)h(e)-23
-b(xample)464 b(creates)i(the)29621 46936 y
-SDict begin H.S end
- 29621 46936
-a 29621 46936 a
-SDict begin 18.2 H.A end
- 29621 46936 a 29621 46936 a
-SDict begin [ /View [/XYZ H.V] /Dest (3646) cvn H.B /DEST pdfmark end
- 29621 46936
-a FQ(hejaz)c FU(directory)j(in)g(the)g(current)g(direc-)-30
-48951 y(tory:)-30 50836 y
-SDict begin H.S end
- -30 50836 a -30 50836 a
-SDict begin 14.56 H.A end
- -30
-50836 a -30 50836 a
-SDict begin [ /View [/XYZ H.V] /Dest (3647) cvn H.B /DEST pdfmark end
- -30 50836 a -30 50836 a
-SDict begin H.S end
- -30 50836
-a -30 50836 a
-SDict begin 14.56 H.A end
- -30 50836 a -30 50836 a
-SDict begin [ /View [/XYZ H.V] /Dest (3648) cvn H.B /DEST pdfmark end
- -30 50836 a 1276
-x FJ(\045)1309 52112 y
-SDict begin H.S end
- 1309 52112 a 1309 52112 a
-SDict begin 14.56 H.A end
- 1309
-52112 a 1309 52112 a
-SDict begin [ /View [/XYZ H.V] /Dest (3649) cvn H.B /DEST pdfmark end
- 1309 52112 a FH(mkdir)743 b(hejaz)-30
-53830 y
-SDict begin H.S end
- -30 53830 a -30 53830 a
-SDict begin 18.2 H.A end
- -30 53830 a -30 53830
-a
-SDict begin [ /View [/XYZ H.V] /Dest (3650) cvn H.B /DEST pdfmark end
- -30 53830 a 1847 x FU(Y)-170 b(ou)387 b(can)g(also)g(specify)g(a)h
-(path,)f(lik)-15 b(e)387 b(this:)-30 57562 y
-SDict begin H.S end
- -30 57562
-a -30 57562 a
-SDict begin 14.56 H.A end
- -30 57562 a -30 57562 a
-SDict begin [ /View [/XYZ H.V] /Dest (3651) cvn H.B /DEST pdfmark end
- -30 57562 a -30
-57562 a
-SDict begin H.S end
- -30 57562 a -30 57562 a
-SDict begin 14.56 H.A end
- -30 57562 a -30 57562
-a
-SDict begin [ /View [/XYZ H.V] /Dest (3652) cvn H.B /DEST pdfmark end
- -30 57562 a 1276 x FJ(\045)1309 58838 y
-SDict begin H.S end
- 1309 58838
-a 1309 58838 a
-SDict begin 14.56 H.A end
- 1309 58838 a 1309 58838 a
-SDict begin [ /View [/XYZ H.V] /Dest (3653) cvn H.B /DEST pdfmark end
- 1309 58838 a
-FH(mkdir)743 b(/usr/local/hejaz)-30 60556 y
-SDict begin H.S end
- -30 60556
-a -30 60556 a
-SDict begin 18.2 H.A end
- -30 60556 a -30 60556 a
-SDict begin [ /View [/XYZ H.V] /Dest (3654) cvn H.B /DEST pdfmark end
- -30 60556 a 1846
-x FU(The)2917 62402 y
-SDict begin H.S end
- 2917 62402 a 2917 62402 a
-SDict begin 18.2 H.A end
- 2917
-62402 a 2917 62402 a
-SDict begin [ /View [/XYZ H.V] /Dest (3655) cvn H.B /DEST pdfmark end
- 2917 62402 a FP(-p)537 b FU(option)f(will)g(tell)
-14906 62402 y
-SDict begin H.S end
- 14906 62402 a 14906 62402 a
-SDict begin 18.2 H.A end
- 14906 62402
-a 14906 62402 a
-SDict begin [ /View [/XYZ H.V] /Dest (3656) cvn H.B /DEST pdfmark end
- 14906 62402 a FP(mkdir)g FU(to)h(mak)-15
-b(e)536 b(an)-23 b(y)537 b(parent)g(directories.)f(The)h(abo)-23
-b(v)g(e)537 b(e)-23 b(xample)-30 64417 y(will)374 b(f)-15
-b(ail)374 b(if)6502 64417 y
-SDict begin H.S end
- 6502 64417 a 6502 64417 a
-SDict begin 18.2 H.A end
-
-6502 64417 a 6502 64417 a
-SDict begin [ /View [/XYZ H.V] /Dest (3657) cvn H.B /DEST pdfmark end
- 6502 64417 a FP(/usr/local)f
-FU(does)i(not)f(e)-23 b(xist.)374 b(The)26336 64417 y
-SDict begin H.S end
-
-26336 64417 a 26336 64417 a
-SDict begin 18.2 H.A end
- 26336 64417 a 26336 64417
-a
-SDict begin [ /View [/XYZ H.V] /Dest (3658) cvn H.B /DEST pdfmark end
- 26336 64417 a FP(-p)g FU(option)g(will)g(create)39394
-64417 y
-SDict begin H.S end
- 39394 64417 a 39394 64417 a
-SDict begin 18.2 H.A end
- 39394 64417 a 39394
-64417 a
-SDict begin [ /View [/XYZ H.V] /Dest (3659) cvn H.B /DEST pdfmark end
- 39394 64417 a FQ(/usr/local)368 b FU(and)48644
-64417 y
-SDict begin H.S end
- 48644 64417 a 48644 64417 a
-SDict begin 18.2 H.A end
- 48644 64417 a 48644
-64417 a
-SDict begin [ /View [/XYZ H.V] /Dest (3660) cvn H.B /DEST pdfmark end
- 48644 64417 a FQ(/usr/)-30 66432 y(local/hejaz)p
-FU(:)p Black 49394 73792 a FR(127)p Black eop end
-%%Page: 128 150
-TeXDict begin 128 149 bop -8000 -8000 a
-SDict begin /product where{pop product(Distiller)search{pop pop pop
-version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
-closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
-grestore}if}{pop}ifelse}{pop}ifelse}if end
- -8000 -8000 a
-Black 0 TeXcolorgray -30 -1237 a
-SDict begin H.S end
- -30 -1237 a 0 TeXcolorgray
-0 TeXcolorgray -30 -1237 a
-SDict begin H.R end
- -30 -1237 a -30 -1237 a
-SDict begin [ /View [/XYZ H.V] /Dest (page.128) cvn H.B /DEST pdfmark
-end
- -30
--1237 a Black -30 -2687 a
-SDict begin H.S end
- -30 -2687 a -30 -2687 a
-SDict begin 18.2 H.A end
- -30
--2687 a -30 -2687 a
-SDict begin [ /View [/XYZ H.V] /Dest (3711) cvn H.B /DEST pdfmark end
- -30 -2687 a 1051 x FR(Chapter)387
-b(10)g(Handling)f(F)-70 b(iles)387 b(and)g(Dir)-57 b(ectories)p
-Black -30 2504 a
-SDict begin H.S end
- -30 2504 a -30 2504 a
-SDict begin 14.56 H.A end
- -30 2504 a -30
-2504 a
-SDict begin [ /View [/XYZ H.V] /Dest (3661) cvn H.B /DEST pdfmark end
- -30 2504 a -30 2504 a
-SDict begin H.S end
- -30 2504 a -30 2504 a
-SDict begin 14.56 H.A end
- -30
-2504 a -30 2504 a
-SDict begin [ /View [/XYZ H.V] /Dest (3662) cvn H.B /DEST pdfmark end
- -30 2504 a 1107 x FJ(\045)1309 3611
-y
-SDict begin H.S end
- 1309 3611 a 1309 3611 a
-SDict begin 14.56 H.A end
- 1309 3611 a 1309 3611 a
-SDict begin [ /View [/XYZ H.V] /Dest (3663) cvn H.B /DEST pdfmark end
- 1309
-3611 a FH(mkdir)743 b(-p)h(/usr/local/hejaz)-30 6879
-y
-SDict begin H.S end
- -30 6879 a -30 6879 a
-SDict begin 18.2 H.A end
- -30 6879 a -30 6879 a
-SDict begin [ /View [/XYZ H.V] /Dest (FILE-COMMANDS-COPYMOVE) cvn H.B
-/DEST pdfmark end
- -30 6879
-a 5956 x FL(10.5)620 b(Cop)-33 b(y)619 b(and)g(Mo)-45
-b(ve)-30 13297 y
-SDict begin H.S end
- -30 13297 a -30 13297 a
-SDict begin 18.2 H.A end
- -30 13297 a
--30 13297 a
-SDict begin [ /View [/XYZ H.V] /Dest (FILE-COMMANDS-COPYMOVE-CP) cvn
-H.B /DEST pdfmark end
- -30 13297 a 4900 x FF(cp)-30 18582 y
-SDict begin H.S end
- -30
-18582 a -30 18582 a
-SDict begin 18.2 H.A end
- -30 18582 a -30 18582 a
-SDict begin [ /View [/XYZ H.V] /Dest (3669) cvn H.B /DEST pdfmark end
- -30 18582
-a -30 18582 a
-SDict begin H.S end
- -30 18582 a -30 18582 a
-SDict begin 18.2 H.A end
- -30 18582 a -30
-18582 a
-SDict begin [ /View [/XYZ H.V] /Dest (3672) cvn H.B /DEST pdfmark end
- -30 18582 a -30 19512 a
-SDict begin H.S end
- -30 19512 a -30 19512
-a
-SDict begin 18.2 H.A end
- -30 19512 a -30 19512 a
-SDict begin [ /View [/XYZ H.V] /Dest (3675) cvn H.B /DEST pdfmark end
- -30 19512 a -30 19512 a
-SDict begin H.S end
- -30
-19512 a -30 19512 a
-SDict begin 18.2 H.A end
- -30 19512 a -30 19512 a
-SDict begin [ /View [/XYZ H.V] /Dest (3676) cvn H.B /DEST pdfmark end
- -30 19512
-a 1630 x FP(cp)p FU(\(1\))423 b(copies)g(\002les.)g(DOS)g(users)g(will)
-g(notice)f(its)h(similarity)f(to)h(the)37840 21142 y
-SDict begin H.S end
-
-37840 21142 a 37840 21142 a
-SDict begin 18.2 H.A end
- 37840 21142 a 37840 21142
-a
-SDict begin [ /View [/XYZ H.V] /Dest (3677) cvn H.B /DEST pdfmark end
- 37840 21142 a FP(copy)g FU(command.)g(There)-30 23156
-y(are)385 b(man)-23 b(y)384 b(options)g(for)13192 23156
-y
-SDict begin H.S end
- 13192 23156 a 13192 23156 a
-SDict begin 18.2 H.A end
- 13192 23156 a 13192 23156
-a
-SDict begin [ /View [/XYZ H.V] /Dest (3678) cvn H.B /DEST pdfmark end
- 13192 23156 a FP(cp)h FU(,)g(so)f(you)g(should)g(ha)-31
-b(v)-23 b(e)385 b(a)f(look)g(at)h(the)f(man)h(page)f(before)h(using)f
-(it.)-30 24267 y
-SDict begin H.S end
- -30 24267 a -30 24267 a
-SDict begin 18.2 H.A end
- -30 24267 a
--30 24267 a
-SDict begin [ /View [/XYZ H.V] /Dest (3679) cvn H.B /DEST pdfmark end
- -30 24267 a 1679 x FU(A)373 b(common)g(use)g(is)g(to)g(use)
-15124 25946 y
-SDict begin H.S end
- 15124 25946 a 15124 25946 a
-SDict begin 18.2 H.A end
- 15124 25946
-a 15124 25946 a
-SDict begin [ /View [/XYZ H.V] /Dest (3680) cvn H.B /DEST pdfmark end
- 15124 25946 a FP(cp)g FU(to)g(cop)-15
-b(y)372 b(a)i(\002le)e(from)h(one)h(location)e(to)h(another)-85
-b(.)373 b(F)-23 b(or)373 b(e)-23 b(xample:)-30 27831
-y
-SDict begin H.S end
- -30 27831 a -30 27831 a
-SDict begin 14.56 H.A end
- -30 27831 a -30 27831 a
-SDict begin [ /View [/XYZ H.V] /Dest (3681) cvn H.B /DEST pdfmark end
- -30
-27831 a -30 27831 a
-SDict begin H.S end
- -30 27831 a -30 27831 a
-SDict begin 14.56 H.A end
- -30 27831
-a -30 27831 a
-SDict begin [ /View [/XYZ H.V] /Dest (3682) cvn H.B /DEST pdfmark end
- -30 27831 a 1277 x FJ(\045)1309 29108 y
-SDict begin H.S end
-
-1309 29108 a 1309 29108 a
-SDict begin 14.56 H.A end
- 1309 29108 a 1309 29108 a
-SDict begin [ /View [/XYZ H.V] /Dest (3683) cvn H.B /DEST pdfmark end
- 1309
-29108 a FH(cp)744 b(hejaz)f(/tmp)-30 30825 y
-SDict begin H.S end
- -30 30825
-a -30 30825 a
-SDict begin 18.2 H.A end
- -30 30825 a -30 30825 a
-SDict begin [ /View [/XYZ H.V] /Dest (3684) cvn H.B /DEST pdfmark end
- -30 30825 a 1847
-x FU(This)387 b(copies)g(the)9741 32672 y
-SDict begin H.S end
- 9741 32672
-a 9741 32672 a
-SDict begin 18.2 H.A end
- 9741 32672 a 9741 32672 a
-SDict begin [ /View [/XYZ H.V] /Dest (3685) cvn H.B /DEST pdfmark end
- 9741 32672 a
-FQ(hejaz)d FU(\002le)j(from)g(the)h(current)f(directory)g(to)g(the)
-35942 32672 y
-SDict begin H.S end
- 35942 32672 a 35942 32672 a
-SDict begin 18.2 H.A end
- 35942 32672
-a 35942 32672 a
-SDict begin [ /View [/XYZ H.V] /Dest (3686) cvn H.B /DEST pdfmark end
- 35942 32672 a FQ(/tmp)e FU(directory)-101
-b(.)-30 33782 y
-SDict begin H.S end
- -30 33782 a -30 33782 a
-SDict begin 18.2 H.A end
- -30 33782 a -30
-33782 a
-SDict begin [ /View [/XYZ H.V] /Dest (3687) cvn H.B /DEST pdfmark end
- -30 33782 a 1679 x FU(Man)-23 b(y)387 b(users)g(prefer)h(to)f
-(k)-15 b(eep)387 b(the)g(timestamps)f(preserv)-23 b(ed,)387
-b(as)g(in)h(this)e(e)-23 b(xample:)-30 37347 y
-SDict begin H.S end
- -30 37347
-a -30 37347 a
-SDict begin 14.56 H.A end
- -30 37347 a -30 37347 a
-SDict begin [ /View [/XYZ H.V] /Dest (3688) cvn H.B /DEST pdfmark end
- -30 37347 a -30
-37347 a
-SDict begin H.S end
- -30 37347 a -30 37347 a
-SDict begin 14.56 H.A end
- -30 37347 a -30 37347
-a
-SDict begin [ /View [/XYZ H.V] /Dest (3689) cvn H.B /DEST pdfmark end
- -30 37347 a 1276 x FJ(\045)1309 38623 y
-SDict begin H.S end
- 1309 38623
-a 1309 38623 a
-SDict begin 14.56 H.A end
- 1309 38623 a 1309 38623 a
-SDict begin [ /View [/XYZ H.V] /Dest (3690) cvn H.B /DEST pdfmark end
- 1309 38623 a
-FH(cp)744 b(-a)f(hejaz)h(/tmp)-30 40341 y
-SDict begin H.S end
- -30 40341 a
--30 40341 a
-SDict begin 18.2 H.A end
- -30 40341 a -30 40341 a
-SDict begin [ /View [/XYZ H.V] /Dest (3691) cvn H.B /DEST pdfmark end
- -30 40341 a 1846
-x FU(This)387 b(ensures)g(that)g(the)g(timestamps)f(are)i(not)f
-(modi\002ed)f(in)h(the)g(cop)-15 b(y)-101 b(.)-30 43298
-y
-SDict begin H.S end
- -30 43298 a -30 43298 a
-SDict begin 18.2 H.A end
- -30 43298 a -30 43298 a
-SDict begin [ /View [/XYZ H.V] /Dest (3692) cvn H.B /DEST pdfmark end
- -30
-43298 a 1679 x FU(T)-124 b(o)364 b(recursi)-39 b(v)-23
-b(ely)364 b(cop)-15 b(y)364 b(the)g(contents)g(of)g(a)g(directory)g(to)
-g(another)g(directory)-101 b(,)365 b(you)f(w)-15 b(ould)363
-b(issue)-30 46992 y(this)387 b(command:)-30 48557 y
-SDict begin H.S end
- -30
-48557 a -30 48557 a
-SDict begin 14.56 H.A end
- -30 48557 a -30 48557 a
-SDict begin [ /View [/XYZ H.V] /Dest (3693) cvn H.B /DEST pdfmark end
- -30 48557
-a -30 48557 a
-SDict begin H.S end
- -30 48557 a -30 48557 a
-SDict begin 14.56 H.A end
- -30 48557 a -30
-48557 a
-SDict begin [ /View [/XYZ H.V] /Dest (3694) cvn H.B /DEST pdfmark end
- -30 48557 a 1596 x FJ(\045)1309 50153 y
-SDict begin H.S end
- 1309
-50153 a 1309 50153 a
-SDict begin 14.56 H.A end
- 1309 50153 a 1309 50153 a
-SDict begin [ /View [/XYZ H.V] /Dest (3695) cvn H.B /DEST pdfmark end
- 1309 50153
-a FH(cp)744 b(-R)5772 50153 y
-SDict begin H.S end
- 5772 50153 a 5772 50153
-a
-SDict begin 14.56 H.A end
- 5772 50153 a 5772 50153 a
-SDict begin [ /View [/XYZ H.V] /Dest (3696) cvn H.B /DEST pdfmark end
- 5772 50153 a Fy(mydir)811
-b FH(/tmp)-30 51871 y
-SDict begin H.S end
- -30 51871 a -30 51871 a
-SDict begin 18.2 H.A end
- -30 51871
-a -30 51871 a
-SDict begin [ /View [/XYZ H.V] /Dest (3697) cvn H.B /DEST pdfmark end
- -30 51871 a 1846 x FU(That)387 b(will)g(cop)-15
-b(y)387 b(the)11663 53717 y
-SDict begin H.S end
- 11663 53717 a 11663 53717
-a
-SDict begin 18.2 H.A end
- 11663 53717 a 11663 53717 a
-SDict begin [ /View [/XYZ H.V] /Dest (3698) cvn H.B /DEST pdfmark end
- 11663 53717 a Fz(mydir)442
-b FU(directory)387 b(to)g(the)26612 53717 y
-SDict begin H.S end
- 26612 53717
-a 26612 53717 a
-SDict begin 18.2 H.A end
- 26612 53717 a 26612 53717 a
-SDict begin [ /View [/XYZ H.V] /Dest (3699) cvn H.B /DEST pdfmark end
- 26612 53717
-a FQ(/tmp)d FU(directory)-101 b(.)-30 54828 y
-SDict begin H.S end
- -30 54828
-a -30 54828 a
-SDict begin 18.2 H.A end
- -30 54828 a -30 54828 a
-SDict begin [ /View [/XYZ H.V] /Dest (3700) cvn H.B /DEST pdfmark end
- -30 54828 a 1679
-x FU(Also)471 b(if)h(you)f(wish)g(to)g(cop)-15 b(y)471
-b(a)h(directory)f(or)h(a)g(\002le)f(and)g(k)-15 b(eep)471
-b(all)h(it')-85 b(s)471 b(old)g(permissions)f(and)-30
-58522 y(time)387 b(stamps)f(and)i(k)-15 b(eep)387 b(it)g(e)-23
-b(xactly)386 b(the)i(same)f(use)28124 58522 y
-SDict begin H.S end
- 28124 58522
-a 28124 58522 a
-SDict begin 18.2 H.A end
- 28124 58522 a 28124 58522 a
-SDict begin [ /View [/XYZ H.V] /Dest (3701) cvn H.B /DEST pdfmark end
- 28124 58522
-a FP(cp)744 b(-p)p FU(.)-30 60407 y
-SDict begin H.S end
- -30 60407 a -30 60407
-a
-SDict begin 14.56 H.A end
- -30 60407 a -30 60407 a
-SDict begin [ /View [/XYZ H.V] /Dest (3702) cvn H.B /DEST pdfmark end
- -30 60407 a -30 60407 a
-SDict begin H.S end
- -30
-60407 a -30 60407 a
-SDict begin 14.56 H.A end
- -30 60407 a -30 60407 a
-SDict begin [ /View [/XYZ H.V] /Dest (3703) cvn H.B /DEST pdfmark end
- -30 60407
-a 1276 x FJ(\045)1309 61683 y
-SDict begin H.S end
- 1309 61683 a 1309 61683
-a
-SDict begin 14.56 H.A end
- 1309 61683 a 1309 61683 a
-SDict begin [ /View [/XYZ H.V] /Dest (3704) cvn H.B /DEST pdfmark end
- 1309 61683 a FH(ls)g(-l)f(file)-30
-63295 y FP(-rw-r--r--)2974 b(1)744 b(root)3719 b(vlad)8926
-b(4)744 b(Jan)1487 b(1)744 b(15:27)f(file)-30 63321 y
-SDict begin H.S end
-
--30 63321 a -30 63321 a
-SDict begin 14.56 H.A end
- -30 63321 a -30 63321 a
-SDict begin [ /View [/XYZ H.V] /Dest (3705) cvn H.B /DEST pdfmark end
- -30 63321
-a 1586 x FJ(\045)1309 64907 y
-SDict begin H.S end
- 1309 64907 a 1309 64907
-a
-SDict begin 14.56 H.A end
- 1309 64907 a 1309 64907 a
-SDict begin [ /View [/XYZ H.V] /Dest (3706) cvn H.B /DEST pdfmark end
- 1309 64907 a FH(cp)h(-p)f(file)h(/tmp)-30
-65075 y
-SDict begin H.S end
- -30 65075 a -30 65075 a
-SDict begin 14.56 H.A end
- -30 65075 a -30 65075
-a
-SDict begin [ /View [/XYZ H.V] /Dest (3707) cvn H.B /DEST pdfmark end
- -30 65075 a 1443 x FJ(\045)1309 66518 y
-SDict begin H.S end
- 1309 66518
-a 1309 66518 a
-SDict begin 14.56 H.A end
- 1309 66518 a 1309 66518 a
-SDict begin [ /View [/XYZ H.V] /Dest (3708) cvn H.B /DEST pdfmark end
- 1309 66518 a
-FH(ls)g(-l)f(/tmp/file)-30 68130 y FP(-rw-r--r--)2974
-b(1)744 b(root)3719 b(vlad)8926 b(4)744 b(Jan)1487 b(1)744
-b(15:27)f(file)p Black -30 73792 a FR(128)p Black eop
-end
-%%Page: 129 151
-TeXDict begin 129 150 bop -8000 -8000 a
-SDict begin /product where{pop product(Distiller)search{pop pop pop
-version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
-closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
-grestore}if}{pop}ifelse}{pop}ifelse}if end
- -8000 -8000 a
-Black 0 TeXcolorgray -30 -1237 a
-SDict begin H.S end
- -30 -1237 a 0 TeXcolorgray
-0 TeXcolorgray -30 -1237 a
-SDict begin H.R end
- -30 -1237 a -30 -1237 a
-SDict begin [ /View [/XYZ H.V] /Dest (page.129) cvn H.B /DEST pdfmark
-end
- -30
--1237 a Black -30 -2687 a
-SDict begin H.S end
- -30 -2687 a -30 -2687 a
-SDict begin 18.2 H.A end
- -30
--2687 a -30 -2687 a
-SDict begin [ /View [/XYZ H.V] /Dest (3761) cvn H.B /DEST pdfmark end
- -30 -2687 a 24998 -1636 a FR(Chapter)387
-b(10)g(Handling)f(F)-70 b(iles)387 b(and)g(Dir)-57 b(ectories)p
-Black -30 2504 a
-SDict begin H.S end
- -30 2504 a -30 2504 a
-SDict begin 18.2 H.A end
- -30 2504 a -30
-2504 a
-SDict begin [ /View [/XYZ H.V] /Dest (3709) cvn H.B /DEST pdfmark end
- -30 2504 a -30 2504 a
-SDict begin H.S end
- -30 2504 a -30 2504 a
-SDict begin 18.2 H.A end
- -30
-2504 a -30 2504 a
-SDict begin [ /View [/XYZ H.V] /Dest (3710) cvn H.B /DEST pdfmark end
- -30 2504 a 1107 x FP(cp)387 b FU(has)h(man)-23
-b(y)386 b(more)h(options)g(that)g(are)g(discussed)g(in)g(detail)g(in)g
-(the)g(online)g(manual)g(page.)-30 4721 y
-SDict begin H.S end
- -30 4721 a
--30 4721 a
-SDict begin 18.2 H.A end
- -30 4721 a -30 4721 a
-SDict begin [ /View [/XYZ H.V] /Dest (3711) cvn H.B /DEST pdfmark end
- -30 4721 a 5182 x FF(mv)-30
-9903 y
-SDict begin H.S end
- -30 9903 a -30 9903 a
-SDict begin 18.2 H.A end
- -30 9903 a -30 9903 a
-SDict begin [ /View [/XYZ H.V] /Dest (3714) cvn H.B /DEST pdfmark end
- -30
-9903 a -30 9903 a
-SDict begin H.S end
- -30 9903 a -30 9903 a
-SDict begin 18.2 H.A end
- -30 9903 a -30
-9903 a
-SDict begin [ /View [/XYZ H.V] /Dest (3717) cvn H.B /DEST pdfmark end
- -30 9903 a -30 10833 a
-SDict begin H.S end
- -30 10833 a -30 10833 a
-SDict begin 18.2 H.A end
-
--30 10833 a -30 10833 a
-SDict begin [ /View [/XYZ H.V] /Dest (3720) cvn H.B /DEST pdfmark end
- -30 10833 a -30 10833 a
-SDict begin H.S end
- -30 10833
-a -30 10833 a
-SDict begin 18.2 H.A end
- -30 10833 a -30 10833 a
-SDict begin [ /View [/XYZ H.V] /Dest (3721) cvn H.B /DEST pdfmark end
- -30 10833 a 2015
-x FP(mv)p FU(\(1\))g(mo)-23 b(v)g(es)387 b(\002les)f(from)i(one)f
-(place)g(to)g(another)-85 b(.)388 b(Sounds)e(simple)g(enough)h(doesn')
--28 b(t)387 b(it?)-30 14733 y
-SDict begin H.S end
- -30 14733 a -30 14733 a
-SDict begin 14.56 H.A end
-
--30 14733 a -30 14733 a
-SDict begin [ /View [/XYZ H.V] /Dest (3722) cvn H.B /DEST pdfmark end
- -30 14733 a -30 14733 a
-SDict begin H.S end
- -30 14733
-a -30 14733 a
-SDict begin 14.56 H.A end
- -30 14733 a -30 14733 a
-SDict begin [ /View [/XYZ H.V] /Dest (3723) cvn H.B /DEST pdfmark end
- -30 14733 a 1276
-x FJ(\045)1309 16009 y
-SDict begin H.S end
- 1309 16009 a 1309 16009 a
-SDict begin 14.56 H.A end
- 1309
-16009 a 1309 16009 a
-SDict begin [ /View [/XYZ H.V] /Dest (3724) cvn H.B /DEST pdfmark end
- 1309 16009 a FH(mv)744 b(oldfile)f(/tmp/newfile)
--30 17727 y
-SDict begin H.S end
- -30 17727 a -30 17727 a
-SDict begin 18.2 H.A end
- -30 17727 a -30 17727
-a
-SDict begin [ /View [/XYZ H.V] /Dest (3725) cvn H.B /DEST pdfmark end
- -30 17727 a -30 17727 a
-SDict begin H.S end
- -30 17727 a -30 17727 a
-SDict begin 18.2 H.A end
- -30
-17727 a -30 17727 a
-SDict begin [ /View [/XYZ H.V] /Dest (3726) cvn H.B /DEST pdfmark end
- -30 17727 a 1846 x FP(mv)600 b FU(has)f(a)h(fe)-39
-b(w)600 b(useful)f(command)g(line)g(options)g(that)g(are)h(detailed)g
-(in)f(the)g(man)h(page.)g(In)-30 21588 y(practice,)5650
-21588 y
-SDict begin H.S end
- 5650 21588 a 5650 21588 a
-SDict begin 18.2 H.A end
- 5650 21588 a 5650 21588
-a
-SDict begin [ /View [/XYZ H.V] /Dest (3727) cvn H.B /DEST pdfmark end
- 5650 21588 a FP(mv)387 b FU(is)g(almost)g(ne)-39 b(v)-23
-b(er)387 b(used)g(with)g(commandline)f(options.)-30 24248
-y
-SDict begin H.S end
- -30 24248 a -30 24248 a
-SDict begin 18.2 H.A end
- -30 24248 a -30 24248 a
-SDict begin [ /View [/XYZ H.V] /Dest (FILE-COMMANDS-DELETION) cvn H.B
-/DEST pdfmark end
- -30
-24248 a 5789 x FL(10.6)620 b(Deletion:)g Fq(rm)664 b
-FL(and)619 b Fq(rmdir)-30 30065 y
-SDict begin H.S end
- -30 30065 a -30 30065
-a
-SDict begin 18.2 H.A end
- -30 30065 a -30 30065 a
-SDict begin [ /View [/XYZ H.V] /Dest (3732) cvn H.B /DEST pdfmark end
- -30 30065 a 5334 x FF(rm)-30
-36329 y
-SDict begin H.S end
- -30 36329 a -30 36329 a
-SDict begin 18.2 H.A end
- -30 36329 a -30 36329
-a
-SDict begin [ /View [/XYZ H.V] /Dest (3735) cvn H.B /DEST pdfmark end
- -30 36329 a -30 36329 a
-SDict begin H.S end
- -30 36329 a -30 36329 a
-SDict begin 18.2 H.A end
- -30
-36329 a -30 36329 a
-SDict begin [ /View [/XYZ H.V] /Dest (3736) cvn H.B /DEST pdfmark end
- -30 36329 a 2015 x FP(rm)p FU(\(1\))378
-b(remo)-23 b(v)g(es)378 b(\002les)g(and)g(directory)20777
-38344 y
-SDict begin H.S end
- 20777 38344 a 20777 38344 a
-SDict begin 18.2 H.A end
- 20777 38344 a 20777
-38344 a
-SDict begin [ /View [/XYZ H.V] /Dest (3737) cvn H.B /DEST pdfmark end
- 20777 38344 a 378 w FU(trees.)h(DOS)f(users)g(will)g(notice)g
-(the)g(similarity)f(to)h(both)-30 40359 y(the)2467 40359
-y
-SDict begin H.S end
- 2467 40359 a 2467 40359 a
-SDict begin 18.2 H.A end
- 2467 40359 a 2467 40359 a
-SDict begin [ /View [/XYZ H.V] /Dest (3740) cvn H.B /DEST pdfmark end
-
-2467 40359 a FP(del)603 b FU(and)8143 40359 y
-SDict begin H.S end
- 8143 40359
-a 8143 40359 a
-SDict begin 18.2 H.A end
- 8143 40359 a 8143 40359 a
-SDict begin [ /View [/XYZ H.V] /Dest (3741) cvn H.B /DEST pdfmark end
- 8143 40359 a
-FP(deltree)f FU(commands.)21659 40359 y
-SDict begin H.S end
- 21659 40359 a
-21659 40359 a
-SDict begin 18.2 H.A end
- 21659 40359 a 21659 40359 a
-SDict begin [ /View [/XYZ H.V] /Dest (3742) cvn H.B /DEST pdfmark end
- 21659 40359
-a FP(rm)h FU(can)g(be)g(v)-23 b(ery)603 b(dangerous)f(if)h(you)g(do)g
-(not)g(w)-15 b(atch)-30 42373 y(yourself.)434 b(While)f(it)g(is)h
-(sometimes)e(possible)h(to)g(retrie)-39 b(v)-23 b(e)434
-b(a)f(recently)h(deleted)f(\002le,)h(it)f(can)h(be)-30
-44388 y(complicated)387 b(\(and)g(potentially)f(costly\))h(and)g(is)g
-(be)-23 b(yond)387 b(the)g(scope)g(of)h(this)e(book.)-30
-45498 y
-SDict begin H.S end
- -30 45498 a -30 45498 a
-SDict begin 18.2 H.A end
- -30 45498 a -30 45498
-a
-SDict begin [ /View [/XYZ H.V] /Dest (3743) cvn H.B /DEST pdfmark end
- -30 45498 a 1680 x FU(T)-124 b(o)387 b(remo)-23 b(v)g(e)387
-b(a)g(single)g(\002le,)h(specify)f(its)g(name)g(when)g(you)g(run)g(rm:)
--30 49063 y
-SDict begin H.S end
- -30 49063 a -30 49063 a
-SDict begin 14.56 H.A end
- -30 49063 a -30 49063
-a
-SDict begin [ /View [/XYZ H.V] /Dest (3744) cvn H.B /DEST pdfmark end
- -30 49063 a -30 49063 a
-SDict begin H.S end
- -30 49063 a -30 49063 a
-SDict begin 14.56 H.A end
- -30
-49063 a -30 49063 a
-SDict begin [ /View [/XYZ H.V] /Dest (3745) cvn H.B /DEST pdfmark end
- -30 49063 a 1276 x FJ(\045)1309 50339
-y
-SDict begin H.S end
- 1309 50339 a 1309 50339 a
-SDict begin 14.56 H.A end
- 1309 50339 a 1309 50339 a
-SDict begin [ /View [/XYZ H.V] /Dest (3746) cvn H.B /DEST pdfmark end
-
-1309 50339 a FH(rm)744 b(file1)-30 51914 y
-SDict begin H.S end
- -30 51914
-a -30 51914 a
-SDict begin 18.2 H.A end
- -30 51914 a -30 51914 a
-SDict begin [ /View [/XYZ H.V] /Dest (3747) cvn H.B /DEST pdfmark end
- -30 51914 a 1989
-x FU(If)536 b(the)f(\002le)g(has)g(write)g(permissions)f(remo)-23
-b(v)g(ed,)535 b(you)h(may)f(get)g(a)g(permission)g(denied)g(error)-30
-55918 y(message.)387 b(T)-124 b(o)388 b(force)f(remo)-23
-b(v)-39 b(al)387 b(of)h(the)f(\002le)g(no)g(matter)g(what,)g(pass)g
-(the)38692 55918 y
-SDict begin H.S end
- 38692 55918 a 38692 55918 a
-SDict begin 18.2 H.A end
- 38692
-55918 a 38692 55918 a
-SDict begin [ /View [/XYZ H.V] /Dest (3748) cvn H.B /DEST pdfmark end
- 38692 55918 a FP(-f)g FU(option,)g(lik)-15
-b(e)386 b(this:)-30 57803 y
-SDict begin H.S end
- -30 57803 a -30 57803 a
-SDict begin 14.56 H.A end
- -30
-57803 a -30 57803 a
-SDict begin [ /View [/XYZ H.V] /Dest (3749) cvn H.B /DEST pdfmark end
- -30 57803 a -30 57803 a
-SDict begin H.S end
- -30 57803
-a -30 57803 a
-SDict begin 14.56 H.A end
- -30 57803 a -30 57803 a
-SDict begin [ /View [/XYZ H.V] /Dest (3750) cvn H.B /DEST pdfmark end
- -30 57803 a 1277
-x FJ(\045)1309 59080 y
-SDict begin H.S end
- 1309 59080 a 1309 59080 a
-SDict begin 14.56 H.A end
- 1309
-59080 a 1309 59080 a
-SDict begin [ /View [/XYZ H.V] /Dest (3751) cvn H.B /DEST pdfmark end
- 1309 59080 a FH(rm)744 b(-f)f(file1)-30
-60654 y
-SDict begin H.S end
- -30 60654 a -30 60654 a
-SDict begin 18.2 H.A end
- -30 60654 a -30 60654
-a
-SDict begin [ /View [/XYZ H.V] /Dest (3752) cvn H.B /DEST pdfmark end
- -30 60654 a 1990 x FU(T)-124 b(o)551 b(remo)-23 b(v)g(e)550
-b(an)h(entire)f(directory)-101 b(,)552 b(you)e(use)h(the)27733
-62644 y
-SDict begin H.S end
- 27733 62644 a 27733 62644 a
-SDict begin 18.2 H.A end
- 27733 62644 a 27733
-62644 a
-SDict begin [ /View [/XYZ H.V] /Dest (3753) cvn H.B /DEST pdfmark end
- 27733 62644 a 28284 62644 a
-SDict begin H.S end
- 28284 62644 a 28284
-62644 a
-SDict begin 18.2 H.A end
- 28284 62644 a 28284 62644 a
-SDict begin [ /View [/XYZ H.V] /Dest (3756) cvn H.B /DEST pdfmark end
- 28284 62644 a FP(-r)g
-FU(and)33112 62644 y
-SDict begin H.S end
- 33112 62644 a 33112 62644 a
-SDict begin 18.2 H.A end
- 33112
-62644 a 33112 62644 a
-SDict begin [ /View [/XYZ H.V] /Dest (3757) cvn H.B /DEST pdfmark end
- 33112 62644 a FP(-f)f FU(options)g(together)-85
-b(.)551 b(This)f(is)h(a)-30 64659 y(good)545 b(e)-23
-b(xample)545 b(of)h(ho)-39 b(w)546 b(to)f(delete)h(the)g(entire)f
-(contents)g(of)h(your)f(hard)h(dri)-39 b(v)-23 b(e.)546
-b(Y)-170 b(ou)545 b(really)-30 66673 y(don')-28 b(t)387
-b(w)-15 b(ant)387 b(to)g(do)g(this.)g(But)g(here')-85
-b(s)387 b(the)g(command)g(an)-23 b(yw)-15 b(ay:)p Black
-49451 73792 a FR(129)p Black eop end
-%%Page: 130 152
-TeXDict begin 130 151 bop -8000 -8000 a
-SDict begin /product where{pop product(Distiller)search{pop pop pop
-version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
-closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
-grestore}if}{pop}ifelse}{pop}ifelse}if end
- -8000 -8000 a
-Black 0 TeXcolorgray -30 -1237 a
-SDict begin H.S end
- -30 -1237 a 0 TeXcolorgray
-0 TeXcolorgray -30 -1237 a
-SDict begin H.R end
- -30 -1237 a -30 -1237 a
-SDict begin [ /View [/XYZ H.V] /Dest (page.130) cvn H.B /DEST pdfmark
-end
- -30
--1237 a Black -399 x FR(Chapter)387 b(10)g(Handling)f(F)-70
-b(iles)387 b(and)g(Dir)-57 b(ectories)p Black -30 2504
-a
-SDict begin H.S end
- -30 2504 a -30 2504 a
-SDict begin 14.56 H.A end
- -30 2504 a -30 2504 a
-SDict begin [ /View [/XYZ H.V] /Dest (3758) cvn H.B /DEST pdfmark end
- -30 2504
-a -30 2504 a
-SDict begin H.S end
- -30 2504 a -30 2504 a
-SDict begin 14.56 H.A end
- -30 2504 a -30 2504
-a
-SDict begin [ /View [/XYZ H.V] /Dest (3759) cvn H.B /DEST pdfmark end
- -30 2504 a 1107 x FJ(#)1309 3611 y
-SDict begin H.S end
- 1309 3611 a 1309
-3611 a
-SDict begin 14.56 H.A end
- 1309 3611 a 1309 3611 a
-SDict begin [ /View [/XYZ H.V] /Dest (3760) cvn H.B /DEST pdfmark end
- 1309 3611 a FH(rm)744
-b(-rf)f(/)-30 7176 y FU(Be)431 b(v)-23 b(ery)430 b(careful)h(with)g
-FP(rm)p FU(;)f(you)h(can)g(shoot)f(yourself)g(in)h(the)f(foot.)h(There)
-g(are)g(se)-39 b(v)-23 b(eral)431 b(com-)-30 9190 y(mand)387
-b(line)g(options,)g(which)g(are)h(discussed)e(in)h(detail)g(in)g(the)g
-(online)g(manual)g(page.)-30 10301 y
-SDict begin H.S end
- -30 10301 a -30
-10301 a
-SDict begin 18.2 H.A end
- -30 10301 a -30 10301 a
-SDict begin [ /View [/XYZ H.V] /Dest (3763) cvn H.B /DEST pdfmark end
- -30 10301 a 5181 x FF(rmdir)-30
-16435 y
-SDict begin H.S end
- -30 16435 a -30 16435 a
-SDict begin 18.2 H.A end
- -30 16435 a -30 16435
-a
-SDict begin [ /View [/XYZ H.V] /Dest (3766) cvn H.B /DEST pdfmark end
- -30 16435 a -30 16435 a
-SDict begin H.S end
- -30 16435 a -30 16435 a
-SDict begin 18.2 H.A end
- -30
-16435 a -30 16435 a
-SDict begin [ /View [/XYZ H.V] /Dest (3767) cvn H.B /DEST pdfmark end
- -30 16435 a 1992 x FP(rmdir)p FU(\(1\))419
-b(remo)-23 b(v)g(es)419 b(directories)h(from)f(the)h(\002lesystem.)f
-(The)h(directory)f(must)h(be)g(empty)f(be-)-30 20441
-y(fore)388 b(it)f(can)g(be)h(remo)-23 b(v)g(ed.)386 b(The)i(syntax)e
-(is)i(simply:)-30 22327 y
-SDict begin H.S end
- -30 22327 a -30 22327 a
-SDict begin 14.56 H.A end
- -30
-22327 a -30 22327 a
-SDict begin [ /View [/XYZ H.V] /Dest (3768) cvn H.B /DEST pdfmark end
- -30 22327 a -30 22327 a
-SDict begin H.S end
- -30 22327
-a -30 22327 a
-SDict begin 14.56 H.A end
- -30 22327 a -30 22327 a
-SDict begin [ /View [/XYZ H.V] /Dest (3769) cvn H.B /DEST pdfmark end
- -30 22327 a 1276
-x FJ(\045)1309 23603 y
-SDict begin H.S end
- 1309 23603 a 1309 23603 a
-SDict begin 14.56 H.A end
- 1309
-23603 a 1309 23603 a
-SDict begin [ /View [/XYZ H.V] /Dest (3770) cvn H.B /DEST pdfmark end
- 1309 23603 a FH(rmdir)743 b FK(<)6715
-23603 y
-SDict begin H.S end
- 6715 23603 a 6715 23603 a
-SDict begin 14.56 H.A end
- 6715 23603 a 6715 23603
-a
-SDict begin [ /View [/XYZ H.V] /Dest (3771) cvn H.B /DEST pdfmark end
- 6715 23603 a Fy(directory)117 b FK(>)-30 25321 y
-SDict begin H.S end
- -30
-25321 a -30 25321 a
-SDict begin 18.2 H.A end
- -30 25321 a -30 25321 a
-SDict begin [ /View [/XYZ H.V] /Dest (3772) cvn H.B /DEST pdfmark end
- -30 25321
-a 1846 x FU(This)387 b(e)-23 b(xample)387 b(will)f(remo)-23
-b(v)g(e)387 b(the)18796 27167 y
-SDict begin H.S end
- 18796 27167 a 18796 27167
-a
-SDict begin 18.2 H.A end
- 18796 27167 a 18796 27167 a
-SDict begin [ /View [/XYZ H.V] /Dest (3773) cvn H.B /DEST pdfmark end
- 18796 27167 a FQ(hejaz)d
-FU(subdirectory)j(in)g(the)g(current)h(w)-15 b(orking)386
-b(directory:)-30 29052 y
-SDict begin H.S end
- -30 29052 a -30 29052 a
-SDict begin 14.56 H.A end
- -30
-29052 a -30 29052 a
-SDict begin [ /View [/XYZ H.V] /Dest (3774) cvn H.B /DEST pdfmark end
- -30 29052 a -30 29052 a
-SDict begin H.S end
- -30 29052
-a -30 29052 a
-SDict begin 14.56 H.A end
- -30 29052 a -30 29052 a
-SDict begin [ /View [/XYZ H.V] /Dest (3775) cvn H.B /DEST pdfmark end
- -30 29052 a 1277
-x FJ(\045)1309 30329 y
-SDict begin H.S end
- 1309 30329 a 1309 30329 a
-SDict begin 14.56 H.A end
- 1309
-30329 a 1309 30329 a
-SDict begin [ /View [/XYZ H.V] /Dest (3776) cvn H.B /DEST pdfmark end
- 1309 30329 a FH(rmdir)743 b(hejaz)-30
-32046 y
-SDict begin H.S end
- -30 32046 a -30 32046 a
-SDict begin 18.2 H.A end
- -30 32046 a -30 32046
-a
-SDict begin [ /View [/XYZ H.V] /Dest (3777) cvn H.B /DEST pdfmark end
- -30 32046 a 1847 x FU(If)424 b(that)g(directory)g(does)g(not)g(e)-23
-b(xist,)19580 33893 y
-SDict begin H.S end
- 19580 33893 a 19580 33893 a
-SDict begin 18.2 H.A end
- 19580
-33893 a 19580 33893 a
-SDict begin [ /View [/XYZ H.V] /Dest (3778) cvn H.B /DEST pdfmark end
- 19580 33893 a FP(rmdir)423 b FU(will)h(tell)f
-(you.)i(Y)-170 b(ou)423 b(can)h(also)g(specify)g(a)g(full)g(path)-30
-35908 y(to)387 b(a)h(directory)f(to)g(remo)-23 b(v)g(e,)387
-b(as)g(this)g(e)-23 b(xample)387 b(sho)-39 b(ws:)-30
-37793 y
-SDict begin H.S end
- -30 37793 a -30 37793 a
-SDict begin 14.56 H.A end
- -30 37793 a -30 37793
-a
-SDict begin [ /View [/XYZ H.V] /Dest (3779) cvn H.B /DEST pdfmark end
- -30 37793 a -30 37793 a
-SDict begin H.S end
- -30 37793 a -30 37793 a
-SDict begin 14.56 H.A end
- -30
-37793 a -30 37793 a
-SDict begin [ /View [/XYZ H.V] /Dest (3780) cvn H.B /DEST pdfmark end
- -30 37793 a 1276 x FJ(\045)1309 39069
-y
-SDict begin H.S end
- 1309 39069 a 1309 39069 a
-SDict begin 14.56 H.A end
- 1309 39069 a 1309 39069 a
-SDict begin [ /View [/XYZ H.V] /Dest (3781) cvn H.B /DEST pdfmark end
-
-1309 39069 a FH(rmdir)743 b(/tmp/hejaz)-30 40787 y
-SDict begin H.S end
- -30
-40787 a -30 40787 a
-SDict begin 18.2 H.A end
- -30 40787 a -30 40787 a
-SDict begin [ /View [/XYZ H.V] /Dest (3782) cvn H.B /DEST pdfmark end
- -30 40787
-a 1847 x FU(That)387 b(e)-23 b(xample)387 b(will)g(try)g(to)g(remo)-23
-b(v)g(e)387 b(the)22584 42634 y
-SDict begin H.S end
- 22584 42634 a 22584 42634
-a
-SDict begin 18.2 H.A end
- 22584 42634 a 22584 42634 a
-SDict begin [ /View [/XYZ H.V] /Dest (3783) cvn H.B /DEST pdfmark end
- 22584 42634 a FQ(hejaz)d
-FU(directory)j(inside)g(the)38456 42634 y
-SDict begin H.S end
- 38456 42634
-a 38456 42634 a
-SDict begin 18.2 H.A end
- 38456 42634 a 38456 42634 a
-SDict begin [ /View [/XYZ H.V] /Dest (3784) cvn H.B /DEST pdfmark end
- 38456 42634
-a FQ(/tmp)e FU(directory)-101 b(.)-30 43744 y
-SDict begin H.S end
- -30 43744
-a -30 43744 a
-SDict begin 18.2 H.A end
- -30 43744 a -30 43744 a
-SDict begin [ /View [/XYZ H.V] /Dest (3785) cvn H.B /DEST pdfmark end
- -30 43744 a 1679
-x FU(Y)-170 b(ou)482 b(can)g(also)h(remo)-23 b(v)g(e)481
-b(a)i(directory)f(and)h(all)f(of)g(its)g(parent)h(directories)f(by)g
-(passing)g(the)50288 45423 y
-SDict begin H.S end
- 50288 45423 a 50288 45423
-a
-SDict begin 18.2 H.A end
- 50288 45423 a 50288 45423 a
-SDict begin [ /View [/XYZ H.V] /Dest (3786) cvn H.B /DEST pdfmark end
- 50288 45423 a FP(-p)-30
-47438 y FU(option.)-30 49323 y
-SDict begin H.S end
- -30 49323 a -30 49323
-a
-SDict begin 14.56 H.A end
- -30 49323 a -30 49323 a
-SDict begin [ /View [/XYZ H.V] /Dest (3787) cvn H.B /DEST pdfmark end
- -30 49323 a -30 49323 a
-SDict begin H.S end
- -30
-49323 a -30 49323 a
-SDict begin 14.56 H.A end
- -30 49323 a -30 49323 a
-SDict begin [ /View [/XYZ H.V] /Dest (3788) cvn H.B /DEST pdfmark end
- -30 49323
-a 1276 x FJ(\045)1309 50599 y
-SDict begin H.S end
- 1309 50599 a 1309 50599
-a
-SDict begin 14.56 H.A end
- 1309 50599 a 1309 50599 a
-SDict begin [ /View [/XYZ H.V] /Dest (3789) cvn H.B /DEST pdfmark end
- 1309 50599 a FH(rmdir)743
-b(-p)h(/tmp/hejaz)-30 52317 y
-SDict begin H.S end
- -30 52317 a -30 52317 a
-SDict begin 18.2 H.A end
-
--30 52317 a -30 52317 a
-SDict begin [ /View [/XYZ H.V] /Dest (3790) cvn H.B /DEST pdfmark end
- -30 52317 a 1847 x FU(This)498
-b(will)g(\002rst)f(try)h(to)g(remo)-23 b(v)g(e)498 b(the)20459
-54164 y
-SDict begin H.S end
- 20459 54164 a 20459 54164 a
-SDict begin 18.2 H.A end
- 20459 54164 a 20459
-54164 a
-SDict begin [ /View [/XYZ H.V] /Dest (3791) cvn H.B /DEST pdfmark end
- 20459 54164 a FQ(hejaz)d FU(directory)j(inside)34383
-54164 y
-SDict begin H.S end
- 34383 54164 a 34383 54164 a
-SDict begin 18.2 H.A end
- 34383 54164 a 34383
-54164 a
-SDict begin [ /View [/XYZ H.V] /Dest (3792) cvn H.B /DEST pdfmark end
- 34383 54164 a FQ(/tmp)p FU(.)e(If)i(that)g(is)g(successful,)g
-(it)-30 56178 y(will)410 b(try)g(to)g(remo)-23 b(v)g(e)11552
-56178 y
-SDict begin H.S end
- 11552 56178 a 11552 56178 a
-SDict begin 18.2 H.A end
- 11552 56178 a 11552
-56178 a
-SDict begin [ /View [/XYZ H.V] /Dest (3793) cvn H.B /DEST pdfmark end
- 11552 56178 a FQ(/tmp)p FU(.)14855 56178 y
-SDict begin H.S end
- 14855
-56178 a 14855 56178 a
-SDict begin 18.2 H.A end
- 14855 56178 a 14855 56178 a
-SDict begin [ /View [/XYZ H.V] /Dest (3794) cvn H.B /DEST pdfmark end
- 14855
-56178 a FP(rmdir)410 b FU(will)g(continue)g(this)g(until)f(an)i(error)f
-(is)h(encountered)f(or)g(the)-30 58193 y(entire)387 b(tree)h
-(speci\002ed)e(is)i(remo)-23 b(v)g(ed.)-30 60853 y
-SDict begin H.S end
- -30
-60853 a -30 60853 a
-SDict begin 18.2 H.A end
- -30 60853 a -30 60853 a
-SDict begin [ /View [/XYZ H.V] /Dest (FILE-COMMANDS-LINK) cvn H.B /DEST
-pdfmark end
- -30 60853
-a Black 12939 x FR(130)p Black eop end
-%%Page: 131 153
-TeXDict begin 131 152 bop -8000 -8000 a
-SDict begin /product where{pop product(Distiller)search{pop pop pop
-version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
-closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
-grestore}if}{pop}ifelse}{pop}ifelse}if end
- -8000 -8000 a
-Black 0 TeXcolorgray -30 -1237 a
-SDict begin H.S end
- -30 -1237 a 0 TeXcolorgray
-0 TeXcolorgray -30 -1237 a
-SDict begin H.R end
- -30 -1237 a -30 -1237 a
-SDict begin [ /View [/XYZ H.V] /Dest (page.131) cvn H.B /DEST pdfmark
-end
- -30
--1237 a Black 24998 -1636 a FR(Chapter)387 b(10)g(Handling)f(F)-70
-b(iles)387 b(and)g(Dir)-57 b(ectories)p Black -30 4132
-a FL(10.7)620 b(Aliasing)g(\002les)g(with)h Fq(ln)-30
-4629 y
-SDict begin H.S end
- -30 4629 a -30 4629 a
-SDict begin 18.2 H.A end
- -30 4629 a -30 4629 a
-SDict begin [ /View [/XYZ H.V] /Dest (3798) cvn H.B /DEST pdfmark end
- -30
-4629 a -30 5744 a
-SDict begin H.S end
- -30 5744 a -30 5744 a
-SDict begin 18.2 H.A end
- -30 5744 a -30
-5744 a
-SDict begin [ /View [/XYZ H.V] /Dest (3800) cvn H.B /DEST pdfmark end
- -30 5744 a -30 5744 a
-SDict begin H.S end
- -30 5744 a -30 5744 a
-SDict begin 18.2 H.A end
- -30
-5744 a -30 5744 a
-SDict begin [ /View [/XYZ H.V] /Dest (3801) cvn H.B /DEST pdfmark end
- -30 5744 a 1519 x FP(ln)p FU(\(1\))511
-b(is)g(used)f(to)h(create)h(links)e(between)h(\002les.)g(These)f(links)
-h(can)g(be)g(either)g(hard)g(links)f(or)-30 9277 y(soft)344
-b(\(symbolic\))f(links.)g(The)h(dif)-39 b(ferences)344
-b(between)g(the)g(tw)-15 b(o)343 b(kinds)g(of)h(links)g(were)g
-(discussed)-30 11292 y(in)p 0 TeXcolorgray 1532 11292
-a
-SDict begin H.S end
- 1532 11292 a FU(Section)387 b(9.3)8506 11292 y
-SDict begin 18.2 H.L end
- 8506
-11292 a 8506 11292 a
-SDict begin [ /Subtype /Link /Dest (FILESYSTEM-STRUCTURE-LINKS) cvn
-/H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 8506 11292 a Black FU(.)356 b(If)h(you)e(w)-15
-b(anted)356 b(to)f(mak)-15 b(e)356 b(a)g(symbolic)f(link)g(to)h(the)g
-(directory)43007 11292 y
-SDict begin H.S end
- 43007 11292 a 43007 11292 a
-SDict begin 18.2 H.A end
-
-43007 11292 a 43007 11292 a
-SDict begin [ /View [/XYZ H.V] /Dest (3803) cvn H.B /DEST pdfmark end
- 43007 11292 a FQ(/var/media/mp3)-30
-13307 y FU(and)387 b(place)h(the)f(link)g(in)g(your)g(home)g(directory)
--101 b(,)388 b(you)f(w)-15 b(ould)386 b(do)h(this:)-30
-15192 y
-SDict begin H.S end
- -30 15192 a -30 15192 a
-SDict begin 14.56 H.A end
- -30 15192 a -30 15192
-a
-SDict begin [ /View [/XYZ H.V] /Dest (3804) cvn H.B /DEST pdfmark end
- -30 15192 a -30 15192 a
-SDict begin H.S end
- -30 15192 a -30 15192 a
-SDict begin 14.56 H.A end
- -30
-15192 a -30 15192 a
-SDict begin [ /View [/XYZ H.V] /Dest (3805) cvn H.B /DEST pdfmark end
- -30 15192 a 1276 x FJ(\045)1309 16468
-y
-SDict begin H.S end
- 1309 16468 a 1309 16468 a
-SDict begin 14.56 H.A end
- 1309 16468 a 1309 16468 a
-SDict begin [ /View [/XYZ H.V] /Dest (3806) cvn H.B /DEST pdfmark end
-
-1309 16468 a FH(ln)744 b(-s)f(/var/media/mp3)g(~/mp3)-30
-18186 y
-SDict begin H.S end
- -30 18186 a -30 18186 a
-SDict begin 18.2 H.A end
- -30 18186 a -30 18186
-a
-SDict begin [ /View [/XYZ H.V] /Dest (3807) cvn H.B /DEST pdfmark end
- -30 18186 a 1847 x FU(The)2823 20033 y
-SDict begin H.S end
- 2823 20033 a
-2823 20033 a
-SDict begin 18.2 H.A end
- 2823 20033 a 2823 20033 a
-SDict begin [ /View [/XYZ H.V] /Dest (3808) cvn H.B /DEST pdfmark end
- 2823 20033 a FP(-s)443
-b FU(option)f(tells)12184 20033 y
-SDict begin H.S end
- 12184 20033 a 12184
-20033 a
-SDict begin 18.2 H.A end
- 12184 20033 a 12184 20033 a
-SDict begin [ /View [/XYZ H.V] /Dest (3809) cvn H.B /DEST pdfmark end
- 12184 20033 a FP(ln)h
-FU(to)f(mak)-15 b(e)442 b(a)h(symbolic)f(link.)h(The)g(ne)-23
-b(xt)442 b(option)g(is)h(the)f(tar)-28 b(get)443 b(of)g(the)-30
-22047 y(link,)414 b(and)g(the)g(\002nal)g(option)f(is)h(what)g(to)g
-(call)g(the)f(link.)h(In)h(this)e(case,)i(it)f(will)f(just)h(mak)-15
-b(e)413 b(a)h(\002le)-30 24062 y(called)4062 24062 y
-SDict begin H.S end
-
-4062 24062 a 4062 24062 a
-SDict begin 18.2 H.A end
- 4062 24062 a 4062 24062 a
-SDict begin [ /View [/XYZ H.V] /Dest (3810) cvn H.B /DEST pdfmark end
- 4062
-24062 a FQ(mp3)389 b FU(in)i(your)f(home)h(directory)f(that)h(points)f
-(to)29472 24062 y
-SDict begin H.S end
- 29472 24062 a 29472 24062 a
-SDict begin 18.2 H.A end
- 29472 24062
-a 29472 24062 a
-SDict begin [ /View [/XYZ H.V] /Dest (3811) cvn H.B /DEST pdfmark end
- 29472 24062 a FQ(/var/media/mp3)p FU(.)383
-b(Y)-170 b(ou)390 b(can)h(call)g(the)f(link)-30 26077
-y(itself)d(whate)-39 b(v)-23 b(er)387 b(you)g(w)-15 b(ant)387
-b(by)g(just)g(changing)g(the)g(last)g(option.)-30 27187
-y
-SDict begin H.S end
- -30 27187 a -30 27187 a
-SDict begin 18.2 H.A end
- -30 27187 a -30 27187 a
-SDict begin [ /View [/XYZ H.V] /Dest (3812) cvn H.B /DEST pdfmark end
- -30
-27187 a 1679 x FU(Making)464 b(a)h(hard)g(link)f(is)g(just)h(as)f
-(simple.)h(All)f(you)g(ha)-31 b(v)-23 b(e)465 b(to)f(do)h(is)g(lea)-31
-b(v)-23 b(e)464 b(of)-39 b(f)465 b(the)45475 28866 y
-SDict begin H.S end
-
-45475 28866 a 45475 28866 a
-SDict begin 18.2 H.A end
- 45475 28866 a 45475 28866
-a
-SDict begin [ /View [/XYZ H.V] /Dest (3813) cvn H.B /DEST pdfmark end
- 45475 28866 a FP(-s)f FU(option.)-30 30881 y(Hard)480
-b(links)e(may)i(not)f(normally)f(refer)i(to)g(directories)e(or)i(span)f
-(\002le)g(systems,)g(ho)-39 b(we)g(v)-23 b(er)-85 b(.)480
-b(T)-124 b(o)-30 32895 y(create)388 b(a)f(hard)h(link)11072
-32895 y
-SDict begin H.S end
- 11072 32895 a 11072 32895 a
-SDict begin 18.2 H.A end
- 11072 32895 a 11072
-32895 a
-SDict begin [ /View [/XYZ H.V] /Dest (3814) cvn H.B /DEST pdfmark end
- 11072 32895 a FQ(/usr/bin/email)379 b FU(to)21822
-32895 y
-SDict begin H.S end
- 21822 32895 a 21822 32895 a
-SDict begin 18.2 H.A end
- 21822 32895 a 21822
-32895 a
-SDict begin [ /View [/XYZ H.V] /Dest (3815) cvn H.B /DEST pdfmark end
- 21822 32895 a FQ(/usr/bin/mutt)p FU(,)g(simply)387
-b(type)g(the)g(follo)-39 b(wing:)-30 34781 y
-SDict begin H.S end
- -30 34781
-a -30 34781 a
-SDict begin 14.56 H.A end
- -30 34781 a -30 34781 a
-SDict begin [ /View [/XYZ H.V] /Dest (3816) cvn H.B /DEST pdfmark end
- -30 34781 a -30
-34781 a
-SDict begin H.S end
- -30 34781 a -30 34781 a
-SDict begin 14.56 H.A end
- -30 34781 a -30 34781
-a
-SDict begin [ /View [/XYZ H.V] /Dest (3817) cvn H.B /DEST pdfmark end
- -30 34781 a 1276 x FJ(#)1309 36057 y
-SDict begin H.S end
- 1309 36057 a 1309
-36057 a
-SDict begin 14.56 H.A end
- 1309 36057 a 1309 36057 a
-SDict begin [ /View [/XYZ H.V] /Dest (3818) cvn H.B /DEST pdfmark end
- 1309 36057 a FH(ln)744
-b(/usr/bin/mutt)e(/usr/bin/email)p Black 49451 73792
-a FR(131)p Black eop end
-%%Page: 132 154
-TeXDict begin 132 153 bop -8000 -8000 a
-SDict begin /product where{pop product(Distiller)search{pop pop pop
-version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
-closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
-grestore}if}{pop}ifelse}{pop}ifelse}if end
- -8000 -8000 a
-Black 0 TeXcolorgray -30 -1237 a
-SDict begin H.S end
- -30 -1237 a 0 TeXcolorgray
-0 TeXcolorgray -30 -1237 a
-SDict begin H.R end
- -30 -1237 a -30 -1237 a
-SDict begin [ /View [/XYZ H.V] /Dest (page.132) cvn H.B /DEST pdfmark
-end
- -30
--1237 a Black -399 x FR(Chapter)387 b(10)g(Handling)f(F)-70
-b(iles)387 b(and)g(Dir)-57 b(ectories)p Black Black -30
-73792 a(132)p Black eop end
-%%Page: 133 155
-TeXDict begin 133 154 bop -8000 -8000 a
-SDict begin /product where{pop product(Distiller)search{pop pop pop
-version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
-closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
-grestore}if}{pop}ifelse}{pop}ifelse}if end
- -8000 -8000 a
-Black 0 TeXcolorgray -30 -1358 a
-SDict begin H.S end
- -30 -1358 a 0 TeXcolorgray
-0 TeXcolorgray -30 -1358 a
-SDict begin H.R end
- -30 -1358 a -30 -1358 a
-SDict begin [ /View [/XYZ H.V] /Dest (page.133) cvn H.B /DEST pdfmark
-end
- -30
--1358 a Black Black -30 2383 a
-SDict begin H.S end
- -30 2383 a -30 2383 a
-SDict begin 18.2 H.A end
-
--30 2383 a -30 2383 a
-SDict begin [ /View [/XYZ H.V] /Dest (PROCESS-CONTROL) cvn H.B /DEST
-pdfmark end
- -30 2383 a 2345 x FS(Chapter)894
-b(11)-30 10743 y FO(Pr)-93 b(ocess)1287 b(Contr)-93 b(ol)p
--30 18316 51806 56 v -30 18316 a
-SDict begin H.S end
- -30 18316 a -30 18316
-a
-SDict begin 18.2 H.A end
- -30 18316 a -30 18316 a
-SDict begin [ /View [/XYZ H.V] /Dest (3821) cvn H.B /DEST pdfmark end
- -30 18316 a -30 18316 a
-SDict begin H.S end
- -30
-18316 a -30 18316 a
-SDict begin 18.2 H.A end
- -30 18316 a -30 18316 a
-SDict begin [ /View [/XYZ H.V] /Dest (3823) cvn H.B /DEST pdfmark end
- -30 18316
-a -30 18316 a
-SDict begin H.S end
- -30 18316 a -30 18316 a
-SDict begin 18.2 H.A end
- -30 18316 a -30
-18316 a
-SDict begin [ /View [/XYZ H.V] /Dest (3825) cvn H.B /DEST pdfmark end
- -30 18316 a -30 19091 a
-SDict begin H.S end
- -30 19091 a -30 19091
-a
-SDict begin 18.2 H.A end
- -30 19091 a -30 19091 a
-SDict begin [ /View [/XYZ H.V] /Dest (3827) cvn H.B /DEST pdfmark end
- -30 19091 a 1051 x FU(Ev)-23
-b(ery)335 b(program)g(that)f(is)h(running)g(is)g(called)f(a)i(process.)
-f(These)g(processes)g(range)g(from)g(things)-30 22157
-y(lik)-15 b(e)398 b(the)g(X)g(W)-62 b(indo)-39 b(w)398
-b(System)f(to)h(system)g(programs)g(\(daemons\))f(that)h(are)h(started)
-f(when)g(the)-30 24171 y(computer)378 b(boots.)g(Ev)-23
-b(ery)378 b(process)g(runs)g(as)g(a)h(particular)e(user)-85
-b(.)379 b(Processes)f(that)f(are)i(started)f(at)-30 26186
-y(boot)501 b(time)g(usually)f(run)h(as)15822 26186 y
-SDict begin H.S end
-
-15822 26186 a 15822 26186 a
-SDict begin 18.2 H.A end
- 15822 26186 a 15822 26186
-a
-SDict begin [ /View [/XYZ H.V] /Dest (3828) cvn H.B /DEST pdfmark end
- 15822 26186 a FP(root)g FU(or)21091 26186 y
-SDict begin H.S end
- 21091 26186
-a 21091 26186 a
-SDict begin 18.2 H.A end
- 21091 26186 a 21091 26186 a
-SDict begin [ /View [/XYZ H.V] /Dest (3829) cvn H.B /DEST pdfmark end
- 21091 26186
-a FP(nobody)p FU(.)g(Processes)g(that)g(you)g(start)g(will)f(run)h(as)h
-(you.)-30 28201 y(Processes)387 b(started)g(as)g(other)g(users)g(will)g
-(run)g(as)h(those)f(users.)-30 28991 y
-SDict begin H.S end
- -30 28991 a -30
-28991 a
-SDict begin 18.2 H.A end
- -30 28991 a -30 28991 a
-SDict begin [ /View [/XYZ H.V] /Dest (3830) cvn H.B /DEST pdfmark end
- -30 28991 a 1999 x FU(Y)-170
-b(ou)361 b(ha)-31 b(v)-23 b(e)361 b(control)f(o)-23 b(v)g(er)361
-b(all)g(the)g(processes)g(that)g(you)g(start.)g(Additionally)-101
-b(,)41622 30990 y
-SDict begin H.S end
- 41622 30990 a 41622 30990 a
-SDict begin 18.2 H.A end
- 41622 30990
-a 41622 30990 a
-SDict begin [ /View [/XYZ H.V] /Dest (3831) cvn H.B /DEST pdfmark end
- 41622 30990 a FP(root)360 b FU(has)h(control)-30
-33005 y(o)-23 b(v)g(er)490 b(all)g(processes)g(on)g(the)g(system,)g
-(including)f(those)h(started)g(by)g(other)g(users.)h(Processes)-30
-35020 y(can)539 b(be)f(controlled)f(and)i(monitored)e(through)h(se)-39
-b(v)-23 b(eral)538 b(programs,)g(as)g(well)g(as)h(some)e(shell)-30
-37034 y(commands.)-30 37049 y
-SDict begin H.S end
- -30 37049 a -30 37049 a
-SDict begin 18.2 H.A end
-
--30 37049 a -30 37049 a
-SDict begin [ /View [/XYZ H.V] /Dest (PROCESS-CONTROL-BACKGROUNDING)
-cvn H.B /DEST pdfmark end
- -30 37049 a 6110 x FL(11.1)620
-b(Bac)-45 b(kgr)g(ounding)-30 43655 y
-SDict begin H.S end
- -30 43655 a -30
-43655 a
-SDict begin 18.2 H.A end
- -30 43655 a -30 43655 a
-SDict begin [ /View [/XYZ H.V] /Dest (3834) cvn H.B /DEST pdfmark end
- -30 43655 a -30 44771
-a
-SDict begin H.S end
- -30 44771 a -30 44771 a
-SDict begin 18.2 H.A end
- -30 44771 a -30 44771 a
-SDict begin [ /View [/XYZ H.V] /Dest (3837) cvn H.B /DEST pdfmark end
- -30
-44771 a 1518 x FU(Programs)364 b(started)f(from)h(the)g(command)g(line)
-g(start)g(up)g(in)g(the)g(fore)-23 b(ground.)364 b(This)f(allo)-39
-b(ws)364 b(you)-30 48304 y(to)444 b(see)h(all)f(the)h(output)f(of)g
-(the)h(program)f(and)g(interact)h(with)f(it.)g(Ho)-39
-b(we)g(v)-23 b(er)-62 b(,)446 b(there)e(are)h(se)-39
-b(v)-23 b(eral)-30 50319 y(occasions)373 b(when)g(you')-77
-b(d)372 b(lik)-15 b(e)372 b(the)h(program)g(to)g(run)g(without)f
-(taking)h(up)g(your)g(terminal.)f(This)-30 52333 y(is)387
-b(called)g(running)g(the)g(program)g(in)g(the)g(background,)h(and)f
-(there)g(are)h(a)f(fe)-39 b(w)388 b(w)-15 b(ays)387 b(to)g(do)g(it.)-30
-53444 y
-SDict begin H.S end
- -30 53444 a -30 53444 a
-SDict begin 18.2 H.A end
- -30 53444 a -30 53444
-a
-SDict begin [ /View [/XYZ H.V] /Dest (3838) cvn H.B /DEST pdfmark end
- -30 53444 a 1679 x FU(The)455 b(\002rst)f(w)-15 b(ay)455
-b(to)g(background)f(a)h(process)g(is)f(by)h(adding)g(an)g(ampersand)f
-(to)h(the)g(command)-30 57138 y(line)440 b(when)f(you)h(start)f(the)h
-(program.)g(F)-23 b(or)439 b(e)-23 b(xample,)439 b(assume)h(you)f(w)-15
-b(anted)439 b(to)h(use)f(the)h(com-)-30 59152 y(mand)525
-b(line)h(mp3)f(player)14470 59152 y
-SDict begin H.S end
- 14470 59152 a 14470
-59152 a
-SDict begin 18.2 H.A end
- 14470 59152 a 14470 59152 a
-SDict begin [ /View [/XYZ H.V] /Dest (3839) cvn H.B /DEST pdfmark end
- 14470 59152 a FP(amp)g
-FU(to)h(play)f(a)h(directory)f(full)h(of)g(mp3s,)f(b)-31
-b(ut)525 b(you)h(needed)g(to)f(do)-30 61167 y(something)486
-b(else)h(on)g(the)g(same)f(terminal.)h(The)g(follo)-39
-b(wing)486 b(command)h(line)f(w)-15 b(ould)486 b(start)h(up)-30
-63182 y(amp)387 b(in)g(the)h(background:)-30 65067 y
-SDict begin H.S end
-
--30 65067 a -30 65067 a
-SDict begin 14.56 H.A end
- -30 65067 a -30 65067 a
-SDict begin [ /View [/XYZ H.V] /Dest (3840) cvn H.B /DEST pdfmark end
- -30 65067
-a -30 65067 a
-SDict begin H.S end
- -30 65067 a -30 65067 a
-SDict begin 14.56 H.A end
- -30 65067 a -30
-65067 a
-SDict begin [ /View [/XYZ H.V] /Dest (3841) cvn H.B /DEST pdfmark end
- -30 65067 a 1276 x FJ(\045)1309 66343 y
-SDict begin H.S end
- 1309
-66343 a 1309 66343 a
-SDict begin 14.56 H.A end
- 1309 66343 a 1309 66343 a
-SDict begin [ /View [/XYZ H.V] /Dest (3842) cvn H.B /DEST pdfmark end
- 1309 66343
-a FH(amp)744 b(*.mp3)f(&)p Black -30 73672 a
-SDict begin H.S end
- -30 73672
-a -30 73672 a
-SDict begin 18.2 H.A end
- -30 73672 a -30 73672 a
-SDict begin [ /View [/XYZ H.V] /Dest (3850) cvn H.B /DEST pdfmark end
- -30 73672 a 49451
-74722 a FR(133)p Black eop end
-%%Page: 134 156
-TeXDict begin 134 155 bop -8000 -8000 a
-SDict begin /product where{pop product(Distiller)search{pop pop pop
-version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
-closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
-grestore}if}{pop}ifelse}{pop}ifelse}if end
- -8000 -8000 a
-Black 0 TeXcolorgray -30 -1358 a
-SDict begin H.S end
- -30 -1358 a 0 TeXcolorgray
-0 TeXcolorgray -30 -1358 a
-SDict begin H.R end
- -30 -1358 a -30 -1358 a
-SDict begin [ /View [/XYZ H.V] /Dest (page.134) cvn H.B /DEST pdfmark
-end
- -30
--1358 a Black -278 x FR(Chapter)387 b(11)g(Pr)-70 b(ocess)387
-b(Contr)-70 b(ol)p Black -30 2383 a
-SDict begin H.S end
- -30 2383 a -30 2383
-a
-SDict begin 18.2 H.A end
- -30 2383 a -30 2383 a
-SDict begin [ /View [/XYZ H.V] /Dest (3843) cvn H.B /DEST pdfmark end
- -30 2383 a 1107 x FU(The)387
-b(program)g(will)g(run)g(as)h(normal,)f(and)g(you)g(are)h(returned)f
-(to)g(a)h(prompt.)-30 3826 y
-SDict begin H.S end
- -30 3826 a -30 3826 a
-SDict begin 18.2 H.A end
- -30
-3826 a -30 3826 a
-SDict begin [ /View [/XYZ H.V] /Dest (3844) cvn H.B /DEST pdfmark end
- -30 3826 a -30 3826 a
-SDict begin H.S end
- -30 3826 a -30
-3826 a
-SDict begin 18.2 H.A end
- -30 3826 a -30 3826 a
-SDict begin [ /View [/XYZ H.V] /Dest (3847) cvn H.B /DEST pdfmark end
- -30 3826 a 2454 x FU(The)330
-b(other)f(w)-15 b(ay)329 b(to)h(background)f(a)h(process)g(is)f(to)g
-(do)h(so)g(while)f(it)g(is)h(running.)f(First,)h(start)f(up)h(a)-30
-8294 y(program.)308 b(While)g(it)g(is)f(running,)h(hit)g
-FX(Contr)-28 b(ol)p FU(+)25997 8294 y
-SDict begin H.S end
- 25997 8294 a 25997
-8294 a
-SDict begin 18.2 H.A end
- 25997 8294 a 25997 8294 a
-SDict begin [ /View [/XYZ H.V] /Dest (3853) cvn H.B /DEST pdfmark end
- 25997 8294 a FX(z)p
-FU(.)308 b(This)f(suspends)h(the)g(process.)g(A)g(suspended)-30
-10309 y(process)313 b(is)f(basically)g(paused.)h(It)g(momentarily)f
-(stops)g(running,)g(b)-31 b(ut)313 b(can)g(be)g(started)f(up)h(ag)-8
-b(ain)-30 12324 y(at)403 b(an)-23 b(y)403 b(time.)g(Once)g(you)g(ha)-31
-b(v)-23 b(e)402 b(suspended)h(a)g(process,)g(you)g(are)g(returned)g(to)
-g(a)g(prompt.)g(Y)-170 b(ou)-30 14338 y(can)388 b(background)e(the)i
-(process)f(by)g(typing:)-30 16224 y
-SDict begin H.S end
- -30 16224 a -30 16224
-a
-SDict begin 14.56 H.A end
- -30 16224 a -30 16224 a
-SDict begin [ /View [/XYZ H.V] /Dest (3854) cvn H.B /DEST pdfmark end
- -30 16224 a -30 16224 a
-SDict begin H.S end
- -30
-16224 a -30 16224 a
-SDict begin 14.56 H.A end
- -30 16224 a -30 16224 a
-SDict begin [ /View [/XYZ H.V] /Dest (3855) cvn H.B /DEST pdfmark end
- -30 16224
-a 1276 x FJ(\045)1309 17500 y
-SDict begin H.S end
- 1309 17500 a 1309 17500
-a
-SDict begin 14.56 H.A end
- 1309 17500 a 1309 17500 a
-SDict begin [ /View [/XYZ H.V] /Dest (3856) cvn H.B /DEST pdfmark end
- 1309 17500 a FH(bg)-30 19218
-y
-SDict begin H.S end
- -30 19218 a -30 19218 a
-SDict begin 18.2 H.A end
- -30 19218 a -30 19218 a
-SDict begin [ /View [/XYZ H.V] /Dest (3857) cvn H.B /DEST pdfmark end
- -30
-19218 a 1846 x FU(No)-39 b(w)387 b(the)h(suspended)e(process)h(is)g
-(running)g(in)g(the)g(background.)-30 22175 y
-SDict begin H.S end
- -30 22175
-a -30 22175 a
-SDict begin 18.2 H.A end
- -30 22175 a -30 22175 a
-SDict begin [ /View [/XYZ H.V] /Dest (PROCESS-CONTROL-FOREGROUNDING)
-cvn H.B /DEST pdfmark end
- -30 22175 a 5789
-x FL(11.2)620 b(Foregr)-45 b(ounding)-30 28460 y
-SDict begin H.S end
- -30
-28460 a -30 28460 a
-SDict begin 18.2 H.A end
- -30 28460 a -30 28460 a
-SDict begin [ /View [/XYZ H.V] /Dest (3860) cvn H.B /DEST pdfmark end
- -30 28460
-a -30 29576 a
-SDict begin H.S end
- -30 29576 a -30 29576 a
-SDict begin 18.2 H.A end
- -30 29576 a -30
-29576 a
-SDict begin [ /View [/XYZ H.V] /Dest (3863) cvn H.B /DEST pdfmark end
- -30 29576 a 1518 x FU(If)438 b(you)g(need)g(to)g(interact)g
-(with)f(a)i(backgrounded)e(process,)h(you)g(can)g(bring)g(it)g(back)g
-(into)f(the)-30 33109 y(fore)-23 b(ground.)419 b(If)g(you')-77
-b(v)-23 b(e)418 b(only)h(got)f(one)h(backgrounded)g(process,)g(you)g
-(can)g(bring)f(it)h(back)g(by)-30 35124 y(typing:)-30
-37009 y
-SDict begin H.S end
- -30 37009 a -30 37009 a
-SDict begin 14.56 H.A end
- -30 37009 a -30 37009
-a
-SDict begin [ /View [/XYZ H.V] /Dest (3864) cvn H.B /DEST pdfmark end
- -30 37009 a -30 37009 a
-SDict begin H.S end
- -30 37009 a -30 37009 a
-SDict begin 14.56 H.A end
- -30
-37009 a -30 37009 a
-SDict begin [ /View [/XYZ H.V] /Dest (3865) cvn H.B /DEST pdfmark end
- -30 37009 a 1276 x FJ(\045)1309 38285
-y
-SDict begin H.S end
- 1309 38285 a 1309 38285 a
-SDict begin 14.56 H.A end
- 1309 38285 a 1309 38285 a
-SDict begin [ /View [/XYZ H.V] /Dest (3866) cvn H.B /DEST pdfmark end
-
-1309 38285 a FH(fg)-30 40003 y
-SDict begin H.S end
- -30 40003 a -30 40003
-a
-SDict begin 18.2 H.A end
- -30 40003 a -30 40003 a
-SDict begin [ /View [/XYZ H.V] /Dest (3867) cvn H.B /DEST pdfmark end
- -30 40003 a 1847 x FU(If)406
-b(the)g(program)g(is)f(not)h(done)f(running,)h(the)g(program)f(will)h
-(tak)-15 b(e)405 b(control)h(o)-23 b(v)g(er)405 b(you)h(terminal)-30
-43864 y(and)312 b(you)g(will)f(not)h(be)g(returned)f(to)h(a)g(prompt.)g
-(Sometimes,)f(the)h(program)f(will)h(\002nish)f(running)-30
-45879 y(while)387 b(backgrounded.)g(In)h(this)e(instance,)i(you')-15
-b(ll)386 b(get)h(a)h(message)e(lik)-15 b(e)387 b(this:)-30
-47764 y
-SDict begin H.S end
- -30 47764 a -30 47764 a
-SDict begin 14.56 H.A end
- -30 47764 a -30 47764
-a
-SDict begin [ /View [/XYZ H.V] /Dest (3868) cvn H.B /DEST pdfmark end
- -30 47764 a 1276 x FP([1]+)1487 b(Done)10414 b(/bin/ls)743
-b($LS_OPTIONS)-30 50735 y
-SDict begin H.S end
- -30 50735 a -30 50735 a
-SDict begin 18.2 H.A end
- -30
-50735 a -30 50735 a
-SDict begin [ /View [/XYZ H.V] /Dest (3869) cvn H.B /DEST pdfmark end
- -30 50735 a 1870 x FU(That)298 b(tells)g(you)g
-(that)g(the)g(backgrounded)g(process)g(\(in)g(this)g(case)34976
-52605 y
-SDict begin H.S end
- 34976 52605 a 34976 52605 a
-SDict begin 18.2 H.A end
- 34976 52605 a 34976
-52605 a
-SDict begin [ /View [/XYZ H.V] /Dest (3870) cvn H.B /DEST pdfmark end
- 34976 52605 a FP(ls)h FU(-)f(not)g(terribly)g(interesting\))-30
-54619 y(has)387 b(completed.)-30 54955 y
-SDict begin H.S end
- -30 54955 a
--30 54955 a
-SDict begin 18.2 H.A end
- -30 54955 a -30 54955 a
-SDict begin [ /View [/XYZ H.V] /Dest (3871) cvn H.B /DEST pdfmark end
- -30 54955 a -30 55730
-a
-SDict begin H.S end
- -30 55730 a -30 55730 a
-SDict begin 18.2 H.A end
- -30 55730 a -30 55730 a
-SDict begin [ /View [/XYZ H.V] /Dest (3873) cvn H.B /DEST pdfmark end
- -30
-55730 a 1679 x FU(It)482 b(is)g(possible)f(to)h(ha)-31
-b(v)-23 b(e)481 b(se)-39 b(v)-23 b(eral)482 b(processes)g(backgrounded)
-f(at)h(once.)h(When)f(this)f(happens,)-30 59424 y(you')-15
-b(ll)475 b(need)h(to)f(kno)-39 b(w)476 b(which)f(process)h(you)f(w)-15
-b(ant)475 b(to)h(bring)f(back)h(to)f(the)h(fore)-23 b(ground.)475
-b(Just)-30 61438 y(typing)4365 61438 y
-SDict begin H.S end
- 4365 61438 a 4365
-61438 a
-SDict begin 18.2 H.A end
- 4365 61438 a 4365 61438 a
-SDict begin [ /View [/XYZ H.V] /Dest (3874) cvn H.B /DEST pdfmark end
- 4365 61438 a FP(fg)433
-b FU(will)g(fore)-23 b(ground)433 b(the)h(process)f(that)g(w)-15
-b(as)433 b(last)g(backgrounded.)h(What)f(if)h(you)f(had)-30
-63453 y(a)460 b(whole)g(list)f(of)h(processes)g(in)g(the)g(background?)
-f(Luckily)-101 b(,)461 b(bash)e(includes)h(a)g(command)f(to)-30
-65468 y(list)387 b(all)g(the)g(processes.)h(It')-85 b(s)387
-b(called)19641 65468 y
-SDict begin H.S end
- 19641 65468 a 19641 65468 a
-SDict begin 18.2 H.A end
- 19641
-65468 a 19641 65468 a
-SDict begin [ /View [/XYZ H.V] /Dest (3875) cvn H.B /DEST pdfmark end
- 19641 65468 a FP(jobs)g FU(and)g(gi)-39
-b(v)-23 b(es)387 b(output)f(lik)-15 b(e)387 b(so:)p Black
--30 73672 a FR(134)p Black eop end
-%%Page: 135 157
-TeXDict begin 135 156 bop -8000 -8000 a
-SDict begin /product where{pop product(Distiller)search{pop pop pop
-version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
-closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
-grestore}if}{pop}ifelse}{pop}ifelse}if end
- -8000 -8000 a
-Black 0 TeXcolorgray -30 -1237 a
-SDict begin H.S end
- -30 -1237 a 0 TeXcolorgray
-0 TeXcolorgray -30 -1237 a
-SDict begin H.R end
- -30 -1237 a -30 -1237 a
-SDict begin [ /View [/XYZ H.V] /Dest (page.135) cvn H.B /DEST pdfmark
-end
- -30
--1237 a Black 34393 -1636 a FR(Chapter)386 b(11)h(Pr)-70
-b(ocess)387 b(Contr)-70 b(ol)p Black -30 2504 a
-SDict begin H.S end
- -30 2504
-a -30 2504 a
-SDict begin 14.56 H.A end
- -30 2504 a -30 2504 a
-SDict begin [ /View [/XYZ H.V] /Dest (3876) cvn H.B /DEST pdfmark end
- -30 2504 a -30 2504
-a
-SDict begin H.S end
- -30 2504 a -30 2504 a
-SDict begin 14.56 H.A end
- -30 2504 a -30 2504 a
-SDict begin [ /View [/XYZ H.V] /Dest (3877) cvn H.B /DEST pdfmark end
- -30 2504
-a 1107 x FJ(\045)1309 3611 y
-SDict begin H.S end
- 1309 3611 a 1309 3611 a
-SDict begin 14.56 H.A end
-
-1309 3611 a 1309 3611 a
-SDict begin [ /View [/XYZ H.V] /Dest (3878) cvn H.B /DEST pdfmark end
- 1309 3611 a FH(jobs)-30 5223
-y FP([1])2231 b(Stopped)12645 b(vim)-30 6835 y([2]-)1487
-b(Stopped)12645 b(amp)-30 8446 y([3]+)1487 b(Stopped)12645
-b(man)744 b(ps)-30 10191 y
-SDict begin H.S end
- -30 10191 a -30 10191 a
-SDict begin 18.2 H.A end
- -30
-10191 a -30 10191 a
-SDict begin [ /View [/XYZ H.V] /Dest (3879) cvn H.B /DEST pdfmark end
- -30 10191 a 1820 x FU(This)512 b(sho)-39
-b(ws)512 b(you)g(a)h(list)e(of)i(all)f(the)g(processes)g(that)g(are)h
-(backgrounded.)f(As)g(you)g(can)g(see,)-30 14025 y(the)-23
-b(y)431 b(are)g(all)g(stopped.)g(This)f(means)h(that)g(the)g(processes)
-f(are)i(suspended.)e(The)h(number)g(is)g(a)-30 16040
-y(sort)373 b(of)h(ID)f(for)g(all)h(the)f(backgrounded)g(processes.)g
-(The)g(ID)h(with)f(a)g(plus)g(sign)g(beside)g(it)g(\()49544
-16040 y
-SDict begin H.S end
- 49544 16040 a 49544 16040 a
-SDict begin 18.2 H.A end
- 49544 16040 a 49544
-16040 a
-SDict begin [ /View [/XYZ H.V] /Dest (3880) cvn H.B /DEST pdfmark end
- 49544 16040 a FP(man)-30 18055 y(ps)p FU(\))387
-b(is)g(the)h(process)f(that)g(will)g(be)g(fore)-23 b(grounded)387
-b(if)g(you)g(just)g(type)36902 18055 y
-SDict begin H.S end
- 36902 18055 a
-36902 18055 a
-SDict begin 18.2 H.A end
- 36902 18055 a 36902 18055 a
-SDict begin [ /View [/XYZ H.V] /Dest (3881) cvn H.B /DEST pdfmark end
- 36902 18055
-a FP(fg)p FU(.)-30 19165 y
-SDict begin H.S end
- -30 19165 a -30 19165 a
-SDict begin 18.2 H.A end
- -30
-19165 a -30 19165 a
-SDict begin [ /View [/XYZ H.V] /Dest (3882) cvn H.B /DEST pdfmark end
- -30 19165 a 1679 x FU(If)h(you)f(w)-15
-b(anted)386 b(to)h(fore)-23 b(ground)17792 20844 y
-SDict begin H.S end
- 17792
-20844 a 17792 20844 a
-SDict begin 18.2 H.A end
- 17792 20844 a 17792 20844 a
-SDict begin [ /View [/XYZ H.V] /Dest (3883) cvn H.B /DEST pdfmark end
- 17792
-20844 a FP(vim)p FU(,)388 b(you)f(w)-15 b(ould)386 b(type:)-30
-22730 y
-SDict begin H.S end
- -30 22730 a -30 22730 a
-SDict begin 14.56 H.A end
- -30 22730 a -30 22730
-a
-SDict begin [ /View [/XYZ H.V] /Dest (3884) cvn H.B /DEST pdfmark end
- -30 22730 a -30 22730 a
-SDict begin H.S end
- -30 22730 a -30 22730 a
-SDict begin 14.56 H.A end
- -30
-22730 a -30 22730 a
-SDict begin [ /View [/XYZ H.V] /Dest (3885) cvn H.B /DEST pdfmark end
- -30 22730 a 1276 x FJ(\045)1309 24006
-y
-SDict begin H.S end
- 1309 24006 a 1309 24006 a
-SDict begin 14.56 H.A end
- 1309 24006 a 1309 24006 a
-SDict begin [ /View [/XYZ H.V] /Dest (3886) cvn H.B /DEST pdfmark end
-
-1309 24006 a FH(fg)744 b(1)-30 25723 y
-SDict begin H.S end
- -30 25723 a -30
-25723 a
-SDict begin 18.2 H.A end
- -30 25723 a -30 25723 a
-SDict begin [ /View [/XYZ H.V] /Dest (3887) cvn H.B /DEST pdfmark end
- -30 25723 a 1847 x FU(and)2598
-27570 y
-SDict begin H.S end
- 2598 27570 a 2598 27570 a
-SDict begin 18.2 H.A end
- 2598 27570 a 2598 27570
-a
-SDict begin [ /View [/XYZ H.V] /Dest (3888) cvn H.B /DEST pdfmark end
- 2598 27570 a FP(vim)389 b FU(w)-15 b(ould)389 b(spring)g(back)h(up)f
-(to)h(the)f(console.)h(Backgrounding)e(processes)i(can)f(be)h(v)-23
-b(ery)-30 29585 y(useful)480 b(if)g(you)g(only)g(ha)-31
-b(v)-23 b(e)480 b(one)g(terminal)g(open)g(o)-23 b(v)g(er)480
-b(a)g(dialup)g(connection.)g(Y)-170 b(ou)480 b(can)g(ha)-31
-b(v)-23 b(e)-30 31599 y(se)-39 b(v)-23 b(eral)321 b(programs)g(running)
-f(on)h(that)g(one)g(terminal,)g(periodically)f(switching)g(back)h(and)g
-(forth)-30 33614 y(between)387 b(them.)-30 34405 y
-SDict begin H.S end
- -30
-34405 a -30 34405 a
-SDict begin 18.2 H.A end
- -30 34405 a -30 34405 a
-SDict begin [ /View [/XYZ H.V] /Dest (PROCESS-CONTROL-PS) cvn H.B /DEST
-pdfmark end
- -30 34405
-a 6109 x FL(11.3)620 b Fq(ps)-30 42091 y
-SDict begin H.S end
- -30 42091 a
--30 42091 a
-SDict begin 18.2 H.A end
- -30 42091 a -30 42091 a
-SDict begin [ /View [/XYZ H.V] /Dest (3892) cvn H.B /DEST pdfmark end
- -30 42091 a 1553
-x FU(So)615 b(no)-39 b(w)615 b(you)g(kno)-39 b(w)615
-b(ho)-39 b(w)615 b(to)g(switch)f(back)i(and)f(forth)g(between)f(se)-39
-b(v)-23 b(eral)615 b(processes)g(that)-30 45659 y(you')-77
-b(v)-23 b(e)571 b(started)g(from)g(the)g(command)g(line.)g(And)g(you)g
-(also)h(kno)-39 b(w)571 b(that)g(there)g(are)h(lots)f(of)-30
-47673 y(processes)417 b(running)f(all)h(the)g(time.)g(So)f(ho)-39
-b(w)417 b(do)g(you)g(list)f(all)h(of)g(these)g(programs?)f(W)-124
-b(ell,)417 b(you)-30 49688 y(mak)-15 b(e)440 b(use)h(of)g(the)10326
-49688 y
-SDict begin H.S end
- 10326 49688 a 10326 49688 a
-SDict begin 18.2 H.A end
- 10326 49688 a 10326
-49688 a
-SDict begin [ /View [/XYZ H.V] /Dest (3893) cvn H.B /DEST pdfmark end
- 10326 49688 a FP(ps)p FU(\(1\))g(command.)g(This)g(command)f
-(has)h(a)g(lot)g(of)g(options,)f(so)h(we')-15 b(ll)440
-b(only)-30 51703 y(co)-23 b(v)g(er)385 b(the)g(most)f(important)g(ones)
-h(here.)h(F)-23 b(or)385 b(a)g(complete)g(listing,)f(see)h(the)g(man)g
-(page)g(for)h(ps.)-30 53717 y(Man)h(pages)g(are)h(co)-23
-b(v)g(ered)387 b(in-depth)g(in)p 0 TeXcolorgray 21786
-53717 a
-SDict begin H.S end
- 21786 53717 a FU(Section)f(2.1.1)29921 53717
-y
-SDict begin 18.2 H.L end
- 29921 53717 a 29921 53717 a
-SDict begin [ /Subtype /Link /Dest (HELP-SYSTEM-MAN) cvn /H /I /Border
-[0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 29921 53717 a Black 1 w
-FU(.)-30 54053 y
-SDict begin H.S end
- -30 54053 a -30 54053 a
-SDict begin 18.2 H.A end
- -30 54053 a
--30 54053 a
-SDict begin [ /View [/XYZ H.V] /Dest (3895) cvn H.B /DEST pdfmark end
- -30 54053 a -30 54828 a
-SDict begin H.S end
- -30 54828 a -30 54828
-a
-SDict begin 18.2 H.A end
- -30 54828 a -30 54828 a
-SDict begin [ /View [/XYZ H.V] /Dest (3898) cvn H.B /DEST pdfmark end
- -30 54828 a 1679 x FU(Simply)490
-b(typing)9393 56507 y
-SDict begin H.S end
- 9393 56507 a 9393 56507 a
-SDict begin 18.2 H.A end
- 9393
-56507 a 9393 56507 a
-SDict begin [ /View [/XYZ H.V] /Dest (3899) cvn H.B /DEST pdfmark end
- 9393 56507 a FP(ps)h FU(will)g(get)h(you)f(a)h
-(listing)e(of)i(the)f(programs)g(running)g(on)g(your)g(terminal.)-30
-58522 y(This)554 b(incudes)g(the)g(fore)-23 b(ground)554
-b(processes)g(\(which)g(include)g(whate)-39 b(v)-23 b(er)554
-b(shell)g(you)g(are)h(us-)-30 60536 y(ing,)402 b(and)g(of)g(course,)
-11907 60536 y
-SDict begin H.S end
- 11907 60536 a 11907 60536 a
-SDict begin 18.2 H.A end
- 11907 60536
-a 11907 60536 a
-SDict begin [ /View [/XYZ H.V] /Dest (3900) cvn H.B /DEST pdfmark end
- 11907 60536 a FP(ps)g FU(itself\).)g(Also)f(listed)g
-(are)h(backgrounded)f(processes)h(you)g(may)f(ha)-31
-b(v)-23 b(e)-30 62551 y(running.)387 b(Man)-23 b(y)387
-b(times,)g(that)g(will)g(be)g(a)h(v)-23 b(ery)387 b(short)g(listing:)
--30 62886 y
-SDict begin H.S end
- -30 62886 a -30 62886 a
-SDict begin 18.2 H.A end
- -30 62886 a -30 62886
-a
-SDict begin [ /View [/XYZ H.V] /Dest (FIG-PROCESS-CONTROL-PS-SHORT)
-cvn H.B /DEST pdfmark end
- -30 62886 a Black 49451 73792 a FR(135)p Black eop
-end
-%%Page: 136 158
-TeXDict begin 136 157 bop -8000 -8000 a
-SDict begin /product where{pop product(Distiller)search{pop pop pop
-version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
-closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
-grestore}if}{pop}ifelse}{pop}ifelse}if end
- -8000 -8000 a
-Black 0 TeXcolorgray -30 -1237 a
-SDict begin H.S end
- -30 -1237 a 0 TeXcolorgray
-0 TeXcolorgray -30 -1237 a
-SDict begin H.R end
- -30 -1237 a -30 -1237 a
-SDict begin [ /View [/XYZ H.V] /Dest (page.136) cvn H.B /DEST pdfmark
-end
- -30
--1237 a Black -399 x FR(Chapter)387 b(11)g(Pr)-70 b(ocess)387
-b(Contr)-70 b(ol)p Black -30 3611 a FX(Figur)-28 b(e)387
-b(11-1.)h(Basic)e FV(ps)h FX(output)-30 5477 y
-SDict begin H.S end
- -30 5477
-a -30 5477 a
-SDict begin 14.56 H.A end
- -30 5477 a -30 5477 a
-SDict begin [ /View [/XYZ H.V] /Dest (3904) cvn H.B /DEST pdfmark end
- -30 5477 a -30 5477
-a
-SDict begin H.S end
- -30 5477 a -30 5477 a
-SDict begin 14.56 H.A end
- -30 5477 a -30 5477 a
-SDict begin [ /View [/XYZ H.V] /Dest (3905) cvn H.B /DEST pdfmark end
- -30 5477
-a 1296 x FJ(\045)1309 6773 y
-SDict begin H.S end
- 1309 6773 a 1309 6773 a
-SDict begin 14.56 H.A end
-
-1309 6773 a 1309 6773 a
-SDict begin [ /View [/XYZ H.V] /Dest (3906) cvn H.B /DEST pdfmark end
- 1309 6773 a FH(ps)2202 8384 y
-FP(PID)743 b(TTY)7439 b(TIME)743 b(CMD)1458 9996 y(7923)g(ttyp0)2975
-b(00:00:00)743 b(bash)1458 11608 y(8059)g(ttyp0)2975
-b(00:00:00)743 b(ps)-30 13352 y
-SDict begin H.S end
- -30 13352 a -30 13352
-a
-SDict begin 18.2 H.A end
- -30 13352 a -30 13352 a
-SDict begin [ /View [/XYZ H.V] /Dest (3907) cvn H.B /DEST pdfmark end
- -30 13352 a 1820 x FU(Ev)-23
-b(en)387 b(though)f(this)h(is)g(not)f(a)i(lot)e(of)i(processes,)f(the)g
-(information)f(is)h(v)-23 b(ery)386 b(typical.)h(Y)-170
-b(ou')-15 b(ll)386 b(get)-30 17187 y(the)472 b(same)g(columns)f(using)h
-(re)-23 b(gular)471 b(ps)h(no)g(matter)g(ho)-39 b(w)472
-b(man)-23 b(y)471 b(processes)h(are)g(running.)g(So)-30
-19202 y(what)387 b(does)g(it)g(all)h(mean?)-30 19992
-y
-SDict begin H.S end
- -30 19992 a -30 19992 a
-SDict begin 18.2 H.A end
- -30 19992 a -30 19992 a
-SDict begin [ /View [/XYZ H.V] /Dest (3908) cvn H.B /DEST pdfmark end
- -30
-19992 a 1999 x FU(W)-124 b(ell,)448 b(the)6036 21991
-y
-SDict begin H.S end
- 6036 21991 a 6036 21991 a
-SDict begin 18.2 H.A end
- 6036 21991 a 6036 21991 a
-SDict begin [ /View [/XYZ H.V] /Dest (3909) cvn H.B /DEST pdfmark end
-
-6036 21991 a FP(PID)g FU(is)g(the)12539 21991 y
-SDict begin H.S end
- 12539
-21991 a 12539 21991 a
-SDict begin 18.2 H.A end
- 12539 21991 a 12539 21991 a
-SDict begin [ /View [/XYZ H.V] /Dest (3910) cvn H.B /DEST pdfmark end
- 12539
-21991 a FR(pr)-70 b(ocess)448 b(ID)p FU(.)h(All)e(running)h(processes)f
-(are)i(gi)-39 b(v)-23 b(en)447 b(a)h(unique)g(identi\002er)-30
-24006 y(which)583 b(ranges)h(between)f(1)h(and)f(32767.)g(Each)h
-(process)f(is)h(assigned)e(the)i(ne)-23 b(xt)583 b(free)h(PID.)-30
-26020 y(When)381 b(a)h(process)f(quits)g(\(or)g(is)g(killed,)h(as)f
-(you)g(will)g(see)g(in)h(the)f(ne)-23 b(xt)381 b(section\),)g(it)g(gi)
--39 b(v)-23 b(es)381 b(up)g(its)-30 28035 y(PID.)431
-b(When)g(the)g(max)g(PID)g(is)g(reached,)h(the)e(ne)-23
-b(xt)431 b(free)h(one)f(will)f(wrap)h(back)g(around)g(to)g(the)-30
-30050 y(lo)-39 b(west)387 b(free)h(one.)-30 30840 y
-SDict begin H.S end
- -30
-30840 a -30 30840 a
-SDict begin 18.2 H.A end
- -30 30840 a -30 30840 a
-SDict begin [ /View [/XYZ H.V] /Dest (3911) cvn H.B /DEST pdfmark end
- -30 30840
-a 1999 x FU(The)2846 32839 y
-SDict begin H.S end
- 2846 32839 a 2846 32839
-a
-SDict begin 18.2 H.A end
- 2846 32839 a 2846 32839 a
-SDict begin [ /View [/XYZ H.V] /Dest (3912) cvn H.B /DEST pdfmark end
- 2846 32839 a FP(TTY)465 b
-FU(column)h(indicates)f(which)g(terminal)h(the)f(process)h(is)g
-(running)f(on.)h(Doing)f(a)h(plain)-30 34854 y
-SDict begin H.S end
- -30 34854
-a -30 34854 a
-SDict begin 18.2 H.A end
- -30 34854 a -30 34854 a
-SDict begin [ /View [/XYZ H.V] /Dest (3913) cvn H.B /DEST pdfmark end
- -30 34854 a FP(ps)333
-b FU(will)f(only)g(list)g(all)h(the)g(programs)f(running)g(on)h(the)f
-(current)h(terminal,)f(so)h(all)g(the)f(processes)-30
-36869 y(gi)-39 b(v)-23 b(e)360 b(the)f(same)h(information)e(in)i(the)g
-(TTY)f(column.)h(As)f(you)h(can)g(see,)g(both)f(processes)h(listed)-30
-38883 y(are)377 b(running)f(on)9363 38883 y
-SDict begin H.S end
- 9363 38883
-a 9363 38883 a
-SDict begin 18.2 H.A end
- 9363 38883 a 9363 38883 a
-SDict begin [ /View [/XYZ H.V] /Dest (3914) cvn H.B /DEST pdfmark end
- 9363 38883 a
-FQ(ttyp0)p FU(.)d(This)j(indicates)g(that)g(the)-23 b(y)376
-b(are)h(either)f(running)g(remotely)f(or)i(from)f(an)-30
-40898 y(X)387 b(terminal)g(of)g(some)g(v)-39 b(ariety)-101
-b(.)-30 41233 y
-SDict begin H.S end
- -30 41233 a -30 41233 a
-SDict begin 18.2 H.A end
- -30 41233 a -30
-41233 a
-SDict begin [ /View [/XYZ H.V] /Dest (3915) cvn H.B /DEST pdfmark end
- -30 41233 a -30 42008 a
-SDict begin H.S end
- -30 42008 a -30 42008
-a
-SDict begin 18.2 H.A end
- -30 42008 a -30 42008 a
-SDict begin [ /View [/XYZ H.V] /Dest (3917) cvn H.B /DEST pdfmark end
- -30 42008 a 1679 x FU(The)2745
-43687 y
-SDict begin H.S end
- 2745 43687 a 2745 43687 a
-SDict begin 18.2 H.A end
- 2745 43687 a 2745 43687
-a
-SDict begin [ /View [/XYZ H.V] /Dest (3918) cvn H.B /DEST pdfmark end
- 2745 43687 a FP(TIME)365 b FU(column)g(indicated)f(ho)-39
-b(w)366 b(much)f(CPU)f(time)h(the)g(process)g(has)g(been)g(running.)g
-(This)-30 45702 y(is)330 b(dif)-39 b(ferent)331 b(from)f(the)h(actual)f
-(amount)g(of)h(time)f(that)g(a)g(process)h(runs.)f(Remember)g(that)h
-(Linux)-30 47717 y(is)459 b(a)h(multitasking)e(operating)h(system.)g
-(There)h(are)f(man)-23 b(y)459 b(processes)g(running)g(all)h(the)f
-(time,)-30 49731 y(and)442 b(these)f(processes)g(each)h(get)f(a)h
-(small)f(portion)g(of)g(the)h(processor')-85 b(s)441
-b(time.)g(So,)h(the)f(TIME)-30 51746 y(column)378 b(should)f(sho)-39
-b(w)379 b(much)e(less)h(time)g(for)h(each)f(process)g(than)g(it)g
-(actually)g(tak)-15 b(es)378 b(to)g(run.)h(If)-30 53761
-y(you)479 b(see)h(more)g(than)f(se)-39 b(v)-23 b(eral)480
-b(minutes)e(in)i(the)f(TIME)h(column,)f(it)g(could)h(mean)f(that)g
-(some-)-30 55775 y(thing)387 b(is)g(wrong.)-30 56886
-y
-SDict begin H.S end
- -30 56886 a -30 56886 a
-SDict begin 18.2 H.A end
- -30 56886 a -30 56886 a
-SDict begin [ /View [/XYZ H.V] /Dest (3919) cvn H.B /DEST pdfmark end
- -30
-56886 a 1679 x FU(Finally)-101 b(,)513 b(the)7569 58565
-y
-SDict begin H.S end
- 7569 58565 a 7569 58565 a
-SDict begin 18.2 H.A end
- 7569 58565 a 7569 58565 a
-SDict begin [ /View [/XYZ H.V] /Dest (3920) cvn H.B /DEST pdfmark end
-
-7569 58565 a FP(CMD)g FU(column)f(sho)-39 b(ws)513 b(what)g(the)g
-(program)f(actually)h(is.)g(It)g(only)g(lists)f(the)h(base)-30
-60580 y(name)433 b(of)h(the)g(program,)f(not)g(an)-23
-b(y)434 b(command)e(line)i(options)e(or)i(similar)f(information.)g(T)
--124 b(o)433 b(get)-30 62594 y(that)347 b(information,)g(you')-15
-b(ll)346 b(need)i(to)f(use)g(one)h(of)f(the)h(man)-23
-b(y)346 b(options)h(to)38667 62594 y
-SDict begin H.S end
- 38667 62594 a 38667
-62594 a
-SDict begin 18.2 H.A end
- 38667 62594 a 38667 62594 a
-SDict begin [ /View [/XYZ H.V] /Dest (3921) cvn H.B /DEST pdfmark end
- 38667 62594 a FP(ps)p
-FU(.)h(W)-124 b(e')-15 b(ll)347 b(discuss)f(that)-30
-64609 y(shortly)-101 b(.)-30 65719 y
-SDict begin H.S end
- -30 65719 a -30
-65719 a
-SDict begin 18.2 H.A end
- -30 65719 a -30 65719 a
-SDict begin [ /View [/XYZ H.V] /Dest (3922) cvn H.B /DEST pdfmark end
- -30 65719 a 1680 x FU(Y)-170
-b(ou)508 b(can)h(get)g(a)g(complete)f(listing)g(of)h(the)g(processes)f
-(running)g(on)h(your)g(system)f(using)g(the)p Black -30
-73792 a FR(136)p Black eop end
-%%Page: 137 159
-TeXDict begin 137 158 bop -8000 -8000 a
-SDict begin /product where{pop product(Distiller)search{pop pop pop
-version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
-closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
-grestore}if}{pop}ifelse}{pop}ifelse}if end
- -8000 -8000 a
-Black 0 TeXcolorgray -30 -1237 a
-SDict begin H.S end
- -30 -1237 a 0 TeXcolorgray
-0 TeXcolorgray -30 -1237 a
-SDict begin H.R end
- -30 -1237 a -30 -1237 a
-SDict begin [ /View [/XYZ H.V] /Dest (page.137) cvn H.B /DEST pdfmark
-end
- -30
--1237 a Black 34393 -1636 a FR(Chapter)386 b(11)h(Pr)-70
-b(ocess)387 b(Contr)-70 b(ol)p Black -30 3611 a FU(right)385
-b(combination)f(of)i(options.)f(This)g(will)g(probably)g(result)g(in)g
-(a)h(long)f(listing)g(of)g(processes)-30 5626 y(\(\002fty-\002)-39
-b(v)-23 b(e)387 b(on)g(my)g(laptop)g(as)g(I)g(write)h(this)e
-(sentence\),)i(so)f(I')-15 b(ll)387 b(abbre)-39 b(viate)387
-b(the)g(output:)-30 7511 y
-SDict begin H.S end
- -30 7511 a -30 7511 a
-SDict begin 12.972 H.A end
- -30
-7511 a -30 7511 a
-SDict begin [ /View [/XYZ H.V] /Dest (3923) cvn H.B /DEST pdfmark end
- -30 7511 a -30 7511 a
-SDict begin H.S end
- -30 7511 a -30
-7511 a
-SDict begin 12.972 H.A end
- -30 7511 a -30 7511 a
-SDict begin [ /View [/XYZ H.V] /Dest (3924) cvn H.B /DEST pdfmark end
- -30 7511 a 1100 x Fj(\045)1163
-8611 y
-SDict begin H.S end
- 1163 8611 a 1163 8611 a
-SDict begin 12.972 H.A end
- 1163 8611 a 1163 8611
-a
-SDict begin [ /View [/XYZ H.V] /Dest (3925) cvn H.B /DEST pdfmark end
- 1163 8611 a Fi(ps)662 b(-ax)633 10047 y Fh(PID)g(TTY)3975
-b(STAT)1987 b(TIME)662 b(COMMAND)1958 11483 y(1)h(?)5301
-b(S)3976 b(0:03)662 b(init)f([3])1958 12919 y(2)i(?)5301
-b(SW)3313 b(0:13)662 b([kflushd])1958 14355 y(3)h(?)5301
-b(SW)3313 b(0:14)662 b([kupdate])1958 15791 y(4)h(?)5301
-b(SW)3313 b(0:00)662 b([kpiod])1958 17227 y(5)h(?)5301
-b(SW)3313 b(0:17)662 b([kswapd])1296 18663 y(11)g(?)5301
-b(S)3976 b(0:00)662 b(/sbin/kerneld)1296 20099 y(30)g(?)5301
-b(SW)3313 b(0:01)662 b([cardmgr])1296 21535 y(50)g(?)5301
-b(S)3976 b(0:00)662 b(/sbin/rpc.portmap)1296 22971 y(54)g(?)5301
-b(S)3976 b(0:00)662 b(/usr/sbin/syslogd)1296 24407 y(57)g(?)5301
-b(S)3976 b(0:00)662 b(/usr/sbin/klogd)c(-c)k(3)1296 25843
-y(59)g(?)5301 b(S)3976 b(0:00)662 b(/usr/sbin/inetd)1296
-27279 y(61)g(?)5301 b(S)3976 b(0:04)662 b(/usr/local/sbin/sshd)1296
-28715 y(63)g(?)5301 b(S)3976 b(0:00)662 b(/usr/sbin/rpc.mountd)1296
-30151 y(65)g(?)5301 b(S)3976 b(0:00)662 b(/usr/sbin/rpc.nfsd)1296
-31587 y(67)g(?)5301 b(S)3976 b(0:00)662 b(/usr/sbin/crond)c(-l10)1296
-33023 y(69)k(?)5301 b(S)3976 b(0:00)662 b(/usr/sbin/atd)d(-b)j(15)g(-l)
-g(1)1296 34459 y(77)g(?)5301 b(S)3976 b(0:00)662 b(/usr/sbin/apmd)1296
-35894 y(79)g(?)5301 b(S)3976 b(0:01)662 b(gpm)g(-m)g(/dev/mouse)e(-t)i
-(ps2)1296 37330 y(94)g(?)5301 b(S)3976 b(0:00)662 b
-(/usr/sbin/automount)657 b(/auto)k(file)h(/etc/auto.misc)633
-38766 y(106)g(tty1)3312 b(S)3976 b(0:08)662 b(-bash)633
-40202 y(108)g(tty3)3312 b(SW)h(0:00)662 b([agetty])633
-41638 y(109)g(tty4)3312 b(SW)h(0:00)662 b([agetty])633
-43074 y(110)g(tty5)3312 b(SW)h(0:00)662 b([agetty])633
-44510 y(111)g(tty6)3312 b(SW)h(0:00)662 b([agetty])633
-45946 y([output)f(cut])-30 47669 y
-SDict begin H.S end
- -30 47669 a -30 47669
-a
-SDict begin 18.2 H.A end
- -30 47669 a -30 47669 a
-SDict begin [ /View [/XYZ H.V] /Dest (3926) cvn H.B /DEST pdfmark end
- -30 47669 a 1842 x FU(Most)464
-b(of)g(these)h(processes)f(are)h(started)f(at)g(boot)g(time)g(on)h
-(most)f(systems.)g(I')-77 b(v)-23 b(e)464 b(made)g(a)h(fe)-39
-b(w)-30 51525 y(modi\002cations)514 b(to)i(my)g(system,)f(so)h(your)g
-(mileage)f(will)h(most)f(lik)-15 b(ely)515 b(v)-39 b(ary)-101
-b(.)517 b(Ho)-39 b(we)g(v)-23 b(er)-62 b(,)516 b(you)-30
-53540 y(will)440 b(see)h(most)f(of)h(these)f(processes)g(on)h(your)f
-(system)g(too.)h(As)f(you)h(can)f(see,)h(these)g(options)-30
-55555 y(display)481 b(command)f(line)h(options)f(to)i(the)f(running)f
-(processes.)i(Recently)-101 b(,)481 b(a)h(k)-15 b(ernel)480
-b(vulner)-31 b(-)-30 57569 y(ability)440 b(in)6018 57569
-y
-SDict begin H.S end
- 6018 57569 a 6018 57569 a
-SDict begin 18.2 H.A end
- 6018 57569 a 6018 57569 a
-SDict begin [ /View [/XYZ H.V] /Dest (3927) cvn H.B /DEST pdfmark end
-
-6018 57569 a FP(ptrace)g FU(f)-15 b(acilitated)440 b(a)h(\002x)f(which)
-g(no)g(longer)h(sho)-39 b(ws)440 b(command)g(line)g(options)g(for)-30
-59584 y(man)-23 b(y)562 b(running)f(processes.)i(These)f(are)h(no)-39
-b(w)562 b(listed)g(in)g(brack)-15 b(ets)561 b(lik)-15
-b(e)562 b(PIDs)g(108)g(through)-30 61599 y(110.)388 b(It)f(also)g
-(brings)g(up)g(a)g(fe)-39 b(w)388 b(more)f(columns)g(and)g(some)g
-(other)g(interesting)f(output.)-30 61934 y
-SDict begin H.S end
- -30 61934
-a -30 61934 a
-SDict begin 18.2 H.A end
- -30 61934 a -30 61934 a
-SDict begin [ /View [/XYZ H.V] /Dest (3928) cvn H.B /DEST pdfmark end
- -30 61934 a -30
-62709 a
-SDict begin H.S end
- -30 62709 a -30 62709 a
-SDict begin 18.2 H.A end
- -30 62709 a -30 62709
-a
-SDict begin [ /View [/XYZ H.V] /Dest (3930) cvn H.B /DEST pdfmark end
- -30 62709 a 1679 x FU(First,)596 b(you')-15 b(ll)595
-b(notice)h(that)g(most)f(of)i(these)f(processes)f(are)i(listed)f(as)g
-(running)f(on)h(tty)49324 64388 y
-SDict begin H.S end
- 49324 64388 a 49324
-64388 a
-SDict begin 18.2 H.A end
- 49324 64388 a 49324 64388 a
-SDict begin [ /View [/XYZ H.V] /Dest (3931) cvn H.B /DEST pdfmark end
- 49324 64388 a FU(\223?\224.)-30
-66403 y(Those)494 b(are)g(not)f(attached)h(to)f(an)-23
-b(y)494 b(particular)f(terminal.)h(This)f(is)g(most)h(common)e(with)i
-(dae-)-30 68417 y(mons,)478 b(which)g(are)g(processes)g(which)f(run)h
-(without)f(attaching)h(to)g(an)-23 b(y)478 b(particular)f(terminal.)p
-Black 49394 73792 a FR(137)p Black eop end
-%%Page: 138 160
-TeXDict begin 138 159 bop -8000 -8000 a
-SDict begin /product where{pop product(Distiller)search{pop pop pop
-version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
-closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
-grestore}if}{pop}ifelse}{pop}ifelse}if end
- -8000 -8000 a
-Black 0 TeXcolorgray -30 -1237 a
-SDict begin H.S end
- -30 -1237 a 0 TeXcolorgray
-0 TeXcolorgray -30 -1237 a
-SDict begin H.R end
- -30 -1237 a -30 -1237 a
-SDict begin [ /View [/XYZ H.V] /Dest (page.138) cvn H.B /DEST pdfmark
-end
- -30
--1237 a Black -399 x FR(Chapter)387 b(11)g(Pr)-70 b(ocess)387
-b(Contr)-70 b(ol)p Black -30 3611 a FU(Common)414 b(daemons)h(are)g
-(sendmail,)g(BIND,)g(apache,)h(and)f(NFS.)g(The)-23 b(y)415
-b(typically)f(listen)h(for)-30 5626 y(some)387 b(request)g(from)g(a)h
-(client,)f(and)g(return)g(information)g(to)g(it)g(upon)g(request.)-30
-5961 y
-SDict begin H.S end
- -30 5961 a -30 5961 a
-SDict begin 18.2 H.A end
- -30 5961 a -30 5961 a
-SDict begin [ /View [/XYZ H.V] /Dest (3932) cvn H.B /DEST pdfmark end
- -30
-5961 a -30 5961 a
-SDict begin H.S end
- -30 5961 a -30 5961 a
-SDict begin 18.2 H.A end
- -30 5961 a -30
-5961 a
-SDict begin [ /View [/XYZ H.V] /Dest (3934) cvn H.B /DEST pdfmark end
- -30 5961 a -30 6736 a
-SDict begin H.S end
- -30 6736 a -30 6736 a
-SDict begin 18.2 H.A end
- -30
-6736 a -30 6736 a
-SDict begin [ /View [/XYZ H.V] /Dest (3936) cvn H.B /DEST pdfmark end
- -30 6736 a 1679 x FU(Second,)534 b(there)f(is)h(a)g
-(ne)-39 b(w)533 b(column:)20565 8415 y
-SDict begin H.S end
- 20565 8415 a 20565
-8415 a
-SDict begin 18.2 H.A end
- 20565 8415 a 20565 8415 a
-SDict begin [ /View [/XYZ H.V] /Dest (3937) cvn H.B /DEST pdfmark end
- 20565 8415 a FP(STAT)p
-FU(.)h(It)f(sho)-39 b(ws)534 b(the)f(status)g(of)h(the)f(process.)46624
-8415 y
-SDict begin H.S end
- 46624 8415 a 46624 8415 a
-SDict begin 18.2 H.A end
- 46624 8415 a 46624 8415
-a
-SDict begin [ /View [/XYZ H.V] /Dest (3938) cvn H.B /DEST pdfmark end
- 46624 8415 a FP(S)h FU(stands)-30 10430 y(for)540 b(sleeping:)g(the)f
-(process)h(is)g(w)-15 b(aiting)539 b(for)h(something)f(to)h(happen.)
-39317 10430 y
-SDict begin H.S end
- 39317 10430 a 39317 10430 a
-SDict begin 18.2 H.A end
- 39317 10430
-a 39317 10430 a
-SDict begin [ /View [/XYZ H.V] /Dest (3939) cvn H.B /DEST pdfmark end
- 39317 10430 a FP(Z)g FU(stands)g(for)g(a)g(zom-)-30
-12445 y(bied)458 b(process.)g(A)g(zombied)g(processes)g(is)g(one)g
-(whose)f(parent)h(has)g(died,)h(lea)-31 b(ving)457 b(the)h(child)-30
-14459 y(processes)494 b(behind.)h(This)f(is)g(not)g(a)h(good)f(thing.)
-27602 14459 y
-SDict begin H.S end
- 27602 14459 a 27602 14459 a
-SDict begin 18.2 H.A end
- 27602 14459
-a 27602 14459 a
-SDict begin [ /View [/XYZ H.V] /Dest (3940) cvn H.B /DEST pdfmark end
- 27602 14459 a FP(D)g FU(stands)g(for)h(a)f(process)g
-(that)h(has)f(entered)-30 16474 y(an)550 b(uninterruptible)e(sleep.)h
-(Often,)h(these)f(processes)g(refuse)h(to)f(die)g(e)-39
-b(v)-23 b(en)549 b(when)h(passed)f(a)-30 18489 y(SIGKILL.)410
-b(Y)-170 b(ou)410 b(can)h(read)f(more)h(about)f(SIGKILL)g(later)g(in)g
-(the)h(ne)-23 b(xt)410 b(section)g(on)46129 18489 y
-SDict begin H.S end
- 46129
-18489 a 46129 18489 a
-SDict begin 18.2 H.A end
- 46129 18489 a 46129 18489 a
-SDict begin [ /View [/XYZ H.V] /Dest (3941) cvn H.B /DEST pdfmark end
- 46129
-18489 a FP(kill)g FU(.)h(W)-30 20503 y(stands)341 b(for)g(paging.)g(A)g
-(dead)h(process)f(is)g(mark)-15 b(ed)340 b(with)h(an)32247
-20503 y
-SDict begin H.S end
- 32247 20503 a 32247 20503 a
-SDict begin 18.2 H.A end
- 32247 20503 a 32247
-20503 a
-SDict begin [ /View [/XYZ H.V] /Dest (3942) cvn H.B /DEST pdfmark end
- 32247 20503 a FP(X)p FU(.)h(A)f(process)g(mark)-15
-b(ed)45142 20503 y
-SDict begin H.S end
- 45142 20503 a 45142 20503 a
-SDict begin 18.2 H.A end
- 45142
-20503 a 45142 20503 a
-SDict begin [ /View [/XYZ H.V] /Dest (3943) cvn H.B /DEST pdfmark end
- 45142 20503 a FP(T)341 b FU(is)g(traced,)-30
-22518 y(or)387 b(stopped.)7245 22518 y
-SDict begin H.S end
- 7245 22518 a 7245
-22518 a
-SDict begin 18.2 H.A end
- 7245 22518 a 7245 22518 a
-SDict begin [ /View [/XYZ H.V] /Dest (3944) cvn H.B /DEST pdfmark end
- 7245 22518 a FP(R)g
-FU(means)g(that)g(the)g(process)g(is)g(runable.)-30 23628
-y
-SDict begin H.S end
- -30 23628 a -30 23628 a
-SDict begin 18.2 H.A end
- -30 23628 a -30 23628 a
-SDict begin [ /View [/XYZ H.V] /Dest (3945) cvn H.B /DEST pdfmark end
- -30
-23628 a 1680 x FU(If)h(you)f(w)-15 b(ant)386 b(to)h(see)h(e)-39
-b(v)-23 b(en)387 b(more)g(information)g(about)g(the)g(running)f
-(processes,)i(try)f(this)g(out:)-30 27193 y
-SDict begin H.S end
- -30 27193
-a -30 27193 a
-SDict begin 12.972 H.A end
- -30 27193 a -30 27193 a
-SDict begin [ /View [/XYZ H.V] /Dest (3946) cvn H.B /DEST pdfmark end
- -30 27193 a -30
-27193 a
-SDict begin H.S end
- -30 27193 a -30 27193 a
-SDict begin 12.972 H.A end
- -30 27193 a -30 27193
-a
-SDict begin [ /View [/XYZ H.V] /Dest (3947) cvn H.B /DEST pdfmark end
- -30 27193 a 1100 x Fj(\045)1163 28293 y
-SDict begin H.S end
- 1163 28293
-a 1163 28293 a
-SDict begin 12.972 H.A end
- 1163 28293 a 1163 28293 a
-SDict begin [ /View [/XYZ H.V] /Dest (3948) cvn H.B /DEST pdfmark end
- 1163 28293 a
-Fi(ps)662 b(-aux)633 29729 y Fh(USER)4638 b(PID)662 b(\045CPU)f
-(\045MEM)1987 b(VSZ)1325 b(RSS)662 b(TTY)3975 b(STAT)662
-b(START)1986 b(TIME)662 b(COMMAND)633 31165 y(root)5963
-b(1)1325 b(0.0)g(0.0)1987 b(344)g(80)663 b(?)5301 b(S)2651
-b(Mar02)1986 b(0:03)662 b(init)f([3])633 32601 y(root)5963
-b(2)1325 b(0.0)g(0.0)3313 b(0)2650 b(0)663 b(?)5301 b(SW)1988
-b(Mar02)e(0:13)662 b([kflushd])633 34037 y(root)5963
-b(3)1325 b(0.0)g(0.0)3313 b(0)2650 b(0)663 b(?)5301 b(SW)1988
-b(Mar02)e(0:14)662 b([kupdate])633 35473 y(root)5963
-b(4)1325 b(0.0)g(0.0)3313 b(0)2650 b(0)663 b(?)5301 b(SW)1988
-b(Mar02)e(0:00)662 b([kpiod])633 36909 y(root)5963 b(5)1325
-b(0.0)g(0.0)3313 b(0)2650 b(0)663 b(?)5301 b(SW)1988
-b(Mar02)e(0:17)662 b([kswapd])633 38345 y(root)5300 b(11)1325
-b(0.0)g(0.0)f(1044)1987 b(44)663 b(?)5301 b(S)2651 b(Mar02)1986
-b(0:00)662 b(/sbin/kerneld)633 39781 y(root)5300 b(30)1325
-b(0.0)g(0.0)f(1160)2650 b(0)663 b(?)5301 b(SW)1988 b(Mar02)e(0:01)662
-b([cardmgr])633 41217 y(bin)5963 b(50)1325 b(0.0)g(0.0)f(1076)h(120)662
-b(?)5301 b(S)2651 b(Mar02)1986 b(0:00)662 b(/sbin/rpc.port)633
-42653 y(root)5300 b(54)1325 b(0.0)g(0.1)f(1360)h(192)662
-b(?)5301 b(S)2651 b(Mar02)1986 b(0:00)662 b(/usr/sbin/sysl)633
-44089 y(root)5300 b(57)1325 b(0.0)g(0.1)f(1276)h(152)662
-b(?)5301 b(S)2651 b(Mar02)1986 b(0:00)662 b(/usr/sbin/klog)633
-45525 y(root)5300 b(59)1325 b(0.0)g(0.0)f(1332)1987 b(60)663
-b(?)5301 b(S)2651 b(Mar02)1986 b(0:00)662 b(/usr/sbin/inet)633
-46961 y(root)5300 b(61)1325 b(0.0)g(0.2)f(1540)h(312)662
-b(?)5301 b(S)2651 b(Mar02)1986 b(0:04)662 b(/usr/local/sbi)633
-48397 y(root)5300 b(63)1325 b(0.0)g(0.0)f(1796)1987 b(72)663
-b(?)5301 b(S)2651 b(Mar02)1986 b(0:00)662 b(/usr/sbin/rpc.)633
-49832 y(root)5300 b(65)1325 b(0.0)g(0.0)f(1812)1987 b(68)663
-b(?)5301 b(S)2651 b(Mar02)1986 b(0:00)662 b(/usr/sbin/rpc.)633
-51268 y(root)5300 b(67)1325 b(0.0)g(0.2)f(1172)h(260)662
-b(?)5301 b(S)2651 b(Mar02)1986 b(0:00)662 b(/usr/sbin/cron)633
-52704 y(root)5300 b(77)1325 b(0.0)g(0.2)f(1048)h(316)662
-b(?)5301 b(S)2651 b(Mar02)1986 b(0:00)662 b(/usr/sbin/apmd)633
-54140 y(root)5300 b(79)1325 b(0.0)g(0.1)f(1100)h(152)662
-b(?)5301 b(S)2651 b(Mar02)1986 b(0:01)662 b(gpm)633 55576
-y(root)5300 b(94)1325 b(0.0)g(0.2)f(1396)h(280)662 b(?)5301
-b(S)2651 b(Mar02)1986 b(0:00)662 b(/usr/sbin/auto)633
-57012 y(chris)3975 b(106)1324 b(0.0)h(0.5)f(1820)h(680)662
-b(tty1)3312 b(S)2651 b(Mar02)1986 b(0:08)662 b(-bash)633
-58448 y(root)4638 b(108)1324 b(0.0)h(0.0)f(1048)2650
-b(0)663 b(tty3)3312 b(SW)1988 b(Mar02)e(0:00)662 b([agetty])633
-59884 y(root)4638 b(109)1324 b(0.0)h(0.0)f(1048)2650
-b(0)663 b(tty4)3312 b(SW)1988 b(Mar02)e(0:00)662 b([agetty])633
-61320 y(root)4638 b(110)1324 b(0.0)h(0.0)f(1048)2650
-b(0)663 b(tty5)3312 b(SW)1988 b(Mar02)e(0:00)662 b([agetty])633
-62756 y(root)4638 b(111)1324 b(0.0)h(0.0)f(1048)2650
-b(0)663 b(tty6)3312 b(SW)1988 b(Mar02)e(0:00)662 b([agetty])633
-64192 y([output)f(cut])-30 64365 y
-SDict begin H.S end
- -30 64365 a -30 64365
-a
-SDict begin 18.2 H.A end
- -30 64365 a -30 64365 a
-SDict begin [ /View [/XYZ H.V] /Dest (3949) cvn H.B /DEST pdfmark end
- -30 64365 a Black 9427 x FR(138)p
-Black eop end
-%%Page: 139 161
-TeXDict begin 139 160 bop -8000 -8000 a
-SDict begin /product where{pop product(Distiller)search{pop pop pop
-version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
-closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
-grestore}if}{pop}ifelse}{pop}ifelse}if end
- -8000 -8000 a
-Black 0 TeXcolorgray -30 -1237 a
-SDict begin H.S end
- -30 -1237 a 0 TeXcolorgray
-0 TeXcolorgray -30 -1237 a
-SDict begin H.R end
- -30 -1237 a -30 -1237 a
-SDict begin [ /View [/XYZ H.V] /Dest (page.139) cvn H.B /DEST pdfmark
-end
- -30
--1237 a Black -30 -2687 a
-SDict begin H.S end
- -30 -2687 a -30 -2687 a
-SDict begin 18.2 H.A end
- -30
--2687 a -30 -2687 a
-SDict begin [ /View [/XYZ H.V] /Dest (3978) cvn H.B /DEST pdfmark end
- -30 -2687 a 34393 -1636 a FR(Chapter)386
-b(11)h(Pr)-70 b(ocess)387 b(Contr)-70 b(ol)p Black -30
-2504 a
-SDict begin H.S end
- -30 2504 a -30 2504 a
-SDict begin 18.2 H.A end
- -30 2504 a -30 2504 a
-SDict begin [ /View [/XYZ H.V] /Dest (3951) cvn H.B /DEST pdfmark end
- -30
-2504 a 1107 x FU(That')-85 b(s)358 b(a)g(whole)g(lot)g(of)g
-(information.)f(Basically)-101 b(,)358 b(it)g(adds)g(information)f
-(including)g(what)h(user)-30 5626 y(started)614 b(the)g(process,)h(ho)
--39 b(w)614 b(much)g(of)g(the)g(system)g(resources)g(the)g(process)g
-(is)g(using)g(\(the)-30 7640 y(\045CPU,)341 b(\045MEM,)f(VSZ,)h(and)f
-(RSS)g(columns\),)g(and)h(on)g(what)f(date)h(the)f(process)h(w)-15
-b(as)340 b(started.)-30 9655 y(Ob)-23 b(viously)-101
-b(,)391 b(that')-85 b(s)391 b(a)h(lot)f(of)h(information)e(that)i
-(could)f(come)g(in)h(handy)f(for)h(a)g(system)e(admin-)-30
-11670 y(istrator)-85 b(.)368 b(It)g(also)g(brings)g(up)g(another)g
-(point:)g(the)g(information)f(no)-39 b(w)369 b(goes)f(of)-39
-b(f)368 b(the)g(edge)h(of)f(the)-30 13684 y(screen)388
-b(so)f(that)g(you)g(cannot)g(see)g(it)g(all.)h(The)24761
-13684 y
-SDict begin H.S end
- 24761 13684 a 24761 13684 a
-SDict begin 18.2 H.A end
- 24761 13684 a 24761
-13684 a
-SDict begin [ /View [/XYZ H.V] /Dest (3952) cvn H.B /DEST pdfmark end
- 24761 13684 a FP(-w)f FU(option)g(will)g(force)37354
-13684 y
-SDict begin H.S end
- 37354 13684 a 37354 13684 a
-SDict begin 18.2 H.A end
- 37354 13684 a 37354
-13684 a
-SDict begin [ /View [/XYZ H.V] /Dest (3953) cvn H.B /DEST pdfmark end
- 37354 13684 a FP(ps)g FU(to)h(wrap)f(long)g(lines.)-30
-14795 y
-SDict begin H.S end
- -30 14795 a -30 14795 a
-SDict begin 18.2 H.A end
- -30 14795 a -30 14795
-a
-SDict begin [ /View [/XYZ H.V] /Dest (3954) cvn H.B /DEST pdfmark end
- -30 14795 a 1679 x FU(It')-85 b(s)606 b(not)g(terribly)f(pretty)-101
-b(,)607 b(b)-31 b(ut)606 b(it)g(does)g(the)g(job)-62
-b(.)606 b(Y)-170 b(ou')-77 b(v)-23 b(e)605 b(no)-39 b(w)606
-b(got)g(the)g(complete)f(listings)-30 18489 y(for)546
-b(each)g(process.)g(There')-85 b(s)545 b(e)-39 b(v)-23
-b(en)546 b(more)g(information)e(that)i(you)f(can)h(display)f(about)h
-(each)-30 20503 y(process.)415 b(Check)g(out)f(the)h(v)-23
-b(ery)414 b(in-depth)h(man)f(page)h(for)31871 20503 y
-SDict begin H.S end
-
-31871 20503 a 31871 20503 a
-SDict begin 18.2 H.A end
- 31871 20503 a 31871 20503
-a
-SDict begin [ /View [/XYZ H.V] /Dest (3955) cvn H.B /DEST pdfmark end
- 31871 20503 a FP(ps)p FU(.)g(Ho)-39 b(we)g(v)-23 b(er)-62
-b(,)416 b(the)e(options)g(sho)-39 b(wn)-30 22518 y(abo)-23
-b(v)g(e)348 b(are)h(the)f(most)g(popular)g(ones)h(and)f(will)g(be)h
-(the)f(ones)h(you)f(need)h(to)f(use)g(the)h(most)f(often.)-30
-23628 y
-SDict begin H.S end
- -30 23628 a -30 23628 a
-SDict begin 18.2 H.A end
- -30 23628 a -30 23628
-a
-SDict begin [ /View [/XYZ H.V] /Dest (PROCESS-CONTROL-KILL) cvn H.B
-/DEST pdfmark end
- -30 23628 a 5789 x FL(11.4)620 b Fq(kill)-30 29417
-y
-SDict begin H.S end
- -30 29417 a -30 29417 a
-SDict begin 18.2 H.A end
- -30 29417 a -30 29417 a
-SDict begin [ /View [/XYZ H.V] /Dest (3959) cvn H.B /DEST pdfmark end
- -30
-29417 a -30 29417 a
-SDict begin H.S end
- -30 29417 a -30 29417 a
-SDict begin 18.2 H.A end
- -30 29417
-a -30 29417 a
-SDict begin [ /View [/XYZ H.V] /Dest (3961) cvn H.B /DEST pdfmark end
- -30 29417 a -30 30533 a
-SDict begin H.S end
- -30 30533 a -30
-30533 a
-SDict begin 18.2 H.A end
- -30 30533 a -30 30533 a
-SDict begin [ /View [/XYZ H.V] /Dest (3964) cvn H.B /DEST pdfmark end
- -30 30533 a 2015 x FU(On)560
-b(occasion,)h(programs)e(misbeha)-31 b(v)-23 b(e)560
-b(and)g(you')-15 b(ll)559 b(need)h(to)g(put)g(them)g(back)h(in)f(line.)
-g(The)-30 34563 y(program)588 b(for)h(this)f(kind)g(of)h
-(administration)e(is)i(called)31712 34563 y
-SDict begin H.S end
- 31712 34563
-a 31712 34563 a
-SDict begin 18.2 H.A end
- 31712 34563 a 31712 34563 a
-SDict begin [ /View [/XYZ H.V] /Dest (3965) cvn H.B /DEST pdfmark end
- 31712 34563
-a FP(kill)p FU(\(1\),)g(and)f(it)h(can)g(be)f(used)h(for)-30
-36577 y(manipulating)419 b(processes)g(in)h(se)-39 b(v)-23
-b(eral)420 b(w)-15 b(ays.)420 b(The)g(most)g(ob)-23 b(vious)419
-b(use)h(of)41045 36577 y
-SDict begin H.S end
- 41045 36577 a 41045 36577 a
-SDict begin 18.2 H.A end
-
-41045 36577 a 41045 36577 a
-SDict begin [ /View [/XYZ H.V] /Dest (3966) cvn H.B /DEST pdfmark end
- 41045 36577 a FP(kill)f FU(is)h(to)g(kill)g
-(of)-39 b(f)-30 38592 y(a)464 b(process.)f(Y)-170 b(ou')-15
-b(ll)462 b(need)i(to)f(do)g(this)g(if)g(a)h(program)f(has)g(run)h(a)-23
-b(w)-15 b(ay)462 b(and)i(is)f(using)g(up)g(lots)g(of)-30
-40607 y(system)387 b(resources,)g(or)h(if)f(you')-77
-b(re)387 b(just)g(sick)g(of)g(it)g(running.)-30 41717
-y
-SDict begin H.S end
- -30 41717 a -30 41717 a
-SDict begin 18.2 H.A end
- -30 41717 a -30 41717 a
-SDict begin [ /View [/XYZ H.V] /Dest (3967) cvn H.B /DEST pdfmark end
- -30
-41717 a 1679 x FU(In)523 b(order)g(to)f(kill)g(of)-39
-b(f)524 b(a)e(process,)h(you')-15 b(ll)522 b(need)h(to)f(kno)-39
-b(w)523 b(its)f(PID)h(or)f(its)h(name.)g(T)-124 b(o)522
-b(get)h(the)-30 45411 y(PID,)446 b(use)g(the)8152 45411
-y
-SDict begin H.S end
- 8152 45411 a 8152 45411 a
-SDict begin 18.2 H.A end
- 8152 45411 a 8152 45411 a
-SDict begin [ /View [/XYZ H.V] /Dest (3968) cvn H.B /DEST pdfmark end
-
-8152 45411 a FP(ps)f FU(command)h(as)g(w)-15 b(as)445
-b(discussed)g(in)h(the)f(last)h(section.)g(F)-23 b(or)445
-b(e)-23 b(xample,)446 b(to)g(kill)-30 47425 y(of)-39
-b(f)388 b(process)f(4747,)g(you')-77 b(d)387 b(issue)g(the)g(follo)-39
-b(wing:)-30 49311 y
-SDict begin H.S end
- -30 49311 a -30 49311 a
-SDict begin 14.56 H.A end
- -30 49311
-a -30 49311 a
-SDict begin [ /View [/XYZ H.V] /Dest (3969) cvn H.B /DEST pdfmark end
- -30 49311 a -30 49311 a
-SDict begin H.S end
- -30 49311 a -30
-49311 a
-SDict begin 14.56 H.A end
- -30 49311 a -30 49311 a
-SDict begin [ /View [/XYZ H.V] /Dest (3970) cvn H.B /DEST pdfmark end
- -30 49311 a 1276 x FJ(\045)1309
-50587 y
-SDict begin H.S end
- 1309 50587 a 1309 50587 a
-SDict begin 14.56 H.A end
- 1309 50587 a 1309 50587
-a
-SDict begin [ /View [/XYZ H.V] /Dest (3971) cvn H.B /DEST pdfmark end
- 1309 50587 a FH(kill)743 b(4747)-30 52158 y
-SDict begin H.S end
- -30 52158
-a -30 52158 a
-SDict begin 18.2 H.A end
- -30 52158 a -30 52158 a
-SDict begin [ /View [/XYZ H.V] /Dest (3972) cvn H.B /DEST pdfmark end
- -30 52158 a 1993
-x FU(Note)567 b(that)f(you')-15 b(ll)566 b(ha)-31 b(v)-23
-b(e)567 b(to)g(be)g(the)f(o)-39 b(wner)567 b(of)g(the)g(process)g(in)g
-(order)g(to)f(kill)h(it.)g(This)f(is)h(a)-30 56166 y(security)478
-b(feature.)g(If)h(you)f(were)g(allo)-39 b(wed)478 b(to)g(kill)f(of)-39
-b(f)479 b(processes)e(started)h(by)g(other)g(users,)g(it)-30
-58181 y(w)-15 b(ould)339 b(be)g(possible)g(to)g(do)g(all)g(sorts)g(of)h
-(malicious)e(things.)i(Of)f(course,)39241 58181 y
-SDict begin H.S end
- 39241
-58181 a 39241 58181 a
-SDict begin 18.2 H.A end
- 39241 58181 a 39241 58181 a
-SDict begin [ /View [/XYZ H.V] /Dest (3973) cvn H.B /DEST pdfmark end
- 39241
-58181 a FP(root)g FU(can)h(kill)e(of)-39 b(f)340 b(an)-23
-b(y)-30 60195 y(process)387 b(on)g(the)h(system.)-30
-61306 y
-SDict begin H.S end
- -30 61306 a -30 61306 a
-SDict begin 18.2 H.A end
- -30 61306 a -30 61306
-a
-SDict begin [ /View [/XYZ H.V] /Dest (3974) cvn H.B /DEST pdfmark end
- -30 61306 a 1679 x FU(There')-85 b(s)366 b(another)f(v)-39
-b(ariety)366 b(of)g(the)18544 62985 y
-SDict begin H.S end
- 18544 62985 a 18544
-62985 a
-SDict begin 18.2 H.A end
- 18544 62985 a 18544 62985 a
-SDict begin [ /View [/XYZ H.V] /Dest (3975) cvn H.B /DEST pdfmark end
- 18544 62985 a FP(kill)g
-FU(command)f(called)32430 62985 y
-SDict begin H.S end
- 32430 62985 a 32430
-62985 a
-SDict begin 18.2 H.A end
- 32430 62985 a 32430 62985 a
-SDict begin [ /View [/XYZ H.V] /Dest (3976) cvn H.B /DEST pdfmark end
- 32430 62985 a FP(killall)p
-FU(\(1\).)h(This)f(program)g(does)-30 65000 y(e)-23 b(xactly)517
-b(what)h(it)f(says:)g(it)h(kills)f(all)g(the)h(running)f(processes)g
-(that)h(ha)-31 b(v)-23 b(e)517 b(a)h(certain)g(name.)g(If)-30
-67014 y(you)488 b(w)-15 b(anted)488 b(to)g(kill)g(of)-39
-b(f)489 b(all)f(the)g(running)23969 67014 y
-SDict begin H.S end
- 23969 67014
-a 23969 67014 a
-SDict begin 18.2 H.A end
- 23969 67014 a 23969 67014 a
-SDict begin [ /View [/XYZ H.V] /Dest (3977) cvn H.B /DEST pdfmark end
- 23969 67014
-a FP(vim)g FU(processes,)g(you)g(could)g(type)g(the)h(follo)-39
-b(wing)p Black 49451 73792 a FR(139)p Black eop end
-%%Page: 140 162
-TeXDict begin 140 161 bop -8000 -8000 a
-SDict begin /product where{pop product(Distiller)search{pop pop pop
-version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
-closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
-grestore}if}{pop}ifelse}{pop}ifelse}if end
- -8000 -8000 a
-Black 0 TeXcolorgray -30 -1237 a
-SDict begin H.S end
- -30 -1237 a 0 TeXcolorgray
-0 TeXcolorgray -30 -1237 a
-SDict begin H.R end
- -30 -1237 a -30 -1237 a
-SDict begin [ /View [/XYZ H.V] /Dest (page.140) cvn H.B /DEST pdfmark
-end
- -30
--1237 a Black -30 -2687 a
-SDict begin H.S end
- -30 -2687 a -30 -2687 a
-SDict begin 18.2 H.A end
- -30
--2687 a -30 -2687 a
-SDict begin [ /View [/XYZ H.V] /Dest (4009) cvn H.B /DEST pdfmark end
- -30 -2687 a 1051 x FR(Chapter)387
-b(11)g(Pr)-70 b(ocess)387 b(Contr)-70 b(ol)p Black -30
-3611 a FU(command:)-30 6773 y FJ(\045)1309 6773 y
-SDict begin H.S end
- 1309
-6773 a 1309 6773 a
-SDict begin 14.56 H.A end
- 1309 6773 a 1309 6773 a
-SDict begin [ /View [/XYZ H.V] /Dest (3980) cvn H.B /DEST pdfmark end
- 1309 6773
-a FH(killall)743 b(vim)-30 8347 y
-SDict begin H.S end
- -30 8347 a -30 8347
-a
-SDict begin 18.2 H.A end
- -30 8347 a -30 8347 a
-SDict begin [ /View [/XYZ H.V] /Dest (3981) cvn H.B /DEST pdfmark end
- -30 8347 a 1990 x FU(An)-23 b(y)432
-b(and)g(all)7700 10337 y
-SDict begin H.S end
- 7700 10337 a 7700 10337 a
-SDict begin 18.2 H.A end
- 7700
-10337 a 7700 10337 a
-SDict begin [ /View [/XYZ H.V] /Dest (3982) cvn H.B /DEST pdfmark end
- 7700 10337 a FP(vim)g FU(processes)g(you)g(ha)-31
-b(v)-23 b(e)432 b(running)g(will)f(die)h(of)-39 b(f.)433
-b(Doing)f(this)g(as)44509 10337 y
-SDict begin H.S end
- 44509 10337 a 44509
-10337 a
-SDict begin 18.2 H.A end
- 44509 10337 a 44509 10337 a
-SDict begin [ /View [/XYZ H.V] /Dest (3983) cvn H.B /DEST pdfmark end
- 44509 10337 a FP(root)g
-FU(w)-15 b(ould)-30 12352 y(kill)390 b(of)-39 b(f)390
-b(all)g(the)8810 12352 y
-SDict begin H.S end
- 8810 12352 a 8810 12352 a
-SDict begin 18.2 H.A end
- 8810
-12352 a 8810 12352 a
-SDict begin [ /View [/XYZ H.V] /Dest (3984) cvn H.B /DEST pdfmark end
- 8810 12352 a FP(vim)g FU(processes)g(running)g
-(for)g(all)g(users.)h(This)e(brings)h(up)g(an)g(interesting)f(w)-15
-b(ay)-30 14366 y(to)387 b(kick)g(e)-39 b(v)-23 b(eryone)388
-b(\(including)e(yourself\))h(of)-39 b(f)388 b(the)f(system:)-30
-16252 y
-SDict begin H.S end
- -30 16252 a -30 16252 a
-SDict begin 14.56 H.A end
- -30 16252 a -30 16252
-a
-SDict begin [ /View [/XYZ H.V] /Dest (3985) cvn H.B /DEST pdfmark end
- -30 16252 a -30 16252 a
-SDict begin H.S end
- -30 16252 a -30 16252 a
-SDict begin 14.56 H.A end
- -30
-16252 a -30 16252 a
-SDict begin [ /View [/XYZ H.V] /Dest (3986) cvn H.B /DEST pdfmark end
- -30 16252 a 1276 x FJ(#)1309 17528
-y
-SDict begin H.S end
- 1309 17528 a 1309 17528 a
-SDict begin 14.56 H.A end
- 1309 17528 a 1309 17528 a
-SDict begin [ /View [/XYZ H.V] /Dest (3987) cvn H.B /DEST pdfmark end
-
-1309 17528 a FH(killall)743 b(bash)-30 19102 y
-SDict begin H.S end
- -30 19102
-a -30 19102 a
-SDict begin 18.2 H.A end
- -30 19102 a -30 19102 a
-SDict begin [ /View [/XYZ H.V] /Dest (3988) cvn H.B /DEST pdfmark end
- -30 19102 a 1990
-x FU(Sometimes)561 b(a)h(re)-23 b(gular)562 b(kill)f(doesn')-28
-b(t)561 b(get)h(the)g(job)g(done.)g(Certain)f(processes)h(will)f(not)h
-(die)-30 23107 y(with)504 b(a)g(kill.)g(Y)-170 b(ou')-15
-b(ll)503 b(need)h(to)g(use)g(a)h(more)f(potent)g(form.)g(If)g(that)g
-(pesk)-23 b(y)504 b(PID)g(4747)g(w)-15 b(asn')-28 b(t)-30
-25122 y(responding)387 b(to)g(your)g(kill)g(request,)g(you)g(could)g
-(do)g(the)g(follo)-39 b(wing:)-30 27007 y
-SDict begin H.S end
- -30 27007 a
--30 27007 a
-SDict begin 14.56 H.A end
- -30 27007 a -30 27007 a
-SDict begin [ /View [/XYZ H.V] /Dest (3989) cvn H.B /DEST pdfmark end
- -30 27007 a -30 27007
-a
-SDict begin H.S end
- -30 27007 a -30 27007 a
-SDict begin 14.56 H.A end
- -30 27007 a -30 27007 a
-SDict begin [ /View [/XYZ H.V] /Dest (3990) cvn H.B /DEST pdfmark end
- -30
-27007 a 1276 x FJ(\045)1309 28283 y
-SDict begin H.S end
- 1309 28283 a 1309
-28283 a
-SDict begin 14.56 H.A end
- 1309 28283 a 1309 28283 a
-SDict begin [ /View [/XYZ H.V] /Dest (3991) cvn H.B /DEST pdfmark end
- 1309 28283 a FH(kill)743
-b(-9)h(4747)-30 29858 y
-SDict begin H.S end
- -30 29858 a -30 29858 a
-SDict begin 18.2 H.A end
- -30 29858
-a -30 29858 a
-SDict begin [ /View [/XYZ H.V] /Dest (3992) cvn H.B /DEST pdfmark end
- -30 29858 a 1989 x FU(That)340 b(will)g(almost)f
-(certainly)h(cause)g(process)g(4747)f(to)h(die.)h(Y)-170
-b(ou)339 b(can)h(do)g(the)g(same)g(thing)f(with)-30 33862
-y
-SDict begin H.S end
- -30 33862 a -30 33862 a
-SDict begin 18.2 H.A end
- -30 33862 a -30 33862 a
-SDict begin [ /View [/XYZ H.V] /Dest (3993) cvn H.B /DEST pdfmark end
- -30
-33862 a FP(killall)p FU(.)492 b(What)g(this)f(is)h(doing)f(is)h
-(sending)g(a)g(dif)-39 b(ferent)492 b(signal)f(to)h(the)g(process.)g(A)
-g(re)-23 b(gular)-30 35877 y
-SDict begin H.S end
- -30 35877 a -30 35877 a
-SDict begin 18.2 H.A end
-
--30 35877 a -30 35877 a
-SDict begin [ /View [/XYZ H.V] /Dest (3994) cvn H.B /DEST pdfmark end
- -30 35877 a FP(kill)419 b FU(sends)g(a)8336
-35877 y
-SDict begin H.S end
- 8336 35877 a 8336 35877 a
-SDict begin 18.2 H.A end
- 8336 35877 a 8336 35877
-a
-SDict begin [ /View [/XYZ H.V] /Dest (3995) cvn H.B /DEST pdfmark end
- 8336 35877 a FP(SIGTERM)f FU(\(terminate\))h(signal)g(to)g(the)h
-(process,)f(which)g(tells)g(it)g(to)h(\002nish)e(what)-30
-37891 y(it')-85 b(s)455 b(doing,)g(clean)h(up,)f(and)h(e)-23
-b(xit.)18650 37891 y
-SDict begin H.S end
- 18650 37891 a 18650 37891 a
-SDict begin 18.2 H.A end
- 18650
-37891 a 18650 37891 a
-SDict begin [ /View [/XYZ H.V] /Dest (3996) cvn H.B /DEST pdfmark end
- 18650 37891 a FP(kill)743 b(-9)455
-b FU(sends)g(a)29355 37891 y
-SDict begin H.S end
- 29355 37891 a 29355 37891
-a
-SDict begin 18.2 H.A end
- 29355 37891 a 29355 37891 a
-SDict begin [ /View [/XYZ H.V] /Dest (3997) cvn H.B /DEST pdfmark end
- 29355 37891 a FP(SIGKILL)g
-FU(\(kill\))g(signal)f(to)i(the)f(process,)-30 39906
-y(which)504 b(essentially)e(drops)i(it.)g(The)g(process)f(is)h(not)f
-(allo)-39 b(wed)504 b(to)f(clean-up,)h(and)g(sometimes)-30
-41921 y(bad)538 b(things)e(lik)-15 b(e)537 b(data)h(corruption)f(could)
-g(occur)h(by)f(killing)g(something)f(with)h(a)46181 41921
-y
-SDict begin H.S end
- 46181 41921 a 46181 41921 a
-SDict begin 18.2 H.A end
- 46181 41921 a 46181 41921
-a
-SDict begin [ /View [/XYZ H.V] /Dest (3998) cvn H.B /DEST pdfmark end
- 46181 41921 a FP(SIGKILL)p FU(.)-30 43935 y(There')-85
-b(s)469 b(a)h(whole)f(list)g(of)g(signals)g(at)g(your)g(disposal.)g(Y)
--170 b(ou)469 b(can)g(get)g(a)h(listing)e(of)i(signals)e(by)-30
-45950 y(typing)387 b(the)g(follo)-39 b(wing:)-30 47835
-y
-SDict begin H.S end
- -30 47835 a -30 47835 a
-SDict begin 14.56 H.A end
- -30 47835 a -30 47835 a
-SDict begin [ /View [/XYZ H.V] /Dest (3999) cvn H.B /DEST pdfmark end
- -30
-47835 a -30 47835 a
-SDict begin H.S end
- -30 47835 a -30 47835 a
-SDict begin 14.56 H.A end
- -30 47835
-a -30 47835 a
-SDict begin [ /View [/XYZ H.V] /Dest (4000) cvn H.B /DEST pdfmark end
- -30 47835 a 1277 x FJ(\045)1309 49112 y
-SDict begin H.S end
-
-1309 49112 a 1309 49112 a
-SDict begin 14.56 H.A end
- 1309 49112 a 1309 49112 a
-SDict begin [ /View [/XYZ H.V] /Dest (4001) cvn H.B /DEST pdfmark end
- 1309
-49112 a FH(kill)743 b(-l)1458 50723 y FP(1\))g(SIGHUP)3719
-b(2\))744 b(SIGINT)2975 b(3\))743 b(SIGQUIT)2231 b(4\))744
-b(SIGILL)1458 52335 y(5\))f(SIGTRAP)2975 b(6\))744 b(SIGABRT)2231
-b(7\))743 b(SIGBUS)2975 b(8\))744 b(SIGFPE)1458 53947
-y(9\))f(SIGKILL)2231 b(10\))744 b(SIGUSR1)1487 b(11\))743
-b(SIGSEGV)1487 b(12\))744 b(SIGUSR2)714 55559 y(13\))f(SIGPIPE)2231
-b(14\))744 b(SIGALRM)1487 b(15\))743 b(SIGTERM)1487 b(17\))744
-b(SIGCHLD)714 57170 y(18\))f(SIGCONT)2231 b(19\))744
-b(SIGSTOP)1487 b(20\))743 b(SIGTSTP)1487 b(21\))744 b(SIGTTIN)714
-58782 y(22\))f(SIGTTOU)2231 b(23\))744 b(SIGURG)2231
-b(24\))743 b(SIGXCPU)1487 b(25\))744 b(SIGXFSZ)714 60394
-y(26\))f(SIGVTALRM)g(27\))h(SIGPROF)1487 b(28\))743 b(SIGWINCH)g(29\))h
-(SIGIO)714 62005 y(30\))f(SIGPWR)-30 63700 y
-SDict begin H.S end
- -30 63700
-a -30 63700 a
-SDict begin 18.2 H.A end
- -30 63700 a -30 63700 a
-SDict begin [ /View [/XYZ H.V] /Dest (4002) cvn H.B /DEST pdfmark end
- -30 63700 a 1870
-x FU(The)383 b(number)g(must)f(be)h(used)g(for)18538
-65570 y
-SDict begin H.S end
- 18538 65570 a 18538 65570 a
-SDict begin 18.2 H.A end
- 18538 65570 a 18538
-65570 a
-SDict begin [ /View [/XYZ H.V] /Dest (4003) cvn H.B /DEST pdfmark end
- 18538 65570 a FP(kill)p FU(,)g(while)g(the)g(name)g(minus)f
-(the)h(leading)43523 65570 y
-SDict begin H.S end
- 43523 65570 a 43523 65570
-a
-SDict begin 18.2 H.A end
- 43523 65570 a 43523 65570 a
-SDict begin [ /View [/XYZ H.V] /Dest (4004) cvn H.B /DEST pdfmark end
- 43523 65570 a FU(\223SIG\224)g(can)g(be)
--30 67585 y(used)k(with)6341 67585 y
-SDict begin H.S end
- 6341 67585 a 6341
-67585 a
-SDict begin 18.2 H.A end
- 6341 67585 a 6341 67585 a
-SDict begin [ /View [/XYZ H.V] /Dest (4005) cvn H.B /DEST pdfmark end
- 6341 67585 a FP(killall)p
-FU(.)g(Here')-85 b(s)387 b(another)g(e)-23 b(xample:)p
-Black -30 73792 a FR(140)p Black eop end
-%%Page: 141 163
-TeXDict begin 141 162 bop -8000 -8000 a
-SDict begin /product where{pop product(Distiller)search{pop pop pop
-version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
-closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
-grestore}if}{pop}ifelse}{pop}ifelse}if end
- -8000 -8000 a
-Black 0 TeXcolorgray -30 -1237 a
-SDict begin H.S end
- -30 -1237 a 0 TeXcolorgray
-0 TeXcolorgray -30 -1237 a
-SDict begin H.R end
- -30 -1237 a -30 -1237 a
-SDict begin [ /View [/XYZ H.V] /Dest (page.141) cvn H.B /DEST pdfmark
-end
- -30
--1237 a Black 34393 -1636 a FR(Chapter)386 b(11)h(Pr)-70
-b(ocess)387 b(Contr)-70 b(ol)p Black -30 2504 a
-SDict begin H.S end
- -30 2504
-a -30 2504 a
-SDict begin 14.56 H.A end
- -30 2504 a -30 2504 a
-SDict begin [ /View [/XYZ H.V] /Dest (4006) cvn H.B /DEST pdfmark end
- -30 2504 a -30 2504
-a
-SDict begin H.S end
- -30 2504 a -30 2504 a
-SDict begin 14.56 H.A end
- -30 2504 a -30 2504 a
-SDict begin [ /View [/XYZ H.V] /Dest (4007) cvn H.B /DEST pdfmark end
- -30 2504
-a 1107 x FJ(\045)1309 3611 y
-SDict begin H.S end
- 1309 3611 a 1309 3611 a
-SDict begin 14.56 H.A end
-
-1309 3611 a 1309 3611 a
-SDict begin [ /View [/XYZ H.V] /Dest (4008) cvn H.B /DEST pdfmark end
- 1309 3611 a FH(killall)743 b(-KILL)g(vim)-30
-7176 y FU(A)505 b(\002nal)g(use)g(of)g FP(kill)g FU(is)g(to)f(restart)h
-(a)h(process.)f(Sending)f(a)33842 7176 y
-SDict begin H.S end
- 33842 7176 a
-33842 7176 a
-SDict begin 18.2 H.A end
- 33842 7176 a 33842 7176 a
-SDict begin [ /View [/XYZ H.V] /Dest (4011) cvn H.B /DEST pdfmark end
- 33842 7176 a FP(SIGHUP)h
-FU(will)f(cause)i(most)e(pro-)-30 9190 y(cesses)318 b(to)f(re-read)h
-(their)g(con\002guration)e(\002les.)i(This)f(is)h(especially)f(helpful)
-g(for)h(telling)f(system)-30 11205 y(processes)387 b(to)g(re-read)h
-(their)f(con\002g)g(\002les)g(after)g(editing.)-30 12315
-y
-SDict begin H.S end
- -30 12315 a -30 12315 a
-SDict begin 18.2 H.A end
- -30 12315 a -30 12315 a
-SDict begin [ /View [/XYZ H.V] /Dest (PROCESS-CONTROL-TOP) cvn H.B
-/DEST pdfmark end
- -30
-12315 a 5789 x FL(11.5)620 b Fq(top)-30 19682 y
-SDict begin H.S end
- -30 19682
-a -30 19682 a
-SDict begin 18.2 H.A end
- -30 19682 a -30 19682 a
-SDict begin [ /View [/XYZ H.V] /Dest (4015) cvn H.B /DEST pdfmark end
- -30 19682 a 1553
-x FU(Finally)-101 b(,)491 b(there')-85 b(s)490 b(a)h(command)f(you)h
-(can)g(use)g(to)g(display)f(updating)g(information)g(about)g(the)-30
-23249 y(processes)397 b(running)g(on)h(the)f(system.)g(This)g(command)g
-(is)h(called)36047 23249 y
-SDict begin H.S end
- 36047 23249 a 36047 23249
-a
-SDict begin 18.2 H.A end
- 36047 23249 a 36047 23249 a
-SDict begin [ /View [/XYZ H.V] /Dest (4016) cvn H.B /DEST pdfmark end
- 36047 23249 a FP(top)p
-FU(\(1\),)g(and)f(is)h(started)f(lik)-15 b(e)-30 25264
-y(so:)-30 26829 y
-SDict begin H.S end
- -30 26829 a -30 26829 a
-SDict begin 14.56 H.A end
- -30 26829 a
--30 26829 a
-SDict begin [ /View [/XYZ H.V] /Dest (4017) cvn H.B /DEST pdfmark end
- -30 26829 a -30 26829 a
-SDict begin H.S end
- -30 26829 a -30 26829
-a
-SDict begin 14.56 H.A end
- -30 26829 a -30 26829 a
-SDict begin [ /View [/XYZ H.V] /Dest (4018) cvn H.B /DEST pdfmark end
- -30 26829 a 1597 x FJ(\045)1309
-28426 y
-SDict begin H.S end
- 1309 28426 a 1309 28426 a
-SDict begin 14.56 H.A end
- 1309 28426 a 1309 28426
-a
-SDict begin [ /View [/XYZ H.V] /Dest (4019) cvn H.B /DEST pdfmark end
- 1309 28426 a FH(top)-30 28594 y
-SDict begin H.S end
- -30 28594 a -30 28594
-a
-SDict begin 18.2 H.A end
- -30 28594 a -30 28594 a
-SDict begin [ /View [/XYZ H.V] /Dest (4020) cvn H.B /DEST pdfmark end
- -30 28594 a -30 30143 a
-SDict begin H.S end
- -30
-30143 a -30 30143 a
-SDict begin 18.2 H.A end
- -30 30143 a -30 30143 a
-SDict begin [ /View [/XYZ H.V] /Dest (4022) cvn H.B /DEST pdfmark end
- -30 30143
-a 1847 x FU(This)554 b(will)h(display)f(a)h(full)f(screen)h(of)g
-(information)f(about)g(the)h(processes)f(running)g(on)h(the)-30
-34005 y(system,)533 b(as)g(well)g(as)g(some)f(o)-23 b(v)g(erall)532
-b(information)g(about)h(the)g(system.)f(This)h(includes)f(load)-30
-36019 y(a)-31 b(v)-23 b(erage,)356 b(number)g(of)f(processes,)h(the)g
-(CPU)f(status,)g(free)i(memory)e(information,)g(and)h(details)-30
-38034 y(about)419 b(processes)f(including)g(PID,)h(user)-62
-b(,)420 b(priority)-101 b(,)418 b(CPU)h(and)g(memory)f(usage)h
-(information,)-30 40049 y(running)387 b(time,)g(and)g(program)g(name.)
--30 41934 y
-SDict begin H.S end
- -30 41934 a -30 41934 a
-SDict begin 12.972 H.A end
- -30 41934 a -30 41934
-a
-SDict begin [ /View [/XYZ H.V] /Dest (4023) cvn H.B /DEST pdfmark end
- -30 41934 a 633 43034 a Fh(6:47pm)1324 b(up)662 b(1)g(day,)1324
-b(18:01,)g(1)663 b(user,)1324 b(load)661 b(average:)g(0.02,)g(0.07,)g
-(0.02)-30 44470 y(61)h(processes:)e(59)i(sleeping,)e(2)j(running,)d(0)j
-(zombie,)d(0)j(stopped)-30 45906 y(CPU)f(states:)1323
-b(2.8\045)662 b(user,)1324 b(3.1\045)662 b(system,)1323
-b(0.0\045)662 b(nice,)f(93.9\045)g(idle)-30 47342 y(Mem:)1987
-b(257992K)661 b(av,)1324 b(249672K)661 b(used,)2650 b(8320K)661
-b(free,)1987 b(51628K)661 b(shrd,)1324 b(78248K)661 b(buff)-30
-48778 y(Swap:)1987 b(32764K)661 b(av,)3313 b(136K)661
-b(used,)1987 b(32628K)661 b(free,)11265 b(82600K)661
-b(cached)-30 50214 y
-SDict begin H.S end
- -30 50214 a -30 50214 a
-SDict begin 12.972 H.A end
- -30 50214
-a -30 50214 a
-SDict begin [ /View [/XYZ H.V] /Dest (4024) cvn H.B /DEST pdfmark end
- -30 50214 a 633 51650 a Fg(PID)h(USER)2649
-b(PRI)1325 b(NI)g(SIZE)f(RSS)h(SHARE)f(STAT)g(LIB)662
-b(\045CPU)f(\045MEM)1325 b(TIME)661 b(COMMAND)633 53086
-y Fh(112)h(root)3312 b(12)1988 b(0)662 b(19376)1324 b(18M)1987
-b(2468)1325 b(R)4638 b(0)1326 b(3.7)e(7.5)662 b(55:53)f(X)-30
-54522 y(4947)h(david)2649 b(15)1988 b(0)1325 b(2136)661
-b(2136)1987 b(1748)1325 b(S)4638 b(0)1326 b(2.3)e(0.8)h(0:00)661
-b(screenshot)-30 55958 y(3398)h(david)3312 b(7)1988 b(0)662
-b(20544)1324 b(20M)1987 b(3000)1325 b(S)4638 b(0)1326
-b(1.5)e(7.9)h(0:14)661 b(gimp)-30 57394 y(4946)h(root)3312
-b(12)1988 b(0)1325 b(1040)661 b(1040)2650 b(836)1325
-b(R)4638 b(0)1326 b(1.5)e(0.4)h(0:00)661 b(top)633 58830
-y(121)h(david)3312 b(4)1988 b(0)g(796)1324 b(796)2650
-b(644)1325 b(S)4638 b(0)1326 b(1.1)e(0.3)662 b(25:37)f(wmSMPmon)633
-60266 y(115)h(david)3312 b(3)1988 b(0)1325 b(2180)661
-b(2180)1987 b(1452)1325 b(S)4638 b(0)1326 b(0.3)e(0.8)h(1:35)661
-b(wmaker)-30 61702 y(4948)h(david)2649 b(16)1988 b(0)g(776)1324
-b(776)2650 b(648)1325 b(S)4638 b(0)1326 b(0.3)e(0.3)h(0:00)661
-b(xwd)1958 63138 y(1)i(root)3975 b(1)1988 b(0)g(176)1324
-b(176)2650 b(148)1325 b(S)4638 b(0)1326 b(0.1)e(0.0)h(0:13)661
-b(init)633 64574 y(189)h(david)3312 b(1)1988 b(0)1325
-b(6256)661 b(6156)1987 b(4352)1325 b(S)4638 b(0)1326
-b(0.1)e(2.4)h(3:16)661 b(licq)-30 66010 y(4734)h(david)3312
-b(0)1988 b(0)1325 b(1164)661 b(1164)2650 b(916)1325 b(S)4638
-b(0)1326 b(0.1)e(0.4)h(0:00)661 b(rxvt)633 67446 y([output)g(cut])p
-Black 49451 73792 a FR(141)p Black eop end
-%%Page: 142 164
-TeXDict begin 142 163 bop -8000 -8000 a
-SDict begin /product where{pop product(Distiller)search{pop pop pop
-version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
-closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
-grestore}if}{pop}ifelse}{pop}ifelse}if end
- -8000 -8000 a
-Black 0 TeXcolorgray -30 -1237 a
-SDict begin H.S end
- -30 -1237 a 0 TeXcolorgray
-0 TeXcolorgray -30 -1237 a
-SDict begin H.R end
- -30 -1237 a -30 -1237 a
-SDict begin [ /View [/XYZ H.V] /Dest (page.142) cvn H.B /DEST pdfmark
-end
- -30
--1237 a Black -399 x FR(Chapter)387 b(11)g(Pr)-70 b(ocess)387
-b(Contr)-70 b(ol)p Black -30 3611 a FU(It')-85 b(s)504
-b(called)6661 3611 y
-SDict begin H.S end
- 6661 3611 a 6661 3611 a
-SDict begin 18.2 H.A end
- 6661 3611
-a 6661 3611 a
-SDict begin [ /View [/XYZ H.V] /Dest (4026) cvn H.B /DEST pdfmark end
- 6661 3611 a FP(top)g FU(because)h(the)f(most)g(CPU)g
-(intensi)-39 b(v)-23 b(e)503 b(programs)h(will)g(be)h(listed)f(at)g
-(the)h(top.)-30 5626 y(An)409 b(interesting)e(note)h(is)h(that)f(top)g
-(will)g(be)g(listed)g(\002rst)g(on)h(most)e(inacti)-39
-b(v)-23 b(e)408 b(\(and)h(some)f(acti)-39 b(v)-23 b(e\))-30
-7640 y(systems)349 b(because)g(of)h(its)f(CPU)g(utilization.)g(Ho)-39
-b(we)g(v)-23 b(er)-62 b(,)30578 7640 y
-SDict begin H.S end
- 30578 7640 a 30578
-7640 a
-SDict begin 18.2 H.A end
- 30578 7640 a 30578 7640 a
-SDict begin [ /View [/XYZ H.V] /Dest (4027) cvn H.B /DEST pdfmark end
- 30578 7640 a FP(top)350
-b FU(is)f(quite)g(useful)g(for)h(determining)-30 9655
-y(what)387 b(program)g(is)g(misbeha)-31 b(ving)386 b(and)i(needs)f(to)g
-(be)g(killed)g(of)-39 b(f.)-30 10765 y
-SDict begin H.S end
- -30 10765 a -30
-10765 a
-SDict begin 18.2 H.A end
- -30 10765 a -30 10765 a
-SDict begin [ /View [/XYZ H.V] /Dest (4028) cvn H.B /DEST pdfmark end
- -30 10765 a 1680 x FU(But)475
-b(suppose)h(you)f(only)h(w)-15 b(ant)475 b(a)h(list)f(of)h(your)g(o)-39
-b(wn)475 b(processes,)h(or)g(the)g(processes)f(of)h(some)-30
-14459 y(other)404 b(user)-85 b(.)405 b(The)f(processes)g(you)g(w)-15
-b(ant)403 b(to)h(see)h(might)e(not)h(be)g(among)g(the)g(most)g(CPU)f
-(inten-)-30 16474 y(si)-39 b(v)-23 b(e)379 b(programs)f(currently)g
-(running.)h(The)23365 16474 y
-SDict begin H.S end
- 23365 16474 a 23365 16474
-a
-SDict begin 18.2 H.A end
- 23365 16474 a 23365 16474 a
-SDict begin [ /View [/XYZ H.V] /Dest (4029) cvn H.B /DEST pdfmark end
- 23365 16474 a FP(-u)g FU(option)f(allo)
--39 b(ws)378 b(you)h(to)f(specify)h(a)g(username)f(or)-30
-18489 y(UID)387 b(and)h(monitor)e(only)h(those)g(processes)g(o)-39
-b(wned)387 b(by)g(that)g(UID.)-30 20374 y
-SDict begin H.S end
- -30 20374 a
--30 20374 a
-SDict begin 12.972 H.A end
- -30 20374 a -30 20374 a
-SDict begin [ /View [/XYZ H.V] /Dest (4030) cvn H.B /DEST pdfmark end
- -30 20374 a -30 20374
-a
-SDict begin H.S end
- -30 20374 a -30 20374 a
-SDict begin 12.972 H.A end
- -30 20374 a -30 20374 a
-SDict begin [ /View [/XYZ H.V] /Dest (4031) cvn H.B /DEST pdfmark end
- -30
-20374 a 1100 x Fj(\045)1163 21474 y
-SDict begin H.S end
- 1163 21474 a 1163
-21474 a
-SDict begin 12.972 H.A end
- 1163 21474 a 1163 21474 a
-SDict begin [ /View [/XYZ H.V] /Dest (4032) cvn H.B /DEST pdfmark end
- 1163 21474 a Fi(top)662
-b(-u)g(alan)633 22910 y Fh(PID)g(USER)3975 b(PR)1325
-b(NI)g(VIRT)661 b(RES)1987 b(SHR)662 b(S)h(\045CPU)e(\045MEM)1987
-b(TIME+)g(COMMAND)-30 24346 y(3622)662 b(alan)3975 b(13)1987
-b(0)663 b(11012)1324 b(10m)662 b(6956)f(S)1325 b(1.0)g(2.1)1987
-b(0:03.66)661 b(gnome-terminal)-30 25782 y(3739)h(alan)3975
-b(13)1987 b(0)1326 b(1012)661 b(1012)1324 b(804)662 b(R)1325
-b(0.3)g(0.2)1987 b(0:00.06)661 b(top)-30 27218 y(3518)h(alan)4638
-b(9)1987 b(0)1326 b(1312)661 b(1312)h(1032)f(S)1325 b(0.0)g(0.3)1987
-b(0:00.09)661 b(bash)-30 28654 y(3529)h(alan)4638 b(9)1987
-b(0)h(984)1325 b(984)f(848)662 b(S)1325 b(0.0)g(0.2)1987
-b(0:00.00)661 b(startx)-30 30090 y(3544)h(alan)4638 b(9)1987
-b(0)h(640)1325 b(640)f(568)662 b(S)1325 b(0.0)g(0.1)1987
-b(0:00.00)661 b(xinit)-30 31526 y(3548)h(alan)4638 b(9)1987
-b(0)1326 b(8324)661 b(8320)h(6044)f(S)1325 b(0.0)g(1.6)1987
-b(0:00.30)661 b(gnome-session)-30 32962 y(3551)h(alan)4638
-b(9)1987 b(0)1326 b(7084)661 b(7084)h(1968)f(S)1325 b(0.0)g(1.4)1987
-b(0:00.50)661 b(gconfd-2)-30 34398 y(3553)h(alan)4638
-b(9)1987 b(0)1326 b(2232)661 b(2232)1324 b(380)662 b(S)1325
-b(0.0)g(0.4)1987 b(0:00.05)661 b(esd)-30 35834 y(3555)h(alan)4638
-b(9)1987 b(0)1326 b(2552)661 b(2552)h(1948)f(S)1325 b(0.0)g(0.5)1987
-b(0:00.10)661 b(bonobo-activati)-30 37270 y(3557)h(alan)4638
-b(9)1987 b(0)1326 b(2740)661 b(2740)h(2224)f(S)1325 b(0.0)g(0.5)1987
-b(0:00.05)661 b(gnome-smproxy)-30 38706 y(3559)h(alan)4638
-b(9)1987 b(0)1326 b(6496)661 b(6492)h(5004)f(S)1325 b(0.0)g(1.3)1987
-b(0:00.31)661 b(gnome-settings-)-30 40142 y(3565)h(alan)4638
-b(9)1987 b(0)1326 b(1740)661 b(1740)h(1440)f(S)1325 b(0.0)g(0.3)1987
-b(0:00.28)661 b(xscreensaver)-30 41578 y(3568)h(alan)4638
-b(9)1987 b(0)1326 b(7052)661 b(7052)h(4960)f(S)1325 b(0.0)g(1.4)1987
-b(0:02.28)661 b(metacity)-30 43014 y(3572)h(alan)4638
-b(9)1987 b(0)663 b(11412)1324 b(11m)662 b(7992)f(S)1325
-b(0.0)g(2.2)1987 b(0:01.58)661 b(gnome-panel)-30 44450
-y(3574)h(alan)4638 b(9)1987 b(0)663 b(12148)1324 b(11m)662
-b(8780)f(S)1325 b(0.0)g(2.4)1987 b(0:00.64)661 b(nautilus)-30
-45885 y(3575)h(alan)4638 b(9)1987 b(0)663 b(12148)1324
-b(11m)662 b(8780)f(S)1325 b(0.0)g(2.4)1987 b(0:00.00)661
-b(nautilus)-30 47321 y(3576)h(alan)4638 b(9)1987 b(0)663
-b(12148)1324 b(11m)662 b(8780)f(S)1325 b(0.0)g(2.4)1987
-b(0:00.00)661 b(nautilus)-30 48894 y
-SDict begin H.S end
- -30 48894 a -30
-48894 a
-SDict begin 18.2 H.A end
- -30 48894 a -30 48894 a
-SDict begin [ /View [/XYZ H.V] /Dest (4033) cvn H.B /DEST pdfmark end
- -30 48894 a 1992 x FU(As)614
-b(you)g(can)h(see,)g(I'm)f(currently)g(running)25489
-50886 y
-SDict begin H.S end
- 25489 50886 a 25489 50886 a
-SDict begin 18.2 H.A end
- 25489 50886 a 25489
-50886 a
-SDict begin [ /View [/XYZ H.V] /Dest (4034) cvn H.B /DEST pdfmark end
- 25489 50886 a FP(X)p FU(,)27235 50886 y
-SDict begin H.S end
- 27235
-50886 a 27235 50886 a
-SDict begin 18.2 H.A end
- 27235 50886 a 27235 50886 a
-SDict begin [ /View [/XYZ H.V] /Dest (4035) cvn H.B /DEST pdfmark end
- 27235
-50886 a FP(top)p FU(,)g(a)31771 50886 y
-SDict begin H.S end
- 31771 50886 a
-31771 50886 a
-SDict begin 18.2 H.A end
- 31771 50886 a 31771 50886 a
-SDict begin [ /View [/XYZ H.V] /Dest (4036) cvn H.B /DEST pdfmark end
- 31771 50886
-a FP(gnome-terminal)f FU(\(in)h(which)g(I'm)-30 52901
-y(writing)411 b(this\))h(and)g(man)-23 b(y)412 b(other)g(X-related)g
-(processes)f(which)h(tak)-15 b(e)412 b(up)g(the)g(most)f(CPU)g(time)-30
-54915 y(for)342 b(me.)h(This)f(is)f(a)i(good)f(w)-15
-b(ay)341 b(to)h(monitor)g(ho)-39 b(w)342 b(hard)g(your)g(users)g(are)g
-(w)-15 b(orking)341 b(your)h(system.)-30 55251 y
-SDict begin H.S end
- -30
-55251 a -30 55251 a
-SDict begin 18.2 H.A end
- -30 55251 a -30 55251 a
-SDict begin [ /View [/XYZ H.V] /Dest (4037) cvn H.B /DEST pdfmark end
- -30 55251
-a -30 55251 a
-SDict begin H.S end
- -30 55251 a -30 55251 a
-SDict begin 18.2 H.A end
- -30 55251 a -30
-55251 a
-SDict begin [ /View [/XYZ H.V] /Dest (4039) cvn H.B /DEST pdfmark end
- -30 55251 a -30 56026 a
-SDict begin H.S end
- -30 56026 a -30 56026
-a
-SDict begin 18.2 H.A end
- -30 56026 a -30 56026 a
-SDict begin [ /View [/XYZ H.V] /Dest (4041) cvn H.B /DEST pdfmark end
- -30 56026 a -30 56026 a
-SDict begin H.S end
- -30
-56026 a -30 56026 a
-SDict begin 18.2 H.A end
- -30 56026 a -30 56026 a
-SDict begin [ /View [/XYZ H.V] /Dest (4042) cvn H.B /DEST pdfmark end
- -30 56026
-a 1679 x FP(top)597 b FU(also)g(supports)g(monitoring)f(processes)h(by)
-g(their)g(PID,)h(ignoring)e(idle)h(and)h(zombied)-30
-59719 y(processes,)449 b(and)h(man)-23 b(y)448 b(other)i(options.)e
-(The)i(best)f(place)g(to)g(get)g(a)h(handle)f(on)g(these)g(options)-30
-61734 y(is)387 b(the)g(man)g(page)h(for)12236 61734 y
-SDict begin H.S end
-
-12236 61734 a 12236 61734 a
-SDict begin 18.2 H.A end
- 12236 61734 a 12236 61734
-a
-SDict begin [ /View [/XYZ H.V] /Dest (4043) cvn H.B /DEST pdfmark end
- 12236 61734 a FP(top)p FU(.)p Black -30 73792 a FR(142)p
-Black eop end
-%%Page: 143 165
-TeXDict begin 143 164 bop -8000 -8000 a
-SDict begin /product where{pop product(Distiller)search{pop pop pop
-version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
-closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
-grestore}if}{pop}ifelse}{pop}ifelse}if end
- -8000 -8000 a
-Black 0 TeXcolorgray -30 -1358 a
-SDict begin H.S end
- -30 -1358 a 0 TeXcolorgray
-0 TeXcolorgray -30 -1358 a
-SDict begin H.R end
- -30 -1358 a -30 -1358 a
-SDict begin [ /View [/XYZ H.V] /Dest (page.143) cvn H.B /DEST pdfmark
-end
- -30
--1358 a Black Black -30 2383 a
-SDict begin H.S end
- -30 2383 a -30 2383 a
-SDict begin 18.2 H.A end
-
--30 2383 a -30 2383 a
-SDict begin [ /View [/XYZ H.V] /Dest (ESSENTIAL-SYSADMIN) cvn H.B /DEST
-pdfmark end
- -30 2383 a 2345 x FS(Chapter)894
-b(12)-30 10743 y FO(Essential)1287 b(System)-30 16759
-y(Administration)p -30 24332 51806 56 v -30 24332 a
-SDict begin H.S end
- -30
-24332 a -30 24332 a
-SDict begin 18.2 H.A end
- -30 24332 a -30 24332 a
-SDict begin [ /View [/XYZ H.V] /Dest (4046) cvn H.B /DEST pdfmark end
- -30 24332
-a -30 25107 a
-SDict begin H.S end
- -30 25107 a -30 25107 a
-SDict begin 18.2 H.A end
- -30 25107 a -30
-25107 a
-SDict begin [ /View [/XYZ H.V] /Dest (4048) cvn H.B /DEST pdfmark end
- -30 25107 a 1051 x FU(Whoa)521 b(whoa)g(whoa)g(whoa)f(whoa....)
-j(I)e(kno)-39 b(w)521 b(what)f(you')-77 b(re)521 b(thinking.)40313
-26158 y
-SDict begin H.S end
- 40313 26158 a 40313 26158 a
-SDict begin 18.2 H.A end
- 40313 26158 a 40313
-26158 a
-SDict begin [ /View [/XYZ H.V] /Dest (4049) cvn H.B /DEST pdfmark end
- 40313 26158 a FU(\223I'm)g(not)g(a)g(system)-30
-28172 y(administrator!)386 b(I)i(don')-28 b(t)387 b(e)-39
-b(v)-23 b(en)387 b(w)-15 b(ant)387 b(to)g(be)g(a)h(system)e
-(administrator!\224)-30 28508 y
-SDict begin H.S end
- -30 28508 a -30 28508
-a
-SDict begin 18.2 H.A end
- -30 28508 a -30 28508 a
-SDict begin [ /View [/XYZ H.V] /Dest (4050) cvn H.B /DEST pdfmark end
- -30 28508 a -30 29283 a
-SDict begin H.S end
- -30
-29283 a -30 29283 a
-SDict begin 18.2 H.A end
- -30 29283 a -30 29283 a
-SDict begin [ /View [/XYZ H.V] /Dest (4052) cvn H.B /DEST pdfmark end
- -30 29283
-a 1679 x FU(F)-23 b(act)553 b(is,)g(you)f(are)h(the)g(administrator)f
-(of)h(an)-23 b(y)552 b(computers)h(for)g(which)f(you)h(ha)-31
-b(v)-23 b(e)553 b(the)48800 30962 y
-SDict begin H.S end
- 48800 30962 a 48800
-30962 a
-SDict begin 18.2 H.A end
- 48800 30962 a 48800 30962 a
-SDict begin [ /View [/XYZ H.V] /Dest (4053) cvn H.B /DEST pdfmark end
- 48800 30962 a FP(root)-30
-32977 y FU(passw)-15 b(ord.)479 b(This)g(might)f(be)i(your)f(desktop)g
-(box)g(with)g(one)g(or)h(tw)-15 b(o)478 b(users,)i(or)g(it)f(might)f
-(be)i(a)-30 34991 y(big)540 b(serv)-23 b(er)539 b(with)h(se)-39
-b(v)-23 b(eral)539 b(hundred.)h(Re)-23 b(g)-8 b(ardless,)540
-b(you')-15 b(ll)539 b(need)g(to)h(kno)-39 b(w)540 b(ho)-39
-b(w)540 b(to)f(manage)-30 37006 y(users,)492 b(and)g(ho)-39
-b(w)491 b(to)h(shut)f(do)-39 b(wn)492 b(the)f(system)g(safely)-101
-b(.)492 b(These)g(tasks)f(seem)h(simple,)f(b)-31 b(ut)491
-b(the)-23 b(y)-30 39021 y(ha)-31 b(v)-23 b(e)387 b(some)g(quirks)g(to)g
-(k)-15 b(eep)387 b(in)g(mind.)-30 39356 y
-SDict begin H.S end
- -30 39356 a
--30 39356 a
-SDict begin 18.2 H.A end
- -30 39356 a -30 39356 a
-SDict begin [ /View [/XYZ H.V] /Dest (ESSENTIAL-SYSADMIN-USERS) cvn
-H.B /DEST pdfmark end
- -30 39356 a 5789
-x FL(12.1)620 b(User)-33 b(s)620 b(and)f(Gr)-45 b(oups)-30
-45607 y
-SDict begin H.S end
- -30 45607 a -30 45607 a
-SDict begin 18.2 H.A end
- -30 45607 a -30 45607
-a
-SDict begin [ /View [/XYZ H.V] /Dest (4056) cvn H.B /DEST pdfmark end
- -30 45607 a -30 46723 a
-SDict begin H.S end
- -30 46723 a -30 46723 a
-SDict begin 18.2 H.A end
- -30
-46723 a -30 46723 a
-SDict begin [ /View [/XYZ H.V] /Dest (4059) cvn H.B /DEST pdfmark end
- -30 46723 a 1553 x FU(As)517 b(mentioned)f(in)p
-0 TeXcolorgray 10992 48276 a
-SDict begin H.S end
- 10992 48276 a FU(Chapter)387
-b(8)17061 48276 y
-SDict begin 18.2 H.L end
- 17061 48276 a 17061 48276 a
-SDict begin [ /Subtype /Link /Dest (SHELL) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 17061 48276
-a Black -1 w FU(,)518 b(you)f(shouldn')-28 b(t)516 b(normally)g(use)h
-(your)g(system)f(logged)g(in)h(as)-30 50290 y
-SDict begin H.S end
- -30 50290
-a -30 50290 a
-SDict begin 18.2 H.A end
- -30 50290 a -30 50290 a
-SDict begin [ /View [/XYZ H.V] /Dest (4061) cvn H.B /DEST pdfmark end
- -30 50290 a FP(root)p
-FU(.)348 b(Instead,)f(you)h(should)f(create)g(a)h(normal)f(user)h
-(account)f(for)h(e)-39 b(v)-23 b(eryday)347 b(use,)h(and)g(use)f(the)
--30 52305 y(root)483 b(account)g(only)g(for)g(system)g(administration)f
-(tasks.)h(T)-124 b(o)483 b(create)h(a)f(user)-62 b(,)484
-b(you)f(can)g(either)-30 54320 y(use)387 b(the)h(tools)e(supplied)h
-(with)f(Slackw)-15 b(are,)387 b(or)h(you)f(can)g(edit)g(the)h(passw)-15
-b(ord)386 b(\002les)h(by)g(hand.)-30 54655 y
-SDict begin H.S end
- -30 54655
-a -30 54655 a
-SDict begin 18.2 H.A end
- -30 54655 a -30 54655 a
-SDict begin [ /View [/XYZ H.V] /Dest (ESSENTIAL-SYSADMIN-USERS-SCRIPTS)
-cvn H.B /DEST pdfmark end
- -30 54655 a 5027
-x FG(Supplied)519 b(Scripts)-30 60997 y
-SDict begin H.S end
- -30 60997 a -30
-60997 a
-SDict begin 18.2 H.A end
- -30 60997 a -30 60997 a
-SDict begin [ /View [/XYZ H.V] /Dest (4064) cvn H.B /DEST pdfmark end
- -30 60997 a 1629 x FU(The)d(easiest)g
-(w)-15 b(ay)516 b(to)h(manage)f(users)g(and)g(groups)g(is)g(with)g(the)
-g(supplied)g(scripts)g(and)g(pro-)-30 64641 y(grams.)618
-b(Slackw)-15 b(are)617 b(includes)g(the)h(programs)26586
-64641 y
-SDict begin H.S end
- 26586 64641 a 26586 64641 a
-SDict begin 18.2 H.A end
- 26586 64641 a 26586
-64641 a
-SDict begin [ /View [/XYZ H.V] /Dest (4065) cvn H.B /DEST pdfmark end
- 26586 64641 a FP(adduser)p FU(,)32799 64641 y
-SDict begin H.S end
-
-32799 64641 a 32799 64641 a
-SDict begin 18.2 H.A end
- 32799 64641 a 32799 64641
-a
-SDict begin [ /View [/XYZ H.V] /Dest (4066) cvn H.B /DEST pdfmark end
- 32799 64641 a FP(userdel)p FU(\(8\),)40818 64641 y
-SDict begin H.S end
-
-40818 64641 a 40818 64641 a
-SDict begin 18.2 H.A end
- 40818 64641 a 40818 64641
-a
-SDict begin [ /View [/XYZ H.V] /Dest (4067) cvn H.B /DEST pdfmark end
- 40818 64641 a FP(chfn)p FU(\(1\),)46606 64641 y
-SDict begin H.S end
- 46606
-64641 a 46606 64641 a
-SDict begin 18.2 H.A end
- 46606 64641 a 46606 64641 a
-SDict begin [ /View [/XYZ H.V] /Dest (4068) cvn H.B /DEST pdfmark end
- 46606
-64641 a FP(chsh)p FU(\(1\),)-30 66656 y(and)2784 66656
-y
-SDict begin H.S end
- 2784 66656 a 2784 66656 a
-SDict begin 18.2 H.A end
- 2784 66656 a 2784 66656 a
-SDict begin [ /View [/XYZ H.V] /Dest (4069) cvn H.B /DEST pdfmark end
-
-2784 66656 a FP(passwd)p FU(\(1\))575 b(for)i(dealing)e(with)h(users.)g
-(The)g(commands)34909 66656 y
-SDict begin H.S end
- 34909 66656 a 34909 66656
-a
-SDict begin 18.2 H.A end
- 34909 66656 a 34909 66656 a
-SDict begin [ /View [/XYZ H.V] /Dest (4070) cvn H.B /DEST pdfmark end
- 34909 66656 a FP(groupadd)p
-FU(\(8\),)43630 66656 y
-SDict begin H.S end
- 43630 66656 a 43630 66656 a
-SDict begin 18.2 H.A end
- 43630
-66656 a 43630 66656 a
-SDict begin [ /View [/XYZ H.V] /Dest (4071) cvn H.B /DEST pdfmark end
- 43630 66656 a FP(groupdel)p FU(\(8\),)p
-Black 49451 73672 a FR(143)p Black eop end
-%%Page: 144 166
-TeXDict begin 144 165 bop -8000 -8000 a
-SDict begin /product where{pop product(Distiller)search{pop pop pop
-version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
-closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
-grestore}if}{pop}ifelse}{pop}ifelse}if end
- -8000 -8000 a
-Black 0 TeXcolorgray -30 -1358 a
-SDict begin H.S end
- -30 -1358 a 0 TeXcolorgray
-0 TeXcolorgray -30 -1358 a
-SDict begin H.R end
- -30 -1358 a -30 -1358 a
-SDict begin [ /View [/XYZ H.V] /Dest (page.144) cvn H.B /DEST pdfmark
-end
- -30
--1358 a Black -278 x FR(Chapter)387 b(12)g(Essential)f(System)h
-(Administr)-23 b(ation)p Black -30 3490 a FU(and)2592
-3490 y
-SDict begin H.S end
- 2592 3490 a 2592 3490 a
-SDict begin 18.2 H.A end
- 2592 3490 a 2592 3490
-a
-SDict begin [ /View [/XYZ H.V] /Dest (4072) cvn H.B /DEST pdfmark end
- 2592 3490 a FP(groupmod)p FU(\(8\))384 b(are)h(for)f(dealing)g(with)g
-(groups.)h(W)-62 b(ith)384 b(the)g(e)-23 b(xception)384
-b(of)42043 3490 y
-SDict begin H.S end
- 42043 3490 a 42043 3490 a
-SDict begin 18.2 H.A end
- 42043 3490
-a 42043 3490 a
-SDict begin [ /View [/XYZ H.V] /Dest (4073) cvn H.B /DEST pdfmark end
- 42043 3490 a FP(chfn)p FU(,)45791 3490
-y
-SDict begin H.S end
- 45791 3490 a 45791 3490 a
-SDict begin 18.2 H.A end
- 45791 3490 a 45791 3490 a
-SDict begin [ /View [/XYZ H.V] /Dest (4074) cvn H.B /DEST pdfmark end
-
-45791 3490 a FP(chsh)p FU(,)g(and)-30 5505 y
-SDict begin H.S end
- -30 5505
-a -30 5505 a
-SDict begin 18.2 H.A end
- -30 5505 a -30 5505 a
-SDict begin [ /View [/XYZ H.V] /Dest (4075) cvn H.B /DEST pdfmark end
- -30 5505 a FP(passwd)p
-FU(,)414 b(these)f(programs)g(are)h(generally)f(only)h(run)f(as)30940
-5505 y
-SDict begin H.S end
- 30940 5505 a 30940 5505 a
-SDict begin 18.2 H.A end
- 30940 5505 a 30940 5505
-a
-SDict begin [ /View [/XYZ H.V] /Dest (4076) cvn H.B /DEST pdfmark end
- 30940 5505 a FP(root)p FU(,)h(and)f(are)h(therefore)g(located)f(in)
--30 7520 y
-SDict begin H.S end
- -30 7520 a -30 7520 a
-SDict begin 18.2 H.A end
- -30 7520 a -30 7520
-a
-SDict begin [ /View [/XYZ H.V] /Dest (4077) cvn H.B /DEST pdfmark end
- -30 7520 a FQ(/usr/sbin)p FU(.)6357 7520 y
-SDict begin H.S end
- 6357 7520
-a 6357 7520 a
-SDict begin 18.2 H.A end
- 6357 7520 a 6357 7520 a
-SDict begin [ /View [/XYZ H.V] /Dest (4078) cvn H.B /DEST pdfmark end
- 6357 7520 a FP(chfn)p
-FU(,)10083 7520 y
-SDict begin H.S end
- 10083 7520 a 10083 7520 a
-SDict begin 18.2 H.A end
- 10083 7520
-a 10083 7520 a
-SDict begin [ /View [/XYZ H.V] /Dest (4079) cvn H.B /DEST pdfmark end
- 10083 7520 a FP(chsh)p FU(,)362 b(and)16409
-7520 y
-SDict begin H.S end
- 16409 7520 a 16409 7520 a
-SDict begin 18.2 H.A end
- 16409 7520 a 16409 7520
-a
-SDict begin [ /View [/XYZ H.V] /Dest (4080) cvn H.B /DEST pdfmark end
- 16409 7520 a FP(passwd)f FU(can)i(be)f(run)h(by)f(an)-23
-b(yone,)362 b(and)h(are)f(located)g(in)46378 7520 y
-SDict begin H.S end
- 46378
-7520 a 46378 7520 a
-SDict begin 18.2 H.A end
- 46378 7520 a 46378 7520 a
-SDict begin [ /View [/XYZ H.V] /Dest (4081) cvn H.B /DEST pdfmark end
- 46378 7520
-a FQ(/usr/bin)p FU(.)-30 8630 y
-SDict begin H.S end
- -30 8630 a -30 8630 a
-SDict begin 18.2 H.A end
-
--30 8630 a -30 8630 a
-SDict begin [ /View [/XYZ H.V] /Dest (4082) cvn H.B /DEST pdfmark end
- -30 8630 a 1679 x FU(Users)402
-b(can)h(be)f(added)g(with)g(the)17878 10309 y
-SDict begin H.S end
- 17878 10309
-a 17878 10309 a
-SDict begin 18.2 H.A end
- 17878 10309 a 17878 10309 a
-SDict begin [ /View [/XYZ H.V] /Dest (4083) cvn H.B /DEST pdfmark end
- 17878 10309
-a FP(adduser)f FU(program.)i(W)-124 b(e')-15 b(ll)401
-b(start)h(out)g(by)h(going)e(through)h(the)-30 12324
-y(whole)397 b(procedure,)g(sho)-39 b(wing)397 b(all)g(the)g(questions)f
-(that)h(are)g(ask)-15 b(ed)396 b(and)h(a)h(brief)f(description)f(of)-30
-14338 y(what)368 b(e)-39 b(v)-23 b(erything)368 b(means.)h(The)g(def)
--15 b(ault)367 b(answer)i(is)f(in)h(the)f(brack)-15 b(ets,)369
-b(and)f(can)h(be)g(chosen)f(for)-30 16353 y(almost)387
-b(all)g(the)g(questions,)g(unless)f(you)i(really)f(w)-15
-b(ant)386 b(to)h(change)h(something.)-30 18238 y
-SDict begin H.S end
- -30
-18238 a -30 18238 a
-SDict begin 14.56 H.A end
- -30 18238 a -30 18238 a
-SDict begin [ /View [/XYZ H.V] /Dest (4084) cvn H.B /DEST pdfmark end
- -30 18238
-a -30 18238 a
-SDict begin H.S end
- -30 18238 a -30 18238 a
-SDict begin 14.56 H.A end
- -30 18238 a -30
-18238 a
-SDict begin [ /View [/XYZ H.V] /Dest (4085) cvn H.B /DEST pdfmark end
- -30 18238 a 1277 x FJ(#)1309 19515 y
-SDict begin H.S end
- 1309 19515
-a 1309 19515 a
-SDict begin 14.56 H.A end
- 1309 19515 a 1309 19515 a
-SDict begin [ /View [/XYZ H.V] /Dest (4086) cvn H.B /DEST pdfmark end
- 1309 19515 a
-FH(adduser)-30 21126 y FP(Login)743 b(name)h(for)f(new)h(user)f([]:)h
-(jellyd)-30 21321 y
-SDict begin H.S end
- -30 21321 a -30 21321 a
-SDict begin 18.2 H.A end
- -30 21321
-a -30 21321 a
-SDict begin [ /View [/XYZ H.V] /Dest (4087) cvn H.B /DEST pdfmark end
- -30 21321 a -30 22871 a
-SDict begin H.S end
- -30 22871 a -30
-22871 a
-SDict begin 18.2 H.A end
- -30 22871 a -30 22871 a
-SDict begin [ /View [/XYZ H.V] /Dest (4089) cvn H.B /DEST pdfmark end
- -30 22871 a 1820 x FU(This)416
-b(is)g(the)g(name)g(that)h(the)f(user)g(will)g(use)g(to)g(login.)g(T)
--54 b(raditionally)-101 b(,)416 b(login)g(names)g(are)g(eight)-30
-26705 y(characters)592 b(or)g(fe)-39 b(wer)-62 b(,)593
-b(and)f(all)g(lo)-39 b(wercase)592 b(characters.)h(\(Y)-170
-b(ou)591 b(may)h(use)g(more)g(than)f(eight)-30 28720
-y(characters,)442 b(or)e(use)h(digits,)g(b)-31 b(ut)440
-b(a)-31 b(v)g(oid)441 b(doing)f(so)h(unless)f(you)h(ha)-31
-b(v)-23 b(e)440 b(a)i(f)-15 b(airly)440 b(important)g(rea-)-30
-30735 y(son.\))-30 31787 y
-SDict begin H.S end
- -30 31787 a -30 31787 a
-SDict begin 18.2 H.A end
- -30
-31787 a -30 31787 a
-SDict begin [ /View [/XYZ H.V] /Dest (4090) cvn H.B /DEST pdfmark end
- -30 31787 a 1737 x FU(Y)-170 b(ou)387
-b(can)g(also)g(pro)-23 b(vide)387 b(the)g(login)g(name)g(as)g(an)h(ar)
--28 b(gument)387 b(on)g(the)g(command)f(line:)-30 35410
-y
-SDict begin H.S end
- -30 35410 a -30 35410 a
-SDict begin 14.56 H.A end
- -30 35410 a -30 35410 a
-SDict begin [ /View [/XYZ H.V] /Dest (4091) cvn H.B /DEST pdfmark end
- -30
-35410 a -30 35410 a
-SDict begin H.S end
- -30 35410 a -30 35410 a
-SDict begin 14.56 H.A end
- -30 35410
-a -30 35410 a
-SDict begin [ /View [/XYZ H.V] /Dest (4092) cvn H.B /DEST pdfmark end
- -30 35410 a 1276 x FJ(#)1309 36686 y
-SDict begin H.S end
- 1309
-36686 a 1309 36686 a
-SDict begin 14.56 H.A end
- 1309 36686 a 1309 36686 a
-SDict begin [ /View [/XYZ H.V] /Dest (4093) cvn H.B /DEST pdfmark end
- 1309 36686
-a FH(adduser)743 b(jellyd)-30 38403 y
-SDict begin H.S end
- -30 38403 a -30
-38403 a
-SDict begin 18.2 H.A end
- -30 38403 a -30 38403 a
-SDict begin [ /View [/XYZ H.V] /Dest (4094) cvn H.B /DEST pdfmark end
- -30 38403 a 1847 x FU(In)387
-b(either)h(case,)g(after)f(pro)-23 b(viding)386 b(the)h(login)g(name,)h
-(adduser)f(will)g(prompt)f(for)i(the)f(user)g(ID:)-30
-42135 y
-SDict begin H.S end
- -30 42135 a -30 42135 a
-SDict begin 14.56 H.A end
- -30 42135 a -30 42135
-a
-SDict begin [ /View [/XYZ H.V] /Dest (4095) cvn H.B /DEST pdfmark end
- -30 42135 a 1277 x FP(User)743 b(ID)h(\('UID'\))f([)h(defaults)f(to)g
-(next)h(available)f(]:)-30 45106 y
-SDict begin H.S end
- -30 45106 a -30 45106
-a
-SDict begin 18.2 H.A end
- -30 45106 a -30 45106 a
-SDict begin [ /View [/XYZ H.V] /Dest (4096) cvn H.B /DEST pdfmark end
- -30 45106 a 1870 x FU(The)377
-b(user)f(ID)h(\(UID\))g(is)f(ho)-39 b(w)377 b(o)-39 b(wnerships)376
-b(are)h(really)g(determined)f(in)g(Linux.)h(Each)f(user)h(has)-30
-48991 y(a)529 b(unique)g(number)-62 b(,)529 b(starting)f(at)h(1000)f
-(in)h(Slackw)-15 b(are.)529 b(Y)-170 b(ou)528 b(can)h(pick)g(a)g(UID)g
-(for)g(the)g(ne)-39 b(w)-30 51005 y(user)-62 b(,)388
-b(or)f(you)g(can)h(just)f(let)g(adduser)g(assign)f(the)i(user)f(the)g
-(ne)-23 b(xt)387 b(free)h(one.)-30 52891 y
-SDict begin H.S end
- -30 52891
-a -30 52891 a
-SDict begin 14.56 H.A end
- -30 52891 a -30 52891 a
-SDict begin [ /View [/XYZ H.V] /Dest (4097) cvn H.B /DEST pdfmark end
- -30 52891 a 1276
-x FP(Initial)743 b(group)g([users]:)-30 54362 y
-SDict begin H.S end
- -30 54362
-a -30 54362 a
-SDict begin 18.2 H.A end
- -30 54362 a -30 54362 a
-SDict begin [ /View [/XYZ H.V] /Dest (4098) cvn H.B /DEST pdfmark end
- -30 54362 a -30
-55911 a
-SDict begin H.S end
- -30 55911 a -30 55911 a
-SDict begin 18.2 H.A end
- -30 55911 a -30 55911
-a
-SDict begin [ /View [/XYZ H.V] /Dest (4101) cvn H.B /DEST pdfmark end
- -30 55911 a 1820 x FU(All)490 b(users)g(are)h(placed)f(into)g(the)
-18320 57731 y
-SDict begin H.S end
- 18320 57731 a 18320 57731 a
-SDict begin 18.2 H.A end
- 18320 57731
-a 18320 57731 a
-SDict begin [ /View [/XYZ H.V] /Dest (4102) cvn H.B /DEST pdfmark end
- 18320 57731 a FP(users)g FU(group)g(by)g(def)-15
-b(ault.)490 b(Y)-170 b(ou)490 b(might)f(w)-15 b(ant)490
-b(to)g(place)g(the)-30 59746 y(ne)-39 b(w)505 b(user)f(into)f(a)i(dif)
--39 b(ferent)504 b(group,)g(b)-31 b(ut)504 b(it)g(is)g(not)g
-(recommended)g(unless)f(you)h(kno)-39 b(w)504 b(what)-30
-61761 y(you')-77 b(re)387 b(doing.)-30 63646 y
-SDict begin H.S end
- -30 63646
-a -30 63646 a
-SDict begin 14.56 H.A end
- -30 63646 a -30 63646 a
-SDict begin [ /View [/XYZ H.V] /Dest (4103) cvn H.B /DEST pdfmark end
- -30 63646 a 1276
-x FP(Additional)743 b(groups)g(\(comma)g(separated\))g([]:)p
-Black -30 73672 a FR(144)p Black eop end
-%%Page: 145 167
-TeXDict begin 145 166 bop -8000 -8000 a
-SDict begin /product where{pop product(Distiller)search{pop pop pop
-version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
-closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
-grestore}if}{pop}ifelse}{pop}ifelse}if end
- -8000 -8000 a
-Black 0 TeXcolorgray -30 -1237 a
-SDict begin H.S end
- -30 -1237 a 0 TeXcolorgray
-0 TeXcolorgray -30 -1237 a
-SDict begin H.R end
- -30 -1237 a -30 -1237 a
-SDict begin [ /View [/XYZ H.V] /Dest (page.145) cvn H.B /DEST pdfmark
-end
- -30
--1237 a Black 24333 -1636 a FR(Chapter)387 b(12)g(Essential)f(System)h
-(Administr)-23 b(ation)p Black -30 2504 a
-SDict begin H.S end
- -30 2504 a
--30 2504 a
-SDict begin 18.2 H.A end
- -30 2504 a -30 2504 a
-SDict begin [ /View [/XYZ H.V] /Dest (4104) cvn H.B /DEST pdfmark end
- -30 2504 a 1107 x FU(This)406
-b(question)g(allo)-39 b(ws)407 b(you)f(to)g(place)h(the)g(ne)-39
-b(w)407 b(user)f(into)g(additional)g(groups.)h(It)f(is)h(possible)-30
-5626 y(for)419 b(a)h(user)f(to)g(be)h(in)f(se)-39 b(v)-23
-b(eral)419 b(groups)g(at)g(the)g(same)g(time.)g(This)g(is)g(useful)g
-(if)g(you)g(ha)-31 b(v)-23 b(e)419 b(estab-)-30 7640
-y(lished)367 b(groups)g(for)h(things)e(lik)-15 b(e)367
-b(modifying)f(web)i(site)f(\002les,)g(playing)g(g)-8
-b(ames,)368 b(and)f(so)h(on.)f(F)-23 b(or)-30 9655 y(e)g(xample,)425
-b(some)g(sites)f(de\002ne)h(group)21141 9655 y
-SDict begin H.S end
- 21141
-9655 a 21141 9655 a
-SDict begin 18.2 H.A end
- 21141 9655 a 21141 9655 a
-SDict begin [ /View [/XYZ H.V] /Dest (4105) cvn H.B /DEST pdfmark end
- 21141 9655
-a FP(wheel)g FU(as)g(the)g(only)f(group)h(that)g(can)g(use)g(the)46678
-9655 y
-SDict begin H.S end
- 46678 9655 a 46678 9655 a
-SDict begin 18.2 H.A end
- 46678 9655 a 46678 9655
-a
-SDict begin [ /View [/XYZ H.V] /Dest (4106) cvn H.B /DEST pdfmark end
- 46678 9655 a FP(su)g FU(com-)-30 11670 y(mand.)351
-b(Or)-62 b(,)351 b(a)g(def)-15 b(ault)350 b(Slackw)-15
-b(are)350 b(installation)g(uses)g(the)31435 11670 y
-SDict begin H.S end
- 31435
-11670 a 31435 11670 a
-SDict begin 18.2 H.A end
- 31435 11670 a 31435 11670 a
-SDict begin [ /View [/XYZ H.V] /Dest (4107) cvn H.B /DEST pdfmark end
- 31435
-11670 a FP(sys)h FU(group)f(for)h(users)g(authorized)f(to)-30
-13684 y(play)387 b(sounds)g(through)f(the)i(internal)e(sound)h(card.)
--30 15570 y
-SDict begin H.S end
- -30 15570 a -30 15570 a
-SDict begin 14.56 H.A end
- -30 15570 a -30 15570
-a
-SDict begin [ /View [/XYZ H.V] /Dest (4108) cvn H.B /DEST pdfmark end
- -30 15570 a 1276 x FP(Home)743 b(directory)g([/home/jellyd])-30
-18590 y
-SDict begin H.S end
- -30 18590 a -30 18590 a
-SDict begin 18.2 H.A end
- -30 18590 a -30 18590
-a
-SDict begin [ /View [/XYZ H.V] /Dest (4109) cvn H.B /DEST pdfmark end
- -30 18590 a 1820 x FU(Home)346 b(directories)f(def)-15
-b(ault)345 b(to)g(being)h(placed)g(under)29231 20410
-y
-SDict begin H.S end
- 29231 20410 a 29231 20410 a
-SDict begin 18.2 H.A end
- 29231 20410 a 29231 20410
-a
-SDict begin [ /View [/XYZ H.V] /Dest (4110) cvn H.B /DEST pdfmark end
- 29231 20410 a FQ(/home)p FU(.)d(If)k(you)e(run)h(a)g(v)-23
-b(ery)345 b(lar)-28 b(ge)346 b(system,)-30 22425 y(it')-85
-b(s)432 b(possible)g(that)h(you)g(ha)-31 b(v)-23 b(e)432
-b(mo)-23 b(v)g(ed)432 b(the)h(home)g(directories)f(to)h(a)g(dif)-39
-b(ferent)433 b(location)f(\(or)h(to)-30 24440 y(man)-23
-b(y)523 b(locations\).)h(This)f(step)h(allo)-39 b(ws)523
-b(you)h(to)f(specify)h(where)g(the)f(user')-85 b(s)524
-b(home)f(directory)-30 26454 y(will)387 b(be.)-30 28020
-y
-SDict begin H.S end
- -30 28020 a -30 28020 a
-SDict begin 14.56 H.A end
- -30 28020 a -30 28020 a
-SDict begin [ /View [/XYZ H.V] /Dest (4111) cvn H.B /DEST pdfmark end
- -30
-28020 a 1596 x FP(Shell)743 b([)h(/bin/bash)f(])-30 31311
-y
-SDict begin H.S end
- -30 31311 a -30 31311 a
-SDict begin 18.2 H.A end
- -30 31311 a -30 31311 a
-SDict begin [ /View [/XYZ H.V] /Dest (4112) cvn H.B /DEST pdfmark end
- -30
-31311 a -30 31311 a
-SDict begin H.S end
- -30 31311 a -30 31311 a
-SDict begin 18.2 H.A end
- -30 31311
-a -30 31311 a
-SDict begin [ /View [/XYZ H.V] /Dest (4113) cvn H.B /DEST pdfmark end
- -30 31311 a 1869 x FP(bash)502 b FU(is)h(the)g(def)-15
-b(ault)501 b(shell)i(for)f(Slackw)-15 b(are)502 b(Linux,)h(and)g(will)f
-(be)h(\002ne)f(for)h(most)f(people.)h(If)-30 35195 y(your)355
-b(ne)-39 b(w)355 b(user)f(comes)h(from)f(a)h(Unix)g(background,)f(the)
--23 b(y)355 b(may)f(be)h(f)-15 b(amiliar)354 b(with)g(a)h(dif)-39
-b(ferent)-30 37210 y(shell.)461 b(Y)-170 b(ou)460 b(can)h(change)g
-(their)g(shell)f(no)-39 b(w)-101 b(,)462 b(or)f(the)-23
-b(y)460 b(can)h(change)g(it)g(themselv)-23 b(es)460 b(later)h(using)-30
-39224 y(the)2251 39224 y
-SDict begin H.S end
- 2251 39224 a 2251 39224 a
-SDict begin 18.2 H.A end
- 2251
-39224 a 2251 39224 a
-SDict begin [ /View [/XYZ H.V] /Dest (4114) cvn H.B /DEST pdfmark end
- 2251 39224 a FP(chsh)387 b FU(command.)-30
-40800 y
-SDict begin H.S end
- -30 40800 a -30 40800 a
-SDict begin 14.56 H.A end
- -30 40800 a -30 40800
-a
-SDict begin [ /View [/XYZ H.V] /Dest (4115) cvn H.B /DEST pdfmark end
- -30 40800 a 1586 x FP(Expiry)743 b(date)h(\(YYYY-MM-DD\))e([]:)-30
-44130 y
-SDict begin H.S end
- -30 44130 a -30 44130 a
-SDict begin 18.2 H.A end
- -30 44130 a -30 44130
-a
-SDict begin [ /View [/XYZ H.V] /Dest (4116) cvn H.B /DEST pdfmark end
- -30 44130 a 1820 x FU(Accounts)304 b(can)g(be)g(set)g(up)g(to)g(e)-23
-b(xpire)304 b(on)g(a)h(speci\002ed)e(date.)i(By)f(def)-15
-b(ault,)304 b(there)g(is)g(no)g(e)-23 b(xpiration)-30
-47965 y(date.)599 b(Y)-170 b(ou)598 b(can)h(change)f(that,)h(if)g(you')
--77 b(d)598 b(lik)-15 b(e.)598 b(This)g(option)g(might)g(be)g(useful)h
-(for)f(people)-30 49979 y(running)e(an)g(ISP)f(who)h(might)f(w)-15
-b(ant)596 b(to)f(mak)-15 b(e)596 b(an)g(account)g(e)-23
-b(xpire)596 b(upon)f(a)i(certain)f(date,)-30 51994 y(unless)387
-b(the)-23 b(y)387 b(recei)-39 b(v)-23 b(e)387 b(the)g(ne)-23
-b(xt)387 b(year')-85 b(s)387 b(payment.)-30 53879 y
-SDict begin H.S end
- -30
-53879 a -30 53879 a
-SDict begin 14.56 H.A end
- -30 53879 a -30 53879 a
-SDict begin [ /View [/XYZ H.V] /Dest (4117) cvn H.B /DEST pdfmark end
- -30 53879
-a 1277 x FP(New)744 b(account)f(will)g(be)h(created)f(as)g(follows:)-30
-56767 y(---------------------------------------)-30 58379
-y(Login)g(name:)6695 b(jellyd)-30 59991 y(UID:)11902
-b([)743 b(Next)h(available)f(])-30 61603 y(Initial)g(group:)4463
-b(users)-30 63214 y(Additional)743 b(groups:)1487 b([)743
-b(None)h(])-30 64826 y(Home)f(directory:)3719 b(/home/jellyd)-30
-66438 y(Shell:)10414 b(/bin/bash)-30 68049 y(Expiry)743
-b(date:)5951 b([)743 b(Never)h(])p Black 49451 73792
-a FR(145)p Black eop end
-%%Page: 146 168
-TeXDict begin 146 167 bop -8000 -8000 a
-SDict begin /product where{pop product(Distiller)search{pop pop pop
-version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
-closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
-grestore}if}{pop}ifelse}{pop}ifelse}if end
- -8000 -8000 a
-Black 0 TeXcolorgray -30 -1237 a
-SDict begin H.S end
- -30 -1237 a 0 TeXcolorgray
-0 TeXcolorgray -30 -1237 a
-SDict begin H.R end
- -30 -1237 a -30 -1237 a
-SDict begin [ /View [/XYZ H.V] /Dest (page.146) cvn H.B /DEST pdfmark
-end
- -30
--1237 a Black -399 x FR(Chapter)387 b(12)g(Essential)f(System)h
-(Administr)-23 b(ation)p Black -30 2504 a
-SDict begin H.S end
- -30 2504 a
--30 2504 a
-SDict begin 18.2 H.A end
- -30 2504 a -30 2504 a
-SDict begin [ /View [/XYZ H.V] /Dest (4118) cvn H.B /DEST pdfmark end
- -30 2504 a 1107 x FU(This)488
-b(is)g(it...)h(if)f(you)g(w)-15 b(ant)488 b(to)g(bail)g(out,)g(hit)
-24470 3611 y
-SDict begin H.S end
- 24470 3611 a 24470 3611 a
-SDict begin 18.2 H.A end
- 24470 3611 a 24470
-3611 a
-SDict begin [ /View [/XYZ H.V] /Dest (4119) cvn H.B /DEST pdfmark end
- 24470 3611 a 24470 3611 a
-SDict begin H.S end
- 24470 3611 a 24470 3611
-a
-SDict begin 18.2 H.A end
- 24470 3611 a 24470 3611 a
-SDict begin [ /View [/XYZ H.V] /Dest (4120) cvn H.B /DEST pdfmark end
- 24470 3611 a FX(Contr)-28
-b(ol)p FU(+)30482 3611 y
-SDict begin H.S end
- 30482 3611 a 30482 3611 a
-SDict begin 18.2 H.A end
- 30482
-3611 a 30482 3611 a
-SDict begin [ /View [/XYZ H.V] /Dest (4121) cvn H.B /DEST pdfmark end
- 30482 3611 a FX(C)p FU(.)488 b(Otherwise,)h(press)
-43395 3611 y
-SDict begin H.S end
- 43395 3611 a 43395 3611 a
-SDict begin 18.2 H.A end
- 43395 3611 a 43395
-3611 a
-SDict begin [ /View [/XYZ H.V] /Dest (4122) cvn H.B /DEST pdfmark end
- 43395 3611 a Fv(ENTER)e FU(to)h(go)-30 5626 y(ahead)388
-b(and)f(mak)-15 b(e)386 b(the)i(account.)-30 6416 y
-SDict begin H.S end
- -30
-6416 a -30 6416 a
-SDict begin 18.2 H.A end
- -30 6416 a -30 6416 a
-SDict begin [ /View [/XYZ H.V] /Dest (4123) cvn H.B /DEST pdfmark end
- -30 6416 a 1999
-x FU(Y)-170 b(ou)608 b(no)-39 b(w)608 b(see)h(all)f(the)g(information)g
-(that)g(you')-77 b(v)-23 b(e)607 b(entered)i(about)f(the)g(ne)-39
-b(w)609 b(account)f(and)-30 10430 y(are)546 b(gi)-39
-b(v)-23 b(en)545 b(the)g(opportunity)g(to)g(abort)g(the)h(account)f
-(creation.)h(If)f(you)h(entered)f(something)-30 12445
-y(incorrectly)-101 b(,)346 b(you)f(should)g(hit)16447
-12445 y
-SDict begin H.S end
- 16447 12445 a 16447 12445 a
-SDict begin 18.2 H.A end
- 16447 12445 a 16447
-12445 a
-SDict begin [ /View [/XYZ H.V] /Dest (4124) cvn H.B /DEST pdfmark end
- 16447 12445 a 16447 12445 a
-SDict begin H.S end
- 16447 12445 a 16447
-12445 a
-SDict begin 18.2 H.A end
- 16447 12445 a 16447 12445 a
-SDict begin [ /View [/XYZ H.V] /Dest (4125) cvn H.B /DEST pdfmark end
- 16447 12445 a FX(Contr)-28
-b(ol)p FU(+)22459 12445 y
-SDict begin H.S end
- 22459 12445 a 22459 12445 a
-SDict begin 18.2 H.A end
-
-22459 12445 a 22459 12445 a
-SDict begin [ /View [/XYZ H.V] /Dest (4126) cvn H.B /DEST pdfmark end
- 22459 12445 a FX(C)345 b
-FU(and)g(start)g(o)-23 b(v)g(er)-85 b(.)345 b(Otherwise,)h(you)f(can)h
-(hit)47127 12445 y
-SDict begin H.S end
- 47127 12445 a 47127 12445 a
-SDict begin 18.2 H.A end
- 47127
-12445 a 47127 12445 a
-SDict begin [ /View [/XYZ H.V] /Dest (4127) cvn H.B /DEST pdfmark end
- 47127 12445 a Fv(enter)-30 14459
-y FU(and)387 b(the)h(account)f(will)f(be)i(made.)-30
-16025 y
-SDict begin H.S end
- -30 16025 a -30 16025 a
-SDict begin 14.56 H.A end
- -30 16025 a -30 16025
-a
-SDict begin [ /View [/XYZ H.V] /Dest (4128) cvn H.B /DEST pdfmark end
- -30 16025 a 1596 x FP(Creating)743 b(new)h(account...)-30
-20844 y(Changing)f(the)h(user)f(information)f(for)i(jellyd)-30
-22456 y(Enter)f(the)h(new)f(value,)h(or)f(press)g(return)h(for)f(the)h
-(default)5921 24068 y(Full)g(Name)f([]:)g(Jeremy)5921
-25679 y(Room)h(Number)f([]:)g(Smith)g(130)5921 27291
-y(Work)h(Phone)f([]:)5921 28903 y(Home)h(Phone)f([]:)5921
-30515 y(Other)g([]:)-30 32209 y
-SDict begin H.S end
- -30 32209 a -30 32209
-a
-SDict begin 18.2 H.A end
- -30 32209 a -30 32209 a
-SDict begin [ /View [/XYZ H.V] /Dest (4129) cvn H.B /DEST pdfmark end
- -30 32209 a 1870 x FU(All)456
-b(of)g(this)f(information)g(is)h(optional.)g(Y)-170 b(ou)455
-b(don')-28 b(t)456 b(ha)-31 b(v)-23 b(e)456 b(to)g(enter)g(an)-23
-b(y)456 b(of)g(this)f(if)h(you)g(don')-28 b(t)-30 36094
-y(w)-15 b(ant)376 b(to,)i(and)e(the)h(user)g(can)g(change)g(it)g(at)g
-(an)-23 b(y)376 b(time)h(using)32647 36094 y
-SDict begin H.S end
- 32647 36094
-a 32647 36094 a
-SDict begin 18.2 H.A end
- 32647 36094 a 32647 36094 a
-SDict begin [ /View [/XYZ H.V] /Dest (4130) cvn H.B /DEST pdfmark end
- 32647 36094
-a FP(chfn)p FU(.)g(Ho)-39 b(we)g(v)-23 b(er)-62 b(,)378
-b(you)e(might)g(\002nd)-30 38108 y(it)383 b(helpful)f(to)g(enter)h(at)g
-(least)f(the)h(full)f(name)h(and)g(a)g(phone)f(number)-62
-b(,)383 b(in)f(case)h(you)g(need)g(to)f(get)-30 40123
-y(in)387 b(touch)g(with)g(the)g(person)g(later)-85 b(.)-30
-42008 y
-SDict begin H.S end
- -30 42008 a -30 42008 a
-SDict begin 14.56 H.A end
- -30 42008 a -30 42008
-a
-SDict begin [ /View [/XYZ H.V] /Dest (4131) cvn H.B /DEST pdfmark end
- -30 42008 a 1277 x FP(Changing)743 b(password)g(for)g(jellyd)-30
-44896 y(Enter)g(the)h(new)f(password)g(\(minimum)g(of)h(5,)f(maximum)g
-(of)h(127)g(characters\))-30 46508 y(Please)f(use)h(a)g(combination)e
-(of)i(upper)f(and)g(lower)h(case)f(letters)g(and)h(numbers.)-30
-48120 y(New)g(password:)-30 49731 y(Re-enter)f(new)h(password:)-30
-51343 y(Password)f(changed.)-30 54567 y(Account)g(setup)g(complete.)-30
-54762 y
-SDict begin H.S end
- -30 54762 a -30 54762 a
-SDict begin 18.2 H.A end
- -30 54762 a -30 54762
-a
-SDict begin [ /View [/XYZ H.V] /Dest (4132) cvn H.B /DEST pdfmark end
- -30 54762 a -30 56311 a
-SDict begin H.S end
- -30 56311 a -30 56311 a
-SDict begin 18.2 H.A end
- -30
-56311 a -30 56311 a
-SDict begin [ /View [/XYZ H.V] /Dest (4135) cvn H.B /DEST pdfmark end
- -30 56311 a 1820 x FU(Y)-170 b(ou')-15
-b(ll)482 b(ha)-31 b(v)-23 b(e)484 b(to)f(enter)h(a)f(passw)-15
-b(ord)483 b(for)h(the)f(ne)-39 b(w)484 b(user)-85 b(.)484
-b(Generally)-101 b(,)484 b(if)f(the)h(ne)-39 b(w)483
-b(user)h(is)f(not)-30 60146 y(ph)-8 b(ysically)456 b(present)f(at)h
-(this)g(point,)g(you')-15 b(ll)455 b(just)g(pick)h(some)g(def)-15
-b(ault)455 b(passw)-15 b(ord)455 b(and)h(tell)g(the)-30
-62160 y(user)387 b(to)h(change)f(it)g(to)g(something)f(more)h(secure.)
--30 62496 y
-SDict begin H.S end
- -30 62496 a -30 62496 a
-SDict begin 18.2 H.A end
- -30 62496 a -30 62496
-a
-SDict begin [ /View [/XYZ H.V] /Dest (4136) cvn H.B /DEST pdfmark end
- -30 62496 a -30 62496 a
-SDict begin H.S end
- -30 62496 a -30 62496 a
-SDict begin 16.9 H.A end
- -30
-62496 a -30 62496 a
-SDict begin [ /View [/XYZ H.V] /Dest (4139) cvn H.B /DEST pdfmark end
- -30 62496 a -30 64821 a
-SDict begin H.S end
- -30 64821
-a -30 64821 a
-SDict begin 16.9 H.A end
- -30 64821 a -30 64821 a
-SDict begin [ /View [/XYZ H.V] /Dest (4140) cvn H.B /DEST pdfmark end
- -30 64821 a 3070
-66356 a Fu(Note:)7325 66356 y
-SDict begin H.S end
- 7325 66356 a 7325 66356
-a
-SDict begin 16.9 H.A end
- 7325 66356 a 7325 66356 a
-SDict begin [ /View [/XYZ H.V] /Dest (4141) cvn H.B /DEST pdfmark end
- 7325 66356 a Ff(Choosing)579
-b(a)g(P)-58 b(ass)-43 b(w)-14 b(ord)139 b Ft(:)578 b(Ha)-29
-b(ving)579 b(a)g(secure)f(pass)-43 b(w)-14 b(ord)578
-b(is)h(the)g(\002rst)f(line)i(of)3070 68227 y(def)-43
-b(ense)446 b(against)g(getting)h(cr)-14 b(ac)-29 b(k)g(ed.)446
-b(Y)-201 b(ou)445 b(do)i(not)f(w)-22 b(ant)447 b(to)f(ha)-29
-b(v)-36 b(e)447 b(an)f(easily)g(guessed)p Black -30 73792
-a FR(146)p Black eop end
-%%Page: 147 169
-TeXDict begin 147 168 bop -8000 -8000 a
-SDict begin /product where{pop product(Distiller)search{pop pop pop
-version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
-closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
-grestore}if}{pop}ifelse}{pop}ifelse}if end
- -8000 -8000 a
-Black 0 TeXcolorgray -30 -1237 a
-SDict begin H.S end
- -30 -1237 a 0 TeXcolorgray
-0 TeXcolorgray -30 -1237 a
-SDict begin H.R end
- -30 -1237 a -30 -1237 a
-SDict begin [ /View [/XYZ H.V] /Dest (page.147) cvn H.B /DEST pdfmark
-end
- -30
--1237 a Black -30 -2687 a
-SDict begin H.S end
- -30 -2687 a -30 -2687 a
-SDict begin 18.2 H.A end
- -30
--2687 a -30 -2687 a
-SDict begin [ /View [/XYZ H.V] /Dest (4169) cvn H.B /DEST pdfmark end
- -30 -2687 a 24333 -1636 a FR(Chapter)387
-b(12)g(Essential)f(System)h(Administr)-23 b(ation)p Black
-3070 3611 a Ft(pass)-43 b(w)-14 b(ord,)452 b(because)h(that)g(mak)-29
-b(es)452 b(it)i(easier)f(f)-43 b(or)454 b(someone)f(to)g(break)g(into)h
-(y)-29 b(our)453 b(sys-)3070 5482 y(tem.)487 b(Ideally)-144
-b(,)488 b(a)f(secure)f(pass)-43 b(w)-14 b(ord)486 b(w)-14
-b(ould)488 b(be)f(a)g(r)-14 b(andom)487 b(str)22 b(ing)487
-b(of)h(char)-14 b(acters)-22 b(,)486 b(in-)3070 7353
-y(cluding)359 b(upper)g(and)f(lo)-22 b(w)-14 b(ercase)359
-b(letters)-22 b(,)359 b(n)-14 b(umbers)-22 b(,)358 b(and)g(r)-14
-b(andom)359 b(char)-14 b(acters)-22 b(.)357 b(\(A)i(tab)3070
-9223 y(char)-14 b(acter)522 b(might)h(not)g(be)g(a)f(wise)h(choice)-22
-b(,)523 b(depending)h(on)f(what)g(kinds)f(of)h(comput-)3070
-11094 y(ers)561 b(y)-29 b(ou'll)563 b(be)f(logging)h(in)f(from.\))g
-(There)h(are)f(man)-22 b(y)561 b(softw)-22 b(are)562
-b(pac)-29 b(kages)561 b(that)h(can)3070 12965 y(gener)-14
-b(ate)400 b(r)-14 b(andom)400 b(pass)-43 b(w)-14 b(ords)399
-b(f)-43 b(or)400 b(y)-29 b(ou;)400 b(search)g(the)g(Inter)36
-b(net)401 b(f)-43 b(or)400 b(these)g(utilities)-22 b(.)-30
-14060 y
-SDict begin H.S end
- -30 14060 a -30 14060 a
-SDict begin 16.9 H.A end
- -30 14060 a -30 14060
-a
-SDict begin [ /View [/XYZ H.V] /Dest (4142) cvn H.B /DEST pdfmark end
- -30 14060 a 3070 15611 a Ft(In)427 b(gener)-14 b(al,)429
-b(just)e(use)h(common)f(sense:)g(don't)h(pic)-29 b(k)427
-b(a)h(pass)-43 b(w)-14 b(ord)427 b(that)g(is)h(someone')-72
-b(s)3070 17481 y(bir)58 b(thda)-43 b(y)-144 b(,)341 b(a)g(common)g(phr)
--14 b(ase)-22 b(,)341 b(something)h(f)-43 b(ound)341
-b(on)h(y)-29 b(our)341 b(desk,)g(or)g(an)-22 b(ything)342
-b(that)g(is)3070 19352 y(easily)425 b(associated)g(with)g(y)-29
-b(ou.)425 b(A)g(pass)-43 b(w)-14 b(ord)424 b(lik)-29
-b(e)31041 19352 y
-SDict begin H.S end
- 31041 19352 a 31041 19352 a
-SDict begin 16.9 H.A end
- 31041 19352
-a 31041 19352 a
-SDict begin [ /View [/XYZ H.V] /Dest (4143) cvn H.B /DEST pdfmark end
- 31041 19352 a Ft(\223secure1\224)425
-b(or)h(an)-22 b(y)425 b(other)h(pass)-43 b(w)-14 b(ord)3070
-21223 y(y)-29 b(ou)400 b(see)f(in)i(pr)22 b(int)400 b(or)h(online)g(is)
-f(also)g(bad.)358 24012 y
-SDict begin H.S end
- 358 24012 a 358 24012 a
-SDict begin 18.2 H.A end
- 358
-24012 a 358 24012 a
-SDict begin [ /View [/XYZ H.V] /Dest (4144) cvn H.B /DEST pdfmark end
- 358 24012 a -30 25562 a
-SDict begin H.S end
- -30 25562
-a -30 25562 a
-SDict begin 18.2 H.A end
- -30 25562 a -30 25562 a
-SDict begin [ /View [/XYZ H.V] /Dest (4147) cvn H.B /DEST pdfmark end
- -30 25562 a 2015
-x FU(Remo)-23 b(ving)369 b(users)h(is)f(not)h(dif)-39
-b(\002cult)370 b(at)g(all.)g(Just)f(run)28337 27577 y
-SDict begin H.S end
-
-28337 27577 a 28337 27577 a
-SDict begin 18.2 H.A end
- 28337 27577 a 28337 27577
-a
-SDict begin [ /View [/XYZ H.V] /Dest (4148) cvn H.B /DEST pdfmark end
- 28337 27577 a FP(userdel)h FU(with)f(the)h(name)g(of)g(the)g(account)
--30 29591 y(to)358 b(remo)-23 b(v)g(e.)358 b(Y)-170 b(ou)358
-b(should)f(v)-23 b(erify)358 b(that)g(the)g(user)g(is)g(not)g(logged)g
-(in,)g(and)h(that)f(no)g(processes)g(are)-30 31606 y(running)499
-b(as)g(that)g(user)-85 b(.)500 b(Also,)f(remember)g(that)g(once)g(you')
--77 b(v)-23 b(e)499 b(deleted)g(the)g(user)-62 b(,)500
-b(all)f(of)g(that)-30 33621 y(user')-85 b(s)387 b(passw)-15
-b(ord)386 b(information)h(is)g(gone)g(permanently)-101
-b(.)-30 35506 y
-SDict begin H.S end
- -30 35506 a -30 35506 a
-SDict begin 14.56 H.A end
- -30 35506 a -30
-35506 a
-SDict begin [ /View [/XYZ H.V] /Dest (4149) cvn H.B /DEST pdfmark end
- -30 35506 a -30 35506 a
-SDict begin H.S end
- -30 35506 a -30 35506
-a
-SDict begin 14.56 H.A end
- -30 35506 a -30 35506 a
-SDict begin [ /View [/XYZ H.V] /Dest (4150) cvn H.B /DEST pdfmark end
- -30 35506 a 1276 x FJ(#)1309
-36782 y
-SDict begin H.S end
- 1309 36782 a 1309 36782 a
-SDict begin 14.56 H.A end
- 1309 36782 a 1309 36782
-a
-SDict begin [ /View [/XYZ H.V] /Dest (4151) cvn H.B /DEST pdfmark end
- 1309 36782 a FH(userdel)743 b(jellyd)-30 38500 y
-SDict begin H.S end
- -30
-38500 a -30 38500 a
-SDict begin 18.2 H.A end
- -30 38500 a -30 38500 a
-SDict begin [ /View [/XYZ H.V] /Dest (4152) cvn H.B /DEST pdfmark end
- -30 38500
-a 1847 x FU(This)580 b(command)g(remo)-23 b(v)g(es)579
-b(that)h(anno)-15 b(ying)25021 40347 y
-SDict begin H.S end
- 25021 40347 a
-25021 40347 a
-SDict begin 18.2 H.A end
- 25021 40347 a 25021 40347 a
-SDict begin [ /View [/XYZ H.V] /Dest (4153) cvn H.B /DEST pdfmark end
- 25021 40347
-a FP(jellyd)580 b FU(user)g(from)g(your)g(system.)g(Good)g(rid-)-30
-42361 y(dance!)366 b(:\))g(The)g(user)g(is)g(remo)-23
-b(v)g(ed)365 b(from)h(the)24284 42361 y
-SDict begin H.S end
- 24284 42361 a
-24284 42361 a
-SDict begin 18.2 H.A end
- 24284 42361 a 24284 42361 a
-SDict begin [ /View [/XYZ H.V] /Dest (4154) cvn H.B /DEST pdfmark end
- 24284 42361
-a FQ(/etc/passwd)p FU(,)31928 42361 y
-SDict begin H.S end
- 31928 42361 a 31928
-42361 a
-SDict begin 18.2 H.A end
- 31928 42361 a 31928 42361 a
-SDict begin [ /View [/XYZ H.V] /Dest (4155) cvn H.B /DEST pdfmark end
- 31928 42361 a FQ(/etc/shadow)p
-FU(,)359 b(and)42175 42361 y
-SDict begin H.S end
- 42175 42361 a 42175 42361
-a
-SDict begin 18.2 H.A end
- 42175 42361 a 42175 42361 a
-SDict begin [ /View [/XYZ H.V] /Dest (4156) cvn H.B /DEST pdfmark end
- 42175 42361 a FQ(/etc/group)h
-FU(\002les,)-30 44376 y(b)-31 b(ut)387 b(doesn')-28 b(t)387
-b(remo)-23 b(v)g(e)387 b(the)g(user')-85 b(s)387 b(home)g(directory)
--101 b(.)-30 45486 y
-SDict begin H.S end
- -30 45486 a -30 45486 a
-SDict begin 18.2 H.A end
- -30 45486
-a -30 45486 a
-SDict begin [ /View [/XYZ H.V] /Dest (4157) cvn H.B /DEST pdfmark end
- -30 45486 a 1680 x FU(If)487 b(you')-77
-b(d)485 b(w)-15 b(anted)486 b(to)g(remo)-23 b(v)g(e)486
-b(the)g(home)g(directory)g(as)g(well,)h(you)f(w)-15 b(ould)485
-b(instead)h(use)h(this)-30 49180 y(command:)-30 50745
-y
-SDict begin H.S end
- -30 50745 a -30 50745 a
-SDict begin 14.56 H.A end
- -30 50745 a -30 50745 a
-SDict begin [ /View [/XYZ H.V] /Dest (4158) cvn H.B /DEST pdfmark end
- -30
-50745 a -30 50745 a
-SDict begin H.S end
- -30 50745 a -30 50745 a
-SDict begin 14.56 H.A end
- -30 50745
-a -30 50745 a
-SDict begin [ /View [/XYZ H.V] /Dest (4159) cvn H.B /DEST pdfmark end
- -30 50745 a 1597 x FJ(#)1309 52342 y
-SDict begin H.S end
- 1309
-52342 a 1309 52342 a
-SDict begin 14.56 H.A end
- 1309 52342 a 1309 52342 a
-SDict begin [ /View [/XYZ H.V] /Dest (4160) cvn H.B /DEST pdfmark end
- 1309 52342
-a FH(userdel)743 b(-r)h(jellyd)-30 54059 y
-SDict begin H.S end
- -30 54059
-a -30 54059 a
-SDict begin 18.2 H.A end
- -30 54059 a -30 54059 a
-SDict begin [ /View [/XYZ H.V] /Dest (4161) cvn H.B /DEST pdfmark end
- -30 54059 a 1847
-x FU(T)-108 b(emporarily)412 b(disabling)g(an)g(account)h(will)f(be)h
-(co)-23 b(v)g(ered)413 b(in)g(the)f(ne)-23 b(xt)413 b(section)f(on)h
-(passw)-15 b(ords,)-30 57921 y(since)541 b(a)g(temporary)g(change)g(in)
--62 b(v)-31 b(olv)-23 b(es)540 b(changing)g(the)h(user')-85
-b(s)541 b(passw)-15 b(ord.)540 b(Changing)g(other)-30
-59935 y(account)387 b(information)f(is)i(co)-23 b(v)g(ered)386
-b(in)p 0 TeXcolorgray 21143 59935 a
-SDict begin H.S end
- 21143 59935 a FU(Section)g(12.1.3)
-30053 59935 y
-SDict begin 18.2 H.L end
- 30053 59935 a 30053 59935 a
-SDict begin [ /Subtype /Link /Dest (ESSENTIAL-SYSADMIN-USERS-CHANGING)
-cvn /H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 30053 59935
-a Black 1 w FU(.)-30 60726 y
-SDict begin H.S end
- -30 60726 a -30 60726 a
-SDict begin 18.2 H.A end
-
--30 60726 a -30 60726 a
-SDict begin [ /View [/XYZ H.V] /Dest (4163) cvn H.B /DEST pdfmark end
- -30 60726 a 1999 x FU(The)543
-b(programs)f(to)h(add)g(and)g(remo)-23 b(v)g(e)542 b(groups)g(are)h(v)
--23 b(ery)543 b(simple.)37307 62725 y
-SDict begin H.S end
- 37307 62725 a 37307
-62725 a
-SDict begin 18.2 H.A end
- 37307 62725 a 37307 62725 a
-SDict begin [ /View [/XYZ H.V] /Dest (4164) cvn H.B /DEST pdfmark end
- 37307 62725 a FP(groupadd)f
-FU(will)h(just)f(add)-30 64740 y(another)579 b(entry)f(to)g(the)13217
-64740 y
-SDict begin H.S end
- 13217 64740 a 13217 64740 a
-SDict begin 18.2 H.A end
- 13217 64740 a 13217
-64740 a
-SDict begin [ /View [/XYZ H.V] /Dest (4165) cvn H.B /DEST pdfmark end
- 13217 64740 a FQ(/etc/group)572 b FU(\002le)579
-b(with)f(a)h(unique)f(group)g(ID,)h(while)42835 64740
-y
-SDict begin H.S end
- 42835 64740 a 42835 64740 a
-SDict begin 18.2 H.A end
- 42835 64740 a 42835 64740
-a
-SDict begin [ /View [/XYZ H.V] /Dest (4166) cvn H.B /DEST pdfmark end
- 42835 64740 a FP(groupdel)e FU(will)-30 66754 y(remo)-23
-b(v)g(e)334 b(the)g(speci\002ed)g(group.)h(It)f(is)g(up)h(to)f(you)g
-(to)g(edit)30248 66754 y
-SDict begin H.S end
- 30248 66754 a 30248 66754 a
-SDict begin 18.2 H.A end
-
-30248 66754 a 30248 66754 a
-SDict begin [ /View [/XYZ H.V] /Dest (4167) cvn H.B /DEST pdfmark end
- 30248 66754 a FQ(/etc/group)329
-b FU(to)334 b(add)g(users)h(to)f(a)g(speci\002c)p Black
-49394 73792 a FR(147)p Black eop end
-%%Page: 148 170
-TeXDict begin 148 169 bop -8000 -8000 a
-SDict begin /product where{pop product(Distiller)search{pop pop pop
-version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
-closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
-grestore}if}{pop}ifelse}{pop}ifelse}if end
- -8000 -8000 a
-Black 0 TeXcolorgray -30 -1237 a
-SDict begin H.S end
- -30 -1237 a 0 TeXcolorgray
-0 TeXcolorgray -30 -1237 a
-SDict begin H.R end
- -30 -1237 a -30 -1237 a
-SDict begin [ /View [/XYZ H.V] /Dest (page.148) cvn H.B /DEST pdfmark
-end
- -30
--1237 a Black -399 x FR(Chapter)387 b(12)g(Essential)f(System)h
-(Administr)-23 b(ation)p Black -30 3611 a FU(group.)388
-b(F)-23 b(or)386 b(e)-23 b(xample,)387 b(to)h(add)f(a)g(group)g(called)
-26264 3611 y
-SDict begin H.S end
- 26264 3611 a 26264 3611 a
-SDict begin 18.2 H.A end
- 26264 3611 a 26264
-3611 a
-SDict begin [ /View [/XYZ H.V] /Dest (4168) cvn H.B /DEST pdfmark end
- 26264 3611 a FP(cvs)p FU(:)-30 6773 y FJ(#)1309
-6773 y
-SDict begin H.S end
- 1309 6773 a 1309 6773 a
-SDict begin 14.56 H.A end
- 1309 6773 a 1309 6773
-a
-SDict begin [ /View [/XYZ H.V] /Dest (4171) cvn H.B /DEST pdfmark end
- 1309 6773 a FH(groupadd)743 b(cvs)-30 8490 y
-SDict begin H.S end
- -30 8490
-a -30 8490 a
-SDict begin 18.2 H.A end
- -30 8490 a -30 8490 a
-SDict begin [ /View [/XYZ H.V] /Dest (4172) cvn H.B /DEST pdfmark end
- -30 8490 a 1847 x
-FU(And)387 b(to)g(remo)-23 b(v)g(e)387 b(it:)-30 11902
-y
-SDict begin H.S end
- -30 11902 a -30 11902 a
-SDict begin 14.56 H.A end
- -30 11902 a -30 11902 a
-SDict begin [ /View [/XYZ H.V] /Dest (4173) cvn H.B /DEST pdfmark end
- -30
-11902 a -30 11902 a
-SDict begin H.S end
- -30 11902 a -30 11902 a
-SDict begin 14.56 H.A end
- -30 11902
-a -30 11902 a
-SDict begin [ /View [/XYZ H.V] /Dest (4174) cvn H.B /DEST pdfmark end
- -30 11902 a 1596 x FJ(#)1309 13498 y
-SDict begin H.S end
- 1309
-13498 a 1309 13498 a
-SDict begin 14.56 H.A end
- 1309 13498 a 1309 13498 a
-SDict begin [ /View [/XYZ H.V] /Dest (4175) cvn H.B /DEST pdfmark end
- 1309 13498
-a FH(groupdel)743 b(cvs)-30 15216 y
-SDict begin H.S end
- -30 15216 a -30 15216
-a
-SDict begin 18.2 H.A end
- -30 15216 a -30 15216 a
-SDict begin [ /View [/XYZ H.V] /Dest (ESSENTIAL-SYSADMIN-USERS-PASSWDS)
-cvn H.B /DEST pdfmark end
- -30 15216 a 5349 x FG(Changing)518
-b(P)-56 b(ass)-28 b(w)-37 b(or)g(ds)-30 20979 y
-SDict begin H.S end
- -30 20979
-a -30 20979 a
-SDict begin 18.2 H.A end
- -30 20979 a -30 20979 a
-SDict begin [ /View [/XYZ H.V] /Dest (4178) cvn H.B /DEST pdfmark end
- -30 20979 a -30
-21909 a
-SDict begin H.S end
- -30 21909 a -30 21909 a
-SDict begin 18.2 H.A end
- -30 21909 a -30 21909
-a
-SDict begin [ /View [/XYZ H.V] /Dest (4181) cvn H.B /DEST pdfmark end
- -30 21909 a 1601 x FU(The)2776 23510 y
-SDict begin H.S end
- 2776 23510 a
-2776 23510 a
-SDict begin 18.2 H.A end
- 2776 23510 a 2776 23510 a
-SDict begin [ /View [/XYZ H.V] /Dest (4182) cvn H.B /DEST pdfmark end
- 2776 23510 a FP(passwd)395
-b FU(program)g(changes)h(passw)-15 b(ords)394 b(by)i(modifying)f(the)
-36594 23510 y
-SDict begin H.S end
- 36594 23510 a 36594 23510 a
-SDict begin 18.2 H.A end
- 36594 23510
-a 36594 23510 a
-SDict begin [ /View [/XYZ H.V] /Dest (4183) cvn H.B /DEST pdfmark end
- 36594 23510 a FQ(/etc/shadow)389 b FU(\002le.)396
-b(This)f(\002le)-30 25524 y(holds)507 b(all)g(the)g(passw)-15
-b(ords)506 b(for)i(the)f(system)f(in)h(an)h(encrypted)f(format.)g(In)h
-(order)f(to)g(change)-30 27539 y(your)387 b(o)-39 b(wn)388
-b(passw)-15 b(ord,)386 b(you)h(w)-15 b(ould)387 b(type:)-30
-29424 y
-SDict begin H.S end
- -30 29424 a -30 29424 a
-SDict begin 14.56 H.A end
- -30 29424 a -30 29424
-a
-SDict begin [ /View [/XYZ H.V] /Dest (4184) cvn H.B /DEST pdfmark end
- -30 29424 a -30 29424 a
-SDict begin H.S end
- -30 29424 a -30 29424 a
-SDict begin 14.56 H.A end
- -30
-29424 a -30 29424 a
-SDict begin [ /View [/XYZ H.V] /Dest (4185) cvn H.B /DEST pdfmark end
- -30 29424 a 1277 x FJ(\045)1309 30701
-y
-SDict begin H.S end
- 1309 30701 a 1309 30701 a
-SDict begin 14.56 H.A end
- 1309 30701 a 1309 30701 a
-SDict begin [ /View [/XYZ H.V] /Dest (4186) cvn H.B /DEST pdfmark end
-
-1309 30701 a FH(passwd)-30 32312 y FP(Changing)743 b(password)g(for)g
-(chris)-30 33924 y(Old)h(password:)-30 35536 y(Enter)f(the)h(new)f
-(password)g(\(minumum)g(of)h(5,)f(maximum)g(of)h(127)g(characters\))-30
-37148 y(Please)f(use)h(a)g(combination)e(of)i(upper)f(and)g(lower)h
-(case)f(letters)g(and)h(numbers.)-30 38759 y(New)g(password:)-30
-40504 y
-SDict begin H.S end
- -30 40504 a -30 40504 a
-SDict begin 18.2 H.A end
- -30 40504 a -30 40504
-a
-SDict begin [ /View [/XYZ H.V] /Dest (4187) cvn H.B /DEST pdfmark end
- -30 40504 a 1820 x FU(As)353 b(you)f(can)g(see,)i(you)e(are)h
-(prompted)e(to)i(enter)f(your)h(old)f(passw)-15 b(ord.)352
-b(It)g(w)-15 b(on')-28 b(t)352 b(appear)h(on)f(the)-30
-44338 y(screen)387 b(as)h(you)f(type)g(it,)g(just)g(lik)-15
-b(e)386 b(when)h(you)g(log)g(in.)g(Then,)h(you)f(are)g(prompted)g(to)g
-(enter)g(the)-30 46353 y(ne)-39 b(w)463 b(passw)-15 b(ord.)9664
-46353 y
-SDict begin H.S end
- 9664 46353 a 9664 46353 a
-SDict begin 18.2 H.A end
- 9664 46353 a 9664 46353
-a
-SDict begin [ /View [/XYZ H.V] /Dest (4188) cvn H.B /DEST pdfmark end
- 9664 46353 a FP(passwd)462 b FU(performs)g(a)h(lot)f(of)h(checks)f
-(on)h(your)f(ne)-39 b(w)463 b(passw)-15 b(ord,)462 b(and)g(it)g(will)
--30 48368 y(complain)373 b(if)g(your)h(ne)-39 b(w)374
-b(passw)-15 b(ord)372 b(doesn')-28 b(t)373 b(pass)h(its)f(checks.)h(Y)
--170 b(ou)373 b(can)h(ignore)f(its)g(w)-15 b(arnings)-30
-50382 y(if)517 b(you)g(w)-15 b(ant.)517 b(Y)-170 b(ou)516
-b(will)h(be)g(prompted)f(to)h(enter)g(your)g(ne)-39 b(w)517
-b(passw)-15 b(ord)516 b(a)h(second)g(time)g(for)-30 52397
-y(con\002rmation.)-30 53187 y
-SDict begin H.S end
- -30 53187 a -30 53187 a
-SDict begin 18.2 H.A end
-
--30 53187 a -30 53187 a
-SDict begin [ /View [/XYZ H.V] /Dest (4189) cvn H.B /DEST pdfmark end
- -30 53187 a 2000 x FU(If)388
-b(you)f(are)6381 55187 y
-SDict begin H.S end
- 6381 55187 a 6381 55187 a
-SDict begin 18.2 H.A end
- 6381
-55187 a 6381 55187 a
-SDict begin [ /View [/XYZ H.V] /Dest (4190) cvn H.B /DEST pdfmark end
- 6381 55187 a FP(root)p FU(,)h(you)f(can)g(also)g
-(change)h(another)f(user')-85 b(s)387 b(passw)-15 b(ord:)-30
-57072 y
-SDict begin H.S end
- -30 57072 a -30 57072 a
-SDict begin 14.56 H.A end
- -30 57072 a -30 57072
-a
-SDict begin [ /View [/XYZ H.V] /Dest (4191) cvn H.B /DEST pdfmark end
- -30 57072 a -30 57072 a
-SDict begin H.S end
- -30 57072 a -30 57072 a
-SDict begin 14.56 H.A end
- -30
-57072 a -30 57072 a
-SDict begin [ /View [/XYZ H.V] /Dest (4192) cvn H.B /DEST pdfmark end
- -30 57072 a 1276 x FJ(#)1309 58348
-y
-SDict begin H.S end
- 1309 58348 a 1309 58348 a
-SDict begin 14.56 H.A end
- 1309 58348 a 1309 58348 a
-SDict begin [ /View [/XYZ H.V] /Dest (4193) cvn H.B /DEST pdfmark end
-
-1309 58348 a FH(passwd)743 b(ted)-30 60066 y
-SDict begin H.S end
- -30 60066
-a -30 60066 a
-SDict begin 18.2 H.A end
- -30 60066 a -30 60066 a
-SDict begin [ /View [/XYZ H.V] /Dest (4194) cvn H.B /DEST pdfmark end
- -30 60066 a 1846
-x FU(Y)-170 b(ou)328 b(will)g(then)g(ha)-31 b(v)-23 b(e)328
-b(to)h(go)f(through)g(the)g(same)h(procedure)f(as)h(abo)-23
-b(v)g(e,)328 b(e)-23 b(xcept)328 b(that)g(you)h(w)-15
-b(on')-28 b(t)-30 63927 y(ha)d(v)-23 b(e)387 b(to)g(enter)h(the)f
-(user')-85 b(s)387 b(old)g(passw)-15 b(ord.)387 b(\(One)g(of)g(the)g
-(man)-23 b(y)387 b(bene\002ts)g(of)g(being)45543 63927
-y
-SDict begin H.S end
- 45543 63927 a 45543 63927 a
-SDict begin 18.2 H.A end
- 45543 63927 a 45543 63927
-a
-SDict begin [ /View [/XYZ H.V] /Dest (4195) cvn H.B /DEST pdfmark end
- 45543 63927 a FP(root)p FU(...\))-30 64263 y
-SDict begin H.S end
- -30 64263
-a -30 64263 a
-SDict begin 18.2 H.A end
- -30 64263 a -30 64263 a
-SDict begin [ /View [/XYZ H.V] /Dest (4196) cvn H.B /DEST pdfmark end
- -30 64263 a -30
-64263 a
-SDict begin H.S end
- -30 64263 a -30 64263 a
-SDict begin 18.2 H.A end
- -30 64263 a -30 64263
-a
-SDict begin [ /View [/XYZ H.V] /Dest (4199) cvn H.B /DEST pdfmark end
- -30 64263 a Black 9529 x FR(148)p Black eop end
-%%Page: 149 171
-TeXDict begin 149 170 bop -8000 -8000 a
-SDict begin /product where{pop product(Distiller)search{pop pop pop
-version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
-closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
-grestore}if}{pop}ifelse}{pop}ifelse}if end
- -8000 -8000 a
-Black 0 TeXcolorgray -30 -1237 a
-SDict begin H.S end
- -30 -1237 a 0 TeXcolorgray
-0 TeXcolorgray -30 -1237 a
-SDict begin H.R end
- -30 -1237 a -30 -1237 a
-SDict begin [ /View [/XYZ H.V] /Dest (page.149) cvn H.B /DEST pdfmark
-end
- -30
--1237 a Black 24333 -1636 a FR(Chapter)387 b(12)g(Essential)f(System)h
-(Administr)-23 b(ation)p Black -30 2504 a
-SDict begin H.S end
- -30 2504 a
--30 2504 a
-SDict begin 18.2 H.A end
- -30 2504 a -30 2504 a
-SDict begin [ /View [/XYZ H.V] /Dest (4202) cvn H.B /DEST pdfmark end
- -30 2504 a 1107 x FU(If)559
-b(needed,)g(you)g(can)g(also)f(temporarily)g(disable)g(an)h(account,)g
-(and)g(reenable)g(it)f(at)h(a)g(later)-30 5626 y(time)512
-b(if)g(needed.)g(Both)g(disabling)f(an)h(account)g(and)g(reenabling)g
-(an)g(account)g(can)g(be)g(done)-30 7640 y(with)3113
-7640 y
-SDict begin H.S end
- 3113 7640 a 3113 7640 a
-SDict begin 18.2 H.A end
- 3113 7640 a 3113 7640
-a
-SDict begin [ /View [/XYZ H.V] /Dest (4203) cvn H.B /DEST pdfmark end
- 3113 7640 a FP(passwd)p FU(.)387 b(T)-124 b(o)387 b(disable)g(an)h
-(account,)f(do)g(the)g(follo)-39 b(wing)387 b(as)34831
-7640 y
-SDict begin H.S end
- 34831 7640 a 34831 7640 a
-SDict begin 18.2 H.A end
- 34831 7640 a 34831 7640
-a
-SDict begin [ /View [/XYZ H.V] /Dest (4204) cvn H.B /DEST pdfmark end
- 34831 7640 a FP(root)p FU(:)-30 9526 y
-SDict begin H.S end
- -30 9526 a -30
-9526 a
-SDict begin 14.56 H.A end
- -30 9526 a -30 9526 a
-SDict begin [ /View [/XYZ H.V] /Dest (4205) cvn H.B /DEST pdfmark end
- -30 9526 a -30 9526 a
-SDict begin H.S end
- -30
-9526 a -30 9526 a
-SDict begin 14.56 H.A end
- -30 9526 a -30 9526 a
-SDict begin [ /View [/XYZ H.V] /Dest (4206) cvn H.B /DEST pdfmark end
- -30 9526 a 1276
-x FJ(#)1309 10802 y
-SDict begin H.S end
- 1309 10802 a 1309 10802 a
-SDict begin 14.56 H.A end
- 1309 10802
-a 1309 10802 a
-SDict begin [ /View [/XYZ H.V] /Dest (4207) cvn H.B /DEST pdfmark end
- 1309 10802 a FH(passwd)743 b(-l)h(david)-30
-12520 y
-SDict begin H.S end
- -30 12520 a -30 12520 a
-SDict begin 18.2 H.A end
- -30 12520 a -30 12520
-a
-SDict begin [ /View [/XYZ H.V] /Dest (4208) cvn H.B /DEST pdfmark end
- -30 12520 a 1846 x FU(This)361 b(will)f(change)h(da)-31
-b(vid')-85 b(s)361 b(passw)-15 b(ord)360 b(to)h(something)f(that)g(can)
-i(ne)-39 b(v)-23 b(er)361 b(match)f(an)-23 b(y)361 b(encrypted)-30
-16381 y(v)-39 b(alue.)388 b(Y)-170 b(ou)387 b(w)-15 b(ould)386
-b(reenable)h(the)g(account)h(by)f(using:)-30 18266 y
-SDict begin H.S end
-
--30 18266 a -30 18266 a
-SDict begin 14.56 H.A end
- -30 18266 a -30 18266 a
-SDict begin [ /View [/XYZ H.V] /Dest (4209) cvn H.B /DEST pdfmark end
- -30 18266
-a -30 18266 a
-SDict begin H.S end
- -30 18266 a -30 18266 a
-SDict begin 14.56 H.A end
- -30 18266 a -30
-18266 a
-SDict begin [ /View [/XYZ H.V] /Dest (4210) cvn H.B /DEST pdfmark end
- -30 18266 a 1276 x FJ(#)1309 19542 y
-SDict begin H.S end
- 1309 19542
-a 1309 19542 a
-SDict begin 14.56 H.A end
- 1309 19542 a 1309 19542 a
-SDict begin [ /View [/XYZ H.V] /Dest (4211) cvn H.B /DEST pdfmark end
- 1309 19542 a
-FH(passwd)743 b(-u)h(david)-30 21260 y
-SDict begin H.S end
- -30 21260 a -30
-21260 a
-SDict begin 18.2 H.A end
- -30 21260 a -30 21260 a
-SDict begin [ /View [/XYZ H.V] /Dest (4212) cvn H.B /DEST pdfmark end
- -30 21260 a 1847 x FU(No)-39
-b(w)-101 b(,)381 b(da)-31 b(vid')-85 b(s)379 b(account)g(is)h(back)g
-(to)f(normal.)h(Disabling)f(an)h(account)f(might)g(be)h(useful)f(if)h
-(the)-30 25122 y(user)385 b(doesn')-28 b(t)384 b(play)h(by)f(the)h
-(rules)g(you')-77 b(v)-23 b(e)383 b(set)i(up)g(on)f(your)h(system,)f
-(or)h(if)g(the)-23 b(y')-77 b(v)-23 b(e)384 b(e)-23 b(xported)384
-b(a)-30 27136 y(v)-23 b(ery)387 b(lar)-28 b(ge)388 b(cop)-15
-b(y)386 b(of)11609 27136 y
-SDict begin H.S end
- 11609 27136 a 11609 27136
-a
-SDict begin 18.2 H.A end
- 11609 27136 a 11609 27136 a
-SDict begin [ /View [/XYZ H.V] /Dest (4213) cvn H.B /DEST pdfmark end
- 11609 27136 a FP(xeyes)p
-FU(\(1\))g(to)i(your)f(X)g(desktop.)-30 28247 y
-SDict begin H.S end
- -30 28247
-a -30 28247 a
-SDict begin 18.2 H.A end
- -30 28247 a -30 28247 a
-SDict begin [ /View [/XYZ H.V] /Dest (ESSENTIAL-SYSADMIN-USERS-CHANGING)
-cvn H.B /DEST pdfmark end
- -30 28247 a 5181
-x FG(Changing)518 b(User)f(Inf)-37 b(ormation)-30 34772
-y
-SDict begin H.S end
- -30 34772 a -30 34772 a
-SDict begin 18.2 H.A end
- -30 34772 a -30 34772 a
-SDict begin [ /View [/XYZ H.V] /Dest (4216) cvn H.B /DEST pdfmark end
- -30
-34772 a 1601 x FU(There)512 b(are)h(tw)-15 b(o)511 b(pieces)h(of)h
-(information)e(that)h(users)f(can)i(change)f(at)g(an)-23
-b(y)512 b(time:)g(their)f(shell)-30 38387 y(and)551 b(their)f(\002nger)
-h(information.)f(Slackw)-15 b(are)550 b(Linux)g(uses)33035
-38387 y
-SDict begin H.S end
- 33035 38387 a 33035 38387 a
-SDict begin 18.2 H.A end
- 33035 38387 a 33035
-38387 a
-SDict begin [ /View [/XYZ H.V] /Dest (4217) cvn H.B /DEST pdfmark end
- 33035 38387 a FP(chsh)h FU(\(change)f(shell\))h(and)48800
-38387 y
-SDict begin H.S end
- 48800 38387 a 48800 38387 a
-SDict begin 18.2 H.A end
- 48800 38387 a 48800
-38387 a
-SDict begin [ /View [/XYZ H.V] /Dest (4218) cvn H.B /DEST pdfmark end
- 48800 38387 a FP(chfn)-30 40402 y FU(\(change)387
-b(\002nger\))g(to)h(modify)e(these)h(v)-39 b(alues.)-30
-41512 y
-SDict begin H.S end
- -30 41512 a -30 41512 a
-SDict begin 18.2 H.A end
- -30 41512 a -30 41512
-a
-SDict begin [ /View [/XYZ H.V] /Dest (4219) cvn H.B /DEST pdfmark end
- -30 41512 a 1680 x FU(A)627 b(user)g(can)g(pick)g(an)-23
-b(y)627 b(shell)f(that)h(is)g(listed)f(in)h(the)30347
-43192 y
-SDict begin H.S end
- 30347 43192 a 30347 43192 a
-SDict begin 18.2 H.A end
- 30347 43192 a 30347
-43192 a
-SDict begin [ /View [/XYZ H.V] /Dest (4220) cvn H.B /DEST pdfmark end
- 30347 43192 a FQ(/etc/shells)620 b FU(\002le.)627
-b(F)-23 b(or)626 b(most)h(people,)-30 45206 y
-SDict begin H.S end
- -30 45206
-a -30 45206 a
-SDict begin 18.2 H.A end
- -30 45206 a -30 45206 a
-SDict begin [ /View [/XYZ H.V] /Dest (4221) cvn H.B /DEST pdfmark end
- -30 45206 a FP(/bin/bash)550
-b FU(will)h(do)g(just)g(\002ne.)g(Others)g(might)g(be)g(f)-15
-b(amiliar)550 b(with)h(a)g(shell)g(found)g(on)g(their)-30
-47221 y(system)441 b(at)h(w)-15 b(ork)442 b(or)g(school)f(and)h(w)-15
-b(ant)441 b(to)h(use)g(what)f(the)-23 b(y)442 b(already)g(kno)-39
-b(w)-101 b(.)442 b(T)-124 b(o)442 b(change)g(your)-30
-49236 y(shell,)387 b(use)6126 49236 y
-SDict begin H.S end
- 6126 49236 a 6126
-49236 a
-SDict begin 18.2 H.A end
- 6126 49236 a 6126 49236 a
-SDict begin [ /View [/XYZ H.V] /Dest (4222) cvn H.B /DEST pdfmark end
- 6126 49236 a FP(chsh)p
-FU(:)-30 51009 y
-SDict begin H.S end
- -30 51009 a -30 51009 a
-SDict begin 14.56 H.A end
- -30 51009 a
--30 51009 a
-SDict begin [ /View [/XYZ H.V] /Dest (4223) cvn H.B /DEST pdfmark end
- -30 51009 a -30 51009 a
-SDict begin H.S end
- -30 51009 a -30 51009
-a
-SDict begin 14.56 H.A end
- -30 51009 a -30 51009 a
-SDict begin [ /View [/XYZ H.V] /Dest (4224) cvn H.B /DEST pdfmark end
- -30 51009 a 1388 x FJ(\045)1309
-52397 y
-SDict begin H.S end
- 1309 52397 a 1309 52397 a
-SDict begin 14.56 H.A end
- 1309 52397 a 1309 52397
-a
-SDict begin [ /View [/XYZ H.V] /Dest (4225) cvn H.B /DEST pdfmark end
- 1309 52397 a FH(chsh)-30 54009 y FP(Password:)-30 55621
-y(Changing)743 b(the)h(login)f(shell)g(for)h(chris)-30
-57232 y(Enter)f(the)h(new)f(value,)h(or)f(press)g(return)h(for)f(the)h
-(default)5921 58844 y(Login)f(Shell)h([/bin/bash]:)-30
-60588 y
-SDict begin H.S end
- -30 60588 a -30 60588 a
-SDict begin 18.2 H.A end
- -30 60588 a -30 60588
-a
-SDict begin [ /View [/XYZ H.V] /Dest (4226) cvn H.B /DEST pdfmark end
- -30 60588 a 1820 x FU(After)354 b(entering)f(your)g(passw)-15
-b(ord,)353 b(enter)h(the)g(full)f(path)g(to)h(the)f(ne)-39
-b(w)354 b(shell.)g(Mak)-15 b(e)353 b(sure)g(that)h(it')-85
-b(s)-30 64423 y(listed)436 b(in)g(the)7737 64423 y
-SDict begin H.S end
- 7737
-64423 a 7737 64423 a
-SDict begin 18.2 H.A end
- 7737 64423 a 7737 64423 a
-SDict begin [ /View [/XYZ H.V] /Dest (4227) cvn H.B /DEST pdfmark end
- 7737 64423
-a FQ(/etc/shells)p FU(\(5\))430 b(\002le)436 b(\002rst.)g(The)25369
-64423 y
-SDict begin H.S end
- 25369 64423 a 25369 64423 a
-SDict begin 18.2 H.A end
- 25369 64423 a 25369
-64423 a
-SDict begin [ /View [/XYZ H.V] /Dest (4228) cvn H.B /DEST pdfmark end
- 25369 64423 a FP(root)g FU(user)h(can)f(also)g(change)g(an)-23
-b(y)436 b(user')-85 b(s)436 b(shell)-30 66438 y(by)387
-b(running)7116 66438 y
-SDict begin H.S end
- 7116 66438 a 7116 66438 a
-SDict begin 18.2 H.A end
- 7116
-66438 a 7116 66438 a
-SDict begin [ /View [/XYZ H.V] /Dest (4229) cvn H.B /DEST pdfmark end
- 7116 66438 a FP(chsh)g FU(with)g(a)g(username)g
-(as)h(the)f(ar)-28 b(gument.)p Black 49451 73792 a FR(149)p
-Black eop end
-%%Page: 150 172
-TeXDict begin 150 171 bop -8000 -8000 a
-SDict begin /product where{pop product(Distiller)search{pop pop pop
-version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
-closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
-grestore}if}{pop}ifelse}{pop}ifelse}if end
- -8000 -8000 a
-Black 0 TeXcolorgray -30 -1237 a
-SDict begin H.S end
- -30 -1237 a 0 TeXcolorgray
-0 TeXcolorgray -30 -1237 a
-SDict begin H.R end
- -30 -1237 a -30 -1237 a
-SDict begin [ /View [/XYZ H.V] /Dest (page.150) cvn H.B /DEST pdfmark
-end
- -30
--1237 a Black -30 -2687 a
-SDict begin H.S end
- -30 -2687 a -30 -2687 a
-SDict begin 18.2 H.A end
- -30
--2687 a -30 -2687 a
-SDict begin [ /View [/XYZ H.V] /Dest (4257) cvn H.B /DEST pdfmark end
- -30 -2687 a 1051 x FR(Chapter)387
-b(12)g(Essential)f(System)h(Administr)-23 b(ation)p Black
--30 2504 a
-SDict begin H.S end
- -30 2504 a -30 2504 a
-SDict begin 18.2 H.A end
- -30 2504 a -30 2504
-a
-SDict begin [ /View [/XYZ H.V] /Dest (4230) cvn H.B /DEST pdfmark end
- -30 2504 a 1107 x FU(The)540 b(\002nger)g(information)e(is)i(the)g
-(optional)f(information)g(such)h(as)g(your)f(full)h(name,)g(phone)-30
-5626 y(numbers,)412 b(and)f(room)h(number)-85 b(.)411
-b(This)g(can)h(be)g(changed)g(using)34839 5626 y
-SDict begin H.S end
- 34839
-5626 a 34839 5626 a
-SDict begin 18.2 H.A end
- 34839 5626 a 34839 5626 a
-SDict begin [ /View [/XYZ H.V] /Dest (4231) cvn H.B /DEST pdfmark end
- 34839 5626
-a FP(chfn)p FU(,)g(and)f(follo)-39 b(ws)412 b(the)f(same)-30
-7640 y(procedure)571 b(as)f(it)h(did)f(during)g(account)h(creation.)g
-(As)f(usual,)35062 7640 y
-SDict begin H.S end
- 35062 7640 a 35062 7640 a
-SDict begin 18.2 H.A end
- 35062
-7640 a 35062 7640 a
-SDict begin [ /View [/XYZ H.V] /Dest (4232) cvn H.B /DEST pdfmark end
- 35062 7640 a FP(root)g FU(can)h(change)g(an)-23
-b(yone')-85 b(s)-30 9655 y(\002nger)387 b(information.)-30
-12315 y
-SDict begin H.S end
- -30 12315 a -30 12315 a
-SDict begin 18.2 H.A end
- -30 12315 a -30 12315
-a
-SDict begin [ /View [/XYZ H.V] /Dest (ESSENTIAL-SYSADMIN-HARDUSERS)
-cvn H.B /DEST pdfmark end
- -30 12315 a 5789 x FL(12.2)620 b(User)-33 b(s)620 b(and)f(Gr)-45
-b(oups,)620 b(the)f(Har)-45 b(d)621 b(W)-89 b(a)-45 b(y)-30
-19682 y
-SDict begin H.S end
- -30 19682 a -30 19682 a
-SDict begin 18.2 H.A end
- -30 19682 a -30 19682
-a
-SDict begin [ /View [/XYZ H.V] /Dest (4235) cvn H.B /DEST pdfmark end
- -30 19682 a 1553 x FU(Of)400 b(course,)f(it)h(is)f(possible)g(to)g
-(add,)h(modify)-101 b(,)399 b(and)h(remo)-23 b(v)g(e)398
-b(users)i(and)f(groups)g(without)g(using)-30 23249 y(the)362
-b(scripts)f(and)g(programs)g(that)h(come)f(with)g(Slackw)-15
-b(are.)361 b(It')-85 b(s)362 b(not)f(really)g(dif)-39
-b(\002cult,)362 b(although)-30 25264 y(after)609 b(reading)g(this)g
-(process,)g(you')-15 b(ll)608 b(probably)g(\002nd)h(it)g(much)f(easier)
-h(to)g(use)g(the)g(scripts.)-30 27279 y(Ho)-39 b(we)g(v)-23
-b(er)-62 b(,)421 b(it')-85 b(s)420 b(important)g(to)g(kno)-39
-b(w)421 b(ho)-39 b(w)420 b(your)h(passw)-15 b(ord)419
-b(information)g(is)i(actually)f(stored,)-30 29293 y(in)358
-b(case)g(you)g(e)-39 b(v)-23 b(er)358 b(need)g(to)g(reco)-23
-b(v)g(er)358 b(this)g(information)f(and)h(don')-28 b(t)358
-b(ha)-31 b(v)-23 b(e)357 b(the)h(Slackw)-15 b(are)358
-b(tools)-30 31308 y(a)-31 b(v)-39 b(ailable.)-30 32098
-y
-SDict begin H.S end
- -30 32098 a -30 32098 a
-SDict begin 18.2 H.A end
- -30 32098 a -30 32098 a
-SDict begin [ /View [/XYZ H.V] /Dest (4236) cvn H.B /DEST pdfmark end
- -30
-32098 a 2000 x FU(First,)525 b(we')-15 b(ll)525 b(add)g(a)g(ne)-39
-b(w)526 b(user)f(to)g(the)21722 34098 y
-SDict begin H.S end
- 21722 34098 a
-21722 34098 a
-SDict begin 18.2 H.A end
- 21722 34098 a 21722 34098 a
-SDict begin [ /View [/XYZ H.V] /Dest (4237) cvn H.B /DEST pdfmark end
- 21722 34098
-a FQ(/etc/passwd)p FU(\(5\),)31332 34098 y
-SDict begin H.S end
- 31332 34098
-a 31332 34098 a
-SDict begin 18.2 H.A end
- 31332 34098 a 31332 34098 a
-SDict begin [ /View [/XYZ H.V] /Dest (4238) cvn H.B /DEST pdfmark end
- 31332 34098
-a FQ(/etc/shadow)p FU(\(5\),)519 b(and)43705 34098 y
-SDict begin H.S end
-
-43705 34098 a 43705 34098 a
-SDict begin 18.2 H.A end
- 43705 34098 a 43705 34098
-a
-SDict begin [ /View [/XYZ H.V] /Dest (4239) cvn H.B /DEST pdfmark end
- 43705 34098 a FQ(/etc/group)p FU(\(5\))-30 36112 y(\002les.)553
-b(The)6456 36112 y
-SDict begin H.S end
- 6456 36112 a 6456 36112 a
-SDict begin 18.2 H.A end
- 6456 36112
-a 6456 36112 a
-SDict begin [ /View [/XYZ H.V] /Dest (4240) cvn H.B /DEST pdfmark end
- 6456 36112 a FQ(passwd)c FU(\002le)j(holds)g(some)g
-(information)g(about)g(the)g(users)g(on)h(your)f(system,)g(b)-31
-b(ut)-30 38127 y(\(strangely)382 b(enough\))g(not)f(their)h(passw)-15
-b(ords.)382 b(This)f(w)-15 b(as)382 b(once)g(the)g(case,)h(b)-31
-b(ut)382 b(w)-15 b(as)382 b(halted)f(long)-30 40142 y(ago)585
-b(for)h(security)e(reasons.)i(The)f(passwd)g(\002le)g(must)f(be)h
-(readable)h(by)f(all)g(users,)g(b)-31 b(ut)585 b(you)-30
-42156 y(don')-28 b(t)451 b(w)-15 b(ant)450 b(encrypted)h(passw)-15
-b(ords)450 b(w)-15 b(orld-readable,)451 b(as)g(w)-15
-b(ould-be)450 b(intruders)h(can)g(use)g(the)-30 44171
-y(encrypted)510 b(passw)-15 b(ords)509 b(as)h(a)g(starting)g(point)f
-(for)i(decrypting)e(a)h(user')-85 b(s)510 b(passw)-15
-b(ord.)510 b(Instead,)-30 46186 y(the)385 b(encrypted)g(passw)-15
-b(ords)384 b(are)h(k)-15 b(ept)385 b(in)f(the)h(shado)-39
-b(w)385 b(\002le,)g(which)g(is)g(only)g(readable)g(by)g(root,)-30
-48200 y(and)421 b(e)-39 b(v)-23 b(eryone')-85 b(s)421
-b(passw)-15 b(ord)420 b(is)i(entered)f(into)g(the)27547
-48200 y
-SDict begin H.S end
- 27547 48200 a 27547 48200 a
-SDict begin 18.2 H.A end
- 27547 48200 a 27547
-48200 a
-SDict begin [ /View [/XYZ H.V] /Dest (4241) cvn H.B /DEST pdfmark end
- 27547 48200 a FQ(passwd)c FU(\002le)k(simply)g(as)40482
-48200 y
-SDict begin H.S end
- 40482 48200 a 40482 48200 a
-SDict begin 18.2 H.A end
- 40482 48200 a 40482
-48200 a
-SDict begin [ /View [/XYZ H.V] /Dest (4242) cvn H.B /DEST pdfmark end
- 40482 48200 a FU(\223)41170 48200 y
-SDict begin H.S end
- 41170 48200
-a 41170 48200 a
-SDict begin 18.2 H.A end
- 41170 48200 a 41170 48200 a
-SDict begin [ /View [/XYZ H.V] /Dest (4243) cvn H.B /DEST pdfmark end
- 41170 48200
-a FP(x)p FU(\224.)h(The)46242 48200 y
-SDict begin H.S end
- 46242 48200 a 46242
-48200 a
-SDict begin 18.2 H.A end
- 46242 48200 a 46242 48200 a
-SDict begin [ /View [/XYZ H.V] /Dest (4244) cvn H.B /DEST pdfmark end
- 46242 48200 a FQ(group)c
-FU(\002le)-30 50215 y(lists)387 b(all)g(the)g(groups)g(and)g(who)g(is)g
-(in)g(each.)-30 51325 y
-SDict begin H.S end
- -30 51325 a -30 51325 a
-SDict begin 18.2 H.A end
- -30 51325
-a -30 51325 a
-SDict begin [ /View [/XYZ H.V] /Dest (4245) cvn H.B /DEST pdfmark end
- -30 51325 a 1680 x FU(Y)-170 b(ou)368 b(can)h(use)g(the)
-10055 53005 y
-SDict begin H.S end
- 10055 53005 a 10055 53005 a
-SDict begin 18.2 H.A end
- 10055 53005
-a 10055 53005 a
-SDict begin [ /View [/XYZ H.V] /Dest (4246) cvn H.B /DEST pdfmark end
- 10055 53005 a FP(vipw)g FU(command)f(to)g(edit)h(the)
-26412 53005 y
-SDict begin H.S end
- 26412 53005 a 26412 53005 a
-SDict begin 18.2 H.A end
- 26412 53005
-a 26412 53005 a
-SDict begin [ /View [/XYZ H.V] /Dest (4247) cvn H.B /DEST pdfmark end
- 26412 53005 a FQ(/etc/passwd)362 b FU(\002le)368
-b(safely)-101 b(,)370 b(and)f(the)45247 53005 y
-SDict begin H.S end
- 45247
-53005 a 45247 53005 a
-SDict begin 18.2 H.A end
- 45247 53005 a 45247 53005 a
-SDict begin [ /View [/XYZ H.V] /Dest (4248) cvn H.B /DEST pdfmark end
- 45247
-53005 a FP(vigr)f FU(com-)-30 55019 y(mand)343 b(to)g(edit)g(the)10211
-55019 y
-SDict begin H.S end
- 10211 55019 a 10211 55019 a
-SDict begin 18.2 H.A end
- 10211 55019 a 10211
-55019 a
-SDict begin [ /View [/XYZ H.V] /Dest (4249) cvn H.B /DEST pdfmark end
- 10211 55019 a FQ(/etc/group)337 b FU(\002le)343
-b(safely)-101 b(.)344 b(Use)26226 55019 y
-SDict begin H.S end
- 26226 55019
-a 26226 55019 a
-SDict begin 18.2 H.A end
- 26226 55019 a 26226 55019 a
-SDict begin [ /View [/XYZ H.V] /Dest (4250) cvn H.B /DEST pdfmark end
- 26226 55019
-a FP(vipw)744 b(-s)343 b FU(to)g(edit)g(the)38231 55019
-y
-SDict begin H.S end
- 38231 55019 a 38231 55019 a
-SDict begin 18.2 H.A end
- 38231 55019 a 38231 55019
-a
-SDict begin [ /View [/XYZ H.V] /Dest (4251) cvn H.B /DEST pdfmark end
- 38231 55019 a FQ(/etc/shadow)336 b FU(\002le)343 b(safely)-101
-b(.)-30 57034 y(\()486 57034 y
-SDict begin H.S end
- 486 57034 a 486 57034
-a
-SDict begin 18.2 H.A end
- 486 57034 a 486 57034 a
-SDict begin [ /View [/XYZ H.V] /Dest (4252) cvn H.B /DEST pdfmark end
- 486 57034 a FU(\223Safely\224)353
-b(in)h(this)f(conte)-23 b(xt)352 b(means)h(someone)g(else)h(w)-15
-b(on')-28 b(t)352 b(be)i(able)f(to)g(modify)g(the)g(\002le)h(you')-77
-b(re)-30 59049 y(editing)381 b(at)g(the)g(moment.)g(If)h(you')-77
-b(re)381 b(the)g(only)g(administrator)f(of)h(your)g(system,)g(you')-77
-b(re)381 b(prob-)-30 61063 y(ably)387 b(safe,)h(b)-31
-b(ut)387 b(it')-85 b(s)387 b(best)g(to)g(get)g(into)g(good)g(habits)g
-(from)g(the)g(start.\))-30 62174 y
-SDict begin H.S end
- -30 62174 a -30 62174
-a
-SDict begin 18.2 H.A end
- -30 62174 a -30 62174 a
-SDict begin [ /View [/XYZ H.V] /Dest (4253) cvn H.B /DEST pdfmark end
- -30 62174 a 1679 x FU(Let')-85
-b(s)368 b(e)-23 b(xamine)367 b(the)11295 63853 y
-SDict begin H.S end
- 11295
-63853 a 11295 63853 a
-SDict begin 18.2 H.A end
- 11295 63853 a 11295 63853 a
-SDict begin [ /View [/XYZ H.V] /Dest (4254) cvn H.B /DEST pdfmark end
- 11295
-63853 a FQ(/etc/passwd)362 b FU(\002le)367 b(and)h(look)g(at)g(ho)-39
-b(w)368 b(to)g(add)g(a)h(ne)-39 b(w)368 b(user)-85 b(.)368
-b(A)h(typical)e(entry)-30 65867 y(in)1563 65867 y
-SDict begin H.S end
- 1563
-65867 a 1563 65867 a
-SDict begin 18.2 H.A end
- 1563 65867 a 1563 65867 a
-SDict begin [ /View [/XYZ H.V] /Dest (4255) cvn H.B /DEST pdfmark end
- 1563 65867
-a FQ(passwd)384 b FU(looks)j(lik)-15 b(e)386 b(this:)p
-Black -30 73792 a FR(150)p Black eop end
-%%Page: 151 173
-TeXDict begin 151 172 bop -8000 -8000 a
-SDict begin /product where{pop product(Distiller)search{pop pop pop
-version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
-closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
-grestore}if}{pop}ifelse}{pop}ifelse}if end
- -8000 -8000 a
-Black 0 TeXcolorgray -30 -1237 a
-SDict begin H.S end
- -30 -1237 a 0 TeXcolorgray
-0 TeXcolorgray -30 -1237 a
-SDict begin H.R end
- -30 -1237 a -30 -1237 a
-SDict begin [ /View [/XYZ H.V] /Dest (page.151) cvn H.B /DEST pdfmark
-end
- -30
--1237 a Black -30 -2687 a
-SDict begin H.S end
- -30 -2687 a -30 -2687 a
-SDict begin 18.2 H.A end
- -30
--2687 a -30 -2687 a
-SDict begin [ /View [/XYZ H.V] /Dest (4274) cvn H.B /DEST pdfmark end
- -30 -2687 a 24333 -1636 a FR(Chapter)387
-b(12)g(Essential)f(System)h(Administr)-23 b(ation)p Black
--30 2504 a
-SDict begin H.S end
- -30 2504 a -30 2504 a
-SDict begin 14.56 H.A end
- -30 2504 a -30 2504
-a
-SDict begin [ /View [/XYZ H.V] /Dest (4256) cvn H.B /DEST pdfmark end
- -30 2504 a 1107 x FP(chris:x:1000:100:Chris)741 b(Lumens,Room)i
-(2\204:/home/chris:/bin/bash)-30 7176 y FU(Each)449 b(line)f(is)g(an)h
-(entry)f(for)h(one)f(user)-62 b(,)449 b(and)g(\002elds)f(on)g(each)h
-(line)f(are)h(separated)g(by)f(a)h(colon.)-30 9190 y(The)356
-b(\002elds)g(are)h(the)f(login)g(name,)h(encrypted)f(passw)-15
-b(ord)355 b(\(\223)p FP(x)p FU(\224)i(for)f(e)-39 b(v)-23
-b(eryone)357 b(on)f(a)h(Slackw)-15 b(are)-30 11205 y(system,)506
-b(since)f(Slackw)-15 b(are)505 b(uses)h(shado)-39 b(w)505
-b(passw)-15 b(ords\),)505 b(user)h(ID,)g(group)g(ID,)g(the)g(optional)
--30 13220 y(\002nger)411 b(information)g(\(separated)h(by)f(commas\),)h
-(home)f(directory)-101 b(,)412 b(and)g(shell.)g(T)-124
-b(o)411 b(add)h(a)g(ne)-39 b(w)-30 15234 y(user)376 b(by)g(hand,)g(add)
-g(a)g(ne)-39 b(w)377 b(line)e(at)h(the)g(end)g(of)g(the)g(\002le,)g
-(\002lling)f(in)h(the)g(appropriate)f(informa-)-30 17249
-y(tion.)-30 17264 y
-SDict begin H.S end
- -30 17264 a -30 17264 a
-SDict begin 18.2 H.A end
- -30 17264
-a -30 17264 a
-SDict begin [ /View [/XYZ H.V] /Dest (4260) cvn H.B /DEST pdfmark end
- -30 17264 a -30 18039 a
-SDict begin H.S end
- -30 18039 a -30
-18039 a
-SDict begin 18.2 H.A end
- -30 18039 a -30 18039 a
-SDict begin [ /View [/XYZ H.V] /Dest (4262) cvn H.B /DEST pdfmark end
- -30 18039 a 1999 x FU(The)469
-b(information)e(you)i(add)f(needs)h(to)f(meet)g(some)g(requirements,)h
-(or)f(your)h(ne)-39 b(w)469 b(user)f(may)-30 22053 y(ha)-31
-b(v)-23 b(e)445 b(problems)g(logging)f(in.)i(First,)f(mak)-15
-b(e)445 b(sure)g(that)g(the)g(passw)-15 b(ord)445 b(\002eld)g(is)g(an)
-45191 22053 y
-SDict begin H.S end
- 45191 22053 a 45191 22053 a
-SDict begin 18.2 H.A end
- 45191 22053
-a 45191 22053 a
-SDict begin [ /View [/XYZ H.V] /Dest (4263) cvn H.B /DEST pdfmark end
- 45191 22053 a FP(x)p FU(,)h(and)f(that)-30
-24068 y(both)461 b(the)h(user)g(name)f(and)h(user)f(ID)h(is)g(unique.)f
-(Assign)g(the)h(user)f(a)h(group,)g(either)g(100)f(\(the)-30
-26082 y
-SDict begin H.S end
- -30 26082 a -30 26082 a
-SDict begin 18.2 H.A end
- -30 26082 a -30 26082
-a
-SDict begin [ /View [/XYZ H.V] /Dest (4264) cvn H.B /DEST pdfmark end
- -30 26082 a FU(\223users\224)509 b(group)g(in)g(Slackw)-15
-b(are\))509 b(or)g(your)g(def)-15 b(ault)509 b(group)g(\(use)g(its)g
-(number)-62 b(,)509 b(not)g(its)g(name\).)-30 28097 y(Gi)-39
-b(v)-23 b(e)334 b(the)g(user)g(a)g(v)-39 b(alid)334 b(home)g(directory)
-f(\(which)h(you')-15 b(ll)333 b(create)h(later\))g(and)g(shell)g
-(\(remember)-62 b(,)-30 30112 y(v)-39 b(alid)387 b(shells)g(are)h
-(listed)e(in)14954 30112 y
-SDict begin H.S end
- 14954 30112 a 14954 30112
-a
-SDict begin 18.2 H.A end
- 14954 30112 a 14954 30112 a
-SDict begin [ /View [/XYZ H.V] /Dest (4265) cvn H.B /DEST pdfmark end
- 14954 30112 a FQ(/etc/shells)p
-FU(\).)-30 31164 y
-SDict begin H.S end
- -30 31164 a -30 31164 a
-SDict begin 18.2 H.A end
- -30 31164
-a -30 31164 a
-SDict begin [ /View [/XYZ H.V] /Dest (4266) cvn H.B /DEST pdfmark end
- -30 31164 a 1737 x FU(Ne)-23 b(xt,)447
-b(we')-15 b(ll)447 b(need)g(to)g(add)g(an)g(entry)g(in)f(the)h
-(/etc/shado)-39 b(w)447 b(\002le,)g(which)g(holds)f(the)h(encrypted)-30
-34916 y(passw)-15 b(ords.)387 b(A)g(typical)g(entry)g(looks)g(lik)-15
-b(e)386 b(this:)-30 36801 y
-SDict begin H.S end
- -30 36801 a -30 36801 a
-SDict begin 14.56 H.A end
- -30
-36801 a -30 36801 a
-SDict begin [ /View [/XYZ H.V] /Dest (4267) cvn H.B /DEST pdfmark end
- -30 36801 a 1276 x FP
-(chris:$1$w9bsw/N9$uwLr2bRER6YyBS.CAEp7R.:11055:0:99999:7:::)-30
-39822 y
-SDict begin H.S end
- -30 39822 a -30 39822 a
-SDict begin 18.2 H.A end
- -30 39822 a -30 39822
-a
-SDict begin [ /View [/XYZ H.V] /Dest (4268) cvn H.B /DEST pdfmark end
- -30 39822 a 1820 x FU(Ag)-8 b(ain,)347 b(each)g(line)f(is)g(an)h
-(entry)f(for)h(one)f(person,)h(with)f(each)h(\002eld)f(delimited)f(by)i
-(a)f(colon.)h(The)-30 43656 y(\002elds)566 b(are)i(\(in)e(order\))i
-(login)e(name,)h(encrypted)g(passw)-15 b(ord,)566 b(days)h(since)f(the)
-h(Epoch)g(\(Jan-)-30 45671 y(uary)532 b(1,)h(1970\))f(that)g(the)g
-(passw)-15 b(ord)531 b(w)-15 b(as)532 b(last)g(changed,)g(days)g
-(before)h(the)f(passw)-15 b(ord)531 b(may)-30 47686 y(be)411
-b(changed,)g(days)f(after)h(which)f(the)g(passw)-15 b(ord)410
-b(must)g(be)g(changed,)h(days)f(before)h(passw)-15 b(ord)-30
-49700 y(e)-23 b(xpiration)385 b(that)h(the)g(user)h(is)f(noti\002ed,)f
-(days)h(after)h(e)-23 b(xpiration)385 b(that)h(the)g(account)g(is)g
-(disabled,)-30 51715 y(days)h(since)g(the)h(Epoch)f(that)g(the)g
-(account)g(is)g(disabled,)g(and)g(a)h(reserv)-23 b(ed)387
-b(\002eld.)-30 52826 y
-SDict begin H.S end
- -30 52826 a -30 52826 a
-SDict begin 18.2 H.A end
- -30 52826
-a -30 52826 a
-SDict begin [ /View [/XYZ H.V] /Dest (4269) cvn H.B /DEST pdfmark end
- -30 52826 a 1679 x FU(As)312 b(you)g(can)g(see,)h(most)f
-(of)g(that)g(is)g(for)g(account)g(e)-23 b(xpiration)311
-b(information.)h(If)g(you)g(aren')-28 b(t)313 b(using)-30
-56519 y(e)-23 b(xpiration)337 b(information,)g(you)g(only)h(need)f(to)h
-(\002ll)f(in)h(a)f(fe)-39 b(w)339 b(\002elds)e(with)g(some)g(special)h
-(v)-39 b(alues.)-30 58534 y(Otherwise,)377 b(you')-15
-b(ll)375 b(need)i(to)f(do)h(some)f(calculations)f(and)i(decision)f
-(making)g(before)h(you)f(can)-30 60549 y(\002ll)501 b(those)h(\002elds)
-f(in.)i(F)-23 b(or)501 b(a)h(ne)-39 b(w)502 b(user)-62
-b(,)503 b(just)e(put)h(some)g(random)f(g)-8 b(arbage)502
-b(in)g(the)g(passw)-15 b(ord)-30 62563 y(\002eld.)517
-b(Don')-28 b(t)516 b(w)-15 b(orry)516 b(about)g(what)g(the)h(passw)-15
-b(ord)515 b(is)h(right)g(no)-39 b(w)-101 b(,)518 b(because)e(you')-77
-b(re)516 b(going)g(to)-30 64578 y(change)359 b(it)f(in)g(a)h(minute.)f
-(The)h(only)f(character)h(you)f(cannot)h(include)f(in)g(the)h(passw)-15
-b(ord)357 b(\002eld)h(is)-30 66593 y(a)389 b(colon.)f(Lea)-31
-b(v)-23 b(e)388 b(the)11668 66593 y
-SDict begin H.S end
- 11668 66593 a 11668
-66593 a
-SDict begin 18.2 H.A end
- 11668 66593 a 11668 66593 a
-SDict begin [ /View [/XYZ H.V] /Dest (4270) cvn H.B /DEST pdfmark end
- 11668 66593 a FU(\223days)h(since)f
-(passw)-15 b(ord)387 b(w)-15 b(as)388 b(changed\224)g(\002eld)g(blank)g
-(as)g(well.)h(Fill)e(in)50645 66593 y
-SDict begin H.S end
- 50645 66593 a 50645
-66593 a
-SDict begin 18.2 H.A end
- 50645 66593 a 50645 66593 a
-SDict begin [ /View [/XYZ H.V] /Dest (4271) cvn H.B /DEST pdfmark end
- 50645 66593 a FP(0)p
-FU(,)p Black 49451 73792 a FR(151)p Black eop end
-%%Page: 152 174
-TeXDict begin 152 173 bop -8000 -8000 a
-SDict begin /product where{pop product(Distiller)search{pop pop pop
-version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
-closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
-grestore}if}{pop}ifelse}{pop}ifelse}if end
- -8000 -8000 a
-Black 0 TeXcolorgray -30 -1237 a
-SDict begin H.S end
- -30 -1237 a 0 TeXcolorgray
-0 TeXcolorgray -30 -1237 a
-SDict begin H.R end
- -30 -1237 a -30 -1237 a
-SDict begin [ /View [/XYZ H.V] /Dest (page.152) cvn H.B /DEST pdfmark
-end
- -30
--1237 a Black -399 x FR(Chapter)387 b(12)g(Essential)f(System)h
-(Administr)-23 b(ation)p Black -30 3611 a
-SDict begin H.S end
- -30 3611 a
--30 3611 a
-SDict begin 18.2 H.A end
- -30 3611 a -30 3611 a
-SDict begin [ /View [/XYZ H.V] /Dest (4272) cvn H.B /DEST pdfmark end
- -30 3611 a FP(99999)p
-FU(,)387 b(and)7090 3611 y
-SDict begin H.S end
- 7090 3611 a 7090 3611 a
-SDict begin 18.2 H.A end
- 7090
-3611 a 7090 3611 a
-SDict begin [ /View [/XYZ H.V] /Dest (4273) cvn H.B /DEST pdfmark end
- 7090 3611 a FP(7)g FU(just)g(as)g(you)g(see)h(in)f
-(the)g(e)-23 b(xample)387 b(entry)-101 b(,)387 b(and)h(lea)-31
-b(v)-23 b(e)387 b(the)g(other)g(\002elds)g(blank.)-30
-6401 y(\(F)-23 b(or)606 b(those)f(of)h(you)g(who)g(think)f(you)h(see)g
-(my)g(encrypted)g(passw)-15 b(ord)605 b(abo)-23 b(v)g(e)605
-b(and)h(belie)-39 b(v)-23 b(e)-30 8415 y(you')-77 b(v)-23
-b(e)506 b(got)h(a)g(le)-23 b(g)507 b(up)g(on)g(breaking)g(into)f(my)h
-(system,)g(go)g(right)g(ahead.)g(If)h(you)e(can)i(crack)-30
-10430 y(that)601 b(passw)-15 b(ord,)601 b(you')-15 b(ll)600
-b(kno)-39 b(w)602 b(the)f(passw)-15 b(ord)600 b(to)i(a)f(\002re)-39
-b(w)-15 b(alled)601 b(test)g(system.)g(No)-39 b(w)602
-b(that')-85 b(s)-30 12445 y(useful)387 b(:\))g(\))-30
-12722 y
-SDict begin H.S end
- -30 12722 a -30 12722 a
-SDict begin 18.2 H.A end
- -30 12722 a -30 12722
-a
-SDict begin [ /View [/XYZ H.V] /Dest (4275) cvn H.B /DEST pdfmark end
- -30 12722 a -30 13497 a
-SDict begin H.S end
- -30 13497 a -30 13497 a
-SDict begin 18.2 H.A end
- -30
-13497 a -30 13497 a
-SDict begin [ /View [/XYZ H.V] /Dest (4278) cvn H.B /DEST pdfmark end
- -30 13497 a 1737 x FU(All)399 b(normal)g(users)g
-(are)h(members)f(of)g(the)23080 15234 y
-SDict begin H.S end
- 23080 15234 a
-23080 15234 a
-SDict begin 18.2 H.A end
- 23080 15234 a 23080 15234 a
-SDict begin [ /View [/XYZ H.V] /Dest (4279) cvn H.B /DEST pdfmark end
- 23080 15234
-a FU(\223)23768 15234 y
-SDict begin H.S end
- 23768 15234 a 23768 15234 a
-SDict begin 18.2 H.A end
- 23768
-15234 a 23768 15234 a
-SDict begin [ /View [/XYZ H.V] /Dest (4280) cvn H.B /DEST pdfmark end
- 23768 15234 a FP(users)p FU(\224)g(group)g(on)g
-(a)h(typical)f(Slackw)-15 b(are)398 b(system.)-30 17249
-y(Ho)-39 b(we)g(v)-23 b(er)-62 b(,)309 b(if)f(you)h(w)-15
-b(ant)307 b(to)h(create)h(a)g(ne)-39 b(w)308 b(group,)h(or)f(add)g(the)
-h(ne)-39 b(w)308 b(user)g(to)h(additional)e(groups,)-30
-19264 y(you')-15 b(ll)386 b(need)i(to)f(modify)f(the)16097
-19264 y
-SDict begin H.S end
- 16097 19264 a 16097 19264 a
-SDict begin 18.2 H.A end
- 16097 19264 a 16097
-19264 a
-SDict begin [ /View [/XYZ H.V] /Dest (4281) cvn H.B /DEST pdfmark end
- 16097 19264 a FQ(/etc/group)381 b FU(\002le.)387
-b(Here)h(is)f(a)g(typical)g(entry:)-30 21149 y
-SDict begin H.S end
- -30 21149
-a -30 21149 a
-SDict begin 14.56 H.A end
- -30 21149 a -30 21149 a
-SDict begin [ /View [/XYZ H.V] /Dest (4282) cvn H.B /DEST pdfmark end
- -30 21149 a 1276
-x FP(cvs::102:chris,logan,david,root)-30 24169 y
-SDict begin H.S end
- -30
-24169 a -30 24169 a
-SDict begin 18.2 H.A end
- -30 24169 a -30 24169 a
-SDict begin [ /View [/XYZ H.V] /Dest (4283) cvn H.B /DEST pdfmark end
- -30 24169
-a 1820 x FU(The)510 b(\002elds)e(are)i(group)f(name,)h(group)f(passw)
--15 b(ord,)509 b(group)g(ID,)h(and)f(group)h(members,)f(sepa-)-30
-28004 y(rated)362 b(by)f(commas.)g(Creating)g(a)h(ne)-39
-b(w)362 b(group)f(is)g(a)h(simple)f(matter)g(of)h(adding)f(a)g(ne)-39
-b(w)362 b(line)f(with)-30 30019 y(a)447 b(unique)f(group)h(ID,)g(and)g
-(listing)e(all)i(the)f(users)h(you)f(w)-15 b(ant)447
-b(to)f(be)h(in)f(the)h(group.)g(An)-23 b(y)446 b(users)-30
-32033 y(that)411 b(are)i(in)e(this)g(ne)-39 b(w)412 b(group)f(and)h
-(are)g(logged)f(in)h(will)f(ha)-31 b(v)-23 b(e)411 b(to)h(log)f(out)h
-(and)f(log)h(back)f(in)h(for)-30 34048 y(those)387 b(changes)g(to)g
-(tak)-15 b(e)387 b(ef)-39 b(fect.)-30 35158 y
-SDict begin H.S end
- -30 35158
-a -30 35158 a
-SDict begin 18.2 H.A end
- -30 35158 a -30 35158 a
-SDict begin [ /View [/XYZ H.V] /Dest (4284) cvn H.B /DEST pdfmark end
- -30 35158 a 1680
-x FU(At)378 b(this)g(point,)h(it)f(might)f(be)i(a)g(good)f(idea)g(to)g
-(use)h(the)29352 36838 y
-SDict begin H.S end
- 29352 36838 a 29352 36838 a
-SDict begin 18.2 H.A end
-
-29352 36838 a 29352 36838 a
-SDict begin [ /View [/XYZ H.V] /Dest (4285) cvn H.B /DEST pdfmark end
- 29352 36838 a FP(pwck)f FU(and)35323
-36838 y
-SDict begin H.S end
- 35323 36838 a 35323 36838 a
-SDict begin 18.2 H.A end
- 35323 36838 a 35323
-36838 a
-SDict begin [ /View [/XYZ H.V] /Dest (4286) cvn H.B /DEST pdfmark end
- 35323 36838 a FP(grpck)g FU(commands)f(to)h(v)-23
-b(erify)-30 38852 y(that)461 b(the)h(changes)g(you')-77
-b(v)-23 b(e)460 b(made)i(are)g(consistent.)f(First,)g(use)34670
-38852 y
-SDict begin H.S end
- 34670 38852 a 34670 38852 a
-SDict begin 18.2 H.A end
- 34670 38852 a 34670
-38852 a
-SDict begin [ /View [/XYZ H.V] /Dest (4287) cvn H.B /DEST pdfmark end
- 34670 38852 a FP(pwck)743 b(-r)462 b FU(and)43038
-38852 y
-SDict begin H.S end
- 43038 38852 a 43038 38852 a
-SDict begin 18.2 H.A end
- 43038 38852 a 43038
-38852 a
-SDict begin [ /View [/XYZ H.V] /Dest (4288) cvn H.B /DEST pdfmark end
- 43038 38852 a FP(grpck)744 b(-r)p FU(:)461 b(the)-30
-40867 y
-SDict begin H.S end
- -30 40867 a -30 40867 a
-SDict begin 18.2 H.A end
- -30 40867 a -30 40867
-a
-SDict begin [ /View [/XYZ H.V] /Dest (4289) cvn H.B /DEST pdfmark end
- -30 40867 a FP(-r)494 b FU(switch)f(mak)-15 b(es)494
-b(no)g(changes,)g(b)-31 b(ut)494 b(lists)f(the)h(changes)g(you)f(w)-15
-b(ould)493 b(be)h(ask)-15 b(ed)494 b(to)g(mak)-15 b(e)493
-b(if)-30 42882 y(you)377 b(ran)f(the)h(command)f(without)g(the)g
-(switch.)h(Y)-170 b(ou)376 b(can)g(use)h(this)f(output)g(to)h(decide)f
-(whether)-30 44896 y(you)398 b(need)g(to)g(further)g(modify)f(an)-23
-b(y)398 b(\002les,)g(to)g(run)27161 44896 y
-SDict begin H.S end
- 27161 44896
-a 27161 44896 a
-SDict begin 18.2 H.A end
- 27161 44896 a 27161 44896 a
-SDict begin [ /View [/XYZ H.V] /Dest (4290) cvn H.B /DEST pdfmark end
- 27161 44896
-a FP(pwck)f FU(or)32223 44896 y
-SDict begin H.S end
- 32223 44896 a 32223 44896
-a
-SDict begin 18.2 H.A end
- 32223 44896 a 32223 44896 a
-SDict begin [ /View [/XYZ H.V] /Dest (4291) cvn H.B /DEST pdfmark end
- 32223 44896 a FP(grpck)h
-FU(without)f(the)43767 44896 y
-SDict begin H.S end
- 43767 44896 a 43767 44896
-a
-SDict begin 18.2 H.A end
- 43767 44896 a 43767 44896 a
-SDict begin [ /View [/XYZ H.V] /Dest (4292) cvn H.B /DEST pdfmark end
- 43767 44896 a FP(-r)h FU(switch,)g(or)-30
-46911 y(to)387 b(simply)g(lea)-31 b(v)-23 b(e)387 b(your)g(changes)g
-(as)g(the)-23 b(y)387 b(are.)-30 48021 y
-SDict begin H.S end
- -30 48021 a
--30 48021 a
-SDict begin 18.2 H.A end
- -30 48021 a -30 48021 a
-SDict begin [ /View [/XYZ H.V] /Dest (4293) cvn H.B /DEST pdfmark end
- -30 48021 a 1679
-x FU(At)440 b(this)g(point,)h(you)f(should)f(use)i(the)20834
-49700 y
-SDict begin H.S end
- 20834 49700 a 20834 49700 a
-SDict begin 18.2 H.A end
- 20834 49700 a 20834
-49700 a
-SDict begin [ /View [/XYZ H.V] /Dest (4294) cvn H.B /DEST pdfmark end
- 20834 49700 a FP(passwd)f FU(command)g(to)g(create)g(a)h
-(proper)f(passw)-15 b(ord)440 b(for)-30 51715 y(the)541
-b(user)-85 b(.)542 b(Then,)g(use)12552 51715 y
-SDict begin H.S end
- 12552
-51715 a 12552 51715 a
-SDict begin 18.2 H.A end
- 12552 51715 a 12552 51715 a
-SDict begin [ /View [/XYZ H.V] /Dest (4295) cvn H.B /DEST pdfmark end
- 12552
-51715 a FP(mkdir)f FU(to)h(create)f(the)h(ne)-39 b(w)542
-b(user')-85 b(s)541 b(home)g(directory)g(in)g(the)h(location)-30
-53730 y(you)419 b(entered)f(into)h(the)12836 53730 y
-SDict begin H.S end
-
-12836 53730 a 12836 53730 a
-SDict begin 18.2 H.A end
- 12836 53730 a 12836 53730
-a
-SDict begin [ /View [/XYZ H.V] /Dest (4296) cvn H.B /DEST pdfmark end
- 12836 53730 a FQ(/etc/passwd)412 b FU(\002le,)419 b(and)g(use)28074
-53730 y
-SDict begin H.S end
- 28074 53730 a 28074 53730 a
-SDict begin 18.2 H.A end
- 28074 53730 a 28074
-53730 a
-SDict begin [ /View [/XYZ H.V] /Dest (4297) cvn H.B /DEST pdfmark end
- 28074 53730 a FP(chown)f FU(to)h(change)f(the)h(o)-39
-b(wner)419 b(of)g(the)g(ne)-39 b(w)-30 55744 y(directory)387
-b(to)g(the)g(ne)-39 b(w)388 b(user)-85 b(.)-30 56080
-y
-SDict begin H.S end
- -30 56080 a -30 56080 a
-SDict begin 18.2 H.A end
- -30 56080 a -30 56080 a
-SDict begin [ /View [/XYZ H.V] /Dest (4298) cvn H.B /DEST pdfmark end
- -30
-56080 a -30 56080 a
-SDict begin H.S end
- -30 56080 a -30 56080 a
-SDict begin 18.2 H.A end
- -30 56080
-a -30 56080 a
-SDict begin [ /View [/XYZ H.V] /Dest (4301) cvn H.B /DEST pdfmark end
- -30 56080 a -30 56855 a
-SDict begin H.S end
- -30 56855 a -30
-56855 a
-SDict begin 18.2 H.A end
- -30 56855 a -30 56855 a
-SDict begin [ /View [/XYZ H.V] /Dest (4303) cvn H.B /DEST pdfmark end
- -30 56855 a 1679 x FU(Remo)-23
-b(ving)485 b(a)h(user)g(is)f(a)h(simple)g(matter)f(of)h(deleting)f(all)
-h(of)g(the)g(entries)f(that)h(e)-23 b(xist)485 b(for)h(that)-30
-60549 y(user)-85 b(.)315 b(Remo)-23 b(v)g(e)313 b(the)h(user')-85
-b(s)314 b(entry)g(from)21566 60549 y
-SDict begin H.S end
- 21566 60549 a 21566
-60549 a
-SDict begin 18.2 H.A end
- 21566 60549 a 21566 60549 a
-SDict begin [ /View [/XYZ H.V] /Dest (4304) cvn H.B /DEST pdfmark end
- 21566 60549 a FQ(/etc/passwd)307
-b FU(and)31322 60549 y
-SDict begin H.S end
- 31322 60549 a 31322 60549 a
-SDict begin 18.2 H.A end
- 31322
-60549 a 31322 60549 a
-SDict begin [ /View [/XYZ H.V] /Dest (4305) cvn H.B /DEST pdfmark end
- 31322 60549 a FQ(/etc/shadow)p
-FU(,)h(and)314 b(remo)-23 b(v)g(e)313 b(the)i(login)-30
-62563 y(name)567 b(from)h(an)-23 b(y)567 b(groups)g(in)g(the)19278
-62563 y
-SDict begin H.S end
- 19278 62563 a 19278 62563 a
-SDict begin 18.2 H.A end
- 19278 62563 a 19278
-62563 a
-SDict begin [ /View [/XYZ H.V] /Dest (4306) cvn H.B /DEST pdfmark end
- 19278 62563 a FQ(/etc/group)561 b FU(\002le.)568
-b(If)g(you)f(wish,)g(delete)h(the)f(user')-85 b(s)567
-b(home)-30 64578 y(directory)-101 b(,)388 b(the)f(mail)g(spool)g
-(\002le,)g(and)g(his)g(crontab)g(entry)g(\(if)h(the)-23
-b(y)387 b(e)-23 b(xist\).)-30 65688 y
-SDict begin H.S end
- -30 65688 a -30
-65688 a
-SDict begin 18.2 H.A end
- -30 65688 a -30 65688 a
-SDict begin [ /View [/XYZ H.V] /Dest (4307) cvn H.B /DEST pdfmark end
- -30 65688 a 1680 x FU(Remo)g(ving)386
-b(groups)h(is)g(similar:)f(remo)-23 b(v)g(e)387 b(the)g(group')-85
-b(s)387 b(entry)g(from)37221 67368 y
-SDict begin H.S end
- 37221 67368 a 37221
-67368 a
-SDict begin 18.2 H.A end
- 37221 67368 a 37221 67368 a
-SDict begin [ /View [/XYZ H.V] /Dest (4308) cvn H.B /DEST pdfmark end
- 37221 67368 a FQ(/etc/group)p
-FU(.)-30 68478 y
-SDict begin H.S end
- -30 68478 a -30 68478 a
-SDict begin 18.2 H.A end
- -30 68478 a
--30 68478 a
-SDict begin [ /View [/XYZ H.V] /Dest (ESSENTIAL-SYSADMIN-SHUTDOWN)
-cvn H.B /DEST pdfmark end
- -30 68478 a Black 5314 x FR(152)p Black eop
-end
-%%Page: 153 175
-TeXDict begin 153 174 bop -8000 -8000 a
-SDict begin /product where{pop product(Distiller)search{pop pop pop
-version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
-closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
-grestore}if}{pop}ifelse}{pop}ifelse}if end
- -8000 -8000 a
-Black 0 TeXcolorgray -30 -1237 a
-SDict begin H.S end
- -30 -1237 a 0 TeXcolorgray
-0 TeXcolorgray -30 -1237 a
-SDict begin H.R end
- -30 -1237 a -30 -1237 a
-SDict begin [ /View [/XYZ H.V] /Dest (page.153) cvn H.B /DEST pdfmark
-end
- -30
--1237 a Black 24333 -1636 a FR(Chapter)387 b(12)g(Essential)f(System)h
-(Administr)-23 b(ation)p Black -30 4132 a FL(12.3)620
-b(Shutting)g(Do)-33 b(wn)619 b(Pr)-45 b(operl)-33 b(y)-30
-4629 y
-SDict begin H.S end
- -30 4629 a -30 4629 a
-SDict begin 18.2 H.A end
- -30 4629 a -30 4629 a
-SDict begin [ /View [/XYZ H.V] /Dest (4311) cvn H.B /DEST pdfmark end
- -30
-4629 a -30 5744 a
-SDict begin H.S end
- -30 5744 a -30 5744 a
-SDict begin 18.2 H.A end
- -30 5744 a -30
-5744 a
-SDict begin [ /View [/XYZ H.V] /Dest (4313) cvn H.B /DEST pdfmark end
- -30 5744 a 1519 x FU(It)531 b(is)f(v)-23 b(ery)530
-b(important)g(that)g(you)g(shut)g(do)-39 b(wn)530 b(your)h(system)e
-(properly)-101 b(.)531 b(Simply)e(turning)h(the)-30 9277
-y(po)-39 b(wer)543 b(of)-39 b(f)543 b(with)g(the)g(po)-39
-b(wer)543 b(switch)f(can)h(cause)g(serious)g(\002lesystem)e(damage.)j
-(While)e(the)-30 11292 y(system)367 b(is)h(on,)g(\002les)f(are)i(in)e
-(use)h(e)-39 b(v)-23 b(en)368 b(if)g(you)g(aren')-28
-b(t)368 b(doing)f(an)-23 b(ything.)367 b(Remember)g(that)h(there)-30
-13307 y(are)309 b(man)-23 b(y)308 b(processes)h(running)f(in)g(the)h
-(background)f(all)h(the)f(time.)h(These)g(processes)f(are)h(man-)-30
-15321 y(aging)407 b(the)f(system)h(and)g(k)-15 b(eep)406
-b(a)h(lot)g(of)g(\002les)f(open.)h(When)g(the)g(system')-85
-b(s)406 b(po)-39 b(wer)407 b(is)g(switched)-30 17336
-y(of)-39 b(f,)534 b(these)f(\002les)f(are)h(not)g(closed)g(properly)f
-(and)h(may)g(become)g(corrupted.)g(Depending)f(on)-30
-19351 y(what)409 b(\002les)g(become)g(damaged,)h(the)f(system)g(might)g
-(be)g(rendered)h(completely)e(unusable!)h(In)-30 21365
-y(an)-23 b(y)484 b(case,)g(you')-15 b(ll)483 b(ha)-31
-b(v)-23 b(e)483 b(to)h(go)f(through)g(a)h(long)f(\002lesystem)g(check)h
-(procedure)f(on)h(the)f(ne)-23 b(xt)-30 23380 y(reboot.)-30
-23395 y
-SDict begin H.S end
- -30 23395 a -30 23395 a
-SDict begin 18.2 H.A end
- -30 23395 a -30 23395
-a
-SDict begin [ /View [/XYZ H.V] /Dest (4314) cvn H.B /DEST pdfmark end
- -30 23395 a -30 23395 a
-SDict begin H.S end
- -30 23395 a -30 23395 a
-SDict begin 18.2 H.A end
- -30
-23395 a -30 23395 a
-SDict begin [ /View [/XYZ H.V] /Dest (4316) cvn H.B /DEST pdfmark end
- -30 23395 a -30 23395 a
-SDict begin H.S end
- -30 23395
-a -30 23395 a
-SDict begin 16.9 H.A end
- -30 23395 a -30 23395 a
-SDict begin [ /View [/XYZ H.V] /Dest (4319) cvn H.B /DEST pdfmark end
- -30 23395 a -30
-25720 a
-SDict begin H.S end
- -30 25720 a -30 25720 a
-SDict begin 16.9 H.A end
- -30 25720 a -30 25720
-a
-SDict begin [ /View [/XYZ H.V] /Dest (4320) cvn H.B /DEST pdfmark end
- -30 25720 a 3070 27575 a Fu(Note:)422 b Ft(If)f(y)-29
-b(ou)422 b(con\002gured)f(y)-29 b(our)422 b(system)e(with)i(a)f(jour)36
-b(nalling)424 b(\002lesystem,)c(lik)-29 b(e)422 b(e)-43
-b(xt3)422 b(or)3070 29446 y(reiserfs)-22 b(,)325 b(y)-29
-b(ou'll)326 b(be)f(par)58 b(tially)326 b(protected)f(from)f
-(\002lesystem)g(damage)-22 b(,)325 b(and)g(y)-29 b(our)325
-b(\002lesys-)3070 31317 y(tem)514 b(chec)-29 b(k)513
-b(on)h(reboot)h(will)h(be)e(shor)58 b(ter)514 b(than)h(if)f(y)-29
-b(ou)514 b(had)h(used)f(a)g(\002lesystem)f(with-)3070
-33188 y(out)421 b(jour)36 b(nalling,)423 b(lik)-29 b(e)422
-b(e)-43 b(xt2.)421 b(Ho)-22 b(w)-14 b(e)-43 b(v)-36 b(er)-72
-b(,)421 b(this)g(saf)-43 b(ety)420 b(net)h(is)g(no)g(e)-43
-b(xcuse)420 b(f)-43 b(or)421 b(improper)22 b(ly)3070
-35058 y(shutting)330 b(do)-22 b(wn)330 b(y)-29 b(our)330
-b(system!)e(A)h(jour)36 b(nalling)332 b(FS)e(is)g(meant)f(to)h(protect)
-g(y)-29 b(our)330 b(\002les)f(from)3070 36929 y(e)-43
-b(v)-36 b(ents)399 b(be)-29 b(y)g(ond)400 b(y)-29 b(our)401
-b(control,)f(not)h(from)f(y)-29 b(our)400 b(o)-22 b(wn)400
-b(laziness)-22 b(.)358 39719 y
-SDict begin H.S end
- 358 39719 a 358 39719
-a
-SDict begin 18.2 H.A end
- 358 39719 a 358 39719 a
-SDict begin [ /View [/XYZ H.V] /Dest (4321) cvn H.B /DEST pdfmark end
- 358 39719 a -30 41268 a
-SDict begin H.S end
- -30
-41268 a -30 41268 a
-SDict begin 18.2 H.A end
- -30 41268 a -30 41268 a
-SDict begin [ /View [/XYZ H.V] /Dest (4323) cvn H.B /DEST pdfmark end
- -30 41268
-a 2015 x FU(In)395 b(an)-23 b(y)395 b(case,)h(when)f(you)g(w)-15
-b(ant)395 b(to)g(reboot)g(or)g(po)-39 b(wer)396 b(do)-39
-b(wn)395 b(your)g(computer)-62 b(,)395 b(it)g(is)g(important)-30
-45298 y(to)448 b(do)h(so)f(properly)-101 b(.)449 b(There)f(are)h(se)-39
-b(v)-23 b(eral)449 b(w)-15 b(ays)447 b(of)i(doing)f(so;)g(you)g(can)h
-(pick)f(whiche)-39 b(v)-23 b(er)448 b(one)-30 47312 y(you)414
-b(think)f(is)g(the)h(most)f(fun)h(\(or)f(least)h(amount)f(of)h(w)-15
-b(ork\).)413 b(Since)h(a)g(shutdo)-39 b(wn)413 b(and)g(a)h(reboot)-30
-49327 y(are)526 b(similar)e(procedures,)i(most)e(of)h(the)h(w)-15
-b(ays)524 b(for)h(po)-39 b(wering)525 b(of)-39 b(f)526
-b(the)f(system)g(can)g(also)g(be)-30 51342 y(applied)387
-b(to)g(rebooting.)-30 52452 y
-SDict begin H.S end
- -30 52452 a -30 52452 a
-SDict begin 18.2 H.A end
-
--30 52452 a -30 52452 a
-SDict begin [ /View [/XYZ H.V] /Dest (4324) cvn H.B /DEST pdfmark end
- -30 52452 a 1679 x FU(The)511
-b(\002rst)f(method)g(is)g(through)g(the)20254 54131 y
-SDict begin H.S end
-
-20254 54131 a 20254 54131 a
-SDict begin 18.2 H.A end
- 20254 54131 a 20254 54131
-a
-SDict begin [ /View [/XYZ H.V] /Dest (4325) cvn H.B /DEST pdfmark end
- 20254 54131 a FP(shutdown)p FU(\(8\))g(program,)g(and)h(it)g(is)f
-(probably)g(the)h(most)-30 56146 y(popular)-85 b(.)5436
-56146 y
-SDict begin H.S end
- 5436 56146 a 5436 56146 a
-SDict begin 18.2 H.A end
- 5436 56146 a 5436 56146
-a
-SDict begin [ /View [/XYZ H.V] /Dest (4326) cvn H.B /DEST pdfmark end
- 5436 56146 a FP(shutdown)429 b FU(can)h(be)f(used)h(to)f(reboot)g(or)
-h(turn)f(of)-39 b(f)430 b(the)f(system)g(at)h(a)f(gi)-39
-b(v)-23 b(en)430 b(time,)f(and)-30 58161 y(can)447 b(display)e(a)i
-(message)f(to)g(all)g(the)g(logged-in)g(users)g(of)g(the)g(system)g
-(telling)f(them)h(that)g(the)-30 60175 y(system)387 b(is)g(going)f(do)
--39 b(wn.)-30 61286 y
-SDict begin H.S end
- -30 61286 a -30 61286 a
-SDict begin 18.2 H.A end
- -30 61286
-a -30 61286 a
-SDict begin [ /View [/XYZ H.V] /Dest (4327) cvn H.B /DEST pdfmark end
- -30 61286 a 1679 x FU(The)387 b(most)g(basic)g(use)g(of)h
-(shutdo)-39 b(wn)386 b(to)h(po)-39 b(wer)388 b(do)-39
-b(wn)387 b(the)g(computer)g(is:)-30 64850 y
-SDict begin H.S end
- -30 64850
-a -30 64850 a
-SDict begin 14.56 H.A end
- -30 64850 a -30 64850 a
-SDict begin [ /View [/XYZ H.V] /Dest (4328) cvn H.B /DEST pdfmark end
- -30 64850 a -30
-64850 a
-SDict begin H.S end
- -30 64850 a -30 64850 a
-SDict begin 14.56 H.A end
- -30 64850 a -30 64850
-a
-SDict begin [ /View [/XYZ H.V] /Dest (4329) cvn H.B /DEST pdfmark end
- -30 64850 a 1276 x FJ(#)1309 66126 y
-SDict begin H.S end
- 1309 66126 a 1309
-66126 a
-SDict begin 14.56 H.A end
- 1309 66126 a 1309 66126 a
-SDict begin [ /View [/XYZ H.V] /Dest (4330) cvn H.B /DEST pdfmark end
- 1309 66126 a FH(shutdown)743
-b(-h)h(now)p Black 49451 73792 a FR(153)p Black eop end
-%%Page: 154 176
-TeXDict begin 154 175 bop -8000 -8000 a
-SDict begin /product where{pop product(Distiller)search{pop pop pop
-version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
-closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
-grestore}if}{pop}ifelse}{pop}ifelse}if end
- -8000 -8000 a
-Black 0 TeXcolorgray -30 -1237 a
-SDict begin H.S end
- -30 -1237 a 0 TeXcolorgray
-0 TeXcolorgray -30 -1237 a
-SDict begin H.R end
- -30 -1237 a -30 -1237 a
-SDict begin [ /View [/XYZ H.V] /Dest (page.154) cvn H.B /DEST pdfmark
-end
- -30
--1237 a Black -399 x FR(Chapter)387 b(12)g(Essential)f(System)h
-(Administr)-23 b(ation)p Black -30 2504 a
-SDict begin H.S end
- -30 2504 a
--30 2504 a
-SDict begin 18.2 H.A end
- -30 2504 a -30 2504 a
-SDict begin [ /View [/XYZ H.V] /Dest (4331) cvn H.B /DEST pdfmark end
- -30 2504 a 1107 x FU(In)459
-b(this)f(case,)h(we)g(are)g(not)f(going)g(to)g(send)h(a)g(custom)e
-(message)i(to)f(the)g(users;)h(the)-23 b(y)458 b(will)g(see)-30
-5626 y
-SDict begin H.S end
- -30 5626 a -30 5626 a
-SDict begin 18.2 H.A end
- -30 5626 a -30 5626 a
-SDict begin [ /View [/XYZ H.V] /Dest (4332) cvn H.B /DEST pdfmark end
- -30
-5626 a FP(shutdown)p FU(')-85 b(s)519 b(def)-15 b(ault)519
-b(message.)18441 5626 y
-SDict begin H.S end
- 18441 5626 a 18441 5626 a
-SDict begin 18.2 H.A end
- 18441
-5626 a 18441 5626 a
-SDict begin [ /View [/XYZ H.V] /Dest (4333) cvn H.B /DEST pdfmark end
- 18441 5626 a FU(\223)19129 5626 y
-SDict begin H.S end
-
-19129 5626 a 19129 5626 a
-SDict begin 18.2 H.A end
- 19129 5626 a 19129 5626 a
-SDict begin [ /View [/XYZ H.V] /Dest (4334) cvn H.B /DEST pdfmark end
- 19129
-5626 a FP(now)p FU(\224)h(is)g(the)g(time)g(that)g(we)g(w)-15
-b(ant)519 b(to)h(shutdo)-39 b(wn,)520 b(and)g(the)-30
-7640 y
-SDict begin H.S end
- -30 7640 a -30 7640 a
-SDict begin 18.2 H.A end
- -30 7640 a -30 7640 a
-SDict begin [ /View [/XYZ H.V] /Dest (4335) cvn H.B /DEST pdfmark end
- -30
-7640 a FU(\223)658 7640 y
-SDict begin H.S end
- 658 7640 a 658 7640 a
-SDict begin 18.2 H.A end
- 658 7640
-a 658 7640 a
-SDict begin [ /View [/XYZ H.V] /Dest (4336) cvn H.B /DEST pdfmark end
- 658 7640 a FP(-h)p FU(\224)492 b(means)g(to)g(halt)f(the)h
-(system.)g(This)f(is)h(not)g(a)g(v)-23 b(ery)492 b(friendly)f(w)-15
-b(ay)492 b(to)g(run)g(a)g(multi-user)-30 9655 y(system,)305
-b(b)-31 b(ut)306 b(it)f(w)-15 b(orks)305 b(just)g(\002ne)h(on)f(your)h
-(home)f(computer)-85 b(.)305 b(A)h(better)g(method)f(on)g(a)h
-(multiuser)-30 11670 y(system)387 b(w)-15 b(ould)386
-b(be)h(to)g(gi)-39 b(v)-23 b(e)388 b(e)-39 b(v)-23 b(eryone)387
-b(a)g(little)g(adv)-39 b(ance)387 b(w)-15 b(arning:)-30
-13555 y
-SDict begin H.S end
- -30 13555 a -30 13555 a
-SDict begin 14.56 H.A end
- -30 13555 a -30 13555
-a
-SDict begin [ /View [/XYZ H.V] /Dest (4337) cvn H.B /DEST pdfmark end
- -30 13555 a -30 13555 a
-SDict begin H.S end
- -30 13555 a -30 13555 a
-SDict begin 14.56 H.A end
- -30
-13555 a -30 13555 a
-SDict begin [ /View [/XYZ H.V] /Dest (4338) cvn H.B /DEST pdfmark end
- -30 13555 a 1276 x FJ(#)1309 14831
-y
-SDict begin H.S end
- 1309 14831 a 1309 14831 a
-SDict begin 14.56 H.A end
- 1309 14831 a 1309 14831 a
-SDict begin [ /View [/XYZ H.V] /Dest (4339) cvn H.B /DEST pdfmark end
-
-1309 14831 a FH(shutdown)743 b(-h)h(+60)-30 16406 y
-SDict begin H.S end
- -30
-16406 a -30 16406 a
-SDict begin 18.2 H.A end
- -30 16406 a -30 16406 a
-SDict begin [ /View [/XYZ H.V] /Dest (4340) cvn H.B /DEST pdfmark end
- -30 16406
-a 1990 x FU(This)369 b(w)-15 b(ould)368 b(shutdo)-39
-b(wn)368 b(the)h(system)g(in)g(one)g(hour)g(\(60)g(minutes\),)g(which)f
-(w)-15 b(ould)368 b(be)i(just)e(\002ne)-30 20410 y(on)410
-b(a)g(normal)g(multiuser)f(system.)h(V)-93 b(ital)410
-b(systems)f(should)g(ha)-31 b(v)-23 b(e)410 b(their)g(do)-39
-b(wntime)409 b(scheduled)-30 22425 y(f)-15 b(ar)350 b(in)f(adv)-39
-b(ance,)351 b(and)f(you)f(should)h(post)f(w)-15 b(arnings)349
-b(about)g(the)h(do)-39 b(wntime)349 b(in)h(an)-23 b(y)349
-b(appropriate)-30 24440 y(locations)387 b(used)g(for)g(system)g
-(noti\002cations)e(\(email,)j(b)-31 b(ulletin)386 b(board,)38250
-24440 y
-SDict begin H.S end
- 38250 24440 a 38250 24440 a
-SDict begin 18.2 H.A end
- 38250 24440 a 38250
-24440 a
-SDict begin [ /View [/XYZ H.V] /Dest (4341) cvn H.B /DEST pdfmark end
- 38250 24440 a FQ(/etc/motd)p FU(,)c(whate)-39
-b(v)-23 b(er\).)-30 25550 y
-SDict begin H.S end
- -30 25550 a -30 25550 a
-SDict begin 18.2 H.A end
- -30
-25550 a -30 25550 a
-SDict begin [ /View [/XYZ H.V] /Dest (4342) cvn H.B /DEST pdfmark end
- -30 25550 a 1679 x FU(Rebooting)386
-b(the)h(system)g(uses)g(the)g(same)g(command,)g(b)-31
-b(ut)387 b(substitutes)38854 27229 y
-SDict begin H.S end
- 38854 27229 a 38854
-27229 a
-SDict begin 18.2 H.A end
- 38854 27229 a 38854 27229 a
-SDict begin [ /View [/XYZ H.V] /Dest (4343) cvn H.B /DEST pdfmark end
- 38854 27229 a FU(\223)39542
-27229 y
-SDict begin H.S end
- 39542 27229 a 39542 27229 a
-SDict begin 18.2 H.A end
- 39542 27229 a 39542
-27229 a
-SDict begin [ /View [/XYZ H.V] /Dest (4344) cvn H.B /DEST pdfmark end
- 39542 27229 a FP(-r)p FU(\224)h(for)44300 27229
-y
-SDict begin H.S end
- 44300 27229 a 44300 27229 a
-SDict begin 18.2 H.A end
- 44300 27229 a 44300 27229
-a
-SDict begin [ /View [/XYZ H.V] /Dest (4345) cvn H.B /DEST pdfmark end
- 44300 27229 a FU(\223)44988 27229 y
-SDict begin H.S end
- 44988 27229 a 44988
-27229 a
-SDict begin 18.2 H.A end
- 44988 27229 a 44988 27229 a
-SDict begin [ /View [/XYZ H.V] /Dest (4346) cvn H.B /DEST pdfmark end
- 44988 27229 a FP(-h)p
-FU(\224:)-30 29114 y
-SDict begin H.S end
- -30 29114 a -30 29114 a
-SDict begin 14.56 H.A end
- -30 29114
-a -30 29114 a
-SDict begin [ /View [/XYZ H.V] /Dest (4347) cvn H.B /DEST pdfmark end
- -30 29114 a -30 29114 a
-SDict begin H.S end
- -30 29114 a -30
-29114 a
-SDict begin 14.56 H.A end
- -30 29114 a -30 29114 a
-SDict begin [ /View [/XYZ H.V] /Dest (4348) cvn H.B /DEST pdfmark end
- -30 29114 a 1277 x FJ(#)1309
-30391 y
-SDict begin H.S end
- 1309 30391 a 1309 30391 a
-SDict begin 14.56 H.A end
- 1309 30391 a 1309 30391
-a
-SDict begin [ /View [/XYZ H.V] /Dest (4349) cvn H.B /DEST pdfmark end
- 1309 30391 a FH(shutdown)743 b(-r)h(now)-30 31965 y
-SDict begin H.S end
-
--30 31965 a -30 31965 a
-SDict begin 18.2 H.A end
- -30 31965 a -30 31965 a
-SDict begin [ /View [/XYZ H.V] /Dest (4350) cvn H.B /DEST pdfmark end
- -30 31965
-a 1990 x FU(Y)-170 b(ou)527 b(can)h(use)f(same)h(time)f(notation)g
-(with)24155 33955 y
-SDict begin H.S end
- 24155 33955 a 24155 33955 a
-SDict begin 18.2 H.A end
- 24155
-33955 a 24155 33955 a
-SDict begin [ /View [/XYZ H.V] /Dest (4351) cvn H.B /DEST pdfmark end
- 24155 33955 a FP(shutdown)743 b(-r)528
-b FU(that)f(you)g(could)h(with)45825 33955 y
-SDict begin H.S end
- 45825 33955
-a 45825 33955 a
-SDict begin 18.2 H.A end
- 45825 33955 a 45825 33955 a
-SDict begin [ /View [/XYZ H.V] /Dest (4352) cvn H.B /DEST pdfmark end
- 45825 33955
-a FP(shutdown)-30 35970 y(-h)p FU(.)390 b(There)f(are)h(a)f(lot)g(of)h
-(other)f(things)f(that)h(you)g(can)h(do)f(with)34109
-35970 y
-SDict begin H.S end
- 34109 35970 a 34109 35970 a
-SDict begin 18.2 H.A end
- 34109 35970 a 34109
-35970 a
-SDict begin [ /View [/XYZ H.V] /Dest (4353) cvn H.B /DEST pdfmark end
- 34109 35970 a FP(shutdown)f FU(to)h(control)g(when)g(to)-30
-37984 y(halt)e(or)g(reboot)g(the)h(machine;)e(see)i(the)f(man)g(page)g
-(for)h(more)f(details.)-30 39095 y
-SDict begin H.S end
- -30 39095 a -30 39095
-a
-SDict begin 18.2 H.A end
- -30 39095 a -30 39095 a
-SDict begin [ /View [/XYZ H.V] /Dest (4354) cvn H.B /DEST pdfmark end
- -30 39095 a 1679 x FU(The)349
-b(second)f(w)-15 b(ay)349 b(of)f(shutting)g(do)-39 b(wn)349
-b(or)f(po)-39 b(wering)349 b(of)-39 b(f)349 b(the)g(computer)f(is)g(to)
-h(use)g(the)46993 40774 y
-SDict begin H.S end
- 46993 40774 a 46993 40774 a
-SDict begin 18.2 H.A end
-
-46993 40774 a 46993 40774 a
-SDict begin [ /View [/XYZ H.V] /Dest (4355) cvn H.B /DEST pdfmark end
- 46993 40774 a FP(halt)p FU(\(8\))-30
-42789 y(and)2751 42789 y
-SDict begin H.S end
- 2751 42789 a 2751 42789 a
-SDict begin 18.2 H.A end
- 2751
-42789 a 2751 42789 a
-SDict begin [ /View [/XYZ H.V] /Dest (4356) cvn H.B /DEST pdfmark end
- 2751 42789 a FP(reboot)p FU(\(8\))542
-b(commands.)g(As)h(the)g(names)f(indicate,)32250 42789
-y
-SDict begin H.S end
- 32250 42789 a 32250 42789 a
-SDict begin 18.2 H.A end
- 32250 42789 a 32250 42789
-a
-SDict begin [ /View [/XYZ H.V] /Dest (4357) cvn H.B /DEST pdfmark end
- 32250 42789 a FP(halt)h FU(will)f(immediately)g(halt)g(the)-30
-44803 y(operating)358 b(system,)f(and)13828 44803 y
-SDict begin H.S end
- 13828
-44803 a 13828 44803 a
-SDict begin 18.2 H.A end
- 13828 44803 a 13828 44803 a
-SDict begin [ /View [/XYZ H.V] /Dest (4358) cvn H.B /DEST pdfmark end
- 13828
-44803 a FP(reboot)g FU(will)h(reboot)g(the)f(system.)h(\()33555
-44803 y
-SDict begin H.S end
- 33555 44803 a 33555 44803 a
-SDict begin 18.2 H.A end
- 33555 44803 a 33555
-44803 a
-SDict begin [ /View [/XYZ H.V] /Dest (4359) cvn H.B /DEST pdfmark end
- 33555 44803 a FP(reboot)g FU(is)f(actually)h(just)f(a)h(sym-)
--30 46818 y(bolic)387 b(link)g(to)7849 46818 y
-SDict begin H.S end
- 7849 46818
-a 7849 46818 a
-SDict begin 18.2 H.A end
- 7849 46818 a 7849 46818 a
-SDict begin [ /View [/XYZ H.V] /Dest (4360) cvn H.B /DEST pdfmark end
- 7849 46818 a
-FP(halt)p FU(.\))g(The)-23 b(y)387 b(are)h(in)-62 b(v)-31
-b(ok)-15 b(ed)386 b(lik)-15 b(e)387 b(so:)-30 48703 y
-SDict begin H.S end
-
--30 48703 a -30 48703 a
-SDict begin 14.56 H.A end
- -30 48703 a -30 48703 a
-SDict begin [ /View [/XYZ H.V] /Dest (4361) cvn H.B /DEST pdfmark end
- -30 48703
-a -30 48703 a
-SDict begin H.S end
- -30 48703 a -30 48703 a
-SDict begin 14.56 H.A end
- -30 48703 a -30
-48703 a
-SDict begin [ /View [/XYZ H.V] /Dest (4362) cvn H.B /DEST pdfmark end
- -30 48703 a 1276 x FJ(#)1309 49979 y
-SDict begin H.S end
- 1309 49979
-a 1309 49979 a
-SDict begin 14.56 H.A end
- 1309 49979 a 1309 49979 a
-SDict begin [ /View [/XYZ H.V] /Dest (4363) cvn H.B /DEST pdfmark end
- 1309 49979 a
-FH(halt)-30 50004 y
-SDict begin H.S end
- -30 50004 a -30 50004 a
-SDict begin 14.56 H.A end
- -30 50004
-a -30 50004 a
-SDict begin [ /View [/XYZ H.V] /Dest (4364) cvn H.B /DEST pdfmark end
- -30 50004 a 1587 x FJ(#)1309 51591 y
-SDict begin H.S end
- 1309
-51591 a 1309 51591 a
-SDict begin 14.56 H.A end
- 1309 51591 a 1309 51591 a
-SDict begin [ /View [/XYZ H.V] /Dest (4365) cvn H.B /DEST pdfmark end
- 1309 51591
-a FH(reboot)-30 51616 y
-SDict begin H.S end
- -30 51616 a -30 51616 a
-SDict begin 18.2 H.A end
- -30 51616
-a -30 51616 a
-SDict begin [ /View [/XYZ H.V] /Dest (4366) cvn H.B /DEST pdfmark end
- -30 51616 a -30 51616 a
-SDict begin H.S end
- -30 51616 a -30
-51616 a
-SDict begin 18.2 H.A end
- -30 51616 a -30 51616 a
-SDict begin [ /View [/XYZ H.V] /Dest (4368) cvn H.B /DEST pdfmark end
- -30 51616 a -30 53166
-a
-SDict begin H.S end
- -30 53166 a -30 53166 a
-SDict begin 18.2 H.A end
- -30 53166 a -30 53166 a
-SDict begin [ /View [/XYZ H.V] /Dest (4370) cvn H.B /DEST pdfmark end
- -30
-53166 a 1990 x FU(A)447 b(lo)-39 b(wer)-31 b(-le)-39
-b(v)-23 b(el)447 b(w)-15 b(ay)446 b(to)g(reboot)h(or)g(shutdo)-39
-b(wn)446 b(the)h(system)f(is)g(to)h(talk)f(directly)h(to)45985
-55156 y
-SDict begin H.S end
- 45985 55156 a 45985 55156 a
-SDict begin 18.2 H.A end
- 45985 55156 a 45985
-55156 a
-SDict begin [ /View [/XYZ H.V] /Dest (4371) cvn H.B /DEST pdfmark end
- 45985 55156 a FP(init)p FU(.)g(All)-30 57170
-y(the)d(other)g(methods)g(are)g(simply)f(con)-62 b(v)-23
-b(enient)444 b(w)-15 b(ays)443 b(to)h(talk)g(to)35476
-57170 y
-SDict begin H.S end
- 35476 57170 a 35476 57170 a
-SDict begin 18.2 H.A end
- 35476 57170 a 35476
-57170 a
-SDict begin [ /View [/XYZ H.V] /Dest (4372) cvn H.B /DEST pdfmark end
- 35476 57170 a FP(init)p FU(,)g(b)-31 b(ut)444
-b(you)g(can)g(directly)-30 59185 y(tell)518 b(it)g(what)g(to)f(do)h
-(using)15048 59185 y
-SDict begin H.S end
- 15048 59185 a 15048 59185 a
-SDict begin 18.2 H.A end
- 15048
-59185 a 15048 59185 a
-SDict begin [ /View [/XYZ H.V] /Dest (4373) cvn H.B /DEST pdfmark end
- 15048 59185 a FP(telinit)p FU(\(8\))f(\(note)h
-(that)g(it)g(only)f(has)h(one)39120 59185 y
-SDict begin H.S end
- 39120 59185
-a 39120 59185 a
-SDict begin 18.2 H.A end
- 39120 59185 a 39120 59185 a
-SDict begin [ /View [/XYZ H.V] /Dest (4374) cvn H.B /DEST pdfmark end
- 39120 59185
-a FU(\223l\224\).)g(Using)46569 59185 y
-SDict begin H.S end
- 46569 59185 a
-46569 59185 a
-SDict begin 18.2 H.A end
- 46569 59185 a 46569 59185 a
-SDict begin [ /View [/XYZ H.V] /Dest (4375) cvn H.B /DEST pdfmark end
- 46569 59185
-a FP(telinit)-30 61200 y FU(will)397 b(tell)5158 61200
-y
-SDict begin H.S end
- 5158 61200 a 5158 61200 a
-SDict begin 18.2 H.A end
- 5158 61200 a 5158 61200 a
-SDict begin [ /View [/XYZ H.V] /Dest (4376) cvn H.B /DEST pdfmark end
-
-5158 61200 a FP(init)g FU(what)h(runle)-39 b(v)-23 b(el)397
-b(to)h(drop)f(into,)h(which)f(will)h(cause)f(a)h(special)g(script)f(to)
-h(be)g(run.)-30 63214 y(This)458 b(script)f(will)g(kill)h(or)g(spa)-23
-b(wn)457 b(processes)h(as)g(needed)g(for)g(that)f(runle)-39
-b(v)-23 b(el.)458 b(This)g(w)-15 b(orks)457 b(for)-30
-65229 y(rebooting)387 b(and)g(shutting)f(do)-39 b(wn)387
-b(because)h(both)f(of)g(those)g(are)g(special)g(runle)-39
-b(v)-23 b(els.)-30 67114 y
-SDict begin H.S end
- -30 67114 a -30 67114 a
-SDict begin 14.56 H.A end
- -30
-67114 a -30 67114 a
-SDict begin [ /View [/XYZ H.V] /Dest (4377) cvn H.B /DEST pdfmark end
- -30 67114 a -30 67114 a
-SDict begin H.S end
- -30 67114
-a -30 67114 a
-SDict begin 14.56 H.A end
- -30 67114 a -30 67114 a
-SDict begin [ /View [/XYZ H.V] /Dest (4378) cvn H.B /DEST pdfmark end
- -30 67114 a 1276
-x FJ(#)1309 68390 y
-SDict begin H.S end
- 1309 68390 a 1309 68390 a
-SDict begin 14.56 H.A end
- 1309 68390
-a 1309 68390 a
-SDict begin [ /View [/XYZ H.V] /Dest (4379) cvn H.B /DEST pdfmark end
- 1309 68390 a FH(telinit)743 b(0)p Black
--30 73792 a FR(154)p Black eop end
-%%Page: 155 177
-TeXDict begin 155 176 bop -8000 -8000 a
-SDict begin /product where{pop product(Distiller)search{pop pop pop
-version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
-closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
-grestore}if}{pop}ifelse}{pop}ifelse}if end
- -8000 -8000 a
-Black 0 TeXcolorgray -30 -1237 a
-SDict begin H.S end
- -30 -1237 a 0 TeXcolorgray
-0 TeXcolorgray -30 -1237 a
-SDict begin H.R end
- -30 -1237 a -30 -1237 a
-SDict begin [ /View [/XYZ H.V] /Dest (page.155) cvn H.B /DEST pdfmark
-end
- -30
--1237 a Black 24333 -1636 a FR(Chapter)387 b(12)g(Essential)f(System)h
-(Administr)-23 b(ation)p Black -30 2504 a
-SDict begin H.S end
- -30 2504 a
--30 2504 a
-SDict begin 18.2 H.A end
- -30 2504 a -30 2504 a
-SDict begin [ /View [/XYZ H.V] /Dest (4380) cvn H.B /DEST pdfmark end
- -30 2504 a 1107 x FU(Runle)-39
-b(v)-23 b(el)537 b(0)g(is)h(halt)f(mode.)g(T)-108 b(elling)21063
-3611 y
-SDict begin H.S end
- 21063 3611 a 21063 3611 a
-SDict begin 18.2 H.A end
- 21063 3611 a 21063 3611
-a
-SDict begin [ /View [/XYZ H.V] /Dest (4381) cvn H.B /DEST pdfmark end
- 21063 3611 a FP(init)537 b FU(to)g(enter)h(runle)-39
-b(v)-23 b(el)537 b(0)g(will)g(cause)h(all)f(processes)-30
-5626 y(to)440 b(be)g(killed)g(of)-39 b(f,)441 b(the)f(\002lesystems)f
-(unmounted,)g(and)i(the)f(machine)f(to)h(be)h(halted.)f(This)g(is)g(a)
--30 7640 y(perfectly)497 b(acceptable)f(w)-15 b(ay)496
-b(to)g(bring)h(do)-39 b(wn)496 b(the)g(system.)h(On)f(man)-23
-b(y)496 b(laptops)g(and)g(modern)-30 9655 y(desktop)387
-b(computers,)g(this)g(will)f(also)h(cause)h(the)f(machine)g(to)g(be)g
-(turned)g(of)-39 b(f.)-30 11540 y
-SDict begin H.S end
- -30 11540 a -30 11540
-a
-SDict begin 14.56 H.A end
- -30 11540 a -30 11540 a
-SDict begin [ /View [/XYZ H.V] /Dest (4382) cvn H.B /DEST pdfmark end
- -30 11540 a -30 11540 a
-SDict begin H.S end
- -30
-11540 a -30 11540 a
-SDict begin 14.56 H.A end
- -30 11540 a -30 11540 a
-SDict begin [ /View [/XYZ H.V] /Dest (4383) cvn H.B /DEST pdfmark end
- -30 11540
-a 1277 x FJ(#)1309 12817 y
-SDict begin H.S end
- 1309 12817 a 1309 12817 a
-SDict begin 14.56 H.A end
-
-1309 12817 a 1309 12817 a
-SDict begin [ /View [/XYZ H.V] /Dest (4384) cvn H.B /DEST pdfmark end
- 1309 12817 a FH(telinit)743
-b(6)-30 14391 y
-SDict begin H.S end
- -30 14391 a -30 14391 a
-SDict begin 18.2 H.A end
- -30 14391 a -30
-14391 a
-SDict begin [ /View [/XYZ H.V] /Dest (4385) cvn H.B /DEST pdfmark end
- -30 14391 a 1990 x FU(Runle)-39 b(v)-23 b(el)466
-b(6)h(is)f(reboot)h(mode.)g(All)f(processes)h(will)f(be)h(killed)f(of)
--39 b(f,)468 b(the)e(\002lesystems)g(will)g(be)-30 18396
-y(unmounted,)350 b(and)g(the)g(machine)g(will)g(be)g(rebooted.)g(This)g
-(is)g(a)g(perfectly)g(acceptable)h(method)-30 20410 y(of)387
-b(rebooting)g(the)g(system.)-30 21521 y
-SDict begin H.S end
- -30 21521 a -30
-21521 a
-SDict begin 18.2 H.A end
- -30 21521 a -30 21521 a
-SDict begin [ /View [/XYZ H.V] /Dest (4386) cvn H.B /DEST pdfmark end
- -30 21521 a 1679 x FU(F)-23
-b(or)596 b(the)h(curious,)g(when)g(switching)f(to)g(runle)-39
-b(v)-23 b(el)597 b(0)g(or)f(6,)i(whether)e(by)h(using)45437
-23200 y
-SDict begin H.S end
- 45437 23200 a 45437 23200 a
-SDict begin 18.2 H.A end
- 45437 23200 a 45437
-23200 a
-SDict begin [ /View [/XYZ H.V] /Dest (4387) cvn H.B /DEST pdfmark end
- 45437 23200 a FP(shutdown)p FU(,)-30 25215 y
-SDict begin H.S end
-
--30 25215 a -30 25215 a
-SDict begin 18.2 H.A end
- -30 25215 a -30 25215 a
-SDict begin [ /View [/XYZ H.V] /Dest (4388) cvn H.B /DEST pdfmark end
- -30 25215
-a FP(halt)p FU(,)324 b(or)5272 25215 y
-SDict begin H.S end
- 5272 25215 a 5272
-25215 a
-SDict begin 18.2 H.A end
- 5272 25215 a 5272 25215 a
-SDict begin [ /View [/XYZ H.V] /Dest (4389) cvn H.B /DEST pdfmark end
- 5272 25215 a FP(reboot)p
-FU(,)g(the)g(script)16432 25215 y
-SDict begin H.S end
- 16432 25215 a 16432
-25215 a
-SDict begin 18.2 H.A end
- 16432 25215 a 16432 25215 a
-SDict begin [ /View [/XYZ H.V] /Dest (4390) cvn H.B /DEST pdfmark end
- 16432 25215 a FQ(/etc/rc.d/rc.6)315
-b FU(is)324 b(run.)g(\(The)g(script)36677 25215 y
-SDict begin H.S end
- 36677
-25215 a 36677 25215 a
-SDict begin 18.2 H.A end
- 36677 25215 a 36677 25215 a
-SDict begin [ /View [/XYZ H.V] /Dest (4391) cvn H.B /DEST pdfmark end
- 36677
-25215 a FQ(/etc/rc.d/rc.0)316 b FU(is)323 b(another)-30
-27229 y(symbolic)445 b(link,)i(to)10997 27229 y
-SDict begin H.S end
- 10997
-27229 a 10997 27229 a
-SDict begin 18.2 H.A end
- 10997 27229 a 10997 27229 a
-SDict begin [ /View [/XYZ H.V] /Dest (4392) cvn H.B /DEST pdfmark end
- 10997
-27229 a FQ(/etc/rc.d/rc.6)p FU(.\))438 b(Y)-170 b(ou)446
-b(can)g(customize)g(this)g(\002le)g(to)g(your)g(tastes--b)-31
-b(ut)446 b(be)-30 29244 y(sure)387 b(to)h(test)e(your)i(changes)f
-(carefully!)-30 30354 y
-SDict begin H.S end
- -30 30354 a -30 30354 a
-SDict begin 18.2 H.A end
- -30 30354
-a -30 30354 a
-SDict begin [ /View [/XYZ H.V] /Dest (4393) cvn H.B /DEST pdfmark end
- -30 30354 a 1679 x FU(There)585 b(is)f(one)h(last)f
-(method)g(of)h(rebooting)e(the)i(system.)f(All)g(the)h(other)f(methods)
-g(require)-30 34048 y(you)483 b(to)g(be)h(logged)e(in)h(as)14579
-34048 y
-SDict begin H.S end
- 14579 34048 a 14579 34048 a
-SDict begin 18.2 H.A end
- 14579 34048 a 14579
-34048 a
-SDict begin [ /View [/XYZ H.V] /Dest (4394) cvn H.B /DEST pdfmark end
- 14579 34048 a FP(root)p FU(.)g(Ho)-39 b(we)g(v)-23
-b(er)-62 b(,)484 b(it)f(is)g(possible)g(to)g(reboot)g(the)g(machine)g
-(e)-39 b(v)-23 b(en)483 b(if)-30 36063 y(you)361 b(aren')-28
-b(t)362 b(root,)f(pro)-23 b(vided)361 b(that)g(you)g(ha)-31
-b(v)-23 b(e)362 b(ph)-8 b(ysical)361 b(access)g(to)g(the)h(k)-15
-b(e)-23 b(yboard.)361 b(Using)48504 36063 y
-SDict begin H.S end
- 48504 36063
-a 48504 36063 a
-SDict begin 18.2 H.A end
- 48504 36063 a 48504 36063 a
-SDict begin [ /View [/XYZ H.V] /Dest (4395) cvn H.B /DEST pdfmark end
- 48504 36063
-a 48504 36063 a
-SDict begin H.S end
- 48504 36063 a 48504 36063 a
-SDict begin 18.2 H.A end
- 48504 36063
-a 48504 36063 a
-SDict begin [ /View [/XYZ H.V] /Dest (4396) cvn H.B /DEST pdfmark end
- 48504 36063 a FX(Con-)-30 38077 y(tr)-28
-b(ol)p FU(+)3226 38077 y
-SDict begin H.S end
- 3226 38077 a 3226 38077 a
-SDict begin 18.2 H.A end
- 3226
-38077 a 3226 38077 a
-SDict begin [ /View [/XYZ H.V] /Dest (4397) cvn H.B /DEST pdfmark end
- 3226 38077 a FX(Alt)p FU(+)6166
-38077 y
-SDict begin H.S end
- 6166 38077 a 6166 38077 a
-SDict begin 18.2 H.A end
- 6166 38077 a 6166 38077
-a
-SDict begin [ /View [/XYZ H.V] /Dest (4398) cvn H.B /DEST pdfmark end
- 6166 38077 a FX(Delete)337 b FU(\(the)f("three-\002ngered)g
-(salute"\))h(will)f(cause)g(the)h(machine)f(to)g(immediately)-30
-40092 y(reboot.)429 b(\(Behind)e(the)h(scenes,)h(the)19672
-40092 y
-SDict begin H.S end
- 19672 40092 a 19672 40092 a
-SDict begin 18.2 H.A end
- 19672 40092 a 19672
-40092 a
-SDict begin [ /View [/XYZ H.V] /Dest (4399) cvn H.B /DEST pdfmark end
- 19672 40092 a FP(shutdown)f FU(command)f(is)h(called)g(for)h
-(you)f(when)g(you)g(use)-30 42107 y
-SDict begin H.S end
- -30 42107 a -30 42107
-a
-SDict begin 18.2 H.A end
- -30 42107 a -30 42107 a
-SDict begin [ /View [/XYZ H.V] /Dest (4400) cvn H.B /DEST pdfmark end
- -30 42107 a -30 42107 a
-SDict begin H.S end
- -30
-42107 a -30 42107 a
-SDict begin 18.2 H.A end
- -30 42107 a -30 42107 a
-SDict begin [ /View [/XYZ H.V] /Dest (4401) cvn H.B /DEST pdfmark end
- -30 42107
-a FX(Contr)-28 b(ol)p FU(+)5982 42107 y
-SDict begin H.S end
- 5982 42107 a
-5982 42107 a
-SDict begin 18.2 H.A end
- 5982 42107 a 5982 42107 a
-SDict begin [ /View [/XYZ H.V] /Dest (4402) cvn H.B /DEST pdfmark end
- 5982 42107 a FX(Alt)p
-FU(+)8922 42107 y
-SDict begin H.S end
- 8922 42107 a 8922 42107 a
-SDict begin 18.2 H.A end
- 8922 42107
-a 8922 42107 a
-SDict begin [ /View [/XYZ H.V] /Dest (4403) cvn H.B /DEST pdfmark end
- 8922 42107 a FX(Delete)p FU(.\))310 b(The)g(salute)f
-(doesn')-28 b(t)309 b(al)-15 b(w)g(ays)309 b(w)-15 b(ork)309
-b(when)h(using)f(X)h(W)-62 b(indo)-39 b(ws--you)-30 44121
-y(may)498 b(need)h(to)f(use)10830 44121 y
-SDict begin H.S end
- 10830 44121
-a 10830 44121 a
-SDict begin 18.2 H.A end
- 10830 44121 a 10830 44121 a
-SDict begin [ /View [/XYZ H.V] /Dest (4404) cvn H.B /DEST pdfmark end
- 10830 44121
-a 10830 44121 a
-SDict begin H.S end
- 10830 44121 a 10830 44121 a
-SDict begin 18.2 H.A end
- 10830 44121
-a 10830 44121 a
-SDict begin [ /View [/XYZ H.V] /Dest (4405) cvn H.B /DEST pdfmark end
- 10830 44121 a FX(Contr)-28 b(ol)p FU(+)16842
-44121 y
-SDict begin H.S end
- 16842 44121 a 16842 44121 a
-SDict begin 18.2 H.A end
- 16842 44121 a 16842
-44121 a
-SDict begin [ /View [/XYZ H.V] /Dest (4406) cvn H.B /DEST pdfmark end
- 16842 44121 a FX(Alt)p FU(+)19782 44121 y
-SDict begin H.S end
- 19782
-44121 a 19782 44121 a
-SDict begin 18.2 H.A end
- 19782 44121 a 19782 44121 a
-SDict begin [ /View [/XYZ H.V] /Dest (4407) cvn H.B /DEST pdfmark end
- 19782
-44121 a FX(F1)498 b FU(\(or)g(another)g(Function)g(k)-15
-b(e)-23 b(y\))497 b(to)i(switch)e(to)i(a)f(non-X)-30
-46136 y(W)-62 b(indo)-39 b(ws)387 b(terminal)g(before)g(using)g(it.)-30
-47246 y
-SDict begin H.S end
- -30 47246 a -30 47246 a
-SDict begin 18.2 H.A end
- -30 47246 a -30 47246
-a
-SDict begin [ /View [/XYZ H.V] /Dest (4408) cvn H.B /DEST pdfmark end
- -30 47246 a 1680 x FU(Finally)-101 b(,)441 b(the)g(\002le)f(that)h
-(ultimately)f(controls)g(e)-39 b(v)-23 b(ery)441 b(aspect)g(of)g
-(startup)f(and)h(shutdo)-39 b(wn)440 b(is)h(the)-30 50940
-y
-SDict begin H.S end
- -30 50940 a -30 50940 a
-SDict begin 18.2 H.A end
- -30 50940 a -30 50940 a
-SDict begin [ /View [/XYZ H.V] /Dest (4409) cvn H.B /DEST pdfmark end
- -30
-50940 a FQ(/etc/inittab)p FU(\(5\))474 b(\002le.)481
-b(In)h(general,)g(you)f(should)f(not)h(need)h(to)f(modify)g(this)g
-(\002le,)g(b)-31 b(ut)481 b(it)g(may)-30 52955 y(gi)-39
-b(v)-23 b(e)336 b(you)h(insight)e(into)h(wh)-8 b(y)337
-b(some)f(things)g(w)-15 b(ork)336 b(the)g(w)-15 b(ay)336
-b(the)-23 b(y)336 b(do.)h(As)f(al)-15 b(w)g(ays,)336
-b(see)h(the)f(man)-30 54970 y(pages)387 b(for)h(further)f(details.)p
-Black 49451 73792 a FR(155)p Black eop end
-%%Page: 156 178
-TeXDict begin 156 177 bop -8000 -8000 a
-SDict begin /product where{pop product(Distiller)search{pop pop pop
-version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
-closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
-grestore}if}{pop}ifelse}{pop}ifelse}if end
- -8000 -8000 a
-Black 0 TeXcolorgray -30 -1237 a
-SDict begin H.S end
- -30 -1237 a 0 TeXcolorgray
-0 TeXcolorgray -30 -1237 a
-SDict begin H.R end
- -30 -1237 a -30 -1237 a
-SDict begin [ /View [/XYZ H.V] /Dest (page.156) cvn H.B /DEST pdfmark
-end
- -30
--1237 a Black -399 x FR(Chapter)387 b(12)g(Essential)f(System)h
-(Administr)-23 b(ation)p Black Black -30 73792 a(156)p
-Black eop end
-%%Page: 157 179
-TeXDict begin 157 178 bop -8000 -8000 a
-SDict begin /product where{pop product(Distiller)search{pop pop pop
-version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
-closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
-grestore}if}{pop}ifelse}{pop}ifelse}if end
- -8000 -8000 a
-Black 0 TeXcolorgray -30 -1358 a
-SDict begin H.S end
- -30 -1358 a 0 TeXcolorgray
-0 TeXcolorgray -30 -1358 a
-SDict begin H.R end
- -30 -1358 a -30 -1358 a
-SDict begin [ /View [/XYZ H.V] /Dest (page.157) cvn H.B /DEST pdfmark
-end
- -30
--1358 a Black Black -30 2383 a
-SDict begin H.S end
- -30 2383 a -30 2383 a
-SDict begin 18.2 H.A end
-
--30 2383 a -30 2383 a
-SDict begin [ /View [/XYZ H.V] /Dest (BASIC-NETWORK-COMMANDS) cvn H.B
-/DEST pdfmark end
- -30 2383 a 2345 x FS(Chapter)894
-b(13)-30 10743 y FO(Basic)1286 b(Netw)-93 b(ork)-30 16759
-y(Commands)p -30 24332 51806 56 v -30 24332 a
-SDict begin H.S end
- -30 24332
-a -30 24332 a
-SDict begin 18.2 H.A end
- -30 24332 a -30 24332 a
-SDict begin [ /View [/XYZ H.V] /Dest (4412) cvn H.B /DEST pdfmark end
- -30 24332 a -30
-25107 a
-SDict begin H.S end
- -30 25107 a -30 25107 a
-SDict begin 18.2 H.A end
- -30 25107 a -30 25107
-a
-SDict begin [ /View [/XYZ H.V] /Dest (4414) cvn H.B /DEST pdfmark end
- -30 25107 a 1051 x FU(A)383 b(netw)-15 b(ork)383 b(consists)f(of)i
-(se)-39 b(v)-23 b(eral)383 b(computers)f(connected)h(together)-85
-b(.)383 b(The)h(netw)-15 b(ork)382 b(can)i(be)f(as)-30
-28172 y(simple)391 b(as)h(a)f(fe)-39 b(w)393 b(computers)d(connected)i
-(in)f(your)h(home)f(or)h(of)-39 b(\002ce,)392 b(or)g(as)f(complicated)g
-(as)h(a)-30 30187 y(lar)-28 b(ge)433 b(uni)-39 b(v)-23
-b(ersity)431 b(netw)-15 b(ork)431 b(or)i(e)-39 b(v)-23
-b(en)432 b(the)h(entire)f(Internet.)g(When)h(your)f(computer)f(is)i
-(part)f(of)-30 32202 y(a)420 b(netw)-15 b(ork,)418 b(you)h(ha)-31
-b(v)-23 b(e)419 b(access)h(to)f(those)g(systems)f(either)h(directly)g
-(or)g(through)g(services)g(lik)-15 b(e)-30 34216 y(mail)387
-b(and)g(the)g(web)-62 b(.)-30 35007 y
-SDict begin H.S end
- -30 35007 a -30
-35007 a
-SDict begin 18.2 H.A end
- -30 35007 a -30 35007 a
-SDict begin [ /View [/XYZ H.V] /Dest (4415) cvn H.B /DEST pdfmark end
- -30 35007 a 1999 x FU(There)492
-b(are)g(a)g(v)-39 b(ariety)492 b(of)g(netw)-15 b(orking)491
-b(programs)g(that)h(you)f(can)h(use.)h(Some)e(are)h(handy)g(for)-30
-39021 y(performing)520 b(diagnostics)g(to)g(see)h(if)g(e)-39
-b(v)-23 b(erything)520 b(is)g(w)-15 b(orking)520 b(properly)-101
-b(.)521 b(Others)f(\(lik)-15 b(e)520 b(mail)-30 41035
-y(readers)593 b(and)f(web)h(bro)-39 b(wsers\))592 b(are)h(useful)g(for)
-f(getting)g(your)g(w)-15 b(ork)592 b(done)h(and)f(staying)g(in)-30
-43050 y(contact)387 b(with)g(other)g(people.)-30 43386
-y
-SDict begin H.S end
- -30 43386 a -30 43386 a
-SDict begin 18.2 H.A end
- -30 43386 a -30 43386 a
-SDict begin [ /View [/XYZ H.V] /Dest (BASIC-NETWORK-COMMANDS-PING)
-cvn H.B /DEST pdfmark end
- -30
-43386 a 5789 x FL(13.1)620 b Fq(ping)-30 49671 y
-SDict begin H.S end
- -30
-49671 a -30 49671 a
-SDict begin 18.2 H.A end
- -30 49671 a -30 49671 a
-SDict begin [ /View [/XYZ H.V] /Dest (4419) cvn H.B /DEST pdfmark end
- -30 49671
-a -30 49671 a
-SDict begin H.S end
- -30 49671 a -30 49671 a
-SDict begin 18.2 H.A end
- -30 49671 a -30
-49671 a
-SDict begin [ /View [/XYZ H.V] /Dest (4421) cvn H.B /DEST pdfmark end
- -30 49671 a -30 50787 a
-SDict begin H.S end
- -30 50787 a -30 50787
-a
-SDict begin 18.2 H.A end
- -30 50787 a -30 50787 a
-SDict begin [ /View [/XYZ H.V] /Dest (4423) cvn H.B /DEST pdfmark end
- -30 50787 a -30 50787 a
-SDict begin H.S end
- -30
-50787 a -30 50787 a
-SDict begin 18.2 H.A end
- -30 50787 a -30 50787 a
-SDict begin [ /View [/XYZ H.V] /Dest (4424) cvn H.B /DEST pdfmark end
- -30 50787
-a 1518 x FP(ping)p FU(\(8\))504 b(sends)h(an)g(ICMP)15467
-52305 y
-SDict begin H.S end
- 15467 52305 a 15467 52305 a
-SDict begin 18.2 H.A end
- 15467 52305 a 15467
-52305 a
-SDict begin [ /View [/XYZ H.V] /Dest (4425) cvn H.B /DEST pdfmark end
- 15467 52305 a FP(ECHO_REQUEST)f FU(pack)-15 b(et)504
-b(to)g(the)h(speci\002ed)f(host.)h(If)g(the)f(host)h(re-)-30
-54320 y(sponds,)461 b(you)f(get)h(an)f(ICMP)g(pack)-15
-b(et)460 b(back.)h(Sound)f(strange?)h(W)-124 b(ell,)461
-b(you)f(can)43882 54320 y
-SDict begin H.S end
- 43882 54320 a 43882 54320 a
-SDict begin 18.2 H.A end
-
-43882 54320 a 43882 54320 a
-SDict begin [ /View [/XYZ H.V] /Dest (4426) cvn H.B /DEST pdfmark end
- 43882 54320 a FU(\223ping\224)g(an)h(IP)-30
-56334 y(address)435 b(to)h(see)g(if)f(a)h(machine)f(is)h(ali)-39
-b(v)-23 b(e.)436 b(If)g(there)f(is)h(no)f(response,)h(you)f(kno)-39
-b(w)436 b(something)e(is)-30 58349 y(wrong.)388 b(Here)f(is)g(an)h(e)
--23 b(xample)386 b(con)-62 b(v)-23 b(ersation)387 b(between)g(tw)-15
-b(o)386 b(Linux)h(users:)-30 58685 y
-SDict begin H.S end
- -30 58685 a -30
-58685 a
-SDict begin 18.2 H.A end
- -30 58685 a -30 58685 a
-SDict begin [ /View [/XYZ H.V] /Dest (4427) cvn H.B /DEST pdfmark end
- -30 58685 a -30 61009
-a
-SDict begin H.S end
- -30 61009 a -30 61009 a
-SDict begin 16.38 H.A end
- -30 61009 a -30 61009 a
-SDict begin [ /View [/XYZ H.V] /Dest (4428) cvn H.B /DEST pdfmark end
- -30
-61009 a -30 61009 a
-SDict begin H.S end
- -30 61009 a -30 61009 a
-SDict begin 16.38 H.A end
- -30 61009
-a -30 61009 a
-SDict begin [ /View [/XYZ H.V] /Dest (4429) cvn H.B /DEST pdfmark end
- -30 61009 a 1520 62487 a Fe(User)348 b(A)p
-FW(:)h(Loki')-77 b(s)349 b(do)-35 b(wn)350 b(ag)-7 b(ain.)-30
-62789 y
-SDict begin H.S end
- -30 62789 a -30 62789 a
-SDict begin 16.38 H.A end
- -30 62789 a -30 62789
-a
-SDict begin [ /View [/XYZ H.V] /Dest (4430) cvn H.B /DEST pdfmark end
- -30 62789 a 1520 64300 a Fe(User)348 b(B)p FW(:)h(Are)g(you)h(sure?)
--30 64602 y
-SDict begin H.S end
- -30 64602 a -30 64602 a
-SDict begin 16.38 H.A end
- -30 64602 a -30 64602
-a
-SDict begin [ /View [/XYZ H.V] /Dest (4431) cvn H.B /DEST pdfmark end
- -30 64602 a 1520 66113 a Fe(User)e(A)p FW(:)h(Y)-139
-b(eah,)348 b(I)i(tried)f(pinging)h(it,)e(b)-28 b(ut)349
-b(there')-77 b(s)350 b(no)g(response.)p Black -30 73672
-a
-SDict begin H.S end
- -30 73672 a -30 73672 a
-SDict begin 18.2 H.A end
- -30 73672 a -30 73672 a
-SDict begin [ /View [/XYZ H.V] /Dest (4432) cvn H.B /DEST pdfmark end
- -30
-73672 a 49394 74722 a FR(157)p Black eop end
-%%Page: 158 180
-TeXDict begin 158 179 bop -8000 -8000 a
-SDict begin /product where{pop product(Distiller)search{pop pop pop
-version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
-closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
-grestore}if}{pop}ifelse}{pop}ifelse}if end
- -8000 -8000 a
-Black 0 TeXcolorgray -30 -1358 a
-SDict begin H.S end
- -30 -1358 a 0 TeXcolorgray
-0 TeXcolorgray -30 -1358 a
-SDict begin H.R end
- -30 -1358 a -30 -1358 a
-SDict begin [ /View [/XYZ H.V] /Dest (page.158) cvn H.B /DEST pdfmark
-end
- -30
--1358 a Black -278 x FR(Chapter)387 b(13)g(Basic)g(Network)f(Commands)p
-Black -30 6280 a FU(It')-85 b(s)466 b(instances)f(lik)-15
-b(e)466 b(these)g(that)f(mak)-15 b(e)466 b FP(ping)g
-FU(a)g(v)-23 b(ery)466 b(useful)f(day-to-day)h(command.)g(It)g(pro-)-30
-8294 y(vides)410 b(a)g(v)-23 b(ery)410 b(quick)f(w)-15
-b(ay)410 b(to)g(see)g(if)g(a)g(machine)f(is)h(up)g(and)g(connected)g
-(to)g(the)f(netw)-15 b(ork.)410 b(The)-30 10309 y(basic)387
-b(syntax)g(is:)-30 12194 y
-SDict begin H.S end
- -30 12194 a -30 12194 a
-SDict begin 14.56 H.A end
- -30
-12194 a -30 12194 a
-SDict begin [ /View [/XYZ H.V] /Dest (4434) cvn H.B /DEST pdfmark end
- -30 12194 a -30 12194 a
-SDict begin H.S end
- -30 12194
-a -30 12194 a
-SDict begin 14.56 H.A end
- -30 12194 a -30 12194 a
-SDict begin [ /View [/XYZ H.V] /Dest (4435) cvn H.B /DEST pdfmark end
- -30 12194 a 1277
-x FJ(\045)1309 13471 y
-SDict begin H.S end
- 1309 13471 a 1309 13471 a
-SDict begin 14.56 H.A end
- 1309
-13471 a 1309 13471 a
-SDict begin [ /View [/XYZ H.V] /Dest (4436) cvn H.B /DEST pdfmark end
- 1309 13471 a FH(ping)743 b(www.slackware.com)-30
-15188 y
-SDict begin H.S end
- -30 15188 a -30 15188 a
-SDict begin 18.2 H.A end
- -30 15188 a -30 15188
-a
-SDict begin [ /View [/XYZ H.V] /Dest (4437) cvn H.B /DEST pdfmark end
- -30 15188 a 1847 x FU(There)474 b(are,)g(of)g(course,)g(se)-39
-b(v)-23 b(eral)473 b(options)g(that)g(can)h(be)g(speci\002ed.)f(Check)g
-(the)43851 17035 y
-SDict begin H.S end
- 43851 17035 a 43851 17035 a
-SDict begin 18.2 H.A end
- 43851
-17035 a 43851 17035 a
-SDict begin [ /View [/XYZ H.V] /Dest (4438) cvn H.B /DEST pdfmark end
- 43851 17035 a FP(ping)p FU(\(1\))g(man)-30
-19050 y(page)387 b(for)h(more)f(information.)-30 20160
-y
-SDict begin H.S end
- -30 20160 a -30 20160 a
-SDict begin 18.2 H.A end
- -30 20160 a -30 20160 a
-SDict begin [ /View [/XYZ H.V] /Dest (BASIC-NETWORK-COMMANDS-TRACEROUTE)
-cvn H.B /DEST pdfmark end
- -30
-20160 a 5789 x FL(13.2)620 b Fq(tracer)-45 b(oute)-30
-25977 y
-SDict begin H.S end
- -30 25977 a -30 25977 a
-SDict begin 18.2 H.A end
- -30 25977 a -30 25977
-a
-SDict begin [ /View [/XYZ H.V] /Dest (4442) cvn H.B /DEST pdfmark end
- -30 25977 a -30 25977 a
-SDict begin H.S end
- -30 25977 a -30 25977 a
-SDict begin 18.2 H.A end
- -30
-25977 a -30 25977 a
-SDict begin [ /View [/XYZ H.V] /Dest (4445) cvn H.B /DEST pdfmark end
- -30 25977 a -30 25977 a
-SDict begin H.S end
- -30 25977
-a -30 25977 a
-SDict begin 18.2 H.A end
- -30 25977 a -30 25977 a
-SDict begin [ /View [/XYZ H.V] /Dest (4448) cvn H.B /DEST pdfmark end
- -30 25977 a -30
-27093 a
-SDict begin H.S end
- -30 27093 a -30 27093 a
-SDict begin 18.2 H.A end
- -30 27093 a -30 27093
-a
-SDict begin [ /View [/XYZ H.V] /Dest (4450) cvn H.B /DEST pdfmark end
- -30 27093 a 1987 x FU(Slackw)-15 b(are')-85 b(s)8165
-29080 y
-SDict begin H.S end
- 8165 29080 a 8165 29080 a
-SDict begin 18.2 H.A end
- 8165 29080 a 8165 29080
-a
-SDict begin [ /View [/XYZ H.V] /Dest (4451) cvn H.B /DEST pdfmark end
- 8165 29080 a FP(traceroute)p FU(\(8\))722 b(command)f(is)h(a)h(v)-23
-b(ery)722 b(useful)g(netw)-15 b(ork)722 b(diagnostic)f(tool.)-30
-31094 y
-SDict begin H.S end
- -30 31094 a -30 31094 a
-SDict begin 18.2 H.A end
- -30 31094 a -30 31094
-a
-SDict begin [ /View [/XYZ H.V] /Dest (4452) cvn H.B /DEST pdfmark end
- -30 31094 a FP(traceroute)504 b FU(displays)h(each)h(host)f(that)g(a)
-g(pack)-15 b(et)505 b(tra)-31 b(v)-23 b(els)505 b(through)g(as)g(it)g
-(tries)g(to)h(reach)f(its)-30 33109 y(destination.)564
-b(Y)-170 b(ou)563 b(can)i(see)f(ho)-39 b(w)565 b(man)-23
-b(y)23224 33109 y
-SDict begin H.S end
- 23224 33109 a 23224 33109 a
-SDict begin 18.2 H.A end
- 23224 33109
-a 23224 33109 a
-SDict begin [ /View [/XYZ H.V] /Dest (4453) cvn H.B /DEST pdfmark end
- 23224 33109 a FU(\223hops\224)564 b(from)h(the)f
-(Slackw)-15 b(are)563 b(web)i(site)f(you)g(are)-30 35124
-y(with)387 b(this)g(command:)-30 36689 y
-SDict begin H.S end
- -30 36689 a
--30 36689 a
-SDict begin 14.56 H.A end
- -30 36689 a -30 36689 a
-SDict begin [ /View [/XYZ H.V] /Dest (4454) cvn H.B /DEST pdfmark end
- -30 36689 a -30 36689
-a
-SDict begin H.S end
- -30 36689 a -30 36689 a
-SDict begin 14.56 H.A end
- -30 36689 a -30 36689 a
-SDict begin [ /View [/XYZ H.V] /Dest (4455) cvn H.B /DEST pdfmark end
- -30
-36689 a 1596 x FJ(\045)1309 38285 y
-SDict begin H.S end
- 1309 38285 a 1309
-38285 a
-SDict begin 14.56 H.A end
- 1309 38285 a 1309 38285 a
-SDict begin [ /View [/XYZ H.V] /Dest (4456) cvn H.B /DEST pdfmark end
- 1309 38285 a FH(traceroute)743
-b(www.slackware.com)-30 39860 y
-SDict begin H.S end
- -30 39860 a -30 39860
-a
-SDict begin 18.2 H.A end
- -30 39860 a -30 39860 a
-SDict begin [ /View [/XYZ H.V] /Dest (4457) cvn H.B /DEST pdfmark end
- -30 39860 a 1990 x FU(Each)441
-b(host)f(will)g(be)h(displayed,)f(along)h(with)f(the)h(response)f
-(times)g(at)h(each)g(host.)f(Here)h(is)g(an)-30 43864
-y(e)-23 b(xample)387 b(output:)-30 45749 y
-SDict begin H.S end
- -30 45749
-a -30 45749 a
-SDict begin 12.972 H.A end
- -30 45749 a -30 45749 a
-SDict begin [ /View [/XYZ H.V] /Dest (4458) cvn H.B /DEST pdfmark end
- -30 45749 a -30
-45749 a
-SDict begin H.S end
- -30 45749 a -30 45749 a
-SDict begin 12.972 H.A end
- -30 45749 a -30 45749
-a
-SDict begin [ /View [/XYZ H.V] /Dest (4459) cvn H.B /DEST pdfmark end
- -30 45749 a 1101 x Fj(\045)1163 46850 y
-SDict begin H.S end
- 1163 46850
-a 1163 46850 a
-SDict begin 12.972 H.A end
- 1163 46850 a 1163 46850 a
-SDict begin [ /View [/XYZ H.V] /Dest (4460) cvn H.B /DEST pdfmark end
- 1163 46850 a
-Fi(traceroute)660 b(www.slackware.com)-30 48286 y Fh(traceroute)g(to)i
-(www.slackware.com)c(\(204.216.27.13\),)g(30)k(hops)g(max,)f(40)i(byte)
-e(packets)-30 49722 y(1)1325 b(zuul.tdn)661 b(\(192.168.1.1\))1321
-b(0.409)662 b(ms)1325 b(1.032)661 b(ms)1325 b(0.303)661
-b(ms)-30 51158 y(2)1325 b(207.171.227.254)659 b(\(207.171.227.254\))
-1320 b(18.218)661 b(ms)1325 b(32.873)661 b(ms)1325 b(32.433)661
-b(ms)-30 52594 y(3)1325 b(border-sf-2-0-4.sirius.com)656
-b(\(205.134.230.254\))h(15.662)k(ms)i(15.731)e(ms)h(16.142)f(ms)-30
-54030 y(4)1325 b(pb-nap.crl.net)659 b(\(198.32.128.20\))1321
-b(20.741)661 b(ms)1325 b(23.672)661 b(ms)1325 b(21.378)661
-b(ms)-30 55466 y(5)1325 b(E0-CRL-SFO-03-E0X0.US.CRL.NET)655
-b(\(165.113.55.3\))j(22.293)j(ms)i(21.532)e(ms)h(21.29)f(ms)-30
-56902 y(6)1325 b(T1-CDROM-00-EX.US.CRL.NET)656 b(\(165.113.118.2\))1321
-b(24.544)661 b(ms)1325 b(42.955)661 b(ms)h(58.443)f(ms)-30
-58337 y(7)1325 b(www.slackware.com)658 b(\(204.216.27.13\))1321
-b(38.115)661 b(ms)1325 b(53.033)661 b(ms)1325 b(48.328)661
-b(ms)-30 60016 y
-SDict begin H.S end
- -30 60016 a -30 60016 a
-SDict begin 18.2 H.A end
- -30 60016 a
--30 60016 a
-SDict begin [ /View [/XYZ H.V] /Dest (4461) cvn H.B /DEST pdfmark end
- -30 60016 a -30 60016 a
-SDict begin H.S end
- -30 60016 a -30 60016
-a
-SDict begin 18.2 H.A end
- -30 60016 a -30 60016 a
-SDict begin [ /View [/XYZ H.V] /Dest (4462) cvn H.B /DEST pdfmark end
- -30 60016 a 1886 x FP(traceroute)326
-b FU(is)h(similar)f(to)15262 61902 y
-SDict begin H.S end
- 15262 61902 a 15262
-61902 a
-SDict begin 18.2 H.A end
- 15262 61902 a 15262 61902 a
-SDict begin [ /View [/XYZ H.V] /Dest (4463) cvn H.B /DEST pdfmark end
- 15262 61902 a FP(ping)h
-FU(in)g(that)g(it)f(uses)h(ICMP)f(pack)-15 b(ets.)327
-b(There)g(are)h(se)-39 b(v)-23 b(eral)327 b(options)-30
-63917 y(that)464 b(you)h(can)f(specify)h(with)16325 63917
-y
-SDict begin H.S end
- 16325 63917 a 16325 63917 a
-SDict begin 18.2 H.A end
- 16325 63917 a 16325 63917
-a
-SDict begin [ /View [/XYZ H.V] /Dest (4464) cvn H.B /DEST pdfmark end
- 16325 63917 a FP(traceroute)p FU(.)f(These)g(options)g(are)g(e)-23
-b(xplained)464 b(in)h(detail)f(in)g(the)-30 65931 y(man)387
-b(page.)-30 67042 y
-SDict begin H.S end
- -30 67042 a -30 67042 a
-SDict begin 18.2 H.A end
- -30 67042
-a -30 67042 a
-SDict begin [ /View [/XYZ H.V] /Dest (BASIC-NETWORK-COMMANDS-DNS) cvn
-H.B /DEST pdfmark end
- -30 67042 a Black 6630 x FR(158)p Black
-eop end
-%%Page: 159 181
-TeXDict begin 159 180 bop -8000 -8000 a
-SDict begin /product where{pop product(Distiller)search{pop pop pop
-version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
-closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
-grestore}if}{pop}ifelse}{pop}ifelse}if end
- -8000 -8000 a
-Black 0 TeXcolorgray -30 -1237 a
-SDict begin H.S end
- -30 -1237 a 0 TeXcolorgray
-0 TeXcolorgray -30 -1237 a
-SDict begin H.R end
- -30 -1237 a -30 -1237 a
-SDict begin [ /View [/XYZ H.V] /Dest (page.159) cvn H.B /DEST pdfmark
-end
- -30
--1237 a Black 27927 -1636 a FR(Chapter)386 b(13)i(Basic)f(Network)f
-(Commands)p Black -30 4132 a FL(13.3)620 b(DNS)h(T)-179
-b(ools)-30 4160 y
-SDict begin H.S end
- -30 4160 a -30 4160 a
-SDict begin 18.2 H.A end
- -30 4160 a -30
-4160 a
-SDict begin [ /View [/XYZ H.V] /Dest (4467) cvn H.B /DEST pdfmark end
- -30 4160 a -30 4160 a
-SDict begin H.S end
- -30 4160 a -30 4160 a
-SDict begin 18.2 H.A end
- -30
-4160 a -30 4160 a
-SDict begin [ /View [/XYZ H.V] /Dest (4470) cvn H.B /DEST pdfmark end
- -30 4160 a -30 5276 a
-SDict begin H.S end
- -30 5276 a -30
-5276 a
-SDict begin 18.2 H.A end
- -30 5276 a -30 5276 a
-SDict begin [ /View [/XYZ H.V] /Dest (4472) cvn H.B /DEST pdfmark end
- -30 5276 a 1987 x FU(Domain)878
-b(Name)g(Service)g(\(DNS)g(for)h(short\))f(is)g(that)g(magical)g
-(protocol)g(that)g(allo)-39 b(ws)-30 9277 y(your)994
-b(computer)f(to)g(turn)g(meaningless)g(domain)g(names)g(lik)-15
-b(e)993 b(www)-101 b(.slackw)-15 b(are.com)-30 11292
-y(into)720 b(meaningful)f(IP)h(address)g(lik)-15 b(e)21376
-11292 y
-SDict begin H.S end
- 21376 11292 a 21376 11292 a
-SDict begin 18.2 H.A end
- 21376 11292 a 21376
-11292 a
-SDict begin [ /View [/XYZ H.V] /Dest (4473) cvn H.B /DEST pdfmark end
- 21376 11292 a 0 1 0 0 TeXcolorcmyk 21376 11292
-a
-SDict begin H.S end
- 21376 11292 a 0 1 0 0 TeXcolorcmyk FQ(64.57.102.34)p
-0 1 0 0 TeXcolorcmyk 28893 10551 a
-SDict begin H.R end
- 28893 10551 a 28893
-11292 a
-SDict begin [ /H /I /Border [0 0 0] /Color [0 1 1] /Action << /Subtype
-/URI /URI (64.57.102.34) >> /Subtype /Link H.B /ANN pdfmark end
- 28893 11292 a Black FU(.)720 b(Computers)f(can')-28
-b(t)721 b(route)f(pack)-15 b(ets)719 b(to)-30 13307 y(www)-101
-b(.slackw)-15 b(are.com,)454 b(b)-31 b(ut)454 b(the)-23
-b(y)453 b(can)h(route)g(pack)-15 b(ets)453 b(to)g(that)h(domain)f
-(name')-85 b(s)453 b(IP)h(address.)-30 15321 y(This)562
-b(gi)-39 b(v)-23 b(es)563 b(us)g(a)g(con)-62 b(v)-23
-b(enient)561 b(w)-15 b(ay)563 b(to)f(remember)h(machines.)g(W)-62
-b(ithout)562 b(DNS)g(we')-77 b(d)562 b(ha)-31 b(v)-23
-b(e)-30 17336 y(to)530 b(k)-15 b(eep)530 b(a)g(mental)g(database)f(of)i
-(just)e(what)h(IP)g(address)g(belongs)f(to)h(what)g(computer)-62
-b(,)530 b(and)-30 19351 y(that')-85 b(s)474 b(assuming)f(the)h(IP)h
-(address)f(doesn')-28 b(t)474 b(change.)h(Clearly)e(using)h(names)g
-(for)h(computers)-30 21365 y(is)387 b(better)-62 b(,)388
-b(b)-31 b(ut)387 b(ho)-39 b(w)387 b(do)g(we)h(map)f(names)g(to)g(IP)g
-(addresses?)-30 21701 y
-SDict begin H.S end
- -30 21701 a -30 21701 a
-SDict begin 18.2 H.A end
- -30 21701
-a -30 21701 a
-SDict begin [ /View [/XYZ H.V] /Dest (4474) cvn H.B /DEST pdfmark end
- -30 21701 a 5026 x FF(host)-30 26750 y
-SDict begin H.S end
-
--30 26750 a -30 26750 a
-SDict begin 18.2 H.A end
- -30 26750 a -30 26750 a
-SDict begin [ /View [/XYZ H.V] /Dest (4477) cvn H.B /DEST pdfmark end
- -30 26750
-a -30 27680 a
-SDict begin H.S end
- -30 27680 a -30 27680 a
-SDict begin 18.2 H.A end
- -30 27680 a -30
-27680 a
-SDict begin [ /View [/XYZ H.V] /Dest (4479) cvn H.B /DEST pdfmark end
- -30 27680 a -30 27680 a
-SDict begin H.S end
- -30 27680 a -30 27680
-a
-SDict begin 18.2 H.A end
- -30 27680 a -30 27680 a
-SDict begin [ /View [/XYZ H.V] /Dest (4480) cvn H.B /DEST pdfmark end
- -30 27680 a 1992 x FP(host)p
-FU(\(1\))473 b(can)g(do)g(this)g(for)g(us.)17104 29672
-y
-SDict begin H.S end
- 17104 29672 a 17104 29672 a
-SDict begin 18.2 H.A end
- 17104 29672 a 17104 29672
-a
-SDict begin [ /View [/XYZ H.V] /Dest (4481) cvn H.B /DEST pdfmark end
- 17104 29672 a FP(host)g FU(is)g(used)g(to)g(map)g(names)g(to)g(IP)g
-(addresses.)g(It)g(is)g(a)g(v)-23 b(ery)-30 31687 y(quick)387
-b(and)g(simple)g(utility)f(without)g(a)i(lot)f(of)g(functions.)-30
-33572 y
-SDict begin H.S end
- -30 33572 a -30 33572 a
-SDict begin 14.56 H.A end
- -30 33572 a -30 33572
-a
-SDict begin [ /View [/XYZ H.V] /Dest (4482) cvn H.B /DEST pdfmark end
- -30 33572 a -30 33572 a
-SDict begin H.S end
- -30 33572 a -30 33572 a
-SDict begin 14.56 H.A end
- -30
-33572 a -30 33572 a
-SDict begin [ /View [/XYZ H.V] /Dest (4483) cvn H.B /DEST pdfmark end
- -30 33572 a 1276 x FJ(\045)1309 34848
-y
-SDict begin H.S end
- 1309 34848 a 1309 34848 a
-SDict begin 14.56 H.A end
- 1309 34848 a 1309 34848 a
-SDict begin [ /View [/XYZ H.V] /Dest (4484) cvn H.B /DEST pdfmark end
-
-1309 34848 a FH(host)743 b(www.slackware.com)-30 36460
-y FP(www.slackware.com)f(is)i(an)f(alias)g(for)h(slackware.com.)-30
-38072 y(slackware.com)e(has)i(address)f(64.57.102.34)-30
-39647 y
-SDict begin H.S end
- -30 39647 a -30 39647 a
-SDict begin 18.2 H.A end
- -30 39647 a -30 39647
-a
-SDict begin [ /View [/XYZ H.V] /Dest (4485) cvn H.B /DEST pdfmark end
- -30 39647 a 1989 x FU(But)369 b(let')-85 b(s)369 b(say)h(for)f(some)g
-(reason)h(we)f(w)-15 b(ant)369 b(to)h(map)f(an)g(IP)h(address)f(to)g(a)
-h(domain)f(name;)g(what)-30 43651 y(then?)-30 44441 y
-SDict begin H.S end
-
--30 44441 a -30 44441 a
-SDict begin 18.2 H.A end
- -30 44441 a -30 44441 a
-SDict begin [ /View [/XYZ H.V] /Dest (4486) cvn H.B /DEST pdfmark end
- -30 44441
-a 5502 x FF(nslookup)-30 51257 y
-SDict begin H.S end
- -30 51257 a -30 51257
-a
-SDict begin 18.2 H.A end
- -30 51257 a -30 51257 a
-SDict begin [ /View [/XYZ H.V] /Dest (4489) cvn H.B /DEST pdfmark end
- -30 51257 a -30 51257 a
-SDict begin H.S end
- -30
-51257 a -30 51257 a
-SDict begin 18.2 H.A end
- -30 51257 a -30 51257 a
-SDict begin [ /View [/XYZ H.V] /Dest (4490) cvn H.B /DEST pdfmark end
- -30 51257
-a 1630 x FP(nslookup)332 b FU(is)g(a)h(tried)f(and)h(true)g(program)f
-(that)g(has)h(weathered)f(the)h(ages.)40168 52887 y
-SDict begin H.S end
- 40168
-52887 a 40168 52887 a
-SDict begin 18.2 H.A end
- 40168 52887 a 40168 52887 a
-SDict begin [ /View [/XYZ H.V] /Dest (4491) cvn H.B /DEST pdfmark end
- 40168
-52887 a FP(nslookup)e FU(has)i(been)-30 54902 y(deprecated)398
-b(and)f(may)h(be)f(remo)-23 b(v)g(ed)397 b(from)g(future)h(releases.)g
-(There)g(is)f(not)g(e)-39 b(v)-23 b(en)398 b(a)g(man)f(page)-30
-56916 y(for)388 b(this)e(program.)-30 58802 y
-SDict begin H.S end
- -30 58802
-a -30 58802 a
-SDict begin 12.972 H.A end
- -30 58802 a -30 58802 a
-SDict begin [ /View [/XYZ H.V] /Dest (4492) cvn H.B /DEST pdfmark end
- -30 58802 a -30
-58802 a
-SDict begin H.S end
- -30 58802 a -30 58802 a
-SDict begin 12.972 H.A end
- -30 58802 a -30 58802
-a
-SDict begin [ /View [/XYZ H.V] /Dest (4493) cvn H.B /DEST pdfmark end
- -30 58802 a 1100 x Fj(\045)1163 59902 y
-SDict begin H.S end
- 1163 59902
-a 1163 59902 a
-SDict begin 12.972 H.A end
- 1163 59902 a 1163 59902 a
-SDict begin [ /View [/XYZ H.V] /Dest (4494) cvn H.B /DEST pdfmark end
- 1163 59902 a
-Fi(nslookup)660 b(64.57.102.34)-30 61338 y Fh(Note:)1324
-b(nslookup)661 b(is)h(deprecated)e(and)h(may)h(be)g(removed)f(from)h
-(future)f(releases.)-30 62774 y(Consider)g(using)g(the)h(`dig')f(or)h
-(`host')f(programs)g(instead.)1323 b(Run)662 b(nslookup)e(with)-30
-64210 y(the)i(`-sil[ent]')e(option)h(to)h(prevent)e(this)i(message)f
-(from)g(appearing.)-30 65646 y(Server:)5963 b(192.168.1.254)-30
-67082 y(Address:)5300 b(192.168.1.254#53)p Black 49451
-73792 a FR(159)p Black eop end
-%%Page: 160 182
-TeXDict begin 160 181 bop -8000 -8000 a
-SDict begin /product where{pop product(Distiller)search{pop pop pop
-version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
-closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
-grestore}if}{pop}ifelse}{pop}ifelse}if end
- -8000 -8000 a
-Black 0 TeXcolorgray -30 -1237 a
-SDict begin H.S end
- -30 -1237 a 0 TeXcolorgray
-0 TeXcolorgray -30 -1237 a
-SDict begin H.R end
- -30 -1237 a -30 -1237 a
-SDict begin [ /View [/XYZ H.V] /Dest (page.160) cvn H.B /DEST pdfmark
-end
- -30
--1237 a Black -399 x FR(Chapter)387 b(13)g(Basic)g(Network)f(Commands)p
-Black -30 5047 a Fh(Non-authoritative)658 b(answer:)-30
-6483 y(www.slackware.com)4634 b(canonical)660 b(name)i(=)g
-(slackware.com.)-30 7919 y(Name:)1987 b(slackware.com)-30
-9355 y(Address:)661 b(64.57.102.34)-30 10928 y
-SDict begin H.S end
- -30 10928
-a -30 10928 a
-SDict begin 18.2 H.A end
- -30 10928 a -30 10928 a
-SDict begin [ /View [/XYZ H.V] /Dest (4495) cvn H.B /DEST pdfmark end
- -30 10928 a 5494
-x FF(dig)-30 16836 y
-SDict begin H.S end
- -30 16836 a -30 16836 a
-SDict begin 18.2 H.A end
- -30 16836
-a -30 16836 a
-SDict begin [ /View [/XYZ H.V] /Dest (4498) cvn H.B /DEST pdfmark end
- -30 16836 a -30 17765 a
-SDict begin H.S end
- -30 17765 a -30
-17765 a
-SDict begin 18.2 H.A end
- -30 17765 a -30 17765 a
-SDict begin [ /View [/XYZ H.V] /Dest (4501) cvn H.B /DEST pdfmark end
- -30 17765 a 1601 x FU(The)296
-b(meanest)f(dog)g(in)h(the)f(pound,)h(the)f(domain)g(information)g
-(groper)-62 b(,)38333 19366 y
-SDict begin H.S end
- 38333 19366 a 38333 19366
-a
-SDict begin 18.2 H.A end
- 38333 19366 a 38333 19366 a
-SDict begin [ /View [/XYZ H.V] /Dest (4502) cvn H.B /DEST pdfmark end
- 38333 19366 a FP(dig)p
-FU(\(1\))295 b(for)h(short,)g(is)f(the)-30 21381 y(go-to)335
-b(program)g(for)g(\002nding)f(DNS)h(information.)27508
-21381 y
-SDict begin H.S end
- 27508 21381 a 27508 21381 a
-SDict begin 18.2 H.A end
- 27508 21381 a 27508
-21381 a
-SDict begin [ /View [/XYZ H.V] /Dest (4503) cvn H.B /DEST pdfmark end
- 27508 21381 a FP(dig)g FU(can)g(grab)g(just)g(about)g(an)-23
-b(ything)334 b(from)h(a)-30 23396 y(DNS)391 b(serv)-23
-b(er)390 b(including)g(re)-39 b(v)-23 b(erse)391 b(lookups,)g(A,)g(CN)
--54 b(AME,)391 b(MX,)g(SP)-172 b(,)390 b(and)h(TXT)g(records.)49544
-23396 y
-SDict begin H.S end
- 49544 23396 a 49544 23396 a
-SDict begin 18.2 H.A end
- 49544 23396 a 49544
-23396 a
-SDict begin [ /View [/XYZ H.V] /Dest (4504) cvn H.B /DEST pdfmark end
- 49544 23396 a FP(dig)-30 25410 y FU(has)468 b(man)-23
-b(y)467 b(command)h(line)f(options)g(and)h(if)g(you')-77
-b(re)468 b(not)f(f)-15 b(amiliar)467 b(with)h(it)g(you)g(should)f(read)
--30 27425 y(through)387 b(it')-85 b(s)387 b(e)-23 b(xtensi)-39
-b(v)-23 b(e)386 b(man)h(page.)-30 29310 y
-SDict begin H.S end
- -30 29310 a
--30 29310 a
-SDict begin 12.972 H.A end
- -30 29310 a -30 29310 a
-SDict begin [ /View [/XYZ H.V] /Dest (4505) cvn H.B /DEST pdfmark end
- -30 29310 a -30 29310
-a
-SDict begin H.S end
- -30 29310 a -30 29310 a
-SDict begin 12.972 H.A end
- -30 29310 a -30 29310 a
-SDict begin [ /View [/XYZ H.V] /Dest (4506) cvn H.B /DEST pdfmark end
- -30
-29310 a 1101 x Fj(\045)1163 30411 y
-SDict begin H.S end
- 1163 30411 a 1163
-30411 a
-SDict begin 12.972 H.A end
- 1163 30411 a 1163 30411 a
-SDict begin [ /View [/XYZ H.V] /Dest (4507) cvn H.B /DEST pdfmark end
- 1163 30411 a Fi(dig)662
-b(@192.168.1.254)d(www.slackware.com)e(mx)-30 33283 y
-Fh(;)663 b Fd(<<)p Fh(>>)f(DiG)f(9.2.2)h Fd(<<)p Fh(>>)g
-(@192.168.1.254)d(www.slackware.com)e(mx)-30 34718 y(;;)662
-b(global)f(options:)1323 b(printcmd)-30 36154 y(;;)662
-b(Got)g(answer:)-30 37590 y(;;)g(->>HEADER)p Fd(<<)p
-Fh(-)e(opcode:)h(QUERY,)g(status:)g(NOERROR,)f(id:)i(26362)-30
-39026 y(;;)g(flags:)f(qr)h(rd)h(ra;)e(QUERY:)g(1,)i(ANSWER:)d(2,)i
-(AUTHORITY:)e(2,)i(ADDITIONAL:)e(2)-30 41898 y(;;)i(QUESTION)f
-(SECTION:)-30 43334 y(;www.slackware.com.)8610 b(IN)3976
-b(MX)-30 46206 y(;;)662 b(ANSWER)f(SECTION:)-30 47642
-y(www.slackware.com.)3971 b(76634)1987 b(IN)3976 b(CNAME)1986
-b(slackware.com.)-30 49078 y(slackware.com.)6623 b(86400)1987
-b(IN)3976 b(MX)f(1)663 b(mail.slackware.com.)-30 51950
-y(;;)f(AUTHORITY)e(SECTION:)-30 53386 y(slackware.com.)6623
-b(86400)1987 b(IN)3976 b(NS)f(ns1.cwo.com.)-30 54822
-y(slackware.com.)6623 b(86400)1987 b(IN)3976 b(NS)f(ns2.cwo.com.)-30
-57694 y(;;)662 b(ADDITIONAL)e(SECTION:)-30 59130 y(ns1.cwo.com.)7949
-b(163033)1324 b(IN)3976 b(A)4638 b(64.57.100.2)-30 60566
-y(ns2.cwo.com.)7949 b(163033)1324 b(IN)3976 b(A)4638
-b(64.57.100.3)-30 63437 y(;;)662 b(Query)g(time:)f(149)h(msec)-30
-64873 y(;;)g(SERVER:)f(192.168.1.254#53\(192.168.1.254\))-30
-66309 y(;;)h(WHEN:)g(Sat)f(Nov)1325 b(6)662 b(16:59:31)f(2004)-30
-67745 y(;;)h(MSG)g(SIZE)1324 b(rcvd:)662 b(159)p Black
--30 73792 a FR(160)p Black eop end
-%%Page: 161 183
-TeXDict begin 161 182 bop -8000 -8000 a
-SDict begin /product where{pop product(Distiller)search{pop pop pop
-version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
-closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
-grestore}if}{pop}ifelse}{pop}ifelse}if end
- -8000 -8000 a
-Black 0 TeXcolorgray -30 -1237 a
-SDict begin H.S end
- -30 -1237 a 0 TeXcolorgray
-0 TeXcolorgray -30 -1237 a
-SDict begin H.R end
- -30 -1237 a -30 -1237 a
-SDict begin [ /View [/XYZ H.V] /Dest (page.161) cvn H.B /DEST pdfmark
-end
- -30
--1237 a Black 27927 -1636 a FR(Chapter)386 b(13)i(Basic)f(Network)f
-(Commands)p Black -30 2504 a
-SDict begin H.S end
- -30 2504 a -30 2504 a
-SDict begin 18.2 H.A end
- -30
-2504 a -30 2504 a
-SDict begin [ /View [/XYZ H.V] /Dest (4508) cvn H.B /DEST pdfmark end
- -30 2504 a 1107 x FU(This)485 b(should)f(gi)-39
-b(v)-23 b(e)485 b(you)g(an)g(idea)g(ho)-39 b(w)21861
-3611 y
-SDict begin H.S end
- 21861 3611 a 21861 3611 a
-SDict begin 18.2 H.A end
- 21861 3611 a 21861 3611
-a
-SDict begin [ /View [/XYZ H.V] /Dest (4509) cvn H.B /DEST pdfmark end
- 21861 3611 a FP(dig)485 b FU(w)-15 b(orks.)29222 3611
-y
-SDict begin H.S end
- 29222 3611 a 29222 3611 a
-SDict begin 18.2 H.A end
- 29222 3611 a 29222 3611 a
-SDict begin [ /View [/XYZ H.V] /Dest (4510) cvn H.B /DEST pdfmark end
-
-29222 3611 a FU(\223@192.168.1.254\224)486 b(speci\002es)e(the)h(dns)
--30 5626 y(serv)-23 b(er)401 b(to)h(use.)8597 5626 y
-SDict begin H.S end
-
-8597 5626 a 8597 5626 a
-SDict begin 18.2 H.A end
- 8597 5626 a 8597 5626 a
-SDict begin [ /View [/XYZ H.V] /Dest (4511) cvn H.B /DEST pdfmark end
- 8597
-5626 a FU(\223www)-101 b(.slackw)-15 b(are.com\224)401
-b(is)h(the)f(domain)g(name)g(I)h(am)f(performing)g(a)h(lookup)-30
-7640 y(on,)433 b(and)5010 7640 y
-SDict begin H.S end
- 5010 7640 a 5010 7640
-a
-SDict begin 18.2 H.A end
- 5010 7640 a 5010 7640 a
-SDict begin [ /View [/XYZ H.V] /Dest (4512) cvn H.B /DEST pdfmark end
- 5010 7640 a FU(\223mx\224)f(is)g(the)g(type)g
-(of)g(lookup)g(I)g(am)g(performing.)g(The)h(abo)-23 b(v)g(e)431
-b(query)h(tells)g(me)g(that)-30 9655 y(e-mail)387 b(to)5910
-9655 y
-SDict begin H.S end
- 5910 9655 a 5910 9655 a
-SDict begin 18.2 H.A end
- 5910 9655 a 5910 9655
-a
-SDict begin [ /View [/XYZ H.V] /Dest (4513) cvn H.B /DEST pdfmark end
- 5910 9655 a 0 1 0 0 TeXcolorcmyk 5910 9655 a
-SDict begin H.S end
- 5910 9655
-a 0 1 0 0 TeXcolorcmyk FQ(www.slackware.com)p 0 1 0 0
-TeXcolorcmyk 16558 8915 a
-SDict begin H.R end
- 16558 8915 a 16558 9655 a
-SDict begin [ /H /I /Border [0 0 0] /Color [0 1 1] /Action << /Subtype
-/URI /URI (www.slackware.com) >> /Subtype /Link H.B /ANN pdfmark end
- 16558
-9655 a Black 388 w FU(will)g(instead)f(be)i(sent)f(to)30850
-9655 y
-SDict begin H.S end
- 30850 9655 a 30850 9655 a
-SDict begin 18.2 H.A end
- 30850 9655 a 30850 9655
-a
-SDict begin [ /View [/XYZ H.V] /Dest (4514) cvn H.B /DEST pdfmark end
- 30850 9655 a 0 1 0 0 TeXcolorcmyk 30850 9655 a
-SDict begin H.S end
- 30850
-9655 a 0 1 0 0 TeXcolorcmyk FQ(mail.slackware.com)p 0 1 0 0
-TeXcolorcmyk 42124 8915 a
-SDict begin H.R end
- 42124 8915 a 42124 9655 a
-SDict begin [ /H /I /Border [0 0 0] /Color [0 1 1] /Action << /Subtype
-/URI /URI (mail.slackware.com) >> /Subtype /Link H.B /ANN pdfmark end
- 42124
-9655 a Black 388 w FU(for)g(deli)-39 b(v)-23 b(ery)-101
-b(.)-30 12315 y
-SDict begin H.S end
- -30 12315 a -30 12315 a
-SDict begin 18.2 H.A end
- -30 12315 a -30
-12315 a
-SDict begin [ /View [/XYZ H.V] /Dest (BASIC-NETWORK-COMMANDS-FINGER)
-cvn H.B /DEST pdfmark end
- -30 12315 a 5789 x FL(13.4)620 b Fq(\002ng)22
-b(er)-30 18601 y
-SDict begin H.S end
- -30 18601 a -30 18601 a
-SDict begin 18.2 H.A end
- -30 18601 a
--30 18601 a
-SDict begin [ /View [/XYZ H.V] /Dest (4518) cvn H.B /DEST pdfmark end
- -30 18601 a -30 19717 a
-SDict begin H.S end
- -30 19717 a -30 19717
-a
-SDict begin 18.2 H.A end
- -30 19717 a -30 19717 a
-SDict begin [ /View [/XYZ H.V] /Dest (4521) cvn H.B /DEST pdfmark end
- -30 19717 a -30 19717 a
-SDict begin H.S end
- -30
-19717 a -30 19717 a
-SDict begin 18.2 H.A end
- -30 19717 a -30 19717 a
-SDict begin [ /View [/XYZ H.V] /Dest (4522) cvn H.B /DEST pdfmark end
- -30 19717
-a 1518 x FP(finger)p FU(\(1\))410 b(will)g(retrie)-39
-b(v)-23 b(e)411 b(information)f(about)g(the)g(speci\002ed)g(user)-85
-b(.)411 b(Y)-170 b(ou)410 b(gi)-39 b(v)-23 b(e)411 b(\002nger)f(a)h
-(user)-31 b(-)-30 23249 y(name)407 b(or)f(an)h(email)f(address)h(and)f
-(it)g(will)h(try)f(to)h(contact)f(the)g(necessary)h(serv)-23
-b(er)406 b(and)h(retrie)-39 b(v)-23 b(e)-30 25264 y(the)402
-b(username,)g(of)-39 b(\002ce,)402 b(telephone)g(number)-62
-b(,)402 b(and)f(other)h(pieces)g(of)g(information.)f(Here)h(is)g(an)-30
-27279 y(e)-23 b(xample:)-30 29164 y
-SDict begin H.S end
- -30 29164 a -30 29164
-a
-SDict begin 14.56 H.A end
- -30 29164 a -30 29164 a
-SDict begin [ /View [/XYZ H.V] /Dest (4523) cvn H.B /DEST pdfmark end
- -30 29164 a -30 29164 a
-SDict begin H.S end
- -30
-29164 a -30 29164 a
-SDict begin 14.56 H.A end
- -30 29164 a -30 29164 a
-SDict begin [ /View [/XYZ H.V] /Dest (4524) cvn H.B /DEST pdfmark end
- -30 29164
-a 1276 x FJ(\045)1309 30440 y
-SDict begin H.S end
- 1309 30440 a 1309 30440
-a
-SDict begin 14.56 H.A end
- 1309 30440 a 1309 30440 a
-SDict begin [ /View [/XYZ H.V] /Dest (4525) cvn H.B /DEST pdfmark end
- 1309 30440 a FH(finger)743
-b(johnc@idsoftware.com)-30 32158 y
-SDict begin H.S end
- -30 32158 a -30 32158
-a
-SDict begin 18.2 H.A end
- -30 32158 a -30 32158 a
-SDict begin [ /View [/XYZ H.V] /Dest (4526) cvn H.B /DEST pdfmark end
- -30 32158 a -30 32158 a
-SDict begin H.S end
- -30
-32158 a -30 32158 a
-SDict begin 18.2 H.A end
- -30 32158 a -30 32158 a
-SDict begin [ /View [/XYZ H.V] /Dest (4527) cvn H.B /DEST pdfmark end
- -30 32158
-a 1847 x FP(finger)374 b FU(can)g(return)g(the)g(username,)g(mail)f
-(status,)h(phone)g(numbers,)g(and)g(\002les)g(referred)g(to)g(as)-30
-36019 y
-SDict begin H.S end
- -30 36019 a -30 36019 a
-SDict begin 18.2 H.A end
- -30 36019 a -30 36019
-a
-SDict begin [ /View [/XYZ H.V] /Dest (4528) cvn H.B /DEST pdfmark end
- -30 36019 a FU(\223dot)483 b(plan\224)f(and)9682 36019
-y
-SDict begin H.S end
- 9682 36019 a 9682 36019 a
-SDict begin 18.2 H.A end
- 9682 36019 a 9682 36019 a
-SDict begin [ /View [/XYZ H.V] /Dest (4529) cvn H.B /DEST pdfmark end
-
-9682 36019 a FU(\223dot)h(project\224.)g(Of)g(course,)g(the)g
-(information)f(returned)g(v)-39 b(aries)483 b(with)g(each)-30
-38034 y
-SDict begin H.S end
- -30 38034 a -30 38034 a
-SDict begin 18.2 H.A end
- -30 38034 a -30 38034
-a
-SDict begin [ /View [/XYZ H.V] /Dest (4530) cvn H.B /DEST pdfmark end
- -30 38034 a FP(finger)459 b FU(serv)-23 b(er)-85 b(.)459
-b(The)h(one)f(included)g(with)g(Slackw)-15 b(are)458
-b(returns)h(the)g(follo)-39 b(wing)459 b(information)-30
-40049 y(by)387 b(def)-15 b(ault:)-30 40384 y
-SDict begin H.S end
- -30 40384
-a -30 40384 a
-SDict begin 18.2 H.A end
- -30 40384 a -30 40384 a
-SDict begin [ /View [/XYZ H.V] /Dest (4531) cvn H.B /DEST pdfmark end
- -30 40384 a -30
-41159 a
-SDict begin H.S end
- -30 41159 a -30 41159 a
-SDict begin 18.2 H.A end
- -30 41159 a -30 41159
-a
-SDict begin [ /View [/XYZ H.V] /Dest (4532) cvn H.B /DEST pdfmark end
- -30 41159 a Black 3229 x FM(\225)p Black 1520 44388
-a
-SDict begin H.S end
- 1520 44388 a 1520 44388 a
-SDict begin 18.2 H.A end
- 1520 44388 a 1520 44388 a
-SDict begin [ /View [/XYZ H.V] /Dest (4533) cvn H.B /DEST pdfmark end
-
-1520 44388 a FU(Username)-30 44403 y
-SDict begin H.S end
- -30 44403 a -30
-44403 a
-SDict begin 18.2 H.A end
- -30 44403 a -30 44403 a
-SDict begin [ /View [/XYZ H.V] /Dest (4534) cvn H.B /DEST pdfmark end
- -30 44403 a Black 2775
-x FM(\225)p Black 1520 47178 a
-SDict begin H.S end
- 1520 47178 a 1520 47178
-a
-SDict begin 18.2 H.A end
- 1520 47178 a 1520 47178 a
-SDict begin [ /View [/XYZ H.V] /Dest (4535) cvn H.B /DEST pdfmark end
- 1520 47178 a FU(Room)386
-b(number)-30 47193 y
-SDict begin H.S end
- -30 47193 a -30 47193 a
-SDict begin 18.2 H.A end
- -30 47193
-a -30 47193 a
-SDict begin [ /View [/XYZ H.V] /Dest (4536) cvn H.B /DEST pdfmark end
- -30 47193 a Black 2774 x FM(\225)p Black
-1520 49967 a
-SDict begin H.S end
- 1520 49967 a 1520 49967 a
-SDict begin 18.2 H.A end
- 1520 49967 a 1520
-49967 a
-SDict begin [ /View [/XYZ H.V] /Dest (4537) cvn H.B /DEST pdfmark end
- 1520 49967 a FU(Home)h(phone)g(number)-30 50303
-y
-SDict begin H.S end
- -30 50303 a -30 50303 a
-SDict begin 18.2 H.A end
- -30 50303 a -30 50303 a
-SDict begin [ /View [/XYZ H.V] /Dest (4538) cvn H.B /DEST pdfmark end
- -30
-50303 a Black 2454 x FM(\225)p Black 1520 52757 a
-SDict begin H.S end
- 1520
-52757 a 1520 52757 a
-SDict begin 18.2 H.A end
- 1520 52757 a 1520 52757 a
-SDict begin [ /View [/XYZ H.V] /Dest (4539) cvn H.B /DEST pdfmark end
- 1520 52757
-a FU(W)-124 b(ork)387 b(phone)g(number)-30 53092 y
-SDict begin H.S end
- -30
-53092 a -30 53092 a
-SDict begin 18.2 H.A end
- -30 53092 a -30 53092 a
-SDict begin [ /View [/XYZ H.V] /Dest (4540) cvn H.B /DEST pdfmark end
- -30 53092
-a Black 2454 x FM(\225)p Black 1520 55546 a
-SDict begin H.S end
- 1520 55546
-a 1520 55546 a
-SDict begin 18.2 H.A end
- 1520 55546 a 1520 55546 a
-SDict begin [ /View [/XYZ H.V] /Dest (4541) cvn H.B /DEST pdfmark end
- 1520 55546 a
-FU(Login)g(status)-30 55882 y
-SDict begin H.S end
- -30 55882 a -30 55882 a
-SDict begin 18.2 H.A end
-
--30 55882 a -30 55882 a
-SDict begin [ /View [/XYZ H.V] /Dest (4542) cvn H.B /DEST pdfmark end
- -30 55882 a Black 2454 x FM(\225)p
-Black 1520 58336 a
-SDict begin H.S end
- 1520 58336 a 1520 58336 a
-SDict begin 18.2 H.A end
- 1520 58336
-a 1520 58336 a
-SDict begin [ /View [/XYZ H.V] /Dest (4543) cvn H.B /DEST pdfmark end
- 1520 58336 a FU(Email)g(status)-30 58351
-y
-SDict begin H.S end
- -30 58351 a -30 58351 a
-SDict begin 18.2 H.A end
- -30 58351 a -30 58351 a
-SDict begin [ /View [/XYZ H.V] /Dest (4544) cvn H.B /DEST pdfmark end
- -30
-58351 a Black 2774 x FM(\225)p Black 1520 61125 a
-SDict begin H.S end
- 1520
-61125 a 1520 61125 a
-SDict begin 18.2 H.A end
- 1520 61125 a 1520 61125 a
-SDict begin [ /View [/XYZ H.V] /Dest (4545) cvn H.B /DEST pdfmark end
- 1520 61125
-a FU(Contents)f(of)h(the)11378 61125 y
-SDict begin H.S end
- 11378 61125 a
-11378 61125 a
-SDict begin 18.2 H.A end
- 11378 61125 a 11378 61125 a
-SDict begin [ /View [/XYZ H.V] /Dest (4546) cvn H.B /DEST pdfmark end
- 11378 61125
-a FQ(.plan)d FU(\002le)j(in)g(the)g(user')-85 b(s)387
-b(home)g(directory)-30 61461 y
-SDict begin H.S end
- -30 61461 a -30 61461
-a
-SDict begin 18.2 H.A end
- -30 61461 a -30 61461 a
-SDict begin [ /View [/XYZ H.V] /Dest (4547) cvn H.B /DEST pdfmark end
- -30 61461 a Black 2454 x FM(\225)p
-Black 1520 63915 a
-SDict begin H.S end
- 1520 63915 a 1520 63915 a
-SDict begin 18.2 H.A end
- 1520 63915
-a 1520 63915 a
-SDict begin [ /View [/XYZ H.V] /Dest (4548) cvn H.B /DEST pdfmark end
- 1520 63915 a FU(Contents)f(of)h(the)11378
-63915 y
-SDict begin H.S end
- 11378 63915 a 11378 63915 a
-SDict begin 18.2 H.A end
- 11378 63915 a 11378
-63915 a
-SDict begin [ /View [/XYZ H.V] /Dest (4549) cvn H.B /DEST pdfmark end
- 11378 63915 a FQ(.project)382 b FU(\002le)387
-b(in)g(the)g(user')-85 b(s)387 b(home)g(directory)p Black
-49451 73792 a FR(161)p Black eop end
-%%Page: 162 184
-TeXDict begin 162 183 bop -8000 -8000 a
-SDict begin /product where{pop product(Distiller)search{pop pop pop
-version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
-closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
-grestore}if}{pop}ifelse}{pop}ifelse}if end
- -8000 -8000 a
-Black 0 TeXcolorgray -30 -1237 a
-SDict begin H.S end
- -30 -1237 a 0 TeXcolorgray
-0 TeXcolorgray -30 -1237 a
-SDict begin H.R end
- -30 -1237 a -30 -1237 a
-SDict begin [ /View [/XYZ H.V] /Dest (page.162) cvn H.B /DEST pdfmark
-end
- -30
--1237 a Black -399 x FR(Chapter)387 b(13)g(Basic)g(Network)f(Commands)p
-Black -30 2504 a
-SDict begin H.S end
- -30 2504 a -30 2504 a
-SDict begin 18.2 H.A end
- -30 2504 a -30
-2504 a
-SDict begin [ /View [/XYZ H.V] /Dest (4550) cvn H.B /DEST pdfmark end
- -30 2504 a 1107 x FU(The)421 b(\002rst)f(four)g(items)g(can)h
-(be)f(set)h(with)f(the)24502 3611 y
-SDict begin H.S end
- 24502 3611 a 24502
-3611 a
-SDict begin 18.2 H.A end
- 24502 3611 a 24502 3611 a
-SDict begin [ /View [/XYZ H.V] /Dest (4551) cvn H.B /DEST pdfmark end
- 24502 3611 a FP(chfn)g
-FU(command.)h(It)f(stores)g(those)g(v)-39 b(alues)421
-b(in)f(the)-30 5626 y
-SDict begin H.S end
- -30 5626 a -30 5626 a
-SDict begin 18.2 H.A end
- -30 5626
-a -30 5626 a
-SDict begin [ /View [/XYZ H.V] /Dest (4552) cvn H.B /DEST pdfmark end
- -30 5626 a FQ(/etc/passwd)527 b FU(\002le.)533
-b(T)-124 b(o)534 b(change)f(the)h(information)e(in)i(your)32742
-5626 y
-SDict begin H.S end
- 32742 5626 a 32742 5626 a
-SDict begin 18.2 H.A end
- 32742 5626 a 32742 5626
-a
-SDict begin [ /View [/XYZ H.V] /Dest (4553) cvn H.B /DEST pdfmark end
- 32742 5626 a FQ(.plan)c FU(or)38232 5626 y
-SDict begin H.S end
- 38232 5626
-a 38232 5626 a
-SDict begin 18.2 H.A end
- 38232 5626 a 38232 5626 a
-SDict begin [ /View [/XYZ H.V] /Dest (4554) cvn H.B /DEST pdfmark end
- 38232 5626 a
-FQ(.project)f FU(\002le,)k(just)g(edit)-30 7640 y(them)h(with)g(your)h
-(f)-15 b(a)-31 b(v)g(orite)533 b(te)-23 b(xt)534 b(editor)-85
-b(.)535 b(The)-23 b(y)534 b(must)g(reside)g(in)g(your)h(home)f
-(directory)g(and)-30 9655 y(must)387 b(be)g(called)9310
-9655 y
-SDict begin H.S end
- 9310 9655 a 9310 9655 a
-SDict begin 18.2 H.A end
- 9310 9655 a 9310 9655
-a
-SDict begin [ /View [/XYZ H.V] /Dest (4555) cvn H.B /DEST pdfmark end
- 9310 9655 a FQ(.plan)e FU(and)15455 9655 y
-SDict begin H.S end
- 15455 9655
-a 15455 9655 a
-SDict begin 18.2 H.A end
- 15455 9655 a 15455 9655 a
-SDict begin [ /View [/XYZ H.V] /Dest (4556) cvn H.B /DEST pdfmark end
- 15455 9655 a
-FQ(.project)p FU(.)-30 10699 y
-SDict begin H.S end
- -30 10699 a -30 10699
-a
-SDict begin 18.2 H.A end
- -30 10699 a -30 10699 a
-SDict begin [ /View [/XYZ H.V] /Dest (4557) cvn H.B /DEST pdfmark end
- -30 10699 a 1746 x FU(Man)-23
-b(y)399 b(users)7546 12445 y
-SDict begin H.S end
- 7546 12445 a 7546 12445
-a
-SDict begin 18.2 H.A end
- 7546 12445 a 7546 12445 a
-SDict begin [ /View [/XYZ H.V] /Dest (4558) cvn H.B /DEST pdfmark end
- 7546 12445 a FP(finger)g
-FU(their)g(o)-39 b(wn)400 b(account)f(from)g(a)h(remote)f(machine)g(to)
-h(quickly)e(see)i(if)f(the)-23 b(y)-30 14459 y(ha)-31
-b(v)-23 b(e)387 b(ne)-39 b(w)388 b(email.)f(Or)-62 b(,)388
-b(you)f(can)g(see)h(a)f(user')-85 b(s)387 b(plan)g(or)h(current)f
-(project.)-30 15570 y
-SDict begin H.S end
- -30 15570 a -30 15570 a
-SDict begin 18.2 H.A end
- -30 15570
-a -30 15570 a
-SDict begin [ /View [/XYZ H.V] /Dest (4559) cvn H.B /DEST pdfmark end
- -30 15570 a 1679 x FU(Lik)-15 b(e)426 b(man)-23
-b(y)425 b(commands,)14597 17249 y
-SDict begin H.S end
- 14597 17249 a 14597
-17249 a
-SDict begin 18.2 H.A end
- 14597 17249 a 14597 17249 a
-SDict begin [ /View [/XYZ H.V] /Dest (4560) cvn H.B /DEST pdfmark end
- 14597 17249 a FP(finger)g
-FU(has)h(options.)g(Check)g(the)g(man)g(page)g(for)g(more)g(informa-)
--30 19264 y(tion)387 b(on)g(what)g(special)g(options)g(you)g(can)g
-(use.)-30 20374 y
-SDict begin H.S end
- -30 20374 a -30 20374 a
-SDict begin 18.2 H.A end
- -30 20374 a
--30 20374 a
-SDict begin [ /View [/XYZ H.V] /Dest (BASIC-NETWORK-COMMANDS-TELNET)
-cvn H.B /DEST pdfmark end
- -30 20374 a 5789 x FL(13.5)620 b Fq(telnet)-30
-26191 y
-SDict begin H.S end
- -30 26191 a -30 26191 a
-SDict begin 18.2 H.A end
- -30 26191 a -30 26191
-a
-SDict begin [ /View [/XYZ H.V] /Dest (4564) cvn H.B /DEST pdfmark end
- -30 26191 a -30 26191 a
-SDict begin H.S end
- -30 26191 a -30 26191 a
-SDict begin 18.2 H.A end
- -30
-26191 a -30 26191 a
-SDict begin [ /View [/XYZ H.V] /Dest (4566) cvn H.B /DEST pdfmark end
- -30 26191 a -30 26191 a
-SDict begin H.S end
- -30 26191
-a -30 26191 a
-SDict begin 18.2 H.A end
- -30 26191 a -30 26191 a
-SDict begin [ /View [/XYZ H.V] /Dest (4568) cvn H.B /DEST pdfmark end
- -30 26191 a -30
-27307 a
-SDict begin H.S end
- -30 27307 a -30 27307 a
-SDict begin 18.2 H.A end
- -30 27307 a -30 27307
-a
-SDict begin [ /View [/XYZ H.V] /Dest (4571) cvn H.B /DEST pdfmark end
- -30 27307 a 1986 x FU(Someone)374 b(once)g(stated)g(that)16102
-29293 y
-SDict begin H.S end
- 16102 29293 a 16102 29293 a
-SDict begin 18.2 H.A end
- 16102 29293 a 16102
-29293 a
-SDict begin [ /View [/XYZ H.V] /Dest (4572) cvn H.B /DEST pdfmark end
- 16102 29293 a FP(telnet)p FU(\(1\))g(w)-15 b(as)374
-b(the)g(coolest)g(thing)f(he)i(had)f(e)-39 b(v)-23 b(er)375
-b(seen)f(on)g(com-)-30 31308 y(puters.)620 b(The)f(ability)f(to)h
-(remotely)g(log)g(in)g(and)h(do)f(stuf)-39 b(f)619 b(on)g(another)g
-(computer)g(is)g(what)-30 33323 y(separates)387 b(Unix)g(and)g
-(Unix-lik)-15 b(e)386 b(operating)h(systems)g(from)g(other)g(operating)
-g(systems.)-30 33658 y
-SDict begin H.S end
- -30 33658 a -30 33658 a
-SDict begin 18.2 H.A end
- -30 33658
-a -30 33658 a
-SDict begin [ /View [/XYZ H.V] /Dest (4573) cvn H.B /DEST pdfmark end
- -30 33658 a -30 34433 a
-SDict begin H.S end
- -30 34433 a -30
-34433 a
-SDict begin 18.2 H.A end
- -30 34433 a -30 34433 a
-SDict begin [ /View [/XYZ H.V] /Dest (4576) cvn H.B /DEST pdfmark end
- -30 34433 a -30 34433
-a
-SDict begin H.S end
- -30 34433 a -30 34433 a
-SDict begin 18.2 H.A end
- -30 34433 a -30 34433 a
-SDict begin [ /View [/XYZ H.V] /Dest (4577) cvn H.B /DEST pdfmark end
- -30
-34433 a 1679 x FP(telnet)473 b FU(allo)-39 b(ws)474 b(you)f(to)h(log)g
-(in)f(to)h(a)g(computer)-62 b(,)473 b(just)h(as)g(if)f(you)h(were)g
-(sitting)f(at)h(the)f(termi-)-30 38127 y(nal.)487 b(Once)g(your)g
-(username)f(and)h(passw)-15 b(ord)486 b(are)h(v)-23 b(eri\002ed,)487
-b(you)f(are)h(gi)-39 b(v)-23 b(en)487 b(a)g(shell)f(prompt.)-30
-40142 y(From)319 b(here,)i(you)e(can)h(do)g(an)-23 b(ything)319
-b(requiring)g(a)h(te)-23 b(xt)319 b(console.)h(Compose)f(email,)h(read)
-g(ne)-39 b(ws-)-30 42156 y(groups,)473 b(mo)-23 b(v)g(e)473
-b(\002les)g(around,)g(and)h(so)f(on.)h(If)f(you)h(are)f(running)g(X)g
-(and)h(you)43181 42156 y
-SDict begin H.S end
- 43181 42156 a 43181 42156 a
-SDict begin 18.2 H.A end
-
-43181 42156 a 43181 42156 a
-SDict begin [ /View [/XYZ H.V] /Dest (4578) cvn H.B /DEST pdfmark end
- 43181 42156 a FP(telnet)f
-FU(to)g(an-)-30 44171 y(other)466 b(machine,)f(you)h(can)f(run)h(X)f
-(programs)h(on)f(the)h(remote)f(computer)g(and)g(display)g(them)-30
-46186 y(on)387 b(yours.)-30 47296 y
-SDict begin H.S end
- -30 47296 a -30 47296
-a
-SDict begin 18.2 H.A end
- -30 47296 a -30 47296 a
-SDict begin [ /View [/XYZ H.V] /Dest (4579) cvn H.B /DEST pdfmark end
- -30 47296 a 1679 x FU(T)-124
-b(o)387 b(login)g(to)g(a)h(remote)f(machine,)g(use)g(this)g(syntax:)-30
-50860 y
-SDict begin H.S end
- -30 50860 a -30 50860 a
-SDict begin 14.56 H.A end
- -30 50860 a -30 50860
-a
-SDict begin [ /View [/XYZ H.V] /Dest (4580) cvn H.B /DEST pdfmark end
- -30 50860 a -30 50860 a
-SDict begin H.S end
- -30 50860 a -30 50860 a
-SDict begin 14.56 H.A end
- -30
-50860 a -30 50860 a
-SDict begin [ /View [/XYZ H.V] /Dest (4581) cvn H.B /DEST pdfmark end
- -30 50860 a 1277 x FJ(\045)1309 52137
-y
-SDict begin H.S end
- 1309 52137 a 1309 52137 a
-SDict begin 14.56 H.A end
- 1309 52137 a 1309 52137 a
-SDict begin [ /View [/XYZ H.V] /Dest (4582) cvn H.B /DEST pdfmark end
-
-1309 52137 a FH(telnet)743 b FK(<)7459 52137 y
-SDict begin H.S end
- 7459 52137
-a 7459 52137 a
-SDict begin 14.56 H.A end
- 7459 52137 a 7459 52137 a
-SDict begin [ /View [/XYZ H.V] /Dest (4583) cvn H.B /DEST pdfmark end
- 7459 52137 a
-Fy(hostname)5 b FK(>)-30 53734 y
-SDict begin H.S end
- -30 53734 a -30 53734
-a
-SDict begin 18.2 H.A end
- -30 53734 a -30 53734 a
-SDict begin [ /View [/XYZ H.V] /Dest (4584) cvn H.B /DEST pdfmark end
- -30 53734 a 1967 x FU(If)549
-b(the)g(host)f(responds,)g(you)h(will)f(recei)-39 b(v)-23
-b(e)549 b(a)g(login)f(prompt.)g(Gi)-39 b(v)-23 b(e)549
-b(it)f(your)h(username)f(and)-30 57716 y(passw)-15 b(ord.)354
-b(That')-85 b(s)353 b(it.)i(Y)-170 b(ou)353 b(are)i(no)-39
-b(w)354 b(at)g(a)g(shell.)h(T)-124 b(o)354 b(quit)f(your)h(telnet)g
-(session,)g(use)g(either)g(the)-30 59730 y
-SDict begin H.S end
- -30 59730
-a -30 59730 a
-SDict begin 18.2 H.A end
- -30 59730 a -30 59730 a
-SDict begin [ /View [/XYZ H.V] /Dest (4585) cvn H.B /DEST pdfmark end
- -30 59730 a FP(exit)387
-b FU(command)g(or)g(the)13792 59730 y
-SDict begin H.S end
- 13792 59730 a 13792
-59730 a
-SDict begin 18.2 H.A end
- 13792 59730 a 13792 59730 a
-SDict begin [ /View [/XYZ H.V] /Dest (4586) cvn H.B /DEST pdfmark end
- 13792 59730 a FP(logout)g
-FU(command.)-30 59925 y
-SDict begin H.S end
- -30 59925 a -30 59925 a
-SDict begin 16.9 H.A end
- -30 59925
-a -30 59925 a
-SDict begin [ /View [/XYZ H.V] /Dest (4587) cvn H.B /DEST pdfmark end
- -30 59925 a -30 62250 a
-SDict begin H.S end
- -30 62250 a -30
-62250 a
-SDict begin 16.9 H.A end
- -30 62250 a -30 62250 a
-SDict begin [ /View [/XYZ H.V] /Dest (4588) cvn H.B /DEST pdfmark end
- -30 62250 a 3070 63926
-a Fu(W)-58 b(arning:)9601 63926 y
-SDict begin H.S end
- 9601 63926 a 9601 63926
-a
-SDict begin 16.9 H.A end
- 9601 63926 a 9601 63926 a
-SDict begin [ /View [/XYZ H.V] /Dest (4589) cvn H.B /DEST pdfmark end
- 9601 63926 a Fn(telnet)352
-b Ft(does)i(not)g(encr)43 b(ypt)353 b(the)h(inf)-43 b(or)36
-b(mation)355 b(it)f(sends)-22 b(.)354 b(Ev)-36 b(er)43
-b(ything)353 b(is)h(sent)3070 65797 y(in)427 b(plain)h(te)-43
-b(xt,)427 b(e)-43 b(v)-36 b(en)427 b(pass)-43 b(w)-14
-b(ords)-22 b(.)426 b(It)h(is)g(not)g(advisab)-29 b(le)428
-b(to)f(use)38250 65797 y
-SDict begin H.S end
- 38250 65797 a 38250 65797 a
-SDict begin 16.9 H.A end
-
-38250 65797 a 38250 65797 a
-SDict begin [ /View [/XYZ H.V] /Dest (4590) cvn H.B /DEST pdfmark end
- 38250 65797 a Fn(telnet)e
-Ft(o)-22 b(v)-36 b(er)428 b(the)f(Inter-)p Black -30
-73792 a FR(162)p Black eop end
-%%Page: 163 185
-TeXDict begin 163 184 bop -8000 -8000 a
-SDict begin /product where{pop product(Distiller)search{pop pop pop
-version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
-closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
-grestore}if}{pop}ifelse}{pop}ifelse}if end
- -8000 -8000 a
-Black 0 TeXcolorgray -30 -1237 a
-SDict begin H.S end
- -30 -1237 a 0 TeXcolorgray
-0 TeXcolorgray -30 -1237 a
-SDict begin H.R end
- -30 -1237 a -30 -1237 a
-SDict begin [ /View [/XYZ H.V] /Dest (page.163) cvn H.B /DEST pdfmark
-end
- -30
--1237 a Black 27927 -1636 a FR(Chapter)386 b(13)i(Basic)f(Network)f
-(Commands)p Black 3070 3611 a Ft(net.)437 b(Instead,)g(consider)h(the)
-19777 3611 y
-SDict begin H.S end
- 19777 3611 a 19777 3611 a
-SDict begin 16.9 H.A end
- 19777 3611 a 19777
-3611 a
-SDict begin [ /View [/XYZ H.V] /Dest (4591) cvn H.B /DEST pdfmark end
- 19777 3611 a Fn(Secure)690 b(Shell)p Ft(.)436
-b(It)h(encr)43 b(ypts)436 b(all)j(tr)-14 b(af\002c)436
-b(and)i(is)f(a)-29 b(v)-36 b(ailab)-29 b(le)3070 5482
-y(f)-43 b(or)400 b(free)-22 b(.)745 8271 y
-SDict begin H.S end
- 745 8271 a
-745 8271 a
-SDict begin 18.2 H.A end
- 745 8271 a 745 8271 a
-SDict begin [ /View [/XYZ H.V] /Dest (4592) cvn H.B /DEST pdfmark end
- 745 8271 a -30 13789
-a FG(The)518 b(other)g(use)f(of)g(telnet)-30 14742 y
-SDict begin H.S end
-
--30 14742 a -30 14742 a
-SDict begin 18.2 H.A end
- -30 14742 a -30 14742 a
-SDict begin [ /View [/XYZ H.V] /Dest (4594) cvn H.B /DEST pdfmark end
- -30 14742
-a 1991 x FU(No)-39 b(w)430 b(that)f(we)h(ha)-31 b(v)-23
-b(e)429 b(con)-62 b(vinced)429 b(you)g(not)h(to)f(use)g(the)h(telnet)f
-(protocol)g(an)-23 b(ymore)429 b(to)g(log)g(into)-30
-18748 y(a)388 b(remote)f(machine,)g(we')-15 b(ll)387
-b(sho)-39 b(w)387 b(you)g(a)g(couple)g(of)h(useful)f(w)-15
-b(ays)386 b(to)h(use)40702 18748 y
-SDict begin H.S end
- 40702 18748 a 40702
-18748 a
-SDict begin 18.2 H.A end
- 40702 18748 a 40702 18748 a
-SDict begin [ /View [/XYZ H.V] /Dest (4595) cvn H.B /DEST pdfmark end
- 40702 18748 a FP(telnet)p
-FU(.)-30 19858 y
-SDict begin H.S end
- -30 19858 a -30 19858 a
-SDict begin 18.2 H.A end
- -30 19858 a
--30 19858 a
-SDict begin [ /View [/XYZ H.V] /Dest (4596) cvn H.B /DEST pdfmark end
- -30 19858 a 1679 x FU(Y)-170 b(ou)387 b(can)g(also)g(use)g
-(the)13013 21537 y
-SDict begin H.S end
- 13013 21537 a 13013 21537 a
-SDict begin 18.2 H.A end
- 13013
-21537 a 13013 21537 a
-SDict begin [ /View [/XYZ H.V] /Dest (4597) cvn H.B /DEST pdfmark end
- 13013 21537 a FP(telnet)f FU(command)h(to)g
-(connect)g(to)g(a)h(host)f(on)g(a)g(certain)h(port.)-30
-23422 y
-SDict begin H.S end
- -30 23422 a -30 23422 a
-SDict begin 14.56 H.A end
- -30 23422 a -30 23422
-a
-SDict begin [ /View [/XYZ H.V] /Dest (4598) cvn H.B /DEST pdfmark end
- -30 23422 a -30 23422 a
-SDict begin H.S end
- -30 23422 a -30 23422 a
-SDict begin 14.56 H.A end
- -30
-23422 a -30 23422 a
-SDict begin [ /View [/XYZ H.V] /Dest (4599) cvn H.B /DEST pdfmark end
- -30 23422 a 1277 x FJ(\045)1309 24699
-y
-SDict begin H.S end
- 1309 24699 a 1309 24699 a
-SDict begin 14.56 H.A end
- 1309 24699 a 1309 24699 a
-SDict begin [ /View [/XYZ H.V] /Dest (4600) cvn H.B /DEST pdfmark end
-
-1309 24699 a FH(telnet)743 b FK(<)7459 24699 y
-SDict begin H.S end
- 7459 24699
-a 7459 24699 a
-SDict begin 14.56 H.A end
- 7459 24699 a 7459 24699 a
-SDict begin [ /View [/XYZ H.V] /Dest (4601) cvn H.B /DEST pdfmark end
- 7459 24699 a
-Fy(hostname)5 b FK(>)743 b FH([port])-30 26416 y
-SDict begin H.S end
- -30
-26416 a -30 26416 a
-SDict begin 18.2 H.A end
- -30 26416 a -30 26416 a
-SDict begin [ /View [/XYZ H.V] /Dest (4602) cvn H.B /DEST pdfmark end
- -30 26416
-a 1847 x FU(This)512 b(can)h(be)g(quite)f(handy)g(when)h(you)f(quickly)
-g(need)h(to)f(test)g(a)h(certain)g(service,)g(and)f(you)-30
-30278 y(need)400 b(full)f(control)g(o)-23 b(v)g(er)399
-b(the)g(commands,)g(and)h(you)f(need)g(to)h(see)f(what)h(e)-23
-b(xactly)399 b(is)g(going)g(on.)-30 32292 y(Y)-170 b(ou)467
-b(can)g(interacti)-39 b(v)-23 b(ely)467 b(test)g(or)g(use)g(an)h(SMTP)e
-(serv)-23 b(er)-62 b(,)468 b(a)f(POP3)g(serv)-23 b(er)-62
-b(,)468 b(an)f(HTTP)g(serv)-23 b(er)-62 b(,)-30 34307
-y(etc.)388 b(this)f(w)-15 b(ay)-101 b(.)-30 35417 y
-SDict begin H.S end
- -30
-35417 a -30 35417 a
-SDict begin 18.2 H.A end
- -30 35417 a -30 35417 a
-SDict begin [ /View [/XYZ H.V] /Dest (4603) cvn H.B /DEST pdfmark end
- -30 35417
-a 1680 x FU(In)434 b(the)f(ne)-23 b(xt)433 b(\002gure)h(you')-15
-b(ll)432 b(see)i(ho)-39 b(w)434 b(you)f(can)26091 37097
-y
-SDict begin H.S end
- 26091 37097 a 26091 37097 a
-SDict begin 18.2 H.A end
- 26091 37097 a 26091 37097
-a
-SDict begin [ /View [/XYZ H.V] /Dest (4604) cvn H.B /DEST pdfmark end
- 26091 37097 a FP(telnet)g FU(to)g(a)h(HTTP)f(serv)-23
-b(er)433 b(on)h(port)f(80,)h(and)-30 39111 y(get)387
-b(some)g(basic)g(information)g(from)g(it.)-30 39447 y
-SDict begin H.S end
-
--30 39447 a -30 39447 a
-SDict begin 18.2 H.A end
- -30 39447 a -30 39447 a
-SDict begin [ /View [/XYZ H.V] /Dest (FIG-BASIC-NETWORK-COMMANDS-TELNET-WEB)
-cvn H.B /DEST pdfmark end
- -30 39447
-a 4004 x FX(Figur)-28 b(e)387 b(13-1.)h(T)-143 b(elnetting)386
-b(to)i(a)f(webser)-15 b(v)g(er)-30 45315 y
-SDict begin H.S end
- -30 45315
-a -30 45315 a
-SDict begin 14.56 H.A end
- -30 45315 a -30 45315 a
-SDict begin [ /View [/XYZ H.V] /Dest (4607) cvn H.B /DEST pdfmark end
- -30 45315 a -30
-45315 a
-SDict begin H.S end
- -30 45315 a -30 45315 a
-SDict begin 14.56 H.A end
- -30 45315 a -30 45315
-a
-SDict begin [ /View [/XYZ H.V] /Dest (4608) cvn H.B /DEST pdfmark end
- -30 45315 a 1297 x FJ(\045)1309 46612 y
-SDict begin H.S end
- 1309 46612
-a 1309 46612 a
-SDict begin 14.56 H.A end
- 1309 46612 a 1309 46612 a
-SDict begin [ /View [/XYZ H.V] /Dest (4609) cvn H.B /DEST pdfmark end
- 1309 46612 a
-FH(telnet)743 b(store.slackware.com)f(80)-30 48224 y
-FP(Trying)h(69.50.233.153...)-30 49836 y(Connected)g(to)h
-(store.slackware.com.)-30 51447 y(Escape)f(character)g(is)h('^]'.)-30
-53059 y(HEAD)f(/)h(HTTP/1.0)-30 56282 y(HTTP/1.1)f(200)h(OK)-30
-57894 y(Date:)f(Mon,)h(25)f(Apr)h(2005)f(20:47:01)g(GMT)-30
-59506 y(Server:)g(Apache/1.3.33)f(\(Unix\))i(mod_ssl/2.8.22)e
-(OpenSSL/0.9.7d)-30 61118 y(Last-Modified:)g(Fri,)i(18)f(Apr)h(2003)f
-(10:58:54)g(GMT)-30 62729 y(ETag:)g("193424-c0-3e9fda6e")-30
-64341 y(Accept-Ranges:)f(bytes)-30 65953 y(Content-Length:)g(192)-30
-67565 y(Connection:)h(close)p Black 49451 73792 a FR(163)p
-Black eop end
-%%Page: 164 186
-TeXDict begin 164 185 bop -8000 -8000 a
-SDict begin /product where{pop product(Distiller)search{pop pop pop
-version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
-closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
-grestore}if}{pop}ifelse}{pop}ifelse}if end
- -8000 -8000 a
-Black 0 TeXcolorgray -30 -1237 a
-SDict begin H.S end
- -30 -1237 a 0 TeXcolorgray
-0 TeXcolorgray -30 -1237 a
-SDict begin H.R end
- -30 -1237 a -30 -1237 a
-SDict begin [ /View [/XYZ H.V] /Dest (page.164) cvn H.B /DEST pdfmark
-end
- -30
--1237 a Black -399 x FR(Chapter)387 b(13)g(Basic)g(Network)f(Commands)p
-Black -30 3611 a FP(Content-Type:)742 b(text/html)-30
-6835 y(Connection)h(closed)g(by)h(foreign)f(host.)-30
-7030 y
-SDict begin H.S end
- -30 7030 a -30 7030 a
-SDict begin 14.56 H.A end
- -30 7030 a -30 7030 a
-SDict begin [ /View [/XYZ H.V] /Dest (4610) cvn H.B /DEST pdfmark end
- -30
-7030 a 1416 x FJ(\045)-30 10017 y
-SDict begin H.S end
- -30 10017 a -30 10017
-a
-SDict begin 18.2 H.A end
- -30 10017 a -30 10017 a
-SDict begin [ /View [/XYZ H.V] /Dest (4611) cvn H.B /DEST pdfmark end
- -30 10017 a 1994 x FU(Y)-170
-b(ou)459 b(can)g(do)g(the)g(same)g(for)g(other)g(plain-te)-23
-b(xt)458 b(protocols,)h(as)g(long)f(as)h(you)g(kno)-39
-b(w)459 b(what)g(port)-30 14025 y(to)387 b(connect)g(to,)h(and)f(what)g
-(the)g(commands)g(are.)-30 16574 y
-SDict begin H.S end
- -30 16574 a -30 16574
-a
-SDict begin 18.2 H.A end
- -30 16574 a -30 16574 a
-SDict begin [ /View [/XYZ H.V] /Dest (BASIC-NETWORK-COMMANDS-SSH) cvn
-H.B /DEST pdfmark end
- -30 16574 a 5901 x FL(13.6)620
-b(The)f(Secure)h(shell)-30 22503 y
-SDict begin H.S end
- -30 22503 a -30 22503
-a
-SDict begin 18.2 H.A end
- -30 22503 a -30 22503 a
-SDict begin [ /View [/XYZ H.V] /Dest (4614) cvn H.B /DEST pdfmark end
- -30 22503 a -30 22503 a
-SDict begin H.S end
- -30
-22503 a -30 22503 a
-SDict begin 18.2 H.A end
- -30 22503 a -30 22503 a
-SDict begin [ /View [/XYZ H.V] /Dest (4616) cvn H.B /DEST pdfmark end
- -30 22503
-a -30 23618 a
-SDict begin H.S end
- -30 23618 a -30 23618 a
-SDict begin 18.2 H.A end
- -30 23618 a -30
-23618 a
-SDict begin [ /View [/XYZ H.V] /Dest (4619) cvn H.B /DEST pdfmark end
- -30 23618 a 1987 x FU(T)-124 b(oday)-101 b(,)447
-b(secure)g(shell)g(basks)f(in)h(the)f(adoration)h(that)29274
-25605 y
-SDict begin H.S end
- 29274 25605 a 29274 25605 a
-SDict begin 18.2 H.A end
- 29274 25605 a 29274
-25605 a
-SDict begin [ /View [/XYZ H.V] /Dest (4620) cvn H.B /DEST pdfmark end
- 29274 25605 a FP(telnet)f FU(once)h(enjo)-15
-b(yed.)43283 25605 y
-SDict begin H.S end
- 43283 25605 a 43283 25605 a
-SDict begin 18.2 H.A end
- 43283
-25605 a 43283 25605 a
-SDict begin [ /View [/XYZ H.V] /Dest (4621) cvn H.B /DEST pdfmark end
- 43283 25605 a FP(ssh)p FU(\(1\))446
-b(allo)-39 b(ws)-30 27620 y(one)388 b(to)g(mak)-15 b(e)387
-b(a)h(connection)f(to)h(a)g(remote)g(machine)f(and)h(e)-23
-b(x)g(ecute)388 b(programs)f(as)h(if)g(one)g(were)-30
-29634 y(ph)-8 b(ysically)564 b(present;)h(ho)-39 b(we)g(v)-23
-b(er)-62 b(,)18495 29634 y
-SDict begin H.S end
- 18495 29634 a 18495 29634
-a
-SDict begin 18.2 H.A end
- 18495 29634 a 18495 29634 a
-SDict begin [ /View [/XYZ H.V] /Dest (4622) cvn H.B /DEST pdfmark end
- 18495 29634 a FP(ssh)565
-b FU(encrypts)g(all)f(the)h(data)g(tra)-31 b(v)-23 b(elling)564
-b(between)h(the)g(tw)-15 b(o)-30 31649 y(computers)346
-b(so)g(e)-39 b(v)-23 b(en)347 b(if)g(others)f(intercept)g(the)h(con)-62
-b(v)-23 b(ersation,)346 b(the)-23 b(y)346 b(are)h(unable)f(to)h
-(understand)-30 33664 y(it.)388 b(A)f(typical)g(secure)g(shell)g
-(connection)g(follo)-39 b(ws.)-30 35549 y
-SDict begin H.S end
- -30 35549 a
--30 35549 a
-SDict begin 12.972 H.A end
- -30 35549 a -30 35549 a
-SDict begin [ /View [/XYZ H.V] /Dest (4623) cvn H.B /DEST pdfmark end
- -30 35549 a -30 35549
-a
-SDict begin H.S end
- -30 35549 a -30 35549 a
-SDict begin 12.972 H.A end
- -30 35549 a -30 35549 a
-SDict begin [ /View [/XYZ H.V] /Dest (4624) cvn H.B /DEST pdfmark end
- -30
-35549 a 1100 x Fj(\045)1163 36649 y
-SDict begin H.S end
- 1163 36649 a 1163
-36649 a
-SDict begin 12.972 H.A end
- 1163 36649 a 1163 36649 a
-SDict begin [ /View [/XYZ H.V] /Dest (4625) cvn H.B /DEST pdfmark end
- 1163 36649 a Fi(ssh)662
-b(carrier.lizella.net)657 b(-l)662 b(alan)-30 38085 y
-Fh(The)g(authenticity)d(of)j(host)g('carrier.lizella.net)657
-b(\(192.168.1.253\)')h(can't)j(be)-30 39521 y(established.)-30
-40957 y(RSA)h(key)g(fingerprint)d(is)k
-(0b:e2:5d:43:4c:39:4f:8c:b9:85:db:b2:fa:25:e9:9d.)-30
-42393 y(Are)f(you)g(sure)f(you)h(want)g(to)g(continue)e(connecting)g
-(\(yes/no\)?)g(yes)-30 43829 y(Warning:)h(Permanently)e(added)i
-('carrier.lizella.net')c(\(RSA\))k(to)i(the)e(list)h(of)-30
-45265 y(known)f(hosts.)-30 46701 y(Password:)6597 46701
-y
-SDict begin H.S end
- 6597 46701 a 6597 46701 a
-SDict begin 12.972 H.A end
- 6597 46701 a 6597 46701 a
-SDict begin [ /View [/XYZ H.V] /Dest (4626) cvn H.B /DEST pdfmark end
-
-6597 46701 a Fi(password)-30 48137 y Fh(Last)h(login:)f(Sat)h(Nov)1324
-b(6)663 b(16:32:19)d(2004)i(from)f(192.168.1.102)-30
-49573 y(Linux)g(2.4.26-smp.)-30 51009 y(alan@carrier:~$)10574
-51009 y
-SDict begin H.S end
- 10574 51009 a 10574 51009 a
-SDict begin 12.972 H.A end
- 10574 51009 a 10574
-51009 a
-SDict begin [ /View [/XYZ H.V] /Dest (4627) cvn H.B /DEST pdfmark end
- 10574 51009 a Fi(ls)h(-l)g(MANIFEST)-30 52445
-y Fh(-rw-r--r--)1323 b(1)662 b(alan)g(users)f(23545276)f(2004-10-28)g
-(20:04)i(MANIFEST)-30 53881 y(alan@carrier:~$)10574 53881
-y
-SDict begin H.S end
- 10574 53881 a 10574 53881 a
-SDict begin 12.972 H.A end
- 10574 53881 a 10574 53881
-a
-SDict begin [ /View [/XYZ H.V] /Dest (4628) cvn H.B /DEST pdfmark end
- 10574 53881 a Fi(exit)-30 55317 y Fh(logout)-30 56753
-y(Connection)e(to)i(carrier.lizella.net)657 b(closed.)-30
-58326 y
-SDict begin H.S end
- -30 58326 a -30 58326 a
-SDict begin 18.2 H.A end
- -30 58326 a -30 58326
-a
-SDict begin [ /View [/XYZ H.V] /Dest (4629) cvn H.B /DEST pdfmark end
- -30 58326 a 1991 x FU(There)525 b(you)g(see)g(me)g(making)f(an)h(ssh)
-f(connection)g(to)30605 60317 y
-SDict begin H.S end
- 30605 60317 a 30605 60317
-a
-SDict begin 18.2 H.A end
- 30605 60317 a 30605 60317 a
-SDict begin [ /View [/XYZ H.V] /Dest (4630) cvn H.B /DEST pdfmark end
- 30605 60317 a 0 1 0 0 TeXcolorcmyk
-30605 60317 a
-SDict begin H.S end
- 30605 60317 a 0 1 0 0 TeXcolorcmyk FQ
-(carrier.lizella.net)p 0 1 0 0 TeXcolorcmyk 42506 59577
-a
-SDict begin H.R end
- 42506 59577 a 42506 60317 a
-SDict begin [ /H /I /Border [0 0 0] /Color [0 1 1] /Action << /Subtype
-/URI /URI (carrier.lizella.net) >> /Subtype /Link H.B /ANN pdfmark
-end
- 42506 60317 a Black FU(,)h(and)g
-(checking)-30 62332 y(the)387 b(permissions)f(on)h(the)14262
-62332 y
-SDict begin H.S end
- 14262 62332 a 14262 62332 a
-SDict begin 18.2 H.A end
- 14262 62332 a 14262
-62332 a
-SDict begin [ /View [/XYZ H.V] /Dest (4631) cvn H.B /DEST pdfmark end
- 14262 62332 a FQ(MANIFEST)382 b FU(\002le.)-30
-63442 y
-SDict begin H.S end
- -30 63442 a -30 63442 a
-SDict begin 18.2 H.A end
- -30 63442 a -30 63442
-a
-SDict begin [ /View [/XYZ H.V] /Dest (BASIC-NETWORK-COMMANDS-EMAIL)
-cvn H.B /DEST pdfmark end
- -30 63442 a Black 10350 x FR(164)p Black eop end
-%%Page: 165 187
-TeXDict begin 165 186 bop -8000 -8000 a
-SDict begin /product where{pop product(Distiller)search{pop pop pop
-version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
-closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
-grestore}if}{pop}ifelse}{pop}ifelse}if end
- -8000 -8000 a
-Black 0 TeXcolorgray -30 -1237 a
-SDict begin H.S end
- -30 -1237 a 0 TeXcolorgray
-0 TeXcolorgray -30 -1237 a
-SDict begin H.R end
- -30 -1237 a -30 -1237 a
-SDict begin [ /View [/XYZ H.V] /Dest (page.165) cvn H.B /DEST pdfmark
-end
- -30
--1237 a Black -30 -2687 a
-SDict begin H.S end
- -30 -2687 a -30 -2687 a
-SDict begin 18.2 H.A end
- -30
--2687 a -30 -2687 a
-SDict begin [ /View [/XYZ H.V] /Dest (4658) cvn H.B /DEST pdfmark end
- -30 -2687 a 27927 -1636 a FR(Chapter)386
-b(13)i(Basic)f(Network)f(Commands)p Black -30 4132 a
-FL(13.7)620 b(email)-30 4160 y
-SDict begin H.S end
- -30 4160 a -30 4160 a
-SDict begin 18.2 H.A end
-
--30 4160 a -30 4160 a
-SDict begin [ /View [/XYZ H.V] /Dest (4634) cvn H.B /DEST pdfmark end
- -30 4160 a -30 5276 a
-SDict begin H.S end
- -30 5276
-a -30 5276 a
-SDict begin 18.2 H.A end
- -30 5276 a -30 5276 a
-SDict begin [ /View [/XYZ H.V] /Dest (4636) cvn H.B /DEST pdfmark end
- -30 5276 a 1987 x
-FU(Electronic)332 b(mail)g(is)g(one)g(of)h(the)f(most)g(popular)g
-(things)f(one)i(can)f(do)g(on)h(the)f(Internet.)g(In)h(1998,)-30
-9277 y(it)559 b(w)-15 b(as)559 b(reported)g(that)g(more)g(electronic)g
-(mail)f(w)-15 b(as)559 b(sent)g(than)g(re)-23 b(gular)559
-b(mail.)g(It)g(is)g(indeed)-30 11292 y(common)387 b(and)g(useful.)-30
-12082 y
-SDict begin H.S end
- -30 12082 a -30 12082 a
-SDict begin 18.2 H.A end
- -30 12082 a -30 12082
-a
-SDict begin [ /View [/XYZ H.V] /Dest (4637) cvn H.B /DEST pdfmark end
- -30 12082 a 1999 x FU(Under)368 b(Slackw)-15 b(are,)367
-b(we)h(pro)-23 b(vide)367 b(a)g(standard)h(mail)f(serv)-23
-b(er)-62 b(,)368 b(and)f(se)-39 b(v)-23 b(eral)368 b(mail)f(clients.)h
-(All)f(of)-30 16096 y(the)459 b(clients)f(discussed)g(belo)-39
-b(w)459 b(are)g(te)-23 b(xt-based.)459 b(A)f(lot)h(of)g(W)-62
-b(indo)-39 b(ws)458 b(users)h(may)f(be)h(ag)-8 b(ainst)-30
-18111 y(this,)527 b(b)-31 b(ut)526 b(you)g(will)h(\002nd)f(that)g(a)h
-(te)-23 b(xt)526 b(based)h(client)f(is)g(v)-23 b(ery)527
-b(con)-62 b(v)-23 b(enient,)526 b(especially)g(when)-30
-20125 y(checking)518 b(mail)g(remotely)-101 b(.)519 b(Fear)f(not,)h
-(there)g(are)f(man)-23 b(y)518 b(graphical)h(e-mail)f(clients)g(such)g
-(as)-30 22140 y(KDE')-85 b(s)387 b(Kmail.)g(If)h(you)f(wish)g(to)g(use)
-g(one)g(of)h(those)e(check)i(its)f(help)g(menu.)-30 22476
-y
-SDict begin H.S end
- -30 22476 a -30 22476 a
-SDict begin 18.2 H.A end
- -30 22476 a -30 22476 a
-SDict begin [ /View [/XYZ H.V] /Dest (BASIC-NETWORK-COMMANDS-EMAIL-PINE)
-cvn H.B /DEST pdfmark end
- -30
-22476 a 5026 x FF(pine)-30 27887 y
-SDict begin H.S end
- -30 27887 a -30 27887
-a
-SDict begin 18.2 H.A end
- -30 27887 a -30 27887 a
-SDict begin [ /View [/XYZ H.V] /Dest (4641) cvn H.B /DEST pdfmark end
- -30 27887 a -30 27887 a
-SDict begin H.S end
- -30
-27887 a -30 27887 a
-SDict begin 18.2 H.A end
- -30 27887 a -30 27887 a
-SDict begin [ /View [/XYZ H.V] /Dest (4644) cvn H.B /DEST pdfmark end
- -30 27887
-a -30 27887 a
-SDict begin H.S end
- -30 27887 a -30 27887 a
-SDict begin 18.2 H.A end
- -30 27887 a -30
-27887 a
-SDict begin [ /View [/XYZ H.V] /Dest (4647) cvn H.B /DEST pdfmark end
- -30 27887 a -30 28817 a
-SDict begin H.S end
- -30 28817 a -30 28817
-a
-SDict begin 18.2 H.A end
- -30 28817 a -30 28817 a
-SDict begin [ /View [/XYZ H.V] /Dest (4649) cvn H.B /DEST pdfmark end
- -30 28817 a -30 28817 a
-SDict begin H.S end
- -30
-28817 a -30 28817 a
-SDict begin 18.2 H.A end
- -30 28817 a -30 28817 a
-SDict begin [ /View [/XYZ H.V] /Dest (4650) cvn H.B /DEST pdfmark end
- -30 28817
-a 1630 x FP(pine)p FU(\(1\))310 b(is)g(not)8698 30447
-y
-SDict begin H.S end
- 8698 30447 a 8698 30447 a
-SDict begin 18.2 H.A end
- 8698 30447 a 8698 30447 a
-SDict begin [ /View [/XYZ H.V] /Dest (4651) cvn H.B /DEST pdfmark end
-
-8698 30447 a FP(elm)p FU(.)h(Or)f(so)g(the)h(saying)f(goes.)g(The)g
-(Uni)-39 b(v)-23 b(ersity)310 b(of)g(W)-124 b(ashington)310
-b(created)g(their)-30 32461 y(program)432 b(for)g(Internet)g(ne)-39
-b(ws)433 b(and)f(email)g(out)g(of)g(a)g(need)h(for)f(an)g(easy)h(mail)e
-(reader)i(for)f(their)-30 34476 y(students.)5848 34476
-y
-SDict begin H.S end
- 5848 34476 a 5848 34476 a
-SDict begin 18.2 H.A end
- 5848 34476 a 5848 34476 a
-SDict begin [ /View [/XYZ H.V] /Dest (4652) cvn H.B /DEST pdfmark end
-
-5848 34476 a FP(pine)410 b FU(is)g(one)g(of)h(the)f(most)g(popular)g
-(email)g(clients)f(in)h(use)h(today)f(and)g(is)g(a)-31
-b(v)-39 b(ailable)-30 36491 y(for)388 b(nearly)f(e)-39
-b(v)-23 b(ery)387 b(\003a)-31 b(v)g(or)387 b(of)h(Unix)e(and)i(e)-39
-b(v)-23 b(en)387 b(W)-62 b(indo)-39 b(ws.)-30 36826 y
-SDict begin H.S end
-
--30 36826 a -30 36826 a
-SDict begin 18.2 H.A end
- -30 36826 a -30 36826 a
-SDict begin [ /View [/XYZ H.V] /Dest (FIG-BASIC-NETWORK-COMMANDS-EMAIL-PINE)
-cvn H.B /DEST pdfmark end
- -30 36826
-a Black 49451 73792 a FR(165)p Black eop end
-%%Page: 166 188
-TeXDict begin 166 187 bop -8000 -8000 a
-SDict begin /product where{pop product(Distiller)search{pop pop pop
-version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
-closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
-grestore}if}{pop}ifelse}{pop}ifelse}if end
- -8000 -8000 a
-Black 0 TeXcolorgray -30 -1237 a
-SDict begin H.S end
- -30 -1237 a 0 TeXcolorgray
-0 TeXcolorgray -30 -1237 a
-SDict begin H.R end
- -30 -1237 a -30 -1237 a
-SDict begin [ /View [/XYZ H.V] /Dest (page.166) cvn H.B /DEST pdfmark
-end
- -30
--1237 a Black -30 -2687 a
-SDict begin H.S end
- -30 -2687 a -30 -2687 a
-SDict begin 18.2 H.A end
- -30
--2687 a -30 -2687 a
-SDict begin [ /View [/XYZ H.V] /Dest (BASIC-NETWORK-COMMANDS-EMAIL-ELM)
-cvn H.B /DEST pdfmark end
- -30 -2687 a 1051 x FR(Chapter)387
-b(13)g(Basic)g(Network)f(Commands)p Black -30 3611 a
-FX(Figur)-28 b(e)387 b(13-2.)h(The)e(Pine)h(main)g(menu)-30
-5475 y
-SDict begin H.S end
- -30 5475 a -30 5475 a
-SDict begin 18.2 H.A end
- -30 5475 a -30 5475 a
-SDict begin [ /View [/XYZ H.V] /Dest (4655) cvn H.B /DEST pdfmark end
- -30
-5475 a -30 38552 a
- currentpoint currentpoint translate 0.79 0.79 scale neg exch neg exch
-translate
- -30 38552 a @beginspecial 12 @llx
-212 @lly 600 @urx 580 @ury 5880 @rwi @setspecial
-%%BeginDocument: basic-network-commands/pine.eps
-%!PS-Adobe-2.0 EPSF-2.0
-%%Creator: pnmtops
-%%Title: noname.ps
-%%Pages: 1
-%%BoundingBox: 12 212 600 580
-%%EndComments
-/rlestr1 1 string def
-/readrlestring {
- /rlestr exch def
- currentfile rlestr1 readhexstring pop
- 0 get
- dup 127 le {
- currentfile rlestr 0
- 4 3 roll
- 1 add getinterval
- readhexstring pop
- length
- } {
- 256 exch sub dup
- currentfile rlestr1 readhexstring pop
- 0 get
- exch 0 exch 1 exch 1 sub {
- rlestr exch 2 index put
- } for
- pop
- } ifelse
-} bind def
-/readstring {
- dup length 0 {
- 3 copy exch
- 1 index sub
- getinterval
- readrlestring
- add
- 2 copy le { exit } if
- } loop
- pop pop
-} bind def
-/picstr 640 string def
-%%EndProlog
-%%Page: 1 1
-gsave
-12.24 212.4 translate
-587.52 367.2 scale
-640 400 8
-[ 640 0 0 -400 0 400 ]
-{ picstr readstring }
-image
-80c080c080c080c080c080c080c080c080c080c0f0c0fa00fcc0fc0009c0
-c00000c0c0c00000c0f900f3c0010000f6c0f90001c0c0fb00e6c0060000
-c0c0c00000fcc00000fac0fc0008c0c00000c0c0c00000f7c0070000c0c0
-c00000c0f9000fc00000c0c0c00000c00000c0c0c0000080c097c0f900f5
-c0fd00fac0fd00dcc0fc0009c0c00000c0c0c00000c0fa00fdc0fb0008c0
-c00000c0c0c00000eec0fb00f6c0060000c0c0c00000afc0efc0050000c0
-c00000fcc0130000c0c0c0000000c0c00000c0c00000c0c00000f4c0fd00
-f6c0010000fac0060000c0c0c00000e7c0fd0009c0000000c0c0c0000000
-fac00b0000c0c0c0000000c0c00000f7c0fd001bc0000000c0c00000c0c0
-0000c0000000c0c00000c00000c0c0c0000080c096c0050000c0c00000f4
-c0010000f9c0010000dbc0230000c0c0c0000000c0c00000c0c00000c0c0
-0000c00000c0c0c00000c00000c0c0c00000efc0060000c0c0c00000f7c0
-fd0003c0000000afc0efc0050000c0c00000fcc0040000c0c0c0fc000ac0
-0000c0c00000c0c0c000f5c0fc00f6c0010000fac0060000c0c0c00000e7
-c0f90006c0c00000c00000fbc0040000c0c0c0fc0002c00000f7c0f90008
-c0c00000c0c0c000c0fc000ac00000c00000c0c0c0000080c096c0050000
-c0c0c000f4c0010000f9c0010000ebc0010000f2c0040000c0c0c0fc0019
-c00000c0c00000c0c00000c00000c0c0c00000c0c00000c00000e9c00100
-00f7c0f900afc0efc0050000c0c00000fcc0040000c0c0c0f90005c0c000
-00c000f4c0040000c00000f6c0010000fac0060000c0c0c00000e7c0f900
-07c00000c0c0c00000fcc0040000c0c0c0f900f7c0f90008c0c00000c000
-c0c0c0f90007c00000c0c0c0000080c096c0030000c000fcc0fb00fbc001
-0000fbc0fc00fdc0fb0007c0c00000c0000000fbc0010000f2c0040000c0
-c0c0f90011c0c00000c0c00000c00000c0c0c00000c0c0fb00eac0010000
-f6c0f90001c0c0fb00fdc0fb00fdc0fb00fdc0fc00fcc0fd0004c00000c0
-c0fb00fdc0fb00e6c0efc0fb00fbc0070000c0c0c00000c0fc0001c0c0fc
-00f5c0050000c0c00000f6c0fa00fdc0fb00e6c00e0000c000c00000c000
-00c0c0c00000fcc0070000c0c0c00000c0fc00f7c0080000c000c00000c0
-c0fc00fdc0020000c0fc0007c00000c0c0c0000080c096c0fc00fdc00600
-00c0c0c00000fcc0010000fcc0150000c00000c0c00000c0c0c00000c0c0
-000000c00000ecc0070000c0c0c00000c0fc0001c0c0fb000ec0c00000c0
-c0c00000c0c0c0000000eac0010000f5c01e0000c000c00000c00000c0c0
-c00000c00000c0c0c00000c00000c0c0c00000fbc01a0000c0c00000c0c0
-0000c0c00000c0c0c00000c00000c0c0c00000e7c0efc0010000f8c01100
-00c0c0c00000c0c0000000c0c00000c000f5c0f900f2c0090000c00000c0
-c0c00000e7c0070000c0c0c00000c0f900fcc00b0000c0c0c00000c0c000
-0000f7c01e0000c0c0c00000c0c00000c000c0c0c00000c0c0000000c000
-00c0c0c0000080c096c00d0000c000c0c0c00000c0c0c00000fcc00c0000
-c0c0c00000c0c00000c0c0f90007c0c00000c0c00000ecc0210000c0c0c0
-0000c0c0000000c0c00000c0c00000c00000c0c0c00000c0c0c0000000eb
-c0010000f4c0070000c0c0c00000c0f90003c0c00000fac0010000fac0fb
-0009c0c00000c0c00000c0c0f90003c0c00000e3c0efc0010000f8c00f00
-00c0c0c00000c0c0c00000c0c00000efc0010000f1c0090000c00000c0c0
-c00000e7c00e0000c0c0c00000c00000c0c0c00000fcc00b0000c0c0c000
-00c0c0c00000f7c00a0000c0c0c00000c0c00000fbc00e0000c0c0c00000
-c00000c0c0c0000080c096c0010000fbc0060000c0c0c00000fcc00e0000
-c0c0c00000c0c00000c0c00000f9c0010000e8c01d0000c0c0c00000c0c0
-c00000c0c00000c0c00000c00000c0c0c00000c0c0fb00edc0010000f3c0
-090000c0c0c00000c00000f8c0fd00fbc0fd00fdc0110000c0c00000c0c0
-0000c0c00000c0c00000f8c0fd00e5c0efc0010000f8c0130000c0c0c000
-00c0c0c00000c0c00000c0c0c000f3c0010000f1c0090000c00000c0c0c0
-0000e7c00e0000c0c0c00000c00000c0c0c00000fcc00b0000c0c0c00000
-c0c0c00000f7c01e0000c0c0c00000c0c00000c0c0c000c00000c0c0c000
-00c00000c0c0c0000080c096c0010000fbc0060000c0c0c00000fcc00e00
-00c0c0c00000c0c00000c0c00000f9c0010000f8c0010000f2c0220000c0
-c0c00000c0c0c00000c0c00000c0c00000c00000c0c0c00000c0c00000c0
-0000eec0010000f2c0090000c0c0c00000c00000f6c0010000fac0150000
-c0c00000c0c00000c0c00000c0c00000c0c00000f6c0010000e6c0efc001
-0000f8c0130000c0c0c00000c0c0c00000c0c00000c0c00000f3c0010000
-fbc0130000c0c0c00000c0c0c00000c00000c0c0c00000e7c00e0000c0c0
-c00000c00000c0c0c00000fcc00b0000c0c0c00000c0c0c00000f7c01e00
-00c0c0c00000c0c00000c0c00000c00000c0c0c00000c00000c0c0c00000
-80c096c0010000fbc0060000c0c0c00000fcc0170000c0c0c00000c0c000
-00c0c00000c0c0c00000c0c00000f8c0010000f2c0230000c0c0c00000c0
-c0c00000c0c00000c0c00000c00000c0c0c00000c00000c0c0c00000efc0
-060000c0c0c00000f7c03e0000c0c0c00000c00000c0c0c00000c00000c0
-c0c00000c00000c0c0c00000c00000c0c00000c0c00000c0c00000c0c000
-00c0c0c00000c00000c0c0c00000e7c0f0c0fc00fac0fc0009c0c00000c0
-c0c00000c0f900f4c0fc00fcc0010000fcc0fb00fdc0fb00e6c0110000c0
-c0c00000c00000c0c0c00000c0c0c0fc0008c0c00000c0c0c00000f7c007
-0000c0c0c00000c0f90009c00000c0c0c00000c0c0fb0080c096c0fc00fb
-c0fb00fcc0fc00fdc0fd0004c00000c0c0fb0001c0c0fc00eac0fc0009c0
-c00000c0c0c00000c0fa00fdc0fb0008c0c00000c0c0c00000efc0f900f7
-c0080000c0c0c00000c0c0fb00fdc0fb00fdc0fb00fdc0fd0004c00000c0
-c0fb00fdc0fb00fdc0fb00e6c080c080c080c080c0acc0010000d6c080c0
-80c080c080c0b0c0050000c0c00000d6c080c080c080c080c0afc0fc00d5
-c080c080c080c080c080c080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000af00fbc0d60007c0c0
-000000c0c000f9c00000fcc0fc00fac08000ec00fcc0f30000c0f400fdc0
-f100fdc0da0001c0c0e500fac0fb0001c0c08000b500b00006c0c0000000
-c0c0d70012c0c0000000c0c00000c0c00000c0c00000c0c0fa0005c0c000
-00c0c08000ee0005c0c00000c0c0f50001c0c0f30001c0c0f00001c0c0da
-0001c0c0e40005c0c00000c0c0fc0001c0c08000b500b00006c0c0000000
-c0c0d70012c0c0000000c0c00000c0c0000000c00000c0c0fa0005c0c000
-00c0c08000ef0001c0c0fc0000c0f50001c0c0f30001c0c0f00001c0c0bc
-0005c0c00000c0c08000af00ac0001c0c0d6000cc0c0000000c0c00000c0
-c000c0fc0001c0c0fa0005c0c00000c0c08000ef0001c0c0f900fbc00100
-00fac0f50007c0c000c0c0000000fbc0fb000ac0c0000000c0c000c0c0c0
-f60008c0c00000c0c0000000fbc0fc00fdc0fd000ec0c000c0c0c0000000
-c0c0c000c0c0f60017c0c00000c0c0000000c0c0c0000000c0c000c0c0c0
-000000fbc08000c600ad0001c0c0d500f9c0010000fcc0fc0001c0c0fa00
-fbc08000ee0001c0c0fa000bc0c0000000c0c0000000c0c0f300fdc00a00
-c0c000c0c0000000c0c0fc0001c0c0fc0005c0c00000c0c0f7000ec0c000
-00c0c00000c0c0000000c0c0fc0001c0c0fc000cc0c00000c0c000c0c000
-00c0c0f500fbc0fb0001c0c0fc000dc0c00000c0c000c0c0000000c0c080
-00c700ad0001c0c0d5000cc0c0000000c0c00000c0c000c0fc0001c0c0fa
-0001c0c08300f9c0ef0002c0c000fcc00000f9c0fd0001c0c0f30006c0c0
-0000c0c000f9c0fc0001c0c0fc0005c0c00000c0c0f7000ac0c00000c0c0
-000000c0c0f80001c0c0fc000cc0c00000c0c000c0c00000c0c0f50001c0
-c0f80001c0c0fc0006c0c00000c0c000f9c08000c700ad0001c0c0d5000a
-c0c0000000c0c00000c0c0fa0001c0c0fa0001c0c08000eb0009c0c00000
-00c0c000c0c0f80001c0c0f30008c0c00000c0c000c0c0f70001c0c0fc00
-05c0c00000c0c0f70005c0c00000c0c0fc00fdc0fa0001c0c0fc000cc0c0
-0000c0c000c0c00000c0c0f50001c0c0f80001c0c0fc0008c0c00000c0c0
-00c0c08000c20080001ac0c0000000c0c00000c0c0000000c00000c0c000
-0000c00000c0c08000eb0009c0c0000000c0c000c0c0f80001c0c0f30008
-c0c00000c0c000c0c0f70001c0c0fc0005c0c00000c0c0f70005c0c00000
-c0c0fa0001c0c0fb0001c0c0fc000cc0c00000c0c000c0c00000c0c0f500
-01c0c0f80001c0c0fc0008c0c00000c0c000c0c08000c200ad0001c0c0d5
-001ac0c0000000c0c00000c0c00000c0c00000c0c00000c0c00000c0c080
-00ea0015c0c00000c0c000c0c0000000c0c0000000c0c000c0c0f6000dc0
-c00000c0c000c0c0000000c0c0fc0001c0c0fc0005c0c00000c0c0f7000e
-c0c00000c0c00000c0c0000000c0c0fc0001c0c0fc000cc0c00000c0c000
-c0c00000c0c0f50001c0c0f80001c0c0fc000dc0c00000c0c000c0c00000
-00c0c08000c700ad0001c0c0d50007c0c0000000c0c000f9c00000f9c000
-00fcc08000ea00fdc00300c00000fbc0fb00fdc0f600fdc0050000c0c000
-00fbc0fc00fcc0fd00fbc0f500fdc00400c0c00000fbc0fc00fcc0fd0007
-c0c00000c0c00000fbc0f600fcc0fa00fcc0fd0007c0c00000c0c00000fb
-c08000c60080008000970001c0c0cf0001c0c080009e0080008000970001
-c0c0d30005c0c00000c0c080009e00800080009800fcc0d300fcc080009d
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000b80080c080c080c098
-c0b000b80080c080c080c098c0b000b800f6c0fc00d4c0fc00fdc0fb0009
-c0c00000c0c0c00000c0fa00fdc0fb00fdc0fb0001c0c0f900f7c0070000
-c0c0c00000c0f90001c0c0fb00fdc0fb00fbc00000fac0fc0001c0c0f900
-c5c0fc00b3c0fd00dbc0fd0080c001c0c0b000b800f7c0050000c0c00000
-d6c0350000c0c00000c00000c0c0c00000c0000000c0000000c0c00000c0
-c00000c00000c0c0c00000c00000c0c0c00000c0c00000c0c00000f7c0fd
-0021c0000000c0c00000c0c00000c00000c0c0c00000c00000c0c0c00000
-c0c0c0000000fcc00d0000c0c00000c0c00000c0c00000c6c0050000c0c0
-0000b3c0010000dac001000080c001c0c0b000b800f8c0010000fcc00000
-d7c0010000fcc00900c00000c0c0c00000c0f9001fc0c00000c0c00000c0
-0000c0c0c00000c00000c0c0c00000c0c00000c0c0c000f7c0f90022c0c0
-0000c0c0c000c00000c0c0c00000c00000c0c0c00000c0c00000c00000c0
-c00000fcc00800c0c00000c0c0c000c7c0010000fcc00000b3c0010000da
-c001000080c001c0c0b000b800f8c0010000d2c0010000fac0070000c0c0
-c00000c0f90013c0c00000c0c00000c00000c0c0c00000c0c00000fac003
-0000c000f5c0f90005c0c00000c000fcc0010000fac0010000fbc0090000
-c0c0c00000c00000f9c0030000c000c5c0010000f9c0fb0012c0c0000000
-c00000c0c00000c0000000c0c0c0fb00fdc0fb00fdc0fb00f5c0fc00fdc0
-050000c0000000fcc0fc00f5c0fb00fdc0fb0007c0c00000c0000000fcc0
-fc00f5c0fc00f5c0fd0005c00000c0c0c0fb00fdc0fb00fdc0fb00fdc0fc
-00fcc0fd0004c00000c0c0fb00cec0b000b800f8c0010000d2c0010000fa
-c0100000c0c0c00000c00000c000c00000c0c0fb000ec0c00000c0c0c000
-00c0c0c0000000fcc0fc00f5c0080000c000c00000c0c0fc00fbc0fd00fb
-c0fd00fdc0090000c0c0c00000c00000f9c0fc00c5c0010000fac0070000
-c0c0c00000c0f9001fc0c00000c0c00000c00000c0c0c00000c00000c0c0
-c00000c00000c0c0c00000f3c0110000c0c0c00000c0c00000c0c00000c0
-0000f6c01d0000c0c0c00000c00000c0c0c00000c0c00000c0c00000c0c0
-0000c00000f2c0010000f6c0f90017c00000c0c0c00000c00000c0c0c000
-00c00000c0c0c00000fbc0120000c0c00000c0c00000c0c00000c0c0c000
-00cfc0b000b800f8c0010000d2c0010000fac0120000c0c0c00000c00000
-c0c0c00000c0c00000fbc0060000c0c0c00000fbc0080000c0c0c00000c0
-00f5c00c0000c0c0c00000c0c00000c000f9c0010000fac0030000c0c0f9
-0003c00000c0fc0005c0c00000c000ddc0f900efc0010000fac0220000c0
-c0c00000c00000c000c00000c0c00000c0c00000c00000c0c0c00000c0c0
-0000fbc0f900f6c0fb00fdc00c0000c0c00000c00000c0c00000f5c00100
-00fbc0f9000ec0c00000c0c00000c00000c0c00000f5c0fb00f6c0070000
-c000c00000c0f90003c0c00000fac0010000fac0fb0009c0c00000c0c000
-00c0c0f900cfc0b000b800f8c0010000d2c0010000fac0120000c0c0c000
-00c00000c0c0c00000c0c00000fbc0060000c0c0c00000fac0050000c0c0
-0000f3c00a0000c0c0c00000c0c00000f6c0010000fac0150000c00000c0
-c0c00000c00000c0c0c00000c0c00000c3c0010000fac0290000c0c0c000
-00c00000c000c00000c0c00000c0c00000c00000c0c0c00000c0c0c00000
-00c0c0c00000f2c0150000c0c00000c0c0c00000c0c00000c00000c0c000
-00f4c0fd00fdc0010000f9c00c0000c0c00000c00000c0c00000f6c00500
-00c0c00000f6c0090000c000c00000c00000f8c0fd00fbc0fd00fdc01100
-00c0c00000c0c00000c0c00000c0c00000cac0b000b800f8c0010000fcc0
-0000d7c0010000fcc01400c00000c0c0c00000c00000c0c0c00000c0c000
-00fbc0160000c0c0c00000c00000c0c0c00000c0c00000c0c0c000f7c036
-0000c0c0c00000c0c00000c0c0c000c00000c0c0c00000c00000c0c0c000
-00c00000c0c0c00000c00000c0c0c00000c0c00000c0c0c000c7c0010000
-fcc02000c00000c0c0c00000c00000c000c00000c0c00000c0c00000c000
-00c0c0c00000fbc0050000c0c00000f2c0150000c0c00000c0c0c00000c0
-c00000c00000c0c00000f2c0050000c0c00000f9c00c0000c0c00000c000
-00c0c00000f6c0050000c0c00000f6c0090000c000c00000c00000f6c001
-0000fac0150000c0c00000c0c00000c0c00000c0c00000c0c00000cac0b0
-00b800f7c0050000c0c00000d6c0190000c0c00000c00000c0c0c00000c0
-0000c0c0c00000c0c00000fbc0160000c0c0c00000c00000c0c0c00000c0
-c00000c0c00000f7c0360000c0c0c00000c0c00000c0c00000c00000c0c0
-c00000c00000c0c0c00000c00000c0c0c00000c0c00000c0c00000c0c000
-00c0c00000c6c0350000c0c00000c00000c0c0c00000c00000c000c00000
-c0c00000c0c00000c00000c0c0c00000c00000c0c0c00000c00000c0c0c0
-0000f7c0150000c0c00000c0c0c00000c0c00000c00000c0c00000f6c01d
-0000c0c0c00000c00000c0c0c00000c0c00000c0c00000c00000c0c00000
-f6c0050000c0c00000f6c0360000c000c00000c00000c0c0c00000c00000
-c0c0c00000c00000c0c0c00000c00000c0c00000c0c00000c0c00000c0c0
-0000c0c0c00000cfc0b000b800f6c0fc00d4c0fc00fdc0fb0009c0c00000
-c0c0c00000c0fc00fbc0fb00fdc0fb0001c0c0f900f7c0070000c0c0c000
-00c0f90001c0c0fb00fdc0fb0011c0c00000c0c0c00000c0c0c0000000c0
-00c0f900c5c0fc00fdc0fb000ac0c00000c0c0c00000c0c0fb00fdc0fb00
-fdc0fb00fdc0fb00f5c0fd0012c00000c0c00000c0c00000c0c0000000c0
-0000f6c0fb00fdc0fb00fdc00d0000c0c00000c0c0000000c00000f6c0fd
-0002c00000f7c0080000c0c0c00000c0c0fb00fdc0fb00fdc0fb00fdc0fd
-0004c00000c0c0fb00fdc0fb00cec0b000b80080c080c002c0000080c0d7
-c0010000c6c0b000b80080c080c002c0000080c0dbc0050000c0c00000c6
-c0b000b80080c080c0fc0080c0dbc0fc00c5c0b000b80080c080c080c098
-c0b000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000ae00fcc0d60007c0c0000000c0c000f9c0010000fbc0fd00fbc0fb
-0000c0fa00fcc0010000f9c0f500fcc0090000c0c0000000c0c000fbc0fd
-00f9c00700c0c0000000c0c0b70006c0c0000000c0c0fc0001c0c09a0001
-c0c0ba0000c0f100fdc0f400fdc0fa00fdc09600ad0001c0c0d500fdc021
-00c0c0c00000c0c00000c0c000c0c0000000c0c000c0c0000000c0c00000
-00c0c0c0fc000dc0c00000c0c00000c0c00000c0c0f40023c0c0000000c0
-c0c00000c0c00000c0c000c0c0000000c0c00000c0c000c0c0000000c0c0
-b70006c0c0000000c0c0fc0001c0c09a0001c0c0bb0001c0c0f20004c0c0
-00c0c0f40001c0c0f90001c0c09600ad0001c0c0d500f9c0220000c0c000
-0000c000c0c0000000c0c000c0c0000000c0c00000c0c000c0c00000c0c0
-fc0008c00000c0c0000000c0f40004c0c0000000fcc01900c0c00000c0c0
-0000c0c00000c0c0000000c00000c0c000c0c0b60006c0c0000000c0c080
-00cd0001c0c0f20004c0c00000c0f40001c0c0f90001c0c09600ad0001c0
-c0d500f9c0050000c0c000c0fc0001c0c0fa0001c0c0fb0009c0c0000000
-c0c000c0c0f90003c0c000c0f20004c0c0000000f9c00d0000c0c00000c0
-c00000c0c000c0fc00fbc0b6000cc0c0000000c0c0000000c0c0c0fc00fb
-c0080000c0c0000000c0c0f700fdc00500c0c0000000fbc0fd00fbc0fd00
-fbc0fd00fcc0fc00fdc00400c0c00000fbc0fd00fbc0f400fdc0fd0005c0
-c000c0c0c0f500fbc01a0000c0c00000c0c00000c0c000c0c0c00000c0c0
-00c0c0c0000000fbc0090000c0c000c0c0c00000fac0f40001c0c0fb00fb
-c0fb0001c0c0fb00fcc0fd00fbc0070000c0c000c0c0c0a600ad0001c0c0
-d50008c0c000c000c0c00000fcc0fb00fdc0fb00fdc0fd0009c0c0000000
-c0c000c0c0f900fcc0f20007c0c0000000c0c000fcc0090000c0c00000c0
-c00000fcc0fb00fdc0b50006c0c0000000c0c0fc0013c0c0000000c0c000
-0000c0c000c0c0000000c0c0f700f9c01700c0c0000000c0c000c0c00000
-00c0c000c0c0000000c0c0fb001ac0c00000c0c00000c0c00000c0c00000
-00c0c000c0c0000000c0c0f40001c0c0fc0005c0c00000c0c0f70033c0c0
-000000c0c000c0c00000c0c0000000c0c0c000c0c00000c0c0c000c0c000
-c0c0000000c0c00000c0c00000c0c0000000c0c0f300fcc0fd0006c0c000
-0000c0c0fc0001c0c0fc0015c0c000c0c00000c0c0000000c0c00000c0c0
-c000c0c0a700ad0001c0c0d5000cc0c0000000c0c00000c0c000c0f90001
-c0c0fa0003c0c00000f9c00300c0c000fcc0050000c0c000c0f20019c0c0
-000000c0c00000c0c0c00000c0c00000c0c00000c0c000c0fb00fdc0cd00
-f9c0ef0006c0c0000000c0c0fc0004c0c0000000f9c00700c0c000c000c0
-c0f70007c0c000c000c0c000f9c0030000c0c0fa0001c0c0fa00fbc00900
-00c0c00000c0c00000f9c0030000c0c0f00001c0c0fc0005c0c00000c0c0
-f70001c0c0fa0017c0c00000c0c0000000c0c00000c0c00000c0c00000c0
-c000f9c00c0000c0c00000c0c0000000c0c0f20001c0c0fc0006c0c00000
-00c0c0fc000cc0c0000000c0c00000c0c00000f9c0070000c0c00000c0c0
-a700ad0001c0c0d5000ac0c0000000c0c00000c0c0f60001c0c0fa0015c0
-c000c0c0000000c0c000c0c0000000c0c00000c0c0f00017c0c0000000c0
-c0000000c0c00000c0c00000c0c00000c0c0fa00fbc0b60006c0c0000000
-c0c0fc0006c0c0000000c0c0fa0006c0c000c000c0c0f70009c0c000c000
-c0c000c0c0f800fdc0fb00fdc0fd0011c0c00000c0c00000c0c00000c0c0
-0000c0c0f800fdc0f20001c0c0fc0005c0c00000c0c0f70001c0c0fa000a
-c0c00000c0c0000000c0c0fa0001c0c0fb0001c0c0f9000ac0c00000c0c0
-000000c0c0f20001c0c0fc0006c0c0000000c0c0fc000ec0c0000000c0c0
-0000c0c00000c0c0f90001c0c0a300ad0001c0c0d50036c0c0000000c0c0
-0000c0c0000000c000c0c0000000c0c000c0c0000000c0c000c0c0000000
-c0c000c0c0000000c0c00000c0c0000000c0f40022c0c0000000c0c00000
-00c0c00000c0c00000c0c00000c0c0000000c00000c0c000c0c0b50004c0
-c000c0c0fb0006c0c0000000c0c0fa0006c0c000c000c0c0f70009c0c000
-c000c0c000c0c0f60001c0c0fa0015c0c00000c0c00000c0c00000c0c000
-00c0c00000c0c0f60001c0c0f30001c0c0fc0005c0c00000c0c0f70001c0
-c0fa000ac0c00000c0c0000000c0c0fa0001c0c0fb0001c0c0f9000ac0c0
-0000c0c0000000c0c0f20001c0c0fc0006c0c0000000c0c0fc000ec0c000
-0000c0c00000c0c00000c0c0f90001c0c0a300ad0001c0c0d50036c0c000
-0000c0c00000c0c00000c0c000c0c0000000c0c000c0c0000000c0c000c0
-c0000000c0c00000c0c00000c0c00000c0c00000c0c0f40023c0c0000000
-c0c0000000c0c00000c0c000c0c0000000c0c00000c0c000c0c0000000c0
-c0b500fdc0fa000cc0c0000000c0c0000000c0c000f9c0f7003ec0c000c0
-00c0c000c0c0000000c0c000c0c0000000c0c000c0c0000000c0c000c0c0
-0000c0c00000c0c00000c0c00000c0c0000000c0c000c0c0000000c0c0f4
-0001c0c0fc0005c0c00000c0c0f70012c0c0000000c0c000c0c00000c0c0
-000000c0c0fa0001c0c0fb0016c0c0000000c0c00000c0c00000c0c00000
-00c0c000c0c0f50001c0c0fc0006c0c0000000c0c0fc0017c0c0000000c0
-c00000c0c00000c0c0000000c0c00000c0c0a300ae00fcc0d60007c0c000
-0000c0c000f9c0010000fbc0fd00fbc0110000c0c0000000c0c0000000c0
-c0c000c000f9c0f500fcc0090000c0c0000000c0c000fbc0fd00f9c00700
-c0c0000000c0c0b40000c0fa00fcc0fd00fbc0fd0004c0c000c0c0f60008
-c0c0000000c0c00000fbc0fd00fbc0fd00fbc0fd00fdc00400c0c00000fb
-c0fd00fbc0fd00fbc0f400fcc0fd0005c0c00000c0c0f600fbc0fd00fdc0
-0300c0c000fcc0fc00fcc0fb00fbc0fd0005c0c00000c0c0fc00fdc0f500
-fcc0fc00fbc0fc00fcc0fd00fdc00400c0c00000fbc0010000fcc0a40080
-0080008000fc0001c0c08000860080008000800005c0c00000c0c0800086
-008000800080000000fcc080008500800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-00800080008000800080008000800080008000800080008000b000fcc0d4
-00f9c0010000fbc0010000fcc0fc00fbc0fd00f9c00000fac0f600fcc0fa
-00fcc0fd00fbc0fd00fac0a600fbc0f400fdc0ea0000c0e100fdc0f400fd
-c0fa00fdc0e30000c0e10001c0c08000d500af0001c0c0d20011c0c00000
-c0c000c0c0000000c0c00000c0c0fa0015c0c000c0c0000000c0c00000c0
-c00000c0c00000c0c0f60001c0c0f8000dc0c0000000c0c0000000c0c000
-00fac0a70006c0c0000000c0c0f40001c0c0eb0001c0c0e20004c0c000c0
-c0f40001c0c0f90001c0c0e40001c0c0e10001c0c08000d500af0001c0c0
-d20011c0c0000000c000c0c0000000c0c00000c0c0fa0015c0c00000c0c0
-0000c0c0000000c00000c0c00000c0c0f60001c0c0f80013c0c0000000c0
-c0000000c0c00000c000c0c000c0a70006c0c0000000c0c0f40001c0c0eb
-0001c0c0e20004c0c00000c0f40001c0c0f90001c0c0e40001c0c08000b4
-00af0001c0c0d20011c0c000c0000000c0c0000000c0c00000c0c0fa000b
-c0c00000c0c00000c0c000c0fc0005c0c00000c0c0f60001c0c0f80001c0
-c0fc0001c0c0f80001c0c0a40001c0c0fa00fbc0fb0001c0c0fc00fbc0fd
-00fbc0010000fac0f500fcc0f30001c0c0fb00fbc0fb0001c0c0fb00fcc0
-fd00fbc0070000c0c000c0c0c0f600fac0fd00fbc0f6000cc0c0000000c0
-c0000000c0c0c0fc00fbc0080000c0c0000000c0c08000e700af0001c0c0
-d200fcc0fd000ac0c0000000c0c00000c0c0fa0007c0c00000c0c00000fc
-c0fc00fbc0f50001c0c0f80001c0c0fb00fdc0fa0001c0c0a300fdc0fd00
-06c0c0000000c0c0fc0018c0c0000000c0c0000000c0c000c0c0000000c0
-c0000000c0c0f00001c0c0f500fcc0fd0006c0c0000000c0c0fc0001c0c0
-fc0015c0c000c0c00000c0c0000000c0c00000c0c0c000c0c0f50001c0c0
-fc0006c0c0000000c0c0f70006c0c0000000c0c0fc0013c0c0000000c0c0
-000000c0c000c0c0000000c0c08000e700af0001c0c0d20011c0c000c000
-0000c0c0000000c0c00000c0c0fa000bc0c00000c0c00000c0c000c0fc00
-04c0c000c0c0f50001c0c0f80001c0c0f90001c0c0fb0001c0c0bd00f9c0
-eb0003c0c00000f9c0fc0004c0c0000000f9c00200c0c0f80001c0c0f300
-fbc0f40001c0c0fc0006c0c0000000c0c0fc000cc0c0000000c0c00000c0
-c00000f9c0070000c0c00000c0c0f50001c0c0fc0006c0c0000000c0c0f7
-0006c0c0000000c0c0fc0004c0c0000000f9c00700c0c000c000c0c08000
-e700af0001c0c0d20001c0c0fb000ac0c0000000c0c00000c0c0fa0009c0
-c00000c0c00000c0c0fa0005c0c00000c0c0f60001c0c0f80001c0c0f800
-01c0c0fc0001c0c0a00004c0c000c0c0f70006c0c0000000c0c0fa0001c0
-c0f80001c0c0f40005c0c00000c0c0f40001c0c0fc0006c0c0000000c0c0
-fc000ec0c0000000c0c00000c0c00000c0c0f90001c0c0f10001c0c0fc00
-06c0c0000000c0c0f70006c0c0000000c0c0fc0006c0c0000000c0c0fa00
-06c0c000c000c0c08000e700af0005c0c0000000c0d60001c0c0fb0026c0
-c0000000c0c00000c0c0000000c00000c0c00000c0c00000c0c0000000c0
-0000c0c00000c0c0f60005c0c0000000c0fc000bc0c0000000c0c0000000
-c0c0fc0001c0c0a50009c0c0000000c0c000c0c0f70006c0c0000000c0c0
-fa0001c0c0f80001c0c0f40005c0c00000c0c0f40001c0c0fc0006c0c000
-0000c0c0fc000ec0c0000000c0c00000c0c00000c0c0f90001c0c0f10001
-c0c0fc0006c0c0000000c0c0f70006c0c0000000c0c0fc0006c0c0000000
-c0c0fa0006c0c000c000c0c08000e700af0005c0c00000c0c0d60001c0c0
-fb0026c0c0000000c0c00000c0c00000c0c00000c0c000c0c0000000c0c0
-0000c0c00000c0c00000c0c0f60005c0c00000c0c0fc000bc0c0000000c0
-c0000000c0c0fc0001c0c0a5000ec0c0000000c0c000c0c0000000c0c0fc
-001bc0c0000000c0c0000000c0c000c0c0000000c0c0000000c0c000c0c0
-f70005c0c00000c0c0f40001c0c0fc0006c0c0000000c0c0fc0017c0c000
-0000c0c00000c0c00000c0c0000000c0c00000c0c0f1000cc0c000c0c000
-c0c0000000c0c0f60004c0c000c0c0fb000cc0c0000000c0c0000000c0c0
-00f9c08000e700b000f9c0d700fcc0fb00fbc0010000f9c00000fbc0fd00
-f9c00700c0c0c00000c0c0f700f9c0fd00fcc0fd00fbc0fc00fcc0a500fb
-c0fd00fbc0fc00fcc0fd00fbc0fd00fbc0fb00fdc0f500fdc00200c0c0f6
-00fcc0fc00fbc0fc00fcc0fd00fdc00400c0c00000fbc0010000fcc0f100
-fdc0fd00fbc0f400fdc0fb00fcc0fd00fbc0fd0004c0c000c0c08000e600
-800080008000800080008000800080008000800080008000800080008000
-800080008000800080008000800080008000800080008000800080008000
-800080008000800080008000800080008000800080008000800080008000
-800080008000800080008000800080008000800080008000800080008000
-800080008000800080008000800080008000800080008000800080008000
-800080008000800080008000800080008000800080008000800080008000
-800080008000800080008000800080008000800080008000800080008000
-80008000800080008000ad0000c0d10000c0fc00fbc0fd00fbc0fd00fac0
-010000f9c0010000fbc0fd00fbc0f600fac0fd00fbc0fd00fbc0080000c0
-c0c00000c0c0af0006c0c0000000c0c0f400fdc0f30000c0e100fdc0fb00
-fdc0d600fdc0eb00fdc08000c300ae00fdc0d300fdc0fc002dc0c000c0c0
-000000c0c000c0c0000000c0c00000c0c00000c0c00000c0c000c0c00000
-00c0c000c0c0000000c0c0f6001dc0c00000c0c000c0c0000000c0c000c0
-c0000000c0c00000c0c00000c0c0af0006c0c0000000c0c0f30001c0c0f4
-0001c0c0e00001c0c0fa0001c0c0d50001c0c0ea0001c0c08000c300af00
-04c0c000c0c0d50035c0c000c0c0000000c0c00000c0c00000c0c00000c0
-c00000c0c00000c0c00000c0c0000000c000c0c0000000c0c000c0c00000
-00c0c0f6001dc0c00000c0c000c0c0000000c0c000c0c0000000c0c00000
-c0c00000c0c0af0006c0c0000000c0c0f30001c0c0f40001c0c0e00001c0
-c0fa0001c0c0d50001c0c0ea0001c0c08000c300b00006c0c0000000c0c0
-d70024c0c0000000c0c00000c0c00000c0c00000c0c00000c0c00000c0c0
-0000c0c00000c0c000c0fc0001c0c0fa0001c0c0f2001cc0c00000c0c000
-c0c0000000c0c000c0c0000000c0c00000c0c000c0c0ae000dc0c0000000
-c0c000c0c000c0c0c0fc00fcc0fd00fcc0fd00fac0fd00fbc0f500fcc0fb
-00fcc0fc00fcc00a0000c0c000c0c0c0000000fbc0fd00fbc0fd00fbc0f5
-00fcc0fc00fbc0fd00fbc0fd0005c0c00000c0c08000c700b00006c0c000
-0000c0c0d70018c0c0000000c0c00000c0c00000c0c00000c0c00000c0c0
-0000fbc0fd00fcc0fb00fdc0fb00fdc0f400fbc0120000c0c0000000c0c0
-00c0c0000000c0c00000fcc0ad0015c0c0000000c0c00000c0c00000c0c0
-0000c0c000c0c0fa0001c0c0fc0001c0c0fc0006c0c0000000c0c0f30032
-c0c0000000c0c000c0c0000000c0c000c0c0000000c0c0c000c0c000c0c0
-000000c0c000c0c0000000c0c000c0c0000000c0c0f6001cc0c000c0c000
-00c0c0000000c0c000c0c0000000c0c00000c0c000c0c08000c600b000f9
-c0d700f9c01d0000c0c00000c0c00000c0c00000c0c00000c0c000c0c000
-0000c0c000c0f90001c0c0fa0001c0c0f50017c0c00000c0c000c0c00000
-00c0c000c0c0000000c0c00000fcc0c500f9c0ef0018c0c0000000c0c000
-00c0c00000c0c000c0c00000c0c0000000fbc0fc0001c0c0fc00f9c0f600
-fbc0190000c0c00000c0c00000c0c00000c0c0000000c0c00000c0c000f9
-c0030000c0c0fa0001c0c0f20017c0c00000c0c000c0c0000000c0c000c0
-c0000000c0c00000fcc08000c500b00006c0c0000000c0c0d70022c0c000
-0000c0c00000c0c00000c0c00000c0c00000c0c00000c0c00000c0c00000
-c0c0f60001c0c0fa0001c0c0f6001cc0c00000c0c000c0c0000000c0c000
-c0c0000000c0c00000c0c000c0c0ae001dc0c0000000c0c00000c0c00000
-c0c000c0c00000c0c00000c0c00000c0c0fc0001c0c0fc0001c0c0f2001a
-c0c00000c0c00000c0c00000c0c00000c0c00000c0c0000000c0c0fb0001
-c0c0f800fdc0fb00fdc0f40017c0c00000c0c000c0c0000000c0c000c0c0
-000000c0c00000fcc08000c500b00006c0c0000000c0c0d70036c0c00000
-00c0c00000c0c00000c0c00000c0c00000c0c00000c0c00000c0c00000c0
-c0000000c000c0c0000000c0c000c0c0000000c0c0f6001dc0c00000c0c0
-00c0c0000000c0c000c0c0000000c0c00000c0c00000c0c0af001dc0c000
-0000c0c00000c0c00000c0c000c0c00000c0c00000c0c00000c0c0fc0001
-c0c0fc0001c0c0f2001ac0c00000c0c00000c0c00000c0c00000c0c00000
-c0c0000000c0c0fb0001c0c0f60001c0c0fa0001c0c0f5001cc0c00000c0
-c000c0c0000000c0c000c0c0000000c0c00000c0c000c0c08000c600b000
-06c0c0000000c0c0d70036c0c0000000c0c00000c0c000c0c0000000c0c0
-00c0c0000000c0c00000c0c00000c0c00000c0c000c0c0000000c0c000c0
-c0000000c0c0f6001dc0c00000c0c000c0c0000000c0c000c0c0000000c0
-c00000c0c00000c0c0af001dc0c0000000c0c00000c0c00000c0c000c0c0
-0000c0c00000c0c00000c0c0fc000cc0c000c0c000c0c0000000c0c0f700
-1ac0c00000c0c00000c0c00000c0c00000c0c00000c0c0000000c0c0fb00
-16c0c0000000c0c000c0c0000000c0c000c0c0000000c0c0f6001dc0c000
-00c0c000c0c0000000c0c000c0c0000000c0c00000c0c00000c0c08000c7
-00b00006c0c0000000c0c0d70007c0c0000000c0c000fbc0fd00fbc0fd00
-fdc0040000c0c000f9c0010000fbc0fd00fbc0f600fac0fd00fbc0fd00fb
-c0080000c0c0c00000c0c0ae00fbc0fd00fbc0fd00fdc00a00c0c00000c0
-c0c000c0c0fc00fdc0fd00fbc0f500fdc01300c0c00000c0c0c000c0c000
-00c0c0c000c0c000fcc0fb00fbc0fd00fbc0fd00fbc0f500fbc0fd00fbc0
-fd00fbc0080000c0c0c00000c0c08000c70080008000c70001c0c0800080
-00bb0080008000c70001c0c080008000bb0080008000c800fcc080008000
-bc0080008000800080008000800080008000800080008000800080008000
-800080008000800080008000800080008000800080008000800080008000
-800080008000800080008000800080008000800080008000800080008000
-800080008000800080008000800080008000800080008000800080008000
-800080008000800080008000800080008000800080008000800080008000
-800080008000800080008000800080008000800080008000800080008000
-800080008000800080008000af00fbc0d500fbc0010000f9c0010000fac0
-0800c0c0000000c0c000fac08000f400fcc0eb00fdc0fb0001c0c0d500fa
-c0fb0001c0c0e400fbc0f30000c0f90001c0c08000c500b00006c0c00000
-00c0c0d70010c0c0000000c0c00000c0c00000c0c00000fac00f00c0c000
-0000c0c00000c0c00000c0c08000f60005c0c00000c0c0ed0004c0c000c0
-c0fc0001c0c0d40005c0c00000c0c0fc0001c0c0e50006c0c0000000c0c0
-f50001c0c0f90001c0c08000c500b00006c0c0000000c0c0d70026c0c000
-0000c0c00000c0c0000000c00000c000c0c000c000c0c0000000c0c00000
-c0c00000c0c08000f70001c0c0fc0000c0ed0004c0c00000c0ce0005c0c0
-0000c0c0df0006c0c0000000c0c0f50001c0c08000bc00af0001c0c0d200
-01c0c0fa0003c0c000c0fa0013c0c0000000c0c0000000c0c00000c0c000
-00c0c08000f70001c0c0f900fbc0070000c0c000c0c0c0fc0001c0c0fa00
-fdc0fc00fdc01400c0c000c0c00000c0c00000c0c000c0c0c0000000fbc0
-f50017c0c00000c0c0000000c0c0c0000000c0c000c0c0c0000000fbc0f6
-000fc0c0000000c0c000c0c000c0c0c00000fac0fc00fdc0fc00fbc00a00
-00c0c000c0c0c0000000fbc08000de00ae00fdc0d300fdc0fc00fcc0fa00
-0dc0c0000000c0c0000000c0c00000fbc08000f60001c0c0fa0010c0c000
-0000c0c00000c0c00000c0c00000fcc0fa0023c0c0000000c0c00000c0c0
-0000c0c00000c0c0000000c0c0c000c0c000c0c0000000c0c0f600fbc0fb
-0001c0c0fc000dc0c00000c0c000c0c0000000c0c0f70013c0c0000000c0
-c00000c0c00000c0c0000000c0c0f9001bc0c0000000c0c0000000c0c000
-00c0c00000c0c000c0c0000000c0c08000df00ac0001c0c0d20008c0c000
-0000c0c000c0fa000fc0c0000000c0c0000000c0c00000c0c08b00f9c0ef
-0001c0c0fa0013c0c0000000c0c00000c0c00000c0c0000000c0c0f9001c
-c0c0000000c0c00000c0c00000c0c00000c0c0000000c0c00000c0c000f9
-c0f60001c0c0f80001c0c0fc0006c0c00000c0c000f9c0f70013c0c00000
-00c0c00000c0c00000c0c0000000c0c0f90017c0c0000000c0c0000000c0
-c00000c0c00000c0c00000c0c08000db00ab0001c0c0d20005c0c00000c0
-c0f8000fc0c0000000c0c0000000c0c00000c0c08000f30001c0c0fa0013
-c0c0000000c0c00000c0c00000c0c0000000c0c0f90017c0c0000000c0c0
-0000c0c00000c0c00000c0c0000000c0c0fb0001c0c0f10001c0c0f80001
-c0c0fc0008c0c00000c0c000c0c0f20013c0c0000000c0c00000c0c00000
-c0c0000000c0c0f90019c0c0000000c0c0000000c0c00000c0c00000c0c0
-000000c0c0c08000dd00b00006c0c0000000c0c0d7000ec0c0000000c0c0
-0000c0c0000000c0fc000fc0c0000000c0c0000000c0c00000c0c08000f3
-0001c0c0fc0015c000c0c0000000c0c00000c0c00000c0c0000000c0c0f9
-0017c0c0000000c0c00000c0c00000c0c00000c0c0000000c0c0fb0001c0
-c0f10001c0c0f80001c0c0fc0008c0c00000c0c000c0c0f20013c0c00000
-00c0c00000c0c00000c0c0000000c0c0f90013c0c0000000c0c0000000c0
-c00000c0c00000c0c0fb0001c0c08000de00b00006c0c0000000c0c0d700
-0ec0c0000000c0c00000c0c00000c0c0fc000fc0c0000000c0c0000000c0
-c00000c0c08000f2001ac0c00000c0c000c0c0000000c0c00000c0c00000
-c0c0000000c0c0f90017c0c0000000c0c00000c0c00000c0c00000c0c000
-0000c0c0fb0006c0c0000000c0c0f60001c0c0f80001c0c0fc000dc0c000
-00c0c000c0c0000000c0c0f70016c0c0000000c0c00000c0c00000c0c000
-0000c0c000c0c0fc001bc0c0000000c0c0000000c0c00000c0c00000c0c0
-00c0c0000000c0c08000df00af00fbc0d500fbc0010000f9c0fd00fcc0fd
-00fbc0010000fcc08000f200fcc0fd00fbc0fd0007c0c00000c0c00000fc
-c0fb00fcc0fd00fbc0fd00fdc00300c0c000fcc0fb00fbc0f600fcc0fa00
-fcc0fd0007c0c00000c0c00000fbc0f500fbc0fd00fbc0fb00fdc0fc00fc
-c0fd00fbc0fd0007c0c00000c0c00000fbc08000de0080008000a40001c0
-c0ad0001c0c08000b30080008000a80005c0c00000c0c0ad0001c0c08000
-b30080008000a700fcc0ad00fcc08000b400800080008000800080008000
-800080008000800080008000800080008000800080008000800080008000
-800080008000800080008000800080008000800080008000800080008000
-800080008000800080008000800080008000800080008000800080008000
-800080008000800080008000800080008000800080008000800080008000
-800080008000800080008000800080008000800080008000800080008000
-80008000800080008000800080008000800080008000800080008000af00
-fbc0d500fbc00b0000c0c0000000c0c0000000fcc0fd00fac08000ef00fc
-c0d10000c0fc00fdc0eb00fac0fb0001c0c080008d00b00006c0c0000000
-c0c0d7000ec0c0000000c0c000c0c0000000c0c0fc0001c0c0fc00fac080
-00ee0001c0c0d10001c0c0fb0001c0c0ea0005c0c00000c0c0fc0001c0c0
-80008d00b00006c0c0000000c0c0d7000ec0c0000000c0c000c0c0000000
-c0c0fc0001c0c0fc0005c000c0c000c08000ee0001c0c0d10001c0c0fb00
-01c0c0ea0005c0c00000c0c080008700b00006c0c0000000c0c0d7000ec0
-c0000000c0c000c0c0000000c0c0fc0001c0c0fa0001c0c08000ec0001c0
-c0fa00fbc0fd00fcc0fd0008c0c0000000c0c00000fbc0f600fac0fd0007
-c0c000c0c0000000fbc0f50017c0c00000c0c0000000c0c0c0000000c0c0
-00c0c0c0000000fbc0f60010c0c000c0c0c00000c0c000c0c0c0000000fb
-c0fd00fdc00c00c0c000c0c000c0c0c0000000fcc0fd00fdc00200c0c080
-00de00b00006c0c0000000c0c0d7000ec0c0000000c0c000c0c0000000c0
-c0fc0001c0c0fa0001c0c08000ec0001c0c0fb0006c0c0000000c0c0fb00
-12c0c00000c0c0000000c0c000c0c0000000c0c0f50001c0c0fb00fdc00a
-00c0c000c0c0000000c0c0f600fbc0fb0001c0c0fc000dc0c00000c0c000
-c0c0000000c0c0f60025c0c00000c0c00000c0c0c000c0c000c0c0000000
-c0c000c0c00000c0c0000000c0c0c000c0c0fb0003c0c00000f9c08000df
-00b00006c0c0000000c0c0d7000ec0c0000000c0c000c0c0000000c0c0fc
-0001c0c0fa0001c0c08500f9c0ee0001c0c0fb00f9c0010000fbc0090000
-c0c0000000c0c000f9c0f50001c0c0fb0006c0c00000c0c000f9c0f60001
-c0c0f80001c0c0fc0006c0c00000c0c000f9c0f60027c0c00000c0c00000
-c0c00000c0c000c0c0000000c0c000c0c00000c0c0000000c0c00000c0c0
-0000fbc0080000c0c000c000c0c08000df00b00006c0c0000000c0c0d700
-0ec0c0000000c0c000c0c0000000c0c0fc0001c0c0fa0001c0c08000ec00
-01c0c0fb0001c0c0fa0011c0c00000c0c00000c0c0000000c0c000c0c0f0
-0001c0c0fb0008c0c00000c0c000c0c0f10001c0c0f80001c0c0fc0008c0
-c00000c0c000c0c0f10009c0c00000c0c00000c0c0fb0012c0c0000000c0
-c000c0c00000c0c0000000c0c0fb000ec0c00000c0c00000c0c000c000c0
-c08000df00b00006c0c000c000c0c0d7000ec0c000c000c0c000c0c00000
-00c0c0fc0001c0c0fa0001c0c08000ec0008c0c0000000c000c0c0fa0011
-c0c00000c0c00000c0c0000000c0c000c0c0f00001c0c0fb0008c0c00000
-c0c000c0c0f10001c0c0f80001c0c0fc0008c0c00000c0c000c0c0f10009
-c0c00000c0c00000c0c0fb0012c0c0000000c0c000c0c00000c0c0000000
-c0c0fb000ec0c00000c0c00000c0c000c000c0c08000df00b00002c0c000
-fcc0d70002c0c000fcc00700c0c0000000c0c0fc0001c0c0fa0001c0c080
-00ec0025c0c00000c0c000c0c0000000c0c000c0c00000c0c0000000c0c0
-00c0c00000c0c0000000c0c0f50014c0c000c0c00000c0c00000c0c000c0
-c0000000c0c0f60001c0c0f80001c0c0fc000dc0c00000c0c000c0c00000
-00c0c0f60009c0c00000c0c00000c0c0fb0012c0c0000000c0c000c0c000
-00c0c0000000c0c0fb000ec0c00000c0c00000c0c000c000c0c08000df00
-af00fbc0d500fbc0fd00fbc0fc00fcc0fc00fcc08000ee00f9c0010000fb
-c0fd00fdc00800c0c0000000c0c0c0fc00fbc0f300fdc00a0000c0c0c000
-00c0c00000fbc0f600fcc0fa00fcc0fd0007c0c00000c0c00000fbc0f500
-fbc0010000fcc0fb00fbc0fd00fbc0010000fcc0fb00fdc00a00c0c000c0
-c0000000c0c08000df00ac0001c0c0d20001c0c080008000dd0001c0c0e7
-0001c0c08000c600ac00fdc0d300fdc080008000de0001c0c0eb0005c0c0
-0000c0c08000c600800080008000d800fcc0eb00fcc08000c50080008000
-800080008000800080008000800080008000800080008000800080008000
-800080008000800080008000800080008000800080008000800080008000
-800080008000800080008000800080008000800080008000800080008000
-800080008000800080008000800080008000800080008000800080008000
-800080008000800080008000800080008000800080008000800080008000
-800080008000800080008000800080008000800080008000800080008000
-800080008000800080008000800080008000800080008000800080008000
-800080008000800080008000800080008000800080008000800080008000
-800080008000800080008000800080008000800080008000800080008000
-800080008000800080008000800080008000800080008000800080008000
-800080008000800080008000800080008000800080008000800080008000
-800080008000800080008000800080008000800080008000800080008000
-800080008000800080008000800080008000800080008000800080008000
-800080008000800080008000800080008000800080008000800080008000
-800080008000800080008000800080008000800080008000800080008000
-800080008000800080008000800080008000800080008000800080008000
-800080008000800080008000800080008000800080008000800080008000
-800080008000800080008000800080008000800080008000800080008000
-800080008000800080008000800080008000800080008000800080008000
-800080008000800080008000800080008000800080008000800080008000
-800080008000800080008000800080008000800080008000800080008000
-800080008000800080008000800080008000800080008000800080008000
-800080008000800080008000800080008000800080008000800080008000
-800080008000800080008000800080008000800080008000800080008000
-800080008000800080008000800080008000800080008000800080008000
-800080008000800080008000800080008000800080008000800080008000
-800080008000800080008000800080008000800080008000800080008000
-80008000800080008000800080008000e600fcc0db0001c0c0f500fdc0f8
-0000c0f10001c0c0fc00fbc0fd00fbc0fd00fbc0f500fbc0fc00fdc0fb00
-fdc0fc00fbc0e600fac0fc00fcc0090000c0c0000000c0c000f9c0f40001
-c0c0da0000c0e900fdc0de00fdc0e800fdc0f30000c0fc00fdc0eb0006c0
-c0000000c0c0f40001c0c0da0001c0c0fa0000c0e100fdc0f60006c0c000
-0000c0c0ef00fdc0f80001c0c0ea0000c0cc00e70005c0c00000c0c0dc00
-01c0c0f40001c0c0f90001c0c0f200fdc0fd0016c0c0000000c0c000c0c0
-000000c0c000c0c0000000c0c0f7001ec0c0000000c0c00000c0c000c0c0
-000000c0c000c0c00000c0c0000000c0c0e60005c0c00000c0c0fc0013c0
-c0000000c0c0c00000c0c00000c0c00000c0c0f40001c0c0db0001c0c0e8
-0001c0c0dd0001c0c0e90004c0c000c0c0f50001c0c0fb0001c0c0eb0006
-c0c0000000c0c0f40001c0c0da0001c0c0fb0001c0c0e20004c0c000c0c0
-f70006c0c0000000c0c0ee0001c0c0f80001c0c0eb0001c0c0cc00e80001
-c0c0fc0000c0ce0001c0c0f90001c0c0f300fcc0fd0016c0c0000000c0c0
-00c0c0000000c0c000c0c0000000c0c0f20011c0c000c0c0000000c0c000
-c0c0000000c0c0fa0001c0c0e60005c0c00000c0c0fc0004c0c0000000fc
-c00a00c0c00000c0c0000000c0cd0001c0c0e80001c0c0dd0001c0c0e900
-04c0c00000c0f50001c0c0fb0001c0c0eb0006c0c0000000c0c0c50001c0
-c0e20004c0c00000c0f70006c0c0000000c0c0ee0001c0c0e10001c0c0cc
-00e80001c0c0f900fbc0170000c0c000c0c0c00000c0c0000000c0c000c0
-c000c0c0c0fc00fdc0fc00fdc00b00c0c00000c0c000c0c00000fac0f300
-1bc0c0000000c0c0000000c0c000c0c0000000c0c000c0c0000000c0c0f3
-0012c0c00000c0c0000000c0c000c0c0000000c0c0fa0001c0c0e60005c0
-c00000c0c0fc0004c0c0000000f9c0050000c0c000c0f300fdc0fc00fbc0
-f500fcc0f500fac00a0000c0c000c0c0c0000000fcc0fb00fcc0fd00fbc0
-0a0000c0c0c000c0c0000000fcc0fd000ec0c000c0c0c0000000c0c00000
-c0c0f600fbc0fc0001c0c0f400fac0fd0007c0c000c0c0000000fbc0f600
-0dc0c0000000c0c000c0c000c0c0c0fc00fdc0fd0008c0c0000000c0c000
-00fbc00a0000c0c000c0c0c0000000fbc0fc00fdc0fd00fac0080000c0c0
-000000c0c0f600fbc0fc0001c0c0f40008c0c0000000c0c00000fcc0fc00
-fbc0fd0004c0c000c0c0fc00fdc0fd000fc0c000c0c0c0000000c0c0c000
-c0c000fac0fd00fbc0070000c0c000c0c0c0de00e80001c0c0fa001ec0c0
-000000c0c00000c0c00000c0c000c0c0000000c0c00000c0c0c000c0c0fc
-0018c0c0000000c0c00000c0c0000000c0c0c000c0c0000000c0c0f10001
-c0c0fc00fac0010000fbc0fd00fac0f40016c0c0000000c0c000c000c0c0
-00c0c000c000c0c0000000fcc0e500fbc0fb0007c0c0000000c0c000fcc0
-010000fcc0f2000bc0c0000000c0c0000000c0c0f30001c0c0f40001c0c0
-fb00fdc00200c0c0fb0013c0c0000000c0c000c0c00000c0c0000000c0c0
-00f9c0fb0011c0c0000000c0c0c000c0c00000c0c000c0c0f60008c0c000
-0000c0c00000fcc0f30001c0c0fb00fdc00a00c0c000c0c0000000c0c0f7
-000ec0c0000000c0c00000c0c00000c0c0fc0023c0c0000000c0c0000000
-c0c000c0c0000000c0c00000c0c0c000c0c000c0c0000000c0c0fc0001c0
-c0fb0001c0c0fc0006c0c0000000c0c0f70008c0c0000000c0c00000fcc0
-f50006c0c000c000c0c0fb0012c0c00000c0c0000000c0c00000c0c0c000
-c0c0fc0001c0c0fc000cc0c00000c0c000c0c00000c0c0fc0001c0c0fc00
-0ec0c0000000c0c00000c0c00000c0c0df00e80001c0c0fa001ec0c00000
-00c0c00000c0c00000c0c000c0c0000000c0c00000c0c00000c0c0fc0018
-c0c0000000c0c00000c0c0000000c0c00000c0c0000000c0c0f10001c0c0
-f80009c0c000c0c0000000c0c0fa0002c0c000f9c0fd0001c0c0fc000ec0
-c000c000c0c000c0c000c000c0c0fa0001c0c0e60001c0c0f80011c0c000
-0000c0c00000c0c0c00000c0c000c0f20001c0c0fc0001c0c0f200fbc0f4
-0001c0c0fb0007c0c00000c0c00000fbc0090000c0c00000c0c00000f9c0
-0900c0c000c000c0c00000fbc0fd0007c0c00000c0c00000fcc0f5000bc0
-c0000000c0c0000000c0c0f20001c0c0fb0006c0c00000c0c000f9c0f700
-0ec0c0000000c0c00000c0c00000c0c0fc000cc0c0000000c0c0000000c0
-c000f9c00b0000c0c00000c0c00000c0c0f80001c0c0fb0001c0c0fc0006
-c0c0000000c0c0f7000bc0c0000000c0c0000000c0c0f40008c0c000c000
-c0c00000fbc0fd0001c0c0fa0005c0c00000c0c0fc0001c0c0fc000cc0c0
-0000c0c000c0c00000c0c0fc0001c0c0fc000ec0c0000000c0c00000c0c0
-0000c0c0df00e80001c0c0fa001ac0c0000000c0c00000c0c00000c0c000
-c0c0000000c0c00000c0c0f80018c0c0000000c0c00000c0c0000000c0c0
-0000c0c0000000c0c0f10001c0c0f80009c0c000c0c0000000c0c0fa0001
-c0c0f60001c0c0fb000ec0c0000000c0c000c0c0000000c0c0fa0001c0c0
-e60001c0c0f8000fc0c0000000c0c0000000c0c00000c0c0f00001c0c0fb
-00fdc0f50005c0c00000c0c0f40001c0c0fb0001c0c0fb0011c0c00000c0
-c00000c0c00000c0c00000c0c0fa0012c0c000c000c0c000c0c00000c0c0
-000000c0c0fa00fcc0f5000bc0c0000000c0c0000000c0c0f20001c0c0fb
-0008c0c00000c0c000c0c0f2000ec0c0000000c0c00000c0c00000c0c0fc
-000ec0c0000000c0c0000000c0c000c0c0f90001c0c0f900fdc0fa0001c0
-c0fb0001c0c0fc0006c0c0000000c0c0f7000bc0c0000000c0c0000000c0
-c0f4000dc0c000c000c0c000c0c00000c0c0fc00fdc0fc0005c0c00000c0
-c0fc0001c0c0fc000cc0c00000c0c000c0c00000c0c0fc0001c0c0fc000e
-c0c0000000c0c00000c0c00000c0c0df00e80001c0c0fc001cc000c0c000
-0000c0c00000c0c00000c0c000c0c0000000c0c00000c0c0f80018c0c000
-0000c0c00000c0c0000000c0c00000c0c0000000c0c0f10001c0c0f80009
-c0c000c0c0000000c0c0fa0001c0c0f70001c0c0fa000ec0c0000000c0c0
-00c0c0000000c0c0fa0001c0c0e60001c0c0f80013c0c0000000c0c00000
-00c0c00000c0c0000000c0f40001c0c0f90001c0c0f60005c0c00000c0c0
-f40001c0c0fb0001c0c0fb0011c0c00000c0c00000c0c00000c0c00000c0
-c0fa0012c0c000c000c0c000c0c00000c0c0000000c0c0fa0004c0c000c0
-c0f6000bc0c0000000c0c0000000c0c0f20001c0c0fb0008c0c00000c0c0
-00c0c0f2000ec0c0000000c0c00000c0c00000c0c0fc000ec0c0000000c0
-c0000000c0c000c0c0f90001c0c0f70001c0c0fb0001c0c0fb0001c0c0fc
-0006c0c0000000c0c0f7000bc0c0000000c0c0000000c0c0f400f9c00600
-c0c00000c0c0fa000ac0c0000000c0c00000c0c0fc0001c0c0fc000cc0c0
-0000c0c000c0c00000c0c0fc0001c0c0fc000ec0c0000000c0c00000c0c0
-0000c0c0df00e70021c0c00000c0c000c0c0000000c0c00000c0c00000c0
-c000c0c0000000c0c00000c0c0f8001bc0c0000000c0c00000c0c0000000
-c0c00000c0c0000000c0c000c0c0f40001c0c0f9000ac0c00000c0c00000
-00c0c0fb0001c0c0f6001ec0c0000000c0c00000c0c000c0c0000000c0c0
-00c0c00000c0c0000000c0c0fc0001c0c0ec0001c0c0f80013c0c0000000
-c0c0000000c0c00000c0c00000c0c0f4000bc0c0000000c0c0000000c0c0
-f70005c0c00000c0c0f40008c0c000c0c00000c0c0fb002ac0c00000c0c0
-0000c0c00000c0c00000c0c0000000c0c000c0c000c000c0c000c0c00000
-c0c0000000c0c0fa0005c0c00000c0c0f7000bc0c0000000c0c0000000c0
-c0f20014c0c000c0c00000c0c00000c0c000c0c0000000c0c0f7000ec0c0
-000000c0c00000c0c00000c0c0fc0001c0c0fc0011c0c000c0c00000c0c0
-000000c0c00000c0c0fb0006c0c0000000c0c0fc0001c0c0fb000cc0c000
-c0c000c0c0000000c0c0f7000bc0c0000000c0c0000000c0c0f400fdc01b
-00c0c0c000c0c00000c0c00000c0c0000000c0c00000c0c00000c0c0fc00
-01c0c0fc000cc0c00000c0c000c0c00000c0c0fc0014c0c000c0c000c0c0
-000000c0c00000c0c00000c0c0fc0001c0c0e500e600fcc0fd00fbc0fd00
-fbc0fd00fac00000fcc0fa00fcc0fd00fbc0080000c0c0c00000c0c0fc00
-fdc0f500fac0010000fcc0fc00fbc0fd00fcc0f500f9c0fd00fdc0fb00fd
-c0fc00fbc0fb0001c0c0ed00fcc0fa00fcc0090000c0c0000000c0c000f9
-c0f500fcc0fd00fbc0f500fdc00200c0c0f400fdc0010000fcc0fb00fdc0
-0c00c0c00000c0c0c000c0c00000fbc0110000c0c0000000c0c00000c0c0
-c000c0c000fcc0fc00fdc0030000c0c0f600fbc0fd00fcc0f200fdc00a00
-00c0c0c00000c0c00000fbc0f500fbc0fd0008c0c00000c0c0000000fcc0
-fc00fdc0fc00fbc0010000fcc0fb00fbc0fc00fcc0fb00fdc0fd00fac0f6
-00fbc0fd00fcc0f4000fc0c000c0c0000000c0c0c000c0c00000fbc00b00
-00c0c0c00000c0c0000000fcc0fd0007c0c00000c0c00000fbc0fb00fdc0
-fd00fbc0fd0005c0c00000c0c0fc0001c0c0e500d70001c0c0f60001c0c0
-eb0001c0c0800080008000e10001c0c0ab0001c0c0c600d70001c0c0f700
-01c0c0ee0005c0c00000c0c0800080008000e20001c0c0ae0005c0c00000
-c0c0c600d800fcc0fc00fbc0ec00fcc0800080008000e500fbc0ac00fcc0
-c500800080008000800080008000e00080c080c0c8c08000d8008000e000
-bfc0050000c0c00000d6c0050000c0c0000080c0bfc08000d8008000e000
-01c0c0fc0001c0c0f900f5c0fd00fac0fd00e5c0080000c0c00000c0c0c0
-fc0009c0c00000c0c0c00000c0fa00fdc0fb0010c0c00000c0c0c00000c0
-c00000c0c00000ccc0fd00ebc0010000fac00000fcc0fd00f2c0fb00b4c0
-fc0001c0c08000d8008000e00003c0c00000fbc0050000c0c00000f4c001
-0000f9c0010000e5c0050000c0c00000fcc02b0000c0c0c0000000c0c000
-00c0c00000c0c00000c00000c0c0c00000c00000c0c0c00000c0c00000c0
-c00000cbc0010000ebc0010000fbc0010000fbc0010000f3c0060000c0c0
-c00000b3c0030000c0c08000d8008000e00003c0c00000fbc0050000c0c0
-c000f4c0010000f9c0010000e4c00300c0c000fbc0040000c0c0c0fc0019
-c00000c0c00000c0c00000c00000c0c0c00000c0c00000c00000fcc00300
-c0c000cac0010000e4c0010000fbc0010000eec0010000b3c0030000c0c0
-8000d8008000e00003c0c00000fbc0030000c000fcc0fb00fbc0010000fb
-c0fc00fdc0fb0007c0c00000c0000000ebc0040000c0c0c0f90011c0c000
-00c0c00000c00000c0c0c00000c0c0fb00edc0fb000ac0c00000c0000000
-c0c0c0fb000ac0c00000c0000000c0c0c0fb00fcc0fc00f6c00f0000c0c0
-c00000c0c0c0000000c0c0c0fa00fdc0040000c00000f2c0010000f6c0fd
-0005c00000c0c0c0fb00fdc0fb00fdc0fb00fdc0fc00fcc0fd0004c00000
-c0c0fb00fdc0fb00fac0030000c0c08000d8008000e00003c0c00000fbc0
-fc00fdc0060000c0c0c00000fcc0010000fcc0150000c00000c0c00000c0
-c0c00000c0c0000000c00000ecc0070000c0c0c00000c0fc0001c0c0fb00
-0ec0c00000c0c0c00000c0c0c0000000edc02d0000c0c0c00000c0c00000
-c0c00000c00000c0c0c00000c0c00000c0c00000c00000c0c0c00000c0c0
-0000c00000f6c0060000c0c0c00000fcc0010000fbc0010000fbc0fd0002
-c00000f4c0010000f5c0f90017c00000c0c0c00000c00000c0c0c00000c0
-0000c0c0c00000fbc01a0000c0c00000c0c00000c0c00000c0c0c00000c0
-0000c0c0c00000fbc0030000c0c08000d8008000e00003c0c00000fbc00d
-0000c000c0c0c00000c0c0c00000fcc00c0000c0c0c00000c0c00000c0c0
-f90007c0c00000c0c00000ecc0210000c0c0c00000c0c0000000c0c00000
-c0c00000c00000c0c0c00000c0c0c0000000edc00f0000c0c0c00000c0c0
-0000c0c00000c0f90008c0c00000c0c00000c0f90006c00000c0c00000f6
-c0060000c000c00000fcc0010000fbc0010000fbc0050000c0c00000f5c0
-010000f4c0070000c000c00000c0f90003c0c00000fac0010000fac0fb00
-09c0c00000c0c00000c0c0f90003c0c00000f7c0030000c0c08000d80080
-00e00003c0c00000fbc0010000fbc0060000c0c0c00000fcc00e0000c0c0
-c00000c0c00000c0c00000f9c0010000e8c01d0000c0c0c00000c0c0c000
-00c0c00000c0c00000c00000c0c0c00000c0c0fb00eec0110000c0c0c000
-00c0c00000c0c00000c00000f9c0080000c0c00000c00000fac0050000c0
-c00000f6c0060000c000c00000fcc0010000fbc0010000fbc0050000c0c0
-0000f6c0010000f3c0090000c000c00000c00000f8c0fd00fbc0fd00fdc0
-110000c0c00000c0c00000c0c00000c0c00000f8c0fd00f9c0030000c0c0
-8000d8008000e00003c0c00000fbc0010000fbc0060000c0c0c00000fcc0
-0e0000c0c0c00000c0c00000c0c00000f9c0010000e8c0220000c0c0c000
-00c0c0c00000c0c00000c0c00000c00000c0c0c00000c0c00000c00000ee
-c0110000c0c0c00000c0c00000c0c00000c00000f9c0080000c0c00000c0
-0000fac0050000c0c00000f6c0060000c000c00000fcc0010000fbc00100
-00fbc0050000c0c00000f7c0010000f2c0090000c000c00000c00000f6c0
-010000fac0150000c0c00000c0c00000c0c00000c0c00000c0c00000f6c0
-010000fac0030000c0c08000d8008000e00003c0c00000fbc0010000fbc0
-060000c0c0c00000fcc0170000c0c0c00000c0c00000c0c00000c0c0c000
-00c0c00000e8c0230000c0c0c00000c0c0c00000c0c00000c0c00000c000
-00c0c0c00000c00000c0c0c00000efc02d0000c0c0c00000c0c00000c0c0
-0000c00000c0c0c00000c0c00000c0c00000c00000c0c0c00000c00000c0
-c00000f6c0f900fcc0010000fbc00c0000c00000c0c00000c0c00000f7c0
-060000c0c0c00000f7c03e0000c000c00000c00000c0c0c00000c00000c0
-c0c00000c00000c0c0c00000c00000c0c00000c0c00000c0c00000c0c000
-00c0c0c00000c00000c0c0c00000fbc0030000c0c08000d8008000e00001
-c0c0fc0001c0c0fc00fbc0fb00fcc0fc00fdc0fd0004c00000c0c0fb0001
-c0c0fc00eac0fc0009c0c00000c0c0c00000c0fa00fdc0fb0008c0c00000
-c0c0c00000eec0fb00fdc0fb00fdc0fb00fdc0070000c0c00000c0c0fb00
-fdc0fd0002c00000f6c0040000c00000fcc0fc00fbc0fd0008c0c0000000
-c0c00000f7c0f900f7c0080000c0c0c00000c0c0fb00fdc0fb00fdc0fb00
-fdc0fd0004c00000c0c0fb00fdc0fb00fdc0fb00fcc0fc0001c0c08000d8
-008000e00080c0f7c001000080c0efc0010000e6c08000d8008000e00080
-c0f7c001000080c0f3c0050000c0c00000e6c08000d8008000e00080c0f8
-c0fc0080c0f3c0fc00e5c08000d8008000e00080c080c0c8c08000d800f8
-c08000b000f8c08000b800f8c08000b000f8c08000b000f8c08000b800f8
-c08000b00000c0fb0001c0c0f80006c0c0000000c0c0f500fdc08000c700
-01c0c0f800fac0e400fcc0f300fdc08000f00001c0c0f800fac0f400fdc0
-fd0006c0c0000000c0c0f40000c08000e400070000c0c0c00000c0f80006
-c0c0000000c0c0f40001c0c08000cd0007c00000c0c00000c0f70005c0c0
-0000c0c0e60005c0c00000c0c0f30001c0c08000f60007c00000c0c00000
-c0f70005c0c00000c0c0f4000bc0c0000000c0c0c00000c0c0f50001c0c0
-8000e400070000c0c0c00000c0f80006c0c0000000c0c0f40001c0c08000
-cd0007c00000c0c00000c0f70005c0c00000c0c0e70001c0c0fc0000c0f3
-0001c0c08000f60007c00000c0c00000c0f70005c0c00000c0c0f40004c0
-c0000000fcc00200c0c0f50001c0c08000e400fcc0030000c0c0f80008c0
-c0000000c0c00000fbc0fb000ac0c0000000c0c000c0c0c08000d60007c0
-0000c0c00000c0f7000fc0c00000c0c000c0c000c0c0c0000000fbc00b00
-00c0c0000000c0c000c0c0fa00fdc00200c0c0fc00fcc08000f60007c000
-00c0c00000c0f70007c0c00000c0c00000fbc0fb0004c0c0000000f9c001
-0000fbc0010000fac0fd00fbc0fd00fbc08000f600fdc0040000c0c0c0f8
-00f9c00700c0c0000000c0c0fc0001c0c0fc0005c0c00000c0c08000d700
-00c0fb0001c0c0f700fbc0fd00fdc01500c0c000c0c0000000c0c000c0c0
-000000c0c000c0c0fa00f9c0060000c0c000c0c08000f60000c0fb0001c0
-c0f700fbc0080000c0c0000000c0c0fc0007c0c0000000c0c000fcc00c00
-c0c0000000c0c0000000c0c0fc000ec0c0000000c0c000c0c0000000c0c0
-8000f700fdc0040000c0c0c0f80007c0c0000000c0c000f9c0fc0001c0c0
-fc0005c0c00000c0c08000d70002c00000fbc0f70001c0c0fa0006c0c000
-00c0c000f9c00a00c0c0000000c0c000c0c0fa000dc0c000c000c0c000c0
-c00000c0c08000f60007c00000c00000c0c0f70006c0c000c0c00000f9c0
-fc0018c0c0000000c0c00000c0c0c000c0c0000000c0c0000000c0c0fc00
-f9c0030000c0c08000f300fdc0040000c0c0c0f80009c0c0000000c0c000
-c0c0f70001c0c0fc0005c0c00000c0c08000d70002c00000fbc0f70001c0
-c0fa0001c0c0fb0001c0c0fa0009c0c0000000c0c000c0c0fa000dc0c000
-c000c0c000c0c00000c0c08000f60007c00000c0c00000c0f70008c0c000
-00c0c000c0c0f70018c0c0000000c0c0000000c0c000c0c0000000c0c000
-0000c0c0fc0001c0c0f800fdc08000f500f8c0f80009c0c0000000c0c000
-c0c0f70001c0c0fc0005c0c00000c0c08000d70002c00000fbc0f70001c0
-c0fa0001c0c0fb0001c0c0fa0009c0c0000000c0c000c0c0fc000fc000c0
-c000c000c0c000c0c00000c0c08000f60007c00000c0c00000c0f70008c0
-c00000c0c000c0c0f70018c0c0000000c0c0000000c0c000c0c0000000c0
-c0000000c0c0fc0001c0c0f60001c0c08000f600fdc0040000c0c0c0f800
-0ec0c0000000c0c000c0c0000000c0c0fc0001c0c0fc0005c0c00000c0c0
-8000d70002c00000fbc0f70001c0c0fa0001c0c0fb0025c0c0000000c0c0
-0000c0c000c0c0000000c0c00000c0c000c0c000c000c0c000c0c00000c0
-c08000f60007c00000c0c00000c0f7000dc0c00000c0c000c0c0000000c0
-c0fc002bc0c0000000c0c0000000c0c000c0c0000000c0c0000000c0c000
-c0c000c0c0000000c0c000c0c0000000c0c08000f700fdc0040000c0c0c0
-f80008c0c0000000c0c00000fbc0fc00fcc0fd00fbc08000d200fcc0f800
-fcc0fc00fcc0fb00fbc0fc00fdc0fb00fcc0100000c0c0000000c0c00000
-c0c0c000c0c08000f40004c0c00000c0f800fdc0050000c0c00000fbc0fc
-00fcc00a0000c0c0000000c0c00000fbc0fb00fdc0fd00fbc0fd00fbc080
-00f600f8c0df0001c0c08000d300f8c08000b800f8c08000b000f8c0df00
-01c0c08000d300f8c08000b800f8c08000b000f8c0e000fcc08000d400f8
-c08000b800f8c08000b000f8c08000b000f8c08000b800f8c08000b000f8
-c0a000f8c09800f8c08000b800f8c08000b000f8c0a000f8c09800f8c080
-00b800f8c08000b00000c0fb0001c0c0f700fbc0fd00fac00800c0c00000
-00c0c000f9c00000fac0f400fcc0090000c0c0000000c0c000fbc0fc00fb
-c0f600f8c0f600fcc0fc00fcc0cc00fcc0e400fdc0020000c0f80006c0c0
-000000c0c0ec0000c0fa00fcc0f300fdc08000f30004c0c00000c0f800fd
-c0040000c0c000fac0010000fcc0ec00fdc08000e300070000c0c0c00000
-c0f80008c0c0000000c0c00000fac01700c0c0000000c0c00000c0c00000
-c0c00000c0c00000c0c0f6001dc0c00000c0c000c0c0c000c0c0c00000c0
-c000c0c00000c0c0000000c0c0f70002c00000fbc0f60001c0c0fb0005c0
-c00000c0c0cb0001c0c0e30004c0c00000c0f800fdc0030000c0c0ed0001
-c0c0fb0005c0c00000c0c0f30001c0c08000f60007c00000c0c00000c0f7
-0011c0c00000c0c00000c0c00000c0c00000c0c0ea0001c0c08000e30007
-0000c0c0c00000c0f80026c0c0000000c0c00000c000c0c000c000c0c000
-0000c0c00000c0c0000000c00000c0c00000c0c0f70001c0c0fc0001c000
-f9c00f0000c0c00000c0c000c0c0000000c0c0f70003c0c00000fcc0f600
-01c0c0fc0001c0c0fc0000c0cb0001c0c0e20003c00000c0f800fcc00200
-c0c0ed0001c0c0fc0001c0c0fc0000c0f30001c0c08000f60007c00000c0
-c00000c0f70011c0c00000c0c00000c0c00000c0c00000c0c0ea0001c0c0
-8000e300070000c0c0c00000c0f80006c0c0000000c0c0fc0011c0c00000
-00c0c0000000c0c00000c0c000c0fc0005c0c00000c0c0f70001c0c0fa00
-f9c00b0000c0c00000c0c00000c0c0f300fdc0040000c0c0c0f60001c0c0
-fc0001c0c0f900fbc0120000c0c0c000c0c00000c0c000c0c0c0000000fb
-c0fd00fbc0fd00fbc0fa0001c0c0df0000c0f800f9c0010000fbc0090000
-c0c0000000c0c000fac0030000c0c0fa00fdc00200c0c0fc00fcc08000f6
-0007c00000c00000c0c0f70011c0c000c0c0000000c0c00000c0c00000c0
-c0fa00fbc0fd00fbc0fd0005c0c00000c0c08000e700070000c0c0c00000
-c0f80006c0c0000000c0c0fc0004c0c0000000f9c0010000fcc0fc00fbc0
-f60001c0c0fa0014c0c000c000c0c00000c0c00000c0c0000000c0c0c0f5
-00fcc0030000c0c0f60001c0c0fc0001c0c0fa0007c0c0000000c0c000f9
-c01f0000c0c00000c0c000c0c0000000c0c000c0c0000000c0c000c0c000
-0000c0c0fb0001c0c0e40000c0fc0000c0f80002c0c000fcc00e00c0c000
-0000c0c00000c0c000c0c0fc0001c0c0fc0001c0c0fa00f9c0060000c0c0
-00c0c08000f60000c0fc00fdc0f700fcc0fc00fbc0fd0001c0c0fb0015c0
-c0000000c0c000c0c0000000c0c00000c0c000c0c08000e600070000c0c0
-c00000c0f80006c0c0000000c0c0fc0011c0c0000000c0c0000000c0c000
-00c0c000c0fc0004c0c000c0c0f60001c0c0fa000ec0c0000000c0c00000
-c0c00000c0c0fb0001c0c0f600fbc0020000c0f60001c0c0fc0001c0c0fa
-0022c0c0000000c0c000c0c000c000c0c00000c0c00000c0c000c0c00000
-00c0c00000c0c0fb00f9c0fb0001c0c0e40005c0c0000000c0f80007c0c0
-0000c0c0c000f9c0fd00fdc0fb0001c0c0fc0001c0c0fa000dc0c000c000
-c0c000c0c00000c0c08000f60000c0fc00fdc0f700fcc0fc0009c0c00000
-c0c00000c0c0fb0009c0c0000000c0c000c0c0f900fcc08000e500070000
-c0c0c00000c0f80006c0c0000000c0c0fc000fc0c0000000c0c0000000c0
-c00000c0c0fa0005c0c00000c0c0f70001c0c0fa000ec0c0000000c0c000
-00c0c00000c0c0fa0001c0c0f700fcc0030000c0c0f60001c0c0fc0001c0
-c0fa0029c0c0000000c0c000c0c000c000c0c00000c0c00000c0c000c0c0
-000000c0c0000000c0c0c0000000c0c0f60001c0c0e400fdc0020000c0f8
-0009c0c0000000c0c000c0c0f800fdc0fb0001c0c0fc0001c0c0fa000dc0
-c000c000c0c000c0c00000c0c08000f60007c00000c00000c0c0f70011c0
-c000c0c0000000c0c00000c0c00000c0c0fb0009c0c0000000c0c000c0c0
-f900fcc08000e500070000c0c0c00000c0f80006c0c0000000c0c0fc001b
-c0c0000000c0c0000000c0c00000c0c0000000c00000c0c00000c0c0f700
-01c0c0fc0018c000c0c0000000c0c00000c0c00000c0c000c0c0000000c0
-c0f700fdc0040000c0c0c0f60001c0c0fc0001c0c0fc0020c000c0c00000
-00c0c000c0c000c000c0c00000c0c00000c0c000c0c0000000c0c0fb0005
-c0c00000c0c0f60001c0c0e400fdc0020000c0f80009c0c0000000c0c000
-c0c0f800fdc0fb0001c0c0fc0001c0c0fc000fc000c0c000c000c0c000c0
-c00000c0c08000f60007c00000c0c00000c0f70020c0c00000c0c00000c0
-c00000c0c00000c0c0000000c000c0c0000000c0c000c0c0f90004c0c000
-c0c08000e600070000c0c0c00000c0f80006c0c0000000c0c0fc001bc0c0
-000000c0c0000000c0c00000c0c00000c0c00000c0c00000c0c0f6001dc0
-c00000c0c000c0c0000000c0c00000c0c000c0c00000c0c0000000c0c0f7
-0003c0c00000fcc0f60001c0c0fb0035c0c00000c0c000c0c0000000c0c0
-00c0c000c000c0c00000c0c00000c0c000c0c0000000c0c000c0c0000000
-c0c000c0c0000000c0c0fb0001c0c0e400fdc0020000c0f80015c0c00000
-00c0c000c0c0000000c0c00000c0c000c0c0fc001bc0c000c0c00000c0c0
-0000c0c000c0c000c000c0c000c0c00000c0c08000f60007c00000c0c000
-00c0f7002dc0c00000c0c00000c0c00000c0c00000c0c00000c0c000c0c0
-000000c0c000c0c0000000c0c00000c0c00000c0c08000e70000c0fb0001
-c0c0f700fbc0fc00fcc0090000c0c0000000c0c000f9c00700c0c0c00000
-c0c0f500fcc0090000c0c0000000c0c000fbc0fc00fbc0f60002c00000fb
-c0f600fcc0fc00fcc0fd00fbc00a0000c0c0000000c0c00000fbc0fd00fb
-c0fd00fbc0fd00fbc0fc00fcc0e400fdc0020000c0f80008c0c0000000c0
-c00000fbc0080000c0c0000000c0c0fc00fdc0fc00fcc0100000c0c00000
-00c0c00000c0c0c000c0c08000f40004c0c00000c0f800fdc0040000c0c0
-00fac0010000f9c0010000fbc0fd00fbc0080000c0c0c00000c0c08000e7
-00f8c0a000f8c0d70001c0c0c300f8c08000b800f8c08000b000f8c0a000
-f8c0d70001c0c0c300f8c08000b800f8c08000b000f8c0a000f8c0d800fc
-c0c400f8c08000b800f8c08000b000f8c0a000f8c09800f8c08000b800f8
-c08000b000
-grestore
-showpage
-%%Trailer
-
-%%EndDocument
- @endspecial -30 38552 a
- currentpoint currentpoint translate 1 0.79 div 1 0.79 div scale neg
-exch neg exch translate
- -30 38552 a 3565 x FU(Y)-170
-b(ou)406 b(will)g(see)h(a)g(menu)g(of)f(commands)g(and)h(a)g(ro)-39
-b(w)407 b(of)g(command)f(k)-15 b(e)-23 b(ys)406 b(at)g(the)h(bottom.)f
-FP(pine)-30 44131 y FU(is)387 b(indeed)g(a)h(comple)-23
-b(x)386 b(program,)i(so)f(we)g(will)g(not)g(discuss)f(e)-39
-b(v)-23 b(ery)388 b(feature)f(about)g(it)g(here.)-30
-45242 y
-SDict begin H.S end
- -30 45242 a -30 45242 a
-SDict begin 18.2 H.A end
- -30 45242 a -30 45242
-a
-SDict begin [ /View [/XYZ H.V] /Dest (4660) cvn H.B /DEST pdfmark end
- -30 45242 a 1679 x FU(T)-124 b(o)351 b(see)g(what')-85
-b(s)350 b(in)h(your)f(inbox,)h(type)20683 46921 y
-SDict begin H.S end
- 20683
-46921 a 20683 46921 a
-SDict begin 18.2 H.A end
- 20683 46921 a 20683 46921 a
-SDict begin [ /View [/XYZ H.V] /Dest (4661) cvn H.B /DEST pdfmark end
- 20683
-46921 a Fv(i)p FU(.)g(Y)-170 b(our)350 b(messages)g(are)h(listed)g
-(with)f(their)h(date,)g(author)-62 b(,)-30 48936 y(and)433
-b(subject.)g(Highlight)f(the)g(message)h(you)g(w)-15
-b(ant)432 b(and)h(press)34714 48936 y
-SDict begin H.S end
- 34714 48936 a 34714
-48936 a
-SDict begin 18.2 H.A end
- 34714 48936 a 34714 48936 a
-SDict begin [ /View [/XYZ H.V] /Dest (4662) cvn H.B /DEST pdfmark end
- 34714 48936 a Fv(enter)f
-FU(to)h(vie)-39 b(w)433 b(it.)g(Pressing)-30 50950 y
-SDict begin H.S end
-
--30 50950 a -30 50950 a
-SDict begin 18.2 H.A end
- -30 50950 a -30 50950 a
-SDict begin [ /View [/XYZ H.V] /Dest (4663) cvn H.B /DEST pdfmark end
- -30 50950
-a Fv(r)347 b FU(will)g(start)g(a)g(reply)g(to)g(the)h(message.)f(Once)g
-(you)g(ha)-31 b(v)-23 b(e)347 b(written)g(the)g(response,)g(type)47029
-50950 y
-SDict begin H.S end
- 47029 50950 a 47029 50950 a
-SDict begin 18.2 H.A end
- 47029 50950 a 47029
-50950 a
-SDict begin [ /View [/XYZ H.V] /Dest (4664) cvn H.B /DEST pdfmark end
- 47029 50950 a 47029 50950 a
-SDict begin H.S end
- 47029 50950 a 47029
-50950 a
-SDict begin 18.2 H.A end
- 47029 50950 a 47029 50950 a
-SDict begin [ /View [/XYZ H.V] /Dest (4665) cvn H.B /DEST pdfmark end
- 47029 50950 a FX(Ctrl)p
-FU(+)50657 50950 y
-SDict begin H.S end
- 50657 50950 a 50657 50950 a
-SDict begin 18.2 H.A end
- 50657
-50950 a 50657 50950 a
-SDict begin [ /View [/XYZ H.V] /Dest (4666) cvn H.B /DEST pdfmark end
- 50657 50950 a FX(X)-30 52965 y
-FU(to)387 b(send)g(it.)h(Y)-170 b(ou)386 b(can)i(press)15424
-52965 y
-SDict begin H.S end
- 15424 52965 a 15424 52965 a
-SDict begin 18.2 H.A end
- 15424 52965 a 15424
-52965 a
-SDict begin [ /View [/XYZ H.V] /Dest (4667) cvn H.B /DEST pdfmark end
- 15424 52965 a Fv(i)f FU(to)g(get)h(back)f(to)g(the)g(message)g
-(listing.)-30 54075 y
-SDict begin H.S end
- -30 54075 a -30 54075 a
-SDict begin 18.2 H.A end
- -30 54075
-a -30 54075 a
-SDict begin [ /View [/XYZ H.V] /Dest (4668) cvn H.B /DEST pdfmark end
- -30 54075 a 1679 x FU(If)478 b(you)f(w)-15
-b(ant)477 b(to)g(delete)g(a)h(message,)f(press)24561
-55754 y
-SDict begin H.S end
- 24561 55754 a 24561 55754 a
-SDict begin 18.2 H.A end
- 24561 55754 a 24561
-55754 a
-SDict begin [ /View [/XYZ H.V] /Dest (4669) cvn H.B /DEST pdfmark end
- 24561 55754 a Fv(d)p FU(.)h(It)f(will)g(mark)h(the)f
-(highlighted)f(message)h(for)-30 57769 y(deletion.)5781
-57769 y
-SDict begin H.S end
- 5781 57769 a 5781 57769 a
-SDict begin 18.2 H.A end
- 5781 57769 a 5781 57769
-a
-SDict begin [ /View [/XYZ H.V] /Dest (4670) cvn H.B /DEST pdfmark end
- 5781 57769 a FP(pine)429 b FU(deletes)h(the)g(mail)f(when)h(you)g(e)
--23 b(xit)429 b(the)h(program.)37094 57769 y
-SDict begin H.S end
- 37094 57769
-a 37094 57769 a
-SDict begin 18.2 H.A end
- 37094 57769 a 37094 57769 a
-SDict begin [ /View [/XYZ H.V] /Dest (4671) cvn H.B /DEST pdfmark end
- 37094 57769
-a FP(pine)f FU(also)h(lets)g(you)f(store)-30 59784 y(your)h(mail)g(in)g
-(folders.)g(Y)-170 b(ou)430 b(can)g(get)g(a)h(listing)e(of)h(folders)g
-(by)g(pressing)40474 59784 y
-SDict begin H.S end
- 40474 59784 a 40474 59784
-a
-SDict begin 18.2 H.A end
- 40474 59784 a 40474 59784 a
-SDict begin [ /View [/XYZ H.V] /Dest (4672) cvn H.B /DEST pdfmark end
- 40474 59784 a Fv(l)p FU(.)g(At)g(the)g
-(message)-30 61798 y(listing,)352 b(press)8122 61798
-y
-SDict begin H.S end
- 8122 61798 a 8122 61798 a
-SDict begin 18.2 H.A end
- 8122 61798 a 8122 61798 a
-SDict begin [ /View [/XYZ H.V] /Dest (4673) cvn H.B /DEST pdfmark end
-
-8122 61798 a Fv(s)g FU(to)g(sa)-31 b(v)-23 b(e)352 b(it)g(to)f(another)
-h(folder)-85 b(.)352 b(It)g(will)g(ask)g(for)g(the)g(folder)g(name)f
-(to)h(write)g(the)-30 63813 y(message)387 b(to.)-30 64923
-y
-SDict begin H.S end
- -30 64923 a -30 64923 a
-SDict begin 18.2 H.A end
- -30 64923 a -30 64923 a
-SDict begin [ /View [/XYZ H.V] /Dest (4674) cvn H.B /DEST pdfmark end
- -30
-64923 a -30 64923 a
-SDict begin H.S end
- -30 64923 a -30 64923 a
-SDict begin 18.2 H.A end
- -30 64923
-a -30 64923 a
-SDict begin [ /View [/XYZ H.V] /Dest (4675) cvn H.B /DEST pdfmark end
- -30 64923 a 1680 x FP(pine)397 b FU(of)-39
-b(fers)397 b(man)-23 b(y)-101 b(,)397 b(man)-23 b(y)396
-b(features;)g(you)h(should)f(de\002nitely)g(ha)-31 b(v)-23
-b(e)396 b(a)h(look)g(at)g(the)f(man)h(page)p Black -30
-73792 a FR(166)p Black eop end
-%%Page: 167 189
-TeXDict begin 167 188 bop -8000 -8000 a
-SDict begin /product where{pop product(Distiller)search{pop pop pop
-version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
-closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
-grestore}if}{pop}ifelse}{pop}ifelse}if end
- -8000 -8000 a
-Black 0 TeXcolorgray -30 -1237 a
-SDict begin H.S end
- -30 -1237 a 0 TeXcolorgray
-0 TeXcolorgray -30 -1237 a
-SDict begin H.R end
- -30 -1237 a -30 -1237 a
-SDict begin [ /View [/XYZ H.V] /Dest (page.167) cvn H.B /DEST pdfmark
-end
- -30
--1237 a Black -30 -2687 a
-SDict begin H.S end
- -30 -2687 a -30 -2687 a
-SDict begin 18.2 H.A end
- -30
--2687 a -30 -2687 a
-SDict begin [ /View [/XYZ H.V] /Dest (4699) cvn H.B /DEST pdfmark end
- -30 -2687 a 27927 -1636 a FR(Chapter)386
-b(13)i(Basic)f(Network)f(Commands)p Black -30 3611 a
-FU(for)i(more)f(information.)f(It)i(will)e(contain)h(the)g(latest)g
-(information)g(about)g(the)g(program.)-30 4721 y
-SDict begin H.S end
- -30
-4721 a -30 4721 a
-SDict begin 18.2 H.A end
- -30 4721 a -30 4721 a
-SDict begin [ /View [/XYZ H.V] /Dest (BASIC-NETWORK-COMMANDS-EMAIL-ELM)
-cvn H.B /DEST pdfmark end
- -30 4721 a 5182
-x FF(elm)-30 9926 y
-SDict begin H.S end
- -30 9926 a -30 9926 a
-SDict begin 18.2 H.A end
- -30 9926 a
--30 9926 a
-SDict begin [ /View [/XYZ H.V] /Dest (4679) cvn H.B /DEST pdfmark end
- -30 9926 a -30 10856 a
-SDict begin H.S end
- -30 10856 a -30 10856
-a
-SDict begin 18.2 H.A end
- -30 10856 a -30 10856 a
-SDict begin [ /View [/XYZ H.V] /Dest (4682) cvn H.B /DEST pdfmark end
- -30 10856 a -30 10856 a
-SDict begin H.S end
- -30
-10856 a -30 10856 a
-SDict begin 18.2 H.A end
- -30 10856 a -30 10856 a
-SDict begin [ /View [/XYZ H.V] /Dest (4683) cvn H.B /DEST pdfmark end
- -30 10856
-a 1992 x FP(elm)p FU(\(1\))421 b(is)f(another)h(popular)f(te)-23
-b(xt-based)420 b(email)g(client.)h(Though)f(not)h(quite)f(as)h(user)f
-(friendly)-30 14862 y(as)1648 14862 y
-SDict begin H.S end
- 1648 14862 a 1648
-14862 a
-SDict begin 18.2 H.A end
- 1648 14862 a 1648 14862 a
-SDict begin [ /View [/XYZ H.V] /Dest (4684) cvn H.B /DEST pdfmark end
- 1648 14862 a FP(pine)p
-FU(,)388 b(it')-85 b(s)387 b(de\002nitely)f(been)h(around)g(a)h(lot)f
-(longer)-85 b(.)-30 15198 y
-SDict begin H.S end
- -30 15198 a -30 15198 a
-SDict begin 18.2 H.A end
- -30
-15198 a -30 15198 a
-SDict begin [ /View [/XYZ H.V] /Dest (FIG-BASIC-NETWORK-COMMANDS-EMAIL-ELM)
-cvn H.B /DEST pdfmark end
- -30 15198 a 4004 x FX(Figur)-28 b(e)387
-b(13-3.)h(Elm)e(main)h(scr)-28 b(een)-30 21066 y
-SDict begin H.S end
- -30
-21066 a -30 21066 a
-SDict begin 18.2 H.A end
- -30 21066 a -30 21066 a
-SDict begin [ /View [/XYZ H.V] /Dest (4687) cvn H.B /DEST pdfmark end
- -30 21066
-a -30 54143 a
- currentpoint currentpoint translate 0.79 0.79 scale neg exch neg exch
-translate
- -30 54143 a @beginspecial 12 @llx 212 @lly
-600 @urx 580 @ury 5880 @rwi @setspecial
-%%BeginDocument: basic-network-commands/elm.eps
-%!PS-Adobe-2.0 EPSF-2.0
-%%Creator: pnmtops
-%%Title: noname.ps
-%%Pages: 1
-%%BoundingBox: 12 212 600 580
-%%EndComments
-/rlestr1 1 string def
-/readrlestring {
- /rlestr exch def
- currentfile rlestr1 readhexstring pop
- 0 get
- dup 127 le {
- currentfile rlestr 0
- 4 3 roll
- 1 add getinterval
- readhexstring pop
- length
- } {
- 256 exch sub dup
- currentfile rlestr1 readhexstring pop
- 0 get
- exch 0 exch 1 exch 1 sub {
- rlestr exch 2 index put
- } for
- pop
- } ifelse
-} bind def
-/readstring {
- dup length 0 {
- 3 copy exch
- 1 index sub
- getinterval
- readrlestring
- add
- 2 copy le { exit } if
- } loop
- pop pop
-} bind def
-/picstr 640 string def
-%%EndProlog
-%%Page: 1 1
-gsave
-12.24 212.4 translate
-587.52 367.2 scale
-640 400 8
-[ 640 0 0 -400 0 400 ]
-{ picstr readstring }
-image
-800080008000800080008000800080008000800080008000800080008000
-800080008000800080008000800080008000800080008000800080008000
-800080008000800080008000800080008000800080008000800080008000
-800080008000800080008000800080008000800080008000800080008000
-800080008000800080008000800080008000800080008000800080008000
-80008000800080008000800080008000800080008000ce0001c0c08a0001
-c0c080008000ac00a80006c0c0000000c0c0f40001c0c0fb00fdc0fd00fd
-c0e00001c0c0eb0001c0c0c10001c0c0fb00fdc0da0000c0fa0001c0c0e9
-0001c0c0fa0000c0fc00fdc0f200fbc0ac00fcc0010000f9c00000fcc0fc
-0006c0c0000000c0c0f600fbc0f600f9c0f700fac0010000fcc0fa00fdc0
-fb00fcc09e00a800fdc00300c0c0c0f40001c0c0fa0001c0c0fc0001c0c0
-e00001c0c0eb0001c0c0c10001c0c0fa0001c0c0db0001c0c0fa0001c0c0
-e90001c0c0fb0001c0c0fb0001c0c0f30006c0c0000000c0c0ad0001c0c0
-fb0009c0c00000c0c00000c0c0fb00fdc00300c0c0c0f70006c0c0000000
-c0c0f70001c0c0f10009c0c00000c0c00000c0c0fa0001c0c0f70001c0c0
-9e00a800f9c0ec0001c0c0fc0001c0c0ca0001c0c0f50000c0e10000c0e4
-0001c0c0f70000c0e50001c0c0fb0001c0c0e10001c0c0fb0001c0c0ee00
-01c0c0ad0001c0c0fb0009c0c0000000c00000c0c0fb00f9c0f20001c0c0
-f70001c0c0f10009c0c00000c0c00000c0c0fb0001c0c0f60001c0c09e00
-a800f9c0010000fcc0fb00fdc0fa0001c0c0fc00fcc0fc00fbc0080000c0
-c0000000c0c0f500fdc0fc00fbc0e9000bc0c000c0c0000000c0c00000fc
-c0fd0005c0c000c0c0c0f9000bc0c000c0c0c000c0c0000000fcc0fb00fd
-c0fa0001c0c0f8000bc0c000c0c000c0c0c0000000fbc0fd00fbc0010000
-fac0ee000fc0c0000000c0c0000000c0c0c0000000fac0fd0004c0c000c0
-c0f20001c0c0f600fdc00500c0c0000000fbc0fd00fbc0fd00fbc0fd00fc
-c0fc00fdc00400c0c00000fbc0fd00fbc0f40001c0c0fb0003c0c000c0fc
-0001c0c0fb00f9c0f30001c0c0f60001c0c0f10009c0c00000c0c00000c0
-c0fb0001c0c0f60001c0c09e00a80006c0c000c000c0c0fb0001c0c0fb00
-01c0c0fa0001c0c0fc0014c0c000c0c00000c0c0000000c0c00000c0c000
-c0c0f3000bc0c0000000c0c0000000c0c0eb000ac0c00000c0c0000000c0
-c0fb000ac0c0000000c0c0c000c0c0fb0003c0c00000f9c0fb0001c0c0fb
-0001c0c0fa0001c0c0f9001fc0c0000000c0c0c000c0c000c0c0000000c0
-c000c0c0000000c0c0000000c0c0ec0006c0c0000000c0c0fc0001c0c0fb
-0001c0c0fb00fdc00200c0c0f40001c0c0f500f9c01700c0c0000000c0c0
-00c0c0000000c0c000c0c0000000c0c0fb001ac0c00000c0c00000c0c000
-00c0c0000000c0c000c0c0000000c0c0f50001c0c0fb00fcc0fc0001c0c0
-fb0006c0c000c000c0c0f40001c0c0f500fac0f500fbc0fd0001c0c0fb00
-fac0fa0001c0c09e00a80008c0c0000000c0c00000fbc0fb0001c0c0fa00
-01c0c0fc0013c0c00000c0c000c0c0000000c0c0000000c0c0c0f20001c0
-c0fc0001c0c0e8000dc0c0000000c0c0000000c0c00000fbc0fd0005c0c0
-0000c0c0fc000dc0c0000000c0c000c000c0c00000fbc0fb0001c0c0fa00
-01c0c0fa0001c0c0fc001ac0c00000c0c000c0c0000000c0c000c0c00000
-00c0c0000000c0c0ec0006c0c000c000c0c0fc0001c0c0fb0001c0c0fb00
-05c0c00000c0c0f50001c0c0f40007c0c000c000c0c000f9c0030000c0c0
-fa0001c0c0fa00fbc0090000c0c00000c0c00000f9c0030000c0c0f10001
-c0c0fb0003c0c000c0fc0001c0c0fb0006c0c0000000c0c0f50001c0c0ef
-0001c0c0f60001c0c0fa0001c0c0fb0006c0c0000000c0c0fb0001c0c09e
-00a8000dc0c0000000c0c000c0c00000c0c0fb0001c0c0fa0001c0c0fc00
-13c0c00000c0c000c0c0000000c0c0000000c0c0c0f20001c0c0fb00fdc0
-eb0001c0c0fc0012c0c0000000c0c000c0c00000c0c0000000c0c0f90001
-c0c0fc000dc0c000c000c0c000c0c00000c0c0fb0001c0c0fa0001c0c0fb
-0001c0c0fb0001c0c0fb0013c0c0000000c0c000c0c0000000c0c0000000
-c0c0ec0006c0c000c000c0c0fc0001c0c0fb0001c0c0fb0005c0c00000c0
-c0f60001c0c0f30009c0c000c000c0c000c0c0f800fdc0fb00fdc0fd0011
-c0c00000c0c00000c0c00000c0c00000c0c0f800fdc0f30001c0c0fb0001
-c0c0fa0001c0c0fb0006c0c0000000c0c0f60001c0c0ee0001c0c0f60001
-c0c0fa0001c0c0fb0006c0c0000000c0c0fb0001c0c09e00a8000dc0c000
-0000c0c000c0c00000c0c0fb0001c0c0fa0001c0c0fc0013c0c00000c0c0
-00c0c0000000c0c0000000c0c0c0f20001c0c0f90001c0c0ed0001c0c0fb
-0012c0c0000000c0c000c0c00000c0c0000000c0c0fa0001c0c0fb000dc0
-c000c000c0c000c0c00000c0c0fb0001c0c0fa0001c0c0fc0001c0c0fa00
-01c0c0fb0013c0c0000000c0c000c0c0000000c0c0000000c0c0ec0006c0
-c000c000c0c0fc0001c0c0fb0001c0c0fb0005c0c00000c0c0f70001c0c0
-f20009c0c000c000c0c000c0c0f60001c0c0fa0015c0c00000c0c00000c0
-c00000c0c00000c0c00000c0c0f60001c0c0f40001c0c0fb0015c0c00000
-00c00000c0c0000000c000c0c0000000c0c0f70001c0c0ed0001c0c0f600
-01c0c0fa000dc0c0000000c000c0c0000000c0c0fb0001c0c09e00a8000d
-c0c0000000c0c000c0c00000c0c0fb0001c0c0fa0001c0c0fc0014c0c000
-00c0c000c0c0000000c0c00000c0c000c0c0f3000bc0c0000000c0c00000
-00c0c0ef0001c0c0f90011c0c000c0c00000c0c00000c0c0000000c0c0fb
-0001c0c0fa000dc0c000c000c0c000c0c00000c0c0fb0001c0c0fa0006c0
-c0000000c0c0f90001c0c0fb0016c0c0000000c0c000c0c0000000c0c000
-0000c0c000c0c0ef00f9c0fc0001c0c0fb000cc0c000c0c00000c0c00000
-c0c0f70006c0c0000000c0c0f7003ec0c000c000c0c000c0c0000000c0c0
-00c0c0000000c0c000c0c0000000c0c000c0c00000c0c00000c0c00000c0
-c00000c0c0000000c0c000c0c0000000c0c0f50001c0c0fb0015c0c00000
-c0c00000c0c00000c0c000c0c0000000c0c0f70006c0c0000000c0c0fc00
-0bc0c0000000c0c0000000c0c0f60001c0c0fa000dc0c00000c0c000c0c0
-000000c0c0fb0001c0c09e00a80011c0c0000000c0c00000c0c0c000c0c0
-000000fcc0fc00fcc0fd00fbc0fd00fbc0080000c0c0000000c0c0f500fc
-c0fd00fbc0ee0000c0f700fdc0fc00fdc00300c0c000fcc0fc0000c0f900
-11c0c0000000c0c00000c0c0c000c0c0000000fcc0fc00fcc0020000c0f9
-00fcc0fb00fbc0fd00fbc0fb00fdc0ed0004c0c000c0c0fc00fcc0fb00fd
-c0080000c0c0c00000c0c0f700f9c0f70008c0c0000000c0c00000fbc0fd
-00fbc0fd00fbc0fd00fdc00400c0c00000fbc0fd00fbc0fd00fbc0f400fc
-c0010000f9c00000f9c00700c0c0000000c0c0f700f9c0fc0001c0c0fc00
-fbc0f600fcc0fc00f9c0010000fbc0fc00fcc09e00800080008000e40001
-c0c080009e00800080008000e80005c0c00000c0c080009e008000800080
-00e700fcc080009d00800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-0080008000800080008000800080008000800080008000800080008000d5
-0001c0c0e400fbc0e30004c0c0000000f9c0e700fac0f30000c0f10001c0
-c0f500fdc0f000fcc0ef0006c0c0000000c0c0f500fdc0fd00fdc0e800fd
-c0f20001c0c0fb0004c0c0000000f9c0fb0001c0c0fc0001c0c0ec0006c0
-c0000000c0c0f500fdc0d20000c0ec00fcc0f90001c0c0d90004c0c00000
-00fbc0fc00fdc0ed00fdc0d200fbc0f30001c0c0fb0001c0c0f90001c0c0
-e500d600fdc0e50006c0c0000000c0c0e500fdc0fd0006c0c0000000c0c0
-e60005c0c00000c0c0f50001c0c0f10001c0c0f40001c0c0ef0001c0c0ee
-0006c0c0000000c0c0f40001c0c0fc0001c0c0e70001c0c0f30001c0c0fb
-00fdc0fd0006c0c0000000c0c0fc00fdc0fb0001c0c0ed0006c0c0000000
-c0c0f40001c0c0d30001c0c0eb0001c0c0f80001c0c0da000bc0c0000000
-c0c0000000c0c0fc0001c0c0ec0001c0c0d30006c0c0000000c0c0f500fd
-c0fa0001c0c0fb00fcc0e600d700fcc0e50006c0c0000000c0c0e600fcc0
-f80001c0c0e60005c0c00000c0c0f50001c0c0e30001c0c0ef0001c0c0ee
-0006c0c0000000c0c0f40001c0c0fc0001c0c0e70001c0c0f40001c0c0fb
-00fcc0f80004c0c0000000fcc0fa0001c0c0ee0006c0c0000000c0c0f400
-01c0c0d30001c0c0eb0001c0c0d10001c0c0fc0006c0c0000000c0c0fc00
-01c0c0ec0001c0c0d30006c0c0000000c0c0f600fcc0f90001c0c0fc00fc
-c0e600d50001c0c0e40001c0c0fa00fbc0070000c0c000c0c0c0f30001c0
-c0f80001c0c0e60007c0c00000c0c00000fcc0fd00fac0070000c0c000c0
-c0c0fc00fdc0fc00fbc0fd0005c0c00000c0c0f30001c0c0ee0008c0c000
-0000c0c00000fbc0fb0001c0c0fc0007c0c00000c0c00000fbc0070000c0
-c000c0c0c0fc00fcc0f40001c0c0f90001c0c0f80008c0c00000c0c000c0
-c0fa0001c0c0ee0008c0c0000000c0c00000fbc0fb0001c0c0fc00fbc0fd
-00fbc00a0000c0c0c000c0c0000000fbc0f600fac0fd00fbc0f50001c0c0
-f900fdc0fd0016c0c000c0c0c00000c0c00000c0c00000c0c0000000c0c0
-f50001c0c0fb0001c0c0f80001c0c0fc00fcc0fc00fbc0fd000fc0c00000
-c0c000c0c0000000c0c00000fcc0fd0008c0c000c0c0c0000000fbc0f600
-06c0c0000000c0c0f40001c0c0f90001c0c0fc00fcc0e600d50001c0c0e3
-00fdc0fd000ec0c0000000c0c00000c0c00000c0c0f40001c0c0f90001c0
-c0e500fbc0fa0001c0c0fc0001c0c0fb00fdc00200c0c0fc0012c0c00000
-00c0c0000000c0c00000c0c000c0c0f20001c0c0ee000ec0c0000000c0c0
-00c0c0000000c0c0fc0001c0c0fc001cc0c000c0c00000c0c0000000c0c0
-0000c0c0c000c0c00000c0c000c0c0f40001c0c0f90001c0c0f90009c0c0
-0000c0c00000c0c0fa0001c0c0ee000ec0c000c000c0c000c0c0000000c0
-c0fc0014c0c0000000c0c0000000c0c000c0c0000000c0c000f9c00700c0
-c0000000c0c0f50001c0c0fc0006c0c0000000c0c0f60001c0c0f80001c0
-c0fc0014c0c00000c0c000c0c00000c0c0000000c0c000c0c0f40001c0c0
-fa00fdc0fa0001c0c0f9001ac0c00000c0c0000000c0c00000c0c000c0c0
-0000c0c0000000c0c0fb0012c0c0000000c0c0c000c0c000c0c0000000c0
-c0f600fac0f40001c0c0f90001c0c0fb0001c0c0e500d50001c0c0e10003
-c0c00000f9c0070000c0c00000c0c0f40001c0c0fa0001c0c0e40001c0c0
-fa00fbc0fc0001c0c0fb0005c0c00000c0c0fc0006c0c0000000c0c0f900
-fcc0f10001c0c0ee000ec0c0000000c0c000c0c0000000c0c0fc0001c0c0
-fc00fcc0fd00f9c00e0000c0c00000c0c000c0c00000c0c0f40001c0c0f9
-0001c0c0fa0004c0c0000000f9c0fb0001c0c0ee0007c0c000c000c0c000
-f9c0fc0006c0c0000000c0c0fa000fc0c0000000c0c000c0c000c000c0c0
-00f9c0f50001c0c0fc0006c0c0000000c0c0f60001c0c0f80001c0c0fc00
-0cc0c00000c0c000c0c00000c0c0fc00fdc0f30001c0c0f80001c0c0fb00
-01c0c0fc00fbc0030000c0c0f900fcc0fd0008c0c000c000c0c00000fbc0
-fd0006c0c00000c0c000f9c0f20001c0c0f40001c0c0f90001c0c0fb0001
-c0c0e500d50001c0c0e00004c0c000c0c0f90005c0c00000c0c0f40001c0
-c0fb0001c0c0e30001c0c0fb0005c0c00000c0c0fc0001c0c0fb0001c0c0
-f80006c0c0000000c0c0f900fcc0f50005c0c00000c0c0ee000ec0c00000
-00c0c000c0c0000000c0c0fc0001c0c0fc00fcc0fd0001c0c0f90001c0c0
-fb0005c0c00000c0c0f40001c0c0f90001c0c0fb0001c0c0f80001c0c0fa
-0001c0c0ee0009c0c000c000c0c000c0c0f70006c0c0000000c0c0fa0011
-c0c0000000c0c000c0c000c000c0c000c0c0f00001c0c0fc0006c0c00000
-00c0c0f60001c0c0f80001c0c0fc000cc0c00000c0c000c0c00000c0c0fc
-00fdc0f30001c0c0f70001c0c0fc000ec0c0000000c0c00000c0c00000c0
-c0f900fcc0fd0012c0c000c000c0c000c0c00000c0c0000000c0c0fb0001
-c0c0ed0001c0c0f40001c0c0f90001c0c0fb0001c0c0e500d50001c0c0e5
-0009c0c0000000c0c000c0c0f90005c0c00000c0c0f40001c0c0fb0001c0
-c0e30001c0c0fb0005c0c00000c0c0fc0001c0c0fb0001c0c0f80006c0c0
-000000c0c0f90004c0c000c0c0f60005c0c00000c0c0ed000dc0c000c0c0
-0000c0c0000000c0c0fc0001c0c0fc0008c0c000c0c00000c0c0f90001c0
-c0fb0005c0c00000c0c0f40001c0c0f90001c0c0fb0001c0c0f80001c0c0
-fa0001c0c0ee00f9c00200c0c0f70006c0c0000000c0c0fa0011c0c00000
-00c0c000c0c000c000c0c000c0c0f00001c0c0fc0006c0c0000000c0c0f6
-0005c0c0000000c0fc0001c0c0fc000cc0c00000c0c000c0c00000c0c0fc
-00fdc0f30001c0c0fc0006c0c0000000c0c0fc000ec0c0000000c0c00000
-c0c00000c0c0f90019c0c000c0c00000c0c000c000c0c000c0c00000c0c0
-000000c0c0fb0001c0c0ed0001c0c0f40001c0c0f90001c0c0de00d50001
-c0c0e50016c0c0000000c0c000c0c0000000c0c00000c0c00000c0c0f400
-01c0c0fb0001c0c0e30001c0c0fb0005c0c00000c0c0fc0008c0c000c0c0
-0000c0c0f80013c0c0000000c0c0000000c0c00000c0c00000c0c0f70005
-c0c00000c0c0fb0001c0c0f300fdc0fd0006c0c0000000c0c0fc0001c0c0
-fc0011c0c00000c0c000c0c0000000c0c00000c0c0fb0005c0c00000c0c0
-f30001c0c0fa0001c0c0fb0001c0c0f80001c0c0fb0001c0c0ed00fdc00b
-00c0c0c000c0c0000000c0c0fc0023c0c0000000c0c0000000c0c000c0c0
-000000c0c000c0c000c000c0c000c0c0000000c0c0f5000cc0c000c0c000
-c0c0000000c0c0f60005c0c00000c0c0fc0001c0c0fc0014c0c00000c0c0
-00c0c00000c0c0000000c0c000c0c0f3000bc0c0000000c0c0000000c0c0
-fc001cc0c0000000c0c00000c0c00000c0c0000000c0c00000c0c00000c0
-c000f9c00b00c0c00000c0c0000000c0c0fb0006c0c0000000c0c0f30001
-c0c0fb0001c0c0fa0001c0c0fa0001c0c0fa0001c0c0e500d700fac0e600
-fbc0fd00fbc0fd00fbc0f500fac0fd0001c0c0e400fcc0fb00fdc00200c0
-c0fc00fdc0010000fcc0fa00fcc0fd00fbc0080000c0c0c00000c0c0f600
-fcc0fa0001c0c0f20000c0fb00fbc0fc00fcc00a0000c0c0c00000c0c000
-00fbc0010000fcc0fb00fdc00200c0c0f30004c0c0000000fac0fd0001c0
-c0f900fcc0fd0001c0c0eb0007c0c000c0c0000000fbc0fc00fcc0fd00fb
-c0fd00fbc00a0000c0c0000000c0c00000fbc0f300fdc0fd00fbc0f600f9
-c0fd00fcc0fd0015c0c00000c0c00000c0c0c000c0c000c0c0000000c0c0
-f30004c0c0000000fbc0fc00fcc0fd00fdc00400c0c00000fbc0190000c0
-c0c00000c0c00000c0c000c0c0000000c0c0c000c0c000fcc0fb00fbc0f5
-00fcc0fa0001c0c0fc00fac0fd0001c0c0f90001c0c0e500a70001c0c080
-00800080008000db00a70001c0c08000800080008000db00a800fcc08000
-800080008000dc008000800080008000800080c080c080c080c090c0f000
-80c080c080c080c090c0f000efc0fb00edc0fb00e5c0fb00e3c0040000c0
-c0c0f90080c0cbc0010000fac0030000c0c0f900fdc0010000e4c0fa00eb
-c0010000f2c00000d9c0010000fac00000fcc0fd00f0c00000fcc0fd00eb
-c0fc00f9c0010000bac00000d4c0f000f0c0060000c0c0c00000efc00600
-00c0c0c00000e7c0060000c0c0c00000e5c0fd00fdc0060000c0c0c00000
-80c0ccc0010000fac0fd0003c0c00000f7c0010000e4c0050000c0c00000
-ecc0010000f3c0010000d9c0010000fbc0010000fbc0010000f1c0010000
-fbc0010000eac0010000f8c0010000bbc0010000d4c0f000f0c0060000c0
-c0c00000eac0010000e7c0060000c0c0c00000e6c0fc00f8c001000080c0
-cdc0010000fac0fc0003c0c00000f6c0010000e5c0050000c0c00000ddc0
-010000d2c0010000fbc0010000f1c0010000fbc0010000eac0010000b1c0
-010000d4c0f000f0c0060000c0c0c00000ebc0010000e5c0010000fac0fb
-0007c0c00000c0000000f3c0010000f8c001000080c0cdc0010000fbc008
-0000c00000c0c00000f6c0010000e5c0070000c0c00000c0c0fb00fdc0fd
-0008c00000c0c0c0000000fcc0fb0001c0c0fa00fdc0fb0007c0c00000c0
-000000f6c00f0000c0c0c00000c0c0c0000000c0c0c0fa00fdc0040000c0
-0000f6c0fa00fdc0070000c00000c0c0c0fb00f5c0010000f9c0fd00fdc0
-160000c0000000c0c00000c0c00000c0c00000c0c0c00000f6c0fb00fdc0
-fb0011c0c00000c0c00000c0c00000c0000000c0c0fa00fdc0fb0007c0c0
-0000c0000000f6c00f0000c0000000c0c00000c0000000c0c0f000f0c006
-0000c0c0c00000ecc0010000e3c0fd00fdc00e0000c0c0c00000c0c00000
-c0c00000f4c0010000f9c001000080c0ccc0010000fcc0070000c0c00000
-c0c0fa00fac0010000e5c0fb000fc0c00000c0c0c00000c00000c0c00000
-fbc0100000c0c0c00000c0c0c00000c0c0c00000fcc00e0000c0c0c00000
-c0c0000000c00000f7c0060000c0c0c00000fcc0010000fbc0010000fbc0
-fd0002c00000f5c0010000fbc0fd000ac00000c00000c0c0c00000f6c001
-0000f8c0010000fcc0140000c0c00000c00000c0c00000c0c0c00000c000
-00f6c0230000c0c0c00000c00000c0c0c00000c00000c0c00000c0c0c000
-00c0c00000c0c0c00000fcc00e0000c0c0c00000c0c0000000c00000f6c0
-0e0000c0c00000c0c0000000c00000c0f000f0c0060000c0c0c00000edc0
-010000e0c0030000c0c0f90007c0c00000c0c00000f4c0010000fac00100
-0080c0cbc0010000fcc0f900fac0010000fbc0010000e5c0060000c00000
-c0c0f90006c00000c0c00000fbc0010000fcc0010000f9c0010000fcc0f9
-0007c0c00000c0c00000f7c0060000c000c00000fcc0010000fbc0010000
-fbc0050000c0c00000f5c0010000fbc0060000c0c00000c0f900f6c00100
-00f8c0010000fcc00c0000c0c00000c00000c0c00000fcc0fd00f5c00100
-00fac01b0000c0c0c00000c00000c0c00000c0c0c00000c0c00000c0c0c0
-0000fcc0f90007c0c00000c0c00000f6c00e0000c0c00000c0c00000c0c0
-0000c0f000f0c0060000c0c0c00000eec0010000dec0040000c00000f9c0
-050000c0c00000f4c0010000fbc001000080c0cac0010000f8c0010000f9
-c0010000fbc0010000e5c0080000c0c00000c00000fac0050000c0c00000
-fbc0010000fbc0fd00fbc0010000fcc0010000f9c0010000f3c0060000c0
-00c00000fcc0010000fbc0010000fbc0050000c0c00000f5c0010000fbc0
-080000c0c00000c00000f1c0010000f8c0010000fcc00c0000c0c00000c0
-0000c0c00000fcc0fd00f5c0010000fac01b0000c0c0c00000c00000c0c0
-0000c0c0c00000c0c00000c0c0c00000fcc0010000f9c0010000f2c00900
-00c0c00000c0c00000fbc0f000f0c0060000c0c0c00000efc0010000e2c0
-090000c0c0c00000c00000f9c0050000c0c00000f4c0010000fbc0010000
-80c0cac0010000f8c0010000f9c0010000fbc0010000e5c0080000c0c000
-00c00000fac0050000c0c00000fbc0010000f9c0010000fcc0010000fcc0
-010000f9c0010000f3c0060000c000c00000fcc0010000fbc0010000fbc0
-050000c0c00000f5c0010000fbc0080000c0c00000c00000f1c0050000c0
-c0c000fcc0010000fcc00c0000c0c00000c00000c0c00000fcc0fd00f5c0
-010000fac01b0000c0c0c00000c00000c0c00000c0c0c00000c0c00000c0
-c0c00000fcc0010000f9c0010000f2c0090000c0c00000c0c00000fbc0f0
-00f0c0060000c0c0c00000efc0060000c0c0c00000e7c0160000c0c0c000
-00c00000c0c0c00000c0c00000c0c00000f4c0010000fbc001000080c0c9
-c0010000f9c00a0000c0c00000c0c0c00000fcc0010000e4c0140000c0c0
-0000c00000c0c0c00000c00000c0c00000fbc01f0000c0c0c00000c0c0c0
-0000c0c0c00000c00000c00000c0c0c00000c0c00000f3c0f900fcc00100
-00fbc00c0000c00000c0c00000c0c00000f5c0140000c00000c0c00000c0
-c00000c00000c0c0c00000f6c0050000c0c00000fcc0010000fcc0140000
-c0c00000c00000c0c00000c0c0c00000c00000f6c0320000c0c0c00000c0
-0000c0c0c00000c00000c0c00000c0c0c00000c0c00000c0c0c00000c000
-00c00000c0c0c00000c0c00000f2c0090000c0c00000c0c00000fbc0f000
-efc0fb00eec0f900e6c0fb00fdc0fb00fdc0fb00f5c0fa00fdc001000080
-c0c8c0010000fbc0fc0001c0c0fb00fcc0010000e4c0fd0005c0c00000c0
-c0fb00fdc0fb00fcc0fc00fdc0fb00fbc0fd00fdc0fb0001c0c0fc00f3c0
-040000c00000fcc0fc00fbc0fd0008c0c0000000c0c00000f4c0fd000ac0
-c0000000c0c00000c0c0fb00f6c0f900fdc0fc00fdc0150000c0c00000c0
-c0000000c00000c00000c0c0c00000f6c0fb00fdc0fb00fdc0fd000ac000
-00c0c00000c0c00000fcc0fd00fdc0fb0001c0c0fc00f3c0fb0001c0c0fc
-00fcc0f000a7c001000080c080c0e7c001000080c095c0010000f3c0f000
-a7c001000080c080c0ebc0050000c0c0000080c095c0010000f3c0f000a8
-c0fc0080c080c0ebc0fc0080c095c0fc00f4c0f00080c080c080c080c090
-c0f000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-00800080008000800080008000e70005c0c00000c0c08000fc00fdc0f300
-00c0fc00fdc0e800fdc0f400fdc0fb00fdc0ea0001c0c0b200fdc0ee00fd
-c0c00001c0c0e20000c0fc00fdc0e800fdc0fb0001c0c0ea0000c0ec00fd
-c0d80000c0cc00e70005c0c00000c0c08000fd0004c0c000c0c0f50001c0
-c0fb0001c0c0e90004c0c000c0c0f40001c0c0fa0001c0c0ea0001c0c0b1
-0001c0c0ed0001c0c0c00001c0c0e30001c0c0fb0001c0c0e90004c0c000
-c0c0fc0001c0c0eb0001c0c0eb0001c0c0d90001c0c0cc00e70005c0c000
-00c0c08000fd0004c0c00000c0f50001c0c0fb0001c0c0e90004c0c00000
-c0f40001c0c0fa0001c0c0990001c0c0ed0001c0c0a10001c0c0fb0001c0
-c0e90004c0c00000c0e50001c0c0eb0001c0c0d90001c0c0e90001c0c0e5
-00e70007c0c00000c0c00000fbc0070000c0c00000c0c0f500fbc0fd00fc
-c0fd0005c0c000c0c0c0f60008c0c00000c0c0000000fbc0fd00fbc0f500
-fcc0fd000ec0c000c0c0c00000c0c0000000c0c0f600fbc0fc0001c0c0f4
-00fac0fd0007c0c000c0c0000000fbc0f40001c0c0fb00fbc0fb0001c0c0
-fa0001c0c0fc00fbc0200000c0c0000000c0c0000000c0c0c0000000c0c0
-00c0c0c0000000c0c0c000c0c0f600fbc0fd00fbc0120000c0c0c000c0c0
-0000c0c0c000c0c0000000fcc0fd0005c0c000c0c0c0fc00fcc0fd00fbc0
-f500fcc0fd0006c0c0000000c0c0f70010c0c000c0c0c00000c0c000c0c0
-c0000000fbc0fd00fbc0fd00fbc0fc00fdc0fd000ec0c000c0c0c0000000
-c0c0c000c0c0f700fac0fd0007c0c000c0c0000000fbc0f40001c0c0fa00
-fdc0fd0008c0c000c0c0c0000000fbc0010000fac0f500fbc0fd0007c0c0
-00c0c0000000fcc0fd0008c0c000c0c0c0000000fcc0fc00fbc0010000fa
-c0fd00fbc0070000c0c000c0c0c0fb0001c0c0e500e600fcc00f0000c0c0
-000000c0c000c0c00000c0c0f60006c0c0000000c0c0fb000ac0c0000000
-c0c00000c0c0f70016c0c00000c0c00000c0c0000000c0c000c0c0000000
-c0c0f30012c0c0000000c0c00000c0c000c0c0000000c0c0f70008c0c000
-0000c0c00000fcc0f30001c0c0fb00fdc00a00c0c000c0c0000000c0c0f6
-00fcc0fd0006c0c0000000c0c0fc0001c0c0fa0013c0c0000000c0c00000
-00c0c000c0c0000000c0c0fc0001c0c0fc000cc0c00000c0c000c0c00000
-c0c0f6000fc0c0000000c0c000c0c0000000c0c000f9c00000f9c0fb001a
-c0c0000000c0c00000c0c00000c0c000c0c00000c0c0000000c0c0f6000d
-c0c000c0c00000c0c0000000c0c0f60025c0c00000c0c00000c0c0c000c0
-c000c0c0000000c0c000c0c0000000c0c000c0c0000000c0c0fc0001c0c0
-fc000cc0c00000c0c000c0c00000c0c0f40001c0c0fb00fdc00a00c0c000
-c0c0000000c0c0f600fcc0fa0001c0c0fc00fdc00f00c0c000c0c0000000
-c0c0000000c0c0f4000ec0c0000000c0c00000c0c0c000c0c0fb000ac0c0
-000000c0c0c000c0c0fb000fc0c00000c0c0000000c0c0000000c0c0fc00
-0ec0c0000000c0c00000c0c0c000c0c0df00e50012c0c0000000c0c00000
-00c0c000c0c00000c0c0f60001c0c0f900fbc0fd0005c0c00000c0c0f700
-0ac0c00000c0c0000000c0c0fb00f9c0f600fbc0fd000dc0c00000c0c000
-c0c0000000c0c0f7000bc0c0000000c0c0000000c0c0f20001c0c0fb0006
-c0c00000c0c000f9c0f50001c0c0fc0006c0c0000000c0c0fc0001c0c0fa
-0013c0c0000000c0c0000000c0c000c0c000c000c0c0fc0001c0c0fc000c
-c0c00000c0c000c0c00000c0c0f60001c0c0fa0018c0c0000000c0c000c0
-c000c000c0c000c0c000c000c0c00000fbc0fd0011c0c00000c0c000c0c0
-0000c0c0000000c0c0f2000dc0c00000c0c000c0c0000000c0c0f6000ec0
-c00000c0c00000c0c00000c0c000f9c0030000c0c0fa0001c0c0f80001c0
-c0fc000cc0c00000c0c000c0c00000c0c0f40001c0c0fb0006c0c00000c0
-c000f9c0f50001c0c0f90001c0c0fc0009c0c00000c0c00000c0c0f90001
-c0c0f40001c0c0f90007c0c00000c0c00000fbc0fd0007c0c00000c0c000
-00fbc0030000c0c0f80001c0c0fc00f9c0070000c0c00000c0c0df00e500
-12c0c0000000c0c0000000c0c000c0c00000c0c0f60001c0c0fa000ec0c0
-0000c0c0000000c0c00000c0c0f70005c0c00000c0c0fc00fdc0fd0001c0
-c0f20016c0c00000c0c0000000c0c00000c0c000c0c0000000c0c0f7000b
-c0c0000000c0c0000000c0c0f20001c0c0fb0008c0c00000c0c000c0c0f0
-0001c0c0fc0006c0c0000000c0c0fc0001c0c0fa0013c0c0000000c0c000
-0000c0c000c0c000c000c0c0fc0001c0c0fc000cc0c00000c0c000c0c000
-00c0c0f60001c0c0fa002dc0c0000000c0c000c0c000c000c0c000c0c000
-c000c0c000c0c00000c0c0000000c0c00000c0c000c0c00000c0c0fc00fd
-c0f4000dc0c00000c0c000c0c0000000c0c0f60009c0c00000c0c00000c0
-c0fb0001c0c0f800fdc0fb00fdc0fa0001c0c0fc000cc0c00000c0c000c0
-c00000c0c0f40001c0c0fb0008c0c00000c0c000c0c0f00001c0c0f90001
-c0c0fc0001c0c0f900fdc0fb0001c0c0f40001c0c0f90011c0c00000c0c0
-00c0c00000c0c0000000c0c0fb0009c0c00000c0c00000c0c0f80001c0c0
-fc0001c0c0f90001c0c0db00e50012c0c0000000c0c0000000c0c000c0c0
-0000c0c0f60001c0c0fa000ec0c00000c0c0000000c0c00000c0c0f70005
-c0c00000c0c0fa0005c0c00000c0c0f20016c0c00000c0c0000000c0c000
-00c0c000c0c0000000c0c0f7000bc0c0000000c0c0000000c0c0f20001c0
-c0fb0008c0c00000c0c000c0c0f00001c0c0fc0006c0c0000000c0c0fc00
-01c0c0fa0013c0c0000000c0c0000000c0c000c0c000c000c0c0fc0001c0
-c0fc000cc0c00000c0c000c0c00000c0c0f60001c0c0fa002dc0c0000000
-c0c000c0c000c000c0c000c0c000c000c0c000c0c00000c0c0000000c0c0
-0000c0c000c0c00000c0c0fa0001c0c0f5000dc0c00000c0c000c0c00000
-00c0c0f60009c0c00000c0c00000c0c0fb0001c0c0f60001c0c0fa0001c0
-c0fb0001c0c0fc000cc0c00000c0c000c0c00000c0c0f40001c0c0fb0008
-c0c00000c0c000c0c0f00001c0c0f90001c0c0fc0001c0c0f70001c0c0fc
-0001c0c0f40001c0c0f90011c0c00000c0c000c0c00000c0c0000000c0c0
-fb0009c0c00000c0c00000c0c0f80001c0c0fc0001c0c0f90001c0c0f800
-01c0c0e500e50012c0c0000000c0c0000000c0c000c0c00000c0c0f60016
-c0c0000000c0c000c0c00000c0c0000000c0c00000c0c0f70016c0c00000
-c0c00000c0c0000000c0c000c0c0000000c0c0f70016c0c00000c0c00000
-00c0c00000c0c000c0c0000000c0c0f7000bc0c0000000c0c0000000c0c0
-f20014c0c000c0c00000c0c00000c0c000c0c0000000c0c0f50001c0c0fc
-0006c0c0000000c0c0fc0001c0c0fa000cc0c0000000c0c0000000c0c000
-f9c0fc0001c0c0fc000cc0c00000c0c000c0c00000c0c0f6003ec0c00000
-00c0c000c0c0000000c0c000c0c000c000c0c000c0c000c000c0c000c0c0
-0000c0c0000000c0c00000c0c000c0c00000c0c00000c0c0000000c0c0f6
-000dc0c00000c0c000c0c0000000c0c0f60009c0c00000c0c00000c0c0fb
-0016c0c0000000c0c000c0c0000000c0c000c0c0000000c0c0fc0001c0c0
-fc000cc0c00000c0c000c0c00000c0c0f40014c0c000c0c00000c0c00000
-c0c000c0c0000000c0c0f50001c0c0f90001c0c0fc0001c0c0fb000ec0c0
-000000c0c0000000c0c000c0c0f7001ac0c0000000c0c00000c0c00000c0
-c000c0c00000c0c0000000c0c0fb0022c0c00000c0c00000c0c0000000c0
-c0000000c0c000c0c000c0c0000000c0c00000c0c0f80001c0c0e500e600
-fcc0fd00fbc0fd00fdc00200c0c0f600fbc0fd00fdc00a00c0c00000c0c0
-0000c0c0f600fdc00400c0c00000fbc0fd00fbc0f500fdc00c00c0c00000
-c0c00000c0c00000fac0f600fbc0fd00fcc0f200fdc00a0000c0c0c00000
-c0c00000fbc0f500fcc0fc00fbc0fc00fcc0fc00fcc0fd00fbc0fd0004c0
-c000c0c0fc00fcc0fd0007c0c00000c0c00000fbc0f500fbc0fd00fbc02a
-0000c0c0000000c0c000c0c0000000c0c00000c0c0c000c0c00000c0c000
-00c0c00000c0c0c000c0c00000fbc0f500fbc0fd00fac0f600fbc0010000
-fcc0fb00fbc0fd00fbc0fd00fbc0fc00fcc0fd0007c0c00000c0c00000fb
-c0f300fdc00a0000c0c0c00000c0c00000fbc0f500fcc0fb00fcc0010000
-fcc0fb00fbc0fb00fdc0f500fbc0110000c0c0c00000c0c00000c0c0c000
-c0c000fcc0fb00fdc00400c0c00000fbc0fb00fdc0fd00fbc0010000fcc0
-fa0001c0c0e4008000f30001c0c08000fb0001c0c0a10001c0c0f60001c0
-c0c70001c0c08000be008000f40001c0c08000070000c0c00000c0c0a200
-01c0c0f50001c0c0cb0005c0c00000c0c08000be008000f800fbc08000fc
-00fcc0a500fbc0f500fcc0cb00fcc08000bd008000800080008000800080
-00800080008000800080008000800080008000f500fdc0fc0001c0c0f200
-fdc0f20000c0ca0001c0c0f100fdc0f400fdc0f20000c0d90001c0c0fb00
-fdc0db0001c0c0f10001c0c0fb00fdc08b0001c0c0ea00fdc0d200fdc0fc
-0001c0c0d100fdc0e30001c0c0fb00fdc0db0001c0c0f10001c0c0fa0000
-c0ec00f40001c0c0fb0001c0c0f20001c0c0f30001c0c0c90001c0c0f100
-01c0c0f30001c0c0f30001c0c0d90001c0c0fa0001c0c0da0001c0c0f200
-01c0c0fa0001c0c08a0001c0c0ea0001c0c0d30004c0c000c0c0fc0001c0
-c0d10001c0c0e30001c0c0fa0001c0c0da0001c0c0f20001c0c0fb0001c0
-c0ec00f40001c0c0fa0001c0c0f30001c0c0f30001c0c0c80001c0c0f200
-01c0c0f30001c0c0f30001c0c0d10001c0c0d90001c0c0eb0001c0c08900
-01c0c0eb0001c0c0d30004c0c00000c0fb0001c0c0d20001c0c0db0001c0
-c0d90001c0c0ec0001c0c0ec00f600fcc0fa0004c0c0000000fbc0fb0001
-c0c0fc00fbc0010000fac0fd00fbc0f500fbc0070000c0c000c0c0c0f600
-05c0c00000c0c0fa0009c0c00000c0c000c0c0c0fc00fcc0fd00fbc0fb00
-01c0c0fc00fbc0010000fac0fd00fbc0f600fdc00500c0c0000000fcc0fb
-00fdc0fa0001c0c0e500fdc00200c0c0fa0004c0c0000000fcc0fb00fdc0
-fa0001c0c0f400fcc0f500fdc00500c0c0000000fbc0fd00fbc0fd00fbc0
-fd00fcc0fc00fdc00400c0c00000fbc0e60005c0c000c0c0c0fa0004c0c0
-000000fbc0070000c0c000c0c0c0fb000bc0c0000000c0c0000000c0c0f6
-00fbc0070000c0c000c0c0c0f40001c0c0f80004c0c0000000fbc0120000
-c0c000c0c0c00000c0c0000000c0c00000fcc0fd0005c0c000c0c0c0fc00
-fcc0f600fdc00500c0c0000000fcc0fb00fdc0fa0001c0c0e400fdc00200
-c0c0fb0009c0c00000c0c00000c0c0fc00fdc0fd00fac0ee00f70004c0c0
-00c0c0fa000ac0c00000c0c0000000c0c0fc0010c0c0000000c0c0000000
-c0c0000000c0c0fc0006c0c0000000c0c0f7000ec0c0000000c0c00000c0
-c0c000c0c0f70005c0c00000c0c0fa001ac0c0000000c0c00000c0c00000
-c0c000c0c00000c0c0000000c0c0fc0010c0c0000000c0c0000000c0c000
-0000c0c0fc0006c0c0000000c0c0f700f9c0fb0001c0c0fb0001c0c0fa00
-01c0c0e500f9c0fb0001c0c0fa0001c0c0fb0001c0c0fa0001c0c0f10001
-c0c0f600f9c01700c0c0000000c0c000c0c0000000c0c000c0c0000000c0
-c0fb0012c0c00000c0c00000c0c00000c0c0000000c0c0e600fdc00200c0
-c0fb0012c0c00000c0c0000000c0c00000c0c00000c0c0fc000bc0c00000
-00c0c0000000c0c0f7000ec0c0000000c0c00000c0c0c000c0c0f600fcc0
-f9001ac0c00000c0c0000000c0c00000c0c0c000c0c000c0c0000000c0c0
-fb0011c0c0000000c0c0c000c0c00000c0c000c0c0f600f9c0fb0001c0c0
-fb0001c0c0fa0001c0c0e50005c0c00000c0c0fa0009c0c00000c0c00000
-c0c0fb0001c0c0fb0001c0c0ec00f80005c0c00000c0c0fa0003c0c00000
-f9c0fc0004c0c0000000f9c0fd0001c0c0fc00f9c0f7000ec0c0000000c0
-c00000c0c00000c0c0f70005c0c00000c0c0fa0013c0c0000000c0c00000
-c0c000c0c00000c0c00000f9c0fc0004c0c0000000f9c0fd0001c0c0fc00
-f9c0f70008c0c000c000c0c00000fbc0fb0001c0c0fa0001c0c0e50006c0
-c000c000c0c0fb0004c0c0000000fbc0fb0001c0c0fa0001c0c0f400fbc0
-f60007c0c000c000c0c000f9c0030000c0c0fa0001c0c0fa00fbc0090000
-c0c00000c0c00000f9c0e60005c0c00000c0c0fb0003c0c00000f9c00700
-00c0c00000c0c0fc000bc0c0000000c0c0000000c0c0f7000ec0c0000000
-c0c00000c0c00000c0c0f50001c0c0f8001cc0c00000c0c0000000c0c000
-00c0c00000c0c000c0c000c000c0c00000fbc0fd000cc0c00000c0c000c0
-c00000c0c0f60008c0c000c000c0c00000fbc0fb0001c0c0fa0001c0c0e5
-0005c0c00000c0c0fa0009c0c00000c0c00000c0c0fb0001c0c0fb0001c0
-c0ec00f80005c0c00000c0c0fa0005c0c00000c0c0f70006c0c0000000c0
-c0f80001c0c0fc0001c0c0f2000ac0c0000000c0c00000c0c0f30005c0c0
-0000c0c0fa0015c0c0000000c0c00000c0c000c0c00000c0c00000c0c0f7
-0006c0c0000000c0c0f80001c0c0fc0001c0c0f2000dc0c000c000c0c000
-c0c00000c0c0fb0001c0c0fa0001c0c0e50006c0c000c000c0c0fb0009c0
-c00000c0c00000c0c0fb0001c0c0fa0001c0c0f50005c0c00000c0c0f600
-09c0c000c000c0c000c0c0f800fdc0fb00fdc0fd0011c0c00000c0c00000
-c0c00000c0c00000c0c0e10001c0c0f70005c0c00000c0c0f90005c0c000
-00c0c0fc000bc0c0000000c0c0000000c0c0f7000ac0c0000000c0c00000
-c0c0f10001c0c0f8000ec0c00000c0c0000000c0c00000c0c0fb0012c0c0
-00c000c0c000c0c00000c0c0000000c0c0fb0005c0c00000c0c0f6000dc0
-c000c000c0c000c0c00000c0c0fb0001c0c0fa0001c0c0e50005c0c00000
-c0c0fa0009c0c00000c0c00000c0c0fb0001c0c0fb0001c0c0ec00f80005
-c0c00000c0c0fa0005c0c00000c0c0f70006c0c0000000c0c0f80001c0c0
-fc0001c0c0f2000ac0c0000000c0c00000c0c0f30005c0c00000c0c0fa00
-15c0c0000000c0c00000c0c000c0c00000c0c00000c0c0f70006c0c00000
-00c0c0f80001c0c0fc0001c0c0f2000dc0c000c000c0c000c0c00000c0c0
-fb0001c0c0fa0001c0c0fa0001c0c0ed0006c0c000c000c0c0fb0009c0c0
-0000c0c00000c0c0fb0001c0c0fa0001c0c0f50005c0c00000c0c0f60009
-c0c000c000c0c000c0c0f60001c0c0fa0015c0c00000c0c00000c0c00000
-c0c00000c0c00000c0c0f70001c0c0ec0001c0c0f70005c0c00000c0c0f9
-0005c0c00000c0c0fc000bc0c0000000c0c0000000c0c0f7000ac0c00000
-00c0c00000c0c0f10001c0c0f8000ec0c00000c0c0000000c0c00000c0c0
-fb0012c0c000c000c0c000c0c00000c0c0000000c0c0fb0005c0c00000c0
-c0f6000dc0c000c000c0c000c0c00000c0c0fb0001c0c0fa0001c0c0fa00
-01c0c0ed0005c0c00000c0c0fa0009c0c00000c0c00000c0c0fb0001c0c0
-fb0001c0c0ec00f80005c0c00000c0c0fb000bc0c0000000c0c0000000c0
-c0fc001bc0c0000000c0c0000000c0c0000000c0c000c0c000c0c0000000
-c0c0f7000ac0c0000000c0c00000c0c0f30005c0c00000c0c0fb0001c0c0
-fc0015c0c00000c0c000c0c00000c0c00000c0c0000000c0c0fc001bc0c0
-000000c0c0000000c0c0000000c0c000c0c000c0c0000000c0c0f7000dc0
-c000c000c0c000c0c00000c0c0fb0001c0c0fa0001c0c0fa0001c0c0ed00
-06c0c000c000c0c0fc000ac0c0000000c0c00000c0c0fb0001c0c0fa0001
-c0c0f50005c0c00000c0c0f60036c0c000c000c0c000c0c0000000c0c000
-c0c0000000c0c000c0c0000000c0c000c0c00000c0c00000c0c00000c0c0
-0000c0c0000000c0c0fc0001c0c0ec0001c0c0f80013c0c0000000c0c000
-0000c0c00000c0c00000c0c0fc000bc0c0000000c0c0000000c0c0f7000a
-c0c0000000c0c00000c0c0f10001c0c0f9000fc0c0000000c0c0000000c0
-c00000c0c0fb00f9c00b00c0c00000c0c0000000c0c0fb0005c0c00000c0
-c0f6000dc0c000c000c0c000c0c00000c0c0fb0001c0c0fa0001c0c0fa00
-01c0c0ed0005c0c00000c0c0fb000ac0c0000000c0c00000c0c0fb0001c0
-c0fb0004c0c000c0c0ef00f700fdc00700c0c0000000c0c0fb00fbc0fc00
-fcc0fd00fbc0fb00fdc0fd00fbc0f500fbc0010000fcc0f300fdc00700c0
-c0000000c0c0fb000fc0c00000c0c00000c0c0c000c0c00000fbc0fc00fc
-c0fd00fbc0fb00fdc0fd00fbc0f60011c0c0000000c0c00000c0c0c000c0
-c0000000fcc0fc00fcc0fb0001c0c0ed000bc0c0000000c0c0000000c0c0
-fb00fdc00500c0c0000000fcc0fc00fcc0f500fdc00200c0c0f70008c0c0
-000000c0c00000fbc0fd00fbc0fd00fbc0fd00fdc00400c0c00000fbc0fd
-00fbc0fb0001c0c0ed00fcc0fa0001c0c0fb00fbc0fd00fbc0fc00fcc0fd
-00fac0f600fbc0010000fcc0f300fcc0fb0001c0c0fb00fbc0010000fcc0
-fb000ec0c000c0c0000000c0c0c000c0c000fcc0fb00fdc00200c0c0f700
-11c0c0000000c0c00000c0c0c000c0c0000000fcc0fc00fcc0fb0001c0c0
-ec00fbc0fc0001c0c0fb00fdc00500c0c0000000fcc0fb00fdc0ee008000
-ae0001c0c0800001c0c0f40001c0c0d30001c0c0ee0001c0c08000f50001
-c0c0e80001c0c0ce0080008000b00005c0c00000c0c0c50001c0c0ef0001
-c0c08000da0001c0c0ce0080008000af00fcc0c500fcc0f400fbc08000da
-00fcc0cf0080008000800080008000800080008000800080008000800080
-0080008000df00fac0d400fdc08000d30000c0bf0001c0c0bc00fdc0d600
-fdc09a00fbc0e600fdc0f100fdc0d500df00fac0d30001c0c08000e90001
-c0c0ed0001c0c0e30001c0c0de0001c0c0bb0001c0c0d50001c0c09b0006
-c0c0000000c0c0e60001c0c0f00001c0c0d500df0005c000c0c000c0d300
-01c0c08000ea0001c0c0ec0001c0c0e20001c0c0980001c0c0d50001c0c0
-9b0006c0c0000000c0c0e60001c0c0f00001c0c0d500dd0001c0c0fc00fb
-c0f60008c0c000c0c0c0000000fbc0fd00fcc0fb00fcc0f500fcc0f500fd
-c00500c0c0000000fbc0fd00fbc0fd00fbc0fd00fcc0fc00fdc00400c0c0
-0000fbc0ee0010c0c000c0c0c00000c0c000c0c0c0000000fbc0fd00fbc0
-fd00fbc0f3000dc0c0000000c0c000c0c0c0000000fbc0010000fac01700
-00c0c00000c0c00000c0c000c0c0c00000c0c000c0c0c0fb0001c0c0e100
-fdc0f600fac0f700fdc00500c0c0000000fbc00a0000c0c0000000c0c000
-00fbc0f400fcc0fd00fbc00f0000c0c0000000c0c000c0c000c0c0c0ed00
-05c0c00000c0c0f600fac0f700fdc00500c0c0000000fbc00a0000c0c000
-0000c0c00000fbc0f6000dc0c00000c0c00000c0c000c0c0c0ea0001c0c0
-f500fac0f60007c0c000c0c0000000fbc0fb000ac0c0000000c0c000c0c0
-c0de00dd000bc0c0000000c0c0000000c0c0f600fdc00a00c0c000c0c000
-0000c0c0fb0009c0c0000000c0c000c0c0f20001c0c0f600f9c01700c0c0
-000000c0c000c0c0000000c0c000c0c0000000c0c0fb0012c0c00000c0c0
-0000c0c00000c0c0000000c0c0ee0025c0c00000c0c00000c0c0c000c0c0
-00c0c0000000c0c000c0c0000000c0c000c0c0000000c0c0f50001c0c0fb
-00fdc00f00c0c000c0c0000000c0c0000000c0c0fc0016c0c00000c0c000
-0000c0c0c000c0c00000c0c00000c0c0fb0001c0c0e10001c0c0e700f9c0
-1700c0c0000000c0c000c0c0000000c0c000c0c0000000c0c0f6001dc0c0
-00c0c00000c0c0000000c0c000c0c0000000c0c00000c0c00000c0c0ee00
-04c0c000c0c0e600f9c01700c0c0000000c0c000c0c0000000c0c000c0c0
-000000c0c0f7000ec0c00000c0c0000000c0c00000c0c0ec0001c0c0e400
-fdc00a00c0c000c0c0000000c0c0fc0001c0c0fc0005c0c00000c0c0df00
-dd000bc0c0000000c0c0000000c0c0f60006c0c00000c0c000f9c0010000
-fbc0070000c0c00000c0c0f500fbc0f60007c0c000c000c0c000f9c00300
-00c0c0fa0001c0c0fa00fbc0090000c0c00000c0c00000f9c0ee000ec0c0
-0000c0c00000c0c00000c0c000f9c0030000c0c0fa0001c0c0f20001c0c0
-fa0006c0c00000c0c000f9c0fd0001c0c0fc0016c0c00000c0c0000000c0
-c00000c0c00000c0c00000c0c0fa0001c0c0e20001c0c0e70017c0c000c0
-00c0c000c0c0000000c0c000c0c0000000c0c000f9c0f7001ec0c00000c0
-c00000c0c0000000c0c000c0c000c000c0c00000c0c00000c0c0ee00fcc0
-e50017c0c000c000c0c000c0c0000000c0c000c0c0000000c0c000f9c0f7
-000ec0c00000c0c0000000c0c00000c0c0ec0001c0c0e40006c0c00000c0
-c000f9c0fc0001c0c0fc0005c0c00000c0c0df00dd000bc0c0000000c0c0
-000000c0c0f60001c0c0fb0001c0c0fa000dc0c00000c0c00000c0c00000
-c0c0f60005c0c00000c0c0f60009c0c000c000c0c000c0c0f800fdc0fb00
-fdc0fd0011c0c00000c0c00000c0c00000c0c00000c0c0e90009c0c00000
-c0c00000c0c0fb0001c0c0f800fdc0fb00fdc0f30001c0c0fb0001c0c0fb
-0001c0c0f80001c0c0fc000ac0c00000c0c0000000c0c0fa0005c0c00000
-c0c0fb0001c0c0e10001c0c0f600fac0f70019c0c000c000c0c000c0c000
-0000c0c000c0c0000000c0c000c0c0f2001ec0c00000c0c00000c0c00000
-00c0c000c0c000c000c0c00000c0c00000c0c0ee00fcc0f400fac0f70019
-c0c000c000c0c000c0c0000000c0c000c0c0000000c0c000c0c0f2000ec0
-c00000c0c0000000c0c00000c0c0ec0001c0c0f400fac0f60008c0c00000
-c0c000c0c0f70001c0c0fc0005c0c00000c0c0df00dd000bc0c0000000c0
-c0000000c0c0f60001c0c0fb0001c0c0fa000dc0c00000c0c00000c0c000
-00c0c0f60005c0c00000c0c0f60009c0c000c000c0c000c0c0f60001c0c0
-fa0015c0c00000c0c00000c0c00000c0c00000c0c00000c0c0f70001c0c0
-f40009c0c00000c0c00000c0c0fb0001c0c0f60001c0c0fa0001c0c0f300
-01c0c0fc0001c0c0fb0001c0c0f80001c0c0fc000ac0c00000c0c0000000
-c0c0fa0005c0c00000c0c0fc0001c0c0e00001c0c0e70019c0c000c000c0
-c000c0c0000000c0c000c0c0000000c0c000c0c0f2001ec0c00000c0c000
-00c0c0000000c0c000c0c000c000c0c00000c0c00000c0c0fc0001c0c0f4
-0004c0c000c0c0e60019c0c000c000c0c000c0c0000000c0c000c0c00000
-00c0c000c0c0f2000ec0c00000c0c0000000c0c00000c0c0fc0001c0c0d4
-0008c0c00000c0c000c0c0f70001c0c0fc0005c0c00000c0c0df00dd000b
-c0c0000000c0c0000000c0c0f60001c0c0fb0015c0c0000000c0c000c0c0
-0000c0c00000c0c00000c0c0f60005c0c00000c0c0f60036c0c000c000c0
-c000c0c0000000c0c000c0c0000000c0c000c0c0000000c0c000c0c00000
-c0c00000c0c00000c0c00000c0c0000000c0c0fc0001c0c0f40009c0c000
-00c0c00000c0c0fb0016c0c0000000c0c000c0c0000000c0c000c0c00000
-00c0c0f30006c0c0000000c0c0fb001ac0c0000000c0c0000000c0c000c0
-c000c0c00000c0c0000000c0c0fa000ac0c00000c0c0000000c0c0f90001
-c0c0e80001c0c0e7001ec0c000c000c0c000c0c0000000c0c00000c0c000
-c0c00000c0c0000000c0c0f7000fc0c00000c0c00000c0c0000000c0c000
-f9c0070000c0c00000c0c0fc0001c0c0f40005c0c00000c0c0e7001ec0c0
-00c000c0c000c0c0000000c0c00000c0c000c0c00000c0c0000000c0c0f7
-000ec0c00000c0c0000000c0c00000c0c0fc0001c0c0f20001c0c0e4000d
-c0c00000c0c000c0c0000000c0c0fc0001c0c0fc0005c0c00000c0c0df00
-de00fcc0fd00fbc0f600fcc0fb00fbc0fd00fdc00a00c0c00000c0c0c000
-c0c0f600fdc00200c0c0f70008c0c0000000c0c00000fbc0fd00fbc0fd00
-fbc0fd00fdc00400c0c00000fbc0fd00fbc0fb0001c0c0f400fbc0010000
-fcc0fb00fbc0fd00fbc0fd00fbc0f10002c0c000fcc0fb00fbc0fb00fdc0
-fd00fdc00300c0c000fcc0fb0009c0c00000c0c00000c0c0f80001c0c0e8
-0001c0c0e70008c0c0000000c0c00000fbc0fc00fdc0fc00fbc0f500fdc0
-0400c0c00000fbc0fd000dc0c000c0c0000000c0c00000c0c0fc0001c0c0
-f500fdc0030000c0c0e70008c0c0000000c0c00000fbc0fc00fdc0fc00fb
-c0f500fdc00400c0c00000fbc0fb0001c0c0f20001c0c0e500fdc0050000
-c0c00000fbc0fc00fcc0fd00fbc0de008000e40001c0c0f40001c0c0f300
-01c0c08000fa0005c0c00000c0c09d0001c0c0a30001c0c0f90001c0c0bb
-0001c0c0db008000e80005c0c00000c0c0e50001c0c08000fa0005c0c000
-00c0c08000be0001c0c0b20001c0c0db008000e700fcc0e500fcc08000fa
-00fcc08000be00fcc0b400fcc0dc00800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-00800080008000800080008000800080008000800080008000010000fcc0
-d300fdc08000800080008000b6000600c0c00000c0c0d30001c0c0800080
-0080008000b60001c0c0fc0000c0d30001c0c0fb0001c0c0800080008000
-8000bd0001c0c0f900fbc0120000c0c0c000c0c00000c0c0c000c0c00000
-00fcc0fd0005c0c000c0c0c0fc00fcc0fb0001c0c08000800080008000bd
-0001c0c0fa0007c0c0000000c0c000f9c00000f9c0fb0011c0c0000000c0
-c00000c0c00000c0c000c0c08000800080008000b60001c0c0fa0018c0c0
-000000c0c000c0c000c000c0c000c0c000c000c0c00000fbc0fd000cc0c0
-0000c0c000c0c00000c0c08000800080008000b60001c0c0fa002dc0c000
-0000c0c000c0c000c000c0c000c0c000c000c0c000c0c00000c0c0000000
-c0c00000c0c000c0c00000c0c08000800080008000b60001c0c0fc002fc0
-00c0c0000000c0c000c0c000c000c0c000c0c000c000c0c000c0c00000c0
-c0000000c0c00000c0c000c0c00000c0c0fb0001c0c08000800080008000
-bd003500c0c00000c0c000c0c0000000c0c000c0c000c000c0c000c0c000
-c000c0c000c0c00000c0c0000000c0c00000c0c000c0c00000c0c0fb0001
-c0c08000800080008000bd00010000fcc0fd00fbc0280000c0c0000000c0
-c000c0c0000000c0c00000c0c0c000c0c00000c0c00000c0c00000c0c0c0
-00c0c08000800080008000b7008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-0080008000800080008000800080008000800080008000
-grestore
-showpage
-%%Trailer
-
-%%EndDocument
- @endspecial -30 54143 a
- currentpoint currentpoint translate 1 0.79 div 1 0.79 div scale neg
-exch neg exch translate
- -30 54143 a -30 55692 a
-SDict begin H.S end
- -30
-55692 a -30 55692 a
-SDict begin 18.2 H.A end
- -30 55692 a -30 55692 a
-SDict begin [ /View [/XYZ H.V] /Dest (4690) cvn H.B /DEST pdfmark end
- -30 55692
-a 2015 x FU(By)406 b(def)-15 b(ault,)405 b(you)h(are)g(placed)f(in)h
-(your)g(inbox.)f(The)h(messages)f(are)h(listed)f(with)h(the)f(message)
--30 59722 y(number)-62 b(,)418 b(date,)h(sender)-62 b(,)418
-b(and)h(subject.)f(Use)g(the)g(arro)-39 b(w)418 b(k)-15
-b(e)-23 b(ys)418 b(to)g(highlight)e(the)i(message)g(you)-30
-61736 y(w)-15 b(ant.)387 b(Press)7401 61736 y
-SDict begin H.S end
- 7401 61736
-a 7401 61736 a
-SDict begin 18.2 H.A end
- 7401 61736 a 7401 61736 a
-SDict begin [ /View [/XYZ H.V] /Dest (4691) cvn H.B /DEST pdfmark end
- 7401 61736 a
-Fv(Enter)g FU(to)g(read)g(the)h(message.)-30 62072 y
-SDict begin H.S end
-
--30 62072 a -30 62072 a
-SDict begin 18.2 H.A end
- -30 62072 a -30 62072 a
-SDict begin [ /View [/XYZ H.V] /Dest (4692) cvn H.B /DEST pdfmark end
- -30 62072
-a -30 62847 a
-SDict begin H.S end
- -30 62847 a -30 62847 a
-SDict begin 18.2 H.A end
- -30 62847 a -30
-62847 a
-SDict begin [ /View [/XYZ H.V] /Dest (4695) cvn H.B /DEST pdfmark end
- -30 62847 a 1679 x FU(T)-124 b(o)327 b(compose)f(a)i(ne)-39
-b(w)327 b(message,)g(type)20577 64526 y
-SDict begin H.S end
- 20577 64526 a
-20577 64526 a
-SDict begin 18.2 H.A end
- 20577 64526 a 20577 64526 a
-SDict begin [ /View [/XYZ H.V] /Dest (4696) cvn H.B /DEST pdfmark end
- 20577 64526
-a Fv(m)g FU(at)g(the)g(main)g(screen.)g(The)36337 64526
-y
-SDict begin H.S end
- 36337 64526 a 36337 64526 a
-SDict begin 18.2 H.A end
- 36337 64526 a 36337 64526
-a
-SDict begin [ /View [/XYZ H.V] /Dest (4697) cvn H.B /DEST pdfmark end
- 36337 64526 a Fv(d)g FU(k)-15 b(e)-23 b(y)326 b(will)h(\003ag)f(a)h
-(message)-30 66541 y(for)379 b(deletion.)g(And)g(the)13237
-66541 y
-SDict begin H.S end
- 13237 66541 a 13237 66541 a
-SDict begin 18.2 H.A end
- 13237 66541 a 13237
-66541 a
-SDict begin [ /View [/XYZ H.V] /Dest (4698) cvn H.B /DEST pdfmark end
- 13237 66541 a Fv(r)g FU(k)-15 b(e)-23 b(y)379
-b(will)f(reply)h(to)g(the)g(current)h(message)e(you)h(are)h(reading.)f
-(All)g(of)p Black 49394 73792 a FR(167)p Black eop end
-%%Page: 168 190
-TeXDict begin 168 189 bop -8000 -8000 a
-SDict begin /product where{pop product(Distiller)search{pop pop pop
-version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
-closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
-grestore}if}{pop}ifelse}{pop}ifelse}if end
- -8000 -8000 a
-Black 0 TeXcolorgray -30 -1237 a
-SDict begin H.S end
- -30 -1237 a 0 TeXcolorgray
-0 TeXcolorgray -30 -1237 a
-SDict begin H.R end
- -30 -1237 a -30 -1237 a
-SDict begin [ /View [/XYZ H.V] /Dest (page.168) cvn H.B /DEST pdfmark
-end
- -30
--1237 a Black -30 -2687 a
-SDict begin H.S end
- -30 -2687 a -30 -2687 a
-SDict begin 18.2 H.A end
- -30
--2687 a -30 -2687 a
-SDict begin [ /View [/XYZ H.V] /Dest (4733) cvn H.B /DEST pdfmark end
- -30 -2687 a 1051 x FR(Chapter)387
-b(13)g(Basic)g(Network)f(Commands)p Black -30 3611 a
-FU(these)h(k)-15 b(e)-23 b(ys)387 b(are)g(displayed)g(at)g(the)g
-(bottom)g(of)g(the)g(screen)h(with)f(a)g(prompt.)-30
-6401 y(The)520 b(man)f(page)h(discusses)f FP(elm)g FU(in)h(more)f
-(detail,)h(so)f(you)h(will)f(probably)g(w)-15 b(ant)519
-b(to)h(consult)-30 8415 y(that)387 b(before)h(using)10773
-8415 y
-SDict begin H.S end
- 10773 8415 a 10773 8415 a
-SDict begin 18.2 H.A end
- 10773 8415 a 10773 8415
-a
-SDict begin [ /View [/XYZ H.V] /Dest (4701) cvn H.B /DEST pdfmark end
- 10773 8415 a FP(elm)p FU(.)-30 9526 y
-SDict begin H.S end
- -30 9526 a -30
-9526 a
-SDict begin 18.2 H.A end
- -30 9526 a -30 9526 a
-SDict begin [ /View [/XYZ H.V] /Dest (BASIC-NETWORK-COMMANDS-EMAIL-MUTT)
-cvn H.B /DEST pdfmark end
- -30 9526 a 5181 x FF(m)-37
-b(utt)-30 14730 y
-SDict begin H.S end
- -30 14730 a -30 14730 a
-SDict begin 18.2 H.A end
- -30 14730 a
--30 14730 a
-SDict begin [ /View [/XYZ H.V] /Dest (4705) cvn H.B /DEST pdfmark end
- -30 14730 a -30 15660 a
-SDict begin H.S end
- -30 15660 a -30 15660
-a
-SDict begin 18.2 H.A end
- -30 15660 a -30 15660 a
-SDict begin [ /View [/XYZ H.V] /Dest (4708) cvn H.B /DEST pdfmark end
- -30 15660 a -30 15660 a
-SDict begin H.S end
- -30
-15660 a -30 15660 a
-SDict begin 18.2 H.A end
- -30 15660 a -30 15660 a
-SDict begin [ /View [/XYZ H.V] /Dest (4709) cvn H.B /DEST pdfmark end
- -30 15660
-a 1992 x FU(\223All)375 b(mail)f(clients)g(suck.)h(This)f(one)h(just)f
-(sucks)g(less.\224)30118 17652 y
-SDict begin H.S end
- 30118 17652 a 30118
-17652 a
-SDict begin 18.2 H.A end
- 30118 17652 a 30118 17652 a
-SDict begin [ /View [/XYZ H.V] /Dest (4710) cvn H.B /DEST pdfmark end
- 30118 17652 a FP(mutt)p
-FU(')-85 b(s)374 b(original)g(interf)-15 b(ace)374 b(w)-15
-b(as)374 b(based)-30 19666 y(on)1934 19666 y
-SDict begin H.S end
- 1934 19666
-a 1934 19666 a
-SDict begin 18.2 H.A end
- 1934 19666 a 1934 19666 a
-SDict begin [ /View [/XYZ H.V] /Dest (4711) cvn H.B /DEST pdfmark end
- 1934 19666 a
-FP(elm)413 b FU(with)g(added)g(features)h(found)f(in)g(other)h(popular)
-f(mailclients,)f(resulting)h(in)g(a)h(h)-8 b(ybrid)-30
-21681 y(mutt.)-30 22471 y
-SDict begin H.S end
- -30 22471 a -30 22471 a
-SDict begin 18.2 H.A end
- -30
-22471 a -30 22471 a
-SDict begin [ /View [/XYZ H.V] /Dest (4712) cvn H.B /DEST pdfmark end
- -30 22471 a 2000 x FU(Some)387 b(of)5566
-24471 y
-SDict begin H.S end
- 5566 24471 a 5566 24471 a
-SDict begin 18.2 H.A end
- 5566 24471 a 5566 24471
-a
-SDict begin [ /View [/XYZ H.V] /Dest (4713) cvn H.B /DEST pdfmark end
- 5566 24471 a FP(mutt)p FU(')-85 b(s)387 b(features)g(include:)-30
-24497 y
-SDict begin H.S end
- -30 24497 a -30 24497 a
-SDict begin 18.2 H.A end
- -30 24497 a -30 24497
-a
-SDict begin [ /View [/XYZ H.V] /Dest (4714) cvn H.B /DEST pdfmark end
- -30 24497 a -30 25272 a
-SDict begin H.S end
- -30 25272 a -30 25272 a
-SDict begin 18.2 H.A end
- -30
-25272 a -30 25272 a
-SDict begin [ /View [/XYZ H.V] /Dest (4715) cvn H.B /DEST pdfmark end
- -30 25272 a Black 3538 x FM(\225)p
-Black 1520 28810 a
-SDict begin H.S end
- 1520 28810 a 1520 28810 a
-SDict begin 18.2 H.A end
- 1520 28810
-a 1520 28810 a
-SDict begin [ /View [/XYZ H.V] /Dest (4716) cvn H.B /DEST pdfmark end
- 1520 28810 a FU(color)g(support)-30 29145
-y
-SDict begin H.S end
- -30 29145 a -30 29145 a
-SDict begin 18.2 H.A end
- -30 29145 a -30 29145 a
-SDict begin [ /View [/XYZ H.V] /Dest (4717) cvn H.B /DEST pdfmark end
- -30
-29145 a Black 2454 x FM(\225)p Black 1520 31599 a
-SDict begin H.S end
- 1520
-31599 a 1520 31599 a
-SDict begin 18.2 H.A end
- 1520 31599 a 1520 31599 a
-SDict begin [ /View [/XYZ H.V] /Dest (4718) cvn H.B /DEST pdfmark end
- 1520 31599
-a FU(message)g(threading)-30 31935 y
-SDict begin H.S end
- -30 31935 a -30
-31935 a
-SDict begin 18.2 H.A end
- -30 31935 a -30 31935 a
-SDict begin [ /View [/XYZ H.V] /Dest (4719) cvn H.B /DEST pdfmark end
- -30 31935 a Black 2454
-x FM(\225)p Black 1520 34389 a
-SDict begin H.S end
- 1520 34389 a 1520 34389
-a
-SDict begin 18.2 H.A end
- 1520 34389 a 1520 34389 a
-SDict begin [ /View [/XYZ H.V] /Dest (4720) cvn H.B /DEST pdfmark end
- 1520 34389 a FU(MIME)g(and)g(PGP/MIME)f
-(support)-30 34725 y
-SDict begin H.S end
- -30 34725 a -30 34725 a
-SDict begin 18.2 H.A end
- -30 34725
-a -30 34725 a
-SDict begin [ /View [/XYZ H.V] /Dest (4721) cvn H.B /DEST pdfmark end
- -30 34725 a Black 2454 x FM(\225)p Black
-1520 37179 a
-SDict begin H.S end
- 1520 37179 a 1520 37179 a
-SDict begin 18.2 H.A end
- 1520 37179 a 1520
-37179 a
-SDict begin [ /View [/XYZ H.V] /Dest (4722) cvn H.B /DEST pdfmark end
- 1520 37179 a FU(pop3)h(and)g(imap)g(support)-30
-37514 y
-SDict begin H.S end
- -30 37514 a -30 37514 a
-SDict begin 18.2 H.A end
- -30 37514 a -30 37514
-a
-SDict begin [ /View [/XYZ H.V] /Dest (4723) cvn H.B /DEST pdfmark end
- -30 37514 a Black 2454 x FM(\225)p Black 1520 39968
-a
-SDict begin H.S end
- 1520 39968 a 1520 39968 a
-SDict begin 18.2 H.A end
- 1520 39968 a 1520 39968 a
-SDict begin [ /View [/XYZ H.V] /Dest (4724) cvn H.B /DEST pdfmark end
-
-1520 39968 a FU(support)f(for)i(multiple)e(mailbox)h(formats)f(\(mbox,)
-i(MMDF)-124 b(,)386 b(MH,)i(maildir\))-30 40304 y
-SDict begin H.S end
- -30
-40304 a -30 40304 a
-SDict begin 18.2 H.A end
- -30 40304 a -30 40304 a
-SDict begin [ /View [/XYZ H.V] /Dest (4725) cvn H.B /DEST pdfmark end
- -30 40304
-a Black 2454 x FM(\225)p Black 1520 42758 a
-SDict begin H.S end
- 1520 42758
-a 1520 42758 a
-SDict begin 18.2 H.A end
- 1520 42758 a 1520 42758 a
-SDict begin [ /View [/XYZ H.V] /Dest (4726) cvn H.B /DEST pdfmark end
- 1520 42758 a
-1520 42758 a
-SDict begin H.S end
- 1520 42758 a 1520 42758 a
-SDict begin 18.2 H.A end
- 1520 42758 a 1520
-42758 a
-SDict begin [ /View [/XYZ H.V] /Dest (4727) cvn H.B /DEST pdfmark end
- 1520 42758 a FR(highly)f FU(customizable)-30
-43075 y
-SDict begin H.S end
- -30 43075 a -30 43075 a
-SDict begin 18.2 H.A end
- -30 43075 a -30 43075
-a
-SDict begin [ /View [/XYZ H.V] /Dest (FIG-BASIC-NETWORK-COMMANDS-EMAIL-MUTT)
-cvn H.B /DEST pdfmark end
- -30 43075 a Black 30717 x FR(168)p Black eop end
-%%Page: 169 191
-TeXDict begin 169 190 bop -8000 -8000 a
-SDict begin /product where{pop product(Distiller)search{pop pop pop
-version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
-closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
-grestore}if}{pop}ifelse}{pop}ifelse}if end
- -8000 -8000 a
-Black 0 TeXcolorgray -30 -1237 a
-SDict begin H.S end
- -30 -1237 a 0 TeXcolorgray
-0 TeXcolorgray -30 -1237 a
-SDict begin H.R end
- -30 -1237 a -30 -1237 a
-SDict begin [ /View [/XYZ H.V] /Dest (page.169) cvn H.B /DEST pdfmark
-end
- -30
--1237 a Black -30 -2687 a
-SDict begin H.S end
- -30 -2687 a -30 -2687 a
-SDict begin 18.2 H.A end
- -30
--2687 a -30 -2687 a
-SDict begin [ /View [/XYZ H.V] /Dest (4751) cvn H.B /DEST pdfmark end
- -30 -2687 a 27927 -1636 a FR(Chapter)386
-b(13)i(Basic)f(Network)f(Commands)p Black -30 3611 a
-FX(Figur)-28 b(e)387 b(13-4.)h(Mutt)f(main)f(scr)-28
-b(een)-30 5475 y
-SDict begin H.S end
- -30 5475 a -30 5475 a
-SDict begin 18.2 H.A end
- -30 5475 a -30
-5475 a
-SDict begin [ /View [/XYZ H.V] /Dest (4730) cvn H.B /DEST pdfmark end
- -30 5475 a -30 38552 a
- currentpoint currentpoint translate 0.79 0.79 scale neg exch neg exch
-translate
- -30 38552 a @beginspecial
-12 @llx 212 @lly 600 @urx 580 @ury 5880 @rwi @setspecial
-%%BeginDocument: basic-network-commands/mutt.eps
-%!PS-Adobe-2.0 EPSF-2.0
-%%Creator: pnmtops
-%%Title: noname.ps
-%%Pages: 1
-%%BoundingBox: 12 212 600 580
-%%EndComments
-/rlestr1 1 string def
-/readrlestring {
- /rlestr exch def
- currentfile rlestr1 readhexstring pop
- 0 get
- dup 127 le {
- currentfile rlestr 0
- 4 3 roll
- 1 add getinterval
- readhexstring pop
- length
- } {
- 256 exch sub dup
- currentfile rlestr1 readhexstring pop
- 0 get
- exch 0 exch 1 exch 1 sub {
- rlestr exch 2 index put
- } for
- pop
- } ifelse
-} bind def
-/readstring {
- dup length 0 {
- 3 copy exch
- 1 index sub
- getinterval
- readrlestring
- add
- 2 copy le { exit } if
- } loop
- pop pop
-} bind def
-/picstr 640 string def
-%%EndProlog
-%%Page: 1 1
-gsave
-12.24 212.4 translate
-587.52 367.2 scale
-640 400 8
-[ 640 0 0 -400 0 400 ]
-{ picstr readstring }
-image
-80c080c080c080c080c080c080c080c080c080c0efc0fb00f3c0010000fa
-c00000e9c0fd00f6c0fb00f3c0fd00ddc0060000c0c0c00000f4c0fd00f4
-c0fd00dcc0fb00c6c0060000c0c0c00000f4c0010000fbc0fd00ddc0fa00
-ecc0fd00d3c0fc00cdc0fb00f6c0060000c0c0c00000f5c0fd0080c0f5c0
-f0c0060000c0c0c00000f4c0010000fbc0010000e8c0010000f5c0040000
-c00000f3c0010000ddc0060000c0c0c00000f3c0010000f3c0010000ddc0
-060000c0c0c00000c7c0fd0003c0000000f4c0010000fac0010000dcc005
-0000c0c00000ecc0010000d4c0050000c0c00000cfc0060000c0c0c00000
-f7c0060000c0c0c00000f4c001000080c0f5c0f5c00b0000c0c0c00000c0
-c0c00000edc0010000e8c0010000fbc0010000fcc0050000c0c00000f4c0
-010000e2c00b0000c0c0c00000c0c0c00000f3c0010000f3c0010000e2c0
-0b0000c0c0c00000c0c0c00000ccc0040000c0c0c0f900ecc0010000e2c0
-010000fcc0050000c0c00000ecc0010000dac0060000c0c0c00000fcc000
-00cfc0060000c0c0c00000fcc00b0000c0c0c00000c0c0c00000f4c00100
-0080c0f5c006c0000000c00000fcc0120000c0c0c00000c0c0c00000c000
-00c0c00000fcc0fd00fdc0fa00ecc0fc00fbc0010000fcc0070000c0c000
-00c0c0fb00fbc0010000edc0050000c0c00000fbc0120000c0c0c00000c0
-c0c00000c00000c0000000fcc0fc00fdc0fb00fbc0010000ecc0fb00fbc0
-010000fcc0010000fac0fc00fdc0080000c0c0c00000c0c0fb00eec0fd00
-02c00000fbc0040000c0c0c0f90001c0c0fc00fbc0fd00fac0010000edc0
-050000c0000000fbc0010000fcc0070000c0c00000c0c0fb0007c0c00000
-c0000000fbc00b0000c0c0c00000c0c0c00000eec0fd0002c00000fcc006
-0000c0c0c00000fac0080000c0000000c0c0c0fb000fc0c00000c0c00000
-c0c00000c0000000eac0010000fbc00d0000c0c0c00000c0c0c00000c0c0
-fb00fbc00a0000c0c0c00000c000000080c0fec0050000c0c00000f6c00d
-0000c0c0c00000c00000c0c00000fbc0010000fbc0010000ebc0040000c0
-0000f5c00d0000c0c00000c00000c0c0c00000fcc0010000edc0050000c0
-c00000f6c01e0000c0c0c00000c0c00000c0c00000c0c00000c00000c0c0
-0000c0c0c00000fcc0010000edc0060000c0c0c00000f5c0fd00f9c01200
-00c0c00000c0c0c00000c00000c0c0c00000efc0f900f7c0060000c000c0
-0000fbc0010000fbc0010000fac0010000ecc0fd0002c00000f6c0fb0010
-c0c00000c0c0c00000c0c00000c0c00000fcc00b0000c0c0c00000c0c0c0
-0000efc0050000c0c00000f6c0010000f9c0fd001ac00000c00000c0c0c0
-0000c00000c0c00000c0c0c00000c0c00000ecc0010000f5c0f90007c000
-00c0c0c00000fcc0010000fcc0050000c0c0000080c0ffc0050000c0c000
-00f6c00d0000c0c0c00000c00000c0c00000fbc0010000fbc0010000ecc0
-050000c0c00000f5c0060000c0c00000c0f900fcc0010000edc0050000c0
-c00000f6c0170000c0c0c00000c0c00000c0c00000c00000c0c00000c0c0
-f900fcc0010000ecc0010000efc0040000c0c0c0fb0009c0c00000c0c0c0
-0000c0f900efc0060000c000c00000f7c0080000c0c0c00000c0c0fb00fb
-c0010000fac0010000ecc0050000c0c00000f6c0060000c00000c0c0f900
-07c0c00000c0c00000fcc00b0000c0c0c00000c0c0c00000efc0050000c0
-c00000f6c0020000c0fc001fc0c00000c0c00000c00000c0c0c00000c000
-00c0c00000c0c0c00000c0c00000ecc0010000f5c0070000c0c0c00000c0
-f900fcc0010000fcc0050000c0c0000080c0ffc0050000c0c00000f6c00d
-0000c0c0c00000c00000c0c00000fbc0010000fbc0010000ecc0050000c0
-c00000f5c0080000c0c00000c00000f7c0010000edc0050000c0c00000f6
-c0190000c0c0c00000c0c00000c0c00000c00000c0c00000c0c00000f7c0
-010000ebc0fd00f0c0140000c00000c0c00000c0c00000c0c0c00000c000
-00eac0060000c000c00000f7c00d0000c0c0c00000c00000c0c00000fbc0
-010000fac0010000ecc0010000f2c0080000c0c00000c00000f9c0050000
-c0c00000fcc00b0000c0c0c00000c0c0c00000efc0050000c0c00000f6c0
-0a0000c0c0c00000c0c00000fbc0160000c0c0c00000c00000c0c00000c0
-c0c00000c0c00000ecc0010000f5c0090000c0c0c00000c00000f7c00100
-00fcc0050000c0c0000080c0ffc0050000c0c00000fbc0120000c0c0c000
-00c000c00000c00000c0c00000fbc0010000fbc0010000ecc0050000c0c0
-0000fbc0010000fcc0080000c0c00000c00000f7c0010000edc0050000c0
-c00000fbc01e0000c0c0c00000c0c0c00000c0c00000c0c00000c00000c0
-c00000c0c00000f7c0010000e9c0010000fbc01e0000c0c0c00000c0c0c0
-0000c00000c0c00000c0c00000c0c0c00000c00000eac0060000c000c000
-00fcc0120000c0c0c00000c0c0c00000c00000c0c00000fbc0010000fac0
-010000ecc0010000f8c0010000fcc0080000c0c00000c00000f9c0050000
-c0c00000fcc00b0000c0c0c00000c0c0c00000efc0050000c0c00000fbc0
-0f0000c0c0c00000c0c0c00000c0c00000fbc0160000c0c0c00000c00000
-c0c00000c0c0c00000c0c00000e4c00e0000c0c0c00000c0c0c00000c000
-00f7c0010000fcc0050000c0c0000080c0ffc0050000c0c00000fbc00700
-00c0c0c00000c0fc0006c00000c0c00000fbc0010000fbc0040000c00000
-efc0050000c0c00000fbc0010000fcc00d0000c00000c0c00000c0c0c000
-00fcc0010000edc0050000c0c00000fbc0230000c0c0c00000c0c0c00000
-c0c00000c0c00000c00000c0c00000c0c00000c0c0c00000fcc0010000ed
-c0060000c0c0c00000fcc0230000c0c0c00000c0c0c00000c00000c0c000
-00c0c0c00000c00000c0c00000c0c0c00000efc0060000c000c00000fcc0
-120000c0c0c00000c0c0c00000c00000c0c00000fbc0010000fac0010000
-ecc0010000f8c0010000fcc0150000c0c00000c00000c0c0c00000c0c000
-00c0c00000fcc00b0000c0c0c00000c0c0c00000efc0050000c0c00000fb
-c0010000fcc0090000c0c00000c0c00000fbc0160000c0c0c00000c00000
-c0c00000c0c0c00000c0c00000ecc0010000fac0130000c0c0c00000c0c0
-c00000c00000c0c0c00000fcc0010000fcc0050000c0c0000080c0ffc000
-c0fb00f5c0fb00fdc0fd0005c00000c0c0c0fc00fbc0fd00edc0fd0002c0
-0000f7c0fb00fcc0fb00fcc0fc00edc0fd0002c00000f6c0fb00fdc00f00
-00c0c00000c0c0000000c00000c0c0fb00fcc0fc00edc0fb00f5c0fb00fd
-c0fd0008c00000c0c0c0000000fcc0fb00eec0060000c0c0c00000f7c011
-0000c0c0c00000c0c0000000c00000c0c0c0fc00fcc0fc00eec0fc00f4c0
-fd0005c0c00000c0c0fb00fdc0fb00fcc0fc00fdc0fa00eec0fb00f4c0fd
-0002c000c0fc00fbc0fb00fdc0fd0004c00000c0c0fb00ebc0010000f5c0
-080000c0c0c00000c0c0fb00fcc0fc00fdc0fb0080c0fec0fcc0010000f2
-c001000080c080c0b5c0010000eec0010000ebc0010000d5c0010000c2c0
-01000080c0fbc0fcc0010000f2c0fd0080c080c0b6c0010000efc0010000
-eec0050000c0c00000d5c0010000c2c001000080c0fbc0fdc0fc0080c080
-c0a7c0fc00f4c0fb00ecc0fc00d5c0fc00c4c0fc0080c0fcc080c080c080
-c080c080c08000800080008000800080008000800080008000e50001c0c0
-f400fbc0f600f9c0f600fbc0e30004c0c0000000f9c0f600fac0d40000c0
-b00001c0c0ed00fbc0fd00fbc0fc0001c0c0f400fac0eb0001c0c0f20000
-c0d90001c0c0fa0000c0fc00fdc0f00000c0fc00fdc0eb00fcc0f90001c0
-c0ba0000c0c70001c0c0ec0000c0ec00e600fdc0f50006c0c0000000c0c0
-f60005c0c00000c0c0f70006c0c0000000c0c0e500fdc0fd0006c0c00000
-00c0c0f600fac0d50001c0c0b10001c0c0ed000ec0c0000000c0c000c0c0
-000000c0c0fc0001c0c0f40005c0c00000c0c0ec0001c0c0f30001c0c0d9
-0001c0c0fb0001c0c0fb0001c0c0f10001c0c0fb0001c0c0ea0001c0c0f8
-0001c0c0bb0001c0c0c70001c0c0ed0001c0c0ec00e700fcc0f50006c0c0
-000000c0c0f60005c0c0000000c0f70006c0c0000000c0c0e600fcc0f800
-01c0c0f60005c000c0c000c0d50001c0c0b20001c0c0e70001c0c0fa0001
-c0c0fb0001c0c0f50005c0c00000c0c0dd0001c0c0d20001c0c0fb0001c0
-c0f10001c0c0fb0001c0c0ea0001c0c0b10001c0c0b20001c0c0ec00e500
-01c0c0f50006c0c0000000c0c0f60003c0c000c0f40001c0c0fa00fbc007
-0000c0c000c0c0c0f30001c0c0f80001c0c0f40001c0c0fc00fbc0f60008
-c0c000c0c0c0000000fbc0fd00fbc0010000fac0b40001c0c0e80001c0c0
-f90001c0c0fb0001c0c0f50007c0c00000c0c00000fbc0fd00fdc00800c0
-c0000000c0c0c0fc00fbc0010000fac0fd00fbc0070000c0c000c0c0c0f6
-000fc0c0000000c0c0000000c0c0c0000000fac0fd0004c0c000c0c0f600
-fac0fd0007c0c000c0c0000000fbc0f50001c0c0f900fdc0fd0016c0c000
-c0c0c00000c0c00000c0c00000c0c0000000c0c0f600fbc0fd00fbc01100
-00c0c00000c0c00000c0c000c0c0c00000fac0fd00fbc0070000c0c000c0
-c0c0f60010c0c000c0c0c00000c0c000c0c0c0000000fbc0fa00fdc00100
-00fbc0fd00fbc0010000fac0ee00e50001c0c0f50006c0c0000000c0c0f6
-00fcc0f300fdc0fd000ec0c0000000c0c00000c0c00000c0c0f40001c0c0
-f90001c0c0f3000bc0c0000000c0c0000000c0c0f600fdc01700c0c000c0
-c0000000c0c000c0c0000000c0c0000000c0c0b20001c0c0e90001c0c0fb
-00fcc0fa0001c0c0f500fbc00f0000c0c0000000c0c000c0c00000c0c0fb
-0010c0c0000000c0c0000000c0c0000000c0c0fc000ec0c0000000c0c000
-00c0c0c000c0c0f70006c0c0000000c0c0fc0001c0c0fb0001c0c0fb00fd
-c00200c0c0f50001c0c0fb00fdc00a00c0c000c0c0000000c0c0f60001c0
-c0f80001c0c0fc0014c0c00000c0c000c0c00000c0c0000000c0c000c0c0
-f60023c0c0000000c0c000c0c0000000c0c000c0c00000c0c0000000c0c0
-0000c0c0000000c0c0fc000ec0c0000000c0c00000c0c0c000c0c0f60015
-c0c00000c0c00000c0c0c000c0c000c0c0000000c0c0fa0016c0c000c0c0
-000000c0c000c0c0000000c0c0000000c0c0ec00e50001c0c0f50006c0c0
-000000c0c0f60003c0c000c0f10003c0c00000f9c0070000c0c00000c0c0
-f40001c0c0fa0001c0c0f2000bc0c0000000c0c0000000c0c0f6001ac0c0
-0000c0c000c0c0000000c0c000c0c0000000c0c0000000c0c0b20001c0c0
-ea0001c0c0f70001c0c0fb0001c0c0f50006c0c000c0c00000f9c00600c0
-c00000c0c0fb0001c0c0fc0001c0c0f90001c0c0fc00f9c0070000c0c000
-00c0c0f70006c0c000c000c0c0fc0001c0c0fb0001c0c0fb0005c0c00000
-c0c0f50001c0c0fb0006c0c00000c0c000f9c0f60001c0c0f80001c0c0fc
-000cc0c00000c0c000c0c00000c0c0fc00fdc0f50001c0c0fa001bc0c000
-0000c0c000c0c00000c0c0000000c0c00000c0c0000000c0c0fc00f9c007
-0000c0c00000c0c0f60015c0c00000c0c00000c0c00000c0c000c0c00000
-00c0c0fa0002c0c000f9c00200c0c0f80001c0c0ec00e50001c0c0f50006
-c0c0000000c0c0f60001c0c0ee0004c0c000c0c0f90005c0c00000c0c0f4
-0001c0c0fb0001c0c0f1000bc0c0000000c0c0000000c0c0f60001c0c0fb
-0013c0c0000000c0c000c0c0000000c0c0000000c0c0b20001c0c0eb0001
-c0c0f60001c0c0fb0001c0c0f50008c0c00000c0c000c0c0fa0005c0c000
-00c0c0fb0001c0c0fb00fdc0fb0001c0c0fc0001c0c0f90001c0c0f30006
-c0c000c000c0c0fc0001c0c0fb0001c0c0fb0005c0c00000c0c0f50001c0
-c0fb0008c0c00000c0c000c0c0f10001c0c0f80001c0c0fc000cc0c00000
-c0c000c0c00000c0c0fc00fdc0f50001c0c0fa001bc0c0000000c0c000c0
-c00000c0c0000000c0c00000c0c0000000c0c0fc0001c0c0f90001c0c0f2
-0009c0c00000c0c00000c0c0fb0006c0c0000000c0c0fa0004c0c000c0c0
-fa0001c0c0f80001c0c0ec00e50001c0c0f50006c0c0000000c0c0f60001
-c0c0f30009c0c0000000c0c000c0c0f90005c0c00000c0c0f40001c0c0fb
-0001c0c0f1000bc0c0000000c0c0000000c0c0f60001c0c0fb0013c0c000
-0000c0c000c0c0000000c0c0000000c0c0b20001c0c0ec0001c0c0f50001
-c0c0fb0001c0c0f50008c0c00000c0c000c0c0fa0005c0c00000c0c0fb00
-01c0c0f90001c0c0fc0001c0c0fc0001c0c0f90001c0c0f30006c0c000c0
-00c0c0fc0001c0c0fb0001c0c0fb0005c0c00000c0c0f50001c0c0fb0008
-c0c00000c0c000c0c0f10005c0c0000000c0fc0001c0c0fc000cc0c00000
-c0c000c0c00000c0c0fc00fdc0f50001c0c0fa001bc0c0000000c0c000c0
-c00000c0c0000000c0c00000c0c0000000c0c0fc0001c0c0f90001c0c0f2
-0009c0c00000c0c00000c0c0fb0006c0c0000000c0c0fa0004c0c000c0c0
-fa0001c0c0f80001c0c0ec00e50001c0c0f50006c0c0000000c0c0f60001
-c0c0f30016c0c0000000c0c000c0c0000000c0c00000c0c00000c0c0f400
-01c0c0fb0001c0c0f1000bc0c0000000c0c0000000c0c0f60001c0c0fb00
-16c0c0000000c0c000c0c0000000c0c0000000c0c000c0c0b40001c0c0ed
-000ec0c0000000c0c000c0c0000000c0c0fc0001c0c0f40014c0c00000c0
-c000c0c0000000c0c000c0c00000c0c0fb001fc0c0000000c0c0000000c0
-c0000000c0c000c0c000c0c0000000c0c00000c0c0f300f9c0fc0001c0c0
-fb000cc0c000c0c00000c0c00000c0c0f50014c0c000c0c00000c0c00000
-c0c000c0c0000000c0c0f60005c0c00000c0c0fc0001c0c0fc0014c0c000
-00c0c000c0c00000c0c0000000c0c000c0c0f60032c0c0000000c0c000c0
-c0000000c0c000c0c00000c0c0000000c0c00000c0c0000000c0c000c0c0
-00c0c0000000c0c00000c0c0f20009c0c00000c0c00000c0c0fb0006c0c0
-000000c0c0fa0019c0c000c0c0000000c0c000c0c0000000c0c0000000c0
-c000c0c0ef00e700fac0f600fbc0f600fcc0f300fbc0fd00fbc0fd00fbc0
-f500fac0fd0001c0c0f200fcc0fd00fbc0f600fcc0fb00fbc0fd00fbc0fb
-00fdc0b20001c0c0ee00f9c0010000fbc0fc0001c0c0f400fdc0050000c0
-c00000fbc0fd00fbc0fc00fcc0fd00fbc0fb00fdc0fd00fbc0010000fcc0
-f30004c0c000c0c0fc00fcc0fb00fdc0080000c0c0c00000c0c0f400fdc0
-0a0000c0c0c00000c0c00000fbc0f600f9c0fd00fcc0fd0015c0c00000c0
-c00000c0c0c000c0c000c0c0000000c0c0f600fbc0fd00fbc0fd00fdc00a
-00c0c00000c0c00000c0c0fc00fdc0fd00fbc0010000fcc0f300fbc00100
-00fcc0fb00fbc0f90003c0c00000fbc0fd00fbc0fb00fdc0ee00a70001c0
-c080008f0001c0c08000950001c0c0ea0005c0c00000c0c0d700a70001c0
-c08000930005c0c00000c0c08000950001c0c0ea0005c0c00000c0c0d700
-a800fcc080009300fcc080009500fcc0ea00fcc0d6008000800080008000
-800080c080c080c080c080c080c080c080c080c080c0e7c0fb00d5c0fb00
-e3c0040000c0c0c0f900f7c0fa00f3c00000f1c0010000f5c0fd00f0c0fc
-00efc0060000c0c0c00000f5c0fd00fdc0fd00efc0010000f3c0040000c0
-c0c0f90001c0c0fb00fcc0010000f4c0060000c0c0c00000f5c0fd00d2c0
-0000ecc0fc00f9c0010000d9c0040000c0c0c0fb00fcc0fd00edc0fd00d2
-c0fb00f3c0010000fbc0010000f9c0010000bdc0e8c0060000c0c0c00000
-d7c0060000c0c0c00000e5c0fd00fdc0060000c0c0c00000f6c0050000c0
-c00000f5c0010000f1c0010000f4c0010000efc0010000eec0060000c0c0
-c00000f4c0010000fcc0010000f0c0010000f3c0fd00fdc0010000fac006
-0000c0c0c00000fcc0010000f5c0060000c0c0c00000f4c0010000d3c001
-0000ebc0010000f8c0010000dac00b0000c0c0c00000c0c0c00000fcc001
-0000ecc0010000d3c0060000c0c0c00000f5c0fd00fac0010000fbc0fc00
-bec0e3c0010000d7c0060000c0c0c00000e6c0fc00f8c0010000f6c00500
-00c0c00000f5c0010000e3c0010000efc0010000eec0060000c0c0c00000
-f4c0010000fcc0010000f1c0010000f3c0fc00fdc0010000f5c0010000fb
-c0010000f6c0060000c0c0c00000f4c0010000d3c0010000ebc0010000d1
-c0010000fcc0060000c0c0c00000fcc0010000ecc0010000d3c0060000c0
-c0c00000f6c0fc00f9c0010000fcc0fc00bec0e4c0010000e3c0010000f4
-c0010000fac0fb0007c0c00000c0000000f3c0010000f8c0010000f6c007
-0000c0c00000c0c0fc00fdc0fa0007c0c00000c0000000fcc0fd00fcc0fb
-00fdc0050000c0c00000f3c0010000eec0080000c0c0c00000c0c0fb00fb
-c0010000fcc0050000c0c00000f5c0010000f1c0060000c0c0c00000f5c0
-010000fbc0010000f6c0080000c0c0c00000c0c0fb00fbc0010000fcc0fb
-00fdc0fb000ac0c0000000c00000c0c0c0fb00f6c0fa00fdc0fb00f5c001
-0000f9c0fd00fdc0160000c0000000c0c00000c0c00000c0c00000c0c0c0
-0000f5c0010000fbc0010000f8c0010000fcc0fc00fcc0fb00fdc00f0000
-c0c00000c00000c0c0c00000c0c0fc00fdc0080000c0000000c0c0c0fb00
-f6c0060000c0c0c00000f4c0010000f9c0010000fcc0fc00bec0e5c00100
-00e2c0010000f3c0fd00fdc00e0000c0c0c00000c0c00000c0c00000f4c0
-010000f9c0010000f5c0fb00fac0010000fcc0010000fbc0fd0002c00000
-fcc0120000c0c0c00000c0c0c00000c0c00000c00000f2c0010000eec00e
-0000c0c0c00000c00000c0c0c00000fcc0010000fcc0040000c00000f4c0
-010000f1c0040000c0c0c0fa00fcc0fc00fac0010000f6c00e0000c000c0
-0000c00000c0c0c00000fcc0140000c0c0c00000c0c0c00000c00000c0c0
-c00000c0f90007c00000c0c0c00000f5c0010000fcc0060000c0c0c00000
-f6c0010000f8c0010000fcc0140000c0c00000c00000c0c00000c0c0c000
-00c00000f4c0010000fac0fd00fac0010000f9c01a0000c0c00000c0c0c0
-0000c0c00000c00000c0c00000c0c0c00000fbc0120000c0c0c0000000c0
-0000c00000c0c0c00000f6c0fa00f4c0010000f9c0010000fbc0010000bd
-c0e6c0010000e3c0fa00f3c0030000c0c0f90007c0c00000c0c00000f4c0
-010000fac0010000f4c0010000fac0fb00fcc0010000fbc0050000c0c000
-00fcc0060000c0c0c00000f9c0fc00f1c0010000eec00e0000c0c0c00000
-c00000c0c0c00000fcc0010000fcc0fc00f3c0010000f1c0010000f8c001
-0000fac0010000fbc0010000f6c0070000c000c00000c0f900fcc0060000
-c0c0c00000fac00f0000c0c0c00000c00000c000c00000c0f900f5c00100
-00fcc0060000c0c0c00000f6c0010000f8c0010000fcc00c0000c0c00000
-c00000c0c00000fcc0fd00f3c0010000f8c0010000fbc0010000fcc0fb00
-03c0c00000f9c0fc00fdc0080000c000c00000c0c0fb00fdc0060000c0c0
-0000c0f900f2c0010000f4c0010000f9c0010000fbc0010000bdc0e7c001
-0000e0c0010000f0c0040000c00000f9c0050000c0c00000f4c0010000fb
-c0010000f3c0010000fbc0050000c0c00000fcc0010000fbc0010000f8c0
-060000c0c0c00000f9c0fc00f5c0050000c0c00000eec00e0000c0c0c000
-00c00000c0c0c00000fcc0010000fcc0fc00f3c0010000f1c0010000f8c0
-010000fac0010000fbc0010000f6c0090000c000c00000c00000f7c00600
-00c0c0c00000fac0110000c0c0c00000c00000c000c00000c00000f0c001
-0000fcc0060000c0c0c00000f6c0010000f8c0010000fcc00c0000c0c000
-00c00000c0c00000fcc0fd00f3c0010000f7c0010000fcc00e0000c0c0c0
-0000c0c00000c0c00000f9c0fc00fdc0120000c000c00000c00000c0c000
-00c0c0c00000fbc0010000edc0010000f4c0010000f9c0010000fbc00100
-00bdc0e8c0010000dfc0010000f5c0090000c0c0c00000c00000f9c00500
-00c0c00000f4c0010000fbc0010000f3c0010000fbc0050000c0c00000fc
-c0010000fbc0010000f8c0060000c0c0c00000f9c0040000c00000f6c005
-0000c0c00000edc00d0000c00000c0c00000c0c0c00000fcc0010000fcc0
-040000c00000f4c0010000f1c0010000f8c0010000fac0010000fbc00100
-00f6c0f90002c00000f7c0060000c0c0c00000fac0110000c0c0c00000c0
-0000c000c00000c00000f0c0010000fcc0060000c0c0c00000f6c0050000
-c0c0c000fcc0010000fcc00c0000c0c00000c00000c0c00000fcc0fd00f3
-c0010000fcc0060000c0c0c00000fcc00e0000c0c0c00000c0c00000c0c0
-0000f9c0190000c00000c0c00000c000c00000c00000c0c00000c0c0c000
-00fbc0010000edc0010000f4c0010000f9c0010000b6c0e8c0060000c0c0
-c00000d7c0160000c0c0c00000c00000c0c0c00000c0c00000c0c00000f4
-c0010000fbc0010000f3c0010000fbc0050000c0c00000fcc0080000c000
-00c0c00000f8c0130000c0c0c00000c0c0c00000c0c00000c0c00000f7c0
-050000c0c00000fbc0010000f3c0fd00fdc0060000c0c0c00000fcc00100
-00fcc0050000c0c00000f4c0010000f2c0130000c0c0c00000c0c0c00000
-c00000c0c0c00000fcc0010000f5c0fd000bc0000000c00000c0c0c00000
-fcc0230000c0c0c00000c0c0c00000c00000c0c0c00000c00000c000c000
-00c00000c0c0c00000f5c00c0000c00000c00000c0c0c00000f6c0050000
-c0c00000fcc0010000fcc0140000c0c00000c00000c0c00000c0c0c00000
-c00000f3c00b0000c0c0c00000c0c0c00000fcc01c0000c0c0c00000c0c0
-0000c0c00000c0c0c00000c0c00000c0c00000c0f9000bc00000c0c00000
-c0c0c00000fbc0060000c0c0c00000f3c0010000fbc0010000fac0010000
-fac0010000fac0010000bdc0e8c0f900d6c0fb00fdc0fb00fdc0fb00f5c0
-fa00fdc0010000f4c0fc00fbc0fd0002c00000fcc0fd0001c0c0fc00fac0
-fc00fdc0fb0008c0c0000000c0c00000f6c0fc00fac0010000f2c00000fb
-c0fb00fcc0fc0008c0c0000000c0c00000f3c0010000f5c0fa0001c0c0fb
-00fdc0fb00fcc0010000f3c0070000c00000c0c0c0fb00fcc0fc00fdc0fb
-00fdc0fb000ac0c00000c0c0c00000c0c0fb00f3c0fd00fdc0fb00f6c0f9
-00fdc0fc00fdc0150000c0c00000c0c0000000c00000c00000c0c0c00000
-f3c0040000c0c0c0fb00fcc0fc00fdc0fd0004c00000c0c0fb0019c0c000
-0000c0c00000c0c00000c00000c0c0c0000000c00000c0fc00fbc0fb00f5
-c0fc00fac0010000fcc0fa00fdc0010000f9c0010000bdc0a7c001000080
-c080c080c080c0dbc0a7c001000080c080c080c080c0dbc0a8c0fc0080c0
-80c080c080c0dcc080c080c080c080c080c0800080008000800080008000
-800080008000800080008000800080008000800080008000800080008000
-800080008000800080008000800080008000800080008000800080008000
-800080008000800080008000800080008000800080008000800080008000
-800080008000800080008000800080008000800080008000800080008000
-800080008000800080008000800080008000800080008000800080008000
-800080008000800080008000800080008000800080008000800080008000
-800080008000800080008000800080008000800080008000800080008000
-800080008000800080008000800080008000800080008000800080008000
-800080008000800080008000800080008000800080008000800080008000
-800080008000800080008000800080008000800080008000800080008000
-800080008000800080008000800080008000800080008000800080008000
-800080008000800080008000800080008000800080008000800080008000
-800080008000800080008000800080008000800080008000800080008000
-800080008000800080008000800080008000800080008000800080008000
-800080008000800080008000800080008000800080008000800080008000
-800080008000800080008000800080008000800080008000800080008000
-800080008000800080008000800080008000800080008000800080008000
-800080008000800080008000800080008000800080008000800080008000
-800080008000800080008000800080008000800080008000800080008000
-800080008000800080008000800080008000800080008000800080008000
-800080008000800080008000800080008000800080008000800080008000
-800080008000800080008000800080008000800080008000800080008000
-800080008000800080008000800080008000800080008000800080008000
-800080008000800080008000800080008000800080008000800080008000
-800080008000800080008000800080008000800080008000800080008000
-800080008000800080008000800080008000800080008000800080008000
-800080008000800080008000800080008000800080008000800080008000
-800080008000800080008000800080008000800080008000800080008000
-800080008000800080008000800080008000800080008000800080008000
-800080008000800080008000800080008000800080008000800080008000
-800080008000800080008000800080008000800080008000800080008000
-800080008000800080008000800080008000800080008000800080008000
-800080008000800080008000800080008000800080008000800080008000
-800080008000800080008000800080008000800080008000800080008000
-800080008000800080008000800080008000800080008000800080008000
-800080008000800080008000800080008000800080008000800080008000
-800080008000800080008000800080008000800080008000800080008000
-800080008000800080008000800080008000800080008000800080008000
-800080008000800080008000800080008000800080008000800080008000
-800080008000800080008000800080008000800080008000800080008000
-800080008000800080008000800080008000800080008000800080008000
-800080008000800080008000800080008000800080008000800080008000
-800080008000800080008000800080008000800080008000800080008000
-800080008000800080008000800080008000800080008000800080008000
-800080008000800080008000800080008000800080008000800080008000
-800080008000800080008000800080008000800080008000800080008000
-800080008000800080008000800080008000800080008000800080008000
-800080008000800080008000800080008000800080008000800080008000
-800080008000800080008000800080008000800080008000800080008000
-800080008000800080008000800080008000800080008000800080008000
-800080008000800080008000800080008000800080008000800080008000
-800080008000800080008000800080008000800080008000800080008000
-800080008000800080008000800080008000800080008000800080008000
-800080008000800080008000800080008000800080008000800080008000
-800080008000800080008000800080008000800080008000800080008000
-800080008000800080008000800080008000800080008000800080008000
-800080008000800080008000800080008000800080008000800080008000
-800080008000800080008000800080008000800080008000800080008000
-800080008000800080008000800080008000800080008000800080008000
-800080008000800080008000800080008000800080008000800080008000
-800080008000800080008000800080008000800080008000800080008000
-800080008000800080008000800080008000800080008000800080008000
-800080008000800080008000800080008000800080008000800080008000
-800080008000800080008000800080008000800080008000800080008000
-800080008000800080008000800080008000800080008000800080008000
-800080008000800080008000800080008000800080008000800080008000
-800080008000800080008000800080008000800080008000800080008000
-800080008000800080008000800080008000800080008000800080008000
-800080008000800080008000800080008000800080008000800080008000
-800080008000800080008000800080008000800080008000800080008000
-800080008000800080008000800080008000800080008000800080008000
-800080008000800080008000800080008000800080008000800080008000
-800080008000800080008000800080008000800080008000800080008000
-800080008000800080008000800080008000800080008000800080008000
-800080008000800080008000800080008000800080008000800080008000
-800080008000800080008000800080008000800080008000800080008000
-800080008000800080008000800080008000800080008000800080008000
-800080008000800080008000800080008000800080008000800080008000
-800080008000800080008000800080008000800080008000800080008000
-800080008000800080008000800080008000800080008000800080008000
-800080008000800080008000800080008000800080008000800080008000
-800080008000800080008000800080008000800080008000800080008000
-800080008000800080008000800080008000800080008000800080008000
-800080008000800080008000800080008000800080008000800080008000
-800080008000800080008000800080008000800080008000800080008000
-800080008000800080008000800080008000800080008000800080008000
-800080008000800080008000800080008000800080008000800080008000
-800080008000800080008000800080008000800080008000800080008000
-800080008000800080008000800080008000800080008000800080008000
-800080008000800080008000800080008000800080008000800080008000
-800080008000800080008000800080008000800080008000800080008000
-800080008000800080008000800080008000800080008000800080008000
-800080008000800080008000800080008000800080008000800080008000
-800080008000800080008000800080008000800080008000800080008000
-800080008000800080008000800080008000800080008000800080008000
-800080008000800080008000800080008000800080008000800080008000
-800080008000800080008000800080008000800080008000800080008000
-800080008000800080008000800080008000800080008000800080008000
-800080008000800080008000800080008000800080008000800080008000
-800080008000800080008000800080008000800080008000800080008000
-800080008000800080008000800080008000800080008000800080008000
-800080008000800080008000800080008000800080008000800080008000
-800080008000800080008000800080008000800080008000800080008000
-800080008000800080008000800080008000800080008000800080008000
-800080008000800080008000800080008000800080008000800080008000
-800080008000800080008000800080008000800080008000800080008000
-800080008000800080c080c080c080c080c080c080c080c080c080c0e8c0
-060000c0c0c00000f4c00000f9c00000b1c0010000fbc0fd00dac00000f2
-c0fc0008c0c00000c0c0c00000dec0fb00f5c0fb00fcc0fd00fac0fd00f3
-c0010000f4c0fb00f6c0f9000ac0000000c0c00000c0c0c0fc00e2c00100
-00fbc0fd00f3c00000e9c0fd00f3c00000f2c001000080c0010000f4c0fd
-00fbc0fd00fbc0010000e4c0e8c0fd0003c0000000f5c0010000fac00100
-00b1c0010000fac0010000dbc0010000f2c0010000fcc0fd0003c0000000
-dfc0060000c0c0c00000f7c0060000c0c0c00000fcc0010000f9c0010000
-f4c0fd00f5c0060000c0c0c00000f7c0010000f9c0050000c0c00000fbc0
-010000e3c0010000f9c0010000f4c0010000e8c0010000f4c0010000f1c0
-01000082c0010000f2c0010000fac0010000fac0010000e5c0e8c0f900f5
-c0010000fac0010000f9c0010000efc00000e1c00000e4c0010000f7c000
-00e5c0010000f2c0010000fcc0f900e4c0010000f8c0010000f7c0060000
-c0c0c00000fcc0010000f9c0010000fbc0010000fcc0fc00f5c0060000c0
-c0c00000f7c0010000f9c0050000c0c00000fbc0010000e4c0010000f8c0
-010000f4c0010000eec00000fbc0010000f4c0010000f0c001000084c001
-0000f1c0010000fac0010000f9c0010000e6c0e8c0f90008c00000c0c000
-00c0c0fa0001c0c0fa00fbc0010000f0c00b0000c00000c0c0c00000c0c0
-fc00fdc0050000c0000000f9c00b0000c0000000c00000c0c0c0fc00fbc0
-fd00fac0010000f8c00b0000c00000c0000000c0c0c0fb00fdc0fb0001c0
-c0fa00f4c0010000fcc0f90001c0c0fb00fdc0fd0004c00000c0c0fb00fb
-c0010000f9c0010000f6c0060000c0c0c00000fcc0010000fbc0fc00fbc0
-010000fac0010000f5c0060000c0c0c00000f7c0010000f9c0040000c000
-00fac0010000e4c0010000fac0fc00fdc0fc00fdc0fa00fdc0fb00f9c004
-0000c0c0c0fc00fdc0fc00fdc0fa00fdc0fb00fac001000084c0010000fb
-c0fc00fac0010000fac0010000f9c0010000e6c0e8c00d0000c000c00000
-c00000c0c00000fcc0010000fac0010000e8c00a0000c0c00000c0c0c000
-00fbc00a0000c0c0c0000000c00000fbc0030000c0c0f900fbc0010000fb
-c0010000fac0010000f9c01f0000c0c0c0000000c00000c00000c0c0c000
-00c00000c0c0c00000c0c0c00000f2c0010000fcc01e0000c000c00000c0
-0000c0c0c00000c00000c0c00000c0c00000c0c0c00000f4c0010000f5c0
-060000c0c0c00000fcc0010000fcc0040000c00000f3c0010000f4c0fa00
-f7c0fa00fdc0fc00f9c0010000e4c0010000fbc0040000c00000fac00100
-00fcc0010000fcc0060000c0c0c00000fbc0090000c0c0c00000c00000fa
-c0010000fcc0010000fcc0060000c0c0c00000fbc001000084c0010000f8
-c0010000fbc0010000fac0010000f9c0010000e6c0f90000c0f90000c0f9
-000ec00000c0c0c00000c00000c0c00000fcc0010000fac0010000e9c00d
-0000c0c0c00000c0c0c00000c0c0fb00fdc0050000c0c00000fcc00d0000
-c0c0c00000c000c00000c0c0fb00fbc0010000fac0010000fac0010000fc
-c01a0000c0c00000c00000c0c0c00000c00000c0c0c00000c0c0c00000f2
-c0010000fcc00a0000c0c0c00000c0c00000fbc00a0000c0c00000c0c0c0
-0000f1c0010000f4c0060000c0c0c00000fcc00a0000c0c0c00000c0c000
-00f3c0010000f0c0010000f2c0030000c0c0fc00f9c0030000c0c0f90000
-c0f90000c0f900fdc0010000fcc0080000c0c00000c0c0c0fb00fcc00100
-00fcc0f900fcc00d0000c0c0c00000c0c00000c0c0c0fb00fcc0010000fc
-c0f900fbc0030000c0c0f90000c0f90000c0f90000c0f90000c0f90000c0
-f90000c0f90000c0f90000c0f90000c0f90000c0f90000c0f90000c0f900
-00c0f90000c0f900fdc0010000fbc0fb00fbc0010000fac0010000f9c003
-0000c0c0f90000c0f90000c0f900ffc0e8c00d0000c0c0c00000c00000c0
-c00000fcc0010000fac0010000eac0010000fcc0120000c0c0c00000c000
-00c0c00000c0c0c00000f9c0010000fcc00d0000c000c00000c00000c0c0
-0000fbc0010000fac0010000fbc0010000fbc0010000fbc0130000c0c0c0
-0000c00000c0c0c00000c0c0c00000f2c0010000fcc0150000c0c0c00000
-c0c0c0000000c0c0c00000c0c00000fcc0fd00f4c0010000f3c0060000c0
-c0c00000fcc00a0000c0c0c00000c0c00000f3c0010000f0c0010000f2c0
-080000c0c00000c00000fac0010000e4c0010000fcc00d0000c0c00000c0
-c00000c0c00000fcc0010000fcc0010000f8c0010000fcc00d0000c0c000
-00c0c00000c0c00000fcc0010000fcc0010000f6c001000084c0010000fc
-c0050000c0c00000fbc0010000fac0010000f9c0010000e6c0e8c00d0000
-c0c0c00000c00000c0c00000fcc0010000fac0010000f9c0010000f4c001
-0000fbc0120000c0c0c00000c00000c0c00000c0c0c00000fac0010000fb
-c00d0000c000c00000c00000c0c00000fbc0010000fac0010000fcc00100
-00fac0010000fbc0130000c0c0c00000c00000c0c0c00000c0c0c00000f2
-c0010000fcc0060000c0c0c00000fbc0090000c0c00000c0c00000fac001
-0000fbc0060000c0c0c00000f2c0060000c0c0c00000fcc00a0000c0c0c0
-0000c0c00000fbc0010000fac0010000f0c0010000f2c0090000c0c00000
-c0c00000fbc0010000e4c0010000fcc00d0000c0c00000c0c00000c0c000
-00fcc0010000fcc0010000f9c0010000fbc00d0000c0c00000c0c00000c0
-c00000fcc0010000fcc0010000f6c001000084c0010000fcc0050000c0c0
-0000fbc0010000fac0010000f9c0010000e6c0e8c00d0000c0c0c00000c0
-0000c0c00000fcc00c0000c00000c0c0c00000c00000fcc0010000f5c001
-0000f9c0110000c00000c0c00000c0c00000c0c0c00000fbc0010000fac0
-0d0000c000c00000c00000c0c00000fbc0010000fac0060000c0c0c00000
-f9c0010000fbc0160000c0c0c00000c00000c0c0c00000c0c0c00000c000
-00f5c0010000fcc01e0000c0c0c00000c00000c0c0c00000c00000c0c000
-00c0c00000c0c0c00000fcc00b0000c0c0c00000c0c0c00000f7c0060000
-c0c0c00000fcc00a0000c0c0c00000c0c00000fbc0010000fac0010000f1
-c0010000fbc0130000c0c0c00000c0c0c00000c0c00000c0c00000fbc001
-0000e3c0120000c0c0c00000c0c00000c0c00000c0c00000fcc00f0000c0
-0000c00000c0c0c00000c00000fac00d0000c0c00000c0c00000c0c00000
-fcc00c0000c00000c00000c0c0c00000fcc001000082c00a0000c0c0c000
-00c0c00000fbc0010000fac0010000fac0010000e5c0e8c00e0000c0c0c0
-0000c0c0000000c00000fcc0fd00fbc0fd00eec00000f7c0fd00fcc0fd00
-03c00000c0fc00fcc00000f9c0110000c0c0c00000c0c0000000c00000c0
-c0c0fc00fcc0fc0002c0c000f9c0fc00fbc0fb00fdc0fb00fbc0fd00f4c0
-fc000ac0c00000c0c0c00000c0c0fb00fdc0fb00fdc0fb00f6c0f900f6c0
-fb00fcc0fc00fdc0fd0002c00000f6c0fa00f6c0fc00fac0010000fcc0fb
-000bc0c0000000c0c00000c0c0c0fc00e2c0120000c0c0c0000000c00000
-c0c0000000c00000fcc0fd00fdc0fb0002c0c000f8c0fd000ac00000c0c0
-000000c00000fcc0fd00fdc0fb00fcc001000080c00d0000c0c0c0000000
-c00000c0c0c0fc00fcc0fc00fcc0010000e4c080c0a4c001000080c080c0
-80c0dec080c0a8c0050000c0c0000080c080c080c0dec080c0a7c0fc0080
-c080c080c0ddc080c080c080c080c080c080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000
-grestore
-showpage
-%%Trailer
-
-%%EndDocument
- @endspecial -30 38552 a
- currentpoint currentpoint translate 1 0.79 div 1 0.79 div scale neg
-exch neg exch translate
- -30 38552 a 3565 x FU(if)336
-b(you')-77 b(re)335 b(looking)g(for)h(a)g(mail)g(client)f(that)h(will)f
-(let)h(you)f(be)h(in)g(total)f(control)h(o)-23 b(v)g(er)335
-b(e)-39 b(v)-23 b(erything,)-30 44131 y(then)424 b(you)f(will)h(lik)-15
-b(e)423 b FP(mutt)p FU(.)h(all)g(the)f(def)-15 b(ault)423
-b(settings)g(can)h(be)g(customized,)g(k)-15 b(e)-23 b(ybindings)422
-b(can)-30 46146 y(be)387 b(changed.)h(if)f(you)g(lik)-15
-b(e)387 b(to)g(add)g(a)h(macro,)f(you)h(can.)-30 47256
-y
-SDict begin H.S end
- -30 47256 a -30 47256 a
-SDict begin 18.2 H.A end
- -30 47256 a -30 47256 a
-SDict begin [ /View [/XYZ H.V] /Dest (4735) cvn H.B /DEST pdfmark end
- -30
-47256 a 1680 x FU(you)416 b(probably)g(w)-15 b(ant)416
-b(to)h(tak)-15 b(e)416 b(a)g(look)g(at)h(the)24779 48936
-y
-SDict begin H.S end
- 24779 48936 a 24779 48936 a
-SDict begin 18.2 H.A end
- 24779 48936 a 24779 48936
-a
-SDict begin [ /View [/XYZ H.V] /Dest (4736) cvn H.B /DEST pdfmark end
- 24779 48936 a FQ(muttrc)c FU(manpage,)k(which)f(will)g(tell)g(you)h
-(ho)-39 b(w)416 b(to)-30 50950 y(con\002gure)387 b(e)-39
-b(v)-23 b(erything.)387 b(or)g(tak)-15 b(e)387 b(a)h(look)f(at)g(the)g
-(included)g(e)-23 b(xample)37529 50950 y
-SDict begin H.S end
- 37529 50950
-a 37529 50950 a
-SDict begin 18.2 H.A end
- 37529 50950 a 37529 50950 a
-SDict begin [ /View [/XYZ H.V] /Dest (4737) cvn H.B /DEST pdfmark end
- 37529 50950
-a FQ(muttrc)384 b FU(\002le.)-30 52061 y
-SDict begin H.S end
- -30 52061 a
--30 52061 a
-SDict begin 18.2 H.A end
- -30 52061 a -30 52061 a
-SDict begin [ /View [/XYZ H.V] /Dest (BASIC-NETWORK-COMMANDS-EMAIL-NAIL)
-cvn H.B /DEST pdfmark end
- -30 52061 a 5181
-x FF(nail)-30 57265 y
-SDict begin H.S end
- -30 57265 a -30 57265 a
-SDict begin 18.2 H.A end
- -30 57265
-a -30 57265 a
-SDict begin [ /View [/XYZ H.V] /Dest (4741) cvn H.B /DEST pdfmark end
- -30 57265 a -30 58195 a
-SDict begin H.S end
- -30 58195 a -30
-58195 a
-SDict begin 18.2 H.A end
- -30 58195 a -30 58195 a
-SDict begin [ /View [/XYZ H.V] /Dest (4744) cvn H.B /DEST pdfmark end
- -30 58195 a -30 58195
-a
-SDict begin H.S end
- -30 58195 a -30 58195 a
-SDict begin 18.2 H.A end
- -30 58195 a -30 58195 a
-SDict begin [ /View [/XYZ H.V] /Dest (4745) cvn H.B /DEST pdfmark end
- -30
-58195 a 1992 x FP(nail)p FU(\(1\))472 b(is)h(a)g(command)f(line)g(dri)
--39 b(v)-23 b(en)473 b(mail)f(client.)h(It)g(is)f(v)-23
-b(ery)473 b(primiti)-39 b(v)-23 b(e)472 b(and)g(of)-39
-b(fers)473 b(pretty)-30 62201 y(much)351 b(nothing)f(in)g(the)h(w)-15
-b(ay)350 b(of)h(user)g(interf)-15 b(aces.)351 b(Ho)-39
-b(we)g(v)-23 b(er)-62 b(,)351 b(mailx)g(is)f(handy)h(for)g(times)f
-(when)-30 64216 y(you)460 b(need)g(to)g(quickly)g(mail)f(something,)h
-(scripting)f(a)h(b)-31 b(ulk)460 b(mailer)-62 b(,)460
-b(testing)g(your)g(MT)-144 b(A)459 b(in-)-30 66231 y(stallation)436
-b(or)h(something)f(similar)-85 b(.)437 b(Note)g(that)g(Slackw)-15
-b(are)436 b(creates)i(symbolic)e(links)g(to)48800 66231
-y
-SDict begin H.S end
- 48800 66231 a 48800 66231 a
-SDict begin 18.2 H.A end
- 48800 66231 a 48800 66231
-a
-SDict begin [ /View [/XYZ H.V] /Dest (4746) cvn H.B /DEST pdfmark end
- 48800 66231 a FP(nail)-30 68245 y FU(at)1439 68245
-y
-SDict begin H.S end
- 1439 68245 a 1439 68245 a
-SDict begin 18.2 H.A end
- 1439 68245 a 1439 68245 a
-SDict begin [ /View [/XYZ H.V] /Dest (4747) cvn H.B /DEST pdfmark end
-
-1439 68245 a FQ(/usr/bin/mail)341 b FU(and)12519 68245
-y
-SDict begin H.S end
- 12519 68245 a 12519 68245 a
-SDict begin 18.2 H.A end
- 12519 68245 a 12519 68245
-a
-SDict begin [ /View [/XYZ H.V] /Dest (4748) cvn H.B /DEST pdfmark end
- 12519 68245 a FQ(/usr/bin/mailx)p FU(.)g(An)-23 b(y)350
-b(of)f(these)h(three)g(commands)e(e)-23 b(x)g(ecutes)350
-b(the)f(same)p Black 49451 73792 a FR(169)p Black eop
-end
-%%Page: 170 192
-TeXDict begin 170 191 bop -8000 -8000 a
-SDict begin /product where{pop product(Distiller)search{pop pop pop
-version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
-closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
-grestore}if}{pop}ifelse}{pop}ifelse}if end
- -8000 -8000 a
-Black 0 TeXcolorgray -30 -1237 a
-SDict begin H.S end
- -30 -1237 a 0 TeXcolorgray
-0 TeXcolorgray -30 -1237 a
-SDict begin H.R end
- -30 -1237 a -30 -1237 a
-SDict begin [ /View [/XYZ H.V] /Dest (page.170) cvn H.B /DEST pdfmark
-end
- -30
--1237 a Black -399 x FR(Chapter)387 b(13)g(Basic)g(Network)f(Commands)p
-Black -30 3611 a FU(program.)h(In)h(f)-15 b(act,)387
-b(you)g(will)g(most)g(lik)-15 b(ely)386 b(see)25937 3611
-y
-SDict begin H.S end
- 25937 3611 a 25937 3611 a
-SDict begin 18.2 H.A end
- 25937 3611 a 25937 3611 a
-SDict begin [ /View [/XYZ H.V] /Dest (4749) cvn H.B /DEST pdfmark end
-
-25937 3611 a FP(nail)h FU(referred)h(to)f(as)37863 3611
-y
-SDict begin H.S end
- 37863 3611 a 37863 3611 a
-SDict begin 18.2 H.A end
- 37863 3611 a 37863 3611 a
-SDict begin [ /View [/XYZ H.V] /Dest (4750) cvn H.B /DEST pdfmark end
-
-37863 3611 a FP(mail)p FU(.)-30 6401 y(The)g(basic)g(command)g(line)g
-(is:)-30 7966 y
-SDict begin H.S end
- -30 7966 a -30 7966 a
-SDict begin 14.56 H.A end
- -30 7966 a -30
-7966 a
-SDict begin [ /View [/XYZ H.V] /Dest (4752) cvn H.B /DEST pdfmark end
- -30 7966 a -30 7966 a
-SDict begin H.S end
- -30 7966 a -30 7966 a
-SDict begin 14.56 H.A end
- -30
-7966 a -30 7966 a
-SDict begin [ /View [/XYZ H.V] /Dest (4753) cvn H.B /DEST pdfmark end
- -30 7966 a 1596 x FJ(\045)1309 9562
-y
-SDict begin H.S end
- 1309 9562 a 1309 9562 a
-SDict begin 14.56 H.A end
- 1309 9562 a 1309 9562 a
-SDict begin [ /View [/XYZ H.V] /Dest (4754) cvn H.B /DEST pdfmark end
- 1309
-9562 a FH(mailx)743 b FK(<)p FH(subject)p FK(>)g(<)p
-FH(to-addr)p FK(>)-30 11280 y
-SDict begin H.S end
- -30 11280 a -30 11280 a
-SDict begin 18.2 H.A end
-
--30 11280 a -30 11280 a
-SDict begin [ /View [/XYZ H.V] /Dest (4755) cvn H.B /DEST pdfmark end
- -30 11280 a -30 11280 a
-SDict begin H.S end
- -30 11280
-a -30 11280 a
-SDict begin 18.2 H.A end
- -30 11280 a -30 11280 a
-SDict begin [ /View [/XYZ H.V] /Dest (4756) cvn H.B /DEST pdfmark end
- -30 11280 a 1847
-x FP(mailx)499 b FU(reads)h(the)g(message)f(body)g(from)h(standard)f
-(input.)h(So)f(you)g(can)h(cat)g(a)g(\002le)f(into)h(this)-30
-15141 y(command)373 b(to)g(mail)f(it,)i(or)f(you)g(can)g(just)g(type)f
-(te)-23 b(xt)373 b(and)g(hit)32622 15141 y
-SDict begin H.S end
- 32622 15141
-a 32622 15141 a
-SDict begin 18.2 H.A end
- 32622 15141 a 32622 15141 a
-SDict begin [ /View [/XYZ H.V] /Dest (4757) cvn H.B /DEST pdfmark end
- 32622 15141
-a 32622 15141 a
-SDict begin H.S end
- 32622 15141 a 32622 15141 a
-SDict begin 18.2 H.A end
- 32622 15141
-a 32622 15141 a
-SDict begin [ /View [/XYZ H.V] /Dest (4758) cvn H.B /DEST pdfmark end
- 32622 15141 a FX(Ctrl)p FU(+)36250 15141
-y
-SDict begin H.S end
- 36250 15141 a 36250 15141 a
-SDict begin 18.2 H.A end
- 36250 15141 a 36250 15141
-a
-SDict begin [ /View [/XYZ H.V] /Dest (4759) cvn H.B /DEST pdfmark end
- 36250 15141 a FX(D)g FU(when)g(\002nished)f(with)h(the)-30
-17156 y(message.)-30 18266 y
-SDict begin H.S end
- -30 18266 a -30 18266 a
-SDict begin 18.2 H.A end
-
--30 18266 a -30 18266 a
-SDict begin [ /View [/XYZ H.V] /Dest (4760) cvn H.B /DEST pdfmark end
- -30 18266 a 1679 x FU(Here)388
-b(is)f(an)g(e)-23 b(xample)387 b(of)g(mailing)g(a)g(program)g(source)g
-(\002le)g(to)g(another)g(person.)-30 21831 y
-SDict begin H.S end
- -30 21831
-a -30 21831 a
-SDict begin 14.56 H.A end
- -30 21831 a -30 21831 a
-SDict begin [ /View [/XYZ H.V] /Dest (4761) cvn H.B /DEST pdfmark end
- -30 21831 a -30
-21831 a
-SDict begin H.S end
- -30 21831 a -30 21831 a
-SDict begin 14.56 H.A end
- -30 21831 a -30 21831
-a
-SDict begin [ /View [/XYZ H.V] /Dest (4762) cvn H.B /DEST pdfmark end
- -30 21831 a 1276 x FJ(\045)1309 23107 y
-SDict begin H.S end
- 1309 23107
-a 1309 23107 a
-SDict begin 14.56 H.A end
- 1309 23107 a 1309 23107 a
-SDict begin [ /View [/XYZ H.V] /Dest (4763) cvn H.B /DEST pdfmark end
- 1309 23107 a
-FH(cat)744 b(randomfunc.c)e(|)i(mail)f(-s)h("Here's)f(that)g(function")
-g(asdf@example.net)-30 24967 y
-SDict begin H.S end
- -30 24967 a -30 24967
-a
-SDict begin 18.2 H.A end
- -30 24967 a -30 24967 a
-SDict begin [ /View [/XYZ H.V] /Dest (4764) cvn H.B /DEST pdfmark end
- -30 24967 a 1704 x FU(The)338
-b(man)g(page)g(e)-23 b(xplains)337 b(more)h(of)g(what)22972
-26671 y
-SDict begin H.S end
- 22972 26671 a 22972 26671 a
-SDict begin 18.2 H.A end
- 22972 26671 a 22972
-26671 a
-SDict begin [ /View [/XYZ H.V] /Dest (4765) cvn H.B /DEST pdfmark end
- 22972 26671 a FP(nail)f FU(can)h(do,)h(so)e(you)h(will)g
-(probably)f(w)-15 b(ant)337 b(to)h(ha)-31 b(v)-23 b(e)-30
-28686 y(a)388 b(look)e(at)i(that)f(before)g(using)g(it.)-30
-31346 y
-SDict begin H.S end
- -30 31346 a -30 31346 a
-SDict begin 18.2 H.A end
- -30 31346 a -30 31346
-a
-SDict begin [ /View [/XYZ H.V] /Dest (BASIC-NETWORK-COMMANDS-WEB) cvn
-H.B /DEST pdfmark end
- -30 31346 a 5789 x FL(13.8)620 b(Br)-45 b(o)-33 b(wser)g(s)-30
-37163 y
-SDict begin H.S end
- -30 37163 a -30 37163 a
-SDict begin 18.2 H.A end
- -30 37163 a -30 37163
-a
-SDict begin [ /View [/XYZ H.V] /Dest (4768) cvn H.B /DEST pdfmark end
- -30 37163 a -30 38279 a
-SDict begin H.S end
- -30 38279 a -30 38279 a
-SDict begin 18.2 H.A end
- -30
-38279 a -30 38279 a
-SDict begin [ /View [/XYZ H.V] /Dest (4770) cvn H.B /DEST pdfmark end
- -30 38279 a 1987 x FU(The)438 b(\002rst)g(thing)f
-(that)h(people)f(think)h(about)f(when)h(the)-23 b(y)438
-b(hear)g(the)g(w)-15 b(ord)437 b(Internet)h(is)46783
-40266 y
-SDict begin H.S end
- 46783 40266 a 46783 40266 a
-SDict begin 18.2 H.A end
- 46783 40266 a 46783
-40266 a
-SDict begin [ /View [/XYZ H.V] /Dest (4771) cvn H.B /DEST pdfmark end
- 46783 40266 a FU(\223sur\002ng)-30 42280 y(the)519
-b(net\224.)g(Or)g(looking)f(at)h(websites)g(using)f(a)h(web)g(bro)-39
-b(wser)-85 b(.)519 b(This)f(is)h(probably)g(by)f(f)-15
-b(ar)519 b(the)-30 44295 y(most)387 b(popular)g(use)g(of)g(the)g
-(Internet)g(for)h(the)f(a)-31 b(v)-23 b(erage)387 b(user)-85
-b(.)-30 45405 y
-SDict begin H.S end
- -30 45405 a -30 45405 a
-SDict begin 18.2 H.A end
- -30 45405 a -30
-45405 a
-SDict begin [ /View [/XYZ H.V] /Dest (4772) cvn H.B /DEST pdfmark end
- -30 45405 a 1680 x FU(Slackw)-15 b(are)389 b(pro)-23
-b(vides)388 b(popular)h(graphical)g(web)g(bro)-39 b(wsers)389
-b(in)g(the)36576 47085 y
-SDict begin H.S end
- 36576 47085 a 36576 47085 a
-SDict begin 18.2 H.A end
-
-36576 47085 a 36576 47085 a
-SDict begin [ /View [/XYZ H.V] /Dest (4773) cvn H.B /DEST pdfmark end
- 36576 47085 a FU(\223XAP\224)g(series,)h
-(as)f(well)g(as)-30 49099 y(te)-23 b(xt)472 b(mode)g(bro)-39
-b(wsers)473 b(in)f(the)16733 49099 y
-SDict begin H.S end
- 16733 49099 a 16733
-49099 a
-SDict begin 18.2 H.A end
- 16733 49099 a 16733 49099 a
-SDict begin [ /View [/XYZ H.V] /Dest (4774) cvn H.B /DEST pdfmark end
- 16733 49099 a FU(\223N\224)h
-(series.)g(W)-124 b(e')-15 b(ll)472 b(tak)-15 b(e)472
-b(a)h(quick)f(look)g(at)g(some)h(of)f(the)h(most)-30
-51114 y(common)387 b(options)f(belo)-39 b(w)-101 b(.)-30
-51449 y
-SDict begin H.S end
- -30 51449 a -30 51449 a
-SDict begin 18.2 H.A end
- -30 51449 a -30 51449
-a
-SDict begin [ /View [/XYZ H.V] /Dest (4775) cvn H.B /DEST pdfmark end
- -30 51449 a 5027 x FF(l)-28 b(ynx)-30 56861 y
-SDict begin H.S end
- -30 56861
-a -30 56861 a
-SDict begin 18.2 H.A end
- -30 56861 a -30 56861 a
-SDict begin [ /View [/XYZ H.V] /Dest (4778) cvn H.B /DEST pdfmark end
- -30 56861 a -30
-56861 a
-SDict begin H.S end
- -30 56861 a -30 56861 a
-SDict begin 18.2 H.A end
- -30 56861 a -30 56861
-a
-SDict begin [ /View [/XYZ H.V] /Dest (4781) cvn H.B /DEST pdfmark end
- -30 56861 a -30 57791 a
-SDict begin H.S end
- -30 57791 a -30 57791 a
-SDict begin 18.2 H.A end
- -30
-57791 a -30 57791 a
-SDict begin [ /View [/XYZ H.V] /Dest (4784) cvn H.B /DEST pdfmark end
- -30 57791 a -30 57791 a
-SDict begin H.S end
- -30 57791
-a -30 57791 a
-SDict begin 18.2 H.A end
- -30 57791 a -30 57791 a
-SDict begin [ /View [/XYZ H.V] /Dest (4785) cvn H.B /DEST pdfmark end
- -30 57791 a 1629
-x FP(lynx)p FU(\(1\))378 b(is)g(a)g(te)-23 b(xt-based)378
-b(web)g(bro)-39 b(wser)-85 b(.)378 b(It)h(is)f(a)g(v)-23
-b(ery)378 b(quick)g(w)-15 b(ay)377 b(of)i(looking)e(up)h(something)-30
-61435 y(on)505 b(the)g(Internet.)h(Sometimes)e(graphics)h(just)g(get)g
-(in)g(the)g(w)-15 b(ay)505 b(if)g(you)g(kno)-39 b(w)505
-b(e)-23 b(xactly)505 b(what)-30 63450 y(you')-77 b(re)387
-b(after)-85 b(.)-30 64560 y
-SDict begin H.S end
- -30 64560 a -30 64560 a
-SDict begin 18.2 H.A end
- -30
-64560 a -30 64560 a
-SDict begin [ /View [/XYZ H.V] /Dest (4786) cvn H.B /DEST pdfmark end
- -30 64560 a 1679 x FU(T)-124 b(o)387
-b(start)5011 66239 y
-SDict begin H.S end
- 5011 66239 a 5011 66239 a
-SDict begin 18.2 H.A end
- 5011 66239
-a 5011 66239 a
-SDict begin [ /View [/XYZ H.V] /Dest (4787) cvn H.B /DEST pdfmark end
- 5011 66239 a FP(lynx)p FU(,)h(just)f(type)14445
-66239 y
-SDict begin H.S end
- 14445 66239 a 14445 66239 a
-SDict begin 18.2 H.A end
- 14445 66239 a 14445
-66239 a
-SDict begin [ /View [/XYZ H.V] /Dest (4788) cvn H.B /DEST pdfmark end
- 14445 66239 a FP(lynx)g FU(at)g(the)g(prompt:)p
-Black -30 73792 a FR(170)p Black eop end
-%%Page: 171 193
-TeXDict begin 171 192 bop -8000 -8000 a
-SDict begin /product where{pop product(Distiller)search{pop pop pop
-version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
-closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
-grestore}if}{pop}ifelse}{pop}ifelse}if end
- -8000 -8000 a
-Black 0 TeXcolorgray -30 -1237 a
-SDict begin H.S end
- -30 -1237 a 0 TeXcolorgray
-0 TeXcolorgray -30 -1237 a
-SDict begin H.R end
- -30 -1237 a -30 -1237 a
-SDict begin [ /View [/XYZ H.V] /Dest (page.171) cvn H.B /DEST pdfmark
-end
- -30
--1237 a Black 27927 -1636 a FR(Chapter)386 b(13)i(Basic)f(Network)f
-(Commands)p Black -30 2504 a
-SDict begin H.S end
- -30 2504 a -30 2504 a
-SDict begin 14.56 H.A end
- -30
-2504 a -30 2504 a
-SDict begin [ /View [/XYZ H.V] /Dest (4789) cvn H.B /DEST pdfmark end
- -30 2504 a -30 2504 a
-SDict begin H.S end
- -30 2504 a -30
-2504 a
-SDict begin 14.56 H.A end
- -30 2504 a -30 2504 a
-SDict begin [ /View [/XYZ H.V] /Dest (4790) cvn H.B /DEST pdfmark end
- -30 2504 a 1107 x FJ(\045)1309
-3611 y
-SDict begin H.S end
- 1309 3611 a 1309 3611 a
-SDict begin 14.56 H.A end
- 1309 3611 a 1309 3611
-a
-SDict begin [ /View [/XYZ H.V] /Dest (4791) cvn H.B /DEST pdfmark end
- 1309 3611 a FH(lynx)-30 3779 y
-SDict begin H.S end
- -30 3779 a -30 3779
-a
-SDict begin 18.2 H.A end
- -30 3779 a -30 3779 a
-SDict begin [ /View [/XYZ H.V] /Dest (FIG-BASIC-NETWORK-COMMANDS-WEB-LYNX)
-cvn H.B /DEST pdfmark end
- -30 3779 a 4946 x FX(Figur)-28
-b(e)387 b(13-5.)h(L)-85 b(ynx)386 b(default)g(start)i(page)-30
-10590 y
-SDict begin H.S end
- -30 10590 a -30 10590 a
-SDict begin 18.2 H.A end
- -30 10590 a -30 10590
-a
-SDict begin [ /View [/XYZ H.V] /Dest (4794) cvn H.B /DEST pdfmark end
- -30 10590 a -30 43666 a
- currentpoint currentpoint translate 0.79 0.79 scale neg exch neg exch
-translate
- -30 43666 a @beginspecial 12
-@llx 212 @lly 600 @urx 580 @ury 5880 @rwi @setspecial
-%%BeginDocument: basic-network-commands/lynx.eps
-%!PS-Adobe-2.0 EPSF-2.0
-%%Creator: pnmtops
-%%Title: noname.ps
-%%Pages: 1
-%%BoundingBox: 12 212 600 580
-%%EndComments
-/rlestr1 1 string def
-/readrlestring {
- /rlestr exch def
- currentfile rlestr1 readhexstring pop
- 0 get
- dup 127 le {
- currentfile rlestr 0
- 4 3 roll
- 1 add getinterval
- readhexstring pop
- length
- } {
- 256 exch sub dup
- currentfile rlestr1 readhexstring pop
- 0 get
- exch 0 exch 1 exch 1 sub {
- rlestr exch 2 index put
- } for
- pop
- } ifelse
-} bind def
-/readstring {
- dup length 0 {
- 3 copy exch
- 1 index sub
- getinterval
- readrlestring
- add
- 2 copy le { exit } if
- } loop
- pop pop
-} bind def
-/picstr 640 string def
-%%EndProlog
-%%Page: 1 1
-gsave
-12.24 212.4 translate
-587.52 367.2 scale
-640 400 8
-[ 640 0 0 -400 0 400 ]
-{ picstr readstring }
-image
-80008000800080008000800080008000800080008000800080008800fc69
-da00fc69f300fd69db000069f900016969e5008000800080008700016969
-d800016969f300046969006969dd00016969f900016969e5008000800080
-008700016969d800016969f300046969000069dd00016969dc0080008000
-80008700016969fb00166969000000696900696900696969000069690000
-006969f4000a6969000000696900696969fc00016969fb00fb6912000069
-69006969690000696969006969000000fc69fd00fa69fc00fd69fc00fb69
-070000696900696969f6008000800080008700016969fb00156969000000
-6969000069690000696900006969006969f300016969fc00076969000069
-690000fc69fd000f69690000006969000069696900696900f969fb000169
-69fc00016969f900136969000000696900000069690000696900006969f7
-008000800080008700016969fb0014696900000069690000696900006969
-000000696969f200016969fc000a6969000069690000006969fc00186969
-0000006969000069690000696900696900690069690000fb69fc00016969
-f900136969000000696900000069690000696900006969f7008000800080
-008700016969fb0014696900000069690000696900006969000000696969
-f200016969fc000a6969000069690000006969fc000a6969000000696900
-006969fb000d6969006900696900696900006969fc00016969f900136969
-000000696900000069690000696900006969f70080008000800087001b69
-690000006900696900000069690000696900006969000000696969f20001
-6969fc000a6969000069690000006969fc000a6969000000696900006969
-fb000d6969006900696900696900006969fc00016969f900136969000000
-696900000069690000696900006969f70080008000800087001c69690000
-69690069690000006969000069690000696900006969006969f300016969
-fc000a6969000069690000006969fc000a6969000000696900006969fb00
-0d6969006900696900696900006969fc00046969006969fc001369690000
-00696900000069690000696900006969f7008000800080008800f9690100
-00fa690f00006969000069690069690000006969f500fc69fd0007696900
-0069690000fc69fc00fb69010000fc69fc000e6969000000696900006969
-69006969fc00fd69fc00fc69fd00fb69fd0005696900006969f700800080
-0080008000fb0001696987008000800080008000fc000169698600800080
-0080008000fb6985008000800080008000800080008000e000e01c800080
-00c00080008000e000e01c80008000c00080008000e000fce2e41c800080
-00c00080008000e000021ce2e2e31c80008000c00080008000e000021ce2
-e2e31c80008000c00080008000e000021ce2e2fb1c17e2e21c1c1ce2e21c
-e2e21ce2e2e21c1ce2e21c1c1ce2e21c80008000c00080008000e000021c
-e2e2fb1c17e2e21c1c1ce2e21c1ce2e21c1ce2e21c1ce2e21ce2e21c1c80
-008000c00080008000e000021ce2e2fb1c17e2e21c1c1ce2e21c1ce2e21c
-1ce2e21c1c1ce2e2e21c1c1c80008000c00080008000e000021ce2e2fb1c
-17e2e21c1c1ce2e21c1ce2e21c1ce2e21c1c1ce2e2e21c1c1c80008000c0
-0080008000e0001f1ce2e21c1c1ce21ce2e21c1c1ce2e21c1ce2e21c1ce2
-e21c1c1ce2e2e21c1c1c80008000c00080008000e0001f1ce2e21c1ce2e2
-1ce2e21c1c1ce2e21c1ce2e21c1ce2e21c1ce2e21ce2e21c1c80008000c0
-0080008000e000f9e2011c1cfae2101c1ce2e21c1ce2e21ce2e21c1c1ce2
-e21c80008000c00080008000e000f31c01e2e2ef1c80008000c000800080
-00e000f41c01e2e2ee1c80008000c00080008000e000f81cfbe2ed1c8000
-8000c00080008000e000e01c80008000c000800080008000800080008000
-800080008000800080008000800080008000800080008000800080008000
-800080008000800080008000800080008000800080008000800080008000
-800080008000800080008000800080008000800080008000800080008000
-800080008000800080008000800080008000800080008000800080008000
-800080008000800080008000800080008000800080008000800080008000
-800080008000800080008000800080008000e800fc4cd90001c0c0da0000
-c0e90000c0f400fdc0c000fdc0e30000c0fc00fdc0eb0006c0c0000000c0
-c0ed00fdc0fa00fdc0f60006c0c0000000c0c0fc0001c0c0fa00fdc0ee00
-06c0c0000000c0c0f700fdc0cb00fce2db00fbe2f500fbe2f500fbe28000
-fe00e700014c4cd80001c0c0db0001c0c0ea0001c0c0f30001c0c0c10004
-c0c000c0c0e50001c0c0fb0001c0c0eb0006c0c0000000c0c0ec0001c0c0
-f90001c0c0f60006c0c0000000c0c0fc0001c0c0f90001c0c0ee0006c0c0
-000000c0c0f60001c0c0ca0001e2e2db0006e2e2000000e2e2f70006e2e2
-000000e2e2f70006e2e2000000e2e28000ff00e700014c4cb10001c0c0ea
-0001c0c0f30001c0c0c10004c0c00000c0e50001c0c0fb0001c0c0eb0006
-c0c0000000c0c0ec0001c0c0f90001c0c0f60006c0c0000000c0c0f30001
-c0c0ee0006c0c0000000c0c0f60001c0c0ca0001e2e2d60001e2e2f70006
-e2e2000000e2e2f20001e2e28000ff00e700014c4cfb00164c4c0000004c
-4c004c4c004c4c4c00004c4c0000004c4cf500fdc0fc00fbc0f500fcc0f5
-00fac0fd00fbc0090000c0c0000000c0c000fac0f500fcc0fd0008c0c000
-c0c0c0000000fbc00a0000c0c0000000c0c00000fbc0fd00fbc0070000c0
-c000c0c0c0f40001c0c0fb00fbc0070000c0c000c0c0c0f600fac0fd0007
-c0c000c0c0000000fbc0f60008c0c0000000c0c00000fbc0070000c0c000
-c0c0c0fb0001c0c0fb00fcc0f6000cc0c0000000c0c0000000c0c0c0fb00
-fcc0fd00fbc0f60008c0c0000000c0c00000fbc0fd00fcc0cc0001e2e2fb
-0016e2e2000000e2e200e2e200e2e2e20000e2e2000000e2e2f30001e2e2
-f60006e2e2000000e2e2f20001e2e2f70018c0c000c0c0c00000c0c00000
-c0c00000c0c000c0c0c0000000fbc0f500fbc0070000c0c000c0c0c0be00
-e700014c4cfb00154c4c0000004c4c00004c4c00004c4c00004c4c004c4c
-f3000bc0c0000000c0c0000000c0c0f30001c0c0f40001c0c0fc000dc0c0
-000000c0c00000c0c000c0c0fc0001c0c0f30035c0c000c0c0000000c0c0
-c000c0c000c0c0000000c0c000c0c0000000c0c000c0c0000000c0c000c0
-c0000000c0c00000c0c0c000c0c0f600fcc0fd000ec0c0000000c0c00000
-c0c0c000c0c0f50001c0c0fb00fdc00a00c0c000c0c0000000c0c0f70016
-c0c000c000c0c000c0c0000000c0c00000c0c0c000c0c0fc0001c0c0fc00
-04c0c000c0c0f60006c0c000c000c0c0fc0001c0c0fc000dc0c000c0c000
-00c0c0000000c0c0f70015c0c000c000c0c000c0c0000000c0c00000c0c0
-00c0c0cd0001e2e2fb0015e2e2000000e2e20000e2e20000e2e20000e2e2
-00e2e2f30001e2e2f400fbe2f400fce2f500fdc01a00c0c000c0c00000c0
-c0000000c0c00000c0c000c0c0000000c0c0f7000ec0c0000000c0c00000
-c0c00000c0c0bf00e700014c4cfb00144c4c0000004c4c00004c4c00004c
-4c0000004c4c4cf20001c0c0fc0001c0c0f200fbc0f40001c0c0fc00f9c0
-fd00fdc0fb0001c0c0f30021c0c00000c0c00000c0c00000c0c000c0c000
-0000c0c000c0c000c000c0c00000c0c0fb00f9c0070000c0c00000c0c0f5
-0001c0c0fc000ec0c0000000c0c00000c0c00000c0c0f50001c0c0fb0006
-c0c00000c0c000f9c0f70016c0c000c000c0c000c0c0000000c0c00000c0
-c00000c0c0fc000ac0c0000000c0c00000c0c0f60006c0c000c000c0c0fc
-000cc0c0000000c0c00000c0c00000f9c0f70007c0c000c000c0c000f9c0
-070000c0c00000c0c0ce0001e2e2fb0014e2e2000000e2e20000e2e20000
-e2e2000000e2e2e2f30001e2e2f40006e2e2000000e2e2f20001e2e2f600
-19c0c00000c0c000c0c00000c0c0000000c0c00000c0c00000c0c0f3000e
-c0c0000000c0c00000c0c00000c0c0bf00e700014c4cfb00144c4c000000
-4c4c00004c4c00004c4c0000004c4c4cf20001c0c0fb00fdc0f50005c0c0
-0000c0c0f40001c0c0fc0001c0c0f800fdc0fb0001c0c0f30009c0c00000
-c0c00000c0c0fb0019c0c0000000c0c000c0c000c000c0c0000000c0c0c0
-000000c0c0f90001c0c0f10001c0c0fc000ac0c0000000c0c00000c0c0f1
-0001c0c0fb0008c0c00000c0c000c0c0f20012c0c000c000c0c000c0c000
-0000c0c00000c0c0f8000ac0c0000000c0c00000c0c0f60006c0c000c000
-c0c0fc000ec0c0000000c0c00000c0c00000c0c0f20009c0c000c000c0c0
-00c0c0f90005c0c00000c0c0ce0001e2e2fb0014e2e2000000e2e20000e2
-e20000e2e2000000e2e2e2f40001e2e2f30006e2e2000000e2e2f20001e2
-e2f60001c0c0fb0014c0c00000c0c0000000c0c00000c0c0000000c0c0c0
-f5000ec0c0000000c0c00000c0c00000c0c0bf00e7001b4c4c0000004c00
-4c4c0000004c4c00004c4c00004c4c0000004c4c4cf20001c0c0f90001c0
-c0f60005c0c00000c0c0f40001c0c0fc0001c0c0f800fdc0fb0001c0c0f3
-0009c0c00000c0c00000c0c0fb000ec0c0000000c0c000c0c000c000c0c0
-fb0005c0c00000c0c0f90001c0c0f10001c0c0fc000ac0c0000000c0c000
-00c0c0f10001c0c0fb0008c0c00000c0c000c0c0f200f9c00b00c0c00000
-00c0c00000c0c0f8000ac0c0000000c0c00000c0c0f600f9c0fc000ec0c0
-000000c0c00000c0c00000c0c0f200f9c00200c0c0f90005c0c00000c0c0
-ce001be2e2000000e200e2e2000000e2e20000e2e20000e2e2000000e2e2
-e2f50001e2e2f20006e2e2000000e2e2f20001e2e2f60001c0c0fb000ec0
-c00000c0c0000000c0c00000c0c0fb0001c0c0f6000ec0c0000000c0c000
-00c0c00000c0c0bf00e7001c4c4c00004c4c004c4c0000004c4c00004c4c
-00004c4c00004c4c004c4cf3000bc0c0000000c0c0000000c0c0f70005c0
-c00000c0c0f40013c0c000c0c000c0c0000000c0c00000c0c000c0c0fc00
-04c0c000c0c0f60009c0c00000c0c00000c0c0fb0007c0c0000000c0c000
-f9c01300c0c0000000c0c000c0c0000000c0c00000c0c0f10001c0c0fc00
-0ac0c0000000c0c00000c0c0f10014c0c000c0c00000c0c00000c0c000c0
-c0000000c0c0f700fdc00f00c0c0c000c0c0000000c0c00000c0c0f8000a
-c0c0000000c0c00000c0c0f600fdc00300c0c0c0fc0013c0c0000000c0c0
-0000c0c00000c0c0000000c0c0f700fdc01300c0c0c000c0c0000000c0c0
-0000c0c00000c0c0fc0001c0c0d4001ce2e20000e2e200e2e2000000e2e2
-0000e2e20000e2e20000e2e200e2e2f60006e2e2000000e2e2fc000be2e2
-000000e2e2000000e2e2fc000be2e2000000e2e2000000e2e2f60001c0c0
-fb0016c0c00000c0c0000000c0c00000c0c000c0c0000000c0c0f7000ec0
-c0000000c0c00000c0c00000c0c0bf00e800f94c010000fa4c0f00004c4c
-00004c4c004c4c0000004c4cf500fcc0fd00fbc0f500fdc00200c0c0f400
-fdc0fd00fbc0080000c0c0000000c0c0fc00fdc0f500fbc0010000fcc0fb
-00fbc0fd0007c0c000c0c0000000fbc0fd00fbc0010000fcc0f300fcc0fc
-00fbc0010000fcc0f100fdc00a0000c0c0c00000c0c00000fbc0f50007c0
-c000c0c0000000fbc0010000fcc0fa00fcc0fd00fdc00200c0c0f60004c0
-c000c0c0fc00fcc0fd00fdc00400c0c00000fbc0f50007c0c000c0c00000
-00fbc0fd00fbc0fb0001c0c0d500f9e2010000fae20f0000e2e20000e2e2
-00e2e2000000e2e2f700f9e2fc0001e2e2fc00fbe2fb0001e2e2fc00fbe2
-f600fcc0fb00fdc00c00c0c00000c0c00000c0c00000fbc0f500fbc0fd00
-05c0c00000c0c0bf00db00014c4c800080008000ea0001e2e28000bf00dc
-00014c4c800080008000ea0001e2e28000be00e000fb4c800080008000ed
-00fbe28000bd008000800080008000800080008000800080008000800080
-00800080008000e80006c0c0000000c0c0d70010c0c0000000c0c000c0c0
-000000c0c00000fbc0ee0006c0c0000000c0c0fc0001c0c0f200fdc0dd00
-fbc0010000f9c0f600fbc0fd00fbc0f60008c0c0000000c0c00000fac0f7
-00fdc0f00000c0e10000a6f300fbc0f30001c0c0dc00fbc0f30001c0c0fa
-0001c0c0d500fbc0fc00fbc0fd00fbc0f20004c0c0000000fbc0fd00fbc0
-fc00fdc08000f500e80006c0c0000000c0c0d70016c0c0000000c0c000c0
-c0c000c0c0c000c0c0000000c0c0ef0006c0c0000000c0c0fc0001c0c0f1
-0001c0c0de0009c0c0000000c0c000c0c0f2000ec0c0000000c0c000c0c0
-000000c0c0f700fdc0050000c0c00000fac0f60001c0c0f10001c0c0e200
-01a6a6f40006c0c0000000c0c0f500fdc0dd0006c0c0000000c0c0f500fd
-c0fb00fdc0d40015c0c000c0c00000c0c0000000c0c000c0c0000000c0c0
-f40017c0c0000000c0c0000000c0c000c0c0000000c0c00000c0c08000f3
-00e80006c0c0000000c0c0d70007c0c0000000c0c000f9c00700c0c00000
-00c0c0ef0006c0c0000000c0c0eb0001c0c0de0009c0c0000000c0c000c0
-c0f40010c000c0c0000000c0c000c0c0000000c0c0f90001c000fcc00a00
-c0c00000c000c0c000c0f60001c0c0f10001c0c0e20001a6a6ef0001c0c0
-f600fcc0d80001c0c0f600fcc0fc00fcc0d40015c0c00000c0c000c0c000
-0000c0c000c0c0000000c0c0f50001c0c0f7000cc0c000c0c0000000c0c0
-00c0c08000f200e8001ec0c0000000c0c000c0c000c0c0c0000000c0c000
-00c0c000c0c0000000c0c0ef0007c0c0000000c0c000f9c0030000c0c0eb
-0015c0c0000000c0c0000000c0c0c0000000c0c000c0c0c0fc00fcc0fd00
-fbc00a0000c0c0000000c0c00000fbc0f60009c0c0000000c0c000c0c0f5
-0011c0c000c0c0000000c0c000c0c0000000c0c0fa0002c0c000f9c0fc00
-01c0c0f400fcc0fd0007c0c00000c0c00000fac0f60008a6a600a6a6a600
-0000fba6010000faa6f10001c0c0f40001c0c0f400fbc0070000c0c000c0
-c0c0f10001c0c0f40001c0c0fa0001c0c0ec00fbc0070000c0c000c0c0c0
-f50011c0c00000c0c000c0c0000000c0c00000c0c0f10001c0c0f7000cc0
-c000c0c0000000c0c000c0c0f100fbc0070000c0c000c0c0c08e00e80011
-c0c0000000c0c00000c0c00000c0c0000000fcc0fd0004c0c000c0c0ee00
-14c0c0000000c0c000c0c000c000c0c0000000c0c0c0ed0006c0c000c000
-c0c0fc0001c0c0fc0025c0c00000c0c00000c0c000c0c00000c0c0000000
-c0c000c0c0000000c0c000c0c0000000c0c0f600fac00000fac0fa0004c0
-c0000000fac0010000fbc0fa0006c0c00000c0c000fcc0fc0001c0c0f400
-0cc0c000c0c00000c0c00000c0c0fc0001c0c0f30012a6a60000a6a600a6
-a6000000a6a6000000a6a6f200fcc0f30001c0c0f5000ec0c0000000c0c0
-0000c0c0c000c0c0f500fcc0f30001c0c0fa0001c0c0ed000ec0c0000000
-c0c00000c0c00000c0c0f60013c0c00000c0c000c0c0000000c0c0000000
-c0c0c0f30001c0c0fa00fcc0fd00fbc0010000fac0f6000ec0c0000000c0
-c00000c0c0c000c0c08f00e8000fc0c0000000c0c00000c0c00000c0c000
-f8c0040000c0c0c0ed000ec0c0000000c0c000c0c0000000c0c0fb0001c0
-c0ee0006c0c000c000c0c0fc0001c0c0fc0021c0c00000c0c000c0c00000
-c0c00000c0c0000000c0c000c0c000c000c0c00000c0c0ee0001c0c0fa00
-01c0c0fc0001c0c0f80009c0c000c0c0000000c0c0fc000bc0c0000000c0
-c00000c0c0c0fc0001c0c0f4000cc0c00000c0c000c0c00000c0c0fc0001
-c0c0f30012a6a60000a6a600a6a6000000a6a6000000a6a6ef0001c0c0f4
-0001c0c0f5000ec0c0000000c0c00000c0c00000c0c0f20001c0c0f40001
-c0c0fa0001c0c0ed000ec0c0000000c0c00000c0c00000c0c0f6000dc0c0
-0000c0c000c0c0000000c0c0fb0001c0c0f40001c0c0f70011c0c000c0c0
-000000c0c000c0c0000000c0c0f7000ec0c0000000c0c00000c0c00000c0
-c08f00e80011c0c0000000c0c00000c0c00000c0c0000000fcc0fc00fdc0
-ed000ec0c0000000c0c000c0c0000000c0c0fa0001c0c0ef0006c0c000c0
-00c0c0fc0001c0c0fc0023c0c00000c0c000c0c00000c0c00000c0c00000
-00c0c000c0c000c000c0c0000000c0c0c0f00001c0c0fa0006c0c0000000
-c0c0f7000ec0c000c0c0000000c0c0000000c0c0fc0006c0c0000000c0c0
-fc0001c0c0f4000cc0c00000c0c000c0c00000c0c0fc0001c0c0f30012a6
-a60000a6a600a6a6000000a6a6000000a6a6ef0001c0c0f40001c0c0f500
-0ac0c0000000c0c00000c0c0ee0001c0c0f40001c0c0fa0001c0c0ed000e
-c0c0000000c0c00000c0c00000c0c0f6000dc0c00000c0c000c0c0000000
-c0c0fa0001c0c0f50001c0c0f70011c0c000c0c0000000c0c000c0c00000
-00c0c0f7000ac0c0000000c0c00000c0c08b00e8001cc0c0000000c0c000
-00c0c00000c0c00000c0c00000c0c0000000c0c0c0fa0001c0c0f40015c0
-c000c0c00000c0c0000000c0c000c0c0000000c0c0fc0001c0c0f500f9c0
-fc0001c0c0fc001dc0c00000c0c000c0c00000c0c00000c0c0000000c0c0
-00c0c000c000c0c0fb0001c0c0f10001c0c0fa0005c0c00000c0c0f6000d
-c0c000c0c0000000c0c00000c0c0fb0006c0c0000000c0c0fc0001c0c0f4
-000cc0c00000c0c000c0c00000c0c0fc0001c0c0f30012a6a60000a6a600
-a6a6000000a6a6000000a6a6ef0001c0c0f40001c0c0f5000ac0c0000000
-c0c00000c0c0ee0001c0c0f40001c0c0fa0001c0c0fa0001c0c0f5000ec0
-c0000000c0c00000c0c00000c0c0f60015c0c00000c0c000c0c0000000c0
-c000c0c0000000c0c0f50001c0c0f70011c0c000c0c0000000c0c000c0c0
-000000c0c0f7000ac0c0000000c0c00000c0c08b00e8000ec0c0000000c0
-c00000c0c00000c0c0f60004c0c000c0c0fb0001c0c0f300fdc0fd000ec0
-c0000000c0c000c0c0000000c0c0fc0001c0c0f500fdc00300c0c0c0fc00
-01c0c0fc0016c0c00000c0c000c0c00000c0c00000c0c0000000c0c000f9
-c00700c0c0000000c0c0f3000dc0c00000c0c0000000c0c000c0c0f6000d
-c0c00000c0c0000000c0c000c0c0fa0006c0c0000000c0c0fc0001c0c0f4
-000cc0c00000c0c000c0c00000c0c0fc0004c0c000c0c0f60015a6a60000
-a6a600a6a6000000a6a6000000a6a600a6a6f70006c0c0000000c0c0fc00
-01c0c0fa0001c0c0f5000ac0c0000000c0c00000c0c0f30006c0c0000000
-c0c0fc0001c0c0fa0001c0c0fa0001c0c0fa0001c0c0f5000ec0c0000000
-c0c00000c0c00000c0c0f60015c0c000c0c00000c0c0000000c0c000c0c0
-000000c0c0f4001bc0c0000000c0c0000000c0c000c0c0000000c0c000c0
-c0000000c0c0f7000ac0c0000000c0c00000c0c08b00e700fbc0fd0005c0
-c00000c0c0f70006c0c0000000c0c0fc0001c0c0f20000c0fc0008c0c000
-0000c0c00000fbc0fb0001c0c0f40004c0c000c0c0fc00fcc0fd000fc0c0
-0000c0c00000c0c0c000c0c00000fbc0fd0007c0c000c0c0000000fbc0f5
-00fcc0fc00fbc0020000c0f800fcc0fc00fbc0020000c0f90009c0c00000
-00c0c0000000fcc0f500fbc0fd00fdc00200c0c0fc00fdc0f50007a6a600
-00a6a60000fba6fb00fda6f500fbc0fb0001c0c0fc00fac0f600fbc00100
-00fcc0f300fbc0fb0001c0c0fc00fac0010000fac0fc0001c0c0f400fbc0
-fd0005c0c00000c0c0f700fbc0fc00fbc0fd00fbc0f20004c0c0000000fb
-c0fd00fbc0fd00fbc0f500fbc0010000fcc08c00c60001c0c0da0001c0c0
-80008000d20001c0c0800094008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000e800fdc0f80001c0c0f500fdc0e90001c0c0e100fdc0f500fbc0fd
-00fbc0f500fbc0f600f9c00f00c0c0000000c0c000c0c0000000c0c0e600
-fac00300c0c0c0b0000095f100fd95e400fd95d2000095f200fd95d20001
-9595e20001c0c0e300fdc08d00e70001c0c0f80001c0c0f40001c0c0e800
-01c0c0e10001c0c0f6000ec0c0000000c0c000c0c0000000c0c0f70006c0
-c0000000c0c0f60015c0c00000c0c000c0c0c000c0c0c000c0c0000000c0
-c0e600fac0030000c0c0b100019595f000019595e300019595d300019595
-f100019595d200019595e20001c0c0e20001c0c08d00e70001c0c0ea0001
-c0c0e70001c0c0e20001c0c0f6000ec0c0000000c0c000c0c0000000c0c0
-f90000c0fa0001c0c0f60006c0c0000000c000f9c0060000c0c000c0c0e5
-0009c000c0c000c00000c0c0b100019595f000019595e300019595d30001
-9595f100019595920001c0c08d00e70004c0c000c0c0fc00fdc0fc00fdc0
-0c00c0c00000c0c000c0c0000000fbc0070000c0c000c0c0c0fa0001c0c0
-f500fcc0fd0005c0c000c0c0c0fc00fcc0f6000ac0c0000000c0c00000c0
-c0f60001c0c0fb0001c0c0f50006c0c000c0000000f9c0010000fbc0e300
-01c0c0fc0007c0c000c0c0000000fbc0ed00fb951a000095950000959500
-009595009595950000959500959595000000fb9509000095950095959500
-00fa95f400fc95fd00fb950a0000959500000095950000fb95fb00019595
-fc00fb951200009595009595950000959595009595000000fb9509000095
-95009595950000fa95fd00fc95fa00019595f50008959500000095950000
-fb950a0000959500959595000000fb95fc00fd95fc00fb95070000959500
-959595f400fdc0fc00fbc0f500fcc0fa0001c0c0fc00fbc0fd00fbc09e00
-e700fdc00200c0c0fc0023c0c0000000c0c00000c0c0000000c0c0c000c0
-c000c0c0000000c0c00000c0c0c000c0c0fb0001c0c0f20011c0c0000000
-c0c00000c0c00000c0c000c0c0f6000cc0c0000000c0c0000000c0c0c0f9
-0001c0c0fb0001c0c0f400fcc0fd000cc0c000c000c0c0000000c0c0c0e2
-0001c0c0fc00fdc00a00c0c000c0c0000000c0c0ef003395950000009595
-009595000095950000009595950095950000959595009595009595000000
-959500009595000095950000009595f3001d959500959500009595000000
-959500959500000095950095950000009595fc0014959500000095950000
-009595000095950000959500f99514009595000000959500009595000095
-950000009595f800019595fb00019595f5001e9595000000959500959500
-0000959500009595950095950095950000009595fc001395950000009595
-00000095950000959500009595f4000bc0c0000000c0c0000000c0c0f300
-01c0c0fb0013c0c0000000c0c0000000c0c000c0c0000000c0c09f00e700
-05c0c00000c0c0fc0014c0c0000000c0c00000c0c0000000c0c00000c0c0
-00f9c0070000c0c00000c0c0fb0001c0c0f500fbc0fd000cc0c00000c0c0
-00c0c00000c0c0f60006c0c0000000c0c0fb0001c0c0fb0001c0c0fb0001
-c0c0f30013c0c000c0000000c0c0000000c0c0000000c0c0c0e20001c0c0
-fc0006c0c00000c0c000f9c0ef00019595fa001795950000959500000095
-9500009595000095950000959500f9950c00009595000095950000009595
-f400079595000095950000f99508009595000000959500f995fc001c9595
-000000959500000095950000959500009595009595009500959500f9950c
-00009595000095950000009595fb00fb95fb00019595f500079595000000
-959500f9950b000095950000959500009595f80013959500000095950000
-0095950000959500009595f40001c0c0fc0001c0c0f200fbc0fb0001c0c0
-fc0001c0c0fb0006c0c0000000c0c09f00e70005c0c00000c0c0fc0016c0
-c0000000c0c00000c0c0000000c0c00000c0c000c0c0f90001c0c0f70001
-c0c0f60015c0c00000c0c0000000c0c00000c0c000c0c00000c0c0f60006
-c0c0000000c0c0fa0006c0c0000000c0c0fb0001c0c0f20001c0c0fb0008
-c0c0000000c0c00000fbc0e30001c0c0fc0008c0c00000c0c000c0c0ea00
-019595fa000a9595000095950000009595fa00019595fb00019595f9000a
-9595000095950000009595f4000995950000959500009595fa0009959500
-00009595009595f7001e9595000000959500000095950000959500009595
-0095950095009595009595f9000a9595000095950000009595fc00059595
-00009595fb00019595f5000995950000009595009595f900019595f900fd
-95fa00139595000000959500000095950000959500009595f40001c0c0fb
-00fdc0f50005c0c00000c0c0fb0001c0c0fb00fdc0fd0006c0c0000000c0
-c09f00e70005c0c00000c0c0fc0016c0c0000000c0c00000c0c0000000c0
-c00000c0c000c0c0f90001c0c0f70001c0c0f60015c0c00000c0c0000000
-c0c00000c0c000c0c00000c0c0f60012c0c0000000c0c000c0c0000000c0
-c00000c0c0fb0001c0c0f10014c0c0000000c000c0c0000000c0c00000c0
-c000c0c0e30001c0c0fc0008c0c00000c0c000c0c0ea00019595fa000a95
-95000095950000009595fa00019595fb00019595f9000a95950000959500
-00009595f4000995950000959500009595fa000995950000009595009595
-f7001e959500000095950000009595000095950000959500959500950095
-95009595f9000a9595000095950000009595fc0005959500009595fb0001
-9595f5000995950000009595009595f900019595f700019595fb00139595
-000000959500000095950000959500009595f40001c0c0f90001c0c0f600
-05c0c00000c0c0fb0001c0c0f9000ac0c00000c0c0000000c0c09f00e700
-05c0c00000c0c0fc001fc0c0000000c0c00000c0c0000000c0c00000c0c0
-00c0c0000000c0c00000c0c0f80001c0c0f50015c0c00000c0c0000000c0
-c00000c0c000c0c00000c0c0f60011c0c0000000c0c000c0c0000000c0c0
-00c0c0fa0006c0c0000000c0c0f60015c0c00000c0c000c0c0000000c0c0
-00c0c0000000c0c0fc0001c0c0ea0001c0c0fc000dc0c00000c0c000c0c0
-000000c0c0ef001295950000009595009595000095950000009595fa0001
-9595fb00169595000000959500009595000095950000009595009595f700
-1e9595000095950000959500000095950000959500959500009595000000
-9595fc003a95950000009595000000959500009595000095950095950095
-009595009595000000959500009595000095950000009595009595009595
-00009595fb00019595f40011959500959500009595000000959500009595
-fb000695950000009595fc00139595000000959500000095950000959500
-009595f4000bc0c0000000c0c0000000c0c0f70005c0c00000c0c0fb0013
-c0c0000000c0c0000000c0c000c0c0000000c0c09f00e800fdc0060000c0
-c0000000fcc0fd00fbc00a0000c0c0c00000c0c00000fbc0010000fcc0fa
-0001c0c0f300fdc01200c0c00000c0c00000c0c00000c0c0c000c0c0f600
-fbc0fd00fbc0020000c0f900f9c0f700f9c00f00c0c0000000c0c000c0c0
-000000c0c0fc0001c0c0eb00fcc00a0000c0c0c00000c0c00000fbc0ed00
-fb95fd00fd950300959500fc95fc00fc95fb00fb95fd0005959500009595
-fc00fd95f500fd95040095950000fb95fc00fd95fc00fb95fc00fc95fd00
-fb95fd00fb950a0000959500000095950000fb95fd0005959500009595fc
-00fd95fd00fd9505009595000000fc95f400fd95fc00fb95010000fc95fb
-00fb95fc00fc95fd00fb95fd0005959500009595f500fcc0fd00fbc0f500
-fdc00500c0c0000000fcc0fd00fbc0fd00fbc09e00d40001c0c080008000
-c50001959580008000eb00d80005c0c00000c0c080008000c50001959580
-008000eb00d700fcc080008000c500fc9580008000ec0080008000800080
-0080008000800080008000800080008000800080008000cd0001c0c0fb00
-fdc0f500fdc0f900fdc0ea00fdc0e30000c0e90000c0f90001c0c0d500fa
-c0eb0000c0e90000c0ec0006c0c0000000c0c0c40001c0c0ed00fdc0f000
-00c0e90000c0e90000c08000bc00cd0001c0c0fa0001c0c0f40001c0c0f8
-0001c0c0eb0004c0c000c0c0e50001c0c0ea0001c0c0f90001c0c0d40005
-c0c00000c0c0ed0001c0c0ea0001c0c0ec00fdc00300c0c0c0c40001c0c0
-ec0001c0c0f10001c0c0ea0001c0c0ea0001c0c08000bc00c50001c0c0f4
-0001c0c0f80001c0c0eb0004c0c00000c0e50001c0c0ea0001c0c0cb0005
-c0c00000c0c0ed0001c0c0ea0001c0c0ec00f9c0ae0001c0c0f10001c0c0
-ea0001c0c0ea0001c0c08000bc00e700fcc0fd0008c0c0000000c0c00000
-fcc0fb00fdc0fa0001c0c0fc00fcc0fc00fcc0fa0001c0c0fc00fbc0f400
-01c0c0fb00fbc0070000c0c000c0c0c0f600fac0fd00fbc0fd00fbc00100
-00fac0fc00fdc0fd000ec0c000c0c0c0000000c0c0c000c0c0e60007c0c0
-0000c0c00000fbc0090000c0c000c0c0c00000fac0fd00fbc0f600fac0fd
-00fbc0f600f9c0010000fcc0fc00fbc0f500fcc0fd0008c0c000c0c0c000
-0000fbc0f400fdc0fd0005c0c000c0c0c0f500fcc0fc00fbc0010000fac0
-fd00fcc0f500fac0fd00fbc0fd00fbc0010000fac08000be00e4000ac0c0
-0000c0c0000000c0c0fb0001c0c0fb0001c0c0fa0001c0c0f90009c0c000
-0000c0c000c0c0fb000bc0c0000000c0c0000000c0c0f600fcc0fd000ec0
-c0000000c0c00000c0c0c000c0c0f50001c0c0fc0013c0c0000000c0c000
-c0c0000000c0c0000000c0c0f90001c0c0fc000cc0c00000c0c000c0c000
-00c0c0e500fbc0150000c0c0000000c0c00000c0c0c000c0c0000000c0c0
-fc0006c0c0000000c0c0f50001c0c0fc0006c0c0000000c0c0f70006c0c0
-00c000c0c0fb000ac0c00000c0c0000000c0c0f30012c0c0000000c0c0c0
-00c0c000c0c0000000c0c0f40001c0c0fc0005c0c00000c0c0f60012c0c0
-00c0c00000c0c0000000c0c0000000c0c0f80001c0c0f40001c0c0fc0013
-c0c0000000c0c000c0c0000000c0c0000000c0c08000bc00e700fbc00a00
-00c0c0000000c0c00000fbc0fb0001c0c0fa0001c0c0fc00fbc0fd0005c0
-c00000c0c0fc0004c0c0000000f9c0f50001c0c0fc000ec0c0000000c0c0
-0000c0c00000c0c0f50001c0c0fc00f9c0030000c0c0f90001c0c0f90001
-c0c0fc000cc0c00000c0c000c0c00000c0c0e50001c0c0fb0013c0c00000
-00c0c00000c0c00000c0c0000000c0c0fb0001c0c0f10001c0c0fc0006c0
-c0000000c0c0f70008c0c0000000c0c00000fbc0030000c0c0f100fbc0fd
-0006c0c00000c0c000f9c0f40001c0c0fc0005c0c00000c0c0f60006c0c0
-0000c0c000f9c0fd0001c0c0fb00fbc0f40001c0c0fc00f9c0030000c0c0
-f90001c0c08000bc00e80015c0c00000c0c00000c0c0000000c0c000c0c0
-0000c0c0fb0001c0c0fa0013c0c0000000c0c00000c0c0000000c0c00000
-c0c0fc0006c0c0000000c0c0f00001c0c0fc000ac0c0000000c0c00000c0
-c0f10001c0c0fc0001c0c0f800fdc0fb0001c0c0f90001c0c0fc000cc0c0
-0000c0c000c0c00000c0c0e50001c0c0fb000ac0c0000000c0c00000c0c0
-f90001c0c0fa00fdc0f30001c0c0fc0006c0c0000000c0c0f70011c0c000
-0000c0c000c0c00000c0c00000c0c0f2000ac0c00000c0c0000000c0c0fb
-0001c0c0ef0001c0c0fc0005c0c00000c0c0f60008c0c00000c0c000c0c0
-f80001c0c0fc0005c0c00000c0c0f40001c0c0fc0001c0c0f800fdc0fb00
-01c0c08000bc00e80015c0c00000c0c00000c0c0000000c0c000c0c00000
-c0c0fb0001c0c0fa0013c0c0000000c0c00000c0c0000000c0c00000c0c0
-fc0006c0c0000000c0c0f00001c0c0fc000ac0c0000000c0c00000c0c0f1
-0001c0c0fc0001c0c0f60001c0c0fc0001c0c0f90001c0c0fc000cc0c000
-00c0c000c0c00000c0c0e50001c0c0fb000ac0c0000000c0c00000c0c0f9
-0001c0c0f80001c0c0f40001c0c0fc0006c0c0000000c0c0f70011c0c000
-0000c0c000c0c00000c0c00000c0c0f2000ac0c00000c0c0000000c0c0fb
-0001c0c0ef0001c0c0fc0005c0c00000c0c0f60008c0c00000c0c000c0c0
-f80001c0c0fc0005c0c00000c0c0f40001c0c0fc0001c0c0f60001c0c0fc
-0001c0c08000bc00e80015c0c00000c0c0000000c0c000c0c00000c0c000
-00c0c0fb0001c0c0fa0013c0c0000000c0c00000c0c0000000c0c00000c0
-c0fc000bc0c0000000c0c0000000c0c0f50001c0c0fc000ac0c0000000c0
-c00000c0c0f1001cc0c000c0c000c0c0000000c0c000c0c0000000c0c000
-0000c0c000c0c0fc0001c0c0fc000cc0c00000c0c000c0c00000c0c0fb00
-01c0c0ec0001c0c0fb000ac0c0000000c0c00000c0c0f9000cc0c000c0c0
-00c0c0000000c0c0f5000cc0c000c0c000c0c0000000c0c0f70016c0c000
-0000c0c000c0c00000c0c00000c0c0000000c0c0f7000ac0c00000c0c000
-0000c0c0fb0006c0c0000000c0c0f40001c0c0fc0005c0c00000c0c0f600
-1cc0c00000c0c000c0c0000000c0c0000000c0c000c0c000c0c00000c0c0
-f4001cc0c000c0c000c0c0000000c0c000c0c0000000c0c0000000c0c000
-c0c0fc0001c0c08000c500e700fdc00800c0c0000000c0c0c0fc00fdc005
-00c0c0000000fcc0fc00fcc0fd00fdc00400c0c00000fbc0fc00fcc0fd00
-fbc0f500fcc0fc00fbc0010000fcc0f100fdc0fd00fbc0fd00fbc0fb00fd
-c0fc00fcc0fd0007c0c00000c0c00000fbc0fb0001c0c0ed00fcc0fb00fb
-c0010000fcc0f900fdc0fd00fbc0f300fdc0fd00fbc0f60010c0c0000000
-c0c00000c0c0c000c0c00000fbc0f500fdc00300c0c000fcc0fb00fbc0f4
-00fcc0fd0005c0c00000c0c0f600fbc0fd00fbc0fb00fdc0fd00fdc00200
-c0c0f400fdc0fd00fbc0fd00fbc0fb00fdc0fb0001c0c08000c5008000c4
-0001c0c0800080008000be008000c80005c0c00000c0c0800080008000be
-008000c700fcc0800080008000bd00800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-00800080008000800080008000800080008000800080008000c800066969
-000000696994000069f9000169698200fd69f300016969ea000069fc00fd
-69d100fd95fa00019595e500fd95f100fd95ca00016969fa00fd69f300fd
-69eb00016969fa000069fc00fd69c300c800fd6903006969699500016969
-f9000169698100016969f300016969eb00016969fb00016969d000019595
-fa00019595e400019595f000019595ca00016969f900016969f200016969
-eb00016969fb00016969fb00016969c300c800f96995000169698000f800
-016969dc00016969fb00016969d000019595dc00019595f000019595c100
-016969f200016969e400016969fb00016969c300d70005696900006969f7
-00f969010000fc69fd000e696900696969000069690000006969f7000869
-6900006969000000fb69fd00fb69070000696900696969f500fd690c0069
-6900696900006969000000fb69fd00fb69010000fa69fc00fd69fc00fb69
-0a0000696900696969000000fb69f500fc69fd0008696900696969000000
-fb69f500fc69fd0008696900696969000000fb690a000069690000006969
-0000fb690a0000696900696969000000fb69fc00fc69f400fd69fd000569
-6900696969f600fa69fd00076969006969000000fb69ed00fb9507000095
-9500959595fb00019595fb00fd95fd0008959500959595000000fb95f500
-079595009595000000fb95fb000a9595000000959500959595f600106969
-006969690000696900696969000000fb690e000069690000006969000000
-696969fb00fc69fd00fb69fc00fc69f6000f696900000069690000006969
-69000000fa69fd00046969006969c600d600fc69f6000669690069006969
-fb001269690000006969000069690069690000006969f7001e6969000069
-6900006969000000696900696900000069690000696969006969f7002369
-690000696900006969000069690000696900000069690069690000006969
-0000006969f9001b69690000006969000000696900006969000069690069
-690000006969f3001269690000006969690069690069690000006969f300
-396969000000696900006969006969000000696900696900000069690069
-6900000069690000696969006969006969000000696900006969006969f3
-00016969fc0005696900006969f500016969fb00fd690a00696900696900
-00006969ef000e959500000095950000959500009595fc00019595fa0001
-9595fc000d9595000095950095950000009595f600fd950a009595009595
-0000009595fc00019595fc0005959500009595f6001d6969000069690000
-69696900696900696900000069690069690000006969fc00016969fc0014
-696900696900006969000000696900006969006969f60006696900000069
-69fc00016969fb00016969fb00fd6902006969c700d800f869f800086969
-00000069690000fb69fd000d6969000069690069690000006969f7000a69
-69000069690000006969fb00f969070000696900006969f7000f69690000
-696900006969000069690000f9690300006969f900016969f90017696900
-000069690000006969000069690000696900006969f200fb69fd00066969
-0000696900f969f600fb69fd000969690000696900006969fb0007696900
-6900696900f96908000069690000696900f9690600696900006969f30001
-6969fc0005696900006969f500016969fb000669690000696900f969ef00
-0e959500000095950000959500009595fc00019595fa00019595fc000695
-950000959500f995f6000695950000959500f995fc00019595fc00059595
-00009595f6001d6969000069690000696900006969006969000000696900
-69690000006969fc000c69690000006969000069690000f9690600696900
-006969f6000669690069006969fc00016969fb00016969fb000569690000
-6969c700d600fc69f6001e69690000006969006969000069690000006969
-000069690069690000006969f70005696900006969fc00fd69fd00016969
-f900016969f30011696900006969000069690000696900006969f800fd69
-fb00016969f9001969690000006969000000696900006969000069690000
-00696969f5000a6969000069690000006969fb00016969f2002169690000
-696900000069690000696900000069696900000069690069006969006969
-f900016969fb00016969fa0005696900006969f300016969fc0005696900
-006969f500016969fb0008696900006969006969ea000e95950000009595
-0000959500009595fc00019595fa00019595fc0008959500009595009595
-f10008959500009595009595f700019595fc0005959500009595f6000969
-690000696900006969fb000e696900000069690069690000006969fc000e
-696900000069690000696900006969fa0005696900006969f60006696900
-69006969fc00016969fb00016969fb0005696900006969c700d700056969
-00006969f7001e6969000000696900696900006969000000696900006969
-0069690000006969f70005696900006969fa0005696900006969f9000169
-69f30011696900006969000069690000696900006969f600016969fc0001
-6969f900136969000000696900000069690000696900006969fb00016969
-f6000a6969000069690000006969fb00016969f2000e6969000069690000
-00696900006969fb000d6969000069690069006969006969f900016969fb
-00016969fa0005696900006969f300016969fc0005696900006969f50001
-6969fb0008696900006969006969ea000e95950000009595000095950000
-9595fc00019595fa00019595fc0008959500009595009595f10008959500
-009595009595f700019595fc0005959500009595f6000969690000696900
-006969fb000e696900000069690069690000006969fc000e696900000069
-690000696900006969fa0005696900006969f6000669690069006969fc00
-016969fb00016969fb0005696900006969c700c8001e6969000000696900
-6969000069690000006969000069690069690000006969f7001a69690000
-6969000069690000006969006969000000696900006969f3002669690000
-696900006969000069690000696900000069690069690000006969000000
-6969006969fc001b69690000006969000000696900006969000069690069
-690000006969f7000a6969000069690000006969fb000669690000006969
-f70017696900006969000000696900006969006969000000696900f9690b
-006969000000696900006969fb000d6969000000696900696900006969f3
-00016969fc0005696900006969f500146969006969000069690000696900
-69690000006969ef000e959500000095950000959500009595fc00019595
-fa00019595fc000d9595000095950095950000009595f6000d9595000095
-950095950000009595fc00019595fc0005959500009595f6000969690000
-696900006969fb000d6969000000696900006969006969fb001a69690000
-0069690000696900006969000000696900696900006969f600f969fc0001
-6969fb000c69690069690000696900006969c700c8001869690000006969
-000069696900696900006969000069690000fa69f600fd69040069690000
-fb69fd00fb69010000fc69f300fb69fd00fd69040069690000fb69fd00fb
-69fb00fd69fc00fc69fd00fb69fd00076969000069690000fb69f500fd69
-0300696900fc69fb00fb69f500fd690c00696900006969000069690000fb
-69fd00076969006969000000fb69010000fc69fb00fb69fd00fd69020069
-69f500fc69fd0005696900006969f400fd690a0000696969000069690000
-fb69ed00fb95fd0008959500009595000000fc95fc00fc95fd0007959500
-0095950000fb95f600fd9505000095950000fb95fc00fc95fd00fb95f500
-fb69010000fc69fb00fb69fc00fd69fb00fc69fd00fd69040069690000fb
-69fd00fd6902006969f600046969006969fc00fc69fb00fd690800006969
-6900006969c700ab00016969cb0001696980008000bd00019595f2000169
-698000e300ac00016969ca0001696980008000bd00019595f20001696980
-00e300b000fb69ca00fc6980008000bf00fc95f400fc698000e400800080
-00800080008000800080008000800080008000c600016969f20001696980
-0080008000cc00c800fc69d400fa69d3000069fc00fd69e900016969fb00
-fb69fc00016969f400fd69e0000069e900fd69fb00016969f200fd69f300
-0069fc00fd69f800016969ed00fd69f100fd6980008000f500c700016969
-d20005696900006969d500016969fb00016969e900016969fc000b696900
-000069690000006969f300016969e100016969ea00046969006969fc0001
-6969f100016969f400016969fb00016969f800016969ec00016969f00001
-696980008000f500c700016969d20005696900006969d500016969fb0001
-6969ea00016969fb000a6969000000696900006969f200016969e1000169
-69ea00046969000069eb00016969f400016969fb00016969e200016969f0
-0001696980008000f500c700016969fb0016696900000069690069690069
-6969000069690000006969ee000f69690000696900696900696969000000
-fb69fd00fb69fd00fb69f600fa69fd00076969006969000000fb69ea0001
-6969ed00076969000069690000fb6908000069690000006969f700fa69fd
-00fb69f400016969fa00fd69fd0005696900696969fc00fc69f600fa69fd
-00046969006969fc00fd69fc00fb69f500076969006969000000fb69fb00
-0a696900000069690069696980008000fe00c700016969fb001569690000
-006969000069690000696900006969006969ed00fb69fd00fd691a006969
-006969000000696900696900000069690069690000006969f500016969fb
-00fd690a0069690069690000006969ec00016969ec001569690069690000
-696900000069690069690000006969f500016969fc000669690000006969
-f600fc69fa00016969fc000c69690000696900006969006969f400016969
-fb00fd6902006969fc000b696900000069690000006969f600fd690a0069
-690069690000006969fc00016969fc000569690000696980008000ff00c7
-00016969fb0014696900000069690000696900006969000000696969ec00
-016969fa000669690000696900f9690300006969fa00016969f100016969
-fb000669690000696900f969ec00016969ec00fc69fd00f9690700696900
-00006969f500016969fc000669690000006969f500016969f900016969fc
-000c69690000696900696900006969f400016969fb0005696900006969fc
-00016969fc00016969f2000669690000696900f969fc00016969fc000569
-690000696980008000ff00c700016969fb00146969000000696900006969
-00006969000000696969ec00016969fa00016969fb00016969f800fd69fb
-00fd69f300016969fb0008696900006969006969e700016969ec00fc69fd
-00016969fa000669690000006969f500016969fc000669690000006969f5
-00016969f900016969fc000c69690000696900696900006969f400016969
-fb0005696900006969fc00016969fb00fd69f40008696900006969006969
-f700016969fc000569690000696980008000ff00c7001b69690000006900
-696900000069690000696900006969000000696969ec00016969fa000169
-69fb00016969f600016969fa00016969f400016969fb0008696900006969
-006969d10008696900696900006969fa000669690000006969f500016969
-fc000669690000006969f500016969f900016969fc000c69690000696900
-696900006969f400016969fb0005696900006969fc00016969f900016969
-f50008696900006969006969f700016969fc000569690000696980008000
-ff00c7001c69690000696900696900000069690000696900006969000069
-69006969fb00016969f400016969fa00016969fb00166969000000696900
-696900000069690069690000006969f50014696900696900006969000069
-690069690000006969ec00016969ec001569690000696900696900000069
-690069690000006969f5000c69690069690069690000006969f500016969
-f900016969fc000c69690000696900696900006969f4000c696900696900
-00696900006969fc000b696900000069690000006969f6000d6969000069
-690069690000006969fc00016969fc0005696900006969fc000169698000
-8500c800f969010000fa690f00006969000069690069690000006969fc00
-016969f500fc69fc00fc69fb00fb69fd00fb69fd00fb69f300fd690a0000
-696969000069690000fb69eb00016969ed00fd6905000069690000fb69fd
-00fa69f400fd69fd00fb69f500fc69fb00fc69fd000d6969000069690000
-696969006969f400fd690b000069696900006969000000fc69fd00fb69f6
-00fd6905000069690000fb69fc00fc69fd00fb69fb0001696980008500bb
-000169698000da000169698000f60001696980008000fb00bc0001696980
-00da000169698000f50001696980008000fb00c000fb698000dd00fb6980
-00f500fc6980008000fc0080008000800080008000800080008000800080
-0080008000800080008000c600fc69fb00fd6983000069e900016969e200
-fd69fb00016969fa00fd69fb00fd69fb00016969eb00fd69fa000069e100
-016969fa000069fc00fd69f300fc698900016969fa000069e90000699400
-c500016969fb000469690069698500016969e900016969e100016969fb00
-016969fb000c69690069690000006969006969fc00016969ea00016969fb
-00016969e100016969fb00016969fb00016969f2000169698800016969fb
-00016969ea000169699400c500016969fb000469690000698500016969c8
-00016969f4000c69690000690000006969000069e400016969fb00016969
-da00016969fb00016969f2000169698100016969ea000169699400d70005
-696900006969f400016969fb00016969f40008696900000069690000fb69
-070000696900006969f500fc69fd0008696900696969000000fb69f500fb
-690a0000696900696969000000fb69fd00fb691100006969000069690000
-6969006969690000fa69fd00fb69070000696900696969fc00fd69fd000e
-696900696969000000696969006969f500fc69fc00fd69fb00016969fa00
-016969fa00fd69fc00fb69070000696900006969fb00046969000000fa69
-08000069690000006969f7000f69690000006969000000696969000000fa
-69fd00046969006969f500016969fb001669690000006969006969006969
-69000069690000006969f70008696900000069690000fb69070000696900
-006969f600fd6905006969000000fc69fd000669690000006969f7000d69
-69000000696900696900696969fc00fd69fd00fa69fd00fb69f600fa69fd
-00fb699e00d600fc69f300016969fc00fc69f50015696900000069690069
-69000000696900696900006969f200126969000000696969006969006969
-0000006969f7003369690000006969000069690000696900696900000069
-690069690000006969006969000069690000006969000069690000006969
-fc000e696900000069690000696969006969fc00016969fc000c69690000
-696900696900006969f500046969006969fb00016969fc00fc69fc00fc69
-fa001269690000006969000000696900696900006969fb00016969fb0001
-6969fc000669690000006969f7000669690000006969fc00016969fb0001
-6969fb00fd6902006969f600016969fb0015696900000069690000696900
-00696900006969006969f600156969000000696900696900000069690069
-6900006969f600f969fb000a6969000069690000006969f7000e69690000
-0069690000696969006969fc00016969fb00016969fc0006696900000069
-69f500016969fc0006696900000069699f00d800f869f500016969fb0001
-6969f4001569690000006969006969000000696900696900006969f500fb
-69fd000669690000696900f969f700f9690a0000696900006969006969fa
-001b69690000006969006969000069690000006969000069690000006969
-fc00f969070000696900006969fc00016969fc000c696900006969006969
-00006969f60005696900006969fb00016969fb00016969fa00016969f900
-0669690000006969fa0005696900006969fb00016969fb00016969fc0006
-69690000006969f7000669690069006969fc00016969fb00016969fb0005
-696900006969f600016969fb001469690000006969000069690000696900
-0000696969f5001569690000006969006969000000696900696900006969
-f60008696900690069690000fb6908000069690000006969f7000e696900
-690069690000696900006969fc00016969fb00016969fc00f969f5000169
-69fc0006696900000069699f00d600fc69f300016969fb00016969f40015
-69690000006969006969000000696900696900006969f6000a6969000069
-690000006969fb00016969f200016969f90008696900006969006969fa00
-1b69690000006969006969000069690000006969000069690000006969fc
-00016969f900016969f800016969fc000c69690000696900696900006969
-f60005696900006969fb00016969fb00016969fa00016969f90006696900
-00006969fa0005696900006969fb00016969fb00016969fc000669690000
-006969f7000669690069006969fc00016969fb00016969fb000569690000
-6969f600016969fb00146969000000696900006969000069690000006969
-69f5001569690000006969006969000000696900696900006969f6001669
-69006900696900696900006969000069690000006969f7000a6969006900
-696900006969f800016969fb00016969fc00016969f000016969fc000669
-6900000069699f00d70005696900006969f400016969fb00016969f40015
-69690000006969006969000000696900696900006969f6000a6969000069
-690000006969fb00016969f200016969f90008696900006969006969fa00
-1b69690000006969006969000069690000006969000069690000006969fc
-00016969f900016969f800016969fc000c69690000696900696900006969
-f60005696900006969fb00016969fb00016969fa00016969f90006696900
-00006969fa0005696900006969fb00016969fb00016969fc000669690000
-006969f7000669690069006969fc00016969fb00016969fb000569690000
-6969f6001b69690000006900696900000069690000696900006969000000
-696969f5001569690000006969006969000000696900696900006969f600
-166969006900696900696900006969000069690000006969f7000a696900
-6900696900006969f800016969fb00016969fc00016969f000016969fc00
-06696900000069699f00c500016969fb00016969f4001569690000006969
-006969000000696900696900006969f6000a6969000069690000006969fb
-000669690000006969f70042696900000069690000696900006969006969
-000000696900696900000069690069690000696900000069690000696900
-00006969006969006969000000696900006969f800016969fc000c696900
-00696900696900006969f60005696900006969fb00016969fb00016969fa
-00016969f9001269690000006969000000696900696900006969fb000169
-69fb000c69690069690069690000006969f700f969fc00016969fb000c69
-690069690000696900006969f6001c696900006969006969000000696900
-0069690000696900006969006969f6001569690000006969006969000000
-696900696900006969f60016696900690069690069690000696900006969
-0000006969f700f9690300006969f800016969fb000c6969006969006969
-0000006969f5000c696900696900696900000069699f00c600fc69fd00fc
-69f400fa69010000fb69fd00fd6902006969f600fd690300696900fc69fb
-00fb69f500fb69fd00076969000069690000fb69fd00fb69fd00fd690a00
-69690000696900006969fc00fd69fd00fb69010000fc69fa00fc69fd0007
-6969000069690000fb69f500fd6905006969000000fc69fd00fc69fc00fc
-69fb00fc69fd00fb69fd00fd6905006969000000fc69fb00fd69fd00fa69
-f600046969006969fc00fc69fb00fd6908000069696900006969f700f969
-010000fa690f00006969000069690069690000006969f600fa69010000fb
-69fd00fd6902006969f700106969000000696900006969690069690000fa
-69f6000669690069690000fc69fa00fc69fb00fd69fd00fb69f300fd69fd
-00fb699e00ab000169698000eb00016969a900016969c200016969e20001
-6969d2000169698000d700ac000169698000ee0005696900006969aa0001
-6969c200016969e200016969d2000169698000d600b000fb698000ec00fc
-69ad00fb69c500fb69e500fb69d500fb698000d500800080008000800080
-008000800080008000800080008000800080008000c600fda6da00fda6db
-0001a6a6da0000a6e400fa69d300fd69f3000069f100016969fb00fd69f2
-00fd699600fd69e8000069f1000069fc00fd69eb00076969000000696900
-fa69010000fc69ec00fd699b00c50001a6a6d90001a6a6ed00fba6f30001
-a6a6db0001a6a6e30005696900006969d300016969f400016969f1000169
-69fa00016969f1000169699500016969e900016969f200016969fb000169
-69eb001269690000006969000069690000696900006969ea000169699b00
-c50001a6a6d90001a6a6ee0006a6a6000000a6a6cd0001a6a6e300056969
-00006969d300016969f400016969e900016969f1000169699500016969e9
-00016969f200016969fb00016969eb001269690000006969000069690000
-696900006969ea000169699b00c5001ba6a6000000a6a6000000a6a600a6
-a600a6a6a60000a6a6000000a6a6f500fca6fd00fba6120000a6a6000000
-a6a600a6a6000000a6a60000fba6fc00fda6fc00fda60200a6a6f70008a6
-a600a6a6a6000000fba6010000faa6e500076969000069690000fb69f500
-fc69fc00fb69f400fc69fd00fb69010000fa69fd00fc69fb00fd69fa0001
-6969fc00fb69fc00fc69f500fc69fc00fb69f60008696900000069690000
-fb69070000696900006969f500fb69fd00fc69fd0005696900696969f500
-fc69fc00fc69fc00fb690900006969000069690000fa69f600fa69fd0007
-6969006969000000fb69f600126969000000696900006969000069690000
-6969f300106969000000696900006969006969000000fb690a0000696900
-696969000000fb69b600c5001aa6a6000000a6a6000000a6a60000a6a600
-00a6a60000a6a600a6a6f50019a6a600a6a60000a6a6000000a6a600a6a6
-000000a6a600a6a600fca60700a6a6000000a6a6fc000aa6a6000000a6a6
-0000a6a6f50012a6a60000a6a600a6a6000000a6a6000000a6a6e300fb69
-08000069690000006969f3000a6969000069690000006969f60012696900
-69690000696900000069690000006969f800016969fb00016969fa001269
-690000006969000000696900006969006969f2000a696900006969000000
-6969f7001569690000006969006969000000696900696900006969f60006
-69690000006969fb000a6969000000696900006969f30019696900000069
-6900696900006969000000696900696900006969fc00016969f200016969
-fb00fd690a0069690069690000006969f70008696900000069690000fb69
-fd00016969f3002669690000006969000069696900696900696900000069
-6900006969690069690069690000006969b700c5001ca6a6000000a6a600
-0000a6a60000a6a60000a6a6000000a6a6a6000000f9a60800a6a60000a6
-a60000f9a60b00a6a6000000a6a600a6a600fca6030000a6a6f8000aa6a6
-000000a6a60000a6a6f50006a6a60000a6a600f9a6fd0001a6a6e3000669
-690000696900f969f600fb69fd00016969f300076969000069690000f969
-fd00016969fb00fb69fb00016969fa00046969000000f969060069690000
-6969f500fb69fd00016969f3001569690000006969006969000000696900
-696900006969f600016969f900fb69fd0005696900006969f600fb69fd00
-14696900006969006969000000696900696900006969fc00016969f20001
-6969fb000669690000696900f969f7001269690000006969000069690069
-690000006969f3000f69690069006969000069690000696900f969080000
-69690000696900f969b700c50019a6a6000000a6a6000000a6a60000a6a6
-0000a6a6000000a6a6a6f50009a6a60000a6a60000a6a6fa000aa6a60000
-00a6a600a6a600fca6fd00fda6fa000aa6a6000000a6a60000a6a6f50008
-a6a60000a6a600a6a6f80001a6a6e30008696900006969006969f2000569
-6900006969fc00fd69f5000969690000696900006969f800016969fc0005
-696900006969fb00016969fa000669690000006969fa0005696900006969
-f60005696900006969fc00fd69f500156969000000696900696900000069
-6900696900006969f600016969fa000e6969000069690000006969000069
-69f7001d6969000069690000006969000069690069690000006969006969
-00006969fc00016969f200016969fb0008696900006969006969f2001269
-690000006969000069690000696900006969f30011696900690069690000
-696900006969006969f900016969fb00016969b200c50019a6a6000000a6
-a6000000a6a60000a6a60000a6a6000000a6a6a6f50009a6a60000a6a600
-00a6a6fa000da6a6000000a6a600a6a600a6a6a6fa0001a6a6fb000aa6a6
-000000a6a60000a6a6f50008a6a60000a6a600a6a6f80001a6a6e3000869
-6900006969006969f20005696900006969fa00016969f600096969000069
-6900006969f800016969fc0005696900006969fb00016969fa0006696900
-00006969fa0005696900006969f60005696900006969fa00016969f60015
-69690000006969006969000000696900696900006969f600016969fa000e
-696900006969000000696900006969f7001d696900006969000000696900
-006969006969000000696900696900006969fc00016969f200016969fb00
-08696900006969006969f200166969000000696900006969000069690000
-696900000069f70011696900690069690000696900006969006969f90001
-6969fb00016969b200c5001aa6a6000000a6a6000000a6a60000a6a60000
-a6a60000a6a600a6a6f60019a6a60000a6a60000a6a6000000a6a60000a6
-a600a6a60000a6a6fa0006a6a6000000a6a6fc000aa6a6000000a6a60000
-a6a6fb0001a6a6fc0015a6a60000a6a600a6a6000000a6a6000000a6a600
-a6a6fc00016969ec000d6969000069690069690000006969f7000e696900
-006969000069690000006969f7001d696900006969000069690000006969
-000000696900696900696900006969fb00016969fa001269690000006969
-000000696900696900006969f6000e696900006969000069690000006969
-f7001569690000006969006969000000696900696900006969f600166969
-000000696900696900006969000000696900006969f7001d696900006969
-000000696900006969006969000000696900696900006969fc0004696900
-6969f50014696900696900006969000069690069690000006969f7001669
-69000000696900006969000069690000696900006969f700f96913000069
-6900006969006969000000696900006969fb000669690000006969b700c6
-00fca6fd00faa60f0000a6a60000a6a600a6a6000000a6a6f600fda60400
-a6a60000fba6fc00fda6fc00fba6fd00fba6fc00fca6fd00fba6fb0001a6
-a6fc0007a6a60000a6a60000fba6fb00fda6fb00016969ed00fa69fd00fb
-69f500fd69040069690000fb69f500fd69040069690000fb69fb00fd69fd
-00fd6905006969000000fc69fc00fc69fd00fb69fd00fd6902006969f600
-fd69040069690000fb69f500fa69010000fb69fd00fd6902006969f600fb
-69fd00fd690a0069690000696900006969f600fd69040069690000fb69fd
-00fb69fd00fd6902006969fc00fd69f300fd690a00006969690000696900
-00fb69f500fb690900006969690000696900f969f6000f69690069690000
-696969000069690000fb69010000fc69fb00fb69b600bb0001a6a6b30001
-a6a68000b10001696980008000e700bc0001a6a6b60005a6a60000a6a680
-00b20001696980008000e600c000fba6b400fca68000b500fb6980008000
-e50080008000800080008000800080008000800080008000800080008000
-80008000e5000069fc00fd69eb000669690000006969f700fd69eb00fd69
-c300fd69f000fd69f3000069e400fd69f900fd69dd00fd69f0000069d100
-fd69fb00016969fa00fd69e600fd69f0000069f400fc69a4008000e60001
-6969fb00016969eb000669690000006969f600016969ea00016969c20001
-6969ef00016969f400016969e300016969f800016969dc00016969f10001
-6969d000016969fb00016969f900016969e500016969f100016969f30001
-6969a3008000e600016969fb00016969eb000669690000006969f6000169
-69ea00016969c200016969ef00016969f400016969e300016969f8000169
-69dc00016969f100016969d000016969f200016969e500016969f1000169
-69f300016969a300c80008696900000069690000fb690700006969000069
-69f60008696900000069690000fb690a0000696900696969000000fb69f5
-00fb69070000696900696969f600fa69fd00076969006969000000fb69f6
-0008696900000069690000fb69fd00fc69f5001069690000006969000069
-69006969000000fb69070000696900696969f60008696900000069690000
-fb69070000696900006969f500076969006969000000fc69fb00fc69f600
-fa690a0000696900696969000000fb690a0000696900006969000000fc69
-fa00016969fc00fb69ee00106969000000696900006969006969000000fc
-69fd00fa69f60008696900000069690000fb69070000696900006969f400
-fc69fc00fd69fb00fc69ee00106969000000696900006969006969000000
-fc69fd00fa69f500016969fb001669690000006969006969006969690000
-69690000006969bf00c80015696900000069690069690000006969006969
-00006969f6001e6969000000696900696900000069690000696969006969
-0069690000006969f7000e696900000069690000696900006969f5000169
-69fb00fd690a0069690069690000006969f7001569690069006969006969
-000000696900006969006969f6001e696900000069690000696969006969
-00696900000069690000696900006969f700156969000000696900696900
-0000696900696900006969f500fd6902006969fb00096969000000696900
-6969f400016969fb00fd6919006969006969000000696900696900006969
-0000006969006969fb000b696900000069690000006969ef000e69690000
-0069690000696969006969fb00016969fc00016969f40015696900000069
-69006969000000696900696900006969f500046969006969fb00016969fc
-00046969006969ee000e696900000069690000696969006969fb00016969
-fc00016969f300016969fb00156969000000696900006969000069690000
-6969006969be00c800156969000000696900696900000069690069690000
-6969f600076969006900696900f96908000069690000696900f969f7000e
-696900000069690000696900006969f500016969fb000669690000696900
-f969f700076969006900696900f969070000696900006969f7000f696900
-69006969000069690000696900f969070000696900006969f70015696900
-00006969006969000000696900696900006969f500076969000069690000
-fb69070000696900006969f400016969fb001d6969000069690069690000
-00696900696900006969000000696900006969fc00046969000000f969ef
-00106969006900696900006969000069690000fb69fc00016969f4001569
-690000006969006969000000696900696900006969f60005696900006969
-fb000a6969000000696900006969ee001069690069006969000069690000
-69690000fb69fc00016969f300016969fb00146969000000696900006969
-00006969000000696969bd00c80015696900000069690069690000006969
-00696900006969f6000969690069006969006969f900016969fb00016969
-f2000e696900000069690000696900006969f500016969fb000869690000
-6969006969f2000969690069006969006969f90005696900006969f70011
-696900690069690000696900006969006969f90005696900006969f70015
-69690000006969006969000000696900696900006969f500146969000069
-69006969000069690000696900006969f400016969fb00016969fb001669
-69000000696900696900006969000000696900006969fc00066969000000
-6969ea001569690069006969000069690000696900696900006969fc0001
-6969f4001569690000006969006969000000696900696900006969f60005
-696900006969fb000a6969000000696900006969ee001569690069006969
-000069690000696900696900006969fc00016969f300016969fb00146969
-00000069690000696900006969000000696969bd00c80015696900000069
-69006969000000696900696900006969f6000969690069006969006969f9
-00016969fb00016969f2000e696900000069690000696900006969f50001
-6969fb0008696900006969006969f200f96902006969f900056969000069
-69f70011696900690069690000696900006969006969f900056969000069
-69f7001569690000006969006969000000696900696900006969f5001469
-6900006969006969000069690000696900006969f400016969fb00016969
-fb00166969000000696900696900006969000000696900006969fc000669
-690000006969f700016969f5001569690069006969000069690000696900
-696900006969fc00016969f4001569690000006969006969000000696900
-696900006969f60005696900006969fb000a6969000000696900006969fb
-00016969f5001569690069006969000069690000696900696900006969fc
-00016969f3001b6969000000690069690000006969000069690000696900
-0000696969bd00c800156969000000696900696900000069690069690000
-6969f600f9690b006969000000696900006969fb000669690000006969f7
-000e696900000069690000696900006969f5001469690069690000696900
-0069690069690000006969f700fd69130069696900696900000069690000
-696900006969f700f9691700006969000069690069690000006969000069
-6900006969f7001569690000006969006969000000696900696900006969
-f50014696900006969006969000069690000696900006969f40008696900
-696900006969fb0016696900000069690069690000696900000069690000
-6969fc000b696900000069690000006969fc00016969f500f9690e000069
-690000696900696900006969fc00046969006969f7001569690000006969
-006969000000696900696900006969f60005696900006969fb000a696900
-0000696900006969fb00016969f500f9690e000069690000696900696900
-006969fc00046969006969f6001c69690000696900696900000069690000
-69690000696900006969006969be00c700fa69010000fb69fd00fd690200
-6969f600076969006969000000fb69010000fc69fb00fb69f500fb69fd00
-05696900006969f400fd690a0000696969000069690000fb69f500076969
-006969000000fb69fd00fb69f5000f696900696900006969690000696900
-00fb69fd0005696900006969f600fa69010000fb69fd00fd6902006969f7
-00fd69130000696900006969690069690000696969006969f400fd690100
-00fc69fb00fb69fd00fd69040069690000fb69fc00fc69fd00fb69fb0001
-6969f4001569690069690000696969000069690000696969006969fc00fd
-69f500fa69010000fb69fd00fd6902006969f600fd6905006969000000fc
-69fd00fd6902006969fc00016969f4001569690069690000696969000069
-690000696969006969fc00fd69f600f969010000fa690f00006969000069
-690069690000006969bf00c3000169698000ba000169698d00016969c700
-016969cd00016969bf00016969af00c4000169698000ba000169698000d2
-000169698a00016969ae00c800fb698000bd00fb698000d500fb698d00fb
-69ad00800080008000800080008000800080008000800080009600016969
-f200016969800080008000fc00a500016969c500fd69d700016969fb0000
-69e200016969f200016969f400fd69e900016969d900fd69ee00fd69f000
-0069f300fb69fd00fb69d600fd69c900fc69fb00fd698000fe00a5000169
-69c400016969d800016969fb00016969e200016969f200016969f3000169
-69e800016969d900016969ed00016969f100016969f4000e696900000069
-690069690000006969d600016969c800016969fb000469690069698000ff
-008000e700016969d900016969fa00016969e300016969f200016969f200
-016969e700016969da00016969ed00016969f100016969f4000e69690000
-0069690069690000006969d600016969c800016969fb0004696900006980
-00ff00c80008696900000069690000fb690a0000696900696969000000fb
-69fc00fd69fc00fb69070000696900696969f60008696900000069690000
-fb69070000696900006969f500076969006969000000fc69fd0008696900
-000069690000fb69f400016969fc00fa6910000069690069696900006969
-0000006969ee00fa69ee00076969000069690000fb690800006969000000
-6969fb00016969ed00fc69fd0005696900696969fc00fc69f60010696900
-0000696900006969006969000000fc69fd00fa69f6000a69690000006969
-00006969f30008696900000069690000fb69070000696900006969f50007
-6969006969000000fc69fd0008696900000069690000fb69e300016969fb
-00016969f40008696900000069690000fb69070000696900006969f500fc
-69fd0008696900696969000000fb69be00c8001e69690000006969006969
-000000696900006969690069690069690000006969fc0013696900000069
-6900000069690000696900006969f7001569690000006969006969000000
-696900696900006969f500fd6902006969fb001269690000696900000069
-690069690000006969f500016969fa00016969fb00fd690a006969006969
-0000006969d6001569690069690000696900000069690069690000006969
-fb00016969ea0011696900000069690000696900006969006969f6000e69
-6900000069690000696969006969fb00016969fc00016969f4000c696900
-00006969000000696969f500156969000000696900696900000069690069
-6900006969f500fd6902006969fb00126969000069690000006969006969
-0000006969e400016969fc00fc69f5001569690000006969006969000000
-696900696900006969f20012696900000069696900696900696900000069
-69bf00c800076969000000696900f9690b000069690000696900006969f8
-00136969000000696900000069690000696900006969f700156969000000
-6969006969000000696900696900006969f500076969000069690000fb69
-0900006969000000696900f969f500016969fa00016969fb000d69690000
-69690069690000006969d600fc69fd00f969070069690000006969fb0001
-6969ed00fb69fd000c69690000696900696900006969f600106969006900
-696900006969000069690000fb69fc00016969f4000669690000006969fb
-00016969f6001569690000006969006969000000696900696900006969f5
-00076969000069690000fb690900006969000000696900f969e400016969
-fb00016969f4001569690000006969006969000000696900696900006969
-f500fb69fd000669690000696900f969bf00c80009696900000069690069
-69f900016969f900fd69fa00136969000000696900000069690000696900
-006969f7001569690000006969006969000000696900696900006969f500
-1869690000696900696900006969000069690000006969006969f0000169
-69fa00016969fb00016969fb000669690000006969ee00fa69ee00fc69fd
-00016969fa000669690000006969fb00016969ee00156969000069690000
-0069690000696900696900006969f6001569690069006969000069690000
-696900696900006969fc00016969f4000669690000006969fa00016969f7
-001569690000006969006969000000696900696900006969f50018696900
-00696900696900006969000069690000006969006969df00016969fb0001
-6969f4001569690000006969006969000000696900696900006969f6000a
-6969000069690000006969fb00016969ba00c80009696900000069690069
-69f900016969f700016969fb001369690000006969000000696900006969
-00006969f7001569690000006969006969000000696900696900006969f5
-001869690000696900696900006969000069690000006969006969f00001
-6969fa00016969fb00016969fb000669690000006969d600086969006969
-00006969fa000669690000006969fb00016969fb00016969f50015696900
-00696900000069690000696900696900006969f600156969006900696900
-0069690000696900696900006969fc00016969f4000e6969000000696900
-69690000006969f700156969000000696900696900000069690069690000
-6969f5001869690000696900696900006969000069690000006969006969
-df00016969fb00016969f400156969000000696900696900000069690069
-6900006969f6000a6969000069690000006969fb00016969ba00c7001169
-6900696900006969000000696900006969fb000669690000006969fc0013
-6969000000696900000069690000696900006969f7001569690000006969
-006969000000696900696900006969f5001d696900006969006969000069
-690000006969006969000069690000006969f400016969fb000869690069
-6900006969fb000669690000006969d60015696900006969006969000000
-69690069690000006969fc00016969fa00016969f5001569690000696900
-000069690000696900696900006969f600f9690e00006969000069690069
-6900006969fc00046969006969f7000e6969000000696900696900000069
-69f7001569690000006969006969000000696900696900006969f5001d69
-6900006969006969000069690000006969006969000069690000006969fc
-00016969ea00016969fb00016969f4001569690000006969006969000000
-696900696900006969f6000a6969000069690000006969fb000669690000
-006969bf00c600fd69fc00fb69010000fc69fb00fb69fc00fc69fd00fb69
-fd0005696900006969f600fa69010000fb69fd00fd6902006969f700fd69
-11000069690000696969006969000000696969fc00fb69f200016969fb00
-fd69010000fc69fb00fa69d700fd6905000069690000fb69fd00fa69fd00
-016969f900016969f400fd69120069690000696900006969000069696900
-6969f6001569690069690000696969000069690000696969006969fc00fd
-69f500fb69fd00fb69f500fa69010000fb69fd00fd6902006969f700fd69
-11000069690000696969006969000000696969fc00fb69fb00016969eb00
-fc69fd00fc69f400fa69010000fb69fd00fd6902006969f600fd69030069
-6900fc69fb00fb69be008300016969a200016969c200016969f500016969
-8f0001696992000169698f008400016969a200016969c200016969820001
-696992000169698e008800fb69a500fb69c500fb698500fb699500fb698d
-008000800080008000800080008000800080008000800080008000800080
-00b500016969c300fd69fa00fd69c3000169698b00fd69fb00fd69da00fd
-69f3000069c100fd698000ce00b500016969c200016969f900016969c300
-0169698a00016969fa00016969d900016969f400016969c0000169698000
-ce008000f500016969f9000169698000cb00016969fa00016969d9000169
-69f400016969c0000169698000ce00c80008696900006969000000fb69fc
-00fd69fd000e696900696969000000696969006969f600fc69fd00056969
-00696969f500fb69fb00016969fb00fc69fd00fb69070000696900696969
-f60008696900000069690000fb690a0000696900696969000000fb69fc00
-fd69fc00fb69070000696900696969ee0008696900000069690000fb6907
-0000696900006969f600fd6905006969000000fc69fd0006696900000069
-69f70008696900000069690000fb69fb00016969fa00016969f500086969
-00696969000000fb69fd00fb69fc00fc69f600fa69fd00fb69f600206969
-000069690000696900696969000000696969006969006969006969690000
-00fc69fb00fc69fd00fb698000d600c8000e696900006969000069690000
-006969fc00016969fc000c69690000696900696900006969f2000a696900
-0000696900006969f7000669690000006969fc00016969fc001569690069
-690000696900000069690000696969006969f7001e696900000069690069
-69000000696900006969690069690069690000006969fc00136969000000
-696900000069690000696900006969ef0015696900000069690069690000
-00696900696900006969f600f969fb000a6969000069690000006969f700
-0e696900000069690069690000006969fc00016969fa00016969f4001c69
-69000069690069690000006969006969000000696900006969006969f400
-016969fc000669690000006969f7001e6969000069690000006969000069
-6900696900006969000000696969006969fb001269690000006969006969
-0000696900000069698000d700c8000a6969000069690000006969f80001
-6969fc000c69690000696900696900006969f500fb69fd00056969000069
-69f7000669690000006969fc000c69690000006969000069690000f96907
-0000696900006969f700076969000000696900f9690b0000696900006969
-00006969f800136969000000696900000069690000696900006969ef0015
-69690000006969006969000000696900696900006969f600086969006900
-69690000fb6908000069690000006969f700076969006900696900f969fc
-00016969fa00016969f4000669690000696900f9690000f9690600696900
-006969f400016969fc000669690000006969f70020696900006969000000
-696900006969006969000069690000006969000069690000fb6909000069
-69000069690000f9698000d700c80005696900006969fc00fd69fa000169
-69fc000c69690000696900696900006969f6000e69690000696900000069
-6900006969f7000669690000006969fc000e696900000069690000696900
-006969f900016969f3000969690000006969006969f900016969f900fd69
-fa00136969000000696900000069690000696900006969ef001569690000
-006969006969000000696900696900006969f60016696900690069690069
-6900006969000069690000006969f7000969690069006969006969f70001
-6969fa00016969f40008696900006969006969fa00016969fa0005696900
-006969f400016969fc000669690000006969f7001a696900006969000000
-696900006969006969000069690000006969fb0011696900006969000069
-6900006969000069698000d200c80005696900006969fa00016969fb0001
-6969fc000c69690000696900696900006969f6000e696900006969000000
-696900006969f7000669690000006969fc000e6969000000696900006969
-00006969f900016969f3000969690000006969006969f900016969f70001
-6969fb00136969000000696900000069690000696900006969fc00016969
-f5001569690000006969006969000000696900696900006969f600166969
-006900696900696900006969000069690000006969f70009696900690069
-69006969f700016969fa00016969f40008696900006969006969fa000169
-69fa0005696900006969f400016969fc000669690000006969f7001a6969
-00006969000000696900006969006969000069690000006969fb00116969
-000069690000696900006969000069698000d200c8000e69690000696900
-0069690000006969fc00016969fc000c69690000696900696900006969f6
-000e696900006969000000696900006969f7000669690000006969fc0017
-696900000069690000696900006969000000696900006969f20011696900
-696900006969000000696900006969fb000669690000006969fc00136969
-000000696900000069690000696900006969fc00016969f5001569690000
-006969006969000000696900696900006969f60016696900690069690069
-6900006969000069690000006969f700f969070069690000006969fc0001
-6969fa00016969f4001c6969000069690069690000006969006969000000
-696900696900006969f4000c69690069690069690000006969f7001a6969
-00006969000000696900006969006969000069690000006969fb00166969
-000069690000696900006969000069690000006969fc000169698000dd00
-c700fd69040069690000fb69fc00fc69fd00076969000069690000fb69f5
-00fd690a0069690000696900006969f600fb69fc00fc69fd00fd69040069
-690000fb69010000fc69f200fd69fc00fb69010000fc69fb00fb69fc00fc
-69fd00fb69fd0005696900006969fc00016969f400fa69010000fb69fd00
-fd6902006969f700106969000000696900006969690069690000fa69f600
-076969006969000000fb69fc00fc69fc00fc69f500076969000069690000
-fb69fd00fb69fd00fd6902006969f400fd69fd00fb69f500fd6904006969
-0000fb69fd00fb69010000fc69fb00fd690c006969000069696900696900
-00fb69fb000169698000dd00a4000169698000f400016969ef00016969d2
-000169698600016969f7000169698000b600a800056969000069698000e2
-00016969d2000169698500016969fb00056969000069698000b600a700fc
-698000e500fb69d500fb698500fc69fb00fc698000b50080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-00800080008000800080008000d80080e280e280e280e2f8e2b000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-0080008000800080008000800080008000e80006c0c0000000c0c0f40001
-c0c0f20000c0f10001c0c0ea00fdc0f600fdc0e100fd95e200fd95e600fd
-95800080008000d300e800fdc00300c0c0c0f40001c0c0f30001c0c0f100
-01c0c0e90001c0c0f50001c0c0e000019595e100019595ed00fb95fd0001
-9595800080008000d300e800f9c0e50001c0c0d80001c0c0f50001c0c0e0
-00019595e100019595ee000a9595000000959500009595800080008000d3
-00e800f9c0010000fcc0fb00fdc0fd0007c0c000c0c0c00000fac0fd00fc
-c0fb00fdc0fd0008c0c000c0c0c0000000fbc0fc00fcc0f500fcc0fd0006
-c0c0000000c0c0ec001e9595000000959500000095950095950095959500
-0095950000009595000000fc95fd00fb9512000095950000009595009595
-00000095950000fc95fd0008959500959595000000fb950a000095950000
-0095950000fb95fd00fb95070000959500959595f500fb95100000959500
-95959500000095959500959580008000a700e80006c0c000c000c0c0fb00
-01c0c0fb0001c0c0fc000ac0c00000c0c0000000c0c0f80001c0c0fb0001
-c0c0fc0014c0c00000c0c000c0c0000000c0c00000c0c000c0c0f5000dc0
-c000c0c00000c0c0000000c0c0ec00379595000000959500000095950000
-959500009595000095950095950000009595009595000095950000009595
-009595000000959500959500fc9537000095950095950000009595950095
-950095950000009595009595000000959500959500000095950095950000
-0095950000959595009595f7001595950000009595000095959500959500
-95950000959580008000a600e80008c0c0000000c0c00000fbc0fb0001c0
-c0fc000ac0c00000c0c0000000c0c0fb00fbc0fb0001c0c0fc0006c0c000
-00c0c000f9c00600c0c00000c0c0f5000dc0c00000c0c000c0c0000000c0
-c0ec00249595000000959500000095950000959500009595000000959595
-0000009595000095950000f9950b009595000000959500959500fc952300
-009595000095950000959500009595009595000000959500959500950095
-9500009595fb00f995070000959500009595f70015959500000095950000
-9595000095950095950000959580008000a600e8000dc0c0000000c0c000
-c0c00000c0c0fb0001c0c0fc000ac0c00000c0c0000000c0c0fc0005c0c0
-0000c0c0fb0001c0c0fc0008c0c00000c0c000c0c0fa0005c0c00000c0c0
-f5000dc0c00000c0c000c0c0000000c0c0ec002695950000009595000000
-9595000095950000959500000095959500000095950000959500009595fa
-000a9595000000959500959500fc950b000095950000959500009595fb00
-199595000000959500959500950095950000009595950000009595f90001
-9595f3000a9595000000959500009595fb000595950000959580008000a6
-00e8000dc0c0000000c0c000c0c00000c0c0fb0001c0c0fc000ac0c00000
-c0c0000000c0c0fc0005c0c00000c0c0fb0001c0c0fc0008c0c00000c0c0
-00c0c0fa0005c0c00000c0c0f5000dc0c00000c0c000c0c0000000c0c0ec
-002695950000009595000000959500009595000095950000009595950000
-0095950000959500009595fa001a95950000009595009595009595950000
-0095950000959500009595fb000e959500000095950095950095009595fb
-0005959500009595f900019595f3000a9595000000959500009595fb0005
-95950000959580008000a600e8000dc0c0000000c0c000c0c00000c0c0fb
-0001c0c0fc0014c0c00000c0c0000000c0c000c0c000c0c00000c0c0fb00
-01c0c0fc0014c0c00000c0c000c0c0000000c0c000c0c00000c0c0f5000d
-c0c00000c0c000c0c0000000c0c0ec003695950000009595000000959500
-009595000095950000959500959500009595000095950000959500000095
-950000959500959500009595f9000995950000959500009595fb00079595
-000000959500f995130095950000009595009595000000959500009595f8
-000f95950000009595000000959500009595fb0005959500009595fb0001
-c0c080008000ad00e80011c0c0000000c0c00000c0c0c000c0c0000000fc
-c0fd0005c0c00000c0c0fc00fdc0fd00fdc00500c0c0000000fcc0fd0007
-c0c00000c0c00000fbc0fd00fdc00200c0c0f600fbc0fd00fac0ed00fc95
-fd00fa951900009595000095950095950000009595000095959500959500
-00fb95fc00fd95fc00fb95fd00fb95010000fc95fb00fb95fd0007959500
-9595000000fb95fd00fb95010000fc95f900019595fc00fb95010000fc95
-fb00fb95fb0001c0c080008000ad00830001c0c0e2000195958000fb0001
-959580008000a600840001c0c0e200019595800007000095950000959580
-008000a6008800fbc0e500fb958000fc00fc9580008000a5008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000801c801c801c801c801c801c801cee
-1c01e2e2f21c01e2e2a21c01e2e2f21c01e2e2aa1c01e2e2ea1c01e2e284
-1c011c1cfce2d31cfde2e61c06e2e21c1c1ce2e2b71cfde2d81c00e2ba1c
-01e2e2fb1cfbe2fc1c01e2e2f11cfde2e61cfde2f11cfde2e31c01e2e2f2
-1c01e2e2f11c00e2d91c01e2e2fa1c00e2ea1c01e2e2ea1c01e2e2f11c00
-e2d41cfde2eb1cfde2db1c061ce2e21c1ce2e2d31c01e2e2e61c06e2e21c
-1c1ce2e2b61c01e2e2d91c01e2e2ba1c01e2e2fc1c0be2e21c1c1ce2e21c
-1c1ce2e2f21c04e2e21ce2e2e61c01e2e2f01c01e2e2e31c01e2e2f21c01
-e2e2f21c01e2e2d91c01e2e2fb1c01e2e2ea1c01e2e2f71c01e2e2f51c01
-e2e2f21c01e2e2d31c01e2e2ea1c01e2e2db1c01e2e2fc1c00e2d31c01e2
-e2f31c01e2e2f51c06e2e21c1c1ce2e2b61c01e2e2d91c01e2e2bb1c01e2
-e2fb1c0ae2e21c1c1ce2e21c1ce2e2f11c04e2e21c1ce2e61c01e2e2f01c
-01e2e2e41c01e2e2f21c01e2e2f11c01e2e2d21c01e2e2eb1c01e2e2f71c
-01e2e2f51c01e2e2f11c01e2e2d31c01e2e2ea1c01e2e2db1c01e2e2f91c
-fbe2121c1ce2e2e21ce2e21c1ce2e2e21ce2e21c1c1cfce2fd1c05e2e21c
-e2e2e2fc1cfce2fd1cfbe2fb1c01e2e2f51c08e2e21c1c1ce2e21c1cfbe2
-fd1cfbe2f51cfce2fd1c10e2e21ce2e2e21c1ce2e21ce2e2e21c1c1cfbe2
-081c1ce2e21c1c1ce2e2f61c07e2e21c1ce2e21c1cfbe20a1c1ce2e21c1c
-1ce2e21c1cfbe2f61cfae2fd1cfbe2f61cfde2051ce2e21c1c1cfbe20a1c
-1ce2e21c1c1ce2e21c1cfbe2e21c01e2e2ec1c01e2e2fb1cfbe2071c1ce2
-e21ce2e2e2f51c07e2e21ce2e21c1c1cfbe2fb1c0ae2e21c1c1ce2e21ce2
-e2e2e51cfde2021ce2e2ef1cfae2fd1cfbe2f51cfde2091ce2e21ce2e21c
-1ce2e2fc1cfde2fd1cfae2e31c01e2e2e51cfae2fd1cfbe2f51cfde2041c
-e2e21c1cfbe2f51cfce2fc1cfce2fc1cfbe2fd1c05e2e21c1ce2e2df1c01
-e2e2fa1c07e2e21c1c1ce2e21cf9e2001cf9e2fb1c1ae2e21c1c1ce2e21c
-1ce2e21c1ce2e21ce2e21c1ce2e21c1c1ce2e2ef1c16e2e21c1c1ce2e21c
-e2e21c1c1ce2e21ce2e21c1c1ce2e2f31c22e2e21c1c1ce2e2e21ce2e21c
-1ce2e2e21ce2e21ce2e21c1c1ce2e21ce2e21c1c1ce2e2f61c1de2e21ce2
-e21c1ce2e21c1c1ce2e21ce2e21c1c1ce2e21ce2e21c1c1ce2e2f51c01e2
-e2fc1c06e2e21c1c1ce2e2f71cf9e2171ce2e21c1c1ce2e21ce2e21c1c1c
-e2e21ce2e21c1c1ce2e2e41c01e2e2ec1cfce2fd1c0ee2e21c1c1ce2e21c
-1ce2e2e21ce2e2f61cfde20a1ce2e21ce2e21c1c1ce2e2fc1c01e2e2fc1c
-05e2e21c1ce2e2e71c05e2e21c1ce2e2ec1c01e2e2fc1c06e2e21c1c1ce2
-e2f71c0de2e21c1ce2e21c1ce2e21c1ce2e2fb1c01e2e2fb1c01e2e2e21c
-01e2e2e21c01e2e2fc1c06e2e21c1c1ce2e2f71c0ee2e21c1ce2e21c1ce2
-e21c1c1ce2e2f61c04e2e21ce2e2fa1c11e2e21c1ce2e21c1c1ce2e21c1c
-e2e21ce2e2de1c01e2e2fa1c18e2e21c1c1ce2e21ce2e21ce21ce2e21ce2
-e21ce21ce2e21c1cfbe2fd1c11e2e21c1ce2e21ce2e21c1ce2e21c1c1ce2
-e2eb1c0ae2e21c1c1ce2e21c1ce2e2fb1cf9e2f61cfbe2fd1c1de2e21c1c
-e2e21c1ce2e21c1ce2e21ce2e21c1c1ce2e21ce2e21ce21ce2e2f61cfce2
-fd1cf9e20b1ce2e21c1c1ce2e21c1ce2e2f11c01e2e2fc1c06e2e21c1c1c
-e2e2f71c17e2e21ce21ce2e21ce2e21c1c1ce2e21ce2e21c1c1ce2e21cf9
-e2e41c01e2e2eb1c01e2e2fc1c0ee2e21c1c1ce2e21c1ce2e21c1ce2e2f6
-1c06e2e21c1ce2e21cf9e2fc1c01e2e2fc1c05e2e21c1ce2e2e71c05e2e2
-1c1ce2e2ec1c01e2e2fc1c06e2e21c1c1ce2e2f71c0de2e21c1ce2e21c1c
-e2e21c1ce2e2fb1c01e2e2fb1c01e2e2e31c01e2e2fb1cf9e2ed1c01e2e2
-fc1c06e2e21c1c1ce2e2f71c0ee2e21c1ce2e21c1ce2e21c1c1ce2e2f61c
-07e2e21c1ce2e21c1cfbe2031c1ce2e2f91cfce2dd1c01e2e2fa1c2de2e2
-1c1c1ce2e21ce2e21ce21ce2e21ce2e21ce21ce2e21ce2e21c1ce2e21c1c
-1ce2e21c1ce2e21ce2e21c1ce2e2fc1cfde2ed1c11e2e21c1c1ce2e21c1c
-1ce2e2e21c1c1ce2e2f21c0ae2e21c1ce2e21c1c1ce2e2fa1c01e2e2fb1c
-0ee2e21c1c1ce2e21ce2e21ce21ce2e2f61cfce2fd1c01e2e2fa1c0ce2e2
-1c1c1ce2e21c1c1ce2e2e2f31c01e2e2fc1c06e2e21c1c1ce2e2f71c19e2
-e21ce21ce2e21ce2e21c1c1ce2e21ce2e21c1c1ce2e21ce2e2df1c01e2e2
-eb1c01e2e2fc1c0ae2e21c1c1ce2e21c1ce2e2f21c08e2e21c1ce2e21ce2
-e2f71c01e2e2fc1c05e2e21c1ce2e2e71c05e2e21c1ce2e2ec1c01e2e2fc
-1c06e2e21c1c1ce2e2f71c0de2e21c1ce2e21c1ce2e21c1ce2e2fb1c01e2
-e2fb1c01e2e2e21c01e2e2e21c01e2e2fc1c06e2e21c1c1ce2e2f71c0ee2
-e21c1ce2e21c1ce2e21c1c1ce2e2f61c10e2e21c1ce2e21ce2e21c1ce2e2
-1c1ce2e2f91cfce2dd1c01e2e2fc1c2fe21ce2e21c1c1ce2e21ce2e21ce2
-1ce2e21ce2e21ce21ce2e21ce2e21c1ce2e21c1c1ce2e21c1ce2e21ce2e2
-1c1ce2e2fa1c01e2e2fb1c01e2e2f51c06e2e21c1c1ce2e2fb1c05e2e21c
-1ce2e2f21c0ae2e21c1ce2e21c1c1ce2e2fa1c01e2e2fb1c0ee2e21c1c1c
-e2e21ce2e21ce21ce2e2f61c08e2e21ce2e21c1ce2e2fa1c06e2e21c1c1c
-e2e2fb1c01e2e2f41c01e2e2fc1c06e2e21c1c1ce2e2f71c19e2e21ce21c
-e2e21ce2e21c1c1ce2e21ce2e21c1c1ce2e21ce2e2f71c01e2e2d31c01e2
-e2fc1c0ae2e21c1c1ce2e21c1ce2e2f21c08e2e21c1ce2e21ce2e2f71c01
-e2e2fc1c05e2e21c1ce2e2fc1c01e2e2ed1c05e2e21c1ce2e2ec1c01e2e2
-fc1c06e2e21c1c1ce2e2f71c0de2e21c1ce2e21c1ce2e21c1ce2e2fb1c01
-e2e2fb1c01e2e2f91c01e2e2ea1c01e2e2e31c01e2e2fc1c06e2e21c1c1c
-e2e2f71c0ee2e21c1ce2e21c1ce2e21c1c1ce2e2f61c10e2e21c1ce2e21c
-e2e21c1ce2e21c1ce2e2f91c04e2e21ce2e2de1c3e1ce2e21c1ce2e21ce2
-e21c1c1ce2e21ce2e21ce21ce2e21ce2e21ce21ce2e21ce2e21c1ce2e21c
-1c1ce2e21c1ce2e21ce2e21c1ce2e21c1ce2e21c1c1ce2e2fc1c01e2e2f5
-1c16e2e21c1c1ce2e21ce2e21c1c1ce2e21ce2e21c1c1ce2e2f71c0ae2e2
-1c1ce2e21c1c1ce2e2fa1c01e2e2fb1c07e2e21c1c1ce2e21cf9e2f61c1d
-e2e21c1ce2e21ce2e21c1c1ce2e21ce2e21c1c1ce2e21ce2e21c1c1ce2e2
-f51c0ce2e21ce2e21ce2e21c1c1ce2e2f71c1ee2e21ce21ce2e21ce2e21c
-1c1ce2e21c1ce2e21ce2e21c1ce2e21c1c1ce2e2fc1c01e2e2ea1c01e2e2
-eb1c01e2e2fc1c0ae2e21c1c1ce2e21c1ce2e2f21c0de2e21c1ce2e21ce2
-e21c1c1ce2e2fc1c01e2e2fc1c05e2e21c1ce2e2fc1c01e2e2ed1c05e2e2
-1c1ce2e2ec1c0ce2e21ce2e21ce2e21c1c1ce2e2f71c0de2e21c1ce2e21c
-1ce2e21c1ce2e2fb1c01e2e2fb1c04e2e21ce2e2fc1c01e2e2e91c01e2e2
-e41c0ce2e21ce2e21ce2e21c1c1ce2e2f71c0ee2e21c1ce2e21c1ce2e21c
-1c1ce2e2f61c1de2e21c1ce2e21ce2e21c1ce2e21c1ce2e21c1c1ce2e21c
-1ce2e21c1ce2e2fc1c01e2e2e51c011c1cfce2fd1cfbe22a1c1ce2e21c1c
-1ce2e21ce2e21c1c1ce2e21c1ce2e2e21ce2e21c1ce2e21c1ce2e21c1ce2
-e2e21ce2e21c1cfbe2ed1cfbe2fd1cfbe2fd1cfbe2f51cfde2031ce2e21c
-fce2fc1cfce2fb1cfbe2fd1c04e2e21ce2e2f61cfde2051c1ce2e21c1cfb
-e2fd1cfae2011c1cfbe2f31cfde2fd1cfbe2f61c08e2e21c1c1ce2e21c1c
-fbe2fc1cfde2fc1cfbe2fb1c01e2e2ea1c01e2e2ec1cfce2fc1cfbe2011c
-1cfce2f41cfde2051c1ce2e21c1cfbe2fc1cfce2fd1cfbe2fb1c01e2e2ec
-1cfbe2eb1cfde2fd1cfbe2f51cfbe2fd1cfde2051ce2e21c1c1cfce2fb1c
-fde2fb1c01e2e2e81c01e2e2e41cfde2fd1cfbe2f51cfbe2fd1cfbe2f51c
-fbe2fd1cfde2041ce2e21c1cfbe2081c1ce2e2e21c1ce2e2fc1c01e2e2e5
-1c801ccb1c01e2e2b51c01e2e29b1c01e2e2f91c01e2e2e81c01e2e2d21c
-01e2e2e41c01e2e2b01c01e2e2ae1c801ccc1c01e2e2801ccd1c01e2e2df
-1c01e2e2d21c01e2e2961c05e2e21c1ce2e2ae1c801cd01cfbe2801ccd1c
-fce2e11cfce2d41cfce2961cfce2ad1c801c801c801c801c801c80008000
-80008000800080008000800080008000ed0000c0d400fdc0d30006c0c000
-0000c0c0dc00fdc0f600fbc0da0000c0b400fac0fb0001c0c0f500fdc0f8
-0000c0f10000c0e900fdc0f400fdc0fb00fdc0d300fdc0fa0001c0c0f500
-fdc0eb00fcc0f100fdc0fb0000c0f10000c0d400fdc0eb00fdc0d300ee00
-fdc0d40001c0c0d30006c0c0000000c0c0db0001c0c0f50004c0c000c0c0
-dc0001c0c0b30005c0c00000c0c0fc0001c0c0f40001c0c0f90001c0c0f2
-0001c0c0ea0004c0c000c0c0f40001c0c0fa0001c0c0d20001c0c0fa0001
-c0c0f40001c0c0ea0001c0c0f10009c0c000c0c0000000c0c0f20001c0c0
-d30001c0c0ea0001c0c0d300ef0004c0c000c0c0d50001c0c0e00001c0c0
-f50006c0c0000000c0c0db0001c0c0f50005c0c00000c0c0dd0001c0c0b3
-0005c0c00000c0c0ee0001c0c0f90001c0c0f20001c0c0ea0004c0c00000
-c0f40001c0c0fa0001c0c0d20001c0c0ec0001c0c0f80001c0c0f40001c0
-c0f10009c0c00000c0000000c0c0f20001c0c0d30001c0c0ea0001c0c0d3
-00f00018c0c0000000c0c000c0c000c0c0c00000c0c000c0c0c0000000fb
-c0080000c0c0000000c0c0f60007c0c00000c0c00000fbc00a0000c0c000
-0000c0c00000fbc0fb0001c0c0f5000dc0c0000000c0c000c0c000c0c0c0
-f500fcc0fd0005c0c000c0c0c0fc00fcc0f50007c0c00000c0c00000fbc0
-0f0000c0c0000000c0c000c0c000c0c0c0f600fac0fd00fbc0f600fdc005
-00c0c0000000fbc00a0000c0c0000000c0c00000fbc0e5000bc0c00000c0
-c0000000c0c0c0fc00fdc00b00c0c00000c0c000c0c00000fac0f600fac0
-fd00fbc0f40001c0c0fb00fbc0fb0001c0c0fa0001c0c0fc00fbc0080000
-c0c0000000c0c0f600fcc0f20001c0c0fb00fdc0fd000ec0c000c0c0c000
-0000c0c00000c0c0fc0001c0c0f40001c0c0fa00fbc0fc0001c0c0fc00fa
-c0f600fac0fd00fbc0f500fdc00400c0c00000fbc0f500fcc0fc00fcc0fc
-00fbc0fd0005c0c00000c0c0d700f00026c0c0000000c0c00000c0c0c000
-c0c00000c0c0c000c0c000c0c0000000c0c000c0c0000000c0c0f6001dc0
-c000c0c00000c0c0000000c0c000c0c0000000c0c000c0c0000000c0c0ef
-000ec0c0000000c0c00000c0c00000c0c0f30011c0c0000000c0c00000c0
-c00000c0c000c0c0f5001dc0c00000c0c000c0c0000000c0c000c0c00000
-00c0c00000c0c00000c0c0f50001c0c0fc0006c0c0000000c0c0f700f9c0
-1700c0c0000000c0c000c0c0000000c0c000c0c0000000c0c0e600fbc0fb
-0018c0c0000000c0c00000c0c0000000c0c0c000c0c0000000c0c0f20001
-c0c0fc0006c0c0000000c0c0f600fcc0fd0006c0c0000000c0c0fc0001c0
-c0fa0013c0c0000000c0c0000000c0c000c0c0000000c0c0f30001c0c0f3
-0001c0c0fa0001c0c0fc000cc0c00000c0c00000c0c000c0c0ed0001c0c0
-fb0008c0c0000000c0c00000fcc0fb0001c0c0f20001c0c0fc0006c0c000
-0000c0c0f7000ec0c00000c0c00000c0c0000000c0c0f60004c0c000c0c0
-fa0011c0c00000c0c0000000c0c00000c0c000c0c0d600f000f9c01f0000
-c0c00000c0c00000c0c00000c0c000c0c0000000c0c000c0c000c000c0c0
-f600fcc0fd00f9c00b00c0c0000000c0c00000c0c0eb000ec0c0000000c0
-c00000c0c00000c0c0f600fbc0fd000cc0c00000c0c000c0c00000c0c0f5
-001dc0c00000c0c000c0c0000000c0c000c0c000c000c0c00000c0c00000
-c0c0f50001c0c0fc0006c0c0000000c0c0f70017c0c000c000c0c000c0c0
-000000c0c000c0c0000000c0c000f9c0e60004c0c000c0c0fb0018c0c000
-0000c0c00000c0c0000000c0c00000c0c0000000c0c0f20001c0c0fc0006
-c0c0000000c0c0f50001c0c0fc0006c0c0000000c0c0fc0001c0c0fa0013
-c0c0000000c0c0000000c0c000c0c000c000c0c0f600fbc0f30001c0c0fa
-0001c0c0fc0007c0c00000c0c00000fcc0ec0001c0c0fb00f9c0fd0001c0
-c0fa0001c0c0f20001c0c0fc0006c0c0000000c0c0f7000ec0c00000c0c0
-0000c0c0000000c0c0f60007c0c00000c0c00000fbc0030000c0c0f900fc
-c0d500f0000ac0c0000000c0c00000c0c0fa0001c0c0fb000ec0c0000000
-c0c000c0c000c000c0c0f600fcc0fd0001c0c0fa000cc0c0000000c0c000
-0000c0c0c0ed000ec0c0000000c0c00000c0c00000c0c0f70015c0c00000
-c0c0000000c0c00000c0c000c0c00000c0c0f5001dc0c00000c0c000c0c0
-000000c0c000c0c000c000c0c00000c0c00000c0c0f50001c0c0fc0006c0
-c0000000c0c0f70019c0c000c000c0c000c0c0000000c0c000c0c0000000
-c0c000c0c0e10005c0c00000c0c0fc0018c0c0000000c0c00000c0c00000
-00c0c00000c0c0000000c0c0f20001c0c0fc0006c0c0000000c0c0f50001
-c0c0fc0006c0c0000000c0c0fc0001c0c0fa0013c0c0000000c0c0000000
-c0c000c0c000c000c0c0f70005c0c00000c0c0f30001c0c0fa0001c0c0fc
-0007c0c00000c0c00000fcc0ec0001c0c0fb0001c0c0f80001c0c0fa0001
-c0c0f20001c0c0fc0006c0c0000000c0c0f7000ec0c00000c0c00000c0c0
-000000c0c0f60010c0c00000c0c000c0c00000c0c00000c0c0f900fcc0d5
-00f0000ac0c0000000c0c00000c0c0fa0001c0c0fb000ec0c0000000c0c0
-00c0c000c000c0c0f60008c0c000c0c00000c0c0fa0006c0c0000000c0c0
-fb0001c0c0fb0001c0c0f5000ec0c0000000c0c00000c0c00000c0c0f700
-15c0c00000c0c0000000c0c00000c0c000c0c00000c0c0f5001dc0c00000
-c0c000c0c0000000c0c000c0c000c000c0c00000c0c00000c0c0f50001c0
-c0fc0006c0c0000000c0c0f70019c0c000c000c0c000c0c0000000c0c000
-c0c0000000c0c000c0c0e10005c0c00000c0c0fc0018c0c0000000c0c000
-00c0c0000000c0c00000c0c0000000c0c0f20001c0c0fc0006c0c0000000
-c0c0f50001c0c0fc0006c0c0000000c0c0fc0001c0c0fa0013c0c0000000
-c0c0000000c0c000c0c000c000c0c0f70005c0c00000c0c0f30001c0c0fa
-0001c0c0fc000cc0c00000c0c00000c0c000c0c0fb0001c0c0f40008c0c0
-000000c000c0c0f80001c0c0fa0001c0c0f20001c0c0fc0006c0c0000000
-c0c0f7000ec0c00000c0c00000c0c0000000c0c0f60010c0c00000c0c000
-c0c00000c0c00000c0c0f90004c0c000c0c0d600f0000ac0c0000000c0c0
-0000c0c0fa0001c0c0fb0007c0c0000000c0c000f9c0f6001dc0c00000c0
-c000c0c0000000c0c000c0c0000000c0c000c0c0000000c0c0fc0001c0c0
-f5000ec0c0000000c0c00000c0c00000c0c0f70015c0c00000c0c0000000
-c0c00000c0c000c0c00000c0c0f5000ec0c000c0c00000c0c0000000c0c0
-00f9c0070000c0c00000c0c0f5000cc0c000c0c000c0c0000000c0c0f700
-1ec0c000c000c0c000c0c0000000c0c00000c0c000c0c00000c0c0000000
-c0c0fc0001c0c0ec0005c0c00000c0c0fc001bc0c0000000c0c00000c0c0
-000000c0c00000c0c0000000c0c000c0c0f5000cc0c000c0c000c0c00000
-00c0c0f50001c0c0fc0006c0c0000000c0c0fc0001c0c0fa000cc0c00000
-00c0c0000000c0c000f9c0f70005c0c00000c0c0f30001c0c0fa0001c0c0
-fc000dc0c00000c0c00000c0c00000c0c0fc0001c0c0f40012c0c00000c0
-c000c0c0000000c0c0000000c0c0fa0004c0c000c0c0f5000cc0c000c0c0
-00c0c0000000c0c0f7000ec0c00000c0c00000c0c0000000c0c0f6001dc0
-c00000c0c000c0c00000c0c00000c0c0000000c0c00000c0c00000c0c0fc
-0001c0c0dd00f00007c0c0000000c0c000fcc0fc00fcc0fb00fbc0fd0004
-c0c000c0c0f600fdc0050000c0c00000fbc0fd00fac0010000fbc0ed00fb
-c0fd00fbc0f500fdc01200c0c00000c0c00000c0c00000c0c0c000c0c0f7
-00fbc0fc00fbc0fd000dc0c000c0c0000000c0c00000c0c0f400fdc0fd00
-fbc0f60008c0c0000000c0c00000fbc0fc00fdc0fc00fbc0fb0001c0c0ed
-00fdc0060000c0c0000000fcc0fd00fbc0080000c0c0c00000c0c0fc00fd
-c0f300fdc0fd00fbc0f500fcc0fc00fbc0fc00fcc0fc00fcc0fd00fbc0fd
-0004c0c000c0c0f500fdc00200c0c0f500fcc0fc00fcc0fd0012c0c00000
-c0c000c0c0c00000c0c0000000c0c0f400f9c0010000fbc0fd00fcc0fa00
-fdc0f300fdc0fd00fbc0f500fbc0fd00fbc0f500fbc0fd00fdc00400c0c0
-0000fbc0080000c0c0c00000c0c0fc0001c0c0dd00ab0001c0c0de0001c0
-c08000c70001c0c08000920001c0c0a600ac0001c0c0dd0001c0c08000cb
-0005c0c00000c0c08000960005c0c00000c0c0a600b000fbc0dd00fcc080
-00cb00fcc080009400fcc0a5008000800080008000800080008000800080
-00800080008000800080008000f8000bc0c0000000c0c0000000c0c0f200
-fdc0ec00fbc0fc0001c0c0f10000c0f90001c0c0dd00fac0fc0001c0c0f1
-0001c0c0f20000c0f200fcc0fc0001c0c0ec000bc0c0000000c0c0000000
-c0c0f10001c0c0b400fbc0fc0001c0c0f10001c0c0fa0000c0bc00fdc0f1
-00fcc0fb00fdc0f400fdc0f20000c0f200fcc0f600fdc0f80001c0c0f200
-00c0da00fdc0fa0001c0c0f20000c0dc00f80006c0c0000000c0c0fc0001
-c0c0f20001c0c0ed0006c0c0000000c0c0fc0001c0c0f30001c0c0f90001
-c0c0dc0005c0c00000c0c0fc0001c0c0f20001c0c0f30001c0c0f30005c0
-c00000c0c0fc0001c0c0ed00fdc00300c0c0c0fc0001c0c0f20001c0c0b5
-0006c0c0000000c0c0fc0001c0c0f20001c0c0fb0001c0c0bb0001c0c0f1
-0001c0c0f80001c0c0f30001c0c0f30001c0c0f00001c0c0f50001c0c0f8
-0001c0c0f30001c0c0d90001c0c0fa0001c0c0f30001c0c0dc00f80006c0
-c0000000c0c0fb0001c0c0f30001c0c0ed0006c0c0000000c0c0fb0001c0
-c0f40001c0c0d30005c0c00000c0c0fb0001c0c0e40001c0c0f40001c0c0
-fc0000c0fb0001c0c0ee00f9c0fb0001c0c0a60006c0c0000000c0c0fb00
-01c0c0ec0001c0c0ee0000c0ce0001c0c0f10001c0c0f80001c0c0f30001
-c0c0f30001c0c0f00001c0c0f50001c0c0e90001c0c0d90001c0c0eb0001
-c0c0dc00f80006c0c0000000c0c0fb0004c0c0000000fbc0fb000ac0c000
-0000c0c000c0c0c0f60006c0c0000000c0c0fb000bc0c00000c0c000c0c0
-c00000fac0fc00fdc0fc00fbc00a0000c0c000c0c0c0000000fbc0f50005
-c0c00000c0c0fb0009c0c00000c0c000c0c0c0fc00fdc0fd0007c0c000c0
-c0c00000fac0f60001c0c0f60004c0c0000000fbc0f600f9c0fb0004c0c0
-000000fcc0fb00fdc0fd0005c0c000c0c0c0f500fbc0fd00fbc00a0000c0
-c000c0c0c0000000fbc0fd00fbc0070000c0c000c0c0c0f60006c0c00000
-00c0c0fb0009c0c00000c0c00000c0c0fc00fdc0fd00fac0f10003c0c000
-00fac0010000fbc0fd00fbc0fd00fcc0fd0008c0c000c0c0c0000000fbc0
-fd0004c0c000c0c0f40001c0c0fa00fcc0fd00fbc0fb0001c0c0fc00fbc0
-010000fac0fd00fbc0fa0004c0c0000000fac0060000c0c000c0c0fc00fd
-c0fc00fbc0010000fac0fd00fbc0100000c0c000c0c0c00000c0c0000000
-c0c0f40001c0c0fb00fdc0fc00fbc0010000fac0de00f800f9c0fb000ac0
-c00000c0c0000000c0c0fc0001c0c0fc0005c0c00000c0c0f70006c0c000
-0000c0c0fb000fc0c0000000c0c00000c0c0000000c0c0f9001bc0c00000
-00c0c0000000c0c00000c0c00000c0c000c0c0000000c0c0f600fbc0fa00
-0ac0c0000000c0c0c000c0c0fc0001c0c0fc000ac0c00000c0c0000000c0
-c0f40001c0c0f6000ac0c00000c0c0000000c0c0f70006c0c000c000c0c0
-fb0001c0c0fa0001c0c0fb0001c0c0fc0005c0c00000c0c0f7002ec0c000
-0000c0c000c0c0000000c0c00000c0c0c000c0c000c0c0000000c0c000c0
-c0000000c0c00000c0c00000c0c0f70006c0c0000000c0c0fb0009c0c000
-00c0c00000c0c0fb0001c0c0fb0001c0c0f00001c0c0f6000ec0c0000000
-c0c000c0c0000000c0c0fb001ac0c0000000c0c0c000c0c000c0c0000000
-c0c00000c0c0c000c0c0f50001c0c0fb000dc0c000c0c00000c0c0000000
-c0c0fc0010c0c0000000c0c0000000c0c0000000c0c0fc0006c0c0000000
-c0c0fb0001c0c0f500fdc00200c0c0fc0010c0c0000000c0c0000000c0c0
-000000c0c0fc0016c0c0000000c0c00000c0c0c000c0c000c0c0000000c0
-c0f40001c0c0fa0010c0c0000000c0c0000000c0c0000000c0c0dc00f800
-06c0c0000000c0c0fb0003c0c00000f9c0fc0001c0c0fc0005c0c00000c0
-c0f70006c0c0000000c0c0fb000fc0c0000000c0c00000c0c0000000c0c0
-f90017c0c0000000c0c0000000c0c00000c0c00000c0c00000c0c0f20001
-c0c0f7000ac0c0000000c0c00000c0c0fc0001c0c0fc000ac0c00000c0c0
-000000c0c0f40002c0c000fcc0fb000ac0c00000c0c0000000c0c0f70006
-c0c0000000c0c0fb0004c0c0000000fbc0fb0001c0c0fc0005c0c00000c0
-c0f60001c0c0fb0001c0c0f90006c0c00000c0c000f9c00000f9c0070000
-c0c00000c0c0f70006c0c0000000c0c0fb0009c0c00000c0c00000c0c0fb
-0001c0c0fb0001c0c0f10001c0c0f40001c0c0fb00f9c0010000fbc0fd00
-08c0c00000c0c000c0c0f90005c0c00000c0c0f50001c0c0fc0007c0c000
-00c0c00000f9c0fc0004c0c0000000f9c0fd0001c0c0fc00f9c0fb0001c0
-c0f50005c0c00000c0c0fc0001c0c0fc0001c0c0f90001c0c0fc0016c0c0
-000000c0c00000c0c00000c0c000c0c0000000c0c0f40001c0c0fa0001c0
-c0fc0001c0c0f90001c0c0dc00f80006c0c0000000c0c0fb0005c0c00000
-c0c0f70001c0c0fc0005c0c00000c0c0f70006c0c0000000c0c0fb000fc0
-c0000000c0c00000c0c0000000c0c0f90019c0c0000000c0c0000000c0c0
-0000c0c00000c0c0000000c0c0c0f40001c0c0f70006c0c0000000c0c0f8
-0001c0c0fc000ac0c00000c0c0000000c0c0f40006c0c0000000c0c0fb00
-0ac0c00000c0c0000000c0c0f70006c0c0000000c0c0fb0009c0c00000c0
-c00000c0c0fb0001c0c0fc0005c0c00000c0c0f500fdc0fd0001c0c0f900
-01c0c0fb0001c0c0fa0001c0c0f90005c0c00000c0c0f70006c0c0000000
-c0c0fb0009c0c00000c0c00000c0c0fb0001c0c0fb0001c0c0f20001c0c0
-fb00fac0fd00fdc0fd0001c0c0fa000ac0c00000c0c0000000c0c0fb0001
-c0c0f90005c0c00000c0c0f50001c0c0fc0009c0c00000c0c00000c0c0f7
-0006c0c0000000c0c0f80001c0c0fc0001c0c0f60004c0c0000000fac007
-0000c0c00000c0c0fc0001c0c0fb00fdc0fb0001c0c0fc000ac0c0000000
-c0c00000c0c0fb0006c0c0000000c0c0f40001c0c0fa0001c0c0fb00fdc0
-fb0001c0c0dc00f80006c0c0000000c0c0fb0005c0c00000c0c0f70001c0
-c0fc0005c0c00000c0c0f70006c0c0000000c0c0fb000fc0c0000000c0c0
-0000c0c0000000c0c0f90013c0c0000000c0c0000000c0c00000c0c00000
-c0c0fb0001c0c0f50001c0c0f70006c0c0000000c0c0f80001c0c0fc000a
-c0c00000c0c0000000c0c0f40006c0c0000000c0c0fb000ac0c00000c0c0
-000000c0c0f70006c0c0000000c0c0fb0009c0c00000c0c00000c0c0fb00
-01c0c0fc0005c0c00000c0c0f30005c0c00000c0c0f90001c0c0fb0001c0
-c0fa0001c0c0f90005c0c00000c0c0f70006c0c000c000c0c0fb0009c0c0
-0000c0c00000c0c0fb0001c0c0fb0001c0c0f30001c0c0ef0005c0c00000
-c0c0fa000ac0c00000c0c0000000c0c0fb0001c0c0f90005c0c00000c0c0
-f50001c0c0fc0009c0c00000c0c00000c0c0f70006c0c0000000c0c0f800
-01c0c0fc0001c0c0f60001c0c0f50005c0c00000c0c0fc0001c0c0f90001
-c0c0fc0001c0c0fc000ac0c0000000c0c00000c0c0fb0006c0c0000000c0
-c0f40001c0c0fa0001c0c0f90001c0c0fc0001c0c0dc00f80006c0c00000
-00c0c0fc000bc0c0000000c0c0000000c0c0fc0001c0c0fc0005c0c00000
-c0c0f70006c0c0000000c0c0fc0001c0c0fc000dc0c00000c0c0000000c0
-c000c0c0fc001bc0c0000000c0c0000000c0c00000c0c00000c0c000c0c0
-000000c0c0f60001c0c0f80001c0c0fc0001c0c0f80001c0c0fc000dc0c0
-0000c0c0000000c0c000c0c0f60005c0c00000c0c0fc000bc0c0000000c0
-c0000000c0c0f70006c0c0000000c0c0fc000ac0c0000000c0c00000c0c0
-fb0001c0c0fc0005c0c00000c0c0f70012c0c0000000c0c000c0c0000000
-c0c00000c0c0fb0016c0c0000000c0c000c0c0000000c0c00000c0c00000
-c0c0f70002c0c000fcc0fc000ac0c0000000c0c00000c0c0fb0001c0c0fb
-0004c0c000c0c0f70001c0c0f2001ac0c0000000c0c000c0c0000000c0c0
-00c0c00000c0c0000000c0c0fb000ec0c0000000c0c00000c0c00000c0c0
-f50001c0c0fc000ec0c00000c0c00000c0c0000000c0c0fc001bc0c00000
-00c0c0000000c0c0000000c0c000c0c000c0c0000000c0c0fb0001c0c0f5
-0005c0c00000c0c0fc001fc0c0000000c0c0000000c0c0000000c0c000c0
-c000c0c0000000c0c00000c0c0fb0006c0c0000000c0c0f40001c0c0fa00
-13c0c0000000c0c0000000c0c0000000c0c000c0c0df00f8000bc0c00000
-00c0c0000000c0c0fb00fbc0fc00fcc0fd00fbc0f500fbc0fc0001c0c0fb
-00fbc0fb00fdc0fc00fcc0fd00fbc0fd0007c0c00000c0c00000fbc0f600
-fcc0fa0001c0c0fc00fcc0fa00fcc0fd0005c0c00000c0c0fc00fdc0f400
-fdc00600c0000000c0c0fb00fbc0f6000bc0c0000000c0c0000000c0c0fb
-00fdc00500c0c0000000fcc0fd0005c0c00000c0c0f600fbc0fd00fbc001
-0000fcc0fb00fbc0fd00fbc0fd0005c0c00000c0c0f600fbc0fc0001c0c0
-fb00fdc00500c0c0000000fcc0fb00fdc0f60000c0f000fbc0fd00fbc0fd
-00fdc00300c0c000fcc0fb00fbc0080000c0c0c00000c0c0f500fcc0fd00
-fdc00400c0c00000fbc0fc00fcc0fd00fbc0fb00fdc0fd00fbc0fc00fcc0
-f600fdc0060000c0c0000000fcc0fd00fbc0fb00fdc0fd00fbc0010000fc
-c0fb00fac0f500fcc0fc00fcc0fd00fbc0fb00fdc0de00d70001c0c0e200
-01c0c08000870001c0c08000910001c0c0b700d70001c0c0e20001c0c080
-008700fdc08000930001c0c0b600d800fcc0e400fcc08000800080009c00
-fbc0b50080008000800080008000
-grestore
-showpage
-%%Trailer
-
-%%EndDocument
- @endspecial -30 43666 a
- currentpoint currentpoint translate 1 0.79 div 1 0.79 div scale neg
-exch neg exch translate
- -30 43666 a -30 45216 a
-SDict begin H.S end
- -30
-45216 a -30 45216 a
-SDict begin 18.2 H.A end
- -30 45216 a -30 45216 a
-SDict begin [ /View [/XYZ H.V] /Dest (4797) cvn H.B /DEST pdfmark end
- -30 45216
-a 2015 x FU(Y)-170 b(ou)387 b(may)g(w)-15 b(ant)386 b(to)i(specify)f(a)
-g(site)g(for)21562 47231 y
-SDict begin H.S end
- 21562 47231 a 21562 47231
-a
-SDict begin 18.2 H.A end
- 21562 47231 a 21562 47231 a
-SDict begin [ /View [/XYZ H.V] /Dest (4798) cvn H.B /DEST pdfmark end
- 21562 47231 a FP(lynx)g
-FU(to)h(open)f(to:)-30 49116 y
-SDict begin H.S end
- -30 49116 a -30 49116
-a
-SDict begin 14.56 H.A end
- -30 49116 a -30 49116 a
-SDict begin [ /View [/XYZ H.V] /Dest (4799) cvn H.B /DEST pdfmark end
- -30 49116 a -30 49116 a
-SDict begin H.S end
- -30
-49116 a -30 49116 a
-SDict begin 14.56 H.A end
- -30 49116 a -30 49116 a
-SDict begin [ /View [/XYZ H.V] /Dest (4800) cvn H.B /DEST pdfmark end
- -30 49116
-a 1276 x FJ(\045)1309 50392 y
-SDict begin H.S end
- 1309 50392 a 1309 50392
-a
-SDict begin 14.56 H.A end
- 1309 50392 a 1309 50392 a
-SDict begin [ /View [/XYZ H.V] /Dest (4801) cvn H.B /DEST pdfmark end
- 1309 50392 a FH(lynx)743
-b(http://www.slackware.com)-30 52110 y
-SDict begin H.S end
- -30 52110 a -30
-52110 a
-SDict begin 18.2 H.A end
- -30 52110 a -30 52110 a
-SDict begin [ /View [/XYZ H.V] /Dest (4802) cvn H.B /DEST pdfmark end
- -30 52110 a -30 52110
-a
-SDict begin H.S end
- -30 52110 a -30 52110 a
-SDict begin 18.2 H.A end
- -30 52110 a -30 52110 a
-SDict begin [ /View [/XYZ H.V] /Dest (4803) cvn H.B /DEST pdfmark end
- -30
-52110 a 1847 x FP(lynx)513 b FU(prints)g(the)g(command)g(k)-15
-b(e)-23 b(ys)512 b(and)h(what)g(the)-23 b(y)513 b(do)h(at)f(the)g
-(bottom)f(of)i(the)f(screen.)h(The)-30 55971 y(up)367
-b(and)g(do)-39 b(wn)367 b(arro)-39 b(w)368 b(k)-15 b(e)-23
-b(ys)366 b(mo)-23 b(v)g(e)366 b(around)h(the)g(document,)32939
-55971 y
-SDict begin H.S end
- 32939 55971 a 32939 55971 a
-SDict begin 18.2 H.A end
- 32939 55971 a 32939
-55971 a
-SDict begin [ /View [/XYZ H.V] /Dest (4804) cvn H.B /DEST pdfmark end
- 32939 55971 a Fv(Enter)f FU(selects)h(the)g(highlighted)-30
-57986 y(link,)333 b(and)g(the)7900 57986 y
-SDict begin H.S end
- 7900 57986
-a 7900 57986 a
-SDict begin 18.2 H.A end
- 7900 57986 a 7900 57986 a
-SDict begin [ /View [/XYZ H.V] /Dest (4805) cvn H.B /DEST pdfmark end
- 7900 57986 a
-Fv(left)929 b(arrow)333 b FU(goes)f(back)i(to)e(the)h(pre)-39
-b(vious)333 b(page.)g(T)-124 b(yping)41695 57986 y
-SDict begin H.S end
- 41695
-57986 a 41695 57986 a
-SDict begin 18.2 H.A end
- 41695 57986 a 41695 57986 a
-SDict begin [ /View [/XYZ H.V] /Dest (4806) cvn H.B /DEST pdfmark end
- 41695
-57986 a Fv(d)333 b FU(will)f(do)-39 b(wnload)-30 60001
-y(the)369 b(currently)g(selected)f(\002le.)i(The)19074
-60001 y
-SDict begin H.S end
- 19074 60001 a 19074 60001 a
-SDict begin 18.2 H.A end
- 19074 60001 a 19074
-60001 a
-SDict begin [ /View [/XYZ H.V] /Dest (4807) cvn H.B /DEST pdfmark end
- 19074 60001 a Fv(g)f FU(command)f(brings)g(up)h(the)g(Go)g
-(prompt,)g(where)g(you)g(can)-30 62015 y(gi)-39 b(v)-23
-b(e)2964 62015 y
-SDict begin H.S end
- 2964 62015 a 2964 62015 a
-SDict begin 18.2 H.A end
- 2964 62015
-a 2964 62015 a
-SDict begin [ /View [/XYZ H.V] /Dest (4808) cvn H.B /DEST pdfmark end
- 2964 62015 a FP(lynx)387 b FU(a)h(URL)f(to)g(open.)-30
-63126 y
-SDict begin H.S end
- -30 63126 a -30 63126 a
-SDict begin 18.2 H.A end
- -30 63126 a -30 63126
-a
-SDict begin [ /View [/XYZ H.V] /Dest (4809) cvn H.B /DEST pdfmark end
- -30 63126 a 1679 x FU(There)471 b(are)g(man)-23 b(y)470
-b(other)g(commands)g(in)22826 64805 y
-SDict begin H.S end
- 22826 64805 a 22826
-64805 a
-SDict begin 18.2 H.A end
- 22826 64805 a 22826 64805 a
-SDict begin [ /View [/XYZ H.V] /Dest (4810) cvn H.B /DEST pdfmark end
- 22826 64805 a FP(lynx)p
-FU(.)g(Y)-170 b(ou)470 b(can)h(either)f(consult)g(the)h(man)f(page,)h
-(or)-30 66820 y(type)3026 66820 y
-SDict begin H.S end
- 3026 66820 a 3026 66820
-a
-SDict begin 18.2 H.A end
- 3026 66820 a 3026 66820 a
-SDict begin [ /View [/XYZ H.V] /Dest (4811) cvn H.B /DEST pdfmark end
- 3026 66820 a Fv(h)387 b FU(to)h(get)f(the)g
-(help)g(screen)g(for)h(more)f(information.)-30 67930
-y
-SDict begin H.S end
- -30 67930 a -30 67930 a
-SDict begin 18.2 H.A end
- -30 67930 a -30 67930 a
-SDict begin [ /View [/XYZ H.V] /Dest (4812) cvn H.B /DEST pdfmark end
- -30
-67930 a Black 49451 73792 a FR(171)p Black eop end
-%%Page: 172 194
-TeXDict begin 172 193 bop -8000 -8000 a
-SDict begin /product where{pop product(Distiller)search{pop pop pop
-version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
-closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
-grestore}if}{pop}ifelse}{pop}ifelse}if end
- -8000 -8000 a
-Black 0 TeXcolorgray -30 -1237 a
-SDict begin H.S end
- -30 -1237 a 0 TeXcolorgray
-0 TeXcolorgray -30 -1237 a
-SDict begin H.R end
- -30 -1237 a -30 -1237 a
-SDict begin [ /View [/XYZ H.V] /Dest (page.172) cvn H.B /DEST pdfmark
-end
- -30
--1237 a Black -399 x FR(Chapter)387 b(13)g(Basic)g(Network)f(Commands)p
-Black -30 3861 a FF(links)-30 3884 y
-SDict begin H.S end
- -30 3884 a -30 3884
-a
-SDict begin 18.2 H.A end
- -30 3884 a -30 3884 a
-SDict begin [ /View [/XYZ H.V] /Dest (4815) cvn H.B /DEST pdfmark end
- -30 3884 a -30 4814 a
-SDict begin H.S end
- -30 4814
-a -30 4814 a
-SDict begin 18.2 H.A end
- -30 4814 a -30 4814 a
-SDict begin [ /View [/XYZ H.V] /Dest (4818) cvn H.B /DEST pdfmark end
- -30 4814 a 1991 x
-FU(Just)504 b(lik)-15 b(e)5700 6805 y
-SDict begin H.S end
- 5700 6805 a 5700
-6805 a
-SDict begin 18.2 H.A end
- 5700 6805 a 5700 6805 a
-SDict begin [ /View [/XYZ H.V] /Dest (4819) cvn H.B /DEST pdfmark end
- 5700 6805 a FP(lynx)p
-FU(,)9568 6805 y
-SDict begin H.S end
- 9568 6805 a 9568 6805 a
-SDict begin 18.2 H.A end
- 9568 6805 a
-9568 6805 a
-SDict begin [ /View [/XYZ H.V] /Dest (4820) cvn H.B /DEST pdfmark end
- 9568 6805 a FP(links)504 b FU(is)h(a)g(te)-23
-b(xtmode)503 b(web)i(bro)-39 b(wser)-62 b(,)505 b(where)g(you)g(do)f
-(all)h(the)g(na)-31 b(vig)-8 b(ation)-30 8820 y(using)504
-b(the)g(k)-15 b(e)-23 b(yboard.)504 b(Ho)-39 b(we)g(v)-23
-b(er)-62 b(,)505 b(when)g(you)f(press)g(the)32039 8820
-y
-SDict begin H.S end
- 32039 8820 a 32039 8820 a
-SDict begin 18.2 H.A end
- 32039 8820 a 32039 8820 a
-SDict begin [ /View [/XYZ H.V] /Dest (4821) cvn H.B /DEST pdfmark end
-
-32039 8820 a Fv(Esc)g FU(k)-15 b(e)-23 b(y)-101 b(,)504
-b(it)h(will)f(acti)-39 b(v)g(ate)504 b(a)h(v)-23 b(ery)-30
-10835 y(con)-62 b(v)-23 b(enient)411 b(pulldo)-39 b(wn)410
-b(menu)h(on)g(the)h(top)f(of)g(the)g(screen.)h(This)f(mak)-15
-b(es)411 b(it)g(v)-23 b(ery)411 b(easy)g(to)h(use,)-30
-12849 y(without)567 b(ha)-31 b(ving)567 b(to)h(learn)g(all)g(the)f(k)
--15 b(e)-23 b(yboard)567 b(shortcuts.)h(People)f(who)g(do)h(not)g(use)f
-(a)h(te)-23 b(xt)-30 14864 y(bro)-39 b(wser)387 b(e)-39
-b(v)-23 b(ery)388 b(day)f(will)g(appreciate)g(this)g(feature.)-30
-15974 y
-SDict begin H.S end
- -30 15974 a -30 15974 a
-SDict begin 18.2 H.A end
- -30 15974 a -30 15974
-a
-SDict begin [ /View [/XYZ H.V] /Dest (4822) cvn H.B /DEST pdfmark end
- -30 15974 a -30 15974 a
-SDict begin H.S end
- -30 15974 a -30 15974 a
-SDict begin 18.2 H.A end
- -30
-15974 a -30 15974 a
-SDict begin [ /View [/XYZ H.V] /Dest (4823) cvn H.B /DEST pdfmark end
- -30 15974 a 1680 x FP(links)488 b
-FU(seems)g(to)g(ha)-31 b(v)-23 b(e)488 b(better)h(support)e(for)i(both)
-f(frames)g(and)g(tables,)h(when)f(compared)g(to)-30 19668
-y
-SDict begin H.S end
- -30 19668 a -30 19668 a
-SDict begin 18.2 H.A end
- -30 19668 a -30 19668 a
-SDict begin [ /View [/XYZ H.V] /Dest (4824) cvn H.B /DEST pdfmark end
- -30
-19668 a FP(lynx)p FU(.)-30 19863 y
-SDict begin H.S end
- -30 19863 a -30 19863
-a
-SDict begin 18.2 H.A end
- -30 19863 a -30 19863 a
-SDict begin [ /View [/XYZ H.V] /Dest (FIG-BASIC-NETWORK-COMMANDS-WEB-LINKS)
-cvn H.B /DEST pdfmark end
- -30 19863 a 4144 x FX(Figur)-28
-b(e)387 b(13-6.)h(Links,)e(with)h(the)g(\002le)g(menu)g(open)-30
-25872 y
-SDict begin H.S end
- -30 25872 a -30 25872 a
-SDict begin 18.2 H.A end
- -30 25872 a -30 25872
-a
-SDict begin [ /View [/XYZ H.V] /Dest (4827) cvn H.B /DEST pdfmark end
- -30 25872 a -30 58949 a
- currentpoint currentpoint translate 0.79 0.79 scale neg exch neg exch
-translate
- -30 58949 a @beginspecial 12
-@llx 212 @lly 600 @urx 580 @ury 5880 @rwi @setspecial
-%%BeginDocument: basic-network-commands/links.eps
-%!PS-Adobe-2.0 EPSF-2.0
-%%Creator: pnmtops
-%%Title: noname.ps
-%%Pages: 1
-%%BoundingBox: 12 212 600 580
-%%EndComments
-/rlestr1 1 string def
-/readrlestring {
- /rlestr exch def
- currentfile rlestr1 readhexstring pop
- 0 get
- dup 127 le {
- currentfile rlestr 0
- 4 3 roll
- 1 add getinterval
- readhexstring pop
- length
- } {
- 256 exch sub dup
- currentfile rlestr1 readhexstring pop
- 0 get
- exch 0 exch 1 exch 1 sub {
- rlestr exch 2 index put
- } for
- pop
- } ifelse
-} bind def
-/readstring {
- dup length 0 {
- 3 copy exch
- 1 index sub
- getinterval
- readrlestring
- add
- 2 copy le { exit } if
- } loop
- pop pop
-} bind def
-/picstr 640 string def
-%%EndProlog
-%%Page: 1 1
-gsave
-12.24 212.4 translate
-587.52 367.2 scale
-640 400 8
-[ 640 0 0 -400 0 400 ]
-{ picstr readstring }
-image
-f0c0c00080c080c080c080c0d0c0f0c0c00080c080c080c080c0d0c0f0c0
-f000f9c0fc0001c0c0fb00fdc0e500f0c0060000c0c0c00000fcc0010000
-cdc0fc00f9c0010000f5c0fd00dbc0fb00e3c0fd00eac0fd00d5c0fb00f3
-c00000ccc0060000c0c0c00000f5c0fd0080c0a5c0f0c0ef0005c0c00000
-c0c0fc0001c0c0fa0001c0c0e500f0c0060000c0c0c00000fcc0010000cc
-c0010000f8c0010000f4c0010000dac0040000c00000e3c0010000e9c001
-0000d6c0060000c0c0c00000f5c0010000ccc0060000c0c0c00000f4c001
-000080c0a5c0f0c0ef0005c0c0000000c0f40001c0c0e500f0c0060000c0
-c0c00000c6c0010000eac0010000dac0050000c0c00000e4c0010000e9c0
-010000d6c0060000c0c0c00000f5c0010000ccc0060000c0c0c00000f4c0
-01000080c0a5c0f0c0ef0003c0c000c0fb00fdc0fa0001c0c0fc00fbc0ee
-00f0c00c0000c0c0c00000c0c0c0000000fcc0fb0008c0c00000c0c0c000
-00dec0010000f9c0fd00fdc00e0000c0000000c0c0c00000c0c00000dec0
-070000c0c00000c0c0fb000fc0c00000c0c0c00000c00000c0000000fbc0
-010000fcc0fb00fdc0fc00fbc0fc00fdc0fb00ddc0010000fac0fb0001c0
-c0fa000fc0c00000c0c00000c0c00000c0000000dec0080000c0c0c00000
-c0c0fb00fbc00a0000c0c0c00000c000000080c0aec0f0c0ef00fcc0fa00
-01c0c0fa000bc0c0000000c0c0000000c0c0ef00f0c0060000c0c0c00000
-fcc0130000c0c0c00000c0c0c00000c00000c0c0c00000dec0010000f8c0
-010000fcc00c0000c0c00000c0c00000c00000ddc01d0000c0c00000c000
-00c0c0c00000c00000c0c0c00000c0c00000c0c00000fcc00b0000c0c0c0
-0000c0c0c00000fbc0120000c0c0c00000c00000c0c00000c0c0c00000dd
-c0fd00fdc00b0000c0c0c00000c0c0c00000fcc00e0000c0c00000c0c0c0
-0000c0c00000dfc0f90007c00000c0c0c00000fcc0010000fcc0050000c0
-c0000080c0afc0f0c0ef0003c0c000c0fa0001c0c0fa0004c0c0000000f9
-c0ef00f0c0060000c0c0c00000fcc0040000c0c0c0f90007c00000c000c0
-0000dec0010000f8c0010000fcc0070000c0c00000c0c0fc00dcc01d0000
-c0c00000c00000c0c0c00000c00000c000c00000c0c00000c0c00000fcc0
-0d0000c0c0c00000c0c0c00000c0c0fb000cc0c00000c0c00000c0c0c000
-00d7c0030000c0c0f900fdc0010000fcc00e0000c0c00000c0c0c00000c0
-c00000dfc0070000c0c0c00000c0f900fcc0010000fcc0050000c0c00000
-80c0afc0f0c0ef0001c0c0f80001c0c0fa0006c0c0000000c0c0ea00f0c0
-060000c0c0c00000fcc0060000c0c0c00000fac0060000c000c00000dec0
-010000f8c0010000fcc0070000c0c00000c0c0fc00dcc01d0000c0c00000
-c00000c0c0c00000c00000c000c00000c0c00000c0c00000fcc01a0000c0
-c0c00000c0c0c00000c00000c0c00000c0c00000c0c00000fcc0fd00d8c0
-040000c00000f8c0010000fcc00e0000c0c00000c0c0c00000c0c00000df
-c0090000c0c0c00000c00000f7c0010000fcc0050000c0c0000080c0afc0
-f0c0ef0001c0c0f80001c0c0fa0006c0c0000000c0c0ea00efc0040000c0
-0000fbc0060000c0c0c00000fac0060000c000c00000dec0050000c0c0c0
-00fcc0010000fcc00c0000c0c00000c0c00000c00000ddc01d0000c0c000
-00c00000c0c0c00000c00000c000c00000c0c00000c0c00000fcc01a0000
-c0c0c00000c0c0c00000c00000c0c00000c0c00000c0c00000fac0010000
-dec0090000c0c0c00000c00000f8c0010000fcc00e0000c0c00000c0c0c0
-0000c0c00000dfc0090000c0c0c00000c00000f7c0010000fcc0050000c0
-c0000080c0afc0f0c0ef0001c0c0f80001c0c0fa000bc0c0000000c0c000
-0000c0c0ef00eec0fd00fac00c0000c0c0c00000c0c0c00000c0f900dec0
-050000c0c00000fcc0010000fcc00d0000c0c00000c0c00000c0c00000de
-c00e0000c00000c0c00000c0c0c00000c0f90007c0c00000c0c00000fcc0
-230000c0c0c00000c0c0c00000c00000c0c00000c0c00000c0c00000c0c0
-0000c0c0c00000dfc0260000c0c0c00000c00000c0c0c00000c0c0c00000
-c00000c00000c0c00000c0c0c00000c0c00000dfc00e0000c0c0c00000c0
-0000c0c0c00000fcc0010000fcc0050000c0c0000080c0afc0f0c0f000fc
-c0fa00fcc0fc00fcc0fd00fbc0ee00edc00000fac0fc00fdc0fb00fdc004
-0000c00000dec0f900fdc0fc00fdc00d0000c0c00000c0000000c0c00000
-dfc0fb00fcc0fb00fdc0100000c00000c0c0c00000c0c00000c0c0c0fc00
-fdc0fb00fdc0fd000cc00000c0c0000000c00000c0c0fb00ddc0fb00fdc0
-fb00fbc0fd00fdc0fd0004c00000c0c0fb00dec0080000c0c0c00000c0c0
-fb00fcc0fc00fdc0fb0080c0aec0f0c0c00080c080c0e7c0010000c2c001
-000080c0abc0f0c0c00080c080c0e7c0010000c2c001000080c0abc0f0c0
-c00080c080c0e8c0fc00c4c0fc0080c0acc0f0c0c00080c080c080c080c0
-d0c0f00080c088c0800080008800f00080c088c0800080008800f00080c0
-88c0ed0001c0c0ea00fdc0f500fbc0fc00fdc0ed00fdc0d300fac0ee00fd
-c0f300fac0e90001c0c0ec0000c08000ec00f00080c088c0ed0001c0c0e9
-0001c0c0f60006c0c0000000c0c0fc0001c0c0ec0001c0c0d20005c0c000
-00c0c0ee0001c0c0f20005c0c00000c0c0ea0001c0c0ed0001c0c08000ec
-00f00080c088c0d40001c0c0f60006c0c0000000c0c0fc0001c0c0ec0001
-c0c0d20005c0c00000c0c0ee0001c0c0f20005c0c00000c0c0d50001c0c0
-8000ec00f000fdc001000080c092c0050000c0c0c000fbc00e0000c0c000
-0000c0c0000000c0c0c0fc00fbc0fd00fbc0fc00fcc0f50001c0c0f80001
-c0c0fc00fcc0fc00fbc0fd000fc0c00000c0c000c0c0000000c0c00000fc
-c0fd0008c0c000c0c0c0000000fbc0f50007c0c00000c0c00000fbc0fd00
-fbc0fd0005c0c00000c0c0f6000fc0c00000c0c000c0c000c0c0c0000000
-fbc0fa00fdc0010000fbc0fd00fbc0010000fac08000ee00f000fdc00100
-0080c092c0010000fbc0fd0009c0c000c0c0000000c0c0fc001ac0c00000
-00c0c0000000c0c000c0c0000000c0c00000c0c000c0c0f400fdc0fa0001
-c0c0f9001ac0c00000c0c0000000c0c00000c0c000c0c00000c0c0000000
-c0c0fb0012c0c0000000c0c0c000c0c000c0c0000000c0c0f600fbc01700
-00c0c0000000c0c000c0c0000000c0c00000c0c000c0c0f500fbc0fd00fd
-c00a00c0c000c0c0000000c0c0fa0016c0c000c0c0000000c0c000c0c000
-0000c0c0000000c0c08000ec00f00000c0fa0000c0f90000c0f90000c0f9
-0000c0f90000c0f90000c0f90000c0f90000c0f90000c0f90000c0f90000
-c0f90000c0f90000c0f90000c0f90000c0f90000c0f90000c0f90000c0f9
-0000c0f90000c0f90000c0f90000c0f90000c0f90000c0f90000c0f90000
-c0f90000c0f90000c0f90000c0f90001c0c0fa00f8c00700c0c0000000c0
-c0fc0001c0c0fc0001c0c0fb00f9c00600c0c00000c0c0f20001c0c0fb00
-01c0c0fc00fbc0030000c0c0f900fcc0fd0008c0c000c000c0c00000fbc0
-fd0006c0c00000c0c000f9c0f60017c0c00000c0c000c0c0000000c0c000
-c0c0000000c0c00000fcc0f40001c0c0fa000dc0c00000c0c000c0c00000
-00c0c0fa0002c0c000f9c00200c0c0f80001c0c08000ec00f000fdc00100
-0080c092c0010000fbc0fa0006c0c0000000c0c0fc0001c0c0fb00fdc0fd
-0001c0c0fa0005c0c00000c0c0f10001c0c0fc000ec0c0000000c0c00000
-c0c00000c0c0f900fcc0fd0012c0c000c000c0c000c0c00000c0c0000000
-c0c0fb0001c0c0f10017c0c00000c0c000c0c0000000c0c000c0c0000000
-c0c00000fcc0f40001c0c0fa0001c0c0fb0006c0c0000000c0c0fa0004c0
-c000c0c0fa0001c0c0f80001c0c08000ec00f000fdc001000080c092c001
-0000fbc0fa0006c0c0000000c0c0fc0001c0c0f90005c0c00000c0c0fa00
-05c0c00000c0c0f60006c0c0000000c0c0fc000ec0c0000000c0c00000c0
-c00000c0c0f90019c0c000c0c00000c0c000c000c0c000c0c00000c0c000
-0000c0c0fb0001c0c0f1001cc0c00000c0c000c0c0000000c0c000c0c000
-0000c0c00000c0c000c0c0f50001c0c0fa0001c0c0fb0006c0c0000000c0
-c0fa0004c0c000c0c0fa0001c0c0f80001c0c08000ec00f00080c086c0fd
-0008c0c00000c0c000c0c0fb001ac0c0000000c0c0000000c0c000c0c000
-0000c0c000c0c00000c0c0f60006c0c0000000c0c0fc001cc0c0000000c0
-c00000c0c00000c0c0000000c0c00000c0c00000c0c000f9c00b00c0c000
-00c0c0000000c0c0fb0006c0c0000000c0c0f6001dc0c00000c0c000c0c0
-000000c0c000c0c0000000c0c00000c0c00000c0c0f60001c0c0fa0001c0
-c0fb0006c0c0000000c0c0fa0019c0c000c0c0000000c0c000c0c0000000
-c0c0000000c0c000c0c08000ef00f00080c088c00000fbc0fc00fdc0fb00
-fcc0fd00fbc0fd00fbc0fd00fdc00200c0c0f600fbc0fc00fcc0fd00fdc0
-0400c0c00000fbc0190000c0c0c00000c0c00000c0c000c0c0000000c0c0
-c000c0c000fcc0fb00fbc0f600fac0fd00fbc0fd00fbc0080000c0c0c000
-00c0c0f700fcc0fc00fcc0fb00fbc0f90003c0c00000fbc0fd00fbc0fb00
-fdc08000ee00f00080c088c08000b70005c0c00000c0c08000d700f00080
-c088c08000b70005c0c00000c0c08000d700f00080c088c08000b600fcc0
-8000d600f00080c088c0800080008800f000f8c080009800f8c080008000
-8800f000f8c080009800f8c0800080008800f000fdc0040000c0c0c0f600
-fcc0eb0000c0ec0007c0c0000000c0c000fac0010000fcc08000e400fdc0
-040000c0c0c0800080008800f000fdc0040000c0c0c0f70005c0c00000c0
-c0ed0001c0c0ec0012c0c0000000c0c00000c0c00000c0c00000c0c08000
-e300fdc0040000c0c0c0800080008800f000fdc0040000c0c0c0f80001c0
-c0fc0000c0ed0001c0c0ec0012c0c0000000c0c00000c0c00000c0c00000
-c0c08000e300fdc0040000c0c0c0800080008800f000fdc0040000c0c0c0
-f80001c0c0f900fbc0f600fac0fd00fbc0f60012c0c0000000c0c00000c0
-c00000c0c00000c0c08000f200fdc00200c0c0f700fdc0040000c0c0c080
-0080008800f000fdc0040000c0c0c0f80001c0c0fa0006c0c0000000c0c0
-f50001c0c0fc0006c0c0000000c0c0f70008c0c0000000c0c00000fbc0fd
-0001c0c08000f30005c0c00000c0c0f600fdc0040000c0c0c08000800088
-00f000fdc0040000c0c0c0f80002c0c000fcc00700c0c0000000c0c0f500
-01c0c0fc0006c0c0000000c0c0f70012c0c0000000c0c00000c0c000c0c0
-000000c0c08000f30005c0c00000c0c0f600fdc0040000c0c0c080008000
-8800f000fdc0040000c0c0c0f8000ec0c0000000c0c000c0c0000000c0c0
-f50001c0c0fc0006c0c0000000c0c0f70012c0c0000000c0c00000c0c000
-00c0c00000c0c08000f30005c0c00000c0c0f600fdc0040000c0c0c08000
-80008800f000fdc0040000c0c0c0f8000ec0c0000000c0c000c0c0000000
-c0c0f50001c0c0fc0006c0c0000000c0c0f70016c0c0000000c0c00000c0
-c00000c0c00000c0c0000000c08000f70005c0c00000c0c0f600fdc00400
-00c0c0c0800080008800f000fdc0040000c0c0c0f7000dc0c00000c0c000
-c0c0000000c0c0f5000cc0c000c0c000c0c0000000c0c0f70016c0c00000
-00c0c00000c0c00000c0c00000c0c00000c0c08000f70005c0c00000c0c0
-f600fdc0040000c0c0c0800080008800f000fdc0040000c0c0c0f600fdc0
-0300c00000fbc0f300fdc0fd00fbc0f500fbc0090000c0c0c00000c0c000
-f9c08000f600fbc0f600fdc0040000c0c0c0800080008800f000f8c08000
-a40001c0c0f600f8c0800080008800f000f8c08000a80005c0c00000c0c0
-f600f8c0800080008800f000f8c08000a700fcc0f500f8c0800080008800
-f000f8c080009800f8c0800080008800f000d8c0f80080c0b8c080008000
-8800f000d8c0f80080c0b8c0800080008800f000fdc0010000f3c0fc00eb
-c0fb00f0c0fd0080c0d0c0040000c0c0c0800080008800f000fdc0010000
-f4c0050000c0c00000efc00200c0c0fb00efc001000080c0d0c0040000c0
-c0c0800080008800f000fdc0010000f5c0010000fcc00000efc00200c0c0
-fb00efc001000080c0d0c0040000c0c0c0800080008800f000fdc0010000
-f5c0010000f9c0fb00f6c00000fcc0fd0000c0fc00fcc0fb00fdc0050000
-c0c0000080c0e7c0f900f4c0040000c0c0c0800080008800f000fdc00100
-00f5c0010000fac0060000c0c0c00000f7c00700c0c000c0c00000fcc011
-0000c0c00000c0c0c00000c0c00000c0000080c0e6c0050000c0c00000f3
-c0040000c0c0c0800080008800f000fdc0010000f5c0020000c0fc0007c0
-0000c0c0c00000f7c00800c0c00000c0c000c0fb0003c0c00000f9c0fc00
-80c0e2c0010000f2c0040000c0c0c0800080008800f000fdc0010000f5c0
-0e0000c0c0c00000c00000c0c0c00000f7c01100c0c00000c0c0000000c0
-c00000c0c00000f9c0fc0080c0e3c0010000f1c0040000c0c0c080008000
-8800f000fdc0010000f5c00e0000c0c0c00000c00000c0c0c00000f7c011
-00c0c00000c0c0000000c0c00000c0c00000f9c0040000c0000080c0e5c0
-010000f0c0040000c0c0c0800080008800f000fdc0010000f4c00d0000c0
-c00000c00000c0c0c00000f7c01e00c0c00000c0c0000000c0c00000c0c0
-0000c0c0c00000c0c00000c0c0000080c0e7c0060000c0c0c00000f4c004
-0000c0c0c0800080008800f000fdc0010000f3c0fd0003c000c0c0fb00f6
-c00000fbc00a0000c0000000c00000c0c0fb0008c0c0000000c0c0000080
-c0e7c0f900f4c0040000c0c0c0800080008800f000d8c0f80080c0b8c080
-0080008800f000d8c0f80080c0b8c0800080008800f000d8c0f80080c0b8
-c0800080008800f000d8c0f80080c0b8c0800080008800f000f0c0f80080
-c0a0c0800080008800f000f0c0f80080c0a0c0800080008800f000fdc001
-0000f3c0fd0007c0c000c0c0c00000f2c0000080c0b9c0040000c0c0c080
-0080008800f000fdc0010000f3c0fd0007c0c000c0c0c00000f3c0010000
-80c0cbc0010000f0c0040000c0c0c0800080008800f000fdc0010000f3c0
-fd0002c0c000eec001000080c0cac0010000f1c0040000c0c0c080008000
-8800f000fdc0010000f3c0fd0007c0c000c0c0000000fcc0fb0001c0c0fa
-00fdc0fb0010c0c00000c0000000c0c00000c0c0c0000080c0e4c0010000
-f2c0040000c0c0c0800080008800f000fdc0010000eec01400c0c0c00000
-c0c0c00000c0c0c00000c0c0c00000fcc0160000c0c0c00000c0c0000000
-c00000c00000c0c0c0000080c0e3c0010000f3c0040000c0c0c080008000
-8800f000fdc0010000f3c0fd0007c0c000c0c0c00000fcc0010000f9c001
-0000fcc0160000c0c0c00000c0c00000c0c00000c00000c0c0c0000080c0
-e2c0010000f4c0040000c0c0c0800080008800f000fdc0010000f3c0fd00
-07c0c000c0c0c00000fbc0fd00fbc0010000fcc00a0000c0c0c00000c0c0
-0000fbc0060000c0c0c0000080c0e3c0010000f3c0040000c0c0c0800080
-008800f000fdc0010000f3c0fd0007c0c000c0c0c00000f9c0010000fcc0
-010000fcc00a0000c0c0c00000c0c00000fbc0060000c0c0c0000080c0e4
-c0010000f2c0040000c0c0c0800080008800f000fdc0010000f3c0fd0025
-c0c000c0c0c00000c0c0c00000c0c0c00000c0c0c00000c00000c00000c0
-c0c00000c0c00000fbc0060000c0c0c0000080c0e5c0010000f1c0040000
-c0c0c0800080008800f000fdc0010000f3c0fd0004c0c000c0c0fc00fdc0
-fb00fbc0fd00fdc0fb0001c0c0fc00fbc0fa0080c0e6c0010000f0c00400
-00c0c0c0800080008800f000f0c0f800d3c001000080c0cfc08000800088
-00f000f0c0f800d4c001000080c0cec0800080008800f000f0c0f800d8c0
-fb0080c0cdc0800080008800f000f0c0f80080c0a0c0800080008800f000
-f0c0f80080c0a0c0800080008800f000f0c0f80080c0a0c0800080008800
-f000fdc0010000efc0010000f6c0fd00eac0fd0084c0fc00fbc00000f2c0
-fd00f5c0fa00f3c0040000c0c0c0800080008800f000fdc0010000f5c007
-00c0c00000c0c000f5c0010000e9c001000085c00a0000c0c00000c0c0c0
-0000f1c0010000f4c0050000c0c00000f4c0040000c0c0c0800080008800
-f000fdc0010000f5c00700c0c00000c0c000f5c0010000e9c001000086c0
-010000fcc00500c0c0c00000f1c0010000f4c0050000c0c00000f4c00400
-00c0c0c0800080008800f000fdc0010000f5c00800c0c00000c0c000c0fb
-00fbc0010000fcc0fb00fdc0fc00fbc0fc0086c0010000fac0fa0007c0c0
-0000c0000000fbc0010000f4c0050000c0c00000f4c0040000c0c0c08000
-80008800f000fdc0010000f5c00000fbc0fc00fdc0010000fcc00b0000c0
-c0c00000c0c0c00000fbc0090000c0c0c00000c0000086c0010000f8c001
-0000fbc0fd0002c00000fcc0010000f4c0fb00f3c0040000c0c0c0800080
-008800f000fdc0010000f5c00500c0c000c0c0f700fcc00d0000c0c0c000
-00c0c0c00000c0c0fb0007c0c00000c0c0000086c0010000f8c0010000fb
-c0050000c0c00000fcc0040000c0c0c0f90006c0c00000c00000f3c00400
-00c0c0c0800080008800f000fdc0010000f5c00900c0c00000c0c0000000
-f7c01a0000c0c0c00000c0c0c00000c00000c0c00000c0c00000c0c00000
-86c0010000f8c0010000fbc0010000f8c0010000f4c0050000c0c00000f4
-c0040000c0c0c0800080008800f000fdc0010000f5c00900c0c00000c0c0
-000000f7c01a0000c0c0c00000c0c0c00000c00000c0c00000c0c00000c0
-c0000086c0010000fcc00500c0c0c00000fbc0010000f8c0010000f4c005
-0000c0c00000f4c0040000c0c0c0800080008800f000fdc0010000f5c00e
-00c0c00000c0c0000000c0c0c00000fcc01a0000c0c0c00000c0c0c00000
-c00000c0c00000c0c00000c0c0000085c0110000c0c00000c0c0c00000c0
-0000c0c00000f8c0010000f4c0050000c0c00000f4c0040000c0c0c08000
-80008800f000fdc0010000f2c0050000c0c000c0fb00fcc0fc00fdc0fb00
-fdc0fd000ac00000c0c0000000c0000085c0fc00fbc0fd0001c0c0fc00fa
-c0fc00f6c0fd0003c0c00000f4c0040000c0c0c0800080008800f000f0c0
-f80080c0a0c0800080008800f000f0c0f80080c0a0c0800080008800f000
-f0c0f80080c0a0c0800080008800f000f0c0f80080c0a0c0800080008800
-f000b0c0f80080c0e0c0800080008800f000b0c0f80080c0e0c080008000
-8800f000fdc0010000f5c0fa00eec0fd00e3c0fd00fbc0f80080c0e5c004
-0000c0c0c0800080008800f000fdc0010000f4c0050000c0c00000eec001
-0000e2c0010000fbc0f80080c0e5c0040000c0c0c0800080008800f000fd
-c0010000f4c0050000c0c00000eec0010000e2c0010000fbc0f80080c0e5
-c0040000c0c0c0800080008800f000fdc0010000f4c0070000c0c00000c0
-c0fb00fdc0fb00fdc00f0000c0c00000c0000000c00000c0c0c0fc00fdc0
-100000c0000000c0c0c00000c0c00000c000fbc001000080c0f7c0fb00f3
-c0040000c0c0c0800080008800f000fdc0010000f4c0fb0019c0c00000c0
-c0c00000c00000c0c0c00000c0c00000c00000c0c0f900fbc0110000c0c0
-c0000000c00000c0c00000c00000fcc0fd0002c0c00080c0f8c0060000c0
-c0c00000f4c0040000c0c0c0800080008800f000fdc0010000f4c0170000
-c0c00000c00000c0c0c00000c00000c0c0c00000c0c0fc00fdc0080000c0
-00c00000c0c0fb00fdc0070000c0c00000c0c0fc00fdc00200c0c0fb0080
-c0f7c0010000f0c0040000c0c0c0800080008800f000fdc0010000f4c017
-0000c0c00000c00000c0c0c00000c00000c0c0c00000c0c0fc00fdc01200
-00c000c00000c00000c0c00000c0c0c00000fac0fc00fdc0070000c0c0c0
-00000080c0f6c0fd00f2c0040000c0c0c0800080008800f000fdc0010000
-f4c0310000c0c00000c00000c0c0c00000c00000c0c0c00000c0c00000c0
-0000c0c00000c000c00000c00000c0c00000c0c0c00000fac0060000c000
-00c0c0fc0003c0c0000080c0f4c0010000f3c0040000c0c0c08000800088
-00f000fdc0010000f4c0310000c0c00000c00000c0c0c00000c00000c0c0
-c00000c0c00000c0c00000c00000c000c00000c00000c0c00000c0c0c000
-00fac00e0000c0c00000c0c0c0000000c0c00080c0f8c0060000c0c0c000
-00f4c0040000c0c0c0800080008800f000fdc0010000f5c0fa00fdc0fb00
-fdc0fb0019c0c0000000c0c00000c00000c0c0c00000c0c0000000c00000
-c0fc00fcc0fd0005c0c00000c000fbc001000080c0f7c0fb00f3c0040000
-c0c0c0800080008800f000b0c0f80080c0e0c0800080008800f000b0c0f8
-0080c0e0c0800080008800f000b0c0f80080c0e0c0800080008800f000b0
-c0f80080c0e0c0800080008800f000e8c0f80080c0a8c0800080008800f0
-00e8c0f80080c0a8c0800080008800f000fdc0010000f4c0fb0001c0c0f8
-00e8c0fd00ebc0fd00e3c0fd0080c0040000c0c0c0800080008800f000fd
-c0010000f5c0070000c0c0c00000c0f800e7c0010000eac0010000e2c001
-000080c0040000c0c0c0800080008800f000fdc0010000f5c0070000c0c0
-c00000c0f800e7c0010000eac0010000e2c001000080c0040000c0c0c080
-0080008800f000fdc0010000f4c0010000fbc00000fcc0fb00fdc0030000
-c0c0fb00f5c0fc00fcc0fb00fdc0fb00fdc00f0000c0c00000c0000000c0
-0000c0c0c0fc00fdc0100000c0000000c0c0c00000c0c00000c0c0fb008b
-c0040000c0c0c0800080008800f000fdc0010000f3c0fd00fdc0fc0001c0
-c0fc00fdc0090000c00000c0c0c00000f6c01e0000c00000c0c00000c0c0
-c00000c00000c0c0c00000c0c00000c00000c0c0f900fbc01a0000c0c0c0
-000000c00000c0c00000c00000c0c00000c0c0c000008cc0040000c0c0c0
-800080008800f000fdc0010000f1c0040000c0c000fbc0fc00fdc0020000
-c0f900f6c0170000c0c00000c00000c0c0c00000c00000c0c0c00000c0c0
-fc00fdc0080000c000c00000c0c0fb00fdc0070000c0c00000c0c0fc00fc
-c001000088c0040000c0c0c0800080008800f000fdc0010000f0c0080000
-c0c0c00000c0c0fc00fdc0040000c00000f1c0170000c0c00000c00000c0
-c0c00000c00000c0c0c00000c0c0fc00fdc0120000c000c00000c00000c0
-c00000c0c0c00000fac0fc00fbc0fd008ac0040000c0c0c0800080008800
-f000fdc0010000f5c00d0000c0c0c00000c0c0c00000c0c0fc00fdc00400
-00c00000f1c0310000c0c00000c00000c0c0c00000c00000c0c0c00000c0
-c00000c00000c0c00000c000c00000c00000c0c00000c0c0c00000fac004
-0000c00000fac00100008bc0040000c0c0c0800080008800f000fdc00100
-00f5c01e0000c0c0c00000c0c0c00000c0c00000c00000c00000c0c00000
-c0c0c00000f6c0310000c0c00000c00000c0c0c00000c00000c0c0c00000
-c0c00000c0c00000c00000c000c00000c00000c0c00000c0c0c00000fac0
-0d0000c0c00000c00000c0c0c000008cc0040000c0c0c0800080008800f0
-00fdc0010000f4c0fb000ec0c000c0c0c000c0c000c0c0000000fcc0fb00
-f5c0fb00fdc0fb00fdc0fb0019c0c0000000c0c00000c00000c0c0c00000
-c0c0000000c00000c0fc00fcc0fd0005c0c00000c0c0fb008bc0040000c0
-c0c0800080008800f000e8c0f80080c0a8c0800080008800f000e8c0f800
-80c0a8c0800080008800f000e8c0f80080c0a8c0800080008800f000e8c0
-f80080c0a8c0800080008800f00080c088c0800080008800f00080c088c0
-800080008800f000fdc001000080c092c0040000c0c0c0800080008800f0
-00fdc001000080c092c0040000c0c0c0800080008800f000fdc001000080
-c092c0040000c0c0c0800080008800f000fdc001000080c092c0040000c0
-c0c0800080008800f000fdc001000080c092c0040000c0c0c08000800088
-00f000fdc0040000c0c0c0f90000c0f90000c0f90000c0f90000c0f90000
-c0f90000c0f90000c0f90000c0f90000c0f90000c0f90000c0f90000c0f9
-0000c0f90000c0f90000c0f90000c0f90000c0f90000c0f90000c0f90000
-c0f90000c0f90000c0f90000c0f90000c0f90000c0f90000c0f90000c0f9
-0000c0f900fcc0040000c0c0c0800080008800f000fdc001000080c092c0
-040000c0c0c0800080008800f000fdc001000080c092c0040000c0c0c080
-0080008800f000fdc001000080c092c0040000c0c0c0800080008800f000
-fdc001000080c092c0040000c0c0c0800080008800f00080c088c0800080
-008800f00080c088c0800080008800f00080c088c0800080008800f00080
-c088c0800080008800f000e0c0f80080c0b0c0800080008800f000e0c0f8
-0080c0b0c0800080008800f000fdc0010000f4c0fb00f6c0f80080c0b5c0
-040000c0c0c0800080008800f000fdc0010000f5c0060000c0c0c00000f7
-c0f80080c0b5c0040000c0c0c0800080008800f000fdc0010000f5c00600
-00c0c0c00000f7c0f80080c0b5c0040000c0c0c0800080008800f000fdc0
-010000f4c0010000fac0fc00fbc0fd0003c0c000c0fb00f5c0fc00fcc0fb
-0080c0d3c0040000c0c0c0800080008800f000fdc0010000f3c0fd00f9c0
-010000fcc0fd0009c0c0000000c0c0c00000f3c00a0000c0c00000c0c0c0
-000080c0d4c0040000c0c0c0800080008800f000fdc0010000f1c0040000
-c0c0c0fb00fcc0fd0001c0c0f800f6c0fb00fdc001000080c0d0c0040000
-c0c0c0800080008800f000fdc0010000f0c0080000c00000c0c00000fcc0
-fd0004c0c0000000f2c0050000c0c00000fcc0fd0080c0d2c0040000c0c0
-c0800080008800f000fdc0010000f5c00d0000c0c0c00000c00000c0c000
-00fcc0fd0004c0c0000000f2c0050000c0c00000fac001000080c0d3c004
-0000c0c0c0800080008800f000fdc0010000f5c0150000c0c0c00000c000
-00c0c00000c0c000c0c000c0c0fc00fdc0010000f7c00e0000c0c00000c0
-c00000c0c0c0000080c0d4c0040000c0c0c0800080008800f000fdc00100
-00f4c0fb00fdc0fd000cc00000c00000c0c0c0000000c0fb00f5c0fd0004
-c00000c0c0fb0080c0d3c0040000c0c0c0800080008800f000e0c0f80080
-c0b0c0800080008800f000e0c0f80080c0b0c0800080008800f000e0c0f8
-0080c0b0c0800080008800f000e0c0f80080c0b0c0800080008800f000c8
-c0f80080c0c8c0800080008800f000c8c0f80080c0c8c0800080008800f0
-00fdc0010000f4c0fb00dcc0fd0001c0c0f90001c0c0fc0080c0d9c00400
-00c0c0c0800080008800f000fdc0010000f5c0060000c0c0c00000ddc0fd
-000dc0c000c00000c0c00000c0c0000080c0d8c0040000c0c0c080008000
-8800f000fdc0010000f5c0060000c0c0c00000ddc0fd000dc0c000c00000
-c0c00000c0c0000080c0d8c0040000c0c0c0800080008800f000fdc00100
-00f4c0010000fac0fc00fdc0080000c0c0c00000c0c0fb00f4c0fd000dc0
-c000c00000c0c00000c0c00000f2c0fc00fcc0fb0080c0f3c0040000c0c0
-c0800080008800f000fdc0010000f3c0fd00f9c0120000c0c00000c0c0c0
-0000c00000c0c0c00000f5c0fd0003c0c000c0fb00fdc0010000efc00a00
-00c0c00000c0c0c0000080c0f4c0040000c0c0c0800080008800f000fdc0
-010000f1c0040000c0c0c0fb0009c0c00000c0c0c00000c0f900f5c0fd00
-0dc0c000c00000c00000c0c0c00000f2c0fb00fdc001000080c0f0c00400
-00c0c0c0800080008800f000fdc0010000f0c0140000c00000c0c00000c0
-c00000c0c0c00000c00000f0c0fd000dc0c000c00000c0c00000c0c00000
-f3c0050000c0c00000fcc0fd0080c0f2c0040000c0c0c0800080008800f0
-00fdc0010000f5c0190000c0c0c00000c00000c0c00000c0c00000c0c0c0
-0000c00000f0c0fd0011c0c000c00000c0c00000c0c00000c0c0c000f7c0
-050000c0c00000fac001000080c0f3c0040000c0c0c0800080008800f000
-fdc0010000f5c01e0000c0c0c00000c00000c0c00000c0c0c00000c00000
-c0c00000c0c0c00000f5c0fd0011c0c000c00000c0c00000c0c00000c0c0
-0000f7c00e0000c0c00000c0c00000c0c0c0000080c0f4c0040000c0c0c0
-800080008800f000fdc0010000f4c0fb00fdc0fd0008c00000c0c0c00000
-00fcc0fb00f6c00000fbc0fb0004c0c00000c0f900f6c0fd0004c00000c0
-c0fb0080c0f3c0040000c0c0c0800080008800f000c8c0f80080c0c8c080
-0080008800f000c8c0f80080c0c8c0800080008800f000c8c0f80080c0c8
-c0800080008800f000c8c0f80080c0c8c0800080008800f00088c0f80088
-c0800080008800f00088c0f80088c0800080008800f000fdc0010000f4c0
-fb00dbc0fd00dbc00000f9c00000f4c0fd00fdc0010000f5c0fd00cbc000
-00d1c0040000c0c0c0800080008800f000fdc0010000f5c0060000c0c0c0
-0000ddc0040000c00000ddc0010000fac0010000f4c0fc0003c0c00000f4
-c0010000ccc0010000d1c0040000c0c0c0800080008800f000fdc0010000
-f5c0060000c0c0c00000ddc0040000c0c000ddc0010000fac0010000f4c0
-fc0003c0c00000f4c0010000ccc0010000d1c0040000c0c0c08000800088
-00f000fdc0010000f4c0010000fac0fc00fdc0080000c0c0c00000c0c0fb
-00f4c0010000fbc0fb0012c0c00000c0000000c0c0000000c00000c0c0c0
-fc00fdc0fa0001c0c0fa00fdc0fb0003c0c00000fcc0010000f6c0fc00fd
-c0fb00fdc0fb0012c0c00000c0c00000c0c0000000c00000c0c0c0fb0009
-c0c00000c0000000c0c0fa00d3c0040000c0c0c0800080008800f000fdc0
-010000f3c0fd00f9c0120000c0c00000c0c0c00000c00000c0c0c00000f6
-c0fc00fdc00f0000c0c0c00000c0c0000000c00000c0f900fbc0010000fc
-c0010000fac0010000fcc00f0000c0c0c00000c000c0c000c0c00000f7c0
-1e0000c00000c0c00000c0c0c00000c00000c0c0c00000c00000c0c00000
-c0c0f90014c00000c0c0c00000c0c00000c0c00000c0c0c00000d1c00400
-00c0c0c0800080008800f000fdc0010000f1c0040000c0c0c0fb0009c0c0
-0000c0c0c00000c0f900f5c0010000fcc0180000c0c0c00000c0c00000c0
-c00000c00000c000c00000c0c0fb00fcc0010000fac0010000fcc0f900fd
-c0050000c0c00000f8c0110000c0c00000c0c00000c0c0c00000c00000fa
-c00f0000c0c00000c0c00000c000c00000c0f9000cc0c00000c0c00000c0
-c0c00000d1c0040000c0c0c0800080008800f000fdc0010000f0c0140000
-c00000c0c00000c0c00000c0c0c00000c00000f0c0010000fcc00a0000c0
-c0c00000c0c00000fbc00d0000c000c00000c00000c0c00000fcc0010000
-fac0010000fcc0010000f8c0050000c0c00000f8c0110000c0c00000c0c0
-0000c0c0c00000c00000fac0110000c0c00000c0c00000c000c00000c000
-00f9c00a0000c0c00000c0c0c00000d1c0040000c0c0c0800080008800f0
-00fdc0010000f5c0190000c0c0c00000c00000c0c00000c0c00000c0c0c0
-0000c00000f0c0010000fcc00a0000c0c0c00000c0c00000fbc00d0000c0
-00c00000c00000c0c00000fcc0010000fac0010000fcc0010000f8c00500
-00c0c00000f8c0110000c0c00000c0c00000c0c0c00000c00000fac01100
-00c0c00000c0c00000c000c00000c00000f9c00a0000c0c00000c0c0c000
-00d1c0040000c0c0c0800080008800f000fdc0010000f5c01e0000c0c0c0
-0000c00000c0c00000c0c0c00000c00000c0c00000c0c0c00000f5c00100
-00fcc00a0000c0c0c00000c0c00000fbc00d0000c000c00000c00000c0c0
-0000fcc01d0000c00000c0c0c00000c00000c00000c0c0c00000c0c0c000
-00c0c00000f8c03e0000c0c00000c0c00000c0c0c00000c00000c0c0c000
-00c00000c0c00000c0c00000c000c00000c00000c0c0c00000c0c00000c0
-c00000c0c0c00000c00000d4c0040000c0c0c0800080008800f000fdc001
-0000f4c0fb00fdc0fd0008c00000c0c0c0000000fcc0fb00f5c0fc00fcc0
-fb0001c0c0fc00fcc00e0000c0c0c00000c0c0000000c00000fcc0fd00fb
-c0fd00fdc0fb0009c0c000c0c0c000c0c000f7c0fd0004c00000c0c0fb00
-fdc0fb00fdc0fd000cc00000c00000c0c0c00000c0c0fb00fdc0050000c0
-c00000fcc0fd00d3c0040000c0c0c0800080008800f00088c0f80088c080
-0080008800f00088c0f80088c0800080008800f00088c0f80088c0800080
-008800f00088c0f80088c0800080008800f00080c088c0800080008800f0
-0080c088c0800080008800f000fdc001000080c092c0040000c0c0c08000
-80008800f000fdc001000080c092c0040000c0c0c0800080008800f000fd
-c001000080c092c0040000c0c0c0800080008800f000fdc001000080c092
-c0040000c0c0c0800080008800f000fdc001000080c092c0040000c0c0c0
-800080008800f000fdc0040000c0c0c0f90000c0f90000c0f90000c0f900
-00c0f90000c0f90000c0f90000c0f90000c0f90000c0f90000c0f90000c0
-f90000c0f90000c0f90000c0f90000c0f90000c0f90000c0f90000c0f900
-00c0f90000c0f90000c0f90000c0f90000c0f90000c0f90000c0f90000c0
-f90000c0f90000c0f900fcc0040000c0c0c0800080008800f000fdc00100
-0080c092c0040000c0c0c0800080008800f000fdc001000080c092c00400
-00c0c0c0800080008800f000fdc001000080c092c0040000c0c0c0800080
-008800f000fdc001000080c092c0040000c0c0c0800080008800f00080c0
-88c0800080008800f00080c088c0800080008800f00080c088c080008000
-8800f00080c088c0800080008800f000f0c0f80080c0a0c0800080008800
-f000f0c0f80080c0a0c08000800088000000fbc0fc00fdc0fd00fdc00100
-00f2c0090000c0c000c0c0c00000fbc0fd00fbc0fd00f5c0fd00ebc0fd00
-d0c0fd00c3c00000f9c0010000dac0040000c0c0c080008000880006c0c0
-000000c0c0fc0009c0c0000000c0c0c00000f5c00c00c0c00000c0c000c0
-c0c00000fac0010000fac0010000f4c0010000eac0010000cfc0010000c4
-c0010000f9c0010000dac0040000c0c0c080008000880006c0c0000000c0
-c0fc0009c0c0000000c0c0c00000f5c00700c0c00000c0c000f5c0010000
-fac0010000f4c0010000eac0010000cfc0010000c4c0010000d1c0040000
-c0c0c08000800088000200c0c0f80009c0c0000000c0c0c00000f5c00c00
-c0c000c0c00000c0c0000000fac0010000fac0010000f4c0fc00fcc0fc00
-fcc0fb00fdc0170000c0c00000c0c0000000c00000c00000c0000000c0c0
-c0fb000fc0c00000c0c00000c0c00000c0000000fcc0fc00f5c0fb00fdc0
-fb0012c0c00000c0000000c0c00000c0000000c0c0c0fb00fdc0fb0001c0
-c0fa00fcc0fd00fcc0fb000ac0c00000c0000000c0c0c0fb00f3c0040000
-c0c0c0800080008800040000c0c0c0fa0009c0c0000000c0c0c00000f5c0
-0000fcc0fd00fdc0010000fac0010000fac0010000f4c0040000c00000fa
-c0410000c0c00000c0c0c00000c0c00000c00000c0c00000c0c00000c0c0
-c0000000c00000c00000c0c0c00000c00000c0c00000c0c0c00000c0c000
-00c0c00000c00000f6c0330000c0c0c00000c00000c0c0c00000c0c00000
-c0c00000c0c00000c0c00000c00000c0c0c00000c00000c0c0c00000c0c0
-c00000f9c01b0000c0c0c00000c0c0c00000c0c00000c0c00000c00000c0
-c0c00000f4c0040000c0c0c0800080008800fc0001c0c0fb0009c0c00000
-00c0c0c00000f5c00000fcc0fd00fdc0010000fac0010000fac0010000f4
-c0070000c0c00000c0c0fb0003c0c00000f9c0fc00fdc02d0000c0c00000
-c0c0c00000c0c00000c00000c0c0c00000c00000c0c00000c0c0c00000c0
-c00000c00000c0c00000f6c0010000fac0170000c0c0c00000c0c00000c0
-c00000c0c00000c0c00000c0f90002c00000f8c0010000f9c0170000c0c0
-c00000c0c0c00000c0c00000c0c00000c0c00000f0c0040000c0c0c08000
-80008800fb0001c0c0fc0009c0c0000000c0c0c00000f5c00c00c0c000c0
-c00000c0c0c00000fac0010000fac0010000f4c0100000c0c00000c00000
-c0c00000c0c00000f9c0fc00fdc00a0000c0c00000c0c0c00000fbc01d00
-00c0c0c00000c00000c0c00000c0c0c00000c0c00000c00000c0c00000f6
-c0010000fac0190000c0c0c00000c0c00000c0c00000c0c00000c0c00000
-c00000fac0010000f8c0010000f9c0190000c0c0c00000c0c0c00000c0c0
-0000c0c00000c0c0c0000000f2c0040000c0c0c080008000880006c0c000
-0000c0c0fc0009c0c0000000c0c0c00000f5c00c00c0c00000c0c000c0c0
-c00000fac0010000fac0010000f4c0100000c0c00000c00000c0c00000c0
-c00000f9c0110000c00000c0c00000c0c00000c0c0c00000fbc01d0000c0
-c0c00000c00000c0c00000c0c0c00000c0c00000c00000c0c00000f6c001
-0000fac0190000c0c0c00000c0c00000c0c00000c0c00000c0c00000c000
-00fac0010000f8c0010000f9c0130000c0c0c00000c0c0c00000c0c00000
-c0c00000fbc0010000f3c0040000c0c0c080008000880006c0c0000000c0
-c0fc0009c0c0000000c0c0c00000f5c00c00c0c00000c0c000c0c0c00000
-fac0010000fac0010000f4c0290000c0c00000c00000c0c00000c0c00000
-c0c0c00000c0c00000c0c00000c00000c0c00000c0c0c00000fbc01d0000
-c0c0c00000c00000c0c00000c0c0c00000c0c00000c00000c0c00000f6c0
-360000c0c0c00000c00000c0c0c00000c0c00000c0c00000c0c00000c0c0
-0000c00000c0c0c00000c00000c0c0c00000c0c0c00000c00000fcc01b00
-00c0c0c00000c0c0c00000c0c00000c0c00000c00000c0c0c00000f4c004
-0000c0c0c08000800088000000fbc0fc00fcc0060000c0c0c00000f2c006
-0000c0c000c0c0fc00fcc0fc00fcc0fc00f5c0fb00fdc0fd0004c00000c0
-c0fb000ac0c0000000c0c00000c0c0fb0001c0c0fc00fbc0fb00fdc0fd00
-12c00000c0c00000c0c00000c0c0000000c00000f6c0fb00fdc0fb00fdc0
-0f0000c0c00000c0c00000c0c00000c0c0fb00fdc0fb00fbc0fd00fcc0fc
-00fdc0fb00fdc0070000c0c00000c0c0fb00f3c0040000c0c0c080008000
-8800f000f0c0f800bcc001000080c0e6c0800080008800f000f0c0f800c0
-c0050000c0c0000080c0e6c0800080008800f000f0c0f800bfc0fc0080c0
-e5c0800080008800f000f0c0f80080c0a0c0800080008800f00080c0f8c0
-f80098c0800080008800f00080c0f8c0f80098c0800080008800f000fdc0
-010000f5c0fd0003c0c00000fcc0010000fbc0fd00fbc0fd00ebc0fd00fb
-c0fd00c5c0fd0000c0fc00fdc0010000a2c0040000c0c0c0800080008800
-f000fdc0010000f4c0050000c0c00000fcc0010000fac0010000fac00100
-00eac0010000fac0010000c5c0030000c0c0fc00fdc0010000a2c0040000
-c0c0c0800080008800f000fdc0010000f4c0050000c0c00000f4c0010000
-fac0010000eac0010000fac0010000c5c0030000c0c0fc009dc0040000c0
-c0c0800080008800f000fdc0010000f4c0040000c00000fcc0fd00fac001
-0000fac0010000f4c0fc00fac0010000fac0010000f4c0fb00fdc0fb0012
-c0c00000c0000000c0c00000c0000000c0c0c0fb00fdc0fb00f8c0060000
-c0c0000000fcc0fb000ac0c00000c0000000c0c0c0fb00bbc0040000c0c0
-c0800080008800f000fdc0010000f4c0fc00fac0010000fac0010000fac0
-010000f1c0010000fbc0010000fac0010000f5c0330000c0c0c00000c000
-00c0c0c00000c0c00000c0c00000c0c00000c0c00000c00000c0c0c00000
-c00000c0c0c00000c00000c0c0fc00fdc01b0000c0c0c00000c0c0c00000
-c0c00000c0c00000c00000c0c0c00000bcc0040000c0c0c0800080008800
-f000fdc0010000f4c0fc00fac0010000fac0010000fac0010000f4c0fb00
-fbc0010000fac0010000f5c0010000fac0170000c0c0c00000c0c00000c0
-c00000c0c00000c0c00000c0f90002c00000fac0030000c0c0fc00fdc017
-0000c0c0c00000c0c0c00000c0c00000c0c00000c0c00000b8c0040000c0
-c0c0800080008800f000fdc0010000f4c0040000c00000fbc0010000fac0
-010000fac0010000f5c0050000c0c00000fbc0010000fac0010000f5c001
-0000fac0190000c0c0c00000c0c00000c0c00000c0c00000c0c00000c000
-00fac0010000fac0030000c0c0fc00fdc0190000c0c0c00000c0c0c00000
-c0c00000c0c00000c0c0c0000000bac0040000c0c0c0800080008800f000
-fdc0010000f4c0050000c0c00000fcc0010000fac0010000fac0010000f5
-c0050000c0c00000fbc0010000fac0010000f5c0010000fac0190000c0c0
-c00000c0c00000c0c00000c0c00000c0c00000c00000fac0010000fac003
-0000c0c0fc00fdc0130000c0c0c00000c0c0c00000c0c00000c0c00000fb
-c0010000bbc0040000c0c0c0800080008800f000fdc0010000f4c0050000
-c0c00000fcc0010000fac0010000fac0010000f5c0050000c0c00000fbc0
-010000fac0010000f5c0560000c0c0c00000c00000c0c0c00000c0c00000
-c0c00000c0c00000c0c00000c00000c0c0c00000c00000c0c0c00000c000
-00c0c000c0c000c0c0c00000c0c0c00000c0c0c00000c0c00000c0c00000
-c00000c0c0c00000bcc0040000c0c0c0800080008800f000fdc0010000f5
-c0fd0006c0c00000c0c0c0fc00fcc0fc00fcc0fc00f5c0fd0005c00000c0
-c0c0fc00fcc0fc00f5c0fb00fdc0fb00fdc00f0000c0c00000c0c00000c0
-c00000c0c0fb00fdc0fb000bc0c0000000c0c0c00000c0c0fc00fdc0fb00
-fdc0070000c0c00000c0c0fb00bbc0040000c0c0c0800080008800f00080
-c0f8c0f80098c0800080008800f00080c0f8c0f80098c0800080008800f0
-0080c0f8c0f80098c0800080008800f00080c0f8c0f80098c08000800088
-00f000f0c0f80080c0a0c0800080008800f000f0c0f80080c0a0c0800080
-008800f000fdc0010000eec00500c0c0000000edc0fd00e9c0fd00fbc0fd
-00ddc0fd0088c0040000c0c0c0f500fdc0f30000c0e10000c0e90000c0fc
-00fdc0e00001c0c0fa0000c0e300fac00300c0c0c0f80001c0c0ca0001c0
-c0da00fdc0f30000c0fc00fdc0eb00fdc0eb00fdc0e300f000fdc0010000
-f5c00c00c0c00000c0c000c0c0c00000ecc0010000e8c0010000fac00100
-00dcc001000088c0040000c0c0c0f40001c0c0f40001c0c0e20001c0c0ea
-0001c0c0fb0001c0c0e00001c0c0fb0001c0c0e300fac0030000c0c0f800
-01c0c0ca0001c0c0db0004c0c000c0c0f50001c0c0fb0001c0c0ea0001c0
-c0ea0001c0c0e300f000fdc0010000f5c00c00c0c0000000c000c0c0c000
-00ecc0010000e8c0010000fac0010000dcc001000088c0040000c0c0c0f4
-0001c0c0f40001c0c0e20001c0c0ea0001c0c0fb0001c0c0d90001c0c0e3
-0009c000c0c000c00000c0c0990004c0c00000c0f50001c0c0fb0001c0c0
-ea0001c0c0ea0001c0c0e300f000fdc0010000f5c01800c0c000c0000000
-c0c0c00000c0c0c00000c0c00000c0c0c0fb00fdc0040000c00000f5c0fc
-00fac0010000fac0010000f4c0fb00fdc0fc00fcc0fb00fdc0070000c000
-00c0c0c0fb00fdc0fb009bc0010000fbc00300c0c0c0fc00fcc0fd00fcc0
-fd00fac0fd00fbc0fd00fbc0f600fac0fd00fbc0f600fac0fd0007c0c000
-c0c0000000fbc0f500fbc0fc00fdc0fd00fac0fd00fbc0eb0001c0c0fc00
-04c0c000c0c0fc00fdc0fc00fbc0f60008c0c0000000c0c00000fbc00a00
-00c0c000c0c0c0000000fbc0fc00fdc0fc00fbc0070000c0c000c0c0c0f5
-00fbc0fc0001c0c0f400fac0fd0007c0c000c0c0000000fbc0f500fcc0fc
-00fbc0fd00fbc0fd0005c0c00000c0c0e700f000fdc0010000f5c00000fc
-c0fd00fdc01b0000c0c0c00000c0c00000c0c00000c0c0c00000c0c00000
-00c00000f3c0010000fbc0010000fac0010000f5c0060000c0c0c00000fb
-c0220000c0c00000c0c0c00000c0c0000000c00000c00000c0c0c00000c0
-0000c0c0c000009cc0120000c0c0c000c0c00000c0c00000c0c000c0c0fa
-0001c0c0fc0001c0c0fc000ec0c0000000c0c000c0c0000000c0c0f50001
-c0c0fc0006c0c0000000c0c0f50001c0c0fb00fdc00a00c0c000c0c00000
-00c0c0f70006c0c0000000c0c0fc0001c0c0fb0001c0c0fc0006c0c00000
-00c0c0ec0001c0c0fc00fdc00200c0c0fc000bc0c0000000c0c0000000c0
-c0f7001ec0c0000000c0c000c0c0000000c0c00000c0c0c000c0c000c0c0
-000000c0c0fc0013c0c0000000c0c0000000c0c00000c0c00000c0c0f700
-08c0c0000000c0c00000fcc0f30001c0c0fb00fdc00a00c0c000c0c00000
-00c0c0f6001cc0c000c0c00000c0c0000000c0c000c0c0000000c0c00000
-c0c000c0c0e600f000fdc0010000f5c01a00c0c000c0000000c0c0c00000
-c0c0c00000c0c00000c0c0c00000fac0050000c0c00000f6c0fb00fbc001
-0000fac0010000f5c0010000f9c0fb0003c0c00000f9c0060000c0c00000
-c0f90003c0c0000098c0150000c0c0c000c0c00000c0c000c0c00000c0c0
-000000fbc0fc0001c0c0fc00f9c0030000c0c0f10001c0c0fc0006c0c000
-0000c0c0f50001c0c0fb0006c0c00000c0c000f9c0f60001c0c0f80001c0
-c0fb0001c0c0fc00f9c0ec0001c0c0fc0005c0c00000c0c0fc0001c0c0fc
-0001c0c0f30007c0c0000000c0c000f9c00b0000c0c00000c0c00000c0c0
-f80013c0c0000000c0c0000000c0c00000c0c00000c0c0f7000bc0c00000
-00c0c0000000c0c0f20001c0c0fb0006c0c00000c0c000f9c0f60017c0c0
-0000c0c000c0c0000000c0c000c0c0000000c0c00000fcc0e500f000fdc0
-010000f5c00200c0c0fb00fdc00a0000c0c0c00000c0c00000fcc0fd00fc
-c0050000c0c00000f7c0050000c0c00000fbc0010000fac0010000f5c001
-0000fac0090000c0c00000c0c00000f9c0080000c0c00000c00000f8c0fd
-009ac01a0000c0c0c000c0c00000c0c000c0c00000c0c00000c0c00000c0
-c0fc0001c0c0fc0001c0c0f800fdc0f30001c0c0fc0006c0c0000000c0c0
-f50001c0c0fb0008c0c00000c0c000c0c0f000fdc0fa0001c0c0fb0001c0
-c0fc0001c0c0e70001c0c0fc0005c0c00000c0c0fc0001c0c0fb00fdc0f5
-0009c0c0000000c0c000c0c0f90001c0c0f900fdc0fa0013c0c0000000c0
-c0000000c0c00000c0c00000c0c0f7000bc0c0000000c0c0000000c0c0f2
-0001c0c0fb0008c0c00000c0c000c0c0f10017c0c00000c0c000c0c00000
-00c0c000c0c0000000c0c00000fcc0e500f000fdc0010000f5c00200c0c0
-fb00fdc00a0000c0c0c00000c0c00000fac00a0000c0c0c00000c0c00000
-f7c0050000c0c00000fbc0010000fac0010000f5c0010000fac0090000c0
-c00000c0c00000f9c0080000c0c00000c00000f6c00100009bc01a0000c0
-c0c000c0c00000c0c000c0c00000c0c00000c0c00000c0c0fc0001c0c0fc
-0001c0c0f60001c0c0f40001c0c0fc0006c0c0000000c0c0f50001c0c0fb
-0008c0c00000c0c000c0c0ee0001c0c0fb0001c0c0fb0001c0c0fc0001c0
-c0e70001c0c0fc0005c0c00000c0c0fc0001c0c0f90001c0c0f60009c0c0
-000000c0c000c0c0f90001c0c0f70001c0c0fb0013c0c0000000c0c00000
-00c0c00000c0c00000c0c0f7000bc0c0000000c0c0000000c0c0f20001c0
-c0fb0008c0c00000c0c000c0c0f1001cc0c00000c0c000c0c0000000c0c0
-00c0c0000000c0c00000c0c000c0c0e600f000fdc0010000f5c00200c0c0
-fb00fdc01b0000c0c0c00000c0c00000c0c00000c0c0c00000c0c00000c0
-c00000f7c0050000c0c00000fbc0010000fac0010000f5c02e0000c0c0c0
-0000c00000c0c00000c0c00000c0c0c00000c0c00000c0c00000c00000c0
-c0c00000c00000c0c0c000009cc01a0000c0c0c000c0c00000c0c000c0c0
-0000c0c00000c0c00000c0c0fc0014c0c000c0c000c0c0000000c0c000c0
-c0000000c0c0f5000cc0c000c0c000c0c0000000c0c0f50014c0c000c0c0
-0000c0c00000c0c000c0c0000000c0c0f70006c0c0000000c0c0fc0001c0
-c0fb000cc0c000c0c000c0c0000000c0c0fc0001c0c0f20001c0c0fc0005
-c0c00000c0c0fc000bc0c0000000c0c0000000c0c0f60011c0c000c0c000
-00c0c0000000c0c00000c0c0fb0006c0c0000000c0c0fc0013c0c0000000
-c0c0000000c0c00000c0c00000c0c0f7000bc0c0000000c0c0000000c0c0
-f20014c0c000c0c00000c0c00000c0c000c0c0000000c0c0f6001dc0c000
-00c0c000c0c0000000c0c000c0c0000000c0c00000c0c00000c0c0e700f0
-00fdc0010000f1c0fc0001c0c0fc00fdc0fd0004c00000c0c0fb0008c0c0
-000000c0c00000f6c0fd0005c00000c0c0c0fc00fcc0fc00f5c0fb00fdc0
-fd0004c00000c0c0fb000ac0c0000000c0c00000c0c0fb00fdc0fb009bc0
-050000c0c0c000fbc0fd00fdc00a00c0c00000c0c0c000c0c0fc00fdc0fd
-00fbc0fd00fbc0f300fdc0fd00fbc0f300fdc00a0000c0c0c00000c0c000
-00fbc0f500fbc0fc00fcc0fb00fdc0fd00fbc0fb0001c0c0f300fcc00b00
-00c0c0c00000c0c0000000fcc0fd00fbc0f400fdc0fc00fbc0010000fcc0
-fb00fbc0fc00fcc0fd00fbc0fd0005c0c00000c0c0f600fbc0fd00fcc0f2
-00fdc00a0000c0c0c00000c0c00000fbc0f500fbc0fd00fbc0fd00fbc008
-0000c0c0c00000c0c0e700f000f0c0f80080c0a0c00200c0c0800080008b
-00f000f0c0f80080c0a0c00200c0c0800080008b00f000f0c0f80080c09c
-c0800080008c00f000f0c0f80080c0a0c0800080008800f000a8c0f80080
-c0e8c0800080008800f000a8c0f80080c0e8c0800080008800f000fdc001
-0000f5c0fa00bec0fd0004c0c0000000f5c0fd0080c0fbc0040000c0c0c0
-f600fdc0fb00fdc0ed00fdc0980001c0c0e20001c0c0f20000c0e90000c0
-fc00fdc0eb00fbc0ed00fac0ee00fdc0b300f000fdc0010000f4c0050000
-c0c00000bfc0fd0004c0c0000000f6c0040000c0000080c0fcc0040000c0
-c0c0f50001c0c0fa0001c0c0ec0001c0c0980001c0c0e20001c0c0f30001
-c0c0ea0001c0c0fb0001c0c0ea0004c0c000c0c0ed0005c0c00000c0c0ee
-0001c0c0b300f000fdc0010000f4c0050000c0c00000bfc0f800f6c00400
-00c0c00080c0fcc0040000c0c0c0f50001c0c0fa0001c0c0ec0001c0c080
-00e90001c0c0ea0001c0c0fb0001c0c0ea0005c0c00000c0c0ee0005c0c0
-0000c0c0ee0001c0c0b300f000fdc0010000f4c0070000c0c00000c0c0fb
-00fdc0fb00fdc0fb0012c0c00000c0c00000c0c00000c0000000c0c0c0fb
-00fdc0fb00f6c0040000c0c0c0fb0003c0000000fcc0010000fbc0fb0083
-c0050000c0c0c000fcc0fa0001c0c0fa0001c0c0f400fbc0fd0007c0c000
-c0c0000000fcc0fd0010c0c000c0c0c0000000c0c0c000c0c00000fbc0fd
-00fbc0f500fcc0fd0008c0c000c0c0c0000000fbc0f500fdc00400c0c000
-00fbc0fc00fdc0fd000ec0c000c0c0c0000000c0c0c000c0c0f500fdc0fd
-0007c0c000c0c0c00000fac0fd00fbc0f600fac0fd0007c0c000c0c00000
-00fbc0f50007c0c00000c0c00000fbc0fd00fbc0fd0007c0c00000c0c000
-00fbc0fd00fbc0fd0005c0c00000c0c0b700f000fdc0010000f4c0fb0038
-c0c00000c0c0c00000c00000c0c0c00000c00000c0c0c00000c00000c0c0
-0000c0c0c0000000c00000c00000c0c0c00000c00000c0c0c00000f7c0fd
-000dc0c0000000c00000c0c00000c0c0fc00fdc0060000c0c0c0000084c0
-040000c0c0c0fc0001c0c0fb0001c0c0fa0001c0c0f5000ec0c0000000c0
-c00000c0c0c000c0c0fb0022c0c0000000c0c00000c0c000c0c00000c0c0
-0000c0c0000000c0c000c0c0000000c0c0f30012c0c0000000c0c0c000c0
-c000c0c0000000c0c0f7000ec0c00000c0c00000c0c0000000c0c0fc0001
-c0c0fc000cc0c00000c0c000c0c00000c0c0f30001c0c0fc000ac0c00000
-c0c0000000c0c0fc0006c0c0000000c0c0f50001c0c0fb00fdc00a00c0c0
-00c0c0000000c0c0f60017c0c00000c0c000c0c0000000c0c000c0c00000
-00c0c00000fbc0170000c0c0000000c0c000c0c0000000c0c00000c0c000
-c0c0b600f000fdc0010000f4c0060000c00000c0c0f90003c0c00000fbc0
-190000c0c0c00000c00000c0c00000c0c0c00000c0c00000c00000fac0f9
-00f7c0fd0010c0c0000000c00000c0c00000c0c0c00000fcc0060000c0c0
-c0000084c0050000c0c0c000fbc0fb0001c0c0fa0001c0c0f50001c0c0f9
-0007c0c00000c0c00000fbc0fd000ec0c00000c0c000c0c00000c0c00000
-f9c0030000c0c0f200fbc0fd0006c0c00000c0c000f9c0f7000ec0c00000
-c0c00000c0c0000000c0c0fc0001c0c0fc000cc0c00000c0c000c0c00000
-c0c0f30001c0c0fc000ac0c00000c0c0000000c0c0fc0006c0c0000000c0
-c0f50001c0c0fb0006c0c00000c0c000f9c0f60010c0c00000c0c000c0c0
-000000c0c000c0c0f90017c0c00000c0c000c0c0000000c0c000c0c00000
-00c0c00000fcc0b500f000fdc0010000f4c0080000c0c00000c00000f8c0
-fd00fdc0120000c0c0c00000c00000c0c00000c0c0c00000fbc0010000fa
-c0010000f2c0fd0010c0c0000000c00000c0c00000c0c0c00000fcc00600
-00c0c0c0000084c0010000fbc0030000c0c0fb0001c0c0fa0001c0c0f500
-01c0c0f90020c0c00000c0c000c0c00000c0c0000000c0c00000c0c000c0
-c00000c0c00000c0c0f800fdc0f5000ac0c00000c0c0000000c0c0fb0001
-c0c0f2000ec0c00000c0c00000c0c0000000c0c0fc0001c0c0fc000cc0c0
-0000c0c000c0c00000c0c0f30001c0c0fc000ac0c00000c0c0000000c0c0
-fc0006c0c0000000c0c0f50001c0c0fb0008c0c00000c0c000c0c0f10010
-c0c00000c0c000c0c0000000c0c000c0c0f90017c0c00000c0c000c0c000
-0000c0c000c0c0000000c0c00000fcc0b500f000fdc0010000f4c0080000
-c0c00000c00000f6c0160000c0c00000c0c0c00000c00000c0c00000c0c0
-c00000fbc0010000fac0010000f2c0fd0010c0c0000000c00000c0c00000
-c0c0c00000fcc0060000c0c0c0000084c0010000fbc0030000c0c0fb0001
-c0c0fa0001c0c0f50001c0c0f90020c0c00000c0c000c0c00000c0c00000
-00c0c00000c0c000c0c00000c0c00000c0c0f60001c0c0f6000ac0c00000
-c0c0000000c0c0fb0001c0c0f2000ec0c00000c0c00000c0c0000000c0c0
-fc0001c0c0fc000cc0c00000c0c000c0c00000c0c0f30001c0c0fc000ac0
-c00000c0c0000000c0c0fc0006c0c0000000c0c0f50001c0c0fb0008c0c0
-0000c0c000c0c0f10010c0c00000c0c000c0c0000000c0c000c0c0f9001c
-c0c00000c0c000c0c0000000c0c000c0c0000000c0c00000c0c000c0c0b6
-00f000fdc0010000f4c0290000c0c00000c00000c0c0c00000c00000c0c0
-c00000c00000c0c0c00000c00000c0c00000c0c0c00000fbc00e0000c0c0
-c00000c00000c0c0c00000f7c0fd0010c0c0000000c00000c0c00000c0c0
-c00000fcc0060000c0c0c0000084c0010000fbc0030000c0c0fb0001c0c0
-fa0001c0c0f50036c0c0000000c0c00000c0c00000c0c000c0c00000c0c0
-000000c0c00000c0c000c0c00000c0c00000c0c0000000c0c000c0c00000
-00c0c0f7000ac0c00000c0c0000000c0c0fb0006c0c0000000c0c0f7000e
-c0c00000c0c00000c0c0000000c0c0fc0001c0c0fc000cc0c00000c0c000
-c0c00000c0c0f30001c0c0fc0015c0c00000c0c0000000c0c000c0c000c0
-c0000000c0c0f50014c0c000c0c00000c0c00000c0c000c0c0000000c0c0
-f60035c0c000c0c00000c0c0000000c0c000c0c0000000c0c00000c0c000
-00c0c000c0c0000000c0c000c0c0000000c0c00000c0c00000c0c0b700f0
-00fdc0010000f5c0fd0005c0c00000c0c0fb00fdc0fb00fdc0fb00fdc0fd
-0003c00000c0fc00fbc0fb00fdc0fb00f6c0010000fcc00a0000c00000c0
-c00000c0c0fc00fcc0fb0083c00e0000c0c0c000c0c0c000c0c0000000fc
-c0fc00fcc0f500fbc01a0000c0c0c00000c0c00000c0c0c000c0c00000c0
-c00000c0c00000fbc0fd00fbc0fd00fbc0f500fdc00300c0c000fcc0fb00
-fbc0f500fbc0fd00fbc0fc00fcc0fd0007c0c00000c0c00000fbc0f400fc
-c0fd0005c0c00000c0c0fc00fdc0fd00fbc0f300fdc00a0000c0c0c00000
-c0c00000fbc0f600fbc0fc00fbc0fd00fbc0010000fac0fd00fbc0fd00fb
-c0080000c0c0c00000c0c0b700f000a8c0f80080c0e8c0bc0001c0c0c200
-01c0c0e20001c0c08000ae00f000a8c0f80080c0e8c0c00005c0c00000c0
-c0c60005c0c00000c0c0e60005c0c00000c0c08000ae00f000a8c0f80080
-c0e8c0bf00fcc0c400fcc0e400fcc08000ad00f000a8c0f80080c0e8c080
-0080008800f000f0c0f80080c0a0c0800080008800f000f0c0f80080c0a0
-c0800080008800f000fdc0010000f3c0fd0002c0c000cdc0010000f2c0fd
-0080c0ebc0040000c0c0c0ee00fdc0fb00fdc0d20001c0c0fb00fdc0f500
-fdc0f900fdc0ed00fac0ec00fdc0f400fbc0de0006c0c0000000c0c0eb00
-01c0c0fb0000c0f20001c0c08c00f000fdc0010000f2c00400c0c0c000cd
-c0010000f3c0040000c0000080c0ecc0040000c0c0c0ed0001c0c0fa0001
-c0c0d20001c0c0fa0001c0c0f40001c0c0f80001c0c0ec0005c0c00000c0
-c0ec0001c0c0f50006c0c0000000c0c0df00fdc0030000c0c0ec0001c0c0
-fb0001c0c0f10001c0c08d00f000fdc0010000eec00000bec0040000c0c0
-0080c0ecc0040000c0c0c0ed0001c0c0fa0001c0c0ca0001c0c0f40001c0
-c0f80001c0c0ec0005c0c00000c0c0ec0001c0c0f50006c0c0000000c0c0
-df00fcc00200c0c0ed0001c0c0fa0001c0c0f00001c0c08e00f000fdc001
-0000eec00100c0fb000ac0c0000000c00000c0c0c0fb0010c0c00000c000
-0000c0c00000c0c0c00000f5c0fd00fdc0050000c0000000fcc0010000fb
-c0fb0080c0f3c0050000c0c0c000fbc0fd00fcc0fa0001c0c0fa000bc0c0
-000000c0c0000000c0c0f600fcc0fd0008c0c0000000c0c00000fcc0fb00
-fdc0fa0001c0c0fc00fcc0fc00fcc0fa0001c0c0fc00fbc0f50007c0c000
-00c0c00000fbc0fd00fcc0fa0001c0c0f40001c0c0fa00fbc0fd00fbc007
-0000c0c000c0c0c0f600f9c0010000fbc00d0000c0c0000000c0c0000000
-c0c0fc00fac0070000c0c0c000c0c0fa0001c0c08e00f000fdc0010000f3
-c00d00c000c0c0000000c0c0c00000c0f90017c00000c0c0c00000c0c000
-0000c00000c00000c0c0c00000f4c0010000fcc0070000c0c00000c0c0fc
-00fdc0060000c0c0c0000080c0f4c0010000fbc0fd0001c0c0fb0001c0c0
-fb0001c0c0fa000bc0c0000000c0c0000000c0c0f3000ac0c00000c0c000
-0000c0c0fb0001c0c0fb0001c0c0fa0001c0c0f90009c0c0000000c0c000
-c0c0fb000bc0c0000000c0c0000000c0c0f600fbc0080000c0c0000000c0
-c0fb0001c0c0fb0001c0c0f300fdc0fd0016c0c0000000c0c000c0c00000
-00c0c00000c0c00000c0c0f70002c0c000fcc01400c0c0000000c0c000c0
-c0000000c0c0000000c0c0fa0001c0c0fc00f9c0fb0001c0c08e00f000fd
-c0010000f3c0fd0001c0c0f8001fc00000c000c00000c00000c0c0c00000
-c0c00000c0c00000c00000c0c0c00000f4c0010000fcc00a0000c0c00000
-c0c0c00000fcc0060000c0c0c0000080c0f4c0010000fbc0f900fbc0fb00
-01c0c0fa000bc0c0000000c0c0000000c0c0f600fbc00a0000c0c0000000
-c0c00000fbc0fb0001c0c0fa0001c0c0fc00fbc0fd0005c0c00000c0c0fc
-0004c0c0000000f9c0f60006c0c000c0c00000f9c0010000fbc0fb0001c0
-c0f1001ac0c00000c0c0000000c0c000c0c0000000c0c00000c0c00000c0
-c0f7001bc0c00000c0c0c000c0c0000000c0c000c0c000c000c0c0000000
-c0c0fa0001c0c0fc0006c0c000c000c0c0fb0001c0c08e00f000fdc00100
-00f3c0fd0004c0c0000000fac0120000c000c00000c00000c0c0c00000c0
-c00000fbc0060000c0c0c00000f4c0010000fcc00a0000c0c00000c0c0c0
-0000fcc0060000c0c0c0000080c0f4c0010000fbc0fa0005c0c00000c0c0
-fb0001c0c0fa000bc0c0000000c0c0000000c0c0f70015c0c00000c0c000
-00c0c0000000c0c000c0c00000c0c0fb0001c0c0fa0013c0c0000000c0c0
-0000c0c0000000c0c00000c0c0fc0006c0c0000000c0c0f10008c0c00000
-c0c000c0c0fa0005c0c00000c0c0fb0001c0c0f00019c0c000c0c0000000
-c0c000c0c0000000c0c00000c0c00000c0c0f7001bc0c0000000c0c000c0
-c0000000c0c000c0c000c000c0c0000000c0c0fa0001c0c0fc0006c0c000
-c000c0c0fb0001c0c08e00f000fdc0010000f3c0fd0004c0c0000000fac0
-120000c000c00000c00000c0c0c00000c0c00000fbc0060000c0c0c00000
-f4c0010000fcc00a0000c0c00000c0c0c00000fcc0060000c0c0c0000080
-c0f4c0010000fbc0fa0005c0c00000c0c0fb0001c0c0fa000bc0c0000000
-c0c0000000c0c0f70015c0c00000c0c00000c0c0000000c0c000c0c00000
-c0c0fb0001c0c0fa0013c0c0000000c0c00000c0c0000000c0c00000c0c0
-fc0006c0c0000000c0c0f10008c0c00000c0c000c0c0fa0005c0c00000c0
-c0fb0001c0c0f5001ec0c0000000c0c000c0c0000000c0c000c0c0000000
-c0c00000c0c00000c0c0f7001bc0c0000000c0c000c0c0000000c0c000c0
-c000c000c0c0000000c0c0fa0001c0c0fc0006c0c000c000c0c0fb0001c0
-c08e00f000fdc0010000f3c0fd001dc0c0000000c0c0c00000c00000c000
-c00000c00000c0c0c00000c0c00000fbc0060000c0c0c00000f4c0010000
-fcc00a0000c0c00000c0c0c00000fcc0060000c0c0c0000080c0f4c00100
-00fbc0fd0008c0c000c0c00000c0c0fb0001c0c0fa000bc0c0000000c0c0
-000000c0c0f70015c0c00000c0c0000000c0c000c0c00000c0c00000c0c0
-fb0001c0c0fa0013c0c0000000c0c00000c0c0000000c0c00000c0c0fc00
-0bc0c0000000c0c0000000c0c0f60014c0c00000c0c000c0c0000000c0c0
-00c0c00000c0c0fb0001c0c0f5001ec0c0000000c0c000c0c0000000c0c0
-00c0c0000000c0c00000c0c00000c0c0f7000fc0c0000000c0c000c0c000
-0000c0c000f9c0fc0001c0c0fb000cc0c000c0c000c0c000c000c0c0fc00
-01c0c0fa0001c0c09500f000fdc0010000f3c0fd0003c0c000c0fb000ac0
-c00000c0c0c00000c0c0fb0001c0c0fc00fbc0fa00f5c0fc00fdc0070000
-c0c00000c0c0fc00fcc0fb0080c0f3c0050000c0c0c000fbc0fd00fdc005
-00c0c0000000fcc0fc00fcc0fd00fac0f600fdc00800c0c0000000c0c0c0
-fc00fdc00500c0c0000000fcc0fc00fcc0fd00fdc00400c0c00000fbc0fc
-00fcc0fd00fbc0f600fdc0050000c0c00000fbc0fd00fdc00500c0c00000
-00fcc0f500fbc0fd00fbc0fd00fbc0fd0005c0c00000c0c0f70008c0c000
-0000c0c00000fbc0fd0004c0c000c0c0fa0001c0c0fb00fdc00d0000c0c0
-000000c0c0000000c0c0f90001c0c09500f000f0c0f800dbc001000080c0
-c7c0db0001c0c080008000af00f000f0c0f800dcc001000080c0c6c0dc00
-01c0c080008000ae00f000f0c0f800e0c0fb0080c0c5c0e000fbc0800080
-00ad00f000f0c0f80080c0a0c0800080008800f00080c088c08000800088
-00f00080c088c0800080008800f000fdc001000080c092c0040000c0c0c0
-800080008800f000fdc001000080c092c0040000c0c0c0800080008800f0
-00fdc001000080c092c0040000c0c0c0800080008800f000fdc001000080
-c092c0040000c0c0c0800080008800f000fdc001000080c092c0040000c0
-c0c0800080008800f000fdc0040000c0c0c0f90000c0f90000c0f90000c0
-f90000c0f90000c0f90000c0f90000c0f90000c0f90000c0f90000c0f900
-00c0f90000c0f90000c0f90000c0f90000c0f90000c0f90000c0f90000c0
-f90000c0f90000c0f90000c0f90000c0f90000c0f90000c0f90000c0f900
-00c0f90000c0f90000c0f900fcc0040000c0c0c0800080008800f000fdc0
-01000080c092c0040000c0c0c0800080008800f000fdc001000080c092c0
-040000c0c0c0800080008800f000fdc001000080c092c0040000c0c0c080
-0080008800f000fdc001000080c092c0040000c0c0c0800080008800f000
-80c088c0800080008800f00080c088c0800080008800f00080c088c08000
-80008800f00080c088c0800080008800f000f0c0f80080c0a0c080008000
-8800f000f0c0f80080c0a0c0800080008800f000fdc0010000f5c00000fb
-c0020000c0fb00eec0fd00f1c0fd00fbc0fd0080c0dac0040000c0c0c080
-0080008800f000fdc0010000f3c0fd0009c0c0000000c0c0c00000eec001
-0000f0c0010000fac001000080c0dac0040000c0c0c0800080008800f000
-fdc0010000f3c0fd0009c0c0000000c0c0c00000eec0010000f0c0010000
-fac001000080c0dac0040000c0c0c0800080008800f000fdc0010000f3c0
-fd0005c0c000c00000f2c0fb00fdc0070000c00000c0c0c0fb00fbc00100
-00fac001000080c0dac0040000c0c0c0800080008800f000fdc0010000f3
-c0fd0007c0c000c0c0000000f5c0160000c0c0c00000c0c0000000c00000
-c00000c0c0c00000fcc0010000fac001000080c0dac0040000c0c0c08000
-80008800f000fdc0010000f3c0fd0002c0c000fcc0010000f5c0010000fa
-c0060000c0c00000c0f900fcc0010000fac001000080c0dac0040000c0c0
-c0800080008800f000fdc0010000f3c0fd0002c0c000fbc0010000f5c0fd
-00fcc0080000c0c00000c00000f7c0010000fac001000080c0dac0040000
-c0c0c0800080008800f000fdc0010000f3c0fd0009c0c0000000c0c0c000
-00f3c00d0000c0c0c00000c0c00000c00000f7c0010000fac001000080c0
-dac0040000c0c0c0800080008800f000fdc0010000f3c0fd0009c0c00000
-00c0c0c00000f7c0160000c0c0c00000c0c00000c0c00000c00000c0c0c0
-0000fcc0010000fac001000080c0dac0040000c0c0c0800080008800f000
-fdc0010000f5c00000fbc0020000c0fb00f5c0fb000ac0c0000000c0c000
-00c0c0fb00fcc0fc00fcc0fc0080c0dbc0040000c0c0c0800080008800f0
-00f0c0f80080c0a0c0800080008800f000f0c0f80080c0a0c08000800088
-00f000f0c0f80080c0a0c0800080008800f000f0c0f80080c0a0c0800080
-008800f00080c088c0800080008800f00080c088c0800080008800f000fd
-c001000080c092c0040000c0c0c0800080008800f000fdc001000080c092
-c0040000c0c0c0800080008800f000fdc001000080c092c0040000c0c0c0
-800080008800f000fdc001000080c092c0040000c0c0c0800080008800f0
-00fdc001000080c092c0040000c0c0c0800080008800f000fdc0040000c0
-c0c0f90000c0f90000c0f90000c0f90000c0f90000c0f90000c0f90000c0
-f90000c0f90000c0f90000c0f90000c0f90000c0f90000c0f90000c0f900
-00c0f90000c0f90000c0f90000c0f90000c0f90000c0f90000c0f90000c0
-f90000c0f90000c0f90000c0f90000c0f90000c0f90000c0f900fcc00400
-00c0c0c0800080008800f000fdc001000080c092c0040000c0c0c0800080
-008800f000fdc001000080c092c0040000c0c0c0800080008800f000fdc0
-01000080c092c0040000c0c0c0800080008800f000fdc001000080c092c0
-040000c0c0c0800080008800f00080c088c0800080008800f00080c088c0
-800080008800f00080c088c0800080008800f00080c088c0800080008800
-f000e8c0f80080c0a8c0800080008800f000e8c0f80080c0a8c080008000
-8800f000fdc0010000f5c0f90000c0f800fdc0010000fac0000080c0b9c0
-040000c0c0c0800080008800f000fdc0010000f4c0060000c0c00000c0f8
-00fdc0010000fbc001000080c0b9c0040000c0c0c0800080008800f000fd
-c0010000f4c0060000c0c0c000c0f800f6c001000080c0b9c0040000c0c0
-c0800080008800f000fdc0010000f4c0030000c000fbc0fd000ac0c000c0
-c0000000c0c0c0fa0080c0cdc0fd0002c00000f4c0040000c0c0c0800080
-008800f000fdc0010000f4c0fc00fdc00c00c0c000c0c00000c0c0c00000
-fbc001000080c0ccc0050000c0c00000f3c0040000c0c0c0800080008800
-f000fdc0010000f4c0130000c000c0c0c00000c0c0c0000000c0c0c00000
-fbc001000080c0ccc0050000c0c00000f3c0040000c0c0c0800080008800
-f000fdc0010000f4c0010000fbc00c0000c0c0c0000000c0c0c00000fbc0
-01000080c0ccc0050000c0c00000f3c0040000c0c0c0800080008800f000
-fdc0010000f4c0130000c0c0c000c00000c0c0c0000000c0c0c00000fbc0
-01000080c0ccc0050000c0c00000f3c0040000c0c0c0800080008800f000
-fdc0010000f4c0130000c0c00000c000c0c000c0c00000c0c0c00000fbc0
-040000c0000080c0cfc0050000c0c00000f3c0040000c0c0c08000800088
-00f000fdc0010000f5c0f900fdc0fd0004c0c000c0c0fc00fbc0fd0080c0
-cdc0fb00f3c0040000c0c0c0800080008800f000e8c0f80080c0bcc00100
-00eec0800080008800f000e8c0f80080c0bcc0010000eec0800080008800
-f000e8c0f80080c0bdc0fc00efc0800080008800f000e8c0f80080c0a8c0
-800080008800f00080c088c0800080008800f00080c088c0800080008800
-0ac0c0000000c0c000c0c0c0fb0080c088c08000800088000ac0c0000000
-c0c00000c0c0fb0080c088c08000800088000ac0c0000000c0c00000c0c0
-fb0080c088c080008000880014c0c0000000c0c00000c0c000c0c00000c0
-c0c0000080c092c0040000c0c0c080008000880014c0c000c000c0c00000
-c0c0c000c0c000c0c0c0000080c092c0040000c0c0c080008000880010c0
-c000c000c0c00000c0c00000c0c000c0fa0000c0f90000c0f90000c0f900
-00c0f90000c0f90000c0f90000c0f90000c0f90000c0f90000c0f90000c0
-f90000c0f90000c0f90000c0f90000c0f90000c0f90000c0f90000c0f900
-00c0f90000c0f90000c0f90000c0f90000c0f90000c0f90000c0f90000c0
-f90000c0f90000c0f90000c0f90001c0c0fa0000c080008000880014c0c0
-00c000c0c00000c0c00000c0c000c0c0c0000080c092c0040000c0c0c080
-0080008800f9c00d0000c0c00000c0c000c0c0c0000080c092c0040000c0
-c0c0800080008800fdc00c00c0c0c00000c0c00000c0c00080c088c08000
-800088000f00c0c000c0c00000c0c0c00000c0c00080c088c08000800088
-00f00080c088c0800080008800f00080c088c0800080008800f00080c088
-c0800080008800f00080c088c08000800088008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-c080c080c0c0c08000c00080c080c080c0c0c08000c00001c0c0fc00d6c0
-fd00f8c00000f9c00000d2c0fd00edc0fd00fbc0fd00ebc0fd00f1c0fd00
-fac0010000ebc0fd00fbc0fd00dac00000f1c0010000c3c0fd00edc0fd00
-e8c00000f2c0fd00f0c0010000efc08000c000fdc0010000d4c0010000f9
-c0010000fac0010000d1c0010000ecc0010000fac0010000eac0010000f0
-c0010000fac0010000eac0010000fac0010000dbc0010000f1c0010000c2
-c0010000ecc0010000e9c0010000f1c0010000f0c0010000efc08000c000
-fdc0010000d4c0010000f9c0010000fac0010000f1c0010000f7c00000f9
-c00000f4c0010000ecc0010000fac0010000eac0010000f0c0010000e2c0
-010000fac0010000dbc0010000f6c00000c9c00000f4c0010000ecc00100
-00e9c0010000f1c0010000ddc08000c000fdc00d0000c0c0c0000000c000
-00c0c0c0fc00fcc0fd0004c00000c0c0fb00f5c0060000c00000c0c0fa00
-01c0c0fa0007c0c00000c0000000fbc0010000f8c0010000fac0030000c0
-c0fb00fbc0010000fcc0fc00fcc0fb00fdc0070000c0c00000c0c0fc00fc
-c0fb00fdc0fb00fdc0050000c0c00000f4c0010000fbc0fd00fdc0f90001
-c0c0fb00fbc0010000fac0010000fcc0fc00f5c0080000c0000000c0c0c0
-fb0001c0c0fa00f9c0130000c0c0c0000000c0c0c0000000c00000c0c0c0
-fc00fcc0fd0004c00000c0c0fb00fdc0fb00f9c0030000c0c0fb00fbc001
-0000fcc0fc00fcc0fb00fdc00f0000c0c00000c0000000c00000c0c0c0fb
-0001c0c0fa00fdc0fc00fac0010000f1c0fd0010c00000c0000000c0c0c0
-000000c00000c08000c000fdc0040000c0c0c0f900fbc0120000c0c00000
-c0c00000c0c00000c0c0c00000f6c0fd0007c00000c0c0c00000fac00100
-00fbc0050000c0c00000f3c0010000fac00a0000c0c00000c0c0c00000fc
-c0010000f9c0310000c0c00000c0c0c00000c0c00000c00000c0c0c00000
-c00000c0c00000c0c0c00000c00000c0c0c00000c0c00000c00000f3c001
-0000fac0130000c0c0c00000c0c00000c0c00000c0c0c00000fcc0010000
-fac0010000f9c0010000f5c0120000c0c00000c00000c0c0c00000c0c0c0
-0000f8c0010000fbc0040000c0c0c0f900fbc01a0000c0c00000c0c00000
-c0c00000c0c0c00000c00000c0c0c00000fbc00a0000c0c00000c0c0c000
-00fcc0010000f9c0130000c0c00000c0c0c00000c0c00000c00000c0c0f9
-000cc00000c0c0c00000c0c0c00000f8c0010000fbc0010000f0c0120000
-c0c00000c0c00000c00000c0c00000c0c08000c000fdc00d0000c0c0c000
-00c000c00000c0c0fb0009c0c00000c0c00000c0c0f900f6c00a0000c0c0
-0000c0c0c00000fac0010000fbc0050000c0c00000f4c0010000fac00100
-00fcc0010000f8c0010000fcc0fb0003c0c00000f9c0fc00fcc0170000c0
-c00000c00000c0c0c00000c00000c0c0c00000c0c0fc00f2c0010000fac0
-010000fac0040000c0c0c0f900fcc0010000fac0010000fcc0fb00f5c006
-0000c0c00000c0f900fdc0010000f9c0010000fac00d0000c0c0c00000c0
-00c00000c0c0fb0009c0c00000c0c00000c0c0f90003c0c00000f8c00100
-00fcc0010000f8c0010000fcc0fb0003c0c00000f9c0fc00fdc0070000c0
-00c00000c0f900fdc0010000fbc0fb00fbc0010000f0c0120000c0c00000
-c0c00000c00000c0c00000c0c08000c000fdc01e0000c0c0c00000c000c0
-0000c00000c0c00000c0c00000c0c00000c0c00000f1c00a0000c0c00000
-c0c0c00000fac0010000fbc0050000c0c00000f5c0010000fac0010000fa
-c0fd00fac00e0000c0c0c00000c0c00000c0c00000f9c0fc00fcc0170000
-c0c00000c00000c0c0c00000c00000c0c0c00000c0c0fc00f2c0010000fa
-c0010000fbc0010000fcc0010000f7c0010000fac00a0000c0c0c00000c0
-c00000f5c0080000c0c00000c00000f8c0010000fac0010000f9c01e0000
-c0c0c00000c000c00000c00000c0c00000c0c00000c0c00000c0c00000f8
-c0fd00fbc0010000fac0fd00fac00e0000c0c0c00000c0c00000c0c00000
-f9c0fc00fdc0090000c000c00000c00000f8c0010000fcc0050000c0c000
-00fbc0010000f0c0120000c0c00000c0c00000c00000c0c00000c0c08000
-c000fdc01e0000c0c0c00000c000c00000c00000c0c00000c0c00000c0c0
-0000c0c00000f1c00a0000c0c00000c0c0c00000fac0010000fbc0050000
-c0c00000fcc0010000fcc0010000fac0010000f7c0010000fbc00e0000c0
-c0c00000c0c00000c0c00000f9c0240000c00000c0c0c00000c0c00000c0
-0000c0c0c00000c00000c0c0c00000c0c00000c00000f3c0010000fac001
-0000fcc0010000fbc0010000f7c0010000fac00a0000c0c0c00000c0c000
-00f5c0080000c0c00000c00000f8c0010000fbc0010000f8c01e0000c0c0
-c00000c000c00000c00000c0c00000c0c00000c0c00000c0c00000f6c006
-0000c0c0c00000f7c0010000fbc00e0000c0c0c00000c0c00000c0c00000
-f9c0100000c00000c0c00000c000c00000c00000f8c0010000fcc0050000
-c0c00000fbc0010000f0c0120000c0c00000c0c00000c00000c0c00000c0
-c08000c000fdc0230000c0c0c00000c000c00000c00000c0c00000c0c000
-00c0c00000c0c00000c0c0c00000f6c01d0000c0c00000c0c0c00000c000
-00c0c0c00000c00000c0c00000c0c00000fcc0060000c0c0c00000fac001
-0000fac0060000c0c0c00000fcc03b0000c0c0c00000c0c00000c0c00000
-c0c0c00000c0c00000c0c00000c0c00000c0c00000c00000c0c0c00000c0
-0000c0c0c00000c0c00000c0c00000fcc0010000fac0010000fac0130000
-c0c0c00000c0c0c00000c00000c0c0c00000fcc0010000fac00a0000c0c0
-c00000c0c00000fbc0010000fcc0180000c0c00000c00000c0c0c00000c0
-c0c00000c00000c00000f7c02e0000c0c0c00000c000c00000c00000c0c0
-0000c0c00000c0c00000c0c00000c0c0c00000c00000c0c0c00000c00000
-fac0060000c0c0c00000fcc03a0000c0c0c00000c0c00000c0c00000c0c0
-c00000c0c00000c0c00000c00000c000c00000c00000c0c0c00000c0c0c0
-0000c00000c00000c0c00000fbc0010000fac0010000f8c0120000c0c000
-00c0c00000c00000c0c00000c0c08000c00001c0c0fc0012c0c00000c0c0
-c00000c0c0000000c00000c0c0fb00fdc0fb00f6c0fd0003c0c00000fcc0
-fd00fbc0fd00fdc0fb00f6c00000f9c00000f8c0fb00fcc0fc00fdc0fd00
-04c00000c0c0fb000ac0c0000000c0c00000c0c0fb00fdc0fb00fdc0fb00
-08c0c0000000c0c00000fcc0010000fbc0fc00fcc0fc0001c0c0f90001c0
-c0fb00fcc0fc00fcc0fc00fdc0fd0002c00000fcc0010000fcc0070000c0
-c00000c0c0fb00fbc0fd0002c0c000f7c0fc0012c0c00000c0c0c00000c0
-c0000000c00000c0c0fb00fdc0fb00fdc0fb0002c0c000f8c0fb00fcc0fc
-00fdc0fd0004c00000c0c0fb0012c0c0000000c0c00000c00000c0c0c000
-00c0c0fb00fbc0fd00fdc0fd0005c00000c0c0c0fc00fbc0010000f8c003
-0000c0c0fb00fdc0fb0001c0c08000c000e4c0010000d5c001000080c097
-c00100008dc0090000c0c00000c0c00000f7c0030000c0c08000c000e8c0
-050000c0c00000d5c001000080c09bc0050000c0c000008dc0090000c0c0
-0000c0c00000fbc0070000c0c00000c0c08000c000e7c0fc00d5c0fc0080
-c09bc0fc008bc0fc0001c0c0fc00fbc0fc00fdc08000c00080c080c080c0
-c0c08000c000
-grestore
-showpage
-%%Trailer
-
-%%EndDocument
- @endspecial -30 58949 a
- currentpoint currentpoint translate 1 0.79 div 1 0.79 div scale neg
-exch neg exch translate
- -30 58949 a -30 60498 a
-SDict begin H.S end
- -30
-60498 a -30 60498 a
-SDict begin 18.2 H.A end
- -30 60498 a -30 60498 a
-SDict begin [ /View [/XYZ H.V] /Dest (4830) cvn H.B /DEST pdfmark end
- -30 60498
-a Black 13294 x FR(172)p Black eop end
-%%Page: 173 195
-TeXDict begin 173 194 bop -8000 -8000 a
-SDict begin /product where{pop product(Distiller)search{pop pop pop
-version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
-closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
-grestore}if}{pop}ifelse}{pop}ifelse}if end
- -8000 -8000 a
-Black 0 TeXcolorgray -30 -1237 a
-SDict begin H.S end
- -30 -1237 a 0 TeXcolorgray
-0 TeXcolorgray -30 -1237 a
-SDict begin H.R end
- -30 -1237 a -30 -1237 a
-SDict begin [ /View [/XYZ H.V] /Dest (page.173) cvn H.B /DEST pdfmark
-end
- -30
--1237 a Black 27927 -1636 a FR(Chapter)386 b(13)i(Basic)f(Network)f
-(Commands)p Black -30 3763 a FF(wg)19 b(et)-30 4177 y
-SDict begin H.S end
-
--30 4177 a -30 4177 a
-SDict begin 18.2 H.A end
- -30 4177 a -30 4177 a
-SDict begin [ /View [/XYZ H.V] /Dest (4833) cvn H.B /DEST pdfmark end
- -30 4177
-a -30 4177 a
-SDict begin H.S end
- -30 4177 a -30 4177 a
-SDict begin 18.2 H.A end
- -30 4177 a -30 4177
-a
-SDict begin [ /View [/XYZ H.V] /Dest (4836) cvn H.B /DEST pdfmark end
- -30 4177 a -30 4177 a
-SDict begin H.S end
- -30 4177 a -30 4177 a
-SDict begin 18.2 H.A end
- -30 4177
-a -30 4177 a
-SDict begin [ /View [/XYZ H.V] /Dest (4839) cvn H.B /DEST pdfmark end
- -30 4177 a -30 5107 a
-SDict begin H.S end
- -30 5107 a -30 5107
-a
-SDict begin 18.2 H.A end
- -30 5107 a -30 5107 a
-SDict begin [ /View [/XYZ H.V] /Dest (4841) cvn H.B /DEST pdfmark end
- -30 5107 a -30 5107 a
-SDict begin H.S end
- -30 5107
-a -30 5107 a
-SDict begin 18.2 H.A end
- -30 5107 a -30 5107 a
-SDict begin [ /View [/XYZ H.V] /Dest (4842) cvn H.B /DEST pdfmark end
- -30 5107 a 1601 x
-FP(wget)p FU(\(1\))544 b(is)f(a)h(command)f(line)h(utility)f(that)g
-(will)g(do)-39 b(wnload)544 b(\002les)f(from)h(a)g(speci\002ed)f(URL.)
--30 8722 y(While)529 b(not)g(an)g(actual)g(web-bro)-39
-b(wser)-62 b(,)21925 8722 y
-SDict begin H.S end
- 21925 8722 a 21925 8722 a
-SDict begin 18.2 H.A end
-
-21925 8722 a 21925 8722 a
-SDict begin [ /View [/XYZ H.V] /Dest (4843) cvn H.B /DEST pdfmark end
- 21925 8722 a FP(wget)529 b
-FU(is)g(used)g(primarily)g(to)g(grab)g(whole)g(or)g(partial)-30
-10737 y(web)366 b(sites)g(for)g(of)-39 b(\003ine)366
-b(vie)-39 b(wing,)366 b(or)g(for)g(f)-15 b(ast)366 b(do)-39
-b(wnload)366 b(of)g(single)f(\002les)h(from)g(HTTP)f(or)i(FTP)-30
-12752 y(serv)-23 b(ers)387 b(instead.)g(The)h(basic)f(syntax)g(is:)-30
-14637 y
-SDict begin H.S end
- -30 14637 a -30 14637 a
-SDict begin 14.56 H.A end
- -30 14637 a -30 14637
-a
-SDict begin [ /View [/XYZ H.V] /Dest (4844) cvn H.B /DEST pdfmark end
- -30 14637 a -30 14637 a
-SDict begin H.S end
- -30 14637 a -30 14637 a
-SDict begin 14.56 H.A end
- -30
-14637 a -30 14637 a
-SDict begin [ /View [/XYZ H.V] /Dest (4845) cvn H.B /DEST pdfmark end
- -30 14637 a 1276 x FJ(\045)1309 15913
-y
-SDict begin H.S end
- 1309 15913 a 1309 15913 a
-SDict begin 14.56 H.A end
- 1309 15913 a 1309 15913 a
-SDict begin [ /View [/XYZ H.V] /Dest (4846) cvn H.B /DEST pdfmark end
-
-1309 15913 a FH(wget)743 b FK(<)p FH(url)p FK(>)-30 17631
-y
-SDict begin H.S end
- -30 17631 a -30 17631 a
-SDict begin 18.2 H.A end
- -30 17631 a -30 17631 a
-SDict begin [ /View [/XYZ H.V] /Dest (4847) cvn H.B /DEST pdfmark end
- -30
-17631 a 1847 x FU(Y)-170 b(ou)387 b(can)g(also)g(pass)g(options.)g(F)
--23 b(or)387 b(e)-23 b(xample,)387 b(this)g(will)g(do)-39
-b(wnload)386 b(the)i(Slackw)-15 b(are)386 b(web)h(site:)-30
-21363 y
-SDict begin H.S end
- -30 21363 a -30 21363 a
-SDict begin 14.56 H.A end
- -30 21363 a -30 21363
-a
-SDict begin [ /View [/XYZ H.V] /Dest (4848) cvn H.B /DEST pdfmark end
- -30 21363 a -30 21363 a
-SDict begin H.S end
- -30 21363 a -30 21363 a
-SDict begin 14.56 H.A end
- -30
-21363 a -30 21363 a
-SDict begin [ /View [/XYZ H.V] /Dest (4849) cvn H.B /DEST pdfmark end
- -30 21363 a 1276 x FJ(\045)1309 22639
-y
-SDict begin H.S end
- 1309 22639 a 1309 22639 a
-SDict begin 14.56 H.A end
- 1309 22639 a 1309 22639 a
-SDict begin [ /View [/XYZ H.V] /Dest (4850) cvn H.B /DEST pdfmark end
-
-1309 22639 a FH(wget)743 b(--recursive)g(http://www.slackware.com)-30
-24357 y
-SDict begin H.S end
- -30 24357 a -30 24357 a
-SDict begin 18.2 H.A end
- -30 24357 a -30 24357
-a
-SDict begin [ /View [/XYZ H.V] /Dest (4851) cvn H.B /DEST pdfmark end
- -30 24357 a -30 24357 a
-SDict begin H.S end
- -30 24357 a -30 24357 a
-SDict begin 18.2 H.A end
- -30
-24357 a -30 24357 a
-SDict begin [ /View [/XYZ H.V] /Dest (4852) cvn H.B /DEST pdfmark end
- -30 24357 a 1846 x FP(wget)424 b
-FU(will)g(create)h(a)11443 26203 y
-SDict begin H.S end
- 11443 26203 a 11443
-26203 a
-SDict begin 18.2 H.A end
- 11443 26203 a 11443 26203 a
-SDict begin [ /View [/XYZ H.V] /Dest (4853) cvn H.B /DEST pdfmark end
- 11443 26203 a FQ(www.slackware.com)
-414 b FU(directory)424 b(and)h(store)f(the)h(\002les)f(in)g(there,)h
-(just)f(as)h(the)-30 28218 y(site)387 b(does.)-30 29008
-y
-SDict begin H.S end
- -30 29008 a -30 29008 a
-SDict begin 18.2 H.A end
- -30 29008 a -30 29008 a
-SDict begin [ /View [/XYZ H.V] /Dest (4854) cvn H.B /DEST pdfmark end
- -30
-29008 a -30 29008 a
-SDict begin H.S end
- -30 29008 a -30 29008 a
-SDict begin 18.2 H.A end
- -30 29008
-a -30 29008 a
-SDict begin [ /View [/XYZ H.V] /Dest (4855) cvn H.B /DEST pdfmark end
- -30 29008 a 2000 x FP(wget)371 b FU(can)g(also)f(do)-39
-b(wnload)371 b(\002les)f(from)h(FTP)f(sites;)g(just)g(specify)h(an)g
-(FTP)f(URL)h(instead)f(of)h(an)-30 33022 y(HTTP)387 b(one.)-30
-34588 y
-SDict begin H.S end
- -30 34588 a -30 34588 a
-SDict begin 12.972 H.A end
- -30 34588 a -30 34588
-a
-SDict begin [ /View [/XYZ H.V] /Dest (4856) cvn H.B /DEST pdfmark end
- -30 34588 a -30 34588 a
-SDict begin H.S end
- -30 34588 a -30 34588 a
-SDict begin 12.972 H.A end
- -30
-34588 a -30 34588 a
-SDict begin [ /View [/XYZ H.V] /Dest (4857) cvn H.B /DEST pdfmark end
- -30 34588 a 1420 x Fj(\045)1163 36008
-y
-SDict begin H.S end
- 1163 36008 a 1163 36008 a
-SDict begin 12.972 H.A end
- 1163 36008 a 1163 36008 a
-SDict begin [ /View [/XYZ H.V] /Dest (4858) cvn H.B /DEST pdfmark end
-
-1163 36008 a Fi(wget)662 b
-(ftp://ftp.gnu.org/gnu/wget/wget-1.8.2.tar.gz)-30 37444
-y Fh(--12:18:16--)1322 b(ftp://ftp.gnu.org/gnu/wget/wget-1.8.2.tar.gz)
-7260 38880 y(=>)662 b(`wget-1.8.2.tar.gz')-30 40316 y(Resolving)e
-(ftp.gnu.org...)f(done.)-30 41752 y(Connecting)h(to)i
-(ftp.gnu.org[199.232.41.7]:21...)654 b(connected.)-30
-43188 y(Logging)661 b(in)h(as)g(anonymous)e(...)i(Logged)f(in!)-30
-44624 y(==>)h(SYST)g(...)f(done.)1987 b(==>)662 b(PWD)g(...)g(done.)-30
-46060 y(==>)g(TYPE)g(I)g(...)g(done.)f(==>)h(CWD)g(/gnu/wget)e(...)i
-(done.)-30 47496 y(==>)g(PORT)g(...)f(done.)1987 b(==>)662
-b(RETR)g(wget-1.8.2.tar.gz)657 b(...)662 b(done.)-30
-48932 y(Length:)f(1,154,648)f(\(unauthoritative\))-30
-51803 y(100\045[==================================>])651
-b(1,154,648)3311 b(209.55K/s)2648 b(ETA)662 b(00:00)-30
-54675 y(12:18:23)f(\(209.55KB/s\))e(-)j(`wget-1.8.2.tar.gz')c(saved)j
-([1154648])-30 56398 y
-SDict begin H.S end
- -30 56398 a -30 56398 a
-SDict begin 18.2 H.A end
- -30 56398
-a -30 56398 a
-SDict begin [ /View [/XYZ H.V] /Dest (4859) cvn H.B /DEST pdfmark end
- -30 56398 a -30 56398 a
-SDict begin H.S end
- -30 56398 a -30
-56398 a
-SDict begin 18.2 H.A end
- -30 56398 a -30 56398 a
-SDict begin [ /View [/XYZ H.V] /Dest (4860) cvn H.B /DEST pdfmark end
- -30 56398 a 1842 x FP(wget)474
-b FU(has)h(man)-23 b(y)474 b(more)g(options,)g(which)g(mak)-15
-b(e)474 b(it)g(nice)h(for)g(site)f(speci\002c)g(scripts)g(\(web)g(site)
--30 60254 y(mirroring)387 b(and)g(so)g(forth\).)h(The)f(man)g(page)g
-(should)g(be)g(consulted)g(for)g(more)g(information.)-30
-62915 y
-SDict begin H.S end
- -30 62915 a -30 62915 a
-SDict begin 18.2 H.A end
- -30 62915 a -30 62915
-a
-SDict begin [ /View [/XYZ H.V] /Dest (BASIC-NETWORK-COMMANDS-FTP) cvn
-H.B /DEST pdfmark end
- -30 62915 a Black 49451 73792 a FR(173)p Black eop
-end
-%%Page: 174 196
-TeXDict begin 174 195 bop -8000 -8000 a
-SDict begin /product where{pop product(Distiller)search{pop pop pop
-version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
-closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
-grestore}if}{pop}ifelse}{pop}ifelse}if end
- -8000 -8000 a
-Black 0 TeXcolorgray -30 -1237 a
-SDict begin H.S end
- -30 -1237 a 0 TeXcolorgray
-0 TeXcolorgray -30 -1237 a
-SDict begin H.R end
- -30 -1237 a -30 -1237 a
-SDict begin [ /View [/XYZ H.V] /Dest (page.174) cvn H.B /DEST pdfmark
-end
- -30
--1237 a Black -399 x FR(Chapter)387 b(13)g(Basic)g(Network)f(Commands)p
-Black -30 4132 a FL(13.9)620 b(FTP)g(Clients)-30 4160
-y
-SDict begin H.S end
- -30 4160 a -30 4160 a
-SDict begin 18.2 H.A end
- -30 4160 a -30 4160 a
-SDict begin [ /View [/XYZ H.V] /Dest (4863) cvn H.B /DEST pdfmark end
- -30 4160
-a -30 5276 a
-SDict begin H.S end
- -30 5276 a -30 5276 a
-SDict begin 18.2 H.A end
- -30 5276 a -30 5276
-a
-SDict begin [ /View [/XYZ H.V] /Dest (4866) cvn H.B /DEST pdfmark end
- -30 5276 a 1987 x FU(FTP)553 b(stands)h(for)g(the)f(File)h(T)-54
-b(ransfer)553 b(Protocol.)h(It)g(allo)-39 b(ws)553 b(you)h(to)g(send)g
-(and)f(recei)-39 b(v)-23 b(e)554 b(\002les)-30 9277 y(between)392
-b(tw)-15 b(o)390 b(computers.)i(There)f(is)h(the)f(FTP)g(serv)-23
-b(er)392 b(and)f(the)h(FTP)f(client.)g(W)-124 b(e)392
-b(discuss)f(the)-30 11292 y(client)c(in)g(this)g(section.)-30
-12082 y
-SDict begin H.S end
- -30 12082 a -30 12082 a
-SDict begin 18.2 H.A end
- -30 12082 a -30 12082
-a
-SDict begin [ /View [/XYZ H.V] /Dest (4867) cvn H.B /DEST pdfmark end
- -30 12082 a 1999 x FU(F)-23 b(or)420 b(the)g(curious,)h(the)12519
-14081 y
-SDict begin H.S end
- 12519 14081 a 12519 14081 a
-SDict begin 18.2 H.A end
- 12519 14081 a 12519
-14081 a
-SDict begin [ /View [/XYZ H.V] /Dest (4868) cvn H.B /DEST pdfmark end
- 12519 14081 a FU(\223client\224)f(is)g(you.)h(The)25176
-14081 y
-SDict begin H.S end
- 25176 14081 a 25176 14081 a
-SDict begin 18.2 H.A end
- 25176 14081 a 25176
-14081 a
-SDict begin [ /View [/XYZ H.V] /Dest (4869) cvn H.B /DEST pdfmark end
- 25176 14081 a FU(\223serv)-23 b(er\224)421 b(is)f(the)g
-(computer)g(that)g(answers)g(your)-30 16096 y(FTP)376
-b(request)h(and)f(lets)h(you)f(login.)h(Y)-170 b(ou)376
-b(will)g(do)-39 b(wnload)376 b(\002les)h(from)f(and)h(upload)f(\002les)
-h(to)f(the)-30 18111 y(serv)-23 b(er)-85 b(.)388 b(The)f(client)g
-(cannot)g(accept)g(FTP)g(connections,)g(it)g(can)g(only)g(connect)g(to)
-g(serv)-23 b(ers.)-30 18446 y
-SDict begin H.S end
- -30 18446 a -30 18446 a
-SDict begin 18.2 H.A end
-
--30 18446 a -30 18446 a
-SDict begin [ /View [/XYZ H.V] /Dest (4870) cvn H.B /DEST pdfmark end
- -30 18446 a 5027 x FF(ftp)-30
-24788 y
-SDict begin H.S end
- -30 24788 a -30 24788 a
-SDict begin 18.2 H.A end
- -30 24788 a -30 24788
-a
-SDict begin [ /View [/XYZ H.V] /Dest (4873) cvn H.B /DEST pdfmark end
- -30 24788 a 1629 x FU(T)-124 b(o)387 b(connect)g(to)h(an)f(FTP)g
-(serv)-23 b(er)-62 b(,)387 b(simply)g(run)g(the)27481
-26417 y
-SDict begin H.S end
- 27481 26417 a 27481 26417 a
-SDict begin 18.2 H.A end
- 27481 26417 a 27481
-26417 a
-SDict begin [ /View [/XYZ H.V] /Dest (4874) cvn H.B /DEST pdfmark end
- 27481 26417 a FP(ftp)p FU(\(1\))g(command)g(and)g(specify)g
-(the)g(host:)-30 28303 y
-SDict begin H.S end
- -30 28303 a -30 28303 a
-SDict begin 14.56 H.A end
- -30
-28303 a -30 28303 a
-SDict begin [ /View [/XYZ H.V] /Dest (4875) cvn H.B /DEST pdfmark end
- -30 28303 a -30 28303 a
-SDict begin H.S end
- -30 28303
-a -30 28303 a
-SDict begin 14.56 H.A end
- -30 28303 a -30 28303 a
-SDict begin [ /View [/XYZ H.V] /Dest (4876) cvn H.B /DEST pdfmark end
- -30 28303 a 1276
-x FJ(\045)1309 29579 y
-SDict begin H.S end
- 1309 29579 a 1309 29579 a
-SDict begin 14.56 H.A end
- 1309
-29579 a 1309 29579 a
-SDict begin [ /View [/XYZ H.V] /Dest (4877) cvn H.B /DEST pdfmark end
- 1309 29579 a FH(ftp)744 b FK(<)p
-FH(hostname)p FK(>)e FH([port])-30 31297 y
-SDict begin H.S end
- -30 31297
-a -30 31297 a
-SDict begin 18.2 H.A end
- -30 31297 a -30 31297 a
-SDict begin [ /View [/XYZ H.V] /Dest (4878) cvn H.B /DEST pdfmark end
- -30 31297 a 1846
-x FU(If)468 b(the)g(host)f(is)h(running)f(an)h(FTP)f(serv)-23
-b(er)-62 b(,)468 b(it)f(will)h(ask)f(for)h(a)g(username)g(and)f(passw)
--15 b(ord.)468 b(Y)-170 b(ou)-30 35158 y(can)484 b(log)g(in)g(as)g
-(yourself)g(or)g(as)17648 35158 y
-SDict begin H.S end
- 17648 35158 a 17648
-35158 a
-SDict begin 18.2 H.A end
- 17648 35158 a 17648 35158 a
-SDict begin [ /View [/XYZ H.V] /Dest (4879) cvn H.B /DEST pdfmark end
- 17648 35158 a FU(\223anon)-23
-b(ymous\224.)484 b(Anon)-23 b(ymous)482 b(FTP)i(sites)f(are)i(v)-23
-b(ery)483 b(popular)-30 37173 y(for)463 b(softw)-15 b(are)463
-b(archi)-39 b(v)-23 b(es.)463 b(F)-23 b(or)462 b(e)-23
-b(xample,)463 b(to)g(get)g(Slackw)-15 b(are)462 b(Linux)g(via)h(FTP)
--172 b(,)463 b(you)g(must)f(use)-30 39187 y(anon)-23
-b(ymous)386 b(FTP)-172 b(.)-30 40298 y
-SDict begin H.S end
- -30 40298 a -30
-40298 a
-SDict begin 18.2 H.A end
- -30 40298 a -30 40298 a
-SDict begin [ /View [/XYZ H.V] /Dest (4880) cvn H.B /DEST pdfmark end
- -30 40298 a 1679 x FU(Once)483
-b(connected,)h(you)f(will)f(be)i(at)f(the)22505 41977
-y
-SDict begin H.S end
- 22505 41977 a 22505 41977 a
-SDict begin 18.2 H.A end
- 22505 41977 a 22505 41977
-a
-SDict begin [ /View [/XYZ H.V] /Dest (4881) cvn H.B /DEST pdfmark end
- 22505 41977 a FP(ftp)p FK(>)g FU(prompt.)g(There)g(are)h(special)f
-(commands)f(for)-30 43992 y(FTP)-172 b(,)353 b(b)-31
-b(ut)352 b(the)-23 b(y)353 b(are)g(similar)f(to)g(other)h(standard)g
-(commands.)f(The)h(follo)-39 b(wing)352 b(sho)-39 b(ws)352
-b(some)h(of)-30 46006 y(the)387 b(basic)g(commands)g(and)g(what)g(the)
--23 b(y)387 b(do:)-30 46342 y
-SDict begin H.S end
- -30 46342 a -30 46342 a
-SDict begin 18.2 H.A end
-
--30 46342 a -30 46342 a
-SDict begin [ /View [/XYZ H.V] /Dest (4882) cvn H.B /DEST pdfmark end
- -30 46342 a 4003 x FX(T)-143
-b(able)387 b(13-1.)h FV(ftp)f FX(commands)-30 52211 y
-SDict begin H.S end
-
--30 52211 a -30 52211 a
-SDict begin 18.2 H.A end
- -30 52211 a -30 52211 a
-SDict begin [ /View [/XYZ H.V] /Dest (4885) cvn H.B /DEST pdfmark end
- -30 52211
-a -30 52211 a
-SDict begin H.S end
- -30 52211 a -30 52211 a
-SDict begin 18.2 H.A end
- -30 52211 a -30
-52211 a
-SDict begin [ /View [/XYZ H.V] /Dest (table.11) cvn H.B /DEST pdfmark
-end
- -30 52211 a 1761 x FE(Command)5374 b(Purpose)p
--30 54349 51806 45 v -30 54349 V -30 56110 a FP(ls)11464
-b FU(List)386 b(\002les)-30 58203 y FP(cd)744 b FK(<)p
-FP(dirname)p FK(>)3626 b FU(Change)386 b(directory)-30
-60299 y FP(bin)10720 b FU(Set)387 b(binary)g(transfer)g(mode)-30
-62396 y FP(ascii)9232 b FU(Set)387 b(ASCII)f(transfer)i(mode)-30
-64489 y FP(get)744 b FK(<)p FP(filename)p FK(>)2138 b
-FU(Do)-39 b(wnload)386 b(a)i(\002le)-30 66582 y FP(put)744
-b FK(<)p FP(filename)p FK(>)2138 b FU(Upload)386 b(a)i(\002le)p
-Black -30 73792 a FR(174)p Black eop end
-%%Page: 175 197
-TeXDict begin 175 196 bop -8000 -8000 a
-SDict begin /product where{pop product(Distiller)search{pop pop pop
-version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
-closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
-grestore}if}{pop}ifelse}{pop}ifelse}if end
- -8000 -8000 a
-Black 0 TeXcolorgray -30 -1237 a
-SDict begin H.S end
- -30 -1237 a 0 TeXcolorgray
-0 TeXcolorgray -30 -1237 a
-SDict begin H.R end
- -30 -1237 a -30 -1237 a
-SDict begin [ /View [/XYZ H.V] /Dest (page.175) cvn H.B /DEST pdfmark
-end
- -30
--1237 a Black 27927 -1636 a FR(Chapter)386 b(13)i(Basic)f(Network)f
-(Commands)p Black -30 4265 a FE(Command)5374 b(Purpose)-30
-6358 y FP(hash)9976 b FU(T)-124 b(oggle)386 b(hash)i(mark)f(stats)f
-(indicator)-30 8455 y FP(tick)9976 b FU(T)-124 b(oggle)386
-b(byte)h(counter)h(indicator)-30 10551 y FP(prom)9976
-b FU(T)-124 b(oggle)386 b(interacti)-39 b(v)-23 b(e)387
-b(mode)g(for)h(do)-39 b(wnloads)-30 12648 y FP(mget)743
-b FK(<)p FP(mask)p FK(>)4371 b FU(Do)-39 b(wnload)386
-b(a)i(\002le)f(or)g(group)g(of)h(\002les;)e(wildcards)h(are)h(allo)-39
-b(wed)-30 14744 y FP(mput)743 b FK(<)p FP(mask)p FK(>)4371
-b FU(Upload)386 b(a)i(\002le)f(or)g(group)g(of)h(\002les;)e(wildcards)h
-(are)h(allo)-39 b(wed)-30 16840 y FP(quit)9976 b FU(Log)387
-b(of)-39 b(f)387 b(the)g(FTP)g(serv)-23 b(er)-30 17176
-y
-SDict begin H.S end
- -30 17176 a -30 17176 a
-SDict begin 18.2 H.A end
- -30 17176 a -30 17176 a
-SDict begin [ /View [/XYZ H.V] /Dest (4941) cvn H.B /DEST pdfmark end
- -30
-17176 a -30 18726 a
-SDict begin H.S end
- -30 18726 a -30 18726 a
-SDict begin 18.2 H.A end
- -30 18726
-a -30 18726 a
-SDict begin [ /View [/XYZ H.V] /Dest (4944) cvn H.B /DEST pdfmark end
- -30 18726 a 1682 x FU(Y)-170 b(ou)347 b(can)i(also)e(use)
-h(some)g(of)g(the)g(follo)-39 b(wing)347 b(commands)g(which)h(are)h
-(quite)e(self-e)-23 b(xplanatory:)-30 22423 y
-SDict begin H.S end
- -30 22423
-a -30 22423 a
-SDict begin 18.2 H.A end
- -30 22423 a -30 22423 a
-SDict begin [ /View [/XYZ H.V] /Dest (4945) cvn H.B /DEST pdfmark end
- -30 22423 a FP(chmod)p
-FU(,)4461 22423 y
-SDict begin H.S end
- 4461 22423 a 4461 22423 a
-SDict begin 18.2 H.A end
- 4461 22423
-a 4461 22423 a
-SDict begin [ /View [/XYZ H.V] /Dest (4946) cvn H.B /DEST pdfmark end
- 4461 22423 a FP(delete)p FU(,)9695 22423
-y
-SDict begin H.S end
- 9695 22423 a 9695 22423 a
-SDict begin 18.2 H.A end
- 9695 22423 a 9695 22423 a
-SDict begin [ /View [/XYZ H.V] /Dest (4947) cvn H.B /DEST pdfmark end
-
-9695 22423 a FP(rename)p FU(,)14930 22423 y
-SDict begin H.S end
- 14930 22423
-a 14930 22423 a
-SDict begin 18.2 H.A end
- 14930 22423 a 14930 22423 a
-SDict begin [ /View [/XYZ H.V] /Dest (4948) cvn H.B /DEST pdfmark end
- 14930 22423
-a FP(rmdir)p FU(.)384 b(F)-23 b(or)383 b(a)h(complete)f(list)g(of)h
-(all)f(commands)g(and)h(their)f(mean-)-30 24438 y(ing,)388
-b(just)e(type)8408 24438 y
-SDict begin H.S end
- 8408 24438 a 8408 24438 a
-SDict begin 18.2 H.A end
-
-8408 24438 a 8408 24438 a
-SDict begin [ /View [/XYZ H.V] /Dest (4949) cvn H.B /DEST pdfmark end
- 8408 24438 a Fv(help)h FU(or)14194
-24438 y
-SDict begin H.S end
- 14194 24438 a 14194 24438 a
-SDict begin 18.2 H.A end
- 14194 24438 a 14194
-24438 a
-SDict begin [ /View [/XYZ H.V] /Dest (4950) cvn H.B /DEST pdfmark end
- 14194 24438 a Fv(?)g FU(and)g(you')-15 b(ll)386
-b(see)i(a)f(complete)g(listing)f(on)h(screen.)-30 25548
-y
-SDict begin H.S end
- -30 25548 a -30 25548 a
-SDict begin 18.2 H.A end
- -30 25548 a -30 25548 a
-SDict begin [ /View [/XYZ H.V] /Dest (4951) cvn H.B /DEST pdfmark end
- -30
-25548 a 1679 x FU(FTP)474 b(is)h(a)g(f)-15 b(airly)474
-b(simple)h(program)f(to)h(use,)g(b)-31 b(ut)475 b(lacks)g(the)g(user)g
-(interf)-15 b(ace)474 b(that)h(man)-23 b(y)474 b(of)h(us)-30
-29242 y(are)470 b(used)g(to)f(no)-39 b(w)-15 b(adays.)469
-b(The)h(man)f(page)h(discusses)f(some)g(of)h(the)g(command)f(line)g
-(options)-30 31256 y(for)2165 31256 y
-SDict begin H.S end
- 2165 31256 a 2165
-31256 a
-SDict begin 18.2 H.A end
- 2165 31256 a 2165 31256 a
-SDict begin [ /View [/XYZ H.V] /Dest (4952) cvn H.B /DEST pdfmark end
- 2165 31256 a FP(ftp)p
-FU(\(1\).)-30 33084 y
-SDict begin H.S end
- -30 33084 a -30 33084 a
-SDict begin 12.972 H.A end
- -30 33084
-a -30 33084 a
-SDict begin [ /View [/XYZ H.V] /Dest (4953) cvn H.B /DEST pdfmark end
- -30 33084 a 1158 x Fh(ftp>)3284 34242 y
-SDict begin H.S end
-
-3284 34242 a 3284 34242 a
-SDict begin 12.972 H.A end
- 3284 34242 a 3284 34242 a
-SDict begin [ /View [/XYZ H.V] /Dest (4954) cvn H.B /DEST pdfmark end
- 3284
-34242 a Fi(ls)662 b(*.TXT)-30 35678 y Fh(200)g(PORT)g(command)e
-(successful.)-30 37114 y(150)i(Opening)f(ASCII)g(mode)h(data)f
-(connection)f(for)i(/bin/ls.)-30 38550 y(-rw-r--r--)1985
-b(1)663 b(root)3312 b(100)5964 b(18606)661 b(Apr)1325
-b(6)g(2002)661 b(BOOTING.TXT)-30 39986 y(-rw-r--r--)1985
-b(1)663 b(root)3312 b(100)5964 b(10518)661 b(Jun)h(13)1325
-b(2002)661 b(COPYRIGHT.TXT)-30 41422 y(-rw-r--r--)1985
-b(1)663 b(root)3312 b(100)7289 b(602)662 b(Apr)1325 b(6)g(2002)661
-b(CRYPTO_NOTICE.TXT)-30 42858 y(-rw-r--r--)1985 b(1)663
-b(root)3312 b(100)5964 b(32431)661 b(Sep)h(29)g(02:56)f(FAQ.TXT)-30
-44294 y(-rw-r--r--)1985 b(1)663 b(root)3312 b(100)5301
-b(499784)661 b(Mar)1325 b(3)662 b(19:29)f(FILELIST.TXT)-30
-45730 y(-rw-r--r--)1985 b(1)663 b(root)3312 b(100)5301
-b(241099)661 b(Mar)1325 b(3)662 b(19:12)f(PACKAGES.TXT)-30
-47166 y(-rw-r--r--)1985 b(1)663 b(root)3312 b(100)5964
-b(12339)661 b(Jun)h(19)1325 b(2002)661 b(README81.TXT)-30
-48602 y(-rw-r--r--)1985 b(1)663 b(root)3312 b(100)5964
-b(14826)661 b(Jun)h(17)1325 b(2002)661 b(SPEAKUP_DOCS.TXT)-30
-50038 y(-rw-r--r--)1985 b(1)663 b(root)3312 b(100)5964
-b(15434)661 b(Jun)h(17)1325 b(2002)661 b(SPEAK_INSTALL.TXT)-30
-51474 y(-rw-r--r--)1985 b(1)663 b(root)3312 b(100)6627
-b(2876)661 b(Jun)h(17)1325 b(2002)661 b(UPGRADE.TXT)-30
-52909 y(226)h(Transfer)e(complete.)-30 54345 y(ftp>)3284
-54345 y
-SDict begin H.S end
- 3284 54345 a 3284 54345 a
-SDict begin 12.972 H.A end
- 3284 54345 a 3284 54345
-a
-SDict begin [ /View [/XYZ H.V] /Dest (4955) cvn H.B /DEST pdfmark end
- 3284 54345 a Fi(tick)-30 55781 y Fh(Tick)i(counter)e(printing)h(on)h
-(\(10240)f(bytes/tick)f(increment\).)-30 57217 y(ftp>)3284
-57217 y
-SDict begin H.S end
- 3284 57217 a 3284 57217 a
-SDict begin 12.972 H.A end
- 3284 57217 a 3284 57217
-a
-SDict begin [ /View [/XYZ H.V] /Dest (4956) cvn H.B /DEST pdfmark end
- 3284 57217 a Fi(get)i(README81.TXT)-30 58653 y Fh(local:)f
-(README81.TXT)e(remote:)i(README81.TXT)-30 60089 y(200)h(PORT)g
-(command)e(successful.)-30 61525 y(150)i(Opening)f(BINARY)g(mode)g
-(data)h(connection)e(for)i(README81.TXT)d(\(12339)i(bytes\).)-30
-62961 y(Bytes)g(transferred:)f(12339)-30 64397 y(226)i(Transfer)e
-(complete.)-30 65833 y(12339)h(bytes)h(received)e(in)i(0.208)g(secs)f
-(\(58)h(Kbytes/sec\))-30 67556 y
-SDict begin H.S end
- -30 67556 a -30 67556
-a
-SDict begin 18.2 H.A end
- -30 67556 a -30 67556 a
-SDict begin [ /View [/XYZ H.V] /Dest (BASIC-NETWORK-COMMANDS-FTP-NCFTP)
-cvn H.B /DEST pdfmark end
- -30 67556 a Black 49451 73792
-a FR(175)p Black eop end
-%%Page: 176 198
-TeXDict begin 176 197 bop -8000 -8000 a
-SDict begin /product where{pop product(Distiller)search{pop pop pop
-version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
-closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
-grestore}if}{pop}ifelse}{pop}ifelse}if end
- -8000 -8000 a
-Black 0 TeXcolorgray -30 -1237 a
-SDict begin H.S end
- -30 -1237 a 0 TeXcolorgray
-0 TeXcolorgray -30 -1237 a
-SDict begin H.R end
- -30 -1237 a -30 -1237 a
-SDict begin [ /View [/XYZ H.V] /Dest (page.176) cvn H.B /DEST pdfmark
-end
- -30
--1237 a Black -399 x FR(Chapter)387 b(13)g(Basic)g(Network)f(Commands)p
-Black -30 3861 a FF(ncftp)-30 4246 y
-SDict begin H.S end
- -30 4246 a -30 4246
-a
-SDict begin 18.2 H.A end
- -30 4246 a -30 4246 a
-SDict begin [ /View [/XYZ H.V] /Dest (4960) cvn H.B /DEST pdfmark end
- -30 4246 a -30 5176 a
-SDict begin H.S end
- -30 5176
-a -30 5176 a
-SDict begin 18.2 H.A end
- -30 5176 a -30 5176 a
-SDict begin [ /View [/XYZ H.V] /Dest (4963) cvn H.B /DEST pdfmark end
- -30 5176 a -30 5176
-a
-SDict begin H.S end
- -30 5176 a -30 5176 a
-SDict begin 18.2 H.A end
- -30 5176 a -30 5176 a
-SDict begin [ /View [/XYZ H.V] /Dest (4964) cvn H.B /DEST pdfmark end
- -30 5176
-a 1629 x FP(ncftp)p FU(\(1\))393 b(\(pronounced)g("Nik-F-T)-143
-b(-P"\))394 b(is)f(an)h(alternati)-39 b(v)-23 b(e)393
-b(to)g(the)g(traditional)g(ftp)g(client)g(that)-30 8820
-y(comes)457 b(with)h(Slackw)-15 b(are.)457 b(It)h(is)f(still)g(a)h(te)
--23 b(xt-based)457 b(program,)h(b)-31 b(ut)457 b(of)-39
-b(fers)458 b(man)-23 b(y)457 b(adv)-39 b(antages)-30
-10835 y(o)-23 b(v)g(er)3065 10835 y
-SDict begin H.S end
- 3065 10835 a 3065
-10835 a
-SDict begin 18.2 H.A end
- 3065 10835 a 3065 10835 a
-SDict begin [ /View [/XYZ H.V] /Dest (4965) cvn H.B /DEST pdfmark end
- 3065 10835 a FP(ftp)p
-FU(,)387 b(including:)-30 11170 y
-SDict begin H.S end
- -30 11170 a -30 11170
-a
-SDict begin 18.2 H.A end
- -30 11170 a -30 11170 a
-SDict begin [ /View [/XYZ H.V] /Dest (4966) cvn H.B /DEST pdfmark end
- -30 11170 a -30 11945 a
-SDict begin H.S end
- -30
-11945 a -30 11945 a
-SDict begin 18.2 H.A end
- -30 11945 a -30 11945 a
-SDict begin [ /View [/XYZ H.V] /Dest (4967) cvn H.B /DEST pdfmark end
- -30 11945
-a Black 3229 x FM(\225)p Black 1520 15174 a
-SDict begin H.S end
- 1520 15174
-a 1520 15174 a
-SDict begin 18.2 H.A end
- 1520 15174 a 1520 15174 a
-SDict begin [ /View [/XYZ H.V] /Dest (4968) cvn H.B /DEST pdfmark end
- 1520 15174 a
-FU(T)-124 b(ab)387 b(completion)-30 15509 y
-SDict begin H.S end
- -30 15509
-a -30 15509 a
-SDict begin 18.2 H.A end
- -30 15509 a -30 15509 a
-SDict begin [ /View [/XYZ H.V] /Dest (4969) cvn H.B /DEST pdfmark end
- -30 15509 a Black
-2454 x FM(\225)p Black 1520 17963 a
-SDict begin H.S end
- 1520 17963 a 1520
-17963 a
-SDict begin 18.2 H.A end
- 1520 17963 a 1520 17963 a
-SDict begin [ /View [/XYZ H.V] /Dest (4970) cvn H.B /DEST pdfmark end
- 1520 17963 a FU(Bookmarks)f(\002le)
--30 17978 y
-SDict begin H.S end
- -30 17978 a -30 17978 a
-SDict begin 18.2 H.A end
- -30 17978 a -30 17978
-a
-SDict begin [ /View [/XYZ H.V] /Dest (4971) cvn H.B /DEST pdfmark end
- -30 17978 a Black 2775 x FM(\225)p Black 1520 20753
-a
-SDict begin H.S end
- 1520 20753 a 1520 20753 a
-SDict begin 18.2 H.A end
- 1520 20753 a 1520 20753 a
-SDict begin [ /View [/XYZ H.V] /Dest (4972) cvn H.B /DEST pdfmark end
-
-1520 20753 a FU(More)h(liberal)g(wildcard)g(uses)-30
-20768 y
-SDict begin H.S end
- -30 20768 a -30 20768 a
-SDict begin 18.2 H.A end
- -30 20768 a -30 20768
-a
-SDict begin [ /View [/XYZ H.V] /Dest (4973) cvn H.B /DEST pdfmark end
- -30 20768 a Black 2775 x FM(\225)p Black 1520 23543
-a
-SDict begin H.S end
- 1520 23543 a 1520 23543 a
-SDict begin 18.2 H.A end
- 1520 23543 a 1520 23543 a
-SDict begin [ /View [/XYZ H.V] /Dest (4974) cvn H.B /DEST pdfmark end
-
-1520 23543 a FU(Command)f(history)-30 24653 y
-SDict begin H.S end
- -30 24653
-a -30 24653 a
-SDict begin 18.2 H.A end
- -30 24653 a -30 24653 a
-SDict begin [ /View [/XYZ H.V] /Dest (4975) cvn H.B /DEST pdfmark end
- -30 24653 a 1679
-x FU(By)410 b(def)-15 b(ault,)7274 26332 y
-SDict begin H.S end
- 7274 26332
-a 7274 26332 a
-SDict begin 18.2 H.A end
- 7274 26332 a 7274 26332 a
-SDict begin [ /View [/XYZ H.V] /Dest (4976) cvn H.B /DEST pdfmark end
- 7274 26332 a
-FP(ncftp)410 b FU(will)f(try)h(to)g(log)f(in)h(anon)-23
-b(ymously)408 b(to)i(the)g(serv)-23 b(er)410 b(you)f(specify)-101
-b(.)411 b(Y)-170 b(ou)409 b(can)-30 28347 y(force)3696
-28347 y
-SDict begin H.S end
- 3696 28347 a 3696 28347 a
-SDict begin 18.2 H.A end
- 3696 28347 a 3696 28347
-a
-SDict begin [ /View [/XYZ H.V] /Dest (4977) cvn H.B /DEST pdfmark end
- 3696 28347 a FP(ncftp)543 b FU(to)f(present)h(a)g(login)g(prompt)f
-(with)g(the)30442 28347 y
-SDict begin H.S end
- 30442 28347 a 30442 28347 a
-SDict begin 18.2 H.A end
-
-30442 28347 a 30442 28347 a
-SDict begin [ /View [/XYZ H.V] /Dest (4978) cvn H.B /DEST pdfmark end
- 30442 28347 a FU(\223)31130
-28347 y
-SDict begin H.S end
- 31130 28347 a 31130 28347 a
-SDict begin 18.2 H.A end
- 31130 28347 a 31130
-28347 a
-SDict begin [ /View [/XYZ H.V] /Dest (4979) cvn H.B /DEST pdfmark end
- 31130 28347 a FP(-u)p FU(\224)h(option.)g(Once)g(logged)f(in,)h
-(you)-30 30361 y(can)421 b(use)f(the)g(same)h(commands)e(as)i(in)21421
-30361 y
-SDict begin H.S end
- 21421 30361 a 21421 30361 a
-SDict begin 18.2 H.A end
- 21421 30361 a 21421
-30361 a
-SDict begin [ /View [/XYZ H.V] /Dest (4980) cvn H.B /DEST pdfmark end
- 21421 30361 a FP(ftp)p FU(,)g(only)f(you')-15
-b(ll)419 b(notice)h(a)h(nicer)f(interf)-15 b(ace,)421
-b(one)f(that)-30 32376 y(w)-15 b(orks)387 b(more)g(lik)-15
-b(e)10398 32376 y
-SDict begin H.S end
- 10398 32376 a 10398 32376 a
-SDict begin 18.2 H.A end
- 10398 32376
-a 10398 32376 a
-SDict begin [ /View [/XYZ H.V] /Dest (4981) cvn H.B /DEST pdfmark end
- 10398 32376 a FP(bash)p FU(.)-30 33952
-y
-SDict begin H.S end
- -30 33952 a -30 33952 a
-SDict begin 12.972 H.A end
- -30 33952 a -30 33952 a
-SDict begin [ /View [/XYZ H.V] /Dest (4982) cvn H.B /DEST pdfmark end
- -30
-33952 a 1410 x Fh(ncftp)661 b(/pub/linux/slackware)c(>)19189
-35362 y
-SDict begin H.S end
- 19189 35362 a 19189 35362 a
-SDict begin 12.972 H.A end
- 19189 35362 a 19189
-35362 a
-SDict begin [ /View [/XYZ H.V] /Dest (4983) cvn H.B /DEST pdfmark end
- 19189 35362 a Fi(cd)662 b(slackware-current/)-30
-36798 y Fh(Please)f(read)h(the)g(file)f(README81.TXT)1296
-38234 y(it)h(was)g(last)f(modified)g(on)h(Wed)g(Jun)f(19)i(16:24:21)d
-(2002)i(-)g(258)g(days)f(ago)-30 39670 y(CWD)h(command)f(successful.)
--30 41106 y(ncftp)g(...ware/slackware-current)656 b(>)22502
-41106 y
-SDict begin H.S end
- 22502 41106 a 22502 41106 a
-SDict begin 12.972 H.A end
- 22502 41106 a 22502
-41106 a
-SDict begin [ /View [/XYZ H.V] /Dest (4984) cvn H.B /DEST pdfmark end
- 22502 41106 a Fi(ls)-30 42542 y Fh(BOOTING.TXT)9938
-b(FAQ.TXT)12589 b(bootdisks/)-30 43977 y(CHECKSUMS)11264
-b(FILELIST.TXT)9274 b(extra/)-30 45413 y(CHECKSUMS.asc)8612
-b(GPG-KEY)12589 b(isolinux/)-30 46849 y(CHECKSUMS.md5)8612
-b(PACKAGES.TXT)9274 b(kernels/)-30 48285 y(CHECKSUMS.md5.asc)5960
-b(PRERELEASE_NOTES)6622 b(pasture/)-30 49721 y(COPYING)12590
-b(README81.TXT)9274 b(rootdisks/)-30 51157 y(COPYRIGHT.TXT)8612
-b(SPEEKUP_DOCS.TXT)6622 b(slackware/)-30 52593 y(CRYPTO_NOTICE.TXT)5960
-b(SPEEK_INSTALL.TXT)f(source/)-30 54029 y(CURRENT.WARNING)7286
-b(Slackware-HOWTO)-30 55465 y(ChangeLog.txt)8612 b(UPGRADE.TXT)-30
-56901 y(ncftp)661 b(...ware/slackware-current)656 b(>)22502
-56901 y
-SDict begin H.S end
- 22502 56901 a 22502 56901 a
-SDict begin 12.972 H.A end
- 22502 56901 a 22502
-56901 a
-SDict begin [ /View [/XYZ H.V] /Dest (4985) cvn H.B /DEST pdfmark end
- 22502 56901 a Fi(get)662 b(README81.TXT)-30 58337
-y Fh(README81.TXT:)28493 b(12.29)661 b(kB)1325 b(307.07)661
-b(kB/s)-30 61524 y
-SDict begin H.S end
- -30 61524 a -30 61524 a
-SDict begin 18.2 H.A end
- -30 61524
-a -30 61524 a
-SDict begin [ /View [/XYZ H.V] /Dest (BASIC-NETWORK-COMMANDS-TALK)
-cvn H.B /DEST pdfmark end
- -30 61524 a Black 12268 x FR(176)p Black
-eop end
-%%Page: 177 199
-TeXDict begin 177 198 bop -8000 -8000 a
-SDict begin /product where{pop product(Distiller)search{pop pop pop
-version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
-closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
-grestore}if}{pop}ifelse}{pop}ifelse}if end
- -8000 -8000 a
-Black 0 TeXcolorgray -30 -1237 a
-SDict begin H.S end
- -30 -1237 a 0 TeXcolorgray
-0 TeXcolorgray -30 -1237 a
-SDict begin H.R end
- -30 -1237 a -30 -1237 a
-SDict begin [ /View [/XYZ H.V] /Dest (page.177) cvn H.B /DEST pdfmark
-end
- -30
--1237 a Black -30 -2687 a
-SDict begin H.S end
- -30 -2687 a -30 -2687 a
-SDict begin 18.2 H.A end
- -30
--2687 a -30 -2687 a
-SDict begin [ /View [/XYZ H.V] /Dest (5024) cvn H.B /DEST pdfmark end
- -30 -2687 a 27927 -1636 a FR(Chapter)386
-b(13)i(Basic)f(Network)f(Commands)p Black -30 4132 a
-FL(13.10)620 b(T)-179 b(alking)620 b(to)g(Other)g(P)-67
-b(eople)-30 4629 y
-SDict begin H.S end
- -30 4629 a -30 4629 a
-SDict begin 18.2 H.A end
- -30 4629 a -30
-4629 a
-SDict begin [ /View [/XYZ H.V] /Dest (4988) cvn H.B /DEST pdfmark end
- -30 4629 a 4865 x FF(wall)-30 9517 y
-SDict begin H.S end
- -30 9517
-a -30 9517 a
-SDict begin 18.2 H.A end
- -30 9517 a -30 9517 a
-SDict begin [ /View [/XYZ H.V] /Dest (4991) cvn H.B /DEST pdfmark end
- -30 9517 a -30 10447
-a
-SDict begin H.S end
- -30 10447 a -30 10447 a
-SDict begin 18.2 H.A end
- -30 10447 a -30 10447 a
-SDict begin [ /View [/XYZ H.V] /Dest (4994) cvn H.B /DEST pdfmark end
- -30
-10447 a -30 10447 a
-SDict begin H.S end
- -30 10447 a -30 10447 a
-SDict begin 18.2 H.A end
- -30 10447
-a -30 10447 a
-SDict begin [ /View [/XYZ H.V] /Dest (4995) cvn H.B /DEST pdfmark end
- -30 10447 a 1992 x FP(wall)p FU(\(1\))359
-b(is)g(a)g(quick)g(w)-15 b(ay)358 b(to)h(write)g(a)h(message)e(to)h
-(the)g(users)g(on)g(a)h(system.)e(The)i(basic)f(syntax)-30
-14453 y(is:)-30 16019 y
-SDict begin H.S end
- -30 16019 a -30 16019 a
-SDict begin 14.56 H.A end
- -30 16019
-a -30 16019 a
-SDict begin [ /View [/XYZ H.V] /Dest (4996) cvn H.B /DEST pdfmark end
- -30 16019 a -30 16019 a
-SDict begin H.S end
- -30 16019 a -30
-16019 a
-SDict begin 14.56 H.A end
- -30 16019 a -30 16019 a
-SDict begin [ /View [/XYZ H.V] /Dest (4997) cvn H.B /DEST pdfmark end
- -30 16019 a 1596 x FJ(\045)1309
-17615 y
-SDict begin H.S end
- 1309 17615 a 1309 17615 a
-SDict begin 14.56 H.A end
- 1309 17615 a 1309 17615
-a
-SDict begin [ /View [/XYZ H.V] /Dest (4998) cvn H.B /DEST pdfmark end
- 1309 17615 a FH(wall)743 b([file])-30 19297 y
-SDict begin H.S end
- -30 19297
-a -30 19297 a
-SDict begin 18.2 H.A end
- -30 19297 a -30 19297 a
-SDict begin [ /View [/XYZ H.V] /Dest (4999) cvn H.B /DEST pdfmark end
- -30 19297 a 1882
-x FU(This)448 b(will)g(result)g(in)g(the)g(contents)g(of)g([\002le])h
-(being)f(displayed)f(on)h(the)h(terminals)e(of)i(all)f(cur)-31
-b(-)-30 23194 y(rently)366 b(logged)f(in)h(users.)h(If)f(you)g(don')-28
-b(t)366 b(specify)g(a)g(\002le,)g(w)-15 b(all)366 b(will)f(read)i(from)
-e(standard)h(input,)-30 25209 y(so)387 b(you)g(can)h(just)f(type)g
-(your)g(message,)g(and)g(end)h(with)30315 25209 y
-SDict begin H.S end
- 30315
-25209 a 30315 25209 a
-SDict begin 18.2 H.A end
- 30315 25209 a 30315 25209 a
-SDict begin [ /View [/XYZ H.V] /Dest (5000) cvn H.B /DEST pdfmark end
- 30315
-25209 a 30315 25209 a
-SDict begin H.S end
- 30315 25209 a 30315 25209 a
-SDict begin 18.2 H.A end
- 30315
-25209 a 30315 25209 a
-SDict begin [ /View [/XYZ H.V] /Dest (5001) cvn H.B /DEST pdfmark end
- 30315 25209 a FX(Ctrl)p FU(+)33943
-25209 y
-SDict begin H.S end
- 33943 25209 a 33943 25209 a
-SDict begin 18.2 H.A end
- 33943 25209 a 33943
-25209 a
-SDict begin [ /View [/XYZ H.V] /Dest (5002) cvn H.B /DEST pdfmark end
- 33943 25209 a FX(d)p FU(.)-30 26319 y
-SDict begin H.S end
- -30 26319
-a -30 26319 a
-SDict begin 18.2 H.A end
- -30 26319 a -30 26319 a
-SDict begin [ /View [/XYZ H.V] /Dest (5003) cvn H.B /DEST pdfmark end
- -30 26319 a -30
-26319 a
-SDict begin H.S end
- -30 26319 a -30 26319 a
-SDict begin 18.2 H.A end
- -30 26319 a -30 26319
-a
-SDict begin [ /View [/XYZ H.V] /Dest (5004) cvn H.B /DEST pdfmark end
- -30 26319 a 1679 x FP(wall)360 b FU(doesn')-28 b(t)359
-b(ha)-31 b(v)-23 b(e)360 b(man)-23 b(y)359 b(features,)h(and)g(apart)g
-(from)g(letting)f(your)g(users)h(kno)-39 b(w)360 b(that)g(you')-77
-b(re)-30 30013 y(about)404 b(to)g(do)g(some)f(serious)h(maintenance)f
-(to)h(the)g(system,)g(or)g(e)-39 b(v)-23 b(en)404 b(reboot)g(it,)g(so)g
-(the)-23 b(y)403 b(ha)-31 b(v)-23 b(e)-30 32028 y(time)387
-b(to)g(sa)-31 b(v)-23 b(e)387 b(their)g(w)-15 b(ork)387
-b(and)g(log)g(of)-39 b(f)388 b(:\))-30 33138 y
-SDict begin H.S end
- -30 33138
-a -30 33138 a
-SDict begin 18.2 H.A end
- -30 33138 a -30 33138 a
-SDict begin [ /View [/XYZ H.V] /Dest (5005) cvn H.B /DEST pdfmark end
- -30 33138 a 5181
-x FF(talk)-30 38342 y
-SDict begin H.S end
- -30 38342 a -30 38342 a
-SDict begin 18.2 H.A end
- -30 38342
-a -30 38342 a
-SDict begin [ /View [/XYZ H.V] /Dest (5008) cvn H.B /DEST pdfmark end
- -30 38342 a -30 38342 a
-SDict begin H.S end
- -30 38342 a -30
-38342 a
-SDict begin 18.2 H.A end
- -30 38342 a -30 38342 a
-SDict begin [ /View [/XYZ H.V] /Dest (5011) cvn H.B /DEST pdfmark end
- -30 38342 a -30 39273
-a
-SDict begin H.S end
- -30 39273 a -30 39273 a
-SDict begin 18.2 H.A end
- -30 39273 a -30 39273 a
-SDict begin [ /View [/XYZ H.V] /Dest (5013) cvn H.B /DEST pdfmark end
- -30
-39273 a -30 39273 a
-SDict begin H.S end
- -30 39273 a -30 39273 a
-SDict begin 18.2 H.A end
- -30 39273
-a -30 39273 a
-SDict begin [ /View [/XYZ H.V] /Dest (5014) cvn H.B /DEST pdfmark end
- -30 39273 a 1991 x FP(talk)p FU(\(1\))f(allo)-39
-b(ws)387 b(tw)-15 b(o)386 b(users)h(to)g(chat.)h(It)f(splits)f(the)h
-(screen)h(in)f(half,)g(horizontally)-101 b(.)387 b(T)-124
-b(o)387 b(request)-30 43279 y(a)h(chat)f(with)g(another)g(user)-62
-b(,)388 b(use)f(this)g(command:)-30 45052 y
-SDict begin H.S end
- -30 45052
-a -30 45052 a
-SDict begin 14.56 H.A end
- -30 45052 a -30 45052 a
-SDict begin [ /View [/XYZ H.V] /Dest (5015) cvn H.B /DEST pdfmark end
- -30 45052 a -30
-45052 a
-SDict begin H.S end
- -30 45052 a -30 45052 a
-SDict begin 14.56 H.A end
- -30 45052 a -30 45052
-a
-SDict begin [ /View [/XYZ H.V] /Dest (5016) cvn H.B /DEST pdfmark end
- -30 45052 a 1388 x FJ(\045)1309 46440 y
-SDict begin H.S end
- 1309 46440
-a 1309 46440 a
-SDict begin 14.56 H.A end
- 1309 46440 a 1309 46440 a
-SDict begin [ /View [/XYZ H.V] /Dest (5017) cvn H.B /DEST pdfmark end
- 1309 46440 a
-FH(talk)743 b FK(<)p FH(person)p FK(>)g FH([ttyname])-30
-46608 y
-SDict begin H.S end
- -30 46608 a -30 46608 a
-SDict begin 18.2 H.A end
- -30 46608 a -30 46608
-a
-SDict begin [ /View [/XYZ H.V] /Dest (FIG-BASIC-NETWORK-COMMANDS-TALK-TALK)
-cvn H.B /DEST pdfmark end
- -30 46608 a Black 49394 73792 a FR(177)p Black eop
-end
-%%Page: 178 200
-TeXDict begin 178 199 bop -8000 -8000 a
-SDict begin /product where{pop product(Distiller)search{pop pop pop
-version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
-closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
-grestore}if}{pop}ifelse}{pop}ifelse}if end
- -8000 -8000 a
-Black 0 TeXcolorgray -30 -1237 a
-SDict begin H.S end
- -30 -1237 a 0 TeXcolorgray
-0 TeXcolorgray -30 -1237 a
-SDict begin H.R end
- -30 -1237 a -30 -1237 a
-SDict begin [ /View [/XYZ H.V] /Dest (page.178) cvn H.B /DEST pdfmark
-end
- -30
--1237 a Black -399 x FR(Chapter)387 b(13)g(Basic)g(Network)f(Commands)p
-Black -30 3611 a FX(Figur)-28 b(e)387 b(13-7.)h(T)-115
-b(w)-15 b(o)386 b(users)h(in)g(a)g FV(talk)g FX(session)-30
-5475 y
-SDict begin H.S end
- -30 5475 a -30 5475 a
-SDict begin 18.2 H.A end
- -30 5475 a -30 5475 a
-SDict begin [ /View [/XYZ H.V] /Dest (5021) cvn H.B /DEST pdfmark end
- -30
-5475 a -30 38552 a
- currentpoint currentpoint translate 0.79 0.79 scale neg exch neg exch
-translate
- -30 38552 a @beginspecial 12 @llx
-212 @lly 600 @urx 580 @ury 5880 @rwi @setspecial
-%%BeginDocument: basic-network-commands/talk.eps
-%!PS-Adobe-2.0 EPSF-2.0
-%%Creator: pnmtops
-%%Title: noname.ps
-%%Pages: 1
-%%BoundingBox: 12 212 600 580
-%%EndComments
-/rlestr1 1 string def
-/readrlestring {
- /rlestr exch def
- currentfile rlestr1 readhexstring pop
- 0 get
- dup 127 le {
- currentfile rlestr 0
- 4 3 roll
- 1 add getinterval
- readhexstring pop
- length
- } {
- 256 exch sub dup
- currentfile rlestr1 readhexstring pop
- 0 get
- exch 0 exch 1 exch 1 sub {
- rlestr exch 2 index put
- } for
- pop
- } ifelse
-} bind def
-/readstring {
- dup length 0 {
- 3 copy exch
- 1 index sub
- getinterval
- readrlestring
- add
- 2 copy le { exit } if
- } loop
- pop pop
-} bind def
-/picstr 640 string def
-%%EndProlog
-%%Page: 1 1
-gsave
-12.24 212.4 translate
-587.52 367.2 scale
-640 400 8
-[ 640 0 0 -400 0 400 ]
-{ picstr readstring }
-image
-800080008000800080008000800080008000800080008000800080008000
-800080008000800080008000800080008000800080008000800080008000
-800080008000800080008000800080008000800080008000800080008000
-800080008000800080008000800080008000800080008000800080008000
-800080008000800080008000800080008000800080008000800080008000
-800080008000800080008000800080008000800080008000800080008000
-800080008000800080008000800080008000800080008000800080008000
-800080008000800080008000800080008000800080008000800080008000
-800080008000800080008000800080008000800080008000800080008000
-800080008000800080008000800080008000800080008000800080008000
-800080008000800080008000800080008000800080008000800080008000
-800080008000800080008000800080008000800080008000800080008000
-800080008000800080008000800080008000800080008000800080008000
-800080008000800080008000800080008000800080008000800080008000
-800080008000800080008000800080008000800080008000800080008000
-800080008000800080008000800080008000800080008000800080008000
-800080008000800080008000800080008000800080008000800080008000
-800080008000800080008000800080008000800080008000800080008000
-800080008000800080008000800080008000800080008000800080008000
-800080008000800080008000800080008000800080008000800080008000
-800080008000800080008000800080008000800080008000800080008000
-800080008000800080008000800080008000800080008000800080008000
-800080008000800080008000800080008000800080008000800080008000
-800080008000800080008000800080008000800080008000800080008000
-800080008000800080008000800080008000800080008000800080008000
-800080008000800080008000800080008000800080008000800080008000
-800080008000800080008000800080008000800080008000800080008000
-800080008000800080008000800080008000800080008000800080008000
-800080008000800080008000800080008000800080008000800080008000
-800080008000800080008000800080008000800080008000800080008000
-800080008000800080008000800080008000800080008000800080008000
-800080008000800080008000800080008000800080008000800080008000
-800080008000800080008000800080008000800080008000800080008000
-800080008000800080008000800080008000800080008000800080008000
-800080008000800080008000800080008000800080008000800080008000
-800080008000800080008000800080008000800080008000800080008000
-800080008000800080008000800080008000800080008000800080008000
-800080008000800080008000800080008000800080008000800080008000
-800080008000800080008000800080008000800080008000800080008000
-800080008000800080008000800080008000800080008000800080008000
-800080008000800080008000800080008000800080008000800080008000
-800080008000800080008000800080008000800080008000800080008000
-800080008000800080008000800080008000800080008000800080008000
-800080008000800080008000800080008000800080008000800080008000
-800080008000800080008000800080008000800080008000800080008000
-800080008000800080008000800080008000800080008000800080008000
-800080008000800080008000800080008000800080008000800080008000
-800080008000800080008000800080008000800080008000800080008000
-800080008000800080008000800080008000800080008000800080008000
-800080008000800080008000800080008000800080008000800080008000
-800080008000800080008000800080008000800080008000800080008000
-800080008000800080008000800080008000800080008000800080008000
-800080008000800080008000800080008000800080008000800080008000
-800080008000800080008000800080008000800080008000800080008000
-fd0000c0e90000c080008000800080009c00030000c0c0ea0001c0c08000
-8000800080009c00030000c0c0ea0001c0c080008000800080009c00fac0
-fd00fbc0fd00fbc0010000fac080008000800080009e00030000c0c0fc00
-13c0c0000000c0c000c0c0000000c0c0000000c0c080008000800080009c
-00030000c0c0fc00f9c0030000c0c0f90001c0c080008000800080009c00
-030000c0c0fc0001c0c0f800fdc0fb0001c0c080008000800080009c0003
-0000c0c0fc0001c0c0f60001c0c0fc0001c0c080008000800080009c001e
-0000c0c000c0c000c0c0000000c0c000c0c0000000c0c0000000c0c000c0
-c080008000800080009f00fd00fdc0fd00fbc0fd00fbc0fb00fdc0800080
-00800080009e008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-0080008000800080c080c080c080c080c080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080000000fac00300c0c0c0f80001c0c0ea0001c0c0da0000c0
-e90000c08000800080008000ec000000fac0030000c0c0f80001c0c0ea00
-01c0c0db0001c0c0ea0001c0c08000800080008000ec000a00c000c0c000
-c00000c0c0b90001c0c0ea0001c0c08000800080008000ec00fd0001c0c0
-fc0004c0c000c0c0fc00fdc0fc00fbc0f400fdc0fc00fbc0f500fcc0f500
-fac0fd00fbc0fd00fbc0010000fac08000800080008000ee00fd0001c0c0
-fc00fdc00200c0c0fc000bc0c0000000c0c0000000c0c0f4000bc0c00000
-00c0c0000000c0c0f30001c0c0f40001c0c0fc0013c0c0000000c0c000c0
-c0000000c0c0000000c0c08000800080008000ec00fd0001c0c0fc0005c0
-c00000c0c0fc0001c0c0fc0001c0c0f00001c0c0fc0001c0c0f200fbc0f4
-0001c0c0fc00f9c0030000c0c0f90001c0c08000800080008000ec00fd00
-01c0c0fc0005c0c00000c0c0fc0001c0c0fb00fdc0f20001c0c0fb00fdc0
-f50005c0c00000c0c0f40001c0c0fc0001c0c0f800fdc0fb0001c0c08000
-800080008000ec00fd0001c0c0fc0005c0c00000c0c0fc0001c0c0f90001
-c0c0f30001c0c0f90001c0c0f60005c0c00000c0c0f40001c0c0fc0001c0
-c0f60001c0c0fc0001c0c08000800080008000ec00fd0001c0c0fc0005c0
-c00000c0c0fc000bc0c0000000c0c0000000c0c0f4000bc0c0000000c0c0
-000000c0c0f70005c0c00000c0c0f4001cc0c000c0c000c0c0000000c0c0
-00c0c0000000c0c0000000c0c000c0c0fc0001c0c08000800080008000f5
-00010000fcc00b0000c0c0c00000c0c0000000fcc0fd00fbc0f400fcc0fd
-00fbc0f500fdc00200c0c0f400fdc0fd00fbc0fd00fbc0fb00fdc0fb0001
-c0c08000800080008000f500800080008000800080008000800080008000
-800080008000800080008000800080008000800080008000800080008000
-800080008000800080008000800080008000800080008000800080008000
-800080008000800080008000800080008000800080008000800080008000
-800080008000800080008000800080008000800080008000800080008000
-800080008000800080008000800080008000800080008000800080008000
-800080008000800080008000800080008000800080008000800080008000
-8000
-grestore
-showpage
-%%Trailer
-
-%%EndDocument
- @endspecial -30 38552 a
- currentpoint currentpoint translate 1 0.79 div 1 0.79 div scale neg
-exch neg exch translate
- -30 38552 a 3565 x FU(If)g(you)f(specify)g
-(just)g(a)g(username,)h(the)f(chat)g(request)g(is)g(assumed)g(to)g(be)h
-(local,)f(so)g(only)g(local)-30 44131 y(users)492 b(are)h(queried.)g
-(The)f(ttyname)g(is)g(required)g(if)g(you)h(w)-15 b(ant)491
-b(to)i(ring)f(a)g(user)h(on)f(a)g(speci\002c)-30 46146
-y(terminal)348 b(\(if)h(the)g(user)g(is)g(logged)g(in)f(more)h(than)g
-(once\).)h(The)e(required)h(information)f(for)h FP(talk)-30
-48161 y FU(can)388 b(be)f(obtained)g(from)g(the)15765
-48161 y
-SDict begin H.S end
- 15765 48161 a 15765 48161 a
-SDict begin 18.2 H.A end
- 15765 48161 a 15765
-48161 a
-SDict begin [ /View [/XYZ H.V] /Dest (5026) cvn H.B /DEST pdfmark end
- 15765 48161 a FP(w)p FU(\(1\))g(command.)-30
-49213 y
-SDict begin H.S end
- -30 49213 a -30 49213 a
-SDict begin 18.2 H.A end
- -30 49213 a -30 49213
-a
-SDict begin [ /View [/XYZ H.V] /Dest (5027) cvn H.B /DEST pdfmark end
- -30 49213 a -30 49213 a
-SDict begin H.S end
- -30 49213 a -30 49213 a
-SDict begin 18.2 H.A end
- -30
-49213 a -30 49213 a
-SDict begin [ /View [/XYZ H.V] /Dest (5028) cvn H.B /DEST pdfmark end
- -30 49213 a 1737 x FP(talk)473 b
-FU(can)h(also)f(ring)g(users)g(on)h(remote)f(hosts.)g(F)-23
-b(or)473 b(the)g(username)g(you)g(simply)g(specify)g(an)-30
-52965 y(email)387 b(address.)9224 52965 y
-SDict begin H.S end
- 9224 52965
-a 9224 52965 a
-SDict begin 18.2 H.A end
- 9224 52965 a 9224 52965 a
-SDict begin [ /View [/XYZ H.V] /Dest (5029) cvn H.B /DEST pdfmark end
- 9224 52965 a
-FP(talk)f FU(will)h(try)g(to)h(contact)f(that)g(remote)g(user)g(on)g
-(that)g(host.)-30 54075 y
-SDict begin H.S end
- -30 54075 a -30 54075 a
-SDict begin 18.2 H.A end
- -30
-54075 a -30 54075 a
-SDict begin [ /View [/XYZ H.V] /Dest (5030) cvn H.B /DEST pdfmark end
- -30 54075 a -30 54075 a
-SDict begin H.S end
- -30 54075
-a -30 54075 a
-SDict begin 18.2 H.A end
- -30 54075 a -30 54075 a
-SDict begin [ /View [/XYZ H.V] /Dest (5031) cvn H.B /DEST pdfmark end
- -30 54075 a 1679
-x FP(talk)g FU(is)g(some)-39 b(what)387 b(limited.)g(It)g(only)g
-(supports)f(tw)-15 b(o)387 b(users)g(and)g(is)g(half-duple)-23
-b(x.)-30 56865 y
-SDict begin H.S end
- -30 56865 a -30 56865 a
-SDict begin 18.2 H.A end
- -30 56865 a
--30 56865 a
-SDict begin [ /View [/XYZ H.V] /Dest (5032) cvn H.B /DEST pdfmark end
- -30 56865 a 5181 x FF(ytalk)-30 63361 y
-SDict begin H.S end
- -30
-63361 a -30 63361 a
-SDict begin 18.2 H.A end
- -30 63361 a -30 63361 a
-SDict begin [ /View [/XYZ H.V] /Dest (5035) cvn H.B /DEST pdfmark end
- -30 63361
-a -30 63361 a
-SDict begin H.S end
- -30 63361 a -30 63361 a
-SDict begin 18.2 H.A end
- -30 63361 a -30
-63361 a
-SDict begin [ /View [/XYZ H.V] /Dest (5036) cvn H.B /DEST pdfmark end
- -30 63361 a 1630 x FP(ytalk)p FU(\(1\))383 b(is)g(a)g(backw)-15
-b(ards)382 b(compatible)g(replacement)h(for)32779 64991
-y
-SDict begin H.S end
- 32779 64991 a 32779 64991 a
-SDict begin 18.2 H.A end
- 32779 64991 a 32779 64991
-a
-SDict begin [ /View [/XYZ H.V] /Dest (5037) cvn H.B /DEST pdfmark end
- 32779 64991 a FP(talk)p FU(.)g(It)g(comes)g(with)g(Slackw)-15
-b(are)-30 67006 y(as)387 b(the)3930 67006 y
-SDict begin H.S end
- 3930 67006
-a 3930 67006 a
-SDict begin 18.2 H.A end
- 3930 67006 a 3930 67006 a
-SDict begin [ /View [/XYZ H.V] /Dest (5038) cvn H.B /DEST pdfmark end
- 3930 67006 a
-FP(ytalk)f FU(command.)h(The)h(syntax)f(is)g(similar)-62
-b(,)387 b(b)-31 b(ut)387 b(has)g(a)g(fe)-39 b(w)388 b(dif)-39
-b(ferences:)p Black -30 73792 a FR(178)p Black eop end
-%%Page: 179 201
-TeXDict begin 179 200 bop -8000 -8000 a
-SDict begin /product where{pop product(Distiller)search{pop pop pop
-version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
-closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
-grestore}if}{pop}ifelse}{pop}ifelse}if end
- -8000 -8000 a
-Black 0 TeXcolorgray -30 -1237 a
-SDict begin H.S end
- -30 -1237 a 0 TeXcolorgray
-0 TeXcolorgray -30 -1237 a
-SDict begin H.R end
- -30 -1237 a -30 -1237 a
-SDict begin [ /View [/XYZ H.V] /Dest (page.179) cvn H.B /DEST pdfmark
-end
- -30
--1237 a Black 27927 -1636 a FR(Chapter)386 b(13)i(Basic)f(Network)f
-(Commands)p Black -30 2504 a
-SDict begin H.S end
- -30 2504 a -30 2504 a
-SDict begin 14.56 H.A end
- -30
-2504 a -30 2504 a
-SDict begin [ /View [/XYZ H.V] /Dest (5039) cvn H.B /DEST pdfmark end
- -30 2504 a -30 2504 a
-SDict begin H.S end
- -30 2504 a -30
-2504 a
-SDict begin 14.56 H.A end
- -30 2504 a -30 2504 a
-SDict begin [ /View [/XYZ H.V] /Dest (5040) cvn H.B /DEST pdfmark end
- -30 2504 a 1107 x FJ(\045)1309
-3611 y
-SDict begin H.S end
- 1309 3611 a 1309 3611 a
-SDict begin 14.56 H.A end
- 1309 3611 a 1309 3611
-a
-SDict begin [ /View [/XYZ H.V] /Dest (5041) cvn H.B /DEST pdfmark end
- 1309 3611 a FH(ytalk)743 b FK(<)p FH(username)p FK(>)p
-FH([#ttyname])-30 3779 y
-SDict begin H.S end
- -30 3779 a -30 3779 a
-SDict begin 18.2 H.A end
- -30 3779
-a -30 3779 a
-SDict begin [ /View [/XYZ H.V] /Dest (FIG-BASIC-NETWORK-COMMANDS-TALK-YTALK)
-cvn H.B /DEST pdfmark end
- -30 3779 a 4946 x FX(Figur)-28 b(e)387 b(13-8.)h(T)-115
-b(w)-15 b(o)386 b(users)h(in)g(a)g FV(ytalk)g FX(session)-30
-10591 y
-SDict begin H.S end
- -30 10591 a -30 10591 a
-SDict begin 18.2 H.A end
- -30 10591 a -30 10591
-a
-SDict begin [ /View [/XYZ H.V] /Dest (5045) cvn H.B /DEST pdfmark end
- -30 10591 a -30 43668 a
- currentpoint currentpoint translate 0.79 0.79 scale neg exch neg exch
-translate
- -30 43668 a @beginspecial 12
-@llx 212 @lly 600 @urx 580 @ury 5880 @rwi @setspecial
-%%BeginDocument: basic-network-commands/ytalk.eps
-%!PS-Adobe-2.0 EPSF-2.0
-%%Creator: pnmtops
-%%Title: noname.ps
-%%Pages: 1
-%%BoundingBox: 12 212 600 580
-%%EndComments
-/rlestr1 1 string def
-/readrlestring {
- /rlestr exch def
- currentfile rlestr1 readhexstring pop
- 0 get
- dup 127 le {
- currentfile rlestr 0
- 4 3 roll
- 1 add getinterval
- readhexstring pop
- length
- } {
- 256 exch sub dup
- currentfile rlestr1 readhexstring pop
- 0 get
- exch 0 exch 1 exch 1 sub {
- rlestr exch 2 index put
- } for
- pop
- } ifelse
-} bind def
-/readstring {
- dup length 0 {
- 3 copy exch
- 1 index sub
- getinterval
- readrlestring
- add
- 2 copy le { exit } if
- } loop
- pop pop
-} bind def
-/picstr 640 string def
-%%EndProlog
-%%Page: 1 1
-gsave
-12.24 212.4 translate
-587.52 367.2 scale
-640 400 8
-[ 640 0 0 -400 0 400 ]
-{ picstr readstring }
-image
-800080008000800080008000800080008000800080008f0007c0c00000c0
-c00000fac0f500fdc0fd00fdc0d00001c0c0e400fbc0f30001c0c0f20001
-c0c08000850080008f0007c0c00000c0c00000fac0f40001c0c0fc0001c0
-c0d00001c0c0e50006c0c0000000c0c0f500fdc0f300fdc0800085008000
-8f000dc0c00000c0c00000c000c0c000c0f40001c0c0fc0001c0c0ae0001
-c0c0f600fcc0f400fcc08000850080009f00fac0f60005c0c00000c0c0fc
-0001c0c0fc00fcc0fa0001c0c0fc0005c0c00000c0c0f70008c0c0000000
-c0c00000fbc00a0000c0c000c0c0c0000000fbc0fc00fdc0fc00fbc00700
-00c0c000c0c0c0f10001c0c0f40001c0c0f20001c0c0f400fac080009700
-80008e00fcc0fb0001c0c0f90001c0c0fb0001c0c0fc0004c0c000c0c0f6
-001ec0c0000000c0c000c0c0000000c0c00000c0c0c000c0c000c0c00000
-00c0c0fc0013c0c0000000c0c0000000c0c00000c0c00000c0c0f500fcc0
-f30001c0c0f20001c0c080008500f9c00000f9c00000f9c00000f9c00000
-f9c00000f9c00000f9c00000f9c00000f9c00000f9c00000f9c00000f9c0
-0000f9c00000f9c00000f9c00000f9c00000f9c00000f9c00000f9c00000
-f9c00000f9c00000f9c00000f9c00000f9c00000f9c00000f9c00000f9c0
-0000f9c0ec0001c0c0fa0001c0c0fc00fbc0fb0001c0c0fc00fcc0f50007
-c0c0000000c0c000f9c00b0000c0c00000c0c00000c0c0f80013c0c00000
-00c0c0000000c0c00000c0c00000c0c0f20001c0c0f40001c0c0f20001c0
-c0ed00f9c00000f9c00000f9c00000f9c00000f9c00000f9c00000f9c000
-00f9c00000f9c00000f9c00000f9c00000f9c00000f9c00000f9c00000f9
-c00000f9c00000f9c00000f9c00000f9c00000f9c00000f9c00000f9c000
-00f9c00000f9c00000f9c00000f9c00000f9c00000f9c00000f9c0ff0080
-009f00fac0f40001c0c0fa000ac0c0000000c0c00000c0c0fb0001c0c0fc
-00fcc0f50009c0c0000000c0c000c0c0f90001c0c0f900fdc0fa0013c0c0
-000000c0c0000000c0c00000c0c00000c0c0f20001c0c0f40001c0c0f200
-01c0c0f400fac08000970080008d0001c0c0fa000ac0c0000000c0c00000
-c0c0fb0001c0c0fc0004c0c000c0c0f60009c0c0000000c0c000c0c0f900
-01c0c0f70001c0c0fb0013c0c0000000c0c0000000c0c00000c0c00000c0
-c0f20001c0c0f40001c0c0f20001c0c08000850080008d0001c0c0fa000a
-c0c0000000c0c00000c0c0fb0001c0c0fc0005c0c00000c0c0f60011c0c0
-00c0c00000c0c0000000c0c00000c0c0fb0006c0c0000000c0c0fc0013c0
-c0000000c0c0000000c0c00000c0c00000c0c0f70006c0c0000000c0c0fc
-0001c0c0fa0001c0c0fa0001c0c0fa0001c0c08000850080008e00fcc0fc
-00fcc0fd00fdc00500c0c0000000fcc0080000c0c0c00000c0c0f500fdc0
-fc00fbc0010000fcc0fb00fbc0fc00fcc0fd00fbc0fd0005c0c00000c0c0
-f600fbc0fb0001c0c0fc00fac0fc0001c0c0fc00fac08000870080008000
-800080008000800080008000800080008000800080008000800080008000
-8000800080008000800080008000800080008000800080008000fd0000c0
-e90000c080008000800080009c00030000c0c0ea0001c0c0800080008000
-80009c00030000c0c0ea0001c0c080008000800080009c00fac0fd00fbc0
-fd00fbc0010000fac080008000800080009e00030000c0c0fc0013c0c000
-0000c0c000c0c0000000c0c0000000c0c080008000800080009c00030000
-c0c0fc00f9c0030000c0c0f90001c0c080008000800080009c00030000c0
-c0fc0001c0c0f800fdc0fb0001c0c080008000800080009c00030000c0c0
-fc0001c0c0f60001c0c0fc0001c0c080008000800080009c001e0000c0c0
-00c0c000c0c0000000c0c000c0c0000000c0c0000000c0c000c0c0800080
-00800080009f00fd00fdc0fd00fbc0fd00fbc0fb00fdc080008000800080
-009e00800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000850000c0f10001c0c0fc00fbc0fd00
-fbc0f30001c0c0fb00fdc0fc00fbc0f30001c0c0f20001c0c0fc00fbc0fd
-00fbc0f30000c0f90000c0f10001c0c0800095008000860001c0c0fb00fb
-c0fc00fdc0fd000ec0c0000000c0c000c0c0000000c0c0f500fdc0fc0001
-c0c0fb0006c0c0000000c0c0f500fdc0f300fdc0fd0015c0c0000000c0c0
-00c0c0000000c0c00000c0c000c0c0fc0001c0c0fa0001c0c0f200fdc080
-0095008000860001c0c0fc0008c0c0000000c0c00000fcc0fd0006c0c000
-0000c0c0fa0001c0c0f600fcc0fd0001c0c0fa0006c0c0000000c0c0f600
-fcc0f400fcc0f80001c0c0fa0008c0c00000c0c000c0c0fc0001c0c0fa00
-01c0c0f300fcc0800095008000af00fac0f70008c0c000c0c0c0000000fb
-c0fd00fbc0010000fac0080000c0c0000000c0c0fc000bc0c0000000c0c0
-000000c0c0fb0001c0c0f30006c0c0000000c0c0fa0006c0c0000000c0c0
-f40001c0c0f20001c0c0f80001c0c0fb0003c0c00000f9c00000fac00100
-00fac0080000c0c0000000c0c0fc0001c0c0f400fac08000a70080009f00
-fdc01700c0c000c0c0000000c0c000c0c0000000c0c0000000c0c0fc0002
-c0c000fcc0fc0001c0c0fc00fac0fc0001c0c0f20004c0c0000000fac0fd
-00fbc0f30001c0c0f20001c0c0fb00fcc0fb0001c0c0fc0004c0c000c0c0
-fc0001c0c0fa0001c0c0fc0006c0c0000000c0c0fc0001c0c080009500f9
-c00000f9c00000f9c00000f9c00000f9c00000f9c00000f9c00000f9c000
-00f9c00000f9c00000f9c00000f9c00000f9c00000f9c00000f9c00000f9
-c00000f9c00000f9c00000f9c00000f9c00000f9c00000f9c00000f9c000
-00f9c00000f9c00000f9c0ee001ac0c00000c0c000c0c0000000c0c000c0
-c0000000c0c0000000c0c0fc0002c0c000fcc0fc0001c0c0f80006c0c000
-0000c0c0f10013c0c0000000c0c0000000c0c000c0c0000000c0c0f40001
-c0c0f20001c0c0f80006c0c0000000c0c0fb0004c0c000c0c0fc0001c0c0
-fa0001c0c0fc0006c0c0000000c0c0fc0001c0c0ed00f9c00000f9c00000
-f9c00000f9c00000f9c00000f9c00000f9c00000f9c00000f9c00000f9c0
-0000f9c00000f9c00000f9c00000f9c00000f9c00000f9c00000f9c00000
-f9c00000f9c00000f9c00000f9c00000f9c00000f9c00000f9c00000f9c0
-0000f9c00000f9c0ff008000af00fac0f60001c0c0fb0013c0c0000000c0
-c000c0c0000000c0c0000000c0c0fc0002c0c000fcc0fc0001c0c0f80005
-c0c00000c0c0f00013c0c0000000c0c0000000c0c000c0c0000000c0c0f4
-0001c0c0f20001c0c0f80005c0c00000c0c0fa0004c0c000c0c0fc0001c0
-c0fa0001c0c0fc0006c0c0000000c0c0fc0001c0c0f400fac08000a70080
-009f0001c0c0fb0013c0c0000000c0c000c0c0000000c0c0000000c0c0fc
-0005c0c000c0c0c0fb0001c0c0f80004c0c000c0c0ef0013c0c0000000c0
-c0000000c0c000c0c0000000c0c0f40001c0c0f20001c0c0f80004c0c000
-c0c0fa00f9c0fd0001c0c0fa0001c0c0fc0006c0c0000000c0c0fc0001c0
-c08000950080009f0001c0c0fb0019c0c0000000c0c000c0c0000000c0c0
-000000c0c000c0c000c0c0f70001c0c0f9000ac0c00000c0c0000000c0c0
-fc0001c0c0fa0013c0c0000000c0c0000000c0c000c0c0000000c0c0fc00
-01c0c0fa0001c0c0fa0001c0c0fa001ac0c0000000c0c0000000c0c000c0
-c0000000c0c00000c0c000c0c0fc0014c0c000c0c0000000c0c000c0c000
-c0c0000000c0c0fc0001c0c0800095008000a000fcc0fb00fbc0fd00fbc0
-fb00fdc0fd00fbc0fd00fac0010000fcc0fd00f9c0fc0001c0c0fc00fac0
-010000fbc0fd00fbc0fb0001c0c0fc00fac0fc0001c0c0fc00fac0010000
-fbc0010000f9c0060000c0c000c0c0fb00fdc0fb00fdc0fd00fac0010000
-fac080009700800080008000f30001c0c080008f00800080008000f40001
-c0c080008e00800080008000f800fbc080008d0080008000800080008000
-8000800080008000800080008000800080008000fd0000c0fc00fdc0f800
-01c0c0ea0001c0c0da0000c0e90000c08000800080008000ec00030000c0
-c0fb0001c0c0f80001c0c0ea0001c0c0db0001c0c0ea0001c0c080008000
-80008000ec00030000c0c0fb0001c0c0b90001c0c0ea0001c0c080008000
-80008000ec00fac0fd0004c0c000c0c0fc00fdc0fc00fbc0f400fdc0fc00
-fbc0f500fcc0f500fac0fd00fbc0fd00fbc0010000fac080008000800080
-00ee00030000c0c0fb00fdc00200c0c0fc000bc0c0000000c0c0000000c0
-c0f4000bc0c0000000c0c0000000c0c0f30001c0c0f40001c0c0fc0013c0
-c0000000c0c000c0c0000000c0c0000000c0c08000800080008000ec0003
-0000c0c0fb0005c0c00000c0c0fc0001c0c0fc0001c0c0f00001c0c0fc00
-01c0c0f200fbc0f40001c0c0fc00f9c0030000c0c0f90001c0c080008000
-80008000ec00030000c0c0fb0005c0c00000c0c0fc0001c0c0fb00fdc0f2
-0001c0c0fb00fdc0f50005c0c00000c0c0f40001c0c0fc0001c0c0f800fd
-c0fb0001c0c08000800080008000ec00030000c0c0fb0005c0c00000c0c0
-fc0001c0c0f90001c0c0f30001c0c0f90001c0c0f60005c0c00000c0c0f4
-0001c0c0fc0001c0c0f60001c0c0fc0001c0c08000800080008000ec000e
-0000c0c000c0c00000c0c00000c0c0fc000bc0c0000000c0c0000000c0c0
-f4000bc0c0000000c0c0000000c0c0f70005c0c00000c0c0f4001cc0c000
-c0c000c0c0000000c0c000c0c0000000c0c0000000c0c000c0c080008000
-80008000ef00fd00fdc00b0000c0c0c00000c0c0000000fcc0fd00fbc0f4
-00fcc0fd00fbc0f500fdc00200c0c0f400fdc0fd00fbc0fd00fbc0fb00fd
-c08000800080008000ee0080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-0080008000800080008000
-grestore
-showpage
-%%Trailer
-
-%%EndDocument
- @endspecial -30 43668 a
- currentpoint currentpoint translate 1 0.79 div 1 0.79 div scale neg
-exch neg exch translate
- -30 43668 a -30 45218 a
-SDict begin H.S end
- -30
-45218 a -30 45218 a
-SDict begin 18.2 H.A end
- -30 45218 a -30 45218 a
-SDict begin [ /View [/XYZ H.V] /Dest (5048) cvn H.B /DEST pdfmark end
- -30 45218
-a 2014 x FU(The)514 b(username)g(and)f(terminal)h(are)g(speci\002ed)f
-(the)h(same)g(as)g(under)f(talk,)h(e)-23 b(xcept)514
-b(you)g(must)-30 49247 y(put)387 b(them)g(together)g(with)g(the)g(hash)
-g(mark)g(\(#\).)-30 50357 y
-SDict begin H.S end
- -30 50357 a -30 50357 a
-SDict begin 18.2 H.A end
- -30
-50357 a -30 50357 a
-SDict begin [ /View [/XYZ H.V] /Dest (5049) cvn H.B /DEST pdfmark end
- -30 50357 a 1680 x FU(ytalk)g(of)-39
-b(fers)388 b(se)-39 b(v)-23 b(eral)387 b(adv)-39 b(antages:)-30
-52372 y
-SDict begin H.S end
- -30 52372 a -30 52372 a
-SDict begin 18.2 H.A end
- -30 52372 a -30 52372
-a
-SDict begin [ /View [/XYZ H.V] /Dest (5050) cvn H.B /DEST pdfmark end
- -30 52372 a -30 53147 a
-SDict begin H.S end
- -30 53147 a -30 53147 a
-SDict begin 18.2 H.A end
- -30
-53147 a -30 53147 a
-SDict begin [ /View [/XYZ H.V] /Dest (5051) cvn H.B /DEST pdfmark end
- -30 53147 a Black 3229 x FM(\225)p
-Black 1520 56376 a
-SDict begin H.S end
- 1520 56376 a 1520 56376 a
-SDict begin 18.2 H.A end
- 1520 56376
-a 1520 56376 a
-SDict begin [ /View [/XYZ H.V] /Dest (5052) cvn H.B /DEST pdfmark end
- 1520 56376 a FU(It)387 b(supports)g(more)g(than)g(tw)-15
-b(o)386 b(users.)-30 56711 y
-SDict begin H.S end
- -30 56711 a -30 56711 a
-SDict begin 18.2 H.A end
-
--30 56711 a -30 56711 a
-SDict begin [ /View [/XYZ H.V] /Dest (5053) cvn H.B /DEST pdfmark end
- -30 56711 a Black 2454 x FM(\225)p
-Black 1520 59165 a
-SDict begin H.S end
- 1520 59165 a 1520 59165 a
-SDict begin 18.2 H.A end
- 1520 59165
-a 1520 59165 a
-SDict begin [ /View [/XYZ H.V] /Dest (5054) cvn H.B /DEST pdfmark end
- 1520 59165 a FU(A)h(menu)g(of)h(options)e(that)h(can)g
-(be)h(brought)e(up)i(an)-23 b(ytime)386 b(with)36234
-59165 y
-SDict begin H.S end
- 36234 59165 a 36234 59165 a
-SDict begin 18.2 H.A end
- 36234 59165 a 36234
-59165 a
-SDict begin [ /View [/XYZ H.V] /Dest (5055) cvn H.B /DEST pdfmark end
- 36234 59165 a Fv(Esc)p FU(.)-30 59501 y
-SDict begin H.S end
- -30 59501
-a -30 59501 a
-SDict begin 18.2 H.A end
- -30 59501 a -30 59501 a
-SDict begin [ /View [/XYZ H.V] /Dest (5056) cvn H.B /DEST pdfmark end
- -30 59501 a Black
-2454 x FM(\225)p Black 1520 61955 a
-SDict begin H.S end
- 1520 61955 a 1520
-61955 a
-SDict begin 18.2 H.A end
- 1520 61955 a 1520 61955 a
-SDict begin [ /View [/XYZ H.V] /Dest (5057) cvn H.B /DEST pdfmark end
- 1520 61955 a FU(Y)-170
-b(ou)386 b(can)i(shell)f(out)g(while)g(still)f(in)h(the)h(talk)f
-(session.)-30 61970 y
-SDict begin H.S end
- -30 61970 a -30 61970 a
-SDict begin 18.2 H.A end
- -30 61970
-a -30 61970 a
-SDict begin [ /View [/XYZ H.V] /Dest (5058) cvn H.B /DEST pdfmark end
- -30 61970 a Black 2774 x FM(\225)p Black
-1520 64744 a
-SDict begin H.S end
- 1520 64744 a 1520 64744 a
-SDict begin 18.2 H.A end
- 1520 64744 a 1520
-64744 a
-SDict begin [ /View [/XYZ H.V] /Dest (5059) cvn H.B /DEST pdfmark end
- 1520 64744 a FU(Plus)f(more...)p Black 49451
-73792 a FR(179)p Black eop end
-%%Page: 180 202
-TeXDict begin 180 201 bop -8000 -8000 a
-SDict begin /product where{pop product(Distiller)search{pop pop pop
-version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
-closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
-grestore}if}{pop}ifelse}{pop}ifelse}if end
- -8000 -8000 a
-Black 0 TeXcolorgray -30 -1237 a
-SDict begin H.S end
- -30 -1237 a 0 TeXcolorgray
-0 TeXcolorgray -30 -1237 a
-SDict begin H.R end
- -30 -1237 a -30 -1237 a
-SDict begin [ /View [/XYZ H.V] /Dest (page.180) cvn H.B /DEST pdfmark
-end
- -30
--1237 a Black -399 x FR(Chapter)387 b(13)g(Basic)g(Network)f(Commands)p
-Black -30 2504 a
-SDict begin H.S end
- -30 2504 a -30 2504 a
-SDict begin 18.2 H.A end
- -30 2504 a -30
-2504 a
-SDict begin [ /View [/XYZ H.V] /Dest (5060) cvn H.B /DEST pdfmark end
- -30 2504 a 1107 x FU(If)606 b(you')-77 b(re)606
-b(a)g(serv)-23 b(er)606 b(administrator)-62 b(,)605 b(you')-15
-b(ll)605 b(w)-15 b(ant)605 b(to)h(mak)-15 b(e)605 b(sure)h(that)f(the)
-43314 3611 y
-SDict begin H.S end
- 43314 3611 a 43314 3611 a
-SDict begin 18.2 H.A end
- 43314 3611 a 43314
-3611 a
-SDict begin [ /View [/XYZ H.V] /Dest (5061) cvn H.B /DEST pdfmark end
- 43314 3611 a FP(ntalk)h FU(port)f(is)-30 5626
-y(enabled)387 b(in)6770 5626 y
-SDict begin H.S end
- 6770 5626 a 6770 5626
-a
-SDict begin 18.2 H.A end
- 6770 5626 a 6770 5626 a
-SDict begin [ /View [/XYZ H.V] /Dest (5062) cvn H.B /DEST pdfmark end
- 6770 5626 a FQ(/etc/inetd.conf)p
-FU(.)16941 5626 y
-SDict begin H.S end
- 16941 5626 a 16941 5626 a
-SDict begin 18.2 H.A end
- 16941 5626
-a 16941 5626 a
-SDict begin [ /View [/XYZ H.V] /Dest (5063) cvn H.B /DEST pdfmark end
- 16941 5626 a FP(ytalk)f FU(needs)i(that)f(to)g(w)-15
-b(ork)386 b(properly)-101 b(.)p Black -30 73792 a FR(180)p
-Black eop end
-%%Page: 181 203
-TeXDict begin 181 202 bop -8000 -8000 a
-SDict begin /product where{pop product(Distiller)search{pop pop pop
-version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
-closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
-grestore}if}{pop}ifelse}{pop}ifelse}if end
- -8000 -8000 a
-Black 0 TeXcolorgray -30 -1358 a
-SDict begin H.S end
- -30 -1358 a 0 TeXcolorgray
-0 TeXcolorgray -30 -1358 a
-SDict begin H.R end
- -30 -1358 a -30 -1358 a
-SDict begin [ /View [/XYZ H.V] /Dest (page.181) cvn H.B /DEST pdfmark
-end
- -30
--1358 a Black Black -30 2383 a
-SDict begin H.S end
- -30 2383 a -30 2383 a
-SDict begin 18.2 H.A end
-
--30 2383 a -30 2383 a
-SDict begin [ /View [/XYZ H.V] /Dest (SECURITY) cvn H.B /DEST pdfmark
-end
- -30 2383 a 2345 x FS(Chapter)894
-b(14)-30 10743 y FO(Security)p -30 18316 51806 56 v -30
-18316 a
-SDict begin H.S end
- -30 18316 a -30 18316 a
-SDict begin 18.2 H.A end
- -30 18316 a -30 18316
-a
-SDict begin [ /View [/XYZ H.V] /Dest (5066) cvn H.B /DEST pdfmark end
- -30 18316 a -30 19091 a
-SDict begin H.S end
- -30 19091 a -30 19091 a
-SDict begin 18.2 H.A end
- -30
-19091 a -30 19091 a
-SDict begin [ /View [/XYZ H.V] /Dest (5068) cvn H.B /DEST pdfmark end
- -30 19091 a 1051 x FU(Security)493
-b(on)g(an)-23 b(y)493 b(system)g(is)g(important;)f(it)h(can)g(pre)-39
-b(v)-23 b(ent)494 b(people)f(launching)f(attacks)h(from)-30
-22157 y(your)373 b(machine,)g(as)g(well)f(as)h(protect)g(sensiti)-39
-b(v)-23 b(e)372 b(data.)h(This)f(chapter)h(is)g(all)f(about)h(ho)-39
-b(w)373 b(to)f(start)-30 24171 y(securing)583 b(your)h(Slackw)-15
-b(are)583 b(box)g(ag)-8 b(ainst)583 b(script)h(kiddies,)f(crack)-15
-b(ers)583 b(and)h(rogue)g(hamsters)-30 26186 y(alik)-15
-b(e.)599 b(Bear)h(in)f(mind)g(that)g(this)g(is)h(only)f(the)g(start)g
-(of)h(securing)f(a)h(system;)e(security)h(is)h(a)-30
-28201 y(process,)388 b(not)f(a)g(state.)-30 28536 y
-SDict begin H.S end
- -30
-28536 a -30 28536 a
-SDict begin 18.2 H.A end
- -30 28536 a -30 28536 a
-SDict begin [ /View [/XYZ H.V] /Dest (SECURITY-DISABLE) cvn H.B /DEST
-pdfmark end
- -30 28536
-a 5789 x FL(14.1)620 b(Disab)-22 b(ling)620 b(Ser)22
-b(vices)-30 34822 y
-SDict begin H.S end
- -30 34822 a -30 34822 a
-SDict begin 18.2 H.A end
- -30 34822
-a -30 34822 a
-SDict begin [ /View [/XYZ H.V] /Dest (5071) cvn H.B /DEST pdfmark end
- -30 34822 a -30 35938 a
-SDict begin H.S end
- -30 35938 a -30
-35938 a
-SDict begin 18.2 H.A end
- -30 35938 a -30 35938 a
-SDict begin [ /View [/XYZ H.V] /Dest (5074) cvn H.B /DEST pdfmark end
- -30 35938 a 1518 x FU(The)421
-b(\002rst)f(step)h(after)g(installing)f(Slackw)-15 b(are)420
-b(should)g(be)h(to)g(disable)f(an)-23 b(y)421 b(services)g(you)f(don')
--28 b(t)-30 39470 y(need.)385 b(An)-23 b(y)385 b(services)f(could)g
-(potentially)g(pose)g(a)h(security)g(risk,)g(so)f(it)h(is)f(important)g
-(to)g(run)h(as)-30 41485 y(fe)-39 b(w)456 b(services)g(as)g(possible)e
-(\(i.e.)j(only)e(those)h(that)f(are)h(needed\).)g(Services)g(are)g
-(started)f(from)-30 43500 y(tw)-15 b(o)387 b(main)g(places)g(-)11317
-43500 y
-SDict begin H.S end
- 11317 43500 a 11317 43500 a
-SDict begin 18.2 H.A end
- 11317 43500 a 11317
-43500 a
-SDict begin [ /View [/XYZ H.V] /Dest (5075) cvn H.B /DEST pdfmark end
- 11317 43500 a FP(inetd)g FU(and)g(init)g(scripts.)-30
-43835 y
-SDict begin H.S end
- -30 43835 a -30 43835 a
-SDict begin 18.2 H.A end
- -30 43835 a -30 43835
-a
-SDict begin [ /View [/XYZ H.V] /Dest (5076) cvn H.B /DEST pdfmark end
- -30 43835 a -30 43835 a
-SDict begin H.S end
- -30 43835 a -30 43835 a
-SDict begin 18.2 H.A end
- -30
-43835 a -30 43835 a
-SDict begin [ /View [/XYZ H.V] /Dest (5078) cvn H.B /DEST pdfmark end
- -30 43835 a -30 43835 a
-SDict begin H.S end
- -30 43835
-a -30 43835 a
-SDict begin 18.2 H.A end
- -30 43835 a -30 43835 a
-SDict begin [ /View [/XYZ H.V] /Dest (5080) cvn H.B /DEST pdfmark end
- -30 43835 a 5027
-x FG(Ser)19 b(vices)517 b(star)37 b(ted)519 b(fr)-37
-b(om)518 b FF(inetd)-30 48885 y
-SDict begin H.S end
- -30 48885 a -30 48885
-a
-SDict begin 18.2 H.A end
- -30 48885 a -30 48885 a
-SDict begin [ /View [/XYZ H.V] /Dest (5083) cvn H.B /DEST pdfmark end
- -30 48885 a -30 49815 a
-SDict begin H.S end
- -30
-49815 a -30 49815 a
-SDict begin 18.2 H.A end
- -30 49815 a -30 49815 a
-SDict begin [ /View [/XYZ H.V] /Dest (5085) cvn H.B /DEST pdfmark end
- -30 49815
-a 1991 x FU(A)477 b(lot)f(of)h(the)g(daemons)f(that)h(come)g(with)f
-(Slackw)-15 b(are)476 b(are)h(run)g(from)38990 51806
-y
-SDict begin H.S end
- 38990 51806 a 38990 51806 a
-SDict begin 18.2 H.A end
- 38990 51806 a 38990 51806
-a
-SDict begin [ /View [/XYZ H.V] /Dest (5086) cvn H.B /DEST pdfmark end
- 38990 51806 a FP(inetd)p FU(\(8\).)45381 51806 y
-SDict begin H.S end
- 45381
-51806 a 45381 51806 a
-SDict begin 18.2 H.A end
- 45381 51806 a 45381 51806 a
-SDict begin [ /View [/XYZ H.V] /Dest (5087) cvn H.B /DEST pdfmark end
- 45381
-51806 a FP(inetd)f FU(is)h(a)-30 53821 y(daemon)375 b(that)g(listens)g
-(on)g(all)g(of)h(the)f(ports)g(used)g(by)g(services)g(con\002gured)g
-(to)g(be)h(started)f(by)g(it)-30 55836 y(and)401 b(spa)-23
-b(wns)400 b(an)g(instance)h(of)f(the)h(rele)-39 b(v)g(ant)401
-b(daemon)f(when)h(a)f(connection)g(attempt)g(is)h(made.)-30
-57850 y(Daemons)441 b(started)g(from)14291 57850 y
-SDict begin H.S end
- 14291
-57850 a 14291 57850 a
-SDict begin 18.2 H.A end
- 14291 57850 a 14291 57850 a
-SDict begin [ /View [/XYZ H.V] /Dest (5088) cvn H.B /DEST pdfmark end
- 14291
-57850 a FP(inetd)g FU(can)g(be)h(disabled)e(by)h(commenting)f(out)h
-(the)g(rele)-39 b(v)g(ant)441 b(lines)-30 59865 y(in)1582
-59865 y
-SDict begin H.S end
- 1582 59865 a 1582 59865 a
-SDict begin 18.2 H.A end
- 1582 59865 a 1582 59865
-a
-SDict begin [ /View [/XYZ H.V] /Dest (5089) cvn H.B /DEST pdfmark end
- 1582 59865 a FQ(/etc/inetd.conf)p FU(.)396 b(T)-124
-b(o)406 b(do)f(this,)h(open)f(this)g(\002le)g(in)h(your)f(f)-15
-b(a)-31 b(v)g(orite)405 b(editor)g(\(e.g.)44398 59865
-y
-SDict begin H.S end
- 44398 59865 a 44398 59865 a
-SDict begin 18.2 H.A end
- 44398 59865 a 44398 59865
-a
-SDict begin [ /View [/XYZ H.V] /Dest (5090) cvn H.B /DEST pdfmark end
- 44398 59865 a FP(vi)p FU(\))h(and)f(you)-30 61880 y(should)387
-b(see)g(lines)g(similar)f(to)i(this:)-30 63445 y
-SDict begin H.S end
- -30
-63445 a -30 63445 a
-SDict begin 14.56 H.A end
- -30 63445 a -30 63445 a
-SDict begin [ /View [/XYZ H.V] /Dest (5091) cvn H.B /DEST pdfmark end
- -30 63445
-a 1596 x FP(telnet)743 b(stream)1487 b(tcp)3719 b(nowait)1487
-b(root)2975 b(/usr/sbin/tcpd)1486 b(in.telnetd)p Black
-49451 73672 a FR(181)p Black eop end
-%%Page: 182 204
-TeXDict begin 182 203 bop -8000 -8000 a
-SDict begin /product where{pop product(Distiller)search{pop pop pop
-version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
-closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
-grestore}if}{pop}ifelse}{pop}ifelse}if end
- -8000 -8000 a
-Black 0 TeXcolorgray -30 -1358 a
-SDict begin H.S end
- -30 -1358 a 0 TeXcolorgray
-0 TeXcolorgray -30 -1358 a
-SDict begin H.R end
- -30 -1358 a -30 -1358 a
-SDict begin [ /View [/XYZ H.V] /Dest (page.182) cvn H.B /DEST pdfmark
-end
- -30
--1358 a Black -30 -2687 a
-SDict begin H.S end
- -30 -2687 a -30 -2687 a
-SDict begin 18.2 H.A end
- -30
--2687 a -30 -2687 a
-SDict begin [ /View [/XYZ H.V] /Dest (5117) cvn H.B /DEST pdfmark end
- -30 -2687 a 1051 x FR(Chapter)387
-b(14)g(Security)p Black -30 2383 a
-SDict begin H.S end
- -30 2383 a -30 2383
-a
-SDict begin 18.2 H.A end
- -30 2383 a -30 2383 a
-SDict begin [ /View [/XYZ H.V] /Dest (5092) cvn H.B /DEST pdfmark end
- -30 2383 a 1107 x FU(Y)-170 b(ou)479
-b(can)g(disable)g(this)f(service,)i(and)f(an)-23 b(y)479
-b(others)g(you)g(don')-28 b(t)479 b(need,)g(by)g(commenting)f(them)-30
-5505 y(out)337 b(\(i.e.)h(adding)e(a)10615 5505 y
-SDict begin H.S end
- 10615
-5505 a 10615 5505 a
-SDict begin 18.2 H.A end
- 10615 5505 a 10615 5505 a
-SDict begin [ /View [/XYZ H.V] /Dest (5093) cvn H.B /DEST pdfmark end
- 10615 5505
-a FP(#)h FU(\(hash\))g(symbol)f(to)h(the)f(be)-23 b(ginning)336
-b(of)h(the)g(line\).)g(The)g(abo)-23 b(v)g(e)336 b(line)h(w)-15
-b(ould)-30 7520 y(then)387 b(become:)-30 9085 y
-SDict begin H.S end
- -30 9085
-a -30 9085 a
-SDict begin 14.56 H.A end
- -30 9085 a -30 9085 a
-SDict begin [ /View [/XYZ H.V] /Dest (5094) cvn H.B /DEST pdfmark end
- -30 9085 a 1596 x
-FP(#telnet)743 b(stream)1487 b(tcp)3719 b(nowait)1487
-b(root)2975 b(/usr/sbin/tcpd)1486 b(in.telnetd)-30 12425
-y
-SDict begin H.S end
- -30 12425 a -30 12425 a
-SDict begin 18.2 H.A end
- -30 12425 a -30 12425 a
-SDict begin [ /View [/XYZ H.V] /Dest (5095) cvn H.B /DEST pdfmark end
- -30
-12425 a 1820 x FU(After)3687 14245 y
-SDict begin H.S end
- 3687 14245 a 3687
-14245 a
-SDict begin 18.2 H.A end
- 3687 14245 a 3687 14245 a
-SDict begin [ /View [/XYZ H.V] /Dest (5096) cvn H.B /DEST pdfmark end
- 3687 14245 a FP(inetd)446
-b FU(has)g(been)g(restarted,)h(this)f(service)g(will)g(be)h(disabled.)f
-(Y)-170 b(ou)446 b(can)g(restart)48056 14245 y
-SDict begin H.S end
- 48056
-14245 a 48056 14245 a
-SDict begin 18.2 H.A end
- 48056 14245 a 48056 14245 a
-SDict begin [ /View [/XYZ H.V] /Dest (5097) cvn H.B /DEST pdfmark end
- 48056
-14245 a FP(inetd)-30 16260 y FU(with)387 b(the)g(command:)-30
-17825 y
-SDict begin H.S end
- -30 17825 a -30 17825 a
-SDict begin 14.56 H.A end
- -30 17825 a -30 17825
-a
-SDict begin [ /View [/XYZ H.V] /Dest (5098) cvn H.B /DEST pdfmark end
- -30 17825 a -30 17825 a
-SDict begin H.S end
- -30 17825 a -30 17825 a
-SDict begin 14.56 H.A end
- -30
-17825 a -30 17825 a
-SDict begin [ /View [/XYZ H.V] /Dest (5099) cvn H.B /DEST pdfmark end
- -30 17825 a 1597 x FJ(#)1309 19422
-y
-SDict begin H.S end
- 1309 19422 a 1309 19422 a
-SDict begin 14.56 H.A end
- 1309 19422 a 1309 19422 a
-SDict begin [ /View [/XYZ H.V] /Dest (5100) cvn H.B /DEST pdfmark end
-
-1309 19422 a FH(kill)743 b(-HUP)h($\(cat)f(/var/run/inetd.pid\))-30
-21139 y
-SDict begin H.S end
- -30 21139 a -30 21139 a
-SDict begin 18.2 H.A end
- -30 21139 a -30 21139
-a
-SDict begin [ /View [/XYZ H.V] /Dest (5101) cvn H.B /DEST pdfmark end
- -30 21139 a 5349 x FG(Ser)19 b(vices)517 b(star)37
-b(ted)519 b(fr)-37 b(om)518 b(init)f(scripts)-30 27803
-y
-SDict begin H.S end
- -30 27803 a -30 27803 a
-SDict begin 18.2 H.A end
- -30 27803 a -30 27803 a
-SDict begin [ /View [/XYZ H.V] /Dest (5103) cvn H.B /DEST pdfmark end
- -30
-27803 a 1630 x FU(The)577 b(rest)g(of)g(the)g(services)g(started)g
-(when)g(the)f(machine)h(starts)g(are)g(started)g(from)g(the)g(init)-30
-31448 y(scripts)435 b(in)6094 31448 y
-SDict begin H.S end
- 6094 31448 a 6094
-31448 a
-SDict begin 18.2 H.A end
- 6094 31448 a 6094 31448 a
-SDict begin [ /View [/XYZ H.V] /Dest (5104) cvn H.B /DEST pdfmark end
- 6094 31448 a FQ(/etc/rc.d/)p
-FU(.)429 b(These)436 b(can)g(be)f(disabled)g(in)h(tw)-15
-b(o)434 b(dif)-39 b(ferent)436 b(w)-15 b(ays,)435 b(the)h(\002rst)f
-(being)g(to)-30 33462 y(remo)-23 b(v)g(e)481 b(the)h(e)-23
-b(x)g(ecute)482 b(permissions)e(on)i(the)g(rele)-39 b(v)g(ant)482
-b(init)g(script)f(and)h(the)g(second)g(being)f(to)-30
-35477 y(comment)387 b(out)g(the)g(rele)-39 b(v)g(ant)387
-b(lines)g(in)g(the)h(init)e(scripts.)-30 35812 y
-SDict begin H.S end
- -30
-35812 a -30 35812 a
-SDict begin 18.2 H.A end
- -30 35812 a -30 35812 a
-SDict begin [ /View [/XYZ H.V] /Dest (5105) cvn H.B /DEST pdfmark end
- -30 35812
-a -30 36587 a
-SDict begin H.S end
- -30 36587 a -30 36587 a
-SDict begin 18.2 H.A end
- -30 36587 a -30
-36587 a
-SDict begin [ /View [/XYZ H.V] /Dest (5107) cvn H.B /DEST pdfmark end
- -30 36587 a 1679 x FU(F)-23 b(or)412 b(e)-23
-b(xample,)412 b(SSH)f(is)h(started)g(by)g(its)f(o)-39
-b(wn)412 b(init)g(script)g(at)32530 38266 y
-SDict begin H.S end
- 32530 38266
-a 32530 38266 a
-SDict begin 18.2 H.A end
- 32530 38266 a 32530 38266 a
-SDict begin [ /View [/XYZ H.V] /Dest (5108) cvn H.B /DEST pdfmark end
- 32530 38266
-a FQ(/etc/rc.d/rc.sshd)p FU(.)402 b(Y)-170 b(ou)411 b(can)h(dis-)-30
-40281 y(able)387 b(this)g(using:)-30 42166 y
-SDict begin H.S end
- -30 42166
-a -30 42166 a
-SDict begin 14.56 H.A end
- -30 42166 a -30 42166 a
-SDict begin [ /View [/XYZ H.V] /Dest (5109) cvn H.B /DEST pdfmark end
- -30 42166 a -30
-42166 a
-SDict begin H.S end
- -30 42166 a -30 42166 a
-SDict begin 14.56 H.A end
- -30 42166 a -30 42166
-a
-SDict begin [ /View [/XYZ H.V] /Dest (5110) cvn H.B /DEST pdfmark end
- -30 42166 a 1277 x FJ(#)1309 43443 y
-SDict begin H.S end
- 1309 43443 a 1309
-43443 a
-SDict begin 14.56 H.A end
- 1309 43443 a 1309 43443 a
-SDict begin [ /View [/XYZ H.V] /Dest (5111) cvn H.B /DEST pdfmark end
- 1309 43443 a FH(chmod)743
-b(-x)h(/etc/rc.d/rc.sshd)-30 45084 y
-SDict begin H.S end
- -30 45084 a -30
-45084 a
-SDict begin 18.2 H.A end
- -30 45084 a -30 45084 a
-SDict begin [ /View [/XYZ H.V] /Dest (5112) cvn H.B /DEST pdfmark end
- -30 45084 a 1923 x FU(F)-23
-b(or)424 b(services)g(that)g(don')-28 b(t)424 b(ha)-31
-b(v)-23 b(e)424 b(their)g(o)-39 b(wn)424 b(init)g(script,)g(you)g(will)
-g(need)h(to)f(comment)f(out)h(the)-30 49022 y(rele)-39
-b(v)g(ant)459 b(lines)e(in)h(the)h(init)e(scripts)h(to)g(disable)g
-(them.)g(F)-23 b(or)458 b(e)-23 b(xample,)458 b(the)g(portmap)f(daemon)
--30 51036 y(is)387 b(started)g(by)g(the)h(follo)-39 b(wing)386
-b(lines)h(in)21412 51036 y
-SDict begin H.S end
- 21412 51036 a 21412 51036
-a
-SDict begin 18.2 H.A end
- 21412 51036 a 21412 51036 a
-SDict begin [ /View [/XYZ H.V] /Dest (5113) cvn H.B /DEST pdfmark end
- 21412 51036 a FQ(/etc/rc.d/rc.inet2)p
-FU(:)-30 52922 y
-SDict begin H.S end
- -30 52922 a -30 52922 a
-SDict begin 14.56 H.A end
- -30 52922 a
--30 52922 a
-SDict begin [ /View [/XYZ H.V] /Dest (5114) cvn H.B /DEST pdfmark end
- -30 52922 a 1276 x FP(#)744 b(This)f(must)h(be)f(running)g
-(in)h(order)f(to)h(mount)f(NFS)h(volumes.)-30 55810 y(#)g(Start)f(the)h
-(RPC)f(portmapper:)-30 57421 y(if)h([)f(-x)h(/sbin/rpc.portmap)e(];)i
-(then)1458 59033 y(echo)f("Starting)g(RPC)h(portmapper:)1486
-b(/sbin/rpc.portmap")1458 60645 y(/sbin/rpc.portmap)-30
-62257 y(fi)-30 63868 y(#)744 b(Done)f(starting)g(the)h(RPC)f
-(portmapper.)p Black -30 73672 a FR(182)p Black eop end
-%%Page: 183 205
-TeXDict begin 183 204 bop -8000 -8000 a
-SDict begin /product where{pop product(Distiller)search{pop pop pop
-version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
-closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
-grestore}if}{pop}ifelse}{pop}ifelse}if end
- -8000 -8000 a
-Black 0 TeXcolorgray -30 -1237 a
-SDict begin H.S end
- -30 -1237 a 0 TeXcolorgray
-0 TeXcolorgray -30 -1237 a
-SDict begin H.R end
- -30 -1237 a -30 -1237 a
-SDict begin [ /View [/XYZ H.V] /Dest (page.183) cvn H.B /DEST pdfmark
-end
- -30
--1237 a Black 39293 -1636 a FR(Chapter)386 b(14)h(Security)p
-Black -30 2504 a
-SDict begin H.S end
- -30 2504 a -30 2504 a
-SDict begin 18.2 H.A end
- -30 2504 a -30
-2504 a
-SDict begin [ /View [/XYZ H.V] /Dest (5115) cvn H.B /DEST pdfmark end
- -30 2504 a 1107 x FU(This)468 b(can)h(be)g(disabled)f(by)h
-(adding)20086 3611 y
-SDict begin H.S end
- 20086 3611 a 20086 3611 a
-SDict begin 18.2 H.A end
- 20086
-3611 a 20086 3611 a
-SDict begin [ /View [/XYZ H.V] /Dest (5116) cvn H.B /DEST pdfmark end
- 20086 3611 a FP(#)g FU(symbols)f(to)h(the)f(be)-23
-b(ginnings)468 b(of)h(the)f(lines)h(that)f(don')-28 b(t)-30
-5626 y(already)387 b(start)g(with)g(them,)h(lik)-15 b(e)386
-b(so:)-30 8787 y FP(#)744 b(This)f(must)h(be)f(running)g(in)h(order)f
-(to)h(mount)f(NFS)h(volumes.)-30 10399 y(#)g(Start)f(the)h(RPC)f
-(portmapper:)-30 12011 y(#if)h([)f(-x)h(/sbin/rpc.portmap)e(];)h(then)
--30 13622 y(#)1488 b(echo)743 b("Starting)g(RPC)g(portmapper:)1487
-b(/sbin/rpc.portmap")-30 15234 y(#)h(/sbin/rpc.portmap)-30
-16846 y(#fi)-30 18458 y(#)744 b(Done)f(starting)g(the)h(RPC)f
-(portmapper.)-30 18653 y
-SDict begin H.S end
- -30 18653 a -30 18653 a
-SDict begin 18.2 H.A end
- -30
-18653 a -30 18653 a
-SDict begin [ /View [/XYZ H.V] /Dest (5118) cvn H.B /DEST pdfmark end
- -30 18653 a -30 18653 a
-SDict begin H.S end
- -30 18653
-a -30 18653 a
-SDict begin 18.2 H.A end
- -30 18653 a -30 18653 a
-SDict begin [ /View [/XYZ H.V] /Dest (5120) cvn H.B /DEST pdfmark end
- -30 18653 a -30
-18653 a
-SDict begin H.S end
- -30 18653 a -30 18653 a
-SDict begin 18.2 H.A end
- -30 18653 a -30 18653
-a
-SDict begin [ /View [/XYZ H.V] /Dest (5122) cvn H.B /DEST pdfmark end
- -30 18653 a -30 20202 a
-SDict begin H.S end
- -30 20202 a -30 20202 a
-SDict begin 18.2 H.A end
- -30
-20202 a -30 20202 a
-SDict begin [ /View [/XYZ H.V] /Dest (5124) cvn H.B /DEST pdfmark end
- -30 20202 a 1820 x FU(These)409 b(changes)g(will)f
-(only)h(tak)-15 b(e)408 b(ef)-39 b(fect)410 b(after)f(either)g(a)g
-(reboot)g(or)g(changing)f(from)h(and)g(back)-30 24037
-y(to)417 b(runle)-39 b(v)-23 b(el)417 b(3)g(or)g(4.)h(Y)-170
-b(ou)416 b(can)i(do)f(this)g(by)g(typing)f(the)h(follo)-39
-b(wing)417 b(on)g(the)g(console)g(\(you)g(will)-30 26051
-y(need)387 b(to)h(log)f(in)g(ag)-8 b(ain)387 b(after)h(changing)e(to)h
-(runle)-39 b(v)-23 b(el)387 b(1\):)-30 27937 y
-SDict begin H.S end
- -30 27937
-a -30 27937 a
-SDict begin 14.56 H.A end
- -30 27937 a -30 27937 a
-SDict begin [ /View [/XYZ H.V] /Dest (5125) cvn H.B /DEST pdfmark end
- -30 27937 a -30
-27937 a
-SDict begin H.S end
- -30 27937 a -30 27937 a
-SDict begin 14.56 H.A end
- -30 27937 a -30 27937
-a
-SDict begin [ /View [/XYZ H.V] /Dest (5126) cvn H.B /DEST pdfmark end
- -30 27937 a 1276 x FJ(#)1309 29213 y
-SDict begin H.S end
- 1309 29213 a 1309
-29213 a
-SDict begin 14.56 H.A end
- 1309 29213 a 1309 29213 a
-SDict begin [ /View [/XYZ H.V] /Dest (5127) cvn H.B /DEST pdfmark end
- 1309 29213 a FH(telinit)743
-b(1)-30 29238 y
-SDict begin H.S end
- -30 29238 a -30 29238 a
-SDict begin 14.56 H.A end
- -30 29238 a -30
-29238 a
-SDict begin [ /View [/XYZ H.V] /Dest (5128) cvn H.B /DEST pdfmark end
- -30 29238 a 1587 x FJ(#)1309 30825 y
-SDict begin H.S end
- 1309 30825
-a 1309 30825 a
-SDict begin 14.56 H.A end
- 1309 30825 a 1309 30825 a
-SDict begin [ /View [/XYZ H.V] /Dest (5129) cvn H.B /DEST pdfmark end
- 1309 30825 a
-FH(telinit)g(3)-30 33949 y
-SDict begin H.S end
- -30 33949 a -30 33949 a
-SDict begin 18.2 H.A end
- -30
-33949 a -30 33949 a
-SDict begin [ /View [/XYZ H.V] /Dest (SECURITY-HOST) cvn H.B /DEST
-pdfmark end
- -30 33949 a 6100 x FL(14.2)620 b(Host)g(Access)g
-(Contr)-45 b(ol)-30 40077 y
-SDict begin H.S end
- -30 40077 a -30 40077 a
-SDict begin 18.2 H.A end
- -30
-40077 a -30 40077 a
-SDict begin [ /View [/XYZ H.V] /Dest (SECURITY-HOST-IPTABLES) cvn H.B
-/DEST pdfmark end
- -30 40077 a 5334 x FF(iptab)-19 b(les)-30
-45796 y
-SDict begin H.S end
- -30 45796 a -30 45796 a
-SDict begin 18.2 H.A end
- -30 45796 a -30 45796
-a
-SDict begin [ /View [/XYZ H.V] /Dest (5135) cvn H.B /DEST pdfmark end
- -30 45796 a -30 45796 a
-SDict begin H.S end
- -30 45796 a -30 45796 a
-SDict begin 18.2 H.A end
- -30
-45796 a -30 45796 a
-SDict begin [ /View [/XYZ H.V] /Dest (5137) cvn H.B /DEST pdfmark end
- -30 45796 a -30 45796 a
-SDict begin H.S end
- -30 45796
-a -30 45796 a
-SDict begin 18.2 H.A end
- -30 45796 a -30 45796 a
-SDict begin [ /View [/XYZ H.V] /Dest (5139) cvn H.B /DEST pdfmark end
- -30 45796 a -30
-46726 a
-SDict begin H.S end
- -30 46726 a -30 46726 a
-SDict begin 18.2 H.A end
- -30 46726 a -30 46726
-a
-SDict begin [ /View [/XYZ H.V] /Dest (5141) cvn H.B /DEST pdfmark end
- -30 46726 a -30 46726 a
-SDict begin H.S end
- -30 46726 a -30 46726 a
-SDict begin 18.2 H.A end
- -30
-46726 a -30 46726 a
-SDict begin [ /View [/XYZ H.V] /Dest (5142) cvn H.B /DEST pdfmark end
- -30 46726 a 1629 x FP(iptables)361
-b FU(is)g(the)g(pack)-15 b(et)361 b(\002ltering)g(con\002guration)f
-(program)h(for)h(Linux)f(2.4)g(and)h(abo)-23 b(v)g(e.)361
-b(The)-30 50370 y(2.4)453 b(k)-15 b(ernel)452 b(\(2.4.5,)i(to)f(be)f(e)
--23 b(xact\))453 b(w)-15 b(as)452 b(\002rst)g(introduced)g(into)h
-(Slackw)-15 b(are)452 b(\(as)g(an)h(option\))f(in)-30
-52385 y(v)-23 b(ersion)385 b(8.0)g(and)h(w)-15 b(as)384
-b(made)h(the)h(def)-15 b(ault)384 b(in)h(Slackw)-15 b(are)385
-b(8.1.)h(This)f(section)f(only)h(co)-23 b(v)g(ers)385
-b(the)-30 54399 y(basics)420 b(of)h(its)f(usage)h(and)f(you)h(should)f
-(check)p 0 1 0 0 TeXcolorcmyk 25717 54753 a
-SDict begin H.S end
- 25717 54753
-a 0 1 0 0 TeXcolorcmyk -354 x FA(http://)o(w)l(w)l(w)l(.)l(n)l(e)l(t)l
-(f)l(i)l(l)l(t)l(e)l(r)l(.)l(o)l(r)l(g)l(/)p 0 1 0 0
-TeXcolorcmyk 45943 53293 a
-SDict begin H.R end
- 45943 53293 a 45943 54399
-a
-SDict begin [ /H /I /Border [0 0 0] /Color [0 1 1] /Action << /Subtype
-/URI /URI (http://www.netfilter.org/) >> /Subtype /Link H.B /ANN pdfmark
-end
- 45943 54399 a Black 420 w FU(for)h(more)-30 56414 y(details.)391
-b(These)h(commands)e(can)i(be)f(entered)h(into)28147
-56414 y
-SDict begin H.S end
- 28147 56414 a 28147 56414 a
-SDict begin 18.2 H.A end
- 28147 56414 a 28147
-56414 a
-SDict begin [ /View [/XYZ H.V] /Dest (5144) cvn H.B /DEST pdfmark end
- 28147 56414 a FQ(/etc/rc.d/rc.firewall)p FU(,)378
-b(which)391 b(has)h(to)f(be)-30 58429 y(set)316 b(as)g(e)-23
-b(x)g(ecutable)316 b(for)g(these)g(rules)g(to)g(tak)-15
-b(e)315 b(ef)-39 b(fect)317 b(at)f(startup.)g(Note)g(that)g(incorrect)
-45825 58429 y
-SDict begin H.S end
- 45825 58429 a 45825 58429 a
-SDict begin 18.2 H.A end
- 45825 58429
-a 45825 58429 a
-SDict begin [ /View [/XYZ H.V] /Dest (5145) cvn H.B /DEST pdfmark end
- 45825 58429 a FP(iptables)-30 60443 y
-FU(commands)382 b(can)g(essentially)g(lock)g(you)g(out)g(of)g(your)h(o)
--39 b(wn)382 b(machine.)h(Unless)e(you)i(are)f(100\045)-30
-62458 y(con\002dent)387 b(in)g(your)g(skills,)g(al)-15
-b(w)g(ays)386 b(ensure)h(you)g(ha)-31 b(v)-23 b(e)387
-b(local)g(access)h(to)f(the)g(machine.)-30 63568 y
-SDict begin H.S end
- -30
-63568 a -30 63568 a
-SDict begin 18.2 H.A end
- -30 63568 a -30 63568 a
-SDict begin [ /View [/XYZ H.V] /Dest (5146) cvn H.B /DEST pdfmark end
- -30 63568
-a 1680 x FU(The)340 b(\002rst)f(thing)g(most)g(people)h(should)f(do)h
-(is)f(set)h(the)f(def)-15 b(ault)339 b(polic)-23 b(y)339
-b(for)h(each)g(inbound)f(chain)-30 67262 y(to)387 b(DR)-62
-b(OP:)p Black 49451 73792 a FR(183)p Black eop end
-%%Page: 184 206
-TeXDict begin 184 205 bop -8000 -8000 a
-SDict begin /product where{pop product(Distiller)search{pop pop pop
-version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
-closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
-grestore}if}{pop}ifelse}{pop}ifelse}if end
- -8000 -8000 a
-Black 0 TeXcolorgray -30 -1237 a
-SDict begin H.S end
- -30 -1237 a 0 TeXcolorgray
-0 TeXcolorgray -30 -1237 a
-SDict begin H.R end
- -30 -1237 a -30 -1237 a
-SDict begin [ /View [/XYZ H.V] /Dest (page.184) cvn H.B /DEST pdfmark
-end
- -30
--1237 a Black -30 -2687 a
-SDict begin H.S end
- -30 -2687 a -30 -2687 a
-SDict begin 18.2 H.A end
- -30
--2687 a -30 -2687 a
-SDict begin [ /View [/XYZ H.V] /Dest (5181) cvn H.B /DEST pdfmark end
- -30 -2687 a 1051 x FR(Chapter)387
-b(14)g(Security)p Black -30 2504 a
-SDict begin H.S end
- -30 2504 a -30 2504
-a
-SDict begin 14.56 H.A end
- -30 2504 a -30 2504 a
-SDict begin [ /View [/XYZ H.V] /Dest (5147) cvn H.B /DEST pdfmark end
- -30 2504 a -30 2504 a
-SDict begin H.S end
- -30 2504
-a -30 2504 a
-SDict begin 14.56 H.A end
- -30 2504 a -30 2504 a
-SDict begin [ /View [/XYZ H.V] /Dest (5148) cvn H.B /DEST pdfmark end
- -30 2504 a 1107 x
-FJ(#)1309 3611 y
-SDict begin H.S end
- 1309 3611 a 1309 3611 a
-SDict begin 14.56 H.A end
- 1309 3611 a
-1309 3611 a
-SDict begin [ /View [/XYZ H.V] /Dest (5149) cvn H.B /DEST pdfmark end
- 1309 3611 a FH(iptables)743 b(-P)h(INPUT)f(DROP)-30
-3779 y
-SDict begin H.S end
- -30 3779 a -30 3779 a
-SDict begin 14.56 H.A end
- -30 3779 a -30 3779 a
-SDict begin [ /View [/XYZ H.V] /Dest (5150) cvn H.B /DEST pdfmark end
- -30
-3779 a 1444 x FJ(#)1309 5223 y
-SDict begin H.S end
- 1309 5223 a 1309 5223
-a
-SDict begin 14.56 H.A end
- 1309 5223 a 1309 5223 a
-SDict begin [ /View [/XYZ H.V] /Dest (5151) cvn H.B /DEST pdfmark end
- 1309 5223 a FH(iptables)g(-P)h(FORWARD)f
-(DROP)-30 6941 y
-SDict begin H.S end
- -30 6941 a -30 6941 a
-SDict begin 18.2 H.A end
- -30 6941 a -30
-6941 a
-SDict begin [ /View [/XYZ H.V] /Dest (5152) cvn H.B /DEST pdfmark end
- -30 6941 a 1846 x FU(When)402 b(e)-39 b(v)-23
-b(erything)401 b(is)h(denied,)g(you)g(can)g(start)f(allo)-39
-b(wing)402 b(things.)f(The)h(\002rst)f(thing)h(to)f(allo)-39
-b(w)402 b(is)-30 10802 y(an)-23 b(y)387 b(traf)-39 b(\002c)388
-b(for)f(sessions)f(which)h(are)h(already)f(established:)-30
-12687 y
-SDict begin H.S end
- -30 12687 a -30 12687 a
-SDict begin 14.56 H.A end
- -30 12687 a -30 12687
-a
-SDict begin [ /View [/XYZ H.V] /Dest (5153) cvn H.B /DEST pdfmark end
- -30 12687 a -30 12687 a
-SDict begin H.S end
- -30 12687 a -30 12687 a
-SDict begin 14.56 H.A end
- -30
-12687 a -30 12687 a
-SDict begin [ /View [/XYZ H.V] /Dest (5154) cvn H.B /DEST pdfmark end
- -30 12687 a 1276 x FJ(#)1309 13963
-y
-SDict begin H.S end
- 1309 13963 a 1309 13963 a
-SDict begin 14.56 H.A end
- 1309 13963 a 1309 13963 a
-SDict begin [ /View [/XYZ H.V] /Dest (5155) cvn H.B /DEST pdfmark end
-
-1309 13963 a FH(iptables)743 b(-A)h(INPUT)f(-m)h(state)f(--state)g
-(ESTABLISHED,RELATED)e(-j)j(ACCEPT)-30 15681 y
-SDict begin H.S end
- -30 15681
-a -30 15681 a
-SDict begin 18.2 H.A end
- -30 15681 a -30 15681 a
-SDict begin [ /View [/XYZ H.V] /Dest (5156) cvn H.B /DEST pdfmark end
- -30 15681 a 1847
-x FU(So)387 b(as)h(not)f(to)h(break)g(an)-23 b(y)387
-b(applications)g(that)g(communicate)g(using)g(the)g(loopback)g
-(address,)h(it)-30 19542 y(is)f(usually)g(wise)g(to)g(add)g(a)h(rule)f
-(lik)-15 b(e)387 b(this:)-30 21428 y
-SDict begin H.S end
- -30 21428 a -30
-21428 a
-SDict begin 14.56 H.A end
- -30 21428 a -30 21428 a
-SDict begin [ /View [/XYZ H.V] /Dest (5157) cvn H.B /DEST pdfmark end
- -30 21428 a -30 21428
-a
-SDict begin H.S end
- -30 21428 a -30 21428 a
-SDict begin 14.56 H.A end
- -30 21428 a -30 21428 a
-SDict begin [ /View [/XYZ H.V] /Dest (5158) cvn H.B /DEST pdfmark end
- -30
-21428 a 1276 x FJ(#)1309 22704 y
-SDict begin H.S end
- 1309 22704 a 1309 22704
-a
-SDict begin 14.56 H.A end
- 1309 22704 a 1309 22704 a
-SDict begin [ /View [/XYZ H.V] /Dest (5159) cvn H.B /DEST pdfmark end
- 1309 22704 a FH(iptables)743
-b(-A)h(INPUT)f(-s)h(127.0.0.0/8)e(-d)i(127.0.0.0/8)e(-i)i(lo)f(-j)h
-(ACCEPT)-30 24422 y
-SDict begin H.S end
- -30 24422 a -30 24422 a
-SDict begin 18.2 H.A end
- -30 24422
-a -30 24422 a
-SDict begin [ /View [/XYZ H.V] /Dest (5160) cvn H.B /DEST pdfmark end
- -30 24422 a 1846 x FU(This)441 b(rules)h(allo)-39
-b(ws)441 b(an)-23 b(y)441 b(traf)-39 b(\002c)442 b(to)g(and)f(from)h
-(127.0.0.0/8)g(\(127.0.0.0)g(-)g(127.255.255.255\))-30
-28283 y(on)347 b(the)g(loopback)f(\()10652 28283 y
-SDict begin H.S end
- 10652
-28283 a 10652 28283 a
-SDict begin 18.2 H.A end
- 10652 28283 a 10652 28283 a
-SDict begin [ /View [/XYZ H.V] /Dest (5161) cvn H.B /DEST pdfmark end
- 10652
-28283 a FQ(lo)p FU(\))g(interf)-15 b(ace.)347 b(When)f(creating)h
-(rules,)g(it)g(is)f(a)i(good)e(idea)h(to)g(be)g(as)f(speci\002c)-30
-30298 y(as)506 b(possible,)f(to)h(mak)-15 b(e)505 b(sure)h(that)f(your)
-h(rules)f(do)h(not)g(inadv)-23 b(ertently)504 b(allo)-39
-b(w)506 b(an)-23 b(ything)505 b(e)-39 b(vil.)-30 32312
-y(That)387 b(said,)h(rules)f(that)g(allo)-39 b(w)387
-b(too)g(little)g(mean)g(more)g(rules)g(and)g(more)g(typing.)-30
-32648 y
-SDict begin H.S end
- -30 32648 a -30 32648 a
-SDict begin 18.2 H.A end
- -30 32648 a -30 32648
-a
-SDict begin [ /View [/XYZ H.V] /Dest (5162) cvn H.B /DEST pdfmark end
- -30 32648 a -30 33423 a
-SDict begin H.S end
- -30 33423 a -30 33423 a
-SDict begin 18.2 H.A end
- -30
-33423 a -30 33423 a
-SDict begin [ /View [/XYZ H.V] /Dest (5164) cvn H.B /DEST pdfmark end
- -30 33423 a 1679 x FU(The)452 b(ne)-23
-b(xt)451 b(thing)g(to)g(do)g(w)-15 b(ould)451 b(be)h(to)f(allo)-39
-b(w)451 b(access)h(to)f(speci\002c)g(services)h(running)f(on)g(your)-30
-37117 y(machine.)563 b(If,)h(for)f(e)-23 b(xample,)563
-b(you)g(w)-15 b(anted)562 b(to)h(run)g(a)g(web)g(serv)-23
-b(er)563 b(on)g(your)g(machine,)g(you)-30 39131 y(w)-15
-b(ould)386 b(use)i(a)f(rule)g(similar)g(to)g(this:)-30
-40696 y
-SDict begin H.S end
- -30 40696 a -30 40696 a
-SDict begin 14.56 H.A end
- -30 40696 a -30 40696
-a
-SDict begin [ /View [/XYZ H.V] /Dest (5165) cvn H.B /DEST pdfmark end
- -30 40696 a -30 40696 a
-SDict begin H.S end
- -30 40696 a -30 40696 a
-SDict begin 14.56 H.A end
- -30
-40696 a -30 40696 a
-SDict begin [ /View [/XYZ H.V] /Dest (5166) cvn H.B /DEST pdfmark end
- -30 40696 a 1597 x FJ(#)1309 42293
-y
-SDict begin H.S end
- 1309 42293 a 1309 42293 a
-SDict begin 14.56 H.A end
- 1309 42293 a 1309 42293 a
-SDict begin [ /View [/XYZ H.V] /Dest (5167) cvn H.B /DEST pdfmark end
-
-1309 42293 a FH(iptables)743 b(-A)h(INPUT)f(-p)h(tcp)f(--dport)g(80)h
-(-i)f(ppp0)h(-j)f(ACCEPT)-30 44010 y
-SDict begin H.S end
- -30 44010 a -30
-44010 a
-SDict begin 18.2 H.A end
- -30 44010 a -30 44010 a
-SDict begin [ /View [/XYZ H.V] /Dest (5168) cvn H.B /DEST pdfmark end
- -30 44010 a 1847 x FU(This)368
-b(will)f(allo)-39 b(w)368 b(access)g(from)g(an)-23 b(y)368
-b(machine)g(to)f(port)h(80)g(on)g(your)g(machine)g(via)g(the)47180
-45857 y
-SDict begin H.S end
- 47180 45857 a 47180 45857 a
-SDict begin 18.2 H.A end
- 47180 45857 a 47180
-45857 a
-SDict begin [ /View [/XYZ H.V] /Dest (5169) cvn H.B /DEST pdfmark end
- 47180 45857 a FQ(ppp0)e FU(in-)-30 47872 y(terf)-15
-b(ace.)374 b(Y)-170 b(ou)372 b(may)h(w)-15 b(ant)372
-b(to)h(restrict)g(access)g(to)g(this)g(service)g(so)g(that)g(only)f
-(certain)i(machines)-30 49886 y(can)388 b(access)f(it.)g(This)g(rule)h
-(allo)-39 b(ws)387 b(access)g(to)g(your)g(web)h(service)f(from)39138
-49886 y
-SDict begin H.S end
- 39138 49886 a 39138 49886 a
-SDict begin 18.2 H.A end
- 39138 49886 a 39138
-49886 a
-SDict begin [ /View [/XYZ H.V] /Dest (5170) cvn H.B /DEST pdfmark end
- 39138 49886 a 0 1 0 0 TeXcolorcmyk 39138 49886
-a
-SDict begin H.S end
- 39138 49886 a 0 1 0 0 TeXcolorcmyk FQ(64.57.102.34)p
-0 1 0 0 TeXcolorcmyk 46654 49146 a
-SDict begin H.R end
- 46654 49146 a 46654
-49886 a
-SDict begin [ /H /I /Border [0 0 0] /Color [0 1 1] /Action << /Subtype
-/URI /URI (64.57.102.34) >> /Subtype /Link H.B /ANN pdfmark end
- 46654 49886 a Black FU(:)-30 51772 y
-SDict begin H.S end
- -30 51772
-a -30 51772 a
-SDict begin 14.56 H.A end
- -30 51772 a -30 51772 a
-SDict begin [ /View [/XYZ H.V] /Dest (5171) cvn H.B /DEST pdfmark end
- -30 51772 a -30
-51772 a
-SDict begin H.S end
- -30 51772 a -30 51772 a
-SDict begin 14.56 H.A end
- -30 51772 a -30 51772
-a
-SDict begin [ /View [/XYZ H.V] /Dest (5172) cvn H.B /DEST pdfmark end
- -30 51772 a 1276 x FJ(#)1309 53048 y
-SDict begin H.S end
- 1309 53048 a 1309
-53048 a
-SDict begin 14.56 H.A end
- 1309 53048 a 1309 53048 a
-SDict begin [ /View [/XYZ H.V] /Dest (5173) cvn H.B /DEST pdfmark end
- 1309 53048 a FH(iptables)743
-b(-A)h(INPUT)f(-p)h(tcp)f(-s)h(64.57.102.34)e(--dport)h(80)h(-i)f(ppp0)
-h(-j)f(ACCEPT)-30 54766 y
-SDict begin H.S end
- -30 54766 a -30 54766 a
-SDict begin 18.2 H.A end
- -30
-54766 a -30 54766 a
-SDict begin [ /View [/XYZ H.V] /Dest (5174) cvn H.B /DEST pdfmark end
- -30 54766 a 1846 x FU(Allo)-39 b(wing)392
-b(ICMP)g(traf)-39 b(\002c)392 b(can)h(be)g(useful)f(for)g(diagnostic)g
-(purposes.)g(T)-124 b(o)393 b(do)f(this,)h(you)f(w)-15
-b(ould)-30 58627 y(use)387 b(a)h(rule)f(lik)-15 b(e)387
-b(this:)-30 60192 y
-SDict begin H.S end
- -30 60192 a -30 60192 a
-SDict begin 14.56 H.A end
- -30 60192
-a -30 60192 a
-SDict begin [ /View [/XYZ H.V] /Dest (5175) cvn H.B /DEST pdfmark end
- -30 60192 a -30 60192 a
-SDict begin H.S end
- -30 60192 a -30
-60192 a
-SDict begin 14.56 H.A end
- -30 60192 a -30 60192 a
-SDict begin [ /View [/XYZ H.V] /Dest (5176) cvn H.B /DEST pdfmark end
- -30 60192 a 1596 x FJ(#)1309
-61788 y
-SDict begin H.S end
- 1309 61788 a 1309 61788 a
-SDict begin 14.56 H.A end
- 1309 61788 a 1309 61788
-a
-SDict begin [ /View [/XYZ H.V] /Dest (5177) cvn H.B /DEST pdfmark end
- 1309 61788 a FH(iptables)743 b(-A)h(INPUT)f(-p)h(icmp)f(-j)h(ACCEPT)
--30 61956 y
-SDict begin H.S end
- -30 61956 a -30 61956 a
-SDict begin 18.2 H.A end
- -30 61956 a -30 61956
-a
-SDict begin [ /View [/XYZ H.V] /Dest (5178) cvn H.B /DEST pdfmark end
- -30 61956 a -30 63506 a
-SDict begin H.S end
- -30 63506 a -30 63506 a
-SDict begin 18.2 H.A end
- -30
-63506 a -30 63506 a
-SDict begin [ /View [/XYZ H.V] /Dest (5180) cvn H.B /DEST pdfmark end
- -30 63506 a 1847 x FU(Most)479 b(people)g(will)g
-(also)g(w)-15 b(ant)479 b(to)g(set)h(up)f(Netw)-15 b(ork)478
-b(Address)h(T)-54 b(ranslation)479 b(\(N)-54 b(A)-172
-b(T\))479 b(on)g(their)-30 67368 y(g)-8 b(ate)-39 b(w)-15
-b(ay)504 b(machine,)g(so)g(that)g(other)g(machines)f(on)h(their)g(netw)
--15 b(ork)503 b(can)h(access)g(the)g(Internet)p Black
--30 73792 a FR(184)p Black eop end
-%%Page: 185 207
-TeXDict begin 185 206 bop -8000 -8000 a
-SDict begin /product where{pop product(Distiller)search{pop pop pop
-version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
-closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
-grestore}if}{pop}ifelse}{pop}ifelse}if end
- -8000 -8000 a
-Black 0 TeXcolorgray -30 -1237 a
-SDict begin H.S end
- -30 -1237 a 0 TeXcolorgray
-0 TeXcolorgray -30 -1237 a
-SDict begin H.R end
- -30 -1237 a -30 -1237 a
-SDict begin [ /View [/XYZ H.V] /Dest (page.185) cvn H.B /DEST pdfmark
-end
- -30
--1237 a Black -30 -2687 a
-SDict begin H.S end
- -30 -2687 a -30 -2687 a
-SDict begin 18.2 H.A end
- -30
--2687 a -30 -2687 a
-SDict begin [ /View [/XYZ H.V] /Dest (5210) cvn H.B /DEST pdfmark end
- -30 -2687 a 39293 -1636 a FR(Chapter)386
-b(14)h(Security)p Black -30 3611 a FU(through)g(it.)g(Y)-170
-b(ou)387 b(w)-15 b(ould)386 b(use)h(the)h(follo)-39 b(wing)386
-b(rule)h(to)h(do)f(this:)-30 6773 y FJ(#)1309 6773 y
-SDict begin H.S end
-
-1309 6773 a 1309 6773 a
-SDict begin 14.56 H.A end
- 1309 6773 a 1309 6773 a
-SDict begin [ /View [/XYZ H.V] /Dest (5183) cvn H.B /DEST pdfmark end
- 1309
-6773 a FH(iptables)743 b(-t)h(nat)f(-A)h(POSTROUTING)e(-o)i(ppp0)f(-j)h
-(MASQUERADE)-30 6941 y
-SDict begin H.S end
- -30 6941 a -30 6941 a
-SDict begin 18.2 H.A end
- -30 6941
-a -30 6941 a
-SDict begin [ /View [/XYZ H.V] /Dest (5184) cvn H.B /DEST pdfmark end
- -30 6941 a -30 8490 a
-SDict begin H.S end
- -30 8490 a -30 8490
-a
-SDict begin 18.2 H.A end
- -30 8490 a -30 8490 a
-SDict begin [ /View [/XYZ H.V] /Dest (5186) cvn H.B /DEST pdfmark end
- -30 8490 a 1847 x FU(Y)-170 b(ou)455
-b(will)g(also)g(need)h(to)f(enable)h(IP)f(forw)-15 b(arding.)455
-b(Y)-170 b(ou)455 b(can)h(do)g(this)f(temporarily)-101
-b(,)455 b(using)g(the)-30 12352 y(follo)-39 b(wing)387
-b(command:)-30 14237 y
-SDict begin H.S end
- -30 14237 a -30 14237 a
-SDict begin 14.56 H.A end
- -30 14237
-a -30 14237 a
-SDict begin [ /View [/XYZ H.V] /Dest (5187) cvn H.B /DEST pdfmark end
- -30 14237 a -30 14237 a
-SDict begin H.S end
- -30 14237 a -30
-14237 a
-SDict begin 14.56 H.A end
- -30 14237 a -30 14237 a
-SDict begin [ /View [/XYZ H.V] /Dest (5188) cvn H.B /DEST pdfmark end
- -30 14237 a 1276 x FJ(#)1309
-15513 y
-SDict begin H.S end
- 1309 15513 a 1309 15513 a
-SDict begin 14.56 H.A end
- 1309 15513 a 1309 15513
-a
-SDict begin [ /View [/XYZ H.V] /Dest (5189) cvn H.B /DEST pdfmark end
- 1309 15513 a FH(echo)743 b(1)h(>)g(/proc/sys/net/ipv4/ip_forward)-30
-17231 y
-SDict begin H.S end
- -30 17231 a -30 17231 a
-SDict begin 18.2 H.A end
- -30 17231 a -30 17231
-a
-SDict begin [ /View [/XYZ H.V] /Dest (5190) cvn H.B /DEST pdfmark end
- -30 17231 a 1847 x FU(T)-124 b(o)451 b(enable)g(IP)g(forw)-15
-b(arding)451 b(on)g(a)g(more)g(permanent)g(basis)g(\(i.e.)h(so)f(that)g
-(the)g(change)h(is)f(k)-15 b(ept)-30 21092 y(after)585
-b(a)f(reboot\),)h(you)f(will)g(need)g(to)g(open)g(the)g(\002le)29959
-21092 y
-SDict begin H.S end
- 29959 21092 a 29959 21092 a
-SDict begin 18.2 H.A end
- 29959 21092 a 29959
-21092 a
-SDict begin [ /View [/XYZ H.V] /Dest (5191) cvn H.B /DEST pdfmark end
- 29959 21092 a FQ(/etc/rc.d/rc.inet2)573 b FU(in)585
-b(your)f(f)-15 b(a)-31 b(v)g(orite)-30 23107 y(editor)387
-b(and)g(change)h(the)f(follo)-39 b(wing)386 b(line:)-30
-24992 y
-SDict begin H.S end
- -30 24992 a -30 24992 a
-SDict begin 14.56 H.A end
- -30 24992 a -30 24992
-a
-SDict begin [ /View [/XYZ H.V] /Dest (5192) cvn H.B /DEST pdfmark end
- -30 24992 a 1276 x FP(IPV4_FORWARD=0)-30 27963 y
-SDict begin H.S end
- -30
-27963 a -30 27963 a
-SDict begin 18.2 H.A end
- -30 27963 a -30 27963 a
-SDict begin [ /View [/XYZ H.V] /Dest (5193) cvn H.B /DEST pdfmark end
- -30 27963
-a 1870 x FU(...to)j(this:)-30 31398 y
-SDict begin H.S end
- -30 31398 a -30
-31398 a
-SDict begin 14.56 H.A end
- -30 31398 a -30 31398 a
-SDict begin [ /View [/XYZ H.V] /Dest (5194) cvn H.B /DEST pdfmark end
- -30 31398 a 1596 x FP(IPV4_FORWARD=1)
--30 34689 y
-SDict begin H.S end
- -30 34689 a -30 34689 a
-SDict begin 18.2 H.A end
- -30 34689 a -30 34689
-a
-SDict begin [ /View [/XYZ H.V] /Dest (5195) cvn H.B /DEST pdfmark end
- -30 34689 a 1870 x FU(F)-23 b(or)387 b(more)g(information)f(on)h(N)
--54 b(A)-172 b(T)-115 b(,)388 b(see)g(the)23968 36559
-y
-SDict begin H.S end
- 23968 36559 a 23968 36559 a
-SDict begin 18.2 H.A end
- 23968 36559 a 23968 36559
-a
-SDict begin [ /View [/XYZ H.V] /Dest (5196) cvn H.B /DEST pdfmark end
- 23968 36559 a FU(N)-54 b(A)-172 b(T)387 b(HO)-54 b(WT)-28
-b(O)32999 35939 y FT(2)33463 36559 y FU(.)-30 37557 y
-SDict begin H.S end
-
--30 37557 a -30 37557 a
-SDict begin 18.2 H.A end
- -30 37557 a -30 37557 a
-SDict begin [ /View [/XYZ H.V] /Dest (SECURITY-HOST-TCPWRAPPERS) cvn
-H.B /DEST pdfmark end
- -30 37557
-a 5294 x FF(tcpwrapper)g(s)-30 43236 y
-SDict begin H.S end
- -30 43236 a -30
-43236 a
-SDict begin 18.2 H.A end
- -30 43236 a -30 43236 a
-SDict begin [ /View [/XYZ H.V] /Dest (5200) cvn H.B /DEST pdfmark end
- -30 43236 a -30 44165
-a
-SDict begin H.S end
- -30 44165 a -30 44165 a
-SDict begin 18.2 H.A end
- -30 44165 a -30 44165 a
-SDict begin [ /View [/XYZ H.V] /Dest (5202) cvn H.B /DEST pdfmark end
- -30
-44165 a -30 44165 a
-SDict begin H.S end
- -30 44165 a -30 44165 a
-SDict begin 18.2 H.A end
- -30 44165
-a -30 44165 a
-SDict begin [ /View [/XYZ H.V] /Dest (5203) cvn H.B /DEST pdfmark end
- -30 44165 a 1630 x FP(tcpwrappers)451 b
-FU(controls)g(access)h(to)g(daemons)f(at)h(the)g(application)f(le)-39
-b(v)-23 b(el,)452 b(rather)g(than)f(at)h(the)-30 47810
-y(IP)500 b(le)-39 b(v)-23 b(el.)500 b(This)g(can)g(pro)-23
-b(vide)500 b(an)g(e)-23 b(xtra)500 b(layer)g(of)g(security)g(at)g
-(times)f(when)h(IP-le)-39 b(v)-23 b(el)500 b(access)-30
-49824 y(controls)395 b(\(e.g.)h(Net\002lter\))f(are)h(not)f
-(functioning)g(correctly)-101 b(.)396 b(F)-23 b(or)395
-b(e)-23 b(xample,)395 b(if)g(you)g(recompile)-30 51839
-y(the)353 b(k)-15 b(ernel)352 b(b)-31 b(ut)353 b(for)-28
-b(get)353 b(to)f(include)h(iptables)f(support,)g(your)h(IP)g(le)-39
-b(v)-23 b(el)353 b(protection)f(will)g(f)-15 b(ail)352
-b(b)-31 b(ut)-30 53854 y(tcpwrappers)387 b(will)g(still)f(help)h
-(protect)g(your)h(system.)-30 54964 y
-SDict begin H.S end
- -30 54964 a -30
-54964 a
-SDict begin 18.2 H.A end
- -30 54964 a -30 54964 a
-SDict begin [ /View [/XYZ H.V] /Dest (5204) cvn H.B /DEST pdfmark end
- -30 54964 a 1679 x FU(Access)305
-b(to)g(services)g(protected)f(by)h(tcpwrappers)g(can)g(be)g(controlled)
-g(using)41754 56643 y
-SDict begin H.S end
- 41754 56643 a 41754 56643 a
-SDict begin 18.2 H.A end
- 41754
-56643 a 41754 56643 a
-SDict begin [ /View [/XYZ H.V] /Dest (5205) cvn H.B /DEST pdfmark end
- 41754 56643 a FQ(/etc/hosts.allow)-30
-58658 y FU(and)2595 58658 y
-SDict begin H.S end
- 2595 58658 a 2595 58658 a
-SDict begin 18.2 H.A end
-
-2595 58658 a 2595 58658 a
-SDict begin [ /View [/XYZ H.V] /Dest (5206) cvn H.B /DEST pdfmark end
- 2595 58658 a FQ(/etc/hosts.deny)p
-FU(.)-30 59702 y
-SDict begin H.S end
- -30 59702 a -30 59702 a
-SDict begin 18.2 H.A end
- -30 59702 a
--30 59702 a
-SDict begin [ /View [/XYZ H.V] /Dest (5207) cvn H.B /DEST pdfmark end
- -30 59702 a 1746 x FU(The)404 b(majority)f(of)h(people)g(w)
--15 b(ould)403 b(ha)-31 b(v)-23 b(e)404 b(a)g(single)g(line)g(in)f
-(their)34992 61448 y
-SDict begin H.S end
- 34992 61448 a 34992 61448 a
-SDict begin 18.2 H.A end
- 34992
-61448 a 34992 61448 a
-SDict begin [ /View [/XYZ H.V] /Dest (5208) cvn H.B /DEST pdfmark end
- 34992 61448 a FQ(/etc/hosts.deny)395
-b FU(\002le)404 b(to)f(den)-23 b(y)-30 63462 y(access)388
-b(to)f(all)g(daemons)g(by)g(def)-15 b(ault.)387 b(This)f(line)i(w)-15
-b(ould)386 b(be:)p Black -30 64838 16000 45 v -30 65802
-a Fx(2)249 b(http://www)-65 b(.net\002lter)-55 b(.or)-18
-b(g/documentation/HO)-35 b(WT)-18 b(O/N)-35 b(A)-111
-b(T)-92 b(-HO)-35 b(WT)-18 b(O.txt)p Black Black 49451
-73792 a FR(185)p Black eop end
-%%Page: 186 208
-TeXDict begin 186 207 bop -8000 -8000 a
-SDict begin /product where{pop product(Distiller)search{pop pop pop
-version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
-closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
-grestore}if}{pop}ifelse}{pop}ifelse}if end
- -8000 -8000 a
-Black 0 TeXcolorgray -30 -1237 a
-SDict begin H.S end
- -30 -1237 a 0 TeXcolorgray
-0 TeXcolorgray -30 -1237 a
-SDict begin H.R end
- -30 -1237 a -30 -1237 a
-SDict begin [ /View [/XYZ H.V] /Dest (page.186) cvn H.B /DEST pdfmark
-end
- -30
--1237 a Black -30 -2687 a
-SDict begin H.S end
- -30 -2687 a -30 -2687 a
-SDict begin 18.2 H.A end
- -30
--2687 a -30 -2687 a
-SDict begin [ /View [/XYZ H.V] /Dest (SECURITY-CURRENT-PATCHES) cvn
-H.B /DEST pdfmark end
- -30 -2687 a 1051 x FR(Chapter)387
-b(14)g(Security)p Black -30 2504 a
-SDict begin H.S end
- -30 2504 a -30 2504
-a
-SDict begin 14.56 H.A end
- -30 2504 a -30 2504 a
-SDict begin [ /View [/XYZ H.V] /Dest (5209) cvn H.B /DEST pdfmark end
- -30 2504 a 1107 x FP(ALL)744
-b(:)f(ALL)-30 7176 y FU(When)416 b(this)f(is)h(done,)g(you)f(can)h
-(concentrate)g(on)f(allo)-39 b(wing)416 b(access)g(to)f(services)h(for)
-g(speci\002ed)-30 9190 y(hosts,)525 b(domains,)g(or)h(IP)f(ranges.)h
-(This)f(can)h(be)f(done)h(in)f(the)g FQ(/etc/hosts.allow)516
-b FU(\002le,)525 b(which)-30 11205 y(follo)-39 b(ws)387
-b(the)g(same)g(format.)-30 11995 y
-SDict begin H.S end
- -30 11995 a -30 11995
-a
-SDict begin 18.2 H.A end
- -30 11995 a -30 11995 a
-SDict begin [ /View [/XYZ H.V] /Dest (5212) cvn H.B /DEST pdfmark end
- -30 11995 a 1999 x FU(A)375
-b(lot)g(of)g(people)g(w)-15 b(ould)374 b(start)h(by)g(accepting)f(all)h
-(connections)f(from)38256 13994 y
-SDict begin H.S end
- 38256 13994 a 38256
-13994 a
-SDict begin 18.2 H.A end
- 38256 13994 a 38256 13994 a
-SDict begin [ /View [/XYZ H.V] /Dest (5213) cvn H.B /DEST pdfmark end
- 38256 13994 a 0 1 0 0
-TeXcolorcmyk 38256 13994 a
-SDict begin H.S end
- 38256 13994 a 0 1 0 0 TeXcolorcmyk
-FQ(localhost)p 0 1 0 0 TeXcolorcmyk 43893 13254 a
-SDict begin H.R end
- 43893
-13254 a 43893 13994 a
-SDict begin [ /H /I /Border [0 0 0] /Color [0 1 1] /Action << /Subtype
-/URI /URI (localhost) >> /Subtype /Link H.B /ANN pdfmark end
- 43893 13994 a Black FU(.)i(This)f(can)g(be)-30
-16009 y(achie)-39 b(v)-23 b(ed)387 b(using:)-30 17894
-y
-SDict begin H.S end
- -30 17894 a -30 17894 a
-SDict begin 14.56 H.A end
- -30 17894 a -30 17894 a
-SDict begin [ /View [/XYZ H.V] /Dest (5214) cvn H.B /DEST pdfmark end
- -30
-17894 a 1277 x FP(ALL)744 b(:)f(127.0.0.1)-30 20746 y
-SDict begin H.S end
-
--30 20746 a -30 20746 a
-SDict begin 18.2 H.A end
- -30 20746 a -30 20746 a
-SDict begin [ /View [/XYZ H.V] /Dest (5215) cvn H.B /DEST pdfmark end
- -30 20746
-a 1989 x FU(T)-124 b(o)409 b(allo)-39 b(w)409 b(access)g(to)g(SSHd)f
-(from)19220 22735 y
-SDict begin H.S end
- 19220 22735 a 19220 22735 a
-SDict begin 18.2 H.A end
- 19220
-22735 a 19220 22735 a
-SDict begin [ /View [/XYZ H.V] /Dest (5216) cvn H.B /DEST pdfmark end
- 19220 22735 a 0 1 0 0 TeXcolorcmyk
-19220 22836 a
-SDict begin H.S end
- 19220 22836 a 0 1 0 0 TeXcolorcmyk -101
-x FQ(192.168.0.0/24)p 0 1 0 0 TeXcolorcmyk 27989 21893
-a
-SDict begin H.R end
- 27989 21893 a 27989 22735 a
-SDict begin [ /H /I /Border [0 0 0] /Color [0 1 1] /Action << /Subtype
-/URI /URI (192.168.0.0/24) >> /Subtype /Link H.B /ANN pdfmark end
- 27989 22735 a Black FU(,)i(you)f(could)f
-(use)h(either)g(of)g(the)g(follo)-39 b(wing)-30 24750
-y(rules:)-30 26315 y
-SDict begin H.S end
- -30 26315 a -30 26315 a
-SDict begin 14.56 H.A end
- -30 26315
-a -30 26315 a
-SDict begin [ /View [/XYZ H.V] /Dest (5217) cvn H.B /DEST pdfmark end
- -30 26315 a 1596 x FP(sshd)743 b(:)h(192.168.0.0/24)-30
-29523 y(sshd)f(:)h(192.168.0.)-30 29549 y
-SDict begin H.S end
- -30 29549 a
--30 29549 a
-SDict begin 18.2 H.A end
- -30 29549 a -30 29549 a
-SDict begin [ /View [/XYZ H.V] /Dest (5218) cvn H.B /DEST pdfmark end
- -30 29549 a -30 29549
-a
-SDict begin H.S end
- -30 29549 a -30 29549 a
-SDict begin 18.2 H.A end
- -30 29549 a -30 29549 a
-SDict begin [ /View [/XYZ H.V] /Dest (5220) cvn H.B /DEST pdfmark end
- -30
-29549 a -30 31099 a
-SDict begin H.S end
- -30 31099 a -30 31099 a
-SDict begin 18.2 H.A end
- -30 31099
-a -30 31099 a
-SDict begin [ /View [/XYZ H.V] /Dest (5222) cvn H.B /DEST pdfmark end
- -30 31099 a 1988 x FU(It)530 b(is)f(also)g(possible)g(to)
-g(restrict)h(access)f(to)h(hosts)f(in)g(certain)h(domains.)f(This)g
-(can)h(be)f(done)-30 35102 y(using)430 b(the)g(follo)-39
-b(wing)430 b(rule)g(\(note)g(that)g(this)g(relies)g(on)g(the)g(re)-39
-b(v)-23 b(erse)430 b(DNS)g(entry)g(for)h(the)f(con-)-30
-37117 y(necting)495 b(host)f(being)g(trustw)-15 b(orth)-8
-b(y)-101 b(,)495 b(so)f(I)h(w)-15 b(ould)494 b(recommand)h(ag)-8
-b(ainst)494 b(its)h(use)f(on)h(Internet-)-30 39131 y(connected)387
-b(hosts\):)-30 40958 y
-SDict begin H.S end
- -30 40958 a -30 40958 a
-SDict begin 14.56 H.A end
- -30 40958
-a -30 40958 a
-SDict begin [ /View [/XYZ H.V] /Dest (5223) cvn H.B /DEST pdfmark end
- -30 40958 a 1335 x FP(sshd)743 b(:)h(.slackware.com)-30
-45418 y
-SDict begin H.S end
- -30 45418 a -30 45418 a
-SDict begin 18.2 H.A end
- -30 45418 a -30 45418
-a
-SDict begin [ /View [/XYZ H.V] /Dest (SECURITY-CURRENT) cvn H.B /DEST
-pdfmark end
- -30 45418 a 6099 x FL(14.3)620 b(K)-33 b(eeping)619
-b(Current)-30 52013 y
-SDict begin H.S end
- -30 52013 a -30 52013 a
-SDict begin 18.2 H.A end
- -30 52013
-a -30 52013 a
-SDict begin [ /View [/XYZ H.V] /Dest (SECURITY-CURRENT-LIST) cvn H.B
-/DEST pdfmark end
- -30 52013 a 4866 x Fc(slackware-security)511
-b FG(mailing)517 b(list)-30 57293 y
-SDict begin H.S end
- -30 57293 a -30 57293
-a
-SDict begin 18.2 H.A end
- -30 57293 a -30 57293 a
-SDict begin [ /View [/XYZ H.V] /Dest (5229) cvn H.B /DEST pdfmark end
- -30 57293 a -30 58223 a
-SDict begin H.S end
- -30
-58223 a -30 58223 a
-SDict begin 18.2 H.A end
- -30 58223 a -30 58223 a
-SDict begin [ /View [/XYZ H.V] /Dest (5232) cvn H.B /DEST pdfmark end
- -30 58223
-a 1600 x FU(Whene)-39 b(v)-23 b(er)471 b(a)h(security)f(problem)g(af)
--39 b(fects)472 b(Slackw)-15 b(are,)471 b(an)g(email)g(is)g(sent)g(to)g
-(all)h(subscribers)-30 61838 y(to)543 b(the)4155 61838
-y
-SDict begin H.S end
- 4155 61838 a 4155 61838 a
-SDict begin 18.2 H.A end
- 4155 61838 a 4155 61838 a
-SDict begin [ /View [/XYZ H.V] /Dest (5233) cvn H.B /DEST pdfmark end
-
-4155 61838 a FP(slackware-security@slackware.com)c FU(mailing)j(list.)h
-(Reports)f(are)h(sent)f(out)h(for)-30 63853 y(vulnerabilities)301
-b(of)h(an)-23 b(y)302 b(part)f(of)i(Slackw)-15 b(are,)301
-b(apart)h(from)g(the)g(softw)-15 b(are)301 b(in)40724
-63853 y
-SDict begin H.S end
- 40724 63853 a 40724 63853 a
-SDict begin 18.2 H.A end
- 40724 63853 a 40724
-63853 a
-SDict begin [ /View [/XYZ H.V] /Dest (5234) cvn H.B /DEST pdfmark end
- 40724 63853 a FQ(/extra)d FU(or)46378 63853 y
-SDict begin H.S end
-
-46378 63853 a 46378 63853 a
-SDict begin 18.2 H.A end
- 46378 63853 a 46378 63853
-a
-SDict begin [ /View [/XYZ H.V] /Dest (5235) cvn H.B /DEST pdfmark end
- 46378 63853 a FQ(/pasture)p FU(.)-30 65867 y(These)450
-b(security)g(announcement)f(emails)h(include)f(details)h(on)g
-(obtaining)f(updated)h(v)-23 b(ersions)-30 67882 y(of)387
-b(Slackw)-15 b(are)387 b(packages)g(or)h(w)-15 b(ork-arounds,)386
-b(if)i(an)-23 b(y)-101 b(.)p Black -30 73792 a FR(186)p
-Black eop end
-%%Page: 187 209
-TeXDict begin 187 208 bop -8000 -8000 a
-SDict begin /product where{pop product(Distiller)search{pop pop pop
-version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
-closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
-grestore}if}{pop}ifelse}{pop}ifelse}if end
- -8000 -8000 a
-Black 0 TeXcolorgray -30 -1237 a
-SDict begin H.S end
- -30 -1237 a 0 TeXcolorgray
-0 TeXcolorgray -30 -1237 a
-SDict begin H.R end
- -30 -1237 a -30 -1237 a
-SDict begin [ /View [/XYZ H.V] /Dest (page.187) cvn H.B /DEST pdfmark
-end
- -30
--1237 a Black 39293 -1636 a FR(Chapter)386 b(14)h(Security)p
-Black -30 2504 a
-SDict begin H.S end
- -30 2504 a -30 2504 a
-SDict begin 18.2 H.A end
- -30 2504 a -30
-2504 a
-SDict begin [ /View [/XYZ H.V] /Dest (5236) cvn H.B /DEST pdfmark end
- -30 2504 a 1107 x FU(Subscribing)f(to)h(Slackw)-15
-b(are)387 b(mailing)f(lists)h(is)g(co)-23 b(v)g(ered)387
-b(in)p 0 TeXcolorgray 32451 3611 a
-SDict begin H.S end
- 32451 3611 a FU(Section)f(2.2.2)
-40586 3611 y
-SDict begin 18.2 H.L end
- 40586 3611 a 40586 3611 a
-SDict begin [ /Subtype /Link /Dest (HELP-ONLINE-EMAIL) cvn /H /I /Border
-[0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 40586 3611 a Black
-1 w FU(.)-30 4721 y
-SDict begin H.S end
- -30 4721 a -30 4721 a
-SDict begin 18.2 H.A end
- -30 4721 a
--30 4721 a
-SDict begin [ /View [/XYZ H.V] /Dest (SECURITY-CURRENT-PATCHES) cvn
-H.B /DEST pdfmark end
- -30 4721 a 5182 x FG(The)518 b FA(/patche)n(s)487
-b FG(director)19 b(y)-30 10288 y
-SDict begin H.S end
- -30 10288 a -30 10288
-a
-SDict begin 18.2 H.A end
- -30 10288 a -30 10288 a
-SDict begin [ /View [/XYZ H.V] /Dest (5241) cvn H.B /DEST pdfmark end
- -30 10288 a -30 10288 a
-SDict begin H.S end
- -30
-10288 a -30 10288 a
-SDict begin 18.2 H.A end
- -30 10288 a -30 10288 a
-SDict begin [ /View [/XYZ H.V] /Dest (5244) cvn H.B /DEST pdfmark end
- -30 10288
-a -30 10288 a
-SDict begin H.S end
- -30 10288 a -30 10288 a
-SDict begin 18.2 H.A end
- -30 10288 a -30
-10288 a
-SDict begin [ /View [/XYZ H.V] /Dest (5247) cvn H.B /DEST pdfmark end
- -30 10288 a -30 11218 a
-SDict begin H.S end
- -30 11218 a -30 11218
-a
-SDict begin 18.2 H.A end
- -30 11218 a -30 11218 a
-SDict begin [ /View [/XYZ H.V] /Dest (5249) cvn H.B /DEST pdfmark end
- -30 11218 a 1630 x FU(Whene)-39
-b(v)-23 b(er)494 b(updated)f(packages)h(are)g(released)f(for)h(a)g(v)
--23 b(ersion)493 b(of)h(Slackw)-15 b(are)492 b(\(usually)h(only)-30
-14862 y(to)461 b(\002x)f(a)h(security)f(problem,)h(in)f(the)h(case)g
-(of)g(already)f(released)h(Slackw)-15 b(are)460 b(v)-23
-b(ersions\),)460 b(the)-23 b(y)-30 16877 y(are)352 b(placed)g(in)f(the)
-10414 16877 y
-SDict begin H.S end
- 10414 16877 a 10414 16877 a
-SDict begin 18.2 H.A end
- 10414 16877
-a 10414 16877 a
-SDict begin [ /View [/XYZ H.V] /Dest (5250) cvn H.B /DEST pdfmark end
- 10414 16877 a FQ(/patches)c FU(directory)-101
-b(.)352 b(The)f(full)h(path)f(to)h(these)f(patches)h(will)f(depend)h
-(on)f(the)-30 18892 y(mirror)387 b(you)g(are)h(using,)f(b)-31
-b(ut)387 b(will)g(tak)-15 b(e)387 b(the)g(form)27213
-18892 y
-SDict begin H.S end
- 27213 18892 a 27213 18892 a
-SDict begin 18.2 H.A end
- 27213 18892 a 27213
-18892 a
-SDict begin [ /View [/XYZ H.V] /Dest (5251) cvn H.B /DEST pdfmark end
- 27213 18892 a FQ(/path/to/slackware-)55 b(x.x/patches/)p
-FU(.)-30 19227 y
-SDict begin H.S end
- -30 19227 a -30 19227 a
-SDict begin 18.2 H.A end
- -30 19227 a
--30 19227 a
-SDict begin [ /View [/XYZ H.V] /Dest (5252) cvn H.B /DEST pdfmark end
- -30 19227 a -30 19227 a
-SDict begin H.S end
- -30 19227 a -30 19227
-a
-SDict begin 18.2 H.A end
- -30 19227 a -30 19227 a
-SDict begin [ /View [/XYZ H.V] /Dest (5254) cvn H.B /DEST pdfmark end
- -30 19227 a -30 20002 a
-SDict begin H.S end
- -30
-20002 a -30 20002 a
-SDict begin 18.2 H.A end
- -30 20002 a -30 20002 a
-SDict begin [ /View [/XYZ H.V] /Dest (5256) cvn H.B /DEST pdfmark end
- -30 20002
-a 1679 x FU(Before)429 b(installing)f(these)g(packages,)i(it)e(is)h(a)g
-(good)g(idea)g(to)f(v)-23 b(erify)429 b(the)39399 21681
-y
-SDict begin H.S end
- 39399 21681 a 39399 21681 a
-SDict begin 18.2 H.A end
- 39399 21681 a 39399 21681
-a
-SDict begin [ /View [/XYZ H.V] /Dest (5257) cvn H.B /DEST pdfmark end
- 39399 21681 a FP(md5sum)f FU(of)h(the)g(pack-)-30 23696
-y(age.)2966 23696 y
-SDict begin H.S end
- 2966 23696 a 2966 23696 a
-SDict begin 18.2 H.A end
- 2966 23696
-a 2966 23696 a
-SDict begin [ /View [/XYZ H.V] /Dest (5258) cvn H.B /DEST pdfmark end
- 2966 23696 a FP(md5sum)p FU(\(1\))457
-b(is)h(a)f(commandline)g(utility)f(that)i(creates)g(a)34075
-23696 y
-SDict begin H.S end
- 34075 23696 a 34075 23696 a
-SDict begin 18.2 H.A end
- 34075 23696 a 34075
-23696 a
-SDict begin [ /View [/XYZ H.V] /Dest (5259) cvn H.B /DEST pdfmark end
- 34075 23696 a FU(\223unique\224)g(mathematical)e(hash)-30
-25710 y(of)528 b(the)g(\002le.)g(If)h(a)f(single)f(bit)h(of)g(the)g
-(\002le)g(has)g(been)g(changed,)g(it)g(will)g(generate)g(a)g(dif)-39
-b(ferent)-30 27725 y(md5sum)386 b(v)-39 b(alue.)-30 29290
-y
-SDict begin H.S end
- -30 29290 a -30 29290 a
-SDict begin 14.56 H.A end
- -30 29290 a -30 29290 a
-SDict begin [ /View [/XYZ H.V] /Dest (5260) cvn H.B /DEST pdfmark end
- -30
-29290 a -30 29290 a
-SDict begin H.S end
- -30 29290 a -30 29290 a
-SDict begin 14.56 H.A end
- -30 29290
-a -30 29290 a
-SDict begin [ /View [/XYZ H.V] /Dest (5261) cvn H.B /DEST pdfmark end
- -30 29290 a 1597 x FJ(\045)1309 30887 y
-SDict begin H.S end
-
-1309 30887 a 1309 30887 a
-SDict begin 14.56 H.A end
- 1309 30887 a 1309 30887 a
-SDict begin [ /View [/XYZ H.V] /Dest (5262) cvn H.B /DEST pdfmark end
- 1309
-30887 a FH(md5sum)743 b(package-)p FK(<)p FH(ver)p FK(>)p
-FH(-)p FK(<)p FH(arch)p FK(>)p FH(-)p FK(<)p FH(rev)p
-FK(>)p FH(.tgz)-30 32498 y FP(6341417aa1c025448b53073a1f1d287d)1484
-b(package-)p FK(<)p FP(ver)p FK(>)p FP(-)p FK(<)p FP(arch)p
-FK(>)p FP(-)p FK(<)p FP(rev)p FK(>)p FP(.tgz)-30 34243
-y
-SDict begin H.S end
- -30 34243 a -30 34243 a
-SDict begin 18.2 H.A end
- -30 34243 a -30 34243 a
-SDict begin [ /View [/XYZ H.V] /Dest (5263) cvn H.B /DEST pdfmark end
- -30
-34243 a 1820 x FU(Y)-170 b(ou)391 b(should)h(then)f(check)h(this)g(ag)
--8 b(ainst)391 b(the)h(line)g(for)g(the)g(ne)-39 b(w)392
-b(package)g(in)f(the)43633 36063 y
-SDict begin H.S end
- 43633 36063 a 43633
-36063 a
-SDict begin 18.2 H.A end
- 43633 36063 a 43633 36063 a
-SDict begin [ /View [/XYZ H.V] /Dest (5264) cvn H.B /DEST pdfmark end
- 43633 36063 a FQ(CHECKSUMS.md5)-30
-38077 y FU(\002le)430 b(in)g(the)g(root)g(of)h(the)13314
-38077 y
-SDict begin H.S end
- 13314 38077 a 13314 38077 a
-SDict begin 18.2 H.A end
- 13314 38077 a 13314
-38077 a
-SDict begin [ /View [/XYZ H.V] /Dest (5265) cvn H.B /DEST pdfmark end
- 13314 38077 a FQ(slackware-)55 b($VERSION)419
-b FU(directory)430 b(\(also)g(in)g(the)38503 38077 y
-SDict begin H.S end
-
-38503 38077 a 38503 38077 a
-SDict begin 18.2 H.A end
- 38503 38077 a 38503 38077
-a
-SDict begin [ /View [/XYZ H.V] /Dest (5267) cvn H.B /DEST pdfmark end
- 38503 38077 a FQ(/patches)425 b FU(directory)430 b(for)-30
-40092 y(patches\))387 b(or)h(in)f(the)g(email)g(to)g(the)18779
-40092 y
-SDict begin H.S end
- 18779 40092 a 18779 40092 a
-SDict begin 18.2 H.A end
- 18779 40092 a 18779
-40092 a
-SDict begin [ /View [/XYZ H.V] /Dest (5268) cvn H.B /DEST pdfmark end
- 18779 40092 a FP(slackware-security)e FU(mailing)i(list.)-30
-41202 y
-SDict begin H.S end
- -30 41202 a -30 41202 a
-SDict begin 18.2 H.A end
- -30 41202 a -30 41202
-a
-SDict begin [ /View [/XYZ H.V] /Dest (5269) cvn H.B /DEST pdfmark end
- -30 41202 a 1680 x FU(If)369 b(you)f(ha)-31 b(v)-23
-b(e)368 b(a)h(\002le)f(with)g(the)h(md5sum)e(v)-39 b(alues)369
-b(in)f(it,)h(you)f(can)h(source)f(it)h(instead)f(with)g(the)50288
-42882 y
-SDict begin H.S end
- 50288 42882 a 50288 42882 a
-SDict begin 18.2 H.A end
- 50288 42882 a 50288
-42882 a
-SDict begin [ /View [/XYZ H.V] /Dest (5270) cvn H.B /DEST pdfmark end
- 50288 42882 a FP(-c)-30 44896 y FU(option)387
-b(to)5912 44896 y
-SDict begin H.S end
- 5912 44896 a 5912 44896 a
-SDict begin 18.2 H.A end
- 5912 44896
-a 5912 44896 a
-SDict begin [ /View [/XYZ H.V] /Dest (5271) cvn H.B /DEST pdfmark end
- 5912 44896 a FP(md5sum)p FU(.)-30 46782
-y
-SDict begin H.S end
- -30 46782 a -30 46782 a
-SDict begin 14.56 H.A end
- -30 46782 a -30 46782 a
-SDict begin [ /View [/XYZ H.V] /Dest (5272) cvn H.B /DEST pdfmark end
- -30
-46782 a -30 46782 a
-SDict begin H.S end
- -30 46782 a -30 46782 a
-SDict begin 14.56 H.A end
- -30 46782
-a -30 46782 a
-SDict begin [ /View [/XYZ H.V] /Dest (5273) cvn H.B /DEST pdfmark end
- -30 46782 a 1276 x FJ(#)1309 48058 y
-SDict begin H.S end
- 1309
-48058 a 1309 48058 a
-SDict begin 14.56 H.A end
- 1309 48058 a 1309 48058 a
-SDict begin [ /View [/XYZ H.V] /Dest (5274) cvn H.B /DEST pdfmark end
- 1309 48058
-a FH(md5sum)743 b(-c)h(CHECKSUMS.md5)-30 49670 y FP(./ANNOUNCE.10_0:)e
-(OK)-30 51281 y(./BOOTING.TXT:)g(OK)-30 52893 y(./COPYING:)h(OK)-30
-54505 y(./COPYRIGHT.TXT:)f(OK)-30 56116 y(./CRYPTO_NOTICE.TXT:)g(OK)-30
-57728 y(./ChangeLog.txt:)g(OK)-30 59340 y(./FAQ.TXT:)h(FAILED)-30
-61066 y
-SDict begin H.S end
- -30 61066 a -30 61066 a
-SDict begin 18.2 H.A end
- -30 61066 a -30 61066
-a
-SDict begin [ /View [/XYZ H.V] /Dest (5275) cvn H.B /DEST pdfmark end
- -30 61066 a 1838 x FU(As)415 b(you)h(can)f(see,)h(an)-23
-b(y)415 b(\002les)g(that)18565 62904 y
-SDict begin H.S end
- 18565 62904 a
-18565 62904 a
-SDict begin 18.2 H.A end
- 18565 62904 a 18565 62904 a
-SDict begin [ /View [/XYZ H.V] /Dest (5276) cvn H.B /DEST pdfmark end
- 18565 62904
-a FP(md5sum)g FU(e)-39 b(v)g(aluates)416 b(as)f(correct)h(are)f(listed)
-42054 62904 y
-SDict begin H.S end
- 42054 62904 a 42054 62904 a
-SDict begin 18.2 H.A end
- 42054 62904
-a 42054 62904 a
-SDict begin [ /View [/XYZ H.V] /Dest (5277) cvn H.B /DEST pdfmark end
- 42054 62904 a FU(\223)42742 62904 y
-SDict begin H.S end
- 42742
-62904 a 42742 62904 a
-SDict begin 18.2 H.A end
- 42742 62904 a 42742 62904 a
-SDict begin [ /View [/XYZ H.V] /Dest (5278) cvn H.B /DEST pdfmark end
- 42742
-62904 a FP(OK)p FU(\224)g(while)g(\002les)-30 64919 y(that)392
-b(f)-15 b(ail)391 b(are)h(labelled)12711 64919 y
-SDict begin H.S end
- 12711
-64919 a 12711 64919 a
-SDict begin 18.2 H.A end
- 12711 64919 a 12711 64919 a
-SDict begin [ /View [/XYZ H.V] /Dest (5279) cvn H.B /DEST pdfmark end
- 12711
-64919 a FU(\223)13399 64919 y
-SDict begin H.S end
- 13399 64919 a 13399 64919
-a
-SDict begin 18.2 H.A end
- 13399 64919 a 13399 64919 a
-SDict begin [ /View [/XYZ H.V] /Dest (5280) cvn H.B /DEST pdfmark end
- 13399 64919 a FP(FAILED)p
-FU(\224.)g(\(Y)-155 b(es,)392 b(this)f(w)-15 b(as)391
-b(an)h(insult)f(to)g(your)h(intelligence.)f(Wh)-8 b(y)392
-b(do)-30 66934 y(you)387 b(put)g(up)g(with)g(me?\))p
-Black 49394 73792 a FR(187)p Black eop end
-%%Page: 188 210
-TeXDict begin 188 209 bop -8000 -8000 a
-SDict begin /product where{pop product(Distiller)search{pop pop pop
-version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
-closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
-grestore}if}{pop}ifelse}{pop}ifelse}if end
- -8000 -8000 a
-Black 0 TeXcolorgray -30 -1237 a
-SDict begin H.S end
- -30 -1237 a 0 TeXcolorgray
-0 TeXcolorgray -30 -1237 a
-SDict begin H.R end
- -30 -1237 a -30 -1237 a
-SDict begin [ /View [/XYZ H.V] /Dest (page.188) cvn H.B /DEST pdfmark
-end
- -30
--1237 a Black -399 x FR(Chapter)387 b(14)g(Security)p
-Black Black -30 73792 a(188)p Black eop end
-%%Page: 189 211
-TeXDict begin 189 210 bop -8000 -8000 a
-SDict begin /product where{pop product(Distiller)search{pop pop pop
-version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
-closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
-grestore}if}{pop}ifelse}{pop}ifelse}if end
- -8000 -8000 a
-Black 0 TeXcolorgray -30 -1358 a
-SDict begin H.S end
- -30 -1358 a 0 TeXcolorgray
-0 TeXcolorgray -30 -1358 a
-SDict begin H.R end
- -30 -1358 a -30 -1358 a
-SDict begin [ /View [/XYZ H.V] /Dest (page.189) cvn H.B /DEST pdfmark
-end
- -30
--1358 a Black Black -30 2383 a
-SDict begin H.S end
- -30 2383 a -30 2383 a
-SDict begin 18.2 H.A end
-
--30 2383 a -30 2383 a
-SDict begin [ /View [/XYZ H.V] /Dest (ARCHIVE-FILES) cvn H.B /DEST
-pdfmark end
- -30 2383 a 2345 x FS(Chapter)894
-b(15)-30 10743 y FO(Ar)-93 b(c)-46 b(hive)1287 b(Files)p
--30 18316 51806 56 v -30 18316 a
-SDict begin H.S end
- -30 18316 a -30 18316
-a
-SDict begin 18.2 H.A end
- -30 18316 a -30 18316 a
-SDict begin [ /View [/XYZ H.V] /Dest (ARCHIVE-FILES-GZIP) cvn H.B /DEST
-pdfmark end
- -30 18316 a 4852 x FL(15.1)620
-b Fq(gzip)-30 23664 y
-SDict begin H.S end
- -30 23664 a -30 23664 a
-SDict begin 18.2 H.A end
- -30 23664
-a -30 23664 a
-SDict begin [ /View [/XYZ H.V] /Dest (5286) cvn H.B /DEST pdfmark end
- -30 23664 a -30 23664 a
-SDict begin H.S end
- -30 23664 a -30
-23664 a
-SDict begin 18.2 H.A end
- -30 23664 a -30 23664 a
-SDict begin [ /View [/XYZ H.V] /Dest (5288) cvn H.B /DEST pdfmark end
- -30 23664 a -30 23664
-a
-SDict begin H.S end
- -30 23664 a -30 23664 a
-SDict begin 18.2 H.A end
- -30 23664 a -30 23664 a
-SDict begin [ /View [/XYZ H.V] /Dest (5290) cvn H.B /DEST pdfmark end
- -30
-23664 a -30 23664 a
-SDict begin H.S end
- -30 23664 a -30 23664 a
-SDict begin 18.2 H.A end
- -30 23664
-a -30 23664 a
-SDict begin [ /View [/XYZ H.V] /Dest (5293) cvn H.B /DEST pdfmark end
- -30 23664 a -30 24780 a
-SDict begin H.S end
- -30 24780 a -30
-24780 a
-SDict begin 18.2 H.A end
- -30 24780 a -30 24780 a
-SDict begin [ /View [/XYZ H.V] /Dest (5295) cvn H.B /DEST pdfmark end
- -30 24780 a -30 24780
-a
-SDict begin H.S end
- -30 24780 a -30 24780 a
-SDict begin 18.2 H.A end
- -30 24780 a -30 24780 a
-SDict begin [ /View [/XYZ H.V] /Dest (5296) cvn H.B /DEST pdfmark end
- -30
-24780 a 1518 x FP(gzip)p FU(\(1\))473 b(is)f(the)h(GNU)g(compression)f
-(program.)h(It)g(tak)-15 b(es)472 b(a)h(single)f(\002le)h(and)g
-(compresses)f(it.)-30 28313 y(The)387 b(basic)g(usage)h(is)f(as)g
-(follo)-39 b(ws:)-30 30198 y
-SDict begin H.S end
- -30 30198 a -30 30198 a
-SDict begin 14.56 H.A end
-
--30 30198 a -30 30198 a
-SDict begin [ /View [/XYZ H.V] /Dest (5297) cvn H.B /DEST pdfmark end
- -30 30198 a -30 30198 a
-SDict begin H.S end
- -30 30198
-a -30 30198 a
-SDict begin 14.56 H.A end
- -30 30198 a -30 30198 a
-SDict begin [ /View [/XYZ H.V] /Dest (5298) cvn H.B /DEST pdfmark end
- -30 30198 a 1277
-x FJ(\045)1309 31475 y
-SDict begin H.S end
- 1309 31475 a 1309 31475 a
-SDict begin 14.56 H.A end
- 1309
-31475 a 1309 31475 a
-SDict begin [ /View [/XYZ H.V] /Dest (5299) cvn H.B /DEST pdfmark end
- 1309 31475 a FH(gzip)5028 31475
-y
-SDict begin H.S end
- 5028 31475 a 5028 31475 a
-SDict begin 14.56 H.A end
- 5028 31475 a 5028 31475 a
-SDict begin [ /View [/XYZ H.V] /Dest (5300) cvn H.B /DEST pdfmark end
-
-5028 31475 a Fy(filename)-30 33192 y
-SDict begin H.S end
- -30 33192 a -30
-33192 a
-SDict begin 18.2 H.A end
- -30 33192 a -30 33192 a
-SDict begin [ /View [/XYZ H.V] /Dest (5301) cvn H.B /DEST pdfmark end
- -30 33192 a 1847 x FU(The)568
-b(resulting)f(\002le)g(will)g(be)h(named)21197 35039
-y
-SDict begin H.S end
- 21197 35039 a 21197 35039 a
-SDict begin 18.2 H.A end
- 21197 35039 a 21197 35039
-a
-SDict begin [ /View [/XYZ H.V] /Dest (5302) cvn H.B /DEST pdfmark end
- 21197 35039 a FQ(filename.gz)561 b FU(and)568 b(will)f(usually)g(be)g
-(smaller)h(than)f(the)-30 37054 y(input)439 b(\002le.)h(Note)g(that)
-12621 37054 y
-SDict begin H.S end
- 12621 37054 a 12621 37054 a
-SDict begin 18.2 H.A end
- 12621 37054
-a 12621 37054 a
-SDict begin [ /View [/XYZ H.V] /Dest (5304) cvn H.B /DEST pdfmark end
- 12621 37054 a FQ(filename.gz)433 b FU(will)439
-b(replace)27716 37054 y
-SDict begin H.S end
- 27716 37054 a 27716 37054 a
-SDict begin 18.2 H.A end
- 27716
-37054 a 27716 37054 a
-SDict begin [ /View [/XYZ H.V] /Dest (5305) cvn H.B /DEST pdfmark end
- 27716 37054 a FQ(filename)p FU(.)c(This)440
-b(means)f(that)43914 37054 y
-SDict begin H.S end
- 43914 37054 a 43914 37054
-a
-SDict begin 18.2 H.A end
- 43914 37054 a 43914 37054 a
-SDict begin [ /View [/XYZ H.V] /Dest (5306) cvn H.B /DEST pdfmark end
- 43914 37054 a FQ(filename)434
-b FU(will)-30 39068 y(no)493 b(longer)g(e)-23 b(xist,)493
-b(e)-39 b(v)-23 b(en)493 b(though)g(a)g(gzipped)g(cop)-15
-b(y)492 b(will.)h(Re)-23 b(gular)493 b(te)-23 b(xt)492
-b(\002les)h(will)g(compress)-30 41083 y(nicely)-101 b(,)568
-b(while)f(jpe)-23 b(g)567 b(images,)g(mp3s,)g(and)h(other)f(such)g
-(\002les)g(will)g(not)g(compress)g(too)g(well)-30 43098
-y(as)474 b(the)-23 b(y)474 b(are)h(already)f(compressed.)g(This)f
-(basic)h(usage)h(is)f(a)g(balance)g(of)g(\002nal)g(\002le)g(size)g(and)
--30 45112 y(compression)386 b(time.)i(The)f(maximum)f(compression)g
-(can)i(be)f(achie)-39 b(v)-23 b(ed)387 b(lik)-15 b(e)387
-b(so:)-30 46998 y
-SDict begin H.S end
- -30 46998 a -30 46998 a
-SDict begin 14.56 H.A end
- -30 46998 a
--30 46998 a
-SDict begin [ /View [/XYZ H.V] /Dest (5307) cvn H.B /DEST pdfmark end
- -30 46998 a -30 46998 a
-SDict begin H.S end
- -30 46998 a -30 46998
-a
-SDict begin 14.56 H.A end
- -30 46998 a -30 46998 a
-SDict begin [ /View [/XYZ H.V] /Dest (5308) cvn H.B /DEST pdfmark end
- -30 46998 a 1276 x FJ(\045)1309
-48274 y
-SDict begin H.S end
- 1309 48274 a 1309 48274 a
-SDict begin 14.56 H.A end
- 1309 48274 a 1309 48274
-a
-SDict begin [ /View [/XYZ H.V] /Dest (5309) cvn H.B /DEST pdfmark end
- 1309 48274 a FH(gzip)743 b(-9)7260 48274 y
-SDict begin H.S end
- 7260 48274
-a 7260 48274 a
-SDict begin 14.56 H.A end
- 7260 48274 a 7260 48274 a
-SDict begin [ /View [/XYZ H.V] /Dest (5310) cvn H.B /DEST pdfmark end
- 7260 48274 a
-Fy(filename)-30 49991 y
-SDict begin H.S end
- -30 49991 a -30 49991 a
-SDict begin 18.2 H.A end
- -30 49991
-a -30 49991 a
-SDict begin [ /View [/XYZ H.V] /Dest (5311) cvn H.B /DEST pdfmark end
- -30 49991 a 1847 x FU(This)485 b(will)f(tak)-15
-b(e)485 b(a)g(longer)g(time)f(to)h(compress)g(the)f(\002le,)i(b)-31
-b(ut)484 b(the)h(result)g(will)f(be)h(as)h(small)e(as)-30
-53853 y
-SDict begin H.S end
- -30 53853 a -30 53853 a
-SDict begin 18.2 H.A end
- -30 53853 a -30 53853
-a
-SDict begin [ /View [/XYZ H.V] /Dest (5312) cvn H.B /DEST pdfmark end
- -30 53853 a FP(gzip)463 b FU(can)h(mak)-15 b(e)463
-b(it.)h(Using)f(lo)-39 b(wer)464 b(v)-39 b(alues)463
-b(for)h(the)g(command)f(line)g(option)g(will)g(cause)h(it)f(to)-30
-55867 y(compress)387 b(f)-15 b(aster)-62 b(,)387 b(b)-31
-b(ut)387 b(the)g(\002le)g(will)g(not)g(be)h(as)f(compressed.)-30
-56978 y
-SDict begin H.S end
- -30 56978 a -30 56978 a
-SDict begin 18.2 H.A end
- -30 56978 a -30 56978
-a
-SDict begin [ /View [/XYZ H.V] /Dest (5313) cvn H.B /DEST pdfmark end
- -30 56978 a 1679 x FU(Decompressing)318 b(gzipped)h(\002les)f(can)i
-(be)f(done)g(using)f(tw)-15 b(o)319 b(commands,)f(which)h(are)h(really)
-f(just)-30 60672 y(the)350 b(same)f(program.)11735 60672
-y
-SDict begin H.S end
- 11735 60672 a 11735 60672 a
-SDict begin 18.2 H.A end
- 11735 60672 a 11735 60672
-a
-SDict begin [ /View [/XYZ H.V] /Dest (5314) cvn H.B /DEST pdfmark end
- 11735 60672 a FP(gzip)h FU(will)e(decompress)h(an)-23
-b(y)350 b(\002le)f(with)g(a)h(recognized)f(\002le)g(e)-23
-b(xtension.)349 b(A)-30 62686 y(recognized)393 b(e)-23
-b(xtension)391 b(can)i(be)g(an)-23 b(y)393 b(of)f(the)h(follo)-39
-b(wing:)31261 62686 y
-SDict begin H.S end
- 31261 62686 a 31261 62686 a
-SDict begin 18.2 H.A end
- 31261
-62686 a 31261 62686 a
-SDict begin [ /View [/XYZ H.V] /Dest (5315) cvn H.B /DEST pdfmark end
- 31261 62686 a FQ(.gz)p FU(,)33920
-62686 y
-SDict begin H.S end
- 33920 62686 a 33920 62686 a
-SDict begin 18.2 H.A end
- 33920 62686 a 33920
-62686 a
-SDict begin [ /View [/XYZ H.V] /Dest (5316) cvn H.B /DEST pdfmark end
- 33920 62686 a FQ(-)55 b(gz)p FU(,)36635 62686
-y
-SDict begin H.S end
- 36635 62686 a 36635 62686 a
-SDict begin 18.2 H.A end
- 36635 62686 a 36635 62686
-a
-SDict begin [ /View [/XYZ H.V] /Dest (5317) cvn H.B /DEST pdfmark end
- 36635 62686 a FQ(.z)p FU(,)38668 62686 y
-SDict begin H.S end
- 38668 62686
-a 38668 62686 a
-SDict begin 18.2 H.A end
- 38668 62686 a 38668 62686 a
-SDict begin [ /View [/XYZ H.V] /Dest (5318) cvn H.B /DEST pdfmark end
- 38668 62686
-a FQ(-)g(z)p FU(,)40757 62686 y
-SDict begin H.S end
- 40757 62686 a 40757 62686
-a
-SDict begin 18.2 H.A end
- 40757 62686 a 40757 62686 a
-SDict begin [ /View [/XYZ H.V] /Dest (5319) cvn H.B /DEST pdfmark end
- 40757 62686 a FQ(.Z)p FU(,)392
-b(or)44473 62686 y
-SDict begin H.S end
- 44473 62686 a 44473 62686 a
-SDict begin 18.2 H.A end
- 44473
-62686 a 44473 62686 a
-SDict begin [ /View [/XYZ H.V] /Dest (5320) cvn H.B /DEST pdfmark end
- 44473 62686 a FQ(-)55 b(Z)p FU(.)393
-b(The)f(\002rst)-30 64701 y(method)387 b(is)g(to)g(call)10646
-64701 y
-SDict begin H.S end
- 10646 64701 a 10646 64701 a
-SDict begin 18.2 H.A end
- 10646 64701 a 10646
-64701 a
-SDict begin [ /View [/XYZ H.V] /Dest (5321) cvn H.B /DEST pdfmark end
- 10646 64701 a FP(gunzip)p FU(\(1\))g(on)g(a)h(\002le,)f(lik)-15
-b(e)386 b(so:)-30 66528 y
-SDict begin H.S end
- -30 66528 a -30 66528 a
-SDict begin 14.56 H.A end
- -30
-66528 a -30 66528 a
-SDict begin [ /View [/XYZ H.V] /Dest (5322) cvn H.B /DEST pdfmark end
- -30 66528 a -30 66528 a
-SDict begin H.S end
- -30 66528
-a -30 66528 a
-SDict begin 14.56 H.A end
- -30 66528 a -30 66528 a
-SDict begin [ /View [/XYZ H.V] /Dest (5323) cvn H.B /DEST pdfmark end
- -30 66528 a 1335
-x FJ(\045)1309 67863 y
-SDict begin H.S end
- 1309 67863 a 1309 67863 a
-SDict begin 14.56 H.A end
- 1309
-67863 a 1309 67863 a
-SDict begin [ /View [/XYZ H.V] /Dest (5324) cvn H.B /DEST pdfmark end
- 1309 67863 a FH(gunzip)6516 67863
-y
-SDict begin H.S end
- 6516 67863 a 6516 67863 a
-SDict begin 14.56 H.A end
- 6516 67863 a 6516 67863 a
-SDict begin [ /View [/XYZ H.V] /Dest (5325) cvn H.B /DEST pdfmark end
-
-6516 67863 a Fy(filename.gz)-30 68031 y
-SDict begin H.S end
- -30 68031 a -30
-68031 a
-SDict begin 18.2 H.A end
- -30 68031 a -30 68031 a
-SDict begin [ /View [/XYZ H.V] /Dest (5326) cvn H.B /DEST pdfmark end
- -30 68031 a Black 49451
-73672 a FR(189)p Black eop end
-%%Page: 190 212
-TeXDict begin 190 211 bop -8000 -8000 a
-SDict begin /product where{pop product(Distiller)search{pop pop pop
-version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
-closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
-grestore}if}{pop}ifelse}{pop}ifelse}if end
- -8000 -8000 a
-Black 0 TeXcolorgray -30 -1358 a
-SDict begin H.S end
- -30 -1358 a 0 TeXcolorgray
-0 TeXcolorgray -30 -1358 a
-SDict begin H.R end
- -30 -1358 a -30 -1358 a
-SDict begin [ /View [/XYZ H.V] /Dest (page.190) cvn H.B /DEST pdfmark
-end
- -30
--1358 a Black -278 x FR(Chapter)387 b(15)g(Ar)-57 b(c)-23
-b(hive)386 b(F)-70 b(iles)p Black -30 2383 a
-SDict begin H.S end
- -30 2383
-a -30 2383 a
-SDict begin 18.2 H.A end
- -30 2383 a -30 2383 a
-SDict begin [ /View [/XYZ H.V] /Dest (5328) cvn H.B /DEST pdfmark end
- -30 2383 a 1107 x
-FU(This)397 b(will)f(lea)-31 b(v)-23 b(e)397 b(a)g(decompressed)f(v)-23
-b(ersion)397 b(of)g(in\002le)f(in)h(the)g(current)g(directory)-101
-b(,)397 b(and)g(the)49897 3490 y
-SDict begin H.S end
- 49897 3490 a 49897 3490
-a
-SDict begin 18.2 H.A end
- 49897 3490 a 49897 3490 a
-SDict begin [ /View [/XYZ H.V] /Dest (5329) cvn H.B /DEST pdfmark end
- 49897 3490 a FQ(.gz)-30 5505
-y FU(e)-23 b(xtension)529 b(will)g(be)h(stripped)f(from)g(the)h
-(\002lename.)29094 5505 y
-SDict begin H.S end
- 29094 5505 a 29094 5505 a
-SDict begin 18.2 H.A end
- 29094
-5505 a 29094 5505 a
-SDict begin [ /View [/XYZ H.V] /Dest (5330) cvn H.B /DEST pdfmark end
- 29094 5505 a FP(gunzip)f FU(is)h(really)f(part)h
-(of)44469 5505 y
-SDict begin H.S end
- 44469 5505 a 44469 5505 a
-SDict begin 18.2 H.A end
- 44469 5505
-a 44469 5505 a
-SDict begin [ /View [/XYZ H.V] /Dest (5331) cvn H.B /DEST pdfmark end
- 44469 5505 a FP(gzip)g FU(and)f(is)-30
-7520 y(identical)472 b(to)7459 7520 y
-SDict begin H.S end
- 7459 7520 a 7459
-7520 a
-SDict begin 18.2 H.A end
- 7459 7520 a 7459 7520 a
-SDict begin [ /View [/XYZ H.V] /Dest (5332) cvn H.B /DEST pdfmark end
- 7459 7520 a FP(gzip)743
-b(-d)p FU(.)473 b(As)f(such,)19421 7520 y
-SDict begin H.S end
- 19421 7520
-a 19421 7520 a
-SDict begin 18.2 H.A end
- 19421 7520 a 19421 7520 a
-SDict begin [ /View [/XYZ H.V] /Dest (5333) cvn H.B /DEST pdfmark end
- 19421 7520 a
-FP(gzip)h FU(is)f(often)g(pronounced)35823 7520 y
-SDict begin H.S end
- 35823
-7520 a 35823 7520 a
-SDict begin 18.2 H.A end
- 35823 7520 a 35823 7520 a
-SDict begin [ /View [/XYZ H.V] /Dest (5334) cvn H.B /DEST pdfmark end
- 35823 7520
-a FP(gunzip)p FU(,)g(as)h(that)f(name)h(just)-30 9534
-y(sounds)387 b(cooler)-85 b(.)387 b(:^\))-30 10587 y
-SDict begin H.S end
-
--30 10587 a -30 10587 a
-SDict begin 18.2 H.A end
- -30 10587 a -30 10587 a
-SDict begin [ /View [/XYZ H.V] /Dest (ARCHIVE-FILES-BZIP2) cvn H.B
-/DEST pdfmark end
- -30 10587
-a 5847 x FL(15.2)620 b Fq(bzip2)-30 16896 y
-SDict begin H.S end
- -30 16896
-a -30 16896 a
-SDict begin 18.2 H.A end
- -30 16896 a -30 16896 a
-SDict begin [ /View [/XYZ H.V] /Dest (5338) cvn H.B /DEST pdfmark end
- -30 16896 a -30
-18011 a
-SDict begin H.S end
- -30 18011 a -30 18011 a
-SDict begin 18.2 H.A end
- -30 18011 a -30 18011
-a
-SDict begin [ /View [/XYZ H.V] /Dest (5340) cvn H.B /DEST pdfmark end
- -30 18011 a -30 18011 a
-SDict begin H.S end
- -30 18011 a -30 18011 a
-SDict begin 18.2 H.A end
- -30
-18011 a -30 18011 a
-SDict begin [ /View [/XYZ H.V] /Dest (5341) cvn H.B /DEST pdfmark end
- -30 18011 a 1553 x FP(bzip2)p FU(\(1\))594
-b(is)f(an)i(alternati)-39 b(v)-23 b(e)593 b(compression)g(program)h
-(installed)f(on)h(Slackw)-15 b(are)593 b(Linux.)h(It)-30
-21579 y(uses)341 b(a)h(dif)-39 b(ferent)342 b(compression)e(algorithm)h
-(from)27547 21579 y
-SDict begin H.S end
- 27547 21579 a 27547 21579 a
-SDict begin 18.2 H.A end
- 27547
-21579 a 27547 21579 a
-SDict begin [ /View [/XYZ H.V] /Dest (5342) cvn H.B /DEST pdfmark end
- 27547 21579 a FP(gzip)p FU(,)h(which)f(results)g
-(in)g(some)g(adv)-39 b(antages)-30 23594 y(and)413 b(some)f(disadv)-39
-b(antages.)412 b(The)h(main)f(adv)-39 b(antage)413 b(for)30971
-23594 y
-SDict begin H.S end
- 30971 23594 a 30971 23594 a
-SDict begin 18.2 H.A end
- 30971 23594 a 30971
-23594 a
-SDict begin [ /View [/XYZ H.V] /Dest (5343) cvn H.B /DEST pdfmark end
- 30971 23594 a FP(bzip2)f FU(is)h(the)f(compressed)g(\002le)h
-(size.)-30 25608 y
-SDict begin H.S end
- -30 25608 a -30 25608 a
-SDict begin 18.2 H.A end
- -30 25608
-a -30 25608 a
-SDict begin [ /View [/XYZ H.V] /Dest (5344) cvn H.B /DEST pdfmark end
- -30 25608 a FP(bzip2)569 b FU(will)g(almost)g(al)-15
-b(w)g(ays)568 b(compress)g(better)i(than)30544 25608
-y
-SDict begin H.S end
- 30544 25608 a 30544 25608 a
-SDict begin 18.2 H.A end
- 30544 25608 a 30544 25608
-a
-SDict begin [ /View [/XYZ H.V] /Dest (5345) cvn H.B /DEST pdfmark end
- 30544 25608 a FP(gzip)p FU(.)f(In)h(some)f(instances,)g(this)g(can)
--30 27623 y(result)614 b(in)g(dramatically)g(smaller)g(\002les.)g(This)
-g(can)h(be)f(a)h(great)f(adv)-39 b(antage)614 b(for)h(people)f(on)-30
-29638 y(slo)-39 b(wer)590 b(modem)e(connections.)h(Also)g(remember)-62
-b(,)590 b(when)f(do)-39 b(wnloading)589 b(softw)-15 b(are)589
-b(from)g(a)-30 31652 y(public)549 b(ftp)h(serv)-23 b(er)-62
-b(,)549 b(it')-85 b(s)549 b(generally)h(good)f(netiquette)f(to)i(do)-39
-b(wnload)549 b(the)41197 31652 y
-SDict begin H.S end
- 41197 31652 a 41197
-31652 a
-SDict begin 18.2 H.A end
- 41197 31652 a 41197 31652 a
-SDict begin [ /View [/XYZ H.V] /Dest (5346) cvn H.B /DEST pdfmark end
- 41197 31652 a FQ(.bz2)e
-FU(\002les)i(instead)-30 33667 y(of)476 b(the)4108 33667
-y
-SDict begin H.S end
- 4108 33667 a 4108 33667 a
-SDict begin 18.2 H.A end
- 4108 33667 a 4108 33667 a
-SDict begin [ /View [/XYZ H.V] /Dest (5347) cvn H.B /DEST pdfmark end
-
-4108 33667 a FQ(.gz)e FU(\002les,)i(as)h(this)f(results)f(in)h(less)g
-(o)-23 b(v)g(erhead)476 b(for)h(the)f(generous)g(people)g(hosting)f
-(the)-30 35682 y(serv)-23 b(er)-85 b(.)-30 36472 y
-SDict begin H.S end
- -30
-36472 a -30 36472 a
-SDict begin 18.2 H.A end
- -30 36472 a -30 36472 a
-SDict begin [ /View [/XYZ H.V] /Dest (5348) cvn H.B /DEST pdfmark end
- -30 36472
-a 1999 x FU(The)477 b(disadv)-39 b(antage)477 b(to)13071
-38471 y
-SDict begin H.S end
- 13071 38471 a 13071 38471 a
-SDict begin 18.2 H.A end
- 13071 38471 a 13071
-38471 a
-SDict begin [ /View [/XYZ H.V] /Dest (5349) cvn H.B /DEST pdfmark end
- 13071 38471 a FP(bzip2)g FU(is)g(that)g(it)g(is)g(more)g(CPU)g
-(intensi)-39 b(v)-23 b(e)477 b(than)40743 38471 y
-SDict begin H.S end
- 40743
-38471 a 40743 38471 a
-SDict begin 18.2 H.A end
- 40743 38471 a 40743 38471 a
-SDict begin [ /View [/XYZ H.V] /Dest (5350) cvn H.B /DEST pdfmark end
- 40743
-38471 a FP(gzip)p FU(.)g(This)g(means)-30 40486 y(that)528
-b(bzipping)e(a)i(\002le)g(will)f(generally)g(tak)-15
-b(e)527 b(longer)h(and)g(will)f(use)g(more)h(of)g(the)f(CPU)g(than)-30
-42500 y(gzipping)406 b(the)g(\002le)h(w)-15 b(ould.)406
-b(When)g(considering)g(which)g(compression)g(program)g(to)g(use,)h(you)
--30 44515 y(must)387 b(weigh)g(this)g(speed)g(vs.)g(compressed)g(size)g
-(and)g(determine)g(which)g(is)g(more)g(important.)-30
-45625 y
-SDict begin H.S end
- -30 45625 a -30 45625 a
-SDict begin 18.2 H.A end
- -30 45625 a -30 45625
-a
-SDict begin [ /View [/XYZ H.V] /Dest (5351) cvn H.B /DEST pdfmark end
- -30 45625 a 1680 x FU(The)439 b(usage)f(of)8515 47305
-y
-SDict begin H.S end
- 8515 47305 a 8515 47305 a
-SDict begin 18.2 H.A end
- 8515 47305 a 8515 47305 a
-SDict begin [ /View [/XYZ H.V] /Dest (5352) cvn H.B /DEST pdfmark end
-
-8515 47305 a FP(bzip2)g FU(is)g(nearly)h(identical)f(to)25877
-47305 y
-SDict begin H.S end
- 25877 47305 a 25877 47305 a
-SDict begin 18.2 H.A end
- 25877 47305 a 25877
-47305 a
-SDict begin [ /View [/XYZ H.V] /Dest (5353) cvn H.B /DEST pdfmark end
- 25877 47305 a FP(gzip)p FU(,)g(so)h(not)f(much)g(time)g(will)g
-(be)g(spent)g(dis-)-30 49319 y(cussing)361 b(it.)i(Lik)-15
-b(e)9780 49319 y
-SDict begin H.S end
- 9780 49319 a 9780 49319 a
-SDict begin 18.2 H.A end
- 9780 49319
-a 9780 49319 a
-SDict begin [ /View [/XYZ H.V] /Dest (5354) cvn H.B /DEST pdfmark end
- 9780 49319 a FP(gunzip)p FU(,)14993 49319
-y
-SDict begin H.S end
- 14993 49319 a 14993 49319 a
-SDict begin 18.2 H.A end
- 14993 49319 a 14993 49319
-a
-SDict begin [ /View [/XYZ H.V] /Dest (5355) cvn H.B /DEST pdfmark end
- 14993 49319 a FP(bunzip2)361 b FU(is)h(identical)f(to)29225
-49319 y
-SDict begin H.S end
- 29225 49319 a 29225 49319 a
-SDict begin 18.2 H.A end
- 29225 49319 a 29225
-49319 a
-SDict begin [ /View [/XYZ H.V] /Dest (5356) cvn H.B /DEST pdfmark end
- 29225 49319 a FP(bzip2)743 b(-d)p FU(.)362 b(The)g(primary)g
-(dif)-39 b(ference)362 b(in)-30 51334 y(practical)387
-b(usage)g(is)g(that)13742 51334 y
-SDict begin H.S end
- 13742 51334 a 13742
-51334 a
-SDict begin 18.2 H.A end
- 13742 51334 a 13742 51334 a
-SDict begin [ /View [/XYZ H.V] /Dest (5357) cvn H.B /DEST pdfmark end
- 13742 51334 a FP(bzip2)g
-FU(uses)g(the)23187 51334 y
-SDict begin H.S end
- 23187 51334 a 23187 51334
-a
-SDict begin 18.2 H.A end
- 23187 51334 a 23187 51334 a
-SDict begin [ /View [/XYZ H.V] /Dest (5358) cvn H.B /DEST pdfmark end
- 23187 51334 a FQ(.bz2)d
-FU(e)-23 b(xtension.)-30 53219 y
-SDict begin H.S end
- -30 53219 a -30 53219
-a
-SDict begin 14.56 H.A end
- -30 53219 a -30 53219 a
-SDict begin [ /View [/XYZ H.V] /Dest (5359) cvn H.B /DEST pdfmark end
- -30 53219 a -30 53219 a
-SDict begin H.S end
- -30
-53219 a -30 53219 a
-SDict begin 14.56 H.A end
- -30 53219 a -30 53219 a
-SDict begin [ /View [/XYZ H.V] /Dest (5360) cvn H.B /DEST pdfmark end
- -30 53219
-a 1276 x FJ(\045)1309 54495 y
-SDict begin H.S end
- 1309 54495 a 1309 54495
-a
-SDict begin 14.56 H.A end
- 1309 54495 a 1309 54495 a
-SDict begin [ /View [/XYZ H.V] /Dest (5361) cvn H.B /DEST pdfmark end
- 1309 54495 a FH(bzip2)5772
-54495 y
-SDict begin H.S end
- 5772 54495 a 5772 54495 a
-SDict begin 14.56 H.A end
- 5772 54495 a 5772 54495
-a
-SDict begin [ /View [/XYZ H.V] /Dest (5362) cvn H.B /DEST pdfmark end
- 5772 54495 a Fy(filename)-30 54663 y
-SDict begin H.S end
- -30 54663 a -30
-54663 a
-SDict begin 14.56 H.A end
- -30 54663 a -30 54663 a
-SDict begin [ /View [/XYZ H.V] /Dest (5363) cvn H.B /DEST pdfmark end
- -30 54663 a 1444 x FJ(\045)1309
-56107 y
-SDict begin H.S end
- 1309 56107 a 1309 56107 a
-SDict begin 14.56 H.A end
- 1309 56107 a 1309 56107
-a
-SDict begin [ /View [/XYZ H.V] /Dest (5364) cvn H.B /DEST pdfmark end
- 1309 56107 a FH(bunzip2)7260 56107 y
-SDict begin H.S end
- 7260 56107 a 7260
-56107 a
-SDict begin 14.56 H.A end
- 7260 56107 a 7260 56107 a
-SDict begin [ /View [/XYZ H.V] /Dest (5365) cvn H.B /DEST pdfmark end
- 7260 56107 a Fy(filename.bz2)-30
-56275 y
-SDict begin H.S end
- -30 56275 a -30 56275 a
-SDict begin 14.56 H.A end
- -30 56275 a -30 56275
-a
-SDict begin [ /View [/XYZ H.V] /Dest (5366) cvn H.B /DEST pdfmark end
- -30 56275 a 1444 x FJ(\045)1309 57719 y
-SDict begin H.S end
- 1309 57719
-a 1309 57719 a
-SDict begin 14.56 H.A end
- 1309 57719 a 1309 57719 a
-SDict begin [ /View [/XYZ H.V] /Dest (5367) cvn H.B /DEST pdfmark end
- 1309 57719 a
-FH(bzip2)743 b(-9)8004 57719 y
-SDict begin H.S end
- 8004 57719 a 8004 57719
-a
-SDict begin 14.56 H.A end
- 8004 57719 a 8004 57719 a
-SDict begin [ /View [/XYZ H.V] /Dest (5368) cvn H.B /DEST pdfmark end
- 8004 57719 a Fy(filename)-30
-59437 y
-SDict begin H.S end
- -30 59437 a -30 59437 a
-SDict begin 18.2 H.A end
- -30 59437 a -30 59437
-a
-SDict begin [ /View [/XYZ H.V] /Dest (ARCHIVE-FILES-TAR) cvn H.B /DEST
-pdfmark end
- -30 59437 a Black 14235 x FR(190)p Black eop end
-%%Page: 191 213
-TeXDict begin 191 212 bop -8000 -8000 a
-SDict begin /product where{pop product(Distiller)search{pop pop pop
-version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
-closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
-grestore}if}{pop}ifelse}{pop}ifelse}if end
- -8000 -8000 a
-Black 0 TeXcolorgray -30 -1237 a
-SDict begin H.S end
- -30 -1237 a 0 TeXcolorgray
-0 TeXcolorgray -30 -1237 a
-SDict begin H.R end
- -30 -1237 a -30 -1237 a
-SDict begin [ /View [/XYZ H.V] /Dest (page.191) cvn H.B /DEST pdfmark
-end
- -30
--1237 a Black -30 -2687 a
-SDict begin H.S end
- -30 -2687 a -30 -2687 a
-SDict begin 18.2 H.A end
- -30
--2687 a -30 -2687 a
-SDict begin [ /View [/XYZ H.V] /Dest (5416) cvn H.B /DEST pdfmark end
- -30 -2687 a 36215 -1636 a FR(Chapter)386
-b(15)i(Ar)-57 b(c)-23 b(hive)386 b(F)-70 b(iles)p Black
--30 4084 a FL(15.3)620 b Fq(tar)-30 4112 y
-SDict begin H.S end
- -30 4112 a
--30 4112 a
-SDict begin 18.2 H.A end
- -30 4112 a -30 4112 a
-SDict begin [ /View [/XYZ H.V] /Dest (5372) cvn H.B /DEST pdfmark end
- -30 4112 a -30 4112
-a
-SDict begin H.S end
- -30 4112 a -30 4112 a
-SDict begin 18.2 H.A end
- -30 4112 a -30 4112 a
-SDict begin [ /View [/XYZ H.V] /Dest (5374) cvn H.B /DEST pdfmark end
- -30 4112
-a -30 5228 a
-SDict begin H.S end
- -30 5228 a -30 5228 a
-SDict begin 18.2 H.A end
- -30 5228 a -30 5228
-a
-SDict begin [ /View [/XYZ H.V] /Dest (5377) cvn H.B /DEST pdfmark end
- -30 5228 a -30 5228 a
-SDict begin H.S end
- -30 5228 a -30 5228 a
-SDict begin 18.2 H.A end
- -30 5228
-a -30 5228 a
-SDict begin [ /View [/XYZ H.V] /Dest (5378) cvn H.B /DEST pdfmark end
- -30 5228 a 1987 x FP(tar)p FU(\(1\))425
-b(is)f(the)h(GNU)f(tape)h(archi)-39 b(v)-23 b(er)-85
-b(.)425 b(It)g(tak)-15 b(es)424 b(se)-39 b(v)-23 b(eral)424
-b(\002les)h(or)f(directories)g(and)h(creates)g(one)-30
-9229 y(lar)-28 b(ge)520 b(\002le.)h(This)f(allo)-39 b(ws)519
-b(you)h(to)g(compress)g(an)g(entire)g(directory)g(tree,)h(which)f(is)g
-(impossi-)-30 11244 y(ble)543 b(by)g(just)g(using)11184
-11244 y
-SDict begin H.S end
- 11184 11244 a 11184 11244 a
-SDict begin 18.2 H.A end
- 11184 11244 a 11184
-11244 a
-SDict begin [ /View [/XYZ H.V] /Dest (5379) cvn H.B /DEST pdfmark end
- 11184 11244 a FP(gzip)g FU(or)16537 11244 y
-SDict begin H.S end
- 16537
-11244 a 16537 11244 a
-SDict begin 18.2 H.A end
- 16537 11244 a 16537 11244 a
-SDict begin [ /View [/XYZ H.V] /Dest (5380) cvn H.B /DEST pdfmark end
- 16537
-11244 a FP(bzip2)p FU(.)21187 11244 y
-SDict begin H.S end
- 21187 11244 a 21187
-11244 a
-SDict begin 18.2 H.A end
- 21187 11244 a 21187 11244 a
-SDict begin [ /View [/XYZ H.V] /Dest (5381) cvn H.B /DEST pdfmark end
- 21187 11244 a FP(tar)g
-FU(has)g(man)-23 b(y)543 b(command)f(line)h(options,)g(which)g(are)-30
-13259 y(e)-23 b(xplained)547 b(in)g(its)h(man)f(page.)h(This)f(section)
-g(will)g(just)g(co)-23 b(v)g(er)547 b(the)h(most)f(common)g(uses)g(of)
--30 15273 y
-SDict begin H.S end
- -30 15273 a -30 15273 a
-SDict begin 18.2 H.A end
- -30 15273 a -30 15273
-a
-SDict begin [ /View [/XYZ H.V] /Dest (5382) cvn H.B /DEST pdfmark end
- -30 15273 a FP(tar)p FU(.)-30 16074 y
-SDict begin H.S end
- -30 16074 a -30
-16074 a
-SDict begin 18.2 H.A end
- -30 16074 a -30 16074 a
-SDict begin [ /View [/XYZ H.V] /Dest (5383) cvn H.B /DEST pdfmark end
- -30 16074 a 1989 x FU(The)337
-b(most)f(common)g(use)h(for)16376 18063 y
-SDict begin H.S end
- 16376 18063
-a 16376 18063 a
-SDict begin 18.2 H.A end
- 16376 18063 a 16376 18063 a
-SDict begin [ /View [/XYZ H.V] /Dest (5384) cvn H.B /DEST pdfmark end
- 16376 18063
-a FP(tar)g FU(is)g(to)f(decompress)h(and)g(unarchi)-39
-b(v)-23 b(e)336 b(a)h(package)g(that)g(you')-77 b(v)-23
-b(e)-30 20077 y(do)-39 b(wnloaded)307 b(from)g(a)h(web)f(site)g(or)g
-(ftp)g(site.)h(Most)e(\002les)h(will)g(come)g(with)g(a)40780
-20077 y
-SDict begin H.S end
- 40780 20077 a 40780 20077 a
-SDict begin 18.2 H.A end
- 40780 20077 a 40780
-20077 a
-SDict begin [ /View [/XYZ H.V] /Dest (5385) cvn H.B /DEST pdfmark end
- 40780 20077 a FQ(.tar.gz)c FU(e)-23 b(xtension.)-30
-22092 y(This)544 b(is)g(commonly)g(kno)-39 b(wn)544 b(as)g(a)19815
-22092 y
-SDict begin H.S end
- 19815 22092 a 19815 22092 a
-SDict begin 18.2 H.A end
- 19815 22092 a 19815
-22092 a
-SDict begin [ /View [/XYZ H.V] /Dest (5386) cvn H.B /DEST pdfmark end
- 19815 22092 a FU(\223tarball\224.)h(It)f(means)g(that)g(se)-39
-b(v)-23 b(eral)545 b(\002les)e(were)i(archi)-39 b(v)-23
-b(ed)-30 24107 y(using)3685 24107 y
-SDict begin H.S end
- 3685 24107 a 3685
-24107 a
-SDict begin 18.2 H.A end
- 3685 24107 a 3685 24107 a
-SDict begin [ /View [/XYZ H.V] /Dest (5387) cvn H.B /DEST pdfmark end
- 3685 24107 a FP(tar)356
-b FU(and)g(then)g(compressed)g(using)23280 24107 y
-SDict begin H.S end
- 23280
-24107 a 23280 24107 a
-SDict begin 18.2 H.A end
- 23280 24107 a 23280 24107 a
-SDict begin [ /View [/XYZ H.V] /Dest (5388) cvn H.B /DEST pdfmark end
- 23280
-24107 a FP(gzip)p FU(.)g(Y)-170 b(ou)356 b(might)f(also)h(see)g(this)g
-(listed)g(as)g(a)48018 24107 y
-SDict begin H.S end
- 48018 24107 a 48018 24107
-a
-SDict begin 18.2 H.A end
- 48018 24107 a 48018 24107 a
-SDict begin [ /View [/XYZ H.V] /Dest (5389) cvn H.B /DEST pdfmark end
- 48018 24107 a FQ(.tar.Z)-30
-26121 y FU(\002le.)388 b(It)f(means)g(the)g(same)g(thing,)g(b)-31
-b(ut)387 b(this)g(is)g(usually)g(encountered)g(on)g(older)g(Unix)g
-(systems.)-30 27232 y
-SDict begin H.S end
- -30 27232 a -30 27232 a
-SDict begin 18.2 H.A end
- -30 27232
-a -30 27232 a
-SDict begin [ /View [/XYZ H.V] /Dest (5390) cvn H.B /DEST pdfmark end
- -30 27232 a 1679 x FU(Alternati)-39 b(v)-23
-b(ely)-101 b(,)373 b(you)g(might)g(\002nd)g(a)19282 28911
-y
-SDict begin H.S end
- 19282 28911 a 19282 28911 a
-SDict begin 18.2 H.A end
- 19282 28911 a 19282 28911
-a
-SDict begin [ /View [/XYZ H.V] /Dest (5391) cvn H.B /DEST pdfmark end
- 19282 28911 a FQ(.tar.bz2)368 b FU(\002le)373 b(some)-39
-b(where.)374 b(K)-39 b(ernel)374 b(source)f(is)g(distrib)-31
-b(uted)-30 30926 y(as)382 b(such)g(because)g(it)g(is)g(a)g(smaller)g
-(do)-39 b(wnload.)382 b(As)g(you)g(might)f(ha)-31 b(v)-23
-b(e)382 b(guessed,)h(this)e(is)h(se)-39 b(v)-23 b(eral)-30
-32940 y(\002les)387 b(archi)-39 b(v)-23 b(ed)387 b(with)11745
-32940 y
-SDict begin H.S end
- 11745 32940 a 11745 32940 a
-SDict begin 18.2 H.A end
- 11745 32940 a 11745
-32940 a
-SDict begin [ /View [/XYZ H.V] /Dest (5392) cvn H.B /DEST pdfmark end
- 11745 32940 a FP(tar)g FU(and)g(then)g(bzipped.)-30
-34051 y
-SDict begin H.S end
- -30 34051 a -30 34051 a
-SDict begin 18.2 H.A end
- -30 34051 a -30 34051
-a
-SDict begin [ /View [/XYZ H.V] /Dest (5393) cvn H.B /DEST pdfmark end
- -30 34051 a 1679 x FU(Y)-170 b(ou)392 b(can)h(get)f(to)h(all)f(the)h
-(\002les)f(in)h(this)f(archi)-39 b(v)-23 b(e)393 b(by)f(making)g(use)h
-(of)36744 35730 y
-SDict begin H.S end
- 36744 35730 a 36744 35730 a
-SDict begin 18.2 H.A end
- 36744 35730
-a 36744 35730 a
-SDict begin [ /View [/XYZ H.V] /Dest (5394) cvn H.B /DEST pdfmark end
- 36744 35730 a FP(tar)g FU(and)f(some)h(command)-30
-37745 y(line)j(ar)-28 b(guments.)396 b(Unarchi)-39 b(ving)396
-b(a)h(tarball)f(mak)-15 b(es)395 b(use)i(of)f(the)34229
-37745 y
-SDict begin H.S end
- 34229 37745 a 34229 37745 a
-SDict begin 18.2 H.A end
- 34229 37745 a 34229
-37745 a
-SDict begin [ /View [/XYZ H.V] /Dest (5395) cvn H.B /DEST pdfmark end
- 34229 37745 a FP(-z)h FU(\003ag,)f(which)g(means)g(to)g
-(\002rst)-30 39759 y(run)295 b(the)h(\002le)f(through)11913
-39759 y
-SDict begin H.S end
- 11913 39759 a 11913 39759 a
-SDict begin 18.2 H.A end
- 11913 39759 a 11913
-39759 a
-SDict begin [ /View [/XYZ H.V] /Dest (5396) cvn H.B /DEST pdfmark end
- 11913 39759 a FP(gunzip)g FU(and)h(decompress)e(it.)i(The)f
-(most)g(common)g(w)-15 b(ay)294 b(to)i(decompress)-30
-41774 y(a)388 b(tarball)f(is)g(lik)-15 b(e)386 b(so:)-30
-43339 y
-SDict begin H.S end
- -30 43339 a -30 43339 a
-SDict begin 14.56 H.A end
- -30 43339 a -30 43339
-a
-SDict begin [ /View [/XYZ H.V] /Dest (5397) cvn H.B /DEST pdfmark end
- -30 43339 a -30 43339 a
-SDict begin H.S end
- -30 43339 a -30 43339 a
-SDict begin 14.56 H.A end
- -30
-43339 a -30 43339 a
-SDict begin [ /View [/XYZ H.V] /Dest (5398) cvn H.B /DEST pdfmark end
- -30 43339 a 1596 x FJ(\045)1309 44935
-y
-SDict begin H.S end
- 1309 44935 a 1309 44935 a
-SDict begin 14.56 H.A end
- 1309 44935 a 1309 44935 a
-SDict begin [ /View [/XYZ H.V] /Dest (5399) cvn H.B /DEST pdfmark end
-
-1309 44935 a FH(tar)744 b(-xvzf)f(filename.tar.gz)-30
-46653 y
-SDict begin H.S end
- -30 46653 a -30 46653 a
-SDict begin 18.2 H.A end
- -30 46653 a -30 46653
-a
-SDict begin [ /View [/XYZ H.V] /Dest (5400) cvn H.B /DEST pdfmark end
- -30 46653 a 1847 x FU(That')-85 b(s)379 b(quite)g(a)g(fe)-39
-b(w)380 b(options.)f(So)f(what)i(do)f(the)-23 b(y)378
-b(all)i(mean?)f(The)36269 48500 y
-SDict begin H.S end
- 36269 48500 a 36269
-48500 a
-SDict begin 18.2 H.A end
- 36269 48500 a 36269 48500 a
-SDict begin [ /View [/XYZ H.V] /Dest (5401) cvn H.B /DEST pdfmark end
- 36269 48500 a FP(-x)g
-FU(means)g(to)g(e)-23 b(xtract.)379 b(This)-30 50514
-y(is)319 b(important,)g(as)g(it)g(tells)13751 50514 y
-SDict begin H.S end
-
-13751 50514 a 13751 50514 a
-SDict begin 18.2 H.A end
- 13751 50514 a 13751 50514
-a
-SDict begin [ /View [/XYZ H.V] /Dest (5402) cvn H.B /DEST pdfmark end
- 13751 50514 a FP(tar)g FU(e)-23 b(xactly)319 b(what)g(to)g(do)g(with)
-g(the)g(input)g(\002le.)g(In)h(this)e(case,)i(we')-15
-b(ll)319 b(be)-30 52529 y(splitting)413 b(it)g(back)h(up)g(into)f(all)h
-(the)f(\002les)h(that)f(it)h(came)g(from.)33651 52529
-y
-SDict begin H.S end
- 33651 52529 a 33651 52529 a
-SDict begin 18.2 H.A end
- 33651 52529 a 33651 52529
-a
-SDict begin [ /View [/XYZ H.V] /Dest (5403) cvn H.B /DEST pdfmark end
- 33651 52529 a FP(-v)g FU(means)f(to)h(be)g(v)-23 b(erbose.)413
-b(This)-30 54544 y(will)394 b(list)f(all)h(the)g(\002les)f(that)h(are)g
-(being)g(unarchi)-39 b(v)-23 b(ed.)394 b(It)g(is)g(perfectly)g
-(acceptable)g(to)g(lea)-31 b(v)-23 b(e)394 b(this)-30
-56558 y(option)415 b(of)-39 b(f,)416 b(if)f(some)-39
-b(what)414 b(boring.)i(Alternati)-39 b(v)-23 b(ely)-101
-b(,)414 b(you)h(could)g(use)37687 56558 y
-SDict begin H.S end
- 37687 56558
-a 37687 56558 a
-SDict begin 18.2 H.A end
- 37687 56558 a 37687 56558 a
-SDict begin [ /View [/XYZ H.V] /Dest (5404) cvn H.B /DEST pdfmark end
- 37687 56558
-a FP(-vv)g FU(to)g(be)g(v)-23 b(ery)415 b(v)-23 b(erbose)-30
-58573 y(and)380 b(list)g(e)-39 b(v)-23 b(en)381 b(more)f(information)f
-(about)h(each)h(\002le)f(being)g(unarchi)-39 b(v)-23
-b(ed.)380 b(The)42983 58573 y
-SDict begin H.S end
- 42983 58573 a 42983 58573
-a
-SDict begin 18.2 H.A end
- 42983 58573 a 42983 58573 a
-SDict begin [ /View [/XYZ H.V] /Dest (5405) cvn H.B /DEST pdfmark end
- 42983 58573 a FP(-z)g FU(option)f(tells)
--30 60588 y
-SDict begin H.S end
- -30 60588 a -30 60588 a
-SDict begin 18.2 H.A end
- -30 60588 a -30 60588
-a
-SDict begin [ /View [/XYZ H.V] /Dest (5406) cvn H.B /DEST pdfmark end
- -30 60588 a FP(tar)442 b FU(to)g(run)6800 60588 y
-SDict begin H.S end
- 6800
-60588 a 6800 60588 a
-SDict begin 18.2 H.A end
- 6800 60588 a 6800 60588 a
-SDict begin [ /View [/XYZ H.V] /Dest (5407) cvn H.B /DEST pdfmark end
- 6800 60588
-a FQ(filename.tar.gz)433 b FU(through)21901 60588 y
-SDict begin H.S end
- 21901
-60588 a 21901 60588 a
-SDict begin 18.2 H.A end
- 21901 60588 a 21901 60588 a
-SDict begin [ /View [/XYZ H.V] /Dest (5408) cvn H.B /DEST pdfmark end
- 21901
-60588 a FP(gunzip)442 b FU(\002rst.)g(And)g(\002nally)-101
-b(,)442 b(the)40185 60588 y
-SDict begin H.S end
- 40185 60588 a 40185 60588
-a
-SDict begin 18.2 H.A end
- 40185 60588 a 40185 60588 a
-SDict begin [ /View [/XYZ H.V] /Dest (5409) cvn H.B /DEST pdfmark end
- 40185 60588 a FP(-f)g FU(option)g(tells)
-49544 60588 y
-SDict begin H.S end
- 49544 60588 a 49544 60588 a
-SDict begin 18.2 H.A end
- 49544 60588
-a 49544 60588 a
-SDict begin [ /View [/XYZ H.V] /Dest (5410) cvn H.B /DEST pdfmark end
- 49544 60588 a FP(tar)-30 62602 y FU(that)387
-b(the)g(ne)-23 b(xt)387 b(string)g(on)g(the)g(command)g(line)g(is)g
-(the)g(\002le)g(to)g(operate)g(on.)-30 63713 y
-SDict begin H.S end
- -30 63713
-a -30 63713 a
-SDict begin 18.2 H.A end
- -30 63713 a -30 63713 a
-SDict begin [ /View [/XYZ H.V] /Dest (5411) cvn H.B /DEST pdfmark end
- -30 63713 a 1679
-x FU(There)437 b(are)f(a)h(fe)-39 b(w)437 b(other)f(w)-15
-b(ays)435 b(to)i(write)f(this)f(same)i(command.)f(On)g(older)g(systems)
-f(lacking)-30 67407 y(a)388 b(decent)f(cop)-15 b(y)386
-b(of)i(GNU)14285 67407 y
-SDict begin H.S end
- 14285 67407 a 14285 67407 a
-SDict begin 18.2 H.A end
-
-14285 67407 a 14285 67407 a
-SDict begin [ /View [/XYZ H.V] /Dest (5412) cvn H.B /DEST pdfmark end
- 14285 67407 a FP(tar)p FU(,)g(you)f(might)f
-(see)h(it)h(written)e(lik)-15 b(e)387 b(so:)p Black 49451
-73792 a FR(191)p Black eop end
-%%Page: 192 214
-TeXDict begin 192 213 bop -8000 -8000 a
-SDict begin /product where{pop product(Distiller)search{pop pop pop
-version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
-closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
-grestore}if}{pop}ifelse}{pop}ifelse}if end
- -8000 -8000 a
-Black 0 TeXcolorgray -30 -1237 a
-SDict begin H.S end
- -30 -1237 a 0 TeXcolorgray
-0 TeXcolorgray -30 -1237 a
-SDict begin H.R end
- -30 -1237 a -30 -1237 a
-SDict begin [ /View [/XYZ H.V] /Dest (page.192) cvn H.B /DEST pdfmark
-end
- -30
--1237 a Black -30 -2687 a
-SDict begin H.S end
- -30 -2687 a -30 -2687 a
-SDict begin 18.2 H.A end
- -30
--2687 a -30 -2687 a
-SDict begin [ /View [/XYZ H.V] /Dest (5458) cvn H.B /DEST pdfmark end
- -30 -2687 a 1051 x FR(Chapter)387
-b(15)g(Ar)-57 b(c)-23 b(hive)386 b(F)-70 b(iles)p Black
--30 2504 a
-SDict begin H.S end
- -30 2504 a -30 2504 a
-SDict begin 14.56 H.A end
- -30 2504 a -30 2504
-a
-SDict begin [ /View [/XYZ H.V] /Dest (5413) cvn H.B /DEST pdfmark end
- -30 2504 a -30 2504 a
-SDict begin H.S end
- -30 2504 a -30 2504 a
-SDict begin 14.56 H.A end
- -30 2504
-a -30 2504 a
-SDict begin [ /View [/XYZ H.V] /Dest (5414) cvn H.B /DEST pdfmark end
- -30 2504 a 1107 x FJ(\045)1309 3611 y
-SDict begin H.S end
- 1309
-3611 a 1309 3611 a
-SDict begin 14.56 H.A end
- 1309 3611 a 1309 3611 a
-SDict begin [ /View [/XYZ H.V] /Dest (5415) cvn H.B /DEST pdfmark end
- 1309 3611
-a FH(gunzip)743 b(filename.tar.gz)f(|)i(tar)g(-xvf)f(-)-30
-7176 y FU(This)410 b(command)g(line)g(will)g(uncompress)f(the)i(\002le)
-f(and)g(send)g(the)h(output)e(to)i FP(tar)p FU(.)f(Since)48800
-7176 y
-SDict begin H.S end
- 48800 7176 a 48800 7176 a
-SDict begin 18.2 H.A end
- 48800 7176 a 48800 7176
-a
-SDict begin [ /View [/XYZ H.V] /Dest (5418) cvn H.B /DEST pdfmark end
- 48800 7176 a FP(gzip)-30 9190 y FU(will)539 b(write)g(its)f(output)h
-(to)f(standard)h(out)g(if)g(told)g(to)f(do)h(so,)h(this)e(command)h
-(will)f(write)h(the)-30 11205 y(decompressed)551 b(\002le)g(to)h
-(standard)f(out.)h(The)g(pipe)f(then)h(sends)f(it)g(to)38882
-11205 y
-SDict begin H.S end
- 38882 11205 a 38882 11205 a
-SDict begin 18.2 H.A end
- 38882 11205 a 38882
-11205 a
-SDict begin [ /View [/XYZ H.V] /Dest (5419) cvn H.B /DEST pdfmark end
- 38882 11205 a FP(tar)g FU(for)h(unarchi)-39 b(ving.)-30
-13220 y(The)2765 13220 y
-SDict begin H.S end
- 2765 13220 a 2765 13220 a
-SDict begin 18.2 H.A end
- 2765
-13220 a 2765 13220 a
-SDict begin [ /View [/XYZ H.V] /Dest (5420) cvn H.B /DEST pdfmark end
- 2765 13220 a FU(\223-\224)385 b(means)g(to)f
-(operate)h(on)g(standard)f(input.)h(It)g(will)f(unarchi)-39
-b(v)-23 b(e)384 b(the)h(stream)g(of)f(data)h(that)-30
-15234 y(it)i(gets)g(from)7503 15234 y
-SDict begin H.S end
- 7503 15234 a 7503
-15234 a
-SDict begin 18.2 H.A end
- 7503 15234 a 7503 15234 a
-SDict begin [ /View [/XYZ H.V] /Dest (5421) cvn H.B /DEST pdfmark end
- 7503 15234 a FP(gzip)g
-FU(and)h(write)f(that)g(to)g(the)g(disk.)-30 16345 y
-SDict begin H.S end
-
--30 16345 a -30 16345 a
-SDict begin 18.2 H.A end
- -30 16345 a -30 16345 a
-SDict begin [ /View [/XYZ H.V] /Dest (5422) cvn H.B /DEST pdfmark end
- -30 16345
-a 1679 x FU(Another)614 b(w)-15 b(ay)614 b(to)g(write)h(the)f(\002rst)g
-(command)g(line)g(is)g(to)h(lea)-31 b(v)-23 b(e)614 b(of)-39
-b(f)615 b(the)f(dash)g(before)h(the)-30 20038 y(options,)387
-b(lik)-15 b(e)386 b(so:)-30 21924 y
-SDict begin H.S end
- -30 21924 a -30 21924
-a
-SDict begin 14.56 H.A end
- -30 21924 a -30 21924 a
-SDict begin [ /View [/XYZ H.V] /Dest (5423) cvn H.B /DEST pdfmark end
- -30 21924 a -30 21924 a
-SDict begin H.S end
- -30
-21924 a -30 21924 a
-SDict begin 14.56 H.A end
- -30 21924 a -30 21924 a
-SDict begin [ /View [/XYZ H.V] /Dest (5424) cvn H.B /DEST pdfmark end
- -30 21924
-a 1276 x FJ(\045)1309 23200 y
-SDict begin H.S end
- 1309 23200 a 1309 23200
-a
-SDict begin 14.56 H.A end
- 1309 23200 a 1309 23200 a
-SDict begin [ /View [/XYZ H.V] /Dest (5425) cvn H.B /DEST pdfmark end
- 1309 23200 a FH(tar)744 b(xvzf)f
-(filename.tar.gz)-30 24918 y
-SDict begin H.S end
- -30 24918 a -30 24918 a
-SDict begin 18.2 H.A end
-
--30 24918 a -30 24918 a
-SDict begin [ /View [/XYZ H.V] /Dest (5426) cvn H.B /DEST pdfmark end
- -30 24918 a 1846 x FU(Y)-170
-b(ou)545 b(might)f(also)h(encounter)g(a)h(bzipped)f(archi)-39
-b(v)-23 b(e.)546 b(The)f(v)-23 b(ersion)545 b(of)38868
-26764 y
-SDict begin H.S end
- 38868 26764 a 38868 26764 a
-SDict begin 18.2 H.A end
- 38868 26764 a 38868
-26764 a
-SDict begin [ /View [/XYZ H.V] /Dest (5427) cvn H.B /DEST pdfmark end
- 38868 26764 a FP(tar)g FU(that)g(comes)g(with)-30
-28779 y(Slackw)-15 b(are)483 b(Linux)f(can)i(handle)f(these)g(the)g
-(same)g(as)g(gzipped)g(archi)-39 b(v)-23 b(es.)484 b(Instead)f(of)g
-(the)50288 28779 y
-SDict begin H.S end
- 50288 28779 a 50288 28779 a
-SDict begin 18.2 H.A end
- 50288
-28779 a 50288 28779 a
-SDict begin [ /View [/XYZ H.V] /Dest (5428) cvn H.B /DEST pdfmark end
- 50288 28779 a FP(-z)-30 30794 y
-FU(command)387 b(line)g(option,)g(you')-77 b(d)386 b(use)20296
-30794 y
-SDict begin H.S end
- 20296 30794 a 20296 30794 a
-SDict begin 18.2 H.A end
- 20296 30794 a 20296
-30794 a
-SDict begin [ /View [/XYZ H.V] /Dest (5429) cvn H.B /DEST pdfmark end
- 20296 30794 a FP(-j)p FU(:)-30 32679 y
-SDict begin H.S end
- -30 32679
-a -30 32679 a
-SDict begin 14.56 H.A end
- -30 32679 a -30 32679 a
-SDict begin [ /View [/XYZ H.V] /Dest (5430) cvn H.B /DEST pdfmark end
- -30 32679 a -30
-32679 a
-SDict begin H.S end
- -30 32679 a -30 32679 a
-SDict begin 14.56 H.A end
- -30 32679 a -30 32679
-a
-SDict begin [ /View [/XYZ H.V] /Dest (5431) cvn H.B /DEST pdfmark end
- -30 32679 a 1276 x FJ(\045)1309 33955 y
-SDict begin H.S end
- 1309 33955
-a 1309 33955 a
-SDict begin 14.56 H.A end
- 1309 33955 a 1309 33955 a
-SDict begin [ /View [/XYZ H.V] /Dest (5432) cvn H.B /DEST pdfmark end
- 1309 33955 a
-FH(tar)744 b(-xvjf)f(filename.tar.bz2)-30 35673 y
-SDict begin H.S end
- -30
-35673 a -30 35673 a
-SDict begin 18.2 H.A end
- -30 35673 a -30 35673 a
-SDict begin [ /View [/XYZ H.V] /Dest (5433) cvn H.B /DEST pdfmark end
- -30 35673
-a 1847 x FU(It)334 b(is)g(important)g(to)g(note)g(that)16183
-37520 y
-SDict begin H.S end
- 16183 37520 a 16183 37520 a
-SDict begin 18.2 H.A end
- 16183 37520 a 16183
-37520 a
-SDict begin [ /View [/XYZ H.V] /Dest (5434) cvn H.B /DEST pdfmark end
- 16183 37520 a FP(tar)g FU(will)g(place)g(the)g(unarchi)-39
-b(v)-23 b(ed)334 b(\002les)g(in)g(the)g(current)h(directory)-101
-b(.)-30 39534 y(So,)552 b(if)f(you)g(had)g(an)h(archi)-39
-b(v)-23 b(e)551 b(in)18531 39534 y
-SDict begin H.S end
- 18531 39534 a 18531
-39534 a
-SDict begin 18.2 H.A end
- 18531 39534 a 18531 39534 a
-SDict begin [ /View [/XYZ H.V] /Dest (5435) cvn H.B /DEST pdfmark end
- 18531 39534 a FQ(/tmp)e
-FU(that)j(you)f(w)-15 b(anted)550 b(to)h(decompress)g(into)g(your)g
-(home)-30 41549 y(directory)-101 b(,)401 b(there)g(are)h(a)f(fe)-39
-b(w)401 b(options.)f(First,)h(the)g(archi)-39 b(v)-23
-b(e)401 b(could)f(be)h(mo)-23 b(v)g(ed)400 b(into)h(your)f(home)-30
-43564 y(directory)317 b(and)g(then)g(run)h(through)18945
-43564 y
-SDict begin H.S end
- 18945 43564 a 18945 43564 a
-SDict begin 18.2 H.A end
- 18945 43564 a 18945
-43564 a
-SDict begin [ /View [/XYZ H.V] /Dest (5436) cvn H.B /DEST pdfmark end
- 18945 43564 a FP(tar)p FU(.)g(Second,)f(you)g(could)g(specify)g
-(the)h(path)f(to)g(the)g(archi)-39 b(v)-23 b(e)-30 45578
-y(\002le)435 b(on)f(the)h(command)f(line.)h(Third,)g(you)g(can)f(use)h
-(the)30834 45578 y
-SDict begin H.S end
- 30834 45578 a 30834 45578 a
-SDict begin 18.2 H.A end
- 30834
-45578 a 30834 45578 a
-SDict begin [ /View [/XYZ H.V] /Dest (5437) cvn H.B /DEST pdfmark end
- 30834 45578 a FP(-C)g FU(option)f(to)38793
-45578 y
-SDict begin H.S end
- 38793 45578 a 38793 45578 a
-SDict begin 18.2 H.A end
- 38793 45578 a 38793
-45578 a
-SDict begin [ /View [/XYZ H.V] /Dest (5438) cvn H.B /DEST pdfmark end
- 38793 45578 a FU(\223e)-23 b(xplode\224)435 b(the)f(tarball)-30
-47593 y(in)387 b(a)h(speci\002ed)e(directory)-101 b(.)-30
-49478 y
-SDict begin H.S end
- -30 49478 a -30 49478 a
-SDict begin 14.56 H.A end
- -30 49478 a -30 49478
-a
-SDict begin [ /View [/XYZ H.V] /Dest (5439) cvn H.B /DEST pdfmark end
- -30 49478 a -30 49478 a
-SDict begin H.S end
- -30 49478 a -30 49478 a
-SDict begin 14.56 H.A end
- -30
-49478 a -30 49478 a
-SDict begin [ /View [/XYZ H.V] /Dest (5440) cvn H.B /DEST pdfmark end
- -30 49478 a 1276 x FJ(\045)1309 50754
-y
-SDict begin H.S end
- 1309 50754 a 1309 50754 a
-SDict begin 14.56 H.A end
- 1309 50754 a 1309 50754 a
-SDict begin [ /View [/XYZ H.V] /Dest (5441) cvn H.B /DEST pdfmark end
-
-1309 50754 a FH(cd)744 b($HOME)-30 50922 y
-SDict begin H.S end
- -30 50922
-a -30 50922 a
-SDict begin 14.56 H.A end
- -30 50922 a -30 50922 a
-SDict begin [ /View [/XYZ H.V] /Dest (5442) cvn H.B /DEST pdfmark end
- -30 50922 a 1444
-x FJ(\045)1309 52366 y
-SDict begin H.S end
- 1309 52366 a 1309 52366 a
-SDict begin 14.56 H.A end
- 1309
-52366 a 1309 52366 a
-SDict begin [ /View [/XYZ H.V] /Dest (5443) cvn H.B /DEST pdfmark end
- 1309 52366 a FH(cp)g(/tmp/filename.tar.gz)d(.)-30
-52534 y
-SDict begin H.S end
- -30 52534 a -30 52534 a
-SDict begin 14.56 H.A end
- -30 52534 a -30 52534
-a
-SDict begin [ /View [/XYZ H.V] /Dest (5444) cvn H.B /DEST pdfmark end
- -30 52534 a 1444 x FJ(\045)1309 53978 y
-SDict begin H.S end
- 1309 53978
-a 1309 53978 a
-SDict begin 14.56 H.A end
- 1309 53978 a 1309 53978 a
-SDict begin [ /View [/XYZ H.V] /Dest (5445) cvn H.B /DEST pdfmark end
- 1309 53978 a
-FH(tar)j(-xvzf)f(filename.tar.gz)-30 55590 y
-SDict begin H.S end
- -30 55590
-a -30 55590 a
-SDict begin 14.56 H.A end
- -30 55590 a -30 55590 a
-SDict begin [ /View [/XYZ H.V] /Dest (5446) cvn H.B /DEST pdfmark end
- -30 55590 a 1611
-x FJ(\045)1309 57201 y
-SDict begin H.S end
- 1309 57201 a 1309 57201 a
-SDict begin 14.56 H.A end
- 1309
-57201 a 1309 57201 a
-SDict begin [ /View [/XYZ H.V] /Dest (5447) cvn H.B /DEST pdfmark end
- 1309 57201 a FH(cd)h($HOME)-30 57369
-y
-SDict begin H.S end
- -30 57369 a -30 57369 a
-SDict begin 14.56 H.A end
- -30 57369 a -30 57369 a
-SDict begin [ /View [/XYZ H.V] /Dest (5448) cvn H.B /DEST pdfmark end
- -30
-57369 a 1444 x FJ(\045)1309 58813 y
-SDict begin H.S end
- 1309 58813 a 1309
-58813 a
-SDict begin 14.56 H.A end
- 1309 58813 a 1309 58813 a
-SDict begin [ /View [/XYZ H.V] /Dest (5449) cvn H.B /DEST pdfmark end
- 1309 58813 a FH(tar)g(-xvzf)f
-(/tmp/filename.tar.gz)-30 60425 y
-SDict begin H.S end
- -30 60425 a -30 60425
-a
-SDict begin 14.56 H.A end
- -30 60425 a -30 60425 a
-SDict begin [ /View [/XYZ H.V] /Dest (5450) cvn H.B /DEST pdfmark end
- -30 60425 a 1611 x FJ(\045)1309
-62036 y
-SDict begin H.S end
- 1309 62036 a 1309 62036 a
-SDict begin 14.56 H.A end
- 1309 62036 a 1309 62036
-a
-SDict begin [ /View [/XYZ H.V] /Dest (5451) cvn H.B /DEST pdfmark end
- 1309 62036 a FH(cd)h(/)-30 62127 y
-SDict begin H.S end
- -30 62127 a -30
-62127 a
-SDict begin 14.56 H.A end
- -30 62127 a -30 62127 a
-SDict begin [ /View [/XYZ H.V] /Dest (5452) cvn H.B /DEST pdfmark end
- -30 62127 a 1521 x FJ(\045)1309
-63648 y
-SDict begin H.S end
- 1309 63648 a 1309 63648 a
-SDict begin 14.56 H.A end
- 1309 63648 a 1309 63648
-a
-SDict begin [ /View [/XYZ H.V] /Dest (5453) cvn H.B /DEST pdfmark end
- 1309 63648 a FH(tar)g(-xvzf)f(/tmp/filename.tar.gz)e(-C)j($HOME)-30
-63816 y
-SDict begin H.S end
- -30 63816 a -30 63816 a
-SDict begin 18.2 H.A end
- -30 63816 a -30 63816
-a
-SDict begin [ /View [/XYZ H.V] /Dest (5454) cvn H.B /DEST pdfmark end
- -30 63816 a Black 9976 x FR(192)p Black eop end
-%%Page: 193 215
-TeXDict begin 193 214 bop -8000 -8000 a
-SDict begin /product where{pop product(Distiller)search{pop pop pop
-version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
-closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
-grestore}if}{pop}ifelse}{pop}ifelse}if end
- -8000 -8000 a
-Black 0 TeXcolorgray -30 -1237 a
-SDict begin H.S end
- -30 -1237 a 0 TeXcolorgray
-0 TeXcolorgray -30 -1237 a
-SDict begin H.R end
- -30 -1237 a -30 -1237 a
-SDict begin [ /View [/XYZ H.V] /Dest (page.193) cvn H.B /DEST pdfmark
-end
- -30
--1237 a Black -30 -2687 a
-SDict begin H.S end
- -30 -2687 a -30 -2687 a
-SDict begin 18.2 H.A end
- -30
--2687 a -30 -2687 a
-SDict begin [ /View [/XYZ H.V] /Dest (5501) cvn H.B /DEST pdfmark end
- -30 -2687 a 36215 -1636 a FR(Chapter)386
-b(15)i(Ar)-57 b(c)-23 b(hive)386 b(F)-70 b(iles)p Black
--30 2504 a
-SDict begin H.S end
- -30 2504 a -30 2504 a
-SDict begin 18.2 H.A end
- -30 2504 a -30 2504
-a
-SDict begin [ /View [/XYZ H.V] /Dest (5457) cvn H.B /DEST pdfmark end
- -30 2504 a 1107 x FU(All)372 b(the)g(abo)-23 b(v)g(e)372
-b(statements)f(are)h(equi)-39 b(v)g(alent.)373 b(In)f(each)g(case,)h
-(the)f(archi)-39 b(v)-23 b(e)372 b(is)g(unpack)-15 b(ed)372
-b(inside)-30 5626 y(your)387 b(home)g(directory)g(and)g(the)h(original)
-e(uncompressed)h(archi)-39 b(v)-23 b(e)387 b(is)g(left)g(in)g(place.)
--30 8415 y(So)473 b(what)h(good)f(is)g(being)h(able)f(to)h(uncompress)f
-(these)g(archi)-39 b(v)-23 b(es)474 b(if)f(you)h(can')-28
-b(t)473 b(mak)-15 b(e)473 b(them?)-30 10430 y(W)-124
-b(ell,)496 b FP(tar)e FU(handles)h(that)g(too.)g(In)h(most)e(cases)h
-(it')-85 b(s)495 b(as)g(easy)g(as)g(remo)-23 b(ving)494
-b(the)44456 10430 y
-SDict begin H.S end
- 44456 10430 a 44456 10430 a
-SDict begin 18.2 H.A end
- 44456
-10430 a 44456 10430 a
-SDict begin [ /View [/XYZ H.V] /Dest (5460) cvn H.B /DEST pdfmark end
- 44456 10430 a FU(\223)45144 10430
-y
-SDict begin H.S end
- 45144 10430 a 45144 10430 a
-SDict begin 18.2 H.A end
- 45144 10430 a 45144 10430
-a
-SDict begin [ /View [/XYZ H.V] /Dest (5461) cvn H.B /DEST pdfmark end
- 45144 10430 a FP(-x)p FU(\224)h(option)-30 12445 y(and)387
-b(replacing)g(it)g(with)g(the)15422 12445 y
-SDict begin H.S end
- 15422 12445
-a 15422 12445 a
-SDict begin 18.2 H.A end
- 15422 12445 a 15422 12445 a
-SDict begin [ /View [/XYZ H.V] /Dest (5462) cvn H.B /DEST pdfmark end
- 15422 12445
-a FU(\223)16110 12445 y
-SDict begin H.S end
- 16110 12445 a 16110 12445 a
-SDict begin 18.2 H.A end
- 16110
-12445 a 16110 12445 a
-SDict begin [ /View [/XYZ H.V] /Dest (5463) cvn H.B /DEST pdfmark end
- 16110 12445 a FP(-c)p FU(\224)h(option.)-30
-14330 y
-SDict begin H.S end
- -30 14330 a -30 14330 a
-SDict begin 14.56 H.A end
- -30 14330 a -30 14330
-a
-SDict begin [ /View [/XYZ H.V] /Dest (5464) cvn H.B /DEST pdfmark end
- -30 14330 a -30 14330 a
-SDict begin H.S end
- -30 14330 a -30 14330 a
-SDict begin 14.56 H.A end
- -30
-14330 a -30 14330 a
-SDict begin [ /View [/XYZ H.V] /Dest (5465) cvn H.B /DEST pdfmark end
- -30 14330 a 1276 x FJ(\045)1309 15606
-y
-SDict begin H.S end
- 1309 15606 a 1309 15606 a
-SDict begin 14.56 H.A end
- 1309 15606 a 1309 15606 a
-SDict begin [ /View [/XYZ H.V] /Dest (5466) cvn H.B /DEST pdfmark end
-
-1309 15606 a FH(tar)744 b(-cvzf)f(filename.tar.gz)f(.)-30
-17324 y
-SDict begin H.S end
- -30 17324 a -30 17324 a
-SDict begin 18.2 H.A end
- -30 17324 a -30 17324
-a
-SDict begin [ /View [/XYZ H.V] /Dest (5467) cvn H.B /DEST pdfmark end
- -30 17324 a 1847 x FU(In)328 b(this)g(command)g(line,)g(the)15860
-19171 y
-SDict begin H.S end
- 15860 19171 a 15860 19171 a
-SDict begin 18.2 H.A end
- 15860 19171 a 15860
-19171 a
-SDict begin [ /View [/XYZ H.V] /Dest (5468) cvn H.B /DEST pdfmark end
- 15860 19171 a FP(-c)g FU(option)g(tells)24877
-19171 y
-SDict begin H.S end
- 24877 19171 a 24877 19171 a
-SDict begin 18.2 H.A end
- 24877 19171 a 24877
-19171 a
-SDict begin [ /View [/XYZ H.V] /Dest (5469) cvn H.B /DEST pdfmark end
- 24877 19171 a FP(tar)g FU(to)g(create)h(an)f(archi)-39
-b(v)-23 b(e,)329 b(while)f(the)45999 19171 y
-SDict begin H.S end
- 45999 19171
-a 45999 19171 a
-SDict begin 18.2 H.A end
- 45999 19171 a 45999 19171 a
-SDict begin [ /View [/XYZ H.V] /Dest (5470) cvn H.B /DEST pdfmark end
- 45999 19171
-a FP(-z)g FU(option)-30 21185 y(runs)379 b(the)g(resulting)g(archi)-39
-b(v)-23 b(e)379 b(\002le)g(through)23533 21185 y
-SDict begin H.S end
- 23533
-21185 a 23533 21185 a
-SDict begin 18.2 H.A end
- 23533 21185 a 23533 21185 a
-SDict begin [ /View [/XYZ H.V] /Dest (5471) cvn H.B /DEST pdfmark end
- 23533
-21185 a FP(gzip)g FU(to)g(compress)g(it.)36334 21185
-y
-SDict begin H.S end
- 36334 21185 a 36334 21185 a
-SDict begin 18.2 H.A end
- 36334 21185 a 36334 21185
-a
-SDict begin [ /View [/XYZ H.V] /Dest (5472) cvn H.B /DEST pdfmark end
- 36334 21185 a FQ(filename.tar.gz)370 b FU(is)379 b(the)g(\002le)-30
-23200 y(that)387 b(you)g(w)-15 b(ant)387 b(to)g(create.)-30
-24310 y
-SDict begin H.S end
- -30 24310 a -30 24310 a
-SDict begin 18.2 H.A end
- -30 24310 a -30 24310
-a
-SDict begin [ /View [/XYZ H.V] /Dest (5473) cvn H.B /DEST pdfmark end
- -30 24310 a 1679 x FU(Specifying)604 b(the)9788 25989
-y
-SDict begin H.S end
- 9788 25989 a 9788 25989 a
-SDict begin 18.2 H.A end
- 9788 25989 a 9788 25989 a
-SDict begin [ /View [/XYZ H.V] /Dest (5474) cvn H.B /DEST pdfmark end
-
-9788 25989 a FU(\223)10476 25989 y
-SDict begin H.S end
- 10476 25989 a 10476
-25989 a
-SDict begin 18.2 H.A end
- 10476 25989 a 10476 25989 a
-SDict begin [ /View [/XYZ H.V] /Dest (5475) cvn H.B /DEST pdfmark end
- 10476 25989 a FP(-f)p
-FU(\224)g(option)g(isn')-28 b(t)604 b(al)-15 b(w)g(ays)603
-b(necessary)-101 b(,)605 b(b)-31 b(ut)604 b(is)g(typically)g(good)g
-(practice)-30 28004 y(an)-23 b(yw)-15 b(ay)-101 b(.)316
-b(W)-62 b(ithout)314 b(it,)12252 28004 y
-SDict begin H.S end
- 12252 28004
-a 12252 28004 a
-SDict begin 18.2 H.A end
- 12252 28004 a 12252 28004 a
-SDict begin [ /View [/XYZ H.V] /Dest (5476) cvn H.B /DEST pdfmark end
- 12252 28004
-a FP(tar)i FU(writes)f(to)g(standard)h(output,)f(which)g(is)h(usually)f
-(desired)g(for)h(piping)-30 30019 y
-SDict begin H.S end
- -30 30019 a -30 30019
-a
-SDict begin 18.2 H.A end
- -30 30019 a -30 30019 a
-SDict begin [ /View [/XYZ H.V] /Dest (5477) cvn H.B /DEST pdfmark end
- -30 30019 a FP(tar)p FU(')-85
-b(s)387 b(output)f(to)i(another)f(program,)g(lik)-15
-b(e)386 b(so.)-30 31904 y
-SDict begin H.S end
- -30 31904 a -30 31904 a
-SDict begin 14.56 H.A end
- -30
-31904 a -30 31904 a
-SDict begin [ /View [/XYZ H.V] /Dest (5478) cvn H.B /DEST pdfmark end
- -30 31904 a -30 31904 a
-SDict begin H.S end
- -30 31904
-a -30 31904 a
-SDict begin 14.56 H.A end
- -30 31904 a -30 31904 a
-SDict begin [ /View [/XYZ H.V] /Dest (5479) cvn H.B /DEST pdfmark end
- -30 31904 a 1276
-x FJ(\045)1309 33180 y
-SDict begin H.S end
- 1309 33180 a 1309 33180 a
-SDict begin 14.56 H.A end
- 1309
-33180 a 1309 33180 a
-SDict begin [ /View [/XYZ H.V] /Dest (5480) cvn H.B /DEST pdfmark end
- 1309 33180 a FH(tar)744 b(-cv)f(filename.tar)g(.)g
-(|)h(gpg)g(--encrypt)-30 35040 y
-SDict begin H.S end
- -30 35040 a -30 35040
-a
-SDict begin 18.2 H.A end
- -30 35040 a -30 35040 a
-SDict begin [ /View [/XYZ H.V] /Dest (5481) cvn H.B /DEST pdfmark end
- -30 35040 a 1705 x FU(That)370
-b(command)f(creates)h(an)g(non-compressed)f(tar)h(archi)-39
-b(v)-23 b(e)370 b(of)g(the)g(current)g(directory)-101
-b(,)370 b(pipes)-30 38759 y(the)404 b(tarball)h(through)11858
-38759 y
-SDict begin H.S end
- 11858 38759 a 11858 38759 a
-SDict begin 18.2 H.A end
- 11858 38759 a 11858
-38759 a
-SDict begin [ /View [/XYZ H.V] /Dest (5482) cvn H.B /DEST pdfmark end
- 11858 38759 a FP(gpg)g FU(which)f(encrypts)g(and)g(compresses)g
-(the)h(tarball,)f(making)g(it)g(realis-)-30 40774 y(tically)387
-b(impossible)f(to)h(read)g(by)h(an)-23 b(yone)386 b(other)i(than)f(the)
-g(person)g(kno)-39 b(wing)387 b(the)g(secret)g(k)-15
-b(e)-23 b(y)-101 b(.)-30 41884 y
-SDict begin H.S end
- -30 41884 a -30 41884
-a
-SDict begin 18.2 H.A end
- -30 41884 a -30 41884 a
-SDict begin [ /View [/XYZ H.V] /Dest (ARCHIVE-FILES-ZIP) cvn H.B /DEST
-pdfmark end
- -30 41884 a 5789 x FL(15.4)620
-b Fq(zip)-30 48135 y
-SDict begin H.S end
- -30 48135 a -30 48135 a
-SDict begin 18.2 H.A end
- -30 48135
-a -30 48135 a
-SDict begin [ /View [/XYZ H.V] /Dest (5486) cvn H.B /DEST pdfmark end
- -30 48135 a -30 49251 a
-SDict begin H.S end
- -30 49251 a -30
-49251 a
-SDict begin 18.2 H.A end
- -30 49251 a -30 49251 a
-SDict begin [ /View [/XYZ H.V] /Dest (5488) cvn H.B /DEST pdfmark end
- -30 49251 a 1553 x FU(Finally)-101
-b(,)415 b(there)h(are)g(tw)-15 b(o)415 b(utilities)f(that)i(can)f(be)h
-(used)f(on)h(zip)f(\002les.)h(These)f(are)h(v)-23 b(ery)416
-b(common)-30 52819 y(in)431 b(the)g(W)-62 b(indo)-39
-b(ws)431 b(w)-15 b(orld,)431 b(so)g(Linux)f(has)h(programs)g(to)g(deal)
-g(with)g(them.)g(The)g(compression)-30 54833 y(program)387
-b(is)g(called)11117 54833 y
-SDict begin H.S end
- 11117 54833 a 11117 54833
-a
-SDict begin 18.2 H.A end
- 11117 54833 a 11117 54833 a
-SDict begin [ /View [/XYZ H.V] /Dest (5489) cvn H.B /DEST pdfmark end
- 11117 54833 a FP(zip)p
-FU(\(1\),)h(and)f(the)g(decompression)f(program)h(is)h(called)41669
-54833 y
-SDict begin H.S end
- 41669 54833 a 41669 54833 a
-SDict begin 18.2 H.A end
- 41669 54833 a 41669
-54833 a
-SDict begin [ /View [/XYZ H.V] /Dest (5490) cvn H.B /DEST pdfmark end
- 41669 54833 a FP(unzip)p FU(\(1\).)-30 56718
-y
-SDict begin H.S end
- -30 56718 a -30 56718 a
-SDict begin 14.56 H.A end
- -30 56718 a -30 56718 a
-SDict begin [ /View [/XYZ H.V] /Dest (5491) cvn H.B /DEST pdfmark end
- -30
-56718 a -30 56718 a
-SDict begin H.S end
- -30 56718 a -30 56718 a
-SDict begin 14.56 H.A end
- -30 56718
-a -30 56718 a
-SDict begin [ /View [/XYZ H.V] /Dest (5492) cvn H.B /DEST pdfmark end
- -30 56718 a 1277 x FJ(\045)1309 57995 y
-SDict begin H.S end
-
-1309 57995 a 1309 57995 a
-SDict begin 14.56 H.A end
- 1309 57995 a 1309 57995 a
-SDict begin [ /View [/XYZ H.V] /Dest (5493) cvn H.B /DEST pdfmark end
- 1309
-57995 a FH(zip)744 b(foo)f(*)-30 59712 y
-SDict begin H.S end
- -30 59712 a
--30 59712 a
-SDict begin 18.2 H.A end
- -30 59712 a -30 59712 a
-SDict begin [ /View [/XYZ H.V] /Dest (5494) cvn H.B /DEST pdfmark end
- -30 59712 a 1847
-x FU(This)426 b(will)h(create)g(the)f(\002le)14845 61559
-y
-SDict begin H.S end
- 14845 61559 a 14845 61559 a
-SDict begin 18.2 H.A end
- 14845 61559 a 14845 61559
-a
-SDict begin [ /View [/XYZ H.V] /Dest (5495) cvn H.B /DEST pdfmark end
- 14845 61559 a FQ(foo.zip)p FU(,)d(which)j(will)g(contain)g(all)h(the)
-g(\002les)f(in)h(the)f(current)h(direc-)-30 63574 y(tory)-101
-b(.)3112 63574 y
-SDict begin H.S end
- 3112 63574 a 3112 63574 a
-SDict begin 18.2 H.A end
- 3112 63574
-a 3112 63574 a
-SDict begin [ /View [/XYZ H.V] /Dest (5496) cvn H.B /DEST pdfmark end
- 3112 63574 a FP(zip)359 b FU(will)f(add)h(the)13322
-63574 y
-SDict begin H.S end
- 13322 63574 a 13322 63574 a
-SDict begin 18.2 H.A end
- 13322 63574 a 13322
-63574 a
-SDict begin [ /View [/XYZ H.V] /Dest (5497) cvn H.B /DEST pdfmark end
- 13322 63574 a FQ(.zip)e FU(e)-23 b(xtension)358
-b(automatically)-101 b(,)358 b(so)g(there')-85 b(s)359
-b(no)g(need)f(to)h(include)f(that)-30 65588 y(in)426
-b(the)f(\002le)h(name.)g(Y)-170 b(ou)425 b(can)h(also)g(recurse)g
-(through)f(the)h(current)f(directory)-101 b(,)426 b(zipping)g(up)f(an)
--23 b(y)-30 67603 y(directories)387 b(that)g(are)h(also)f(laying)f
-(around:)p Black 49451 73792 a FR(193)p Black eop end
-%%Page: 194 216
-TeXDict begin 194 215 bop -8000 -8000 a
-SDict begin /product where{pop product(Distiller)search{pop pop pop
-version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
-closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
-grestore}if}{pop}ifelse}{pop}ifelse}if end
- -8000 -8000 a
-Black 0 TeXcolorgray -30 -1237 a
-SDict begin H.S end
- -30 -1237 a 0 TeXcolorgray
-0 TeXcolorgray -30 -1237 a
-SDict begin H.R end
- -30 -1237 a -30 -1237 a
-SDict begin [ /View [/XYZ H.V] /Dest (page.194) cvn H.B /DEST pdfmark
-end
- -30
--1237 a Black -399 x FR(Chapter)387 b(15)g(Ar)-57 b(c)-23
-b(hive)386 b(F)-70 b(iles)p Black -30 2504 a
-SDict begin H.S end
- -30 2504
-a -30 2504 a
-SDict begin 14.56 H.A end
- -30 2504 a -30 2504 a
-SDict begin [ /View [/XYZ H.V] /Dest (5498) cvn H.B /DEST pdfmark end
- -30 2504 a -30 2504
-a
-SDict begin H.S end
- -30 2504 a -30 2504 a
-SDict begin 14.56 H.A end
- -30 2504 a -30 2504 a
-SDict begin [ /View [/XYZ H.V] /Dest (5499) cvn H.B /DEST pdfmark end
- -30 2504
-a 1107 x FJ(\045)1309 3611 y
-SDict begin H.S end
- 1309 3611 a 1309 3611 a
-SDict begin 14.56 H.A end
-
-1309 3611 a 1309 3611 a
-SDict begin [ /View [/XYZ H.V] /Dest (5500) cvn H.B /DEST pdfmark end
- 1309 3611 a FH(zip)744 b(-r)f(foo)h(*)-30
-7176 y FU(Decompressing)386 b(\002les)h(is)g(easy)-101
-b(,)388 b(as)g(well.)-30 9061 y
-SDict begin H.S end
- -30 9061 a -30 9061 a
-SDict begin 14.56 H.A end
-
--30 9061 a -30 9061 a
-SDict begin [ /View [/XYZ H.V] /Dest (5502) cvn H.B /DEST pdfmark end
- -30 9061 a -30 9061 a
-SDict begin H.S end
- -30 9061
-a -30 9061 a
-SDict begin 14.56 H.A end
- -30 9061 a -30 9061 a
-SDict begin [ /View [/XYZ H.V] /Dest (5503) cvn H.B /DEST pdfmark end
- -30 9061 a 1276 x
-FJ(\045)1309 10337 y
-SDict begin H.S end
- 1309 10337 a 1309 10337 a
-SDict begin 14.56 H.A end
- 1309 10337
-a 1309 10337 a
-SDict begin [ /View [/XYZ H.V] /Dest (5504) cvn H.B /DEST pdfmark end
- 1309 10337 a FH(unzip)743 b(foo.zip)-30
-12055 y
-SDict begin H.S end
- -30 12055 a -30 12055 a
-SDict begin 18.2 H.A end
- -30 12055 a -30 12055
-a
-SDict begin [ /View [/XYZ H.V] /Dest (5505) cvn H.B /DEST pdfmark end
- -30 12055 a 1846 x FU(This)632 b(will)g(e)-23 b(xtract)632
-b(all)h(the)f(\002les)g(in)g(the)g(\002le)26131 13901
-y
-SDict begin H.S end
- 26131 13901 a 26131 13901 a
-SDict begin 18.2 H.A end
- 26131 13901 a 26131 13901
-a
-SDict begin [ /View [/XYZ H.V] /Dest (5506) cvn H.B /DEST pdfmark end
- 26131 13901 a FQ(foo.zip)p FU(,)c(including)k(an)-23
-b(y)632 b(directories)g(in)g(the)-30 15916 y(archi)-39
-b(v)-23 b(e.)-30 16706 y
-SDict begin H.S end
- -30 16706 a -30 16706 a
-SDict begin 18.2 H.A end
- -30
-16706 a -30 16706 a
-SDict begin [ /View [/XYZ H.V] /Dest (5507) cvn H.B /DEST pdfmark end
- -30 16706 a 2000 x FU(The)2752 18706
-y
-SDict begin H.S end
- 2752 18706 a 2752 18706 a
-SDict begin 18.2 H.A end
- 2752 18706 a 2752 18706 a
-SDict begin [ /View [/XYZ H.V] /Dest (5508) cvn H.B /DEST pdfmark end
-
-2752 18706 a FP(zip)372 b FU(utilities)f(ha)-31 b(v)-23
-b(e)372 b(se)-39 b(v)-23 b(eral)372 b(adv)-39 b(anced)372
-b(options)f(for)i(creating)f(self-e)-23 b(xtracting)371
-b(archi)-39 b(v)-23 b(es,)-30 20720 y(lea)-31 b(ving)568
-b(out)g(\002les,)g(controlling)f(compressed)g(\002le)h(size,)h
-(printing)e(out)h(what)g(will)g(happen,)-30 22735 y(and)444
-b(much)f(more.)h(See)f(the)h(man)f(pages)h(for)24910
-22735 y
-SDict begin H.S end
- 24910 22735 a 24910 22735 a
-SDict begin 18.2 H.A end
- 24910 22735 a 24910
-22735 a
-SDict begin [ /View [/XYZ H.V] /Dest (5509) cvn H.B /DEST pdfmark end
- 24910 22735 a FP(zip)f FU(and)30266 22735 y
-SDict begin H.S end
- 30266
-22735 a 30266 22735 a
-SDict begin 18.2 H.A end
- 30266 22735 a 30266 22735 a
-SDict begin [ /View [/XYZ H.V] /Dest (5510) cvn H.B /DEST pdfmark end
- 30266
-22735 a FP(unzip)h FU(to)f(\002nd)g(out)h(ho)-39 b(w)443
-b(to)h(use)f(these)-30 24750 y(options.)p Black -30 73792
-a FR(194)p Black eop end
-%%Page: 195 217
-TeXDict begin 195 216 bop -8000 -8000 a
-SDict begin /product where{pop product(Distiller)search{pop pop pop
-version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
-closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
-grestore}if}{pop}ifelse}{pop}ifelse}if end
- -8000 -8000 a
-Black 0 TeXcolorgray -30 -1358 a
-SDict begin H.S end
- -30 -1358 a 0 TeXcolorgray
-0 TeXcolorgray -30 -1358 a
-SDict begin H.R end
- -30 -1358 a -30 -1358 a
-SDict begin [ /View [/XYZ H.V] /Dest (page.195) cvn H.B /DEST pdfmark
-end
- -30
--1358 a Black Black -30 2383 a
-SDict begin H.S end
- -30 2383 a -30 2383 a
-SDict begin 18.2 H.A end
-
--30 2383 a -30 2383 a
-SDict begin [ /View [/XYZ H.V] /Dest (VI) cvn H.B /DEST pdfmark end
- -30 2383 a 2345 x FS(Chapter)894
-b(16)-30 10743 y FO(Vi)p -30 18316 51806 56 v -30 18316
-a
-SDict begin H.S end
- -30 18316 a -30 18316 a
-SDict begin 18.2 H.A end
- -30 18316 a -30 18316 a
-SDict begin [ /View [/XYZ H.V] /Dest (5513) cvn H.B /DEST pdfmark end
- -30
-18316 a -30 19091 a
-SDict begin H.S end
- -30 19091 a -30 19091 a
-SDict begin 18.2 H.A end
- -30 19091
-a -30 19091 a
-SDict begin [ /View [/XYZ H.V] /Dest (5515) cvn H.B /DEST pdfmark end
- -30 19091 a -30 19091 a
-SDict begin H.S end
- -30 19091 a -30
-19091 a
-SDict begin 18.2 H.A end
- -30 19091 a -30 19091 a
-SDict begin [ /View [/XYZ H.V] /Dest (5516) cvn H.B /DEST pdfmark end
- -30 19091 a 1051 x FP(vi)p
-FU(\(1\))573 b(is)h(the)f(standard)g(Unix)g(te)-23 b(xt)573
-b(editing)f(program,)i(and)f(while)g(mastering)g(it)g(is)g(not)g(as)-30
-22157 y(essential)384 b(as)g(it)g(once)g(w)-15 b(as,)384
-b(is)g(still)f(a)h(v)-23 b(ery)384 b(re)-39 b(w)-15 b(arding)384
-b(goal.)g(There)g(are)h(se)-39 b(v)-23 b(eral)384 b(v)-23
-b(ersions)383 b(\(or)-30 24171 y(clones\))354 b(of)6446
-24171 y
-SDict begin H.S end
- 6446 24171 a 6446 24171 a
-SDict begin 18.2 H.A end
- 6446 24171 a 6446 24171
-a
-SDict begin [ /View [/XYZ H.V] /Dest (5517) cvn H.B /DEST pdfmark end
- 6446 24171 a FP(vi)h FU(a)-31 b(v)-39 b(ailable,)355
-b(including)20765 24171 y
-SDict begin H.S end
- 20765 24171 a 20765 24171 a
-SDict begin 18.2 H.A end
-
-20765 24171 a 20765 24171 a
-SDict begin [ /View [/XYZ H.V] /Dest (5518) cvn H.B /DEST pdfmark end
- 20765 24171 a FP(vi)p FU(,)22995
-24171 y
-SDict begin H.S end
- 22995 24171 a 22995 24171 a
-SDict begin 18.2 H.A end
- 22995 24171 a 22995
-24171 a
-SDict begin [ /View [/XYZ H.V] /Dest (5519) cvn H.B /DEST pdfmark end
- 22995 24171 a FP(elvis)p FU(,)27457 24171 y
-SDict begin H.S end
- 27457
-24171 a 27457 24171 a
-SDict begin 18.2 H.A end
- 27457 24171 a 27457 24171 a
-SDict begin [ /View [/XYZ H.V] /Dest (5520) cvn H.B /DEST pdfmark end
- 27457
-24171 a FP(vile)p FU(,)g(and)33767 24171 y
-SDict begin H.S end
- 33767 24171
-a 33767 24171 a
-SDict begin 18.2 H.A end
- 33767 24171 a 33767 24171 a
-SDict begin [ /View [/XYZ H.V] /Dest (5521) cvn H.B /DEST pdfmark end
- 33767 24171
-a FP(vim)p FU(.)g(One)g(of)f(these)h(is)f(a)-31 b(v)-39
-b(ailable)-30 26186 y(on)374 b(just)g(about)g(an)-23
-b(y)374 b(v)-23 b(ersion)374 b(of)g(Unix,)g(as)h(well)f(as)g(on)g
-(Linux.)h(All)f(of)g(these)g(v)-23 b(ersions)373 b(include)-30
-28201 y(the)360 b(same)f(basic)h(feature)g(set)f(and)h(commands,)f(so)h
-(learning)f(one)h(clone)f(should)g(mak)-15 b(e)359 b(it)h(easy)-30
-30215 y(to)502 b(learn)h(another)-85 b(.)502 b(W)-62
-b(ith)502 b(the)h(v)-39 b(ariety)502 b(of)h(te)-23 b(xt)502
-b(editors)g(included)g(with)g(Linux)g(distrib)-31 b(utions)-30
-32230 y(and)539 b(Unix)g(v)-39 b(ariants)539 b(these)g(days,)h(man)-23
-b(y)539 b(people)g(no)g(longer)g(use)37109 32230 y
-SDict begin H.S end
- 37109
-32230 a 37109 32230 a
-SDict begin 18.2 H.A end
- 37109 32230 a 37109 32230 a
-SDict begin [ /View [/XYZ H.V] /Dest (5522) cvn H.B /DEST pdfmark end
- 37109
-32230 a FP(vi)p FU(.)g(Still,)g(it)g(remains)g(the)-30
-34245 y(most)503 b(uni)-39 b(v)-23 b(ersal)503 b(te)-23
-b(xt)503 b(editor)h(across)f(Unix)g(and)h(Unix)f(w)-15
-b(ork-alik)g(es.)503 b(Mastering)45825 34245 y
-SDict begin H.S end
- 45825
-34245 a 45825 34245 a
-SDict begin 18.2 H.A end
- 45825 34245 a 45825 34245 a
-SDict begin [ /View [/XYZ H.V] /Dest (5523) cvn H.B /DEST pdfmark end
- 45825
-34245 a FP(vi)g FU(means)-30 36259 y(you)439 b(should)f(ne)-39
-b(v)-23 b(er)439 b(be)h(sitting)e(at)h(a)g(Unix)g(machine)f(and)h(not)g
-(be)g(comfortable)g(with)f(at)h(least)-30 38274 y(one)387
-b(po)-39 b(werful)388 b(te)-23 b(xt)386 b(editor)-85
-b(.)-30 39384 y
-SDict begin H.S end
- -30 39384 a -30 39384 a
-SDict begin 18.2 H.A end
- -30 39384 a -30
-39384 a
-SDict begin [ /View [/XYZ H.V] /Dest (5524) cvn H.B /DEST pdfmark end
- -30 39384 a -30 39384 a
-SDict begin H.S end
- -30 39384 a -30 39384
-a
-SDict begin 18.2 H.A end
- -30 39384 a -30 39384 a
-SDict begin [ /View [/XYZ H.V] /Dest (5525) cvn H.B /DEST pdfmark end
- -30 39384 a 1680 x FP(vi)445
-b FU(includes)f(a)h(number)f(of)h(po)-39 b(werful)445
-b(features)f(including)g(syntax)g(highlighting,)g(code)h(for)-31
-b(-)-30 43078 y(matting,)500 b(a)h(po)-39 b(werful)501
-b(search-and-replace)g(mechanism,)f(macros,)h(and)g(more.)g(These)g
-(fea-)-30 45093 y(tures)580 b(mak)-15 b(e)580 b(it)g(especially)f
-(attracti)-39 b(v)-23 b(e)580 b(to)g(programmers,)g(web)g(de)-39
-b(v)-23 b(elopers,)580 b(and)g(the)g(lik)-15 b(e.)-30
-47108 y(System)421 b(administrators)g(will)g(appreciate)h(the)g
-(automation)f(and)h(inte)-23 b(gration)421 b(with)h(the)f(shell)-30
-49122 y(that)387 b(is)g(possible.)-30 50233 y
-SDict begin H.S end
- -30 50233
-a -30 50233 a
-SDict begin 18.2 H.A end
- -30 50233 a -30 50233 a
-SDict begin [ /View [/XYZ H.V] /Dest (5526) cvn H.B /DEST pdfmark end
- -30 50233 a 1679
-x FU(On)464 b(Slackw)-15 b(are)463 b(Linux,)h(the)f(def)-15
-b(ault)463 b(v)-23 b(ersion)463 b(of)27652 51912 y
-SDict begin H.S end
- 27652
-51912 a 27652 51912 a
-SDict begin 18.2 H.A end
- 27652 51912 a 27652 51912 a
-SDict begin [ /View [/XYZ H.V] /Dest (5527) cvn H.B /DEST pdfmark end
- 27652
-51912 a FP(vi)h FU(a)-31 b(v)-39 b(ailable)464 b(is)37090
-51912 y
-SDict begin H.S end
- 37090 51912 a 37090 51912 a
-SDict begin 18.2 H.A end
- 37090 51912 a 37090
-51912 a
-SDict begin [ /View [/XYZ H.V] /Dest (5528) cvn H.B /DEST pdfmark end
- 37090 51912 a FP(elvis)p FU(.)g(Other)g(v)-23
-b(ersions)463 b(-)-30 53926 y(including)6224 53926 y
-SDict begin H.S end
-
-6224 53926 a 6224 53926 a
-SDict begin 18.2 H.A end
- 6224 53926 a 6224 53926 a
-SDict begin [ /View [/XYZ H.V] /Dest (5529) cvn H.B /DEST pdfmark end
- 6224
-53926 a FP(vim)399 b FU(and)11492 53926 y
-SDict begin H.S end
- 11492 53926
-a 11492 53926 a
-SDict begin 18.2 H.A end
- 11492 53926 a 11492 53926 a
-SDict begin [ /View [/XYZ H.V] /Dest (5530) cvn H.B /DEST pdfmark end
- 11492 53926
-a FP(gvim)g FU(-)g(are)h(a)-31 b(v)-39 b(ailable)399
-b(if)g(you')-77 b(v)-23 b(e)398 b(installed)g(the)h(proper)g(packages.)
-48800 53926 y
-SDict begin H.S end
- 48800 53926 a 48800 53926 a
-SDict begin 18.2 H.A end
- 48800 53926
-a 48800 53926 a
-SDict begin [ /View [/XYZ H.V] /Dest (5531) cvn H.B /DEST pdfmark end
- 48800 53926 a FP(gvim)-30 55941 y FU(is)373
-b(an)g(X)g(W)-62 b(indo)-39 b(w)372 b(v)-23 b(ersion)372
-b(of)16890 55941 y
-SDict begin H.S end
- 16890 55941 a 16890 55941 a
-SDict begin 18.2 H.A end
- 16890
-55941 a 16890 55941 a
-SDict begin [ /View [/XYZ H.V] /Dest (5532) cvn H.B /DEST pdfmark end
- 16890 55941 a FP(vim)h FU(that)f(includes)h
-(toolbars,)f(detachable)h(menus,)g(and)g(dialog)-30 57956
-y(box)-23 b(es.)-30 57971 y
-SDict begin H.S end
- -30 57971 a -30 57971 a
-SDict begin 18.2 H.A end
- -30
-57971 a -30 57971 a
-SDict begin [ /View [/XYZ H.V] /Dest (5533) cvn H.B /DEST pdfmark end
- -30 57971 a -30 57971 a
-SDict begin H.S end
- -30 57971
-a -30 57971 a
-SDict begin 18.2 H.A end
- -30 57971 a -30 57971 a
-SDict begin [ /View [/XYZ H.V] /Dest (5535) cvn H.B /DEST pdfmark end
- -30 57971 a -30
-57971 a
-SDict begin H.S end
- -30 57971 a -30 57971 a
-SDict begin 18.2 H.A end
- -30 57971 a -30 57971
-a
-SDict begin [ /View [/XYZ H.V] /Dest (VI-STARTING) cvn H.B /DEST pdfmark
-end
- -30 57971 a 6109 x FL(16.1)620 b(Star)45 b(ting)620
-b(vi)-30 64577 y
-SDict begin H.S end
- -30 64577 a -30 64577 a
-SDict begin 18.2 H.A end
- -30 64577 a
--30 64577 a
-SDict begin [ /View [/XYZ H.V] /Dest (5539) cvn H.B /DEST pdfmark end
- -30 64577 a -30 65693 a
-SDict begin H.S end
- -30 65693 a -30 65693
-a
-SDict begin 18.2 H.A end
- -30 65693 a -30 65693 a
-SDict begin [ /View [/XYZ H.V] /Dest (5542) cvn H.B /DEST pdfmark end
- -30 65693 a -30 65693 a
-SDict begin H.S end
- -30
-65693 a -30 65693 a
-SDict begin 18.2 H.A end
- -30 65693 a -30 65693 a
-SDict begin [ /View [/XYZ H.V] /Dest (5543) cvn H.B /DEST pdfmark end
- -30 65693
-a 1518 x FP(vi)412 b FU(can)h(be)f(started)g(from)h(the)f(command)g
-(line)g(in)g(a)g(v)-39 b(ariety)413 b(of)f(w)-15 b(ays.)412
-b(The)h(simplest)e(form)h(is)p Black -30 73672 a
-SDict begin H.S end
- -30
-73672 a -30 73672 a
-SDict begin 18.2 H.A end
- -30 73672 a -30 73672 a
-SDict begin [ /View [/XYZ H.V] /Dest (5544) cvn H.B /DEST pdfmark end
- -30 73672
-a 49451 74722 a FR(195)p Black eop end
-%%Page: 196 218
-TeXDict begin 196 217 bop -8000 -8000 a
-SDict begin /product where{pop product(Distiller)search{pop pop pop
-version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
-closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
-grestore}if}{pop}ifelse}{pop}ifelse}if end
- -8000 -8000 a
-Black 0 TeXcolorgray -30 -1358 a
-SDict begin H.S end
- -30 -1358 a 0 TeXcolorgray
-0 TeXcolorgray -30 -1358 a
-SDict begin H.R end
- -30 -1358 a -30 -1358 a
-SDict begin [ /View [/XYZ H.V] /Dest (page.196) cvn H.B /DEST pdfmark
-end
- -30
--1358 a Black -30 -2687 a
-SDict begin H.S end
- -30 -2687 a -30 -2687 a
-SDict begin 18.2 H.A end
- -30
--2687 a -30 -2687 a
-SDict begin [ /View [/XYZ H.V] /Dest (5564) cvn H.B /DEST pdfmark end
- -30 -2687 a 1051 x FR(Chapter)387
-b(16)g(V)-115 b(i)p Black -30 3490 a FU(just:)-30 6652
-y FJ(\045)1309 6652 y
-SDict begin H.S end
- 1309 6652 a 1309 6652 a
-SDict begin 14.56 H.A end
- 1309 6652
-a 1309 6652 a
-SDict begin [ /View [/XYZ H.V] /Dest (5546) cvn H.B /DEST pdfmark end
- 1309 6652 a FH(vi)-30 6673 y
-SDict begin H.S end
- -30 6673 a
--30 6673 a
-SDict begin 18.2 H.A end
- -30 6673 a -30 6673 a
-SDict begin [ /View [/XYZ H.V] /Dest (FIG-VI-VIM-SPLITEDIT) cvn H.B
-/DEST pdfmark end
- -30 6673 a 5093 x FX(Figur)-28
-b(e)387 b(16-1.)h(A)f(vi)g(session.)-30 13630 y
-SDict begin H.S end
- -30 13630
-a -30 13630 a
-SDict begin 18.2 H.A end
- -30 13630 a -30 13630 a
-SDict begin [ /View [/XYZ H.V] /Dest (5549) cvn H.B /DEST pdfmark end
- -30 13630 a -30
-46707 a
- currentpoint currentpoint translate 0.79 0.79 scale neg exch neg exch
-translate
- -30 46707 a @beginspecial 12 @llx 212 @lly 600
-@urx 580 @ury 5880 @rwi @setspecial
-%%BeginDocument: vi/vim-splitedit.eps
-%!PS-Adobe-2.0 EPSF-2.0
-%%Creator: pnmtops
-%%Title: noname.ps
-%%Pages: 1
-%%BoundingBox: 12 212 600 580
-%%EndComments
-/rlestr1 1 string def
-/readrlestring {
- /rlestr exch def
- currentfile rlestr1 readhexstring pop
- 0 get
- dup 127 le {
- currentfile rlestr 0
- 4 3 roll
- 1 add getinterval
- readhexstring pop
- length
- } {
- 256 exch sub dup
- currentfile rlestr1 readhexstring pop
- 0 get
- exch 0 exch 1 exch 1 sub {
- rlestr exch 2 index put
- } for
- pop
- } ifelse
-} bind def
-/readstring {
- dup length 0 {
- 3 copy exch
- 1 index sub
- getinterval
- readrlestring
- add
- 2 copy le { exit } if
- } loop
- pop pop
-} bind def
-/picstr 640 string def
-%%EndProlog
-%%Page: 1 1
-gsave
-12.24 212.4 translate
-587.52 367.2 scale
-640 400 8
-[ 640 0 0 -400 0 400 ]
-{ picstr readstring }
-image
-800080008000800080008000800080008000800080008000800080008000
-80008000800080008000ea0000c080008000800080009700f70005c0c000
-00c0c0fa0001c0c080008000800080009700f600fcc0fa0001c0c0800080
-00800080009600f800f8c0fd0001c0c080008000800080009500f600fcc0
-fc0001c0c080008000800080009400f70009c0c00000c0c00000c0c08000
-8000800080009300f00001c0c080008000800080009200f00000c0800080
-008000800091008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-00800080008000ed0001c0c0fa00fdc080008000800080009e00ed0001c0
-c0f90001c0c080008000800080009e00e40001c0c080008000800080009e
-0008c0c0000000c0c00000fbc0fc00fdc0fb00fcc080008000800080009e
-000ec0c0000000c0c000c0c0000000c0c0fc0001c0c0fc0004c0c000c0c0
-80008000800080009e000ec0c0000000c0c000c0c0000000c0c0fc000ac0
-c0000000c0c00000c0c080008000800080009e000ec0c0000000c0c000c0
-c0000000c0c0fc000ac0c0000000c0c00000c0c080008000800080009e00
-0ec0c0000000c0c000c0c0000000c0c0fc000ac0c0000000c0c00000c0c0
-80008000800080009e000e00c0c000c0c00000c0c0000000c0c0fc000ac0
-c0000000c0c00000c0c080008000800080009e00040000c0c0c0fc00fbc0
-fc00fcc0fd00fdc00200c0c080008000800080009f008000800080008000
-800080008000800080008000800080008000800080008000800080008000
-800080008000800080008000800080008000800080000000fac0f700fdc0
-fb00fac0e30000c0f80004c0c0000000fac0f700fdc0e80000c0f400fdc0
-f10001c0c080008000800094000000fac0f60001c0c0fa0005c0c00000c0
-c0e50001c0c0f90001c0c0fc00fac0f60001c0c0e90001c0c0f30001c0c0
-f00001c0c080008000800095000600c000c0c000c0f60001c0c0fa0005c0
-c00000c0c0e50001c0c0fa0001c0c0fb0005c000c0c000c0f60001c0c0e9
-0001c0c0f30001c0c0ef0001c0c08000800080009600fd0001c0c0fc00fc
-c0fc00fcc0fc0007c0c00000c0c00000fbc0fd00fbc0fd00fbc0010000fa
-c0fc0001c0c0f90001c0c0fc00fcc0fc00fcc0fc00fbc0f600fac0fd00fc
-c0fc00fcc0fc00fbc0fa0001c0c08000800080009600fd0001c0c0f9000c
-c0c0000000c0c000c0c0000000fbc01d0000c0c0000000c0c000c0c00000
-00c0c000c0c0000000c0c0000000c0c0fa0001c0c0f90001c0c0f90012c0
-c0000000c0c000c0c00000c0c0000000c0c0f50001c0c0f80012c0c00000
-00c0c000c0c00000c0c0000000c0c0fb0001c0c08000800080009600fd00
-01c0c0fc00fbc0fd000ec0c00000c0c00000c0c000c0c00000f9c0030000
-c0c0fb00f9c0fd0001c0c0fa0001c0c0f90001c0c0fc00fbc0fd0009c0c0
-0000c0c00000c0c0f10001c0c0fb00fbc0fd0009c0c00000c0c00000c0c0
-f70001c0c08000800080009600fd001ec0c0000000c0c00000c0c0000000
-c0c00000c0c00000c0c00000c0c000c0c0f800fdc0fd0001c0c0f80001c0
-c0fa0001c0c0f90019c0c0000000c0c00000c0c0000000c0c00000c0c000
-0000c0c0c0f30001c0c0fc0014c0c00000c0c0000000c0c00000c0c00000
-00c0c0c0f90001c0c08000800080009600fd001ec0c0000000c0c00000c0
-c0000000c0c00000c0c00000c0c00000c0c000c0c0f60005c0c00000c0c0
-f80001c0c0fa0001c0c0f90013c0c0000000c0c00000c0c0000000c0c000
-00c0c0fb0001c0c0f40001c0c0fc000ec0c00000c0c0000000c0c00000c0
-c0fb0001c0c0fa0001c0c08000800080009600fd003bc0c0000000c0c000
-00c0c0000000c0c00000c0c00000c0c00000c0c000c0c0000000c0c000c0
-c0000000c0c000c0c0000000c0c0000000c0c000c0c0fc0001c0c0fa001b
-c0c0000000c0c00000c0c0000000c0c00000c0c000c0c0000000c0c0f500
-1cc0c000c0c000c0c00000c0c0000000c0c00000c0c000c0c0000000c0c0
-fc0001c0c08000800080009500010000fcc0fd00fdc00400c0c00000fbc0
-0a0000c0c0c00000c0c00000fbc0fd00fbc0fd00fbc0fb00fdc0fa0001c0
-c0fc00fcc0fd00fdc00400c0c00000fbc0fd00fbc0f300fdc0fd00fdc004
-00c0c00000fbc0fd00fbc0fc0001c0c08000800080009400800080008000
-800080008000800080008000800080008000800080008000800080008000
-800080008000800080008000800080008000800080008000fc00fdc08000
-8000800080008700fd0001c0c080008000800080008500fd0001c0c08000
-8000800080008500fd0001c0c0800080008000800085000300c0c0c08000
-8000800080008400fd0001c0c080008000800080008500fd0001c0c08000
-8000800080008500fd0001c0c080008000800080008500fd0001c0c08000
-8000800080008500fc00fdc0800080008000800087008000800080008000
-800080008000800080008000800080008000800080008000800080008000
-80008000800080008000800080008000800080008000dd0001c0c0f20000
-c0f10001c0c08000800080008000c500dd0001c0c0f30001c0c0f10001c0
-c08000800080008000c500ce0001c0c0e90001c0c08000800080008000cd
-00de00fdc0fd0007c0c000c0c0c00000fac0f400fdc0fa0001c0c0800080
-0080008000cd00dd0001c0c0fc000ac0c00000c0c0000000c0c0f10001c0
-c08000800080008000c500dd0001c0c0fc000ac0c00000c0c0000000c0c0
-f10001c0c08000800080008000c500dd0001c0c0fc000ac0c00000c0c000
-0000c0c0f10001c0c08000800080008000c500dd0001c0c0fc000ac0c000
-00c0c0000000c0c0f10001c0c0fa0001c0c08000800080008000cd00dd00
-01c0c0fc000dc0c00000c0c0000000c0c000c0c0f40001c0c0fa0001c0c0
-8000800080008000cd00de00fcc0fd0005c0c00000c0c0fc00fdc0f400fc
-c0fc0001c0c08000800080008000cc008000800080008000800080008000
-800080008000800080008000800080008000800080008000800080008000
-800080008000800080008000800080008000800080008000800080008000
-800080008000800080008000800080008000800080008000800080008000
-800080008000800080008000800080008000800080008000800080008000
-800080008000800080008000800080008000800080008000800080008000
-800080008000800080008000800080008000800080008000800080008000
-8000800080008000800080008000800080008000800080008000dd00fdc0
-e20001c0c0fb0001c0c0e300fdc0ea0001c0c0e400fac0fc0000c0fc00fa
-c0f30000c0fc00fac0010000fac0fb0000c0fb0005c0c00000c0c0f600fb
-c0fc00fcc0010000f9c00000f9c0dc0001c0c0fb0001c0c080008000bc00
-de0004c0c000c0c0e40001c0c0fa0001c0c0e40004c0c000c0c0eb0001c0
-c0f00001c0c0f600fac0fd00fdc0fc0005c0c00000c0c0f500fdc0fc0013
-c0c00000c0c00000c0c00000c0c0000000c0c0c0fc0005c0c00000c0c0f7
-0006c0c0000000c0c0fc0013c0c0000000c0c0000000c0c00000c0c00000
-c0c0dc0001c0c0fa0001c0c080008000bd00de0004c0c00000c0e50001c0
-c0dc0006c0c0000000c0c0fc0001c0c0e10001c0c0f50015c000c0c000c0
-0000c0c000c0c0000000c0c00000c0c0f60025c0c000c0c0000000c0c000
-00c0c00000c0c00000c0c00000c0c000c0c0000000c0c00000c0c0f70006
-c0c0000000c0c0fc0005c0c0000000c0fc0009c0c00000c0c0000000c0fc
-0001c0c0d90001c0c080008000be00de0001c0c0fb00fbc0070000c0c000
-c0c0c0f40001c0c0fa00fdc0f400fac0f70006c0c0000000c0c0fc0001c0
-c0f300fdc0f20001c0c0f20013c0c0000000c0c0000000c0c00000c0c000
-00c0c0f70026c0c0000000c0c00000c0c00000c0c00000c0c00000c0c000
-c0c0000000c0c00000c0c00000c0c0f60001c0c0f80001c0c0f90008c0c0
-000000c0c000c0fa0001c0c0f20001c0c0fa0001c0c0fb00fdc0f90001c0
-c080008000be00df00fcc0fd000ec0c0000000c0c00000c0c0c000c0c0f5
-0001c0c0f90001c0c0e50006c0c000c000c0c0ec0001c0c0f30001c0c0f1
-000dc0c0000000c0c0000000c0c00000fbc0f60008c0c0000000c0c00000
-fbc0fd00fbc00b0000c0c0000000c0c0000000fcc0f400fdc0fa0001c0c0
-fa0001c0c0fc00fcc0ea0001c0c0fa0001c0c0fa0001c0c0f90001c0c080
-008000be00de0001c0c0fc000ec0c0000000c0c00000c0c00000c0c0f500
-01c0c0f90001c0c0e50006c0c000c000c0c0ec0001c0c0f40001c0c0f000
-04c0c0000000f9c0070000c0c00000c0c0f700f9c0100000c0c000c0c000
-0000c0c000c0c00000f9c0fc0001c0c0f10001c0c0fb0001c0c0fb0001c0
-c0fb0003c0c000c0ec00fac0010000fac0fc0001c0c0f90001c0c0800080
-00be00de0001c0c0fc000ac0c0000000c0c00000c0c0f10001c0c0f90001
-c0c0f400fac0f70006c0c0000000c0c0ec0001c0c0f30001c0c0f10013c0
-c0000000c0c0000000c0c00000c0c00000c0c0f7001ec0c0000000c0c000
-00c0c00000c0c00000c0c00000c0c000c0c0000000c0c0fc0001c0c0f000
-01c0c0fc0001c0c0fc0001c0c0fa0001c0c0e80001c0c0fa0001c0c0fa00
-01c0c0f90001c0c080008000be00de0001c0c0fc000ac0c0000000c0c000
-00c0c0f10001c0c0f90001c0c0e50006c0c0000000c0c0fc0001c0c0f200
-01c0c0f20001c0c0f20013c0c0000000c0c0000000c0c00000c0c00000c0
-c0f7001ec0c0000000c0c00000c0c00000c0c00000c0c00000c0c000c0c0
-000000c0c0fc0001c0c0f50006c0c0000000c0c0fc0006c0c0000000c0c0
-fc0008c00000c0c0000000c0fc0001c0c0f20001c0c0fa0001c0c0fa0001
-c0c0f90001c0c080008000be00de0001c0c0fc000ac0c0000000c0c00000
-c0c0f00001c0c0fa0001c0c0e40004c0c000c0c0fb0001c0c0f20001c0c0
-f10001c0c0f30013c0c0000000c0c0000000c0c00000c0c00000c0c0f700
-1ec0c0000000c0c00000c0c00000c0c00000c0c00000c0c000c0c0000000
-c0c0fc0001c0c0f50006c0c0000000c0c0fc0013c0c0000000c0c0000000
-c0c00000c0c00000c0c0fc0001c0c0e20001c0c0fa0001c0c080008000bd
-00df00fcc0fc00fbc0010000fcc0f00001c0c0fc00fcc0e400fdc0fb0001
-c0c0f200fcc0f10001c0c0f500fcc0090000c0c0000000c0c000fac0f600
-21c0c0000000c0c000c0c0c00000c0c000c0c0c00000c0c000c0c0000000
-c0c0000000fcc0f500fbc0fc00fcc0010000f9c00000f9c0fd0001c0c0e2
-00fcc0fc0001c0c080008000bc00800080008000800080008000c800f8c0
-d800f8c0800080008000f000800080008000800080008000800080008000
-80008000800080008000800080008000800080008000bd0000c0f400fdc0
-f100fcc0fb0001c0c0fb00fcc0e400fdc08000800080009500be0001c0c0
-f30001c0c0f10001c0c0f90001c0c0f90001c0c0e50004c0c000c0c08000
-800080009600be0001c0c0f30001c0c0f10001c0c0f00001c0c0e60006c0
-c0000000c0c0fc0001c0c08000800080009d00c000fac0fd00fcc0fc00fc
-c0fc00fbc0fc0001c0c0fa00fdc0f90001c0c0f500fac0f70006c0c00000
-00c0c0fc0001c0c08000800080009d00be0001c0c0f80017c0c0000000c0
-c000c0c00000c0c0000000c0c0000000c0c0f90001c0c0f90001c0c0e600
-06c0c000c000c0c08000800080009700be0001c0c0fb00fbc0fd0009c0c0
-0000c0c00000c0c0f90001c0c0f90001c0c0f90001c0c0e60006c0c000c0
-00c0c08000800080009700be0001c0c0fc0014c0c00000c0c0000000c0c0
-0000c0c0000000c0c0c0fb0001c0c0f90001c0c0f90001c0c0f500fac0f7
-0006c0c0000000c0c08000800080009700be0001c0c0fc000ec0c00000c0
-c0000000c0c00000c0c0fb0001c0c0fc0001c0c0f90001c0c0f90001c0c0
-e60006c0c0000000c0c0fc0001c0c08000800080009d00be0021c0c000c0
-c000c0c00000c0c0000000c0c00000c0c000c0c0000000c0c0000000c0c0
-f90001c0c0f90001c0c0e50004c0c000c0c0fb0001c0c08000800080009d
-00bd00fdc0fd00fdc00400c0c00000fbc0fd00fbc0fc00fcc0fc00fcc0fc
-00fcc0e400fdc0fb0001c0c08000800080009c0080008000800080008000
-800080008000800080008000800080008000800080008000800080008000
-800080008000800080008000800080008000800080008000800080008000
-800080008000800080008000800080008000800080008000800080008000
-800080008000800080008000800080008000800080008000800080008000
-800080008000800080008000800080008000800080008000800080008000
-800080008000800080008000800080008000800080008000800080008000
-800080008000800080008000800080008000800080008000800080008000
-dd00fdc0e20001c0c0fb0001c0c0e300fdc0ea0001c0c0e50006c0c00000
-00c0c0fc0000c0fc0006c0c0000000c0c0f600fac0fc0000c0fc00fac0fd
-00fbc0eb0001c0c0dc00fbc0fc0001c0c080008000a400de0004c0c000c0
-c0e40001c0c0fa0001c0c0e40004c0c000c0c0eb0001c0c0f00001c0c0f7
-00fdc01300c0c0c0000000c0c0c0000000c0c0000000c0c0f600fac0fd00
-fdc0fc000dc0c00000c0c000c0c0000000c0c0ec0001c0c0dd0006c0c000
-0000c0c0fc0001c0c080008000a500de0004c0c00000c0e50001c0c0dc00
-06c0c0000000c0c0fc0001c0c0e10001c0c0f600f9c00e0000c0c000c0c0
-000000c0c000c0c0f5001dc000c0c000c00000c0c000c0c0000000c0c000
-00c0c000c0c0000000c0c0fc0001c0c0cd0006c0c0000000c0c0fb0001c0
-c080008000a600de0001c0c0fb00fbc0070000c0c000c0c0c0f40001c0c0
-fa00fdc0f400fac0f70006c0c0000000c0c0fc0001c0c0f300fdc0f20001
-c0c0f500f9c00900c0c0000000c0c00000fbc0f30017c0c0000000c0c000
-0000c0c00000c0c00000c0c00000c0c0f80001c0c0f300fdc0f20001c0c0
-fc00fac0f70006c0c0000000c0c0fb0001c0c080008000a600df00fcc0fd
-000ec0c0000000c0c00000c0c0c000c0c0f50001c0c0f90001c0c0e50006
-c0c000c000c0c0ec0001c0c0f30001c0c0f40014c0c000c000c0c000c0c0
-000000c0c0000000c0c0c0f2000dc0c0000000c0c0000000c0c00000fbc0
-fc00fdc0ea0001c0c0f20001c0c0ec00fbc0fa0001c0c080008000a600de
-0001c0c0fc000ec0c0000000c0c00000c0c00000c0c0f50001c0c0f90001
-c0c0e50006c0c000c000c0c0ec0001c0c0f40001c0c0f30007c0c0000000
-c0c000f9c0fd00fdc0f20004c0c0000000f9c0070000c0c00000c0c0fb00
-01c0c0eb0001c0c0f400fac0ef0006c0c0000000c0c0fb0001c0c0800080
-00a600de0001c0c0fc000ac0c0000000c0c00000c0c0f10001c0c0f90001
-c0c0f400fac0f70006c0c0000000c0c0ec0001c0c0f30001c0c0f40010c0
-c0000000c0c000c0c0000000c0c00000fbc0f30013c0c0000000c0c00000
-00c0c00000c0c00000c0c0fa0001c0c0ec0001c0c0f20001c0c0fc00fac0
-f70006c0c0000000c0c0fb0001c0c080008000a600de0001c0c0fc000ac0
-c0000000c0c00000c0c0f10001c0c0f90001c0c0e50006c0c0000000c0c0
-fc0001c0c0f20001c0c0f20001c0c0f50015c0c0000000c0c000c0c00000
-00c0c00000c0c000c0c0f3001bc0c0000000c0c0000000c0c00000c0c000
-00c0c000c0c0000000c0c0fc0001c0c0f20001c0c0f20001c0c0ed0006c0
-c0000000c0c0fb0001c0c080008000a600de0001c0c0fc000ac0c0000000
-c0c00000c0c0f00001c0c0fa0001c0c0e40004c0c000c0c0fb0001c0c0f2
-0001c0c0f10001c0c0f60016c0c0000000c0c000c0c0000000c0c000c0c0
-000000c0c0f4001bc0c0000000c0c0000000c0c00000c0c00000c0c000c0
-c0000000c0c0fc0001c0c0f20001c0c0dd0006c0c0000000c0c0fc0001c0
-c080008000a500df00fcc0fc00fbc0010000fcc0f00001c0c0fc00fcc0e4
-00fdc0fb0001c0c0f200fcc0f10001c0c0f70016c0c0000000c0c000c0c0
-000000c0c000c0c0000000c0c0f500fcc0090000c0c0000000c0c000fac0
-fd00fbc0fc0001c0c0f200fcc0dd00fbc0fc0001c0c080008000a4008000
-80008000800080008000c800f8c0800080008000c0008000800080008000
-800080008000800080008000800080008000800080008000800080008000
-8000bf00fac0f700fdc0fa00fbc0f30000c0f80001c0c0fb0000c0f400fd
-c0e00001c0c0fb0001c0c0800080008000b400bf00fac0f60001c0c0fb00
-06c0c0000000c0c0f50001c0c0f90001c0c0fb0001c0c0f30001c0c0e000
-01c0c0fa0001c0c0800080008000b500bf0005c000c0c000c0f60001c0c0
-fb0006c0c0000000c0c0f50001c0c0fa0001c0c0fa0001c0c0f30001c0c0
-d70001c0c0fb0001c0c0800080008000bd00bd0001c0c0fc00fcc0fc00fc
-c0fc0001c0c0fa00fbc0010000fac0fc0001c0c0fc00fac0fd00fcc0fc00
-fcc0fc00fbc0ec00fdc0f90001c0c0fb0001c0c0800080008000bd00bd00
-01c0c0f90009c0c0000000c0c000c0c0fc00fdc0fd000bc0c0000000c0c0
-000000c0c0fa0001c0c0fa0001c0c0f80012c0c0000000c0c000c0c00000
-c0c0000000c0c0ec0001c0c0f90001c0c0800080008000b600bd0001c0c0
-fc00fbc0fd0005c0c00000c0c0fb0003c0c00000f9c0fd0001c0c0fa0001
-c0c0fa0001c0c0fb00fbc0fd0009c0c00000c0c00000c0c0e80001c0c0f9
-0001c0c0800080008000b600bd0013c0c0000000c0c00000c0c0000000c0
-c00000c0c0fa0004c0c000c0c0f80001c0c0fa0001c0c0fa0001c0c0fc00
-14c0c00000c0c0000000c0c00000c0c0000000c0c0c0ea0001c0c0f90001
-c0c0800080008000b600bd001ec0c0000000c0c00000c0c0000000c0c000
-00c0c000c0c0000000c0c000c0c0f80001c0c0fa0001c0c0fa0001c0c0fc
-000ec0c00000c0c0000000c0c00000c0c0fb0001c0c0fb0001c0c0f20001
-c0c0f90001c0c0fb0001c0c0800080008000bd00bd002bc0c0000000c0c0
-0000c0c0000000c0c00000c0c000c0c0000000c0c000c0c0000000c0c000
-0000c0c000c0c0fc0001c0c0fb001cc0c000c0c000c0c00000c0c0000000
-c0c00000c0c000c0c0000000c0c0fc0001c0c0f20001c0c0fa0001c0c0fa
-0001c0c0800080008000bd00be00fcc0fd00fdc00400c0c00000fbc0fd00
-fbc0fd00fbc0fb00fdc0fa0001c0c0fb00fdc0fd00fdc00400c0c00000fb
-c0fd00fbc0fb0001c0c0f300fcc0fc0001c0c0fa0001c0c0800080008000
-bc008000e60001c0c08000800080009c0080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080000300c0c0c080008000800080008400fd0001c0c0800080
-00800080008500fd0001c0c080008000800080008500fd0001c0c0800080
-00800080008500fc00fdc080008000800080008700fd0001c0c080008000
-800080008500fd0001c0c080008000800080008500fd0001c0c080008000
-800080008500fd0001c0c0800080008000800085000300c0c0c080008000
-800080008400800080008000800080008000800080008000800080008000
-8000800080008000800080008000800080c080c080c080c080c080c080c0
-80c080c080c0fdc00080f4c0fd8080c080c080c080c093c003c0c08080f3
-c001808080c080c080c080c093c003c0c08080f3c001808080c080c080c0
-80c093c0fa80fdc0fc80fcc0fc80fcc0fb80f5c0fb8080c080c080c080c0
-aec003c0c08080f8c0128080c0c0c08080c08080c0c08080c0c0c08080f7
-c0068080c0c0c0808080c080c080c080c0afc003c0c08080fbc0fb80fdc0
-098080c0c08080c0c08080f3c001808080c080c080c080c0aac003c0c080
-80fcc0148080c0c08080c0c0c08080c0c08080c0c0c0808080f5c0018080
-80c080c080c080c0aac003c0c08080fcc00e8080c0c08080c0c0c08080c0
-c08080fbc0018080f6c001808080c080c080c080c0aac01ec0c08080c080
-80c08080c0c08080c0c0c08080c0c08080c08080c0c0c08080fcc00b8080
-c0c0c08080c0c0c0808080c080c080c080c0afc0fdc0fd80fdc0fd8004c0
-8080c0c0fb80fdc0fb80fbc0018080fcc0fb8080c080c080c080c0aec080
-c080c080c080c080c080c080c080c080c080c080c080c080c080c080c080
-c080c080c080c080c08000800080008000800080008000800080008000dd
-0001c0c0fa00fdc0f20001c0c0fa0001c0c0fb0000c0d300fac0e500fcc0
-f400fdc0fb00fdc0ed0006c0c0000000c0c0fb0001c0c0fc00fcc0040000
-c0c0c0d900fdc0e20000c0fc00fdc0f90001c0c0fa0001c0c0da00fdc0fb
-0001c0c080008000f400dd0001c0c0fb0004c0c000c0c0f40001c0c0fa00
-01c0c0fb0001c0c0d300fac0e60005c0c00000c0c0f40001c0c0fa0001c0
-c0ed00fdc0030000c0c0fc0001c0c0fc0009c0c00000c0c00000c0c0d800
-01c0c0e30001c0c0fb0001c0c0f80001c0c0fa0001c0c0dc0004c0c000c0
-c0fb0001c0c080008000f500d60004c0c00000c0f50001c0c0fa0001c0c0
-fa0001c0c0d30005c000c0c000c0e70001c0c0fc0000c0f40001c0c0fa00
-01c0c0ed00fcc00700c0c0000000c0c0fc0001c0c0fc0004c00000c0c0d8
-0001c0c0e30001c0c0fb0001c0c0f70001c0c0fa0001c0c0de0006c0c000
-0000c0c0fb0001c0c080008000f600de00fdc0fb0001c0c0f20001c0c0fa
-0001c0c0fc00fac00f0000c0c0c000c0c00000c0c000c0c0c0f500fac0f4
-0015c0c0000000c0c0000000c0c000c0c000c0c0c0000000fbc0030000c0
-c0f900fcc0fa0001c0c0fa0001c0c0fc00fbc0fd00fbc0010000f9c0fd00
-01c0c0fc0001c0c0f90007c0c000c0c0000000fcc0fd0005c0c000c0c0c0
-eb0001c0c0fc00fbc0110000c0c000c0c0c0000000c0c0c000c0c000fac0
-fd0004c0c000c0c0fa0001c0c0fa0001c0c0f500fac0010000fac0f70006
-c0c0000000c0c0fb0001c0c080008000f600dd0001c0c0fc00fcc0f30001
-c0c0fa0001c0c0fa0001c0c0fc00f9c0070000c0c00000c0c0e4001ec0c0
-000000c0c0000000c0c00000c0c00000c0c000c0c0000000c0c000c0c0f6
-0001c0c0fb0001c0c0fa0017c0c0000000c0c0000000c0c000c0c0000000
-c0c000c0c000fcc0fd0001c0c0fc0001c0c0f900fdc00200c0c0fb000ac0
-c0000000c0c0c000c0c0ec001ac0c0000000c0c0000000c0c00000c0c000
-00c0c000c0c00000c0c0fc0001c0c0fb00fdc00200c0c0fb0001c0c0fa00
-01c0c0de0006c0c000c000c0c0fb0001c0c080008000f600dd0001c0c0fb
-0001c0c0f20001c0c0fa0001c0c0fa0001c0c0fc000ec0c000c000c0c000
-00c0c00000c0c0e40014c0c0000000c0c0000000c0c00000c0c00000c0c0
-00f9c00200c0c0f900fbc0fb0001c0c0fa000ec0c0000000c0c0000000c0
-c000c0c0fa000bc0c00000c0c0c0000000c0c0fc0001c0c0f90007c0c000
-00c0c00000fbc0fd0005c0c00000c0c0ec0004c0c0000000f9c00e0000c0
-c00000c0c000c0c00000c0c0fc0001c0c0fb0005c0c00000c0c0fb0001c0
-c0fa0001c0c0de0006c0c000c000c0c0fb0001c0c080008000f600dd0001
-c0c0fb0001c0c0f20001c0c0fa0001c0c0fa0001c0c0fc000ec0c000c000
-c0c00000c0c00000c0c0f600fac0f40016c0c0000000c0c0000000c0c000
-00c0c00000c0c000c0c0fa0001c0c0fa0005c0c00000c0c0fb0001c0c0fa
-000ec0c0000000c0c0000000c0c000c0c0fa000bc0c0000000c0c0000000
-c0c0fc0001c0c0f90011c0c00000c0c000c0c00000c0c0000000c0c0e800
-06c0c0000000c0c0f9000cc0c00000c0c000c0c00000c0c0fc0001c0c0fb
-0005c0c00000c0c0fb0001c0c0fa0001c0c0f500fac0010000fac0f70006
-c0c0000000c0c0fb0001c0c080008000f600dd0001c0c0fb0001c0c0f200
-01c0c0fa0001c0c0fa0001c0c0fc000ec0c000c000c0c00000c0c00000c0
-c0e40016c0c0000000c0c0000000c0c00000c0c00000c0c000c0c0fa0001
-c0c0fc0007c000c0c00000c0c0fb0001c0c0fa000ec0c0000000c0c00000
-00c0c000c0c0fa000bc0c0000000c0c0000000c0c0fc0001c0c0fc0014c0
-0000c0c00000c0c000c0c00000c0c0000000c0c0f80001c0c0f20006c0c0
-000000c0c0f9000cc0c00000c0c000c0c00000c0c0fc0001c0c0fb0005c0
-c00000c0c0fb0001c0c0fa0001c0c0de0006c0c0000000c0c0fb0001c0c0
-80008000f600dd0001c0c0fb0001c0c0f10001c0c0fa0001c0c0fb0014c0
-c000c0c000c0c000c000c0c00000c0c00000c0c0e4002ac0c0000000c0c0
-000000c0c00000c0c00000c0c000c0c0000000c0c00000c0c00000c0c000
-c0c00000c0c0fb0001c0c0fa001bc0c0000000c0c0000000c0c000c0c000
-0000c0c000c0c0000000c0c0fc0001c0c0fc0019c0c00000c0c00000c0c0
-0000c0c000c0c00000c0c0000000c0c0f80001c0c0f2001ac0c0000000c0
-c0000000c0c00000c0c00000c0c000c0c00000c0c0fc000cc0c000c0c000
-00c0c00000c0c0fc0001c0c0fa0001c0c0dc0004c0c000c0c0fb0001c0c0
-80008000f500de00fcc0fd00fcc0f10001c0c0fa0001c0c0fb00fdc00a00
-00c0c0000000c0c00000fbc0e400fcc0fd00fac0010000fbc0fd00fbc0fc
-00fcc0fd00fdc00500c0c0000000fcc0fc00fcc0fd00fbc0fd00fbc00800
-00c0c0000000c0c0fb0001c0c0fc00fcc0110000c0c0c00000c0c00000c0
-c0c000c0c000fcc0f90001c0c0f300fcc0fd00fbc0fd0007c0c00000c0c0
-0000fbc0fb00fdc00d0000c0c0c00000c0c0000000c0c0fa0001c0c0da00
-fdc0fb0001c0c080008000f400a70001c0c0d60005c0c00000c0c0910001
-c0c0d80001c0c080008000a600a70001c0c0d70006c0c0000000c0c08000
-eb0005c0c00000c0c080008000a600a800fcc0dc00fbc0fd00fcc08000eb
-00fcc080008000a500800080008000800080008000800080008000800080
-008000800080008000bf00fbc0ee00f9c0db0003c0c00000f9c00000fac0
-010000fac0fd00fbc0010000fac0f500fbc0010000fac0010000f9c0fc00
-00c0fc00fcc0fc00fcc0fb00fbc0fc00fcc0fc0001c0c0800080008000fc
-00c00006c0c0000000c0c0ee0005c0c00000c0c0dc0001c0c0fc0025c0c0
-0000c0c00000c0c00000c0c00000c0c00000c0c000c0c0000000c0c00000
-c0c00000c0c0f7001cc0c0000000c0c00000c0c00000c0c00000c0c00000
-c0c0000000c0c0c0fc0001c0c0fa0001c0c0fb000ec0c0000000c0c00000
-c0c00000c0c0fc0001c0c0800080008000fd00c00006c0c0000000c0c0ee
-0005c0c0000000c0dd0001c0c0fb0025c0c0000000c00000c0c00000c0c0
-0000c0c00000c0c000c0c0000000c0c00000c0c00000c0c0f70022c0c000
-0000c0c00000c0c00000c0c00000c0c0000000c00000c0c000c0c0000000
-c0c0fa0001c0c0fb0009c0c0000000c0c000c0c0fc0000c0fb0001c0c0fb
-0001c0c0800080008500bf0001c0c0fb0008c0c0000000c0c00000fbc0fd
-0017c0c000c0000000c0c000c0c0c00000c0c000c0c0c0000000fbc00700
-00c0c000c0c0c0fc0001c0c0fb0003c0c000c0fc001dc0c00000c0c00000
-c0c00000c0c000c0c0000000c0c00000c0c00000c0c0f60001c0c0fa0019
-c0c00000c0c00000c0c000c0000000c0c0000000c0c00000c0c0fa0001c0
-c0fb0009c0c0000000c0c000c0c0f60001c0c0fb0001c0c0800080008500
-be00fdc0fd0010c0c0000000c0c000c0c0000000c0c00000fcc0fc00fdc0
-1f00c0c00000c0c0c000c0c000c0c0000000c0c00000c0c0c000c0c00000
-00c0c0fb00fcc0fc00fbc0fd00fbc00a0000c0c0000000c0c00000fbc0f4
-00fdc0fc00fbc0fd00fcc0fd000ac0c0000000c0c00000c0c0fa0001c0c0
-fb0009c0c0000000c0c000c0c0f60001c0c0800080008000fe00bc000ec0
-c00000c0c0000000c0c00000c0c0fa0003c0c000c0fc0022c0c00000c0c0
-0000c0c00000c0c000c0c0000000c0c00000c0c00000c0c0000000c0c0fb
-0003c0c000c0fc001cc0c000c0c0000000c0c000c0c00000c0c0000000c0
-c00000c0c000c0c0f20013c0c0000000c0c000c0c0000000c0c000c00000
-00f9c0030000c0c0fa0001c0c0fb0009c0c0000000c0c000c0c0f60001c0
-c0800080008000fe00bb000fc0c000c0c0000000c0c0000000c0c0c0fc00
-01c0c0fa0001c0c0fa0001c0c0fb000ac0c0000000c0c00000c0c0f90001
-c0c0fb0001c0c0fa001dc0c00000c0c00000c0c00000c0c000c0c0000000
-c0c00000c0c00000c0c0f2000dc0c00000c0c00000c0c00000c0c0fb000a
-c0c0000000c0c00000c0c0fa0001c0c0fb0009c0c0000000c0c000c0c0f6
-0001c0c0800080008000fe00c0000ec0c0000000c0c000c0c0000000c0c0
-fb000ec0c0000000c0c0000000c00000c0c0fa0001c0c0fb000ac0c00000
-00c0c00000c0c0f90001c0c0fb0025c0c0000000c00000c0c00000c0c000
-00c0c00000c0c000c0c0000000c0c00000c0c00000c0c0f70039c0c00000
-00c0c00000c0c00000c0c00000c0c0000000c000c0c0000000c0c00000c0
-c0000000c00000c0c0000000c000c0c0000000c0c000c0c0fc0000c0fb00
-01c0c0fb0001c0c0800080008500c00022c0c0000000c0c000c0c0000000
-c0c000c0c0000000c0c00000c0c00000c0c00000c0c0fa0001c0c0fb000a
-c0c0000000c0c00000c0c0f80001c0c0fc0025c0c00000c0c00000c0c000
-00c0c00000c0c00000c0c000c0c0000000c0c00000c0c00000c0c0f7003e
-c0c0000000c0c00000c0c00000c0c00000c0c00000c0c000c0c0000000c0
-c00000c0c00000c0c00000c0c00000c0c000c0c0000000c0c00000c0c000
-00c0c0fc0001c0c0fa0001c0c0800080008500bf00fbc0fd00fac0010000
-fbc0010000f9c00000fcc0fc00fcc0fb00fbc0010000fcc0f80003c0c000
-00f9c01100c0c0c00000c0c000c0c0c00000c0c00000fbc0080000c0c0c0
-0000c0c0f600fbc0090000c0c0c00000c0c000f9c00800c0c0000000c0c0
-00f9c00000f9c0010000fbc0fc00fcc0fc0001c0c0fa0001c0c080008000
-8400b30001c0c08000800080008000cf00b40001c0c09e00f8c080008000
-8000b800b800fbc08000800080008000cd00800080008000800080008000
-800080008000800080008000800080008000d000fdc0f000fdc0f300fdc0
-fb00fdc0db0000c08000800080008400cf0001c0c0f10004c0c000c0c0f3
-0001c0c0fa0001c0c0dc0001c0c08000800080008400cf0001c0c0f10004
-c0c00000c0f30001c0c0fa0001c0c0dc0001c0c0e90001c0c08000800080
-009d00df0007c0c00000c0c00000fbc0fd00fcc0fd0005c0c00000c0c0fc
-0001c0c0fb00fcc0fb00fcc0fc00fcc0070000c0c000c0c0c0f500fac0f7
-00fac00f0000c0c0c000c0c00000c0c000c0c0c0fb0001c0c08000800080
-009d00de00fcc01a0000c0c0000000c0c00000c0c000c0c00000c0c00000
-c0c0000000fcc0f9001ac0c0000000c0c000c0c0000000c0c000c0c00000
-00c0c0c000c0c0e50001c0c0fc00f9c0070000c0c00000c0c08000800080
-009700e000f8c00200c0c0fa000cc0c00000c0c000c0c00000c0c0fc0001
-c0c0fb00fbc0180000c0c00000c0c00000c0c00000c0c0000000c0c00000
-c0c0e50001c0c0fc000ec0c000c000c0c00000c0c00000c0c08000800080
-009700de00fcc0fc00fdc0fc000cc0c00000c0c000c0c00000c0c0fc0001
-c0c0fc001ac0c00000c0c00000c0c00000c0c00000c0c00000c0c0000000
-c0c0f200fac0f50001c0c0fc000ec0c000c000c0c00000c0c00000c0c080
-00800080009700df0005c0c00000c0c0fb0011c0c0000000c0c00000c0c0
-00c0c00000c0c0fc0001c0c0fc001ac0c00000c0c00000c0c00000c0c000
-00c0c00000c0c0000000c0c0e10001c0c0fc000ec0c000c000c0c00000c0
-c00000c0c0fc0001c0c08000800080009d00d80015c0c0000000c0c00000
-c0c00000c0c000c0c00000c0c0fc0001c0c0fc001ac0c00000c0c00000c0
-c00000c0c00000c0c00000c0c0000000c0c0e10014c0c000c0c000c0c000
-c000c0c00000c0c00000c0c0fc0001c0c08000800080009d00d700fbc0fd
-00fbc0fd00fdc00400c0c00000fcc0fc00fdc01300c0c00000c0c0c000c0
-c00000c0c0c000c0c000fcc0e100fdc00a0000c0c0000000c0c00000fbc0
-fc0001c0c08000800080009c008000ef0001c0c080008000800093008000
-ef0001c0c080008000800093008000f000fcc08000800080009400800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-00800080008000dd00fdc0e20001c0c0fb0001c0c0e500fdc0e100fdc0ea
-0001c0c0b20001c0c0eb0001c0c0f000fdc0800080009f00de0004c0c000
-c0c0e40001c0c0fa0001c0c0e40001c0c0e20004c0c000c0c0eb0001c0c0
-f00001c0c0c40001c0c0ea0001c0c0f20001c0c0800080009d00de0004c0
-c00000c0e50001c0c0db0001c0c0e30006c0c0000000c0c0fc0001c0c0e1
-0001c0c0d30001c0c0d90001c0c0f30001c0c0800080009d00de0001c0c0
-fb00fbc0070000c0c000c0c0c0f40001c0c0fa00fdc0f400fac0f60005c0
-c00000c0c0f600fac0f70006c0c0000000c0c0fc0001c0c0f300fdc0f200
-01c0c0f50010c0c000c0c0c00000c0c000c0c0c0000000fbc0080000c0c0
-000000c0c0fc0001c0c0f300fdc0fa0001c0c0fa0001c0c0f90001c0c0f3
-0001c0c0800080009d00df00fcc0fd000ec0c0000000c0c00000c0c0c000
-c0c0f50001c0c0f90001c0c0e40004c0c000c0c0e60006c0c000c000c0c0
-ec0001c0c0f30001c0c0f3001dc0c00000c0c00000c0c0c000c0c000c0c0
-000000c0c000c0c0000000c0c0ec0001c0c0fa0001c0c0fa0001c0c0f900
-01c0c0f500fdc0800080009c00de0001c0c0fc000ec0c0000000c0c00000
-c0c00000c0c0f50001c0c0f90001c0c0e400fcc0e50006c0c000c000c0c0
-ec0001c0c0f40001c0c0f2001dc0c00000c0c00000c0c00000c0c000c0c0
-000000c0c000c0c000c000c0c0ec0001c0c0fc00fac0010000fac0fb0001
-c0c0f30001c0c0800080009d00de0001c0c0fc000ac0c0000000c0c00000
-c0c0f10001c0c0f90001c0c0f400fac0f600fcc0f400fac0f70006c0c000
-0000c0c0ec0001c0c0f30001c0c0f30009c0c00000c0c00000c0c0fb000e
-c0c0000000c0c000c0c000c000c0c0ec0001c0c0fa0001c0c0fa0001c0c0
-f90001c0c0f30001c0c0800080009d00de0001c0c0fc000ac0c0000000c0
-c00000c0c0f10001c0c0f90001c0c0e40004c0c000c0c0e60006c0c00000
-00c0c0fc0001c0c0f20001c0c0f20001c0c0f40009c0c00000c0c00000c0
-c0fb000ec0c0000000c0c000c0c000c000c0c0fc0001c0c0f20001c0c0fa
-0001c0c0fa0001c0c0f90001c0c0f30001c0c0800080009d00de0001c0c0
-fc000ac0c0000000c0c00000c0c0f00001c0c0fa0001c0c0e40005c0c000
-00c0c0e60004c0c000c0c0fb0001c0c0f20001c0c0f10001c0c0f50009c0
-c00000c0c00000c0c0fb0007c0c0000000c0c000f9c0fc0001c0c0f20001
-c0c0ea0001c0c0f20001c0c0800080009d00df00fcc0fc00fbc0010000fc
-c0f00001c0c0fc00fcc0e600fdc0030000c0c0e500fdc0fb0001c0c0f200
-fcc0f10001c0c0f60006c0c00000c0c000fcc0fb00fbc0fd0004c0c000c0
-c0fc0001c0c0f200fcc0ec0001c0c0f000fdc0800080009f008000800080
-008000800080008000800080008000800080008000800080008000800080
-00800080008000800080008000800080008000800080008000c000fdc0db
-00fac0090000c0c0000000c0c000f9c0f70007c0c0000000c0c000f9c0fc
-0000c0fc00fbc0800080008000a500bf0001c0c0da0015c0c00000c0c000
-c0c0000000c0c00000c0c00000c0c0f70014c0c0000000c0c00000c0c000
-00c0c0000000c0c0c0fc0004c0c000c0c0800080008000a600bf0001c0c0
-da0015c0c00000c0c000c0c0000000c0c00000c0c0000000c0f7001ec0c0
-000000c0c00000c0c0000000c00000c0c000c0c0000000c0c00000c0c0fc
-0001c0c0800080008000ad00bf0005c0c00000c0c0f40001c0c0fc00fac0
-f60013c0c00000c0c000c0c0000000c0c00000c0c000c0f5001ec0c00000
-00c0c00000c0c000c0000000c0c0000000c0c00000c0c00000c0c0fc0001
-c0c0800080008000ad00bf0004c0c000c0c0f30001c0c0ec00fbc00a0000
-c0c0000000c0c00000fcc0f500f9c0010000fcc0fd000ec0c0000000c0c0
-0000c0c00000c0c0800080008000a700bf00fcc0f400fac0ee0013c0c000
-00c0c000c0c0000000c0c00000c0c000c0f5000fc0c0000000c0c00000c0
-c000c0000000f9c0070000c0c00000c0c0800080008000a700bf00fcc0f2
-0001c0c0fc00fac0f60011c0c00000c0c000c0c0000000c0c00000c0c0f3
-000ac0c0000000c0c00000c0c0fb000ec0c0000000c0c00000c0c00000c0
-c0800080008000a700bf0004c0c000c0c0f30001c0c0ec0011c0c00000c0
-c000c0c0000000c0c00000c0c0f3001ec0c0000000c0c00000c0c0000000
-c000c0c0000000c0c00000c0c00000c0c0fc0001c0c0800080008000ad00
-bf0005c0c00000c0c0de0011c0c00000c0c000c0c0000000c0c00000c0c0
-f3001dc0c0000000c0c00000c0c00000c0c000c0c0000000c0c00000c0c0
-00c0c0fb0001c0c0800080008000ad00c000fdc0030000c0c0df00fac0fd
-00fbc0010000fcc0f40007c0c0000000c0c000f9c00800c0c0000000c0c0
-00fbc0fb0001c0c0800080008000ac00800080008000800080008000f8c0
-800080008000880080008000800080008000800080008000800080008000
-800080008000800080008000800080008000bd00fdc0e20001c0c0f90001
-c0c0e700fac0090000c0c0000000c0c000f9c0f70007c0c0000000c0c000
-f9c0fc0000c0fc00fbc0e80001c0c0dd00fdc0fa00fdc0cb0000c0d70001
-c0c0ed0001c0c0f000fdc080009700be0004c0c000c0c0e40001c0c0f800
-01c0c0e60015c0c00000c0c000c0c0000000c0c00000c0c00000c0c0f700
-14c0c0000000c0c00000c0c00000c0c0000000c0c0c0fc0004c0c000c0c0
-e90001c0c0f20001c0c0ec0001c0c0f90001c0c0cc0001c0c0d70001c0c0
-ec0001c0c0f20001c0c080009500be0004c0c00000c0e50001c0c0db0015
-c0c00000c0c000c0c0000000c0c00000c0c0000000c0f7001ec0c0000000
-c0c00000c0c0000000c00000c0c000c0c0000000c0c00000c0c0fc0001c0
-c0e10001c0c0eb0001c0c0f90001c0c0cc0001c0c0e90001c0c0d90001c0
-c0f30001c0c080009500be0001c0c0fb00fbc0070000c0c000c0c0c0f400
-01c0c0f800fdc0f600fac0f60013c0c00000c0c000c0c0000000c0c00000
-c0c000c0f5001ec0c0000000c0c00000c0c000c0000000c0c0000000c0c0
-0000c0c00000c0c0fc0001c0c0f100fdc0f40001c0c0f400fbc0fb0001c0
-c0fb00fcc0f600fdc00500c0c0000000fcc0fd0006c0c0000000c0c0f700
-07c0c000c0c0c00000fac00a0000c0c000c0c0c0000000fbc0fb0001c0c0
-f100fdc0fc0001c0c0fa0001c0c0f90001c0c0f30001c0c080009500bf00
-fcc0fd000ec0c0000000c0c00000c0c0c000c0c0f50001c0c0f70001c0c0
-e600fbc00a0000c0c0000000c0c00000fcc0f500f9c0010000fcc0fd000e
-c0c0000000c0c00000c0c00000c0c0ea0001c0c0f50001c0c0f40006c0c0
-000000c0c0fc0001c0c0fc0004c0c000c0c0f600f9c0fb0009c0c0000000
-c0c000c0c0f5000ac0c00000c0c0000000c0c0fb00fdc00a00c0c000c0c0
-000000c0c0ea0001c0c0fc0001c0c0fa0001c0c0f90001c0c0f500fdc080
-009400be0001c0c0fc000ec0c0000000c0c00000c0c00000c0c0f50001c0
-c0f70001c0c0e60013c0c00000c0c000c0c0000000c0c00000c0c000c0f5
-000fc0c0000000c0c00000c0c000c0000000f9c0070000c0c00000c0c0ea
-0001c0c0f60001c0c0f30006c0c0000000c0c0fc000ac0c0000000c0c000
-00c0c0f60008c0c000c000c0c00000fbc0fc00fdc0f4000ac0c00000c0c0
-000000c0c0fb0009c0c00000c0c00000c0c0e60003c0c00000fac0010000
-fac0fb0001c0c0f30001c0c080009500be0001c0c0fc000ac0c0000000c0
-c00000c0c0f10001c0c0f70001c0c0f600fac0f60011c0c00000c0c000c0
-c0000000c0c00000c0c0f3000ac0c0000000c0c00000c0c0fb000ec0c000
-0000c0c00000c0c00000c0c0ea0001c0c0f50001c0c0f40006c0c0000000
-c0c0fc000ac0c0000000c0c00000c0c0f6000dc0c000c000c0c000c0c000
-00c0c0fc00fdc0f4000ac0c00000c0c0000000c0c0fb0001c0c0f900fdc0
-e80001c0c0fc0001c0c0fa0001c0c0f90001c0c0f30001c0c080009500be
-0001c0c0fc000ac0c0000000c0c00000c0c0f10001c0c0f70001c0c0e600
-11c0c00000c0c000c0c0000000c0c00000c0c0f3001ec0c0000000c0c000
-00c0c0000000c000c0c0000000c0c00000c0c00000c0c0fc0001c0c0f000
-01c0c0f40001c0c0f50006c0c0000000c0c0fc000ac0c0000000c0c00000
-c0c0f6000dc0c000c000c0c000c0c00000c0c0fc00fdc0f4000ac0c00000
-c0c0000000c0c0fb0001c0c0f70001c0c0fb0001c0c0f00001c0c0fc0001
-c0c0fa0001c0c0f90001c0c0f30001c0c080009500be0001c0c0fc000ac0
-c0000000c0c00000c0c0f00001c0c0f80001c0c0e60011c0c00000c0c000
-c0c0000000c0c00000c0c0f3001dc0c0000000c0c00000c0c00000c0c000
-c0c0000000c0c00000c0c000c0c0fb0001c0c0f00001c0c0f30001c0c0f6
-0006c0c0000000c0c0fc000ac0c0000000c0c00000c0c0f60015c0c000c0
-00c0c000c0c00000c0c0000000c0c000c0c0f50011c0c00000c0c0000000
-c0c000c0c00000c0c0fb0006c0c0000000c0c0fc0001c0c0f00001c0c0ec
-0001c0c0f20001c0c080009500bf00fcc0fc00fbc0010000fcc0f00001c0
-c0f90001c0c0e700fac0fd00fbc0010000fcc0f40007c0c0000000c0c000
-f9c00800c0c0000000c0c000fbc0fb0001c0c0ef0001c0c0f20001c0c0f6
-00fbc0fc00fcc0fd00fdc00200c0c0f70016c0c0000000c0c00000c0c0c0
-00c0c000c0c0000000c0c0f600fbc0fb00fdc0010000fcc0fb00fbc0fc00
-01c0c0ef0001c0c0ed0001c0c0f000fdc080009700970005c0c00000c0c0
-960005c0c00000c0c0a60001c0c0d20005c0c00000c0c080008000ef0097
-0005c0c00000c0c0cf00f8c0cf0005c0c00000c0c0cf00f8c0e800f8c002
-00c0c0d20005c0c00000c0c080008000ef009600fcc09400fcc0a600fcc0
-d200fcc080008000ee008000800080008000800080008000800080008000
-800080008000800080008000ec0001c0c0fb0000c0dc00fdc0e100fcc004
-0000c0c0c0e900fcc0d400fdc0fb0001c0c080008000bc008000ed0001c0
-c0fb0001c0c0db0001c0c0e10001c0c0fb0001c0c0e70001c0c0d30001c0
-c0fa0001c0c080008000bd008000ee0001c0c0fa0001c0c0db0001c0c0e1
-0001c0c0fb0001c0c0e70001c0c0d30001c0c0f90001c0c0fb0001c0c080
-008000c500a000fdc00500c0c0000000fbc00a0000c0c0c000c0c0000000
-fbc0150000c0c000c0c0c00000c0c0000000c0c0000000c0c0fc00fac00f
-0000c0c0c000c0c00000c0c000c0c0c0ed00fcc0fc00fcc0fc00fbc0fd00
-fbc0fc0001c0c0fb0005c0c00000c0c0fc0001c0c0fa0001c0c0f90001c0
-c0ee0008c0c000c0c0c0000000fbc0fd00fbc0fb0001c0c0f90001c0c0fb
-0001c0c080008000c500a000f9c00800c0c0000000c0c000f9c01c00c0c0
-000000c0c00000c0c00000c0c000c0c0000000c0c0000000c0c0fa0001c0
-c0fc00f9c0070000c0c00000c0c0ee0004c0c000c0c0fa0017c0c00000c0
-c0000000c0c000c0c0000000c0c0000000c0c0fb0004c0c000c0c0fb0001
-c0c0fa0001c0c0f90001c0c0ed0015c0c00000c0c000c0c0000000c0c000
-c0c0000000c0c0fc0001c0c0f90001c0c080008000be00a00007c0c000c0
-00c0c000f9c00a00c0c000c000c0c000c0c0f90012c0c00000c0c000c0c0
-000000c0c0000000c0c0fa0001c0c0fc000ec0c000c000c0c00000c0c000
-00c0c0ee0007c0c00000c0c00000fbc0fd0001c0c0fb00f9c0fd0001c0c0
-fb00fcc0fc00fac0010000fac0fb0001c0c0ed0008c0c00000c0c000c0c0
-fa0006c0c0000000c0c0fc0001c0c0f90001c0c080008000be00a00009c0
-c000c000c0c000c0c0fa0009c0c000c000c0c000c0c0f90012c0c00000c0
-c000c0c0000000c0c0000000c0c0fa0001c0c0fc000ec0c000c000c0c000
-00c0c00000c0c0ee000cc0c00000c0c000c0c00000c0c0fc00fdc0fd0001
-c0c0f80001c0c0fb00fcc0fa0001c0c0fa0001c0c0f90001c0c0ed0008c0
-c00000c0c000c0c0fa0006c0c0000000c0c0fc0001c0c0f90001c0c08000
-8000be00a00009c0c000c000c0c000c0c0fa0009c0c000c000c0c000c0c0
-f90012c0c00000c0c000c0c0000000c0c0000000c0c0fa0001c0c0fc000e
-c0c000c000c0c00000c0c00000c0c0fc0001c0c0f4000cc0c00000c0c000
-c0c00000c0c0fa0005c0c00000c0c0f80001c0c0fb0004c0c000c0c0fb00
-01c0c0fa0001c0c0f90001c0c0fb0001c0c0f40008c0c00000c0c000c0c0
-fa0006c0c0000000c0c0fc0001c0c0f90001c0c0fb0001c0c080008000c5
-00a0002ec0c000c000c0c000c0c0000000c0c000c0c000c000c0c000c0c0
-000000c0c00000c0c00000c0c000c0c0000000c0c0fc0001c0c0fb0014c0
-c000c0c000c0c000c000c0c00000c0c00000c0c0fc0001c0c0f40022c0c0
-0000c0c000c0c00000c0c00000c0c0000000c0c000c0c0000000c0c00000
-00c0c0fb0005c0c00000c0c0eb0001c0c0fb0001c0c0f40015c0c00000c0
-c000c0c0000000c0c000c0c0000000c0c0fc0001c0c0fa0001c0c0fa0001
-c0c080008000c500a00008c0c0000000c0c00000fbc00a0000c0c0000000
-c0c00000fbc0fd00fbc0fd00fac0fb0001c0c0fb00fdc00a0000c0c00000
-00c0c00000fbc0fb0001c0c0f400fbc0fd00fdc00400c0c00000fbc0fd00
-fbc0fc00fcc0080000c0c0c00000c0c0ed00fcc0fb0001c0c0f40007c0c0
-0000c0c00000fbc0fd00fbc0fc00fcc0fc0001c0c0fa0001c0c080008000
-c40080000200c0c0f60001c0c0e60001c0c0f90001c0c0aa0001c0c08000
-80008c0080000200c0c0f70001c0c0e50001c0c0800080008000ab008000
-fcc0fc00fbc0e500fcc0800080008000ac00800080008000800080008000
-8000800080008000800080008000800080009d0000c0b200fdc080008000
-8000b5009e0001c0c0b10001c0c0800080008000b5009e0001c0c0b10001
-c0c0fa0001c0c0800080008000bd00a000fac00f0000c0c0c000c0c00000
-c0c000c0c0c0f30001c0c0fc00fac0f70008c0c000c0c0c0000000fbc0fd
-00fbc0fb0001c0c0fa0001c0c0800080008000bd009e0001c0c0fc00f9c0
-070000c0c00000c0c0f40001c0c0ec0015c0c00000c0c000c0c0000000c0
-c000c0c0000000c0c0fc0001c0c0800080008000b5009e0001c0c0fc000e
-c0c000c000c0c00000c0c00000c0c0f600fac0ee0008c0c00000c0c000c0
-c0fa0006c0c0000000c0c0fc0001c0c0800080008000b5009e0001c0c0fc
-000ec0c000c000c0c00000c0c00000c0c0f40001c0c0fc00fac0f60008c0
-c00000c0c000c0c0fa0006c0c0000000c0c0fc0001c0c0800080008000b5
-009e0001c0c0fc000ec0c000c000c0c00000c0c00000c0c0f40001c0c0ec
-0008c0c00000c0c000c0c0fa0006c0c0000000c0c0fc0001c0c0fa0001c0
-c0800080008000bd009e0014c0c000c0c000c0c000c000c0c00000c0c000
-00c0c0de0015c0c00000c0c000c0c0000000c0c000c0c0000000c0c0fc00
-01c0c0fa0001c0c0800080008000bd009d00fdc00a0000c0c0000000c0c0
-0000fbc0dd0007c0c00000c0c00000fbc0fd00fbc0fc00fcc0fc0001c0c0
-800080008000bc008f0001c0c08000800080008000f3008f0001c0c08000
-800080008000f3009000fcc08000800080008000f4008000800080008000
-80008000800080008000800080008000800080008000bf00fdc080008000
-80008000c400bd0001c0c08000800080008000c500bd0001c0c080008000
-80008000c500bd0001c0c08000800080008000c500bc00fdc08000800080
-008000c700bd0001c0c08000800080008000c500bd0001c0c08000800080
-008000c500bd0001c0c08000800080008000c500bd0001c0c08000800080
-008000c500bf00fdc08000800080008000c4008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-c080c080c080c080c080c080c080c080c080c080c080c080c080c080c080
-c080c080c080c080c080c080c080c080c080c000c0fb00fdc0fb000ac0c0
-0000c0000000c0c0c0fb00fdc0fb0007c0c00000c0000000f5c0fb0080c0
-80c080c080c0bec02e0000c0c0c00000c00000c0c0c00000c0c0000000c0
-0000c00000c0c0c00000c00000c0c0c00000c0c00000c0c00000f7c00600
-00c0c0c0000080c080c080c080c0bfc002c00000fbc0010000f9c0060000
-c0c00000c0f90000c0f90007c0c00000c0c00000f7c001000080c080c080
-c080c0bac009c0c0000000c0c0c00000f9c0010000fbc0010000fac00100
-00f9c0050000c0c00000f7c001000080c080c080c080c0bac0fcc0050000
-c0c00000f9c0010000fbc0010000fac0010000f9c0050000c0c00000f7c0
-01000080c080c080c080c0bac0120000c0c0c00000c00000c0c0c00000c0
-c00000fbc0160000c0c0c00000c00000c0c0c00000c0c00000c0c00000fc
-c00b0000c0c0c00000c0c0c0000080c080c080c080c0bfc000c0fb00fdc0
-fb0001c0c0fc00fbc0fb00fdc0fb00fdc0050000c0c00000fcc0010000fc
-c0fb0080c080c080c080c0bec080c080c080c080c080c080c080c080c080
-c080c080c080c080c080c080c080c080c080c080c080c080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000
-grestore
-showpage
-%%Trailer
-
-%%EndDocument
- @endspecial -30 46707 a
- currentpoint currentpoint translate 1 0.79 div 1 0.79 div scale neg
-exch neg exch translate
- -30 46707 a -30 48257 a
-SDict begin H.S end
- -30
-48257 a -30 48257 a
-SDict begin 18.2 H.A end
- -30 48257 a -30 48257 a
-SDict begin [ /View [/XYZ H.V] /Dest (5552) cvn H.B /DEST pdfmark end
- -30 48257
-a 2014 x FU(This)465 b(will)f(start)h(up)11216 50271
-y
-SDict begin H.S end
- 11216 50271 a 11216 50271 a
-SDict begin 18.2 H.A end
- 11216 50271 a 11216 50271
-a
-SDict begin [ /View [/XYZ H.V] /Dest (5553) cvn H.B /DEST pdfmark end
- 11216 50271 a FP(vi)g FU(with)f(an)h(empty)g(b)-31
-b(uf)-39 b(fer)-85 b(.)465 b(At)g(this)f(point,)h(you')-15
-b(ll)464 b(see)h(a)g(mostly)f(blank)-30 52286 y(screen.)455
-b(It)f(is)g(no)-39 b(w)455 b(in)12404 52286 y
-SDict begin H.S end
- 12404 52286
-a 12404 52286 a
-SDict begin 18.2 H.A end
- 12404 52286 a 12404 52286 a
-SDict begin [ /View [/XYZ H.V] /Dest (5554) cvn H.B /DEST pdfmark end
- 12404 52286
-a FU(\223command)f(mode\224,)g(w)-15 b(aiting)453 b(for)i(you)f(to)g
-(do)g(something.)g(F)-23 b(or)454 b(a)g(dis-)-30 54301
-y(cussion)345 b(of)g(the)g(v)-39 b(arious)13709 54301
-y
-SDict begin H.S end
- 13709 54301 a 13709 54301 a
-SDict begin 18.2 H.A end
- 13709 54301 a 13709 54301
-a
-SDict begin [ /View [/XYZ H.V] /Dest (5555) cvn H.B /DEST pdfmark end
- 13709 54301 a FP(vi)345 b FU(modes,)g(see)g(the)p 0
-TeXcolorgray 24884 54301 a
-SDict begin H.S end
- 24884 54301 a FU(Section)387
-b(16.2)32633 54301 y
-SDict begin 18.2 H.L end
- 32633 54301 a 32633 54301 a
-SDict begin [ /Subtype /Link /Dest (VI-MODES) cvn /H /I /Border [0
-0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 32633
-54301 a Black FU(.)346 b(In)f(order)g(to)g(quit)g(out)g(of)46887
-54301 y
-SDict begin H.S end
- 46887 54301 a 46887 54301 a
-SDict begin 18.2 H.A end
- 46887 54301 a 46887
-54301 a
-SDict begin [ /View [/XYZ H.V] /Dest (5557) cvn H.B /DEST pdfmark end
- 46887 54301 a FP(vi)p FU(,)g(type)-30 56315 y(the)387
-b(follo)-39 b(wing:)-30 58201 y
-SDict begin H.S end
- -30 58201 a -30 58201
-a
-SDict begin 14.56 H.A end
- -30 58201 a -30 58201 a
-SDict begin [ /View [/XYZ H.V] /Dest (5558) cvn H.B /DEST pdfmark end
- -30 58201 a -30 58201 a
-SDict begin H.S end
- -30
-58201 a -30 58201 a
-SDict begin 14.56 H.A end
- -30 58201 a -30 58201 a
-SDict begin [ /View [/XYZ H.V] /Dest (5559) cvn H.B /DEST pdfmark end
- -30 58201
-a 1276 x FH(:q)-30 61195 y
-SDict begin H.S end
- -30 61195 a -30 61195 a
-SDict begin 18.2 H.A end
- -30
-61195 a -30 61195 a
-SDict begin [ /View [/XYZ H.V] /Dest (5560) cvn H.B /DEST pdfmark end
- -30 61195 a 1846 x FU(Assuming)478
-b(that)i(there)f(ha)-31 b(v)-23 b(e)479 b(been)h(no)f(changes)h(to)f
-(the)g(\002le,)h(this)f(will)g(cause)43813 63041 y
-SDict begin H.S end
- 43813
-63041 a 43813 63041 a
-SDict begin 18.2 H.A end
- 43813 63041 a 43813 63041 a
-SDict begin [ /View [/XYZ H.V] /Dest (5561) cvn H.B /DEST pdfmark end
- 43813
-63041 a FP(vi)g FU(to)g(quit.)h(If)-30 65056 y(there)503
-b(ha)-31 b(v)-23 b(e)503 b(been)g(changes)g(made,)g(it)g(will)g(w)-15
-b(arn)502 b(you)h(that)g(there)g(ha)-31 b(v)-23 b(e)503
-b(been)g(changes)g(and)-30 67071 y(tell)457 b(you)h(ho)-39
-b(w)457 b(to)h(disre)-23 b(g)-8 b(ard)457 b(them.)h(Disre)-23
-b(g)-8 b(arding)456 b(changes)i(usually)f(means)g(appending)g(an)p
-Black -30 73672 a FR(196)p Black eop end
-%%Page: 197 219
-TeXDict begin 197 218 bop -8000 -8000 a
-SDict begin /product where{pop product(Distiller)search{pop pop pop
-version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
-closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
-grestore}if}{pop}ifelse}{pop}ifelse}if end
- -8000 -8000 a
-Black 0 TeXcolorgray -30 -1237 a
-SDict begin H.S end
- -30 -1237 a 0 TeXcolorgray
-0 TeXcolorgray -30 -1237 a
-SDict begin H.R end
- -30 -1237 a -30 -1237 a
-SDict begin [ /View [/XYZ H.V] /Dest (page.197) cvn H.B /DEST pdfmark
-end
- -30
--1237 a Black 43108 -1636 a FR(Chapter)387 b(16)g(V)-115
-b(i)p Black -30 3611 a FU(e)-23 b(xclamation)386 b(point)h(after)h(the)
-16991 3611 y
-SDict begin H.S end
- 16991 3611 a 16991 3611 a
-SDict begin 18.2 H.A end
- 16991 3611 a 16991
-3611 a
-SDict begin [ /View [/XYZ H.V] /Dest (5562) cvn H.B /DEST pdfmark end
- 16991 3611 a FU(\223)17679 3611 y
-SDict begin H.S end
- 17679 3611 a
-17679 3611 a
-SDict begin 18.2 H.A end
- 17679 3611 a 17679 3611 a
-SDict begin [ /View [/XYZ H.V] /Dest (5563) cvn H.B /DEST pdfmark end
- 17679 3611 a FX(q)p
-FU(\224)f(lik)-15 b(e)387 b(so:)-30 6773 y FH(:q!)-30
-8490 y
-SDict begin H.S end
- -30 8490 a -30 8490 a
-SDict begin 18.2 H.A end
- -30 8490 a -30 8490 a
-SDict begin [ /View [/XYZ H.V] /Dest (5566) cvn H.B /DEST pdfmark end
- -30
-8490 a 1847 x FU(The)326 b(e)-23 b(xclamation)324 b(point)h(usually)g
-(means)h(to)f(force)h(some)f(action.)h(W)-124 b(e')-15
-b(ll)325 b(discuss)g(it)h(and)f(other)-30 12352 y(k)-15
-b(e)-23 b(y)387 b(combinations)f(in)h(further)g(details)g(later)-85
-b(.)-30 13462 y
-SDict begin H.S end
- -30 13462 a -30 13462 a
-SDict begin 18.2 H.A end
- -30 13462 a -30
-13462 a
-SDict begin [ /View [/XYZ H.V] /Dest (5567) cvn H.B /DEST pdfmark end
- -30 13462 a 1679 x FU(Y)-170 b(ou)436 b(can)g(also)g(start)
-11530 15141 y
-SDict begin H.S end
- 11530 15141 a 11530 15141 a
-SDict begin 18.2 H.A end
- 11530 15141
-a 11530 15141 a
-SDict begin [ /View [/XYZ H.V] /Dest (5568) cvn H.B /DEST pdfmark end
- 11530 15141 a FP(vi)g FU(with)g(a)g(pre-e)-23
-b(xisting)435 b(\002le.)h(F)-23 b(or)436 b(e)-23 b(xample,)436
-b(the)g(\002le)41754 15141 y
-SDict begin H.S end
- 41754 15141 a 41754 15141
-a
-SDict begin 18.2 H.A end
- 41754 15141 a 41754 15141 a
-SDict begin [ /View [/XYZ H.V] /Dest (5569) cvn H.B /DEST pdfmark end
- 41754 15141 a FQ(/etc/resolv.conf)-30
-17156 y FU(w)-15 b(ould)386 b(be)i(opened)f(lik)-15 b(e)386
-b(so:)-30 19041 y
-SDict begin H.S end
- -30 19041 a -30 19041 a
-SDict begin 14.56 H.A end
- -30 19041 a
--30 19041 a
-SDict begin [ /View [/XYZ H.V] /Dest (5570) cvn H.B /DEST pdfmark end
- -30 19041 a -30 19041 a
-SDict begin H.S end
- -30 19041 a -30 19041
-a
-SDict begin 14.56 H.A end
- -30 19041 a -30 19041 a
-SDict begin [ /View [/XYZ H.V] /Dest (5571) cvn H.B /DEST pdfmark end
- -30 19041 a 1276 x FJ(\045)1309
-20317 y
-SDict begin H.S end
- 1309 20317 a 1309 20317 a
-SDict begin 14.56 H.A end
- 1309 20317 a 1309 20317
-a
-SDict begin [ /View [/XYZ H.V] /Dest (5572) cvn H.B /DEST pdfmark end
- 1309 20317 a FH(vi)744 b(/etc/resolv.conf)-30 21958
-y
-SDict begin H.S end
- -30 21958 a -30 21958 a
-SDict begin 18.2 H.A end
- -30 21958 a -30 21958 a
-SDict begin [ /View [/XYZ H.V] /Dest (5573) cvn H.B /DEST pdfmark end
- -30
-21958 a 1924 x FU(Finally)-101 b(,)5115 23882 y
-SDict begin H.S end
- 5115
-23882 a 5115 23882 a
-SDict begin 18.2 H.A end
- 5115 23882 a 5115 23882 a
-SDict begin [ /View [/XYZ H.V] /Dest (5574) cvn H.B /DEST pdfmark end
- 5115 23882
-a FP(vi)467 b FU(can)f(be)h(started)f(on)g(a)h(particular)f(line)g(of)g
-(a)h(\002le.)g(This)f(is)g(especially)g(useful)g(for)-30
-25896 y(programmers)327 b(when)f(an)i(error)f(message)g(includes)f(the)
-h(line)g(their)g(program)g(bombed)f(on.)h(F)-23 b(or)-30
-27911 y(e)g(xample,)387 b(you)g(could)g(start)g(up)17508
-27911 y
-SDict begin H.S end
- 17508 27911 a 17508 27911 a
-SDict begin 18.2 H.A end
- 17508 27911 a 17508
-27911 a
-SDict begin [ /View [/XYZ H.V] /Dest (5575) cvn H.B /DEST pdfmark end
- 17508 27911 a FP(vi)h FU(on)f(line)g(47)g(of)27648
-27911 y
-SDict begin H.S end
- 27648 27911 a 27648 27911 a
-SDict begin 18.2 H.A end
- 27648 27911 a 27648
-27911 a
-SDict begin [ /View [/XYZ H.V] /Dest (5576) cvn H.B /DEST pdfmark end
- 27648 27911 a FQ(/usr/src/linux/init/main.c)371
-b FU(lik)-15 b(e)387 b(so:)-30 29796 y
-SDict begin H.S end
- -30 29796 a -30
-29796 a
-SDict begin 14.56 H.A end
- -30 29796 a -30 29796 a
-SDict begin [ /View [/XYZ H.V] /Dest (5577) cvn H.B /DEST pdfmark end
- -30 29796 a -30 29796
-a
-SDict begin H.S end
- -30 29796 a -30 29796 a
-SDict begin 14.56 H.A end
- -30 29796 a -30 29796 a
-SDict begin [ /View [/XYZ H.V] /Dest (5578) cvn H.B /DEST pdfmark end
- -30
-29796 a 1277 x FJ(\045)1309 31073 y
-SDict begin H.S end
- 1309 31073 a 1309
-31073 a
-SDict begin 14.56 H.A end
- 1309 31073 a 1309 31073 a
-SDict begin [ /View [/XYZ H.V] /Dest (5579) cvn H.B /DEST pdfmark end
- 1309 31073 a FH(vi)744
-b(+47)f(/usr/src/linux/init/main.c)-30 32713 y
-SDict begin H.S end
- -30 32713
-a -30 32713 a
-SDict begin 18.2 H.A end
- -30 32713 a -30 32713 a
-SDict begin [ /View [/XYZ H.V] /Dest (5580) cvn H.B /DEST pdfmark end
- -30 32713 a -30
-32713 a
-SDict begin H.S end
- -30 32713 a -30 32713 a
-SDict begin 18.2 H.A end
- -30 32713 a -30 32713
-a
-SDict begin [ /View [/XYZ H.V] /Dest (5581) cvn H.B /DEST pdfmark end
- -30 32713 a 1924 x FP(vi)504 b FU(will)g(display)f(the)h(gi)-39
-b(v)-23 b(en)504 b(\002le)g(and)g(will)g(place)g(the)g(cursor)h(at)f
-(the)g(speci\002ed)f(line.)i(In)f(the)-30 36652 y(case)374
-b(where)f(you)g(specify)g(a)h(line)f(that)g(is)g(after)h(the)f(end)g
-(of)h(the)f(\002le,)37346 36652 y
-SDict begin H.S end
- 37346 36652 a 37346
-36652 a
-SDict begin 18.2 H.A end
- 37346 36652 a 37346 36652 a
-SDict begin [ /View [/XYZ H.V] /Dest (5582) cvn H.B /DEST pdfmark end
- 37346 36652 a FP(vi)h
-FU(will)e(place)i(the)f(cursor)-30 38666 y(on)338 b(the)h(last)f(line.)
-h(This)f(is)g(especially)g(helpful)g(for)g(programmers,)h(as)f(the)-23
-b(y)338 b(can)h(jump)f(straight)-30 40681 y(to)387 b(the)g(location)g
-(in)g(the)g(\002le)g(that)g(an)h(error)f(occurred,)h(without)f(ha)-31
-b(ving)386 b(to)i(search)f(for)g(it.)-30 41791 y
-SDict begin H.S end
- -30
-41791 a -30 41791 a
-SDict begin 18.2 H.A end
- -30 41791 a -30 41791 a
-SDict begin [ /View [/XYZ H.V] /Dest (VI-MODES) cvn H.B /DEST pdfmark
-end
- -30 41791
-a 5789 x FL(16.2)620 b(Modes)-30 47608 y
-SDict begin H.S end
- -30 47608 a
--30 47608 a
-SDict begin 18.2 H.A end
- -30 47608 a -30 47608 a
-SDict begin [ /View [/XYZ H.V] /Dest (5585) cvn H.B /DEST pdfmark end
- -30 47608 a -30 48724
-a
-SDict begin H.S end
- -30 48724 a -30 48724 a
-SDict begin 18.2 H.A end
- -30 48724 a -30 48724 a
-SDict begin [ /View [/XYZ H.V] /Dest (5588) cvn H.B /DEST pdfmark end
- -30
-48724 a -30 48724 a
-SDict begin H.S end
- -30 48724 a -30 48724 a
-SDict begin 18.2 H.A end
- -30 48724
-a -30 48724 a
-SDict begin [ /View [/XYZ H.V] /Dest (5589) cvn H.B /DEST pdfmark end
- -30 48724 a 1987 x FP(vi)541 b FU(operates)g(in)g(v)-39
-b(arious)541 b(modes,)g(which)g(are)g(used)g(to)g(accomplish)f(v)-39
-b(arious)541 b(tasks.)g(When)-30 52726 y(you)344 b(\002rst)g(start)8407
-52726 y
-SDict begin H.S end
- 8407 52726 a 8407 52726 a
-SDict begin 18.2 H.A end
- 8407 52726 a 8407 52726
-a
-SDict begin [ /View [/XYZ H.V] /Dest (5590) cvn H.B /DEST pdfmark end
- 8407 52726 a FP(vi)p FU(,)h(you)f(are)g(placed)g(into)g(command)f
-(mode.)h(From)g(this)f(point,)h(you)g(can)g(issue)-30
-54740 y(v)-39 b(arious)316 b(commands)e(to)i(manipulate)e(te)-23
-b(xt,)316 b(mo)-23 b(v)g(e)315 b(around)g(in)h(the)f(\002le,)h(sa)-31
-b(v)-23 b(e,)316 b(quit,)f(and)h(change)-30 56755 y(modes.)299
-b(Editing)e(the)i(te)-23 b(xt)298 b(is)g(done)g(in)g(insert)h(mode.)f
-(Y)-170 b(ou)298 b(can)h(quickly)e(mo)-23 b(v)g(e)298
-b(between)g(modes)-30 58770 y(with)387 b(a)g(v)-39 b(ariety)388
-b(of)f(k)-15 b(e)-23 b(ystrok)-15 b(es,)386 b(which)h(are)h(e)-23
-b(xplained)386 b(belo)-39 b(w)-101 b(.)-30 59105 y
-SDict begin H.S end
- -30
-59105 a -30 59105 a
-SDict begin 18.2 H.A end
- -30 59105 a -30 59105 a
-SDict begin [ /View [/XYZ H.V] /Dest (VI-MODES-COMMAND-MODE) cvn H.B
-/DEST pdfmark end
- -30 59105
-a 5027 x FG(Command)518 b(Mode)-30 65085 y
-SDict begin H.S end
- -30 65085
-a -30 65085 a
-SDict begin 18.2 H.A end
- -30 65085 a -30 65085 a
-SDict begin [ /View [/XYZ H.V] /Dest (5593) cvn H.B /DEST pdfmark end
- -30 65085 a 1991
-x FU(Y)-170 b(ou)375 b(are)h(\002rst)g(placed)g(into)f(command)g(mode.)
-h(From)f(this)g(mode,)h(you)g(cannot)g(directly)f(enter)p
-Black 49394 73792 a FR(197)p Black eop end
-%%Page: 198 220
-TeXDict begin 198 219 bop -8000 -8000 a
-SDict begin /product where{pop product(Distiller)search{pop pop pop
-version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
-closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
-grestore}if}{pop}ifelse}{pop}ifelse}if end
- -8000 -8000 a
-Black 0 TeXcolorgray -30 -1237 a
-SDict begin H.S end
- -30 -1237 a 0 TeXcolorgray
-0 TeXcolorgray -30 -1237 a
-SDict begin H.R end
- -30 -1237 a -30 -1237 a
-SDict begin [ /View [/XYZ H.V] /Dest (page.198) cvn H.B /DEST pdfmark
-end
- -30
--1237 a Black -30 -2687 a
-SDict begin H.S end
- -30 -2687 a -30 -2687 a
-SDict begin 18.2 H.A end
- -30
--2687 a -30 -2687 a
-SDict begin [ /View [/XYZ H.V] /Dest (5637) cvn H.B /DEST pdfmark end
- -30 -2687 a 1051 x FR(Chapter)387
-b(16)g(V)-115 b(i)p Black -30 3611 a FU(te)-23 b(xt)342
-b(or)h(edit)g(what)g(is)f(already)h(there.)h(Ho)-39 b(we)g(v)-23
-b(er)-62 b(,)343 b(you)g(can)g(manipulate)f(the)h(te)-23
-b(xt,)343 b(search,)g(quit,)-30 5626 y(sa)-31 b(v)-23
-b(e,)536 b(load)f(ne)-39 b(w)536 b(\002les,)g(and)f(more.)h(This)g(is)f
-(intended)g(only)g(to)h(be)f(an)h(introduction)f(to)g(the)-30
-7640 y(command)387 b(mode.)g(F)-23 b(or)387 b(a)g(description)g(of)g
-(the)g(v)-39 b(arious)387 b(commands,)g(see)p 0 TeXcolorgray
-40282 7640 a
-SDict begin H.S end
- 40282 7640 a FU(Section)f(16.7)48030 7640
-y
-SDict begin 18.2 H.L end
- 48030 7640 a 48030 7640 a
-SDict begin [ /Subtype /Link /Dest (VI-KEYS) cvn /H /I /Border [0 0
-0] /Color [1 0 0] H.B /ANN pdfmark end
- 48030 7640 a Black FU(.)-30
-8751 y
-SDict begin H.S end
- -30 8751 a -30 8751 a
-SDict begin 18.2 H.A end
- -30 8751 a -30 8751 a
-SDict begin [ /View [/XYZ H.V] /Dest (5595) cvn H.B /DEST pdfmark end
- -30
-8751 a 1679 x FU(Probably)586 b(the)g(most)g(often)g(used)g(command)g
-(in)g(command)g(mode)g(is)g(changing)g(to)g(insert)-30
-12445 y(mode.)442 b(This)g(is)g(accomplished)f(by)h(hitting)g(the)26700
-12445 y
-SDict begin H.S end
- 26700 12445 a 26700 12445 a
-SDict begin 18.2 H.A end
- 26700 12445 a 26700
-12445 a
-SDict begin [ /View [/XYZ H.V] /Dest (5596) cvn H.B /DEST pdfmark end
- 26700 12445 a FX(i)g FU(k)-15 b(e)-23 b(y)-101
-b(.)442 b(The)g(cursor)g(changes)g(shapes,)h(and)50744
-12445 y
-SDict begin H.S end
- 50744 12445 a 50744 12445 a
-SDict begin 18.2 H.A end
- 50744 12445 a 50744
-12445 a
-SDict begin [ /View [/XYZ H.V] /Dest (5597) cvn H.B /DEST pdfmark end
- 50744 12445 a FR(--)-30 14459 y(INSERT)369 b(--)h
-FU(is)g(displayed)f(at)h(the)g(bottom)f(of)h(the)g(screen)g(\(note)g
-(that)g(this)f(does)h(not)f(happen)h(in)-30 16474 y(all)424
-b(clones)g(of)8044 16474 y
-SDict begin H.S end
- 8044 16474 a 8044 16474 a
-SDict begin 18.2 H.A end
-
-8044 16474 a 8044 16474 a
-SDict begin [ /View [/XYZ H.V] /Dest (5598) cvn H.B /DEST pdfmark end
- 8044 16474 a FP(vi)p FU(\).)h(From)e(there,)i
-(all)f(your)h(k)-15 b(e)-23 b(ystrok)-15 b(es)422 b(are)j(entered)f
-(into)g(the)g(current)h(b)-31 b(uf)-39 b(fer)-30 18489
-y(and)420 b(are)f(displayed)g(to)g(the)h(screen.)g(T)-124
-b(o)419 b(get)h(back)f(into)g(command)g(mode,)h(hit)f(the)45662
-18489 y
-SDict begin H.S end
- 45662 18489 a 45662 18489 a
-SDict begin 18.2 H.A end
- 45662 18489 a 45662
-18489 a
-SDict begin [ /View [/XYZ H.V] /Dest (5599) cvn H.B /DEST pdfmark end
- 45662 18489 a FX(ESCAPE)-30 20503 y FU(k)-15
-b(e)-23 b(y)-101 b(.)-30 21614 y
-SDict begin H.S end
- -30 21614 a -30 21614
-a
-SDict begin 18.2 H.A end
- -30 21614 a -30 21614 a
-SDict begin [ /View [/XYZ H.V] /Dest (5600) cvn H.B /DEST pdfmark end
- -30 21614 a 1679 x FU(Command)450
-b(mode)g(is)g(also)h(where)f(you)h(mo)-23 b(v)g(e)449
-b(around)i(in)f(the)h(\002le.)f(On)h(some)f(systems,)g(you)-30
-25308 y(can)411 b(use)f(the)g(arro)-39 b(w)410 b(k)-15
-b(e)-23 b(ys)410 b(to)g(mo)-23 b(v)g(e)409 b(around.)i(On)f(other)g
-(systems,)g(you)g(may)g(need)g(to)g(use)g(the)-30 27322
-y(more)423 b(traditional)e(k)-15 b(e)-23 b(ys)422 b(of)15310
-27322 y
-SDict begin H.S end
- 15310 27322 a 15310 27322 a
-SDict begin 18.2 H.A end
- 15310 27322 a 15310
-27322 a
-SDict begin [ /View [/XYZ H.V] /Dest (5601) cvn H.B /DEST pdfmark end
- 15310 27322 a FU(\223)15998 27322 y
-SDict begin H.S end
- 15998 27322
-a 15998 27322 a
-SDict begin 18.2 H.A end
- 15998 27322 a 15998 27322 a
-SDict begin [ /View [/XYZ H.V] /Dest (5602) cvn H.B /DEST pdfmark end
- 15998 27322
-a FX(hjkl)p FU(\224.)g(Here)h(is)f(a)h(simple)f(listing)g(of)g(ho)-39
-b(w)423 b(these)g(k)-15 b(e)-23 b(ys)421 b(are)i(used)-30
-29337 y(to)387 b(mo)-23 b(v)g(e)387 b(around:)-30 29352
-y
-SDict begin H.S end
- -30 29352 a -30 29352 a
-SDict begin 18.2 H.A end
- -30 29352 a -30 29352 a
-SDict begin [ /View [/XYZ H.V] /Dest (5603) cvn H.B /DEST pdfmark end
- -30
-29352 a -30 31677 a
-SDict begin H.S end
- -30 31677 a -30 31677 a
-SDict begin 18.2 H.A end
- -30 31677
-a -30 31677 a
-SDict begin [ /View [/XYZ H.V] /Dest (5604) cvn H.B /DEST pdfmark end
- -30 31677 a -30 31677 a
-SDict begin H.S end
- -30 31677 a -30
-31677 a
-SDict begin 18.2 H.A end
- -30 31677 a -30 31677 a
-SDict begin [ /View [/XYZ H.V] /Dest (table.12) cvn H.B /DEST pdfmark
-end
- -30 31677 a 1727 x FX(h)12090
-b FU(mo)-23 b(v)g(e)386 b(left)h(one)g(character)-30
-35463 y FX(j)12436 b FU(mo)-23 b(v)g(e)386 b(do)-39 b(wn)387
-b(one)g(character)-30 37522 y FX(k)12090 b FU(mo)-23
-b(v)g(e)386 b(up)h(one)g(character)-30 39584 y FX(l)12521
-b FU(mo)-23 b(v)g(e)386 b(right)h(one)g(character)-30
-41469 y
-SDict begin H.S end
- -30 41469 a -30 41469 a
-SDict begin 18.2 H.A end
- -30 41469 a -30 41469
-a
-SDict begin [ /View [/XYZ H.V] /Dest (5624) cvn H.B /DEST pdfmark end
- -30 41469 a 2015 x FU(Simply)k(press)i(a)f(k)-15 b(e)-23
-b(y)392 b(to)g(mo)-23 b(v)g(e.)392 b(As)g(you)h(will)f(see)g(later)-62
-b(,)393 b(these)f(k)-15 b(e)-23 b(ys)392 b(can)g(be)h(combined)e(with)
--30 45499 y(a)d(number)e(to)i(mo)-23 b(v)g(e)386 b(much)h(more)g(ef)-39
-b(\002ciently)-101 b(.)-30 46609 y
-SDict begin H.S end
- -30 46609 a -30 46609
-a
-SDict begin 18.2 H.A end
- -30 46609 a -30 46609 a
-SDict begin [ /View [/XYZ H.V] /Dest (5625) cvn H.B /DEST pdfmark end
- -30 46609 a 1679 x FU(Man)-23
-b(y)373 b(of)g(the)h(commands)e(that)h(you)g(will)g(use)g(in)g(command)
-g(mode)g(be)-23 b(gin)373 b(with)g(a)g(colon.)g(F)-23
-b(or)-30 50303 y(e)g(xample,)470 b(quitting)g(is)12853
-50303 y
-SDict begin H.S end
- 12853 50303 a 12853 50303 a
-SDict begin 18.2 H.A end
- 12853 50303 a 12853
-50303 a
-SDict begin [ /View [/XYZ H.V] /Dest (5626) cvn H.B /DEST pdfmark end
- 12853 50303 a FX(:q)p FU(,)h(as)f(discussed)g(earlier)-85
-b(.)470 b(The)h(colon)f(simply)f(indicates)h(that)g(it)h(is)f(a)-30
-52318 y(command,)455 b(while)f(the)13172 52318 y
-SDict begin H.S end
- 13172
-52318 a 13172 52318 a
-SDict begin 18.2 H.A end
- 13172 52318 a 13172 52318 a
-SDict begin [ /View [/XYZ H.V] /Dest (5627) cvn H.B /DEST pdfmark end
- 13172
-52318 a FU(\223)13860 52318 y
-SDict begin H.S end
- 13860 52318 a 13860 52318
-a
-SDict begin 18.2 H.A end
- 13860 52318 a 13860 52318 a
-SDict begin [ /View [/XYZ H.V] /Dest (5628) cvn H.B /DEST pdfmark end
- 13860 52318 a FX(q)p FU(\224)h(tells)
-18904 52318 y
-SDict begin H.S end
- 18904 52318 a 18904 52318 a
-SDict begin 18.2 H.A end
- 18904 52318
-a 18904 52318 a
-SDict begin [ /View [/XYZ H.V] /Dest (5629) cvn H.B /DEST pdfmark end
- 18904 52318 a FP(vi)g FU(to)f(quit.)h(Other)g(commands)
-f(are)i(an)f(optional)f(number)-62 b(,)-30 54332 y(follo)-39
-b(wed)577 b(by)h(a)f(letter)-85 b(.)578 b(These)f(commands)g(do)g(not)g
-(ha)-31 b(v)-23 b(e)577 b(a)h(colon)f(before)h(them,)f(and)h(are)-30
-56347 y(generally)387 b(used)g(to)g(manipulate)g(the)g(te)-23
-b(xt.)-30 57457 y
-SDict begin H.S end
- -30 57457 a -30 57457 a
-SDict begin 18.2 H.A end
- -30 57457 a
--30 57457 a
-SDict begin [ /View [/XYZ H.V] /Dest (5630) cvn H.B /DEST pdfmark end
- -30 57457 a 1679 x FU(F)g(or)456 b(e)-23
-b(xample,)457 b(deleting)f(one)g(line)g(from)h(a)g(\002le)f(is)g
-(accomplished)g(by)g(hitting)43585 59136 y
-SDict begin H.S end
- 43585 59136
-a 43585 59136 a
-SDict begin 18.2 H.A end
- 43585 59136 a 43585 59136 a
-SDict begin [ /View [/XYZ H.V] /Dest (5631) cvn H.B /DEST pdfmark end
- 43585 59136
-a FX(dd)p FU(.)g(This)g(will)-30 61151 y(remo)-23 b(v)g(e)560
-b(the)g(line)h(that)f(the)g(cursor)h(is)f(on.)h(Issuing)f(the)g
-(command)38502 61151 y
-SDict begin H.S end
- 38502 61151 a 38502 61151 a
-SDict begin 18.2 H.A end
- 38502
-61151 a 38502 61151 a
-SDict begin [ /View [/XYZ H.V] /Dest (5632) cvn H.B /DEST pdfmark end
- 38502 61151 a FX(4dd)g FU(w)-15
-b(ould)560 b(tell)48522 61151 y
-SDict begin H.S end
- 48522 61151 a 48522 61151
-a
-SDict begin 18.2 H.A end
- 48522 61151 a 48522 61151 a
-SDict begin [ /View [/XYZ H.V] /Dest (5633) cvn H.B /DEST pdfmark end
- 48522 61151 a FP(vi)g FU(to)-30
-63166 y(remo)-23 b(v)g(e)416 b(the)g(line)g(that)g(the)g(cursor)h(is)f
-(on)g(and)g(the)h(three)f(after)g(that.)h(In)f(general,)h(the)f(number)
--30 65180 y(tells)2941 65180 y
-SDict begin H.S end
- 2941 65180 a 2941 65180
-a
-SDict begin 18.2 H.A end
- 2941 65180 a 2941 65180 a
-SDict begin [ /View [/XYZ H.V] /Dest (5634) cvn H.B /DEST pdfmark end
- 2941 65180 a FP(vi)387 b
-FU(ho)-39 b(w)387 b(man)-23 b(y)387 b(times)g(to)g(perform)g(the)g
-(command.)-30 66291 y
-SDict begin H.S end
- -30 66291 a -30 66291 a
-SDict begin 18.2 H.A end
- -30 66291
-a -30 66291 a
-SDict begin [ /View [/XYZ H.V] /Dest (5635) cvn H.B /DEST pdfmark end
- -30 66291 a 1679 x FU(Y)-170 b(ou)358 b(can)g(combine)f
-(a)h(number)g(with)g(the)g(mo)-23 b(v)g(ement)356 b(k)-15
-b(e)-23 b(ys)358 b(to)f(mo)-23 b(v)g(e)358 b(around)g(se)-39
-b(v)-23 b(eral)358 b(charac-)p Black -30 73792 a FR(198)p
-Black eop end
-%%Page: 199 221
-TeXDict begin 199 220 bop -8000 -8000 a
-SDict begin /product where{pop product(Distiller)search{pop pop pop
-version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
-closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
-grestore}if}{pop}ifelse}{pop}ifelse}if end
- -8000 -8000 a
-Black 0 TeXcolorgray -30 -1237 a
-SDict begin H.S end
- -30 -1237 a 0 TeXcolorgray
-0 TeXcolorgray -30 -1237 a
-SDict begin H.R end
- -30 -1237 a -30 -1237 a
-SDict begin [ /View [/XYZ H.V] /Dest (page.199) cvn H.B /DEST pdfmark
-end
- -30
--1237 a Black 43108 -1636 a FR(Chapter)387 b(16)g(V)-115
-b(i)p Black -30 3611 a FU(ters)387 b(at)h(a)f(time.)g(F)-23
-b(or)387 b(e)-23 b(xample,)17226 3611 y
-SDict begin H.S end
- 17226 3611 a
-17226 3611 a
-SDict begin 18.2 H.A end
- 17226 3611 a 17226 3611 a
-SDict begin [ /View [/XYZ H.V] /Dest (5636) cvn H.B /DEST pdfmark end
- 17226 3611 a FX(10k)387
-b FU(w)-15 b(ould)386 b(mo)-23 b(v)g(e)387 b(up)g(ten)g(lines)g(on)g
-(the)h(screen.)-30 6401 y(Command)481 b(mode)i(can)f(also)g(be)h(used)f
-(to)g(cut)h(and)f(paste,)h(insert)f(te)-23 b(xt,)482
-b(and)h(read)f(other)g(\002les)-30 8415 y(into)522 b(the)h(current)f(b)
--31 b(uf)-39 b(fer)-85 b(.)523 b(Cop)-15 b(ying)521 b(te)-23
-b(xt)522 b(is)h(accomplished)e(with)h(the)h FX(y)f FU(k)-15
-b(e)-23 b(y)522 b(\()44274 8415 y
-SDict begin H.S end
- 44274 8415 a 44274
-8415 a
-SDict begin 18.2 H.A end
- 44274 8415 a 44274 8415 a
-SDict begin [ /View [/XYZ H.V] /Dest (5639) cvn H.B /DEST pdfmark end
- 44274 8415 a FX(y)h
-FU(stands)f(for)-30 10430 y(yank\).)438 b(Cop)-15 b(ying)436
-b(the)h(current)g(line)g(is)h(done)f(by)g(typing)31312
-10430 y
-SDict begin H.S end
- 31312 10430 a 31312 10430 a
-SDict begin 18.2 H.A end
- 31312 10430 a 31312
-10430 a
-SDict begin [ /View [/XYZ H.V] /Dest (5640) cvn H.B /DEST pdfmark end
- 31312 10430 a FX(yy)p FU(,)g(and)h(this)f(can)g(be)h(pre\002x)
--23 b(ed)436 b(with)-30 12445 y(a)375 b(number)f(to)h(yank)f(more)h
-(lines.)g(Then,)g(mo)-23 b(v)g(e)373 b(to)i(the)g(location)f(for)g(the)
-h(cop)-15 b(y)374 b(and)h(hit)47742 12445 y
-SDict begin H.S end
- 47742 12445
-a 47742 12445 a
-SDict begin 18.2 H.A end
- 47742 12445 a 47742 12445 a
-SDict begin [ /View [/XYZ H.V] /Dest (5641) cvn H.B /DEST pdfmark end
- 47742 12445
-a FX(p)p FU(.)g(The)-30 14459 y(te)-23 b(xt)387 b(is)g(pasted)g(on)g
-(the)g(line)g(after)h(the)f(current)g(one.)-30 15570
-y
-SDict begin H.S end
- -30 15570 a -30 15570 a
-SDict begin 18.2 H.A end
- -30 15570 a -30 15570 a
-SDict begin [ /View [/XYZ H.V] /Dest (5642) cvn H.B /DEST pdfmark end
- -30
-15570 a 1679 x FU(Cutting)310 b(te)-23 b(xt)311 b(is)h(done)f(by)h
-(typing)18349 17249 y
-SDict begin H.S end
- 18349 17249 a 18349 17249 a
-SDict begin 18.2 H.A end
- 18349
-17249 a 18349 17249 a
-SDict begin [ /View [/XYZ H.V] /Dest (5643) cvn H.B /DEST pdfmark end
- 18349 17249 a FX(dd)p FU(,)g(and)23321
-17249 y
-SDict begin H.S end
- 23321 17249 a 23321 17249 a
-SDict begin 18.2 H.A end
- 23321 17249 a 23321
-17249 a
-SDict begin [ /View [/XYZ H.V] /Dest (5644) cvn H.B /DEST pdfmark end
- 23321 17249 a FX(p)f FU(can)h(be)g(used)f(to)g(paste)h(the)f
-(cut)h(te)-23 b(xt)311 b(back)g(into)g(the)-30 19264
-y(\002le.)468 b(Reading)e(in)h(te)-23 b(xt)467 b(from)g(another)g
-(\002le)g(is)h(a)f(simple)g(procedure.)g(Just)g(type)44246
-19264 y
-SDict begin H.S end
- 44246 19264 a 44246 19264 a
-SDict begin 18.2 H.A end
- 44246 19264 a 44246
-19264 a
-SDict begin [ /View [/XYZ H.V] /Dest (5645) cvn H.B /DEST pdfmark end
- 44246 19264 a FX(:r)p FU(,)h(follo)-39 b(wed)-30
-21278 y(by)401 b(a)g(space)h(and)f(the)g(\002le)g(name)g(that)g
-(contains)f(the)h(te)-23 b(xt)401 b(to)g(be)g(inserted.)g(The)g
-(\002le')-85 b(s)401 b(contents)-30 23293 y(will)388
-b(be)g(pasted)g(into)g(the)g(current)g(b)-31 b(uf)-39
-b(fer)388 b(on)g(the)h(line)e(after)i(the)f(cursor)-85
-b(.)388 b(More)g(sophisticated)-30 25308 y
-SDict begin H.S end
- -30 25308
-a -30 25308 a
-SDict begin 18.2 H.A end
- -30 25308 a -30 25308 a
-SDict begin [ /View [/XYZ H.V] /Dest (5646) cvn H.B /DEST pdfmark end
- -30 25308 a FP(vi)f
-FU(clones)g(e)-39 b(v)-23 b(en)388 b(contain)e(\002lename)h(completion)
-f(similar)h(to)g(the)g(shell')-85 b(s.)-30 26418 y
-SDict begin H.S end
- -30
-26418 a -30 26418 a
-SDict begin 18.2 H.A end
- -30 26418 a -30 26418 a
-SDict begin [ /View [/XYZ H.V] /Dest (5647) cvn H.B /DEST pdfmark end
- -30 26418
-a 1679 x FU(The)485 b(\002nal)g(use)g(that)g(will)g(be)g(co)-23
-b(v)g(ered)485 b(is)f(searching.)i(Command)e(mode)h(allo)-39
-b(ws)484 b(for)i(simple)-30 30112 y(searching,)412 b(as)f(well)g(as)h
-(complicated)e(search-and-replace)i(commands)e(that)h(mak)-15
-b(e)411 b(use)g(of)h(a)-30 32126 y(po)-39 b(werful)501
-b(v)-23 b(ersion)499 b(of)i(re)-23 b(gular)500 b(e)-23
-b(xpressions.)500 b(A)h(complete)f(discussion)f(of)i(re)-23
-b(gular)500 b(e)-23 b(xpres-)-30 34141 y(sions)302 b(is)h(be)-23
-b(yond)302 b(the)h(scope)g(of)g(this)f(chapter)-62 b(,)303
-b(so)g(this)f(section)h(will)f(only)h(co)-23 b(v)g(er)302
-b(simple)g(means)-30 36156 y(of)387 b(searching.)-30
-37266 y
-SDict begin H.S end
- -30 37266 a -30 37266 a
-SDict begin 18.2 H.A end
- -30 37266 a -30 37266
-a
-SDict begin [ /View [/XYZ H.V] /Dest (5648) cvn H.B /DEST pdfmark end
- -30 37266 a 1679 x FU(A)451 b(simple)f(search)i(is)e(accomplished)h
-(by)f(hitting)g(the)29836 38945 y
-SDict begin H.S end
- 29836 38945 a 29836
-38945 a
-SDict begin 18.2 H.A end
- 29836 38945 a 29836 38945 a
-SDict begin [ /View [/XYZ H.V] /Dest (5649) cvn H.B /DEST pdfmark end
- 29836 38945 a FX(/)h
-FU(k)-15 b(e)-23 b(y)-101 b(,)451 b(follo)-39 b(wed)451
-b(by)g(the)g(te)-23 b(xt)450 b(that)h(you)-30 40960 y(are)432
-b(searching)g(for)-85 b(.)11206 40960 y
-SDict begin H.S end
- 11206 40960 a
-11206 40960 a
-SDict begin 18.2 H.A end
- 11206 40960 a 11206 40960 a
-SDict begin [ /View [/XYZ H.V] /Dest (5650) cvn H.B /DEST pdfmark end
- 11206 40960
-a FP(vi)431 b FU(will)h(search)g(forw)-15 b(ard)431 b(from)h(the)f
-(cursor)h(to)g(the)f(end)h(of)g(the)f(\002le)h(for)g(a)-30
-42975 y(match,)460 b(stopping)e(when)i(it)f(\002nds)g(one.)h(Note)f
-(that)h(ine)-23 b(xact)459 b(matches)g(will)g(cause)45580
-42975 y
-SDict begin H.S end
- 45580 42975 a 45580 42975 a
-SDict begin 18.2 H.A end
- 45580 42975 a 45580
-42975 a
-SDict begin [ /View [/XYZ H.V] /Dest (5651) cvn H.B /DEST pdfmark end
- 45580 42975 a FP(vi)g FU(to)g(stop)-30 44989
-y(as)370 b(well.)g(F)-23 b(or)369 b(e)-23 b(xample,)370
-b(a)g(search)g(for)21104 44989 y
-SDict begin H.S end
- 21104 44989 a 21104
-44989 a
-SDict begin 18.2 H.A end
- 21104 44989 a 21104 44989 a
-SDict begin [ /View [/XYZ H.V] /Dest (5652) cvn H.B /DEST pdfmark end
- 21104 44989 a FU(\223)21792
-44989 y
-SDict begin H.S end
- 21792 44989 a 21792 44989 a
-SDict begin 18.2 H.A end
- 21792 44989 a 21792
-44989 a
-SDict begin [ /View [/XYZ H.V] /Dest (5653) cvn H.B /DEST pdfmark end
- 21792 44989 a FR(the)p FU(\224)g(will)f(cause)31337
-44989 y
-SDict begin H.S end
- 31337 44989 a 31337 44989 a
-SDict begin 18.2 H.A end
- 31337 44989 a 31337
-44989 a
-SDict begin [ /View [/XYZ H.V] /Dest (5654) cvn H.B /DEST pdfmark end
- 31337 44989 a FP(vi)h FU(to)f(stop)h(on)39643
-44989 y
-SDict begin H.S end
- 39643 44989 a 39643 44989 a
-SDict begin 18.2 H.A end
- 39643 44989 a 39643
-44989 a
-SDict begin [ /View [/XYZ H.V] /Dest (5655) cvn H.B /DEST pdfmark end
- 39643 44989 a FU(\223)40331 44989 y
-SDict begin H.S end
- 40331 44989
-a 40331 44989 a
-SDict begin 18.2 H.A end
- 40331 44989 a 40331 44989 a
-SDict begin [ /View [/XYZ H.V] /Dest (5656) cvn H.B /DEST pdfmark end
- 40331 44989
-a FR(then)p FU(\224,)44446 44989 y
-SDict begin H.S end
- 44446 44989 a 44446
-44989 a
-SDict begin 18.2 H.A end
- 44446 44989 a 44446 44989 a
-SDict begin [ /View [/XYZ H.V] /Dest (5657) cvn H.B /DEST pdfmark end
- 44446 44989 a FU(\223)45134
-44989 y
-SDict begin H.S end
- 45134 44989 a 45134 44989 a
-SDict begin 18.2 H.A end
- 45134 44989 a 45134
-44989 a
-SDict begin [ /View [/XYZ H.V] /Dest (5658) cvn H.B /DEST pdfmark end
- 45134 44989 a FR(ther)-57 b(efor)g(e)p FU(\224,)-30
-47004 y(and)387 b(so)h(on.)f(This)g(is)g(because)g(all)h(of)f(those)g
-(w)-15 b(ords)386 b(do)h(match)34087 47004 y
-SDict begin H.S end
- 34087 47004
-a 34087 47004 a
-SDict begin 18.2 H.A end
- 34087 47004 a 34087 47004 a
-SDict begin [ /View [/XYZ H.V] /Dest (5659) cvn H.B /DEST pdfmark end
- 34087 47004
-a FU(\223)34775 47004 y
-SDict begin H.S end
- 34775 47004 a 34775 47004 a
-SDict begin 18.2 H.A end
- 34775
-47004 a 34775 47004 a
-SDict begin [ /View [/XYZ H.V] /Dest (5660) cvn H.B /DEST pdfmark end
- 34775 47004 a FR(the)p FU(\224.)-30
-47797 y
-SDict begin H.S end
- -30 47797 a -30 47797 a
-SDict begin 18.2 H.A end
- -30 47797 a -30 47797
-a
-SDict begin [ /View [/XYZ H.V] /Dest (5661) cvn H.B /DEST pdfmark end
- -30 47797 a 1996 x FU(After)3629 49793 y
-SDict begin H.S end
- 3629 49793
-a 3629 49793 a
-SDict begin 18.2 H.A end
- 3629 49793 a 3629 49793 a
-SDict begin [ /View [/XYZ H.V] /Dest (5662) cvn H.B /DEST pdfmark end
- 3629 49793 a
-FP(vi)i FU(has)f(found)h(the)f(\002rst)g(match,)h(you)g(can)g(continue)
-f(on)g(to)h(the)g(ne)-23 b(xt)388 b(match)g(simply)g(by)-30
-51808 y(hitting)456 b(the)6827 51808 y
-SDict begin H.S end
- 6827 51808 a 6827
-51808 a
-SDict begin 18.2 H.A end
- 6827 51808 a 6827 51808 a
-SDict begin [ /View [/XYZ H.V] /Dest (5663) cvn H.B /DEST pdfmark end
- 6827 51808 a FX(/)h
-FU(k)-15 b(e)-23 b(y)456 b(follo)-39 b(wed)457 b(by)g(enter)-85
-b(.)458 b(Y)-170 b(ou)456 b(can)i(also)f(search)g(backw)-15
-b(ards)457 b(through)f(the)h(\002le)-30 53823 y(by)352
-b(replacing)g(the)g(slash)f(with)h(the)19042 53823 y
-SDict begin H.S end
-
-19042 53823 a 19042 53823 a
-SDict begin 18.2 H.A end
- 19042 53823 a 19042 53823
-a
-SDict begin [ /View [/XYZ H.V] /Dest (5664) cvn H.B /DEST pdfmark end
- 19042 53823 a FX(?)g FU(k)-15 b(e)-23 b(y)-101 b(.)351
-b(F)-23 b(or)352 b(e)-23 b(xample,)352 b(searching)f(backw)-15
-b(ards)352 b(through)f(the)-30 55837 y(\002le)387 b(for)4533
-55837 y
-SDict begin H.S end
- 4533 55837 a 4533 55837 a
-SDict begin 18.2 H.A end
- 4533 55837 a 4533 55837
-a
-SDict begin [ /View [/XYZ H.V] /Dest (5665) cvn H.B /DEST pdfmark end
- 4533 55837 a FU(\223)5221 55837 y
-SDict begin H.S end
- 5221 55837 a 5221
-55837 a
-SDict begin 18.2 H.A end
- 5221 55837 a 5221 55837 a
-SDict begin [ /View [/XYZ H.V] /Dest (5666) cvn H.B /DEST pdfmark end
- 5221 55837 a FR(the)p
-FU(\224)g(w)-15 b(ould)386 b(be)i(accomplished)e(by)h(typing)29482
-55837 y
-SDict begin H.S end
- 29482 55837 a 29482 55837 a
-SDict begin 18.2 H.A end
- 29482 55837 a 29482
-55837 a
-SDict begin [ /View [/XYZ H.V] /Dest (5667) cvn H.B /DEST pdfmark end
- 29482 55837 a FX(?the)p FU(.)-30 56948 y
-SDict begin H.S end
- -30
-56948 a -30 56948 a
-SDict begin 18.2 H.A end
- -30 56948 a -30 56948 a
-SDict begin [ /View [/XYZ H.V] /Dest (VI-MODES-INSET-MODE) cvn H.B
-/DEST pdfmark end
- -30 56948
-a 5181 x FG(Inser)37 b(t)518 b(Mode)-30 63083 y
-SDict begin H.S end
- -30 63083
-a -30 63083 a
-SDict begin 18.2 H.A end
- -30 63083 a -30 63083 a
-SDict begin [ /View [/XYZ H.V] /Dest (5670) cvn H.B /DEST pdfmark end
- -30 63083 a 1991
-x FU(Inserting)309 b(and)g(replacing)f(te)-23 b(xt)309
-b(is)g(accomplished)f(in)h(insert)g(mode.)g(As)g(pre)-39
-b(viously)308 b(discussed,)-30 67089 y(you)493 b(can)h(get)g(into)f
-(insert)g(mode)g(by)h(hitting)25185 67089 y
-SDict begin H.S end
- 25185 67089
-a 25185 67089 a
-SDict begin 18.2 H.A end
- 25185 67089 a 25185 67089 a
-SDict begin [ /View [/XYZ H.V] /Dest (5671) cvn H.B /DEST pdfmark end
- 25185 67089
-a FX(i)g FU(from)f(command)g(mode.)h(Then,)g(all)f(te)-23
-b(xt)493 b(that)p Black 49451 73792 a FR(199)p Black
-eop end
-%%Page: 200 222
-TeXDict begin 200 221 bop -8000 -8000 a
-SDict begin /product where{pop product(Distiller)search{pop pop pop
-version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
-closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
-grestore}if}{pop}ifelse}{pop}ifelse}if end
- -8000 -8000 a
-Black 0 TeXcolorgray -30 -1237 a
-SDict begin H.S end
- -30 -1237 a 0 TeXcolorgray
-0 TeXcolorgray -30 -1237 a
-SDict begin H.R end
- -30 -1237 a -30 -1237 a
-SDict begin [ /View [/XYZ H.V] /Dest (page.200) cvn H.B /DEST pdfmark
-end
- -30
--1237 a Black -30 -2687 a
-SDict begin H.S end
- -30 -2687 a -30 -2687 a
-SDict begin 18.2 H.A end
- -30
--2687 a -30 -2687 a
-SDict begin [ /View [/XYZ H.V] /Dest (5702) cvn H.B /DEST pdfmark end
- -30 -2687 a 1051 x FR(Chapter)387
-b(16)g(V)-115 b(i)p Black -30 3611 a FU(you)392 b(type)f(is)h(entered)g
-(into)f(the)h(current)g(b)-31 b(uf)-39 b(fer)-85 b(.)392
-b(Hitting)f(the)33476 3611 y
-SDict begin H.S end
- 33476 3611 a 33476 3611
-a
-SDict begin 18.2 H.A end
- 33476 3611 a 33476 3611 a
-SDict begin [ /View [/XYZ H.V] /Dest (5672) cvn H.B /DEST pdfmark end
- 33476 3611 a FX(ESCAPE)f
-FU(k)-15 b(e)-23 b(y)391 b(tak)-15 b(es)391 b(you)h(back)-30
-5626 y(into)387 b(command)f(mode.)-30 6416 y
-SDict begin H.S end
- -30 6416
-a -30 6416 a
-SDict begin 18.2 H.A end
- -30 6416 a -30 6416 a
-SDict begin [ /View [/XYZ H.V] /Dest (5673) cvn H.B /DEST pdfmark end
- -30 6416 a 1999 x
-FU(Replacing)594 b(te)-23 b(xt)593 b(is)h(accomplished)g(in)g(se)-39
-b(v)-23 b(eral)594 b(w)-15 b(ays.)594 b(From)g(command)f(mode,)i
-(hitting)51088 8415 y
-SDict begin H.S end
- 51088 8415 a 51088 8415 a
-SDict begin 18.2 H.A end
- 51088
-8415 a 51088 8415 a
-SDict begin [ /View [/XYZ H.V] /Dest (5674) cvn H.B /DEST pdfmark end
- 51088 8415 a FX(r)-30 10430 y FU(will)407
-b(allo)-39 b(w)407 b(you)g(to)g(replace)h(the)f(one)g(character)h
-(underneath)f(the)g(cursor)-85 b(.)408 b(Just)e(type)i(the)f(ne)-39
-b(w)-30 12445 y(character)402 b(and)g(it)f(will)g(replace)h(the)f(one)h
-(under)f(the)h(cursor)-85 b(.)401 b(Y)-170 b(ou)401 b(will)g(then)h(be)
-f(immediately)-30 14459 y(placed)305 b(back)g(into)f(command)h(mode.)g
-(Hitting)25517 14459 y
-SDict begin H.S end
- 25517 14459 a 25517 14459 a
-SDict begin 18.2 H.A end
- 25517
-14459 a 25517 14459 a
-SDict begin [ /View [/XYZ H.V] /Dest (5675) cvn H.B /DEST pdfmark end
- 25517 14459 a FX(R)g FU(allo)-39
-b(ws)305 b(you)g(to)f(replace)i(as)e(man)-23 b(y)305
-b(characters)-30 16474 y(as)362 b(you')-77 b(d)361 b(lik)-15
-b(e.)361 b(T)-124 b(o)362 b(get)g(out)f(of)h(this)g(replacement)f
-(mode,)h(just)f(hit)36122 16474 y
-SDict begin H.S end
- 36122 16474 a 36122
-16474 a
-SDict begin 18.2 H.A end
- 36122 16474 a 36122 16474 a
-SDict begin [ /View [/XYZ H.V] /Dest (5676) cvn H.B /DEST pdfmark end
- 36122 16474 a FX(ESCAPE)f
-FU(to)i(go)g(back)f(into)-30 18489 y(command)387 b(mode.)-30
-19279 y
-SDict begin H.S end
- -30 19279 a -30 19279 a
-SDict begin 18.2 H.A end
- -30 19279 a -30 19279
-a
-SDict begin [ /View [/XYZ H.V] /Dest (5677) cvn H.B /DEST pdfmark end
- -30 19279 a 1999 x FU(There)492 b(is)f(yet)g(another)g(w)-15
-b(ay)491 b(to)g(toggle)g(between)g(insertion)g(and)g(replacement.)h
-(Hitting)e(the)-30 23293 y
-SDict begin H.S end
- -30 23293 a -30 23293 a
-SDict begin 18.2 H.A end
- -30
-23293 a -30 23293 a
-SDict begin [ /View [/XYZ H.V] /Dest (5678) cvn H.B /DEST pdfmark end
- -30 23293 a FX(INSER)-62 b(T)526
-b FU(k)-15 b(e)-23 b(y)526 b(from)i(command)e(mode)h(will)g(tak)-15
-b(e)526 b(you)h(into)g(insert)g(mode.)g(Once)h(you)f(are)-30
-25308 y(in)478 b(insert)g(mode,)g(the)g(k)-15 b(e)-23
-b(yboard')-85 b(s)19496 25308 y
-SDict begin H.S end
- 19496 25308 a 19496 25308
-a
-SDict begin 18.2 H.A end
- 19496 25308 a 19496 25308 a
-SDict begin [ /View [/XYZ H.V] /Dest (5679) cvn H.B /DEST pdfmark end
- 19496 25308 a FX(INSER)-62
-b(T)477 b FU(k)-15 b(e)-23 b(y)477 b(serv)-23 b(es)478
-b(as)g(a)g(toggle)g(between)f(insert)h(and)-30 27322
-y(replace.)562 b(Hitting)e(it)g(once)h(will)g(allo)-39
-b(w)561 b(you)g(to)f(replace.)i(Hitting)e(it)h(once)g(more)f(will)h
-(once)-30 29337 y(ag)-8 b(ain)388 b(allo)-39 b(w)387
-b(you)g(to)g(insert)g(te)-23 b(xt.)-30 31997 y
-SDict begin H.S end
- -30 31997
-a -30 31997 a
-SDict begin 18.2 H.A end
- -30 31997 a -30 31997 a
-SDict begin [ /View [/XYZ H.V] /Dest (VI-OPENING-FILES) cvn H.B /DEST
-pdfmark end
- -30 31997 a 5789
-x FL(16.3)620 b(Opening)f(Files)-30 38283 y
-SDict begin H.S end
- -30 38283
-a -30 38283 a
-SDict begin 18.2 H.A end
- -30 38283 a -30 38283 a
-SDict begin [ /View [/XYZ H.V] /Dest (5682) cvn H.B /DEST pdfmark end
- -30 38283 a -30
-39398 a
-SDict begin H.S end
- -30 39398 a -30 39398 a
-SDict begin 18.2 H.A end
- -30 39398 a -30 39398
-a
-SDict begin [ /View [/XYZ H.V] /Dest (5685) cvn H.B /DEST pdfmark end
- -30 39398 a -30 39398 a
-SDict begin H.S end
- -30 39398 a -30 39398 a
-SDict begin 18.2 H.A end
- -30
-39398 a -30 39398 a
-SDict begin [ /View [/XYZ H.V] /Dest (5686) cvn H.B /DEST pdfmark end
- -30 39398 a 1519 x FP(vi)425 b FU(allo)-39
-b(ws)424 b(you)g(to)h(open)f(\002les)h(from)f(command)g(mode)g(as)h
-(well)g(as)f(specifying)g(a)h(\002le)g(on)f(the)-30 42931
-y(command)387 b(line)g(to)g(open.)g(T)-124 b(o)388 b(open)f(the)g
-(\002le)24597 42931 y
-SDict begin H.S end
- 24597 42931 a 24597 42931 a
-SDict begin 18.2 H.A end
- 24597
-42931 a 24597 42931 a
-SDict begin [ /View [/XYZ H.V] /Dest (5687) cvn H.B /DEST pdfmark end
- 24597 42931 a FQ(/etc/lilo.conf)p
-FU(:)-30 44816 y
-SDict begin H.S end
- -30 44816 a -30 44816 a
-SDict begin 14.56 H.A end
- -30 44816 a
--30 44816 a
-SDict begin [ /View [/XYZ H.V] /Dest (5688) cvn H.B /DEST pdfmark end
- -30 44816 a -30 44816 a
-SDict begin H.S end
- -30 44816 a -30 44816
-a
-SDict begin 14.56 H.A end
- -30 44816 a -30 44816 a
-SDict begin [ /View [/XYZ H.V] /Dest (5689) cvn H.B /DEST pdfmark end
- -30 44816 a 1277 x FH(:e)744
-b(/etc/lilo.conf)-30 47734 y
-SDict begin H.S end
- -30 47734 a -30 47734 a
-SDict begin 18.2 H.A end
-
--30 47734 a -30 47734 a
-SDict begin [ /View [/XYZ H.V] /Dest (5690) cvn H.B /DEST pdfmark end
- -30 47734 a 1923 x FU(If)310
-b(you)f(ha)-31 b(v)-23 b(e)309 b(made)g(changes)g(to)h(the)f(current)g
-(b)-31 b(uf)-39 b(fer)310 b(without)e(sa)-31 b(ving,)38295
-49657 y
-SDict begin H.S end
- 38295 49657 a 38295 49657 a
-SDict begin 18.2 H.A end
- 38295 49657 a 38295
-49657 a
-SDict begin [ /View [/XYZ H.V] /Dest (5691) cvn H.B /DEST pdfmark end
- 38295 49657 a FP(vi)309 b FU(will)g(complain.)g(Y)-170
-b(ou)-30 51672 y(can)504 b(still)f(open)g(the)h(\002le)f(without)g(sa)
--31 b(ving)503 b(the)g(current)h(b)-31 b(uf)-39 b(fer)504
-b(by)g(typing)41640 51672 y
-SDict begin H.S end
- 41640 51672 a 41640 51672
-a
-SDict begin 18.2 H.A end
- 41640 51672 a 41640 51672 a
-SDict begin [ /View [/XYZ H.V] /Dest (5692) cvn H.B /DEST pdfmark end
- 41640 51672 a FX(:e!)p
-FU(,)h(follo)-39 b(wed)503 b(by)-30 53686 y(a)419 b(space)f(and)h(the)f
-(\002lename.)g(In)h(general,)23125 53686 y
-SDict begin H.S end
- 23125 53686
-a 23125 53686 a
-SDict begin 18.2 H.A end
- 23125 53686 a 23125 53686 a
-SDict begin [ /View [/XYZ H.V] /Dest (5693) cvn H.B /DEST pdfmark end
- 23125 53686
-a FP(vi)p FU(')-85 b(s)418 b(w)-15 b(arnings)418 b(can)g(be)h
-(suppressed)e(by)i(follo)-39 b(wing)-30 55701 y(the)387
-b(command)g(with)g(an)g(e)-23 b(xclamation)386 b(mark.)-30
-56491 y
-SDict begin H.S end
- -30 56491 a -30 56491 a
-SDict begin 18.2 H.A end
- -30 56491 a -30 56491
-a
-SDict begin [ /View [/XYZ H.V] /Dest (5694) cvn H.B /DEST pdfmark end
- -30 56491 a 2000 x FU(If)522 b(you)f(w)-15 b(ant)520
-b(to)h(reopen)h(the)f(current)g(\002le,)h(you)f(can)g(do)g(so)g(simply)
-g(by)g(typing)45352 58491 y
-SDict begin H.S end
- 45352 58491 a 45352 58491
-a
-SDict begin 18.2 H.A end
- 45352 58491 a 45352 58491 a
-SDict begin [ /View [/XYZ H.V] /Dest (5695) cvn H.B /DEST pdfmark end
- 45352 58491 a FX(e!)p FU(.)h(This)f(is)
--30 60505 y(particularly)387 b(useful)g(if)g(you)g(ha)-31
-b(v)-23 b(e)387 b(someho)-39 b(w)387 b(messed)g(up)g(the)g(\002le)g
-(and)g(w)-15 b(ant)387 b(to)g(reopen)g(it.)-30 61616
-y
-SDict begin H.S end
- -30 61616 a -30 61616 a
-SDict begin 18.2 H.A end
- -30 61616 a -30 61616 a
-SDict begin [ /View [/XYZ H.V] /Dest (5696) cvn H.B /DEST pdfmark end
- -30
-61616 a 1679 x FU(Some)3871 63295 y
-SDict begin H.S end
- 3871 63295 a 3871
-63295 a
-SDict begin 18.2 H.A end
- 3871 63295 a 3871 63295 a
-SDict begin [ /View [/XYZ H.V] /Dest (5697) cvn H.B /DEST pdfmark end
- 3871 63295 a FP(vi)371
-b FU(clones)g(\(for)g(e)-23 b(xample,)18741 63295 y
-SDict begin H.S end
- 18741
-63295 a 18741 63295 a
-SDict begin 18.2 H.A end
- 18741 63295 a 18741 63295 a
-SDict begin [ /View [/XYZ H.V] /Dest (5698) cvn H.B /DEST pdfmark end
- 18741
-63295 a FP(vim)p FU(\))371 b(allo)-39 b(w)371 b(for)g(multiple)e(b)-31
-b(uf)-39 b(fers)372 b(to)e(be)i(open)e(at)h(the)g(same)-30
-65310 y(time.)332 b(F)-23 b(or)330 b(e)-23 b(xample,)332
-b(to)f(open)g(up)h(the)f(\002le)23152 65310 y
-SDict begin H.S end
- 23152 65310
-a 23152 65310 a
-SDict begin 18.2 H.A end
- 23152 65310 a 23152 65310 a
-SDict begin [ /View [/XYZ H.V] /Dest (5699) cvn H.B /DEST pdfmark end
- 23152 65310
-a FQ(09-)55 b(vi.sgml)326 b FU(in)331 b(my)g(home)g(directory)g(while)g
-(another)-30 67324 y(\002le)387 b(w)-15 b(as)387 b(open,)g(I)h(w)-15
-b(ould)386 b(type:)p Black -30 73792 a FR(200)p Black
-eop end
-%%Page: 201 223
-TeXDict begin 201 222 bop -8000 -8000 a
-SDict begin /product where{pop product(Distiller)search{pop pop pop
-version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
-closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
-grestore}if}{pop}ifelse}{pop}ifelse}if end
- -8000 -8000 a
-Black 0 TeXcolorgray -30 -1237 a
-SDict begin H.S end
- -30 -1237 a 0 TeXcolorgray
-0 TeXcolorgray -30 -1237 a
-SDict begin H.R end
- -30 -1237 a -30 -1237 a
-SDict begin [ /View [/XYZ H.V] /Dest (page.201) cvn H.B /DEST pdfmark
-end
- -30
--1237 a Black 43108 -1636 a FR(Chapter)387 b(16)g(V)-115
-b(i)p Black -30 2504 a
-SDict begin H.S end
- -30 2504 a -30 2504 a
-SDict begin 14.56 H.A end
- -30 2504
-a -30 2504 a
-SDict begin [ /View [/XYZ H.V] /Dest (5700) cvn H.B /DEST pdfmark end
- -30 2504 a -30 2504 a
-SDict begin H.S end
- -30 2504 a -30 2504
-a
-SDict begin 14.56 H.A end
- -30 2504 a -30 2504 a
-SDict begin [ /View [/XYZ H.V] /Dest (5701) cvn H.B /DEST pdfmark end
- -30 2504 a 1107 x FH(:split)743
-b(~/09-vi.sgml)-30 7176 y FU(The)439 b(ne)-39 b(w)440
-b(\002le)e(is)h(displayed)g(on)g(the)g(top)g(half)g(of)g(the)g(screen,)
-h(and)f(the)g(old)g(\002le)g(is)g(displayed)-30 9190
-y(in)495 b(the)h(bottom)e(half)h(of)h(the)f(screen.)h(There)f(are)h(a)g
-(lot)f(of)g(commands)g(that)g(manipulate)f(the)-30 11205
-y(split)386 b(screen,)h(and)f(man)-23 b(y)386 b(of)g(these)g(commands)g
-(start)g(to)g(resemble)g(something)f(out)h(of)g FP(Emacs)-30
-13220 y FU(The)363 b(best)g(place)g(to)g(look)g(up)g(these)f(commands)h
-(w)-15 b(ould)362 b(be)h(the)g(man)g(page)g(for)g(your)g(vi)g(clone.)
--30 15234 y(Note)370 b(that)g(man)-23 b(y)370 b(clones)g(do)g(not)g
-(support)g(the)g(split-screen)g(idea,)h(so)f(you)g(might)g(not)g(be)g
-(able)-30 17249 y(to)387 b(use)g(it)h(at)f(all.)-30 18039
-y
-SDict begin H.S end
- -30 18039 a -30 18039 a
-SDict begin 18.2 H.A end
- -30 18039 a -30 18039 a
-SDict begin [ /View [/XYZ H.V] /Dest (VI-SAVING-FILES) cvn H.B /DEST
-pdfmark end
- -30
-18039 a 6109 x FL(16.4)620 b(Sa)-33 b(ving)620 b(Files)-30
-24645 y
-SDict begin H.S end
- -30 24645 a -30 24645 a
-SDict begin 18.2 H.A end
- -30 24645 a -30 24645
-a
-SDict begin [ /View [/XYZ H.V] /Dest (5706) cvn H.B /DEST pdfmark end
- -30 24645 a -30 25761 a
-SDict begin H.S end
- -30 25761 a -30 25761 a
-SDict begin 18.2 H.A end
- -30
-25761 a -30 25761 a
-SDict begin [ /View [/XYZ H.V] /Dest (5709) cvn H.B /DEST pdfmark end
- -30 25761 a 1518 x FU(There)457 b(are)g(se)-39
-b(v)-23 b(eral)457 b(w)-15 b(ays)457 b(to)f(sa)-31 b(v)-23
-b(e)457 b(\002les)g(in)24323 27279 y
-SDict begin H.S end
- 24323 27279 a 24323
-27279 a
-SDict begin 18.2 H.A end
- 24323 27279 a 24323 27279 a
-SDict begin [ /View [/XYZ H.V] /Dest (5710) cvn H.B /DEST pdfmark end
- 24323 27279 a FP(vi)p
-FU(.)h(If)f(you)f(w)-15 b(ant)457 b(to)f(sa)-31 b(v)-23
-b(e)457 b(the)g(current)g(b)-31 b(uf)-39 b(fer)457 b(to)-30
-29293 y(the)387 b(\002le)4619 29293 y
-SDict begin H.S end
- 4619 29293 a 4619
-29293 a
-SDict begin 18.2 H.A end
- 4619 29293 a 4619 29293 a
-SDict begin [ /View [/XYZ H.V] /Dest (5711) cvn H.B /DEST pdfmark end
- 4619 29293 a FQ(randomness)p
-FU(,)382 b(you)387 b(w)-15 b(ould)386 b(type:)-30 31179
-y
-SDict begin H.S end
- -30 31179 a -30 31179 a
-SDict begin 14.56 H.A end
- -30 31179 a -30 31179 a
-SDict begin [ /View [/XYZ H.V] /Dest (5712) cvn H.B /DEST pdfmark end
- -30
-31179 a -30 31179 a
-SDict begin H.S end
- -30 31179 a -30 31179 a
-SDict begin 14.56 H.A end
- -30 31179
-a -30 31179 a
-SDict begin [ /View [/XYZ H.V] /Dest (5713) cvn H.B /DEST pdfmark end
- -30 31179 a 1276 x FH(:w)744 b(randomness)-30
-34029 y
-SDict begin H.S end
- -30 34029 a -30 34029 a
-SDict begin 18.2 H.A end
- -30 34029 a -30 34029
-a
-SDict begin [ /View [/XYZ H.V] /Dest (5714) cvn H.B /DEST pdfmark end
- -30 34029 a 1990 x FU(Once)605 b(you')-77 b(v)-23 b(e)603
-b(sa)-31 b(v)-23 b(ed)604 b(the)g(\002le)g(once,)h(sa)-31
-b(ving)604 b(it)g(ag)-8 b(ain)604 b(is)h(as)f(simple)g(as)g(typing)
-46504 36019 y
-SDict begin H.S end
- 46504 36019 a 46504 36019 a
-SDict begin 18.2 H.A end
- 46504 36019
-a 46504 36019 a
-SDict begin [ /View [/XYZ H.V] /Dest (5715) cvn H.B /DEST pdfmark end
- 46504 36019 a FX(:w)p FU(.)g(An)-23 b(y)-30
-38034 y(changes)445 b(will)g(be)h(written)e(out)h(to)h(the)f(\002le.)g
-(After)h(you')-77 b(v)-23 b(e)444 b(sa)-31 b(v)-23 b(ed)445
-b(the)g(\002le,)h(you)f(are)h(dumped)-30 40049 y(back)431
-b(into)f(command)h(mode.)f(If)i(you)e(w)-15 b(ant)430
-b(to)h(sa)-31 b(v)-23 b(e)431 b(the)f(\002le)h(and)g(quit)39636
-40049 y
-SDict begin H.S end
- 39636 40049 a 39636 40049 a
-SDict begin 18.2 H.A end
- 39636 40049 a 39636
-40049 a
-SDict begin [ /View [/XYZ H.V] /Dest (5716) cvn H.B /DEST pdfmark end
- 39636 40049 a FP(vi)g FU(\(a)g(v)-23 b(ery)431
-b(common)-30 42063 y(operation\),)444 b(you)f(w)-15 b(ould)443
-b(type)17354 42063 y
-SDict begin H.S end
- 17354 42063 a 17354 42063 a
-SDict begin 18.2 H.A end
- 17354
-42063 a 17354 42063 a
-SDict begin [ /View [/XYZ H.V] /Dest (5717) cvn H.B /DEST pdfmark end
- 17354 42063 a FX(:wq)p FU(.)h(That)g(tells)26994
-42063 y
-SDict begin H.S end
- 26994 42063 a 26994 42063 a
-SDict begin 18.2 H.A end
- 26994 42063 a 26994
-42063 a
-SDict begin [ /View [/XYZ H.V] /Dest (5718) cvn H.B /DEST pdfmark end
- 26994 42063 a FP(vi)f FU(to)h(sa)-31 b(v)-23
-b(e)443 b(the)h(current)g(\002le)f(and)h(quit)f(back)-30
-44078 y(to)387 b(the)g(shell.)-30 44868 y
-SDict begin H.S end
- -30 44868 a
--30 44868 a
-SDict begin 18.2 H.A end
- -30 44868 a -30 44868 a
-SDict begin [ /View [/XYZ H.V] /Dest (5719) cvn H.B /DEST pdfmark end
- -30 44868 a 2000
-x FU(On)395 b(occasion,)f(you)h(w)-15 b(ant)394 b(to)g(sa)-31
-b(v)-23 b(e)395 b(a)g(\002le)f(that)g(is)h(mark)-15 b(ed)394
-b(as)h(read-only)-101 b(.)395 b(Y)-170 b(ou)394 b(can)g(do)h(this)f(by)
--30 48882 y(adding)387 b(an)g(e)-23 b(xclamation)387
-b(point)f(after)i(the)f(write)g(command,)g(lik)-15 b(e)387
-b(so:)-30 50767 y
-SDict begin H.S end
- -30 50767 a -30 50767 a
-SDict begin 14.56 H.A end
- -30 50767 a
--30 50767 a
-SDict begin [ /View [/XYZ H.V] /Dest (5720) cvn H.B /DEST pdfmark end
- -30 50767 a -30 50767 a
-SDict begin H.S end
- -30 50767 a -30 50767
-a
-SDict begin 14.56 H.A end
- -30 50767 a -30 50767 a
-SDict begin [ /View [/XYZ H.V] /Dest (5721) cvn H.B /DEST pdfmark end
- -30 50767 a 1277 x FH(:w!)-30
-53618 y
-SDict begin H.S end
- -30 53618 a -30 53618 a
-SDict begin 18.2 H.A end
- -30 53618 a -30 53618
-a
-SDict begin [ /View [/XYZ H.V] /Dest (5722) cvn H.B /DEST pdfmark end
- -30 53618 a 1990 x FU(Ho)-39 b(we)g(v)-23 b(er)-62
-b(,)438 b(there)f(will)f(still)h(be)g(instances)f(where)h(you)g(cannot)
-g(write)f(the)h(\002le)g(\(for)g(e)-23 b(xample,)-30
-57623 y(you)414 b(are)h(attempting)f(to)g(edit)g(a)h(\002le)f(that)h
-(is)f(o)-39 b(wned)415 b(by)f(another)g(user\).)h(When)g(this)f
-(happens,)-30 59637 y
-SDict begin H.S end
- -30 59637 a -30 59637 a
-SDict begin 18.2 H.A end
- -30 59637
-a -30 59637 a
-SDict begin [ /View [/XYZ H.V] /Dest (5723) cvn H.B /DEST pdfmark end
- -30 59637 a FP(vi)442 b FU(will)g(tell)g(you)f(that)h(it)
-g(cannot)g(sa)-31 b(v)-23 b(e)442 b(the)g(\002le.)g(If)h(you)f(really)f
-(w)-15 b(ant)442 b(to)g(edit)g(the)g(\002le,)g(you')-15
-b(ll)-30 61652 y(ha)-31 b(v)-23 b(e)387 b(to)g(come)g(back)h(and)f
-(edit)g(it)g(as)20145 61652 y
-SDict begin H.S end
- 20145 61652 a 20145 61652
-a
-SDict begin 18.2 H.A end
- 20145 61652 a 20145 61652 a
-SDict begin [ /View [/XYZ H.V] /Dest (5724) cvn H.B /DEST pdfmark end
- 20145 61652 a FP(root)f
-FU(or)i(\(preferably\))f(the)g(o)-39 b(wner)388 b(of)f(that)g(\002le.)
--30 62762 y
-SDict begin H.S end
- -30 62762 a -30 62762 a
-SDict begin 18.2 H.A end
- -30 62762 a -30 62762
-a
-SDict begin [ /View [/XYZ H.V] /Dest (VI-QUITTING-VI) cvn H.B /DEST
-pdfmark end
- -30 62762 a Black 49451 73792 a FR(201)p Black eop
-end
-%%Page: 202 224
-TeXDict begin 202 223 bop -8000 -8000 a
-SDict begin /product where{pop product(Distiller)search{pop pop pop
-version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
-closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
-grestore}if}{pop}ifelse}{pop}ifelse}if end
- -8000 -8000 a
-Black 0 TeXcolorgray -30 -1237 a
-SDict begin H.S end
- -30 -1237 a 0 TeXcolorgray
-0 TeXcolorgray -30 -1237 a
-SDict begin H.R end
- -30 -1237 a -30 -1237 a
-SDict begin [ /View [/XYZ H.V] /Dest (page.202) cvn H.B /DEST pdfmark
-end
- -30
--1237 a Black -30 -2687 a
-SDict begin H.S end
- -30 -2687 a -30 -2687 a
-SDict begin 18.2 H.A end
- -30
--2687 a -30 -2687 a
-SDict begin [ /View [/XYZ H.V] /Dest (5761) cvn H.B /DEST pdfmark end
- -30 -2687 a 1051 x FR(Chapter)387
-b(16)g(V)-115 b(i)p Black -30 4132 a FL(16.5)620 b(Quitting)g(vi)-30
-4629 y
-SDict begin H.S end
- -30 4629 a -30 4629 a
-SDict begin 18.2 H.A end
- -30 4629 a -30 4629 a
-SDict begin [ /View [/XYZ H.V] /Dest (5727) cvn H.B /DEST pdfmark end
- -30
-4629 a -30 5744 a
-SDict begin H.S end
- -30 5744 a -30 5744 a
-SDict begin 18.2 H.A end
- -30 5744 a -30
-5744 a
-SDict begin [ /View [/XYZ H.V] /Dest (5730) cvn H.B /DEST pdfmark end
- -30 5744 a 1519 x FU(One)317 b(w)-15 b(ay)315
-b(to)i(quit)10002 7263 y
-SDict begin H.S end
- 10002 7263 a 10002 7263 a
-SDict begin 18.2 H.A end
- 10002
-7263 a 10002 7263 a
-SDict begin [ /View [/XYZ H.V] /Dest (5731) cvn H.B /DEST pdfmark end
- 10002 7263 a FP(vi)f FU(is)g(through)18294
-7263 y
-SDict begin H.S end
- 18294 7263 a 18294 7263 a
-SDict begin 18.2 H.A end
- 18294 7263 a 18294 7263
-a
-SDict begin [ /View [/XYZ H.V] /Dest (5732) cvn H.B /DEST pdfmark end
- 18294 7263 a FX(:wq)p FU(,)g(which)h(will)e(sa)-31
-b(v)-23 b(e)317 b(the)f(current)g(b)-31 b(uf)-39 b(fer)317
-b(before)g(quitting.)-30 9277 y(Y)-170 b(ou)364 b(can)i(also)e(quit)h
-(without)f(sa)-31 b(ving)364 b(with)23590 9277 y
-SDict begin H.S end
- 23590
-9277 a 23590 9277 a
-SDict begin 18.2 H.A end
- 23590 9277 a 23590 9277 a
-SDict begin [ /View [/XYZ H.V] /Dest (5733) cvn H.B /DEST pdfmark end
- 23590 9277
-a FX(:q)h FU(or)g(\(more)f(commonly\))38565 9277 y
-SDict begin H.S end
- 38565
-9277 a 38565 9277 a
-SDict begin 18.2 H.A end
- 38565 9277 a 38565 9277 a
-SDict begin [ /View [/XYZ H.V] /Dest (5734) cvn H.B /DEST pdfmark end
- 38565 9277
-a FX(:q!)p FU(.)i(The)f(latter)f(is)h(used)-30 11292
-y(when)387 b(you')-77 b(v)-23 b(e)387 b(modi\002ed)f(the)h(\002le)g(b)
--31 b(ut)387 b(do)g(not)g(wish)g(to)g(sa)-31 b(v)-23
-b(e)387 b(an)-23 b(y)387 b(changes)g(to)h(it.)-30 12402
-y
-SDict begin H.S end
- -30 12402 a -30 12402 a
-SDict begin 18.2 H.A end
- -30 12402 a -30 12402 a
-SDict begin [ /View [/XYZ H.V] /Dest (5735) cvn H.B /DEST pdfmark end
- -30
-12402 a 1679 x FU(On)342 b(occasion,)h(your)f(machine)g(might)g(crash)g
-(or)26341 14081 y
-SDict begin H.S end
- 26341 14081 a 26341 14081 a
-SDict begin 18.2 H.A end
- 26341 14081
-a 26341 14081 a
-SDict begin [ /View [/XYZ H.V] /Dest (5736) cvn H.B /DEST pdfmark end
- 26341 14081 a FP(vi)g FU(might)g(crash.)h(Ho)-39
-b(we)g(v)-23 b(er)-62 b(,)343 b(both)45476 14081 y
-SDict begin H.S end
- 45476
-14081 a 45476 14081 a
-SDict begin 18.2 H.A end
- 45476 14081 a 45476 14081 a
-SDict begin [ /View [/XYZ H.V] /Dest (5737) cvn H.B /DEST pdfmark end
- 45476
-14081 a FP(elvis)f FU(and)-30 16096 y
-SDict begin H.S end
- -30 16096 a -30
-16096 a
-SDict begin 18.2 H.A end
- -30 16096 a -30 16096 a
-SDict begin [ /View [/XYZ H.V] /Dest (5738) cvn H.B /DEST pdfmark end
- -30 16096 a FP(vim)475
-b FU(will)f(tak)-15 b(e)475 b(steps)f(to)h(minimize)f(the)h(damage)g
-(to)f(an)-23 b(y)475 b(open)g(b)-31 b(uf)-39 b(fers.)475
-b(Both)g(editors)f(sa)-31 b(v)-23 b(e)-30 18111 y(the)363
-b(open)g(b)-31 b(uf)-39 b(fers)364 b(to)f(a)g(temporary)g(\002le)g(on)g
-(occasion.)h(This)f(\002le)f(is)i(usually)e(named)h(similarly)-30
-20125 y(to)387 b(the)g(open)h(\002le,)f(b)-31 b(ut)387
-b(with)g(a)g(dot)g(at)h(the)f(be)-23 b(ginning.)386 b(This)h(mak)-15
-b(es)387 b(the)g(\002le)g(hidden.)-30 21236 y
-SDict begin H.S end
- -30 21236
-a -30 21236 a
-SDict begin 18.2 H.A end
- -30 21236 a -30 21236 a
-SDict begin [ /View [/XYZ H.V] /Dest (5739) cvn H.B /DEST pdfmark end
- -30 21236 a 1679
-x FU(This)321 b(temporary)g(\002le)g(gets)g(remo)-23
-b(v)g(ed)321 b(once)g(the)h(editor)f(quits)f(under)i(normal)f
-(conditions.)f(This)-30 24930 y(means)413 b(that)h(the)f(temporary)g
-(cop)-15 b(y)413 b(will)h(still)e(be)i(around)g(if)f(something)g
-(crashes.)h(When)f(you)-30 26944 y(go)d(back)h(to)f(edit)g(the)g
-(\002le)g(ag)-8 b(ain,)411 b(you)f(will)g(be)h(prompted)e(for)i(what)f
-(action)g(to)g(tak)-15 b(e.)410 b(In)h(most)-30 28959
-y(cases,)421 b(a)f(lar)-28 b(ge)420 b(amount)g(of)g(your)g(unsa)-31
-b(v)-23 b(ed)420 b(w)-15 b(ork)419 b(can)h(be)h(reco)-23
-b(v)g(ered.)39047 28959 y
-SDict begin H.S end
- 39047 28959 a 39047 28959 a
-SDict begin 18.2 H.A end
-
-39047 28959 a 39047 28959 a
-SDict begin [ /View [/XYZ H.V] /Dest (5740) cvn H.B /DEST pdfmark end
- 39047 28959 a FP(elvis)420
-b FU(will)f(also)h(send)-30 30974 y(you)387 b(a)h(mail)f(\(from)g
-(Graceland,)g(oddly)g(enough)g(:\))g(telling)g(you)g(that)g(a)g(backup)
-g(cop)-15 b(y)387 b(e)-23 b(xists.)-30 32084 y
-SDict begin H.S end
- -30 32084
-a -30 32084 a
-SDict begin 18.2 H.A end
- -30 32084 a -30 32084 a
-SDict begin [ /View [/XYZ H.V] /Dest (VI-CONFIGURATION) cvn H.B /DEST
-pdfmark end
- -30 32084 a 5789
-x FL(16.6)620 b(vi)h(Con\002guration)-30 38370 y
-SDict begin H.S end
- -30
-38370 a -30 38370 a
-SDict begin 18.2 H.A end
- -30 38370 a -30 38370 a
-SDict begin [ /View [/XYZ H.V] /Dest (5743) cvn H.B /DEST pdfmark end
- -30 38370
-a -30 39485 a
-SDict begin H.S end
- -30 39485 a -30 39485 a
-SDict begin 18.2 H.A end
- -30 39485 a -30
-39485 a
-SDict begin [ /View [/XYZ H.V] /Dest (5746) cvn H.B /DEST pdfmark end
- -30 39485 a 1519 x FU(Y)-170 b(our)3372 41004
-y
-SDict begin H.S end
- 3372 41004 a 3372 41004 a
-SDict begin 18.2 H.A end
- 3372 41004 a 3372 41004 a
-SDict begin [ /View [/XYZ H.V] /Dest (5747) cvn H.B /DEST pdfmark end
-
-3372 41004 a FP(vi)387 b FU(clone)g(of)g(choice)h(can)f(be)h
-(con\002gured)e(in)h(se)-39 b(v)-23 b(eral)388 b(w)-15
-b(ays.)-30 42114 y
-SDict begin H.S end
- -30 42114 a -30 42114 a
-SDict begin 18.2 H.A end
- -30 42114
-a -30 42114 a
-SDict begin [ /View [/XYZ H.V] /Dest (5748) cvn H.B /DEST pdfmark end
- -30 42114 a 1679 x FU(A)325 b(v)-39 b(ariety)325
-b(of)g(commands)f(can)h(be)h(entered)f(while)f(in)h(command)f(mode)h
-(to)g(set)g(up)44769 43793 y
-SDict begin H.S end
- 44769 43793 a 44769 43793
-a
-SDict begin 18.2 H.A end
- 44769 43793 a 44769 43793 a
-SDict begin [ /View [/XYZ H.V] /Dest (5749) cvn H.B /DEST pdfmark end
- 44769 43793 a FP(vi)f FU(just)h(ho)-39
-b(w)-30 45808 y(you)337 b(lik)-15 b(e)336 b(it.)h(Depending)g(on)f
-(your)h(editor)-62 b(,)337 b(you)g(can)g(enable)g(features)g(to)g(mak)
--15 b(e)336 b(programming)-30 47823 y(easier)381 b(\(lik)-15
-b(e)380 b(syntax)g(hilighting,)g(auto-indenting,)f(and)i(more\),)g(set)
-g(up)f(macros)h(to)f(automak)-15 b(e)-30 49837 y(tasks,)387
-b(enable)h(te)-23 b(xtual)386 b(substitutions,)g(and)h(more.)-30
-50836 y
-SDict begin H.S end
- -30 50836 a -30 50836 a
-SDict begin 18.2 H.A end
- -30 50836 a -30 50836
-a
-SDict begin [ /View [/XYZ H.V] /Dest (5750) cvn H.B /DEST pdfmark end
- -30 50836 a 1791 x FU(Almost)576 b(all)g(of)g(these)h(commands)e(can)
-i(be)g(put)f(into)g(a)g(con\002guration)g(\002le)g(in)g(your)g(home)-30
-54641 y(directory)-101 b(.)6160 54641 y
-SDict begin H.S end
- 6160 54641 a
-6160 54641 a
-SDict begin 18.2 H.A end
- 6160 54641 a 6160 54641 a
-SDict begin [ /View [/XYZ H.V] /Dest (5751) cvn H.B /DEST pdfmark end
- 6160 54641 a FP(elvis)309
-b FU(e)-23 b(xpects)308 b(a)16120 54641 y
-SDict begin H.S end
- 16120 54641
-a 16120 54641 a
-SDict begin 18.2 H.A end
- 16120 54641 a 16120 54641 a
-SDict begin [ /View [/XYZ H.V] /Dest (5752) cvn H.B /DEST pdfmark end
- 16120 54641
-a FQ(.exrc)e FU(\002le,)j(while)25990 54641 y
-SDict begin H.S end
- 25990 54641
-a 25990 54641 a
-SDict begin 18.2 H.A end
- 25990 54641 a 25990 54641 a
-SDict begin [ /View [/XYZ H.V] /Dest (5753) cvn H.B /DEST pdfmark end
- 25990 54641
-a FP(vim)g FU(e)-23 b(xpects)309 b(a)34462 54641 y
-SDict begin H.S end
- 34462
-54641 a 34462 54641 a
-SDict begin 18.2 H.A end
- 34462 54641 a 34462 54641 a
-SDict begin [ /View [/XYZ H.V] /Dest (5754) cvn H.B /DEST pdfmark end
- 34462
-54641 a FQ(.vimrc)c FU(\002le.)k(Most)f(of)h(the)g(setup)-30
-56656 y(commands)369 b(that)g(can)h(be)g(entered)f(in)h(command)f(mode)
-g(can)h(be)g(placed)f(in)h(the)f(con\002guration)-30
-58671 y(\002le.)388 b(This)e(includes)h(setup)g(information,)g(te)-23
-b(xtual)386 b(substitutions,)g(macros,)h(and)h(more.)-30
-59781 y
-SDict begin H.S end
- -30 59781 a -30 59781 a
-SDict begin 18.2 H.A end
- -30 59781 a -30 59781
-a
-SDict begin [ /View [/XYZ H.V] /Dest (5755) cvn H.B /DEST pdfmark end
- -30 59781 a 1679 x FU(Discussing)471 b(all)g(these)h(options)f(and)h
-(the)f(dif)-39 b(ferences)473 b(between)e(the)h(editors)f(is)h(quite)f
-(an)h(in-)-30 63475 y(v)-31 b(olv)-23 b(ed)434 b(subject.)h(F)-23
-b(or)434 b(more)h(information,)f(check)h(out)f(the)h(man)f(page)h(or)g
-(web)g(site)f(for)h(your)-30 65490 y(preferred)5979 65490
-y
-SDict begin H.S end
- 5979 65490 a 5979 65490 a
-SDict begin 18.2 H.A end
- 5979 65490 a 5979 65490 a
-SDict begin [ /View [/XYZ H.V] /Dest (5756) cvn H.B /DEST pdfmark end
-
-5979 65490 a FP(vi)330 b FU(editor)-85 b(.)330 b(Some)g(editors)g
-(\(lik)-15 b(e)23611 65490 y
-SDict begin H.S end
- 23611 65490 a 23611 65490
-a
-SDict begin 18.2 H.A end
- 23611 65490 a 23611 65490 a
-SDict begin [ /View [/XYZ H.V] /Dest (5757) cvn H.B /DEST pdfmark end
- 23611 65490 a FP(vim)p
-FU(\))330 b(ha)-31 b(v)-23 b(e)330 b(e)-23 b(xtensi)-39
-b(v)-23 b(e)330 b(help)g(within)g(the)g(editor)g(that)p
-Black -30 73792 a FR(202)p Black eop end
-%%Page: 203 225
-TeXDict begin 203 224 bop -8000 -8000 a
-SDict begin /product where{pop product(Distiller)search{pop pop pop
-version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
-closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
-grestore}if}{pop}ifelse}{pop}ifelse}if end
- -8000 -8000 a
-Black 0 TeXcolorgray -30 -1237 a
-SDict begin H.S end
- -30 -1237 a 0 TeXcolorgray
-0 TeXcolorgray -30 -1237 a
-SDict begin H.R end
- -30 -1237 a -30 -1237 a
-SDict begin [ /View [/XYZ H.V] /Dest (page.203) cvn H.B /DEST pdfmark
-end
- -30
--1237 a Black 43108 -1636 a FR(Chapter)387 b(16)g(V)-115
-b(i)p Black -30 3611 a FU(can)396 b(be)g(accessed)g(with)f(the)15634
-3611 y
-SDict begin H.S end
- 15634 3611 a 15634 3611 a
-SDict begin 18.2 H.A end
- 15634 3611 a 15634 3611
-a
-SDict begin [ /View [/XYZ H.V] /Dest (5758) cvn H.B /DEST pdfmark end
- 15634 3611 a FX(:help)g FU(command,)h(or)g(something)f(similar)-85
-b(.)395 b(Y)-170 b(ou)395 b(can)h(also)g(check)-30 5626
-y(out)387 b(the)g(O'Reilly)g(book)13918 5626 y
-SDict begin H.S end
- 13918
-5626 a 13918 5626 a
-SDict begin 18.2 H.A end
- 13918 5626 a 13918 5626 a
-SDict begin [ /View [/XYZ H.V] /Dest (5759) cvn H.B /DEST pdfmark end
- 13918 5626
-a FR(Learning)f(the)22269 5626 y
-SDict begin H.S end
- 22269 5626 a 22269 5626
-a
-SDict begin 18.2 H.A end
- 22269 5626 a 22269 5626 a
-SDict begin [ /View [/XYZ H.V] /Dest (5760) cvn H.B /DEST pdfmark end
- 22269 5626 a Fw(vi)h FR(Editor)423
-b FU(by)387 b(Lamb)g(and)g(Robbins.)-30 8415 y(Man)-23
-b(y)345 b(common)g(programs)g(in)g(Linux)g(will)g(load)g(up)h(a)g(te)
--23 b(xt)345 b(\002le)g(in)g FP(vi)h FU(by)f(def)-15
-b(ault.)345 b(F)-23 b(or)345 b(e)-23 b(xam-)-30 10430
-y(ple,)354 b(editing)e(your)h(crontabs)g(will)f(start)h(up)23750
-10430 y
-SDict begin H.S end
- 23750 10430 a 23750 10430 a
-SDict begin 18.2 H.A end
- 23750 10430 a 23750
-10430 a
-SDict begin [ /View [/XYZ H.V] /Dest (5763) cvn H.B /DEST pdfmark end
- 23750 10430 a FP(vi)g FU(by)g(def)-15 b(ault.)353
-b(If)g(you)g(do)g(not)g(lik)-15 b(e)43485 10430 y
-SDict begin H.S end
- 43485
-10430 a 43485 10430 a
-SDict begin 18.2 H.A end
- 43485 10430 a 43485 10430 a
-SDict begin [ /View [/XYZ H.V] /Dest (5764) cvn H.B /DEST pdfmark end
- 43485
-10430 a FP(vi)353 b FU(and)g(w)-15 b(ould)-30 12445 y(lik)g(e)491
-b(another)g(editor)g(to)g(be)h(started)f(instead,)g(all)g(you)h(need)f
-(to)g(do)h(is)f(set)g(the)43698 12445 y
-SDict begin H.S end
- 43698 12445 a
-43698 12445 a
-SDict begin 18.2 H.A end
- 43698 12445 a 43698 12445 a
-SDict begin [ /View [/XYZ H.V] /Dest (5765) cvn H.B /DEST pdfmark end
- 43698 12445
-a FP(VISUAL)g FU(en)-62 b(vi-)-30 14459 y(ronment)522
-b(v)-39 b(ariable)522 b(to)g(the)g(editor)f(you)h(prefer)-85
-b(.)523 b(F)-23 b(or)522 b(information)f(on)h(setting)f(en)-62
-b(vironment)-30 16474 y(v)-39 b(ariables,)405 b(see)h(the)f(section)f
-(called)h(En)-62 b(vironment)404 b(V)-172 b(ariables)405
-b(in)g(Chapter)f(8.)i(If)f(you)g(w)-15 b(ant)404 b(to)-30
-18489 y(mak)-15 b(e)350 b(sure)h(that)f(your)g(editor)h(will)f(be)g
-(the)h(def)-15 b(ault)350 b(e)-39 b(v)-23 b(ery)350 b(time)h(you)f
-(login,)g(add)h(the)f(VISU)-62 b(AL)-30 20503 y(setting)387
-b(to)g(your)9312 20503 y
-SDict begin H.S end
- 9312 20503 a 9312 20503 a
-SDict begin 18.2 H.A end
- 9312
-20503 a 9312 20503 a
-SDict begin [ /View [/XYZ H.V] /Dest (5766) cvn H.B /DEST pdfmark end
- 9312 20503 a FQ(.bash_profile)379
-b FU(or)19520 20503 y
-SDict begin H.S end
- 19520 20503 a 19520 20503 a
-SDict begin 18.2 H.A end
- 19520
-20503 a 19520 20503 a
-SDict begin [ /View [/XYZ H.V] /Dest (5767) cvn H.B /DEST pdfmark end
- 19520 20503 a FQ(.bashrc)k FU(\002les.)-30
-21614 y
-SDict begin H.S end
- -30 21614 a -30 21614 a
-SDict begin 18.2 H.A end
- -30 21614 a -30 21614
-a
-SDict begin [ /View [/XYZ H.V] /Dest (VI-KEYS) cvn H.B /DEST pdfmark
-end
- -30 21614 a 5789 x FL(16.7)620 b(Vi)h(K)-33 b(e)g(ys)-30
-28981 y
-SDict begin H.S end
- -30 28981 a -30 28981 a
-SDict begin 18.2 H.A end
- -30 28981 a -30 28981
-a
-SDict begin [ /View [/XYZ H.V] /Dest (5770) cvn H.B /DEST pdfmark end
- -30 28981 a 1552 x FU(This)538 b(section)g(is)g(a)g(quick)g
-(reference)h(of)g(man)-23 b(y)537 b(common)33026 30533
-y
-SDict begin H.S end
- 33026 30533 a 33026 30533 a
-SDict begin 18.2 H.A end
- 33026 30533 a 33026 30533
-a
-SDict begin [ /View [/XYZ H.V] /Dest (5771) cvn H.B /DEST pdfmark end
- 33026 30533 a FP(vi)h FU(commands.)g(Some)g(of)g(these)-30
-32548 y(were)388 b(discussed)e(earlier)i(in)f(the)g(chapter)-62
-b(,)388 b(while)f(man)-23 b(y)386 b(will)h(be)g(ne)-39
-b(w)-101 b(.)-30 32883 y
-SDict begin H.S end
- -30 32883 a -30 32883 a
-SDict begin 18.2 H.A end
- -30
-32883 a -30 32883 a
-SDict begin [ /View [/XYZ H.V] /Dest (5772) cvn H.B /DEST pdfmark end
- -30 32883 a 4004 x FX(T)-143 b(able)387
-b(16-1.)h(Mo)-15 b(v)g(ement)-30 38456 y
-SDict begin H.S end
- -30 38456 a
--30 38456 a
-SDict begin 18.2 H.A end
- -30 38456 a -30 38456 a
-SDict begin [ /View [/XYZ H.V] /Dest (5774) cvn H.B /DEST pdfmark end
- -30 38456 a -30 38456
-a
-SDict begin H.S end
- -30 38456 a -30 38456 a
-SDict begin 18.2 H.A end
- -30 38456 a -30 38456 a
-SDict begin [ /View [/XYZ H.V] /Dest (table.13) cvn H.B /DEST pdfmark
-end
- -30
-38456 a 9068 40216 a FE(Operation)20844 b(K)-23 b(e)g(y)p
--30 40593 51806 45 v -30 40593 V -30 42354 a FU(left,)388
-b(do)-39 b(wn,)387 b(up,)h(right)23890 b FX(h)p FU(,)388
-b FX(j)p FU(,)g FX(k)p FU(,)f FX(l)-30 44450 y FU(T)-124
-b(o)387 b(the)h(end)f(of)g(the)g(line)25097 b FX($)-30
-46543 y FU(T)-124 b(o)387 b(the)h(be)-23 b(ginning)386
-b(of)h(the)g(line)21096 b FX(^)-30 48640 y FU(T)-124
-b(o)387 b(the)h(end)f(of)g(the)g(\002le)25226 b FX(G)-30
-50733 y FU(T)-124 b(o)387 b(the)h(be)-23 b(ginning)386
-b(of)h(the)g(\002le)21245 b FX(:1)-30 52829 y FU(T)-124
-b(o)387 b(line)g(47)31381 b FX(:47)-30 53161 y
-SDict begin H.S end
- -30 53161
-a -30 53161 a
-SDict begin 18.2 H.A end
- -30 53161 a -30 53161 a
-SDict begin [ /View [/XYZ H.V] /Dest (5807) cvn H.B /DEST pdfmark end
- -30 53161 a 4782
-x FX(T)-143 b(able)387 b(16-2.)h(Editing)-30 59808 y
-SDict begin H.S end
-
--30 59808 a -30 59808 a
-SDict begin 18.2 H.A end
- -30 59808 a -30 59808 a
-SDict begin [ /View [/XYZ H.V] /Dest (5809) cvn H.B /DEST pdfmark end
- -30 59808
-a -30 59808 a
-SDict begin H.S end
- -30 59808 a -30 59808 a
-SDict begin 18.2 H.A end
- -30 59808 a -30
-59808 a
-SDict begin [ /View [/XYZ H.V] /Dest (table.14) cvn H.B /DEST pdfmark
-end
- -30 59808 a 9068 61569 a FE(Operation)20844 b(K)-23
-b(e)g(y)p -30 61945 51806 45 v -30 61945 V -30 63706
-a FU(Remo)g(ving)386 b(a)i(line)27576 b FX(dd)-30 65802
-y FU(Remo)-23 b(ving)386 b(\002)-39 b(v)-23 b(e)387 b(lines)25012
-b FX(5dd)-30 67899 y FU(Replacing)387 b(a)g(character)24892
-b FX(r)p Black 49451 73792 a FR(203)p Black eop end
-%%Page: 204 226
-TeXDict begin 204 225 bop -8000 -8000 a
-SDict begin /product where{pop product(Distiller)search{pop pop pop
-version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
-closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
-grestore}if}{pop}ifelse}{pop}ifelse}if end
- -8000 -8000 a
-Black 0 TeXcolorgray -30 -1237 a
-SDict begin H.S end
- -30 -1237 a 0 TeXcolorgray
-0 TeXcolorgray -30 -1237 a
-SDict begin H.R end
- -30 -1237 a -30 -1237 a
-SDict begin [ /View [/XYZ H.V] /Dest (page.204) cvn H.B /DEST pdfmark
-end
- -30
--1237 a Black -399 x FR(Chapter)387 b(16)g(V)-115 b(i)p
-Black 9068 4265 a FE(Operation)20844 b(K)-23 b(e)g(y)-30
-6358 y FU(Remo)g(ving)386 b(a)i(character)24697 b FX(x)-30
-8455 y FU(Remo)-23 b(ving)386 b(ten)h(characters)22114
-b FX(10x)-30 10551 y FU(Undo)387 b(last)g(action)28071
-b FX(u)-30 12644 y FU(Join)387 b(current)g(and)g(ne)-23
-b(xt)387 b(lines)21940 b FX(J)-30 14737 y FU(Replace)387
-b(old)g(with)g(ne)-39 b(w)-101 b(,)388 b(globally)14867
-b FX(\045s'old'new'g)-30 15073 y
-SDict begin H.S end
- -30 15073 a -30 15073
-a
-SDict begin 18.2 H.A end
- -30 15073 a -30 15073 a
-SDict begin [ /View [/XYZ H.V] /Dest (5847) cvn H.B /DEST pdfmark end
- -30 15073 a 4782 x FX(T)-143
-b(able)387 b(16-3.)h(Sear)-28 b(ching)-30 21719 y
-SDict begin H.S end
- -30
-21719 a -30 21719 a
-SDict begin 18.2 H.A end
- -30 21719 a -30 21719 a
-SDict begin [ /View [/XYZ H.V] /Dest (5849) cvn H.B /DEST pdfmark end
- -30 21719
-a -30 21719 a
-SDict begin H.S end
- -30 21719 a -30 21719 a
-SDict begin 18.2 H.A end
- -30 21719 a -30
-21719 a
-SDict begin [ /View [/XYZ H.V] /Dest (table.15) cvn H.B /DEST pdfmark
-end
- -30 21719 a 9068 23480 a FE(Operation)20844 b(K)-23
-b(e)g(y)p -30 23856 51806 45 v -30 23856 V -30 25617
-a FU(Search)387 b(for)h(\223asdf\224)26311 b FX(/asdf)-30
-27710 y FU(Search)387 b(backw)-15 b(ards)387 b(for)g(\223asdf\224)19141
-b FX(?asdf)-30 29803 y FU(Repeat)387 b(last)g(search)h(forw)-15
-b(ards)21375 b FX(/)-30 31900 y FU(Repeat)387 b(last)g(search)h(backw)
--15 b(ards)20084 b FX(?)-30 33996 y FU(Repeat)387 b(last)g(search,)h
-(same)f(direction)17184 b FX(n)-30 36093 y FU(Repeat)387
-b(last)g(search,)h(opposite)e(direction)14988 b FX(N)-30
-36428 y
-SDict begin H.S end
- -30 36428 a -30 36428 a
-SDict begin 18.2 H.A end
- -30 36428 a -30 36428
-a
-SDict begin [ /View [/XYZ H.V] /Dest (5881) cvn H.B /DEST pdfmark end
- -30 36428 a 4782 x FX(T)-143 b(able)387 b(16-4.)h(Sa)-39
-b(ving)386 b(and)h(Quitting)-30 43075 y
-SDict begin H.S end
- -30 43075 a -30
-43075 a
-SDict begin 18.2 H.A end
- -30 43075 a -30 43075 a
-SDict begin [ /View [/XYZ H.V] /Dest (5883) cvn H.B /DEST pdfmark end
- -30 43075 a -30 43075
-a
-SDict begin H.S end
- -30 43075 a -30 43075 a
-SDict begin 18.2 H.A end
- -30 43075 a -30 43075 a
-SDict begin [ /View [/XYZ H.V] /Dest (table.16) cvn H.B /DEST pdfmark
-end
- -30
-43075 a 9068 44836 a FE(Operation)20844 b(K)-23 b(e)g(y)p
--30 45212 51806 45 v -30 45212 V -30 46973 a FU(Quit)35216
-b FX(:q)-30 49066 y FU(Quit)387 b(without)f(sa)-31 b(ving)25432
-b FX(:q!)-30 51162 y FU(Write)387 b(and)h(quit)28458
-b FX(:wq)-30 53259 y FU(Write,)388 b(without)e(quitting)23592
-b FX(:w)-30 55355 y FU(Reload)387 b(currently)g(open)g(\002le)21660
-b FX(:e!)-30 57452 y FU(Write)387 b(b)-31 b(uf)-39 b(fer)388
-b(to)f(\002le)g FQ(asdf)21783 b FX(:w)387 b(asdf)-30
-59545 y FU(Open)g(\002le)g FQ(hejaz)26854 b FX(:e)387
-b(hejaz)-30 61641 y FU(Read)g(\002le)g FQ(asdf)e FU(into)i(b)-31
-b(uf)-39 b(fer)21139 b FX(:r)388 b(asdf)-30 63734 y FU(Read)f(output)g
-(of)g FP(ls)g FU(into)g(b)-31 b(uf)-39 b(fer)19101 b
-FX(:r)388 b(!ls)p Black -30 73792 a FR(204)p Black eop
-end
-%%Page: 205 227
-TeXDict begin 205 226 bop -8000 -8000 a
-SDict begin /product where{pop product(Distiller)search{pop pop pop
-version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
-closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
-grestore}if}{pop}ifelse}{pop}ifelse}if end
- -8000 -8000 a
-Black 0 TeXcolorgray -30 -1358 a
-SDict begin H.S end
- -30 -1358 a 0 TeXcolorgray
-0 TeXcolorgray -30 -1358 a
-SDict begin H.R end
- -30 -1358 a -30 -1358 a
-SDict begin [ /View [/XYZ H.V] /Dest (page.205) cvn H.B /DEST pdfmark
-end
- -30
--1358 a Black Black -30 2383 a
-SDict begin H.S end
- -30 2383 a -30 2383 a
-SDict begin 18.2 H.A end
-
--30 2383 a -30 2383 a
-SDict begin [ /View [/XYZ H.V] /Dest (EMACS) cvn H.B /DEST pdfmark
-end
- -30 2383 a 2345 x FS(Chapter)894
-b(17)-30 10743 y FO(Emacs)p -30 18316 51806 56 v -30
-18316 a
-SDict begin H.S end
- -30 18316 a -30 18316 a
-SDict begin 18.2 H.A end
- -30 18316 a -30 18316
-a
-SDict begin [ /View [/XYZ H.V] /Dest (5931) cvn H.B /DEST pdfmark end
- -30 18316 a -30 19091 a
-SDict begin H.S end
- -30 19091 a -30 19091 a
-SDict begin 18.2 H.A end
- -30
-19091 a -30 19091 a
-SDict begin [ /View [/XYZ H.V] /Dest (5933) cvn H.B /DEST pdfmark end
- -30 19091 a 1051 x FU(While)4100
-20142 y
-SDict begin H.S end
- 4100 20142 a 4100 20142 a
-SDict begin 18.2 H.A end
- 4100 20142 a 4100 20142
-a
-SDict begin [ /View [/XYZ H.V] /Dest (5934) cvn H.B /DEST pdfmark end
- 4100 20142 a FP(vi)341 b FU(\(with)h(its)f(clones\))h(is)g(without)f
-(a)h(doubt)f(the)h(most)f(ubiquitous)g(editor)g(on)h(Unix-lik)-15
-b(e)-30 22157 y(systems,)516 b(Emacs)f(comes)h(in)g(a)g(good)g(second.)
-g(Instead)g(of)g(using)g(dif)-39 b(ferent)43141 22157
-y
-SDict begin H.S end
- 43141 22157 a 43141 22157 a
-SDict begin 18.2 H.A end
- 43141 22157 a 43141 22157
-a
-SDict begin [ /View [/XYZ H.V] /Dest (5935) cvn H.B /DEST pdfmark end
- 43141 22157 a FU(\223modes\224,)516 b(lik)-15 b(e)-30
-24171 y
-SDict begin H.S end
- -30 24171 a -30 24171 a
-SDict begin 18.2 H.A end
- -30 24171 a -30 24171
-a
-SDict begin [ /View [/XYZ H.V] /Dest (5936) cvn H.B /DEST pdfmark end
- -30 24171 a FP(vi)401 b FU(does,)h(it)f(uses)9822 24171
-y
-SDict begin H.S end
- 9822 24171 a 9822 24171 a
-SDict begin 18.2 H.A end
- 9822 24171 a 9822 24171 a
-SDict begin [ /View [/XYZ H.V] /Dest (5937) cvn H.B /DEST pdfmark end
-
-9822 24171 a FX(Contr)-28 b(ol)400 b FU(and)18000 24171
-y
-SDict begin H.S end
- 18000 24171 a 18000 24171 a
-SDict begin 18.2 H.A end
- 18000 24171 a 18000 24171
-a
-SDict begin [ /View [/XYZ H.V] /Dest (5938) cvn H.B /DEST pdfmark end
- 18000 24171 a FX(Alt)h FU(k)-15 b(e)-23 b(y)400 b(combinations)g(to)h
-(enter)g(commands,)g(in)g(much)g(the)-30 26186 y(same)442
-b(w)-15 b(ay)442 b(that)g(you)h(can)f(use)17242 26186
-y
-SDict begin H.S end
- 17242 26186 a 17242 26186 a
-SDict begin 18.2 H.A end
- 17242 26186 a 17242 26186
-a
-SDict begin [ /View [/XYZ H.V] /Dest (5939) cvn H.B /DEST pdfmark end
- 17242 26186 a FX(Contr)-28 b(ol)442 b FU(and)25503
-26186 y
-SDict begin H.S end
- 25503 26186 a 25503 26186 a
-SDict begin 18.2 H.A end
- 25503 26186 a 25503
-26186 a
-SDict begin [ /View [/XYZ H.V] /Dest (5940) cvn H.B /DEST pdfmark end
- 25503 26186 a FX(Alt)g FU(k)-15 b(e)-23 b(y)442
-b(combinations)f(in)h(a)h(w)-15 b(ord)441 b(processor)-30
-28201 y(and)295 b(indeed)f(in)h(man)-23 b(y)294 b(other)h(applications)
-f(to)g(e)-23 b(x)g(ecute)295 b(certain)f(functions.)h(\(Though)f(it)h
-(should)-30 30215 y(be)416 b(noted)e(that)i(the)f(commands)f(rarely)i
-(correspond;)e(so)h(while)g(man)-23 b(y)415 b(modern)g(applications)-30
-32230 y(use)2539 32230 y
-SDict begin H.S end
- 2539 32230 a 2539 32230 a
-SDict begin 18.2 H.A end
- 2539
-32230 a 2539 32230 a
-SDict begin [ /View [/XYZ H.V] /Dest (5941) cvn H.B /DEST pdfmark end
- 2539 32230 a 2539 32230 a
-SDict begin H.S end
- 2539 32230
-a 2539 32230 a
-SDict begin 18.2 H.A end
- 2539 32230 a 2539 32230 a
-SDict begin [ /View [/XYZ H.V] /Dest (5942) cvn H.B /DEST pdfmark end
- 2539 32230 a
-FX(Ctrl)p FU(-)5809 32230 y
-SDict begin H.S end
- 5809 32230 a 5809 32230 a
-SDict begin 18.2 H.A end
-
-5809 32230 a 5809 32230 a
-SDict begin [ /View [/XYZ H.V] /Dest (5943) cvn H.B /DEST pdfmark end
- 5809 32230 a FX(C)p FU(/)7861
-32230 y
-SDict begin H.S end
- 7861 32230 a 7861 32230 a
-SDict begin 18.2 H.A end
- 7861 32230 a 7861 32230
-a
-SDict begin [ /View [/XYZ H.V] /Dest (5944) cvn H.B /DEST pdfmark end
- 7861 32230 a FX(X)p FU(/)9913 32230 y
-SDict begin H.S end
- 9913 32230 a
-9913 32230 a
-SDict begin 18.2 H.A end
- 9913 32230 a 9913 32230 a
-SDict begin [ /View [/XYZ H.V] /Dest (5945) cvn H.B /DEST pdfmark end
- 9913 32230 a FX(V)503
-b FU(for)g(cop)-15 b(ying,)501 b(cutting)h(and)h(pasting,)f(Emacs)g
-(uses)h(dif)-39 b(ferent)502 b(k)-15 b(e)-23 b(ys)502
-b(and)-30 34245 y(actually)387 b(a)g(some)-39 b(what)387
-b(dif)-39 b(ferent)388 b(mechanism)e(for)i(this.\))-30
-35355 y
-SDict begin H.S end
- -30 35355 a -30 35355 a
-SDict begin 18.2 H.A end
- -30 35355 a -30 35355
-a
-SDict begin [ /View [/XYZ H.V] /Dest (5946) cvn H.B /DEST pdfmark end
- -30 35355 a 1679 x FU(Also)356 b(unlik)-15 b(e)7469
-37034 y
-SDict begin H.S end
- 7469 37034 a 7469 37034 a
-SDict begin 18.2 H.A end
- 7469 37034 a 7469 37034
-a
-SDict begin [ /View [/XYZ H.V] /Dest (5947) cvn H.B /DEST pdfmark end
- 7469 37034 a FP(vi)p FU(,)357 b(which)f(is)g(an)h(\(e)-23
-b(xcellent\))356 b(editor)g(and)g(nothing)g(more,)g(Emacs)h(is)f(a)g
-(program)-30 39049 y(with)502 b(near)g(endless)f(capabilities.)g(Emacs)
-h(is)g(\(for)g(the)f(most)h(part\))f(written)h(in)f(Lisp,)h(which)-30
-41064 y(is)461 b(a)g(v)-23 b(ery)461 b(po)-39 b(werful)461
-b(programming)f(language)h(that)g(has)g(the)g(peculiar)g(property)g
-(that)g(e)-39 b(v)-23 b(ery)-30 43078 y(program)490 b(written)f(in)h
-(it)g(is)g(automatically)f(a)h(Lisp)f(compiler)h(of)g(its)f(o)-39
-b(wn.)491 b(This)f(means)f(that)-30 45093 y(the)387 b(user)h(can)f(e)
--23 b(xtend)387 b(Emacs,)g(and)h(in)f(f)-15 b(act)387
-b(write)g(completely)f(ne)-39 b(w)388 b(programs)44092
-45093 y
-SDict begin H.S end
- 44092 45093 a 44092 45093 a
-SDict begin 18.2 H.A end
- 44092 45093 a 44092
-45093 a
-SDict begin [ /View [/XYZ H.V] /Dest (5948) cvn H.B /DEST pdfmark end
- 44092 45093 a FU(\223in)g(Emacs\224.)-30 45428
-y
-SDict begin H.S end
- -30 45428 a -30 45428 a
-SDict begin 18.2 H.A end
- -30 45428 a -30 45428 a
-SDict begin [ /View [/XYZ H.V] /Dest (5949) cvn H.B /DEST pdfmark end
- -30
-45428 a -30 45428 a
-SDict begin H.S end
- -30 45428 a -30 45428 a
-SDict begin 18.2 H.A end
- -30 45428
-a -30 45428 a
-SDict begin [ /View [/XYZ H.V] /Dest (5952) cvn H.B /DEST pdfmark end
- -30 45428 a -30 46203 a
-SDict begin H.S end
- -30 46203 a -30
-46203 a
-SDict begin 18.2 H.A end
- -30 46203 a -30 46203 a
-SDict begin [ /View [/XYZ H.V] /Dest (5955) cvn H.B /DEST pdfmark end
- -30 46203 a 1679 x FU(As)457
-b(a)h(result,)f(Emacs)g(is)h(not)f(just)f(an)i(editor)f(an)-23
-b(ymore.)457 b(There)g(are)h(man)-23 b(y)457 b(add-on)g(packages)-30
-49897 y(for)366 b(Emacs)f(a)-31 b(v)-39 b(ailable)365
-b(\(man)-23 b(y)365 b(come)g(with)g(the)g(program')-85
-b(s)365 b(source\))g(that)g(pro)-23 b(vide)365 b(all)g(sorts)g(of)-30
-51912 y(functionality)-101 b(.)298 b(Man)-23 b(y)298
-b(of)g(these)h(are)f(related)h(to)f(te)-23 b(xt)298 b(editing,)g(which)
-g(is)g(after)h(all)f(Emacs')g(basic)-30 53926 y(task,)463
-b(b)-31 b(ut)463 b(it)g(doesn')-28 b(t)462 b(stop)h(there.)g(There)g
-(are)h(for)f(e)-23 b(xample)462 b(se)-39 b(v)-23 b(eral)463
-b(spreadsheet)g(programs)-30 55941 y(for)582 b(Emacs,)g(there)g(are)h
-(databases,)f(g)-8 b(ames,)582 b(mail)f(and)h(ne)-39
-b(ws)582 b(clients)g(\(the)g(top)f(one)h(being)-30 57956
-y(Gnus\),)388 b(etc.)-30 58233 y
-SDict begin H.S end
- -30 58233 a -30 58233
-a
-SDict begin 18.2 H.A end
- -30 58233 a -30 58233 a
-SDict begin [ /View [/XYZ H.V] /Dest (5956) cvn H.B /DEST pdfmark end
- -30 58233 a -30 58233 a
-SDict begin H.S end
- -30
-58233 a -30 58233 a
-SDict begin 18.2 H.A end
- -30 58233 a -30 58233 a
-SDict begin [ /View [/XYZ H.V] /Dest (5958) cvn H.B /DEST pdfmark end
- -30 58233
-a -30 59008 a
-SDict begin H.S end
- -30 59008 a -30 59008 a
-SDict begin 18.2 H.A end
- -30 59008 a -30
-59008 a
-SDict begin [ /View [/XYZ H.V] /Dest (5960) cvn H.B /DEST pdfmark end
- -30 59008 a 1737 x FU(There)311 b(are)g(tw)-15
-b(o)310 b(main)h(v)-23 b(ersions)310 b(of)g(Emacs:)h(GNU)f(Emacs)h
-(\(which)f(is)h(the)g(v)-23 b(ersion)310 b(that)g(comes)-30
-62760 y(with)466 b(Slackw)-15 b(are\))466 b(and)h(XEmacs.)f(The)h
-(latter)f(is)27451 62760 y
-SDict begin H.S end
- 27451 62760 a 27451 62760
-a
-SDict begin 18.2 H.A end
- 27451 62760 a 27451 62760 a
-SDict begin [ /View [/XYZ H.V] /Dest (5961) cvn H.B /DEST pdfmark end
- 27451 62760 a FR(not)495
-b FU(a)466 b(v)-23 b(ersion)466 b(for)h(Emacs)f(running)g(under)-30
-64775 y(X.)385 b(In)g(f)-15 b(act,)385 b(both)f(Emacs)h(and)g(XEmacs)f
-(run)h(on)f(the)h(console)f(as)h(well)g(as)f(under)h(X.)g(XEmacs)-30
-66789 y(w)-15 b(as)531 b(once)g(started)h(as)f(a)h(project)f(to)g(tidy)
-g(up)g(the)h(Emacs)f(code.)h(Currently)-101 b(,)531 b(both)g(v)-23
-b(ersions)p Black 49451 73672 a FR(205)p Black eop end
-%%Page: 206 228
-TeXDict begin 206 227 bop -8000 -8000 a
-SDict begin /product where{pop product(Distiller)search{pop pop pop
-version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
-closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
-grestore}if}{pop}ifelse}{pop}ifelse}if end
- -8000 -8000 a
-Black 0 TeXcolorgray -30 -1358 a
-SDict begin H.S end
- -30 -1358 a 0 TeXcolorgray
-0 TeXcolorgray -30 -1358 a
-SDict begin H.R end
- -30 -1358 a -30 -1358 a
-SDict begin [ /View [/XYZ H.V] /Dest (page.206) cvn H.B /DEST pdfmark
-end
- -30
--1358 a Black -278 x FR(Chapter)387 b(17)g(Emacs)p Black
--30 3490 a FU(are)432 b(being)f(acti)-39 b(v)-23 b(ely)431
-b(de)-39 b(v)-23 b(eloped,)431 b(and)h(there)f(is)g(in)g(f)-15
-b(act)431 b(much)h(interaction)e(between)h(the)h(tw)-15
-b(o)-30 5505 y(de)-39 b(v)-23 b(elopment)362 b(teams.)g(F)-23
-b(or)362 b(the)g(present)g(chapter)-62 b(,)363 b(it)f(is)g(immaterial)g
-(whether)g(you)g(use)g(Emacs)-30 7520 y(or)387 b(XEmacs,)h(the)f(dif)
--39 b(ferences)388 b(between)f(them)g(are)g(not)g(rele)-39
-b(v)g(ant)388 b(to)f(the)g(normal)g(user)-85 b(.)-30
-7744 y
-SDict begin H.S end
- -30 7744 a -30 7744 a
-SDict begin 18.2 H.A end
- -30 7744 a -30 7744 a
-SDict begin [ /View [/XYZ H.V] /Dest (EMACS-STARTING) cvn H.B /DEST
-pdfmark end
- -30
-7744 a 5900 x FL(17.1)620 b(Star)45 b(ting)620 b(emacs)-30
-14141 y
-SDict begin H.S end
- -30 14141 a -30 14141 a
-SDict begin 18.2 H.A end
- -30 14141 a -30 14141
-a
-SDict begin [ /View [/XYZ H.V] /Dest (5964) cvn H.B /DEST pdfmark end
- -30 14141 a -30 15257 a
-SDict begin H.S end
- -30 15257 a -30 15257 a
-SDict begin 18.2 H.A end
- -30
-15257 a -30 15257 a
-SDict begin [ /View [/XYZ H.V] /Dest (5967) cvn H.B /DEST pdfmark end
- -30 15257 a 1518 x FU(Emacs)394 b(can)g(be)g
-(started)g(from)g(the)g(shell)f(by)h(simply)f(typing)33353
-16775 y
-SDict begin H.S end
- 33353 16775 a 33353 16775 a
-SDict begin 18.2 H.A end
- 33353 16775 a 33353
-16775 a
-SDict begin [ /View [/XYZ H.V] /Dest (5968) cvn H.B /DEST pdfmark end
- 33353 16775 a FP(emacs)p FU(.)h(When)g(you)g(are)h(running)-30
-18789 y(X,)378 b(Emacs)g(will)f(\(normally\))g(come)h(up)g(with)f(its)g
-(o)-39 b(wn)378 b(X)g(windo)-39 b(w)-101 b(,)378 b(usually)f(with)g(a)h
-(menu)g(bar)-30 20804 y(at)401 b(the)h(top,)f(where)g(you)g(can)h
-(\002nd)e(the)i(most)e(important)g(functions.)h(On)g(startup,)h(Emacs)e
-(will)-30 22819 y(\002rst)529 b(sho)-39 b(w)529 b(a)g(welcome)g
-(message,)h(and)f(then)g(after)g(a)h(fe)-39 b(w)529 b(seconds)g(will)g
-(drop)g(you)g(in)g(the)-30 24833 y(*scratch*)387 b(b)-31
-b(uf)-39 b(fer)-85 b(.)388 b(\(See)p 0 TeXcolorgray 13843
-24833 a
-SDict begin H.S end
- 13843 24833 a FU(Section)f(17.2)21592 24833 y
-SDict begin 18.2 H.L end
-
-21592 24833 a 21592 24833 a
-SDict begin [ /Subtype /Link /Dest (EMACS-BUFFERS) cvn /H /I /Border
-[0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 21592 24833 a Black FU(.\))-30
-25111 y
-SDict begin H.S end
- -30 25111 a -30 25111 a
-SDict begin 18.2 H.A end
- -30 25111 a -30 25111
-a
-SDict begin [ /View [/XYZ H.V] /Dest (5970) cvn H.B /DEST pdfmark end
- -30 25111 a -30 27435 a
-SDict begin H.S end
- -30 27435 a -30 27435 a
-SDict begin 18.2 H.A end
- -30
-27435 a -30 27435 a
-SDict begin [ /View [/XYZ H.V] /Dest (5971) cvn H.B /DEST pdfmark end
- -30 27435 a -30 60512 a
- currentpoint currentpoint translate 0.79 0.79 scale neg exch neg exch
-translate
- -30 60512
-a @beginspecial 12 @llx 212 @lly 600 @urx 580 @ury 5880
-@rwi @setspecial
-%%BeginDocument: emacs/emacs.eps
-%!PS-Adobe-2.0 EPSF-2.0
-%%Creator: pnmtops
-%%Title: noname.ps
-%%Pages: 1
-%%BoundingBox: 12 212 600 580
-%%EndComments
-/rlestr1 1 string def
-/readrlestring {
- /rlestr exch def
- currentfile rlestr1 readhexstring pop
- 0 get
- dup 127 le {
- currentfile rlestr 0
- 4 3 roll
- 1 add getinterval
- readhexstring pop
- length
- } {
- 256 exch sub dup
- currentfile rlestr1 readhexstring pop
- 0 get
- exch 0 exch 1 exch 1 sub {
- rlestr exch 2 index put
- } for
- pop
- } ifelse
-} bind def
-/readstring {
- dup length 0 {
- 3 copy exch
- 1 index sub
- getinterval
- readrlestring
- add
- 2 copy le { exit } if
- } loop
- pop pop
-} bind def
-/picstr 640 string def
-%%EndProlog
-%%Page: 1 1
-gsave
-12.24 212.4 translate
-587.52 367.2 scale
-640 400 8
-[ 640 0 0 -400 0 400 ]
-{ picstr readstring }
-image
-80c080c080c080c080c080c080c080c080c080c0f900fcc0010000fbc0fd
-00edc0f900fcc0fd00fbc0010000fac00000f3c0fb00f3c00000f9c00100
-00ddc0fa00f3c0fd00fbc0fd00ddc0fa00edc0fd00edc0060000c0c0c000
-00f5c0fd0080c080c095c006c00000c0c00000fcc0010000fac0010000ec
-c0050000c0c00000fbc0010000fbc0010000fbc0010000f4c0060000c0c0
-c00000f5c0010000f9c0010000dcc0050000c0c00000f5c00c0000c00000
-c0c0c00000c00000dec0fa00ecc0010000edc0060000c0c0c00000f4c001
-000080c080c095c006c00000c0c0c000f4c0010000ecc0050000c0c0c000
-fbc0010000f4c0010000f4c0060000c0c0c00000f5c0010000d3c0050000
-c0c00000f5c00c0000c0c000c0c0c00000c0c000dec00500c00000c000ec
-c0010000edc0060000c0c0c00000f4c001000080c080c095c004c00000c0
-00fbc0fd00fac0010000fcc0fb00f5c0030000c000fbc0fc00fcc0fd00fd
-c0fa00f6c00f0000c0c0c00000c00000c0000000c0c0fa00fcc0fd00fcc0
-fb000ac0c00000c0000000c0c0c0fb00f5c00c0000c0c00000c00000c0c0
-0000fcc0010000fac0010000fbc0fb000ac0c00000c0000000c0c0c0fb00
-f3c0010000fcc0fb00fdc0fb00fbc0010000fcc0fb00f6c0080000c0c0c0
-0000c0c0fb00fbc00a0000c0c0c00000c000000080c080c09ec000c0fc00
-fac0010000fac00b0000c0c0c00000c0c0c00000f6c0fc00fcc0040000c0
-0000fbc0010000fbc0010000f4c0130000c0c0c00000c0c00000c0c00000
-c0c0c00000f9c01b0000c0c0c00000c0c0c00000c0c00000c0c00000c000
-00c0c0c00000f6c0fb000ac0c00000c0c00000c0c0c0fc00fcc0fc00fdc0
-160000c0c0c00000c0c0000000c00000c00000c0c0c00000f4c0130000c0
-c0c00000c0c0c00000c00000c0c0c00000fcc00b0000c0c0c00000c0c0c0
-0000f7c0f90007c00000c0c0c00000fcc0010000fcc0050000c0c0000080
-c080c09fc004c00000c000fac0010000fac0040000c0c0c0f900f6c00c00
-00c000c0c0c00000c0c00000fbc0010000fbc0010000f4c0130000c0c0c0
-0000c0c00000c0c00000c0c0c00000f9c0170000c0c0c00000c0c0c00000
-c0c00000c0c00000c0c00000f2c00c0000c0c00000c00000c0c00000fcc0
-010000fac0010000fcc0f9000bc0c00000c0c00000c0c00000f0c0130000
-c0c0c00000c0c0c00000c00000c0c0c00000fcc0010000fcc0010000f3c0
-070000c0c0c00000c0f900fcc0010000fcc0050000c0c0000080c080c09f
-c002c00000f8c0010000fac0060000c0c0c00000f1c0010000fbc0050000
-c0c00000fbc0010000fbc0010000f4c0130000c0c0c00000c0c00000c0c0
-0000c0c0c00000f9c0190000c0c0c00000c0c0c00000c0c00000c0c00000
-c0c0c0000000f4c00c0000c0c00000c00000c0c00000fcc0010000fac001
-0000fcc0010000f9c0010000f9c0fd00f2c0130000c0c0c00000c0c0c000
-00c00000c0c0c00000fcc0010000fbc0fd00f5c0090000c0c0c00000c000
-00f7c0010000fcc0050000c0c0000080c080c09fc002c00000f8c0010000
-fac0060000c0c0c00000f1c00c0000c0c0c000c00000c0c00000fbc00100
-00fbc0010000f4c0130000c0c0c00000c0c00000c0c00000c0c0c00000f9
-c0130000c0c0c00000c0c0c00000c0c00000c0c00000fbc0010000f5c00c
-0000c0c00000c00000c0c00000fcc0010000fac0010000fcc0010000f9c0
-010000f7c0010000f3c0130000c0c0c00000c0c0c00000c00000c0c0c000
-00fcc0010000f9c0010000f6c0090000c0c0c00000c00000f7c0010000fc
-c0050000c0c0000080c080c09fc002c00000f8c0010000fac00b0000c0c0
-c00000c0c0c00000f6c00c0000c0c00000c00000c0c00000fbc0010000fb
-c0040000c00000f7c0160000c0c0c00000c0c00000c0c00000c0c0c00000
-c00000fcc01b0000c0c0c00000c0c0c00000c0c00000c0c00000c00000c0
-c0c00000f6c00c0000c0c00000c00000c0c00000fcc0010000fac0010000
-fcc00a0000c0c0c00000c0c00000fbc0060000c0c0c00000f4c0130000c0
-c0c00000c0c0c00000c00000c0c0c00000fcc00b0000c0c0c00000c0c0c0
-0000f7c00e0000c0c0c00000c00000c0c0c00000fcc0010000fcc0050000
-c0c0000080c080c09fc0fc00fac0fc00fcc0fc00fdc0fb00f6c0f9000ac0
-c0000000c00000c0c0c0fc00fbc0fd00f5c0fb00fdc0fb00fbc0fd00fcc0
-fc00fdc0fb00fdc0070000c0c00000c0c0fb00f6c0fa00fdc0fd0004c000
-00c0c0fc00fcc0fc00fcc0fb0001c0c0fc00fbc0fb00f4c0fc00fdc0fb00
-fdc0fb00fcc0fc00fdc0fb00f6c0080000c0c0c00000c0c0fb00fcc0fc00
-fdc0fb0080c080c09ec0a7c001000080c0c2c001000080c080c09bc0a7c0
-01000080c0c2c001000080c080c09bc0a8c0fc0080c0c4c0fc0080c080c0
-9cc080c080c080c080c080c0800080008000800080008000800080008000
-800006c0c0000000c0c0f500fdc0d20000c0ea00fcc0100000c0c0000000
-c0c000c0c0000000c0c0f700f9c08000ec0000c0e900fdc0f30000c0fc00
-fdc0e900fcc0100000c0c0000000c0c000c0c0000000c0c0f700fcc0f900
-01c0c0b20000c0f90001c0c0ca0000c0940006c0c0000000c0c0f40001c0
-c0d30001c0c0eb0015c0c00000c0c000c0c0c00000c0c000c0c0000000c0
-c0f60005c0c00000c0c08000ed0001c0c0ea0004c0c000c0c0f50001c0c0
-fb0001c0c0ea0015c0c00000c0c000c0c0c00000c0c000c0c0000000c0c0
-f60001c0c0f80001c0c0b30001c0c0f90001c0c0cb0001c0c0940006c0c0
-000000c0c0f40001c0c0d30001c0c0ec0001c0c0fc0001c000fcc00a00c0
-c000c0c0000000c0c0f60005c0c0000000c08000ed0001c0c0ea0004c0c0
-0000c0f50001c0c0fb0001c0c0eb0001c0c0fc0001c000fcc00a00c0c000
-c0c0000000c0c0f90004c00000c0c0a90001c0c0c20001c0c0940008c0c0
-000000c0c00000fbc0fb0001c0c0fc00fbc0fd00fbc00a0000c0c0c000c0
-c0000000fbc0f600fac0fd00fbc0f60001c0c0fa00f9c00700c0c0000000
-c0c0f6000fc0c000c0000000c0c0c000c0c0000000fcc0fc00fbc0fd00fb
-c0ed00fbc00a0000c0c000c0c0c0000000fbc0f500fbc0fd00fbc0120000
-c0c0c000c0c00000c0c000c0c0c0000000fbc00a0000c0c000c0c0c00000
-00fbc0090000c0c000c0c0c00000fac0f500fbc0fc0001c0c0f400fac0fd
-0007c0c000c0c0000000fbc0f60001c0c0fa00f9c00700c0c0000000c0c0
-fa0005c0c00000c0c0f900fdc0fd0016c0c000c0c0c00000c0c00000c0c0
-0000c0c0000000c0c0f600fbc00a0000c0c000c0c0c0000000fbc00a0000
-c0c000c0c0c0000000fcc0fd00fac0fc00fdc0fd000ec0c000c0c0c00000
-00c0c0c000c0c0f600fbc00a0000c0c0000000c0c00000fbc0010000fac0
-fd00fbc0070000c0c0c000c0c0a6000ec0c000c000c0c000c0c0000000c0
-c0fc0014c0c0000000c0c0000000c0c000c0c0000000c0c000f9c00700c0
-c0000000c0c0f50001c0c0fc0006c0c0000000c0c0f70001c0c0fa0002c0
-c000fcc00700c0c0000000c0c0f600fcc0fd00f9c0fb0012c0c00000c0c0
-000000c0c000c0c0000000c0c0ef0016c0c0000000c0c00000c0c00000c0
-c000c0c0000000c0c0f7000fc0c0000000c0c000c0c0000000c0c000f9c0
-2c0000c0c00000c0c000c0c0000000c0c00000c0c00000c0c000c0c00000
-00c0c00000c0c00000c0c0000000c0c0f40008c0c0000000c0c00000fcc0
-f30001c0c0fb00fdc00a00c0c000c0c0000000c0c0f70001c0c0fa0002c0
-c000fcc00700c0c0000000c0c0fb0006c0c0000000c0c0f80001c0c0fc00
-14c0c00000c0c000c0c00000c0c0000000c0c000c0c0f6001ec0c0000000
-c0c00000c0c00000c0c000c0c0000000c0c00000c0c0c000c0c0fb0001c0
-c0fc0001c0c0f90001c0c0fc000cc0c00000c0c000c0c00000c0c0f6001b
-c0c0000000c0c000c0c0000000c0c000c0c0000000c0c0000000c0c0fc00
-07c0c0000000c0c000f9c0a70007c0c000c000c0c000f9c0fc0006c0c000
-0000c0c0fa000fc0c0000000c0c000c0c000c000c0c000f9c0f50001c0c0
-fc0006c0c0000000c0c0f70002c0c000fcc00f00c0c00000c0c0c000c0c0
-000000c0c0f6000fc0c000c0000000c0c000c000c0c00000fbc0030000c0
-c0f90001c0c0eb000fc0c0000000c0c00000c0c00000c0c000f9c0f70001
-c0c0fa0027c0c0000000c0c000c0c000c000c0c00000c0c00000c0c000c0
-c0000000c0c00000c0c00000c0c000f9c00c0000c0c00000c0c0000000c0
-c0f4000bc0c0000000c0c0000000c0c0f20001c0c0fb0006c0c00000c0c0
-00f9c0f70002c0c000fcc00f00c0c00000c0c0c000c0c0000000c0c0fc00
-01c0c0fc0001c0c0f80001c0c0fc000cc0c00000c0c000c0c00000c0c0fc
-00fdc0f5000fc0c0000000c0c00000c0c00000c0c000f9c0090000c0c000
-00c0c00000fbc0fc0001c0c0f90001c0c0fc000cc0c00000c0c000c0c000
-00c0c0f50001c0c0fb000ac0c0000000c0c00000c0c0f90001c0c0fc00f9
-c00700c0c000c000c0c0a70009c0c000c000c0c000c0c0f70006c0c00000
-00c0c0fa0011c0c0000000c0c000c0c000c000c0c000c0c0f00001c0c0fc
-0006c0c0000000c0c0f70016c0c0000000c0c000c0c0000000c0c000c0c0
-000000c0c0f60001c0c0fb0011c0c000c000c0c000c0c00000c0c00000c0
-c0f800fdc0ed0011c0c0000000c0c00000c0c00000c0c000c0c0f20001c0
-c0fa0029c0c0000000c0c000c0c000c000c0c00000c0c00000c0c000c0c0
-000000c0c00000c0c00000c0c000c0c0f9000ac0c00000c0c0000000c0c0
-f4000bc0c0000000c0c0000000c0c0f20001c0c0fb0008c0c00000c0c000
-c0c0f2001bc0c0000000c0c000c0c0000000c0c000c0c0000000c0c00000
-00c0c0fb0001c0c0f80001c0c0fc000cc0c00000c0c000c0c00000c0c0fc
-00fdc0f50011c0c0000000c0c00000c0c00000c0c000c0c0f90001c0c0fb
-0005c0c00000c0c0fc0001c0c0f90001c0c0fc000cc0c00000c0c000c0c0
-0000c0c0f400fdc0fd000cc0c0000000c0c0000000c0c0c0fb0001c0c0fc
-0001c0c0fa0006c0c000c000c0c0a700f9c00200c0c0f70006c0c0000000
-c0c0fa0011c0c0000000c0c000c0c000c000c0c000c0c0f00001c0c0fc00
-06c0c0000000c0c0f70016c0c0000000c0c000c0c0000000c0c000c0c000
-0000c0c0f60018c0c0000000c000c0c000c000c0c000c0c00000c0c00000
-c0c0f60001c0c0fb0001c0c0f50011c0c0000000c0c00000c0c00000c0c0
-00c0c0f20001c0c0fa0029c0c0000000c0c000c0c000c000c0c00000c0c0
-0000c0c000c0c0000000c0c00000c0c00000c0c000c0c0f9000ac0c00000
-c0c0000000c0c0f4000bc0c0000000c0c0000000c0c0f20001c0c0fb0008
-c0c00000c0c000c0c0f2001ac0c0000000c0c000c0c0000000c0c000c0c0
-000000c0c00000c0c0fa0005c0c0000000c0fc0001c0c0fc000cc0c00000
-c0c000c0c00000c0c0fc00fdc0f50011c0c0000000c0c00000c0c00000c0
-c000c0c0f90001c0c0fb0005c0c00000c0c0fc0001c0c0f90001c0c0fc00
-0cc0c00000c0c000c0c00000c0c0f2000ac0c00000c0c0000000c0c0fb00
-01c0c0fc0001c0c0fc0001c0c0fa0006c0c000c000c0c0a700fdc00b00c0
-c0c000c0c0000000c0c0fc0023c0c0000000c0c0000000c0c000c0c00000
-00c0c000c0c000c000c0c000c0c0000000c0c0f5000cc0c000c0c000c0c0
-000000c0c0f60015c0c00000c0c000c0c0000000c0c000c0c0000000c0c0
-f60025c0c00000c0c000c0c000c000c0c000c0c00000c0c00000c0c00000
-00c0c000c0c0000000c0c0fc0001c0c0f50016c0c0000000c0c00000c0c0
-0000c0c000c0c0000000c0c0f70046c0c0000000c0c000c0c0000000c0c0
-00c0c000c000c0c00000c0c00000c0c000c0c0000000c0c00000c0c00000
-c0c000c0c0000000c0c00000c0c00000c0c0000000c0c000c0c0f7000bc0
-c0000000c0c0000000c0c0f20014c0c000c0c00000c0c00000c0c000c0c0
-000000c0c0f60018c0c00000c0c000c0c0000000c0c000c0c0000000c0c0
-00c0c0f90005c0c00000c0c0fc0001c0c0fc0014c0c00000c0c000c0c000
-00c0c0000000c0c000c0c0f6001ac0c0000000c0c00000c0c00000c0c000
-c0c0000000c0c00000c0c0fb0005c0c00000c0c0fc0004c0c000c0c0fc00
-01c0c0fc000cc0c00000c0c000c0c00000c0c0f6002ec0c0000000c0c000
-c0c0000000c0c000c0c0000000c0c0000000c0c000c0c000c0c0000000c0
-c000c0c000c000c0c0fc0001c0c0ad000800c0c000c0c0000000fbc0fc00
-fcc0fd00fbc0fd00fbc00a0000c0c0000000c0c00000fbc0f300fdc0fd00
-fbc0f400fdc00b00c000c0c0000000c0c00000fbc0f600f9c01100c0c000
-0000c0c00000c0c0c000c0c00000fbc0fd00fbc0fb0001c0c0f400fbc0fd
-0007c0c00000c0c00000fbc0f500fbc0fd00fbc00a0000c0c0000000c0c0
-0000fbc0fd00fbc0fd0007c0c00000c0c00000fbc0fd0005c0c00000c0c0
-fc00fdc0f500fbc0fd00fcc0f200fdc00a0000c0c0c00000c0c00000fbc0
-f400fdc00b00c000c0c0000000c0c00000fbc0020000c0f900f9c0fd00fc
-c0fd0015c0c00000c0c00000c0c0c000c0c000c0c0000000c0c0f600fbc0
-fd00fbc0fd00fbc0010000fcc0fb00fdc00200c0c0fc00fdc0fc00fcc0fd
-0007c0c00000c0c00000fbc0f500fbc0fd00fac0010000fbc0fb00fdc0fd
-00fbc0080000c0c0000000c0c0fc0001c0c0ad008000de0001c0c0bb0001
-c0c08000ba0001c0c0c70001c0c0e90001c0c087008000970001c0c08000
-ba0001c0c0cb0005c0c00000c0c0ea0001c0c0860080009800fcc08000bc
-00fcc0cb00fcc0ed00fbc085008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-0080008000800080008000800080008000800080008000010000fcc0f300
-00c0f400fdc0f100fdc09b00fcc0f600fdc0e7000ac0c00000c0c0000000
-c0c0f500fdc0fa00fdc0f300fdc0dc00fcc0fd00fac00000fac0010000fc
-c0e100fdc0c600fdc0f90001c0c080009c000600c0c00000c0c0f50001c0
-c0f30001c0c0f00001c0c09c0005c0c00000c0c0f60001c0c0e8000bc0c0
-000000c0c0000000c0c0f40001c0c0f90001c0c0f20001c0c0dd0007c0c0
-0000c0c00000fac00b0000c0c00000c0c00000c0c0df0001c0c0c50001c0
-c0f80001c0c080009d0001c0c0fc0000c0f50001c0c0f30001c0c0f00001
-c0c09d0001c0c0fc0000c0f60001c0c0e90001c0c0fc0006c0c0000000c0
-c0f40001c0c0f90001c0c0f20001c0c0de0001c0c0fc0014c00000c000c0
-c000c00000c0c00000c0c00000c0c0df0001c0c0c50001c0c0f70001c0c0
-80009e0001c0c0f900fbc0010000fac0f50007c0c000c0c0000000fbc0fb
-000ac0c0000000c0c000c0c0c0a60001c0c0f10004c0c000c0c0ec0001c0
-c0fc0008c0c0000000c0c00000fbc0fb0001c0c0fb00fcc0f400fcc0fd00
-fbc00f0000c0c0000000c0c000c0c000c0c0c0f60001c0c0f70001c0c0fc
-0009c0c00000c0c00000c0c0f200fcc0fd0005c0c000c0c0c0fc00fcc0f6
-0010c0c000c0c0c00000c0c000c0c0c0000000fbc0fd00fbc0fd00fbc0f5
-0004c0c000c0c0fa0001c0c080009e0001c0c0fa000bc0c0000000c0c000
-0000c0c0f300fdc00a00c0c000c0c0000000c0c0fc0001c0c0fc0005c0c0
-0000c0c0a70001c0c0f100fdc00200c0c0ed0001c0c0fc00f9c00700c0c0
-000000c0c0fc0001c0c0fc0004c0c000c0c0f5001dc0c000c0c00000c0c0
-000000c0c000c0c0000000c0c00000c0c00000c0c0f70001c0c0f70001c0
-c0fc00fbc0fd0001c0c0ef0011c0c0000000c0c00000c0c00000c0c000c0
-c0f50025c0c00000c0c00000c0c0c000c0c000c0c0000000c0c000c0c000
-0000c0c000c0c0000000c0c0f600fdc00200c0c0fb0001c0c080009e0002
-c0c000fcc00000f9c0fd0001c0c0f30006c0c00000c0c000f9c0fc0001c0
-c0fc0005c0c00000c0c0a70001c0c0fa00f9c0070000c0c00000c0c0ed00
-01c0c0fc000ec0c0000000c0c000c0c0000000c0c0fc000ac0c0000000c0
-c00000c0c0f6001ec0c00000c0c00000c0c0000000c0c000c0c000c000c0
-c00000c0c00000c0c0f70001c0c0f70001c0c0fc0009c0c000c0c0000000
-c0c0f200fbc0fd000cc0c00000c0c000c0c00000c0c0f5000ec0c00000c0
-c00000c0c00000c0c000f9c0030000c0c0fa0001c0c0f20005c0c00000c0
-c0fb0001c0c080009e0009c0c0000000c0c000c0c0f80001c0c0f30008c0
-c00000c0c000c0c0f70001c0c0fc0005c0c00000c0c0a70001c0c0f10005
-c0c00000c0c0ed0001c0c0fc000ec0c0000000c0c000c0c0000000c0c0fc
-000ac0c0000000c0c00000c0c0f6001ec0c00000c0c00000c0c0000000c0
-c000c0c000c000c0c00000c0c00000c0c0f70001c0c0f70001c0c0fc0009
-c0c00000c0c00000c0c0f30015c0c00000c0c0000000c0c00000c0c000c0
-c00000c0c0f50009c0c00000c0c00000c0c0fb0001c0c0f800fdc0fb00fd
-c0f40005c0c00000c0c0fb0001c0c080009e0009c0c0000000c0c000c0c0
-f80001c0c0f30008c0c00000c0c000c0c0f70001c0c0fc0005c0c00000c0
-c0a70001c0c0fc0000c0f60005c0c00000c0c0ed0001c0c0fc000ec0c000
-0000c0c000c0c0000000c0c0fc000ac0c0000000c0c00000c0c0f6001ec0
-c00000c0c00000c0c0000000c0c000c0c000c000c0c00000c0c00000c0c0
-f70001c0c0fc0000c0fc0001c0c0fc000dc0c00000c0c00000c0c0000000
-c0f70015c0c00000c0c0000000c0c00000c0c000c0c00000c0c0f50009c0
-c00000c0c00000c0c0fb0001c0c0f60001c0c0fa0001c0c0f50005c0c000
-00c0c0fb0001c0c080009e001600c0c00000c0c000c0c0000000c0c00000
-00c0c000c0c0f6000dc0c00000c0c000c0c0000000c0c0fc0001c0c0fc00
-05c0c00000c0c0a60005c0c00000c0c0f60005c0c00000c0c0ec0013c0c0
-000000c0c0000000c0c000c0c0000000c0c0fc000ac0c0000000c0c00000
-c0c0f6000fc0c00000c0c00000c0c0000000c0c000f9c0070000c0c00000
-c0c0f60005c0c00000c0c0fc0001c0c0fc000dc0c00000c0c00000c0c000
-00c0c0f70015c0c00000c0c0000000c0c00000c0c000c0c00000c0c0f500
-09c0c00000c0c00000c0c0fb0016c0c0000000c0c000c0c0000000c0c000
-c0c0000000c0c0f60005c0c00000c0c0fc0001c0c080009d00080000c0c0
-c000c00000fbc0fb00fdc0f600fdc0050000c0c00000fbc0fc00fcc0fd00
-fbc0a400fcc0f600fdc0030000c0c0eb000cc0c00000c0c0000000c0c000
-00fbc0fc00fcc0fd00fdc00200c0c0f600fdc00400c0c00000fbc0fd000d
-c0c000c0c0000000c0c00000c0c0f500fcc0fc00fcc0090000c0c0c00000
-c0c000f9c0f600fdc01200c0c00000c0c00000c0c00000c0c0c000c0c0f6
-00fbc0010000fcc0fb00fbc0fd00fbc0fd00fbc0f600fdc0080000c0c000
-0000c0c080009c00c70001c0c080008000da0001c0c080008000e300c700
-01c0c080008000da0001c0c080008000e300c800fcc080008000dc00fcc0
-80008000e400800080008000800080008000800080008000800080008000
-800080008000f9c0ad00fdc0c300fcc0f600fdc0800080008000ab000600
-c0c00000c0c0ac0001c0c0c40005c0c00000c0c0f60001c0c08000800080
-00ab000600c0c0000000c0ac0001c0c0c50001c0c0fc0000c0f60001c0c0
-800080008000ab001000c0c000c0000000c0c0c000c0c0000000fcc0fc00
-fbc0fd00fbc0f600fdc00500c0c0000000fcc0fd0010c0c000c0c0c00000
-c0c00000c0c0000000fcc0fa0001c0c0c50001c0c0f10004c0c000c0c0f6
-0005c0c000c0c0c0800080008000be000000fcc0fd00f9c0fb0012c0c000
-00c0c0000000c0c000c0c0000000c0c0f700f9c0fb0011c0c0000000c0c0
-0000c0c000c0c00000c0c0fa0001c0c0fb0001c0c0c50001c0c0f100fdc0
-0200c0c0f600fdc00200c0c0800080008000bf001000c0c000c0000000c0
-c000c000c0c00000fbc0030000c0c0f90001c0c0f30008c0c000c000c0c0
-0000fbc0fd000fc0c00000c0c000c0c00000c0c0000000fbc0fb0001c0c0
-c50001c0c0fa00f9c0070000c0c00000c0c0f60005c0c00000c0c0800080
-008000bf000200c0c0fb0011c0c000c000c0c000c0c00000c0c00000c0c0
-f800fdc0f50025c0c000c000c0c000c0c00000c0c0000000c0c00000c0c0
-00c0c00000c0c00000c0c00000c0c0fb0001c0c0c50001c0c0f10005c0c0
-0000c0c0f60001c0c0800080008000bb001900c0c0000000c000c0c000c0
-00c0c000c0c00000c0c00000c0c0f60001c0c0f60025c0c000c000c0c000
-c0c00000c0c0000000c0c00000c0c000c0c00000c0c00000c0c00000c0c0
-fb0001c0c0c50001c0c0fc0000c0f60005c0c00000c0c0f60001c0c08000
-80008000bb002600c0c00000c0c000c0c000c000c0c000c0c00000c0c000
-00c0c0000000c0c000c0c0000000c0c0f70025c0c000c000c0c000c0c000
-00c0c0000000c0c00000c0c000c0c00000c0c00000c0c00000c0c0fb0001
-c0c0c40005c0c00000c0c0f60005c0c00000c0c0f60001c0c08000800080
-00bb00f9c01100c0c0000000c0c00000c0c0c000c0c00000fbc0fd00fbc0
-f60029c0c0000000c0c00000c0c0c000c0c00000c0c00000c0c00000c0c0
-c000c0c00000c0c0c000c0c0000000fcc0c400fcc0f600fdc0030000c0c0
-f700fcc0800080008000bc00800080008000800080008000800080008000
-800080008000800080008000800080008000800080008000800080008000
-800080008000800080008000f9c0d40000c0f10000c0e90001c0c0f300fd
-c0d300fcc0f600fdc0f00000c0a40006c0c0000000c0c0f400fdc0e600fd
-c0a900fcc08000a6000600c0c00000c0c0d50001c0c0f20001c0c0e90001
-c0c0f20001c0c0d40005c0c00000c0c0f60001c0c0f10001c0c0a40006c0
-c0000000c0c0f30001c0c0e50001c0c0aa0005c0c00000c0c08000a70006
-00c0c0000000c0d50001c0c0f20001c0c0d90001c0c0d50001c0c0fc0000
-c0f60001c0c0f10001c0c0a40006c0c0000000c0c0f30001c0c0e50001c0
-c0ab0001c0c0fc0000c08000a7001000c0c000c0000000c0c0c000c0c000
-0000fcc0fc00fbc0fd00fbc0f600fac0090000c0c00000c0c00000fac0fd
-00fbc0070000c0c000c0c0c0fc00fdc0fc00fcc0fa0001c0c0d50001c0c0
-f10004c0c000c0c0f600fac0a6000dc0c0000000c0c000c0c000c0c0c0fc
-00fcc0fd00fbc0f500fbc0fd0007c0c000c0c0000000fcc0fd0010c0c000
-c0c0c0000000c0c0c000c0c00000fbc0fd00fbc0d60001c0c0f20006c0c0
-000000c0c0f70005c0c00000c0c08000c6000000fcc0fd00f9c0fb0012c0
-c00000c0c0000000c0c000c0c0000000c0c0f50001c0c0fc0005c0c00000
-c0c0fc0001c0c0fc000ec0c0000000c0c00000c0c0c000c0c0fc0001c0c0
-f90001c0c0fb0001c0c0d50001c0c0f100fdc00200c0c0f50001c0c0a400
-1ec0c0000000c0c00000c0c00000c0c00000c0c000c0c00000c0c0000000
-c0c0f7000ec0c0000000c0c00000c0c0c000c0c0fb0022c0c0000000c0c0
-0000c0c000c0c00000c0c00000c0c0000000c0c000c0c0000000c0c0d700
-01c0c0f10004c0c000c0c0f60005c0c00000c0c08000c6001000c0c000c0
-000000c0c000c000c0c00000fbc0030000c0c0f90001c0c0f10001c0c0fc
-0005c0c00000c0c0fc0001c0c0fc000ec0c0000000c0c00000c0c00000c0
-c0fc0001c0c0fc00fbc0fb0001c0c0d50001c0c0fa00f9c0070000c0c000
-00c0c0f50001c0c0a4001ec0c0000000c0c00000c0c00000c0c000c0c000
-00c0c00000c0c0000000c0c0f70001c0c0f90007c0c00000c0c00000fbc0
-fd000ec0c00000c0c000c0c00000c0c00000f9c0030000c0c0d30001c0c0
-fa00f9c0fd00fdc0f50005c0c00000c0c08000c6000200c0c0fb0011c0c0
-00c000c0c000c0c00000c0c00000c0c0f800fdc0f30001c0c0fc0005c0c0
-0000c0c0fc0001c0c0fc000ac0c0000000c0c00000c0c0f8000ac0c00000
-00c0c00000c0c0fb0001c0c0d50001c0c0f10005c0c00000c0c0f50001c0
-c0a4001ec0c0000000c0c00000c0c00000c0c000c0c00000c0c00000c0c0
-000000c0c0f70001c0c0f90020c0c00000c0c000c0c00000c0c0000000c0
-c00000c0c000c0c00000c0c00000c0c0f800fdc0d50001c0c0f000fdc0f5
-0005c0c00000c0c08000c6001900c0c0000000c000c0c000c000c0c000c0
-c00000c0c00000c0c0f60001c0c0f40001c0c0fc0005c0c00000c0c0fc00
-01c0c0fc000ac0c0000000c0c00000c0c0f8000ac0c0000000c0c00000c0
-c0fb0001c0c0d50001c0c0fc0000c0f60005c0c00000c0c0f50001c0c0a4
-001ec0c0000000c0c00000c0c00000c0c000c0c00000c0c00000c0c00000
-00c0c0f70001c0c0f90020c0c00000c0c000c0c00000c0c0000000c0c000
-00c0c000c0c00000c0c00000c0c0f60001c0c0d60001c0c0fc0000c0f500
-fdc0f50005c0c00000c0c08000c6002600c0c00000c0c000c0c000c000c0
-c000c0c00000c0c00000c0c0000000c0c000c0c0000000c0c0f5000bc0c0
-00c0c000c0c00000c0c0fc0010c0c000c0c000c0c0000000c0c00000c0c0
-f8000ac0c0000000c0c00000c0c0fb0001c0c0d40005c0c00000c0c0f600
-05c0c00000c0c0f50004c0c000c0c0a7001ec0c0000000c0c00000c0c000
-00c0c000c0c00000c0c00000c0c0000000c0c0f70036c0c0000000c0c000
-00c0c00000c0c000c0c00000c0c0000000c0c00000c0c000c0c00000c0c0
-0000c0c0000000c0c000c0c0000000c0c0d60005c0c00000c0c0f60004c0
-c000c0c0f60005c0c00000c0c08000c600f9c01100c0c0000000c0c00000
-c0c0c000c0c00000fbc0fd00fbc0f300fdc0fd00fdc00200c0c0fc00fdc0
-fd00fbc0010000fcc0fa00fcc0fd00fdc00500c0c0000000fcc0d400fcc0
-f600fdc0030000c0c0f400fdc0a500fbc0fd000fc0c00000c0c00000c0c0
-c000c0c00000fbc0f500fbc01a0000c0c0c00000c0c00000c0c0c000c0c0
-0000c0c00000c0c00000fbc0fd00fbc0fd00fbc0d400fcc0f60006c0c000
-0000c0c0f600fdc00200c0c08000c700800080009c0001c0c080008000e6
-0080008000a00005c0c00000c0c080008000e600800080009f00fcc08000
-8000e5008000800080008000800080008000800080008000800080008000
-80008000fac0bc00fdc0b300fcc0f600fdc0f100fcc0a600f9c0f40001c0
-c0fa0000c0f400f9c0a500fcc0e400fcc08000c6000600c0c00000c0c0bc
-0001c0c0b40005c0c00000c0c0f60001c0c0f20005c0c00000c0c0a60005
-c0c00000c0c0f40001c0c0fb0001c0c0f30005c0c00000c0c0a60005c0c0
-0000c0c0e60005c0c00000c0c08000c7000600c0c00000c0c0bc0001c0c0
-b50001c0c0fc0000c0f60001c0c0f30001c0c0fc0000c0a60005c0c00000
-00c0ed0001c0c0f30005c0c0000000c0a70001c0c0fc0000c0e70001c0c0
-fc0000c08000c7001600c0c00000c0c000c0c00000c0c00000c0c0000000
-c0c0f700fdc00500c0c0000000fcc0fd0010c0c000c0c0c00000c0c00000
-c0c0000000fcc0fa0001c0c0fc00fbc0be0001c0c0f10004c0c000c0c0f6
-0001c0c0f200fdc00200c0c0b50016c0c000c0000000c0c0000000c0c000
-0000c0c0c0000000fac0f5000fc0c000c0000000c0c0c000c0c0000000fc
-c0fc00fbc0fd00fbc0c60001c0c0f20006c0c0000000c0c0f70001c0c0f1
-00fbc08000d6000000fbc0100000c0c00000c0c00000c0c0000000c0c0f7
-00f9c0fb0011c0c0000000c0c00000c0c000c0c00000c0c0fa0001c0c0fb
-000bc0c0000000c0c0000000c0c0bf0001c0c0f100fdc00200c0c0f70001
-c0c0f200f9c0b600fcc0fc0004c0c000c0c0fb0001c0c0fb0001c0c0f300
-fcc0fd00f9c0fb0012c0c00000c0c0000000c0c000c0c0000000c0c0c700
-01c0c0f10004c0c000c0c0f60001c0c0f20006c0c0000000c0c08000d700
-1600c0c00000c0c000c0c00000c0c00000c0c0000000c0c0f70008c0c000
-c000c0c00000fbc0fd000fc0c00000c0c000c0c00000c0c0000000fbc0fb
-0001c0c0fc0001c0c0bb0001c0c0fa00f9c0070000c0c00000c0c0f70001
-c0c0fa00f9c00700c0c000c000c0c0b60003c0c000c0fb00fdc0fa0001c0
-c0fb0001c0c0f3000fc0c000c0000000c0c000c000c0c00000fbc0030000
-c0c0f90001c0c0c30001c0c0fa00f9c0fd00fdc0f50001c0c0fa00f9c002
-00c0c08000d2001600c0c00000c0c000c0c00000c0c00000c0c0000000c0
-c0f70025c0c000c000c0c000c0c00000c0c0000000c0c00000c0c000c0c0
-0000c0c00000c0c00000c0c0fb0001c0c0fb00fdc0bd0001c0c0f10005c0
-c00000c0c0f70001c0c0f20006c0c000c000c0c0b60001c0c0f900fdc0fa
-0001c0c0fb0001c0c0f30001c0c0fb0011c0c000c000c0c000c0c00000c0
-c00000c0c0f800fdc0c50001c0c0f000fdc0f50001c0c0f20001c0c08000
-d2001600c0c00000c0c000c0c00000c0c00000c0c0000000c0c0f70025c0
-c000c000c0c000c0c00000c0c0000000c0c00000c0c000c0c00000c0c000
-00c0c00000c0c0fb0001c0c0f90001c0c0be0001c0c0fc0000c0f60005c0
-c00000c0c0f70001c0c0fc0000c0f70006c0c000c000c0c0b6000bc0c000
-0000c0000000c0c0c0fa0001c0c0fb0001c0c0f30018c0c0000000c000c0
-c000c000c0c000c0c00000c0c00000c0c0f60001c0c0c60001c0c0fc0000
-c0f500fdc0f50001c0c0fc0000c0f70001c0c08000d2001600c0c00000c0
-c000c0c00000c0c00000c0c0000000c0c0f70025c0c000c000c0c000c0c0
-0000c0c0000000c0c00000c0c000c0c00000c0c00000c0c00000c0c0fb00
-0bc0c0000000c0c0000000c0c0be0005c0c00000c0c0f60005c0c00000c0
-c0f60005c0c00000c0c0f70006c0c000c000c0c0b6000cc0c00000c0c000
-00c0c000c0c0fb0001c0c0fb0004c0c000c0c0f60025c0c00000c0c000c0
-c000c000c0c000c0c00000c0c00000c0c0000000c0c000c0c0000000c0c0
-c60005c0c00000c0c0f60004c0c000c0c0f50005c0c00000c0c0f70006c0
-c0000000c0c08000d700fac0fd00fdc00400c0c00000fac0f70029c0c000
-0000c0c00000c0c0c000c0c00000c0c00000c0c00000c0c0c000c0c00000
-c0c0c000c0c0000000fcc0fd00fbc0bc00fcc0f600fdc0030000c0c0f500
-fcc0f60006c0c0000000c0c0b700f9c00a00c0c0000000c0c0000000fcc0
-fb00fdc0f600f9c01100c0c0000000c0c00000c0c0c000c0c00000fbc0fd
-00fbc0c400fcc0f60006c0c0000000c0c0f500fcc0f500fbc08000d600eb
-0001c0c080008000800080009700ec0001c0c080008000800080009600f0
-00fbc0800080008000800095008000800080008000800080008000800080
-00800080008000800080008000fac0a400fdc0cb00fcc0f600fdc0f00001
-c0c0800080008000bd000600c0c00000c0c0a40001c0c0cc0005c0c00000
-c0c0f60001c0c0f00001c0c0800080008000bd000600c0c00000c0c0a400
-01c0c0cd0001c0c0fc0000c0f60001c0c0800080008000ab001000c0c000
-00c0c000c0c000c0c0c0000000fbc00a0000c0c0000000c0c00000fbc0fd
-00fbc0f600fdc00500c0c0000000fcc0fd0010c0c000c0c0c00000c0c000
-00c0c0000000fcc0fa0001c0c0fc00fbc0d60001c0c0f10004c0c000c0c0
-f400fdc0800080008000bd000000fbc0fd00fdc02200c0c000c0c0000000
-c0c000c0c0000000c0c000c0c0000000c0c000c0c0000000c0c0f700f9c0
-fb0011c0c0000000c0c00000c0c000c0c00000c0c0fa0001c0c0fb000bc0
-c0000000c0c0000000c0c0d70001c0c0f100fdc00200c0c0f40001c0c080
-0080008000bd002200c0c00000c0c00000c0c00000c0c000c0c0000000c0
-c000c0c000c000c0c00000c0c0fb00f9c0f70008c0c000c000c0c00000fb
-c0fd000fc0c00000c0c000c0c00000c0c0000000fbc0fb0001c0c0fc0001
-c0c0d30001c0c0fa00f9c0070000c0c00000c0c0f40001c0c08000800080
-00bd000a00c0c00000c0c00000c0c0fb0019c0c0000000c0c000c0c000c0
-00c0c0000000c0c0c0000000c0c0f20025c0c000c000c0c000c0c00000c0
-c0000000c0c00000c0c000c0c00000c0c00000c0c00000c0c0fb0001c0c0
-fb00fdc0d50001c0c0f10005c0c00000c0c0f40001c0c0800080008000bd
-000a00c0c00000c0c00000c0c0fb000ec0c0000000c0c000c0c000c000c0
-c0fb0005c0c00000c0c0f20025c0c000c000c0c000c0c00000c0c0000000
-c0c00000c0c000c0c00000c0c00000c0c00000c0c0fb0001c0c0f90001c0
-c0d60001c0c0fc0000c0f60005c0c00000c0c0f40001c0c0800080008000
-bd000a00c0c00000c0c00000c0c0fb0007c0c0000000c0c000f9c00f00c0
-c0000000c0c000c0c0000000c0c0f70025c0c000c000c0c000c0c00000c0
-c0000000c0c00000c0c000c0c00000c0c00000c0c00000c0c0fb000bc0c0
-000000c0c0000000c0c0d60005c0c00000c0c0f60005c0c00000c0c0f400
-01c0c0800080008000bd00fac0010000fcc0fb00fbc0fd0007c0c000c0c0
-000000fbc0fd00fbc0f60029c0c0000000c0c00000c0c0c000c0c00000c0
-c00000c0c00000c0c0c000c0c00000c0c0c000c0c0000000fcc0fd00fbc0
-d400fcc0f600fdc0030000c0c0f500fcc0800080008000be008000800080
-008000800080008000800080008000800080008000800080008000800080
-00800080008000800080008000800080008000030000c0c0b20001c0c080
-008000d400fd0000c0f10000c0f90001c0c0ea0000c0cc00fdc0d300f9c0
-fc0001c0c0fb00fdc0cd00f9c0010000fbc0fc00fcc0f30001c0c0c50006
-c0c0000000c0c0f40001c0c080008000d500040000c0c0c0f30001c0c0f9
-0001c0c0eb0001c0c0cb0001c0c0d2000bc0c00000c0c0000000c0c0c0fc
-0004c0c000c0c0cd0015c0c00000c0c000c0c0000000c0c00000c0c00000
-c0c0f30001c0c0c600fdc00300c0c0c0f30001c0c080008000d6000500c0
-c000c0c0f40001c0c0e20001c0c0cb0001c0c0d20007c0c0000000c00000
-fcc0fd0006c0c0000000c0c0ce0010c0c0000000c000c0c0000000c0c000
-c0c0fc0000c0b700f9c080008000c70008c0c0000000c0c00000fbc00100
-00fac0fc00fdc0fd0008c0c0000000c0c00000fcc0fd00fac0fd00fbc0f6
-00fdc00500c0c0000000fbc0120000c0c000c0c0c00000c0c00000c0c000
-0000fcc0fc00fcc0fd0005c0c000c0c0c0e50003c0c000c0fa000bc0c000
-0000c0c0000000c0c0ee00fbc0070000c0c000c0c0c0ed0003c0c000c0fc
-0001c0c0fb0001c0c0d900fbc0070000c0c000c0c0c0e600f9c080008000
-c70013c0c0000000c0c000c0c0000000c0c0000000c0c0f9000bc0c00000
-00c0c0000000c0c0fb0001c0c0fc0001c0c0fc0006c0c0000000c0c0f700
-f9c01e00c0c0000000c0c00000c0c00000c0c000c0c00000c0c0000000c0
-c000c0c0fa000ac0c0000000c0c0c000c0c0e600fcc0fa000bc0c0000000
-c0c000c000c0c0ef000ec0c0000000c0c00000c0c0c000c0c0ee00fcc0fb
-00fdc0fd0001c0c0da000ec0c0000000c0c00000c0c0c000c0c0e70006c0
-c000c000c0c080008000c700f9c00200c0c0f80001c0c0f9000dc0c00000
-00c0c0000000c0c00000fbc0fc0001c0c0fc00f9c0f70007c0c000c000c0
-c000f9c0190000c0c00000c0c000c0c00000c0c0000000c0c00000c0c000
-00fbc0fd0005c0c00000c0c0e60003c0c000c0fa000bc0c0000000c0c000
-c000c0c0ef000ec0c0000000c0c00000c0c00000c0c0ee0003c0c000c0f9
-0005c0c00000c0c0da000ec0c0000000c0c00000c0c00000c0c0e70007c0
-c0000000c0c000f9c080008000cf0009c0c0000000c0c000c0c0f80001c0
-c0f90012c0c0000000c0c0000000c0c000c0c00000c0c0fc0001c0c0fc00
-01c0c0f20009c0c000c000c0c000c0c0f90021c0c00000c0c000c0c00000
-c0c0000000c0c00000c0c000c0c00000c0c0000000c0c0e20001c0c0f800
-0bc0c0000000c0c0000000c0c0ef000ac0c0000000c0c00000c0c0ea0001
-c0c0f60004c0c000c0c0da000ac0c0000000c0c00000c0c0e30006c0c000
-0000c0c080008000c70009c0c0000000c0c000c0c0f80001c0c0f90012c0
-c0000000c0c0000000c0c000c0c00000c0c0fc0001c0c0fc0001c0c0f200
-09c0c000c000c0c000c0c0f90021c0c00000c0c000c0c00000c0c0000000
-c0c00000c0c000c0c00000c0c0000000c0c0e20001c0c0f8000bc0c00000
-00c0c0000000c0c0ef000ac0c0000000c0c00000c0c0ea0010c0c0000000
-c000c0c0000000c0c000c0c0fc0000c0df000ac0c0000000c0c00000c0c0
-e30006c0c0000000c0c080008000c70016c0c0000000c0c000c0c0000000
-c0c0000000c0c000c0c0fc0001c0c0fc000cc0c000c0c00000c0c00000c0
-c0fc000cc0c000c0c000c0c0000000c0c0f70032c0c000c000c0c000c0c0
-000000c0c00000c0c00000c0c000c0c00000c0c0000000c0c00000c0c000
-c0c00000c0c0000000c0c0e20001c0c0f80001c0c0fc0004c0c000c0c0ee
-000ac0c0000000c0c00000c0c0ea0015c0c00000c0c000c0c0000000c0c0
-0000c0c00000c0c0df000ac0c0000000c0c00000c0c0e30006c0c0000000
-c0c080008000c70008c0c0000000c0c00000fbc0fb00fdc0fc00fcc0fc00
-fdc0fc00fdc00200c0c0fc00fdc0fd00fbc0f60008c0c0000000c0c00000
-fbc0fd000fc0c00000c0c00000c0c0c000c0c00000fbc0fd00fdc00300c0
-c000fcc0e400fcc0fb00fac0fd00fdc0ec00fbc0010000fcc0ec00f9c001
-0000fbc0fc00fcc0dd00fbc0010000fcc0e40006c0c0000000c0c0800080
-00c700800080008000800080008000800080008000800080008000800080
-0080008000800080008000800080008000800080008000f60001c0c0ea00
-01c0c08000aa0001c0c0ea0001c0c0800080009400fc0001c0c0fb0001c0
-c0fb00fcc0f40001c0c0a10000c0fc00fdc0e900fcc0fd00fac00000fac0
-010000fcc0f400fdc0d0000bc0c0000000c0c0000000c0c0f50001c0c0a1
-0000c0fc00fdc0eb0006c0c0000000c0c0f40000c0e80001c0c0e30000c0
-fa00fdc0fa0000c0fa0001c0c0f400fdc08300fd0001c0c0f9000ac0c000
-0000c0c00000c0c0f50001c0c0a20001c0c0fb0001c0c0ea0007c0c00000
-c0c00000fac00b0000c0c00000c0c00000c0c0f20001c0c0cf000ac0c000
-00c0c0c000c0c0c0f50001c0c0a20001c0c0fb0001c0c0eb00fdc00300c0
-c0c0f50001c0c0e90001c0c0e300fdc0fa0001c0c0fb0001c0c0f90001c0
-c0f40001c0c08300030000c0c0f40001c0c0fc0000c0f60001c0c0a10001
-c0c0fb0001c0c0eb0001c0c0fc0014c00000c000c0c000c00000c0c00000
-c0c00000c0c0f20001c0c0cb00f9c0f60001c0c0a10001c0c0fb0001c0c0
-eb00f9c0f50001c0c0ea0001c0c0e30004c0c000c0c0fb0001c0c0fb0001
-c0c0f80001c0c0f50001c0c08300030000c0c0f40001c0c0e200fdc00500
-c0c0000000fbc0fd00fcc0fd0008c0c000c0c0c0000000fbc0f60008c0c0
-0000c0c0000000fbc0fd00fbc0f600fac0fd0007c0c000c0c0000000fbc0
-f60001c0c0f70001c0c0fc0009c0c00000c0c00000c0c0f20007c0c00000
-c0c00000fbc0080000c0c0000000c0c0df00f9c0e700fdc00500c0c00000
-00fbc0fd00fcc0fd0008c0c000c0c0c0000000fbc0f60008c0c00000c0c0
-000000fbc0fd00fbc0f600fac0fd0007c0c000c0c0000000fbc0f600f9c0
-010000fbc0010000fac0fd00fcc0f30001c0c0fb00fbc0070000c0c000c0
-c0c0f60006c0c0000000c0c0fc0004c0c0000000fac0fa0001c0c0f50007
-c0c00000c0c00000fbc0080000c0c0000000c0c09700030000c0c0f40001
-c0c0e200f9c00700c0c0000000c0c0fb0012c0c0000000c0c00000c0c000
-c0c0000000c0c0f70016c0c00000c0c00000c0c0000000c0c000c0c00000
-00c0c0f50001c0c0fb00fdc00a00c0c000c0c0000000c0c0f70001c0c0f7
-0001c0c0fc00fbc0fd0001c0c0f20015c0c000c0c00000c0c0000000c0c0
-00c0c0000000c0c0df0006c0c000c000c0c0e700f9c00700c0c0000000c0
-c0fb0012c0c0000000c0c00000c0c000c0c0000000c0c0f70016c0c00000
-c0c00000c0c0000000c0c000c0c0000000c0c0f50001c0c0fb00fdc00a00
-c0c000c0c0000000c0c0f70013c0c000c000c0c000c0c0000000c0c00000
-00c0c0f80001c0c0f40001c0c0fc000ec0c0000000c0c00000c0c0c000c0
-c0f70006c0c0000000c0c0fc0001c0c0fb0001c0c0f80001c0c0f50015c0
-c000c0c00000c0c0000000c0c000c0c0000000c0c09700030000c0c0f400
-01c0c0fa00f9c0ef0007c0c000c000c0c000f9c0010000fbc0fd0009c0c0
-0000c0c00000c0c0f3000ac0c00000c0c0000000c0c0fb00f9c0f50001c0
-c0fb0006c0c00000c0c000f9c0f70001c0c0f70001c0c0fc0009c0c000c0
-c0000000c0c0f200fcc0fd00f9c00700c0c0000000c0c0df0007c0c00000
-00c0c000f9c0ef0007c0c000c000c0c000f9c0010000fbc0fd0009c0c000
-00c0c00000c0c0f3000ac0c00000c0c0000000c0c0fb00f9c0f50001c0c0
-fb0006c0c00000c0c000f9c0f70007c0c0000000c0c000f9c0fd0001c0c0
-fb00fbc0f40001c0c0fc000ec0c0000000c0c00000c0c00000c0c0f700f9
-c0fc0001c0c0fb0001c0c0f80001c0c0f500fcc0fd00f9c00700c0c00000
-00c0c09700030000c0c0f40001c0c0e20009c0c000c000c0c000c0c0fa00
-14c0c00000c0c0000000c0c00000c0c0000000c0c0c0f50005c0c00000c0
-c0fc00fdc0fd0001c0c0f00001c0c0fb0008c0c00000c0c000c0c0f20001
-c0c0f70001c0c0fc0009c0c00000c0c00000c0c0f200fcc0fd0001c0c0fa
-0006c0c0000000c0c0df0006c0c0000000c0c0e70009c0c000c000c0c000
-c0c0fa0014c0c00000c0c0000000c0c00000c0c0000000c0c0c0f50005c0
-c00000c0c0fc00fdc0fd0001c0c0f00001c0c0fb0008c0c00000c0c000c0
-c0f20009c0c0000000c0c000c0c0f80001c0c0fc0005c0c00000c0c0f400
-01c0c0fc000ac0c0000000c0c00000c0c0f30006c0c0000000c0c0fc0001
-c0c0fb0001c0c0f80001c0c0f500fcc0fd0001c0c0fa0006c0c0000000c0
-c09700030000c0c0f40001c0c0fc0000c0e70009c0c000c000c0c000c0c0
-fa000ec0c00000c0c0000000c0c00000c0c0fb0001c0c0f60005c0c00000
-c0c0fa0005c0c00000c0c0f00001c0c0fb0008c0c00000c0c000c0c0f200
-01c0c0fc0000c0fc0001c0c0fc000dc0c00000c0c00000c0c0000000c0f6
-0008c0c000c0c00000c0c0fa0006c0c0000000c0c0df0006c0c0000000c0
-c0e70009c0c000c000c0c000c0c0fa000ec0c00000c0c0000000c0c00000
-c0c0fb0001c0c0f60005c0c00000c0c0fa0005c0c00000c0c0f00001c0c0
-fb0008c0c00000c0c000c0c0f20009c0c0000000c0c000c0c0f80001c0c0
-fc0005c0c00000c0c0f40001c0c0fc000ac0c0000000c0c00000c0c0f300
-06c0c0000000c0c0fc0001c0c0fb0001c0c0f80001c0c0f50008c0c000c0
-c00000c0c0fa0006c0c0000000c0c09700fd0001c0c0f40005c0c00000c0
-c0e70026c0c000c000c0c000c0c0000000c0c000c0c00000c0c0000000c0
-c00000c0c000c0c0000000c0c0f70016c0c00000c0c00000c0c0000000c0
-c000c0c0000000c0c0f50014c0c000c0c00000c0c00000c0c000c0c00000
-00c0c0f60005c0c00000c0c0fc0001c0c0fc000dc0c00000c0c00000c0c0
-0000c0c0f60015c0c00000c0c000c0c0000000c0c000c0c0000000c0c0fc
-0001c0c0e50006c0c0000000c0c0e70026c0c000c000c0c000c0c0000000
-c0c000c0c00000c0c0000000c0c00000c0c000c0c0000000c0c0f70016c0
-c00000c0c00000c0c0000000c0c000c0c0000000c0c0f50014c0c000c0c0
-0000c0c00000c0c000c0c0000000c0c0f7001dc0c0000000c0c000c0c000
-0000c0c0000000c0c000c0c000c0c00000c0c0f3000fc0c0000000c0c000
-0000c0c00000c0c0f30006c0c0000000c0c0fc0001c0c0fb0004c0c000c0
-c0fc0001c0c0f40015c0c00000c0c000c0c0000000c0c000c0c0000000c0
-c0fc0001c0c09d00fc0001c0c0f400fcc0e60008c0c0000000c0c00000fb
-c0fd00fdc00c00c0c00000c0c00000c0c00000fbc0f500fdc00400c0c000
-00fbc0fd00fbc0f300fdc00a0000c0c0c00000c0c00000fbc0f400fcc0fc
-00fcc0090000c0c0c00000c0c000f9c0f700fdc0050000c0c00000fbc0fd
-00fac0fc0001c0c0e50006c0c0000000c0c0e70008c0c0000000c0c00000
-fbc0fd00fdc00c00c0c00000c0c00000c0c00000fbc0f500fdc00400c0c0
-0000fbc0fd00fbc0f300fdc00a0000c0c0c00000c0c00000fbc0f60008c0
-c0000000c0c00000fbc0fb00fdc0fd00fdc00200c0c0f30004c0c0000000
-fbc0010000fcc0f40009c0c0000000c0c0000000fcc0fb00fdc0fc0001c0
-c0f400fdc0050000c0c00000fbc0fd00fac0fc0001c0c09d008000a30001
-c0c080008000ca0001c0c097008000a40001c0c080008000ca0001c0c096
-008000a800fbc080008000cd00fbc0950080008000800080008000800080
-0080008000800080008000800080008000010000fcc0fb00fdc0d600fdc0
-c30006c0c0000000c0c0f40000c0ec00fdc0980001c0c0ea0000c0e900fd
-c0f30000c0dc00f9c0010000fbc0fc00fcc0f300fdc0f400fdc0fb00fdc0
-e200fdc0f600fdc0e80000c0fc00fdc0e300fdc0d80000c0e20001c0c0e4
-00fd0001c0c0fb0004c0c000c0c0d60001c0c0c300fdc00300c0c0c0f500
-01c0c0eb0001c0c0980001c0c0eb0001c0c0e80001c0c0f40001c0c0db00
-15c0c00000c0c000c0c0000000c0c00000c0c00000c0c0f50004c0c000c0
-c0f40001c0c0fa0001c0c0e10001c0c0f50001c0c0e90001c0c0fb0001c0
-c0e20001c0c0d90001c0c0e10001c0c0e500fd0001c0c0fb0004c0c00000
-c0d60001c0c0c300f9c0f50001c0c0eb0001c0c0810001c0c0e80001c0c0
-f40001c0c0db0010c0c0000000c000c0c0000000c0c000c0c0fc0000c0f5
-0004c0c00000c0f40001c0c0fa0001c0c0e10001c0c0f50001c0c0e90001
-c0c0fb0001c0c0e20001c0c0d90001c0c0e00001c0c0e600fd0001c0c0fb
-0001c0c0f40008c0c0000000c0c00000fbc0070000c0c00000c0c0f50007
-c0c000c0c0000000fcc0fd0008c0c0000000c0c00000fbc0f60008c0c000
-c0c0c0000000fbc0f600f9c0010000fbc0010000fac0fd00fcc0f40007c0
-c00000c0c00000fbc0080000c0c0000000c0c0ef0008c0c0000000c0c000
-00fbc0070000c0c00000c0c0f600fdc00500c0c0000000fcc0fd0006c0c0
-000000c0c0f500fdc0fd0008c0c000c0c0c0000000fbc0010000fac0fd00
-fbc0fd00fcc0fb00fcc0f600fac0120000c0c0000000c0c000c0c000c0c0
-c0000000fbc0f50003c0c000c0fc0001c0c0fb0001c0c0f00001c0c0fb00
-fbc0fb0001c0c0fa0001c0c0fc00fbc00a0000c0c0000000c0c00000fbc0
-fc00fcc0f500fcc0fd0006c0c0000000c0c0f700fac0fd0007c0c000c0c0
-000000fbc0f500fbc0fd0007c0c000c0c0000000fcc0fd0008c0c000c0c0
-c0000000fcc0fc00fbc0010000fac0fd00fbc0070000c0c000c0c0c0f200
-01c0c0e600fd0001c0c0fc00fcc0f50015c0c0000000c0c000c0c0000000
-c0c000c0c00000c0c0f500fdc00200c0c0fb0012c0c00000c0c0000000c0
-c000c0c0000000c0c0f6000dc0c00000c0c000c0c0000000c0c0f70013c0
-c000c000c0c000c0c0000000c0c0000000c0c0f80001c0c0f50015c0c000
-c0c00000c0c0000000c0c000c0c0000000c0c0ef0015c0c0000000c0c000
-c0c0000000c0c000c0c00000c0c0f600f9c0fb000ac0c00000c0c0000000
-c0c0f40001c0c0fc0012c0c00000c0c000c0c0000000c0c0000000c0c0fc
-0006c0c0000000c0c0fb0009c0c0000000c0c000c0c0f40001c0c0fc0016
-c0c0000000c0c00000c0c00000c0c000c0c0000000c0c0f600fcc0fb00fd
-c0fd0001c0c0f100fcc0fd0006c0c0000000c0c0fc0001c0c0fa0022c0c0
-000000c0c0000000c0c000c0c0000000c0c000c0c0000000c0c00000c0c0
-00c0c0f5000dc0c000c0c00000c0c0000000c0c0f50001c0c0fb00fdc00a
-00c0c000c0c0000000c0c0f7000ec0c0000000c0c00000c0c0c000c0c0fb
-000ac0c0000000c0c0c000c0c0fb000fc0c00000c0c0000000c0c0000000
-c0c0fc000ec0c0000000c0c00000c0c0c000c0c0f30001c0c0e600fd0001
-c0c0fb0001c0c0f40015c0c0000000c0c000c0c0000000c0c000c0c00000
-c0c0f50007c0c00000c0c00000fbc0090000c0c0000000c0c000f9c0f600
-0dc0c00000c0c000c0c0000000c0c0f70007c0c0000000c0c000f9c0fd00
-01c0c0fb00fbc0f500fcc0fd00f9c00700c0c0000000c0c0ef0015c0c000
-0000c0c000c0c0000000c0c000c0c00000c0c0f60008c0c000c000c0c000
-00fbc0080000c0c0000000c0c0f40001c0c0fc0009c0c00000c0c00000c0
-c0f90001c0c0fc00f9c0010000fbc0070000c0c00000c0c0f40001c0c0fc
-000fc0c0000000c0c00000c0c00000c0c000f9c0f60003c0c000c0f90005
-c0c00000c0c0f00001c0c0fc0006c0c0000000c0c0fc0001c0c0fa0014c0
-c0000000c0c0000000c0c000c0c000c000c0c000f9c00600c0c00000c0c0
-f5000dc0c00000c0c000c0c0000000c0c0f50001c0c0fb0006c0c00000c0
-c000f9c0f70001c0c0f90007c0c00000c0c00000fbc0fd0007c0c00000c0
-c00000fbc0030000c0c0f80001c0c0fc00f9c0070000c0c00000c0c0f300
-01c0c0e600fd0001c0c0fb0001c0c0f40015c0c0000000c0c000c0c00000
-00c0c000c0c00000c0c0f50018c0c00000c0c000c0c00000c0c00000c0c0
-000000c0c000c0c0f1000dc0c00000c0c000c0c0000000c0c0f70009c0c0
-000000c0c000c0c0f80001c0c0fc0005c0c00000c0c0f500fcc0fd0001c0
-c0fa0006c0c0000000c0c0ef0015c0c0000000c0c000c0c0000000c0c000
-c0c00000c0c0f60016c0c000c000c0c000c0c00000c0c00000c0c0000000
-c0c0f40001c0c0fc000bc0c00000c0c0000000c0c0c0fb0001c0c0fc0001
-c0c0fa000dc0c00000c0c00000c0c00000c0c0f40001c0c0fc0011c0c000
-0000c0c00000c0c00000c0c000c0c0f10001c0c0f60004c0c000c0c0f000
-01c0c0fc0006c0c0000000c0c0fc0001c0c0fa0016c0c0000000c0c00000
-00c0c000c0c000c000c0c000c0c0fa0005c0c00000c0c0f5000dc0c00000
-c0c000c0c0000000c0c0f50001c0c0fb0008c0c00000c0c000c0c0f20001
-c0c0f90011c0c00000c0c000c0c00000c0c0000000c0c0fb0009c0c00000
-c0c00000c0c0f80001c0c0fc0001c0c0f90001c0c0ef0001c0c0e600fd00
-01c0c0fb0001c0c0f40015c0c0000000c0c000c0c0000000c0c000c0c000
-00c0c0f50018c0c00000c0c000c0c00000c0c00000c0c0000000c0c000c0
-c0f1000dc0c00000c0c000c0c0000000c0c0f70009c0c0000000c0c000c0
-c0f80001c0c0fc0005c0c00000c0c0f50008c0c000c0c00000c0c0fa0006
-c0c0000000c0c0fc0001c0c0f50015c0c0000000c0c000c0c0000000c0c0
-00c0c00000c0c0f60016c0c000c000c0c000c0c00000c0c00000c0c00000
-00c0c0f40001c0c0fc0005c0c00000c0c0fb0001c0c0fc0001c0c0fc0001
-c0c0fa000dc0c00000c0c00000c0c00000c0c0f40001c0c0fc0011c0c000
-0000c0c00000c0c00000c0c000c0c0f10010c0c0000000c000c0c0000000
-c0c000c0c0fc0000c0f50001c0c0fc0006c0c0000000c0c0fc0001c0c0fa
-0016c0c0000000c0c0000000c0c000c0c000c000c0c000c0c0fa0005c0c0
-0000c0c0f5000dc0c00000c0c000c0c0000000c0c0f50001c0c0fb0008c0
-c00000c0c000c0c0f20001c0c0f90011c0c00000c0c000c0c00000c0c000
-0000c0c0fb0009c0c00000c0c00000c0c0f80001c0c0fc0001c0c0f90001
-c0c0ef0001c0c0e600fd0001c0c0fb0001c0c0f40015c0c0000000c0c000
-c0c0000000c0c000c0c00000c0c0f5001dc0c00000c0c000c0c00000c0c0
-000000c0c000c0c00000c0c0000000c0c0f6000dc0c00000c0c000c0c000
-0000c0c0f7001dc0c0000000c0c000c0c0000000c0c0000000c0c000c0c0
-00c0c00000c0c0f50015c0c00000c0c000c0c0000000c0c000c0c0000000
-c0c0fc0001c0c0f50015c0c0000000c0c000c0c0000000c0c000c0c00000
-c0c0f60016c0c000c000c0c000c0c00000c0c00000c0c0000000c0c0f400
-01c0c0fc002cc0c00000c0c000c0c0000000c0c0000000c0c000c0c000c0
-c0000000c0c000c0c00000c0c00000c0c00000c0c0f4001cc0c000c0c000
-c0c0000000c0c00000c0c00000c0c000c0c0000000c0c0f60015c0c00000
-c0c000c0c0000000c0c00000c0c00000c0c0f50001c0c0fc0006c0c00000
-00c0c0fc0001c0c0fa000cc0c0000000c0c0000000c0c000f9c00e00c0c0
-000000c0c000c0c00000c0c0f5000dc0c00000c0c000c0c0000000c0c0f5
-0014c0c000c0c00000c0c00000c0c000c0c0000000c0c0f7001ac0c00000
-00c0c00000c0c00000c0c000c0c00000c0c0000000c0c0fb0022c0c00000
-c0c00000c0c0000000c0c0000000c0c000c0c000c0c0000000c0c00000c0
-c0f80001c0c0fa0001c0c0e500010000fcc0fd00fcc0f400fac0010000fb
-c0fd00fdc00200c0c0f700fdc0110000c0c00000c0c0c000c0c0000000c0
-c0c0fc00fbc0f50007c0c00000c0c00000fbc0f60008c0c0000000c0c000
-00fbc0fb00fdc0fd00fdc00200c0c0f700fdc0050000c0c00000fbc0fd00
-fac0fc0001c0c0f400fac0010000fbc0fd00fdc00200c0c0f70010c0c000
-0000c0c00000c0c0c000c0c00000fac0f500fcc0fd0007c0c00000c0c000
-00fbc0fb00fdc0fd00fbc0fd00fdc00a00c0c00000c0c0c000c0c0f400fd
-c0fd00fac0010000fbc0fd00fbc0f600f9c0010000fbc0fc00fcc0f500fc
-c0fc00fbc0fc00fcc0fc00fcc0fd00fbc0fd0007c0c000c0c0000000fbc0
-fd00fdc00200c0c0f600fbc0fd00fac0f400fdc00a0000c0c0c00000c0c0
-0000fbc0f500fbc0110000c0c0c00000c0c00000c0c0c000c0c000fcc0fb
-00fdc00400c0c00000fbc0fb00fdc0fd00fbc0010000fcc0f90001c0c0fb
-0001c0c0e400e30001c0c08000ea0006c0c0000000c0c0ef0001c0c0d200
-01c0c0aa0005c0c00000c0c08000f60001c0c08000e700e40001c0c08000
-ea0001c0c0ea0001c0c0d20001c0c0aa0006c0c0000000c0c08000f70001
-c0c08000e600e800fbc08000ed00fbc0ed00fbc0d500fbc0ad00fbc0fd00
-fcc08000fc00fbc08000e500800080008000800080008000800080008000
-800080008000800080008000800080008000800080008000800080008000
-800080008000800080008000800080008000800080008000800080008000
-800080008000800080008000800080008000800080008000800080008000
-800080008000800080008000800080008000800080008000800080008000
-800080008000800080008000800080008000800080008000800080008000
-80008000800080008000800080008000800080008000010000fcc0100000
-c0c0000000c0c000c0c0000000c0c0f700f9c0d600fbc0fd00fbc0f400fd
-c0f300fdc0f400fbc0f20001c0c0fb0001c0c0fb00fdc0fc00fbc0fc00fd
-c0db00fdc0fa0001c0c0b50006c0c0000000c0c0f40000c0ea00fdc0fd00
-fdc0f80001c0c0fa0000c0ec0006c0c0000000c0c0ee00fbc0fb00fdc0d4
-00fdc0fb00fdc0f500fdc0e10001c0c09c001600c0c00000c0c000c0c0c0
-0000c0c000c0c0000000c0c0f60005c0c00000c0c0d7000ec0c0000000c0
-c000c0c0000000c0c0f60004c0c000c0c0f50004c0c000c0c0f60006c0c0
-000000c0c0f40001c0c0fa0001c0c0fc0001c0c0fb000ac0c0000000c0c0
-0000c0c0d80001c0c0fa0001c0c0b50006c0c0000000c0c0f50001c0c0e9
-0001c0c0fc0001c0c0f80001c0c0fb0001c0c0ec0006c0c0000000c0c0ef
-0006c0c0000000c0c0fb0001c0c0d30001c0c0fa0001c0c0f40001c0c0e0
-0001c0c09d0001c0c0fc0001c000fcc00a00c0c000c0c0000000c0c0f600
-05c0c0000000c0d20001c0c0fa0001c0c0f70006c0c0000000c0c0f70006
-c0c0000000c0c0f20001c0c0f50001c0c0f40001c0c0fa0009c0c0000000
-c0c000c0c0d70001c0c0ac0004c0c000c0c0f40001c0c0e90001c0c0fc00
-01c0c0f10001c0c0eb0004c0c000c0c0e90001c0c0fb0001c0c0d30001c0
-c0fa0001c0c0f40001c0c0df0001c0c09e0001c0c0fa00f9c00700c0c000
-0000c0c0f6000fc0c000c0000000c0c0c000c0c0000000fcc0fc00fbc0fd
-00fbc0f20001c0c0f90001c0c0f70006c0c0000000c0c0f70006c0c00000
-00c0c0f30001c0c0f40001c0c0fa00fdc0fd0001c0c0fa0009c0c0000000
-c0c000c0c0f20008c0c000c0c0c0000000fbc0f30001c0c0fb00fdc0fd00
-16c0c000c0c0c00000c0c00000c0c00000c0c0000000c0c0f600fdc01100
-c0c000c0c000c0c0c00000c0c00000c0c0ed00fbc0f600fac0fd00fbc0fd
-00fbc0fb0001c0c0fc000ec0c00000c0c0000000c0c0c0000000fac0ed00
-fbc0fd00fcc0fd0006c0c0000000c0c0fa0004c0c0000000fcc0f500fbc0
-fd00fbc00a0000c0c000c0c0c0000000fbc0fb0001c0c0fa0001c0c0f400
-fcc0fc00fcc0fd0008c0c000c0c0c0000000fbc0fa0001c0c09e0001c0c0
-fa0002c0c000fcc00700c0c0000000c0c0f600fcc0fd00f9c0fb0012c0c0
-0000c0c0000000c0c000c0c0000000c0c0f40001c0c0fb00fcc0f60006c0
-c000c000c0c0f70006c0c000c000c0c0f40001c0c0f30001c0c0f90004c0
-c0000000fac0fd00fbc0010000fac0f5000dc0c00000c0c000c0c0000000
-c0c0f40001c0c0fa0001c0c0fc0014c0c00000c0c000c0c00000c0c00000
-00c0c000c0c0f60015c0c00000c0c0000000c0c00000c0c000c0c00000c0
-c0ec00fdc0f30001c0c0fc000ec0c0000000c0c000c0c0000000c0c0fc00
-01c0c0fc0004c0c000c0c0fb0001c0c0fb0001c0c0ea00fdc0f9000dc0c0
-0000c0c0000000c0c0000000fcc0fd0004c0c000c0c0f6001ec0c0000000
-c0c000c0c0000000c0c00000c0c0c000c0c000c0c0000000c0c0fc0001c0
-c0fa0001c0c0f40004c0c000c0c0fa0012c0c0000000c0c0c000c0c000c0
-c0000000c0c0fb0001c0c09e0002c0c000fcc00f00c0c00000c0c0c000c0
-c0000000c0c0f6000fc0c000c0000000c0c000c000c0c00000fbc0030000
-c0c0f90001c0c0f10001c0c0f70001c0c0f70006c0c000c000c0c0f70006
-c0c000c000c0c0f50001c0c0f20001c0c0f9001cc0c0000000c0c0000000
-c0c000c0c0000000c0c000c0c0000000c0c000f9c00a0000c0c00000c0c0
-00c0c0fa00f9c0fc0001c0c0fa0001c0c0fc000cc0c00000c0c000c0c000
-00c0c0fc00fdc0fd00f9c01600c0c00000c0c0000000c0c00000c0c000c0
-c00000c0c0ec00fdc0f30001c0c0fc000ec0c0000000c0c000c0c0000000
-c0c0fc0001c0c0fc00fcc0fa0001c0c0fb0001c0c0ea00fdc0fc00fbc008
-0000c0c000c000c0c0fa0008c0c000c0c00000c0c0f50001c0c0fb0001c0
-c0f9000dc0c00000c0c000c0c0000000c0c0fc0001c0c0fa0001c0c0f400
-07c0c00000c0c00000fbc0fd0009c0c00000c0c00000c0c0f70001c0c09e
-0016c0c0000000c0c000c0c0000000c0c000c0c0000000c0c0f60001c0c0
-fb0011c0c000c000c0c000c0c00000c0c00000c0c0f800fdc0f40001c0c0
-f60001c0c0f70006c0c0000000c0c0f70006c0c0000000c0c0f60001c0c0
-f10001c0c0f9001bc0c0000000c0c0000000c0c000c0c0000000c0c000c0
-c0000000c0c0f60008c0c00000c0c000c0c0ef0001c0c0fa0001c0c0fc00
-0cc0c00000c0c000c0c00000c0c0fc00fdc0f50015c0c00000c0c0000000
-c0c00000c0c000c0c00000c0c0ed00fbc0f40001c0c0fc000ec0c0000000
-c0c000c0c0000000c0c0fc0001c0c0fc00fcc0fa0001c0c0fb0001c0c0eb
-00fbc0100000c0c00000c0c00000c0c000c000c0c0fa0008c0c000c0c000
-00c0c0f400fdc0fd0001c0c0f90001c0c0fb0006c0c0000000c0c0fc0001
-c0c0fa0001c0c0f40011c0c00000c0c000c0c00000c0c0000000c0c0f900
-fdc0f90001c0c09e0016c0c0000000c0c000c0c0000000c0c000c0c00000
-00c0c0f60018c0c0000000c000c0c000c000c0c000c0c00000c0c00000c0
-c0f60001c0c0f60001c0c0f50001c0c0f70006c0c0000000c0c0f70006c0
-c0000000c0c0f70001c0c0f00001c0c0f9001bc0c0000000c0c0000000c0
-c000c0c0000000c0c000c0c0000000c0c0f60008c0c00000c0c000c0c0ef
-0001c0c0fa0001c0c0fc000cc0c00000c0c000c0c00000c0c0fc00fdc0f5
-0015c0c00000c0c0000000c0c00000c0c000c0c00000c0c0fb0001c0c0f4
-0004c0c000c0c0f40001c0c0fc000ec0c0000000c0c000c0c0000000c0c0
-fc0001c0c0fc0004c0c000c0c0fb0001c0c0fb0001c0c0f90001c0c0f400
-15c0c000c0c00000c0c00000c0c00000c0c000c000c0c0fa0008c0c000c0
-c00000c0c0f20005c0c00000c0c0f90001c0c0fb0006c0c0000000c0c0fc
-0001c0c0fa0001c0c0f40011c0c00000c0c000c0c00000c0c0000000c0c0
-f70001c0c0fa0001c0c09e001600c0c00000c0c000c0c0000000c0c000c0
-c0000000c0c0f60025c0c00000c0c000c0c000c000c0c000c0c00000c0c0
-0000c0c0000000c0c000c0c0000000c0c0f7000ec0c0000000c0c000c0c0
-000000c0c0fc0001c0c0fc0004c0c000c0c0fb0001c0c0fc0004c0c000c0
-c0fb000bc0c0000000c0c0000000c0c0f40001c0c0fa001bc0c0000000c0
-c0000000c0c000c0c0000000c0c000c0c0000000c0c0f6000dc0c00000c0
-c000c0c0000000c0c0f40001c0c0fa0001c0c0fc0014c0c00000c0c000c0
-c00000c0c0000000c0c000c0c0f60015c0c00000c0c0000000c0c00000c0
-c000c0c00000c0c0fb0001c0c0f50006c0c0000000c0c0f50014c0c000c0
-c000c0c0000000c0c000c0c0000000c0c0fc0001c0c0fc0005c0c00000c0
-c0fc0001c0c0fb0004c0c000c0c0fc0001c0c0f5000fc0c0000000c0c000
-c0c00000c0c00000f9c00e00c0c0000000c0c000c0c00000c0c0f60012c0
-c0000000c0c000c0c0000000c0c00000c0c0fb0006c0c0000000c0c0fc00
-01c0c0fa0001c0c0f40011c0c00000c0c000c0c00000c0c0000000c0c0fb
-0006c0c0000000c0c0fc0001c0c09d00100000c0c0c000c000c0c0000000
-c0c00000fbc0f600f9c01100c0c0000000c0c00000c0c0c000c0c00000fb
-c0fd00fbc0f600f9c0010000fbc0fb0001c0c0fb00fdc0fa0001c0c0fb00
-fdc0fa0004c0c0000000f9c0f30001c0c0fc00fcc0fd00fbc0fd00fbc0fd
-00fbc0f500fbc0fd00fbc0f400fcc0fc00fcc0fd0015c0c00000c0c00000
-c0c0c000c0c000c0c0000000c0c0f600fbc0fd000dc0c00000c0c00000c0
-c0c000c0c0fc0001c0c0f50006c0c0000000c0c0f400fdc0fd00fbc0fd00
-fbc0fc00fcc00b0000c0c0c00000c0c0000000fcc0fb00fdc0fb0001c0c0
-f50018c0c0000000c0c00000c0c0c000c0c00000c0c000c0c0000000fbc0
-fd00fdc00200c0c0f600fbc0fd00fbc0010000fcc0fb00fbc0fc00fcc0fc
-00fcc0f500fbc0fd00fdc00300c0c000fcc0fb00fbc0fc0001c0c09c0080
-00b70001c0c0b70001c0c0ec0001c0c0aa0001c0c0800084008000b70001
-c0c0bb0005c0c00000c0c08000800096008000b800fcc0bb00fcc0800080
-009500800080008000800080008000800080008000800080008000800080
-008000ed00fdc0f500fbc0fc00fdc0fb00fdc0fd00f9c0f500fdc0fc00fb
-c0f500fbc0010000f9c0d500fdc0ed00fdc0800080008000b300ee0004c0
-c000c0c0f70019c0c0000000c0c00000c0c000c0c0000000c0c000c0c000
-00c0c0f1000dc0c000c0c00000c0c0000000c0c0f70009c0c0000000c0c0
-00c0c0cf0001c0c0ec0001c0c0800080008000b300ee0004c0c00000c0f2
-0014c0c000c0c0000000c0c000c0c0000000c0c000c0c0f20006c0c00000
-00c0c0fa0001c0c0f20004c0c000c0c0cf0001c0c0ec0001c0c080008000
-8000b300f700fbc0fc0001c0c0f00015c0c00000c0c0000000c0c000c0c0
-000000c0c000c0c0f20006c0c0000000c0c0fa0001c0c0f30005c0c00000
-c0c0f100fbc0070000c0c000c0c0c0f500fbc0fb0001c0c0fc00fcc0fc00
-fbc0fd000fc0c00000c0c000c0c0000000c0c00000fcc0fd0008c0c000c0
-c0c0000000fbc0800080008000d600f80008c0c0000000c0c00000fcc0f2
-0014c0c0000000c0c000c000c0c000c0c000c000c0c000fac0f60009c0c0
-00c000c0c0000000fcc0f30004c0c0000000fac0f6000ec0c0000000c0c0
-0000c0c00000c0c0f70006c0c0000000c0c0fc0001c0c0f9001ac0c00000
-c0c0000000c0c00000c0c000c0c00000c0c0000000c0c0fb0012c0c00000
-00c0c0c000c0c000c0c0000000c0c0800080008000d700f8000bc0c00000
-00c0c0000000c0c0f20001c0c0fc000ec0c000c000c0c000c0c000c000c0
-c0fa0002c0c000f9c00700c0c000c000c0c0fa0002c0c000f9c0fd0001c0
-c0f70001c0c0f7000ec0c0000000c0c00000c0c00000c0c0f60001c0c0f8
-0001c0c0fc00fbc0030000c0c0f900fcc0fd0008c0c000c000c0c00000fb
-c0fd0006c0c00000c0c000f9c0800080008000d700f8000bc0c0000000c0
-c0000000c0c0f30001c0c0fb000ec0c0000000c0c000c0c0000000c0c0fa
-0001c0c0f70006c0c0000000c0c0fa0001c0c0f60001c0c0f60001c0c0f7
-000ec0c0000000c0c00000c0c00000c0c0f500fdc0fa000ec0c0000000c0
-c00000c0c00000c0c0f900fcc0fd0012c0c000c000c0c000c0c00000c0c0
-000000c0c0fb0001c0c0800080008000d200f8000bc0c0000000c0c00000
-00c0c0f40001c0c0fa000ec0c0000000c0c000c0c0000000c0c0fa0001c0
-c0f70006c0c0000000c0c0fa0001c0c0f70001c0c0f50001c0c0f7000ec0
-c0000000c0c00000c0c00000c0c0f30001c0c0fb000ec0c0000000c0c000
-00c0c00000c0c0f90019c0c000c0c00000c0c000c000c0c000c0c00000c0
-c0000000c0c0fb0001c0c0800080008000d200f8000bc0c0000000c0c000
-0000c0c0f4001ec0c0000000c0c00000c0c000c0c0000000c0c000c0c000
-00c0c0000000c0c0f6000dc0c000c0c00000c0c0000000c0c0f7000ec0c0
-000000c0c000c0c0000000c0c0f7000ec0c0000000c0c00000c0c00000c0
-c0f70006c0c0000000c0c0fc001cc0c0000000c0c00000c0c00000c0c000
-0000c0c00000c0c00000c0c000f9c00b00c0c00000c0c0000000c0c0fb00
-06c0c0000000c0c0800080008000d700f700fbc0fd00fcc0f500f9c0fd00
-fdc0fb00fdc0fc00fbc0f400fdc0fc00fbc0f600f9c0010000fbc0f500fb
-c0fd0005c0c00000c0c0f600fbc0fc00fcc0fd00fdc00400c0c00000fbc0
-190000c0c0c00000c0c00000c0c000c0c0000000c0c0c000c0c000fcc0fb
-00fbc0800080008000d60080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-0080008000800080008000010000fcc0db0001c0c0f500fdc0f80000c0f0
-0001c0c0fc00fcc0fc0001c0c0f300fbc0fc00fdc0fb00fdc0f90001c0c0
-f600f9c0de00fbc0f300fdc0fb0000c0d400f9c0e400fdc0f30000c0f900
-01c0c0db00fcc080008000ee000600c0c00000c0c0dc0001c0c0f40001c0
-c0f90001c0c0f10001c0c0fc0005c0c00000c0c0fc0001c0c0f50015c0c0
-000000c0c00000c0c000c0c0000000c0c000c0c0fb00fdc0f50005c0c000
-00c0c0df0006c0c0000000c0c0f50009c0c000c0c0000000c0c0d30005c0
-c00000c0c0e30001c0c0f40001c0c0f90001c0c0da0001c0c080008000ed
-0001c0c0fc0000c0ce0001c0c0f90001c0c0f20001c0c0fc0001c0c0fc00
-00c0fb0001c0c0f10014c0c000c0c0000000c0c000c0c0000000c0c00000
-00fcc0f50005c0c0000000c0df0006c0c0000000c0c0f50009c0c00000c0
-000000c0c0d30005c0c0000000c0e30001c0c0f40001c0c0d10001c0c080
-008000ed0001c0c0f900fbc0170000c0c000c0c0c00000c0c0000000c0c0
-00c0c000c0c0c0fc00fdc0fc00fdc00b00c0c00000c0c000c0c00000fac0
-f40001c0c0fc0001c0c0f60001c0c0f20019c0c00000c0c0000000c0c000
-c0c0000000c0c00000c0c000c0c0f5000fc0c000c0000000c0c000c0c0c0
-000000fbc0fd00fbc0f50001c0c0fa00fbc0fc0001c0c0fc00fac00a0000
-c0c0000000c0c00000fcc0fd0008c0c000c0c0c0000000fbc0f50003c0c0
-00c0fc00fbc00f0000c0c00000c0c00000c0c000c0c0c0fc00fcc0fd00fc
-c0fd00fac0fc00fdc0fc00fbc0070000c0c000c0c0c0eb000dc0c0000000
-c0c000c0c0c0000000fbc080008000fe0001c0c0fa001ec0c0000000c0c0
-0000c0c00000c0c000c0c0000000c0c00000c0c0c000c0c0fc0018c0c000
-0000c0c00000c0c0000000c0c0c000c0c0000000c0c0f20001c0c0fc0001
-c0c0f60001c0c0f3001ac0c0000000c0c000c000c0c000c0c000c000c0c0
-00c0c00000c0c0f500fcc0fc00fdc01200c0c000c0c0000000c0c000c0c0
-000000c0c0f500fdc0fd0008c0c0000000c0c00000fcc0fb0001c0c0fc00
-06c0c0000000c0c0fb0012c0c0000000c0c0c000c0c000c0c0000000c0c0
-f600fcc0fd001dc0c0000000c0c000c0c00000c0c0000000c0c00000c0c0
-0000c0c000c0c0fa0001c0c0fc0001c0c0f90013c0c0000000c0c0000000
-c0c00000c0c00000c0c0ec0001c0c0fc000dc0c00000c0c000c0c0000000
-c0c080008000ff0001c0c0fa001ec0c0000000c0c00000c0c00000c0c000
-c0c0000000c0c00000c0c00000c0c0fc0018c0c0000000c0c00000c0c000
-0000c0c00000c0c0000000c0c0f20001c0c0fc0001c0c0f60001c0c0f400
-01c0c0fc000fc0c000c000c0c000c0c000c000c0c000f9c0f60003c0c000
-c0fc0006c0c00000c0c000f9c00000f9c0f3000fc0c00000c0c0000000c0
-c0000000c0c0fa0001c0c0fc0008c0c000c000c0c00000fbc0fd0006c0c0
-0000c0c000f9c0f60027c0c000c0000000c0c0000000c0c000c0c00000c0
-c0000000c0c00000c0c000c0c00000c0c0000000fbc0fc0001c0c0f90013
-c0c0000000c0c0000000c0c00000c0c00000c0c0ec0001c0c0fc0008c0c0
-0000c0c000c0c080008000fa0001c0c0fa001ac0c0000000c0c00000c0c0
-0000c0c000c0c0000000c0c00000c0c0f80018c0c0000000c0c00000c0c0
-000000c0c00000c0c0000000c0c0f20001c0c0fc0001c0c0f60001c0c0f5
-0001c0c0fb000ec0c0000000c0c000c0c0000000c0c0fb0001c0c0f50001
-c0c0fa0001c0c0fb0001c0c0fa0001c0c0ed000ec0c000c0c0000000c0c0
-000000c0c0fa0001c0c0fc0012c0c000c000c0c000c0c00000c0c0000000
-c0c0fb0001c0c0f10001c0c0fb0025c0c0000000c0c000c0c00000c0c000
-0000c0c00000c0c000c0c00000c0c00000c0c00000c0c0fc0001c0c0f900
-13c0c0000000c0c0000000c0c00000c0c00000c0c0ec0001c0c0fc0008c0
-c00000c0c000c0c080008000fa0001c0c0fc001cc000c0c0000000c0c000
-00c0c00000c0c000c0c0000000c0c00000c0c0f80018c0c0000000c0c000
-00c0c0000000c0c00000c0c0000000c0c0f20001c0c0fc0001c0c0fc0000
-c0fb0001c0c0f60001c0c0fa000ec0c0000000c0c000c0c0000000c0c0fb
-0001c0c0f50001c0c0fa0001c0c0fb0001c0c0fa0001c0c0f20013c0c000
-0000c0c000c0c0000000c0c0000000c0c0fa0001c0c0fc0012c0c000c000
-c0c000c0c00000c0c0000000c0c0fb0001c0c0f10001c0c0fb0025c0c000
-0000c0c000c0c00000c0c0000000c0c00000c0c000c0c00000c0c00000c0
-c00000c0c0fc0001c0c0f90013c0c0000000c0c0000000c0c00000c0c000
-00c0c0fc0001c0c0f20001c0c0fc0008c0c00000c0c000c0c080008000fa
-002200c0c00000c0c000c0c0000000c0c00000c0c00000c0c000c0c00000
-00c0c00000c0c0f8001bc0c0000000c0c00000c0c0000000c0c00000c0c0
-000000c0c000c0c0f40001c0c0fc0005c0c00000c0c0fc0001c0c0f50015
-c0c0000000c0c00000c0c000c0c0000000c0c000c0c0fa0001c0c0f50001
-c0c0fa0001c0c0fb000ec0c0000000c0c000c0c0000000c0c0f70013c0c0
-000000c0c000c0c0000000c0c0000000c0c0fa0005c0c000c0c000f9c00b
-00c0c00000c0c0000000c0c0fb0006c0c0000000c0c0f60001c0c0fb0025
-c0c0000000c0c000c0c00000c0c0000000c0c00000c0c000c0c00000c0c0
-0000c0c00000c0c0fc0004c0c000c0c0fc0013c0c0000000c0c0000000c0
-c00000c0c00000c0c0fc0001c0c0f20001c0c0fc000dc0c00000c0c000c0
-c0000000c0c0fc0001c0c080008500010000fcc0fd00fbc0fd00fbc0fd00
-fac00000fcc0fa00fcc0fd00fbc0080000c0c0c00000c0c0fc00fdc0f200
-01c0c0fc00fcc0fc0001c0c0f400f9c0fd00fdc0fb00fdc0fa00fcc0f700
-fcc0fc00fcc0fb00fbc0fd00fbc0f500fbc0fd00fbc0fd00fcc0fa00fdc0
-fd000ec0c000c0c0000000c0c0c000c0c000fcc0fb00fbc0f600fcc0fb00
-fbc0fd00fdc01a00c0c00000c0c00000c0c00000c0c0c000c0c00000c0c0
-c000c0c0fc00fdc0fc00fcc0fd00fbc0fd0005c0c00000c0c0fc0001c0c0
-f300fcc0fd0007c0c00000c0c00000fbc0fb0001c0c080008500ef0001c0
-c0f60001c0c0eb0001c0c080008000dc0001c0c080008000dc00ef0001c0
-c0f70001c0c0ee0005c0c00000c0c08000800080008000b600f000fcc0fc
-00fbc0ec00fcc08000800080008000b50080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000800080
-008000800080008000800080008000800080008000800080008000010000
-fcc0100000c0c0000000c0c000c0c0000000c0c0f700f9c09c0001c0c0fa
-0000c0fc00fdc0f00000c0fc00fac0fd00fbc0fd00fbc0010000fcc0fc00
-08c0c0000000c0c00000fac00000f9c00000fcc0fb0005c0c00000c0c0f7
-0008c0c0000000c0c00000fbc0f60006c0c0000000c0c0fc0000c0fc00fa
-c0010000fac0fb0000c0fc0008c0c0000000c0c00000fac0070000c0c000
-00c0c0ec0000c0da00fcc0f600fdc0f100fcc0e300fdc0e300fdc0f400fd
-c0fb00fdc0f200fdc0f30000c0f10001c0c0fb00fdc0c5001600c0c00000
-c0c000c0c0c00000c0c000c0c0000000c0c0f60005c0c00000c0c09c0001
-c0c0fb0001c0c0fb0001c0c0f100fdc0fc0019c0c00000c0c000c0c00000
-00c0c000c0c0000000c0c00000c0c0fb0008c0c0000000c0c00000fac00b
-0000c0c00000c0c00000c0c0fa0005c0c00000c0c0f700fdc00b0000c0c0
-00c0c0000000c0c0f7000cc0c0000000c0c0000000c0c0c0fc001fc0c000
-00c0c00000c0c00000c0c0000000c0c0c0000000c0c0c00000c0c00000fa
-c0070000c0c00000c0c0ed0001c0c0db0005c0c00000c0c0f60001c0c0f2
-0005c0c00000c0c0e50004c0c000c0c0e50004c0c000c0c0f40001c0c0fa
-0001c0c0f10001c0c0f40001c0c0f10001c0c0fa0001c0c0c50001c0c0fc
-0001c000fcc00a00c0c000c0c0000000c0c0f60005c0c0000000c0950001
-c0c0fb0001c0c0f20021c0c000c0c0000000c0c00000c0c000c0c0000000
-c0c000c0c0000000c0c00000c0c0fb001ac0c0000000c0c00000c000c0c0
-00c00000c0c0000000c00000c0c0fa0005c0c00000c0c0f700fcc00a00c0
-c000c0c0000000c0c0f70027c0c0000000c0c00000c0c000c0c0000000c0
-c00000c0c00000c0c00000c0c00000c0c000c0c00000fcc01200c0c00000
-c000c0c000c00000c0c00000c0c0fc0001c0c0f30001c0c0dc0001c0c0fc
-0000c0f60001c0c0f30001c0c0fc0000c0e50004c0c00000c0e50004c0c0
-0000c0f40001c0c0fa0001c0c0f10001c0c0f40001c0c0e90001c0c0c500
-01c0c0fa00f9c00700c0c0000000c0c0f6000fc0c000c0000000c0c0c000
-c0c0000000fcc0fc00fbc0fd00fbc0f500fbc0fd00fbc00a0000c0c0c000
-c0c0000000fbc0fd00fbc0f6000fc0c0000000c0c0000000c0c0c0000000
-fac0fd0004c0c000c0c0f60012c0c0000000c0c00000c0c00000c0c00000
-c0c0fb000ac0c0000000c0c00000c0c0fb0006c0c0000000c0c0fc0001c0
-c0fc0003c0c000c0fc0001c0c0fa0005c0c00000c0c0f700f9c00700c0c0
-000000c0c0f70027c0c0000000c0c000c0c0000000c0c00000c0c00000c0
-c00000c0c00000c0c000c0c0000000c0c000f9c0fc0001c0c0fc0005c0c0
-0000c0c0fc0001c0c0f500fac0120000c0c0000000c0c000c0c000c0c0c0
-000000fbc0f60001c0c0f10004c0c000c0c0f60001c0c0f20006c0c00000
-00c0c0f50001c0c0fb00fbc0070000c0c000c0c0c0f40001c0c0fc0005c0
-c00000c0c0fb0001c0c0fa0001c0c0f300fcc0fd00fbc0010000fac0fd00
-fcc0fb00fdc0fa0001c0c0fc00fbc0ce0001c0c0fa0002c0c000fcc00700
-c0c0000000c0c0f600fcc0fd00f9c0fb0012c0c00000c0c0000000c0c000
-c0c0000000c0c0f7000fc0c0000000c0c000c0c0000000c0c000f9c00f00
-c0c0000000c0c000c0c0000000c0c0f70006c0c0000000c0c0fc0001c0c0
-fb0001c0c0fb00fdc00200c0c0f70008c0c0000000c0c00000fbc0fc00fd
-c0fd000ac0c0000000c0c00000c0c0fb0006c0c0000000c0c0fc0001c0c0
-fc00fcc0fc0001c0c0f900fcc0f60002c0c000fcc00700c0c0000000c0c0
-f70010c0c000c000c0c000c0c0000000c0c00000fbc0fd00fbc00c0000c0
-c0000000c0c000c0c000fcc0fc0001c0c0fb00fcc0ec0001c0c0fc0016c0
-c0000000c0c00000c0c00000c0c000c0c0000000c0c0f70001c0c0f100fd
-c00200c0c0f70001c0c0f20006c0c0000000c0c0f600fcc0fd000ec0c000
-0000c0c00000c0c0c000c0c0f600fcc0fd0005c0c00000c0c0fb0001c0c0
-fa0001c0c0f40012c0c000c0c00000c0c0000000c0c0000000c0c0f80001
-c0c0fb0001c0c0fa000bc0c0000000c0c0000000c0c0cf0002c0c000fcc0
-0f00c0c00000c0c0c000c0c0000000c0c0f6000fc0c000c0000000c0c000
-c000c0c00000fbc0030000c0c0f90001c0c0f30001c0c0fa000fc0c00000
-00c0c000c0c000c000c0c000f9c0030000c0c0f30006c0c000c000c0c0fc
-0001c0c0fb0001c0c0fb0005c0c00000c0c0f700f9c0070000c0c00000c0
-c0fb000ec0c00000c0c0000000c0c00000c0c0fb0006c0c0000000c0c0fc
-0001c0c0fc0003c0c000c0fc0001c0c0f80001c0c0f5000ec0c00000c0c0
-c000c0c0000000c0c0f70007c0c000c000c0c000f9c0100000c0c000c0c0
-000000c0c000c0c00000f9c00700c0c00000c0c0c0fc0001c0c0fa0001c0
-c0eb0001c0c0fc000fc0c0000000c0c00000c0c00000c0c000f9c0f70001
-c0c0fa00f9c0070000c0c00000c0c0f70001c0c0fa00f9c00700c0c000c0
-00c0c0f50001c0c0fc000ec0c0000000c0c00000c0c00000c0c0f50001c0
-c0fc0005c0c00000c0c0fb0001c0c0fa0001c0c0f50007c0c00000c0c000
-00f9c0fd0001c0c0fb00fbc0fb0001c0c0fa0001c0c0fc0001c0c0cb0016
-c0c0000000c0c000c0c0000000c0c000c0c0000000c0c0f60001c0c0fb00
-11c0c000c000c0c000c0c00000c0c00000c0c0f800fdc0f50001c0c0fa00
-11c0c0000000c0c000c0c000c000c0c000c0c0f800fdc0f50006c0c000c0
-00c0c0fc0001c0c0fb0001c0c0fb0005c0c00000c0c0f7000ec0c0000000
-c0c00000c0c00000c0c0fa000dc0c000c0c0000000c0c00000c0c0fb0006
-c0c0000000c0c0fc0001c0c0fc0001c0c0fa0001c0c0f80001c0c0f5000e
-c0c0000000c0c000c0c0000000c0c0f7002ec0c000c000c0c000c0c00000
-00c0c00000c0c00000c0c00000c0c00000c0c000c0c0000000c0c000c0c0
-000000c0c0fc0001c0c0fa0001c0c0eb0001c0c0fc0011c0c0000000c0c0
-0000c0c00000c0c000c0c0f20001c0c0f10005c0c00000c0c0f70001c0c0
-f20006c0c000c000c0c0f50001c0c0fc000ac0c0000000c0c00000c0c0f1
-0001c0c0fc0005c0c00000c0c0fb0001c0c0fa0001c0c0f50009c0c00000
-c0c00000c0c0f80001c0c0fc0005c0c00000c0c0fb0001c0c0fa0001c0c0
-fb00fdc0cd0016c0c0000000c0c000c0c0000000c0c000c0c0000000c0c0
-f60018c0c0000000c000c0c000c000c0c000c0c00000c0c00000c0c0f600
-01c0c0f60001c0c0fa0011c0c0000000c0c000c0c000c000c0c000c0c0f6
-0001c0c0f60006c0c000c000c0c0fc0001c0c0fb0001c0c0fb0005c0c000
-00c0c0f7002ec0c0000000c0c00000c0c00000c0c000c0c0000000c0c000
-c0c0000000c0c00000c0c0000000c000c0c0000000c0c0fc0001c0c0fc00
-0dc0c0000000c00000c0c0000000c0fc0001c0c0f5000ec0c0000000c0c0
-00c0c0000000c0c0f700f9c02700c0c0000000c0c00000c0c00000c0c000
-00c0c00000c0c000c0c0000000c0c000c0c0000000c0c0fc0001c0c0fa00
-01c0c0fa0001c0c0f30001c0c0fc0011c0c0000000c0c00000c0c00000c0
-c000c0c0f20001c0c0fc0000c0f60005c0c00000c0c0f70001c0c0fc0000
-c0f70006c0c000c000c0c0f50001c0c0fc000ac0c0000000c0c00000c0c0
-f10001c0c0fc0005c0c00000c0c0fb0001c0c0fa0001c0c0f50009c0c000
-00c0c00000c0c0f80001c0c0fc0005c0c00000c0c0fb0001c0c0fa0001c0
-c0f90001c0c0ce001600c0c00000c0c000c0c0000000c0c000c0c0000000
-c0c0f60025c0c00000c0c000c0c000c000c0c000c0c00000c0c00000c0c0
-000000c0c000c0c0000000c0c0f70026c0c0000000c0c000c0c0000000c0
-c000c0c000c000c0c000c0c0000000c0c000c0c0000000c0c0f700f9c0fc
-0001c0c0fb000cc0c000c0c00000c0c00000c0c0f7002ec0c0000000c0c0
-0000c0c00000c0c000c0c0000000c0c000c0c0000000c0c00000c0c00000
-c0c000c0c0000000c0c0fc0001c0c0fc000dc0c00000c0c00000c0c00000
-c0c0fc0001c0c0f5000ec0c0000000c0c000c0c0000000c0c0f700fdc02b
-00c0c0c000c0c0000000c0c00000c0c00000c0c00000c0c00000c0c000c0
-c0000000c0c000c0c0000000c0c0fc0001c0c0fa0001c0c0fa0001c0c0f3
-001cc0c000c0c000c0c0000000c0c00000c0c00000c0c000c0c0000000c0
-c0f60005c0c00000c0c0f60005c0c00000c0c0f60005c0c00000c0c0f700
-f9c0f50001c0c0fc000ac0c0000000c0c00000c0c0f10001c0c0fc0005c0
-c00000c0c0fb0001c0c0fa0001c0c0f5001dc0c00000c0c00000c0c00000
-00c0c0000000c0c000c0c000c0c00000c0c0fb0001c0c0fa000bc0c00000
-00c0c0000000c0c0fc0001c0c0d500100000c0c0c000c000c0c0000000c0
-c00000fbc0f600f9c01100c0c0000000c0c00000c0c0c000c0c00000fbc0
-fd00fbc0f500fbc0fd00fbc00a0000c0c0000000c0c00000fbc0fd00fbc0
-f50004c0c000c0c0fc00fcc0fb00fdc0080000c0c0c00000c0c0f70007c0
-c0000000c0c000fac0fd00fbc0fd00fbc0010000f9c0010000fbc0fc00fc
-c0010000f9c00000f9c0fd00fcc0f60008c0c0000000c0c00000fbc0f500
-30c0c000c0c00000c0c0000000c0c000c0c0c00000c0c000c0c0c00000c0
-c000c0c0000000c0c000c0c0000000c0c0000000fcc0fc00fcc0fc0001c0
-c0f100fdc0fd00fac0010000fbc0fd00fbc0f400fcc0f600fdc0030000c0
-c0f500fcc0f50004c0c000c0c0f500fcc0fc00fbc0010000fcc0f300fcc0
-fc00fdc00500c0c0000000fcc0fc00fcc0f500fdc00400c0c00000fbc0fb
-00fdc0fd00fdc00500c0c0000000fcc0fc00fcc0fd00fbc0fb0001c0c0d5
-00800080008b0005c0c00000c0c080008000fb00800080008c0006c0c000
-0000c0c080008000fb00800080009000fbc0fd00fcc080008000fc008000
-80008000800080008000800080008000800080008000800080008000f9c0
-d40001c0c0ed00f9c0de00fbc0f300fdc0fb0000c0cc00f9c0c40001c0c0
-ed00f9c0e400fdc08000f300fdc0fb0001c0c0f20000c0f10007c0c00000
-00c0c0c0f00000c0d10001c0c0bd000600c0c00000c0c0d40001c0c0ec00
-05c0c00000c0c0df0006c0c0000000c0c0f50009c0c000c0c0000000c0c0
-cb0005c0c00000c0c0c40001c0c0ec0005c0c00000c0c0e30001c0c08000
-f20001c0c0fb0001c0c0f30001c0c0f10001c0c0fc0001c0c0f10001c0c0
-d10001c0c0bd000600c0c0000000c0be0005c0c0000000c0df0006c0c000
-0000c0c0f50009c0c00000c0000000c0c0cb0005c0c0000000c0ae0005c0
-c0000000c0e30001c0c08000f20001c0c0ec0001c0c0eb0001c0c0f10001
-c0c08c001000c0c000c0000000c0c0c000c0c0000000fcc0fc00fbc0fd00
-fbc0f400fdc0fc00fbc0f5000fc0c000c0000000c0c000c0c0c0000000fb
-c0fd00fbc0f50001c0c0fa00fbc0fc0001c0c0fc00fac00a0000c0c00000
-00c0c00000fcc0fd0008c0c000c0c0c0000000fbc0ed000fc0c000c00000
-00c0c000c0c0c0000000fbc0fd00fbc0f500fcc0fc00fbc0f400fdc0fd00
-05c0c000c0c0c0f5000fc0c000c0000000c0c000c0c0c0000000fbc0fd00
-fbc0fc00fcc0fd00fbc0070000c0c0c000c0c0ed00fbc0fd00fbc0f60008
-c0c0000000c0c00000fbc0070000c0c00000c0c0f500fbc0fd00fcc0fd00
-05c0c000c0c0c0f60008c0c000c0c0c0000000fbc0fc00fcc0fc00fdc0fc
-00fbc0010000fac0070000c0c000c0c0c0fc00fdc0fc00fcc0fd0007c0c0
-0000c0c00000fac0fd00fbc0f500fbc0fd00fbc0070000c0c000c0c0c0fc
-00fdc0fc00fbc0fd00fbc0ce000000fcc0fd00f9c0fb0012c0c00000c0c0
-000000c0c000c0c0000000c0c0f4000bc0c0000000c0c0000000c0c0f600
-fcc0fc00fdc01200c0c000c0c0000000c0c000c0c0000000c0c0f500fdc0
-fd0008c0c0000000c0c00000fcc0fb0001c0c0fc0006c0c0000000c0c0fb
-0012c0c0000000c0c0c000c0c000c0c0000000c0c0ee00fcc0fc00fdc012
-00c0c000c0c0000000c0c000c0c0000000c0c0f3000ac0c00000c0c00000
-00c0c0f40001c0c0fc0005c0c00000c0c0f600fcc0fc00fdc02300c0c000
-c0c0000000c0c000c0c0000000c0c00000c0c000c0c00000c0c0000000c0
-c000f9c0ef000ec0c0000000c0c000c0c0000000c0c0f70015c0c0000000
-c0c000c0c0000000c0c000c0c00000c0c0f60006c0c0000000c0c0fb000a
-c0c0000000c0c00000c0c0f600fdc01100c0c000c0c0000000c0c00000c0
-c000c0c0fb0010c0c0000000c0c0000000c0c0000000c0c0fb00fdc00200
-c0c0fc0001c0c0fc000cc0c000c0c00000c0c00000c0c0fc0001c0c0fc00
-06c0c0000000c0c0f70016c0c0000000c0c000c0c0000000c0c00000c0c0
-0000c0c0fc0013c0c0000000c0c0000000c0c000c0c0000000c0c0cf0010
-00c0c000c0000000c0c000c000c0c00000fbc0030000c0c0f90001c0c0f0
-0001c0c0fc0001c0c0f20003c0c000c0fc0006c0c00000c0c000f9c00000
-f9c0f3000fc0c00000c0c0000000c0c0000000c0c0fa0001c0c0fc0008c0
-c000c000c0c00000fbc0fd0006c0c00000c0c000f9c00000f9c00000f9c0
-050000c0c000c0fc0006c0c00000c0c000f9c00000f9c0f600fbc0fd0001
-c0c0f00001c0c0fc0005c0c00000c0c0f60003c0c000c0fc0006c0c00000
-c0c000f9c00000f9c01800c0c00000c0c00000c0c0000000c0c000c0c000
-c000c0c000f9c00000f9c0030000c0c0fb0006c0c0000000c0c0f70015c0
-c0000000c0c000c0c0000000c0c000c0c00000c0c0f60001c0c0f900fbc0
-fd0005c0c00000c0c0f60006c0c00000c0c000f9c00600c0c00000c0c0fb
-0001c0c0fc0001c0c0f90001c0c0fb0005c0c00000c0c0fc0001c0c0fc00
-0cc0c00000c0c000c0c00000c0c0fc0001c0c0fc00f9c0f70001c0c0fa00
-0ec0c0000000c0c00000c0c00000c0c0fc0004c0c0000000f9c0030000c0
-c0cb000200c0c0fb0011c0c000c000c0c000c0c00000c0c00000c0c0f800
-fdc0f20001c0c0fb00fdc0f40001c0c0fa0001c0c0fb0001c0c0fa0001c0
-c0ed000ec0c000c0c0000000c0c0000000c0c0fa0001c0c0fc0012c0c000
-c000c0c000c0c00000c0c0000000c0c0fb0001c0c0e90001c0c0fa0001c0
-c0fb0001c0c0fa0001c0c0f20005c0c00000c0c0fc00fdc0f20001c0c0fc
-0005c0c00000c0c0f60001c0c0fa0001c0c0fb0001c0c0fa0001c0c0fa00
-16c0c00000c0c00000c0c0000000c0c000c0c000c000c0c0ed00fdc0fd00
-06c0c0000000c0c0f70015c0c0000000c0c000c0c0000000c0c000c0c000
-00c0c0f60001c0c0fa000ec0c00000c0c0000000c0c00000c0c0f60001c0
-c0fb0001c0c0fa0005c0c00000c0c0fb0001c0c0fb00fdc0fb0001c0c0fb
-0001c0c0f80001c0c0fc000cc0c00000c0c000c0c00000c0c0fc0001c0c0
-fc0001c0c0f20001c0c0fa000ec0c0000000c0c00000c0c00000c0c0fc00
-06c0c0000000c0c0f800fdc0cd001900c0c0000000c000c0c000c000c0c0
-00c0c00000c0c00000c0c0f60001c0c0f30001c0c0f90001c0c0f50001c0
-c0fa0001c0c0fb0001c0c0fa0001c0c0f20013c0c0000000c0c000c0c000
-0000c0c0000000c0c0fa0001c0c0fc0012c0c000c000c0c000c0c00000c0
-c0000000c0c0fb0001c0c0e90001c0c0fa0001c0c0fb0001c0c0fa0001c0
-c0f20005c0c00000c0c0fa0001c0c0f30001c0c0fc0005c0c00000c0c0f6
-0001c0c0fa0001c0c0fb0001c0c0fa0001c0c0fa0016c0c00000c0c00000
-c0c0000000c0c000c0c000c000c0c0eb000ac0c00000c0c0000000c0c0f7
-0015c0c0000000c0c000c0c0000000c0c000c0c00000c0c0f60001c0c0fa
-000ec0c00000c0c0000000c0c00000c0c0f60001c0c0fb0001c0c0fa0005
-c0c00000c0c0fb0001c0c0f90001c0c0fc0001c0c0fb0001c0c0f80001c0
-c0fc000cc0c00000c0c000c0c00000c0c0fc0001c0c0fc0001c0c0f20001
-c0c0fa000ec0c0000000c0c00000c0c00000c0c0fc0006c0c0000000c0c0
-f60001c0c0ce002600c0c00000c0c000c0c000c000c0c000c0c00000c0c0
-0000c0c0000000c0c000c0c0000000c0c0f4000bc0c0000000c0c0000000
-c0c0f60001c0c0fa0001c0c0fb000ec0c0000000c0c000c0c0000000c0c0
-f70013c0c0000000c0c000c0c0000000c0c0000000c0c0fa0005c0c000c0
-c000f9c00b00c0c00000c0c0000000c0c0fb0006c0c0000000c0c0ee0001
-c0c0fa0001c0c0fb000ec0c0000000c0c000c0c0000000c0c0f7000ec0c0
-0000c0c00000c0c0000000c0c0f40001c0c0fc0005c0c00000c0c0f60001
-c0c0fa0001c0c0fb0026c0c0000000c0c000c0c0000000c0c000c0c00000
-c0c00000c0c0000000c0c000c0c000c000c0c0ef000ec0c0000000c0c000
-c0c0000000c0c0f70015c0c0000000c0c000c0c0000000c0c000c0c00000
-c0c0f60016c0c0000000c0c000c0c00000c0c0000000c0c00000c0c0f600
-01c0c0fb000dc0c0000000c0c000c0c00000c0c0fb0017c0c0000000c0c0
-000000c0c0000000c0c000c0c00000c0c0f80001c0c0fc000cc0c00000c0
-c000c0c00000c0c0fc000cc0c000c0c000c0c0000000c0c0f70016c0c000
-0000c0c000c0c0000000c0c00000c0c00000c0c0fc0013c0c0000000c0c0
-000000c0c000c0c0000000c0c0cf00f9c01100c0c0000000c0c00000c0c0
-c000c0c00000fbc0fd00fbc0f400fcc0fd00fbc0f600fcc0fc00fcc0fb00
-fbc0fd00fbc0f500fbc0fd00fbc0fd00fcc0fa00fdc0fd000ec0c000c0c0
-000000c0c0c000c0c000fcc0fb00fbc0ee00fcc0fc00fcc0fb00fbc0fd00
-fbc0f500fdc00400c0c00000fbc0f400fcc0fd0005c0c00000c0c0f700fc
-c0fc00fcc0fb00fbc0fd00fbc0fd00fdc00400c0c00000fbc0080000c0c0
-000000c0c0ee00fbc0fd00fbc0f500fac0010000fbc0fd00fdc00200c0c0
-f600fbc0fd00fdc00a00c0c00000c0c00000c0c0f700fcc0fb00fbc0fd00
-fdc00500c0c0000000fcc0fd00fbc0fb00fdc0010000fcc0fa00fcc0fd00
-fbc0fd00fdc00200c0c0fc00fdc0fd00fbc0f500fbc0fd00fbc0fd00fbc0
-fc00fcc0fd00fbc0fd00fbc0ce0080008000830001c0c08000ce0001c0c0
-b30080008000840001c0c08000cd0001c0c0b300800080008800fbc08000
-cd00fcc0b400800080008000800080008000800080008000800080008000
-800080008000f500fdc0f600f9c0c400fdc0e300fdc0fb0001c0c0fa00fd
-c0eb0001c0c0fa0000c0e90000c0da00fcc0f600fdc0f100fcc0e30000c0
-c90000c0fc00fdc0d000fdc0fb0001c0c0fa0000c0f90001c0c08000b500
-f60004c0c000c0c0f60005c0c00000c0c0c30001c0c0e20001c0c0fb0001
-c0c0fb0004c0c000c0c0ec0001c0c0fb0001c0c0ea0001c0c0db0005c0c0
-0000c0c0f60001c0c0f20005c0c00000c0c0e50001c0c0ca0001c0c0fb00
-01c0c0cf0001c0c0fb0001c0c0fb0001c0c0f90001c0c08000b500f60004
-c0c00000c0f60005c0c0000000c0c30001c0c0e20001c0c0f40004c0c000
-00c0e50001c0c0f90001c0c0f30001c0c0dc0001c0c0fc0000c0f60001c0
-c0f30001c0c0fc0000c0e50001c0c0ca0001c0c0fb0001c0c0cf0001c0c0
-f40001c0c08000ac000000fbc0fc0001c0c0f3000fc0c000c0000000c0c0
-c000c0c0000000fcc0fc00fbc0fd00fbc0f500fcc0fd0005c0c000c0c0c0
-fc00fcc0f600fdc00500c0c0000000fbc0fc00fcc0fc00fdc0fb0001c0c0
-fc0006c0c0000000c0c0f500fdc0fd00fac0fb0001c0c0f500fac0120000
-c0c0000000c0c000c0c000c0c0c0000000fbc0f60001c0c0f10004c0c000
-c0c0f60001c0c0f100fbc0f600fac0fd00fbc0f500fbc0fd00fbc0fd00fb
-c0f600fac0fd0007c0c000c0c0000000fbc0f500fbc0fd00fbc0070000c0
-c000c0c0c0fc00fcc0fc00fdc0fd00fac0fc00fdc0fc00fbc00a0000c0c0
-00c0c0c0000000fbc08000ce0008c0c0000000c0c00000fcc0f400fcc0fd
-00f9c0fb0012c0c00000c0c0000000c0c000c0c0000000c0c0f30011c0c0
-000000c0c00000c0c00000c0c000c0c0f600f9c00e00c0c0000000c0c000
-00c0c000c0c0fb0001c0c0fc00fcc0fd0006c0c0000000c0c0f40001c0c0
-fb0001c0c0ea0001c0c0fc0016c0c0000000c0c00000c0c00000c0c000c0
-c0000000c0c0f70001c0c0f100fdc00200c0c0f70001c0c0f20006c0c000
-0000c0c0f50001c0c0fc0006c0c0000000c0c0f70016c0c0000000c0c000
-c0c0000000c0c000c0c0000000c0c0f50001c0c0fb00fdc00a00c0c000c0
-c0000000c0c0f7001dc0c0000000c0c000c0c0000000c0c00000c0c00000
-c0c00000c0c000c0c0fb0001c0c0fb0001c0c0f9001bc0c0000000c0c000
-0000c0c00000c0c00000c0c000c0c0000000c0c08000cf000bc0c0000000
-c0c0000000c0c0f3000fc0c000c0000000c0c000c000c0c00000fbc00300
-00c0c0f90001c0c0f200fbc0fd000cc0c00000c0c000c0c00000c0c0f600
-15c0c000c000c0c000c0c0000000c0c000c0c00000c0c0fb0001c0c0fb00
-01c0c0fc0006c0c0000000c0c0f40001c0c0fb0001c0c0ea0001c0c0fc00
-0fc0c0000000c0c00000c0c00000c0c000f9c0f70001c0c0fa00f9c00700
-00c0c00000c0c0f70001c0c0fa00f9c00200c0c0f00001c0c0fc0006c0c0
-000000c0c0f60001c0c0fb00f9c00000f9c0f50001c0c0fb0006c0c00000
-c0c000f9c0f70001c0c0fa0015c0c0000000c0c00000c0c00000c0c000c0
-c00000c0c0fb0001c0c0fb0001c0c0f90017c0c0000000c0c0000000c0c0
-0000c0c00000c0c00000c0c08000cb000bc0c0000000c0c0000000c0c0f3
-0001c0c0fb0011c0c000c000c0c000c0c00000c0c00000c0c0f800fdc0f5
-0015c0c00000c0c0000000c0c00000c0c000c0c00000c0c0f60015c0c000
-c000c0c000c0c0000000c0c000c0c00000c0c0fb0001c0c0fb0001c0c0fc
-0006c0c0000000c0c0f40001c0c0fb0001c0c0ea0001c0c0fc0011c0c000
-0000c0c00000c0c00000c0c000c0c0f20001c0c0f10005c0c00000c0c0f7
-0001c0c0f20001c0c0f00001c0c0fc0006c0c0000000c0c0f500fdc0fd00
-01c0c0fa0001c0c0f00001c0c0fb0008c0c00000c0c000c0c0f20001c0c0
-fa0015c0c0000000c0c00000c0c00000c0c000c0c00000c0c0fb0001c0c0
-fb0001c0c0f90019c0c0000000c0c0000000c0c00000c0c00000c0c00000
-00c0c0c08000cd000bc0c0000000c0c0000000c0c0f30018c0c0000000c0
-00c0c000c000c0c000c0c00000c0c00000c0c0f60001c0c0f60015c0c000
-00c0c0000000c0c00000c0c000c0c00000c0c0f60015c0c000c000c0c000
-c0c0000000c0c000c0c00000c0c0fb0001c0c0fb0001c0c0fc0006c0c000
-0000c0c0f40001c0c0fb0001c0c0f90001c0c0f30001c0c0fc0011c0c000
-0000c0c00000c0c00000c0c000c0c0f20001c0c0fc0000c0f60005c0c000
-00c0c0f70001c0c0fc0000c0f70001c0c0f00001c0c0fc0006c0c0000000
-c0c0f30005c0c00000c0c0fa0001c0c0f00001c0c0fb0008c0c00000c0c0
-00c0c0f20001c0c0fa0015c0c0000000c0c00000c0c00000c0c000c0c000
-00c0c0fb0001c0c0fb0001c0c0f90013c0c0000000c0c0000000c0c00000
-c0c00000c0c0fb0001c0c08000ce000bc0c0000000c0c0000000c0c0f300
-25c0c00000c0c000c0c000c000c0c000c0c00000c0c00000c0c0000000c0
-c000c0c0000000c0c0f70015c0c00000c0c0000000c0c00000c0c000c0c0
-0000c0c0f60015c0c000c000c0c000c0c0000000c0c000c0c00000c0c0fb
-0001c0c0fb0001c0c0fc0006c0c0000000c0c0f40001c0c0fb0004c0c000
-c0c0fc0001c0c0f3001cc0c000c0c000c0c0000000c0c00000c0c00000c0
-c000c0c0000000c0c0f60005c0c00000c0c0f60005c0c00000c0c0f60005
-c0c00000c0c0f70006c0c0000000c0c0f5000cc0c000c0c000c0c0000000
-c0c0f70016c0c0000000c0c000c0c0000000c0c000c0c0000000c0c0f500
-14c0c000c0c00000c0c00000c0c000c0c0000000c0c0f7001dc0c0000000
-c0c000c0c0000000c0c00000c0c00000c0c000c0c00000c0c0fb0001c0c0
-fb0004c0c000c0c0fc001bc0c0000000c0c0000000c0c00000c0c00000c0
-c000c0c0000000c0c0fc0001c0c08000d5000000fbc0fd00fcc0f500f9c0
-1100c0c0000000c0c00000c0c0c000c0c00000fbc0fd00fbc0f500fdc012
-00c0c00000c0c00000c0c00000c0c0c000c0c0f70008c0c0000000c0c000
-00fbc0fd00fdc00500c0c0000000fcc0fd00fcc0fc00fac0f500fcc0fb00
-fdc0fc0001c0c0f100fdc0fd00fac0010000fbc0fd00fbc0f400fcc0f600
-fdc0030000c0c0f500fcc0f500fbc0f300fdc0fd00fbc0f500fbc0fd00fb
-c0fd00fbc0f300fdc00a0000c0c0c00000c0c00000fbc0f500fbc0fd00fb
-c0fd0010c0c00000c0c00000c0c0c000c0c0000000fcc0fb00fdc0fc00fc
-c0fd00fbc0fd0007c0c00000c0c00000fbc0fb0001c0c08000d5008000eb
-0001c0c0ca0005c0c00000c0c0800080008000d3008000ec0001c0c0ca00
-06c0c0000000c0c0800080008000d3008000f000fbc0cd00fbc0fd00fcc0
-800080008000d40080008000800080008000800080008000800080008000
-80008000800080000000fac0dd00fcc0f600fdc0f100fcc0f300fdc0f300
-fdc0e30001c0c0f200fdc0db0000c0f90001c0c0ba0000c0f90000c0f900
-01c0c0e20000c0fc00fdc0e900fdc0f20000c0e90000c0d10001c0c08000
-bd000000fac0de0005c0c00000c0c0f60001c0c0f20005c0c00000c0c0f3
-0001c0c0f40004c0c000c0c0e40001c0c0f30004c0c000c0c0dd0001c0c0
-f90001c0c0bb0001c0c0fa0001c0c0f90001c0c0e30001c0c0fb0001c0c0
-e80001c0c0f30001c0c0ea0001c0c0d10001c0c08000bd000600c000c0c0
-00c0df0001c0c0fc0000c0f60001c0c0f30001c0c0fc0000c0f30001c0c0
-f40004c0c00000c0d50004c0c00000c0dd0001c0c0b20001c0c0fa0001c0
-c0da0001c0c0fb0001c0c0e80001c0c0f30001c0c0ea0001c0c080008c00
-fd0015c0c0000000c0c0000000c0c000c0c000c0c0c0000000fbc0f60001
-c0c0f10004c0c000c0c0f60001c0c0f000fcc0f40001c0c0fb00fbc00700
-00c0c000c0c0c0f400fdc0fd0005c0c000c0c0c0fc0001c0c0fb00fbc012
-0000c0c000c0c0c00000c0c0c000c0c0000000fcc0fd00fac0fc00fdc0fc
-00fbc0070000c0c000c0c0c0f500fbc0070000c0c000c0c0c0f500fdc004
-00c0c00000fbc0010000fac0010000fac0fc00fdc0fd000ec0c000c0c0c0
-000000c0c0c000c0c0f700fac0fd0007c0c000c0c0000000fbc0f30001c0
-c0fc00fcc0fd00fac0fd00fbc0fd00fbc0010000fac0f60008c0c0000000
-c0c00000fbc00a0000c0c000c0c0c0000000fbc0fc00fdc0fc00fbc00700
-00c0c000c0c0c08000ce00fd001bc0c0000000c0c0000000c0c00000c0c0
-0000c0c000c0c0000000c0c0f70001c0c0f100fdc00200c0c0f70001c0c0
-f10004c0c000c0c0f500fcc0fd000ec0c0000000c0c00000c0c0c000c0c0
-f40001c0c0fc0007c0c00000c0c00000fcc0fd000fc0c0000000c0c00000
-c0c0c000c0c000f9c0fb0001c0c0fc0001c0c0f90013c0c0000000c0c000
-0000c0c00000c0c00000c0c0f7000ec0c0000000c0c00000c0c00000c0c0
-f70013c0c00000c0c00000c0c0000000c0c0000000c0c0fa0001c0c0f900
-01c0c0fc000cc0c00000c0c000c0c00000c0c0f40001c0c0fb00fdc00a00
-c0c000c0c0000000c0c0f40001c0c0f90001c0c0fc0001c0c0fc0013c0c0
-000000c0c000c0c0000000c0c0000000c0c0f4001ec0c0000000c0c000c0
-c0000000c0c00000c0c0c000c0c000c0c0000000c0c0fc0013c0c0000000
-c0c0000000c0c00000c0c00000c0c08000cf00fd0014c0c0000000c0c000
-0000c0c00000c0c00000c0c000f9c0f70001c0c0fa00f9c0070000c0c000
-00c0c0f70001c0c0fa00f9c00600c0c00000c0c0f40001c0c0fc000ec0c0
-000000c0c00000c0c00000c0c0f40001c0c0fc000ac0c00000c0c0000000
-c0c0fc0018c0c0000000c0c00000c0c00000c0c000c0c000c000c0c00000
-fbc0fc0001c0c0f90013c0c0000000c0c0000000c0c00000c0c00000c0c0
-f7000ec0c0000000c0c00000c0c00000c0c0f70007c0c00000c0c00000f9
-c0fd0001c0c0fa0001c0c0f90001c0c0fc000cc0c00000c0c000c0c00000
-c0c0f40001c0c0fb0006c0c00000c0c000f9c0f40001c0c0fc00fbc0fc00
-01c0c0fc00f9c0030000c0c0f90001c0c0f40007c0c0000000c0c000f9c0
-0b0000c0c00000c0c00000c0c0f80013c0c0000000c0c0000000c0c00000
-c0c00000c0c08000cf00fd0016c0c0000000c0c0000000c0c00000c0c000
-00c0c000c0c0f20001c0c0f10005c0c00000c0c0f70001c0c0f20005c0c0
-0000c0c0f40001c0c0fc000ac0c0000000c0c00000c0c0f00001c0c0fc00
-0ac0c00000c0c0000000c0c0fc000ac0c0000000c0c00000c0c0fb000dc0
-c000c000c0c000c0c00000c0c0fc0001c0c0f90013c0c0000000c0c00000
-00c0c00000c0c00000c0c0f7000ec0c0000000c0c00000c0c00000c0c0f7
-0009c0c00000c0c00000c0c0f80001c0c0fa0001c0c0f90001c0c0fc000c
-c0c00000c0c000c0c00000c0c0f40001c0c0fb0008c0c00000c0c000c0c0
-ef000ac0c0000000c0c00000c0c0fc0001c0c0fc0001c0c0f800fdc0fb00
-01c0c0f40009c0c0000000c0c000c0c0f90001c0c0f900fdc0fa0013c0c0
-000000c0c0000000c0c00000c0c00000c0c08000cf00fd0016c0c0000000
-c0c0000000c0c00000c0c00000c0c000c0c0f20001c0c0fc0000c0f60005
-c0c00000c0c0f70001c0c0fc0000c0f70005c0c00000c0c0f40001c0c0fc
-000ac0c0000000c0c00000c0c0f00001c0c0fc000ac0c00000c0c0000000
-c0c0fc000ac0c0000000c0c00000c0c0fb000dc0c000c000c0c000c0c000
-00c0c0fc0001c0c0f90013c0c0000000c0c0000000c0c00000c0c00000c0
-c0f7000ec0c0000000c0c00000c0c00000c0c0f70009c0c00000c0c00000
-c0c0f80001c0c0fa0001c0c0f90001c0c0fc000cc0c00000c0c000c0c000
-00c0c0f40001c0c0fb0008c0c00000c0c000c0c0ef000ac0c0000000c0c0
-0000c0c0fc0001c0c0fc0001c0c0f60001c0c0fc0001c0c0f40009c0c000
-0000c0c000c0c0f90001c0c0f70001c0c0fb0013c0c0000000c0c0000000
-c0c00000c0c00000c0c08000cf00fd001bc0c0000000c0c0000000c0c000
-00c0c00000c0c000c0c0000000c0c0f60005c0c00000c0c0f60005c0c000
-00c0c0f60005c0c00000c0c0f70005c0c00000c0c0f40001c0c0fc000ac0
-c0000000c0c00000c0c0f00001c0c0fc000ac0c00000c0c0000000c0c0fc
-000ac0c0000000c0c00000c0c0fb000dc0c000c000c0c000c0c00000c0c0
-fc0004c0c000c0c0fc0013c0c0000000c0c0000000c0c00000c0c00000c0
-c0f7000ec0c0000000c0c00000c0c00000c0c0f7001ec0c00000c0c00000
-c0c0000000c0c0000000c0c000c0c0000000c0c000c0c0fc0001c0c0fc00
-0cc0c00000c0c000c0c00000c0c0f40014c0c000c0c00000c0c00000c0c0
-00c0c0000000c0c0f4000ac0c0000000c0c00000c0c0fc001cc0c000c0c0
-00c0c0000000c0c000c0c0000000c0c0000000c0c000c0c0f60011c0c000
-c0c00000c0c0000000c0c00000c0c0fb0006c0c0000000c0c0fc0013c0c0
-000000c0c0000000c0c00000c0c00000c0c0fc0001c0c08000d500010000
-fcc0fd00fac0010000fbc0fd00fbc0f400fcc0f600fdc0030000c0c0f500
-fcc0f500fdc00200c0c0f600fcc0fc00fbc0010000fcc0f200fcc0fd0007
-c0c00000c0c00000fcc0fc00fbc0010000fcc0fc000ec0c0000000c0c000
-00c0c0c000c0c0fc00fdc0fc00fcc0fd00fbc0fd0005c0c00000c0c0f600
-fbc0fd0005c0c00000c0c0f600fbc0fd00fbc0fb00fdc0fb00fdc0fc00fc
-c0fd0007c0c00000c0c00000fbc0f300fdc00a0000c0c0c00000c0c00000
-fbc0f400fcc0fd00fdc00200c0c0fc00fdc0fd00fbc0fd00fbc0fb00fdc0
-f400fdc0fc00fbc0010000fcc0fb00fbc0fc00fcc0fd00fbc0fd0005c0c0
-0000c0c0fc0001c0c08000d500f30005c0c00000c0c080008f0001c0c0d2
-0001c0c080008000b600f40006c0c0000000c0c08000930005c0c00000c0
-c0d60005c0c00000c0c080008000b600f800fbc0fd00fcc080009300fcc0
-d400fcc080008000b5008000800080008000800080008000800080008000
-800080008000800080008000800080008000800080008000800080008000
-800080008000800080008000800080008000800080008000800080008000
-800080008000800080008000800080008000800080008000800080008000
-800080008000800080008000800080008000800080008000800080008000
-800080008000800080008000800080008000800080008000800080008000
-8000800080008000800080008000800080008000010000fcc0fb00fdc0de
-00f9c0b40001c0c0c500fdc0f000fdc0cb0000c0fa00fdc0e20000c0dc00
-06c0c0000000c0c0840001c0c0e500fac0010000f9c0010000fac08f00fd
-0001c0c0fb0004c0c000c0c0de0005c0c00000c0c0b40001c0c0c40001c0
-c0ef0001c0c0cc0001c0c0f90001c0c0e30001c0c0dc00fdc00300c0c0c0
-840001c0c0e4000fc0c00000c0c00000c0c00000c0c00000fac08f00fd00
-01c0c0fb0004c0c00000c0de0005c0c0000000c08000f60001c0c0ef0001
-c0c0cc0001c0c0f90001c0c0e30001c0c0dc00f9c08000e60015c0c00000
-c0c00000c0c0000000c00000c000c0c000c08f00fd0001c0c0fb0001c0c0
-f300fcc0fd0005c0c000c0c0c0f5000fc0c000c0000000c0c0c000c0c000
-0000fcc0fc00fbc0fd00fbc0f500fbc0fd00fbc0fd00fbc0fd00fbc0fc00
-fdc0fc00fbc0070000c0c000c0c0c0f500fbc00a0000c0c000c0c0c00000
-00fcc0fc00fbc0fd0007c0c000c0c0000000fbc0fc00fcc0f60008c0c000
-c0c0c0000000fbc0fd00fbc0fd00fbc0090000c0c000c0c0c00000fac0fb
-000bc0c0000000c0c0000000c0c0ef00fac0120000c0c0000000c0c000c0
-c000c0c0c0000000fbc0f600f9c0f70006c0c0000000c0c0f70008c0c000
-c0c0c0000000fbc0fd00fbc0fd00fbc00a0000c0c0000000c0c00000fbc0
-070000c0c000c0c0c0f500fbc0fd00fbc0fd00fbc0fd00fbc0fc00fdc0fc
-00fbc0070000c0c000c0c0c0f5000bc0c00000c0c00000c0c000c0fa0001
-c0c08d00fd0001c0c0fc00fcc0f1000ac0c0000000c0c00000c0c0f600fc
-c0fd00f9c0fb0012c0c00000c0c0000000c0c000c0c0000000c0c0f7001e
-c0c0000000c0c000c0c0000000c0c000c0c0000000c0c000c0c0000000c0
-c0fc0013c0c0000000c0c0000000c0c00000c0c00000c0c0f7000ec0c000
-0000c0c00000c0c0c000c0c0fb0021c0c00000c0c0000000c0c00000c0c0
-c000c0c000c0c0000000c0c00000c0c000c0c0f500fdc02700c0c000c0c0
-000000c0c000c0c0000000c0c000c0c0000000c0c00000c0c00000c0c000
-0000c0c0f9000bc0c0000000c0c0000000c0c0ed0001c0c0fc0016c0c000
-0000c0c00000c0c00000c0c000c0c0000000c0c0f70006c0c000c000c0c0
-f60004c0c000c0c0f500fdc03200c0c000c0c0000000c0c000c0c0000000
-c0c000c0c0000000c0c000c0c0000000c0c000c0c0000000c0c00000c0c0
-c000c0c0f7001ec0c0000000c0c000c0c0000000c0c000c0c0000000c0c0
-00c0c0000000c0c0fc0013c0c0000000c0c0000000c0c00000c0c00000c0
-c0f600fbc0fd00fcc0fa0001c0c08d00fd0001c0c0fb0001c0c0f300fbc0
-fd0005c0c00000c0c0f6000fc0c000c0000000c0c000c000c0c00000fbc0
-030000c0c0f90001c0c0f20001c0c0fb00f9c0030000c0c0fa0001c0c0f8
-0013c0c0000000c0c0000000c0c00000c0c00000c0c0f70001c0c0f90007
-c0c00000c0c00000fbc0fd0001c0c0fa0006c0c00000c0c000f9c00600c0
-c00000c0c0f50006c0c00000c0c000f9c00200c0c0fa00f9c00c0000c0c0
-0000c0c0000000c0c0f9000bc0c0000000c0c0000000c0c0ed0001c0c0fc
-000fc0c0000000c0c00000c0c00000c0c000f9c0f70007c0c0000000c0c0
-00f9c0fd00fdc0f40006c0c00000c0c000f9c00200c0c0fa000fc0c00000
-00c0c000c0c0000000c0c000f9c0080000c0c00000c0c000f9c0030000c0
-c0fb00f9c0030000c0c0fa0001c0c0f80013c0c0000000c0c0000000c0c0
-0000c0c00000c0c0f6000bc0c000c0c0000000c0c000c0fa0001c0c08d00
-fd0001c0c0fb0001c0c0f4000ec0c00000c0c0000000c0c00000c0c0f600
-01c0c0fb0011c0c000c000c0c000c0c00000c0c00000c0c0f800fdc0f300
-fdc0fd0001c0c0f800fdc0fb00fdc0fa0013c0c0000000c0c0000000c0c0
-0000c0c00000c0c0f70001c0c0f90001c0c0fb0005c0c00000c0c0fc00fd
-c0fc0008c0c00000c0c000c0c0fa0005c0c00000c0c0f50001c0c0fb0001
-c0c0fa0001c0c0fa0001c0c0f9000ac0c00000c0c0000000c0c0f9000bc0
-c0000000c0c0000000c0c0ed0001c0c0fc0011c0c0000000c0c00000c0c0
-0000c0c000c0c0f20006c0c0000000c0c0f500fdc0f40001c0c0fb0001c0
-c0fa0001c0c0fa0011c0c0000000c0c000c0c0000000c0c000c0c0f90001
-c0c0f100fdc0fd0001c0c0f800fdc0fb00fdc0fa0013c0c0000000c0c000
-0000c0c00000c0c00000c0c0f60009c0c00000c0c00000c0c0f80001c0c0
-8d00fd0001c0c0fb0001c0c0f4000ec0c00000c0c0000000c0c00000c0c0
-f60018c0c0000000c000c0c000c000c0c000c0c00000c0c00000c0c0f600
-01c0c0f20005c0c00000c0c0f60001c0c0fa0001c0c0fb0013c0c0000000
-c0c0000000c0c00000c0c00000c0c0f70001c0c0f90001c0c0fb0005c0c0
-0000c0c0fa000dc0c0000000c0c00000c0c000c0c0fa0005c0c00000c0c0
-f50001c0c0fb0001c0c0fa0001c0c0fa0001c0c0f9000ac0c00000c0c000
-0000c0c0f9000bc0c0000000c0c0000000c0c0fc0001c0c0f30001c0c0fc
-0011c0c0000000c0c00000c0c00000c0c000c0c0f20006c0c0000000c0c0
-f500fdc0f40001c0c0fb0001c0c0fa0001c0c0fa0011c0c0000000c0c000
-c0c0000000c0c000c0c0f90001c0c0ef0005c0c00000c0c0f60001c0c0fa
-0001c0c0fb0013c0c0000000c0c0000000c0c00000c0c00000c0c0f6000d
-c0c00000c0c00000c0c0000000c0fc0001c0c08d00fd0001c0c0fb0001c0
-c0f4000ec0c00000c0c0000000c0c00000c0c0f60025c0c00000c0c000c0
-c000c000c0c000c0c00000c0c00000c0c0000000c0c000c0c0000000c0c0
-f7001ec0c0000000c0c000c0c0000000c0c000c0c0000000c0c000c0c000
-0000c0c0fc0013c0c0000000c0c0000000c0c00000c0c00000c0c0f7000a
-c0c0000000c0c00000c0c0fb0025c0c00000c0c00000c0c0000000c0c000
-00c0c00000c0c000c0c0000000c0c000c0c00000c0c0f50001c0c0fb0026
-c0c0000000c0c000c0c0000000c0c000c0c0000000c0c00000c0c00000c0
-c0000000c0c000c0c0fc000bc0c0000000c0c0000000c0c0fc0001c0c0f3
-001cc0c000c0c000c0c0000000c0c00000c0c00000c0c000c0c0000000c0
-c0f70006c0c0000000c0c0f60004c0c000c0c0f50001c0c0fb002ac0c000
-0000c0c000c0c0000000c0c000c0c0000000c0c00000c0c000c0c00000c0
-c0000000c0c00000c0c0f3001ec0c0000000c0c000c0c0000000c0c000c0
-c0000000c0c000c0c0000000c0c0fc0013c0c0000000c0c0000000c0c000
-00c0c00000c0c0f6000dc0c00000c0c00000c0c00000c0c0fc0001c0c08d
-00010000fcc0fd00fcc0f400fdc00a00c0c00000c0c00000c0c0f700f9c0
-1100c0c0000000c0c00000c0c0c000c0c00000fbc0fd00fbc0f500fbc0fd
-00fbc0fd00fbc0fd00fbc0fc00fcc0fd00fbc0fd0005c0c00000c0c0f600
-fbc0010000fcc0fb00fdc00400c0c00000fbc00a0000c0c0c00000c0c000
-00fbc0fd00fdc00200c0c0f700fcc0fb00fbc0fd00fbc0fd00fbc0fd0005
-c0c00000c0c0fc00fdc0fc00fcc0fd00fac0fc0001c0c0f200fdc0fd00fa
-c0010000fbc0fd00fbc0f60006c0c0000000c0c0f70006c0c0000000c0c0
-f700fcc0fb00fbc0fd00fbc0fd00fbc0fc00fdc0fc00fbc0010000fcc0f3
-00fbc0fd00fbc0fd00fbc0fd00fbc0fc00fcc0fd00fbc0fd0005c0c00000
-c0c0f700fdc0040000c0c000f9c0fd00fcc08e0080008000e30006c0c000
-0000c0c0e70005c0c00000c0c080008000c30080008000e40001c0c0e200
-06c0c0000000c0c080008000c30080008000e800fbc0e500fbc0fd00fcc0
-80008000c400800080008000800080008000800080008000800080008000
-800080008000fd0000c0a90000c0fc00fdc0e800fdc0fb0001c0c0fb00fd
-c09200fdc0fb0001c0c0fa0000c0f90001c0c0800080009500030000c0c0
-aa0001c0c0fb0001c0c0e90004c0c000c0c0fc0001c0c0fa0001c0c09100
-01c0c0fb0001c0c0fb0001c0c0f90001c0c0800080009500030000c0c0aa
-0001c0c0fb0001c0c0e90004c0c00000c0f40001c0c0910001c0c0f40001
-c0c0800080008c00fac0fd00fbc0f60008c0c000c0c0c0000000fbc0fd00
-fbc0fd00fbc00a0000c0c0000000c0c00000fbc0070000c0c000c0c0c0f6
-00fac0fd0007c0c000c0c0000000fbc0f40001c0c0fa00fdc0fa0001c0c0
-fc00fbc0fd00fbc0f60008c0c0000000c0c00000fbc0070000c0c00000c0
-c0f60008c0c0000000c0c00000fbc00a0000c0c000c0c0c0000000fbc0f5
-00fbc0fc00fcc0fc00fdc0fd00fac0fc00fdc0fd000ec0c000c0c0c00000
-00c0c0c000c0c080008000a700030000c0c0fc0006c0c0000000c0c0f600
-fdc03200c0c000c0c0000000c0c000c0c0000000c0c000c0c0000000c0c0
-00c0c0000000c0c000c0c0000000c0c00000c0c0c000c0c0f50001c0c0fb
-00fdc00a00c0c000c0c0000000c0c0f600fcc0fa0001c0c0fa0013c0c000
-0000c0c0000000c0c000c0c0000000c0c0f70015c0c0000000c0c000c0c0
-000000c0c000c0c00000c0c0f6001ec0c0000000c0c000c0c0000000c0c0
-0000c0c0c000c0c000c0c0000000c0c0f7000dc0c0000000c0c00000c0c0
-00c0c0fb0001c0c0fb0001c0c0f90001c0c0fc000cc0c00000c0c000c0c0
-0000c0c080008000a600030000c0c0fc0006c0c0000000c0c0f60006c0c0
-0000c0c000f9c00200c0c0fa000fc0c0000000c0c000c0c0000000c0c000
-f9c0070000c0c00000c0c0f50001c0c0fb0006c0c00000c0c000f9c0f500
-01c0c0f90001c0c0fa0004c0c0000000f9c0030000c0c0f30015c0c00000
-00c0c000c0c0000000c0c000c0c00000c0c0f60007c0c000c000c0c000f9
-c0080000c0c00000c0c000f9c0f700f9c00600c0c00000c0c0fb0001c0c0
-fb0001c0c0f90001c0c0fc000cc0c00000c0c000c0c00000c0c080008000
-a600030000c0c0fc0006c0c0000000c0c0f60001c0c0fb0001c0c0fa0001
-c0c0fa0011c0c0000000c0c000c0c0000000c0c000c0c0f90001c0c0f100
-01c0c0fb0008c0c00000c0c000c0c0f00001c0c0f90001c0c0fa0006c0c0
-000000c0c0f800fdc0f50015c0c0000000c0c000c0c0000000c0c000c0c0
-0000c0c0f60009c0c000c000c0c000c0c0f90001c0c0fb0001c0c0f20001
-c0c0fa0005c0c00000c0c0fb0001c0c0fb0001c0c0f90001c0c0fc000cc0
-c00000c0c000c0c00000c0c080008000a600030000c0c0fc0006c0c00000
-00c0c0f60001c0c0fb0001c0c0fa0001c0c0fa0011c0c0000000c0c000c0
-c0000000c0c000c0c0f90001c0c0f10001c0c0fb0008c0c00000c0c000c0
-c0f00001c0c0f90001c0c0fa0006c0c0000000c0c0f60001c0c0f60015c0
-c0000000c0c000c0c0000000c0c000c0c00000c0c0f60009c0c000c000c0
-c000c0c0f90001c0c0fb0001c0c0f20001c0c0fa0005c0c00000c0c0fb00
-01c0c0fb0001c0c0f90001c0c0fc000cc0c00000c0c000c0c00000c0c080
-008000a6000e0000c0c000c0c000c0c0000000c0c0f60001c0c0fb002ac0
-c0000000c0c000c0c0000000c0c000c0c0000000c0c00000c0c000c0c000
-00c0c0000000c0c00000c0c0f10014c0c000c0c00000c0c00000c0c000c0
-c0000000c0c0f50001c0c0f90001c0c0fa0013c0c0000000c0c0000000c0
-c000c0c0000000c0c0f70015c0c0000000c0c000c0c0000000c0c000c0c0
-0000c0c0f600f9c00b00c0c0000000c0c00000c0c0fb0006c0c0000000c0
-c0f7000dc0c0000000c0c000c0c00000c0c0fb0001c0c0fb0004c0c000c0
-c0fc0001c0c0fc000cc0c00000c0c000c0c00000c0c0fb0001c0c0800080
-00ad00fd00fdc0fd00fbc0f600fcc0fb00fbc0fd00fbc0fd00fbc0fc00fd
-c0fc00fbc0010000fcc0f100fdc00a0000c0c0c00000c0c00000fbc0f500
-fcc0fb00fcc0fc00fcc0fd00fbc0fd00fbc0f500fac0010000fbc0fd00fd
-c00200c0c0f60007c0c000c0c0000000fbc0010000fcc0fb00fbc0f500fb
-c0fd00fdc00500c0c0000000fcc0fb00fdc0fc00fcc0fd0007c0c00000c0
-c00000fbc0fb0001c0c080008000ad008000d30001c0c08b0001c0c08000
-8000a6008000d40001c0c08e0005c0c00000c0c080008000a6008000d800
-fbc08c00fcc080008000a5008000800080008000800080c080c080c080c0
-80c080c080c080c080c080c0d6c0fc8010c0c08080c0c0c08080c08080c0
-c0c08080f7c0f98080c080c080c080c0cfc0d7c0158080c0c08080c08080
-80c0c08080c08080c0c0c08080f6c0058080c0c0808080c080c080c080c0
-cfc0d8c0018080fcc00180c0fc800ac08080c08080c0c0c08080f6c00580
-80c0c0c08080c080c080c080c0cfc0d8c0018080fac0f98007c08080c0c0
-c08080f6c00f8080c080c0c0c0808080c08080c0c0c0fc80fcc0fb80fdc0
-fb8080c080c080c080c0eec0d8c0018080fac0028080c0fc8007c08080c0
-c0c08080f6c0fc80fdc0f980fbc0128080c0c08080c0c0c08080c08080c0
-c0c0808080c080c080c080c0efc0f98000c0f98000c0f98000c0f980f7c0
-028080c0fc800fc08080c0c0808080c08080c0c0c08080f6c00f8080c080
-c0c0c08080c080c08080c0c0fb8003c0c08080f9c0018080f3c0f98000c0
-f98000c0f98000c0f98000c0f98000c0f98000c0f98000c0f98000c0f980
-00c0f98000c0f98000c0f98000c0f98000c0f98000c0f98000c0f98000c0
-f98000c0f98000c0f98000c0f98000c0f98000c0f98000c0f98000c0f980
-00c0f98000c0f98000c0f98000c0f98000c0f98000c0f98000c0f98000c0
-f98000c0f98000c0f98000c0f98000c0f98000c0f98000c0f98000c0f980
-00c0f98000c0f98000c0f98000c0f98000c0f98000c0f98000c0f98000c0
-f98000c0f98000c0f98000c0f98000c0f98000c0f98000c0f98000c0f980
-00c0f98000c0f98000c0f98000c0f98000c0f98000c0f98000c0f98000c0
-f98000c0f98000c0f98000c0f980ffc0d8c0168080c0c0c08080c08080c0
-c0c08080c08080c0c0c08080f6c0018080fbc0118080c080c08080c08080
-c0c08080c0c08080f8c0fd8080c080c080c080c0edc0d8c0168080c0c0c0
-8080c08080c0c0c08080c08080c0c0c08080f6c0188080c0c0c080c08080
-c080c08080c08080c0c08080c0c08080f6c001808080c080c080c080c0ee
-c0d7c0158080c0c08080c08080c0c0c08080c08080c0c0c08080f6c02580
-80c0c08080c08080c080c08080c08080c0c08080c0c08080c0c0c08080c0
-8080c0c0c0808080c080c080c080c0efc0d6c0fd800bc080c08080c0c0c0
-8080c0c0fb80f6c0f98011c08080c0c0c08080c0c0808080c08080c0c0fb
-80fdc0fb8080c080c080c080c0eec080c080c080c080c080c080c080c080
-c080c080c080c080c080c080c080c080c080c080c080c080c08000800080
-008000800080008000800080008000f9c0e40001c0c0f200fdc0db0000c0
-f90001c0c0dd00fdc0e80000c0f10000c0fc00fdc0e900fcc0100000c0c0
-000000c0c000c0c0000000c0c0f700fac0e90001c0c0ec0000c0e100fdc0
-f30001c0c0fa0000c0d200fdc0e20000c0da00fcc0f600fdc0f100fcc080
-00f6000600c0c00000c0c0e40001c0c0f30004c0c000c0c0dd0001c0c0f9
-0001c0c0dc0001c0c0e90001c0c0f20001c0c0fb0001c0c0ea0015c0c000
-00c0c000c0c0c00000c0c000c0c0000000c0c0f60005c0c00000c0c0ea00
-01c0c0ed0001c0c0e00001c0c0f30001c0c0fb0001c0c0d10001c0c0e300
-01c0c0db0005c0c00000c0c0f60001c0c0f20005c0c00000c0c08000f700
-0600c0c0000000c0d50004c0c00000c0dd0001c0c0d30001c0c0e90001c0
-c0f20001c0c0fb0001c0c0eb0001c0c0fc0001c000fcc00a00c0c000c0c0
-000000c0c0f60005c0c00000c0c0d50001c0c0e00001c0c0ec0001c0c0d1
-0001c0c0e30001c0c0dc0001c0c0fc0000c0f60001c0c0f30001c0c0fc00
-00c08000f7000400c0c000c0fc00fbc0070000c0c000c0c0c0f400fdc0fd
-0005c0c000c0c0c0fc0001c0c0fb00fbc0120000c0c000c0c0c00000c0c0
-c000c0c0000000fcc0fd00fac0fc00fdc0fc00fbc0070000c0c000c0c0c0
-f500fcc0fc00fcc0fc00fbc0090000c0c00000c0c00000fac0f600fac0fd
-0007c0c000c0c0000000fbc0f60001c0c0fa00f9c00700c0c0000000c0c0
-f6000fc0c00000c0c000c0c000c0c0c0000000fbc0fa00fdc0010000fbc0
-fd00fbc0010000fac0f500fcc0fd0005c0c000c0c0c0fc00fcc0f400fdc0
-fd00fac0fd00fbc0f500fdc00400c0c00000fbc0fd00fcc0fa0001c0c0fc
-00fbc0ee00fac0120000c0c0000000c0c000c0c000c0c0c0000000fbc0f6
-0001c0c0f10004c0c000c0c0f60001c0c0f20005c0c000c0c0c086000000
-fcc0fd000ec0c0000000c0c00000c0c0c000c0c0f40001c0c0fc0007c0c0
-0000c0c00000fcc0fd000fc0c0000000c0c00000c0c0c000c0c000f9c0fb
-0001c0c0fc0001c0c0f90013c0c0000000c0c0000000c0c00000c0c00000
-c0c0f30019c0c0000000c0c000c0c00000c0c0000000c0c000c0c00000c0
-c0fc0001c0c0f20001c0c0fb00fdc00a00c0c000c0c0000000c0c0f70001
-c0c0fa0002c0c000fcc00700c0c0000000c0c0f600fbc0fd00fdc00a00c0
-c000c0c0000000c0c0fa0016c0c000c0c0000000c0c000c0c0000000c0c0
-000000c0c0f00011c0c0000000c0c00000c0c00000c0c000c0c0f30001c0
-c0fb0001c0c0fc0006c0c0000000c0c0f7000ec0c00000c0c00000c0c000
-0000c0c0fb0001c0c0fb000bc0c0000000c0c0000000c0c0ed0001c0c0fc
-0016c0c0000000c0c00000c0c00000c0c000c0c0000000c0c0f70001c0c0
-f100fdc00200c0c0f70001c0c0f10005c0c00000c0c087001600c0c000c0
-000000c0c0000000c0c00000c0c00000c0c0f40001c0c0fc000ac0c00000
-c0c0000000c0c0fc0018c0c0000000c0c00000c0c00000c0c000c0c000c0
-00c0c00000fbc0fc0001c0c0f90013c0c0000000c0c0000000c0c00000c0
-c00000c0c0f600fbc0fd0014c0c00000c0c000c0c0000000c0c000c0c000
-00c0c0fc0001c0c0f20001c0c0fb0006c0c00000c0c000f9c0f70002c0c0
-00fcc00f00c0c00000c0c0c000c0c0000000c0c0f60001c0c0fa000dc0c0
-0000c0c000c0c0000000c0c0fa0002c0c000f9c00200c0c0f80001c0c0f3
-00fbc0fd000cc0c00000c0c000c0c00000c0c0f30001c0c0fb0001c0c0fb
-0001c0c0f30010c0c00000c0c00000c0c0000000c0c00000fbc0fb0001c0
-c0fc0001c0c0e90001c0c0fc000fc0c0000000c0c00000c0c00000c0c000
-f9c0f70001c0c0fa00f9c0070000c0c00000c0c0f70001c0c0fa00f9c007
-0000c0c00000c0c087000200c0c0fb000ac0c0000000c0c00000c0c0f000
-01c0c0fc000ac0c00000c0c0000000c0c0fc000ac0c0000000c0c00000c0
-c0fb000dc0c000c000c0c000c0c00000c0c0fc0001c0c0f90013c0c00000
-00c0c0000000c0c00000c0c00000c0c0f7001dc0c00000c0c0000000c0c0
-0000c0c000c0c0000000c0c000c0c00000c0c0fc0001c0c0f20001c0c0fb
-0008c0c00000c0c000c0c0f20016c0c0000000c0c000c0c0000000c0c000
-c0c0000000c0c0f60001c0c0fa0001c0c0fb0006c0c0000000c0c0fa0004
-c0c000c0c0fa0001c0c0f80001c0c0f40015c0c00000c0c0000000c0c000
-00c0c000c0c00000c0c0f30001c0c0fb0001c0c0fa00fdc0f50015c0c000
-00c0c00000c0c0000000c0c000c0c00000c0c0fb0001c0c0fb00fdc0eb00
-01c0c0fc0011c0c0000000c0c00000c0c00000c0c000c0c0f20001c0c0f1
-0005c0c00000c0c0f70001c0c0f10005c0c00000c0c087000200c0c0fb00
-0ac0c0000000c0c00000c0c0f00001c0c0fc000ac0c00000c0c0000000c0
-c0fc000ac0c0000000c0c00000c0c0fb000dc0c000c000c0c000c0c00000
-c0c0fc0001c0c0f90013c0c0000000c0c0000000c0c00000c0c00000c0c0
-f7001dc0c00000c0c0000000c0c00000c0c000c0c0000000c0c000c0c000
-00c0c0fc0001c0c0f20001c0c0fb0008c0c00000c0c000c0c0f20016c0c0
-000000c0c000c0c0000000c0c000c0c0000000c0c0f60001c0c0fa0001c0
-c0fb0006c0c0000000c0c0fa0004c0c000c0c0fa0001c0c0f80001c0c0f4
-0015c0c00000c0c0000000c0c00000c0c000c0c00000c0c0f30001c0c0fb
-0001c0c0f80001c0c0f60015c0c00000c0c00000c0c0000000c0c000c0c0
-0000c0c0fb0001c0c0f90001c0c0fb0001c0c0f30001c0c0fc0011c0c000
-0000c0c00000c0c00000c0c000c0c0f20001c0c0fc0000c0f60005c0c000
-00c0c0f70001c0c0fc0000c0f60005c0c00000c0c087000200c0c0fb000a
-c0c0000000c0c00000c0c0f00001c0c0fc000ac0c00000c0c0000000c0c0
-fc000ac0c0000000c0c00000c0c0fb000dc0c000c000c0c000c0c00000c0
-c0fc0004c0c000c0c0fc0013c0c0000000c0c0000000c0c00000c0c00000
-c0c0f7001dc0c00000c0c0000000c0c00000c0c000c0c0000000c0c000c0
-c00000c0c0fc0004c0c000c0c0f50014c0c000c0c00000c0c00000c0c000
-c0c0000000c0c0f60015c0c00000c0c000c0c0000000c0c000c0c0000000
-c0c0f60001c0c0fa0001c0c0fb0006c0c0000000c0c0fa0019c0c000c0c0
-000000c0c000c0c0000000c0c0000000c0c000c0c0f70015c0c00000c0c0
-000000c0c00000c0c000c0c00000c0c0f30001c0c0fb000cc0c000c0c000
-c0c0000000c0c0f70015c0c00000c0c00000c0c0000000c0c000c0c00000
-c0c0fb000bc0c0000000c0c0000000c0c0fc0001c0c0f3001cc0c000c0c0
-00c0c0000000c0c00000c0c00000c0c000c0c0000000c0c0f60005c0c000
-00c0c0f60005c0c00000c0c0f60005c0c00000c0c0f60005c0c00000c0c0
-fc0001c0c08d00fcc0fb00fbc0010000fcc0f200fcc0fd0007c0c00000c0
-c00000fcc0fc00fbc0010000fcc0fc000ec0c0000000c0c00000c0c0c000
-c0c0fc00fdc0fc00fcc0fd00fbc0fd0005c0c00000c0c0f600fdc00400c0
-c00000fbc0fd00fbc0fd00fdc00200c0c0fc00fdc0f300fdc00a0000c0c0
-c00000c0c00000fbc0f400fdc00b00c000c0c0000000c0c00000fbc0f600
-fcc0fc00fcc0fb00fbc0f90003c0c00000fbc0fd00fbc0fb00fdc0f500fd
-c01200c0c00000c0c00000c0c00000c0c0c000c0c0f500fcc0fb00fdc0fd
-00fbc0f500fbc0fd00fbc0fd00fdc00500c0c0000000fcc0fd00fbc0fb00
-01c0c0f200fdc0fd00fac0010000fbc0fd00fbc0f400fcc0f600fdc00300
-00c0c0f500fcc0f500fbc0fb0001c0c08d0080008000f70005c0c00000c0
-c09b0001c0c0dc0001c0c0e70005c0c00000c0c0ba0001c0c08300800080
-00f70005c0c00000c0c09f0005c0c00000c0c0c20006c0c0000000c0c0ba
-0001c0c0830080008000f600fcc09d00fcc0c500fbc0fd00fcc0bc00fcc0
-840080008000800080008000
-grestore
-showpage
-%%Trailer
-
-%%EndDocument
- @endspecial -30 60512 a
- currentpoint currentpoint translate 1 0.79 div 1 0.79 div scale neg
-exch neg exch translate
- -30 60512 a -30 62062 a
-SDict begin H.S end
- -30
-62062 a -30 62062 a
-SDict begin 18.2 H.A end
- -30 62062 a -30 62062 a
-SDict begin [ /View [/XYZ H.V] /Dest (5974) cvn H.B /DEST pdfmark end
- -30 62062
-a 2015 x FU(Y)-170 b(ou)387 b(can)g(also)g(start)g(Emacs)g(on)g(an)h(e)
--23 b(xisting)386 b(\002le)h(by)g(typing)-30 65962 y
-SDict begin H.S end
-
--30 65962 a -30 65962 a
-SDict begin 14.56 H.A end
- -30 65962 a -30 65962 a
-SDict begin [ /View [/XYZ H.V] /Dest (5975) cvn H.B /DEST pdfmark end
- -30 65962
-a -30 65962 a
-SDict begin H.S end
- -30 65962 a -30 65962 a
-SDict begin 14.56 H.A end
- -30 65962 a -30
-65962 a
-SDict begin [ /View [/XYZ H.V] /Dest (5976) cvn H.B /DEST pdfmark end
- -30 65962 a 1276 x FJ(\045)1309 67238 y
-SDict begin H.S end
- 1309
-67238 a 1309 67238 a
-SDict begin 14.56 H.A end
- 1309 67238 a 1309 67238 a
-SDict begin [ /View [/XYZ H.V] /Dest (5977) cvn H.B /DEST pdfmark end
- 1309 67238
-a FH(emacs)743 b(/etc/resolv.conf)p Black -30 73672 a
-FR(206)p Black eop end
-%%Page: 207 229
-TeXDict begin 207 228 bop -8000 -8000 a
-SDict begin /product where{pop product(Distiller)search{pop pop pop
-version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
-closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
-grestore}if}{pop}ifelse}{pop}ifelse}if end
- -8000 -8000 a
-Black 0 TeXcolorgray -30 -1237 a
-SDict begin H.S end
- -30 -1237 a 0 TeXcolorgray
-0 TeXcolorgray -30 -1237 a
-SDict begin H.R end
- -30 -1237 a -30 -1237 a
-SDict begin [ /View [/XYZ H.V] /Dest (page.207) cvn H.B /DEST pdfmark
-end
- -30
--1237 a Black 40240 -1636 a FR(Chapter)386 b(17)h(Emacs)p
-Black -30 2504 a
-SDict begin H.S end
- -30 2504 a -30 2504 a
-SDict begin 18.2 H.A end
- -30 2504 a -30
-2504 a
-SDict begin [ /View [/XYZ H.V] /Dest (5978) cvn H.B /DEST pdfmark end
- -30 2504 a 1107 x FU(This)426 b(will)f(cause)i(Emacs)e(to)h
-(load)g(the)g(speci\002ed)g(\002le)g(when)g(it)g(starts)f(up,)i
-(skipping)e(the)h(wel-)-30 5626 y(come)387 b(message.)-30
-5961 y
-SDict begin H.S end
- -30 5961 a -30 5961 a
-SDict begin 18.2 H.A end
- -30 5961 a -30 5961 a
-SDict begin [ /View [/XYZ H.V] /Dest (EMACS-COMMAND-KEYS) cvn H.B /DEST
-pdfmark end
- -30
-5961 a 5027 x FG(Command)518 b(K)-28 b(e)g(ys)-30 12303
-y
-SDict begin H.S end
- -30 12303 a -30 12303 a
-SDict begin 18.2 H.A end
- -30 12303 a -30 12303 a
-SDict begin [ /View [/XYZ H.V] /Dest (5981) cvn H.B /DEST pdfmark end
- -30
-12303 a 1629 x FU(As)326 b(mentioned)f(abo)-23 b(v)g(e,)326
-b(Emacs)g(uses)20707 13932 y
-SDict begin H.S end
- 20707 13932 a 20707 13932
-a
-SDict begin 18.2 H.A end
- 20707 13932 a 20707 13932 a
-SDict begin [ /View [/XYZ H.V] /Dest (5982) cvn H.B /DEST pdfmark end
- 20707 13932 a FX(Contr)-28
-b(ol)326 b FU(and)28735 13932 y
-SDict begin H.S end
- 28735 13932 a 28735 13932
-a
-SDict begin 18.2 H.A end
- 28735 13932 a 28735 13932 a
-SDict begin [ /View [/XYZ H.V] /Dest (5983) cvn H.B /DEST pdfmark end
- 28735 13932 a FX(Alt)g
-FU(combinations)e(for)i(commands.)g(The)-30 15947 y(usual)443
-b(con)-62 b(v)-23 b(ention)441 b(is)i(to)g(write)f(these)h(with)24508
-15947 y
-SDict begin H.S end
- 24508 15947 a 24508 15947 a
-SDict begin 18.2 H.A end
- 24508 15947 a 24508
-15947 a
-SDict begin [ /View [/XYZ H.V] /Dest (5984) cvn H.B /DEST pdfmark end
- 24508 15947 a 24508 15947 a
-SDict begin H.S end
- 24508 15947 a 24508
-15947 a
-SDict begin 18.2 H.A end
- 24508 15947 a 24508 15947 a
-SDict begin [ /View [/XYZ H.V] /Dest (5985) cvn H.B /DEST pdfmark end
- 24508 15947 a FX(C)p
-FU(-)26143 15947 y
-SDict begin H.S end
- 26143 15947 a 26143 15947 a
-SDict begin 18.2 H.A end
- 26143
-15947 a 26143 15947 a
-SDict begin [ /View [/XYZ H.V] /Dest (5986) cvn H.B /DEST pdfmark end
- 26143 15947 a FX(letter)g FU(and)32794
-15947 y
-SDict begin H.S end
- 32794 15947 a 32794 15947 a
-SDict begin 18.2 H.A end
- 32794 15947 a 32794
-15947 a
-SDict begin [ /View [/XYZ H.V] /Dest (5987) cvn H.B /DEST pdfmark end
- 32794 15947 a 32794 15947 a
-SDict begin H.S end
- 32794 15947 a 32794
-15947 a
-SDict begin 18.2 H.A end
- 32794 15947 a 32794 15947 a
-SDict begin [ /View [/XYZ H.V] /Dest (5988) cvn H.B /DEST pdfmark end
- 32794 15947 a FX(M)p
-FU(-)34773 15947 y
-SDict begin H.S end
- 34773 15947 a 34773 15947 a
-SDict begin 18.2 H.A end
- 34773
-15947 a 34773 15947 a
-SDict begin [ /View [/XYZ H.V] /Dest (5989) cvn H.B /DEST pdfmark end
- 34773 15947 a FX(letter)p FU(,)h(respecti)-39
-b(v)-23 b(ely)-101 b(.)443 b(So)49366 15947 y
-SDict begin H.S end
- 49366 15947
-a 49366 15947 a
-SDict begin 18.2 H.A end
- 49366 15947 a 49366 15947 a
-SDict begin [ /View [/XYZ H.V] /Dest (5990) cvn H.B /DEST pdfmark end
- 49366 15947
-a 49366 15947 a
-SDict begin H.S end
- 49366 15947 a 49366 15947 a
-SDict begin 18.2 H.A end
- 49366 15947
-a 49366 15947 a
-SDict begin [ /View [/XYZ H.V] /Dest (5991) cvn H.B /DEST pdfmark end
- 49366 15947 a FX(C)p FU(-)51001 15947
-y
-SDict begin H.S end
- 51001 15947 a 51001 15947 a
-SDict begin 18.2 H.A end
- 51001 15947 a 51001 15947
-a
-SDict begin [ /View [/XYZ H.V] /Dest (5992) cvn H.B /DEST pdfmark end
- 51001 15947 a FX(x)-30 17962 y FU(means)4249 17962
-y
-SDict begin H.S end
- 4249 17962 a 4249 17962 a
-SDict begin 18.2 H.A end
- 4249 17962 a 4249 17962 a
-SDict begin [ /View [/XYZ H.V] /Dest (5993) cvn H.B /DEST pdfmark end
-
-4249 17962 a 4249 17962 a
-SDict begin H.S end
- 4249 17962 a 4249 17962 a
-SDict begin 18.2 H.A end
- 4249
-17962 a 4249 17962 a
-SDict begin [ /View [/XYZ H.V] /Dest (5994) cvn H.B /DEST pdfmark end
- 4249 17962 a FX(Contr)-28 b(ol)p
-FU(+)10261 17962 y
-SDict begin H.S end
- 10261 17962 a 10261 17962 a
-SDict begin 18.2 H.A end
- 10261
-17962 a 10261 17962 a
-SDict begin [ /View [/XYZ H.V] /Dest (5995) cvn H.B /DEST pdfmark end
- 10261 17962 a FX(x)p FU(,)318 b(and)14298
-17962 y
-SDict begin H.S end
- 14298 17962 a 14298 17962 a
-SDict begin 18.2 H.A end
- 14298 17962 a 14298
-17962 a
-SDict begin [ /View [/XYZ H.V] /Dest (5996) cvn H.B /DEST pdfmark end
- 14298 17962 a 14298 17962 a
-SDict begin H.S end
- 14298 17962 a 14298
-17962 a
-SDict begin 18.2 H.A end
- 14298 17962 a 14298 17962 a
-SDict begin [ /View [/XYZ H.V] /Dest (5997) cvn H.B /DEST pdfmark end
- 14298 17962 a FX(M)p
-FU(-)16277 17962 y
-SDict begin H.S end
- 16277 17962 a 16277 17962 a
-SDict begin 18.2 H.A end
- 16277
-17962 a 16277 17962 a
-SDict begin [ /View [/XYZ H.V] /Dest (5998) cvn H.B /DEST pdfmark end
- 16277 17962 a FX(x)h FU(means)21650
-17962 y
-SDict begin H.S end
- 21650 17962 a 21650 17962 a
-SDict begin 18.2 H.A end
- 21650 17962 a 21650
-17962 a
-SDict begin [ /View [/XYZ H.V] /Dest (5999) cvn H.B /DEST pdfmark end
- 21650 17962 a 21650 17962 a
-SDict begin H.S end
- 21650 17962 a 21650
-17962 a
-SDict begin 18.2 H.A end
- 21650 17962 a 21650 17962 a
-SDict begin [ /View [/XYZ H.V] /Dest (6000) cvn H.B /DEST pdfmark end
- 21650 17962 a FX(Alt)p
-FU(+)24590 17962 y
-SDict begin H.S end
- 24590 17962 a 24590 17962 a
-SDict begin 18.2 H.A end
- 24590
-17962 a 24590 17962 a
-SDict begin [ /View [/XYZ H.V] /Dest (6001) cvn H.B /DEST pdfmark end
- 24590 17962 a FX(x)p FU(.)g(\(The)g(letter)32819
-17962 y
-SDict begin H.S end
- 32819 17962 a 32819 17962 a
-SDict begin 18.2 H.A end
- 32819 17962 a 32819
-17962 a
-SDict begin [ /View [/XYZ H.V] /Dest (6002) cvn H.B /DEST pdfmark end
- 32819 17962 a FX(M)g FU(is)g(used)g(instead)f(of)h(A)g(because)
--30 19976 y(originally)456 b(the)g(k)-15 b(e)-23 b(y)456
-b(w)-15 b(as)456 b(not)h(the)19099 19976 y
-SDict begin H.S end
- 19099 19976
-a 19099 19976 a
-SDict begin 18.2 H.A end
- 19099 19976 a 19099 19976 a
-SDict begin [ /View [/XYZ H.V] /Dest (6003) cvn H.B /DEST pdfmark end
- 19099 19976
-a FX(Alt)g FU(k)-15 b(e)-23 b(y)456 b(b)-31 b(ut)456
-b(the)29035 19976 y
-SDict begin H.S end
- 29035 19976 a 29035 19976 a
-SDict begin 18.2 H.A end
- 29035
-19976 a 29035 19976 a
-SDict begin [ /View [/XYZ H.V] /Dest (6004) cvn H.B /DEST pdfmark end
- 29035 19976 a FX(Meta)g FU(k)-15
-b(e)-23 b(y)-101 b(.)457 b(The)38743 19976 y
-SDict begin H.S end
- 38743 19976
-a 38743 19976 a
-SDict begin 18.2 H.A end
- 38743 19976 a 38743 19976 a
-SDict begin [ /View [/XYZ H.V] /Dest (6005) cvn H.B /DEST pdfmark end
- 38743 19976
-a FX(Meta)f FU(k)-15 b(e)-23 b(y)456 b(has)h(all)f(b)-31
-b(ut)-30 21991 y(disappeared)423 b(from)h(computer)f(k)-15
-b(e)-23 b(yboards,)422 b(and)i(in)f(Emacs)g(the)35814
-21991 y
-SDict begin H.S end
- 35814 21991 a 35814 21991 a
-SDict begin 18.2 H.A end
- 35814 21991 a 35814
-21991 a
-SDict begin [ /View [/XYZ H.V] /Dest (6006) cvn H.B /DEST pdfmark end
- 35814 21991 a FX(Alt)g FU(k)-15 b(e)-23 b(y)423
-b(has)g(tak)-15 b(en)423 b(o)-23 b(v)g(er)423 b(its)-30
-24006 y(function.\))-30 25058 y
-SDict begin H.S end
- -30 25058 a -30 25058
-a
-SDict begin 18.2 H.A end
- -30 25058 a -30 25058 a
-SDict begin [ /View [/XYZ H.V] /Dest (6007) cvn H.B /DEST pdfmark end
- -30 25058 a 1737 x FU(Man)-23
-b(y)553 b(Emacs)g(commands)g(consist)g(of)g(sequences)h(of)f(k)-15
-b(e)-23 b(ys)553 b(and)g(k)-15 b(e)-23 b(y)553 b(combinations.)g(F)-23
-b(or)-30 28810 y(e)g(xample,)5977 28810 y
-SDict begin H.S end
- 5977 28810
-a 5977 28810 a
-SDict begin 18.2 H.A end
- 5977 28810 a 5977 28810 a
-SDict begin [ /View [/XYZ H.V] /Dest (6008) cvn H.B /DEST pdfmark end
- 5977 28810 a
-5977 28810 a
-SDict begin H.S end
- 5977 28810 a 5977 28810 a
-SDict begin 18.2 H.A end
- 5977 28810 a 5977
-28810 a
-SDict begin [ /View [/XYZ H.V] /Dest (6009) cvn H.B /DEST pdfmark end
- 5977 28810 a FX(C)p FU(-)7612 28810 y
-SDict begin H.S end
- 7612 28810
-a 7612 28810 a
-SDict begin 18.2 H.A end
- 7612 28810 a 7612 28810 a
-SDict begin [ /View [/XYZ H.V] /Dest (6010) cvn H.B /DEST pdfmark end
- 7612 28810 a
-FX(x)8779 28810 y
-SDict begin H.S end
- 8779 28810 a 8779 28810 a
-SDict begin 18.2 H.A end
- 8779 28810
-a 8779 28810 a
-SDict begin [ /View [/XYZ H.V] /Dest (6011) cvn H.B /DEST pdfmark end
- 8779 28810 a 8779 28810 a
-SDict begin H.S end
- 8779 28810 a
-8779 28810 a
-SDict begin 18.2 H.A end
- 8779 28810 a 8779 28810 a
-SDict begin [ /View [/XYZ H.V] /Dest (6012) cvn H.B /DEST pdfmark end
- 8779 28810 a FX(C)p
-FU(-)10414 28810 y
-SDict begin H.S end
- 10414 28810 a 10414 28810 a
-SDict begin 18.2 H.A end
- 10414
-28810 a 10414 28810 a
-SDict begin [ /View [/XYZ H.V] /Dest (6013) cvn H.B /DEST pdfmark end
- 10414 28810 a FX(c)392 b FU(\(that)g(is)16152
-28810 y
-SDict begin H.S end
- 16152 28810 a 16152 28810 a
-SDict begin 18.2 H.A end
- 16152 28810 a 16152
-28810 a
-SDict begin [ /View [/XYZ H.V] /Dest (6014) cvn H.B /DEST pdfmark end
- 16152 28810 a 16152 28810 a
-SDict begin H.S end
- 16152 28810 a 16152
-28810 a
-SDict begin 18.2 H.A end
- 16152 28810 a 16152 28810 a
-SDict begin [ /View [/XYZ H.V] /Dest (6015) cvn H.B /DEST pdfmark end
- 16152 28810 a FX(Contr)-28
-b(ol)p FU(-)21806 28810 y
-SDict begin H.S end
- 21806 28810 a 21806 28810 a
-SDict begin 18.2 H.A end
-
-21806 28810 a 21806 28810 a
-SDict begin [ /View [/XYZ H.V] /Dest (6016) cvn H.B /DEST pdfmark end
- 21806 28810 a FX(x)392 b
-FU(follo)-39 b(wed)391 b(by)30777 28810 y
-SDict begin H.S end
- 30777 28810
-a 30777 28810 a
-SDict begin 18.2 H.A end
- 30777 28810 a 30777 28810 a
-SDict begin [ /View [/XYZ H.V] /Dest (6017) cvn H.B /DEST pdfmark end
- 30777 28810
-a 30777 28810 a
-SDict begin H.S end
- 30777 28810 a 30777 28810 a
-SDict begin 18.2 H.A end
- 30777 28810
-a 30777 28810 a
-SDict begin [ /View [/XYZ H.V] /Dest (6018) cvn H.B /DEST pdfmark end
- 30777 28810 a FX(Contr)-28 b(ol)p FU(-)36431
-28810 y
-SDict begin H.S end
- 36431 28810 a 36431 28810 a
-SDict begin 18.2 H.A end
- 36431 28810 a 36431
-28810 a
-SDict begin [ /View [/XYZ H.V] /Dest (6019) cvn H.B /DEST pdfmark end
- 36431 28810 a FX(c)392 b FU(\))g(quits)f(Emacs,)46736
-28810 y
-SDict begin H.S end
- 46736 28810 a 46736 28810 a
-SDict begin 18.2 H.A end
- 46736 28810 a 46736
-28810 a
-SDict begin [ /View [/XYZ H.V] /Dest (6020) cvn H.B /DEST pdfmark end
- 46736 28810 a 46736 28810 a
-SDict begin H.S end
- 46736 28810 a 46736
-28810 a
-SDict begin 18.2 H.A end
- 46736 28810 a 46736 28810 a
-SDict begin [ /View [/XYZ H.V] /Dest (6021) cvn H.B /DEST pdfmark end
- 46736 28810 a FX(C)p
-FU(-)48371 28810 y
-SDict begin H.S end
- 48371 28810 a 48371 28810 a
-SDict begin 18.2 H.A end
- 48371
-28810 a 48371 28810 a
-SDict begin [ /View [/XYZ H.V] /Dest (6022) cvn H.B /DEST pdfmark end
- 48371 28810 a FX(x)49538 28810
-y
-SDict begin H.S end
- 49538 28810 a 49538 28810 a
-SDict begin 18.2 H.A end
- 49538 28810 a 49538 28810
-a
-SDict begin [ /View [/XYZ H.V] /Dest (6023) cvn H.B /DEST pdfmark end
- 49538 28810 a 49538 28810 a
-SDict begin H.S end
- 49538 28810 a 49538 28810
-a
-SDict begin 18.2 H.A end
- 49538 28810 a 49538 28810 a
-SDict begin [ /View [/XYZ H.V] /Dest (6024) cvn H.B /DEST pdfmark end
- 49538 28810 a FX(C)p FU(-)51173
-28810 y
-SDict begin H.S end
- 51173 28810 a 51173 28810 a
-SDict begin 18.2 H.A end
- 51173 28810 a 51173
-28810 a
-SDict begin [ /View [/XYZ H.V] /Dest (6025) cvn H.B /DEST pdfmark end
- 51173 28810 a FX(s)-30 30825 y FU(sa)-31 b(v)-23
-b(es)559 b(the)h(current)g(\002le.)g(K)-39 b(eep)560
-b(in)f(mind)h(that)26350 30825 y
-SDict begin H.S end
- 26350 30825 a 26350
-30825 a
-SDict begin 18.2 H.A end
- 26350 30825 a 26350 30825 a
-SDict begin [ /View [/XYZ H.V] /Dest (6026) cvn H.B /DEST pdfmark end
- 26350 30825 a 26350
-30825 a
-SDict begin H.S end
- 26350 30825 a 26350 30825 a
-SDict begin 18.2 H.A end
- 26350 30825 a 26350
-30825 a
-SDict begin [ /View [/XYZ H.V] /Dest (6027) cvn H.B /DEST pdfmark end
- 26350 30825 a FX(C)p FU(-)27985 30825 y
-SDict begin H.S end
- 27985
-30825 a 27985 30825 a
-SDict begin 18.2 H.A end
- 27985 30825 a 27985 30825 a
-SDict begin [ /View [/XYZ H.V] /Dest (6028) cvn H.B /DEST pdfmark end
- 27985
-30825 a FX(x)29320 30825 y
-SDict begin H.S end
- 29320 30825 a 29320 30825
-a
-SDict begin 18.2 H.A end
- 29320 30825 a 29320 30825 a
-SDict begin [ /View [/XYZ H.V] /Dest (6029) cvn H.B /DEST pdfmark end
- 29320 30825 a 29320 30825
-a
-SDict begin H.S end
- 29320 30825 a 29320 30825 a
-SDict begin 18.2 H.A end
- 29320 30825 a 29320 30825
-a
-SDict begin [ /View [/XYZ H.V] /Dest (6030) cvn H.B /DEST pdfmark end
- 29320 30825 a FX(C)p FU(-)30955 30825 y
-SDict begin H.S end
- 30955 30825
-a 30955 30825 a
-SDict begin 18.2 H.A end
- 30955 30825 a 30955 30825 a
-SDict begin [ /View [/XYZ H.V] /Dest (6031) cvn H.B /DEST pdfmark end
- 30955 30825
-a FX(b)f FU(is)33970 30825 y
-SDict begin H.S end
- 33970 30825 a 33970 30825
-a
-SDict begin 18.2 H.A end
- 33970 30825 a 33970 30825 a
-SDict begin [ /View [/XYZ H.V] /Dest (6032) cvn H.B /DEST pdfmark end
- 33970 30825 a FR(not)587
-b FU(the)560 b(same)f(as)44587 30825 y
-SDict begin H.S end
- 44587 30825 a
-44587 30825 a
-SDict begin 18.2 H.A end
- 44587 30825 a 44587 30825 a
-SDict begin [ /View [/XYZ H.V] /Dest (6033) cvn H.B /DEST pdfmark end
- 44587 30825
-a 44587 30825 a
-SDict begin H.S end
- 44587 30825 a 44587 30825 a
-SDict begin 18.2 H.A end
- 44587 30825
-a 44587 30825 a
-SDict begin [ /View [/XYZ H.V] /Dest (6034) cvn H.B /DEST pdfmark end
- 44587 30825 a FX(C)p FU(-)46222 30825
-y
-SDict begin H.S end
- 46222 30825 a 46222 30825 a
-SDict begin 18.2 H.A end
- 46222 30825 a 46222 30825
-a
-SDict begin [ /View [/XYZ H.V] /Dest (6035) cvn H.B /DEST pdfmark end
- 46222 30825 a FX(x)47557 30825 y
-SDict begin H.S end
- 47557 30825 a 47557
-30825 a
-SDict begin 18.2 H.A end
- 47557 30825 a 47557 30825 a
-SDict begin [ /View [/XYZ H.V] /Dest (6036) cvn H.B /DEST pdfmark end
- 47557 30825 a FX(b)p
-FU(.)h(The)-30 32839 y(former)437 b(means)9020 32839
-y
-SDict begin H.S end
- 9020 32839 a 9020 32839 a
-SDict begin 18.2 H.A end
- 9020 32839 a 9020 32839 a
-SDict begin [ /View [/XYZ H.V] /Dest (6037) cvn H.B /DEST pdfmark end
-
-9020 32839 a 9020 32839 a
-SDict begin H.S end
- 9020 32839 a 9020 32839 a
-SDict begin 18.2 H.A end
- 9020
-32839 a 9020 32839 a
-SDict begin [ /View [/XYZ H.V] /Dest (6038) cvn H.B /DEST pdfmark end
- 9020 32839 a FX(Contr)-28 b(ol)p
-FU(-)14674 32839 y
-SDict begin H.S end
- 14674 32839 a 14674 32839 a
-SDict begin 18.2 H.A end
- 14674
-32839 a 14674 32839 a
-SDict begin [ /View [/XYZ H.V] /Dest (6039) cvn H.B /DEST pdfmark end
- 14674 32839 a FX(x)436 b FU(follo)-39
-b(wed)437 b(by)23779 32839 y
-SDict begin H.S end
- 23779 32839 a 23779 32839
-a
-SDict begin 18.2 H.A end
- 23779 32839 a 23779 32839 a
-SDict begin [ /View [/XYZ H.V] /Dest (6040) cvn H.B /DEST pdfmark end
- 23779 32839 a 23779 32839
-a
-SDict begin H.S end
- 23779 32839 a 23779 32839 a
-SDict begin 18.2 H.A end
- 23779 32839 a 23779 32839
-a
-SDict begin [ /View [/XYZ H.V] /Dest (6041) cvn H.B /DEST pdfmark end
- 23779 32839 a FX(Contr)-28 b(ol)p FU(-)29433 32839
-y
-SDict begin H.S end
- 29433 32839 a 29433 32839 a
-SDict begin 18.2 H.A end
- 29433 32839 a 29433 32839
-a
-SDict begin [ /View [/XYZ H.V] /Dest (6042) cvn H.B /DEST pdfmark end
- 29433 32839 a FX(b)p FU(,)437 b(while)f(the)h(latter)f(means)45348
-32839 y
-SDict begin H.S end
- 45348 32839 a 45348 32839 a
-SDict begin 18.2 H.A end
- 45348 32839 a 45348
-32839 a
-SDict begin [ /View [/XYZ H.V] /Dest (6043) cvn H.B /DEST pdfmark end
- 45348 32839 a 45348 32839 a
-SDict begin H.S end
- 45348 32839 a 45348
-32839 a
-SDict begin 18.2 H.A end
- 45348 32839 a 45348 32839 a
-SDict begin [ /View [/XYZ H.V] /Dest (6044) cvn H.B /DEST pdfmark end
- 45348 32839 a FX(Contr)-28
-b(ol)p FU(-)51002 32839 y
-SDict begin H.S end
- 51002 32839 a 51002 32839 a
-SDict begin 18.2 H.A end
-
-51002 32839 a 51002 32839 a
-SDict begin [ /View [/XYZ H.V] /Dest (6045) cvn H.B /DEST pdfmark end
- 51002 32839 a FX(x)-30 34854
-y FU(follo)-39 b(wed)387 b(by)g(just)g(')10908 34854
-y
-SDict begin H.S end
- 10908 34854 a 10908 34854 a
-SDict begin 18.2 H.A end
- 10908 34854 a 10908 34854
-a
-SDict begin [ /View [/XYZ H.V] /Dest (6046) cvn H.B /DEST pdfmark end
- 10908 34854 a FX(b)p FU('.)-30 37514 y
-SDict begin H.S end
- -30 37514 a
--30 37514 a
-SDict begin 18.2 H.A end
- -30 37514 a -30 37514 a
-SDict begin [ /View [/XYZ H.V] /Dest (EMACS-BUFFERS) cvn H.B /DEST
-pdfmark end
- -30 37514 a 5789
-x FL(17.2)620 b(Buff)-22 b(er)-33 b(s)-30 43331 y
-SDict begin H.S end
- -30
-43331 a -30 43331 a
-SDict begin 18.2 H.A end
- -30 43331 a -30 43331 a
-SDict begin [ /View [/XYZ H.V] /Dest (6049) cvn H.B /DEST pdfmark end
- -30 43331
-a -30 44447 a
-SDict begin H.S end
- -30 44447 a -30 44447 a
-SDict begin 18.2 H.A end
- -30 44447 a -30
-44447 a
-SDict begin [ /View [/XYZ H.V] /Dest (6052) cvn H.B /DEST pdfmark end
- -30 44447 a 1987 x FU(In)504 b(Emacs,)g(the)f(concept)h(of)
-16303 46434 y
-SDict begin H.S end
- 16303 46434 a 16303 46434 a
-SDict begin 18.2 H.A end
- 16303 46434
-a 16303 46434 a
-SDict begin [ /View [/XYZ H.V] /Dest (6053) cvn H.B /DEST pdfmark end
- 16303 46434 a FU(\223b)-31 b(uf)-39 b(fers\224)504
-b(is)g(essential.)f(Ev)-23 b(ery)503 b(\002le)h(that)f(you)g(open)h(is)
-f(loaded)-30 48448 y(into)524 b(its)g(o)-39 b(wn)525
-b(b)-31 b(uf)-39 b(fer)-85 b(.)525 b(Furthermore,)f(Emacs)g(has)g(se)
--39 b(v)-23 b(eral)525 b(special)f(b)-31 b(uf)-39 b(fers,)525
-b(which)f(do)g(not)-30 50463 y(contain)373 b(a)h(\002le)g(b)-31
-b(ut)373 b(are)h(used)g(for)g(other)f(things.)h(Such)f(special)h(b)-31
-b(uf)-39 b(fers)374 b(usually)f(ha)-31 b(v)-23 b(e)373
-b(a)h(name)-30 52478 y(that)342 b(starts)f(and)h(ends)g(with)f(an)h
-(asterisk.)g(F)-23 b(or)341 b(e)-23 b(xample,)342 b(the)g(b)-31
-b(uf)-39 b(fer)342 b(that)g(Emacs)f(sho)-39 b(ws)342
-b(when)-30 54492 y(it)490 b(is)f(\002rst)h(started,)g(is)g(the)f
-(so-called)h(*scratch*)g(b)-31 b(uf)-39 b(fer)-85 b(.)490
-b(In)g(the)g(*scratch*)f(b)-31 b(uf)-39 b(fer)-62 b(,)491
-b(you)f(can)-30 56507 y(type)431 b(te)-23 b(xt)431 b(in)g(the)g(normal)
-f(w)-15 b(ay)-101 b(,)432 b(b)-31 b(ut)430 b(te)-23 b(xt)431
-b(that)g(is)g(typed)g(there)g(is)g(not)g(sa)-31 b(v)-23
-b(ed)430 b(when)h(Emacs)g(is)-30 58522 y(closed.)-30
-59312 y
-SDict begin H.S end
- -30 59312 a -30 59312 a
-SDict begin 18.2 H.A end
- -30 59312 a -30 59312
-a
-SDict begin [ /View [/XYZ H.V] /Dest (6054) cvn H.B /DEST pdfmark end
- -30 59312 a 1999 x FU(There)378 b(is)g(one)g(other)g(special)g(b)-31
-b(uf)-39 b(fer)378 b(you)g(need)g(to)g(kno)-39 b(w)378
-b(about,)g(and)h(that)e(is)h(the)g(minib)-31 b(uf)-39
-b(fer)-85 b(.)-30 63326 y(This)434 b(b)-31 b(uf)-39 b(fer)434
-b(consists)f(of)h(only)g(one)g(line,)g(and)g(is)g(al)-15
-b(w)g(ays)433 b(on)h(the)g(screen:)g(it)g(is)g(the)f(v)-23
-b(ery)434 b(last)-30 65341 y(line)335 b(of)g(the)h(Emacs)f(windo)-39
-b(w)-101 b(,)335 b(belo)-39 b(w)335 b(the)g(status)g(bar)h(for)f(the)g
-(current)g(b)-31 b(uf)-39 b(fer)-85 b(.)336 b(The)f(minib)-31
-b(uf)-39 b(fer)-30 67355 y(is)519 b(where)h(Emacs)f(sho)-39
-b(ws)519 b(messages)g(for)h(the)f(user)-62 b(,)520 b(and)f(it)g(is)h
-(also)f(the)g(place)h(where)f(com-)p Black 49394 73792
-a FR(207)p Black eop end
-%%Page: 208 230
-TeXDict begin 208 229 bop -8000 -8000 a
-SDict begin /product where{pop product(Distiller)search{pop pop pop
-version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
-closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
-grestore}if}{pop}ifelse}{pop}ifelse}if end
- -8000 -8000 a
-Black 0 TeXcolorgray -30 -1237 a
-SDict begin H.S end
- -30 -1237 a 0 TeXcolorgray
-0 TeXcolorgray -30 -1237 a
-SDict begin H.R end
- -30 -1237 a -30 -1237 a
-SDict begin [ /View [/XYZ H.V] /Dest (page.208) cvn H.B /DEST pdfmark
-end
- -30
--1237 a Black -399 x FR(Chapter)387 b(17)g(Emacs)p Black
--30 3611 a FU(mands)340 b(that)h(require)f(some)h(user)f(input)g(are)h
-(e)-23 b(x)g(ecuted.)341 b(F)-23 b(or)340 b(e)-23 b(xample,)340
-b(when)h(you)f(open)h(a)g(\002le,)-30 5626 y(Emacs)387
-b(will)g(ask)g(for)h(its)e(name)i(in)f(the)g(minib)-31
-b(uf)-39 b(fer)-85 b(.)-30 6416 y
-SDict begin H.S end
- -30 6416 a -30 6416
-a
-SDict begin 18.2 H.A end
- -30 6416 a -30 6416 a
-SDict begin [ /View [/XYZ H.V] /Dest (6055) cvn H.B /DEST pdfmark end
- -30 6416 a 1999 x FU(Switching)491
-b(from)i(one)f(b)-31 b(uf)-39 b(fer)493 b(to)g(another)f(can)h(be)f
-(done)h(with)f(the)g(command)44376 8415 y
-SDict begin H.S end
- 44376 8415
-a 44376 8415 a
-SDict begin 18.2 H.A end
- 44376 8415 a 44376 8415 a
-SDict begin [ /View [/XYZ H.V] /Dest (6056) cvn H.B /DEST pdfmark end
- 44376 8415 a
-44376 8415 a
-SDict begin H.S end
- 44376 8415 a 44376 8415 a
-SDict begin 18.2 H.A end
- 44376 8415 a 44376
-8415 a
-SDict begin [ /View [/XYZ H.V] /Dest (6057) cvn H.B /DEST pdfmark end
- 44376 8415 a FX(C)p FU(-)46011 8415 y
-SDict begin H.S end
- 46011 8415
-a 46011 8415 a
-SDict begin 18.2 H.A end
- 46011 8415 a 46011 8415 a
-SDict begin [ /View [/XYZ H.V] /Dest (6058) cvn H.B /DEST pdfmark end
- 46011 8415 a
-FX(x)47279 8415 y
-SDict begin H.S end
- 47279 8415 a 47279 8415 a
-SDict begin 18.2 H.A end
- 47279 8415
-a 47279 8415 a
-SDict begin [ /View [/XYZ H.V] /Dest (6059) cvn H.B /DEST pdfmark end
- 47279 8415 a FX(b)p FU(.)g(This)-30 10430
-y(will)387 b(prompt)f(you)h(for)g(the)g(name)g(of)g(a)h(b)-31
-b(uf)-39 b(fer)387 b(\(a)h(b)-31 b(uf)-39 b(fer')-85
-b(s)387 b(name)g(is)g(usually)f(the)h(name)g(of)g(the)-30
-12445 y(\002le)411 b(you)h(are)g(editing)f(in)g(it\),)h(and)f(it)h(gi)
--39 b(v)-23 b(es)411 b(a)h(def)-15 b(ault)411 b(choice,)h(which)f(is)g
-(normally)g(the)h(b)-31 b(uf)-39 b(fer)-30 14459 y(that)529
-b(you)h(were)g(in)f(before)h(you)f(switched)g(to)h(or)g(created)f(the)h
-(current)g(b)-31 b(uf)-39 b(fer)-85 b(.)530 b(Just)f(hitting)-30
-16474 y
-SDict begin H.S end
- -30 16474 a -30 16474 a
-SDict begin 18.2 H.A end
- -30 16474 a -30 16474
-a
-SDict begin [ /View [/XYZ H.V] /Dest (6060) cvn H.B /DEST pdfmark end
- -30 16474 a FR(Enter)423 b FU(will)386 b(switch)h(to)g(that)g(def)-15
-b(ault)387 b(b)-31 b(uf)-39 b(fer)-85 b(.)-30 17267 y
-SDict begin H.S end
-
--30 17267 a -30 17267 a
-SDict begin 18.2 H.A end
- -30 17267 a -30 17267 a
-SDict begin [ /View [/XYZ H.V] /Dest (6061) cvn H.B /DEST pdfmark end
- -30 17267
-a 1997 x FU(If)425 b(you)f(w)-15 b(ant)424 b(to)g(switch)g(to)g
-(another)g(b)-31 b(uf)-39 b(fer)425 b(than)f(the)g(def)-15
-b(ault)424 b(of)-39 b(fered)425 b(by)f(Emacs,)g(just)g(type)-30
-21278 y(its)519 b(name.)g(Note)g(that)g(you)g(can)g(use)g(so-called)
-26806 21278 y
-SDict begin H.S end
- 26806 21278 a 26806 21278 a
-SDict begin 18.2 H.A end
- 26806 21278
-a 26806 21278 a
-SDict begin [ /View [/XYZ H.V] /Dest (6062) cvn H.B /DEST pdfmark end
- 26806 21278 a FX(T)-143 b(ab)p FU(-completion)518
-b(here:)h(type)g(the)g(\002rst)g(fe)-39 b(w)-30 23293
-y(letters)437 b(of)h(the)g(b)-31 b(uf)-39 b(fer')-85
-b(s)437 b(name)h(and)f(hit)21987 23293 y
-SDict begin H.S end
- 21987 23293
-a 21987 23293 a
-SDict begin 18.2 H.A end
- 21987 23293 a 21987 23293 a
-SDict begin [ /View [/XYZ H.V] /Dest (6063) cvn H.B /DEST pdfmark end
- 21987 23293
-a FX(T)-143 b(ab)p FU(;)438 b(Emacs)f(will)g(then)g(complete)g(the)h
-(name)f(of)h(the)-30 25308 y(b)-31 b(uf)-39 b(fer)-85
-b(.)4376 25308 y
-SDict begin H.S end
- 4376 25308 a 4376 25308 a
-SDict begin 18.2 H.A end
- 4376 25308
-a 4376 25308 a
-SDict begin [ /View [/XYZ H.V] /Dest (6064) cvn H.B /DEST pdfmark end
- 4376 25308 a FX(T)-143 b(ab)387 b FU(completion)f(w)-15
-b(orks)387 b(e)-39 b(v)-23 b(erywhere)387 b(in)g(Emacs)g(where)h(it)f
-(mak)-15 b(es)386 b(sense.)-30 26418 y
-SDict begin H.S end
- -30 26418 a -30
-26418 a
-SDict begin 18.2 H.A end
- -30 26418 a -30 26418 a
-SDict begin [ /View [/XYZ H.V] /Dest (6065) cvn H.B /DEST pdfmark end
- -30 26418 a 1679 x FU(Y)-170
-b(ou)493 b(can)h(get)g(a)g(list)f(of)h(open)g(b)-31 b(uf)-39
-b(fers)494 b(by)f(hitting)28256 28097 y
-SDict begin H.S end
- 28256 28097 a
-28256 28097 a
-SDict begin 18.2 H.A end
- 28256 28097 a 28256 28097 a
-SDict begin [ /View [/XYZ H.V] /Dest (6066) cvn H.B /DEST pdfmark end
- 28256 28097
-a 28256 28097 a
-SDict begin H.S end
- 28256 28097 a 28256 28097 a
-SDict begin 18.2 H.A end
- 28256 28097
-a 28256 28097 a
-SDict begin [ /View [/XYZ H.V] /Dest (6067) cvn H.B /DEST pdfmark end
- 28256 28097 a FX(C)p FU(-)29891 28097
-y
-SDict begin H.S end
- 29891 28097 a 29891 28097 a
-SDict begin 18.2 H.A end
- 29891 28097 a 29891 28097
-a
-SDict begin [ /View [/XYZ H.V] /Dest (6068) cvn H.B /DEST pdfmark end
- 29891 28097 a FX(x)31160 28097 y
-SDict begin H.S end
- 31160 28097 a 31160
-28097 a
-SDict begin 18.2 H.A end
- 31160 28097 a 31160 28097 a
-SDict begin [ /View [/XYZ H.V] /Dest (6069) cvn H.B /DEST pdfmark end
- 31160 28097 a 31160
-28097 a
-SDict begin H.S end
- 31160 28097 a 31160 28097 a
-SDict begin 18.2 H.A end
- 31160 28097 a 31160
-28097 a
-SDict begin [ /View [/XYZ H.V] /Dest (6070) cvn H.B /DEST pdfmark end
- 31160 28097 a FX(C)p FU(-)32795 28097 y
-SDict begin H.S end
- 32795
-28097 a 32795 28097 a
-SDict begin 18.2 H.A end
- 32795 28097 a 32795 28097 a
-SDict begin [ /View [/XYZ H.V] /Dest (6071) cvn H.B /DEST pdfmark end
- 32795
-28097 a FX(b)p FU(.)h(This)f(command)g(will)h(usually)-30
-30112 y(split)343 b(the)h(screen)h(in)f(tw)-15 b(o,)343
-b(displaying)g(the)h(b)-31 b(uf)-39 b(fer)345 b(you)f(were)g(w)-15
-b(orking)343 b(in)h(in)g(the)g(top)g(half,)g(and)-30
-32126 y(a)365 b(ne)-39 b(w)365 b(b)-31 b(uf)-39 b(fer)366
-b(called)f(*Buf)-39 b(fer)364 b(List*)h(in)g(the)f(bottom)g(half.)i
-(This)e(b)-31 b(uf)-39 b(fer)365 b(contains)g(a)g(list)f(of)h(all)-30
-34141 y(the)378 b(b)-31 b(uf)-39 b(fers,)379 b(their)e(sizes)h(and)g
-(modes,)g(and)g(the)g(\002les,)g(if)g(an)-23 b(y)-101
-b(,)378 b(that)g(those)g(b)-31 b(uf)-39 b(fers)378 b(are)g(visiting)-30
-36156 y(\(as)388 b(it)f(is)g(called)g(in)g(Emacs\).)g(Y)-170
-b(ou)387 b(can)h(get)f(rid)g(of)g(this)g(split)g(screen)g(by)g(typing)
-43747 36156 y
-SDict begin H.S end
- 43747 36156 a 43747 36156 a
-SDict begin 18.2 H.A end
- 43747 36156
-a 43747 36156 a
-SDict begin [ /View [/XYZ H.V] /Dest (6072) cvn H.B /DEST pdfmark end
- 43747 36156 a 43747 36156 a
-SDict begin H.S end
- 43747 36156
-a 43747 36156 a
-SDict begin 18.2 H.A end
- 43747 36156 a 43747 36156 a
-SDict begin [ /View [/XYZ H.V] /Dest (6073) cvn H.B /DEST pdfmark end
- 43747 36156
-a FX(C)p FU(-)45382 36156 y
-SDict begin H.S end
- 45382 36156 a 45382 36156
-a
-SDict begin 18.2 H.A end
- 45382 36156 a 45382 36156 a
-SDict begin [ /View [/XYZ H.V] /Dest (6074) cvn H.B /DEST pdfmark end
- 45382 36156 a FX(x)46544
-36156 y
-SDict begin H.S end
- 46544 36156 a 46544 36156 a
-SDict begin 18.2 H.A end
- 46544 36156 a 46544
-36156 a
-SDict begin [ /View [/XYZ H.V] /Dest (6075) cvn H.B /DEST pdfmark end
- 46544 36156 a FX(1)p FU(.)-30 36491 y
-SDict begin H.S end
- -30 36491
-a -30 36491 a
-SDict begin 16.9 H.A end
- -30 36491 a -30 36491 a
-SDict begin [ /View [/XYZ H.V] /Dest (6076) cvn H.B /DEST pdfmark end
- -30 36491 a -30
-38816 a
-SDict begin H.S end
- -30 38816 a -30 38816 a
-SDict begin 16.9 H.A end
- -30 38816 a -30 38816
-a
-SDict begin [ /View [/XYZ H.V] /Dest (6077) cvn H.B /DEST pdfmark end
- -30 38816 a 3070 40351 a Fu(Note:)506 b Ft(Under)g(X,)f(the)h(list)g
-(of)f(b)-29 b(uff)-43 b(ers)506 b(is)f(also)h(a)-29 b(v)-36
-b(ailab)-29 b(le)507 b(in)f(the)g(Buff)-43 b(er)506 b(men)-14
-b(u)505 b(in)h(the)3070 42222 y(men)-14 b(u)399 b(bar)-72
-b(.)-30 46561 y
-SDict begin H.S end
- -30 46561 a -30 46561 a
-SDict begin 18.2 H.A end
- -30 46561 a -30
-46561 a
-SDict begin [ /View [/XYZ H.V] /Dest (EMACS-MODES) cvn H.B /DEST pdfmark
-end
- -30 46561 a 6125 x FL(17.3)620 b(Modes)-30 52714
-y
-SDict begin H.S end
- -30 52714 a -30 52714 a
-SDict begin 18.2 H.A end
- -30 52714 a -30 52714 a
-SDict begin [ /View [/XYZ H.V] /Dest (6080) cvn H.B /DEST pdfmark end
- -30
-52714 a -30 53829 a
-SDict begin H.S end
- -30 53829 a -30 53829 a
-SDict begin 18.2 H.A end
- -30 53829
-a -30 53829 a
-SDict begin [ /View [/XYZ H.V] /Dest (6083) cvn H.B /DEST pdfmark end
- -30 53829 a 1987 x FU(Ev)-23 b(ery)370
-b(b)-31 b(uf)-39 b(fer)370 b(in)f(Emacs)h(has)g(an)f(associated)h
-(mode.)g(This)f(mode)g(is)h(v)-23 b(ery)370 b(dif)-39
-b(ferent)369 b(from)h(the)-30 57831 y(idea)435 b(of)g(modes)f(in)10835
-57831 y
-SDict begin H.S end
- 10835 57831 a 10835 57831 a
-SDict begin 18.2 H.A end
- 10835 57831 a 10835
-57831 a
-SDict begin [ /View [/XYZ H.V] /Dest (6084) cvn H.B /DEST pdfmark end
- 10835 57831 a FP(vi)p FU(:)g(a)h(mode)f(tells)h(you)f(what)h
-(kind)f(of)h(b)-31 b(uf)-39 b(fer)435 b(you)g(are)g(in.)g(F)-23
-b(or)434 b(e)-23 b(xample,)-30 59846 y(there)392 b(is)f(te)-23
-b(xt-mode)391 b(for)g(normal)g(te)-23 b(xt)391 b(\002les,)h(b)-31
-b(ut)391 b(there)h(are)f(also)h(modes)f(such)g(as)h(c-mode)f(for)-30
-61860 y(editing)441 b(C)f(programs,)h(sh-mode)g(for)g(editing)g(shell)f
-(scripts,)h(late)-23 b(x-mode)441 b(for)g(editing)f(L)48664
-61587 y Fb(A)49215 61860 y FU(T)49904 62209 y(E)50657
-61860 y(X)-30 63875 y(\002les,)380 b(mail-mode)g(for)g(editing)g(email)
-g(and)g(ne)-39 b(ws)380 b(messages,)h(etc.)f(A)h(mode)f(pro)-23
-b(vides)379 b(special)-30 65890 y(customizations)504
-b(and)g(functionality)g(that)h(is)g(useful)f(for)h(the)g(kind)g(of)g
-(\002le)f(you)h(are)g(editing.)-30 67904 y(It)430 b(is)g(e)-39
-b(v)-23 b(en)430 b(possible)g(for)g(a)g(mode)g(to)g(rede\002ne)g(k)-15
-b(e)-23 b(ys)429 b(and)h(k)-15 b(e)-23 b(y)430 b(commands.)g(F)-23
-b(or)429 b(e)-23 b(xample,)430 b(in)p Black -30 73792
-a FR(208)p Black eop end
-%%Page: 209 231
-TeXDict begin 209 230 bop -8000 -8000 a
-SDict begin /product where{pop product(Distiller)search{pop pop pop
-version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
-closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
-grestore}if}{pop}ifelse}{pop}ifelse}if end
- -8000 -8000 a
-Black 0 TeXcolorgray -30 -1237 a
-SDict begin H.S end
- -30 -1237 a 0 TeXcolorgray
-0 TeXcolorgray -30 -1237 a
-SDict begin H.R end
- -30 -1237 a -30 -1237 a
-SDict begin [ /View [/XYZ H.V] /Dest (page.209) cvn H.B /DEST pdfmark
-end
- -30
--1237 a Black -30 -2687 a
-SDict begin H.S end
- -30 -2687 a -30 -2687 a
-SDict begin 18.2 H.A end
- -30
--2687 a -30 -2687 a
-SDict begin [ /View [/XYZ H.V] /Dest (6111) cvn H.B /DEST pdfmark end
- -30 -2687 a 40240 -1636 a FR(Chapter)386
-b(17)h(Emacs)p Black -30 3611 a FU(T)-108 b(e)-23 b(xt)349
-b(mode,)i(the)f(T)-124 b(ab)350 b(k)-15 b(e)-23 b(y)350
-b(simply)f(jumps)h(to)g(the)g(ne)-23 b(xt)350 b(tab)g(stop,)g(b)-31
-b(ut)350 b(in)g(man)-23 b(y)350 b(programming)-30 5626
-y(language)445 b(modes,)g(the)13228 5626 y
-SDict begin H.S end
- 13228 5626
-a 13228 5626 a
-SDict begin 18.2 H.A end
- 13228 5626 a 13228 5626 a
-SDict begin [ /View [/XYZ H.V] /Dest (6086) cvn H.B /DEST pdfmark end
- 13228 5626 a
-FX(T)-143 b(ab)445 b FU(k)-15 b(e)-23 b(y)444 b(indents)h(the)g
-(current)g(line)g(according)g(to)g(the)g(depth)g(of)g(the)-30
-7640 y(block)387 b(that)g(line)g(is)g(in.)-30 8431 y
-SDict begin H.S end
-
--30 8431 a -30 8431 a
-SDict begin 18.2 H.A end
- -30 8431 a -30 8431 a
-SDict begin [ /View [/XYZ H.V] /Dest (6087) cvn H.B /DEST pdfmark end
- -30 8431
-a 1999 x FU(The)495 b(modes)f(mentioned)g(abo)-23 b(v)g(e)495
-b(are)g(called)f(major)h(modes.)g(Each)g(b)-31 b(uf)-39
-b(fer)495 b(has)g(e)-23 b(xactly)494 b(one)-30 12445
-y(major)668 b(mode.)g(Additionally)-101 b(,)668 b(a)g(b)-31
-b(uf)-39 b(fer)669 b(can)g(ha)-31 b(v)-23 b(e)668 b(one)g(or)g(more)g
-(minor)g(modes.)g(A)g(mi-)-30 14459 y(nor)485 b(mode)f(pro)-23
-b(vides)484 b(additional)g(features)h(that)f(may)h(be)g(useful)f(for)h
-(certain)g(editing)f(tasks.)-30 16474 y(F)-23 b(or)480
-b(e)-23 b(xample,)480 b(if)g(you)g(hit)g(the)17398 16474
-y
-SDict begin H.S end
- 17398 16474 a 17398 16474 a
-SDict begin 18.2 H.A end
- 17398 16474 a 17398 16474
-a
-SDict begin [ /View [/XYZ H.V] /Dest (6088) cvn H.B /DEST pdfmark end
- 17398 16474 a FX(INSER)-62 b(T)479 b FU(k)-15 b(e)-23
-b(y)-101 b(,)480 b(you)g(in)-62 b(v)-31 b(ok)-15 b(e)480
-b(o)-23 b(v)g(erwrite-mode,)479 b(which)h(does)-30 18489
-y(what)452 b(you')-77 b(d)450 b(e)-23 b(xpect.)452 b(There)g(is)f(also)
-g(an)h(auto-\002ll-mode,)f(which)g(is)g(handy)h(in)f(combination)-30
-20503 y(with)432 b(te)-23 b(xt-mode)432 b(or)h(late)-23
-b(x-mode:)431 b(it)h(causes)h(each)g(line)f(that)g(you)h(type)f(to)g
-(be)h(automatically)-30 22518 y(wrapped)603 b(once)h(the)f(line)g
-(reaches)h(a)f(certain)h(number)f(of)g(characters.)h(W)-62
-b(ithout)603 b(auto-\002ll-)-30 24533 y(mode,)562 b(you)g(ha)-31
-b(v)-23 b(e)561 b(to)h(type)15681 24533 y
-SDict begin H.S end
- 15681 24533
-a 15681 24533 a
-SDict begin 18.2 H.A end
- 15681 24533 a 15681 24533 a
-SDict begin [ /View [/XYZ H.V] /Dest (6089) cvn H.B /DEST pdfmark end
- 15681 24533
-a 15681 24533 a
-SDict begin H.S end
- 15681 24533 a 15681 24533 a
-SDict begin 18.2 H.A end
- 15681 24533
-a 15681 24533 a
-SDict begin [ /View [/XYZ H.V] /Dest (6090) cvn H.B /DEST pdfmark end
- 15681 24533 a FX(M)p FU(-)17660 24533
-y
-SDict begin H.S end
- 17660 24533 a 17660 24533 a
-SDict begin 18.2 H.A end
- 17660 24533 a 17660 24533
-a
-SDict begin [ /View [/XYZ H.V] /Dest (6091) cvn H.B /DEST pdfmark end
- 17660 24533 a FX(q)g FU(to)g(\002ll)f(out)g(a)h(paragraph.)h(\(Which)
-e(you)h(can)g(also)f(use)h(to)-30 26547 y(reformat)512
-b(a)h(paragraph)f(after)h(you')-77 b(v)-23 b(e)511 b(edited)h(some)g
-(te)-23 b(xt)512 b(in)g(it)g(and)g(it)g(is)g(no)g(longer)g(nicely)-30
-28562 y(\002lled)387 b(out.\))-30 28839 y
-SDict begin H.S end
- -30 28839 a
--30 28839 a
-SDict begin 18.2 H.A end
- -30 28839 a -30 28839 a
-SDict begin [ /View [/XYZ H.V] /Dest (EMACS-OPENING-FILES) cvn H.B
-/DEST pdfmark end
- -30 28839 a 5085
-x FG(Opening)518 b(\002les)-30 35268 y
-SDict begin H.S end
- -30 35268 a -30
-35268 a
-SDict begin 18.2 H.A end
- -30 35268 a -30 35268 a
-SDict begin [ /View [/XYZ H.V] /Dest (6094) cvn H.B /DEST pdfmark end
- -30 35268 a 1601 x FU(T)-124
-b(o)387 b(open)g(a)h(\002le)f(in)g(Emacs,)h(type)-30
-38754 y
-SDict begin H.S end
- -30 38754 a -30 38754 a
-SDict begin 14.56 H.A end
- -30 38754 a -30 38754
-a
-SDict begin [ /View [/XYZ H.V] /Dest (6095) cvn H.B /DEST pdfmark end
- -30 38754 a -30 38754 a
-SDict begin H.S end
- -30 38754 a -30 38754 a
-SDict begin 14.56 H.A end
- -30
-38754 a -30 38754 a
-SDict begin [ /View [/XYZ H.V] /Dest (6096) cvn H.B /DEST pdfmark end
- -30 38754 a 1276 x FH(C-x)744 b(C-f)-30
-41605 y
-SDict begin H.S end
- -30 41605 a -30 41605 a
-SDict begin 18.2 H.A end
- -30 41605 a -30 41605
-a
-SDict begin [ /View [/XYZ H.V] /Dest (6097) cvn H.B /DEST pdfmark end
- -30 41605 a 1990 x FU(Emacs)562 b(will)f(ask)h(you)g(for)g(the)g
-(name)f(of)h(the)g(\002le,)g(\002lling)f(in)h(some)f(def)-15
-b(ault)561 b(path)h(for)g(you)-30 45609 y(\(which)519
-b(is)f(usually)11342 45609 y
-SDict begin H.S end
- 11342 45609 a 11342 45609
-a
-SDict begin 18.2 H.A end
- 11342 45609 a 11342 45609 a
-SDict begin [ /View [/XYZ H.V] /Dest (6098) cvn H.B /DEST pdfmark end
- 11342 45609 a FQ(~/)f FU(\).)j(After)f
-(you)f(type)h(the)g(\002lename)f(\(you)h(can)g(use)41239
-45609 y
-SDict begin H.S end
- 41239 45609 a 41239 45609 a
-SDict begin 18.2 H.A end
- 41239 45609 a 41239
-45609 a
-SDict begin [ /View [/XYZ H.V] /Dest (6099) cvn H.B /DEST pdfmark end
- 41239 45609 a FX(T)-143 b(ab)519 b FU(completion\))-30
-47624 y(and)371 b(hit)4588 47624 y
-SDict begin H.S end
- 4588 47624 a 4588
-47624 a
-SDict begin 18.2 H.A end
- 4588 47624 a 4588 47624 a
-SDict begin [ /View [/XYZ H.V] /Dest (6100) cvn H.B /DEST pdfmark end
- 4588 47624 a FX(ENTER)f
-FU(,)i(Emacs)f(will)g(open)g(the)h(\002le)f(in)g(a)h(ne)-39
-b(w)371 b(b)-31 b(uf)-39 b(fer)372 b(and)f(display)g(that)g(b)-31
-b(uf)-39 b(fer)372 b(on)-30 49639 y(the)387 b(screen.)-30
-49654 y
-SDict begin H.S end
- -30 49654 a -30 49654 a
-SDict begin 16.9 H.A end
- -30 49654 a -30 49654
-a
-SDict begin [ /View [/XYZ H.V] /Dest (6101) cvn H.B /DEST pdfmark end
- -30 49654 a -30 51979 a
-SDict begin H.S end
- -30 51979 a -30 51979 a
-SDict begin 16.9 H.A end
- -30
-51979 a -30 51979 a
-SDict begin [ /View [/XYZ H.V] /Dest (6102) cvn H.B /DEST pdfmark end
- -30 51979 a 3070 53834 a Fu(Note:)379
-b Ft(Emacs)e(will)i(automatically)g(create)g(a)f(ne)-29
-b(w)379 b(b)-29 b(uff)-43 b(er)-72 b(,)379 b(it)g(will)h(not)e(load)h
-(the)g(\002le)f(into)3070 55705 y(the)400 b(current)g(b)-29
-b(uff)-43 b(er)-72 b(.)-30 60044 y
-SDict begin H.S end
- -30 60044 a -30 60044
-a
-SDict begin 18.2 H.A end
- -30 60044 a -30 60044 a
-SDict begin [ /View [/XYZ H.V] /Dest (6103) cvn H.B /DEST pdfmark end
- -30 60044 a 2015 x FU(In)359
-b(order)g(to)f(create)h(a)g(ne)-39 b(w)359 b(\002le)g(in)f(emacs,)h
-(you)g(cannot)f(just)h(go)f(typing)g(right)h(a)-23 b(w)-15
-b(ay)-101 b(.)358 b(Y)-170 b(ou)358 b(\002rst)-30 64073
-y(ha)-31 b(v)-23 b(e)336 b(to)g(create)g(a)g(b)-31 b(uf)-39
-b(fer)336 b(for)g(it,)g(and)g(come)g(up)g(with)f(a)h(\002lename.)g(Y)
--170 b(ou)335 b(do)h(this)f(by)h(typing)49366 64073 y
-SDict begin H.S end
-
-49366 64073 a 49366 64073 a
-SDict begin 18.2 H.A end
- 49366 64073 a 49366 64073
-a
-SDict begin [ /View [/XYZ H.V] /Dest (6104) cvn H.B /DEST pdfmark end
- 49366 64073 a 49366 64073 a
-SDict begin H.S end
- 49366 64073 a 49366 64073
-a
-SDict begin 18.2 H.A end
- 49366 64073 a 49366 64073 a
-SDict begin [ /View [/XYZ H.V] /Dest (6105) cvn H.B /DEST pdfmark end
- 49366 64073 a FX(C)p FU(-)51001
-64073 y
-SDict begin H.S end
- 51001 64073 a 51001 64073 a
-SDict begin 18.2 H.A end
- 51001 64073 a 51001
-64073 a
-SDict begin [ /View [/XYZ H.V] /Dest (6106) cvn H.B /DEST pdfmark end
- 51001 64073 a FX(x)-30 66088 y
-SDict begin H.S end
- -30 66088 a -30
-66088 a
-SDict begin 18.2 H.A end
- -30 66088 a -30 66088 a
-SDict begin [ /View [/XYZ H.V] /Dest (6107) cvn H.B /DEST pdfmark end
- -30 66088 a -30 66088
-a
-SDict begin H.S end
- -30 66088 a -30 66088 a
-SDict begin 18.2 H.A end
- -30 66088 a -30 66088 a
-SDict begin [ /View [/XYZ H.V] /Dest (6108) cvn H.B /DEST pdfmark end
- -30
-66088 a FX(C)p FU(-)1605 66088 y
-SDict begin H.S end
- 1605 66088 a 1605 66088
-a
-SDict begin 18.2 H.A end
- 1605 66088 a 1605 66088 a
-SDict begin [ /View [/XYZ H.V] /Dest (6109) cvn H.B /DEST pdfmark end
- 1605 66088 a FX(f)465 b FU(and)g(typing)g
-(a)g(\002lename,)g(just)g(as)g(if)g(you)g(were)g(opening)f(an)i(e)-23
-b(xisting)464 b(\002le.)h(Emacs)f(will)p Black 49451
-73792 a FR(209)p Black eop end
-%%Page: 210 232
-TeXDict begin 210 231 bop -8000 -8000 a
-SDict begin /product where{pop product(Distiller)search{pop pop pop
-version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
-closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
-grestore}if}{pop}ifelse}{pop}ifelse}if end
- -8000 -8000 a
-Black 0 TeXcolorgray -30 -1237 a
-SDict begin H.S end
- -30 -1237 a 0 TeXcolorgray
-0 TeXcolorgray -30 -1237 a
-SDict begin H.R end
- -30 -1237 a -30 -1237 a
-SDict begin [ /View [/XYZ H.V] /Dest (page.210) cvn H.B /DEST pdfmark
-end
- -30
--1237 a Black -399 x FR(Chapter)387 b(17)g(Emacs)p Black
--30 3611 a FU(notice)466 b(that)f(the)h(\002le)g(you)f(typed)h(doesn')
--28 b(t)465 b(e)-23 b(xist,)466 b(and)g(will)f(create)i(a)f(ne)-39
-b(w)466 b(b)-31 b(uf)-39 b(fer)466 b(and)g(report)-30
-5626 y
-SDict begin H.S end
- -30 5626 a -30 5626 a
-SDict begin 18.2 H.A end
- -30 5626 a -30 5626 a
-SDict begin [ /View [/XYZ H.V] /Dest (6110) cvn H.B /DEST pdfmark end
- -30
-5626 a FU(\223\(Ne)-39 b(w)388 b(\002le\)\224)f(in)g(the)g(minib)-31
-b(uf)-39 b(fer)-85 b(.)-30 8415 y(When)312 b(you)g(type)f
-FX(C)p FU(-)11235 8415 y
-SDict begin H.S end
- 11235 8415 a 11235 8415 a
-SDict begin 18.2 H.A end
- 11235
-8415 a 11235 8415 a
-SDict begin [ /View [/XYZ H.V] /Dest (6114) cvn H.B /DEST pdfmark end
- 11235 8415 a FX(x)12322 8415 y
-SDict begin H.S end
- 12322
-8415 a 12322 8415 a
-SDict begin 18.2 H.A end
- 12322 8415 a 12322 8415 a
-SDict begin [ /View [/XYZ H.V] /Dest (6115) cvn H.B /DEST pdfmark end
- 12322 8415
-a 12322 8415 a
-SDict begin H.S end
- 12322 8415 a 12322 8415 a
-SDict begin 18.2 H.A end
- 12322 8415 a
-12322 8415 a
-SDict begin [ /View [/XYZ H.V] /Dest (6116) cvn H.B /DEST pdfmark end
- 12322 8415 a FX(C)p FU(-)13957 8415 y
-SDict begin H.S end
- 13957
-8415 a 13957 8415 a
-SDict begin 18.2 H.A end
- 13957 8415 a 13957 8415 a
-SDict begin [ /View [/XYZ H.V] /Dest (6117) cvn H.B /DEST pdfmark end
- 13957 8415
-a FX(f)i FU(and)e(then)h(enter)g(a)g(directory)g(name)g(instead)f(of)h
-(a)g(\002lename,)g(Emacs)-30 10430 y(will)405 b(create)g(a)g(ne)-39
-b(w)406 b(b)-31 b(uf)-39 b(fer)405 b(in)g(which)g(you)g(will)g(\002nd)f
-(a)i(list)e(of)h(all)g(the)g(\002les)g(in)g(that)g(directory)-101
-b(.)-30 12445 y(Y)-170 b(ou)319 b(can)h(mo)-23 b(v)g(e)318
-b(the)i(cursor)f(to)h(the)f(\002le)g(that)g(you)h(are)g(looking)e(for)i
-(and)f(type)h(,)g(and)f(Emacs)g(will)-30 14459 y(open)379
-b(it.)h(\(There)g(are)g(in)f(f)-15 b(act)379 b(a)h(lot)f(more)h
-(actions)f(you)g(can)h(perform)f(here,)h(such)g(as)f(deleting,)-30
-16474 y(renaming)483 b(and)g(mo)-23 b(ving)483 b(\002les,)g(etc.)h
-(Emacs)f(is)g(no)-39 b(w)483 b(in)h(dired-mode,)f(which)g(is)g
-(basically)g(a)-30 18489 y(simple)387 b(\002le)g(manager)-85
-b(.\))-30 19599 y
-SDict begin H.S end
- -30 19599 a -30 19599 a
-SDict begin 18.2 H.A end
- -30 19599 a
--30 19599 a
-SDict begin [ /View [/XYZ H.V] /Dest (6118) cvn H.B /DEST pdfmark end
- -30 19599 a 1679 x FU(When)367 b(you)g(ha)-31
-b(v)-23 b(e)367 b(typed)13779 21278 y
-SDict begin H.S end
- 13779 21278 a 13779
-21278 a
-SDict begin 18.2 H.A end
- 13779 21278 a 13779 21278 a
-SDict begin [ /View [/XYZ H.V] /Dest (6119) cvn H.B /DEST pdfmark end
- 13779 21278 a 13779
-21278 a
-SDict begin H.S end
- 13779 21278 a 13779 21278 a
-SDict begin 18.2 H.A end
- 13779 21278 a 13779
-21278 a
-SDict begin [ /View [/XYZ H.V] /Dest (6120) cvn H.B /DEST pdfmark end
- 13779 21278 a FX(C)p FU(-)15414 21278 y
-SDict begin H.S end
- 15414
-21278 a 15414 21278 a
-SDict begin 18.2 H.A end
- 15414 21278 a 15414 21278 a
-SDict begin [ /View [/XYZ H.V] /Dest (6121) cvn H.B /DEST pdfmark end
- 15414
-21278 a FX(x)16556 21278 y
-SDict begin H.S end
- 16556 21278 a 16556 21278
-a
-SDict begin 18.2 H.A end
- 16556 21278 a 16556 21278 a
-SDict begin [ /View [/XYZ H.V] /Dest (6122) cvn H.B /DEST pdfmark end
- 16556 21278 a 16556 21278
-a
-SDict begin H.S end
- 16556 21278 a 16556 21278 a
-SDict begin 18.2 H.A end
- 16556 21278 a 16556 21278
-a
-SDict begin [ /View [/XYZ H.V] /Dest (6123) cvn H.B /DEST pdfmark end
- 16556 21278 a FX(C)p FU(-)18191 21278 y
-SDict begin H.S end
- 18191 21278
-a 18191 21278 a
-SDict begin 18.2 H.A end
- 18191 21278 a 18191 21278 a
-SDict begin [ /View [/XYZ H.V] /Dest (6124) cvn H.B /DEST pdfmark end
- 18191 21278
-a FX(f)h FU(and)e(suddenly)h(change)g(your)g(mind,)f(you)h(can)g(type)
-47793 21278 y
-SDict begin H.S end
- 47793 21278 a 47793 21278 a
-SDict begin 18.2 H.A end
- 47793 21278
-a 47793 21278 a
-SDict begin [ /View [/XYZ H.V] /Dest (6125) cvn H.B /DEST pdfmark end
- 47793 21278 a 47793 21278 a
-SDict begin H.S end
- 47793 21278
-a 47793 21278 a
-SDict begin 18.2 H.A end
- 47793 21278 a 47793 21278 a
-SDict begin [ /View [/XYZ H.V] /Dest (6126) cvn H.B /DEST pdfmark end
- 47793 21278
-a FX(C)p FU(-)49428 21278 y
-SDict begin H.S end
- 49428 21278 a 49428 21278
-a
-SDict begin 18.2 H.A end
- 49428 21278 a 49428 21278 a
-SDict begin [ /View [/XYZ H.V] /Dest (6127) cvn H.B /DEST pdfmark end
- 49428 21278 a FX(g)g FU(to)-30
-23293 y(cancel)g(the)h(action.)11099 23293 y
-SDict begin H.S end
- 11099 23293
-a 11099 23293 a
-SDict begin 18.2 H.A end
- 11099 23293 a 11099 23293 a
-SDict begin [ /View [/XYZ H.V] /Dest (6128) cvn H.B /DEST pdfmark end
- 11099 23293
-a 11099 23293 a
-SDict begin H.S end
- 11099 23293 a 11099 23293 a
-SDict begin 18.2 H.A end
- 11099 23293
-a 11099 23293 a
-SDict begin [ /View [/XYZ H.V] /Dest (6129) cvn H.B /DEST pdfmark end
- 11099 23293 a FX(C)p FU(-)12734 23293
-y
-SDict begin H.S end
- 12734 23293 a 12734 23293 a
-SDict begin 18.2 H.A end
- 12734 23293 a 12734 23293
-a
-SDict begin [ /View [/XYZ H.V] /Dest (6130) cvn H.B /DEST pdfmark end
- 12734 23293 a FX(g)f FU(w)-15 b(orks)367 b(almost)f(e)-39
-b(v)-23 b(erywhere)368 b(where)f(you)g(w)-15 b(ant)367
-b(to)g(cancel)g(an)g(action)-30 25308 y(or)387 b(command)g(that)g(you')
--77 b(v)-23 b(e)386 b(started)h(b)-31 b(ut)387 b(don')-28
-b(t)387 b(w)-15 b(ant)387 b(to)g(\002nish.)-30 27968
-y
-SDict begin H.S end
- -30 27968 a -30 27968 a
-SDict begin 18.2 H.A end
- -30 27968 a -30 27968 a
-SDict begin [ /View [/XYZ H.V] /Dest (EMACS-BASIC-EDITING) cvn H.B
-/DEST pdfmark end
- -30
-27968 a 5789 x FL(17.4)620 b(Basic)g(Editing)-30 34253
-y
-SDict begin H.S end
- -30 34253 a -30 34253 a
-SDict begin 18.2 H.A end
- -30 34253 a -30 34253 a
-SDict begin [ /View [/XYZ H.V] /Dest (6133) cvn H.B /DEST pdfmark end
- -30
-34253 a -30 35369 a
-SDict begin H.S end
- -30 35369 a -30 35369 a
-SDict begin 18.2 H.A end
- -30 35369
-a -30 35369 a
-SDict begin [ /View [/XYZ H.V] /Dest (6136) cvn H.B /DEST pdfmark end
- -30 35369 a 1518 x FU(When)436 b(you)f(ha)-31
-b(v)-23 b(e)436 b(opened)f(a)h(\002le,)g(you)f(can)h(of)g(course)g(mo)
--23 b(v)g(e)435 b(around)g(in)h(it)f(with)g(the)h(cursor)-85
-b(.)-30 38902 y(The)2830 38902 y
-SDict begin H.S end
- 2830 38902 a 2830 38902
-a
-SDict begin 18.2 H.A end
- 2830 38902 a 2830 38902 a
-SDict begin [ /View [/XYZ H.V] /Dest (6137) cvn H.B /DEST pdfmark end
- 2830 38902 a FX(cursor)449
-b(k)-15 b(eys)448 b FU(and)13632 38902 y
-SDict begin H.S end
- 13632 38902
-a 13632 38902 a
-SDict begin 18.2 H.A end
- 13632 38902 a 13632 38902 a
-SDict begin [ /View [/XYZ H.V] /Dest (6138) cvn H.B /DEST pdfmark end
- 13632 38902
-a FX(PgUp)p FU(,)18171 38902 y
-SDict begin H.S end
- 18171 38902 a 18171 38902
-a
-SDict begin 18.2 H.A end
- 18171 38902 a 18171 38902 a
-SDict begin [ /View [/XYZ H.V] /Dest (6139) cvn H.B /DEST pdfmark end
- 18171 38902 a FX(PgDn)h
-FU(do)g(what)h(you')-77 b(d)448 b(e)-23 b(xpect.)36631
-38902 y
-SDict begin H.S end
- 36631 38902 a 36631 38902 a
-SDict begin 18.2 H.A end
- 36631 38902 a 36631
-38902 a
-SDict begin [ /View [/XYZ H.V] /Dest (6140) cvn H.B /DEST pdfmark end
- 36631 38902 a FX(Home)449 b FU(and)43728 38902
-y
-SDict begin H.S end
- 43728 38902 a 43728 38902 a
-SDict begin 18.2 H.A end
- 43728 38902 a 43728 38902
-a
-SDict begin [ /View [/XYZ H.V] /Dest (6141) cvn H.B /DEST pdfmark end
- 43728 38902 a FX(End)f FU(jump)h(to)-30 40917 y(the)343
-b(be)-23 b(ginning)342 b(and)h(end)g(of)g(the)f(line.)i(\(In)f(older)f
-(v)-23 b(ersions,)343 b(the)-23 b(y)342 b(w)-15 b(ould)342
-b(actually)h(jump)f(to)h(the)-30 42931 y(be)-23 b(ginning)470
-b(and)i(end)f(of)g(the)g(b)-31 b(uf)-39 b(fer)-85 b(.\))472
-b(Ho)-39 b(we)g(v)-23 b(er)-62 b(,)472 b(there)g(are)f(also)36446
-42931 y
-SDict begin H.S end
- 36446 42931 a 36446 42931 a
-SDict begin 18.2 H.A end
- 36446 42931 a 36446
-42931 a
-SDict begin [ /View [/XYZ H.V] /Dest (6142) cvn H.B /DEST pdfmark end
- 36446 42931 a FX(Contr)-28 b(ol)471 b FU(and)44765
-42931 y
-SDict begin H.S end
- 44765 42931 a 44765 42931 a
-SDict begin 18.2 H.A end
- 44765 42931 a 44765
-42931 a
-SDict begin [ /View [/XYZ H.V] /Dest (6143) cvn H.B /DEST pdfmark end
- 44765 42931 a FX(Meta)g FU(\()49194 42931 y
-SDict begin H.S end
- 49194
-42931 a 49194 42931 a
-SDict begin 18.2 H.A end
- 49194 42931 a 49194 42931 a
-SDict begin [ /View [/XYZ H.V] /Dest (6144) cvn H.B /DEST pdfmark end
- 49194
-42931 a FX(Alt)p FU(\))-30 44946 y(k)-15 b(e)-23 b(y)515
-b(combos)g(that)g(mo)-23 b(v)g(e)514 b(the)i(cursor)f(around.)h
-(Because)f(you)g(do)h(not)f(need)g(to)h(mo)-23 b(v)g(e)514
-b(your)-30 46961 y(hands)391 b(to)h(another)g(part)f(of)h(the)g(k)-15
-b(e)-23 b(yboard)390 b(for)i(these,)g(the)-23 b(y)391
-b(are)h(much)g(quick)-15 b(er)391 b(once)h(you)f(get)-30
-48975 y(used)c(to)g(them.)h(The)f(most)g(important)f(such)h(commands)f
-(are)i(listed)f(in)p 0 TeXcolorgray 39228 48975 a
-SDict begin H.S end
- 39228
-48975 a FU(T)-124 b(able)387 b(17-1)45861 48975 y
-SDict begin 18.2 H.L end
- 45861
-48975 a 45861 48975 a
-SDict begin [ /Subtype /Link /Dest (TABLE-EMACS-BASIC-EDITING) cvn
-/H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 45861 48975 a Black FU(.)-30 49311
-y
-SDict begin H.S end
- -30 49311 a -30 49311 a
-SDict begin 18.2 H.A end
- -30 49311 a -30 49311 a
-SDict begin [ /View [/XYZ H.V] /Dest (6146) cvn H.B /DEST pdfmark end
- -30
-49311 a -30 49311 a
-SDict begin H.S end
- -30 49311 a -30 49311 a
-SDict begin 18.2 H.A end
- -30 49311
-a -30 49311 a
-SDict begin [ /View [/XYZ H.V] /Dest (TABLE-EMACS-BASIC-EDITING) cvn
-H.B /DEST pdfmark end
- -30 49311 a -30 49311 a
-SDict begin H.S end
- -30 49311 a -30
-49311 a
-SDict begin 18.2 H.A end
- -30 49311 a -30 49311 a
-SDict begin [ /View [/XYZ H.V] /Dest (6295) cvn H.B /DEST pdfmark end
- -30 49311 a -30 50860
-a
-SDict begin H.S end
- -30 50860 a -30 50860 a
-SDict begin 18.2 H.A end
- -30 50860 a -30 50860 a
-SDict begin [ /View [/XYZ H.V] /Dest (6297) cvn H.B /DEST pdfmark end
- -30
-50860 a 1680 x FU(Note)421 b(that)g(man)-23 b(y)9991
-52540 y
-SDict begin H.S end
- 9991 52540 a 9991 52540 a
-SDict begin 18.2 H.A end
- 9991 52540 a 9991 52540
-a
-SDict begin [ /View [/XYZ H.V] /Dest (6298) cvn H.B /DEST pdfmark end
- 9991 52540 a FX(Meta)421 b FU(commands)f(are)i(parallel)e(to)h(the)
-32314 52540 y
-SDict begin H.S end
- 32314 52540 a 32314 52540 a
-SDict begin 18.2 H.A end
- 32314 52540
-a 32314 52540 a
-SDict begin [ /View [/XYZ H.V] /Dest (6299) cvn H.B /DEST pdfmark end
- 32314 52540 a FX(Contr)-28 b(ol)420 b
-FU(commands)h(e)-23 b(xcept)420 b(that)-30 54554 y(the)-23
-b(y)325 b(operate)g(on)g(lar)-28 b(ger)325 b(units:)f(while)21152
-54554 y
-SDict begin H.S end
- 21152 54554 a 21152 54554 a
-SDict begin 18.2 H.A end
- 21152 54554 a 21152
-54554 a
-SDict begin [ /View [/XYZ H.V] /Dest (6300) cvn H.B /DEST pdfmark end
- 21152 54554 a 21152 54554 a
-SDict begin H.S end
- 21152 54554 a 21152
-54554 a
-SDict begin 18.2 H.A end
- 21152 54554 a 21152 54554 a
-SDict begin [ /View [/XYZ H.V] /Dest (6301) cvn H.B /DEST pdfmark end
- 21152 54554 a FX(C)p
-FU(-)22787 54554 y
-SDict begin H.S end
- 22787 54554 a 22787 54554 a
-SDict begin 18.2 H.A end
- 22787
-54554 a 22787 54554 a
-SDict begin [ /View [/XYZ H.V] /Dest (6302) cvn H.B /DEST pdfmark end
- 22787 54554 a FX(f)h FU(goes)g(forw)-15
-b(ard)324 b(one)h(character)-62 b(,)40900 54554 y
-SDict begin H.S end
- 40900
-54554 a 40900 54554 a
-SDict begin 18.2 H.A end
- 40900 54554 a 40900 54554 a
-SDict begin [ /View [/XYZ H.V] /Dest (6303) cvn H.B /DEST pdfmark end
- 40900
-54554 a 40900 54554 a
-SDict begin H.S end
- 40900 54554 a 40900 54554 a
-SDict begin 18.2 H.A end
- 40900
-54554 a 40900 54554 a
-SDict begin [ /View [/XYZ H.V] /Dest (6304) cvn H.B /DEST pdfmark end
- 40900 54554 a FX(M)p FU(-)42879
-54554 y
-SDict begin H.S end
- 42879 54554 a 42879 54554 a
-SDict begin 18.2 H.A end
- 42879 54554 a 42879
-54554 a
-SDict begin [ /View [/XYZ H.V] /Dest (6305) cvn H.B /DEST pdfmark end
- 42879 54554 a FX(f)326 b FU(goes)e(forw)-15 b(ard)-30
-56569 y(an)387 b(entire)h(w)-15 b(ord,)387 b(etc.)-30
-57568 y
-SDict begin H.S end
- -30 57568 a -30 57568 a
-SDict begin 18.2 H.A end
- -30 57568 a -30 57568
-a
-SDict begin [ /View [/XYZ H.V] /Dest (6306) cvn H.B /DEST pdfmark end
- -30 57568 a 1790 x FU(Also)965 b(note)f(that)10786
-59358 y
-SDict begin H.S end
- 10786 59358 a 10786 59358 a
-SDict begin 18.2 H.A end
- 10786 59358 a 10786
-59358 a
-SDict begin [ /View [/XYZ H.V] /Dest (6307) cvn H.B /DEST pdfmark end
- 10786 59358 a 10786 59358 a
-SDict begin H.S end
- 10786 59358 a 10786
-59358 a
-SDict begin 18.2 H.A end
- 10786 59358 a 10786 59358 a
-SDict begin [ /View [/XYZ H.V] /Dest (6308) cvn H.B /DEST pdfmark end
- 10786 59358 a FX(M)p
-FU(-)12765 59358 y
-SDict begin H.S end
- 12765 59358 a 12765 59358 a
-SDict begin 18.2 H.A end
- 12765
-59358 a 12765 59358 a
-SDict begin [ /View [/XYZ H.V] /Dest (6309) cvn H.B /DEST pdfmark end
- 12765 59358 a Fl(<)h FU(and)18147
-59358 y
-SDict begin H.S end
- 18147 59358 a 18147 59358 a
-SDict begin 18.2 H.A end
- 18147 59358 a 18147
-59358 a
-SDict begin [ /View [/XYZ H.V] /Dest (6310) cvn H.B /DEST pdfmark end
- 18147 59358 a 18147 59358 a
-SDict begin H.S end
- 18147 59358 a 18147
-59358 a
-SDict begin 18.2 H.A end
- 18147 59358 a 18147 59358 a
-SDict begin [ /View [/XYZ H.V] /Dest (6311) cvn H.B /DEST pdfmark end
- 18147 59358 a FX(M)p
-FU(-)20126 59358 y
-SDict begin H.S end
- 20126 59358 a 20126 59358 a
-SDict begin 18.2 H.A end
- 20126
-59358 a 20126 59358 a
-SDict begin [ /View [/XYZ H.V] /Dest (6312) cvn H.B /DEST pdfmark end
- 20126 59358 a Fl(>)g FU(require)g(you)g(to)f
-(type)36753 59358 y
-SDict begin H.S end
- 36753 59358 a 36753 59358 a
-SDict begin 18.2 H.A end
- 36753
-59358 a 36753 59358 a
-SDict begin [ /View [/XYZ H.V] /Dest (6313) cvn H.B /DEST pdfmark end
- 36753 59358 a 36753 59358 a
-SDict begin H.S end
- 36753
-59358 a 36753 59358 a
-SDict begin 18.2 H.A end
- 36753 59358 a 36753 59358 a
-SDict begin [ /View [/XYZ H.V] /Dest (6314) cvn H.B /DEST pdfmark end
- 36753
-59358 a FX(Shift)p FU(+)40814 59358 y
-SDict begin H.S end
- 40814 59358 a 40814
-59358 a
-SDict begin 18.2 H.A end
- 40814 59358 a 40814 59358 a
-SDict begin [ /View [/XYZ H.V] /Dest (6315) cvn H.B /DEST pdfmark end
- 40814 59358 a FX(Alt)p
-FU(+)43754 59358 y
-SDict begin H.S end
- 43754 59358 a 43754 59358 a
-SDict begin 18.2 H.A end
- 43754
-59358 a 43754 59358 a
-SDict begin [ /View [/XYZ H.V] /Dest (6316) cvn H.B /DEST pdfmark end
- 43754 59358 a FX(comma)g FU(and)-30
-61373 y
-SDict begin H.S end
- -30 61373 a -30 61373 a
-SDict begin 18.2 H.A end
- -30 61373 a -30 61373
-a
-SDict begin [ /View [/XYZ H.V] /Dest (6317) cvn H.B /DEST pdfmark end
- -30 61373 a -30 61373 a
-SDict begin H.S end
- -30 61373 a -30 61373 a
-SDict begin 18.2 H.A end
- -30
-61373 a -30 61373 a
-SDict begin [ /View [/XYZ H.V] /Dest (6318) cvn H.B /DEST pdfmark end
- -30 61373 a FX(Shift)p FU(+)4031
-61373 y
-SDict begin H.S end
- 4031 61373 a 4031 61373 a
-SDict begin 18.2 H.A end
- 4031 61373 a 4031 61373
-a
-SDict begin [ /View [/XYZ H.V] /Dest (6319) cvn H.B /DEST pdfmark end
- 4031 61373 a FX(Alt)p FU(+)6971 61373 y
-SDict begin H.S end
- 6971 61373
-a 6971 61373 a
-SDict begin 18.2 H.A end
- 6971 61373 a 6971 61373 a
-SDict begin [ /View [/XYZ H.V] /Dest (6320) cvn H.B /DEST pdfmark end
- 6971 61373 a
-FX(dot)592 b FU(respecti)-39 b(v)-23 b(ely)-101 b(,)593
-b(since)21799 61373 y
-SDict begin H.S end
- 21799 61373 a 21799 61373 a
-SDict begin 18.2 H.A end
- 21799
-61373 a 21799 61373 a
-SDict begin [ /View [/XYZ H.V] /Dest (6321) cvn H.B /DEST pdfmark end
- 21799 61373 a Fl(<)g FU(and)26437
-61373 y
-SDict begin H.S end
- 26437 61373 a 26437 61373 a
-SDict begin 18.2 H.A end
- 26437 61373 a 26437
-61373 a
-SDict begin [ /View [/XYZ H.V] /Dest (6322) cvn H.B /DEST pdfmark end
- 26437 61373 a Fl(>)g FU(are)g(on)32872 61373
-y
-SDict begin H.S end
- 32872 61373 a 32872 61373 a
-SDict begin 18.2 H.A end
- 32872 61373 a 32872 61373
-a
-SDict begin [ /View [/XYZ H.V] /Dest (6323) cvn H.B /DEST pdfmark end
- 32872 61373 a 32872 61373 a
-SDict begin H.S end
- 32872 61373 a 32872 61373
-a
-SDict begin 18.2 H.A end
- 32872 61373 a 32872 61373 a
-SDict begin [ /View [/XYZ H.V] /Dest (6324) cvn H.B /DEST pdfmark end
- 32872 61373 a FX(Shift)p
-FU(+)36933 61373 y
-SDict begin H.S end
- 36933 61373 a 36933 61373 a
-SDict begin 18.2 H.A end
- 36933
-61373 a 36933 61373 a
-SDict begin [ /View [/XYZ H.V] /Dest (6325) cvn H.B /DEST pdfmark end
- 36933 61373 a FX(comma)f FU(and)45176
-61373 y
-SDict begin H.S end
- 45176 61373 a 45176 61373 a
-SDict begin 18.2 H.A end
- 45176 61373 a 45176
-61373 a
-SDict begin [ /View [/XYZ H.V] /Dest (6326) cvn H.B /DEST pdfmark end
- 45176 61373 a 45176 61373 a
-SDict begin H.S end
- 45176 61373 a 45176
-61373 a
-SDict begin 18.2 H.A end
- 45176 61373 a 45176 61373 a
-SDict begin [ /View [/XYZ H.V] /Dest (6327) cvn H.B /DEST pdfmark end
- 45176 61373 a FX(Shift)p
-FU(+)49237 61373 y
-SDict begin H.S end
- 49237 61373 a 49237 61373 a
-SDict begin 18.2 H.A end
- 49237
-61373 a 49237 61373 a
-SDict begin [ /View [/XYZ H.V] /Dest (6328) cvn H.B /DEST pdfmark end
- 49237 61373 a FX(dot)p FU(.)-30
-63388 y(\(Unless)734 b(of)h(course)f(you)g(ha)-31 b(v)-23
-b(e)734 b(a)h(dif)-39 b(ferent)734 b(k)-15 b(e)-23 b(yboard)734
-b(layout)g(from)g(the)g(standard)g(US)-30 65402 y(layout.\))-30
-66513 y
-SDict begin H.S end
- -30 66513 a -30 66513 a
-SDict begin 18.2 H.A end
- -30 66513 a -30 66513
-a
-SDict begin [ /View [/XYZ H.V] /Dest (6329) cvn H.B /DEST pdfmark end
- -30 66513 a 1679 x FU(Note)406 b(that)6121 68192 y
-SDict begin H.S end
-
-6121 68192 a 6121 68192 a
-SDict begin 18.2 H.A end
- 6121 68192 a 6121 68192 a
-SDict begin [ /View [/XYZ H.V] /Dest (6330) cvn H.B /DEST pdfmark end
- 6121
-68192 a 6121 68192 a
-SDict begin H.S end
- 6121 68192 a 6121 68192 a
-SDict begin 18.2 H.A end
- 6121 68192
-a 6121 68192 a
-SDict begin [ /View [/XYZ H.V] /Dest (6331) cvn H.B /DEST pdfmark end
- 6121 68192 a FX(C)p FU(-)7756 68192 y
-SDict begin H.S end
-
-7756 68192 a 7756 68192 a
-SDict begin 18.2 H.A end
- 7756 68192 a 7756 68192 a
-SDict begin [ /View [/XYZ H.V] /Dest (6332) cvn H.B /DEST pdfmark end
- 7756
-68192 a FX(k)g FU(deletes)g(\(kills,)g(as)h(it)f(is)g(commonly)g
-(called\))g(all)g(the)h(te)-23 b(xt)406 b(after)g(the)h(cursor)f(to)p
-Black -30 73792 a FR(210)p Black eop end
-%%Page: 211 233
-TeXDict begin 211 232 bop -8000 -8000 a
-SDict begin /product where{pop product(Distiller)search{pop pop pop
-version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
-closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
-grestore}if}{pop}ifelse}{pop}ifelse}if end
- -8000 -8000 a
-Black 0 TeXcolorgray -30 -1237 a
-SDict begin H.S end
- -30 -1237 a 0 TeXcolorgray
-0 TeXcolorgray -30 -1237 a
-SDict begin H.R end
- -30 -1237 a -30 -1237 a
-SDict begin [ /View [/XYZ H.V] /Dest (page.211) cvn H.B /DEST pdfmark
-end
- -30
--1237 a Black 40240 -1636 a FR(Chapter)386 b(17)h(Emacs)p
-Black Black -30 10352 a FX(T)-143 b(able)387 b(17-1.)h(Basic)e(Emacs)h
-(Editing)f(Commands)-30 12217 y
-SDict begin H.S end
- -30 12217 a -30 12217
-a
-SDict begin 18.2 H.A end
- -30 12217 a -30 12217 a
-SDict begin [ /View [/XYZ H.V] /Dest (6151) cvn H.B /DEST pdfmark end
- -30 12217 a -30 12217 a
-SDict begin H.S end
- -30
-12217 a -30 12217 a
-SDict begin 18.2 H.A end
- -30 12217 a -30 12217 a
-SDict begin [ /View [/XYZ H.V] /Dest (table.17) cvn H.B /DEST pdfmark
-end
- -30 12217
-a 1761 x FE(Command)5374 b(Result)p -30 14354 51806 45
-v -30 14354 V 358 16115 a FX(C)p FU(-)p FX(b)10067 b
-FU(go)387 b(one)g(character)h(back)358 18211 y FX(C)p
-FU(-)p FX(f)10413 b FU(go)387 b(one)g(character)h(forw)-15
-b(ard)358 20308 y FX(C)p FU(-)p FX(n)10067 b FU(go)387
-b(one)g(line)g(do)-39 b(wn)358 22404 y FX(C)p FU(-)p
-FX(p)10067 b FU(go)387 b(one)g(line)g(up)358 24501 y
-FX(C)p FU(-)p FX(a)10154 b FU(go)387 b(to)g(the)g(be)-23
-b(ginning)386 b(of)i(the)f(line)358 26597 y FX(C)p FU(-)p
-FX(e)10241 b FU(go)387 b(to)g(the)g(end)g(of)h(the)f(line)358
-28694 y FX(M)p FU(-)p FX(b)9723 b FU(go)387 b(one)g(w)-15
-b(ord)387 b(back)358 30790 y FX(M)p FU(-)p FX(f)10069
-b FU(go)387 b(one)g(w)-15 b(ord)387 b(forw)-15 b(ard)358
-32887 y FX(M)p FU(-)p FX(})9974 b FU(go)387 b(one)g(paragraph)g(forw)
--15 b(ard)358 34983 y FX(M)p FU(-)p FX({)9974 b FU(go)387
-b(one)g(paragraph)g(backw)-15 b(ard)358 37079 y FX(M)p
-FU(-)p FX(a)9810 b FU(go)387 b(one)g(sentence)g(backw)-15
-b(ard)358 39176 y FX(M)p FU(-)p FX(e)9897 b FU(go)387
-b(one)g(sentence)g(forw)-15 b(ard)358 41272 y FX(C)p
-FU(-)p FX(d)10067 b FU(delete)387 b(the)g(character)h(under)f(the)g
-(cursor)358 43365 y FX(M)p FU(-)p FX(d)9723 b FU(delete)387
-b(until)f(the)i(end)f(of)g(the)g(current)h(w)-15 b(ord)358
-45458 y FX(C)p FU(-)p FX(v)10154 b FU(go)387 b(do)-39
-b(wn)387 b(one)g(screen)h(\(i.e.,)g(PgDn\))358 47555
-y FX(M)p FU(-)p FX(v)9810 b FU(go)387 b(up)g(one)g(screen)h(\(i.e.,)g
-(PgUp\))358 49651 y FX(M)p FU(-)p Fl(<)9371 b FU(go)387
-b(to)g(the)g(be)-23 b(ginning)386 b(of)i(the)f(b)-31
-b(uf)-39 b(fer)358 51748 y FX(M)p FU(-)p Fl(>)9371 b
-FU(go)387 b(to)g(the)g(end)g(of)h(the)f(b)-31 b(uf)-39
-b(fer)358 53844 y FX(C)p FU(-)p FX(_)10154 b FU(undo)386
-b(the)i(last)f(change)g(\(can)g(be)h(repeated\);)f(note)g(that)g(you)g
-(actually)12922 55859 y(ha)-31 b(v)-23 b(e)387 b(to)g(type)g
-FX(Shift)p FU(+)p FX(Contr)-28 b(ol)p FU(+)p FX(h)-23
-b(yphen)384 b FU(for)k(this.)358 57955 y FX(C)p FU(-)p
-FX(k)10067 b FU(delete)387 b(to)g(end)g(of)g(line)358
-60048 y FX(C)p FU(-)p FX(s)10326 b FU(forw)-15 b(ard)386
-b(search)358 62141 y FX(C)p FU(-)p FX(r)10241 b FU(backw)-15
-b(ard)386 b(search)p Black Black 49451 73792 a FR(211)p
-Black eop end
-%%Page: 212 234
-TeXDict begin 212 233 bop -8000 -8000 a
-SDict begin /product where{pop product(Distiller)search{pop pop pop
-version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
-closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
-grestore}if}{pop}ifelse}{pop}ifelse}if end
- -8000 -8000 a
-Black 0 TeXcolorgray -30 -1237 a
-SDict begin H.S end
- -30 -1237 a 0 TeXcolorgray
-0 TeXcolorgray -30 -1237 a
-SDict begin H.R end
- -30 -1237 a -30 -1237 a
-SDict begin [ /View [/XYZ H.V] /Dest (page.212) cvn H.B /DEST pdfmark
-end
- -30
--1237 a Black -30 -2687 a
-SDict begin H.S end
- -30 -2687 a -30 -2687 a
-SDict begin 18.2 H.A end
- -30
--2687 a -30 -2687 a
-SDict begin [ /View [/XYZ H.V] /Dest (6365) cvn H.B /DEST pdfmark end
- -30 -2687 a 1051 x FR(Chapter)387
-b(17)g(Emacs)p Black -30 3611 a FU(the)483 b(end)g(of)g(the)g(line,)h
-(b)-31 b(ut)482 b(doesn')-28 b(t)483 b(delete)g(the)g(line)g(itself)f
-(\(i.e.,)j(it)e(doesn')-28 b(t)482 b(delete)h(the)g(\002nal)-30
-5626 y(ne)-39 b(wline\).)374 b(It)f(only)g(deletes)g(the)h(line)f(if)g
-(there)h(w)-15 b(as)373 b(no)g(te)-23 b(xt)373 b(after)h(the)f(cursor)
--85 b(.)374 b(In)f(other)g(w)-15 b(ords,)-30 7640 y(in)401
-b(order)g(to)g(delete)g(a)g(complete)g(line,)g(you)g(ha)-31
-b(v)-23 b(e)401 b(to)f(put)h(the)g(cursor)g(at)g(the)g(be)-23
-b(ginning)400 b(of)h(the)-30 9655 y(line,)492 b(and)f(then)g(hit)11192
-9655 y
-SDict begin H.S end
- 11192 9655 a 11192 9655 a
-SDict begin 18.2 H.A end
- 11192 9655 a 11192 9655
-a
-SDict begin [ /View [/XYZ H.V] /Dest (6333) cvn H.B /DEST pdfmark end
- 11192 9655 a 11192 9655 a
-SDict begin H.S end
- 11192 9655 a 11192 9655 a
-SDict begin 18.2 H.A end
-
-11192 9655 a 11192 9655 a
-SDict begin [ /View [/XYZ H.V] /Dest (6334) cvn H.B /DEST pdfmark end
- 11192 9655 a FX(C)p FU(-)12827
-9655 y
-SDict begin H.S end
- 12827 9655 a 12827 9655 a
-SDict begin 18.2 H.A end
- 12827 9655 a 12827 9655
-a
-SDict begin [ /View [/XYZ H.V] /Dest (6335) cvn H.B /DEST pdfmark end
- 12827 9655 a FX(k)g FU(twice:)g(once)g(to)h(delete)f(the)h(te)-23
-b(xt)490 b(on)i(the)f(line,)h(once)f(to)h(delete)f(the)-30
-11670 y(line)387 b(itself.)-30 12460 y
-SDict begin H.S end
- -30 12460 a -30
-12460 a
-SDict begin 18.2 H.A end
- -30 12460 a -30 12460 a
-SDict begin [ /View [/XYZ H.V] /Dest (EMACS-SAVING-FILES) cvn H.B /DEST
-pdfmark end
- -30 12460 a 6109 x FL(17.5)620
-b(Sa)-33 b(ving)620 b(Files)-30 19066 y
-SDict begin H.S end
- -30 19066 a -30
-19066 a
-SDict begin 18.2 H.A end
- -30 19066 a -30 19066 a
-SDict begin [ /View [/XYZ H.V] /Dest (6338) cvn H.B /DEST pdfmark end
- -30 19066 a -30 20182
-a
-SDict begin H.S end
- -30 20182 a -30 20182 a
-SDict begin 18.2 H.A end
- -30 20182 a -30 20182 a
-SDict begin [ /View [/XYZ H.V] /Dest (6341) cvn H.B /DEST pdfmark end
- -30
-20182 a 1518 x FU(In)387 b(order)h(to)f(sa)-31 b(v)-23
-b(e)387 b(a)h(\002le,)f(you)g(type)-30 23585 y
-SDict begin H.S end
- -30 23585
-a -30 23585 a
-SDict begin 14.56 H.A end
- -30 23585 a -30 23585 a
-SDict begin [ /View [/XYZ H.V] /Dest (6342) cvn H.B /DEST pdfmark end
- -30 23585 a -30
-23585 a
-SDict begin H.S end
- -30 23585 a -30 23585 a
-SDict begin 14.56 H.A end
- -30 23585 a -30 23585
-a
-SDict begin [ /View [/XYZ H.V] /Dest (6343) cvn H.B /DEST pdfmark end
- -30 23585 a 1276 x FH(C-x)744 b(C-s)-30 26436 y
-SDict begin H.S end
- -30
-26436 a -30 26436 a
-SDict begin 18.2 H.A end
- -30 26436 a -30 26436 a
-SDict begin [ /View [/XYZ H.V] /Dest (6344) cvn H.B /DEST pdfmark end
- -30 26436
-a 1990 x FU(Emacs)396 b(will)g(not)g(ask)h(you)f(for)g(a)h(\002lename,)
-f(the)g(b)-31 b(uf)-39 b(fer)397 b(will)f(just)g(be)h(sa)-31
-b(v)-23 b(ed)396 b(to)g(the)g(\002le)g(it)h(w)-15 b(as)-30
-30440 y(loaded)387 b(from.)h(If)f(you)g(w)-15 b(ant)387
-b(to)g(sa)-31 b(v)-23 b(e)387 b(your)g(te)-23 b(xt)387
-b(to)g(another)g(\002le,)h(type)-30 32326 y
-SDict begin H.S end
- -30 32326
-a -30 32326 a
-SDict begin 14.56 H.A end
- -30 32326 a -30 32326 a
-SDict begin [ /View [/XYZ H.V] /Dest (6345) cvn H.B /DEST pdfmark end
- -30 32326 a -30
-32326 a
-SDict begin H.S end
- -30 32326 a -30 32326 a
-SDict begin 14.56 H.A end
- -30 32326 a -30 32326
-a
-SDict begin [ /View [/XYZ H.V] /Dest (6346) cvn H.B /DEST pdfmark end
- -30 32326 a 1276 x FH(C-x)744 b(C-w)-30 35176 y
-SDict begin H.S end
- -30
-35176 a -30 35176 a
-SDict begin 18.2 H.A end
- -30 35176 a -30 35176 a
-SDict begin [ /View [/XYZ H.V] /Dest (6347) cvn H.B /DEST pdfmark end
- -30 35176
-a 1990 x FU(When)479 b(you)g(sa)-31 b(v)-23 b(e)479 b(the)g(\002le)g
-(for)h(the)f(\002rst)g(time)f(in)h(this)g(session,)g(Emacs)g(will)g
-(normally)f(sa)-31 b(v)-23 b(e)-30 39181 y(the)347 b(old)g(v)-23
-b(ersion)347 b(of)h(your)f(\002le)g(to)g(a)h(backup)f(\002le,)g(which)g
-(has)h(the)f(same)g(name)g(appended)g(with)-30 41196
-y(a)363 b(tilde:)g(so)g(if)g(you')-77 b(re)362 b(editing)h(a)g(\002le)
-20016 41196 y
-SDict begin H.S end
- 20016 41196 a 20016 41196 a
-SDict begin 18.2 H.A end
- 20016 41196
-a 20016 41196 a
-SDict begin [ /View [/XYZ H.V] /Dest (6348) cvn H.B /DEST pdfmark end
- 20016 41196 a FU(\223)20704 41196 y
-SDict begin H.S end
- 20704
-41196 a 20704 41196 a
-SDict begin 18.2 H.A end
- 20704 41196 a 20704 41196 a
-SDict begin [ /View [/XYZ H.V] /Dest (6349) cvn H.B /DEST pdfmark end
- 20704
-41196 a FQ(cars.txt)p FU(\224,)358 b(Emacs)363 b(will)g(create)g(a)g
-(backup)44375 41196 y
-SDict begin H.S end
- 44375 41196 a 44375 41196 a
-SDict begin 18.2 H.A end
- 44375
-41196 a 44375 41196 a
-SDict begin [ /View [/XYZ H.V] /Dest (6350) cvn H.B /DEST pdfmark end
- 44375 41196 a FU(\223)45063 41196
-y
-SDict begin H.S end
- 45063 41196 a 45063 41196 a
-SDict begin 18.2 H.A end
- 45063 41196 a 45063 41196
-a
-SDict begin [ /View [/XYZ H.V] /Dest (6351) cvn H.B /DEST pdfmark end
- 45063 41196 a FQ(cars.txt~)p FU(\224.)-30 42306 y
-SDict begin H.S end
- -30
-42306 a -30 42306 a
-SDict begin 18.2 H.A end
- -30 42306 a -30 42306 a
-SDict begin [ /View [/XYZ H.V] /Dest (6352) cvn H.B /DEST pdfmark end
- -30 42306
-a 1679 x FU(This)345 b(backup)g(\002le)g(is)f(a)i(cop)-15
-b(y)344 b(of)i(the)f(\002le)f(that)h(you)g(opened.)h(While)e(you)h(are)
-h(w)-15 b(orking,)344 b(Emacs)-30 46000 y(will)594 b(also)g(re)-23
-b(gularly)594 b(create)h(an)g(auto-sa)-31 b(v)-23 b(e)594
-b(cop)-15 b(y)594 b(of)g(the)h(w)-15 b(ork)594 b(you)g(are)h(doing,)f
-(to)h(a)f(\002le)-30 48014 y(named)524 b(with)f(hash)h(signs:)15412
-48014 y
-SDict begin H.S end
- 15412 48014 a 15412 48014 a
-SDict begin 18.2 H.A end
- 15412 48014 a 15412
-48014 a
-SDict begin [ /View [/XYZ H.V] /Dest (6353) cvn H.B /DEST pdfmark end
- 15412 48014 a FQ(#cars.txt#)p FU(.)518 b(This)523
-b(backup)h(is)g(deleted)g(when)g(you)g(sa)-31 b(v)-23
-b(e)523 b(the)h(\002le)-30 50029 y(with)387 b(C-x)g(C-s.)-30
-50819 y
-SDict begin H.S end
- -30 50819 a -30 50819 a
-SDict begin 18.2 H.A end
- -30 50819 a -30 50819
-a
-SDict begin [ /View [/XYZ H.V] /Dest (6354) cvn H.B /DEST pdfmark end
- -30 50819 a 2000 x FU(When)g(you)g(are)h(done)f(editing)g(a)g
-(\002le,)h(you)f(can)g(kill)g(the)g(b)-31 b(uf)-39 b(fer)388
-b(that)f(holds)g(it)g(by)g(typing)-30 54704 y
-SDict begin H.S end
- -30 54704
-a -30 54704 a
-SDict begin 14.56 H.A end
- -30 54704 a -30 54704 a
-SDict begin [ /View [/XYZ H.V] /Dest (6355) cvn H.B /DEST pdfmark end
- -30 54704 a -30
-54704 a
-SDict begin H.S end
- -30 54704 a -30 54704 a
-SDict begin 14.56 H.A end
- -30 54704 a -30 54704
-a
-SDict begin [ /View [/XYZ H.V] /Dest (6356) cvn H.B /DEST pdfmark end
- -30 54704 a 1276 x FH(C-x)744 b(k)-30 57555 y
-SDict begin H.S end
- -30 57555
-a -30 57555 a
-SDict begin 18.2 H.A end
- -30 57555 a -30 57555 a
-SDict begin [ /View [/XYZ H.V] /Dest (6357) cvn H.B /DEST pdfmark end
- -30 57555 a 1989
-x FU(Emacs)511 b(will)g(then)g(ask)g(you)h(which)f(b)-31
-b(uf)-39 b(fer)511 b(you)h(w)-15 b(ant)510 b(to)h(kill,)h(with)f(the)g
-(current)g(b)-31 b(uf)-39 b(fer)512 b(as)-30 61559 y(def)-15
-b(ault,)394 b(which)f(you)h(can)g(select)f(by)h(hitting)24793
-61559 y
-SDict begin H.S end
- 24793 61559 a 24793 61559 a
-SDict begin 18.2 H.A end
- 24793 61559 a 24793
-61559 a
-SDict begin [ /View [/XYZ H.V] /Dest (6358) cvn H.B /DEST pdfmark end
- 24793 61559 a FX(ENTER)p FU(.)f(If)h(you)g(ha)-31
-b(v)-23 b(en')-28 b(t)393 b(sa)-31 b(v)-23 b(ed)394 b(your)f(\002le)h
-(yet,)-30 63574 y(Emacs)387 b(will)g(ask)g(you)g(if)g(you)h(really)f(w)
--15 b(ant)386 b(to)h(kill)g(the)g(b)-31 b(uf)-39 b(fer)-85
-b(.)-30 63909 y
-SDict begin H.S end
- -30 63909 a -30 63909 a
-SDict begin 18.2 H.A end
- -30 63909 a -30
-63909 a
-SDict begin [ /View [/XYZ H.V] /Dest (EMACS-QUITING) cvn H.B /DEST
-pdfmark end
- -30 63909 a Black 9883 x FR(212)p Black eop end
-%%Page: 213 235
-TeXDict begin 213 234 bop -8000 -8000 a
-SDict begin /product where{pop product(Distiller)search{pop pop pop
-version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
-closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
-grestore}if}{pop}ifelse}{pop}ifelse}if end
- -8000 -8000 a
-Black 0 TeXcolorgray -30 -1237 a
-SDict begin H.S end
- -30 -1237 a 0 TeXcolorgray
-0 TeXcolorgray -30 -1237 a
-SDict begin H.R end
- -30 -1237 a -30 -1237 a
-SDict begin [ /View [/XYZ H.V] /Dest (page.213) cvn H.B /DEST pdfmark
-end
- -30
--1237 a Black 40240 -1636 a FR(Chapter)386 b(17)h(Emacs)p
-Black -30 3861 a FG(Quitting)518 b(Emacs)-30 4275 y
-SDict begin H.S end
- -30
-4275 a -30 4275 a
-SDict begin 18.2 H.A end
- -30 4275 a -30 4275 a
-SDict begin [ /View [/XYZ H.V] /Dest (6361) cvn H.B /DEST pdfmark end
- -30 4275 a -30
-5204 a
-SDict begin H.S end
- -30 5204 a -30 5204 a
-SDict begin 18.2 H.A end
- -30 5204 a -30 5204 a
-SDict begin [ /View [/XYZ H.V] /Dest (6364) cvn H.B /DEST pdfmark end
- -30
-5204 a 1601 x FU(When)387 b(you)g(are)h(done)f(with)g(Emacs)g
-(altogether)-62 b(,)387 b(you)g(can)h(type)-30 9967 y
-FH(C-x)744 b(C-c)-30 11541 y
-SDict begin H.S end
- -30 11541 a -30 11541 a
-SDict begin 18.2 H.A end
-
--30 11541 a -30 11541 a
-SDict begin [ /View [/XYZ H.V] /Dest (6367) cvn H.B /DEST pdfmark end
- -30 11541 a 1990 x FU(This)450
-b(quits)h(Emacs.)g(If)g(you)f(ha)-31 b(v)-23 b(e)451
-b(an)-23 b(y)450 b(unsa)-31 b(v)-23 b(ed)451 b(\002les,)f(Emacs)h(will)
-f(tell)h(you)f(so,)h(and)g(ask)g(if)-30 15546 y(you)353
-b(w)-15 b(ant)353 b(to)g(sa)-31 b(v)-23 b(e)353 b(them)g(each)h(in)f
-(turn.)h(If)f(you)g(answer)h(no)f(to)g(an)-23 b(y)353
-b(of)h(these,)f(Emacs)g(will)g(ask)-30 17561 y(for)388
-b(one)f(\002nal)g(con\002rmation)f(and)h(then)g(quit.)p
-Black 49451 73792 a FR(213)p Black eop end
-%%Page: 214 236
-TeXDict begin 214 235 bop -8000 -8000 a
-SDict begin /product where{pop product(Distiller)search{pop pop pop
-version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
-closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
-grestore}if}{pop}ifelse}{pop}ifelse}if end
- -8000 -8000 a
-Black 0 TeXcolorgray -30 -1237 a
-SDict begin H.S end
- -30 -1237 a 0 TeXcolorgray
-0 TeXcolorgray -30 -1237 a
-SDict begin H.R end
- -30 -1237 a -30 -1237 a
-SDict begin [ /View [/XYZ H.V] /Dest (page.214) cvn H.B /DEST pdfmark
-end
- -30
--1237 a Black -399 x FR(Chapter)387 b(17)g(Emacs)p Black
-Black -30 73792 a(214)p Black eop end
-%%Page: 215 237
-TeXDict begin 215 236 bop -8000 -8000 a
-SDict begin /product where{pop product(Distiller)search{pop pop pop
-version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
-closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
-grestore}if}{pop}ifelse}{pop}ifelse}if end
- -8000 -8000 a
-Black 0 TeXcolorgray -30 -1358 a
-SDict begin H.S end
- -30 -1358 a 0 TeXcolorgray
-0 TeXcolorgray -30 -1358 a
-SDict begin H.R end
- -30 -1358 a -30 -1358 a
-SDict begin [ /View [/XYZ H.V] /Dest (page.215) cvn H.B /DEST pdfmark
-end
- -30
--1358 a Black Black -30 2383 a
-SDict begin H.S end
- -30 2383 a -30 2383 a
-SDict begin 18.2 H.A end
-
--30 2383 a -30 2383 a
-SDict begin [ /View [/XYZ H.V] /Dest (PACKAGE-MANAGEMENT) cvn H.B /DEST
-pdfmark end
- -30 2383 a 2345 x FS(Chapter)894
-b(18)-30 10743 y FO(Slac)-93 b(kware)1287 b(P)-139 b(ac)-93
-b(ka)-46 b(g)46 b(e)-30 16759 y(Mana)-46 b(g)46 b(ement)p
--30 24332 51806 56 v -30 24332 a
-SDict begin H.S end
- -30 24332 a -30 24332
-a
-SDict begin 18.2 H.A end
- -30 24332 a -30 24332 a
-SDict begin [ /View [/XYZ H.V] /Dest (6370) cvn H.B /DEST pdfmark end
- -30 24332 a -30 24332 a
-SDict begin H.S end
- -30
-24332 a -30 24332 a
-SDict begin 18.2 H.A end
- -30 24332 a -30 24332 a
-SDict begin [ /View [/XYZ H.V] /Dest (6372) cvn H.B /DEST pdfmark end
- -30 24332
-a -30 25107 a
-SDict begin H.S end
- -30 25107 a -30 25107 a
-SDict begin 18.2 H.A end
- -30 25107 a -30
-25107 a
-SDict begin [ /View [/XYZ H.V] /Dest (6375) cvn H.B /DEST pdfmark end
- -30 25107 a 1051 x FU(A)390 b(softw)-15 b(are)389
-b(package)h(is)f(a)h(b)-31 b(undle)389 b(of)h(related)f(programs)h
-(that)f(are)h(ready)g(for)f(you)h(to)f(install.)-30 28172
-y(When)398 b(you)g(do)-39 b(wnload)398 b(a)g(source)h(code)f(archi)-39
-b(v)-23 b(e,)399 b(you)f(ha)-31 b(v)-23 b(e)398 b(to)g(con\002gure,)g
-(compile,)g(and)g(in-)-30 30187 y(stall)506 b(it)g(by)g(hand.)h(W)-62
-b(ith)506 b(a)g(softw)-15 b(are)506 b(package,)h(this)e(has)i(already)f
-(been)g(done)g(for)h(you.)f(All)-30 32202 y(that)443
-b(you)h(ha)-31 b(v)-23 b(e)443 b(to)g(do)h(is)f(install)g(the)g
-(package.)h(Another)f(handy)g(feature)h(of)g(using)f(softw)-15
-b(are)-30 34216 y(packages)385 b(is)g(that)h(it)f(is)g(v)-23
-b(ery)385 b(easy)g(to)g(remo)-23 b(v)g(e)385 b(and)g(upgrade)h(them,)f
-(if)g(you)g(so)h(desire.)f(Slack-)-30 36231 y(w)-15 b(are)359
-b(comes)f(with)g(programs)h(for)f(all)h(your)g(package)f(management)g
-(needs.)h(Y)-170 b(ou)358 b(can)h(install,)-30 38246
-y(remo)-23 b(v)g(e,)387 b(upgrade,)h(mak)-15 b(e,)387
-b(and)g(e)-23 b(xamine)387 b(packages)g(v)-23 b(ery)387
-b(easily)-101 b(.)-30 38581 y
-SDict begin H.S end
- -30 38581 a -30 38581 a
-SDict begin 18.2 H.A end
-
--30 38581 a -30 38581 a
-SDict begin [ /View [/XYZ H.V] /Dest (6376) cvn H.B /DEST pdfmark end
- -30 38581 a -30 38581 a
-SDict begin H.S end
- -30 38581
-a -30 38581 a
-SDict begin 18.2 H.A end
- -30 38581 a -30 38581 a
-SDict begin [ /View [/XYZ H.V] /Dest (6378) cvn H.B /DEST pdfmark end
- -30 38581 a -30
-39356 a
-SDict begin H.S end
- -30 39356 a -30 39356 a
-SDict begin 18.2 H.A end
- -30 39356 a -30 39356
-a
-SDict begin [ /View [/XYZ H.V] /Dest (6380) cvn H.B /DEST pdfmark end
- -30 39356 a 1679 x FU(There')-85 b(s)324 b(a)g(myth)g(that')-85
-b(s)323 b(been)i(going)e(around)h(e)-39 b(v)-23 b(er)324
-b(since)g(RedHat)g(deb)-31 b(uted)324 b(RedHat)f(P)-23
-b(ackage)-30 43050 y(Manager)-62 b(,)569 b(that)f(Slackw)-15
-b(are)568 b(has)g(no)g(package)h(management)f(tool.)g(This)g(simply)f
-(couldn')-28 b(t)-30 45065 y(be)458 b(further)h(from)f(the)g(truth.)g
-(Slackw)-15 b(are)457 b(has)h(al)-15 b(w)g(ays)457 b(included)h(a)g
-(package)g(manager)-62 b(,)459 b(e)-39 b(v)-23 b(en)-30
-47079 y(before)336 b(RedHat)f(e)-23 b(xisted.)336 b(While)f(not)g(as)h
-(full-featured)g(or)f(as)h(ubiquitous)e(as)i(rpm)g(\(or)f(for)h(that)
--30 49094 y(matter)414 b(deb\),)7899 49094 y
-SDict begin H.S end
- 7899 49094
-a 7899 49094 a
-SDict begin 18.2 H.A end
- 7899 49094 a 7899 49094 a
-SDict begin [ /View [/XYZ H.V] /Dest (6381) cvn H.B /DEST pdfmark end
- 7899 49094 a
-FP(pkgtool)g FU(and)g(its)g(associated)f(programs)h(are)g(e)-39
-b(v)-23 b(ery)414 b(bit)g(as)g(good)g(at)g(installing)-30
-51109 y(packages)587 b(as)f(rpm.)h(The)g(truth)f(about)22126
-51109 y
-SDict begin H.S end
- 22126 51109 a 22126 51109 a
-SDict begin 18.2 H.A end
- 22126 51109 a 22126
-51109 a
-SDict begin [ /View [/XYZ H.V] /Dest (6382) cvn H.B /DEST pdfmark end
- 22126 51109 a FP(pkgtool)g FU(is)g(not)g(that)h(it)f(doesn')-28
-b(t)586 b(e)-23 b(xist,)587 b(b)-31 b(ut)586 b(that)g(it)-30
-53123 y(doesn')-28 b(t)387 b(do)g(an)-23 b(y)387 b(dependenc)-23
-b(y)387 b(checking.)-30 54234 y
-SDict begin H.S end
- -30 54234 a -30 54234
-a
-SDict begin 18.2 H.A end
- -30 54234 a -30 54234 a
-SDict begin [ /View [/XYZ H.V] /Dest (6383) cvn H.B /DEST pdfmark end
- -30 54234 a 1679 x FU(Apparently)571
-b(man)-23 b(y)572 b(people)f(in)h(the)g(Linux)f(community)f(think)i
-(that)f(a)h(packager)g(manager)-30 57928 y(must)534 b(by)g
-(de\002nition)g(include)g(dependenc)-23 b(y)534 b(checking.)g(W)-124
-b(ell,)535 b(that)f(simply)g(isn')-28 b(t)534 b(the)g(case,)-30
-59942 y(as)g(Slackw)-15 b(are)534 b(most)f(certainly)h(does)g(not.)g
-(This)g(is)g(not)g(to)g(say)g(that)g(Slackw)-15 b(are)533
-b(packages)-30 61957 y(don')-28 b(t)312 b(ha)-31 b(v)-23
-b(e)312 b(dependencies,)g(b)-31 b(ut)312 b(rather)g(that)g(its)g
-(package)g(manager)g(doesn')-28 b(t)311 b(check)i(for)f(them.)-30
-63972 y(Dependenc)-23 b(y)387 b(management)f(is)i(left)f(up)g(to)g(the)
-g(sysadmin,)g(and)g(that')-85 b(s)387 b(the)g(w)-15 b(ay)387
-b(we)g(lik)-15 b(e)387 b(it.)-30 64307 y
-SDict begin H.S end
- -30 64307 a
--30 64307 a
-SDict begin 18.2 H.A end
- -30 64307 a -30 64307 a
-SDict begin [ /View [/XYZ H.V] /Dest (PACKAGE-MANAGEMENT-OVERVIEW)
-cvn H.B /DEST pdfmark end
- -30 64307 a Black
-49451 73672 a FR(215)p Black eop end
-%%Page: 216 238
-TeXDict begin 216 237 bop -8000 -8000 a
-SDict begin /product where{pop product(Distiller)search{pop pop pop
-version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
-closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
-grestore}if}{pop}ifelse}{pop}ifelse}if end
- -8000 -8000 a
-Black 0 TeXcolorgray -30 -1358 a
-SDict begin H.S end
- -30 -1358 a 0 TeXcolorgray
-0 TeXcolorgray -30 -1358 a
-SDict begin H.R end
- -30 -1358 a -30 -1358 a
-SDict begin [ /View [/XYZ H.V] /Dest (page.216) cvn H.B /DEST pdfmark
-end
- -30
--1358 a Black -278 x FR(Chapter)387 b(18)g(Slac)-31 b(kwar)-57
-b(e)386 b(P)-124 b(ac)-31 b(ka)-15 b(g)g(e)386 b(Mana)-15
-b(g)g(ement)p Black -30 4011 a FL(18.1)620 b(Over)22
-b(vie)-33 b(w)620 b(of)g(P)-67 b(ac)-45 b(ka)-22 b(g)22
-b(e)620 b(Format)-30 5624 y
-SDict begin H.S end
- -30 5624 a -30 5624 a
-SDict begin 18.2 H.A end
- -30
-5624 a -30 5624 a
-SDict begin [ /View [/XYZ H.V] /Dest (6386) cvn H.B /DEST pdfmark end
- -30 5624 a 1518 x FU(Before)361 b(learning)f(the)h
-(utilities,)f(you)g(should)g(become)h(f)-15 b(amiliar)359
-b(with)i(the)f(format)h(of)f(a)h(Slack-)-30 9156 y(w)-15
-b(are)578 b(package.)g(In)g(Slackw)-15 b(are,)577 b(a)h(package)g(is)g
-(simply)f(a)h(tar)f(archi)-39 b(v)-23 b(e)578 b(\002le)g(that)f(has)h
-(been)-30 11171 y(compressed)387 b(with)10817 11171 y
-SDict begin H.S end
-
-10817 11171 a 10817 11171 a
-SDict begin 18.2 H.A end
- 10817 11171 a 10817 11171
-a
-SDict begin [ /View [/XYZ H.V] /Dest (6387) cvn H.B /DEST pdfmark end
- 10817 11171 a FP(gzip)p FU(.)g(P)-23 b(ackages)387
-b(are)g(b)-31 b(uilt)387 b(to)g(be)h(e)-23 b(xtracted)386
-b(in)i(the)f(root)g(directory)-101 b(.)-30 12281 y
-SDict begin H.S end
- -30
-12281 a -30 12281 a
-SDict begin 18.2 H.A end
- -30 12281 a -30 12281 a
-SDict begin [ /View [/XYZ H.V] /Dest (6388) cvn H.B /DEST pdfmark end
- -30 12281
-a 1680 x FU(Here)388 b(is)f(a)g(\002ctitious)f(program)h(and)g(its)g(e)
--23 b(xample)387 b(package:)-30 15846 y
-SDict begin H.S end
- -30 15846 a -30
-15846 a
-SDict begin 14.56 H.A end
- -30 15846 a -30 15846 a
-SDict begin [ /View [/XYZ H.V] /Dest (6389) cvn H.B /DEST pdfmark end
- -30 15846 a 1276 x FP(./)-30
-18734 y(usr/)-30 20346 y(usr/bin/)-30 21957 y(usr/bin/makehejaz)-30
-23569 y(usr/doc/)-30 25181 y(usr/doc/makehejaz-1.0/)-30
-26792 y(usr/doc/makehejaz-1.0/COPYING)-30 28404 y
-(usr/doc/makehejaz-1.0/README)-30 30016 y(usr/man/)-30
-31628 y(usr/man/man1)-30 33239 y(usr/man/man1/makehejaz.1.gz)-30
-34851 y(install/)-30 36463 y(install/doinst.sh)-30 38111
-y
-SDict begin H.S end
- -30 38111 a -30 38111 a
-SDict begin 18.2 H.A end
- -30 38111 a -30 38111 a
-SDict begin [ /View [/XYZ H.V] /Dest (6390) cvn H.B /DEST pdfmark end
- -30
-38111 a 1916 x FU(The)445 b(package)g(system)f(will)h(e)-23
-b(xtract)444 b(this)h(\002le)f(in)h(the)g(root)g(directory)f(to)h
-(install)f(it.)h(An)g(entry)-30 42042 y(in)386 b(the)h(package)f
-(database)g(will)g(be)h(created)f(that)g(contains)g(the)h(contents)e
-(of)i(this)f(package)g(so)-30 44057 y(that)h(it)g(can)h(be)f(upgraded)g
-(or)g(remo)-23 b(v)g(ed)387 b(later)-85 b(.)-30 45167
-y
-SDict begin H.S end
- -30 45167 a -30 45167 a
-SDict begin 18.2 H.A end
- -30 45167 a -30 45167 a
-SDict begin [ /View [/XYZ H.V] /Dest (6391) cvn H.B /DEST pdfmark end
- -30
-45167 a 1679 x FU(Notice)333 b(the)6661 46846 y
-SDict begin H.S end
- 6661
-46846 a 6661 46846 a
-SDict begin 18.2 H.A end
- 6661 46846 a 6661 46846 a
-SDict begin [ /View [/XYZ H.V] /Dest (6392) cvn H.B /DEST pdfmark end
- 6661 46846
-a FQ(install/)328 b FU(subdirectory)-101 b(.)333 b(This)g(is)f(a)h
-(special)g(directory)g(that)f(can)h(contain)g(a)g(postin-)-30
-48861 y(stallation)389 b(script)g(called)13966 48861
-y
-SDict begin H.S end
- 13966 48861 a 13966 48861 a
-SDict begin 18.2 H.A end
- 13966 48861 a 13966 48861
-a
-SDict begin [ /View [/XYZ H.V] /Dest (6393) cvn H.B /DEST pdfmark end
- 13966 48861 a FQ(doinst.sh)p FU(.)384 b(If)390 b(the)f(package)h
-(system)f(\002nds)g(this)g(\002le,)g(it)g(will)g(e)-23
-b(x)g(ecute)-30 50876 y(it)387 b(after)h(installing)e(the)h(package.)
--30 51986 y
-SDict begin H.S end
- -30 51986 a -30 51986 a
-SDict begin 18.2 H.A end
- -30 51986 a -30 51986
-a
-SDict begin [ /View [/XYZ H.V] /Dest (6394) cvn H.B /DEST pdfmark end
- -30 51986 a 1679 x FU(Other)342 b(scripts)g(can)h(be)f(embedded)g(in)
-h(the)f(package,)h(b)-31 b(ut)342 b(those)g(are)h(discussed)f(more)g
-(in)g(detail)-30 55680 y(in)p 0 TeXcolorgray 1563 55680
-a
-SDict begin H.S end
- 1563 55680 a FU(Section)387 b(18.3.2)10474 55680 y
-SDict begin 18.2 H.L end
-
-10474 55680 a 10474 55680 a
-SDict begin [ /Subtype /Link /Dest (PACKAGE-MANAGEMENT-MAKEPKG) cvn
-/H /I /Border [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 10474 55680 a Black 388 w
-FU(belo)-39 b(w)-101 b(.)-30 56470 y
-SDict begin H.S end
- -30 56470 a -30
-56470 a
-SDict begin 18.2 H.A end
- -30 56470 a -30 56470 a
-SDict begin [ /View [/XYZ H.V] /Dest (PACKAGE-MANAGEMENT-PACKAGE-UTILITIES)
-cvn H.B /DEST pdfmark end
- -30 56470 a 6109 x FL(18.2)620
-b(P)-67 b(ac)-45 b(ka)-22 b(g)22 b(e)620 b(Utilities)-30
-64192 y
-SDict begin H.S end
- -30 64192 a -30 64192 a
-SDict begin 18.2 H.A end
- -30 64192 a -30 64192
-a
-SDict begin [ /View [/XYZ H.V] /Dest (6398) cvn H.B /DEST pdfmark end
- -30 64192 a 1518 x FU(There)535 b(are)g(four)g(main)f(utilities)f
-(for)i(package)g(management.)f(The)-23 b(y)534 b(perform)h
-(installation,)-30 67724 y(remo)-23 b(v)-39 b(al,)387
-b(and)h(upgrades)f(of)g(packages.)-30 68060 y
-SDict begin H.S end
- -30 68060
-a -30 68060 a
-SDict begin 18.2 H.A end
- -30 68060 a -30 68060 a
-SDict begin [ /View [/XYZ H.V] /Dest (PACKAGE-MANAGEMENT-PACKAGE-UTILITIES-PKGTOOL)
-cvn H.B /DEST pdfmark end
- -30 68060 a Black
-5612 x FR(216)p Black eop end
-%%Page: 217 239
-TeXDict begin 217 238 bop -8000 -8000 a
-SDict begin /product where{pop product(Distiller)search{pop pop pop
-version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
-closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
-grestore}if}{pop}ifelse}{pop}ifelse}if end
- -8000 -8000 a
-Black 0 TeXcolorgray -30 -1237 a
-SDict begin H.S end
- -30 -1237 a 0 TeXcolorgray
-0 TeXcolorgray -30 -1237 a
-SDict begin H.R end
- -30 -1237 a -30 -1237 a
-SDict begin [ /View [/XYZ H.V] /Dest (page.217) cvn H.B /DEST pdfmark
-end
- -30
--1237 a Black -30 -2687 a
-SDict begin H.S end
- -30 -2687 a -30 -2687 a
-SDict begin 18.2 H.A end
- -30
--2687 a -30 -2687 a
-SDict begin [ /View [/XYZ H.V] /Dest (6425) cvn H.B /DEST pdfmark end
- -30 -2687 a 23991 -1636 a FR(Chapter)386
-b(18)h(Slac)-31 b(kwar)-57 b(e)387 b(P)-124 b(ac)-31
-b(ka)-15 b(g)g(e)386 b(Mana)-15 b(g)g(ement)p Black -30
-3821 a FG(pkgtool)-30 4235 y
-SDict begin H.S end
- -30 4235 a -30 4235 a
-SDict begin 18.2 H.A end
- -30
-4235 a -30 4235 a
-SDict begin [ /View [/XYZ H.V] /Dest (6401) cvn H.B /DEST pdfmark end
- -30 4235 a -30 4235 a
-SDict begin H.S end
- -30 4235 a -30
-4235 a
-SDict begin 18.2 H.A end
- -30 4235 a -30 4235 a
-SDict begin [ /View [/XYZ H.V] /Dest (6403) cvn H.B /DEST pdfmark end
- -30 4235 a -30 4235 a
-SDict begin H.S end
- -30
-4235 a -30 4235 a
-SDict begin 18.2 H.A end
- -30 4235 a -30 4235 a
-SDict begin [ /View [/XYZ H.V] /Dest (6406) cvn H.B /DEST pdfmark end
- -30 4235 a -30
-5164 a
-SDict begin H.S end
- -30 5164 a -30 5164 a
-SDict begin 18.2 H.A end
- -30 5164 a -30 5164 a
-SDict begin [ /View [/XYZ H.V] /Dest (6409) cvn H.B /DEST pdfmark end
- -30
-5164 a -30 5164 a
-SDict begin H.S end
- -30 5164 a -30 5164 a
-SDict begin 18.2 H.A end
- -30 5164 a -30
-5164 a
-SDict begin [ /View [/XYZ H.V] /Dest (6410) cvn H.B /DEST pdfmark end
- -30 5164 a 1601 x FP(pkgtool)p FU(\(8\))431 b(is)h(a)h(menu-dri)
--39 b(v)-23 b(en)431 b(program)h(that)g(allo)-39 b(ws)431
-b(installation)g(and)h(remo)-23 b(v)-39 b(al)432 b(of)g(pack-)-30
-8780 y(ages.)388 b(The)f(main)g(menu)g(is)g(sho)-39 b(wn)387
-b(in)p 0 TeXcolorgray 21023 8780 a
-SDict begin H.S end
- 21023 8780 a FU(Figure)g(18-1)28298
-8780 y
-SDict begin 18.2 H.L end
- 28298 8780 a 28298 8780 a
-SDict begin [ /Subtype /Link /Dest (PKGTOOL-MAIN-MENU) cvn /H /I /Border
-[0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 28298 8780 a Black FU(.)-30
-9115 y
-SDict begin H.S end
- -30 9115 a -30 9115 a
-SDict begin 18.2 H.A end
- -30 9115 a -30 9115 a
-SDict begin [ /View [/XYZ H.V] /Dest (PKGTOOL-MAIN-MENU) cvn H.B /DEST
-pdfmark end
- -30
-9115 a 4004 x FX(Figur)-28 b(e)387 b(18-1.)h(Pkgtool')-57
-b(s)386 b(main)g(menu.)-30 14984 y
-SDict begin H.S end
- -30 14984 a -30 14984
-a
-SDict begin 18.2 H.A end
- -30 14984 a -30 14984 a
-SDict begin [ /View [/XYZ H.V] /Dest (6414) cvn H.B /DEST pdfmark end
- -30 14984 a -30 39758 a
- currentpoint currentpoint translate 1 1 scale neg exch neg exch translate
- -30
-39758 a @beginspecial 21 @llx 60 @lly 467 @urx 276 @ury
-4460 @rwi @setspecial
-%%BeginDocument: package-management/pkgtool.eps
-%!PS-Adobe-2.0 EPSF-1.2
-%%BoundingBox: 21 60 467 276
-
-/Outterbox
-{ newpath moveto
-0 208 rlineto
-75 0 rlineto
-23 61 moveto
-443 0 rlineto
-0 208 rlineto
--90 0 rlineto
-23 87 moveto
-443 0 rlineto
-closepath } def
-
-/Innerbox
-{ moveto
-420 0 rlineto
-0 105 rlineto
--420 0 rlineto
-closepath} def
-
-/TitleFont
-{ /Helvetica findfont 13 scalefont setfont
-moveto } def
-
-/PanelFont
-{ /Helvetica findfont 12 scalefont setfont
-moveto } def
-
-/ContentFont
-{ /Helvetica findfont 12 scalefont setfont
-moveto } def
-
-/ButtonFont
-{ /Helvetica findfont 11 scalefont setfont
-moveto } def
-
-23 61 Outterbox
-34 100 Innerbox
-
-100 266 TitleFont(Slackware Package Tool (pkgtool version 9.1.0)) show
-
-34 245 PanelFont (Welcome to the Slackware package tool.) show
-34 220 PanelFont (Which option would you like?) show
-
-74 191 ContentFont (Current) show
-74 177 ContentFont (Other) show
-74 163 ContentFont (Floppy) show
-74 149 ContentFont (Remove) show
-74 135 ContentFont (View) show
-74 121 ContentFont (Setup) show
-74 107 ContentFont (Exit) show
-
-129 191 ContentFont (Install packages from the current directory) show
-129 177 ContentFont (Install packages from some other directory) show
-129 163 ContentFont (Install packages from floppy disks) show
-129 149 ContentFont (Remove packages that are currently installed) show
-129 135 ContentFont (View the list of files contained in a package) show
-129 121 ContentFont (Choose Slackware installation scripts to run again) show
-129 107 ContentFont (Exit Pkgtool) show
-
-153 71 ButtonFont (< OK >) show
-267 71 ButtonFont (< Cancel >) show
-
-stroke
-showpage
-%%EOF
-
-%%EndDocument
- @endspecial -30 39758 a
- currentpoint currentpoint translate 1 1 div 1 1 div scale neg exch
-neg exch translate
- -30 39758 a -30 41308 a
-SDict begin H.S end
- -30
-41308 a -30 41308 a
-SDict begin 18.2 H.A end
- -30 41308 a -30 41308 a
-SDict begin [ /View [/XYZ H.V] /Dest (6417) cvn H.B /DEST pdfmark end
- -30 41308
-a 2015 x FU(Installation)491 b(is)g(of)-39 b(fered)492
-b(from)f(the)h(current)f(directory)-101 b(,)492 b(another)f(directory)
--101 b(,)492 b(or)g(from)f(\003opp)-15 b(y)-30 45338
-y(disks.)483 b(Simply)g(select)g(the)h(installation)e(method)g(you)i(w)
--15 b(ant)483 b(and)g(pkgtool)g(will)g(search)g(that)-30
-47352 y(location)387 b(for)g(v)-39 b(alid)387 b(packages)h(to)f
-(install.)-30 48463 y
-SDict begin H.S end
- -30 48463 a -30 48463 a
-SDict begin 18.2 H.A end
- -30 48463
-a -30 48463 a
-SDict begin [ /View [/XYZ H.V] /Dest (6418) cvn H.B /DEST pdfmark end
- -30 48463 a 1679 x FU(Y)-170 b(ou)387 b(may)g(also)g(vie)
--39 b(w)387 b(a)h(list)e(of)i(installed)e(packages,)i(as)f(sho)-39
-b(wn)387 b(in)p 0 TeXcolorgray 36954 50142 a
-SDict begin H.S end
- 36954 50142
-a FU(Figure)g(18-2)44229 50142 y
-SDict begin 18.2 H.L end
- 44229 50142 a 44229
-50142 a
-SDict begin [ /Subtype /Link /Dest (PKGTOOL-VIEW-MODE) cvn /H /I /Border
-[0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 44229 50142 a Black FU(.)-30 50477 y
-SDict begin H.S end
- -30 50477
-a -30 50477 a
-SDict begin 18.2 H.A end
- -30 50477 a -30 50477 a
-SDict begin [ /View [/XYZ H.V] /Dest (PKGTOOL-VIEW-MODE) cvn H.B /DEST
-pdfmark end
- -30 50477 a Black
-49394 73792 a FR(217)p Black eop end
-%%Page: 218 240
-TeXDict begin 218 239 bop -8000 -8000 a
-SDict begin /product where{pop product(Distiller)search{pop pop pop
-version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
-closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
-grestore}if}{pop}ifelse}{pop}ifelse}if end
- -8000 -8000 a
-Black 0 TeXcolorgray -30 -1237 a
-SDict begin H.S end
- -30 -1237 a 0 TeXcolorgray
-0 TeXcolorgray -30 -1237 a
-SDict begin H.R end
- -30 -1237 a -30 -1237 a
-SDict begin [ /View [/XYZ H.V] /Dest (page.218) cvn H.B /DEST pdfmark
-end
- -30
--1237 a Black -399 x FR(Chapter)387 b(18)g(Slac)-31 b(kwar)-57
-b(e)386 b(P)-124 b(ac)-31 b(ka)-15 b(g)g(e)386 b(Mana)-15
-b(g)g(ement)p Black -30 3611 a FX(Figur)-28 b(e)387 b(18-2.)h(Pkgtool)e
-(view)h(mode)-30 5475 y
-SDict begin H.S end
- -30 5475 a -30 5475 a
-SDict begin 18.2 H.A end
- -30 5475
-a -30 5475 a
-SDict begin [ /View [/XYZ H.V] /Dest (6422) cvn H.B /DEST pdfmark end
- -30 5475 a -30 29695 a
- currentpoint currentpoint translate 1 1 scale neg exch neg exch translate
- -30 29695 a @beginspecial
-21 @llx 60 @lly 425 @urx 271 @ury 4040 @rwi @setspecial
-%%BeginDocument: package-management/pkgtool-view.eps
-%!PS-Adobe-2.0 EPSF-1.2
-%%BoundingBox: 21 60 425 271
-
-/Outterbox
-{ newpath moveto
-0 208 rlineto
-401 0 rlineto
-0 -208 rlineto
-closepath
-23 86 moveto
-401 0 rlineto } def
-
-/Innerbox
-{ moveto
-379 0 rlineto
-0 142 rlineto
--379 0 rlineto
-closepath} def
-
-/TitleFont
-{ /Helvetica findfont 13 scalefont setfont
-moveto } def
-
-/PanelFont
-{ /Helvetica findfont 12 scalefont setfont
-moveto } def
-
-/ContentFont
-{ /Helvetica findfont 12 scalefont setfont
-moveto } def
-
-/ButtonFont
-{ /Helvetica findfont 11 scalefont setfont
-moveto } def
-
-23 61 Outterbox
-34 100 Innerbox
-
-100 266 TitleFont() show
-
-34 251 PanelFont (Please select the package you wish to view.) show
-34 220 PanelFont () show
-
-42 230 ContentFont (a2ps-4.13b-i386-2) show
-42 216 ContentFont (aaa_base-9.1.0-noarch) show
-42 202 ContentFont (aalib-1.4rc5-i386-1) show
-42 188 ContentFont (abiword-2.0.0-i486-1) show
-42 174 ContentFont (acct-6.3.2-i386-1) show
-42 160 ContentFont (acme-2.4.0-i486-1) show
-42 146 ContentFont (acpid-1.0.2-i486-1) show
-42 132 ContentFont (alsa-driver-0.9.6-i48) show
-42 118 ContentFont (alsa-lib-0.9.6-i486-1) show
-42 104 ContentFont (alsa-oss-0.9.6-i486-1) show
-
-169 230 ContentFont (a2ps (any to PostScript filter)) show
-169 216 ContentFont (aaa_base \(Basic Linux filesystem pac) show
-169 202 ContentFont (aalib (ASCII Art library) _1l1vlvlvl) show
-169 188 ContentFont (abiword (AbiWord Personal)) show
-169 174 ContentFont (acct (process accounting utilities)) show
-169 160 ContentFont (acme) show
-169 146 ContentFont (acpid (ACPI daemon)) show
-169 132 ContentFont (alsa-driver \(Advanced Linux Sound Ar) show
-169 118 ContentFont (alsa-lib \(Advanced Linux Sound Archi) show
-169 104 ContentFont (alsa-oss \(library/wrapper to use OSS) show
-
-143 71 ButtonFont (< OK >) show
-227 71 ButtonFont (< Cancel >) show
-
-stroke
-showpage
-%%EOF
-
-%%EndDocument
- @endspecial -30 29695 a
- currentpoint currentpoint translate 1 1 div 1 1 div scale neg exch
-neg exch translate
- -30 29695 a 3564 x FU(If)373
-b(you)f(w)-15 b(ant)372 b(to)g(remo)-23 b(v)g(e)372 b(packages,)h
-(select)g(the)f(remo)-23 b(v)g(e)372 b(option)g(and)g(you)h(will)f(be)g
-(presented)-30 35274 y(with)396 b(a)g(checklist)f(of)i(all)f(the)f
-(installed)h(packages.)g(Flag)g(the)g(ones)g(you)f(w)-15
-b(ant)396 b(to)g(remo)-23 b(v)g(e)395 b(and)-30 37289
-y(select)387 b(OK.)h FP(pkgtool)f FU(will)f(remo)-23
-b(v)g(e)387 b(them.)-30 37484 y
-SDict begin H.S end
- -30 37484 a -30 37484
-a
-SDict begin 18.2 H.A end
- -30 37484 a -30 37484 a
-SDict begin [ /View [/XYZ H.V] /Dest (6427) cvn H.B /DEST pdfmark end
- -30 37484 a -30 38258 a
-SDict begin H.S end
- -30
-38258 a -30 38258 a
-SDict begin 18.2 H.A end
- -30 38258 a -30 38258 a
-SDict begin [ /View [/XYZ H.V] /Dest (6430) cvn H.B /DEST pdfmark end
- -30 38258
-a 1820 x FU(Some)500 b(users)h(prefer)g(this)f(utility)g(to)h(the)f
-(command)g(line)h(utilities.)f(Ho)-39 b(we)g(v)-23 b(er)-62
-b(,)501 b(it)g(should)f(be)-30 42093 y(noted)473 b(that)g(the)g
-(command)f(line)h(utilities)f(of)-39 b(fer)474 b(man)-23
-b(y)472 b(more)h(options.)g(Also,)g(the)g(ability)f(to)-30
-44107 y(upgrade)387 b(packages)g(is)h(only)e(of)-39 b(fered)388
-b(through)f(the)g(command)g(line)g(utilities.)-30 45218
-y
-SDict begin H.S end
- -30 45218 a -30 45218 a
-SDict begin 18.2 H.A end
- -30 45218 a -30 45218 a
-SDict begin [ /View [/XYZ H.V] /Dest (PACKAGE-MANAGEMENT-PACKAGE-UTILITIES-INSTALLPKG)
-cvn H.B /DEST pdfmark end
- -30
-45218 a 5181 x FG(installpkg)-30 50813 y
-SDict begin H.S end
- -30 50813 a
--30 50813 a
-SDict begin 18.2 H.A end
- -30 50813 a -30 50813 a
-SDict begin [ /View [/XYZ H.V] /Dest (6433) cvn H.B /DEST pdfmark end
- -30 50813 a -30 50813
-a
-SDict begin H.S end
- -30 50813 a -30 50813 a
-SDict begin 18.2 H.A end
- -30 50813 a -30 50813 a
-SDict begin [ /View [/XYZ H.V] /Dest (6435) cvn H.B /DEST pdfmark end
- -30
-50813 a -30 51743 a
-SDict begin H.S end
- -30 51743 a -30 51743 a
-SDict begin 18.2 H.A end
- -30 51743
-a -30 51743 a
-SDict begin [ /View [/XYZ H.V] /Dest (6438) cvn H.B /DEST pdfmark end
- -30 51743 a -30 51743 a
-SDict begin H.S end
- -30 51743 a -30
-51743 a
-SDict begin 18.2 H.A end
- -30 51743 a -30 51743 a
-SDict begin [ /View [/XYZ H.V] /Dest (6439) cvn H.B /DEST pdfmark end
- -30 51743 a 1601 x FP(installpkg)p
-FU(\(8\))374 b(handles)h(installation)f(of)i(ne)-39 b(w)376
-b(packages)f(on)g(the)g(system.)g(The)h(syntax)f(is)g(as)-30
-55359 y(follo)-39 b(ws:)-30 56924 y
-SDict begin H.S end
- -30 56924 a -30 56924
-a
-SDict begin 14.56 H.A end
- -30 56924 a -30 56924 a
-SDict begin [ /View [/XYZ H.V] /Dest (6440) cvn H.B /DEST pdfmark end
- -30 56924 a -30 56924 a
-SDict begin H.S end
- -30
-56924 a -30 56924 a
-SDict begin 14.56 H.A end
- -30 56924 a -30 56924 a
-SDict begin [ /View [/XYZ H.V] /Dest (6441) cvn H.B /DEST pdfmark end
- -30 56924
-a 1596 x FJ(#)1309 58520 y
-SDict begin H.S end
- 1309 58520 a 1309 58520 a
-SDict begin 14.56 H.A end
-
-1309 58520 a 1309 58520 a
-SDict begin [ /View [/XYZ H.V] /Dest (6442) cvn H.B /DEST pdfmark end
- 1309 58520 a FH(installpkg)743
-b(option)g(package_name)-30 60238 y
-SDict begin H.S end
- -30 60238 a -30 60238
-a
-SDict begin 18.2 H.A end
- -30 60238 a -30 60238 a
-SDict begin [ /View [/XYZ H.V] /Dest (6443) cvn H.B /DEST pdfmark end
- -30 60238 a 1846 x FU(Three)388
-b(options)e(are)i(pro)-23 b(vided)386 b(for)19270 62084
-y
-SDict begin H.S end
- 19270 62084 a 19270 62084 a
-SDict begin 18.2 H.A end
- 19270 62084 a 19270 62084
-a
-SDict begin [ /View [/XYZ H.V] /Dest (6444) cvn H.B /DEST pdfmark end
- 19270 62084 a FP(installpkg)p FU(.)h(Only)g(one)g(option)g(can)g(be)h
-(used)f(at)g(a)h(time.)p Black -30 73792 a FR(218)p Black
-eop end
-%%Page: 219 241
-TeXDict begin 219 240 bop -8000 -8000 a
-SDict begin /product where{pop product(Distiller)search{pop pop pop
-version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
-closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
-grestore}if}{pop}ifelse}{pop}ifelse}if end
- -8000 -8000 a
-Black 0 TeXcolorgray -30 -1237 a
-SDict begin H.S end
- -30 -1237 a 0 TeXcolorgray
-0 TeXcolorgray -30 -1237 a
-SDict begin H.R end
- -30 -1237 a -30 -1237 a
-SDict begin [ /View [/XYZ H.V] /Dest (page.219) cvn H.B /DEST pdfmark
-end
- -30
--1237 a Black 23991 -1636 a FR(Chapter)386 b(18)h(Slac)-31
-b(kwar)-57 b(e)387 b(P)-124 b(ac)-31 b(ka)-15 b(g)g(e)386
-b(Mana)-15 b(g)g(ement)p Black -30 3611 a FX(T)-143 b(able)387
-b(18-1.)h FV(installpkg)d FX(Options)-30 5477 y
-SDict begin H.S end
- -30 5477
-a -30 5477 a
-SDict begin 18.2 H.A end
- -30 5477 a -30 5477 a
-SDict begin [ /View [/XYZ H.V] /Dest (6448) cvn H.B /DEST pdfmark end
- -30 5477 a -30 5477
-a
-SDict begin H.S end
- -30 5477 a -30 5477 a
-SDict begin 18.2 H.A end
- -30 5477 a -30 5477 a
-SDict begin [ /View [/XYZ H.V] /Dest (table.18) cvn H.B /DEST pdfmark
-end
- -30 5477
-a 1761 x FE(Option)7958 b(Eff)-15 b(ects)p -30 7614 51806
-45 v -30 7614 V -30 9375 a FU(-m)11230 b(Performs)386
-b(a)i(mak)-15 b(epkg)386 b(operation)h(on)g(the)g(current)g(directory)
--101 b(.)-30 11472 y(-w)-15 b(arn)9353 b(Sho)-39 b(ws)386
-b(what)h(w)-15 b(ould)387 b(happen)g(if)g(you)g(installed)g(the)g
-(speci\002ed)12922 13486 y(package.)g(This)g(is)g(useful)g(for)h
-(production)e(systems)g(so)i(you)f(can)g(see)12922 15501
-y(e)-23 b(xactly)386 b(what)h(w)-15 b(ould)387 b(happen)g(before)g
-(installing)f(something.)-30 17598 y(-r)11920 b(Recursi)-39
-b(v)-23 b(ely)386 b(install)h(all)g(packages)g(in)g(the)g(current)g
-(directory)g(and)12922 19612 y(do)-39 b(wn.)387 b(The)g(package)h(name)
-f(can)g(use)h(wildcards,)f(which)g(w)-15 b(ould)386 b(be)12922
-21627 y(used)h(as)g(the)g(search)h(mask)f(when)g(recursi)-39
-b(v)-23 b(ely)387 b(installing.)-30 23512 y
-SDict begin H.S end
- -30 23512
-a -30 23512 a
-SDict begin 18.2 H.A end
- -30 23512 a -30 23512 a
-SDict begin [ /View [/XYZ H.V] /Dest (6465) cvn H.B /DEST pdfmark end
- -30 23512 a 1683
-x FU(If)361 b(you)g(pass)g(the)9334 25195 y
-SDict begin H.S end
- 9334 25195
-a 9334 25195 a
-SDict begin 18.2 H.A end
- 9334 25195 a 9334 25195 a
-SDict begin [ /View [/XYZ H.V] /Dest (6466) cvn H.B /DEST pdfmark end
- 9334 25195 a
-FP(ROOT)f FU(en)-62 b(vironment)360 b(v)-39 b(ariable)361
-b(before)30436 25195 y
-SDict begin H.S end
- 30436 25195 a 30436 25195 a
-SDict begin 18.2 H.A end
- 30436
-25195 a 30436 25195 a
-SDict begin [ /View [/XYZ H.V] /Dest (6467) cvn H.B /DEST pdfmark end
- 30436 25195 a FP(installpkg)p FU(,)f(that)h(path)
-g(will)f(be)h(used)-30 27209 y(for)d(the)f(root)h(directory)-101
-b(.)358 b(This)f(is)g(useful)h(for)f(setting)g(up)h(ne)-39
-b(w)358 b(dri)-39 b(v)-23 b(es)357 b(for)h(your)f(root)h(directory)-101
-b(.)-30 29224 y(The)-23 b(y)387 b(will)g(typically)f(be)i(mounted)e(to)
-21384 29224 y
-SDict begin H.S end
- 21384 29224 a 21384 29224 a
-SDict begin 18.2 H.A end
- 21384 29224
-a 21384 29224 a
-SDict begin [ /View [/XYZ H.V] /Dest (6468) cvn H.B /DEST pdfmark end
- 21384 29224 a FQ(/mnt)f FU(or)j(something)e(other)h
-(than)39429 29224 y
-SDict begin H.S end
- 39429 29224 a 39429 29224 a
-SDict begin 18.2 H.A end
- 39429
-29224 a 39429 29224 a
-SDict begin [ /View [/XYZ H.V] /Dest (6469) cvn H.B /DEST pdfmark end
- 39429 29224 a FQ(/)p FU(.)-30 30334
-y
-SDict begin H.S end
- -30 30334 a -30 30334 a
-SDict begin 18.2 H.A end
- -30 30334 a -30 30334 a
-SDict begin [ /View [/XYZ H.V] /Dest (6470) cvn H.B /DEST pdfmark end
- -30
-30334 a 1680 x FU(The)428 b(installed)f(package)h(database)f(entry)h
-(is)g(stored)f(in)30680 32014 y
-SDict begin H.S end
- 30680 32014 a 30680 32014
-a
-SDict begin 18.2 H.A end
- 30680 32014 a 30680 32014 a
-SDict begin [ /View [/XYZ H.V] /Dest (6471) cvn H.B /DEST pdfmark end
- 30680 32014 a FQ(/var/log/packages)p
-FU(.)418 b(The)427 b(entry)h(is)g(re-)-30 34028 y(ally)414
-b(just)f(a)h(plain)f(te)-23 b(xt)413 b(\002le,)h(one)g(for)g(each)g
-(package.)g(If)g(the)g(package)f(has)h(a)g(postinstallation)-30
-36043 y(script,)387 b(it)h(is)f(written)f(to)13230 36043
-y
-SDict begin H.S end
- 13230 36043 a 13230 36043 a
-SDict begin 18.2 H.A end
- 13230 36043 a 13230 36043
-a
-SDict begin [ /View [/XYZ H.V] /Dest (6472) cvn H.B /DEST pdfmark end
- 13230 36043 a FQ(/var/log/scripts/)p FU(.)-30 37153
-y
-SDict begin H.S end
- -30 37153 a -30 37153 a
-SDict begin 18.2 H.A end
- -30 37153 a -30 37153 a
-SDict begin [ /View [/XYZ H.V] /Dest (6473) cvn H.B /DEST pdfmark end
- -30
-37153 a 1679 x FU(Y)-170 b(ou)503 b(may)h(specify)g(se)-39
-b(v)-23 b(eral)503 b(packages)h(or)g(use)g(wildcards)f(for)h(the)g
-(package)g(name.)g(Be)g(ad-)-30 40847 y(vised)426 b(that)6419
-40847 y
-SDict begin H.S end
- 6419 40847 a 6419 40847 a
-SDict begin 18.2 H.A end
- 6419 40847 a 6419 40847
-a
-SDict begin [ /View [/XYZ H.V] /Dest (6474) cvn H.B /DEST pdfmark end
- 6419 40847 a FP(installpkg)g FU(will)g(not)g(tell)g(you)g(if)h(you)f
-(are)h(o)-23 b(v)g(erwriting)425 b(an)i(installed)e(package.)-30
-42862 y(It)j(will)f(simply)f(install)h(right)g(on)g(top)g(of)h(the)f
-(old)h(one.)g(If)f(you)h(w)-15 b(ant)426 b(to)i(ensure)f(that)g(old)g
-(\002les)-30 44876 y(from)387 b(the)g(pre)-39 b(vious)387
-b(package)h(are)f(safely)h(remo)-23 b(v)g(ed,)386 b(use)31774
-44876 y
-SDict begin H.S end
- 31774 44876 a 31774 44876 a
-SDict begin 18.2 H.A end
- 31774 44876 a 31774
-44876 a
-SDict begin [ /View [/XYZ H.V] /Dest (6475) cvn H.B /DEST pdfmark end
- 31774 44876 a FP(upgradepkg)p FU(.)-30 45987
-y
-SDict begin H.S end
- -30 45987 a -30 45987 a
-SDict begin 18.2 H.A end
- -30 45987 a -30 45987 a
-SDict begin [ /View [/XYZ H.V] /Dest (PACKAGE-MANAGEMENT-PACKAGE-UTILITIES-REMOVEPKG)
-cvn H.B /DEST pdfmark end
- -30
-45987 a 5181 x FG(remo)-37 b(vepkg)-30 51582 y
-SDict begin H.S end
- -30 51582
-a -30 51582 a
-SDict begin 18.2 H.A end
- -30 51582 a -30 51582 a
-SDict begin [ /View [/XYZ H.V] /Dest (6478) cvn H.B /DEST pdfmark end
- -30 51582 a -30
-51582 a
-SDict begin H.S end
- -30 51582 a -30 51582 a
-SDict begin 18.2 H.A end
- -30 51582 a -30 51582
-a
-SDict begin [ /View [/XYZ H.V] /Dest (6481) cvn H.B /DEST pdfmark end
- -30 51582 a -30 52512 a
-SDict begin H.S end
- -30 52512 a -30 52512 a
-SDict begin 18.2 H.A end
- -30
-52512 a -30 52512 a
-SDict begin [ /View [/XYZ H.V] /Dest (6483) cvn H.B /DEST pdfmark end
- -30 52512 a -30 52512 a
-SDict begin H.S end
- -30 52512
-a -30 52512 a
-SDict begin 18.2 H.A end
- -30 52512 a -30 52512 a
-SDict begin [ /View [/XYZ H.V] /Dest (6484) cvn H.B /DEST pdfmark end
- -30 52512 a 1601
-x FP(removepkg)p FU(\(8\))462 b(handles)h(remo)-23 b(ving)462
-b(installed)g(packages)h(from)g(the)g(system.)g(The)g(syntax)f(is)-30
-56128 y(as)387 b(follo)-39 b(ws:)-30 57693 y
-SDict begin H.S end
- -30 57693
-a -30 57693 a
-SDict begin 14.56 H.A end
- -30 57693 a -30 57693 a
-SDict begin [ /View [/XYZ H.V] /Dest (6485) cvn H.B /DEST pdfmark end
- -30 57693 a -30
-57693 a
-SDict begin H.S end
- -30 57693 a -30 57693 a
-SDict begin 14.56 H.A end
- -30 57693 a -30 57693
-a
-SDict begin [ /View [/XYZ H.V] /Dest (6486) cvn H.B /DEST pdfmark end
- -30 57693 a 1596 x FJ(#)1309 59289 y
-SDict begin H.S end
- 1309 59289 a 1309
-59289 a
-SDict begin 14.56 H.A end
- 1309 59289 a 1309 59289 a
-SDict begin [ /View [/XYZ H.V] /Dest (6487) cvn H.B /DEST pdfmark end
- 1309 59289 a FH(removepkg)743
-b(option)g(package_name)-30 61007 y
-SDict begin H.S end
- -30 61007 a -30 61007
-a
-SDict begin 18.2 H.A end
- -30 61007 a -30 61007 a
-SDict begin [ /View [/XYZ H.V] /Dest (6488) cvn H.B /DEST pdfmark end
- -30 61007 a 1846 x FU(F)-23
-b(our)387 b(options)f(are)i(pro)-23 b(vided)386 b(for)18561
-62853 y
-SDict begin H.S end
- 18561 62853 a 18561 62853 a
-SDict begin 18.2 H.A end
- 18561 62853 a 18561
-62853 a
-SDict begin [ /View [/XYZ H.V] /Dest (6489) cvn H.B /DEST pdfmark end
- 18561 62853 a FP(removepkg)p FU(.)h(Only)f(one)i(option)e(may)h
-(be)h(used)f(at)g(a)h(time.)-30 63189 y
-SDict begin H.S end
- -30 63189 a -30
-63189 a
-SDict begin 18.2 H.A end
- -30 63189 a -30 63189 a
-SDict begin [ /View [/XYZ H.V] /Dest (6490) cvn H.B /DEST pdfmark end
- -30 63189 a Black 49451
-73792 a FR(219)p Black eop end
-%%Page: 220 242
-TeXDict begin 220 241 bop -8000 -8000 a
-SDict begin /product where{pop product(Distiller)search{pop pop pop
-version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
-closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
-grestore}if}{pop}ifelse}{pop}ifelse}if end
- -8000 -8000 a
-Black 0 TeXcolorgray -30 -1237 a
-SDict begin H.S end
- -30 -1237 a 0 TeXcolorgray
-0 TeXcolorgray -30 -1237 a
-SDict begin H.R end
- -30 -1237 a -30 -1237 a
-SDict begin [ /View [/XYZ H.V] /Dest (page.220) cvn H.B /DEST pdfmark
-end
- -30
--1237 a Black -30 -2687 a
-SDict begin H.S end
- -30 -2687 a -30 -2687 a
-SDict begin 18.2 H.A end
- -30
--2687 a -30 -2687 a
-SDict begin [ /View [/XYZ H.V] /Dest (6541) cvn H.B /DEST pdfmark end
- -30 -2687 a 1051 x FR(Chapter)387
-b(18)g(Slac)-31 b(kwar)-57 b(e)386 b(P)-124 b(ac)-31
-b(ka)-15 b(g)g(e)386 b(Mana)-15 b(g)g(ement)p Black -30
-3611 a FX(T)-143 b(able)387 b(18-2.)h FV(remo)-23 b(v)g(epkg)386
-b FX(Options)-30 5477 y
-SDict begin H.S end
- -30 5477 a -30 5477 a
-SDict begin 18.2 H.A end
- -30 5477
-a -30 5477 a
-SDict begin [ /View [/XYZ H.V] /Dest (6493) cvn H.B /DEST pdfmark end
- -30 5477 a -30 5477 a
-SDict begin H.S end
- -30 5477 a -30 5477
-a
-SDict begin 18.2 H.A end
- -30 5477 a -30 5477 a
-SDict begin [ /View [/XYZ H.V] /Dest (table.19) cvn H.B /DEST pdfmark
-end
- -30 5477 a 1761 x FE(Option)7958
-b(Eff)-15 b(ects)p -30 7614 51806 45 v -30 7614 V -30
-9375 a FU(-cop)g(y)9438 b(The)387 b(package)g(is)g(copied)g(to)g(the)h
-(preserv)-23 b(ed)387 b(packages)g(directory)-101 b(.)12922
-11390 y(This)379 b(creates)h(a)g(tree)g(of)h(the)e(original)h(package)g
-(without)f(remo)-23 b(ving)379 b(it.)-30 15498 y(-k)-15
-b(eep)9525 b(Sa)-31 b(v)-23 b(es)386 b(temporary)h(\002les)g(created)g
-(during)g(the)g(remo)-23 b(v)-39 b(al.)388 b(Really)e(only)12922
-17512 y(useful)h(for)g(deb)-31 b(ugging)386 b(purposes.)-30
-19609 y(-preserv)-23 b(e)7210 b(The)387 b(package)g(is)g(remo)-23
-b(v)g(ed,)387 b(b)-31 b(ut)387 b(copied)g(to)g(the)h(preserv)-23
-b(ed)387 b(packages)12922 21623 y(directory)f(at)i(the)f(same)g(time.)
--30 23720 y(-w)-15 b(arn)9353 b(Sho)-39 b(ws)386 b(what)h(w)-15
-b(ould)387 b(happen)g(if)g(you)g(remo)-23 b(v)g(ed)387
-b(the)g(package.)-30 25605 y
-SDict begin H.S end
- -30 25605 a -30 25605 a
-SDict begin 18.2 H.A end
-
--30 25605 a -30 25605 a
-SDict begin [ /View [/XYZ H.V] /Dest (6513) cvn H.B /DEST pdfmark end
- -30 25605 a 1683 x FU(If)419
-b(you)e(pass)h(the)9562 27288 y
-SDict begin H.S end
- 9562 27288 a 9562 27288
-a
-SDict begin 18.2 H.A end
- 9562 27288 a 9562 27288 a
-SDict begin [ /View [/XYZ H.V] /Dest (6514) cvn H.B /DEST pdfmark end
- 9562 27288 a FP(ROOT)g FU(en)-62
-b(vironment)417 b(v)-39 b(ariable)419 b(before)30894
-27288 y
-SDict begin H.S end
- 30894 27288 a 30894 27288 a
-SDict begin 18.2 H.A end
- 30894 27288 a 30894
-27288 a
-SDict begin [ /View [/XYZ H.V] /Dest (6515) cvn H.B /DEST pdfmark end
- 30894 27288 a FP(removepkg)p FU(,)f(that)f(path)h(will)g(be)g
-(used)-30 29302 y(for)358 b(the)f(root)h(directory)-101
-b(.)358 b(This)f(is)g(useful)h(for)f(setting)g(up)h(ne)-39
-b(w)358 b(dri)-39 b(v)-23 b(es)357 b(for)h(your)f(root)h(directory)-101
-b(.)-30 31317 y(The)-23 b(y)387 b(will)g(typically)f(be)i(mounted)e(to)
-21384 31317 y
-SDict begin H.S end
- 21384 31317 a 21384 31317 a
-SDict begin 18.2 H.A end
- 21384 31317
-a 21384 31317 a
-SDict begin [ /View [/XYZ H.V] /Dest (6516) cvn H.B /DEST pdfmark end
- 21384 31317 a FQ(/mnt)f FU(or)j(something)e(other)h
-(than)39429 31317 y
-SDict begin H.S end
- 39429 31317 a 39429 31317 a
-SDict begin 18.2 H.A end
- 39429
-31317 a 39429 31317 a
-SDict begin [ /View [/XYZ H.V] /Dest (6517) cvn H.B /DEST pdfmark end
- 39429 31317 a FQ(/)p FU(.)-30 32427
-y
-SDict begin H.S end
- -30 32427 a -30 32427 a
-SDict begin 18.2 H.A end
- -30 32427 a -30 32427 a
-SDict begin [ /View [/XYZ H.V] /Dest (6518) cvn H.B /DEST pdfmark end
- -30
-32427 a -30 32427 a
-SDict begin H.S end
- -30 32427 a -30 32427 a
-SDict begin 18.2 H.A end
- -30 32427
-a -30 32427 a
-SDict begin [ /View [/XYZ H.V] /Dest (6519) cvn H.B /DEST pdfmark end
- -30 32427 a 1680 x FP(removepkg)534 b FU(looks)g(at)h
-(the)g(other)f(installed)g(packages)h(and)f(only)h(remo)-23
-b(v)g(es)534 b(\002les)g(unique)g(to)-30 36121 y(the)394
-b(package)g(you)f(specify)-101 b(.)394 b(It)g(will)f(also)h(scan)f(the)
-h(postinstallation)e(script)h(for)h(the)g(speci\002ed)-30
-38136 y(package)387 b(and)h(remo)-23 b(v)g(e)386 b(an)-23
-b(y)387 b(symbolic)g(links)f(that)h(were)h(created)f(by)h(it.)-30
-39246 y
-SDict begin H.S end
- -30 39246 a -30 39246 a
-SDict begin 18.2 H.A end
- -30 39246 a -30 39246
-a
-SDict begin [ /View [/XYZ H.V] /Dest (6520) cvn H.B /DEST pdfmark end
- -30 39246 a 1679 x FU(During)329 b(the)h(remo)-23 b(v)-39
-b(al)329 b(process,)h(a)g(status)e(report)i(is)f(displayed.)h(After)f
-(the)h(remo)-23 b(v)-39 b(al,)329 b(the)h(pack-)-30 42940
-y(age)607 b(database)f(entry)h(is)f(mo)-23 b(v)g(ed)606
-b(to)20693 42940 y
-SDict begin H.S end
- 20693 42940 a 20693 42940 a
-SDict begin 18.2 H.A end
- 20693
-42940 a 20693 42940 a
-SDict begin [ /View [/XYZ H.V] /Dest (6521) cvn H.B /DEST pdfmark end
- 20693 42940 a FQ(/var/log/removed_packages)591
-b FU(and)606 b(the)h(postinstallation)-30 44955 y(script)387
-b(is)g(mo)-23 b(v)g(ed)386 b(to)11375 44955 y
-SDict begin H.S end
- 11375 44955
-a 11375 44955 a
-SDict begin 18.2 H.A end
- 11375 44955 a 11375 44955 a
-SDict begin [ /View [/XYZ H.V] /Dest (6522) cvn H.B /DEST pdfmark end
- 11375 44955
-a FQ(/var/log/removed)p FU(_scripts.)-30 46065 y
-SDict begin H.S end
- -30
-46065 a -30 46065 a
-SDict begin 18.2 H.A end
- -30 46065 a -30 46065 a
-SDict begin [ /View [/XYZ H.V] /Dest (6523) cvn H.B /DEST pdfmark end
- -30 46065
-a 1679 x FU(Just)421 b(as)h(with)7693 47744 y
-SDict begin H.S end
- 7693 47744
-a 7693 47744 a
-SDict begin 18.2 H.A end
- 7693 47744 a 7693 47744 a
-SDict begin [ /View [/XYZ H.V] /Dest (6524) cvn H.B /DEST pdfmark end
- 7693 47744 a
-FP(installpkg)p FU(,)f(you)g(can)g(specify)h(se)-39 b(v)-23
-b(eral)421 b(packages)h(or)f(use)g(wildcards)g(for)h(the)-30
-49759 y(package)387 b(name.)-30 50869 y
-SDict begin H.S end
- -30 50869 a -30
-50869 a
-SDict begin 18.2 H.A end
- -30 50869 a -30 50869 a
-SDict begin [ /View [/XYZ H.V] /Dest (PACKAGE-MANAGEMENT-PACKAGE-UTILITIES-UPGRADEPKG)
-cvn H.B /DEST pdfmark end
- -30 50869 a 5182 x FG(upgradepkg)-30
-56465 y
-SDict begin H.S end
- -30 56465 a -30 56465 a
-SDict begin 18.2 H.A end
- -30 56465 a -30 56465
-a
-SDict begin [ /View [/XYZ H.V] /Dest (6527) cvn H.B /DEST pdfmark end
- -30 56465 a -30 56465 a
-SDict begin H.S end
- -30 56465 a -30 56465 a
-SDict begin 18.2 H.A end
- -30
-56465 a -30 56465 a
-SDict begin [ /View [/XYZ H.V] /Dest (6530) cvn H.B /DEST pdfmark end
- -30 56465 a -30 57395 a
-SDict begin H.S end
- -30 57395
-a -30 57395 a
-SDict begin 18.2 H.A end
- -30 57395 a -30 57395 a
-SDict begin [ /View [/XYZ H.V] /Dest (6532) cvn H.B /DEST pdfmark end
- -30 57395 a -30
-57395 a
-SDict begin H.S end
- -30 57395 a -30 57395 a
-SDict begin 18.2 H.A end
- -30 57395 a -30 57395
-a
-SDict begin [ /View [/XYZ H.V] /Dest (6533) cvn H.B /DEST pdfmark end
- -30 57395 a 1600 x FP(upgradepkg)p FU(\(8\))501 b(will)g(upgrade)g
-(an)h(installed)f(Slackw)-15 b(are)501 b(package.)h(The)g(syntax)f(is)g
-(as)h(fol-)-30 61010 y(lo)-39 b(ws:)-30 62575 y
-SDict begin H.S end
- -30 62575
-a -30 62575 a
-SDict begin 14.56 H.A end
- -30 62575 a -30 62575 a
-SDict begin [ /View [/XYZ H.V] /Dest (6534) cvn H.B /DEST pdfmark end
- -30 62575 a -30
-62575 a
-SDict begin H.S end
- -30 62575 a -30 62575 a
-SDict begin 14.56 H.A end
- -30 62575 a -30 62575
-a
-SDict begin [ /View [/XYZ H.V] /Dest (6535) cvn H.B /DEST pdfmark end
- -30 62575 a 1597 x FJ(#)1309 64172 y
-SDict begin H.S end
- 1309 64172 a 1309
-64172 a
-SDict begin 14.56 H.A end
- 1309 64172 a 1309 64172 a
-SDict begin [ /View [/XYZ H.V] /Dest (6536) cvn H.B /DEST pdfmark end
- 1309 64172 a FH(upgradepkg)743
-b(package_name)-30 65889 y
-SDict begin H.S end
- -30 65889 a -30 65889 a
-SDict begin 18.2 H.A end
- -30
-65889 a -30 65889 a
-SDict begin [ /View [/XYZ H.V] /Dest (6537) cvn H.B /DEST pdfmark end
- -30 65889 a 1847 x FU(or)p Black
--30 73792 a FR(220)p Black eop end
-%%Page: 221 243
-TeXDict begin 221 242 bop -8000 -8000 a
-SDict begin /product where{pop product(Distiller)search{pop pop pop
-version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
-closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
-grestore}if}{pop}ifelse}{pop}ifelse}if end
- -8000 -8000 a
-Black 0 TeXcolorgray -30 -1237 a
-SDict begin H.S end
- -30 -1237 a 0 TeXcolorgray
-0 TeXcolorgray -30 -1237 a
-SDict begin H.R end
- -30 -1237 a -30 -1237 a
-SDict begin [ /View [/XYZ H.V] /Dest (page.221) cvn H.B /DEST pdfmark
-end
- -30
--1237 a Black 23991 -1636 a FR(Chapter)386 b(18)h(Slac)-31
-b(kwar)-57 b(e)387 b(P)-124 b(ac)-31 b(ka)-15 b(g)g(e)386
-b(Mana)-15 b(g)g(ement)p Black -30 2504 a
-SDict begin H.S end
- -30 2504 a
--30 2504 a
-SDict begin 14.56 H.A end
- -30 2504 a -30 2504 a
-SDict begin [ /View [/XYZ H.V] /Dest (6538) cvn H.B /DEST pdfmark end
- -30 2504 a -30 2504
-a
-SDict begin H.S end
- -30 2504 a -30 2504 a
-SDict begin 14.56 H.A end
- -30 2504 a -30 2504 a
-SDict begin [ /View [/XYZ H.V] /Dest (6539) cvn H.B /DEST pdfmark end
- -30 2504
-a 1107 x FJ(#)1309 3611 y
-SDict begin H.S end
- 1309 3611 a 1309 3611 a
-SDict begin 14.56 H.A end
- 1309
-3611 a 1309 3611 a
-SDict begin [ /View [/XYZ H.V] /Dest (6540) cvn H.B /DEST pdfmark end
- 1309 3611 a FH(upgradepkg)743 b
-(old_package_name\045new_package_name)-30 7176 y FP(upgradepkg)553
-b FU(w)-15 b(orks)554 b(by)g(\002rst)g(installing)f(the)h(ne)-39
-b(w)554 b(package)h(and)f(then)g(remo)-23 b(ving)553
-b(the)h(old)-30 9190 y(package)324 b(so)f(that)g(old)g(\002les)g(are)g
-(no)g(longer)h(around)f(on)g(the)g(system.)g(If)h(the)f(upgraded)g
-(package)-30 11205 y(name)457 b(has)g(changed,)h(use)f(the)g(percent)g
-(sign)f(syntax)h(to)g(specify)g(the)g(old)g(package)g(\(the)g(one)-30
-13220 y(that)387 b(is)g(installed\))g(and)g(the)g(ne)-39
-b(w)388 b(package)f(\(the)g(one)h(you)f(are)g(upgrading)g(it)g(to\).)
--30 14330 y
-SDict begin H.S end
- -30 14330 a -30 14330 a
-SDict begin 18.2 H.A end
- -30 14330 a -30 14330
-a
-SDict begin [ /View [/XYZ H.V] /Dest (6543) cvn H.B /DEST pdfmark end
- -30 14330 a 1679 x FU(If)361 b(you)g(pass)g(the)9334
-16009 y
-SDict begin H.S end
- 9334 16009 a 9334 16009 a
-SDict begin 18.2 H.A end
- 9334 16009 a 9334 16009
-a
-SDict begin [ /View [/XYZ H.V] /Dest (6544) cvn H.B /DEST pdfmark end
- 9334 16009 a FP(ROOT)f FU(en)-62 b(vironment)360 b(v)-39
-b(ariable)361 b(before)30436 16009 y
-SDict begin H.S end
- 30436 16009 a 30436
-16009 a
-SDict begin 18.2 H.A end
- 30436 16009 a 30436 16009 a
-SDict begin [ /View [/XYZ H.V] /Dest (6545) cvn H.B /DEST pdfmark end
- 30436 16009 a FP(upgradepkg)p
-FU(,)f(that)h(path)g(will)f(be)h(used)-30 18024 y(for)d(the)f(root)h
-(directory)-101 b(.)358 b(This)f(is)g(useful)h(for)f(setting)g(up)h(ne)
--39 b(w)358 b(dri)-39 b(v)-23 b(es)357 b(for)h(your)f(root)h(directory)
--101 b(.)-30 20038 y(The)-23 b(y)387 b(will)g(typically)f(be)i(mounted)
-e(to)21384 20038 y
-SDict begin H.S end
- 21384 20038 a 21384 20038 a
-SDict begin 18.2 H.A end
- 21384
-20038 a 21384 20038 a
-SDict begin [ /View [/XYZ H.V] /Dest (6546) cvn H.B /DEST pdfmark end
- 21384 20038 a FQ(/mnt)f FU(or)j(something)e
-(other)h(than)39429 20038 y
-SDict begin H.S end
- 39429 20038 a 39429 20038
-a
-SDict begin 18.2 H.A end
- 39429 20038 a 39429 20038 a
-SDict begin [ /View [/XYZ H.V] /Dest (6547) cvn H.B /DEST pdfmark end
- 39429 20038 a FQ(/)p FU(.)-30
-21149 y
-SDict begin H.S end
- -30 21149 a -30 21149 a
-SDict begin 18.2 H.A end
- -30 21149 a -30 21149
-a
-SDict begin [ /View [/XYZ H.V] /Dest (6548) cvn H.B /DEST pdfmark end
- -30 21149 a -30 21149 a
-SDict begin H.S end
- -30 21149 a -30 21149 a
-SDict begin 18.2 H.A end
- -30
-21149 a -30 21149 a
-SDict begin [ /View [/XYZ H.V] /Dest (6549) cvn H.B /DEST pdfmark end
- -30 21149 a 1679 x FP(upgradepkg)458
-b FU(is)g(not)h(\003a)-23 b(wless.)458 b(Y)-170 b(ou)458
-b(should)h(al)-15 b(w)g(ays)457 b(back)i(up)g(your)f(con\002guration)g
-(\002les.)h(If)-30 24843 y(the)-23 b(y)409 b(get)f(remo)-23
-b(v)g(ed)408 b(or)h(o)-23 b(v)g(erwritten,)408 b(you')-15
-b(ll)408 b(w)-15 b(ant)408 b(a)i(cop)-15 b(y)408 b(of)h(the)f
-(originals)g(for)h(an)-23 b(y)409 b(needed)-30 26857
-y(repair)388 b(w)-15 b(ork.)-30 27968 y
-SDict begin H.S end
- -30 27968 a -30
-27968 a
-SDict begin 18.2 H.A end
- -30 27968 a -30 27968 a
-SDict begin [ /View [/XYZ H.V] /Dest (6550) cvn H.B /DEST pdfmark end
- -30 27968 a 1679 x FU(Just)522
-b(as)h(with)7996 29647 y
-SDict begin H.S end
- 7996 29647 a 7996 29647 a
-SDict begin 18.2 H.A end
- 7996
-29647 a 7996 29647 a
-SDict begin [ /View [/XYZ H.V] /Dest (6551) cvn H.B /DEST pdfmark end
- 7996 29647 a FP(installpkg)f FU(and)18719
-29647 y
-SDict begin H.S end
- 18719 29647 a 18719 29647 a
-SDict begin 18.2 H.A end
- 18719 29647 a 18719
-29647 a
-SDict begin [ /View [/XYZ H.V] /Dest (6552) cvn H.B /DEST pdfmark end
- 18719 29647 a FP(removepkg)p FU(,)g(you)h(can)f(specify)h(se)
--39 b(v)-23 b(eral)523 b(packages)f(or)h(use)-30 31661
-y(wildcards)387 b(for)g(the)g(package)h(name.)-30 32772
-y
-SDict begin H.S end
- -30 32772 a -30 32772 a
-SDict begin 18.2 H.A end
- -30 32772 a -30 32772 a
-SDict begin [ /View [/XYZ H.V] /Dest (PACKAGE-MANAGEMENT-PACKAGE-UTILITIES-RPM)
-cvn H.B /DEST pdfmark end
- -30
-32772 a 5181 x FF(rpm2tgz)155 b FG(/)p FF(rpm2tar)-28
-b(gz)-30 38367 y
-SDict begin H.S end
- -30 38367 a -30 38367 a
-SDict begin 18.2 H.A end
- -30 38367 a
--30 38367 a
-SDict begin [ /View [/XYZ H.V] /Dest (6557) cvn H.B /DEST pdfmark end
- -30 38367 a -30 38367 a
-SDict begin H.S end
- -30 38367 a -30 38367
-a
-SDict begin 18.2 H.A end
- -30 38367 a -30 38367 a
-SDict begin [ /View [/XYZ H.V] /Dest (6559) cvn H.B /DEST pdfmark end
- -30 38367 a -30 39297 a
-SDict begin H.S end
- -30
-39297 a -30 39297 a
-SDict begin 18.2 H.A end
- -30 39297 a -30 39297 a
-SDict begin [ /View [/XYZ H.V] /Dest (6562) cvn H.B /DEST pdfmark end
- -30 39297
-a 1601 x FU(The)336 b(Red)g(Hat)g(P)-23 b(ackage)336
-b(Manager)g(is)g(a)g(popular)g(packaging)g(system)f(a)-31
-b(v)-39 b(ailable)336 b(today)-101 b(.)337 b(Man)-23
-b(y)-30 42913 y(softw)-15 b(are)359 b(distrib)-31 b(utors)358
-b(are)h(of)-39 b(fering)360 b(their)f(products)f(in)i(RPM)e(format.)h
-(Since)g(this)g(is)g(not)g(our)-30 44927 y(nati)-39 b(v)-23
-b(e)344 b(format,)g(we)g(do)f(not)h(recommend)f(people)h(rely)g(on)g
-(them.)g(Ho)-39 b(we)g(v)-23 b(er)-62 b(,)344 b(some)g(things)f(are)-30
-46942 y(only)387 b(a)-31 b(v)-39 b(ailable)387 b(as)h(an)f(RPM)f(\(e)
--39 b(v)-23 b(en)388 b(the)f(source\).)-30 47277 y
-SDict begin H.S end
- -30
-47277 a -30 47277 a
-SDict begin 18.2 H.A end
- -30 47277 a -30 47277 a
-SDict begin [ /View [/XYZ H.V] /Dest (6563) cvn H.B /DEST pdfmark end
- -30 47277
-a -30 48052 a
-SDict begin H.S end
- -30 48052 a -30 48052 a
-SDict begin 18.2 H.A end
- -30 48052 a -30
-48052 a
-SDict begin [ /View [/XYZ H.V] /Dest (6566) cvn H.B /DEST pdfmark end
- -30 48052 a 1679 x FU(W)-124 b(e)528 b(pro)-23
-b(vide)526 b(a)i(program)f(that)g(will)f(con)-62 b(v)-23
-b(ert)527 b(RPM)g(packages)g(to)g(our)g(nati)-39 b(v)-23
-b(e)44224 49731 y
-SDict begin H.S end
- 44224 49731 a 44224 49731 a
-SDict begin 18.2 H.A end
- 44224 49731
-a 44224 49731 a
-SDict begin [ /View [/XYZ H.V] /Dest (6567) cvn H.B /DEST pdfmark end
- 44224 49731 a FQ(.tgz)525 b FU(format.)-30
-51746 y(This)325 b(will)g(allo)-39 b(w)325 b(you)g(to)g(e)-23
-b(xtract)325 b(the)g(package)h(\(perhaps)f(with)34582
-51746 y
-SDict begin H.S end
- 34582 51746 a 34582 51746 a
-SDict begin 18.2 H.A end
- 34582 51746 a 34582
-51746 a
-SDict begin [ /View [/XYZ H.V] /Dest (6568) cvn H.B /DEST pdfmark end
- 34582 51746 a FP(explodepkg)p FU(\))f(to)h(a)g(temporary)-30
-53761 y(directory)387 b(and)g(e)-23 b(xamine)387 b(its)g(contents.)-30
-54871 y
-SDict begin H.S end
- -30 54871 a -30 54871 a
-SDict begin 18.2 H.A end
- -30 54871 a -30 54871
-a
-SDict begin [ /View [/XYZ H.V] /Dest (6569) cvn H.B /DEST pdfmark end
- -30 54871 a 1679 x FU(The)2791 56550 y
-SDict begin H.S end
- 2791 56550 a
-2791 56550 a
-SDict begin 18.2 H.A end
- 2791 56550 a 2791 56550 a
-SDict begin [ /View [/XYZ H.V] /Dest (6570) cvn H.B /DEST pdfmark end
- 2791 56550 a FP(rpm2tgz)409
-b FU(program)h(will)g(create)h(a)g(Slackw)-15 b(are)409
-b(package)i(with)f(a)38701 56550 y
-SDict begin H.S end
- 38701 56550 a 38701
-56550 a
-SDict begin 18.2 H.A end
- 38701 56550 a 38701 56550 a
-SDict begin [ /View [/XYZ H.V] /Dest (6571) cvn H.B /DEST pdfmark end
- 38701 56550 a FQ(.tgz)e
-FU(e)-23 b(xtension,)410 b(while)-30 58565 y
-SDict begin H.S end
- -30 58565
-a -30 58565 a
-SDict begin 18.2 H.A end
- -30 58565 a -30 58565 a
-SDict begin [ /View [/XYZ H.V] /Dest (6572) cvn H.B /DEST pdfmark end
- -30 58565 a FQ(rpm2targz)382
-b FU(creates)387 b(an)h(archi)-39 b(v)-23 b(e)387 b(with)g(a)21639
-58565 y
-SDict begin H.S end
- 21639 58565 a 21639 58565 a
-SDict begin 18.2 H.A end
- 21639 58565 a 21639
-58565 a
-SDict begin [ /View [/XYZ H.V] /Dest (6573) cvn H.B /DEST pdfmark end
- 21639 58565 a FQ(.tar.gz)c FU(e)-23 b(xtension.)-30
-61159 y
-SDict begin H.S end
- -30 61159 a -30 61159 a
-SDict begin 18.2 H.A end
- -30 61159 a -30 61159
-a
-SDict begin [ /View [/XYZ H.V] /Dest (PACKAGE-MANAGEMENT-MAKING-PACKAGES)
-cvn H.B /DEST pdfmark end
- -30 61159 a Black 49451 73792 a FR(221)p Black eop
-end
-%%Page: 222 244
-TeXDict begin 222 243 bop -8000 -8000 a
-SDict begin /product where{pop product(Distiller)search{pop pop pop
-version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
-closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
-grestore}if}{pop}ifelse}{pop}ifelse}if end
- -8000 -8000 a
-Black 0 TeXcolorgray -30 -1237 a
-SDict begin H.S end
- -30 -1237 a 0 TeXcolorgray
-0 TeXcolorgray -30 -1237 a
-SDict begin H.R end
- -30 -1237 a -30 -1237 a
-SDict begin [ /View [/XYZ H.V] /Dest (page.222) cvn H.B /DEST pdfmark
-end
- -30
--1237 a Black -399 x FR(Chapter)387 b(18)g(Slac)-31 b(kwar)-57
-b(e)386 b(P)-124 b(ac)-31 b(ka)-15 b(g)g(e)386 b(Mana)-15
-b(g)g(ement)p Black -30 4132 a FL(18.3)620 b(Making)f(P)-67
-b(ac)-45 b(ka)-22 b(g)22 b(es)-30 4629 y
-SDict begin H.S end
- -30 4629 a -30
-4629 a
-SDict begin 18.2 H.A end
- -30 4629 a -30 4629 a
-SDict begin [ /View [/XYZ H.V] /Dest (6576) cvn H.B /DEST pdfmark end
- -30 4629 a -30 5744 a
-SDict begin H.S end
- -30
-5744 a -30 5744 a
-SDict begin 18.2 H.A end
- -30 5744 a -30 5744 a
-SDict begin [ /View [/XYZ H.V] /Dest (6579) cvn H.B /DEST pdfmark end
- -30 5744 a 1519
-x FU(Making)623 b(Slackw)-15 b(are)624 b(packages)g(can)g(be)g(either)g
-(easy)g(or)g(dif)-39 b(\002cult.)624 b(There)g(is)g(no)f(speci\002c)-30
-9277 y(method)520 b(for)h(b)-31 b(uilding)520 b(a)h(package.)g(The)g
-(only)f(requirement)g(is)h(that)g(the)f(package)h(be)g(a)g(tar)-30
-11292 y(gzipped)387 b(\002le)g(and)g(if)h(there)f(is)g(a)g
-(postinstallation)f(script,)h(it)g(must)g(be)38152 11292
-y
-SDict begin H.S end
- 38152 11292 a 38152 11292 a
-SDict begin 18.2 H.A end
- 38152 11292 a 38152 11292
-a
-SDict begin [ /View [/XYZ H.V] /Dest (6580) cvn H.B /DEST pdfmark end
- 38152 11292 a FQ(/install/doinst.sh)p FU(.)-30 12402
-y
-SDict begin H.S end
- -30 12402 a -30 12402 a
-SDict begin 18.2 H.A end
- -30 12402 a -30 12402 a
-SDict begin [ /View [/XYZ H.V] /Dest (6581) cvn H.B /DEST pdfmark end
- -30
-12402 a 1679 x FU(If)437 b(you)f(are)g(interested)g(in)g(making)g
-(packages)g(for)g(your)g(system)g(or)g(for)g(a)h(netw)-15
-b(ork)435 b(that)h(you)-30 16096 y(manage,)393 b(you)g(should)f(ha)-31
-b(v)-23 b(e)393 b(a)h(look)e(at)h(the)g(v)-39 b(arious)393
-b(b)-31 b(uild)392 b(scripts)h(in)g(the)g(Slackw)-15
-b(are)392 b(source)-30 18111 y(tree.)c(There)f(are)h(se)-39
-b(v)-23 b(eral)387 b(methods)g(we)g(use)g(for)h(making)e(packages.)-30
-18446 y
-SDict begin H.S end
- -30 18446 a -30 18446 a
-SDict begin 18.2 H.A end
- -30 18446 a -30 18446
-a
-SDict begin [ /View [/XYZ H.V] /Dest (PACKAGE-MANAGEMENT-EXPLODEPKG)
-cvn H.B /DEST pdfmark end
- -30 18446 a 5027 x FF(e)-28 b(xplodepkg)-30 23887 y
-SDict begin H.S end
-
--30 23887 a -30 23887 a
-SDict begin 18.2 H.A end
- -30 23887 a -30 23887 a
-SDict begin [ /View [/XYZ H.V] /Dest (6585) cvn H.B /DEST pdfmark end
- -30 23887
-a -30 23887 a
-SDict begin H.S end
- -30 23887 a -30 23887 a
-SDict begin 18.2 H.A end
- -30 23887 a -30
-23887 a
-SDict begin [ /View [/XYZ H.V] /Dest (6587) cvn H.B /DEST pdfmark end
- -30 23887 a -30 24817 a
-SDict begin H.S end
- -30 24817 a -30 24817
-a
-SDict begin 18.2 H.A end
- -30 24817 a -30 24817 a
-SDict begin [ /View [/XYZ H.V] /Dest (6589) cvn H.B /DEST pdfmark end
- -30 24817 a -30 24817 a
-SDict begin H.S end
- -30
-24817 a -30 24817 a
-SDict begin 18.2 H.A end
- -30 24817 a -30 24817 a
-SDict begin [ /View [/XYZ H.V] /Dest (6590) cvn H.B /DEST pdfmark end
- -30 24817
-a 1600 x FP(explodepkg)p FU(\(8\))413 b(will)h(do)g(the)g(same)g(thing)
-g(that)26667 26417 y
-SDict begin H.S end
- 26667 26417 a 26667 26417 a
-SDict begin 18.2 H.A end
- 26667
-26417 a 26667 26417 a
-SDict begin [ /View [/XYZ H.V] /Dest (6591) cvn H.B /DEST pdfmark end
- 26667 26417 a FP(installpkg)f FU(does)h(to)g(e)
--23 b(xtract)414 b(the)g(package,)-30 28432 y(b)-31 b(ut)466
-b(it)h(doesn')-28 b(t)466 b(actually)g(install)g(it)g(and)g(it)h
-(doesn')-28 b(t)466 b(record)h(it)f(in)g(the)h(packages)f(database.)h
-(It)-30 30447 y(simply)386 b(e)-23 b(xtracts)387 b(it)g(to)g(the)h
-(current)f(directory)-101 b(.)-30 31557 y
-SDict begin H.S end
- -30 31557 a
--30 31557 a
-SDict begin 18.2 H.A end
- -30 31557 a -30 31557 a
-SDict begin [ /View [/XYZ H.V] /Dest (6592) cvn H.B /DEST pdfmark end
- -30 31557 a 1679
-x FU(If)382 b(you)g(look)f(at)h(the)f(Slackw)-15 b(are)381
-b(source)h(tree,)h(you)e(will)g(see)h(ho)-39 b(w)382
-b(we)g(use)g(this)f(command)g(for)-30 35251 y
-SDict begin H.S end
- -30 35251
-a -30 35251 a
-SDict begin 18.2 H.A end
- -30 35251 a -30 35251 a
-SDict begin [ /View [/XYZ H.V] /Dest (6593) cvn H.B /DEST pdfmark end
- -30 35251 a FU(\223frame)-39
-b(w)-15 b(ork\224)346 b(packages.)g(These)g(packages)g(contain)f(a)i
-(sk)-15 b(eleton)345 b(of)h(what)f(the)h(\002nal)g(package)-30
-37266 y(will)373 b(look)g(lik)-15 b(e.)374 b(The)-23
-b(y)373 b(hold)g(all)h(the)f(necessary)h(\002lenames)e
-(\(zero-length\),)i(permissions,)f(and)-30 39280 y(o)-39
-b(wnerships.)374 b(The)g(b)-31 b(uild)373 b(script)h(will)f(cat)h(the)g
-(package)g(contents)g(from)g(the)f(source)h(directory)-30
-41295 y(to)387 b(the)g(package)h(b)-31 b(uild)386 b(directory)-101
-b(.)-30 42405 y
-SDict begin H.S end
- -30 42405 a -30 42405 a
-SDict begin 18.2 H.A end
- -30 42405 a -30
-42405 a
-SDict begin [ /View [/XYZ H.V] /Dest (PACKAGE-MANAGEMENT-MAKEPKG) cvn
-H.B /DEST pdfmark end
- -30 42405 a 5182 x FF(makepkg)-30 48001 y
-SDict begin H.S end
- -30
-48001 a -30 48001 a
-SDict begin 18.2 H.A end
- -30 48001 a -30 48001 a
-SDict begin [ /View [/XYZ H.V] /Dest (6597) cvn H.B /DEST pdfmark end
- -30 48001
-a -30 48931 a
-SDict begin H.S end
- -30 48931 a -30 48931 a
-SDict begin 18.2 H.A end
- -30 48931 a -30
-48931 a
-SDict begin [ /View [/XYZ H.V] /Dest (6599) cvn H.B /DEST pdfmark end
- -30 48931 a -30 48931 a
-SDict begin H.S end
- -30 48931 a -30 48931
-a
-SDict begin 18.2 H.A end
- -30 48931 a -30 48931 a
-SDict begin [ /View [/XYZ H.V] /Dest (6600) cvn H.B /DEST pdfmark end
- -30 48931 a 1600 x FP(makepkg)p
-FU(\(8\))405 b(will)g(package)g(up)g(the)h(current)f(directory)g(into)g
-(a)g(v)-39 b(alid)406 b(Slackw)-15 b(are)404 b(package.)i(It)-30
-52546 y(will)499 b(search)h(the)g(tree)g(for)f(an)-23
-b(y)500 b(symbolic)e(links)i(and)f(add)h(a)g(creation)f(block)h(to)f
-(the)h(postin-)-30 54561 y(stallation)534 b(script)g(for)h(creating)g
-(them)f(during)g(the)h(package)g(install.)f(It)h(also)f(w)-15
-b(arns)534 b(of)h(an)-23 b(y)-30 56575 y(zero-length)387
-b(\002les)g(in)g(the)g(package)g(tree.)-30 57686 y
-SDict begin H.S end
- -30
-57686 a -30 57686 a
-SDict begin 18.2 H.A end
- -30 57686 a -30 57686 a
-SDict begin [ /View [/XYZ H.V] /Dest (6601) cvn H.B /DEST pdfmark end
- -30 57686
-a 1679 x FU(This)g(command)g(is)g(typically)f(run)h(after)h(you)f(ha)
--31 b(v)-23 b(e)387 b(created)g(your)h(package)f(tree.)-30
-60475 y
-SDict begin H.S end
- -30 60475 a -30 60475 a
-SDict begin 18.2 H.A end
- -30 60475 a -30 60475
-a
-SDict begin [ /View [/XYZ H.V] /Dest (PACKAGE-MANAGEMENT-SLACKBUILD-SCRIPTS)
-cvn H.B /DEST pdfmark end
- -30 60475 a Black 13317 x FR(222)p Black eop end
-%%Page: 223 245
-TeXDict begin 223 244 bop -8000 -8000 a
-SDict begin /product where{pop product(Distiller)search{pop pop pop
-version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
-closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
-grestore}if}{pop}ifelse}{pop}ifelse}if end
- -8000 -8000 a
-Black 0 TeXcolorgray -30 -1237 a
-SDict begin H.S end
- -30 -1237 a 0 TeXcolorgray
-0 TeXcolorgray -30 -1237 a
-SDict begin H.R end
- -30 -1237 a -30 -1237 a
-SDict begin [ /View [/XYZ H.V] /Dest (page.223) cvn H.B /DEST pdfmark
-end
- -30
--1237 a Black -30 -2687 a
-SDict begin H.S end
- -30 -2687 a -30 -2687 a
-SDict begin 18.2 H.A end
- -30
--2687 a -30 -2687 a
-SDict begin [ /View [/XYZ H.V] /Dest (6644) cvn H.B /DEST pdfmark end
- -30 -2687 a 23991 -1636 a FR(Chapter)386
-b(18)h(Slac)-31 b(kwar)-57 b(e)387 b(P)-124 b(ac)-31
-b(ka)-15 b(g)g(e)386 b(Mana)-15 b(g)g(ement)p Black -30
-3861 a FG(Slac)-37 b(kBuild)517 b(Scripts)-30 4246 y
-SDict begin H.S end
-
--30 4246 a -30 4246 a
-SDict begin 18.2 H.A end
- -30 4246 a -30 4246 a
-SDict begin [ /View [/XYZ H.V] /Dest (6604) cvn H.B /DEST pdfmark end
- -30 4246
-a -30 5176 a
-SDict begin H.S end
- -30 5176 a -30 5176 a
-SDict begin 18.2 H.A end
- -30 5176 a -30 5176
-a
-SDict begin [ /View [/XYZ H.V] /Dest (6606) cvn H.B /DEST pdfmark end
- -30 5176 a 1629 x FU(Slackw)-15 b(are)431 b(packages)g(are)h(b)-31
-b(uilt)431 b(in)g(man)-23 b(y)431 b(dif)-39 b(ferent)431
-b(w)-15 b(ays)431 b(by)h(necessity)-101 b(.)431 b(Not)g(all)h(softw)-15
-b(are)-30 8820 y(packages)549 b(are)h(written)f(by)h(their)f
-(programmers)g(to)g(compile)g(the)g(same)h(w)-15 b(ay)-101
-b(.)549 b(Man)-23 b(y)549 b(ha)-31 b(v)-23 b(e)-30 10835
-y(compile)429 b(time)g(options)f(that)h(are)h(not)f(all)g(included)g
-(in)g(the)h(packages)f(Slackw)-15 b(are)428 b(uses.)i(Per)-31
-b(-)-30 12849 y(haps)400 b(you)g(need)g(some)f(of)i(this)e
-(functionality;)g(you')-15 b(ll)399 b(need)h(to)g(compile)f(your)h(o)
--39 b(wn)400 b(package)-30 14864 y(then.)443 b(F)-23
-b(ortunately)440 b(for)j(man)-23 b(y)441 b(Slackw)-15
-b(are)442 b(packages,)g(you)g(can)h(\002nd)f(SlackBuild)e(scripts)i(in)
--30 16879 y(the)387 b(package')-85 b(s)387 b(source)h(code.)-30
-17989 y
-SDict begin H.S end
- -30 17989 a -30 17989 a
-SDict begin 18.2 H.A end
- -30 17989 a -30 17989
-a
-SDict begin [ /View [/XYZ H.V] /Dest (6607) cvn H.B /DEST pdfmark end
- -30 17989 a 1679 x FU(So)475 b(what)h(is)f(a)h(SlackBuild)e(script?)i
-(SlackBuild)e(scripts)h(are)h(e)-23 b(x)g(ecutable)475
-b(shell)g(scripts)g(that)-30 21683 y(you)602 b(run)g(as)7459
-21683 y
-SDict begin H.S end
- 7459 21683 a 7459 21683 a
-SDict begin 18.2 H.A end
- 7459 21683 a 7459 21683
-a
-SDict begin [ /View [/XYZ H.V] /Dest (6608) cvn H.B /DEST pdfmark end
- 7459 21683 a FP(root)g FU(to)g(con\002gure,)g(compile,)g(and)g
-(create)h(Slackw)-15 b(are)602 b(packages.)g(Y)-170 b(ou)602
-b(can)-30 23698 y(freely)426 b(modify)g(these)f(scripts)h(in)g(the)g
-(source)g(directory)f(and)h(run)g(them)g(to)g(create)g(your)g(o)-39
-b(wn)-30 25712 y(v)-23 b(ersions)387 b(of)g(the)g(def)-15
-b(ault)387 b(Slackw)-15 b(are)386 b(packages.)-30 28372
-y
-SDict begin H.S end
- -30 28372 a -30 28372 a
-SDict begin 18.2 H.A end
- -30 28372 a -30 28372 a
-SDict begin [ /View [/XYZ H.V] /Dest (PACKAGE-MANAGEMENT-MAKING-TAGS-AND-TAGFILES)
-cvn H.B /DEST pdfmark end
- -30
-28372 a 5789 x FL(18.4)620 b(Making)f(T)-179 b(a)-22
-b(gs)620 b(and)f(T)-179 b(a)-22 b(g\002les)619 b(\(f)-45
-b(or)620 b(setup\))-30 34658 y
-SDict begin H.S end
- -30 34658 a -30 34658
-a
-SDict begin 18.2 H.A end
- -30 34658 a -30 34658 a
-SDict begin [ /View [/XYZ H.V] /Dest (6611) cvn H.B /DEST pdfmark end
- -30 34658 a -30 34658 a
-SDict begin H.S end
- -30
-34658 a -30 34658 a
-SDict begin 18.2 H.A end
- -30 34658 a -30 34658 a
-SDict begin [ /View [/XYZ H.V] /Dest (6613) cvn H.B /DEST pdfmark end
- -30 34658
-a -30 34658 a
-SDict begin H.S end
- -30 34658 a -30 34658 a
-SDict begin 18.2 H.A end
- -30 34658 a -30
-34658 a
-SDict begin [ /View [/XYZ H.V] /Dest (6615) cvn H.B /DEST pdfmark end
- -30 34658 a -30 35774 a
-SDict begin H.S end
- -30 35774 a -30 35774
-a
-SDict begin 18.2 H.A end
- -30 35774 a -30 35774 a
-SDict begin [ /View [/XYZ H.V] /Dest (6618) cvn H.B /DEST pdfmark end
- -30 35774 a 1518 x FU(The)385
-b(Slackw)-15 b(are)384 b(setup)h(program)g(handles)f(installation)g(of)
-h(the)g(softw)-15 b(are)384 b(packages)h(on)g(your)-30
-39307 y(system.)363 b(There)g(are)g(\002les)f(that)h(tell)f(the)h
-(setup)f(program)h(which)g(packages)f(must)g(be)h(installed,)-30
-41321 y(which)495 b(ones)g(are)g(optional,)g(and)g(which)g(ones)g(are)g
-(selected)g(by)g(def)-15 b(ault)494 b(by)h(the)g(setup)g(pro-)-30
-43336 y(gram.)-30 44446 y
-SDict begin H.S end
- -30 44446 a -30 44446 a
-SDict begin 18.2 H.A end
- -30
-44446 a -30 44446 a
-SDict begin [ /View [/XYZ H.V] /Dest (6619) cvn H.B /DEST pdfmark end
- -30 44446 a 1679 x FU(A)617 b(tag\002le)f(is)g(in)h
-(the)f(\002rst)g(softw)-15 b(are)616 b(series)h(directory)f(and)h(is)f
-(called)h(tag\002le.)f(It)h(lists)f(the)-30 48140 y(packages)387
-b(in)g(that)g(particular)g(disk)g(set)g(and)h(their)f(status.)g(The)g
-(status)g(can)g(be:)-30 48476 y
-SDict begin H.S end
- -30 48476 a -30 48476
-a
-SDict begin 18.2 H.A end
- -30 48476 a -30 48476 a
-SDict begin [ /View [/XYZ H.V] /Dest (6620) cvn H.B /DEST pdfmark end
- -30 48476 a 4003 x FX(T)-143
-b(able)387 b(18-3.)h(T)-143 b(ag\002le)386 b(Status)h(Options)-30
-54344 y
-SDict begin H.S end
- -30 54344 a -30 54344 a
-SDict begin 18.2 H.A end
- -30 54344 a -30 54344
-a
-SDict begin [ /View [/XYZ H.V] /Dest (6622) cvn H.B /DEST pdfmark end
- -30 54344 a -30 54344 a
-SDict begin H.S end
- -30 54344 a -30 54344 a
-SDict begin 18.2 H.A end
- -30
-54344 a -30 54344 a
-SDict begin [ /View [/XYZ H.V] /Dest (table.20) cvn H.B /DEST pdfmark
-end
- -30 54344 a 1761 x FE(Option)7958
-b(Meaning)p -30 56494 51806 45 v -30 56494 V -30 58255
-a FU(ADD)9595 b(The)387 b(package)g(is)g(required)g(for)h(proper)f
-(system)g(operation)-30 60351 y(SKP)10109 b(The)387 b(package)g(will)g
-(be)g(automatically)f(skipped)-30 62448 y(REC)9937 b(The)387
-b(package)g(is)g(not)g(required,)h(b)-31 b(ut)387 b(recommended)-30
-64544 y(OPT)10024 b(The)387 b(package)g(is)g(optional)-30
-66429 y
-SDict begin H.S end
- -30 66429 a -30 66429 a
-SDict begin 18.2 H.A end
- -30 66429 a -30 66429
-a
-SDict begin [ /View [/XYZ H.V] /Dest (6642) cvn H.B /DEST pdfmark end
- -30 66429 a 1670 x FU(The)g(format)g(is)g(simply:)p
-Black 49451 73792 a FR(223)p Black eop end
-%%Page: 224 246
-TeXDict begin 224 245 bop -8000 -8000 a
-SDict begin /product where{pop product(Distiller)search{pop pop pop
-version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
-closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
-grestore}if}{pop}ifelse}{pop}ifelse}if end
- -8000 -8000 a
-Black 0 TeXcolorgray -30 -1237 a
-SDict begin H.S end
- -30 -1237 a 0 TeXcolorgray
-0 TeXcolorgray -30 -1237 a
-SDict begin H.R end
- -30 -1237 a -30 -1237 a
-SDict begin [ /View [/XYZ H.V] /Dest (page.224) cvn H.B /DEST pdfmark
-end
- -30
--1237 a Black -399 x FR(Chapter)387 b(18)g(Slac)-31 b(kwar)-57
-b(e)386 b(P)-124 b(ac)-31 b(ka)-15 b(g)g(e)386 b(Mana)-15
-b(g)g(ement)p Black -30 2504 a
-SDict begin H.S end
- -30 2504 a -30 2504 a
-SDict begin 14.56 H.A end
-
--30 2504 a -30 2504 a
-SDict begin [ /View [/XYZ H.V] /Dest (6643) cvn H.B /DEST pdfmark end
- -30 2504 a 1107 x FP(package_name:)742
-b(status)-30 7176 y FU(One)560 b(package)g(per)g(line.)h(The)f
-(original)f(tag\002les)g(for)h(each)h(softw)-15 b(are)559
-b(series)h(are)g(stored)g(as)-30 9190 y(tag\002le.or)-28
-b(g.)388 b(So)f(if)g(you)g(mess)g(up)g(yours,)g(you)g(can)h(restore)f
-(the)g(original)g(one.)-30 10301 y
-SDict begin H.S end
- -30 10301 a -30 10301
-a
-SDict begin 18.2 H.A end
- -30 10301 a -30 10301 a
-SDict begin [ /View [/XYZ H.V] /Dest (6645) cvn H.B /DEST pdfmark end
- -30 10301 a 1679 x FU(Man)-23
-b(y)473 b(administrators)f(prefer)i(writing)f(their)g(o)-39
-b(wn)474 b(tag\002les)f(and)g(starting)g(the)g(installer)g(and)-30
-13994 y(selecting)5812 13994 y
-SDict begin H.S end
- 5812 13994 a 5812 13994
-a
-SDict begin 18.2 H.A end
- 5812 13994 a 5812 13994 a
-SDict begin [ /View [/XYZ H.V] /Dest (6646) cvn H.B /DEST pdfmark end
- 5812 13994 a FU(\223full\224.)332
-b(The)g(setup)g(program)g(will)f(read)i(the)f(tag\002les)f(and)h
-(perform)g(the)g(installation)-30 16009 y(according)431
-b(to)g(their)g(contents.)g(If)g(you)g(use)g(REC)f(or)h(OPT)-115
-b(,)432 b(a)f(dialog)g(box)g(will)f(be)h(presented)-30
-18024 y(to)549 b(the)g(user)g(asking)g(whether)g(or)g(not)g(the)-23
-b(y)548 b(w)-15 b(ant)549 b(a)g(particular)g(package.)h(Therefore,)f
-(it)g(is)-30 20038 y(recommended)306 b(that)h(you)f(stick)h(with)f(ADD)
-h(and)g(SKP)f(when)g(writing)h(tag\002les)f(for)h(automated)-30
-22053 y(installs.)-30 22843 y
-SDict begin H.S end
- -30 22843 a -30 22843 a
-SDict begin 18.2 H.A end
-
--30 22843 a -30 22843 a
-SDict begin [ /View [/XYZ H.V] /Dest (6647) cvn H.B /DEST pdfmark end
- -30 22843 a 2000 x FU(Just)375
-b(mak)-15 b(e)375 b(sure)h(your)g(tag\002les)f(are)h(written)f(to)g
-(the)h(same)g(location)f(as)g(the)h(originals.)f(Or)h(you)-30
-26857 y(can)388 b(specify)f(a)g(custom)g(tag\002le)f(path)i(if)f(you)g
-(ha)-31 b(v)-23 b(e)387 b(custom)g(tag\002les.)p Black
--30 73792 a FR(224)p Black eop end
-%%Page: 225 247
-TeXDict begin 225 246 bop -8000 -8000 a
-SDict begin /product where{pop product(Distiller)search{pop pop pop
-version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
-closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
-grestore}if}{pop}ifelse}{pop}ifelse}if end
- -8000 -8000 a
-Black 0 TeXcolorgray -30 -1358 a
-SDict begin H.S end
- -30 -1358 a 0 TeXcolorgray
-0 TeXcolorgray -30 -1358 a
-SDict begin H.R end
- -30 -1358 a -30 -1358 a
-SDict begin [ /View [/XYZ H.V] /Dest (page.225) cvn H.B /DEST pdfmark
-end
- -30
--1358 a Black Black -30 2383 a
-SDict begin H.S end
- -30 2383 a -30 2383 a
-SDict begin 18.2 H.A end
-
--30 2383 a -30 2383 a
-SDict begin [ /View [/XYZ H.V] /Dest (ZIPSLACK) cvn H.B /DEST pdfmark
-end
- -30 2383 a 2345 x FS(Chapter)894
-b(19)-30 10743 y FO(ZipSlac)-93 b(k)p -30 18316 51806
-56 v -30 18316 a
-SDict begin H.S end
- -30 18316 a -30 18316 a
-SDict begin 18.2 H.A end
- -30 18316 a
--30 18316 a
-SDict begin [ /View [/XYZ H.V] /Dest (ZIPSLACK-WHAT) cvn H.B /DEST
-pdfmark end
- -30 18316 a 4852 x FL(19.1)620 b(What)g(is)g(ZipSlac)-45
-b(k?)-30 23630 y
-SDict begin H.S end
- -30 23630 a -30 23630 a
-SDict begin 18.2 H.A end
- -30 23630 a
--30 23630 a
-SDict begin [ /View [/XYZ H.V] /Dest (6652) cvn H.B /DEST pdfmark end
- -30 23630 a -30 23630 a
-SDict begin H.S end
- -30 23630 a -30 23630
-a
-SDict begin 18.2 H.A end
- -30 23630 a -30 23630 a
-SDict begin [ /View [/XYZ H.V] /Dest (6654) cvn H.B /DEST pdfmark end
- -30 23630 a -30 23630 a
-SDict begin H.S end
- -30
-23630 a -30 23630 a
-SDict begin 18.2 H.A end
- -30 23630 a -30 23630 a
-SDict begin [ /View [/XYZ H.V] /Dest (6656) cvn H.B /DEST pdfmark end
- -30 23630
-a -30 24746 a
-SDict begin H.S end
- -30 24746 a -30 24746 a
-SDict begin 18.2 H.A end
- -30 24746 a -30
-24746 a
-SDict begin [ /View [/XYZ H.V] /Dest (6658) cvn H.B /DEST pdfmark end
- -30 24746 a 1552 x FU(ZipSlack)482 b(is)h(a)g(special)g(v)-23
-b(ersion)482 b(of)h(Slackw)-15 b(are)483 b(Linux.)g(It')-85
-b(s)482 b(an)h(already)g(installed)g(cop)-15 b(y)482
-b(of)-30 28313 y(Slackw)-15 b(are)593 b(that')-85 b(s)593
-b(ready)h(to)f(run)h(from)f(your)h(DOS)f(or)h(W)-62 b(indo)-39
-b(ws)593 b(partition.)g(It')-85 b(s)593 b(a)h(basic)-30
-30328 y(installation,)386 b(you)i(do)f(not)g(get)g(e)-39
-b(v)-23 b(erything)387 b(that)g(comes)g(with)f(Slackw)-15
-b(are.)-30 30663 y
-SDict begin H.S end
- -30 30663 a -30 30663 a
-SDict begin 18.2 H.A end
- -30 30663
-a -30 30663 a
-SDict begin [ /View [/XYZ H.V] /Dest (6659) cvn H.B /DEST pdfmark end
- -30 30663 a -30 31438 a
-SDict begin H.S end
- -30 31438 a -30
-31438 a
-SDict begin 18.2 H.A end
- -30 31438 a -30 31438 a
-SDict begin [ /View [/XYZ H.V] /Dest (6661) cvn H.B /DEST pdfmark end
- -30 31438 a 1679 x FU(ZipSlack)554
-b(gets)g(its)g(name)g(from)g(the)g(form)h(it')-85 b(s)553
-b(distrib)-31 b(uted)554 b(in,)g(a)h(big)f(.ZIP)g(\002le.)h(Users)f(of)
--30 35132 y(DOS)422 b(and)h(W)-62 b(indo)-39 b(ws)422
-b(will)g(probably)g(be)h(f)-15 b(amiliar)422 b(with)g(these)h(\002les.)
-f(The)-23 b(y)423 b(are)g(compressed)-30 37147 y(archi)-39
-b(v)-23 b(es.)427 b(The)g(ZipSlack)f(archi)-39 b(v)-23
-b(e)426 b(contains)g(e)-39 b(v)-23 b(erything)426 b(you)h(need)f(to)h
-(get)f(up)h(and)g(running)-30 39161 y(with)387 b(Slackw)-15
-b(are.)-30 39952 y
-SDict begin H.S end
- -30 39952 a -30 39952 a
-SDict begin 18.2 H.A end
- -30 39952
-a -30 39952 a
-SDict begin [ /View [/XYZ H.V] /Dest (6662) cvn H.B /DEST pdfmark end
- -30 39952 a 1999 x FU(It)467 b(is)f(important)g(to)h
-(note)f(that)g(ZipSlack)g(is)h(signi\002cantly)e(dif)-39
-b(ferent)467 b(from)f(a)h(re)-23 b(gular)467 b(instal-)-30
-43965 y(lation.)547 b(Ev)-23 b(en)548 b(though)f(the)-23
-b(y)547 b(function)g(the)g(same)g(and)h(contain)f(the)g(same)h
-(programs,)f(their)-30 45980 y(intended)558 b(audiences)h(and)g
-(functions)f(dif)-39 b(fer)-85 b(.)559 b(Se)-39 b(v)-23
-b(eral)558 b(adv)-39 b(antages)559 b(and)g(disadv)-39
-b(antages)558 b(of)-30 47995 y(ZipSlack)387 b(are)g(discussed)g(belo)
--39 b(w)-101 b(.)-30 49105 y
-SDict begin H.S end
- -30 49105 a -30 49105 a
-SDict begin 18.2 H.A end
-
--30 49105 a -30 49105 a
-SDict begin [ /View [/XYZ H.V] /Dest (6663) cvn H.B /DEST pdfmark end
- -30 49105 a 1679 x FU(One)449
-b(last)f(thing,)g(you)h(should)f(al)-15 b(w)g(ays)447
-b(re)-39 b(vie)g(w)449 b(the)g(documentation)e(included)h(in)h(the)f
-(actual)-30 52799 y(ZipSlack)380 b(directory)-101 b(.)381
-b(It)f(contains)g(the)h(latest)f(information)f(re)-23
-b(g)-8 b(arding)381 b(installation,)e(booting,)-30 54814
-y(and)387 b(general)h(use)f(of)g(the)g(product.)-30 55149
-y
-SDict begin H.S end
- -30 55149 a -30 55149 a
-SDict begin 18.2 H.A end
- -30 55149 a -30 55149 a
-SDict begin [ /View [/XYZ H.V] /Dest (ZIPSLACK-ADVANTAGES) cvn H.B
-/DEST pdfmark end
- -30
-55149 a 5027 x FG(Ad)-28 b(v)-37 b(anta)-19 b(g)19 b(es)-30
-60590 y
-SDict begin H.S end
- -30 60590 a -30 60590 a
-SDict begin 18.2 H.A end
- -30 60590 a -30 60590
-a
-SDict begin [ /View [/XYZ H.V] /Dest (6666) cvn H.B /DEST pdfmark end
- -30 60590 a -30 61519 a
-SDict begin H.S end
- -30 61519 a -30 61519 a
-SDict begin 18.2 H.A end
- -30
-61519 a -30 61519 a
-SDict begin [ /View [/XYZ H.V] /Dest (6667) cvn H.B /DEST pdfmark end
- -30 61519 a Black 3461 x FM(\225)p
-Black 1520 64980 a
-SDict begin H.S end
- 1520 64980 a 1520 64980 a
-SDict begin 18.2 H.A end
- 1520 64980
-a 1520 64980 a
-SDict begin [ /View [/XYZ H.V] /Dest (6668) cvn H.B /DEST pdfmark end
- 1520 64980 a FU(Does)387 b(not)g(require)g
-(repartitioning)f(of)i(your)f(hard)g(disk.)-30 65315
-y
-SDict begin H.S end
- -30 65315 a -30 65315 a
-SDict begin 18.2 H.A end
- -30 65315 a -30 65315 a
-SDict begin [ /View [/XYZ H.V] /Dest (6669) cvn H.B /DEST pdfmark end
- -30
-65315 a Black -30 73672 a
-SDict begin H.S end
- -30 73672 a -30 73672 a
-SDict begin 18.2 H.A end
- -30
-73672 a -30 73672 a
-SDict begin [ /View [/XYZ H.V] /Dest (ZIPSLACK-DISADVANTAGES) cvn H.B
-/DEST pdfmark end
- -30 73672 a 49451 74722 a FR(225)p
-Black eop end
-%%Page: 226 248
-TeXDict begin 226 247 bop -8000 -8000 a
-SDict begin /product where{pop product(Distiller)search{pop pop pop
-version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
-closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
-grestore}if}{pop}ifelse}{pop}ifelse}if end
- -8000 -8000 a
-Black 0 TeXcolorgray -30 -1358 a
-SDict begin H.S end
- -30 -1358 a 0 TeXcolorgray
-0 TeXcolorgray -30 -1358 a
-SDict begin H.R end
- -30 -1358 a -30 -1358 a
-SDict begin [ /View [/XYZ H.V] /Dest (page.226) cvn H.B /DEST pdfmark
-end
- -30
--1358 a Black -278 x FR(Chapter)387 b(19)g(ZipSlac)-31
-b(k)p Black Black -30 3490 a FM(\225)p Black 1520 3490
-a
-SDict begin H.S end
- 1520 3490 a 1520 3490 a
-SDict begin 18.2 H.A end
- 1520 3490 a 1520 3490 a
-SDict begin [ /View [/XYZ H.V] /Dest (6670) cvn H.B /DEST pdfmark end
- 1520
-3490 a FU(Great)526 b(w)-15 b(ay)526 b(to)g(learn)g(Slackw)-15
-b(are)525 b(Linux)h(without)f(stumbling)g(through)g(the)h(installation)
-1520 5505 y(process.)-30 6615 y
-SDict begin H.S end
- -30 6615 a -30 6615 a
-SDict begin 18.2 H.A end
-
--30 6615 a -30 6615 a
-SDict begin [ /View [/XYZ H.V] /Dest (ZIPSLACK-DISADVANTAGES) cvn H.B
-/DEST pdfmark end
- -30 6615 a 5182 x FG(Disad)-28
-b(v)-37 b(anta)-19 b(g)19 b(es)-30 12211 y
-SDict begin H.S end
- -30 12211
-a -30 12211 a
-SDict begin 18.2 H.A end
- -30 12211 a -30 12211 a
-SDict begin [ /View [/XYZ H.V] /Dest (6673) cvn H.B /DEST pdfmark end
- -30 12211 a -30
-13140 a
-SDict begin H.S end
- -30 13140 a -30 13140 a
-SDict begin 18.2 H.A end
- -30 13140 a -30 13140
-a
-SDict begin [ /View [/XYZ H.V] /Dest (6674) cvn H.B /DEST pdfmark end
- -30 13140 a Black 3461 x FM(\225)p Black 1520 16601
-a
-SDict begin H.S end
- 1520 16601 a 1520 16601 a
-SDict begin 18.2 H.A end
- 1520 16601 a 1520 16601 a
-SDict begin [ /View [/XYZ H.V] /Dest (6675) cvn H.B /DEST pdfmark end
-
-1520 16601 a FU(Uses)387 b(the)g(DOS)g(\002lesystem,)g(which)g(is)g
-(slo)-39 b(wer)387 b(than)g(a)g(nati)-39 b(v)-23 b(e)387
-b(Linux)g(\002lesystem.)-30 16937 y
-SDict begin H.S end
- -30 16937 a -30 16937
-a
-SDict begin 18.2 H.A end
- -30 16937 a -30 16937 a
-SDict begin [ /View [/XYZ H.V] /Dest (6676) cvn H.B /DEST pdfmark end
- -30 16937 a Black 2454 x FM(\225)p
-Black 1520 19391 a
-SDict begin H.S end
- 1520 19391 a 1520 19391 a
-SDict begin 18.2 H.A end
- 1520 19391
-a 1520 19391 a
-SDict begin [ /View [/XYZ H.V] /Dest (6677) cvn H.B /DEST pdfmark end
- 1520 19391 a FU(W)-62 b(ill)387 b(not)g(w)-15
-b(ork)386 b(with)h(W)-62 b(indo)-39 b(ws)387 b(NT)-115
-b(.)-30 21731 y
-SDict begin H.S end
- -30 21731 a -30 21731 a
-SDict begin 18.2 H.A end
- -30 21731 a -30
-21731 a
-SDict begin [ /View [/XYZ H.V] /Dest (ZIPSLACK-GETTING) cvn H.B /DEST
-pdfmark end
- -30 21731 a 6109 x FL(19.2)620 b(Getting)g(ZipSlac)-45
-b(k)-30 29452 y
-SDict begin H.S end
- -30 29452 a -30 29452 a
-SDict begin 18.2 H.A end
- -30 29452 a -30
-29452 a
-SDict begin [ /View [/XYZ H.V] /Dest (6680) cvn H.B /DEST pdfmark end
- -30 29452 a 1518 x FU(Obtaining)406 b(ZipSlack)g(is)h(easy)-101
-b(.)408 b(If)f(you)g(ha)-31 b(v)-23 b(e)407 b(purchased)g(the)g(of)-39
-b(\002cial)406 b(Slackw)-15 b(are)407 b(Linux)f(CD)-30
-32985 y(set,)618 b(then)e(you)h(already)g(ha)-31 b(v)-23
-b(e)617 b(ZipSlack.)g(Just)g(\002nd)f(the)h(CD)g(that)g(contains)f(the)
-46765 32985 y
-SDict begin H.S end
- 46765 32985 a 46765 32985 a
-SDict begin 18.2 H.A end
- 46765 32985
-a 46765 32985 a
-SDict begin [ /View [/XYZ H.V] /Dest (6681) cvn H.B /DEST pdfmark end
- 46765 32985 a FQ(zipslack)-30 35000 y
-FU(directory)493 b(and)g(place)g(it)g(in)h(your)f(CD-R)-62
-b(OM)492 b(dri)-39 b(v)-23 b(e.)493 b(It')-85 b(s)493
-b(usually)g(the)g(third)g(or)g(fourth)g(disc,)-30 37014
-y(b)-31 b(ut)407 b(al)-15 b(w)g(ays)407 b(trust)g(the)g(labels)g(o)-23
-b(v)g(er)407 b(this)g(documentation)g(as)g(the)h(disk)f(it)g(resides)g
-(on)h(is)f(prone)-30 39029 y(to)387 b(change.)-30 40139
-y
-SDict begin H.S end
- -30 40139 a -30 40139 a
-SDict begin 18.2 H.A end
- -30 40139 a -30 40139 a
-SDict begin [ /View [/XYZ H.V] /Dest (6682) cvn H.B /DEST pdfmark end
- -30
-40139 a 1680 x FU(If)430 b(you)g(w)-15 b(ant)429 b(to)g(do)-39
-b(wnload)430 b(ZipSlack,)f(you)h(should)f(\002rst)g(visit)g(our)37921
-41819 y
-SDict begin H.S end
- 37921 41819 a 37921 41819 a
-SDict begin 18.2 H.A end
- 37921 41819 a 37921
-41819 a
-SDict begin [ /View [/XYZ H.V] /Dest (6683) cvn H.B /DEST pdfmark end
- 37921 41819 a FU(\223Get)h(Slack\224)f(web)h(page)-30
-43833 y(for)388 b(the)f(latest)g(do)-39 b(wnload)386
-b(information:)-30 44624 y
-SDict begin H.S end
- -30 44624 a -30 44624 a
-SDict begin 18.2 H.A end
- -30
-44624 a -30 44624 a
-SDict begin [ /View [/XYZ H.V] /Dest (6684) cvn H.B /DEST pdfmark end
- -30 44624 a 0 1 0 0 TeXcolorcmyk
--30 46977 a
-SDict begin H.S end
- -30 46977 a 0 1 0 0 TeXcolorcmyk -354 x FA(http://)n(w)l(w)
-l(w)l(.)l(s)l(l)l(a)l(c)l(k)l(w)l(a)l(r)l(e)l(.)l(c)l(o)l(m)l(/)l(g)l
-(e)l(t)l(s)l(l)l(a)l(c)l(k)l(/)p 0 1 0 0 TeXcolorcmyk
-27476 45516 a
-SDict begin H.R end
- 27476 45516 a 27476 46623 a
-SDict begin [ /H /I /Border [0 0 0] /Color [0 1 1] /Action << /Subtype
-/URI /URI (http://www.slackware.com/getslack/) >> /Subtype /Link H.B
-/ANN pdfmark end
- 27476 46623
-a Black -30 47752 a
-SDict begin H.S end
- -30 47752 a -30 47752 a
-SDict begin 18.2 H.A end
- -30 47752
-a -30 47752 a
-SDict begin [ /View [/XYZ H.V] /Dest (6686) cvn H.B /DEST pdfmark end
- -30 47752 a 1660 x FU(ZipSlack)584 b(is)g(part)g(of)g
-(each)h(Slackw)-15 b(are)584 b(release.)h(Locate)f(the)g(release)h(you)
-f(w)-15 b(ant,)584 b(and)g(go)-30 51427 y(to)524 b(that)g(directory)f
-(on)h(the)g(FTP)f(site.)h(The)g(latest)g(release)g(directory)g(can)g
-(be)g(found)f(at)i(this)-30 53442 y(location:)-30 54232
-y
-SDict begin H.S end
- -30 54232 a -30 54232 a
-SDict begin 18.2 H.A end
- -30 54232 a -30 54232 a
-SDict begin [ /View [/XYZ H.V] /Dest (6687) cvn H.B /DEST pdfmark end
- -30
-54232 a 0 1 0 0 TeXcolorcmyk -30 56585 a
-SDict begin H.S end
- -30 56585 a
-0 1 0 0 TeXcolorcmyk -354 x FA(ftp://f)n(t)l(p)l(.)l(s)l(l)l(a)l(c)l(k)
-l(w)l(a)l(r)l(e)l(.)l(c)l(o)l(m)l(/)l(p)l(u)l(b)l(/)l(s)l(l)l(a)l(c)l
-(k)l(w)l(a)l(r)l(e)l(/)l(s)l(l)l(a)l(c)l(k)l(w)l(a)l(r)l(e)l(/)p
-0 1 0 0 TeXcolorcmyk 38802 55124 a
-SDict begin H.R end
- 38802 55124 a 38802
-56231 a
-SDict begin [ /H /I /Border [0 0 0] /Color [0 1 1] /Action << /Subtype
-/URI /URI (ftp://ftp.slackware.com/pub/slackware/slackware/) >> /Subtype
-/Link H.B /ANN pdfmark end
- 38802 56231 a Black -30 57360 a
-SDict begin H.S end
- -30 57360 a -30
-57360 a
-SDict begin 18.2 H.A end
- -30 57360 a -30 57360 a
-SDict begin [ /View [/XYZ H.V] /Dest (6689) cvn H.B /DEST pdfmark end
- -30 57360 a 1661 x FU(Y)-170
-b(ou')-15 b(ll)548 b(\002nd)h(ZipSlack)f(in)h(the)17685
-59021 y
-SDict begin H.S end
- 17685 59021 a 17685 59021 a
-SDict begin 18.2 H.A end
- 17685 59021 a 17685
-59021 a
-SDict begin [ /View [/XYZ H.V] /Dest (6690) cvn H.B /DEST pdfmark end
- 17685 59021 a FQ(/zipslack)543 b FU(subdirectory)-101
-b(.)549 b(ZipSlack)g(is)g(of)-39 b(fered)550 b(as)f(one)g(big)-30
-61035 y
-SDict begin H.S end
- -30 61035 a -30 61035 a
-SDict begin 18.2 H.A end
- -30 61035 a -30 61035
-a
-SDict begin [ /View [/XYZ H.V] /Dest (6691) cvn H.B /DEST pdfmark end
- -30 61035 a FQ(.ZIP)385 b FU(\002le)i(or)g(\003opp)-15
-b(y-sized)386 b(chunks.)h(The)h(chunks)f(are)g(in)g(the)33837
-61035 y
-SDict begin H.S end
- 33837 61035 a 33837 61035 a
-SDict begin 18.2 H.A end
- 33837 61035 a 33837
-61035 a
-SDict begin [ /View [/XYZ H.V] /Dest (6692) cvn H.B /DEST pdfmark end
- 33837 61035 a FQ(/zipslack/split)378 b FU(directory)-101
-b(.)-30 62146 y
-SDict begin H.S end
- -30 62146 a -30 62146 a
-SDict begin 18.2 H.A end
- -30 62146 a -30
-62146 a
-SDict begin [ /View [/XYZ H.V] /Dest (6693) cvn H.B /DEST pdfmark end
- -30 62146 a 1679 x FU(Don')-28 b(t)463 b(stop)f(at)g(just)h
-(the)13707 63825 y
-SDict begin H.S end
- 13707 63825 a 13707 63825 a
-SDict begin 18.2 H.A end
- 13707
-63825 a 13707 63825 a
-SDict begin [ /View [/XYZ H.V] /Dest (6694) cvn H.B /DEST pdfmark end
- 13707 63825 a FQ(.ZIP)d FU(\002les.)j(Y)-170
-b(ou)462 b(should)g(also)g(do)-39 b(wnload)463 b(the)f(documentation)f
-(\002les)-30 65840 y(and)387 b(an)-23 b(y)387 b(boot)g(images)g(that)g
-(appear)h(in)f(the)g(directory)-101 b(.)-30 66175 y
-SDict begin H.S end
- -30
-66175 a -30 66175 a
-SDict begin 18.2 H.A end
- -30 66175 a -30 66175 a
-SDict begin [ /View [/XYZ H.V] /Dest (ZIPSLACK-INSTALLATION) cvn H.B
-/DEST pdfmark end
- -30 66175
-a Black 7497 x FR(226)p Black eop end
-%%Page: 227 249
-TeXDict begin 227 248 bop -8000 -8000 a
-SDict begin /product where{pop product(Distiller)search{pop pop pop
-version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
-closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
-grestore}if}{pop}ifelse}{pop}ifelse}if end
- -8000 -8000 a
-Black 0 TeXcolorgray -30 -1237 a
-SDict begin H.S end
- -30 -1237 a 0 TeXcolorgray
-0 TeXcolorgray -30 -1237 a
-SDict begin H.R end
- -30 -1237 a -30 -1237 a
-SDict begin [ /View [/XYZ H.V] /Dest (page.227) cvn H.B /DEST pdfmark
-end
- -30
--1237 a Black 38952 -1636 a FR(Chapter)386 b(19)h(ZipSlac)-31
-b(k)p Black -30 3861 a FG(Installation)-30 3884 y
-SDict begin H.S end
- -30
-3884 a -30 3884 a
-SDict begin 18.2 H.A end
- -30 3884 a -30 3884 a
-SDict begin [ /View [/XYZ H.V] /Dest (6697) cvn H.B /DEST pdfmark end
- -30 3884 a -30
-4814 a
-SDict begin H.S end
- -30 4814 a -30 4814 a
-SDict begin 18.2 H.A end
- -30 4814 a -30 4814 a
-SDict begin [ /View [/XYZ H.V] /Dest (6699) cvn H.B /DEST pdfmark end
- -30
-4814 a 1991 x FU(Once)417 b(you')-77 b(v)-23 b(e)417
-b(do)-39 b(wnloaded)416 b(the)h(necessary)g(components,)g(you')-15
-b(ll)416 b(need)h(to)g(e)-23 b(xtract)417 b(the)49270
-6805 y
-SDict begin H.S end
- 49270 6805 a 49270 6805 a
-SDict begin 18.2 H.A end
- 49270 6805 a 49270 6805
-a
-SDict begin [ /View [/XYZ H.V] /Dest (6700) cvn H.B /DEST pdfmark end
- 49270 6805 a FQ(.ZIP)-30 8820 y FU(\002le.)617 b(Be)g(sure)h(to)f
-(use)g(a)g(32-bit)g(unzipper)-85 b(.)617 b(The)g(size)g(and)g
-(\002lenames)f(in)h(the)g(archi)-39 b(v)-23 b(e)618 b(are)-30
-10835 y(too)480 b(much)h(for)g(a)f(16-bit)g(unzipper)-85
-b(.)481 b(Examples)f(of)h(32-bit)f(unzippers)g(include)g(W)-62
-b(inZip)480 b(and)-30 12849 y(PKZIP)387 b(for)g(W)-62
-b(indo)-39 b(ws.)-30 13640 y
-SDict begin H.S end
- -30 13640 a -30 13640 a
-SDict begin 18.2 H.A end
-
--30 13640 a -30 13640 a
-SDict begin [ /View [/XYZ H.V] /Dest (6701) cvn H.B /DEST pdfmark end
- -30 13640 a 1999 x FU(ZipSlack)496
-b(is)h(designed)f(to)h(be)g(e)-23 b(xtracted)496 b(directly)h(to)f(the)
-h(root)g(directory)f(of)h(a)g(dri)-39 b(v)-23 b(e)497
-b(\(such)-30 17654 y(as)1761 17654 y
-SDict begin H.S end
- 1761 17654 a 1761
-17654 a
-SDict begin 18.2 H.A end
- 1761 17654 a 1761 17654 a
-SDict begin [ /View [/XYZ H.V] /Dest (6702) cvn H.B /DEST pdfmark end
- 1761 17654 a FP(C:)j
-FU(or)5540 17654 y
-SDict begin H.S end
- 5540 17654 a 5540 17654 a
-SDict begin 18.2 H.A end
- 5540 17654
-a 5540 17654 a
-SDict begin [ /View [/XYZ H.V] /Dest (6703) cvn H.B /DEST pdfmark end
- 5540 17654 a FP(D:)p FU(\).)g(A)10050
-17654 y
-SDict begin H.S end
- 10050 17654 a 10050 17654 a
-SDict begin 18.2 H.A end
- 10050 17654 a 10050
-17654 a
-SDict begin [ /View [/XYZ H.V] /Dest (6704) cvn H.B /DEST pdfmark end
- 10050 17654 a FQ(\\LINUX)d FU(directory)i(will)h(be)g(created)g
-(that)g(contains)f(the)h(actual)g(Slackw)-15 b(are)-30
-19668 y(installation.)306 b(Y)-170 b(ou')-15 b(ll)306
-b(also)h(\002nd)g(the)g(\002les)f(necessary)i(to)f(booting)f(the)h
-(system)f(in)h(that)g(directory)-30 21683 y(as)387 b(well.)-30
-22473 y
-SDict begin H.S end
- -30 22473 a -30 22473 a
-SDict begin 18.2 H.A end
- -30 22473 a -30 22473
-a
-SDict begin [ /View [/XYZ H.V] /Dest (6705) cvn H.B /DEST pdfmark end
- -30 22473 a 1999 x FU(After)470 b(you')-77 b(v)-23
-b(e)470 b(e)-23 b(xtracted)469 b(the)h(\002les,)h(you)f(should)f(ha)-31
-b(v)-23 b(e)470 b(a)32214 24472 y
-SDict begin H.S end
- 32214 24472 a 32214
-24472 a
-SDict begin 18.2 H.A end
- 32214 24472 a 32214 24472 a
-SDict begin [ /View [/XYZ H.V] /Dest (6706) cvn H.B /DEST pdfmark end
- 32214 24472 a FQ(\\LINUX)d
-FU(directory)j(on)g(the)g(dri)-39 b(v)-23 b(e)470 b(of)-30
-26487 y(your)387 b(choosing)g(\(we')-15 b(ll)386 b(use)15708
-26487 y
-SDict begin H.S end
- 15708 26487 a 15708 26487 a
-SDict begin 18.2 H.A end
- 15708 26487 a 15708
-26487 a
-SDict begin [ /View [/XYZ H.V] /Dest (6707) cvn H.B /DEST pdfmark end
- 15708 26487 a FP(C:)h FU(from)g(here)g(on\).)-30
-29147 y
-SDict begin H.S end
- -30 29147 a -30 29147 a
-SDict begin 18.2 H.A end
- -30 29147 a -30 29147
-a
-SDict begin [ /View [/XYZ H.V] /Dest (ZIPSLACK-BOOTING) cvn H.B /DEST
-pdfmark end
- -30 29147 a 5789 x FL(19.3)620 b(Booting)f(ZipSlac)-45
-b(k)-30 35433 y
-SDict begin H.S end
- -30 35433 a -30 35433 a
-SDict begin 18.2 H.A end
- -30 35433 a -30
-35433 a
-SDict begin [ /View [/XYZ H.V] /Dest (6710) cvn H.B /DEST pdfmark end
- -30 35433 a -30 36549 a
-SDict begin H.S end
- -30 36549 a -30 36549
-a
-SDict begin 18.2 H.A end
- -30 36549 a -30 36549 a
-SDict begin [ /View [/XYZ H.V] /Dest (6713) cvn H.B /DEST pdfmark end
- -30 36549 a 1518 x FU(There)463
-b(are)f(se)-39 b(v)-23 b(eral)463 b(w)-15 b(ays)461 b(to)h(boot)g
-(ZipSlack.)g(The)h(most)e(common)h(is)g(to)g(use)g(the)h(included)-30
-40081 y(LINUX.B)-54 b(A)-172 b(T)328 b(to)g(boot)g(the)g(system)f(from)
-i(DOS)e(\(or)i(from)f(DOS)g(mode)g(under)g(W)-62 b(indo)-39
-b(ws)328 b(9x\).)-30 42096 y(This)387 b(\002le)g(must)g(be)g(edited)g
-(to)g(match)g(your)g(system)g(before)g(it)g(will)g(w)-15
-b(ork.)-30 43206 y
-SDict begin H.S end
- -30 43206 a -30 43206 a
-SDict begin 18.2 H.A end
- -30 43206
-a -30 43206 a
-SDict begin [ /View [/XYZ H.V] /Dest (6714) cvn H.B /DEST pdfmark end
- -30 43206 a 1680 x FU(Start)390 b(by)g(opening)f(the)
-12895 44886 y
-SDict begin H.S end
- 12895 44886 a 12895 44886 a
-SDict begin 18.2 H.A end
- 12895 44886
-a 12895 44886 a
-SDict begin [ /View [/XYZ H.V] /Dest (6715) cvn H.B /DEST pdfmark end
- 12895 44886 a FQ(C:\\LINUX\\LINUX.BAT)379
-b FU(\002le)390 b(in)g(your)g(f)-15 b(a)-31 b(v)g(orite)389
-b(te)-23 b(xt)390 b(editor)-85 b(.)390 b(At)g(the)g(top)g(of)-30
-46900 y(the)364 b(\002le)f(you)h(will)f(notice)g(a)h(lar)-28
-b(ge)364 b(comment.)g(It)g(e)-23 b(xplains)362 b(what)i(you)g(need)f
-(to)h(edit)f(in)h(this)f(\002le)-30 48915 y(\(and)440
-b(also)g(what)g(to)g(do)g(if)g(you)g(are)h(booting)e(from)h(an)g(e)-23
-b(xternal)440 b(Zip)g(dri)-39 b(v)-23 b(e\).)440 b(Don')-28
-b(t)440 b(w)-15 b(orry)440 b(if)-30 50930 y(you)457 b(don')-28
-b(t)456 b(understand)g(the)16060 50930 y
-SDict begin H.S end
- 16060 50930
-a 16060 50930 a
-SDict begin 18.2 H.A end
- 16060 50930 a 16060 50930 a
-SDict begin [ /View [/XYZ H.V] /Dest (6716) cvn H.B /DEST pdfmark end
- 16060 50930
-a FP(root=)g FU(setting.)g(There)h(are)g(se)-39 b(v)-23
-b(eral)456 b(e)-23 b(xamples,)457 b(so)f(feel)h(free)g(to)-30
-52944 y(pick)450 b(one)g(and)g(try)g(it.)g(If)g(it)g(doesn')-28
-b(t)450 b(w)-15 b(ork,)449 b(you)h(can)g(edit)g(the)g(\002le)g(ag)-8
-b(ain,)450 b(comment)f(out)h(the)-30 54959 y(line)387
-b(you)g(uncommented,)g(and)g(pick)g(another)g(one.)-30
-56069 y
-SDict begin H.S end
- -30 56069 a -30 56069 a
-SDict begin 18.2 H.A end
- -30 56069 a -30 56069
-a
-SDict begin [ /View [/XYZ H.V] /Dest (6717) cvn H.B /DEST pdfmark end
- -30 56069 a 1679 x FU(After)409 b(you)g(uncomment)f(the)h(line)f(you)
-h(w)-15 b(ant)408 b(by)h(remo)-23 b(ving)408 b(the)35874
-57748 y
-SDict begin H.S end
- 35874 57748 a 35874 57748 a
-SDict begin 18.2 H.A end
- 35874 57748 a 35874
-57748 a
-SDict begin [ /View [/XYZ H.V] /Dest (6718) cvn H.B /DEST pdfmark end
- 35874 57748 a FU(\223rem\224)h(at)g(the)g(be)-23
-b(ginning)408 b(of)-30 59763 y(the)387 b(line,)h(sa)-31
-b(v)-23 b(e)387 b(the)g(\002le)g(and)g(e)-23 b(xit)387
-b(the)g(editor)-85 b(.)387 b(Bring)g(your)g(machine)g(into)g(DOS)g
-(mode.)-30 60874 y
-SDict begin H.S end
- -30 60874 a -30 60874 a
-SDict begin 18.2 H.A end
- -30 60874
-a -30 60874 a
-SDict begin [ /View [/XYZ H.V] /Dest (6719) cvn H.B /DEST pdfmark end
- -30 60874 a 1679 x FU(A)g(DOS)g(prompt)g(windo)-39
-b(w)387 b(in)g(W)-62 b(indo)-39 b(ws)387 b(9x)g(will)g(NO)-62
-b(T)387 b(w)-15 b(ork.)-30 63663 y
-SDict begin H.S end
- -30 63663 a -30 63663
-a
-SDict begin 18.2 H.A end
- -30 63663 a -30 63663 a
-SDict begin [ /View [/XYZ H.V] /Dest (6720) cvn H.B /DEST pdfmark end
- -30 63663 a 1679 x FU(T)-124
-b(ype)3486 65342 y
-SDict begin H.S end
- 3486 65342 a 3486 65342 a
-SDict begin 18.2 H.A end
- 3486 65342
-a 3486 65342 a
-SDict begin [ /View [/XYZ H.V] /Dest (6721) cvn H.B /DEST pdfmark end
- 3486 65342 a FP(C:\\LINUX\\LINUX.BAT)452
-b FU(to)j(boot)f(the)h(system.)f(If)h(all)g(goes)f(well,)h(you)g
-(should)f(be)h(pre-)-30 67357 y(sented)387 b(with)g(a)g(login)g
-(prompt.)p Black 49394 73792 a FR(227)p Black eop end
-%%Page: 228 250
-TeXDict begin 228 249 bop -8000 -8000 a
-SDict begin /product where{pop product(Distiller)search{pop pop pop
-version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
-closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
-grestore}if}{pop}ifelse}{pop}ifelse}if end
- -8000 -8000 a
-Black 0 TeXcolorgray -30 -1237 a
-SDict begin H.S end
- -30 -1237 a 0 TeXcolorgray
-0 TeXcolorgray -30 -1237 a
-SDict begin H.R end
- -30 -1237 a -30 -1237 a
-SDict begin [ /View [/XYZ H.V] /Dest (page.228) cvn H.B /DEST pdfmark
-end
- -30
--1237 a Black -399 x FR(Chapter)387 b(19)g(ZipSlac)-31
-b(k)p Black -30 2504 a
-SDict begin H.S end
- -30 2504 a -30 2504 a
-SDict begin 18.2 H.A end
- -30 2504
-a -30 2504 a
-SDict begin [ /View [/XYZ H.V] /Dest (6722) cvn H.B /DEST pdfmark end
- -30 2504 a 1107 x FU(Log)427 b(in)g(as)6245
-3611 y
-SDict begin H.S end
- 6245 3611 a 6245 3611 a
-SDict begin 18.2 H.A end
- 6245 3611 a 6245 3611
-a
-SDict begin [ /View [/XYZ H.V] /Dest (6723) cvn H.B /DEST pdfmark end
- 6245 3611 a FP(root)p FU(,)g(with)g(no)g(passw)-15
-b(ord.)426 b(Y)-170 b(ou')-15 b(ll)426 b(probably)g(w)-15
-b(ant)427 b(to)f(set)h(a)h(passw)-15 b(ord)426 b(for)h(root,)-30
-5626 y(as)508 b(well)f(as)g(adding)g(an)h(account)f(for)h(yourself.)f
-(At)h(this)f(point)g(you)g(can)h(refer)f(to)h(the)f(other)-30
-7640 y(sections)387 b(in)g(this)g(book)g(for)g(general)g(system)g
-(usage.)-30 8751 y
-SDict begin H.S end
- -30 8751 a -30 8751 a
-SDict begin 18.2 H.A end
- -30 8751 a -30
-8751 a
-SDict begin [ /View [/XYZ H.V] /Dest (6724) cvn H.B /DEST pdfmark end
- -30 8751 a 1679 x FU(If)362 b(using)g(the)7341
-10430 y
-SDict begin H.S end
- 7341 10430 a 7341 10430 a
-SDict begin 18.2 H.A end
- 7341 10430 a 7341 10430
-a
-SDict begin [ /View [/XYZ H.V] /Dest (6725) cvn H.B /DEST pdfmark end
- 7341 10430 a FQ(LINUX.BAT)356 b FU(\002le)361 b(to)h(boot)g(the)g
-(system)f(didn')-28 b(t)361 b(w)-15 b(ork)362 b(for)g(you,)g(you)g
-(should)f(refer)h(to)-30 12445 y(the)387 b(included)7976
-12445 y
-SDict begin H.S end
- 7976 12445 a 7976 12445 a
-SDict begin 18.2 H.A end
- 7976 12445 a 7976 12445
-a
-SDict begin [ /View [/XYZ H.V] /Dest (6726) cvn H.B /DEST pdfmark end
- 7976 12445 a FQ(C:\\LINUX\\README.1ST)375 b FU(\002le)387
-b(for)h(other)f(w)-15 b(ays)386 b(to)i(boot.)p Black
--30 73792 a FR(228)p Black eop end
-%%Page: 229 251
-TeXDict begin 229 250 bop -8000 -8000 a
-SDict begin /product where{pop product(Distiller)search{pop pop pop
-version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
-closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
-grestore}if}{pop}ifelse}{pop}ifelse}if end
- -8000 -8000 a
-Black 0 TeXcolorgray -30 -1358 a
-SDict begin H.S end
- -30 -1358 a 0 TeXcolorgray
-0 TeXcolorgray -30 -1358 a
-SDict begin H.R end
- -30 -1358 a -30 -1358 a
-SDict begin [ /View [/XYZ H.V] /Dest (page.229) cvn H.B /DEST pdfmark
-end
- -30
--1358 a Black Black -30 2383 a
-SDict begin H.S end
- -30 2383 a -30 2383 a
-SDict begin 18.2 H.A end
-
--30 2383 a -30 2383 a
-SDict begin [ /View [/XYZ H.V] /Dest (GLOSSARY) cvn H.B /DEST pdfmark
-end
- -30 2383 a 3376 x FO(Glossar)46
-b(y)p -30 13332 51806 56 v -30 14494 a
-SDict begin H.S end
- -30 14494 a -30
-14494 a
-SDict begin 18.2 H.A end
- -30 14494 a -30 14494 a
-SDict begin [ /View [/XYZ H.V] /Dest (6729) cvn H.B /DEST pdfmark end
- -30 14494 a 1098 x FE(Account)-30
-16386 y
-SDict begin H.S end
- -30 16386 a -30 16386 a
-SDict begin 18.2 H.A end
- -30 16386 a -30 16386
-a
-SDict begin [ /View [/XYZ H.V] /Dest (6730) cvn H.B /DEST pdfmark end
- -30 16386 a -30 17161 a
-SDict begin H.S end
- -30 17161 a -30 17161 a
-SDict begin 18.2 H.A end
- -30
-17161 a -30 17161 a
-SDict begin [ /View [/XYZ H.V] /Dest (6731) cvn H.B /DEST pdfmark end
- -30 17161 a 3070 19156 a FU(All)494
-b(of)g(the)h(information)e(about)h(a)h(user)-62 b(,)495
-b(including)e(username,)i(passw)-15 b(ord,)494 b(\002nger)g(in-)3070
-21171 y(formation,)i(UID)g(and)g(GID,)h(and)f(home)g(directory)-101
-b(.)497 b(T)-124 b(o)496 b(create)h(an)g(account)f(is)g(to)g(add)3070
-23185 y(and)387 b(de\002ne)g(a)g(user)-85 b(.)-30 27137
-y
-SDict begin H.S end
- -30 27137 a -30 27137 a
-SDict begin 18.2 H.A end
- -30 27137 a -30 27137 a
-SDict begin [ /View [/XYZ H.V] /Dest (6733) cvn H.B /DEST pdfmark end
- -30
-27137 a 2015 x FE(Bac)-31 b(kgr)g(ound)-30 30272 y
-SDict begin H.S end
- -30
-30272 a -30 30272 a
-SDict begin 18.2 H.A end
- -30 30272 a -30 30272 a
-SDict begin [ /View [/XYZ H.V] /Dest (6734) cvn H.B /DEST pdfmark end
- -30 30272
-a -30 31046 a
-SDict begin H.S end
- -30 31046 a -30 31046 a
-SDict begin 18.2 H.A end
- -30 31046 a -30
-31046 a
-SDict begin [ /View [/XYZ H.V] /Dest (6735) cvn H.B /DEST pdfmark end
- -30 31046 a 3070 32716 a FU(An)-23 b(y)616 b(process)h(that)g
-(is)g(running)g(without)f(accepting)h(or)g(controlling)f(the)h(input)g
-(of)g(a)3070 34731 y(terminal)386 b(is)h(said)g(to)g(be)h(running)f(in)
-g(the)g(background.)-30 38683 y
-SDict begin H.S end
- -30 38683 a -30 38683
-a
-SDict begin 18.2 H.A end
- -30 38683 a -30 38683 a
-SDict begin [ /View [/XYZ H.V] /Dest (6737) cvn H.B /DEST pdfmark end
- -30 38683 a 2015 x FE(Boot)431
-b(disk)-30 41492 y
-SDict begin H.S end
- -30 41492 a -30 41492 a
-SDict begin 18.2 H.A end
- -30 41492
-a -30 41492 a
-SDict begin [ /View [/XYZ H.V] /Dest (6738) cvn H.B /DEST pdfmark end
- -30 41492 a -30 42267 a
-SDict begin H.S end
- -30 42267 a -30
-42267 a
-SDict begin 18.2 H.A end
- -30 42267 a -30 42267 a
-SDict begin [ /View [/XYZ H.V] /Dest (6739) cvn H.B /DEST pdfmark end
- -30 42267 a 3070 44262
-a FU(A)506 b(\003opp)-15 b(y)506 b(disk)g(containing)g(an)h(operating)f
-(system)g(\(in)h(our)f(case,)i(the)e(Linux)h(k)-15 b(ernel\))3070
-46277 y(from)387 b(which)g(a)g(computer)g(can)g(be)h(started.)-30
-50228 y
-SDict begin H.S end
- -30 50228 a -30 50228 a
-SDict begin 18.2 H.A end
- -30 50228 a -30 50228
-a
-SDict begin [ /View [/XYZ H.V] /Dest (6741) cvn H.B /DEST pdfmark end
- -30 50228 a 2015 x FE(Compile)-30 53339 y
-SDict begin H.S end
- -30 53339
-a -30 53339 a
-SDict begin 18.2 H.A end
- -30 53339 a -30 53339 a
-SDict begin [ /View [/XYZ H.V] /Dest (6742) cvn H.B /DEST pdfmark end
- -30 53339 a -30
-54114 a
-SDict begin H.S end
- -30 54114 a -30 54114 a
-SDict begin 18.2 H.A end
- -30 54114 a -30 54114
-a
-SDict begin [ /View [/XYZ H.V] /Dest (6743) cvn H.B /DEST pdfmark end
- -30 54114 a 3070 55808 a FU(T)-124 b(o)387 b(con)-62
-b(v)-23 b(ert)387 b(source)g(code)g(to)g(machine-readable)30746
-55808 y
-SDict begin H.S end
- 30746 55808 a 30746 55808 a
-SDict begin 18.2 H.A end
- 30746 55808 a 30746
-55808 a
-SDict begin [ /View [/XYZ H.V] /Dest (6744) cvn H.B /DEST pdfmark end
- 30746 55808 a FU(\223binary\224)g(code.)-30 59759
-y
-SDict begin H.S end
- -30 59759 a -30 59759 a
-SDict begin 18.2 H.A end
- -30 59759 a -30 59759 a
-SDict begin [ /View [/XYZ H.V] /Dest (6746) cvn H.B /DEST pdfmark end
- -30
-59759 a 2015 x FE(Daemon)-30 62568 y
-SDict begin H.S end
- -30 62568 a -30
-62568 a
-SDict begin 18.2 H.A end
- -30 62568 a -30 62568 a
-SDict begin [ /View [/XYZ H.V] /Dest (6747) cvn H.B /DEST pdfmark end
- -30 62568 a -30 63343
-a
-SDict begin H.S end
- -30 63343 a -30 63343 a
-SDict begin 18.2 H.A end
- -30 63343 a -30 63343 a
-SDict begin [ /View [/XYZ H.V] /Dest (6748) cvn H.B /DEST pdfmark end
- -30
-63343 a 3070 65338 a FU(A)485 b(program)g(designed)g(to)h(run)f(in)h
-(the)f(background)g(and,)h(without)f(user)h(interv)-23
-b(ention,)3070 67353 y(perform)387 b(a)g(speci\002c)g(task)g(\(usually)
-g(pro)-23 b(viding)386 b(a)h(service\).)p Black -30 73672
-a
-SDict begin H.S end
- -30 73672 a -30 73672 a
-SDict begin 18.2 H.A end
- -30 73672 a -30 73672 a
-SDict begin [ /View [/XYZ H.V] /Dest (6750) cvn H.B /DEST pdfmark end
- -30
-73672 a 49451 74722 a FR(229)p Black eop end
-%%Page: 230 252
-TeXDict begin 230 251 bop -8000 -8000 a
-SDict begin /product where{pop product(Distiller)search{pop pop pop
-version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
-closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
-grestore}if}{pop}ifelse}{pop}ifelse}if end
- -8000 -8000 a
-Black 0 TeXcolorgray -30 -1358 a
-SDict begin H.S end
- -30 -1358 a 0 TeXcolorgray
-0 TeXcolorgray -30 -1358 a
-SDict begin H.R end
- -30 -1358 a -30 -1358 a
-SDict begin [ /View [/XYZ H.V] /Dest (page.230) cvn H.B /DEST pdfmark
-end
- -30
--1358 a Black Black 8025 x FE(Darkstar)-30 7461 y
-SDict begin H.S end
- -30
-7461 a -30 7461 a
-SDict begin 18.2 H.A end
- -30 7461 a -30 7461 a
-SDict begin [ /View [/XYZ H.V] /Dest (6751) cvn H.B /DEST pdfmark end
- -30 7461 a -30
-8236 a
-SDict begin H.S end
- -30 8236 a -30 8236 a
-SDict begin 18.2 H.A end
- -30 8236 a -30 8236 a
-SDict begin [ /View [/XYZ H.V] /Dest (6752) cvn H.B /DEST pdfmark end
- -30
-8236 a 3070 10232 a FU(The)525 b(def)-15 b(ault)525 b(hostname)g(in)h
-(Slackw)-15 b(are;)525 b(your)g(computer)h(will)f(be)h(called)f
-(darkstar)h(if)3070 12246 y(you)387 b(do)g(not)g(specify)g(some)g
-(other)g(name.)-30 13357 y
-SDict begin H.S end
- -30 13357 a -30 13357 a
-SDict begin 18.2 H.A end
- -30
-13357 a -30 13357 a
-SDict begin [ /View [/XYZ H.V] /Dest (6753) cvn H.B /DEST pdfmark end
- -30 13357 a 3070 15036 a FU(One)452
-b(of)h(P)-23 b(atrick)452 b(V)-200 b(olk)-15 b(erding')-85
-b(s)451 b(de)-39 b(v)-23 b(elopment)452 b(machines,)h(named)f(after)
-43965 15036 y
-SDict begin H.S end
- 43965 15036 a 43965 15036 a
-SDict begin 18.2 H.A end
- 43965 15036
-a 43965 15036 a
-SDict begin [ /View [/XYZ H.V] /Dest (6754) cvn H.B /DEST pdfmark end
- 43965 15036 a FU(\223Dark)h(Star\224,)3070
-17051 y(a)387 b(song)g(by)g(the)g(Grateful)g(Dead.)-30
-21002 y
-SDict begin H.S end
- -30 21002 a -30 21002 a
-SDict begin 18.2 H.A end
- -30 21002 a -30 21002
-a
-SDict begin [ /View [/XYZ H.V] /Dest (6756) cvn H.B /DEST pdfmark end
- -30 21002 a 2015 x FE(Desktop)430 b(En)-62 b(vir)-31
-b(onment)-30 24113 y
-SDict begin H.S end
- -30 24113 a -30 24113 a
-SDict begin 18.2 H.A end
- -30 24113
-a -30 24113 a
-SDict begin [ /View [/XYZ H.V] /Dest (6757) cvn H.B /DEST pdfmark end
- -30 24113 a -30 24888 a
-SDict begin H.S end
- -30 24888 a -30
-24888 a
-SDict begin 18.2 H.A end
- -30 24888 a -30 24888 a
-SDict begin [ /View [/XYZ H.V] /Dest (6758) cvn H.B /DEST pdfmark end
- -30 24888 a 3070 26581
-a FU(A)365 b(graphical)g(user)h(interf)-15 b(ace)365
-b(\(GUI\))g(that)g(runs)h(atop)f(the)g(X)h(W)-62 b(indo)-39
-b(w)365 b(System)g(and)g(pro-)3070 28596 y(vides)433
-b(such)h(features)g(as)h(inte)-23 b(grated)433 b(applications,)h
-(cohesi)-39 b(v)-23 b(e)433 b(look-and-feel)h(between)3070
-30611 y(programs)542 b(and)h(components,)f(\002le)g(and)h(windo)-39
-b(w)542 b(management)g(capabilities,)h(etc.)g(A)3070
-32625 y(step)387 b(be)-23 b(yond)386 b(the)h(simple)g(windo)-39
-b(w)387 b(manager)-85 b(.)-30 36577 y
-SDict begin H.S end
- -30 36577 a -30
-36577 a
-SDict begin 18.2 H.A end
- -30 36577 a -30 36577 a
-SDict begin [ /View [/XYZ H.V] /Dest (6760) cvn H.B /DEST pdfmark end
- -30 36577 a 2015 x FE(De)-23
-b(vice)429 b(driver)-30 39386 y
-SDict begin H.S end
- -30 39386 a -30 39386
-a
-SDict begin 18.2 H.A end
- -30 39386 a -30 39386 a
-SDict begin [ /View [/XYZ H.V] /Dest (6761) cvn H.B /DEST pdfmark end
- -30 39386 a -30 40161 a
-SDict begin H.S end
- -30
-40161 a -30 40161 a
-SDict begin 18.2 H.A end
- -30 40161 a -30 40161 a
-SDict begin [ /View [/XYZ H.V] /Dest (6762) cvn H.B /DEST pdfmark end
- -30 40161
-a 3070 42156 a FU(A)387 b(chunk)g(of)g(code)h(in)f(the)g(k)-15
-b(ernel)387 b(that)g(directly)g(controls)f(a)i(piece)f(of)g(hardw)-15
-b(are.)-30 46108 y
-SDict begin H.S end
- -30 46108 a -30 46108 a
-SDict begin 18.2 H.A end
- -30 46108
-a -30 46108 a
-SDict begin [ /View [/XYZ H.V] /Dest (6764) cvn H.B /DEST pdfmark end
- -30 46108 a 2015 x FE(De)-23 b(vice)429
-b(node)-30 48917 y
-SDict begin H.S end
- -30 48917 a -30 48917 a
-SDict begin 18.2 H.A end
- -30 48917
-a -30 48917 a
-SDict begin [ /View [/XYZ H.V] /Dest (6765) cvn H.B /DEST pdfmark end
- -30 48917 a -30 49692 a
-SDict begin H.S end
- -30 49692 a -30
-49692 a
-SDict begin 18.2 H.A end
- -30 49692 a -30 49692 a
-SDict begin [ /View [/XYZ H.V] /Dest (6766) cvn H.B /DEST pdfmark end
- -30 49692 a 3070 51687
-a FU(A)436 b(special)g(type)g(of)g(\002le)g(in)h(the)20587
-51687 y
-SDict begin H.S end
- 20587 51687 a 20587 51687 a
-SDict begin 18.2 H.A end
- 20587 51687 a 20587
-51687 a
-SDict begin [ /View [/XYZ H.V] /Dest (6767) cvn H.B /DEST pdfmark end
- 20587 51687 a FQ(/dev)d FU(\002lesystem)h(that)h(represents)g
-(a)g(hardw)-15 b(are)436 b(compo-)3070 53702 y(nent)387
-b(to)g(the)g(operating)g(system.)-30 57654 y
-SDict begin H.S end
- -30 57654
-a -30 57654 a
-SDict begin 18.2 H.A end
- -30 57654 a -30 57654 a
-SDict begin [ /View [/XYZ H.V] /Dest (6769) cvn H.B /DEST pdfmark end
- -30 57654 a 2014
-x FE(DNS)-30 60463 y
-SDict begin H.S end
- -30 60463 a -30 60463 a
-SDict begin 18.2 H.A end
- -30 60463
-a -30 60463 a
-SDict begin [ /View [/XYZ H.V] /Dest (6770) cvn H.B /DEST pdfmark end
- -30 60463 a -30 61238 a
-SDict begin H.S end
- -30 61238 a -30
-61238 a
-SDict begin 18.2 H.A end
- -30 61238 a -30 61238 a
-SDict begin [ /View [/XYZ H.V] /Dest (6771) cvn H.B /DEST pdfmark end
- -30 61238 a 3070 63233
-a FU(Domain)631 b(Name)h(Service.)g(A)f(system)g(in)h(which)g(netw)-15
-b(ork)g(ed)630 b(computers)h(are)h(gi)-39 b(v)-23 b(en)3070
-65248 y(names)387 b(which)g(translate)f(to)i(numerical)e(addresses.)p
-Black -30 73672 a FR(230)p Black eop end
-%%Page: 231 253
-TeXDict begin 231 252 bop -8000 -8000 a
-SDict begin /product where{pop product(Distiller)search{pop pop pop
-version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
-closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
-grestore}if}{pop}ifelse}{pop}ifelse}if end
- -8000 -8000 a
-Black 0 TeXcolorgray -30 -1358 a
-SDict begin H.S end
- -30 -1358 a 0 TeXcolorgray
-0 TeXcolorgray -30 -1358 a
-SDict begin H.R end
- -30 -1358 a -30 -1358 a
-SDict begin [ /View [/XYZ H.V] /Dest (page.231) cvn H.B /DEST pdfmark
-end
- -30
--1358 a Black Black -30 2383 a
-SDict begin H.S end
- -30 2383 a -30 2383 a
-SDict begin 18.2 H.A end
-
--30 2383 a -30 2383 a
-SDict begin [ /View [/XYZ H.V] /Dest (6773) cvn H.B /DEST pdfmark end
- -30 2383 a 1131 x FE(Domain)430
-b(name)-30 4308 y
-SDict begin H.S end
- -30 4308 a -30 4308 a
-SDict begin 18.2 H.A end
- -30 4308 a -30
-4308 a
-SDict begin [ /View [/XYZ H.V] /Dest (6774) cvn H.B /DEST pdfmark end
- -30 4308 a -30 5083 a
-SDict begin H.S end
- -30 5083 a -30 5083 a
-SDict begin 18.2 H.A end
- -30
-5083 a -30 5083 a
-SDict begin [ /View [/XYZ H.V] /Dest (6775) cvn H.B /DEST pdfmark end
- -30 5083 a 3070 7078 a FU(A)387 b(computer')-85
-b(s)386 b(DNS)h(name,)h(e)-23 b(xcluding)386 b(its)h(host)g(name.)-30
-11030 y
-SDict begin H.S end
- -30 11030 a -30 11030 a
-SDict begin 18.2 H.A end
- -30 11030 a -30 11030
-a
-SDict begin [ /View [/XYZ H.V] /Dest (6777) cvn H.B /DEST pdfmark end
- -30 11030 a 2015 x FE(Dot)431 b(\002le)-30 13839 y
-SDict begin H.S end
-
--30 13839 a -30 13839 a
-SDict begin 18.2 H.A end
- -30 13839 a -30 13839 a
-SDict begin [ /View [/XYZ H.V] /Dest (6778) cvn H.B /DEST pdfmark end
- -30 13839
-a -30 14614 a
-SDict begin H.S end
- -30 14614 a -30 14614 a
-SDict begin 18.2 H.A end
- -30 14614 a -30
-14614 a
-SDict begin [ /View [/XYZ H.V] /Dest (6779) cvn H.B /DEST pdfmark end
- -30 14614 a 3070 16609 a FU(In)359 b(Linux,)g(\002les)g(which)g
-(are)h(to)f(be)h(hidden)f(ha)-31 b(v)-23 b(e)359 b(\002lenames)f(be)-23
-b(ginning)359 b(with)g(a)g(dot)g(\('.)-108 b('\).)-30
-20561 y
-SDict begin H.S end
- -30 20561 a -30 20561 a
-SDict begin 18.2 H.A end
- -30 20561 a -30 20561
-a
-SDict begin [ /View [/XYZ H.V] /Dest (6781) cvn H.B /DEST pdfmark end
- -30 20561 a 2015 x FE(Dotted)430 b(quad)-30 23671 y
-SDict begin H.S end
-
--30 23671 a -30 23671 a
-SDict begin 18.2 H.A end
- -30 23671 a -30 23671 a
-SDict begin [ /View [/XYZ H.V] /Dest (6782) cvn H.B /DEST pdfmark end
- -30 23671
-a -30 24446 a
-SDict begin H.S end
- -30 24446 a -30 24446 a
-SDict begin 18.2 H.A end
- -30 24446 a -30
-24446 a
-SDict begin [ /View [/XYZ H.V] /Dest (6783) cvn H.B /DEST pdfmark end
- -30 24446 a 3070 26140 a FU(The)326 b(format)h(of)g(IP)f
-(addresses,)h(so)f(called)h(because)g(it)f(consists)g(of)h(four)g
-(numbers)f(\(range)3070 28155 y(0-255)387 b(decimal\))f(separated)i(by)
-f(periods.)-30 32107 y
-SDict begin H.S end
- -30 32107 a -30 32107 a
-SDict begin 18.2 H.A end
- -30 32107
-a -30 32107 a
-SDict begin [ /View [/XYZ H.V] /Dest (6785) cvn H.B /DEST pdfmark end
- -30 32107 a 2014 x FE(Dynamic)429 b(loader)-30
-35217 y
-SDict begin H.S end
- -30 35217 a -30 35217 a
-SDict begin 18.2 H.A end
- -30 35217 a -30 35217
-a
-SDict begin [ /View [/XYZ H.V] /Dest (6786) cvn H.B /DEST pdfmark end
- -30 35217 a -30 35992 a
-SDict begin H.S end
- -30 35992 a -30 35992 a
-SDict begin 18.2 H.A end
- -30
-35992 a -30 35992 a
-SDict begin [ /View [/XYZ H.V] /Dest (6787) cvn H.B /DEST pdfmark end
- -30 35992 a 3070 37686 a FU(When)599
-b(programs)g(are)h(compiled)e(under)i(Linux,)f(the)-23
-b(y)599 b(usually)g(use)g(pieces)g(of)h(code)3070 39700
-y(\(functions\))336 b(from)g(e)-23 b(xternal)337 b(libraries.)f(When)h
-(such)g(programs)f(are)h(run,)g(those)f(libraries)3070
-41715 y(must)452 b(be)h(found)g(and)g(the)g(required)g(functions)f
-(loaded)h(into)g(memory)-101 b(.)453 b(This)f(is)h(the)g(job)3070
-43730 y(of)387 b(the)g(dynamic)g(loader)-85 b(.)-30 47682
-y
-SDict begin H.S end
- -30 47682 a -30 47682 a
-SDict begin 18.2 H.A end
- -30 47682 a -30 47682 a
-SDict begin [ /View [/XYZ H.V] /Dest (6789) cvn H.B /DEST pdfmark end
- -30
-47682 a 2014 x FE(En)-62 b(vir)-31 b(onment)429 b(v)-31
-b(ariab)-15 b(le)-30 50490 y
-SDict begin H.S end
- -30 50490 a -30 50490 a
-SDict begin 18.2 H.A end
-
--30 50490 a -30 50490 a
-SDict begin [ /View [/XYZ H.V] /Dest (6790) cvn H.B /DEST pdfmark end
- -30 50490 a -30 51265 a
-SDict begin H.S end
- -30 51265
-a -30 51265 a
-SDict begin 18.2 H.A end
- -30 51265 a -30 51265 a
-SDict begin [ /View [/XYZ H.V] /Dest (6791) cvn H.B /DEST pdfmark end
- -30 51265 a 3070
-53261 a FU(A)466 b(v)-39 b(ariable)467 b(set)f(in)h(the)f(user')-85
-b(s)467 b(shell)f(which)g(can)h(be)g(referenced)g(by)f(that)h(user)f
-(or)h(pro-)3070 55275 y(grams)504 b(run)g(by)h(that)f(user)g(within)g
-(that)g(shell.)h(En)-62 b(vironment)503 b(v)-39 b(ariables)504
-b(are)h(generally)3070 57290 y(used)387 b(to)g(store)g(preferences)g
-(and)h(def)-15 b(ault)386 b(parameters.)-30 61242 y
-SDict begin H.S end
- -30
-61242 a -30 61242 a
-SDict begin 18.2 H.A end
- -30 61242 a -30 61242 a
-SDict begin [ /View [/XYZ H.V] /Dest (6793) cvn H.B /DEST pdfmark end
- -30 61242
-a 2014 x FE(Epoc)-15 b(h)-30 64352 y
-SDict begin H.S end
- -30 64352 a -30
-64352 a
-SDict begin 18.2 H.A end
- -30 64352 a -30 64352 a
-SDict begin [ /View [/XYZ H.V] /Dest (6794) cvn H.B /DEST pdfmark end
- -30 64352 a -30 65127
-a
-SDict begin H.S end
- -30 65127 a -30 65127 a
-SDict begin 18.2 H.A end
- -30 65127 a -30 65127 a
-SDict begin [ /View [/XYZ H.V] /Dest (6795) cvn H.B /DEST pdfmark end
- -30
-65127 a 3070 66821 a FU(A)417 b(period)g(of)h(history;)e(in)h(Unix,)
-21373 66821 y
-SDict begin H.S end
- 21373 66821 a 21373 66821 a
-SDict begin 18.2 H.A end
- 21373 66821
-a 21373 66821 a
-SDict begin [ /View [/XYZ H.V] /Dest (6796) cvn H.B /DEST pdfmark end
- 21373 66821 a FU(\223The)g(Epoch\224)h(be)-23
-b(gins)416 b(at)i(00:00:00)e(UTC)h(January)h(1,)p Black
-49451 73672 a FR(231)p Black eop end
-%%Page: 232 254
-TeXDict begin 232 253 bop -8000 -8000 a
-SDict begin /product where{pop product(Distiller)search{pop pop pop
-version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
-closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
-grestore}if}{pop}ifelse}{pop}ifelse}if end
- -8000 -8000 a
-Black 0 TeXcolorgray -30 -1358 a
-SDict begin H.S end
- -30 -1358 a 0 TeXcolorgray
-0 TeXcolorgray -30 -1358 a
-SDict begin H.R end
- -30 -1358 a -30 -1358 a
-SDict begin [ /View [/XYZ H.V] /Dest (page.232) cvn H.B /DEST pdfmark
-end
- -30
--1358 a Black -30 -2687 a
-SDict begin H.S end
- -30 -2687 a -30 -2687 a
-SDict begin 18.2 H.A end
- -30
--2687 a -30 -2687 a
-SDict begin [ /View [/XYZ H.V] /Dest (6821) cvn H.B /DEST pdfmark end
- -30 -2687 a Black 3070 3490 a FU(1970.)450
-b(This)f(is)h(considered)g(the)21204 3490 y
-SDict begin H.S end
- 21204 3490
-a 21204 3490 a
-SDict begin 18.2 H.A end
- 21204 3490 a 21204 3490 a
-SDict begin [ /View [/XYZ H.V] /Dest (6797) cvn H.B /DEST pdfmark end
- 21204 3490 a
-FU(\223da)-23 b(wn)449 b(of)i(time\224)e(by)h(Unix)g(and)g(Unix-lik)-15
-b(e)449 b(operating)3070 5505 y(systems,)386 b(and)i(all)f(other)g
-(time)g(is)g(calculated)g(relati)-39 b(v)-23 b(e)387
-b(to)g(this)g(date.)-30 9457 y
-SDict begin H.S end
- -30 9457 a -30 9457 a
-SDict begin 18.2 H.A end
-
--30 9457 a -30 9457 a
-SDict begin [ /View [/XYZ H.V] /Dest (6799) cvn H.B /DEST pdfmark end
- -30 9457 a 2014 x FE(Filesystem)-30
-12567 y
-SDict begin H.S end
- -30 12567 a -30 12567 a
-SDict begin 18.2 H.A end
- -30 12567 a -30 12567
-a
-SDict begin [ /View [/XYZ H.V] /Dest (6800) cvn H.B /DEST pdfmark end
- -30 12567 a -30 13342 a
-SDict begin H.S end
- -30 13342 a -30 13342 a
-SDict begin 18.2 H.A end
- -30
-13342 a -30 13342 a
-SDict begin [ /View [/XYZ H.V] /Dest (6801) cvn H.B /DEST pdfmark end
- -30 13342 a 3070 15036 a FU(A)499
-b(representation)g(of)h(stored)f(data)h(in)f(which)29119
-15036 y
-SDict begin H.S end
- 29119 15036 a 29119 15036 a
-SDict begin 18.2 H.A end
- 29119 15036 a 29119
-15036 a
-SDict begin [ /View [/XYZ H.V] /Dest (6802) cvn H.B /DEST pdfmark end
- 29119 15036 a FU(\223\002les\224)g(of)h(data)g(are)g(k)-15
-b(ept)498 b(or)-28 b(g)-8 b(anized)500 b(in)3070 17051
-y
-SDict begin H.S end
- 3070 17051 a 3070 17051 a
-SDict begin 18.2 H.A end
- 3070 17051 a 3070 17051 a
-SDict begin [ /View [/XYZ H.V] /Dest (6803) cvn H.B /DEST pdfmark end
-
-3070 17051 a FU(\223directories\224.)439 b(The)h(\002lesystem)e(is)h
-(the)h(nearly)f(uni)-39 b(v)-23 b(ersal)439 b(form)g(of)h
-(representation)f(for)3070 19065 y(data)387 b(stored)g(to)g(disks)g
-(\(both)g(\002x)-23 b(ed)386 b(and)h(remo)-23 b(v)-39
-b(able\).)-30 23017 y
-SDict begin H.S end
- -30 23017 a -30 23017 a
-SDict begin 18.2 H.A end
- -30 23017
-a -30 23017 a
-SDict begin [ /View [/XYZ H.V] /Dest (6805) cvn H.B /DEST pdfmark end
- -30 23017 a 2015 x FE(Foregr)-31 b(ound)-30
-26151 y
-SDict begin H.S end
- -30 26151 a -30 26151 a
-SDict begin 18.2 H.A end
- -30 26151 a -30 26151
-a
-SDict begin [ /View [/XYZ H.V] /Dest (6806) cvn H.B /DEST pdfmark end
- -30 26151 a -30 26926 a
-SDict begin H.S end
- -30 26926 a -30 26926 a
-SDict begin 18.2 H.A end
- -30
-26926 a -30 26926 a
-SDict begin [ /View [/XYZ H.V] /Dest (6807) cvn H.B /DEST pdfmark end
- -30 26926 a 3070 28596 a FU(A)435
-b(program)f(that)h(is)g(accepting)g(or)g(controlling)f(a)h(terminal')
--85 b(s)435 b(input)f(is)h(said)g(to)g(be)g(run-)3070
-30611 y(ning)386 b(in)i(the)f(fore)-23 b(ground.)-30
-34563 y
-SDict begin H.S end
- -30 34563 a -30 34563 a
-SDict begin 18.2 H.A end
- -30 34563 a -30 34563
-a
-SDict begin [ /View [/XYZ H.V] /Dest (6809) cvn H.B /DEST pdfmark end
- -30 34563 a 2014 x FE(Frameb)-31 b(uff)-15 b(er)-30
-37372 y
-SDict begin H.S end
- -30 37372 a -30 37372 a
-SDict begin 18.2 H.A end
- -30 37372 a -30 37372
-a
-SDict begin [ /View [/XYZ H.V] /Dest (6810) cvn H.B /DEST pdfmark end
- -30 37372 a -30 38146 a
-SDict begin H.S end
- -30 38146 a -30 38146 a
-SDict begin 18.2 H.A end
- -30
-38146 a -30 38146 a
-SDict begin [ /View [/XYZ H.V] /Dest (6811) cvn H.B /DEST pdfmark end
- -30 38146 a 3070 40142 a FU(A)294
-b(type)h(of)g(graphics)f(de)-39 b(vice;)295 b(in)g(Linux,)g(this)f
-(most)g(often)h(refers)g(to)g(the)g(softw)-15 b(are)294
-b(frame-)3070 42156 y(b)-31 b(uf)-39 b(fer)-62 b(,)296
-b(which)g(pro)-23 b(vides)295 b(a)h(standard)f(frameb)-31
-b(uf)-39 b(fer)297 b(interf)-15 b(ace)295 b(to)h(programs)f(while)g(k)
--15 b(eep-)3070 44171 y(ing)392 b(speci\002c)h(hardw)-15
-b(are)393 b(dri)-39 b(v)-23 b(ers)393 b(hidden)g(from)g(them.)g(This)g
-(layer)g(of)g(abstraction)g(frees)3070 46186 y(programs)386
-b(of)i(the)f(need)g(to)g(speak)h(to)f(v)-39 b(arious)387
-b(hardw)-15 b(are)387 b(dri)-39 b(v)-23 b(ers.)-30 50138
-y
-SDict begin H.S end
- -30 50138 a -30 50138 a
-SDict begin 18.2 H.A end
- -30 50138 a -30 50138 a
-SDict begin [ /View [/XYZ H.V] /Dest (6813) cvn H.B /DEST pdfmark end
- -30
-50138 a 2014 x FE(FTP)-30 52927 y
-SDict begin H.S end
- -30 52927 a -30 52927
-a
-SDict begin 18.2 H.A end
- -30 52927 a -30 52927 a
-SDict begin [ /View [/XYZ H.V] /Dest (6814) cvn H.B /DEST pdfmark end
- -30 52927 a -30 53702 a
-SDict begin H.S end
- -30
-53702 a -30 53702 a
-SDict begin 18.2 H.A end
- -30 53702 a -30 53702 a
-SDict begin [ /View [/XYZ H.V] /Dest (6815) cvn H.B /DEST pdfmark end
- -30 53702
-a 3070 55717 a FU(The)453 b(File)g(T)-54 b(ransfer)453
-b(Protocol.)g(FTP)g(is)g(a)h(v)-23 b(ery)453 b(popular)g(method)g(of)g
-(transferring)g(data)3070 57731 y(between)387 b(computers.)-30
-61683 y
-SDict begin H.S end
- -30 61683 a -30 61683 a
-SDict begin 18.2 H.A end
- -30 61683 a -30 61683
-a
-SDict begin [ /View [/XYZ H.V] /Dest (6817) cvn H.B /DEST pdfmark end
- -30 61683 a 2015 x FE(Gate)-23 b(wa)-31 b(y)-30 64793
-y
-SDict begin H.S end
- -30 64793 a -30 64793 a
-SDict begin 18.2 H.A end
- -30 64793 a -30 64793 a
-SDict begin [ /View [/XYZ H.V] /Dest (6818) cvn H.B /DEST pdfmark end
- -30
-64793 a -30 65568 a
-SDict begin H.S end
- -30 65568 a -30 65568 a
-SDict begin 18.2 H.A end
- -30 65568
-a -30 65568 a
-SDict begin [ /View [/XYZ H.V] /Dest (6819) cvn H.B /DEST pdfmark end
- -30 65568 a 3070 67262 a FU(A)349 b(computer)g(through)f
-(which)h(data)h(on)f(a)g(netw)-15 b(ork)349 b(is)g(transferred)g(to)g
-(another)g(netw)-15 b(ork.)p Black -30 73672 a FR(232)p
-Black eop end
-%%Page: 233 255
-TeXDict begin 233 254 bop -8000 -8000 a
-SDict begin /product where{pop product(Distiller)search{pop pop pop
-version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
-closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
-grestore}if}{pop}ifelse}{pop}ifelse}if end
- -8000 -8000 a
-Black 0 TeXcolorgray -30 -1358 a
-SDict begin H.S end
- -30 -1358 a 0 TeXcolorgray
-0 TeXcolorgray -30 -1358 a
-SDict begin H.R end
- -30 -1358 a -30 -1358 a
-SDict begin [ /View [/XYZ H.V] /Dest (page.233) cvn H.B /DEST pdfmark
-end
- -30
--1358 a Black Black 8025 x FE(GID)-30 7461 y
-SDict begin H.S end
- -30 7461
-a -30 7461 a
-SDict begin 18.2 H.A end
- -30 7461 a -30 7461 a
-SDict begin [ /View [/XYZ H.V] /Dest (6822) cvn H.B /DEST pdfmark end
- -30 7461 a -30 8236
-a
-SDict begin H.S end
- -30 8236 a -30 8236 a
-SDict begin 18.2 H.A end
- -30 8236 a -30 8236 a
-SDict begin [ /View [/XYZ H.V] /Dest (6823) cvn H.B /DEST pdfmark end
- -30 8236
-a 3070 10232 a FU(Group)387 b(Identi\002er)-85 b(.)387
-b(The)g(GID)g(is)g(a)h(unique)f(number)f(attrib)-31 b(uted)387
-b(to)g(a)h(group)f(of)g(users.)-30 14183 y
-SDict begin H.S end
- -30 14183
-a -30 14183 a
-SDict begin 18.2 H.A end
- -30 14183 a -30 14183 a
-SDict begin [ /View [/XYZ H.V] /Dest (6825) cvn H.B /DEST pdfmark end
- -30 14183 a 2015
-x FE(Gr)-31 b(oup)-30 17294 y
-SDict begin H.S end
- -30 17294 a -30 17294 a
-SDict begin 18.2 H.A end
-
--30 17294 a -30 17294 a
-SDict begin [ /View [/XYZ H.V] /Dest (6826) cvn H.B /DEST pdfmark end
- -30 17294 a -30 18069 a
-SDict begin H.S end
- -30 18069
-a -30 18069 a
-SDict begin 18.2 H.A end
- -30 18069 a -30 18069 a
-SDict begin [ /View [/XYZ H.V] /Dest (6827) cvn H.B /DEST pdfmark end
- -30 18069 a 3070
-19763 a FU(Users)387 b(in)h(Unix)g(belong)f(to)18268
-19763 y
-SDict begin H.S end
- 18268 19763 a 18268 19763 a
-SDict begin 18.2 H.A end
- 18268 19763 a 18268
-19763 a
-SDict begin [ /View [/XYZ H.V] /Dest (6828) cvn H.B /DEST pdfmark end
- 18268 19763 a FU(\223groups\224,)h(which)g(can)g(contain)g(man)
--23 b(y)387 b(other)h(users)g(and)g(are)3070 21777 y(used)312
-b(for)g(more)g(general)g(access)g(control)g(than)g(the)g(e)-23
-b(xistence)312 b(of)g(users)g(alone)g(can)g(easily)3070
-23792 y(allo)-39 b(w)-101 b(.)-30 27744 y
-SDict begin H.S end
- -30 27744 a
--30 27744 a
-SDict begin 18.2 H.A end
- -30 27744 a -30 27744 a
-SDict begin [ /View [/XYZ H.V] /Dest (6830) cvn H.B /DEST pdfmark end
- -30 27744 a 2014
-x FE(GUI)-30 30553 y
-SDict begin H.S end
- -30 30553 a -30 30553 a
-SDict begin 18.2 H.A end
- -30 30553
-a -30 30553 a
-SDict begin [ /View [/XYZ H.V] /Dest (6831) cvn H.B /DEST pdfmark end
- -30 30553 a -30 31328 a
-SDict begin H.S end
- -30 31328 a -30
-31328 a
-SDict begin 18.2 H.A end
- -30 31328 a -30 31328 a
-SDict begin [ /View [/XYZ H.V] /Dest (6832) cvn H.B /DEST pdfmark end
- -30 31328 a 3070 33323
-a FU(Graphical)412 b(User)h(Interf)-15 b(ace.)414 b(A)f(softw)-15
-b(are)412 b(interf)-15 b(ace)413 b(that)f(uses)h(rendered)g(graphical)g
-(el-)3070 35337 y(ements)437 b(such)h(as)g(b)-31 b(uttons,)437
-b(scrollbars,)h(windo)-39 b(ws,)438 b(etc.)h(rather)f(than)f(solely)h
-(te)-23 b(xt-based)3070 37352 y(input)386 b(and)i(output)-30
-41304 y
-SDict begin H.S end
- -30 41304 a -30 41304 a
-SDict begin 18.2 H.A end
- -30 41304 a -30 41304
-a
-SDict begin [ /View [/XYZ H.V] /Dest (6834) cvn H.B /DEST pdfmark end
- -30 41304 a 2015 x FE(Home)430 b(director)15 b(y)-30
-44414 y
-SDict begin H.S end
- -30 44414 a -30 44414 a
-SDict begin 18.2 H.A end
- -30 44414 a -30 44414
-a
-SDict begin [ /View [/XYZ H.V] /Dest (6835) cvn H.B /DEST pdfmark end
- -30 44414 a -30 45189 a
-SDict begin H.S end
- -30 45189 a -30 45189 a
-SDict begin 18.2 H.A end
- -30
-45189 a -30 45189 a
-SDict begin [ /View [/XYZ H.V] /Dest (6836) cvn H.B /DEST pdfmark end
- -30 45189 a 3070 46883 a FU(A)543
-b(user')-85 b(s)8892 46883 y
-SDict begin H.S end
- 8892 46883 a 8892 46883
-a
-SDict begin 18.2 H.A end
- 8892 46883 a 8892 46883 a
-SDict begin [ /View [/XYZ H.V] /Dest (6837) cvn H.B /DEST pdfmark end
- 8892 46883 a FU(\223home)543
-b(directory\224)h(is)g(the)f(directory)h(the)f(user)h(is)g(placed)g(in)
-f(immediately)3070 48898 y(upon)363 b(logging)f(in.)i(Users)g(ha)-31
-b(v)-23 b(e)363 b(full)g(permissions)g(and)g(more)h(or)f(less)g(free)h
-(reign)g(within)3070 50912 y(their)387 b(home)g(directories.)-30
-54864 y
-SDict begin H.S end
- -30 54864 a -30 54864 a
-SDict begin 18.2 H.A end
- -30 54864 a -30 54864
-a
-SDict begin [ /View [/XYZ H.V] /Dest (6839) cvn H.B /DEST pdfmark end
- -30 54864 a 2015 x FE(HO)-77 b(WT)-62 b(O)-30 57673
-y
-SDict begin H.S end
- -30 57673 a -30 57673 a
-SDict begin 18.2 H.A end
- -30 57673 a -30 57673 a
-SDict begin [ /View [/XYZ H.V] /Dest (6840) cvn H.B /DEST pdfmark end
- -30
-57673 a -30 58448 a
-SDict begin H.S end
- -30 58448 a -30 58448 a
-SDict begin 18.2 H.A end
- -30 58448
-a -30 58448 a
-SDict begin [ /View [/XYZ H.V] /Dest (6841) cvn H.B /DEST pdfmark end
- -30 58448 a 3070 60443 a FU(A)550 b(document)g
-(describing)18409 60443 y
-SDict begin H.S end
- 18409 60443 a 18409 60443 a
-SDict begin 18.2 H.A end
-
-18409 60443 a 18409 60443 a
-SDict begin [ /View [/XYZ H.V] /Dest (6842) cvn H.B /DEST pdfmark end
- 18409 60443 a FU(\223ho)-39
-b(w)551 b(to\224)g(do)f(something,)g(such)h(as)g(con\002gure)f(a)h
-(\002re)-39 b(w)-15 b(all)3070 62458 y(or)571 b(manage)g(users)h(and)f
-(groups.)g(There)h(is)f(a)h(lar)-28 b(ge)571 b(collection)g(of)h(these)
-f(documents)3070 64473 y(a)-31 b(v)-39 b(ailable)387
-b(from)g(the)g(Linux)g(Documentation)f(Project.)p Black
-49451 73672 a FR(233)p Black eop end
-%%Page: 234 256
-TeXDict begin 234 255 bop -8000 -8000 a
-SDict begin /product where{pop product(Distiller)search{pop pop pop
-version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
-closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
-grestore}if}{pop}ifelse}{pop}ifelse}if end
- -8000 -8000 a
-Black 0 TeXcolorgray -30 -1358 a
-SDict begin H.S end
- -30 -1358 a 0 TeXcolorgray
-0 TeXcolorgray -30 -1358 a
-SDict begin H.R end
- -30 -1358 a -30 -1358 a
-SDict begin [ /View [/XYZ H.V] /Dest (page.234) cvn H.B /DEST pdfmark
-end
- -30
--1358 a Black -30 -2687 a
-SDict begin H.S end
- -30 -2687 a -30 -2687 a
-SDict begin 18.2 H.A end
- -30
--2687 a -30 -2687 a
-SDict begin [ /View [/XYZ H.V] /Dest (6868) cvn H.B /DEST pdfmark end
- -30 -2687 a Black -30 2383 a
-SDict begin H.S end
- -30
-2383 a -30 2383 a
-SDict begin 18.2 H.A end
- -30 2383 a -30 2383 a
-SDict begin [ /View [/XYZ H.V] /Dest (6844) cvn H.B /DEST pdfmark end
- -30 2383 a 1107
-x FE(HTTP)-30 4265 y
-SDict begin H.S end
- -30 4265 a -30 4265 a
-SDict begin 18.2 H.A end
- -30 4265 a
--30 4265 a
-SDict begin [ /View [/XYZ H.V] /Dest (6845) cvn H.B /DEST pdfmark end
- -30 4265 a -30 5040 a
-SDict begin H.S end
- -30 5040 a -30 5040
-a
-SDict begin 18.2 H.A end
- -30 5040 a -30 5040 a
-SDict begin [ /View [/XYZ H.V] /Dest (6846) cvn H.B /DEST pdfmark end
- -30 5040 a 3070 7055 a FU(The)471
-b(Hyperte)-23 b(xt)470 b(T)-54 b(ransfer)471 b(Protocol.)g(HTTP)f(is)h
-(the)g(primary)g(protocol)f(on)h(which)g(the)3070 9069
-y(W)-124 b(orld)387 b(W)-62 b(ide)387 b(W)-124 b(eb)387
-b(operates.)-30 13021 y
-SDict begin H.S end
- -30 13021 a -30 13021 a
-SDict begin 18.2 H.A end
- -30 13021
-a -30 13021 a
-SDict begin [ /View [/XYZ H.V] /Dest (6848) cvn H.B /DEST pdfmark end
- -30 13021 a 2015 x FE(ICMP)-30 15830 y
-SDict begin H.S end
-
--30 15830 a -30 15830 a
-SDict begin 18.2 H.A end
- -30 15830 a -30 15830 a
-SDict begin [ /View [/XYZ H.V] /Dest (6849) cvn H.B /DEST pdfmark end
- -30 15830
-a -30 16605 a
-SDict begin H.S end
- -30 16605 a -30 16605 a
-SDict begin 18.2 H.A end
- -30 16605 a -30
-16605 a
-SDict begin [ /View [/XYZ H.V] /Dest (6850) cvn H.B /DEST pdfmark end
- -30 16605 a 3070 18600 a FU(Internet)623 b(Control)h(Message)f
-(Protocol.)h(A)g(v)-23 b(ery)624 b(basic)g(netw)-15 b(orking)622
-b(protocol,)i(used)3070 20615 y(mostly)386 b(for)h(pings.)-30
-24567 y
-SDict begin H.S end
- -30 24567 a -30 24567 a
-SDict begin 18.2 H.A end
- -30 24567 a -30 24567
-a
-SDict begin [ /View [/XYZ H.V] /Dest (6852) cvn H.B /DEST pdfmark end
- -30 24567 a 2014 x FE(K)-23 b(ernel)-30 27376 y
-SDict begin H.S end
- -30
-27376 a -30 27376 a
-SDict begin 18.2 H.A end
- -30 27376 a -30 27376 a
-SDict begin [ /View [/XYZ H.V] /Dest (6853) cvn H.B /DEST pdfmark end
- -30 27376
-a -30 28151 a
-SDict begin H.S end
- -30 28151 a -30 28151 a
-SDict begin 18.2 H.A end
- -30 28151 a -30
-28151 a
-SDict begin [ /View [/XYZ H.V] /Dest (6854) cvn H.B /DEST pdfmark end
- -30 28151 a 3070 30146 a FU(The)574 b(heart)h(of)f(an)h
-(operating)f(system.)g(The)h(k)-15 b(ernel)574 b(is)g(the)h(part)f
-(that)g(pro)-23 b(vides)574 b(basic)3070 32161 y(process)387
-b(control)f(and)i(interf)-15 b(aces)386 b(with)h(the)g(computer')-85
-b(s)387 b(hardw)-15 b(are.)-30 36112 y
-SDict begin H.S end
- -30 36112 a -30
-36112 a
-SDict begin 18.2 H.A end
- -30 36112 a -30 36112 a
-SDict begin [ /View [/XYZ H.V] /Dest (6856) cvn H.B /DEST pdfmark end
- -30 36112 a 2015 x FE(K)-23
-b(ernel)429 b(module)-30 38921 y
-SDict begin H.S end
- -30 38921 a -30 38921
-a
-SDict begin 18.2 H.A end
- -30 38921 a -30 38921 a
-SDict begin [ /View [/XYZ H.V] /Dest (6857) cvn H.B /DEST pdfmark end
- -30 38921 a -30 39696 a
-SDict begin H.S end
- -30
-39696 a -30 39696 a
-SDict begin 18.2 H.A end
- -30 39696 a -30 39696 a
-SDict begin [ /View [/XYZ H.V] /Dest (6858) cvn H.B /DEST pdfmark end
- -30 39696
-a 3070 41691 a FU(A)497 b(piece)h(of)g(k)-15 b(ernel)497
-b(code,)i(usually)e(a)h(dri)-39 b(v)-23 b(er)498 b(of)g(some)f(sort,)h
-(that)g(can)g(be)f(loaded)h(and)3070 43706 y(unloaded)418
-b(from)g(memory)g(separately)g(from)h(the)f(main)g(body)g(of)h(the)f(k)
--15 b(ernel.)419 b(Modules)3070 45721 y(are)458 b(handy)f(when)h
-(upgrading)f(dri)-39 b(v)-23 b(ers)458 b(or)g(testing)f(k)-15
-b(ernel)457 b(settings,)h(because)f(the)-23 b(y)458 b(can)3070
-47735 y(be)387 b(loaded)g(and)g(unloaded)g(without)f(rebooting.)-30
-51687 y
-SDict begin H.S end
- -30 51687 a -30 51687 a
-SDict begin 18.2 H.A end
- -30 51687 a -30 51687
-a
-SDict begin [ /View [/XYZ H.V] /Dest (6860) cvn H.B /DEST pdfmark end
- -30 51687 a 2015 x FE(Librar)15 b(y)-30 54798 y
-SDict begin H.S end
- -30
-54798 a -30 54798 a
-SDict begin 18.2 H.A end
- -30 54798 a -30 54798 a
-SDict begin [ /View [/XYZ H.V] /Dest (6861) cvn H.B /DEST pdfmark end
- -30 54798
-a -30 55572 a
-SDict begin H.S end
- -30 55572 a -30 55572 a
-SDict begin 18.2 H.A end
- -30 55572 a -30
-55572 a
-SDict begin [ /View [/XYZ H.V] /Dest (6862) cvn H.B /DEST pdfmark end
- -30 55572 a 3070 57266 a FU(A)387 b(collection)f(of)i
-(functions)e(which)h(can)h(be)f(shared)g(between)h(programs.)-30
-61218 y
-SDict begin H.S end
- -30 61218 a -30 61218 a
-SDict begin 18.2 H.A end
- -30 61218 a -30 61218
-a
-SDict begin [ /View [/XYZ H.V] /Dest (6864) cvn H.B /DEST pdfmark end
- -30 61218 a 2015 x FE(LILO)-30 64027 y
-SDict begin H.S end
- -30 64027 a
--30 64027 a
-SDict begin 18.2 H.A end
- -30 64027 a -30 64027 a
-SDict begin [ /View [/XYZ H.V] /Dest (6865) cvn H.B /DEST pdfmark end
- -30 64027 a -30 64802
-a
-SDict begin H.S end
- -30 64802 a -30 64802 a
-SDict begin 18.2 H.A end
- -30 64802 a -30 64802 a
-SDict begin [ /View [/XYZ H.V] /Dest (6866) cvn H.B /DEST pdfmark end
- -30
-64802 a 3070 66797 a FU(The)f(LInux)g(LOader)-85 b(.)387
-b(LILO)h(is)f(the)g(most)g(widely-used)f(Linux)h(boot)g(manager)-85
-b(.)p Black -30 73672 a FR(234)p Black eop end
-%%Page: 235 257
-TeXDict begin 235 256 bop -8000 -8000 a
-SDict begin /product where{pop product(Distiller)search{pop pop pop
-version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
-closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
-grestore}if}{pop}ifelse}{pop}ifelse}if end
- -8000 -8000 a
-Black 0 TeXcolorgray -30 -1358 a
-SDict begin H.S end
- -30 -1358 a 0 TeXcolorgray
-0 TeXcolorgray -30 -1358 a
-SDict begin H.R end
- -30 -1358 a -30 -1358 a
-SDict begin [ /View [/XYZ H.V] /Dest (page.235) cvn H.B /DEST pdfmark
-end
- -30
--1358 a Black Black 8025 x FE(LO)-77 b(ADLIN)-30 7461
-y
-SDict begin H.S end
- -30 7461 a -30 7461 a
-SDict begin 18.2 H.A end
- -30 7461 a -30 7461 a
-SDict begin [ /View [/XYZ H.V] /Dest (6869) cvn H.B /DEST pdfmark end
- -30 7461
-a -30 8236 a
-SDict begin H.S end
- -30 8236 a -30 8236 a
-SDict begin 18.2 H.A end
- -30 8236 a -30 8236
-a
-SDict begin [ /View [/XYZ H.V] /Dest (6870) cvn H.B /DEST pdfmark end
- -30 8236 a 3070 10232 a FU(LO)-54 b(ADLIN)585 b(is)i(a)g(program)f
-(that)g(runs)h(under)f(MS)g(DOS)g(or)h(W)-62 b(indo)-39
-b(ws)586 b(and)h(boots)f(a)3070 12246 y(Linux)368 b(system.)i(It)f(is)g
-(most)g(commonly)f(used)h(on)h(computers)e(with)h(multiple)g(operating)
-3070 14261 y(systems)386 b(\(including)g(Linux)h(and)g(DOS/W)-62
-b(indo)-39 b(ws,)387 b(of)g(course\).)-30 18213 y
-SDict begin H.S end
- -30
-18213 a -30 18213 a
-SDict begin 18.2 H.A end
- -30 18213 a -30 18213 a
-SDict begin [ /View [/XYZ H.V] /Dest (6872) cvn H.B /DEST pdfmark end
- -30 18213
-a 2014 x FE(Man)430 b(section)-30 21022 y
-SDict begin H.S end
- -30 21022 a
--30 21022 a
-SDict begin 18.2 H.A end
- -30 21022 a -30 21022 a
-SDict begin [ /View [/XYZ H.V] /Dest (6873) cvn H.B /DEST pdfmark end
- -30 21022 a -30 21797
-a
-SDict begin H.S end
- -30 21797 a -30 21797 a
-SDict begin 18.2 H.A end
- -30 21797 a -30 21797 a
-SDict begin [ /View [/XYZ H.V] /Dest (6874) cvn H.B /DEST pdfmark end
- -30
-21797 a 3070 23792 a FU(P)-23 b(ages)339 b(in)h(the)f(standard)h(Unix)f
-(online)h(manual)f(\("man"\))h(are)h(grouped)e(into)h(sections)f(for)
-3070 25807 y(easy)436 b(reference.)i(All)f(C)g(programming)e(pages)i
-(are)g(in)g(section)f(3,)i(system)e(administra-)3070
-27821 y(tion)386 b(pages)i(in)f(section)f(5,)i(etc.)-30
-31773 y
-SDict begin H.S end
- -30 31773 a -30 31773 a
-SDict begin 18.2 H.A end
- -30 31773 a -30 31773
-a
-SDict begin [ /View [/XYZ H.V] /Dest (6876) cvn H.B /DEST pdfmark end
- -30 31773 a 2015 x FE(MBR)-30 34563 y
-SDict begin H.S end
- -30 34563 a -30
-34563 a
-SDict begin 18.2 H.A end
- -30 34563 a -30 34563 a
-SDict begin [ /View [/XYZ H.V] /Dest (6877) cvn H.B /DEST pdfmark end
- -30 34563 a -30 35337
-a
-SDict begin H.S end
- -30 35337 a -30 35337 a
-SDict begin 18.2 H.A end
- -30 35337 a -30 35337 a
-SDict begin [ /View [/XYZ H.V] /Dest (6878) cvn H.B /DEST pdfmark end
- -30
-35337 a 3070 37352 a FU(The)425 b(Master)h(Boot)f(Record.)h(A)g(reserv)
--23 b(ed)425 b(space)h(on)g(a)g(hard)g(dri)-39 b(v)-23
-b(e)425 b(where)h(information)3070 39367 y(on)555 b(what)g(to)g(do)g
-(when)g(booting)f(is)h(stored.)h(LILO)f(or)g(other)g(boot)g(managers)g
-(can)g(be)3070 41381 y(written)386 b(here.)-30 45333
-y
-SDict begin H.S end
- -30 45333 a -30 45333 a
-SDict begin 18.2 H.A end
- -30 45333 a -30 45333 a
-SDict begin [ /View [/XYZ H.V] /Dest (6880) cvn H.B /DEST pdfmark end
- -30
-45333 a 2015 x FE(Motif)-30 48142 y
-SDict begin H.S end
- -30 48142 a -30 48142
-a
-SDict begin 18.2 H.A end
- -30 48142 a -30 48142 a
-SDict begin [ /View [/XYZ H.V] /Dest (6881) cvn H.B /DEST pdfmark end
- -30 48142 a -30 48917 a
-SDict begin H.S end
- -30
-48917 a -30 48917 a
-SDict begin 18.2 H.A end
- -30 48917 a -30 48917 a
-SDict begin [ /View [/XYZ H.V] /Dest (6882) cvn H.B /DEST pdfmark end
- -30 48917
-a 3070 50912 a FU(A)h(popular)g(programming)f(toolkit)g(used)h(in)h
-(man)-23 b(y)386 b(older)h(X)h(programs.)-30 54864 y
-SDict begin H.S end
-
--30 54864 a -30 54864 a
-SDict begin 18.2 H.A end
- -30 54864 a -30 54864 a
-SDict begin [ /View [/XYZ H.V] /Dest (6884) cvn H.B /DEST pdfmark end
- -30 54864
-a 2015 x FE(MO)-62 b(TD)-30 57673 y
-SDict begin H.S end
- -30 57673 a -30 57673
-a
-SDict begin 18.2 H.A end
- -30 57673 a -30 57673 a
-SDict begin [ /View [/XYZ H.V] /Dest (6885) cvn H.B /DEST pdfmark end
- -30 57673 a -30 58448 a
-SDict begin H.S end
- -30
-58448 a -30 58448 a
-SDict begin 18.2 H.A end
- -30 58448 a -30 58448 a
-SDict begin [ /View [/XYZ H.V] /Dest (6886) cvn H.B /DEST pdfmark end
- -30 58448
-a 3070 60443 a FU(Message)483 b(of)g(the)g(Day)-101 b(.)484
-b(The)f(motd)g(\(stored)g(in)g(Linux)g(in)35393 60443
-y
-SDict begin H.S end
- 35393 60443 a 35393 60443 a
-SDict begin 18.2 H.A end
- 35393 60443 a 35393 60443
-a
-SDict begin [ /View [/XYZ H.V] /Dest (6887) cvn H.B /DEST pdfmark end
- 35393 60443 a FQ(/etc/motd)478 b FU(is)483 b(a)g(te)-23
-b(xt)483 b(\002le)g(that)3070 62458 y(is)396 b(displayed)g(to)g(all)h
-(users)f(upon)g(logging)g(in.)h(T)-54 b(raditionally)-101
-b(,)396 b(it)g(is)g(used)h(by)f(the)h(system)3070 64473
-y(administrator)386 b(as)h(a)h(sort)f(of)18866 64473
-y
-SDict begin H.S end
- 18866 64473 a 18866 64473 a
-SDict begin 18.2 H.A end
- 18866 64473 a 18866 64473
-a
-SDict begin [ /View [/XYZ H.V] /Dest (6888) cvn H.B /DEST pdfmark end
- 18866 64473 a FU(\223b)-31 b(ulletin)386 b(board\224)i(for)f
-(communicating)f(with)h(users.)p Black 49451 73672 a
-FR(235)p Black eop end
-%%Page: 236 258
-TeXDict begin 236 257 bop -8000 -8000 a
-SDict begin /product where{pop product(Distiller)search{pop pop pop
-version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
-closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
-grestore}if}{pop}ifelse}{pop}ifelse}if end
- -8000 -8000 a
-Black 0 TeXcolorgray -30 -1358 a
-SDict begin H.S end
- -30 -1358 a 0 TeXcolorgray
-0 TeXcolorgray -30 -1358 a
-SDict begin H.R end
- -30 -1358 a -30 -1358 a
-SDict begin [ /View [/XYZ H.V] /Dest (page.236) cvn H.B /DEST pdfmark
-end
- -30
--1358 a Black -30 -2687 a
-SDict begin H.S end
- -30 -2687 a -30 -2687 a
-SDict begin 18.2 H.A end
- -30
--2687 a -30 -2687 a
-SDict begin [ /View [/XYZ H.V] /Dest (6916) cvn H.B /DEST pdfmark end
- -30 -2687 a Black -30 2383 a
-SDict begin H.S end
- -30
-2383 a -30 2383 a
-SDict begin 18.2 H.A end
- -30 2383 a -30 2383 a
-SDict begin [ /View [/XYZ H.V] /Dest (6890) cvn H.B /DEST pdfmark end
- -30 2383 a 1131
-x FE(Mount)431 b(point)-30 4609 y
-SDict begin H.S end
- -30 4609 a -30 4609
-a
-SDict begin 18.2 H.A end
- -30 4609 a -30 4609 a
-SDict begin [ /View [/XYZ H.V] /Dest (6891) cvn H.B /DEST pdfmark end
- -30 4609 a -30 5384 a
-SDict begin H.S end
- -30 5384
-a -30 5384 a
-SDict begin 18.2 H.A end
- -30 5384 a -30 5384 a
-SDict begin [ /View [/XYZ H.V] /Dest (6892) cvn H.B /DEST pdfmark end
- -30 5384 a 3070 7078
-a FU(An)296 b(empty)f(directory)h(in)g(a)g(\002lesystem)f(where)h
-(another)g(\002lesystem)f(is)h(to)g(be)44588 7078 y
-SDict begin H.S end
- 44588
-7078 a 44588 7078 a
-SDict begin 18.2 H.A end
- 44588 7078 a 44588 7078 a
-SDict begin [ /View [/XYZ H.V] /Dest (6893) cvn H.B /DEST pdfmark end
- 44588 7078
-a FU(\223mounted\224,)3070 9093 y(or)387 b(grafted)g(on.)-30
-13045 y
-SDict begin H.S end
- -30 13045 a -30 13045 a
-SDict begin 18.2 H.A end
- -30 13045 a -30 13045
-a
-SDict begin [ /View [/XYZ H.V] /Dest (6895) cvn H.B /DEST pdfmark end
- -30 13045 a 2014 x FE(Nameser)15 b(ver)-30 15854 y
-SDict begin H.S end
-
--30 15854 a -30 15854 a
-SDict begin 18.2 H.A end
- -30 15854 a -30 15854 a
-SDict begin [ /View [/XYZ H.V] /Dest (6896) cvn H.B /DEST pdfmark end
- -30 15854
-a -30 16629 a
-SDict begin H.S end
- -30 16629 a -30 16629 a
-SDict begin 18.2 H.A end
- -30 16629 a -30
-16629 a
-SDict begin [ /View [/XYZ H.V] /Dest (6897) cvn H.B /DEST pdfmark end
- -30 16629 a 3070 18624 a FU(A)394 b(DNS)h(information)e(serv)
--23 b(er)-85 b(.)395 b(Nameserv)-23 b(ers)394 b(translate)h(DNS)f
-(names)g(to)h(numerical)f(IP)3070 20638 y(addresses.)-30
-24590 y
-SDict begin H.S end
- -30 24590 a -30 24590 a
-SDict begin 18.2 H.A end
- -30 24590 a -30 24590
-a
-SDict begin [ /View [/XYZ H.V] /Dest (6899) cvn H.B /DEST pdfmark end
- -30 24590 a 2015 x FE(Netw)-31 b(ork)430 b(interface)-30
-27399 y
-SDict begin H.S end
- -30 27399 a -30 27399 a
-SDict begin 18.2 H.A end
- -30 27399 a -30 27399
-a
-SDict begin [ /View [/XYZ H.V] /Dest (6900) cvn H.B /DEST pdfmark end
- -30 27399 a -30 28174 a
-SDict begin H.S end
- -30 28174 a -30 28174 a
-SDict begin 18.2 H.A end
- -30
-28174 a -30 28174 a
-SDict begin [ /View [/XYZ H.V] /Dest (6901) cvn H.B /DEST pdfmark end
- -30 28174 a 3070 30169 a FU(A)466
-b(virtual)g(representation)g(of)g(a)h(netw)-15 b(ork)466
-b(de)-39 b(vice)466 b(pro)-23 b(vided)466 b(by)g(the)h(k)-15
-b(ernel.)466 b(Netw)-15 b(ork)3070 32184 y(interf)g(aces)386
-b(allo)-39 b(w)387 b(users)h(and)f(programs)g(to)g(talk)g(to)g(netw)-15
-b(ork)386 b(de)-39 b(vices.)-30 36136 y
-SDict begin H.S end
- -30 36136 a -30
-36136 a
-SDict begin 18.2 H.A end
- -30 36136 a -30 36136 a
-SDict begin [ /View [/XYZ H.V] /Dest (6903) cvn H.B /DEST pdfmark end
- -30 36136 a 2015 x FE(NFS)-30
-38945 y
-SDict begin H.S end
- -30 38945 a -30 38945 a
-SDict begin 18.2 H.A end
- -30 38945 a -30 38945
-a
-SDict begin [ /View [/XYZ H.V] /Dest (6904) cvn H.B /DEST pdfmark end
- -30 38945 a -30 39720 a
-SDict begin H.S end
- -30 39720 a -30 39720 a
-SDict begin 18.2 H.A end
- -30
-39720 a -30 39720 a
-SDict begin [ /View [/XYZ H.V] /Dest (6905) cvn H.B /DEST pdfmark end
- -30 39720 a 3070 41715 a FU(The)398
-b(Netw)-15 b(ork)397 b(Filesystem.)g(NFS)g(allo)-39 b(ws)398
-b(the)g(mounting)f(of)h(remote)f(\002lesystems)g(as)h(if)3070
-43730 y(the)-23 b(y)346 b(were)h(local)f(to)h(your)f(computer)g(and)h
-(thus)f(pro)-23 b(vides)346 b(a)g(transparent)h(method)f(of)g(\002le)
-3070 45744 y(sharing.)-30 49696 y
-SDict begin H.S end
- -30 49696 a -30 49696
-a
-SDict begin 18.2 H.A end
- -30 49696 a -30 49696 a
-SDict begin [ /View [/XYZ H.V] /Dest (6907) cvn H.B /DEST pdfmark end
- -30 49696 a 2015 x FE(Octal)-30
-52505 y
-SDict begin H.S end
- -30 52505 a -30 52505 a
-SDict begin 18.2 H.A end
- -30 52505 a -30 52505
-a
-SDict begin [ /View [/XYZ H.V] /Dest (6908) cvn H.B /DEST pdfmark end
- -30 52505 a -30 53280 a
-SDict begin H.S end
- -30 53280 a -30 53280 a
-SDict begin 18.2 H.A end
- -30
-53280 a -30 53280 a
-SDict begin [ /View [/XYZ H.V] /Dest (6909) cvn H.B /DEST pdfmark end
- -30 53280 a 3070 55275 a FU(Base-8)387
-b(number)f(system,)h(with)g(digits)g(0-7.)-30 59227 y
-SDict begin H.S end
-
--30 59227 a -30 59227 a
-SDict begin 18.2 H.A end
- -30 59227 a -30 59227 a
-SDict begin [ /View [/XYZ H.V] /Dest (6911) cvn H.B /DEST pdfmark end
- -30 59227
-a 2015 x FE(P)-46 b(a)-15 b(g)15 b(er)-30 62361 y
-SDict begin H.S end
- -30
-62361 a -30 62361 a
-SDict begin 18.2 H.A end
- -30 62361 a -30 62361 a
-SDict begin [ /View [/XYZ H.V] /Dest (6912) cvn H.B /DEST pdfmark end
- -30 62361
-a -30 63136 a
-SDict begin H.S end
- -30 63136 a -30 63136 a
-SDict begin 18.2 H.A end
- -30 63136 a -30
-63136 a
-SDict begin [ /View [/XYZ H.V] /Dest (6913) cvn H.B /DEST pdfmark end
- -30 63136 a 3070 64806 a FU(An)445 b(X)g(program)g(that)g(allo)
--39 b(ws)445 b(the)h(user)f(to)g(see)h(and)f(switch)g(between)g
-(multiple)47731 64806 y
-SDict begin H.S end
- 47731 64806 a 47731 64806 a
-SDict begin 18.2 H.A end
- 47731
-64806 a 47731 64806 a
-SDict begin [ /View [/XYZ H.V] /Dest (6914) cvn H.B /DEST pdfmark end
- 47731 64806 a FU(\223desk-)3070
-66821 y(tops\224.)p Black -30 73672 a FR(236)p Black
-eop end
-%%Page: 237 259
-TeXDict begin 237 258 bop -8000 -8000 a
-SDict begin /product where{pop product(Distiller)search{pop pop pop
-version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
-closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
-grestore}if}{pop}ifelse}{pop}ifelse}if end
- -8000 -8000 a
-Black 0 TeXcolorgray -30 -1358 a
-SDict begin H.S end
- -30 -1358 a 0 TeXcolorgray
-0 TeXcolorgray -30 -1358 a
-SDict begin H.R end
- -30 -1358 a -30 -1358 a
-SDict begin [ /View [/XYZ H.V] /Dest (page.237) cvn H.B /DEST pdfmark
-end
- -30
--1358 a Black -30 -2687 a
-SDict begin H.S end
- -30 -2687 a -30 -2687 a
-SDict begin 18.2 H.A end
- -30
--2687 a -30 -2687 a
-SDict begin [ /View [/XYZ H.V] /Dest (6943) cvn H.B /DEST pdfmark end
- -30 -2687 a Black 9354 x FE(P)-46
-b(ar)31 b(tition)-30 7461 y
-SDict begin H.S end
- -30 7461 a -30 7461 a
-SDict begin 18.2 H.A end
- -30
-7461 a -30 7461 a
-SDict begin [ /View [/XYZ H.V] /Dest (6917) cvn H.B /DEST pdfmark end
- -30 7461 a -30 8236 a
-SDict begin H.S end
- -30 8236 a -30
-8236 a
-SDict begin 18.2 H.A end
- -30 8236 a -30 8236 a
-SDict begin [ /View [/XYZ H.V] /Dest (6918) cvn H.B /DEST pdfmark end
- -30 8236 a 3070 10232 a
-FU(A)387 b(di)-39 b(vision)386 b(of)i(a)f(hard)h(dri)-39
-b(v)-23 b(e.)387 b(Filesystems)f(e)-23 b(xist)387 b(on)g(top)g(of)g
-(partitions.)-30 14183 y
-SDict begin H.S end
- -30 14183 a -30 14183 a
-SDict begin 18.2 H.A end
- -30
-14183 a -30 14183 a
-SDict begin [ /View [/XYZ H.V] /Dest (6920) cvn H.B /DEST pdfmark end
- -30 14183 a 2015 x FE(PPP)-30 16973
-y
-SDict begin H.S end
- -30 16973 a -30 16973 a
-SDict begin 18.2 H.A end
- -30 16973 a -30 16973 a
-SDict begin [ /View [/XYZ H.V] /Dest (6921) cvn H.B /DEST pdfmark end
- -30
-16973 a -30 17748 a
-SDict begin H.S end
- -30 17748 a -30 17748 a
-SDict begin 18.2 H.A end
- -30 17748
-a -30 17748 a
-SDict begin [ /View [/XYZ H.V] /Dest (6922) cvn H.B /DEST pdfmark end
- -30 17748 a 3070 19763 a FU(Point-to-Point)516
-b(Protocol.)h(PPP)g(is)h(used)g(mainly)f(for)h(connecting)g(via)g
-(modem)f(to)h(an)3070 21777 y(Internet)387 b(Service)g(Pro)-23
-b(vider)-85 b(.)-30 25729 y
-SDict begin H.S end
- -30 25729 a -30 25729 a
-SDict begin 18.2 H.A end
- -30
-25729 a -30 25729 a
-SDict begin [ /View [/XYZ H.V] /Dest (6924) cvn H.B /DEST pdfmark end
- -30 25729 a 2015 x FE(Pr)-31 b(ocess)-30
-28538 y
-SDict begin H.S end
- -30 28538 a -30 28538 a
-SDict begin 18.2 H.A end
- -30 28538 a -30 28538
-a
-SDict begin [ /View [/XYZ H.V] /Dest (6925) cvn H.B /DEST pdfmark end
- -30 28538 a -30 29313 a
-SDict begin H.S end
- -30 29313 a -30 29313 a
-SDict begin 18.2 H.A end
- -30
-29313 a -30 29313 a
-SDict begin [ /View [/XYZ H.V] /Dest (6926) cvn H.B /DEST pdfmark end
- -30 29313 a 3070 31308 a FU(A)387
-b(running)g(program.)-30 35260 y
-SDict begin H.S end
- -30 35260 a -30 35260
-a
-SDict begin 18.2 H.A end
- -30 35260 a -30 35260 a
-SDict begin [ /View [/XYZ H.V] /Dest (6928) cvn H.B /DEST pdfmark end
- -30 35260 a 2015 x FE(Root)431
-b(director)15 b(y)-30 38370 y
-SDict begin H.S end
- -30 38370 a -30 38370 a
-SDict begin 18.2 H.A end
-
--30 38370 a -30 38370 a
-SDict begin [ /View [/XYZ H.V] /Dest (6929) cvn H.B /DEST pdfmark end
- -30 38370 a -30 39145 a
-SDict begin H.S end
- -30 39145
-a -30 39145 a
-SDict begin 18.2 H.A end
- -30 39145 a -30 39145 a
-SDict begin [ /View [/XYZ H.V] /Dest (6930) cvn H.B /DEST pdfmark end
- -30 39145 a 3070
-40839 a FU(Represented)350 b(as)12723 40839 y
-SDict begin H.S end
- 12723 40839
-a 12723 40839 a
-SDict begin 18.2 H.A end
- 12723 40839 a 12723 40839 a
-SDict begin [ /View [/XYZ H.V] /Dest (6931) cvn H.B /DEST pdfmark end
- 12723 40839
-a FU(\223/\224,)h(the)g(root)f(directory)h(e)-23 b(xists)349
-b(at)i(the)g(top)f(of)h(the)g(\002lesystem,)f(with)g(all)3070
-42854 y(other)387 b(directories)g(branching)f(out)h(beneath)g(it)h(in)f
-(a)31648 42854 y
-SDict begin H.S end
- 31648 42854 a 31648 42854 a
-SDict begin 18.2 H.A end
- 31648 42854
-a 31648 42854 a
-SDict begin [ /View [/XYZ H.V] /Dest (6932) cvn H.B /DEST pdfmark end
- 31648 42854 a FU(\223\002le)g(tree\224.)-30
-46806 y
-SDict begin H.S end
- -30 46806 a -30 46806 a
-SDict begin 18.2 H.A end
- -30 46806 a -30 46806
-a
-SDict begin [ /View [/XYZ H.V] /Dest (6934) cvn H.B /DEST pdfmark end
- -30 46806 a 2014 x FE(Root)431 b(disk)-30 49614 y
-SDict begin H.S end
- -30
-49614 a -30 49614 a
-SDict begin 18.2 H.A end
- -30 49614 a -30 49614 a
-SDict begin [ /View [/XYZ H.V] /Dest (6935) cvn H.B /DEST pdfmark end
- -30 49614
-a -30 50389 a
-SDict begin H.S end
- -30 50389 a -30 50389 a
-SDict begin 18.2 H.A end
- -30 50389 a -30
-50389 a
-SDict begin [ /View [/XYZ H.V] /Dest (6936) cvn H.B /DEST pdfmark end
- -30 50389 a 3070 52385 a FU(The)387 b(disk)g(\(usually)f(\002x)
--23 b(ed\))387 b(on)g(which)g(the)g(root)g(directory)g(is)h(stored.)-30
-56337 y
-SDict begin H.S end
- -30 56337 a -30 56337 a
-SDict begin 18.2 H.A end
- -30 56337 a -30 56337
-a
-SDict begin [ /View [/XYZ H.V] /Dest (6938) cvn H.B /DEST pdfmark end
- -30 56337 a 2014 x FE(Routing)430 b(tab)-15 b(le)-30
-59471 y
-SDict begin H.S end
- -30 59471 a -30 59471 a
-SDict begin 18.2 H.A end
- -30 59471 a -30 59471
-a
-SDict begin [ /View [/XYZ H.V] /Dest (6939) cvn H.B /DEST pdfmark end
- -30 59471 a -30 60246 a
-SDict begin H.S end
- -30 60246 a -30 60246 a
-SDict begin 18.2 H.A end
- -30
-60246 a -30 60246 a
-SDict begin [ /View [/XYZ H.V] /Dest (6940) cvn H.B /DEST pdfmark end
- -30 60246 a 3070 61916 a FU(The)600
-b(set)g(of)g(information)f(the)i(k)-15 b(ernel)599 b(uses)h(in)30238
-61916 y
-SDict begin H.S end
- 30238 61916 a 30238 61916 a
-SDict begin 18.2 H.A end
- 30238 61916 a 30238
-61916 a
-SDict begin [ /View [/XYZ H.V] /Dest (6941) cvn H.B /DEST pdfmark end
- 30238 61916 a FU(\223routing\224)g(netw)-15 b(ork)599
-b(data)i(around.)f(It)3070 63930 y(contains)348 b(such)h(tidbits)f(as)h
-(where)g(your)g(def)-15 b(ault)348 b(g)-8 b(ate)-39 b(w)-15
-b(ay)349 b(is,)g(which)f(netw)-15 b(ork)348 b(interf)-15
-b(ace)3070 65945 y(is)387 b(connected)g(to)g(which)g(netw)-15
-b(ork,)387 b(etc.)p Black 49394 73672 a FR(237)p Black
-eop end
-%%Page: 238 260
-TeXDict begin 238 259 bop -8000 -8000 a
-SDict begin /product where{pop product(Distiller)search{pop pop pop
-version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
-closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
-grestore}if}{pop}ifelse}{pop}ifelse}if end
- -8000 -8000 a
-Black 0 TeXcolorgray -30 -1358 a
-SDict begin H.S end
- -30 -1358 a 0 TeXcolorgray
-0 TeXcolorgray -30 -1358 a
-SDict begin H.R end
- -30 -1358 a -30 -1358 a
-SDict begin [ /View [/XYZ H.V] /Dest (page.238) cvn H.B /DEST pdfmark
-end
- -30
--1358 a Black Black 8025 x FE(Runle)-23 b(vel)-30 7461
-y
-SDict begin H.S end
- -30 7461 a -30 7461 a
-SDict begin 18.2 H.A end
- -30 7461 a -30 7461 a
-SDict begin [ /View [/XYZ H.V] /Dest (6944) cvn H.B /DEST pdfmark end
- -30 7461
-a -30 8236 a
-SDict begin H.S end
- -30 8236 a -30 8236 a
-SDict begin 18.2 H.A end
- -30 8236 a -30 8236
-a
-SDict begin [ /View [/XYZ H.V] /Dest (6945) cvn H.B /DEST pdfmark end
- -30 8236 a 3070 10232 a FU(The)324 b(o)-23 b(v)g(erall)323
-b(system)h(state)g(as)g(de\002ned)g(by)g(init.)g(Runle)-39
-b(v)-23 b(el)323 b(6)h(is)g(rebooting,)g(runle)-39 b(v)-23
-b(el)324 b(1)g(is)3070 12246 y
-SDict begin H.S end
- 3070 12246 a 3070 12246
-a
-SDict begin 18.2 H.A end
- 3070 12246 a 3070 12246 a
-SDict begin [ /View [/XYZ H.V] /Dest (6946) cvn H.B /DEST pdfmark end
- 3070 12246 a FU(\223single)329
-b(user)g(mode\224,)h(runle)-39 b(v)-23 b(el)329 b(4)g(is)h(an)f(X)h
-(login,)f(etc.)h(There)g(are)g(6)f(a)-31 b(v)-39 b(ailable)330
-b(runle)-39 b(v)-23 b(els)3070 14261 y(on)387 b(a)g(Slackw)-15
-b(are)387 b(system.)-30 18213 y
-SDict begin H.S end
- -30 18213 a -30 18213
-a
-SDict begin 18.2 H.A end
- -30 18213 a -30 18213 a
-SDict begin [ /View [/XYZ H.V] /Dest (6948) cvn H.B /DEST pdfmark end
- -30 18213 a 2014 x FE(Secure)429
-b(shell)-30 21022 y
-SDict begin H.S end
- -30 21022 a -30 21022 a
-SDict begin 18.2 H.A end
- -30 21022
-a -30 21022 a
-SDict begin [ /View [/XYZ H.V] /Dest (6949) cvn H.B /DEST pdfmark end
- -30 21022 a -30 21797 a
-SDict begin H.S end
- -30 21797 a -30
-21797 a
-SDict begin 18.2 H.A end
- -30 21797 a -30 21797 a
-SDict begin [ /View [/XYZ H.V] /Dest (6950) cvn H.B /DEST pdfmark end
- -30 21797 a 3070 23792
-a FU(An)341 b(encrypted)g(\(thus)f(secure\))i(method)e(of)h(logging)g
-(in)g(remotely)f(to)h(a)h(computer)-85 b(.)341 b(Man)-23
-b(y)3070 25807 y(secure)387 b(shell)g(programs)g(are)g(a)-31
-b(v)-39 b(ailable;)387 b(both)g(a)h(client)f(and)g(serv)-23
-b(er)387 b(are)h(needed.)-30 29758 y
-SDict begin H.S end
- -30 29758 a -30
-29758 a
-SDict begin 18.2 H.A end
- -30 29758 a -30 29758 a
-SDict begin [ /View [/XYZ H.V] /Dest (6952) cvn H.B /DEST pdfmark end
- -30 29758 a 2015 x FE(Ser)15
-b(vice)-30 32567 y
-SDict begin H.S end
- -30 32567 a -30 32567 a
-SDict begin 18.2 H.A end
- -30 32567
-a -30 32567 a
-SDict begin [ /View [/XYZ H.V] /Dest (6953) cvn H.B /DEST pdfmark end
- -30 32567 a -30 33342 a
-SDict begin H.S end
- -30 33342 a -30
-33342 a
-SDict begin 18.2 H.A end
- -30 33342 a -30 33342 a
-SDict begin [ /View [/XYZ H.V] /Dest (6954) cvn H.B /DEST pdfmark end
- -30 33342 a 3070 35337
-a FU(The)385 b(sharing)h(of)g(information)f(and/or)g(data)h(between)g
-(programs)f(and)h(computers)f(from)3070 37352 y(a)i(single)8235
-37352 y
-SDict begin H.S end
- 8235 37352 a 8235 37352 a
-SDict begin 18.2 H.A end
- 8235 37352 a 8235 37352
-a
-SDict begin [ /View [/XYZ H.V] /Dest (6955) cvn H.B /DEST pdfmark end
- 8235 37352 a FU(\223serv)-23 b(er\224)387 b(to)g(multiple)20908
-37352 y
-SDict begin H.S end
- 20908 37352 a 20908 37352 a
-SDict begin 18.2 H.A end
- 20908 37352 a 20908
-37352 a
-SDict begin [ /View [/XYZ H.V] /Dest (6956) cvn H.B /DEST pdfmark end
- 20908 37352 a FU(\223clients\224.)h(HTTP)-172
-b(,)387 b(FTP)-172 b(,)387 b(NFS,)g(etc.)h(are)g(services.)-30
-41304 y
-SDict begin H.S end
- -30 41304 a -30 41304 a
-SDict begin 18.2 H.A end
- -30 41304 a -30 41304
-a
-SDict begin [ /View [/XYZ H.V] /Dest (6958) cvn H.B /DEST pdfmark end
- -30 41304 a 2015 x FE(Shado)-23 b(w)429 b(pass)-23
-b(w)-31 b(or)g(d)429 b(suite)-30 44414 y
-SDict begin H.S end
- -30 44414 a
--30 44414 a
-SDict begin 18.2 H.A end
- -30 44414 a -30 44414 a
-SDict begin [ /View [/XYZ H.V] /Dest (6959) cvn H.B /DEST pdfmark end
- -30 44414 a -30 45189
-a
-SDict begin H.S end
- -30 45189 a -30 45189 a
-SDict begin 18.2 H.A end
- -30 45189 a -30 45189 a
-SDict begin [ /View [/XYZ H.V] /Dest (6960) cvn H.B /DEST pdfmark end
- -30
-45189 a 3070 46883 a FU(The)637 b(shado)-39 b(w)638 b(passw)-15
-b(ord)636 b(suite)h(allo)-39 b(ws)637 b(encrypted)h(passw)-15
-b(ords)636 b(to)h(be)h(hidden)f(from)3070 48898 y(users,)372
-b(while)g(the)g(rest)g(of)h(the)f(information)f(in)h(the)31170
-48898 y
-SDict begin H.S end
- 31170 48898 a 31170 48898 a
-SDict begin 18.2 H.A end
- 31170 48898 a 31170
-48898 a
-SDict begin [ /View [/XYZ H.V] /Dest (6961) cvn H.B /DEST pdfmark end
- 31170 48898 a FQ(/etc/passwd)366 b FU(\002le)372
-b(remains)g(visible)f(to)3070 50912 y(all.)387 b(This)g(helps)g(pre)-39
-b(v)-23 b(ent)387 b(brute-force)g(attempts)g(at)g(cracking)g(passw)-15
-b(ords.)-30 54864 y
-SDict begin H.S end
- -30 54864 a -30 54864 a
-SDict begin 18.2 H.A end
- -30 54864
-a -30 54864 a
-SDict begin [ /View [/XYZ H.V] /Dest (6963) cvn H.B /DEST pdfmark end
- -30 54864 a 2015 x FE(Shell)-30 57673 y
-SDict begin H.S end
-
--30 57673 a -30 57673 a
-SDict begin 18.2 H.A end
- -30 57673 a -30 57673 a
-SDict begin [ /View [/XYZ H.V] /Dest (6964) cvn H.B /DEST pdfmark end
- -30 57673
-a -30 58448 a
-SDict begin H.S end
- -30 58448 a -30 58448 a
-SDict begin 18.2 H.A end
- -30 58448 a -30
-58448 a
-SDict begin [ /View [/XYZ H.V] /Dest (6965) cvn H.B /DEST pdfmark end
- -30 58448 a 3070 60443 a FU(Shells)455 b(pro)-23
-b(vide)456 b(a)h(commandline)f(interf)-15 b(ace)456 b(to)g(the)h(user)
--85 b(.)457 b(When)f(you')-77 b(re)456 b(looking)g(at)h(a)3070
-62458 y(te)-23 b(xt)386 b(prompt,)h(you')-77 b(re)387
-b(in)g(a)h(shell.)p Black -30 73672 a FR(238)p Black
-eop end
-%%Page: 239 261
-TeXDict begin 239 260 bop -8000 -8000 a
-SDict begin /product where{pop product(Distiller)search{pop pop pop
-version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
-closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
-grestore}if}{pop}ifelse}{pop}ifelse}if end
- -8000 -8000 a
-Black 0 TeXcolorgray -30 -1358 a
-SDict begin H.S end
- -30 -1358 a 0 TeXcolorgray
-0 TeXcolorgray -30 -1358 a
-SDict begin H.R end
- -30 -1358 a -30 -1358 a
-SDict begin [ /View [/XYZ H.V] /Dest (page.239) cvn H.B /DEST pdfmark
-end
- -30
--1358 a Black Black -30 2383 a
-SDict begin H.S end
- -30 2383 a -30 2383 a
-SDict begin 18.2 H.A end
-
--30 2383 a -30 2383 a
-SDict begin [ /View [/XYZ H.V] /Dest (6967) cvn H.B /DEST pdfmark end
- -30 2383 a 1131 x FE(Shell)430
-b(b)-31 b(uiltin)-30 4308 y
-SDict begin H.S end
- -30 4308 a -30 4308 a
-SDict begin 18.2 H.A end
- -30
-4308 a -30 4308 a
-SDict begin [ /View [/XYZ H.V] /Dest (6968) cvn H.B /DEST pdfmark end
- -30 4308 a -30 5083 a
-SDict begin H.S end
- -30 5083 a -30
-5083 a
-SDict begin 18.2 H.A end
- -30 5083 a -30 5083 a
-SDict begin [ /View [/XYZ H.V] /Dest (6969) cvn H.B /DEST pdfmark end
- -30 5083 a 3070 7078 a FU(A)497
-b(command)g(b)-31 b(uilt)497 b(into)g(the)h(shell,)g(as)f(opposed)g(to)
-h(being)f(pro)-23 b(vided)497 b(by)h(an)f(e)-23 b(xternal)3070
-9093 y(program.)387 b(F)-23 b(or)387 b(instance,)17465
-9093 y
-SDict begin H.S end
- 17465 9093 a 17465 9093 a
-SDict begin 18.2 H.A end
- 17465 9093 a 17465 9093
-a
-SDict begin [ /View [/XYZ H.V] /Dest (6970) cvn H.B /DEST pdfmark end
- 17465 9093 a FP(bash)g FU(has)g(a)24357 9093 y
-SDict begin H.S end
- 24357
-9093 a 24357 9093 a
-SDict begin 18.2 H.A end
- 24357 9093 a 24357 9093 a
-SDict begin [ /View [/XYZ H.V] /Dest (6971) cvn H.B /DEST pdfmark end
- 24357 9093
-a FP(cd)g FU(b)-31 b(uiltin.)-30 13045 y
-SDict begin H.S end
- -30 13045 a
--30 13045 a
-SDict begin 18.2 H.A end
- -30 13045 a -30 13045 a
-SDict begin [ /View [/XYZ H.V] /Dest (6973) cvn H.B /DEST pdfmark end
- -30 13045 a 2014
-x FE(Signal)-30 16179 y
-SDict begin H.S end
- -30 16179 a -30 16179 a
-SDict begin 18.2 H.A end
- -30 16179
-a -30 16179 a
-SDict begin [ /View [/XYZ H.V] /Dest (6974) cvn H.B /DEST pdfmark end
- -30 16179 a -30 16954 a
-SDict begin H.S end
- -30 16954 a -30
-16954 a
-SDict begin 18.2 H.A end
- -30 16954 a -30 16954 a
-SDict begin [ /View [/XYZ H.V] /Dest (6975) cvn H.B /DEST pdfmark end
- -30 16954 a 3070 18624
-a FU(Unix)500 b(programs)f(can)i(communicate)f(between)g(each)g(other)h
-(using)e(simple)45707 18624 y
-SDict begin H.S end
- 45707 18624 a 45707 18624
-a
-SDict begin 18.2 H.A end
- 45707 18624 a 45707 18624 a
-SDict begin [ /View [/XYZ H.V] /Dest (6976) cvn H.B /DEST pdfmark end
- 45707 18624 a FU(\223signals\224,)3070
-20638 y(which)339 b(are)i(enumerated)e(and)h(usually)f(ha)-31
-b(v)-23 b(e)340 b(speci\002c)f(meanings.)39348 20638
-y
-SDict begin H.S end
- 39348 20638 a 39348 20638 a
-SDict begin 18.2 H.A end
- 39348 20638 a 39348 20638
-a
-SDict begin [ /View [/XYZ H.V] /Dest (6977) cvn H.B /DEST pdfmark end
- 39348 20638 a FP(kill)743 b(-l)340 b FU(will)g(list)f(the)3070
-22653 y(a)-31 b(v)-39 b(ailable)387 b(signals.)-30 26605
-y
-SDict begin H.S end
- -30 26605 a -30 26605 a
-SDict begin 18.2 H.A end
- -30 26605 a -30 26605 a
-SDict begin [ /View [/XYZ H.V] /Dest (6979) cvn H.B /DEST pdfmark end
- -30
-26605 a 2015 x FE(SLIP)-30 29414 y
-SDict begin H.S end
- -30 29414 a -30 29414
-a
-SDict begin 18.2 H.A end
- -30 29414 a -30 29414 a
-SDict begin [ /View [/XYZ H.V] /Dest (6980) cvn H.B /DEST pdfmark end
- -30 29414 a -30 30189 a
-SDict begin H.S end
- -30
-30189 a -30 30189 a
-SDict begin 18.2 H.A end
- -30 30189 a -30 30189 a
-SDict begin [ /View [/XYZ H.V] /Dest (6981) cvn H.B /DEST pdfmark end
- -30 30189
-a 3070 32184 a FU(Serial)318 b(Line)h(Interf)-15 b(ace)319
-b(Protocol.)g(SLIP)f(is)h(a)h(similar)e(protocol)g(to)h(PPP)-172
-b(,)319 b(in)g(that)g(it')-85 b(s)318 b(used)3070 34199
-y(for)387 b(connecting)g(tw)-15 b(o)386 b(machines)h(via)g(a)h(serial)f
-(interf)-15 b(ace.)-30 38151 y
-SDict begin H.S end
- -30 38151 a -30 38151
-a
-SDict begin 18.2 H.A end
- -30 38151 a -30 38151 a
-SDict begin [ /View [/XYZ H.V] /Dest (6983) cvn H.B /DEST pdfmark end
- -30 38151 a 2014 x FE(Software)429
-b(pac)-31 b(ka)-15 b(g)15 b(e)-30 41285 y
-SDict begin H.S end
- -30 41285 a
--30 41285 a
-SDict begin 18.2 H.A end
- -30 41285 a -30 41285 a
-SDict begin [ /View [/XYZ H.V] /Dest (6984) cvn H.B /DEST pdfmark end
- -30 41285 a -30 42060
-a
-SDict begin H.S end
- -30 42060 a -30 42060 a
-SDict begin 18.2 H.A end
- -30 42060 a -30 42060 a
-SDict begin [ /View [/XYZ H.V] /Dest (6985) cvn H.B /DEST pdfmark end
- -30
-42060 a 3070 43730 a FU(A)473 b(program)g(and)h(its)f(associated)g
-(\002les,)h(archi)-39 b(v)-23 b(ed)473 b(and)h(compressed)e(into)i(a)f
-(single)g(\002le)3070 45744 y(along)451 b(with)h(an)-23
-b(y)452 b(necessary)g(scripts)g(or)g(information)g(to)g(aid)g(in)g
-(managing)f(the)i(instal-)3070 47759 y(lation,)387 b(upgrade,)g(and)h
-(remo)-23 b(v)-39 b(al)386 b(of)i(those)f(\002les.)-30
-51711 y
-SDict begin H.S end
- -30 51711 a -30 51711 a
-SDict begin 18.2 H.A end
- -30 51711 a -30 51711
-a
-SDict begin [ /View [/XYZ H.V] /Dest (6987) cvn H.B /DEST pdfmark end
- -30 51711 a 2015 x FE(Software)429 b(series)-30 54520
-y
-SDict begin H.S end
- -30 54520 a -30 54520 a
-SDict begin 18.2 H.A end
- -30 54520 a -30 54520 a
-SDict begin [ /View [/XYZ H.V] /Dest (6988) cvn H.B /DEST pdfmark end
- -30
-54520 a -30 55295 a
-SDict begin H.S end
- -30 55295 a -30 55295 a
-SDict begin 18.2 H.A end
- -30 55295
-a -30 55295 a
-SDict begin [ /View [/XYZ H.V] /Dest (6989) cvn H.B /DEST pdfmark end
- -30 55295 a 3070 57290 a FU(A)381 b(collection)g(of)g
-(related)h(softw)-15 b(are)381 b(packages)g(in)g(Slackw)-15
-b(are.)382 b(All)f(KDE)g(packages)h(are)3070 59305 y(in)387
-b(the)6944 59305 y
-SDict begin H.S end
- 6944 59305 a 6944 59305 a
-SDict begin 18.2 H.A end
- 6944 59305
-a 6944 59305 a
-SDict begin [ /View [/XYZ H.V] /Dest (6990) cvn H.B /DEST pdfmark end
- 6944 59305 a FU(\223kde\224)g(series,)h(netw)-15
-b(orking)386 b(packages)h(in)g(the)32621 59305 y
-SDict begin H.S end
- 32621
-59305 a 32621 59305 a
-SDict begin 18.2 H.A end
- 32621 59305 a 32621 59305 a
-SDict begin [ /View [/XYZ H.V] /Dest (6991) cvn H.B /DEST pdfmark end
- 32621
-59305 a FU(\223n\224)h(series,)f(etc.)p Black 49451 73672
-a FR(239)p Black eop end
-%%Page: 240 262
-TeXDict begin 240 261 bop -8000 -8000 a
-SDict begin /product where{pop product(Distiller)search{pop pop pop
-version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
-closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
-grestore}if}{pop}ifelse}{pop}ifelse}if end
- -8000 -8000 a
-Black 0 TeXcolorgray -30 -1358 a
-SDict begin H.S end
- -30 -1358 a 0 TeXcolorgray
-0 TeXcolorgray -30 -1358 a
-SDict begin H.R end
- -30 -1358 a -30 -1358 a
-SDict begin [ /View [/XYZ H.V] /Dest (page.240) cvn H.B /DEST pdfmark
-end
- -30
--1358 a Black Black -30 2383 a
-SDict begin H.S end
- -30 2383 a -30 2383 a
-SDict begin 18.2 H.A end
-
--30 2383 a -30 2383 a
-SDict begin [ /View [/XYZ H.V] /Dest (6993) cvn H.B /DEST pdfmark end
- -30 2383 a 1131 x FE(Sour)-31 b(ce)430
-b(code)-30 4308 y
-SDict begin H.S end
- -30 4308 a -30 4308 a
-SDict begin 18.2 H.A end
- -30 4308 a -30
-4308 a
-SDict begin [ /View [/XYZ H.V] /Dest (6994) cvn H.B /DEST pdfmark end
- -30 4308 a -30 5083 a
-SDict begin H.S end
- -30 5083 a -30 5083 a
-SDict begin 18.2 H.A end
- -30
-5083 a -30 5083 a
-SDict begin [ /View [/XYZ H.V] /Dest (6995) cvn H.B /DEST pdfmark end
- -30 5083 a 3070 7078 a FU(The)456 b(\(more)h(or)f
-(less\))h(human-readable)f(code)g(in)h(which)f(most)g(programs)g(are)h
-(written.)3070 9093 y(Source)387 b(code)g(is)g(compiled)g(into)21449
-9093 y
-SDict begin H.S end
- 21449 9093 a 21449 9093 a
-SDict begin 18.2 H.A end
- 21449 9093 a 21449 9093
-a
-SDict begin [ /View [/XYZ H.V] /Dest (6996) cvn H.B /DEST pdfmark end
- 21449 9093 a FU(\223binary\224)h(code.)-30 13045 y
-SDict begin H.S end
-
--30 13045 a -30 13045 a
-SDict begin 18.2 H.A end
- -30 13045 a -30 13045 a
-SDict begin [ /View [/XYZ H.V] /Dest (6998) cvn H.B /DEST pdfmark end
- -30 13045
-a 2014 x FE(Standar)-31 b(d)429 b(Err)-31 b(or)430 b(\(stderr\))-30
-16155 y
-SDict begin H.S end
- -30 16155 a -30 16155 a
-SDict begin 18.2 H.A end
- -30 16155 a -30 16155
-a
-SDict begin [ /View [/XYZ H.V] /Dest (6999) cvn H.B /DEST pdfmark end
- -30 16155 a -30 16930 a
-SDict begin H.S end
- -30 16930 a -30 16930 a
-SDict begin 18.2 H.A end
- -30
-16930 a -30 16930 a
-SDict begin [ /View [/XYZ H.V] /Dest (7000) cvn H.B /DEST pdfmark end
- -30 16930 a 3070 18624 a FU(The)332
-b(Unix-standard)g(output)f(stream)h(for)h(errors.)g(Programs)e(write)i
-(an)-23 b(y)332 b(error)h(messages)3070 20638 y(on)387
-b(stderr)-62 b(,)387 b(so)h(that)f(the)-23 b(y)386 b(can)i(be)f
-(separated)g(from)h(normal)e(output.)-30 24590 y
-SDict begin H.S end
- -30
-24590 a -30 24590 a
-SDict begin 18.2 H.A end
- -30 24590 a -30 24590 a
-SDict begin [ /View [/XYZ H.V] /Dest (7002) cvn H.B /DEST pdfmark end
- -30 24590
-a 2015 x FE(Standar)-31 b(d)429 b(Input)i(\(stdin\))-30
-27701 y
-SDict begin H.S end
- -30 27701 a -30 27701 a
-SDict begin 18.2 H.A end
- -30 27701 a -30 27701
-a
-SDict begin [ /View [/XYZ H.V] /Dest (7003) cvn H.B /DEST pdfmark end
- -30 27701 a -30 28476 a
-SDict begin H.S end
- -30 28476 a -30 28476 a
-SDict begin 18.2 H.A end
- -30
-28476 a -30 28476 a
-SDict begin [ /View [/XYZ H.V] /Dest (7004) cvn H.B /DEST pdfmark end
- -30 28476 a 3070 30169 a FU(The)547
-b(Unix-standard)g(input)g(stream.)h(Data)g(can)f(be)h(redirected)g(or)g
-(piped)f(into)g(a)h(pro-)3070 32184 y(gram')-85 b(s)386
-b(stdin)h(from)g(an)-23 b(y)387 b(source.)-30 36136 y
-SDict begin H.S end
-
--30 36136 a -30 36136 a
-SDict begin 18.2 H.A end
- -30 36136 a -30 36136 a
-SDict begin [ /View [/XYZ H.V] /Dest (7006) cvn H.B /DEST pdfmark end
- -30 36136
-a 2015 x FE(Standar)-31 b(d)429 b(Output)i(\(stdout\))-30
-39246 y
-SDict begin H.S end
- -30 39246 a -30 39246 a
-SDict begin 18.2 H.A end
- -30 39246 a -30 39246
-a
-SDict begin [ /View [/XYZ H.V] /Dest (7007) cvn H.B /DEST pdfmark end
- -30 39246 a -30 40021 a
-SDict begin H.S end
- -30 40021 a -30 40021 a
-SDict begin 18.2 H.A end
- -30
-40021 a -30 40021 a
-SDict begin [ /View [/XYZ H.V] /Dest (7008) cvn H.B /DEST pdfmark end
- -30 40021 a 3070 41715 a FU(The)325
-b(Unix-standard)f(output)g(stream.)i(Normal)e(te)-23
-b(xt)325 b(output)f(from)h(a)h(program)f(is)f(written)3070
-43730 y(to)386 b(stdout,)g(which)g(is)g(separate)g(from)g(the)h(error)f
-(messages)g(reported)g(on)g(stderr)h(and)f(can)3070 45744
-y(be)h(piped)g(or)g(redirected)h(into)e(other)h(programs')g(stdin)g(or)
-g(to)g(a)h(\002le.)-30 49696 y
-SDict begin H.S end
- -30 49696 a -30 49696
-a
-SDict begin 18.2 H.A end
- -30 49696 a -30 49696 a
-SDict begin [ /View [/XYZ H.V] /Dest (7010) cvn H.B /DEST pdfmark end
- -30 49696 a 2015 x FE(Subnet)-30
-52505 y
-SDict begin H.S end
- -30 52505 a -30 52505 a
-SDict begin 18.2 H.A end
- -30 52505 a -30 52505
-a
-SDict begin [ /View [/XYZ H.V] /Dest (7011) cvn H.B /DEST pdfmark end
- -30 52505 a -30 53280 a
-SDict begin H.S end
- -30 53280 a -30 53280 a
-SDict begin 18.2 H.A end
- -30
-53280 a -30 53280 a
-SDict begin [ /View [/XYZ H.V] /Dest (7012) cvn H.B /DEST pdfmark end
- -30 53280 a 3070 55275 a FU(An)442
-b(IP)g(address)g(range)g(that)g(is)g(part)g(of)g(a)h(lar)-28
-b(ger)442 b(range.)h(F)-23 b(or)441 b(instance,)i(192.168.1.0)f(is)3070
-57290 y(a)378 b(subnet)f(of)h(192.168.0.0)h(\(where)f(0)g(is)g(a)g
-(mask)f(meaning)35645 57290 y
-SDict begin H.S end
- 35645 57290 a 35645 57290
-a
-SDict begin 18.2 H.A end
- 35645 57290 a 35645 57290 a
-SDict begin [ /View [/XYZ H.V] /Dest (7013) cvn H.B /DEST pdfmark end
- 35645 57290 a FU(\223unde\002ned\224\);)g
-(it)h(is,)g(in)g(f)-15 b(act,)3070 59305 y(the)5351 59305
-y
-SDict begin H.S end
- 5351 59305 a 5351 59305 a
-SDict begin 18.2 H.A end
- 5351 59305 a 5351 59305 a
-SDict begin [ /View [/XYZ H.V] /Dest (7014) cvn H.B /DEST pdfmark end
-
-5351 59305 a FU(\223.1\224)388 b(subnet.)p Black -30
-73672 a FR(240)p Black eop end
-%%Page: 241 263
-TeXDict begin 241 262 bop -8000 -8000 a
-SDict begin /product where{pop product(Distiller)search{pop pop pop
-version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
-closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
-grestore}if}{pop}ifelse}{pop}ifelse}if end
- -8000 -8000 a
-Black 0 TeXcolorgray -30 -1358 a
-SDict begin H.S end
- -30 -1358 a 0 TeXcolorgray
-0 TeXcolorgray -30 -1358 a
-SDict begin H.R end
- -30 -1358 a -30 -1358 a
-SDict begin [ /View [/XYZ H.V] /Dest (page.241) cvn H.B /DEST pdfmark
-end
- -30
--1358 a Black Black -30 2383 a
-SDict begin H.S end
- -30 2383 a -30 2383 a
-SDict begin 18.2 H.A end
-
--30 2383 a -30 2383 a
-SDict begin [ /View [/XYZ H.V] /Dest (7016) cvn H.B /DEST pdfmark end
- -30 2383 a 1131 x FE(Superb)-15
-b(loc)-31 b(k)-30 4609 y
-SDict begin H.S end
- -30 4609 a -30 4609 a
-SDict begin 18.2 H.A end
- -30 4609
-a -30 4609 a
-SDict begin [ /View [/XYZ H.V] /Dest (7017) cvn H.B /DEST pdfmark end
- -30 4609 a -30 5384 a
-SDict begin H.S end
- -30 5384 a -30 5384
-a
-SDict begin 18.2 H.A end
- -30 5384 a -30 5384 a
-SDict begin [ /View [/XYZ H.V] /Dest (7018) cvn H.B /DEST pdfmark end
- -30 5384 a 3070 7078 a FU(In)376
-b(Linux,)h(partitions)f(are)h(discussed)e(in)i(terms)f(of)h(blocks.)f
-(A)h(block)f(is)h(512)f(bytes.)h(The)3070 9093 y(superblock)386
-b(is)h(the)h(\002rst)e(512)h(bytes)g(of)h(a)f(partition.)-30
-13045 y
-SDict begin H.S end
- -30 13045 a -30 13045 a
-SDict begin 18.2 H.A end
- -30 13045 a -30 13045
-a
-SDict begin [ /View [/XYZ H.V] /Dest (7020) cvn H.B /DEST pdfmark end
- -30 13045 a 2014 x FE(Supplemental)428 b(disk)-30 16155
-y
-SDict begin H.S end
- -30 16155 a -30 16155 a
-SDict begin 18.2 H.A end
- -30 16155 a -30 16155 a
-SDict begin [ /View [/XYZ H.V] /Dest (7021) cvn H.B /DEST pdfmark end
- -30
-16155 a -30 16930 a
-SDict begin H.S end
- -30 16930 a -30 16930 a
-SDict begin 18.2 H.A end
- -30 16930
-a -30 16930 a
-SDict begin [ /View [/XYZ H.V] /Dest (7022) cvn H.B /DEST pdfmark end
- -30 16930 a 3070 18624 a FU(In)537 b(Slackw)-15
-b(are,)536 b(a)i(\003opp)-15 b(y)536 b(disk)g(used)h(during)f
-(installation)g(that)h(contains)f(neither)h(the)3070
-20638 y(k)-15 b(ernel)412 b(\(which)g(is)h(on)g(the)f(boot)h(disk\))f
-(nor)h(the)g(root)f(\002lesystem)g(\(which)g(is)h(on)g(the)f(root)3070
-22653 y(disk\),)307 b(b)-31 b(ut)307 b(additional)g(needed)g(\002les)g
-(such)g(as)h(netw)-15 b(ork)306 b(modules)h(or)g(PCMCIA)f(support.)-30
-26605 y
-SDict begin H.S end
- -30 26605 a -30 26605 a
-SDict begin 18.2 H.A end
- -30 26605 a -30 26605
-a
-SDict begin [ /View [/XYZ H.V] /Dest (7024) cvn H.B /DEST pdfmark end
- -30 26605 a 2015 x FE(Suspended)429 b(pr)-31 b(ocess)-30
-29715 y
-SDict begin H.S end
- -30 29715 a -30 29715 a
-SDict begin 18.2 H.A end
- -30 29715 a -30 29715
-a
-SDict begin [ /View [/XYZ H.V] /Dest (7025) cvn H.B /DEST pdfmark end
- -30 29715 a -30 30490 a
-SDict begin H.S end
- -30 30490 a -30 30490 a
-SDict begin 18.2 H.A end
- -30
-30490 a -30 30490 a
-SDict begin [ /View [/XYZ H.V] /Dest (7026) cvn H.B /DEST pdfmark end
- -30 30490 a 3070 32184 a FU(A)387
-b(process)g(which)g(has)g(been)h(frozen)f(until)g(killed)f(or)i
-(resumed.)-30 36136 y
-SDict begin H.S end
- -30 36136 a -30 36136 a
-SDict begin 18.2 H.A end
- -30 36136
-a -30 36136 a
-SDict begin [ /View [/XYZ H.V] /Dest (7028) cvn H.B /DEST pdfmark end
- -30 36136 a 2015 x FE(Swap)430 b(space)-30
-39246 y
-SDict begin H.S end
- -30 39246 a -30 39246 a
-SDict begin 18.2 H.A end
- -30 39246 a -30 39246
-a
-SDict begin [ /View [/XYZ H.V] /Dest (7029) cvn H.B /DEST pdfmark end
- -30 39246 a -30 40021 a
-SDict begin H.S end
- -30 40021 a -30 40021 a
-SDict begin 18.2 H.A end
- -30
-40021 a -30 40021 a
-SDict begin [ /View [/XYZ H.V] /Dest (7030) cvn H.B /DEST pdfmark end
- -30 40021 a 3070 41715 a FU(Disk)496
-b(space)h(used)f(by)h(the)f(k)-15 b(ernel)496 b(as)24349
-41715 y
-SDict begin H.S end
- 24349 41715 a 24349 41715 a
-SDict begin 18.2 H.A end
- 24349 41715 a 24349
-41715 a
-SDict begin [ /View [/XYZ H.V] /Dest (7031) cvn H.B /DEST pdfmark end
- 24349 41715 a FU(\223virtual\224)g(RAM.)h(It)f(is)h(slo)-39
-b(wer)496 b(than)h(RAM,)f(b)-31 b(ut)3070 43730 y(because)515
-b(disk)h(space)g(is)f(cheaper)-62 b(,)517 b(sw)-15 b(ap)515
-b(is)g(usually)g(more)h(plentiful.)f(Sw)-15 b(ap)515
-b(space)h(is)3070 45744 y(useful)328 b(to)h(the)f(k)-15
-b(ernel)328 b(for)h(holding)f(lesser)-31 b(-used)328
-b(data)h(and)g(as)g(a)g(f)-15 b(allback)328 b(when)g(ph)-8
-b(ysical)3070 47759 y(RAM)386 b(is)h(e)-23 b(xhausted.)-30
-51711 y
-SDict begin H.S end
- -30 51711 a -30 51711 a
-SDict begin 18.2 H.A end
- -30 51711 a -30 51711
-a
-SDict begin [ /View [/XYZ H.V] /Dest (7033) cvn H.B /DEST pdfmark end
- -30 51711 a 2015 x FE(Symbolic)429 b(link)-30 54821
-y
-SDict begin H.S end
- -30 54821 a -30 54821 a
-SDict begin 18.2 H.A end
- -30 54821 a -30 54821 a
-SDict begin [ /View [/XYZ H.V] /Dest (7034) cvn H.B /DEST pdfmark end
- -30
-54821 a -30 55596 a
-SDict begin H.S end
- -30 55596 a -30 55596 a
-SDict begin 18.2 H.A end
- -30 55596
-a -30 55596 a
-SDict begin [ /View [/XYZ H.V] /Dest (7035) cvn H.B /DEST pdfmark end
- -30 55596 a 3070 57290 a FU(A)i(special)h(\002le)f(that)h
-(simply)f(points)f(to)i(the)g(location)f(of)h(another)f(\002le.)h
-(Symbolic)f(links)3070 59305 y(are)387 b(used)g(to)g(a)-31
-b(v)g(oid)387 b(data)h(duplication)e(when)h(a)h(\002le)f(is)g(needed)g
-(in)g(multiple)f(locations.)p Black 49451 73672 a FR(241)p
-Black eop end
-%%Page: 242 264
-TeXDict begin 242 263 bop -8000 -8000 a
-SDict begin /product where{pop product(Distiller)search{pop pop pop
-version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
-closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
-grestore}if}{pop}ifelse}{pop}ifelse}if end
- -8000 -8000 a
-Black 0 TeXcolorgray -30 -1358 a
-SDict begin H.S end
- -30 -1358 a 0 TeXcolorgray
-0 TeXcolorgray -30 -1358 a
-SDict begin H.R end
- -30 -1358 a -30 -1358 a
-SDict begin [ /View [/XYZ H.V] /Dest (page.242) cvn H.B /DEST pdfmark
-end
- -30
--1358 a Black Black -30 2383 a
-SDict begin H.S end
- -30 2383 a -30 2383 a
-SDict begin 18.2 H.A end
-
--30 2383 a -30 2383 a
-SDict begin [ /View [/XYZ H.V] /Dest (7037) cvn H.B /DEST pdfmark end
- -30 2383 a 1131 x FE(T)-124 b(a)-15
-b(g\002le)-30 4633 y
-SDict begin H.S end
- -30 4633 a -30 4633 a
-SDict begin 18.2 H.A end
- -30 4633 a
--30 4633 a
-SDict begin [ /View [/XYZ H.V] /Dest (7038) cvn H.B /DEST pdfmark end
- -30 4633 a -30 5408 a
-SDict begin H.S end
- -30 5408 a -30 5408
-a
-SDict begin 18.2 H.A end
- -30 5408 a -30 5408 a
-SDict begin [ /View [/XYZ H.V] /Dest (7039) cvn H.B /DEST pdfmark end
- -30 5408 a 3070 7078 a FU(A)620
-b(\002le)g(used)g(by)g(the)g(Slackw)-15 b(are)22615 7078
-y
-SDict begin H.S end
- 22615 7078 a 22615 7078 a
-SDict begin 18.2 H.A end
- 22615 7078 a 22615 7078 a
-SDict begin [ /View [/XYZ H.V] /Dest (7040) cvn H.B /DEST pdfmark end
-
-22615 7078 a FP(setup)620 b FU(program)g(during)f(installation,)h
-(which)g(de-)3070 9093 y(scribes)387 b(a)g(set)g(of)h(packages)f(to)g
-(be)g(installed.)-30 13045 y
-SDict begin H.S end
- -30 13045 a -30 13045 a
-SDict begin 18.2 H.A end
-
--30 13045 a -30 13045 a
-SDict begin [ /View [/XYZ H.V] /Dest (7042) cvn H.B /DEST pdfmark end
- -30 13045 a 2014 x FE(T)-93 b(erminal)-30
-15854 y
-SDict begin H.S end
- -30 15854 a -30 15854 a
-SDict begin 18.2 H.A end
- -30 15854 a -30 15854
-a
-SDict begin [ /View [/XYZ H.V] /Dest (7043) cvn H.B /DEST pdfmark end
- -30 15854 a -30 16629 a
-SDict begin H.S end
- -30 16629 a -30 16629 a
-SDict begin 18.2 H.A end
- -30
-16629 a -30 16629 a
-SDict begin [ /View [/XYZ H.V] /Dest (7044) cvn H.B /DEST pdfmark end
- -30 16629 a 3070 18624 a FU(A)462
-b(human-computer)f(interf)-15 b(ace)461 b(consisting)g(of)h(at)h(least)
-e(a)i(screen)f(\(or)g(virtual)g(screen\))3070 20638 y(and)387
-b(some)g(method)f(of)i(input)e(\(almost)h(al)-15 b(w)g(ays)386
-b(at)h(least)g(a)h(k)-15 b(e)-23 b(yboard\).)-30 24590
-y
-SDict begin H.S end
- -30 24590 a -30 24590 a
-SDict begin 18.2 H.A end
- -30 24590 a -30 24590 a
-SDict begin [ /View [/XYZ H.V] /Dest (7046) cvn H.B /DEST pdfmark end
- -30
-24590 a 2015 x FE(T)-124 b(oolkit,)430 b(GUI)-30 27640
-y
-SDict begin H.S end
- -30 27640 a -30 27640 a
-SDict begin 18.2 H.A end
- -30 27640 a -30 27640 a
-SDict begin [ /View [/XYZ H.V] /Dest (7047) cvn H.B /DEST pdfmark end
- -30
-27640 a -30 28415 a
-SDict begin H.S end
- -30 28415 a -30 28415 a
-SDict begin 18.2 H.A end
- -30 28415
-a -30 28415 a
-SDict begin [ /View [/XYZ H.V] /Dest (7048) cvn H.B /DEST pdfmark end
- -30 28415 a 3070 30169 a FU(A)424 b(GUI)g(toolkit)f(is)h
-(a)h(collection)e(of)i(libraries)e(that)h(pro)-23 b(vide)424
-b(a)g(programmer)g(with)g(code)3070 32184 y(to)320 b(dra)-23
-b(w)7990 32184 y
-SDict begin H.S end
- 7990 32184 a 7990 32184 a
-SDict begin 18.2 H.A end
- 7990 32184
-a 7990 32184 a
-SDict begin [ /View [/XYZ H.V] /Dest (7049) cvn H.B /DEST pdfmark end
- 7990 32184 a FU(\223widgets\224)320 b(such)g(as)g
-(scrollbars,)g(checkbox)-23 b(es,)320 b(etc.)g(and)h(construct)e(a)h
-(graphical)3070 34199 y(interf)-15 b(ace.)387 b(The)g(GUI)g(toolkit)g
-(used)g(by)g(a)h(program)f(often)g(de\002nes)f(its)41704
-34199 y
-SDict begin H.S end
- 41704 34199 a 41704 34199 a
-SDict begin 18.2 H.A end
- 41704 34199 a 41704
-34199 a
-SDict begin [ /View [/XYZ H.V] /Dest (7050) cvn H.B /DEST pdfmark end
- 41704 34199 a FU(\223look)h(and)h(feel\224.)-30
-38151 y
-SDict begin H.S end
- -30 38151 a -30 38151 a
-SDict begin 18.2 H.A end
- -30 38151 a -30 38151
-a
-SDict begin [ /View [/XYZ H.V] /Dest (7052) cvn H.B /DEST pdfmark end
- -30 38151 a 2014 x FE(UID)-30 40959 y
-SDict begin H.S end
- -30 40959 a -30
-40959 a
-SDict begin 18.2 H.A end
- -30 40959 a -30 40959 a
-SDict begin [ /View [/XYZ H.V] /Dest (7053) cvn H.B /DEST pdfmark end
- -30 40959 a -30 41734
-a
-SDict begin H.S end
- -30 41734 a -30 41734 a
-SDict begin 18.2 H.A end
- -30 41734 a -30 41734 a
-SDict begin [ /View [/XYZ H.V] /Dest (7054) cvn H.B /DEST pdfmark end
- -30
-41734 a 3070 43730 a FU(User)415 b(Identi\002er)-85 b(.)416
-b(A)g(unique)f(number)g(that)h(identi\002es)e(a)i(user)g(to)g(the)g
-(system.)f(UIDs)h(are)3070 45744 y(used)586 b(by)h(most)f(programs)h
-(instead)f(of)h(usernames)g(because)g(a)g(number)f(is)h(easier)g(to)
-3070 47759 y(deal)482 b(with;)f(usernames)h(are)h(generally)e(only)h
-(used)g(when)g(the)g(user)g(has)g(to)g(see)h(things)3070
-49774 y(happen.)-30 53726 y
-SDict begin H.S end
- -30 53726 a -30 53726 a
-SDict begin 18.2 H.A end
- -30
-53726 a -30 53726 a
-SDict begin [ /View [/XYZ H.V] /Dest (7056) cvn H.B /DEST pdfmark end
- -30 53726 a 2014 x FE(VESA)-30 56534
-y
-SDict begin H.S end
- -30 56534 a -30 56534 a
-SDict begin 18.2 H.A end
- -30 56534 a -30 56534 a
-SDict begin [ /View [/XYZ H.V] /Dest (7057) cvn H.B /DEST pdfmark end
- -30
-56534 a -30 57309 a
-SDict begin H.S end
- -30 57309 a -30 57309 a
-SDict begin 18.2 H.A end
- -30 57309
-a -30 57309 a
-SDict begin [ /View [/XYZ H.V] /Dest (7058) cvn H.B /DEST pdfmark end
- -30 57309 a 3070 59305 a FU(V)-93 b(ideo)300
-b(Electronics)f(Standards)h(Association.)g(The)g(term)34607
-59305 y
-SDict begin H.S end
- 34607 59305 a 34607 59305 a
-SDict begin 18.2 H.A end
- 34607 59305 a 34607
-59305 a
-SDict begin [ /View [/XYZ H.V] /Dest (7059) cvn H.B /DEST pdfmark end
- 34607 59305 a FU(\223VESA\224)g(is)g(often)g(used)h(to)f(de-)
-3070 61319 y(note)338 b(a)i(standard)e(speci\002ed)g(by)h(said)g
-(Association.)f(Nearly)h(all)g(modern)g(video)f(adapters)3070
-63334 y(are)387 b(VESA-compliant.)p Black -30 73672 a
-FR(242)p Black eop end
-%%Page: 243 265
-TeXDict begin 243 264 bop -8000 -8000 a
-SDict begin /product where{pop product(Distiller)search{pop pop pop
-version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
-closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
-grestore}if}{pop}ifelse}{pop}ifelse}if end
- -8000 -8000 a
-Black 0 TeXcolorgray -30 -1358 a
-SDict begin H.S end
- -30 -1358 a 0 TeXcolorgray
-0 TeXcolorgray -30 -1358 a
-SDict begin H.R end
- -30 -1358 a -30 -1358 a
-SDict begin [ /View [/XYZ H.V] /Dest (page.243) cvn H.B /DEST pdfmark
-end
- -30
--1358 a Black Black -30 2383 a
-SDict begin H.S end
- -30 2383 a -30 2383 a
-SDict begin 18.2 H.A end
-
--30 2383 a -30 2383 a
-SDict begin [ /View [/XYZ H.V] /Dest (7061) cvn H.B /DEST pdfmark end
- -30 2383 a 1131 x FE(Vir)31 b(tual)430
-b(terminal)-30 4308 y
-SDict begin H.S end
- -30 4308 a -30 4308 a
-SDict begin 18.2 H.A end
- -30 4308
-a -30 4308 a
-SDict begin [ /View [/XYZ H.V] /Dest (7062) cvn H.B /DEST pdfmark end
- -30 4308 a -30 5083 a
-SDict begin H.S end
- -30 5083 a -30 5083
-a
-SDict begin 18.2 H.A end
- -30 5083 a -30 5083 a
-SDict begin [ /View [/XYZ H.V] /Dest (7063) cvn H.B /DEST pdfmark end
- -30 5083 a 3070 7078 a FU(The)350
-b(use)g(of)h(softw)-15 b(are)350 b(to)g(simulate)g(multiple)f
-(terminals)h(while)g(using)g(only)g(a)g(single)g(set)3070
-9093 y(of)403 b(input/output)f(de)-39 b(vices)404 b(\(k)-15
-b(e)-23 b(yboard,)403 b(monitor)-62 b(,)404 b(mouse\).)f(Special)h(k)
--15 b(e)-23 b(ystrok)-15 b(es)402 b(switch)3070 11108
-y(between)387 b(virtual)f(terminals)h(at)g(a)h(single)f(ph)-8
-b(ysical)386 b(terminal.)-30 15059 y
-SDict begin H.S end
- -30 15059 a -30
-15059 a
-SDict begin 18.2 H.A end
- -30 15059 a -30 15059 a
-SDict begin [ /View [/XYZ H.V] /Dest (7065) cvn H.B /DEST pdfmark end
- -30 15059 a 2015 x FE(Windo)-23
-b(w)430 b(mana)-15 b(g)15 b(er)-30 18194 y
-SDict begin H.S end
- -30 18194
-a -30 18194 a
-SDict begin 18.2 H.A end
- -30 18194 a -30 18194 a
-SDict begin [ /View [/XYZ H.V] /Dest (7066) cvn H.B /DEST pdfmark end
- -30 18194 a -30
-18969 a
-SDict begin H.S end
- -30 18969 a -30 18969 a
-SDict begin 18.2 H.A end
- -30 18969 a -30 18969
-a
-SDict begin [ /View [/XYZ H.V] /Dest (7067) cvn H.B /DEST pdfmark end
- -30 18969 a 3070 20638 a FU(An)527 b(X)h(program)f(whose)g(purpose)h
-(is)f(to)h(pro)-23 b(vide)527 b(a)h(graphical)f(interf)-15
-b(ace)527 b(be)-23 b(yond)527 b(the)3070 22653 y(simple)413
-b(rectangle-dra)-23 b(wing)413 b(of)h(the)h(X)f(W)-62
-b(indo)-39 b(w)414 b(System.)f(W)-62 b(indo)-39 b(w)414
-b(managers)g(gener)-31 b(-)3070 24668 y(ally)387 b(pro)-23
-b(vide)386 b(titlebars,)h(menus)g(for)g(running)g(programs,)g(etc.)-30
-28620 y
-SDict begin H.S end
- -30 28620 a -30 28620 a
-SDict begin 18.2 H.A end
- -30 28620 a -30 28620
-a
-SDict begin [ /View [/XYZ H.V] /Dest (7069) cvn H.B /DEST pdfmark end
- -30 28620 a 2014 x FE(W)-93 b(orking)430 b(director)15
-b(y)-30 31754 y
-SDict begin H.S end
- -30 31754 a -30 31754 a
-SDict begin 18.2 H.A end
- -30 31754 a -30
-31754 a
-SDict begin [ /View [/XYZ H.V] /Dest (7070) cvn H.B /DEST pdfmark end
- -30 31754 a -30 32529 a
-SDict begin H.S end
- -30 32529 a -30 32529
-a
-SDict begin 18.2 H.A end
- -30 32529 a -30 32529 a
-SDict begin [ /View [/XYZ H.V] /Dest (7071) cvn H.B /DEST pdfmark end
- -30 32529 a 3070 34199 a FU(The)387
-b(directory)g(in)g(which)g(a)g(program)g(considers)g(itself)g(to)g(be)g
-(while)g(running.)-30 38151 y
-SDict begin H.S end
- -30 38151 a -30 38151 a
-SDict begin 18.2 H.A end
-
--30 38151 a -30 38151 a
-SDict begin [ /View [/XYZ H.V] /Dest (7073) cvn H.B /DEST pdfmark end
- -30 38151 a 2014 x FE(Wrapper)430
-b(pr)-31 b(ogram)-30 41285 y
-SDict begin H.S end
- -30 41285 a -30 41285 a
-SDict begin 18.2 H.A end
-
--30 41285 a -30 41285 a
-SDict begin [ /View [/XYZ H.V] /Dest (7074) cvn H.B /DEST pdfmark end
- -30 41285 a -30 42060 a
-SDict begin H.S end
- -30 42060
-a -30 42060 a
-SDict begin 18.2 H.A end
- -30 42060 a -30 42060 a
-SDict begin [ /View [/XYZ H.V] /Dest (7075) cvn H.B /DEST pdfmark end
- -30 42060 a 3070
-43730 a FU(A)468 b(program)f(whose)h(sole)g(purpose)f(is)h(to)g(run)g
-(other)g(programs,)f(b)-31 b(ut)468 b(change)g(their)g(be-)3070
-45744 y(ha)-31 b(vior)387 b(in)g(some)g(w)-15 b(ay)386
-b(by)i(altering)e(their)i(en)-62 b(vironments)386 b(or)h(\002ltering)f
-(their)i(input.)-30 49696 y
-SDict begin H.S end
- -30 49696 a -30 49696 a
-SDict begin 18.2 H.A end
- -30
-49696 a -30 49696 a
-SDict begin [ /View [/XYZ H.V] /Dest (7077) cvn H.B /DEST pdfmark end
- -30 49696 a 2015 x FE(X)431 b(ser)15
-b(ver)-30 52505 y
-SDict begin H.S end
- -30 52505 a -30 52505 a
-SDict begin 18.2 H.A end
- -30 52505 a
--30 52505 a
-SDict begin [ /View [/XYZ H.V] /Dest (7078) cvn H.B /DEST pdfmark end
- -30 52505 a -30 53280 a
-SDict begin H.S end
- -30 53280 a -30 53280
-a
-SDict begin 18.2 H.A end
- -30 53280 a -30 53280 a
-SDict begin [ /View [/XYZ H.V] /Dest (7079) cvn H.B /DEST pdfmark end
- -30 53280 a 3070 55275 a FU(The)315
-b(program)h(in)g(the)f(X)h(W)-62 b(indo)-39 b(w)316 b(System)f(which)g
-(interf)-15 b(aces)315 b(with)h(graphics)f(hardw)-15
-b(are)3070 57290 y(and)387 b(handles)g(the)g(actual)g(running)g(of)g(X)
-g(programs.)p Black 49451 73672 a FR(243)p Black eop
-end
-%%Page: 244 266
-TeXDict begin 244 265 bop -8000 -8000 a
-SDict begin /product where{pop product(Distiller)search{pop pop pop
-version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
-closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
-grestore}if}{pop}ifelse}{pop}ifelse}if end
- -8000 -8000 a
-Black 0 TeXcolorgray -30 -1358 a
-SDict begin H.S end
- -30 -1358 a 0 TeXcolorgray
-0 TeXcolorgray -30 -1358 a
-SDict begin H.R end
- -30 -1358 a -30 -1358 a
-SDict begin [ /View [/XYZ H.V] /Dest (page.244) cvn H.B /DEST pdfmark
-end
- -30
--1358 a Black Black -30 2383 a
-SDict begin H.S end
- -30 2383 a -30 2383 a
-SDict begin 18.2 H.A end
-
--30 2383 a -30 2383 a
-SDict begin [ /View [/XYZ H.V] /Dest (7081) cvn H.B /DEST pdfmark end
- -30 2383 a 1131 x FE(X)431 b(Windo)-23
-b(w)429 b(System)-30 4609 y
-SDict begin H.S end
- -30 4609 a -30 4609 a
-SDict begin 18.2 H.A end
- -30
-4609 a -30 4609 a
-SDict begin [ /View [/XYZ H.V] /Dest (7082) cvn H.B /DEST pdfmark end
- -30 4609 a -30 5384 a
-SDict begin H.S end
- -30 5384 a -30
-5384 a
-SDict begin 18.2 H.A end
- -30 5384 a -30 5384 a
-SDict begin [ /View [/XYZ H.V] /Dest (7083) cvn H.B /DEST pdfmark end
- -30 5384 a 3070 7078 a FU(Netw)-15
-b(ork-oriented)379 b(graphical)h(interf)-15 b(ace)380
-b(system)g(used)g(on)g(most)g(Unix-lik)-15 b(e)380 b(operating)3070
-9093 y(systems,)386 b(including)h(Linux.)p Black -30
-73672 a FR(244)p Black eop end
-%%Page: 245 267
-TeXDict begin 245 266 bop -8000 -8000 a
-SDict begin /product where{pop product(Distiller)search{pop pop pop
-version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
-closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
-grestore}if}{pop}ifelse}{pop}ifelse}if end
- -8000 -8000 a
-Black 0 TeXcolorgray -30 -1358 a
-SDict begin H.S end
- -30 -1358 a 0 TeXcolorgray
-0 TeXcolorgray -30 -1358 a
-SDict begin H.R end
- -30 -1358 a -30 -1358 a
-SDict begin [ /View [/XYZ H.V] /Dest (page.245) cvn H.B /DEST pdfmark
-end
- -30
--1358 a Black Black -30 2383 a
-SDict begin H.S end
- -30 2383 a -30 2383 a
-SDict begin 18.2 H.A end
-
--30 2383 a -30 2383 a
-SDict begin [ /View [/XYZ H.V] /Dest (GPL) cvn H.B /DEST pdfmark end
- -30 2383 a 2345 x FS(Appendix)895
-b(A.)-30 10743 y FO(The)1287 b(GNU)f(General)-30 16759
-y(Pub)-46 b(lic)1288 b(License)p -30 24332 51806 56 v
--30 25882 a
-SDict begin H.S end
- -30 25882 a -30 25882 a
-SDict begin 18.2 H.A end
- -30 25882 a -30 25882
-a
-SDict begin [ /View [/XYZ H.V] /Dest (7086) cvn H.B /DEST pdfmark end
- -30 25882 a 1051 x FU(GNU)387 b(GENERAL)g(PUBLIC)f(LICENSE)-30
-30962 y(V)-172 b(ersion)387 b(2,)h(June)f(1991)-30 32977
-y(Cop)-15 b(yright)386 b(\(C\))h(1989,)g(1991)g(Free)h(Softw)-15
-b(are)386 b(F)-23 b(oundation,)386 b(Inc.)-30 34991 y(59)h(T)-108
-b(emple)387 b(Place,)g(Suite)g(330,)g(Boston,)g(MA)775
-b(02111-1307)e(USA)-30 37006 y(Ev)-23 b(eryone)387 b(is)g(permitted)g
-(to)g(cop)-15 b(y)386 b(and)i(distrib)-31 b(ute)386 b(v)-23
-b(erbatim)386 b(copies)h(of)h(this)-30 39021 y(license)f(document,)g(b)
--31 b(ut)387 b(changing)g(it)g(is)g(not)g(allo)-39 b(wed.)-30
-39356 y
-SDict begin H.S end
- -30 39356 a -30 39356 a
-SDict begin 18.2 H.A end
- -30 39356 a -30 39356
-a
-SDict begin [ /View [/XYZ H.V] /Dest (7087) cvn H.B /DEST pdfmark end
- -30 39356 a 4779 x FE(Preamb)-15 b(le)-30 44929 y
-SDict begin H.S end
- -30
-44929 a -30 44929 a
-SDict begin 18.2 H.A end
- -30 44929 a -30 44929 a
-SDict begin [ /View [/XYZ H.V] /Dest (7089) cvn H.B /DEST pdfmark end
- -30 44929
-a 1995 x FU(The)373 b(licenses)g(for)g(most)g(softw)-15
-b(are)372 b(are)h(designed)g(to)g(tak)-15 b(e)373 b(a)-23
-b(w)-15 b(ay)372 b(your)h(freedom)g(to)g(share)g(and)-30
-48939 y(change)544 b(it.)g(By)g(contrast,)g(the)g(GNU)f(General)h
-(Public)f(License)h(is)g(intended)f(to)h(guarantee)-30
-50954 y(your)473 b(freedom)g(to)g(share)h(and)f(change)g(free)h(softw)
--15 b(are--to)472 b(mak)-15 b(e)473 b(sure)g(the)g(softw)-15
-b(are)473 b(is)g(free)-30 52968 y(for)489 b(all)f(its)h(users.)g(This)f
-(General)h(Public)f(License)g(applies)g(to)h(most)f(of)h(the)f(Free)h
-(Softw)-15 b(are)-30 54983 y(F)-23 b(oundation')-85 b(s)589
-b(softw)-15 b(are)590 b(and)h(to)f(an)-23 b(y)591 b(other)f(program)h
-(whose)f(authors)g(commit)g(to)h(using)-30 56998 y(it.)441
-b(\(Some)g(other)g(Free)g(Softw)-15 b(are)440 b(F)-23
-b(oundation)440 b(softw)-15 b(are)441 b(is)f(co)-23 b(v)g(ered)441
-b(by)g(the)g(GNU)g(Library)-30 59012 y(General)387 b(Public)g(License)g
-(instead.\))g(Y)-170 b(ou)387 b(can)g(apply)g(it)g(to)h(your)f
-(programs,)g(too.)-30 60123 y
-SDict begin H.S end
- -30 60123 a -30 60123 a
-SDict begin 18.2 H.A end
-
--30 60123 a -30 60123 a
-SDict begin [ /View [/XYZ H.V] /Dest (7090) cvn H.B /DEST pdfmark end
- -30 60123 a 1679 x FU(When)336
-b(we)g(speak)g(of)g(free)g(softw)-15 b(are,)336 b(we)g(are)g(referring)
-g(to)g(freedom,)g(not)g(price.)g(Our)g(General)-30 63817
-y(Public)483 b(Licenses)f(are)i(designed)f(to)g(mak)-15
-b(e)482 b(sure)i(that)f(you)g(ha)-31 b(v)-23 b(e)483
-b(the)g(freedom)g(to)g(distrib)-31 b(ute)-30 65831 y(copies)526
-b(of)h(free)g(softw)-15 b(are)525 b(\(and)i(char)-28
-b(ge)526 b(for)h(this)f(service)g(if)h(you)f(wish\),)g(that)h(you)f
-(recei)-39 b(v)-23 b(e)p Black -30 73672 a
-SDict begin H.S end
- -30 73672
-a -30 73672 a
-SDict begin 18.2 H.A end
- -30 73672 a -30 73672 a
-SDict begin [ /View [/XYZ H.V] /Dest (7091) cvn H.B /DEST pdfmark end
- -30 73672 a 49451
-74722 a FR(245)p Black eop end
-%%Page: 246 268
-TeXDict begin 246 267 bop -8000 -8000 a
-SDict begin /product where{pop product(Distiller)search{pop pop pop
-version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
-closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
-grestore}if}{pop}ifelse}{pop}ifelse}if end
- -8000 -8000 a
-Black 0 TeXcolorgray -30 -1358 a
-SDict begin H.S end
- -30 -1358 a 0 TeXcolorgray
-0 TeXcolorgray -30 -1358 a
-SDict begin H.R end
- -30 -1358 a -30 -1358 a
-SDict begin [ /View [/XYZ H.V] /Dest (page.246) cvn H.B /DEST pdfmark
-end
- -30
--1358 a Black -278 x FR(Appendix)387 b(A.)h(The)f(GNU)g(Gener)-23
-b(al)386 b(Public)h(License)p Black -30 3490 a FU(source)551
-b(code)f(or)h(can)f(get)h(it)f(if)g(you)g(w)-15 b(ant)550
-b(it,)h(that)f(you)g(can)h(change)f(the)h(softw)-15 b(are)550
-b(or)g(use)-30 5505 y(pieces)387 b(of)h(it)f(in)g(ne)-39
-b(w)387 b(free)h(programs;)f(and)g(that)g(you)g(kno)-39
-b(w)387 b(you)g(can)h(do)f(these)g(things.)-30 8294 y(T)-124
-b(o)421 b(protect)g(your)f(rights,)h(we)g(need)g(to)g(mak)-15
-b(e)420 b(restrictions)g(that)h(forbid)f(an)-23 b(yone)421
-b(to)g(den)-23 b(y)420 b(you)-30 10309 y(these)i(rights)g(or)g(to)g
-(ask)h(you)f(to)g(surrender)g(the)g(rights.)g(These)g(restrictions)g
-(translate)f(to)i(cer)-31 b(-)-30 12324 y(tain)355 b(responsibilities)f
-(for)h(you)h(if)f(you)g(distrib)-31 b(ute)355 b(copies)g(of)g(the)g
-(softw)-15 b(are,)356 b(or)f(if)g(you)h(modify)-30 14338
-y(it.)-30 15129 y
-SDict begin H.S end
- -30 15129 a -30 15129 a
-SDict begin 18.2 H.A end
- -30 15129 a
--30 15129 a
-SDict begin [ /View [/XYZ H.V] /Dest (7092) cvn H.B /DEST pdfmark end
- -30 15129 a 1999 x FU(F)-23 b(or)403 b(e)-23
-b(xample,)403 b(if)g(you)g(distrib)-31 b(ute)402 b(copies)g(of)i(such)e
-(a)i(program,)f(whether)g(gratis)g(or)g(for)g(a)g(fee,)-30
-19143 y(you)486 b(must)g(gi)-39 b(v)-23 b(e)486 b(the)h(recipients)f
-(all)g(the)g(rights)g(that)g(you)h(ha)-31 b(v)-23 b(e.)486
-b(Y)-170 b(ou)486 b(must)g(mak)-15 b(e)486 b(sure)g(that)-30
-21157 y(the)-23 b(y)-101 b(,)436 b(too,)g(recei)-39 b(v)-23
-b(e)436 b(or)g(can)g(get)f(the)h(source)g(code.)g(And)f(you)h(must)f
-(sho)-39 b(w)436 b(them)f(these)g(terms)-30 23172 y(so)387
-b(the)-23 b(y)387 b(kno)-39 b(w)387 b(their)g(rights.)-30
-24282 y
-SDict begin H.S end
- -30 24282 a -30 24282 a
-SDict begin 18.2 H.A end
- -30 24282 a -30 24282
-a
-SDict begin [ /View [/XYZ H.V] /Dest (7093) cvn H.B /DEST pdfmark end
- -30 24282 a 1680 x FU(W)-124 b(e)417 b(protect)f(your)h(rights)f
-(with)g(tw)-15 b(o)416 b(steps:)g(\(1\))g(cop)-15 b(yright)416
-b(the)g(softw)-15 b(are,)417 b(and)f(\(2\))h(of)-39 b(fer)417
-b(you)-30 27976 y(this)459 b(license)g(which)g(gi)-39
-b(v)-23 b(es)459 b(you)g(le)-23 b(g)-8 b(al)459 b(permission)f(to)i
-(cop)-15 b(y)-101 b(,)459 b(distrib)-31 b(ute)458 b(and/or)h(modify)g
-(the)-30 29991 y(softw)-15 b(are.)-30 30781 y
-SDict begin H.S end
- -30 30781
-a -30 30781 a
-SDict begin 18.2 H.A end
- -30 30781 a -30 30781 a
-SDict begin [ /View [/XYZ H.V] /Dest (7094) cvn H.B /DEST pdfmark end
- -30 30781 a 1999
-x FU(Also,)443 b(for)h(each)f(author')-85 b(s)443 b(protection)f(and)h
-(ours,)h(we)f(w)-15 b(ant)442 b(to)h(mak)-15 b(e)443
-b(certain)g(that)g(e)-39 b(v)-23 b(eryone)-30 34795 y(understands)441
-b(that)h(there)g(is)g(no)g(w)-15 b(arranty)442 b(for)g(this)f(free)i
-(softw)-15 b(are.)442 b(If)g(the)g(softw)-15 b(are)441
-b(is)h(mod-)-30 36810 y(i\002ed)425 b(by)h(someone)f(else)h(and)f
-(passed)h(on,)g(we)g(w)-15 b(ant)425 b(its)g(recipients)g(to)h(kno)-39
-b(w)425 b(that)h(what)f(the)-23 b(y)-30 38824 y(ha)-31
-b(v)-23 b(e)357 b(is)f(not)h(the)f(original,)h(so)f(that)h(an)-23
-b(y)356 b(problems)g(introduced)g(by)h(others)f(will)g(not)h(re\003ect)
-f(on)-30 40839 y(the)387 b(original)g(authors')g(reputations.)-30
-41949 y
-SDict begin H.S end
- -30 41949 a -30 41949 a
-SDict begin 18.2 H.A end
- -30 41949 a -30 41949
-a
-SDict begin [ /View [/XYZ H.V] /Dest (7095) cvn H.B /DEST pdfmark end
- -30 41949 a 1680 x FU(Finally)-101 b(,)465 b(an)-23
-b(y)465 b(free)h(program)f(is)h(threatened)f(constantly)f(by)h(softw)
--15 b(are)465 b(patents.)h(W)-124 b(e)465 b(wish)g(to)-30
-45643 y(a)-31 b(v)g(oid)382 b(the)h(danger)f(that)g(redistrib)-31
-b(utors)382 b(of)g(a)h(free)g(program)f(will)g(indi)-39
-b(vidually)381 b(obtain)h(patent)-30 47658 y(licenses,)396
-b(in)f(ef)-39 b(fect)396 b(making)f(the)h(program)f(proprietary)-101
-b(.)396 b(T)-124 b(o)396 b(pre)-39 b(v)-23 b(ent)395
-b(this,)h(we)f(ha)-31 b(v)-23 b(e)396 b(made)f(it)-30
-49673 y(clear)388 b(that)f(an)-23 b(y)387 b(patent)g(must)f(be)i
-(licensed)f(for)g(e)-39 b(v)-23 b(eryone')-85 b(s)387
-b(free)h(use)f(or)g(not)g(licensed)g(at)g(all.)-30 50783
-y
-SDict begin H.S end
- -30 50783 a -30 50783 a
-SDict begin 18.2 H.A end
- -30 50783 a -30 50783 a
-SDict begin [ /View [/XYZ H.V] /Dest (7096) cvn H.B /DEST pdfmark end
- -30
-50783 a 1679 x FU(The)g(precise)h(terms)f(and)g(conditions)f(for)h(cop)
--15 b(ying,)387 b(distrib)-31 b(ution)386 b(and)h(modi\002cation)f
-(follo)-39 b(w)-101 b(.)-30 53573 y
-SDict begin H.S end
- -30 53573 a -30 53573
-a
-SDict begin 18.2 H.A end
- -30 53573 a -30 53573 a
-SDict begin [ /View [/XYZ H.V] /Dest (7097) cvn H.B /DEST pdfmark end
- -30 53573 a 4778 x FE(TERMS)430
-b(AND)h(CONDITIONS)-30 59145 y
-SDict begin H.S end
- -30 59145 a -30 59145
-a
-SDict begin 18.2 H.A end
- -30 59145 a -30 59145 a
-SDict begin [ /View [/XYZ H.V] /Dest (7099) cvn H.B /DEST pdfmark end
- -30 59145 a -30 59145 a
-SDict begin H.S end
- -30
-59145 a -30 59145 a
-SDict begin 18.2 H.A end
- -30 59145 a -30 59145 a
-SDict begin [ /View [/XYZ H.V] /Dest (7100) cvn H.B /DEST pdfmark end
- -30 59145
-a 1996 x FR(TERMS)472 b(AND)g(CONDITIONS)g(FOR)g(COPYING,)g(DISTRIB)-15
-b(UTION)471 b(AND)h(MODIFICA-)-30 63155 y(TION)-30 63174
-y
-SDict begin H.S end
- -30 63174 a -30 63174 a
-SDict begin 18.2 H.A end
- -30 63174 a -30 63174 a
-SDict begin [ /View [/XYZ H.V] /Dest (7101) cvn H.B /DEST pdfmark end
- -30
-63174 a -30 63949 a
-SDict begin H.S end
- -30 63949 a -30 63949 a
-SDict begin 18.2 H.A end
- -30 63949
-a -30 63949 a
-SDict begin [ /View [/XYZ H.V] /Dest (7102) cvn H.B /DEST pdfmark end
- -30 63949 a Black 9723 x FR(246)p Black
-eop end
-%%Page: 247 269
-TeXDict begin 247 268 bop -8000 -8000 a
-SDict begin /product where{pop product(Distiller)search{pop pop pop
-version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
-closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
-grestore}if}{pop}ifelse}{pop}ifelse}if end
- -8000 -8000 a
-Black 0 TeXcolorgray -30 -1237 a
-SDict begin H.S end
- -30 -1237 a 0 TeXcolorgray
-0 TeXcolorgray -30 -1237 a
-SDict begin H.R end
- -30 -1237 a -30 -1237 a
-SDict begin [ /View [/XYZ H.V] /Dest (page.247) cvn H.B /DEST pdfmark
-end
- -30
--1237 a Black 22832 -1636 a FR(Appendix)386 b(A.)i(The)f(GNU)g(Gener)
--23 b(al)387 b(Public)f(License)p Black Black 1210 3611
-a FU(1.)p Black 2760 3611 a
-SDict begin H.S end
- 2760 3611 a 2760 3611 a
-SDict begin 18.2 H.A end
- 2760
-3611 a 2760 3611 a
-SDict begin [ /View [/XYZ H.V] /Dest (7103) cvn H.B /DEST pdfmark end
- 2760 3611 a FU(This)608 b(License)h(applies)f(to)g
-(an)-23 b(y)609 b(program)f(or)h(other)g(w)-15 b(ork)608
-b(which)g(contains)g(a)h(notice)2760 5626 y(placed)449
-b(by)h(the)g(cop)-15 b(yright)448 b(holder)i(saying)f(it)g(may)h(be)g
-(distrib)-31 b(uted)448 b(under)i(the)g(terms)f(of)2760
-7640 y(this)373 b(General)i(Public)e(License.)i(The)23354
-7640 y
-SDict begin H.S end
- 23354 7640 a 23354 7640 a
-SDict begin 18.2 H.A end
- 23354 7640 a 23354 7640
-a
-SDict begin [ /View [/XYZ H.V] /Dest (7104) cvn H.B /DEST pdfmark end
- 23354 7640 a FU(\223Program\224,)f(belo)-39 b(w)-101
-b(,)375 b(refers)g(to)f(an)-23 b(y)374 b(such)g(program)2760
-9655 y(or)440 b(w)-15 b(ork,)440 b(and)g(a)12294 9655
-y
-SDict begin H.S end
- 12294 9655 a 12294 9655 a
-SDict begin 18.2 H.A end
- 12294 9655 a 12294 9655 a
-SDict begin [ /View [/XYZ H.V] /Dest (7105) cvn H.B /DEST pdfmark end
-
-12294 9655 a FU(\223w)-15 b(ork)440 b(based)f(on)h(the)g(Program\224)g
-(means)g(either)g(the)g(Program)f(or)h(an)-23 b(y)2760
-11670 y(deri)-39 b(v)g(ati)g(v)-23 b(e)447 b(w)-15 b(ork)446
-b(under)h(cop)-15 b(yright)445 b(la)-23 b(w:)447 b(that)f(is)h(to)g
-(say)-101 b(,)447 b(a)g(w)-15 b(ork)446 b(containing)g(the)h(Pro-)2760
-13684 y(gram)e(or)h(a)g(portion)f(of)h(it,)g(either)g(v)-23
-b(erbatim)445 b(or)h(with)f(modi\002cations)f(and/or)i(translated)2760
-15699 y(into)354 b(another)g(language.)h(\(Hereinafter)-62
-b(,)356 b(translation)d(is)i(included)f(without)g(limitation)f(in)2760
-17714 y(the)387 b(term)8269 17714 y
-SDict begin H.S end
- 8269 17714 a 8269
-17714 a
-SDict begin 18.2 H.A end
- 8269 17714 a 8269 17714 a
-SDict begin [ /View [/XYZ H.V] /Dest (7106) cvn H.B /DEST pdfmark end
- 8269 17714 a FU
-(\223modi\002cation\224.\))f(Each)i(licensee)f(is)g(addressed)g(as)
-37233 17714 y
-SDict begin H.S end
- 37233 17714 a 37233 17714 a
-SDict begin 18.2 H.A end
- 37233 17714
-a 37233 17714 a
-SDict begin [ /View [/XYZ H.V] /Dest (7107) cvn H.B /DEST pdfmark end
- 37233 17714 a FU(\223you\224.)-30 18824
-y
-SDict begin H.S end
- -30 18824 a -30 18824 a
-SDict begin 18.2 H.A end
- -30 18824 a -30 18824 a
-SDict begin [ /View [/XYZ H.V] /Dest (7108) cvn H.B /DEST pdfmark end
- -30
-18824 a 2760 20503 a FU(Acti)-39 b(vities)433 b(other)g(than)h(cop)-15
-b(ying,)433 b(distrib)-31 b(ution)432 b(and)i(modi\002cation)e(are)i
-(not)g(co)-23 b(v)g(ered)433 b(by)2760 22518 y(this)467
-b(License;)h(the)-23 b(y)468 b(are)g(outside)g(its)g(scope.)g(The)g
-(act)h(of)f(running)g(the)g(Program)f(is)h(not)2760 24533
-y(restricted,)314 b(and)g(the)f(output)h(from)g(the)f(Program)h(is)g
-(co)-23 b(v)g(ered)313 b(only)h(if)g(its)f(contents)g(consti-)2760
-26547 y(tute)330 b(a)h(w)-15 b(ork)330 b(based)h(on)g(the)f(Program)g
-(\(independent)g(of)h(ha)-31 b(ving)331 b(been)f(made)h(by)g(running)
-2760 28562 y(the)387 b(Program\).)g(Whether)g(that)g(is)g(true)h
-(depends)e(on)i(what)f(the)g(Program)g(does.)745 31352
-y
-SDict begin H.S end
- 745 31352 a 745 31352 a
-SDict begin 18.2 H.A end
- 745 31352 a 745 31352 a
-SDict begin [ /View [/XYZ H.V] /Dest (7109) cvn H.B /DEST pdfmark end
- 745
-31352 a Black 1210 34141 a FU(2.)p Black 2760 34141 a
-SDict begin H.S end
-
-2760 34141 a 2760 34141 a
-SDict begin 18.2 H.A end
- 2760 34141 a 2760 34141 a
-SDict begin [ /View [/XYZ H.V] /Dest (7110) cvn H.B /DEST pdfmark end
- 2760
-34141 a FU(Y)-170 b(ou)459 b(may)i(cop)-15 b(y)460 b(and)g(distrib)-31
-b(ute)460 b(v)-23 b(erbatim)459 b(copies)h(of)h(the)f(Program')-85
-b(s)460 b(source)g(code)h(as)2760 36156 y(you)466 b(recei)-39
-b(v)-23 b(e)467 b(it,)g(in)g(an)-23 b(y)466 b(medium,)g(pro)-23
-b(vided)466 b(that)h(you)f(conspicuously)g(and)g(appropri-)2760
-38170 y(ately)530 b(publish)f(on)i(each)f(cop)-15 b(y)530
-b(an)h(appropriate)f(cop)-15 b(yright)529 b(notice)h(and)g(disclaimer)g
-(of)2760 40185 y(w)-15 b(arranty;)367 b(k)-15 b(eep)367
-b(intact)g(all)h(the)f(notices)g(that)h(refer)g(to)g(this)f(License)g
-(and)h(to)f(the)h(absence)2760 42200 y(of)541 b(an)-23
-b(y)541 b(w)-15 b(arranty;)541 b(and)g(gi)-39 b(v)-23
-b(e)541 b(an)-23 b(y)541 b(other)h(recipients)e(of)i(the)f(Program)g(a)
-g(cop)-15 b(y)541 b(of)g(this)2760 44214 y(License)387
-b(along)g(with)g(the)g(Program.)-30 45325 y
-SDict begin H.S end
- -30 45325
-a -30 45325 a
-SDict begin 18.2 H.A end
- -30 45325 a -30 45325 a
-SDict begin [ /View [/XYZ H.V] /Dest (7111) cvn H.B /DEST pdfmark end
- -30 45325 a 2760
-47004 a FU(Y)-170 b(ou)451 b(may)g(char)-28 b(ge)452
-b(a)g(fee)g(for)g(the)g(ph)-8 b(ysical)451 b(act)h(of)g(transferring)f
-(a)h(cop)-15 b(y)-101 b(,)452 b(and)g(you)f(may)2760
-49019 y(at)387 b(your)g(option)g(of)-39 b(fer)387 b(w)-15
-b(arranty)387 b(protection)g(in)g(e)-23 b(xchange)387
-b(for)g(a)h(fee.)745 51808 y
-SDict begin H.S end
- 745 51808 a 745 51808 a
-SDict begin 18.2 H.A end
-
-745 51808 a 745 51808 a
-SDict begin [ /View [/XYZ H.V] /Dest (7112) cvn H.B /DEST pdfmark end
- 745 51808 a Black 1210 54598
-a FU(3.)p Black 2760 54598 a
-SDict begin H.S end
- 2760 54598 a 2760 54598
-a
-SDict begin 18.2 H.A end
- 2760 54598 a 2760 54598 a
-SDict begin [ /View [/XYZ H.V] /Dest (7113) cvn H.B /DEST pdfmark end
- 2760 54598 a FU(Y)-170 b(ou)443
-b(may)g(modify)g(your)g(cop)-15 b(y)443 b(or)h(copies)f(of)h(the)f
-(Program)g(or)h(an)-23 b(y)443 b(portion)g(of)h(it,)f(thus)2760
-56612 y(forming)448 b(a)i(w)-15 b(ork)448 b(based)h(on)g(the)g
-(Program,)g(and)g(cop)-15 b(y)449 b(and)g(distrib)-31
-b(ute)448 b(such)h(modi\002ca-)2760 58627 y(tions)e(or)h(w)-15
-b(ork)448 b(under)g(the)f(terms)h(of)g(Section)g(1)g(abo)-23
-b(v)g(e,)448 b(pro)-23 b(vided)447 b(that)h(you)f(also)h(meet)2760
-60642 y(all)387 b(of)g(these)g(conditions:)-30 60657
-y
-SDict begin H.S end
- -30 60657 a -30 60657 a
-SDict begin 18.2 H.A end
- -30 60657 a -30 60657 a
-SDict begin [ /View [/XYZ H.V] /Dest (7114) cvn H.B /DEST pdfmark end
- -30
-60657 a -30 60657 a
-SDict begin H.S end
- -30 60657 a -30 60657 a
-SDict begin 18.2 H.A end
- -30 60657
-a -30 60657 a
-SDict begin [ /View [/XYZ H.V] /Dest (7115) cvn H.B /DEST pdfmark end
- -30 60657 a Black 4086 63431 a FU(a.)p
-Black 5549 63431 a
-SDict begin H.S end
- 5549 63431 a 5549 63431 a
-SDict begin 18.2 H.A end
- 5549 63431
-a 5549 63431 a
-SDict begin [ /View [/XYZ H.V] /Dest (7116) cvn H.B /DEST pdfmark end
- 5549 63431 a FU(Y)-170 b(ou)515 b(must)h(cause)g(the)f
-(modi\002ed)g(\002les)h(to)g(carry)g(prominent)f(notices)g(stating)g
-(that)5549 65446 y(you)387 b(changed)g(the)h(\002les)e(and)i(the)f
-(date)g(of)g(an)-23 b(y)388 b(change.)-30 65781 y
-SDict begin H.S end
- -30
-65781 a -30 65781 a
-SDict begin 18.2 H.A end
- -30 65781 a -30 65781 a
-SDict begin [ /View [/XYZ H.V] /Dest (7117) cvn H.B /DEST pdfmark end
- -30 65781
-a Black 49394 73792 a FR(247)p Black eop end
-%%Page: 248 270
-TeXDict begin 248 269 bop -8000 -8000 a
-SDict begin /product where{pop product(Distiller)search{pop pop pop
-version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
-closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
-grestore}if}{pop}ifelse}{pop}ifelse}if end
- -8000 -8000 a
-Black 0 TeXcolorgray -30 -1237 a
-SDict begin H.S end
- -30 -1237 a 0 TeXcolorgray
-0 TeXcolorgray -30 -1237 a
-SDict begin H.R end
- -30 -1237 a -30 -1237 a
-SDict begin [ /View [/XYZ H.V] /Dest (page.248) cvn H.B /DEST pdfmark
-end
- -30
--1237 a Black -399 x FR(Appendix)387 b(A.)h(The)f(GNU)g(Gener)-23
-b(al)386 b(Public)h(License)p Black Black 4061 3611 a
-FU(b)-62 b(.)p Black 5549 3611 a
-SDict begin H.S end
- 5549 3611 a 5549 3611
-a
-SDict begin 18.2 H.A end
- 5549 3611 a 5549 3611 a
-SDict begin [ /View [/XYZ H.V] /Dest (7118) cvn H.B /DEST pdfmark end
- 5549 3611 a FU(Y)-170 b(ou)504
-b(must)g(cause)h(an)-23 b(y)505 b(w)-15 b(ork)504 b(that)h(you)f
-(distrib)-31 b(ute)504 b(or)h(publish,)f(that)h(in)f(whole)h(or)5549
-5626 y(in)495 b(part)g(contains)f(or)h(is)g(deri)-39
-b(v)-23 b(ed)495 b(from)g(the)g(Program)f(or)h(an)-23
-b(y)495 b(part)g(thereof,)g(to)g(be)5549 7640 y(licensed)426
-b(as)h(a)g(whole)f(at)g(no)h(char)-28 b(ge)427 b(to)f(all)g(third)h
-(parties)f(under)g(the)h(terms)f(of)g(this)5549 9655
-y(License.)-30 9670 y
-SDict begin H.S end
- -30 9670 a -30 9670 a
-SDict begin 18.2 H.A end
- -30 9670
-a -30 9670 a
-SDict begin [ /View [/XYZ H.V] /Dest (7119) cvn H.B /DEST pdfmark end
- -30 9670 a Black 4086 12445 a FU(c.)p Black
-5549 12445 a
-SDict begin H.S end
- 5549 12445 a 5549 12445 a
-SDict begin 18.2 H.A end
- 5549 12445 a 5549
-12445 a
-SDict begin [ /View [/XYZ H.V] /Dest (7120) cvn H.B /DEST pdfmark end
- 5549 12445 a FU(If)385 b(the)g(modi\002ed)e(program)i(normally)
-f(reads)g(commands)g(interacti)-39 b(v)-23 b(ely)384
-b(when)h(run,)5549 14459 y(you)352 b(must)g(cause)g(it,)h(when)f
-(started)g(running)f(for)i(such)f(interacti)-39 b(v)-23
-b(e)351 b(use)h(in)h(the)f(most)5549 16474 y(ordinary)334
-b(w)-15 b(ay)-101 b(,)335 b(to)f(print)g(or)h(display)e(an)i
-(announcement)e(including)h(an)g(appropriate)5549 18489
-y(cop)-15 b(yright)409 b(notice)g(and)h(a)g(notice)f(that)g(there)h(is)
-g(no)f(w)-15 b(arranty)409 b(\(or)h(else,)g(saying)f(that)5549
-20503 y(you)398 b(pro)-23 b(vide)397 b(a)h(w)-15 b(arranty\))397
-b(and)h(that)g(users)f(may)h(redistrib)-31 b(ute)397
-b(the)h(program)f(under)5549 22518 y(these)484 b(conditions,)f(and)g
-(telling)g(the)h(user)g(ho)-39 b(w)483 b(to)h(vie)-39
-b(w)484 b(a)g(cop)-15 b(y)483 b(of)h(this)f(License.)5549
-24533 y(\(Exception:)446 b(if)g(the)g(Program)g(itself)g(is)g
-(interacti)-39 b(v)-23 b(e)446 b(b)-31 b(ut)446 b(does)g(not)g
-(normally)f(print)5549 26547 y(such)399 b(an)h(announcement,)f(your)g
-(w)-15 b(ork)399 b(based)g(on)g(the)h(Program)f(is)g(not)g(required)g
-(to)5549 28562 y(print)387 b(an)g(announcement.\))-30
-29672 y
-SDict begin H.S end
- -30 29672 a -30 29672 a
-SDict begin 18.2 H.A end
- -30 29672 a -30 29672
-a
-SDict begin [ /View [/XYZ H.V] /Dest (7121) cvn H.B /DEST pdfmark end
- -30 29672 a 2760 31352 a FU(These)445 b(requirements)g(apply)g(to)g
-(the)g(modi\002ed)g(w)-15 b(ork)444 b(as)i(a)f(whole.)h(If)g
-(identi\002able)e(sec-)2760 33366 y(tions)581 b(of)g(that)h(w)-15
-b(ork)580 b(are)i(not)g(deri)-39 b(v)-23 b(ed)581 b(from)h(the)f
-(Program,)g(and)h(can)g(be)f(reasonably)2760 35381 y(considered)562
-b(independent)h(and)g(separate)g(w)-15 b(orks)562 b(in)h(themselv)-23
-b(es,)562 b(then)h(this)g(License,)2760 37396 y(and)419
-b(its)g(terms,)g(do)h(not)f(apply)g(to)g(those)g(sections)g(when)g(you)
-g(distrib)-31 b(ute)419 b(them)f(as)i(sepa-)2760 39410
-y(rate)390 b(w)-15 b(orks.)390 b(But)f(when)h(you)g(distrib)-31
-b(ute)389 b(the)h(same)g(sections)f(as)h(part)g(of)g(a)h(whole)e(which)
-2760 41425 y(is)501 b(a)h(w)-15 b(ork)501 b(based)g(on)h(the)f
-(Program,)g(the)h(distrib)-31 b(ution)500 b(of)h(the)h(whole)f(must)g
-(be)h(on)f(the)2760 43440 y(terms)345 b(of)g(this)h(License,)f(whose)h
-(permissions)e(for)i(other)f(licensees)g(e)-23 b(xtend)345
-b(to)h(the)f(entire)2760 45454 y(whole,)387 b(and)g(thus)g(to)g(each)h
-(and)f(e)-39 b(v)-23 b(ery)387 b(part)h(re)-23 b(g)-8
-b(ardless)387 b(of)g(who)g(wrote)g(it.)-30 46565 y
-SDict begin H.S end
- -30
-46565 a -30 46565 a
-SDict begin 18.2 H.A end
- -30 46565 a -30 46565 a
-SDict begin [ /View [/XYZ H.V] /Dest (7122) cvn H.B /DEST pdfmark end
- -30 46565
-a 2760 48244 a FU(Thus,)429 b(it)g(is)g(not)g(the)g(intent)g(of)h(this)
-e(section)h(to)g(claim)g(rights)g(or)g(contest)g(your)g(rights)g(to)
-2760 50258 y(w)-15 b(ork)382 b(written)h(entirely)g(by)g(you;)f(rather)
--62 b(,)384 b(the)f(intent)g(is)g(to)g(e)-23 b(x)g(ercise)383
-b(the)g(right)f(to)h(control)2760 52273 y(the)k(distrib)-31
-b(ution)386 b(of)h(deri)-39 b(v)g(ati)g(v)-23 b(e)387
-b(or)h(collecti)-39 b(v)-23 b(e)386 b(w)-15 b(orks)387
-b(based)g(on)g(the)g(Program.)-30 53383 y
-SDict begin H.S end
- -30 53383 a
--30 53383 a
-SDict begin 18.2 H.A end
- -30 53383 a -30 53383 a
-SDict begin [ /View [/XYZ H.V] /Dest (7123) cvn H.B /DEST pdfmark end
- -30 53383 a 2760
-55063 a FU(In)476 b(addition,)h(mere)f(aggre)-23 b(g)-8
-b(ation)476 b(of)h(another)f(w)-15 b(ork)476 b(not)h(based)f(on)h(the)f
-(Program)g(with)2760 57077 y(the)481 b(Program)h(\(or)g(with)f(a)h(w)
--15 b(ork)481 b(based)h(on)f(the)h(Program\))f(on)h(a)g(v)-31
-b(olume)481 b(of)h(a)g(storage)2760 59092 y(or)516 b(distrib)-31
-b(ution)514 b(medium)h(does)g(not)h(bring)f(the)h(other)f(w)-15
-b(ork)516 b(under)f(the)h(scope)g(of)g(this)2760 61107
-y(License.)745 63896 y
-SDict begin H.S end
- 745 63896 a 745 63896 a
-SDict begin 18.2 H.A end
- 745 63896
-a 745 63896 a
-SDict begin [ /View [/XYZ H.V] /Dest (7124) cvn H.B /DEST pdfmark end
- 745 63896 a Black 1210 66686 a FU(4.)p
-Black 2760 66686 a
-SDict begin H.S end
- 2760 66686 a 2760 66686 a
-SDict begin 18.2 H.A end
- 2760 66686
-a 2760 66686 a
-SDict begin [ /View [/XYZ H.V] /Dest (7125) cvn H.B /DEST pdfmark end
- 2760 66686 a FU(Y)-170 b(ou)384 b(may)g(cop)-15
-b(y)385 b(and)f(distrib)-31 b(ute)384 b(the)h(Program)f(\(or)h(a)g(w)
--15 b(ork)384 b(based)h(on)g(it,)g(under)g(Section)p
-Black -30 73792 a FR(248)p Black eop end
-%%Page: 249 271
-TeXDict begin 249 270 bop -8000 -8000 a
-SDict begin /product where{pop product(Distiller)search{pop pop pop
-version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
-closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
-grestore}if}{pop}ifelse}{pop}ifelse}if end
- -8000 -8000 a
-Black 0 TeXcolorgray -30 -1237 a
-SDict begin H.S end
- -30 -1237 a 0 TeXcolorgray
-0 TeXcolorgray -30 -1237 a
-SDict begin H.R end
- -30 -1237 a -30 -1237 a
-SDict begin [ /View [/XYZ H.V] /Dest (page.249) cvn H.B /DEST pdfmark
-end
- -30
--1237 a Black 22832 -1636 a FR(Appendix)386 b(A.)i(The)f(GNU)g(Gener)
--23 b(al)387 b(Public)f(License)p Black 2760 3611 a FU(2\))404
-b(in)h(object)f(code)h(or)f(e)-23 b(x)g(ecutable)404
-b(form)h(under)f(the)h(terms)f(of)h(Sections)f(1)g(and)h(2)g(abo)-23
-b(v)g(e)2760 5626 y(pro)g(vided)386 b(that)h(you)g(also)g(do)g(one)h
-(of)f(the)g(follo)-39 b(wing:)-30 5961 y
-SDict begin H.S end
- -30 5961 a -30
-5961 a
-SDict begin 18.2 H.A end
- -30 5961 a -30 5961 a
-SDict begin [ /View [/XYZ H.V] /Dest (7126) cvn H.B /DEST pdfmark end
- -30 5961 a -30 5961 a
-SDict begin H.S end
- -30
-5961 a -30 5961 a
-SDict begin 18.2 H.A end
- -30 5961 a -30 5961 a
-SDict begin [ /View [/XYZ H.V] /Dest (7127) cvn H.B /DEST pdfmark end
- -30 5961 a Black
-4086 8415 a FU(a.)p Black 5549 8415 a
-SDict begin H.S end
- 5549 8415 a 5549
-8415 a
-SDict begin 18.2 H.A end
- 5549 8415 a 5549 8415 a
-SDict begin [ /View [/XYZ H.V] /Dest (7128) cvn H.B /DEST pdfmark end
- 5549 8415 a FU(Accompan)-23
-b(y)520 b(it)g(with)g(the)g(complete)g(corresponding)f
-(machine-readable)h(source)5549 10430 y(code,)400 b(which)g(must)f(be)h
-(distrib)-31 b(uted)399 b(under)g(the)h(terms)f(of)h(Sections)f(1)h
-(and)g(2)g(abo)-23 b(v)g(e)5549 12445 y(on)387 b(a)h(medium)e
-(customarily)h(used)g(for)g(softw)-15 b(are)387 b(interchange;)f(or)-62
-b(,)-30 12780 y
-SDict begin H.S end
- -30 12780 a -30 12780 a
-SDict begin 18.2 H.A end
- -30 12780 a -30
-12780 a
-SDict begin [ /View [/XYZ H.V] /Dest (7129) cvn H.B /DEST pdfmark end
- -30 12780 a Black 4061 15234 a FU(b)g(.)p Black
-5549 15234 a
-SDict begin H.S end
- 5549 15234 a 5549 15234 a
-SDict begin 18.2 H.A end
- 5549 15234 a 5549
-15234 a
-SDict begin [ /View [/XYZ H.V] /Dest (7130) cvn H.B /DEST pdfmark end
- 5549 15234 a FU(Accompan)-23 b(y)368 b(it)g(with)g(a)g(written)
-g(of)-39 b(fer)-62 b(,)370 b(v)-39 b(alid)368 b(for)g(at)h(least)f
-(three)g(years,)h(to)f(gi)-39 b(v)-23 b(e)368 b(an)-23
-b(y)5549 17249 y(third)488 b(party)-101 b(,)489 b(for)g(a)g(char)-28
-b(ge)489 b(no)f(more)g(than)h(your)f(cost)g(of)h(ph)-8
-b(ysically)488 b(performing)5549 19264 y(source)464 b(distrib)-31
-b(ution,)462 b(a)i(complete)f(machine-readable)g(cop)-15
-b(y)463 b(of)h(the)f(correspond-)5549 21278 y(ing)340
-b(source)h(code,)g(to)f(be)h(distrib)-31 b(uted)339 b(under)i(the)f
-(terms)h(of)f(Sections)g(1)g(and)h(2)g(abo)-23 b(v)g(e)5549
-23293 y(on)387 b(a)h(medium)e(customarily)h(used)g(for)g(softw)-15
-b(are)387 b(interchange;)f(or)-62 b(,)-30 23628 y
-SDict begin H.S end
- -30
-23628 a -30 23628 a
-SDict begin 18.2 H.A end
- -30 23628 a -30 23628 a
-SDict begin [ /View [/XYZ H.V] /Dest (7131) cvn H.B /DEST pdfmark end
- -30 23628
-a Black 4086 26082 a FU(c.)p Black 5549 26082 a
-SDict begin H.S end
- 5549
-26082 a 5549 26082 a
-SDict begin 18.2 H.A end
- 5549 26082 a 5549 26082 a
-SDict begin [ /View [/XYZ H.V] /Dest (7132) cvn H.B /DEST pdfmark end
- 5549 26082
-a FU(Accompan)-23 b(y)335 b(it)g(with)h(the)f(information)g(you)g
-(recei)-39 b(v)-23 b(ed)336 b(as)f(to)h(the)f(of)-39
-b(fer)337 b(to)e(distrib)-31 b(ute)5549 28097 y(corresponding)475
-b(source)g(code.)h(\(This)e(alternati)-39 b(v)-23 b(e)475
-b(is)g(allo)-39 b(wed)475 b(only)g(for)h(noncom-)5549
-30112 y(mercial)388 b(distrib)-31 b(ution)386 b(and)i(only)g(if)g(you)f
-(recei)-39 b(v)-23 b(ed)388 b(the)g(program)g(in)f(object)h(code)g(or)
-5549 32126 y(e)-23 b(x)g(ecutable)387 b(form)g(with)g(such)g(an)g(of)
--39 b(fer)-62 b(,)388 b(in)g(accord)f(with)g(Subsection)f(b)h(abo)-23
-b(v)g(e.\))-30 33179 y
-SDict begin H.S end
- -30 33179 a -30 33179 a
-SDict begin 18.2 H.A end
- -30 33179
-a -30 33179 a
-SDict begin [ /View [/XYZ H.V] /Dest (7133) cvn H.B /DEST pdfmark end
- -30 33179 a 2760 34916 a FU(The)472 b(source)h(code)f
-(for)h(a)f(w)-15 b(ork)472 b(means)h(the)f(preferred)h(form)f(of)h(the)
-f(w)-15 b(ork)472 b(for)h(making)2760 36931 y(modi\002cations)359
-b(to)j(it.)f(F)-23 b(or)361 b(an)h(e)-23 b(x)g(ecutable)361
-b(w)-15 b(ork,)361 b(complete)g(source)g(code)h(means)f(all)g(the)2760
-38945 y(source)409 b(code)h(for)g(all)f(modules)g(it)h(contains,)f
-(plus)g(an)-23 b(y)410 b(associated)f(interf)-15 b(ace)409
-b(de\002nition)2760 40960 y(\002les,)562 b(plus)g(the)g(scripts)g(used)
-g(to)g(control)g(compilation)f(and)h(installation)f(of)h(the)g(e)-23
-b(x)g(e-)2760 42975 y(cutable.)473 b(Ho)-39 b(we)g(v)-23
-b(er)-62 b(,)474 b(as)f(a)h(special)f(e)-23 b(xception,)472
-b(the)i(source)f(code)g(distrib)-31 b(uted)472 b(need)h(not)2760
-44989 y(include)492 b(an)-23 b(ything)492 b(that)h(is)g(normally)f
-(distrib)-31 b(uted)492 b(\(in)h(either)g(source)g(or)g(binary)g
-(form\))2760 47004 y(with)453 b(the)h(major)g(components)f(\(compiler)
--62 b(,)454 b(k)-15 b(ernel,)454 b(and)g(so)g(on\))g(of)g(the)g
-(operating)f(sys-)2760 49019 y(tem)339 b(on)h(which)g(the)g(e)-23
-b(x)g(ecutable)339 b(runs,)h(unless)f(that)h(component)f(itself)h
-(accompanies)f(the)2760 51033 y(e)-23 b(x)g(ecutable.)-30
-51824 y
-SDict begin H.S end
- -30 51824 a -30 51824 a
-SDict begin 18.2 H.A end
- -30 51824 a -30 51824
-a
-SDict begin [ /View [/XYZ H.V] /Dest (7134) cvn H.B /DEST pdfmark end
- -30 51824 a 2760 53823 a FU(If)457 b(distrib)-31 b(ution)455
-b(of)h(e)-23 b(x)g(ecutable)456 b(or)h(object)f(code)h(is)g(made)f(by)h
-(of)-39 b(fering)456 b(access)h(to)g(cop)-15 b(y)2760
-55837 y(from)333 b(a)h(designated)f(place,)h(then)f(of)-39
-b(fering)334 b(equi)-39 b(v)g(alent)333 b(access)h(to)f(cop)-15
-b(y)333 b(the)g(source)h(code)2760 57852 y(from)350 b(the)h(same)g
-(place)f(counts)h(as)g(distrib)-31 b(ution)349 b(of)i(the)f(source)h
-(code,)g(e)-39 b(v)-23 b(en)351 b(though)f(third)2760
-59867 y(parties)387 b(are)g(not)g(compelled)g(to)g(cop)-15
-b(y)387 b(the)g(source)g(along)g(with)g(the)g(object)g(code.)745
-62656 y
-SDict begin H.S end
- 745 62656 a 745 62656 a
-SDict begin 18.2 H.A end
- 745 62656 a 745 62656
-a
-SDict begin [ /View [/XYZ H.V] /Dest (7135) cvn H.B /DEST pdfmark end
- 745 62656 a Black 1210 65446 a FU(5.)p Black 2760 65446
-a
-SDict begin H.S end
- 2760 65446 a 2760 65446 a
-SDict begin 18.2 H.A end
- 2760 65446 a 2760 65446 a
-SDict begin [ /View [/XYZ H.V] /Dest (7136) cvn H.B /DEST pdfmark end
-
-2760 65446 a FU(Y)-170 b(ou)446 b(may)g(not)h(cop)-15
-b(y)-101 b(,)447 b(modify)-101 b(,)447 b(sublicense,)f(or)h(distrib)-31
-b(ute)446 b(the)g(Program)h(e)-23 b(xcept)446 b(as)h(e)-23
-b(x-)2760 67461 y(pressly)558 b(pro)-23 b(vided)558 b(under)h(this)g
-(License.)g(An)-23 b(y)558 b(attempt)h(otherwise)f(to)h(cop)-15
-b(y)-101 b(,)559 b(modify)-101 b(,)p Black 49451 73792
-a FR(249)p Black eop end
-%%Page: 250 272
-TeXDict begin 250 271 bop -8000 -8000 a
-SDict begin /product where{pop product(Distiller)search{pop pop pop
-version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
-closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
-grestore}if}{pop}ifelse}{pop}ifelse}if end
- -8000 -8000 a
-Black 0 TeXcolorgray -30 -1237 a
-SDict begin H.S end
- -30 -1237 a 0 TeXcolorgray
-0 TeXcolorgray -30 -1237 a
-SDict begin H.R end
- -30 -1237 a -30 -1237 a
-SDict begin [ /View [/XYZ H.V] /Dest (page.250) cvn H.B /DEST pdfmark
-end
- -30
--1237 a Black -399 x FR(Appendix)387 b(A.)h(The)f(GNU)g(Gener)-23
-b(al)386 b(Public)h(License)p Black 2760 3611 a FU(sublicense)512
-b(or)h(distrib)-31 b(ute)511 b(the)i(Program)f(is)h(v)-31
-b(oid,)513 b(and)g(will)f(automatically)g(terminate)2760
-5626 y(your)478 b(rights)h(under)f(this)h(License.)g(Ho)-39
-b(we)g(v)-23 b(er)-62 b(,)479 b(parties)g(who)f(ha)-31
-b(v)-23 b(e)479 b(recei)-39 b(v)-23 b(ed)479 b(copies,)g(or)2760
-7640 y(rights,)512 b(from)h(you)g(under)g(this)f(License)h(will)f(not)h
-(ha)-31 b(v)-23 b(e)513 b(their)f(licenses)h(terminated)f(so)2760
-9655 y(long)387 b(as)g(such)g(parties)g(remain)g(in)g(full)g
-(compliance.)-30 9991 y
-SDict begin H.S end
- -30 9991 a -30 9991 a
-SDict begin 18.2 H.A end
- -30 9991
-a -30 9991 a
-SDict begin [ /View [/XYZ H.V] /Dest (7137) cvn H.B /DEST pdfmark end
- -30 9991 a Black 1210 12445 a FU(6.)p Black
-2760 12445 a
-SDict begin H.S end
- 2760 12445 a 2760 12445 a
-SDict begin 18.2 H.A end
- 2760 12445 a 2760
-12445 a
-SDict begin [ /View [/XYZ H.V] /Dest (7138) cvn H.B /DEST pdfmark end
- 2760 12445 a FU(Y)-170 b(ou)408 b(are)h(not)f(required)h(to)f
-(accept)h(this)g(License,)g(since)f(you)h(ha)-31 b(v)-23
-b(e)408 b(not)h(signed)f(it.)h(Ho)-39 b(w-)2760 14459
-y(e)g(v)-23 b(er)-62 b(,)545 b(nothing)g(else)g(grants)f(you)h
-(permission)f(to)h(modify)f(or)i(distrib)-31 b(ute)544
-b(the)h(Program)2760 16474 y(or)516 b(its)g(deri)-39
-b(v)g(ati)g(v)-23 b(e)516 b(w)-15 b(orks.)516 b(These)h(actions)e(are)i
-(prohibited)f(by)g(la)-23 b(w)516 b(if)g(you)g(do)h(not)f(ac-)2760
-18489 y(cept)438 b(this)g(License.)h(Therefore,)g(by)f(modifying)f(or)i
-(distrib)-31 b(uting)437 b(the)h(Program)g(\(or)g(an)-23
-b(y)2760 20503 y(w)-15 b(ork)357 b(based)i(on)f(the)g(Program\),)g(you)
-g(indicate)g(your)g(acceptance)h(of)f(this)g(License)g(to)g(do)2760
-22518 y(so,)494 b(and)g(all)g(its)f(terms)h(and)g(conditions)e(for)j
-(cop)-15 b(ying,)493 b(distrib)-31 b(uting)492 b(or)i(modifying)f(the)
-2760 24533 y(Program)386 b(or)i(w)-15 b(orks)386 b(based)h(on)h(it.)-30
-24868 y
-SDict begin H.S end
- -30 24868 a -30 24868 a
-SDict begin 18.2 H.A end
- -30 24868 a -30 24868
-a
-SDict begin [ /View [/XYZ H.V] /Dest (7139) cvn H.B /DEST pdfmark end
- -30 24868 a Black 1210 27322 a FU(7.)p Black 2760 27322
-a
-SDict begin H.S end
- 2760 27322 a 2760 27322 a
-SDict begin 18.2 H.A end
- 2760 27322 a 2760 27322 a
-SDict begin [ /View [/XYZ H.V] /Dest (7140) cvn H.B /DEST pdfmark end
-
-2760 27322 a FU(Each)514 b(time)g(you)g(redistrib)-31
-b(ute)514 b(the)g(Program)g(\(or)h(an)-23 b(y)514 b(w)-15
-b(ork)514 b(based)g(on)h(the)f(Program\),)2760 29337
-y(the)375 b(recipient)g(automatically)g(recei)-39 b(v)-23
-b(es)375 b(a)h(license)g(from)f(the)g(original)g(licensor)h(to)f(cop)
--15 b(y)-101 b(,)2760 31352 y(distrib)-31 b(ute)579 b(or)i(modify)f
-(the)g(Program)g(subject)g(to)h(these)f(terms)g(and)h(conditions.)f(Y)
--170 b(ou)2760 33366 y(may)403 b(not)g(impose)f(an)-23
-b(y)403 b(further)h(restrictions)e(on)h(the)g(recipients')g(e)-23
-b(x)g(ercise)403 b(of)g(the)h(rights)2760 35381 y(granted)440
-b(herein.)h(Y)-170 b(ou)440 b(are)h(not)f(responsible)f(for)i
-(enforcing)f(compliance)g(by)h(third)f(par)-31 b(-)2760
-37396 y(ties)387 b(to)g(this)g(License.)-30 37411 y
-SDict begin H.S end
- -30
-37411 a -30 37411 a
-SDict begin 18.2 H.A end
- -30 37411 a -30 37411 a
-SDict begin [ /View [/XYZ H.V] /Dest (7141) cvn H.B /DEST pdfmark end
- -30 37411
-a Black 1210 40185 a FU(8.)p Black 2760 40185 a
-SDict begin H.S end
- 2760
-40185 a 2760 40185 a
-SDict begin 18.2 H.A end
- 2760 40185 a 2760 40185 a
-SDict begin [ /View [/XYZ H.V] /Dest (7142) cvn H.B /DEST pdfmark end
- 2760 40185
-a FU(If,)519 b(as)g(a)f(consequence)h(of)f(a)h(court)g(judgment)e(or)i
-(alle)-23 b(g)-8 b(ation)518 b(of)h(patent)f(infringement)2760
-42200 y(or)532 b(for)g(an)-23 b(y)531 b(other)h(reason)g(\(not)g
-(limited)f(to)g(patent)h(issues\),)g(conditions)f(are)h(imposed)2760
-44214 y(on)600 b(you)f(\(whether)h(by)g(court)g(order)-62
-b(,)600 b(agreement)g(or)g(otherwise\))g(that)g(contradict)f(the)2760
-46229 y(conditions)478 b(of)h(this)g(License,)g(the)-23
-b(y)479 b(do)h(not)f(e)-23 b(xcuse)479 b(you)g(from)g(the)g(conditions)
-f(of)h(this)2760 48244 y(License.)315 b(If)h(you)f(cannot)g(distrib)-31
-b(ute)314 b(so)h(as)h(to)f(satisfy)f(simultaneously)g(your)h(oblig)-8
-b(ations)2760 50258 y(under)495 b(this)f(License)h(and)h(an)-23
-b(y)494 b(other)h(pertinent)g(oblig)-8 b(ations,)495
-b(then)g(as)g(a)g(consequence)2760 52273 y(you)328 b(may)g(not)h
-(distrib)-31 b(ute)327 b(the)i(Program)f(at)h(all.)f(F)-23
-b(or)329 b(e)-23 b(xample,)328 b(if)h(a)f(patent)h(license)f(w)-15
-b(ould)2760 54288 y(not)490 b(permit)g(ro)-15 b(yalty-free)489
-b(redistrib)-31 b(ution)489 b(of)i(the)f(Program)g(by)g(all)h(those)f
-(who)g(recei)-39 b(v)-23 b(e)2760 56302 y(copies)487
-b(directly)h(or)g(indirectly)g(through)f(you,)i(then)e(the)i(only)e(w)
--15 b(ay)488 b(you)g(could)g(satisfy)2760 58317 y(both)568
-b(it)h(and)f(this)h(License)f(w)-15 b(ould)568 b(be)h(to)g(refrain)g
-(entirely)f(from)h(distrib)-31 b(ution)567 b(of)i(the)2760
-60332 y(Program.)-30 61442 y
-SDict begin H.S end
- -30 61442 a -30 61442 a
-SDict begin 18.2 H.A end
-
--30 61442 a -30 61442 a
-SDict begin [ /View [/XYZ H.V] /Dest (7143) cvn H.B /DEST pdfmark end
- -30 61442 a 2760 63121 a FU(If)372
-b(an)-23 b(y)371 b(portion)g(of)h(this)f(section)g(is)g(held)h(in)-62
-b(v)-39 b(alid)371 b(or)h(unenforceable)f(under)h(an)-23
-b(y)371 b(particu-)2760 65136 y(lar)390 b(circumstance,)g(the)g
-(balance)g(of)g(the)g(section)g(is)g(intended)g(to)g(apply)f(and)h(the)
-g(section)2760 67151 y(as)d(a)h(whole)e(is)i(intended)e(to)h(apply)g
-(in)g(other)h(circumstances.)p Black -30 73792 a FR(250)p
-Black eop end
-%%Page: 251 273
-TeXDict begin 251 272 bop -8000 -8000 a
-SDict begin /product where{pop product(Distiller)search{pop pop pop
-version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
-closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
-grestore}if}{pop}ifelse}{pop}ifelse}if end
- -8000 -8000 a
-Black 0 TeXcolorgray -30 -1237 a
-SDict begin H.S end
- -30 -1237 a 0 TeXcolorgray
-0 TeXcolorgray -30 -1237 a
-SDict begin H.R end
- -30 -1237 a -30 -1237 a
-SDict begin [ /View [/XYZ H.V] /Dest (page.251) cvn H.B /DEST pdfmark
-end
- -30
--1237 a Black 22832 -1636 a FR(Appendix)386 b(A.)i(The)f(GNU)g(Gener)
--23 b(al)387 b(Public)f(License)p Black -30 2504 a
-SDict begin H.S end
- -30
-2504 a -30 2504 a
-SDict begin 18.2 H.A end
- -30 2504 a -30 2504 a
-SDict begin [ /View [/XYZ H.V] /Dest (7144) cvn H.B /DEST pdfmark end
- -30 2504 a 2760
-3611 a FU(It)577 b(is)g(not)h(the)f(purpose)g(of)h(this)f(section)g(to)
-g(induce)g(you)g(to)h(infringe)f(an)-23 b(y)577 b(patents)g(or)2760
-5626 y(other)351 b(property)g(right)g(claims)g(or)g(to)g(contest)g(v)
--39 b(alidity)351 b(of)h(an)-23 b(y)351 b(such)g(claims;)g(this)f
-(section)2760 7640 y(has)410 b(the)g(sole)g(purpose)g(of)h(protecting)f
-(the)g(inte)-23 b(grity)409 b(of)i(the)f(free)h(softw)-15
-b(are)410 b(distrib)-31 b(ution)2760 9655 y(system,)518
-b(which)h(is)g(implemented)f(by)h(public)f(license)h(practices.)g(Man)
--23 b(y)518 b(people)h(ha)-31 b(v)-23 b(e)2760 11670
-y(made)432 b(generous)h(contrib)-31 b(utions)432 b(to)h(the)f(wide)h
-(range)g(of)g(softw)-15 b(are)433 b(distrib)-31 b(uted)432
-b(through)2760 13684 y(that)481 b(system)g(in)g(reliance)h(on)f
-(consistent)g(application)g(of)g(that)h(system;)e(it)i(is)f(up)h(to)f
-(the)2760 15699 y(author/donor)397 b(to)i(decide)f(if)g(he)h(or)g(she)f
-(is)g(willing)g(to)g(distrib)-31 b(ute)398 b(softw)-15
-b(are)397 b(through)h(an)-23 b(y)2760 17714 y(other)387
-b(system)f(and)i(a)f(licensee)g(cannot)g(impose)g(that)g(choice.)-30
-18824 y
-SDict begin H.S end
- -30 18824 a -30 18824 a
-SDict begin 18.2 H.A end
- -30 18824 a -30 18824
-a
-SDict begin [ /View [/XYZ H.V] /Dest (7145) cvn H.B /DEST pdfmark end
- -30 18824 a 2760 20503 a FU(This)413 b(section)g(is)h(intended)f(to)g
-(mak)-15 b(e)414 b(thoroughly)e(clear)i(what)g(is)f(belie)-39
-b(v)-23 b(ed)414 b(to)f(be)h(a)g(con-)2760 22518 y(sequence)387
-b(of)g(the)g(rest)h(of)f(this)g(License.)745 25308 y
-SDict begin H.S end
-
-745 25308 a 745 25308 a
-SDict begin 18.2 H.A end
- 745 25308 a 745 25308 a
-SDict begin [ /View [/XYZ H.V] /Dest (7146) cvn H.B /DEST pdfmark end
- 745 25308
-a Black 1210 28097 a FU(9.)p Black 2760 28097 a
-SDict begin H.S end
- 2760
-28097 a 2760 28097 a
-SDict begin 18.2 H.A end
- 2760 28097 a 2760 28097 a
-SDict begin [ /View [/XYZ H.V] /Dest (7147) cvn H.B /DEST pdfmark end
- 2760 28097
-a FU(If)376 b(the)g(distrib)-31 b(ution)374 b(and/or)h(use)h(of)g(the)g
-(Program)f(is)h(restricted)f(in)h(certain)g(countries)f(ei-)2760
-30112 y(ther)434 b(by)f(patents)h(or)g(by)f(cop)-15 b(yrighted)433
-b(interf)-15 b(aces,)434 b(the)g(original)f(cop)-15 b(yright)433
-b(holder)g(who)2760 32126 y(places)420 b(the)g(Program)f(under)h(this)g
-(License)g(may)g(add)g(an)g(e)-23 b(xplicit)419 b(geographical)h
-(distri-)2760 34141 y(b)-31 b(ution)307 b(limitation)f(e)-23
-b(xcluding)307 b(those)h(countries,)g(so)f(that)h(distrib)-31
-b(ution)307 b(is)g(permitted)g(only)2760 36156 y(in)349
-b(or)g(among)g(countries)f(not)h(thus)g(e)-23 b(xcluded.)349
-b(In)g(such)g(case,)h(this)f(License)g(incorporates)2760
-38170 y(the)387 b(limitation)f(as)h(if)g(written)g(in)g(the)g(body)g
-(of)h(this)f(License.)-30 38506 y
-SDict begin H.S end
- -30 38506 a -30 38506
-a
-SDict begin 18.2 H.A end
- -30 38506 a -30 38506 a
-SDict begin [ /View [/XYZ H.V] /Dest (7148) cvn H.B /DEST pdfmark end
- -30 38506 a Black 435 40960
-a FU(10.)p Black 2760 40960 a
-SDict begin H.S end
- 2760 40960 a 2760 40960
-a
-SDict begin 18.2 H.A end
- 2760 40960 a 2760 40960 a
-SDict begin [ /View [/XYZ H.V] /Dest (7149) cvn H.B /DEST pdfmark end
- 2760 40960 a FU(The)430 b(Free)h(Softw)-15
-b(are)429 b(F)-23 b(oundation)429 b(may)i(publish)e(re)-39
-b(vised)431 b(and/or)f(ne)-39 b(w)431 b(v)-23 b(ersions)429
-b(of)i(the)2760 42975 y(General)388 b(Public)f(License)g(from)h(time)f
-(to)h(time.)g(Such)g(ne)-39 b(w)388 b(v)-23 b(ersions)387
-b(will)g(be)h(similar)f(in)2760 44989 y(spirit)370 b(to)i(the)f
-(present)g(v)-23 b(ersion,)371 b(b)-31 b(ut)372 b(may)f(dif)-39
-b(fer)372 b(in)f(detail)g(to)g(address)h(ne)-39 b(w)371
-b(problems)g(or)2760 47004 y(concerns.)-30 47794 y
-SDict begin H.S end
- -30
-47794 a -30 47794 a
-SDict begin 18.2 H.A end
- -30 47794 a -30 47794 a
-SDict begin [ /View [/XYZ H.V] /Dest (7150) cvn H.B /DEST pdfmark end
- -30 47794
-a 2760 49793 a FU(Each)392 b(v)-23 b(ersion)391 b(is)h(gi)-39
-b(v)-23 b(en)392 b(a)h(distinguishing)d(v)-23 b(ersion)391
-b(number)-85 b(.)392 b(If)h(the)f(Program)g(speci\002es)2760
-51808 y(a)330 b(v)-23 b(ersion)330 b(number)g(of)g(this)g(License)g
-(which)g(applies)f(to)i(it)f(and)37189 51808 y
-SDict begin H.S end
- 37189
-51808 a 37189 51808 a
-SDict begin 18.2 H.A end
- 37189 51808 a 37189 51808 a
-SDict begin [ /View [/XYZ H.V] /Dest (7151) cvn H.B /DEST pdfmark end
- 37189
-51808 a FU(\223an)-23 b(y)330 b(later)g(v)-23 b(ersion\224,)330
-b(you)2760 53823 y(ha)-31 b(v)-23 b(e)461 b(the)h(option)f(of)g(follo)
--39 b(wing)461 b(the)h(terms)f(and)h(conditions)e(either)i(of)g(that)f
-(v)-23 b(ersion)461 b(or)2760 55837 y(of)393 b(an)-23
-b(y)394 b(later)g(v)-23 b(ersion)393 b(published)f(by)i(the)g(Free)f
-(Softw)-15 b(are)393 b(F)-23 b(oundation.)393 b(If)h(the)g(Program)2760
-57852 y(does)382 b(not)f(specify)h(a)h(v)-23 b(ersion)381
-b(number)h(of)g(this)g(License,)g(you)g(may)g(choose)g(an)-23
-b(y)382 b(v)-23 b(ersion)2760 59867 y(e)-39 b(v)-23 b(er)387
-b(published)g(by)g(the)g(Free)g(Softw)-15 b(are)387 b(F)-23
-b(oundation.)745 62656 y
-SDict begin H.S end
- 745 62656 a 745 62656 a
-SDict begin 18.2 H.A end
- 745
-62656 a 745 62656 a
-SDict begin [ /View [/XYZ H.V] /Dest (7152) cvn H.B /DEST pdfmark end
- 745 62656 a Black 435 65446 a FU(11.)p
-Black 2760 65446 a
-SDict begin H.S end
- 2760 65446 a 2760 65446 a
-SDict begin 18.2 H.A end
- 2760 65446
-a 2760 65446 a
-SDict begin [ /View [/XYZ H.V] /Dest (7153) cvn H.B /DEST pdfmark end
- 2760 65446 a FU(If)393 b(you)h(wish)f(to)g(incorporate)g
-(parts)g(of)h(the)f(Program)g(into)g(other)g(free)h(programs)f(whose)
-2760 67461 y(distrib)-31 b(ution)485 b(conditions)g(are)i(dif)-39
-b(ferent,)487 b(write)g(to)f(the)h(author)f(to)g(ask)h(for)g
-(permission.)p Black 49451 73792 a FR(251)p Black eop
-end
-%%Page: 252 274
-TeXDict begin 252 273 bop -8000 -8000 a
-SDict begin /product where{pop product(Distiller)search{pop pop pop
-version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
-closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
-grestore}if}{pop}ifelse}{pop}ifelse}if end
- -8000 -8000 a
-Black 0 TeXcolorgray -30 -1237 a
-SDict begin H.S end
- -30 -1237 a 0 TeXcolorgray
-0 TeXcolorgray -30 -1237 a
-SDict begin H.R end
- -30 -1237 a -30 -1237 a
-SDict begin [ /View [/XYZ H.V] /Dest (page.252) cvn H.B /DEST pdfmark
-end
- -30
--1237 a Black -399 x FR(Appendix)387 b(A.)h(The)f(GNU)g(Gener)-23
-b(al)386 b(Public)h(License)p Black 2760 3611 a FU(F)-23
-b(or)523 b(softw)-15 b(are)524 b(which)f(is)h(cop)-15
-b(yrighted)523 b(by)h(the)g(Free)g(Softw)-15 b(are)523
-b(F)-23 b(oundation,)523 b(write)h(to)2760 5626 y(the)374
-b(Free)g(Softw)-15 b(are)373 b(F)-23 b(oundation;)372
-b(we)i(sometimes)f(mak)-15 b(e)374 b(e)-23 b(xceptions)373
-b(for)h(this.)g(Our)g(de-)2760 7640 y(cision)358 b(will)g(be)g(guided)g
-(by)h(the)f(tw)-15 b(o)358 b(goals)g(of)h(preserving)f(the)h(free)g
-(status)e(of)i(all)g(deri)-39 b(v)g(a-)2760 9655 y(ti)g(v)-23
-b(es)499 b(of)i(our)f(free)g(softw)-15 b(are)500 b(and)g(of)g
-(promoting)f(the)h(sharing)g(and)g(reuse)g(of)h(softw)-15
-b(are)2760 11670 y(generally)-101 b(.)-30 12005 y
-SDict begin H.S end
- -30
-12005 a -30 12005 a
-SDict begin 18.2 H.A end
- -30 12005 a -30 12005 a
-SDict begin [ /View [/XYZ H.V] /Dest (7154) cvn H.B /DEST pdfmark end
- -30 12005
-a Black 435 14459 a FU(12.)p Black 2760 14459 a
-SDict begin H.S end
- 2760
-14459 a 2760 14459 a
-SDict begin 18.2 H.A end
- 2760 14459 a 2760 14459 a
-SDict begin [ /View [/XYZ H.V] /Dest (7155) cvn H.B /DEST pdfmark end
- 2760 14459
-a FU(NO)387 b(W)-186 b(ARRANTY)-30 15250 y
-SDict begin H.S end
- -30 15250
-a -30 15250 a
-SDict begin 18.2 H.A end
- -30 15250 a -30 15250 a
-SDict begin [ /View [/XYZ H.V] /Dest (7156) cvn H.B /DEST pdfmark end
- -30 15250 a 2760
-17249 a FU(BECA)-85 b(USE)405 b(THE)h(PR)-62 b(OGRAM)405
-b(IS)i(LICENSED)e(FREE)h(OF)g(CHARGE,)g(THERE)g(IS)2760
-19264 y(NO)527 b(W)-186 b(ARRANTY)527 b(FOR)h(THE)f(PR)-62
-b(OGRAM,)527 b(T)-28 b(O)528 b(THE)g(EXTENT)f(PERMITTED)2760
-21278 y(BY)367 b(APPLICABLE)f(LA)-139 b(W)c(.)369 b(EXCEPT)e(WHEN)g(O)
--62 b(THER)-85 b(WISE)367 b(ST)-144 b(A)-172 b(TED)367
-b(IN)h(WRIT)-143 b(-)2760 23293 y(ING)509 b(THE)g(COPYRIGHT)g(HOLDERS)f
-(AND/OR)h(O)-62 b(THER)509 b(P)-143 b(AR)-93 b(TIES)508
-b(PR)-62 b(O)-77 b(VIDE)2760 25308 y(THE)676 b(PR)-62
-b(OGRAM)14728 25308 y
-SDict begin H.S end
- 14728 25308 a 14728 25308 a
-SDict begin 18.2 H.A end
- 14728
-25308 a 14728 25308 a
-SDict begin [ /View [/XYZ H.V] /Dest (7157) cvn H.B /DEST pdfmark end
- 14728 25308 a FU(\223AS)677 b(IS\224)g(WITHOUT)g
-(W)-186 b(ARRANTY)676 b(OF)g(ANY)h(KIND,)h(EI-)2760 27322
-y(THER)431 b(EXPRESSED)e(OR)i(IMPLIED,)h(INCLUDING,)f(B)-15
-b(UT)430 b(NO)-62 b(T)432 b(LIMITED)e(T)-28 b(O,)2760
-29337 y(THE)591 b(IMPLIED)f(W)-186 b(ARRANTIES)590 b(OF)g(MERCHANT)-144
-b(ABILITY)589 b(AND)i(FITNESS)2760 31352 y(FOR)436 b(A)h(P)-143
-b(AR)-93 b(TICULAR)436 b(PURPOSE.)g(THE)h(ENTIRE)g(RISK)g(AS)f(T)-28
-b(O)438 b(THE)f(Q)-15 b(U)-62 b(AL-)2760 33366 y(ITY)402
-b(AND)h(PERFORMANCE)d(OF)j(THE)f(PR)-62 b(OGRAM)402 b(IS)g(WITH)h(Y)-46
-b(OU.)403 b(SHOULD)2760 35381 y(THE)341 b(PR)-62 b(OGRAM)340
-b(PR)-62 b(O)-77 b(VE)340 b(DEFECTIVE,)h(Y)-46 b(OU)341
-b(ASSUME)f(THE)h(COST)g(OF)g(ALL)2760 37396 y(NECESSAR)-101
-b(Y)386 b(SER)-124 b(VICING,)386 b(REP)-143 b(AIR)387
-b(OR)g(CORRECTION.)745 40185 y
-SDict begin H.S end
- 745 40185 a 745 40185
-a
-SDict begin 18.2 H.A end
- 745 40185 a 745 40185 a
-SDict begin [ /View [/XYZ H.V] /Dest (7158) cvn H.B /DEST pdfmark end
- 745 40185 a Black 435 42975
-a FU(13.)p Black 2760 42975 a
-SDict begin H.S end
- 2760 42975 a 2760 42975
-a
-SDict begin 18.2 H.A end
- 2760 42975 a 2760 42975 a
-SDict begin [ /View [/XYZ H.V] /Dest (7159) cvn H.B /DEST pdfmark end
- 2760 42975 a FU(IN)1164 b(NO)f(EVENT)h
-(UNLESS)f(REQ)-15 b(UIRED)1162 b(BY)i(APPLICABLE)e(LA)-139
-b(W)1163 b(OR)2760 44989 y(A)-62 b(GREED)935 b(T)-28
-b(O)935 b(IN)h(WRITING)f(WILL)h(ANY)f(COPYRIGHT)f(HOLDER,)i(OR)2760
-47004 y(ANY)785 b(O)-62 b(THER)785 b(P)-143 b(AR)-93
-b(TY)786 b(WHO)f(MA)-163 b(Y)786 b(MODIFY)f(AND/OR)g(REDISTRIB)-15
-b(UTE)2760 49019 y(THE)691 b(PR)-62 b(OGRAM)690 b(AS)i(PERMITTED)e(ABO)
--77 b(VE,)691 b(BE)h(LIABLE)f(T)-28 b(O)692 b(Y)-46 b(OU)691
-b(FOR)2760 51033 y(D)-62 b(AMA)g(GES,)1119 b(INCLUDING)f(ANY)h
-(GENERAL,)g(SPECIAL,)g(INCIDENT)-144 b(AL)2760 53048
-y(OR)860 b(CONSEQ)-15 b(UENTIAL)859 b(D)-62 b(AMA)g(GES)860
-b(ARISING)g(OUT)g(OF)g(THE)h(USE)f(OR)2760 55063 y(IN)-54
-b(ABILITY)494 b(T)-28 b(O)494 b(USE)h(THE)f(PR)-62 b(OGRAM)494
-b(\(INCLUDING)g(B)-15 b(UT)494 b(NO)-62 b(T)494 b(LIMITED)2760
-57077 y(T)-28 b(O)706 b(LOSS)f(OF)h(D)-62 b(A)-172 b(T)-144
-b(A)705 b(OR)h(D)-62 b(A)-172 b(T)-144 b(A)705 b(BEING)h(RENDERED)f(IN)
--54 b(A)-62 b(CCURA)-172 b(TE)704 b(OR)2760 59092 y(LOSSES)486
-b(SUST)-144 b(AINED)486 b(BY)h(Y)-46 b(OU)486 b(OR)h(THIRD)g(P)-143
-b(AR)-93 b(TIES)486 b(OR)h(A)h(F)-115 b(AILURE)486 b(OF)2760
-61107 y(THE)444 b(PR)-62 b(OGRAM)444 b(T)-28 b(O)444
-b(OPERA)-172 b(TE)444 b(WITH)h(ANY)f(O)-62 b(THER)445
-b(PR)-62 b(OGRAMS\),)443 b(EVEN)2760 63121 y(IF)624 b(SUCH)f(HOLDER)h
-(OR)g(O)-62 b(THER)623 b(P)-143 b(AR)-93 b(TY)624 b(HAS)g(BEEN)g(AD)-62
-b(VISED)623 b(OF)h(THE)2760 65136 y(POSSIBILITY)385 b(OF)i(SUCH)g(D)-62
-b(AMA)g(GES.)-30 65926 y
-SDict begin H.S end
- -30 65926 a -30 65926 a
-SDict begin 18.2 H.A end
- -30
-65926 a -30 65926 a
-SDict begin [ /View [/XYZ H.V] /Dest (7160) cvn H.B /DEST pdfmark end
- -30 65926 a 1999 x FU(END)387 b(OF)g(TERMS)f(AND)i
-(CONDITIONS)p Black -30 73792 a FR(252)p Black eop end
-%%Page: 253 275
-TeXDict begin 253 274 bop -8000 -8000 a
-SDict begin /product where{pop product(Distiller)search{pop pop pop
-version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
-closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
-grestore}if}{pop}ifelse}{pop}ifelse}if end
- -8000 -8000 a
-Black 0 TeXcolorgray -30 -1237 a
-SDict begin H.S end
- -30 -1237 a 0 TeXcolorgray
-0 TeXcolorgray -30 -1237 a
-SDict begin H.R end
- -30 -1237 a -30 -1237 a
-SDict begin [ /View [/XYZ H.V] /Dest (page.253) cvn H.B /DEST pdfmark
-end
- -30
--1237 a Black -30 -2687 a
-SDict begin H.S end
- -30 -2687 a -30 -2687 a
-SDict begin 18.2 H.A end
- -30
--2687 a -30 -2687 a
-SDict begin [ /View [/XYZ H.V] /Dest (7171) cvn H.B /DEST pdfmark end
- -30 -2687 a 22832 -1636 a FR(Appendix)386
-b(A.)i(The)f(GNU)g(Gener)-23 b(al)387 b(Public)f(License)p
-Black -30 2504 a
-SDict begin H.S end
- -30 2504 a -30 2504 a
-SDict begin 18.2 H.A end
- -30 2504 a -30
-2504 a
-SDict begin [ /View [/XYZ H.V] /Dest (7161) cvn H.B /DEST pdfmark end
- -30 2504 a 1107 x FE(Ho)-23 b(w)430 b(to)h(Appl)-23
-b(y)430 b(These)f(T)-93 b(erms)430 b(to)h(Y)-155 b(our)430
-b(Ne)-23 b(w)429 b(Pr)-31 b(ograms)-30 4731 y
-SDict begin H.S end
- -30 4731
-a -30 4731 a
-SDict begin 18.2 H.A end
- -30 4731 a -30 4731 a
-SDict begin [ /View [/XYZ H.V] /Dest (7163) cvn H.B /DEST pdfmark end
- -30 4731 a 1670 x
-FU(If)429 b(you)f(de)-39 b(v)-23 b(elop)429 b(a)g(ne)-39
-b(w)429 b(program,)f(and)h(you)f(w)-15 b(ant)428 b(it)h(to)f(be)h(of)g
-(the)f(greatest)h(possible)f(use)g(to)-30 8415 y(the)467
-b(public,)f(the)h(best)f(w)-15 b(ay)466 b(to)h(achie)-39
-b(v)-23 b(e)466 b(this)g(is)h(to)f(mak)-15 b(e)466 b(it)h(free)g(softw)
--15 b(are)466 b(which)g(e)-39 b(v)-23 b(eryone)-30 10430
-y(can)388 b(redistrib)-31 b(ute)386 b(and)h(change)h(under)f(these)g
-(terms.)-30 11540 y
-SDict begin H.S end
- -30 11540 a -30 11540 a
-SDict begin 18.2 H.A end
- -30 11540
-a -30 11540 a
-SDict begin [ /View [/XYZ H.V] /Dest (7164) cvn H.B /DEST pdfmark end
- -30 11540 a 1680 x FU(T)-124 b(o)466 b(do)g(so,)h(attach)
-f(the)g(follo)-39 b(wing)466 b(notices)f(to)h(the)h(program.)f(It)g(is)
-g(safest)g(to)g(attach)g(them)g(to)-30 15234 y(the)535
-b(start)f(of)g(each)h(source)g(\002le)f(to)g(most)g(ef)-39
-b(fecti)g(v)-23 b(ely)534 b(con)-62 b(v)-23 b(e)g(y)534
-b(the)h(e)-23 b(xclusion)533 b(of)i(w)-15 b(arranty;)-30
-17249 y(and)369 b(each)h(\002le)f(should)f(ha)-31 b(v)-23
-b(e)369 b(at)h(least)f(the)22841 17249 y
-SDict begin H.S end
- 22841 17249
-a 22841 17249 a
-SDict begin 18.2 H.A end
- 22841 17249 a 22841 17249 a
-SDict begin [ /View [/XYZ H.V] /Dest (7165) cvn H.B /DEST pdfmark end
- 22841 17249
-a FU(\223cop)-15 b(yright\224)368 b(line)h(and)g(a)h(pointer)f(to)g
-(where)g(the)g(full)-30 19264 y(notice)387 b(is)g(found.)-30
-20829 y
-SDict begin H.S end
- -30 20829 a -30 20829 a
-SDict begin 12.972 H.A end
- -30 20829 a -30 20829
-a
-SDict begin [ /View [/XYZ H.V] /Dest (7166) cvn H.B /DEST pdfmark end
- -30 20829 a 1420 x Fd(<)p Fh(one)662 b(line)g(to)g(give)f(the)h
-(program's)e(name)i(and)g(a)g(brief)f(idea)h(of)g(what)g(it)g(does.)p
-Fd(>)1958 23685 y Fh(Copyright)e(\(C\))i Fd(<)p Fh(year)p
-Fd(>)1325 b(<)p Fh(name)661 b(of)h(author)p Fd(>)1958
-26557 y Fh(This)g(program)f(is)h(free)f(software;)f(you)i(can)g
-(redistribute)d(it)k(and/or)e(modify)1958 27993 y(it)h(under)g(the)g
-(terms)f(of)h(the)g(GNU)g(General)e(Public)h(License)g(as)h(published)e
-(by)1958 29429 y(the)i(Free)g(Software)e(Foundation;)g(either)h
-(version)f(2)j(of)f(the)g(License,)e(or)1958 30865 y(\(at)i(your)g
-(option\))e(any)i(later)g(version.)1958 33737 y(This)g(program)f(is)h
-(distributed)d(in)j(the)g(hope)g(that)f(it)i(will)e(be)h(useful,)1958
-35173 y(but)g(WITHOUT)f(ANY)h(WARRANTY;)e(without)h(even)g(the)h
-(implied)f(warranty)f(of)1958 36609 y(MERCHANTABILITY)f(or)j(FITNESS)f
-(FOR)g(A)i(PARTICULAR)d(PURPOSE.)1323 b(See)662 b(the)1958
-38045 y(GNU)g(General)f(Public)g(License)g(for)g(more)h(details.)1958
-40917 y(You)g(should)f(have)h(received)e(a)j(copy)e(of)h(the)g(GNU)g
-(General)f(Public)g(License)1958 42353 y(along)h(with)f(this)h
-(program;)e(if)i(not,)g(write)f(to)h(the)g(Free)g(Software)1958
-43788 y(Foundation,)e(Inc.,)h(59)h(Temple)f(Place,)g(Suite)h(330,)f
-(Boston,)g(MA)1987 b(02111-1307)660 b(USA)-30 45512 y
-SDict begin H.S end
-
--30 45512 a -30 45512 a
-SDict begin 18.2 H.A end
- -30 45512 a -30 45512 a
-SDict begin [ /View [/XYZ H.V] /Dest (7167) cvn H.B /DEST pdfmark end
- -30 45512
-a 1841 x FU(Also)387 b(add)g(information)f(on)i(ho)-39
-b(w)387 b(to)g(contact)g(you)g(by)g(electronic)g(and)h(paper)f(mail.)
--30 48463 y
-SDict begin H.S end
- -30 48463 a -30 48463 a
-SDict begin 18.2 H.A end
- -30 48463 a -30 48463
-a
-SDict begin [ /View [/XYZ H.V] /Dest (7168) cvn H.B /DEST pdfmark end
- -30 48463 a 1679 x FU(If)422 b(the)f(program)g(is)h(interacti)-39
-b(v)-23 b(e,)421 b(mak)-15 b(e)421 b(it)g(output)g(a)h(short)f(notice)g
-(lik)-15 b(e)421 b(this)g(when)g(it)g(starts)g(in)-30
-52157 y(an)387 b(interacti)-39 b(v)-23 b(e)387 b(mode:)-30
-53722 y
-SDict begin H.S end
- -30 53722 a -30 53722 a
-SDict begin 12.972 H.A end
- -30 53722 a -30 53722
-a
-SDict begin [ /View [/XYZ H.V] /Dest (7169) cvn H.B /DEST pdfmark end
- -30 53722 a 1421 x Fh(Gnomovision)660 b(version)g(69,)i(Copyright)e
-(\(C\))i(year)1325 b(name)661 b(of)h(author)-30 56579
-y(Gnomovision)e(comes)h(with)h(ABSOLUTELY)d(NO)k(WARRANTY;)d(for)i
-(details)e(type)i(`show)f(w'.)-30 58015 y(This)h(is)g(free)f(software,)
-g(and)g(you)h(are)g(welcome)f(to)h(redistribute)d(it)-30
-59451 y(under)i(certain)g(conditions;)f(type)h(`show)h(c')g(for)g
-(details.)-30 61174 y
-SDict begin H.S end
- -30 61174 a -30 61174 a
-SDict begin 18.2 H.A end
- -30 61174
-a -30 61174 a
-SDict begin [ /View [/XYZ H.V] /Dest (7170) cvn H.B /DEST pdfmark end
- -30 61174 a 1841 x FU(The)558 b(h)-8 b(ypothetical)557
-b(commands)f(`sho)-39 b(w)558 b(w')g(and)f(`sho)-39 b(w)558
-b(c')g(should)e(sho)-39 b(w)558 b(the)f(appropriate)-30
-65030 y(parts)331 b(of)g(the)g(General)g(Public)f(License.)i(Of)f
-(course,)g(the)g(commands)f(you)h(use)g(may)g(be)g(called)p
-Black 49451 73792 a FR(253)p Black eop end
-%%Page: 254 276
-TeXDict begin 254 275 bop -8000 -8000 a
-SDict begin /product where{pop product(Distiller)search{pop pop pop
-version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
-closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
-grestore}if}{pop}ifelse}{pop}ifelse}if end
- -8000 -8000 a
-Black 0 TeXcolorgray -30 -1237 a
-SDict begin H.S end
- -30 -1237 a 0 TeXcolorgray
-0 TeXcolorgray -30 -1237 a
-SDict begin H.R end
- -30 -1237 a -30 -1237 a
-SDict begin [ /View [/XYZ H.V] /Dest (page.254) cvn H.B /DEST pdfmark
-end
- -30
--1237 a Black -399 x FR(Appendix)387 b(A.)h(The)f(GNU)g(Gener)-23
-b(al)386 b(Public)h(License)p Black -30 3611 a FU(something)507
-b(other)h(than)f(`sho)-39 b(w)508 b(w')g(and)g(`sho)-39
-b(w)508 b(c';)g(the)-23 b(y)507 b(could)h(e)-39 b(v)-23
-b(en)508 b(be)g(mouse-clicks)f(or)-30 5626 y(menu)387
-b(items--whate)-39 b(v)-23 b(er)387 b(suits)f(your)h(program.)-30
-8415 y(Y)-170 b(ou)365 b(should)f(also)h(get)g(your)h(emplo)-15
-b(yer)364 b(\(if)h(you)g(w)-15 b(ork)365 b(as)g(a)h(programmer\))e(or)i
-(your)f(school,)g(if)-30 10430 y(an)-23 b(y)-101 b(,)352
-b(to)f(sign)g(a)g(\223cop)-15 b(yright)351 b(disclaimer\224)f(for)i
-(the)f(program,)g(if)h(necessary)-101 b(.)351 b(Here)h(is)f(a)h
-(sample;)-30 12445 y(alter)387 b(the)h(names:)-30 14010
-y
-SDict begin H.S end
- -30 14010 a -30 14010 a
-SDict begin 12.972 H.A end
- -30 14010 a -30 14010 a
-SDict begin [ /View [/XYZ H.V] /Dest (7173) cvn H.B /DEST pdfmark end
- -30
-14010 a 1296 15430 a Fh(Yoyodyne,)660 b(Inc.,)h(hereby)g(disclaims)f
-(all)i(copyright)e(interest)h(in)h(the)g(program)1296
-16866 y(`Gnomovision')d(\(which)i(makes)g(passes)g(at)h(compilers\))e
-(written)h(by)h(James)f(Hacker.)1296 19738 y Fd(<)p Fh(signature)f(of)i
-(Ty)g(Coon)p Fd(>)p Fh(,)f(1)i(April)e(1989)1296 21174
-y(Ty)h(Coon,)f(President)f(of)i(Vice)-30 22897 y
-SDict begin H.S end
- -30
-22897 a -30 22897 a
-SDict begin 18.2 H.A end
- -30 22897 a -30 22897 a
-SDict begin [ /View [/XYZ H.V] /Dest (7174) cvn H.B /DEST pdfmark end
- -30 22897
-a 1842 x FU(This)460 b(General)g(Public)f(License)h(does)g(not)g
-(permit)f(incorporating)h(your)g(program)f(into)h(pro-)-30
-26753 y(prietary)357 b(programs.)h(If)f(your)h(program)f(is)g(a)h
-(subroutine)e(library)-101 b(,)358 b(you)g(may)f(consider)g(it)g(more)
--30 28768 y(useful)407 b(to)f(permit)g(linking)g(proprietary)g
-(applications)g(with)g(the)h(library)-101 b(.)407 b(If)g(this)f(is)h
-(what)f(you)-30 30783 y(w)-15 b(ant)387 b(to)g(do,)g(use)h(the)f(GNU)g
-(Library)g(General)g(Public)g(License)g(instead)g(of)g(this)g(License.)
-p Black -30 73792 a FR(254)p Black eop end
-%%Page: 255 277
-TeXDict begin 255 276 bop -8000 -8000 a
-SDict begin /product where{pop product(Distiller)search{pop pop pop
-version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
-closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
-grestore}if}{pop}ifelse}{pop}ifelse}if end
- -8000 -8000 a
-Black 0 TeXcolorgray -30 -1358 a
-SDict begin H.S end
- -30 -1358 a 0 TeXcolorgray
-0 TeXcolorgray -30 -1358 a
-SDict begin H.R end
- -30 -1358 a -30 -1358 a
-SDict begin [ /View [/XYZ H.V] /Dest (page.255) cvn H.B /DEST pdfmark
-end
- -30
--1358 a Black Black -30 2383 a
-SDict begin H.S end
- -30 2383 a -30 2383 a
-SDict begin 18.2 H.A end
-
--30 2383 a -30 2383 a
-SDict begin [ /View [/XYZ H.V] /Dest (DOC-INDEX) cvn H.B /DEST pdfmark
-end
- -30 2383 a 3276 x FO(Inde)-69 b(x)-30
-6722 y
-SDict begin H.S end
- -30 6722 a -30 6722 a
-SDict begin 18.2 H.A end
- -30 6722 a -30 6722 a
-SDict begin [ /View [/XYZ H.V] /Dest (7176) cvn H.B /DEST pdfmark end
- -30
-6722 a 6270 x FL(Symbols)-30 14570 y
-SDict begin H.S end
- -30 14570 a -30
-14570 a
-SDict begin 18.2 H.A end
- -30 14570 a -30 14570 a
-SDict begin [ /View [/XYZ H.V] /Dest (7179) cvn H.B /DEST pdfmark end
- -30 14570 a 1699 x FW(3-D)350
-b(hardw)-14 b(are,)p 0 TeXcolorgray 8360 16269 a
-SDict begin H.S end
- 8360
-16269 a FW(75)9754 16269 y
-SDict begin 18.2 H.L end
- 9754 16269 a 9754 16269 a
-SDict begin [ /Subtype /Link /Dest (2242) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
-
-9754 16269 a Black -30 16471 a
-SDict begin H.S end
- -30 16471 a -30 16471
-a
-SDict begin 18.2 H.A end
- -30 16471 a -30 16471 a
-SDict begin [ /View [/XYZ H.V] /Dest (7182) cvn H.B /DEST pdfmark end
- -30 16471 a 1960 x FW(802.11,)p
-0 TeXcolorgray 4503 18431 a
-SDict begin H.S end
- 4503 18431 a FW(67)5897 18431
-y
-SDict begin 18.2 H.L end
- 5897 18431 a 5897 18431 a
-SDict begin [ /Subtype /Link /Dest (2022) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 5897 18431 a Black -30 18632
-a
-SDict begin H.S end
- -30 18632 a -30 18632 a
-SDict begin 18.2 H.A end
- -30 18632 a -30 18632 a
-SDict begin [ /View [/XYZ H.V] /Dest (7184) cvn H.B /DEST pdfmark end
- -30
-18632 a 6363 x FL(A)-30 26111 y
-SDict begin H.S end
- -30 26111 a -30 26111
-a
-SDict begin 18.2 H.A end
- -30 26111 a -30 26111 a
-SDict begin [ /View [/XYZ H.V] /Dest (7187) cvn H.B /DEST pdfmark end
- -30 26111 a 2162 x FW(accounts)-30
-28287 y
-SDict begin H.S end
- -30 28287 a -30 28287 a
-SDict begin 18.2 H.A end
- -30 28287 a -30 28287
-a
-SDict begin [ /View [/XYZ H.V] /Dest (7188) cvn H.B /DEST pdfmark end
- -30 28287 a 3070 30434 a FW(\(see)349 b(users\))-30
-30684 y
-SDict begin H.S end
- -30 30684 a -30 30684 a
-SDict begin 18.2 H.A end
- -30 30684 a -30 30684
-a
-SDict begin [ /View [/XYZ H.V] /Dest (7189) cvn H.B /DEST pdfmark end
- -30 30684 a 1520 32595 a FW(disabling,)p 0 TeXcolorgray
-7332 32595 a
-SDict begin H.S end
- 7332 32595 a FW(148)9423 32595 y
-SDict begin 18.2 H.L end
- 9423 32595
-a 9423 32595 a
-SDict begin [ /Subtype /Link /Dest (4196) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 9423 32595 a Black -30 32897 a
-SDict begin H.S end
- -30 32897
-a -30 32897 a
-SDict begin 18.2 H.A end
- -30 32897 a -30 32897 a
-SDict begin [ /View [/XYZ H.V] /Dest (7192) cvn H.B /DEST pdfmark end
- -30 32897 a 1860
-x FW(Apache,)p 0 TeXcolorgray 4927 34757 a
-SDict begin H.S end
- 4927 34757
-a FW(1)5624 34757 y
-SDict begin 18.2 H.L end
- 5624 34757 a 5624 34757 a
-SDict begin [ /Subtype /Link /Dest (307) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 5624 34757
-a Black FW(,)p 0 TeXcolorgray 6322 34757 a
-SDict begin H.S end
- 6322 34757
-a FW(49)7716 34757 y
-SDict begin 18.2 H.L end
- 7716 34757 a 7716 34757 a
-SDict begin [ /Subtype /Link /Dest (1521) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 7716 34757
-a Black -30 35059 a
-SDict begin H.S end
- -30 35059 a -30 35059 a
-SDict begin 18.2 H.A end
- -30 35059
-a -30 35059 a
-SDict begin [ /View [/XYZ H.V] /Dest (7196) cvn H.B /DEST pdfmark end
- -30 35059 a 1859 x FW(AppleT)-112 b(alk,)p
-0 TeXcolorgray 6521 36918 a
-SDict begin H.S end
- 6521 36918 a FW(49)7915 36918
-y
-SDict begin 18.2 H.L end
- 7915 36918 a 7915 36918 a
-SDict begin [ /Subtype /Link /Dest (1513) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 7915 36918 a Black -30 37220
-a
-SDict begin H.S end
- -30 37220 a -30 37220 a
-SDict begin 18.2 H.A end
- -30 37220 a -30 37220 a
-SDict begin [ /View [/XYZ H.V] /Dest (7199) cvn H.B /DEST pdfmark end
- -30
-37220 a 1860 x FW(apropos,)p 0 TeXcolorgray 5083 39080
-a
-SDict begin H.S end
- 5083 39080 a FW(8)5780 39080 y
-SDict begin 18.2 H.L end
- 5780 39080 a 5780 39080
-a
-SDict begin [ /Subtype /Link /Dest (449) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 5780 39080 a Black -30 39382 a
-SDict begin H.S end
- -30 39382 a -30 39382
-a
-SDict begin 18.2 H.A end
- -30 39382 a -30 39382 a
-SDict begin [ /View [/XYZ H.V] /Dest (7201) cvn H.B /DEST pdfmark end
- -30 39382 a 6262 x FL(B)-30
-46760 y
-SDict begin H.S end
- -30 46760 a -30 46760 a
-SDict begin 18.2 H.A end
- -30 46760 a -30 46760
-a
-SDict begin [ /View [/XYZ H.V] /Dest (7204) cvn H.B /DEST pdfmark end
- -30 46760 a 2162 x FW(bash,)p 0 TeXcolorgray 3224 48922
-a
-SDict begin H.S end
- 3224 48922 a FW(45)4618 48922 y
-SDict begin 18.2 H.L end
- 4618 48922 a 4618 48922
-a
-SDict begin [ /Subtype /Link /Dest (1340) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 4618 48922 a Black 1 w FW(,)p 0 TeXcolorgray 5316 48922
-a
-SDict begin H.S end
- 5316 48922 a FW(101)7407 48922 y
-SDict begin 18.2 H.L end
- 7407 48922 a 7407
-48922 a
-SDict begin [ /Subtype /Link /Dest (2671) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 7407 48922 a Black 1 w FW(,)p 0 TeXcolorgray
-8106 48922 a
-SDict begin H.S end
- 8106 48922 a FW(106)10197 48922 y
-SDict begin 18.2 H.L end
- 10197
-48922 a 10197 48922 a
-SDict begin [ /Subtype /Link /Dest (2889) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 10197 48922 a Black 1 w FW(,)p
-0 TeXcolorgray 10895 48922 a
-SDict begin H.S end
- 10895 48922 a FW(114)12986
-48922 y
-SDict begin 18.2 H.L end
- 12986 48922 a 12986 48922 a
-SDict begin [ /Subtype /Link /Dest (3212) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 12986 48922 a Black
--30 49123 a
-SDict begin H.S end
- -30 49123 a -30 49123 a
-SDict begin 18.2 H.A end
- -30 49123 a -30 49123
-a
-SDict begin [ /View [/XYZ H.V] /Dest (7210) cvn H.B /DEST pdfmark end
- -30 49123 a 1960 x FW(BIND,)p 0 TeXcolorgray 4076 51083
-a
-SDict begin H.S end
- 4076 51083 a FW(1)4773 51083 y
-SDict begin 18.2 H.L end
- 4773 51083 a 4773 51083
-a
-SDict begin [ /Subtype /Link /Dest (309) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 4773 51083 a Black -30 51285 a
-SDict begin H.S end
- -30 51285 a -30 51285
-a
-SDict begin 18.2 H.A end
- -30 51285 a -30 51285 a
-SDict begin [ /View [/XYZ H.V] /Dest (7213) cvn H.B /DEST pdfmark end
- -30 51285 a 1960 x FW(boot)350
-b(disk,)p 0 TeXcolorgray 5821 53245 a
-SDict begin H.S end
- 5821 53245 a FW(33)7215
-53245 y
-SDict begin 18.2 H.L end
- 7215 53245 a 7215 53245 a
-SDict begin [ /Subtype /Link /Dest (1112) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 7215 53245 a Black
--30 53446 a
-SDict begin H.S end
- -30 53446 a -30 53446 a
-SDict begin 18.2 H.A end
- -30 53446 a -30 53446
-a
-SDict begin [ /View [/XYZ H.V] /Dest (7216) cvn H.B /DEST pdfmark end
- -30 53446 a 1960 x FW(booting,)p 0 TeXcolorgray 4930
-55406 a
-SDict begin H.S end
- 4930 55406 a FW(89)6324 55406 y
-SDict begin 18.2 H.L end
- 6324 55406 a
-6324 55406 a
-SDict begin [ /Subtype /Link /Dest (2469) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 6324 55406 a Black -30 55708 a
-SDict begin H.S end
- -30 55708
-a -30 55708 a
-SDict begin 18.2 H.A end
- -30 55708 a -30 55708 a
-SDict begin [ /View [/XYZ H.V] /Dest (7218) cvn H.B /DEST pdfmark end
- -30 55708 a 1520
-57567 a FW(ZipSlack,)p 0 TeXcolorgray 7254 57567 a
-SDict begin H.S end
- 7254
-57567 a FW(227)9345 57567 y
-SDict begin 18.2 H.L end
- 9345 57567 a 9345 57567 a
-SDict begin [ /Subtype /Link /Dest (6710) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
-
-9345 57567 a Black -30 57869 a
-SDict begin H.S end
- -30 57869 a -30 57869
-a
-SDict begin 18.2 H.A end
- -30 57869 a -30 57869 a
-SDict begin [ /View [/XYZ H.V] /Dest (7221) cvn H.B /DEST pdfmark end
- -30 57869 a 1860 x FW(BSD,)p
-0 TeXcolorgray 3380 59729 a
-SDict begin H.S end
- 3380 59729 a FW(13)4774 59729
-y
-SDict begin 18.2 H.L end
- 4774 59729 a 4774 59729 a
-SDict begin [ /Subtype /Link /Dest (586) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 4774 59729 a Black 1 w FW(,)p
-0 TeXcolorgray 5472 59729 a
-SDict begin H.S end
- 5472 59729 a FW(46)6866 59729
-y
-SDict begin 18.2 H.L end
- 6866 59729 a 6866 59729 a
-SDict begin [ /Subtype /Link /Dest (1398) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 6866 59729 a Black -30 59930
-a
-SDict begin H.S end
- -30 59930 a -30 59930 a
-SDict begin 18.2 H.A end
- -30 59930 a -30 59930 a
-SDict begin [ /View [/XYZ H.V] /Dest (7224) cvn H.B /DEST pdfmark end
- -30
-59930 a 1520 61890 a FW(init,)p 0 TeXcolorgray 4078 61890
-a
-SDict begin H.S end
- 4078 61890 a FW(49)5472 61890 y
-SDict begin 18.2 H.L end
- 5472 61890 a 5472 61890
-a
-SDict begin [ /Subtype /Link /Dest (1538) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 5472 61890 a Black -30 62092 a
-SDict begin H.S end
- -30 62092 a -30 62092
-a
-SDict begin 18.2 H.A end
- -30 62092 a -30 62092 a
-SDict begin [ /View [/XYZ H.V] /Dest (7226) cvn H.B /DEST pdfmark end
- -30 62092 a 1520 64052 a FW(license,)p
-0 TeXcolorgray 6090 64052 a
-SDict begin H.S end
- 6090 64052 a FW(4)6787 64052
-y
-SDict begin 18.2 H.L end
- 6787 64052 a 6787 64052 a
-SDict begin [ /Subtype /Link /Dest (371) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 6787 64052 a Black -30 64253
-a
-SDict begin H.S end
- -30 64253 a -30 64253 a
-SDict begin 18.2 H.A end
- -30 64253 a -30 64253 a
-SDict begin [ /View [/XYZ H.V] /Dest (7229) cvn H.B /DEST pdfmark end
- -30
-64253 a 1960 x FW(bzip2,)p 0 TeXcolorgray 3767 66213
-a
-SDict begin H.S end
- 3767 66213 a FW(190)5858 66213 y
-SDict begin 18.2 H.L end
- 5858 66213 a 5858
-66213 a
-SDict begin [ /Subtype /Link /Dest (5338) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 5858 66213 a Black -30 66515 a
-SDict begin H.S end
- -30 66515 a -30
-66515 a
-SDict begin 18.2 H.A end
- -30 66515 a -30 66515 a
-SDict begin [ /View [/XYZ H.V] /Dest (7231) cvn H.B /DEST pdfmark end
- -30 66515 a Black Black
-27866 4011 a FL(C)27866 5155 y
-SDict begin H.S end
- 27866 5155 a 27866 5155
-a
-SDict begin 18.2 H.A end
- 27866 5155 a 27866 5155 a
-SDict begin [ /View [/XYZ H.V] /Dest (7234) cvn H.B /DEST pdfmark end
- 27866 5155 a 2040 x FW(cat,)p
-0 TeXcolorgray 30189 7195 a
-SDict begin H.S end
- 30189 7195 a FW(125)32280
-7195 y
-SDict begin 18.2 H.L end
- 32280 7195 a 32280 7195 a
-SDict begin [ /Subtype /Link /Dest (3565) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 32280 7195 a Black 27866
-7396 a
-SDict begin H.S end
- 27866 7396 a 27866 7396 a
-SDict begin 18.2 H.A end
- 27866 7396 a 27866 7396
-a
-SDict begin [ /View [/XYZ H.V] /Dest (7237) cvn H.B /DEST pdfmark end
- 27866 7396 a 1867 x FW(cd,)p 0 TeXcolorgray 29880 9263
-a
-SDict begin H.S end
- 29880 9263 a FW(123)31971 9263 y
-SDict begin 18.2 H.L end
- 31971 9263 a 31971
-9263 a
-SDict begin [ /Subtype /Link /Dest (3441) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 31971 9263 a Black 27866 9464 a
-SDict begin H.S end
- 27866 9464 a 27866
-9464 a
-SDict begin 18.2 H.A end
- 27866 9464 a 27866 9464 a
-SDict begin [ /View [/XYZ H.V] /Dest (7240) cvn H.B /DEST pdfmark end
- 27866 9464 a 1867 x
-FW(CD-R)-56 b(OM,)p 0 TeXcolorgray 34086 11331 a
-SDict begin H.S end
- 34086
-11331 a FW(117)36177 11331 y
-SDict begin 18.2 H.L end
- 36177 11331 a 36177 11331
-a
-SDict begin [ /Subtype /Link /Dest (3326) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 36177 11331 a Black 27866 11532 a
-SDict begin H.S end
- 27866 11532 a 27866
-11532 a
-SDict begin 18.2 H.A end
- 27866 11532 a 27866 11532 a
-SDict begin [ /View [/XYZ H.V] /Dest (7243) cvn H.B /DEST pdfmark end
- 27866 11532 a 1866
-x FW(checksum,)p 0 TeXcolorgray 34141 13398 a
-SDict begin H.S end
- 34141 13398
-a FW(187)36232 13398 y
-SDict begin 18.2 H.L end
- 36232 13398 a 36232 13398 a
-SDict begin [ /Subtype /Link /Dest (5254) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 36232
-13398 a Black 27866 13600 a
-SDict begin H.S end
- 27866 13600 a 27866 13600
-a
-SDict begin 18.2 H.A end
- 27866 13600 a 27866 13600 a
-SDict begin [ /View [/XYZ H.V] /Dest (7246) cvn H.B /DEST pdfmark end
- 27866 13600 a 1866 x FW(chmod,)p
-0 TeXcolorgray 32359 15466 a
-SDict begin H.S end
- 32359 15466 a FW(50)33753
-15466 y
-SDict begin 18.2 H.L end
- 33753 15466 a 33753 15466 a
-SDict begin [ /Subtype /Link /Dest (1569) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 33753 15466 a Black
-1 w FW(,)p 0 TeXcolorgray 34452 15466 a
-SDict begin H.S end
- 34452 15466 a
-FW(113)36543 15466 y
-SDict begin 18.2 H.L end
- 36543 15466 a 36543 15466 a
-SDict begin [ /Subtype /Link /Dest (3199) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 36543
-15466 a Black 27866 15668 a
-SDict begin H.S end
- 27866 15668 a 27866 15668
-a
-SDict begin 18.2 H.A end
- 27866 15668 a 27866 15668 a
-SDict begin [ /View [/XYZ H.V] /Dest (7250) cvn H.B /DEST pdfmark end
- 27866 15668 a 1866 x FW(cho)-35
-b(wn,)p 0 TeXcolorgray 32246 17534 a
-SDict begin H.S end
- 32246 17534 a FW(111)34337
-17534 y
-SDict begin 18.2 H.L end
- 34337 17534 a 34337 17534 a
-SDict begin [ /Subtype /Link /Dest (3100) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 34337 17534 a Black
-27866 17736 a
-SDict begin H.S end
- 27866 17736 a 27866 17736 a
-SDict begin 18.2 H.A end
- 27866 17736
-a 27866 17736 a
-SDict begin [ /View [/XYZ H.V] /Dest (7253) cvn H.B /DEST pdfmark end
- 27866 17736 a 1866 x FW(CIFS,)p 0 TeXcolorgray
-31509 19602 a
-SDict begin H.S end
- 31509 19602 a FW(70)32903 19602 y
-SDict begin 18.2 H.L end
- 32903
-19602 a 32903 19602 a
-SDict begin [ /Subtype /Link /Dest (2135) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 32903 19602 a Black 27866 19803
-a
-SDict begin H.S end
- 27866 19803 a 27866 19803 a
-SDict begin 18.2 H.A end
- 27866 19803 a 27866 19803
-a
-SDict begin [ /View [/XYZ H.V] /Dest (7256) cvn H.B /DEST pdfmark end
- 27866 19803 a 1867 x FW(compression,)p 0 TeXcolorgray
-35613 21670 a
-SDict begin H.S end
- 35613 21670 a FW(189)37704 21670 y
-SDict begin 18.2 H.L end
- 37704
-21670 a 37704 21670 a
-SDict begin [ /Subtype /Link /Dest (5293) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 37704 21670 a Black 27866 21972
-a
-SDict begin H.S end
- 27866 21972 a 27866 21972 a
-SDict begin 18.2 H.A end
- 27866 21972 a 27866 21972
-a
-SDict begin [ /View [/XYZ H.V] /Dest (7258) cvn H.B /DEST pdfmark end
- 27866 21972 a 5982 x FL(D)27866 29070 y
-SDict begin H.S end
- 27866 29070
-a 27866 29070 a
-SDict begin 18.2 H.A end
- 27866 29070 a 27866 29070 a
-SDict begin [ /View [/XYZ H.V] /Dest (7261) cvn H.B /DEST pdfmark end
- 27866 29070
-a 2067 x FW(daemons,)p 0 TeXcolorgray 33521 31137 a
-SDict begin H.S end
- 33521
-31137 a FW(133)35612 31137 y
-SDict begin 18.2 H.L end
- 35612 31137 a 35612 31137
-a
-SDict begin [ /Subtype /Link /Dest (3825) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 35612 31137 a Black 1 w FW(,)p 0 TeXcolorgray 36311
-31137 a
-SDict begin H.S end
- 36311 31137 a FW(137)38402 31137 y
-SDict begin 18.2 H.L end
- 38402 31137
-a 38402 31137 a
-SDict begin [ /Subtype /Link /Dest (3928) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 38402 31137 a Black 1 w FW(,)p 0 TeXcolorgray
-39100 31137 a
-SDict begin H.S end
- 39100 31137 a FW(181)41191 31137 y
-SDict begin 18.2 H.L end
- 41191
-31137 a 41191 31137 a
-SDict begin [ /Subtype /Link /Dest (5083) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 41191 31137 a Black 27866 31339
-a
-SDict begin H.S end
- 27866 31339 a 27866 31339 a
-SDict begin 18.2 H.A end
- 27866 31339 a 27866 31339
-a
-SDict begin [ /View [/XYZ H.V] /Dest (7266) cvn H.B /DEST pdfmark end
- 27866 31339 a 1866 x FW(darkstar)-56 b(,)p 0 TeXcolorgray
-33000 33205 a
-SDict begin H.S end
- 33000 33205 a FW(101)35091 33205 y
-SDict begin 18.2 H.L end
- 35091
-33205 a 35091 33205 a
-SDict begin [ /Subtype /Link /Dest (2684) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 35091 33205 a Black 27866 33407
-a
-SDict begin H.S end
- 27866 33407 a 27866 33407 a
-SDict begin 18.2 H.A end
- 27866 33407 a 27866 33407
-a
-SDict begin [ /View [/XYZ H.V] /Dest (7269) cvn H.B /DEST pdfmark end
- 27866 33407 a 1866 x FW(Debian)349 b(Linux,)p 0 TeXcolorgray
-36272 35273 a
-SDict begin H.S end
- 36272 35273 a FW(215)38363 35273 y
-SDict begin 18.2 H.L end
- 38363
-35273 a 38363 35273 a
-SDict begin [ /Subtype /Link /Dest (6378) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 38363 35273 a Black 27866 35475
-a
-SDict begin H.S end
- 27866 35475 a 27866 35475 a
-SDict begin 18.2 H.A end
- 27866 35475 a 27866 35475
-a
-SDict begin [ /View [/XYZ H.V] /Dest (7272) cvn H.B /DEST pdfmark end
- 27866 35475 a 1866 x FW(decompression,)p 0 TeXcolorgray
-36930 37341 a
-SDict begin H.S end
- 36930 37341 a FW(189)39021 37341 y
-SDict begin 18.2 H.L end
- 39021
-37341 a 39021 37341 a
-SDict begin [ /Subtype /Link /Dest (5326) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 39021 37341 a Black 27866 37643
-a
-SDict begin H.S end
- 27866 37643 a 27866 37643 a
-SDict begin 18.2 H.A end
- 27866 37643 a 27866 37643
-a
-SDict begin [ /View [/XYZ H.V] /Dest (7275) cvn H.B /DEST pdfmark end
- 27866 37643 a 1766 x FW(def)-14 b(ault)349 b(g)-7 b(ate)-35
-b(w)-14 b(ay)-91 b(,)p 0 TeXcolorgray 37272 39409 a
-SDict begin H.S end
- 37272
-39409 a FW(64)38666 39409 y
-SDict begin 18.2 H.L end
- 38666 39409 a 38666 39409
-a
-SDict begin [ /Subtype /Link /Dest (1903) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 38666 39409 a Black 27866 39711 a
-SDict begin H.S end
- 27866 39711 a 27866
-39711 a
-SDict begin 18.2 H.A end
- 27866 39711 a 27866 39711 a
-SDict begin [ /View [/XYZ H.V] /Dest (7278) cvn H.B /DEST pdfmark end
- 27866 39711 a 1765
-x FW(def)-14 b(ault)349 b(route,)p 0 TeXcolorgray 35637
-41476 a
-SDict begin H.S end
- 35637 41476 a FW(64)37031 41476 y
-SDict begin 18.2 H.L end
- 37031 41476
-a 37031 41476 a
-SDict begin [ /Subtype /Link /Dest (1901) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 37031 41476 a Black 27866 41678 a
-SDict begin H.S end
- 27866
-41678 a 27866 41678 a
-SDict begin 18.2 H.A end
- 27866 41678 a 27866 41678 a
-SDict begin [ /View [/XYZ H.V] /Dest (7281) cvn H.B /DEST pdfmark end
- 27866
-41678 a 1866 x FW(de)-35 b(vices)27866 43558 y
-SDict begin H.S end
- 27866
-43558 a 27866 43558 a
-SDict begin 18.2 H.A end
- 27866 43558 a 27866 43558 a
-SDict begin [ /View [/XYZ H.V] /Dest (7282) cvn H.B /DEST pdfmark end
- 27866
-43558 a 29415 45612 a FW(mounting,)p 0 TeXcolorgray 35460
-45612 a
-SDict begin H.S end
- 35460 45612 a FW(117)37551 45612 y
-SDict begin 18.2 H.L end
- 37551 45612
-a 37551 45612 a
-SDict begin [ /Subtype /Link /Dest (3307) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 37551 45612 a Black 27866 45914 a
-SDict begin H.S end
- 27866
-45914 a 27866 45914 a
-SDict begin 18.2 H.A end
- 27866 45914 a 27866 45914 a
-SDict begin [ /View [/XYZ H.V] /Dest (7285) cvn H.B /DEST pdfmark end
- 27866
-45914 a 1766 x FW(DHCP)-155 b(,)p 0 TeXcolorgray 32128
-47680 a
-SDict begin H.S end
- 32128 47680 a FW(57)33522 47680 y
-SDict begin 18.2 H.L end
- 33522 47680
-a 33522 47680 a
-SDict begin [ /Subtype /Link /Dest (1747) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 33522 47680 a Black 1 w FW(,)p 0 TeXcolorgray
-34220 47680 a
-SDict begin H.S end
- 34220 47680 a FW(61)35614 47680 y
-SDict begin 18.2 H.L end
- 35614
-47680 a 35614 47680 a
-SDict begin [ /Subtype /Link /Dest (1844) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 35614 47680 a Black 27866 47881
-a
-SDict begin H.S end
- 27866 47881 a 27866 47881 a
-SDict begin 18.2 H.A end
- 27866 47881 a 27866 47881
-a
-SDict begin [ /View [/XYZ H.V] /Dest (7288) cvn H.B /DEST pdfmark end
- 27866 47881 a 29415 49748 a FW(client,)p 0 TeXcolorgray
-33212 49748 a
-SDict begin H.S end
- 33212 49748 a FW(62)34606 49748 y
-SDict begin 18.2 H.L end
- 34606
-49748 a 34606 49748 a
-SDict begin [ /Subtype /Link /Dest (1864) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 34606 49748 a Black 27866 49949
-a
-SDict begin H.S end
- 27866 49949 a 27866 49949 a
-SDict begin 18.2 H.A end
- 27866 49949 a 27866 49949
-a
-SDict begin [ /View [/XYZ H.V] /Dest (7291) cvn H.B /DEST pdfmark end
- 27866 49949 a 1867 x FW(directories,)p 0 TeXcolorgray
-34450 51816 a
-SDict begin H.S end
- 34450 51816 a FW(122)36541 51816 y
-SDict begin 18.2 H.L end
- 36541
-51816 a 36541 51816 a
-SDict begin [ /Subtype /Link /Dest (3419) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 36541 51816 a Black 27866 52017
-a
-SDict begin H.S end
- 27866 52017 a 27866 52017 a
-SDict begin 18.2 H.A end
- 27866 52017 a 27866 52017
-a
-SDict begin [ /View [/XYZ H.V] /Dest (7293) cvn H.B /DEST pdfmark end
- 27866 52017 a 29415 53883 a FW(changing,)p 0 TeXcolorgray
-35226 53883 a
-SDict begin H.S end
- 35226 53883 a FW(123)37317 53883 y
-SDict begin 18.2 H.L end
- 37317
-53883 a 37317 53883 a
-SDict begin [ /Subtype /Link /Dest (3438) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 37317 53883 a Black 27866 54185
-a
-SDict begin H.S end
- 27866 54185 a 27866 54185 a
-SDict begin 18.2 H.A end
- 27866 54185 a 27866 54185
-a
-SDict begin [ /View [/XYZ H.V] /Dest (7295) cvn H.B /DEST pdfmark end
- 27866 54185 a 29415 55951 a FW(cop)-14 b(ying,)p 0
-TeXcolorgray 34593 55951 a
-SDict begin H.S end
- 34593 55951 a FW(128)36684
-55951 y
-SDict begin 18.2 H.L end
- 36684 55951 a 36684 55951 a
-SDict begin [ /Subtype /Link /Dest (3672) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 36684 55951 a Black
-27866 56253 a
-SDict begin H.S end
- 27866 56253 a 27866 56253 a
-SDict begin 18.2 H.A end
- 27866 56253
-a 27866 56253 a
-SDict begin [ /View [/XYZ H.V] /Dest (7297) cvn H.B /DEST pdfmark end
- 27866 56253 a 29415 58019 a FW(creating,)p
-0 TeXcolorgray 34605 58019 a
-SDict begin H.S end
- 34605 58019 a FW(127)36696
-58019 y
-SDict begin 18.2 H.L end
- 36696 58019 a 36696 58019 a
-SDict begin [ /Subtype /Link /Dest (3643) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 36696 58019 a Black
-27866 58321 a
-SDict begin H.S end
- 27866 58321 a 27866 58321 a
-SDict begin 18.2 H.A end
- 27866 58321
-a 27866 58321 a
-SDict begin [ /View [/XYZ H.V] /Dest (7299) cvn H.B /DEST pdfmark end
- 27866 58321 a 29415 60087 a FW(current,)p
-0 TeXcolorgray 34063 60087 a
-SDict begin H.S end
- 34063 60087 a FW(124)36154
-60087 y
-SDict begin 18.2 H.L end
- 36154 60087 a 36154 60087 a
-SDict begin [ /Subtype /Link /Dest (3465) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 36154 60087 a Black
-27866 60288 a
-SDict begin H.S end
- 27866 60288 a 27866 60288 a
-SDict begin 18.2 H.A end
- 27866 60288
-a 27866 60288 a
-SDict begin [ /View [/XYZ H.V] /Dest (7301) cvn H.B /DEST pdfmark end
- 27866 60288 a 29415 62155 a FW(mo)-21
-b(ving,)p 0 TeXcolorgray 34354 62155 a
-SDict begin H.S end
- 34354 62155 a
-FW(129)36445 62155 y
-SDict begin 18.2 H.L end
- 36445 62155 a 36445 62155 a
-SDict begin [ /Subtype /Link /Dest (3717) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 36445
-62155 a Black 27866 62457 a
-SDict begin H.S end
- 27866 62457 a 27866 62457
-a
-SDict begin 18.2 H.A end
- 27866 62457 a 27866 62457 a
-SDict begin [ /View [/XYZ H.V] /Dest (7303) cvn H.B /DEST pdfmark end
- 27866 62457 a 29415 64222
-a FW(remo)g(ving,)p 0 TeXcolorgray 35438 64222 a
-SDict begin H.S end
- 35438
-64222 a FW(129)37529 64222 y
-SDict begin 18.2 H.L end
- 37529 64222 a 37529 64222
-a
-SDict begin [ /Subtype /Link /Dest (3753) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 37529 64222 a Black 27866 64524 a
-SDict begin H.S end
- 27866 64524 a 27866
-64524 a
-SDict begin 18.2 H.A end
- 27866 64524 a 27866 64524 a
-SDict begin [ /View [/XYZ H.V] /Dest (7306) cvn H.B /DEST pdfmark end
- 27866 64524 a 1766
-x FW(DNS,)p 0 TeXcolorgray 31352 66290 a
-SDict begin H.S end
- 31352 66290
-a FW(64)32746 66290 y
-SDict begin 18.2 H.L end
- 32746 66290 a 32746 66290 a
-SDict begin [ /Subtype /Link /Dest (1917) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 32746
-66290 a Black 1 w FW(,)p 0 TeXcolorgray 33445 66290 a
-SDict begin H.S end
-
-33445 66290 a FW(159)35536 66290 y
-SDict begin 18.2 H.L end
- 35536 66290 a 35536
-66290 a
-SDict begin [ /Subtype /Link /Dest (4470) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 35536 66290 a Black 1 w FW(,)p 0 TeXcolorgray
-36234 66290 a
-SDict begin H.S end
- 36234 66290 a FW(186)38325 66290 y
-SDict begin 18.2 H.L end
- 38325
-66290 a 38325 66290 a
-SDict begin [ /Subtype /Link /Dest (5220) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 38325 66290 a Black 27866 66492
-a
-SDict begin H.S end
- 27866 66492 a 27866 66492 a
-SDict begin 18.2 H.A end
- 27866 66492 a 27866 66492
-a
-SDict begin [ /View [/XYZ H.V] /Dest (7310) cvn H.B /DEST pdfmark end
- 27866 66492 a 29415 68358 a FW(diagnostics,)p 0 TeXcolorgray
-36389 68358 a
-SDict begin H.S end
- 36389 68358 a FW(160)38480 68358 y
-SDict begin 18.2 H.L end
- 38480
-68358 a 38480 68358 a
-SDict begin [ /Subtype /Link /Dest (4498) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 38480 68358 a Black Black -30 73672
-a
-SDict begin H.S end
- -30 73672 a -30 73672 a
-SDict begin 18.2 H.A end
- -30 73672 a -30 73672 a
-SDict begin [ /View [/XYZ H.V] /Dest (7316) cvn H.B /DEST pdfmark end
- -30
-73672 a 49451 74722 a FR(255)p Black eop end
-%%Page: 256 278
-TeXDict begin 256 277 bop -8000 -8000 a
-SDict begin /product where{pop product(Distiller)search{pop pop pop
-version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
-closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
-grestore}if}{pop}ifelse}{pop}ifelse}if end
- -8000 -8000 a
-Black 0 TeXcolorgray -30 -1358 a
-SDict begin H.S end
- -30 -1358 a 0 TeXcolorgray
-0 TeXcolorgray -30 -1358 a
-SDict begin H.R end
- -30 -1358 a -30 -1358 a
-SDict begin [ /View [/XYZ H.V] /Dest (page.256) cvn H.B /DEST pdfmark
-end
- -30
--1358 a Black Black -30 2383 a
-SDict begin H.S end
- -30 2383 a -30 2383 a
-SDict begin 18.2 H.A end
-
--30 2383 a -30 2383 a
-SDict begin [ /View [/XYZ H.V] /Dest (7313) cvn H.B /DEST pdfmark end
- -30 2383 a 1107 x FW(Domain)350
-b(Name)f(Service)-30 3504 y
-SDict begin H.S end
- -30 3504 a -30 3504 a
-SDict begin 18.2 H.A end
- -30
-3504 a -30 3504 a
-SDict begin [ /View [/XYZ H.V] /Dest (7314) cvn H.B /DEST pdfmark end
- -30 3504 a 1520 5506 a FW(\(see)g(DNS\))-30
-7521 y(DOS,)p 0 TeXcolorgray 3457 7521 a
-SDict begin H.S end
- 3457 7521 a
-FW(41)4851 7521 y
-SDict begin 18.2 H.L end
- 4851 7521 a 4851 7521 a
-SDict begin [ /Subtype /Link /Dest (7316) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 4851 7521 a
-Black 1 w FW(,)p 0 TeXcolorgray 5549 7521 a
-SDict begin H.S end
- 5549 7521
-a FW(89)6943 7521 y
-SDict begin 18.2 H.L end
- 6943 7521 a 6943 7521 a
-SDict begin [ /Subtype /Link /Dest (2475) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 6943 7521
-a Black 1 w FW(,)p 0 TeXcolorgray 7641 7521 a
-SDict begin H.S end
- 7641 7521
-a FW(225)9732 7521 y
-SDict begin 18.2 H.L end
- 9732 7521 a 9732 7521 a
-SDict begin [ /Subtype /Link /Dest (6656) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 9732 7521
-a Black -30 7722 a
-SDict begin H.S end
- -30 7722 a -30 7722 a
-SDict begin 18.2 H.A end
- -30 7722 a -30
-7722 a
-SDict begin [ /View [/XYZ H.V] /Dest (7321) cvn H.B /DEST pdfmark end
- -30 7722 a 1814 x FW(Dual)g(booting,)p 0 TeXcolorgray
-7990 9536 a
-SDict begin H.S end
- 7990 9536 a FW(94)9384 9536 y
-SDict begin 18.2 H.L end
- 9384 9536 a
-9384 9536 a
-SDict begin [ /Subtype /Link /Dest (2565) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 9384 9536 a Black -30 9838 a
-SDict begin H.S end
- -30 9838 a -30
-9838 a
-SDict begin 18.2 H.A end
- -30 9838 a -30 9838 a
-SDict begin [ /View [/XYZ H.V] /Dest (7323) cvn H.B /DEST pdfmark end
- -30 9838 a 5825 x FL(E)-30
-16779 y
-SDict begin H.S end
- -30 16779 a -30 16779 a
-SDict begin 18.2 H.A end
- -30 16779 a -30 16779
-a
-SDict begin [ /View [/XYZ H.V] /Dest (7326) cvn H.B /DEST pdfmark end
- -30 16779 a 2015 x FW(echo,)p 0 TeXcolorgray 3301 18794
-a
-SDict begin H.S end
- 3301 18794 a FW(126)5392 18794 y
-SDict begin 18.2 H.L end
- 5392 18794 a 5392
-18794 a
-SDict begin [ /Subtype /Link /Dest (3605) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 5392 18794 a Black -30 18995 a
-SDict begin H.S end
- -30 18995 a -30
-18995 a
-SDict begin 18.2 H.A end
- -30 18995 a -30 18995 a
-SDict begin [ /View [/XYZ H.V] /Dest (7329) cvn H.B /DEST pdfmark end
- -30 18995 a 1814 x FW(editor)-30
-20823 y
-SDict begin H.S end
- -30 20823 a -30 20823 a
-SDict begin 18.2 H.A end
- -30 20823 a -30 20823
-a
-SDict begin [ /View [/XYZ H.V] /Dest (7330) cvn H.B /DEST pdfmark end
- -30 20823 a 1520 22825 a FW(\(see)g(Emacs)g(or)h(vi\))-30
-23074 y
-SDict begin H.S end
- -30 23074 a -30 23074 a
-SDict begin 18.2 H.A end
- -30 23074 a -30 23074
-a
-SDict begin [ /View [/XYZ H.V] /Dest (7332) cvn H.B /DEST pdfmark end
- -30 23074 a 1766 x FW(elvis,)p 0 TeXcolorgray 3302
-24840 a
-SDict begin H.S end
- 3302 24840 a FW(195)5393 24840 y
-SDict begin 18.2 H.L end
- 5393 24840 a
-5393 24840 a
-SDict begin [ /Subtype /Link /Dest (5535) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 5393 24840 a Black -30 25041 a
-SDict begin H.S end
- -30 25041
-a -30 25041 a
-SDict begin 18.2 H.A end
- -30 25041 a -30 25041 a
-SDict begin [ /View [/XYZ H.V] /Dest (7335) cvn H.B /DEST pdfmark end
- -30 25041 a 1814
-x FW(emacs,)p 0 TeXcolorgray 4153 26855 a
-SDict begin H.S end
- 4153 26855
-a FW(2)4850 26855 y
-SDict begin 18.2 H.L end
- 4850 26855 a 4850 26855 a
-SDict begin [ /Subtype /Link /Dest (333) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 4850 26855
-a Black FW(,)p 0 TeXcolorgray 5548 26855 a
-SDict begin H.S end
- 5548 26855
-a FW(205)7639 26855 y
-SDict begin 18.2 H.L end
- 7639 26855 a 7639 26855 a
-SDict begin [ /Subtype /Link /Dest (5931) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 7639
-26855 a Black -30 27057 a
-SDict begin H.S end
- -30 27057 a -30 27057 a
-SDict begin 18.2 H.A end
- -30
-27057 a -30 27057 a
-SDict begin [ /View [/XYZ H.V] /Dest (7338) cvn H.B /DEST pdfmark end
- -30 27057 a 1520 28871 a FW(basic)f(commands,)p
-0 TeXcolorgray 11476 28871 a
-SDict begin H.S end
- 11476 28871 a FW(210)13567
-28871 y
-SDict begin 18.2 H.L end
- 13567 28871 a 13567 28871 a
-SDict begin [ /Subtype /Link /Dest (6146) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 13567 28871 a Black
--30 29072 a
-SDict begin H.S end
- -30 29072 a -30 29072 a
-SDict begin 18.2 H.A end
- -30 29072 a -30 29072
-a
-SDict begin [ /View [/XYZ H.V] /Dest (7340) cvn H.B /DEST pdfmark end
- -30 29072 a 1520 30886 a FW(basic)g(editing,)p 0 TeXcolorgray
-9307 30886 a
-SDict begin H.S end
- 9307 30886 a FW(210)11398 30886 y
-SDict begin 18.2 H.L end
- 11398
-30886 a 11398 30886 a
-SDict begin [ /Subtype /Link /Dest (6133) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 11398 30886 a Black -30 31188 a
-SDict begin H.S end
-
--30 31188 a -30 31188 a
-SDict begin 18.2 H.A end
- -30 31188 a -30 31188 a
-SDict begin [ /View [/XYZ H.V] /Dest (7342) cvn H.B /DEST pdfmark end
- -30 31188
-a 1520 32901 a FW(b)-28 b(uf)-35 b(fers,)p 0 TeXcolorgray
-6104 32901 a
-SDict begin H.S end
- 6104 32901 a FW(207)8195 32901 y
-SDict begin 18.2 H.L end
- 8195 32901
-a 8195 32901 a
-SDict begin [ /Subtype /Link /Dest (6049) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 8195 32901 a Black -30 33103 a
-SDict begin H.S end
- -30 33103
-a -30 33103 a
-SDict begin 18.2 H.A end
- -30 33103 a -30 33103 a
-SDict begin [ /View [/XYZ H.V] /Dest (7344) cvn H.B /DEST pdfmark end
- -30 33103 a 1520
-34917 a FW(modes,)p 0 TeXcolorgray 5859 34917 a
-SDict begin H.S end
- 5859
-34917 a FW(208)7950 34917 y
-SDict begin 18.2 H.L end
- 7950 34917 a 7950 34917 a
-SDict begin [ /Subtype /Link /Dest (6080) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
-
-7950 34917 a Black -30 35118 a
-SDict begin H.S end
- -30 35118 a -30 35118
-a
-SDict begin 18.2 H.A end
- -30 35118 a -30 35118 a
-SDict begin [ /View [/XYZ H.V] /Dest (7346) cvn H.B /DEST pdfmark end
- -30 35118 a 1520 36932 a FW(quitting,)p
-0 TeXcolorgray 6558 36932 a
-SDict begin H.S end
- 6558 36932 a FW(213)8649
-36932 y
-SDict begin 18.2 H.L end
- 8649 36932 a 8649 36932 a
-SDict begin [ /Subtype /Link /Dest (6361) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 8649 36932 a Black
--30 37234 a
-SDict begin H.S end
- -30 37234 a -30 37234 a
-SDict begin 18.2 H.A end
- -30 37234 a -30 37234
-a
-SDict begin [ /View [/XYZ H.V] /Dest (7348) cvn H.B /DEST pdfmark end
- -30 37234 a 1520 38947 a FW(sa)-28 b(ving)349 b(\002les,)p
-0 TeXcolorgray 8505 38947 a
-SDict begin H.S end
- 8505 38947 a FW(212)10596
-38947 y
-SDict begin 18.2 H.L end
- 10596 38947 a 10596 38947 a
-SDict begin [ /Subtype /Link /Dest (6338) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 10596 38947 a Black
--30 39249 a
-SDict begin H.S end
- -30 39249 a -30 39249 a
-SDict begin 18.2 H.A end
- -30 39249 a -30 39249
-a
-SDict begin [ /View [/XYZ H.V] /Dest (7350) cvn H.B /DEST pdfmark end
- -30 39249 a 1520 40962 a FW(starting,)p 0 TeXcolorgray
-6401 40962 a
-SDict begin H.S end
- 6401 40962 a FW(206)8492 40962 y
-SDict begin 18.2 H.L end
- 8492 40962
-a 8492 40962 a
-SDict begin [ /Subtype /Link /Dest (5964) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 8492 40962 a Black -30 41264 a
-SDict begin H.S end
- -30 41264
-a -30 41264 a
-SDict begin 18.2 H.A end
- -30 41264 a -30 41264 a
-SDict begin [ /View [/XYZ H.V] /Dest (7353) cvn H.B /DEST pdfmark end
- -30 41264 a 1714
-x FW(email,)p 0 TeXcolorgray 3767 42978 a
-SDict begin H.S end
- 3767 42978
-a FW(165)5858 42978 y
-SDict begin 18.2 H.L end
- 5858 42978 a 5858 42978 a
-SDict begin [ /Subtype /Link /Dest (4634) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 5858
-42978 a Black -30 43179 a
-SDict begin H.S end
- -30 43179 a -30 43179 a
-SDict begin 18.2 H.A end
- -30
-43179 a -30 43179 a
-SDict begin [ /View [/XYZ H.V] /Dest (7355) cvn H.B /DEST pdfmark end
- -30 43179 a 1520 44993 a FW(composing,)p
-0 TeXcolorgray 8339 44993 a
-SDict begin H.S end
- 8339 44993 a FW(167)10430
-44993 y
-SDict begin 18.2 H.L end
- 10430 44993 a 10430 44993 a
-SDict begin [ /Subtype /Link /Dest (4692) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 10430 44993 a Black
--30 45295 a
-SDict begin H.S end
- -30 45295 a -30 45295 a
-SDict begin 18.2 H.A end
- -30 45295 a -30 45295
-a
-SDict begin [ /View [/XYZ H.V] /Dest (7358) cvn H.B /DEST pdfmark end
- -30 45295 a 1713 x FW(email)g(clients)-30 47022 y
-SDict begin H.S end
- -30
-47022 a -30 47022 a
-SDict begin 18.2 H.A end
- -30 47022 a -30 47022 a
-SDict begin [ /View [/XYZ H.V] /Dest (7359) cvn H.B /DEST pdfmark end
- -30 47022
-a 1520 49024 a FW(elm,)p 0 TeXcolorgray 4309 49024 a
-SDict begin H.S end
-
-4309 49024 a FW(165)6400 49024 y
-SDict begin 18.2 H.L end
- 6400 49024 a 6400 49024
-a
-SDict begin [ /Subtype /Link /Dest (4644) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 6400 49024 a Black 2 w FW(,)p 0 TeXcolorgray 7099 49024
-a
-SDict begin H.S end
- 7099 49024 a FW(167)9190 49024 y
-SDict begin 18.2 H.L end
- 9190 49024 a 9190
-49024 a
-SDict begin [ /Subtype /Link /Dest (4679) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 9190 49024 a Black -30 49225 a
-SDict begin H.S end
- -30 49225 a -30
-49225 a
-SDict begin 18.2 H.A end
- -30 49225 a -30 49225 a
-SDict begin [ /View [/XYZ H.V] /Dest (7362) cvn H.B /DEST pdfmark end
- -30 49225 a 1520 51039
-a FW(mutt,)p 0 TeXcolorgray 4775 51039 a
-SDict begin H.S end
- 4775 51039 a
-FW(168)6866 51039 y
-SDict begin 18.2 H.L end
- 6866 51039 a 6866 51039 a
-SDict begin [ /Subtype /Link /Dest (4705) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 6866 51039
-a Black -30 51241 a
-SDict begin H.S end
- -30 51241 a -30 51241 a
-SDict begin 18.2 H.A end
- -30 51241
-a -30 51241 a
-SDict begin [ /View [/XYZ H.V] /Dest (7364) cvn H.B /DEST pdfmark end
- -30 51241 a 1520 53054 a FW(nail,)p 0 TeXcolorgray
-4309 53054 a
-SDict begin H.S end
- 4309 53054 a FW(169)6400 53054 y
-SDict begin 18.2 H.L end
- 6400 53054
-a 6400 53054 a
-SDict begin [ /Subtype /Link /Dest (4741) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 6400 53054 a Black -30 53256 a
-SDict begin H.S end
- -30 53256
-a -30 53256 a
-SDict begin 18.2 H.A end
- -30 53256 a -30 53256 a
-SDict begin [ /View [/XYZ H.V] /Dest (7366) cvn H.B /DEST pdfmark end
- -30 53256 a 1520
-55070 a FW(pine,)p 0 TeXcolorgray 4619 55070 a
-SDict begin H.S end
- 4619 55070
-a FW(165)6710 55070 y
-SDict begin 18.2 H.L end
- 6710 55070 a 6710 55070 a
-SDict begin [ /Subtype /Link /Dest (4641) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 6710
-55070 a Black -30 55372 a
-SDict begin H.S end
- -30 55372 a -30 55372 a
-SDict begin 18.2 H.A end
- -30
-55372 a -30 55372 a
-SDict begin [ /View [/XYZ H.V] /Dest (7369) cvn H.B /DEST pdfmark end
- -30 55372 a 1713 x FW(en)-56 b(vironment)352
-b(v)-35 b(ariables,)p 0 TeXcolorgray 13011 57085 a
-SDict begin H.S end
- 13011
-57085 a FW(103)15102 57085 y
-SDict begin 18.2 H.L end
- 15102 57085 a 15102 57085
-a
-SDict begin [ /Subtype /Link /Dest (2739) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 15102 57085 a Black 1 w FW(,)p 0 TeXcolorgray 15801
-57085 a
-SDict begin H.S end
- 15801 57085 a FW(107)17892 57085 y
-SDict begin 18.2 H.L end
- 17892 57085
-a 17892 57085 a
-SDict begin [ /Subtype /Link /Dest (2897) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 17892 57085 a Black -30 57287 a
-SDict begin H.S end
- -30 57287
-a -30 57287 a
-SDict begin 18.2 H.A end
- -30 57287 a -30 57287 a
-SDict begin [ /View [/XYZ H.V] /Dest (7373) cvn H.B /DEST pdfmark end
- -30 57287 a 1813
-x FW(e)-21 b(xplodepkg,)p 0 TeXcolorgray 7155 59100 a
-SDict begin H.S end
-
-7155 59100 a FW(222)9246 59100 y
-SDict begin 18.2 H.L end
- 9246 59100 a 9246 59100
-a
-SDict begin [ /Subtype /Link /Dest (6585) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 9246 59100 a Black -30 59402 a
-SDict begin H.S end
- -30 59402 a -30 59402
-a
-SDict begin 18.2 H.A end
- -30 59402 a -30 59402 a
-SDict begin [ /View [/XYZ H.V] /Dest (7375) cvn H.B /DEST pdfmark end
- -30 59402 a 5825 x FL(F)-30
-66343 y
-SDict begin H.S end
- -30 66343 a -30 66343 a
-SDict begin 18.2 H.A end
- -30 66343 a -30 66343
-a
-SDict begin [ /View [/XYZ H.V] /Dest (7378) cvn H.B /DEST pdfmark end
- -30 66343 a 2015 x FW(F)-103 b(A)-77 b(Qs,)p 0 TeXcolorgray
-3820 68358 a
-SDict begin H.S end
- 3820 68358 a FW(10)5214 68358 y
-SDict begin 18.2 H.L end
- 5214 68358
-a 5214 68358 a
-SDict begin [ /Subtype /Link /Dest (493) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 5214 68358 a Black Black Black 27866 2383
-a
-SDict begin H.S end
- 27866 2383 a 27866 2383 a
-SDict begin 18.2 H.A end
- 27866 2383 a 27866 2383 a
-SDict begin [ /View [/XYZ H.V] /Dest (7381) cvn H.B /DEST pdfmark end
-
-27866 2383 a 1107 x FW(fdisk,)p 0 TeXcolorgray 31352
-3490 a
-SDict begin H.S end
- 31352 3490 a FW(22)32746 3490 y
-SDict begin 18.2 H.L end
- 32746 3490 a 32746
-3490 a
-SDict begin [ /Subtype /Link /Dest (902) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 32746 3490 a Black 27866 3692 a
-SDict begin H.S end
- 27866 3692 a 27866
-3692 a
-SDict begin 18.2 H.A end
- 27866 3692 a 27866 3692 a
-SDict begin [ /View [/XYZ H.V] /Dest (7384) cvn H.B /DEST pdfmark end
- 27866 3692 a 1825 x
-FW(\002le)349 b(systems,)p 0 TeXcolorgray 35111 5517
-a
-SDict begin H.S end
- 35111 5517 a FW(28)36505 5517 y
-SDict begin 18.2 H.L end
- 36505 5517 a 36505
-5517 a
-SDict begin [ /Subtype /Link /Dest (1028) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 36505 5517 a Black 1 w FW(,)p 0 TeXcolorgray 37203
-5517 a
-SDict begin H.S end
- 37203 5517 a FW(41)38597 5517 y
-SDict begin 18.2 H.L end
- 38597 5517 a 38597
-5517 a
-SDict begin [ /Subtype /Link /Dest (1217) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 38597 5517 a Black 1 w FW(,)p 0 TeXcolorgray 39296
-5517 a
-SDict begin H.S end
- 39296 5517 a FW(111)41387 5517 y
-SDict begin 18.2 H.L end
- 41387 5517 a
-41387 5517 a
-SDict begin [ /Subtype /Link /Dest (3070) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 41387 5517 a Black 27866 5819 a
-SDict begin H.S end
- 27866 5819
-a 27866 5819 a
-SDict begin 18.2 H.A end
- 27866 5819 a 27866 5819 a
-SDict begin [ /View [/XYZ H.V] /Dest (7388) cvn H.B /DEST pdfmark end
- 27866 5819 a
-29415 7544 a FW(journalling,)p 0 TeXcolorgray 36234 7544
-a
-SDict begin H.S end
- 36234 7544 a FW(153)38325 7544 y
-SDict begin 18.2 H.L end
- 38325 7544 a 38325
-7544 a
-SDict begin [ /Subtype /Link /Dest (4316) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 38325 7544 a Black 27866 7846 a
-SDict begin H.S end
- 27866 7846 a 27866
-7846 a
-SDict begin 18.2 H.A end
- 27866 7846 a 27866 7846 a
-SDict begin [ /View [/XYZ H.V] /Dest (7390) cvn H.B /DEST pdfmark end
- 27866 7846 a 29415 9572
-a FW(layout,)p 0 TeXcolorgray 33600 9572 a
-SDict begin H.S end
- 33600 9572
-a FW(41)34994 9572 y
-SDict begin 18.2 H.L end
- 34994 9572 a 34994 9572 a
-SDict begin [ /Subtype /Link /Dest (1219) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 34994
-9572 a Black 27866 9874 a
-SDict begin H.S end
- 27866 9874 a 27866 9874 a
-SDict begin 18.2 H.A end
- 27866
-9874 a 27866 9874 a
-SDict begin [ /View [/XYZ H.V] /Dest (7392) cvn H.B /DEST pdfmark end
- 27866 9874 a 29415 11599 a FW(netw)-14
-b(ork,)p 0 TeXcolorgray 34669 11599 a
-SDict begin H.S end
- 34669 11599 a FW(70)36063
-11599 y
-SDict begin 18.2 H.L end
- 36063 11599 a 36063 11599 a
-SDict begin [ /Subtype /Link /Dest (2107) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 36063 11599 a Black
-27866 11800 a
-SDict begin H.S end
- 27866 11800 a 27866 11800 a
-SDict begin 18.2 H.A end
- 27866 11800
-a 27866 11800 a
-SDict begin [ /View [/XYZ H.V] /Dest (7394) cvn H.B /DEST pdfmark end
- 27866 11800 a 29415 13626 a FW(SMB,)p
-0 TeXcolorgray 33058 13626 a
-SDict begin H.S end
- 33058 13626 a FW(70)34452
-13626 y
-SDict begin 18.2 H.L end
- 34452 13626 a 34452 13626 a
-SDict begin [ /Subtype /Link /Dest (2128) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 34452 13626 a Black
-27866 13827 a
-SDict begin H.S end
- 27866 13827 a 27866 13827 a
-SDict begin 18.2 H.A end
- 27866 13827
-a 27866 13827 a
-SDict begin [ /View [/XYZ H.V] /Dest (7397) cvn H.B /DEST pdfmark end
- 27866 13827 a 1826 x FW(\002les)27866
-15667 y
-SDict begin H.S end
- 27866 15667 a 27866 15667 a
-SDict begin 18.2 H.A end
- 27866 15667 a 27866
-15667 a
-SDict begin [ /View [/XYZ H.V] /Dest (7398) cvn H.B /DEST pdfmark end
- 27866 15667 a 29415 17680 a FW(archi)-35 b(ving,)p
-0 TeXcolorgray 35346 17680 a
-SDict begin H.S end
- 35346 17680 a FW(192)37437
-17680 y
-SDict begin 18.2 H.L end
- 37437 17680 a 37437 17680 a
-SDict begin [ /Subtype /Link /Dest (5454) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 37437 17680 a Black
-27866 17982 a
-SDict begin H.S end
- 27866 17982 a 27866 17982 a
-SDict begin 18.2 H.A end
- 27866 17982
-a 27866 17982 a
-SDict begin [ /View [/XYZ H.V] /Dest (7400) cvn H.B /DEST pdfmark end
- 27866 17982 a 29415 19707 a FW(changing)351
-b(o)-35 b(wnership,)p 0 TeXcolorgray 41350 19707 a
-SDict begin H.S end
- 41350
-19707 a FW(111)43441 19707 y
-SDict begin 18.2 H.L end
- 43441 19707 a 43441 19707
-a
-SDict begin [ /Subtype /Link /Dest (3097) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 43441 19707 a Black 27866 20009 a
-SDict begin H.S end
- 27866 20009 a 27866
-20009 a
-SDict begin 18.2 H.A end
- 27866 20009 a 27866 20009 a
-SDict begin [ /View [/XYZ H.V] /Dest (7402) cvn H.B /DEST pdfmark end
- 27866 20009 a 29415
-21734 a FW(compressing,)p 0 TeXcolorgray 37163 21734
-a
-SDict begin H.S end
- 37163 21734 a FW(189)39254 21734 y
-SDict begin 18.2 H.L end
- 39254 21734 a 39254
-21734 a
-SDict begin [ /Subtype /Link /Dest (5290) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 39254 21734 a Black 27866 22036 a
-SDict begin H.S end
- 27866 22036
-a 27866 22036 a
-SDict begin 18.2 H.A end
- 27866 22036 a 27866 22036 a
-SDict begin [ /View [/XYZ H.V] /Dest (7404) cvn H.B /DEST pdfmark end
- 27866 22036
-a 29415 23761 a FW(cop)-14 b(ying,)p 0 TeXcolorgray 34593
-23761 a
-SDict begin H.S end
- 34593 23761 a FW(128)36684 23761 y
-SDict begin 18.2 H.L end
- 36684 23761
-a 36684 23761 a
-SDict begin [ /Subtype /Link /Dest (3669) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 36684 23761 a Black 27866 24063 a
-SDict begin H.S end
- 27866
-24063 a 27866 24063 a
-SDict begin 18.2 H.A end
- 27866 24063 a 27866 24063 a
-SDict begin [ /View [/XYZ H.V] /Dest (7406) cvn H.B /DEST pdfmark end
- 27866
-24063 a 29415 25789 a FW(displaying,)p 0 TeXcolorgray
-35925 25789 a
-SDict begin H.S end
- 35925 25789 a FW(126)38016 25789 y
-SDict begin 18.2 H.L end
- 38016
-25789 a 38016 25789 a
-SDict begin [ /Subtype /Link /Dest (3578) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 38016 25789 a Black 27866 26091
-a
-SDict begin H.S end
- 27866 26091 a 27866 26091 a
-SDict begin 18.2 H.A end
- 27866 26091 a 27866 26091
-a
-SDict begin [ /View [/XYZ H.V] /Dest (7408) cvn H.B /DEST pdfmark end
- 27866 26091 a 29415 27816 a FW(do)-35 b(wnloading,)p
-0 TeXcolorgray 37361 27816 a
-SDict begin H.S end
- 37361 27816 a FW(173)39452
-27816 y
-SDict begin 18.2 H.L end
- 39452 27816 a 39452 27816 a
-SDict begin [ /Subtype /Link /Dest (4836) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 39452 27816 a Black
-27866 28118 a
-SDict begin H.S end
- 27866 28118 a 27866 28118 a
-SDict begin 18.2 H.A end
- 27866 28118
-a 27866 28118 a
-SDict begin [ /View [/XYZ H.V] /Dest (7410) cvn H.B /DEST pdfmark end
- 27866 28118 a 29415 29843 a FW(editing,)p
-0 TeXcolorgray 33987 29843 a
-SDict begin H.S end
- 33987 29843 a FW(205)36078
-29843 y
-SDict begin 18.2 H.L end
- 36078 29843 a 36078 29843 a
-SDict begin [ /Subtype /Link /Dest (5952) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 36078 29843 a Black
-27866 30145 a
-SDict begin H.S end
- 27866 30145 a 27866 30145 a
-SDict begin 18.2 H.A end
- 27866 30145
-a 27866 30145 a
-SDict begin [ /View [/XYZ H.V] /Dest (7412) cvn H.B /DEST pdfmark end
- 27866 30145 a 29415 31870 a FW(listing,)p
-0 TeXcolorgray 33601 31870 a
-SDict begin H.S end
- 33601 31870 a FW(121)35692
-31870 y
-SDict begin 18.2 H.L end
- 35692 31870 a 35692 31870 a
-SDict begin [ /Subtype /Link /Dest (3400) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 35692 31870 a Black
-27866 32172 a
-SDict begin H.S end
- 27866 32172 a 27866 32172 a
-SDict begin 18.2 H.A end
- 27866 32172
-a 27866 32172 a
-SDict begin [ /View [/XYZ H.V] /Dest (7414) cvn H.B /DEST pdfmark end
- 27866 32172 a 29415 33897 a FW(mo)-21
-b(ving,)p 0 TeXcolorgray 34354 33897 a
-SDict begin H.S end
- 34354 33897 a
-FW(129)36445 33897 y
-SDict begin 18.2 H.L end
- 36445 33897 a 36445 33897 a
-SDict begin [ /Subtype /Link /Dest (3714) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 36445
-33897 a Black 27866 34199 a
-SDict begin H.S end
- 27866 34199 a 27866 34199
-a
-SDict begin 18.2 H.A end
- 27866 34199 a 27866 34199 a
-SDict begin [ /View [/XYZ H.V] /Dest (7416) cvn H.B /DEST pdfmark end
- 27866 34199 a 29415 35924
-a FW(o)-35 b(wnership,)p 0 TeXcolorgray 35888 35924 a
-SDict begin H.S end
-
-35888 35924 a FW(111)37979 35924 y
-SDict begin 18.2 H.L end
- 37979 35924 a 37979
-35924 a
-SDict begin [ /Subtype /Link /Dest (3080) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 37979 35924 a Black 27866 36226 a
-SDict begin H.S end
- 27866 36226
-a 27866 36226 a
-SDict begin 18.2 H.A end
- 27866 36226 a 27866 36226 a
-SDict begin [ /View [/XYZ H.V] /Dest (7418) cvn H.B /DEST pdfmark end
- 27866 36226
-a 29415 37951 a FW(permission,)p 0 TeXcolorgray 36234
-37951 a
-SDict begin H.S end
- 36234 37951 a FW(112)38325 37951 y
-SDict begin 18.2 H.L end
- 38325 37951
-a 38325 37951 a
-SDict begin [ /Subtype /Link /Dest (3136) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 38325 37951 a Black 27866 38253 a
-SDict begin H.S end
- 27866
-38253 a 27866 38253 a
-SDict begin 18.2 H.A end
- 27866 38253 a 27866 38253 a
-SDict begin [ /View [/XYZ H.V] /Dest (7420) cvn H.B /DEST pdfmark end
- 27866
-38253 a 29415 39978 a FW(remo)-21 b(ving,)p 0 TeXcolorgray
-35438 39978 a
-SDict begin H.S end
- 35438 39978 a FW(129)37529 39978 y
-SDict begin 18.2 H.L end
- 37529
-39978 a 37529 39978 a
-SDict begin [ /Subtype /Link /Dest (3737) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 37529 39978 a Black 27866 40280
-a
-SDict begin H.S end
- 27866 40280 a 27866 40280 a
-SDict begin 18.2 H.A end
- 27866 40280 a 27866 40280
-a
-SDict begin [ /View [/XYZ H.V] /Dest (7422) cvn H.B /DEST pdfmark end
- 27866 40280 a 29415 42006 a FW(timestamps,)p 0 TeXcolorgray
-36467 42006 a
-SDict begin H.S end
- 36467 42006 a FW(127)38558 42006 y
-SDict begin 18.2 H.L end
- 38558
-42006 a 38558 42006 a
-SDict begin [ /Subtype /Link /Dest (3621) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 38558 42006 a Black 27866 42307
-a
-SDict begin H.S end
- 27866 42307 a 27866 42307 a
-SDict begin 18.2 H.A end
- 27866 42307 a 27866 42307
-a
-SDict begin [ /View [/XYZ H.V] /Dest (7425) cvn H.B /DEST pdfmark end
- 27866 42307 a 1726 x FW(\002nd,)p 0 TeXcolorgray 30733
-44033 a
-SDict begin H.S end
- 30733 44033 a FW(45)32127 44033 y
-SDict begin 18.2 H.L end
- 32127 44033
-a 32127 44033 a
-SDict begin [ /Subtype /Link /Dest (1365) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 32127 44033 a Black 27866 44234 a
-SDict begin H.S end
- 27866
-44234 a 27866 44234 a
-SDict begin 18.2 H.A end
- 27866 44234 a 27866 44234 a
-SDict begin [ /View [/XYZ H.V] /Dest (7428) cvn H.B /DEST pdfmark end
- 27866
-44234 a 1826 x FW(\002re)-35 b(w)-14 b(all,)p 0 TeXcolorgray
-32775 46060 a
-SDict begin H.S end
- 32775 46060 a FW(183)34866 46060 y
-SDict begin 18.2 H.L end
- 34866
-46060 a 34866 46060 a
-SDict begin [ /Subtype /Link /Dest (5139) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 34866 46060 a Black 27866 46261
-a
-SDict begin H.S end
- 27866 46261 a 27866 46261 a
-SDict begin 18.2 H.A end
- 27866 46261 a 27866 46261
-a
-SDict begin [ /View [/XYZ H.V] /Dest (7431) cvn H.B /DEST pdfmark end
- 27866 46261 a 1826 x FW(\003opp)g(y)350 b(disk,)p 0
-TeXcolorgray 34788 48087 a
-SDict begin H.S end
- 34788 48087 a FW(91)36182
-48087 y
-SDict begin 18.2 H.L end
- 36182 48087 a 36182 48087 a
-SDict begin [ /Subtype /Link /Dest (2530) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 36182 48087 a Black
-FW(,)p 0 TeXcolorgray 36880 48087 a
-SDict begin H.S end
- 36880 48087 a FW(118)38971
-48087 y
-SDict begin 18.2 H.L end
- 38971 48087 a 38971 48087 a
-SDict begin [ /Subtype /Link /Dest (3365) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 38971 48087 a Black
-27866 48389 a
-SDict begin H.S end
- 27866 48389 a 27866 48389 a
-SDict begin 18.2 H.A end
- 27866 48389
-a 27866 48389 a
-SDict begin [ /View [/XYZ H.V] /Dest (7435) cvn H.B /DEST pdfmark end
- 27866 48389 a 1725 x FW(\003opp)-14 b(y)350
-b(disks)27866 50416 y
-SDict begin H.S end
- 27866 50416 a 27866 50416 a
-SDict begin 18.2 H.A end
- 27866
-50416 a 27866 50416 a
-SDict begin [ /View [/XYZ H.V] /Dest (7436) cvn H.B /DEST pdfmark end
- 27866 50416 a 29415 52141 a FW(cop)-14
-b(ying,)p 0 TeXcolorgray 34593 52141 a
-SDict begin H.S end
- 34593 52141 a
-FW(21)35987 52141 y
-SDict begin 18.2 H.L end
- 35987 52141 a 35987 52141 a
-SDict begin [ /Subtype /Link /Dest (873) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 35987
-52141 a Black 27866 52443 a
-SDict begin H.S end
- 27866 52443 a 27866 52443
-a
-SDict begin 18.2 H.A end
- 27866 52443 a 27866 52443 a
-SDict begin [ /View [/XYZ H.V] /Dest (7439) cvn H.B /DEST pdfmark end
- 27866 52443 a 1725 x FW(font,)p
-0 TeXcolorgray 30810 54168 a
-SDict begin H.S end
- 30810 54168 a FW(38)32204
-54168 y
-SDict begin 18.2 H.L end
- 32204 54168 a 32204 54168 a
-SDict begin [ /Subtype /Link /Dest (1161) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 32204 54168 a Black
-1 w FW(,)p 0 TeXcolorgray 32902 54168 a
-SDict begin H.S end
- 32902 54168 a
-FW(50)34296 54168 y
-SDict begin 18.2 H.L end
- 34296 54168 a 34296 54168 a
-SDict begin [ /Subtype /Link /Dest (1561) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 34296
-54168 a Black 27866 54370 a
-SDict begin H.S end
- 27866 54370 a 27866 54370
-a
-SDict begin 18.2 H.A end
- 27866 54370 a 27866 54370 a
-SDict begin [ /View [/XYZ H.V] /Dest (7443) cvn H.B /DEST pdfmark end
- 27866 54370 a 1825 x FW(free)350
-b(softw)-14 b(are,)p 0 TeXcolorgray 35867 56195 a
-SDict begin H.S end
- 35867
-56195 a FW(3)36564 56195 y
-SDict begin 18.2 H.L end
- 36564 56195 a 36564 56195
-a
-SDict begin [ /Subtype /Link /Dest (355) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 36564 56195 a Black 27866 56397 a
-SDict begin H.S end
- 27866 56397 a 27866
-56397 a
-SDict begin 18.2 H.A end
- 27866 56397 a 27866 56397 a
-SDict begin [ /View [/XYZ H.V] /Dest (7446) cvn H.B /DEST pdfmark end
- 27866 56397 a 1826
-x FW(Free)350 b(Softw)-14 b(are)350 b(F)-21 b(oundation,)p
-0 TeXcolorgray 43093 58223 a
-SDict begin H.S end
- 43093 58223 a FW(2)43790
-58223 y
-SDict begin 18.2 H.L end
- 43790 58223 a 43790 58223 a
-SDict begin [ /Subtype /Link /Dest (323) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 43790 58223 a Black
-1 w FW(,)p 0 TeXcolorgray 44488 58223 a
-SDict begin H.S end
- 44488 58223 a
-FW(3)45185 58223 y
-SDict begin 18.2 H.L end
- 45185 58223 a 45185 58223 a
-SDict begin [ /Subtype /Link /Dest (359) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 45185
-58223 a Black 27866 58424 a
-SDict begin H.S end
- 27866 58424 a 27866 58424
-a
-SDict begin 18.2 H.A end
- 27866 58424 a 27866 58424 a
-SDict begin [ /View [/XYZ H.V] /Dest (7450) cvn H.B /DEST pdfmark end
- 27866 58424 a 1826 x FW(FTP)-155
-b(,)p 0 TeXcolorgray 30811 60250 a
-SDict begin H.S end
- 30811 60250 a FW(70)32205
-60250 y
-SDict begin 18.2 H.L end
- 32205 60250 a 32205 60250 a
-SDict begin [ /Subtype /Link /Dest (2110) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 32205 60250 a Black
-27866 60451 a
-SDict begin H.S end
- 27866 60451 a 27866 60451 a
-SDict begin 18.2 H.A end
- 27866 60451
-a 27866 60451 a
-SDict begin [ /View [/XYZ H.V] /Dest (7452) cvn H.B /DEST pdfmark end
- 27866 60451 a 29415 62277 a FW(clients,)p
-0 TeXcolorgray 33754 62277 a
-SDict begin H.S end
- 33754 62277 a FW(174)35845
-62277 y
-SDict begin 18.2 H.L end
- 35845 62277 a 35845 62277 a
-SDict begin [ /Subtype /Link /Dest (4863) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 35845 62277 a Black
-27866 62478 a
-SDict begin H.S end
- 27866 62478 a 27866 62478 a
-SDict begin 18.2 H.A end
- 27866 62478
-a 27866 62478 a
-SDict begin [ /View [/XYZ H.V] /Dest (7454) cvn H.B /DEST pdfmark end
- 27866 62478 a 29415 64304 a FW(commands,)p
-0 TeXcolorgray 36156 64304 a
-SDict begin H.S end
- 36156 64304 a FW(175)38247
-64304 y
-SDict begin 18.2 H.L end
- 38247 64304 a 38247 64304 a
-SDict begin [ /Subtype /Link /Dest (4941) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 38247 64304 a Black
-27866 64505 a
-SDict begin H.S end
- 27866 64505 a 27866 64505 a
-SDict begin 18.2 H.A end
- 27866 64505
-a 27866 64505 a
-SDict begin [ /View [/XYZ H.V] /Dest (7457) cvn H.B /DEST pdfmark end
- 27866 64505 a 1826 x FW(FTP)349 b(clients)27866
-66345 y
-SDict begin H.S end
- 27866 66345 a 27866 66345 a
-SDict begin 18.2 H.A end
- 27866 66345 a 27866
-66345 a
-SDict begin [ /View [/XYZ H.V] /Dest (7458) cvn H.B /DEST pdfmark end
- 27866 66345 a 29415 68358 a FW(NcFTP)-155 b(,)p
-0 TeXcolorgray 33987 68358 a
-SDict begin H.S end
- 33987 68358 a FW(176)36078
-68358 y
-SDict begin 18.2 H.L end
- 36078 68358 a 36078 68358 a
-SDict begin [ /Subtype /Link /Dest (4960) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 36078 68358 a Black
-27866 68560 a
-SDict begin H.S end
- 27866 68560 a 27866 68560 a
-SDict begin 18.2 H.A end
- 27866 68560
-a 27866 68560 a
-SDict begin [ /View [/XYZ H.V] /Dest (7460) cvn H.B /DEST pdfmark end
- 27866 68560 a Black -30 73672 a FR(256)p
-Black eop end
-%%Page: 257 279
-TeXDict begin 257 278 bop -8000 -8000 a
-SDict begin /product where{pop product(Distiller)search{pop pop pop
-version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
-closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
-grestore}if}{pop}ifelse}{pop}ifelse}if end
- -8000 -8000 a
-Black 0 TeXcolorgray -30 -1358 a
-SDict begin H.S end
- -30 -1358 a 0 TeXcolorgray
-0 TeXcolorgray -30 -1358 a
-SDict begin H.R end
- -30 -1358 a -30 -1358 a
-SDict begin [ /View [/XYZ H.V] /Dest (page.257) cvn H.B /DEST pdfmark
-end
- -30
--1358 a Black -30 -2687 a
-SDict begin H.S end
- -30 -2687 a -30 -2687 a
-SDict begin 18.2 H.A end
- -30
--2687 a -30 -2687 a
-SDict begin [ /View [/XYZ H.V] /Dest (7617) cvn H.B /DEST pdfmark end
- -30 -2687 a Black 6698 x FL(G)-30
-5155 y
-SDict begin H.S end
- -30 5155 a -30 5155 a
-SDict begin 18.2 H.A end
- -30 5155 a -30 5155 a
-SDict begin [ /View [/XYZ H.V] /Dest (7463) cvn H.B /DEST pdfmark end
- -30
-5155 a 2000 x FW(gcc,)p 0 TeXcolorgray 2603 7155 a
-SDict begin H.S end
- 2603
-7155 a FW(2)3300 7155 y
-SDict begin 18.2 H.L end
- 3300 7155 a 3300 7155 a
-SDict begin [ /Subtype /Link /Dest (325) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 3300
-7155 a Black -30 7457 a
-SDict begin H.S end
- -30 7457 a -30 7457 a
-SDict begin 18.2 H.A end
- -30 7457
-a -30 7457 a
-SDict begin [ /View [/XYZ H.V] /Dest (7466) cvn H.B /DEST pdfmark end
- -30 7457 a 1726 x FW(GIMP)-155 b(,)p 0 TeXcolorgray
-4000 9183 a
-SDict begin H.S end
- 4000 9183 a FW(83)5394 9183 y
-SDict begin 18.2 H.L end
- 5394 9183 a
-5394 9183 a
-SDict begin [ /Subtype /Link /Dest (2394) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 5394 9183 a Black -30 9384 a
-SDict begin H.S end
- -30 9384 a -30
-9384 a
-SDict begin 18.2 H.A end
- -30 9384 a -30 9384 a
-SDict begin [ /View [/XYZ H.V] /Dest (7469) cvn H.B /DEST pdfmark end
- -30 9384 a 1827 x FW(GNOME,)p
-0 TeXcolorgray 5781 11211 a
-SDict begin H.S end
- 5781 11211 a FW(15)7175 11211
-y
-SDict begin 18.2 H.L end
- 7175 11211 a 7175 11211 a
-SDict begin [ /Subtype /Link /Dest (647) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 7175 11211 a Black FW(,)p
-0 TeXcolorgray 7873 11211 a
-SDict begin H.S end
- 7873 11211 a FW(83)9267 11211
-y
-SDict begin 18.2 H.L end
- 9267 11211 a 9267 11211 a
-SDict begin [ /Subtype /Link /Dest (2391) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 9267 11211 a Black -30 11412
-a
-SDict begin H.S end
- -30 11412 a -30 11412 a
-SDict begin 18.2 H.A end
- -30 11412 a -30 11412 a
-SDict begin [ /View [/XYZ H.V] /Dest (7473) cvn H.B /DEST pdfmark end
- -30
-11412 a 1827 x FW(GNU,)p 0 TeXcolorgray 3689 13239 a
-SDict begin H.S end
-
-3689 13239 a FW(2)4386 13239 y
-SDict begin 18.2 H.L end
- 4386 13239 a 4386 13239
-a
-SDict begin [ /Subtype /Link /Dest (319) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 4386 13239 a Black FW(,)p 0 TeXcolorgray 5083 13239
-a
-SDict begin H.S end
- 5083 13239 a FW(3)5780 13239 y
-SDict begin 18.2 H.L end
- 5780 13239 a 5780 13239
-a
-SDict begin [ /Subtype /Link /Dest (361) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 5780 13239 a Black 1 w FW(,)p 0 TeXcolorgray 6478 13239
-a
-SDict begin H.S end
- 6478 13239 a FW(189)8569 13239 y
-SDict begin 18.2 H.L end
- 8569 13239 a 8569
-13239 a
-SDict begin [ /Subtype /Link /Dest (5288) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 8569 13239 a Black -30 13440 a
-SDict begin H.S end
- -30 13440 a -30
-13440 a
-SDict begin 18.2 H.A end
- -30 13440 a -30 13440 a
-SDict begin [ /View [/XYZ H.V] /Dest (7478) cvn H.B /DEST pdfmark end
- -30 13440 a 1827 x FW(GNU)349
-b(Emacs,)p 0 TeXcolorgray 7756 15267 a
-SDict begin H.S end
- 7756 15267 a FW(205)9847
-15267 y
-SDict begin 18.2 H.L end
- 9847 15267 a 9847 15267 a
-SDict begin [ /Subtype /Link /Dest (5956) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 9847 15267 a Black
--30 15468 a
-SDict begin H.S end
- -30 15468 a -30 15468 a
-SDict begin 18.2 H.A end
- -30 15468 a -30 15468
-a
-SDict begin [ /View [/XYZ H.V] /Dest (7481) cvn H.B /DEST pdfmark end
- -30 15468 a 1827 x FW(GNU)g(tape)g(archi)-35 b(v)-21
-b(er)-30 17597 y
-SDict begin H.S end
- -30 17597 a -30 17597 a
-SDict begin 18.2 H.A end
- -30 17597 a
--30 17597 a
-SDict begin [ /View [/XYZ H.V] /Dest (7482) cvn H.B /DEST pdfmark end
- -30 17597 a 1520 19323 a FW(\(see)349 b(tar\))-30
-19572 y
-SDict begin H.S end
- -30 19572 a -30 19572 a
-SDict begin 18.2 H.A end
- -30 19572 a -30 19572
-a
-SDict begin [ /View [/XYZ H.V] /Dest (7484) cvn H.B /DEST pdfmark end
- -30 19572 a 1779 x FW(GNU/Linux,)p 0 TeXcolorgray 7408
-21351 a
-SDict begin H.S end
- 7408 21351 a FW(2)8105 21351 y
-SDict begin 18.2 H.L end
- 8105 21351 a 8105
-21351 a
-SDict begin [ /Subtype /Link /Dest (321) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 8105 21351 a Black -30 21552 a
-SDict begin H.S end
- -30 21552 a -30
-21552 a
-SDict begin 18.2 H.A end
- -30 21552 a -30 21552 a
-SDict begin [ /View [/XYZ H.V] /Dest (7487) cvn H.B /DEST pdfmark end
- -30 21552 a 1827 x FW(GPL,)p
-0 TeXcolorgray 3302 23379 a
-SDict begin H.S end
- 3302 23379 a FW(1)3999 23379
-y
-SDict begin 18.2 H.L end
- 3999 23379 a 3999 23379 a
-SDict begin [ /Subtype /Link /Dest (303) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 3999 23379 a Black 1 w FW(,)p
-0 TeXcolorgray 4697 23379 a
-SDict begin H.S end
- 4697 23379 a FW(4)5394 23379
-y
-SDict begin 18.2 H.L end
- 5394 23379 a 5394 23379 a
-SDict begin [ /Subtype /Link /Dest (365) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 5394 23379 a Black -30 23580
-a
-SDict begin H.S end
- -30 23580 a -30 23580 a
-SDict begin 18.2 H.A end
- -30 23580 a -30 23580 a
-SDict begin [ /View [/XYZ H.V] /Dest (7491) cvn H.B /DEST pdfmark end
- -30
-23580 a 1826 x FW(group,)p 0 TeXcolorgray 3921 25406
-a
-SDict begin H.S end
- 3921 25406 a FW(111)6012 25406 y
-SDict begin 18.2 H.L end
- 6012 25406 a 6012
-25406 a
-SDict begin [ /Subtype /Link /Dest (3090) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 6012 25406 a Black -30 25708 a
-SDict begin H.S end
- -30 25708 a -30
-25708 a
-SDict begin 18.2 H.A end
- -30 25708 a -30 25708 a
-SDict begin [ /View [/XYZ H.V] /Dest (7494) cvn H.B /DEST pdfmark end
- -30 25708 a 1726 x FW(groups)-30
-27736 y
-SDict begin H.S end
- -30 27736 a -30 27736 a
-SDict begin 18.2 H.A end
- -30 27736 a -30 27736
-a
-SDict begin [ /View [/XYZ H.V] /Dest (7495) cvn H.B /DEST pdfmark end
- -30 27736 a 1520 29462 a FW(adding,)p 0 TeXcolorgray
-6014 29462 a
-SDict begin H.S end
- 6014 29462 a FW(152)8105 29462 y
-SDict begin 18.2 H.L end
- 8105 29462
-a 8105 29462 a
-SDict begin [ /Subtype /Link /Dest (4275) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 8105 29462 a Black -30 29764 a
-SDict begin H.S end
- -30 29764
-a -30 29764 a
-SDict begin 18.2 H.A end
- -30 29764 a -30 29764 a
-SDict begin [ /View [/XYZ H.V] /Dest (7497) cvn H.B /DEST pdfmark end
- -30 29764 a 1520
-31490 a FW(initial,)p 0 TeXcolorgray 5473 31490 a
-SDict begin H.S end
- 5473
-31490 a FW(144)7564 31490 y
-SDict begin 18.2 H.L end
- 7564 31490 a 7564 31490 a
-SDict begin [ /Subtype /Link /Dest (4098) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
-
-7564 31490 a Black -30 31692 a
-SDict begin H.S end
- -30 31692 a -30 31692
-a
-SDict begin 18.2 H.A end
- -30 31692 a -30 31692 a
-SDict begin [ /View [/XYZ H.V] /Dest (7500) cvn H.B /DEST pdfmark end
- -30 31692 a 1826 x FW(GR)-56
-b(UB,)p 0 TeXcolorgray 4486 33518 a
-SDict begin H.S end
- 4486 33518 a FW(89)5880
-33518 y
-SDict begin 18.2 H.L end
- 5880 33518 a 5880 33518 a
-SDict begin [ /Subtype /Link /Dest (2478) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 5880 33518 a Black
--30 33720 a
-SDict begin H.S end
- -30 33720 a -30 33720 a
-SDict begin 18.2 H.A end
- -30 33720 a -30 33720
-a
-SDict begin [ /View [/XYZ H.V] /Dest (7503) cvn H.B /DEST pdfmark end
- -30 33720 a 1826 x FW(gzip,)p 0 TeXcolorgray 3069 35546
-a
-SDict begin H.S end
- 3069 35546 a FW(189)5160 35546 y
-SDict begin 18.2 H.L end
- 5160 35546 a 5160
-35546 a
-SDict begin [ /Subtype /Link /Dest (5286) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 5160 35546 a Black -30 35848 a
-SDict begin H.S end
- -30 35848 a -30
-35848 a
-SDict begin 18.2 H.A end
- -30 35848 a -30 35848 a
-SDict begin [ /View [/XYZ H.V] /Dest (7505) cvn H.B /DEST pdfmark end
- -30 35848 a 5863 x FL(H)-30
-42826 y
-SDict begin H.S end
- -30 42826 a -30 42826 a
-SDict begin 18.2 H.A end
- -30 42826 a -30 42826
-a
-SDict begin [ /View [/XYZ H.V] /Dest (7508) cvn H.B /DEST pdfmark end
- -30 42826 a 2028 x FW(hard)350 b(disk,)p 0 TeXcolorgray
-5820 44854 a
-SDict begin H.S end
- 5820 44854 a FW(22)7214 44854 y
-SDict begin 18.2 H.L end
- 7214 44854
-a 7214 44854 a
-SDict begin [ /Subtype /Link /Dest (904) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 7214 44854 a Black -30 45056 a
-SDict begin H.S end
- -30 45056
-a -30 45056 a
-SDict begin 18.2 H.A end
- -30 45056 a -30 45056 a
-SDict begin [ /View [/XYZ H.V] /Dest (7511) cvn H.B /DEST pdfmark end
- -30 45056 a 1826
-x FW(hardw)-14 b(are)351 b(requirements,)p 0 TeXcolorgray
-13473 46882 a
-SDict begin H.S end
- 13473 46882 a FW(17)14867 46882 y
-SDict begin 18.2 H.L end
- 14867
-46882 a 14867 46882 a
-SDict begin [ /Subtype /Link /Dest (696) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 14867 46882 a Black -30 47184 a
-SDict begin H.S end
-
--30 47184 a -30 47184 a
-SDict begin 18.2 H.A end
- -30 47184 a -30 47184 a
-SDict begin [ /View [/XYZ H.V] /Dest (7514) cvn H.B /DEST pdfmark end
- -30 47184
-a 1726 x FW(home)f(directory)-91 b(,)p 0 TeXcolorgray
-9060 48910 a
-SDict begin H.S end
- 9060 48910 a FW(152)11151 48910 y
-SDict begin 18.2 H.L end
- 11151
-48910 a 11151 48910 a
-SDict begin [ /Subtype /Link /Dest (4301) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 11151 48910 a Black -30 49212 a
-SDict begin H.S end
-
--30 49212 a -30 49212 a
-SDict begin 18.2 H.A end
- -30 49212 a -30 49212 a
-SDict begin [ /View [/XYZ H.V] /Dest (7517) cvn H.B /DEST pdfmark end
- -30 49212
-a 1726 x FW(HO)-49 b(WT)-25 b(Os,)p 0 TeXcolorgray 6326
-50938 a
-SDict begin H.S end
- 6326 50938 a FW(10)7720 50938 y
-SDict begin 18.2 H.L end
- 7720 50938 a
-7720 50938 a
-SDict begin [ /Subtype /Link /Dest (488) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 7720 50938 a Black -30 51140 a
-SDict begin H.S end
- -30 51140
-a -30 51140 a
-SDict begin 18.2 H.A end
- -30 51140 a -30 51140 a
-SDict begin [ /View [/XYZ H.V] /Dest (7520) cvn H.B /DEST pdfmark end
- -30 51140 a 1826
-x FW(httpd)-30 53268 y
-SDict begin H.S end
- -30 53268 a -30 53268 a
-SDict begin 18.2 H.A end
- -30 53268
-a -30 53268 a
-SDict begin [ /View [/XYZ H.V] /Dest (7521) cvn H.B /DEST pdfmark end
- -30 53268 a 1520 54994 a FW(\(see)349 b(Apache\))-30
-55296 y
-SDict begin H.S end
- -30 55296 a -30 55296 a
-SDict begin 18.2 H.A end
- -30 55296 a -30 55296
-a
-SDict begin [ /View [/XYZ H.V] /Dest (7522) cvn H.B /DEST pdfmark end
- -30 55296 a 5862 x FL(I)-30 62274 y
-SDict begin H.S end
- -30 62274 a -30
-62274 a
-SDict begin 18.2 H.A end
- -30 62274 a -30 62274 a
-SDict begin [ /View [/XYZ H.V] /Dest (7525) cvn H.B /DEST pdfmark end
- -30 62274 a 2028 x FW(IBM,)p
-0 TeXcolorgray 3302 64302 a
-SDict begin H.S end
- 3302 64302 a FW(70)4696 64302
-y
-SDict begin 18.2 H.L end
- 4696 64302 a 4696 64302 a
-SDict begin [ /Subtype /Link /Dest (2137) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 4696 64302 a Black -30 64504
-a
-SDict begin H.S end
- -30 64504 a -30 64504 a
-SDict begin 18.2 H.A end
- -30 64504 a -30 64504 a
-SDict begin [ /View [/XYZ H.V] /Dest (7528) cvn H.B /DEST pdfmark end
- -30
-64504 a 1826 x FW(ICMP)-155 b(,)p 0 TeXcolorgray 3923
-66330 a
-SDict begin H.S end
- 3923 66330 a FW(157)6014 66330 y
-SDict begin 18.2 H.L end
- 6014 66330 a
-6014 66330 a
-SDict begin [ /Subtype /Link /Dest (4421) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 6014 66330 a Black -30 66532 a
-SDict begin H.S end
- -30 66532
-a -30 66532 a
-SDict begin 18.2 H.A end
- -30 66532 a -30 66532 a
-SDict begin [ /View [/XYZ H.V] /Dest (7531) cvn H.B /DEST pdfmark end
- -30 66532 a 1826
-x FW(IDE,)p 0 TeXcolorgray 2991 68358 a
-SDict begin H.S end
- 2991 68358 a
-FW(22)4385 68358 y
-SDict begin 18.2 H.L end
- 4385 68358 a 4385 68358 a
-SDict begin [ /Subtype /Link /Dest (906) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 4385 68358
-a Black Black Black 27866 2383 a
-SDict begin H.S end
- 27866 2383 a 27866 2383
-a
-SDict begin 18.2 H.A end
- 27866 2383 a 27866 2383 a
-SDict begin [ /View [/XYZ H.V] /Dest (7534) cvn H.B /DEST pdfmark end
- 27866 2383 a 1107 x FW(idle)348
-b(process,)p 0 TeXcolorgray 35187 3490 a
-SDict begin H.S end
- 35187 3490 a
-FW(142)37278 3490 y
-SDict begin 18.2 H.L end
- 37278 3490 a 37278 3490 a
-SDict begin [ /Subtype /Link /Dest (4037) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 37278 3490
-a Black 27866 3792 a
-SDict begin H.S end
- 27866 3792 a 27866 3792 a
-SDict begin 18.2 H.A end
- 27866
-3792 a 27866 3792 a
-SDict begin [ /View [/XYZ H.V] /Dest (7537) cvn H.B /DEST pdfmark end
- 27866 3792 a 1969 x FW(ifcon\002g,)p
-0 TeXcolorgray 32902 5761 a
-SDict begin H.S end
- 32902 5761 a FW(61)34296
-5761 y
-SDict begin 18.2 H.L end
- 34296 5761 a 34296 5761 a
-SDict begin [ /Subtype /Link /Dest (1837) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 34296 5761 a Black 27866
-6063 a
-SDict begin H.S end
- 27866 6063 a 27866 6063 a
-SDict begin 18.2 H.A end
- 27866 6063 a 27866 6063
-a
-SDict begin [ /View [/XYZ H.V] /Dest (7540) cvn H.B /DEST pdfmark end
- 27866 6063 a 1969 x FW(inetd,)p 0 TeXcolorgray 31352
-8032 a
-SDict begin H.S end
- 31352 8032 a FW(181)33443 8032 y
-SDict begin 18.2 H.L end
- 33443 8032 a
-33443 8032 a
-SDict begin [ /Subtype /Link /Dest (5076) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 33443 8032 a Black 27866 8233 a
-SDict begin H.S end
- 27866 8233
-a 27866 8233 a
-SDict begin 18.2 H.A end
- 27866 8233 a 27866 8233 a
-SDict begin [ /View [/XYZ H.V] /Dest (7543) cvn H.B /DEST pdfmark end
- 27866 8233 a
-2069 x FW(init,)p 0 TeXcolorgray 30423 10302 a
-SDict begin H.S end
- 30423
-10302 a FW(47)31817 10302 y
-SDict begin 18.2 H.L end
- 31817 10302 a 31817 10302
-a
-SDict begin [ /Subtype /Link /Dest (1409) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 31817 10302 a Black 1 w FW(,)p 0 TeXcolorgray 32516
-10302 a
-SDict begin H.S end
- 32516 10302 a FW(48)33910 10302 y
-SDict begin 18.2 H.L end
- 33910 10302
-a 33910 10302 a
-SDict begin [ /Subtype /Link /Dest (1456) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 33910 10302 a Black FW(,)p 0 TeXcolorgray
-34608 10302 a
-SDict begin H.S end
- 34608 10302 a FW(86)36002 10302 y
-SDict begin 18.2 H.L end
- 36002
-10302 a 36002 10302 a
-SDict begin [ /Subtype /Link /Dest (2432) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 36002 10302 a Black 1 w FW(,)p
-0 TeXcolorgray 36700 10302 a
-SDict begin H.S end
- 36700 10302 a FW(154)38791
-10302 y
-SDict begin 18.2 H.L end
- 38791 10302 a 38791 10302 a
-SDict begin [ /Subtype /Link /Dest (4366) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 38791 10302 a Black
-27866 10504 a
-SDict begin H.S end
- 27866 10504 a 27866 10504 a
-SDict begin 18.2 H.A end
- 27866 10504
-a 27866 10504 a
-SDict begin [ /View [/XYZ H.V] /Dest (7549) cvn H.B /DEST pdfmark end
- 27866 10504 a 2069 x FW(init)g(scripts,)p
-0 TeXcolorgray 34414 12573 a
-SDict begin H.S end
- 34414 12573 a FW(181)36505
-12573 y
-SDict begin 18.2 H.L end
- 36505 12573 a 36505 12573 a
-SDict begin [ /Subtype /Link /Dest (5078) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 36505 12573 a Black
-27866 12875 a
-SDict begin H.S end
- 27866 12875 a 27866 12875 a
-SDict begin 18.2 H.A end
- 27866 12875
-a 27866 12875 a
-SDict begin [ /View [/XYZ H.V] /Dest (7552) cvn H.B /DEST pdfmark end
- 27866 12875 a 1969 x FW(input)h(redirection,)p
-0 TeXcolorgray 37821 14844 a
-SDict begin H.S end
- 37821 14844 a FW(105)39912
-14844 y
-SDict begin 18.2 H.L end
- 39912 14844 a 39912 14844 a
-SDict begin [ /Subtype /Link /Dest (2849) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 39912 14844 a Black
-27866 15145 a
-SDict begin H.S end
- 27866 15145 a 27866 15145 a
-SDict begin 18.2 H.A end
- 27866 15145
-a 27866 15145 a
-SDict begin [ /View [/XYZ H.V] /Dest (7555) cvn H.B /DEST pdfmark end
- 27866 15145 a 1969 x FW(installation,)p
-0 TeXcolorgray 34763 17114 a
-SDict begin H.S end
- 34763 17114 a FW(15)36157
-17114 y
-SDict begin 18.2 H.L end
- 36157 17114 a 36157 17114 a
-SDict begin [ /Subtype /Link /Dest (635) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 36157 17114 a Black
-27866 17316 a
-SDict begin H.S end
- 27866 17316 a 27866 17316 a
-SDict begin 18.2 H.A end
- 27866 17316
-a 27866 17316 a
-SDict begin [ /View [/XYZ H.V] /Dest (7557) cvn H.B /DEST pdfmark end
- 27866 17316 a 29415 19385 a FW(boot)h(disk,)p
-0 TeXcolorgray 35266 19385 a
-SDict begin H.S end
- 35266 19385 a FW(20)36660
-19385 y
-SDict begin 18.2 H.L end
- 36660 19385 a 36660 19385 a
-SDict begin [ /Subtype /Link /Dest (835) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 36660 19385 a Black
-27866 19586 a
-SDict begin H.S end
- 27866 19586 a 27866 19586 a
-SDict begin 18.2 H.A end
- 27866 19586
-a 27866 19586 a
-SDict begin [ /View [/XYZ H.V] /Dest (7559) cvn H.B /DEST pdfmark end
- 27866 19586 a 29415 21656 a FW(CD-R)-56
-b(OM,)p 0 TeXcolorgray 35636 21656 a
-SDict begin H.S end
- 35636 21656 a FW(19)37030
-21656 y
-SDict begin 18.2 H.L end
- 37030 21656 a 37030 21656 a
-SDict begin [ /Subtype /Link /Dest (814) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 37030 21656 a Black
-1 w FW(,)p 0 TeXcolorgray 37728 21656 a
-SDict begin H.S end
- 37728 21656 a
-FW(29)39122 21656 y
-SDict begin 18.2 H.L end
- 39122 21656 a 39122 21656 a
-SDict begin [ /Subtype /Link /Dest (1041) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 39122
-21656 a Black 27866 21857 a
-SDict begin H.S end
- 27866 21857 a 27866 21857
-a
-SDict begin 18.2 H.A end
- 27866 21857 a 27866 21857 a
-SDict begin [ /View [/XYZ H.V] /Dest (7562) cvn H.B /DEST pdfmark end
- 27866 21857 a 29415 23926
-a FW(\003opp)-14 b(y)-91 b(,)p 0 TeXcolorgray 33573 23926
-a
-SDict begin H.S end
- 33573 23926 a FW(19)34967 23926 y
-SDict begin 18.2 H.L end
- 34967 23926 a 34967
-23926 a
-SDict begin [ /Subtype /Link /Dest (807) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 34967 23926 a Black 27866 24228 a
-SDict begin H.S end
- 27866 24228
-a 27866 24228 a
-SDict begin 18.2 H.A end
- 27866 24228 a 27866 24228 a
-SDict begin [ /View [/XYZ H.V] /Dest (7564) cvn H.B /DEST pdfmark end
- 27866 24228
-a 29415 26197 a FW(lo)-35 b(w)349 b(memory)-91 b(,)p
-0 TeXcolorgray 37077 26197 a
-SDict begin H.S end
- 37077 26197 a FW(17)38471
-26197 y
-SDict begin 18.2 H.L end
- 38471 26197 a 38471 26197 a
-SDict begin [ /Subtype /Link /Dest (732) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 38471 26197 a Black
-27866 26499 a
-SDict begin H.S end
- 27866 26499 a 27866 26499 a
-SDict begin 18.2 H.A end
- 27866 26499
-a 27866 26499 a
-SDict begin [ /View [/XYZ H.V] /Dest (7566) cvn H.B /DEST pdfmark end
- 27866 26499 a 29415 28467 a FW(NFS,)p
-0 TeXcolorgray 32671 28467 a
-SDict begin H.S end
- 32671 28467 a FW(17)34065
-28467 y
-SDict begin 18.2 H.L end
- 34065 28467 a 34065 28467 a
-SDict begin [ /Subtype /Link /Dest (728) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 34065 28467 a Black
-FW(,)p 0 TeXcolorgray 34763 28467 a
-SDict begin H.S end
- 34763 28467 a FW(20)36157
-28467 y
-SDict begin 18.2 H.L end
- 36157 28467 a 36157 28467 a
-SDict begin [ /Subtype /Link /Dest (824) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 36157 28467 a Black
-1 w FW(,)p 0 TeXcolorgray 36855 28467 a
-SDict begin H.S end
- 36855 28467 a
-FW(29)38249 28467 y
-SDict begin 18.2 H.L end
- 38249 28467 a 38249 28467 a
-SDict begin [ /Subtype /Link /Dest (1047) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 38249
-28467 a Black 27866 28669 a
-SDict begin H.S end
- 27866 28669 a 27866 28669
-a
-SDict begin 18.2 H.A end
- 27866 28669 a 27866 28669 a
-SDict begin [ /View [/XYZ H.V] /Dest (7570) cvn H.B /DEST pdfmark end
- 27866 28669 a 29415 30738
-a FW(PLIP)-155 b(,SLIP)g(,PPP)g(,)p 0 TeXcolorgray 38407
-30738 a
-SDict begin H.S end
- 38407 30738 a FW(20)39801 30738 y
-SDict begin 18.2 H.L end
- 39801 30738
-a 39801 30738 a
-SDict begin [ /Subtype /Link /Dest (829) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 39801 30738 a Black 27866 30940 a
-SDict begin H.S end
- 27866
-30940 a 27866 30940 a
-SDict begin 18.2 H.A end
- 27866 30940 a 27866 30940 a
-SDict begin [ /View [/XYZ H.V] /Dest (7572) cvn H.B /DEST pdfmark end
- 27866
-30940 a 29415 33009 a FW(root)350 b(disk,)p 0 TeXcolorgray
-35033 33009 a
-SDict begin H.S end
- 35033 33009 a FW(21)36427 33009 y
-SDict begin 18.2 H.L end
- 36427
-33009 a 36427 33009 a
-SDict begin [ /Subtype /Link /Dest (849) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 36427 33009 a Black 27866 33210
-a
-SDict begin H.S end
- 27866 33210 a 27866 33210 a
-SDict begin 18.2 H.A end
- 27866 33210 a 27866 33210
-a
-SDict begin [ /View [/XYZ H.V] /Dest (7574) cvn H.B /DEST pdfmark end
- 27866 33210 a 29415 35279 a FW(supplemental)g(disk,)p
-0 TeXcolorgray 40225 35279 a
-SDict begin H.S end
- 40225 35279 a FW(21)41619
-35279 y
-SDict begin 18.2 H.L end
- 41619 35279 a 41619 35279 a
-SDict begin [ /Subtype /Link /Dest (861) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 41619 35279 a Black
-27866 35581 a
-SDict begin H.S end
- 27866 35581 a 27866 35581 a
-SDict begin 18.2 H.A end
- 27866 35581
-a 27866 35581 a
-SDict begin [ /View [/XYZ H.V] /Dest (7576) cvn H.B /DEST pdfmark end
- 27866 35581 a 29415 37550 a FW(system)f(requirements,)p
-0 TeXcolorgray 41618 37550 a
-SDict begin H.S end
- 41618 37550 a FW(17)43012
-37550 y
-SDict begin 18.2 H.L end
- 43012 37550 a 43012 37550 a
-SDict begin [ /Subtype /Link /Dest (702) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 43012 37550 a Black
-27866 37852 a
-SDict begin H.S end
- 27866 37852 a 27866 37852 a
-SDict begin 18.2 H.A end
- 27866 37852
-a 27866 37852 a
-SDict begin [ /View [/XYZ H.V] /Dest (7579) cvn H.B /DEST pdfmark end
- 27866 37852 a 1969 x FW(installation)f(methods,)p
-0 TeXcolorgray 39838 39821 a
-SDict begin H.S end
- 39838 39821 a FW(30)41232
-39821 y
-SDict begin 18.2 H.L end
- 41232 39821 a 41232 39821 a
-SDict begin [ /Subtype /Link /Dest (1068) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 41232 39821 a Black
-27866 40022 a
-SDict begin H.S end
- 27866 40022 a 27866 40022 a
-SDict begin 18.2 H.A end
- 27866 40022
-a 27866 40022 a
-SDict begin [ /View [/XYZ H.V] /Dest (7582) cvn H.B /DEST pdfmark end
- 27866 40022 a 2069 x FW(installpkg,)p
-0 TeXcolorgray 34065 42091 a
-SDict begin H.S end
- 34065 42091 a FW(218)36156
-42091 y
-SDict begin 18.2 H.L end
- 36156 42091 a 36156 42091 a
-SDict begin [ /Subtype /Link /Dest (6433) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 36156 42091 a Black
-1 w FW(,)p 0 TeXcolorgray 36855 42091 a
-SDict begin H.S end
- 36855 42091 a
-FW(222)38946 42091 y
-SDict begin 18.2 H.L end
- 38946 42091 a 38946 42091 a
-SDict begin [ /Subtype /Link /Dest (6587) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 38946
-42091 a Black 27866 42393 a
-SDict begin H.S end
- 27866 42393 a 27866 42393
-a
-SDict begin 18.2 H.A end
- 27866 42393 a 27866 42393 a
-SDict begin [ /View [/XYZ H.V] /Dest (7586) cvn H.B /DEST pdfmark end
- 27866 42393 a 1969 x FW(IP)h(address,)p
-0 TeXcolorgray 34334 44362 a
-SDict begin H.S end
- 34334 44362 a FW(61)35728
-44362 y
-SDict begin 18.2 H.L end
- 35728 44362 a 35728 44362 a
-SDict begin [ /Subtype /Link /Dest (1840) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 35728 44362 a Black
-1 w FW(,)p 0 TeXcolorgray 36427 44362 a
-SDict begin H.S end
- 36427 44362 a
-FW(159)38518 44362 y
-SDict begin 18.2 H.L end
- 38518 44362 a 38518 44362 a
-SDict begin [ /Subtype /Link /Dest (4477) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 38518
-44362 a Black 27866 44564 a
-SDict begin H.S end
- 27866 44564 a 27866 44564
-a
-SDict begin 18.2 H.A end
- 27866 44564 a 27866 44564 a
-SDict begin [ /View [/XYZ H.V] /Dest (7589) cvn H.B /DEST pdfmark end
- 27866 44564 a 29415 46633
-a FW(static,)p 0 TeXcolorgray 33057 46633 a
-SDict begin H.S end
- 33057 46633
-a FW(63)34451 46633 y
-SDict begin 18.2 H.L end
- 34451 46633 a 34451 46633 a
-SDict begin [ /Subtype /Link /Dest (1883) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 34451
-46633 a Black 27866 46834 a
-SDict begin H.S end
- 27866 46834 a 27866 46834
-a
-SDict begin 18.2 H.A end
- 27866 46834 a 27866 46834 a
-SDict begin [ /View [/XYZ H.V] /Dest (7592) cvn H.B /DEST pdfmark end
- 27866 46834 a 2069 x FW(IP)g(forw)-14
-b(arding,)p 0 TeXcolorgray 36334 48903 a
-SDict begin H.S end
- 36334 48903
-a FW(185)38425 48903 y
-SDict begin 18.2 H.L end
- 38425 48903 a 38425 48903 a
-SDict begin [ /Subtype /Link /Dest (5184) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 38425
-48903 a Black 27866 49205 a
-SDict begin H.S end
- 27866 49205 a 27866 49205
-a
-SDict begin 18.2 H.A end
- 27866 49205 a 27866 49205 a
-SDict begin [ /View [/XYZ H.V] /Dest (7595) cvn H.B /DEST pdfmark end
- 27866 49205 a 1969 x FW(iptables,)p
-0 TeXcolorgray 32902 51174 a
-SDict begin H.S end
- 32902 51174 a FW(183)34993
-51174 y
-SDict begin 18.2 H.L end
- 34993 51174 a 34993 51174 a
-SDict begin [ /Subtype /Link /Dest (5135) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 34993 51174 a Black
-27866 51476 a
-SDict begin H.S end
- 27866 51476 a 27866 51476 a
-SDict begin 18.2 H.A end
- 27866 51476
-a 27866 51476 a
-SDict begin [ /View [/XYZ H.V] /Dest (7598) cvn H.B /DEST pdfmark end
- 27866 51476 a 1969 x FW(ISA,)p 0 TeXcolorgray
-30810 53445 a
-SDict begin H.S end
- 30810 53445 a FW(59)32204 53445 y
-SDict begin 18.2 H.L end
- 32204
-53445 a 32204 53445 a
-SDict begin [ /Subtype /Link /Dest (1803) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 32204 53445 a Black 27866 53646
-a
-SDict begin H.S end
- 27866 53646 a 27866 53646 a
-SDict begin 18.2 H.A end
- 27866 53646 a 27866 53646
-a
-SDict begin [ /View [/XYZ H.V] /Dest (7600) cvn H.B /DEST pdfmark end
- 27866 53646 a 6691 x FL(J)27866 61481 y
-SDict begin H.S end
- 27866 61481
-a 27866 61481 a
-SDict begin 18.2 H.A end
- 27866 61481 a 27866 61481 a
-SDict begin [ /View [/XYZ H.V] /Dest (7603) cvn H.B /DEST pdfmark end
- 27866 61481
-a 2243 x FW(jobs,)p 0 TeXcolorgray 30888 63724 a
-SDict begin H.S end
- 30888
-63724 a FW(134)32979 63724 y
-SDict begin 18.2 H.L end
- 32979 63724 a 32979 63724
-a
-SDict begin [ /Subtype /Link /Dest (3871) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 32979 63724 a Black 27866 64026 a
-SDict begin H.S end
- 27866 64026 a 27866
-64026 a
-SDict begin 18.2 H.A end
- 27866 64026 a 27866 64026 a
-SDict begin [ /View [/XYZ H.V] /Dest (7606) cvn H.B /DEST pdfmark end
- 27866 64026 a 1968
-x FW(journalling)350 b(\002le)f(system,)p 0 TeXcolorgray
-41039 65994 a
-SDict begin H.S end
- 41039 65994 a FW(153)43130 65994 y
-SDict begin 18.2 H.L end
- 43130
-65994 a 43130 65994 a
-SDict begin [ /Subtype /Link /Dest (4314) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 43130 65994 a Black 27866 66296
-a
-SDict begin H.S end
- 27866 66296 a 27866 66296 a
-SDict begin 18.2 H.A end
- 27866 66296 a 27866 66296
-a
-SDict begin [ /View [/XYZ H.V] /Dest (7608) cvn H.B /DEST pdfmark end
- 27866 66296 a Black 49394 73672 a FR(257)p Black eop
-end
-%%Page: 258 280
-TeXDict begin 258 279 bop -8000 -8000 a
-SDict begin /product where{pop product(Distiller)search{pop pop pop
-version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
-closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
-grestore}if}{pop}ifelse}{pop}ifelse}if end
- -8000 -8000 a
-Black 0 TeXcolorgray -30 -1358 a
-SDict begin H.S end
- -30 -1358 a 0 TeXcolorgray
-0 TeXcolorgray -30 -1358 a
-SDict begin H.R end
- -30 -1358 a -30 -1358 a
-SDict begin [ /View [/XYZ H.V] /Dest (page.258) cvn H.B /DEST pdfmark
-end
- -30
--1358 a Black -30 -2687 a
-SDict begin H.S end
- -30 -2687 a -30 -2687 a
-SDict begin 18.2 H.A end
- -30
--2687 a -30 -2687 a
-SDict begin [ /View [/XYZ H.V] /Dest (7771) cvn H.B /DEST pdfmark end
- -30 -2687 a Black 6650 x FL(K)-30
-5079 y
-SDict begin H.S end
- -30 5079 a -30 5079 a
-SDict begin 18.2 H.A end
- -30 5079 a -30 5079 a
-SDict begin [ /View [/XYZ H.V] /Dest (7611) cvn H.B /DEST pdfmark end
- -30
-5079 a 2070 x FW(K)349 b(Desktop)g(En)-56 b(vironment)352
-b(\(KDE\),)p 0 TeXcolorgray 18392 7149 a
-SDict begin H.S end
- 18392 7149 a
-FW(83)19786 7149 y
-SDict begin 18.2 H.L end
- 19786 7149 a 19786 7149 a
-SDict begin [ /Subtype /Link /Dest (2389) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 19786 7149
-a Black -30 7450 a
-SDict begin H.S end
- -30 7450 a -30 7450 a
-SDict begin 18.2 H.A end
- -30 7450 a -30
-7450 a
-SDict begin [ /View [/XYZ H.V] /Dest (7614) cvn H.B /DEST pdfmark end
- -30 7450 a 1768 x FW(KDE,)p 0 TeXcolorgray 3534
-9218 a
-SDict begin H.S end
- 3534 9218 a FW(15)4928 9218 y
-SDict begin 18.2 H.L end
- 4928 9218 a 4928
-9218 a
-SDict begin [ /Subtype /Link /Dest (645) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 4928 9218 a Black -30 11287 a FW(k)-14 b(ernel,)p
-0 TeXcolorgray 4139 11287 a
-SDict begin H.S end
- 4139 11287 a FW(1)4836 11287
-y
-SDict begin 18.2 H.L end
- 4836 11287 a 4836 11287 a
-SDict begin [ /Subtype /Link /Dest (7617) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 4836 11287 a Black FW(,)p
-0 TeXcolorgray 5534 11287 a
-SDict begin H.S end
- 5534 11287 a FW(50)6928 11287
-y
-SDict begin 18.2 H.L end
- 6928 11287 a 6928 11287 a
-SDict begin [ /Subtype /Link /Dest (1577) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 6928 11287 a Black -30 11489
-a
-SDict begin H.S end
- -30 11489 a -30 11489 a
-SDict begin 18.2 H.A end
- -30 11489 a -30 11489 a
-SDict begin [ /View [/XYZ H.V] /Dest (7620) cvn H.B /DEST pdfmark end
- -30
-11489 a 1520 13357 a FW(2.4.x)349 b(compiling,)p 0 TeXcolorgray
-11013 13357 a
-SDict begin H.S end
- 11013 13357 a FW(52)12407 13357 y
-SDict begin 18.2 H.L end
- 12407
-13357 a 12407 13357 a
-SDict begin [ /Subtype /Link /Dest (1630) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 12407 13357 a Black -30 13659 a
-SDict begin H.S end
-
--30 13659 a -30 13659 a
-SDict begin 18.2 H.A end
- -30 13659 a -30 13659 a
-SDict begin [ /View [/XYZ H.V] /Dest (7622) cvn H.B /DEST pdfmark end
- -30 13659
-a 1520 15426 a FW(2.6.x)g(compiling,)p 0 TeXcolorgray
-11013 15426 a
-SDict begin H.S end
- 11013 15426 a FW(54)12407 15426 y
-SDict begin 18.2 H.L end
- 12407
-15426 a 12407 15426 a
-SDict begin [ /Subtype /Link /Dest (1687) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 12407 15426 a Black -30 15728 a
-SDict begin H.S end
-
--30 15728 a -30 15728 a
-SDict begin 18.2 H.A end
- -30 15728 a -30 15728 a
-SDict begin [ /View [/XYZ H.V] /Dest (7624) cvn H.B /DEST pdfmark end
- -30 15728
-a 1520 17496 a FW(compiling,)p 0 TeXcolorgray 7874 17496
-a
-SDict begin H.S end
- 7874 17496 a FW(51)9268 17496 y
-SDict begin 18.2 H.L end
- 9268 17496 a 9268 17496
-a
-SDict begin [ /Subtype /Link /Dest (1616) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 9268 17496 a Black -30 17798 a
-SDict begin H.S end
- -30 17798 a -30 17798
-a
-SDict begin 18.2 H.A end
- -30 17798 a -30 17798 a
-SDict begin [ /View [/XYZ H.V] /Dest (7626) cvn H.B /DEST pdfmark end
- -30 17798 a 1520 19565 a FW(frame)h(b)-28
-b(uf)-35 b(fer)-56 b(,)p 0 TeXcolorgray 9107 19565 a
-SDict begin H.S end
-
-9107 19565 a FW(90)10501 19565 y
-SDict begin 18.2 H.L end
- 10501 19565 a 10501
-19565 a
-SDict begin [ /Subtype /Link /Dest (2512) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 10501 19565 a Black -30 19767 a
-SDict begin H.S end
- -30 19767 a -30
-19767 a
-SDict begin 18.2 H.A end
- -30 19767 a -30 19767 a
-SDict begin [ /View [/XYZ H.V] /Dest (7628) cvn H.B /DEST pdfmark end
- -30 19767 a 1520 21634
-a FW(modules,)p 0 TeXcolorgray 6944 21634 a
-SDict begin H.S end
- 6944 21634
-a FW(54)8338 21634 y
-SDict begin 18.2 H.L end
- 8338 21634 a 8338 21634 a
-SDict begin [ /Subtype /Link /Dest (1668) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 8338 21634
-a Black 1 w FW(,)p 0 TeXcolorgray 9036 21634 a
-SDict begin H.S end
- 9036 21634
-a FW(55)10430 21634 y
-SDict begin 18.2 H.L end
- 10430 21634 a 10430 21634 a
-SDict begin [ /Subtype /Link /Dest (1699) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 10430
-21634 a Black -30 21836 a
-SDict begin H.S end
- -30 21836 a -30 21836 a
-SDict begin 18.2 H.A end
- -30
-21836 a -30 21836 a
-SDict begin [ /View [/XYZ H.V] /Dest (7632) cvn H.B /DEST pdfmark end
- -30 21836 a 1868 x FW(k)-14 b(ernel)350
-b(module,)p 0 TeXcolorgray 8672 23704 a
-SDict begin H.S end
- 8672 23704 a
-FW(58)10066 23704 y
-SDict begin 18.2 H.L end
- 10066 23704 a 10066 23704 a
-SDict begin [ /Subtype /Link /Dest (1773) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 10066
-23704 a Black -30 23905 a
-SDict begin H.S end
- -30 23905 a -30 23905 a
-SDict begin 18.2 H.A end
- -30
-23905 a -30 23905 a
-SDict begin [ /View [/XYZ H.V] /Dest (7634) cvn H.B /DEST pdfmark end
- -30 23905 a 1520 25773 a FW(loading,)p
-0 TeXcolorgray 6402 25773 a
-SDict begin H.S end
- 6402 25773 a FW(55)7796 25773
-y
-SDict begin 18.2 H.L end
- 7796 25773 a 7796 25773 a
-SDict begin [ /Subtype /Link /Dest (1715) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 7796 25773 a Black -30 26075
-a
-SDict begin H.S end
- -30 26075 a -30 26075 a
-SDict begin 18.2 H.A end
- -30 26075 a -30 26075 a
-SDict begin [ /View [/XYZ H.V] /Dest (7636) cvn H.B /DEST pdfmark end
- -30
-26075 a 1520 27843 a FW(remo)-21 b(ving,)p 0 TeXcolorgray
-7542 27843 a
-SDict begin H.S end
- 7542 27843 a FW(55)8936 27843 y
-SDict begin 18.2 H.L end
- 8936 27843
-a 8936 27843 a
-SDict begin [ /Subtype /Link /Dest (1712) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 8936 27843 a Black -30 28145 a
-SDict begin H.S end
- -30 28145
-a -30 28145 a
-SDict begin 18.2 H.A end
- -30 28145 a -30 28145 a
-SDict begin [ /View [/XYZ H.V] /Dest (7639) cvn H.B /DEST pdfmark end
- -30 28145 a 1767
-x FW(k)-14 b(ernel)350 b(modules,)p 0 TeXcolorgray 9215
-29912 a
-SDict begin H.S end
- 9215 29912 a FW(47)10609 29912 y
-SDict begin 18.2 H.L end
- 10609 29912
-a 10609 29912 a
-SDict begin [ /Subtype /Link /Dest (1429) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 10609 29912 a Black FW(,)p 0 TeXcolorgray
-11307 29912 a
-SDict begin H.S end
- 11307 29912 a FW(67)12701 29912 y
-SDict begin 18.2 H.L end
- 12701
-29912 a 12701 29912 a
-SDict begin [ /Subtype /Link /Dest (2037) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 12701 29912 a Black -30 30114 a
-SDict begin H.S end
-
--30 30114 a -30 30114 a
-SDict begin 18.2 H.A end
- -30 30114 a -30 30114 a
-SDict begin [ /View [/XYZ H.V] /Dest (7643) cvn H.B /DEST pdfmark end
- -30 30114
-a 1868 x FW(k)-14 b(e)-21 b(yboard,)p 0 TeXcolorgray
-5823 31982 a
-SDict begin H.S end
- 5823 31982 a FW(26)7217 31982 y
-SDict begin 18.2 H.L end
- 7217 31982
-a 7217 31982 a
-SDict begin [ /Subtype /Link /Dest (1004) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 7217 31982 a Black -30 32284 a
-SDict begin H.S end
- -30 32284
-a -30 32284 a
-SDict begin 18.2 H.A end
- -30 32284 a -30 32284 a
-SDict begin [ /View [/XYZ H.V] /Dest (7646) cvn H.B /DEST pdfmark end
- -30 32284 a 1767
-x FW(k)-14 b(e)-21 b(ymap,)p 0 TeXcolorgray 5048 34051
-a
-SDict begin H.S end
- 5048 34051 a FW(26)6442 34051 y
-SDict begin 18.2 H.L end
- 6442 34051 a 6442 34051
-a
-SDict begin [ /Subtype /Link /Dest (1002) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 6442 34051 a Black -30 34353 a
-SDict begin H.S end
- -30 34353 a -30 34353
-a
-SDict begin 18.2 H.A end
- -30 34353 a -30 34353 a
-SDict begin [ /View [/XYZ H.V] /Dest (7649) cvn H.B /DEST pdfmark end
- -30 34353 a 1767 x FW(kill,)p
-0 TeXcolorgray 2528 36120 a
-SDict begin H.S end
- 2528 36120 a FW(139)4619
-36120 y
-SDict begin 18.2 H.L end
- 4619 36120 a 4619 36120 a
-SDict begin [ /Subtype /Link /Dest (3959) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 4619 36120 a Black
--30 36322 a
-SDict begin H.S end
- -30 36322 a -30 36322 a
-SDict begin 18.2 H.A end
- -30 36322 a -30 36322
-a
-SDict begin [ /View [/XYZ H.V] /Dest (7651) cvn H.B /DEST pdfmark end
- -30 36322 a 6087 x FL(L)-30 43525 y
-SDict begin H.S end
- -30 43525 a -30
-43525 a
-SDict begin 18.2 H.A end
- -30 43525 a -30 43525 a
-SDict begin [ /View [/XYZ H.V] /Dest (7654) cvn H.B /DEST pdfmark end
- -30 43525 a 2069 x FW(LILO,)p
-0 TeXcolorgray 3843 45594 a
-SDict begin H.S end
- 3843 45594 a FW(38)5237 45594
-y
-SDict begin 18.2 H.L end
- 5237 45594 a 5237 45594 a
-SDict begin [ /Subtype /Link /Dest (1170) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 5237 45594 a Black 1 w FW(,)p
-0 TeXcolorgray 5936 45594 a
-SDict begin H.S end
- 5936 45594 a FW(89)7330 45594
-y
-SDict begin 18.2 H.L end
- 7330 45594 a 7330 45594 a
-SDict begin [ /Subtype /Link /Dest (2471) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 7330 45594 a Black -30 45796
-a
-SDict begin H.S end
- -30 45796 a -30 45796 a
-SDict begin 18.2 H.A end
- -30 45796 a -30 45796 a
-SDict begin [ /View [/XYZ H.V] /Dest (7657) cvn H.B /DEST pdfmark end
- -30
-45796 a 1520 47664 a FW(con\002guration,)p 0 TeXcolorgray
-9655 47664 a
-SDict begin H.S end
- 9655 47664 a FW(90)11049 47664 y
-SDict begin 18.2 H.L end
- 11049 47664
-a 11049 47664 a
-SDict begin [ /Subtype /Link /Dest (2490) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 11049 47664 a Black -30 47966 a
-SDict begin H.S end
- -30 47966
-a -30 47966 a
-SDict begin 18.2 H.A end
- -30 47966 a -30 47966 a
-SDict begin [ /View [/XYZ H.V] /Dest (7660) cvn H.B /DEST pdfmark end
- -30 47966 a 1767
-x FW(links,)p 0 TeXcolorgray 3380 49733 a
-SDict begin H.S end
- 3380 49733
-a FW(111)5471 49733 y
-SDict begin 18.2 H.L end
- 5471 49733 a 5471 49733 a
-SDict begin [ /Subtype /Link /Dest (3072) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 5471
-49733 a Black 1 w FW(,)p 0 TeXcolorgray 6170 49733 a
-SDict begin H.S end
-
-6170 49733 a FW(116)8261 49733 y
-SDict begin 18.2 H.L end
- 8261 49733 a 8261 49733
-a
-SDict begin [ /Subtype /Link /Dest (3285) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 8261 49733 a Black 1 w FW(,)p 0 TeXcolorgray 8959 49733
-a
-SDict begin H.S end
- 8959 49733 a FW(131)11050 49733 y
-SDict begin 18.2 H.L end
- 11050 49733 a 11050
-49733 a
-SDict begin [ /Subtype /Link /Dest (3798) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 11050 49733 a Black -30 49935 a
-SDict begin H.S end
- -30 49935 a -30
-49935 a
-SDict begin 18.2 H.A end
- -30 49935 a -30 49935 a
-SDict begin [ /View [/XYZ H.V] /Dest (7665) cvn H.B /DEST pdfmark end
- -30 49935 a 1868 x FW(Linux)350
-b(k)-14 b(ernel,)p 0 TeXcolorgray 7820 51803 a
-SDict begin H.S end
- 7820 51803
-a FW(2)8517 51803 y
-SDict begin 18.2 H.L end
- 8517 51803 a 8517 51803 a
-SDict begin [ /Subtype /Link /Dest (317) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 8517 51803
-a Black -30 52004 a
-SDict begin H.S end
- -30 52004 a -30 52004 a
-SDict begin 18.2 H.A end
- -30 52004
-a -30 52004 a
-SDict begin [ /View [/XYZ H.V] /Dest (7668) cvn H.B /DEST pdfmark end
- -30 52004 a 1868 x FW(Linux)350 b(Loader)-30
-53886 y
-SDict begin H.S end
- -30 53886 a -30 53886 a
-SDict begin 18.2 H.A end
- -30 53886 a -30 53886
-a
-SDict begin [ /View [/XYZ H.V] /Dest (7669) cvn H.B /DEST pdfmark end
- -30 53886 a 1520 55942 a FW(\(see)f(LILO\))-30 56191
-y
-SDict begin H.S end
- -30 56191 a -30 56191 a
-SDict begin 18.2 H.A end
- -30 56191 a -30 56191 a
-SDict begin [ /View [/XYZ H.V] /Dest (7671) cvn H.B /DEST pdfmark end
- -30
-56191 a 1820 x FW(LISP)-155 b(,)p 0 TeXcolorgray 3380
-58011 a
-SDict begin H.S end
- 3380 58011 a FW(2)4077 58011 y
-SDict begin 18.2 H.L end
- 4077 58011 a 4077
-58011 a
-SDict begin [ /Subtype /Link /Dest (342) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 4077 58011 a Black -30 58213 a
-SDict begin H.S end
- -30 58213 a -30
-58213 a
-SDict begin 18.2 H.A end
- -30 58213 a -30 58213 a
-SDict begin [ /View [/XYZ H.V] /Dest (7674) cvn H.B /DEST pdfmark end
- -30 58213 a 1867 x FW(Loadlin,)p
-0 TeXcolorgray 5007 60080 a
-SDict begin H.S end
- 5007 60080 a FW(89)6401 60080
-y
-SDict begin 18.2 H.L end
- 6401 60080 a 6401 60080 a
-SDict begin [ /Subtype /Link /Dest (2473) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 6401 60080 a Black FW(,)p
-0 TeXcolorgray 7099 60080 a
-SDict begin H.S end
- 7099 60080 a FW(93)8493 60080
-y
-SDict begin 18.2 H.L end
- 8493 60080 a 8493 60080 a
-SDict begin [ /Subtype /Link /Dest (2553) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 8493 60080 a Black -30 60282
-a
-SDict begin H.S end
- -30 60282 a -30 60282 a
-SDict begin 18.2 H.A end
- -30 60282 a -30 60282 a
-SDict begin [ /View [/XYZ H.V] /Dest (7678) cvn H.B /DEST pdfmark end
- -30
-60282 a 1868 x FW(log)349 b(in)-30 62452 y
-SDict begin H.S end
- -30 62452
-a -30 62452 a
-SDict begin 18.2 H.A end
- -30 62452 a -30 62452 a
-SDict begin [ /View [/XYZ H.V] /Dest (7679) cvn H.B /DEST pdfmark end
- -30 62452 a 1520
-64219 a FW(remote,)p 0 TeXcolorgray 6090 64219 a
-SDict begin H.S end
- 6090
-64219 a FW(162)8181 64219 y
-SDict begin 18.2 H.L end
- 8181 64219 a 8181 64219 a
-SDict begin [ /Subtype /Link /Dest (4568) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
-
-8181 64219 a Black 2 w FW(,)p 0 TeXcolorgray 8880 64219
-a
-SDict begin H.S end
- 8880 64219 a FW(164)10971 64219 y
-SDict begin 18.2 H.L end
- 10971 64219 a 10971
-64219 a
-SDict begin [ /Subtype /Link /Dest (4616) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 10971 64219 a Black -30 64421 a
-SDict begin H.S end
- -30 64421 a -30
-64421 a
-SDict begin 18.2 H.A end
- -30 64421 a -30 64421 a
-SDict begin [ /View [/XYZ H.V] /Dest (7683) cvn H.B /DEST pdfmark end
- -30 64421 a 1868 x FW(logging)h(in,)p
-0 TeXcolorgray 6364 66289 a
-SDict begin H.S end
- 6364 66289 a FW(101)8455
-66289 y
-SDict begin 18.2 H.L end
- 8455 66289 a 8455 66289 a
-SDict begin [ /Subtype /Link /Dest (2680) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 8455 66289 a Black
--30 66591 a
-SDict begin H.S end
- -30 66591 a -30 66591 a
-SDict begin 18.2 H.A end
- -30 66591 a -30 66591
-a
-SDict begin [ /View [/XYZ H.V] /Dest (7686) cvn H.B /DEST pdfmark end
- -30 66591 a 1767 x FW(login)f(name,)p 0 TeXcolorgray
-6905 68358 a
-SDict begin H.S end
- 6905 68358 a FW(144)8996 68358 y
-SDict begin 18.2 H.L end
- 8996 68358
-a 8996 68358 a
-SDict begin [ /Subtype /Link /Dest (4087) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 8996 68358 a Black Black Black 27866 2383
-a
-SDict begin H.S end
- 27866 2383 a 27866 2383 a
-SDict begin 18.2 H.A end
- 27866 2383 a 27866 2383 a
-SDict begin [ /View [/XYZ H.V] /Dest (7689) cvn H.B /DEST pdfmark end
-
-27866 2383 a 1107 x FW(ls,)p 0 TeXcolorgray 29493 3490
-a
-SDict begin H.S end
- 29493 3490 a FW(121)31584 3490 y
-SDict begin 18.2 H.L end
- 31584 3490 a 31584
-3490 a
-SDict begin [ /Subtype /Link /Dest (3403) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 31584 3490 a Black 27866 3692 a
-SDict begin H.S end
- 27866 3692 a 27866
-3692 a
-SDict begin 18.2 H.A end
- 27866 3692 a 27866 3692 a
-SDict begin [ /View [/XYZ H.V] /Dest (7691) cvn H.B /DEST pdfmark end
- 27866 3692 a 5925 x
-FL(M)27866 10733 y
-SDict begin H.S end
- 27866 10733 a 27866 10733 a
-SDict begin 18.2 H.A end
- 27866
-10733 a 27866 10733 a
-SDict begin [ /View [/XYZ H.V] /Dest (7694) cvn H.B /DEST pdfmark end
- 27866 10733 a 2015 x FW(MacOS,)p
-0 TeXcolorgray 32824 12748 a
-SDict begin H.S end
- 32824 12748 a FW(41)34218
-12748 y
-SDict begin 18.2 H.L end
- 34218 12748 a 34218 12748 a
-SDict begin [ /Subtype /Link /Dest (1212) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 34218 12748 a Black
-1 w FW(,)p 0 TeXcolorgray 34916 12748 a
-SDict begin H.S end
- 34916 12748 a
-FW(83)36310 12748 y
-SDict begin 18.2 H.L end
- 36310 12748 a 36310 12748 a
-SDict begin [ /Subtype /Link /Dest (2387) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 36310
-12748 a Black 27866 12949 a
-SDict begin H.S end
- 27866 12949 a 27866 12949
-a
-SDict begin 18.2 H.A end
- 27866 12949 a 27866 12949 a
-SDict begin [ /View [/XYZ H.V] /Dest (7698) cvn H.B /DEST pdfmark end
- 27866 12949 a 1814 x FW(mail)27866
-14777 y
-SDict begin H.S end
- 27866 14777 a 27866 14777 a
-SDict begin 18.2 H.A end
- 27866 14777 a 27866
-14777 a
-SDict begin [ /View [/XYZ H.V] /Dest (7699) cvn H.B /DEST pdfmark end
- 27866 14777 a 29415 16779 a FW(spool)g(\002le,)p
-0 TeXcolorgray 35266 16779 a
-SDict begin H.S end
- 35266 16779 a FW(152)37357
-16779 y
-SDict begin 18.2 H.L end
- 37357 16779 a 37357 16779 a
-SDict begin [ /Subtype /Link /Dest (4298) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 37357 16779 a Black
-27866 17081 a
-SDict begin H.S end
- 27866 17081 a 27866 17081 a
-SDict begin 18.2 H.A end
- 27866 17081
-a 27866 17081 a
-SDict begin [ /View [/XYZ H.V] /Dest (7702) cvn H.B /DEST pdfmark end
- 27866 17081 a 1713 x FW(mail)f(folders,)p
-0 TeXcolorgray 35265 18794 a
-SDict begin H.S end
- 35265 18794 a FW(165)37356
-18794 y
-SDict begin 18.2 H.L end
- 37356 18794 a 37356 18794 a
-SDict begin [ /Subtype /Link /Dest (4647) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 37356 18794 a Black
-27866 18995 a
-SDict begin H.S end
- 27866 18995 a 27866 18995 a
-SDict begin 18.2 H.A end
- 27866 18995
-a 27866 18995 a
-SDict begin [ /View [/XYZ H.V] /Dest (7705) cvn H.B /DEST pdfmark end
- 27866 18995 a 1814 x FW(mak)-14 b(epkg,)p
-0 TeXcolorgray 33662 20809 a
-SDict begin H.S end
- 33662 20809 a FW(222)35753
-20809 y
-SDict begin 18.2 H.L end
- 35753 20809 a 35753 20809 a
-SDict begin [ /Subtype /Link /Dest (6597) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 35753 20809 a Black
-27866 21111 a
-SDict begin H.S end
- 27866 21111 a 27866 21111 a
-SDict begin 18.2 H.A end
- 27866 21111
-a 27866 21111 a
-SDict begin [ /View [/XYZ H.V] /Dest (7708) cvn H.B /DEST pdfmark end
- 27866 21111 a 1714 x FW(man)349 b(pages,)p
-0 TeXcolorgray 34489 22825 a
-SDict begin H.S end
- 34489 22825 a FW(7)35186
-22825 y
-SDict begin 18.2 H.L end
- 35186 22825 a 35186 22825 a
-SDict begin [ /Subtype /Link /Dest (389) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 35186 22825 a Black
-27866 23127 a
-SDict begin H.S end
- 27866 23127 a 27866 23127 a
-SDict begin 18.2 H.A end
- 27866 23127
-a 27866 23127 a
-SDict begin [ /View [/XYZ H.V] /Dest (7711) cvn H.B /DEST pdfmark end
- 27866 23127 a 1713 x FW(manuals)27866
-24854 y
-SDict begin H.S end
- 27866 24854 a 27866 24854 a
-SDict begin 18.2 H.A end
- 27866 24854 a 27866
-24854 a
-SDict begin [ /View [/XYZ H.V] /Dest (7712) cvn H.B /DEST pdfmark end
- 27866 24854 a 29415 26855 a FW(\(see)g(man)h(pages\))27866
-27157 y
-SDict begin H.S end
- 27866 27157 a 27866 27157 a
-SDict begin 18.2 H.A end
- 27866 27157 a 27866
-27157 a
-SDict begin [ /View [/XYZ H.V] /Dest (7714) cvn H.B /DEST pdfmark end
- 27866 27157 a 1714 x FW(Master)e(Boot)i(Record)h(\(MBR\),)p
-0 TeXcolorgray 44252 28871 a
-SDict begin H.S end
- 44252 28871 a FW(94)45646
-28871 y
-SDict begin 18.2 H.L end
- 45646 28871 a 45646 28871 a
-SDict begin [ /Subtype /Link /Dest (2572) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 45646 28871 a Black
-27866 29120 a
-SDict begin H.S end
- 27866 29120 a 27866 29120 a
-SDict begin 18.2 H.A end
- 27866 29120
-a 27866 29120 a
-SDict begin [ /View [/XYZ H.V] /Dest (7717) cvn H.B /DEST pdfmark end
- 27866 29120 a 1766 x FW(MD5)e(checksum,)p
-0 TeXcolorgray 37434 30886 a
-SDict begin H.S end
- 37434 30886 a FW(187)39525
-30886 y
-SDict begin 18.2 H.L end
- 39525 30886 a 39525 30886 a
-SDict begin [ /Subtype /Link /Dest (5252) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 39525 30886 a Black
-27866 31087 a
-SDict begin H.S end
- 27866 31087 a 27866 31087 a
-SDict begin 18.2 H.A end
- 27866 31087
-a 27866 31087 a
-SDict begin [ /View [/XYZ H.V] /Dest (7720) cvn H.B /DEST pdfmark end
- 27866 31087 a 1814 x FW(Meta)f(k)-14
-b(e)-21 b(y)-91 b(,)p 0 TeXcolorgray 33666 32901 a
-SDict begin H.S end
- 33666
-32901 a FW(210)35757 32901 y
-SDict begin 18.2 H.L end
- 35757 32901 a 35757 32901
-a
-SDict begin [ /Subtype /Link /Dest (6295) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 35757 32901 a Black 27866 33203 a
-SDict begin H.S end
- 27866 33203 a 27866
-33203 a
-SDict begin 18.2 H.A end
- 27866 33203 a 27866 33203 a
-SDict begin [ /View [/XYZ H.V] /Dest (7723) cvn H.B /DEST pdfmark end
- 27866 33203 a 1714
-x FW(Microsoft,)p 0 TeXcolorgray 34064 34917 a
-SDict begin H.S end
- 34064
-34917 a FW(70)35458 34917 y
-SDict begin 18.2 H.L end
- 35458 34917 a 35458 34917
-a
-SDict begin [ /Subtype /Link /Dest (2139) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 35458 34917 a Black 27866 35118 a
-SDict begin H.S end
- 27866 35118 a 27866
-35118 a
-SDict begin 18.2 H.A end
- 27866 35118 a 27866 35118 a
-SDict begin [ /View [/XYZ H.V] /Dest (7726) cvn H.B /DEST pdfmark end
- 27866 35118 a 1814
-x FW(modem,)p 0 TeXcolorgray 32747 36932 a
-SDict begin H.S end
- 32747 36932
-a FW(34)34141 36932 y
-SDict begin 18.2 H.L end
- 34141 36932 a 34141 36932 a
-SDict begin [ /Subtype /Link /Dest (1125) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 34141
-36932 a Black 27866 37133 a
-SDict begin H.S end
- 27866 37133 a 27866 37133
-a
-SDict begin 18.2 H.A end
- 27866 37133 a 27866 37133 a
-SDict begin [ /View [/XYZ H.V] /Dest (7729) cvn H.B /DEST pdfmark end
- 27866 37133 a 1814 x FW(modems,)p
-0 TeXcolorgray 33290 38947 a
-SDict begin H.S end
- 33290 38947 a FW(59)34684
-38947 y
-SDict begin 18.2 H.L end
- 34684 38947 a 34684 38947 a
-SDict begin [ /Subtype /Link /Dest (1797) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 34684 38947 a Black
-27866 39149 a
-SDict begin H.S end
- 27866 39149 a 27866 39149 a
-SDict begin 18.2 H.A end
- 27866 39149
-a 27866 39149 a
-SDict begin [ /View [/XYZ H.V] /Dest (7731) cvn H.B /DEST pdfmark end
- 27866 39149 a 29415 40962 a FW(W)-56
-b(inModems,)p 0 TeXcolorgray 37340 40962 a
-SDict begin H.S end
- 37340 40962
-a FW(59)38734 40962 y
-SDict begin 18.2 H.L end
- 38734 40962 a 38734 40962 a
-SDict begin [ /Subtype /Link /Dest (1807) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 38734
-40962 a Black 27866 41164 a
-SDict begin H.S end
- 27866 41164 a 27866 41164
-a
-SDict begin 18.2 H.A end
- 27866 41164 a 27866 41164 a
-SDict begin [ /View [/XYZ H.V] /Dest (7734) cvn H.B /DEST pdfmark end
- 27866 41164 a 1814 x FW(mount,)p
-0 TeXcolorgray 32128 42978 a
-SDict begin H.S end
- 32128 42978 a FW(117)34219
-42978 y
-SDict begin 18.2 H.L end
- 34219 42978 a 34219 42978 a
-SDict begin [ /Subtype /Link /Dest (3310) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 34219 42978 a Black
-27866 43179 a
-SDict begin H.S end
- 27866 43179 a 27866 43179 a
-SDict begin 18.2 H.A end
- 27866 43179
-a 27866 43179 a
-SDict begin [ /View [/XYZ H.V] /Dest (7737) cvn H.B /DEST pdfmark end
- 27866 43179 a 1814 x FW(mouse,)p 0 TeXcolorgray
-32205 44993 a
-SDict begin H.S end
- 32205 44993 a FW(36)33599 44993 y
-SDict begin 18.2 H.L end
- 33599
-44993 a 33599 44993 a
-SDict begin [ /Subtype /Link /Dest (1143) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 33599 44993 a Black FW(,)p 0 TeXcolorgray
-34297 44993 a
-SDict begin H.S end
- 34297 44993 a FW(50)35691 44993 y
-SDict begin 18.2 H.L end
- 35691
-44993 a 35691 44993 a
-SDict begin [ /Subtype /Link /Dest (1548) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 35691 44993 a Black 1 w FW(,)p
-0 TeXcolorgray 36389 44993 a
-SDict begin H.S end
- 36389 44993 a FW(77)37783
-44993 y
-SDict begin 18.2 H.L end
- 37783 44993 a 37783 44993 a
-SDict begin [ /Subtype /Link /Dest (2272) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 37783 44993 a Black
-27866 45195 a
-SDict begin H.S end
- 27866 45195 a 27866 45195 a
-SDict begin 18.2 H.A end
- 27866 45195
-a 27866 45195 a
-SDict begin [ /View [/XYZ H.V] /Dest (7742) cvn H.B /DEST pdfmark end
- 27866 45195 a 1813 x FW(multitasking,)p
-0 TeXcolorgray 35538 47008 a
-SDict begin H.S end
- 35538 47008 a FW(136)37629
-47008 y
-SDict begin 18.2 H.L end
- 37629 47008 a 37629 47008 a
-SDict begin [ /Subtype /Link /Dest (3915) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 37629 47008 a Black
-27866 47310 a
-SDict begin H.S end
- 27866 47310 a 27866 47310 a
-SDict begin 18.2 H.A end
- 27866 47310
-a 27866 47310 a
-SDict begin [ /View [/XYZ H.V] /Dest (7745) cvn H.B /DEST pdfmark end
- 27866 47310 a 1714 x FW(multiuser)g(,)p
-0 TeXcolorgray 33776 49024 a
-SDict begin H.S end
- 33776 49024 a FW(111)35867
-49024 y
-SDict begin 18.2 H.L end
- 35867 49024 a 35867 49024 a
-SDict begin [ /Subtype /Link /Dest (3068) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 35867 49024 a Black
-27866 49225 a
-SDict begin H.S end
- 27866 49225 a 27866 49225 a
-SDict begin 18.2 H.A end
- 27866 49225
-a 27866 49225 a
-SDict begin [ /View [/XYZ H.V] /Dest (7747) cvn H.B /DEST pdfmark end
- 27866 49225 a 5925 x FL(N)27866 56266
-y
-SDict begin H.S end
- 27866 56266 a 27866 56266 a
-SDict begin 18.2 H.A end
- 27866 56266 a 27866 56266
-a
-SDict begin [ /View [/XYZ H.V] /Dest (7750) cvn H.B /DEST pdfmark end
- 27866 56266 a 2015 x FW(NetBEUI,)p 0 TeXcolorgray 33831
-58281 a
-SDict begin H.S end
- 33831 58281 a FW(70)35225 58281 y
-SDict begin 18.2 H.L end
- 35225 58281
-a 35225 58281 a
-SDict begin [ /Subtype /Link /Dest (2133) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 35225 58281 a Black 27866 58483 a
-SDict begin H.S end
- 27866
-58483 a 27866 58483 a
-SDict begin 18.2 H.A end
- 27866 58483 a 27866 58483 a
-SDict begin [ /View [/XYZ H.V] /Dest (7753) cvn H.B /DEST pdfmark end
- 27866
-58483 a 1814 x FW(NetBIOS,)p 0 TeXcolorgray 33754 60297
-a
-SDict begin H.S end
- 33754 60297 a FW(70)35148 60297 y
-SDict begin 18.2 H.L end
- 35148 60297 a 35148
-60297 a
-SDict begin [ /Subtype /Link /Dest (2131) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 35148 60297 a Black 27866 60498 a
-SDict begin H.S end
- 27866 60498
-a 27866 60498 a
-SDict begin 18.2 H.A end
- 27866 60498 a 27866 60498 a
-SDict begin [ /View [/XYZ H.V] /Dest (7756) cvn H.B /DEST pdfmark end
- 27866 60498
-a 1814 x FW(netcon\002g,)p 0 TeXcolorgray 33754 62312
-a
-SDict begin H.S end
- 33754 62312 a FW(39)35148 62312 y
-SDict begin 18.2 H.L end
- 35148 62312 a 35148
-62312 a
-SDict begin [ /Subtype /Link /Dest (1184) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 35148 62312 a Black 1 w FW(,)p 0 TeXcolorgray
-35846 62312 a
-SDict begin H.S end
- 35846 62312 a FW(57)37240 62312 y
-SDict begin 18.2 H.L end
- 37240
-62312 a 37240 62312 a
-SDict begin [ /Subtype /Link /Dest (1735) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 37240 62312 a Black 1 w FW(,)p
-0 TeXcolorgray 37938 62312 a
-SDict begin H.S end
- 37938 62312 a Fa(??)39333
-62312 y
-SDict begin 18.2 H.L end
- 39333 62312 a 39333 62312 a
-SDict begin [ /Subtype /Link /Dest (1873) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 39333 62312 a Black
-27866 62614 a
-SDict begin H.S end
- 27866 62614 a 27866 62614 a
-SDict begin 18.2 H.A end
- 27866 62614
-a 27866 62614 a
-SDict begin [ /View [/XYZ H.V] /Dest (7761) cvn H.B /DEST pdfmark end
- 27866 62614 a 1713 x FW(netw)-14 b(ork,)p
-0 TeXcolorgray 33120 64327 a
-SDict begin H.S end
- 33120 64327 a FW(157)35211
-64327 y
-SDict begin 18.2 H.L end
- 35211 64327 a 35211 64327 a
-SDict begin [ /Subtype /Link /Dest (4412) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 35211 64327 a Black
-27866 64529 a
-SDict begin H.S end
- 27866 64529 a 27866 64529 a
-SDict begin 18.2 H.A end
- 27866 64529
-a 27866 64529 a
-SDict begin [ /View [/XYZ H.V] /Dest (7763) cvn H.B /DEST pdfmark end
- 27866 64529 a 29415 66343 a FW(diagnostics,)p
-0 TeXcolorgray 36389 66343 a
-SDict begin H.S end
- 36389 66343 a FW(158)38480
-66343 y
-SDict begin 18.2 H.L end
- 38480 66343 a 38480 66343 a
-SDict begin [ /Subtype /Link /Dest (4442) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 38480 66343 a Black
-27866 66645 a
-SDict begin H.S end
- 27866 66645 a 27866 66645 a
-SDict begin 18.2 H.A end
- 27866 66645
-a 27866 66645 a
-SDict begin [ /View [/XYZ H.V] /Dest (7765) cvn H.B /DEST pdfmark end
- 27866 66645 a 29415 68358 a FW(route,)p
-0 TeXcolorgray 32979 68358 a
-SDict begin H.S end
- 32979 68358 a FW(158)35070
-68358 y
-SDict begin 18.2 H.L end
- 35070 68358 a 35070 68358 a
-SDict begin [ /Subtype /Link /Dest (4445) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 35070 68358 a Black
-Black -30 73672 a FR(258)p Black eop end
-%%Page: 259 281
-TeXDict begin 259 280 bop -8000 -8000 a
-SDict begin /product where{pop product(Distiller)search{pop pop pop
-version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
-closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
-grestore}if}{pop}ifelse}{pop}ifelse}if end
- -8000 -8000 a
-Black 0 TeXcolorgray -30 -1358 a
-SDict begin H.S end
- -30 -1358 a 0 TeXcolorgray
-0 TeXcolorgray -30 -1358 a
-SDict begin H.R end
- -30 -1358 a -30 -1358 a
-SDict begin [ /View [/XYZ H.V] /Dest (page.259) cvn H.B /DEST pdfmark
-end
- -30
--1358 a Black -30 -2687 a
-SDict begin H.S end
- -30 -2687 a -30 -2687 a
-SDict begin 18.2 H.A end
- -30
--2687 a -30 -2687 a
-SDict begin [ /View [/XYZ H.V] /Dest (7929) cvn H.B /DEST pdfmark end
- -30 -2687 a Black -30 2383 a
-SDict begin H.S end
- -30
-2383 a -30 2383 a
-SDict begin 18.2 H.A end
- -30 2383 a -30 2383 a
-SDict begin [ /View [/XYZ H.V] /Dest (7768) cvn H.B /DEST pdfmark end
- -30 2383 a 1107
-x FW(Netw)-14 b(ork)350 b(Address)f(T)-49 b(ranslation)350
-b(\(N)-49 b(A)-155 b(T\),)p 0 TeXcolorgray 21046 3490
-a
-SDict begin H.S end
- 21046 3490 a FW(184)23137 3490 y
-SDict begin 18.2 H.L end
- 23137 3490 a 23137
-3490 a
-SDict begin [ /Subtype /Link /Dest (5178) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 23137 3490 a Black -30 5506 a FW(netw)-14 b(ork)350
-b(card,)p 0 TeXcolorgray 7973 5506 a
-SDict begin H.S end
- 7973 5506 a FW(58)9367
-5506 y
-SDict begin 18.2 H.L end
- 9367 5506 a 9367 5506 a
-SDict begin [ /Subtype /Link /Dest (7771) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 9367 5506 a Black -30
-5707 a
-SDict begin H.S end
- -30 5707 a -30 5707 a
-SDict begin 18.2 H.A end
- -30 5707 a -30 5707 a
-SDict begin [ /View [/XYZ H.V] /Dest (7774) cvn H.B /DEST pdfmark end
- -30
-5707 a 1814 x FW(netw)-14 b(ork)350 b(\002le)g(systems,)p
-0 TeXcolorgray 12121 7521 a
-SDict begin H.S end
- 12121 7521 a FW(70)13515
-7521 y
-SDict begin 18.2 H.L end
- 13515 7521 a 13515 7521 a
-SDict begin [ /Subtype /Link /Dest (2105) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 13515 7521 a Black -30
-7823 a
-SDict begin H.S end
- -30 7823 a -30 7823 a
-SDict begin 18.2 H.A end
- -30 7823 a -30 7823 a
-SDict begin [ /View [/XYZ H.V] /Dest (7776) cvn H.B /DEST pdfmark end
- -30
-7823 a 1520 9536 a FW(windo)-35 b(ws,)p 0 TeXcolorgray
-7219 9536 a
-SDict begin H.S end
- 7219 9536 a FW(70)8613 9536 y
-SDict begin 18.2 H.L end
- 8613 9536 a
-8613 9536 a
-SDict begin [ /Subtype /Link /Dest (2125) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 8613 9536 a Black -30 9738 a
-SDict begin H.S end
- -30 9738 a -30
-9738 a
-SDict begin 18.2 H.A end
- -30 9738 a -30 9738 a
-SDict begin [ /View [/XYZ H.V] /Dest (7779) cvn H.B /DEST pdfmark end
- -30 9738 a 1814 x FW(Ne)g(ws,)p
-0 TeXcolorgray 3808 11552 a
-SDict begin H.S end
- 3808 11552 a FW(49)5202 11552
-y
-SDict begin 18.2 H.L end
- 5202 11552 a 5202 11552 a
-SDict begin [ /Subtype /Link /Dest (1531) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 5202 11552 a Black -30 11753
-a
-SDict begin H.S end
- -30 11753 a -30 11753 a
-SDict begin 18.2 H.A end
- -30 11753 a -30 11753 a
-SDict begin [ /View [/XYZ H.V] /Dest (7782) cvn H.B /DEST pdfmark end
- -30
-11753 a 1814 x FW(NFS,)p 0 TeXcolorgray 3225 13567 a
-SDict begin H.S end
-
-3225 13567 a FW(17)4619 13567 y
-SDict begin 18.2 H.L end
- 4619 13567 a 4619 13567
-a
-SDict begin [ /Subtype /Link /Dest (726) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 4619 13567 a Black 1 w FW(,)p 0 TeXcolorgray 5318 13567
-a
-SDict begin H.S end
- 5318 13567 a FW(29)6712 13567 y
-SDict begin 18.2 H.L end
- 6712 13567 a 6712 13567
-a
-SDict begin [ /Subtype /Link /Dest (1045) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 6712 13567 a Black FW(,)p 0 TeXcolorgray 7410 13567
-a
-SDict begin H.S end
- 7410 13567 a FW(73)8804 13567 y
-SDict begin 18.2 H.L end
- 8804 13567 a 8804 13567
-a
-SDict begin [ /Subtype /Link /Dest (2189) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 8804 13567 a Black -30 13768 a
-SDict begin H.S end
- -30 13768 a -30 13768
-a
-SDict begin 18.2 H.A end
- -30 13768 a -30 13768 a
-SDict begin [ /View [/XYZ H.V] /Dest (7786) cvn H.B /DEST pdfmark end
- -30 13768 a 1520 15582 a FW(client)349
-b(con\002guration,)p 0 TeXcolorgray 13103 15582 a
-SDict begin H.S end
- 13103
-15582 a FW(73)14497 15582 y
-SDict begin 18.2 H.L end
- 14497 15582 a 14497 15582
-a
-SDict begin [ /Subtype /Link /Dest (2196) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 14497 15582 a Black -30 15884 a
-SDict begin H.S end
- -30 15884 a -30 15884
-a
-SDict begin 18.2 H.A end
- -30 15884 a -30 15884 a
-SDict begin [ /View [/XYZ H.V] /Dest (7788) cvn H.B /DEST pdfmark end
- -30 15884 a 1520 17598 a FW(mounts,)p
-0 TeXcolorgray 6325 17598 a
-SDict begin H.S end
- 6325 17598 a FW(111)8416
-17598 y
-SDict begin 18.2 H.L end
- 8416 17598 a 8416 17598 a
-SDict begin [ /Subtype /Link /Dest (3074) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 8416 17598 a Black
-1 w FW(,)p 0 TeXcolorgray 9114 17598 a
-SDict begin H.S end
- 9114 17598 a FW(119)11205
-17598 y
-SDict begin 18.2 H.L end
- 11205 17598 a 11205 17598 a
-SDict begin [ /Subtype /Link /Dest (3380) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 11205 17598 a Black
--30 17799 a
-SDict begin H.S end
- -30 17799 a -30 17799 a
-SDict begin 18.2 H.A end
- -30 17799 a -30 17799
-a
-SDict begin [ /View [/XYZ H.V] /Dest (7791) cvn H.B /DEST pdfmark end
- -30 17799 a 5925 x FL(O)-30 24868 y
-SDict begin H.S end
- -30 24868 a -30
-24868 a
-SDict begin 18.2 H.A end
- -30 24868 a -30 24868 a
-SDict begin [ /View [/XYZ H.V] /Dest (7794) cvn H.B /DEST pdfmark end
- -30 24868 a 1987 x FW(open)h(source,)p
-0 TeXcolorgray 7368 26855 a
-SDict begin H.S end
- 7368 26855 a FW(3)8065 26855
-y
-SDict begin 18.2 H.L end
- 8065 26855 a 8065 26855 a
-SDict begin [ /Subtype /Link /Dest (353) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 8065 26855 a Black -30 27157
-a
-SDict begin H.S end
- -30 27157 a -30 27157 a
-SDict begin 18.2 H.A end
- -30 27157 a -30 27157 a
-SDict begin [ /View [/XYZ H.V] /Dest (7797) cvn H.B /DEST pdfmark end
- -30
-27157 a 1714 x FW(Open)g(Source)h(Initiati)-35 b(v)-21
-b(e,)p 0 TeXcolorgray 13240 28871 a
-SDict begin H.S end
- 13240 28871 a FW(4)13937
-28871 y
-SDict begin 18.2 H.L end
- 13937 28871 a 13937 28871 a
-SDict begin [ /Subtype /Link /Dest (376) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 13937 28871 a Black
--30 29172 a
-SDict begin H.S end
- -30 29172 a -30 29172 a
-SDict begin 18.2 H.A end
- -30 29172 a -30 29172
-a
-SDict begin [ /View [/XYZ H.V] /Dest (7800) cvn H.B /DEST pdfmark end
- -30 29172 a 1714 x FW(output)350 b(redirection,)p 0
-TeXcolorgray 10623 30886 a
-SDict begin H.S end
- 10623 30886 a FW(105)12714
-30886 y
-SDict begin 18.2 H.L end
- 12714 30886 a 12714 30886 a
-SDict begin [ /Subtype /Link /Dest (2847) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 12714 30886 a Black
--30 31188 a
-SDict begin H.S end
- -30 31188 a -30 31188 a
-SDict begin 18.2 H.A end
- -30 31188 a -30 31188
-a
-SDict begin [ /View [/XYZ H.V] /Dest (7802) cvn H.B /DEST pdfmark end
- -30 31188 a 5824 x FL(P)-30 38128 y
-SDict begin H.S end
- -30 38128 a -30
-38128 a
-SDict begin 18.2 H.A end
- -30 38128 a -30 38128 a
-SDict begin [ /View [/XYZ H.V] /Dest (7805) cvn H.B /DEST pdfmark end
- -30 38128 a 2016 x FW(package)h
-(management,)p 0 TeXcolorgray 12713 40144 a
-SDict begin H.S end
- 12713 40144
-a FW(215)14804 40144 y
-SDict begin 18.2 H.L end
- 14804 40144 a 14804 40144 a
-SDict begin [ /Subtype /Link /Dest (6370) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 14804
-40144 a Black -30 40446 a
-SDict begin H.S end
- -30 40446 a -30 40446 a
-SDict begin 18.2 H.A end
- -30
-40446 a -30 40446 a
-SDict begin [ /View [/XYZ H.V] /Dest (7808) cvn H.B /DEST pdfmark end
- -30 40446 a 1713 x FW(packages)-30
-42461 y
-SDict begin H.S end
- -30 42461 a -30 42461 a
-SDict begin 18.2 H.A end
- -30 42461 a -30 42461
-a
-SDict begin [ /View [/XYZ H.V] /Dest (7809) cvn H.B /DEST pdfmark end
- -30 42461 a 1520 44174 a FW(installing,)p 0 TeXcolorgray
-7410 44174 a
-SDict begin H.S end
- 7410 44174 a FW(217)9501 44174 y
-SDict begin 18.2 H.L end
- 9501 44174
-a 9501 44174 a
-SDict begin [ /Subtype /Link /Dest (6403) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 9501 44174 a Black 1 w FW(,)p 0 TeXcolorgray
-10199 44174 a
-SDict begin H.S end
- 10199 44174 a FW(218)12290 44174 y
-SDict begin 18.2 H.L end
- 12290
-44174 a 12290 44174 a
-SDict begin [ /Subtype /Link /Dest (6435) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 12290 44174 a Black -30 44476 a
-SDict begin H.S end
-
--30 44476 a -30 44476 a
-SDict begin 18.2 H.A end
- -30 44476 a -30 44476 a
-SDict begin [ /View [/XYZ H.V] /Dest (7812) cvn H.B /DEST pdfmark end
- -30 44476
-a 1520 46190 a FW(making,)p 0 TeXcolorgray 6402 46190
-a
-SDict begin H.S end
- 6402 46190 a FW(222)8493 46190 y
-SDict begin 18.2 H.L end
- 8493 46190 a 8493
-46190 a
-SDict begin [ /Subtype /Link /Dest (6576) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 8493 46190 a Black -30 46491 a
-SDict begin H.S end
- -30 46491 a -30
-46491 a
-SDict begin 18.2 H.A end
- -30 46491 a -30 46491 a
-SDict begin [ /View [/XYZ H.V] /Dest (7814) cvn H.B /DEST pdfmark end
- -30 46491 a 1520 48205
-a FW(remo)-21 b(ving,)p 0 TeXcolorgray 7542 48205 a
-SDict begin H.S end
- 7542
-48205 a FW(217)9633 48205 y
-SDict begin 18.2 H.L end
- 9633 48205 a 9633 48205 a
-SDict begin [ /Subtype /Link /Dest (6406) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
-
-9633 48205 a Black 2 w FW(,)p 0 TeXcolorgray 10332 48205
-a
-SDict begin H.S end
- 10332 48205 a FW(219)12423 48205 y
-SDict begin 18.2 H.L end
- 12423 48205 a 12423
-48205 a
-SDict begin [ /Subtype /Link /Dest (6478) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 12423 48205 a Black -30 48507 a
-SDict begin H.S end
- -30 48507 a -30
-48507 a
-SDict begin 18.2 H.A end
- -30 48507 a -30 48507 a
-SDict begin [ /View [/XYZ H.V] /Dest (7817) cvn H.B /DEST pdfmark end
- -30 48507 a 1520 50220
-a FW(upgrading,)p 0 TeXcolorgray 7873 50220 a
-SDict begin H.S end
- 7873 50220
-a FW(218)9964 50220 y
-SDict begin 18.2 H.L end
- 9964 50220 a 9964 50220 a
-SDict begin [ /Subtype /Link /Dest (6427) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 9964
-50220 a Black 1 w FW(,)p 0 TeXcolorgray 10663 50220 a
-SDict begin H.S end
-
-10663 50220 a FW(220)12754 50220 y
-SDict begin 18.2 H.L end
- 12754 50220 a 12754
-50220 a
-SDict begin [ /Subtype /Link /Dest (6527) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 12754 50220 a Black -30 50522 a
-SDict begin H.S end
- -30 50522 a -30
-50522 a
-SDict begin 18.2 H.A end
- -30 50522 a -30 50522 a
-SDict begin [ /View [/XYZ H.V] /Dest (7821) cvn H.B /DEST pdfmark end
- -30 50522 a 1714 x FW(pack)-14
-b(et)350 b(\002ltering,)p 0 TeXcolorgray 9060 52236 a
-SDict begin H.S end
-
-9060 52236 a FW(183)11151 52236 y
-SDict begin 18.2 H.L end
- 11151 52236 a 11151
-52236 a
-SDict begin [ /Subtype /Link /Dest (5137) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 11151 52236 a Black -30 52537 a
-SDict begin H.S end
- -30 52537 a -30
-52537 a
-SDict begin 18.2 H.A end
- -30 52537 a -30 52537 a
-SDict begin [ /View [/XYZ H.V] /Dest (7824) cvn H.B /DEST pdfmark end
- -30 52537 a 1714 x FW(pagers,)p
-0 TeXcolorgray 4308 54251 a
-SDict begin H.S end
- 4308 54251 a FW(124)6399
-54251 y
-SDict begin 18.2 H.L end
- 6399 54251 a 6399 54251 a
-SDict begin [ /Subtype /Link /Dest (3493) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 6399 54251 a Black
--30 54553 a
-SDict begin H.S end
- -30 54553 a -30 54553 a
-SDict begin 18.2 H.A end
- -30 54553 a -30 54553
-a
-SDict begin [ /View [/XYZ H.V] /Dest (7826) cvn H.B /DEST pdfmark end
- -30 54553 a 1520 56266 a FW(less,)p 0 TeXcolorgray
-4309 56266 a
-SDict begin H.S end
- 4309 56266 a FW(125)6400 56266 y
-SDict begin 18.2 H.L end
- 6400 56266
-a 6400 56266 a
-SDict begin [ /Subtype /Link /Dest (3522) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 6400 56266 a Black -30 56468 a
-SDict begin H.S end
- -30 56468
-a -30 56468 a
-SDict begin 18.2 H.A end
- -30 56468 a -30 56468 a
-SDict begin [ /View [/XYZ H.V] /Dest (7828) cvn H.B /DEST pdfmark end
- -30 56468 a 1520
-58281 a FW(more,)p 0 TeXcolorgray 5083 58281 a
-SDict begin H.S end
- 5083 58281
-a FW(124)7174 58281 y
-SDict begin 18.2 H.L end
- 7174 58281 a 7174 58281 a
-SDict begin [ /Subtype /Link /Dest (3495) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 7174
-58281 a Black -30 58483 a
-SDict begin H.S end
- -30 58483 a -30 58483 a
-SDict begin 18.2 H.A end
- -30
-58483 a -30 58483 a
-SDict begin [ /View [/XYZ H.V] /Dest (7830) cvn H.B /DEST pdfmark end
- -30 58483 a 1520 60297 a FW(most,)p
-0 TeXcolorgray 4930 60297 a
-SDict begin H.S end
- 4930 60297 a FW(125)7021
-60297 y
-SDict begin 18.2 H.L end
- 7021 60297 a 7021 60297 a
-SDict begin [ /Subtype /Link /Dest (3541) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 7021 60297 a Black
--30 60498 a
-SDict begin H.S end
- -30 60498 a -30 60498 a
-SDict begin 18.2 H.A end
- -30 60498 a -30 60498
-a
-SDict begin [ /View [/XYZ H.V] /Dest (7833) cvn H.B /DEST pdfmark end
- -30 60498 a 1814 x FW(paging,)p 0 TeXcolorgray 4464
-62312 a
-SDict begin H.S end
- 4464 62312 a FW(138)6555 62312 y
-SDict begin 18.2 H.L end
- 6555 62312 a
-6555 62312 a
-SDict begin [ /Subtype /Link /Dest (3934) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 6555 62312 a Black -30 62614 a
-SDict begin H.S end
- -30 62614
-a -30 62614 a
-SDict begin 18.2 H.A end
- -30 62614 a -30 62614 a
-SDict begin [ /View [/XYZ H.V] /Dest (7836) cvn H.B /DEST pdfmark end
- -30 62614 a 1713
-x FW(partitioning,)p 0 TeXcolorgray 7177 64327 a
-SDict begin H.S end
- 7177
-64327 a FW(22)8571 64327 y
-SDict begin 18.2 H.L end
- 8571 64327 a 8571 64327 a
-SDict begin [ /Subtype /Link /Dest (892) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
-
-8571 64327 a Black -30 64629 a
-SDict begin H.S end
- -30 64629 a -30 64629
-a
-SDict begin 18.2 H.A end
- -30 64629 a -30 64629 a
-SDict begin [ /View [/XYZ H.V] /Dest (7839) cvn H.B /DEST pdfmark end
- -30 64629 a 1714 x FW(passw)-14
-b(ords,)p 0 TeXcolorgray 6464 66343 a
-SDict begin H.S end
- 6464 66343 a FW(102)8555
-66343 y
-SDict begin 18.2 H.L end
- 8555 66343 a 8555 66343 a
-SDict begin [ /Subtype /Link /Dest (2688) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 8555 66343 a Black
--30 66645 a
-SDict begin H.S end
- -30 66645 a -30 66645 a
-SDict begin 18.2 H.A end
- -30 66645 a -30 66645
-a
-SDict begin [ /View [/XYZ H.V] /Dest (7841) cvn H.B /DEST pdfmark end
- -30 66645 a 1520 68358 a FW(changing,)p 0 TeXcolorgray
-7330 68358 a
-SDict begin H.S end
- 7330 68358 a FW(148)9421 68358 y
-SDict begin 18.2 H.L end
- 9421 68358
-a 9421 68358 a
-SDict begin [ /Subtype /Link /Dest (4178) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 9421 68358 a Black Black Black 27866 2383
-a
-SDict begin H.S end
- 27866 2383 a 27866 2383 a
-SDict begin 18.2 H.A end
- 27866 2383 a 27866 2383 a
-SDict begin [ /View [/XYZ H.V] /Dest (7843) cvn H.B /DEST pdfmark end
-
-27866 2383 a 29415 3490 a FW(choosing,)p 0 TeXcolorgray
-35149 3490 a
-SDict begin H.S end
- 35149 3490 a FW(146)37240 3490 y
-SDict begin 18.2 H.L end
- 37240 3490
-a 37240 3490 a
-SDict begin [ /Subtype /Link /Dest (4136) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 37240 3490 a Black 27866 3792 a
-SDict begin H.S end
- 27866
-3792 a 27866 3792 a
-SDict begin 18.2 H.A end
- 27866 3792 a 27866 3792 a
-SDict begin [ /View [/XYZ H.V] /Dest (7846) cvn H.B /DEST pdfmark end
- 27866 3792
-a 1752 x FW(patches,)p 0 TeXcolorgray 32746 5544 a
-SDict begin H.S end
- 32746
-5544 a FW(187)34837 5544 y
-SDict begin 18.2 H.L end
- 34837 5544 a 34837 5544 a
-SDict begin [ /Subtype /Link /Dest (5247) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
-
-34837 5544 a Black 27866 5846 a
-SDict begin H.S end
- 27866 5846 a 27866 5846
-a
-SDict begin 18.2 H.A end
- 27866 5846 a 27866 5846 a
-SDict begin [ /View [/XYZ H.V] /Dest (7849) cvn H.B /DEST pdfmark end
- 27866 5846 a 1752 x FW(P)-128
-b(A)-155 b(TH,)p 0 TeXcolorgray 31921 7598 a
-SDict begin H.S end
- 31921 7598
-a FW(103)34012 7598 y
-SDict begin 18.2 H.L end
- 34012 7598 a 34012 7598 a
-SDict begin [ /Subtype /Link /Dest (2737) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 34012
-7598 a Black 27866 7800 a
-SDict begin H.S end
- 27866 7800 a 27866 7800 a
-SDict begin 18.2 H.A end
- 27866
-7800 a 27866 7800 a
-SDict begin [ /View [/XYZ H.V] /Dest (7852) cvn H.B /DEST pdfmark end
- 27866 7800 a 1852 x FW(PCI,)p 0 TeXcolorgray
-30733 9652 a
-SDict begin H.S end
- 30733 9652 a FW(59)32127 9652 y
-SDict begin 18.2 H.L end
- 32127 9652
-a 32127 9652 a
-SDict begin [ /Subtype /Link /Dest (1799) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 32127 9652 a Black 27866 9854 a
-SDict begin H.S end
- 27866
-9854 a 27866 9854 a
-SDict begin 18.2 H.A end
- 27866 9854 a 27866 9854 a
-SDict begin [ /View [/XYZ H.V] /Dest (7855) cvn H.B /DEST pdfmark end
- 27866 9854
-a 1852 x FW(PCMCIA,)p 0 TeXcolorgray 33910 11706 a
-SDict begin H.S end
- 33910
-11706 a FW(47)35304 11706 y
-SDict begin 18.2 H.L end
- 35304 11706 a 35304 11706
-a
-SDict begin [ /Subtype /Link /Dest (1436) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 35304 11706 a Black 1 w FW(,)p 0 TeXcolorgray 36003
-11706 a
-SDict begin H.S end
- 36003 11706 a FW(60)37397 11706 y
-SDict begin 18.2 H.L end
- 37397 11706
-a 37397 11706 a
-SDict begin [ /Subtype /Link /Dest (1816) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 37397 11706 a Black 27866 11907 a
-SDict begin H.S end
- 27866
-11907 a 27866 11907 a
-SDict begin 18.2 H.A end
- 27866 11907 a 27866 11907 a
-SDict begin [ /View [/XYZ H.V] /Dest (7859) cvn H.B /DEST pdfmark end
- 27866
-11907 a 1853 x FW(ping,)p 0 TeXcolorgray 31043 13760
-a
-SDict begin H.S end
- 31043 13760 a FW(157)33134 13760 y
-SDict begin 18.2 H.L end
- 33134 13760 a 33134
-13760 a
-SDict begin [ /Subtype /Link /Dest (4419) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 33134 13760 a Black 27866 14062 a
-SDict begin H.S end
- 27866 14062
-a 27866 14062 a
-SDict begin 18.2 H.A end
- 27866 14062 a 27866 14062 a
-SDict begin [ /View [/XYZ H.V] /Dest (7862) cvn H.B /DEST pdfmark end
- 27866 14062
-a 1752 x FW(pipes,)p 0 TeXcolorgray 31507 15814 a
-SDict begin H.S end
- 31507
-15814 a FW(105)33598 15814 y
-SDict begin 18.2 H.L end
- 33598 15814 a 33598 15814
-a
-SDict begin [ /Subtype /Link /Dest (2845) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 33598 15814 a Black 27866 16116 a
-SDict begin H.S end
- 27866 16116 a 27866
-16116 a
-SDict begin 18.2 H.A end
- 27866 16116 a 27866 16116 a
-SDict begin [ /View [/XYZ H.V] /Dest (7865) cvn H.B /DEST pdfmark end
- 27866 16116 a 1752
-x FW(pkgtool,)p 0 TeXcolorgray 32825 17868 a
-SDict begin H.S end
- 32825 17868
-a FW(217)34916 17868 y
-SDict begin 18.2 H.L end
- 34916 17868 a 34916 17868 a
-SDict begin [ /Subtype /Link /Dest (6401) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 34916
-17868 a Black 27866 18170 a
-SDict begin H.S end
- 27866 18170 a 27866 18170
-a
-SDict begin 18.2 H.A end
- 27866 18170 a 27866 18170 a
-SDict begin [ /View [/XYZ H.V] /Dest (7868) cvn H.B /DEST pdfmark end
- 27866 18170 a 1752 x FW(PPP)g(,)p
-0 TeXcolorgray 30735 19922 a
-SDict begin H.S end
- 30735 19922 a FW(65)32129
-19922 y
-SDict begin 18.2 H.L end
- 32129 19922 a 32129 19922 a
-SDict begin [ /Subtype /Link /Dest (1948) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 32129 19922 a Black
-27866 20123 a
-SDict begin H.S end
- 27866 20123 a 27866 20123 a
-SDict begin 18.2 H.A end
- 27866 20123
-a 27866 20123 a
-SDict begin [ /View [/XYZ H.V] /Dest (7870) cvn H.B /DEST pdfmark end
- 27866 20123 a 29415 21976 a FW(setup,)p
-0 TeXcolorgray 33057 21976 a
-SDict begin H.S end
- 33057 21976 a FW(66)34451
-21976 y
-SDict begin 18.2 H.L end
- 34451 21976 a 34451 21976 a
-SDict begin [ /Subtype /Link /Dest (1956) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 34451 21976 a Black
-27866 22277 a
-SDict begin H.S end
- 27866 22277 a 27866 22277 a
-SDict begin 18.2 H.A end
- 27866 22277
-a 27866 22277 a
-SDict begin [ /View [/XYZ H.V] /Dest (7873) cvn H.B /DEST pdfmark end
- 27866 22277 a 1752 x FW(process,)p 0
-TeXcolorgray 32746 24029 a
-SDict begin H.S end
- 32746 24029 a FW(133)34837
-24029 y
-SDict begin 18.2 H.L end
- 34837 24029 a 34837 24029 a
-SDict begin [ /Subtype /Link /Dest (3821) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 34837 24029 a Black
-27866 24331 a
-SDict begin H.S end
- 27866 24331 a 27866 24331 a
-SDict begin 18.2 H.A end
- 27866 24331
-a 27866 24331 a
-SDict begin [ /View [/XYZ H.V] /Dest (7875) cvn H.B /DEST pdfmark end
- 27866 24331 a 29415 26083 a FW(suspend,)p
-0 TeXcolorgray 34607 26083 a
-SDict begin H.S end
- 34607 26083 a FW(134)36698
-26083 y
-SDict begin 18.2 H.L end
- 36698 26083 a 36698 26083 a
-SDict begin [ /Subtype /Link /Dest (3847) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 36698 26083 a Black
-27866 26385 a
-SDict begin H.S end
- 27866 26385 a 27866 26385 a
-SDict begin 18.2 H.A end
- 27866 26385
-a 27866 26385 a
-SDict begin [ /View [/XYZ H.V] /Dest (7877) cvn H.B /DEST pdfmark end
- 27866 26385 a 29415 28137 a FW(terminating,)p
-0 TeXcolorgray 36544 28137 a
-SDict begin H.S end
- 36544 28137 a FW(139)38635
-28137 y
-SDict begin 18.2 H.L end
- 38635 28137 a 38635 28137 a
-SDict begin [ /Subtype /Link /Dest (3961) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 38635 28137 a Black
-27866 28439 a
-SDict begin H.S end
- 27866 28439 a 27866 28439 a
-SDict begin 18.2 H.A end
- 27866 28439
-a 27866 28439 a
-SDict begin [ /View [/XYZ H.V] /Dest (7880) cvn H.B /DEST pdfmark end
- 27866 28439 a 1752 x FW(programs)27866
-30493 y
-SDict begin H.S end
- 27866 30493 a 27866 30493 a
-SDict begin 18.2 H.A end
- 27866 30493 a 27866
-30493 a
-SDict begin [ /View [/XYZ H.V] /Dest (7881) cvn H.B /DEST pdfmark end
- 27866 30493 a 29415 32245 a FW(installing,)p
-0 TeXcolorgray 35305 32245 a
-SDict begin H.S end
- 35305 32245 a FW(215)37396
-32245 y
-SDict begin 18.2 H.L end
- 37396 32245 a 37396 32245 a
-SDict begin [ /Subtype /Link /Dest (6372) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 37396 32245 a Black
-27866 32547 a
-SDict begin H.S end
- 27866 32547 a 27866 32547 a
-SDict begin 18.2 H.A end
- 27866 32547
-a 27866 32547 a
-SDict begin [ /View [/XYZ H.V] /Dest (7883) cvn H.B /DEST pdfmark end
- 27866 32547 a 29415 34299 a FW(listing,)p
-0 TeXcolorgray 33601 34299 a
-SDict begin H.S end
- 33601 34299 a FW(135)35692
-34299 y
-SDict begin 18.2 H.L end
- 35692 34299 a 35692 34299 a
-SDict begin [ /Subtype /Link /Dest (3895) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 35692 34299 a Black
-27866 34601 a
-SDict begin H.S end
- 27866 34601 a 27866 34601 a
-SDict begin 18.2 H.A end
- 27866 34601
-a 27866 34601 a
-SDict begin [ /View [/XYZ H.V] /Dest (7885) cvn H.B /DEST pdfmark end
- 27866 34601 a 29415 36353 a FW(running)351
-b(in)e(background,)p 0 TeXcolorgray 42819 36353 a
-SDict begin H.S end
- 42819
-36353 a FW(133)44910 36353 y
-SDict begin 18.2 H.L end
- 44910 36353 a 44910 36353
-a
-SDict begin [ /Subtype /Link /Dest (3834) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 44910 36353 a Black 27866 36655 a
-SDict begin H.S end
- 27866 36655 a 27866
-36655 a
-SDict begin 18.2 H.A end
- 27866 36655 a 27866 36655 a
-SDict begin [ /View [/XYZ H.V] /Dest (7887) cvn H.B /DEST pdfmark end
- 27866 36655 a 29415
-38407 a FW(running)i(in)e(fore)-21 b(ground,)p 0 TeXcolorgray
-42410 38407 a
-SDict begin H.S end
- 42410 38407 a FW(134)44501 38407 y
-SDict begin 18.2 H.L end
- 44501
-38407 a 44501 38407 a
-SDict begin [ /Subtype /Link /Dest (3860) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 44501 38407 a Black 27866 38709
-a
-SDict begin H.S end
- 27866 38709 a 27866 38709 a
-SDict begin 18.2 H.A end
- 27866 38709 a 27866 38709
-a
-SDict begin [ /View [/XYZ H.V] /Dest (7889) cvn H.B /DEST pdfmark end
- 27866 38709 a 29415 40461 a FW(suspending,)p 0 TeXcolorgray
-36389 40461 a
-SDict begin H.S end
- 36389 40461 a FW(134)38480 40461 y
-SDict begin 18.2 H.L end
- 38480
-40461 a 38480 40461 a
-SDict begin [ /Subtype /Link /Dest (3844) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 38480 40461 a Black 27866 40763
-a
-SDict begin H.S end
- 27866 40763 a 27866 40763 a
-SDict begin 18.2 H.A end
- 27866 40763 a 27866 40763
-a
-SDict begin [ /View [/XYZ H.V] /Dest (7892) cvn H.B /DEST pdfmark end
- 27866 40763 a 1752 x FW(pwd,)p 0 TeXcolorgray 30965
-42515 a
-SDict begin H.S end
- 30965 42515 a FW(124)33056 42515 y
-SDict begin 18.2 H.L end
- 33056 42515
-a 33056 42515 a
-SDict begin [ /Subtype /Link /Dest (3468) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 33056 42515 a Black 27866 42817 a
-SDict begin H.S end
- 27866
-42817 a 27866 42817 a
-SDict begin 18.2 H.A end
- 27866 42817 a 27866 42817 a
-SDict begin [ /View [/XYZ H.V] /Dest (7894) cvn H.B /DEST pdfmark end
- 27866
-42817 a 5940 x FL(R)27866 49873 y
-SDict begin H.S end
- 27866 49873 a 27866
-49873 a
-SDict begin 18.2 H.A end
- 27866 49873 a 27866 49873 a
-SDict begin [ /View [/XYZ H.V] /Dest (7897) cvn H.B /DEST pdfmark end
- 27866 49873 a 2054
-x FW(RAM,)p 0 TeXcolorgray 31740 51927 a
-SDict begin H.S end
- 31740 51927
-a FW(80)33134 51927 y
-SDict begin 18.2 H.L end
- 33134 51927 a 33134 51927 a
-SDict begin [ /Subtype /Link /Dest (2316) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 33134
-51927 a Black 27866 52128 a
-SDict begin H.S end
- 27866 52128 a 27866 52128
-a
-SDict begin 18.2 H.A end
- 27866 52128 a 27866 52128 a
-SDict begin [ /View [/XYZ H.V] /Dest (7900) cvn H.B /DEST pdfmark end
- 27866 52128 a 1853 x FW(reboot,)p
-0 TeXcolorgray 32126 53981 a
-SDict begin H.S end
- 32126 53981 a FW(153)34217
-53981 y
-SDict begin 18.2 H.L end
- 34217 53981 a 34217 53981 a
-SDict begin [ /Subtype /Link /Dest (4321) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 34217 53981 a Black
-2 w FW(,)p 0 TeXcolorgray 34916 53981 a
-SDict begin H.S end
- 34916 53981 a
-FW(183)37007 53981 y
-SDict begin 18.2 H.L end
- 37007 53981 a 37007 53981 a
-SDict begin [ /Subtype /Link /Dest (5120) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 37007
-53981 a Black 27866 54182 a
-SDict begin H.S end
- 27866 54182 a 27866 54182
-a
-SDict begin 18.2 H.A end
- 27866 54182 a 27866 54182 a
-SDict begin [ /View [/XYZ H.V] /Dest (7904) cvn H.B /DEST pdfmark end
- 27866 54182 a 1853 x FW(Red)349
-b(Hat)g(Linux,)p 0 TeXcolorgray 36853 56035 a
-SDict begin H.S end
- 36853 56035
-a FW(215)38944 56035 y
-SDict begin 18.2 H.L end
- 38944 56035 a 38944 56035 a
-SDict begin [ /Subtype /Link /Dest (6376) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 38944
-56035 a Black 27866 56236 a
-SDict begin H.S end
- 27866 56236 a 27866 56236
-a
-SDict begin 18.2 H.A end
- 27866 56236 a 27866 56236 a
-SDict begin [ /View [/XYZ H.V] /Dest (7907) cvn H.B /DEST pdfmark end
- 27866 56236 a 1853 x FW(Red)g(Hat)g(P)-21
-b(ackage)351 b(Manager)-56 b(,)p 0 TeXcolorgray 43398
-58089 a
-SDict begin H.S end
- 43398 58089 a FW(221)45489 58089 y
-SDict begin 18.2 H.L end
- 45489 58089
-a 45489 58089 a
-SDict begin [ /Subtype /Link /Dest (6557) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 45489 58089 a Black 27866 58390 a
-SDict begin H.S end
- 27866
-58390 a 27866 58390 a
-SDict begin 18.2 H.A end
- 27866 58390 a 27866 58390 a
-SDict begin [ /View [/XYZ H.V] /Dest (7909) cvn H.B /DEST pdfmark end
- 27866
-58390 a 29415 60142 a FW(con)g(v)-21 b(erting,)p 0 TeXcolorgray
-36001 60142 a
-SDict begin H.S end
- 36001 60142 a FW(221)38092 60142 y
-SDict begin 18.2 H.L end
- 38092
-60142 a 38092 60142 a
-SDict begin [ /Subtype /Link /Dest (6563) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 38092 60142 a Black 27866 60444
-a
-SDict begin H.S end
- 27866 60444 a 27866 60444 a
-SDict begin 18.2 H.A end
- 27866 60444 a 27866 60444
-a
-SDict begin [ /View [/XYZ H.V] /Dest (7912) cvn H.B /DEST pdfmark end
- 27866 60444 a 1752 x FW(remote)349 b(login,)p 0 TeXcolorgray
-35652 62196 a
-SDict begin H.S end
- 35652 62196 a FW(162)37743 62196 y
-SDict begin 18.2 H.L end
- 37743
-62196 a 37743 62196 a
-SDict begin [ /Subtype /Link /Dest (4566) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 37743 62196 a Black 27866 62498
-a
-SDict begin H.S end
- 27866 62498 a 27866 62498 a
-SDict begin 18.2 H.A end
- 27866 62498 a 27866 62498
-a
-SDict begin [ /View [/XYZ H.V] /Dest (7915) cvn H.B /DEST pdfmark end
- 27866 62498 a 1752 x FW(remo)-21 b(v)g(epkg,)p 0 TeXcolorgray
-34796 64250 a
-SDict begin H.S end
- 34796 64250 a FW(219)36887 64250 y
-SDict begin 18.2 H.L end
- 36887
-64250 a 36887 64250 a
-SDict begin [ /Subtype /Link /Dest (6481) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 36887 64250 a Black 27866 64552
-a
-SDict begin H.S end
- 27866 64552 a 27866 64552 a
-SDict begin 18.2 H.A end
- 27866 64552 a 27866 64552
-a
-SDict begin [ /View [/XYZ H.V] /Dest (7918) cvn H.B /DEST pdfmark end
- 27866 64552 a 1752 x FW(resolv)g(er)-56 b(,)p 0 TeXcolorgray
-32979 66304 a
-SDict begin H.S end
- 32979 66304 a FW(64)34373 66304 y
-SDict begin 18.2 H.L end
- 34373
-66304 a 34373 66304 a
-SDict begin [ /Subtype /Link /Dest (1911) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 34373 66304 a Black 27866 66506
-a
-SDict begin H.S end
- 27866 66506 a 27866 66506 a
-SDict begin 18.2 H.A end
- 27866 66506 a 27866 66506
-a
-SDict begin [ /View [/XYZ H.V] /Dest (7921) cvn H.B /DEST pdfmark end
- 27866 66506 a 1852 x FW(re)-35 b(v)-21 b(erse)350 b(DNS,)p
-0 TeXcolorgray 35672 68358 a
-SDict begin H.S end
- 35672 68358 a FW(186)37763
-68358 y
-SDict begin 18.2 H.L end
- 37763 68358 a 37763 68358 a
-SDict begin [ /Subtype /Link /Dest (5218) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 37763 68358 a Black
-Black 49451 73672 a FR(259)p Black eop end
-%%Page: 260 282
-TeXDict begin 260 281 bop -8000 -8000 a
-SDict begin /product where{pop product(Distiller)search{pop pop pop
-version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
-closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
-grestore}if}{pop}ifelse}{pop}ifelse}if end
- -8000 -8000 a
-Black 0 TeXcolorgray -30 -1358 a
-SDict begin H.S end
- -30 -1358 a 0 TeXcolorgray
-0 TeXcolorgray -30 -1358 a
-SDict begin H.R end
- -30 -1358 a -30 -1358 a
-SDict begin [ /View [/XYZ H.V] /Dest (page.260) cvn H.B /DEST pdfmark
-end
- -30
--1358 a Black -30 -2687 a
-SDict begin H.S end
- -30 -2687 a -30 -2687 a
-SDict begin 18.2 H.A end
- -30
--2687 a -30 -2687 a
-SDict begin [ /View [/XYZ H.V] /Dest (8101) cvn H.B /DEST pdfmark end
- -30 -2687 a Black -30 2383 a
-SDict begin H.S end
- -30
-2383 a -30 2383 a
-SDict begin 18.2 H.A end
- -30 2383 a -30 2383 a
-SDict begin [ /View [/XYZ H.V] /Dest (7924) cvn H.B /DEST pdfmark end
- -30 2383 a 1107
-x FW(root,)p 0 TeXcolorgray 2914 3490 a
-SDict begin H.S end
- 2914 3490 a FW(102)5005
-3490 y
-SDict begin 18.2 H.L end
- 5005 3490 a 5005 3490 a
-SDict begin [ /Subtype /Link /Dest (2686) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 5005 3490 a Black 2 w
-FW(,)p 0 TeXcolorgray 5704 3490 a
-SDict begin H.S end
- 5704 3490 a FW(115)7795
-3490 y
-SDict begin 18.2 H.L end
- 7795 3490 a 7795 3490 a
-SDict begin [ /Subtype /Link /Dest (3278) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 7795 3490 a Black 1 w
-FW(,)p 0 TeXcolorgray 8494 3490 a
-SDict begin H.S end
- 8494 3490 a FW(143)10585
-3490 y
-SDict begin 18.2 H.L end
- 10585 3490 a 10585 3490 a
-SDict begin [ /Subtype /Link /Dest (4050) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 10585 3490 a Black -30
-5544 a FW(root)350 b(directory)-91 b(,)p 0 TeXcolorgray
-8208 5544 a
-SDict begin H.S end
- 8208 5544 a FW(41)9602 5544 y
-SDict begin 18.2 H.L end
- 9602 5544 a
-9602 5544 a
-SDict begin [ /Subtype /Link /Dest (7929) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 9602 5544 a Black -30 5846 a
-SDict begin H.S end
- -30 5846 a -30
-5846 a
-SDict begin 18.2 H.A end
- -30 5846 a -30 5846 a
-SDict begin [ /View [/XYZ H.V] /Dest (7932) cvn H.B /DEST pdfmark end
- -30 5846 a 1752 x FW(route,)p
-0 TeXcolorgray 3534 7598 a
-SDict begin H.S end
- 3534 7598 a FW(158)5625 7598
-y
-SDict begin 18.2 H.L end
- 5625 7598 a 5625 7598 a
-SDict begin [ /Subtype /Link /Dest (4448) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 5625 7598 a Black -30 7800
-a
-SDict begin H.S end
- -30 7800 a -30 7800 a
-SDict begin 18.2 H.A end
- -30 7800 a -30 7800 a
-SDict begin [ /View [/XYZ H.V] /Dest (7935) cvn H.B /DEST pdfmark end
- -30 7800
-a 1852 x FW(RPM)-30 9652 y
-SDict begin H.S end
- -30 9652 a -30 9652 a
-SDict begin 18.2 H.A end
- -30
-9652 a -30 9652 a
-SDict begin [ /View [/XYZ H.V] /Dest (7936) cvn H.B /DEST pdfmark end
- -30 9652 a 1520 11706 a FW(\(see)349
-b(Red)h(Hat)e(P)-21 b(ackage)352 b(Manager\))-30 12008
-y
-SDict begin H.S end
- -30 12008 a -30 12008 a
-SDict begin 18.2 H.A end
- -30 12008 a -30 12008 a
-SDict begin [ /View [/XYZ H.V] /Dest (7938) cvn H.B /DEST pdfmark end
- -30
-12008 a 1752 x FW(runle)-35 b(v)-21 b(el,)p 0 TeXcolorgray
-5182 13760 a
-SDict begin H.S end
- 5182 13760 a FW(47)6576 13760 y
-SDict begin 18.2 H.L end
- 6576 13760
-a 6576 13760 a
-SDict begin [ /Subtype /Link /Dest (1403) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 6576 13760 a Black 1 w FW(,)p 0 TeXcolorgray
-7274 13760 a
-SDict begin H.S end
- 7274 13760 a FW(48)8668 13760 y
-SDict begin 18.2 H.L end
- 8668 13760
-a 8668 13760 a
-SDict begin [ /Subtype /Link /Dest (1458) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 8668 13760 a Black 1 w FW(,)p 0 TeXcolorgray
-9367 13760 a
-SDict begin H.S end
- 9367 13760 a FW(86)10761 13760 y
-SDict begin 18.2 H.L end
- 10761 13760
-a 10761 13760 a
-SDict begin [ /Subtype /Link /Dest (2434) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 10761 13760 a Black -30 13961 a
-SDict begin H.S end
- -30 13961
-a -30 13961 a
-SDict begin 18.2 H.A end
- -30 13961 a -30 13961 a
-SDict begin [ /View [/XYZ H.V] /Dest (7943) cvn H.B /DEST pdfmark end
- -30 13961 a 1853
-x FW(runle)-35 b(v)-21 b(els,)p 0 TeXcolorgray 5725 15814
-a
-SDict begin H.S end
- 5725 15814 a FW(183)7816 15814 y
-SDict begin 18.2 H.L end
- 7816 15814 a 7816
-15814 a
-SDict begin [ /Subtype /Link /Dest (5118) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 7816 15814 a Black -30 16015 a
-SDict begin H.S end
- -30 16015 a -30
-16015 a
-SDict begin 18.2 H.A end
- -30 16015 a -30 16015 a
-SDict begin [ /View [/XYZ H.V] /Dest (7945) cvn H.B /DEST pdfmark end
- -30 16015 a 6041 x FL(S)-30
-23200 y
-SDict begin H.S end
- -30 23200 a -30 23200 a
-SDict begin 18.2 H.A end
- -30 23200 a -30 23200
-a
-SDict begin [ /View [/XYZ H.V] /Dest (7948) cvn H.B /DEST pdfmark end
- -30 23200 a 2026 x FW(Samba,)p 0 TeXcolorgray 4464
-25226 a
-SDict begin H.S end
- 4464 25226 a FW(70)5858 25226 y
-SDict begin 18.2 H.L end
- 5858 25226 a
-5858 25226 a
-SDict begin [ /Subtype /Link /Dest (2123) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 5858 25226 a Black -30 25427 a
-SDict begin H.S end
- -30 25427
-a -30 25427 a
-SDict begin 18.2 H.A end
- -30 25427 a -30 25427 a
-SDict begin [ /View [/XYZ H.V] /Dest (7950) cvn H.B /DEST pdfmark end
- -30 25427 a 1520
-27280 a FW(con\002guration,)p 0 TeXcolorgray 9655 27280
-a
-SDict begin H.S end
- 9655 27280 a FW(71)11049 27280 y
-SDict begin 18.2 H.L end
- 11049 27280 a 11049
-27280 a
-SDict begin [ /Subtype /Link /Dest (2142) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 11049 27280 a Black -30 27582 a
-SDict begin H.S end
- -30 27582 a -30
-27582 a
-SDict begin 18.2 H.A end
- -30 27582 a -30 27582 a
-SDict begin [ /View [/XYZ H.V] /Dest (7953) cvn H.B /DEST pdfmark end
- -30 27582 a 1752 x FW(SCP)-155
-b(,)p 0 TeXcolorgray 2994 29334 a
-SDict begin H.S end
- 2994 29334 a FW(70)4388
-29334 y
-SDict begin 18.2 H.L end
- 4388 29334 a 4388 29334 a
-SDict begin [ /Subtype /Link /Dest (2112) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 4388 29334 a Black
--30 29535 a
-SDict begin H.S end
- -30 29535 a -30 29535 a
-SDict begin 18.2 H.A end
- -30 29535 a -30 29535
-a
-SDict begin [ /View [/XYZ H.V] /Dest (7956) cvn H.B /DEST pdfmark end
- -30 29535 a 1853 x FW(screen,)p 0 TeXcolorgray 4230
-31388 a
-SDict begin H.S end
- 4230 31388 a FW(110)6321 31388 y
-SDict begin 18.2 H.L end
- 6321 31388 a
-6321 31388 a
-SDict begin [ /Subtype /Link /Dest (3026) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 6321 31388 a Black -30 31589 a
-SDict begin H.S end
- -30 31589
-a -30 31589 a
-SDict begin 18.2 H.A end
- -30 31589 a -30 31589 a
-SDict begin [ /View [/XYZ H.V] /Dest (7959) cvn H.B /DEST pdfmark end
- -30 31589 a 1852
-x FW(SCSI,)p 0 TeXcolorgray 3613 33441 a
-SDict begin H.S end
- 3613 33441 a
-FW(22)5007 33441 y
-SDict begin 18.2 H.L end
- 5007 33441 a 5007 33441 a
-SDict begin [ /Subtype /Link /Dest (908) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 5007 33441
-a Black -30 33643 a
-SDict begin H.S end
- -30 33643 a -30 33643 a
-SDict begin 18.2 H.A end
- -30 33643
-a -30 33643 a
-SDict begin [ /View [/XYZ H.V] /Dest (7962) cvn H.B /DEST pdfmark end
- -30 33643 a 1852 x FW(Secure)351 b(Shell)e(\(SSH\),)p
-0 TeXcolorgray 11515 35495 a
-SDict begin H.S end
- 11515 35495 a FW(164)13606
-35495 y
-SDict begin 18.2 H.L end
- 13606 35495 a 13606 35495 a
-SDict begin [ /Subtype /Link /Dest (4614) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 13606 35495 a Black
-1 w FW(,)p 0 TeXcolorgray 14304 35495 a
-SDict begin H.S end
- 14304 35495 a
-FW(182)16395 35495 y
-SDict begin 18.2 H.L end
- 16395 35495 a 16395 35495 a
-SDict begin [ /Subtype /Link /Dest (5105) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 16395
-35495 a Black -30 35745 a
-SDict begin H.S end
- -30 35745 a -30 35745 a
-SDict begin 18.2 H.A end
- -30
-35745 a -30 35745 a
-SDict begin [ /View [/XYZ H.V] /Dest (7966) cvn H.B /DEST pdfmark end
- -30 35745 a 1804 x FW(security)-91
-b(,)p 0 TeXcolorgray 4993 37549 a
-SDict begin H.S end
- 4993 37549 a FW(12)6387
-37549 y
-SDict begin 18.2 H.L end
- 6387 37549 a 6387 37549 a
-SDict begin [ /Subtype /Link /Dest (550) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 6387 37549 a Black
-FW(,)p 0 TeXcolorgray 7085 37549 a
-SDict begin H.S end
- 7085 37549 a FW(181)9176
-37549 y
-SDict begin 18.2 H.L end
- 9176 37549 a 9176 37549 a
-SDict begin [ /Subtype /Link /Dest (5066) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 9176 37549 a Black
--30 37851 a
-SDict begin H.S end
- -30 37851 a -30 37851 a
-SDict begin 18.2 H.A end
- -30 37851 a -30 37851
-a
-SDict begin [ /View [/XYZ H.V] /Dest (7969) cvn H.B /DEST pdfmark end
- -30 37851 a 1520 39603 a FW(patches,)p 0 TeXcolorgray
-6400 39603 a
-SDict begin H.S end
- 6400 39603 a FW(187)8491 39603 y
-SDict begin 18.2 H.L end
- 8491 39603
-a 8491 39603 a
-SDict begin [ /Subtype /Link /Dest (5244) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 8491 39603 a Black -30 39905 a
-SDict begin H.S end
- -30 39905
-a -30 39905 a
-SDict begin 18.2 H.A end
- -30 39905 a -30 39905 a
-SDict begin [ /View [/XYZ H.V] /Dest (7972) cvn H.B /DEST pdfmark end
- -30 39905 a 1752
-x FW(sendmail,)p 0 TeXcolorgray 5704 41657 a
-SDict begin H.S end
- 5704 41657
-a FW(1)6401 41657 y
-SDict begin 18.2 H.L end
- 6401 41657 a 6401 41657 a
-SDict begin [ /Subtype /Link /Dest (305) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 6401 41657
-a Black -30 41859 a
-SDict begin H.S end
- -30 41859 a -30 41859 a
-SDict begin 18.2 H.A end
- -30 41859
-a -30 41859 a
-SDict begin [ /View [/XYZ H.V] /Dest (7975) cvn H.B /DEST pdfmark end
- -30 41859 a 1852 x FW(serial)349 b(ports,)p
-0 TeXcolorgray 6827 43711 a
-SDict begin H.S end
- 6827 43711 a FW(47)8221 43711
-y
-SDict begin 18.2 H.L end
- 8221 43711 a 8221 43711 a
-SDict begin [ /Subtype /Link /Dest (1444) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 8221 43711 a Black -30 44013
-a
-SDict begin H.S end
- -30 44013 a -30 44013 a
-SDict begin 18.2 H.A end
- -30 44013 a -30 44013 a
-SDict begin [ /View [/XYZ H.V] /Dest (7978) cvn H.B /DEST pdfmark end
- -30
-44013 a 1752 x FW(services)-30 45779 y
-SDict begin H.S end
- -30 45779 a -30
-45779 a
-SDict begin 18.2 H.A end
- -30 45779 a -30 45779 a
-SDict begin [ /View [/XYZ H.V] /Dest (7979) cvn H.B /DEST pdfmark end
- -30 45779 a 1520 47819
-a FW(disabling,)p 0 TeXcolorgray 7332 47819 a
-SDict begin H.S end
- 7332 47819
-a FW(181)9423 47819 y
-SDict begin 18.2 H.L end
- 9423 47819 a 9423 47819 a
-SDict begin [ /Subtype /Link /Dest (5071) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 9423
-47819 a Black -30 48121 a
-SDict begin H.S end
- -30 48121 a -30 48121 a
-SDict begin 18.2 H.A end
- -30
-48121 a -30 48121 a
-SDict begin [ /View [/XYZ H.V] /Dest (7982) cvn H.B /DEST pdfmark end
- -30 48121 a 1752 x FW(setup,)p 0
-TeXcolorgray 3612 49873 a
-SDict begin H.S end
- 3612 49873 a FW(25)5006 49873
-y
-SDict begin 18.2 H.L end
- 5006 49873 a 5006 49873 a
-SDict begin [ /Subtype /Link /Dest (974) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 5006 49873 a Black -30 50175
-a
-SDict begin H.S end
- -30 50175 a -30 50175 a
-SDict begin 18.2 H.A end
- -30 50175 a -30 50175 a
-SDict begin [ /View [/XYZ H.V] /Dest (7984) cvn H.B /DEST pdfmark end
- -30
-50175 a 1520 51927 a FW(tag\002les,)p 0 TeXcolorgray
-6247 51927 a
-SDict begin H.S end
- 6247 51927 a FW(223)8338 51927 y
-SDict begin 18.2 H.L end
- 8338 51927
-a 8338 51927 a
-SDict begin [ /Subtype /Link /Dest (6615) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 8338 51927 a Black -30 52229 a
-SDict begin H.S end
- -30 52229
-a -30 52229 a
-SDict begin 18.2 H.A end
- -30 52229 a -30 52229 a
-SDict begin [ /View [/XYZ H.V] /Dest (7987) cvn H.B /DEST pdfmark end
- -30 52229 a 1752
-x FW(shell,)p 0 TeXcolorgray 3302 53981 a
-SDict begin H.S end
- 3302 53981
-a FW(101)5393 53981 y
-SDict begin 18.2 H.L end
- 5393 53981 a 5393 53981 a
-SDict begin [ /Subtype /Link /Dest (2669) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 5393
-53981 a Black -30 54182 a
-SDict begin H.S end
- -30 54182 a -30 54182 a
-SDict begin 18.2 H.A end
- -30
-54182 a -30 54182 a
-SDict begin [ /View [/XYZ H.V] /Dest (7990) cvn H.B /DEST pdfmark end
- -30 54182 a 1853 x FW(shells,)p 0
-TeXcolorgray 3845 56035 a
-SDict begin H.S end
- 3845 56035 a FW(151)5936 56035
-y
-SDict begin 18.2 H.L end
- 5936 56035 a 5936 56035 a
-SDict begin [ /Subtype /Link /Dest (4260) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 5936 56035 a Black -30 56236
-a
-SDict begin H.S end
- -30 56236 a -30 56236 a
-SDict begin 18.2 H.A end
- -30 56236 a -30 56236 a
-SDict begin [ /View [/XYZ H.V] /Dest (7993) cvn H.B /DEST pdfmark end
- -30
-56236 a 1853 x FW(shutdo)-35 b(wn,)p 0 TeXcolorgray 6057
-58089 a
-SDict begin H.S end
- 6057 58089 a FW(153)8148 58089 y
-SDict begin 18.2 H.L end
- 8148 58089 a
-8148 58089 a
-SDict begin [ /Subtype /Link /Dest (4311) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 8148 58089 a Black -30 58290 a
-SDict begin H.S end
- -30 58290
-a -30 58290 a
-SDict begin 18.2 H.A end
- -30 58290 a -30 58290 a
-SDict begin [ /View [/XYZ H.V] /Dest (7996) cvn H.B /DEST pdfmark end
- -30 58290 a 1852
-x FW(Silicon)350 b(Graphics,)p 0 TeXcolorgray 10004 60142
-a
-SDict begin H.S end
- 10004 60142 a FW(83)11398 60142 y
-SDict begin 18.2 H.L end
- 11398 60142 a 11398
-60142 a
-SDict begin [ /Subtype /Link /Dest (2381) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 11398 60142 a Black -30 60444 a
-SDict begin H.S end
- -30 60444 a -30
-60444 a
-SDict begin 18.2 H.A end
- -30 60444 a -30 60444 a
-SDict begin [ /View [/XYZ H.V] /Dest (7999) cvn H.B /DEST pdfmark end
- -30 60444 a 1752 x FW(SlackBuild,)p
-0 TeXcolorgray 6867 62196 a
-SDict begin H.S end
- 6867 62196 a FW(223)8958
-62196 y
-SDict begin 18.2 H.L end
- 8958 62196 a 8958 62196 a
-SDict begin [ /Subtype /Link /Dest (6604) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 8958 62196 a Black
--30 62398 a
-SDict begin H.S end
- -30 62398 a -30 62398 a
-SDict begin 18.2 H.A end
- -30 62398 a -30 62398
-a
-SDict begin [ /View [/XYZ H.V] /Dest (8002) cvn H.B /DEST pdfmark end
- -30 62398 a 1852 x FW(Slackw)-14 b(are)351 b(Linux)-30
-64264 y
-SDict begin H.S end
- -30 64264 a -30 64264 a
-SDict begin 18.2 H.A end
- -30 64264 a -30 64264
-a
-SDict begin [ /View [/XYZ H.V] /Dest (8003) cvn H.B /DEST pdfmark end
- -30 64264 a 1520 66304 a FW(minimum)e(requirements,)p
-0 TeXcolorgray 15274 66304 a
-SDict begin H.S end
- 15274 66304 a FW(17)16668
-66304 y
-SDict begin 18.2 H.L end
- 16668 66304 a 16668 66304 a
-SDict begin [ /Subtype /Link /Dest (699) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 16668 66304 a Black
--30 66606 a
-SDict begin H.S end
- -30 66606 a -30 66606 a
-SDict begin 18.2 H.A end
- -30 66606 a -30 66606
-a
-SDict begin [ /View [/XYZ H.V] /Dest (8005) cvn H.B /DEST pdfmark end
- -30 66606 a 1520 68358 a FW(of)-35 b(\002cial)350 b(CDs,)p
-0 TeXcolorgray 8962 68358 a
-SDict begin H.S end
- 8962 68358 a FW(15)10356
-68358 y
-SDict begin 18.2 H.L end
- 10356 68358 a 10356 68358 a
-SDict begin [ /Subtype /Link /Dest (642) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 10356 68358 a Black
-Black Black 27866 2383 a
-SDict begin H.S end
- 27866 2383 a 27866 2383 a
-SDict begin 18.2 H.A end
- 27866
-2383 a 27866 2383 a
-SDict begin [ /View [/XYZ H.V] /Dest (8007) cvn H.B /DEST pdfmark end
- 27866 2383 a 29415 3490 a FW(softw)-14
-b(are)350 b(series,)p 0 TeXcolorgray 38425 3490 a
-SDict begin H.S end
- 38425
-3490 a FW(17)39819 3490 y
-SDict begin 18.2 H.L end
- 39819 3490 a 39819 3490 a
-SDict begin [ /Subtype /Link /Dest (739) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 39819
-3490 a Black 27866 3692 a
-SDict begin H.S end
- 27866 3692 a 27866 3692 a
-SDict begin 18.2 H.A end
- 27866
-3692 a 27866 3692 a
-SDict begin [ /View [/XYZ H.V] /Dest (8009) cvn H.B /DEST pdfmark end
- 27866 3692 a 29415 5544 a FW(store,)p
-0 TeXcolorgray 32824 5544 a
-SDict begin H.S end
- 32824 5544 a FW(16)34218
-5544 y
-SDict begin 18.2 H.L end
- 34218 5544 a 34218 5544 a
-SDict begin [ /Subtype /Link /Dest (653) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 34218 5544 a Black 27866
-5746 a
-SDict begin H.S end
- 27866 5746 a 27866 5746 a
-SDict begin 18.2 H.A end
- 27866 5746 a 27866 5746
-a
-SDict begin [ /View [/XYZ H.V] /Dest (8012) cvn H.B /DEST pdfmark end
- 27866 5746 a 1852 x FW(SLIP)-155 b(,)p 0 TeXcolorgray
-31276 7598 a
-SDict begin H.S end
- 31276 7598 a FW(65)32670 7598 y
-SDict begin 18.2 H.L end
- 32670 7598
-a 32670 7598 a
-SDict begin [ /Subtype /Link /Dest (1950) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 32670 7598 a Black 27866 7800 a
-SDict begin H.S end
- 27866
-7800 a 27866 7800 a
-SDict begin 18.2 H.A end
- 27866 7800 a 27866 7800 a
-SDict begin [ /View [/XYZ H.V] /Dest (8015) cvn H.B /DEST pdfmark end
- 27866 7800
-a 1852 x FW(slocate,)p 0 TeXcolorgray 32436 9652 a
-SDict begin H.S end
- 32436
-9652 a FW(46)33830 9652 y
-SDict begin 18.2 H.L end
- 33830 9652 a 33830 9652 a
-SDict begin [ /Subtype /Link /Dest (1380) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 33830
-9652 a Black 27866 9854 a
-SDict begin H.S end
- 27866 9854 a 27866 9854 a
-SDict begin 18.2 H.A end
- 27866
-9854 a 27866 9854 a
-SDict begin [ /View [/XYZ H.V] /Dest (8018) cvn H.B /DEST pdfmark end
- 27866 9854 a 1852 x FW(SLS)349 b(Linux,)p
-0 TeXcolorgray 34647 11706 a
-SDict begin H.S end
- 34647 11706 a FW(2)35344
-11706 y
-SDict begin 18.2 H.L end
- 35344 11706 a 35344 11706 a
-SDict begin [ /Subtype /Link /Dest (345) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 35344 11706 a Black
-27866 11907 a
-SDict begin H.S end
- 27866 11907 a 27866 11907 a
-SDict begin 18.2 H.A end
- 27866 11907
-a 27866 11907 a
-SDict begin [ /View [/XYZ H.V] /Dest (8021) cvn H.B /DEST pdfmark end
- 27866 11907 a 1853 x FW(SMB,)p 0 TeXcolorgray
-31509 13760 a
-SDict begin H.S end
- 31509 13760 a FW(70)32903 13760 y
-SDict begin 18.2 H.L end
- 32903
-13760 a 32903 13760 a
-SDict begin [ /Subtype /Link /Dest (2121) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 32903 13760 a Black 27866 13961
-a
-SDict begin H.S end
- 27866 13961 a 27866 13961 a
-SDict begin 18.2 H.A end
- 27866 13961 a 27866 13961
-a
-SDict begin [ /View [/XYZ H.V] /Dest (8024) cvn H.B /DEST pdfmark end
- 27866 13961 a 1853 x FW(Solaris,)p 0 TeXcolorgray 32437
-15814 a
-SDict begin H.S end
- 32437 15814 a FW(73)33831 15814 y
-SDict begin 18.2 H.L end
- 33831 15814
-a 33831 15814 a
-SDict begin [ /Subtype /Link /Dest (2193) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 33831 15814 a Black 27866 16015 a
-SDict begin H.S end
- 27866
-16015 a 27866 16015 a
-SDict begin 18.2 H.A end
- 27866 16015 a 27866 16015 a
-SDict begin [ /View [/XYZ H.V] /Dest (8027) cvn H.B /DEST pdfmark end
- 27866
-16015 a 1853 x FW(static)e(IP)-155 b(,)p 0 TeXcolorgray
-32941 17868 a
-SDict begin H.S end
- 32941 17868 a FW(57)34335 17868 y
-SDict begin 18.2 H.L end
- 34335
-17868 a 34335 17868 a
-SDict begin [ /Subtype /Link /Dest (1745) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 34335 17868 a Black 27866 18069
-a
-SDict begin H.S end
- 27866 18069 a 27866 18069 a
-SDict begin 18.2 H.A end
- 27866 18069 a 27866 18069
-a
-SDict begin [ /View [/XYZ H.V] /Dest (8030) cvn H.B /DEST pdfmark end
- 27866 18069 a 1853 x FW(su,)p 0 TeXcolorgray 29803
-19922 a
-SDict begin H.S end
- 29803 19922 a FW(102)31894 19922 y
-SDict begin 18.2 H.L end
- 31894 19922
-a 31894 19922 a
-SDict begin [ /Subtype /Link /Dest (2715) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 31894 19922 a Black 27866 20123 a
-SDict begin H.S end
- 27866
-20123 a 27866 20123 a
-SDict begin 18.2 H.A end
- 27866 20123 a 27866 20123 a
-SDict begin [ /View [/XYZ H.V] /Dest (8033) cvn H.B /DEST pdfmark end
- 27866
-20123 a 1853 x FW(Sun)349 b(Microsystems,)p 0 TeXcolorgray
-38908 21976 a
-SDict begin H.S end
- 38908 21976 a FW(73)40302 21976 y
-SDict begin 18.2 H.L end
- 40302
-21976 a 40302 21976 a
-SDict begin [ /Subtype /Link /Dest (2191) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 40302 21976 a Black 1 w FW(,)p
-0 TeXcolorgray 41000 21976 a
-SDict begin H.S end
- 41000 21976 a FW(83)42394
-21976 y
-SDict begin 18.2 H.L end
- 42394 21976 a 42394 21976 a
-SDict begin [ /Subtype /Link /Dest (2379) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 42394 21976 a Black
-27866 22277 a
-SDict begin H.S end
- 27866 22277 a 27866 22277 a
-SDict begin 18.2 H.A end
- 27866 22277
-a 27866 22277 a
-SDict begin [ /View [/XYZ H.V] /Dest (8037) cvn H.B /DEST pdfmark end
- 27866 22277 a 1752 x FW(superuser)-56
-b(,)p 0 TeXcolorgray 33852 24029 a
-SDict begin H.S end
- 33852 24029 a FW(102)35943
-24029 y
-SDict begin 18.2 H.L end
- 35943 24029 a 35943 24029 a
-SDict begin [ /Subtype /Link /Dest (2707) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 35943 24029 a Black
-27866 24331 a
-SDict begin H.S end
- 27866 24331 a 27866 24331 a
-SDict begin 18.2 H.A end
- 27866 24331
-a 27866 24331 a
-SDict begin [ /View [/XYZ H.V] /Dest (8040) cvn H.B /DEST pdfmark end
- 27866 24331 a 1752 x FW(support)27866
-26385 y
-SDict begin H.S end
- 27866 26385 a 27866 26385 a
-SDict begin 18.2 H.A end
- 27866 26385 a 27866
-26385 a
-SDict begin [ /View [/XYZ H.V] /Dest (8041) cvn H.B /DEST pdfmark end
- 27866 26385 a 29415 28137 a FW(email,)p 0 TeXcolorgray
-33212 28137 a
-SDict begin H.S end
- 33212 28137 a FW(11)34606 28137 y
-SDict begin 18.2 H.L end
- 34606
-28137 a 34606 28137 a
-SDict begin [ /Subtype /Link /Dest (527) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 34606 28137 a Black 27866 28339
-a
-SDict begin H.S end
- 27866 28339 a 27866 28339 a
-SDict begin 18.2 H.A end
- 27866 28339 a 27866 28339
-a
-SDict begin [ /View [/XYZ H.V] /Dest (8043) cvn H.B /DEST pdfmark end
- 27866 28339 a 29415 30191 a FW(mailing)349 b(lists,)p
-0 TeXcolorgray 36972 30191 a
-SDict begin H.S end
- 36972 30191 a FW(11)38366
-30191 y
-SDict begin 18.2 H.L end
- 38366 30191 a 38366 30191 a
-SDict begin [ /Subtype /Link /Dest (536) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 38366 30191 a Black
-1 w FW(,)p 0 TeXcolorgray 39064 30191 a
-SDict begin H.S end
- 39064 30191 a
-FW(186)41155 30191 y
-SDict begin 18.2 H.L end
- 41155 30191 a 41155 30191 a
-SDict begin [ /Subtype /Link /Dest (5229) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 41155
-30191 a Black 27866 30493 a
-SDict begin H.S end
- 27866 30493 a 27866 30493
-a
-SDict begin 18.2 H.A end
- 27866 30493 a 27866 30493 a
-SDict begin [ /View [/XYZ H.V] /Dest (8046) cvn H.B /DEST pdfmark end
- 27866 30493 a 29415 32245
-a FW(patches,)p 0 TeXcolorgray 34295 32245 a
-SDict begin H.S end
- 34295 32245
-a FW(187)36386 32245 y
-SDict begin 18.2 H.L end
- 36386 32245 a 36386 32245 a
-SDict begin [ /Subtype /Link /Dest (5241) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 36386
-32245 a Black 27866 32547 a
-SDict begin H.S end
- 27866 32547 a 27866 32547
-a
-SDict begin 18.2 H.A end
- 27866 32547 a 27866 32547 a
-SDict begin [ /View [/XYZ H.V] /Dest (8048) cvn H.B /DEST pdfmark end
- 27866 32547 a 29415 34299
-a FW(usenet,)p 0 TeXcolorgray 33676 34299 a
-SDict begin H.S end
- 33676 34299
-a FW(14)35070 34299 y
-SDict begin 18.2 H.L end
- 35070 34299 a 35070 34299 a
-SDict begin [ /Subtype /Link /Dest (621) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 35070
-34299 a Black 27866 34501 a
-SDict begin H.S end
- 27866 34501 a 27866 34501
-a
-SDict begin 18.2 H.A end
- 27866 34501 a 27866 34501 a
-SDict begin [ /View [/XYZ H.V] /Dest (8051) cvn H.B /DEST pdfmark end
- 27866 34501 a 1852 x FW(sw)-14
-b(ap)348 b(partition,)p 0 TeXcolorgray 36491 36353 a
-SDict begin H.S end
-
-36491 36353 a FW(23)37885 36353 y
-SDict begin 18.2 H.L end
- 37885 36353 a 37885
-36353 a
-SDict begin [ /Subtype /Link /Dest (935) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 37885 36353 a Black FW(,)p 0 TeXcolorgray 38583
-36353 a
-SDict begin H.S end
- 38583 36353 a FW(27)39977 36353 y
-SDict begin 18.2 H.L end
- 39977 36353
-a 39977 36353 a
-SDict begin [ /Subtype /Link /Dest (1018) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 39977 36353 a Black 27866 36655 a
-SDict begin H.S end
- 27866
-36655 a 27866 36655 a
-SDict begin 18.2 H.A end
- 27866 36655 a 27866 36655 a
-SDict begin [ /View [/XYZ H.V] /Dest (8055) cvn H.B /DEST pdfmark end
- 27866
-36655 a 1752 x FW(symbolic)h(link,)p 0 TeXcolorgray 36196
-38407 a
-SDict begin H.S end
- 36196 38407 a FW(116)38287 38407 y
-SDict begin 18.2 H.L end
- 38287 38407
-a 38287 38407 a
-SDict begin [ /Subtype /Link /Dest (3289) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 38287 38407 a Black 27866 38709 a
-SDict begin H.S end
- 27866
-38709 a 27866 38709 a
-SDict begin 18.2 H.A end
- 27866 38709 a 27866 38709 a
-SDict begin [ /View [/XYZ H.V] /Dest (8058) cvn H.B /DEST pdfmark end
- 27866
-38709 a 1752 x FW(system)f(administration,)p 0 TeXcolorgray
-40845 40461 a
-SDict begin H.S end
- 40845 40461 a FW(143)42936 40461 y
-SDict begin 18.2 H.L end
- 42936
-40461 a 42936 40461 a
-SDict begin [ /Subtype /Link /Dest (4046) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 42936 40461 a Black 27866 40763
-a
-SDict begin H.S end
- 27866 40763 a 27866 40763 a
-SDict begin 18.2 H.A end
- 27866 40763 a 27866 40763
-a
-SDict begin [ /View [/XYZ H.V] /Dest (8061) cvn H.B /DEST pdfmark end
- 27866 40763 a 1752 x FW(system)g(load,)p 0 TeXcolorgray
-35188 42515 a
-SDict begin H.S end
- 35188 42515 a FW(141)37279 42515 y
-SDict begin 18.2 H.L end
- 37279
-42515 a 37279 42515 a
-SDict begin [ /Subtype /Link /Dest (4020) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 37279 42515 a Black 27866 42817
-a
-SDict begin H.S end
- 27866 42817 a 27866 42817 a
-SDict begin 18.2 H.A end
- 27866 42817 a 27866 42817
-a
-SDict begin [ /View [/XYZ H.V] /Dest (8064) cvn H.B /DEST pdfmark end
- 27866 42817 a 1752 x FW(system)g(resources,)p 0 TeXcolorgray
-38053 44569 a
-SDict begin H.S end
- 38053 44569 a FW(138)40144 44569 y
-SDict begin 18.2 H.L end
- 40144
-44569 a 40144 44569 a
-SDict begin [ /Subtype /Link /Dest (3949) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 40144 44569 a Black 27866 44871
-a
-SDict begin H.S end
- 27866 44871 a 27866 44871 a
-SDict begin 18.2 H.A end
- 27866 44871 a 27866 44871
-a
-SDict begin [ /View [/XYZ H.V] /Dest (8067) cvn H.B /DEST pdfmark end
- 27866 44871 a 1752 x FW(System)h(V)-180 b(,)p 0 TeXcolorgray
-33846 46623 a
-SDict begin H.S end
- 33846 46623 a FW(46)35240 46623 y
-SDict begin 18.2 H.L end
- 35240
-46623 a 35240 46623 a
-SDict begin [ /Subtype /Link /Dest (1400) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 35240 46623 a Black 1 w FW(,)p
-0 TeXcolorgray 35938 46623 a
-SDict begin H.S end
- 35938 46623 a FW(48)37332
-46623 y
-SDict begin 18.2 H.L end
- 37332 46623 a 37332 46623 a
-SDict begin [ /Subtype /Link /Dest (1451) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 37332 46623 a Black
-27866 46924 a
-SDict begin H.S end
- 27866 46924 a 27866 46924 a
-SDict begin 18.2 H.A end
- 27866 46924
-a 27866 46924 a
-SDict begin [ /View [/XYZ H.V] /Dest (8070) cvn H.B /DEST pdfmark end
- 27866 46924 a 29415 48676 a FW(init)349
-b(compatibility)-91 b(,)p 0 TeXcolorgray 39671 48676
-a
-SDict begin H.S end
- 39671 48676 a FW(49)41065 48676 y
-SDict begin 18.2 H.L end
- 41065 48676 a 41065
-48676 a
-SDict begin [ /Subtype /Link /Dest (1535) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 41065 48676 a Black 27866 48978 a
-SDict begin H.S end
- 27866 48978
-a 27866 48978 a
-SDict begin 18.2 H.A end
- 27866 48978 a 27866 48978 a
-SDict begin [ /View [/XYZ H.V] /Dest (8072) cvn H.B /DEST pdfmark end
- 27866 48978
-a 5941 x FL(T)27866 56035 y
-SDict begin H.S end
- 27866 56035 a 27866 56035
-a
-SDict begin 18.2 H.A end
- 27866 56035 a 27866 56035 a
-SDict begin [ /View [/XYZ H.V] /Dest (8075) cvn H.B /DEST pdfmark end
- 27866 56035 a 2054 x FW(tab)349
-b(completion,)p 0 TeXcolorgray 36892 58089 a
-SDict begin H.S end
- 36892 58089
-a FW(108)38983 58089 y
-SDict begin 18.2 H.L end
- 38983 58089 a 38983 58089 a
-SDict begin [ /Subtype /Link /Dest (2954) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 38983
-58089 a Black 27866 58390 a
-SDict begin H.S end
- 27866 58390 a 27866 58390
-a
-SDict begin 18.2 H.A end
- 27866 58390 a 27866 58390 a
-SDict begin [ /View [/XYZ H.V] /Dest (8078) cvn H.B /DEST pdfmark end
- 27866 58390 a 1752 x FW(T)-112
-b(ag\002les,)p 0 TeXcolorgray 32945 60142 a
-SDict begin H.S end
- 32945 60142
-a FW(223)35036 60142 y
-SDict begin 18.2 H.L end
- 35036 60142 a 35036 60142 a
-SDict begin [ /Subtype /Link /Dest (6613) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 35036
-60142 a Black 27866 60444 a
-SDict begin H.S end
- 27866 60444 a 27866 60444
-a
-SDict begin 18.2 H.A end
- 27866 60444 a 27866 60444 a
-SDict begin [ /View [/XYZ H.V] /Dest (8081) cvn H.B /DEST pdfmark end
- 27866 60444 a 1752 x FW(T)g(ags,)p
-0 TeXcolorgray 31163 62196 a
-SDict begin H.S end
- 31163 62196 a FW(223)33254
-62196 y
-SDict begin 18.2 H.L end
- 33254 62196 a 33254 62196 a
-SDict begin [ /Subtype /Link /Dest (6611) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 33254 62196 a Black
-27866 62498 a
-SDict begin H.S end
- 27866 62498 a 27866 62498 a
-SDict begin 18.2 H.A end
- 27866 62498
-a 27866 62498 a
-SDict begin [ /View [/XYZ H.V] /Dest (8084) cvn H.B /DEST pdfmark end
- 27866 62498 a 1752 x FW(talk,)p 0 TeXcolorgray
-30655 64250 a
-SDict begin H.S end
- 30655 64250 a FW(177)32746 64250 y
-SDict begin 18.2 H.L end
- 32746
-64250 a 32746 64250 a
-SDict begin [ /Subtype /Link /Dest (5011) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 32746 64250 a Black 27866 64452
-a
-SDict begin H.S end
- 27866 64452 a 27866 64452 a
-SDict begin 18.2 H.A end
- 27866 64452 a 27866 64452
-a
-SDict begin [ /View [/XYZ H.V] /Dest (8087) cvn H.B /DEST pdfmark end
- 27866 64452 a 1852 x FW(tar)-56 b(,)p 0 TeXcolorgray
-29979 66304 a
-SDict begin H.S end
- 29979 66304 a FW(191)32070 66304 y
-SDict begin 18.2 H.L end
- 32070
-66304 a 32070 66304 a
-SDict begin [ /Subtype /Link /Dest (5372) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 32070 66304 a Black 27866 66506
-a
-SDict begin H.S end
- 27866 66506 a 27866 66506 a
-SDict begin 18.2 H.A end
- 27866 66506 a 27866 66506
-a
-SDict begin [ /View [/XYZ H.V] /Dest (8090) cvn H.B /DEST pdfmark end
- 27866 66506 a 1852 x FW(TCP)349 b(wrappers,)p 0 TeXcolorgray
-36581 68358 a
-SDict begin H.S end
- 36581 68358 a FW(185)38672 68358 y
-SDict begin 18.2 H.L end
- 38672
-68358 a 38672 68358 a
-SDict begin [ /Subtype /Link /Dest (5200) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 38672 68358 a Black Black -30 73672
-a FR(260)p Black eop end
-%%Page: 261 283
-TeXDict begin 261 282 bop -8000 -8000 a
-SDict begin /product where{pop product(Distiller)search{pop pop pop
-version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
-closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
-grestore}if}{pop}ifelse}{pop}ifelse}if end
- -8000 -8000 a
-Black 0 TeXcolorgray -30 -1358 a
-SDict begin H.S end
- -30 -1358 a 0 TeXcolorgray
-0 TeXcolorgray -30 -1358 a
-SDict begin H.R end
- -30 -1358 a -30 -1358 a
-SDict begin [ /View [/XYZ H.V] /Dest (page.261) cvn H.B /DEST pdfmark
-end
- -30
--1358 a Black -30 -2687 a
-SDict begin H.S end
- -30 -2687 a -30 -2687 a
-SDict begin 18.2 H.A end
- -30
--2687 a -30 -2687 a
-SDict begin [ /View [/XYZ H.V] /Dest (8255) cvn H.B /DEST pdfmark end
- -30 -2687 a Black -30 2383 a
-SDict begin H.S end
- -30
-2383 a -30 2383 a
-SDict begin 18.2 H.A end
- -30 2383 a -30 2383 a
-SDict begin [ /View [/XYZ H.V] /Dest (8093) cvn H.B /DEST pdfmark end
- -30 2383 a 1107
-x FW(TCP/IP)-155 b(,)p 0 TeXcolorgray 4698 3490 a
-SDict begin H.S end
- 4698
-3490 a FW(61)6092 3490 y
-SDict begin 18.2 H.L end
- 6092 3490 a 6092 3490 a
-SDict begin [ /Subtype /Link /Dest (1826) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 6092
-3490 a Black 1 w FW(,)p 0 TeXcolorgray 6790 3490 a
-SDict begin H.S end
- 6790
-3490 a FW(70)8184 3490 y
-SDict begin 18.2 H.L end
- 8184 3490 a 8184 3490 a
-SDict begin [ /Subtype /Link /Dest (2114) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 8184
-3490 a Black -30 3692 a
-SDict begin H.S end
- -30 3692 a -30 3692 a
-SDict begin 18.2 H.A end
- -30 3692
-a -30 3692 a
-SDict begin [ /View [/XYZ H.V] /Dest (8097) cvn H.B /DEST pdfmark end
- -30 3692 a 1814 x FW(telinit,)p 0 TeXcolorgray
-3923 5506 a
-SDict begin H.S end
- 3923 5506 a FW(154)6014 5506 y
-SDict begin 18.2 H.L end
- 6014 5506
-a 6014 5506 a
-SDict begin [ /Subtype /Link /Dest (4368) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 6014 5506 a Black 1 w FW(,)p 0 TeXcolorgray
-6712 5506 a
-SDict begin H.S end
- 6712 5506 a FW(183)8803 5506 y
-SDict begin 18.2 H.L end
- 8803 5506
-a 8803 5506 a
-SDict begin [ /Subtype /Link /Dest (5122) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 8803 5506 a Black -30 7521 a FW(telnet,)p
-0 TeXcolorgray 3767 7521 a
-SDict begin H.S end
- 3767 7521 a FW(162)5858 7521
-y
-SDict begin 18.2 H.L end
- 5858 7521 a 5858 7521 a
-SDict begin [ /Subtype /Link /Dest (8101) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 5858 7521 a Black -30 7722
-a
-SDict begin H.S end
- -30 7722 a -30 7722 a
-SDict begin 18.2 H.A end
- -30 7722 a -30 7722 a
-SDict begin [ /View [/XYZ H.V] /Dest (8104) cvn H.B /DEST pdfmark end
- -30 7722
-a 1814 x FW(terminal,)p 0 TeXcolorgray 5316 9536 a
-SDict begin H.S end
- 5316
-9536 a FW(82)6710 9536 y
-SDict begin 18.2 H.L end
- 6710 9536 a 6710 9536 a
-SDict begin [ /Subtype /Link /Dest (2357) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 6710
-9536 a Black -30 9738 a
-SDict begin H.S end
- -30 9738 a -30 9738 a
-SDict begin 18.2 H.A end
- -30 9738
-a -30 9738 a
-SDict begin [ /View [/XYZ H.V] /Dest (8107) cvn H.B /DEST pdfmark end
- -30 9738 a 1814 x FW(timezone,)p 0 TeXcolorgray
-5781 11552 a
-SDict begin H.S end
- 5781 11552 a FW(35)7175 11552 y
-SDict begin 18.2 H.L end
- 7175 11552
-a 7175 11552 a
-SDict begin [ /Subtype /Link /Dest (1134) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 7175 11552 a Black -30 11753 a
-SDict begin H.S end
- -30 11753
-a -30 11753 a
-SDict begin 18.2 H.A end
- -30 11753 a -30 11753 a
-SDict begin [ /View [/XYZ H.V] /Dest (8110) cvn H.B /DEST pdfmark end
- -30 11753 a 1814
-x FW(T)-112 b(orv)-35 b(alds,)350 b(Linus,)p 0 TeXcolorgray
-9354 13567 a
-SDict begin H.S end
- 9354 13567 a FW(1)10051 13567 y
-SDict begin 18.2 H.L end
- 10051 13567
-a 10051 13567 a
-SDict begin [ /Subtype /Link /Dest (299) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 10051 13567 a Black -30 13768 a
-SDict begin H.S end
- -30 13768
-a -30 13768 a
-SDict begin 18.2 H.A end
- -30 13768 a -30 13768 a
-SDict begin [ /View [/XYZ H.V] /Dest (8113) cvn H.B /DEST pdfmark end
- -30 13768 a 1814
-x FW(touch,)p 0 TeXcolorgray 3767 15582 a
-SDict begin H.S end
- 3767 15582
-a FW(127)5858 15582 y
-SDict begin 18.2 H.L end
- 5858 15582 a 5858 15582 a
-SDict begin [ /Subtype /Link /Dest (3624) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 5858
-15582 a Black -30 15784 a
-SDict begin H.S end
- -30 15784 a -30 15784 a
-SDict begin 18.2 H.A end
- -30
-15784 a -30 15784 a
-SDict begin [ /View [/XYZ H.V] /Dest (8116) cvn H.B /DEST pdfmark end
- -30 15784 a 1814 x FW(twm,)p 0 TeXcolorgray
-3147 17598 a
-SDict begin H.S end
- 3147 17598 a FW(82)4541 17598 y
-SDict begin 18.2 H.L end
- 4541 17598
-a 4541 17598 a
-SDict begin [ /Subtype /Link /Dest (2355) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 4541 17598 a Black -30 17799 a
-SDict begin H.S end
- -30 17799
-a -30 17799 a
-SDict begin 18.2 H.A end
- -30 17799 a -30 17799 a
-SDict begin [ /View [/XYZ H.V] /Dest (8118) cvn H.B /DEST pdfmark end
- -30 17799 a 5925
-x FL(U)-30 24868 y
-SDict begin H.S end
- -30 24868 a -30 24868 a
-SDict begin 18.2 H.A end
- -30 24868
-a -30 24868 a
-SDict begin [ /View [/XYZ H.V] /Dest (8121) cvn H.B /DEST pdfmark end
- -30 24868 a 1987 x FW(umask,)p 0 TeXcolorgray
-4309 26855 a
-SDict begin H.S end
- 4309 26855 a FW(114)6400 26855 y
-SDict begin 18.2 H.L end
- 6400 26855
-a 6400 26855 a
-SDict begin [ /Subtype /Link /Dest (3214) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 6400 26855 a Black -30 27057 a
-SDict begin H.S end
- -30 27057
-a -30 27057 a
-SDict begin 18.2 H.A end
- -30 27057 a -30 27057 a
-SDict begin [ /View [/XYZ H.V] /Dest (8124) cvn H.B /DEST pdfmark end
- -30 27057 a 1814
-x FW(upgradepkg,)p 0 TeXcolorgray 7252 28871 a
-SDict begin H.S end
- 7252 28871
-a FW(220)9343 28871 y
-SDict begin 18.2 H.L end
- 9343 28871 a 9343 28871 a
-SDict begin [ /Subtype /Link /Dest (6530) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 9343
-28871 a Black -30 29172 a
-SDict begin H.S end
- -30 29172 a -30 29172 a
-SDict begin 18.2 H.A end
- -30
-29172 a -30 29172 a
-SDict begin [ /View [/XYZ H.V] /Dest (8127) cvn H.B /DEST pdfmark end
- -30 29172 a 1714 x FW(URL,)p 0 TeXcolorgray
-3457 30886 a
-SDict begin H.S end
- 3457 30886 a FW(173)5548 30886 y
-SDict begin 18.2 H.L end
- 5548 30886
-a 5548 30886 a
-SDict begin [ /Subtype /Link /Dest (4839) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 5548 30886 a Black -30 31087 a
-SDict begin H.S end
- -30 31087
-a -30 31087 a
-SDict begin 18.2 H.A end
- -30 31087 a -30 31087 a
-SDict begin [ /View [/XYZ H.V] /Dest (8130) cvn H.B /DEST pdfmark end
- -30 31087 a 1814
-x FW(USB,)p 0 TeXcolorgray 3380 32901 a
-SDict begin H.S end
- 3380 32901 a
-FW(59)4774 32901 y
-SDict begin 18.2 H.L end
- 4774 32901 a 4774 32901 a
-SDict begin [ /Subtype /Link /Dest (1801) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 4774 32901
-a Black -30 33103 a
-SDict begin H.S end
- -30 33103 a -30 33103 a
-SDict begin 18.2 H.A end
- -30 33103
-a -30 33103 a
-SDict begin [ /View [/XYZ H.V] /Dest (8133) cvn H.B /DEST pdfmark end
- -30 33103 a 1814 x FW(Usenet,)p 0 TeXcolorgray
-4541 34917 a
-SDict begin H.S end
- 4541 34917 a FW(14)5935 34917 y
-SDict begin 18.2 H.L end
- 5935 34917
-a 5935 34917 a
-SDict begin [ /Subtype /Link /Dest (624) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 5935 34917 a Black -30 35118 a
-SDict begin H.S end
- -30 35118
-a -30 35118 a
-SDict begin 18.2 H.A end
- -30 35118 a -30 35118 a
-SDict begin [ /View [/XYZ H.V] /Dest (8136) cvn H.B /DEST pdfmark end
- -30 35118 a 1814
-x FW(user)-56 b(,)p 0 TeXcolorgray 2935 36932 a
-SDict begin H.S end
- 2935
-36932 a FW(111)5026 36932 y
-SDict begin 18.2 H.L end
- 5026 36932 a 5026 36932 a
-SDict begin [ /Subtype /Link /Dest (3088) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
-
-5026 36932 a Black -30 37133 a
-SDict begin H.S end
- -30 37133 a -30 37133
-a
-SDict begin 18.2 H.A end
- -30 37133 a -30 37133 a
-SDict begin [ /View [/XYZ H.V] /Dest (8139) cvn H.B /DEST pdfmark end
- -30 37133 a 1814 x FW(users,)p
-0 TeXcolorgray 3534 38947 a
-SDict begin H.S end
- 3534 38947 a FW(102)5625
-38947 y
-SDict begin 18.2 H.L end
- 5625 38947 a 5625 38947 a
-SDict begin [ /Subtype /Link /Dest (2698) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 5625 38947 a Black
--30 39149 a
-SDict begin H.S end
- -30 39149 a -30 39149 a
-SDict begin 18.2 H.A end
- -30 39149 a -30 39149
-a
-SDict begin [ /View [/XYZ H.V] /Dest (8141) cvn H.B /DEST pdfmark end
- -30 39149 a 1520 40962 a FW(adding,)p 0 TeXcolorgray
-6014 40962 a
-SDict begin H.S end
- 6014 40962 a FW(143)8105 40962 y
-SDict begin 18.2 H.L end
- 8105 40962
-a 8105 40962 a
-SDict begin [ /Subtype /Link /Dest (4056) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 8105 40962 a Black -30 41264 a
-SDict begin H.S end
- -30 41264
-a -30 41264 a
-SDict begin 18.2 H.A end
- -30 41264 a -30 41264 a
-SDict begin [ /View [/XYZ H.V] /Dest (8143) cvn H.B /DEST pdfmark end
- -30 41264 a 1520
-42978 a FW(messaging,)p 0 TeXcolorgray 8106 42978 a
-SDict begin H.S end
- 8106
-42978 a FW(177)10197 42978 y
-SDict begin 18.2 H.L end
- 10197 42978 a 10197 42978
-a
-SDict begin [ /Subtype /Link /Dest (4991) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 10197 42978 a Black -30 43280 a
-SDict begin H.S end
- -30 43280 a -30 43280
-a
-SDict begin 18.2 H.A end
- -30 43280 a -30 43280 a
-SDict begin [ /View [/XYZ H.V] /Dest (8145) cvn H.B /DEST pdfmark end
- -30 43280 a 1520 44993 a FW(online)349
-b(chat,)p 0 TeXcolorgray 8376 44993 a
-SDict begin H.S end
- 8376 44993 a FW(177)10467
-44993 y
-SDict begin 18.2 H.L end
- 10467 44993 a 10467 44993 a
-SDict begin [ /Subtype /Link /Dest (5008) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 10467 44993 a Black
--30 45195 a
-SDict begin H.S end
- -30 45195 a -30 45195 a
-SDict begin 18.2 H.A end
- -30 45195 a -30 45195
-a
-SDict begin [ /View [/XYZ H.V] /Dest (8147) cvn H.B /DEST pdfmark end
- -30 45195 a 1520 47008 a FW(passw)-14 b(ords,)p 0 TeXcolorgray
-8014 47008 a
-SDict begin H.S end
- 8014 47008 a FW(146)10105 47008 y
-SDict begin 18.2 H.L end
- 10105
-47008 a 10105 47008 a
-SDict begin [ /Subtype /Link /Dest (4132) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 10105 47008 a Black -30 47310 a
-SDict begin H.S end
-
--30 47310 a -30 47310 a
-SDict begin 18.2 H.A end
- -30 47310 a -30 47310 a
-SDict begin [ /View [/XYZ H.V] /Dest (8149) cvn H.B /DEST pdfmark end
- -30 47310
-a 1520 49024 a FW(querying,)p 0 TeXcolorgray 7176 49024
-a
-SDict begin H.S end
- 7176 49024 a FW(161)9267 49024 y
-SDict begin 18.2 H.L end
- 9267 49024 a 9267
-49024 a
-SDict begin [ /Subtype /Link /Dest (4518) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 9267 49024 a Black -30 49326 a
-SDict begin H.S end
- -30 49326 a -30
-49326 a
-SDict begin 18.2 H.A end
- -30 49326 a -30 49326 a
-SDict begin [ /View [/XYZ H.V] /Dest (8151) cvn H.B /DEST pdfmark end
- -30 49326 a 1520 51039
-a FW(remo)-21 b(ving,)p 0 TeXcolorgray 7542 51039 a
-SDict begin H.S end
- 7542
-51039 a FW(147)9633 51039 y
-SDict begin 18.2 H.L end
- 9633 51039 a 9633 51039 a
-SDict begin [ /Subtype /Link /Dest (4144) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
-
-9633 51039 a Black -30 51341 a
-SDict begin H.S end
- -30 51341 a -30 51341
-a
-SDict begin 18.2 H.A end
- -30 51341 a -30 51341 a
-SDict begin [ /View [/XYZ H.V] /Dest (8153) cvn H.B /DEST pdfmark end
- -30 51341 a 5825 x FL(V)-30
-58281 y
-SDict begin H.S end
- -30 58281 a -30 58281 a
-SDict begin 18.2 H.A end
- -30 58281 a -30 58281
-a
-SDict begin [ /View [/XYZ H.V] /Dest (8156) cvn H.B /DEST pdfmark end
- -30 58281 a 2016 x FW(vi,)p 0 TeXcolorgray 1753 60297
-a
-SDict begin H.S end
- 1753 60297 a FW(2)2450 60297 y
-SDict begin 18.2 H.L end
- 2450 60297 a 2450 60297
-a
-SDict begin [ /Subtype /Link /Dest (335) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 2450 60297 a Black FW(,)p 0 TeXcolorgray 3147 60297
-a
-SDict begin H.S end
- 3147 60297 a FW(195)5238 60297 y
-SDict begin 18.2 H.L end
- 5238 60297 a 5238
-60297 a
-SDict begin [ /Subtype /Link /Dest (5513) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 5238 60297 a Black -30 60498 a
-SDict begin H.S end
- -30 60498 a -30
-60498 a
-SDict begin 18.2 H.A end
- -30 60498 a -30 60498 a
-SDict begin [ /View [/XYZ H.V] /Dest (8159) cvn H.B /DEST pdfmark end
- -30 60498 a 1520 62312
-a FW(con\002guration,)p 0 TeXcolorgray 9655 62312 a
-SDict begin H.S end
- 9655
-62312 a FW(202)11746 62312 y
-SDict begin 18.2 H.L end
- 11746 62312 a 11746 62312
-a
-SDict begin [ /Subtype /Link /Dest (5743) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 11746 62312 a Black -30 62614 a
-SDict begin H.S end
- -30 62614 a -30 62614
-a
-SDict begin 18.2 H.A end
- -30 62614 a -30 62614 a
-SDict begin [ /View [/XYZ H.V] /Dest (8161) cvn H.B /DEST pdfmark end
- -30 62614 a 1520 64327 a FW(modes,)p
-0 TeXcolorgray 5859 64327 a
-SDict begin H.S end
- 5859 64327 a FW(197)7950
-64327 y
-SDict begin 18.2 H.L end
- 7950 64327 a 7950 64327 a
-SDict begin [ /Subtype /Link /Dest (5585) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 7950 64327 a Black
--30 64529 a
-SDict begin H.S end
- -30 64529 a -30 64529 a
-SDict begin 18.2 H.A end
- -30 64529 a -30 64529
-a
-SDict begin [ /View [/XYZ H.V] /Dest (8163) cvn H.B /DEST pdfmark end
- -30 64529 a 1520 66343 a FW(opening)350 b(\002les,)p
-0 TeXcolorgray 9385 66343 a
-SDict begin H.S end
- 9385 66343 a FW(200)11476
-66343 y
-SDict begin 18.2 H.L end
- 11476 66343 a 11476 66343 a
-SDict begin [ /Subtype /Link /Dest (5682) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 11476 66343 a Black
--30 66645 a
-SDict begin H.S end
- -30 66645 a -30 66645 a
-SDict begin 18.2 H.A end
- -30 66645 a -30 66645
-a
-SDict begin [ /View [/XYZ H.V] /Dest (8165) cvn H.B /DEST pdfmark end
- -30 66645 a 1520 68358 a FW(quitting,)p 0 TeXcolorgray
-6558 68358 a
-SDict begin H.S end
- 6558 68358 a FW(202)8649 68358 y
-SDict begin 18.2 H.L end
- 8649 68358
-a 8649 68358 a
-SDict begin [ /Subtype /Link /Dest (5727) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 8649 68358 a Black Black Black 27866 2383
-a
-SDict begin H.S end
- 27866 2383 a 27866 2383 a
-SDict begin 18.2 H.A end
- 27866 2383 a 27866 2383 a
-SDict begin [ /View [/XYZ H.V] /Dest (8167) cvn H.B /DEST pdfmark end
-
-27866 2383 a 29415 3490 a FW(sa)-28 b(ving)350 b(\002les,)p
-0 TeXcolorgray 36400 3490 a
-SDict begin H.S end
- 36400 3490 a FW(201)38491
-3490 y
-SDict begin 18.2 H.L end
- 38491 3490 a 38491 3490 a
-SDict begin [ /Subtype /Link /Dest (5706) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 38491 3490 a Black 27866
-3792 a
-SDict begin H.S end
- 27866 3792 a 27866 3792 a
-SDict begin 18.2 H.A end
- 27866 3792 a 27866 3792
-a
-SDict begin [ /View [/XYZ H.V] /Dest (8169) cvn H.B /DEST pdfmark end
- 27866 3792 a 29415 5614 a FW(starting,)p 0 TeXcolorgray
-34297 5614 a
-SDict begin H.S end
- 34297 5614 a FW(195)36388 5614 y
-SDict begin 18.2 H.L end
- 36388 5614
-a 36388 5614 a
-SDict begin [ /Subtype /Link /Dest (5539) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 36388 5614 a Black 27866 5916 a
-SDict begin H.S end
- 27866
-5916 a 27866 5916 a
-SDict begin 18.2 H.A end
- 27866 5916 a 27866 5916 a
-SDict begin [ /View [/XYZ H.V] /Dest (8172) cvn H.B /DEST pdfmark end
- 27866 5916
-a 1823 x FW(vim,)p 0 TeXcolorgray 30733 7739 a
-SDict begin H.S end
- 30733
-7739 a FW(195)32824 7739 y
-SDict begin 18.2 H.L end
- 32824 7739 a 32824 7739 a
-SDict begin [ /Subtype /Link /Dest (5533) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
-
-32824 7739 a Black 27866 7940 a
-SDict begin H.S end
- 27866 7940 a 27866 7940
-a
-SDict begin 18.2 H.A end
- 27866 7940 a 27866 7940 a
-SDict begin [ /View [/XYZ H.V] /Dest (8175) cvn H.B /DEST pdfmark end
- 27866 7940 a 1923 x FW(virtual)f
-(terminals,)p 0 TeXcolorgray 37745 9863 a
-SDict begin H.S end
- 37745 9863
-a FW(109)39836 9863 y
-SDict begin 18.2 H.L end
- 39836 9863 a 39836 9863 a
-SDict begin [ /Subtype /Link /Dest (2985) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 39836
-9863 a Black 27866 10064 a
-SDict begin H.S end
- 27866 10064 a 27866 10064
-a
-SDict begin 18.2 H.A end
- 27866 10064 a 27866 10064 a
-SDict begin [ /View [/XYZ H.V] /Dest (8177) cvn H.B /DEST pdfmark end
- 27866 10064 a 29415 11987
-a FW(X)g(W)-56 b(indo)-35 b(w)350 b(System,)p 0 TeXcolorgray
-40637 11987 a
-SDict begin H.S end
- 40637 11987 a FW(109)42728 11987 y
-SDict begin 18.2 H.L end
- 42728
-11987 a 42728 11987 a
-SDict begin [ /Subtype /Link /Dest (3000) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 42728 11987 a Black 27866 12289
-a
-SDict begin H.S end
- 27866 12289 a 27866 12289 a
-SDict begin 18.2 H.A end
- 27866 12289 a 27866 12289
-a
-SDict begin [ /View [/XYZ H.V] /Dest (8180) cvn H.B /DEST pdfmark end
- 27866 12289 a 1822 x FW(V)-180 b(olkdering,)350 b(P)-21
-b(atrick,)p 0 TeXcolorgray 39364 14111 a
-SDict begin H.S end
- 39364 14111
-a FW(2)40061 14111 y
-SDict begin 18.2 H.L end
- 40061 14111 a 40061 14111 a
-SDict begin [ /Subtype /Link /Dest (340) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 40061
-14111 a Black 27866 14413 a
-SDict begin H.S end
- 27866 14413 a 27866 14413
-a
-SDict begin 18.2 H.A end
- 27866 14413 a 27866 14413 a
-SDict begin [ /View [/XYZ H.V] /Dest (8182) cvn H.B /DEST pdfmark end
- 27866 14413 a 6151 x FL(W)27866
-21680 y
-SDict begin H.S end
- 27866 21680 a 27866 21680 a
-SDict begin 18.2 H.A end
- 27866 21680 a 27866
-21680 a
-SDict begin [ /View [/XYZ H.V] /Dest (8185) cvn H.B /DEST pdfmark end
- 27866 21680 a 2124 x FW(web)349 b(bro)-35 b(wsers,)p
-0 TeXcolorgray 36235 23804 a
-SDict begin H.S end
- 36235 23804 a FW(170)38326
-23804 y
-SDict begin 18.2 H.L end
- 38326 23804 a 38326 23804 a
-SDict begin [ /Subtype /Link /Dest (4768) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 38326 23804 a Black
-27866 24006 a
-SDict begin H.S end
- 27866 24006 a 27866 24006 a
-SDict begin 18.2 H.A end
- 27866 24006
-a 27866 24006 a
-SDict begin [ /View [/XYZ H.V] /Dest (8187) cvn H.B /DEST pdfmark end
- 27866 24006 a 29415 25928 a FW(links,)p
-0 TeXcolorgray 32825 25928 a
-SDict begin H.S end
- 32825 25928 a FW(172)34916
-25928 y
-SDict begin 18.2 H.L end
- 34916 25928 a 34916 25928 a
-SDict begin [ /Subtype /Link /Dest (4815) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 34916 25928 a Black
-27866 26130 a
-SDict begin H.S end
- 27866 26130 a 27866 26130 a
-SDict begin 18.2 H.A end
- 27866 26130
-a 27866 26130 a
-SDict begin [ /View [/XYZ H.V] /Dest (8189) cvn H.B /DEST pdfmark end
- 27866 26130 a 29415 28052 a FW(lynx,)p
-0 TeXcolorgray 32593 28052 a
-SDict begin H.S end
- 32593 28052 a FW(170)34684
-28052 y
-SDict begin 18.2 H.L end
- 34684 28052 a 34684 28052 a
-SDict begin [ /Subtype /Link /Dest (4781) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 34684 28052 a Black
-27866 28354 a
-SDict begin H.S end
- 27866 28354 a 27866 28354 a
-SDict begin 18.2 H.A end
- 27866 28354
-a 27866 28354 a
-SDict begin [ /View [/XYZ H.V] /Dest (8191) cvn H.B /DEST pdfmark end
- 27866 28354 a 29415 30177 a FW(te)-21
-b(xt)349 b(mode,)p 0 TeXcolorgray 35632 30177 a
-SDict begin H.S end
- 35632
-30177 a FW(170)37723 30177 y
-SDict begin 18.2 H.L end
- 37723 30177 a 37723 30177
-a
-SDict begin [ /Subtype /Link /Dest (4778) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 37723 30177 a Black 27866 30378 a
-SDict begin H.S end
- 27866 30378 a 27866
-30378 a
-SDict begin 18.2 H.A end
- 27866 30378 a 27866 30378 a
-SDict begin [ /View [/XYZ H.V] /Dest (8193) cvn H.B /DEST pdfmark end
- 27866 30378 a 29415
-32301 a FW(wget,)p 0 TeXcolorgray 32824 32301 a
-SDict begin H.S end
- 32824
-32301 a FW(173)34915 32301 y
-SDict begin 18.2 H.L end
- 34915 32301 a 34915 32301
-a
-SDict begin [ /Subtype /Link /Dest (4833) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 34915 32301 a Black 27866 32603 a
-SDict begin H.S end
- 27866 32603 a 27866
-32603 a
-SDict begin 18.2 H.A end
- 27866 32603 a 27866 32603 a
-SDict begin [ /View [/XYZ H.V] /Dest (8196) cvn H.B /DEST pdfmark end
- 27866 32603 a 1822
-x FW(web)g(serv)-21 b(er)-56 b(,)p 0 TeXcolorgray 34566
-34425 a
-SDict begin H.S end
- 34566 34425 a FW(184)36657 34425 y
-SDict begin 18.2 H.L end
- 36657 34425
-a 36657 34425 a
-SDict begin [ /Subtype /Link /Dest (5162) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 36657 34425 a Black 27866 34626 a
-SDict begin H.S end
- 27866
-34626 a 27866 34626 a
-SDict begin 18.2 H.A end
- 27866 34626 a 27866 34626 a
-SDict begin [ /View [/XYZ H.V] /Dest (8199) cvn H.B /DEST pdfmark end
- 27866
-34626 a 1923 x FW(WEP)-155 b(,)p 0 TeXcolorgray 31352
-36549 a
-SDict begin H.S end
- 31352 36549 a FW(68)32746 36549 y
-SDict begin 18.2 H.L end
- 32746 36549
-a 32746 36549 a
-SDict begin [ /Subtype /Link /Dest (2060) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 32746 36549 a Black 27866 36751 a
-SDict begin H.S end
- 27866
-36751 a 27866 36751 a
-SDict begin 18.2 H.A end
- 27866 36751 a 27866 36751 a
-SDict begin [ /View [/XYZ H.V] /Dest (8202) cvn H.B /DEST pdfmark end
- 27866
-36751 a 1922 x FW(whatis,)p 0 TeXcolorgray 32205 38673
-a
-SDict begin H.S end
- 32205 38673 a FW(8)32902 38673 y
-SDict begin 18.2 H.L end
- 32902 38673 a 32902
-38673 a
-SDict begin [ /Subtype /Link /Dest (447) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 32902 38673 a Black 27866 38875 a
-SDict begin H.S end
- 27866 38875
-a 27866 38875 a
-SDict begin 18.2 H.A end
- 27866 38875 a 27866 38875 a
-SDict begin [ /View [/XYZ H.V] /Dest (8205) cvn H.B /DEST pdfmark end
- 27866 38875
-a 1922 x FW(whereis,)p 0 TeXcolorgray 32901 40797 a
-SDict begin H.S end
- 32901
-40797 a FW(45)34295 40797 y
-SDict begin 18.2 H.L end
- 34295 40797 a 34295 40797
-a
-SDict begin [ /Subtype /Link /Dest (1349) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 34295 40797 a Black 27866 40999 a
-SDict begin H.S end
- 27866 40999 a 27866
-40999 a
-SDict begin 18.2 H.A end
- 27866 40999 a 27866 40999 a
-SDict begin [ /View [/XYZ H.V] /Dest (8208) cvn H.B /DEST pdfmark end
- 27866 40999 a 1923
-x FW(which,)p 0 TeXcolorgray 31972 42922 a
-SDict begin H.S end
- 31972 42922
-a FW(45)33366 42922 y
-SDict begin 18.2 H.L end
- 33366 42922 a 33366 42922 a
-SDict begin [ /Subtype /Link /Dest (1331) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 33366
-42922 a Black 27866 43123 a
-SDict begin H.S end
- 27866 43123 a 27866 43123
-a
-SDict begin 18.2 H.A end
- 27866 43123 a 27866 43123 a
-SDict begin [ /View [/XYZ H.V] /Dest (8211) cvn H.B /DEST pdfmark end
- 27866 43123 a 1923 x FW(wildcard,)p
-0 TeXcolorgray 33443 45046 a
-SDict begin H.S end
- 33443 45046 a FW(104)35534
-45046 y
-SDict begin 18.2 H.L end
- 35534 45046 a 35534 45046 a
-SDict begin [ /Subtype /Link /Dest (2762) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 35534 45046 a Black
-27866 45247 a
-SDict begin H.S end
- 27866 45247 a 27866 45247 a
-SDict begin 18.2 H.A end
- 27866 45247
-a 27866 45247 a
-SDict begin [ /View [/XYZ H.V] /Dest (8214) cvn H.B /DEST pdfmark end
- 27866 45247 a 1923 x FW(windo)-35 b(w)349
-b(manager)-56 b(,)p 0 TeXcolorgray 38117 47170 a
-SDict begin H.S end
- 38117
-47170 a FW(40)39511 47170 y
-SDict begin 18.2 H.L end
- 39511 47170 a 39511 47170
-a
-SDict begin [ /Subtype /Link /Dest (1193) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 39511 47170 a Black 1 w FW(,)p 0 TeXcolorgray 40209
-47170 a
-SDict begin H.S end
- 40209 47170 a FW(75)41603 47170 y
-SDict begin 18.2 H.L end
- 41603 47170
-a 41603 47170 a
-SDict begin [ /Subtype /Link /Dest (2234) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 41603 47170 a Black 1 w FW(,)p 0 TeXcolorgray
-42301 47170 a
-SDict begin H.S end
- 42301 47170 a FW(84)43695 47170 y
-SDict begin 18.2 H.L end
- 43695
-47170 a 43695 47170 a
-SDict begin [ /Subtype /Link /Dest (2399) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 43695 47170 a Black 27866 47472
-a
-SDict begin H.S end
- 27866 47472 a 27866 47472 a
-SDict begin 18.2 H.A end
- 27866 47472 a 27866 47472
-a
-SDict begin [ /View [/XYZ H.V] /Dest (8219) cvn H.B /DEST pdfmark end
- 27866 47472 a 1822 x FW(W)g(indo)-35 b(ws,)p 0 TeXcolorgray
-33818 49294 a
-SDict begin H.S end
- 33818 49294 a FW(3)34515 49294 y
-SDict begin 18.2 H.L end
- 34515
-49294 a 34515 49294 a
-SDict begin [ /Subtype /Link /Dest (348) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 34515 49294 a Black 1 w FW(,)p
-0 TeXcolorgray 35213 49294 a
-SDict begin H.S end
- 35213 49294 a FW(41)36607
-49294 y
-SDict begin 18.2 H.L end
- 36607 49294 a 36607 49294 a
-SDict begin [ /Subtype /Link /Dest (1210) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 36607 49294 a Black
-1 w FW(,)p 0 TeXcolorgray 37305 49294 a
-SDict begin H.S end
- 37305 49294 a
-FW(83)38699 49294 y
-SDict begin 18.2 H.L end
- 38699 49294 a 38699 49294 a
-SDict begin [ /Subtype /Link /Dest (2385) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 38699
-49294 a Black 1 w FW(,)p 0 TeXcolorgray 39397 49294 a
-SDict begin H.S end
-
-39397 49294 a FW(94)40791 49294 y
-SDict begin 18.2 H.L end
- 40791 49294 a 40791
-49294 a
-SDict begin [ /Subtype /Link /Dest (2574) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 40791 49294 a Black 1 w FW(,)p 0 TeXcolorgray
-41490 49294 a
-SDict begin H.S end
- 41490 49294 a FW(225)43581 49294 y
-SDict begin 18.2 H.L end
- 43581
-49294 a 43581 49294 a
-SDict begin [ /Subtype /Link /Dest (6654) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 43581 49294 a Black 27866 49496
-a
-SDict begin H.S end
- 27866 49496 a 27866 49496 a
-SDict begin 18.2 H.A end
- 27866 49496 a 27866 49496
-a
-SDict begin [ /View [/XYZ H.V] /Dest (8226) cvn H.B /DEST pdfmark end
- 27866 49496 a 1922 x FW(W)-56 b(indo)-35 b(ws)349 b(2000,)p
-0 TeXcolorgray 36957 51418 a
-SDict begin H.S end
- 36957 51418 a FW(72)38351
-51418 y
-SDict begin 18.2 H.L end
- 38351 51418 a 38351 51418 a
-SDict begin [ /Subtype /Link /Dest (2162) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 38351 51418 a Black
-27866 51620 a
-SDict begin H.S end
- 27866 51620 a 27866 51620 a
-SDict begin 18.2 H.A end
- 27866 51620
-a 27866 51620 a
-SDict begin [ /View [/XYZ H.V] /Dest (8229) cvn H.B /DEST pdfmark end
- 27866 51620 a 1922 x FW(W)-56 b(indo)-35
-b(ws)349 b(NT)-103 b(,)p 0 TeXcolorgray 35923 53542 a
-SDict begin H.S end
-
-35923 53542 a FW(72)37317 53542 y
-SDict begin 18.2 H.L end
- 37317 53542 a 37317
-53542 a
-SDict begin [ /Subtype /Link /Dest (2158) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 37317 53542 a Black 1 w FW(,)p 0 TeXcolorgray
-38015 53542 a
-SDict begin H.S end
- 38015 53542 a FW(98)39409 53542 y
-SDict begin 18.2 H.L end
- 39409
-53542 a 39409 53542 a
-SDict begin [ /Subtype /Link /Dest (2635) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 39409 53542 a Black 27866 53744
-a
-SDict begin H.S end
- 27866 53744 a 27866 53744 a
-SDict begin 18.2 H.A end
- 27866 53744 a 27866 53744
-a
-SDict begin [ /View [/XYZ H.V] /Dest (8233) cvn H.B /DEST pdfmark end
- 27866 53744 a 1923 x FW(W)-56 b(indo)-35 b(ws)349 b(XP)-155
-b(,)p 0 TeXcolorgray 35795 55667 a
-SDict begin H.S end
- 35795 55667 a FW(72)37189
-55667 y
-SDict begin 18.2 H.L end
- 37189 55667 a 37189 55667 a
-SDict begin [ /Subtype /Link /Dest (2160) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 37189 55667 a Black
-27866 55868 a
-SDict begin H.S end
- 27866 55868 a 27866 55868 a
-SDict begin 18.2 H.A end
- 27866 55868
-a 27866 55868 a
-SDict begin [ /View [/XYZ H.V] /Dest (8236) cvn H.B /DEST pdfmark end
- 27866 55868 a 1923 x FW(W)-56 b(inModems,)p
-0 TeXcolorgray 35791 57791 a
-SDict begin H.S end
- 35791 57791 a FW(59)37185
-57791 y
-SDict begin 18.2 H.L end
- 37185 57791 a 37185 57791 a
-SDict begin [ /Subtype /Link /Dest (1805) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 37185 57791 a Black
-27866 57992 a
-SDict begin H.S end
- 27866 57992 a 27866 57992 a
-SDict begin 18.2 H.A end
- 27866 57992
-a 27866 57992 a
-SDict begin [ /View [/XYZ H.V] /Dest (8239) cvn H.B /DEST pdfmark end
- 27866 57992 a 1923 x FW(wireless)348
-b(netw)-14 b(orking)27866 60217 y
-SDict begin H.S end
- 27866 60217 a 27866
-60217 a
-SDict begin 18.2 H.A end
- 27866 60217 a 27866 60217 a
-SDict begin [ /View [/XYZ H.V] /Dest (8240) cvn H.B /DEST pdfmark end
- 27866 60217 a 29415
-62039 a FW(hardw)g(are,)p 0 TeXcolorgray 35287 62039
-a
-SDict begin H.S end
- 35287 62039 a FW(67)36681 62039 y
-SDict begin 18.2 H.L end
- 36681 62039 a 36681
-62039 a
-SDict begin [ /Subtype /Link /Dest (2034) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 36681 62039 a Black 27866 62241 a
-SDict begin H.S end
- 27866 62241
-a 27866 62241 a
-SDict begin 18.2 H.A end
- 27866 62241 a 27866 62241 a
-SDict begin [ /View [/XYZ H.V] /Dest (8243) cvn H.B /DEST pdfmark end
- 27866 62241
-a 1922 x FW(wireless)348 b(netw)-14 b(orking,)p 0 TeXcolorgray
-39821 64163 a
-SDict begin H.S end
- 39821 64163 a FW(67)41215 64163 y
-SDict begin 18.2 H.L end
- 41215
-64163 a 41215 64163 a
-SDict begin [ /Subtype /Link /Dest (2020) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 41215 64163 a Black 27866 64465
-a
-SDict begin H.S end
- 27866 64465 a 27866 64465 a
-SDict begin 18.2 H.A end
- 27866 64465 a 27866 64465
-a
-SDict begin [ /View [/XYZ H.V] /Dest (8245) cvn H.B /DEST pdfmark end
- 27866 64465 a 29415 66287 a FW(con\002guration,)p 0
-TeXcolorgray 37551 66287 a
-SDict begin H.S end
- 37551 66287 a FW(68)38945
-66287 y
-SDict begin 18.2 H.L end
- 38945 66287 a 38945 66287 a
-SDict begin [ /Subtype /Link /Dest (2045) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 38945 66287 a Black
-27866 66589 a
-SDict begin H.S end
- 27866 66589 a 27866 66589 a
-SDict begin 18.2 H.A end
- 27866 66589
-a 27866 66589 a
-SDict begin [ /View [/XYZ H.V] /Dest (8247) cvn H.B /DEST pdfmark end
- 27866 66589 a Black 49451 73672 a FR(261)p
-Black eop end
-%%Page: 262 284
-TeXDict begin 262 283 bop -8000 -8000 a
-SDict begin /product where{pop product(Distiller)search{pop pop pop
-version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
-closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
-grestore}if}{pop}ifelse}{pop}ifelse}if end
- -8000 -8000 a
-Black 0 TeXcolorgray -30 -1358 a
-SDict begin H.S end
- -30 -1358 a 0 TeXcolorgray
-0 TeXcolorgray -30 -1358 a
-SDict begin H.R end
- -30 -1358 a -30 -1358 a
-SDict begin [ /View [/XYZ H.V] /Dest (page.262) cvn H.B /DEST pdfmark
-end
- -30
--1358 a Black Black 5321 x FL(X)-30 5079 y
-SDict begin H.S end
- -30 5079 a
--30 5079 a
-SDict begin 18.2 H.A end
- -30 5079 a -30 5079 a
-SDict begin [ /View [/XYZ H.V] /Dest (8250) cvn H.B /DEST pdfmark end
- -30 5079 a 2015 x FW(X)349
-b(W)-56 b(indo)-35 b(w)349 b(System,)p 0 TeXcolorgray
-11192 7094 a
-SDict begin H.S end
- 11192 7094 a FW(40)12586 7094 y
-SDict begin 18.2 H.L end
- 12586 7094
-a 12586 7094 a
-SDict begin [ /Subtype /Link /Dest (1191) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 12586 7094 a Black 1 w FW(,)p 0 TeXcolorgray
-13285 7094 a
-SDict begin H.S end
- 13285 7094 a FW(48)14679 7094 y
-SDict begin 18.2 H.L end
- 14679 7094
-a 14679 7094 a
-SDict begin [ /Subtype /Link /Dest (1462) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 14679 7094 a Black FW(,)p 0 TeXcolorgray
-15377 7094 a
-SDict begin H.S end
- 15377 7094 a FW(75)16771 7094 y
-SDict begin 18.2 H.L end
- 16771 7094
-a 16771 7094 a
-SDict begin [ /Subtype /Link /Dest (2229) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 16771 7094 a Black FW(,)p 0 TeXcolorgray
-17469 7094 a
-SDict begin H.S end
- 17469 7094 a FW(133)19560 7094 y
-SDict begin 18.2 H.L end
- 19560 7094
-a 19560 7094 a
-SDict begin [ /Subtype /Link /Dest (3823) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 19560 7094 a Black 1520 9108 a FW(con\002guration,)p
-0 TeXcolorgray 9655 9108 a
-SDict begin H.S end
- 9655 9108 a FW(75)11049 9108
-y
-SDict begin 18.2 H.L end
- 11049 9108 a 11049 9108 a
-SDict begin [ /Subtype /Link /Dest (8255) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 11049 9108 a Black -30 9410
-a
-SDict begin H.S end
- -30 9410 a -30 9410 a
-SDict begin 18.2 H.A end
- -30 9410 a -30 9410 a
-SDict begin [ /View [/XYZ H.V] /Dest (8257) cvn H.B /DEST pdfmark end
- -30 9410
-a 1520 11123 a FW(login)g(manager)-56 b(,)p 0 TeXcolorgray
-10180 11123 a
-SDict begin H.S end
- 10180 11123 a FW(85)11574 11123 y
-SDict begin 18.2 H.L end
- 11574
-11123 a 11574 11123 a
-SDict begin [ /Subtype /Link /Dest (2421) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 11574 11123 a Black -30 11425 a
-SDict begin H.S end
-
--30 11425 a -30 11425 a
-SDict begin 18.2 H.A end
- -30 11425 a -30 11425 a
-SDict begin [ /View [/XYZ H.V] /Dest (8259) cvn H.B /DEST pdfmark end
- -30 11425
-a 1520 13138 a FW(monitor)350 b(con\002guration,)p 0
-TeXcolorgray 14421 13138 a
-SDict begin H.S end
- 14421 13138 a FW(79)15815
-13138 y
-SDict begin 18.2 H.L end
- 15815 13138 a 15815 13138 a
-SDict begin [ /Subtype /Link /Dest (2302) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 15815 13138 a Black
--30 13440 a
-SDict begin H.S end
- -30 13440 a -30 13440 a
-SDict begin 18.2 H.A end
- -30 13440 a -30 13440
-a
-SDict begin [ /View [/XYZ H.V] /Dest (8261) cvn H.B /DEST pdfmark end
- -30 13440 a 1520 15152 a FW(remote)g(clients,)p 0 TeXcolorgray
-10081 15152 a
-SDict begin H.S end
- 10081 15152 a FW(162)12172 15152 y
-SDict begin 18.2 H.L end
- 12172
-15152 a 12172 15152 a
-SDict begin [ /Subtype /Link /Dest (4573) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 12172 15152 a Black -30 15354 a
-SDict begin H.S end
-
--30 15354 a -30 15354 a
-SDict begin 18.2 H.A end
- -30 15354 a -30 15354 a
-SDict begin [ /View [/XYZ H.V] /Dest (8263) cvn H.B /DEST pdfmark end
- -30 15354
-a 1520 17167 a FW(resolution,)p 0 TeXcolorgray 7796 17167
-a
-SDict begin H.S end
- 7796 17167 a FW(80)9190 17167 y
-SDict begin 18.2 H.L end
- 9190 17167 a 9190 17167
-a
-SDict begin [ /Subtype /Link /Dest (2321) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 9190 17167 a Black -30 17369 a
-SDict begin H.S end
- -30 17369 a -30 17369
-a
-SDict begin 18.2 H.A end
- -30 17369 a -30 17369 a
-SDict begin [ /View [/XYZ H.V] /Dest (8265) cvn H.B /DEST pdfmark end
- -30 17369 a 1520 19182 a FW(serv)-21
-b(er)-56 b(,)p 0 TeXcolorgray 5548 19182 a
-SDict begin H.S end
- 5548 19182
-a FW(75)6942 19182 y
-SDict begin 18.2 H.L end
- 6942 19182 a 6942 19182 a
-SDict begin [ /Subtype /Link /Dest (2236) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 6942 19182
-a Black -30 19383 a
-SDict begin H.S end
- -30 19383 a -30 19383 a
-SDict begin 18.2 H.A end
- -30 19383
-a -30 19383 a
-SDict begin [ /View [/XYZ H.V] /Dest (8267) cvn H.B /DEST pdfmark end
- -30 19383 a 1520 21196 a FW(starting,)p
-0 TeXcolorgray 6401 21196 a
-SDict begin H.S end
- 6401 21196 a FW(81)7795 21196
-y
-SDict begin 18.2 H.L end
- 7795 21196 a 7795 21196 a
-SDict begin [ /Subtype /Link /Dest (2344) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 7795 21196 a Black -30 21498
-a
-SDict begin H.S end
- -30 21498 a -30 21498 a
-SDict begin 18.2 H.A end
- -30 21498 a -30 21498 a
-SDict begin [ /View [/XYZ H.V] /Dest (8269) cvn H.B /DEST pdfmark end
- -30
-21498 a 1520 23211 a FW(virtual)349 b(terminals,)p 0
-TeXcolorgray 11399 23211 a
-SDict begin H.S end
- 11399 23211 a FW(109)13490
-23211 y
-SDict begin 18.2 H.L end
- 13490 23211 a 13490 23211 a
-SDict begin [ /Subtype /Link /Dest (3003) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 13490 23211 a Black
--30 23413 a
-SDict begin H.S end
- -30 23413 a -30 23413 a
-SDict begin 18.2 H.A end
- -30 23413 a -30 23413
-a
-SDict begin [ /View [/XYZ H.V] /Dest (8272) cvn H.B /DEST pdfmark end
- -30 23413 a 1813 x FW(xdm,)p 0 TeXcolorgray 3147 25226
-a
-SDict begin H.S end
- 3147 25226 a FW(85)4541 25226 y
-SDict begin 18.2 H.L end
- 4541 25226 a 4541 25226
-a
-SDict begin [ /Subtype /Link /Dest (2424) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 4541 25226 a Black -30 25427 a
-SDict begin H.S end
- -30 25427 a -30 25427
-a
-SDict begin 18.2 H.A end
- -30 25427 a -30 25427 a
-SDict begin [ /View [/XYZ H.V] /Dest (8275) cvn H.B /DEST pdfmark end
- -30 25427 a 1813 x FW(XEmacs,)p
-0 TeXcolorgray 5393 27240 a
-SDict begin H.S end
- 5393 27240 a FW(205)7484
-27240 y
-SDict begin 18.2 H.L end
- 7484 27240 a 7484 27240 a
-SDict begin [ /Subtype /Link /Dest (5958) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 7484 27240 a Black
--30 27442 a
-SDict begin H.S end
- -30 27442 a -30 27442 a
-SDict begin 18.2 H.A end
- -30 27442 a -30 27442
-a
-SDict begin [ /View [/XYZ H.V] /Dest (8278) cvn H.B /DEST pdfmark end
- -30 27442 a 1813 x FW(Xor)-25 b(g,)p 0 TeXcolorgray
-3509 29255 a
-SDict begin H.S end
- 3509 29255 a FW(75)4903 29255 y
-SDict begin 18.2 H.L end
- 4903 29255
-a 4903 29255 a
-SDict begin [ /Subtype /Link /Dest (2231) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 4903 29255 a Black -30 29557 a
-SDict begin H.S end
- -30 29557
-a -30 29557 a
-SDict begin 18.2 H.A end
- -30 29557 a -30 29557 a
-SDict begin [ /View [/XYZ H.V] /Dest (8281) cvn H.B /DEST pdfmark end
- -30 29557 a 1713
-x FW(xterm,)p 0 TeXcolorgray 3921 31270 a
-SDict begin H.S end
- 3921 31270
-a FW(82)5315 31270 y
-SDict begin 18.2 H.L end
- 5315 31270 a 5315 31270 a
-SDict begin [ /Subtype /Link /Dest (2359) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 5315 31270
-a Black -30 31471 a
-SDict begin H.S end
- -30 31471 a -30 31471 a
-SDict begin 18.2 H.A end
- -30 31471
-a -30 31471 a
-SDict begin [ /View [/XYZ H.V] /Dest (8283) cvn H.B /DEST pdfmark end
- -30 31471 a 5923 x FL(Z)-30 38510 y
-SDict begin H.S end
- -30
-38510 a -30 38510 a
-SDict begin 18.2 H.A end
- -30 38510 a -30 38510 a
-SDict begin [ /View [/XYZ H.V] /Dest (8286) cvn H.B /DEST pdfmark end
- -30 38510
-a 2015 x FW(zip,)p 0 TeXcolorgray 2372 40525 a
-SDict begin H.S end
- 2372 40525
-a FW(193)4463 40525 y
-SDict begin 18.2 H.L end
- 4463 40525 a 4463 40525 a
-SDict begin [ /Subtype /Link /Dest (5486) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 4463
-40525 a Black 1 w FW(,)p 0 TeXcolorgray 5161 40525 a
-SDict begin H.S end
-
-5161 40525 a FW(225)7252 40525 y
-SDict begin 18.2 H.L end
- 7252 40525 a 7252 40525
-a
-SDict begin [ /Subtype /Link /Dest (6659) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 7252 40525 a Black 2 w FW(,)p 0 TeXcolorgray 7951 40525
-a
-SDict begin H.S end
- 7951 40525 a FW(227)10042 40525 y
-SDict begin 18.2 H.L end
- 10042 40525 a 10042
-40525 a
-SDict begin [ /Subtype /Link /Dest (6697) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 10042 40525 a Black -30 40827 a
-SDict begin H.S end
- -30 40827 a -30
-40827 a
-SDict begin 18.2 H.A end
- -30 40827 a -30 40827 a
-SDict begin [ /View [/XYZ H.V] /Dest (8291) cvn H.B /DEST pdfmark end
- -30 40827 a 1712 x FW(ZipSlack,)p
-0 TeXcolorgray 5704 42539 a
-SDict begin H.S end
- 5704 42539 a FW(225)7795
-42539 y
-SDict begin 18.2 H.L end
- 7795 42539 a 7795 42539 a
-SDict begin [ /Subtype /Link /Dest (6652) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 7795 42539 a Black
--30 42841 a
-SDict begin H.S end
- -30 42841 a -30 42841 a
-SDict begin 18.2 H.A end
- -30 42841 a -30 42841
-a
-SDict begin [ /View [/XYZ H.V] /Dest (8294) cvn H.B /DEST pdfmark end
- -30 42841 a 1713 x FW(zombie)350 b(process,)p 0 TeXcolorgray
-9305 44554 a
-SDict begin H.S end
- 9305 44554 a FW(138)11396 44554 y
-SDict begin 18.2 H.L end
- 11396
-44554 a 11396 44554 a
-SDict begin [ /Subtype /Link /Dest (3932) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 11396 44554 a Black 1 w FW(,)p
-0 TeXcolorgray 12095 44554 a
-SDict begin H.S end
- 12095 44554 a FW(142)14186
-44554 y
-SDict begin 18.2 H.L end
- 14186 44554 a 14186 44554 a
-SDict begin [ /Subtype /Link /Dest (4039) cvn /H /I /Border [0 0 0]
-/Color [1 0 0] H.B /ANN pdfmark end
- 14186 44554 a Black
-Black Black Black -30 73672 a FR(262)p Black eop end
-%%Trailer
-
-userdict /end-hook known{end-hook}if
-%%EOF
diff --git a/source/l/lzo/.lzo.info b/source/l/lzo/.lzo.info
deleted file mode 100644
index 27564cc0..00000000
--- a/source/l/lzo/.lzo.info
+++ /dev/null
@@ -1,8 +0,0 @@
-PRGNAM=lzo
-VERSION=2.0.2
-HOMEPAGE=http://www.oberhumer.com/opensource/lzo/
-DOWNLOAD=http://www.oberhumer.com/opensource/lzo/download/lzo-2.02.tar.gz
-MD5SUM=6760e5819f4238328709bf93bf10071c
-AUTHOR=Ricardson Williams
-EMAIL=ricardsonwilliams@yahoo.com.br
-APPROVED=Alan Hicks,robw810